// Copyright 2016 The Closure Library Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS-IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// NOTE: This is a generated file.  Do not edit.

// clang-format off

/** @fileoverview @nocompile */
var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.ASSUME_ES5=false;$jscomp.ASSUME_NO_NATIVE_MAP=false;$jscomp.ASSUME_NO_NATIVE_SET=false;$jscomp.defineProperty=$jscomp.ASSUME_ES5||typeof Object.defineProperties=="function"?Object.defineProperty:function(target,property,descriptor){descriptor=descriptor;if(target==Array.prototype||target==Object.prototype)return;target[property]=descriptor.value};
$jscomp.getGlobal=function(maybeGlobal){return typeof window!="undefined"&&window===maybeGlobal?maybeGlobal:typeof global!="undefined"&&global!=null?global:maybeGlobal};$jscomp.global=$jscomp.getGlobal(this);
$jscomp.polyfill=function(target,polyfill,fromLang,toLang){if(!polyfill)return;var obj=$jscomp.global;var split=target.split(".");for(var i=0;i<split.length-1;i++){var key=split[i];if(!(key in obj))obj[key]={};obj=obj[key]}var property=split[split.length-1];var orig=obj[property];var impl=polyfill(orig);if(impl==orig||impl==null)return;$jscomp.defineProperty(obj,property,{configurable:true,writable:true,value:impl})};
$jscomp.polyfill("Array.prototype.copyWithin",function(orig){if(orig)return orig;var polyfill=function(target,start,opt_end){var len=this.length;target=Number(target);start=Number(start);opt_end=Number(opt_end!=null?opt_end:len);if(target<start){opt_end=Math.min(opt_end,len);while(start<opt_end)if(start in this)this[target++]=this[start++];else{delete this[target++];start++}}else{opt_end=Math.min(opt_end,len+start-target);target+=opt_end-start;while(opt_end>start)if(--opt_end in this)this[--target]=
this[opt_end];else delete this[target]}return this};return polyfill},"es6","es3");$jscomp.SYMBOL_PREFIX="jscomp_symbol_";$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){};if(!$jscomp.global["Symbol"])$jscomp.global["Symbol"]=$jscomp.Symbol};$jscomp.Symbol=function(){var counter=0;function Symbol(opt_description){return $jscomp.SYMBOL_PREFIX+(opt_description||"")+counter++}return Symbol}();
$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var symbolIterator=$jscomp.global["Symbol"].iterator;if(!symbolIterator)symbolIterator=$jscomp.global["Symbol"].iterator=$jscomp.global["Symbol"]("iterator");if(typeof Array.prototype[symbolIterator]!="function")$jscomp.defineProperty(Array.prototype,symbolIterator,{configurable:true,writable:true,value:function(){return $jscomp.arrayIterator(this)}});$jscomp.initSymbolIterator=function(){}};
$jscomp.arrayIterator=function(array){var index=0;return $jscomp.iteratorPrototype(function(){if(index<array.length)return{done:false,value:array[index++]};else return{done:true}})};$jscomp.iteratorPrototype=function(next){$jscomp.initSymbolIterator();var iterator={next:next};iterator[$jscomp.global["Symbol"].iterator]=function(){return this};return iterator};
$jscomp.iteratorFromArray=function(array,transform){$jscomp.initSymbolIterator();if(array instanceof String)array=array+"";var i=0;var iter={next:function(){if(i<array.length){var index=i++;return{value:transform(index,array[index]),done:false}}iter.next=function(){return{done:true,value:void 0}};return iter.next()}};iter[Symbol.iterator]=function(){return iter};return iter};
$jscomp.polyfill("Array.prototype.entries",function(orig){if(orig)return orig;var polyfill=function(){return $jscomp.iteratorFromArray(this,function(i,v){return[i,v]})};return polyfill},"es6","es3");
$jscomp.polyfill("Array.prototype.fill",function(orig){if(orig)return orig;var polyfill=function(value,opt_start,opt_end){var length=this.length||0;if(opt_start<0)opt_start=Math.max(0,length+opt_start);if(opt_end==null||opt_end>length)opt_end=length;opt_end=Number(opt_end);if(opt_end<0)opt_end=Math.max(0,length+opt_end);for(var i=Number(opt_start||0);i<opt_end;i++)this[i]=value;return this};return polyfill},"es6","es3");
$jscomp.findInternal=function(array,callback,thisArg){if(array instanceof String)array=String(array);var len=array.length;for(var i=0;i<len;i++){var value=array[i];if(callback.call(thisArg,value,i,array))return{i:i,v:value}}return{i:-1,v:void 0}};$jscomp.polyfill("Array.prototype.find",function(orig){if(orig)return orig;var polyfill=function(callback,opt_thisArg){return $jscomp.findInternal(this,callback,opt_thisArg).v};return polyfill},"es6","es3");
$jscomp.polyfill("Array.prototype.findIndex",function(orig){if(orig)return orig;var polyfill=function(callback,opt_thisArg){return $jscomp.findInternal(this,callback,opt_thisArg).i};return polyfill},"es6","es3");
$jscomp.polyfill("Array.from",function(orig){if(orig)return orig;var polyfill=function(arrayLike,opt_mapFn,opt_thisArg){$jscomp.initSymbolIterator();opt_mapFn=opt_mapFn!=null?opt_mapFn:function(x){return x};var result=[];var iteratorFunction=arrayLike[Symbol.iterator];if(typeof iteratorFunction=="function"){arrayLike=iteratorFunction.call(arrayLike);var next;while(!(next=arrayLike.next()).done)result.push(opt_mapFn.call(opt_thisArg,next.value))}else{var len=arrayLike.length;for(var i=0;i<len;i++)result.push(opt_mapFn.call(opt_thisArg,
arrayLike[i]))}return result};return polyfill},"es6","es3");$jscomp.polyfill("Object.is",function(orig){if(orig)return orig;var polyfill=function(left,right){if(left===right)return left!==0||1/left===1/right;else return left!==left&&right!==right};return polyfill},"es6","es3");
$jscomp.polyfill("Array.prototype.includes",function(orig){if(orig)return orig;var includes=function(searchElement,opt_fromIndex){var array=this;if(array instanceof String)array=String(array);var len=array.length;for(var i=opt_fromIndex||0;i<len;i++)if(array[i]==searchElement||Object.is(array[i],searchElement))return true;return false};return includes},"es7","es3");
$jscomp.polyfill("Array.prototype.keys",function(orig){if(orig)return orig;var polyfill=function(){return $jscomp.iteratorFromArray(this,function(i){return i})};return polyfill},"es6","es3");$jscomp.polyfill("Array.of",function(orig){if(orig)return orig;var polyfill=function(var_args){return Array.from(arguments)};return polyfill},"es6","es3");
$jscomp.polyfill("Array.prototype.values",function(orig){if(orig)return orig;var polyfill=function(){return $jscomp.iteratorFromArray(this,function(k,v){return v})};return polyfill},"es8","es3");$jscomp.makeIterator=function(iterable){$jscomp.initSymbolIterator();var iteratorFunction=iterable[Symbol.iterator];return iteratorFunction?iteratorFunction.call(iterable):$jscomp.arrayIterator(iterable)};$jscomp.FORCE_POLYFILL_PROMISE=false;
$jscomp.polyfill("Promise",function(NativePromise){if(NativePromise&&!$jscomp.FORCE_POLYFILL_PROMISE)return NativePromise;function AsyncExecutor(){this.batch_=null}AsyncExecutor.prototype.asyncExecute=function(f){if(this.batch_==null){this.batch_=[];this.asyncExecuteBatch_()}this.batch_.push(f);return this};AsyncExecutor.prototype.asyncExecuteBatch_=function(){var self=this;this.asyncExecuteFunction(function(){self.executeBatch_()})};var nativeSetTimeout=$jscomp.global["setTimeout"];AsyncExecutor.prototype.asyncExecuteFunction=
function(f){nativeSetTimeout(f,0)};AsyncExecutor.prototype.executeBatch_=function(){while(this.batch_&&this.batch_.length){var executingBatch=this.batch_;this.batch_=[];for(var i=0;i<executingBatch.length;++i){var f=executingBatch[i];delete executingBatch[i];try{f()}catch(error){this.asyncThrow_(error)}}}this.batch_=null};AsyncExecutor.prototype.asyncThrow_=function(exception){this.asyncExecuteFunction(function(){throw exception;})};var PromiseState={PENDING:0,FULFILLED:1,REJECTED:2};var PolyfillPromise=
function(executor){this.state_=PromiseState.PENDING;this.result_=undefined;this.onSettledCallbacks_=[];var resolveAndReject=this.createResolveAndReject_();try{executor(resolveAndReject.resolve,resolveAndReject.reject)}catch(e){resolveAndReject.reject(e)}};PolyfillPromise.prototype.createResolveAndReject_=function(){var thisPromise=this;var alreadyCalled=false;function firstCallWins(method){return function(x){if(!alreadyCalled){alreadyCalled=true;method.call(thisPromise,x)}}}return{resolve:firstCallWins(this.resolveTo_),
reject:firstCallWins(this.reject_)}};PolyfillPromise.prototype.resolveTo_=function(value){if(value===this)this.reject_(new TypeError("A Promise cannot resolve to itself"));else if(value instanceof PolyfillPromise)this.settleSameAsPromise_(value);else if(isObject(value))this.resolveToNonPromiseObj_(value);else this.fulfill_(value)};PolyfillPromise.prototype.resolveToNonPromiseObj_=function(obj){var thenMethod=undefined;try{thenMethod=obj.then}catch(error){this.reject_(error);return}if(typeof thenMethod==
"function")this.settleSameAsThenable_(thenMethod,obj);else this.fulfill_(obj)};function isObject(value){switch(typeof value){case "object":return value!=null;case "function":return true;default:return false}}PolyfillPromise.prototype.reject_=function(reason){this.settle_(PromiseState.REJECTED,reason)};PolyfillPromise.prototype.fulfill_=function(value){this.settle_(PromiseState.FULFILLED,value)};PolyfillPromise.prototype.settle_=function(settledState,valueOrReason){if(this.state_!=PromiseState.PENDING)throw new Error("Cannot settle("+
settledState+", "+valueOrReason|"): Promise already settled in state"+this.state_);this.state_=settledState;this.result_=valueOrReason;this.executeOnSettledCallbacks_()};PolyfillPromise.prototype.executeOnSettledCallbacks_=function(){if(this.onSettledCallbacks_!=null){var callbacks=this.onSettledCallbacks_;for(var i=0;i<callbacks.length;++i){callbacks[i].call();callbacks[i]=null}this.onSettledCallbacks_=null}};var asyncExecutor=new AsyncExecutor;PolyfillPromise.prototype.settleSameAsPromise_=function(promise){var methods=
this.createResolveAndReject_();promise.callWhenSettled_(methods.resolve,methods.reject)};PolyfillPromise.prototype.settleSameAsThenable_=function(thenMethod,thenable){var methods=this.createResolveAndReject_();try{thenMethod.call(thenable,methods.resolve,methods.reject)}catch(error){methods.reject(error)}};PolyfillPromise.prototype.then=function(onFulfilled,onRejected){var resolveChild;var rejectChild;var childPromise=new PolyfillPromise(function(resolve,reject){resolveChild=resolve;rejectChild=reject});
function createCallback(paramF,defaultF){if(typeof paramF=="function")return function(x){try{resolveChild(paramF(x))}catch(error){rejectChild(error)}};else return defaultF}this.callWhenSettled_(createCallback(onFulfilled,resolveChild),createCallback(onRejected,rejectChild));return childPromise};PolyfillPromise.prototype["catch"]=function(onRejected){return this.then(undefined,onRejected)};PolyfillPromise.prototype.callWhenSettled_=function(onFulfilled,onRejected){var thisPromise=this;function callback(){switch(thisPromise.state_){case PromiseState.FULFILLED:onFulfilled(thisPromise.result_);
break;case PromiseState.REJECTED:onRejected(thisPromise.result_);break;default:throw new Error("Unexpected state: "+thisPromise.state_);}}if(this.onSettledCallbacks_==null)asyncExecutor.asyncExecute(callback);else this.onSettledCallbacks_.push(function(){asyncExecutor.asyncExecute(callback)})};function resolvingPromise(opt_value){if(opt_value instanceof PolyfillPromise)return opt_value;else return new PolyfillPromise(function(resolve,reject){resolve(opt_value)})}PolyfillPromise["resolve"]=resolvingPromise;
PolyfillPromise["reject"]=function(opt_reason){return new PolyfillPromise(function(resolve,reject){reject(opt_reason)})};PolyfillPromise["race"]=function(thenablesOrValues){return new PolyfillPromise(function(resolve,reject){var iterator=$jscomp.makeIterator(thenablesOrValues);for(var iterRec=iterator.next();!iterRec.done;iterRec=iterator.next())resolvingPromise(iterRec.value).callWhenSettled_(resolve,reject)})};PolyfillPromise["all"]=function(thenablesOrValues){var iterator=$jscomp.makeIterator(thenablesOrValues);
var iterRec=iterator.next();if(iterRec.done)return resolvingPromise([]);else return new PolyfillPromise(function(resolveAll,rejectAll){var resultsArray=[];var unresolvedCount=0;function onFulfilled(i){return function(ithResult){resultsArray[i]=ithResult;unresolvedCount--;if(unresolvedCount==0)resolveAll(resultsArray)}}do{resultsArray.push(undefined);unresolvedCount++;resolvingPromise(iterRec.value).callWhenSettled_(onFulfilled(resultsArray.length-1),rejectAll);iterRec=iterator.next()}while(!iterRec.done)})};
return PolyfillPromise},"es6","es3");$jscomp.executeAsyncGenerator=function(generator){function passValueToGenerator(value){return generator.next(value)}function passErrorToGenerator(error){return generator["throw"](error)}return new Promise(function(resolve,reject){function handleGeneratorRecord(genRec){if(genRec.done)resolve(genRec.value);else Promise.resolve(genRec.value).then(passValueToGenerator,passErrorToGenerator).then(handleGeneratorRecord,reject)}handleGeneratorRecord(generator.next())})};
$jscomp.owns=function(obj,prop){return Object.prototype.hasOwnProperty.call(obj,prop)};
$jscomp.polyfill("WeakMap",function(NativeWeakMap){function isConformant(){if(!NativeWeakMap||!Object.seal)return false;try{var x=Object.seal({});var y=Object.seal({});var map=new NativeWeakMap([[x,2],[y,3]]);if(map.get(x)!=2||map.get(y)!=3)return false;map["delete"](x);map.set(y,4);return!map.has(x)&&map.get(y)==4}catch(err){return false}}if(isConformant())return NativeWeakMap;var prop="$jscomp_hidden_"+Math.random().toString().substring(2);function insert(target){if(!$jscomp.owns(target,prop)){var obj=
{};$jscomp.defineProperty(target,prop,{value:obj})}}function patch(name){var prev=Object[name];if(prev)Object[name]=function(target){insert(target);return prev(target)}}patch("freeze");patch("preventExtensions");patch("seal");var index=0;var PolyfillWeakMap=function(opt_iterable){this.id_=(index+=Math.random()+1).toString();if(opt_iterable){$jscomp.initSymbol();$jscomp.initSymbolIterator();var iter=$jscomp.makeIterator(opt_iterable);var entry;while(!(entry=iter.next()).done){var item=entry.value;
this.set(item[0],item[1])}}};PolyfillWeakMap.prototype.set=function(key,value){insert(key);if(!$jscomp.owns(key,prop))throw new Error("WeakMap key fail: "+key);key[prop][this.id_]=value;return this};PolyfillWeakMap.prototype.get=function(key){return $jscomp.owns(key,prop)?key[prop][this.id_]:undefined};PolyfillWeakMap.prototype.has=function(key){return $jscomp.owns(key,prop)&&$jscomp.owns(key[prop],this.id_)};PolyfillWeakMap.prototype["delete"]=function(key){if(!$jscomp.owns(key,prop)||!$jscomp.owns(key[prop],
this.id_))return false;return delete key[prop][this.id_]};return PolyfillWeakMap},"es6","es3");$jscomp.MapEntry=function(){this.previous;this.next;this.head;this.key;this.value};
$jscomp.polyfill("Map",function(NativeMap){var isConformant=!$jscomp.ASSUME_NO_NATIVE_MAP&&function(){if(!NativeMap||!NativeMap.prototype.entries||typeof Object.seal!="function")return false;try{NativeMap=NativeMap;var key=Object.seal({x:4});var map=new NativeMap($jscomp.makeIterator([[key,"s"]]));if(map.get(key)!="s"||map.size!=1||map.get({x:4})||map.set({x:4},"t")!=map||map.size!=2)return false;var iter=map.entries();var item=iter.next();if(item.done||item.value[0]!=key||item.value[1]!="s")return false;
item=iter.next();if(item.done||item.value[0].x!=4||item.value[1]!="t"||!iter.next().done)return false;return true}catch(err){return false}}();if(isConformant)return NativeMap;$jscomp.initSymbol();$jscomp.initSymbolIterator();var idMap=new WeakMap;var PolyfillMap=function(opt_iterable){this.data_={};this.head_=createHead();this.size=0;if(opt_iterable){var iter=$jscomp.makeIterator(opt_iterable);var entry;while(!(entry=iter.next()).done){var item=entry.value;this.set(item[0],item[1])}}};PolyfillMap.prototype.set=
function(key,value){var r=maybeGetEntry(this,key);if(!r.list)r.list=this.data_[r.id]=[];if(!r.entry){r.entry={next:this.head_,previous:this.head_.previous,head:this.head_,key:key,value:value};r.list.push(r.entry);this.head_.previous.next=r.entry;this.head_.previous=r.entry;this.size++}else r.entry.value=value;return this};PolyfillMap.prototype["delete"]=function(key){var r=maybeGetEntry(this,key);if(r.entry&&r.list){r.list.splice(r.index,1);if(!r.list.length)delete this.data_[r.id];r.entry.previous.next=
r.entry.next;r.entry.next.previous=r.entry.previous;r.entry.head=null;this.size--;return true}return false};PolyfillMap.prototype.clear=function(){this.data_={};this.head_=this.head_.previous=createHead();this.size=0};PolyfillMap.prototype.has=function(key){return!!maybeGetEntry(this,key).entry};PolyfillMap.prototype.get=function(key){var entry=maybeGetEntry(this,key).entry;return entry&&entry.value};PolyfillMap.prototype.entries=function(){return makeIterator(this,function(entry){return[entry.key,
entry.value]})};PolyfillMap.prototype.keys=function(){return makeIterator(this,function(entry){return entry.key})};PolyfillMap.prototype.values=function(){return makeIterator(this,function(entry){return entry.value})};PolyfillMap.prototype.forEach=function(callback,opt_thisArg){var iter=this.entries();var item;while(!(item=iter.next()).done){var entry=item.value;callback.call(opt_thisArg,entry[1],entry[0],this)}};PolyfillMap.prototype[Symbol.iterator]=PolyfillMap.prototype.entries;var maybeGetEntry=
function(map,key){var id=getId(key);var list=map.data_[id];if(list&&$jscomp.owns(map.data_,id))for(var index=0;index<list.length;index++){var entry=list[index];if(key!==key&&entry.key!==entry.key||key===entry.key)return{id:id,list:list,index:index,entry:entry}}return{id:id,list:list,index:-1,entry:undefined}};var makeIterator=function(map,func){var entry=map.head_;return $jscomp.iteratorPrototype(function(){if(entry){while(entry.head!=map.head_)entry=entry.previous;while(entry.next!=entry.head){entry=
entry.next;return{done:false,value:func(entry)}}entry=null}return{done:true,value:void 0}})};var createHead=function(){var head={};head.previous=head.next=head.head=head;return head};var mapIndex=0;var getId=function(obj){var type=obj&&typeof obj;if(type=="object"||type=="function"){obj=obj;if(!idMap.has(obj)){var id=""+ ++mapIndex;idMap.set(obj,id);return id}return idMap.get(obj)}return"p_"+obj};return PolyfillMap},"es6","es3");
$jscomp.polyfill("Math.acosh",function(orig){if(orig)return orig;var polyfill=function(x){x=Number(x);return Math.log(x+Math.sqrt(x*x-1))};return polyfill},"es6","es3");$jscomp.polyfill("Math.asinh",function(orig){if(orig)return orig;var polyfill=function(x){x=Number(x);if(x===0)return x;var y=Math.log(Math.abs(x)+Math.sqrt(x*x+1));return x<0?-y:y};return polyfill},"es6","es3");
$jscomp.polyfill("Math.log1p",function(orig){if(orig)return orig;var polyfill=function(x){x=Number(x);if(x<.25&&x>-.25){var y=x;var d=1;var z=x;var zPrev=0;var s=1;while(zPrev!=z){y*=x;s*=-1;z=(zPrev=z)+s*y/++d}return z}return Math.log(1+x)};return polyfill},"es6","es3");$jscomp.polyfill("Math.atanh",function(orig){if(orig)return orig;var log1p=Math.log1p;var polyfill=function(x){x=Number(x);return(log1p(x)-log1p(-x))/2};return polyfill},"es6","es3");
$jscomp.polyfill("Math.cbrt",function(orig){if(orig)return orig;var polyfill=function(x){if(x===0)return x;x=Number(x);var y=Math.pow(Math.abs(x),1/3);return x<0?-y:y};return polyfill},"es6","es3");
$jscomp.polyfill("Math.clz32",function(orig){if(orig)return orig;var polyfill=function(x){x=Number(x)>>>0;if(x===0)return 32;var result=0;if((x&4294901760)===0){x<<=16;result+=16}if((x&4278190080)===0){x<<=8;result+=8}if((x&4026531840)===0){x<<=4;result+=4}if((x&3221225472)===0){x<<=2;result+=2}if((x&2147483648)===0)result++;return result};return polyfill},"es6","es3");
$jscomp.polyfill("Math.cosh",function(orig){if(orig)return orig;var exp=Math.exp;var polyfill=function(x){x=Number(x);return(exp(x)+exp(-x))/2};return polyfill},"es6","es3");$jscomp.polyfill("Math.expm1",function(orig){if(orig)return orig;var polyfill=function(x){x=Number(x);if(x<.25&&x>-.25){var y=x;var d=1;var z=x;var zPrev=0;while(zPrev!=z){y*=x/++d;z=(zPrev=z)+y}return z}return Math.exp(x)-1};return polyfill},"es6","es3");
$jscomp.polyfill("Math.hypot",function(orig){if(orig)return orig;var polyfill=function(x,y,var_args){x=Number(x);y=Number(y);var i,z,sum;var max=Math.max(Math.abs(x),Math.abs(y));for(i=2;i<arguments.length;i++)max=Math.max(max,Math.abs(arguments[i]));if(max>1E100||max<1E-100){x=x/max;y=y/max;sum=x*x+y*y;for(i=2;i<arguments.length;i++){z=Number(arguments[i])/max;sum+=z*z}return Math.sqrt(sum)*max}else{sum=x*x+y*y;for(i=2;i<arguments.length;i++){z=Number(arguments[i]);sum+=z*z}return Math.sqrt(sum)}};
return polyfill},"es6","es3");$jscomp.polyfill("Math.imul",function(orig){if(orig)return orig;var polyfill=function(a,b){a=Number(a);b=Number(b);var ah=a>>>16&65535;var al=a&65535;var bh=b>>>16&65535;var bl=b&65535;var lh=ah*bl+al*bh<<16>>>0;return al*bl+lh|0};return polyfill},"es6","es3");$jscomp.polyfill("Math.log10",function(orig){if(orig)return orig;var polyfill=function(x){return Math.log(x)/Math.LN10};return polyfill},"es6","es3");
$jscomp.polyfill("Math.log2",function(orig){if(orig)return orig;var polyfill=function(x){return Math.log(x)/Math.LN2};return polyfill},"es6","es3");$jscomp.polyfill("Math.sign",function(orig){if(orig)return orig;var polyfill=function(x){x=Number(x);return x===0||isNaN(x)?x:x>0?1:-1};return polyfill},"es6","es3");$jscomp.polyfill("Math.sinh",function(orig){if(orig)return orig;var exp=Math.exp;var polyfill=function(x){x=Number(x);if(x===0)return x;return(exp(x)-exp(-x))/2};return polyfill},"es6","es3");
$jscomp.polyfill("Math.tanh",function(orig){if(orig)return orig;var polyfill=function(x){x=Number(x);if(x===0)return x;var y=Math.exp(-2*Math.abs(x));var z=(1-y)/(1+y);return x<0?-z:z};return polyfill},"es6","es3");$jscomp.polyfill("Math.trunc",function(orig){if(orig)return orig;var polyfill=function(x){x=Number(x);if(isNaN(x)||x===Infinity||x===-Infinity||x===0)return x;var y=Math.floor(Math.abs(x));return x<0?-y:y};return polyfill},"es6","es3");
$jscomp.polyfill("Number.EPSILON",function(orig){return Math.pow(2,-52)},"es6","es3");$jscomp.polyfill("Number.MAX_SAFE_INTEGER",function(){return 9007199254740991},"es6","es3");$jscomp.polyfill("Number.MIN_SAFE_INTEGER",function(){return-9007199254740991},"es6","es3");$jscomp.polyfill("Number.isFinite",function(orig){if(orig)return orig;var polyfill=function(x){if(typeof x!=="number")return false;return!isNaN(x)&&x!==Infinity&&x!==-Infinity};return polyfill},"es6","es3");
$jscomp.polyfill("Number.isInteger",function(orig){if(orig)return orig;var polyfill=function(x){if(!Number.isFinite(x))return false;return x===Math.floor(x)};return polyfill},"es6","es3");$jscomp.polyfill("Number.isNaN",function(orig){if(orig)return orig;var polyfill=function(x){return typeof x==="number"&&isNaN(x)};return polyfill},"es6","es3");
$jscomp.polyfill("Number.isSafeInteger",function(orig){if(orig)return orig;var polyfill=function(x){return Number.isInteger(x)&&Math.abs(x)<=Number.MAX_SAFE_INTEGER};return polyfill},"es6","es3");$jscomp.polyfill("Number.parseFloat",function(orig){return orig||parseFloat},"es6","es3");$jscomp.polyfill("Number.parseInt",function(orig){return orig||parseInt},"es6","es3");
$jscomp.polyfill("Object.assign",function(orig){if(orig)return orig;var polyfill=function(target,var_args){for(var i=1;i<arguments.length;i++){var source=arguments[i];if(!source)continue;for(var key in source)if($jscomp.owns(source,key))target[key]=source[key]}return target};return polyfill},"es6","es3");
$jscomp.polyfill("Object.entries",function(orig){if(orig)return orig;var entries=function(obj){var result=[];for(var key in obj)if($jscomp.owns(obj,key))result.push([key,obj[key]]);return result};return entries},"es8","es3");$jscomp.polyfill("Object.getOwnPropertySymbols",function(orig){if(orig)return orig;return function(){return[]}},"es6","es5");
$jscomp.polyfill("Reflect.ownKeys",function(orig){if(orig)return orig;var symbolPrefix="jscomp_symbol_";function isSymbol(key){return key.substring(0,symbolPrefix.length)==symbolPrefix}var polyfill=function(target){var keys=[];var names=Object.getOwnPropertyNames(target);var symbols=Object.getOwnPropertySymbols(target);for(var i=0;i<names.length;i++)(isSymbol(names[i])?symbols:keys).push(names[i]);return keys.concat(symbols)};return polyfill},"es6","es5");
$jscomp.polyfill("Object.getOwnPropertyDescriptors",function(orig){if(orig)return orig;var getOwnPropertyDescriptors=function(obj){var result={};var keys=Reflect.ownKeys(obj);for(var i=0;i<keys.length;i++)result[keys[i]]=Object.getOwnPropertyDescriptor(obj,keys[i]);return result};return getOwnPropertyDescriptors},"es8","es5");$jscomp.underscoreProtoCanBeSet=function(){var x={a:true};var y={};try{y.__proto__=x;return y.a}catch(e){}return false};
$jscomp.setPrototypeOf=typeof Object.setPrototypeOf=="function"?Object.setPrototypeOf:$jscomp.underscoreProtoCanBeSet()?function(target,proto){target.__proto__=proto;if(target.__proto__!==proto)throw new TypeError(target+" is not extensible");return target}:null;$jscomp.polyfill("Object.setPrototypeOf",function(orig){return orig||$jscomp.setPrototypeOf},"es6","es5");
$jscomp.polyfill("Object.values",function(orig){if(orig)return orig;var values=function(obj){var result=[];for(var key in obj)if($jscomp.owns(obj,key))result.push(obj[key]);return result};return values},"es8","es3");$jscomp.polyfill("Reflect.apply",function(orig){if(orig)return orig;var apply=Function.prototype.apply;var polyfill=function(target,thisArg,argList){return apply.call(target,thisArg,argList)};return polyfill},"es6","es3");
$jscomp.objectCreate=$jscomp.ASSUME_ES5||typeof Object.create=="function"?Object.create:function(prototype){var ctor=function(){};ctor.prototype=prototype;return new ctor};
$jscomp.construct=function(){function reflectConstructWorks(){function Base(){}function Derived(){}new Base;Reflect.construct(Base,[],Derived);return new Base instanceof Base}if(typeof Reflect!="undefined"&&Reflect.construct){if(reflectConstructWorks())return Reflect.construct;var brokenConstruct=Reflect.construct;var patchedConstruct=function(target,argList,opt_newTarget){var out=brokenConstruct(target,argList);if(opt_newTarget)Reflect.setPrototypeOf(out,opt_newTarget.prototype);return out};return patchedConstruct}function construct(target,
argList,opt_newTarget){if(opt_newTarget===undefined)opt_newTarget=target;var proto=opt_newTarget.prototype||Object.prototype;var obj=$jscomp.objectCreate(proto);var apply=Function.prototype.apply;var out=apply.call(target,obj,argList);return out||obj}return construct}();$jscomp.polyfill("Reflect.construct",function(orig){return $jscomp.construct},"es6","es3");
$jscomp.polyfill("Reflect.defineProperty",function(orig){if(orig)return orig;var polyfill=function(target,propertyKey,attributes){try{Object.defineProperty(target,propertyKey,attributes);var desc=Object.getOwnPropertyDescriptor(target,propertyKey);if(!desc)return false;return desc.configurable===(attributes.configurable||false)&&desc.enumerable===(attributes.enumerable||false)&&("value"in desc?desc.value===attributes.value&&desc.writable===(attributes.writable||false):desc.get===attributes.get&&desc.set===
attributes.set)}catch(err){return false}};return polyfill},"es6","es5");$jscomp.polyfill("Reflect.deleteProperty",function(orig){if(orig)return orig;var polyfill=function(target,propertyKey){if(!$jscomp.owns(target,propertyKey))return true;try{return delete target[propertyKey]}catch(err){return false}};return polyfill},"es6","es3");$jscomp.polyfill("Reflect.getOwnPropertyDescriptor",function(orig){return orig||Object.getOwnPropertyDescriptor},"es6","es5");
$jscomp.polyfill("Reflect.getPrototypeOf",function(orig){return orig||Object.getPrototypeOf},"es6","es5");$jscomp.findDescriptor=function(target,propertyKey){var obj=target;while(obj){var property=Reflect.getOwnPropertyDescriptor(obj,propertyKey);if(property)return property;obj=Reflect.getPrototypeOf(obj)}return undefined};
$jscomp.polyfill("Reflect.get",function(orig){if(orig)return orig;var polyfill=function(target,propertyKey,opt_receiver){if(arguments.length<=2)return target[propertyKey];var property=$jscomp.findDescriptor(target,propertyKey);if(property)return property.get?property.get.call(opt_receiver):property.value;return undefined};return polyfill},"es6","es5");
$jscomp.polyfill("Reflect.has",function(orig){if(orig)return orig;var polyfill=function(target,propertyKey){return propertyKey in target};return polyfill},"es6","es3");$jscomp.polyfill("Reflect.isExtensible",function(orig){if(orig)return orig;if($jscomp.ASSUME_ES5||typeof Object.isExtensible=="function")return Object.isExtensible;return function(){return true}},"es6","es3");
$jscomp.polyfill("Reflect.preventExtensions",function(orig){if(orig)return orig;if(!($jscomp.ASSUME_ES5||typeof Object.preventExtensions=="function"))return function(){return false};var polyfill=function(target){Object.preventExtensions(target);return!Object.isExtensible(target)};return polyfill},"es6","es3");
$jscomp.polyfill("Reflect.set",function(orig){if(orig)return orig;var polyfill=function(target,propertyKey,value,opt_receiver){var property=$jscomp.findDescriptor(target,propertyKey);if(!property){if(Reflect.isExtensible(target)){target[propertyKey]=value;return true}return false}if(property.set){property.set.call(arguments.length>3?opt_receiver:target,value);return true}else if(property.writable&&!Object.isFrozen(target)){target[propertyKey]=value;return true}return false};return polyfill},"es6",
"es5");$jscomp.polyfill("Reflect.setPrototypeOf",function(orig){if(orig)return orig;else if($jscomp.setPrototypeOf){var setPrototypeOf=$jscomp.setPrototypeOf;var polyfill=function(target,proto){try{setPrototypeOf(target,proto);return true}catch(e){return false}};return polyfill}else return null},"es6","es5");
$jscomp.polyfill("Set",function(NativeSet){var isConformant=!$jscomp.ASSUME_NO_NATIVE_SET&&function(){if(!NativeSet||!NativeSet.prototype.entries||typeof Object.seal!="function")return false;try{NativeSet=NativeSet;var value=Object.seal({x:4});var set=new NativeSet($jscomp.makeIterator([value]));if(!set.has(value)||set.size!=1||set.add(value)!=set||set.size!=1||set.add({x:4})!=set||set.size!=2)return false;var iter=set.entries();var item=iter.next();if(item.done||item.value[0]!=value||item.value[1]!=
value)return false;item=iter.next();if(item.done||item.value[0]==value||item.value[0].x!=4||item.value[1]!=item.value[0])return false;return iter.next().done}catch(err){return false}}();if(isConformant)return NativeSet;$jscomp.initSymbol();$jscomp.initSymbolIterator();var PolyfillSet=function(opt_iterable){this.map_=new Map;if(opt_iterable){var iter=$jscomp.makeIterator(opt_iterable);var entry;while(!(entry=iter.next()).done){var item=entry.value;this.add(item)}}this.size=this.map_.size};PolyfillSet.prototype.add=
function(value){this.map_.set(value,value);this.size=this.map_.size;return this};PolyfillSet.prototype["delete"]=function(value){var result=this.map_["delete"](value);this.size=this.map_.size;return result};PolyfillSet.prototype.clear=function(){this.map_.clear();this.size=0};PolyfillSet.prototype.has=function(value){return this.map_.has(value)};PolyfillSet.prototype.entries=function(){return this.map_.entries()};PolyfillSet.prototype.values=function(){return this.map_.values()};PolyfillSet.prototype.keys=
PolyfillSet.prototype.values;PolyfillSet.prototype[Symbol.iterator]=PolyfillSet.prototype.values;PolyfillSet.prototype.forEach=function(callback,opt_thisArg){var set=this;this.map_.forEach(function(value){return callback.call(opt_thisArg,value,value,set)})};return PolyfillSet},"es6","es3");
$jscomp.checkStringArgs=function(thisArg,arg,func){if(thisArg==null)throw new TypeError("The 'this' value for String.prototype."+func+" must not be null or undefined");if(arg instanceof RegExp)throw new TypeError("First argument to String.prototype."+func+" must not be a regular expression");return thisArg+""};
$jscomp.polyfill("String.prototype.codePointAt",function(orig){if(orig)return orig;var polyfill=function(position){var string=$jscomp.checkStringArgs(this,null,"codePointAt");var size=string.length;position=Number(position)||0;if(!(position>=0&&position<size))return void 0;position=position|0;var first=string.charCodeAt(position);if(first<55296||first>56319||position+1===size)return first;var second=string.charCodeAt(position+1);if(second<56320||second>57343)return first;return(first-55296)*1024+
second+9216};return polyfill},"es6","es3");$jscomp.polyfill("String.prototype.endsWith",function(orig){if(orig)return orig;var polyfill=function(searchString,opt_position){var string=$jscomp.checkStringArgs(this,searchString,"endsWith");searchString=searchString+"";if(opt_position===void 0)opt_position=string.length;var i=Math.max(0,Math.min(opt_position|0,string.length));var j=searchString.length;while(j>0&&i>0)if(string[--i]!=searchString[--j])return false;return j<=0};return polyfill},"es6","es3");
$jscomp.polyfill("String.fromCodePoint",function(orig){if(orig)return orig;var polyfill=function(var_args){var result="";for(var i=0;i<arguments.length;i++){var code=Number(arguments[i]);if(code<0||code>1114111||code!==Math.floor(code))throw new RangeError("invalid_code_point "+code);if(code<=65535)result+=String.fromCharCode(code);else{code-=65536;result+=String.fromCharCode(code>>>10&1023|55296);result+=String.fromCharCode(code&1023|56320)}}return result};return polyfill},"es6","es3");
$jscomp.polyfill("String.prototype.includes",function(orig){if(orig)return orig;var polyfill=function(searchString,opt_position){var string=$jscomp.checkStringArgs(this,searchString,"includes");return string.indexOf(searchString,opt_position||0)!==-1};return polyfill},"es6","es3");
$jscomp.polyfill("String.prototype.repeat",function(orig){if(orig)return orig;var polyfill=function(copies){var string=$jscomp.checkStringArgs(this,null,"repeat");if(copies<0||copies>1342177279)throw new RangeError("Invalid count value");copies=copies|0;var result="";while(copies){if(copies&1)result+=string;if(copies>>>=1)string+=string}return result};return polyfill},"es6","es3");
$jscomp.stringPadding=function(padString,padLength){var padding=padString!==undefined?String(padString):" ";if(!(padLength>0)||!padding)return"";var repeats=Math.ceil(padLength/padding.length);return padding.repeat(repeats).substring(0,padLength)};
$jscomp.polyfill("String.prototype.padEnd",function(orig){if(orig)return orig;var padEnd=function(targetLength,opt_padString){var string=$jscomp.checkStringArgs(this,null,"padStart");var padLength=targetLength-string.length;return string+$jscomp.stringPadding(opt_padString,padLength)};return padEnd},"es8","es3");
$jscomp.polyfill("String.prototype.padStart",function(orig){if(orig)return orig;var padStart=function(targetLength,opt_padString){var string=$jscomp.checkStringArgs(this,null,"padStart");var padLength=targetLength-string.length;return $jscomp.stringPadding(opt_padString,padLength)+string};return padStart},"es8","es3");
$jscomp.polyfill("String.prototype.startsWith",function(orig){if(orig)return orig;var polyfill=function(searchString,opt_position){var string=$jscomp.checkStringArgs(this,searchString,"startsWith");searchString=searchString+"";var strLen=string.length;var searchLen=searchString.length;var i=Math.max(0,Math.min(opt_position|0,string.length));var j=0;while(j<searchLen&&i<strLen)if(string[i++]!=searchString[j++])return false;return j>=searchLen};return polyfill},"es6","es3");
$jscomp.arrayFromIterator=function(iterator){var i;var arr=[];while(!(i=iterator.next()).done)arr.push(i.value);return arr};$jscomp.arrayFromIterable=function(iterable){if(iterable instanceof Array)return iterable;else return $jscomp.arrayFromIterator($jscomp.makeIterator(iterable))};
$jscomp.inherits=function(childCtor,parentCtor){childCtor.prototype=$jscomp.objectCreate(parentCtor.prototype);childCtor.prototype.constructor=childCtor;if($jscomp.setPrototypeOf){var setPrototypeOf=$jscomp.setPrototypeOf;setPrototypeOf(childCtor,parentCtor)}else for(var p in parentCtor){if(p=="prototype")continue;if(Object.defineProperties){var descriptor=Object.getOwnPropertyDescriptor(parentCtor,p);if(descriptor)Object.defineProperty(childCtor,p,descriptor)}else childCtor[p]=parentCtor[p]}childCtor.superClass_=
parentCtor.prototype};
$jscomp.polyfill("WeakSet",function(NativeWeakSet){function isConformant(){if(!NativeWeakSet||!Object.seal)return false;try{var x=Object.seal({});var y=Object.seal({});var set=new NativeWeakSet([x]);if(!set.has(x)||set.has(y))return false;set["delete"](x);set.add(y);return!set.has(x)&&set.has(y)}catch(err){return false}}if(isConformant())return NativeWeakSet;var PolyfillWeakSet=function(opt_iterable){this.map_=new WeakMap;if(opt_iterable){$jscomp.initSymbol();$jscomp.initSymbolIterator();var iter=
$jscomp.makeIterator(opt_iterable);var entry;while(!(entry=iter.next()).done){var item=entry.value;this.add(item)}}};PolyfillWeakSet.prototype.add=function(elem){this.map_.set(elem,true);return this};PolyfillWeakSet.prototype.has=function(elem){return this.map_.has(elem)};PolyfillWeakSet.prototype["delete"]=function(elem){return this.map_["delete"](elem)};return PolyfillWeakSet},"es6","es3");
(function(global,jscomp){if(global["$jscomp"])for(var key in global["$jscomp"])jscomp[key]=global["$jscomp"][key];global["$jscomp"]=jscomp})(window,$jscomp);(function(window){var $wnd={"Error":{}};var $doc={},$moduleName,$moduleBase;function gW(){}function bW(){}function ub(){}function Fb(){}function Fx(){}function nc(){}function Ed(){}function eB(){}function TB(){}function _B(){}function kC(){}function vC(){}function wC(){}function ZC(){}function hD(){}function oD(){}function nY(){}function T_(){}function v0(){}function v4(){}function f7(){}function s8(){}function H8(){}function Hkb(){}function skb(){}function vkb(){}function Oab(){}function pbb(){}
function plb(){}function Blb(){}function Tlb(){}function Ylb(){}function Ysb(){}function icb(){}function qcb(){}function Xfb(){}function _fb(){}function Gmb(){}function unb(){}function Anb(){}function iob(){}function Qub(){}function Xub(){}function xvb(){}function Jxb(){}function dDb(){}function fDb(){}function mJb(){}function LXb(){}function ZXb(){}function OYb(){}function O_b(){}function D_b(){}function I_b(){}function T_b(){}function W_b(){}function a0b(){}function Dcc(){}function Wrc(){}function xsc(){}
function Gsc(){}function Osc(){}function dvc(){}function hvc(){}function pyc(){}function ryc(){}function Mzc(){}function VAc(){}function YAc(){}function _Ac(){}function cBc(){}function GBc(){}function LBc(){}function XBc(){}function ngb(a){}function A9b(a){}function uqb(a){Td(a)}function spb(){vnc()}function iq(){this.a=0}function Nw(){this.a=8}function Pw(){this.a=8}function ic(a){this.a=a}function Ne(a){this.a=a}function cf(a){this.a=a}function fh(a){this.a=a}function zj(a){this.a=a}function Tl(a){this.a=
a}function Xl(a){this.a=a}function nm(a){this.a=a}function Rm(a){this.a=a}function yp(a){this.a=a}function cr(a){this.a=a}function Jr(a){this.a=a}function Vs(a){this.a=a}function Ys(a){this.b=a}function rv(a){this.b=a}function ou(a){this.a=a}function oz(a){this.a=a}function kz(a){this.a=a}function Bz(a){this.a=a}function Jz(a){this.a=a}function Jx(a){this.a=a}function ix(a){this.a=a}function mx(a){this.a=a}function lw(a){this.a=a}function zw(a){this.a=a}function Mz(a){this.a=a}function tz(a){this.b=
a}function lB(a){this.e=a}function OB(a){this.a=a}function $B(a){this.c=a}function wW(a){this.e=a}function aY(a){this.a=a}function CY(a){this.a=a}function C_(a){this.a=a}function r2(a){this.a=a}function z2(a){this.a=a}function B2(a){this.a=a}function D2(a){this.a=a}function F2(a){this.a=a}function H2(a){this.a=a}function i5(a){this.a=a}function v7(a){this.a=a}function C7(a){this.a=a}function Y7(a){this.a=a}function A7(a){this.b=a}function K8(a){this.a=a}function Q8(a){this.a=a}function Q1(a,b){a.r=
b}function P1(a,b){a.n=b}function Y2(a,b){a.i=b}function JYb(a,b){a.a=b}function LYb(a,b){a.n=b}function MYb(a,b){a.p=b}function lpb(a,b){a.c=b}function vub(a,b){a.c=b}function nIb(a,b){a.c=b}function oIb(a,b){a.d=b}function S_b(a,b){a.d=b}function u_b(a,b){a.f=b}function z_b(a,b){a.g=b}function B_b(a,b){a.j=b}function Q_b(a,b){a.b=b}function R_b(a,b){a.c=b}function P2b(a,b){a.c=b}function O2b(a,b){a.k=b}function Y2b(a,b){a.k=b}function S2b(a,b){a.g=b}function T2b(a,b){a.i=b}function X2b(a,b){a.j=
b}function dgc(a,b){a.a=b}function G3(a,b){a.Vb=b}function Ck(a){a.c=a.d.d}function ykb(a){this.a=a}function Bkb(a){this.a=a}function Ekb(a){this.a=a}function Mab(a){this.a=a}function Sbb(a){this.a=a}function vdb(a){this.a=a}function eeb(a){this.a=a}function eBb(a){this.a=a}function LBb(a){this.a=a}function LAb(a){this.a=a}function mfb(a){this.a=a}function llb(a){this.a=a}function oqb(a){this.a=a}function Vtb(a){this.a=a}function Fzb(a){this.a=a}function XCb(a){this.a=a}function $Cb(a){this.a=a}function pHb(a){this.a=
a}function RYb(a){this.a=a}function ZZb(a){this.a=a}function Z3b(a){this.a=a}function C3b(a){this.a=a}function F3b(a){this.a=a}function a4b(a){this.a=a}function vQb(a){this.d=a}function OUb(a){this.j=a}function E_b(a){this.c=a}function Elc(a){this.a=a}function nlc(a){this.a=a}function Tjc(a){this.a=a}function pkc(a){this.a=a}function xnc(a){this.a=a}function Wnc(a){this.a=a}function Boc(a){this.a=a}function Hoc(a){this.a=a}function Loc(a){this.a=a}function Qoc(a){this.a=a}function joc(a){this.d=a}
function ccc(a){this.d=a}function Hcc(a){this.b=a}function sgc(a){this.b=a}function wpc(a){this.b=a}function lpc(a){this.a=a}function Bpc(a){this.a=a}function Hpc(a){this.a=a}function Vsc(a){this.a=a}function dtc(a){this.a=a}function ktc(a){this.b=a}function Atc(a){this.b=a}function grc(a){this.c=a}function cuc(a){this.d=a}function Huc(a){this.a=a}function Luc(a){this.a=a}function lvc(a){this.a=a}function Rvc(a){this.a=a}function Iwc(a){this.a=a}function Yxc(a){this.a=a}function Wyc(a){this.a=a}function Pyc(a){this.c=
a}function tAc(a){this.a=a}function ZBc(a){this.a=a}function qc(a){this.a=Td(a)}function Kc(a){this.a=Td(a)}function mf(a){this.a=Td(a)}function pf(a){this.a=Td(a)}function Lm(a){this.a=Td(a)}function Ij(a){this.b=Td(a)}function pq(a){this.b=Td(a)}function av(a){this.a=Td(a)}function fv(a){this.a=Td(a)}function Cw(a){this.a=Td(a)}function _w(a){this.a=Td(a)}function Gd(a){return!a}function S$(a){a.d=new xwc}function hW(){iW();Lvb()}function Lnc(){Jnc(this)}function Lqc(){yqc(this)}function gqc(){Opc(this)}
function xC(){xA.call(this)}function L0(a,b){Aqc(a.c,b)}function K1(a,b){Gqc(a.c,b)}function Q2(a,b){Aqc(a.d,b)}function U$(a,b){r$(a.c,b)}function z3(a,b){W4(a.Ad,b)}function w$(a,b){b&&a.pg()}function vnc(){vnc=bW;YBc()}function vlc(a){return a&-a}function Pob(a){a.e=new Hxc}function oab(a){a.g=new Lqc}function Igb(a){a.d=new xwc}function St(){this.b=new xwc}function ir(){this.b=new Lqc}function ar(){this.a=new Lqc}function Or(){this.a=new Lqc}function cB(){this.a=new Hxc}function A5(){this.a=new jyc}
function Hn(a){vn();this.a=a}function qr(a){vn();this.a=a}function vr(a){vn();this.a=a}function Qr(a){Sn();this.a=a}function zv(a){Sn();this.a=a}function T7(a){S7();this.a=a}function b7(a){X6();this.a=a}function G6(a){B6();this.a=a}function a8(a){_7();this.a=a}function z9(a){o9();this.a=a}function cD(a){bD();aD.Gf(a)}function kDb(a){this.a=Qo(a)}function f8(){this.a=new Fwc}function Uvb(){Tvb();new ylb}function Mfb(){xC.call(this)}function OXb(){xC.call(this)}function Zjc(){xC.call(this)}function klc(){xC.call(this)}
function Rlc(){xC.call(this)}function enc(){xC.call(this)}function svc(){xC.call(this)}function uyc(){xC.call(this)}function ckc(){xA.call(this)}function UBc(a,b){a.length=b}function rt(a,b){a.e=b;b.b=a}function mC(a,b){return a[b]}function yB(a){return a.b<a.c}function mc(){mc=bW;lc=new nc}function tc(){tc=bW;sc=new uc}function DC(){DC=bW;CC=new ub}function Db(){Db=bW;Cb=new Fb}function Ex(){Ex=bW;Dx=new Fx}function sn(){sn=bW;rn=new tn}function dt(){dt=bW;ct=new et}function WC(){WC=bW;VC=new ZC}
function bs(){bs=bW;Io();Ex()}function X_b(){W_b.call(this)}function Z_b(){W_b.call(this)}function __b(){Z_b.call(this)}function xwc(){Lnc.call(this)}function Qwc(){Lnc.call(this)}function mi(a){_h.call(this,a)}function $l(a){_h.call(this,a)}function tm(a){mi.call(this,a)}function zq(a){$l.call(this,a)}function Iq(a){lp.call(this,a)}function Vq(a){Lp.call(this,a)}function jt(a){$l.call(this,a)}function qv(a){fv.call(this,a)}function Ov(a){pq.call(this,a)}function xx(a){pq.call(this,a)}function Tx(a){lp.call(this,
a)}function GA(a){yA.call(this,a)}function HA(a){GA.call(this,a)}function oC(a){GA.call(this,a)}function yC(a){GA.call(this,a)}function zC(a){zA.call(this,a)}function $$(a,b){r$(a.c,r_(b))}function hc(a,b){return b==a.a}function imc(a,b){return a===b}function iBc(){this.a=new xwc}function Fwc(){this.a=new xwc}function DAc(){this.a=new xwc}function qAc(){this.a=new nzc}function Rkb(){this.a=new Fwc}function ECb(){this.a=new Lqc}function vYb(){this.c=new $mc}function xnb(a){this.a=a;scb()}function wnb(a,
b){zib(a.a,b,a)}function I2b(a,b){H2b(a.e,a,b)}function Hab(a){Bab();this.c=a}function abb(a){$ab();this.a=a}function hbb(a){gbb();this.a=a}function Rpb(a){Ppb();this.c=a}function Fyb(a){Td(a);this.e=a}function _yc(a){a.b=null;a.c=0}function XV(){VV==null&&(VV=[])}function D5(){D5=bW;C5=new xwc}function sh(){throw CV(new enc);}function fn(){throw CV(new enc);}function Lo(){throw CV(new enc);}function Mo(){throw CV(new enc);}function Eb(a){return Ud(a,VCc)}function hkc(a){return jCc(a),a}function hlc(a){return jCc(a),
a}function Dmc(a){return jCc(a),a}function he(a,b){return a.f-b.f}function hC(a,b){a.f=b;return a}function cC(a,b){a.a=b;return a}function dC(a,b){a.b=b;return a}function eC(a,b){a.c=b;return a}function fC(a,b){a.d=b;return a}function gC(a,b){a.e=b;return a}function iC(a,b){a.g=b;return a}function jC(a,b){a.i=b;return a}function y_(a,b){a.i=b;return a}function x_(a,b){a.g=b;return a}function z_(a,b){a.j=b;return a}function A_(a,b){a.e=b;return a}function mY(a,b){return lY(a,b)}function Rw(a){this.a=
xm(a,KDc)}function Tw(a){this.a=xm(a,KDc)}function TQb(a){while(SQb(a));}function Nfb(a){yC.call(this,a)}function Ofb(a){zC.call(this,a)}function Pfb(a){AC.call(this,a)}function PYb(a){yC.call(this,a)}function aYb(a){yC.call(this,a)}function dYb(a){yC.call(this,a)}function eYb(a){yC.call(this,a)}function Yxb(a){yC.call(this,a)}function Yjc(a){yC.call(this,a)}function $jc(a){yC.call(this,a)}function llc(a){yC.call(this,a)}function Qlc(a){yC.call(this,a)}function Tlc(a){yC.call(this,a)}function mlc(a){zC.call(this,
a)}function Slc(a){BC.call(this,a)}function fnc(a){yC.call(this,a)}function akc(a){yA.call(this,a)}function bkc(a){zA.call(this,a)}function Prc(a){jCc(a);this.a=a}function rrc(a){wrc(a,a.length)}function trc(a){xrc(a,a.length)}function Wpc(a){return a.b==a.c}function Xpc(a){return a.a[a.b]}function Ypc(a){return a.a[a.b]}function fzc(a){return!!a&&a.b}function HAb(a,b){return b==a.d}function nqb(a,b,c){eY(a.a,b,c)}function Bec(a,b,c){a.j[b.f]=c}function st(a,b){a.sf(b);b.rf(a)}function Wf(a,b){a.d.b.remove(b)}
function qD(a,b){return Rkc(a,b)}function NB(a){return rC(),uC(a)}function n2(a){return new qtb(a)}function lW(a){return a==1||a==2}function Ww(a){this.a=a;this.b=2}function Yw(a){this.a=a;this.b=2}function Dgb(a){Egb.call(this,a)}function MC(){MC=bW;!!(bD(),aD)}function hxc(){hxc=bW;gxc=jxc()}function kpb(a,b){a.a=b;a.d=null}function EUb(a,b){a.a=b;return a}function GUb(a,b){a.b=b;return a}function Mxb(a,b){a.b=b;return a}function Rxb(a,b){a.g=b;return a}function jmb(a,b){a.n=b;return a}function KUb(a,
b){a.n=b;return a}function HUb(a,b){a.c=b;return a}function IUb(a,b){a.f=b;return a}function JUb(a,b){a.d=b;return a}function LUb(a,b){a.g=b;return a}function MUb(a,b){a.o=b;return a}function NUb(a,b){a.i=b;return a}function Zbc(a,b){a.a=b;return a}function $bc(a,b){a.c=b;return a}function _bc(a,b){a.e=b;return a}function bcc(a,b){a.g=b;return a}function Ad(a){a.d=true;return a}function JAb(){throw CV(new enc);}function KAb(){throw CV(new enc);}function kt(a){Th(a);rt(a.a,a.a)}function Py(a){vn();
this.a=Td(a)}function f4b(a){g3b.call(this,a)}function o4b(a){g3b.call(this,a)}function t9b(a){Y7b.call(this,a)}function $lc(a){Nfb.call(this,a)}function _jc(a){$jc.call(this,a)}function cnc(a){$jc.call(this,a)}function vuc(a){ktc.call(this,a)}function Suc(a){Etc.call(this,a)}function Buc(a){vuc.call(this,a)}function $Bc(a){ZBc.call(this,a)}function $mc(){Tjc.call(this,"")}function _mc(){Tjc.call(this,"")}function Fsc(){throw CV(new uyc);}function ztc(){throw CV(new enc);}function auc(){throw CV(new enc);
}function Gkc(a){return a.e&&a.e()}function gf(a){return Ye(a.a,a.b)}function Qf(a,b){return uf(a.d,b)}function jp(a,b){return fw(a.d,b)}function Rg(a,b){return cw(a.a,b)}function Oy(a,b){return wb(a.a,b)}function VBc(a,b){return wD(a,b)}function KV(a,b){return EV(a,b)<0}function _s(a,b){return a.a.Od(b)}function WD(a){return a.l|a.m<<22}function I3(a){return!a.cd&&!a.C}function Ikc(a){Fkc(a);return a.n}function Hkc(a){Fkc(a);return a.p}function _q(a,b){Oq(a,b);return a}function z5(a){a.b=false;return a}
function Nxb(a){a.c=true;return a}function FUb(a){a.e=true;return a}function hJb(a){a.a=a.i-a.f-a.r-1}function vmb(a){this.a=a;this.b=1}function vqb(){Td(RIc);this.a=RIc}function VXb(){VXb=bW;UXb=new xwc}function lbb(){lbb=bW;kbb=new pbb}function eob(){eob=bW;dob=new iob}function $ub(){$ub=bW;Zub=new avb}function Ybc(a){a.b=true;return a}function Qmc(a,b){a.a+=b;return a}function Rmc(a,b){a.a+=b;return a}function i1b(a,b){a.d&&u_b(a.a,b)}function j1b(a,b){a.d&&v_b(a.a,b)}function qgc(a,b){a!=hgc&&
(a.a=b)}function Uab(a,b){R1b(a,f3b(b,a))}function TBc(a,b,c){a.splice(b,c)}function tec(a,b){return a.j[b.f]}function uec(a,b){return a.j[b.f]}function vec(a,b){return a.j[b.f]}function Tb(a){return a>=65&&a<=90}function Gwc(a){this.a=new ywc(a)}function EAc(a){this.a=new ywc(a)}function sAc(a){this.a=new ozc(a)}function hf(a,b){this.a=a;this.b=b}function ke(a,b){this.e=a;this.f=b}function lg(a,b){this.b=a;this.c=b}function xg(a,b){this.b=a;this.a=b}function aj(a,b){this.b=a;this.a=b}function Wj(a,
b){this.b=a;this.c=b}function bh(a,b){this.b=a;this.d=b}function vl(a,b){this.a=a;this.c=b}function Dl(a,b){this.a=a;this.b=b}function gn(a,b){this.a=a;this.b=b}function fq(a,b){this.a=a;this.b=b}function Tr(a,b){this.a=a;this.b=b}function lu(a,b){this.a=a;this.b=b}function zu(a,b){this.a=a;this.f=b}function zx(a,b){this.e=a;this.c=b}function Pq(a,b){this.g=a;this.i=b}function py(a,b){this.a=a;this.b=b}function xy(a,b){this.a=a;this.b=b}function gz(a,b){this.a=a;this.b=b}function Rz(a,b){this.a=a;
this.b=b}function WA(a,b){this.b=a;this.a=b}function ze(a,b){ke.call(this,a,b)}function rw(a,b){ke.call(this,a,b)}function qW(a,b){ke.call(this,a,b)}function JW(a,b){ke.call(this,a,b)}function iY(a,b){this.a=a;this.b=b}function qZ(a,b){ke.call(this,a,b)}function X_(a,b){E_.call(this,a,b)}function s0(a,b){ke.call(this,a,b)}function Pt(a,b){return znc(a.b,b)}function AB(a){return dmc(a.a,a.b)}function aA(a,b){return a.g[b%a.d]}function Eq(a,b){return a>b&&b<HDc}function HV(a,b){return EV(a,b)==0}function NV(a,
b){return EV(a,b)!=0}function J2(a,b){return Cwc(a.d,b)}function A3(a,b){return Y4(a.Ad,b)}function B3(a,b){return Z4(a.Ad,b)}function v3(a,b){ke.call(this,a,b)}function R3(a,b){ke.call(this,a,b)}function W3(a,b){ke.call(this,a,b)}function a4(a,b){ke.call(this,a,b)}function f4(a,b){ke.call(this,a,b)}function t4(a,b){ke.call(this,a,b)}function A4(a,b){ke.call(this,a,b)}function I4(a,b){ke.call(this,a,b)}function O4(a,b){ke.call(this,a,b)}function P6(a,b){ke.call(this,a,b)}function k2(a,b){this.b=a;
this.a=b}function j9(a,b){this.b=a;this.a=b}function r8(a,b){this.e=a;this.a=b}function d8(a,b){this.a=a;this.b=b}function u2(a,b){this.a=a;this.b=b}function M5(a,b){this.a=a;this.b=b}function Q7(a,b){this.a=a;this.b=b}function QYb(a,b){return kp(a.a,b)}function jtc(a,b){return a.b.Qd(b)}function $tc(a,b){return wb(a.d,b)}function ixb(a){return a.g?a.g:a.d}function Knc(a){return a.d.c+a.e.c}function twc(a){this.c=a;qwc(this)}function ywc(a){Mnc.call(this,a,0)}function nzc(){ozc.call(this,null)}function Aq(){zq.call(this,
new xwc)}function Cq(){ql.call(this,new xwc)}function tw(){rw.call(this,"KEY",0)}function UC(){JC!=0&&(JC=0);LC=-1}function Uyc(){Uyc=bW;Tyc=new xwc}function Esc(){Esc=bW;Dsc=new Gsc}function hlb(a,b,c){Aib(a.b,a,b,c)}function hYb(a,b,c){Umc(a.c,b,0,c)}function AFb(a,b,c){P2b(a,c.c-b.c)}function bab(a,b){return Kbb(b,a.b)}function cab(a,b){return Kbb(b,a.i)}function dab(a,b){return Kbb(b,a.o)}function eab(a,b){return Kbb(b,a.r)}function fab(a,b){return Kbb(b,a.s)}function gab(a,b){return Kbb(b,a.t)}
function hab(a,b){return Kbb(b,a.u)}function Ye(a,b){return bf(a.c,a,b)}function VB(a,b){return b.b+a.c.i.b}function Sb(a){return a>=97&&a<=122}function Sab(a,b){this.a=a;this.b=b}function Qab(a,b){this.a=a;this.b=b}function Ndb(a,b){this.a=a;this.b=b}function xab(a,b){this.b=a;this.a=b}function Xab(a,b){this.b=a;this.a=b}function Xdb(a,b){ke.call(this,a,b)}function Ldb(a,b){ke.call(this,a,b)}function Ux(a){Io();mp.call(this,a)}function Xx(a){Wx();Lp.call(this,a)}function TC(a){$wnd.clearTimeout(a)}
function $w(a,b){a.a.ue().remove(b)}function N1(a,b){J1(a,V0(b));x1(a)}function ggb(a,b){return Kbb(b,a.b)}function hgb(a,b){return Kbb(b,a.e)}function igb(a,b){return Kbb(b,a.f)}function Uob(a,b){return Dxc(a.e,b)}function snb(a,b){ke.call(this,a,b)}function dpb(a,b){ke.call(this,a,b)}function Apb(a,b){ke.call(this,a,b)}function Jpb(a,b){ke.call(this,a,b)}function gub(a,b){ke.call(this,a,b)}function Lpb(){Jpb.call(this,QIc,0)}function fvb(a,b){ke.call(this,a,b)}function $wb(a,b){ke.call(this,a,b)}
function _gb(a,b){this.a=a;this.b=b}function aob(a,b){this.a=a;this.b=b}function clb(a,b){this.b=a;this.a=b}function ilb(a,b){this.b=a;this.a=b}function nlb(a,b){this.b=a;this.a=b}function Emb(a,b){this.b=a;this.a=b}function upb(a,b){this.b=a;this.a=b}function Vub(a,b){this.b=a;this.a=b}function Xlb(a,b){this.j=a;this.i=b}function wIb(a,b){this.a=a;this.b=b}function BJb(a,b){this.a=a;this.b=b}function yJb(a,b){this.c=a;this.b=b}function gMb(a,b){this.c=a;this.b=b}function FTb(a,b){this.p=a;this.o=
b}function VCb(a,b){ke.call(this,a,b)}function BEb(a,b){ke.call(this,a,b)}function KEb(a,b){ke.call(this,a,b)}function BIb(a,b){ke.call(this,a,b)}function ZIb(a,b){ke.call(this,a,b)}function tQb(a,b){ke.call(this,a,b)}function cUb(a,b){ke.call(this,a,b)}function UUb(a,b){ke.call(this,a,b)}function hXb(a,b){ke.call(this,a,b)}function i0b(a,b){ke.call(this,a,b)}function x7b(a,b){ke.call(this,a,b)}function SXb(a,b){this.b=a;this.a=b}function L1b(a,b){this.a=a;this.b=b}function J3b(a,b){this.c=a;this.b=
b}function pcc(a,b){ke.call(this,a,b)}function eec(a,b){ke.call(this,a,b)}function Sec(a,b){return vec(a.e,b)}function R7b(a,b){return vec(a.B,b)}function o0b(a,b){return O$b(a.a,b)}function lgc(a,b){return a.b.get(b)}function Ayb(a){return zyb(a,a.e.i)}function HYb(a){return a>=48&&a<=57}function XYb(a,b){WYb();return a[b]}function sic(a,b){ke.call(this,a,b)}function pjc(a){qjc.call(this,a,30)}function pnc(a,b){ke.call(this,a,b)}function uic(){sic.call(this,NKc,0)}function yic(){sic.call(this,MKc,
1)}function Cic(){sic.call(this,iJc,2)}function Mcc(a,b,c,d){Yp(a.a,b,c,d)}function Pjc(a,b){return dmc(a.a,b)}function Sjc(a,b){return zmc(a.a,b)}function Tsc(a,b){return znc(a.a,b)}function wnc(a,b){return ync(a.a,b)}function Cxc(a,b){return znc(a.c,b)}function nxc(a,b){return a.a.get(b)}function cyc(a){return a.b!=a.c.a.b}function jE(a){return typeof a===ECc}function kE(a){return typeof a===FCc}function nE(a){return typeof a===HCc}function oE(a){return a==null?null:a}function zmc(a,b){return a.substr(b)}
function pg(a,b){return a.be().ee(b)}function Ii(a){return!a?null:a.de()}function zB(a){return dmc(a.a,a.b++)}function JV(a){return typeof a===FCc}function lxc(){hxc();return new gxc}function LKb(){LKb=bW;KKb=ne(JKb())}function RBc(a,b,c){a.splice(b,0,c)}function dAc(a,b){ke.call(this,a,b)}function Dlb(a){k2.call(this,a,true)}function a3(a){b3.call(this,a,false)}function Mpb(){Jpb.call(this,"V3",1)}function Mkb(a){this.b=a;this.a=true}function thc(a,b){this.b=a;this.a=b}function _vc(a,b){this.b=a;
this.a=b}function _oc(a,b){this.d=a;this.e=b}function Eac(a,b){Zd(!a.sj());a.r=b}function R1(a,b){b>1?a.Q=1:a.Q=b}function qqb(a,b){a.b=tqb(b,a.a,a.b)}function Jub(a,b){a.a=b;vub(a.c,a.a)}function BFb(a,b){DFb(a,b.b.b,b.b.a)}function HQb(a,b,c,d){wJb(a.c,b,c,d)}function p4b(a,b){i3b.call(this,a,b)}function iJb(a){jJb.call(this,a,0,0)}function anc(a){Tjc.call(this,fW(a))}function zwc(a){Jnc(this);zi(this,a)}function zqb(){this.a=IV(Date.now())}function nRb(a){return mRb(a)&&a!=42}function n2b(a){return!!a.b&&
!a.b.d}function Smc(a,b){return a.a+=""+b,a}function lmc(a,b){return a.indexOf(b)}function vf(a,b){return a.Wd().get(b)}function ef(a,b){return Xb(a.a,a.e,b)}function zD(a){return AD(a.l,a.m,a.h)}function oy(a){return new vy(a.a,a.b)}function AY(a){this.a=new kq;this.b=a}function xmb(a){this.b=a;this.a=a.b.a}function Cgb(){Egb.call(this,new Jgb)}function Cpb(){Apb.call(this,"ALL",0)}function vw(){rw.call(this,"VALUE",1)}function ivb(){ivb=bW;hvb=new Kc("/")}function hBb(){hBb=bW;gBb=MBc("\\d+")}function N$b(a){return!!a.d&&
!!a.d.k}function m2b(a){return!!a.b&&!!a.b.d}function f2b(a){return a.b?a.b.f:null}function zQb(a,b){return rNb(a.e.b,b)}function K2b(a,b){a.i=u3b(p3b(a.i),b)}function gJb(a,b){a.q[a.r++]=b;--a.b}function Tmc(a,b){a.a+=""+b;return a}function Vmc(a,b){a.a+=""+b;return a}function Wmc(a,b){a.a+=""+b;return a}function o6(a,b){Gnc(m6,a,b);return b}function Qcb(a,b){Ssc(a.a,b)&&b._i(a)}function Frc(a,b){Crc(a,0,a.length,b)}function goc(a){return a.b<a.d.size()}function bk(a){_j(a);return a.d.size()}function Zn(a){Sn();
Td(a);return $n(a)}function Tq(a){lp.call(this,new Jz(a))}function jyc(){Iwc.call(this,new Hxc)}function aCc(){ZBc.call(this,"UTF-8")}function Y7b(a){Z7b.call(this,a,null)}function Sk(a,b,c){Rk.call(this,a,b,c)}function R6(){P6.call(this,"LEGACY",0)}function y7(a){this.a=a;this.b=new Lqc}function N7(a){this.b=a;this.a=new gqc}function _y(a,b){this.c=a;this.b=Td(b)}function $wc(a){this.a=lxc();this.b=a}function qxc(a){this.a=lxc();this.b=a}function P8(a){this.b=new jyc;this.a=a}function Dmb(a){Emb.call(this,
a,false)}function fpb(){dpb.call(this,"LINE",0)}function jNb(a){hNb();return kp(KMb,a)}function o3b(a){return a==-1?-1:a&kEc}function p3b(a){return a==-1?-1:a>>>12}function t$b(a){return!a.d?null:a.d.b}function u$b(a){return!a.d?null:a.d.c}function z$b(a){return!a.d?null:a.d.g}function A$b(a){return!a.d?null:a.d.i}function B$b(a){return!a.d?null:a.d.j}function c2b(a){return!a.e?null:a.e.e}function Cm(a){return Ts(a.a.Pd(),a.b)}function Ds(a){return Ts(a.a.Pd(),a.b)}function X7b(a){return iE(a,47)?
a:null}function Y8b(a){M7b();Y7b.call(this,a)}function u9b(a){M7b();t9b.call(this,a)}function Rfc(a){M7b();t9b.call(this,a)}function Zfc(a){M7b();t9b.call(this,a)}function vhc(a){M7b();t9b.call(this,a)}function Fjc(a){M7b();t9b.call(this,a)}function yfc(a){M7b();ifc.call(this,a)}function Ifc(a){M7b();yfc.call(this,a)}function hAc(){dAc.call(this,"Head",1)}function mAc(){dAc.call(this,"Tail",3)}function He(){ze.call(this,"IS_NULL",2)}function Opc(a){a.a=sD(lT,bDc,1,8,5,1)}function yqc(a){a.a=sD(lT,
bDc,1,0,5,1)}function Kk(a){this.a=a;Fk.call(this,a)}function Zr(a,b){Sn();Tr.call(this,a,b)}function Er(a,b){Sn();this.a=a;this.b=b}function BB(a){this.a=a;this.c=a.length}function _h(a){Kd(a.size()==0);this.c=a}function Mr(a,b){Td(b);Nq(a,b);return a}function _A(a,b){var c;c=nC(b);$A(a,c)}function R4(a,b){yC.call(this,wYb(a,b))}function f$(){e$();g$.call(this,new v0)}function qw(){qw=bW;ow=new tw;pw=new vw}function Pkb(a){this.b=a;this.a=new Fwc}function Ytb(a){this.b=a;this.a=new Lqc}function shc(a){this.c=
new xwc;this.d=a}function JNb(a,b){return new SXb(b,a.f)}function AD(a,b,c){return{l:a,m:b,h:c}}function olc(a,b){return a<b?-1:a>b?1:0}function wyc(a){return a!=null?Ab(a):0}function wkc(a){return a>=TCc&&a<=57343}function vkc(a){return a>=QCc&&a<=56319}function rwc(a){return a.a<a.c.a.length}function Iqc(a,b){Erc(a.a,a.a.length,b)}function F5(a,b){return a.b.contains(b)}function KBc(a,b){return new JBc(a.a,b)}function iE(a,b){return a!=null&&fE(a,b)}function Lmc(a){return a==null?KCc:fW(a)}function xvc(a){return a<
10?"0"+a:""+a}function Mmc(a){return Nmc(a,0,a.length)}function CV(a){return a.backingJsObject}function sA(a){a.f=sD(nT,bDc,139,0,0,1)}function jAc(){dAc.call(this,"Range",2)}function Ke(){ze.call(this,"NOT_NULL",3)}function Kd(a){if(!a)throw CV(new Mfb);}function Zd(a){if(!a)throw CV(new klc);}function Ut(a){if(!a)throw CV(new uyc);}function zBc(a,b){if(nBc)return;a.b=b}function $q(a,b){Aqc(a.a,Td(b));return a}function Lr(a,b){Aqc(a.a,Td(b));return a}function Kr(a,b){return Aqc(a.a,Td(b)),a}function aw(a,
b){return new jw(a.Pd(),b)}function Os(a){return a.Jd()?a.Kd():null}function rib(a,b,c){a.g=b;a.o=c;a.d=null}function xub(a,b,c){wub.call(this,a,b,c)}function J5(a){D5();I5.call(this,null,a)}function e9(a){W8();this.a=a;this.b=true}function gkc(){gkc=bW;ekc=false;fkc=true}function Cc(){Cc=bW;Bc=wlc(31);Ac=new Dc}function Pf(a){a.b.clear();a.d.b.clear()}function tNb(a){this.b=a;this.a=uNb(a.a)}function GYb(a){this.a=a;this.c=a.length}function cYb(a){yC.call(this,"Width:"+a)}function gpb(){dpb.call(this,
"REGION",1)}function et(){ke.call(this,"INSTANCE",0)}function kNb(a){hNb();return!!kp(KMb,a)}function lNb(a){hNb();return!!kp(JMb,a)}function Q$b(a){return!!a.d&&M_b(a.d,8)}function S$b(a){return!!a.d&&M_b(a.d,2)}function T$b(a){return!!a.d&&M_b(a.d,3)}function U$b(a){return!!a.d&&M_b(a.d,5)}function V$b(a){return!!a.d&&M_b(a.d,4)}function W$b(a){return!!a.d&&M_b(a.d,9)}function Y$b(a){return!!a.d&&M_b(a.d,0)}function Z$b(a){return!!a.d&&M_b(a.d,7)}function $$b(a){return!!a.d&&M_b(a.d,6)}function b_b(a){return!!a.d&&
M_b(a.d,1)}function ZKb(a,b){return a.a.contains(b)}function htc(a,b){return a.b.contains(b)}function yuc(a,b){return a.b.contains(b)}function omc(a,b){return a.lastIndexOf(b)}function mmc(a,b,c){return a.indexOf(b,c)}function Ic(a,b){return Gc(a,new $mc,b).a}function QPb(a,b){return GQb(a.g,0).c==b}function wf(a,b,c){return a.Wd().put(b,c)}function bf(a,b,c){return new ff(b,c,a.a)}function We(a,b){Td(b);return new hf(a,b)}function U1(a,b,c,d){O2(new x2(a,b,d,c))}function F3(a,b){Zd(b!=(q4(),p4));
a.Ub=b}function Fxc(a,b){if(a.a){Txc(b);Sxc(b)}}function Pj(a,b){this.a=a;Ij.call(this,b)}function tq(a,b){this.a=a;pq.call(this,b)}function at(a,b){this.a=b;pq.call(this,a)}function Uv(a,b){this.a=a;Ov.call(this,b)}function $v(a,b){this.a=a;Ov.call(this,b)}function jw(a,b){this.a=b;pq.call(this,a)}function icc(a){this.b=a;this.a=this.b.c}function wz(a){this.a=a;tz.call(this,a.a)}function Pz(a,b){this.a=a;pq.call(this,b)}function Xq(a,b){return a.a.getAtIndex(b)}function ilc(a){return imc(FCc,typeof a)}
function nmc(a){return imc(HCc,typeof a)}function JD(a){return a.l+a.m*iEc+a.h*jEc}function QA(a){PA();return a<128?OA[a]:-1}function Ts(a,b){Td(b);return new at(a,b)}function Y0(a,b){Td(a.M);return _4(a.$,b)}function Lw(a){xm(2,KDc);return new Ww(a)}function Mw(a){xm(2,KDc);return new Yw(a)}function Xjb(a){Lib();return hwc(Eib,a.j)}function Adb(a){var b;for(b=a.j;b;b=b.j);}function Dk(a){a.b.Ld();--a.d.f.d;ak(a.d)}function ls(a){ir.call(this);this.a=Td(a)}function _2(a,b){$2.call(this,a,a.Gg(),b)}
function avb(){ke.call(this,"RELATIVE",0)}function T6(){P6.call(this,"MULTILINE",2)}function Epb(){Apb.call(this,"SYMBOLS",1)}function zTb(a,b){ATb.call(this,a,b,null)}function obb(a,b){lbb();this.a=a;this.b=b}function Oxb(a,b){Zd(!a.d);a.d=b;return a}function Txb(a,b){Zd(!a.j);a.j=b;return a}function Uxb(a,b){Zd(!a.k);a.k=b;return a}function Qxb(a,b,c){Exc(a.f,b,c);return a}function hQb(a,b,c){wJb(a.c,yQb(a.g),b,c)}function U1b(a,b){T1b(a,b,a.b?a.b.f:null)}function vgc(a,b){wgc.call(this,a,b,null)}
function bnc(a){Tjc.call(this,(jCc(a),a))}function Etc(a){ktc.call(this,a);this.a=a}function Stc(a){Atc.call(this,a);this.a=a}function Tuc(a){cuc.call(this,a);this.a=a}function Xuc(a){vuc.call(this,a);this.a=a}function xA(){sA(this);tA(this);this.yf()}function kyc(a){Iwc.call(this,new Ixc(a))}function Byb(a,b){return Uu(b,new Fzb(a))}function DUb(a,b){a.k=b;return new CUb(a)}function Usc(a,b){return Hnc(a.a,b)!=null}function hwc(a,b){return!!b&&a.b[b.f]==b}function X$b(a){return!!a.d&&M_b(a.d,10)}
function HZb(a){return WZb((w7b(),w6b),a)}function uCc(a){return a.$H||(a.$H=++tCc)}function ymc(a,b,c){return a.substr(b,c-b)}function Amc(a,b,c){return a.substr(b,c-b)}function je(a){return a.e!=null?a.e:""+a.f}function Uh(a,b){return a.c.containsKey(b)}function xc(a,b){this.a=Td(a);this.b=Td(b)}function Dm(a,b){this.a=Td(a);this.b=Td(b)}function Gv(a,b){this.a=Td(a);this.b=Td(b)}function Wv(a,b){this.a=Td(a);this.b=Td(b)}function Jzc(a){this.a=a;wpc.call(this,a)}function rAc(a){qAc.call(this);
Mc(this,a)}function Bk(a,b,c,d){qk.call(this,a,b,c,d)}function S6(){P6.call(this,"SINGLELINE",1)}function V6(){P6.call(this,"SOURCELESS",3)}function kqc(a){if(!a)throw CV(new svc);}function hCc(a){if(!a)throw CV(new uyc);}function nCc(a){if(!a)throw CV(new klc);}function cCc(a){if(!a)throw CV(new Mfb);}function kB(a,b){this.i=a;this.a=new BB(b)}function K9(a,b,c){return Hbb(a.a,a.q,b,c)}function PPb(a,b,c){return GQb(a.g,b).c==c}function eFb(a,b){return fFb(a,cFb(a,b.b))}function M$b(a){return!!(!a.d?
null:a.d.a)}function Jqc(a){return OBc(a.a,a.a.length)}function krc(a,b){return mrc(a,a.length,b)}function lrc(a,b){return nrc(a,a.length,b)}function Mvb(){return(new Date).getTime()}function bBb(){bBb=bW;aBb=new eBb(new xwc)}function Axc(a){a.b=new Uxc(a);a.c=new xwc}function HBc(a){return a.c.exec(a.a)!=null}function fD(a){bD();return parseInt(a)||-1}function cvc(a){bvc();return a==$uc?null:a}function FQb(a){GQb(a,0);return Fqc(a.b,0)}function fy(a){var b;return vn(),b=a,Cp(b)}function nbb(a){lbb();
obb.call(this,a,kbb)}function J9b(a){Y7b.call(this,a);A9b(this)}function Uxc(a){Vxc.call(this,a,null,null)}function Rk(a,b,c){ck.call(this,a,b,c,null)}function Be(){ze.call(this,"ALWAYS_TRUE",0)}function kq(){Yf.call(this,new Hxc,new xwc)}function mh(a){this.a=a;this.b=Sf(this.a.d)}function ql(a){this.a=Td(a);this.b=wx(this)}function ec(a,b){Kd(b>=a);this.b=a;this.a=b}function Gk(a,b){this.d=a;Ck(this);this.b=b}function x5(a,b){this.a=a;this.c=b;this.b=0}function r7(a){j7();this.a=a;this.b=new gqc}
function n8(a){i8();this.a=a;this.b=new gqc}function M2(){this.c=new $mc;this.d=new Fwc}function Fkc(a){if(a.p!=null)return;Vkc(a)}function gmc(a){return Mmc(_Bc(a,a.length))}function Ynb(a,b){return he(D3(a.a.M),b)>=0}function cgb(a,b,c){return Hbb(a.a,a.d,b,c)}function cBb(a){bBb();return dBb(aBb,"_",a)}function MBb(a,b){KBb();return JBb[a.a|b.a]}function NBb(a,b){KBb();return JBb[a.a&b.a]}function hCb(a,b){return jBb(a,b)||jBb(b,a)}function jDb(a,b){return a.a.containsKey(b)}function cJb(a){return a.g==
a.d?a.c+a.a:a.a}function aLb(a,b){return new eLb(dy(a.a,b))}function b3(a,b){_2.call(this,new Tfb(a),b)}function Lzb(a,b){Fyb.call(this,a);this.a=b}function q4b(a,b){g3b.call(this,a);this.a=b}function Izb(a){this.b=a;this.a=hyb(this.b)}function YCb(a){this.a=(Sn(),new My(Td(a)))}function $1b(a){Td(a.e);D2b(a.e,a);return a}function Qm(a,b){var c;c=a.a;a.a=b;return c}function Z2(a,b){Kd(!b||!a.j||a.j==b);a.j=b}function v$(a,b){a.hg();b&&a.pg();a.r=false}function qvc(a,b){b.$modCount=a.$modCount}function Aoc(a,
b){return a.a.containsKey(b)}function Dwc(a,b){return a.a.containsKey(b)}function itc(a,b){return a.b.containsAll(b)}function iwc(a,b){return iE(b,14)&&jwc(a,b)}function gwc(a,b){return iE(b,14)&&hwc(a,b)}function mE(a,b){return a&&b&&a instanceof b}function Imc(a){return nE(a)?a.length:a.xj()}function fqc(a){return a.c-a.b&a.a.length-1}function wc(a,b){return a.a.Nd(b)||a.b.Nd(b)}function gE(a){return String.fromCharCode(a)}function hi(a){return iE(a,46)?a.Rd():a.Pd()}function El(a){this.e=a;this.c=
a.a.Xd().Pd()}function Sg(a){this.b=a;this.a=this.b.b.Xd()}function tvc(a){this.a=new $wnd.Date(RV(a))}function Tn(a,b){return new Yq(a,a.size(),b)}function qo(a,b){return a.$e().getAtIndex(b)}function NC(a,b,c){return a.apply(b,c);var d}function jkc(a,b){gkc();return a==b?0:a?1:-1}function sBc(a,b){if(nBc)return;Aqc(a.a,b)}function I1(a,b,c){c.b=a;return CAc(a.B,b,c)}function Rcb(a){this.b=a;this.a=rsc(new Qwc)}function Tfb(a){this.a=new ZZb(a.b);this.c=a}function um(){tm.call(this,new xwc);this.a=
3}function tyc(){yC.call(this,"no key found")}function Ee(){ze.call(this,"ALWAYS_FALSE",1)}function tn(){gn.call(this,(Io(),Io(),Ho),0)}function eUb(a){FTb.call(this,(gXb(),KVb),a)}function fUb(a){FTb.call(this,(gXb(),LVb),a)}function gUb(a){FTb.call(this,(gXb(),JVb),a)}function oUb(a){FTb.call(this,(gXb(),TVb),a)}function sUb(a){FTb.call(this,(gXb(),XVb),a)}function iVb(a){FTb.call(this,(gXb(),uWb),a)}function mVb(a){FTb.call(this,(gXb(),zWb),a)}function nVb(a){FTb.call(this,(gXb(),AWb),a)}function qXb(a){FTb.call(this,
(gXb(),NWb),a)}function vXb(a){FTb.call(this,(gXb(),SWb),a)}function $Xb(a){yC.call(this,"codePoint:"+a)}function Kcc(a){Hcc.call(this,a);this.a=null}function Ncc(a){Hcc.call(this,a);this.a=null}function rgc(){igc();sgc.call(this,new nzc)}function yCc(){yCc=bW;vCc=new ub;xCc=new ub}function Z0(a){!a.M&&r1(a,new J3);return a.j}function Uoc(a,b){var c;c=a.e;a.e=b;return c}function epc(a,b){var c;c=b;return!!a.Lj(c)}function exc(a,b){var c;c=a[HKc];c.call(a,b)}function fxc(a,b){var c;c=a[HKc];c.call(a,
b)}function sCc(b,c,d){try{b[c]=d}catch(a){}}function QBc(a,b){return VBc(new Array(b),a)}function mFb(a,b){return X1b(new g3b(b),a.t)}function Ewc(a,b){return a.a.remove(b)!=null}function pAc(a,b){return a.a.remove(b)!=null}function pmc(a,b,c){return a.lastIndexOf(b,c)}function uf(a,b){return a.Wd().containsKey(b)}function Rhc(a){return a.d.size()-a.e.size()}function Bxc(a){Jnc(a.c);a.b.b=a.b;a.b.a=a.b}function $j(a){a.b?$j(a.b):a.f.c.put(a.e,a.d)}function vX(a,b){DX((w7b(),m6b),b);TX(a,b.b)}function v_b(a,
b){if(!c_b(a))return;a.b.i=b}function w0b(a,b){a.e=true;return m$b(a.a,b)}function Lc(a,b,c){Td(c);return new vd(c,a,b)}function af(a){Td(a);return new $e(new cf(a))}function Jc(a){Td(a);return iE(a,374)?a:fW(a)}function lp(a){Io();this.d=(msc(),new cuc(a))}function Lp(a){vn();this.b=(msc(),new vuc(a))}function vn(){vn=bW;new Hn((msc(),msc(),ksc))}function r6(a,b){return iE(b,5)&&imc(b.b,a.b)}function rx(a,b){$l.call(this,a);this.a=Td(b)}function px(a,b){mi.call(this,a);this.a=Td(b)}function DW(a,
b,c){ke.call(this,a,b);this.a=c}function vd(a,b,c){this.b=a;this.a=b;this.c=c}function Iz(a,b,c){this.b=a;this.a=b;this.c=c}function s6(a,b,c){this.b=a;this.c=b;this.a=c}function RB(a,b,c){this.j=a;this.b=b;this.a=c}function EY(a,b,c){this.a=a;this.c=b;this.b=c}function nq(a,b,c){this.a=a;bh.call(this,b,c)}function Rnb(a){Onb();this.a=a;this.b=new xwc}function cpb(){cpb=bW;apb=new fpb;bpb=new gpb}function zpb(){zpb=bW;xpb=new Cpb;ypb=new Epb}function Ipb(){Ipb=bW;Gpb=new Lpb;Hpb=new Mpb}function bDb(){bDb=
bW;aDb=new dDb;_Cb=new fDb}function BHb(a){var b;b=a.n;a.n=null;return b}function Kbb(a,b){Ebb();!!b&&(a.k=b);return a}function AQb(a,b){return b>=0&&b<a.e.a.length}function YKb(a,b){return a.a.containsAll(b.a)}function $Kb(a,b){return new eLb(dy(a.a,b.a))}function dLb(a,b){return new eLb($x(a.a,b.a))}function $Yb(a,b){return dZb((w7b(),u4b),a,b)}function _Yb(a,b){return dZb((w7b(),v4b),a,b)}function nZb(a,b){return dZb((w7b(),v5b),a,b)}function jZb(a,b){return dZb((w7b(),d5b),a,b)}function yZb(a,
b){return dZb((w7b(),W5b),a,b)}function PZb(a,b){return dZb((w7b(),W6b),a,b)}function AZb(a,b){return dZb((w7b(),i6b),a,b)}function JZb(a,b){return dZb((w7b(),E6b),a,b)}function TZb(a,b){return dZb((w7b(),b7b),a,b)}function QZb(a){return new g4b((w7b(),$6b),a)}function RZb(a){return new g4b((w7b(),_6b),a)}function yqb(a){return PV(IV(Date.now()),a.a)}function v3b(a){return new g4b((w7b(),$6b),a)}function E7b(a){return new p4b((w7b(),A4b),a)}function eLb(a){var b;this.a=(vn(),b=a,Cp(b))}function nQb(a){this.b=
a;this.a=(Sn(),new ar)}function bYb(a){yC.call(this,"Precision: "+a)}function LB(a,b){MB(a,"file",false);a.a+=""+b}function e_b(a,b){!a.d&&(a.d=new O_b);a.d.a=b}function h_b(a,b){!a.d&&(a.d=new O_b);a.d.c=b}function n_b(a,b){!a.d&&(a.d=new O_b);a.d.g=b}function o_b(a,b){!a.d&&(a.d=new O_b);a.d.i=b}function p_b(a,b){!a.d&&(a.d=new O_b);a.d.j=b}function Ytc(a,b){return a.d.containsValue(b)}function kp(a,b){return b==null?null:gw(a.d,b)}function xfb(a,b){Kd(true);b.j=null;Gqc(a.d,b)}function ABc(a,b){if(nBc)return;
!!b&&(a.d=b)}function smb(a,b){this.c=a;this.b=b.b;this.a=b}function yab(a,b,c){this.a=a;this.b=b;this.c=c}function afb(a,b,c){this.a=a;this.c=b;this.b=c}function cob(a,b,c){this.b=a;this.c=b;this.a=c}function nnb(a,b,c){ke.call(this,a,b);this.a=c}function qub(a,b,c){ke.call(this,a,b);this.a=c}function wub(a,b,c){this.d=a;this.e=b;this.c=c}function lrb(){Dlb.call(this,"lateConvertEs6")}function TEb(a,b,c){ke.call(this,a,b);this.a=c}function vIb(a,b,c){this.c=a;this.b=b;this.a=c}function Fy(a){Td(a);
this.a=(msc(),new Xuc(a))}function flc(a){return kE(a)?(jCc(a),a):a.Ej()}function cDb(a){return Amc(a,0,lmc(a,Hmc(35)))}function Inb(a){return a.a.Hd()&&q2b(a.a.Gd())}function Ve(a){return new _e(a.c,true,a.d,a.a)}function G$b(a){return(wGc&a.a)==HDc?a.i:null}function IKb(a){GKb();return te((LKb(),KKb),a)}function bgb(){bgb=bW;agb=dLb((XKb(),PKb),OKb)}function msc(){msc=bW;ksc=new xsc;lsc=new Osc}function oyc(){oyc=bW;myc=new pyc;nyc=new ryc}function f_b(a){!a.d&&(a.d=new O_b);N_b(a.d,8)}function j_b(a){!a.d&&
(a.d=new O_b);N_b(a.d,2)}function k_b(a){!a.d&&(a.d=new O_b);N_b(a.d,3)}function l_b(a){!a.d&&(a.d=new O_b);N_b(a.d,5)}function m_b(a){!a.d&&(a.d=new O_b);N_b(a.d,4)}function q_b(a){!a.d&&(a.d=new O_b);N_b(a.d,9)}function t_b(a){!a.d&&(a.d=new O_b);N_b(a.d,0)}function w_b(a){!a.d&&(a.d=new O_b);N_b(a.d,7)}function x_b(a){!a.d&&(a.d=new O_b);N_b(a.d,6)}function C_b(a){!a.d&&(a.d=new O_b);N_b(a.d,1)}function g4b(a,b){g3b.call(this,a);e4b(this,b)}function K9b(a,b){Z7b.call(this,a,b);A9b(this)}function ATb(a,
b,c){ke.call(this,a,b);this.a=c}function Scc(a,b,c){ke.call(this,a,b);this.a=c}function XTb(a,b,c){this.c=a;this.a=b;this.b=c}function kwc(a,b,c){this.a=a;this.b=b;this.c=c}function wxc(a,b,c){this.a=a;this.b=b;this.c=c}function g3b(a){this.j=a;this.e=null;this.i=-1}function Fk(a){this.d=a;Ck(this);this.b=hi(a.d)}function TX(a,b){while(b){SX(a,b,false);b=b.d}}function dCc(a,b){if(!a)throw CV(new Nfb(b));}function sl(a,b){if(!a)return 0;return Qm(a,b)}function Cs(a,b){Td(a);Td(b);return new Es(a,b)}
function Hr(a,b,c){wm(b,c);Wh(a.a,b,c);return a}function acc(a,b){a.f=qec(a.d,b,null);return a}function Okc(){var a;a=Lkc(null);a.i=2;return a}function Su(a){var b;b=new Lqc;Gs(b,a);return b}function W0(a){var b;b=a.M.G;b=b?b:a.g;return b}function TW(a){var b;b=b2b(a);0!=b&&cY(rEc+b,a)}function imb(a,b){a.r=b;a.a=tY(new AY(a.b),a.d)}function Fmc(a,b){return nE(a)?dmc(a,b):a.wj(b)}function OV(a,b){return FV(TD(JV(a)?QV(a):a,b))}function C1(a,b){return D1(a,EFc+ ++a.V+"] ",b)}function Xhc(a,b,c){return b==
c||b==Nhc(a.c,c)}function ikc(a){gkc();return imc(ECc,typeof a)}function bLb(a,b){return new eLb(dy(a.a,Ep(b)))}function Zpc(a){return a.a[a.c-1&a.a.length-1]}function qtb(a){ltb();this.b=a;this.a=new aY(a)}function Qzb(a,b){Fyb.call(this,a);this.a=Td(b)}function Vzb(a,b){Fyb.call(this,a);this.a=Td(b)}function xNb(a,b,c){gMb.call(this,a,c);this.a=b}function K3b(a,b,c){J3b.call(this,a,c);this.a=b}function U3b(a,b,c){J3b.call(this,a,c);this.a=b}function pab(a){this.i=a;oab(this);this.a=false}function Vxc(a,
b,c){this.c=a;_oc.call(this,b,c)}function SBc(a,b,c){PBc(c,0,a,b,c.length,false)}function Aqc(a,b){a.a[a.a.length]=b;return true}function r_b(a){!a.d&&(a.d=new O_b);N_b(a.d,10)}function To(a,b){Io();wm(a,b);return new Pq(a,b)}function ap(a,b){return Io(),wm(a,b),new Gy(a,b)}function Ozc(a,b){return!!b&&Pzc(a,b.d)?b:null}function bA(a,b){return b<a.e.length&&a.e[b]!=-1}function Br(a){this.b=a;this.a=Jo(this.b.a).Xe()}function xrb(){Dlb.call(this,"convertEs7ToEs6")}function irb(){Dlb.call(this,"earlyConvertEs6")}
function frb(){Dlb.call(this,"es6ConvertSuper")}function Jrb(){Dlb.call(this,"Es6RewriteClass")}function uc(){qc.call(this,"CharMatcher.none()")}function Sqb(){Dlb.call(this,"es6RewriteModule")}function Yqb(){Dlb.call(this,"RewritePolyfills")}function oib(a,b){Lib();hwc(Dib,b.j)&&Ppc(a.b,b)}function ccb(a,b){return xmc(b,a.f+"_const"+LHc)}function iFb(a,b){return!!a.b&&a.b.a.a.c<=b.b.c}function zdb(a){return!a.j?a.b:zdb(a.j)+"."+a.b}function nFb(a,b,c){return X1b(new i3b(b,c),a.t)}function rFb(a,
b,c){return X1b(new g4b(b,c),a.t)}function kQb(a,b,c){lQb.call(this,a,b,c,0,false)}function QQb(a,b){a.b.a=sD(lT,bDc,1,0,5,1);a.d=b}function Lnb(){this.a=(Db(),Db(),Cb);this.d=this}function fYb(a){throw CV(new _Xb(a.b.b,yb(a.a)));}function WYb(){WYb=bW;VYb=$wnd.JSON.parse(ZYb())}function Mkc(a){var b;b=Lkc(a);Zkc(a,b);return b}function SV(a){if(JV(a))return a|0;return WD(a)}function V2(a){if(a.f)return a.n;return T2(a).d}function WZb(a,b){Zd(BZb(b));return new i3b(a,b)}function $ac(a,b){!a.n&&(a.n=
new Lqc);Aqc(a.n,b)}function Erc(a,b,c){fCc(b,a.length);Crc(a,0,b,c)}function yec(a,b){zec(a,b,b.zi(new $mc,false).a)}function Zhc(a,b){Yhc.call(this,a,b);this.b=true}function Txc(a){a.a.b=a.b;a.b.a=a.a;a.a=a.b=null}function Ej(a){this.c=a;this.b=this.c.a.Xd().Pd()}function Js(a){Td(a);while(a.Jd()){a.Kd();a.Ld()}}function My(a){Sn();this.a=(msc(),new dtc(Td(a)))}function Jt(a){if(a.c.e!=a.a)throw CV(new svc);}function tu(a){if(a.e.c!=a.b)throw CV(new svc);}function W_(a){if(a.n>0){Pmc(a.i,10);++a.k;
a.n=0}}function z1(a){a.Q=0;Q4(a.M);u1(a);A1(a);a.Q=.15}function i1(a){!a.T&&(a.T=v1(a,GFc,0));return a.T}function w_(a,b){a.c=b;a.d=b.uc;a.b=b.Wb;return a}function TV(a){if(JV(a))return""+a;return XD(a)}function qgb(a){sW();rgb.call(this,a,(cpb(),apb))}function tgb(a,b){gY.call(this);this.a=a;this.b=b}function Grb(){Dlb.call(this,"Es6ExtractClasses")}function rrb(){Dlb.call(this,"rewriteGenerators")}function Drb(){k2.call(this,"es6SuperCheck",true)}function o2(){k2.call(this,"validityCheck",false)}
function Kub(a,b,c,d){Lub.call(this,a,b,c,d,null)}function xJb(a,b,c,d){var e;e=wYb(c,d);a.ni(b,e)}function f_(a,b){var c;c=g2b(b,81);!!c&&a.Ag(c,4)}function uD(a){return Array.isArray(a)&&a.Sj===gW}function r2b(a){return a.j==(w7b(),C6b)||a.j==z4b}function R$b(a){return(a.a&512)!=0||(a.a&IGc)!=0}function Rec(a,b){return b?b:vec(a.e,(dec(),_dc))}function iec(a,b,c){return hec(a,b,pec(a,true,c))}function kec(a,b,c){return jec(a,b,pec(a,true,c))}function Kyb(a,b){ayb();return rzb(a,1,$xb,b,Zxb)}function rjc(a,
b){M7b();J9b.call(this,a);this.a=b}function Cqc(a,b){iCc(b,a.a.length);return a.a[b]}function Xmc(a,b){a.a+=Nmc(b,0,b.length);return a}function Z0b(a,b){o_b(a.a,b);a.e=true;return true}function jgc(a,b){var c;c=rsc(new Qwc);kgc(a,b,c)}function urc(a,b){var c;for(c=0;c<b;++c)a[c]=-1}function wrc(a,b){var c;for(c=0;c<b;++c)a[c]=-1}function lyc(a){Iwc.call(this,new Hxc);Mc(this,a)}function I1b(a){H1b.call(this,new E_b(a),a,false)}function $e(a){_e.call(this,a,false,(tc(),sc),ICc)}function Xvc(a){this.c=
a;this.a=new twc(this.c.a)}function igc(){igc=bW;hgc=new sgc((Io(),Io(),Ho))}function iDb(){iDb=bW;hDb=new kDb((Io(),Io(),Ho))}function Zeb(){Zeb=bW;Yeb=new afb(null,false,null)}function Dkc(){Dkc=bW;Ckc=sD(WS,bDc,151,128,0,1)}function Dlc(){Dlc=bW;Clc=sD(dT,bDc,130,256,0,1)}function Plc(){Plc=bW;Olc=sD(gT,bDc,152,256,0,1)}function glc(a){return kE(a)?pE((jCc(a),a)):a.Fj()}function hE(a){return!Array.isArray(a)&&a.Sj===gW}function Vw(a){return new px(a.a.tf(),new Rw(a.b))}function Hnc(a,b){return nE(b)?
Inc(a,b):Zwc(a.d,b)}function Hfc(a,b,c,d){return H8b(a,b,c,d)||!b.Mi()}function CFb(a,b){p3b(a.i)==-1&&DFb(a,b.o.b,b.o.a)}function F2b(a){var b;b=a.b;!!b&&D2b(a,b);return b}function HHb(a){var b;b=eJb(a.i);a.n=null;return b}function kfb(a){a.j==(w7b(),P4b)&&(a=a.b);return a}function $C(a,b){!a&&(a=[]);a[a.length]=b;return a}function ml(a,b){var c;c=gw(a.a,b);return!c?0:c.a}function Dvc(a,b,c){ewc(a.a,b);return Fvc(a,b.f,c)}function zqc(a,b,c){lCc(b,a.a.length);RBc(a.a,b,c)}function iqc(a){hqc.call(this,
a.size());Mc(this,a)}function kBc(a,b){this.a=a;this.b=b;IV(Date.now())}function qjc(a,b){this.a=new Lqc;this.i=a;this.g=b}function Dyc(a){this.b=new Mqc(1);this.a=(bvc(),a)}function qk(a,b,c,d){this.a=a;ck.call(this,a,b,c,d)}function Lk(a,b){this.a=a;Gk.call(this,a,a.d.Sd(b))}function mxc(a,b){return!(a.a.get(b)===undefined)}function po(a,b){return b!=null&&a.$e().contains(b)}function Ze(a,b){Td(b);return new _e(a.c,a.b,b,a.a)}function Ko(a){if(a.f)return a.f;return a.f=a.af()}function Jo(a){if(a.e)return a.e;
return a.e=a._e()}function Ih(a){var b;b=a.g;return!b?a.g=a.re():b}function Vi(a){var b;b=a.c;return!b?a.c=a.Ge():b}function wn(a){var b;b=a.c;return!b?a.c=a.We():b}function Pkc(a){var b;b=Lkc(a);b.o=a;b.i=1;return b}function V$(a,b){var c;for(c=b;c;c=c.d)a.Ag(c,4)}function vrc(a,b,c){var d;for(d=0;d<b;++d)a[d]=c}function Q0(a,b,c){var d;d=rJb(b,a.M.nc,c);return d}function Xf(a,b,c,d){a.d.b.remove(c);a.d.b.put(d,b)}function jA(a,b,c){iA.call(this,new cA(a,Bmc(b)),c)}function rA(a,b,c){qA.call(this,
new cA(a,Bmc(b)),c)}function gA(a,b){return SV(GV(DV(LV(a.b.a,b),7),8))}function MD(a,b){return AD(a.l&b.l,a.m&b.m,a.h&b.h)}function YD(a,b){return AD(a.l^b.l,a.m^b.m,a.h^b.h)}function z2b(a,b){return b!=null&&A2b(a,b,b.length)}function FYb(a){throw CV(new PYb(Amc(a.a,a.d,a.b)));}function Egb(a){this.b=new gqc;this.c=a;this.a=true}function vlb(a){this.c=new xwc;this.b=a;this.a=true}function gY(){this.e=new Dyc(new nY);this.c=new Fwc}function yA(a){sA(this);this.e=a;tA(this);this.yf()}function zA(a){sA(this);
this.e=a;tA(this);this.yf()}function P3b(a){g3b.call(this,(w7b(),z6b));this.a=a}function Fac(a,b,c){Hac.call(this,a,b,c,false,null)}function xrc(a,b){var c;for(c=0;c<b;++c)a[c]=null}function ugc(a,b){a.d=b;iE(b,47)?a.c=b:a.c=null}function vfb(a,b){Aqc(a.d,b);Kd(!b.j||b.j==a);b.j=a}function Anc(a,b){return Bnc(a,b,a.e)||Bnc(a,b,a.d)}function Flc(a,b){return EV(a,b)<0?-1:EV(a,b)>0?1:0}function xmc(a,b){return imc(a.substr(0,b.length),b)}function Hwc(a){this.a=new ywc(a.size());Mc(this,a)}function ozc(a){this.b=
null;this.a=(bvc(),!a?$uc:a)}function Tk(a,b,c){this.a=a;ck.call(this,a,b,c,null)}function Ur(a,b){Sn();Tr.call(this,a,oo(new Prc(b)))}function kCc(a,b){if(a==null)throw CV(new Tlc(b));}function _eb(a,b){return b==a.c?a:new afb(a.a,b,a.b)}function ifb(a,b,c){return c?"{"+lfb(a,c.a)+"} "+b:b}function Rib(a,b,c){Lib();return ojb(a,new Ekb(b),c)}function Pjb(a,b,c){Lib();return ojb(a,new Bkb(b),c)}function Mub(a,b,c){Kub.call(this,a,b,($ub(),Zub),c)}function Atb(a){ttb();vtb.call(this,BGc,null,a,null)}
function Nqc(a){yqc(this);SBc(this.a,0,a.toArray())}function Qvb(){gY.call(this);this.a=U6((O6(),false))}function wzb(a){if((a&24)!=0)return a|8|16;return a}function Tob(a){var b;b=a;while(b.c)b=b.c;return b}function PNb(a){var b;b=FQb(a.g);a.f=b.b.a;return b}function U6(a){var b;b=(sW(),new pgb);b.d=a;return b}function VA(a){var b;b=(a&1)==1;a=a>>1;return b?-a:a}function ie(a){var b,c;b=a.Qj;c=b.f;return c==ZS?b:c}function N_b(a,b){var c;c=(Ld(b>=0,jLc),1<<b);a.o|=c}function yFb(a,b){a.i&&a.d.kh(IIc,
a.r,b.b.b+1,b.b.a)}function DX(a,b){b.j!=a&&cY(tEc+a+" but was "+b.j,b)}function znc(a,b){return nE(b)?Enc(a,b):!!Xwc(a.d,b)}function oFb(a,b,c,d){return X1b(new k3b(b,c,d),a.t)}function L9b(a){M7b();return!a?null:iE(a,47)?a:null}function a1(a){return!!a.G&&a.J.a.length>1?a.G:null}function Mhc(a){return a.d.Ze(a.e.size(),a.d.size())}function Jnc(a){a.d=new $wc(a);a.e=new qxc(a);rvc(a)}function cqc(a){var b;b=$pc(a);hCc(b!=null);return b}function Fvc(a,b,c){var d;d=a.b[b];a.b[b]=c;return d}function Yq(a,
b,c){this.a=a;Xd(c,b);this.c=b;this.b=c}function vq(a,b){this.a=a;this.b=b;this.c=this.b.de()}function Dy(a,b){this.b=a;this.c=b;this.a=this.b.Pd()}function qA(a,b){iA.call(this,a,b);Kd(a.c.length==64)}function wB(a,b,c,d,e){rB.call(this,a,b,c,d);this.a=e}function j9b(a,b,c){M7b();k9b.call(this,a,b,c,false)}function npb(a,b){hpb();return new tpb((new spb,a),b)}function _0(a,b){if(!b)return null;return BAc(a.B,b)}function W7b(a){if(iE(a,85))return a.p;return false}function Td(a){if(a==null)throw CV(new Rlc);
return a}function hcc(a){this.b=new g3b((w7b(),G6b));this.a=a}function qFb(a,b){return X1b(new P3b((jCc(b),b)),a.t)}function vyb(a,b){return oDb(a.Ih(),b)||oDb(a.Ch(),b)}function p2b(a){return a.j==(w7b(),G5b)&&e2b(a,60)!=0}function q2b(a){return a.j==(w7b(),G5b)&&e2b(a,61)!=0}function oAc(a,b){return a.a.put(b,(gkc(),ekc))==null}function Ssc(a,b){return Fnc(a.a,b,(gkc(),fkc))==null}function Cwc(a,b){var c;c=a.a.put(b,a);return c==null}function OBc(a,b){var c;c=a.slice(0,b);return wD(c,a)}function Rf(a){var b;
b=a.c;return!b?a.c=new Sg(a):b}function Sf(a){var b;b=a.e;return!b?a.e=new fh(a):b}function ev(a,b){var c;c=a.a.size();Xd(b,c);return c-b}function pr(a,b){return wn(Jo(a.a)).getAtIndex(b).ce()}function it(){dt();return vD(qD(NG,1),gDc,306,0,[ct])}function Sn(){Sn=bW;vn();Rn=new Rx((msc(),msc(),ksc))}function Wx(){Wx=bW;vn();Vx=new Xx((msc(),msc(),lsc))}function Ir(){Jr.call(this,Vw(Lw((xm(8,IDc),new Pw))))}function urb(){Dlb.call(this,"rewriteAsyncFunctions")}function Dc(){qc.call(this,"CharMatcher.whitespace()")}
function Qfb(a,b,c){Nfb.call(this,a);this.b=b;this.a=c}function h4b(a,b,c,d){h3b.call(this,a,c,d);e4b(this,b)}function wgc(a,b,c){K9b.call(this,a,c);ugc(this,Td(b))}function Gac(a,b,c,d,e){M7b();Hac.call(this,a,b,c,d,e)}function kmc(a,b,c,d,e){while(b<c)d[e++]=dmc(a,b++)}function wQb(a,b,c){return new gMb(b,sNb(a.e.b,c,a.d))}function Cnc(a,b){return nE(b)?Dnc(a,b):Ii(Xwc(a.d,b))}function Omc(a,b){return a.a+=String.fromCharCode(b),a}function Pmc(a,b){a.a+=String.fromCharCode(b);return a}function Rjc(a,
b){Qjc(a,b,b+1,String.fromCharCode(32))}function frc(a){nCc(a.b!=-1);Fqc(a.c,a.a=a.b);a.b=-1}function E9b(a){var b;b=new qAc;jgc(a.hj(),b);return b}function Vpc(a){var b;b=a.a[a.b];hCc(b!=null);return b}function WBc(a,b){var c;c=console[a];c.call(console,b)}function isc(a,b){var c;c=b+1;c>a.length&&(a.length=c)}function Bdb(a,b){this.b=a;this.j=b;this.q=(Kdb(),Idb)}function pmb(a){this.f=a;this.d=new Lqc;this.c=new Fwc}function Yfb(a){this.b=new Lqc;this.c=new Lqc;this.a=a}function Cd(a){this.b=new Ed;
this.c=this.b;this.a=Td(a)}function jCc(a){if(a==null)throw CV(new Rlc);return a}function ey(a){if(iE(a,300))return a;return new Fy(a)}function nl(a){var b;b=a.a.Xd().Pd();return new vl(a,b)}function Fd(a,b){return oE(a)===oE(b)||a!=null&&wb(a,b)}function Uf(a,b){return a.b.containsKey(b)?Vf(a,b):null}function V1(a,b){!a.M&&r1(a,new J3);return W1(a,b,true)}function tBc(a,b){if(!lBc)return;yBc(a,(RAc(),NAc),b)}function wBc(a,b){if(!mBc)return;yBc(a,(RAc(),OAc),b)}function BBc(a,b){if(!oBc)return;yBc(a,
(RAc(),PAc),b)}function CBc(a,b){if(!pBc)return;yBc(a,(RAc(),QAc),b)}function SW(a,b){var c;c=b2b(a);b!=c&&cY(tEc+b+uEc+c,a)}function lfb(a,b){var c;c=new $mc;gfb(a,c,b);return c.a}function Bjb(a){Lib();return a.j==(w7b(),F5b)||a.j==E5b}function Djb(a){Lib();return a.j==(w7b(),M5b)||a.j==L5b}function Wjb(a){Lib();return a.j!=(w7b(),m6b)&&Xjb(a.e)}function G5(a){D5();this.a=null;this.b=(vn(),new Py(a))}function vbb(a,b,c){this.a=a;this.c=b;this.d=c;Zd(true)}function Kt(a){this.c=a;this.b=this.c.a;
this.a=this.c.e}function cs(a,b){bs();lp.call(this,a);this.a=b;this.c=a}function HTb(a,b){FTb.call(this,(gXb(),tVb),a);this.a=b}function ITb(a,b){FTb.call(this,(gXb(),uVb),a);this.a=b}function JTb(a,b){FTb.call(this,(gXb(),vVb),a);this.a=b}function KTb(a,b){FTb.call(this,(gXb(),wVb),a);this.a=b}function LTb(a,b){FTb.call(this,(gXb(),xVb),a);this.a=b}function MTb(a,b){FTb.call(this,(gXb(),yVb),a);this.a=b}function NTb(a,b){FTb.call(this,(gXb(),zVb),a);this.a=b}function PTb(a,b){FTb.call(this,(gXb(),
BVb),a);this.a=b}function QTb(a,b){FTb.call(this,(gXb(),CVb),a);this.a=b}function WTb(a,b){FTb.call(this,(gXb(),IVb),a);this.a=b}function nUb(a,b){FTb.call(this,(gXb(),SVb),a);this.a=b}function pUb(a,b){FTb.call(this,(gXb(),UVb),a);this.a=b}function wUb(a,b){FTb.call(this,(gXb(),_Vb),a);this.a=b}function xUb(a,b){FTb.call(this,(gXb(),aWb),a);this.a=b}function BUb(a,b){FTb.call(this,(gXb(),bWb),a);this.a=b}function XUb(a,b){FTb.call(this,(gXb(),hWb),a);this.a=b}function ZUb(a,b){FTb.call(this,(gXb(),
jWb),a);this.a=b}function eVb(a,b){FTb.call(this,(gXb(),qWb),a);this.a=b}function kVb(a,b){FTb.call(this,(gXb(),xWb),a);this.a=b}function oVb(a,b){FTb.call(this,(gXb(),BWb),a);this.a=b}function pVb(a,b){FTb.call(this,(gXb(),CWb),a);this.a=b}function qVb(a,b){FTb.call(this,(gXb(),DWb),a);this.a=b}function sVb(a,b){FTb.call(this,(gXb(),FWb),a);this.a=b}function lXb(a,b){FTb.call(this,(gXb(),IWb),a);this.a=b}function mXb(a,b){FTb.call(this,(gXb(),JWb),a);this.a=b}function nXb(a,b){FTb.call(this,(gXb(),
KWb),a);this.a=b}function pXb(a,b){FTb.call(this,(gXb(),MWb),a);this.a=b}function tXb(a,b){FTb.call(this,(gXb(),QWb),a);this.a=b}function uXb(a,b){FTb.call(this,(gXb(),RWb),a);this.a=b}function wXb(a,b){FTb.call(this,(gXb(),TWb),a);this.a=b}function zXb(a,b){FTb.call(this,(gXb(),XWb),a);this.a=b}function AXb(a,b){FTb.call(this,(gXb(),YWb),a);this.a=b}function DXb(a,b){FTb.call(this,(gXb(),$Wb),a);this.a=b}function HXb(a,b){FTb.call(this,(gXb(),cXb),a);this.a=b}function iMb(a,b){gMb.call(this,(xTb(),
fSb),a);this.a=b}function Mrb(){Dlb.call(this,"Es6RewriteDestructuring")}function Vqb(){Dlb.call(this,"Es6RewriteArrowFunction")}function oA(){nA.call(this,new cA("base16()",Bmc(XCc)))}function fyc(a){this.c=a;this.b=a.a.b.a;qvc(a.a.c,this)}function Z7b(a,b){this.B=a;this.C=!b?qec(a,null,null):b}function Es(a,b){this.a=a;this.b=b;this.c=(Db(),Db(),Cb)}function _e(a,b,c,d){this.c=a;this.b=b;this.d=c;this.a=d}function tt(a,b,c,d){Pq.call(this,a,b);this.d=c;this.a=d}function Pzc(a,b){return dzc(a.c,
a.f,b,a.b,a.a,a.e,a.d)}function Uu(a,b){return iE(a,67)?new Gv(a,b):new Wv(a,b)}function Gmc(a){return String.fromCharCode.apply(null,a)}function dmc(a,b){qCc(b,a.length);return a.charCodeAt(b)}function tkc(a){var b;b=a-10;return(b<0?48+a:97+b)&SCc}function dv(a,b){var c;c=a.a.size();Sd(b,c);return c-1-b}function Cvc(a){Oc(a.a);a.b=sD(lT,bDc,1,a.b.length,5,1)}function Ek(a){_j(a.d);if(a.d.d!=a.c)throw CV(new svc);}function Yx(a){Lp.call(this,a);this.a=(msc(),new Xuc(a))}function b5(a){a5.call(this,
(Sn(),Td(a),$n(new Prc(a))))}function M_(a,b,c,d){E_.call(this,c,d);this.a=a;this.c=b}function x2(a,b,c,d){this.a=a;this.b=b;this.d=c;this.c=d}function pC(a,b,c,d){this.c=a;this.d=b;this.b=c;this.a=d}function Kob(a,b,c,d,e){L1(a.a,Hob(a,b,c,d,e,(pZ(),mZ)))}function Lob(a,b,c,d,e){L1(a.a,Hob(a,b,c,d,e,(pZ(),oZ)))}function EEb(a,b,c,d){DEb.call(this,a,(JEb(),IEb),b,c,d)}function pFb(a,b,c,d,e){return X1b(new l3b(b,c,d,e),a.t)}function sFb(a,b){return X1b(new g4b((w7b(),$6b),b),a.t)}function _ub(){$ub();
return vD(qD(UN,1),gDc,266,0,[Zub])}function t0(){r0();return vD(qD(EJ,1),gDc,270,0,[p0,q0])}function X3(){V3();return vD(qD(VJ,1),gDc,258,0,[T3,U3])}function g4(){e4();return vD(qD(XJ,1),gDc,259,0,[d4,c4])}function sw(){qw();return vD(qD(nH,1),gDc,189,0,[ow,pw])}function Io(){Io=bW;Ho=new Ux(vD(qD(RU,1),CDc,48,0,[]))}function e4(){e4=bW;d4=new f4(qEc,0);c4=new f4("AUTO",1)}function hec(a,b,c){return Xbc(_bc($bc(new ccc(a),c),b))}function iac(a,b,c,d){return H8b(a,b,c,d)||a.d.Si(b,c,d)}function Qjc(a,
b,c,d){a.a=Amc(a.a,0,b)+(""+d)+zmc(a.a,c)}function JHb(a,b){a.n=!a.n?dJb(a.i):BHb(a);return a.n==b}function nec(a,b){var c;c=new hcc(a);dcc(c,b);return c.b}function qjb(a){Lib();Kd(a.j==(w7b(),k7b));return o2b(a)}function ylc(a,b){while(b-- >0)a=a<<1|(a<0?1:0);return a}function Ztc(a){!a.b&&(a.b=new Buc(a.d.Xd()));return a.b}function uqc(a){this.d=a;this.a=this.d.b;this.b=this.d.c}function sRb(a,b){this.c=a;this.a=b;this.b=new tNb(this)}function vyc(a,b){return oE(a)===oE(b)||a!=null&&wb(a,b)}function Fnc(a,
b,c){return nE(b)?Gnc(a,b,c):Ywc(a.d,b,c)}function tsc(a){msc();return!a?(bvc(),bvc(),avc):a.Se()}function NZb(a){Zd(BZb(a));return new i3b((w7b(),R6b),a)}function UZb(a){Zd(BZb(a));return new i3b((w7b(),i7b),a)}function YZb(a){Zd(BZb(a));return new i3b((w7b(),v7b),a)}function yTb(a){return a.a==null?(hNb(),kp(KMb,a)).b:a.a}function Evc(a,b){return iwc(a.a,b)?Fvc(a,b.f,null):null}function p6(a,b){var c;c=new H5(a,b);Gnc(m6,a,c);return c}function q6(a,b){var c;c=new I5(a,b);Gnc(m6,a,c);return c}function Vk(a){var b;
b=a.c;!b&&(a.c=b=new Tl(a));return b}function Wk(a){var b;b=a.d;!b&&(a.d=b=new Xl(a));return b}function Oc(a){var b;for(b=a.Pd();b.Jd();){b.Kd();b.Ld()}}function X2(a){if(!a.a||!a.a.Kg())return;a.a.Kg().c=true}function K1b(a){if(!a)return new I1b(true);return J1b(a)}function wYb(a,b){var c;c=new vYb;gYb(c,a,b);return c.c.a}function wJb(a,b,c,d){var e;a.d=true;e=wYb(c,d);a.mi(b,e)}function QXb(a,b,c,d){this.d=a;this.c=b;this.b=c;this.a=d}function egc(a,b,c,d){this.c=a;this.e=b;this.b=c;this.d=d}function _lc(a,
b,c){this.a=eEc;this.d=a;this.b=b;this.c=c}function iNb(a,b,c,d){ke.call(this,a,b);this.b=c;this.a=d}function cMb(a,b,c,d){ke.call(this,a,b);this.a=c;this.b=d}function ylb(){k2.call(this,"garbageCollectChecks",true)}function uA(a,b){a.backingJsObject=b;b!=null&&sCc(b,VDc,a)}function Inc(a,b){return b==null?Zwc(a.d,null):pxc(a.e,b)}function qmc(a,b){return(new RegExp("^("+b+")$")).test(a)}function Jmc(a,b,c){return nE(a)?a.substr(b,c-b):a.yj(b,c)}function E3(a,b){return YKb(s4(a.Ub),b)&&!YKb(s4(D3(a)),
b)}function xQb(a){return a.b.a.length==0?a.d:GQb(a,0).b.b.c}function lt(a){var b;return b=a.g,!b?a.g=new Pj(a,a.c):b}function bD(){bD=bW;var a,b;b=!gD();a=new oD;aD=b?new hD:a}function bvc(){bvc=bW;$uc=new dvc;_uc=new dvc;avc=new hvc}function ric(){ric=bW;oic=new uic;pic=new yic;qic=new Cic}function V3(){V3=bW;T3=new W3(YFc,0);U3=new W3("CUSTOM",1)}function B_(a){this.c=new J3;this.a=new C_(this);this.f=a}function rgb(a,b){wW.call(this,a);ngb(this);Td(a);this.a=b}function jnb(a,b,c){var d;nnb.call(this,
a,b,(d=c,w7b(),d))}function knb(a,b,c){var d;nnb.call(this,a,b,(d=c,w7b(),d))}function lnb(a,b,c){var d;nnb.call(this,a,b,(d=c,w7b(),d))}function cLb(a,b){return new eLb($x(a.a,(vn(),new Py(b))))}function W1b(a){return!a.b?(msc(),msc(),lsc):new Z3b(a.b)}function $lb(a){var b;b=new Ylb;T$(new l_(b),a,4);return b}function Vxb(a,b){Td(b);Zd(a.n.a.isEmpty());a.n=b;return a}function ak(a){a.b?ak(a.b):a.d.isEmpty()&&a.f.c.remove(a.e)}function D3(a){if(a.Vb==(q4(),p4))return a.Ub;return a.Vb}function S_(a,
b){if(b||D3(a)==(q4(),k4))return 1;return 0}function Bs(a){if(a)return a.isEmpty();return!a.Pd().Jd()}function ny(a){return Dp(new grc(Nr(Nr(new Or,a.a),a.b).a))}function oZb(a){$d(BZb(a),a);return new i3b((w7b(),B5b),a)}function tfb(a,b,c,d,e,f){return new ofb(a,null,b,c,e,d,f)}function YXb(a,b){VXb();var c;c=XXb(a);++c.a;c.b=DV(c.b,b)}function wA(a,b){var c;c=Hkc(a.Qj);return b==null?c:c+WDc+b}function yu(a){this.b=a;this.c=a;a.e=null;a.c=null;this.a=1}function Hvc(a){this.a=fwc(a.a);this.b=OBc(a.b,
a.b.length)}function jr(a){this.b=(xm(a,"initialArraySize"),new Mqc(a))}function SC(a){MC();$wnd.setTimeout(function(){throw a;},0)}function H3(a){return hkc(Eb((gkc(),r4(D3(a))?true:false)))}function UV(a,b){return FV(YD(JV(a)?QV(a):a,JV(b)?QV(b):b))}function rW(){pW();return vD(qD(hJ,1),gDc,212,0,[mW,oW,nW])}function rZ(){pZ();return vD(qD(tJ,1),gDc,219,0,[mZ,oZ,nZ])}function b4(){_3();return vD(qD(WJ,1),gDc,216,0,[Y3,Z3,$3])}function B4(){z4();return vD(qD($J,1),gDc,217,0,[w4,y4,x4])}function P4(){N4();
return vD(qD(aK,1),gDc,218,0,[L4,K4,M4])}function KW(){IW();return vD(qD(lJ,1),gDc,223,0,[GW,HW,FW])}function LHb(a,b){return X1b(new h3b(b,a.i.g,cJb(a.i)),a.k)}function P7b(a,b){return iE(b,23)&&O7b(a,b,0,new Kcc(true))}function I9(a,b){var c;c=new pab(a);zib(a.c,b,c);return c.d}function a2b(a,b){var c;c=a.b;while(b>0){c=c.d;--b}return c}function b2b(a){var b,c;b=0;for(c=a.b;c;c=c.d)++b;return b}function fib(a){while(!!a&&a.j!=(w7b(),U6b))a=a.e;return a}function Ymc(a,b){a.a=Amc(a.a,0,b)+""+zmc(a.a,
b+1);return a}function gxb(a){Zd(!(a==a.a.v||a==a.a.g));return a.i.size()}function noc(a){hCc(a.b>0);return a.a.getAtIndex(a.c=--a.b)}function wsc(a){msc();return iE(a,67)?new Suc(a):new Etc(a)}function qs(){qs=bW;vn();ps=(Ex(),Dx);os=new Yx(new sAc(ps))}function ye(){ye=bW;ve=new Be;ue=new Ee;we=new He;xe=new Ke}function O6(){O6=bW;K6=new R6;M6=new S6;L6=new T6;N6=new V6}function BCc(){if(wCc==256){vCc=xCc;xCc=new ub;wCc=0}++wCc}function UB(a,b){var c,d;d=b.b;c=b.a;return d!=0?c:c+a.c.i.a}function zib(a,
b,c){var d;d=new yib(a,c,new nbb(a));tib(d,b)}function yX(a,b,c){var d;uX(c);for(d=c.b;d;d=d.d)xX(a,b,d)}function N0(a){var b;if(a.M.xc){b=X0(a);imc(b,a.F)||(a.F=b)}}function rvc(a){var b,c;c=a;b=c.$modCount|0;c.$modCount=b+1}function Enc(a,b){return b==null?!!Xwc(a.d,null):mxc(a.e,b)}function Bi(a,b){return b===a?"(this Map)":b==null?KCc:fW(b)}function Xw(a){return new rx(new ywc(bw(a.a.a)),new Tw(a.b))}function _tc(a){!a.c&&(a.c=new vuc(a.d.keySet()));return a.c}function buc(a){!a.e&&(a.e=new ktc(a.d.values()));
return a.e}function Vnc(a,b){if(iE(b,48))return wi(a.a,b);return false}function Qvc(a,b){if(iE(b,48))return wi(a.a,b);return false}function ngc(a){if(!a.a)return Sn(),Sn(),Rn;return a.a.dj()}function Wxc(a,b){if(iE(b,48))return wi(a.a,b);return false}function Ibb(a,b,c){Ebb();if(!a)return null;return b.hh(c)}function dW(a){function b(){}b.prototype=a||{};return new b}function Tkc(a){if(a.Dj())return null;var b=a.o;return $V[b]}function tnb(){rnb();return vD(qD(DM,1),gDc,268,0,[qnb,pnb])}function gvb(){evb();
return vD(qD(VN,1),gDc,267,0,[cvb,dvb])}function Kpb(){Ipb();return vD(qD(cN,1),gDc,185,0,[Gpb,Hpb])}function epb(){cpb();return vD(qD(UM,1),gDc,181,0,[apb,bpb])}function Bpb(){zpb();return vD(qD(_M,1),gDc,186,0,[xpb,ypb])}function en(a,b){var c;return c=kp(a.a,b),!c?(Sn(),Sn(),Rn):c}function Auc(a,b){var c;for(c=0;c<b;++c)a[c]=new Luc(a[c])}function Xwc(a,b){return Vwc(a,b,Wwc(a,b==null?0:a.b.Hj(b)))}function fmc(a,b){return emc(a.toLowerCase(),b.toLowerCase())}function pE(a){return Math.max(Math.min(a,
ICc),-2147483648)|0}function _qb(){Dlb.call(this,"Es6SplitVariableDeclarations")}function Rgb(a,b,c){Jgb.call(this);this.a=a;this.c=b;this.b=c}function gob(a,b){this.a=a;this.b=b;this.c=Cp(Cs(b.cf(),dob))}function tpb(a,b){hpb();mpb.call(this,a);this.a=b;this.d=null}function pjb(a){Kd(a.j==(w7b(),U4b));return!!a.b&&a.b.j==_4b}function M1(a,b){Zd(b.j==(w7b(),U6b)||b.j==G5b);J1(a,b);x1(a)}function $x(a,b){Ud(a,"set1");Ud(b,"set2");return new xy(a,b)}function dy(a,b){Ud(a,"set1");Ud(b,"set2");return new py(a,
b)}function a_b(a,b){if(!a.d.s)return false;return Cxc(a.d.s,b)}function C$b(a){if(!a.d||!a.d.n)return 0;return Knc(a.d.n.c)}function uW(a,b,c){if(!a.d)return b;return c.a+b+(CW(),zW).a}function Ld(a,b){if(!a)throw CV(new Nfb(b==null?KCc:fW(b)));}function $d(a,b){if(!a)throw CV(new llc(b==null?KCc:fW(b)));}function jec(a,b,c){return Xbc(Ybc(_bc($bc(new ccc(a),c),b)))}function sJb(a){return Cp(We(Ze(af(new ic(44)),(Cc(),Ac)),a))}function Un(a){var b;b=(Td(a),new Nqc(a));ssc(b);return oo(b)}function hzc(a,
b){var c,d;c=b;d=new Mzc;jzc(a,c,d);return d.d}function vib(a,b){var c,d;for(c=b.b;c;){d=c.d;uib(a,c,b);c=d}}function Sxc(a){var b;b=a.c.b.b;a.b=b;a.a=a.c.b;b.a=a.c.b.b=a}function P$b(a){return(a.a&2)!=0||(a.a&512)!=0||(a.a&IGc)!=0}function Dnc(a,b){return b==null?Ii(Xwc(a.d,null)):nxc(a.e,b)}function Ae(){ye();return vD(qD(RE,1),gDc,134,0,[ve,ue,we,xe])}function Q6(){O6();return vD(qD(rK,1),gDc,131,0,[K6,M6,L6,N6])}function S3(){Q3();return vD(qD(UJ,1),gDc,182,0,[N3,O3,P3,M3])}function BA(b){if(!(XDc in
b))try{throw b;}catch(a){}return b}function Ud(a,b){if(a==null)throw CV(new Tlc(fW(b)));return a}function Lkb(a,b,c){if(a.a)throw CV(new llc(sIc+b));N1(a.b,c)}function Ykb(a,b,c){if(a.a)throw CV(new llc(sIc+b));N1(a.b,c)}function esc(a){if(a<0)throw CV(new $jc("bitIndex < 0: "+a));}function sqb(){new xwc;this.a=new xwc;this.b=new uqb(new vqb)}function H1b(a,b,c){this.a=a;this.d=b;this.e=c;this.c=new Fwc}function P1b(a,b,c){Ld(!b.d,lLc);Ld(!b.f,mLc);b.f=b;T1b(a,b,c)}function Yp(a,b,c,d){Td(b);Td(c);
Td(d);return Xp(a,b).put(c,d)}function aqc(a,b){if(Spc(a,b)){tqc(a);return true}return false}function Rfb(a,b){if(!a.b){Sfb(a,b);C2b(a.b,53,a.a)}return a.b}function zuc(a,b){var c;c=a.b.Qd(b);Auc(c,a.b.size());return c}function Vf(a,b){var c;c=a.b.remove(b);a.d.b.remove(c);return c}function cv(a,b){var c,d;d=ev(a,b);c=a.a.Sd(d);return new rv(c)}function Rkc(a,b){var c=a.a=a.a||[];return c[b]||(c[b]=a.zj(b))}function $gb(a){if(imc(a.a,a.b))return a.a;return a.b+":"+a.a}function Eu(a){Ut(a.e);a.c=a.a=
a.e;a.e=a.e.e;--a.d;return a.a.f}function Du(a){Ut(a.c);a.e=a.a=a.c;a.c=a.c.c;++a.d;return a.a.f}function u$(a){if(a.r){a.gg(";");a.wg()}a.ig();a.pg();a.r=false}function C3(a){return hkc(a.Rb.Id((gkc(),r4(a.Ub)?true:false)))}function Icb(a,b){var c;zib(a.a,b,a);P1(a.a,(vn(),c=a.b,Cp(c)))}function aX(a,b){DX((w7b(),s5b),b);wX(b.b);bX(a,b.b?b.b.f:null)}function fr(a,b,c){Aqc(a.b,(Io(),wm(b,c),new Pq(b,c)));return a}function ocb(a,b,c){this.b=(u3(),t3);this.a=a;this.d=b;this.c=c}function rB(a,b,c,d){lB.call(this,
a);this.c=b;this.d=c;this.b=d}function vtb(a,b,c,d){ttb();this.b=a;this.c=b;this.d=c;this.a=d}function M_b(a,b){var c;c=(Ld(b>=0,jLc),1<<b);return(c&a.o)!=0}function w2b(a,b){var c;c=a.g;while(!!c&&b!=c.c)c=c.b;return c}function a3b(a,b,c,d){var e;e=new $mc;_2b(a,e,b,c,d);return e.a}function Zmc(a,b,c){a.a=Amc(a.a,0,b)+(""+c)+zmc(a.a,b);return a}function CZb(a){if(!DZb(a))return a.j==(w7b(),R6b);return true}function x$b(a){if(!a.d||!a.d.e)return 0;return a.d.e.a.length}function lCc(a,b){if(a<0||a>
b)throw CV(new $jc(MLc+a+NLc+b));}function iCc(a,b){if(a<0||a>=b)throw CV(new $jc(MLc+a+NLc+b));}function qCc(a,b){if(a<0||a>=b)throw CV(new cnc(MLc+a+NLc+b));}function Hc(a,b,c,d){return Ic(a,(Td(d),new joc(new vd(d,b,c))))}function Gnc(a,b,c){return b==null?Ywc(a.d,null,c):oxc(a.e,b,c)}function hs(a){bs();return new ozc((iE(a,228)?a:new Lm(a)).Re())}function ts(a,b){qs();Td(a);return Td(a),us(a,new Atc(b.b.Pd()))}function Wwc(a,b){var c;c=a.a.get(b);return c==null?new Array:c}function MBc(a){var b;
b=new LBc;b.a=new $wnd.RegExp(a);return b}function Ns(a){var b;while(true){b=a.Kd();if(!a.Jd())return b}}function eX(a){var b;DX((w7b(),A5b),a);for(b=a.b;b;b=b.d)dX(b)}function mX(a){var b;DX((w7b(),U5b),a);for(b=a.b;b;b=b.d)lX(b)}function UQb(a){while(iRb(AQb(a,a.d)?dmc(a.e.a,a.d):0))BQb(a)}function o0(a,b){Pd(t2b(a),yFc,a);Pd(t2b(b),yFc,b);h2b(a);h2b(b)}function c3(a,b){return Dp(new grc(Nr(Nr((vn(),new Or),a),b).a))}function NBc(a){return a.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}function Cjb(a){Lib();
return a.j==(w7b(),U4b)&&!!a.e&&a.e.j==G5b}function wmb(a){var b;b=a.b.e>a.a;a.a=a.b.b.a;++a.b.b.a;return b}function mob(a){Reb();this.b=a;Ueb.call(this,a.a);this.a=new jyc}function FC(a){DC();BC.call(this,a);this.a="";this.b=a;this.a=""}function Prb(){Dlb.call(this,"Es6RenameVariablesInParamLists")}function orb(){Dlb.call(this,"Es6RewriteBlockScopedDeclaration")}function Arb(){Dlb.call(this,"es6NormalizeShorthandProperties")}function crb(){Dlb.call(this,"es6ConvertSuperConstructorCalls")}function lxb(a){if(a.n.a.isEmpty())return a;
return jxb(a,a.a.i)}function xh(a){if(a.b>=a.c)throw CV(new uyc);return Xq(a,a.b++)}function Xob(a,b){Zd(b.d==a);Zd(Dxc(a.e,b.b).Cd(b));Gxc(a.e,b.b)}function Aib(a,b,c,d){var e;e=new yib(a,b,new nbb(a));xib(e,c,d)}function evb(){evb=bW;cvb=new fvb(YFc,0);dvb=new fvb("NODE",1)}function r0(){r0=bW;p0=new s0("INHERITS",0);q0=new s0("MIXIN",1)}function hub(){fub();return vD(qD(LN,1),gDc,222,0,[eub,dub,cub])}function LEb(){JEb();return vD(qD(HO,1),gDc,225,0,[IEb,GEb,HEb])}function _wb(){Zwb();return vD(qD(eO,
1),gDc,249,0,[Xwb,Wwb,Ywb])}function WCb(){UCb();return vD(qD(zO,1),gDc,246,0,[RCb,SCb,TCb])}function CIb(){AIb();return vD(qD(OO,1),gDc,243,0,[yIb,zIb,xIb])}function uQb(){sQb();return vD(qD(eP,1),gDc,234,0,[rQb,qQb,pQb])}function qcc(){occ();return vD(qD(cS,1),gDc,233,0,[ncc,lcc,mcc])}function Tcc(){Rcc();return vD(qD(jS,1),gDc,231,0,[Occ,Pcc,Qcc])}function tic(){ric();return vD(qD(KS,1),gDc,156,0,[oic,pic,qic])}function _i(a,b){var c;c=b.ce();return new Pq(c,Zh(a.b,c,b.de()))}function e2b(a,b){var c;
c=w2b(a,b);if(!c)return 0;return c.xi()}function BQb(a){if(!AQb(a,a.d))return 0;return dmc(a.e.a,a.d++)}function vW(a,b){if(!a.d)return b;return(CW(),xW).a+(""+b)+AW.a}function X4(a,b){var c,d;for(d=b.Pd();d.Jd();){c=d.Kd();W4(a,c)}}function X$(a,b){Zd(b.j==(w7b(),U4b));a.c.kg();V$(a,b.b);a.c.mg()}function x$(a){if(a.r){a.gg(";");a.wg();a.pg();a.r=false}a.s=true}function W2(a){if(!a.a||!a.a.Kg())return false;return a.a.Kg().c}function U2(a){var b;if(!a.k){b=a.b.H;a.k=Iub(b,a.g.a)}return a.k}function RV(a){var b;
if(JV(a)){b=a;return b==-0?0:b}return VD(a)}function Ubb(a,b){var c;c=ecb(b);if(c)return bcb(a,c,b);return 0}function qhc(a,b,c,d){a.b=false;Gnc(a.c,b,new thc(c,d));return a}function JCb(a,b,c,d){Kd(!!b);this.c=a;this.d=b;this.b=c;this.a=d}function Gy(a,b){Iq.call(this,vsc(Td(a),Td(b)));this.b=a;this.c=b}function hqc(a){Opc(this);UBc(this.a,tlc($wnd.Math.max(8,a))<<1)}function Rx(a){Sn();this.a=(msc(),iE(a,67)?new Suc(a):new Etc(a))}function WXb(){VXb();this.a="Parse Program";this.b=IV(Date.now())}
function Jyb(a){ayb();return rzb(a.a,2,(vn(),new Py(a)),null,Zxb)}function EW(){CW();return vD(qD(jJ,1),gDc,167,0,[yW,BW,zW,xW,AW])}function J4(){H4();return vD(qD(_J,1),gDc,162,0,[C4,F4,D4,G4,E4])}function yQb(a){return zQb(a,a.b.a.length==0?a.d:GQb(a,0).b.b.c)}function fQb(a,b,c,d){!b?wJb(a.c,yQb(a.g),c,d):wJb(a.c,b.b.b,c,d)}function rJb(a,b,c){var d;tJb();d=pJb;return new DEb(d,b,qJb,a,c)}function umc(a,b,c){c=Kmc(c);return a.replace(new RegExp(b,"g"),c)}function Xsb(a,b,c){Wmc(Wmc(Wmc(Wmc((a.a+=
"@",a),b)," {"),c),"}")}function Umc(a,b,c,d){a.a+=""+Amc(b==null?KCc:fW(b),c,d);return a}function Sd(a,b){if(a<0||a>=b)throw CV(new $jc(Hd(a,b)));return a}function Yd(a,b,c){if(a<0||b<a||b>c)throw CV(new $jc(Jd(a,b,c)));}function AAc(a,b){if(b==null)throw CV(new Rlc);return znc(a.a,b)}function BAc(a,b){if(b==null)throw CV(new Rlc);return Cnc(a.a,b)}function gFb(a,b){if(!EFb(b))return null;return fFb(a,cFb(a,b.o))}function GNb(a,b){if(GQb(a.g,0).c==b)return CNb(a,b);return null}function qNb(a,b){var c;
c=lrc(a.a,b);if(c>=0)return c;return-c-2}function KHb(a,b,c){a.n=!a.n?dJb(a.i):BHb(a);return a.n==b||a.n==c}function erc(a){hCc(a.a<a.c.a.length);a.b=a.a++;return a.c.a[a.b]}function Ppc(a,b){jCc(b);a.b=a.b-1&a.a.length-1;a.a[a.b]=b;Upc(a)}function Qpc(a,b){jCc(b);a.a[a.c]=b;a.c=a.c+1&a.a.length-1;Upc(a)}function RQb(a){while(qRb(AQb(a,a.d)?dmc(a.e.a,a.d):0)>=0)BQb(a)}function YQb(a){while(rRb(AQb(a,a.d)?dmc(a.e.a,a.d):0)>=0)BQb(a)}function $ob(a){Ld(a.j==(w7b(),S6b)||a.j==U6b,a);return new Zob(a)}
function ICb(a){return a.a==(UCb(),TCb)?a:new JCb(a.c,a.d,a.b,TCb)}function lCb(a){return wCb(null.Uj,a,null,null,null,false,null.Uj)}function RTb(a,b,c){FTb.call(this,(gXb(),DVb),a);this.b=b;this.a=c}function UTb(a,b,c){FTb.call(this,(gXb(),GVb),a);this.b=b;this.a=c}function qUb(a,b,c){FTb.call(this,(gXb(),VVb),a);this.b=b;this.a=c}function tUb(a,b,c){FTb.call(this,(gXb(),YVb),a);this.b=b;this.a=c}function vUb(a,b,c){FTb.call(this,(gXb(),$Vb),a);this.b=b;this.a=c}function hUb(a,b,c){FTb.call(this,
(gXb(),MVb),a);this.a=b;this.b=c}function rUb(a,b,c){FTb.call(this,(gXb(),WVb),a);this.a=b;this.b=c}function TTb(a,b,c){FTb.call(this,(gXb(),FVb),a);this.a=b;this.b=c}function WUb(a,b,c){FTb.call(this,(gXb(),gWb),a);this.a=b;this.b=c}function dVb(a,b,c){FTb.call(this,(gXb(),pWb),a);this.a=b;this.b=c}function aVb(a,b,c){FTb.call(this,(gXb(),mWb),a);this.b=b;this.a=c}function bVb(a,b,c){FTb.call(this,(gXb(),nWb),a);this.b=b;this.a=c}function fVb(a,b,c){FTb.call(this,(gXb(),rWb),a);this.b=b;this.a=c}
function gVb(a,b,c){FTb.call(this,(gXb(),sWb),a);this.b=b;this.a=c}function jVb(a,b,c){FTb.call(this,(gXb(),wWb),a);this.b=b;this.a=c}function lVb(a,b,c){FTb.call(this,(gXb(),yWb),a);this.b=b;this.a=c}function rVb(a,b,c){FTb.call(this,(gXb(),EWb),a);this.b=b;this.a=c}function rXb(a,b,c){FTb.call(this,(gXb(),OWb),a);this.b=b;this.a=c}function jXb(a,b,c){FTb.call(this,(gXb(),GWb),a);this.b=b;this.a=c}function sXb(a,b,c){FTb.call(this,(gXb(),PWb),a);this.b=b;this.a=c}function CXb(a,b,c){FTb.call(this,
(gXb(),ZWb),a);this.b=b;this.a=c}function IXb(a,b,c){FTb.call(this,(gXb(),dXb),a);this.b=b;this.a=c}function JXb(a,b,c){FTb.call(this,(gXb(),eXb),a);this.b=b;this.a=c}function KXb(a,b,c){FTb.call(this,(gXb(),fXb),a);this.b=b;this.a=c}function FXb(a,b,c){FTb.call(this,(gXb(),bXb),a);this.a=b;this.b=c}function kXb(a,b,c){FTb.call(this,(gXb(),HWb),a);this.a=b;this.b=c}function yXb(a,b,c){FTb.call(this,(gXb(),WWb),a);this.a=b;this.b=c}function BXb(a,b,c){FTb.call(this,(gXb(),VWb),a);this.a=b;this.b=c}
function uoc(a,b,c){mCc(b,c,a.size());this.c=a;this.a=b;this.b=c-b}function ioc(a){nCc(a.c!=-1);a.d.removeAtIndex(a.c);a.b=a.c;a.c=-1}function v$b(a,b){if(!a.b||!a.b.e)return null;return Dxc(a.b.e,b)}function J$b(a,b){if(!a.b||!a.b.j)return null;return Dxc(a.b.j,b)}function F$b(a,b){if(!a.d||!a.d.n)return null;return Dxc(a.d.n,b)}function ghc(a,b,c,d,e){if(a.a)return false;return Dac(a,b,c,d,e)}function lzc(a,b){var c;c=1-b;a.a[c]=mzc(a.a[c],c);return mzc(a,b)}function fbc(a){ce(a.Th()||a.i==(occ(),
mcc),ALc,a);return X7b(a.o)}function K5(a){D5();znc(C5,a)||Fnc(C5,a,new G5(a));return Cnc(C5,a)}function eZb(a){var b;Zd(CZb(a));b=new i3b((w7b(),U4b),a);return b}function ulb(a,b,c){var d;d=c.e;Zd(!!d);Zd(l2b(d,b));Aib(a.b,a,b,c)}function QC(a,b,c){var d;d=OC();try{return NC(a,b,c)}finally{RC(d)}}function Gbb(a,b,c){Ebb();L1(a,sfb(b,Cbb,vD(qD(qT,1),NCc,2,6,[c])))}function Qlb(a,b,c){Ppc(a.f,new Xlb(b,c));imc(b,JFc)||(a.d.a=false)}function gQb(a,b,c){!b?wJb(a.c,yQb(a.g),ZKc,c):wJb(a.c,b.o.b,ZKc,c)}
function iHb(a,b){return!b?rFb(a.a,(w7b(),o6b),SJc):LGb(a,b,false)}function SHb(a,b){return b==(YIb(),RIb)?LHb(a,(w7b(),M6b)):RHb(a,b)}function rNb(a,b){var c;c=qNb(a,b);return new QXb(a.b,b,c,b-a.a[c])}function dZb(a,b,c){$d(BZb(b),b);$d(BZb(c),c);return new k3b(a,b,c)}function gX(a,b,c){ZKb(a.a.r,b)||cY("AST should not contain "+b,c)}function g2b(a,b){var c;c=w2b(a,b);if(!c)return null;return c.yi()}function O$b(a,b){if(!a.d||!a.d.n)return false;return Cxc(a.d.n,b)}function _$b(a,b){if(!a.d.q)return false;
return Dqc(a.d.q,b,0)!=-1}function yYb(a){if(a.b>=a.c)throw CV(FYb(a));return dmc(a.a,a.b++)}function pgb(){sW();wW.call(this,null);ngb(this);this.a=(cpb(),apb)}function _nb(a){Wnb();aob.call(this,a,hob(YYb("js/polyfills.txt")))}function zzc(a){Azc.call(this,a,(cAc(),$zc),null,false,null,false)}function Ezc(a){Fzc.call(this,a,(cAc(),$zc),null,false,null,false)}function rcc(a,b,c){Gac.call(this,a,null,null,c,b.C);Td(b);this.a=b}function pgc(a,b,c){var d;d=a.b.get(b);!!d&&dgc(c,d.a);a.b.put(b,c)}function bX(a,
b){var c;DX((w7b(),t5b),b);for(c=b.b;c;c=c.d)IX(a,c)}function qX(a,b){var c;DX((w7b(),a6b),b);for(c=b.b;c;c=c.d)pX(a,c)}function XW(a,b){var c;DX((w7b(),S6b),b);for(c=b.b;c;c=c.d)QX(a,c)}function GX(a,b){var c;DX((w7b(),B6b),b);for(c=b.b;c;c=c.d)HX(a,c)}function BX(a,b){switch(b.j.f){case 29:wX(b);break;case 26:iX(a,b)}}function J1(a,b){if(e2b(b,94)!=0)return;J2b(b,a.a);++a.a;qqb(a.b,b)}function PB(a){Omc(a.b,34);YB(new $B(a.j),a);Omc(a.b,59);Omc(a.b,34)}function $h(a,b,c,d){return iE(c,67)?new Bk(a,
b,c,d):new qk(a,b,c,d)}function o8b(a,b){M7b();return!a||!b?a==b:O7b(a,b,0,new Kcc(true))}function Xk(a,b){var c;return c=iE(b,204)?Vk(b):b,Vk(a).removeAll(c)}function w3(){u3();return vD(qD(SJ,1),gDc,153,0,[t3,q3,p3,o3,s3,r3])}function gGb(a,b,c){if(c){mGb(a,c,(bMb(),DLb));C2b(b,81,FFb(a.a,c))}}function $kb(a,b){if(!!b.b&&!b.b.d){R1b(b,Y1b(b.b,false));N1(a.b,b)}}function _kb(a,b){if(!!b.b&&!b.b.d){R1b(b,Y1b(b.b,false));N1(a.b,b)}}function pvc(a,b){if(b.$modCount!=a.$modCount)throw CV(new svc);}function axc(a){this.e=
a;this.b=this.e.a.entries();this.a=new Array}function qab(a,b,c){this.i=a;oab(this);this.e=b;this.f=c;this.a=true}function hKb(a,b,c,d,e){this.f=a;this.b=b;this.a=c;this.d=d;this.c=e}function n3(a){this.a=new nzc;this.c=new Lqc;this.d=new Lqc;this.b=a}function ooc(a,b){this.a=a;joc.call(this,a);lCc(b,a.size());this.b=b}function Ahc(a,b){M7b();vgc.call(this,a,vec(a,(dec(),_dc)));this.a=b}function Xd(a,b){if(a<0||a>b)throw CV(new $jc(Id(a,b,eDc)));return a}function Oec(a,b){var c,d;c=b.d;d=c._i(a);
if(d!=c)return d;return b}function $n(a){Sn();var b;if(iE(a,69)){b=a;return b.Ve()}return Yn(a)}function w5(a,b){var c;c=b.b-a.b;if(c!=0)return c;c=a.c-b.c;return c}function I5(a,b){D5();var c;this.a=a;this.b=(vn(),c=new Prc(b),Cp(c))}function ff(a,b,c){this.a=c;this.f=a.d;this.d=a.b;this.b=a.a;this.e=b}function zYb(a){while(HYb(a.b<a.c?dmc(a.a,a.b):-1))yYb(a);return-1}function $ib(a,b){Lib();var c;c=a;while(!!c&&!b.Md(c))c=c.e;return c}function _yb(a,b){ayb();return 0==a.Fh()||0==b.Fh()||0!=szb(a,
b).Fh()}function VUb(){TUb();return vD(qD(aQ,1),gDc,200,0,[QUb,RUb,SUb,PUb])}function gAc(){cAc();return vD(qD(eV,1),gDc,146,0,[$zc,_zc,aAc,bAc])}function aic(a,b){return!!b.Zi()&&O7b(a.d,b.Zi().d,0,new Kcc(true))}function c_b(a){if(!a.c)return false;!a.b&&(a.b=new I_b);return true}function H$b(a){if(!a.d||!a.d.q)return Sn(),Sn(),Rn;return $n(a.d.q)}function L$b(a){if(!a.d||!a.d.s)return Io(),Io(),Ho;return Qo(a.d.s)}function lBb(a){if(a.b.d.d.isEmpty())return null.Uj;return null.Tj()}function hoc(a){hCc(a.b<
a.d.size());return a.d.getAtIndex(a.c=a.b++)}function fwc(a){var b;b=OBc(a.b,a.b.length);return new kwc(a.a,b,a.c)}function wec(a,b){var c;c=Dnc(a.n,b);if(c)return c;return Dnc(a.i,b)}function Xbb(a,b){var c,d;d=ecb(b);Zd(!!d);c=d.e;Ybb(a,d,b);N1(a.b,c)}function f3b(a,b){var c;e3b(a,b);for(c=a.b;c;c=c.d)f3b(c,b);return a}function d3b(a,b){var c;c3b(a,b);for(c=a.b;c;c=c.d)d3b(c,b);return a}function Qt(a,b){var c;c=wsc(Su(new Fu(a,b)));Js(new Fu(a,b));return c}function C9b(a,b,c,d){var e;e=a.qj(b,c,
false,d);Cec(a.B,b,a);return e}function Us(a){var b;Td(a);if(iE(a,110)){b=a;return b}return new Vs(a)}function KZb(a){Zd(a.j==(w7b(),o6b)||a.j==P6b);return new i3b(G6b,a)}function h_(a,b){if(b.j==(w7b(),$4b))return h_(a,b.b);return nkb(b.j)}function g_(a,b){if(g2b(b,78)){r$(a.c,":");a.c.vg();a.Ag(g2b(b,78),4)}}function zs(a,b){var c;Td(a);return Ms((c=a.a.Xd().Pd(),new Hoc(c)),b)}function z7(a,b){var c;a.a=false;c=new C7(a);zib(a.b.a,b,c);return a.a}function qBc(){qBc=bW;nBc=false;lBc=true;mBc=true;
pBc=true;oBc=true}function RAc(){RAc=bW;NAc=new VAc;OAc=new YAc;PAc=new _Ac;QAc=new cBc}function pZ(){pZ=bW;mZ=new qZ(oEc,0);oZ=new qZ(pEc,1);nZ=new qZ(qEc,2)}function rnb(){rnb=bW;qnb=new snb(qEc,0);pnb=new snb("ALL_UNQUOTED",1)}function ayb(){ayb=bW;$xb=(vn(),Wx(),Vx);Zxb=(null,Vx);_xb=new Kc("|")}function cOb(a){if(PPb(a,0,(xTb(),ZSb)))return zPb(a);return bOb(a,1)}function w$b(a){if(!a.d||!a.d.e)return Sn(),Sn(),Rn;return wsc(a.d.e)}function y$b(a){if(!a.d||!a.d.f)return Sn(),Sn(),Rn;return wsc(a.d.f)}
function I$b(a){if(!a.d||!a.d.r)return Sn(),Sn(),Rn;return wsc(a.d.r)}function PXb(a){if(!a.d)return"";return As(We(af(new ic(47)),a.d.c))}function gCc(a){if(a<0)throw CV(new Qlc("Negative array size: "+a));}function EBc(a){qBc();if(nBc)return new DBc(null);return hBc(jBc(),a)}function swc(a){hCc(a.a<a.c.a.length);a.b=a.a;qwc(a);return a.c.b[a.b]}function Rpc(a){if(a.b==a.c)return;a.a=sD(lT,bDc,1,8,5,1);a.b=0;a.c=0}function E1(a){if(a.M.cd){Y1(a);E3(a.M,(XKb(),PKb))&&X1(a)}else O0(a)}function WQb(a){while(rkc(AQb(a,
a.d)?dmc(a.e.a,a.d):0,16)>=0)BQb(a)}function sec(a,b){return Cxc(a.c,b)?Dxc(a.c,b).values():(Sn(),Sn(),Rn)}function U7b(a){return a.Mi()||a.Ki()||a.Li()||vec(a.B,(dec(),rdc))==a}function o2b(a){var b,c;b=0;for(c=a.b;!!c&&b<=3;c=c.d)++b;return b==3}function Sib(a){Lib();var b,c;c=1;for(b=a.b;b;b=b.d)c+=Sib(b);return c}function Nr(a,b){var c;if(b){c=b;a.a.a.length+c.size()}Oq(a,b);return a}function Yh(a,b){var c,d;c=hw(a.c,b);if(c){d=c.size();c.clear();a.d-=d}}function hmc(a,b){var c;c=b.length;return imc(a.substr(a.length-
c,c),b)}function Vbb(a,b,c,d){if(!b||b==c)return;Vbb(a,b.d,c,d);Wbb(a,b.b,c,d)}function sZb(a,b){Zd(BZb(a));Zd(BZb(b));return new k3b((w7b(),L5b),a,b)}function sOb(a){var b;CNb(a,(xTb(),ESb));b=bOb(a,1);CNb(a,JRb);return b}function c3b(a,b){W2b(a,b);C2b(a,40,g2b(b,40));a.i=b.i;a.c=b.c;return a}function hsc(a){var b;b=a.length-1;for(;b>=0&&(a[b]|0)==0;--b);return b}function usc(a){msc();var b;b=new Gwc(1);b.a.put(a,b);return new vuc(b)}function sf(a){Td(a);if(iE(a,21))throw CV(a);if(iE(a,88))throw CV(a);
}function RC(a){a&&YC((WC(),VC));--JC;if(a)if(LC!=-1){TC(LC);LC=-1}}function AC(a){sA(this);this.e=!a?null:wA(a,a.xf());tA(this);this.yf()}function sxc(a){this.d=a;this.b=this.d.a.entries();this.a=this.b.next()}function Hxc(){xwc.call(this);Axc(this);this.b.b=this.b;this.b.a=this.b}function Enb(a){Cnb();Td(a);this.a=a;this.b=new gqc;Ppc(this.b,new Lnb)}function Fu(a,b){var c;this.f=a;this.b=b;c=Cnc(a.b,b);this.c=!c?null:c.b}function vy(a,b){this.c=a;this.d=b;this.a=this.c.Pd();this.b=this.d.Pd()}
function hr(a,b){var c,d;for(d=b.Pd();d.Jd();){c=d.Kd();gr(a,c)}return a}function tA(a){if(a.g){a.backingJsObject!==UDc&&a.yf();a.f=null}return a}function Ob(a){a.i=3;a.g=df(a);if(a.i!=2){a.i=0;return true}return false}function Ejb(a){switch(a.j.f){case 86:case 87:return true}return false}function Oyc(a){hCc(a.a<a.c.b.a.length);a.b=a.a++;return Cqc(a.c.b,a.b)}function gB(a,b){b.a.length==0?Aqc(a.i.c,null):Aqc(a.i.c,b);++a.b;a.c=0}function u3b(a,b){return a<0||b<0?-1:(b&-4096)!=0?a<<12|kEc:a<<12|b&
kEc}function jyb(a){return a.Fh()==2&&a.Ih().size()==1?Ps(a.Ih().Pd()):null}function bkb(a){Lib();return a.j==(w7b(),G5b)&&!(a.j==G5b&&e2b(a,60)!=0)}function Ojb(a){Lib();return!!a&&(a.j==(w7b(),q7b)||a.j==g6b||a.j==f5b)}function dUb(){bUb();return vD(qD(BP,1),gDc,173,0,[YTb,_Tb,$Tb,aUb,ZTb])}function j0b(){h0b();return vD(qD(ER,1),gDc,169,0,[e0b,d0b,f0b,g0b,c0b])}function Job(a){a=NBc(a);return MBc(umc(a,"\\{\\d+\\}","\\\\E.*\\\\Q"))}function IC(){if(Date.now)return Date.now();return(new Date).getTime()}
function PC(b){MC();return function(){return QC(b,this,arguments);var a}}function k0b(a,b){if(l$b(a.a,b)){a.e=true;return true}else return false}function m0b(a,b){if(p$b(a.a,b)){a.e=true;return true}else return false}function M0b(a,b){if(n$b(a.a,b)){a.e=true;return true}else return false}function D0b(a,b){if(g_b(a.a,b)){a.e=true;return true}else return false}function p1b(a,b){if(q$b(a.a,b)){a.e=true;return true}else return false}function t1b(a,b){if(y_b(a.a,b)){a.e=true;return true}else return false}
function u1b(a,b){if(h$b(a.a,b)){a.e=true;return true}else return false}function D1b(a,b){if(s$b(a.a,b)){a.e=true;return true}else return false}function U0b(a){if(!S$b(a.a)){j_b(a.a);a.e=true;return true}return false}function V0b(a){if(!T$b(a.a)){k_b(a.a);a.e=true;return true}return false}function W0b(a){if(!U$b(a.a)){l_b(a.a);a.e=true;return true}return false}function X0b(a){if(!V$b(a.a)){m_b(a.a);a.e=true;return true}return false}function Gxc(a,b){var c;c=Hnc(a.c,b);if(c){Txc(c);return c.e}return null}
function vmc(a,b,c){var d;c=Kmc(c);d=new RegExp(b);return a.replace(d,c)}function Eqc(a,b,c){for(;c>=0;--c)if(vyc(b,a.a[c]))return c;return-1}function Hqc(a,b,c){var d;d=(iCc(b,a.a.length),a.a[b]);a.a[b]=c;return d}function orc(a,b){var c,d;c=(d=a.slice(0,b),wD(d,a));c.length=b;return c}function WW(a,b,c){var d;DX((w7b(),b5b),b);for(d=b.b;d;d=d.d)VW(a,d,c)}function Amb(a,b){var c;zmb(a,b);for(c=b.b;c;c=c.d){Zd(c.e==b);Amb(a,c)}}function IQb(a,b,c){HQb(a,zQb(a,a.b.a.length==0?a.d:GQb(a,0).b.b.c),b,
c)}function MB(a,b,c){c||(a.a+=",\n",a);a.a+='"';a.a+=""+b;a.a+='"';a.a+=":"}function jB(a,b){if(yB(a.a)&&AB(a.a)==b){zB(a.a);return true}return false}function Eh(a){a.f=3;a.e=a.me();if(a.f!=2){a.f=0;return true}return false}function P2(a,b){if(Dqc(a.n,b,0)==-1){Aqc(a.n,b);return true}return false}function _z(a,b){var c;if(iE(b,235)){c=b;return qrc(a.c,c.c)}return false}function Jh(a,b,c){var d;Td(c);d=c;return!d.isEmpty()&&Vh(a,b).addAll(d)}function DBc(a){qBc();if(nBc)return;this.c=a;this.e=true;
this.a=new Lqc}function Zyc(a,b){this.b=$Cc;this.d=a;this.e=b;this.c=this.d+(""+this.e)}function JBc(a,b){this.b=a;this.c=new $wnd.RegExp(a.source,"g");this.a=b}function tZb(a,b){Zd(BZb(a));Zd(b.j==(w7b(),$6b));return new k3b(M5b,a,b)}function wZb(a,b){Zd(BZb(a));Zd(b.j==(w7b(),U4b));return new k3b(Q5b,a,b)}function XZb(a,b){Zd(b.j==(w7b(),U4b));Zd(BZb(a));return new k3b(t7b,a,b)}function emc(a,b){var c,d;c=(jCc(a),a);d=(jCc(b),b);return c==d?0:c<d?-1:1}function yD(a){var b,c,d;b=a&fEc;c=a>>22&fEc;
d=a<0?gEc:0;return AD(b,c,d)}function _3b(a){var b;if(!a.a)throw CV(new uyc);b=a.a;a.a=a.a.d;return b}function Is(a){if(a<0)throw CV(new $jc(JDc+a+") must not be negative"));}function Vy(a){this.d=a;this.c=new fyc(new Yxc(this.d.a));this.a=(dt(),ct)}function iyb(a){return a.Fh()==2&&a.Ih().size()==1?Ps(a.Ih().Pd()).d:null}function fkb(a){Lib();return c3b(($d(BZb(a),a),new i3b((w7b(),B5b),a)),a)}function PW(a,b){var c;DX((w7b(),U4b),b);for(c=b.b;c;c=c.d)SX(a,c,false)}function QW(a,b){var c;DX((w7b(),
X4b),b);uX(b);for(c=b.b;c;c=c.d)fX(a,c)}function CX(a,b){var c;DX((w7b(),u6b),b);uX(b);for(c=b.b;c;c=c.d)fX(a,c)}function cy(a,b){var c;c=false;while(b.Jd())c=c|a.remove(b.Kd());return c}function tY(a,b){var c;Pf(a.a);a.c=a.b.a;c=Y1b(b,false);rY(a,b,c);return a}function Nkc(a,b,c){var d;d=Lkc(a);Zkc(a,d);d.i=c?8:0;d.f=b;d.e=c;return d}function Vsb(a,b,c){m_.call(this,a,b);Td(c);this.b=c;this.a=new mfb(false)}function Jgb(){Igb(this);this.i=null;this.e=true;this.g=new Cq;this.f=this}function O1(a,
b){Ud(b,"the error manager cannot be null");a.j=new oqb(b)}function lbc(a,b){if(imc(PEc,b)){kbc(a);return a.j}else return ogc(a.v,b)}function GQb(a,b){while(a.b.a.length<=b)Aqc(a.b,PQb(a));return Cqc(a.b,b)}function JQb(a,b,c){xJb(a.c,zQb(a,a.b.a.length==0?a.d:GQb(a,0).b.b.c),b,c)}function Fqc(a,b){var c;c=(iCc(b,a.a.length),a.a[b]);TBc(a.a,b,1);return c}function Yyc(a,b){!a.a?a.a=new bnc(a.d):Wmc(a.a,a.b);Tmc(a.a,b);return a}function G_b(a,b){if(a)return b?new L1b(Y1b(a.a,false),a.b):a;return null}
function Dxc(a,b){var c;c=Cnc(a.c,b);if(c){Fxc(a,c);return c.e}return null}function ks(a,b){var c,d;for(d=new coc(b.a);d.b;){c=boc(d);gr(a,c)}return a}function KA(a){if(a<=0)throw CV(new Nfb("x ("+a+") must be > 0"));return a}function YBc(){YBc=bW;new aCc;new $Bc("ISO-LATIN-1");new $Bc("ISO-8859-1")}function pW(){pW=bW;mW=new qW(nEc,0);oW=new qW("OTI",1);nW=new qW("NTI",2)}function X6(){X6=bW;W6=bLb((XKb(),MKb),vD(qD(YO,1),gDc,25,0,[(bMb(),XLb)]))}function H7(){H7=bW;G7=bLb((XKb(),MKb),vD(qD(YO,1),
gDc,25,0,[(bMb(),rLb)]))}function S7(){S7=bW;R7=bLb((XKb(),MKb),vD(qD(YO,1),gDc,25,0,[(bMb(),ALb)]))}function i8(){i8=bW;h8=bLb((XKb(),MKb),vD(qD(YO,1),gDc,25,0,[(bMb(),mLb)]))}function G9(){G9=bW;F9=bLb((XKb(),MKb),vD(qD(YO,1),gDc,25,0,[(bMb(),CLb)]))}function FZb(a){ce(lmc(a,Hmc(46))==-1,NEc,a);return new g4b((w7b(),o6b),a)}function utb(a){if(!a.c)return false;return e2b(a.c,65)!=0||e2b(a.c,43)!=0}function rIb(a,b,c){return!c?null:X1b(new j3b(b,c,p3b(c.i),o3b(c.i)),a.k)}function lHb(a,b,c){return!c||
c.isEmpty()?mFb(a.a,(w7b(),r5b)):kHb(a,b,c)}function BGb(a,b){var c;c=mFb(a.a,(w7b(),B5b));R1b(c,FFb(a.a,b.a));return c}function txb(a,b){return new uxb(a.a,a.i,a.e,a.j,b,a.d,a.g,a.f,a.n,a.c,a.b)}function blc(a){return imc(FCc,typeof a)||mE(a,$wnd.java.lang.Number$impl)}function E2b(a){var b,c;c=a.b;for(b=a.b;b;b=b.d)b.e=null;a.b=null;return c}function M2b(a){var b;b=G2b(a,a.g,67);b!=a.g&&(a.g=b);a.g=new K3b(67,1,a.g)}function R2b(a){var b;b=G2b(a,a.g,37);b!=a.g&&(a.g=b);a.g=new K3b(37,1,a.g)}function Z2b(a){var b;
b=G2b(a,a.g,30);b!=a.g&&(a.g=b);a.g=new K3b(30,1,a.g)}function cZb(a,b){$d(v2b(a),a);$d(BZb(b),b);return new k3b((w7b(),B4b),a,b)}function kZb(a,b){$d(BZb(a),a);$d(BZb(b),b);return new k3b((w7b(),e5b),a,b)}function Khc(a,b){var c;c=Lhc(a,b);return c==-1?vec(a.b,(dec(),_dc)):a.c[c]}function dpc(a,b){var c,d;c=b.ce();d=a.Lj(c);return!!d&&vyc(d.de(),b.de())}function mgc(a){var b;if(!a.a)return null;b=a.a.ej();return!b?null:b.hj()}function iB(a){var b;if(!yB(a.a))return true;b=AB(a.a);return b==59||b==
44}function r4(a){switch(a.f){case 0:case 1:return false;default:return true}}function w1(a){a.M.rd!=(H4(),E4)&&!!a.W&&Qlb(a.W,JFc,true);return new zqb}function gcc(a,b){var c;c=new g4b((w7b(),o6b),"");c.k=b;R1b(a.b,c);return c}function Vyc(a,b){var c;c=QYb(a.a,b);if(c==null)throw CV(new tyc);return c}function X1b(a,b){$d(!a.g,"Node has existing properties.");a.g=b.g;return a}function sD(a,b,c,d,e,f){var g;g=tD(e,d);e!=10&&vD(qD(a,f),b,c,e,g);return g}function Pd(a,b,c){if(!a)throw CV(new Nfb(ge(b,
vD(qD(lT,1),bDc,1,5,[c]))));}function ce(a,b,c){if(!a)throw CV(new llc(ge(b,vD(qD(lT,1),bDc,1,5,[c]))));}function oCc(a){if(!a)throw CV(new llc("Unable to add element to queue"));}function pCc(a,b,c){if(a<0||b>c||b<a)throw CV(new cnc(OLc+a+PLc+b+LLc+c));}function idb(a,b,c){this.f=new Lqc;this.g=new xwc;this.a=a;this.c=b;this.i=c}function ck(a,b,c,d){this.f=a;this.e=b;this.d=c;this.b=d;this.c=!d?null:d.d}function Hy(a,b,c){Iq.call(this,vsc(Td(a),Td(b)));this.b=a;this.c=b;this.a=c}function O9(a,b,
c,d){var e;b.j==c&&d.add(b);for(e=b.b;e;e=e.d)O9(a,e,c,d)}function MX(a,b){var c;b.j==(w7b(),r5b)?(c=b2b(b),0!=c&&cY(rEc+c,b)):fX(a,b)}function MZb(a,b){Zd(a.j==(w7b(),_6b));Zd(!a.b);Zd(BZb(b));S1b(a,b);return a}function ljb(a){Lib();var b;b=null;while(!b&&!!a){b=g2b(a,51);a=a.e}return b}function vzb(a,b){ayb();if(!a)return b;else if(!b)return a;return ozb(a,b)}function d9b(a,b,c,d){if(!O7b(a.b,b.b,c,d))return false;return e9b(a,b,c,d)}function m1b(a,b,c){if(o$b(a.a,b,c)){a.e=true;return true}else return false}
function w1b(a,b,c){if(r$b(a.a,b,c)){a.e=true;return true}else return false}function A1b(a,b,c){if(j$b(a.a,b,c)){a.e=true;return true}else return false}function k$b(a,b){if(H$b(a).isEmpty()){A_b(a,b,LCc);return true}return false}function Jec(a,b,c){M7b();sbc.call(this,a,UGc,null,b,c,null,true,true,false)}function dkc(a){var b;bkc.call(this,(b=a==null?KCc:fW(a),iE(a,38)?a:null,b))}function Lzc(a,b){_oc.call(this,a,b);this.a=sD(_U,CDc,191,2,0,1);this.b=true}function Ixc(a){Mnc.call(this,a,0);Axc(this);
this.b.b=this.b;this.b.a=this.b}function Mqc(a){yqc(this);dCc(a>=0,"Initial capacity must not be negative")}function MV(a){var b;if(JV(a)){b=0-a;if(!isNaN(b))return b}return FV(QD(a))}function izc(a,b){var c;c=new Mzc;c.c=true;c.d=b.de();return jzc(a,b.ce(),c)}function x1(a){var b,c;for(c=new grc(a.c);c.a<c.c.a.length;){b=erc(c);b.eg()}}function Nbb(a){Mbb();this.c=lf(new Sbb(this));this.b=a;this.a=(pW(),nW)==a.K}function OTb(a,b,c,d){FTb.call(this,(gXb(),AVb),a);this.a=b;this.b=c;this.c=d}function iUb(a,
b,c,d){FTb.call(this,(gXb(),NVb),a);this.c=b;this.b=c;this.a=d}function kUb(a,b,c,d){FTb.call(this,(gXb(),PVb),a);this.a=b;this.c=c;this.b=d}function mUb(a,b,c,d){FTb.call(this,(gXb(),RVb),a);this.a=b;this.b=c;this.c=d}function yUb(a,b,c,d){FTb.call(this,(gXb(),cWb),a);this.c=b;this.b=c;this.a=d}function zUb(a,b,c,d){FTb.call(this,(gXb(),dWb),a);this.c=b;this.b=c;this.a=d}function $Ub(a,b,c,d){FTb.call(this,(gXb(),kWb),a);this.a=b;this.c=c;this.b=d}function xXb(a,b,c,d){FTb.call(this,(gXb(),UWb),
a);this.a=b;this.b=c;this.c=d}function EXb(a,b,c,d){FTb.call(this,(gXb(),_Wb),a);this.b=b;this.c=c;this.a=d}function GXb(a,b,c,d){FTb.call(this,(gXb(),aXb),a);this.c=b;this.a=c;this.b=d}function pfb(a,b,c,d){ofb.call(this,a,b,b?p3b(b.i):-1,b?o3b(b.i):-1,c,null,d)}function DHb(a,b){if(b==(YIb(),DIb)){a.g=(AIb(),yIb);return b}return CHb(a,b)}function K0b(a,b){if(!!b&&b$b(a.a,b)){a.e=true;return true}else return false}function Q0b(a,b){if(!!b&&c$b(a.a,b)){a.e=true;return true}else return false}function A0b(a){if(Q$b(a.a))return false;
else{f_b(a.a);a.e=true;return true}}function a1b(a){if(W$b(a.a))return false;else{q_b(a.a);a.e=true;return true}}function b1b(a){if(X$b(a.a))return false;else{r_b(a.a);a.e=true;return true}}function d1b(a){if(Y$b(a.a))return false;else{t_b(a.a);a.e=true;return true}}function n1b(a){if(Z$b(a.a))return false;else{w_b(a.a);a.e=true;return true}}function o1b(a){if($$b(a.a))return false;else{x_b(a.a);a.e=true;return true}}function F1b(a){if(b_b(a.a))return false;else{C_b(a.a);a.e=true;return true}}function dyc(a){pvc(a.c.a.c,
a);hCc(a.b!=a.c.a.b);a.a=a.b;a.b=a.b.a;return a.a}function zd(a,b,c){var d,e;d=(e=new Ed,a.c=a.c.b=e,e);d.c=c;d.a=Td(b);return a}function SZb(a,b){var c;Zd(BZb(b));c=new g4b((w7b(),_6b),a);S1b(c,b);return c}function l2b(a,b){var c;for(c=a.b;c;c=c.d)if(b==c)return true;return false}function Zi(a,b){var c,d;c=gw(a.a,b);if(!c)return null;d=b;return Zh(a.b,d,c)}function lec(a,b){return rec(a,vD(qD(nS,1),xLc,23,0,[b,vec(a,(dec(),vdc))]))}function Mdb(){Kdb();return vD(qD(rL,1),gDc,155,0,[Edb,Hdb,Fdb,Gdb,
Jdb,Idb])}function VEb(){SEb();return vD(qD(IO,1),gDc,145,0,[MEb,NEb,OEb,PEb,QEb,REb])}function u4(){q4();return vD(qD(YJ,1),gDc,121,0,[h4,i4,j4,l4,k4,m4,n4,o4,p4])}function N4(){N4=bW;L4=new O4(qEc,0);K4=new O4("CHECK",1);M4=new O4("STRIP",2)}function u1(a){if(a.M.rd!=(H4(),E4)){a.W=new Slb(a.q,a.C,a.M.rd);L0(a,a.W.d)}}function $zb(a){var b;Td(a.a);iE(a.a,104)||(a.a=(vn(),b=a.a,Cp(b)));return a.a}function _zb(a){var b;Td(a.c);iE(a.c,104)||(a.c=(vn(),b=a.c,Cp(b)));return a.c}function jHb(a,b){var c;
c=rFb(a.a,(w7b(),c6b),b.a);DFb(c,b.b.b,b.b.a);return c}function wD(a,b){rD(b)!=10&&vD(yb(b),b.Rj,b.__elementTypeId$,rD(b),a);return a}function Zib(a){Lib();while(!!a&&!(a.j==(w7b(),U6b)||a.j==G5b))a=a.e;return a}function d_b(a,b){if(b.d){!a.d&&(a.d=new O_b);a.d.o|=(!b.d?null:Blc(b.d.o)).a}}function Jcb(a){this.c=new Rcb(this);this.a=a;this.b=!a.n?new jyc:new lyc(a.n)}function cAc(){cAc=bW;$zc=new dAc("All",0);_zc=new hAc;aAc=new jAc;bAc=new mAc}function y3(){y3=bW;Bmc("ABCDEFGHIJKLMNOPQRSTUVWXYZ$");
Bmc("_$");x3=new v4}function Cnb(){Cnb=bW;Bnb=bLb((XKb(),MKb),vD(qD(YO,1),gDc,25,0,[(bMb(),nLb)]))}function $ab(){$ab=bW;Zab=bLb((XKb(),MKb),vD(qD(YO,1),gDc,25,0,[(bMb(),wLb)]))}function Mbb(){Mbb=bW;Lbb=bLb((XKb(),MKb),vD(qD(YO,1),gDc,25,0,[(bMb(),zLb)]))}function j7(){j7=bW;i7=bLb((XKb(),MKb),vD(qD(YO,1),gDc,25,0,[(bMb(),rLb),XLb]))}function _7(){_7=bW;$7=bLb((XKb(),MKb),vD(qD(YO,1),gDc,25,0,[(bMb(),vLb),sLb]))}function V7b(a,b,c){var d;d=c?new Kcc(true):new Kcc(false);return O7b(a,b,0,d)}function CAc(a,
b,c){if(b==null||c==null)throw CV(new Rlc);return Fnc(a.a,b,c)}function rsc(a){msc();dCc(a.d.c+a.e.c==0,"map is not empty");return new Vsc(a)}function fxb(a){Kd(!(a==a.a.v||a==a.a.g));return a.j?ICc:a.i.size()+a.e.size()}function k8(a,b){while(oE(Td(a.e))!==oE(b))a=Td((Lib(),$ib(a.e,Kib)));return a}function Px(a,b){var c,d,e;e=0;for(d=a.Pd();d.Jd();){c=d.Kd();b[e++]=c}return b}function Dh(a){var b;if(!Ch(a))throw CV(new uyc);a.f=1;b=a.e;a.e=null;return b}function Nb(a){var b;if(!Mb(a))throw CV(new uyc);
a.i=1;b=a.g;a.g=null;return b}function EZb(a){var b;Zd(a.j==(w7b(),G5b));b=new g4b(j6b,MGc);R1b(b,a);return b}function Ujb(a){Lib();return a.j==(w7b(),o6b)&&a.qi().length!=0||a.j==_6b&&!a.b}function lE(a){return a!=null&&(typeof a===DCc||typeof a===GCc)&&!(a.Sj===gW)}function eqb(a){if(a.length<=100)return a;return Amc(a,fqb(a,0),fqb(a,97))+aFc}function qRb(a){switch(a){case 48:return 0;case 49:return 1;default:return-1}}function E1b(a,b){if(!a.a.j){a.e=true;B_b(a.a,b);return true}else return false}
function cw(a,b){if(!iE(b,48))return false;return a.contains((Td(b),new lw(b)))}function Tu(a){return iE(a,113)?Un(a):iE(a,165)?a.a:iE(a,67)?new qv(a):new fv(a)}function rD(a){return a.__elementTypeCategory$==null?10:a.__elementTypeCategory$}function pdb(a,b,c,d){var e,f;f=mdb(a,c,true);ydb(f,new Ndb(b,(e=d,++a.a.b,e)))}function mIb(a,b,c,d,e){var f,g;if(d){g=a.i.g;f=cJb(a.i);t0b(a.e,d,b,c,g,f,e)}}function Crc(a,b,c,d){var e;d=(bvc(),!d?$uc:d);e=a.slice(b,c);Drc(e,a,b,c,-b,d)}function Qd(a,b,c,d){if(!a)throw CV(new Nfb(ge(b,
vD(qD(lT,1),bDc,1,5,[c,d]))));}function ee(a,b,c,d){if(!a)throw CV(new llc(ge(b,vD(qD(lT,1),bDc,1,5,[c,d]))));}function o9(){o9=bW;n9=bLb((XKb(),MKb),vD(qD(YO,1),gDc,25,0,[(bMb(),vLb),wLb]))}function Ydb(){Wdb();return vD(qD(tL,1),gDc,147,0,[Udb,Vdb,Tdb,Pdb,Sdb,Qdb,Rdb])}function rub(){pub();return vD(qD(MN,1),gDc,144,0,[kub,lub,mub,iub,nub,oub,jub])}function s1(a,b){a.$=new b5(vD(qD(NN,1),bDc,180,0,[new gqb(a,(n6(),Qo(m6))),b]))}function dKb(a,b){a.a.lh(VJc+t4b(rKc,vD(qD(lT,1),bDc,1,5,[b])),a.b.Hg(),
a.d,a.c)}function eKb(a,b){a.a.lh(VJc+t4b(jKc,vD(qD(lT,1),bDc,1,5,[b])),a.b.Hg(),a.d,a.c)}function fKb(a,b){a.a.lh(VJc+t4b(mKc,vD(qD(lT,1),bDc,1,5,[b])),a.b.Hg(),a.d,a.c)}function gKb(a,b){a.a.lh(VJc+t4b(qKc,vD(qD(lT,1),bDc,1,5,[b])),a.b.Hg(),a.d,a.c)}function ANb(a,b){var c,d;for(d=b.b.Pd();d.Jd();){c=d.Kd();!c.b&&NNb(a,b.a,c.c)}}function boc(a){var b;pvc(a.e,a);hCc(a.b);a.c=a.a;b=a.a.Kd();a.b=aoc(a);return b}function Bmc(a){var b,c;c=a.length;b=sD(rE,OCc,45,c,15,1);kmc(a,0,c,b,0);return b}function Dqc(a,
b,c){for(;c<a.a.length;++c)if(vyc(b,a.a[c]))return c;return-1}function HKb(a,b,c,d,e,f){ke.call(this,a,b);this.d=c;this.c=d;this.b=e;this.a=f}function N8(a){this.e=a;this.c=new Hxc;this.b=new mt;this.a=new Aq;this.d=new mt}function bc(){this.a=Bmc("0123456789_.");this.a.sort(cW(Wrc.prototype.Nj,Wrc,[]))}function bE(){bE=bW;ZD=AD(fEc,fEc,524287);$D=AD(0,0,hEc);_D=yD(1);yD(2);aE=yD(0)}function Cvb(){Cvb=bW;Bvb=new Dvb("","",(Sn(),Sn(),Rn),(null,Rn),(Io(),Io(),Ho))}function AHb(a,b){var c;return!b?null:
new L1b(b,(c=g2b(a.k,51),!c?null:c.Hg()))}function $db(a,b){var c,d;d=b.qi();Cwc(a.a,d);c=g2b(b,51);!!c&&c.vh()&&Cwc(a.c,d)}function OW(a,b){var c;c=b2b(b);2!=c&&cY(sEc+c,b);fX(a,b.b);fX(a,b.b?b.b.f:null)}function Cab(a){var b;Zd(a.j==(w7b(),m6b));b=a.e;Td(a.e);D2b(a.e,a);V1b(b,E2b(a))}function Uib(a,b){Lib();var c;c=a.e;ckb(a,b);Td(a.e);D2b(a.e,a);J1(b,V0(c));x1(b)}function fjb(a){Lib();var b;b=gjb(a);if(b)return b.qi();throw CV(new llc(oIc+a));}function VD(a){if(ND(a,(bE(),aE))<0)return-JD(QD(a));
return a.l+a.m*iEc+a.h*jEc}function MA(a){if(EV(a,ICc)>0)return ICc;if(EV(a,LCc)<0)return LCc;return SV(a)}function O0b(a){if((a.a.a&8)!=0)return false;else{a.a.a|=8;a.e=true;return true}}function E3b(a){var b;if(!a.a.a)throw CV(new uyc);b=a.a.a;a.a.a=a.a.a.e;return b}function LNb(a){var b;b=null;QPb(a,(xTb(),KRb))&&(b=(CNb(a,KRb),DPb(a)));return b}function Xxc(a,b){var c;if(Wxc(a,b)){c=b.ce();Gxc(a.a,c);return true}return false}function Oq(a,b){var c,d;Td(b);for(d=b.Pd();d.Jd();){c=d.Kd();a.lf(Td(c))}return a}
function Alc(a,b){var c;if(b==10||b<2||b>36)return""+a;return c=a,c.toString(b)}function Cp(a){vn();var b;if(iE(a,104)&&!iE(a,238)){b=a;return b}return Dp(a.Pd())}function $0(a){if(!a.j)return vD(qD(CL,1),FEc,60,0,[]);return fY(a.j.a,(pZ(),mZ))}function k1(a){if(!a.j)return vD(qD(CL,1),FEc,60,0,[]);return fY(a.j.a,(pZ(),oZ))}function eCc(a,b){if(!a)throw CV(new Nfb(rCc("Enum constant undefined: %s",b)));}function Md(a,b,c){if(!a)throw CV(new Nfb(ge(b,vD(qD(lT,1),bDc,1,5,[Bkc(c)]))));}function Nd(a,
b,c){if(!a)throw CV(new Nfb(ge(b,vD(qD(lT,1),bDc,1,5,[Blc(c)]))));}function _d(a,b,c){if(!a)throw CV(new llc(ge(b,vD(qD(lT,1),bDc,1,5,[Blc(c)]))));}function hRb(a,b,c,d){this.b=new Lqc;this.c=a;this.a=b;this.e=c;this.d=d;this.f=0}function mnb(){nnb.call(this,"REGISTER_BOOLEAN",0,"goog.tweak.registerBoolean")}function wvb(a,b){var c;c=olc(b.length,a.length);if(c!=0)return c;return emc(a,b)}function YOb(a){var b,c;c=GQb(a.g,0).b.b;b=PNb(a);return new eVb(new SXb(c,a.f),b)}function OOb(a){var b,c;c=
GQb(a.g,0).b.b;b=DNb(a);return new ZUb(new SXb(c,a.f),b)}function VGb(a,b){var c;c=mFb(a.a,(w7b(),R6b));!!b.a&&R1b(c,FFb(a.a,b.a));return c}function CYb(a,b){var c,d;c=yYb(a);b.b=c;if(c==116||c==84){d=yYb(a);b.c=d}return b}function d2b(a,b){var c,d;d=a.b;c=0;while(d){if(b==d)return c;d=d.d;++c}return-1}function Byc(a){var b;b=a.b.a.length==0?null:Cqc(a.b,0);b!=null&&Cyc(a,0);return b}function kjc(a){if(!a.j){a.j=ojc(a);!a.j&&(a.j=new Tic(a.i,$n(ljc(a))))}return a.j}function y0b(a){if((a.a.a&37)!=
0)return false;else{a.a.a|=1;a.e=true;return true}}function Jnb(a){if(Inb(a.d))a.d.b=true;else{Zd(a.a.Hd()&&q2b(a.a.Gd()));a.b=true}}function Knb(a){if(Inb(a.d))a.d.c=true;else{Zd(a.a.Hd()&&q2b(a.a.Gd()));a.c=true}}function xxb(a){return!a?null:a.Fh()==2&&a.Ih().size()==1?Ps(a.Ih().Pd()).d:null}function Cmc(a,b){return b==(oyc(),oyc(),nyc)?a.toLocaleLowerCase():a.toLowerCase()}function Jcc(a,b,c,d){var e;e=Cnc(a.a,b);!e&&(e=new Qwc);Ywc(e.d,c,d);Fnc(a.a,b,e)}function s0b(a,b,c,d,e,f){var g;if(a.b){g=
new Z_b;g.d=b;V_b(g,c,d,e,f);Q_b(a.b,g)}}function YC(a){var b,c;if(a.b){c=null;do{b=a.b;a.b=null;c=_C(b,c)}while(a.b);a.b=c}}function XC(a){var b,c;if(a.a){c=null;do{b=a.a;a.a=null;c=_C(b,c)}while(a.a);a.a=c}}function Gs(a,b){var c;Td(a);Td(b);c=false;while(b.Jd())c=c|a.add(b.Kd());return c}function te(a,b){var c;jCc(b);c=a[":"+b];eCc(!!c,vD(qD(lT,1),bDc,1,5,[b]));return c}function xdb(a,b,c){var d;!a.k&&(a.k=new Lqc);d=new Bdb(b,a);c&&Aqc(a.k,d);return d}function PHb(a,b,c,d,e,f){var g;f?g=jIb(a,
b):g=gIb(a,b);mIb(a,c,d,g,e);return g}function pOb(a,b){var c;c=(Sn(),new ar);while(TPb(a))$q(c,oOb(a,b));return $n(c.a)}function z8(a,b,c){var d;d=c;while(d.e.j==(w7b(),b6b))d=d.e;Q1b(d.e,b,d);N1(a.a,b)}function rkb(a,b,c){Lib();var d;b.Xf(a);if(c.Md(a))for(d=a.b;d;d=d.d)rkb(d,b,c)}function oQb(a,b){this.d=a==5;this.a=!(a==0||a==1);this.b=a==4;this.c=b;this.e=a==0}function Yhc(a,b){this.f=rsc(new Qwc);this.e=a;this.g=false;this.c=b;this.d=new gqc}function WB(a,b){var c,d,e,f;e=a.a.b;f=b.e.b;c=a.a.a;
d=b.e.a;return e==f&&c>=d||e>f}function _1b(a){var b,c;for(b=a.b;b;){c=b.d;b.e=null;b.d=null;b.f=null;b=c}a.b=null}function qwc(a){var b;++a.a;for(b=a.c.a.length;a.a<b;++a.a)if(a.c.b[a.a])return}function N0b(a){if((a.a.a&32)!=0)return false;else{a.a.a|=32;a.e=true;return true}}function k1b(a){if((a.a.a&64)!=0)return false;else{a.a.a|=64;a.e=true;return true}}function lJb(a){if((a&57296)!=0)return false;return a==10||a==13||a==8232||a==8233}function lf(a){if(iE(a,368)||iE(a,367))return a;return iE(a,
3)?new mf(a):new pf(a)}function IW(){IW=bW;GW=new JW(qEc,0);HW=new JW("UNMAPPED",1);FW=new JW("MAPPED",2)}function z4(){z4=bW;w4=new A4(nEc,0);y4=new A4("SENTINEL",1);x4=new A4("NORMAL",2)}function yZ(){yZ=bW;xZ=new s6("JSC_MISSING_RETURN_STATEMENT",(pZ(),oZ),new xnc(KEc))}function onb(){inb();return vD(qD(CM,1),gDc,96,0,[fnb,gnb,hnb,enb,bnb,anb,cnb,dnb])}function sfb(a,b,c){var d;return new pfb(!a?null:(d=g2b(a,51),!d?null:d.Hg()),a,b,c)}function lib(a,b,c){var d;return new pfb(!a?null:(d=g2b(a,
51),!d?null:d.Hg()),a,b,c)}function qib(a){var b;b=a.f;Td(b);$d((Lib(),b.j==(w7b(),U6b)||b.j==G5b),b);M1(a.c,b)}function S2(a,b){var c;c=a.a.Fg(b);if(c){Zd(c.j==(w7b(),U6b));Td(g2b(c,53))}return c}function pzb(a,b){var c,d,e;c=a.b;for(e=b.Pd();e.Jd();){d=e.Kd();c=ozb(c,d)}return c}function ckb(a,b){Lib();var c;a.j==(w7b(),G5b)&&b.Sf(a);for(c=a.b;c;c=c.d)ckb(c,b)}function dkb(a,b){Lib();var c;a.j==(w7b(),G5b)&&b.Rf(a);for(c=a.b;c;c=c.d)dkb(c,b)}function V2b(a,b){var c;c=G2b(a,a.g,51);c!=a.g&&(a.g=
c);!!b&&(a.g=new U3b(51,b,a.g))}function L2b(a,b){var c;c=G2b(a,a.g,78);c!=a.g&&(a.g=c);!!b&&(a.g=new U3b(78,b,a.g))}function Xp(a,b){var c;c=Dxc(a.a,b);if(!c){c=new Ixc(bw(a.b.a));Exc(a.a,b,c)}return c}function jwc(a,b){if(!!b&&a.b[b.f]==b){a.b[b.f]=null;--a.c;return true}return false}function akb(a){Lib();switch(a.f){case 63:case 64:return true;default:return false}}function okb(a){Lib();var b;b=a.j==(w7b(),G5b)?a.b?a.b.f:null:a;return Rib(b,h7b,Gib)}function Mnb(a,b){this.a=new Ne(Td(b));this.d=
b.j==(w7b(),G5b)&&e2b(b,60)!=0?a.d:this}function a5(a){this.e=new xwc;this.b=new i5(this.e);this.c=new sAc(this.b);X4(this,a)}function zfb(){this.d=new Lqc;this.a=new Lqc;this.e="$singleton$";this.b=-1;this.c=-1}function Jxc(a){xwc.call(this);Axc(this);this.b.b=this.b;this.b.a=this.b;zi(this,a)}function LQb(a,b){if((AQb(a,a.d)?dmc(a.e.a,a.d):0)==46){BQb(a);UQb(a)}return KQb(a,b)}function C0b(a){if((a.a.a&256)!=0)return false;else{a.a.a|=256;a.e=true;return true}}function I0b(a){if((a.a.a&mHc)!=0)return false;
else{a.a.a|=mHc;a.e=true;return true}}function f1b(a){if((a.a.a&QHc)!=0)return false;else{a.a.a|=QHc;a.e=true;return true}}function g1b(a){if((a.a.a&IFc)!=0)return false;else{a.a.a|=IFc;a.e=true;return true}}function G1b(a){if((a.a.a&PCc)!=0)return false;else{a.a.a|=PCc;a.e=true;return true}}function J0b(a){if((a.a.a&uIc)!=0)return false;else{a.a.a|=uIc;a.e=true;return true}}function P0b(a){if((a.a.a&hEc)!=0)return false;else{a.a.a|=hEc;a.e=true;return true}}function e1b(a){if((a.a.a&128)!=0)return false;
else{a.a.a|=128;a.e=true;return true}}function T7b(a){var b;if(a.A)return false;else{a.A=true;b=a.Fi();a.A=false;return b}}function cW(a,b,c){var d=function(){return a.apply(d,arguments)};b.apply(d,c);return d}function Lkc(a){var b;b=new Jkc;b.p="Class$"+(a?"S"+a:""+b.k);b.b=b.p;b.n=b.p;return b}function fub(){fub=bW;eub=new gub(qEc,0);dub=new gub("LOCAL",1);cub=new gub("ALL",2)}function occ(){occ=bW;ncc=new pcc("ORDINARY",0);lcc=new pcc(vJc,1);mcc=new pcc(AJc,2)}function qnc(){onc();return vD(qD(tT,
1),gDc,135,0,[nnc,hnc,gnc,inc,lnc,jnc,knc,mnc])}function Nvb(a){Lvb();typeof console!==_Gc&&typeof console.log!==_Gc&&console.log(a)}function Cmb(a){if(a.a)throw CV(new llc("normalizeNodeType constraints violated"));}function scb(){throw CV(new fnc("FunctionInformationMap.newBuilder not implemented"));}function dBb(a,b,c){var d;d=new zwc(a);nE(b)?Gnc(d,b,c):Ywc(d.d,b,c);return new eBb(d)}function AX(a,b,c){var d;DX((w7b(),r6b),b);for(d=b.b;d;d=d.d)c?LW(a,d):SX(a,d,false)}function J2b(a,b){var c;c=
G2b(a,a.g,56);c!=a.g&&(a.g=c);b!=0&&(a.g=new K3b(56,b,a.g))}function Zrc(a,b){var c;esc(b);c=b/31|0;return c<a.a.length&&((a.a[c]|0)>>>b%31&1)==1}function WV(){XV();var a=VV;for(var b=0;b<arguments.length;b++)a.push(arguments[b])}function v5(a,b){var c;for(c=0;c<a.length;c++)if(a[c].a==b)return true;return false}function g_b(a,b){!a.d&&(a.d=new O_b);if(a.d.b!=null)return false;a.d.b=b;return true}function i$b(a,b){!a.d&&(a.d=new O_b);!a.d.r&&(a.d.r=new Lqc);Aqc(a.d.r,b);return true}function bRb(a){if((AQb(a,
a.d)?dmc(a.e.a,a.d):0)==92)return ZQb(a);BQb(a);return true}function R0b(a){if((a.a.a&8192)!=0)return false;else{a.a.a|=8192;a.e=true;return true}}function XXb(a){var b;if(Enc(UXb,a))b=Dnc(UXb,a);else{b=new ZXb;Gnc(UXb,a,b)}return b}function WFb(a){var b;while(a.Jd()){b=a.Kd();if(b.b==(bUb(),$Tb))return b}return null}function Zkc(a,b){var c;if(!a)return;b.o=a;var d=Tkc(b);if(!d){$V[a]=[b];return}d.Qj=b}function Nhc(a,b){var c;c=Lhc(a,b);return c==-1?vec(a.b,(dec(),_dc)):a.e.getAtIndex(c)}function Jhc(a,
b){var c;c=Qhc(a,b.e,b.d.size());return qec(a.b,Ihc(b.d,a.d),Ihc(c,a.e))}function vZb(a,b,c){Zd(BZb(a));Zd(BZb(b));Zd(BZb(c));return new l3b((w7b(),P5b),a,b,c)}function Ue(a){Nd(true,"must be greater than zero: %s",2);return new _e(a.c,a.b,a.d,2)}function vHb(a,b){wHb(a,"msg.bad.fileoverview.visibility.annotation",b,a.i.g,cJb(a.i))}function dcb(a,b,c,d,e){Td(a);Td(b);Td(c);this.b=a;this.d=b;this.c=c;this.e=d;this.a=e}function dsc(a){var b;gCc(a);b=((a-1)/31|0)+1;this.a=sD(sE,$Dc,45,0,15,1);UBc(this.a,
b)}function mec(a,b){return rec(a,vD(qD(nS,1),xLc,23,0,[b,vec(a,(dec(),cec)),vec(a,vdc)]))}function fe(a,b,c,d,e,f){if(!a)throw CV(new llc(ge(b,vD(qD(lT,1),bDc,1,5,[c,d,e,f]))));}function xm(a,b){if(a<0)throw CV(new Nfb(b+" cannot be negative but was: "+a));return a}function g1(a,b,c){var d;if(c<1)return null;d=f1(a,b);if(d)return jpb(d,c);return null}function BV(a){var b;if(iE(a,38))return a;b=a&&a[VDc];if(!b){b=new FC(a);cD(b)}return b}function Otb(a){if(a.d)return new nbb(a.a);else{a.b=new Ytb(a);
return new obb(a.a,a.b)}}function vOb(a){var b;b=GQb(a.g,0).b.b;CNb(a,(xTb(),WSb));return new sUb(new SXb(b,a.f))}function ll(a){var b,c;for(c=a.a.values().Pd();c.Jd();){b=c.Kd();b.a=0}a.a.clear();a.b=0}function XB(a,b,c){var d,e;e=VB(a,c.a);d=UB(a,c.a);(a.b<e||a.b==e&&a.a<d)&&ZB(a,b,c,e,d)}function S1(a,b,c){var d;d=PV(IV(Date.now()),b.a);a.M.rd!=(H4(),E4)&&!!a.W&&Rlb(a.W,c,d)}function STb(a,b,c,d,e){FTb.call(this,(gXb(),EVb),a);this.c=b;this.b=c;this.a=d;this.d=e}function jUb(a,b,c,d,e){FTb.call(this,
(gXb(),OVb),a);this.d=b;this.c=c;this.a=d;this.b=e}function lUb(a,b,c,d,e){FTb.call(this,(gXb(),QVb),a);this.d=b;this.b=c;this.c=d;this.a=e}function AUb(a,b,c,d,e){FTb.call(this,(gXb(),eWb),a);this.d=b;this.b=c;this.c=d;this.a=e}function YUb(a,b,c,d,e){FTb.call(this,(gXb(),iWb),a);this.c=b;this.b=c;this.d=d;this.a=e}function cVb(a,b,c,d,e){FTb.call(this,(gXb(),oWb),a);this.c=b;this.b=c;this.d=d;this.a=e}function _Ub(a,b,c,d,e){FTb.call(this,(gXb(),lWb),a);this.a=b;this.b=c;this.d=d;this.c=e}function kac(a,
b,c,d){J9b.call(this,a);this.d=b;this.c=iE(b,47)?b:null;this.b=c;this.a=d}function C8(a){y8();this.c=new fq(new Hxc,new iq);this.b=new Fwc;this.d=new Fwc;this.a=a}function hcb(a){switch(a.j.f){case 60:case 62:case 61:return true;default:return false}}function ewc(a,b){var c;jCc(b);c=b.f;if(!a.b[c]){a.b[c]=b;++a.c;return true}return false}function _rc(a){var b,c;b=hsc(a.a);if(b==-1)return 0;c=a.a[b]|0;return b*31+(32-wlc(c))}function eD(a){var b=/function(?:\s+([\w$]+))?\s*\(/;var c=b.exec(a);return c&&
c[1]||cEc}function zi(a,b){var c,d;jCc(b);for(d=b.Xd().Pd();d.Jd();){c=d.Kd();a.put(c.ce(),c.de())}}function C2b(a,b,c){var d;d=G2b(a,a.g,b);d!=a.g&&(a.g=d);c!=null&&(a.g=new U3b(b,c,a.g))}function EYb(a,b,c){var d;b.p=c;d=a.b<a.c?dmc(a.a,a.b):-1;return d==46?DYb(a,b):CYb(a,b)}function rbb(a,b,c){var d,e;for(e=new grc(Wib(c));e.a<e.c.a.length;){d=erc(e);sbb(a,b,d)}}function Tpc(a,b,c){var d,e,f;f=a.a.length-1;for(e=a.b,d=0;d<c;e=e+1&f,++d)b[d]=a.a[e]}function cFb(a,b){var c;c=null;while(!!a.b&&a.b.a.a.c<=
b.b.c){c=a.b;a.b=WFb(a.k)}return c}function lIb(a,b){var c;if(a.e.d){c=FHb(a,b,a.f?0:2,false);b=c.b}else b=CHb(a,b);return b}function jFb(a,b,c,d){b.p==(gXb(),FWb)&&(c.a&wGc)==xGc&&(d=nFb(a,(w7b(),$4b),d));return d}function Vd(a,b,c){if(a==null)throw CV(new Tlc(ge(b,vD(qD(lT,1),bDc,1,5,[c]))));return a}function e4b(a,b){if(null==b)throw CV(new Nfb("StringNode: str is null"));a.a=(jCc(b),b)}function _Xb(a,b){yC.call(this,"ConvertionType = "+String.fromCharCode(a)+" class = "+b)}function ZV(a,b){typeof window===
DCc&&typeof window["$gwt"]===DCc&&(window["$gwt"][a]=b)}function L2(a){return a.c.a.length>YDc.length&&imc(YDc,Sjc(a.c,a.c.a.length-YDc.length))}function tqc(a){nCc(a.c>=0);if(bqc(a.d,a.c)<0){a.a=a.a-1&a.d.a.length-1;a.b=a.d.c}a.c=-1}function nib(a,b){Td(a.e);Td(b);Aqc(a.k,b);Lib();hwc(Dib,b.j)&&Ppc(a.b,b);!!a.i&&a.i.mh(a)}function GPb(a){var b,c;b=GQb(a.g,0).b.b;c=ENb(a);return new zXb(new SXb(b,a.f),zNb(a,c))}function RPb(a){switch(GQb(a.g,0).c.f){case 63:case 64:return true;default:return false}}
function dQb(a){switch(GQb(a.g,0).c.f){case 68:case 69:return true;default:return false}}function Mb(a){Zd(a.i!=3);switch(a.i){case 0:return true;case 2:return false}return Ob(a)}function Ch(a){Zd(a.f!=3);switch(a.f){case 2:return false;case 0:return true}return Eh(a)}function hFb(a,b){if(b.d!=a.g){a.g=b.d;(a.g.a&HFc)!=0&&(a.c=true);return true}return false}function Twb(a){var b;for(b=a.Pd();b.Jd();){b.Kd();if(null.Tj())return true}return false}function Mib(a){var b;for(b=a.b.d;b;b=b.d)if(!Vib(b,
(ye(),ue)))return false;return true}function Dq(a){var b;a=$wnd.Math.max(a,2);b=tlc(a);if(a>b){b<<=1;return b>0?b:HDc}return b}function xlc(a){var b,c;if(a==0)return 32;else{c=0;for(b=1;(b&a)==0;b<<=1)++c;return c}}function fJb(a){var b;b=bJb(a);if(b==47)return true;else{a.q[a.r++]=b;--a.b;return false}}function l$b(a,b){if(!c_b(a))return true;!a.b.a&&(a.b.a=new Lqc);Aqc(a.b.a,b);return true}function p$b(a,b){if(!c_b(a))return true;!a.b.g&&(a.b.g=new Lqc);Aqc(a.b.g,b);return true}function m$b(a,b){if(!c_b(a))return true;
if(a.b.b!=null)return false;a.b.b=b;return true}function q$b(a,b){if(!c_b(a))return true;if(a.b.f!=null)return false;a.b.f=b;return true}function s$b(a,b){if(!c_b(a))return true;if(a.b.k!=null)return false;a.b.k=b;return true}function Fxb(a,b){var c;if(!a)return b;if(!b)return a;c=szb(a,b);return 0==c.Fh()?null:c}function Q7b(a,b){var c;if(iE(b,123)){c=b.c;if(!!c&&c.Ni())return Q7b(a,c)}return b.jj()}function wx(a){var b,c,d;d=0;for(c=Wk(a).Pd();c.Jd();){b=c.Kd();d=DV(d,Cl(b))}return MA(d)}function vsc(a,
b){msc();var c;c=new ywc(1);nE(a)?Gnc(c,a,b):Ywc(c.d,a,b);return new cuc(c)}function MHb(a,b,c,d){var e;e=X1b(new h4b((w7b(),$6b),b,c,d),a.k);P2b(e,b.length);return e}function t0b(a,b,c,d,e,f,g){var h;if(a.b){h=new a0b;h.d=b;h.a=g;V_b(h,c,d,e,f);S_b(a.b,h)}}function Bmb(a,b,c){if(a.a)Amb(a,c);else{!!b&&zib(a.b,b,new Gmb);!!c&&zib(a.b,c,new Gmb)}}function gBc(a,b){((qBc(),nBc)?null:b.c).length==0&&sBc(b,new GBc);Gnc(a.a,nBc?null:b.c,b)}function h5(a,b,c){var d;d=b.Og()-c.Og();if(d!=0)return d;return Cnc(a.a,
c).a-Cnc(a.a,b).a}function W9(a){var b,c;c=F2b(a.f);b=F2b(a.f);if(Mjb(b)){a.f=b;X9(a,c.qi())}else S1b(a.p,b)}function L_(a){if(a.n>0){a.e=a.i.a.length;a.f=a.b;Pmc(a.i,10);a.n=0;++a.k;a.b=a.i.a.length}}function E_(a,b){this.i=new _mc;Zd(!!b);this.o=a<=0?ICc:a;this.j=false;this.p=b;this.g=null}function tcb(){throw CV(new fnc("FunctionInformationMap.Entry.newBuilder not implemented"));}function OZ(){OZ=bW;NZ=new s6("JSC_UNREACHABLE_CODE",(pZ(),oZ),new xnc("unreachable code"))}function FZ(){FZ=bW;EZ=
new s6("JSC_USELESS_CODE",(pZ(),oZ),new xnc("Suspicious code. {0}"))}function Owb(){Owb=bW;Nwb=new s6("JSC_USELESS_BLOCK",(pZ(),nZ),new xnc("Useless block."))}function Mwb(){Mwb=bW;Lwb=new s6("JSC_UNUSED_LABEL",(pZ(),nZ),new xnc("Unused label {0}."))}function Lvb(){Lvb=bW;Kvb=new J5(vD(qD(lK,1),bDc,5,0,[new s6(KHc,(pZ(),mZ),new xnc(""))]))}function D7b(){D7b=bW;B7b=new $wnd.RegExp("^[a-zA-Z_$][\\w$]*$");C7b=new $wnd.RegExp("\\s")}function _3(){_3=bW;Y3=new a4(qEc,0);Z3=new a4("USE_GLOBAL_TEMP",1);
$3=new a4("USE_IIFE",2)}function NPb(a){var b,c;c=GQb(a.g,0).b.b;b=MPb(a,1);HNb(a);return new HXb(new SXb(c,a.f),b)}function Cyc(a,b){var c;c=Fqc(a.b,a.b.a.length-1);if(b<a.b.a.length){Hqc(a.b,b,c);zyc(a,b)}}function mzc(a,b){var c,d;c=1-b;d=a.a[c];a.a[c]=d.a[b];d.a[b]=a;a.b=true;d.b=false;return d}function gcb(a,b){var c,d,e;e=a;for(c=a,d=c.e;d!=b;c=d,d=c.e)hcb(d)&&c!=d.b&&(e=d);return e}function Ocb(a,b){var c,d;for(d=b.b.Pd();d.Jd();){c=d.Kd();Ssc(a.a,c)&&c._i(a)}return a.b.b}function sdb(a,b){var c,
d,e;e=W0(a.a.a);d=e.$f(b);if(d)return true;c=e._f(b);return c!=null}function wbb(a,b){var c;if(Cjb(b.d)){c=Uob(b.c,a);return!c||c.wh()!=(w7b(),G6b)}return true}function c_(a,b){var c;r$(a.c,"{");for(c=b.b;c;c=c.d){c!=b.b&&a.c.tg();a.Ag(c,4)}r$(a.c,"}")}function hfb(a,b,c){var d;d=new $mc;d.a+="@";d.a+=b;d.a+=" {";gfb(a,d,c);d.a+="}";return d.a}function NOb(a){var b;b=(Sn(),new ar);while(!QPb(a,(xTb(),URb)))$q(b,uPb(a));return $n(b.a)}function hyb(a){var b;b=a.Fh()==2&&a.Ih().size()==1?Ps(a.Ih().Pd()):
null;return!b?null:b.b}function J1b(a){var b;b=f$b(a,false);b.j==(h0b(),c0b)&&(b.j=null);return new H1b(b,a.c,true)}function rZb(a,b,c){Zd(a.j==(w7b(),o6b));Zd(b.j==G6b);Zd(c.j==U4b);return new l3b(G5b,a,b,c)}function dRb(a){if((AQb(a,a.d)?dmc(a.e.a,a.d):0)==92)return eRb(a,false);BQb(a);return true}function x0b(a){if((a.a.a&262144)!=0)return false;else{a.a.a|=262144;a.e=true;return true}}function QFb(a){if(a>=48&&a<=49)return a-48;throw CV(new llc(RJc+String.fromCharCode(a)));}function VFb(a){if(a>=
48&&a<=55)return a-48;throw CV(new llc(RJc+String.fromCharCode(a)));}function mkb(a){Lib();var b;b=lkb(a);if(b==null)throw CV(new akc("Unknown op "+a));return b}function R0(a){var b;b=new kmb(a,a.W);a.M._==(Q3(),M3)&&imb(b,a.Z);a.M.r&&(b.j=true);return b}function ay(a){var b,c,d;b=0;for(d=a.Pd();d.Jd();){c=d.Kd();b+=c!=null?Ab(c):0;b=~~b}return b}function gzb(a){var b,c;for(c=a.Pd();c.Jd();){b=c.Kd();if(b==b.a.J)return false}return true}function Sjb(a){Lib();switch(a.j.f){case 91:case 86:case 87:case 98:return true}return false}
function Phc(a,b){var c,d;for(d=a.d.Pd();d.Jd();){c=d.Kd();if(c==b)return true}return false}function N2b(a,b){var c;c=G2b(a,a.g,29);c!=a.g&&(a.g=c);!!b&&(a.g=new U3b(29,b,a.g));return a}function p0b(a){return a.e&&((a.a.a&4096)!=0||(a.a.a&HFc)!=0||(a.a.a&IFc)!=0||(a.a.a&16)!=0)}function eyc(a){nCc(!!a.a);pvc(a.c.a.c,a);Txc(a.a);Hnc(a.c.a.c,a.a.d);qvc(a.c.a.c,a);a.a=null}function qsc(a){msc();var b,c;c=new Lqc;for(b=0;b<a;++b)c.a[c.a.length]="";return new Suc(c)}function Fzc(a,b,c,d,e,f){var g;this.c=
a;g=new Lqc;czc(a,g,b,a.b,c,d,e,f);this.a=new ooc(g,0)}function Xxb(a){this.i=new Lqc;this.e=new Lqc;this.f=new Hxc;this.n=(iDb(),hDb);this.a=Td(a)}function uu(a){this.e=a;this.d=new Gwc(bw(Ih(this.e).size()));this.c=this.e.a;this.b=this.e.c}function LA(a){if(!a)throw CV(new Yjc("mode was UNNECESSARY, but rounding was necessary"));}function b1(a){if(a.A.isEmpty())throw CV(new llc("No inputs"));return S2(a.A.getAtIndex(0),a)}function E$b(a){var b;if(!a.d||!a.d.n)return vn(),Wx(),Vx;return vn(),b=new Boc(a.d.n),
Cp(b)}function _jb(a){switch(a.j.f){case 79:return true;case 29:return imc(a.qi(),_Gc)}return false}function Mc(a,b){var c,d,e;jCc(b);c=false;for(e=b.Pd();e.Jd();){d=e.Kd();c=c|a.add(d)}return c}function Pcb(a,b){var c,d;for(d=Iic(b).Pd();d.Jd();){c=d.Kd();Ssc(a.a,c)&&c._i(a)}return a.b.b}function FB(a,b){var c,d;c=Dxc(a.g,b);if(c)d=c.a;else{d=Knc(a.g.c);Exc(a.g,b,Blc(d))}return d}function Nq(a,b){var c,d,e,f;Td(b);for(d=b,e=0,f=d.length;e<f;++e){c=d[e];Kr(a,Td(c))}return a}function dFb(a,b){var c;
c=cFb(a,b);return!!c&&c.c.indexOf("@")==-1?xFb(a,b,wFb(a,c)):fFb(a,c)}function Yz(a,b){var c,d;b=hA(a,b);d=sD(qE,SDc,45,gA(a,Imc(b)),15,1);c=pA(a,d,b);return Zz(d,c)}function Hh(a,b,c){var d,e;d=(e=a.f,!e?a.f=new aj(a,a.c):e).get(b);return!!d&&d.contains(c)}function pib(a,b,c,d){var e,f;e=new pfb(!b?null:(f=g2b(b,51),!f?null:f.Hg()),b,c,d);L1(a.c,e)}function Xbc(a){return new sbc(a.d,null,null,new k9b(a.d,a.c,a.e,false),a.g,a.f,a.a,a.b,false)}function uX(a){var b;b=false;b=!!a.b;b||cY("Expected at least 1 children, but was "+
b2b(a),a)}function gyb(a){var b,c,d;for(d=a.Ih().Pd();d.Jd();){c=d.Kd();b=c.b;if(b)return b}return null}function Vwb(a,b){if(a.isEmpty())return b;if(b.isEmpty()||_x(a,b))return a;return ny(dy(a,b))}function $0b(a){if((a.a.a&33554432)!=0)return false;else{a.a.a|=33554432;a.e=true;return true}}function r1b(a){if((a.a.a&16777216)!=0)return false;else{a.a.a|=16777216;a.e=true;return true}}function bw(a){if(a<3){xm(a,"expectedSize");return a+1}if(a<HDc)return pE(a/.75+1);return ICc}function ym(a,b){var c,
d;for(d=b.Pd();d.Jd();){c=d.Kd();if(!cw(a.a,c))return false}return true}function Zz(a,b){var c;if(b==a.length)return a;else{c=sD(qE,SDc,45,b,15,1);dnc(a,c,b);return c}}function IV(a){if(lEc<a&&a<jEc)return a<0?$wnd.Math.ceil(a):$wnd.Math.floor(a);return FV(OD(a))}function e7(a){switch(a.j.f){case 98:case 86:case 87:case 114:return true;default:return false}}function zjb(a){Lib();switch(a.j.f){case 155:case 108:return true;default:return hwc(Eib,a.j)}}function exb(a){var b;if(a.n.a.isEmpty())return a.d;
b=xxb(a.d);return!b?null:oBb(vBb(b,a.a.i))}function U2b(a,b){var c;c=G2b(a,a.g,58);c!=a.g&&(a.g=c);(b?1:0)!=0&&(a.g=new K3b(58,b?1:0,a.g))}function $2b(a,b){var c;c=G2b(a,a.g,62);c!=a.g&&(a.g=c);(b?1:0)!=0&&(a.g=new K3b(62,b?1:0,a.g))}function B2b(a,b,c){var d;d=G2b(a,a.g,b);d!=a.g&&(a.g=d);(c?1:0)!=0&&(a.g=new K3b(b,c?1:0,a.g))}function j3b(a,b,c,d){i3b.call(this,a,b);this.i=c<0||d<0?-1:(d&-4096)!=0?c<<12|kEc:c<<12|d&kEc}function h3b(a,b,c){this.j=a;this.e=null;this.i=b<0||c<0?-1:(c&-4096)!=0?b<<
12|kEc:b<<12|c&kEc}function tHb(a,b,c){var d;a.b.lh("Missing type declaration.",(d=g2b(a.k,51),!d?null:d.Hg()),b,c)}function u9(a,b,c,d){!!d&&d.j==(w7b(),n5b)&&(d=d.e);switch(c.j.f){case 93:case 94:y9(a,b,c,d)}}function Jjb(a){if(!(a.j==(w7b(),o6b)||a.j==M5b||a.j==_6b||a.j==L5b))return false;return Kjb(a)}function NCb(a,b){if(a==(UCb(),SCb)||b==SCb)return SCb;if(a==TCb||b==TCb)return TCb;return RCb}function OCb(a,b){if(a==(UCb(),RCb)||b==RCb)return RCb;if(a==TCb||b==TCb)return TCb;return SCb}function E0b(a,
b){if(b!=null&&u$b(a.a)==null){h_b(a.a,b);a.e=true;return true}else return false}function _0b(a,b){if(b!=null&&B$b(a.a)==null){p_b(a.a,b);a.e=true;return true}else return false}function vNb(a){switch(a){case 10:case 13:case 8232:case 8233:return true;default:return false}}function lRb(a){switch(a){case 10:case 13:case 8232:case 8233:return true;default:return false}}function kBb(a,b){var c;if(!iE(b,177))return false;if(a===b)return true;c=b;return vyc(a.b,c.b)}function FV(a){var b;b=a.h;if(b==0)return a.l+
a.m*iEc;if(b==gEc)return a.l+a.m*iEc-jEc;return a}function Qs(a,b){var c;Td(b);c=false;while(a.Jd())if(b.contains(a.Kd())){a.Ld();c=true}return c}function jBc(){var a;if(!fBc){fBc=new iBc;a=new DBc("");zBc(a,(RAc(),OAc));gBc(fBc,a)}return fBc}function mbc(a){var b;Kd(a.Th()||a.i==(occ(),mcc));b=kbc(a).ej();if(!b)return null;return b.cj()}function Iab(a){Bab();Kd(a.j==(w7b(),U6b));if(e2b(a,87)!=0)return false;return!!a.b&&a.b.j==m6b}function YPb(a){switch(GQb(a.g,0).c.f){case 65:case 94:case 67:return true;
default:return false}}function eQb(a){switch(GQb(a.g,0).c.f){case 25:case 30:case 38:return true;default:return false}}function aQb(a){switch(GQb(a.g,0).c.f){case 70:case 71:case 72:return true;default:return false}}function rqb(a,b){var c;c=Hnc(a.a,b);if(c){c.a?c.a.b=c.b:a.b=c.b;c.b.a=c.a;c.a=null;c.b=null}}function Rs(a,b){var c;Td(b);c=false;while(a.Jd())if(!b.contains(a.Kd())){a.Ld();c=true}return c}function C6(a,b){var c;if(!A2b(b,sGc,sGc.length))return false;c=Vob(gib(a),sGc);return!c||!c.d.c}
function QV(a){var b,c,d,e;e=a;d=0;if(e<0){e+=jEc;d=gEc}c=pE(e/iEc);b=pE(e-c*iEc);return AD(b,c,d)}function kPb(a,b){switch(GQb(a.g,0).c.f){case 49:return $Nb(a,b);case 45:default:return gPb(a,b)}}function HCb(a,b){if(b.isEmpty())return a;return new JCb(a.c,zyb(a.d,b),!a.b?null:zyb(a.b,b),a.a)}function pIb(a){while(JHb(a,(YIb(),KIb))){!a.n?dJb(a.i):BHb(a);JHb(a,WIb)&&(!a.n?dJb(a.i):BHb(a))}}function FJb(a){return EJb(a)&&IKb(Vb(a)).a==2||EJb(a)&&IKb(Vb(a)).a==3||EJb(a)&&IKb(Vb(a)).a==4}function oec(a,
b){return iE(b,203)||b.Gi()?b:rec(a,vD(qD(nS,1),xLc,23,0,[b,vec(a,(dec(),cec))]))}function ttb(){ttb=bW;stb=Wq(dwc((w7b(),q7b),vD(qD(UR,1),gDc,10,0,[g6b,f5b,G5b,a5b,_4b,S5b,G6b])))}function M7b(){M7b=bW;L7b=(vn(),Fp(vD(qD(lT,1),bDc,1,5,[XGc,"IArrayLike",zGc])));K7b=new Dcc}function rC(){rC=bW;qC=vD(qD(rE,1),OCc,45,15,[48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102])}function kW(){kW=bW;jW=new s6("JSC_READ_ERROR",(pZ(),mZ),new xnc("Cannot read file {0}: {1}"))}function N9(a,b,c){var d;d=new Lqc;
O9(a,b,c,d);$d(d.a.length==1,d);return iCc(0,d.a.length),d.a[0]}function Tub(a,b,c,d,e){var f;f=a.b.c.xh(a.a,b,c,d,e);if(f!=null)return new Vub(a.b,f);return null}function pZb(a,b,c){Zd(a.j==(w7b(),q7b)||BZb(a));Zd(BZb(b));Zd(c.j==U4b);return new l3b(E5b,a,b,c)}function dX(a){var b,c;DX((w7b(),z5b),a);c=b2b(a);(c<1||c>2)&&cY(yEc+c,a);for(b=a.b;b;b=b.d)wX(b)}function lX(a){var b,c;DX((w7b(),T5b),a);c=b2b(a);(c<1||c>2)&&cY(yEc+c,a);for(b=a.b;b;b=b.d)wX(b)}function OX(a){var b,c;DX((w7b(),O6b),a);c=
b2b(a);(c<1||c>2)&&cY(yEc+c,a);for(b=a.b;b;b=b.d)UX(b)}function Pu(a){var b,c,d;b=1;for(d=a.Pd();d.Jd();){c=d.Kd();b=31*b+(c==null?0:Ab(c));b=~~b}return b}function ed(a,b){var c,d;for(c=0,d=a.size();c<d;++c)if(vyc(b,a.getAtIndex(c)))return c;return-1}function Vhc(a,b){var c,d;for(d=new uqc(a.d);d.a!=d.b;){c=sqc(d);if(c==b)return true}return false}function z1b(a){if((a.a.a&16)==0&&(a.a.a&HFc)==0){a.a.a|=16;a.e=true;return true}else return false}function IBc(a){var b,c;c=a.b.exec(a.a);if(c!=null){b=
c[0];if(imc(b,a.a))return true}return false}function sgb(a,b){var c;c=new $mc;if(a!=null){c.a+=""+a;if(b>0){c.a+=":";c.a+=b}c.a+=WDc}return c.a}function qg(a,b){var c;if(iE(b,48)){c=b;return Fd(a.a.ce(),c.ce())&&Fd(a.a.de(),c.de())}return false}function Zw(a,b){var c;if(b===a)return true;if(iE(b,101)){c=b;return wb(a.ne(),c.ne())}return false}function mRb(a){switch(a){case 47:return false;case 92:case 91:return true;default:return!lRb(a)}}function CBb(a,b){hBb();if(!a)return b;if(!b)return a;if(jBb(a,
b))return a;return jBb(b,a)?b:null}function UBb(a,b){var c,d;d=b.a.getAtIndex(0);c=Ii(yi(a.g,d,false));if(c)return c;return sBb(a.d,d)}function kHb(a,b,c){var d,e,f;d=mFb(a.a,b);for(f=c.Pd();f.Jd();){e=f.Kd();R1b(d,FFb(a.a,e))}return d}function Q2b(a,b){var c;c=o3b(a.i);c==-1&&(c=0);a.i=b<0||c<0?-1:(c&-4096)!=0?b<<12|kEc:b<<12|c&kEc}function jPb(a){var b;if(PPb(a,0,(xTb(),DSb))){CNb(a,DSb);b=DPb(a);CNb(a,IRb)}else b=rPb(a);return b}function VNb(a){if(QPb(a,(xTb(),lSb)))return UOb(a);if(QPb(a,$Rb))return AOb(a,
true);return TNb(a)}function IPb(a){var b,c;b=GQb(a.g,0).b.b;c=GPb(a);if(!QPb(a,(xTb(),BSb)))return c;return FPb(a,b,c)}function n$b(a,b){a.a|=4096;if(!c_b(a))return true;if(a.b.c!=null)return false;a.b.c=b;return true}function L0b(a){if((a.a.a&HFc)==0&&(a.a.a&16)==0){a.a.a|=HFc;a.e=true;return true}else return false}function G7b(a,b){var c;!!b&&(c=G2b(a,a.g,78),c!=a.g&&(a.g=c),!!b&&(a.g=new U3b(78,b,a.g)));return a}function pxc(a,b){var c;c=a.a.get(b);if(c===undefined)++a.d;else{fxc(a.a,b);--a.c;
rvc(a.b)}return c}function vBc(a){if(nBc)return sD(jV,JLc,272,0,0,1);return Kqc(a.a,sD(jV,JLc,272,a.a.a.length,0,1))}function bjb(a){Lib();while(!!a&&a.j!=(w7b(),U6b))a=a.e;return!!a&&a.j==(w7b(),U6b)?g2b(a,53):null}function EA(a){var b;if(a!=null){b=a[VDc];if(b)return b}return mE(a,TypeError)?new Slc(a):new BC(a)}function LD(a,b){var c,d,e;c=a.l+b.l;d=a.m+b.m+(c>>22);e=a.h+b.h+(d>>22);return AD(c&fEc,d&fEc,e&gEc)}function UD(a,b){var c,d,e;c=a.l-b.l;d=a.m-b.m+(c>>22);e=a.h-b.h+(d>>22);return AD(c&
fEc,d&fEc,e&gEc)}function hib(a){var b,c;b=a.k.a.length;if(b>0)return Cqc(a.k,b-1);else{c=Xpc(a.n);return c?c.d:null}}function VTb(a,b,c,d,e,f){FTb.call(this,(gXb(),HVb),a);this.d=b;this.b=c;this.e=d;this.c=e;this.a=f}function oXb(a,b,c,d,e,f){FTb.call(this,(gXb(),LWb),a);this.d=b;this.b=c;this.c=d;this.e=e;this.a=f}function hVb(a,b,c,d,e,f){FTb.call(this,(gXb(),tWb),a);this.e=b;this.d=c;this.c=d;this.a=e;this.b=f}function uUb(a,b,c,d,e,f){FTb.call(this,(gXb(),ZVb),a);this.d=b;this.e=c;this.a=d;this.b=
e;this.c=f}function bC(a,b,c,d,e,f,g,h){this.i=a;this.c=b;this.b=c;this.d=d;this.g=e;this.e=f;this.f=g;this.a=h}function xBb(a,b){Zd(a.d.d.isEmpty()||a.cf().containsAll(null.Uj)&&null.Tj(a.cf()));this.b=a;this.a=b}function ptb(a,b,c){XW(a.a,b);XW(a.a,c);otb(a,b,c);mtb(a,c);lW(a.b._)&&Ptb(new Qtb(a.b),b,c);ntb(a,b)}function SNb(a){var b,c;c=GQb(a.g,0).b.b;CNb(a,(xTb(),PRb));b=TNb(a);return new HTb(new SXb(c,a.f),b)}function gbc(a){var b,c;c=a.c.a;if(c){b=c.b?c.b.f:null;if(!b||e2b(b,30)==0)return b2b(c)}return ICc}
function mCb(a,b,c){if(yi(a,c,false))return Ii(yi(a,c,false));else if(b)return sBb(b,c);return null}function Spc(a,b){if(b==null)return false;while(a.a!=a.b)if(wb(b,sqc(a)))return true;return false}function aoc(a){if(a.a.Jd())return true;if(a.a!=a.d)return false;a.a=new axc(a.e.d);return a.a.Jd()}function s_b(a,b){var c;!a.d&&(a.d=new O_b);if(a.d.k)return false;a.d.k=(vn(),c=b,Cp(c));return true}function y_b(a,b){var c;!a.d&&(a.d=new O_b);if(a.d.p)return false;a.d.p=(vn(),c=b,Cp(c));return true}function Gfb(a){var b,
c,d,e,f;f=new xwc;for(c=a.a,d=0,e=c.length;d<e;++d){b=c[d];Gnc(f,b.e,b)}return f}function d$b(a){var b;if(!c_b(a))return null;!a.b.d&&(a.b.d=new Lqc);b=new T_b;Aqc(a.b.d,b);return b}function Bkc(a){var b;if(a<128){b=(Dkc(),Ckc)[a];!b&&(b=Ckc[a]=new pkc(a));return b}return new pkc(a)}function Klb(a){var b;Zd(a.j==(w7b(),U6b));b=g2b(a,51);if(iE(b,183))return ipb(b),b.d.length;return 0}function CNb(a,b){var c;c=PNb(a);if(c.c!=b){fQb(a,c,QKc,vD(qD(lT,1),bDc,1,5,[b]));return null}return c}function uHb(a,
b,c,d){var e;a.b.lh(t4b(b,vD(qD(lT,1),bDc,1,5,[])),(e=g2b(a.k,51),!e?null:e.Hg()),c,d)}function mjb(a){Lib();var b,c;c=null;while(c==null&&!!a){c=(b=g2b(a,51),!b?null:b.Hg());a=a.e}return c}function $pc(a){var b;b=a.a[a.b];if(b==null)return null;a.a[a.b]=null;a.b=a.b+1&a.a.length-1;return b}function Gqc(a,b){var c;c=Dqc(a,b,0);if(c==-1)return false;iCc(c,a.a.length);TBc(a.a,c,1);return true}function vD(a,b,c,d,e){e.Qj=a;e.Rj=b;e.Sj=gW;e.__elementTypeId$=c;e.__elementTypeCategory$=d;return e}function Azc(a,
b,c,d,e,f){var g;this.c=a;g=new Lqc;czc(a,g,b,a.b,c,d,e,f);this.a=new ooc(g,g.a.length)}function HB(a,b,c,d){var e,f;Zd(b>=0);Zd(c>=0);a.f=new WA(b,c);e=new cB;f=nC(d);$A(e,f);bB(e,new OB(a))}function dq(a,b,c){var d,e;return b!=null&&c!=null&&(e=gw((d=a.c,!d?a.c=new oz(a):d),b),!!e&&fw(e,c))}function eY(a,b,c){var d;d=new iY(c,b);if(Cwc(a.c,d)){oCc(Ayc(a.e,d));b==(pZ(),mZ)?++a.d:b==oZ&&++a.f}}function DEb(a,b,c,d,e){var f;this.a=FEb(a);this.d=b;this.b=0;this.f=(vn(),f=c,Cp(f));this.c=d;this.e=e}
function DFb(a,b,c){var d,e;if(p3b(a.i)==-1){e=b.b+1;Q2b(a,e);d=b.a;a.i=u3b(p3b(a.i),d);P2b(a,c.c-b.c)}}function zPb(a){var b,c;c=GQb(a.g,0).b.b;CNb(a,(xTb(),ZSb));b=bOb(a,1);return new pXb(new SXb(c,a.f),b)}function FHb(a,b,c,d){if(b==(YIb(),IIb)||b==KIb||b==JIb)return new wIb("",b);return EHb(a,b,c,true,d)}function dw(a,b){var c;if(a===b)return true;else if(iE(b,44)){c=b;return _x(Jo(a),c.Xd())}return false}function Bnc(a,b,c){var d,e;for(e=c.Pd();e.Jd();){d=e.Kd();if(a.Gj(b,d.de()))return true}return false}
function osc(a){msc();var b,c,d;d=0;for(c=a.Pd();c.Jd();){b=c.Kd();d=d+(b!=null?Ab(b):0);d=d|0}return d}function e3b(a,b){if(!g2b(a,51)){W2b(a,b);a.i=b.i;a.c=b.c}g2b(a,40)==null&&C2b(a,40,g2b(b,40));return a}function c1b(a,b){if(!((a.a.a&16384)!=0||N$b(a.a))&&s_b(a.a,b)){a.e=true;return true}else return false}function nNb(a){hNb();switch(a){case wFc:case vFc:case VEc:case uFc:return true;default:return false}}function Mnc(a,b){dCc(a>=0,"Negative initial capacity");dCc(b>=0,"Non-positive load factor");
Jnc(this)}function yd(a,b){if(a!=null)return a;if(b!=null)return b;throw CV(new Tlc("Both parameters are null"));}function jRb(a){return kRb(a)||(mkc==null&&(mkc=new RegExp("\\d")),mkc.test(String.fromCharCode(a)))}function M0(a,b){var c;if(a.M.vd){c=Ic(new Kc(""),new joc(new Prc(b)));Wmc(a.f,c);Pmc(a.f,10);tBc(J0,c)}}function Xe(a,b){var c,d;Td(b);c=bf(a.c,a,b);d=new Lqc;while(Mb(c))Aqc(d,Nb(c));return msc(),new Suc(d)}function E5(a,b){var c,d;for(d=b.b.Pd();d.Jd();){c=d.Kd();if(!a.b.contains(c))return false}return true}
function IX(a,b){var c;DX((w7b(),_6b),b);JX(b);c=b2b(b);(c<0||c>1)&&cY(zEc+c,b);!!b.b&&!b.b.d&&fX(a,b.b)}function wHb(a,b,c,d,e){var f;a.b.lh(t4b(b,vD(qD(lT,1),bDc,1,5,[c])),(f=g2b(a.k,51),!f?null:f.Hg()),d,e)}function sW(){sW=bW;vn();Fp(vD(qD(lT,1),bDc,1,5,["xterm","xterm-color","xterm-256color","screen-bce"]))}function sQb(){sQb=bW;rQb=new tQb("NORMAL",0);qQb=new tQb("GENERATOR",1);pQb=new tQb("ASYNCHRONOUS",2)}function UCb(){UCb=bW;RCb=new VCb("CONSTANT",0);SCb=new VCb("OPTIONAL",1);TCb=new VCb("REQUIRED",
2)}function Onb(){Onb=bW;Nnb=new s6("JSC_JSON_UNEXPECTED_TOKEN",(pZ(),mZ),new xnc("Unexpected JSON token"))}function AZ(){AZ=bW;zZ=new s6("JSC_MISSING_PROVIDE",(pZ(),oZ),new xnc("missing goog.provide(''{0}'')"))}function YYb(a){WYb();var b;b=XYb(VYb,a);if(b!=null)return b;throw CV(new yC("Resource not found: "+a));}function tlc(a){var b;if(a<0)return LCc;else if(a==0)return 0;else{for(b=HDc;(b&a)==0;b>>=1);return b}}function HD(a){var b,c;c=wlc(a.h);if(c==32){b=wlc(a.m);return b==32?wlc(a.l)+32:b+
20-10}else return c-12}function QD(a){var b,c,d;b=~a.l+1&fEc;c=~a.m+(b==0?1:0)&fEc;d=~a.h+(b==0&&c==0?1:0)&gEc;return AD(b,c,d)}function GD(a){var b,c,d;b=~a.l+1&fEc;c=~a.m+(b==0?1:0)&fEc;d=~a.h+(b==0&&c==0?1:0)&gEc;a.l=b;a.m=c;a.h=d}function vA(a,b){var c,d,e;e=b.length;c=sD(nT,bDc,139,e,0,1);for(d=0;d<e;++d)c[d]=(jCc(b[d]),b[d]);a.f=c}function Ghc(a,b){var c;c=a.d.size()-a.e.size();c<b.size()&&(b=b.Ze(0,c));return qec(a.b,a.d,Ihc(a.e,b))}function fFb(a,b){var c;if(b){c=bFb(a,b);Cwc(a.n,b);if(!hFb(a,
c))return xFb(a,b.a,n0b(c.e))}return null}function dPb(a){var b;b=(Sn(),new ar);while(!QPb(a,(xTb(),HRb))&&!QPb(a,URb))$q(b,uPb(a));return $n(b.a)}function VZb(a,b){var c;Zd(a.j==(w7b(),U4b));Zd(b.j==_4b);c=e3b(new i3b(U4b,b),b);return new k3b(k7b,a,c)}function tvb(a,b,c,d){ovb();wub.call(this,a,b,d);this.a=uvb(a);!c?this.b=(Io(),Io(),Ho):this.b=pvb(c)}function by(a,b){Td(b);iE(b,372)&&(b=b.Je());return iE(b,31)&&b.size()>a.size()?Qs(a.Pd(),b):cy(a,b.Pd())}function lkc(a){if(imc(typeof a,HCc))return true;
return a!=null&&a.$implements__java_lang_CharSequence}function BC(a){sA(this);tA(this);this.backingJsObject=a;a!=null&&sCc(a,VDc,this);this.e=a==null?KCc:fW(a)}function FAb(a){return ayb(),rzb(a.a,2,(vn(),new Py(wCb(a.a,null,null,a,null,a.c,(KBb(),IBb)))),null,Zxb)}function Jic(a){var b,c;for(b=0;b<a.b.size();b++){c=a.b.getAtIndex(b);if(c.$i()){Ric(a);break}}return a.b}function Iic(a){var b,c;for(b=0;b<a.b.size();b++){c=a.b.getAtIndex(b);if(c.$i()){Ric(a);break}}return a.a}function Cl(a){var b,c;
b=a.b.de();if(!b||b.a==0){c=a.a.a.a.get(a.b.ce());if(c)return c.a}return!b?0:b.a}function Uq(a){Io();var b,c;for(c=Td(a).Xd().Pd();c.Jd();){b=c.Kd();Td(b.ce());Td(b.de())}return new Tq(a)}function Fc(a,b,c){Td(b);if(c.Jd()){Smc(b,Jc(c.Kd()));while(c.Jd()){Smc(b,a.a);Smc(b,Jc(c.Kd()))}}return b}function DD(a,b,c,d,e){var f;f=SD(a,b);c&&GD(f);if(e){a=FD(a,b);d?xD=QD(a):xD=AD(a.l,a.m,a.h)}return f}function gzc(a,b,c){var d,e;d=new Lzc(b,c);e=new Mzc;a.b=ezc(a,a.b,d,e);e.b||++a.c;a.b.b=false;return e.d}
function Wb(a,b){var c,d;c=0;for(d=0;d<b.length;d++)hc(a,(qCc(d,b.length),b.charCodeAt(d)))&&++c;return c}function ZA(a,b){var c;do{if(b==0)return null;--b}while(Cqc(a.c,b)==null);c=Cqc(a.c,b);return YA(a,As(c))}function GCb(a,b){var c;if(!iE(b,82))return false;if(a===b)return true;c=b;return dyb(a.d,c.d)&&a.a==c.a}function D$b(a,b){if(!a.d||!a.d.n)return null;if(b>=Knc(a.d.n.c))return null;return zs(new Boc(a.d.n),b)}function zec(a,b,c){Ld(c.indexOf("<")==-1,"Type names cannot contain template annotations.");
Gnc(a.i,c,b)}function iA(a,b){this.b=Td(a);Pd(!b||!bA(a,b.a),"Padding character %s was already in alphabet",b);this.c=b}function Bqc(a,b){var c,d;c=b.toArray();d=c.length;if(d==0)return false;SBc(a.a,a.a.length,c);return true}function eqc(a,b){var c,d;c=a.a.length-1;while(b!=a.b){d=b-1&c;a.a[b]=a.a[d];b=d}a.a[a.b]=null;a.b=a.b+1&c}function dqc(a,b){var c,d;c=a.a.length-1;a.c=a.c-1&c;while(b!=a.c){d=b+1&c;a.a[b]=a.a[d];b=d}a.a[a.c]=null}function dwc(a,b){var c,d,e;c=(d=(e=Gkc(ie(a)),new kwc(e,QBc(e,
e.length),0)),ewc(d,a),d);nsc(c,b);return c}function nsc(a,b){msc();var c,d,e,f,g;g=false;for(d=b,e=0,f=d.length;e<f;++e){c=d[e];g=g|a.add(c)}return g}function psc(a){msc();var b,c,d;d=1;for(c=a.Pd();c.Jd();){b=c.Kd();d=31*d+(b!=null?Ab(b):0);d=d|0}return d}function Pc(a,b){var c,d;jCc(b);for(d=b.Pd();d.Jd();){c=d.Kd();if(!a.contains(c))return false}return true}function Pic(a){var b,c;for(b=0;b<a.b.size();b++){c=a.b.getAtIndex(b);if(c.ai())return true}return false}function UPb(a){switch(GQb(a.g,0).c.f){case 59:case 60:case 61:case 62:return true;
default:return false}}function UFb(a){switch(a.j.f){case 72:case 73:case 101:case 70:case 71:return true;default:return false}}function v2b(a){switch(a.j.f){case 29:case 26:case 27:case 93:case 94:return true;default:return false}}function J7(a){H7();var b;this.b=a;b=new Fwc;this.c=new dcb(a,new H2(a),b,$ob(new g3b((w7b(),U6b))),a.M.f)}function W$(a,b){var c,d;c=false;for(d=b;d;d=d.d){d!=b&&a.c.tg();Y$(a,d,1,4);c=d.j==(w7b(),r5b)}c&&a.c.tg()}function uGb(a,b){var c,d;d=mFb(a.a,(w7b(),W4b));if((!b.a?
null:b.a.a)!=null){c=jHb(a,b.a);R1b(d,c)}return d}function xGb(a,b){var c,d;d=mFb(a.a,(w7b(),g5b));if((!b.a?null:b.a.a)!=null){c=jHb(a,b.a);R1b(d,c)}return d}function h9b(a){var b,c;b=wyc(a.b);if(a.a){c=a.a.b;while(c){b=b*31+wyc(iE(c.k,23)?c.k:null);c=c.d}}return b}function Nic(a){var b,c;for(c=0;c<a.b.size();c++){b=a.b.getAtIndex(c);if(!b.Pi())return false}return true}function k2b(a){var b,c;b=g2b(a,51);if(!b)return-1;c=p3b(a.i);if(c==-1)return-1;return b.uh(c)+o3b(a.i)}function azc(a,b){var c,d,
e;e=a.b;while(e){c=a.a.Qe(b,e.d);if(c==0)return e;d=c<0?0:1;e=e.a[d]}return null}function iQb(a,b){switch(b.p.f){case 28:case 29:a.f=b.o.b,QQb(a.g,a.f.c);return kPb(a,1);default:return b}}function zm(b,c){Td(b);try{return b.contains(c)}catch(a){a=BV(a);if(iE(a,63))return false;else throw CV(a);}}function dib(a,b,c){if(!c)return"  "+b+": NULL";return"  "+b+"("+a3b(c,false,false,false)+"): "+eib(a,c)}function dGb(a){var b;if(!a)return false;b=a.j;return b==(w7b(),B5b)&&a.b.j==$6b&&Oy((_Eb(),WEb),a.b.qi())}
function EV(a,b){var c;if(JV(a)&&JV(b)){c=a-b;if(!isNaN(c))return c}return ND(JV(a)?QV(a):a,JV(b)?QV(b):b)}function f1(a,b){var c;if(b!=null){c=BAc(a.B,new ZZb(b));if(c)return c.a.Kg();return BAc(a.S,b)}return null}function M9(a,b){var c,d;for(d=new grc(a.e);d.a<d.c.a.length;){c=erc(d);if(imc(b,c.c))return c}return null}function MW(a,b){var c,d;DX((w7b(),y4b),b);for(c=b.b;c;c=c.d)c.j==r5b?(d=b2b(c),0!=d&&cY(rEc+d,c)):fX(a,c)}function jab(){var a,b;a=new g3b((w7b(),W4b));b=G2b(a,a.g,67);b!=a.g&&(a.g=
b);a.g=new K3b(67,1,a.g);return a}function zt(a,b,c){var d,e;this.g=a;this.c=b;this.a=this;this.d=this;e=Dq(c);d=sD(OG,CDc,239,e,0,1);this.b=d}function ofb(a,b,c,d,e,f,g){this.g=e;this.e=b;this.c=wnc(e.a,g);this.d=c;this.a=d;this.f=a;this.b=!f?e.c:f}function coc(a){this.e=a;this.d=new sxc(this.e.e);this.a=this.d;this.b=aoc(this);this.$modCount=a.$modCount}function mt(){jt.call(this,new Ixc(16));xm(2,KDc);this.b=2;this.a=new tt(null,null,0,null);rt(this.a,this.a)}function pBb(a){return!null.Tj()&&
!a.b.d.d.isEmpty()?wCb(null.Uj,a,null,null,null,false,null.Uj):null.Tj()}function fob(a,b){return b.j==(w7b(),M5b)?a.c.contains((b.b?b.b.f:null).qi()):b.j==o6b&&a.c.contains(b.qi())}function Veb(a,b){Reb();var c;if(W0(a).dg(b))return true;c=b.b;return c.j==(w7b(),o6b)&&Qeb.contains(c.qi())}function Hbb(a,b,c,d){Ebb();var e,f;if(!a)return null;e=b.hh(c);f=e.Lh();return b.jh(f,(Sn(),new My(Td(d))))}function xHb(a,b,c,d){var e;a.b.lh(VJc+t4b(b,vD(qD(lT,1),bDc,1,5,[]))+WJc,(e=g2b(a.k,51),!e?null:e.Hg()),
c,d)}function Od(a,b){if(!a)throw CV(new Nfb(ge("too many occurrences: %s",vD(qD(lT,1),bDc,1,5,[Nlc(b)]))));}function ae(a,b,c){if(!a)throw CV(new llc(ge("line=%s, lineCount=%s",vD(qD(lT,1),bDc,1,5,[Blc(b),Blc(c)]))));}function eq(a,b,c){var d,e;return b==null||c==null?null:(e=gw((d=a.c,!d?a.c=new oz(a):d),b),!e?null:gw(e,c))}function p_(a,b){var c,d;d=0;c=a.b;for(;!!c&&d<b;c=c.d)c.j==(w7b(),U4b)?d+=p_(c,b-d):c.j==r5b||++d;return d}function t1(a){var b,c,d;d=new Mqc(1);for(c=Us(new joc(a.a));c.Jd();){b=
c.Kd();Aqc(d,new b3(b,true))}return d}function R9(a){var b,c;if(!a.f.b)return;c=F2b(a.f);S1b(a.p,c);for(b=F2b(a.f);b;b=F2b(a.f)){P1b(a.p,b,c);c=b}}function yyc(a,b){var c;if(b*2+1>=a.b.a.length)return;yyc(a,2*b+1);c=2*b+2;c<a.b.a.length&&yyc(a,c);zyc(a,b)}function J_(a,b){var c;Wmc(a.i,b);a.n+=b.length;c=Wb(new ic(10),b);if(c>0){a.k+=c;a.n=b.length-omc(b,Hmc(10))}}function Agb(a,b){var c,d,e;for(e=new uqc(a.b);e.a!=e.b;){d=sqc(e);c=d.rh(b);if(c!=null)return c}return null}function tGb(a,b){var c,d,
e;e=mFb(a.a,(w7b(),U4b));for(d=b.a.Pd();d.Jd();){c=d.Kd();R1b(e,FFb(a.a,c))}return e}function Wob(a,b,c){var d;d=a;while(true){if(Cxc(d.e,b))return true;if(!!d.c&&c){d=d.c;continue}return false}}function nfb(a,b,c){switch(b.f){case 0:return ogb(c,a,false);case 1:return ogb(c,a,true);default:return null}}function u2b(a){switch(a.j.f){case 29:return a.qi().length!=0;case 26:return u2b(a.b);default:return false}}function Ez(a,b){var c;if(b===a)return true;else if(iE(b,552)){c=b;return lj(a.Oe(),c.Oe())}else return false}
function xFb(a,b,c){if(!!c&&(c.a&wGc)!=0){a.i=true;imc(_Kb(a.e),"ts")&&a.d.kh(IIc,a.r,b.b.b+1,b.b.a)}return c}function t5(a,b){var c,d;d=sD(gK,bDc,298,b.length,0,1);for(c=0;c<b.length;c++)d[c]=Cnc(a.c,Bkc(b[c]));return d}function L1(a,b){var c,d;c=b.b;if(a.$){d=_4(a.$,b);!!d&&(c=d)}if(c!=(pZ(),nZ)){!a.M&&r1(a,new J3);nqb(a.j,c,b)}}function dY(a){var b,c;b=new Lqc;for(c=Byc(a.e);c;c=Byc(a.e)){a.Vf(c.b,c.a);b.a[b.a.length]=c}xyc(a.e,b);a.Uf()}function EJb(a){var b,c,d,e;for(c=JKb(),d=0,e=c.length;d<
e;++d){b=c[d];if(imc(b.d,a))return true}return false}function INb(a,b){var c;c=DNb(a);if(!c||!imc(c.a,b)){fQb(a,c,QKc,vD(qD(lT,1),bDc,1,5,[b]));return null}return c}function FNb(a){var b;b=GQb(a.g,0);switch(b.c.f){case 101:case 100:return PNb(a);case 2:default:return ENb(a)}}function Mjb(a){Lib();switch(a.j.f){case 72:case 73:case 101:case 71:case 70:return true;default:return false}}function H7b(a){var b,c;c=a.Pd();b=FZb(c.Kd());while(c.Jd())b=tZb(b,QZb(c.Kd()));return new p4b((w7b(),p6b),b)}function tX(a){var b;
b=false;b=!(!!a.b&&!!a.b.d);b||cY("Expected no more than 1 children, but was "+b2b(a),a)}function sib(a,b){var c;c=b.xf();!!a.g&&(c=b.xf()+YDc+dib(a,"Node",a.e)+(!a.e?"":dib(a,"Parent",a.e.e)));T1(c,b)}function P9(a,b){var c,d;c=oZb(dab(a,new P3b(b)));d=G2b(c,c.g,66);d!=c.g&&(c.g=d);c.g=new K3b(66,1,c.g);return c}function Iob(a,b){var c,d;for(d=Jo(a.b).Pd();d.Jd();){c=d.Kd();if(IBc(KBc(c.ce(),b)))return c.de()}return null}function Sob(a){var b;b=a;while(b){if(b.d.j==(w7b(),G5b)||Cjb(b.d)||!b.c||b.d.j==
m6b)return b;b=b.c}return null}function kvb(a){ivb();var b;b=DFc.length;if(imc(a.substr(a.length-b,b),DFc))return Amc(a,0,a.length-3);return a}function tC(b,c){rC();var d;try{sC(c,b)}catch(a){a=BV(a);if(iE(a,102)){d=a;throw CV(new AC(d));}else throw CV(a);}}function Yf(a,b){Zd(!this.b);Zd(!this.d);Kd(Knc(a.c)==0);Kd(b.d.c+b.e.c==0);Kd(true);this.b=a;this.d=this._d(b)}function Jkc(){this.k=Ekc++;this.p=null;this.n=null;this.j=null;this.d=null;this.b=null;this.o=null;this.a=null}function oBb(a){return!null.Tj()&&
!a.b.d.d.isEmpty()?Jyb(wCb(null.Uj,a,null,null,null,false,null.Uj)):null.Uj}function yb(a){return nE(a)?qT:kE(a)?YS:jE(a)?VS:hE(a)?a.Qj:uD(a)?a.Qj:a.Qj||Array.isArray(a)&&qD(_I,1)||_I}function K$(a){return a==95||a==36||(nkc==null&&(nkc=new RegExp(ZCc,"i")),nkc.test(String.fromCharCode(a)))}function A9(a,b){return vZb(PZb(a,(ce(lmc(_Gc,Hmc(46))==-1,NEc,_Gc),new g4b((w7b(),o6b),_Gc))),b,Y1b(a,false))}function NNb(a,b,c){b==(xTb(),MRb)?hQb(a,RKc,vD(qD(lT,1),bDc,1,5,[])):DTb(c)&&hQb(a,SKc,vD(qD(lT,1),
bDc,1,5,[]))}function fmb(a,b,c){var d;if(a.j){d="AST hashCode after "+b+WDc+ACc(V1(a.b,c));M0(a.b,vD(qD(qT,1),NCc,2,6,[d]))}}function WGb(a,b){var c;Kd(b.c==(xTb(),dTb));c=rFb(a.a,(w7b(),$6b),vFb(a.a,b,false));DFb(c,b.b.b,b.b.a);return c}function gr(a,b){var c;if(iE(b,81)){Td(b.ce());Td(b.de());c=b;Aqc(a.b,c)}else Aqc(a.b,To(b.ce(),b.de()));return a}function gRb(a){var b;b=false;while(AQb(a,a.d)&&oRb(AQb(a,a.d)?dmc(a.e.a,a.d):0))lRb(BQb(a))&&(b=true);return b}function zrc(a){var b,c,d,e,f;f=1;for(c=
a,d=0,e=c.length;d<e;++d){b=c[d];f=31*f+(b!=null?Ab(b):0);f=f|0}return f}function ne(a){var b,c,d,e,f;b={};for(d=a,e=0,f=d.length;e<f;++e){c=d[e];b[":"+(c.e!=null?c.e:""+c.f)]=c}return b}function rec(a,b){var c,d,e,f,g;c=new pjc(a);for(e=b,f=0,g=e.length;f<g;++f){d=e[f];jjc(c,d,false)}return kjc(c)}function wfb(a){var b,c,d;b=(Sn(),new ar);for(d=new grc(a.a);d.a<d.c.a.length;){c=erc(d);$q(b,c.e)}return $n(b.a)}function yfb(a){var b,c;for(c=new grc(a.d);c.a<c.c.a.length;){b=erc(c);Kd(true);b.j=null}a.d.a=
sD(lT,bDc,1,0,5,1)}function kOb(a){var b,c;c=GQb(a.g,0).b.b;CNb(a,(xTb(),CSb));b=yPb(a);CNb(a,HRb);return new PTb(new SXb(c,a.f),b)}function IOb(a){var b,c;c=GQb(a.g,0).b.b;CNb(a,(xTb(),CSb));b=yPb(a);CNb(a,HRb);return new PTb(new SXb(c,a.f),b)}function Uy(a){var b;if(!a.a.Jd()){a.b=dyc(a.c);a.a=a.b.e.Xd().Pd()}b=a.a.Kd();return new Iz(a.b.d,b.ce(),b.de())}function vab(a,b){var c;this.c=a;this.a=b;c=new Fwc;this.b=new dcb(b,new H2(b),c,$ob(new g3b((w7b(),U6b))),b.M.f)}function Cec(a,b,c){var d;d=
Dnc(a.o,b);if(!d){d=new qjc(a,3E3);Gnc(a.o,b,d)}jjc(d,c,false);gec(a,b,c);Inc(a.e,b)}function Gvc(a){var b;this.a=(b=a.e&&a.e(),new kwc(b,QBc(b,b.length),0));this.b=sD(lT,bDc,1,this.a.a.length,5,1)}function Yvb(){Yvb=bW;Xvb=new s6("JSC_DUPLICATE_CASE",(pZ(),oZ),new xnc("Duplicate case in a switch statement."))}function Zwb(){Zwb=bW;Xwb=new $wb("NOT_RESOLVED",0);Wwb=new $wb("DURING_RESOLUTION",1);Ywb=new $wb("RESOLVED",2)}function Q3(){Q3=bW;N3=new R3(qEc,0);O3=new R3("START",1);P3=new R3("START_AND_END",
2);M3=new R3("EVERY_PASS",3)}function $8(a,b){var c,d,e;e=djb(b);d=(Lib(),$ib(b,new ykb((w7b(),G5b))));if(!d)return;c=new j9(a,e);zib(a.a,d,c)}function Qc(a,b){var c,d,e;jCc(b);c=false;for(d=a.Pd();d.Jd();){e=d.Kd();if(b.contains(e)){d.Ld();c=true}}return c}function Vwc(a,b,c){var d,e,f,g;for(e=c,f=0,g=e.length;f<g;++f){d=e[f];if(a.b.Gj(b,d.ce()))return d}return null}function gw(b,c){Td(b);try{return b.get(c)}catch(a){a=BV(a);if(iE(a,903)||iE(a,63))return null;else throw CV(a);}}function B0b(a,b){if(!!b&&
(a.a.a&37)==0&&(a.a.a&4)==0&&y1b(a,b)){a.a.a|=4;a.e=true;return true}else return false}function TFb(a){switch(a.j.f){case 72:case 73:case 101:case 70:case 71:case 67:return true;default:return false}}function Ep(a){vn();Td(a);switch(a.length){case 0:return Wx(),Vx;case 1:return new Py(a[0]);default:return Fp(a)}}function UYb(a){var b;for(b=0;b<a.length;b++){qCc(b,a.length);if(a.charCodeAt(b)!=32)return a.substr(b)}return a}function CGb(a,b){var c;c=pFb(a.a,(w7b(),D5b),nHb(a,b.d,b),nHb(a,b.b,b),nHb(a,
b.c,b));R1b(c,GFb(a.a,b.a));return c}function aOb(a,b,c){var d,e;Qpc(a.e,c);QPb(a,(xTb(),CSb))?d=IOb(a):d=bOb(a,b);e=_pc(a.e);hCc(e!=null);return d}function DOb(a,b,c){var d,e;CNb(a,(xTb(),jSb));e=QNb(a,1);CNb(a,IRb);d=xPb(a);return new yUb(new SXb(b,a.f),c,e,d)}function kib(a,b){var c,d,e;c=Zib(b);a.f=c;e=fib(c);e?rib(a,g2b(e,53),(d=g2b(e,51),!d?null:d.Hg())):rib(a,null,"")}function Rc(a,b){var c,d,e;jCc(b);c=false;for(d=a.Pd();d.Jd();){e=d.Kd();if(!b.contains(e)){d.Ld();c=true}}return c}function ZX(a,
b){var c,d;gX(a,(bMb(),_Lb),b);DX((w7b(),m7b),b);d=y7b(b.j);d!=-1&&(c=b2b(b),d!=c&&cY(tEc+d+uEc+c,b))}function Z8(a,b){L1(a.a,sfb(b,(Ebb(),Cbb),vD(qD(qT,1),NCc,2,6,["Computed property with non-qualified-name key"])))}function wY(a,b){if(e2b(b,94)!=0)throw CV(new llc(a+"existing scope is improperly marked as deleted:\n"+b3b(b)));}function cY(a,b){throw CV(new llc(a+". Reference node:\n"+b3b(b)+"\n Parent node:\n"+(b.e?b3b(b.e):" no parent ")));}function DV(a,b){var c;if(JV(a)&&JV(b)){c=a+b;if(lEc<
c&&c<jEc)return c}return FV(LD(JV(a)?QV(a):a,JV(b)?QV(b):b))}function LV(a,b){var c;if(JV(a)&&JV(b)){c=a*b;if(lEc<c&&c<jEc)return c}return FV(PD(JV(a)?QV(a):a,JV(b)?QV(b):b))}function PV(a,b){var c;if(JV(a)&&JV(b)){c=a-b;if(lEc<c&&c<jEc)return c}return FV(UD(JV(a)?QV(a):a,JV(b)?QV(b):b))}function tyb(a){if(-1==a.Fh())return a;if(ICc==a.Fh())return a.e.f;return rzb(a.e,a.Fh()&-9&-3,$xb,a.Rh(),a.Ch())}function Tjb(a){Lib();var b;if(a.j!=(w7b(),M5b))return false;b=a.b;return b.j==M5b&&imc((b.b?b.b.f:
null).qi(),PEc)}function kkb(a,b){Lib();var c;c=(ce(lmc(a,Hmc(46))==-1,NEc,a),new g4b((w7b(),o6b),a));!!b&&c3b(c,b);return jkb(c,b)}function nHb(a,b,c){var d;if(!b){d=mFb(a.a,(w7b(),r5b));p3b(d.i)==-1&&DFb(d,c.o.b,c.o.a);return d}return FFb(a.a,b)}function mmb(a,b,c){var d;if(a.f.q&&a.b){d=100*($wnd.Math.abs(c-b)/b);d<.05?++a.a:a.a=0;return a.a<2}return true}function sqc(a){var b;hCc(a.a!=a.b);b=a.d.a[a.a];kqc(a.b==a.d.c&&b!=null);a.c=a.a;a.a=a.a+1&a.d.a.length-1;return b}function N7b(a,b,c){c&&a.Pi()&&
!a.ai()&&!a.Yi()&&!a.Xi()&&!a.Wi()&&!a.$i()&&!W7b(a)&&(b.a+="!",b);return a.zi(b,c)}function EOb(a,b,c){var d,e;INb(a,"of");e=QNb(a,1);CNb(a,(xTb(),IRb));d=xPb(a);return new zUb(new SXb(b,a.f),c,e,d)}function Wbb(a,b,c,d){if(!b||b==c)return;$d(!Sjb(b),b);Wbb(a,b.d,c,d);if(_bb(a,b,d.b)){d.b=true;d.a=$bb(a,b,d.a)}}function hw(b,c){Td(b);try{return b.remove(c)}catch(a){a=BV(a);if(iE(a,903)||iE(a,63))return null;else throw CV(a);}}function Xz(b,c){var d;try{return Yz(b,c)}catch(a){a=BV(a);if(iE(a,196)){d=
a;throw CV(new Pfb(d));}else throw CV(a);}}function O2(b){var c;try{return b.Eg()}catch(a){a=BV(a);if(iE(a,38)){c=a;sf(c);throw CV(new AC(c));}else throw CV(a);}}function kYb(a){if(kE(a.a))throw CV(new yC("Double.toHexString is outside the GWT subset"));else throw CV(fYb(a));}function n0b(a){var b;if(a.e){Zd(!!a.a);b=a.a;a.a=null;!b.j&&B_b(b,(h0b(),c0b));a.e=false;return b}else return null}function pGb(a,b){var c,d,e,f;f=mFb(a.a,(w7b(),y4b));for(e=b.a.Pd();e.Jd();){d=e.Kd();c=FFb(a.a,d);R1b(f,c)}return f}
function iZb(a,b){var c,d;c=WZb((w7b(),$4b),a);d=G2b(c,c.g,29);d!=c.g&&(c.g=d);!!b&&(c.g=new U3b(29,b,c.g));return c}function ync(a,b){var c,d;for(c=0;c<b.length;c++){d="{"+c+"}";while(a.indexOf(d)!=-1)a=tmc(a,d,Lmc(b[c]))}return a}function $i(a,b){var c,d;c=a.a.remove(b);if(!c)return null;d=a.b.ze();d.addAll(c);a.b.d-=c.size();c.clear();return d}function G2b(a,b,c){var d;if(!b)return null;else if(b.c==c)return b.b;else{d=G2b(a,b.b,c);return d!=b.b?b.wi(d):b}}function _ab(a,b,c){var d,e;while(b.b!=
(b.b?b.b.f:null)){d=$1b(b.b?b.b.f:null);e=c3b(mZb(d,b.j),b);P1b(c,e,b);qib(a)}}function Xtb(a){var b,c,d;for(c=new grc(a.a);c.a<c.c.a.length;){b=erc(c);d=b.e;if(d){Td(b.e);D2b(b.e,b);N1(a.b.a,d)}}}function Aub(a,b){var c,d;if(Dwc(a.a,b))return;Cwc(a.a,b);for(d=Vh(a.d,b).Pd();d.Jd();){c=d.Kd();Aub(a,c)}Aqc(a.c,b)}function CHb(a,b){do{if(b==(YIb(),KIb)||b==IIb||b==JIb){a.g=(AIb(),yIb);return b}b=!a.n?dJb(a.i):BHb(a)}while(true)}function qec(a,b,c){!b&&(b=(Sn(),Sn(),Rn));!c&&(c=(Sn(),Sn(),Rn));return b.isEmpty()&&
c.isEmpty()?a.d:new Shc(a,b,c)}function Wq(a){vn();switch(a.c){case 0:return Wx(),Vx;case 1:return new Py(Ps(new twc(a)));default:return new Vq(a)}}function _pc(a){var b;b=a.a[a.c-1&a.a.length-1];if(b==null)return null;a.c=a.c-1&a.a.length-1;a.a[a.c]=null;return b}function yrc(a){var b,c,d,e,f;if(a==null)return 0;f=1;for(c=a,d=0,e=c.length;d<e;++d){b=c[d];f=31*f+b;f=f|0}return f}function f9b(a){var b,c;if(a.a)for(b=a.a.b;b;b=b.d){c=iE(b.k,23)?b.k:null;if(!!c&&T7b(c))return true}return false}function GB(a,
b){var c;if(b!=a.c){a.c=b;c=Dxc(a.k,b);if(c)a.d=c.a;else{a.d=Knc(a.k.c);Exc(a.k,b,Blc(a.d))}}return a.d}function m3(a,b){var c,d;l3(a,b,null);Kd(b.j==(w7b(),U6b));c=g2b(b,89);if(c){d=_Kb(c);imc(d,"es3")||gzc(a.a,"lang",d)}}function l0b(a,b){var c;if(!Cwc(a.c,b))return false;c=A$b(a.a);c==null&&(c="");o_b(a.a,c+(""+b));a.e=true;return true}function ABb(a,b){hBb();if(!a||!b)return null;if(jBb(a,b))return b;if(jBb(b,a))return a;return null.Tj()?a:BBb(a,b)}function Am(b,c){Td(b);try{return b.remove(c)}catch(a){a=
BV(a);if(iE(a,903)||iE(a,63))return false;else throw CV(a);}}function S7b(a){var b,c,d;b=(vn(),new Or);for(d=a.Ei().d.Pd();d.Jd();){c=d.Kd();Aqc(b.a,Td(c))}return Dp(new grc(b.a))}function jac(a,b){var c;c=a.d.Ci(b);return c.Mi()||c.Ki()||c.Li()||vec(c.B,(dec(),rdc))==c?null:new kac(a.B,c,a.b,a.a)}function kkc(a,b){gkc();return nE(a)?emc(a,b):kE(a)?jlc((jCc(a),a),(jCc(b),b)):jE(a)?jkc((jCc(a),a),(jCc(b),b)):a.Ud(b)}function e$b(a){!a.d&&(a.d=new O_b);!a.d.p?a.d.p=(vn(),new Py(pGc)):a.d.p=Dp(new grc(Lr(Nr(new Or,
a.d.p),pGc).a))}function ZB(a,b,c,d,e){Zd(a.b<=d);Zd(a.b<d||a.a<e);if(a.b==d&&a.a==e)throw CV(new klc);b.Ef(c,a.b,a.a,d,e);a.b=d;a.a=e}function R1b(a,b){var c;Rd(!b.e,b,b.e,a);Kd(!b.d);Kd(!b.f);if(!a.b){b.f=b;a.b=b}else{c=a.b.f;c.d=b;b.f=c;a.b.f=b}b.e=a}function D8(a,b,c){y8();var d,e,f;e=g2b(a,29);if(!e){e=g2b(b,29);f=G2b(b,b.g,29);f!=b.g&&(b.g=f)}d=K1b(e);N2b(c,n0b(d))}function Brc(a,b,c,d,e,f,g,h){var i;i=c;while(f<g)i>=d||b<c&&h.Qe(a[b],a[i])<=0?e[f++]=a[b++]:e[f++]=a[i++]}function Arc(a,b,c,
d){var e,f,g;for(e=b+1;e<c;++e)for(f=e;f>b&&d.Qe(a[f-1],a[f])>0;--f){g=a[f];a[f]=a[f-1];a[f-1]=g}}function TGb(a,b){var c,d,e;e=new o4b((w7b(),N6b));for(d=b.a.Pd();d.Jd();){c=d.Kd();R1b(e,FFb(a.a,c))}return aFb(a.a,e)}function mHb(a,b,c){var d;if(!b){d=mFb(a.a,(w7b(),r5b));p3b(d.i)==-1&&DFb(d,c.o.b,c.o.a);return d}return LGb(a,b,false)}function Blc(a){var b,c;if(a>-129&&a<128){b=a+128;c=(Dlc(),Clc)[b];!c&&(c=Clc[b]=new nlc(a));return c}return new nlc(a)}function Kp(a){vn();switch(a.size()){case 0:return Wx(),
Vx;case 1:return new Py(a.Pd().Kd());default:return new Xx(a)}}function hxb(a){var b,c;b=a.i.size()+a.e.size()+(a.j?1:0);c=new Mqc(b);Bqc(c,a.i);Bqc(c,a.e);!!a.j&&Aqc(c,a.j);return c}function Gc(b,c,d){var e;try{Fc(b,c,d)}catch(a){a=BV(a);if(iE(a,102)){e=a;throw CV(new dkc(e));}else throw CV(a);}return c}function Yb(a,b){var c;for(c=b.length-1;c>=0;c--)if(!wc(a,(qCc(c,b.length),b.charCodeAt(c))))return false;return true}function SA(){SA=bW;var a;RA=sD(sE,$Dc,45,256,15,1);rrc(RA);for(a=0;a<64;a++)RA[qCc(a,
RDc.length),RDc.charCodeAt(a)]=a}function cZ(){cZ=bW;bZ=new s6("JSC_USED_GLOBAL_THIS",(pZ(),oZ),new xnc("dangerous use of the global 'this' object"))}function QZ(){QZ=bW;PZ=new s6("JSC_UNUSED_PRIVATE_PROPERTY",(pZ(),nZ),new xnc("Private property {0} is never read"))}function xwb(){xwb=bW;wwb=new s6("JSC_MISSING_SEMICOLON",(pZ(),nZ),new xnc("Missing semicolon (fix with go/fixjs)"))}function Rcc(){Rcc=bW;Occ=new Scc("MATCH",0,true);Pcc=new Scc("NOT_MATCH",1,false);Qcc=new Scc("PROCESSING",2,true)}function nmb(a){var b,
c;for(c=new grc(a.d);c.a<c.c.a.length;){b=erc(c);if(po((dmb(),amb),b.b))return true}return false}function tIb(a){sHb();var b,c;b=new EEb(new Fwc,new Fwc,(SEb(),MEb),1);c=new sIb(new iJb(a),a,0,null,b,new mJb);return c}function jqb(a){this.a=new ZZb(a);this.c=new mpb(a);this.b=new g3b((w7b(),U6b));C2b(this.b,53,this.a);V2b(this.b,this.c)}function Dvb(a,b,c,d,e){Cvb();this.e=a;this.b=b;this.c=c?$n(c):(Sn(),Sn(),Rn);this.d=d?$n(d):(Sn(),Sn(),Rn);this.a=Qo(e)}function l_(a){S$(this);this.c=a;this.f=false;
this.j=true;this.g=false;this.i=false;this.k=false;this.e=new mfb(false)}function mQb(a,b,c,d){d=Emc(d);imc(d.substr(0,21),"//# sourceMappingURL=")&&(a.b.i=d.substr(21));$q(a.a,new XTb(d,c,b))}function vpb(a,b){var c;b.length!=0&&g2b(a,40)==null&&(c=G2b(a,a.g,40),c!=a.g&&(a.g=c),b!=null&&(a.g=new U3b(40,b,a.g)))}function Z1b(a,b,c){var d;T2b(b,a.i);P2b(b,a.c);Y2b(b,a.k);S2b(b,a.g);if(c){d=g2b(a,29);!!d&&N2b(a,f$b(d,true))}return b}function I7b(a,b){var c,d,e;if(Bs(b))return a;c=new p4b((w7b(),F6b),
a);for(e=b.Pd();e.Jd();){d=e.Kd();R1b(c,d)}return c}function Ihc(a,b){var c;if(a.isEmpty())return b;if(b.isEmpty())return a;c=(Sn(),new ar);Oq(c,a);Oq(c,b);return $n(c.a)}function jlc(a,b){if(a<b)return-1;if(a>b)return 1;if(a==b)return a==0?jlc(1/a,1/b):0;return isNaN(a)?isNaN(b)?0:1:-1}function h1b(a){if(!((a.a.a&16384)!=0||N$b(a.a))&&(a.a.a&16384)==0){a.a.a|=16384;a.e=true;return true}else return false}function DTb(a){var b;b=a;while(b.p==(gXb(),FWb))b=b.a;switch(b.p.f){case 59:case 61:return true;
default:return false}}function Ohc(a){var b,c,d,e;if(a.c!=null)for(c=a.c,d=0,e=c.length;d<e;++d){b=c[d];if(T7b(b))return true}return false}function Gic(a){var b,c,d;c=new pjc(a.B);for(b=0;b<a.b.size();b++){d=a.b.getAtIndex(b);jjc(c,d.Ai(),false)}return kjc(c)}function Sic(a){var b,c,d;c=new pjc(a.B);for(b=0;b<a.b.size();b++){d=a.b.getAtIndex(b);jjc(c,d.Ti(),false)}return kjc(c)}function Ss(a){var b,c;c=Pmc(new $mc,91);b=true;while(a.Jd()){b||(c.a+=$Cc,c);b=false;Vmc(c,a.Kd())}return(c.a+="]",c).a}
function As(a){var b;if(iE(a,46)){b=a;if(b.isEmpty())throw CV(new uyc);return b.getAtIndex(b.size()-1)}return Ns(a.Pd())}function yY(a){Zd(a.j==(w7b(),S6b));if(e2b(a,56)!=0)throw CV(new llc("Root nodes should never be marked as changed."));}function NYb(a){if(a.b==116||a.b==84)throw CV(new PYb(gE(a.b)+""+gE(a.c)));throw CV(new PYb(String.fromCharCode(a.b)));}function sNb(a,b,c){var d,e;return new SXb((e=qNb(a,b),new QXb(a.b,b,e,b-a.a[e])),(d=qNb(a,c),new QXb(a.b,c,d,c-a.a[d])))}function S1b(a,b){var c;
Kd(!b.e);Kd(!b.d);Kd(!b.f);b.e=a;b.d=a.b;if(!a.b)b.f=b;else{c=a.b.f;b.f=c;b.d=a.b;a.b.f=b}a.b=b}function G9b(a,b){var c;for(c=a;c;c=c.ej()){!!c.Zi()&&(c=c.Zi().c);if(O7b(c,b,0,new Kcc(true)))return true}return false}function fw(b,c){Td(b);try{return b.containsKey(c)}catch(a){a=BV(a);if(iE(a,903)||iE(a,63))return false;else throw CV(a);}}function rRb(a){switch(a){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:return a-48;default:return-1}}function ovb(){ovb=bW;nvb=vD(qD(qT,1),NCc,
2,6,["",DFc,".json"]);mvb=vD(qD(qT,1),NCc,2,6,[EIc,"/index.js","/index.json"])}function kFb(a,b,c){a.e=bLb(a.e,vD(qD(YO,1),gDc,25,0,[c]));ZKb(a.a.c.a,c)||a.d.lh(NJc+UEb(c)+OJc+c,a.r,b.b.b.b+1,b.b.b.a)}function lFb(a,b,c){a.e=bLb(a.e,vD(qD(YO,1),gDc,25,0,[c]));ZKb(a.a.c.a,c)||a.d.lh(NJc+UEb(c)+OJc+c,a.r,b.o.b.b+1,b.o.b.a)}function Dab(a,b,c,d){if(c.j==(w7b(),S5b))Fab(a,b,c,d);else if(c.j==y5b)Eab(a,b,c,d);else if(c.j==U6b){++a.f;Gab(a,b,c)}}function Teb(a,b){var c;b.j==(w7b(),U4b)&&(b=b.e);if(b.j==
Q5b&&Uh(a.f,b)){c=b.e;(c.j==U4b||c.j==U6b)&&Jh(a.g,c,Vh(a.f,b))}}function E8(a,b,c,d){y8();var e;if(a.j==(w7b(),f5b)&&!(b.j==E5b&&a==b.b)){D8(a,c,d);e=K1b(g2b(d,29));y0b(e);N2b(d,n0b(e))}}function mbb(a,b,c){var d;d=!c?(Ld(b.j==(w7b(),S6b)||b.j==U6b,b),new Zob(b)):new Yob(c,b);tbb(new vbb(a.a,a.b,d));return d}function IGb(a,b){var c;c=mFb(a.a,(w7b(),Q5b));R1b(c,FFb(a.a,b.a));R1b(c,GFb(a.a,b.c));!!b.b&&R1b(c,GFb(a.a,b.b));return c}function _Bb(a,b){var c;c=UBb(a,b);return!!c&&(b.a.size()==1||vyb(c.d,
(Kd(b.a.size()!=1),new XCb(b.a.Ze(1,b.a.size())))))}function fHb(a,b){var c,d,e;e=(Sn(),new ar);for(d=b.a.Pd();d.Jd();){c=d.Kd();$q(e,FFb(a.a,c))}return aFb(a.a,J7b($n(e.a)))}function DJb(a,b){var c,d;Q2b(b,p3b(b.i)+a.d);for(d=(!b.b?(msc(),msc(),lsc):new Z3b(b.b)).Pd();d.Jd();){c=d.Kd();DJb(a,c)}}function Wab(a,b,c,d){var e;if(!imc(c,d)){b.vi(d);e=G2b(b,b.g,40);e!=b.g&&(b.g=e);c!=null&&(b.g=new U3b(40,c,b.g));qib(a)}}function a_(a,b,c,d,e){var f,g;for(g=b;g;g=g.d){f=g==b;if(f)Y$(a,g,c?1:0,d);else{t$(a.c,
e,true);Y$(a,g,c?1:0,d==3?3:4)}}}function i_b(a,b){!a.d&&(a.d=new O_b);!a.d.d&&(a.d.d=new Fwc);if(Dwc(a.d.d,b))return false;else{Cwc(a.d.d,b);return true}}function Vob(a,b){var c,d;c=a;while(c){d=Dxc(c.e,b);if(d)return d;if(imc(BGc,b)&&bkb(c.d))return Rob(c);c=c.c}return null}function Ffb(a,b,c){if(c==b||c!=b&&Zrc(a.c[c.c],b.c))return b;else if(b!=c&&Zrc(a.c[b.c],c.c))return c;return Efb(a,b,c)}function fW(a){var b;if(Array.isArray(a)&&a.Sj===gW)return Hkc(yb(a))+"@"+(b=Ab(a)>>>0,b.toString(16));
return a.toString()}function wNb(a){var b,c;c=sD(sE,$Dc,45,a.a.length,15,1);for(b=0;b<c.length;b++)c[b]=(iCc(b,a.a.length),a.a[b]).a;return c}function $Gb(a,b){var c,d,e;e=nFb(a.a,(w7b(),d7b),FFb(a.a,b.b));for(d=b.a.Pd();d.Jd();){c=d.Kd();R1b(e,FFb(a.a,c))}return e}function DCb(a,b){var c,d,e;c=false;for(d=0;d<a.a.a.length;d++){e=Cqc(a.a,d);hBb();c=true;Hqc(a.a,d,yCb(e,b))}c||Aqc(a.a,b)}function _Ib(a,b){var c,d;c=a.p;if(c==a.o.length){d=sD(rE,OCc,45,a.o.length*2,15,1);dnc(a.o,d,c);a.o=d}a.o[c]=b&
SCc;a.p=c+1}function V1b(a,b){var c,d,e;if(!b)return;for(c=b;c;c=c.d){Kd(!c.e);c.e=a}e=b.f;if(a.b){d=a.b.f;b.f=d;e.d=a.b;a.b.f=e}a.b=b}function _j(a){var b;if(a.b){_j(a.b);if(a.b.d!=a.c)throw CV(new svc);}else if(a.d.isEmpty()){b=a.f.c.get(a.e);!!b&&(a.d=b)}}function $y(a){if(!!(!a.a||a.a.isEmpty()&&Cxc(a.c.a,a.b)?a.a=Dxc(a.c.a,a.b):a.a)&&a.a.isEmpty()){Gxc(a.c.a,a.b);a.a=null}}function ONb(a,b){if(b){a.d=bLb(a.d,vD(qD(YO,1),gDc,25,0,[(bMb(),ZLb)]));a.b.e&&xJb(a.c,b.b.b,JIc,vD(qD(lT,1),bDc,1,5,[]))}}
function Wd(a,b,c){if(!a)throw CV(new Tlc(ge("Type variable %s not found in map %s",vD(qD(lT,1),bDc,1,5,[b,c]))));return a}function mpb(a){hpb();if(!a)throw CV(new Nfb("a source must have a name"));imc("/",Ojc)?this.b=a:this.b=tmc(a,Ojc,"/")}function Ugb(a,b,c,d,e,f){this.b=new xwc;this.a=a;this.f=b;Kd(c.length!=0);this.d=c;this.e=d;e?this.c=this:this.c=f.qh()}function $2(a,b,c){this.e=new Lqc;this.d=new Lqc;this.n=new Lqc;this.i=(u3(),t3);this.a=a;this.g=b;!!a.Kg()&&lpb(a.Kg(),c)}function Ueb(a){this.g=
Xw(Mw((xm(8,IDc),new Nw)));this.e=new Cq;this.f=Vw(Lw((xm(8,IDc),new Nw)));this.d=new gqc;this.c=a}function u5(){q5();r5(this);new Gwc(bw(0));this.a=t5(this,o5);this.b=t5(this,p5);Frc(this.a,null);Frc(this.b,null);s5(this)}function ifc(a){M7b();sbc.call(this,a,null,null,new j9b(a,null,null),null,null,true,true,false);this.c.b=this;this.o=this}function oxc(a,b,c){var d;d=a.a.get(b);a.a.set(b,c===undefined?null:c);if(d===undefined){++a.c;rvc(a.b)}else++a.d;return d}function FFb(a,b){var c,d;c=gFb(a,
b);d=oGb(a.u,b);if(c){d=jFb(a,b,c,d);C2b(d,29,c)}p3b(d.i)==-1&&DFb(d,b.o.b,b.o.a);return d}function qkb(a,b){var c;if(!g2b(a,51)){W2b(a,b);T2b(a,b.i)}g2b(a,40)==null&&C2b(a,40,g2b(b,40));for(c=a.b;c;c=c.d)qkb(c,b)}function GZb(a,b){var c,d,e,f,g;g=new i3b((w7b(),u6b),a);for(d=b,e=0,f=d.length;e<f;++e){c=d[e];Zd(BZb(c));R1b(g,c)}return g}function FGb(a,b){var c,d,e;e=nFb(a.a,(w7b(),X4b),FFb(a.a,b.b));for(d=b.a.a.Pd();d.Jd();){c=d.Kd();R1b(e,FFb(a.a,c))}return e}function hA(a,b){var c,d;Td(b);if(!a.c)return b;
d=a.c.a;for(c=Imc(b)-1;c>=0;c--)if(Fmc(b,c)!=d)break;return Jmc(b,0,c+1)}function CD(a,b){if(a.h==hEc&&a.m==0&&a.l==0){b&&(xD=AD(0,0,0));return zD((bE(),_D))}b&&(xD=AD(a.l,a.m,a.h));return AD(0,0,0)}function b$b(a,b){!a.d&&(a.d=new O_b);!a.d.e&&(a.d.e=new Mqc(2));if(Dqc(a.d.e,b,0)!=-1)return false;Aqc(a.d.e,b);return true}function c$b(a,b){!a.d&&(a.d=new O_b);!a.d.f&&(a.d.f=new Mqc(2));if(Dqc(a.d.f,b,0)!=-1)return false;Aqc(a.d.f,b);return true}function r$b(a,b,c){if(!c_b(a))return true;!a.b.j&&(a.b.j=
new Hxc);if(!Cxc(a.b.j,b)){Exc(a.b.j,b,c);return true}return false}function Mic(a,b,c,d){var e,f,g;f=Jic(a);for(g=0;g<f.size();g++){e=f.getAtIndex(g);if(O7b(e,b,c,d))return true}return false}function g9b(a){var b,c;if(a.a)for(b=a.a.b;b;b=b.d){c=iE(b.k,23)?b.k:null;if(!c||c.ai())return true}return!a.b||a.b.ai()}function $jb(a){Lib();switch(a.f){case 24:case 79:case 25:case 21:case 22:case 20:case 19:return true;default:return false}}function _Qb(a){switch(AQb(a,a.d)?dmc(a.e.a,a.d):0){case 92:return ZQb(a);
case 91:return aRb(a);default:BQb(a);return true}}function o_(a){var b,c;for(b=a.b;b;b=b.d)if(b.j==(w7b(),U4b)){c=o_(b);if(c)return c}else if(b.j!=r5b)return b;return null}function Xb(a,b,c){var d,e;e=b.length;Xd(c,e);for(d=c;d<e;d++)if(hc(a,(qCc(d,b.length),b.charCodeAt(d))))return d;return-1}function $1(a){var b,c;for(c=new grc(a);c.a<c.c.a.length;){b=erc(c);b.d.a.length==0&&vfb(b,new a3(npb(b.e+"$fillFile","")))}}function fMb(a){var b,c,d,e,f,g;g=new Fwc;for(c=eMb(),d=0,e=c.length;d<e;++d){b=c[d];
b.b==a&&(f=g.a.put(b,g),f==null)}return g}function RNb(a){var b,c,d,e;e=GQb(a.g,0).b.b;b=bPb(a);while(RPb(a)){c=PNb(a);d=bPb(a);b=new OTb(new SXb(e,a.f),b,c,d)}return b}function bPb(a){var b,c,d,e;e=GQb(a.g,0).b.b;b=zOb(a);while(YPb(a)){c=PNb(a);d=JPb(a);b=new OTb(new SXb(e,a.f),b,c,d)}return b}function wPb(a){var b,c,d,e;e=GQb(a.g,0).b.b;b=RNb(a);while(aQb(a)){c=PNb(a);d=RNb(a);b=new OTb(new SXb(e,a.f),b,c,d)}return b}function gZb(a,b){var c,d,e,f,g;g=new i3b((w7b(),X4b),a);for(d=b,e=0,f=d.length;e<
f;++e){c=d[e];$d(BZb(c),c);R1b(g,c)}return g}function DYb(a,b){var c;yYb(a);c=a.b<a.c?dmc(a.a,a.b):-1;if(c>=48&&c<=57){LYb(b,AYb(a));return CYb(a,b)}else throw CV(FYb(a));}function gdb(a,b){return a.e||(!!a.c&&zib(a.a,a.c,new vdb(a)),zib(a.a,a.i,new vdb(a)),a.e=true,a.d=null,undefined),Dnc(a.g,b)}function mib(a,b){var c,d;!b&&!!a.i&&a.i.nh(a);c=a.k.a.length;c>0?d=Fqc(a.k,c-1):d=cqc(a.n).d;Lib();hwc(Dib,d.j)&&cqc(a.b)}function Qx(a,b){var c,d;c=a.size();b.length<c&&(b=(d=(gCc(0),orc(b,0)),d.length=
c,d));Px(a,b);b.length>c&&(b[c]=null);return b}function Qob(a,b,c,d){var e;Zd(b!=null&&b.length!=0);Zd(Dxc(a.e,b)==null);e=new vtb(b,c,a,(Knc(a.e.c),d));Exc(a.e,b,e);return e}function g$b(a,b,c){!a.d&&(a.d=new O_b);!a.d.n&&(a.d.n=new Hxc);if(Cxc(a.d.n,c))return false;else{Exc(a.d.n,c,b);return true}}function yib(a,b,c){this.n=new gqc;this.k=new Lqc;this.b=new gqc;this.a=b;iE(b,551)&&(this.i=b);this.c=a;this.j=c;this.p=true}function JB(){this.e=new Lqc;this.k=new Hxc;this.j=new Hxc;this.g=new Hxc;
this.f=new WA(0,0);this.i=new WA(0,0);this.a=new Hxc}function KBb(){KBb=bW;IBb=new LBb(0);HBb=new LBb(1);GBb=new LBb(2);FBb=new LBb(3);JBb=vD(qD(vO,1),bDc,206,0,[IBb,HBb,GBb,FBb])}function h0b(){h0b=bW;e0b=new i0b(CJc,0);d0b=new i0b(BJc,1);f0b=new i0b(DJc,2);g0b=new i0b(EJc,3);c0b=new i0b("INHERITED",4)}function TUb(){TUb=bW;QUb=new UUb("DECLARATION",0);RUb=new UUb("EXPRESSION",1);SUb=new UUb("MEMBER",2);PUb=new UUb("ARROW",3)}function uyb(a){if(-1==a.Fh())return a;if(ICc==a.Fh())return a.e.A;return rzb(a.e,
a.Fh()&-33&-17&-257,a.Ih(),a.Rh(),a.Ch())}function bsc(a,b){var c,d;if(a==b)return;isc(a.a,b.a.length-1);for(c=0;c<b.a.length;c++){d=b.a[c]|0;d!=0&&(a.a[c]=a.a[c]|0|d)}}function sX(a){var b,c;DX((w7b(),c6b),a);EX(a)&&a.qi().length==0&&cY(AEc,a);c=y7b(a.j);c!=-1&&(b=b2b(a),c!=b&&cY(tEc+c+uEc+b,a))}function wX(a){var b,c;DX((w7b(),o6b),a);EX(a)&&a.qi().length==0&&cY(AEc,a);c=y7b(a.j);c!=-1&&(b=b2b(a),c!=b&&cY(tEc+c+uEc+b,a))}function zZb(a,b){var c,d;c=WZb((w7b(),X5b),a);d=G2b(c,c.g,32);d!=c.g&&(c.g=
d);(b?1:0)!=0&&(c.g=new K3b(32,b?1:0,c.g));return c}function w9(a,b){var c,d;c=b.b?b.b.f:null;if(c.j!=(w7b(),U4b)){$1b(c);d=f3b(eZb((Zd(BZb(c)),new i3b(R6b,c))),c);R1b(b,d);qib(a)}}function zY(a,b,c){var d,e;d=b.length==0?"":b+WDc;e=new Fwc;rkb(vf(a.a,c),new CY(e),(ye(),ve));rkb(c,new EY(a,e,d),ve);uY(a,d,e)}function hdb(a,b,c){var d,e,f;e=(d=lmc(b,Hmc(46)),d==-1?b:b.substr(0,d));return f=Vob(c,e),!f&&!!a.d&&(f=Vob(a.d,e)),!!f&&!f.d.c}function aFb(a,b){var c,d;!!b.g||X1b(b,a.t);for(d=(!b.b?(msc(),
msc(),lsc):new Z3b(b.b)).Pd();d.Jd();){c=d.Kd();aFb(a,c)}return b}function yPb(a){var b;b=(Sn(),new ar);while(PPb(a,0,(xTb(),dSb))||bQb(a)||QPb(a,pSb)||PPb(a,0,FRb))$q(b,xPb(a));return $n(b.a)}function APb(a){var b;b=(Sn(),new ar);while(PPb(a,0,(xTb(),dSb))||bQb(a)||QPb(a,pSb)||PPb(a,0,FRb))$q(b,xPb(a));return $n(b.a)}function qBb(){var a;a=(vn(),new Or);for(null.Tj().Tj();null.Tj();){null.Tj();null.Tj()&&Lr(a,null.Tj())}return Dp(new grc(a.a))}function jo(a){Sn();var b,c,d;for(c=0,d=a.length;c<d;c++)if(a[c]==
null)throw CV(new Tlc("at index "+c));b=a;return new Prc(b)}function mCc(a,b,c){if(a<0||b>c)throw CV(new $jc(OLc+a+PLc+b+", size: "+c));if(a>b)throw CV(new Nfb(OLc+a+" > toIndex: "+b));}function Jbb(a,b){Ebb();return T0(a,DGc+Cmc(EGc,(oyc(),myc)),false),gZb(hkb(a,"$jscomp.makeIterator"),vD(qD(SR,1),OEc,7,0,[b]))}function B3b(a,b,c){var d,e;for(e=0;e!=b;++e)c.a+="    ";Smc(c,a3b(a,true,true,true));c.a+=YDc;for(d=a.b;d;d=d.d)B3b(d,b+1,c)}function $Pb(a,b){var c;c=GQb(a.g,b).c;switch(c.f){case 2:case 101:case 100:return true;
default:return hNb(),hNb(),!!kp(KMb,c)}}function cQb(a){switch(GQb(a.g,0).c.f){case 9:case 26:case 24:case 63:case 64:case 77:case 76:return true;default:return false}}function x1b(a,b){if(!!b&&!((a.a.a&wGc)==xGc||(a.a.a&wGc)==LCc||(a.a.a&wGc)==OHc)){i$b(a.a,b);a.e=true;return true}return false}function Nc(a,b,c){var d,e;for(e=a.Pd();e.Jd();){d=e.Kd();if(oE(b)===oE(d)||b!=null&&wb(b,d)){c&&e.Ld();return true}}return false}function PX(a,b,c){var d,e;gX(a,(bMb(),TLb),c);DX((w7b(),P6b),c);e=y7b(c.j);
e!=-1&&(d=b2b(c),e!=d&&cY(tEc+e+uEc+d,c));rX(a,b,c.b)}function xZb(a,b,c){$d(a.j==(w7b(),o6b)||a.j==r5b,a);$d(b.j==T5b||b.j==V5b||b.j==r5b,b);$d(c.j==$6b,c);return new l3b(S5b,a,b,c)}function O0(a){a.P=jmb(R0(a),new vmb(a.Q));emb(a.P,(!a.O&&(a.O=new Uvb),new Lqc));hmb(a.P,a.q,a.C);if(a.j.a.d>0)return;a.P=null}function sxb(a){if(a.c)return a;if(a==a.a.v||a==a.a.g)return a.a.g;return new uxb(a.a,a.i,a.e,a.j,a.k,a.d,a.g,a.f,a.n,true,a.b)}function Dac(a,b,c,d,e){var f,g;if(!!lgc(a.v,b)&&(g=a.kj(b),!!g&&
!g.b))return false;f=new egc(b,c,d,e);pgc(a.v,b,f);return true}function fZb(a){var b,c,d,e,f,g;c=(b=new g3b((w7b(),U4b)),b);for(e=a,f=0,g=e.length;f<g;++f){d=e[f];Zd(CZb(d));R1b(c,d)}return c}function Lhc(a,b){var c,d;d=$wnd.Math.min(a.d.size(),a.e.size());for(c=d-1;c>=0;c--)if(a.d.getAtIndex(c)==b)return c;return-1}function uBc(a){var b,c;if(a.b)return a.b;c=nBc?null:a.d;while(c){b=nBc?null:c.b;if(b)return b;c=nBc?null:c.d}return RAc(),OAc}function W2b(a,b){var c;if(!!b.g&&(!a.g||a.g.c==51&&!a.g.b)){c=
b.g;while(c.b)c=c.b;if(c.c==51){a.g=c;return}}C2b(a,51,g2b(b,51))}function rBb(){var a;Zd(null.Uj);a=(vn(),new Or);for(null.Tj().Tj();null.Tj();){null.Tj();Lr(a,null.Tj())}return Dp(new grc(a.a))}function li(a){return iE(a,207)?ey(a):iE(a,125)?(msc(),new Xuc(a)):iE(a,31)?(msc(),new vuc(a)):iE(a,46)?wsc(a):(msc(),new ktc(a))}function mjc(a){if(a.e)return vec(a.i,(dec(),Ucc));else if(a.f)return a.b?vec(a.i,(dec(),$cc)):vec(a.i,(dec(),_dc));return null}function Cub(a){this.f=new Lqc;this.c=new Lqc;this.a=
new Fwc;this.e=new Hxc;this.b=new xwc;this.d=new mt;Bqc(this.f,a);Bub(this)}function gD(){if(Error.stackTraceLimit>0){$wnd.Error.stackTraceLimit=Error.stackTraceLimit=64;return true}return XDc in new Error}function vY(a,b,c){var d;d=e2b(c,56);if(d==0||d<a.c)throw CV(new llc(b+"new scope not explicitly marked as changed:\n"+b3b(c)));}function X7(a,b,c){var d,e;for(e=c.Pd();e.Jd();){d=e.Kd();d.j==(w7b(),$6b)&&W7(a,b,d);X7(a,b,!d.b?(msc(),msc(),lsc):new Z3b(d.b))}}function njc(a,b,c){var d,e;e=!!a.Zi()&&
(a.Zi(),true);d=!!b.Zi()&&(b.Zi(),true);return c&&!e&&!d?a.Ri(b):a.Si(b,new Ncc(false),0)}function Yjb(a){var b,c;b=a.b;if(b.j==(w7b(),M5b)||b.j==L5b){c=b.b?b.b.f:null;return c.j==$6b&&imc("toString",c.qi())}return false}function aZb(a){var b,c,d,e,f;b=new g3b((w7b(),y4b));for(d=a,e=0,f=d.length;e<f;++e){c=d[e];Zd(c.j==r5b||BZb(c));R1b(b,c)}return b}function sPb(a,b){var c,d,e,f;f=GQb(a.g,0).b.b;c=wPb(a);while(_Pb(a,b)){d=PNb(a);e=wPb(a);c=new OTb(new SXb(f,a.f),c,d,e)}return c}function k_(a,b,c,
d,e,f,g,h){var i,j;j=b.b;while(j.j==c)j=j.b;Y$(a,j,g,e);i=j;do{i=i.e;t$(a.c,d,true);Y$(a,i.b.d,h,f)}while(i!=b)}function D_(a,b,c,d){var e,f;if(a.j)for(f=new grc(a.g);f.a<f.c.a.length;){e=erc(f);e.c=F_(e.c,b,c,d);!!e.a&&(e.a=F_(e.a,b,c,d))}}function Lcc(a,b,c){!a.a&&(a.a=new fq(new Hxc,new iq));if(dq(a.a,b,c))return eq(a.a,b,c);else{Mcc(a,b,c,(Rcc(),Qcc));return null}}function o$b(a,b,c){if(!c_b(a))return true;!a.b.e&&(a.b.e=new Hxc);if(Cxc(a.b.e,b))return false;else{Exc(a.b.e,b,c);return true}}function $_b(a,
b){if(!a&&!b)return true;if(!a&&!!b||!!a&&!b)return false;return a.d==b.d&&a.f==b.f&&a.e==b.e&&a.c==b.c&&a.b==b.b}function $vb(){$vb=bW;Zvb=new s6("JSC_USELESS_EMPTY_STATEMENT",(pZ(),nZ),new xnc("Useless empty statement. (fix with go/fixjs)"))}function AIb(){AIb=bW;yIb=new BIb("SEARCHING_ANNOTATION",0);zIb=new BIb("SEARCHING_NEWLINE",1);xIb=new BIb("NEXT_IS_ANNOTATION",2)}function H4(){H4=bW;C4=new I4("ALL",0);F4=new I4("RAW_SIZE",1);D4=new I4("AST_SIZE",2);G4=new I4("TIMING_ONLY",3);E4=new I4(qEc,
4)}function Yn(a){var b;b=a.toArray();switch(b.length){case 0:return Rn;case 1:return new My(Td(b[0]));default:return new Rx(jo(b))}}function qYb(a){var b;if(a.a==null)b=KCc;else throw CV(new yC("Integer.toHexString is outside the GWT subset"));return iYb(a,b,0)}function wFb(a,b){var c,d,e,f;d=b.c;e=b.a.b.b+1;c=b.a.b.a;f=new sIb(new jJb(d.substr(3),e,c+3),d,b.a.b.c,a.t,a.a,a.d);return ZHb(f)}function egb(a,b){var c,d;for(d=(!b.b?(msc(),msc(),lsc):new Z3b(b.b)).Pd();d.Jd();){c=d.Kd();if(c.j==(w7b(),
e5b)){fgb(a,b);return}}}function ebc(a){var b,c;c=a.Th()?mbc(a):null;if(!c)return a.e;b=(Sn(),new ar);_q(b,a.e);while(c){_q(b,c.e);c=mbc(c)}return $n(b.a)}function oo(a){Sn();var b;switch(a.size()){case 0:return Rn;case 1:return new My(Td(a.getAtIndex(0)));default:b=a;return new Rx(b)}}function Ijb(a){Lib();var b,c,d;d=a.length;for(c=0;c<d;c++){b=(qCc(c,a.length),a.charCodeAt(c));if(b>127)return false}return true}function aKb(a,b){if(b.j!=(w7b(),o6b)){a.a.lh(VJc+t4b(jKc,vD(qD(lT,1),bDc,1,5,["name"])),
a.b.Hg(),a.d,a.c);return false}return true}function mZb(a,b){$d(a.j==(w7b(),o6b)||a.j==C6b||a.j==z4b||a.j==n5b,a);(a.j==C6b||a.j==z4b)&&(a=new i3b(n5b,a));return new i3b(b,a)}function oxb(a,b){if(!b||b==b.a.s||b==b.a.v||b==b.a.g||cxb(a,b)||!a.c)return a;return a==a.a.v||a==a.a.g||a==a.a.s?sxb(b):Bxb(a,b)}function nbc(a,b,c){if(!b)return false;if(a.Th()&&b==(ce(a.Th()||a.i==(occ(),mcc),ALc,a),X7b(a.o)))return false;return pbc(a,b,c)}function dHb(a,b){var c,d;d=b.a.Xe();c=rFb(a.a,(w7b(),o6b),d.Kd());
while(d.Jd())c=tZb(c,QZb(d.Kd()));return aFb(a.a,new p4b(l7b,c))}function yOb(a,b){var c,d,e,f;f=GQb(a.g,0).b.b;c=sPb(a,b);while(UPb(a)){d=PNb(a);e=sPb(a,b);c=new OTb(new SXb(f,a.f),c,d,e)}return c}function EPb(a){var b,c,d;d=GQb(a.g,0).b.b;CNb(a,(xTb(),oTb));b=DNb(a);CNb(a,WRb);c=DPb(a);HNb(a);return new yXb(new SXb(d,a.f),b,c)}function js(a){var b,c,d;b=hs(a.a);for(d=new grc(a.b);d.a<d.c.a.length;){c=erc(d);is(b,c)}return bs(),new cs((msc(),new Tuc(b)),a.a)}function KB(a,b){var c,d,e,f;e=0;for(d=
new fyc(new Yxc(b));d.b!=d.c.a.b;){c=dyc(d);f=c.d;e!=0&&(a.a+=",",a);Smc(a,(rC(),uC(f)));++e}}function r5(a){var b,c,d,e,f;a.c=new ywc(bw(p5.length));f=0;for(c=p5,d=0,e=c.length;d<e;++d){b=c[d];Fnc(a.c,Bkc(b),new x5(b,f));++f}}function LZb(a){var b,c,d,e,f;f=new g3b((w7b(),G6b));for(c=a,d=0,e=c.length;d<e;++d){b=c[d];Zd(b.j==o6b||b.j==P6b);R1b(f,b)}return f}function OZb(a){var b,c,d,e,f;f=new g3b((w7b(),S6b));for(c=a,d=0,e=c.length;d<e;++d){b=c[d];Zd(b.j==S6b||b.j==U6b);R1b(f,b)}return f}function H5(a,
b){D5();var c,d,e,f,g;g=(vn(),new Or);for(d=b,e=0,f=d.length;e<f;++e){c=d[e];Nr(g,c.b)}this.a=a;this.b=Dp(new grc(g.a))}function tBb(a,b){var c,d;Zd(b.size()==null.Tj());d=new Hxc;for(c=0;c<null.Tj();c++)Exc(d,null.Tj(),b.getAtIndex(c));return uBb(a,d)}function Hs(a,b){var c,d;Td(a);Ld(b>=0,"numberToAdvance must be nonnegative");for(d=0;d<b&&a.a.Jd();d++){c=a.a.Kd();c.ce()}return d}function qGb(a,b){var c,d,e;lFb(a.a,b,(bMb(),wLb));e=mFb(a.a,(w7b(),z4b));for(d=b.a.Pd();d.Jd();){c=d.Kd();R1b(e,HFb(a.a,
c))}return e}function RGb(a,b){var c,d,e;lFb(a.a,b,(bMb(),wLb));e=mFb(a.a,(w7b(),C6b));for(d=b.a.Pd();d.Jd();){c=d.Kd();R1b(e,HFb(a.a,c))}return e}function K_b(a,b){var c,d,e;e=null;if(a){e=new Mqc(a.a.length);for(d=new grc(a);d.a<d.c.a.length;){c=erc(d);Aqc(e,G_b(c,b))}}return e}function gib(a){var b,c;c=Xpc(a.n);for(b=0;b<a.k.a.length;b++){c=mbb(a.j,Cqc(a.k,b),c);Ppc(a.n,c)}a.k.a=sD(lT,bDc,1,0,5,1);return c}function oX(a){var b,c,d;DX((w7b(),_5b),a);for(b=a.b;b;b=b.d){DX(p6b,b);c=y7b(b.j);c!=-1&&
(d=b2b(b),c!=d&&cY(tEc+c+uEc+d,b));wX(b.b)}}function $W(a,b,c){var d,e;gX(a,(bMb(),vLb),c);e=y7b(c.j);e!=-1&&(d=b2b(c),e!=d&&cY(tEc+e+uEc+d,c));rX(a,b,c.b);fX(a,c.b?c.b.f:null)}function KOb(a,b,c){var d;Qpc(a.e,c);HUb(MUb(GUb(JUb(IUb(b,c==(sQb(),qQb)),MNb(a)),HOb(a,0)),LNb(a)),IOb(a));d=_pc(a.e);hCc(d!=null)}function Exc(a,b,c){var d,e,f;e=Cnc(a.c,b);if(!e){d=new Vxc(a,b,c);Fnc(a.c,b,d);Sxc(d);return null}else{f=Uoc(e,c);Fxc(a,e);return f}}function mrc(a,b,c){var d,e,f,g;e=0;d=b-1;while(e<=d){f=e+
(d-e>>1);g=a[f];if(g<c)e=f+1;else if(g>c)d=f-1;else return f}return-e-1}function nrc(a,b,c){var d,e,f,g;e=0;d=b-1;while(e<=d){f=e+(d-e>>1);g=a[f];if(g<c)e=f+1;else if(g>c)d=f-1;else return f}return-e-1}function vx(a,b,c,d){var e;xm(c,"oldCount");xm(d,"newCount");e=gw(a.a,b);if((!e?0:e.a)==c){pl(a,b,d);return true}else return false}function l1b(a,b,c){if(!((a.a.a&wGc)==xGc||(a.a.a&wGc)==LCc||(a.a.a&wGc)==OHc)&&g$b(a.a,c,b)){a.e=true;return true}else return false}function OC(){var a;if(JC!=0){a=IC();
if(a-KC>2E3){KC=a;LC=$wnd.setTimeout(UC,10)}}if(JC++==0){XC((WC(),VC));return true}return false}function rj(a,b){var c,d,e;if(iE(b,48)){c=b;d=c.ce();e=gw(a.Ie(),d);return Fd(e,c.de())&&(e!=null||a.Ie().containsKey(d))}return false}function Seb(a,b){var c;if(ml(a.e,b)>0)return true;c=Xpc(a.d);if(!c.c)return false;while(!!c&&!!c.a){Wh(a.g,c.a,b);c=c.b}return true}function OGb(a,b){var c,d,e;e=nFb(a.a,(w7b(),u6b),FFb(a.a,b.b));if(b.a)for(d=b.a.a.Pd();d.Jd();){c=d.Kd();R1b(e,FFb(a.a,c))}return e}function IHb(a,
b){var c,d;d=false;while(true){c=aJb(a.i);if(c==32)continue;else if(c==b){d=true;break}else break}gJb(a.i,c);return d}function bzc(a,b,c){var d,e,f;e=null;f=a.b;while(f){d=a.a.Qe(b,f.d);if(c&&d==0)return f;if(d>=0)f=f.a[1];else{e=f;f=f.a[0]}}return e}function Hhc(a,b,c,d,e){var f;f=false;if(!a.a&&!b.a){a.a=true;b.a=true;f=Thc(c,a,b,d,e)&&Thc(c,b,a,d,e);a.a=false;b.a=false}return f}function Nmc(a,b,c){var d,e,f,g;f=b+c;pCc(b,f,a.length);g="";for(e=b;e<f;){d=$wnd.Math.min(e+1E4,f);g+=Gmc(a.slice(e,
d));e=d}return g}function TA(a){var b,c,d,e,f,g;f=0;g=0;do{b=dmc(a.a,a.b++);d=(SA(),e=RA[b],e);c=(d&32)!=0;d&=31;f=f+(d<<g);g=g+5}while(c);return VA(f)}function Th(a){var b,c,d,e;for(c=(e=(new Loc(a.c)).a.Xd().Pd(),new Qoc(e));c.a.Jd();){b=(d=c.a.Kd(),d.de());b.clear()}a.c.clear();a.d=0}function rhc(a){var b;if(a.b)return vec(a.d,(dec(),Hdc));b=(bs(),new ls((Ex(),Dx)));ks(b,new Wnc(a.c));return new jhc(a.d,js(b),a.a)}function hZb(a,b){var c;Zd(BZb(a));Zd(b.j==(w7b(),U4b));c=G2b(b,b.g,39);c!=b.g&&
(b.g=c);b.g=new K3b(39,1,b.g);return new k3b(Z4b,a,b)}function $X(a,b){var c;Lib();if(!!b&&(b.j==(w7b(),q7b)||b.j==g6b||b.j==f5b)){c=b2b(b);1!=c&&cY(xEc+c,b);yX(a,b.j,b)}else rX(a,b.e.j,b)}function sHb(){sHb=bW;rHb=(vn(),Fp(vD(qD(lT,1),bDc,1,5,[jFc,BGc])));qHb=Fp(vD(qD(lT,1),bDc,1,5,[TJc,UJc,"stable","mapped","xid"]))}function $Ib(){YIb();return vD(qD(RO,1),gDc,71,0,[JIb,KIb,MIb,SIb,XIb,PIb,VIb,NIb,TIb,OIb,UIb,GIb,FIb,DIb,QIb,WIb,IIb,RIb,HIb,EIb,LIb])}function Ykc(a,b){var c=0;while(!b[c]||b[c]==
"")c++;var d=b[c++];for(;c<b.length;c++){if(!b[c]||b[c]=="")continue;d+=a+b[c]}return d}function UA(a,b){var c;b=b<0?(-b<<1)+1:b<<1;do{c=b&31;b>>>=5;b>0&&(c|=32);Omc(a,(SA(),qCc(c,RDc.length),RDc.charCodeAt(c)))}while(b>0)}function tW(a,b){switch(b.f){case 0:return uW(a,oEc,(CW(),yW));case 1:return uW(a,pEc,(CW(),BW));default:return b.e!=null?b.e:""+b.f}}function _Pb(a,b){switch(GQb(a.g,0).c.f){case 54:case 55:case 57:case 56:case 17:return true;case 16:return b==1;default:return false}}function z0b(a){if(!((a.a.a&
wGc)==xGc||(a.a.a&wGc)==LCc||(a.a.a&wGc)==OHc)&&!P$b(a.a)){a.a.a|=2;a.e=true;return true}else return false}function Ks(a,b){if(b==null)while(a.Jd()){if(a.Kd()==null)return true}else while(a.Jd())if(wb(b,a.Kd()))return true;return false}function ojb(a,b,c){var d;if(b.Md(a))return true;if(!c.Md(a))return false;for(d=a.b;d;d=d.d)if(ojb(d,b,c))return true;return false}function lj(a,b){var c;if(b===a)return true;if(!iE(b,31))return false;c=b;if(c.size()!=a.size())return false;return a.containsAll(c)}function Z4(a,
b){var c,d;for(d=a.c.a.keySet().Pd();d.Jd();){c=d.Kd();if(c.Mg(b))return true;else if(c.Lg(b))return false}return false}function Nlc(a){var b,c;if(EV(a,-129)>0&&EV(a,128)<0){b=SV(a)+128;c=(Plc(),Olc)[b];!c&&(c=Olc[b]=new Elc(a));return c}return new Elc(a)}function m_(a,b){S$(this);this.c=a;this.f=b.qc;this.j=b.sd;this.g=b.tc;this.i=b.Cc||b.Vb==(q4(),h4);this.k=false;this.e=new mfb(this.k)}function Qwb(a,b,c,d,e,f,g,h,i){Kd(!e||0!=e.Fh());Td(a);this.a=a;this.f=b;this.d=c;this.g=d;this.i=e;this.c=f;
this.e=g;this.j=h;this.b=i}function Qtb(a){Ntb();this.e=new Fwc;this.a=a;this.c=Y0(a,new ofb("",null,0,0,Itb,null,vD(qD(qT,1),NCc,2,6,[])))==(pZ(),mZ);this.d=true}function fCc(a,b){if(0>a)throw CV(new Nfb("fromIndex: 0 > toIndex: "+a));if(a>b)throw CV(new _jc("fromIndex: 0, toIndex: "+a+LLc+b));}function _kc(a){var b;b=typeof a;if(imc(b,ECc)||imc(b,FCc)||imc(b,HCc))return true;return a!=null&&a.$implements__java_lang_Comparable}function rY(a,b,c){var d,e;(b.j==(w7b(),S6b)||(Lib(),b.j==U6b||b.j==G5b))&&
Tf(a.a,b,c,false);d=b.b;e=c.b;while(d){rY(a,d,e);d=d.d;e=e.d}}function D1(a,b,c){var d,e;!a.M&&r1(a,new J3);d=(hpb(),new tpb((new spb,b),c));Sn();new My(Td(d));return e=new a3(d),I1(a,e.g,e),S2(e,a)}function lOb(a,b){var c,d,e,f;f=GQb(a.g,0).b.b;b&&CNb(a,(xTb(),vSb));c=MNb(a);d=HOb(a,1);e=LNb(a);return new STb(new SXb(f,a.f),b,c,d,e)}function wOb(a){var b,c,d;d=GQb(a.g,0).b.b;CNb(a,(xTb(),VRb));c=DNb(a);CNb(a,CSb);b=xOb(a);CNb(a,HRb);return new tUb(new SXb(d,a.f),c,b)}function AGb(a,b){var c,d,e;
e=LGb(a,b.b,true);X2b(e,(w7b(),o6b));d=nFb(a.a,z5b,e);if(b.a){c=LGb(a,b.a,true);X2b(c,o6b);R1b(d,c)}return d}function AYb(a){var b;b=0;while(a.b<a.c&&HYb(dmc(a.a,a.b))){b=DV(LV(10,b),dmc(a.a,a.b++)-48);if(EV(b,ICc)>0)return zYb(a)}return SV(b)}function ibc(a){var b;if(!a.j)return a.v.b.keySet();else{b=(vn(),new Or);Aqc(b.a,Td(PEc));Nr(b,a.v.b.keySet());return Dp(new grc(b.a))}}function F1(a){var b;Zd(I3(a.M));b=(!a.O&&(a.O=new Uvb),new Lqc);if(b.a.length==0)return;a.P=R0(a);emb(a.P,b);hmb(a.P,a.q,
a.C);a.P=null}function f$b(a,b){var c;c=new D_b;c.d=!a.d?null:J_b(a.d,b);c.b=a.b;c.j=a.j;c.a=a.a;c.i=G_b(a.i,b);c.g=G_b(a.g,b);c.c=a.c;c.f=a.f;return c}function bqc(a,b){var c,d,e,f;d=a.a.length-1;c=b-a.b&d;f=a.c-b&d;e=a.c-a.b&d;kqc(c<e);if(c>=f){dqc(a,b);return-1}else{eqc(a,b);return 1}}function Kqc(a,b){var c,d;d=a.a.length;b.length<d&&(b=VBc(new Array(d),b));for(c=0;c<d;++c)b[c]=a.a[c];b.length>d&&(b[d]=null);return b}function Orc(a,b){var c,d;d=a.a.length;b.length<d&&(b=VBc(new Array(d),b));for(c=
0;c<d;++c)b[c]=a.a[c];b.length>d&&(b[d]=null);return b}function Reb(){Reb=bW;Qeb=(vn(),Fp(vD(qD(lT,1),bDc,1,5,[bEc,TGc])));Peb=Wq(dwc((w7b(),v4b),vD(qD(UR,1),gDc,10,0,[E6b,P5b,Q5b,U4b,U6b])))}function kjb(a){Lib();var b;for(b=a;true;b=b.b){if(b.j==(w7b(),o6b)||b.j==h7b||b.j==c7b)return b;ce(b.j==M5b,"Not a getprop node: ",b)}}function _X(a,b){var c;Lib();!!b&&(b.j==(w7b(),q7b)||b.j==g6b||b.j==f5b)?yX(a,b.j,b):b.j==(w7b(),r5b)?(c=b2b(b),0!=c&&cY(rEc+c,b)):fX(a,b)}function U_b(a,b){if(!a&&!b)return true;
if(!a&&!!b||!!a&&!b)return false;return $_b(a.a,b.a)&&Y_b(a.c,b.c)&&$_b(a.b,b.b)&&b0b(a.d,b.d)}function jmc(a,b){jCc(a);if(b==null)return false;if(imc(a,b))return true;return a.length==b.length&&imc(a.toLowerCase(),b.toLowerCase())}function SBb(a,b){var c;if(!iE(b,178))return false;if(a===b)return true;c=b;return vyc(a.b,c.b)&&vyc(a.e,c.e)&&vyc(a.d,c.d)&&vyc(a.g,c.g)}function t2b(a){switch(a.j.f){case 29:return a.qi().length!=0;case 33:case 99:return true;case 26:return t2b(a.b);default:return false}}
function xX(a,b,c){if(c.j==(w7b(),o6b)){EX(c)&&c.qi().length==0&&cY(AEc,c);tX(c);!!c.b&&fX(a,c.b)}else c.j==n5b?_W(a,b,c):cY(vEc+b+wEc,c)}function q_(b){var c;if(t_(b))try{c=elc(b);if(KV(c,{l:0,m:0,h:512}))return RV(c)}catch(a){a=BV(a);if(!iE(a,91))throw CV(a);}return NaN}function zNb(a,b){var c;c=(Sn(),new ar);$q(c,b?b.a:"");while(QPb(a,(xTb(),JSb))){CNb(a,JSb);b=DNb(a);if(!b)break;$q(c,b.a)}return $n(c.a)}function lPb(a,b){var c,d,e;e=GQb(a.g,0).b.b;c=mPb(a,b);if(QPb(a,(xTb(),WRb))){CNb(a,WRb);
d=bOb(a,1);c=new qUb(new SXb(e,a.f),c,d)}return c}function L_b(a,b){var c,d,e,f;e=null;if(a){e=new Hxc;for(d=new fyc(new Yxc(a));d.b!=d.c.a.b;){c=dyc(d);f=c.e;Exc(e,c.d,G_b(f,b))}}return e}function Ifb(a){var b,c,d,e;e=sD(sE,$Dc,45,a.a.length,15,1);for(c=0;c<a.a.length;++c){b=a.c[c];for(d=c;d>=0;d=csc(b,d-1))e[d]+=1}return e}function zbb(a,b,c){var d,e;d=Kbb(aZb(vD(qD(SR,1),OEc,7,0,[])),b);for(e=a.b;e;e=e.d)e.j==(w7b(),$6b)&&R1b(d,Kbb(QZb(g2b(e,71)),c));return d}function ikb(a,b,c){Lib();var d,e;
d=hkb(a,b);qkb(d,c);imc(kFc,g2b(d,40))||(e=G2b(d,d.g,40),e!=d.g&&(d.g=e),d.g=new U3b(40,kFc,d.g));return d}function K2(a,b){var c,d;Wmc(a.c,b);c=-1;d=c;while((c=mmc(b,Hmc(10),c+1))>=0){++a.b;d=c}d==-1?a.a+=b.length:a.a=b.length-(d+1);return a}function Jp(a,b,c,d,e,f,g){vn();var h,i;i=g.length+6;h=new Mqc(i);nsc(h,vD(qD(lT,1),bDc,1,5,[a,b,c,d,e,f]));nsc(h,g);return Dp(new grc(h))}function Zh(a,b,c){return iE(c,207)?new Sk(a,b,c):iE(c,125)?new Rk(a,b,c):iE(c,31)?new Tk(a,b,c):iE(c,46)?$h(a,b,c,null):
new ck(a,b,c,null)}function zkc(a,b,c){cCc(a>=0&&a<=_Dc);if(a>=PCc){b[c++]=QCc+(a-PCc>>10&RCc)&SCc;b[c]=TCc+(a-PCc&RCc)&SCc;return 2}else{b[c]=a&SCc;return 1}}function Zy(a){var b,c;c=!a.a||a.a.isEmpty()&&Cxc(a.c.a,a.b)?a.a=Dxc(a.c.a,a.b):a.a;if(!c)return dt(),ct;b=c.Xd().Pd();return new gz(a,b)}function s9(a,b,c,d,e,f){switch(c.j.f){case 93:q9(a,b,c,d,e,f);break;case 94:r9(a,b,c,d,e,f);break;default:throw CV(new llc("unexpected"));}}function gjb(a){switch(a.j.f){case 91:case 86:case 87:case 98:return a;
case 114:return a.b.j==(w7b(),$6b)?a.b:null}throw CV(new llc(oIc+a));}function mNb(a){hNb();switch(a.f){case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:return true;default:return false}}function iRb(a){switch(a){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return true;default:return false}}function Nlb(a){var b,c,d;for(d=W1b(a.n).Pd();d.Jd();){b=d.Kd();a.k+=1;a.j+=Klb(b)}for(c=W1b(a.u).Pd();c.Jd();){b=c.Kd();a.v+=1;a.t+=Klb(b)}}function SGb(a,
b){var c,d,e,f;e=(Sn(),new ar);for(d=b.a.Pd();d.Jd();){c=d.Kd();$q(e,FFb(a.a,c))}f=FFb(a.a,b.b);return aFb(a.a,I7b(f,$n(e.a)))}function MCb(a,b){var c,d,e;d=a.b;e=b.b;!d||!e?c=null:dyb(d,e)?c=d:c=null;return new JCb(a.c==b.c?a.c:null,ozb(a.d,b.d),c,NCb(a.a,b.a))}function Tmb(a){Rmb();if(a.j==(w7b(),X4b)&&!!a.b&&!!a.b.d&&a.b.d==(a.b?a.b.f:null))if(z2b(a.b,XEc)&&a.b.d.j==$6b)return true;return false}function dxb(a,b){var c;if(a==a.a.v||a==a.a.g)return a.a.G;c=a.i.size();return b<c?a.i.getAtIndex(b):
b<c+a.e.size()?a.e.getAtIndex(b-c):a.j}function Sxb(a,b){if(a.e.a.length!=0||!!a.j)throw CV(new Yxb("Cannot add required formal after optional or rest args"));Aqc(a.i,b);return a}function uYb(a,b){b.a=b.a.substr(0,0)+"("+b.a.substr(1);if(a.b.k){MYb(a.b,a.b.p-1);b=iYb(a,b,1);b.a+=")"}else{b.a+=")";b=iYb(a,b,0)}return b}function pec(a,b,c){var d,e,f;d=new hcc(a);f=c.length-1;for(e=0;e<=f;e++)b&&e==f?fcc(d,c[e]):ecc(d,vD(qD(nS,1),xLc,23,0,[c[e]]));return d.b}function de(a,b,c){if(!a)throw CV(new llc(ge('Bad binary operator "%s": expected 2 arguments but got %s',
vD(qD(lT,1),bDc,1,5,[b,Blc(c)]))));}function v_(a){if(!a.f)throw CV(new llc("Cannot build without root node being specified"));return u_(a.f,S_(a.c,a.d),a.c,a.j,a.g,a.i,a.b,a.a)}function EX(b){try{if(b.qi()==null){cY(BEc,b);return false}}catch(a){a=BV(a);if(iE(a,40)){cY(BEc,b);return false}else throw CV(a);}return true}function rPb(a){var b,c;b=GQb(a.g,0).b.b;if(QPb(a,(xTb(),CSb))){CNb(a,CSb);c=new lXb(new SXb(b,a.f),WOb(a));CNb(a,HRb)}else c=HPb(a);return c}function eIb(a,b){var c;c=fIb(a,b);if(c)if(JHb(a,
(YIb(),QIb))){!a.n?dJb(a.i):BHb(a);pIb(a);b=!a.n?dJb(a.i):BHb(a);return kIb(a,b,c)}return c}function Qhc(a,b,c){var d,e,f;f=c-b.size();if(f>0){d=(Sn(),new ar);Oq(d,b);for(e=0;e<f;e++)$q(d,vec(a.b,(dec(),_dc)));return $n(d.a)}return b}function XPb(a){var b;b=GQb(a.g,0);switch(b.c.f){case 18:case 2:case 49:case 65:case 54:case 47:return true;default:return hNb(),!!jNb(b.c)}}function VQb(a){if(rkc(AQb(a,a.d)?dmc(a.e.a,a.d):0,16)<0){IQb(a,"Hex digit expected",vD(qD(lT,1),bDc,1,5,[]));return false}BQb(a);
return true}function bUb(){bUb=bW;YTb=new cUb("BLOCK",0);_Tb=new cUb("LINE",1);$Tb=new cUb("JSDOC",2);aUb=new cUb("SHEBANG",3);ZTb=new cUb("IMPORTANT",4)}function v1b(a,b){if(!!b&&!((a.a.a&wGc)==xGc||(a.a.a&wGc)==LCc||(a.a.a&wGc)==OHc)&&!a.a.g){z_b(a.a,b);a.e=true;return true}else return false}function Ajb(a){Lib();var b;if(!!a&&(a.j==(w7b(),q7b)||a.j==g6b||a.j==f5b))for(b=a.b;b;b=b.d)if(b.j==(w7b(),n5b))return true;return false}function qZb(a,b,c,d){Zd(a.j==(w7b(),q7b)||a.j==r5b||BZb(a));Zd(b.j==
r5b||BZb(b));Zd(c.j==r5b||BZb(c));Zd(d.j==U4b);return new m3b(D5b,a,b,c,d)}function aHb(a,b){var c;Kd(b.c==(xTb(),ySb)||b.c==gTb||b.c==hTb||b.c==iTb);c=sFb(a.a,vFb(a.a,b,true));C2b(c,71,b.a);DFb(c,b.b.b,b.b.a);return c}function yHb(a,b,c,d){var e;a.b.lh(VJc+t4b("msg.jsdoc.type.record.duplicate",vD(qD(lT,1),bDc,1,5,[b]))+WJc,(e=g2b(a.k,51),!e?null:e.Hg()),c,d)}function o1(a,b,c,d){var e,f,g,h;e=new zfb;for(h=Us(new joc(c.a));h.Jd();){g=h.Kd();vfb(e,new a3(g))}f=new Mqc(1);f.a[f.a.length]=e;q1(a,b,
f,d)}function $4(a,b){var c,d;for(d=a.c.a.keySet().Pd();d.Jd();){c=d.Kd();switch(c.Ng(b)){case 0:return 0;case 1:return 1;case 2:continue}}return 2}function _4(a,b){var c,d,e;for(d=a.c.a.keySet().Pd();d.Jd();){c=d.Kd();e=c.Pg(b);if(e){if(a.a&&e==(pZ(),mZ))return pZ(),oZ;return e}}return null}function xYb(a,b,c,d,e){if(b==-2&&!e)throw CV(new dYb("<"));if(b>=a.length)throw CV(new dYb(Amc(c.a,c.d,c.b)));if(b==-2)return d;return a[b]}function W4(a,b){var c;if(iE(b,210)){c=b;c.a&&(a.a=c.a);X4(a,new Nqc(new tAc(c.c.a.Jj())))}else{++a.d;
Fnc(a.e,b,Blc(a.d));pAc(a.c,b);oAc(a.c,b)}}function wib(a,b,c,d){Td(c);kib(a,b);if(gib(a)!=d){a.e=b;Td(a.e);Ppc(a.n,d);oib(a,d.d);!!a.i&&a.i.mh(a);uib(a,b,c);mib(a,false)}else uib(a,b,c)}function CJb(a,b,c){var d;d=(Pd(b.j==(w7b(),X4b),iKc,b),b2b(b)-1);if(d<c.c){gKb(a,c.d);return false}if(d>c.b){dKb(a,c.d);return false}return true}function pCb(a,b,c){if(b.a==(UCb(),SCb)){if(!!a&&!pyb(a.d,b.d,c))return false}else if(!a||a.a==SCb||!pyb(a.d,b.d,c))return false;return true}function LJb(a,b){if(!CJb(a,
b,(GKb(),lKb)))return false;if(!_Jb(a,(Pd(b.j==(w7b(),X4b),iKc,b),a2b(b,1)))){fKb(a,lKb.d);return false}return true}function SJb(a,b){if(!CJb(a,b,(GKb(),wKb)))return false;if(!_Jb(a,(Pd(b.j==(w7b(),X4b),iKc,b),a2b(b,1)))){fKb(a,wKb.d);return false}return true}function v0b(a,b){if(!!b&&!((a.a.a&wGc)==xGc||(a.a.a&wGc)==LCc||(a.a.a&wGc)==OHc)&&!M$b(a.a)){e_b(a.a,b);a.e=true;return true}else return false}function tPb(a,b){var c;c=mPb(a,b);QPb(a,(xTb(),WRb))&&hQb(a,"A default value cannot be specified after '...'",
vD(qD(lT,1),bDc,1,5,[]));return c}function fE(a,b){if(nE(a))return!!eE[b];else if(a.Rj)return!!a.Rj[b];else if(kE(a))return!!dE[b];else if(jE(a))return!!cE[b];return false}function p9(a,b,c){var d,e,f;d=(Lib(),e=Yib(b),!e?null:g2b(e,29));!!d&&D$b(d,c)!=null?f=D$b(d,c):f=nHc+a.b++;Zd((D7b(),B7b.test(f)));return f}function Fjb(a){Lib();var b;if(a.j==(w7b(),G5b)&&zjb(a.e)&&a.j==G5b&&Ujb(a.b)){b=a.e;return b.j==U6b||b.j==m6b||b.e.j==G5b||b.j==y5b}return false}function fcb(a){var b,c,d;b=ecb(a);Td(b);
c=b;d=c.e;while(d.j==(w7b(),b6b)){c=d;d=c.e}$d((Lib(),d.j==S6b||d.j==U6b||d.j==U4b||d.j==m6b),d);return c}function J7b(a){var b,c,d;Ld(!Bs(a),"union must have at least one option");b=new o4b((w7b(),o7b));for(d=a.Pd();d.Jd();){c=d.Kd();R1b(b,c)}return b}function FEb(a){var b,c,d;b=(Io(),new ir);hr(b,Jo((AEb(),zEb)));for(d=a.Pd();d.Jd();){c=d.Kd();c.length!=0&&!jp(zEb,c)&&fr(b,c,YDb)}return Wo(b.b)}function Lic(a,b){var c,d,e;d=new pjc(a.B);for(c=0;c<a.b.size();c++){e=a.b.getAtIndex(c);(e.ai()||e.Li()||
!e.Ri(b))&&jjc(d,e,false)}return kjc(d)}function fqb(a,b){if(b>0&&b<a.length)if(vkc((qCc(b-1,a.length),a.charCodeAt(b-1)))&&wkc((qCc(b,a.length),a.charCodeAt(b))))return b-1;return b}function Ab(a){return nE(a)?ACc(a):kE(a)?pE((jCc(a),a)):jE(a)?(jCc(a),a)?1231:1237:hE(a)?a.Ed():uD(a)?uCc(a):!!a&&!!a.hashCode?a.hashCode():uCc(a)}function be(a,b,c){if(!a)throw CV(new llc(ge("Bad GETELEM node: Expected 2 children but got %s. For node: %s",vD(qD(lT,1),bDc,1,5,[Blc(b),c]))));}function wjb(a,b){Lib();var c;
if(e2b(a,43)!=0)return true;if(a.j!=(w7b(),o6b)||!b)return false;c=Vob(b,a.qi());return!!c&&(utb(c)||c.wh()==f5b)}function OFb(a,b){var c;if(b.j==(w7b(),R6b)){c=b;while(c=c.e)if(c.j==G5b)return;a.d.kh("return must be inside function",a.r,p3b(b.i),o3b(b.i))}}function cRb(a,b){var c,d,e;d=a.d;while(AQb(a,a.d)&&!lRb(AQb(a,a.d)?dmc(a.e.a,a.d):0))BQb(a);c=sNb(a.e.b,d,a.d);e=Amc(a.e.a,d,a.d);mQb(a.a,b,c,e)}function xkc(a){return dmc(String.fromCharCode(a).toUpperCase(),0)==a&&(okc==null&&(okc=new RegExp("[A-Z]",
"i")),okc.test(String.fromCharCode(a)))}function bCc(a){switch(typeof a){case HCc:return ACc(a);case FCc:return pE(a);case ECc:return gkc(),a?1231:1237;default:return a==null?0:uCc(a)}}function oRb(a){switch(a){case 9:case 11:case 12:case 32:case 160:case 65279:case 10:case 13:case 8232:case 8233:return true;default:return false}}function nX(a,b){switch(b.j.f){case 29:case 26:case 27:fX(a,b);break;case 92:SW(b.b,1);nX(a,b.b);break;default:cY("Invalid INC/DEC target "+b.j,b)}}function wm(a,b){if(a==
null)throw CV(new Tlc("null key in entry: null="+b));else if(b==null)throw CV(new Tlc("null value in entry: "+a+"=null"));}function Rlb(a,b,c){var d;d=cqc(a.f);Zd(imc(b,d.j));Aqc(a.w,d);d.n=c;d.a=0;d.k=1;a.d.a&&(d.d=1);imc(b,KFc)?Plb(a,d):a.d.a&&a.D!=(H4(),G4)&&Olb(a,d)}function kGb(a,b){if(A7b(b.qi())){a.a.e=bLb(a.a.e,vD(qD(YO,1),gDc,25,0,[(bMb(),ILb)]));a.a.a.c==(SEb(),MEb)&&a.a.d.lh(HIc,a.a.r,p3b(b.i),o3b(b.i))}}function JKb(){GKb();return vD(qD(WO,1),gDc,59,0,[iKb,jKb,kKb,mKb,nKb,oKb,pKb,qKb,
lKb,sKb,rKb,tKb,uKb,vKb,wKb,zKb,yKb,xKb,AKb,BKb,CKb,DKb,EKb,FKb])}function mYb(a,b){var c,d,e;d=a.b.n;e=fW(a.a);if(e.indexOf(".")!=-1){c=lmc(e,Hmc(46));c+d<e.length&&(e=e.substr(0,c+d+1));b.a+=""+e}else b.a+=""+e}function ihc(a,b,c,d){if(H8b(a,b,c,d))return true;if(vec(a.B,(dec(),Hdc)).Si(b,c,d))return true;if(!b.Xi())return false;return H9b(a,b.Xi(),c,d)}function Zjb(a,b){var c,d;if(a.j==(w7b(),$6b))return true;if(b.Lf().yd){d=a.k;if(d){c=b.Nf().hh((dec(),Qdc));if(d.Vh(c))return true}}return false}
function jCb(a){var b,c,d,e;for(e=(c=(new Loc(a)).a.Xd().Pd(),new Qoc(c));e.a.Jd();){d=(b=e.a.Kd(),b.de());if(0==d.d.Fh())return true}return false}function THb(a,b){var c,d;switch(b.f){case 4:d=a.i.n;c=X1b(new h4b((w7b(),_6b),d,a.i.g,cJb(a.i)),a.k);P2b(c,d.length);return c;default:return null}}function GHb(a){var b,c,d;hJb(a.i);d=a.i.g;b=cJb(a.i)+1;c=Emc(HHb(a));c.length>0&&s0b(a.e,c,d,b,d,b+c.length);return new wIb(c,!a.n?dJb(a.i):BHb(a))}function ykc(a){cCc(a>=0&&a<=_Dc);return a>=PCc?vD(qD(rE,
1),OCc,45,15,[QCc+(a-PCc>>10&RCc)&SCc,TCc+(a-PCc&RCc)&SCc]):vD(qD(rE,1),OCc,45,15,[a&SCc])}function ACc(a){yCc();var b,c,d;c=":"+a;d=xCc[c];if(d!=null)return pE((jCc(d),d));d=vCc[c];b=d==null?zCc(a):pE((jCc(d),d));BCc();xCc[c]=b;return b}function wb(a,b){return nE(a)?imc(a,b):kE(a)?(jCc(a),a===b):jE(a)?(jCc(a),a===b):hE(a)?a.Cd(b):uD(a)?a===b:!!a&&!!a.equals?a.equals(b):oE(a)===oE(b)}function _$(a,b){var c,d,e;d=b.qi();e=e2b(b,54)!=0;if(e)U$(a,e_(a,b.qi(),e));else{c=Dnc(a.d,d);if(c==null){c=e_(a,
b.qi(),e);Gnc(a.d,d,c)}r$(a.c,c)}}function hOb(a,b){var c,d,e,f;f=GQb(a.g,0).b.b;c=yOb(a,b);while(QPb(a,(xTb(),tRb))){d=CNb(a,tRb);e=yOb(a,b);c=new OTb(new SXb(f,a.f),c,d,e)}return c}function iOb(a,b){var c,d,e,f;f=GQb(a.g,0).b.b;c=jOb(a,b);while(QPb(a,(xTb(),yRb))){d=CNb(a,yRb);e=jOb(a,b);c=new OTb(new SXb(f,a.f),c,d,e)}return c}function jOb(a,b){var c,d,e,f;f=GQb(a.g,0).b.b;c=hOb(a,b);while(QPb(a,(xTb(),BRb))){d=CNb(a,BRb);e=hOb(a,b);c=new OTb(new SXb(f,a.f),c,d,e)}return c}function ZOb(a,b){var c,
d,e,f;f=GQb(a.g,0).b.b;c=iOb(a,b);while(QPb(a,(xTb(),vRb))){d=CNb(a,vRb);e=iOb(a,b);c=new OTb(new SXb(f,a.f),c,d,e)}return c}function $Ob(a,b){var c,d,e,f;f=GQb(a.g,0).b.b;c=ZOb(a,b);while(QPb(a,(xTb(),FSb))){d=CNb(a,FSb);e=ZOb(a,b);c=new OTb(new SXb(f,a.f),c,d,e)}return c}function Fbb(a,b){Ebb();return T0(a,DGc+Cmc("arrayFromIterable",(oyc(),myc)),false),gZb(hkb(a,"$jscomp.arrayFromIterable"),vD(qD(SR,1),OEc,7,0,[b]))}function q1b(a,b){if(!!b&&!G$b(a.a)&&!((a.a.a&wGc)==xGc||(a.a.a&wGc)==LCc||(a.a.a&
wGc)==OHc)){A_b(a.a,b,HDc);a.e=true;return true}else return false}function Ls(a,b){var c,d;while(a.Jd()){if(!b.Jd())return false;c=a.Kd();d=b.Kd();if(!(oE(c)===oE(d)||c!=null&&wb(c,d)))return false}return!b.Jd()}function eGb(a){var b,c;Kd(a.j==(w7b(),U6b));if(!a.b)return false;c=a.b;if(c.j!=B5b)return false;b=c.b;if(b.j!=X4b)return false;return z2b(b.b,JHc)}function W7(a,b,c){var d,e,f;f=c.qi();d=gib(b);while(d){e=eq(a.a,d.d,f);if(e!=null){c.vi(e);qib(b);return}else if(Wob(d,f,false))return;else d=
d.c}}function tib(b,c){var d;try{kib(b,c);b.e=c;nib(b,c);uib(b,c,null);mib(b,false)}catch(a){a=BV(a);if(iE(a,88)||iE(a,40)){d=a;sib(b,d)}else throw CV(a);}}function Tvb(){Tvb=bW;new s6("JSC_CANNOT_USE_PROTOTYPE_AND_VAR",(pZ(),mZ),new xnc("Rename prototypes and inline variables cannot be used together."))}function dnc(a,b,c){var d,e;kCc(a,"src");kCc(b,"dest");yb(a);yb(b);e=a.length;d=b.length;if(c<0||c>e||c>d)throw CV(new Zjc);c>0&&PBc(a,0,b,0,c,true)}function zX(a,b,c){var d,e;gX(a,(bMb(),NLb),b);
DX((w7b(),q6b),b);e=y7b(b.j);e!=-1&&(d=b2b(b),e!=d&&cY(tEc+e+uEc+d,b));BX(a,b.b);AX(a,b.b?b.b.f:null,c)}function u3(){u3=bW;t3=new v3(nEc,0);q3=new v3("GOOG",1);p3=new v3("ES6",2);o3=new v3("COMMONJS",3);s3=new v3("JSON",4);r3=new v3("IMPORTED_SCRIPT",5)}function Kdb(){Kdb=bW;Edb=new Ldb(RHc,0);Hdb=new Ldb("OBJECTLIT",1);Fdb=new Ldb(SHc,2);Gdb=new Ldb("GET",3);Jdb=new Ldb("SET",4);Idb=new Ldb("OTHER",5)}function kcb(a,b){var c;c=mcb(a,b);imc(c.substr(0,5),"goog.")&&P2((!a.d&&!!a.g&&(a.d=_0(a.c,a.g)),
a.d),MEc);P2((!a.d&&!!a.g&&(a.d=_0(a.c,a.g)),a.d),c)}function uxb(a,b,c,d,e,f,g,h,i,j,k){Td(a);this.a=a;this.i=b;this.e=c;this.j=d;this.k=e;this.d=f;this.g=g;this.f=h;this.n=i;this.c=j;this.b=k;bxb(this)}function jJb(a,b,c){this.o=sD(rE,OCc,45,128,15,1);this.q=sD(sE,$Dc,45,3,15,1);Td(a);this.g=b;this.k=a;this.j=a.length;this.i=this.b=0;this.d=b;this.c=c}function YBb(a){var b,c,d,e;for(e=(c=(new Boc(a.g)).a.Xd().Pd(),new Hoc(c));e.a.Jd();){d=(b=e.a.Kd(),b.ce());if(!imc(d,PEc))return true}return false}
function NHb(a,b,c,d){var e,f;if(c!=-1&&d==0){f=cJb(a.i)-c;for(e=0;e<f;e++)b.a+=" "}else b.a.length>0&&(Pjc(b,b.a.length-1)!=10||d==0)&&(b.a+=" ",b)}function uIb(a){var b,c;c=0;while(c<a.length){b=dmc(a,a.length-c-1);D7b();if(C7b.test(b))++c;else break}if(c==0)return a;return Amc(a,0,a.length-c)}function Tic(a,b){M7b();var c,d,e;Y7b.call(this,a);this.b=b;e=new pjc(a);for(d=b.Pd();d.Jd();){c=d.Kd();jjc(e,c,true)}this.a=ljc(e);this.c=this.b.Ed()}function Tgb(a,b){if(b.length==0)return b;b.indexOf(LHc)!=
-1&&(b=Amc(b,0,b.lastIndexOf(LHc)));a.a.cg(b)&&(b="JSCompiler_"+b);return b+LHc+a.d+a.f.Gd()}function tqb(a,b,c){var d;d=Ii(Xwc(b.d,a));if(c==d)return d;if(d){d.b.a=d.a;d.a.b=d.b;d.a=null}else{d=new uqb(a);Ywc(b.d,a,d)}d.b=c;c.a=d;c=d;return d}function hGb(a,b,c){var d;if(c){xFb(a.a,c.o,g2b(b,29));d=(mGb(a,c,(bMb(),aMb)),FFb(a.a,c));d.j==(w7b(),$6b)&&(d=aFb(a.a,new q4b($6b,d.qi())));L2b(b,d)}}function TPb(a){var b;b=GQb(a.g,0);switch(b.c.f){case 2:case 100:case 65:case 43:case 101:case 49:case 52:return true;
default:return hNb(),!!jNb(b.c)}}function ETb(a){var b;b=a;while(b.p==(gXb(),FWb))b=b.a;switch(b.p.f){case 26:case 46:case 55:case 59:case 61:case 73:return true;default:return false}}function dcc(a,b){var c,d,e,f,g;c=f2b(a.b);if(!!c&&e2b(c,30)!=0)return false;for(e=b,f=0,g=e.length;f<g;++f){d=e[f];R2b(gcc(a,oec(a.a,d)))}return true}function j$b(a,b,c){!a.d&&(a.d=new O_b);if(_$b(a,b))return false;if(!a.d.s)a.d.s=new Hxc;else if(Cxc(a.d.s,b))return false;Exc(a.d.s,b,c);return true}function ojc(a){var b,
c;c=mjc(a);if(c)return a.c?null:c;b=a.a.a.length;return b>a.g?vec(a.i,(dec(),_dc)):b>1?null:b==1?Cqc(a.a,0):vec(a.i,(dec(),udc))}function smc(a,b,c){var d,e,f,g;d=(e=b>>>0,e.toString(16));f="\\u"+zmc("0000",d.length)+d;g=String.fromCharCode(c);return a.replace(new RegExp(f,"g"),g)}function FD(a,b){var c,d,e;if(b<=22){c=a.l&(1<<b)-1;d=e=0}else if(b<=44){c=a.l;d=a.m&(1<<b-22)-1;e=0}else{c=a.l;d=a.m;e=a.h&(1<<b-44)-1}return AD(c,d,e)}function m1(a,b){var c,d;d=S2(b,a);if(!d)return false;c=g2b(d,29);
if(!!c&&(c.a&HFc)!=0){R1b(a.q,d);X2(b);xfb(b.j,b);Aqc(a.o,b);return true}return false}function WBb(a,b){var c;c=UBb(a,b);if(b.a.size()==1)return!c?a.a.B:c.d;else{Zd(!!c);return kyb(c.d,(Kd(b.a.size()!=1),new XCb(b.a.Ze(1,b.a.size()))))}}function MFb(a,b){var c;if(b.j==(w7b(),v6b)){c=b;while(c=c.e)if(c.j==G5b)return;a.d.kh("new.target must be inside a function",a.r,p3b(b.i),o3b(b.i))}}function G0b(a,b){var c,d;for(d=new Atc(b.b.Pd());d.b.Jd();){c=d.b.Kd();if((O$b(a.a,c)||imc(c,"*"))&&i_b(a.a,c))a.e=
true;else return false}return true}function czc(a,b,c,d,e,f,g,h){var i,j;if(!d)return;i=d.a[0];!!i&&czc(a,b,c,i,e,f,g,h);dzc(a,c,d.d,e,f,g,h)&&b.add(d);j=d.a[1];!!j&&czc(a,b,c,j,e,f,g,h)}function pl(a,b,c){var d,e;xm(c,"count");if(c==0){d=a.a.remove(b);e=sl(d,c)}else{d=a.a.get(b);e=sl(d,c);!d&&a.a.put(b,new Rm(c))}a.b=DV(a.b,c-e);return e}function y8(){y8=bW;v8=dwc((w7b(),t7b),vD(qD(UR,1),gDc,10,0,[D5b,E5b,F5b,p5b,G5b]));x8=bLb((XKb(),MKb),vD(qD(YO,1),gDc,25,0,[(bMb(),JLb),uLb]));w8=new H8}function YFb(a){_Eb();
switch(a.f){case 98:return w7b(),j7b;case 99:return w7b(),C5b;default:throw CV(new llc(!a?KCc:a.a==null?(hNb(),kp(KMb,a)).b:a.a));}}function _Fb(a){_Eb();switch(a.f){case 68:return w7b(),X5b;case 69:return w7b(),i5b;default:throw CV(new llc(!a?KCc:a.a==null?(hNb(),kp(KMb,a)).b:a.a));}}function ecc(a,b){var c,d,e,f,g;c=f2b(a.b);if(!!c&&(e2b(c,37)!=0||e2b(c,30)!=0))return false;for(e=b,f=0,g=e.length;f<g;++f){d=e[f];gcc(a,d)}return true}function xBc(a,b,c){var d;(lBc?b.Fj()>=(uBc(a),800):mBc?b.Fj()>=
(RAc(),800):pBc?b.Fj()>=(RAc(),900):oBc&&b.Fj()>=(RAc(),1E3))&&(d=new kBc(b,c),rBc(a,d))}function yBc(a,b,c){var d;(lBc?b.Fj()>=(uBc(a),800):mBc?b.Fj()>=(RAc(),800):pBc?b.Fj()>=(RAc(),900):oBc&&b.Fj()>=(RAc(),1E3))&&(d=new kBc(b,c),rBc(a,d))}function tD(a,b){var c=new Array(b);var d;switch(a){case 14:case 15:d=0;break;case 16:d=false;break;default:return c}for(var e=0;e<b;++e)c[e]=d;return c}function ZW(a,b){var c;DX((w7b(),e5b),b);fX(a,b.b);if(e2b(b,75)!=0){c=b2b(b);1!=c&&cY(xEc+c,b)}else{c=b2b(b);
2!=c&&cY(sEc+c,b);hX(a,b.b?b.b.f:null,false)}}function fY(a,b){var c,d,e;c=new Mqc(a.e.b.a.length);for(e=new Pyc(a.e);e.a<e.c.b.a.length;){d=Oyc(e);d.b==b&&Aqc(c,d.a)}return Kqc(c,sD(CL,FEc,60,0,0,1))}function kmb(a,b){dmb();var c;this.b=a;this.d=a.C;this.p=b;this.i=new Lqc;this.c=false;this.e=0;this.q=a.M.xd;c=a.M.fc;c>0&&c<=100?this.g=c:this.g=100}function Ssb(a,b,c,d,e){var f,g;g=b.getAtIndex(c);if(c<d)return g.ei(0);f=e==ICc&&c==b.size()-1;if(f)return aFc+Usb(a,g).ei(0);return Usb(a,g).ei(0)+
"="}function LOb(a){var b,c,d,e;d=GQb(a.g,0).b.b;e=null;if(WPb(a)){b=HOb(a,0);CNb(a,(xTb(),wRb));c=DPb(a);e=new WUb(new SXb(d,a.f),b,c)}else e=_Nb(a);return e}function kRb(a){switch(a){case 36:case 95:return true;default:return a==629||(okc==null&&(okc=new RegExp("[A-Z]","i")),okc.test(String.fromCharCode(a)))}}function j2b(a){var b,c,d,e;b=0;for(e=a.g;e;e=e.b)++b;c=sD(qE,SDc,45,b,15,1);for(d=a.g;d;d=d.b){--b;c[b]=d.c}c.sort(cW(Wrc.prototype.Nj,Wrc,[]));return c}function x2b(a){var b,c,d;d=G2b(a,
a.g,85);d!=a.g&&(a.g=d);a.g=new K3b(85,1,a.g);for(c=(!a.b?(msc(),msc(),lsc):new Z3b(a.b)).Pd();c.Jd();){b=c.Kd();x2b(b)}}function l8(a,b){var c,d,e;e=G2b(b,b.g,85);e!=b.g&&(b.g=e);b.g=new K3b(85,1,b.g);for(d=(!b.b?(msc(),msc(),lsc):new Z3b(b.b)).Pd();d.Jd();){c=d.Kd();l8(a,c)}}function b3b(b){var c,d;try{d=new $mc;B3b(b,0,d);return d.a}catch(a){a=BV(a);if(iE(a,102)){c=a;throw CV(new yC("Should not happen\n"+c));}else throw CV(a);}}function nA(a){var b;iA.call(this,a,null);this.a=sD(rE,OCc,45,512,
15,1);Kd(a.c.length==16);for(b=0;b<256;++b){this.a[b]=a.c[b>>>4];this.a[b|256]=a.c[b&15]}}function kab(a){var b;if(!a.b)return null;for(b=a.b.b;b;b=b.d)if(b.j==(w7b(),G5b)&&imc("$jscomp$generator$function$name",b.b.qi()))return b;return null}function ybb(a,b,c){var d,e,f;d=Kbb(aZb(vD(qD(SR,1),OEc,7,0,[])),b);for(e=a.b;e;e=e.d)if(e.j==(w7b(),$6b)){f=Kbb(v3b(xbb(g2b(e,71))),c);R1b(d,f)}return d}function Fwb(){Fwb=bW;Ewb=new s6("JSC_ILLEGAL_PROTOTYPE_MEMBER",(pZ(),nZ),new xnc("Prototype property {0} should be a primitive, not an Array or Object."))}
function JEb(){JEb=bW;IEb=new KEb("TYPES_ONLY",0);GEb=new KEb("INCLUDE_DESCRIPTIONS_NO_WHITESPACE",1);HEb=new KEb("INCLUDE_DESCRIPTIONS_WITH_WHITESPACE",2)}function BNb(a,b){var c,d,e;d=b.b;c=b.a;if(d.o.a.b<c.o.b.b){a.f=d.o.a;QQb(a.g,a.f.c);e=d}else{hQb(a,"'=>' unexpected",vD(qD(lT,1),bDc,1,5,[]));e=b}return e}function f9(a,b,c){var d,e;d=e2b(a,58)!=0?b:c;d=Y1b(d,false);x2b(d);if(a.j==(w7b(),e5b))return sZb(d,F2b(a));else{e=a.b.b;return d3b(tZb(d,QZb(a.qi())),e)}}function Hob(a,b,c,d,e,f){var g;g=
Iob(a,b);if(g)return new ofb(c,null,d,e,g,null,vD(qD(qT,1),NCc,2,6,[b]));return tfb(c,d,e,f,yob,vD(qD(qT,1),NCc,2,6,[b]))}function Rob(a){if(!a.c||a.d.j==(w7b(),m6b))return null;if(a.d.j!=(w7b(),G5b)||p2b(a.d))return Rob(a.c);!a.a&&(a.a=(ttb(),Kd(true),new Atb(a)));return a.a}function Iub(a,b){var c;return new Vub(a,Oub((ivb(),c=tmc(tmc(tmc(tmc(tmc(smc(smc(b,58,45),92,47)," ",aHc),"[",bHc),"]",cHc),"<",dHc),">",eHc),jvb(c)),a.d))}function ahb(a){var b,c;c=(ivb(),lvb((b=tmc(tmc(tmc(tmc(tmc(smc(smc(a,
58,45),92,47)," ",aHc),"[",bHc),"]",cHc),"<",dHc),">",eHc),jvb(b))));return new _gb(c,c)}function EAb(a){var b;DAb();new jyc;new Hxc;Td(a);b=new Xxb(a);Txb(b,a.G);Uxb(b,a.G);Zd(!b.c);Zd(Knc(b.f.c)==0);new Qwb(b.a,b.i,b.e,b.j,b.k,b.d,b.g,b.n,b.b)}function tJb(){var a;if(pJb)return;a=Xyc(hKc);pJb=sJb(Vyc(a,"jsdoc.annotations"));qJb=sJb(Vyc(a,"jsdoc.suppressions"));sJb(Vyc(a,"compiler.reserved.vars"))}function Upc(a){var b,c,d;if(a.b!=a.c)return;d=a.a.length;c=tlc($wnd.Math.max(8,d))<<1;if(a.b!=0){b=
QBc(a.a,c);Tpc(a,b,d);a.a=b;a.b=0}else UBc(a.a,c);a.c=d}function KD(a,b){var c,d,e;e=a.h-b.h;if(e<0)return false;c=a.l-b.l;d=a.m-b.m+(c>>22);e+=d>>22;if(e<0)return false;a.l=c&fEc;a.m=d&fEc;a.h=e&gEc;return true}function T0b(a){if((a.a.a&wGc)==xGc||(a.a.a&wGc)==LCc||(a.a.a&wGc)==OHc||(a.a.a&2)!=0||R$b(a.a)||(a.a.a&aIc)!=0)return false;a.a.a|=512;a.e=true;return true}function k9b(a,b,c,d){M7b();Y7b.call(this,a);this.a=!b?pec(a,true,vD(qD(nS,1),xLc,23,0,[R7b(this,(dec(),_dc))])):b;this.b=!c?R7b(this,
(dec(),_dc)):c;this.c=d}function dzc(a,b,c,d,e,f,g){var h,i;if(b.Oj()&&(i=a.a.Qe(c,d),i<0||!e&&i==0))return false;if(b.Pj()&&(h=a.a.Qe(c,f),h>0||!g&&h==0))return false;return true}function JX(b){if(b.si())try{b.qi()}catch(a){a=BV(a);if(iE(a,20))cY("getString failed for"+b.j,b);else throw CV(a);}else EX(b)&&b.qi().length==0&&cY(AEc,b)}function q5(){q5=bW;o5=Bmc("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$");p5=Bmc("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_0123456789$")}function jib(a,
b,c){var d,e;a.f=b;rib(a,g2b(b,53),(e=(d=g2b(b,51),!d?null:d.Hg()),e==null?"":e));a.e=b;if(a.a.Yf(a,b,c)){vib(a,b);a.e=b;a.a.Zf(a,b,c)}a.f=null}function tjb(a){Lib();if(a.j==(w7b(),o6b))switch(a.e.j.f){case 100:case 88:case 78:return true;case 96:return a.e.b==a;case 65:return ujb(a.e)}return false}function Rjb(a){Lib();var b,c,d;if(a.j==(w7b(),X4b)){b=a.b;if(b.j==M5b||b.j==L5b){c=b.b?b.b.f:null;if(!!c&&c.j==$6b){d=c.qi();return imc(d,NGc)}}}return false}function hpb(){hpb=bW;new s6("JSC_DUPLICATE_ZIP_CONTENTS",
(pZ(),oZ),new xnc("Two zip entries containing the same relative path.\nEntry 1: {0}\nEntry 2: {1}"))}function F7(){F7=bW;E7=new s6("JSC_MISSING_ES6_EXTERNS",(pZ(),mZ),new xnc("Missing externs definition for Symbol. Did you forget to include the ES6 externs?"))}function B6(){B6=bW;z6=new s6("BAD_REST_PARAMETER_ANNOTATION",(pZ(),oZ),new xnc('Missing "..." in type annotation for rest parameter.'));A6=dLb((XKb(),PKb),OKb)}function Whc(a,b,c){var d,e,f,g;g=c.Ti().Zi();if(!g)return false;f=g.b;for(e=f.Pd();e.Jd();){d=
e.Kd();if(!!d.Yi()&&Xhc(a,b,d.Yi()))return true}return false}function tx(a,b){var c,d,e;if(b.isEmpty())return false;if(iE(b,204)){e=b;for(d=Wk(e).Pd();d.Jd();){c=d.Kd();kl(a,c.b.ce(),Cl(c))}}else Gs(a,b.Pd());return true}function I9b(a){var b,c,d;if(a.w){b=a.ej();if(!b||b.nj()){a.w=false;for(d=a.dj().Pd();d.Jd();){c=d.Kd();if(c.ai()){a.w=true;break}}}else a.w=b.ai()}return a.w}function xt(a){var b,c,d,e,f;if(Eq(a.f,a.b.length)){d=sD(OG,CDc,239,a.b.length*2,0,1);a.b=d;e=d.length-1;for(c=a.a;c!=a;c=
c.qf()){f=c;b=f.d&e;f.a=d[b];d[b]=f}}}function nCb(a,b){var c,d,e,f;for(f=(d=(new Boc(a.g)).a.Xd().Pd(),new Hoc(d));f.a.Jd();){e=(c=f.a.Kd(),c.ce());if(!_Bb(b,new YCb(e)))return false}return true}function xyc(a,b){var c,d,e;jCc(b);cCc(b!=a);e=a.b.a.length;for(d=b.Pd();d.Jd();){c=d.Kd();Aqc(a.b,jCc(c))}if(e!=a.b.a.length){yyc(a,0);return true}return false}function kbc(a){var b;if(!a.j){b=a.jj();b==null?pbc(a,uec(a.B,(dec(),_dc)),null):nbc(a,new Gac(a.B,a.jj()+hHc,uec(a.B,(dec(),Hdc)),a.s,null),null)}return a.j.e}
function fcc(a,b){var c;c=f2b(a.b);if(!!c&&e2b(c,30)!=0)return false;b.Mi()||b.Ki()||b.Li()||vec(b.B,(dec(),rdc))==b||(b=oec(a.a,b));Z2b(gcc(a,b));return true}function Sc(a){var b,c,d;d=new Zyc("[","]");for(c=a.Pd();c.Jd();){b=c.Kd();Yyc(d,b===a?_Cc:b==null?KCc:fW(b))}return!d.a?d.c:d.e.length==0?d.a.a:d.a.a+(""+d.e)}function GV(a,b){var c;if(JV(a)&&JV(b)){c=a/b;if(lEc<c&&c<jEc)return c<0?$wnd.Math.ceil(c):$wnd.Math.floor(c)}return FV(BD(JV(a)?QV(a):a,JV(b)?QV(b):b,false))}function Pxb(a,b){if(a.j)throw CV(new Yxb("Cannot add optional formal after rest args"));
if(!b)Aqc(a.e,null);else{Kd(0!=b.Fh());Aqc(a.e,ozb(b,a.a.B))}return a}function lyb(a){var b;Zd(a.Fh()==2&&a.Ih().size()==1);b=XBb(a.Fh()==2&&a.Ih().size()==1?Ps(a.Ih().Pd()):null);return b?rzb(b.a,2,(vn(),new Py(b)),null,Zxb):null}function IB(a){var b,c,d,e,f;YB(new $B(a),new _B);c=0;f=0;for(e=new grc(a.e);e.a<e.c.a.length;){d=erc(e);if(d.f){++c;b=d.a.b;f=$wnd.Math.max(f,b)}}return f+a.i.b}function gHb(a,b){var c,d,e;e=HFb(a.a,b.c);d=e.j==(w7b(),C6b)||e.j==z4b?nFb(a.a,n5b,e):e;if(b.b){c=FFb(a.a,b.b);
R1b(d,c);AFb(d,b.o.b,b.o.a)}hGb(a,d,b.a);return d}function asc(a,b){var c,d,e;esc(b);c=b/31|0;d=a.a.length;if(c>=d)return-1;e=(a.a[c]|0)&ICc<<b%31;while(e==0){if(++c>=d)return-1;e=a.a[c]|0}return c*31+xlc(e)}function tmc(a,b,c){var d,e;d=umc(b,"([/\\\\\\.\\*\\+\\?\\|\\(\\)\\[\\]\\{\\}$^])","\\\\$1");e=umc(umc((jCc(c),c),MCc,"\\\\\\\\"),"\\$","\\\\$");return umc(a,d,e)}function u0(a){var b,c,d;b=a.b;if((A2b(b,zFc,zFc.length)||A2b(b,AFc,AFc.length))&&b2b(a)==3){c=b.d;d=c.d;if(t2b(c)&&t2b(d))return new o0((r0(),
c),d)}return null}function L9(a,b){var c;c=K9(a,(dec(),pdc),b.k);return Kbb(IZb(vD(qD(SR,1),OEc,7,0,[MZb(new g4b((w7b(),_6b),pHc),b),MZb(new g4b(_6b,rHc),fab(a,new g3b(j7b)))])),c)}function mBb(a){var b,c,d,e;if(null.Tj())return kp(a.b,null.Tj());d=null.Uj;for(c=qBb().Pd();c.Jd();){b=c.Kd();e=mBb(b);!!e&&(d=ozb(d,e))}return 0==d.Fh()?null:d}function S0b(a){if(!((a.a.a&wGc)==xGc||(a.a.a&wGc)==LCc||(a.a.a&wGc)==OHc)&&!R$b(a.a)&&(a.a.a&2)==0){a.a.a|=512;a.a.a|=IGc;a.e=true;return true}else return false}
function wi(a,b){var c,d,e;c=b.ce();e=b.de();d=a.get(c);if(!(oE(e)===oE(d)||e!=null&&wb(e,d)))return false;if(d==null&&!a.containsKey(c))return false;return true}function Dp(a){vn();var b,c;if(!a.Jd())return Wx(),Vx;c=a.Kd();if(!a.Jd())return new Py(c);b=new jyc;Cwc(b,Td(c));do Cwc(b,Td(a.Kd()));while(a.Jd());return Kp(b)}function ND(a,b){var c,d,e,f,g,h,i,j;i=a.h>>19;j=b.h>>19;if(i!=j)return j-i;e=a.h;h=b.h;if(e!=h)return e-h;d=a.m;g=b.m;if(d!=g)return d-g;c=a.l;f=b.l;return c-f}function h1(a,b,
c,d){var e,f,g;if(b==null)return null;g=BAc(a.w,b);if(!g)return null;e=Qpb(g,a.j);if(!e)return null;f=XA(e,c,d+1);if(!f)return null;return null}function n5(){n5=bW;m5=new s6("JSC_CONSTANT_REASSIGNED_VALUE_ERROR",(pZ(),oZ),new xnc("constant {0} assigned a value more than once.\nOriginal definition at {1}"))}function jgb(a){bgb();this.c=a;this.a=(pW(),nW)==a.K;this.d=j1(a);this.f=Ibb(this.a,this.d,(dec(),_dc));this.e=Ibb(this.a,this.d,Qdc);this.b=Ibb(this.a,this.d,Zcc)}function otb(a,b,c){var d,e;d=
new qcb;L0(a.b,d);Bmb(new Emb(a.b,true),null,c);if(lW(a.b._)){Kkb(new Mkb(a.b),b,c);if(a.b._==1){e=new vlb(a.b);ulb(e,b,c)}}K1(a.b,d)}function BOb(a){var b,c,d;d=GQb(a.g,0).b.b;c=ENb(a);b=null;if(PPb(a,0,(xTb(),fSb))&&imc(GQb(a.g,0).a,"as")){INb(a,"as");b=ENb(a)}return new vUb(new SXb(d,a.f),c,b)}function V_(a,b){var c,d;if(a.n==0)for(c=0;c<a.a;c++){Wmc(a.i,"  ");a.n+=2}Wmc(a.i,b);a.n+=b.length;d=Wb(new ic(10),b);if(d>0){a.k+=d;a.n=b.length-omc(b,Hmc(10))}}function A8(a,b,c){var d,e;while(!!b.b&&
!!b.b.d){d=b.b?b.b.f:null;e=c3b(mZb($1b(d),(w7b(),q7b)),b);E8(b,c,d,e);P1b(c,e,b);N1(a.a,c)}E8(b,c,b.b,b);X2b(b,(w7b(),q7b))}function _bb(a,b,c){var d;if(c){d=b.e;if(Rjb(d)&&b==d.b&&b.b.j==(w7b(),o6b)&&ccb(a,b.b.qi()))return false;return Oib(b,a.c,a.e)}else return Lib(),Pib(b,false,a.b)}function JFb(a,b){var c,d,e;e=new gqc;while(b){NFb(a,b);KFb(a,b);OFb(a,b);MFb(a,b);LFb(a,b);d=b.d;c=b.b;if(c){!!d&&Ppc(e,d);b=c}else d?b=d:b=$pc(e)}Zd(e.b==e.c)}function lZb(a,b,c){if(a.j==(w7b(),o6b))Zd(!a.b);else{Zd(a.j==
z4b||a.j==C6b);a=new i3b(n5b,a)}ce(BZb(b),"%s can't be an expression",b);R1b(a,b);return new i3b(c,a)}function jkb(a,b){if(a.j==(w7b(),C6b)||a.j==z4b){Td(b);return c3b(mZb(c3b(new k3b(n5b,a,b),a),q7b),a)}else{Zd(a.j==o6b&&!a.b);!!b&&R1b(a,b);return c3b(mZb(a,q7b),a)}}function uZb(a,b,c){var d,e,f,g,h;Zd(BZb(a));Zd(b.j==(w7b(),$6b));h=new k3b(M5b,a,b);for(e=c,f=0,g=e.length;f<g;++f){d=e[f];Zd(d.j==$6b);h=new k3b(M5b,h,d)}return h}function D9b(a){var b,c,d,e;c=a.jj();if(c!=null){e=lmc(c,Hmc(40));if(e!=
-1){b=omc(c,Hmc(41));d=c.substr(0,e);return b+1%c.length==0?d:d+(""+c.substr(b+1))}}return c}function ssc(a){var d;msc();var b,c;for(c=0,b=a.a.length-1;c<b;++c,--b){d=(iCc(c,a.a.length),a.a[c]);Hqc(a,c,(iCc(b,a.a.length),a.a[b]));iCc(b,a.a.length);a.a[b]=d}}function rjb(a){Lib();switch(a.j.f){case 47:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 59:case 57:case 58:return true}return false}function vxb(a,b){Td(a);this.a=a;this.i=null;this.e=null;this.j=null;this.k=Td(this.a.G);
this.d=null;this.g=null;this.f=null;this.n=(iDb(),hDb);this.c=b;this.b=false}function qCb(a,b,c){var d,e,f,g,h;for(f=a.Pd();f.Jd();){e=f.Kd();d=false;for(h=b.Pd();h.Jd();){g=h.Kd();if($Bb(e,g,c)){d=true;break}}if(!d)return false}return true}function HFb(a,b){var c,d,e;c=dFb(a,b.o);d=oGb(a.u,b);!!c&&(e=G2b(d,d.g,29),e!=d.g&&(d.g=e),!!c&&(d.g=new U3b(29,c,d.g)),d);p3b(d.i)==-1&&DFb(d,b.o.b,b.o.a);return d}function bGb(a,b){var c,d;if(b.a.p==(gXb(),IVb)){c=b.a.a;d=As(c);d.p==JWb&&a.a.d.kh("A rest parameter must be in a parameter list.",
a.a.r,(_Eb(),d.o.b.b+1),d.o.b.a)}}function F0b(a){if((a.a.a&wGc)==xGc||(a.a.a&wGc)==LCc||(a.a.a&wGc)==OHc||(a.a.a&jHc)!=0||(a.a.a&iEc)!=0||(a.a.a&iHc)!=0)return false;a.a.a|=jHc;a.e=true;return true}function s1b(a){if((a.a.a&wGc)==xGc||(a.a.a&wGc)==LCc||(a.a.a&wGc)==OHc||(a.a.a&jHc)!=0||(a.a.a&iEc)!=0||(a.a.a&iHc)!=0)return false;a.a.a|=iEc;a.e=true;return true}function abc(a,b,c,d){!!c.$i()&&(c=Lic(c.$i(),vec(a.B,(dec(),cec))));b.a+=aFc;d&&c.Pi()&&!c.ai()&&!c.Yi()&&!c.Xi()&&!c.Wi()&&!c.$i()&&!W7b(c)&&
(b.a+="!",b);c.zi(b,d)}function YA(a,b){var c,d,e,f,g;if(b.Cf()==-1)return null;else{g=(f=(e=(d=new wC,a.e[b.Cf()],d),b.Df()+1,e),b.Bf()+1,f);b.Af()!=-1&&(c=g,a.d[b.Af()],c);return new vC}}function d1(a){var b,c,d,e;e=new Fwc;if(a.C)for(d=W1b(a.C).Pd();d.Jd();){c=d.Kd();e2b(c,93)!=0&&Cwc(e,f1(a,(b=g2b(c,51),!b?null:b.Hg())))}return $0(a),k1(a),new Anb}function Y1b(a,b){var c,d,e,f,g;g=a.oi(b);c=null;d=null;if(a.b){for(e=a.b;e;e=e.d){f=Y1b(e,b);f.e=g;if(!c){c=f;d=c}else{d.d=f;f.f=d;d=f}}c.f=d;d.d=
null;g.b=c}return g}function Rd(a,b,c,d){if(!a)throw CV(new Nfb(ge("Cannot add already-owned child node.\nChild: %s\nExisting parent: %s\nNew parent: %s",vD(qD(lT,1),bDc,1,5,[b,c,d]))));}function Ai(a){var b,c,d;d=new Zyc("{","}");for(c=a.Xd().Pd();c.Jd();){b=c.Kd();Yyc(d,Bi(a,b.ce())+"="+Bi(a,b.de()))}return!d.a?d.c:d.e.length==0?d.a.a:d.a.a+(""+d.e)}function LX(a,b,c){var d,e;DX((w7b(),_6b),c);JX(c);e=b2b(c);(e<0||e>1)&&cY(zEc+e,c);if(!!c.b&&!c.b.d){d=c.b;switch(d.j.f){case 118:$W(a,b,d);break;
default:rX(a,b,d)}}}function lcb(a,b,c){var d,e;if(Iab(b))return true;if(!c){d=new Oab;zib(a.a,b,d);if(d.a)return false}e=c3b(new g3b((w7b(),m6b)),b);U1b(e,E2b(b));R1b(b,e);return true}function Usb(a,b){var c,d;if(!b.ci())return b;d=b.di();if(b.Zh()){c=a.b.hh((dec(),vdc));return a.b.gh((Sn(),new Rx(jo(vD(qD(lT,1),bDc,1,5,[d,c])))))}return d.Sh()?b:d}function cxb(a,b){var c;if(!iE(b,175))return false;if(a===b)return true;c=b;return vyc(a.i,c.i)&&vyc(a.e,c.e)&&vyc(a.j,c.j)&&vyc(a.k,c.k)&&vyc(a.d,c.d)&&
vyc(a.g,c.g)}function Hac(a,b,c,d,e){K9b.call(this,a,e);this.v=new rgc;qgc(this.v,this);this.q=b;this.s=d;this.p=false;d||!!c?(Zd(!this.sj()),this.r=c):Eac(this,uec(a,(dec(),Hdc)))}function _ac(a,b,c,d){!!c.$i()&&(c=Lic(c.$i(),vec(a.B,(dec(),cec))));Wmc((d&&c.Pi()&&!c.ai()&&!c.Yi()&&!c.Xi()&&!c.Wi()&&!c.$i()&&!W7b(c)&&(b.a+="!",b),c.zi(b,d)),"=")}function YV(b,c,d,e){XV();var f=VV;$moduleName=c;$moduleBase=d;AV=e;function g(){for(var a=0;a<f.length;a++)f[a]()}if(b)try{CCc(g)()}catch(a){b(c,a)}else CCc(g)()}
function _b(a){var b,c;c=vD(qD(rE,1),OCc,45,15,[92,117,0,0,0,0]);for(b=0;b<4;b++){c[5-b]=(qCc(a&15,XCc.length),XCc.charCodeAt(a&15));a=a>>4&SCc}return Nmc(c,0,c.length)}function dD(a){var b,c,d,e;b="cD";c="DA";e=$wnd.Math.min(a.length,5);for(d=e-1;d>=0;d--)if(imc(a[d].d,b)||imc(a[d].d,c)){a.length>=d+1&&a.splice(0,d+1);break}return a}function yi(a,b,c){var d,e,f;for(e=a.Xd().Pd();e.Jd();){d=e.Kd();f=d.ce();if(oE(b)===oE(f)||b!=null&&wb(b,f)){if(c){d=new _oc(d.ce(),d.de());e.Ld()}return d}}return null}
function iX(a,b){var c,d,e;DX((w7b(),M5b),b);d=y7b(b.j);d!=-1&&(c=b2b(b),d!=c&&cY(tEc+d+uEc+c,b));fX(a,b.b);e=b.b?b.b.f:null;DX($6b,e);EX(e)&&e.qi().length==0&&cY(AEc,e)}function B1(a,b){var c,d,e,f;c=new Lqc;for(f=b.Pd();f.Jd();){d=f.Kd();c.a[c.a.length]=d}for(e=new grc(c);e.a<e.c.a.length;){d=erc(e);d.b=a;V2(d);Y2(d,(u3(),p3))}return c}function hmb(a,b,c){var d,e;a.k=0;a.o=0;if(a.n){a.o=(a.n.b-a.n.a)/a.i.a.length;a.k=a.n.a}for(e=new grc(a.i);e.a<e.c.a.length;){d=erc(e);d.Tf(b,c);if(a.b.j.a.d>0)return}}
function Ncb(a,b){var c,d,e,f;if(b.Xi())for(f=b.fj().Pd();f.Jd();){e=f.Kd();c=g2b((d=b.kj(e),!d?null:d.d),51);if(!!c&&c.vh()){Cwc(a.b.b,e);Qcb(a,b.ij(e))}}return a.b.b}function QCb(a,b){var c,d;c=null;if(!!a.b&&!!b.b){c=Dzb(a.b,b.b);if(!c)return null}d=Dzb(a.d,b.d);if(!d)return null;return new JCb(a.c==b.c?a.c:null,d,c,OCb(a.a,b.a))}function Qu(a,b){var c,d;d=a.size();if(b==null)for(c=0;c<d;c++){if(a.getAtIndex(c)==null)return c}else for(c=0;c<d;c++)if(wb(b,a.getAtIndex(c)))return c;return-1}function Swb(a,
b){var c,d,e,f;e=a.Ch();if(!e)return true;f=b.Ch();for(d=e.Pd();d.Jd();){c=d.Kd();if(!!f&&f.contains(c))continue;if(!null.Tj())return false}return true}function tOb(a,b){var c,d,e,f;f=GQb(a.g,0).b.b;c=$Ob(a,b);if(QPb(a,(xTb(),RSb))){CNb(a,RSb);d=bOb(a,b);CNb(a,KRb);e=bOb(a,b);return new mUb(new SXb(f,a.f),c,d,e)}return c}function h$b(a,b){!a.d&&(a.d=new O_b);if(a_b(a,b)||(a.a&wGc)==LCc)return false;if(!a.d.q)a.d.q=new Lqc;else if(Dqc(a.d.q,b,0)!=-1)return false;Aqc(a.d.q,b);return true}function $rc(a){var b,
c,d,e;d=hsc(a.a);b=-2128831035^d;for(c=0;c<=d;c++){e=a.a[c]|0;b=b*GLc&-1^e&255;b=b*GLc&-1^e>>>8&255;b=b*GLc&-1^e>>>16&255;b=b*GLc&-1^e>>>24}return b}function us(a,b){var c,d;Td(a);if(!b.Jd())return Td(a),ps==a?os:new Yx(new sAc(a));c=new sAc(a);while(b.Jd()){d=b.Kd();Td(d);c.a.put(d,(gkc(),ekc))==null}return new Yx(c)}function Ms(a,b){var c,d;Is(b);d=Hs(a,b);if(!a.a.Jd())throw CV(new $jc(JDc+b+") must be less than the number of elements that remained ("+d+")"));return c=a.a.Kd(),c.ce()}function K_(a){var b;
if(a.n>a.o)if(a.d>a.b&&a.d<a.b+a.n){b=a.d;Zmc(a.i,b,String.fromCharCode(10));a.e=b;D_(a,a.k,b-a.b,true);++a.k;a.n-=b-a.b;a.f=a.b;a.b=b+1}else L_(a)}function Nib(a){var b,c,d,e;c=a.b;e=new $mc;for(d=c;d;d=d.d){b=d.j==(w7b(),x6b)||_jb(d)||d.j==r5b?"":njb(d);if(b==null)return null;d!=c&&(e.a+=",",e);e.a+=""+b}return e.a}function nBb(a){var b,c,d,e,f;if(null.Tj())return kp(a.b,null.Tj());e=null.Uj;b=false;for(d=qBb().Pd();d.Jd();){c=d.Kd();f=nBb(c);if(f){b=true;e=szb(e,f)}}return b?e:null}function ljc(a){var b,
c;b=ojc(a);if(b)return Sn(),new My(Td(b));c=mjc(a);if(!!c&&a.c)return Sn(),new Rx(jo(vD(qD(lT,1),bDc,1,5,[c,vec(a.i,(dec(),cec))])));return $n(a.a)}function rkc(a,b){if(b<2||b>36)return-1;if(a>=48&&a<48+$wnd.Math.min(b,10))return a-48;if(a>=97&&a<b+97-10)return a-97+10;if(a>=65&&a<b+65-10)return a-65+10;return-1}function Vh(a,b){var c;c=a.c.get(b);!c&&(c=a.Ae(b));return iE(c,207)?new Sk(a,b,c):iE(c,125)?new Rk(a,b,c):iE(c,31)?new Tk(a,b,c):iE(c,46)?$h(a,b,c,null):new ck(a,b,c,null)}function PA(){PA=
bW;var a,b,c;c=sD(qE,SDc,45,128,15,1);urc(c,c.length);for(b=0;b<=9;b++)c[48+b]=b<<24>>24;for(a=0;a<=26;a++){c[65+a]=10+a<<24>>24;c[97+a]=10+a<<24>>24}OA=c}function CW(){CW=bW;yW=new DW(oEc,0,"\u001b[31m");BW=new DW(pEc,1,"\u001b[35m");zW=new DW("NO_COLOR",2,"\u001b[39m");xW=new DW("BOLD",3,"\u001b[1m");AW=new DW("UNBOLD",4,"\u001b[0m")}function RW(a,b){var c,d,e;DX((w7b(),_4b),b);e=y7b(b.j);e!=-1&&(d=b2b(b),e!=d&&cY(tEc+e+uEc+d,b));c=b.b;c.j==o6b?wX(c):c.j==z4b?NW(a,_4b,c):KX(a,_4b,c);PW(a,b.b?b.b.f:
null)}function T1(a,b){var c,d,e;d="INTERNAL COMPILER ERROR.\nPlease report this problem.\n\n"+a;c=new zC(d);!!b&&vA(c,(b.f==null&&(b.f=(bD(),e=aD.Hf(b),dD(e))),b.f));throw CV(c);}function W1(a,b,c){var d,e,f;d=new B_(b);A_(d,j1(a));w_(d,a.M);x_(d,c&&(f=g2b(b,51),!!f&&f.vh()));z_(d,c&&(e=g2b(b,51),!(!!e&&e.vh()))&&false);y_(d,c&&H3(a.M));return v_(d)}function m7(a){var b,c,d,e;b=h2b(djb(a));c=Td((Lib(),$ib(a,Kib)));for(d=c.d;d;d=d.d){e=l7(d,b);if(e!=null)return e}throw CV(new llc("$jscomp.inherits() call not found."));
}function Zob(a){Pob(this);Ld((Lib(),Tib(a)||a.j==(w7b(),G5b)||a.j==(w7b(),m6b)||a.j==(w7b(),S6b)&&!a.e||a.j==(w7b(),U6b)||a.j==(w7b(),S6b)),a);this.c=null;this.d=a;this.b=0}function gqb(a,b){var c,d;this.b=new xwc;this.a=a;for(d=Jo(b).Pd();d.Jd();){c=d.Kd();Gnc(this.b,c.ce(),new M5(c.de(),(pZ(),nZ)))}Gnc(this.b,qGc,new M5((n6(),g6),(pZ(),nZ)))}function pxb(a,b){var c,d,e;if(a.n.a.isEmpty()||a.a.i==b)return qxb(a,b);c=(Io(),new ir);for(e=b.Xd().Pd();e.Jd();){d=e.Kd();jDb(a.n,d.ce())||gr(c,d)}return qxb(a,
Wo(c.b))}function QBb(a,b,c,d){var e,f,g,h,i;for(h=(f=c.a.Xd().Pd(),new Hoc(f));h.a.Jd();){g=(e=h.a.Kd(),e.ce());i=new YCb(g);if(!pCb(UBb(a,i),UBb(b,i),d))return false}return true}function Hic(a,b,c,d){var e,f,g;g=Jic(b);if(c==0&&Jic(a).size()!=g.size())return false;for(e=0;e<g.size();e++){f=g.getAtIndex(e);if(!Mic(a,f,c,d))return false}return true}function XNb(a){var b,c,d;b=MPb(a,0);for(d=b.b.Pd();d.Jd();){c=d.Kd();!!c.b&&hQb(a,"Ambient variable declaration may not have initializer",vD(qD(lT,1),
bDc,1,5,[]))}return b}function T1b(a,b,c){var d,e,f;if(!b)return;Kd(!c||c.e==a);Td(b.f);if(!c){V1b(a,b);return}for(d=b;d;d=d.d){Kd(!d.e);d.e=a}e=b.f;f=c.d;e.d=f;!f?a.b.f=e:f.f=e;c.d=b;b.f=c}function Kmc(a){var b;b=0;while(0<=(b=a.indexOf("\\",b))){qCc(b+1,a.length);a.charCodeAt(b+1)==36?a=a.substr(0,b)+"$"+zmc(a,++b):a=a.substr(0,b)+(""+zmc(a,++b))}return a}function Zdb(a,b){switch(b){case ECc:return a.b.a;case FCc:return a.b.q;case HCc:return a.b.t;case KCc:return a.b.j;case _Gc:case rFc:return a.b.B;
default:return null.Tj()}}function xjb(a){Lib();switch(a.j.f){case 72:case 73:case 101:case 71:case 70:case 77:case 66:case 83:case 44:case 78:case 67:case 68:case 69:return true;default:return false}}function _db(a){var b,c;new Hxc;this.a=new jyc;this.c=new jyc;b=A3(a.M,(n6(),d6));new Lqc;new Lqc;Cwc(this.a,PEc);this.b=new IAb(b);new EAb((c=this.b,W0(a),new eeb(this),c))}function ENb(a){var b;b=PNb(a);if(b.c==(xTb(),fSb))return b;else{hNb();if(jNb(b.c))return new iMb(b.b,jNb(b.c).b);else fQb(a,b,
QKc,vD(qD(lT,1),bDc,1,5,[fSb]))}return null}function jxc(){function b(){try{return(new Map).entries().next().done}catch(a){return false}}if(typeof Map===GCc&&Map.prototype.entries&&b())return Map;else return kxc()}function HGb(a,b){var c,d,e,f,g;f=mFb(a.a,(w7b(),K5b));for(e=new fyc(new Yxc(b.a));e.b!=e.c.a.b;){d=dyc(e);g=rFb(a.a,J5b,d.d.a);c=d.e;!!c&&R1b(g,FFb(a.a,c));R1b(f,g)}return f}function zHb(a,b){var c,d;for(d=new grc(b);d.a<d.c.a.length;){c=erc(d);R$b(a.e.a)?K0b(a.e,c.c)||uHb(a,"msg.jsdoc.extends.duplicate",
c.b,c.a):v0b(a.e,c.c)||xHb(a,XJc,c.b,c.a)}}function rmc(a,b,c,d,e,f){var g,h;jCc(d);if(c<0||e<0||f<=0)return false;if(c+f>a.length||e+f>d.length)return false;g=a.substr(c,f);h=d.substr(e,f);return b?jmc(g,h):imc(g,h)}function gkb(a,b){var c,d;c=(ce(lmc(b,Hmc(46))==-1,NEc,b),new g4b((w7b(),o6b),b));P2b(c,b.length);W0(a).ag(b)&&(d=G2b(c,c.g,43),d!=c.g&&(c.g=d),c.g=new K3b(43,1,c.g));return c}function ZQb(a){BQb(a);if(lRb(AQb(a,a.d)?dmc(a.e.a,a.d):0)){IQb(a,"New line not allowed in regular expression literal",
vD(qD(lT,1),bDc,1,5,[]));return false}BQb(a);return true}function C1b(a){if((a.a.a&wGc)==xGc||(a.a.a&wGc)==LCc||(a.a.a&wGc)==OHc||R$b(a.a)||(a.a.a&jHc)!=0||(a.a.a&iEc)!=0||(a.a.a&iHc)!=0)return false;a.a.a|=iHc;a.e=true;return true}function Plb(a,b){var c,d;Nlb(a);if(a.D==(H4(),G4))return;b.c=a.q=a.b=Sib(a.u);if(!(a.D==F4||a.D==C4))return;c=$lb((d=a.u,a.D==C4,d));b.o=a.r=a.e=c.b;a.D==C4&&(b.g=a.s=a.o=0)}function COb(a){var b,c;b=(Sn(),new ar);CNb(a,(xTb(),CSb));while(c=GQb(a.g,0).c,fSb==c||(hNb(),
hNb(),!!kp(KMb,c))){$q(b,BOb(a));QPb(a,HRb)||CNb(a,LRb)}CNb(a,HRb);return $n(b.a)}function SOb(a){var b,c;b=(Sn(),new ar);CNb(a,(xTb(),CSb));while(c=GQb(a.g,0).c,fSb==c||(hNb(),hNb(),!!kp(KMb,c))){$q(b,ROb(a));QPb(a,HRb)||CNb(a,LRb)}CNb(a,HRb);return $n(b.a)}function q0b(a,b,c,d){var e,f;e=d$b(a.a);if(e){f=new __b;Ld((qCc(0,b.length),b.charCodeAt(0)!=32&&dmc(b,b.length-1)!=32),kLc);f.d=b;V_b(f,c,d,c,d+b.length);e.a=f;a.e=true}a.b=e}function Ru(a,b){var c;if(b==null)for(c=a.size()-1;c>=0;c--){if(a.getAtIndex(c)==
null)return c}else for(c=a.size()-1;c>=0;c--)if(wb(b,a.getAtIndex(c)))return c;return-1}function d_(a,b){var c,d;d=b.qi();if(!b.si()&&!(a.i&&A7b(d))&&(D7b(),B7b.test(d))&&Ijb(d))r$(a.c,d);else{c=q_(d);isNaN(c)?_$(a,b):a.c.fg(c,b)}if(b.b){r$(a.c,":");Y$(a,b.b,1,4)}}function r_(a){var b,c,d;if(Ijb(a))return a;d=new $mc;for(c=0;c<a.length;c++){b=(qCc(c,a.length),a.charCodeAt(c));b>31&&b<127?(d.a+=String.fromCharCode(b),d):tC(d,b)}return d.a}function l1(a){var b,c,d;d=false;for(c=a.A.Pd();c.Jd();){b=
c.Kd();if(a.M.$.b)if(!T2(b).c.isEmpty()||!V2(b).isEmpty())continue;m1(a,b)&&(d=true)}d&&($1(a.J),a.A=_1(a.J),p1(a))}function n1(a){var b,c,d,e,f;f=false;for(d=a.A.Pd();d.Jd();){c=d.Kd();e=S2(c,a);if(!e)continue;b=g2b(e,29);if(!!b&&(b.a&IFc)!=0){xfb(c.j,c);f=true}}f&&($1(a.J),a.A=_1(a.J),p1(a))}function Rbb(a){var b,c,d,e;d=hkb(a.a.b,"Math.pow");if(a.a.a){c=j1(a.a.b).ih("Math");b=c.hi().Kh("pow");e=Ibb(a.a.a,j1(a.a.b),(dec(),Qdc));d.k=b;Y2b(d.b,c);Y2b(d.b.d,e)}return d}function gmb(b,c,d,e){if(!b.r)return;
try{ptb(n2(b.b),d,e);zY(b.a,c,b.d)}catch(a){a=BV(a);if(iE(a,40))throw CV(new mlc("Validity checks failed for pass: "+c));else throw CV(a);}}function SPb(a){switch(GQb(a.g,0).c.f){case 82:case 85:case 86:case 95:case 87:case 83:case 84:case 88:case 89:case 90:case 91:case 93:case 92:return true;default:return false}}function h2b(a){var b,c;switch(a.j.f){case 29:c=a.qi();return c.length==0?null:c;case 26:b=i2b(a,0);return b?b.a:null;case 33:return jFc;case 99:return kFc;default:return null}}function dB(a,
b,c,d){var e,f;while(true){f=((d-c)/2|0)+c;e=(iCc(f,a.a.length),a.a[f]).zf()-b;if(e==0)return f;else if(e<0){c=f+1;if(c>d)return d}else{d=f-1;if(d<c)return d}}}function CUb(a){FTb.call(this,(gXb(),fWb),a.k);this.k=a.n;this.d=a.d;this.i=a.i;this.f=a.f;this.g=a.g;this.a=a.a;this.j=Td(a.j);this.b=Td(a.b);this.n=a.o;this.c=Td(a.c);this.e=a.e}function bZb(a,b,c){var d,e;Zd(a.j==(w7b(),o6b));Zd(b.j==G6b);Zd(c.j==U4b||BZb(c));d=new l3b(G5b,a,b,c);Zd(d.j==G5b);e=G2b(d,d.g,60);e!=d.g&&(d.g=e);d.g=new K3b(60,
1,d.g);return d}function D2b(a,b){var c,d,e;ee(b.e==a,oLc,a,b);Td(b.f);c=a.b.f;e=b.f;d=b.d;if(a.b==b){a.b=d;!!d&&(d.f=c)}else if(b==c){a.b.f=e;e.d=null}else{e.d=d;d.f=e}b.d=null;b.f=null;b.e=null}function hbc(a){var b,c,d,e,f;b=0;c=0;for(e=(f=a.c.a,f?!f.b?(msc(),msc(),lsc):new Z3b(f.b):(msc(),msc(),lsc)).Pd();e.Jd();){d=e.Kd();++b;e2b(d,37)==0&&e2b(d,30)==0&&(c=b)}return c}function Aec(a,b,c){var d,e,f;d=false;for(f=b.v.b.keySet().Pd();f.Jd();){e=f.Kd();if(!(tec(c.B,(dec(),rdc))==c||I9b(c)||!!ogc(c.v,
e))){d=true;Cwc(a.b,e)}}d&&Mc(a.k,c.v.b.keySet())}function kgc(a,b,c){var d,e,f,g;if(!c.add(a))return;b.addAll(a.b.keySet());g=mgc(a);!!g&&kgc(g,b,c);for(e=Us(new Atc(ngc(a).a.b.Pd()));e.Jd();){d=e.Kd();f=d.hj();!!f&&kgc(f,b,c)}}function FBc(a){var b,c,d;b=imc(typeof b,_Gc)?null:new XBc;if(!b)return;RAc();if(LCc>a.a.Fj())return;c=(d=a.a.Fj(),d>=1E3?"error":d>=900?"warn":d>=800?"info":"log");WBc(c,a.b)}function Hmc(a){var b,c;if(a>=PCc){b=QCc+(a-PCc>>10&RCc)&SCc;c=TCc+(a-PCc&RCc)&SCc;return String.fromCharCode(b)+
(""+String.fromCharCode(c))}else return String.fromCharCode(a&SCc)}function IZb(a){var b,c,d,e,f;b=new g3b((w7b(),B6b));for(d=a,e=0,f=d.length;e<f;++e){c=d[e];Zd(c.j==_6b||c.j==j6b||c.j==N5b||c.j==V6b);c.j==_6b||Zd(!!c.b&&!c.b.d);R1b(b,c)}return b}function FX(b){var c,d;DX((w7b(),z6b),b);d=y7b(b.j);d!=-1&&(c=b2b(b),d!=c&&cY(tEc+d+uEc+c,b));try{b.pi()}catch(a){a=BV(a);if(iE(a,20))cY("Invalid NUMBER node.",b);else throw CV(a);}}function UX(b){var c,d;DX((w7b(),$6b),b);d=y7b(b.j);d!=-1&&(c=b2b(b),d!=
c&&cY(tEc+d+uEc+c,b));try{b.qi()}catch(a){a=BV(a);if(iE(a,20))cY("Invalid STRING node.",b);else throw CV(a);}}function VX(a,b){var c,d;DX((w7b(),d7b),b);uX(b);fX(a,b.b);d=0;for(c=b.b.d;c;c=c.d){WX(a,b.b?b.b.f:null);c.j==k5b&&++d}d>1&&cY("Expected at most 1 'default' in switch but was "+d,b)}function V0(a){var b;if(a.j==(w7b(),U6b))return a;b=Zib(a.e);if(!b)throw CV(new llc("An enclosing scope is required for change reports but node "+a+" doesn't have one."));return b}function JJb(a,b){var c;b.j==
(w7b(),w6b)?c=IJb(a,b.b):c=IJb(a,b.b)&&IJb(a,b.b.d);if(!c){a.a.lh(VJc+t4b(mKc,vD(qD(lT,1),bDc,1,5,[ECc])),a.b.Hg(),a.d,a.c);return false}return true}function Ayc(a,b){var c,d;jCc(b);d=a.b.a.length;Aqc(a.b,b);while(d>0){c=d;d=(d-1)/2|0;if(mY(Cqc(a.b,d),b)<=0){Hqc(a.b,c,b);return true}Hqc(a.b,c,Cqc(a.b,d))}Hqc(a.b,d,b);return true}function ol(a,b,c){var d,e,f,g;if(c==0)return e=gw(a.a,b),!e?0:e.a;Nd(c>0,yDc,c);d=a.a.get(b);if(!d)return 0;g=d.a;if(g>c)f=c;else{f=g;a.a.remove(b)}d.a+=-f;a.b=PV(a.b,f);
return g}function Y1(a){var b,c;c=(a.M.rd!=(H4(),E4)&&!!a.W&&Qlb(a.W,NFc,true),new zqb);try{!a.O&&(a.O=new Uvb);msc();Esc()}finally{b=PV(IV(Date.now()),c.a);a.M.rd!=E4&&!!a.W&&Rlb(a.W,NFc,b)}}function B8(a){var b,c,d,e;if(a.b.a.size()!=0)for(d=(e=(new Boc(a.b.a)).a.Xd().Pd(),new Hoc(e));d.a.Jd();){c=(b=d.a.Kd(),b.ce());c.j==(w7b(),f5b)&&A8(a,c,c.e);X2b(c,q7b);N1(a.a,c)}}function Njb(a){Lib();var b;if(a.j==(w7b(),G5b)){b=a.e;switch(b.j.f){case 86:case 87:case 98:return true;case 114:return(b.b?b.b.f:
null)==a;default:return false}}else return false}function Spb(a,b){var c,d,e;if(imc(b.substr(0,29),"data:application/json;base64,")){c=Xz((Wz(),Wz(),Vz),b.substr(29));e=gmc((d=c,vnc(),d));return npb(a.b+".inline.map",e)}return null}function lQb(a,b,c,d,e){this.a=new nQb(this);this.e=new gqc;this.d=(XKb(),MKb);this.b=a;this.c=b;this.g=new hRb(b,this.a,c,d);Qpc(this.e,e?(sQb(),qQb):(sQb(),rQb));this.f=yQb(this.g)}function A_b(a,b,c){if((a.a&wGc)!=0)throw CV(new llc("API tried to add two incompatible type tags. This should have been blocked and emitted a warning."));
a.a=a.a&1073741823|c;a.i=b}function u0b(a){if(!((a.a.a&wGc)==xGc||(a.a.a&wGc)==LCc||(a.a.a&wGc)==OHc)&&!R$b(a.a)&&(a.a.a&aIc)==0&&(a.a.a&32)==0&&a.a.j!=(h0b(),e0b)){a.a.a|=aIc;a.e=true;return true}return false}function Wo(a){Io();var b,c,d;d=a.a.length;switch(d){case 0:return Ho;case 1:b=Ps(new grc(a));return ap(b.ce(),b.de());default:c=Kqc(a,sD(RU,CDc,48,a.a.length,0,1));return new Ux(c)}}function _x(b,c){var d;if(b===c)return true;if(iE(c,31)){d=c;try{return b.size()==d.size()&&b.containsAll(d)}catch(a){a=
BV(a);if(iE(a,63))return false;else throw CV(a);}}return false}function Slb(a,b,c){this.d=new unb;this.f=new gqc;this.w=new Lqc;Ld(c!=(H4(),E4),"PerformanceTracker can't work without tracer data.");this.H=IV(Date.now());this.n=a;this.u=b;this.D=c}function obc(a,b,c){if(b.mj()||a.s||!!b.gj()){if(!!a.j&&(a.Th()||a.i==(occ(),mcc))&&P7b(b,(ce(a.Th()||a.i==(occ(),mcc),ALc,a),X7b(a.o))))return;b=new Fac(a.B,a.jj()+hHc,b)}nbc(a,b,c)}function M7(a,b,c,d){var e,f,g,h;for(f=new uqc(a.a);f.a!=f.b;){e=sqc(f);
if(c!=e.a&&y2b(c,e.a)){h=Vob(gib(b),c.qi());if(!!h&&h.c==e.a){g=c3b(FZb(e.b),c);H2b(d,c,g);N1(a.b.b,g);return}}}}function l9(a,b,c,d,e){this.g=a;this.d=IZb(vD(qD(SR,1),OEc,7,0,[]));this.e=IZb(vD(qD(SR,1),OEc,7,0,[]));this.j=new Hxc;this.i=new Hxc;this.b=new Hxc;this.f=b;this.a=c;this.c=d;this.k=e}function xib(b,c,d){var e,f;try{e=c.e;Td(e);kib(b,e);b.e=e;nib(b,e);uib(b,c,e);Zd(d.e==e);uib(b,d,e);mib(b,false)}catch(a){a=BV(a);if(iE(a,88)||iE(a,40)){f=a;sib(b,f)}else throw CV(a);}}function vjb(a,b){Lib();
var c;c=b.e;if(c.j==(w7b(),M5b)&&b==(c.b?c.b.f:null))return a.bg(b.qi());else if(Sjb(b))return a.bg(b.qi());else if(b.j==o6b)return a.ag(b.qi());return false}function dlb(a,b){var c,d,e,f;d=a.b;c=d.oi(false);f=c3b(mZb(c,(w7b(),q7b)),a);d.vi("");J1(b,V0(d));x1(b);e=a.e;if(e.j==b6b)H2b(e,a,f);else{D2b(e,a);S1b(e,f)}J1(b,V0(f));x1(b);S1b(c,a)}function Olb(a,b){var c,d,e;e=Sib(a.u);b.b=a.b-e;a.b=b.c=e;if(!(a.D==(H4(),F4)||a.D==C4))return;c=$lb((d=a.u,a.D==C4,d));e=c.b;b.e=a.e-e;a.e=b.o=e;if(a.D==C4){e=
0;b.f=a.o-e;a.o=b.g=e}}function $nb(a,b,c){var d,e,f,g,h;h=b.b;while(!!h&&h!=c){g=h.d;Lib();if(h.j==(w7b(),B5b)&&h.b.j==X4b){d=h.b;e=d.b;if(A2b(e,FIc,FIc.length)){f=iLb(e.d.d.d.qi());Znb(a,f)&&pkb(b,h)}}h=g}}function POb(a){var b,c,d,e;e=GQb(a.g,0).b.b;CNb(a,(xTb(),gSb));CNb(a,DSb);b=QNb(a,1);CNb(a,IRb);d=xPb(a);c=null;if(QPb(a,TRb)){CNb(a,TRb);c=xPb(a)}return new $Ub(new SXb(e,a.f),b,d,c)}function JOb(a){var b,c,d;d=GQb(a.g,0).b.b;CNb(a,(hNb(),CMb).a);c=!!GNb(a,(xTb(),$Sb));b=KUb(new OUb((TUb(),
QUb)),DNb(a));KOb(a,b,c?(sQb(),qQb):(sQb(),rQb));return DUb(b,new SXb(d,a.f))}function acb(a,b,c){var d;if(b.j==(w7b(),B4b)){d=b.b;switch(d.j.f){case 29:return true;case 26:return!_bb(a,d.b,c);case 27:return!_bb(a,d.b,c)&&!_bb(a,d.b?d.b.f:null,c)}}return false}function kyb(a,b){if(0==a.Fh()||ICc==a.Fh()||512==a.Fh())return a.e.G;ee(!a.Ih().isEmpty()||!a.Ch().isEmpty(),"Can't getProp %s of type %s",b,a);return vzb(nDb(a.Ih(),b),nDb(a.Ch(),b))}function DGb(a,b){var c,d,e,f;f=mFb(a.a,(w7b(),G6b));if(aGb(a,
b.a))for(d=b.a.Pd();d.Jd();){c=d.Kd();e=HFb(a.a,c);Zd(e.j==o6b||e.j==P6b||e.j==z4b||e.j==C6b||e.j==l5b);R1b(f,e)}return f}function VJb(a,b,c){var d;for(d=0;d<c;d++)if(!GJb(a,(Pd(b.j==(w7b(),X4b),iKc,b),a2b(b,d+1)))){a.a.lh(VJc+t4b(mKc,vD(qD(lT,1),bDc,1,5,[ECc])),a.b.Hg(),a.d,a.c);return false}return true}function $Jb(a,b,c){var d;for(d=0;d<c;d++)if(!_Jb(a,(Pd(b.j==(w7b(),X4b),iKc,b),a2b(b,d+1)))){a.a.lh(VJc+t4b(mKc,vD(qD(lT,1),bDc,1,5,[ECc])),a.b.Hg(),a.d,a.c);return false}return true}function bKb(a,
b,c){var d;for(d=0;d<c;d++)if(!aKb(a,(Pd(b.j==(w7b(),X4b),iKc,b),a2b(b,d+1)))){a.a.lh(VJc+t4b(mKc,vD(qD(lT,1),bDc,1,5,[ECc])),a.b.Hg(),a.d,a.c);return false}return true}function gec(a,b,c){var d,e,f,g;if(iE(c,47)&&c.mj()){g=Dxc(a.c,b);if(!g){g=new Hxc;Exc(a.c,b,g)}f=c;g.put(f.jj(),f)}else if(c.$i())for(e=Iic(c.$i()).Pd();e.Jd();){d=e.Kd();gec(a,b,d)}}function ZY(){ZY=bW;YY=new s6("JSC_DEBUGGER_STATEMENT_PRESENT",(pZ(),nZ),new xnc("Using the debugger statement can halt your application if the user has a JavaScript debugger running."))}
function Qsb(a,b){var c,d,e,f;if(!b)return null;d=b.e;c=null;if(d.j==(w7b(),B4b)){e=d.b;if(Tjb(e)){f=a.b.ih(h2b(e.b.b));c=f?f.Ah():null}}else d.j==a5b&&(c=d.k.gi());return c?c.Dh():null}function oDb(a,b){var c,d,e;Td(a);for(e=a.Pd();e.Jd();){d=e.Kd();c=UBb(d,b);if(!!c&&(b.a.size()==1||vyb(c.d,(Kd(b.a.size()!=1),new XCb(b.a.Ze(1,b.a.size()))))))return true}return false}function fRb(a){while(AQb(a,a.d))switch(AQb(a,a.d)?dmc(a.e.a,a.d):0){case 96:return;case 92:eRb(a,true);break;case 36:if((AQb(a,a.d+
1)?dmc(a.e.a,a.d+1):0)==123)return;default:BQb(a)}}function lvb(a){ivb();imc(a.substr(0,1),"/")&&(a=a.substr(1));return FFc+tmc(smc(smc(smc(smc(smc(smc(tmc(vmc(kvb(a),"^\\./",""),"/","$"),92,36),64,36),43,36),45,95),58,95),46,95),aHc,"_")}function Ric(a){var b,c,d,e;e=new pjc(a.B);for(d=a.b.Pd();d.Jd();){b=d.Kd();jjc(e,b,false)}a.b=ljc(e);e=new pjc(a.B);for(c=a.b.Pd();c.Jd();){b=c.Kd();jjc(e,b,true)}a.a=ljc(e);a.c=a.b.Ed()}function kzc(a,b,c,d){var e,f;f=b;e=f.d==null||a.a.Qe(c.d,f.d)>0?1:0;while(f.a[e]!=
c){f=f.a[e];e=a.a.Qe(c.d,f.d)>0?1:0}f.a[e]=d;d.b=c.b;d.a[0]=c.a[0];d.a[1]=c.a[1];c.a[0]=null;c.a[1]=null}function jIb(a,b){var c;if(b==(YIb(),NIb)){pIb(a);c=iIb(a,!a.n?dJb(a.i):BHb(a));if(c){pIb(a);JHb(a,TIb)?!a.n?dJb(a.i):BHb(a):(xHb(a,ZJc,a.i.g,cJb(a.i)),null)}return c}else return iIb(a,b)}function Tf(a,b,c,d){var e,f;a.Yd(b);a.Zd(c);e=a.b.containsKey(b);if(e&&Fd(c,a.b.get(b)))return c;d?Uf(a.d,c):Pd(!uf(a.d,c),lDc,c);f=a.b.put(b,c);e&&a.d.b.remove(f);a.d.b.put(c,b);return f}function iw(a){var b,
c,d,e;e=Pmc((xm(a.size(),"size"),new _mc),123);d=true;for(c=Jo(a).Pd();c.Jd();){b=c.Kd();d||(e.a+=$Cc,e);d=false;Vmc(Pmc(Vmc(e,b.ce()),61),b.de())}return(e.a+="}",e).a}function T2(a){!a.c&&(a.c=R2(a));if(a.e.a.length!=0||a.d.a.length!=0){a.c=new Dvb(a.g.a,a.g.a,c3(a.c.c,a.d),c3(a.c.d,a.e),a.c.a);a.e.a=sD(lT,bDc,1,0,5,1);a.d.a=sD(lT,bDc,1,0,5,1)}return a.c}function o7(a,b){var c;switch(b){case PGc:case "EvalError":case QGc:case RGc:case SGc:case "TypeError":case "URIError":return c=Vob(gib(a),b),!(!!c&&
!(!c.a||W2(c.a)));default:return false}}function FCb(a,b,c){switch(a.a.f){case 0:return Pmc(byb(a.d,b,c),94);case 2:return byb(a.d,b,c);case 1:return Pmc(byb(a.d,b,c),61);default:throw CV(new yC("Unknown Attribute value "+a.a));}}function aPb(a,b,c,d,e,f){var g;g=HUb(MUb(GUb(JUb(EUb(LUb(IUb(NUb(KUb(new OUb((TUb(),SUb)),c),d),e),false),f),MNb(a)),HOb(a,1)),LNb(a)),new sUb(new SXb(b,a.f)));return DUb(g,new SXb(b,a.f))}function qrc(a,b){var c;if(oE(a)===oE(b))return true;if(a==null||b==null)return false;
if(a.length!=b.length)return false;for(c=0;c<a.length;++c)if(a[c]!==b[c])return false;return true}function xi(a,b){var c,d,e;if(b===a)return true;if(!iE(b,44))return false;e=b;if(a.size()!=e.size())return false;for(d=e.Xd().Pd();d.Jd();){c=d.Kd();if(!a.Fe(c))return false}return true}function Bvc(){Bvc=bW;zvc=vD(qD(qT,1),NCc,2,6,["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]);Avc=vD(qD(qT,1),NCc,2,6,["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"])}function _V(){$V={};!Array.isArray&&
(Array.isArray=function(a){return Object.prototype.toString.call(a)==="[object Array]"});function b(){return(new Date).getTime()}!Date.now&&(Date.now=b)}function Emc(a){var b,c,d;c=a.length;d=0;while(d<c&&(qCc(d,a.length),a.charCodeAt(d)<=32))++d;b=c;while(b>d&&(qCc(b-1,a.length),a.charCodeAt(b-1)<=32))--b;return d>0||b<c?a.substr(d,b-d):a}function t_(a){var b,c,d;d=a.length;if(d==0)return false;for(c=0;c<d;c++){b=(qCc(c,a.length),a.charCodeAt(c));if(b<48||b>57)return false}return d==1||(qCc(0,a.length),
a.charCodeAt(0)!=48)}function fyb(a){var b;b=a.Fh()==2&&a.Ih().size()==1?Ps(a.Ih().Pd()).d:null;if(!!b&&!null.Tj()&&!null.Tj()&&!null.Tj())return iBb(b,new $mc,(bDb(),aDb)).a;return byb(a,new $mc,(bDb(),aDb)).a}function WOb(a){var b,c;c=(Sn(),new ar);while(XPb(a)){$q(c,VOb(a));QPb(a,(xTb(),HRb))||(b=GQb(a.g,0).b.b.b>a.f.b,b||PPb(a,0,WSb)||PPb(a,0,HRb)||PPb(a,0,URb)?HNb(a):CNb(a,LRb))}return $n(c.a)}function e1(a,b){var c,d,e,f;Td(b);if(!a.C)return null;for(d=W1b(a.C).Pd();d.Jd();){e=d.Kd();f=g2b(e,
51);if((!f?null:f.Hg())!=null&&hmc((c=g2b(e,51),!c?null:c.Hg()),b))return e}return null}function Tib(a){Lib();var b;switch(a.j.f){case 82:b=a.e;return!!b&&!(b.j==(w7b(),Z4b)||b.j==k5b)&&b.j!=(w7b(),_4b);case 72:case 73:case 101:case 67:case 96:return true;default:return false}}function pyb(a,b,c){var d,e,f;if(a==b)return true;f=b;return e=a.Ih(),e.size()==1&&Ps(e.Pd()).c||(d=f.Ih(),d.size()==1&&Ps(d.Pd()).c)?a.e.K?_yb(cyb(a),cyb(f)):qyb(cyb(a),cyb(f),c):qyb(a,f,c)}function OBb(a,b,c){var d,e,f;b.a+=
"{";d=true;for(f=(new rAc(new Boc(a.g))).a.keySet().Pd();f.Jd();){e=f.Kd();d?d=false:(b.a+=$Cc,b);b.a+=""+e;b.a+=WDc;FCb(Ii(yi(a.g,e,false)),b,c)}b.a+="}"}function bic(a,b,c){M7b();var d,e,f,g;wgc.call(this,a,b,Ghc(b.Ei(),c));g=Mhc(b.Ei());d=(Sn(),new ar);for(f=g.Pd();f.Jd();){e=f.Kd();$q(d,Khc(this.C,e))}this.b=$n(d.a);this.a=new Yhc(a,this.C)}function Hrc(a){var b,c,d,e,f;if(a==null)return KCc;f=new Zyc("[","]");for(c=a,d=0,e=c.length;d<e;++d){b=c[d];Yyc(f,String.fromCharCode(b))}return!f.a?f.c:
f.e.length==0?f.a.a:f.a.a+(""+f.e)}function Vb(a){var b,c,d,e;e=a.length;for(d=0;d<e;d++)if(Sb((qCc(d,a.length),a.charCodeAt(d)))){c=Bmc(a);for(;d<e;d++){b=c[d];b>=97&&b<=122&&(c[d]=b&95&SCc)}return Nmc(c,0,c.length)}return a}function Ub(a){var b,c,d,e;e=a.length;for(d=0;d<e;d++)if(Tb((qCc(d,a.length),a.charCodeAt(d)))){c=Bmc(a);for(;d<e;d++){b=c[d];b>=65&&b<=90&&(c[d]=(b^32)&SCc)}return Nmc(c,0,c.length)}return a}function Yrc(a,b){var c,d,e;if(a===b)return true;if(!iE(b,274))return false;e=b;d=hsc(a.a);
if(d!=hsc(e.a))return false;for(c=0;c<=d;c++)if((a.a[c]|0)!=(e.a[c]|0))return false;return true}function clc(a){alc==null&&(alc=new RegExp("^\\s*[+-]?(NaN|Infinity|((\\d+\\.?\\d*)|(\\.\\d+))([eE][+-]?\\d+)?[dDfF]?)\\s*$"));if(!alc.test(a))throw CV(new $lc(JCc+a+'"'));return parseFloat(a)}function ajb(a,b){Lib();var c,d;Zd(a.j==(w7b(),B6b)||a.j==b5b);for(d=(!a.b?(msc(),msc(),lsc):new Z3b(a.b)).Pd();d.Jd();){c=d.Kd();if((c.j==_6b||c.j==j6b)&&imc(c.qi(),b))return c.b}return null}function mGb(a,b,c){a.a.a.c!=
(SEb(),REb)&&a.a.d.lh("type syntax is only supported in ES6 typed mode: "+c,a.a.r,(_Eb(),b.o.b.b+1),b.o.b.a);a.a.e=bLb(a.a.e,vD(qD(YO,1),gDc,25,0,[c]));yFb(a.a,b.o)}function csc(a,b){var c,d;if(b==-1)return-1;esc(b);c=b/31|0;if(c>=a.a.length)return _rc(a)-1;d=(a.a[c]|0)&ICc>>>31-b%31-1;while(d==0){if(--c<0)return-1;d=a.a[c]|0}return c*31+(32-wlc(d))-1}function rBc(a,b){var c,d,e,f,g,h,i;for(d=vBc(a),f=0,h=d.length;f<h;++f)FBc(b);i=!nBc&&a.e?nBc?null:a.d:null;while(i){for(c=vBc(i),e=0,g=c.length;e<
g;++e)FBc(b);i=!nBc&&i.e?nBc?null:i.d:null}}function mp(a){var b,c,d,e,f,g,h;b=new Hxc;for(d=a,e=0,f=d.length;e<f;++e){c=d[e];g=Td(c.ce());h=Exc(b,g,Td(c.de()));if(h!=null)throw CV(new Nfb("duplicate key: "+g));}this.d=(msc(),new cuc(b))}function _C(b,c){var d,e,f,g;for(e=0,f=b.length;e<f;e++){g=b[e];try{g[1]?g[0].Tj()&&(c=$C(c,g)):g[0].Tj()}catch(a){a=BV(a);if(iE(a,38)){d=a;MC();SC(iE(d,264)?d.Ff():d)}else throw CV(a);}}return c}function RD(a,b){var c,d,e;b&=63;if(b<22){c=a.l<<b;d=a.m<<b|a.l>>22-
b;e=a.h<<b|a.m>>22-b}else if(b<44){c=0;d=a.l<<b-22;e=a.m<<b-22|a.l>>44-b}else{c=0;d=0;e=a.l<<b-44}return AD(c&fEc,d&fEc,e&gEc)}function q2(a){var b,c,d,e,f;f=w1(a.a);try{b=new M2;if(a.a.C){c=0;if(a.a.M.vc)for(e=a.a.q.b;e;e=e.d)U1(a.a,b,c++,e);for(d=a.a.C.b;d;d=d.d)U1(a.a,b,c++,d)}return b.c.a}finally{S1(a.a,f,JFc)}}function djb(a){Lib();var b,c,d;$d(a.j==(w7b(),G5b)||a.j==a5b,a);d=a.e;switch(d.j.f){case 29:return d;case 47:{b=d.b;return t2b(b)?b:null}default:c=a.b;return c.j==r5b||c.qi().length==
0?null:c}}function MGb(a,b){var c,d,e,f;mGb(a,b,(bMb(),NLb));f=NGb(a,b.b);c=mFb(a.a,(w7b(),r6b));p3b(c.i)==-1&&DFb(c,b.o.b,b.o.a);for(e=b.a.Pd();e.Jd();){d=e.Kd();R1b(c,FFb(a.a,d))}return oFb(a.a,q6b,f,c)}function EC(a){var b;if(a.c==null){b=oE(a.b)===oE(CC)?null:a.b;a.d=b==null?KCc:lE(b)?b==null?null:b.name:nE(b)?bEc:Hkc(yb(b));a.a=a.a+WDc+(lE(b)?b==null?null:b.message:b+"");a.c="("+a.d+") "+a.a}}function IFb(a,b){var c,d,e,f;f=tFb(a,b);c=X1b(new g4b((w7b(),$6b),""+f),a.t);d=fFb(a,cFb(a,b.b));!!d&&
(e=G2b(c,c.g,29),e!=c.g&&(c.g=e),!!d&&(c.g=new U3b(29,d,c.g)),c);DFb(c,b.b.b,b.b.a);return c}function kl(a,b,c){var d,e,f,g;if(c==0)return e=gw(a.a,b),!e?0:e.a;Nd(c>0,yDc,c);d=a.a.get(b);if(!d){g=0;a.a.put(b,new Rm(c))}else{g=d.a;f=DV(g,c);Od(EV(f,ICc)<=0,f);d.a+=c}a.b=DV(a.b,c);return g}function QB(a,b,c){var d,e,f,g;UA(a.b,c-a.c);a.c=c;if(b){e=GB(a.j,b.d);UA(a.b,e-a.g);a.g=e;g=b.c.b;f=b.c.a;UA(a.b,g-a.i);a.i=g;UA(a.b,f-a.f);a.f=f;if(b.b!=null){d=FB(a.j,b.b);UA(a.b,d-a.e);a.e=d}}}function mdb(a,
b,c){var d,e,f,g;e=Dnc(a.a.g,b);if(!e){d=omc(b,Hmc(46));if(d>=0){g=b.substr(0,d);f=mdb(a,g,true);e=xdb(f,b.substr(d+1),c)}else{e=new Bdb(b,null);Aqc(a.a.f,e)}Gnc(a.a.g,b,e)}return e}function Eyb(a){var b,c,d;if(a.Ih().isEmpty()){Zd(!a.Ch().isEmpty());return a}b=(vn(),new Or);for(d=a.Ih().Pd();d.Jd();){c=d.Kd();Lr(b,eCb(c))}return rzb(a.e,a.Fh(),Dp(new grc(b.a)),a.Rh(),a.Ch())}function EFb(a){var b;switch(a.p.f){case 6:case 20:case 67:return false;case 49:case 43:case 42:case 46:case 55:case 45:b=
RFb(a);if(b.p==(gXb(),FWb))return false;return true;default:return true}}function oYb(a){var b,c;if(a.a==null)return a.b.k=false,iYb(a,KCc,0);b=null;if(iE(a.a,152))b=new tvc(a.a.a);else if(iE(a.a,280))b=a.a;else throw CV(fYb(a));c=new $mc;c.a+=""+b;return iYb(a,c,0)}function $9(a){var b,c;b=F2b(a.f);while(b){!!b.b&&R1b(a.g,oZb(Kbb(cZb(b,F2b(b)),b.k)));P1b(a.n.e,mZb(Y1b(b,false),(w7b(),q7b)),a.n);c=G2b(b,b.g,85);c!=b.g&&(b.g=c);b.g=new K3b(85,1,b.g);b=F2b(a.f)}}function s_(a){var b;if(a.j==(w7b(),
b6b)){b=a.b?a.b.f:null;return b.j==U4b?p_(a,2)==1&&s_(o_(a)):s_(b)}else switch(a.j.f){case 100:case 88:case 65:case 96:case 71:return true;default:return false}}function UJb(a,b){var c;if(!CJb(a,b,(GKb(),xKb)))return false;for(c=0;c<(Pd(b.j==(w7b(),X4b),iKc,b),b2b(b)-1);c++)if(!TJb(a,(Pd(b.j==X4b,iKc,b),a2b(b,c+1)))){fKb(a,xKb.d);return false}return true}function ZPb(a,b){var c;c=GQb(a.g,0).c;if(hwc(dwc((xTb(),fSb),vD(qD(jP,1),gDc,12,0,[oTb,PRb,tSb,uSb])),c)||!a.b.c&&mNb(c)||QPb(a,ZSb))return true;
if(b!=2)return QPb(a,ESb)||QPb(a,CSb);return false}function dmb(){dmb=bW;cmb=EBc((Fkc(zM),zM.p));bmb=(Sn(),new Rx(jo(vD(qD(lT,1),bDc,1,5,[SFc,TFc,"deadAssignmentsElimination",RFc,XFc,WFc,VFc,xIc,yIc]))));amb=new Rx(jo(vD(qD(lT,1),bDc,1,5,[xIc,yIc])))}function XX(a,b){var c,d,e;gX(a,(bMb(),YLb),b);DX((w7b(),f7b),b);if(!b.b)return;for(c=b.b;c;c=c.d)c.j==$6b?UX(c):(DX(g7b,c),d=y7b(c.j),d!=-1&&(e=b2b(c),d!=e&&cY(tEc+d+uEc+e,c)),fX(a,c.b),undefined)}function ncb(a,b){var c;Kd(b.j==(w7b(),U6b));Iab(b)&&
(a.b=(u3(),p3));c=_0(a.a,g2b(b,53));V2(c).contains(MEc)&&P2(c,MEc);zib(a.a,b,a);a.b==(u3(),p3)&&lcb(a,b,true);Q2(c,lvb(U2(c).a));Y2(c,a.b);c.f=true}function yGb(a,b){var c,d,e,f;mGb(a,b,(bMb(),xLb));f=LGb(a,b.b,false);c=mFb(a.a,(w7b(),t5b));p3b(c.i)==-1&&DFb(c,b.o.b,b.o.a);for(e=b.a.Pd();e.Jd();){d=e.Kd();R1b(c,FFb(a.a,d))}return oFb(a.a,s5b,f,c)}function Gu(a,b,c){var d,e;this.f=a;d=Cnc(a.b,b);e=!d?0:d.a;Xd(c,e);if(c>=(e/2|0)){this.e=!d?null:d.c;this.d=e;while(c++<e)Eu(this)}else{this.c=!d?null:
d.b;while(c-- >0)Du(this)}this.b=b;this.a=null}function TD(a,b){var c,d,e,f;b&=63;c=a.h&gEc;if(b<22){f=c>>>b;e=a.m>>b|c<<22-b;d=a.l>>b|a.m<<22-b}else if(b<44){f=0;e=c>>>b-22;d=a.m>>b-22|a.h<<44-b}else{f=0;e=0;d=c>>>b-44}return AD(d&fEc,e&fEc,f&gEc)}function _ib(a,b){Lib();var c,d;Zd(a.j==(w7b(),B6b));for(d=(!a.b?(msc(),msc(),lsc):new Z3b(a.b)).Pd();d.Jd();){c=d.Kd();if(c.j==e5b&&c.b.ri(b,false,true,false,false))return c.b?c.b.f:null}return null}function qvb(a,b,c){var d,e,f,g,h,i,j;for(f=nvb,g=0,
h=f.length;g<h;++g){e=f[g];j=c+(""+e);d=tub(b,j);if(jp(a.b,d)){j=kp(a.b,d);if(imc(DIc,j))return null}i=uub(a,b,j);if(i!=null)return i}return null}function tYb(a,b){var c,d;d=a.b.n;d=0==d?1:d;LYb(a.b,d);c=flc(a.a);if(c==0){--d;LYb(a.b,d);mYb(a,b);return}c=$wnd.Math.abs(c);if(!isNaN(c)&&!isFinite(c)){d=a.b.n;--d;LYb(a.b,d);lYb(a,b);return}mYb(a,b)}function Rt(a,b){var c;b.d?b.d.b=b.b:a.a=b.b;b.b?b.b.d=b.d:a.e=b.d;if(!b.e&&!b.c){c=Hnc(a.b,b.a);c.a=0;++a.c}else{c=Cnc(a.b,b.a);--c.a;!b.e?c.b=b.c:b.e.c=
b.c;!b.c?c.c=b.e:b.c.e=b.e}--a.d}function Qib(a){var b;Pd(a.j==(w7b(),u6b),"Expected NEW node, got %s",a.j);if((e2b(a,42)&15)==15)return false;if((e2b(a,42)&15&11)==11&&Mib(a))return false;b=a.b;return b.j!=o6b||!Cib.contains(b.qi())}function DQb(a){var b;b=(GQb(a,0),Fqc(a.b,0));(!AQb(a,a.d)||b.c!=(xTb(),HRb))&&HQb(a,zQb(a,a.d),"Expected '}' after expression in template literal",vD(qD(lT,1),bDc,1,5,[]));return EQb(a,(xTb(),iTb),hTb)}function cbc(a){var b,c;a.w=true;if(a.n)for(c=new grc(a.n);c.a<c.c.a.length;){b=
erc(c);cbc(b)}if(!a.s){(a.Th()||a.i==(occ(),mcc))&&(ce(a.Th()||a.i==(occ(),mcc),ALc,a),X7b(a.o)).bj();!!a.j&&a.j.e.bj()}}function y1(a){var b,c,d,e,f;l1(a);f=false;if(a.M.$.b){for(c=a.A.Pd();c.Jd();){b=c.Kd();for(e=T2(b).c.Pd();e.Jd();){d=e.Kd();Cwc(a.s,d)}}a.A=Kfb(a.G,a.M.$,a.A);f=true}n1(a);f&&($1(a.J),a.A=_1(a.J),p1(a))}function Wib(a){Lib();var b;Ld(!!a&&(a.j==(w7b(),q7b)||a.j==g6b||a.j==f5b)||a.j==(w7b(),G6b)||rjb(a)||a.j==(w7b(),_4b)||a.j==(w7b(),n5b)||a.j==(w7b(),l5b)||a.j==(w7b(),S5b),a);
b=new Lqc;cjb(a,b);return b}function Icc(a,b,c){!a.a&&(a.a=new Qwc);if(znc(a.a,b)&&znc(Cnc(a.a,b),c))return Cnc(Cnc(a.a,b),c);else if(znc(a.a,c)&&znc(Cnc(a.a,c),b))return Cnc(Cnc(a.a,c),b);else{Jcc(a,b,c,(Rcc(),Qcc));return null}}function Jd(a,b,c){if(a<0||a>c)return Id(a,c,"start index");if(b<0||b>c)return Id(b,c,"end index");return ge("end index (%s) must not be less than start index (%s)",vD(qD(lT,1),bDc,1,5,[Blc(b),Blc(a)]))}function rX(a,b,c){switch(c.j.f){case 29:wX(c);break;case 93:NW(a,b,
c);break;case 94:KX(a,b,c);break;case 26:case 27:jX(a,b,c);break;case 92:rX(a,b,(Zd(!!c.b&&!c.b.d),c.b));break;default:cY(vEc+b+wEc,c)}}function Wnb(){Wnb=bW;Vnb=new s6("JSC_INSUFFICIENT_OUTPUT_VERSION",(pZ(),nZ),new xnc("Built-in ''{0}'' not supported in output version {1}"));Unb=(vn(),Fp(vD(qD(lT,1),bDc,1,5,["goog.global.","window."])))}function YW(a,b){var c,d,e,f;e=y7b(b.j);e!=-1&&(d=b2b(b),e!=d&&cY(tEc+e+uEc+d,b));c=b.j;f=b.b;switch(f.j.f){case 29:wX(f);break;case 26:case 27:jX(a,c,f);break;
default:cY(vEc+c+wEc,f)}fX(a,b.b?b.b.f:null)}function t2(a){var b,c,d,e,f;d=a.b.d;e=d.a.length;if(e==0)return"";b=new M2;for(c=0;c<e;c++){f=S2((iCc(c,d.a.length),d.a[c]),a.a);if(!f)throw CV(new Nfb("Bad module: "+a.b.e));U1(a.a,b,c,f)}return b.c.a}function _Gb(a,b){var c,d,e,f;lFb(a.a,b,(bMb(),YLb));f=mFb(a.a,(w7b(),f7b));p3b(f.i)==-1&&DFb(f,b.o.b,b.o.a);e=!b.b?f:oFb(a.a,e7b,FFb(a.a,b.b),f);for(d=b.a.Pd();d.Jd();){c=d.Kd();R1b(f,FFb(a.a,c))}return e}function F9b(a,b){var c;c=a.kj(b);if(!c){if(a.Li()||
a.Hi())return R7b(a,(dec(),$cc));else if(a.Mi()||a.Ki()||a.Li()||vec(a.B,(dec(),rdc))==a)return R7b(a,(dec(),udc));return R7b(a,(dec(),_dc))}return c.e}function t9(a,b,c,d){var e,f;f=(ce(lmc(d,Hmc(46))==-1,NEc,d),new g4b((w7b(),o6b),d));N2b(f,g2b(c,29));H2b(c.e,c,f);e=lZb(c,(ce(lmc(d,Hmc(46))==-1,NEc,d),new g4b(o6b,d)),q7b);P1b(a.b?a.b.f:null,e,b);return e}function Ebb(){Ebb=bW;Cbb=new s6(KHc,(pZ(),mZ),new xnc("This code cannot be converted from ES6. {0}"));Dbb=new s6("JSC_CANNOT_CONVERT_YET",mZ,
new xnc("ES6 transpilation of ''{0}'' is not yet implemented."))}function omb(a){var b,c,d,e,f;d=new Lqc;for(f=Us(new Atc((dmb(),bmb).a.b.Pd()));f.Jd();){e=f.Kd();for(c=new grc(a.d);c.a<c.c.a.length;){b=erc(c);if(imc(b.b,e)){d.a[d.a.length]=b;break}}}Qc(a.d,d);Bqc(a.d,d)}function Yob(a,b){Pob(this);Td(a);Ld((Lib(),Tib(b)||b.j==(w7b(),G5b)||b.j==(w7b(),m6b)||b.j==(w7b(),S6b)&&!b.e),b);Pd(b!=a.d,"rootNode should not be the parent's root node",b);this.c=a;this.d=b;this.b=a.b+1}function SEb(){SEb=bW;
MEb=new TEb(ZFc,0,(XKb(),NKb));NEb=new TEb($Fc,1,OKb);OEb=new TEb("ECMASCRIPT6",2,QKb);PEb=new TEb("ECMASCRIPT7",3,SKb);QEb=new TEb("ECMASCRIPT8",4,UKb);REb=new TEb("TYPESCRIPT",5,WKb)}function Kic(a,b){var c,d,e;if(!b.ai()&&!b.$i())for(e=0;e<a.b.size();e++){c=a.b.getAtIndex(e);if(!c.ai()&&b.Ri(c))return a}return d=O7b(a,b,0,new Kcc(true)),d?a:c8b(rec(a.B,vD(qD(nS,1),xLc,23,0,[a,b])))}function Llc(a,b){var c,d,e,f,g;g=1<<b;if(EV(LCc,a)<=0&&EV(a,ICc)<=0)return Alc(SV(a),g);e=g-1;d=(64/b|0)+1;c=sD(rE,
OCc,45,d,15,1);f=d;do{c[--f]=tkc(SV(a)&e);a=OV(a,b)}while(EV(a,0)!=0);return Nmc(c,f,d-f)}function Hd(a,b){if(a<0)return ge(dDc,vD(qD(lT,1),bDc,1,5,[eDc,Blc(a)]));else if(b<0)throw CV(new Nfb(fDc+b));else return ge("%s (%s) must be less than size (%s)",vD(qD(lT,1),bDc,1,5,[eDc,Blc(a),Blc(b)]))}function TOb(a){var b,c,d,e,f;f=GQb(a.g,0).b.b;CNb(a,(xTb(),ESb));d=ENb(a);CNb(a,KRb);c=GPb(a);CNb(a,JRb);CNb(a,KRb);b=DPb(a);e=new hVb(new SXb(f,a.f),d,false,false,null,c);return new bVb(new SXb(f,a.f),e,b)}
function Q1b(a,b,c){var d;Ld(c.e==a,"The existing child node of the parent should not be null.");Ld(!b.d,lLc);Ld(!b.f,mLc);Ld(!b.e,nLc);if(a.b==c){d=a.b.f;b.e=a;b.d=a.b;b.f=d;a.b.f=b;a.b=b}else P1b(a,b,c.f)}function Pec(a,b){var c,d,e,f,g,h,i;i=false;e=b.c;c=L9b(e._i(a));e!=c&&(i=true);h=(Sn(),new ar);for(g=b.b.Pd();g.Jd();){f=g.Kd();d=f._i(a);f!=d&&(i=true);Aqc(h.a,Td(d))}i&&(b=new bic(a.e,c,$n(h.a)));return b}function v1(a,b,c){var d,e;d=new jqb(b);if(AAc(a.B,d.a))throw CV(new Nfb("Conflicting externs name: "+
b));e=new _2(d,true);I1(a,e.g,e);if(c==0){S1b(a.q,d.b);zqc(a.o,0,e)}else{R1b(a.q,d.b);Aqc(a.o,e)}return e}function eib(a,b){var c,d,e,f,g;f=!b?a.o:(d=g2b(b,51),!d?null:d.Hg());if(f==null)return"[source unknown]\n";e=p3b(b.i);c=o3b(b.i);g=g1(a.c,f,e);g==null&&(g="[source unknown]");return f+":"+e+":"+c+YDc+g+YDc}function dyb(a,b){var c;if(b==null)return false;if(a===b)return true;Pd(iE(b,115),"Expected newtypes.JSType but found %s",b);c=b;return a.Fh()==c.Fh()&&vyc(a.Ih(),c.Ih())&&vyc(a.Ch(),c.Ch())&&
a.Rh()==c.Rh()}function nDb(a,b){var c,d,e,f,g;Td(a);d=null;for(f=a.Pd();f.Jd();){e=f.Kd();c=UBb(e,b);if(!!c&&(b.a.size()==1||vyb(c.d,(Kd(b.a.size()!=1),new XCb(b.a.Ze(1,b.a.size())))))){g=WBb(e,b);d=!d?g:ozb(d,g)}}return d}function l3b(a,b,c,d){Kd(!b.e);Kd(!b.d);Kd(!b.f);Kd(!c.e);Kd(!c.d);Kd(!c.f);Kd(!d.e);Kd(!d.d);Kd(!d.f);this.j=a;this.e=null;this.b=b;b.d=c;b.f=d;b.e=this;c.d=d;c.f=b;c.e=this;d.d=null;d.f=c;d.e=this;this.i=-1}function Oic(a,b,c,d){var e,f;if(b.ai()||Pic(a))return true;if(b.Gi())return true;
for(f=0;f<a.b.size();f++){e=a.b.getAtIndex(f);if(d==1&&(e.Oi()||e.bi()))continue;if(!e.Si(b,c,d))return false}return true}function zyc(a,b){var c,d,e,f,g,h;c=a.b.a.length;e=Cqc(a.b,b);while(b*2+1<c){d=(f=2*b+1,g=f+1,h=f,g<c&&mY(Cqc(a.b,g),Cqc(a.b,f))<0&&(h=g),h);if(mY(e,Cqc(a.b,d))<0)break;Hqc(a.b,b,Cqc(a.b,d));b=d}Hqc(a.b,b,e)}function PBc(a,b,c,d,e,f){var g,h,i,j,k;if(a===c){a=a.slice(b,b+e);b=0}i=c;for(h=b,j=b+e;h<j;){g=$wnd.Math.min(h+1E4,j);e=g-h;k=a.slice(h,g);k.splice(0,0,d,f?e:0);Array.prototype.splice.apply(i,
k);h=g;d+=e}}function NW(a,b,c){var d,e;gX(a,(bMb(),wLb),c);DX((w7b(),z4b),c);for(d=c.b;d;d=d.d)switch(d.j.f){case 118:$W(a,b,d);break;case 112:PX(a,b,d);break;case 80:e=b2b(d);0!=e&&cY(rEc+e,d);break;default:rX(a,b,d)}}function q$(a,b){p$();var c,d;$d(b.j==(w7b(),U6b),b);d=g2b(b,48);if(!!d&&d.contains(TEc))pib(a,b,n$,vD(qD(qT,1),NCc,2,6,[]));else if(!d)C2b(b,48,o$);else{c=Lr(new Or,TEc);Nr(c,d);C2b(b,48,Dp(new grc(c.a)))}}function Wxb(a){if(a.i.a.length==0&&a.e.a.length==0&&!!a.j&&ICc==a.j.Fh()&&
!!a.k&&ICc==a.k.Fh()&&!a.d&&!a.g&&a.n.a.isEmpty()&&Knc(a.f.c)==0)return a.a.s;return Exb(a.a,a.i,a.e,a.j,a.k,a.d,a.g,a.f,a.n,a.c,a.b)}function wCb(a,b,c,d,e,f,g){Td(b);if(!c)c=(bBb(),bBb(),aBb);else if(jCb(c)||!(!d||d!=d.a.c))return a.J;!!d&&!yi(c,PEc,false)&&(c=dBb(c,PEc,new JCb(null,d.a.G,null,(UCb(),TCb))));return new fCb(a,b,c,d,e,f,g)}function UEb(a){SEb();var b,c,d,e;for(c=vD(qD(IO,1),gDc,145,0,[MEb,NEb,OEb,PEb,QEb,REb]),d=0,e=c.length;d<e;++d){b=c[d];if(ZKb(b.a,a))return b}throw CV(new llc("No input language mode supports feature: "+
a));}function OHb(a){var b,c;a.g=(AIb(),yIb);pIb(a);c=!a.n?dJb(a.i):BHb(a);if(a.e.d){b=EHb(a,c,a.f?0:1,false,false);c=b.b;b.a.length==0||w0b(a.e,b.a)}else c!=(YIb(),DIb)&&c!=IIb&&w0b(a.e,"");return XHb(a,c,new Lqc)}function ogc(a,b){var c,d,e,f,g;g=a.b.get(b);if(g)return g;f=mgc(a);if(f){g=ogc(f,b);if(g)return g}for(d=Us(new Atc(ngc(a).a.b.Pd()));d.Jd();){c=d.Kd();e=c.hj();if(e){g=ogc(e,b);if(g)return g}}return null}function F_(a,b,c,d){var e,f;f=a.b;e=a.a;if(d)return f==b&&e>=c?new WA(f+1,e-c):a;
else if(f==b)return new WA(f-1,e+c);else if(f>b)throw CV(new llc("Cannot undo line cut on a previous line."));else return a}function zFb(a,b){var c,d,e;e=n0b(a.f);!!e&&(d=G2b(b,b.g,29),d!=b.g&&(b.g=d),!!e&&(b.g=new U3b(29,e,b.g)),b);if(a.g){if(!!g2b(b,29)&&A$b(g2b(b,29))!=null){c=J1b(a.g);Z0b(c,A$b(g2b(b,29)));a.g=n0b(c)}N2b(b,a.g)}}function bIb(a,b){var c,d;d=LHb(a,(w7b(),e6b));c=VHb(a,b);if(!c)return xHb(a,aKc,a.i.g,cJb(a.i)),null;pIb(a);if(!JHb(a,(YIb(),TIb)))return xHb(a,ZJc,a.i.g,cJb(a.i)),null;
!a.n?dJb(a.i):BHb(a);R1b(d,c);return d}function i2b(a,b){var c,d,e;e=(a.b?a.b.f:null).qi();b+=1+e.length;if(a.b.j==(w7b(),M5b)){c=i2b(a.b,b);if(!c)return null}else{d=h2b(a.b);if(d==null)return null;c=new _mc;c.a+=""+d}Wmc((c.a+=".",c),e);return c}function Drc(a,b,c,d,e,f){var g,h,i,j;g=d-c;if(g<7){Arc(b,c,d,f);return}i=c+e;h=d+e;j=i+(h-i>>1);Drc(b,a,i,j,-e,f);Drc(b,a,j,h,-e,f);if(f.Qe(a[j-1],a[j])<=0){while(c<d)b[c++]=a[i++];return}Brc(a,i,j,h,b,c,d,f)}function mxb(a,b){var c,d;Zd(a.c||b.c);if(a==
a.a.v||a==a.a.g||b==b.a.v||b==b.a.g)return true;d=$wnd.Math.min(a.i.size(),b.i.size());for(c=0;c<d;c++)if(!_yb(dxb(a,c),dxb(b,c)))return false;return _yb(a.k,b.k)}function sIb(a,b,c,d,e,f){sHb();var g,h;this.i=a;h=e.d!=(JEb(),IEb);this.e=new I1b(h);if(b!=null){j1b(this.e,b);i1b(this.e,c)}this.a=e.a;this.j=e.f;this.f=e.d==HEb;this.b=f;this.k=!d?(g=new g3b((w7b(),U6b)),g):d}function ZJb(a,b){if(!CJb(a,b,(GKb(),DKb)))return false;if((Pd(b.j==(w7b(),X4b),iKc,b),a2b(b,1)).j!=$6b){a.a.lh(VJc+t4b(jKc,vD(qD(lT,
1),bDc,1,5,["name"])),a.b.Hg(),a.d,a.c);fKb(a,DKb.d);return false}return true}function Ywc(a,b,c){var d,e,f,g;g=b==null?0:a.b.Hj(b);e=(d=a.a.get(g),d==null?new Array:d);if(e.length==0)a.a.set(g,e);else{f=Vwc(a,b,e);if(f)return f.ee(c)}e[e.length]=new _oc(b,c);++a.c;rvc(a.b);return null}function Id(a,b,c){if(a<0)return ge(dDc,vD(qD(lT,1),bDc,1,5,[c,Blc(a)]));else if(b<0)throw CV(new Nfb(fDc+b));else return ge("%s (%s) must not be greater than size (%s)",vD(qD(lT,1),bDc,1,5,[c,Blc(a),Blc(b)]))}function k3(a,
b,c){var d,e;Kd(b.j==(w7b(),$6b));Kd(c.j==y5b||c.j==S5b);e=b.qi();if(imc(e.substr(0,5),"goog:")){Aqc(a.d,e.substr(5));return}d=Tub(a.b,e,a.b.a,p3b(b.i),o3b(b.i));!d&&(d=Uub(a.b,e));Aqc(a.d,lvb(d.a))}function Wkb(a,b){var c,d,e,f,g;if(b.b.j==(w7b(),o6b)){e=b.b;X2b(b,hjb(b));f=b.e;d=new g3b(r5b);H2b(f,b,d);c=c3b(cZb(c3b(e.oi(false),e),b),b);N2b(c,g2b(b,29));g=G2b(b,b.g,29);g!=b.g&&(b.g=g);H2b(f,d,c);N1(a.b,c)}}function bbc(a,b,c,d){if(a==b)return true;if(a.i!=b.i)return false;switch(a.i.f){case 1:return false;
case 2:return imc(a.jj(),b.jj());case 0:return O7b(a.o,b.o,c,d)&&d9b(a.c,b.c,c,d);default:throw CV(new ckc);}}function Grc(a){var b,c,d,e,f;if(a==null)return KCc;f=new Zyc("[","]");for(c=a,d=0,e=c.length;d<e;++d){b=c[d];!f.a?f.a=new bnc(f.d):Wmc(f.a,f.b);Tmc(f.a,""+b)}return!f.a?f.c:f.e.length==0?f.a.a:f.a.a+(""+f.e)}function Irc(a){var b,c,d,e,f;if(a==null)return KCc;f=new Zyc("[","]");for(c=a,d=0,e=c.length;d<e;++d){b=c[d];!f.a?f.a=new bnc(f.d):Wmc(f.a,f.b);Tmc(f.a,""+b)}return!f.a?f.c:f.e.length==
0?f.a.a:f.a.a+(""+f.e)}function Jrc(a){var b,c,d,e,f;if(a==null)return KCc;f=new Zyc("[","]");for(c=a,d=0,e=c.length;d<e;++d){b=c[d];!f.a?f.a=new bnc(f.d):Wmc(f.a,f.b);Tmc(f.a,""+b)}return!f.a?f.c:f.e.length==0?f.a.a:f.a.a+(""+f.e)}function Krc(a){var b,c,d,e,f;if(a==null)return KCc;f=new Zyc("[","]");for(c=a,d=0,e=c.length;d<e;++d){b=c[d];!f.a?f.a=new bnc(f.d):Wmc(f.a,f.b);Tmc(f.a,""+b)}return!f.a?f.c:f.e.length==0?f.a.a:f.a.a+(""+f.e)}function Mrc(a){var b,c,d,e,f;if(a==null)return KCc;f=new Zyc("[",
"]");for(c=a,d=0,e=c.length;d<e;++d){b=c[d];!f.a?f.a=new bnc(f.d):Wmc(f.a,f.b);Tmc(f.a,""+b)}return!f.a?f.c:f.e.length==0?f.a.a:f.a.a+(""+f.e)}function Nrc(a){var b,c,d,e,f;if(a==null)return KCc;f=new Zyc("[","]");for(c=a,d=0,e=c.length;d<e;++d){b=c[d];!f.a?f.a=new bnc(f.d):Wmc(f.a,f.b);Tmc(f.a,""+b)}return!f.a?f.c:f.e.length==0?f.a.a:f.a.a+(""+f.e)}function Lrc(a){var b,c,d,e,f;if(a==null)return KCc;f=new Zyc("[","]");for(c=a,d=0,e=c.length;d<e;++d){b=c[d];!f.a?f.a=new bnc(f.d):Wmc(f.a,f.b);Tmc(f.a,
""+TV(b))}return!f.a?f.c:f.e.length==0?f.a.a:f.a.a+(""+f.e)}function eyb(a){var b;Zd(a.Fh()==2&&a.Ih().size()==1);b=lBb(a.Fh()==2&&a.Ih().size()==1?Ps(a.Ih().Pd()).d:null);return ayb(),rzb(null.Uj,2,(vn(),new Py(wCb(null.Uj,null,null,b,null,null.Uj,(KBb(),IBb)))),null,Zxb)}function GFb(a,b){var c,d,e;c=FFb(a,b);if(c.j!=(w7b(),U4b)){if(c.j==r5b)X2b(c,U4b);else{d=nFb(a,U4b,c);Q2b(d,p3b(c.i));K2b(d,o3b(c.i));P2b(d,c.c);c=d}e=G2b(c,c.g,39);e!=c.g&&(c.g=e);c.g=new K3b(39,1,c.g)}return c}function ejb(a){Lib();
var b,c,d;if(a.j!=(w7b(),G5b))return null;b=(c=djb(a),!c?null:h2b(c));if(b!=null)return b;d=a.e;switch(d.j.f){case 98:case 87:case 86:case 91:return d.qi();case 30:return njb(d)}return null}function LGb(a,b,c){var d,e,f;if(c)e=rFb(a.a,(w7b(),$6b),b.a);else{d=eFb(a.a,b);lGb(a,b);e=rFb(a.a,(w7b(),o6b),b.a);!!d&&(f=G2b(e,e.g,29),f!=e.g&&(e.g=f),!!d&&(e.g=new U3b(29,d,e.g)),e)}DFb(e,b.b.b,b.b.a);return e}function Cdb(a){var b;if(a.a){b=a.a.e;if(!b)return null;switch(b.j.f){case 65:case 47:case 96:return g2b(b,
29);case 76:case 100:case 88:return a.a==b.b?g2b(b,29):g2b(a.a,29);case 43:return g2b(a.a,29)}}return null}function LFb(a,b){var c,d;if(b.j==(w7b(),b6b)){c=b.b;for(d=b.e;!!d&&d.j!=G5b;d=d.e)if(d.j==b6b&&imc(d.b.qi(),c.qi())){a.d.kh(wYb('Duplicate label "%s"',vD(qD(lT,1),bDc,1,5,[c.qi()])),a.r,p3b(b.i),o3b(b.i));break}}}function gPb(a,b){var c,d;d=GQb(a.g,0).b.b;c=(Sn(),new ar);CNb(a,(xTb(),CSb));while($Pb(a,0)||GQb(a.g,0).c==ESb){$q(c,hPb(a,b));if(QPb(a,LRb))CNb(a,LRb);else break}CNb(a,HRb);return new pVb(new SXb(d,
a.f),$n(c.a))}function FPb(a,b,c){var d,e;CNb(a,(xTb(),BSb));++a.g.f;e=(Sn(),new ar);d=DPb(a);Aqc(e.a,Td(d));while(QPb(a,LRb)){CNb(a,LRb);d=DPb(a);!!d&&(Aqc(e.a,Td(d)),e)}CNb(a,GRb);--a.g.f;return new rVb(new SXb(b,a.f),c,$n(e.a))}function t4b(b,c){var d,e,f;oyc();f=(Uyc(),Xyc(sLc));try{d=Vyc(f,b)}catch(a){a=BV(a);if(iE(a,327))throw CV(new yC("no message resource found for message property "+b));else throw CV(a);}e=new xnc(d);return ync(e.a,c)}function Ps(a){var b,c,d;b=a.Kd();if(!a.Jd())return b;
d=Vmc(Wmc(new $mc,"expected one element but was: <"),b);for(c=0;c<4&&a.Jd();c++)Vmc((d.a+=$Cc,d),a.Kd());a.Jd()&&(d.a+=", ...",d);d.a+=">";throw CV(new Nfb(d.a));}function _1(a){var b,c,d,e,f,g,h;f=new Lqc;d=new xwc;for(h=new grc(a);h.a<h.c.a.length;){g=erc(h);for(c=new grc(g.d);c.a<c.c.a.length;){b=erc(c);e=b.g.a;f.a[f.a.length]=b;e==null?Ywc(d.d,null,g):oxc(d.e,e,g)}}return f}function uY(a,b,c){var d,e,f,g,h;for(h=(f=(new Boc(c.a)).a.Xd().Pd(),new Hoc(f));h.a.Jd();){g=(e=h.a.Kd(),e.ce());d=vf(a.a.d,
g);if(e2b(d,94)!=0)continue;throw CV(new llc(b+"deleted scope was not reported:\n"+b3b(d)));}}function E6(a,b,c){var d,e;if(!A2b(c,uGc,uGc.length))return;if(C6(b,c.b)){T0(a.a,vGc,false);e=(Lib(),$ib(c,Kib));d=oZb(gZb(hkb(a.a,"$jscomp.initSymbolIterator"),vD(qD(SR,1),OEc,7,0,[])));Q1b(e.e,d3b(d,e),e);N1(a.a,d)}}function aab(a,b,c,d){var e;e=wZb(bab(a,nZb(dab(a,(ce(lmc(EHc,Hmc(46))==-1,NEc,EHc),new g4b((w7b(),o6b),EHc))),dab(a,new P3b(1)))),eZb(UZb(hab(a,(ce(lmc(FHc,Hmc(46))==-1,NEc,FHc),new g4b(o6b,
FHc))))));P1b(d,e,c);qib(b)}function Efb(a,b,c){var d,e,f,g,h,i;g=b.b;h=c.b;for(d=$wnd.Math.min(g,h)-1;d>=0;d--){i=Cqc(a.b,d);for(e=i.size()-1;e>=0;e--){f=i.getAtIndex(e);if(b!=f&&Zrc(a.c[b.c],f.c)&&c!=f&&Zrc(a.c[c.c],f.c))return f}}return null}function cPb(a,b){var c,d,e,f,g;e=GQb(a.g,0).b.b;!GNb(a,(xTb(),tSb))&&CNb(a,uSb);d=(f=GQb(a.g,0).b.b,g=DNb(a),new kVb(new SXb(f,a.f),zNb(a,g)));CNb(a,CSb);c=b?WNb(a):dPb(a);CNb(a,HRb);return new jVb(new SXb(e,a.f),d,c)}function Smb(a,b){Rmb();var c;if(A2b(b,
zIc,zIc.length)){c=Vob(gib(a),VEc);if(!c||!c.a||W2(c.a))return true}else if(b.j==(w7b(),o6b)&&imc("exports",b.qi())){c=Vob(gib(a),b.qi());if(!c||!c.d.c)return true}return false}function cIb(a){pIb(a);if(!JHb(a,(YIb(),FIb)))return LHb(a,(w7b(),r5b));!a.n?dJb(a.i):BHb(a);pIb(a);if(JHb(a,XIb)&&imc(rFc,a.i.n)){!a.n?dJb(a.i):BHb(a);return LHb(a,(w7b(),r7b))}else return fIb(a,!a.n?dJb(a.i):BHb(a))}function eJb(a){var b,c,d;for(;;){b=aJb(a);switch(b){case 42:if((d=aJb(a),a.q[a.r++]=d,--a.b,d)!=47){_Ib(a,
b);break}case -1:case 10:a.q[a.r++]=b;--a.b;a.n=(c=Nmc(a.o,0,a.p),jCc(c),c);a.p=0;return a.n;default:_Ib(a,b)}}}function WNb(a){var b;b=(Sn(),new ar);while(PPb(a,0,(xTb(),sTb))||PPb(a,0,pSb)||PPb(a,0,MRb)||PPb(a,0,dSb)||PPb(a,0,FRb)||PPb(a,0,lSb)||PPb(a,0,VRb)||PPb(a,0,tSb)||PPb(a,0,uSb)||PPb(a,0,$Rb))$q(b,VNb(a));return $n(b.a)}function onc(){onc=bW;nnc=new pnc("UP",0);hnc=new pnc("DOWN",1);gnc=new pnc("CEILING",2);inc=new pnc("FLOOR",3);lnc=new pnc("HALF_UP",4);jnc=new pnc("HALF_DOWN",5);knc=new pnc("HALF_EVEN",
6);mnc=new pnc("UNNECESSARY",7)}function is(a,b){bs();var c,d,e,f;d=Td(b.ce());f=Td(b.de());c=d;if(azc(a,c)){e=(new wpc(new Qzc(a,(cAc(),bAc),d))).b.Kj().Kd();throw CV(new Nfb("Duplicate keys in mappings "+e.ce()+"="+e.de()+" and "+d+"="+f));}gzc(a,d,f)}function l7(a,b){var c,d,e,f;if(a.j!=(w7b(),B5b))return null;c=a.b;if(c.j!=X4b)return null;e=c.b;if(!A2b(e,zFc,zFc.length))return null;d=Td(e.d);if(b!=null&&A2b(d,b,b.length)){f=Td(d.d);return h2b(f)}else return null}function Ppb(){Ppb=bW;Opb=new s6("SOURCEMAP_RESOLVE_FAILED",
(pZ(),oZ),new xnc("Failed to resolve sourcemap at {0}: {1}"));Npb=new s6("SOURCEMAP_PARSE_FAILED",oZ,new xnc("Failed to parse malformed sourcemap in {0}: {1}"))}function Xh(a,b){var c,d;c=a.c.remove(b);if(!c)return a.Be();d=a.ze();d.addAll(c);a.d-=c.size();c.clear();return iE(d,207)?ey(d):iE(d,125)?(msc(),new Xuc(d)):iE(d,31)?(msc(),new vuc(d)):iE(d,46)?wsc(d):(msc(),new ktc(d))}function sY(a){var b,c;c=mjb(a);switch(a.j.f){case 85:return"SCRIPT: "+c;case 65:b=ejb(a);b==null&&(b="anonymous@"+p3b(a.i)+
":"+o3b(a.i));return"FUNCTION: "+b+" in "+c;default:throw CV(new llc("unexpected Node type"));}}function RFb(a){while(true)switch(a.p.f){case 6:a=a.a;continue;case 49:a=a.b;continue;case 42:a=a.a;continue;case 43:a=a.a;continue;case 46:a=a.b;continue;case 55:a=a.b;continue;case 45:a=a.a;continue;default:return a}}function eOb(a){var b,c;c=GQb(a.g,0).b.b;INb(a,_Ec);CNb(a,(xTb(),dSb));if(QPb(a,$Sb)){hQb(a,VKc,vD(qD(lT,1),bDc,1,5,[]));CNb(a,$Sb)}b=FUb(KUb(new OUb((TUb(),QUb)),DNb(a)));KOb(a,b,(sQb(),
pQb));return DUb(b,new SXb(c,a.f))}function sGb(a,b){var c,d,e,f;f=null;c=null;e=null;while(b){e=c;c=nFb(a.a,XFb(b.b.c),FFb(a.a,b.c));p3b(c.i)==-1&&DFb(c,b.o.b,b.o.a);!!e&&S1b(e,c);if(iE(b.a,105))b=b.a;else{d=FFb(a.a,b.a);S1b(c,d);b=null}!f&&(f=c)}return f}function UHb(a,b){var c,d,e;c=THb(a,b);if(!c)return null;pIb(a);if(!JHb(a,(YIb(),FIb)))return c;!a.n?dJb(a.i):BHb(a);pIb(a);e=fIb(a,!a.n?dJb(a.i):BHb(a));if(!e)return null;d=LHb(a,(w7b(),c5b));R1b(d,c);R1b(d,e);return d}function HNb(a){var b;if(PPb(a,
0,(xTb(),WSb))&&GQb(a.g,0).b.b.b==a.f.b){CNb(a,WSb);return}b=GQb(a.g,0).b.b.b>a.f.b;if(b||PPb(a,0,WSb)||PPb(a,0,HRb)||PPb(a,0,URb))return;hQb(a,"Semi-colon expected",vD(qD(lT,1),bDc,1,5,[]))}function ROb(a){var b,c,d;d=GQb(a.g,0).b.b;c=ENb(a);b=null;if(PPb(a,0,(xTb(),fSb))&&imc(GQb(a.g,0).a,"as")){INb(a,"as");b=DNb(a)}else lNb(c.a)&&fQb(a,null,QKc,vD(qD(lT,1),bDc,1,5,["as"]));return new aVb(new SXb(d,a.f),c,b)}function SYb(a){if(a.indexOf(":")!=-1||a.indexOf("=")!=-1){if(lmc(a,Hmc(58))==-1)return lmc(a,
Hmc(61));if(lmc(a,Hmc(61))==-1)return lmc(a,Hmc(58));return $wnd.Math.min(lmc(a,Hmc(61)),lmc(a,Hmc(58)))}return lmc(a,Hmc(32))}function Y$(a,b,c,d){var e;if(d==3&&b.j==(w7b(),W5b)||(Lib(),$jb(b.j)&&(e=b.e,!!e&&e.j==(w7b(),x5b)&&e.b==b)||(b.j==(w7b(),B6b)||b.j==$4b&&b.b.j==B6b)&&p2b(b.e)||h_(a,b)<c)){r$(a.c,"(");a.Ag(b,4);r$(a.c,")")}else a.Ag(b,d)}function Wh(a,b,c){var d;d=a.c.get(b);if(!d){d=a.Ae(b);if(d.add(c)){++a.d;a.c.put(b,d);return true}else throw CV(new dkc("New Collection violated the Collection spec"));
}else if(d.add(c)){++a.d;return true}else return false}function Pqb(){Pqb=bW;new Sqb;Mqb=new urb;new xrb;Eqb=new Arb;Kqb=new Drb;Dqb=new Grb;Hqb=new Jrb;Iqb=new Mrb;Fqb=new Prb;Gqb=new Vqb;new Yqb;Jqb=new _qb;Cqb=new crb;Bqb=new frb;Aqb=new irb;Lqb=new lrb;Nqb=new orb;Oqb=new rrb}function i3b(a,b){Ld(!b.e,"new child has existing parent");Ld(!b.d,"new child has existing next sibling");Ld(!b.f,"new child has existing previous sibling");this.j=a;this.e=null;this.b=b;b.d=null;b.f=this.b;b.e=this;this.i=
-1}function Xnb(a,b){var c,d,e,f,g,h,i;i=new mob(a);zib(a.a,b,i);if(i.a.a.size()!=0){d=null;for(f=(g=(new Boc(i.a.a)).a.Xd().Pd(),new Hoc(g));f.a.Jd();){e=(c=f.a.Kd(),c.ce());d=T0(a.a,e,false)}if(d){h=d.e;$nb(a,h,d.d);N1(a.a,h)}}}function Rtb(a,b){var c,d,e;c=(ce(lmc(b,Hmc(46))==-1,NEc,b),new g4b((w7b(),o6b),b));W0(a).ag(b)&&(d=G2b(c,c.g,43),d!=c.g&&(c.g=d),c.g=new K3b(43,1,c.g));e=mZb(c,q7b);R1b(S2((!a.T&&(a.T=v1(a,GFc,0)),a.T),a),e);J1(a,V0(e));x1(a)}function sBb(a,b){var c;if(null.Tj()&&IBc(KBc(gBb,
b))){if(a.b.d.d.isEmpty())return new JCb(null,null.Uj,null,(UCb(),TCb));Zd(a.b.d.d.size()==1);c=Ps(a.b.df().Pd());return new JCb(null,c,null,(UCb(),TCb))}null.Tj();return null}function vBb(a,b){var c,d,e;if(null.Tj())return null.Uj;if(a.b.d.d.isEmpty())return uBb(a,b);if(b.isEmpty())return a;c=(Io(),new ir);for(e=a.b.cf().Pd();e.Jd();){d=e.Kd();fr(c,d,zyb(kp(a.b,d),b))}return new xBb(Wo(c.b),a.a)}function jX(a,b,c){if(b==(w7b(),f5b)||b==g6b||b==q7b||b==G6b){cY(vEc+b+wEc,c);return}switch(c.j.f){case 26:iX(a,
c);break;case 27:OW(a,c);break;default:throw CV(new llc("Expected GETPROP or GETELEM but instead got node "+c.j));}}function TNb(a){var b;switch(GQb(a.g,0).c.f){case 14:b=UNb(a);HNb(a);break;case 29:b=nOb(a,false,true);break;case 31:b=wOb(a);break;case 110:case 111:b=cPb(a,true);break;default:case 25:case 38:case 30:b=XNb(a);HNb(a)}return b}function Qzc(a,b,c){this.c=a;switch(b.f){case 2:if(a.a.Qe(null,c)<0)throw CV(new Nfb("subMap: null less than "+c));break;case 1:a.a.Qe(null,null);break;case 3:a.a.Qe(c,
c)}this.f=b;this.b=c;this.a=true;this.e=null;this.d=false}function hBc(a,b){var c,d,e,f;c=Dnc(a.a,b);if(!c){d=new DBc(b);e=(qBc(),nBc)?null:d.c;f=Amc(e,0,$wnd.Math.max(0,omc(e,Hmc(46))));ABc(d,hBc(a,f));(nBc?null:d.c).length==0&&sBc(d,new GBc);Gnc(a.a,nBc?null:d.c,d);return d}return c}function eW(a,b){var c=$wnd;if(a==="")return c;var d=a.split(".");!(d[0]in c)&&c.execScript&&c.execScript("var "+d[0]);if(b){var e=b.prototype.Qj;e.g=b}for(var f;d.length&&(f=d.shift());)c=c[f]=c[f]||!d.length&&b||{};
return c}function ux(a,b){var c,d,e;if(b===a)return true;if(iE(b,204)){e=b;if(MA(a.b)!=MA(e.b)||Wk(a).size()!=Wk(e).size())return false;for(d=Wk(e).Pd();d.Jd();){c=d.Kd();if(ml(a,c.b.ce())!=Cl(c))return false}return true}return false}function NX(a,b){var c;DX((w7b(),G6b),b);for(c=b.b;c;c=c.d)if(c.j==P6b){!!c.d&&cY("Rest parameters must come after all other parameters.",c);PX(a,G6b,c)}else c.j==l5b?$W(a,G6b,c):c.j==o6b?wX(c):c.j==z4b?NW(a,G6b,c):KX(a,G6b,c)}function s4(a){switch(a.f){case 0:return XKb(),
NKb;case 1:case 2:return XKb(),OKb;case 3:return XKb(),QKb;case 5:return XKb(),SKb;case 6:case 7:return XKb(),UKb;case 4:return XKb(),WKb;case 8:throw CV(new klc);}throw CV(new klc);}function _8(a){var b,c,d,e;c=g2b(a,29);if(c){b=a.j==(w7b(),N5b)||e2b(a,73)!=0;if(b&&!!((wGc&c.a)==HDc?c.i:null))return(wGc&c.a)==HDc?c.i:null;else{d=E$b(c);if(d.size()==1){e=F$b(c,Ps(E$b(c).Pd()));if(e)return e}}}return null}function pub(){pub=bW;kub=new qub("MAX",0,1);lub=new qub("MIN",1,100);mub=new qub("STRICT",2,
100);iub=new qub(QIc,3,50);nub=new qub("SUPPRESS_BY_WHITELIST",4,40);oub=new qub("SUPPRESS_DOC",5,20);jub=new qub("FILTER_BY_PATH",6,1)}function Yac(a,b,c,d){var e,f,g,h;for(h=b.v.b.keySet().Pd();h.Jd();){g=h.Kd();if(!(a.Mi()||a.Ki()||a.Li()||tec(a.B,(dec(),rdc))==a||I9b(a)||!!a.kj(g)))return false;e=a.ij(g);f=F9b(b,g);if(!e.Si(f,c,d))return false}return true}function xCb(a,b){var c;c=a.Fh()==2&&a.Ih().size()==1?Ps(a.Ih().Pd()):null;if(!c||!c.c||(new Wnc(c.g.a)).a.size()==0||!!c.b||nCb(c,a.e.M)||
nCb(c,jyb(b.G)))return a;if(nCb(c,b.M))return a.e.q;if(nCb(c,b.M))return a.e.t;return a}function nGb(a){var b,c,d,e;c=null;while(dGb(a.b)){b=F2b(a).b.qi();!c&&(c=new Or);Aqc(c.a,Td(b))}if(c){e=Dp(new grc(c.a));e.size()==1&&e.contains(TEc)&&(e=(_Eb(),$Eb));d=G2b(a,a.g,48);d!=a.g&&(a.g=d);!!e&&(a.g=new U3b(48,e,a.g))}}function ZHb(a){var b,c,d,e,f,g;pIb(a);f=!a.n?dJb(a.i):BHb(a);c=a.i.g;e=cJb(a.i);g=_Hb(a,f);mIb(a,c,e,g,f==(YIb(),NIb));b=!g?null:new L1b(g,(d=g2b(a.k,51),!d?null:d.Hg()));if(b){y1b(a.e,
b);a.e.a.e=true;return n0b(a.e)}return null}function Wdb(){Wdb=bW;Udb=new Xdb("SET_FROM_GLOBAL",0);Vdb=new Xdb("SET_FROM_LOCAL",1);Tdb=new Xdb("PROTOTYPE_GET",2);Pdb=new Xdb("ALIASING_GET",3);Sdb=new Xdb("DIRECT_GET",4);Qdb=new Xdb("CALL_GET",5);Rdb=new Xdb("DELETE_PROP",6)}function xyb(a,b){var c,d,e,f;f=yyb(a,b);if(0==f.Fh()&&(d=a.Ih(),d.size()==1&&Ps(d.Pd()).c||(e=b.Ih(),e.size()==1&&Ps(e.Pd()).c))){f=yyb(cyb(a),cyb(b));if(0!=f.Fh())return a}return c=f.Ih(),c.size()==1&&Ps(c.Pd()).c?xCb(f,a.e):
f}function UNb(a){var b,c,d,e;e=GQb(a.g,0).b.b;CNb(a,(hNb(),CMb).a);c=!!GNb(a,(xTb(),$Sb));d=DNb(a);return b=HUb(MUb(GUb(JUb(IUb(KUb(new OUb((TUb(),QUb)),d),c),MNb(a)),HOb(a,1)),LNb(a)),new sUb(new SXb(e,a.f))),DUb(b,new SXb(e,a.f))}function Wbc(a,b){M7b();sbc.call(this,a,b,null,new j9b(a,nec(a,vD(qD(nS,1),xLc,23,0,[vec(a,(dec(),Ucc)),vec(a,Ucc),vec(a,Ucc)])),null),null,null,true,true,false);this.c.b=(ce(this.i==(occ(),lcc)||this.i==mcc,ALc,this),X7b(this.o))}function QNb(a,b){var c,d,e;e=GQb(a.g,
0).b.b;d=bOb(a,b);if(QPb(a,(xTb(),LRb))&&!PPb(a,1,ZSb)){c=(Sn(),new ar);Aqc(c.a,Td(d));while(QPb(a,LRb)&&!PPb(a,1,ZSb)){CNb(a,LRb);$q(c,bOb(a,b))}return new WTb(new SXb(e,a.f),$n(c.a))}return d}function wlc(a){var b,c,d;if(a<0)return 0;else if(a==0)return 32;else{d=-(a>>16);b=d>>16&16;c=16-b;a=a>>b;d=a-256;b=d>>16&8;c+=b;a<<=b;d=a-4096;b=d>>16&4;c+=b;a<<=b;d=a-16384;b=d>>16&2;c+=b;a<<=b;d=a>>14;b=d&~(d>>1);return c+2-b}}function iLb(a){XKb();switch(a){case "es3":return NKb;case "es5":return OKb;case "es6-impl":case "es6":return PKb;
case "es7":return RKb;case "es8":return TKb;case "ts":return WKb;default:throw CV(new Nfb("No such FeatureSet: "+a));}}function H9b(a,b,c,d){var e,f;Kd(!a.$i());Kd(!b.$i());Pd(b.Qi(),"isStructuralSubtype should be called with structural supertype. Found %s",b);e=Lcc(c,a,b);if(e)return e.a;f=dac(a,b,c,d);Mcc(c,a,b,f?(Rcc(),Occ):(Rcc(),Pcc));return f}function dd(a,b){var c,d,e,f,g;if(b===a)return true;if(!iE(b,46))return false;g=b;if(a.size()!=g.size())return false;f=g.Pd();for(d=a.Pd();d.Jd();){c=
d.Kd();e=f.Kd();if(!(oE(c)===oE(e)||c!=null&&wb(c,e)))return false}return true}function LW(a,b){switch(b.j.f){case 76:case 100:case 88:yX(a,b.j,b);break;case 65:hX(a,b,true);break;case 96:UW(a,b,true),wX(b.b);break;case 151:aX(a,b);break;case 159:zX(a,b,true);break;case 154:ZX(a,b);break;case 108:cX(a,b,true)}}function uJb(a){var b,c,d;c=a.c;b=a.e==0;switch(c.f){case 5:d=5;break;case 0:d=0;break;case 1:d=1;break;case 2:d=2;break;case 3:d=3;break;case 4:d=4;break;default:throw CV(new llc("unexpected language mode: "+
c));}return new oQb(d,b)}function Bm(a){var b,c,d,e;e=Pmc((xm((new Boc(a.b.a.b)).a.size(),"size"),new _mc),91);b=true;for(d=Ts(Rf(a.a).b.$d(),(qw(),pw));d.b.Jd();){c=_s(d,d.b.Kd());b||(e.a+=$Cc,e);b=false;c===a?(e.a+=_Cc,e):(e.a+=""+c,e)}return(e.a+="]",e).a}function Jfb(a){var b,c,d,e,f,g,h;b=sD(ZT,bDc,274,a.a.length,0,1);for(f=0;f<a.a.length;++f){e=a.a[f];g=new dsc(f+1);b[f]=g;esc(f);h=f/31|0;isc(g.a,h);g.a[h]=g.a[h]|0|1<<f%31;for(d=$n(e.a).Pd();d.Jd();){c=d.Kd();bsc(g,b[c.c])}}return b}function XBb(a){var b;
!!VBb(a)&&!(null.Tj()&&!!VBb(a))?b=pBb(a.d):b=null.Tj().Tj();if(SBb(a,b)){ce(null.Tj()&&!!VBb(a),"Failed to reach Object.prototype in prototype chain, unexpected self-link found at %s",a);return null}return b}function JGb(a,b){var c,d,e,f,g;mGb(a,b,(bMb(),HLb));f=LGb(a,b.c,false);gGb(a,f,b.b);g=lHb(a,(w7b(),_5b),b.d);c=mFb(a.a,a6b);p3b(c.i)==-1&&DFb(c,b.o.b,b.o.a);for(e=b.a.Pd();e.Jd();){d=e.Kd();R1b(c,FFb(a.a,d))}return pFb(a.a,$5b,f,g,c)}function ZGb(a,b){var c,d,e,f,g;f=mFb(a.a,(w7b(),k5b));c=
mFb(a.a,U4b);g=G2b(c,c.g,39);g!=c.g&&(c.g=g);c.g=new K3b(39,1,c.g);p3b(c.i)==-1&&DFb(c,b.o.b,b.o.a);if(b.a)for(e=b.a.Pd();e.Jd();){d=e.Kd();R1b(c,FFb(a.a,d))}R1b(f,c);return f}function y2b(a,b){if(!b||b.j!=a.j)return false;switch(a.j.f){case 29:return a.qi().length!=0&&a.qi()==b.qi();case 33:case 99:return true;case 26:return(a.b?a.b.f:null).qi()==(b.b?b.b.f:null).qi()&&y2b(a.b,b.b);default:return false}}function xY(a,b,c){if(b.j==(w7b(),S6b))return;if(e2b(b,56)>e2b(c,56)){if(BY(b,c))throw CV(new llc(a+
"unchanged scope marked as changed: "+sY(b)));}else if(!BY(b,c))throw CV(new llc(a+"changed scope not marked as changed: "+sY(b)));}function R2(a){var b,c;Vd(a.b,"Expected setCompiler to be called first: %s",a);Vd(Z0(a.b),"Expected compiler to call an error manager: %s",a);b=new n3(U2(a));c=S2(a,a.b);if(!c)return Cvb(),Bvb;m3(b,c);return new Dvb("","",b.c,b.d,b.a)}function ekb(a,b){Lib();var c,d,e,f,g,h,i;d=!(a.j==(w7b(),M5b)||a.j==L5b);c=gZb(a,vD(qD(SR,1),OEc,7,0,[]));i=G2b(c,c.g,50);i!=c.g&&(c.g=
i);(d?1:0)!=0&&(c.g=new K3b(50,d?1:0,c.g));for(f=b,g=0,h=f.length;g<h;++g){e=f[g];R1b(c,e)}return c}function eMb(){bMb();return vD(qD(YO,1),gDc,25,0,[pLb,yLb,ELb,ILb,ULb,WLb,ZLb,mLb,oLb,PLb,rLb,sLb,ALb,BLb,CLb,JLb,KLb,SLb,lLb,TLb,VLb,XLb,YLb,uLb,wLb,OLb,RLb,vLb,MLb,zLb,nLb,$Lb,jLb,kLb,qLb,tLb,xLb,DLb,FLb,GLb,HLb,LLb,NLb,QLb,_Lb,aMb])}function uNb(a){var b,c,d;d=new Lqc;Aqc(d,Blc(0));for(c=0;c<a.length;c++){b=(qCc(c,a.length),a.charCodeAt(c));if(vNb(b)){c+1<a.length&&b==13&&(qCc(c+1,a.length),a.charCodeAt(c+
1)==10)&&++c;Aqc(d,Blc(c+1))}}Aqc(d,Blc(ICc));return wNb(d)}function H2b(a,b,c){var d,e,f;Ld(!c.d,lLc);Ld(!c.f,mLc);Ld(!c.e,nLc);ee(b.e==a,oLc,a,b);e3b(c,b);c.e=a;e=b.d;f=b.f;d=a.b.f;if(b==f){a.b=c;a.b.f=c}else{b==a.b?a.b=c:f.d=c;b==d?a.b.f=c:e.f=c;c.f=f}c.d=e;b.d=null;b.f=null;b.e=null}function aW(a,b,c){var d=$V,h;var e=d[a];var f=e instanceof Array?e[0]:null;if(e&&!f)_=e;else{_=(h=b&&b.prototype,!h&&(h=$V[b]),dW(h));_.Rj=c;!b&&(_.Sj=gW);d[a]=_}for(var g=3;g<arguments.length;++g)arguments[g].prototype=
_;f&&(_.Qj=f)}function pvb(a){var b,c,d,e;b=(Io(),new ir);for(e=Jo(a).Pd();e.Jd();){d=e.Kd();c=d.ce();Hub();!imc(c.substr(0,"/".length),"/")&&!(imc(c.substr(0,PFc.length),PFc)||imc(c.substr(0,WIc.length),WIc))&&(c="/"+c);fr(b,c,d.de())}return Wo(b.b)}function HPb(a){var b,c,d;c=GQb(a.g,0).b.b;if(QPb(a,(xTb(),pTb))){CNb(a,pTb);d=DNb(a);b=(Sn(),new ar);!!d&&$q(b,d.a);while(QPb(a,JSb)){CNb(a,JSb);d=DNb(a);if(!d)break;$q(b,d.a)}return new AXb(new SXb(c,a.f),$n(b.a))}else return IPb(a)}function gIb(a,
b){var c;if(b==(YIb(),NIb)){pIb(a);c=eIb(a,!a.n?dJb(a.i):BHb(a));if(c){pIb(a);JHb(a,TIb)?!a.n?dJb(a.i):BHb(a):(xHb(a,ZJc,a.i.g,cJb(a.i)),null)}return c}else{xHb(a,"msg.jsdoc.missing.braces",a.i.g,cJb(a.i));return fIb(a,b)}}function DZb(a){switch(a.j.f){case 80:case 65:return true;case 82:case 74:case 96:case 88:case 75:case 89:case 71:case 84:case 72:case 66:case 83:case 100:case 67:case 39:case 44:case 76:case 70:case 77:return true;default:return false}}function yt(a,b){var c,d,e,f;f=SV(LV(LDc,
ylc(SV(LV(b==null?0:Ab(b),MDc)),15)));c=f&a.b.length-1;e=null;for(d=a.b[c];d;e=d,d=d.a)if(d.d==f&&Fd(d.i,b)){!e?a.b[c]=d.a:e.a=d.a;st(d.c,d.f);rt(d.b,d.e);--a.f;++a.e;return true}return false}function Y4(a,b){var c,d,e,f,g;h:for(g=b.b.Pd();g.Jd();){f=g.Kd();e=(D5(),znc(C5,f)||Fnc(C5,f,new G5(f)),Cnc(C5,f));for(d=a.c.a.keySet().Pd();d.Jd();){c=d.Kd();if(c.Lg(e))continue h;else if(c.Mg(e))return false}return false}return true}function ipb(b){var c,d;if(b.d!=null)return;try{d=wmc(b.a,YDc,-1);b.d=sD(sE,
$Dc,45,d.length,15,1);for(c=1;c<d.length;++c)b.d[c]=b.d[c-1]+d[c-1].length+1}catch(a){a=BV(a);if(iE(a,102)){b.d=sD(sE,$Dc,45,1,15,1);b.d[0]=0}else throw CV(a);}}function NFb(a,b){var c,d;if(b.j==(w7b(),G6b)){c=b.b;for(;c;c=c.d){if(c.j!=o6b)continue;d=c.d;for(;d;d=d.d)d.j==o6b&&imc(c.qi(),d.qi())&&a.d.lh(wYb('Duplicate parameter name "%s"',vD(qD(lT,1),bDc,1,5,[c.qi()])),a.r,p3b(b.i),o3b(b.i))}}}function UGb(a,b){var c,d,e,f,g,h,i;i=b.a;f=sFb(a.a,uFb(i));DFb(f,i.b.b,i.b.a);g=nFb(a.a,(w7b(),O6b),f);
h=i.a;e=omc(h,Hmc(47));c="";e<h.length&&(c=h.substr(e+1));oHb(a,b,c);if(c.length!=0){d=sFb(a.a,c);DFb(d,i.b.b,i.b.a);R1b(g,d)}return g}function Qec(a,b){var c,d,e,f,g,h,i,j;h=false;j=new Lqc;for(f=Iic(b).Pd();f.Jd();){e=f.Kd();i=e._i(a);i!=e&&(h=true);j.a[j.a.length]=i}if(h){g=new pjc(a.e);for(d=new grc(j);d.a<d.c.a.length;){c=erc(d);jjc(g,c,false)}return kjc(g)}return b}function j1(a){switch(a.K.f){case 0:return a.M.wd?(!a.t&&(a.t=new _db(a)),a.t):(!a.X&&(a.X=new Eec),a.X);case 1:return!a.X&&(a.X=
new Eec),a.X;case 2:return!a.t&&(a.t=new _db(a)),a.t;default:throw CV(new yC("Unhandled typechecker "+a.K));}}function zgb(a,b,c){var d,e,f,g;$d((Lib(),Tib(c)||c.j==(w7b(),G5b)||c.j==(w7b(),m6b)||c.j==(w7b(),S6b)&&!c.e||c.j==(w7b(),U6b)),c);for(g=(e=(new Loc(gib(b).e)).a.Xd().Pd(),new Qoc(e));g.a.Jd();){f=(d=g.a.Kd(),d.de());Xpc(a.b).oh(f.b,false)}}function Y_b(a,b){if(!a&&!b)return true;if(!a&&!!b||!!a&&!b)return false;if(a.d==null&&b.d!=null||a.d!=null&&b.d==null)return false;return(a.d==null&&
b.d==null||a.d.ri(b.d,false,true,false,false))&&a.f==b.f&&a.e==b.e&&a.c==b.c&&a.b==b.b}function JA(a,b){var c,d,e;KA(a);switch(b.f){case 7:LA(a>0&(a&a-1)==0);case 1:case 3:return 31-wlc(a);case 0:case 2:return 32-wlc(a-1);case 5:case 4:case 6:d=wlc(a);c=-1257966797>>>d;e=31-d;return e+(~~(c-a)>>>31);default:throw CV(new ckc);}}function YX(a,b){var c,d,e;DX((w7b(),k7b),b);d=b2b(b);(d<2||d>3)&&cY(DEc+d,b);PW(a,b.b);e=false;c=b.b.d;DX(U4b,c);tX(c);if(c.b){RW(a,c.b);e=true}if(b2b(b)==3){PW(a,b.b?b.b.f:
null);e=true}e||cY("Missing catch or finally for try statement.",b)}function Xkb(a,b){var c,d,e;Kd(b.j==(w7b(),b6b));e=b.b?b.b.f:null;switch(e.j.f){case 83:case 82:case 72:case 73:case 101:case 70:case 71:return;default:d=(c=new g3b(U4b),c);e3b(d,e);H2b(b,e,d);S1b(d,e);Ykb(a,"LABEL normalization",b);return}}function Zwc(a,b){var c,d,e,f,g;f=b==null?0:a.b.Hj(b);d=(c=a.a.get(f),c==null?new Array:c);for(g=0;g<d.length;g++){e=d[g];if(a.b.Gj(b,e.ce())){if(d.length==1){d.length=0;exc(a.a,f)}else d.splice(g,
1);--a.c;rvc(a.b);return e.de()}}return null}function SD(a,b){var c,d,e,f,g;b&=63;c=a.h;d=(c&hEc)!=0;d&&(c|=-1048576);if(b<22){g=c>>b;f=a.m>>b|c<<22-b;e=a.l>>b|a.m<<22-b}else if(b<44){g=d?gEc:0;f=c>>b-22;e=a.m>>b-22|c<<44-b}else{g=d?gEc:0;f=d?fEc:0;e=c>>b-44}return AD(e&fEc,f&fEc,g&gEc)}function Kgb(a,b,c,d){Igb(this);$d((Lib(),Tib(a)||a.j==(w7b(),G5b)||a.j==(w7b(),m6b)||a.j==(w7b(),S6b)&&!a.e),a);a.j==(w7b(),G5b)&&$d(!c,a);this.i=a;this.e=false;this.g=b;if(c){$d(!Tib(a),a);this.f=this}else{$d(Tib(a)||
a.j==G5b,a);this.f=d.f}}function wBb(a,b,c,d,e){var f,g,h;b=b;if(!b)return false;if(null.Tj())return true;if(a.b.d.d.isEmpty()||b.b.d.d.isEmpty())return true;g=true;for(null.Tj();null.Tj();){h=null.Tj();f=kp(b.b,h);Wd(f,h,b.b);g=g&&Dyb(kp(a.b,h),f,c,d,e)}return g}function Y0b(a,b){if((a.a.a&2)!=0||R$b(a.a)||(a.a.a&aIc)!=0||C$b(a.a)>0||(a.a.a&wGc)==HDc||M$b(a.a)||x$b(a.a)>0||z$b(a.a)!=null||!!a.a.g||(a.a.a&wGc)==xGc||(a.a.a&wGc)==LCc||(a.a.a&wGc)==OHc)return false;else{n_b(a.a,b);a.e=true;return true}}
function Eec(){new jyc;this.o=new xwc;this.k=new Fwc;this.b=new Fwc;this.c=new Hxc;this.e=new xwc;new mt;new um;new um;this.n=new xwc;this.d=new Shc(this,(Sn(),Sn(),Rn),(null,Rn));this.j=sD(nS,xLc,23,fec().length,0,1);this.i=new xwc;Dec(this)}function ujb(a){var b;if(!(a.j==(w7b(),G5b)&&zjb(a.e)&&a.j==G5b&&Ujb(a.b)))return false;b=a.e;while(b)switch(b.j.f){case 82:return b.e.j!=G5b;case 65:case 85:case 155:case 108:case 111:return false;default:$d(b.j==b6b,b);b=b.e}return false}function Ptb(a,b,c){var d,
e,f,g,h,i,j;f=Otb(a);if(!a.d){h=new yib(a.a,new Vtb(a),f);tib(h,b)}g=new yib(a.a,a,f);xib(g,b,c);for(j=(e=(new Boc(a.e.a)).a.Xd().Pd(),new Hoc(e));j.a.Jd();){i=(d=j.a.Kd(),d.ce());Rtb(a.a,i);Ewc(a.e,i)}!!a.b&&Xtb(a.b)}function _Nb(a){var b,c,d;c=GQb(a.g,0).b.b;d=jPb(a);while(b=GQb(a.g,0).b.b.b>a.f.b,!(b||PPb(a,0,(xTb(),WSb))||PPb(a,0,(xTb(),HRb))||PPb(a,0,(xTb(),URb)))&&PPb(a,0,(xTb(),ESb))){CNb(a,(xTb(),ESb));CNb(a,JRb);d=new LTb(new SXb(c,a.f),d)}return d}function Hmb(a){var b,c,d;$d(a.j==(w7b(),
X4b),a);b=a.b;while(b.j==$4b)b=b.b;Lib();b.j==M5b||b.j==L5b||(d=G2b(a,a.g,50),d!=a.g&&(a.g=d),a.g=new K3b(50,1,a.g));b.j==o6b&&imc("eval",b.qi())&&(c=G2b(b,b.g,49),c!=b.g&&(b.g=c),b.g=new K3b(49,1,b.g))}function TBb(a){var b,c,d,e,f,g;if(!null.Tj())return null;for(f=(d=(new Loc(a.g)).a.Xd().Pd(),new Qoc(d));f.a.Jd();){e=(c=f.a.Kd(),c.de());g=e.d;if(g.Fh()==4&&g.Ch().size()==1){b=Ps(g.Ch().Pd());return SBb(a,null.Tj().Tj())?b:null}}return null}function jQb(a,b){var c;switch(b.p.f){case 62:c=b;break;
case 26:c=new BUb(b.o,(Sn(),new My(Td(b))));break;case 48:case 56:a.f=b.o.b;QQb(a.g,a.f.c);c=HOb(a,0);break;default:gQb(a,b,vD(qD(lT,1),bDc,1,5,[]));c=new BUb(b.o,(Sn(),Sn(),Rn))}return c}function sbb(a,b,c){var d,e,f;ce(c.j==(w7b(),o6b)||c.j==_6b||c.j==V5b,"Invalid node for declareVar: %s",c);e=c.qi();f=Dxc(b.e,e);if(!!f&&f.c==c)return;d=_0(a.a,a.b);!!f||!wbb(e,b)||(b.d.j==G5b||Cjb(b.d))&&imc(e,BGc)?a.c.Qg(b,e,c,d):Qob(b,e,c,d)}function wGb(a,b){var c,d,e,f,g,h;g=mFb(a.a,(w7b(),d5b));h=b.a.getAtIndex(0).o.b;
d=b.a.getAtIndex(1).o.a;DFb(g,h,d);for(f=b.a.Pd();f.Jd();){e=f.Kd();c=b2b(g);if(c<2)R1b(g,FFb(a.a,e));else{d=e.o.a;g=oFb(a.a,d5b,g,FFb(a.a,e));DFb(g,h,d)}}return g}function MOb(a,b){var c,d,e,f;INb(a,"get");if($Pb(a,0)){e=FNb(a);CNb(a,(xTb(),DSb));CNb(a,IRb);f=LNb(a);c=IOb(a);return new YUb(JNb(a,b.d),e,b.c,f,c)}else{d=sOb(a);CNb(a,(xTb(),DSb));CNb(a,IRb);LNb(a);c=IOb(a);return new iUb(JNb(a,b.d),d,b.c,c)}}function B1b(a,b){if(!!b&&!((a.a.a&2)!=0||R$b(a.a)||(a.a.a&aIc)!=0||C$b(a.a)>0||(a.a.a&wGc)==
HDc||M$b(a.a)||x$b(a.a)>0||z$b(a.a)!=null||!!a.a.g||(a.a.a&wGc)==xGc||(a.a.a&wGc)==LCc||(a.a.a&wGc)==OHc)&&k$b(a.a,b)){a.e=true;return true}return false}function _W(a,b,c){var d,e;e=b2b(c);(e<1||e>2)&&cY(yEc+e,c);d=c.b;switch(d.j.f){case 93:NW(a,b,d);break;case 94:KX(a,b,d);break;default:cY("Invalid destructuring lhs first child for "+b+wEc,c)}!!c.b&&!!c.b.d&&c.b.d==(c.b?c.b.f:null)&&fX(a,c.b.d)}function k$(a){var b,c,d;c=null;if(a.j==(w7b(),M5b))c=(a.b?a.b.f:null).qi();else if(a.j==o6b){d=a.qi();
b=omc(d,Hmc(36));b!=-1&&(c=d.substr(b+1))}if(c!=null)if(imc(c,"inherits"))return r0(),p0;else if(imc(c,"mixin"))return r0(),q0;return null}function bCb(a,b){var c,d,e,f,g,h;if(b.isEmpty())return a;e=(bBb(),bBb(),aBb);for(h=new coc((new Wnc(a.g.a)).a);h.b;){g=boc(h);f=g.ce();d=HCb(g.de(),b);e=dBb(e,f,d)}c=!a.b?null:pxb(a.b,b);return wCb(a.a,vBb(a.d,b),e,c,a.e,!!c&&c==c.a.s||a.c,a.f)}function XGb(a,b){var c,d,e,f,g,h;g=b.a;d=WGb(a,g);h=d.qi();if(lmc(h,Hmc(11))!=-1){f=g.b.b.c;c=g.b.a.c;f<a.a.s.length&&
Amc(a.a.s,f,$wnd.Math.min(a.a.s.length,c)).indexOf("\\v")!=-1&&(e=G2b(d,d.g,54),e!=d.g&&(d.g=e),d.g=new K3b(54,1,d.g))}return d}function jpb(b,c){var d,e;ipb(b);if(c>b.d.length)return null;c<1&&(c=1);e=b.d[c-1];d="";try{d=b.a}catch(a){a=BV(a);if(iE(a,102))return null;else throw CV(a);}return mmc(d,Hmc(10),e)==-1?e>=d.length?null:Amc(d,e,d.length):Amc(d,e,mmc(d,Hmc(10),e))}function _Kb(a){if(YKb(NKb,a))return"es3";if(YKb(OKb,a))return"es5";if(YKb(QKb,a))return"es6";if(YKb(VKb,a))return"ntiSupported";
if(YKb(SKb,a))return"es7";if(YKb(UKb,a))return"es8";if(YKb(WKb,a))return"ts";throw CV(new llc(a.a.Fd()));}function pNb(){hNb();return vD(qD(_O,1),gDc,37,0,[kMb,lMb,mMb,pMb,qMb,sMb,tMb,uMb,vMb,AMb,BMb,CMb,DMb,GMb,HMb,OMb,UMb,XMb,YMb,ZMb,_Mb,bNb,cNb,dNb,eNb,fNb,nMb,oMb,wMb,xMb,yMb,FMb,WMb,EMb,IMb,LMb,QMb,RMb,SMb,TMb,VMb,gNb,PMb,$Mb,zMb,rMb,aNb,MMb,NMb])}function $z(a,b){var c,d;if(b>127)throw CV(new HA((c=b>>>0,TDc+c.toString(16))));d=a.e[b];if(d==-1)if(b<=32||b==127)throw CV(new HA((c=b>>>0,TDc+c.toString(16))));
else throw CV(new HA("Unrecognized character: "+String.fromCharCode(b)));return d}function Z$(a,b,c,d,e){var f,g;f=e==2;f&&r$(a.c,"(");U$(a,b.j==(w7b(),G5b)&&e2b(b,61)!=0?xFc:GCc);if(e2b(b,59)!=0){r$(a.c,"*");c.qi().length==0||a.c.vg()}a.Ag(c,4);g=g2b(c,81);!!g&&a.Ag(g,4);a.Ag(c.d,4);g_(a,b);a.Ag(d,4);a.c.og(e==0);f&&r$(a.c,")")}function Pnb(a,b,c){var d,e,f,g,h;for(e=(!c.b?(msc(),msc(),lsc):new Z3b(c.b)).Pd();e.Jd();){d=e.Kd();h=d.b;Zd(d.j==(w7b(),_6b)&&(h.j==$6b||h.j==C5b));f=d.qi();imc(f.substr(0,
2),PFc)&&(f=f.substr(2));g=h.j==$6b?b+(""+h.qi()):DIc;Gnc(a.b,b+(""+f),g)}}function bHb(a,b){var c,d,e,f,g;g=nFb(a.a,(w7b(),k7b),GFb(a.a,b.a));c=mFb(a.a,U4b);f=false;d=b.b;if(d){p3b(c.i)==-1&&DFb(c,d.o.b,d.o.a);f=true;R1b(c,FFb(a.a,d))}R1b(g,c);e=b.c;!!e&&R1b(g,GFb(a.a,e));!f&&!!e&&p3b(c.i)==-1&&DFb(c,e.o.b,e.o.a);return g}function UW(a,b,c){var d,e,f,g,h,i;gX(a,(bMb(),rLb),b);DX((w7b(),a5b),b);g=y7b(b.j);g!=-1&&(e=b2b(b),g!=e&&cY(tEc+g+uEc+e,b));h=b.b;h.j==r5b?(f=b2b(h),0!=f&&cY(rEc+f,h)):wX(h);
i=h.d;i.j==r5b?(d=b2b(i),0!=d&&cY(rEc+d,i)):fX(a,i);WW(a,b.b?b.b.f:null,c)}function b0b(a,b){if(!a&&!b)return true;if(!a&&!!b||!!a&&!b)return false;if(a.d==null&&b.d!=null||a.d!=null&&b.d==null)return false;return(a.d==null&&b.d==null||a.d.ri(b.d,false,true,false,false))&&a.f==b.f&&a.e==b.e&&a.c==b.c&&a.b==b.b&&a.a==b.a}function dac(a,b,c,d){var e,f,g,h;for(h=E9b(b).a.keySet().Pd();h.Jd();){g=h.Kd();f=b.ij(g);if(!(a.Mi()||a.Ki()||a.Li()||tec(a.B,(dec(),rdc))==a||a.ai()||!!a.kj(g))){if(f.Ii())continue;
return false}e=a.ij(g);if(!e.Si(f,c,d))return false}return true}function c1(a,b){switch(b.f){case 0:return SEb(),MEb;case 1:case 2:return SEb(),NEb;case 3:return SEb(),OEb;case 4:return SEb(),REb;case 5:return SEb(),PEb;case 6:case 7:return SEb(),QEb;default:throw CV(new llc("Unexpected language mode: "+a.M.Ub));}}function cfb(){cfb=bW;bfb=new s6("JSC_IMPLICITLY_NULLABLE_JSDOC",(pZ(),nZ),new xnc("Name {0} in JSDoc is implicitly nullable, and is discouraged by the style guide.\nPlease add a '!' to make it non-nullable, or a '?' to make it explicitly nullable."))}
function sjb(a){Lib();switch(a.f){case 61:case 62:case 1:case 2:case 3:case 4:case 5:case 36:case 37:case 6:case 8:case 7:case 9:case 41:case 40:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:return true;default:return false}}function Zkb(a,b){var c,d,e;switch(b.j.f){case 91:if(!b.b){c=fjb(b);d=c3b(new g4b((w7b(),o6b),c),b);R1b(b,d);Ykb(a,wIc,b)}break;case 118:if(b.e.j==(w7b(),C6b)){e=c3b(RZb(b.b.qi()),b);H2b(b.e,b,e);R1b(e,b);Ykb(a,wIc,b)}break;default:throw CV(new klc);
}}function svb(a,b,c){var d,e,f;f="/".length;imc(c.substr(c.length-f,f),"/")&&(c=Amc(c,0,c.length-1));for(d=0;d<mvb.length;d++){e=uub(a,b,c+(""+mvb[d]));if(e!=null)if(imc(mvb[d],EIc)){if(jp(a.b,e))return qvb(a,b,kp(a.b,e))}else return e}return null}function kJb(a){switch(a){case 64:case 42:case 44:case 60:case 62:case 58:case 40:case 41:case 123:case 125:case 91:case 93:case 63:case 33:case 124:case 61:case -1:case 10:return false;default:return D7b(),!(a<=127?a==32||a==9||a==12||a==11:a==160)}}function Vkc(a){if(a.Cj()){var b=
a.c;b.Dj()?a.p="["+b.o:!b.Cj()?a.p="[L"+b.Hg()+";":a.p="["+b.Hg();a.b=b.Aj()+"[]";a.n=b.Bj()+"[]";return}var c=a.j;var d=a.d;d=d.split("/");a.p=Ykc(".",[c,Ykc("$",d)]);a.b=Ykc(".",[c,Ykc(".",d)]);a.n=d[d.length-1]}function aZ(){aZ=bW;_Y=new s6("JSC_UNDEFINED_NAME",(pZ(),oZ),new xnc("{0} is never defined"));new s6("JSC_NAME_DEFINED_LATE",oZ,new xnc("{0} defined before its owner. {1} is defined at {2}:{3}"));$Y=new s6("JSC_STRICT_MODULE_DEP_QNAME",nZ,new xnc(IEc))}function Tsb(a,b){var c,d,e;c=(Lib(),
d=Yib(b),!d?null:g2b(d,29));if(!c&&b.j!=(w7b(),G5b))return"";e=b.k;return!e?"":e.Wh()?Rsb(a,b):e.Uh()?"/** @enum {"+e.hi().Bh().Tj()+"} */\n":!e.ai()&&!e.Sh()&&!e.bi()&&!e.$h()?"/** @type {"+b.k.ei(0)+"} */\n":""}function GJb(a,b){if(b.j!=(w7b(),o6b)&&b.j!=$6b){a.a.lh(VJc+t4b(jKc,vD(qD(lT,1),bDc,1,5,[HCc])),a.b.Hg(),a.d,a.c);return false}if(b.qi().length==0){a.a.lh(VJc+t4b(jKc,vD(qD(lT,1),bDc,1,5,["string parameter"])),a.b.Hg(),a.d,a.c);return false}return true}function aRb(a){BQb(a);while(AQb(a,
a.d)&&(AQb(a,a.d)?dmc(a.e.a,a.d):0)!=93&&!lRb(AQb(a,a.d)?dmc(a.e.a,a.d):0))if(!bRb(a))return false;if((AQb(a,a.d)?dmc(a.e.a,a.d):0)!=93){IQb(a,"']' expected",vD(qD(lT,1),bDc,1,5,[]));return false}BQb(a);return true}function QX(a,b){var c,d,e,f;DX((w7b(),U6b),b);f=(d=g2b(b,51),!d?null:d.Hg());!f&&cY("Missing 'source name' annotation.",b);e=g2b(b,53);!e&&cY("Missing 'input id' annotation.",b);if(!!b.b&&b.b.j==m6b){c=b2b(b);1!=c&&cY(xEc+c,b);vX(a,b.b)}else TX(a,b.b)}function iib(a,b,c){var d,e,f,g,h;
d=a.f;a.f=b;a.e=b;if(a.a.Yf(a,b,c)){e=b.b;f=!!c&&(Lib(),b.j==(w7b(),G5b)&&zjb(b.e)&&b.j==G5b&&Ujb(b.b));f&&uib(a,e,b);a.e=b;nib(a,b);f||uib(a,e,b);g=e.d;h=g.d;uib(a,g,b);uib(a,h,b);mib(a,false);a.e=b;a.a.Zf(a,b,c)}a.f=d}function YGb(a,b){var c,d,e,f,g,h;f=b.a;g=nFb(a.a,(w7b(),Z4b),FFb(a.a,f));c=mFb(a.a,U4b);h=G2b(c,c.g,39);h!=c.g&&(c.g=h);c.g=new K3b(39,1,c.g);p3b(c.i)==-1&&DFb(c,b.o.b,b.o.a);if(b.b)for(e=b.b.Pd();e.Jd();){d=e.Kd();R1b(c,FFb(a.a,d))}R1b(g,c);return g}function zOb(a){var b,c,d,e;e=
GQb(a.g,0).b.b;b=JPb(a);if(QPb(a,(xTb(),aTb))){b.p==(gXb(),ZWb)&&hQb(a,"Unary operator '%s' requires parentheses before '**'",vD(qD(lT,1),bDc,1,5,[b.b]));c=PNb(a);d=zOb(a);return new OTb(new SXb(e,a.f),b,c,d)}else return b}function $Qb(a){if(!nRb(AQb(a,a.d)?dmc(a.e.a,a.d):0)){IQb(a,"Expected regular expression first char",vD(qD(lT,1),bDc,1,5,[]));return false}if(!_Qb(a))return false;while(AQb(a,a.d)&&mRb(AQb(a,a.d)?dmc(a.e.a,a.d):0))if(!_Qb(a))return false;return true}function lYb(a,b){var c,d,e,
f;e=new $mc;e.a+="0";if(a.b.n>0){e.a+=".";f=sD(rE,OCc,45,a.b.n,15,1);vrc(f,f.length,48);e.a+=Nmc(f,0,f.length)}e.a+="E+00";c=fW(a.a);Wmc(b,smc(c,69,101));if(a.b.i&&a.b.n==0){d=b.a.indexOf("e");b.a=Amc(b.a,0,d)+"."+zmc(b.a,d)}}function ryb(a){if(0==a.Fh()||-1==a.Fh()||ICc==a.Fh()||a.Fh()==64||a.Fh()==128||a.Fh()==32||a.Fh()==256||(a.Fh()&-25)==0&&(a.Fh()&24)!=0||a.Fh()==1||a.Fh()==4&&a.Ch().size()==1||512==a.Fh()||mHc==a.Fh())return false;return!(a.Fh()==2&&a.Ih().size()==1)}function H0b(a,b){if(!!b&&
!((a.a.a&2)!=0||R$b(a.a)||(a.a.a&aIc)!=0||C$b(a.a)>0||(a.a.a&wGc)==HDc||M$b(a.a)||x$b(a.a)>0||z$b(a.a)!=null||!!a.a.g||(a.a.a&wGc)==xGc||(a.a.a&wGc)==LCc||(a.a.a&wGc)==OHc)){A_b(a.a,b,OHc);a.e=true;return true}else return false}function y1b(a,b){if(!!b&&!((a.a.a&2)!=0||R$b(a.a)||(a.a.a&aIc)!=0||C$b(a.a)>0||(a.a.a&wGc)==HDc||M$b(a.a)||x$b(a.a)>0||z$b(a.a)!=null||!!a.a.g||(a.a.a&wGc)==xGc||(a.a.a&wGc)==LCc||(a.a.a&wGc)==OHc)){A_b(a.a,b,xGc);a.e=true;return true}else return false}function Qqb(a,b,c,
d){Pqb();var e,f,g,h,i,j,k,l;if(YKb(s4(a.M.Ub),c))for(k=(!b.b?(msc(),msc(),lsc):new Z3b(b.b)).Pd();k.Jd();){j=k.Kd();i=g2b(j,89);if(!!i&&!YKb((XKb(),OKb),i))for(f=d,g=0,h=f.length;g<h;++g){e=f[g];l=new yib(a,e,new nbb(a));tib(l,j)}}}function iBb(a,b,c){var d,e,f,g;c.li()&&(b.a+="!",b);null.Tj();if(a.b.d.d.isEmpty())return b;g=null.Uj;Zd(a.b.cf().containsAll(g));e=true;b.a+="<";for(null.Tj();null.Tj();){f=null.Tj();e?e=false:(b.a+=",",b);d=kp(a.b,f);byb(Td(d),b,c)}b.a+=">";return b}function e$(){e$=
bW;new s6("JSC_REFLECT_OBJECTLIT_EXPECTED",(pZ(),oZ),new xnc("Object literal expected as second argument"));uZb((ce(lmc(MEc,Hmc(46))==-1,NEc,MEc),new g4b((w7b(),o6b),MEc)),new g4b($6b,"reflect"),vD(qD(SR,1),OEc,7,0,[new g4b($6b,"cache")]))}function vCb(a){var b,c,d,e,f;d=a;for(c=new coc((new Wnc(a.a)).a);c.b;){b=boc(c);f=b.de().d;e=f.Fh()==2&&f.Ih().size()==1?Ps(f.Ih().Pd()):null;!!e&&!(!null.Tj()&&!null.Tj()&&!null.Tj())&&!e.c&&(d=dBb(d,b.ce(),new JCb(null,Eyb(f),null,(UCb(),TCb))))}return d}function eHb(a,
b){var c,d;d=$Fb(b.b.c);c=FFb(a.a,b.a);if(d==(w7b(),t6b)&&c.j==z6b){c.ti(-c.pi());return c}else{d==m5b&&!(c.j==M5b||c.j==L5b||c.j==o6b)&&a.a.d.kh("Invalid delete operand. Only properties can be deleted.",a.a.r,p3b(c.i),0);return nFb(a.a,d,c)}}function mPb(a,b){var c;if(PPb(a,0,(xTb(),ESb))||PPb(a,0,CSb))c=kPb(a,b);else{c=XOb(a);ETb(c)||hQb(a,UKc,vD(qD(lT,1),bDc,1,5,[]));b==0&&c.p!=(gXb(),jWb)&&hQb(a,"Only an identifier or destructuring pattern is allowed here.",vD(qD(lT,1),bDc,1,5,[]))}return c}function Psb(a,
b){var c,d,e,f,g;e=new qAc;for(d=b.zh().Pd();d.Jd();){c=d.Kd();oAc(e,c.ei(1))}for(g=e.a.keySet().Pd();g.Jd();){f=g.Kd();a.a+=UIc;Wmc(Wmc(Wmc(Wmc((a.a+="@",a),gFc)," {"),f),"}");a.a+=YDc}b._h()?(a.a+=" * @record\n",a):(a.a+=" * @interface\n",a)}function tub(a,b){var c,d,e,f;f=(ivb(),c=tmc(tmc(tmc(tmc(tmc(smc(smc(b,58,45),92,47)," ",aHc),"[",bHc),"]",cHc),"<",dHc),">",eHc),jvb(c));Hub();if(imc(b.substr(0,2),PFc)||imc(b.substr(0,3),WIc)){e=a;d=e.lastIndexOf("/");f=jvb(e.substr(0,d+1)+(""+f))}return f}
function m3b(a,b,c,d,e){Kd(!b.e);Kd(!b.d);Kd(!b.f);Kd(!c.e);Kd(!c.d);Kd(!c.f);Kd(!d.e);Kd(!d.d);Kd(!d.f);Kd(!e.e);Kd(!e.d);Kd(!e.f);this.j=a;this.e=null;this.b=b;b.d=c;b.f=e;b.e=this;c.d=d;c.f=b;c.e=this;d.d=e;d.f=c;d.e=this;e.d=null;e.f=d;e.e=this;this.i=-1}function Ou(a,b){var c,d,e;if(oE(b)===oE(Td(a)))return true;if(!iE(b,46))return false;d=b;e=a.size();if(e!=d.size())return false;if(iE(d,67)){for(c=0;c<e;c++)if(!Fd(a.getAtIndex(c),d.getAtIndex(c)))return false;return true}else return Ls(a.Pd(),
d.Pd())}function DNb(a){var b,c;c=GQb(a.g,0).c;if(hwc(dwc((xTb(),fSb),vD(qD(jP,1),gDc,12,0,[oTb,PRb,tSb,uSb])),c)||!a.b.c&&mNb(c))return ENb(a);else{fQb(a,GQb(a.g,0),QKc,vD(qD(lT,1),bDc,1,5,[fSb]));return b=GQb(a.g,0).c,fSb==b||(hNb(),hNb(),!!kp(KMb,b))?ENb(a):null}}function Xyc(a){Uyc();var b,c,d;if(imc(sLc,a))d="rhino/Messages.properties";else if(imc(hKc,a))d="parsing/ParserConfig.properties";else throw CV(new yC("ResourceBundle not available: "+a));b=Dnc(Tyc,d);if(!b){c=YYb(d);b=new Wyc(TYb(c));
Gnc(Tyc,d,b)}return b}function zmb(a,b){var c,d,e,f;if(xjb(b)&&b.j!=(w7b(),b6b)&&b.j!=(w7b(),d7b))for(d=b.b;d;d=d.d)if(yjb(b,d)&&d.j!=(w7b(),U4b)){e=c3b((c=new g3b((w7b(),U4b)),c),b);H2b(b,d,e);f=G2b(e,e.g,39);f!=e.g&&(e.g=f);e.g=new K3b(39,1,e.g);d.j==r5b||V1b(e,d);d=e;Cmb(a)}}function jn(a){var b,c,d,e,f,g,h;if(a.d==0)return sn(),rn;b=new jr((g=a.f,!g?a.f=new aj(a,a.c):g).size());h=0;for(d=(f=a.f,Vi(!f?a.f=new aj(a,a.c):f)).Pd();d.Jd();){c=d.Kd();e=$n(c.de());if(!e.isEmpty()){fr(b,c.ce(),e);h+=
e.size()}}return new gn(Wo(b.b),h)}function J9(a,b,c){var d,e,f,g,h;d=E9++;g=oZb(dab(a,cZb(Y1b(b,false),dab(a,new P3b(d)))));h=oZb(dab(a,cZb(dab(a,(ce(lmc(qHc,Hmc(46))==-1,NEc,qHc),new g4b((w7b(),o6b),qHc))),dab(a,new P3b(c)))));f=P9(a,d);e=fZb(vD(qD(SR,1),OEc,7,0,[g,h,jab()]));R1b(e,f);return e}function r0b(a,b,c,d,e){var f,g,h;if(a.b){h=new __b;Ld((qCc(0,b.length),b.charCodeAt(0)!=32&&dmc(b,b.length-1)!=32),kLc);h.d=b;V_b(h,d,e,d,e+b.length);g=new X_b;f=new h4b((w7b(),o6b),b,d,e);P2b(f,b.length);
!!c&&W2b(f,c);g.d=f;V_b(g,d,e,d,e+b.length);R_b(a.b,g)}}function ntb(a,b){var c;c=a.b.n;if(!c)return;Icb(new Jcb(a.b),b);if(!_x(a.b.n,c)){L1(a.b,new ofb(null,null,-1,-1,jtb,null,vD(qD(qT,1),NCc,2,6,[c.Fd(),a.b.n.Fd()])));throw CV(new llc("Validity Check failed: Extern properties changed from:\n"+c+"\nto:\n"+a.b.n));}}function xOb(a){var b,c,d,e,f;d=JNb(a,GQb(a.g,0).b.b);b=null;e=(Sn(),new ar);while(f=GQb(a.g,0).c,hwc(dwc((xTb(),fSb),vD(qD(jP,1),gDc,12,0,[oTb,PRb,tSb,uSb])),f)||!a.b.c&&mNb(f)){c=OOb(a).a;
b=new kXb(d,c,null);Aqc(e.a,Td(b));QPb(a,HRb)||CNb(a,LRb)}return $n(e.a)}function rdb(a,b,c,d,e){var f,g,h,i,j;if(tdb(a,b,c,d))return;i=mdb(a,d,e);j=new Ndb(b,(h=(Wdb(),Vdb),++a.a.b,h));ydb(i,j);if(c.j==(w7b(),B4b)&&c.e.j!=B5b){f=new Ndb(b,(g=Pdb,++a.a.b,g));ydb(i,f);Kd((j.b==Pdb||f.b==Pdb)&&(j.b==Udb||j.b==Vdb||f.b==Udb||f.b==Vdb))}}function Pwb(a){var b,c,d,e;b=new Xxb(a.a);for(e=new grc(a.f);e.a<e.c.a.length;){c=erc(e);Sxb(b,!c?a.a.G:c)}for(d=new grc(a.d);d.a<d.c.a.length;){c=erc(d);Pxb(b,!c?a.a.G:
c)}Txb(b,a.g);Uxb(b,!a.i?a.a.G:a.i);Oxb(b,a.c);Rxb(b,a.e);Vxb(b,a.j);Mxb(b,a.b);return Wxb(b)}function Uwb(a){var b,c,d,e,f;f=false;for(e=a.Pd();e.Jd();){e.Kd();if(null.Tj(new $Cb((bBb(),bBb(),aBb)))){f=true;break}}if(!f)return a;b=(vn(),new Or);for(d=a.Pd();d.Jd();){c=d.Kd();null.Tj(new $Cb((bBb(),bBb(),aBb)))||(Aqc(b.a,Td(c)),b)}return Dp(new grc(b.a))}function rzb(a,b,c,d,e){ayb();Td(e).isEmpty()?b&=-5:b|=4;Td(c).isEmpty()?b&=-3:b|=2;if(c.isEmpty()&&e.isEmpty()&&d==null&&(b&1)==0)return qzb(a,
b);if(!gzb(c))return a.b;if(b==2)return new Vzb(a,c);if(b==34)return new Qzb(a,c);return new aAb(a,b,c,d,e)}function oyb(a,b){var c,d,e,f;f=b;c=(e=a.Fh()==2&&a.Ih().size()==1?Ps(a.Ih().Pd()):null,!e?null:e.b);if(!!c&&!c.n.a.isEmpty())return FAb(kxb(c,f));d=a.Fh()==2&&a.Ih().size()==1?Ps(a.Ih().Pd()).d:null;if(!null.Tj()&&d.b.d.d.isEmpty())return oBb(tBb(d,f));return a}function hIb(a,b,c){var d,e,f,g;f=eIb(a,c);if(!f)return null;g=(d=new g3b((w7b(),U4b)),d);e=1;R1b(g,f);while(JHb(a,(YIb(),GIb))){!a.n?
dJb(a.i):BHb(a);pIb(a);f=eIb(a,!a.n?dJb(a.i):BHb(a));if(!f)return null;++e;R1b(g,f)}imc(b,XGc)&&e==1&&S1b(g,LHb(a,M6b));return g}function uvb(a){var b,c,d,e,f,g,h;g=new sAc(new xvb);for(d=a.Pd();d.Jd();){c=d.Kd();e=wmc(c,"/node_modules/",0);f="";for(b=0;b<e.length-1;b++){b+1<e.length&&(f+=e[b]+"/");g.a.put(f,(gkc(),ekc))==null;f+=YIc}}return qs(),h=g.a.pf(),!h&&(h=ps),us(h,g.a.keySet().Pd())}function aAb(a,b,c,d,e){Fyb.call(this,a);this.a=Td(e);this.c=Td(c);d!=null&&(b|=1);this.d=d;this.b=b;if(!syb(this))throw CV(new llc(wYb("Cannot create type with bits <<<%x>>>, objs <<<%s>>>, typeVar <<<%s>>>, enums <<<%s>>>",
vD(qD(lT,1),bDc,1,5,[Blc(b),c,d,e]))));}function cKb(a,b){var c,d;if(!CJb(a,b,(GKb(),EKb)))return false;d=(Pd(b.j==(w7b(),X4b),iKc,b),b2b(b)-1);for(c=0;c<d;c++)if(!_Jb(a,(Pd(b.j==X4b,iKc,b),a2b(b,c+1)))){a.a.lh(VJc+t4b(mKc,vD(qD(lT,1),bDc,1,5,["union type"])),a.b.Hg(),a.d,a.c);return false}return true}function Kjb(a){var b,c;c=a.e;b=!a.e?null:a.e.e;if(c.j==(w7b(),z4b))return true;if(c.j==_6b&&b.j==C6b)return true;if(c.j==C6b)return!(a.j==_6b&&!!a.b);if(c.j==e5b&&a==c.b.d)return Kjb(c);if(c.j==P6b)return Kjb(c);
if(c.j==l5b&&a==c.b)return Kjb(c);return false}function syb(a){if(ICc==a.b||-1==a.b)return true;if((a.b&2)!=0&&_zb(a).isEmpty())return false;if((a.b&2)==0&&!_zb(a).isEmpty())return false;if((a.b&4)!=0&&$zb(a).isEmpty())return false;if((a.b&4)==0&&!$zb(a).isEmpty())return false;return(a.b&1)!=0==(a.d!=null)}function myb(a){var b,c,d;d=a.Fh()==2&&a.Ih().size()==1?Ps(a.Ih().Pd()):null;if(!d?null:d.b)return Byb(a,wn((c=a.Fh()==2&&a.Ih().size()==1?Ps(a.Ih().Pd()):null,!c?null:c.b).n.a.cf()));b=a.Fh()==
2&&a.Ih().size()==1?Ps(a.Ih().Pd()).d:null;Ud(b,a);return Byb(a,null.Uj)}function rCc(a,b){var c,d,e,f;a=a;c=new _mc;f=0;d=0;while(d<b.length){e=a.indexOf("%s",f);if(e==-1)break;Wmc(c,a.substr(f,e-f));Vmc(c,b[d++]);f=e+2}Wmc(c,a.substr(f));if(d<b.length){c.a+=" [";Vmc(c,b[d++]);while(d<b.length){c.a+=$Cc;Vmc(c,b[d++])}c.a+="]"}return c.a}function $A(a,b){var c;if(b.i!=3)throw CV(new oC("Unknown version: "+b.i));c=b.b;if(c!=null&&c.length==0)throw CV(new oC("File entry is empty"));if(b.f){aB(a,b,null);
return}a.b=b.c;a.e=b.g;a.d=b.e;a.b>=0?a.c=new Mqc(a.b):a.c=new Lqc;zi(a.a,b.a);fB(new kB(a,b.d))}function Exb(a,b,c,d,e,f,g,h,i,j,k){var l;!b&&(b=(Sn(),Sn(),Rn));!c&&(c=(Sn(),Sn(),Rn));!h&&(h=(Io(),Io(),Ho));if(d)for(l=c.size()-1;l>=0;l--)if(dyb(d,c.getAtIndex(l)))c.removeAtIndex(l);else break;return new uxb(a,$n(b),$n(c),d,e,f,g,Qo(h),yd(i,(iDb(),hDb)),j,k)}function HJb(a){var b,c,d,e;c=new EEb(new Fwc,new Fwc,(SEb(),OEb),1);e=vJb(a.b,a.f,c,a.a);b=e.a;if(b.j!=(w7b(),U6b)||b.b.j!=B5b){a.a.lh(VJc+
t4b(kKc,vD(qD(lT,1),bDc,1,5,[lKc])),a.b.Hg(),a.d,a.c);return false}d=b.b.b;if(!_Jb(a,d))return false;DJb(a,d);a.e=d;return true}function ID(a){var b,c,d;c=a.l;if((c&c-1)!=0)return-1;d=a.m;if((d&d-1)!=0)return-1;b=a.h;if((b&b-1)!=0)return-1;if(b==0&&d==0&&c==0)return-1;if(b==0&&d==0&&c!=0)return xlc(c);if(b==0&&d!=0&&c==0)return xlc(d)+22;if(b!=0&&d==0&&c==0)return xlc(b)+44;return-1}function RX(a){var b,c,d;DX((w7b(),Y6b),a);c=y7b(a.j);c!=-1&&(b=b2b(a),c!=b&&cY(tEc+c+uEc+b,a));d=a.e;switch(d.j.f){case 28:case 23:a==
d.b&&cY("SPREAD node is not callable.",a);break;case 42:break;default:cY("SPREAD node should not be the child of a "+d.j+" node.",a)}}function Dwb(){Dwb=bW;Bwb=new s6("JSC_PRIMITIVE_OBJECT",(pZ(),oZ),new xnc("Explicit creation of a {0} object."));Cwb=new s6("JSC_PRIMITIVE_OBJECT_DECLARATION",oZ,new xnc("Declaration of {0} object instead of primitive type."));vn();Fp(vD(qD(lT,1),bDc,1,5,[TGc,VGc,bEc]))}function V_b(a,b,c,d,e){if(b>d)throw CV(new llc("Recorded bad position information\nstart-line: "+
b+YDc+"end-line: "+d));else if(b==d&&c>=e)throw CV(new llc("Recorded bad position information\nline: "+b+YDc+"start-char: "+c+YDc+"end-char: "+e));a.f=b;a.e=c;a.c=d;a.b=e}function Lfb(a){var b,c;new Qwc;this.a=sD(FL,bDc,291,a.a.length,0,1);for(c=0;c<this.a.length;++c){b=(iCc(c,a.a.length),a.a[c]);ce(b.c==-1,"Module index already set: %s",b);Nd(c>=0,"Invalid module index: %s",c);b.c=c;this.a[c]=b}this.b=Hfb(this);this.c=Jfb(this);Ifb(this)}function q4(){q4=bW;h4=new t4(ZFc,0);i4=new t4($Fc,1);j4=new t4("ECMASCRIPT5_STRICT",
2);l4=new t4("ECMASCRIPT_2015",3);k4=new t4("ECMASCRIPT6_TYPED",4);m4=new t4("ECMASCRIPT_2016",5);n4=new t4("ECMASCRIPT_2017",6);o4=new t4("ECMASCRIPT_NEXT",7);p4=new t4("NO_TRANSPILE",8)}function ndb(a,b){var c,d,e;if(!b)return Kdb(),Idb;switch(b.j.f){case 96:return Kdb(),Edb;case 43:return Kdb(),Hdb;case 65:return Kdb(),Fdb;case 61:return ndb(a,b.b?b.b.f:null);case 60:c=b.b.d;d=ndb(a,c);if(d!=(Kdb(),Idb))return d;e=c.d;return ndb(a,e)}return Kdb(),Idb}function _Hb(a,b){var c,d;c=false;if(b==(YIb(),
HIb)){b=!a.n?dJb(a.i):BHb(a);if(b==TIb){a.n=b;return rIb(a,(w7b(),q5b),new g3b(r5b))}c=true}d=eIb(a,b);if(d){pIb(a);if(c)d=rIb(a,(w7b(),q5b),d);else if(JHb(a,LIb)){!a.n?dJb(a.i):BHb(a);pIb(a);d=rIb(a,(w7b(),w5b),d)}}return d}function kX(a,b){var c,d,e;gX(a,(bMb(),MLb),b);DX((w7b(),S5b),b);d=y7b(b.j);d!=-1&&(c=b2b(b),d!=c&&cY(tEc+d+uEc+c,b));b.b.j==o6b?wX(b.b):DX(r5b,b.b);e=b.b.d;switch(e.j.f){case 105:mX(e);break;case 107:EX(e)&&e.qi().length==0&&cY(AEc,e);break;default:DX(r5b,e)}UX(a2b(b,2))}function hHb(a,
b){var c,d,e,f;switch(b.a.f){case 30:lFb(a.a,b,(bMb(),uLb));e=(w7b(),f5b);break;case 38:lFb(a.a,b,(bMb(),JLb));e=(w7b(),g6b);break;case 25:e=(w7b(),q7b);break;default:throw CV(new klc);}f=mFb(a.a,e);for(d=b.b.Pd();d.Jd();){c=d.Kd();R1b(f,HFb(a.a,c))}return f}function r$(a,b){var c;x$(a);if(b.length==0)return;c=(qCc(0,b.length),b.charCodeAt(0));(c==95||c==36||(nkc==null&&(nkc=new RegExp(ZCc,"i")),nkc.test(String.fromCharCode(c)))||c==92)&&K$(a.sg())?a.gg(" "):c==47&&a.sg()==47?a.gg(" "):(c==34||c==
39)&&K$(a.sg())&&a.vg();a.gg(b)}function efb(){efb=bW;dfb=new s6("JSC_J2CL_REFERENCE_EQUALITY",(pZ(),oZ),new xnc("Reference equality may not be used with the specified type: {0}"));Io();new Ux(vD(qD(RU,1),CDc,48,0,[(wm(VHc,WHc),new Pq(VHc,WHc)),(wm(XHc,YHc),new Pq(XHc,YHc)),(wm(ZHc,$Hc),new Pq(ZHc,$Hc))]))}function GOb(a,b,c){var d,e,f;!c&&(c=new nVb(JNb(a,GQb(a.g,0).b.b)));CNb(a,(xTb(),WSb));QPb(a,WSb)?e=new nVb(JNb(a,GQb(a.g,0).b.b)):e=QNb(a,1);CNb(a,WSb);QPb(a,IRb)?f=new nVb(JNb(a,GQb(a.g,0).b.b)):
f=QNb(a,1);CNb(a,IRb);d=xPb(a);return new AUb(new SXb(b,a.f),c,e,f,d)}function fGb(a,b,c,d){var e,f;if(d){switch(d.f){case 42:e=(h0b(),g0b);break;case 41:e=(h0b(),f0b);break;case 40:e=(h0b(),e0b);break;default:throw CV(new llc("Unexpected access modifier type"));}mGb(a,b,(bMb(),jLb));f=G2b(c,c.g,84);f!=c.g&&(c.g=f);!!e&&(c.g=new U3b(84,e,c.g))}}function QJb(a,b){if(!CJb(a,b,(GKb(),uKb)))return false;if((Pd(b.j==(w7b(),X4b),iKc,b),a2b(b,1)).j!=$6b){a.a.lh(VJc+t4b(jKc,vD(qD(lT,1),bDc,1,5,[ZGc])),a.b.Hg(),
a.d,a.c);fKb(a,uKb.d);return false}if(!_Jb(a,(Pd(b.j==X4b,iKc,b),a2b(b,2)))){fKb(a,uKb.d);return false}return true}function blb(a,b){var c,d,e,f;for(c=b.b;c;c=f){f=c.d;Lib();if(!!c&&(c.j==(w7b(),q7b)||c.j==g6b||c.j==f5b)){if(a.a&&!c.b)throw CV(new llc("Empty VAR node."));while(c.b!=(c.b?c.b.f:null)){d=c.b;D2b(c,d);e=c3b(new i3b(c.j,d),b);Q1b(b,e,c);Ykb(a,"VAR with multiple children",b)}}}}function eCb(a){var b,c,d,e,f,g;if(a.c||!null.Tj()&&!null.Tj())return a;b=!a.b?null:sxb(a.b);c=(bBb(),bBb(),aBb);
for(g=new coc((new Wnc(a.g.a)).a);g.b;){f=boc(g);d=f.ce();e=f.de();c=dBb(c,d,e.a==(UCb(),TCb)?e:new JCb(e.c,e.d,e.b,TCb))}return new fCb(a.a,a.d,c,b,null,true,a.f)}function $Fb(a){_Eb();switch(a.f){case 76:return w7b(),w6b;case 77:return w7b(),R4b;case 63:return w7b(),L6b;case 64:return w7b(),t6b;case 9:return w7b(),m5b;case 24:return w7b(),l7b;case 26:return w7b(),r7b;default:throw CV(new llc(!a?KCc:a.a==null?(hNb(),kp(KMb,a)).b:a.a));}}function OD(a){var b,c,d,e,f;if(isNaN(a))return bE(),aE;if(a<
-9223372036854775808)return bE(),$D;if(a>=0x7fffffffffffffff)return bE(),ZD;e=false;if(a<0){e=true;a=-a}d=0;if(a>=jEc){d=pE(a/jEc);a-=d*jEc}c=0;if(a>=iEc){c=pE(a/iEc);a-=c*iEc}b=pE(a);f=AD(b,c,d);e&&GD(f);return f}function Gxb(a,b){var c;if(!a)return null;c=a.Fh()==2&&a.Ih().size()==1?Ps(a.Ih().Pd()).d:null;if(!c)return zyb(a,b);if(null.Tj())return!null.Tj()&&!c.b.d.d.isEmpty()?Jyb(wCb(null.Uj,c,null,null,null,false,null.Uj)):null.Uj;if(b.isEmpty())return a;return Jyb(lCb(vBb(c,b)))}function e_(a,
b,c){var d,e,f,g,h,i;h=0;d=0;for(f=0;f<b.length;f++)switch(qCc(f,b.length),b.charCodeAt(f)){case 34:++d;break;case 39:++h}if(a.f?h<=d:h<d){g=39;e='"';i="\\'"}else{g=34;e='\\"';i="'"}return String.fromCharCode(g)+j_(a,b,e,i,"`",MCc,c,false)+String.fromCharCode(g)}function cCb(a,b,c,d,e,f){var g,h,i,j,k,l,m;for(k=(i=c.a.Xd().Pd(),new Hoc(i));k.a.Jd();){j=(g=k.a.Kd(),g.ce());l=new YCb(j);m=UBb(a,l);h=UBb(b,l);if(m.a==(UCb(),SCb)){if(!!h&&!Dyb(m.d,h.d,d,e,f))return false}else if(!h||h.a==SCb||!Dyb(m.d,
h.d,d,e,f))return false}return true}function sCb(a,b,c,d){var e,f,g,h,i,j;f=(bBb(),bBb(),aBb);for(h=oy(dy(new Boc(a),new Boc(b)));Ch(h);){g=Dh(h);i=mCb(a,c,g);j=mCb(b,d,g);e=null;!i?e=j.a==(UCb(),SCb)?j:new JCb(j.c,j.d,j.b,SCb):!j?e=i.a==(UCb(),SCb)?i:new JCb(i.c,i.d,i.b,SCb):e=MCb(i,j);f=dBb(f,g,e)}return f}function yjb(a,b){Lib();switch(a.j.f){case 71:return a.b==b;case 44:return a.b==b||(a.b?a.b.f:null)==b;case 72:case 73:case 101:case 70:case 83:case 77:case 78:return(a.b?a.b.f:null)==b;case 66:case 67:case 68:return a.b!=
b;case 69:return true;default:$d(xjb(a),a);return false}}function Znb(a,b){switch(_Kb(b)){case "ts":return Ynb(a,(q4(),k4));case "es8":return Ynb(a,(q4(),n4));case "es7":return Ynb(a,(q4(),m4));case "es6":case "es6-impl":return Ynb(a,(q4(),l4));case "es5":return Ynb(a,(q4(),i4));case "es3":return Ynb(a,(q4(),h4));default:return false}}function YB(a,b){var c,d,e,f,g,h,i;g=new gqc;for(d=new grc(a.c.e);d.a<d.c.a.length;){c=erc(d);while(g.b!=g.c&&!WB(g.a[g.b],c)){f=cqc(g);XB(a,b,f)}e=g.a[g.b];h=VB(a,
c.e);i=UB(a,c.e);Zd(a.b<h||a.a<=i);(a.b<h||a.b==h&&a.a<i)&&ZB(a,b,e,h,i);Ppc(g,c)}while(g.b!=g.c){c=cqc(g);XB(a,b,c)}}function ePb(a){var b,c,d,e;if(QPb(a,(xTb(),vSb)))if(PPb(a,1,JSb))return e=GQb(a.g,0).b.b,CNb(a,vSb),CNb(a,JSb),INb(a,"target"),new mVb(new SXb(e,a.f));else{d=GQb(a.g,0).b.b;CNb(a,vSb);c=ePb(a);b=null;QPb(a,DSb)&&(b=YNb(a));return new lVb(new SXb(d,a.f),c,b)}else return _Ob(a)}function mcb(a,b){var c,d,e,f;d=(b.b?b.b.f:null).qi();e=imc(d.substr(0,5),"goog:");if(e)return d.substr(5);
else{f=Tub(U2((!a.d&&!!a.g&&(a.d=_0(a.c,a.g)),a.d)),d,(c=g2b(b,51),!c?null:c.Hg()),p3b(b.i),o3b(b.i));!f&&(f=Uub(U2((!a.d&&!!a.g&&(a.d=_0(a.c,a.g)),a.d)),d));return lvb(f.a)}}function uub(a,b,c){var d,e,f,g,h;d=tub(b,c);f=d;Hub();!imc(d.substr(0,"/".length),"/")&&!(imc(d.substr(0,PFc.length),PFc)||imc(d.substr(0,WIc.length),WIc))&&(f="/"+d);if(a.d.contains(f))return d;for(h=a.e.Pd();h.Jd();){g=h.Kd();e=g+(""+f);if(a.d.contains(e))return d}return null}function sC(a,b){var c;if(a>=PCc&&a<=_Dc){c=(cCc(a>=
0&&a<=_Dc),a>=PCc?vD(qD(rE,1),OCc,45,15,[QCc+(a-PCc>>10&RCc)&SCc,TCc+(a-PCc&RCc)&SCc]):vD(qD(rE,1),OCc,45,15,[a&SCc]));sC(c[0],b);sC(c[1],b);return}Omc(Omc(Omc(Omc((b.a+="\\u",b),qC[a>>>12&15]),qC[a>>>8&15]),qC[a>>>4&15]),qC[a&15])}function Lab(a,b,c){var d,e,f,g;e=(b.b?b.b.f:null).qi();c.e.j==(w7b(),f5b)||L1(a.a.c,sfb(c.e,(Bab(),zab),vD(qD(qT,1),NCc,2,6,[])));if(c.j==C6b)for(d=c.b;d;d=d.d)!!d.b||R1b(d,c3b(FZb(d.qi()),d));f=d3b(hkb(a.a.c,e),b);H2b(c,b,f);g=c.e;Q1b(g.e,d3b(($d(BZb(b),b),new i3b(B5b,
b)),b),g)}function Wz(){Wz=bW;Vz=new rA("base64()",RDc,Bkc(61));new rA("base64Url()","ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",Bkc(61));new jA("base32()","ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",Bkc(61));new jA("base32Hex()","0123456789ABCDEFGHIJKLMNOPQRSTUV",Bkc(61));new oA}function glb(a,b){var c,d;$d(a.j==(w7b(),G5b),a);Lib();if(a.j==G5b&&zjb(a.e)&&a.j==G5b&&Ujb(a.b)&&!Fjb(a)){dlb(a,b);return true}else if(a.j==G5b&&(Ld(a.j==G5b,a),a.b?a.b.f:null).j!=U4b){d=(Ld(a.j==G5b,a),a.b?
a.b.f:null);c=eZb(NZb($1b(d)));f3b(c,d);R1b(a,c);J1(b,V0(c));x1(b)}return false}function Mlb(a){var b,c,d,e,f;f=new xwc;for(d=new grc(a.w);d.a<d.c.a.length;){c=erc(d);e=c.j;b=e==null?Ii(Xwc(f.d,null)):nxc(f.e,e);if(!b){b=new Xlb(e,c.i);e==null?Ywc(f.d,null,b):oxc(f.e,e,b)}b.n=DV(b.n,c.n);b.a=$wnd.Math.max(b.a,c.a);++b.k;b.d+=c.d;b.b+=c.b;b.e+=c.e;b.f+=c.f}a.I=Qo(f)}function sYb(a){var b,c,d;if(!iE(a.a,215))return null;c=a.a;b=flc(c);d=null;if(isNaN(b))d="NaN";else if(b==Infinity)a.b.d?d="+Infinity":
a.b.j?d=" Infinity":d=pIc;else if(b==-Infinity)a.b.g?d="(Infinity)":d="-Infinity";else return null;a.b.n=-1;a.b.k=false;return iYb(a,d,0)}function cX(a,b,c){var d;DX((w7b(),y5b),b);if(e2b(b,64)!=0){d=b2b(b);2!=d&&cY(sEc+d,b);DX(r5b,b.b);UX(b.b.d)}else if(e2b(b,63)!=0){d=b2b(b);1!=d&&cY(xEc+d,b);fX(a,b.b)}else{d=b2b(b);(d<1||d>2)&&cY(yEc+d,b);b.b.j==A5b?eX(b.b):SX(a,b.b,c);!!b.b&&!!b.b.d&&b.b.d==(b.b?b.b.f:null)&&UX(b.b.d)}}function RJb(a,b){if(!CJb(a,b,(GKb(),vKb)))return false;if((Pd(b.j==(w7b(),
X4b),iKc,b),a2b(b,1)).j!=$6b){a.a.lh(VJc+t4b(jKc,vD(qD(lT,1),bDc,1,5,["property name"])),a.b.Hg(),a.d,a.c);fKb(a,vKb.d);return false}if(!_Jb(a,(Pd(b.j==X4b,iKc,b),a2b(b,2)))){fKb(a,vKb.d);return false}return true}function zCc(a){var b,c,d,e;b=0;d=a.length;e=d-4;c=0;while(c<e){b=(qCc(c+3,a.length),a.charCodeAt(c+3)+(qCc(c+2,a.length),31*(a.charCodeAt(c+2)+(qCc(c+1,a.length),31*(a.charCodeAt(c+1)+(qCc(c,a.length),31*(a.charCodeAt(c)+31*b)))))));b=b|0;c+=4}while(c<d)b=b*31+dmc(a,c++);b=b|0;return b}
function Kkb(a,b,c){var d,e,f,g,h;zib(a.b,c,new llb(a));Aib(a.b,new clb(a.b,a.a),b,c);f=new plb;g=new obb(a.b,new Pkb(a));h=new yib(a.b,f,g);xib(h,b,c);e=new Cgb;Aib(a.b,e,b,c);hlb(new ilb(a.b,a.a),b,c);d=new Rkb;zib(a.b,c,d);d.a.a.size()==0||zib(a.b,c,new nlb(a,d.a));lW(a.b._)||(a.b._=1)}function Bd(a){var b,c,d,e,f,g,h;f=a.d;d="";c=Pmc(Wmc(new _mc,a.a),123);for(h=a.b.b;h;h=h.b){g=h.c;if(!f||g!=null){c.a+=d;d=$Cc;h.a!=null&&Pmc(Wmc(c,h.a),61);if(g!=null&&(yb(g).i&4)!=0){e=vD(qD(lT,1),bDc,1,5,[g]);
b=prc(e,new Fwc);Umc(c,b,1,b.length-1)}else c.a+=""+g}}return(c.a+="}",c).a}function D0(){D0=bW;new s6("JSC_UNSAFE_NAMESPACE",(pZ(),oZ),new xnc("incomplete alias created for namespace {0}"));C0=new s6("JSC_NAMESPACE_REDEFINED",oZ,new xnc("namespace {0} should not be redefined"));new s6("JSC_UNSAFE_THIS",oZ,new xnc("dangerous use of ''this'' in static method {0}"))}function Oub(a,b){Hub();var c,d,e,f;e=a;!imc(e.substr(0,"/".length),"/")&&!(imc(e.substr(0,PFc.length),PFc)||imc(e.substr(0,WIc.length),
WIc))&&(e="/"+e);for(d=b.Pd();d.Jd();){c=d.Kd();if(imc(e.substr(0,c.length),c)){f=zmc(e,c.length);if(imc(f.substr(0,1),"/"))return f.substr(1)}}return a}function UOb(a){var b,c,d,e,f,g;e=GQb(a.g,0).b.b;CNb(a,(xTb(),lSb));d=DNb(a);c=MNb(a);f=(Sn(),new ar);if(QPb(a,_Rb)){CNb(a,_Rb);g=DPb(a);Aqc(f.a,Td(g));while(QPb(a,LRb)){CNb(a,LRb);g=DPb(a);!!g&&(Aqc(f.a,Td(g)),f)}}CNb(a,CSb);b=WOb(a);CNb(a,HRb);return new cVb(new SXb(e,a.f),d,c,$n(f.a),b)}function rbc(a,b,c){var d,e,f,g,h;e=null;if(e9b(a.c,b.c,0,
new Kcc(true)))e=a.c.a;else return null;f=c?a.c.b.Di(b.c.b):a.c.b.Ci(b.c.b);h=null;if(o8b(a.o,b.o))h=a.o;else{d=c?a.o.Di(b.o):a.o.Ci(b.o);h=d}g=a.c.c||b.c.c;return new sbc(a.B,null,null,new k9b(a.B,e,f,g),h,null,false,false,false)}function Fp(a){vn();var b,c,d,e,f,g;g=new jyc;nsc(g,a);for(c=(f=(new Boc(g.a)).a.Xd().Pd(),new Hoc(f));c.a.Jd();){b=(d=c.a.Kd(),d.ce());Td(b)}switch(g.a.size()){case 0:return Wx(),Vx;case 1:return new Py((e=(new Boc(g.a)).a.Xd().Pd(),d=(new Hoc(e)).a.Kd(),d.ce()));default:return new Xx(g)}}
function PGb(a,b){var c,d;if(!b)return rFb(a.a,(w7b(),o6b),SJc);else if(b.c==(xTb(),fSb))d=LGb(a,b,true);else if(b.c==ASb){d=IFb(a.a,b);c=G2b(d,d.g,36);c!=d.g&&(d.g=c);d.g=new K3b(36,1,d.g)}else{d=WGb(a,b);c=G2b(d,d.g,36);c!=d.g&&(d.g=c);d.g=new K3b(36,1,d.g)}Zd(d.j==(w7b(),$6b));return d}function rGb(a,b){var c,d,e,f,g,h;h=mFb(a.a,(w7b(),U6b));for(d=b.b.Pd();d.Jd();){c=d.Kd();R1b(h,FFb(a.a,c))}nGb(h);e=eGb(h);if(e||ZKb(a.a.e,(bMb(),MLb))){f=mFb(a.a,m6b);p3b(f.i)==-1&&DFb(f,b.o.b,b.o.a);U1b(f,E2b(h));
R1b(h,f);e&&(g=G2b(h,h.g,87),g!=h.g&&(h.g=g),h.g=new K3b(87,1,h.g))}return h}function oHb(a,b,c){var d,e,f;for(f=Tn(new zv(Td(c)),0);f.b<f.c;){e=xh(f).a;switch(e){case 103:case 105:case 109:break;case 117:case 121:d=e==117?(bMb(),RLb):(bMb(),SLb);lFb(a.a,b,d);break;default:a.a.d.kh("Invalid RegExp flag '"+String.fromCharCode(e)+"'",a.a.r,(_Eb(),b.o.b.b+1),b.o.b.a)}}}function OPb(a,b){var c,d,e,f;f=GQb(a.g,0).b.b;CNb(a,(xTb(),wTb));d=false;c=null;e=GQb(a.g,0).b.b.b>a.f.b;if(!(e||PPb(a,0,WSb)||PPb(a,
0,HRb)||PPb(a,0,URb))){d=!!GNb(a,$Sb);VPb(a)?c=bOb(a,b):d&&hQb(a,"yield* requires an expression",vD(qD(lT,1),bDc,1,5,[]))}return new KXb(new SXb(f,a.f),d,c)}function WPb(b){var c;if(b.b.d&&QPb(b,(xTb(),DSb))||QPb(b,(xTb(),BSb))){c=new lQb(b.b,new LXb,b.g.e,xQb(b.g),oE(Zpc(b.e))===oE((sQb(),qQb)));try{MNb(c);HOb(c,2);QPb(c,(xTb(),KRb))&&(CNb(c,KRb),DPb(c));return QPb(c,wRb)}catch(a){a=BV(a);if(iE(a,370))return false;else throw CV(a);}}return false}function e9b(a,b,c,d){var e,f,g,h;g=a.a.b;e=b.a.b;
while(!!g&&!!e){h=iE(g.k,23)?g.k:null;f=iE(e.k,23)?e.k:null;if(h){if(!!f&&!O7b(h,f,c,d))return false}else if(f)return false;if(e2b(g,37)!=0!=(e2b(e,37)!=0))return false;if(e2b(g,30)!=0!=(e2b(e,30)!=0))return false;g=g.d;e=e.d}return g==e}function m8(a,b,c,d){var e,f,g,h;Zd(c.j==(w7b(),G5b));g=G2b(c,c.g,60);g!=c.g&&(c.g=g);f=G2b(c,c.g,85);f!=c.g&&(c.g=f);c.g=new K3b(85,1,c.g);e=c.b?c.b.f:null;if(e.j!=U4b){Td(e.e);D2b(e.e,e);e=f3b(eZb((Zd(BZb(e)),new i3b(R6b,e))),e);R1b(c,e)}h=new s8;zib(a.a,e,h);d.d=
d.d||h.b;d.c=d.c||h.a;qib(b)}function Oib(a,b,c){Lib();var d;switch(a.j.f){case 102:case 28:case 23:return true;case 29:return!wjb(a,c)&&!b.contains(a.qi());case 26:case 27:return true;case 65:$d(!(a.j==(w7b(),G5b)&&zjb(a.e)&&a.j==G5b&&Ujb(a.b)),a);return false}for(d=a.b;d;d=d.d)if(Oib(d,b,c))return true;return false}function Lub(a,b,c,d,e){Hub();Td(a);Td(b);Td(c);this.e=c;this.a=new Xub;this.d=Nub(a);this.b=Pub(Cs(Cs(b,Gub),c),this.d);switch(d.f){case 0:this.c=new xub(this.b,this.d,this.a);break;
case 1:this.c=new tvb(this.b,this.d,e,this.a);break;default:throw CV(new yC("Unexpected resolution mode "+d));}}function pPb(a){var b,c,d,e,f;e=GQb(a.g,1).c;if(e==(xTb(),dTb)||e==ASb||e==fSb||(hNb(),hNb(),!!kp(KMb,e)))return qOb(a,new vQb(GQb(a.g,0).b.b));else{d=GQb(a.g,0).b.b;CNb(a,$Sb);c=sOb(a);b=new OUb((TUb(),RUb));KOb(a,b,(sQb(),qQb));f=DUb(b,new SXb(d,a.f));return new kUb(new SXb(d,a.f),null,c,f)}}function _hc(a,b){var c;Td(b);if(!(!!b.Zi()&&O7b(a.d,b.Zi().d,0,new Kcc(true)))){if(!b.Zi())if(H8b(a,
b,new Ncc(true),0))return a;else if(b.Ri(a))return c8b(b);if(b.Pi())return R7b(a,(dec(),sdc));return R7b(a,(dec(),udc))}c=b.Zi();Td(c);if(Hhc(a.C,c.C,2,new Kcc(true),0))return a;return a.c}function jjb(a){Lib();var b;b=a.e;switch(b.j.f){case 47:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 59:case 57:case 58:return a.d;case 76:case 100:case 88:return a.b?a.b.f:null;case 95:return b.b?b.b.f:null;case 43:return a.b;case 65:case 96:return b}return null}function emb(a,b){var c,
d,e,f,g;c=new pmb(a);f=false;for(e=new grc(b);e.a<e.c.a.length;){d=erc(e);if(d.a){if(f){Aqc(a.i,c);c=new pmb(a);f=false}Aqc(a.i,new smb(a,d))}else{g=d.b;Pd(!Dwc(c.c,g),"Already a pass with name '%s' in this loop",g);Cwc(c.c,g);Aqc(c.d,new smb(c.f,d));f=true}}f&&Aqc(a.i,c)}function u_(a,b,c,d,e,f,g,h){var i,j,k;Zd(!!c.ed);k=b==0?new M_(g,c.pc,c.Xb,c.ed):new X_(c.Xb,c.ed);i=b==2?new Vsb(k,h.a.c,h.a.e):new m_(k,h.a.c);e&&r$(i.c,"/** @externs */\n");d&&r$(i.c,"/** @fileoverview @typeSummary */\n");f&&
(r$(i.c,"'use strict';"),i.c.pg());i.Ag(a,4);k.ng();j=k.i.a;return j}function XKb(){XKb=bW;MKb=new eLb((vn(),Wx(),Vx));NKb=aLb(MKb,fMb(0));OKb=aLb(NKb,fMb(1));QKb=aLb(OKb,fMb(2));PKb=cLb(QKb,(bMb(),MLb));SKb=aLb(QKb,fMb(3));RKb=cLb(SKb,MLb);UKb=aLb(SKb,fMb(4));TKb=cLb(UKb,MLb);WKb=aLb(UKb,fMb(5));VKb=aLb(OKb,Jp(sLb,zLb,ALb,BLb,CLb,KLb,vD(qD(YO,1),gDc,25,0,[YLb])))}function fPb(a){var b,c,d;d=GQb(a.g,0).b.b;c=(Sn(),new ar);CNb(a,(xTb(),CSb));b=null;while($Pb(a,0)||GQb(a.g,0).c==ESb||QPb(a,$Sb)||hwc(dwc(QSb,
vD(qD(jP,1),gDc,12,0,[PSb,OSb])),GQb(a.g,0).c)){b=null;$q(c,oPb(a));b=GNb(a,LRb);if(!b)break}CNb(a,HRb);ONb(a,b);return new oVb(new SXb(d,a.f),$n(c.a))}function KPb(a){var b,c,d,e,f;f=GQb(a.g,0).b.b;if(dQb(a)){e=PNb(a);d=JPb(a);return new EXb(new SXb(f,a.f),e,0,d)}else{b=XOb(a);if(dQb(a)&&(c=GQb(a.g,0).b.b.b>a.f.b,!(c||PPb(a,0,(xTb(),WSb))||PPb(a,0,(xTb(),HRb))||PPb(a,0,(xTb(),URb))))){e=PNb(a);return new EXb(new SXb(f,a.f),e,1,b)}else return b}}function Vkb(a,b){var c,d,e;Zd(b.e.j==(w7b(),G5b));
d=null;c=b.b;while(!!c&&(Lib(),c.j==G5b&&zjb(c.e)&&c.j==G5b&&Ujb(c.b))){d=c;c=c.d}while(c){e=c.d;Lib();if(c.j==G5b&&zjb(c.e)&&c.j==G5b&&Ujb(c.b)){D2b(b,c);d=(!d?S1b(b,c):P1b(b,c,d),c);Ykb(a,"Move function declaration not at top of function",b)}c=e}}function cGb(a,b,c,d){var e,f,g;e=d.j==(w7b(),$4b)?d.b:d;v2b(e)||a.a.d.kh(wYb("Invalid %s %s operand.",vD(qD(lT,1),bDc,1,5,[c?"postfix":"prefix",b==X5b?"increment":"decrement"])),a.a.r,p3b(d.i),o3b(d.i));f=nFb(a.a,b,d);g=G2b(f,f.g,32);g!=f.g&&(f.g=g);(c?
1:0)!=0&&(f.g=new K3b(32,c?1:0,f.g));return f}function Rmb(){Rmb=bW;Qmb=new s6("JSC_COMMONJS_UNKNOWN_REQUIRE_ENSURE_ERROR",(pZ(),oZ),new xnc("Unrecognized require.ensure call: {0}"));Pmb=new s6("JSC_COMMONJS_SUSPICIOUS_EXPORTS_ASSIGNMENT",oZ,new xnc('Suspicious re-assignment of "exports" variable. Did you actually intend to export something?'))}function OJb(a,b){var c,d,e;if(!CJb(a,b,(GKb(),CKb)))return false;e=(Pd(b.j==(w7b(),X4b),iKc,b),a2b(b,1));if(e.j!=$6b){a.a.lh(VJc+t4b(kKc,vD(qD(lT,1),bDc,
1,5,["native type"])),a.b.Hg(),a.d,a.c);fKb(a,CKb.d);return false}d=(sHb(),c=tIb(e.qi()),eIb(c,!c.n?dJb(c.i):BHb(c)));$1b(e);R1b(b,d);return true}function xPb(a){var b;if(PPb(a,0,(xTb(),fSb))&&imc(GQb(a.g,0).a,_Ec)&&(b=GQb(a.g,1).b.b.b>GQb(a.g,0).b.a.b,!(b||PPb(a,1,WSb)||PPb(a,1,HRb)||PPb(a,1,URb)))&&PPb(a,1,dSb))return eOb(a);if(PPb(a,0,dSb))return JOb(a);if(PPb(a,0,FRb))return nOb(a,false,false);if(QPb(a,pSb))return NPb(a);return BPb(a)}function Shc(a,b,c){var d,e,f,g,h,i,j;Td(b);Td(c);Kd(c.size()<=
b.size());this.b=a;this.d=b;this.e=c;g=new Zhc(a,this);f=this.e.size();e=this.d.size();h=sD(nS,xLc,23,e,0,1);for(d=0;d<e;d++)if(d<f){i=this.d.getAtIndex(d);g.a=i;j=this.e.getAtIndex(d);h[d]=j._i(g)}else h[d]=vec(a,(dec(),_dc));this.c=h}function XA(a,b,c){var d,e;--b;--c;if(b<0||b>=a.c.a.length)return null;Zd(b>=0);Zd(c>=0);if(Cqc(a.c,b)==null)return ZA(a,b);d=Cqc(a.c,b);Zd(d.a.length!=0);if((iCc(0,d.a.length),d.a[0]).zf()>c)return ZA(a,b);e=dB(d,c,0,d.a.length-1);_d(e>=0,"unexpected:%s",e);return YA(a,
(iCc(e,d.a.length),d.a[e]))}function H1(b,c){var d,e,f,g;f=new Rnb(b);for(e=c.Pd();e.Jd();){d=e.Kd();if(!hmc(d.a.Kg().b,".json"))continue;d.b=b;try{kpb(d.a.Kg(),"("+d.a.Kg().a+")")}catch(a){a=BV(a);if(iE(a,102))continue;else throw CV(a);}g=S2(d,b);if(!g)continue;Y2(d,(u3(),s3));Zd(g.j==(w7b(),U6b));zib(f.a,g,f)}return Qo(f.b)}function Vjb(a){switch(a.f){case 13:case 3:case 20:case 1:case 2:case 46:case 16:case 4:case 18:case 9:case 27:case 26:case 8:case 40:case 41:case 7:case 10:case 6:case 17:case 15:case 5:case 19:case 11:case 36:case 37:case 14:case 25:case 79:case 21:case 22:case 12:return true;
default:return false}}function zGb(a,b){var c,d,e;lFb(a.a,b,(bMb(),MLb));c=null;if(b.e)Zd(!b.a&&!b.b);else if(b.a){Zd(!b.b);c=FFb(a.a,b.a)}else c=kHb(a,(w7b(),A5b),b.b);!c&&(c=mFb(a.a,(w7b(),r5b)));p3b(c.i)==-1&&DFb(c,b.o.b,b.o.a);d=nFb(a.a,(w7b(),y5b),c);if(b.c){e=WGb(a,b.c);R1b(d,e)}B2b(d,64,b.e);B2b(d,63,b.d);return d}function TJb(a,b){var c,d;if(b.j==(w7b(),B6b))for(d=(!b.b?(msc(),msc(),lsc):new Z3b(b.b)).Pd();d.Jd();){c=d.Kd();if(c.b){if(!_Jb(a,c.b))return false}else{a.a.lh(VJc+t4b(jKc,vD(qD(lT,
1),bDc,1,5,["property, missing type"])),a.b.Hg(),a.d,a.c);return false}}else if(!_Jb(a,b))return false;return true}function sbc(a,b,c,d,e,f,g,h,i){M7b();Gac.call(this,a,b,vec(a,(dec(),idc)),h,f);this.e=(Sn(),Sn(),Rn);this.d=(null,Rn);this.u=true;Kd(!c||(w7b(),G5b)==c.j);Td(d);this.k=c;if(g){this.i=(occ(),lcc);this.o=e?e:new rcc(a,this,h)}else{this.i=(occ(),ncc);this.o=e?e:vec(a,_dc)}this.c=d;this.g=false;this.f=i}function ezc(a,b,c,d){var e,f;if(!b)return c;else{e=a.a.Qe(c.d,b.d);if(e==0){d.d=Uoc(b,
c.e);d.b=true;return b}f=e<0?0:1;b.a[f]=ezc(a,b.a[f],c,d);if(fzc(b.a[f]))if(fzc(b.a[1-f])){b.b=true;b.a[0].b=false;b.a[1].b=false}else fzc(b.a[f].a[f])?b=mzc(b,1-f):fzc(b.a[f].a[1-f])&&(b=lzc(b,1-f))}return b}function ZNb(a){var b,c,d;c=GQb(a.g,0).b.b;b=(Sn(),new ar);CNb(a,(xTb(),ESb));d=null;while(QPb(a,LRb)||QPb(a,ZSb)||VPb(a)){d=null;QPb(a,LRb)?$q(b,new nVb(JNb(a,GQb(a.g,0).b.b))):QPb(a,ZSb)?$q(b,zPb(a)):$q(b,bOb(a,1));QPb(a,JRb)||(d=CNb(a,LRb))}CNb(a,JRb);ONb(a,d);return new JTb(new SXb(c,a.f),
$n(b.a))}function Rqb(a,b,c,d){Pqb();var e,f,g,h,i,j,k,l,m;if(E3(a.M,c))for(l=(!b.b?(msc(),msc(),lsc):new Z3b(b.b)).Pd();l.Jd();){k=l.Kd();i=g2b(k,89);if(!!i&&!YKb((XKb(),OKb),i))for(f=d,g=0,h=f.length;g<h;++g){e=f[g];j=G2b(k,k.g,93);j!=k.g&&(k.g=j);k.g=new K3b(93,1,k.g);m=new yib(a,e,new nbb(a));tib(m,k)}}}function bJb(a){var b;if(a.r!=0){++a.b;--a.r;a.a==-1&&(a.a=a.i-a.f-a.r-1);return a.q[a.r]}for(;;){if(a.i==a.j){a.a==-1&&(a.a=a.i-a.f-a.r-1);return-1}++a.b;b=dmc(a.k,a.i++);if(b<=127){if(b==10||
b==13){a.e=b;b=10}}else{D7b();if(b>127)continue;if(lJb(b)){a.e=b;b=10}}a.a==-1&&(a.a=a.i-a.f-a.r-1);return b}}function i0(b){var c,d,e,f,g;if(b.j!=(w7b(),z6b))return null;g=ljb(b);if(!iE(g,183))return null;e=g;try{f=e.a}catch(a){a=BV(a);if(iE(a,102))return null;else throw CV(a);}try{d=k2b(b)}catch(a$0){a$0=BV(a$0);if(iE(a$0,41))return null;else throw CV(a$0);}c=d+b.c;if(d<0||c>f.length)return null;return f.substr(d,c-d)}function CEb(){AEb();return vD(qD(GO,1),gDc,30,0,[XDb,pDb,qDb,uDb,rDb,sDb,tDb,
kEb,vDb,wDb,xDb,yDb,zDb,ADb,DDb,EDb,BDb,CDb,FDb,GDb,HDb,IDb,JDb,KDb,LDb,MDb,NDb,ODb,PDb,QDb,RDb,SDb,TDb,UDb,VDb,WDb,ZDb,$Db,_Db,aEb,YDb,bEb,cEb,dEb,eEb,fEb,gEb,hEb,iEb,jEb,lEb,mEb,nEb,oEb,pEb,qEb,rEb,sEb,tEb,uEb,vEb,wEb,xEb,yEb])}function Gjb(a){Lib();var b,c;switch(a.j.f){case 31:case 30:case 32:case 35:case 34:return true;case 92:case 19:case 79:case 22:return Gjb(a.b);case 29:c=a.qi();return imc(_Gc,c)||imc(pIc,c)||imc("NaN",c);case 116:for(b=a.b;b;b=b.d)if(b.j==(w7b(),g7b))if(!Gjb(b.b))return false;
return true}return false}function _Eb(){_Eb=bW;$Eb=(vn(),new Py(TEc));WEb=$Eb;YEb=Jp(fFc,oGc,tFc,bFc,gFc,eFc,vD(qD(qT,1),NCc,2,6,[kFc]));ZEb=Jp(fFc,oGc,tFc,bFc,gFc,eFc,vD(qD(qT,1),NCc,2,6,[kFc,hFc,sFc,"let",IJc,JJc,KJc,LJc,MJc,"yield"]));XEb=MBc("(/|(\n[ \t]*))\\*[ \t]*@[a-zA-Z]+[ \t\n{]");new EEb((Wx(),Vx),(null,Vx),(SEb(),REb),0)}function iGb(a,b){a.a.e=bLb(a.a.e,vD(qD(YO,1),gDc,25,0,[(bMb(),ELb)]));if(a.a.a.c==(SEb(),MEb)){a.a.d.kh("getters are not supported in older versions of JavaScript. If you are targeting newer versions of JavaScript, set the appropriate language_in option.",
a.a.r,(_Eb(),b.o.b.b+1),0);return true}return false}function jGb(a,b){a.a.e=bLb(a.a.e,vD(qD(YO,1),gDc,25,0,[(bMb(),ULb)]));if(a.a.a.c==(SEb(),MEb)){a.a.d.kh("setters are not supported in older versions of JavaScript. If you are targeting newer versions of JavaScript, set the appropriate language_in option.",a.a.r,(_Eb(),b.o.b.b+1),0);return true}return false}function VHb(a,b){var c,d,e,f,g;d=LHb(a,(w7b(),d6b));f=new Fwc;do{c=UHb(a,b);if(!c)return null;e=c.j==_6b?c.qi():c.b.qi();g=f.a.put(e,f);g==
null?R1b(d,c):yHb(a,e,a.i.g,cJb(a.i));pIb(a);if(!JHb(a,(YIb(),GIb)))break;!a.n?dJb(a.i):BHb(a);pIb(a);if(JHb(a,TIb))break;b=!a.n?dJb(a.i):BHb(a)}while(true);return d}function Nub(a){var b,c,d,e,f;b=(Sn(),new ar);for(e=Us(a.$e().Pd());e.Jd();){d=e.Kd();f=(ivb(),c=tmc(tmc(tmc(tmc(tmc(smc(smc(d,58,45),92,47)," ",aHc),"[",bHc),"]",cHc),"<",dHc),">",eHc),jvb(c));!imc(f.substr(0,1),"/")&&!(imc(f.substr(0,2),PFc)||imc(f.substr(0,3),WIc))&&(f="/"+f);Aqc(b.a,Td(f))}return $n(b.a)}function pbc(a,b,c){var d,
e,f,g,h;f=!a.j?null:a.j.e;g=!!f;a.j=new egc(PEc,b,true,!c?a.k:c);b.oj(a);!!f&&f.oj(null);if(a.Th()||a.i==(occ(),mcc)){h=mbc(a);!!h&&(!h.n&&(h.n=new Lqc),Aqc(h.n,a));if(a.i==(occ(),mcc))for(e=Us(new Atc(a.d.a.b.Pd()));e.Jd();){d=e.Kd();!!d.cj()&&$ac(d.cj(),a)}}g&&cbc(a);return true}function lGb(a,b){var c,d;c=b.a;d=false;if(A7b(c)){a.a.e=bLb(a.a.e,vD(qD(YO,1),gDc,25,0,[(bMb(),yLb)]));d=a.a.a.c==(SEb(),MEb)}if(!!a.a.o&&a.a.o.contains(c)){a.a.e=bLb(a.a.e,vD(qD(YO,1),gDc,25,0,[(bMb(),ILb)]));d=a.a.a.c==
(SEb(),MEb)}d&&a.a.d.kh("identifier is a reserved word",a.a.r,(_Eb(),b.b.b.b+1),b.b.b.a)}function I7(a,b,c){var d;d=b.b.j==(w7b(),r5b);Lib();if(b.j==a5b&&zjb(b.e)&&b.j==a5b&&Ujb(b.b)||d&&c.j==o6b||d&&c.j==B4b&&t2b(c.b)&&c.e.j==B5b)return false;if(Pib(b,false,null)||Ubb(a.c,b)!=1){L1(a.b,sfb(b,(Ebb(),Cbb),vD(qD(qT,1),NCc,2,6,["class expression that cannot be extracted"])));return false}return true}function Pvb(){K0();new xwc;this.v=new Hxc;this.B=new DAc;this.S=new DAc;this.w=new DAc;new DAc;this.f=
new $mc;this.g=new f$;this.s=new Fwc;this.K=(pW(),mW);this.L=(Gob(),new Mob(this));this.b=new sqb;this.i=new sqb;this.Z=new o2;this.R=new unb;this.c=new Lqc;new Hxc;Io();new jyc;L0(this,this.R);this.I=new xwc}function fec(){dec();return vD(qD(kS,1),gDc,29,0,[Wcc,Vcc,Zcc,Ycc,Xcc,$cc,adc,_cc,bdc,cdc,ddc,edc,fdc,gdc,hdc,idc,jdc,kdc,pdc,ndc,odc,qdc,vdc,Bdc,ydc,xdc,Hdc,Ddc,Gdc,Idc,Jdc,Kdc,Ldc,Ndc,Mdc,Pdc,Odc,Qdc,Sdc,Tdc,Vdc,Xdc,Ydc,_dc,aec,bec,cec,Udc,Rdc,Cdc,Ucc,udc,sdc,tdc,ldc,Zdc,$dc,rdc,mdc,wdc,Edc,
Fdc,Adc,zdc,Wdc])}function Nec(a,b){var c,d,e,f,g,h,i,j;if(!a.g||b.Ni()||iE(b,123)||!b.Xi())return b;if(Tsc(a.f,b))return b;Ssc(a.f,b);f=false;e=new shc(a.e);for(i=b.fj().Pd();i.Jd();){h=i.Kd();j=(g=b.kj(h),!g?null:g.d);d=b.ij(h);c=d._i(a);d!=c&&(f=true);e.b=false;Gnc(e.c,h,new thc(c,j))}Usc(a.f,b);if(f)return rhc(e);return b}function S9(a){var b,c;if(a.f.b){c=M9(a,F2b(a.f).qi());if(!c){L1(a.c,sfb(a.f,(Ebb(),Dbb),vD(qD(qT,1),NCc,2,6,["Breaking to a label that is not a loop"])));return}b=c.a}else b=
Cqc(a.e,0).a;R1b(a.g,oZb(dab(a,cZb(dab(a,(ce(lmc(qHc,Hmc(46))==-1,NEc,qHc),new g4b((w7b(),o6b),qHc))),dab(a,new P3b(b))))));R1b(a.g,jab())}function gbb(){gbb=bW;dbb=new s6("JSC_INVALID_SUPER_CALL",(pZ(),mZ),new xnc("super() not allowed except in the constructor of a subclass"));ebb=new s6("JSC_INVALID_SUPER_CALL_WITH_SUGGESTION",mZ,new xnc("super() not allowed here. Did you mean super.{0}?"));fbb=bLb((XKb(),MKb),vD(qD(YO,1),gDc,25,0,[(bMb(),XLb)]))}function Bgb(a,b,c,d){var e,f,g,h;Lib();f=c.e;if(!!f&&
c.j==(w7b(),o6b)&&(f.j==(w7b(),z5b)&&c!=f.b||f.j==T5b&&c!=(f.b?f.b.f:null)))return;e=Agb(a,c.qi());if(e!=null){g=Xpc(a.b);g.sh()&&(h=G2b(c,c.g,43),h!=c.g&&(c.g=h));c.vi(e);if(a.a){qib(b);d.j==(w7b(),G5b)&&(d.j==G5b&&zjb(d.e)&&d.j==G5b&&Ujb(d.b))&&N1(b.c,d)}}}function m9(a,b){var c,d,e;c=a.b;e=c.d;Lib();if(a.j==(w7b(),a5b)&&zjb(a.e)&&a.j==a5b&&Ujb(a.b))return new l9(a,c.qi(),false,c,e);else if(b.j==B4b&&b.e.j==B5b){d=h2b(b.b);if(d==null)return null;return new l9(b.e,d,true,c,e)}else return b.j==y5b?
new l9(a,c.qi(),false,c,e):b.j==o6b?new l9(b.e,b.qi(),true,c,e):null}function Osb(a,b){var c,d,e,f,g,h;g=b.Dh().Nh();if(g){h=g.Dh();if(!imc(fW(h),XGc)){a.a+=UIc;Xsb(a,gFc,h.ei(1));a.a+=YDc}}c=new qAc;for(f=b.zh().Pd();f.Jd();){d=f.Kd();oAc(c,d.ei(1))}for(e=c.a.keySet().Pd();e.Jd();){d=e.Kd();a.a+=UIc;Wmc(Wmc(Wmc(Wmc((a.a+="@",a),hFc)," {"),d),"}");a.a+=YDc}a.a+=" * @constructor\n"}function Axb(a,b){var c,d,e;if(!a||!b)return null;c=!a?null:a.Fh()==2&&a.Ih().size()==1?Ps(a.Ih().Pd()).d:null;d=!b?null:
b.Fh()==2&&b.Ih().size()==1?Ps(b.Ih().Pd()).d:null;if(!!c&&!!d){e=ABb(c,d);if(e)return!null.Tj()&&!e.b.d.d.isEmpty()?Jyb(wCb(null.Uj,e,null,null,null,false,null.Uj)):null.Uj}return ozb(a,b)}function VBb(a){var b,c,d,e,f;f=WBb(a,new YCb(MGc));if(!!f&&(d=f.Fh()==2&&f.Ih().size()==1?Ps(f.Ih().Pd()):null,!!(!d?null:d.b))){b=(c=f.Fh()==2&&f.Ih().size()==1?Ps(f.Ih().Pd()):null,!c?null:c.b);if(b.d){e=(Zd(!!b.d),lyb(b.d));if(kBb(a.d,e.Fh()==2&&e.Ih().size()==1?Ps(e.Ih().Pd()).d:null))return b}}return null}
function K3(a){var b,c,d,e,f;d=(Io(),new ir);for(c=new coc((new Wnc(a)).a);c.b;){b=boc(c);e=b.ce();f=b.de();if(jE(f))fr(d,e,(Lib(),(jCc(f),f)?new g3b((w7b(),j7b)):new g3b((w7b(),C5b))));else if(iE(f,130))fr(d,e,new P3b(f.a));else if(kE(f))fr(d,e,new P3b((jCc(f),f)));else{Zd(nE(f));fr(d,e,QZb(f))}}return Wo(d.b)}function zyb(a,b){var c,d,e,f;if(-1==a.Fh()||ICc==a.Fh()||a.Ih().isEmpty()&&a.Rh()==null||b.isEmpty())return a;c=(vn(),new Or);for(f=a.Ih().Pd();f.Jd();){e=f.Kd();Lr(c,bCb(e,b))}d=rzb(a.e,
a.Fh()&-2,Dp(new grc(c.a)),null,a.Ch());(a.Fh()&1)!=0&&(d=ozb(d,b.containsKey(a.Rh())?b.get(a.Rh()):Kyb(a.e,a.Rh())));return d}function bxb(a){var b,c,d;if(a==a.a.v||a==a.a.g||a==a.a.s)return;Vd(a.i,"null required formals for function: %s",a);for(d=a.i.Pd();d.Jd();){b=d.Kd();Td(b);Zd(a.c||0!=b.Fh())}Vd(a.e,"null optional formals for function: %s",a);for(c=a.e.Pd();c.Jd();){b=c.Kd();Td(b);Zd(0!=b.Fh())}Zd(!a.j||0!=a.j.Fh());Td(a.k);Td(a.n)}function J_b(a,b){var c,d,e;e=new O_b;e.a=G_b(a.a,b);e.e=K_b(a.e,
b);e.f=K_b(a.f,b);e.n=L_b(a.n,b);e.r=K_b(a.r,b);e.q=!a.q?null:new Nqc(a.q);e.d=!a.d?null:new Hwc(a.d);e.s=!a.s?null:new Jxc(a.s);e.c=a.c;e.j=a.j;e.b=a.b;e.i=a.i;e.p=!a.p?null:(vn(),d=a.p,Cp(d));e.k=!a.k?null:(vn(),c=a.k,Cp(c));e.g=a.g;e.o=a.o;return e}function fOb(a){var b,c,d;c=GQb(a.g,0).b.b;INb(a,_Ec);CNb(a,(xTb(),dSb));if(QPb(a,$Sb)){hQb(a,VKc,vD(qD(lT,1),bDc,1,5,[]));CNb(a,$Sb)}b=FUb(KUb(new OUb((TUb(),RUb)),(d=GQb(a.g,0).c,hwc(dwc(fSb,vD(qD(jP,1),gDc,12,0,[oTb,PRb,tSb,uSb])),d)||!a.b.c&&mNb(d)?
ENb(a):null)));KOb(a,b,(sQb(),pQb));return DUb(b,new SXb(c,a.f))}function ge(a,b){var c,d,e,f;a=a;b=b==null?vD(qD(lT,1),bDc,1,5,["(Object[])null"]):b;c=new _mc;f=0;d=0;while(d<b.length){e=a.indexOf("%s",f);if(e==-1)break;c.a+=""+a.substr(f,e-f);Vmc(c,b[d++]);f=e+2}Umc(c,a,f,a.length);if(d<b.length){c.a+=" [";Vmc(c,b[d++]);while(d<b.length){c.a+=$Cc;Vmc(c,b[d++])}c.a+="]"}return c.a}function ew(a){var b,c,d,e,f,g,h,i,j;e=new Xvc((new Rvc(a)).a);if(!rwc(e.a))return Io(),Io(),Ho;d=(e.b=swc(e.a),new _vc(e.c,
e.b));h=d.a;j=d.b.b[d.a.f];wm(h,j);b=ie(h);f=new Gvc(b);ewc(f.a,h);Fvc(f,h.f,j);while(rwc(e.a)){c=(e.b=swc(e.a),new _vc(e.c,e.b));g=c.a;i=c.b.b[c.a.f];wm(g,i);ewc(f.a,g);Fvc(f,g.f,i)}return Uq(f)}function WX(a,b){var c,d,e,f;switch(b.j.f){case 68:DX((w7b(),Z4b),b);c=y7b(b.j);c!=-1&&(d=b2b(b),c!=d&&cY(tEc+c+uEc+d,b));fX(a,b.b);PW(a,b.b?b.b.f:null);return;case 69:DX((w7b(),k5b),b);e=y7b(b.j);e!=-1&&(f=b2b(b),e!=f&&cY(tEc+e+uEc+f,b));PW(a,b.b?b.b.f:null);return;default:cY("Expected switch member but was "+
b.j,b)}}function EQb(a,b,c){var d,e;d=a.d;fRb(a);!AQb(a,a.d)&&HQb(a,rNb(a.e.b,d),$Kc,vD(qD(lT,1),bDc,1,5,[]));e=Amc(a.e.a,d,a.d);switch(AQb(a,a.d)?dmc(a.e.a,a.d):0){case 96:BQb(a);return new xNb(b,e,sNb(a.e.b,d-1,a.d));case 36:BQb(a);BQb(a);return new xNb(c,e,sNb(a.e.b,d-1,a.d));default:return new xNb(b,e,sNb(a.e.b,d-1,a.d))}}function KQb(a,b){switch(AQb(a,a.d)?dmc(a.e.a,a.d):0){case 101:case 69:BQb(a);switch(AQb(a,a.d)?dmc(a.e.a,a.d):0){case 43:case 45:BQb(a)}iRb(AQb(a,a.d)?dmc(a.e.a,a.d):0)||IQb(a,
"Exponent part must contain at least one digit",vD(qD(lT,1),bDc,1,5,[]));UQb(a)}return new xNb((xTb(),ASb),Amc(a.e.a,b,a.d),sNb(a.e.b,b,a.d))}function c8b(a){var b,c,d,e,f,g,h;if(a.Li())return R7b(a,(dec(),tdc));else if(a.$i()){h=a.$i();g=false;c=Iic(h);for(f=0;f<c.size();f++){b=c.getAtIndex(f);if(b.Li()){g=true;break}}if(g){d=new pjc(a.B);jjc(d,R7b(a,(dec(),tdc)),false);for(e=0;e<c.size();e++){b=c.getAtIndex(e);b.Li()||jjc(d,b,false)}return kjc(d)}}return a}function jbc(a,b){var c,d,e;if(!lgc(a.v,
b)){e=imc(NGc,b);d=imc("bind",b);if(e||d)C9b(a,b,dbc(a,e),a.k);else if(imc(tGc,b)){c=new hcc(a.B);dcc(c,vD(qD(nS,1),xLc,23,0,[lec(a.B,U7b(a.o)?vec(a.B,(dec(),_dc)):a.o),lec(a.B,vec(a.B,(dec(),Hdc)))]));C9b(a,b,Xbc(acc(_bc($bc(new ccc(a.B),c.b),a.c.b),a.C.d)),a.k)}}return F9b(a,b)}function DB(a,b){var c,d,e,f,g,h,i;f=false;i=Knc(a.k.c);c=new Mqc(i);Bqc(c,qsc(i));for(e=new fyc(new Yxc(a.j));e.b!=e.c.a.b;){d=dyc(e);h=Dxc(a.k,d.d);if(!!h&&h.a<i){Hqc(c,h.a,d.e);f=true}}if(!f)return;MB(b,"sourcesContent",
false);b.a+="[";for(g=0;g<i;g++){g!=0&&(b.a+=",",b);Smc(b,NB((iCc(g,c.a.length),c.a[g])))}b.a+="]"}function ixc(){if(!Object.create||!Object.getOwnPropertyNames)return false;var a="__proto__";var b=Object.create(null);if(b[a]!==undefined)return false;var c=Object.getOwnPropertyNames(b);if(c.length!=0)return false;b[a]=42;if(b[a]!==42)return false;if(Object.getOwnPropertyNames(b).length==0)return false;return true}function Dxb(a,b){var c,d,e;if(!a)return b;if(!b)return a;c=!a?null:a.Fh()==2&&a.Ih().size()==
1?Ps(a.Ih().Pd()).d:null;d=!b?null:b.Fh()==2&&b.Ih().size()==1?Ps(b.Ih().Pd()).d:null;if(!!c&&!!d){e=CBb(c,d);return!e?null:!null.Tj()&&!e.b.d.d.isEmpty()?Jyb(wCb(null.Uj,e,null,null,null,false,null.Uj)):null.Uj}return szb(a,b)}function PJb(a,b){var c,d;d=(Pd(b.j==(w7b(),X4b),iKc,b),b.b.qi());c=IKb(Vb(d));switch(c.f){case 1:return KJb(a,b);case 9:return NJb(a,b);case 10:return MJb(a,b);case 21:return ZJb(a,b);case 8:return LJb(a,b);case 12:return QJb(a,b);case 13:return RJb(a,b);default:throw CV(new llc("Invalid type transformation operation"));
}}function MPb(a,b){var c,d,e;d=GQb(a.g,0).b.b;e=GQb(a.g,0).c;switch(e.f){case 30:case 38:case 25:CNb(a,e);break;default:fQb(a,GQb(a.g,0),"expected declaration",vD(qD(lT,1),bDc,1,5,[]));return null}c=(Sn(),new ar);$q(c,LPb(a,e,b));while(QPb(a,(xTb(),LRb))){CNb(a,LRb);$q(c,LPb(a,e,b))}return new FXb(new SXb(d,a.f),e,$n(c.a))}function zub(a,b,c){var d,e,f,g,h,i,j,k,l;Kd(Pc(a.f,b));f=new Fwc;l=new iqc(b);while(l.b!=l.c){g=cqc(l);i=f.a.put(g,f);if(i==null)for(k=g.Jg().Pd();k.Jd();){j=k.Kd();e=Dnc(a.b,
j);!!e&&(Qpc(l,e),true)}}d=(Sn(),new ar);for(h=new grc(c?a.c:a.f);h.a<h.c.a.length;){g=erc(h);f.a.containsKey(g)&&(Aqc(d.a,Td(g)),d)}return $n(d.a)}function gCb(a,b,c,d,e){var f,g,h,i;h=d.d;f=a?new JCb(d.c,xyb(d.d,e.d),d.b,OCb(d.a,e.a)):new JCb(d.c==e.c?d.c:null,szb(d.d,e.d),null,OCb(d.a,e.a));g=f.d;if(0==g.Fh())return g.e.d;if(ICc!=g.Fh()&&pyb(g,h,new $Cb((bBb(),bBb(),aBb)))&&!dyb(g,h))return dBb(b,c,f);return i=new zwc(b),c==null?Zwc(i.d,null):pxc(i.e,c),new eBb(i)}function Qic(a,b){var c,d,e,f,
g,h,i;d=new pjc(a.B);for(f=0;f<a.b.size();f++){c=a.b.getAtIndex(f);c.Ri(b)&&jjc(d,c,false)}if(b.$i()){i=b.$i().b;for(e=0;e<i.size();e++){g=i.getAtIndex(e);g.Ri(a)&&jjc(d,g,false)}}else b.Ri(a)&&jjc(d,b,false);h=kjc(d);return h.Mi()?Nic(a)&&b.Pi()&&!b.Mi()?R7b(a,(dec(),sdc)):R7b(a,(dec(),udc)):h}function tdb(a,b,c,d){var e,f,g,h,i;i=hHc.length;if(imc(d.substr(d.length-i,i),hHc)){g=1;h=Amc(d,0,d.length-10)}else{f=d.indexOf(PHc);if(f==-1)return false;h=d.substr(0,f);g=2;f=mmc(d,Hmc(46),f+11);while(f>=
0){++g;f=mmc(d,Hmc(46),f+1)}}if(!!c&&Sjb(b))return true;for(e=0;e<g;e++){c=b;b=b.b}pdb(a,b,h,(Wdb(),Tdb));return true}function XD(a){var b,c,d,e,f;if(a.l==0&&a.m==0&&a.h==0)return"0";if(a.h==hEc&&a.m==0&&a.l==0)return"-9223372036854775808";if(a.h>>19!=0)return"-"+XD(QD(a));c=a;d="";while(!(c.l==0&&c.m==0&&c.h==0)){e=yD(1E9);c=BD(c,e,true);b=""+WD(xD);if(!(c.l==0&&c.m==0&&c.h==0)){f=9-b.length;for(;f>0;f--)b="0"+b}d=b+d}return d}function Jlb(a){var b,c,d;if(a.I)return;a.i=IV(Date.now());Mlb(a);for(c=
Jo(a.I).Pd();c.Jd();){b=c.Kd();d=b.de();a.F=SV(DV(a.F,d.n));a.C=$wnd.Math.max(a.C,d.a);a.G+=d.k;a.c+=d.d;if(!d.i){a.B+=d.k;a.A+=d.d}a.a+=d.b;a.g+=d.e;a.p+=d.f}Zd(a.D==(H4(),G4)||a.q==a.a+a.b);Zd(!(a.D==F4||a.D==C4)||a.r==a.g+a.e);Zd(a.D!=C4||a.s==a.p+a.o)}function rvb(a,b,c){var d,e,f,g,h;for(g=Us(new Atc(a.a.b.b.Pd()));g.Jd();){f=g.Kd();h=(Hub(),(!imc(b.substr(0,"/".length),"/")&&!(imc(b.substr(0,PFc.length),PFc)||imc(b.substr(0,WIc.length),WIc))?"/":"")+b);if(!imc(h.substr(0,f.length),f))continue;
d=f+YIc+c;e=qvb(a,b,d);e==null&&(e=svb(a,b,d));if(e!=null)return e}return null}function uBb(a,b){var c,d,e;if(b.isEmpty())return a;if(null.Tj())return null.Uj;ce(a.b.d.d.isEmpty(),"Expected empty typemap, found: %s",a.b);c=(Io(),new ir);for(null.Tj();null.Tj();){d=null.Tj();b.containsKey(d)&&fr(c,d,b.get(d))}e=Wo(c.b);if(e.d.d.isEmpty())return a;if(e.d.d.size()<null.Tj())return a;return new xBb(e,a.a)}function KGb(a,b){var c,d;switch(b.a.c.f){case 100:return c=tFb(a.a,b.a),d=qFb(a.a,c),p3b(d.i)==
-1&&DFb(d,b.o.b,b.o.a),d;case 101:return XGb(a,b);case 99:case 98:return mFb(a.a,YFb(b.a.c));case 97:return mFb(a.a,(w7b(),x6b));case 102:return UGb(a,b);default:throw CV(new llc("Unexpected literal type: "+b.a.Qj+" type: "+b.a.c));}}function LPb(a,b,c){var d,e,f,g;f=GQb(a.g,0).b.b;g=null;if(PPb(a,0,(xTb(),ESb))||PPb(a,0,CSb))e=kPb(a,0);else{e=OOb(a);QPb(a,KRb)&&(g=(CNb(a,KRb),DPb(a)))}d=null;QPb(a,WRb)?d=(CNb(a,WRb),bOb(a,c)):c!=0&&(b==MRb?hQb(a,RKc,vD(qD(lT,1),bDc,1,5,[])):DTb(e)&&hQb(a,SKc,vD(qD(lT,
1),bDc,1,5,[])));return new GXb(new SXb(f,a.f),e,g,d)}function fB(a){var b,c,d,e;e=sD(sE,$Dc,45,5,15,1);b=new Lqc;while(yB(a.a))if(jB(a,59)){gB(a,b);b.a.length==0||(b=new Lqc)}else{d=0;while(!iB(a)){e[d]=TA(a.a);++d}c=hB(a,e,d);ae(a.i.b<0||a.b<a.i.b,a.b,a.i.b);Zd(c.Cf()==-1||c.Cf()<a.i.e.length);Zd(c.Af()==-1||c.Af()<a.i.d.length);b.a[b.a.length]=c;jB(a,44)}b.a.length==0||gB(a,b)}function ACb(a,b,c){var d,e,f,g,h,i,j;f=new ECb;for(j=c.Pd();j.Jd();){i=j.Kd();for(h=b.Pd();h.Jd();){g=h.Kd();if(hCb(g.d,
i.d)){if(a){e=aCb(g,i);if(!e)continue}else e=yCb(g,i);DCb(f,e)}else null.Uj==2&&$Bb(i,g,new $Cb((bBb(),bBb(),aBb)))?DCb(f,i):null.Uj==2&&$Bb(g,i,new $Cb((bBb(),bBb(),aBb)))&&DCb(f,g)}}return vn(),d=f.a,Cp(d)}function gYb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p;f=new GYb(b);e=0;j=null;g=false;k=b.length;h=0;while(h<k){n=h;l=mmc(b,Hmc(37),h);m=l==-1?k:l;m>n&&Umc(a.c,b,n,m);h=m;if(h<k){p=(f.d=h+1,f.b=h+1,BYb(f,new OYb));d=null;if(p.b!=37&&p.b!=110){i=p.a==-1?e++:p.a;d=xYb(c,i,f,j,g);j=d;g=true}o=jYb(a,
p,d);o!=null&&hYb(a,o,Imc(o));h=f.b}}}function $6(a,b,c,d){var e,f,g,h,i,j,k;$d(c.j==(w7b(),X4b),c);$d(b.j==c7b,b);f=(Lib(),$ib(b,new ykb(a5b)));k=f.b.d;if(!t2b(k))return;if(d.j==j6b&&imc(d.qi(),MGc)){i=g2b(b,51);if(!!i&&i.vh()||(e=(j=Yib(f),!j?null:g2b(j,29)),!!e&&((e.a&512)!=0||(e.a&IGc)!=0))){g=$ib(b,Kib);h=g.e;$1b(g);N1(a.a,h)}return}else throw CV(new llc(LGc));}function BBb(a,b){var c,d,e,f,g;Zd(true);c=(Io(),new ir);if(null.Tj()){d=null.Tj();fr(c,d,szb(mBb(a),mBb(b)));e=null.Tj();fr(c,e,ozb(nBb(a),
nBb(b)));return new xBb(Wo(c.b),a.a)}if(a.b.d.d.isEmpty()||b.b.d.d.isEmpty())return null.Tj();for(g=a.b.cf().Pd();g.Jd();){f=g.Kd();fr(c,f,ozb(kp(a.b,f),kp(b.b,f)))}return new xBb(Wo(c.b),a.a)}function RBb(a,b,c){var d,e,f,g,h,i,j;f=mBb(b);if(64!=f.Fh()&&128!=f.Fh()&&ICc!=f.Fh())return(new Wnc(a.g.a)).a.size()==0;j=nBb(b);for(e=new coc((new Wnc(a.g.a)).a);e.b;){d=boc(e);g=d.ce();h=d.de().d;if(64==f.Fh()&&(i=NA(g),!(!i||NV(i.a,SV(i.a))?null:Blc(SV(i.a)))))return false;if(!pyb(wyb(h,a.a.B),j,c))return false}return true}
function bFb(a,b){var c,d,e,f,g,h,i,j;d=b.c;f=b.a.b.b+1;c=b.a.b.a;g=b.a.b.c;e=new sIb(new jJb(d.substr(3),f,c+3),d,g,a.t,a.a,a.d);nIb(e,a.f);oIb(e,a.g);b.b==(bUb(),ZTb)&&b.c.length>0?(e.g=(AIb(),yIb),pIb(e),h=!e.n?dJb(e.i):BHb(e),i=EHb(e,h,0,false,true),j=" "+i.a,e.c?l0b(e.c,j):e.e.d?w0b(e.e,j):w0b(e.e,""),undefined):OHb(e);return e}function NGb(a,b){var c,d,e,f,g;e=b.a;if(e.size()==1){c=rFb(a.a,(w7b(),o6b),e.getAtIndex(0));p3b(c.i)==-1&&DFb(c,b.o.b,b.o.a);return c}else{f=e.Xe();d=FZb(f.Kd());p3b(d.i)==
-1&&DFb(d,b.o.b,b.o.a);while(f.Jd()){g=rFb(a.a,(w7b(),$6b),f.Kd());p3b(g.i)==-1&&DFb(g,b.o.b,b.o.a);d=oFb(a.a,M5b,d,g);p3b(d.i)==-1&&DFb(d,b.o.b,b.o.a)}return d}}function iab(a){G9();Td(a);this.c=a;this.e=new Lqc;this.d=new Lqc;this.j=new H2(a);this.a=(pW(),nW)==a.K;this.q=j1(a);this.u=Ibb(this.a,this.q,(dec(),_dc));this.t=Ibb(this.a,this.q,cec);this.r=Ibb(this.a,this.q,Qdc);this.b=Ibb(this.a,this.q,Zcc);this.i=Ibb(this.a,this.q,gdc);this.s=Ibb(this.a,this.q,Vdc);this.o=Ibb(this.a,this.q,Bdc)}function Tkb(a,
b,c){var d,e,f,g,h;Zd(b.j==(w7b(),o6b)||b.j==$6b||b.j==_6b||b.j==N5b||b.j==V6b);if(a.b._==2)return;e=Sjb(b);f=e||c.j==M5b&&(c.b?c.b.f:null)==b;if(b.j==o6b||f){d=e2b(b,43)!=0;if(!d&&vjb(W0(a.b),b)){if(a.a){g=b.qi();throw CV(new llc(vIc+g+YDc+"  parent:"+b3b(b.e)));}h=G2b(b,b.g,43);h!=b.g&&(b.g=h);b.g=new K3b(43,1,b.g)}}}function VPb(a){switch(GQb(a.g,0).c.f){case 76:case 29:case 9:case 99:case 14:case 2:case 108:case 109:case 110:case 111:case 64:case 69:case 18:case 97:case 100:case 45:case 47:case 49:case 63:case 68:case 94:case 95:case 101:case 107:case 104:case 35:case 21:case 77:case 98:case 24:case 26:case 44:return true;
default:return false}}function Okb(a,b,c,d){var e,f,g;if(b.b){D2b(c,b);g=b.b;D2b(b,g);e=cZb(b,g);N2b(e,g2b(c,29));e3b(e,c);f=(Lib(),c3b(($d(BZb(e),e),new i3b((w7b(),B5b),e)),e));H2b(d,c,f);Lkb(a.b,tIc,f)}else{Lib();if(d.j==(w7b(),S6b)||d.j==U6b||d.j==U4b||d.j==m6b)D2b(d,c);else if(d.j==E5b||d.j==F5b){D2b(c,b);H2b(d,c,b)}else $d(d.j==b6b,d);Lkb(a.b,tIc,d)}}function B9b(a,b,c,d){var e,f,g,h,i;if(!!a.Zi()&&aic(a.Zi(),b))return Hhc(a.Ei(),b.Ei(),c,d,0);i=Icc(d,a,b);if(i)return i.a;g=E9b(a);h=E9b(b);if(!lj(h,
g)){Jcc(d,a,b,(Rcc(),Pcc));return false}for(f=g.a.keySet().Pd();f.Jd();){e=f.Kd();if(!O7b(b.ij(e),a.ij(e),c,d)){Jcc(d,a,b,(Rcc(),Pcc));return false}}Jcc(d,a,b,(Rcc(),Occ));return true}function tCb(a,b){var c,d,e,f,g,h;c=(bBb(),bBb(),aBb);for(h=new coc((new Wnc(a.a)).a);h.b;){f=boc(h);d=f.ce();!!yi(b,d,false)||(c=dBb(c,d,ICb(f.de())))}for(g=new coc((new Wnc(b.a)).a);g.b;){f=boc(g);d=f.ce();e=f.de();yi(a,d,false)?c=dBb(c,d,ICb(MCb(Ii(yi(a,d,false)),e))):c=dBb(c,d,e.a==(UCb(),TCb)?e:new JCb(e.c,e.d,
e.b,TCb))}return c}function ZFb(a,b,c,d,e){var j;_Eb();var f,g,h,i;h=new PFb(c,b,d,e,a.a);i=oGb(h.u,a);p3b(i.i)==-1&&DFb(i,a.o.b,a.o.a);if(a.a)for(g=a.a.Pd();g.Jd();){f=g.Kd();(f.b==(bUb(),$Tb)||f.b==ZTb)&&!Dwc(h.n,f)?(j=bFb(h,f),Cwc(h.n,f),hFb(h,j),undefined):f.b==YTb&&HBc(KBc(XEb,f.c))&&h.d.lh(LIc,h.r,f.a.b.b+1,f.a.b.a)}zFb(h,i);JFb(h,i);h.p=i;return h}function p1(a){var b,c,d,e,f;(new Wnc(a.B.a)).a.clear();for(e=new grc(a.o);e.a<e.c.a.length;){c=erc(e);b=c.g;f=(c.b=a,CAc(a.B,b,c));!!f&&L1(a,new ofb(null,
null,-1,-1,E0,null,vD(qD(qT,1),NCc,2,6,[c.g.a])))}for(d=a.A.Pd();d.Jd();){c=d.Kd();b=c.g;f=(c.b=a,CAc(a.B,b,c));!!f&&L1(a,new ofb(null,null,-1,-1,F0,null,vD(qD(qT,1),NCc,2,6,[c.g.a])))}}function mtb(a,b){var c,d,e;if(a.b.j.a.d>0)return null;d=V1(a.b,b);c=D1(a.b,"<ValidityCheck.java>",d);if(a.b.j.a.d>0){L1(a.b,new ofb(null,null,-1,-1,itb,null,vD(qD(qT,1),NCc,2,6,[eqb(d)])));throw CV(new llc(VIc));}e=V1(a.b,c);if(!imc(d,e)){L1(a.b,new ofb(null,null,-1,-1,ktb,null,vD(qD(qT,1),NCc,2,6,[d,e])));throw CV(new llc(VIc));
}return c}function Uub(a,b){var c,d,e,f,g;g=DFc.length;imc(b.substr(b.length-g,g),DFc)||(b+=DFc);f=(ivb(),c=tmc(tmc(tmc(tmc(tmc(smc(smc(b,58,45),92,47)," ",aHc),"[",bHc),"]",cHc),"<",dHc),">",eHc),jvb(c));Hub();if(imc(b.substr(0,2),PFc)||imc(b.substr(0,3),WIc)){e=a.a;d=e.lastIndexOf("/");f=jvb(e.substr(0,d+1)+(""+f))}return new Vub(a.b,Oub(f,a.b.d))}function KYb(a,b){var c;c=false;switch(b){case 43:c=a.d;a.d=true;break;case 44:c=a.e;a.e=true;break;case 45:c=a.f;a.f=true;break;case 40:c=a.g;a.g=true;
break;case 35:c=a.i;a.i=true;break;case 32:c=a.j;a.j=true;break;case 48:c=a.k;a.k=true;break;default:return false}if(c)throw CV(new yC(""+b));!a.o&&(a.o=new _mc);Pmc(a.o,b&SCc);return true}function Ot(a,b,c,d){var e,f,g;g=new zu(b,c);if(!a.a){a.a=a.e=g;Fnc(a.b,b,new yu(g));++a.c}else if(!d){a.e.b=g;g.d=a.e;a.e=g;e=Cnc(a.b,b);if(!e){Fnc(a.b,b,e=new yu(g));++a.c}else{++e.a;f=e.c;f.c=g;g.e=f;e.c=g}}else{e=Cnc(a.b,b);++e.a;g.d=d.d;g.e=d.e;g.b=d;g.c=d;!d.e?Cnc(a.b,b).b=g:d.e.c=g;!d.d?a.a=g:d.d.b=g;d.d=
g;d.e=g}++a.d;return g}function pA(a,b,c){var d,e,f;Td(b);c=hA(a,c);if(!aA(a.b,Imc(c)))throw CV(new HA("Invalid input length "+Imc(c)));d=0;for(f=0;f<Imc(c);){e=$z(a.b,Fmc(c,f++))<<18;e|=$z(a.b,Fmc(c,f++))<<12;b[d++]=e>>>16<<24>>24;if(f<Imc(c)){e|=$z(a.b,Fmc(c,f++))<<6;b[d++]=(e>>>8&255)<<24>>24;if(f<Imc(c)){e|=$z(a.b,Fmc(c,f++));b[d++]=(e&255)<<24>>24}}}return d}function t$(a,b,c){var d,e;x$(a);d=(qCc(0,b.length),b.charCodeAt(0));e=a.sg();(d==43||d==45)&&e==d?a.gg(" "):(okc==null&&(okc=new RegExp("[A-Z]",
"i")),okc.test(String.fromCharCode(d))&&(e==95||e==36||(nkc==null&&(nkc=new RegExp(ZCc,"i")),nkc.test(String.fromCharCode(e))))?a.gg(" "):(e==45&&d==62||e==60&&d==33)&&a.gg(" "));a.jg(b,c);c&&a.ug()}function Bab(){Bab=bW;zab=new s6("JSC_LHS_OF_GOOG_REQUIRE_MUST_BE_CONST",(pZ(),mZ),new xnc("The left side of a goog.require() must use ''const'' (not ''let'' or ''var'')"));Aab=new s6("JSC_NAMESPACE_IMPORT_CANNOT_USE_STAR",mZ,new xnc("Namespace imports ('goog:some.Namespace') cannot use import * as. Did you mean to import {0} from ''{1}'';?"))}
function Qpb(b,c){var d,e,f,g,h,i;if(!b.a){b.a=true;i=b.c.b;try{g=b.c.a;d=new cB;h=nC(g);$A(d,h);b.b=d}catch(a){a=BV(a);if(iE(a,102)){e=a;f=new ofb(null,null,-1,-1,Opb,null,vD(qD(qT,1),NCc,2,6,[i,e.e]));nqb(c,f.b,f)}else if(iE(a,120)){e=a;f=new ofb(null,null,-1,-1,Npb,null,vD(qD(qT,1),NCc,2,6,[i,e.e]));nqb(c,f.b,f)}else throw CV(a);}}return b.b}function MNb(a){var b,c,d,e,f;if(!QPb(a,(xTb(),BSb)))return null;d=GQb(a.g,0).b.b;CNb(a,BSb);++a.g.f;f=new Hxc;do{c=DNb(a);b=null;if(QPb(a,_Rb)){CNb(a,_Rb);
b=DPb(a)}Exc(f,c,b);QPb(a,LRb)&&CNb(a,LRb)}while(e=GQb(a.g,0).c,hwc(dwc(fSb,vD(qD(jP,1),gDc,12,0,[oTb,PRb,tSb,uSb])),e)||!a.b.c&&mNb(e));CNb(a,GRb);--a.g.f;return new XUb(new SXb(d,a.f),f)}function HOb(a,b){var c,d,e;d=GQb(a.g,0).b.b;CNb(a,(xTb(),DSb));e=(Sn(),new ar);while(ZPb(a,b)){$q(e,iPb(a,b));if(!QPb(a,IRb)){c=CNb(a,LRb);if(QPb(a,IRb)){a.d=bLb(a.d,vD(qD(YO,1),gDc,25,0,[(bMb(),$Lb)]));a.b.b||fQb(a,c,"Invalid trailing comma in formal parameter list",vD(qD(lT,1),bDc,1,5,[]))}}}CNb(a,IRb);return new BUb(new SXb(d,
a.f),$n(e.a))}function YNb(a){var b,c,d;d=GQb(a.g,0).b.b;b=(Sn(),new ar);CNb(a,(xTb(),DSb));while(PPb(a,0,ZSb)||VPb(a)){$q(b,cOb(a));if(!QPb(a,IRb)){c=CNb(a,LRb);if(QPb(a,IRb)){a.d=bLb(a.d,vD(qD(YO,1),gDc,25,0,[(bMb(),$Lb)]));a.b.b||fQb(a,c,"Invalid trailing comma in arguments list",vD(qD(lT,1),bDc,1,5,[]))}}}CNb(a,IRb);return new ITb(new SXb(d,a.f),$n(b.a))}function jhc(a,b,c){M7b();var d,e,f,g;Fac.call(this,a,null,null);this.a=false;this.u=true;for(g=Us(new Atc((d=b.b,!d?b.b=ts(b.a,_tc(b.c)):d).b.b.Pd()));g.Jd();){f=
g.Kd();e=f==null?null:gw(b.d,f);if(!e)throw CV(new llc("RecordProperty associated with a property should not be null!"));c?C9b(this,f,e.b,e.a):ghc(this,f,e.b,false,e.a)}this.a=true}function iCb(a,b){var c,d;if(a==a.a.M||b==b.a.M||SBb(a,b))return true;c=a.d;d=b.d;if(!VBb(a)&&(null.Tj()||null.Tj())&&!VBb(b)&&(null.Tj()||null.Tj()))return true;if(null.Tj())return a.c&&$Bb(b,a,new $Cb((bBb(),bBb(),aBb)));if(null.Tj())return b.c&&$Bb(a,b,new $Cb((bBb(),bBb(),aBb)));return!VBb(a)&&!VBb(b)&&(jBb(c,d)||jBb(d,
c)||(hBb(),true))}function lC(a){var b,c;c=a.offset.line;b=a.offset.column;if(a.map!=null&&a.url!=null)throw CV(new oC("Invalid map format: section may not have both 'map' and 'url'"));else if(a.url!=null)return new pC(0,a.url,c,b);else if(a.map!=null)return new pC(1,Lmc(a.map),c,b);throw CV(new oC("Invalid map format: section must have either 'map' or 'url'"));}function Stb(a,b){Ntb();var c,d,e,f,g,h;$d(a.j==(w7b(),o6b)||a.j==P6b||a.j==_6b||a.j==V5b,a);f=a.e;e=!b.c?null:b.c.e;if(a.e.j==q7b&&(c=g2b(a,
51),!!c&&c.vh())&&Qjb(a))return true;d=g2b(f,29);if(!!d&&(h=!d.d?null:d.d.p,!h?(msc(),msc(),lsc):h).contains(pGc))return true;d=g2b(e,29);return!!d&&(g=!d.d?null:d.d.p,!g?(msc(),msc(),lsc):g).contains(pGc)}function g$(a){var b;this.b=a;this.a=Jp("goog.isDef","goog.isNull","goog.isDefAndNotNull","goog.isString","goog.isNumber","goog.isBoolean",vD(qD(qT,1),NCc,2,6,["goog.isFunction","goog.isArray","goog.isArrayLike","goog.isObject"]));b=(vn(),new Or);Mr(b,vD(qD(qT,1),NCc,2,6,["superClass_","instance_",
"getInstance"]));Nr(b,(Sn(),Sn(),Rn));Dp(new grc(b.a))}function b_(a,b,c,d){var e,f,g,h;h=b;if(!d&&b.j!=(w7b(),U4b))throw CV(new akc("Missing BLOCK child."));if(b.j==(w7b(),U4b)){f=p_(b,2);if(f==0){if(a.c.yg()){u$(a.c);v$(a.c,a.c.lg(b,c==0))}else a.c.rg(true);return}if(f==1){g=o_(b);e=a.c.yg();if(e||s_(g)){u$(a.c);a.Ag(g,0);a.c.wg();v$(a.c,a.c.lg(b,c==0));return}else h=g}}h.j==r5b?a.c.rg(true):a.Ag(h,c)}function bB(a,b){var c,d,e,f,g,h,i,j,k,l,m,n;j=false;k=null;n=null;l=null;m=null;i=a.c.a.length;
for(f=0;f<i;f++){h=Cqc(a.c,f);if(h){e=h.a.length;for(g=0;g<e;g++){d=(iCc(g,h.a.length),h.a[g]);if(j){c=new WA(f,d.zf());CB(b.a,k,n,l,m,c);j=false}if(d.Cf()!=-1){j=true;k=a.e[d.Cf()];n=d.Af()!=-1?a.d[d.Af()]:null;l=new WA(d.Df(),d.Bf());m=new WA(f,d.zf())}}}}}function jvb(a){ivb();var b,c,d,e,f,g,h,i,j;i=wmc(a,"/",0);d=sD(qT,NCc,2,i.length,6,1);j=0;c=0;b=i.length>1&&i[0].length==0;b&&--c;for(f=i,g=0,h=f.length;g<h;++g){e=f[g];if(imc(e,"."))continue;if(imc(e,"..")){if(c>0){--j;--c;d[j]=null}else if(!b){d[j]=
e;++j}continue}d[j]=e;++j;++c}if(b&&j==1)return"/";return Ic(hvb,new joc(new Prc((gCc(j),orc(d,j)))))}function OQb(a,b,c){while(AQb(a,a.d)&&(AQb(a,a.d)?dmc(a.e.a,a.d):0)!=c&&!lRb(AQb(a,a.d)?dmc(a.e.a,a.d):0))if(!dRb(a))return new xNb((xTb(),dTb),Amc(a.e.a,b,a.d),sNb(a.e.b,b,a.d));(AQb(a,a.d)?dmc(a.e.a,a.d):0)!=c?HQb(a,rNb(a.e.b,b),"Unterminated string literal",vD(qD(lT,1),bDc,1,5,[])):BQb(a);return new xNb((xTb(),dTb),Amc(a.e.a,b,a.d),sNb(a.e.b,b,a.d))}function jxb(a,b){var c,d,e,f,g,h,i;Zd(!a.n.a.isEmpty());
if(b.isEmpty())return a;c=new Xxb(a.a);for(g=a.i.Pd();g.Jd();){f=g.Kd();Sxb(c,zyb(f,b))}for(e=a.e.Pd();e.Jd();){d=e.Kd();Pxb(c,zyb(d,b))}!!a.j&&Txb(c,zyb(a.j,b));Uxb(c,zyb(a.k,b));a.c&&(c.c=true,c);Oxb(c,Gxb(a.d,b));Rxb(c,Gxb(a.g,b));for(i=a.f.cf().Pd();i.Jd();){h=i.Kd();Qxb(c,h,a.f.get(h))}return Wxb(c)}function kIb(a,b,c){var d,e,f;f=LHb(a,(w7b(),H6b));!!c&&R1b(f,c);d=null;do{if(d){pIb(a);b=!a.n?dJb(a.i):BHb(a);Zd(b==(YIb(),QIb));pIb(a);b=!a.n?dJb(a.i):BHb(a)}d=fIb(a,b);if(!d)return null;R1b(f,
d)}while(JHb(a,(YIb(),QIb)));if(!c){pIb(a);if(!JHb(a,UIb))return xHb(a,bKc,a.i.g,cJb(a.i)),null;!a.n?dJb(a.i):BHb(a)}if(!!f.b&&!f.b.d){e=f.b;D2b(f,e);return e}return f}function vPb(a,b){var c,d,e,f,g,h;INb(a,"set");if($Pb(a,0)){f=FNb(a);CNb(a,(xTb(),DSb));d=DNb(a);h=LNb(a);CNb(a,IRb);g=LNb(a);!!g&&fQb(a,GQb(a.g,0),"setter should not have any returns",vD(qD(lT,1),bDc,1,5,[]));c=IOb(a);return new oXb(JNb(a,b.d),f,b.c,d,h,c)}else{e=sOb(a);CNb(a,(xTb(),DSb));d=DNb(a);LNb(a);CNb(a,IRb);c=IOb(a);return new lUb(JNb(a,
b.d),e,b.c,d,c)}}function y6(){y6=bW;w6=new s6("JSC_INVALIDATION",(pZ(),nZ),new xnc("Property disambiguator skipping all instances of property {0} because of type {1} node {2}. {3}"));x6=new s6("JSC_INVALIDATION_TYPE",nZ,new xnc("Property disambiguator skipping instances of property {0} on type {1}. {2}"));new s6("JSC_INVALID_RENAME_FUNCTION",mZ,new xnc("{0} call is invalid: {1}"))}function Hub(){Hub=bW;new s6("JSC_MODULE_CONFLICT",(pZ(),oZ),new xnc("File has both goog.module and ES6 modules: {0}"));
Fub=new s6("JSC_JS_MODULE_LOAD_WARNING",mZ,new xnc('Failed to load module "{0}"'));Eub=new s6("JSC_INVALID_MODULE_PATH",mZ,new xnc('Invalid module path "{0}" for resolution mode "{1}"'));Gub=new Qub;Dub=new Mub((Sn(),Sn(),Rn),(null,Rn),(evb(),cvb))}function JPb(a){var b,c,d,e,f;d=GQb(a.g,0).b.b;if(cQb(a)){c=PNb(a);b=JPb(a);return new CXb(new SXb(d,a.f),c,b)}else return PPb(a,0,(xTb(),fSb))&&imc(GQb(a.g,0).a,"await")?(e=GQb(a.g,0).b.b,(Wpc(a.e)||oE(Zpc(a.e))!==oE((sQb(),pQb)))&&hQb(a,"'await' used in a non-async function context",
vD(qD(lT,1),bDc,1,5,[])),INb(a,"await"),f=JPb(a),new NTb(new SXb(e,a.f),f)):KPb(a)}function XQb(a){var b,c,d,e;c=a.d;BQb(a);BQb(a);while(AQb(a,a.d)&&((AQb(a,a.d)?dmc(a.e.a,a.d):0)!=42||(AQb(a,a.d+1)?dmc(a.e.a,a.d+1):0)!=47))BQb(a);if(AQb(a,a.d)){BQb(a);BQb(a);d=(bUb(),YTb);a.d-c>4&&(dmc(a.e.a,c+2)==42?d=$Tb:dmc(a.e.a,c+2)==33&&(d=ZTb));b=sNb(a.e.b,c,a.d);e=Amc(a.e.a,c,a.d);mQb(a.a,d,b,e)}else IQb(a,"unterminated comment",vD(qD(lT,1),bDc,1,5,[]))}function uab(a,b,c){if(c.e.j==(w7b(),B5b))return;if(Ubb(a.b,
c)!=0){Xbb(a.b,c);qib(b)}else L1(a.a,sfb(c,(Ebb(),Cbb),vD(qD(qT,1),NCc,2,6,["Undecomposable expression: Please rewrite the yield or await as a separate statement.\nSee https://github.com/google/closure-compiler/wiki/FAQ#i-get-an-undecomposable-expression-error-for-my-yield-or-await-expression-what-do-i-do"])))}function aJb(a){var b;if(a.r!=0){++a.b;--a.r;a.a==-1&&(a.a=a.i-a.f-a.r-1);return a.q[a.r]}for(;;){if(a.i==a.j){a.a==-1&&(a.a=a.i-a.f-a.r-1);return-1}++a.b;b=dmc(a.k,a.i++);if(a.e>=0){if(a.e==
13&&b==10){a.e=10;continue}a.e=-1;a.f=a.i-1;++a.g}if(b<=127){if(b==10||b==13){a.e=b;b=10}}else{D7b();if(b>127)continue;if(lJb(b)){a.e=b;b=10}}a.a==-1&&(a.a=a.i-a.f-a.r-1);return b}}function hB(a,b,c){var d;switch(c){case 1:d=new lB(b[0]+a.c);a.c=d.e;return d;case 4:d=new rB(b[0]+a.c,b[1]+a.f,b[2]+a.g,b[3]+a.e);a.c=d.e;a.f=d.Cf();a.g=d.Df();a.e=d.Bf();return d;case 5:d=new wB(b[0]+a.c,b[1]+a.f,b[2]+a.g,b[3]+a.e,b[4]+a.d);a.c=d.e;a.f=d.Cf();a.g=d.Df();a.e=d.Bf();a.d=d.Af();return d;default:throw CV(new oC("Unexpected number of values for entry:"+
c));}}function Cyb(a,b,c,d,e){var f,g,h,i,j;Pd(!ryb(b),"Expected non-union type but found: %s",b);if(b.Fh()==4&&b.Ch().size()==1){f=b.Fh()==4&&b.Ch().size()==1?Ps(b.Ch().Pd()).Tj():null;return Cyb(a,f,c,d,e)}if(b.Fh()==2&&b.Ih().size()==1){g=b.Fh()==2&&b.Ih().size()==1?Ps(b.Ih().Pd()):null;h=false;for(j=a.Ih().Pd();j.Jd();){i=j.Kd();dCb(i,g,c,d,e)&&(h=true)}return h}return false}function ldb(a,b){var c,d,e,f,g,h;h=b.e;Zd(h.j==(w7b(),B6b));c=h.e;if(!c)return null;d=c.e;switch(c.j.f){case 29:if(!d||
(Lib(),!(!!d&&(d.j==q7b||d.j==g6b||d.j==f5b))))return null;g=c.qi();break;case 47:f=c.b;g=h2b(f);break;case 91:if(!!d&&d.j==B6b)g=ldb(a,c);else return null;break;default:return null}if(g!=null){e=b.qi();D7b();if(B7b.test(e))return g+"."+e}return null}function NA(a){var b,c,d,e;if(Td(a).length==0)return null;e=(qCc(0,a.length),a.charCodeAt(0)==45);d=e?1:0;if(d==a.length)return null;c=QA(dmc(a,d++));if(c<0||c>=10)return null;b=-c;while(d<a.length){c=QA(dmc(a,d++));if(c<0||c>=10||KV(b,{l:3355444,m:838860,
h:996147}))return null;b=LV(b,10);if(KV(b,DV(ZDc,c)))return null;b=PV(b,c)}return e?Nlc(b):HV(b,ZDc)?null:Nlc(MV(b))}function Bxb(a,b){var c,d,e,f,g,h;Kd(a.c||b.c);c=new Xxb(a.a);g=$wnd.Math.min((Zd(!(a==a.a.v||a==a.a.g)),a.i.size()),(Zd(!(b==b.a.v||b==b.a.g)),b.i.size()));for(e=0;e<g;e++)Sxb(c,vzb(dxb(a,e),dxb(b,e)));f=$wnd.Math.max(a.i.size()+a.e.size(),b.i.size()+b.e.size());for(d=g;d<f;d++){h=vzb(dxb(a,d),dxb(b,d));if(!!h&&0==h.Fh())break;Pxb(c,h)}return Wxb(Nxb(Uxb(c,vzb(a.k,b.k))))}function nYb(a){var b,
c;if(a.a==null)return iYb(a,KCc,0);if(iE(a.a,151))return iYb(a,Lmc(a.a),0);else if(iE(a.a,130)){b=glc(a.a);if(!(b>=0&&b<=_Dc))throw CV(new $Xb(b));c=b<PCc?String.fromCharCode(b&SCc):Mmc((cCc(b>=0&&b<=_Dc),b>=PCc?vD(qD(rE,1),OCc,45,15,[QCc+(b-PCc>>10&RCc)&SCc,TCc+(b-PCc&RCc)&SCc]):vD(qD(rE,1),OCc,45,15,[b&SCc])));return iYb(a,c,0)}else throw CV(fYb(a));}function A2b(a,b,c){var d,e,f;f=pmc(b,Hmc(46),c-1)+1;switch(a.j.f){case 29:case 98:d=a.qi();return f==0&&d.length!=0&&d.length==c&&imc(b.substr(0,
d.length),d);case 33:return f==0&&4==c&&imc(b.substr(0,4),jFc);case 99:return f==0&&5==c&&imc(b.substr(0,5),kFc);case 26:e=(a.b?a.b.f:null).qi();return f>1&&e.length==c-f&&rmc(e,false,0,b,f,c-f)&&A2b(a.b,b,f-1);default:return false}}function vGb(a,b){var c,d,e,f,g,h,i,j;lFb(a.a,b,(bMb(),rLb));h=mHb(a,b.d,b);gGb(a,h,b.b);j=nHb(a,b.e,b);g=lHb(a,(w7b(),R5b),b.c);c=mFb(a.a,b5b);p3b(c.i)==-1&&DFb(c,b.o.b,b.o.a);for(e=b.a.Pd();e.Jd();){d=e.Kd();(d.p==(gXb(),tWb)||d.p==OVb)&&mGb(a,d,LLb);R1b(c,FFb(a.a,d))}f=
pFb(a.a,a5b,h,j,c);if(g.j!=r5b){mGb(a,b,FLb);i=G2b(f,f.g,82);i!=f.g&&(f.g=i);f.g=new U3b(82,g,f.g)}return f}function CPb(a,b){var c,d,e,f,g;e=!b?GQb(a.g,0).b.b:b.o.b;f=PNb(a);c=(Sn(),new ar);$q(c,new tXb(f.b,f));if(f.c==(xTb(),ySb))return new sXb(new SXb(e,a.f),b,$n(c.a));d=QNb(a,1);$q(c,new uXb(d.o,d));while(!a.c.d){f=(g=DQb(a.g),a.f=g.b.a,g);if(f.c==ZRb||f.c==URb)break;$q(c,new tXb(f.b,f));if(f.c==iTb)break;d=QNb(a,1);$q(c,new uXb(d.o,d))}return new sXb(new SXb(e,a.f),b,$n(c.a))}function hjb(a){Lib();
switch(a.j.f){case 48:return w7b(),S4b;case 49:return w7b(),T4b;case 50:return w7b(),Q4b;case 51:return w7b(),h6b;case 52:return w7b(),T6b;case 53:return w7b(),p7b;case 54:return w7b(),u4b;case 55:return w7b(),b7b;case 56:return w7b(),n6b;case 59:return w7b(),x5b;case 57:return w7b(),o5b;case 58:return w7b(),l6b}throw CV(new Nfb("Not an assignment op:"+a));}function dlc(a){var b,c,d,e,f;if(a==null)throw CV(new $lc(KCc));d=a.length;e=d>0&&(qCc(0,a.length),a.charCodeAt(0)==45||(qCc(0,a.length),a.charCodeAt(0)==
43))?1:0;for(b=e;b<d;b++)if(rkc((qCc(b,a.length),a.charCodeAt(b)),16)==-1)throw CV(new $lc(JCc+a+'"'));f=parseInt(a,16);c=f<LCc;if(isNaN(f))throw CV(new $lc(JCc+a+'"'));else if(c||f>ICc)throw CV(new $lc(JCc+a+'"'));return f}function ED(a,b,c,d,e,f){var g,h,i,j,k,l,m;j=HD(b)-HD(a);g=RD(b,j);i=AD(0,0,0);while(j>=0){h=KD(a,g);if(h){j<22?(i.l|=1<<j,undefined):j<44?(i.m|=1<<j-22,undefined):(i.h|=1<<j-44,undefined);if(a.l==0&&a.m==0&&a.h==0)break}k=g.m;l=g.h;m=g.l;g.h=l>>>1;g.m=k>>>1|(l&1)<<21;g.l=m>>>
1|(k&1)<<21;--j}c&&GD(i);if(f)if(d){xD=QD(a);e&&(xD=UD(xD,(bE(),_D)))}else xD=AD(a.l,a.m,a.h);return i}function fCb(a,b,c,d,e,f,g){Td(a);Td(b);Qd(!d||d==d.a.s||d.c==f,"isLoose: %s, fn: %s",(gkc(),f?true:false),d);Kd(!d||d!=d.a.c);f&&Pd(null.Tj()||null.Tj(),"Cannot create loose objectType with nominal type %s",b);Qd(!d||null.Tj(),"Cannot create objectType of nominal type %s with function (%s)",b,d);this.a=a;this.d=b;this.g=f?vCb(c):c;this.b=d;this.e=e;this.c=f;this.f=f?(KBb(),IBb):g}function pX(a,
b){var c,d,e,f,g,h,i;switch(b.j.f){case 98:h=y7b(b.j),h!=-1&&(d=b2b(b),h!=d&&cY(tEc+h+uEc+d,b));hX(a,b.b,true);break;case 156:e=b2b(b),0!=e&&cY(rEc+e,b);break;case 157:i=y7b(b.j),i!=-1&&(f=b2b(b),i!=f&&cY(tEc+i+uEc+f,b));SW(b.b,0);break;case 158:g=y7b(b.j),g!=-1&&(c=b2b(b),g!=c&&cY(tEc+g+uEc+c,b));break;default:cY("Interface contained member of invalid type "+b.j,b)}}function df(a){var b,c,d,e;c=a.c;while(a.c!=-1){e=c;d=ef(a,a.c);if(d==-1){b=a.e.length;a.c=-1}else{b=d;a.c=d+1}if(a.c==c){++a.c;a.c>
a.e.length&&(a.c=-1);continue}while(e<b&&a.f.Nd(dmc(a.e,e)))++e;while(b>e&&a.f.Nd(dmc(a.e,b-1)))--b;if(a.d&&e==b){c=a.c;continue}if(a.b==1){b=a.e.length;a.c=-1;while(b>e&&a.f.Nd(dmc(a.e,b-1)))--b}else--a.b;return Dmc(ymc(a.e,e,b))}return a.i=2,null}function ecb(a){var b,c,d,e;b=a;for(d=new F3b(new C3b(Td(b.e)));d.a.a;){c=E3b(d);e=c.j;switch(e.f){case 84:case 66:case 67:case 0:case 39:Zd(b==c.b);return c;case 76:case 88:case 100:Zd(b==c.b);return c.e.j==(w7b(),D5b)&&c==c.e.b?null:c;case 72:if(b==c.b)return c;
case 73:case 101:case 85:case 82:case 83:case 68:case 69:return null}b=c}throw CV(new llc("Unexpected AST structure."));}function udb(a,b,c,d){var e,f,g,h,i;if(d.q!=(Kdb(),Edb)||!c)return;f=null;if(c.j==(w7b(),a5b))f=c.b.d;else{e=(Lib(),$d(b.j==o6b||b.j==M5b,b),i=b.e,!!i&&(i.j==q7b||i.j==g6b||i.j==f5b)?b.b:i.j==B4b&&i.b==b?b.d:null);!!e&&e.j==a5b&&(f=e.b.d)}if(!f||f.j==r5b||!(f.j==o6b||f.j==M5b))return;g=h2b(f);h=mdb(a,g,true);!!h&&h.q==Edb&&(Kd(h.q==Edb&&d.q==Edb),!h.o&&(h.o=new Lqc),Aqc(h.o,d),
d)}function qbc(a,b,c){var d,e,f,g,h,i;Td(b);if(O7b(a,b,0,new Kcc(true)))return a;if(a.i==(occ(),ncc)&&b.i==ncc&&!g9b(a.c)&&!g9b(b.c)){f=a.Ri(b);g=b.Ri(a);if(f&&!g)return c?b:a;else if(g&&!f)return c?a:b;i=rbc(a,b,c);if(i)return i}d=vec(a.B,(dec(),idc));if(O7b(d,b,0,new Kcc(true)))return c?b:a;else if(O7b(d,a,0,new Kcc(true)))return c?a:b;e=vec(a.B,Zdc);h=vec(a.B,rdc);return c?e:h}function wmc(a,b,c){var d,e,f,g,h,i,j,k;d=new RegExp(b,"g");j=sD(qT,NCc,2,0,6,1);e=0;k=a;g=null;while(true){i=d.exec(k);
if(i==null||k==""||e==c-1&&c>0){j[e]=k;break}else{h=i.index;j[e]=k.substr(0,h);k=Amc(k,h+i[0].length,k.length);d.lastIndex=0;if(g==k){j[e]=k.substr(0,1);k=k.substr(1)}g=k;++e}}if(c==0&&a.length>0){f=j.length;while(f>0&&j[f-1]=="")--f;f<j.length&&(j.length=f)}return j}function ydb(a,b){var c,d,e;!a.n&&(a.n=new Lqc);Aqc(a.n,b);switch(b.b.f){case 0:if(!a.d){a.d=b;Cdb(b)}++a.f;break;case 1:++a.g;c=!b.a?null:(Lib(),d=Yib(b.a),!d?null:g2b(d,29));!!c&&(c.a&QHc)!=0&&++a.i;break;case 2:case 4:e=b.a;!!e&&e.j==
(w7b(),M5b)&&e.e.j==(w7b(),B5b)&&g2b(e,29);++a.p;break;case 3:++a.a;++a.p;break;case 5:++a.c;++a.p;break;case 6:++a.e;break;default:throw CV(new klc);}}function gwb(){gwb=bW;new s6("JSC_NON_DECLARATION_STATEMENT_IN_RECORD",(pZ(),nZ),new xnc("@record functions should not contain statements other than field declarations"));ewb=new s6("JSC_INTERFACE_FUNCTION_NOT_EMPTY",nZ,new xnc("interface functions must have an empty body"));fwb=new s6("JSC_INTERFACE_SHOULD_NOT_TAKE_ARGS",nZ,new xnc("Interface functions should not take any arguments"))}
function rCb(a,b){var c,d,e,f,g,h,i,j;if(a==a.a.M||b==b.a.M)return a.a.M;if(SBb(a,b))return a;if(!!VBb(a)&&!!VBb(b))return rCb(pBb(a.d),pBb(b.d));h=a.d;i=b.d;Zd(null.Tj()||null.Tj());c=a.a;e=a.c||b.c;d=zxb(a.b,b.b);if(e){d=!d?null:sxb(d);j=tCb(a.g,b.g)}else j=sCb(a.g,b.g,h,i);f=ABb(h,i);null.Tj()&&!!d&&(e?f=null:d=null);g=vyc(a.e,b.e)?a.e:null;return wCb(c,f,j,d,g,e,MBb(a.f,b.f))}function Dyb(a,b,c,d,e){var f,g,h,i,j,k;if(ICc==b.Fh()){k=a.Rh();k!=null&&c.contains(k)&&Ezb(d,k,b);return true}f=new Fwc;
for(i=nyb(b).Pd();i.Jd();){h=i.Kd();if(pyb(h,a,new $Cb((bBb(),bBb(),aBb))))continue;h=8==h.Fh()||16==h.Fh()?h.e.a:h;Cyb(a,h,c,d,e)||(g=f.a.put(h,f),g==null)}if(f.a.size()==0)return true;j=a.Rh();if(j!=null&&c.contains(j)){Ezb(d,j,pzb(a.e,f));return true}return false}function S0(a,b,c,d,e,f,g,h){var i,j,k,l,m,n;j=new Lqc;if(!d.remove(b)){c&&b.i==(u3(),t3)&&Y2(b,(u3(),r3));return j}i=new ocb(a,g,h);ncb(i,S2(b,a));c&&b.i==(u3(),t3)&&Y2(b,(u3(),r3));Gnc(a.I,lvb(U2(b).a),b.i);for(n=V2(b).Pd();n.Jd();){m=
n.Kd();l=null;k=false;if(f.containsKey(m))l=f.get(m);else if(e.containsKey(m)){k=true;l=e.get(m)}!!l&&Bqc(j,S0(a,l,k,d,e,f,g,h))}j.a[j.a.length]=b;return j}function Bbb(a,b,c){var d,e,f,g,h,i,j;i=j1(a.c);j=Ibb(c,i,(dec(),Qdc));h=b2b(b);if(h==0)I2b(b,Kbb(new g4b((w7b(),$6b),'""'),j));else{f=F2b(b);Zd(f.j==(w7b(),$6b));if(h==1)H2b(b.e,b,f);else{d=Kbb($Yb(f,F2b(F2b(b))),b.k);for(g=2;g<h;g++){e=F2b(b);if(e.j==$6b)if(e.qi().length==0)continue;else g==2&&f.qi().length==0&&(d=$1b(d.b.d));d=Kbb($Yb(d,e.j==
$6b?e:F2b(e)),b.k)}I2b(b,f3b(d,b))}}qib(a)}function RHb(a,b){var c;if(b==(YIb(),WIb))return LHb(a,(w7b(),Z6b));else if(b==NIb){pIb(a);return bIb(a,!a.n?dJb(a.i):BHb(a))}else if(b==OIb){pIb(a);return kIb(a,!a.n?dJb(a.i):BHb(a),null)}else if(b==XIb){c=a.i.n;switch(c){case GCc:pIb(a);return WHb(a,!a.n?dJb(a.i):BHb(a));case KCc:case _Gc:return MHb(a,c,a.i.g,cJb(a.i));default:return iIb(a,b)}}a.n=b;return xHb(a,aKc,a.i.g,cJb(a.i)),null}function YJb(a,b){var c,d;d=(Pd(b.j==(w7b(),X4b),iKc,b),b.b.qi());
c=IKb(Vb(d));switch(c.f){case 19:return WJb(a,b);case 22:return cKb(a,b);case 11:return CJb(a,b,(GKb(),tKb));case 0:return CJb(a,b,(GKb(),iKb));case 23:return CJb(a,b,(GKb(),FKb));case 14:return SJb(a,b);case 18:return XJb(a,b);case 17:return UJb(a,b);case 20:return OJb(a,b);default:throw CV(new llc("Invalid type expression"));}}function IA(a,b,c){var d,e,f,g,h,i;Td(c);if(b==0)throw CV(new Yjc("/ by zero"));f=a/b|0;h=a-b*f;if(h==0)return f;i=1|(a^b)>>31;switch(c.f){case 7:LA(h==0);case 1:g=false;
break;case 0:g=true;break;case 2:g=i>0;break;case 3:g=i<0;break;case 6:case 5:case 4:d=$wnd.Math.abs(h);e=d-($wnd.Math.abs(b)-d);e==0?g=c==(onc(),lnc)||c==knc&(f&1)!=0:g=e>0;break;default:throw CV(new ckc);}return g?f+i:f}function Mcb(a,b){var c,d,e,f,g,h,i,j;for(i=(g=b.c.a,g?!g.b?(msc(),msc(),lsc):new Z3b(g.b):(msc(),msc(),lsc)).Pd();i.Jd();){h=i.Kd();Qcb(a,iE(h.k,23)?h.k:null)}Qcb(a,b.c.b);if(b.i==(occ(),mcc))for(d=Us(new Atc(b.d.a.b.Pd()));d.Jd();){c=d.Kd();Ssc(a.a,c)&&c._i(a)}if(b.Th()){for(f=
Us(new Atc(b.e.a.b.Pd()));f.Jd();){e=f.Kd();Ssc(a.a,e)&&e._i(a)}j=kbc(b).ej();!!j&&Ssc(a.a,j)&&j._i(a)}return a.b.b}function _6(a,b,c,d){var e,f,g,h,i;$d(c.j==(w7b(),M5b)||c.j==L5b,c);$d(b.j==c7b,b);f=c.e;if(Hjb(c)){L1(a.a,sfb(c,(Ebb(),Dbb),vD(qD(qT,1),NCc,2,6,["assigning to a super property"])));return}e=(Lib(),$ib(b,new ykb(a5b)));i=e.b.d;if(!t2b(i))return;if(e2b(d,58)!=0)I2b(b,Y1b(i,false));else{g=Hc(new Kc(String.fromCharCode(46)),h2b(i),PEc,vD(qD(lT,1),bDc,1,5,[]));h=ikb(a.a,g,b);H2b(b.e,b,h)}N1(a.a,
f)}function Hjb(a){Lib();var b;switch(a.j.f){case 29:case 26:case 27:case 91:break;default:return false}b=a.e;if(!b)return false;switch(b.j.f){case 106:return(b.b?b.b.f:null)==a;case 76:case 100:case 88:case 112:case 45:case 104:case 63:case 64:case 78:return true;case 96:case 65:case 118:case 72:case 73:case 101:return b.b==a;case 94:case 93:case 91:return Jjb(a);default:return rjb(b)&&b.b==a}}function Awb(){Awb=bW;ywb=new s6("JSC_NULLABLE_RETURN",(pZ(),nZ),new xnc("This function''s return type is nullable, but it always returns a non-null value. Consider making the return type non-nullable."));
zwb=new s6("JSC_NULLABLE_RETURN_WITH_NAME",nZ,new xnc('The return type of the function "{0}" is nullable, but it always returns a non-null value. Consider making the return type non-nullable.'))}function uCb(a,b){var c,d,e,f,g,h,i,j;if(a.isEmpty())return b;else if(b.isEmpty())return a;j=new Nqc(a);Bqc(j,b);for(d=0;d<j.a.length-1;d++){h=(iCc(d,j.a.length),j.a[d]);for(e=d+1;e<j.a.length;e++){i=(iCc(e,j.a.length),j.a[e]);if(iCb(h,i)){iCc(d,j.a.length);j.a[d]=null;Hqc(j,e,rCb(h,i))}}}c=(vn(),new Or);
for(g=new grc(j);g.a<g.c.a.length;){f=erc(g);!!f&&(Aqc(c.a,Td(f)),c)}return Dp(new grc(c.a))}function Thc(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q;o=b.d;l=c.d;for(f=0;f<o.size();f++){n=o.getAtIndex(f);q=(h=Lhc(b,n),h==-1?vec(b.b,(dec(),_dc)):b.c[h]);p=0;for(i=0;i<l.size();i++){k=l.getAtIndex(i);m=(g=Lhc(c,k),g==-1?vec(c.b,(dec(),_dc)):c.c[g]);if(n==k){j=1;(O7b(q,m,a,d)||e==1&&q.Si(m,new Ncc(true),e)&&m.Si(m,new Ncc(true),e))&&(j=2);p!=2&&(p=j)}}if(p==1||p==0&&a!=2)return false}return true}function GGb(a,
b){var c,d,e,f,g,h,i,j;f=new Hxc;c=new Hxc;g=null;h=null;if(aGb(a,b.a.a))for(e=b.a.a.Pd();e.Jd();){d=e.Kd();i=null;if(d.p==(gXb(),VWb)){j=d;i=FFb(a.a,j.b);d=j.a}switch(d.p.f){case 26:Exc(f,d.a.a,i);break;case 80:mGb(a,d,(bMb(),QLb));Exc(c,d.a.a.a,i);break;case 65:g=d.a.a.a;h=i;break;default:throw CV(new llc("Illegal parameter type: "+d.p));}}return aFb(a.a,F7b(FFb(a.a,b.b),f,c,g,h))}function dwb(){dwb=bW;awb=new s6("JSC_DUPLICATE_ENUM_VALUE",(pZ(),nZ),new xnc("The value {0} is duplicated in this enum."));
_vb=new s6("JSC_COMPUTED_PROP_NAME_IN_ENUM",nZ,new xnc("Computed property name used in enum."));cwb=new s6("JSC_SHORTHAND_ASSIGNMENT_IN_ENUM",nZ,new xnc("Shorthand assignment used in enum."));bwb=new s6("JSC_ENUM_PROP_NOT_CONSTANT",nZ,new xnc("enum key {0} must be in ALL_CAPS."))}function KX(a,b,c){var d,e,f;gX(a,(bMb(),wLb),c);DX((w7b(),C6b),c);for(d=c.b;d;d=d.d)switch(d.j.f){case 91:LX(a,b,d);break;case 94:KX(a,b,d);break;case 118:$W(a,b,d);break;case 114:DX(e5b,d);e=y7b(d.j);e!=-1&&(f=b2b(d),e!=
f&&cY(tEc+e+uEc+f,d));fX(a,d.b);(d.b?d.b.f:null).j==l5b?$W(a,b,d.b?d.b.f:null):rX(a,(d.b?d.b.f:null).j,d.b?d.b.f:null);break;default:cY("Invalid object pattern child for "+b+wEc,c)}}function mOb(a){var b,c,d,e,f;c=false;d=(Sn(),new ar);while(true){e=GQb(a.g,0).b.b;switch(GQb(a.g,0).c.f){case 4:CNb(a,(xTb(),DRb));b=QNb(a,1);CNb(a,KRb);f=APb(a);$q(d,new TTb(new SXb(e,a.f),b,f));break;case 8:c?hQb(a,"Switch statements may have at most one default clause",vD(qD(lT,1),bDc,1,5,[])):c=true;CNb(a,(xTb(),
QRb));CNb(a,KRb);$q(d,new pUb(new SXb(e,a.f),APb(a)));break;default:return $n(d.a)}}}function BYb(a,b){var c,d,e;e=a.b;c=a.b<a.c?dmc(a.a,a.b):-1;if(c>=48&&c<=57){d=AYb(a);if((a.b<a.c?dmc(a.a,a.b):-1)==36){yYb(a);if(d==-1)throw CV(new dYb(Amc(a.a,a.d,a.b)));JYb(b,$wnd.Math.max(0,d-1))}else if(c==48)a.b=e;else return EYb(a,b,d)}else if(c==60){b.a=-2;yYb(a)}while(KYb(b,a.b<a.c?dmc(a.a,a.b):-1))yYb(a);c=a.b<a.c?dmc(a.a,a.b):-1;return c>=48&&c<=57?EYb(a,b,AYb(a)):c==46?DYb(a,b):CYb(a,b)}function k7(a,
b,c){var d,e,f,g,h,i,j;Ld(c.j==(w7b(),X4b),c);f=c.oi(false);e=F2b(c);if(e.j==c7b){i=d3b(tZb(hkb(a.a,b),new g4b($6b,NGc)),e);R1b(f,i);h=G2b(f,f.g,50);h!=f.g&&(f.g=h);P1b(f,c3b(new g3b(h7b),e),i)}else{$d(e.j==M5b,e);d=Td(e.b.d);$d(imc(d.qi(),tGc),d);R1b(f,e);j=e.b;H2b(e,j,d3b(hkb(a.a,b),j));g=c.b;if(g.j!=h7b){$d(g.j==x6b,g);D2b(c,g);R1b(f,c3b(new g3b(h7b),g))}}while(c.b)R1b(f,F2b(c));return f}function PFb(a,b,c,d,e){var f,g;this.n=new Fwc;this.e=(XKb(),MKb);this.s=a;this.k=e.Xe();this.b=WFb(this.k);
this.j=new Lqc;this.q=b;this.t=(g=new g3b((w7b(),U6b)),V2b(g,this.q),g);this.f=new I1b(c.d!=(JEb(),IEb));for(f=0;true;f++){f=mmc(a,Hmc(10),f);if(f==-1)break;Aqc(this.j,Blc(f))}this.r=!b?null:b.Hg();this.a=c;this.d=d;this.u=new pHb(this);c.e==0?this.o=ZEb:c.c==(SEb(),MEb)?this.o=null:this.o=YEb}function QGb(a,b){var c,d,e,f,g;g=mFb(a.a,(w7b(),B6b));f=false;for(d=b.a.Pd();d.Jd();){c=d.Kd();if(c.p==(gXb(),VVb)){a.a.d.kh("Default value cannot appear at top level of an object literal.",a.a.r,(_Eb(),c.o.b.b+
1),0);continue}else if(c.p==iWb&&iGb(a,c))continue;else if(c.p==LWb&&jGb(a,c))continue;e=FFb(a.a,c);e.j!=e5b&&!e.si()&&!a.a.c&&kGb(a,e);!!e.b||(f=true);R1b(g,e)}f&&lFb(a.a,b,(bMb(),ALb));return g}function Ilb(){Ilb=bW;new s6("JSC_INVALID_GETELEM_INDEX_ERROR",(pZ(),oZ),new xnc("Array index not integer: {0}"));Glb=new s6("JSC_INDEX_OUT_OF_BOUNDS_ERROR",oZ,new xnc("Array index out of bounds: {0}"));Hlb=new s6("JSC_NEGATING_A_NON_NUMBER_ERROR",oZ,new xnc("Can''t negate non-numeric value: {0}"));Flb=new s6("JSC_FRACTIONAL_BITWISE_OPERAND",
oZ,new xnc("Fractional bitwise operand: {0}"));$wnd.Math.pow(2,53)}function Ovb(a,b){Lvb();var c,d,e,f,g,h,i;i=Mvb();f=new J3;F3(f,(q4(),n4));f.Rb=new Ne(Td((gkc(),true)));G3(f,h4);f.cd=true;e=(hpb(),new tpb((new spb,"externs.js"),"var window;"));h=new tpb((new spb,b),a);f.uc=true;f.Cc=true;z5(f.$);z3(f,new M5(Kvb,(pZ(),nZ)));c=new Pvb;O1(c,new Qvb);P0(c,(Sn(),new My(Td(e))),new My(Td(h)),f);g=O2(new r2(c));d=Mvb();Nvb("Transpiled "+b+" in "+(d-i)/1E3+" seconds");return g}function SFb(a){switch(a){case 48:return 0;
case 49:return 1;case 50:return 2;case 51:return 3;case 52:return 4;case 53:return 5;case 54:return 6;case 55:return 7;case 56:return 8;case 57:return 9;case 97:case 65:return 10;case 98:case 66:return 11;case 99:case 67:return 12;case 100:case 68:return 13;case 101:case 69:return 14;case 102:case 70:return 15;default:throw CV(new llc(RJc+String.fromCharCode(a)));}}function Z6(a,b,c){var d,e,f;Zd(b.j==(w7b(),c7b));e=b;(e.e.j==L5b||e.e.j==M5b)&&(e=e.e);d=$ib(e,new f7);if(c.j==X4b)$6(a,b,c,d);else if(c.j==
M5b||c.j==L5b)c.b==b?c.e.j==X4b&&(Lib(),f=c.e,!!f&&(f.j==X4b||f.j==u6b||f.j==e7b)&&f.b==c)?a7(a,b,c,d):_6(a,b,c,d):L1(a.a,sfb(b,(Ebb(),Dbb),vD(qD(qT,1),NCc,2,6,[KGc])));else if(c.j==u6b)throw CV(new llc(LGc));else L1(a.a,sfb(b,(Ebb(),Dbb),vD(qD(qT,1),NCc,2,6,[KGc])))}function P0(a,b,c,d){var e,f;Zd(!a.C);try{o1(a,b,c,d);a.j.a.d>0||O2(new F2(a));if(a.j.a.d<=0){$d(!!a.A&&!a.A.isEmpty(),BFc);Zd(a.j.a.d<=0);Zd(true);O2(new z2(a));a.j.a.d>0||($d(!!a.A&&!a.A.isEmpty(),BFc),Zd(a.j.a.d<=0),Zd(true),O2(new B2(a)),
undefined);O2(new D2(a))}}finally{e=(a.M.rd!=(H4(),E4)&&!!a.W&&Qlb(a.W,CFc,true),new zqb);dY(a.j.a);f=PV(IV(Date.now()),e.a);a.M.rd!=E4&&!!a.W&&Rlb(a.W,CFc,f)}return d1(a)}function c9(a,b,c){var d,e,f,g,h,i,j,k;j=f9(b,hkb(a.a,c.f),hkb(a.a,c.f+hHc));h=$1b(b.b?b.b.f:null);d=cZb(j,h);f3b(d,b);f=g2b(b,29);if(e2b(b,58)!=0&&okb(d.b?d.b.f:null)){g=K1b(f);v1b(g,new L1b(new i3b((w7b(),P4b),new g3b(M6b)),(e=g2b(b,51),!e?null:e.Hg())));f=n0b(g)}!!f&&(k=G2b(d,d.g,29),k!=d.g&&(d.g=k),!!f&&(d.g=new U3b(29,f,d.g)),
d);i=(Lib(),c3b(($d(BZb(d),d),new i3b((w7b(),B5b),d)),d));P1b(c.g.e,i,c.g);c.g=i}function G1(a){var b;a.M.Dc&&(tBc(J0,"Recording function information"),Zd(!a.e),a.d=LFc,a.e=(a.M.rd!=(H4(),E4)&&!!a.W&&Qlb(a.W,LFc,true),new zqb),undefined,b=new xnb(a),wnb(b,a.C),null.Tj(),$d(!!a.e,"Tracer should not be null at the end of a pass."),S1(a,a.e,a.d),N0(a),a.d=null,a.e=null,a.M._==(Q3(),M3)&&ptb(new qtb(a),a.q,a.C),undefined,undefined);a.M._==(Q3(),P3)&&ptb(new qtb(a),a.q,a.C);a.Q=1;!!a.W&&Llb(a.W)}function dCb(a,
b,c,d,e){var f,g,h;if(a.b)if(!b.b||!rxb(a.b,b.b,c,d,e))return false;g=a.d;f=b.d;if(!null.Tj()&&!null.Tj()){if(wBb(g,f,c,d,e))return true;if(null.Uj==2){if(kBb(g,Ii(yi(e.a,f,false))))return true;e=(Kd(null.Uj!=0),new $Cb(dBb(e.a,f,g)))}else return false}if(!null.Tj()&&null.Uj!=2&&null.Tj())return false;h=!null.Tj()&&null.Uj==2?null.Tj():new Boc(a.g);if(!h)return true;return cCb(a,b,h,c,d,e)}function CB(a,b,c,d,e,f){var g,h,i,j,k,l,m,n,o,p;if(b==null||d.b<0)return;h=e;g=f;if(a.f.b!=0||a.f.a!=0){o=a.f.b;
p=a.f.a;i=a.f.a;e.b>0&&(p=0);f.b>0&&(i=0);h=new WA(e.b+o,e.a+p);g=new WA(f.b+o,f.a+i)}l=new TB;l.d=b;l.c=d;l.b=c;l.e=h;l.a=g;if(a.b){k=a.b.e.b;j=a.b.e.a;n=l.e.b;m=l.e.a;fe(n>k||n==k&&m>=j,"Incorrect source mappings order, previous : (%s,%s)\nnew : (%s,%s)",Blc(k),Blc(j),Blc(n),Blc(m))}a.b=l;Aqc(a.e,l)}function qPb(a){var b,c,d,e,f,g;f=GQb(a.g,0).b.b;e=FNb(a);b=GNb(a,(xTb(),KRb));if(!b)if(e.c!=fSb)fQb(a,GQb(a.g,0),QKc,vD(qD(lT,1),bDc,1,5,[KRb]));else if(lNb(e.a)&&!nNb(e.a))fQb(a,e,"Cannot use keyword in short object literal",
vD(qD(lT,1),bDc,1,5,[]));else if(PPb(a,0,WRb)){d=new ZUb(new SXb(f,a.f),e);CNb(a,WRb);c=bOb(a,1);return new qUb(new SXb(f,a.f),d,c)}g=!b?null:bOb(a,1);return new kXb(new SXb(f,a.f),e,g)}function hkb(a,b){Lib();var c,d,e,f,g,h,i,j;c=lmc(b,Hmc(46));if(c==-1)return gkb(a,b);f=b.substr(0,c);imc(jFc,f)?e=new g3b((w7b(),h7b)):imc(kFc,f)?e=new g3b((w7b(),c7b)):e=gkb(a,f);do{j=c+1;c=mmc(b,Hmc(46),j);g=c==-1?b.substr(j):b.substr(j,c-j);h=new g4b((w7b(),$6b),g);P2b(h,g.length);W0(a).bg(g)&&(i=G2b(h,h.g,43),
i!=h.g&&(h.g=i),h.g=new K3b(43,1,h.g));d=e.c+1+g.length;e=tZb(e,h);e.c=d}while(c!=-1);return e}function Qo(a){Io();var b,c,d,e,f,g,h,i,j;if(iE(a,133)&&!iE(a,321)){g=a;return g}else if(iE(a,230)){f=a;for(e=new Xvc((new Rvc(f)).a);rwc(e.a);){d=(e.b=swc(e.a),new _vc(e.c,e.b));Td(d.a);Td(d.b.b[d.a.f])}i=Uq(new Hvc(f));return i}j=a.size();switch(j){case 0:return Ho;case 1:d=Ps(a.Xd().Pd());return ap(d.ce(),d.de());default:h=new Hxc;for(c=a.Xd().Pd();c.Jd();){b=c.Kd();Exc(h,Td(b.ce()),Td(b.de()))}return new Tx(h)}}
function Hfb(a){var b,c,d,e,f,g,h;h=new Lqc;for(g=0;g<a.a.length;++g){f=a.a[g];ce(f.b==-1,"Module depth already set: %s",f);e=0;for(c=$n(f.a).Pd();c.Jd();){b=c.Kd();d=b.b;if(d<0)throw CV(new Qfb(wYb("Modules not in dependency order: %s preceded %s",vD(qD(lT,1),bDc,1,5,[f.e,b.e])),f,b));e=$wnd.Math.max(e,d+1)}Nd(e>=0,"invalid depth: %s",e);f.b=e;e==h.a.length&&Aqc(h,new Lqc);(iCc(e,h.a.length),h.a[e]).add(f)}return h}function qIb(a,b){switch(b.f){case 13:return"@"+a.i.n;case 19:return"!";case 11:return",";
case 12:return":";case 3:return">";case 5:return"[";case 7:return"{";case 9:return"(";case 2:return"<";case 17:return"?";case 14:return"|";case 6:return"]";case 8:return"}";case 10:return")";case 15:return"*";case 18:return aFc;case 20:return"=";case 4:return a.i.n;default:throw CV(new llc(b.e!=null?b.e:""+b.f));}}function k3b(a,b,c){Ld(!b.e,"first new child has existing parent");Ld(!b.d,"first new child has existing next sibling");Ld(!b.f,"first new child has existing previous sibling");Ld(!c.e,
"second new child has existing parent");Ld(!c.d,"second new child has existing next sibling");Ld(!c.f,"second new child has existing previous sibling");this.j=a;this.e=null;this.b=b;b.d=c;b.f=c;b.e=this;c.d=null;c.f=b;c.e=this;this.i=-1}function Yib(a){Lib();var b,c;if(a.j==(w7b(),B5b))return Yib(a.b);b=g2b(a,29);if(!b){c=a.e;if(!c||a.j==B5b)return null;if(c.j==o6b)return Yib(c);else if(c.j==B4b)return Yib(c);else if(Sjb(c)||c.j==e5b)return c;else if((c.j==G5b||c.j==a5b)&&a==c.b)return Yib(c);else if(!!c&&
(c.j==q7b||c.j==g6b||c.j==f5b)&&!!c.b&&!c.b.d)return c;else if(c.j==P5b&&c.b!=a||c.j==E6b||c.j==v4b||c.j==d5b&&c.b!=a)return Yib(c)}return a}function cyb(a){var b,c,d,e;if(-1==a.Fh()||ICc==a.Fh())return a;d=a.Fh();if((d&220)==0)return a;switch(d){case 64:return a.e.q;case 24:case 8:case 16:return a.e.a;case 128:return a.e.t}b=(vn(),new Or);Nr(b,a.Ih());(d&64)!=0&&Lr(b,a.e.M);(d&128)!=0&&Lr(b,a.e.M);(d&24)!=0&&Lr(b,a.e.M);e=rzb(a.e,d&-217,Dp(new grc(b.a)),a.Rh(),Zxb);for(c=a.Ch().Pd();c.Jd();){c.Kd();
e=ozb(e,(Zd(null.Uj==(Zwb(),Ywb)),null.Uj).Tj())}return e}function W8(){W8=bW;V8=bLb((XKb(),MKb),vD(qD(YO,1),gDc,25,0,[(bMb(),rLb)]));U8=new s6("JSC_DYNAMIC_EXTENDS_TYPE",(pZ(),mZ),new xnc("The class in an extends clause must be a qualified name."));S8=new s6("CLASS_REASSIGNMENT",mZ,new xnc("Class names defined inside a function cannot be reassigned."));T8=new s6("CONFLICTING_GETTER_SETTER_TYPE",mZ,new xnc("The types of the getter and setter for property ''{0}'' do not match."))}function iIb(a,b){var c,
d,e,f,g;if(b!=(YIb(),XIb))return xHb(a,aKc,a.i.g,cJb(a.i)),null;f=a.i.n;d=a.i.g;c=cJb(a.i);while(JHb(a,KIb)&&dmc(f,f.length-1)==46){pIb(a);if(JHb(a,XIb)){!a.n?dJb(a.i):BHb(a);f+=a.i.n}}g=MHb(a,f,d,c);if(JHb(a,MIb)){!a.n?dJb(a.i):BHb(a);pIb(a);e=hIb(a,f,!a.n?dJb(a.i):BHb(a));if(e){S1b(g,e);pIb(a);if(!JHb(a,SIb))return xHb(a,"msg.jsdoc.missing.gt",a.i.g,cJb(a.i)),null;!a.n?dJb(a.i):BHb(a)}}return g}function szb(a,b){ayb();var c,d,e,f,g;g=uzb(a,b);if(0==g.Fh()&&(d=a.Ih(),d.size()==1&&Ps(d.Pd()).c||(e=
b.Ih(),e.size()==1&&Ps(e.Pd()).c))){g=uzb(cyb(a),cyb(b));if(0!=g.Fh()){f=a.Ih();if(f.size()==1&&Ps(f.Pd()).c){ee((c=b.Ih(),!(c.size()==1&&Ps(c.Pd()).c)),"Two loose types %s and %s that meet to bottom, meet to non-bottom after autoboxing.",byb(a,new $mc,(bDb(),aDb)).a,byb(b,new $mc,aDb).a);return b}else return a}}return g}function XJb(a,b){var c;if(!CJb(a,b,(GKb(),AKb)))return false;if(!_Jb(a,(Pd(b.j==(w7b(),X4b),iKc,b),a2b(b,1)))){fKb(a,AKb.d);return false}if((Pd(b.j==X4b,iKc,b),a2b(b,2)).j!=z6b){a.a.lh(VJc+
t4b(jKc,vD(qD(lT,1),bDc,1,5,[eDc])),a.b.Hg(),a.d,a.c);fKb(a,AKb.d);return false}c=(Pd(b.j==X4b,iKc,b),a2b(b,2)).pi();if(c<0||c%1!=0){a.a.lh(VJc+t4b(jKc,vD(qD(lT,1),bDc,1,5,[eDc])),a.b.Hg(),a.d,a.c);fKb(a,AKb.d);return false}return true}function Pub(a,b){var c,d,e,f,g,h;h=(vn(),new Or);e=new Fwc;for(g=Ts(a.a.Pd(),a.b);g.b.Jd();){f=_s(g,g.b.Kd());c=(ivb(),d=tmc(tmc(tmc(tmc(tmc(smc(smc(f,58,45),92,47)," ",aHc),"[",bHc),"]",cHc),"<",dHc),">",eHc),jvb(d));if(!Cwc(e,Oub(c,b)))throw CV(new Nfb("Duplicate module path after resolving: "+
f));!imc(c.substr(0,1),"/")&&!(imc(c.substr(0,2),PFc)||imc(c.substr(0,3),WIc))&&(c="/"+c);Aqc(h.a,Td(c))}return Dp(new grc(h.a))}function bcb(a,b,c){var d,e,f,g,h,i,j,k;j=false;k=(Lib(),Pib(c,false,a.b));d=c;for(i=new F3b(new C3b(Td(d.e)));i.a.a;){h=E3b(i);if(h==b)return j?2:1;if(hcb(h))d!=h.b&&(j=true);else if(acb(a,h,k));else{for(g=(!h.b?(msc(),msc(),lsc):new Z3b(h.b)).Pd();g.Jd();){f=g.Kd();if(f==d)break;if(_bb(a,f,k)){k=true;j=true}}e=h.b;if(j&&h.j==(w7b(),X4b)&&(e.j==(w7b(),M5b)||e.j==L5b))return a.a?
2:0}d=h}throw CV(new llc("Unexpected."));}function qyb(a,b,c){var d,e,f;if(ICc==a.Fh()||ICc==b.Fh()||-1==b.Fh())return true;if(b.Fh()==aJc)return false;if(512==a.Fh())return 0!=uyb(b).Fh();if(mHc==a.Fh())return 0!=tyb(b).Fh();if(512==b.Fh())return e=a.Fh(),e!=0&&(e|522)==522;if(!Swb(a,b))return false;d=a.Fh()&-5;if((d|b.Fh())!=b.Fh())return false;if(a.Rh()!=null&&!imc(a.Rh(),b.Rh()))return false;if(a.Ih().isEmpty())return true;f=qCb(a.Ih(),b.Ih(),c);return f}function hX(a,b,c){var d,e,f,g,h,i,j,k;
DX((w7b(),G5b),b);f=y7b(b.j);f!=-1&&(e=b2b(b),f!=e&&cY(tEc+f+uEc+e,b));NX(a,b.b.d);g=b.b;d=b.b?b.b.f:null;if(b.j==G5b&&e2b(b,60)!=0){gX(a,(bMb(),mLb),b);DX(o6b,g);EX(g)&&g.qi().length!=0&&cY("Expected empty string.",g);h=y7b(g.j);h!=-1&&(i=b2b(g),h!=i&&cY(tEc+h+uEc+i,g));d.j==U4b?PW(a,d):fX(a,d)}else{DX(o6b,g);EX(g);j=y7b(g.j);j!=-1&&(k=b2b(g),j!=k&&cY(tEc+j+uEc+k,g));c?DX(r5b,d):PW(a,d)}}function $Nb(a,b){var c,d,e,f,g,h;f=GQb(a.g,0).b.b;d=(Sn(),new ar);CNb(a,(xTb(),ESb));while(QPb(a,LRb)||VPb(a)||
PPb(a,0,ZSb))if(QPb(a,LRb)){CNb(a,LRb);$q(d,new nVb(JNb(a,GQb(a.g,0).b.b)))}else{c=(QPb(a,ZSb)?e=(g=GQb(a.g,0).b.b,CNb(a,ZSb),h=tPb(a,b),new MTb(new SXb(g,a.f),h)):e=lPb(a,b),e);Aqc(d.a,Td(c));if(c.p==(gXb(),yVb))break;else if(QPb(a,LRb))CNb(a,LRb);else break}CNb(a,JRb);return new KTb(new SXb(f,a.f),$n(d.a))}function uzb(a,b){var c,d;if(-1==a.Fh())return b;if(-1==b.Fh())return a;if(ICc==a.Fh())return b;if(ICc==b.Fh())return a;if(0==a.Fh()||0==b.Fh())return a.e.b;if(512==a.Fh())return uyb(b);if(mHc==
a.Fh())return tyb(b);if(512==b.Fh())return uyb(a);if(mHc==b.Fh())return tyb(a);c=a.Fh()&b.Fh();if(a.Rh()==b.Rh())d=a.Rh();else{d=null;c=c&-2}return tzb(a.e,c,a.Fh()|b.Fh(),ACb(false,a.Ih(),b.Ih()),d,a.Ih(),b.Ih(),a.Ch(),b.Ch())}function iXb(){gXb();return vD(qD(BQ,1),gDc,19,0,[GWb,fWb,BVb,cXb,aXb,XVb,_Vb,kWb,WVb,dXb,cWb,eWb,bXb,SVb,CVb,KWb,eXb,FVb,UVb,OWb,pWb,TWb,GVb,UWb,TVb,SWb,jWb,qWb,vVb,BWb,JVb,LVb,KVb,iWb,LWb,HWb,MVb,NVb,PVb,QVb,uWb,IVb,AVb,RVb,ZWb,_Wb,rWb,yWb,uVb,DVb,HVb,oWb,wWb,xWb,YVb,sWb,
FWb,aWb,NWb,wVb,yVb,CWb,bWb,MWb,AWb,JWb,vWb,ZVb,$Vb,lWb,mWb,dWb,fXb,VVb,PWb,QWb,RWb,XWb,YWb,VWb,DWb,EWb,xVb,IWb,$Wb,gWb,hWb,tWb,OVb,WWb,tVb,nWb,EVb,zWb,zVb])}function i_(a,b,c){switch(b.j.f){case 96:case 148:case 151:case 159:w$(a.c,c==0);break;case 65:(b.b?b.b.f:null).j==(w7b(),r5b)?a.c.rg(true):a.c.og(c==0);break;case 155:b.e.j!=(w7b(),r6b)&&i_(a,b.b,c);break;case 108:b.e.j!=(w7b(),r6b)&&b.b.j!=j5b&&i_(a,b.b,c);break;case 114:!!b.b&&!b.b.d&&a.c.rg(true);break;case 98:case 86:case 87:f2b(b.b).j==
(w7b(),r5b)&&a.c.rg(true);break;case 156:a.c.rg(true);break;default:c==0&&a.c.rg(false)}}function lY(a,b){var c,d,e,f,g,h,i;if(!b)return!a?0:1;if(a.b!=b.b)return he(b.b,a.b);g=a.a.f;h=b.a.f;if(g!=null&&h!=null){i=emc(g,h);if(i!=0)return i}else if(g==null&&h!=null)return-1;else if(g!=null&&h==null)return 1;e=a.a.d;f=b.a.d;if(e!=f)return e-f;else if(e<0&&0<=f)return-1;else if(0<=e&&f<0)return 1;c=a.a.a;d=b.a.a;if(c!=d)return c-d;else if(c<0&&0<=d)return-1;else if(0<=c&&d<0)return 1;return emc(a.a.c,
b.a.c)}function Zlc(){Zlc=bW;var a;Vlc=vD(qD(sE,1),$Dc,45,15,[-1,-1,30,19,15,13,11,11,10,9,9,8,8,8,8,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5]);Wlc=sD(sE,$Dc,45,37,15,1);Xlc=vD(qD(sE,1),$Dc,45,15,[-1,-1,63,40,32,28,25,23,21,20,19,19,18,18,17,17,16,16,16,15,15,15,15,14,14,14,14,14,14,13,13,13,13,13,13,13,13]);Ylc=sD(tE,{3:1,550:1},45,37,14,1);for(a=2;a<=36;a++){Wlc[a]=pE($wnd.Math.pow(a,Vlc[a]));Ylc[a]=GV({l:fEc,m:fEc,h:524287},Wlc[a])}}function nyb(a){var b,c,d,e,f,g,h,i,j,k;if(!ryb(a))return Sn(),
new My(Td(a));b=(vn(),new Or);k=vD(qD(qO,1),bDc,115,0,[a.e.a,a.e.q,a.e.t,a.e.B,a.e.j]);for(h=k,i=0,j=h.length;i<j;++i){g=h[i];(a.Fh()&g.Fh())!=0&&(Aqc(b.a,Td(g)),b)}for(f=a.Ih().Pd();f.Jd();){e=f.Kd();Lr(b,rzb(e.a,2,new Py(e),null,Zxb))}for(d=a.Ch().Pd();d.Jd();){c=d.Kd();Lr(b,rzb(null.Uj,4,$xb,null,new Py(c)))}a.Rh()!=null&&Lr(b,Kyb(a.e,a.Rh()));return Dp(new grc(b.a))}function KJb(a,b){if(!CJb(a,b,(GKb(),jKb)))return false;if(!IJb(a,(Pd(b.j==(w7b(),X4b),iKc,b),a2b(b,1)))){a.a.lh(VJc+t4b(mKc,vD(qD(lT,
1),bDc,1,5,[nKc])),a.b.Hg(),a.d,a.c);return false}if(!_Jb(a,(Pd(b.j==X4b,iKc,b),a2b(b,2)))){a.a.lh(VJc+t4b(mKc,vD(qD(lT,1),bDc,1,5,[nKc])),a.b.Hg(),a.d,a.c);return false}if(!_Jb(a,(Pd(b.j==X4b,iKc,b),a2b(b,3)))){a.a.lh(VJc+t4b(mKc,vD(qD(lT,1),bDc,1,5,[nKc])),a.b.Hg(),a.d,a.c);return false}return true}function i9b(a,b,c,d){var e,f,g,h,i,j,k,l,m,n;if(!iE(b,77))return false;f=b;if(!a.b.Si(f.b,c,d))return false;m=a.a.b;i=f.a.b;while(!!m&&!!i){n=iE(m.k,23)?m.k:null;j=iE(i.k,23)?i.k:null;if(n)if(!j||!j.Si(n,
c,d))return false;l=e2b(m,30)!=0;h=e2b(i,30)!=0;k=l||e2b(m,37)!=0;g=h||e2b(i,37)!=0;if(!k&&g){e=h&&(!j||j.ai()||j.Mi());if(!e)return false}l||(m=m.d);h||(i=i.d);if(l&&h){m=null;i=null}}return!m||e2b(m,37)!=0||e2b(m,30)!=0||!!i}function Sfb(b,c){var d,e,f,g;e=new Yfb(c.Kf());try{f=vJb(b.c,b.c.a,c.Mf(b.c.c?1:0),e);b.b=f.a;c.Lf();if(f.b!=null&&c.Lf().Zc){c.Lf();g=Spb(b.c,f.b);!!g&&c.Jf(b.c.b,new Rpb(g))}}catch(a){a=BV(a);if(iE(a,102))c.Qf(new ofb(null,null,-1,-1,(kW(),jW),null,vD(qD(qT,1),NCc,2,6,[b.c.b])));
else throw CV(a);}!b.b?b.b=(d=new g3b((w7b(),U6b)),d):c.Pf(b.b);if(e.b.a.length!=0||e.c.a.length!=0){f=($n(e.b),$n(e.c),new Xfb);C2b(b.b,86,f)}V2b(b.b,b.c)}function s5(a){var b,c,d;if("".length>0){if(!v5(a.a,(qCc(0,"".length),"".charCodeAt(0)))){b=sD(rE,OCc,45,a.a.length,15,1);for(c=0;c<b.length;c++)b[c]=a.a[c].a;throw CV(new Nfb("prefix must start with one of: "+Hrc(b)));}for(d=1;d<"".length;++d){b=sD(rE,OCc,45,a.b.length,15,1);for(c=0;c<b.length;c++)b[c]=a.b[c].a;if(!v5(a.b,(qCc(d,"".length),"".charCodeAt(d))))throw CV(new Nfb("prefix has invalid characters, must be one of: "+
Hrc(b)));}}}function Cac(a,b,c){var d,e,f,g,h,i;if(a.mj())return Wmc(b,c?D9b(a):a.jj());if(!a.u)return b.a+=c?"?":"{...}",b;a.u=false;h=new qAc;for(d=a;!!d&&!d.nj()&&h.a.size()<=10;d=d.ej())Mc(h,d.fj());b.a+="{";i=!c&&h.a.size()>2;e=0;for(g=h.a.keySet().Pd();g.Jd();){f=g.Kd();e>0&&(b.a+=",",b);i?(b.a+="\n  ",b):e>0&&(b.a+=" ",b);Wmc((b.a+=""+f,b),WDc);N7b(a.ij(f),b,c);++e;if(!c&&e==10){b.a+=", ...";break}}i&&(b.a+=YDc,b);b.a+="}";a.u=true;return b}function DZ(){DZ=bW;CZ=new s6("JSC_REGEXP_REFERENCE",
(pZ(),oZ),new xnc("References to the global RegExp object prevents optimization of regular expressions."));BZ=new s6("JSC_MALFORMED_REGEXP",oZ,new xnc("Malformed Regular Expression: {0}"));Jp("$1","$2","$3","$4","$5","$6",vD(qD(qT,1),NCc,2,6,["$7","$8","$9","$_","$input","input","lastMatch","lastParen","leftContext","rightContext","global","ignoreCase","lastIndex","multiline","source"]))}function yCb(a,b){var c,d,e,f,g,h,i,j,k;f=a.d;g=b.d;ee(jBb(f,g)||jBb(g,f),"Unrelated nominal types %s and %s",
f,g);if(a==a.a.M||b==b.a.J)return b;else if(b==b.a.M||a==a.a.J)return a;c=a.a;j=CBb(f,g);d=Cxb(a.b,b.b);if(!(!d||d!=d.a.c))return c.J;e=a.c&&b.c||!!d&&d.c;if(null.Tj()&&!d){d=!a.b?b.b:a.b;e=d.c}e?i=tCb(a.g,b.g):i=zCb(c,false,j,a.g,b.g);if(i==c.d)return c.J;h=NBb(a.f,b.f);k=vyc(a.e,b.e)?a.e:null;return new fCb(c,j,i,d,k,e,h)}function $Hb(a,b){var c,d;if(b==(YIb(),NIb)){c=new Fwc;while(true){if(JHb(a,XIb)){d=a.i.n;!rHb.contains(d)&&!o0b(a.e,d)&&wHb(a,"msg.jsdoc.modifies.unknown",d,a.i.g,cJb(a.i));Cwc(c,
a.i.n);b=!a.n?dJb(a.i):BHb(a)}else{uHb(a,eKc,a.i.g,cJb(a.i));return b}if(JHb(a,QIb))b=!a.n?dJb(a.i):BHb(a);else break}if(JHb(a,TIb)){b=!a.n?dJb(a.i):BHb(a);c1b(a.e,c)||uHb(a,"msg.jsdoc.modifies.duplicate",a.i.g,cJb(a.i))}else uHb(a,eKc,a.i.g,cJb(a.i))}return b}function EB(a,b,c){var d,e,f,g,h,i,j;g=IB(a)+1;b.a+="{\n";MB(b,"version",true);b.a+="3";LB(b,(rC(),uC(c)));MB(b,"lineCount",false);b.a+=""+g;MB(b,"mappings",false);PB(new RB(a,b,g));MB(b,"sources",false);b.a+="[";KB(b,a.k);b.a+="]";DB(a,b);
MB(b,"names",false);b.a+="[";KB(b,a.g);b.a+="]";for(f=(i=(new Boc(a.a)).a.Xd().Pd(),new Hoc(i));f.a.Jd();){e=(d=f.a.Kd(),d.ce());h=Dxc(a.a,e);nE(h)?j=uC(h):j=fW(h);MB(b,e,false);b.a+=""+j}b.a+="\n}\n"}function bQb(a){switch(GQb(a.g,0).c.f){case 45:case 25:case 30:case 52:case 15:case 10:case 27:case 13:case 6:case 3:case 19:case 28:case 20:case 22:case 23:case 7:case 44:case 2:case 108:case 109:case 110:case 111:case 21:case 29:case 35:case 100:case 101:case 107:case 104:case 97:case 98:case 94:case 95:case 99:case 49:case 47:case 18:case 9:case 26:case 24:case 68:case 69:case 63:case 64:case 77:case 76:return true;
default:return false}}function EBb(a,b){hBb();var c,d,e,f,g,h,i,j,k;f=a.b;g=b.b;if(f.d.d.isEmpty()&&g.d.d.isEmpty())return a;else if(f.d.d.isEmpty()||g.d.d.isEmpty())return null;c=(Io(),new ir);for(e=Jo(f).Pd();e.Jd();){d=e.Kd();k=d.ce();i=d.de();j=k==null?null:gw(g.d,k);if(ICc==i.Fh())Aqc(c.b,(wm(k,j),new Pq(k,j)));else if(ICc==j.Fh())Aqc(c.b,(wm(k,i),new Pq(k,i)));else{h=Dzb(i,j);if(!h)return null;Aqc(c.b,(wm(k,h),new Pq(k,h)))}}return new xBb(Wo(c.b),a.a)}function _Jb(a,b){var c,d;if(!(b.j==(w7b(),
o6b)||b.j==$6b||b.j==X4b)){a.a.lh(VJc+t4b(kKc,vD(qD(lT,1),bDc,1,5,[lKc])),a.b.Hg(),a.d,a.c);return false}if(b.j==o6b||b.j==$6b)return true;d=(Pd(b.j==X4b,iKc,b),b.b.qi());if(!EJb(d)){a.a.lh(VJc+t4b(kKc,vD(qD(lT,1),bDc,1,5,[lKc])),a.b.Hg(),a.d,a.c);return false}c=IKb(Vb(d));switch(c.a){case 0:return YJb(a,b);case 1:return PJb(a,b);default:throw CV(new llc("Invalid type transformation expression"));}}function iYb(a,b,c){var d,e,f,g,h,i,j,k,l;j=c;k=a.b.p;h=a.b.n;d=Imc(b);if(h>=0){d=$wnd.Math.min(d,h);
iE(b,28)?(l=b.a.length,d<l?b.a=Amc(b.a,0,d):d>l&&(b.a+=Mmc(sD(rE,OCc,45,d-l,15,1))),undefined):b=Jmc(b,0,d)}k>0&&(k=$wnd.Math.max(Imc(b),k));if(d>=k)return b;e=32;a.b.k?a.b.b==100?e=48:e=48:j=0;f=sD(rE,OCc,45,k-d,15,1);vrc(f,f.length,e);g=a.b.f;i=iE(b,28)?b:new anc(b);g?(i.a+=Nmc(f,0,f.length),i):Zmc(i,j,Nmc(f,0,f.length));return i}function TYb(a){var b,c,d,e,f,g,h,i;h=wmc(a,"\r?\n",0);b=(Io(),new ir);for(e=0;e<h.length;++e){g=h[e];if(g.length==0||imc(g.substr(0,1),"#")||imc(g.substr(0,1),"!"))continue;
c="";d=SYb(g);if(d==-1)continue;f=Emc(g.substr(0,d));g=UYb(g.substr(d+1));while(true){i="\\".length;if(imc(g.substr(g.length-i,i),"\\")){c+=Amc(g,0,g.length-1);if(e+1==h.length)break;g=UYb(h[++e])}else{c+=g;break}}Aqc(b.b,(wm(f,c),new Pq(f,c)))}return new RYb(Wo(b.b))}function wZ(){wZ=bW;af(new ic(46));new Kc(String.fromCharCode(46));vZ=new s6("JSC_MISSING_REQUIRE_WARNING",(pZ(),nZ),new xnc(JEc));tZ=new s6("JSC_MISSING_REQUIRE_FOR_GOOG_SCOPE",nZ,new xnc(JEc));uZ=new s6("JSC_MISSING_REQUIRE_STRICT_WARNING",
nZ,new xnc(JEc));sZ=new s6("JSC_EXTRA_REQUIRE_WARNING",nZ,new xnc("extra require: ''{0}''"));vn();Fp(vD(qD(lT,1),bDc,1,5,["goog.testing.asserts","goog.testing.jsunit","goog.testing.JsTdTestCaseAdapter"]))}function uib(a,b,c){var d,e,f,g,h;d=b.j;if(d==(w7b(),U6b)){jib(a,b,c);return}else if(d==G5b){iib(a,b,c);return}a.e=b;if(!a.a.Yf(a,b,c))return;d==a5b?(e=b.b,f=(Lib(),b.j==a5b&&(!(b.j==a5b&&Ujb(b.b))||!zjb(b.e))),f||uib(a,e,b),a.e=b,nib(a,b),f&&uib(a,e,b),g=b.b.d,h=g.d,uib(a,g,b),uib(a,h,b),mib(a,
false),undefined):d==m6b?(nib(a,b),vib(a,b),mib(a,false),undefined):a.p&&Tib(b)?(nib(a,b),vib(a,b),mib(a,false),undefined):vib(a,b);a.e=b;a.a.Zf(a,b,c)}function qdb(a,b,c,d,e,f){var g,h,i,j,k,l,m,n;if(tdb(a,b,c,d))return;j=mdb(a,d,f);j.q=e;udb(a,b,c,j);k=new Ndb(b,(i=(Wdb(),Udb),++a.a.b,i));ydb(j,k);if(c.j==(w7b(),B4b)&&c.e.j!=B5b){g=new Ndb(b,(h=Pdb,++a.a.b,h));ydb(j,g);Kd((k.b==Pdb||g.b==Pdb)&&(k.b==Udb||k.b==Vdb||g.b==Udb||g.b==Vdb))}else(l=jjb(b),m=(Lib(),n=Yib(b),!n?null:g2b(n,29)),!!m&&!!l&&
((m.a&2)!=0&&l.j==G5b||((m.a&512)!=0||(m.a&IGc)!=0)&&l.j==G5b||(m.a&wGc)==OHc&&l.j==B6b))&&Adb(j)}function s$(a,b){var c,d,e,f,g,h;f=a.sg();e=b==0&&1/b<0;(b<0||e)&&f==45&&r$(a," ");if(e)r$(a,"-0");else if(RV(IV(b))==b){g=IV(b);d=g;c=0;if($wnd.Math.abs(b)>=100)while(HV(LV(GV(d,10),IV($wnd.Math.pow(10,c+1))),g)){d=GV(d,10);++c}if(c>2)r$(a,TV(d)+"E"+c);else{h=EV(g,0)<0?MV(g):g;EV(h,1E12)>0&&Llc(h,4).length+2<(""+TV(h)).length?r$(a,(EV(g,0)<0?"-":"")+"0x"+Llc(h,4)):r$(a,""+TV(g))}}else r$(a,vmc(tmc(""+
b,".0E","E"),"^(-?)0\\.","$1."))}function fIb(a,b){var c;if(b==(YIb(),RIb)){b=!a.n?dJb(a.i):BHb(a);if(b==GIb||b==LIb||b==VIb||b==TIb||b==UIb||b==QIb||b==SIb||b==IIb||b==KIb||b==JIb){a.n=b;return LHb(a,(w7b(),M6b))}return rIb(a,(w7b(),M6b),RHb(a,b))}else if(b==EIb)return rIb(a,(w7b(),P4b),RHb(a,!a.n?dJb(a.i):BHb(a)));else{c=RHb(a,b);if(c)if(JHb(a,RIb)){!a.n?dJb(a.i):BHb(a);return rIb(a,(w7b(),M6b),c)}else if(JHb(a,EIb)){!a.n?dJb(a.i):BHb(a);return rIb(a,(w7b(),P4b),c)}return c}}function F7b(a,b,c,
d,e){var f,g,h,i,j,k,l;g=new p4b((w7b(),H5b),a);Td(b);Td(c);for(j=new fyc(new Yxc(b));j.b!=j.c.a.b;){h=dyc(j);f=FZb(h.d);R1b(g,G7b(f,h.e))}for(i=new fyc(new Yxc(c));i.b!=i.c.a.b;){h=dyc(i);f=FZb(h.d);l=G2b(f,f.g,80);l!=f.g&&(f.g=l);f.g=new K3b(80,1,f.g);R1b(g,G7b(f,h.e))}if(d!=null){k=new i3b(P6b,(ce(lmc(d,Hmc(46))==-1,NEc,d),new g4b(o6b,d)));R1b(g,(!!e&&(l=G2b(k,k.g,78),l!=k.g&&(k.g=l),!!e&&(k.g=new U3b(78,e,k.g))),k))}return g}function cHb(a,b){var c,d;if(b.a.size()==1){c=b.a.getAtIndex(0);switch(c){case "any":d=
aFb(a.a,new o4b((w7b(),x4b)));break;case FCc:d=aFb(a.a,new o4b((w7b(),A6b)));break;case ECc:d=aFb(a.a,new o4b((w7b(),V4b)));break;case HCc:d=aFb(a.a,new o4b((w7b(),a7b)));break;case rFc:d=aFb(a.a,new o4b((w7b(),s7b)));break;case _Gc:d=aFb(a.a,new o4b((w7b(),n7b)));break;default:d=aFb(a.a,H7b(b.a))}}else d=aFb(a.a,H7b(b.a));p3b(d.i)==-1&&DFb(d,b.o.b,b.o.a);return d}function qxb(a,b){var c,d,e,f,g,h,i,j,k;if(b.isEmpty()||a==a.a.v||a==a.a.g)return a;if(a.a.i!=b)for(i=wn(a.n.a.cf()).Pd();i.Jd();){h=i.Kd();
Zd(!b.containsKey(h))}c=new Xxb(a.a);for(g=a.i.Pd();g.Jd();){f=g.Kd();Sxb(c,zyb(f,b))}for(e=a.e.Pd();e.Jd();){d=e.Kd();Pxb(c,zyb(d,b))}!!a.j&&Txb(c,zyb(a.j,b));Uxb(c,zyb(a.k,b));a.c&&(c.c=true,c);Oxb(c,Gxb(a.d,b));Rxb(c,Gxb(a.g,b));for(k=a.f.cf().Pd();k.Jd();){j=k.Kd();Qxb(c,j,a.f.get(j))}Vxb(c,a.n);return Wxb(c)}function nOb(a,b,c){var d,e,f,g,h,i,j,k;h=GQb(a.g,0).b.b;CNb(a,(xTb(),FRb));g=null;(!b||(k=GQb(a.g,0).c,hwc(dwc(fSb,vD(qD(jP,1),gDc,12,0,[oTb,PRb,tSb,uSb])),k)||!a.b.c&&mNb(k)))&&(g=DNb(a));
e=MNb(a);i=null;if(QPb(a,_Rb)){CNb(a,_Rb);i=QNb(a,1)}f=(Sn(),new ar);if(a.b.d&&QPb(a,hSb)){CNb(a,hSb);j=DPb(a);Aqc(f.a,Td(j));while(QPb(a,LRb)){CNb(a,LRb);j=DPb(a);!!j&&(Aqc(f.a,Td(j)),f)}}CNb(a,CSb);d=pOb(a,c);CNb(a,HRb);return new VTb(new SXb(h,a.f),g,e,i,$n(f.a),d)}function kdb(a,b){var c,d,e;e=a;for(d=new F3b(new C3b(Td(a.e)));d.a.a;){c=E3b(d);switch(c.j.f){case 41:case 84:case 76:case 100:case 88:case 66:case 70:case 72:case 73:case 25:case 79:case 19:case 20:case 21:case 22:return Wdb(),Sdb;
case 60:if(c.b==e)return Wdb(),Sdb;break;case 47:if(!z2b(c.b,b))return Wdb(),Pdb;break;case 29:if(!imc(b,c.qi()))return Wdb(),Pdb;break;case 28:if(c.b!=e)return Wdb(),Pdb;break;case 24:return Wdb(),Rdb}e=c}return Wdb(),Pdb}function VW(a,b,c){var d,e,f,g,h,i,j,k;switch(b.j.f){case 98:case 86:case 87:JX(b);i=y7b(b.j);i!=-1&&(e=b2b(b),i!=e&&cY(tEc+i+uEc+e,b));k=b.b;c?hX(a,k,true):hX(a,k,false);break;case 156:f=b2b(b);0!=f&&cY(rEc+f,b);break;case 114:ZW(a,b);break;case 157:j=y7b(b.j);j!=-1&&(g=b2b(b),
j!=g&&cY(tEc+j+uEc+g,b));TW(b.b);break;case 158:h=y7b(b.j);h!=-1&&(d=b2b(b),h!=d&&cY(tEc+h+uEc+d,b));break;case 80:break;default:cY("Class contained member of invalid type "+b.j,b)}}function aCb(a,b){var c,d,e,f,g,h;Zd(hCb(a.d,b.d));null.Tj()&&null.Uj==2?g=a.d:g=CBb(a.d,b.d);if(!null.Tj()&&!null.Tj()&&!null.Tj()){Zd(!a.b&&!b.b);f=zCb(a.a,true,g,a.g,b.g);if(HAb(a.a,f))return a.a.J;return new fCb(a.a,g,f,null,a.e,false,a.f)}h=a.b;c=a.c;if(null.Tj()&&!a.b){h=b.b;c=b.b.c}c&&null.Tj()&&(g=null);e=zCb(a.a,
true,g,a.g,b.g);if(HAb(a.a,e))return a.a.J;d=!h?null:oxb(h,b.b);if(!(!d||d!=d.a.c))return a.a.J;return new fCb(a.a,g,e,d,a.e,c,a.f)}function PBb(a,b,c){if(VBb(a))return Wmc(Wmc(b,fyb(ixb(VBb(a)))),hHc);if(c.li()){a.b?axb(a.b,b,c):(new Wnc(a.g.a)).a.size()==0?null.Tj()?(b.a+="!Object",b):iBb(a.d,b,c):OBb(a,b,c);return b}if(!YBb(a)){if(a.b)return axb(a.b,b,c);return iBb(a.d,b,c)}if(!null.Tj()&&!null.Tj()&&!null.Tj())iBb(a.d,b,c);else if((a.f.a&1)!=0)b.a+="struct";else if((a.f.a&2)!=0)b.a+="dict";else if(a.b){b.a+=
"<|";axb(a.b,b,c);b.a+="|>"}OBb(a,b,c);a.c&&(b.a+=" (loose)",b);return b}function j8(a,b){var c,d,e,f,g;f=b.e;if(b.c){e=(ce(lmc(fHc,Hmc(46))==-1,NEc,fHc),new g4b((w7b(),o6b),fHc));c=lZb(e,(ce(lmc(BGc,Hmc(46))==-1,NEc,BGc),new g4b(o6b,BGc)),f5b);d=new I1b(false);y1b(d,new L1b(new i3b(P4b,new g4b($6b,"Arguments")),"<Es6RewriteArrowFunction>"));N2b(c,n0b(d));f3b(c,f);S1b(f,c);N1(a.a,c)}if(b.d){e=(ce(lmc(gHc,Hmc(46))==-1,NEc,gHc),new g4b((w7b(),o6b),gHc));g=lZb(e,new g3b(h7b),f5b);f3b(g,f);l8(a,g);!b.b?
S1b(f,g):P1b(f,g,b.b);N1(a.a,g)}}function CQb(a){var b;a.d=a.b.a.length==0?a.d:GQb(a,0).b.b.c;a.b.a=sD(lT,bDc,1,0,5,1);b=a.d;BQb(a);if(!$Qb(a))return new xNb((xTb(),SSb),Amc(a.e.a,b,a.d),sNb(a.e.b,b,a.d));if((AQb(a,a.d)?dmc(a.e.a,a.d):0)!=47){IQb(a,"Expected '/' in regular expression literal",vD(qD(lT,1),bDc,1,5,[]));return new xNb((xTb(),SSb),Amc(a.e.a,b,a.d),sNb(a.e.b,b,a.d))}BQb(a);while(jRb(AQb(a,a.d)?dmc(a.e.a,a.d):0))BQb(a);return new xNb((xTb(),SSb),Amc(a.e.a,b,a.d),sNb(a.e.b,b,a.d))}function qzb(a,
b){switch(b){case 0:return a.b;case 8:return a.w;case 16:return a.e;case 32:return a.j;case 64:return a.q;case 128:return a.t;case 256:return a.B;case 512:return a.A;case mHc:return a.f;case ICc:return a.G;case aJc:return a.H;case -1:return a.u;case 24:return a.a;case 192:return a.r;case 280:return a.C;case 320:return a.D;case 384:return a.F;case 288:return a.p;case 56:return a.k;case 96:return a.n;case 160:return a.o;default:return new Lzb(a,b)}}function K$b(a){var b,c,d,e,f,g,h,i,j;e=new Lqc;!!a.i&&
Aqc(e,a.i.a);!!a.g&&Aqc(e,a.g.a);if(a.d){!!a.d.a&&Aqc(e,a.d.a.a);if(a.d.e)for(d=new grc(a.d.e);d.a<d.c.a.length;){c=erc(d);!!c&&Aqc(e,c.a)}if(a.d.f)for(d=new grc(a.d.f);d.a<d.c.a.length;){c=erc(d);!!c&&Aqc(e,c.a)}if(a.d.n)for(h=(f=(new Loc(a.d.n)).a.Xd().Pd(),new Qoc(f));h.a.Jd();){g=(b=h.a.Kd(),b.de());!!g&&Aqc(e,g.a)}if(a.d.r)for(j=new grc(a.d.r);j.a<j.c.a.length;){i=erc(j);!!i&&Aqc(e,i.a)}}return e}function X8(a,b){var c,d,e,f,g,h,i;g=e2b(b,58)!=0?a.d:a.e;h=b.j==(w7b(),e5b)?_ib(g,b.b):ajb(g,b.qi());
if(!h){h=IZb(vD(qD(SR,1),OEc,7,0,[SZb("configurable",new g3b(j7b)),SZb("enumerable",new g3b(j7b))]));b.j==e5b?R1b(g,kZb(Y1b(b.b,false),h)):R1b(g,SZb(b.qi(),h))}d=b.b?b.b.f:null;e=K1b((Lib(),f=Yib(d),!f?null:g2b(f,29)));v1b(e,new L1b(new i3b(P4b,QZb(a.f)),(c=g2b(b,51),!c?null:c.Hg())));i=SZb(b.j==N5b||e2b(b,73)!=0?"get":"set",$1b(d));N2b(i,n0b(e));R1b(h,i);f3b(h,b)}function ffb(a,b,c){var d,e,f,g,h,i,j;f=false;b.a+=_Hc;d=c.b;if(d.j==(w7b(),u6b)){b.a+="new:";gfb(a,b,d.b);f=true}else if(d.j==h7b){b.a+=
"this:";gfb(a,b,d.b);f=true}else if(d.j==r5b){b.a+=")";return}else if(d.j!=G6b){b.a+="):";gfb(a,b,d);return}i=null;d.j==G6b?i=d:d.d.j==G6b&&(i=d.d);if(i){e=true;for(h=(!i.b?(msc(),msc(),lsc):new Z3b(i.b)).Pd();h.Jd();){g=h.Kd();(!e||f)&&(b.a+=",",b);gfb(a,b,g);e=false}}b.a+=")";j=c.b?c.b.f:null;if(j.j!=r5b){b.a+=":";gfb(a,b,j)}}function Lib(){Lib=bW;Cib=Jp(zGc,"Date",PGc,XGc,WGc,"XMLHttpRequest",vD(qD(qT,1),NCc,2,6,[]));Bib=Jp(XGc,zGc,bEc,VGc,TGc,WGc,vD(qD(qT,1),NCc,2,6,[PGc]));Hib=(vn(),Fp(vD(qD(lT,
1),bDc,1,5,["toString","valueOf"])));Iib=Fp(vD(qD(lT,1),bDc,1,5,["test","exec"]));Jib=Fp(vD(qD(lT,1),bDc,1,5,["match","replace","search","split"]));Dib=dwc((w7b(),G5b),vD(qD(UR,1),gDc,10,0,[U6b,m6b,S6b]));Kib=new skb;Eib=dwc(U6b,vD(qD(UR,1),gDc,10,0,[m6b,U4b,b6b,r6b,a6b]));Fib=new Hkb;Gib=new vkb}function aB(b,c,d){var e,f,g,h,i,j,k;!d&&(d=new eB);try{if(c.c>=0||c.d!=null||c.g!=null||c.e!=null)throw CV(new oC("Invalid map format"));g=new JB;for(k=c.f.Pd();k.Jd();){j=k.Kd();h=j.d;j.c==0&&(h=null);
if(h==null)throw CV(new oC("Unable to retrieve: "+j.d));HB(g,j.b,j.a,h)}i=new $mc;try{EB(g,i,c.b)}catch(a){a=BV(a);if(iE(a,102)){e=a;throw CV(new AC(e));}else throw CV(a);}_A(b,i.a)}catch(a$1){a$1=BV(a$1);if(iE(a$1,102)){f=a$1;throw CV(new oC("IO exception: "+f));}else throw CV(a$1);}}function _2b(a,b,c,d,e){var f,g,h,i,j,k;Vmc(b,a.j);if(iE(a,8)){b.a+=" ";Wmc(b,a.qi())}else if(a.j==(w7b(),G5b)){b.a+=" ";!a.b||a.b.j!=o6b?(b.a+="<invalid>",b):Wmc(b,a.b.qi())}else if(a.j==z6b){b.a+=" ";Qmc(b,a.pi())}if(c){h=
p3b(a.i);if(h!=-1){b.a+=" ";b.a+=h}if(a.c!=0){b.a+=" [length: ";Rmc(b,a.c);b.a+="]"}}if(d){g=j2b(a);for(f=0;f<g.length;f++){i=g[f];k=w2b(a,i);b.a+=" [";Wmc(b,w3b(i));b.a+=WDc;b.a+=""+k;b.a+="]"}}if(e&&!!a.k){j=fW(a.k);if(j!=null){b.a+=" : ";b.a+=""+j}}}function odb(a,b,c,d){var e,f,g;if(tdb(a,b,c,d))return;switch(c.j.f){case 84:case 66:case 41:case 25:case 79:case 19:case 20:case 21:case 96:case 22:g=(Wdb(),Sdb);break;case 28:b==c.b?g=(Wdb(),Qdb):sdb(a,c)?g=(Wdb(),Sdb):g=(Wdb(),Pdb);break;case 23:g=
b==c.b?(Wdb(),Sdb):(Wdb(),Pdb);break;case 61:case 62:g=kdb(c,d);break;case 60:b!=c.b?g=kdb(c,d):g=(Wdb(),Sdb);break;case 24:g=(Wdb(),Rdb);break;default:g=(Wdb(),Pdb)}f=mdb(a,d,true);ydb(f,new Ndb(b,(e=g,++a.a.b,e)))}function aIb(a,b){var c,d,e;e=LHb(a,(w7b(),G6b));c=false;d=null;if(b!=(YIb(),UIb)){do{if(d){!a.n?dJb(a.i):BHb(a);pIb(a);b=!a.n?dJb(a.i):BHb(a)}if(b==HIb){pIb(a);if(JHb(a,UIb))d=LHb(a,q5b);else{pIb(a);d=rIb(a,q5b,fIb(a,!a.n?dJb(a.i):BHb(a)));pIb(a)}c=true}else{d=fIb(a,b);if(JHb(a,LIb)){pIb(a);
!a.n?dJb(a.i):BHb(a);d=rIb(a,w5b,d)}}if(!d)return null;R1b(e,d);if(c)break}while(JHb(a,GIb))}if(c&&JHb(a,GIb))return xHb(a,"msg.jsdoc.function.varargs",a.i.g,cJb(a.i)),null;return e}function Ukb(a,b,c,d){var e,f,g,h,i,j,k,l,m;for(e=b.b;e;e=m){m=e.d;i=!c?e:c;j=!c?b:d;switch(e.j.f){case 83:Ukb(a,e,i,j);break;case 73:case 101:g=e.b;if(g.j==(w7b(),q7b)){l=g;k=l.b.oi(false);H2b(g.e,g,k);Q1b(j,l,i);Ykb(a,"FOR-IN var declaration",b)}break;case 72:if(e.b.j!=(w7b(),r5b)){h=e.b;if(h.j==g6b||h.j==f5b||h.j==
a5b||h.j==G5b)return;f=new g3b(r5b);e3b(f,e);H2b(e,h,f);h.j==q7b?l=h:l=(Lib(),c3b(($d(BZb(h),h),new i3b(B5b,h)),h));Q1b(j,l,i);Ykb(a,"FOR initializer",b)}}}}function WJb(a,b){var c,d,e;if(!CJb(a,b,(GKb(),BKb)))return false;e=(Pd(b.j==(w7b(),X4b),iKc,b),b2b(b)-1);c=(Pd(b.j==X4b,iKc,b),a2b(b,1));if(c.j!=o6b&&c.j!=$6b){a.a.lh(VJc+t4b(jKc,vD(qD(lT,1),bDc,1,5,["type name or type variable"])),a.b.Hg(),a.d,a.c);a.a.lh(VJc+t4b(mKc,vD(qD(lT,1),bDc,1,5,[tKc])),a.b.Hg(),a.d,a.c);return false}for(d=1;d<e;d++)if(!_Jb(a,
(Pd(b.j==X4b,iKc,b),a2b(b,d+1)))){a.a.lh(VJc+t4b(mKc,vD(qD(lT,1),bDc,1,5,[tKc])),a.b.Hg(),a.d,a.c);return false}return true}function ltb(){ltb=bW;itb=new s6("JSC_CANNOT_PARSE_GENERATED_CODE",(pZ(),mZ),new xnc("Internal compiler error. Cannot parse generated code: {0}"));ktb=new s6("JSC_GENERATED_BAD_CODE",mZ,new xnc("Internal compiler error. Generated bad code.----------------------------------------\nExpected:\n{0}\n----------------------------------------\nActual:\n{1}"));jtb=new s6("JSC_EXTERN_PROPERTIES_CHANGED",
mZ,new xnc("Internal compiler error. Extern properties modified from:\n{0}\nto:\n{1}"))}function XOb(a){var b,c,d,e,f;f=GQb(a.g,0).b.b;e=ePb(a);if(!iE(e,346)||!!e.a)while(PPb(a,0,(xTb(),DSb))||PPb(a,0,ESb)||PPb(a,0,JSb)||PPb(a,0,ySb)||PPb(a,0,gTb))switch(GQb(a.g,0).c.f){case 47:b=YNb(a);e=new RTb(new SXb(f,a.f),e,b);break;case 49:CNb(a,ESb);d=QNb(a,1);CNb(a,JRb);e=new gVb(new SXb(f,a.f),e,d);break;case 51:CNb(a,JSb);c=ENb(a);e=new fVb(new SXb(f,a.f),e,c);break;case 107:case 104:e=CPb(a,e);break;default:throw CV(new dkc("unexpected case: "+
GQb(a.g,0).c));}return e}function X1(a){var b,c,d,e,f;e=(a.M.rd!=(H4(),E4)&&!!a.W&&Qlb(a.W,MFc,true),new zqb);try{for(c=(!a.O&&(a.O=new Uvb),new grc((f=new Lqc,Pqb(),Aqc(f,Mqb),Pqb(),Aqc(f,Eqb),Aqc(f,Kqb),Aqc(f,Bqb),Aqc(f,Fqb),Aqc(f,Jqb),Aqc(f,Iqb),Aqc(f,Gqb),undefined,Pqb(),Aqc(f,Dqb),Aqc(f,Hqb),Aqc(f,Aqb),Aqc(f,Lqb),Aqc(f,Nqb),Aqc(f,Oqb),undefined,Pqb(),Aqc(f,Cqb),f)));c.a<c.c.a.length;){b=erc(c);if(a.j.a.d>0)return;b.Cg(a).Tf(a.q,a.C)}}finally{d=PV(IV(Date.now()),e.a);a.M.rd!=E4&&!!a.W&&Rlb(a.W,
MFc,d)}}function rOb(a,b,c){var d,e,f,g,h,i;f=GQb(a.g,0).b.b;CNb(a,b);d=(Sn(),new ar);while(QPb(a,(xTb(),cSb))||QPb(a,gSb))QPb(a,cSb)?$q(d,(g=GQb(a.g,0).b.b,CNb(a,cSb),CNb(a,DSb),h=GQb(a.g,0).c,hwc(dwc(fSb,vD(qD(jP,1),gDc,12,0,[oTb,PRb,tSb,uSb])),h)||!a.b.c&&mNb(h)?OOb(a):kPb(a,1),INb(a,"of"),bOb(a,1),CNb(a,IRb),new eUb(new SXb(g,a.f)))):$q(d,(i=GQb(a.g,0).b.b,CNb(a,gSb),CNb(a,DSb),bOb(a,1),CNb(a,IRb),new fUb(new SXb(i,a.f))));bOb(a,1);CNb(a,c);return new gUb((e=new SXb(f,a.f),$n(d.a),e))}function inb(){inb=
bW;var a,b;fnb=(w7b(),new mnb);gnb=new lnb("REGISTER_NUMBER",1,(b="goog.tweak.registerNumber",b));hnb=new lnb("REGISTER_STRING",2,(a="goog.tweak.registerString",a));enb=new jnb("OVERRIDE_DEFAULT_VALUE",3,"goog.tweak.overrideDefaultValue");bnb=new jnb("GET_COMPILER_OVERRIDES",4,"goog.tweak.getCompilerOverrides_");anb=new knb("GET_BOOLEAN",5,"goog.tweak.getBoolean");cnb=new knb("GET_NUMBER",6,"goog.tweak.getNumber");dnb=new knb("GET_STRING",7,"goog.tweak.getString")}function xbb(a){var b,c,d,e,f;e=
new $mc;for(d=0;d<a.length;){b=dmc(a,d++);if(b==92){c=dmc(a,d++);switch(c){case 116:e.a+="\t";break;case 110:e.a+=YDc;break;case 114:e.a+="\r";break;case 102:e.a+="\f";break;case 98:e.a+="\b";break;case 117:f=dlc(a.substr(d,d+4-d));Pmc(e,f&SCc);d+=4;break;case 10:case 8232:case 8233:break;case 13:qCc(d+1,a.length);a.charCodeAt(d+1)==10&&++d;break;default:e.a+=String.fromCharCode(b);e.a+=String.fromCharCode(c)}}else e.a+=String.fromCharCode(b)}return e.a}function a7(a,b,c,d){var e,f,g,h,i,j,k;$d(c.j==
(w7b(),M5b)||c.j==L5b,c);$d(b.j==c7b,b);g=c.e;Zd(g.j==X4b);f=(Lib(),$ib(b,new ykb(a5b)));k=f.b.d;if(!t2b(k))return;e=c;if(e2b(d,58)!=0){H2b(e,b,Y1b(k,false));e=tZb($1b(e),new g4b($6b,NGc));S1b(g,e);P1b(g,new g3b(h7b),e);f3b(g,c)}else{i=Hc(new Kc(String.fromCharCode(46)),h2b(k),PEc,vD(qD(lT,1),bDc,1,5,[]));h=hkb(a.a,i);H2b(b.e,b,h);e=tZb($1b(e),new g4b($6b,NGc));S1b(g,e);P1b(g,new g3b(h7b),e);j=G2b(g,g.g,50);j!=g.g&&(g.g=j);f3b(g,c)}N1(a.a,g)}function Dec(a){Jnc(a.o);Bxc(a.c);xec(a);Jnc(a.i);yec(a,
vec(a,(dec(),Wcc)));yec(a,vec(a,Ycc));yec(a,vec(a,Zcc));yec(a,vec(a,adc));yec(a,vec(a,vdc));zec(a,vec(a,vdc),"Null");yec(a,vec(a,ydc));yec(a,vec(a,Bdc));yec(a,vec(a,Hdc));yec(a,vec(a,ddc));yec(a,vec(a,bec));yec(a,vec(a,fdc));yec(a,vec(a,Ydc));yec(a,vec(a,Jdc));yec(a,vec(a,Ldc));yec(a,vec(a,Tdc));yec(a,vec(a,Ndc));yec(a,vec(a,Pdc));yec(a,vec(a,Qdc));yec(a,vec(a,cec));zec(a,vec(a,cec),"Undefined");zec(a,vec(a,cec),rFc);zec(a,vec(a,idc),UGc)}function dIb(a,b){var c,d;if(b!=(YIb(),NIb)){uHb(a,fKc,a.i.g,
cJb(a.i));return b}else{d=new Fwc;while(true){if(JHb(a,XIb)){c=a.i.n;a.j.contains(c)||wHb(a,"msg.jsdoc.suppress.unknown",c,a.i.g,cJb(a.i));Cwc(d,a.i.n);b=!a.n?dJb(a.i):BHb(a)}else{uHb(a,fKc,a.i.g,cJb(a.i));return b}if(KHb(a,QIb,GIb))b=!a.n?dJb(a.i):BHb(a);else break}if(JHb(a,TIb)){b=!a.n?dJb(a.i):BHb(a);t1b(a.e,d)||uHb(a,"msg.jsdoc.suppress.duplicate",a.i.g,cJb(a.i))}else uHb(a,fKc,a.i.g,cJb(a.i));return DHb(a,!a.n?dJb(a.i):BHb(a))}}function CTb(){xTb();return vD(qD(jP,1),gDc,12,0,[URb,ZRb,fSb,ARb,
DRb,ERb,NRb,ORb,QRb,RRb,SRb,TRb,bSb,cSb,dSb,gSb,jSb,kSb,vSb,TSb,fTb,jTb,kTb,nTb,pTb,sTb,tTb,uTb,vTb,FRb,MRb,VRb,$Rb,_Rb,iSb,eTb,hSb,lSb,pSb,GSb,OSb,PSb,QSb,cTb,wTb,CSb,HRb,DSb,IRb,ESb,JRb,JSb,WSb,LRb,BSb,GRb,oSb,eSb,wRb,XRb,wSb,YRb,xSb,KSb,qSb,$Sb,aTb,HSb,MSb,sSb,mSb,USb,qTb,tRb,yRb,BRb,xRb,lTb,vRb,FSb,RSb,KRb,WRb,LSb,rSb,_Sb,bTb,ISb,nSb,VSb,rTb,uRb,zRb,CRb,XSb,YSb,NSb,zSb,mTb,aSb,ASb,dTb,SSb,ZSb,gTb,hTb,iTb,ySb,oTb,PRb,tSb,uSb])}function r1(a,b){var c,d,e;a.M=b;Q1(a,s4(b.Ub));!a.j&&O1(a,new tgb((c=
a.M.L,d=new qgb(a),d.d=c,d),J0));a.H=(Hub(),Dub);B3(a.M,(n6(),U5))?a.M.B=true:A3(a.M,U5)?a.M.B=false:a.M.B||z3(a.M,new M5(K5((Gob(),Dob)),(pZ(),nZ)));e=$4(a.M.Ad,b6);e==0?(a.M.wd=true,undefined):e==1&&(a.M.wd=false,undefined);a.M.wd&&z3(a.M,new M5(S5,(pZ(),nZ)));a.M.t!=(pZ(),nZ)&&!A3(a.M,$5)&&z3(a.M,new M5($5,a.M.t));C3(a.M)&&z3(a.M,new M5(X5,mZ));!a.M.A&&!B3(a.M,V5)&&z3(a.M,new M5(V5,nZ));b.B||b.wd||(b.yd=false);s1(a,b.Ad)}function cjb(a,b){var c;switch(a.j.f){case 104:cjb(a.b,b);cjb(a.b.d,b);return;
case 76:case 88:case 100:case 94:case 93:case 45:case 105:for(c=a.b;c;c=c.d)cjb(c,b);return;case 95:case 118:case 78:case 112:cjb(a.b,b);return;case 106:case 114:cjb(a.b?a.b.f:null,b);return;case 91:if(a.b)cjb(a.b?a.b.f:null,b);else{Zd(Hjb(a));b.add(a)}return;case 29:case 107:b.add(a);return;case 26:case 27:b.add(a);return;case 80:return;default:if(rjb(a))cjb(a.b,b);else throw CV(new llc("Invalid node in lhs: "+a));}}function v9(a,b){var c,d,e,f,g,h,i,j;Kd(b.j==(w7b(),C6b)||b.j==z4b);j=nHc+a.b++;
if(Bjb(b.e)){i=b.e;c=i.b?i.b.f:null;d=mZb((ce(lmc(j,Hmc(46))==-1,NEc,j),new g4b(o6b,j)),q7b);f3b(d,b);H2b(i,b,d);h=oZb(cZb(b,(ce(lmc(j,Hmc(46))==-1,NEc,j),new g4b(o6b,j))));f3b(h,b);S1b(c,h)}else{g=b.e;Zd(g.j==n5b);e=g.e;i=e.e;Zd((Lib(),i.j==F5b||i.j==E5b));c=i.b?i.b.f:null;H2b(e,g,c3b((ce(lmc(j,Hmc(46))==-1,NEc,j),new g4b(o6b,j)),b));f=e.j;d=lZb($1b(b),(ce(lmc(j,Hmc(46))==-1,NEc,j),new g4b(o6b,j)),f);f3b(d,b);S1b(c,d)}}function hPb(a,b){var c,d,e,f,g,h,i,j,k;h=GQb(a.g,0).b.b;if(GQb(a.g,0).c==(xTb(),
ESb)){f=sOb(a);CNb(a,KRb);k=lPb(a,b);return new hUb(new SXb(h,a.f),f,k)}i=GQb(a.g,0).c;if(fSb==i||(hNb(),hNb(),!!kp(KMb,i))){g=ENb(a);if(!QPb(a,KRb)){d=g;lNb(d.a)&&!nNb(d.a)&&hQb(a,XKc,vD(qD(lT,1),bDc,1,5,[g]));if(QPb(a,WRb)){e=new ZUb(new SXb(h,a.f),d);CNb(a,WRb);c=bOb(a,1);return new qUb(new SXb(h,a.f),e,c)}return new kXb(new SXb(h,a.f),g,null)}}else g=YOb(a).a;CNb(a,KRb);j=lPb(a,b);return new kXb(new SXb(h,a.f),g,j)}function DPb(a){var b,c,d,e;b=GQb(a.g,0).b.b;c=GQb(a.g,0).c;if(!(hwc(dwc((xTb(),
fSb),vD(qD(jP,1),gDc,12,0,[oTb,PRb,tSb,uSb])),c)||!a.b.c&&mNb(c))&&!hwc(dwc(tTb,vD(qD(jP,1),gDc,12,0,[DSb,CSb,pTb])),GQb(a.g,0).c)){hQb(a,"Unexpected token '%s' in type expression",vD(qD(lT,1),bDc,1,5,[GQb(a.g,0).c]));return new zXb(new SXb(b,a.f),(Sn(),new My(Td("error"))))}d=LOb(a);if(!QPb(a,yRb))return d;e=(Sn(),new ar);Aqc(e.a,Td(d));do{CNb(a,yRb);$q(e,_Nb(a))}while(QPb(a,yRb));return new DXb(new SXb(b,a.f),$n(e.a))}function rYb(a){var b,c,d,e;d=0;c=new $mc;b=a.b.b;if(iE(a.a,152))e=a.a.a;else if(iE(a.a,
130))e=a.a.a;else throw CV(fYb(a));if(a.b.i)if(b==111){c.a+="0";d+=1}else{c.a+="0x";d+=2}if(100==b){a.b.e?Vmc(c,a.a):(c.a+=TV(e),c);if(EV(e,0)<0)if(a.b.g)return uYb(a,c);else a.b.k&&++d;else if(a.b.d){Zmc(c,0,String.fromCharCode(43));d+=1}else if(a.b.j){Zmc(c,0,String.fromCharCode(32));d+=1}}else{iE(a.a,130)&&(e=FV(MD(JV(e)?QV(e):e,JV(iLc)?QV(iLc):iLc)));111==b?Wmc(c,Llc(e,3)):Wmc(c,Llc(e,4))}return iYb(a,c,d)}function Qjb(a){Lib();var b,c,d,e,f,g,h,i;f=(g=Yib(a),!g?null:g2b(g,29));if(!!f&&K$b(f).a.length!=
0)return false;e=a.e.j==(w7b(),f5b)||!!f&&(f.a&37)!=0;c=g2b(a,51);if(!(!!c&&c.vh())&&!e)return false;if(Ojb(a.e)){i=a;d=a.b}else if(a.j==B5b){b=a.b;if(b.j!=B4b||b.b.j!=M5b)return false;i=b.b;d=b.b?b.b.f:null}else if(a.j==M5b){h=a.e;if(h.j!=B4b||h.e.j!=B5b)return false;i=a;d=h.b?h.b.f:null}else return false;if(!d||!i)return false;if(d.j==B6b)return true;return d.j==E6b&&y2b(i,d.b)&&(d.b?d.b.f:null).j==B6b}function V9(a){var b,c,d,e,f,g,h,i,j,k;b=F2b(a.f);h=F2b(a.f);g=!!a.f.b;i=E9++;j=wZb(bab(a,WZb((w7b(),
w6b),b)),fZb(vD(qD(SR,1),OEc,7,0,[oZb(dab(a,cZb(dab(a,(ce(lmc(qHc,Hmc(46))==-1,NEc,qHc),new g4b(o6b,qHc))),dab(a,new P3b(i))))),jab()])));k=G2b(j,j.g,67);k!=j.g&&(j.g=k);j.g=new K3b(67,1,j.g);f=P9(a,i);S1b(a.p,j);P1b(a.p,h,j);P1b(a.p,f,h);if(g){c=F2b(a.f);d=E9++;e=P9(a,d);R1b(h,oZb(dab(a,cZb(dab(a,(ce(lmc(qHc,Hmc(46))==-1,NEc,qHc),new g4b(o6b,qHc))),dab(a,new P3b(d))))));R1b(h,jab());P1b(a.p,c,f);P1b(a.p,e,c)}}function kxb(a,b){var c,d,e,f,g,h,i,j;Zd(!a.n.a.isEmpty());if(b.size()<(Zd(!(a==a.a.v||
a==a.a.g)),a.i.size())||b.size()>(Kd(!(a==a.a.v||a==a.a.g)),a.j?ICc:a.i.size()+a.e.size()))return null;g=new mt;for(e=0,f=b.size();e<f;e++){c=b.getAtIndex(e);if(0==c.Fh())continue;if(!Dyb(dxb(a,e),c,wn(a.n.a.cf()),g,new $Cb((bBb(),bBb(),aBb))))return null}d=(Io(),new ir);for(i=wn(a.n.a.cf()).Pd();i.Jd();){h=i.Kd();j=Vh(g,h);if(j.size()>1)return null;else j.isEmpty()?fr(d,h,a.a.G):fr(d,h,Ps(j.Pd()))}return jxb(a,Wo(d.b))}function a9(a,b){var c,d,e,f,g,h,i,j,k;(b.a.a&iHc)==0&&(b.a.a&jHc)==0&&(b.a.a&
iEc)==0&&s1b(b);if(a){(f=!a.d?null:a.d.p,!f?(msc(),msc(),lsc):f).isEmpty()||t1b(b,(e=!a.d?null:a.d.p,!e?(msc(),msc(),lsc):e));for(d=E$b(a).Pd();d.Jd();){c=d.Kd();l1b(b,c,F$b(a,c));m1b(b,c,v$b(a,c))}for(j=I$b(a).Pd();j.Jd();){i=j.Kd();x1b(b,i);w1b(b,i,J$b(a,i))}k=a.j;!!k&&k!=(h0b(),c0b)&&E1b(b,k);(a.a&256)!=0&&C0b(b);(!a.d?null:a.d.b)!=null&&t$b(b.a)==null&&D0b(b,!a.d?null:a.d.b);d_b(b.a,a);for(h=H$b(a).Pd();h.Jd();){g=h.Kd();u1b(b,g)}}}function ozb(a,b){ayb();var c,d,e,f,g;Td(a);Td(b);c=a.e;if(a.Fh()==
aJc||b.Fh()==aJc)return c.H;if(ICc==a.Fh()||ICc==b.Fh())return c.G;if(-1==a.Fh()||-1==b.Fh())return c.u;if(0==a.Fh())return b;if(0==b.Fh())return a;if(512==a.Fh()||mHc==a.Fh()||512==b.Fh()||mHc==b.Fh())return c.G;if(a.Rh()!=null&&b.Rh()!=null&&!imc(a.Rh(),b.Rh()))return c.G;e=a.Fh()|b.Fh();f=uCb(a.Ih(),b.Ih());g=a.Rh()!=null?a.Rh():b.Rh();d=Vwb(a.Ch(),b.Ch());if(d.isEmpty())return rzb(c,e,f,g,Zxb);rzb(c,e&-5,f,g,Zxb);return rzb(c,e,f,g,Uwb(d))}function hob(a){eob();var b,c,d,e,f,g,h;d=new Ir;f=(Io(),
new ir);for(c=gf(We(Ve(af(new ic(10))),a));Mb(c);){b=Nb(c);h=Xe(Ve(af(new ic(32))),Emc(b));if(h.b.size()==1&&h.a.getAtIndex(0).length==0)continue;else if(h.b.size()<3)throw CV(new Nfb("Invalid table: too few tokens on line: "+b));g=h.a.getAtIndex(0);e=new cob(iLb(h.a.getAtIndex(1)),iLb(h.a.getAtIndex(2)),h.b.size()>3?h.a.getAtIndex(3):"");g.indexOf(PHc)!=-1?Hr(d,umc(g,".*\\.prototype\\.",""),e):(Aqc(f.b,(wm(g,e),new Pq(g,e))),f)}return new gob(jn(d.a),Wo(f.b))}function jBb(a,b){var c,d,e;Zd(true);
if(a.b.d.d.isEmpty()||b.b.d.d.isEmpty())return true;for(null.Tj();null.Tj();){e=null.Tj();ee(jp(a.b,e),"Type variable %s not in the domain: %s",e,a.b.cf());fe(jp(b.b,e),"Other (%s) doesn't contain mapping (%s->%s) from this (%s)",b,e,kp(a.b,e),a);d=kp(a.b,e);c=kp(b.b,e);if(null.Uj&&null.Tj()){d=wyb(d,null.Uj);c=wyb(c,null.Uj);if(!pyb(d,c,new $Cb((bBb(),bBb(),aBb)))&&!pyb(c,d,new $Cb((null,aBb))))return false}else if(!pyb(d,c,new $Cb((bBb(),bBb(),aBb))))return false}return true}function njb(a){var b,
c,d,e,f,g;switch(a.j.f){case 31:case 91:return a.qi();case 116:g="";for(c=a.b;c;c=c.d)if(c.j==(w7b(),$6b))g=g+c.qi();else if(c.j==g7b){d=c.b;e=njb(d);if(e==null)return null;g=g+e}return g;case 29:f=a.qi();if(imc(_Gc,f)||imc(pIc,f)||imc("NaN",f))return f;break;case 30:return""+a.pi();case 34:return mFc;case 35:return nFc;case 32:return KCc;case 79:return _Gc;case 19:b=ijb(a.b);if(b!=(ric(),qic))return b.vj(true)?mFc:nFc;break;case 42:return Nib(a);case 43:return"[object Object]"}return null}function zCb(a,
b,c,d,e){var f,g,h,i,j,k,l,m,n;Td(c);g=d;for(n=new coc((new Wnc(d.a)).a);n.b;){l=boc(n);i=l.ce();h=sBb(c,i);if(h){g=gCb(b,g,i,h,l.de());if(g==a.d)return a.d}}for(m=new coc((new Wnc(e.a)).a);m.b;){l=boc(m);i=l.ce();k=l.de();if(yi(d,i,false)){j=Ii(yi(d,i,false));if(GCb(j,k))continue;f=b?new JCb(j.c,xyb(j.d,k.d),j.b,OCb(j.a,k.a)):new JCb(j.c==k.c?j.c:null,szb(j.d,k.d),null,OCb(j.a,k.a))}else f=k;h=sBb(c,i);if(h){g=gCb(b,g,i,h,f);if(g==a.d)return a.d}else{if(0==f.d.Fh())return a.d;g=dBb(g,i,f)}}return g}
function Kwb(){Kwb=bW;Jwb=new s6("JSC_REQUIRES_NOT_SORTED",(pZ(),oZ),new xnc("goog.require() statements are not sorted. (Fix with go/fixjs) The correct order is:\n\n{0}\n"));Iwb=new s6("JSC_PROVIDES_NOT_SORTED",oZ,new xnc("goog.provide() statements are not sorted. (Fix with go/fixjs) The correct order is:\n\n{0}\n"));Hwb=new s6("JSC_PROVIDES_AFTER_REQUIRES",oZ,new xnc("goog.provide() statements should be before goog.require() statements."));Gwb=new s6("JSC_DUPLICATE_REQUIRE",oZ,new xnc("''{0}'' required more than once."))}
function p7(a,b){var c;switch(b){case zGc:case "ArrayBuffer":case TGc:case "DataView":case "Date":case "Float32Array":case UGc:case "Generator":case "GeneratorFunction":case "Int16Array":case "Int32Array":case "Int8Array":case "InternalError":case "Map":case VGc:case "Promise":case "Proxy":case WGc:case "Set":case bEc:case sGc:case "TypedArray":case "Uint16Array":case "Uint32Array":case "Uint8Array":case "Uint8ClampedArray":case "WeakMap":case "WeakSet":return c=Vob(gib(a),b),!(!!c&&!(!c.a||W2(c.a)));
default:return false}}function U0(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q;l1(a);f=new Lqc;j=new xwc;i=new xwc;for(h=a.A.Pd();h.Jd();){g=h.Kd();T2(g).c.isEmpty()&&(f.a[f.a.length]=g,true);Gnc(i,$gb(ahb(U2(g).a)),g);for(p=T2(g).c.Pd();p.Jd();){o=p.Kd();imc(o.substr(0,7),FFc)||(o==null?Ywc(j.d,null,g):oxc(j.e,o,g))}}for(l=(n=(new Boc(a.M.$.a.a)).a.Xd().Pd(),new Hoc(n));l.a.Jd();){k=(c=l.a.Kd(),c.ce());g=Dnc(i,$gb(k));!!g&&(f.a[f.a.length]=g,true)}q=new Hwc(a.A);m=new Lqc;for(e=new grc(f);e.a<e.c.a.length;){d=
erc(e);Bqc(m,S0(a,d,false,q,i,j,b,false))}}function Bub(a){var b,c,d,e,f,g,h,i,j,k,l,m;for(l=new grc(a.f);l.a<l.c.a.length;){j=erc(l);g=j.Ig();c=Os(g.Pd());(c==null||g.size()==1&&imc(c.substr(0,7),FFc))&&Exc(a.e,(ivb(),lvb((b=tmc(tmc(tmc(tmc(tmc(smc(smc(j.Hg(),58,45),92,47)," ",aHc),"[",bHc),"]",cHc),"<",dHc),">",eHc),jvb(b)))),j);for(f=j.Ig().Pd();f.Jd();){e=f.Kd();Gnc(a.b,e,j)}}for(m=new grc(a.f);m.a<m.c.a.length;){j=erc(m);for(i=j.Jg().Pd();i.Jd();){h=i.Kd();d=Dnc(a.b,h);!!d&&Wh(a.d,j,d)}}for(k=
new grc(a.f);k.a<k.c.a.length;){j=erc(k);Aub(a,j)}a.a.a.clear();kt(a.d)}function Ezb(a,b,c){var d,e,f,g,h,i,j,k,l,m;Td(c);l=new jyc;for(h=a.se(b).Pd();h.Jd();){g=h.Kd();if(ICc==c.Fh()){l.a.put(g,l);continue}if(ICc==g.Fh()){c=null;break}f=c.Ih();if(f.size()==1&&Ps(f.Pd()).c){c=null;break}else{e=g.Ih();if(e.size()==1&&Ps(e.Pd()).c){l.a.put(g,l);continue}}m=Dzb(c,g);if(m){l.a.put(g,l);c=m}else if(pyb(g,c,new $Cb((bBb(),bBb(),aBb))))l.a.put(g,l);else if(pyb(c,g,new $Cb((null,aBb)))){c=null;break}}for(k=
(i=(new Boc(l.a)).a.Xd().Pd(),new Hoc(i));k.a.Jd();){j=(d=k.a.Kd(),d.ce());a.we(b,j)}!!c&&a.ve(b,c)}function vJb(b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q,r,s;o=b.Hg();try{j=new sRb(o,c);k=d.b==1;f=new yJb(e,k);g=uJb(d);l=new kQb(g,f,j);p=(q=new WXb,r=GQb(l.g,0).b.b,s=NOb(l),CNb(l,(xTb(),URb)),YXb(q.a,PV(IV(Date.now()),q.b)),new jXb(new SXb(r,l.f),s,$n(l.a.a.a)));n=null;Sn();i=l.d;if(!f.d||k){h=ZFb(p,b,c,d,e);n=h.p;i=$Kb(i,h.e);m=G2b(n,n.g,89);m!=n.g&&(n.g=m);!!i&&(n.g=new U3b(89,i,n.g));d.d!=(JEb(),IEb)&&
$n(l.a.a.a)}return new BJb(n,l.i)}catch(a){a=BV(a);if(iE(a,38))throw CV(new zC('Exception parsing "'+o+'"'));else throw CV(a);}}function oOb(a,b){var c,d;if(QPb(a,(xTb(),WSb)))return vOb(a);else{d=new vQb(GQb(a.g,0).b.b);d.b=b;d.a=a.b.d&&hwc(dwc(QSb,vD(qD(jP,1),gDc,12,0,[PSb,OSb])),GQb(a.g,0).c)?PNb(a).c:null;d.c=!!GNb(a,cTb);return PPb(a,0,fSb)&&imc(GQb(a.g,0).a,"get")&&($Pb(a,1)||GQb(a.g,1).c==ESb)?MOb(a,d):PPb(a,0,fSb)&&imc(GQb(a.g,0).a,"set")&&($Pb(a,1)||GQb(a.g,1).c==ESb)?vPb(a,d):PPb(a,0,fSb)&&
imc(GQb(a.g,0).a,_Ec)&&(c=GQb(a.g,1).b.b.b>GQb(a.g,0).b.a.b,!(c||PPb(a,1,WSb)||PPb(a,1,HRb)||PPb(a,1,URb)))&&($Pb(a,1)||GQb(a.g,1).c==ESb)?gOb(a,d):qOb(a,d)}}function XHb(a,b,c){var d,e;while(true)switch(b.f){case 13:if(a.g==(AIb(),yIb)){a.g=zIb;b=QHb(a,b,c)}else b=!a.n?dJb(a.i):BHb(a);break;case 16:d=true;zHb(a,c);if(p0b(a.e)){a.d=n0b(a.e);e=a.d.j;switch(e.f){case 0:case 2:vHb(a,Ub(e.e!=null?e.e:""+e.f));d=false}}return d;case 0:n0b(a.e);uHb(a,"msg.unexpected.eof",a.i.g,cJb(a.i));zHb(a,c);return false;
case 1:a.g==(AIb(),zIb)&&(a.g=yIb);b=!a.n?dJb(a.i):BHb(a);break;default:if(b==(YIb(),WIb)&&a.g==(AIb(),yIb))b=!a.n?dJb(a.i):BHb(a);else{a.g=(AIb(),zIb);b=CHb(a,!a.n?dJb(a.i):BHb(a))}}}function QOb(a){var b,c,d,e,f,g,h,i,j,k;j=GQb(a.g,0).b.b;CNb(a,(xTb(),iSb));if(QPb(a,dTb)){f=CNb(a,dTb);HNb(a);return new _Ub(new SXb(j,a.f),null,null,null,f)}b=null;h=null;c=null;i=true;k=GQb(a.g,0).c;if(hwc(dwc(fSb,vD(qD(jP,1),gDc,12,0,[oTb,PRb,tSb,uSb])),k)||!a.b.c&&mNb(k)){b=DNb(a);QPb(a,LRb)?CNb(a,LRb):i=false}else if(kNb(GQb(a.g,
0).c)){d=PNb(a);fQb(a,d,XKc,vD(qD(lT,1),bDc,1,5,[d]))}if(i)if(QPb(a,$Sb)){CNb(a,$Sb);INb(a,"as");h=DNb(a)}else c=SOb(a);INb(a,dFc);g=CNb(a,dTb);e=!g?null:g;HNb(a);return new _Ub(new SXb(j,a.f),b,c,h,e)}function YIb(){YIb=bW;JIb=new ZIb("EOF",0);KIb=new ZIb("EOL",1);MIb=new ZIb("LEFT_ANGLE",2);SIb=new ZIb("RIGHT_ANGLE",3);XIb=new ZIb(eJc,4);PIb=new ZIb("LEFT_SQUARE",5);VIb=new ZIb("RIGHT_SQUARE",6);NIb=new ZIb("LEFT_CURLY",7);TIb=new ZIb("RIGHT_CURLY",8);OIb=new ZIb("LEFT_PAREN",9);UIb=new ZIb("RIGHT_PAREN",
10);GIb=new ZIb("COMMA",11);FIb=new ZIb("COLON",12);DIb=new ZIb(gKc,13);QIb=new ZIb("PIPE",14);WIb=new ZIb("STAR",15);IIb=new ZIb("EOC",16);RIb=new ZIb("QMARK",17);HIb=new ZIb("ELLIPSIS",18);EIb=new ZIb("BANG",19);LIb=new ZIb("EQUALS",20)}function Y8(a,b,c){var d,e,f,g,h,i;for(h=new fyc(new Yxc(b.j));h.b!=h.c.a.b;){f=dyc(h);e=f.d;d=tZb(hkb(a.a,b.f+hHc),new g4b((w7b(),$6b),e));N2b(d,f.e);d=f3b(($d(BZb(d),d),new i3b(B5b,d)),b.c);P1b(c.e,d,c);c=d}for(i=new fyc(new Yxc(b.b));i.b!=i.c.a.b;){f=dyc(i);e=
f.d;d=tZb(hkb(a.a,b.f),new g4b((w7b(),$6b),e));N2b(d,f.e);d=f3b(($d(BZb(d),d),new i3b(B5b,d)),b.c);P1b(c.e,d,c);c=d}for(g=new fyc(new Yxc(b.i));g.b!=g.c.a.b;){f=dyc(g);e=f.d;d=sZb(hkb(a.a,b.f+hHc),hkb(a.a,e));N2b(d,f.e);d=f3b(($d(BZb(d),d),new i3b((w7b(),B5b),d)),b.c);P1b(c.e,d,c);c=d}}function $eb(a,b,c,d){var e;e=d==c.b;switch(c.j.f){case 92:return a;case 46:return d==(c.b?c.b.f:null)?a:a.c?a:new afb(a.a,true,a.b);case 60:case 62:return e?new afb(c,true,a.a?a:null):a;case 61:return e?new afb(c,
false,a.a?a:null):a;case 66:return e?new afb(c,true,a.a?a:null):Yeb;case 41:case 47:return e==a.c?a:new afb(a.a,e,a.b);case 25:case 19:case 4:case 5:case 36:case 37:return a.c?a:new afb(a.a,true,a.b);case 28:return _eb(a,!e&&Veb(b,c));case 81:return Yeb;default:return Lib(),c.j!=(w7b(),m6b)&&Xjb(c.e)?Yeb:a.c?new afb(a.a,false,a.b):a}}function rmb(b,c,d){var e;if(!YKb(b.a.Dg(),b.c.b.r)){CBc((dmb(),cmb),"Skipping pass "+b.b);wBc(cmb,"pass supports: "+b.a.Dg()+"\ncurrent AST contains: "+b.c.b.r);return}tBc((dmb(),
cmb),"Running pass "+b.b);!!b.c.r&&(b.c.a=tY(new AY(b.c.b),b.c.d));!!b.c.p&&Qlb(b.c.p,b.b,b.a.a);b.d=new zqb;b.a.Cg(b.c.b).Tf(c,d);N0(b.c.b);try{if(!b.c.n)R1(b.c.b,-1);else{b.c.k+=b.c.o;R1(b.c.b,b.c.k)}e=yqb(b.d);!!b.c.p&&Rlb(b.c.p,b.b,e);fmb(b.c,b.b,d);gmb(b.c,b.b,c,d)}catch(a){a=BV(a);if(iE(a,16))throw CV(new zC("Validity check failed for "+b.b));else throw CV(a);}}function yyb(a,b){var c,d,e,f;if(-1==b.Fh()||ICc==b.Fh()||a==b)return a;if(512==b.Fh())return uyb(a);if(512==a.Fh()){f=uyb(b);return!f.Ih().isEmpty()||
Twb(f.Ch())?Eyb(f):f}if(mHc==b.Fh())return tyb(a);if(mHc==a.Fh())return tyb(b);if(-1==a.Fh())return b;if(ICc==a.Fh()){e=b.Fh()==2&&b.Ih().size()==1?Ps(b.Ih().Pd()).d:null;return!!e&&null.Tj()?Eyb(b):b}c=a.Fh()&b.Fh();if(a.Rh()==b.Rh())d=a.Rh();else if(a.Rh()!=null&&b.Rh()==null)return b;else{d=null;c&=-2}return tzb(a.e,c,a.Fh()|b.Fh(),ACb(true,a.Ih(),b.Ih()),d,a.Ih(),b.Ih(),a.Ch(),b.Ch())}function VOb(a){var b,c,d,e,f,g,h,i;h=GQb(a.g,0).b.b;e=!!GNb(a,(xTb(),$Sb));g=null;i=GQb(a.g,0).c;if(i==vSb)return lOb(a,
true);else if(i==fSb||(hNb(),hNb(),!!kp(KMb,i)))g=ENb(a);else if(i==ESb)return TOb(a);else if(i==BSb||i==DSb)return lOb(a,false);f=false;if(QPb(a,RSb)){CNb(a,RSb);f=true}if(QPb(a,DSb)||QPb(a,BSb)){d=(b=HUb(MUb(GUb(JUb(EUb(LUb(IUb(NUb(KUb(new OUb((TUb(),SUb)),g),false),e),f),null),MNb(a)),HOb(a,1)),LNb(a)),new sUb(new SXb(h,a.f))),DUb(b,new SXb(h,a.f)));return d}else{c=LNb(a);return new hVb(new SXb(h,a.f),g,false,f,null,c)}}function ijb(a){var b;switch(a.j.f){case 116:if(!!a.b&&!a.b.d)return ric(),
a.b.qi().length!=0?pic:oic;break;case 31:return ric(),a.qi().length>0?pic:oic;case 30:return ric(),a.pi()!=0?pic:oic;case 19:return ijb(a.b?a.b.f:null).uj();case 32:case 34:return ric(),oic;case 79:if(!Pib(a.b,false,null))return ric(),oic;break;case 29:b=a.qi();if(imc(_Gc,b)||imc("NaN",b))return ric(),oic;else if(imc(pIc,b))return ric(),pic;break;case 35:case 38:return ric(),pic;case 65:case 96:case 23:case 42:case 43:if(!Pib(a,false,null))return ric(),pic}return ric(),qic}function alb(a,b){var c,
d,e,f,g,h,i,j,k;if(e2b(b,63)!=0)return;c=b.b;Lib();if(!!c&&(c.j==(w7b(),q7b)||c.j==g6b||c.j==f5b)||c.j==(w7b(),G5b)&&zjb(c.e)&&(c.j==G5b&&Ujb(c.b))||c.j==(w7b(),a5b)&&zjb(c.e)&&(c.j==a5b&&Ujb(c.b))){D2b(b,c);g=c3b(new g3b((w7b(),A5b)),b);S1b(b,g);if(c.j==a5b||c.j==G5b){j=usc(c.b);Q1b(b.e,c,b)}else{j=Wib(c);for(e=(!c.b?(msc(),msc(),lsc):new Z3b(c.b)).Pd();e.Jd();){d=e.Kd();D2b(c,d);k=c3b(new i3b(c.j,d),b);Q1b(b.e,k,b)}}for(i=j.Pd();i.Jd();){h=i.Kd();f=c3b(new g3b(z5b),h);S1b(f,h.oi(false));S1b(f,h.oi(false));
R1b(g,f)}N1(a.b,b.e)}}function PD(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G;c=a.l&8191;d=a.l>>13|(a.m&15)<<9;e=a.m>>4&8191;f=a.m>>17|(a.h&255)<<5;g=(a.h&1048320)>>8;h=b.l&8191;i=b.l>>13|(b.m&15)<<9;j=b.m>>4&8191;k=b.m>>17|(b.h&255)<<5;l=(b.h&1048320)>>8;B=c*h;C=d*h;D=e*h;F=f*h;G=g*h;if(i!=0){C+=c*i;D+=d*i;F+=e*i;G+=f*i}if(j!=0){D+=c*j;F+=d*j;G+=e*j}if(k!=0){F+=c*k;G+=d*k}l!=0&&(G+=c*l);n=B&fEc;o=(C&511)<<13;m=n+o;q=B>>22;r=C>>9;s=(D&262143)<<4;t=(F&31)<<17;p=q+r+s+t;v=D>>18;w=
F>>5;A=(G&kEc)<<8;u=v+w+A;p+=m>>22;m&=fEc;u+=p>>22;p&=fEc;u&=gEc;return AD(m,p,u)}function w2(a){var b,c,d,e,f,g,h,i,j,k;if(a.a.M.wc){a.b.c.a.length>0&&!L2(a.b)&&K2(a.b,YDc);Zd(a.d.j==(w7b(),U6b));c=a.a.M.Jb;f=g2b(a.d,53).a;k=(d=g2b(a.d,51),!d?null:d.Hg());Zd(k!=null);Zd(k.length!=0);c=tmc(tmc(tmc(c,"%name%",NBc(f)),"%num%",""+a.c),"%n%",YDc);K2(K2(a.b,c),YDc)}if(g2b(a.d,29)){i=A$b(g2b(a.d,29));i!=null&&J2(a.b,i)&&K2(K2(K2(a.b,"/*\n"),i),"*/\n")}b=W1(a.a,a.d,a.c==0);if(b.length!=0){K2(a.b,b);h=b.length;
g=(qCc(h-1,b.length),b.charCodeAt(h-1));j=h>=2?(qCc(h-2,b.length),b.charCodeAt(h-2)):0;e=g==59||g==10&&j==59;e||K2(a.b,";")}return null}function YHb(a,b){var c,d;c=TJc;if(b==(YIb(),NIb)){if(JHb(a,XIb)){d=a.i.n;!qHb.contains(d)&&!o0b(a.e,d)&&wHb(a,"msg.jsdoc.idgen.unknown",d,a.i.g,cJb(a.i));c=d;b=!a.n?dJb(a.i):BHb(a)}else{uHb(a,cKc,a.i.g,cJb(a.i));return b}JHb(a,TIb)?b=!a.n?dJb(a.i):BHb(a):uHb(a,cKc,a.i.g,cJb(a.i))}switch(c){case TJc:P0b(a.e)||uHb(a,dKc,a.i.g,cJb(a.i));break;case UJc:x0b(a.e)||uHb(a,
dKc,a.i.g,cJb(a.i));break;case "stable":r1b(a.e)||uHb(a,dKc,a.i.g,cJb(a.i));break;case "xid":G1b(a.e)||uHb(a,dKc,a.i.g,cJb(a.i));break;case "mapped":$0b(a.e)||uHb(a,dKc,a.i.g,cJb(a.i))}return b}function dOb(a,b){var c,d,e,f,g,h,i;i=GQb(a.g,0).b.b;INb(a,_Ec);g=GQb(a.g,0).b.b.b>a.f.b;(g||PPb(a,0,(xTb(),WSb))||PPb(a,0,(xTb(),HRb))||PPb(a,0,(xTb(),URb)))&&hQb(a,"No newline allowed between `async` and arrow function parameter list",vD(qD(lT,1),bDc,1,5,[]));d=null;if(QPb(a,(xTb(),DSb)))d=HOb(a,0);else{h=
OOb(a);d=new BUb(h.o,(Sn(),new My(Td(h))))}f=GQb(a.g,0).b.b.b>a.f.b;(f||PPb(a,0,WSb)||PPb(a,0,HRb)||PPb(a,0,URb))&&hQb(a,TKc,vD(qD(lT,1),bDc,1,5,[]));CNb(a,wRb);c=aOb(a,b,(sQb(),pQb));e=HUb(GUb(FUb(new OUb((TUb(),PUb))),d),c);return DUb(e,new SXb(i,a.f))}function ogb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o;m=a.e;o=b.f;k=b.d;g=b.a;d=new $mc;e=new $mc;l=sgb(o,k);if(a.c){!m?null:h1(m,b.f,b.d,b.a);e.a+=""+l}n=!m?null:g1(m,o,k);if(a.b){Wmc(e,tW(a,c?(pZ(),oZ):(pZ(),mZ)));e.a+=" - "}Wmc(e,b.c);Wmc(d,vW(a,e.a));
d.a+=YDc;if(n!=null){d.a+=""+n;d.a+=YDc;if(a.a==(cpb(),apb)&&0<=g&&g<=n.length){for(i=0;i<g;i++){f=(qCc(i,n.length),n.charCodeAt(i));D7b();C7b.test(f)?(d.a+=String.fromCharCode(f),d):(d.a+=" ",d)}if(!b.e)d.a+="^";else{j=$wnd.Math.max(1,$wnd.Math.min(b.e.c,n.length-g));for(h=0;h<j;h++)d.a+="^"}d.a+=YDc}}return d.a}function aGb(a,b){var c,d,e,f,g,h;f=false;c=true;for(d=0;d<b.size();d++){e=b.getAtIndex(d);g=null;if(e.p==(gXb(),VWb)){h=e;g=FFb(a.a,h.b);e=h.a}switch(e.p.f){case 26:if(f){a.a.d.kh("A required parameter cannot follow an optional parameter.",
a.a.r,(_Eb(),e.o.b.b+1),e.o.b.a);c=false}break;case 80:f=true;break;case 65:if(d!=b.size()-1){a.a.d.kh("A rest parameter must be last in a parameter list.",a.a.r,(_Eb(),e.o.b.b+1),e.o.b.a);c=false}if(!!g&&g.j!=(w7b(),A4b)){a.a.d.kh("A rest parameter must be of an array type.",a.a.r,(_Eb(),e.o.b.b+1),e.o.b.a);c=false}}}return c}function bOb(a,b){var c,d,e,f,g,h,i,j;if(QPb(a,(xTb(),wTb))&&oE(Zpc(a.e))===oE((sQb(),qQb)))return OPb(a,b);f=GQb(a.g,0).b.b;c=tOb(a,b);if(KNb(a,c)){a.f=c.o.b;QQb(a.g,a.f.c);
return dOb(a,b)}if(QPb(a,wRb))return c.p==(gXb(),DVb)?BNb(a,c):(g=jQb(a,c),h=GQb(a.g,0).b.b.b>a.f.b,(h||PPb(a,0,WSb)||PPb(a,0,HRb)||PPb(a,0,URb))&&hQb(a,TKc,vD(qD(lT,1),bDc,1,5,[])),CNb(a,wRb),i=aOb(a,b,(sQb(),rQb)),j=HUb(GUb(new OUb((TUb(),PUb)),g),i),DUb(j,JNb(a,g.o.b)));if(SPb(a)){c=iQb(a,c);ETb(c)||hQb(a,UKc,vD(qD(lT,1),bDc,1,5,[]));d=PNb(a);e=bOb(a,b);return new OTb(new SXb(f,a.f),c,d,e)}return c}function BY(a,b){var c,d,e,f;if(!a||!b)return!a&&!b;if(!a.ri(b,false,false,false,true))return false;
if(b2b(a)!=b2b(b))return false;if(a.j==(w7b(),G5b)&&b.j==G5b){Lib();if((a.j==G5b&&zjb(a.e)&&a.j==G5b&&Ujb(a.b))!=(b.j==G5b&&zjb(b.e)&&b.j==G5b&&Ujb(b.b)))return false}if(!!a.e&&a.e.j==G6b)if(e2b(a,96)!=0!=(e2b(b,96)!=0))return false;e=a.b;c=b.b;while(!!e&&!!c){if(e.j==G5b||e.j==U6b){if(c.j!=e.j)return false;if(e.j==G5b&&(Lib(),e.j==G5b&&zjb(e.e)&&e.j==G5b&&Ujb(e.b))){f=e.b.qi();d=c.b.qi();if(!imc(f,d))return false}}else if(!BY(e,c))return false;e=e.d;c=c.d}return true}function dbc(a,b){var c,d,e,
f,g,h,i,j,k;g=!b;d=acc(_bc(new ccc(a.B),b?a.c.b:(c=acc(_bc(new ccc(a.B),a.c.b),a.C.d),new sbc(c.d,null,null,new k9b(c.d,c.c,c.e,false),c.g,c.f,c.a,c.b,false))),a.C.d);h=a.c.a;if(h){i=Y1b(h,false);k=new g4b((w7b(),o6b),"thisType");O2b(k,mec(a.B,U7b(a.o)?vec(a.B,(dec(),_dc)):a.o));S1b(i,k);if(g)for(e=k.d;e;e=e.d){j=G2b(e,e.g,37);j!=e.g&&(e.g=j);e.g=new K3b(37,1,e.g)}else if(b){f=k.d;(!f||e2b(f,37)!=0||e2b(f,30)!=0)&&(j=G2b(k,k.g,37),j!=k.g&&(k.g=j),k.g=new K3b(37,1,k.g))}d.c=i}return new sbc(d.d,null,
null,new k9b(d.d,d.c,d.e,false),d.g,d.f,d.a,d.b,false)}function q1(b,c,d,e){var f;r1(b,e);d.a.length==0?L1(b,new ofb(null,null,-1,-1,G0,null,vD(qD(qT,1),NCc,2,6,[]))):(iCc(0,d.a.length),d.a[0]).d.a.length==0&&d.a.length>1&&L1(b,new ofb(null,null,-1,-1,H0,null,vD(qD(qT,1),NCc,2,6,[(iCc(0,d.a.length),d.a[0]).e])));$1(d);b.o=t1(c);b.J=d;try{b.G=new Lfb(d)}catch(a){a=BV(a);if(iE(a,292)){f=a;L1(b,new ofb(null,null,-1,-1,I0,null,vD(qD(qT,1),NCc,2,6,[f.b.e,f.a.e])));return}else throw CV(a);}b.A=_1(d);new EAc(b.A.size());
zi(b.w,b.M.Lb);p1(b);b.C=OZb(vD(qD(SR,1),OEc,7,0,[]));b.q=OZb(vD(qD(SR,1),OEc,7,0,[]));b.k=OZb(vD(qD(SR,1),OEc,7,0,[b.q,b.C]))}function BD(a,b,c){var d,e,f,g,h,i;if(b.l==0&&b.m==0&&b.h==0)throw CV(new Yjc("divide by zero"));if(a.l==0&&a.m==0&&a.h==0){c&&(xD=AD(0,0,0));return AD(0,0,0)}if(b.h==hEc&&b.m==0&&b.l==0)return CD(a,c);i=false;if(b.h>>19!=0){b=QD(b);i=!i}g=ID(b);f=false;e=false;d=false;if(a.h==hEc&&a.m==0&&a.l==0){e=true;f=true;if(g==-1){a=zD((bE(),ZD));d=true;i=!i}else{h=SD(a,g);i&&GD(h);
c&&(xD=AD(0,0,0));return h}}else if(a.h>>19!=0){f=true;a=QD(a);d=true;i=!i}if(g!=-1)return DD(a,g,i,f,c);if(ND(a,b)<0){c&&(f?xD=QD(a):xD=AD(a.l,a.m,a.h));return AD(0,0,0)}return ED(d?a:AD(a.l,a.m,a.h),b,i,f,e,c)}function H9(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p;i=K9(a,(dec(),kdc),c);j=K9(a,pdc,c);k=b.b.d;Zd(k.j==(w7b(),G5b));l=k.k.gi();l=l.fi().ji(j).ii();k.k=l;Y2b(k.b,l);p=a2b(a2b(k,2).b.b.d.b,2).b.b.b;Zd(p.j==B6b);p.k=j;Y2b(p.b,j);m=k.d;Zd(m.j==q7b);Y2b(m.b,i);Y2b(m.b.b,i);Y2b(m.b.b.b,i);n=m.b.b.b.b;
Zd(n.j==_6b);o=n.k.gi();o=o.fi().ji(j).ii();n.k=o;Y2b(n.b,o);d=a2b(n.b,2).b.b;Zd(d.j==X4b);d.k=j;g=d.b;Zd(g.j==o6b);h=g.k.gi();h=h.fi().ji(j).ii();g.k=h;e=m.d.d;Zd(e.j==B5b);f=e.b.k.gi();f=f.fi().ji(j).ii();Y2b(e.b,f);Y2b(e.b.b,f);Y2b(e.b.b.b,i);Y2b(e.b.b.d,f);Y2b(a2b(e.b.b.d,2).b.b,i);Y2b(e.d.b,i)}function kD(a,b){var c,d,e,f,g,h,i,j,k;j="";if(b.length==0)return a.If(eEc,cEc,-1,-1);k=Emc(b);imc(k.substr(0,3),"at ")&&(k=k.substr(3));k=k.replace(/\[.*?\]/g,"");g=k.indexOf("(");if(g==-1){g=k.indexOf("@");
if(g==-1){j=k;k=""}else{j=Emc(k.substr(g+1));k=Emc(k.substr(0,g))}}else{c=k.indexOf(")",g);j=k.substr(g+1,c-(g+1));k=Emc(k.substr(0,g))}g=lmc(k,Hmc(46));g!=-1&&(k=k.substr(g+1));(k.length==0||imc(k,"Anonymous function"))&&(k=cEc);h=omc(j,Hmc(58));e=pmc(j,Hmc(58),h-1);i=-1;d=-1;f=eEc;if(h!=-1&&e!=-1){f=j.substr(0,e);i=fD(j.substr(e+1,h-(e+1)));d=fD(j.substr(h+1))}return a.If(f,k,i,d)}function pYb(a){var b,c,d,e,f;if(a.a==null)return a.b.k=false,iYb(a,KCc,0);if(!kE(a.a))throw CV(fYb(a));e=sYb(a);if(e!=
null)return e;b=a.b.b;b!=97&&b!=65&&a.b.n==-1&&(a.b.n=6,undefined);d=new $mc;switch(b){case 97:case 65:kYb(a);break;case 101:case 69:lYb(a,d);break;case 102:mYb(a,d);break;case 103:case 71:tYb(a,d);break;default:throw CV(NYb(a.b));}a.b.n=-1;f=0;if(45==dmc(d.a,0)){if(a.b.g)return uYb(a,d)}else{if(a.b.j){Zmc(d,0,String.fromCharCode(32));++f}if(a.b.d){Zmc(d,0,String.fromCharCode(43));++f}}c=dmc(d.a,0);a.b.k&&(c==43||c==45)&&(f=1);(b==97||b==65)&&(f+=2);return iYb(a,d,f)}function pRb(b){var c,d,e,f;while(b.indexOf("\\")!=
-1){e=lmc(b,Hmc(92));try{qCc(e+1,b.length);if(b.charCodeAt(e+1)!=117)return null;qCc(e+2,b.length);if(b.charCodeAt(e+2)!=123){d=e+6;f=b.substr(e+2,d-(e+2))}else{d=e+3;while(rkc((qCc(d,b.length),b.charCodeAt(d)),16)>=0)++d;qCc(d,b.length);if(b.charCodeAt(d)!=125)return null;f=b.substr(e+3,d-(e+3));++d}c=dlc(f)&SCc;if(!(kRb(c)||(mkc==null&&(mkc=new RegExp("\\d")),mkc.test(String.fromCharCode(c)))))return null;b=b.substr(0,e)+String.fromCharCode(c)+b.substr(d)}catch(a){a=BV(a);if(iE(a,91)||iE(a,265))return null;
else throw CV(a);}}return b}function GAb(a,b){switch(b.f){case 50:return a.u;case 51:return a.b;case 33:case 0:case 54:case 18:case 21:case 19:case 20:case 17:case 43:return a.G;case 46:return a.B;case 22:return a.j;case 13:return a.e;case 40:return a.w;case 2:return a.a;case 37:return a.t;case 23:return a.q;case 62:return ozb(a.r,a.a);case 26:return a.L;case 8:return null;case 27:return FAb(null.Tj());case 64:return a.A;case 52:return Jyb(a.J);case 14:case 16:return null.Tj();case 15:return FAb(a.s);
case 28:case 47:return null.Tj().Uj.Tj();default:throw CV(new yC("Native type "+(b.e!=null?b.e:""+b.f)+" not found"));}}function Wvb(){Wvb=bW;Jp("goog.object.forEach","goog.object.filter","goog.object.map","goog.object.some","goog.object.every","goog.object.getCount",vD(qD(qT,1),NCc,2,6,["goog.object.getAnyKey","goog.object.getAnyValue","goog.object.contains","goog.object.getValues","goog.object.getKeys","goog.object.findKey","goog.object.findValue","goog.object.isEmpty","goog.object.clear","goog.object.remove",
"goog.object.equals","goog.object.clone","goog.object.transpose"]));Vvb=new s6("JSC_ARRAY_PASSED_TO_GOOG_OBJECT",(pZ(),oZ),new xnc("{0} expects an object, not an array. Did you mean to use goog.array?"))}function uOb(a){var b,c,d;if(GQb(a.g,1).c==(xTb(),cSb))return rOb(a,DSb,IRb);d=GQb(a.g,0).b.b;CNb(a,DSb);if(QPb(a,IRb)){CNb(a,IRb);if(QPb(a,wRb))return new BUb(new SXb(d,a.f),(Sn(),Sn(),Rn));else{hQb(a,WKc,vD(qD(lT,1),bDc,1,5,[]));return new iVb(new SXb(d,a.f))}}if(QPb(a,ZSb)){b=(Sn(),new My(Td(iPb(a,
0))));CNb(a,IRb);if(QPb(a,wRb))return new BUb(new SXb(d,a.f),b);else{hQb(a,WKc,vD(qD(lT,1),bDc,1,5,[]));return new iVb(new SXb(d,a.f))}}c=QNb(a,1);if(QPb(a,LRb)){CNb(a,LRb);c=new WTb(new SXb(d,a.f),(Sn(),new Rx(jo(vD(qD(lT,1),bDc,1,5,[c,iPb(a,0)])))))}CNb(a,IRb);return new sVb(new SXb(d,a.f),c)}function LZ(){LZ=bW;KZ=new s6("JSC_SUSPICIOUS_SEMICOLON",(pZ(),oZ),new xnc("If this if/for/while really shouldn''t have a body, use '{}'"));GZ=new s6("JSC_SUSPICIOUS_NAN",oZ,new xnc("Comparison against NaN is always false. Did you mean isNaN()?"));
IZ=new s6("JSC_SUSPICIOUS_IN",oZ,new xnc('Use of the "in" keyword on non-object types throws an exception.'));HZ=new s6("JSC_SUSPICIOUS_INSTANCEOF_LEFT",oZ,new xnc('"instanceof" with left non-object operand is always false.'));JZ=new s6("JSC_SUSPICIOUS_NEGATED_LEFT_OPERAND_OF_IN_OPERATOR",oZ,new xnc("Suspicious negated left operand of 'in' operator."))}function CCb(a,b){var c,d,e,f,g,h,i,j,k,l;if(a.c)return SBb(a,b)?a:null;if(b.c)return null;if(!vyc(a.e,b.e))return null;if(a==a.a.M)return b==b.a.M?
a:null;else if(b==b.a.M)return null;else if(a==a.a.J)return b==b.a.J?a:null;else if(b==b.a.J)return null;f=EBb(a.d,b.d);if(!f)return null;d=null;if(!!a.b||!!b.b){d=Ixb(a.b,b.b);if(!d)return null}e=(bBb(),bBb(),aBb);for(l=(g=(new Boc(a.g)).a.Xd().Pd(),new Hoc(g));l.a.Jd();){k=(c=l.a.Kd(),c.ce());i=Ii(yi(a.g,k,false));j=Ii(yi(b.g,k,false));if(!j)return null;h=QCb(i,j);if(!h)return null;e=dBb(e,k,h)}return wCb(a.a,f,e,d,a.e,false,MBb(a.f,b.f))}function IJb(a,b){var c;if(b.j==(w7b(),v4b)||b.j==E6b||b.j==
w6b)return JJb(a,b);if(b.j!=X4b){a.a.lh(VJc+t4b(kKc,vD(qD(lT,1),bDc,1,5,[ECc])),a.b.Hg(),a.d,a.c);return false}if(!FJb((Pd(b.j==X4b,iKc,b),b.b.qi()))){a.a.lh(VJc+t4b(jKc,vD(qD(lT,1),bDc,1,5,["boolean predicate"])),a.b.Hg(),a.d,a.c);return false}c=IKb(Vb((Pd(b.j==X4b,iKc,b),b.b.qi())));if(!CJb(a,b,c))return false;switch(c.a){case 3:return $Jb(a,b,(Pd(b.j==X4b,iKc,b),b2b(b)-1));case 2:return VJb(a,b,(Pd(b.j==X4b,iKc,b),b2b(b)-1));case 4:return bKb(a,b,(Pd(b.j==X4b,iKc,b),b2b(b)-1));default:throw CV(new llc("Invalid boolean expression"));
}}function lob(a,b,c){var d,e,f,g,h,i,j,k;if(t2b(c)&&fob(a.b.b,c)){h=h2b(c);f=false;for(e=(Wnb(),Unb).Pd();e.Jd();){d=e.Kd();if(imc(h.substr(0,d.length),d)){h=zmc(h,d.length);f=true;break}}i=kp(a.b.b.b,h);!!i&&!f&&(k=kjb(c),k.j!=(w7b(),o6b)||!!Vob(gib(b),k.qi()))&&(i=null);if(!!i&&!Seb(a,h)){Znb(a.b,i.c)||pib(b,c,Vnb,vD(qD(qT,1),NCc,2,6,[h,je(D3(a.b.a.M))]));!Znb(a.b,i.b)&&i.a.length!=0&&Cwc(a.a,i.a);return}}if(c.j==(w7b(),M5b)&&(c.b?c.b.f:null).j==$6b){h=(c.b?c.b.f:null).qi();g=en(a.b.b.a,h);if(!g.isEmpty()&&
!Seb(a,"."+h))for(j=g.Pd();j.Jd();){i=j.Kd();!Znb(a.b,i.b)&&i.a.length!=0&&Cwc(a.a,i.a)}}return}function Wmb(){Wmb=bW;vn();Fp(vD(qD(lT,1),bDc,1,5,["COMPILED","goog.DEBUG"]));Vmb=new s6("JSC_UNKNOWN_DEFINE_WARNING",(pZ(),oZ),new xnc("unknown @define variable {0}"));new s6("JSC_INVALID_DEFINE_TYPE_ERROR",mZ,new xnc("@define tag only permits literal types"));Umb=new s6("JSC_INVALID_DEFINE_INIT_ERROR",mZ,new xnc("illegal initialization of @define variable {0}"));new s6("JSC_NON_GLOBAL_DEFINE_INIT_ERROR",
mZ,new xnc("@define variable {0} assignment must be global"));new s6("JSC_DEFINE_NOT_ASSIGNABLE_ERROR",mZ,new xnc("@define variable {0} cannot be reassigned due to code at {1}."));new xnc("line {0} of {1}")}function nC(b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q;c=new kC;f=null;try{f=$wnd.JSON.parse(b)}catch(a){a=BV(a);if(iE(a,40)){d=a;throw CV(new oC("JSON parse exception: "+d));}else throw CV(a);}q=f;jC(c,q.version);dC(c,q.file);eC(c,q.getLineCount()!=null?q.lineCount:-1);fC(c,q.mappings);if(q.sections!=
null){l=(Sn(),new ar);for(n=q.sections,o=0,p=n.length;o<p;++o){m=n[o];$q(l,lC(m))}hC(c,$n(l.a))}else c.f=null;iC(c,q.sources);gC(c,q.names);e=new Hxc;k=$wnd.Object.keys(q);for(h=k,i=0,j=h.length;i<j;++i){g=h[i];imc(g.substr(0,2),"x_")&&Exc(e,g,q[g])}cC(c,(msc(),new cuc(e)));return new bC(c.i,c.c,c.b,c.d,c.g,c.e,c.f,c.a)}function O7b(a,b,c,d){var e,f;if(a==b)return true;if(a.Li()&&b.Li())return true;f=a.ai();e=b.ai();if(f||e)if(c==2)return true;else if(c==1)return f&&e;else if(f&&e&&a.Ni()^b.Ni())return false;
if(!!a.$i()&&!!b.$i())return Hic(a.$i(),b.$i(),c,d);if(!!a.Wi()&&!!b.Wi())return bbc(a.Wi(),b.Wi(),c,d);if(!Hhc(a.Ei(),b.Ei(),c,d,0))return false;if(d.b&&a.Qi()&&b.Qi())return B9b(iE(a,47)?a:null,iE(b,47)?b:null,c,d);if(a.Ni()&&b.Ni())return imc(Q7b(a,iE(a,47)?a:null),Q7b(a,iE(b,47)?b:null));if(!!a.Yi()&&!!b.Yi())return false;if(iE(a,123))return O7b(a.d,b,c,d);if(iE(b,123))return O7b(a,b.d,c,d);return false}function Mec(a,b){var c,d,e,f,g,h,i,j,k,l,m,n;if(b.s)return b;if(b.i!=(occ(),ncc)&&!b.Th())return b;
j=false;h=U7b(b.o)?vec(b.B,(dec(),_dc)):b.o;e=Rec(a,h._i(a));h!=e&&(j=true);g=b.c.b;d=g._i(a);g!=d&&(j=true);l=new hcc(a.e);for(n=(k=b.c.a,k?!k.b?(msc(),msc(),lsc):new Z3b(k.b):(msc(),msc(),lsc)).Pd();n.Jd();){m=n.Kd();f=iE(m.k,23)?m.k:null;c=f._i(a);f!=c&&(j=true);e2b(m,37)!=0?dcc(l,vD(qD(nS,1),xLc,23,0,[c])):e2b(m,30)!=0?fcc(l,c):ecc(l,vD(qD(nS,1),xLc,23,0,[c]))}if(j){i=acc(bcc(_bc($bc(Zbc(new ccc(a.e),b.Th()),l.b),d),e),Mhc(b.C));return new sbc(i.d,null,null,new k9b(i.d,i.c,i.e,false),i.g,i.f,
i.a,i.b,false)}return b}function tbb(a){var b,c,d,e,f;f=a.d.d;a.b=bjb(f);switch(f.j.f){case 65:{e=f.b;b=e.d;Zd(b.j==(w7b(),G6b));rbb(a,a.d,b);d=e.qi();d.length!=0&&(Lib(),f.j==G5b&&!(f.j==G5b&&zjb(f.e)&&f.j==G5b&&Ujb(f.b))&&!Njb(f))&&sbb(a,a.d,e);return}case 96:{c=f.b;c.j!=(w7b(),r5b)&&(Lib(),f.j==a5b&&(!(f.j==a5b&&Ujb(f.b))||!zjb(f.e)))&&sbb(a,a.d,c);return}case 81:case 85:$d(!a.d.c,a.d);ubb(a,f,a.d,a.d);return;case 111:ubb(a,f,a.d,a.d);return;case 72:case 101:case 73:case 67:ubb(a,f,null,a.d);return;
case 82:Lib();f.j==(w7b(),U4b)&&!!f.e&&f.e.j==G5b?ubb(a,f,a.d,a.d):ubb(a,f,null,a.d);return;default:throw CV(new yC("Illegal scope root: "+f));}}function Hyb(a){ayb();var b;b=new Hxc;Exc(b,"BOOLEAN",new Lzb(a,24));Exc(b,"BOTTOM",new Lzb(a,0));Exc(b,bJc,new Lzb(a,16));Exc(b,"FALSY",new Lzb(a,mHc));Exc(b,cJc,new Lzb(a,32));Exc(b,dJc,new Lzb(a,64));Exc(b,eJc,new Lzb(a,128));Exc(b,"TOP",new Lzb(a,-1));Exc(b,fJc,new Lzb(a,504));Exc(b,gJc,new Lzb(a,8));Exc(b,hJc,new Lzb(a,512));Exc(b,"UNDEFINED",new Lzb(a,
256));Exc(b,iJc,new Lzb(a,ICc));Exc(b,jJc,new Lzb(a,aJc));Exc(b,kJc,new Lzb(a,280));Exc(b,lJc,new Lzb(a,320));Exc(b,mJc,new Lzb(a,384));Exc(b,nJc,new Lzb(a,56));Exc(b,oJc,new Lzb(a,96));Exc(b,pJc,new Lzb(a,160));Exc(b,qJc,new Lzb(a,288));Exc(b,rJc,new Lzb(a,192));return b}function KNb(a,b){var c,d,e,f,g,h,i;if(b.p==(gXb(),jWb)){f=b.a;return imc(f.a,_Ec)&&(h=GQb(a.g,0).b.b.b>a.f.b,!(h||PPb(a,0,(xTb(),WSb))||PPb(a,0,(xTb(),HRb))||PPb(a,0,(xTb(),URb))))&&(i=GQb(a.g,0).c,hwc(dwc((xTb(),fSb),vD(qD(jP,
1),gDc,12,0,[oTb,PRb,tSb,uSb])),i)||!a.b.c&&mNb(i))&&(g=GQb(a.g,1).b.b.b>GQb(a.g,0).b.a.b,!(g||PPb(a,1,(xTb(),WSb))||PPb(a,1,(xTb(),HRb))||PPb(a,1,(xTb(),URb))))&&PPb(a,1,(xTb(),wRb))}else if(b.p==DVb){d=b;e=d.b;c=d.a;return e.p==jWb&&imc(e.a.a,_Ec)&&e.o.a.b==c.o.b.b&&(g=GQb(a.g,0).b.b.b>a.f.b,!(g||PPb(a,0,(xTb(),WSb))||PPb(a,0,(xTb(),HRb))||PPb(a,0,(xTb(),URb))))&&QPb(a,(xTb(),wRb))}else return false}function n7(a,b){var c,d,e,f,g,h,i,j,k;if(!a.c)return false;i=gdb(a.c,b);if(!i)return false;d=i.d;
if(!d)for(k=(!i.n?(Sn(),Sn(),Rn):i.n).Pd();k.Jd();){j=k.Kd();(j.b==(Wdb(),Udb)||j.b==Vdb)&&(d=j)}if(!d)return false;f=d.a;g=g2b(f,51);if(!!g&&g.vh())return false;c=f.e;e=null;if(c.j==(w7b(),G5b))e=c;else{Lib();if(!!c&&(c.j==q7b||c.j==g6b||c.j==f5b)&&f.j==o6b)if(f.b)e=Td(f.b);else return false;else if(c.j==B4b&&c.b==f)e=Td(c.b.d);else if(c.j==B6b&&!!f.b&&!f.b.d)e=Td(f.b);else throw CV(new llc("Unexpected declaration format:\n"+b3b(c)));}if(e.j==G5b){h=Td(a2b(e,2));return!z7(new A7(a),h)}else return t2b(e)&&
n7(a,h2b(e))}function Ljb(a,b){var c,d,e,f;switch(a.j.f){case 92:return Ljb(a.b,b);case 42:for(d=a.b;d;d=d.d)if(d.j!=(w7b(),r5b)&&!Ljb(d,b))return false;return true;case 38:for(e=a.b;e;e=e.d)if(!Ljb(e,b))return false;return true;case 43:for(f=a.b;f;f=f.d)if(f.j==(w7b(),j6b)||Ejb(f)){if(!b)return false}else if(f.j==e5b){if(!Ljb(f.b,b)||!Ljb(f.b?f.b.f:null,b))return false}else{$d(f.j==_6b,f);if(!Ljb((Zd(!!f.b&&!f.b.d),f.b),b))return false}return true;case 65:return b&&!(a.j==(w7b(),G5b)&&zjb(a.e)&&
a.j==G5b&&Ujb(a.b));case 116:for(c=a.b;c;c=c.d)if(c.j==(w7b(),g7b))if(!Ljb(c.b,b))return false;return true;default:return Gjb(a)}}function $bb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q;k=b.e;g=rjb(k)&&k.j!=(w7b(),B4b)&&k.b==b;e=null;if(g&&(Lib(),b.j==(w7b(),M5b)||b.j==L5b))for(i=(!b.b?(msc(),msc(),lsc):new Z3b(b.b)).Pd();i.Jd();){h=i.Kd();if(h.j!=(w7b(),$6b)&&!(h.j==o6b&&(wjb(h,a.e)||Dwc(a.c,h.qi())))){d=$bb(a,h,c);!e&&(e=d)}}n=(q=a.f+"_const"+LHc+(""+a.d.a.Y++),Cwc(a.c,q),q);l=c3b((ce(lmc(n,Hmc(46))==
-1,NEc,n),new g4b((w7b(),o6b),n)),b);if(g){$d(b.j==o6b||(Lib(),b.j==M5b||b.j==L5b),b);j=e3b(new g3b(hjb(k)),k);m=k.b?k.b.f:null;X2b(k,B4b);H2b(k,m,j);S1b(j,l);R1b(j,m);o=Y1b(b,false)}else{H2b(k,b,l);o=b}p=kkb(n,o);f=c.e;Q1b(f,p,c);!e&&(e=p);Zd(e.j==q7b);return e}function axb(a,b,c){var d,e;if(a.c&&c.li())return b.a+=ZIc,b;else if(a==a.a.g)return b.a+=$Ic,b;else if(a==a.a.v)return b.a+=_Ic,b;else if(a==a.a.s)return Wmc(b,c.li()?ZIc:UGc);if(!a.n.a.isEmpty()){b.a+="<";Gc(new Kc(","),b,Cm(new Dm(wn(a.n.a.cf()),
new Jxb)));b.a+=">"}b.a+=_Hc;if(a.d){b.a+="new:";Vmc(b,a.d);b.a+=","}else if(a.g){b.a+="this:";Vmc(b,a.g);b.a+=","}for(e=0;e<a.i.size();++e){byb(a.i.getAtIndex(e),b,c);b.a+=","}for(d=0;d<a.e.size();++d){byb(a.e.getAtIndex(d),b,c);b.a+="=,"}if(a.j){b.a+=aFc;byb(a.j,b,c)}Pjc(b,b.a.length-1)==44&&Ymc(b,b.a.length-1);b.a+=")";if(a.k){b.a+=WDc;byb(a.k,b,c)}a.c&&(b.a+=" (loose)",b);return b}function BZb(a){switch(a.j.f){case 65:case 96:return true;case 13:case 62:case 42:case 47:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 59:case 57:case 58:case 103:case 3:case 1:case 20:case 2:case 28:case 92:case 46:case 64:case 24:case 16:case 4:case 18:case 34:case 9:case 26:case 27:case 8:case 60:case 40:case 63:case 41:case 7:case 10:case 6:case 17:case 15:case 29:case 5:case 22:case 23:case 19:case 30:case 32:case 43:case 61:case 21:case 38:case 11:case 36:case 37:case 113:case 31:case 14:case 99:case 116:case 115:case 33:case 25:case 35:case 12:case 79:case 102:return true;
default:return false}}function _Bc(a,b){var c,d,e,f,g,h,i,j,k;e=0;for(i=0;i<b;){++e;d=a[i];if((d&192)==128)throw CV(new Nfb(KLc));else if((d&128)==0)++i;else if((d&224)==192)i+=2;else if((d&240)==224)i+=3;else if((d&248)==240)i+=4;else throw CV(new Nfb(KLc));if(i>b)throw CV(new $jc(KLc));}f=sD(rE,OCc,45,e,15,1);k=0;g=0;for(h=0;h<b;){d=a[h++];if((d&128)==0){g=1;d&=127}else if((d&224)==192){g=2;d&=31}else if((d&240)==224){g=3;d&=15}else if((d&248)==240){g=4;d&=7}else if((d&252)==248){g=5;d&=3}while(--g>
0){c=a[h++];if((c&192)!=128)throw CV(new Nfb("Invalid UTF8 sequence at "+(h-1)+", byte="+(j=c>>>0,j.toString(16))));d=d<<6|c&63}k+=zkc(d,f,k)}return f}function x9(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;h=null;e=d.b?d.b.f:null;g=0;o=null;for(p=c.b;p;p=o,g++){o=p.d;if(p.j==(w7b(),l5b)){j=g2b(p,29);l=F2b(p);f=F2b(p);i=false;l.j==o6b&&(f.j==o6b?i=imc(_Gc,f.qi()):f.j==r7b&&(i=Gjb(f.b)));if(i)m=Y1b(l,false);else{m=l.j==o6b?l:FZb(p9(a,d,g));k=Y1b(l,false);s=A9(Y1b(m,false),f);n=l.j==o6b?oZb(cZb(k,s)):
lZb(k,s,q7b);f3b(n,p);P1b(e,n,h);h=n}H2b(c,p,m);r=G2b(m,m.g,37);r!=m.g&&(m.g=r);m.g=new K3b(37,1,m.g);q=G2b(m,m.g,29);q!=m.g&&(m.g=q);!!j&&(m.g=new U3b(29,j,m.g));qib(b)}else if(p.j==C6b||p.j==z4b){h=t9(d,h,p,p9(a,d,g));qib(b)}else if(p.j==P6b&&r2b(p.b)){h=t9(d,h,p.b,p9(a,d,g));qib(b)}}}function e8b(a,b){var c;if(!!a.Wi()&&!!b.Wi())return qbc(a.Wi(),b.Wi(),false);else if(O7b(a,b,0,new Kcc(true)))return a;else if(a.ai()||b.ai())return O7b(a,b,0,new Kcc(true))?a:R7b(a,(dec(),_dc));else if(a.$i())return Qic(a.$i(),
b);else if(b.$i())return Qic(b.$i(),a);else if(a.Zi())return _hc(a.Zi(),b);else if(b.Zi())return _hc(b.Zi(),a);else if(a.Ri(b))return c8b(a);else if(b.Ri(a))return c8b(b);else if(a.Xi())return hhc(a.Xi(),b);else if(b.Xi())return hhc(b.Xi(),a);if(a.Ui()){c=jac(a.Ui(),b);if(c)return c}else if(b.Ui()){c=jac(b.Ui(),a);if(c)return c}if(a.Pi()&&b.Pi())return R7b(a,(dec(),sdc));return R7b(a,(dec(),udc))}function $Bb(a,b,c){var d,e,f,g,h;if(b==b.a.M)return true;if(a.c||b.c)return ZBb(a,b,c);h=a.d;f=b.d;e=
true;if(null.Uj==2){if(kBb(f,Ii(yi(c.a,h,false))))return true;c=(Kd(null.Uj!=0),new $Cb(dBb(c.a,h,f)));jBb(h,f)||(e=false);if(null.Tj()&&null.Tj()&&(Zd(null.Tj()&&null.Tj()),!(pyb(mBb(f),mBb(h),new $Cb((bBb(),bBb(),aBb)))&&pyb(nBb(h),nBb(f),new $Cb((null,aBb))))))return false;if((null.Tj()||null.Tj())&&null.Tj())return RBb(a,f,c)}else if(!jBb(h,f))return false;if(e)g=new Boc(b.g);else{g=null.Tj();if(!g)return false}if(!QBb(a,b,g,c))return false;if(!b.b)return true;else if(!a.b)return false;d=nxb(a.b,
b.b,false,c,null);return d}function cA(b,c){var d,e,f,g,h,i;this.f=Td(b);this.c=Td(c);try{this.a=JA(c.length,(onc(),mnc))}catch(a){a=BV(a);if(iE(a,188))throw CV(new Ofb("Illegal alphabet length "+c.length));else throw CV(a);}f=$wnd.Math.min(8,vlc(this.a));try{this.d=8/f|0;this.b=this.a/f|0}catch(a$2){a$2=BV(a$2);if(iE(a$2,188))throw CV(new Ofb("Illegal alphabet "+Nmc(c,0,c.length)));else throw CV(a$2);}e=sD(qE,SDc,45,128,15,1);urc(e,e.length);for(h=0;h<c.length;h++){d=c[h];Md(d<e.length,"Non-ASCII character: %s",
d);Md(e[d]==-1,"Duplicate character: %s",d);e[d]=h<<24>>24}this.e=e;i=sD(zV,{975:1,3:1},45,this.d,16,1);for(g=0;g<this.b;g++)i[IA(g*8,this.a,(onc(),gnc))]=true;this.g=i}function KFb(a,b){var c,d;if(b.j==(w7b(),W4b)||b.j==g5b){c=b.b;if(c){d=b.e;while(d.j!=b6b||!imc(d.b.qi(),c.qi())){if(d.j==G5b||d.j==U6b){a.d.kh(wYb('undefined label "%s"',vD(qD(lT,1),bDc,1,5,[c.qi()])),a.r,p3b(b.i),o3b(b.i));break}d=d.e}d.j==b6b&&imc(d.b.qi(),c.qi())&&b.j==g5b&&!UFb(d.b?d.b.f:null)&&a.d.kh("continue can only use labeles of iteration statements",
a.r,p3b(b.i),o3b(b.i))}else if(b.j==g5b){d=b.e;while(!UFb(d)){if(d.j==G5b||d.j==U6b){a.d.kh("continue must be inside loop",a.r,p3b(b.i),o3b(b.i));break}d=d.e}}else{d=b.e;while(!TFb(d)){if(d.j==G5b||d.j==U6b){a.d.kh("unlabelled break must be inside loop or switch",a.r,p3b(b.i),o3b(b.i));break}d=d.e}}}}function SQb(a){var b;b=gRb(a);if(AQb(a,a.d))switch(AQb(a,a.d)?dmc(a.e.a,a.d):0){case 47:switch(AQb(a,a.d+1)?dmc(a.e.a,a.d+1):0){case 47:cRb(a,(bUb(),_Tb));return true;case 42:XQb(a);return true}break;
case 60:if((AQb(a,a.d+1)?dmc(a.e.a,a.d+1):0)==33&&(AQb(a,a.d+2)?dmc(a.e.a,a.d+2):0)==45&&(AQb(a,a.d+3)?dmc(a.e.a,a.d+3):0)==45){JQb(a,aLc,vD(qD(lT,1),bDc,1,5,[]));cRb(a,(bUb(),_Tb));return true}break;case 45:if(b&&(AQb(a,a.d+1)?dmc(a.e.a,a.d+1):0)==45&&(AQb(a,a.d+2)?dmc(a.e.a,a.d+2):0)==62){JQb(a,aLc,vD(qD(lT,1),bDc,1,5,[]));cRb(a,(bUb(),_Tb));return true}break;case 35:if(a.d==0&&(AQb(a,a.d+1)?dmc(a.e.a,a.d+1):0)==33){cRb(a,(bUb(),aUb));return true}}return false}function gOb(a,b){var c,d,e,f,g,h;
INb(a,_Ec);if($Pb(a,0)){h=GQb(a.g,0).c;if((xTb(),fSb)==h||(hNb(),!!kp(KMb,h))){f=ENb(a);c=EUb(KUb(NUb(FUb(new OUb((TUb(),SUb))),b.c),f),b.a);if(b.b){HUb(MUb(GUb(JUb(c,MNb(a)),HOb(a,1)),LNb(a)),new sUb(JNb(a,b.d)));HNb(a)}else KOb(a,c,(sQb(),pQb));return DUb(c,JNb(a,f.b.b))}else{g=YOb(a);c=NUb(FUb(new OUb((TUb(),RUb))),b.c);KOb(a,c,(sQb(),pQb));d=DUb(c,JNb(a,g.o.b));return new kUb(JNb(a,g.o.b),b.a,g,d)}}else if(a.b.d&&PPb(a,0,(xTb(),ESb))&&PPb(a,1,(xTb(),fSb))&&PPb(a,2,(xTb(),KRb))){e=TOb(a);HNb(a);
return e}else{g=sOb(a);c=NUb(FUb(new OUb((TUb(),RUb))),b.c);KOb(a,c,(sQb(),pQb));d=DUb(c,JNb(a,g.o.b));return new kUb(JNb(a,g.o.b),b.a,g,d)}}function Y9(a){var b,c,d,e,f,g,h,i,j,k;f=bab(a,FZb("$jscomp$generator$switch$entered"+(""+a.j.a.Y++)));g=lZb(Y1b(f,false),cab(a,new g3b((w7b(),C5b))),q7b);j=Kbb(FZb("$jscomp$generator$switch$val"+(""+a.j.a.Y++)),a.f.b.k);k=lZb(Y1b(j,false),F2b(a.f),q7b);S1b(a.p,g);P1b(a.p,k,g);i=k;while(a.f.b){e=F2b(a.f);S1b(e.b?e.b.f:null,oZb(bab(a,cZb(Y1b(f,false),fab(a,new g3b(j7b))))));
if(e.j==k5b){!!a.f.b&&L1(a.c,sfb(a.f,(Ebb(),Dbb),vD(qD(qT,1),NCc,2,6,["Default case as intermediate case"])));h=eZb(F2b(e))}else h=wZb(bab(a,JZb(Y1b(f,false),bab(a,PZb(Y1b(j,false),F2b(e))))),F2b(e));P1b(a.p,h,i);i=h}c=E9++;d=a.e.a.length==0?-1:Cqc(a.e,0).b;zqc(a.e,0,new yab(c,d,null));b=P9(a,c);P1b(a.p,b,i)}function prc(a,b){var c,d,e,f,g,h,i,j,k,l;if(a==null)return KCc;i=b.a.put(a,b);if(i!=null)return"[...]";c=new Zyc("[","]");for(e=a,f=0,g=e.length;f<g;++f){d=e[f];if(d!=null&&(yb(d).i&4)!=0)if(Array.isArray(d)&&
(k=rD(d),!(k>=14&&k<=16)))if(b.a.containsKey(d)){!c.a?c.a=new bnc(c.d):Wmc(c.a,c.b);Tmc(c.a,"[...]")}else{h=(d==null||Array.isArray(d)&&(l=rD(d),!(l>=14&&l<=16)),d);j=new Hwc(b);Yyc(c,prc(h,j))}else iE(d,975)?Yyc(c,Nrc(d)):iE(d,290)?Yyc(c,Grc(d)):iE(d,83)?Yyc(c,Hrc(d)):iE(d,983)?Yyc(c,Mrc(d)):iE(d,136)?Yyc(c,Krc(d)):iE(d,550)?Yyc(c,Lrc(d)):iE(d,984)?Yyc(c,Jrc(d)):iE(d,985)&&Yyc(c,Irc(d));else Yyc(c,d==null?KCc:fW(d))}return!c.a?c.c:c.e.length==0?c.a.a:c.a.a+(""+c.e)}function jzc(a,b,c){var d,e,f,
g,h,i,j,k,l,m,n;if(!a.b)return false;g=null;m=null;i=new Lzc(null,null);e=1;i.a[1]=a.b;l=i;while(l.a[e]){j=e;h=m;m=l;l=l.a[e];d=a.a.Qe(b,l.d);e=d<0?0:1;d==0&&(!c.c||vyc(l.e,c.d))&&(g=l);if(!(!!l&&l.b)&&!fzc(l.a[e]))if(fzc(l.a[1-e]))m=m.a[j]=mzc(l,e);else if(!fzc(l.a[1-e])){n=m.a[1-j];if(n)if(!fzc(n.a[1-j])&&!fzc(n.a[j])){m.b=false;n.b=true;l.b=true}else{f=h.a[1]==m?1:0;fzc(n.a[j])?h.a[f]=lzc(m,j):fzc(n.a[1-j])&&(h.a[f]=mzc(m,j));l.b=h.a[f].b=true;h.a[f].a[0].b=false;h.a[f].a[1].b=false}}}if(g){c.b=
true;c.d=g.e;if(l!=g){k=new Lzc(l.d,l.e);kzc(a,i,g,k);m==g&&(m=k)}m.a[m.a[1]==l?1:0]=l.a[!l.a[0]?1:0];--a.c}a.b=i.a[1];!!a.b&&(a.b.b=false);return c.b}function iPb(a,b){var c,d,e,f,g,h,i;e=GQb(a.g,0).b.b;d=null;if(QPb(a,(xTb(),ZSb)))d=(i=GQb(a.g,0).b.b,CNb(a,ZSb),new mXb(new SXb(i,a.f),tPb(a,0)));else{f=GQb(a.g,0).c;if(hwc(dwc(fSb,vD(qD(jP,1),gDc,12,0,[oTb,PRb,tSb,uSb])),f)||!a.b.c&&mNb(f)){d=OOb(a);if(QPb(a,RSb)){CNb(a,RSb);d=new qVb(new SXb(e,a.f),d)}}else if(b!=2&&(PPb(a,0,ESb)||PPb(a,0,CSb)))d=
kPb(a,0);else throw CV(new llc("parseParameterCalled() without confirming a parameter exists."));}g=null;h=null;if(QPb(a,KRb)){if(PPb(a,1,dTb)){CNb(a,KRb);g=YOb(a)}else g=(CNb(a,KRb),DPb(a));h=JNb(a,GQb(a.g,0).b.b)}if(b==0&&d.p!=(gXb(),JWb)&&QPb(a,WRb)){CNb(a,WRb);c=bOb(a,1);d=new qUb(new SXb(e,a.f),d,c)}!!g&&(d=new BXb(h,d,g));return d}function uFb(a){var b,c,d,e,f,g;g=a.a;d=omc(g,Hmc(47));c=lmc(g,Hmc(92));if(c==-1)return g.substr(1,d-1);e=new $mc;f=1;while(c!=-1){e.a+=""+Amc(g==null?KCc:(jCc(g),
g),f,c);++c;b=(qCc(c,g.length),g.charCodeAt(c));switch(b){case 94:case 36:case 92:case 47:case 46:case 42:case 43:case 63:case 40:case 41:case 91:case 93:case 123:case 125:case 124:case 45:case 98:case 66:case 99:case 100:case 68:case 102:case 110:case 114:case 115:case 83:case 116:case 117:case 118:case 119:case 87:case 120:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:e.a+="\\";default:e.a+=String.fromCharCode(b)}f=c+1;c=mmc(g,Hmc(92),f)}e.a+=""+Amc(g==null?KCc:
(jCc(g),g),f,d);return e.a}function Abb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;n=j1(a.c);q=Ibb(c,n,(dec(),Qdc));d=Hbb(c,n,Wcc,q);r=Ibb(c,n,qdc);s=b.b?b.b.f:null;m=zbb(s,d,q);h=ybb(s,r,q);k=new L1b((sHb(),l=tIb("!ITemplateArray"),eIb(l,!l.n?dJb(l.i):BHb(l))),"<Es6TemplateLiterals.java>");j=new I1b(false);y1b(j,k);p=Kbb(iZb(h,n0b(j)),r);f=Kbb(FZb("$jscomp$templatelit$"+(""+(new H2(a.c)).a.Y++)),r);t=f3b(lZb(f,p,(w7b(),q7b)),b);o=(Lib(),$ib(b,new ykb(U6b)));S1b(o,t);N1(a.c,t);i=f3b(oZb(Kbb(cZb(Kbb(tZb(f.oi(false),
Kbb(new g4b($6b,"raw"),q)),d),m),d)),b);P1b(o,i,t);e=Kbb(gZb(F2b(b),vD(qD(SR,1),OEc,7,0,[f.oi(false)])),b.k);for(g=s.b;g;g=g.d)g.j==$6b||R1b(e,F2b(g));f3b(e,s);B2b(e,50,e.b.j!=M5b);H2b(b.e,b,e);qib(a)}function tzb(a,b,c,d,e,f,g,h,i){var j,k,l,m,n,o,p,q,r,s;if(h==i||!!h&&_x(h,i))return rzb(a,b,d,e,h);m=(vn(),new Or);j=Vwb(h,i);for(l=j.Pd();l.Jd();){k=l.Kd();if(!!h&&h.contains(k)&&!!i&&i.contains(k)){Aqc(m.a,Td(k));continue}Zd(null.Uj==(Zwb(),Ywb));if(ICc==null.Tj()){Aqc(m.a,Td(k));continue}if(null.Tj()!=
2){if((null.Tj()&c)!=0){Aqc(m.a,Td(k));b&=~null.Tj()}}else if(!f.isEmpty()||!g.isEmpty()){s=new jyc;n=Ps(null.Tj().Tj());for(p=f.Pd();p.Jd();){o=p.Kd();if($Bb(n,o,new $Cb((bBb(),bBb(),aBb)))){Aqc(m.a,Td(k));s.a.put(o,s)}}for(r=g.Pd();r.Jd();){q=r.Kd();if($Bb(n,q,new $Cb((bBb(),bBb(),aBb)))){Aqc(m.a,Td(k));s.a.put(q,s)}}s.a.size()==0||(d=fy($x(d,s)))}}return rzb(a,b,d,e,Dp(new grc(m.a)))}function H8b(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q;Td(a);if(b.ai())return true;if(b.Gi())return true;if(V7b(a,
b,c.b))return true;if(b.$i()){q=b.$i();e=q.b;for(g=0;g<e.size();g++){f=e.getAtIndex(g);if(a.Si(f,c,d))return true}return false}if(d==1&&(a.Oi()||a.bi()))return true;p=a.Ei();n=b.Ei();l=true;k=iE(b,47)?b:null;if(!k||L7b.contains(k.jj())){j=a.B.f;o=(i=Lhc(p,j),i==-1?vec(p.b,(dec(),_dc)):p.c[i]);m=(h=Lhc(n,j),h==-1?vec(n.b,(dec(),_dc)):n.c[h]);l=o.Si(m,c,d)||m.Si(o,c,d)}else l=Hhc(p,n,2,new Kcc(true),d);if(!l)return false;if(c.b&&a.Pi()&&b.Qi())return H9b(iE(a,47)?a:null,iE(b,47)?b:null,c,d);if(a.Zi())return a.Zi().c.Si(b,
c,d);if(iE(b,123))return a.Si(b.d,c,d);return false}function jYb(a,b,c){var d,e,f;a.b=b;a.a=c;if(!b.d&&!b.e&&!b.f&&!b.g&&!b.i&&!b.j&&!b.k&&b.p==-1&&b.n==-1)switch(b.b){case 115:if(a.a==null)return KCc;case 100:if(iE(a.a,130)||iE(a.a,152)){e=fW(a.a);return e}}IYb(a.b,a.a);switch(b.b){case 66:case 98:f=(jE(a.a)?e=fW(a.a):a.a==null?e=mFc:e=nFc,iYb(a,e,0));break;case 72:case 104:f=qYb(a);break;case 83:case 115:f=(d=Lmc(a.a),iYb(a,d,0));break;case 67:case 99:f=nYb(a);break;case 100:case 111:case 120:case 88:f=
rYb(a);break;case 65:case 97:case 69:case 101:case 102:case 71:case 103:f=pYb(a);break;case 37:f=iYb(a,"%",0);break;case 110:f=YDc;break;case 116:case 84:f=oYb(a);break;default:throw CV(NYb(b));}xkc(b.b)&&f!=null&&(f=Vb(fW(f)));return f}function wyb(a,b){var c,d,e,f,g,h,i,j,k,l;k=b.Fh();ce(-1!=b.Fh()&&ICc!=b.Fh()&&(k&1)==0&&(k&4)==0,"Requested invalid type to remove: %s",b);if(ICc==a.Fh()||a.Fh()==aJc)return a;if(-1==a.Fh()){c=rzb(a.e,506,(vn(),new Py(a.e.M)),null,Zxb);return wyb(c,b)}g=a.Fh()&~k;
if((k&2)==0)return g==a.Fh()?a:rzb(a.e,g,a.Ih(),a.Rh(),a.Ch());ce(b.Ih().size()==1,"Invalid type to remove: %s",b);l=Ps(b.Ih().Pd());j=(vn(),new Or);for(i=a.Ih().Pd();i.Jd();){h=i.Kd();(h.c||!$Bb(h,l,new $Cb((bBb(),bBb(),aBb))))&&(Aqc(j.a,Td(h)),j)}f=new Or;for(e=a.Ch().Pd();e.Jd();){d=e.Kd();(Zd(null.Uj==(Zwb(),Ywb)),null.Uj).Tj(new $Cb((bBb(),bBb(),aBb)))||(Aqc(f.a,Td(d)),f)}return rzb(a.e,g,Dp(new grc(j.a)),a.Rh(),Dp(new grc(f.a)))}function uPb(a){var b,c,d;if(PPb(a,0,(xTb(),iSb)))return QOb(a);
if(PPb(a,0,$Rb))return AOb(a,false);if(PPb(a,0,lSb))return UOb(a);if(PPb(a,0,VRb))return wOb(a);if(PPb(a,0,oTb)&&(c=GQb(a.g,1).b.b.b>GQb(a.g,0).b.a.b,!(c||PPb(a,1,WSb)||PPb(a,1,HRb)||PPb(a,1,URb)))&&PPb(a,1,fSb)&&PPb(a,2,WRb))return EPb(a);if(PPb(a,0,PRb)&&(d=GQb(a.g,1).b.b.b>GQb(a.g,0).b.a.b,!(d||PPb(a,1,WSb)||PPb(a,1,HRb)||PPb(a,1,URb)))&&(PPb(a,1,sTb)||PPb(a,1,pSb)||PPb(a,1,MRb)||PPb(a,1,dSb)||PPb(a,1,FRb)||PPb(a,1,VRb)||PPb(a,1,tSb)||PPb(a,1,uSb)))return SNb(a);if((PPb(a,0,tSb)||PPb(a,0,uSb))&&
(b=GQb(a.g,1).b.b.b>GQb(a.g,0).b.a.b,!(b||PPb(a,1,WSb)||PPb(a,1,HRb)||PPb(a,1,URb)))&&PPb(a,1,fSb))return cPb(a,false);return xPb(a)}function z7b(){w7b();return vD(qD(UR,1),gDc,10,0,[R6b,S4b,T4b,Q4b,v5b,s6b,i6b,f6b,O5b,I5b,h6b,T6b,p7b,u4b,b7b,n6b,o5b,l6b,x5b,w6b,R4b,L6b,t6b,u6b,m5b,l7b,M5b,L5b,X4b,o6b,z6b,$6b,x6b,h7b,C5b,j7b,W6b,X6b,O6b,i7b,W5b,Z5b,y4b,B6b,k7b,G6b,d5b,B4b,E4b,F4b,D4b,I4b,L4b,N4b,C4b,M4b,K4b,G4b,J4b,H4b,P5b,E6b,v4b,X5b,i5b,G5b,Q5b,d7b,Z4b,k5b,t7b,p5b,D5b,E5b,W4b,g5b,q7b,u7b,_4b,r7b,
r5b,S6b,U4b,b6b,B5b,U6b,N5b,V6b,f5b,h5b,c6b,_6b,$4b,z4b,C6b,n5b,a5b,b5b,j6b,c7b,g6b,F5b,v7b,O4b,S5b,U5b,T5b,V5b,y5b,A5b,z5b,m6b,P6b,Y6b,e5b,e7b,f7b,g7b,l5b,v6b,a7b,V4b,A6b,H5b,F6b,o7b,x4b,y6b,s7b,Q6b,p6b,D6b,N6b,n7b,A4b,J5b,K5b,w4b,H6b,Z6b,u5b,M6b,q5b,P4b,w5b,d6b,e6b,c5b,$5b,_5b,a6b,s5b,t5b,R5b,m7b,j5b,k6b,Y5b,Y4b,q6b,r6b,I6b,J6b,K6b])}function X0(a){var b,c,d,e,f,g,h,i,j,k,l,m;e=a.M.pb;j=a.M.cc;b=new $mc;if(e.a.a.isEmpty()&&j.a.a.isEmpty())return O2(new r2(a));if(!e.a.a.isEmpty()){Td(a.C);for(g=
W1b(a.C).Pd();g.Jd();){f=g.Kd();d=(c=g2b(f,51),!c?null:c.Hg());for(l=Us(new Atc(e.a.b.Pd()));l.Jd();){k=l.Kd();if((new RegExp("^("+k+")$")).test(d)){m="// "+d+YDc+(!a.M&&r1(a,new J3),W1(a,f,true));b.a+=m;break}}}if(b.a.length==0)throw CV(new yC("No files matched any of: "+e));}if(!j.a.a.isEmpty()){for(i=new grc(a.J);i.a<i.c.a.length;){h=erc(i);for(l=Us(new Atc(j.a.b.Pd()));l.Jd();){k=l.Kd();if(qmc(h.e,k)){m="// module '"+h.e+"'\n"+O2(new u2(a,h));b.a+=m;break}}}if(b.a.length==0)throw CV(new yC("No modules matched any of: "+
j));}return b.a}function Ixb(a,b){var c,d,e,f,g,h,i,j,k;Zd(!!a||!!b);if(!a||!b)return null;a.n.a.isEmpty()||(a=lxb(a));b.n.a.isEmpty()||(b=lxb(b));Zd(!a.c&&!b.c);if(cxb(a,b))return a;d=a.i;e=b.i;if(d.size()!=e.size())return null;c=new Xxb(a.a);i=d.size();for(g=0;g<i;g++){k=Dzb(d.getAtIndex(g),e.getAtIndex(g));if(!k)return null;Sxb(c,k)}d=a.e;e=b.e;if(d.size()!=e.size())return null;h=d.size();for(f=0;f<h;f++){k=Dzb(d.getAtIndex(f),e.getAtIndex(f));if(!k)return null;Pxb(c,k)}if(!a.j&&!!b.j||!!a.j&&
!b.j)return null;if(a.j){k=Dzb(a.j,b.j);if(!k)return null;Zd(!c.j);c.j=k}j=Dzb(a.k,b.k);if(!j)return null;Zd(!c.k);c.k=j;if(!vyc(a.d,b.d))return null;Oxb(c,a.d);if(!vyc(a.g,b.g))return null;Rxb(c,a.g);return Wxb(c)}function tab(a,b,c){var d,e,f,g,h,i,j;f=(Lib(),$ib(c,new ykb((w7b(),G5b))));if(!f||e2b(f,59)==0||c.j==E5b)return;e=$ib(c,new ykb(U4b));h=null;j=null;switch(c.j.f){case 72:h=c.b.d;j=h.d;break;case 70:h=c.b;j=new g3b(r5b);break;case 71:h=c.b?c.b.f:null;if(h.j!=r5b){g=(ce(lmc(xHc,Hmc(46))==
-1,NEc,xHc),new g4b(o6b,xHc));S1b(e,lZb(Y1b(g,false),fab(a.c,new g3b(j7b)),q7b));h=bab(a.c,JZb(g,$1b(c.b?c.b.f:null)));R1b(c,h)}j=new g3b(r5b)}if(!I9(a.c,h)&&!I9(a.c,j))return;i=FZb("$jscomp$generator$loop$guard"+(""+a.c.j.a.Y++));if(h.j!=r5b){d=new g3b(U4b);H2b(c,h,d);S1b(d,eZb(oZb(Kbb(cZb(Y1b(i,false),Y1b(h,false)),h.k))));R1b(d,Y1b(i,false))}j.j==r5b||Q1b(c,eZb(oZb($1b(j))),c.b?c.b.f:null);S1b(e,mZb(i,q7b));qib(b)}function WHb(a,b){var c,d,e,f,g,h,i,j;if(b!=(YIb(),OIb)){a.n=b;return xHb(a,"msg.jsdoc.missing.lp",
a.i.g,cJb(a.i)),null}d=LHb(a,(w7b(),G5b));h=null;pIb(a);if(!JHb(a,UIb)){b=!a.n?dJb(a.i):BHb(a);e=true;if(b==XIb){j=a.i.n;g=imc(jFc,j);f=imc("new",j);if(g||f){if(JHb(a,FIb)){!a.n?dJb(a.i):BHb(a);pIb(a);c=rIb(a,g?h7b:u6b,SHb(a,!a.n?dJb(a.i):BHb(a)));if(!c)return null;S1b(d,c)}else return xHb(a,"msg.jsdoc.missing.colon",a.i.g,cJb(a.i)),null;if(JHb(a,GIb)){!a.n?dJb(a.i):BHb(a);pIb(a);b=!a.n?dJb(a.i):BHb(a)}else e=false}}if(e){h=aIb(a,b);if(!h)return null}}!!h&&R1b(d,h);pIb(a);if(!JHb(a,UIb))return xHb(a,
bKc,a.i.g,cJb(a.i)),null;pIb(a);!a.n?dJb(a.i):BHb(a);i=cIb(a);if(!i)return null;else R1b(d,i);return d}function nPb(a){var b,c,d,e,f,g;switch(GQb(a.g,0).c.f){case 29:return nOb(a,true,false);case 35:return b=GQb(a.g,0).b.b,CNb(a,(xTb(),eTb)),new qXb(new SXb(b,a.f));case 21:return c=GQb(a.g,0).b.b,CNb(a,(xTb(),jTb)),new vXb(new SXb(c,a.f));case 2:case 108:case 109:case 110:case 111:return OOb(a);case 100:case 101:case 98:case 99:case 97:return YOb(a);case 107:case 104:return CPb(a,null);case 49:return GQb(a.g,
1).c==(xTb(),cSb)?rOb(a,ESb,JRb):ZNb(a);case 45:return fPb(a);case 47:return uOb(a);case 94:case 95:return d=GQb(a.g,0).b.b,e=(g=CQb(a.g),a.f=g.b.a,g),new eVb(new SXb(d,a.f),e);default:return f=GQb(a.g,0).b.b,PNb(a),hQb(a,"primary expression expected",vD(qD(lT,1),bDc,1,5,[])),new iVb(new SXb(f,a.f))}}function d9(a,b,c){var d,e,f,g,h,i,j;if(b.j==(w7b(),e5b)&&e2b(b,58)!=0){L1(a.a,sfb(b,(Ebb(),Dbb),vD(qD(qT,1),NCc,2,6,["Static computed property"])));return}if(b.j==e5b&&!t2b(b.b)){Z8(a,b.b);return}j=
_8(b);X8(c,b);if(b.j==e5b){Zd(e2b(b,58)==0);i=c.i;h=h2b(b.b)}else{i=e2b(b,58)!=0?c.b:c.j;h=b.qi()}d=Dxc(i,h);e=!d?null:(wGc&d.a)==xGc?d.i:null;if(!!e&&!!j&&!(!!j&&j.a.ri(e.a,false,true,false,false)))L1(a.a,sfb(b,T8,vD(qD(qT,1),NCc,2,6,[h])));else{g=new I1b(false);if(!!g2b(b,29)&&(g2b(b,29).a&mHc)!=0){I0b(g);E1b(g,(h0b(),g0b))}!!g2b(b,29)&&(g2b(b,29).a&64)!=0?k1b(g):!j&&(j=new L1b(new g3b(M6b),(f=g2b(b,51),!f?null:f.Hg())));!!j&&y1b(g,new L1b(Y1b(j.a,false),j.b));e2b(b,58)!=0&&b.j!=e5b&&f1b(g);Exc(i,
h,n0b(g))}}function uC(a){rC();var b,c,d;d=new _mc;d.a+='"';for(c=0;c<a.length;c++){b=(qCc(c,a.length),a.charCodeAt(c));switch(b){case 10:d.a+="\\n";break;case 13:d.a+="\\r";break;case 9:d.a+="\\t";break;case 92:d.a+=MCc;break;case 34:d.a+='\\"';break;case 39:d.a+="'";break;case 62:c>=2&&(qCc(c-1,a.length),a.charCodeAt(c-1)==45&&(qCc(c-2,a.length),a.charCodeAt(c-2)==45)||(qCc(c-1,a.length),a.charCodeAt(c-1)==93&&(qCc(c-2,a.length),a.charCodeAt(c-2)==93)))?(d.a+="\\u003e",d):(d.a+=String.fromCharCode(b),
d);break;case 60:rmc(a,true,c+1,"/script",0,7)?(d.a+="\\u003c",d):rmc(a,false,c+1,"!--",0,3)?(d.a+="\\u003c",d):(d.a+=String.fromCharCode(b),d);break;default:b>31&&b<=127?(d.a+=String.fromCharCode(b),d):tC(d,b)}}d.a+='"';return d.a}function Dzb(a,b){ayb();var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q;Td(a);Td(b);if(ICc==a.Fh()||(k=a.Ih(),k.size()==1&&Ps(k.Pd()).c))return b;else if(ICc==b.Fh()||(j=b.Ih(),j.size()==1&&Ps(j.Pd()).c))return a;else if(-1==a.Fh()&&-1==b.Fh())return a.e.u;else if(-1==a.Fh()||-1==b.Fh())return null;
if(!_x(a.Ch(),b.Ch()))return null;e=a.Ch();l=wzb(a.Fh());m=wzb(b.Fh());if(l!=m||a.Rh()!=b.Rh())return null;if((l&2)==0)return a;if(a.Ih().size()!=b.Ih().size())return null;q=new lyc(b.Ih());p=new jyc;for(g=a.Ih().Pd();g.Jd();){f=g.Kd();o=f;c=false;for(i=b.Ih().Pd();i.Jd();){h=i.Kd();n=CCb(o,h);if(n){c=true;q.a.remove(h)!=null;o=n}}if(!c)return null;p.a.put(o,p)}if(q.a.size()!=0)return null;return rzb(a.e,l,(vn(),d=p,Cp(d)),a.Rh(),e)}function Vab(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;if(c.j==(w7b(),
$6b)){l=c.qi();Hub();if(l.indexOf("/")!=-1){i=omc(l,Hmc(47));f=mmc(l,Hmc(46),i);j=null;f==-1?f=l.length:j=l.substr(f);k=l.substr(0,f);n=Tub(U2((!b.d&&!!b.g&&(b.d=_0(b.c,b.g)),b.d)),k,(g=g2b(c,51),!g?null:g.Hg()),p3b(c.i),o3b(c.i));!n&&(n=Uub(U2((!b.d&&!!b.g&&(b.d=_0(b.c,b.g)),b.d)),k));h=lvb(n.a);Wab(b,c,l,j==null?h:h+j)}else{q=Xe(Ue(af(new ic(46))),l);d=q.a.getAtIndex(0);o="";q.b.size()==2&&(o="."+q.a.getAtIndex(1));r=Vob(gib(b),d);if(!!r&&!r.d.c)Wab(b,c,l,d+"$$"+a.a+o);else if(!r&&Enc(a.b.e,d)){m=
Dnc(a.b.e,d);m.b.length==0?Wab(b,c,l,m.a+o):Wab(b,c,l,d+"$$"+m.a+o)}p=G2b(c,c.g,40);p!=c.g&&(c.g=p);l!=null&&(c.g=new U3b(40,l,c.g))}}for(e=c.b;e;e=e.d)Vab(a,b,e)}function EHb(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o;f=new $mc;o=-1;n=-1;if(d){hJb(a.i);o=a.i.g;n=cJb(a.i)+1;k=HHb(a);c!=0&&(k=Emc(k));f.a+=""+k;a.g=(AIb(),yIb);b=!a.n?dJb(a.i):BHb(a)}i=false;l=-1;do switch(b.f){case 15:if(i){l=cJb(a.i)+1;i=false}else{NHb(a,f,l,c);l=-1;f.a+="*"}b=!a.n?dJb(a.i):BHb(a);while(b==(YIb(),WIb)){if(l!=-1){NHb(a,f,l,
c);l=-1}f.a+="*";b=!a.n?dJb(a.i):BHb(a)}continue;case 1:c!=2&&(f.a+=YDc,f);i=true;l=0;b=!a.n?dJb(a.i):BHb(a);continue;default:i=false;a.g=(AIb(),yIb);j=b==(YIb(),IIb);if(!j){NHb(a,f,l,c);l=-1}if(b==IIb||b==JIb||b==DIb&&!e){m=f.a;c!=0&&(m=Emc(m));if(d&&m.length!=0){h=a.i.g;g=cJb(a.i);s0b(a.e,m,o,n,h,g)}return new wIb(m,b)}Wmc(f,qIb(a,b));k=HHb(a);c!=0&&(k=uIb(k));f.a+=""+k;b=!a.n?dJb(a.i):BHb(a)}while(true)}function Rsb(a,b){var c,d,e,f,g,h,i,j,k,l,m;l=b.k;Zd(b.j==(w7b(),G5b)||l.Wh());if(!l||l.ai())return"";
d=l.gi();if(wb(l,a.b.hh((dec(),idc))))return"/** @type {!Function} */\n";j=new bnc("/**\n");h=null;!!b&&b.j==G5b&&(h=(Lib(),Kd(b.j==G5b),b.b.d).b);g=d.Hh();f=d.Gh();c=Zn(d.Jh());for(e=0;e<c.size();e++){j.a+=UIc;Xsb(j,"param",Ssb(a,c,e,g,f));Wmc(Wmc((j.a+=" ",j),!h?"p"+e:h.qi()),YDc);!!h&&(h=h.d)}i=d.Mh();if(!!i&&!i.Sh()&&!d.Yh()&&!(d.Th()&&i.bi())){j.a+=UIc;Xsb(j,ZEc,i.ei(0));j.a+=YDc}if(d.Th())Osb(j,d);else if(d.Yh())Psb(j,d);else{k=d.Ph();if(!!k&&!k.ai()&&!k.bi())if(!b||!wb(k,Qsb(a,b))){j.a+=UIc;
Xsb(j,jFc,k.ei(0));j.a+=YDc}}m=d.Qh();if(!m.isEmpty()){j.a+=" * @template ";Gc(new Kc(","),j,Ds(Cs(m,new Ysb)));j.a+=YDc}j.a+=" */\n";return j.a}function Y6(a,b){var c,d,e,f,g,h,i,j,k,l,m,n;n=b.b.d;f=b.b?b.b.f:null;if(n.j==(w7b(),r5b)){j=(Lib(),rZb((ce(lmc("",Hmc(46))==-1,NEc,""),new g4b(o6b,"")),new g3b(G6b),(c=new g3b(U4b),c)));M1(a.a,j);m=EZb(j)}else{if(!t2b(n))return;d=(c=new g3b(U4b),c);i=g2b(b,51);if(!(!!i&&i.vh())&&(e=(Lib(),l=Yib(b),!l?null:g2b(l,29)),!(!!e&&((e.a&512)!=0||(e.a&IGc)!=0)))){h=
oZb(gZb(tZb(new g3b(c7b),new g4b($6b,tGc)),vD(qD(SR,1),OEc,7,0,[new g3b(h7b),(ce(lmc(BGc,Hmc(46))==-1,NEc,BGc),new g4b(o6b,BGc))])));S1b(d,h)}g=rZb((ce(lmc("",Hmc(46))==-1,NEc,""),new g4b(o6b,"")),KZb((ce(lmc(JGc,Hmc(46))==-1,NEc,JGc),new g4b(o6b,JGc))),d);M1(a.a,g);m=EZb(g);k=new I1b(false);l1b(k,JGc,new L1b(new i3b(q5b,new g3b(M6b)),"<Es6ConvertSuper>"));N2b(m,n0b(k))}f3b(m,b);S1b(f,m);N1(a.a,m)}function bub(){bub=bW;$tb=new s6("JSC_REFERENCE_BEFORE_DECLARE",(pZ(),oZ),new xnc("Variable referenced before declaration: {0}"));
_tb=new s6("JSC_REDECLARED_VARIABLE",oZ,new xnc("Redeclared variable: {0}"));new s6("JSC_REFERENCE_BEFORE_DECLARE_ERROR",mZ,new xnc("Illegal variable reference before declaration: {0}"));new s6("JSC_REASSIGNED_CONSTANT",mZ,new xnc("Constant reassigned: {0}"));new s6("JSC_REDECLARED_VARIABLE_ERROR",mZ,new xnc("Illegal redeclared variable: {0}"));new s6("JSC_DECLARATION_NOT_DIRECTLY_IN_BLOCK",mZ,new xnc("Block-scoped declaration not directly within block: {0}"));aub=new s6("JSC_UNUSED_LOCAL_ASSIGNMENT",
nZ,new xnc("Value assigned to local variable {0} is never read"));Wq(dwc((w7b(),Q5b),vD(qD(UR,1),gDc,10,0,[D5b,E5b,F5b,t7b])))}function gfb(a,b,c){var d,e,f,g,h,i,j;if(a.a&&g2b(c,40)!=null){Wmc(b,g2b(c,40));return}if(c.j==(w7b(),P4b)){b.a+="!";gfb(a,b,c.b)}else if(c.j==w5b){gfb(a,b,c.b);b.a+="="}else if(c.j==H6b){b.a+="(";g=c.b?c.b.f:null;for(d=c.b;d;d=d.d){gfb(a,b,d);d!=g&&(b.a+="|",b)}b.a+=")"}else if(c.j==q5b){b.a+=aFc;!!c.b&&c.b.j!=r5b&&gfb(a,b,c.b)}else if(c.j==Z6b)b.a+="*";else if(c.j==M6b){b.a+=
"?";!!c.b&&gfb(a,b,c.b)}else if(c.j==G5b)ffb(a,b,c);else if(c.j==e6b){b.a+="{";i=c.b;h=i.b?i.b.f:null;for(e=i.b;e;e=e.d){if(e.b){Wmc(Wmc(b,e.b.qi()),":");gfb(a,b,e.b?e.b.f:null)}else Wmc(b,e.qi());e!=h&&(b.a+=",",b)}b.a+="}"}else if(c.j==r7b)b.a+=rFc;else if(c.b){Wmc(Wmc(b,c.qi()),"<");d=c.b;f=d.b?d.b.f:null;for(j=d.b;j;j=j.d){gfb(a,b,j);j!=f&&(b.a+=",",b)}b.a+=">"}else Wmc(b,c.qi())}function Qnb(a,b,c){var d,e,f,g,h,i,j,k,l,m;if(!(!!c.b&&!c.b.d)||c.b.j!=(w7b(),B5b)){L1(a.a,lib(c,Nnb,vD(qD(qT,1),
NCc,2,6,[])));return}j=$1b(c.b.b);d=c.b;!!d&&D2b(c,d);k=lvb(U2((!b.d&&!!b.g&&(b.d=_0(b.c,b.g)),b.d)).a);S1b(c,c3b(lZb(c3b((ce(lmc(k,Hmc(46))==-1,NEc,k),new g4b((w7b(),o6b),k)),j),j,q7b),j));S1b(c,f3b(oZb(gZb(tZb((ce(lmc(MEc,Hmc(46))==-1,NEc,MEc),new g4b(o6b,MEc)),new g4b($6b,WEc)),vD(qD(SR,1),OEc,7,0,[new g4b($6b,k)]))),c));i=(!b.d&&!!b.g&&(b.d=_0(b.c,b.g)),b.d).a.Kg().b;m=EIc.length;if(imc(i.substr(i.length-m,m),EIc)&&j.j==B6b){l=a.a.M.lc;for(h=Us(new Atc(l.a.b.Pd()));h.Jd();){g=h.Kd();f=ajb(j,g);
if(!!f&&(f.j==$6b||f.j==B6b)){e=Amc(i,0,i.length-12);if(f.j==$6b){Gnc(a.b,i,e+(""+f.qi()));break}else if(f.j==B6b){$d(imc(g,"browser"),g);Pnb(a,e,f)}}}}qib(b)}function rxb(a,b,c,d,e){var f,g,h,i,j;ce(a.n.a.isEmpty(),"Non-empty type parameters %s",a.n);Zd(a==a.a.g||a.f.isEmpty());Zd(a!=a.a.v);if(a==a.a.g||b==b.a.v||b==b.a.g||b.c)return true;!b.n.a.isEmpty()&&(b=lxb(b));if(!(a.i.isEmpty()&&a.e.isEmpty()&&!!a.j&&ICc==a.j.Fh())){if(b.i.size()>a.i.size())return false;g=a.i.size()+a.e.size();for(f=0;f<
g;f++){j=dxb(a,f);h=dxb(b,f);if(!!h&&!Dyb(j,h,c,d,e)&&!pyb(zyb(j,j.e.i),h,new $Cb((bBb(),bBb(),aBb))))return false}if(a.j){i=dxb(b,g);if(!!i&&!Dyb(a.j,i,c,d,e)&&!pyb(Ayb(a.j),i,new $Cb((bBb(),bBb(),aBb))))return false}}if(!a.d&&!!b.d||!!a.d&&!b.d)return false;if(!!a.d&&!Dyb(a.d,b.d,c,d,e))return false;if(!!a.g&&!!b.g&&!Dyb(a.g,b.g,c,d,e)&&!pyb(Ayb(a.g),b.g,new $Cb((bBb(),bBb(),aBb))))return false;return Dyb(a.k,b.k,c,d,e)}function hhc(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;if(b.Xi()){q=b.Xi();
f=new shc(a.B);f.a=false;h=uec(a.B,(dec(),udc));for(o=a.v.b.keySet().Pd();o.Jd();){m=o.Kd();s=F9b(a,m);l=null;if(tec(q.B,rdc)==q||I9b(q)||!!ogc(q.v,m)){p=F9b(q,m);l=s.Ci(p);if(O7b(l,h,0,new Kcc(true)))return h}else l=s;qhc(f,m,l,(i=ogc(a.v,m),!i?null:i.d))}for(n=q.v.b.keySet().Pd();n.Jd();){m=n.Kd();tec(a.B,rdc)==a||I9b(a)||!!ogc(a.v,m)||qhc(f,m,F9b(q,m),(i=ogc(q.v,m),!i?null:i.d))}return rhc(f)}g=vec(a.B,(dec(),sdc));r=vec(a.B,Hdc).Ci(b);if(!(r.Mi()||r.Ki()||r.Li()||vec(r.B,rdc)==r))for(k=a.v.b.keySet().Pd();k.Jd();){j=
k.Kd();l=F9b(a,j);f=new pjc(a.B);for(d=sec(a.B,j).Pd();d.Jd();){c=d.Kd();e=c.ij(j);!!e&&!O7b(c,a,0,new Kcc(true))&&c.Ri(b)&&e.Ri(l)&&jjc(f,c,false)}g=g.Di(kjc(f))}return g}function _Ob(a){var b,c,d,e,f,g,h,i,j;f=GQb(a.g,0).b.b;PPb(a,0,(xTb(),fSb))&&imc(GQb(a.g,0).a,_Ec)&&(c=GQb(a.g,1).b.b.b>GQb(a.g,0).b.a.b,!(c||PPb(a,1,WSb)||PPb(a,1,HRb)||PPb(a,1,URb)))&&PPb(a,1,dSb)?e=fOb(a):PPb(a,0,dSb)?e=(g=GQb(a.g,0).b.b,CNb(a,(hNb(),CMb).a),h=!!GNb(a,$Sb),i=KUb(new OUb((TUb(),RUb)),(j=GQb(a.g,0).c,hwc(dwc(fSb,
vD(qD(jP,1),gDc,12,0,[oTb,PRb,tSb,uSb])),j)||!a.b.c&&mNb(j)?ENb(a):null)),KOb(a,i,h?(sQb(),qQb):(sQb(),rQb)),DUb(i,new SXb(g,a.f))):e=nPb(a);while(PPb(a,0,ESb)||PPb(a,0,JSb)||PPb(a,0,ySb)||PPb(a,0,gTb))switch(GQb(a.g,0).c.f){case 49:CNb(a,ESb);d=QNb(a,1);CNb(a,JRb);e=new gVb(new SXb(f,a.f),e,d);break;case 51:CNb(a,JSb);b=ENb(a);e=new fVb(new SXb(f,a.f),e,b);break;case 107:case 104:e=CPb(a,e);break;default:throw CV(new yC(YKc));}return e}function T0(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o;g=!c&&a.M.cd;
if(Cxc(a.v,b)||g)return a.D;l=YYb("js/"+b+DFc);d=D1(a,EFc+b+"] ",l);for(k=d.b;!!k&&k.j==(w7b(),B5b)&&k.b.j==(w7b(),$6b);k=d.b){f=k.b.qi();o=Xe(Ue(af(new ic(32))),f);switch(o.a.getAtIndex(0)){case "use":break;case XEc:T0(a,o.a.getAtIndex(1),c);break;case wFc:n=mZb(FZb(o.a.getAtIndex(1)),(w7b(),q7b));i=new I1b(false);e$b(i.a);i.e=true;N2b(n,n0b(i));R1b(S2((!a.U&&(a.U=v1(a,"{SyntheticVarsAtEnd}",1)),a.U),a),n);break;default:throw CV(new yC("Bad directive: "+f));}D2b(d,k)}lW(a._)&&(zib(a,d,new clb(a,
false)),zib(a,d,new Dgb(new Rgb(W0(a),new H2(a),"jscomp_"+b+"_"))));j=d.b?d.b.f:null;for(e=d.b;e;e=e.d)dkb(e,a);h=E2b(d);if(!h)return a.D;m=b1(a);!a.D?V1b(m,h):T1b(m,h,a.D);a.D=j;Exc(a.v,b,j);J1(a,V0(m));x1(a);return j}function ubb(a,b,c,d){var e,f,g,h,i,j,k;switch(b.j.f){case 76:!!c&&rbb(a,c,b);return;case 100:case 88:!!d&&rbb(a,d,b);return;case 104:rbb(a,c,b);return;case 108:ubb(a,b.b,c,d);return;case 65:{Lib();if(b.j==(w7b(),G5b)&&!(b.j==G5b&&zjb(b.e)&&b.j==G5b&&Ujb(b.b))&&!Njb(b)||!d)return}i=
b.b.qi();if(i.length==0)return;sbb(a,d,b.b);return;case 96:{Lib();if(b.j==(w7b(),a5b)&&(!(b.j==a5b&&Ujb(b.b))||!zjb(b.e))||!d)return}g=b.b.qi();if(g.length==0)return;sbb(a,d,b.b);return;case 78:$d(!!b.b&&!!b.b.d&&b.b.d==(b.b?b.b.f:null),b);!!d&&rbb(a,d,b);e=b.b.d;ubb(a,e,c,d);return;case 85:a.b=g2b(b,53);break;case 111:if(!c.c)return}j=!!d&&b==d.d;h=!j&&Tib(b);if(h&&!c)return;if(xjb(b)||(Lib(),b.j==(w7b(),S6b)||b.j==U6b||b.j==U4b||b.j==m6b))for(f=b.b;f;){k=f.d;ubb(a,f,c,h?null:d);f=k}}function HX(a,
b){var c,d,e,f,g,h,i,j,k,l;switch(b.j.f){case 86:DX((w7b(),N5b),b);c=y7b(b.j);c!=-1&&(d=b2b(b),c!=d&&cY(tEc+c+uEc+d,b));JX(b);e=b.b;hX(a,e,false);e.b.qi().length==0||cY(CEc,b);f=e.b.d;!!f.b&&cY("get methods must not have parameters.",b);return;case 87:DX((w7b(),V6b),b);g=y7b(b.j);g!=-1&&(h=b2b(b),g!=h&&cY(tEc+g+uEc+h,b));JX(b);i=b.b;hX(a,i,false);i.b.qi().length==0||cY(CEc,b);j=i.b.d;!!j.b&&!j.b.d||cY("set methods must have exactly one parameter.",b);return;case 91:IX(a,b);return;case 98:VW(a,b,false);
e2b(b,58)!=0&&cY("Keys in an object literal should not be static.",b);return;case 114:DX((w7b(),e5b),b);k=y7b(b.j);k!=-1&&(l=b2b(b),k!=l&&cY(tEc+k+uEc+l,b));fX(a,b.b);fX(a,b.b?b.b.f:null);return;default:cY("Expected object literal key expression but was "+b.j,b)}}function MQb(a,b,c){var d,e,f,g,h,i,j;j=new $mc;j.a+=String.fromCharCode(c);e=c==92;d=false;h=e?1:0;c=AQb(a,a.d)?dmc(a.e.a,a.d):0;while(kRb(c)||(mkc==null&&(mkc=new RegExp("\\d")),mkc.test(String.fromCharCode(c)))||c==92||c==123&&h==2||c==
125&&d){c==92&&(e=true);(c==92||h>0)&&++h;c==123&&(d=true);if(c==125||h>=6&&!d){d=false;h=0}Pmc(j,BQb(a));c=AQb(a,a.d)?dmc(a.e.a,a.d):0}i=j.a;if(e){i=pRb(i);if(i==null){HQb(a,zQb(a,a.d),_Kc,vD(qD(lT,1),bDc,1,5,[]));return wQb(a,(xTb(),ZRb),b)}}g=(qCc(0,i.length),i.charCodeAt(0));if(!kRb(g)){HQb(a,rNb(a.e.b,b),"Character '%c' (U+%04X) is not a valid identifier start char",vD(qD(lT,1),bDc,1,5,[Bkc(g),Blc(g)]));return wQb(a,(xTb(),ZRb),b)}f=(hNb(),kp(JMb,i));if(f)return new gMb(f.a,sNb(a.e.b,b,a.d));
return new iMb(sNb(a.e.b,b,a.d),(jCc(i),i))}function nxb(a,b,c,d,e){var f,g,h,i,j,k,l;if(b==b.a.v||b==b.a.g||b==b.a.s||a==a.a.s)return true;if(a==a.a.v||a==a.a.g)return false;Zd(!a.c&&!b.c);if(!a.n.a.isEmpty()){if(cxb(a,b))return true;return nxb(lxb(a),b,c,d,e)}if(!(b.i.isEmpty()&&b.e.isEmpty()&&!!b.j&&ICc==b.j.Fh())){if(a.i.size()>b.i.size())return false;j=b.i.size()+b.e.size();for(h=0;h<j;h++){k=dxb(a,h);i=dxb(b,h);if(!!k&&ICc!=k.Fh()&&ICc!=i.Fh()&&!pyb(i,k,d))return false}if(b.j){l=a.i.size()+
a.e.size();!!a.j&&++l;for(g=j;g<l;g++){k=dxb(a,g);i=dxb(b,g);if(!!k&&ICc!=k.Fh()&&ICc!=i.Fh()&&!pyb(i,k,d))return false}}}if(!a.d&&!!b.d||!!a.d&&!!b.d&&!pyb(a.d,b.d,d))return false;if(!a.a.I&&!c&&!!a.g&&!b.g)return false;if(!!a.g&&!!b.g&&!_yb(a.g,b.g))return false;f=ICc==a.k.Fh()||ICc==b.k.Fh()||pyb(a.k,b.k,d);return f}function l3(a,b,c){var d,e,f;switch(b.j.f){case 28:if(!!b.b&&!!b.b.d&&b.b.d==(b.b?b.b.f:null)&&b.b.j==(w7b(),M5b)&&z2b(b.b.b,MEc)){Dqc(a.d,MEc,0)!=-1||Aqc(a.d,MEc);e=b.b;d=b.b?b.b.f:
null;switch((e.b?e.b.f:null).qi()){case VEc:gzc(a.a,VEc,MEc);case WEc:if(d.j!=(w7b(),$6b))return;Aqc(a.c,d.qi());return;case XEc:if(d.j!=(w7b(),$6b))return;Aqc(a.d,d.qi());return;case UEc:b=d.b?d.b.f:null;break;default:return}}break;case 111:if(e2b(c,87)==0){Aqc(a.c,lvb(a.b.a));gzc(a.a,VEc,"es6")}break;case 104:k3(a,b.b?b.b.f:null,b);return;case 108:Lib();Kd(b.j==(w7b(),y5b));!!b.b&&!!b.b.d&&b.b.d==(b.b?b.b.f:null)&&k3(a,b.b?b.b.f:null,b);return;case 76:z2b(b.b,MEc)&&Qjb(b.b)&&Aqc(a.c,MEc);break;
case 84:case 88:case 82:case 85:case 29:case 95:case 100:break;default:return}for(f=b.b;f;f=f.d)l3(a,f,b)}function MJb(a,b){var c,d,e,f,g;if(!CJb(a,b,(GKb(),rKb)))return false;if(!_Jb(a,(Pd(b.j==(w7b(),X4b),iKc,b),a2b(b,1)))){fKb(a,(c=rKb.d,Pd(b.j==X4b,iKc,b),a2b(b,1),c));return false}if((Pd(b.j==X4b,iKc,b),a2b(b,2)).j!=G5b){eKb(a,(d=oKc,Pd(b.j==X4b,iKc,b),a2b(b,2),d));fKb(a,(c=rKb.d,Pd(b.j==X4b,iKc,b),a2b(b,2),c));return false}e=(Pd(b.j==X4b,iKc,b),a2b(b,2));g=(Pd(e.j==G5b,pKc,e),b2b(e.b.d));if(g<
2){a.a.lh(VJc+t4b(qKc,vD(qD(lT,1),bDc,1,5,[oKc])),a.b.Hg(),a.d,a.c);fKb(a,(c=rKb.d,Pd(b.j==X4b,iKc,b),a2b(b,2),c));return false}if(g>2){a.a.lh(VJc+t4b(rKc,vD(qD(lT,1),bDc,1,5,[oKc])),a.b.Hg(),a.d,a.c);fKb(a,(c=rKb.d,Pd(b.j==X4b,iKc,b),a2b(b,2),c));return false}f=(Pd(e.j==G5b,pKc,e),a2b(e,2));if(!_Jb(a,f)){a.a.lh(VJc+t4b(mKc,vD(qD(lT,1),bDc,1,5,[sKc])),a.b.Hg(),a.d,a.c);return false}return true}function NJb(a,b){var c,d,e,f,g;if(!CJb(a,b,(GKb(),sKb)))return false;if(!_Jb(a,(Pd(b.j==(w7b(),X4b),iKc,
b),a2b(b,1)))){fKb(a,(c=sKb.d,Pd(b.j==X4b,iKc,b),a2b(b,1),c));return false}if((Pd(b.j==X4b,iKc,b),a2b(b,2)).j!=G5b){eKb(a,(d=oKc,Pd(b.j==X4b,iKc,b),a2b(b,2),d));fKb(a,(c=sKb.d,Pd(b.j==X4b,iKc,b),a2b(b,2),c));return false}e=(Pd(b.j==X4b,iKc,b),a2b(b,2));g=(Pd(e.j==G5b,pKc,e),b2b(e.b.d));if(g<1){a.a.lh(VJc+t4b(qKc,vD(qD(lT,1),bDc,1,5,[oKc])),a.b.Hg(),a.d,a.c);fKb(a,(c=sKb.d,Pd(b.j==X4b,iKc,b),a2b(b,2),c));return false}if(g>1){a.a.lh(VJc+t4b(rKc,vD(qD(lT,1),bDc,1,5,[oKc])),a.b.Hg(),a.d,a.c);fKb(a,(c=
sKb.d,Pd(b.j==X4b,iKc,b),a2b(b,2),c));return false}f=(Pd(e.j==G5b,pKc,e),a2b(e,2));if(!_Jb(a,f)){a.a.lh(VJc+t4b(mKc,vD(qD(lT,1),bDc,1,5,[sKc])),a.b.Hg(),a.d,a.c);return false}return true}function ZBb(a,b,c){var d,e,f,g,h,i;Zd(a.c||b.c);if(b==b.a.M)return true;if(a.c)for(h=(e=(new Boc(a.g)).a.Xd().Pd(),new Hoc(e));h.a.Jd();){g=(d=h.a.Kd(),d.ce());i=new YCb(g);f=UBb(b,i);if(!!f&&(i.a.size()==1||vyb(f.d,(Kd(i.a.size()!=1),new XCb(i.a.Ze(1,i.a.size())))))&&!pyb(WBb(a,i),WBb(b,i),c))return false}else for(h=
(e=(new Boc(b.g)).a.Xd().Pd(),new Hoc(e));h.a.Jd();){g=(d=h.a.Kd(),d.ce());i=new YCb(g);if((a.f.a&1)!=0){f=UBb(a,i);if(!(!!f&&(i.a.size()==1||vyb(f.d,(Kd(i.a.size()!=1),new XCb(i.a.Ze(1,i.a.size()))))))||!pyb(WBb(a,i),WBb(b,i),c))return false}else{f=UBb(a,i);if(!!f&&(i.a.size()==1||vyb(f.d,(Kd(i.a.size()!=1),new XCb(i.a.Ze(1,i.a.size())))))&&!pyb(WBb(a,i),WBb(b,i),c))return false}}if(!b.b)return!a.b||null.Tj()||b.c;else if(!a.b)return a.c;return mxb(a.b,b.b)}function X9(a,b){var c,d,e,f,g,h,i,j,k,
l,m,n,o,p;if(a.f.j==(w7b(),t7b)){k=F2b(a.f);e=F2b(a.f);m=new g3b(r5b);l=new g3b(r5b)}else if(a.f.j==D5b){m=F2b(a.f);m.j==B4b&&(m=($d(BZb(m),m),new i3b(B5b,m)));k=F2b(a.f);l=F2b(a.f);e=F2b(a.f)}else{Zd(a.f.j==p5b);m=new g3b(r5b);l=bab(a,cZb(bab(a,(ce(lmc(xHc,Hmc(46))==-1,NEc,xHc),new g4b(o6b,xHc))),cab(a,new g3b(C5b))));e=F2b(a.f);k=F2b(a.f)}if(k.j==U4b){o=F2b(k);g=F2b(k)}else{o=(d=new g3b(U4b),d);g=k}n=E9++;j=n;if(l.j!=r5b){j=E9++;i=P9(a,j);R1b(e,i);R1b(e,l.j==U4b?l:($d(BZb(l),l),new i3b(B5b,l)))}zqc(a.e,
0,new yab(E9,j,b));c=P9(a,n);h=wZb(g.j==r5b?fab(a,new g3b(j7b)):g,e);p=oZb(dab(a,cZb(dab(a,(ce(lmc(qHc,Hmc(46))==-1,NEc,qHc),new g4b(o6b,qHc))),dab(a,new P3b(n)))));f=jab();S1b(a.p,h);o.j==r5b||S1b(a.p,o);S1b(a.p,c);m.j==r5b||S1b(a.p,m);R1b(e,p);R1b(e,f)}function elc(a){var b,c,d,e,f,g,h,i,j,k,l;if(a==null)throw CV(new $lc(KCc));j=a;f=a.length;i=false;if(f>0){b=(qCc(0,a.length),a.charCodeAt(0));if(b==45||b==43){a=a.substr(1);--f;i=b==45}}if(f==0)throw CV(new $lc(JCc+j+'"'));while(a.length>0&&(qCc(0,
a.length),a.charCodeAt(0)==48)){a=a.substr(1);--f}if(f>(Zlc(),Xlc)[10])throw CV(new $lc(JCc+j+'"'));for(e=0;e<f;e++)if(rkc((qCc(e,a.length),a.charCodeAt(e)),10)==-1)throw CV(new $lc(JCc+j+'"'));l=0;g=Vlc[10];k=Wlc[10];h=MV(Ylc[10]);c=true;d=f%g;if(d>0){l=-parseInt(a.substr(0,d),10);a=a.substr(d);f-=d;c=false}while(f>=g){d=parseInt(a.substr(0,g),10);a=a.substr(g);f-=g;if(c)c=false;else{if(EV(l,h)<0)throw CV(new $lc(JCc+j+'"'));l=LV(l,k)}l=PV(l,d)}if(EV(l,0)>0)throw CV(new $lc(JCc+j+'"'));if(!i){l=
MV(l);if(EV(l,0)<0)throw CV(new $lc(JCc+j+'"'));}return l}function htb(){htb=bW;btb=(M7b(),"(Proxy)");ftb=new s6("JSC_MALFORMED_TYPEDEF",(pZ(),oZ),new xnc("Typedef for {0} does not have any type information"));ctb=new s6("JSC_ENUM_INITIALIZER_NOT_ENUM",oZ,new xnc("enum initializer must be an object literal or an enum"));atb=new s6("JSC_CTOR_INITIALIZER_NOT_CTOR",oZ,new xnc("Constructor {0} must be initialized at declaration"));dtb=new s6("JSC_IFACE_INITIALIZER_NOT_IFACE",oZ,new xnc("Interface {0} must be initialized at declaration"));
_sb=new s6("JSC_REFLECT_CONSTRUCTOR_EXPECTED",oZ,new xnc(nIc));gtb=new s6("JSC_UNKNOWN_LENDS",oZ,new xnc("Variable {0} not declared before @lends annotation."));etb=new s6("JSC_LENDS_ON_NON_OBJECT",oZ,new xnc("May only lend properties to object types. {0} has type {1}."));new I5(btb,vD(qD(lK,1),bDc,5,0,[ftb,ctb,atb,dtb,_sb,gtb,etb]))}function Cxb(a,b){var c,d,e,f,g,h,i,j,k;if(!a||!b)return null;else if(b==b.a.v||b==b.a.g||cxb(a,b))return a;else if(a==a.a.v||a==a.a.g)return b;if(a.c||b.c)return Bxb(a,
b);if(!a.n.a.isEmpty()&&nxb(a,b,false,new $Cb((bBb(),bBb(),aBb)),null))return a;else if(!b.n.a.isEmpty()&&nxb(b,a,false,new $Cb((bBb(),bBb(),aBb)),null))return b;!a.n.a.isEmpty()&&(a=lxb(a));!b.n.a.isEmpty()&&(b=lxb(b));d=a.a;c=new Xxb(d);h=$wnd.Math.min(a.i.size(),b.i.size());for(f=0;f<h;f++)Sxb(c,vzb(dxb(a,f),dxb(b,f)));g=$wnd.Math.max(a.i.size()+a.e.size(),b.i.size()+b.e.size());for(e=h;e<g;e++){i=vzb(dxb(a,e),dxb(b,e));if(0==i.Fh())return d.c;Pxb(c,i)}if(!!a.j||!!b.j){j=vzb(a.j,b.j);if(0==j.Fh())return d.c;
Zd(!c.j);c.j=j}k=szb(a.k,b.k);if(0==k.Fh())return d.c;Zd(!c.k);c.k=k;Oxb(c,Dxb(a.d,b.d));Rxb(c,Axb(a.g,b.g));return Wxb(c)}function Dnb(a,b){var c,d,e,f,g,h,i,j,k,l;i=b.a.Gd();Zd(i.j==(w7b(),G5b));l=G2b(i,i.g,61);l!=i.g&&(i.g=l);h=i.b?i.b.f:null;f=e3b((c=new g3b(U4b),c),h);H2b(i,h,f);b.c&&R1b(f,lZb((ce(lmc(AIc,Hmc(46))==-1,NEc,AIc),new g4b(o6b,AIc)),new g3b(h7b),f5b));b.b&&R1b(f,lZb((ce(lmc(BIc,Hmc(46))==-1,NEc,BIc),new g4b(o6b,BIc)),(ce(lmc(BGc,Hmc(46))==-1,NEc,BGc),new g4b(o6b,BGc)),f5b));h.j==
U4b||(h=d3b(eZb((Zd(BZb(h)),new i3b(R6b,h))),h));g=(ce(lmc(CIc,Hmc(46))==-1,NEc,CIc),new g4b(o6b,CIc));j=i.b;f3b(g,j);e=rZb(g,new g3b(G6b),h);M1(a.a,e);k=G2b(e,e.g,59);k!=e.g&&(e.g=k);e.g=new K3b(59,1,e.g);R1b(f,e);d=tZb((ce(lmc(AHc,Hmc(46))==-1,NEc,AHc),new g4b(o6b,AHc)),new g4b($6b,"executeAsyncGenerator"));R1b(f,NZb(gZb(d,vD(qD(SR,1),OEc,7,0,[ekb((ce(lmc(CIc,Hmc(46))==-1,NEc,CIc),new g4b(o6b,CIc)),vD(qD(SR,1),OEc,7,0,[]))]))));f3b(f,h);N1(a.a,f)}function zxb(a,b){var c,d,e,f,g,h,i,j,k;if(!a)return b;
else if(!b||cxb(a,b))return a;else if(a==a.a.s||b==b.a.s)return a.a.s;else if(a==a.a.v||a==a.a.g||b==b.a.v||b==b.a.g)return a.a.v;if(a.c||b.c)return Bxb(a,b);if(!a.n.a.isEmpty()&&nxb(b,a,false,new $Cb((bBb(),bBb(),aBb)),null))return a;else if(!b.n.a.isEmpty()&&nxb(a,b,false,new $Cb((bBb(),bBb(),aBb)),null))return b;!a.n.a.isEmpty()&&(a=lxb(a));!b.n.a.isEmpty()&&(b=lxb(b));d=a.a;c=new Xxb(d);g=$wnd.Math.max(a.i.size(),b.i.size());for(f=0;f<g;f++){k=Fxb(dxb(a,f),dxb(b,f));if(!k)return d.c;Sxb(c,k)}h=
$wnd.Math.max(a.i.size()+a.e.size(),b.i.size()+b.e.size());for(e=g;e<h;e++){j=Fxb(dxb(a,e),dxb(b,e));if(!j)return d.c;Pxb(c,j)}if(!!a.j&&!!b.j){i=Fxb(a.j,b.j);if(!i)return d.c;Zd(!c.j);c.j=i}Uxb(c,ozb(a.k,b.k));Oxb(c,Axb(a.d,b.d));Rxb(c,Dxb(a.g,b.g));return Wxb(c)}function oPb(a){var b,c,d,e,f,g;f=GQb(a.g,0).c;if(f==(xTb(),$Sb))return pPb(a);else if(f==dTb||f==ASb||f==fSb||(hNb(),!!kp(KMb,f)))return PPb(a,0,fSb)&&imc(GQb(a.g,0).a,"get")&&($Pb(a,1)||GQb(a.g,1).c==ESb)?MOb(a,new vQb(GQb(a.g,0).b.b)):
PPb(a,0,fSb)&&imc(GQb(a.g,0).a,"set")&&($Pb(a,1)||GQb(a.g,1).c==ESb)?vPb(a,new vQb(GQb(a.g,0).b.b)):PPb(a,0,fSb)&&imc(GQb(a.g,0).a,_Ec)&&(c=GQb(a.g,1).b.b.b>GQb(a.g,0).b.a.b,!(c||PPb(a,1,WSb)||PPb(a,1,HRb)||PPb(a,1,URb)))&&($Pb(a,1)||GQb(a.g,1).c==ESb)?gOb(a,new vQb(GQb(a.g,0).b.b)):GQb(a.g,1).c==DSb?qOb(a,new vQb(GQb(a.g,0).b.b)):qPb(a);else if(f==ESb){e=GQb(a.g,0).b.b;d=sOb(a);if(QPb(a,KRb)){CNb(a,KRb);g=bOb(a,1);return new hUb(new SXb(e,a.f),d,g)}else{b=new OUb((TUb(),RUb));KOb(a,b,(sQb(),rQb));
g=DUb(b,new SXb(e,a.f));return new kUb(new SXb(e,a.f),null,d,g)}}else throw CV(new yC(YKc));}function Ybb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;k=gcb(c,b);h=(Lib(),Pib(k,false,a.b));e=fcb(k);o=new icb;o.b=h;o.a=e;for(g=null,d=k,m=d.e;m!=b;g=d,d=m,m=d.e){Zd(!hcb(m)||d==m.b);if(m.j==(w7b(),B4b))if(acb(a,m,o.b));else{i=m.b;p=i.j;if(i!=d){Zd(i.j==M5b||i.j==L5b);p==L5b&&Wbb(a,i.b?i.b.f:null,null,o);Wbb(a,i.b,null,o)}}else if(m.j==X4b&&Djb(m.b)){f=m.b;Wbb(a,f.d,d,o);if(_bb(a,f,o.b)&&f.b!=g){$d(a.a,
"Object method calls can not be decomposed.");o.b=true;n=(Ld(m.j==X4b,m),q=m.b,Ld(q.j==M5b||q.j==L5b,q),r=$bb(a,q,o.a),o.a=r,s=r.b.b,Ld(s.j==M5b||s.j==L5b,s),t=$bb(a,s.b,o.a),o.a=t,u=t.b,v=r.b,w=f3b(gZb(tZb(v.oi(false),new g4b($6b,NGc)),vD(qD(SR,1),OEc,7,0,[u.oi(false)])),m),F2b(m),!!m.b&&U1b(w,E2b(m)),H2b(m.e,m,w),w);m=n}}else m.j==B6b?Vbb(a,m.b,d,o):Wbb(a,m.b,d,o)}if(k==c);else{l=k.e;j=l.j!=(w7b(),B5b);Zbb(a,k,e,j)}}function Vib(a,b){switch(a.j.f){case 47:return Gjb(a.b?a.b.f:null)||b.Md(a)&&Vib(a.b?
a.b.f:null,b);case 46:return Vib(a.b?a.b.f:null,b);case 62:case 61:return Vib(a.b,b)&&Vib(a.b?a.b.f:null,b);case 60:return Vib(a.b.d,b)&&Vib(a.b?a.b.f:null,b);case 33:case 99:return b.Md(a);case 29:return Gjb(a)||b.Md(a);case 27:case 26:return b.Md(a);case 28:return $d(a.j==(w7b(),X4b)||a.j==e7b,a),(e2b(a,42)&16)>0||Yjb(a)||b.Md(a);case 115:return $d(a.j==(w7b(),X4b)||a.j==e7b,a),(e2b(a,42)&16)>0||b.Md(a);case 23:return $d(a.j==(w7b(),u6b),a),(e2b(a,42)&15&13)==13||b.Md(a);case 24:case 63:case 64:case 96:case 65:case 38:case 80:case 42:case 43:case 116:return true;
case 92:return Vib(a.b,b);case 113:case 102:case 103:return false;default:if(rjb(a)||Vjb(a.j)||Gjb(a))return true;throw CV(new llc("Unexpected expression node: "+a+"\n parent:"+a.e));}}function s2b(a,b,c,d,e,f){var g,h,i,j,k,l,m,n,o,p;if(a.j!=b.j||b2b(a)!=b2b(b)||a.Qj!=b.Qj)return false;if(c&&!o8b(iE(a.k,23)?a.k:null,iE(b.k,23)?b.k:null))return false;if(e&&!F_b(g2b(a,29),g2b(b,29)))return false;p=g2b(a,78);o=g2b(b,78);if((!!p||!!o)&&(!p||!o||!s2b(p,o,c,d,e,false)))return false;if(a.j==(w7b(),X5b)||
a.j==i5b){i=e2b(a,32);j=e2b(b,32);if(i!=j)return false}else if(a.j==$6b||a.j==_6b){if(a.j==_6b){k=e2b(a,36);l=e2b(b,36);if(k!=l)return false}m=e2b(a,54);n=e2b(b,54);if(m!=n)return false}else if(a.j==X4b){if(e2b(a,50)!=0!=(e2b(b,50)!=0))return false}else if(a.j==G5b)if((a.j==G5b&&e2b(a,60)!=0)!=(b.j==G5b&&e2b(b,60)!=0))return false;if(f){if(e2b(a,42)!=e2b(b,42))return false;if(e2b(a,96)!=0!=(e2b(b,96)!=0))return false}if(d)for(g=a.b,h=b.b;g;g=g.d,h=h.d)if(!g.ri(h,c,d,e,f))return false;return true}
function Fab(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o;Ld(d.j==(w7b(),m6b),d);j=(c.b?c.b.f:null).qi();k=imc(j.substr(0,5),"goog:");if(k)l=j.substr(5);else{m=Tub(U2((!b.d&&!!b.g&&(b.d=_0(b.c,b.g)),b.d)),j,(g=g2b(c,51),!g?null:g.Hg()),p3b(c.i),o3b(c.i));!m&&(m=Uub(U2((!b.d&&!!b.g&&(b.d=_0(b.c,b.g)),b.d)),j));l=lvb(m.a)}for(f=(!c.b?(msc(),msc(),lsc):new Z3b(c.b)).Pd();f.Jd();){e=f.Kd();if(e.j==r5b||e.j==$6b)continue;else if(e.j==o6b){n=k?"":cFc;Gnc(a.e,e.qi(),new Qab(l,n))}else if(e.j==U5b)for(i=(!e.b?(msc(),
msc(),lsc):new Z3b(e.b)).Pd();i.Jd();){h=i.Kd();o=h.b.qi();!!h.b&&!!h.b.d&&h.b.d==(h.b?h.b.f:null)?Gnc(a.e,(h.b?h.b.f:null).qi(),new Qab(l,o)):Gnc(a.e,o,new Qab(l,o))}else{ce(e.j==V5b,"Expected an IMPORT_STAR node, but was: %s",e);k&&L1(a.c,lib(c,Aab,vD(qD(qT,1),NCc,2,6,[e.qi(),l])));Gnc(a.e,e.qi(),new Qab(l,""))}}Cwc(a.a,l);D2b(d,c);qib(b)}function kxc(){function e(){this.obj=this.createObject()}e.prototype.createObject=function(a){return Object.create(null)};e.prototype.get=function(a){return this.obj[a]};
e.prototype.set=function(a,b){this.obj[a]=b};e.prototype[HKc]=function(a){delete this.obj[a]};e.prototype.keys=function(){return Object.getOwnPropertyNames(this.obj)};e.prototype.entries=function(){var b=this.keys();var c=this;var d=0;return{next:function(){if(d>=b.length)return{done:true};var a=b[d++];return{value:[a,c.get(a)],done:false}}}};if(!ixc()){e.prototype.createObject=function(){return{}};e.prototype.get=function(a){return this.obj[":"+a]};e.prototype.set=function(a,b){this.obj[":"+a]=b};
e.prototype[HKc]=function(a){delete this.obj[":"+a]};e.prototype.keys=function(){var a=[];for(var b in this.obj)b.charCodeAt(0)==58&&a.push(b.substring(1));return a}}return e}function lkb(a){Lib();switch(a.f){case 1:return"|";case 61:return"||";case 2:return"^";case 62:return"&&";case 3:return"&";case 36:return"===";case 4:return"==";case 19:return"!";case 5:return"!=";case 37:return"!==";case 10:return"<<";case 40:return"in";case 7:return"<=";case 6:return"<";case 12:return">>>";case 11:return">>";
case 9:return">=";case 8:return">";case 15:return"*";case 16:return"/";case 17:return"%";case 18:return"**";case 20:return"~";case 13:case 21:return"+";case 14:case 22:return"-";case 47:return"=";case 48:return"|=";case 49:return"^=";case 50:return"&=";case 51:return"<<=";case 52:return">>=";case 53:return">>>=";case 54:return"+=";case 55:return"-=";case 56:return"*=";case 59:return"**=";case 57:return"/=";case 58:return"%=";case 79:return rFc;case 25:return qIc;case 41:return rIc;default:return null}}
function AOb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p;l=GQb(a.g,0).b.b;f=false;g=false;h=false;k=true;CNb(a,(xTb(),$Rb));c=null;d=null;switch(GQb(a.g,0).c.f){case 65:g=true;n=FQb(a.g);a.f=n.b.a;break;case 14:c=b?UNb(a):JOb(a);k=b;break;case 29:c=nOb(a,false,b);k=false;break;case 37:c=UOb(a);k=false;break;case 31:c=wOb(a);k=false;break;case 110:case 111:c=cPb(a,b);k=false;break;case 109:c=SNb(a);k=false;break;case 8:f=true;m=FQb(a.g);a.f=m.b.a;c=QNb(a,1);k=false;break;case 45:h=true;d=COb(a);break;case 108:c=
EPb(a);break;default:case 25:case 38:case 30:c=b?XNb(a):MPb(a,1)}j=null;if(g||h&&PPb(a,0,fSb)&&imc(GQb(a.g,0).a,dFc)){INb(a,dFc);j=CNb(a,dTb)}else if(h)for(p=d.Pd();p.Jd();){o=p.Kd();e=o.b;lNb(e.a)&&fQb(a,e,XKc,vD(qD(lT,1),bDc,1,5,[e.a]))}(k||(i=GQb(a.g,0).b.b.b>a.f.b,i||PPb(a,0,WSb)||PPb(a,0,HRb)||PPb(a,0,URb)))&&HNb(a);return new uUb(new SXb(l,a.f),f,g,c,d,j)}function Mob(a){Gob();this.a=a;this.b=(Io(),fr(new ir,MBc(JIc),Cob)).nf(Job('Duplicate parameter name "{0}"'),oob).nf(MBc("Unnecessary escape:.*"),
Eob).nf(MBc("^invalid param name.*"),tob).nf(Job(t4b(KIc,vD(qD(lT,1),bDc,1,5,[]))),nob).nf(MBc("^"+NBc(LIc)),uob).nf(MBc("^Keywords and reserved words are not allowed as unquoted property.*"),rob).nf(MBc("^Too many template parameters"),Bob).nf(MBc(".*Type annotations should have curly braces.*"),vob).nf(MBc("Missing type declaration\\."),wob).nf(MBc(".*Unknown type.*"),Fob).nf(MBc("^Bad type annotation.*"),Dob).nf(MBc("Too deep recursion while parsing"),zob).nf(MBc("^Octal .*literal.*"),sob).nf(MBc("^String continuations.*"),
Aob).nf(MBc("^this language feature is only supported for ECMASCRIPT6 mode.*"),pob).nf(MBc("^type syntax is only supported in ES6 typed mode.*"),qob).nf(MBc("^Can only have JSDoc or inline type.*"),xob).mf()}function qOb(a,b){var c,d,e,f,g,h,i,j,k,l;h=!!GNb(a,(xTb(),$Sb));if($Pb(a,0)){l=GQb(a.g,0).c;if(fSb==l||(hNb(),hNb(),!!kp(KMb,l))){k=null;j=ENb(a);lNb(j.a)&&(a.d=bLb(a.d,vD(qD(YO,1),gDc,25,0,[(bMb(),ILb)])))}else{j=null;k=YOb(a)}}else{if(a.b.d&&PPb(a,0,ESb)&&PPb(a,1,fSb)&&PPb(a,2,KRb)){g=TOb(a);
HNb(a);return g}k=sOb(a);j=null}if(!a.b.d||QPb(a,DSb)||QPb(a,BSb)){if(!k){i=(TUb(),SUb);c=b.a}else{i=(TUb(),RUb);c=null}if(b.b){f=aPb(a,b.d,j,b.c,h,b.a);HNb(a)}else{d=EUb(NUb(KUb(new OUb(i),j),b.c),c);KOb(a,d,h?(sQb(),qQb):(sQb(),rQb));f=DUb(d,JNb(a,b.d))}return i==(TUb(),SUb)?f:new kUb(JNb(a,b.d),b.a,k,f)}else{h&&hQb(a,"Member variable cannot be prefixed by '*' (generator function)",vD(qD(lT,1),bDc,1,5,[]));e=LNb(a);QPb(a,WRb)&&hQb(a,"Member variable initializers ('=') are not supported",vD(qD(lT,
1),bDc,1,5,[]));HNb(a);return!k?new hVb(JNb(a,b.d),j,b.c,false,b.a,e):new jUb(JNb(a,b.d),k,b.c,b.a,e)}}function eRb(a,b){var c,d,e;BQb(a);if(!AQb(a,a.d)){IQb(a,"Unterminated string literal escape sequence",vD(qD(lT,1),bDc,1,5,[]));return false}if(lRb(AQb(a,a.d)?dmc(a.e.a,a.d):0)){d=BQb(a);d==13&&(AQb(a,a.d)?dmc(a.e.a,a.d):0)==10&&BQb(a);return true}e=BQb(a);switch(e){case 39:case 34:case 96:case 92:case 98:case 102:case 110:case 114:case 116:case 118:case 48:return true;case 49:case 50:case 51:case 52:case 53:case 54:case 55:if(b){IQb(a,
_Kc,vD(qD(lT,1),bDc,1,5,[]));return false}break;case 120:return VQb(a)&&VQb(a);case 117:if((AQb(a,a.d)?dmc(a.e.a,a.d):0)==123){BQb(a);if((AQb(a,a.d)?dmc(a.e.a,a.d):0)==125){IQb(a,"Empty unicode escape",vD(qD(lT,1),bDc,1,5,[]));return false}c=true;while((AQb(a,a.d)?dmc(a.e.a,a.d):0)!=125&&c)c=c&&VQb(a);BQb(a);return c}else return VQb(a)&&VQb(a)&&VQb(a)&&VQb(a)}if(e==47);else if(b);else JQb(a,"Unnecessary escape: '\\%s' is equivalent to just '%s'",vD(qD(lT,1),bDc,1,5,[Bkc(e),Bkc(e)]));return true}function IAb(a){var b,
c,d;c=Hyb(this);this.a=Td(Dxc(c,"BOOLEAN"));this.b=Td(Dxc(c,"BOTTOM"));this.e=Td(Dxc(c,bJc));this.f=Td(Dxc(c,"FALSY"));this.j=Td(Dxc(c,cJc));this.q=Td(Dxc(c,dJc));this.t=Td(Dxc(c,eJc));this.u=Td(Dxc(c,"TOP"));Td(Dxc(c,fJc));this.w=Td(Dxc(c,gJc));this.A=Td(Dxc(c,hJc));this.B=Td(Dxc(c,"UNDEFINED"));this.G=Td(Dxc(c,iJc));this.H=Td(Dxc(c,jJc));this.C=Td(Dxc(c,kJc));this.D=Td(Dxc(c,lJc));this.F=Td(Dxc(c,mJc));this.k=Td(Dxc(c,nJc));this.n=Td(Dxc(c,oJc));this.o=Td(Dxc(c,pJc));this.p=Td(Dxc(c,qJc));this.r=
Td(Dxc(c,rJc));b=(d=new Hxc,Exc(d,tJc,Exb(this,null,null,this.G,this.G,null,null,null,null,true,false)),Exc(d,uJc,Exb(this,null,null,null,this.b,null,null,null,null,false,false)),Exc(d,_Ic,new vxb(this,false)),Exc(d,$Ic,new vxb(this,true)),d);this.s=Td(Dxc(b,tJc));this.c=Td(Dxc(b,uJc));this.v=Td(Dxc(b,_Ic));this.g=Td(Dxc(b,$Ic));this.d=cBb(new JCb(null,this.b,this.b,(UCb(),TCb)));this.I=a;this.K=a;this.i=new LAb(this)}function iW(){var a,b,c;b=$doc.compatMode;a=vD(qD(qT,1),NCc,2,6,[mEc]);for(c=0;c<
a.length;c++)if(imc(a[c],b))return;a.length==1&&imc(mEc,a[0])&&imc("BackCompat",b)?"GWT no longer supports Quirks Mode (document.compatMode=' BackCompat').<br>Make sure your application's host HTML page has a Standards Mode (document.compatMode=' CSS1Compat') doctype,<br>e.g. by using &lt;!doctype html&gt; at the start of your application's HTML page.<br><br>To continue using this unsupported rendering mode and risk layout problems, suppress this message by adding<br>the following line to your*.gwt.xml module file:<br>&nbsp;&nbsp;&lt;extend-configuration-property name=\"document.compatMode\" value=\""+
b+'"/&gt;':"Your *.gwt.xml module configuration prohibits the use of the current document rendering mode (document.compatMode=' "+b+"').<br>Modify your application's host HTML page doctype, or update your custom "+"'document.compatMode' configuration property settings."}function Kfb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F;C=new Cub(c);f=(F=new jyc,Gfb(a),Mc(F,c),F);m=new xwc;for(j=c.Pd();j.Jd();){h=j.Kd();for(w=c3(h.c?h.c.c:(Sn(),Sn(),Rn),h.d).Pd();w.Jd();){v=w.Kd();v==null?Ywc(m.d,
null,h):oxc(m.e,v,h)}r=lvb(U2(h).a);mxc(m.e,r)||oxc(m.e,r,h)}d=zub(C,c,b.b);g=new St;for(k=(u=(new Boc(f.a)).a.Xd().Pd(),new Hoc(u));k.a.Jd();){h=(e=k.a.Kd(),e.ce());n=h.j;Td(n);Ot(g,n,h,null)}for(p=new joc(new Prc(a.a));p.b<p.d.size();){n=(hCc(p.b<p.d.size()),p.d.getAtIndex(p.c=p.b++));yfb(n)}t=new Lqc;new Fwc;for(q=(B=g.g,!B?g.g=new ou(g):B).Pd();q.Jd();){n=q.Kd();D=zub(C,new lu(g,n),b.b);for(l=D.Pd();l.Jd();){h=l.Kd();s=h.j;if(!s){Kd(!n||!h.j||h.j==n);h.j=n}else{Kd(true);h.j=null;Z2(h,Ffb(a,s,
n))}}}t=d;for(i=t.Pd();i.Jd();){h=i.Kd();n=h.j;!!n&&(Aqc(n.d,h),Kd(!n||!h.j||h.j==n),h.j=n)}A=(Sn(),new ar);for(o=new joc(new Prc(a.a));o.b<o.d.size();){n=(hCc(o.b<o.d.size()),o.d.getAtIndex(o.c=o.b++));_q(A,n.d)}return $n(A.a)}function pkb(a,b){Lib();var c,d;if(a.j==(w7b(),k7b)&&o2b(a)&&b==(a.b?a.b.f:null))pjb((Kd(a.j==k7b),a.b.d))?D2b(a,b):_1b(b);else if(b.j==_4b){d=!b.e?null:b.e.e;Zd((Kd(d.j==k7b),o2b(d)));$1b(b)}else{c=b.e;if(c.j==k7b&&c.b.d==b){d=b.e;Zd((Kd(d.j==k7b),o2b(d)));_1b(b)}else if(b.j==
U4b)_1b(b);else if(a.j==S6b||a.j==U6b||a.j==U4b||a.j==m6b||b.j==Z4b||b.j==k5b||b.j==j6b)D2b(a,b);else if(!!a&&(a.j==q7b||a.j==g6b||a.j==f5b)||a.j==B5b)if(!!a.b&&!!a.b.d)D2b(a,b);else{D2b(a,b);pkb(a.e,a)}else if(a.j==b6b&&b==(a.b?a.b.f:null)){D2b(a,b);pkb(a.e,a)}else if(a.j==D5b)H2b(a,b,new g3b(r5b));else if(a.j==C6b)D2b(a,b);else if(a.j==z4b)b==(a.b?a.b.f:null)?D2b(a,b):H2b(a,b,new g3b(r5b));else if(a.j==n5b){D2b(a,b);!!a.e.b&&pkb(a.e,a)}else if(a.j==P6b)$1b(a);else if(a.j==G6b)D2b(a,b);else if(a.j==
S5b)if(b==a.b)H2b(a,b,new g3b(r5b));else throw CV(new llc("Invalid attempt to remove: "+b+" from "+a));else throw CV(new llc("Invalid attempt to remove node: "+b+" of "+a));}}function Q4(a){if(a.v!=(pZ(),nZ)&&!a.u)throw CV(new R4("Cannot check use of goog.getCssName because of empty blacklist.",vD(qD(lT,1),bDc,1,5,[])));if(a.Nc&&!a.Mc)throw CV(new R4("remove_unused_prototype_props_in_externs requires remove_unused_prototype_props to be turned on.",vD(qD(lT,1),bDc,1,5,[])));if(!a.Cb&&a._b!=-1)throw CV(new R4("max_function_size_after_inlining has no effect if inlining is disabled.",
vD(qD(lT,1),bDc,1,5,[])));a.wd&&(a.t=nZ);if(a.V){if(!YKb(s4(D3(a)),(XKb(),OKb)))throw CV(new R4("Dart requires --language_out=ES5 or higher.",vD(qD(lT,1),bDc,1,5,[])));a.g=false;a.cb=false}if(a.Nc&&a.ib)throw CV(new R4("remove_unused_prototype_props_in_externs and export_local_property_definitions cannot be used together.",vD(qD(lT,1),bDc,1,5,[])));if((q4(),k4)==a.Ub){WYb();if(XYb(VYb,"/javascript/tools/jscompiler/allow-type-syntax.txt")==null)throw CV(new R4("type syntax is not yet generally available, please contact jscomp-team@",
vD(qD(lT,1),bDc,1,5,[])));}}function y9(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o;Lib();if(!!d&&(d.j==(w7b(),q7b)||d.j==g6b||d.j==f5b)&&!Bjb(d.e))s9(a,b,c,c.d,d,d);else if(d.j==(w7b(),B4b))d.e.j==B5b?s9(a,b,c,c.d,d,d.e):(e=nHc+a.b++,f=$1b(d.b?d.b.f:null),g=lZb((ce(lmc(e,Hmc(46))==-1,NEc,e),new g4b(o6b,e)),f,g6b),h=cZb($1b(d.b),(ce(lmc(e,Hmc(46))==-1,NEc,e),new g4b(o6b,e))),i=($d(BZb(h),h),new i3b(B5b,h)),j=NZb((ce(lmc(e,Hmc(46))==-1,NEc,e),new g4b(o6b,e))),k=fZb(vD(qD(SR,1),OEc,7,0,[g,i,j])),l=gZb(bZb((ce(lmc("",
Hmc(46))==-1,NEc,""),new g4b(o6b,"")),new g3b(G6b),k),vD(qD(SR,1),OEc,7,0,[])),f3b(l,d),m=G2b(l,l.g,50),m!=l.g&&(l.g=m),l.g=new K3b(50,1,l.g),H2b(d.e,d,l),dkb(l,a.a),s9(a,b,h.b,h.b?h.b.f:null,h,i),undefined);else if(d.j==P6b||d.j==_6b||d.j==z4b||d.j==l5b);else if(d.j==F5b||d.j==E5b||Bjb(d.e))v9(a,c);else if(d.j==_4b){n=nHc+a.b++;o=c.d;I2b(c,(ce(lmc(n,Hmc(46))==-1,NEc,n),new g4b(o6b,n)));S1b(o,lZb(c,(ce(lmc(n,Hmc(46))==-1,NEc,n),new g4b(o6b,n)),g6b))}else throw CV(new llc("unexpected parent"));}function Gab(a,
b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;Cab(c.b);q$(b,c);Ld(a.f==1,"Es6RewriteModules supports only one invocation per CompilerInput / script node");zib(a.c,c,new Mab(a));n=lvb(U2((!b.d&&!!b.g&&(b.d=_0(b.c,b.g)),b.d)).a);for(g=new fyc(new Yxc(a.d));g.b!=g.c.a.b;){f=dyc(g);h=f.d;s=f.e.a;p=f.e.b;k=tZb((ce(lmc(n,Hmc(46))==-1,NEc,n),new g4b((w7b(),o6b),n)),new g4b($6b,h));if(Dwc(a.g,h)){e=new I1b(true);r=new L1b(new g4b($6b,h),(j=g2b(c,51),!j?null:j.Hg()));B1b(e,r);l=n0b(e);q=G2b(k,k.g,29);q!=k.g&&(k.g=
q);!!l&&(k.g=new U3b(29,l,k.g));i=f3b(($d(BZb(k),k),new i3b(B5b,k)),p);R1b(c,i)}else{d=cZb(k,hkb(a.c,s));i=f3b(($d(BZb(d),d),new i3b(B5b,d)),p);if(Dwc(a.b,h)){e=new I1b(true);y0b(e);l=n0b(e);q=G2b(d,d.g,29);q!=d.g&&(d.g=q);!!l&&(d.g=new U3b(29,l,d.g))}R1b(c,i)}}zib(a.c,c,new Xab(a,n));if(Knc(a.d.c)!=0){o=lZb((ce(lmc(n,Hmc(46))==-1,NEc,n),new g4b((w7b(),o6b),n)),IZb(vD(qD(SR,1),OEc,7,0,[])),q7b);m=new I1b(false);y0b(m);N2b(o,n0b(m));S1b(c,f3b(o,c))}Bxc(a.d);qib(b)}function Zbb(a,b,c,d){var e,f,g,h,
i,j,k,l,m,n,o,p,q,r,s;n=b.e;q=a.f+LHc+(""+a.d.a.Y++);i=b.b;p=i.d;m=b.b?b.b.f:null;_1b(b);g=null;s=c3b((f=new g3b((w7b(),U4b)),f),b);h=c3b((e=new g3b(U4b),e),b);switch(b.j.f){case 60:g=i;S1b(s,fkb(d?d3b(cZb((ce(lmc(q,Hmc(46))==-1,NEc,q),new g4b(o6b,q)),p),p):p));S1b(h,fkb(d?d3b(cZb((ce(lmc(q,Hmc(46))==-1,NEc,q),new g4b(o6b,q)),m),m):m));break;case 62:g=d?d3b(cZb((ce(lmc(q,Hmc(46))==-1,NEc,q),new g4b(o6b,q)),i),i):i;S1b(s,fkb(d?d3b(cZb((ce(lmc(q,Hmc(46))==-1,NEc,q),new g4b(o6b,q)),m),m):m));break;case 61:g=
d?d3b(cZb((ce(lmc(q,Hmc(46))==-1,NEc,q),new g4b(o6b,q)),i),i):i;S1b(h,fkb(d?d3b(cZb((ce(lmc(q,Hmc(46))==-1,NEc,q),new g4b(o6b,q)),m),m):m));break;default:throw CV(new llc("Unexpected expression: "+b));}h.b?k=(Zd(BZb(g)),Zd(s.j==U4b),Zd(h.j==U4b),new l3b(Q5b,g,s,h)):k=wZb(g,s);e3b(k,b);if(d){r=f3b(kkb(q,null),b);l=c.e;Q1b(l,r,c);P1b(l,k,r);o=(ce(lmc(q,Hmc(46))==-1,NEc,q),new g4b(o6b,q));H2b(n,b,o)}else{Kd(n.j==B5b);j=n.e;H2b(j,n,k)}return k}function GKb(){GKb=bW;iKb=new HKb("ALL",0,"all",0,0,0);jKb=
new HKb("COND",1,"cond",3,3,1);kKb=new HKb("EQ",2,"eq",2,2,3);mKb=new HKb("ISCTOR",3,"isCtor",1,1,3);nKb=new HKb("ISDEFINED",4,"isDefined",1,1,4);oKb=new HKb("ISRECORD",5,"isRecord",1,1,3);pKb=new HKb("ISTEMPLATIZED",6,"isTemplatized",1,1,3);qKb=new HKb("ISUNKNOWN",7,"isUnknown",1,1,3);lKb=new HKb(uKc,8,"instanceOf",1,1,1);sKb=new HKb("MAPUNION",9,"mapunion",2,2,1);rKb=new HKb("MAPRECORD",10,"maprecord",2,2,1);tKb=new HKb(nEc,11,"none",0,0,0);uKb=new HKb("PRINTTYPE",12,"printType",2,2,1);vKb=new HKb("PROPTYPE",
13,"propType",2,2,1);wKb=new HKb("RAWTYPEOF",14,"rawTypeOf",1,1,0);zKb=new HKb("SUB",15,"sub",2,2,3);yKb=new HKb("STREQ",16,"streq",2,2,2);xKb=new HKb("RECORD",17,"record",1,ICc,0);AKb=new HKb("TEMPLATETYPEOF",18,"templateTypeOf",2,2,0);BKb=new HKb(HJc,19,vFc,2,ICc,0);CKb=new HKb("TYPEEXPR",20,"typeExpr",1,1,0);DKb=new HKb("TYPEOFVAR",21,"typeOfVar",1,1,1);EKb=new HKb("UNION",22,"union",2,ICc,0);FKb=new HKb(iJc,23,vKc,0,0,0)}function T9(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o;o=F2b(a.f);g=F2b(a.f);e=F2b(a.f);
i=g.k;m=a.u;a.a&&(m=i.yh().hi().Oh().getAtIndex(0));d=K9(a,(dec(),Wcc),m);j=""+a.j.a.Y++;c=Kbb((ce(lmc(sHc+j,Hmc(46))==-1,NEc,sHc+j),new g4b((w7b(),o6b),sHc+j)),d);n=dab(a,(ce(lmc(tHc+j,Hmc(46))==-1,NEc,tHc+j),new g4b(o6b,tHc+j)));h=Kbb((ce(lmc(uHc+j,Hmc(46))==-1,NEc,uHc+j),new g4b(o6b,uHc+j)),i);o.j==q7b&&(o=F2b(o));S1b(e,wZb(bab(a,HZb(yZb(Y1b(o,false),Y1b(h,false)))),eZb(new g3b(g5b))));S1b(e,lZb(Y1b(o,false),sZb(Y1b(c,false),Y1b(n,false)),q7b));P1b(a.n.e,mZb(Y1b(c,false),q7b),a.n);P1b(a.n.e,mZb(Y1b(n,
false),q7b),a.n);P1b(a.n.e,mZb(Y1b(h,false),q7b),a.n);b=oZb(Kbb(cZb(Y1b(c,false),Kbb(aZb(vD(qD(SR,1),OEc,7,0,[])),d)),d));f=oZb(Kbb(cZb(Y1b(h,false),g),i));l=pZb(Y1b(o,false),h,eZb(oZb(dab(a,gZb(tZb(Y1b(c,false),new g4b($6b,"push")),vD(qD(SR,1),OEc,7,0,[o]))))));k=qZb(dab(a,cZb(Y1b(n,false),dab(a,new P3b(0)))),bab(a,AZb(Y1b(n,false),dab(a,tZb(c,new g4b($6b,"length"))))),dab(a,zZb(n,true)),e);R1b(a.g,b);R1b(a.g,f);R1b(a.g,l);S1b(a.p,k)}function lab(a,b){G9();var c,d,e;e=a.C;d=kab(e);if(d)return d;
c=$1b(C1(a,Hc(new Kc(String.fromCharCode(10)),"function $jscomp$generator$function$name() {","  var $jscomp$generator$state = 0;",vD(qD(lT,1),bDc,1,5,["  function $jscomp$generator$impl(","      $jscomp$generator$action$arg,","      $jscomp$generator$next$arg,","      $jscomp$generator$throw$arg) {","    while (1) switch ($jscomp$generator$state) {","      case 0:","      default:","        return {value: undefined, done: true};","    }","  }","  var iterator = /** @type {!Generator<?>} */ ({","    next: function(arg) {",
"      return $jscomp$generator$impl(0.0, arg, undefined);","    },","    throw: function(arg) {","      return $jscomp$generator$impl(1.0, undefined, arg);","    },","    return: function(arg) { throw Error('Not yet implemented'); },","  });","  $jscomp.initSymbolIterator();","  /** @this {!Generator<?>} */","  iterator[Symbol.iterator] = function() { return this; };","  return iterator;","}"]))).b);S1b(e.b,c);if(b){dkb(c,a);J1(a,V0(c));x1(a)}return c}function XFb(a){_Eb();switch(a.f){case 74:return w7b(),
S4b;case 75:return w7b(),T4b;case 73:return w7b(),Q4b;case 59:return w7b(),v5b;case 60:return w7b(),s6b;case 54:return w7b(),i6b;case 56:return w7b(),f6b;case 55:return w7b(),O5b;case 57:return w7b(),I5b;case 70:return w7b(),h6b;case 71:return w7b(),T6b;case 72:return w7b(),p7b;case 63:return w7b(),u4b;case 64:return w7b(),b7b;case 65:return w7b(),n6b;case 94:return w7b(),o5b;case 67:return w7b(),l6b;case 66:return w7b(),x5b;case 61:return w7b(),W6b;case 62:return w7b(),X6b;case 16:return w7b(),W5b;
case 17:return w7b(),Z5b;case 53:return w7b(),d5b;case 82:return w7b(),B4b;case 92:return w7b(),E4b;case 93:return w7b(),F4b;case 91:return w7b(),D4b;case 88:return w7b(),I4b;case 89:return w7b(),L4b;case 90:return w7b(),N4b;case 83:return w7b(),C4b;case 84:return w7b(),M4b;case 85:return w7b(),K4b;case 86:return w7b(),H4b;case 95:return w7b(),G4b;case 87:return w7b(),J4b;case 79:return w7b(),E6b;case 78:return w7b(),v4b;default:throw CV(new llc(!a?KCc:a.a==null?(hNb(),kp(KMb,a)).b:a.a));}}function FOb(a){var b,
c,d,e;d=GQb(a.g,0).b.b;CNb(a,(xTb(),cSb));CNb(a,DSb);if(eQb(a)){e=MPb(a,0);if(QPb(a,jSb)){e.b.size()>1&&hQb(a,"for-in statement may not have more than one variable declaration",vD(qD(lT,1),bDc,1,5,[]));b=e.b.getAtIndex(0);!!b.b&&(a.b.a?hQb(a,"for-in statement may not have initializer",vD(qD(lT,1),bDc,1,5,[])):xJb(a.c,b.o.b,"for-in statement should not have initializer",vD(qD(lT,1),bDc,1,5,[])));return DOb(a,d,e)}else if(PPb(a,0,fSb)&&imc(GQb(a.g,0).a,"of")){e.b.size()>1&&hQb(a,"for-of statement may not have more than one variable declaration",
vD(qD(lT,1),bDc,1,5,[]));b=e.b.getAtIndex(0);!!b.b&&hQb(a,"for-of statement may not have initializer",vD(qD(lT,1),bDc,1,5,[]));return EOb(a,d,e)}else{ANb(a,e);return GOb(a,d,e)}}if(QPb(a,WSb))return GOb(a,d,null);c=QNb(a,0);if(QPb(a,jSb)||QPb(a,WRb)||PPb(a,0,fSb)&&imc(GQb(a.g,0).a,"of")){c=iQb(a,c);ETb(c)||hQb(a,UKc,vD(qD(lT,1),bDc,1,5,[]))}if(QPb(a,jSb)||PPb(a,0,fSb)&&imc(GQb(a.g,0).a,"of"))if(c.p!=(gXb(),AVb)&&c.p!=IVb)return QPb(a,jSb)?DOb(a,d,c):EOb(a,d,c);return GOb(a,d,c)}function fgb(a,b){var c,
d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;Kd(b.j==(w7b(),B6b));l=new Lqc;d=b.b;h=b.k;while(d)if(e2b(d,73)!=0||e2b(d,74)!=0){Ebb();L1(a.c,sfb(d,Dbb,vD(qD(qT,1),NCc,2,6,["computed getter/setter in an object literal"])));return}else if(d.j==N5b||d.j==V6b)d=d.d;else{f=d.d;D2b(b,d);l.add(d);d=f}g="$jscomp$compprop"+(""+(new H2(a.c)).a.Y++);l=iE(l,113)?Un(l):iE(l,165)?l.a:iE(l,67)?new qv(l):new fv(l);m=Kbb((ce(lmc(g,Hmc(46))==-1,NEc,g),new g4b(o6b,g)),h);for(j=l.Pd();j.Jd();){i=j.Kd();if(i.j==e5b){k=F2b(i);r=F2b(i);
s=r.k;m=Kbb(jZb(Kbb(cZb(igb(a,sZb(Kbb((ce(lmc(g,Hmc(46))==-1,NEc,g),new g4b(o6b,g)),h),k)),r),s),m),h)}else{if(!i.b){e=e3b(Kbb(FZb(i.qi()),i.k),i);R1b(i,e)}q=F2b(i);s=q.k;X2b(i,$6b);i.k=null;p=i.si()?L5b:M5b;c=Kbb(new k3b(p,Kbb((ce(lmc(g,Hmc(46))==-1,NEc,g),new g4b(o6b,g)),h),i),s);m=Kbb(jZb(Kbb(cZb(c,q),s),m),h)}}o=b;while(Lib(),!(o.j!=m6b&&Xjb(o.e)))o=o.e;f3b(m,b);H2b(b.e,b,m);n=Ibb(a.a,a.d,(dec(),bdc));t=lZb(Kbb((ce(lmc(g,Hmc(46))==-1,NEc,g),new g4b(o6b,g)),h),(Ebb(),!!n&&(b.k=n),b),q7b);f3b(t,
o);Q1b(o.e,t,o);N1(a.c,t)}function _9(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;u=null;t=a.u;if(a.a){u=c.b.k.yh().hi();t=u.Oh().getAtIndex(0)}o=K9(a,(dec(),odc),t);n=a.a?o.hi().Kh(oHc):null;k=K9(a,pdc,t);j=a.a?k.hi().Kh(rHc):null;l=a.a?k.hi().Kh(pHc):null;g=(Lib(),$ib(c,Kib));m=Jbb(a.c,F2b(c));if(a.a){p=Vob(gib(b),AHc).c.k;s=p.hi().Kh(EGc);Y2b(m.b,s);Y2b(m.b.b,p)}i=lZb(Kbb((ce(lmc(BHc,Hmc(46))==-1,NEc,BHc),new g4b((w7b(),o6b),BHc)),o),(Ebb(),!!o&&(m.k=o),m),q7b);h=mZb(Kbb((ce(lmc(CHc,Hmc(46))==
-1,NEc,CHc),new g4b(o6b,CHc)),k),q7b);e=Kbb(cZb(Kbb((ce(lmc(CHc,Hmc(46))==-1,NEc,CHc),new g4b(o6b,CHc)),k),Kbb(gZb(Kbb(tZb(Kbb((ce(lmc(BHc,Hmc(46))==-1,NEc,BHc),new g4b(o6b,BHc)),o),eab(a,new g4b($6b,oHc))),n),vD(qD(SR,1),OEc,7,0,[hab(a,(ce(lmc(DHc,Hmc(46))==-1,NEc,DHc),new g4b(o6b,DHc)))])),k)),k);r=bab(a,HZb(Kbb(tZb(e,eab(a,new g4b($6b,rHc))),j)));f=Kbb(tZb(Kbb((ce(lmc(CHc,Hmc(46))==-1,NEc,CHc),new g4b(o6b,CHc)),k),eab(a,new g4b($6b,pHc))),l);v=oZb(hab(a,YZb(Y1b(f,false))));q=XZb(r,eZb(v));Q1b(g.e,
i,g);Q1b(g.e,h,g);Q1b(g.e,q,g);d.j==B5b?$1b(d):H2b(d,c,f);aab(a,b,v,v.e);qib(b)}function Ntb(){Ntb=bW;Jtb=new s6("JSC_UNDEFINED_VARIABLE",(pZ(),mZ),new xnc("variable {0} is undeclared"));Mtb=new s6("JSC_VIOLATED_MODULE_DEPENDENCY",mZ,new xnc("module {0} cannot reference {2}, defined in module {1}, since {1} loads after {0}"));Ftb=new s6("JSC_MISSING_MODULE_DEPENDENCY",oZ,new xnc("missing module dependency; module {0} should depend on module {1} because it references {2}"));Htb=new s6("JSC_STRICT_MODULE_DEPENDENCY",
nZ,new xnc(IEc));Gtb=new s6("JSC_NAME_REFERENCE_IN_EXTERNS",oZ,new xnc("accessing name {0} in externs has no effect. Perhaps you forgot to add a var keyword?"));Itb=new s6("JSC_UNDEFINED_EXTERN_VAR_ERROR",oZ,new xnc("name {0} is not defined in the externs."));Ltb=new s6("JSC_VAR_MULTIPLY_DECLARED_ERROR",mZ,new xnc("Variable {0} declared more than once. First occurrence: {1}"));Ktb=new s6("JSC_VAR_ARGUMENTS_SHADOWED_ERROR",mZ,new xnc('Shadowing "arguments" is not allowed'));Etb=new s6("JSC_LET_CONST_CLASS_MULTIPLY_DECLARED_ERROR",
mZ,new xnc("Duplicate let / const / class declaration in the same scope is not allowed."))}function nkb(a){Lib();switch(a.f){case 46:return 0;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 59:case 57:case 58:case 47:return 1;case 102:return 2;case 60:return 3;case 61:return 4;case 62:return 5;case 1:return 6;case 2:return 7;case 3:return 8;case 4:case 5:case 36:case 37:return 9;case 6:case 8:case 7:case 9:case 41:case 40:return 10;case 10:case 11:case 12:return 11;case 14:case 13:return 12;
case 15:case 17:case 16:return 13;case 18:return 14;case 103:case 23:case 24:case 25:case 79:case 19:case 20:case 21:case 22:return 15;case 63:case 64:return 16;case 28:case 27:case 26:case 119:case 42:case 93:case 118:case 95:case 80:case 34:case 65:case 96:case 148:case 29:case 32:case 30:case 43:case 94:case 38:case 112:case 113:case 31:case 91:case 156:case 157:case 158:case 33:case 99:case 35:case 115:case 116:case 125:return 17;case 123:return 18;case 134:case 124:return 19;case 120:case 122:case 121:case 126:case 132:case 127:case 130:case 133:case 135:return 20;
case 92:return 21;default:throw CV(new llc("Unknown precedence for "+a));}}function lZ(){lZ=bW;kZ=new s6("JSC_MISPLACED_MSG_ANNOTATION",(pZ(),nZ),new xnc("Misplaced message annotation. @desc, @hidden, and @meaning annotations should only be on message nodes."));jZ=new s6("JSC_MISPLACED_ANNOTATION",oZ,new xnc("Misplaced {0} annotation. {1}"));dZ=new s6("JSC_ANNOTATION_DEPRECATED",oZ,new xnc("The {0} annotation is deprecated. {1}"));gZ=new s6("JSC_DISALLOWED_MEMBER_JSDOC",oZ,new xnc("Class level JSDocs (@interface, @extends, etc.) are not allowed on class members"));
eZ=new s6("JSC_ARROW_FUNCTION_AS_CONSTRUCTOR",mZ,new xnc("Arrow functions cannot be used as constructors"));fZ=new s6("JSC_DEFAULT_PARAM_MUST_BE_MARKED_OPTIONAL",mZ,new xnc("Inline JSDoc on default parameters must be marked as optional"));iZ=new s6("JSC_INVALID_NO_SIDE_EFFECT_ANNOTATION",mZ,new xnc("@nosideeffects may only appear in externs files."));hZ=new s6("JSC_INVALID_MODIFIES_ANNOTATION",mZ,new xnc("@modifies may only appear in externs files."));new s6("JSC_INVALID_DEFINE_ON_LET",mZ,new xnc("variables annotated with @define may only be declared with VARs, ASSIGNs, or CONSTs"))}
function D6(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o;Kd(b.j==(w7b(),X4b)||b.j==y4b||b.j==u6b);k=new Lqc;h=null;e=b.j==y4b?null:F2b(b);g=F2b(b);while(g){if(g.j==Y6b){if(h){k.a[k.a.length]=h;h=null}Aqc(k,Fbb(a.a,F2b(g)))}else{!h&&(h=aZb(vD(qD(SR,1),OEc,7,0,[])));R1b(h,g)}g=F2b(b)}!!h&&(k.a[k.a.length]=h,true);n=null;i=b.j==u6b?aZb(vD(qD(SR,1),OEc,7,0,[new g3b(x6b)])):aZb(vD(qD(SR,1),OEc,7,0,[]));l=gZb(tZb(i,new g4b($6b,"concat")),Kqc(k,sD(SR,OEc,7,0,0,1)));if(b.j==y4b)n=l;else if(b.j==X4b){Lib();if(Pib(e,
false,null)&&e.j==M5b){o=b;while(!(o.j!=m6b&&Xjb(o.e)))o=o.e;j=FZb("$jscomp$spread$args"+(""+(new H2(a.a)).a.Y++));m=mZb(Y1b(j,false),q7b);f3b(m,o);Q1b(o.e,m,o);S1b(e,cZb(Y1b(j,false),F2b(e)));n=gZb(tZb(e,new g4b($6b,tGc)),vD(qD(SR,1),OEc,7,0,[j,l]))}else{f=e.j==M5b?Y1b(e.b,false):new g3b(x6b);n=gZb(tZb(e,new g4b($6b,tGc)),vD(qD(SR,1),OEc,7,0,[f,l]))}}else{D3(a.a.M)==(q4(),h4)&&Gbb(a.a,b,'"..." passed to a constructor (consider using --language_out=ES5)');d=hkb(a.a,"Function.prototype.bind.apply");
n=GZb(gZb(d,vD(qD(SR,1),OEc,7,0,[e,l])),vD(qD(SR,1),OEc,7,0,[]))}f3b(n,b);H2b(c,b,n);N1(a.a,n)}function q9(a,b,c,d,e,f){var g,h,i,j,k,l,m,n,o,p,q,r;q=nHc+a.b++;p=lZb((ce(lmc(q,Hmc(46))==-1,NEc,q),new g4b((w7b(),o6b),q)),Jbb(a.a,$1b(d)),q7b);f3b(p,c);Q1b(f.e,p,f);i=false;for(h=c.b;h;h=m){m=h.d;if(h.j==r5b){n=oZb(gZb(tZb((ce(lmc(q,Hmc(46))==-1,NEc,q),new g4b(o6b,q)),new g4b($6b,oHc)),vD(qD(SR,1),OEc,7,0,[])));f3b(n,h);Q1b(f.e,n,f);continue}if(h.j==l5b){o=nHc+a.b++;r=lZb((ce(lmc(o,Hmc(46))==-1,NEc,o),
new g4b(o6b,o)),tZb(gZb(tZb((ce(lmc(q,Hmc(46))==-1,NEc,q),new g4b(o6b,q)),new g4b($6b,oHc)),vD(qD(SR,1),OEc,7,0,[])),new g4b($6b,pHc)),q7b);f3b(r,h);Q1b(f.e,r,f);j=$1b(h.b);l=A9((ce(lmc(o,Hmc(46))==-1,NEc,o),new g4b(o6b,o)),$1b(h.b?h.b.f:null))}else if(h.j==P6b){j=$1b(h.b);l=gZb(hkb(a.a,"$jscomp.arrayFromIterator"),vD(qD(SR,1),OEc,7,0,[(ce(lmc(q,Hmc(46))==-1,NEc,q),new g4b(o6b,q))]));i=true}else{j=$1b(h);l=tZb(gZb(tZb((ce(lmc(q,Hmc(46))==-1,NEc,q),new g4b(o6b,q)),new g4b($6b,oHc)),vD(qD(SR,1),OEc,
7,0,[])),new g4b($6b,pHc))}if(e.j==B4b){g=cZb(j,l);k=($d(BZb(g),g),new i3b(B5b,g))}else k=lZb(j,l,e.j);f3b(k,c);Q1b(f.e,k,f);u9(a,b,j,j.e)}$1b(f);i&&T0(a.a,"es6/util/arrayfromiterator",false);qib(b)}function jjc(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;if(b.Mi())return a;a.e=a.e||b.Gi();a.c=a.c||b.bi();i=iE(b,203);a.f=a.f||i;i&&(a.b=a.b&&b.Hi());if(!a.e&&!a.f)if(b.$i()){q=b.$i();d=Jic(q);for(h=0;h<d.size();h++){r=d.getAtIndex(h);jjc(a,r,false)}}else{if(a.a.a.length>a.g)return a;if(!!b.Wi()&&a.d!=
-1){l=Cqc(a.a,a.d).Wi();n=qbc(b.Wi(),l,true);Hqc(a.a,a.d,n);a.j=null;return a}f=0;j=new grc(a.a);while(j.a<j.c.a.length){m=false;e=erc(j);if(b.ai()||e.ai()||b.Li()||e.Li()||T7b(b)||T7b(e)){g=c?new Kcc(true):new Kcc(false);if(O7b(b,e,0,g))return a}else if(!!b.Zi()||!!e.Zi())if(e.Zi())if(b.Zi()){Zd(!!e.Zi()&&!!b.Zi());o=b.Zi();p=e.Zi();if(O7b(p.d,o.d,0,new Kcc(true)))if(Hhc(b.Ei(),e.Ei(),0,new Kcc(true),0))return a;else{k=p.c;return jjc(a,k,false)}}else njc(e,b,c)&&(m=true);else{if(njc(b,e,c))return a}else if(njc(b,
e,c)){!!b.Xi()&&!!e.Xi()&&Aec(a.i,b.Xi(),e.Xi());return a}else if(njc(e,b,c)){!!e.Xi()&&!!b.Xi()&&Aec(a.i,e.Xi(),b.Xi());m=true}if(m){frc(j);if(f==a.d)a.d=-1;else if(f<a.d){--a.d;--f}}++f}if(b.Wi()){Zd(a.d==-1);a.d=a.a.a.length}Aqc(a.a,b);a.j=null}else a.j=null;return a}function Nsb(){Nsb=bW;Jsb=new s6("JSC_INVALID_CAST",(pZ(),oZ),new xnc("invalid cast - must be a subtype or supertype\nfrom: {0}\nto  : {1}"));Lsb=new s6("JSC_TYPE_MISMATCH",oZ,new xnc(bGc));Ksb=new s6("JSC_MISSING_EXTENDS_TAG",oZ,
new xnc("Missing @extends tag on type {0}"));Esb=new s6("JSC_DUP_VAR_DECLARATION",oZ,new xnc("variable {0} redefined, original definition at {1}:{2}"));Fsb=new s6("JSC_DUP_VAR_DECLARATION_TYPE_MISMATCH",oZ,new xnc("variable {0} redefined with type {1}, original definition at {2}:{3} with type {4}"));Isb=new s6("JSC_INTERFACE_METHOD_NOT_IMPLEMENTED",oZ,new xnc(THc));Gsb=new s6("JSC_HIDDEN_INTERFACE_PROPERTY_MISMATCH",oZ,new xnc("mismatch of the {0} property on type {1} and the type of the property it overrides from interface {2}\noriginal: {3}\noverride: {4}"));
Csb=new s6("JSC_ABSTRACT_METHOD_NOT_IMPLEMENTED",oZ,new xnc("property {0} on abstract class {1} is not implemented by type {2}"));Msb=new s6("JSC_UNKNOWN_TYPEOF_VALUE",oZ,new xnc(lIc));Hsb=new s6("JSC_ILLEGAL_PROPERTY_ACCESS",oZ,new xnc(kIc));Dsb=new J5(vD(qD(lK,1),bDc,5,0,[Csb,Jsb,Lsb,Ksb,Esb,Fsb,Isb,Gsb,Msb,Hsb]))}function j_(a,b,c,d,e,f,g,h){var i,j,k;k=new _mc;for(j=0;j<b.length;j++){i=(qCc(j,b.length),b.charCodeAt(j));switch(i){case 0:k.a+="\\x00";break;case 11:g?(k.a+="\\v",k):(k.a+="\\x0B",
k);break;case 8:k.a+="\\b";break;case 12:k.a+="\\f";break;case 10:k.a+="\\n";break;case 13:k.a+="\\r";break;case 9:k.a+="\\t";break;case 92:k.a+=f;break;case 34:k.a+=c;break;case 39:k.a+=d;break;case 96:k.a+=e;break;case 8232:k.a+="\\u2028";break;case 8233:k.a+="\\u2029";break;case 61:a.j||h?(k.a+=String.fromCharCode(i),k):(k.a+="\\x3d",k);break;case 38:a.j||h?(k.a+=String.fromCharCode(i),k):(k.a+="\\x26",k);break;case 62:if(!a.j&&!h){k.a+="\\x3e";break}j>=2&&(qCc(j-1,b.length),b.charCodeAt(j-1)==
45&&(qCc(j-2,b.length),b.charCodeAt(j-2)==45)||(qCc(j-1,b.length),b.charCodeAt(j-1)==93&&(qCc(j-2,b.length),b.charCodeAt(j-2)==93)))?(k.a+="\\x3e",k):(k.a+=String.fromCharCode(i),k);break;case 60:if(!a.j&&!h){k.a+="\\x3c";break}rmc(b,true,j+1,"/script",0,7)?(k.a+="\\x3c",k):rmc(b,false,j+1,"!--",0,3)?(k.a+="\\x3c",k):(k.a+=String.fromCharCode(i),k);break;default:i>31&&i<127?(k.a+=String.fromCharCode(i),k):tC(k,i)}}return k.a}function K0(){K0=bW;kW();I0=new s6("JSC_MODULE_DEPENDENCY_ERROR",(pZ(),mZ),
new xnc("Bad dependency: {0} -> {1}. Modules must be listed in dependency order."));new s6("JSC_MISSING_ENTRY_ERROR",mZ,new xnc('required entry point "{0}" never provided'));new s6("JSC_MISSING_MODULE_ERROR",mZ,new xnc('unknown module "{0}" specified in entry point spec'));new s6("JSC_INCONSISTENT_MODULE_DEFINITIONS",mZ,new xnc("Serialized module definitions are not consistent with the module definitions supplied in the command line"));new s6("JSC_OPTIMIZE_LOOP_ERROR",mZ,new xnc("Exceeded max number of optimization iterations: {0}"));
new s6("JSC_MOTION_ITERATIONS_ERROR",mZ,new xnc("Exceeded max number of code motion iterations: {0}"));J0=EBc("com.google.javascript.jscomp");new Kc(Ojc);G0=new s6("JSC_EMPTY_MODULE_LIST_ERROR",mZ,new xnc("At least one module must be provided"));H0=new s6("JSC_EMPTY_ROOT_MODULE_ERROR",mZ,new xnc("Root module ''{0}'' must contain at least one source code input"));F0=new s6("JSC_DUPLICATE_INPUT",mZ,new xnc("Duplicate input: {0}"));E0=new s6("JSC_DUPLICATE_EXTERN_INPUT",mZ,new xnc("Duplicate extern input: {0}"))}
function tFb(a,b){var c,d,e,f,g,h,i,j;j=b.a;g=b.b;f=j.length;Zd(f>0);Zd((qCc(0,j.length),j.charCodeAt(0)!=45&&(qCc(0,j.length),j.charCodeAt(0)!=43)));qCc(0,j.length);if(j.charCodeAt(0)==46)return hlc(clc("0"+j));else{qCc(0,j.length);if(j.charCodeAt(0)==48&&f>1)switch(qCc(1,j.length),j.charCodeAt(1)){case 46:case 101:case 69:return hlc(clc(j));case 98:case 66:{kFb(a,b,(bMb(),oLb));i=0;d=1;while(++d<f)i=i*2+QFb((qCc(d,j.length),j.charCodeAt(d)));return i}case 111:case 79:{kFb(a,b,(bMb(),PLb));i=0;d=
1;while(++d<f)i=i*8+VFb((qCc(d,j.length),j.charCodeAt(d)));return i}case 120:case 88:{i=0;d=1;while(++d<f)i=i*16+SFb((qCc(d,j.length),j.charCodeAt(d)));return i}case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:h=0;c=0;while(++c<f){e=(qCc(c,j.length),j.charCodeAt(c));if(e>=48&&e<=55)h=h*8+VFb(e);else{a.d.kh(PJc,a.r,g.b.b+1,g.b.a);return 0}}a.a.e==0?a.d.kh(QJc,a.r,g.b.b+1,g.b.a):a.d.lh(QJc,a.r,g.b.b+1,g.b.a);return h;case 56:case 57:a.d.kh(PJc,a.r,g.b.b+1,g.b.a);return 0;default:throw CV(new llc((qCc(1,
j.length),"Unexpected character in number literal: "+gE(j.charCodeAt(1)))));}else return hlc(clc(j))}}function NQb(a,b){switch(AQb(a,a.d)?dmc(a.e.a,a.d):0){case 98:case 66:BQb(a);qRb(AQb(a,a.d)?dmc(a.e.a,a.d):0)>=0||IQb(a,"Binary Integer Literal must contain at least one digit",vD(qD(lT,1),bDc,1,5,[]));RQb(a);return new xNb((xTb(),ASb),Amc(a.e.a,b,a.d),sNb(a.e.b,b,a.d));case 111:case 79:BQb(a);rRb(AQb(a,a.d)?dmc(a.e.a,a.d):0)>=0||IQb(a,"Octal Integer Literal must contain at least one digit",vD(qD(lT,
1),bDc,1,5,[]));YQb(a);((AQb(a,a.d)?dmc(a.e.a,a.d):0)==56||(AQb(a,a.d)?dmc(a.e.a,a.d):0)==57)&&IQb(a,PJc,vD(qD(lT,1),bDc,1,5,[]));return new xNb((xTb(),ASb),Amc(a.e.a,b,a.d),sNb(a.e.b,b,a.d));case 120:case 88:BQb(a);rkc(AQb(a,a.d)?dmc(a.e.a,a.d):0,16)>=0||IQb(a,"Hex Integer Literal must contain at least one digit",vD(qD(lT,1),bDc,1,5,[]));WQb(a);return new xNb((xTb(),ASb),Amc(a.e.a,b,a.d),sNb(a.e.b,b,a.d));case 101:case 69:return KQb(a,b);case 46:return LQb(a,b);case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:UQb(a);
if((AQb(a,a.d)?dmc(a.e.a,a.d):0)==46){BQb(a);UQb(a)}return new xNb((xTb(),ASb),Amc(a.e.a,b,a.d),sNb(a.e.b,b,a.d));default:return new xNb((xTb(),ASb),Amc(a.e.a,b,a.d),sNb(a.e.b,b,a.d))}}function Xib(a,b){var c,d,e,f;$d(a.j==(w7b(),X4b)||a.j==e7b,a);if((e2b(a,42)&15)==15)return false;if((e2b(a,42)&15&11)==11&&Mib(a))return false;c=a.b;if(c.j==o6b){e=c.qi();if(Bib.contains(e))return false}else if(c.j==M5b){if(!!a.b&&!a.b.d&&Hib.contains((c.b?c.b.f:null).qi()))return false;if((e2b(a,42)&15&13)==13&&Vib(c.b,
(ye(),ue)))return false;if(c.b.j==o6b&&t2b(c)&&imc(c.b.qi(),"Math"))switch((c.b?c.b.f:null).qi()){case "abs":case "acos":case "acosh":case "asin":case "asinh":case "atan":case "atanh":case "atan2":case "cbrt":case "ceil":case "cos":case "cosh":case "exp":case "expm1":case "floor":case "hypot":case "log":case "log10":case "log1p":case "log2":case "max":case "min":case "pow":case "round":case "sign":case "sin":case "sinh":case "sqrt":case "tan":case "tanh":case "trunc":return false;case "random":return!(!!a.b&&
!a.b.d)}if(!!b&&!b.Of())if(c.b.j==O6b&&Iib.contains((c.b?c.b.f:null).qi()))return false;else if(Zjb(c.b,b)){d=(c.b?c.b.f:null).qi();f=c.d;if(f)if(f.j==$6b){if(Jib.contains(d))return false}else if(f.j==O6b)if(imc("replace",d))return f.d.j!=$6b;else if(Jib.contains(d))return false}}return true}function y7b(a){w7b();switch(a.f){case 137:case 42:case 143:case 82:case 81:case 74:case 28:case 147:case 88:case 75:case 89:case 142:case 140:case 144:case 72:case 66:case 145:case 146:case 23:case 43:case 45:case 138:case 141:case 38:case 0:case 85:case 139:case 91:case 67:case 116:case 44:case 76:case 102:return-1;
case 80:case 34:case 107:case 90:case 156:case 29:case 32:case 30:case 31:case 33:case 35:return 0;case 20:case 158:case 92:case 64:case 69:case 24:case 84:case 86:case 63:case 157:case 98:case 130:case 22:case 19:case 21:case 112:case 87:case 113:case 117:case 39:case 25:case 154:case 79:return 1;case 13:case 62:case 47:case 54:case 50:case 48:case 49:case 57:case 51:case 58:case 56:case 59:case 52:case 55:case 53:case 3:case 1:case 2:case 68:case 78:case 46:case 114:case 118:case 16:case 71:case 151:case 4:case 18:case 9:case 27:case 26:case 8:case 40:case 41:case 83:case 7:case 10:case 6:case 17:case 15:case 159:case 5:case 61:case 11:case 36:case 37:case 14:case 115:case 12:case 70:case 77:return 2;
case 96:case 73:case 101:case 65:case 60:case 104:case 148:return 3;default:throw CV(new llc("No arity defined for "+a));}}function _mb(){_mb=bW;var a,b,c,d;new xc(new xc(new ec(97,122),new ec(65,90)),new bc);$mb=new s6("JSC_UNKNOWN_TWEAK_WARNING",(pZ(),oZ),new xnc("no tweak registered with ID {0}"));new s6("JSC_TWEAK_MULTIPLY_REGISTERED_ERROR",mZ,new xnc("Tweak {0} has already been registered."));new s6("JSC_NON_LITERAL_TWEAK_ID_ERROR",mZ,new xnc("tweak ID must be a string literal"));Xmb=new s6("JSC_INVALID_TWEAK_DEFAULT_VALUE_WARNING",
oZ,new xnc("tweak {0} registered with {1} must have a default value that is a literal of type {2}"));new s6("JSC_NON_GLOBAL_TWEAK_INIT_ERROR",mZ,new xnc("tweak declaration {0} must occur in the global scope"));new s6("JSC_TWEAK_OVERRIDE_AFTER_REGISTERED_ERROR",mZ,new xnc("Cannot override the default value of tweak {0} after it has been registered"));Zmb=new s6("JSC_TWEAK_WRONG_GETTER_TYPE_WARNING",oZ,new xnc("tweak getter function {0} used for tweak registered using {1}"));new s6("JSC_INVALID_TWEAK_ID_ERROR",
mZ,new xnc("tweak ID contains illegal characters. Only letters, numbers, _ and . are allowed"));Ymb=new xwc;for(b=(inb(),vD(qD(CM,1),gDc,96,0,[fnb,gnb,hnb,enb,bnb,anb,cnb,dnb])),c=0,d=b.length;c<d;++c){a=b[c];Gnc(Ymb,a.a,a)}}function byb(a,b,c){var d,e,f,g,h,i,j,k,l,m;g=ryb(a);switch(a.Fh()){case 0:return b.a+="bottom",b;case -1:return b.a+="*",b;case ICc:return b.a+="?",b;case aJc:return b.a+="unresolved",b;default:g&&(b.a+="(",b);m=a.Fh();e=true;for(l=1;l!=512;l<<=1)if((m&l)!=0){e||(b.a+="|",b);
e=false;switch(l){case 8:case 16:b.a+=(m&24)==24?ECc:l==8?nFc:mFc;m&=-25;continue;case 32:b.a+=KCc;m&=-33;continue;case 64:b.a+=FCc;m&=-65;continue;case 128:b.a+=HCc;m&=-129;continue;case 256:b.a+=_Gc;m&=-257;continue;case 1:Wmc(b,cDb(a.Rh()));m&=-2;continue;case 2:{f=-1!=a.Fh()&&(a.Fh()&32)!=0;if(a.Ih().size()==1&&!f)PBb(Ps(a.Ih().Pd()),b,c);else{k=new qAc;for(i=a.Ih().Pd();i.Jd();){h=i.Kd();j=PBb(h,new $mc,c).a;f&&(qCc(0,j.length),j.charCodeAt(0)==33)&&(j=j.substr(1));k.a.put(j,(gkc(),ekc))==null}Gc(_xb,
b,k.a.keySet().Pd())}m&=-3;continue}case 4:{if(a.Ch().size()==1)Wmc(b,Ps(a.Ch().Pd()).Uj);else{k=new qAc;for(d=a.Ch().Pd();d.Jd();){d.Kd();oAc(k,null.Uj)}Gc(_xb,b,k.a.keySet().Pd())}m&=-5;continue}default:throw CV(new dkc("Impossible: "+l));}}if(m==0);else m==512?(b.a+="truthy",b):m==mHc?(b.a+="falsy",b):Rmc((b.a+="Unrecognized type: ",b),m);g&&(b.a+=")",b);return b}}function U9(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;Ebb();T0(a.c,vGc,false);a.k=false;i=Y1b(f2b(lab(a.c,false)),false);++E9;a.p=b.b?
b.b.f:null;H2b(b,a.p,i);dkb(i,a.c);q=G2b(b,b.g,59);q!=b.g&&(b.g=q);j=b.k;k=a.a?j.gi().Mh():null;r=a.u;if(a.a){k.Xh()&&(r=k.yh().hi().Oh().getAtIndex(0));H9(a,i,r)}g=K1b(g2b(b,29));t1b(g,(vn(),new Py(nGc)));l=n0b(g);p=G2b(b,b.g,29);p!=b.g&&(b.g=p);!!l&&(b.g=new U3b(29,l,b.g));R1b(a.p,oZb(dab(a,cZb(dab(a,(ce(lmc(qHc,Hmc(46))==-1,NEc,qHc),new g4b((w7b(),o6b),qHc))),dab(a,new P3b(-1))))));a.g=f2b(N9(a,i,Z4b));a.n=i.b;Lib();Pjb(a.p,vHc,(ye(),ve))&&P1b(a.n.e,lZb(hab(a,(ce(lmc(vHc,Hmc(46))==-1,NEc,vHc),
new g4b(o6b,vHc))),hab(a,(ce(lmc(BGc,Hmc(46))==-1,NEc,BGc),new g4b(o6b,BGc))),q7b),a.n);Pjb(a.p,wHc,ve)&&P1b(a.n.e,lZb(hab(a,(ce(lmc(wHc,Hmc(46))==-1,NEc,wHc),new g4b(o6b,wHc))),hab(a,new g3b(h7b)),q7b),a.n);while(a.p.b){a.f=F2b(a.p);d=Q9(a);if(d){if(e2b(a.f,66)!=0)h=pE(a.f.b.pi());else{h=E9;++E9}o=a.g.e;m=bab(a,hZb(dab(a,new P3b(h)),(f=new g3b(U4b),f)));a.g=m.b?m.b.f:null;if(o.j==k7b){o=!o.e?null:o.e.e;if(a.d.a.length!=0){n=VZb((e=new g3b(U4b),e),Y1b(Cqc(a.d,0).a,false));R1b(m.b?m.b.f:null,n);a.g=
f2b(m.b?m.b.f:null).b}}P1b(o.e,m,o)}}f3b(c,c);N1(a.c,i)}function jdb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n;h=c.e;f=false;k=(Kdb(),Idb);j=true;switch(c.j.f){case 86:case 87:case 91:case 98:g=null;h.j==(w7b(),B6b)?g=ldb(a,c):h.j==b5b&&(g=(l=c.e,Zd(l.j==b5b),m=(Lib(),n=djb(l.e),!n?null:h2b(n)),m==null?null:m+"."+c.qi()));if(g==null)return;f=true;switch(c.j.f){case 98:k=ndb(a,c.b);c.e.j==b5b&&e2b(c,58)==0&&(j=false);break;case 91:k=ndb(a,c.b);break;case 86:k=Gdb;break;case 87:k=Jdb;break;default:throw CV(new llc("unexpected:"+
c));}break;case 29:switch(h.j.f){case 76:case 100:case 88:f=true;i=c.b;k=!i?Idb:ndb(a,i);break;case 47:if(h.b==c){f=true;k=ndb(a,c.d)}break;case 26:return;case 65:d=h.e;if(!d||(Lib(),h.j==(w7b(),G5b)&&!(h.j==G5b&&zjb(h.e)&&h.j==G5b&&Ujb(h.b))&&!Njb(h)))return;f=true;k=Fdb;break;case 78:case 63:case 93:case 64:f=true;k=Idb;break;case 96:if(h.b==c){f=true;k=Edb}break;default:if(rjb(h)&&h.b==c){f=true;k=Idb}}g=c.qi();break;case 26:if(h)switch(h.j.f){case 47:if(h.b==c){f=true;k=ndb(a,c.d)}break;case 63:case 64:f=
true;k=Idb;break;case 26:return;default:if(rjb(h)&&h.b==c){f=true;k=Idb}}if(!t2b(c))return;g=h2b(c);break;default:return}if(!hdb(a.a,g,b))return;if(f){e=Sob(b);!e.c?qdb(a,c,h,g,k,j):rdb(a,c,h,g,j)}else odb(a,c,h,g)}function EGb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;g=b.j==(TUb(),QUb);i=b.j==SUb;e=b.j==PUb;f=b.e;h=b.f;j=b.c.p==(gXb(),XVb);h&&lFb(a.a,b,(bMb(),CLb));i&&lFb(a.a,b,(bMb(),KLb));e&&lFb(a.a,b,(bMb(),mLb));f&&lFb(a.a,b,(bMb(),nLb));g&&(a.a.e=bLb(a.a.e,vD(qD(YO,1),gDc,25,0,[(bMb(),
pLb)])));l=b.k;if(l)m=(s=dFb(a.a,l.b),lGb(a,l),t=rFb(a.a,(w7b(),o6b),l.a),!!s&&(u=G2b(t,t.g,29),u!=t.g&&(t.g=u),!!s&&(t.g=new U3b(29,s,t.g)),t),DFb(t,l.b.b,l.b.a),t);else{if(g||i){a.a.d.kh("unnamed function statement",a.a.r,(_Eb(),b.o.b.b+1),b.o.b.a);m=rFb(a.a,(w7b(),o6b),"__missing_name__")}else m=rFb(a.a,(w7b(),o6b),"");p3b(m.i)==-1&&DFb(m,b.o.b,b.o.a)}n=mFb(a.a,(w7b(),G5b));i&&m.vi("");R1b(n,m);gGb(a,n.b,b.d);R1b(n,FFb(a.a,b.b));hGb(a,n,b.n);d=FFb(a.a,b.c);if(!e&&!j&&d.j!=U4b){Zd(a.a.a.b==1);d=
(c=new g3b(U4b),c)}nGb(d);R1b(n,d);p=G2b(n,n.g,59);p!=n.g&&(n.g=p);(h?1:0)!=0&&(n.g=new K3b(59,h?1:0,n.g));Zd(n.j==G5b);q=G2b(n,n.g,60);q!=n.g&&(n.g=q);(e?1:0)!=0&&(n.g=new K3b(60,e?1:0,n.g));Zd(n.j==G5b);r=G2b(n,n.g,61);r!=n.g&&(n.g=r);(f?1:0)!=0&&(n.g=new K3b(61,f?1:0,n.g));B2b(n,80,b.g);if(i){p3b(n.i)==-1&&DFb(n,b.o.b,b.o.a);k=rFb(a.a,j6b,l.a);R1b(k,n);U2b(k,b.i);fGb(a,b,k,b.a);L2b(n,g2b(n,78));o=k}else o=n;return o}function IYb(a,b){var c,d,e,f,g,h,i,j,k,l,m;c=false;e=false;f=true;g=false;i=false;
j=false;l=false;h=true;k=true;d=true;switch(a.b){case 99:case 67:case 116:case 84:h=false;break;case 103:case 71:c=e=g=j=l=true;break;case 102:c=e=g=i=j=true;l=true;break;case 101:case 69:c=g=i=j=l=true;break;case 97:case 65:c=i=j=l=true;break;case 100:c=e=g=j=l=true;h=false;break;case 111:case 120:case 88:i=l=true;b==null&&(c=g=j=true);h=false;break;case 110:f=false;d=h=k=false;break;case 37:d=false;h=false;break;case 115:case 83:case 98:case 66:case 104:case 72:break;default:throw CV(new yC("unknownFormatConversionException"));
}m=null;!c&&a.d?m="+":!e&&a.e?m=",":!f&&a.f?m="-":!g&&a.g?m="(":!i&&a.i?m="#":!j&&a.j?m=" ":!l&&a.k&&(m="0");if(m!=null)if(a.b==110)throw CV(new yC("IllegalFormatFlagsException:"+m));else throw CV(new yC("FormatFlagsConversionMismatchException:"+m+","+gE(a.b)));if((a.f||a.k)&&a.p==-1)throw CV(new eYb("-"+gE(a.b)));if(!d&&a.a!=-1)throw CV(new aYb(a.o?a.o.a:""));if(!h&&a.n!=-1)throw CV(new bYb(a.n));if(!k&&a.p!=-1)throw CV(new cYb(a.p));if(a.d&&a.j)throw CV(new aYb("the '+' and ' ' flags are incompatible"));
if(a.f&&a.k)throw CV(new aYb("the '-' and '0' flags are incompatible"));}function dJb(a){var b,c,d,e;a.p=0;for(;;){for(;;){a.a=-1;b=aJb(a);if(b==-1)return YIb(),JIb;else if(b==10)return YIb(),KIb;else{D7b();if(!(b<=127?b==32||b==9||b==12||b==11:b==160))break}}switch(b){case 64:do{b=aJb(a);if(b<=90?65<=b:97<=b&&b<=122)_Ib(a,b);else{a.q[a.r++]=b;--a.b;a.n=(e=Nmc(a.o,0,a.p),jCc(e),e);a.p=0;return YIb(),DIb}}while(true);case 42:return fJb(a)?(YIb(),IIb):(YIb(),WIb);case 44:return YIb(),GIb;case 62:return YIb(),
SIb;case 40:return YIb(),OIb;case 41:return YIb(),UIb;case 123:return YIb(),NIb;case 125:return YIb(),TIb;case 91:return YIb(),PIb;case 93:return YIb(),VIb;case 63:return YIb(),RIb;case 33:return YIb(),EIb;case 58:return YIb(),FIb;case 61:return YIb(),LIb;case 124:return YIb(),QIb;case 60:return YIb(),MIb;case 46:b=aJb(a);if(b==60)return YIb(),MIb;else{if(b==46){b=aJb(a);if(b==46)return YIb(),HIb;else _Ib(a,46)}a.q[a.r++]=b;b=46}default:{c=b;_Ib(a,b);d=aJb(a);if(kJb(d)){do{c=d;d=aJb(a);if(c==46&&
d==60){a.q[a.r++]=d;--a.b;a.q[a.r++]=c;--a.b;a.n=(e=Nmc(a.o,0,a.p),jCc(e),e);a.p=0;return YIb(),XIb}else if(kJb(d))_Ib(a,c);else{a.q[a.r++]=d;--a.b;_Ib(a,c);a.n=(e=Nmc(a.o,0,a.p),jCc(e),e);a.p=0;return YIb(),XIb}}while(true)}else{a.q[a.r++]=d;--a.b;a.n=(e=Nmc(a.o,0,a.p),jCc(e),e);a.p=0;return YIb(),XIb}}}}}function Pib(a,b,c){Lib();var d,e,f,g,h,i,j;switch(a.j.f){case 39:case 102:case 108:case 76:case 100:case 88:return true;case 43:if(b)return true;for(i=a.b;i;i=i.d)for(f=i.b;f;f=f.d)if(Pib(f,b,
c))return true;return false;case 42:case 38:if(b)return true;break;case 113:h=(Zd(!!a.b&&!a.b.d),a.b);if(h.j!=(w7b(),y4b))return true;break;case 29:if(a.b)return true;break;case 65:return b||a.j==(w7b(),G5b)&&zjb(a.e)&&a.j==G5b&&Ujb(a.b);case 96:return b||a.j==(w7b(),a5b)&&zjb(a.e)&&a.j==a5b&&Ujb(a.b)||Pib(a.b.d,b,c)||Pib(a.b?a.b.f:null,b,c);case 97:for(j=a.b;j;j=j.d)if(j.j==(w7b(),e5b)&&Pib(j.b,b,c))return true;return false;case 23:if(b)return true;if(!Qib(a))break;return true;case 28:if(!Xib(a,
c))break;return true;case 115:return Xib(a,c);case 92:case 62:case 82:case 81:case 84:case 60:case 66:case 45:case 30:case 61:case 33:case 35:case 34:case 32:case 31:case 91:case 67:case 117:case 44:case 80:case 116:break;default:if(Vjb(a.j))break;if(rjb(a)){d=a.b;if(d.j==(w7b(),o6b))return true;if(Pib(a.b,b,c)||Pib(a.b?a.b.f:null,b,c))return true;if(d.j==M5b||d.j==L5b){g=d.b;if(Vib(g,(ye(),ue)))return false;while(g.j==M5b||g.j==L5b)g=g.b;return!Ljb(g,true)}else return!Ljb(d,true)}return true}for(e=
a.b;e;e=e.d)if(Pib(e,b,c))return true;return false}function Llb(a){var b,c,d,e,f,g;Jlb(a);e=new Lqc;Bqc(e,Jo(a.I));msc();Iqc(e,new Tlb);Hc(new Kc(YDc),"\nTOTAL:","Start time(ms): "+TV(a.H),vD(qD(lT,1),bDc,1,5,["End time(ms): "+TV(a.i),"Wall time(ms): "+TV(PV(a.i,a.H)),"Passes runtime(ms): "+a.F,"Max mem usage (measured after each pass)(MB): "+a.C,"#Runs: "+a.G,"#Changing runs: "+a.c,"#Loopable runs: "+a.B,"#Changing loopable runs: "+a.A,"Estimated AST reduction(#nodes): "+a.a,"Estimated Reduction(bytes): "+
a.g,"Estimated GzReduction(bytes): "+a.p,"Estimated AST size(#nodes): "+a.b,"Estimated Size(bytes): "+a.e,"Estimated GzSize(bytes): "+a.o]));Hc(new Kc(YDc),"\n\nInputs:","JS lines:   "+a.t,vD(qD(lT,1),bDc,1,5,["JS sources: "+a.v,"Extern lines:   "+a.j,"Extern sources: "+a.k+"\n\n"]));for(c=new grc(e);c.a<c.c.a.length;){b=erc(c);d=b.ce();f=b.de();wYb("%s,%d,%d,%d,%d,%d,%d,%d\n",vD(qD(lT,1),bDc,1,5,[d,Nlc(f.n),Blc(f.a),Blc(f.k),Blc(f.d),Blc(f.b),Blc(f.e),Blc(f.f)]))}Hc(new Kc(YDc),"Log:","pass,runtime,allocMem,codeChanged,astReduction,reduction,gzReduction,astSize,size,gzSize\n",
vD(qD(lT,1),bDc,1,5,[]));for(g=new grc(a.w);g.a<g.c.a.length;){f=erc(g);wYb("%s,%d,%d,%b,%d,%d,%d,%d,%d,%d\n",vD(qD(lT,1),bDc,1,5,[f.j,Nlc(f.n),Blc(f.a),(gkc(),f.d==1?true:false),Blc(f.b),Blc(f.e),Blc(f.f),Blc(f.c),Blc(f.o),Blc(f.g)]))}}function r9(a,b,c,d,e,f){var g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;t=nHc+a.b++;s=f3b(lZb((ce(lmc(t,Hmc(46))==-1,NEc,t),new g4b((w7b(),o6b),t)),$1b(d),q7b),c);if(e.j==f5b){m=new I1b(false);y0b(m);N2b(s,n0b(m))}Q1b(f.e,s,f);for(g=c.b;g;g=r){r=g.d;if(g.j==_6b){if(!g.b){n=FZb(g.qi());
e3b(n,g);R1b(g,n)}j=new k3b(g.si()?L5b:M5b,(ce(lmc(t,Hmc(46))==-1,NEc,t),new g4b(o6b,t)),QZb(g.qi()));u=F2b(g);if(u.j==l5b){o=F2b(u);h=F2b(u);q=vZb(PZb(j,(ce(lmc(_Gc,Hmc(46))==-1,NEc,_Gc),new g4b(o6b,_Gc))),h,Y1b(j,false))}else{o=u;q=j}}else if(g.j==e5b)if((g.b?g.b.f:null).j==l5b){o=F2b(g.b?g.b.f:null);i=sZb((ce(lmc(t,Hmc(46))==-1,NEc,t),new g4b(o6b,t)),F2b(g));l=nHc+a.b++;k=lZb((ce(lmc(l,Hmc(46))==-1,NEc,l),new g4b(o6b,l)),i,q7b);f3b(k,g);Q1b(f.e,k,f);q=A9((ce(lmc(l,Hmc(46))==-1,NEc,l),new g4b(o6b,
l)),F2b(g.b?g.b.f:null))}else{q=sZb((ce(lmc(t,Hmc(46))==-1,NEc,t),new g4b(o6b,t)),F2b(g));o=F2b(g)}else if(g.j==l5b){o=F2b(g);h=F2b(g);j=tZb((ce(lmc(t,Hmc(46))==-1,NEc,t),new g4b(o6b,t)),QZb(o.qi()));q=vZb(PZb(j,(ce(lmc(_Gc,Hmc(46))==-1,NEc,_Gc),new g4b(o6b,_Gc))),h,Y1b(j,false))}else throw CV(new llc("unexpected child"));Lib();if(!!e&&(e.j==q7b||e.j==g6b||e.j==f5b))p=lZb(o,q,e.j);else if(e.j==B4b)p=oZb(cZb(o,q));else throw CV(new llc("not reached"));f3b(p,g);Q1b(f.e,p,f);u9(a,b,o,o.e)}$1b(f);qib(b)}
function Eab(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;Ld(d.j==(w7b(),m6b),d);if(e2b(c,63)!=0){e=c.b;q=null;(e.j==G5b||e.j==a5b)&&(q=(Lib(),s=djb(e),!s?null:h2b(s)));if(q!=null){f=$1b(e);H2b(d,c,f);Exc(a.d,cFc,new Sab(q,e))}else{w=lZb((ce(lmc(GHc,Hmc(46))==-1,NEc,GHc),new g4b(o6b,GHc)),F2b(c),q7b);N2b(w,g2b(e,29));v=G2b(e,e.g,29);v!=e.g&&(e.g=v);f3b(w,c);H2b(d,c,w);Exc(a.d,cFc,new Sab(GHc,e))}}else if(e2b(c,64)!=0)L1(a.c,sfb(c,(Ebb(),Dbb),vD(qD(qT,1),NCc,2,6,["Wildcard export"])));else if(!!c.b&&
!!c.b.d&&c.b.d==(c.b?c.b.f:null)){o=c.b?c.b.f:null;m=xZb(new g3b(r5b),new g3b(r5b),o.oi(false));c3b(m,c);Q1b(d,m,c);Dab(a,b,m,d);u=Tub(U2((!b.d&&!!b.g&&(b.d=_0(b.c,b.g)),b.d)),o.qi(),(k=g2b(c,51),!k?null:k.Hg()),p3b(c.i),o3b(c.i));!u&&(u=Uub(U2((!b.d&&!!b.g&&(b.d=_0(b.c,b.g)),b.d)),o.qi()));p=lvb(u.a);for(i=W1b(c.b).Pd();i.Jd();){h=i.Kd();r=h.b.qi();j=(h.b?h.b.f:null).qi();Exc(a.d,j,new Sab(p+"."+r,h))}D2b(d,c)}else{if(c.b.j==A5b){for(i=W1b(c.b).Pd();i.Jd();){h=i.Kd();t=h.b;Exc(a.d,!!h.b&&!!h.b.d&&
h.b.d==(h.b?h.b.f:null)?(h.b?h.b.f:null).qi():t.qi(),new Sab(t.qi(),h))}D2b(d,c)}else{g=c.b;l=g.b;for(n=l;n;n=n.d){if(n.j!=o6b)break;if(g.j==a5b&&n!=l)break;q=n.qi();Exc(a.d,q,new Sab(q,n));g.j==a5b&&Cwc(a.b,q);!!g2b(g,29)&&(g2b(g,29).a&wGc)==LCc&&Cwc(a.g,q)}H2b(d,c,$1b(g))}qib(b)}}function Hcb(){Hcb=bW;wcb=new s6("JSC_EXTENDS_WITHOUT_TYPEDEF",(pZ(),oZ),new xnc("@extends used without @constructor or @interface for {0}"));vcb=new s6("JSC_EXTENDS_NON_OBJECT",oZ,new xnc("{0} @extends non-object type {1}"));
Acb=new s6("JSC_RESOLVED_TAG_EMPTY",oZ,new xnc("Could not resolve type in {0} tag of {1}"));xcb=new s6("JSC_IMPLEMENTS_WITHOUT_CONSTRUCTOR",oZ,new xnc(MHc));ucb=new s6("JSC_CONSTRUCTOR_REQUIRED",oZ,new xnc("{0} used without @constructor for {1}"));Gcb=new s6("JSC_VAR_ARGS_MUST_BE_LAST",oZ,new xnc("variable length argument must be last"));zcb=new s6("JSC_OPTIONAL_ARG_AT_END",oZ,new xnc("optional arguments must be at the end"));ycb=new s6("JSC_INEXISTENT_PARAM",oZ,new xnc(NHc));Fcb=new s6("JSC_TYPE_REDEFINITION",
oZ,new xnc("attempted re-definition of type {0}\nfound   : {1}\nexpected: {2}"));Ccb=new s6("JSC_TEMPLATE_TYPE_DUPLICATED",oZ,new xnc("Only one parameter type must be the template type"));Dcb=new s6("JSC_TEMPLATE_TYPE_EXPECTED",oZ,new xnc("The template type must be a parameter type"));Ecb=new s6("JSC_THIS_TYPE_NON_OBJECT",oZ,new xnc("@this type of a function must be an object\nActual type: {0}"));Bcb=new s6("JSC_SAME_INTERFACE_MULTIPLE_IMPLEMENTS",oZ,new xnc("Cannot @implement the same interface more than once\nRepeated interface: {0}"));
new J5(vD(qD(lK,1),bDc,5,0,[wcb,vcb,Acb,xcb,ucb,Gcb,zcb,ycb,Fcb,Ccb,Dcb,Ecb,Bcb]))}function A1(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;b=a.M._!=(Q3(),N3);_1b(a.q);_1b(a.C);t=(a.M.rd!=(H4(),E4)&&!!a.W&&Qlb(a.W,KFc,true),new zqb);try{for(f=new grc(a.o);f.a<f.c.a.length;){d=erc(f);m=S2(d,a);if(a.j.a.d>0)return null;R1b(a.q,m)}if(ZKb(s4(a.M.Ub),(bMb(),MLb))){a.H=new Lub(a.M.bc,a.A,($ub(),Zub),a.M.ac,null);a.M.ac==(evb(),dvb)&&(a.H=new Lub(a.M.bc,a.A,Zub,a.M.ac,H1(a,a.A)))}else a.H=(Hub(),Dub);
if(a.M.$.b)U0(a,ZKb(s4(a.M.Ub),MLb));else if(E3(a.M,(XKb(),QKb))){ZKb(s4(a.M.Ub),MLb)&&B1(a,a.A);j=new xwc;for(g=a.A.Pd();g.Jd();){d=g.Kd();if(c3(d.c?d.c.c:(Sn(),Sn(),Rn),d.d).isEmpty()){l=Iub(a.H,d.a.Kg().b);Gnc(j,lvb(l.a),d)}}k=new xwc;for(h=a.A.Pd();h.Jd();){d=h.Kd();for(p=c3(d.c?d.c.d:(Sn(),Sn(),Rn),d.e).Pd();p.Jd();){o=p.Kd();(o==null?!!Xwc(j.d,null):mxc(j.e,o))&&!(o==null?!!Xwc(k.d,null):mxc(k.e,o))&&Gnc(k,o,o==null?Ii(Xwc(j.d,null)):nxc(j.e,o))}}for(i=(n=(new Loc(k)).a.Xd().Pd(),new Qoc(n));i.a.Jd();){d=
(c=i.a.Kd(),c.de());Y2(d,(u3(),r3))}}!!a.H&&Jub(a.H,a);y1(a);if(a.j.a.d>0)return null;for(e=a.A.Pd();e.Jd();){d=e.Kd();m=S2(d,a);if(!m)continue;if(b){ptb(new qtb(a),a.q,a.C);if(a.j.a.d>0)return null}if(a.M.kb){r=new upb(d.g.a,a.M._!=N3);s=new yib(a,r,new nbb(a));tib(s,m)}if(Lib(),Kd(m.j==(w7b(),U6b)),u=g2b(m,29),!!u&&(u.a&16)!=0){X2(d);R1b(a.q,m)}else R1b(a.C,m)}if(a.j.a.d>0)return null;return a.k}finally{N0(a);q=PV(IV(Date.now()),t.a);a.M.rd!=E4&&!!a.W&&Rlb(a.W,KFc,q)}}function F_b(a,b){var c,d,
e,f,g,h,i,j;if(!a&&!b)return true;if(!a||!b)return false;if(!vyc(E$b(a),E$b(b)))return false;for(h=E$b(a).Pd();h.Jd();){g=h.Kd();if(!vyc(F$b(a,g),F$b(b,g)))return false}if((!a.b||!a.b.d?(Sn(),Sn(),Rn):a.b.d).size()!=(!b.b||!b.b.d?(Sn(),Sn(),Rn):b.b.d).size())return false;c=(!a.b||!a.b.d?(Sn(),Sn(),Rn):a.b.d).Pd();d=(!b.b||!b.b.d?(Sn(),Sn(),Rn):b.b.d).Pd();while(c.Jd())if(!U_b(c.Kd(),d.Kd()))return false;return vyc(!a.b?null:a.b.a,!b.b?null:b.b.a)&&vyc(!a.d?null:a.d.a,!b.d?null:b.d.a)&&(!a.b?null:
a.b.b)==(!b.b?null:b.b.b)&&(!a.b?null:a.b.c)==(!b.b?null:b.b.c)&&vyc(y$b(a),y$b(b))&&vyc((wGc&a.a)==OHc?a.i:null,(wGc&b.a)==OHc?b.i:null)&&vyc(w$b(a),w$b(b))&&(!a.d?null:a.d.g)==(!b.d?null:b.d.g)&&(!a.d?null:a.d.i)==(!b.d?null:b.d.i)&&(!a.d?null:a.d.j)==(!b.d?null:b.d.j)&&vyc((f=!a.d?null:a.d.k,!f?(msc(),msc(),lsc):f),(e=!b.d?null:b.d.k,!e?(msc(),msc(),lsc):e))&&(!a.b?null:a.b.i)==(!b.b?null:b.b.i)&&vyc(!a.d?null:Blc(a.d.o),!b.d?null:Blc(b.d.o))&&vyc(!a.b?null:a.b.g,!b.b?null:b.b.g)&&(!a.b?null:a.b.f)==
(!b.b?null:b.b.f)&&vyc((wGc&a.a)==HDc?a.i:null,(wGc&b.a)==HDc?b.i:null)&&vyc((j=!a.d?null:a.d.p,!j?(msc(),msc(),lsc):j),(i=!b.d?null:b.d.p,!i?(msc(),msc(),lsc):i))&&vyc(H$b(a),H$b(b))&&vyc(a.g,b.g)&&vyc(I$b(a),I$b(b))&&vyc((wGc&a.a)==LCc?a.i:null,(wGc&b.a)==LCc?b.i:null)&&vyc((wGc&a.a)==xGc?a.i:null,(wGc&b.a)==xGc?b.i:null)&&(!a.b?null:a.b.k)==(!b.b?null:b.b.k)&&vyc(a.j,b.j)&&a.a==b.a}function Gob(){Gob=bW;yob=new s6("JSC_PARSE_ERROR",(pZ(),mZ),new xnc(GIc));Dob=new s6("JSC_TYPE_PARSE_ERROR",oZ,new xnc(bGc));
Fob=new s6("JSC_UNRECOGNIZED_TYPE_ERROR",oZ,new xnc(bGc));vob=new s6("JSC_JSDOC_MISSING_BRACES_WARNING",nZ,new xnc(bGc));wob=new s6("JSC_JSDOC_MISSING_TYPE_WARNING",nZ,new xnc(bGc));Bob=new s6("JSC_TOO_MANY_TEMPLATE_PARAMS",nZ,new xnc(bGc));Cob=new s6("JSC_TRAILING_COMMA",mZ,new xnc("Parse error. IE8 (and below) will parse trailing commas in array and object literals incorrectly. If you are targeting newer versions of JS, set the appropriate language_in option."));oob=new s6("JSC_DUPLICATE_PARAM",
mZ,new xnc(GIc));Eob=new s6("JSC_UNNECESSARY_ESCAPE",nZ,new xnc(GIc));tob=new s6("JSC_INVALID_PARAM",oZ,new xnc(GIc));nob=new s6("JSC_BAD_JSDOC_ANNOTATION",oZ,new xnc(GIc));uob=new s6("JSC_JSDOC_IN_BLOCK_COMMENT",oZ,new xnc(GIc));rob=new s6("JSC_INVALID_ES3_PROP_NAME",oZ,new xnc(HIc));zob=new s6("PARSE_TREE_TOO_DEEP",mZ,new xnc("Parse tree too deep."));sob=new s6("INVALID_OCTAL_LITERAL",oZ,new xnc("This style of octal literal is not supported in strict mode."));Aob=new s6("JSC_STRING_CONTINUATION",
oZ,new xnc(bGc));pob=new s6("ES6_FEATURE",mZ,new xnc("{0}. Use --language_in=ECMASCRIPT6 or ECMASCRIPT6_STRICT or higher to enable ES6 features."));qob=new s6("ES6_TYPED",mZ,new xnc("{0}. Use --language_in=ECMASCRIPT6_TYPED to enable ES6 typed features."));xob=new s6("MISPLACED_TYPE_SYNTAX",mZ,new xnc(IIc))}function dqb(){dqb=bW;cqb=new s6("JSC_USE_OF_WITH",(pZ(),oZ),new xnc("The 'with' statement cannot be used in strict mode."));_pb=new s6("JSC_EVAL_DECLARATION",oZ,new xnc('"eval" cannot be redeclared in strict mode'));
$pb=new s6("JSC_EVAL_ASSIGNMENT",oZ,new xnc('the "eval" object cannot be reassigned in strict mode'));Wpb=new s6("JSC_ARGUMENTS_DECLARATION",oZ,new xnc('"arguments" cannot be redeclared in strict mode'));Tpb=new s6("JSC_ARGUMENTS_ASSIGNMENT",oZ,new xnc('the "arguments" object cannot be reassigned in strict mode'));Upb=new s6("JSC_ARGUMENTS_CALLEE_FORBIDDEN",oZ,new xnc('"arguments.callee" cannot be used in strict mode'));Vpb=new s6("JSC_ARGUMENTS_CALLER_FORBIDDEN",oZ,new xnc('"arguments.caller" cannot be used in strict mode'));
bqb=new s6("JSC_FUNCTION_CALLER_FORBIDDEN",oZ,new xnc("A function''s \"caller\" property cannot be used in strict mode"));aqb=new s6("JSC_FUNCTION_ARGUMENTS_PROP_FORBIDDEN",oZ,new xnc("A function''s \"arguments\" property cannot be used in strict mode"));Xpb=new s6("JSC_BAD_FUNCTION_DECLARATION",oZ,new xnc("functions can only be declared at top level or immediately within another function in ES5 strict mode"));Ypb=new s6("JSC_DELETE_VARIABLE",oZ,new xnc("variables, functions, and arguments cannot be deleted in strict mode"));
Zpb=new s6("JSC_DUPLICATE_OBJECT_KEY",mZ,new xnc('Object literal contains illegal duplicate key "{0}", disallowed in strict mode'));new s6("JSC_DUPLICATE_CLASS_METHODS",mZ,new xnc('Class contains duplicate method name "{0}"'))}function dgb(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I,J,K;J=F2b(c);q=F2b(c);e=F2b(c);H=a.f;if(a.a){s=q.k.yh().hi();if(s){C=j1(a.c);r=C.hh((dec(),ndc));H=s.Eh(r)}}u=cgb(a,(dec(),odc),H);k=cgb(a,pdc,H);t=a.a?u.hi().Kh(oHc):null;I=g2b(J,29);o=Kbb(FZb("$jscomp$iter$"+
(""+(new H2(a.c)).a.Y++)),u);F=G2b(o,o.g,85);F!=o.g&&(o.g=F);o.g=new K3b(85,1,o.g);j=Kbb(gZb(Kbb(tZb(Y1b(o,false),hgb(a,new g4b((w7b(),$6b),oHc))),t),vD(qD(SR,1),OEc,7,0,[])),k);if(J.j==o6b){h=o6b;K=h2b(J)}else{ce((Lib(),!!J&&(J.j==q7b||J.j==g6b||J.j==f5b)),"Expected var, let, or const. Got %s",J);h=J.j;K=h2b(J.b)}p=Kbb((ce(lmc(dIc+K,Hmc(46))==-1,NEc,dIc+K),new g4b(o6b,dIc+K)),k);G=G2b(p,p.g,85);G!=p.g&&(p.g=G);p.g=new K3b(85,1,p.g);f=Jbb(a.c,q);if(a.a){v=Vob(gib(b),AHc).c.k;w=v.hi().Kh(EGc);Y2b(f.b,
w);Y2b(f.b.b,v)}m=lZb(Y1b(o,false),(Ebb(),!!u&&(f.k=u),f),q7b);n=Y1b(p,false);S1b(n,Y1b(j,false));R1b(m,n);g=ggb(a,HZb(ggb(a,tZb(Y1b(p,false),hgb(a,new g4b($6b,rHc))))));l=Kbb(cZb(Y1b(p,false),Y1b(j,false)),k);if(h==o6b){i=Kbb(cZb(Kbb(c3b((ce(lmc(K,Hmc(46))==-1,NEc,K),new g4b(o6b,K)),J),H),Kbb(tZb(Y1b(p,false),hgb(a,new g4b($6b,pHc))),H)),H);D=G2b(i,i.g,29);D!=i.g&&(i.g=D);!!I&&(i.g=new U3b(29,I,i.g));i=($d(BZb(i),i),new i3b(B5b,i))}else{i=new i3b(h,Kbb(c3b((ce(lmc(K,Hmc(46))==-1,NEc,K),new g4b(o6b,
K)),J.b),H));R1b(i.b,Kbb(tZb(Y1b(p,false),hgb(a,new g4b($6b,pHc))),H));D=G2b(i,i.g,29);D!=i.g&&(i.g=D);!!I&&(i.g=new U3b(29,I,i.g))}A=c3b(fZb(vD(qD(SR,1),OEc,7,0,[i,e])),e);B=qZb(m,g,l,A);f3b(B,c);H2b(d,c,B);N1(a.c,B)}function F6(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G;m=d.d;C=d2b(d,c);B=c.b.qi();v=(ce(lmc(B,Hmc(46))==-1,NEc,B),new g4b((w7b(),o6b),B));D=G2b(v,v.g,30);D!=v.g&&(v.g=D);v.g=new K3b(30,1,v.g);N2b(v,g2b(c,29));H2b(d,c,v);F=null;p=g2b(c,29);if(p)F=(wGc&p.a)==xGc?p.i:
null;else{n=(Lib(),r=Yib(d.e),!r?null:g2b(r,29));!!n&&(F=F$b(n,B))}!!F&&F.a.j!=q5b&&L1(a.a,sfb(c,z6,vD(qD(qT,1),NCc,2,6,[])));if(!m.b){qib(b);return}A=c3b((f=new g3b(U4b),f),m);u=(ce(lmc(B,Hmc(46))==-1,NEc,B),new g4b(o6b,B));s=f3b(lZb(u,(ce(lmc(yGc,Hmc(46))==-1,NEc,yGc),new g4b(o6b,yGc)),g6b),m);S1b(A,s);for(j=(!m.b?(msc(),msc(),lsc):new Z3b(m.b)).Pd();j.Jd();){i=j.Kd();R1b(A,$1b(i))}if(F){e=new g4b($6b,zGc);G=F.a;t=G.j==q5b?Y1b(G.b,false):Y1b(G,false);S1b(e,e3b(new i3b(U4b,t),G));h=new I1b(false);
y1b(h,new L1b(new i3b(P4b,e),(l=g2b(c,51),!l?null:l.Hg())));N2b(u,n0b(h))}w=lZb((ce(lmc(yGc,Hmc(46))==-1,NEc,yGc),new g4b(o6b,yGc)),aZb(vD(qD(SR,1),OEc,7,0,[])),q7b);S1b(m,f3b(w,c));q=lZb((ce(lmc(AGc,Hmc(46))==-1,NEc,AGc),new g4b(o6b,AGc)),new P3b(C),q7b);k=AZb((ce(lmc(AGc,Hmc(46))==-1,NEc,AGc),new g4b(o6b,AGc)),tZb((ce(lmc(BGc,Hmc(46))==-1,NEc,BGc),new g4b(o6b,BGc)),new g4b($6b,"length")));o=zZb((ce(lmc(AGc,Hmc(46))==-1,NEc,AGc),new g4b(o6b,AGc)),false);g=eZb(oZb(cZb(sZb((ce(lmc(yGc,Hmc(46))==-1,
NEc,yGc),new g4b(o6b,yGc)),TZb((ce(lmc(AGc,Hmc(46))==-1,NEc,AGc),new g4b(o6b,AGc)),new P3b(C))),sZb((ce(lmc(BGc,Hmc(46))==-1,NEc,BGc),new g4b(o6b,BGc)),(ce(lmc(AGc,Hmc(46))==-1,NEc,AGc),new g4b(o6b,AGc))))));P1b(m,f3b(qZb(q,k,o,g),c),w);R1b(m,A);N1(a.a,A)}function vFb(a,b,c){var d,e,f,g,h,i,j,k,l;l=b.a;c&&(l=umc(l,"\r\n?",YDc));k=c?0:1;e=lmc(l,Hmc(92));if(e==-1)return c?l:Amc(l,1,l.length-1);j=new $mc;while(e!=-1){j.a+=""+Amc(l==null?KCc:(jCc(l),l),k,e);e+=1;d=(qCc(e,l.length),l.charCodeAt(e));switch(d){case 98:j.a+=
"\b";break;case 102:j.a+="\f";break;case 110:j.a+=YDc;break;case 114:j.a+="\r";break;case 116:j.a+="\t";break;case 118:j.a+="\x0B";break;case 10:kFb(a,b,(bMb(),WLb));a.d.lh("String continuations are not recommended. See https://google.github.io/styleguide/javascriptguide.xml?showone=Multiline_string_literals#Multiline_string_literals",a.r,b.b.b.b+1,b.b.b.a);break;case 48:if(e+1>=l.length)break;case 49:case 50:case 51:case 52:case 53:case 54:case 55:h=(qCc(e+1,l.length),l.charCodeAt(e+1));if(a.a.e==
0||c)if(d==48&&!(h>=48&&h<=55));else a.d.lh("Octal literals in strings are not supported in this language mode.",a.r,b.b.b.b+1,b.b.b.a);if(h>=48&&h<=55){i=(qCc(e+2,l.length),l.charCodeAt(e+2));if(i>=48&&i<=55){Pmc(j,64*VFb(d)+8*VFb(h)+VFb(i)&SCc);e+=2}else{Pmc(j,8*VFb(d)+VFb(h)&SCc);e+=1}}else Pmc(j,VFb(d)&SCc);break;case 120:Pmc(j,SFb((qCc(e+1,l.length),l.charCodeAt(e+1)))*16+SFb((qCc(e+2,l.length),l.charCodeAt(e+2)))&SCc);e+=2;break;case 117:{qCc(e+1,l.length);if(l.charCodeAt(e+1)!=123){f=e+5;g=
l.substr(e+1,f-(e+1))}else{f=e+2;while(rkc((qCc(f,l.length),l.charCodeAt(f)),16)>=0)++f;g=l.substr(e+2,f-(e+2));++f}}Xmc(j,ykc(dlc(g)));e=f-1;break;case 39:case 34:case 92:default:j.a+=String.fromCharCode(d)}k=e+1;e=mmc(l,Hmc(92),k)}Umc(j,l,k,c?l.length:l.length-1);return j.a}function Z9(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;t=a.f.b;d=t.d;if(d.b){j=F2b(d.b);e=F2b(d.b)}else{j=hab(a,(ce(lmc(yHc,Hmc(46))==-1,NEc,yHc),new g4b((w7b(),o6b),yHc)));e=eZb(UZb(Y1b(j,false)));M2b(e.b)}l=d.d;i=E9++;h=
P9(a,i);k=hab(a,FZb("$jscomp$generator$"+j.qi()));S1b(a.p,h);P1b(a.p,e,h);b=hab(a,cZb(hab(a,(ce(lmc(zHc,Hmc(46))==-1,NEc,zHc),new g4b((w7b(),o6b),zHc))),Y1b(k,false)));s=fZb(vD(qD(SR,1),OEc,7,0,[($d(BZb(b),b),new i3b(B5b,b)),oZb(dab(a,cZb(dab(a,(ce(lmc(qHc,Hmc(46))==-1,NEc,qHc),new g4b(o6b,qHc))),dab(a,new P3b(i))))),jab()]));r=(Zd(k.j==o6b),Zd(s.j==U4b),new k3b(_4b,k,s));zqc(a.d,0,new xab(i,r));if(l){o=dab(a,FZb("$jscomp$generator$finally"+(""+a.j.a.Y++)));q=E9++;p=P9(a,q);n=E9++;m=P9(a,n);zib(a.c,
t,new qab(a,o,q));zib(a.c,e,new qab(a,o,q));S1b(a.p,$1b(t));P1b(a.p,p,e);P1b(a.p,$1b(l),p);P1b(a.p,m,l);S1b(a.p,mZb(Y1b(o,false),q7b));R1b(l,oZb(dab(a,cZb(dab(a,(ce(lmc(qHc,Hmc(46))==-1,NEc,qHc),new g4b(o6b,qHc))),Y1b(o,false)))));R1b(l,jab());R1b(t,oZb(dab(a,cZb(Y1b(o,false),dab(a,new P3b(n))))));R1b(t,oZb(dab(a,cZb(dab(a,(ce(lmc(qHc,Hmc(46))==-1,NEc,qHc),new g4b(o6b,qHc))),dab(a,new P3b(q))))));R1b(t,jab());R1b(e,oZb(dab(a,cZb(Y1b(o,false),dab(a,new P3b(n))))))}else{g=E9++;f=P9(a,g);P1b(a.p,f,e);
R1b(t,oZb(dab(a,cZb(dab(a,(ce(lmc(qHc,Hmc(46))==-1,NEc,qHc),new g4b(o6b,qHc))),dab(a,new P3b(g))))));R1b(t,jab());S1b(a.p,$1b(t))}S1b(e,lZb(j,hab(a,(ce(lmc(zHc,Hmc(46))==-1,NEc,zHc),new g4b(o6b,zHc))),q7b));a.g.e.j==k7b&&(a.g=c2b(a.g));R1b(a.g,VZb((c=new g3b(U4b),c),r));a.g=f2b(a.g).b;if(!a.k){a.k=true;P1b(a.n.e,mZb(hab(a,(ce(lmc(zHc,Hmc(46))==-1,NEc,zHc),new g4b(o6b,zHc))),q7b),a.n)}}function fX(a,b){var c,d,e,f,g,h,i,j,k,l,m;switch(b.j.f){case 34:case 119:case 32:case 99:case 33:case 35:d=b2b(b);
0!=d&&cY(rEc+d,b);return;case 24:case 21:case 22:case 19:case 25:case 79:case 20:case 92:e=b2b(b);1!=e&&cY(xEc+e,b);fX(a,b.b);return;case 63:case 64:c=b2b(b);1!=c&&cY(xEc+c,b);nX(a,b.b);return;case 47:f=y7b(b.j);f!=-1&&(g=b2b(b),f!=g&&cY(tEc+f+uEc+g,b));rX(a,b.j,b.b);fX(a,b.b?b.b.f:null);return;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 58:case 59:YW(a,b);return;case 60:h=b2b(b);3!=h&&cY("Expected 3 children, but was "+h,b);i=b.b;fX(a,i);fX(a,i.d);fX(a,b.b?
b.b.f:null);return;case 31:UX(b);return;case 30:FX(b);return;case 29:wX(b);return;case 27:case 46:case 61:case 62:case 1:case 2:case 3:case 4:case 5:case 36:case 37:case 6:case 8:case 7:case 9:case 41:case 40:case 10:case 11:case 12:case 14:case 13:case 15:case 17:case 16:case 18:OW(a,b);return;case 26:iX(a,b);return;case 42:MW(a,b);return;case 43:GX(a,b);return;case 38:OX(b);return;case 28:QW(a,b);return;case 113:RX(b);return;case 23:CX(a,b);return;case 65:hX(a,b,false);return;case 96:UW(a,b,false);
return;case 116:XX(a,b);return;case 115:gX(a,(bMb(),YLb),b);DX((w7b(),e7b),b);j=y7b(b.j);j!=-1&&(k=b2b(b),j!=k&&cY(tEc+j+uEc+k,b));fX(a,b.b);XX(a,b.b?b.b.f:null);return;case 102:gX(a,(bMb(),CLb),b);DX((w7b(),v7b),b);l=b2b(b);(l<0||l>1)&&cY(zEc+l,b);!!b.b&&fX(a,b.b);return;case 103:gX(a,(bMb(),nLb),b);DX((w7b(),O4b),b);m=(Lib(),$ib(b,new ykb(G5b)));(!m||!(m.j==G5b&&e2b(m,61)!=0))&&cY("'await' expression is not within an async function",b);return;default:cY("Expected expression but was "+b.j,b)}}function vwb(){vwb=
bW;mwb=new s6("JSC_INVALID_SUPPRESS",(pZ(),nZ),new xnc("@suppress annotation not allowed here. See https://github.com/google/closure-compiler/wiki/@suppress-annotations"));jwb=new s6("JSC_CONSTRUCTOR_DISALLOWED_JSDOC",nZ,new xnc("Visibility annotations on constructors are not supported.\nPlease mark the visibility on the class instead."));iwb=new s6("JSC_CLASS_DISALLOWED_JSDOC",nZ,new xnc("@constructor annotations are redundant on classes."));nwb=new s6("JSC_MISSING_JSDOC",nZ,new xnc("Function must have JSDoc."));
owb=new s6("JSC_MISSING_PARAMETER_JSDOC",nZ,new xnc("Parameter must have JSDoc."));qwb=new s6("JSC_MIXED_PARAM_JSDOC_STYLES",nZ,new xnc("Functions may not use both @param annotations and inline JSDoc"));pwb=new s6("JSC_MISSING_RETURN_JSDOC",nZ,new xnc("Function with non-trivial return must have @return JSDoc or inline return JSDoc."));rwb=new s6("JSC_MUST_BE_PRIVATE",nZ,new xnc("Property {0} must be marked @private"));swb=new s6("JSC_MUST_HAVE_TRAILING_UNDERSCORE",nZ,new xnc("Private property {0} should end with ''_''"));
twb=new s6("JSC_OPTIONAL_PARAM_NOT_MARKED_OPTIONAL",nZ,new xnc("Parameter {0} is optional so its type must end with ="));uwb=new s6("JSC_WRONG_NUMBER_OF_PARAMS",nZ,new xnc("Wrong number of @param annotations"));lwb=new s6("JSC_INCORRECT_PARAM_NAME",nZ,new xnc("Incorrect param name. Are your @param annotations in the wrong order?"));kwb=new s6("JSC_EXTERNS_FILES_SHOULD_BE_ANNOTATED",nZ,new xnc("Externs files should be annotated with @externs in the @fileoverview block."));hwb=new J5(vD(qD(lK,1),bDc,
5,0,[mwb,iwb,jwb,nwb,owb,qwb,pwb,rwb,swb,twb,uwb,lwb,kwb]))}function hNb(){hNb=bW;var a,b,c,d,e,f;kMb=new iNb("BREAK",0,"break",(xTb(),ARb));lMb=new iNb("CASE",1,"case",DRb);mMb=new iNb(EKc,2,"catch",ERb);pMb=new iNb(FKc,3,oFc,NRb);qMb=new iNb(GKc,4,qFc,ORb);sMb=new iNb(QIc,5,cFc,QRb);tMb=new iNb("DELETE",6,HKc,RRb);uMb=new iNb("DO",7,"do",SRb);vMb=new iNb("ELSE",8,"else",TRb);AMb=new iNb(IKc,9,YEc,bSb);BMb=new iNb("FOR",10,"for",cSb);CMb=new iNb(SHc,11,GCc,dSb);DMb=new iNb("IF",12,"if",gSb);GMb=
new iNb("IN",13,"in",jSb);HMb=new iNb(uKc,14,rIc,kSb);OMb=new iNb("NEW",15,"new",vSb);UMb=new iNb(FJc,16,ZEc,TSb);XMb=new iNb(JKc,17,"switch",fTb);YMb=new iNb(GJc,18,jFc,jTb);ZMb=new iNb("THROW",19,"throw",kTb);_Mb=new iNb("TRY",20,"try",nTb);bNb=new iNb(KKc,21,qIc,pTb);cNb=new iNb("VAR",22,"var",sTb);dNb=new iNb("VOID",23,rFc,tTb);eNb=new iNb("WHILE",24,iFc,uTb);fNb=new iNb("WITH",25,"with",vTb);nMb=new iNb(RHc,26,fFc,FRb);oMb=new iNb("CONST",27,oGc,MRb);wMb=new iNb(wJc,28,tFc,VRb);xMb=new iNb(yJc,
29,bFc,$Rb);yMb=new iNb(xJc,30,gFc,_Rb);FMb=new iNb(LKc,31,eFc,iSb);WMb=new iNb(wKc,32,kFc,eTb);EMb=new iNb(zJc,33,hFc,hSb);IMb=new iNb(AJc,34,sFc,lSb);LMb=new iNb("LET",35,"let",pSb);QMb=new iNb(BJc,36,IJc,GSb);RMb=new iNb(CJc,37,JJc,OSb);SMb=new iNb(DJc,38,KJc,PSb);TMb=new iNb(EJc,39,LJc,QSb);VMb=new iNb("STATIC",40,MJc,cTb);gNb=new iNb("YIELD",41,"yield",wTb);PMb=new iNb(cJc,42,KCc,zSb);$Mb=new iNb(MKc,43,nFc,mTb);zMb=new iNb(NKc,44,mFc,aSb);rMb=new iNb(OKc,45,wFc,PRb);aNb=new iNb(HJc,46,vFc,oTb);
MMb=new iNb("MODULE",47,VEc,tSb);NMb=new iNb(PKc,48,uFc,uSb);a=(Io(),new ir);b=new Gvc(jP);for(d=pNb(),e=0,f=d.length;e<f;++e){c=d[e];fr(a,c.b,c);Dvc(b,c.a,c)}JMb=Wo(a.b);KMb=ew(b)}function Q9(a){var b,c,d,e;if(a.f.j==(w7b(),q7b)){$9(a);return false}else if(e2b(a.f,66)!=0){a.e.a.length!=0&&Cqc(a.e,0).a==a.f.b.pi()&&Fqc(a.e,0);a.d.a.length!=0&&Cqc(a.d,0).b==a.f.b.pi()&&Fqc(a.d,0);return true}else if(a.f.j==G5b){P1b(a.n.e,a.f,a.n);return false}else if(a.f.j==U4b){R9(a);return false}else if(I9(a,a.f))switch(a.f.j.f){case 70:case 71:case 72:X9(a,
null);return false;case 73:T9(a);return false;case 83:W9(a);return false;case 67:Y9(a);return false;case 66:if(e2b(a.f,67)==0){V9(a);return false}break;case 44:Z9(a);return false;case 84:if(a.f.b.j==v7b){R1b(a.g,oZb(dab(a,cZb(dab(a,(ce(lmc(qHc,Hmc(46))==-1,NEc,qHc),new g4b(o6b,qHc))),dab(a,new P3b(E9))))));b=a.f.b;c=b.b?F2b(b):gab(a,(ce(lmc(_Gc,Hmc(46))==-1,NEc,_Gc),new g4b(o6b,_Gc)));R1b(a.g,NZb((d=K9(a,(dec(),pdc),c.k),Kbb(IZb(vD(qD(SR,1),OEc,7,0,[MZb(new g4b(_6b,pHc),c),MZb(new g4b(_6b,rHc),cab(a,
new g3b(C5b)))])),d))));return true}break;case 0:R1b(a.g,oZb(dab(a,cZb(dab(a,(ce(lmc(qHc,Hmc(46))==-1,NEc,qHc),new g4b(o6b,qHc))),dab(a,new P3b(-1))))));R1b(a.g,NZb(L9(a,a.f.b?F2b(a.f):gab(a,(ce(lmc(_Gc,Hmc(46))==-1,NEc,_Gc),new g4b(o6b,_Gc))))));return false;case 75:Zd(Cqc(a.e,0).b!=-1);a.f.b?e=M9(a,F2b(a.f).qi()).b:e=Cqc(a.e,0).b;R1b(a.g,oZb(dab(a,cZb(dab(a,(ce(lmc(qHc,Hmc(46))==-1,NEc,qHc),new g4b(o6b,qHc))),dab(a,new P3b(e))))));R1b(a.g,jab());return false;case 74:if(e2b(a.f,67)==0){S9(a);return false}break;
case 39:R1b(a.g,oZb(dab(a,cZb(dab(a,(ce(lmc(qHc,Hmc(46))==-1,NEc,qHc),new g4b(o6b,qHc))),dab(a,new P3b(-1))))));R1b(a.g,a.f);return false;default:throw CV(new yC("Untranslatable control-exiting statement in generator function: "+a.f.j));}R1b(a.g,a.f);return false}function w3b(a){switch(a){case 30:return"var_args_name";case 29:return"jsdoc_info";case 32:return"incrdecr";case 36:return"quoted";case 37:return"opt_arg";case 38:return"synthetic";case 39:return"added_block";case 40:return"originalname";
case 42:return"side_effect_flags";case 43:return"is_constant_name";case 46:return"is_namespace";case 48:return"directives";case 49:return"direct_eval";case 50:return"free_call";case 51:return"source_file";case 53:return"input_id";case 54:return"slash_v";case 55:return"inferred";case 56:return"change_time";case 57:return"reflected_object";case 58:return"static_member";case 59:return"generator_fn";case 60:return"arrow_fn";case 61:return"async_fn";case 62:return"yield_all";case 63:return"export_default";
case 64:return"export_all_from";case 65:return"is_constant_var";case 66:return"is_generator_marker";case 67:return"is_generator_safe";case 71:return"raw_string_value";case 72:return"computed_prop_method";case 73:return"computed_prop_getter";case 74:return"computed_prop_setter";case 75:return"computed_prop_variable";case 76:return"analyzed_during_gti";case 77:return"constant_property_def";case 78:return"declared_type_expr";case 79:return"type_before_cast";case 80:return"opt_es6_typed";case 81:return"generic_type";
case 82:return hFc;case 83:return"construct_signature";case 84:return"access_modifier";case 85:return"non_indexable";case 86:return"parse_results";case 87:return"goog_module";case 88:return"goog_module_require";case 89:return"feature_set";case 90:return"is_module_name";case 91:return"was_previously_provided";case 92:return"is_es6_class";case 93:return"transpiled";case 94:return"DELETED";case 95:return"goog_module_alias";case 96:return"is_unused_parameter";default:throw CV(new llc("unexpected prop id "+
a));}}function WY(){WY=bW;PY=new s6("JSC_DEPRECATED_VAR",(pZ(),nZ),new xnc("Variable {0} has been deprecated."));QY=new s6("JSC_DEPRECATED_VAR_REASON",nZ,new xnc("Variable {0} has been deprecated: {1}"));RY=new s6("JSC_DEPRECATED_PROP",nZ,new xnc("Property {0} of type {1} has been deprecated."));SY=new s6("JSC_DEPRECATED_PROP_REASON",nZ,new xnc("Property {0} of type {1} has been deprecated: {2}"));NY=new s6("JSC_DEPRECATED_CLASS",nZ,new xnc("Class {0} has been deprecated."));OY=new s6("JSC_DEPRECATED_CLASS_REASON",
nZ,new xnc("Class {0} has been deprecated: {1}"));GY=new s6("JSC_BAD_PACKAGE_PROPERTY_ACCESS",mZ,new xnc("Access to package-private property {0} of {1} not allowed here."));HY=new s6("JSC_BAD_PRIVATE_GLOBAL_ACCESS",mZ,new xnc("Access to private variable {0} not allowed outside file {1}."));IY=new s6("JSC_BAD_PRIVATE_PROPERTY_ACCESS",oZ,new xnc("Access to private property {0} of {1} not allowed here."));JY=new s6("JSC_BAD_PROTECTED_PROPERTY_ACCESS",oZ,new xnc("Access to protected property {0} of {1} not allowed here."));
new s6("JSC_BAD_PROPERTY_OVERRIDE_IN_FILE_WITH_FILEOVERVIEW_VISIBILITY",mZ,new xnc("Overridden property {0} in file with fileoverview visibility {1} must explicitly redeclare superclass visibility"));UY=new s6("JSC_PRIVATE_OVERRIDE",oZ,new xnc("Overriding private property of {0}."));TY=new s6("JSC_EXTEND_FINAL_CLASS",mZ,new xnc("{0} is not allowed to extend final class {1}."));VY=new s6("JSC_VISIBILITY_MISMATCH",oZ,new xnc("Overriding {0} property of {1} with {2} property."));LY=new s6("JSC_CONSTANT_PROPERTY_REASSIGNED_VALUE",
oZ,new xnc("constant property {0} assigned a value more than once"));KY=new s6("JSC_CONSTANT_PROPERTY_DELETED",oZ,new xnc("constant property {0} cannot be deleted"));MY=new s6("JSC_CONVENTION_MISMATCH",oZ,new xnc("Declared access conflicts with access convention."))}function M8(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I,J,K,L,M,N,O;if(Knc(a.c.c)==0)return;for(p=(C=(new Boc(a.c)).a.Xd().Pd(),new Hoc(C));p.a.Jd();){o=(g=p.a.Kd(),g.ce());r=Dxc(a.c,o);u=IZb(vD(qD(SR,1),OEc,7,0,
[]));for(O=(D=(new Boc(r.b.a)).a.Xd().Pd(),new Hoc(D));O.a.Jd();){M=(f=O.a.Kd(),f.ce());R1b(u,SZb(M.b,tZb(FZb(r.a),QZb(M.b))))}L=cZb(FZb(r.a),u);t=d3b(lZb(FZb(r.a),IZb(vD(qD(SR,1),OEc,7,0,[])),(w7b(),q7b)),o);z8(a.e,t,o);if(o.j==D5b){n=o.b;H2b(o,n,new g3b(r5b));if(n.j!=r5b){Lib();!!n&&(n.j==q7b||n.j==g6b||n.j==f5b)||(n=c3b(($d(BZb(n),n),new i3b(B5b,n)),n));z8(a.e,n,o)}m=a2b(o,2);if(m.j==r5b)H2b(o,m,f3b(L,o));else{F=new g3b(r5b);H2b(o,m,F);H2b(o,F,f3b(dZb(d5b,L,m),o))}}else o.j==p5b?R1b(o.b,f3b(($d(BZb(L),
L),new i3b(B5b,L)),o)):R1b(o.b?o.b.f:null,f3b(($d(BZb(L),L),new i3b(B5b,L)),o));N1(a.e.a,o);for(N=(B=(new Boc(r.b.a)).a.Xd().Pd(),new Hoc(B));N.a.Jd();){M=(f=N.a.Kd(),f.ce());for(H=Vh(a.d,M).Pd();H.Jd();){G=H.Kd();Lib();if((o.j==F5b||o.j==E5b)&&o.b==G.e)S1b(o.b?o.b.f:null,f3b(oZb(cZb(tZb(FZb(r.a),QZb(M.b)),M.c.oi(false))),G));else{if(Ojb(G.e)){e=G.e;j=e.e;A8(a.e,e,j);e=G.e;if(G.b){q=G.oi(false);b=cZb(q,F2b(G));D8(e,G,e);E8(e,j,G,e);N2b(b,g2b(e,29));I=f3b(($d(BZb(b),b),new i3b(B5b,b)),e);H2b(j,e,I);
G=q}else D2b(j,e);Ewc(a.e.b,e);N1(a.e.a,j)}G.e.j==X4b&&G.e.b==G&&B2b(G.e,50,false);d=Zib(G);I2b(G,f3b(tZb(FZb(r.a),QZb(M.b)),G));!!d&&M1(a.e.a,d)}}}}for(i=lt(a.b).Pd();i.Jd();){h=i.Kd();K=new g3b((w7b(),R6b));A=Vh(a.b,h);v=sD(SR,OEc,7,A.size(),0,1);w=sD(SR,OEc,7,A.size(),0,1);k=0;for(s=A.Pd();s.Jd();){r=s.Kd();v[k]=FZb(r.a);w[k]=FZb(r.a);++k}l=rZb((ce(lmc("",Hmc(46))==-1,NEc,""),new g4b(o6b,"")),LZb(v),eZb(K));M1(a.e.a,l);c=gZb(l,w);J=G2b(c,c.g,50);J!=c.g&&(c.g=J);c.g=new K3b(50,1,c.g);Lib();h.j==
G5b&&zjb(h.e)&&h.j==G5b&&Ujb(h.b)?I=f3b(lZb(FZb(h.b.qi()),c,q7b),h):I=f3b(c,h);H2b(h.e,h,I);S1b(K,h);N1(a.e.a,I)}}function q7(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C;d=c.a;q=c.b;if(q.a.length==0)return;h=g2b(d,51);if(!!h&&h.vh())for(o=new grc(q);o.a<o.c.a.length;){n=erc(o);g=(Lib(),$ib(n,Kib));f=g.e;$1b(g);N1(a.a,f)}else{r=m7(d);if(imc(r,XGc)&&(l=Vob(gib(b),r),!(!!l&&!(!l.a||W2(l.a)))))for(o=new grc(q);o.a<o.c.a.length;){n=erc(o);s=c3b(new g3b((w7b(),h7b)),n);H2b(n.e,n,s);N1(a.a,
s)}else if(p7(b,r))L1(a.a,sfb(d,(Ebb(),Cbb),vD(qD(qT,1),NCc,2,6,["extending native class: "+r])));else if(o7(b,r))for(o=new grc(q);o.a<o.c.a.length;){n=erc(o);k=k7(a,r,n);t=(Lib(),$ib(n,Kib));u=t.e;$d(u.j==(w7b(),U4b),u);v=f3b(mZb((ce(lmc(YGc,Hmc(46))==-1,NEc,YGc),new g4b(o6b,YGc)),q7b),n);Q1b(u,v,t);w=cZb((ce(lmc(YGc,Hmc(46))==-1,NEc,YGc),new g4b(o6b,YGc)),k);A=cZb(tZb(new g3b(h7b),new g4b($6b,ZGc)),tZb((ce(lmc(YGc,Hmc(46))==-1,NEc,YGc),new g4b(o6b,YGc)),new g4b($6b,ZGc)));B=_Yb(yZb(new g4b($6b,
XDc),(ce(lmc(YGc,Hmc(46))==-1,NEc,YGc),new g4b(o6b,YGc))),cZb(tZb(new g3b(h7b),new g4b($6b,XDc)),tZb((ce(lmc(YGc,Hmc(46))==-1,NEc,YGc),new g4b(o6b,YGc)),new g4b($6b,XDc))));C=f3b(jZb(jZb(dZb(d5b,w,A),B),new g3b(h7b)),n);H2b(n.e,n,C);N1(a.a,C)}else if(n7(a,r))for(o=new grc(q);o.a<o.c.a.length;){n=erc(o);k=k7(a,r,n);p=n.e;!!p.b&&!p.b.d&&(Lib(),p.j!=(w7b(),m6b)&&Xjb(p.e))?H2b(p,n,k):H2b(p,n,c3b(jZb(k,c3b(new g3b((w7b(),h7b)),n)),n));N1(a.a,p)}else{e=Td(a2b(d,2));i=e.b;j=(iCc(0,q.a.length),q.a[0]);if(!!e.b&&
!e.b.d&&i.j==(w7b(),B5b)&&!!i.b&&!i.b.d&&i.b==j){$d(q.a.length==1,d);H2b(e,i,f3b(NZb(JZb(k7(a,r,(iCc(0,q.a.length),q.a[0])),new g3b((w7b(),h7b)))),i))}else{m=new v7(q);zib(a.a,e,m);S1b(e,d3b(mZb((ce(lmc($Gc,Hmc(46))==-1,NEc,$Gc),new g4b((w7b(),o6b),$Gc)),q7b),e));R1b(e,d3b(NZb((ce(lmc($Gc,Hmc(46))==-1,NEc,$Gc),new g4b(o6b,$Gc))),e));for(o=new grc(q);o.a<o.c.a.length;){n=erc(o);k=k7(a,r,n);I2b(n,f3b(cZb((ce(lmc($Gc,Hmc(46))==-1,NEc,$Gc),new g4b(o6b,$Gc)),JZb(k,new g3b(h7b))),n))}}N1(a.a,e)}}}function b9(a,
b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B;$8(a,c);t=m9(c,d);if(!t||t.f==null)throw CV(new llc("Can only convert classes that are declarations or the right hand side of a simple assignment: "+c));if(t.k.j!=(w7b(),r5b)&&!t2b(t.k)){L1(a.a,sfb(t.k,U8,vD(qD(qT,1),NCc,2,6,[])));return}ce(Wjb(t.g),"insertion point must be a statement: %s",t.g);h=null;i=null;f=c.b?c.b.f:null;for(s=(!f.b?(msc(),msc(),lsc):new Z3b(f.b)).Pd();s.Jd();){r=s.Kd();if(r.j==e5b&&(e2b(r,73)!=0||e2b(r,74)!=0)||r.j==N5b||
r.j==V6b)d9(a,r,t);else if(r.j==j6b&&imc(r.qi(),MGc)){i=g2b(r,29);h=$1b(r.b);t.a||H2b(h,h.b,t.c.oi(false))}else if(r.j==r5b);else{ce(r.j==j6b||r.j==e5b,"Unexpected class member:",r);ce(e2b(r,75)==0,"Member variables should have been transpiled earlier:",r);c9(a,r,t)}}if(t.e.b){T0(a.a,kHc,false);k=oZb(gZb(hkb(a.a,lHc),vD(qD(SR,1),OEc,7,0,[hkb(a.a,t.f+hHc),t.e])));f3b(k,c);P1b(t.g.e,k,t.g);t.g=k}if(t.d.b){T0(a.a,kHc,false);k=oZb(gZb(hkb(a.a,lHc),vD(qD(SR,1),OEc,7,0,[hkb(a.a,t.f),t.d])));f3b(k,c);P1b(t.g.e,
k,t.g);t.g=k}Td(h);e=(Lib(),q=Yib(c),!q?null:g2b(q,29));u=K1b(e);z0b(u);l=$ib(c,Kib);if(t.k.j!=r5b){A=h2b(t.k);if(R$b(u.a))K0b(u,new L1b(new i3b(P4b,new g4b($6b,A)),(m=g2b(t.k,51),!m?null:m.Hg())));else{if(a.b&&(n=g2b(c,51),!(!!n&&n.vh()))){g=e3b(hkb(a.a,t.f),t.c);w=e3b(hkb(a.a,A),t.k);o=gZb(hkb(a.a,zFc),vD(qD(SR,1),OEc,7,0,[g,w]));p=($d(BZb(o),o),new i3b(B5b,o));T0(a.a,"es6/util/inherits",false);f3b(p,t.k);P1b(l.e,p,l)}v0b(u,new L1b(new i3b(P4b,new g4b($6b,A)),(m=g2b(t.k,51),!m?null:m.Hg())))}}Y8(a,
t,l);a9(i,u);if(c.j!=m6b&&Xjb(c.e)){h.b.vi("");j=lZb(t.c.oi(false),h,g6b);f3b(j,c);H2b(d,c,j)}else H2b(d,c,h);ckb(c,a.a);if(h.j!=m6b&&Xjb(h.e))N2b(h,n0b(u));else if(d.j==o6b){B=d.e;N2b(B,n0b(u))}else if(h.e.j==o6b){B=!h.e?null:h.e.e;N2b(B,n0b(u))}else if(d.j==B4b)N2b(d,n0b(u));else throw CV(new llc("Unexpected parent node "+d));v=G2b(h,h.g,92);v!=h.g&&(h.g=v);h.g=new K3b(92,1,h.g);qib(b)}function J3(){y3();this.db=(Db(),Db(),Cb);this.nc=(JEb(),IEb);this.$=new A5;this.bc=(Sn(),new My(Td(PFc)));this.sb=
(null,Rn);this.pb=(null,Rn);this.cc=(null,Rn);this.Ad=new b5(vD(qD(NN,1),bDc,180,0,[]));this.ed=(zpb(),xpb);this.fd=(Ipb(),Gpb);this.gd=(msc(),msc(),ksc);this.N=(null,Rn);this.Rb=(null,Cb);this.Ub=(q4(),n4);this.Vb=p4;this.fb=(V3(),T3);this.ac=(evb(),cvb);this.lc=new Rx(jo(vD(qD(lT,1),bDc,1,5,["browser",VEc,"main"])));this.cd=false;this._=(Q3(),N3);this.r=false;this.A=false;this.w=false;this.B=false;this.s=(pZ(),nZ);this.p=mZ;this.t=nZ;this.v=nZ;this.u=null;this.M=false;this.q=false;this.mb=null;
this.rb=false;this.F=false;this.W=false;this.Bb=false;this.Cb=false;this._b=-1;this.Eb=false;this.o=false;this.n=false;this.Gb=false;this.P=false;this.mc=false;this.R=false;this.Db=false;this.Hb=false;this.Fb=false;this.dd=false;this.nb=false;this.Gc=false;this.ob=(_3(),Y3);this.Mc=false;this.Nc=false;this.Jc=false;this.Kc=false;this.Oc=false;this.Lc=false;this.K=false;this.H=false;this.e=(null,lsc);this.d="";this.b=false;this.kc=false;this.O=false;this.$c=false;this.zd=(fub(),eub);this.Ac=(rnb(),
qnb);this.Tb=false;this.wb=false;this.bd=false;this.rc=false;this.Pc=null;this.J=false;this.I=false;this.ab=false;this.cb=false;this.g=false;this.j=(IW(),GW);this.jb=false;this.Y=true;this.ec=new u5;this._c=false;this.ad=null;this.pd=null;this.od=null;this.Yb=null;this.Zb=false;this.D=false;this.sc=false;this.i=false;this.oc=null;this.V=false;this.Sb=(e4(),c4);this.Ec=false;this.Ic=false;this.Fc=false;this.md=(null,lsc);this.kd=(null,lsc);this.jd=(null,lsc);this.ld=(null,lsc);this.U=null;this.$b=
false;this.Z=new xwc;this.td=(N4(),L4);this.ud=new xwc;this.dc=false;this.k="";this.Dc=false;this.C=false;this.jc=(z4(),x4);this.ub=false;this.vb=true;this.ib=false;this.S=null;this.T=null;this.yc=false;this.xb=(Io(),Io(),Ho);this.Tc=(null,ksc);this.Vc="";this.Wc=(null,lsc);this.zc=new xwc;this.Lb=(null,Ho);this.Pb=null;this.Ob=false;this.Nb=false;this.Qb="";this.tc=false;this.wc=false;this.uc=false;this.Wb=false;this.pc=false;this.Xc=null;this.rd=(H4(),E4);this.L=false;this.gb=(O6(),M6);this.X=null;
this.kb=false;this.c=x3;this.hb=null;this.xc=false;this.vd=false}function dec(){dec=bW;Wcc=new eec(dLc,0);Vcc=new eec("ARRAY_FUNCTION_TYPE",1);Zcc=new eec(uLc,2);Ycc=new eec("BOOLEAN_OBJECT_TYPE",3);Xcc=new eec("BOOLEAN_OBJECT_FUNCTION_TYPE",4);$cc=new eec("CHECKED_UNKNOWN_TYPE",5);adc=new eec("DATE_TYPE",6);_cc=new eec("DATE_FUNCTION_TYPE",7);bdc=new eec("EMPTY_OBJECT_LITERAL_TYPE",8);cdc=new eec("ERROR_FUNCTION_TYPE",9);ddc=new eec("ERROR_TYPE",10);edc=new eec("EVAL_ERROR_FUNCTION_TYPE",11);fdc=
new eec("EVAL_ERROR_TYPE",12);gdc=new eec(bJc,13);hdc=new eec("FUNCTION_FUNCTION_TYPE",14);idc=new eec("FUNCTION_INSTANCE_TYPE",15);jdc=new eec("FUNCTION_PROTOTYPE",16);kdc=new eec("GENERATOR_TYPE",17);pdc=new eec("I_ITERABLE_RESULT_TYPE",18);ndc=new eec("ITERABLE_TYPE",19);odc=new eec("ITERATOR_TYPE",20);qdc=new eec("I_TEMPLATE_ARRAY_TYPE",21);vdc=new eec("NULL_TYPE",22);Bdc=new eec(vLc,23);ydc=new eec("NUMBER_OBJECT_TYPE",24);xdc=new eec("NUMBER_OBJECT_FUNCTION_TYPE",25);Hdc=new eec("OBJECT_TYPE",
26);Ddc=new eec("OBJECT_FUNCTION_TYPE",27);Gdc=new eec("OBJECT_PROTOTYPE",28);Idc=new eec("RANGE_ERROR_FUNCTION_TYPE",29);Jdc=new eec("RANGE_ERROR_TYPE",30);Kdc=new eec("REFERENCE_ERROR_FUNCTION_TYPE",31);Ldc=new eec("REFERENCE_ERROR_TYPE",32);Ndc=new eec("REGEXP_TYPE",33);Mdc=new eec("REGEXP_FUNCTION_TYPE",34);Pdc=new eec("STRING_OBJECT_TYPE",35);Odc=new eec("STRING_OBJECT_FUNCTION_TYPE",36);Qdc=new eec(tLc,37);Sdc=new eec("SYNTAX_ERROR_FUNCTION_TYPE",38);Tdc=new eec("SYNTAX_ERROR_TYPE",39);Vdc=
new eec(gJc,40);Xdc=new eec("TYPE_ERROR_FUNCTION_TYPE",41);Ydc=new eec("TYPE_ERROR_TYPE",42);_dc=new eec("UNKNOWN_TYPE",43);aec=new eec("URI_ERROR_FUNCTION_TYPE",44);bec=new eec("URI_ERROR_TYPE",45);cec=new eec("VOID_TYPE",46);Udc=new eec("TOP_LEVEL_PROTOTYPE",47);Rdc=new eec("STRING_VALUE_OR_OBJECT_TYPE",48);Cdc=new eec("NUMBER_VALUE_OR_OBJECT_TYPE",49);Ucc=new eec("ALL_TYPE",50);udc=new eec("NO_TYPE",51);sdc=new eec("NO_OBJECT_TYPE",52);tdc=new eec("NO_RESOLVED_TYPE",53);ldc=new eec("GLOBAL_THIS",
54);Zdc=new eec("U2U_CONSTRUCTOR_TYPE",55);$dc=new eec("U2U_FUNCTION_TYPE",56);rdc=new eec("LEAST_FUNCTION_TYPE",57);mdc=new eec("GREATEST_FUNCTION_TYPE",58);wdc=new eec("NULL_VOID",59);Edc=new eec("OBJECT_NUMBER_STRING",60);Fdc=new eec("OBJECT_NUMBER_STRING_BOOLEAN",61);Adc=new eec("NUMBER_STRING_BOOLEAN",62);zdc=new eec("NUMBER_STRING",63);Wdc=new eec(hJc,64)}function bMb(){bMb=bW;pLb=new cMb("BLOCK_SCOPED_FUNCTION_DECLARATION",0,"block function",0);yLb=new cMb("ES3_KEYWORDS_AS_IDENTIFIERS",1,"ES3 keywords as identifiers",
1);ELb=new cMb("GETTER",2,"getters",1);ILb=new cMb("KEYWORDS_AS_PROPERTIES",3,"reserved words as properties",1);ULb=new cMb("SETTER",4,"setters",1);WLb=new cMb("STRING_CONTINUATION",5,"string continuation",1);ZLb=new cMb("TRAILING_COMMA",6,"trailing comma",1);mLb=new cMb("ARROW_FUNCTIONS",7,"arrow function",2);oLb=new cMb("BINARY_LITERALS",8,"binary literal",2);PLb=new cMb("OCTAL_LITERALS",9,"octal literal",2);rLb=new cMb("CLASSES",10,fFc,2);sLb=new cMb("COMPUTED_PROPERTIES",11,"computed property",
2);ALb=new cMb("EXTENDED_OBJECT_LITERALS",12,"extended object literal",2);BLb=new cMb("FOR_OF",13,"for-of loop",2);CLb=new cMb("GENERATORS",14,"generator",2);JLb=new cMb("LET_DECLARATIONS",15,"let declaration",2);KLb=new cMb("MEMBER_DECLARATIONS",16,"member declaration",2);SLb=new cMb("REGEXP_FLAG_Y",17,"RegExp flag 'y'",2);lLb=new cMb("ARRAY_PATTERN_REST",18,"array pattern rest",2);TLb=new cMb("REST_PARAMETERS",19,"rest parameter",2);VLb=new cMb("SPREAD_EXPRESSIONS",20,"spread expression",2);XLb=
new cMb(wKc,21,kFc,2);YLb=new cMb("TEMPLATE_LITERALS",22,"template literal",2);uLb=new cMb("CONST_DECLARATIONS",23,"const declaration",2);wLb=new cMb("DESTRUCTURING",24,"destructuring",2);OLb=new cMb(xKc,25,lFc,2);RLb=new cMb("REGEXP_FLAG_U",26,"RegExp flag 'u'",2);vLb=new cMb("DEFAULT_PARAMETERS",27,"default parameter",2);MLb=new cMb("MODULES",28,"modules",2);zLb=new cMb("EXPONENT_OP",29,"exponent operator (**)",3);nLb=new cMb("ASYNC_FUNCTIONS",30,xFc,4);$Lb=new cMb("TRAILING_COMMA_IN_PARAM_LIST",
31,"trailing comma in param list",4);jLb=new cMb("ACCESSIBILITY_MODIFIER",32,"accessibility modifier",5);kLb=new cMb(yKc,33,"ambient declaration",5);qLb=new cMb(zKc,34,"call signature",5);tLb=new cMb("CONSTRUCTOR_SIGNATURE",35,"constructor signature",5);xLb=new cMb(wJc,36,tFc,5);DLb=new cMb("GENERICS",37,"generics",5);FLb=new cMb(zJc,38,hFc,5);GLb=new cMb(AKc,39,"index signature",5);HLb=new cMb(AJc,40,sFc,5);LLb=new cMb("MEMBER_VARIABLE_IN_CLASS",41,"member variable in class",5);NLb=new cMb(BKc,42,
"namespace declaration",5);QLb=new cMb(CKc,43,"optional parameter",5);_Lb=new cMb(DKc,44,"type alias",5);aMb=new cMb("TYPE_ANNOTATION",45,"type annotation",5)}function SX(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I,J,K;switch(b.j.f){case 83:DX((w7b(),b6b),b);i=y7b(b.j);i!=-1&&(j=b2b(b),i!=j&&cY(tEc+i+uEc+j,b));sX(b.b);SX(a,b.b?b.b.f:null,false);return;case 82:PW(a,b);return;case 65:c?hX(a,b,true):(DX((w7b(),G5b),b),k=y7b(b.j),k!=-1&&(l=b2b(b),k!=l&&cY(tEc+k+uEc+l,b)),wX(b.b),
NX(a,b.b.d),PW(a,b.b?b.b.f:null),undefined);return;case 77:DX((w7b(),u7b),b);m=y7b(b.j);m!=-1&&(n=b2b(b),m!=n&&cY(tEc+m+uEc+n,b));fX(a,b.b);PW(a,b.b?b.b.f:null);return;case 72:DX((w7b(),D5b),b);o=b2b(b);4!=o&&cY("Expected 4 children, but was "+o,b);_X(a,b.b);MX(a,b.b.d);MX(a,a2b(b,2));PW(a,b.b?b.b.f:null);return;case 73:DX((w7b(),E5b),b);p=y7b(b.j);p!=-1&&(q=b2b(b),p!=q&&cY(tEc+p+uEc+q,b));$X(a,b.b);fX(a,b.b.d);PW(a,b.b?b.b.f:null);return;case 101:DX((w7b(),F5b),b);r=y7b(b.j);r!=-1&&(s=b2b(b),r!=
s&&cY(tEc+r+uEc+s,b));$X(a,b.b);fX(a,b.b.d);PW(a,b.b?b.b.f:null);return;case 70:DX((w7b(),t7b),b);t=y7b(b.j);t!=-1&&(u=b2b(b),t!=u&&cY(tEc+t+uEc+u,b));fX(a,b.b);PW(a,b.b?b.b.f:null);return;case 71:DX((w7b(),p5b),b);v=y7b(b.j);v!=-1&&(w=b2b(b),v!=w&&cY(tEc+v+uEc+w,b));PW(a,b.b);fX(a,b.b?b.b.f:null);return;case 67:VX(a,b);return;case 66:DX((w7b(),Q5b),b);A=b2b(b);(A<2||A>3)&&cY(DEc+A,b);fX(a,b.b);PW(a,b.b.d);b2b(b)==3&&PW(a,b.b?b.b.f:null);return;case 88:for(e=(!b.b?(msc(),msc(),lsc):new Z3b(b.b)).Pd();e.Jd();){d=
e.Kd();d.j==(w7b(),n5b)?(g=b2b(d),2!=g&&cY(sEc+g,d)):(h=b2b(d),1!=h&&cY(xEc+h,d))}case 76:case 100:yX(a,b.j,b);return;case 84:DX((w7b(),B5b),b);B=y7b(b.j);B!=-1&&(C=b2b(b),B!=C&&cY(tEc+B+uEc+C,b));fX(a,b.b);return;case 0:DX((w7b(),R6b),b);tX(b);!!b.b&&fX(a,b.b);return;case 39:DX((w7b(),i7b),b);D=y7b(b.j);D!=-1&&(F=b2b(b),D!=F&&cY(tEc+D+uEc+F,b));fX(a,b.b);return;case 44:YX(a,b);return;case 74:DX((w7b(),W4b),b);tX(b);!!b.b&&sX(b.b);return;case 75:DX((w7b(),g5b),b);tX(b);!!b.b&&sX(b.b);return;case 80:case 89:f=
b2b(b);0!=f&&cY(rEc+f,b);return;case 96:UW(a,b,c);wX(b.b);return;case 104:kX(a,b);return;case 108:cX(a,b,c);return;case 148:gX(a,(bMb(),HLb),b);DX((w7b(),$5b),b);G=y7b(b.j);G!=-1&&(H=b2b(b),G!=H&&cY(tEc+G+uEc+H,b));I=b.b;wX(I);J=I.d;J.j==r5b?(K=b2b(J),0!=K&&cY(rEc+K,J)):oX(J);qX(a,b.b?b.b.f:null);return;case 151:aX(a,b);return;case 154:ZX(a,b);return;case 155:gX(a,(bMb(),kLb),b);DX((w7b(),j5b),b);LW(a,b.b);return;case 159:zX(a,b,c);return;default:cY("Expected statement but was "+b.j+".",b)}}function BPb(a){var b,
c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T;switch(GQb(a.g,0).c.f){case 45:return kOb(a);case 30:case 25:return NPb(a);case 52:return vOb(a);case 15:return POb(a);case 10:return c=GQb(a.g,0).b.b,CNb(a,(xTb(),SRb)),d=xPb(a),CNb(a,uTb),CNb(a,DSb),e=QNb(a,1),CNb(a,IRb),QPb(a,WSb)&&CNb(a,WSb),new rUb(new SXb(c,a.f),d,e);case 27:return f=GQb(a.g,0).b.b,CNb(a,(xTb(),uTb)),CNb(a,DSb),g=QNb(a,1),CNb(a,IRb),h=xPb(a),new IXb(new SXb(f,a.f),g,h);case 13:return FOb(a);case 6:return i=
GQb(a.g,0).b.b,CNb(a,(xTb(),NRb)),j=null,k=GQb(a.g,0).b.b.b>a.f.b,k||PPb(a,0,WSb)||PPb(a,0,HRb)||PPb(a,0,URb)||(j=(l=GQb(a.g,0).c,hwc(dwc(fSb,vD(qD(jP,1),gDc,12,0,[oTb,PRb,tSb,uSb])),l)||!a.b.c&&mNb(l)?ENb(a):null)),HNb(a),new nUb(new SXb(i,a.f),j);case 3:return m=GQb(a.g,0).b.b,CNb(a,(xTb(),ARb)),n=null,o=GQb(a.g,0).b.b.b>a.f.b,o||PPb(a,0,WSb)||PPb(a,0,HRb)||PPb(a,0,URb)||(n=(p=GQb(a.g,0).c,hwc(dwc(fSb,vD(qD(jP,1),gDc,12,0,[oTb,PRb,tSb,uSb])),p)||!a.b.c&&mNb(p)?ENb(a):null)),HNb(a),new QTb(new SXb(m,
a.f),n);case 19:return q=GQb(a.g,0).b.b,CNb(a,(xTb(),TSb)),r=null,s=GQb(a.g,0).b.b.b>a.f.b,s||PPb(a,0,WSb)||PPb(a,0,HRb)||PPb(a,0,URb)||(r=QNb(a,1)),HNb(a),new nXb(new SXb(q,a.f),r);case 28:return t=GQb(a.g,0).b.b,CNb(a,(xTb(),vTb)),CNb(a,DSb),u=QNb(a,1),CNb(a,IRb),v=xPb(a),new JXb(new SXb(t,a.f),u,v);case 20:return w=GQb(a.g,0).b.b,CNb(a,(xTb(),fTb)),CNb(a,DSb),A=QNb(a,1),CNb(a,IRb),CNb(a,CSb),B=mOb(a),CNb(a,HRb),new rXb(new SXb(w,a.f),A,B);case 22:return C=GQb(a.g,0).b.b,CNb(a,(xTb(),kTb)),D=null,
F=GQb(a.g,0).b.b.b>a.f.b,F||PPb(a,0,WSb)||PPb(a,0,HRb)||PPb(a,0,URb)?hQb(a,"semicolon/newline not allowed after 'throw'",vD(qD(lT,1),bDc,1,5,[])):D=QNb(a,1),HNb(a),new wXb(new SXb(C,a.f),D);case 23:return G=GQb(a.g,0).b.b,CNb(a,(xTb(),nTb)),H=kOb(a),I=null,QPb(a,ERb)&&(I=(P=GQb(a.g,0).b.b,CNb(a,ERb),CNb(a,DSb),PPb(a,0,ESb)||PPb(a,0,CSb)?Q=kPb(a,0):Q=OOb(a),CNb(a,IRb),R=kOb(a),new UTb(new SXb(P,a.f),Q,R))),J=null,QPb(a,bSb)&&(J=(S=GQb(a.g,0).b.b,CNb(a,bSb),T=kOb(a),new xUb(new SXb(S,a.f),T))),!I&&
!J&&hQb(a,"'catch' or 'finally' expected.",vD(qD(lT,1),bDc,1,5,[])),new xXb(new SXb(G,a.f),H,I,J);case 7:return K=GQb(a.g,0).b.b,CNb(a,(xTb(),ORb)),HNb(a),new oUb(new SXb(K,a.f));default:{b=GQb(a.g,0).c;if((hwc(dwc((xTb(),fSb),vD(qD(jP,1),gDc,12,0,[oTb,PRb,tSb,uSb])),b)||!a.b.c&&mNb(b))&&PPb(a,1,KRb))return L=GQb(a.g,0).b.b,M=DNb(a),CNb(a,KRb),new dVb(new SXb(L,a.f),M,xPb(a))}return N=GQb(a.g,0).b.b,O=QNb(a,1),HNb(a),new wUb(new SXb(N,a.f),O)}}function DAb(){DAb=bW;wAb=new s6("JSC_NTI_INVALID_GENERICS_INSTANTIATION",
(pZ(),oZ),new xnc("Invalid generics instantiation{0}.\nExpected {1} type argument(s), but found {2}"));qAb=new s6("JSC_NTI_EXTENDS_NON_OBJECT",oZ,new xnc("{0} extends non-object type {1}.\n"));rAb=new s6("JSC_NTI_EXTENDS_NOT_ON_CTOR_OR_INTERF",oZ,new xnc("@extends used without @constructor or @interface for {0}.\n"));vAb=new s6("JSC_NTI_INHERITANCE_CYCLE",oZ,new xnc("Cycle detected in inheritance chain of type {0}"));lAb=new s6("JSC_NTI_DICT_IMPLEMENTS_INTERF",oZ,new xnc("Class {0} is a dict. Dicts can't implement interfaces"));
uAb=new s6("JSC_NTI_IMPLEMENTS_WITHOUT_CONSTRUCTOR",oZ,new xnc(MHc));jAb=new s6("JSC_NTI_CONFLICTING_EXTENDED_TYPE",oZ,new xnc(SIc));kAb=new s6("JSC_NTI_CONFLICTING_IMPLEMENTED_TYPE",oZ,new xnc(TIc));BAb=new s6("JSC_NTI_UNION_IS_UNINHABITABLE",oZ,new xnc("Union of {0} with {1} would create an impossible type"));yAb=new s6("JSC_NTI_NEW_EXPECTS_OBJECT_OR_TYPEVAR",oZ,new xnc('The "new:" annotation only accepts object types and type variables; found {0}'));fAb=new s6("JSC_NTI_BAD_ARRAY_TYPE_SYNTAX",oZ,
new xnc("The [] type syntax is not supported. Please use Array<T> instead"));gAb=new s6("JSC_NTI_CANNOT_MAKE_TYPEVAR_NON_NULL",oZ,new xnc("Cannot use ! to restrict type variable type.\nPrefer to make type argument non-nullable and add null explicitly where needed (e.g. through ?T or T|null)"));hAb=new s6("JSC_NTI_CIRCULAR_TYPEDEF_ENUM",oZ,new xnc("Circular typedefs/enums are not allowed"));oAb=new s6("JSC_NTI_ENUM_WITH_TYPEVARS",oZ,new xnc("An enum type cannot include type variables"));mAb=new s6("JSC_NTI_ENUM_IS_TOP",
oZ,new xnc("An enum type cannot be *. Use ? if you do not want the elements checked"));nAb=new s6("JSC_NTI_ENUM_IS_UNION",oZ,new xnc("An enum type cannot be a union type"));CAb=new s6("JSC_NTI_WRONG_PARAMETER_ORDER",oZ,new xnc("Wrong parameter order: required parameters are first, then optional, then varargs"));tAb=new s6("JSC_NTI_IMPLEMENTS_NON_INTERFACE",oZ,new xnc("Cannot implement non-interface {0}"));pAb=new s6("JSC_NTI_EXTENDS_NON_INTERFACE",oZ,new xnc("Cannot extend non-interface {0}"));sAb=
new s6("JSC_NTI_FUNCTION_WITH_NONFUNC_JSDOC",oZ,new xnc("The function is annotated with a non-function jsdoc. Ignoring jsdoc"));zAb=new s6("JSC_NTI_TEMPLATED_GETTER_SETTER",oZ,new xnc("@template can't be used with getters/setters"));AAb=new s6("JSC_NTI_TWO_JSDOCS",oZ,new xnc("Found two JsDoc comments for {0}"));iAb=new J5(vD(qD(lK,1),bDc,5,0,[fAb,hAb,jAb,kAb,pAb,qAb,rAb,tAb,uAb,vAb,yAb,zAb,AAb,CAb]));xAb=new J5(vD(qD(lK,1),bDc,5,0,[gAb,lAb,mAb,nAb,oAb,sAb,wAb,BAb]))}function jfb(a,b){var c,d,e,f,
g,h,i,j,k,l,m,n,o,p,q,r,s,t;g=false;k=new Lqc;k.a[k.a.length]="/**";(b.a&mHc)!=0?(k.a[k.a.length]="@export",true):!!b.j&&b.j!=(h0b(),c0b)&&Aqc(k,"@"+je(b.j).toLowerCase());(b.a&aIc)!=0&&(k.a[k.a.length]="@abstract",true);(!b.d?null:b.d.g)!=null&&Aqc(k,"@lends {"+(!b.d?null:b.d.g)+"}");(b.a&37)!=0&&(b.a&4)==0&&(b.a&32)==0&&(k.a[k.a.length]="@const",true);(b.a&32)!=0&&(k.a[k.a.length]="@final",true);d=!b.d?null:b.d.c;d!=null&&(k.a[k.a.length]="@desc "+d+YDc,true);(b.a&jHc)!=0&&(k.a[k.a.length]="@dict",
true);(b.a&iEc)!=0&&(k.a[k.a.length]="@struct",true);(b.a&iHc)!=0&&(k.a[k.a.length]="@unrestricted ",true);(b.a&2)!=0&&(k.a[k.a.length]="@constructor",true);((b.a&512)!=0||(b.a&IGc)!=0)&&(b.a&IGc)==0&&(k.a[k.a.length]="@interface",true);((b.a&512)!=0||(b.a&IGc)!=0)&&(b.a&IGc)!=0&&(k.a[k.a.length]="@record",true);if(!b.d?null:b.d.a){g=true;s=kfb((!b.d?null:b.d.a).a);Aqc(k,hfb(a,gFc,s))}for(r=w$b(b).Pd();r.Jd();){p=r.Kd();g=true;s=kfb(p.a);Aqc(k,hfb(a,gFc,s))}for(q=y$b(b).Pd();q.Jd();){p=q.Kd();g=true;
s=kfb(p.a);Aqc(k,hfb(a,hFc,s))}if(b.g){g=true;s=kfb(b.g.a);Aqc(k,hfb(a,jFc,s))}if(C$b(b)>0){g=true;for(i=E$b(b).Pd();i.Jd();){h=i.Kd();Aqc(k,"@param "+ifb(a,h,F$b(b,h)))}}if((b.a&wGc)==HDc){g=true;Aqc(k,hfb(a,ZEc,((wGc&b.a)==HDc?b.i:null).a))}I$b(b).isEmpty()||Aqc(k,hfb(a,bIc,I$b(b).getAtIndex(0).a));j=H$b(b);if(!j.isEmpty()){Aqc(k,cIc+Ic(new Kc(String.fromCharCode(44)),j.Pd()));g=true}t=L$b(b);if(!t.isEmpty()){g=true;for(f=Jo(t).Pd();f.Jd();){e=f.Kd();h=e.ce();o=v_(new B_(e.de()));k.a[k.a.length]=
cIc+h+" := "+o+" =:"}}(b.a&64)!=0&&(k.a[k.a.length]="@override",true);(b.a&wGc)==xGc&&(b.a&4)==0&&(b.e?Aqc(k,lfb(a,((wGc&b.a)==xGc?b.i:null).a)):Aqc(k,hfb(a,vFc,((wGc&b.a)==xGc?b.i:null).a)));(b.a&4)!=0&&Aqc(k,hfb(a,"define",((wGc&b.a)==xGc?b.i:null).a));(b.a&wGc)==LCc&&Aqc(k,hfb(a,"typedef",((wGc&b.a)==LCc?b.i:null).a));(b.a&wGc)==OHc&&Aqc(k,hfb(a,tFc,((wGc&b.a)==OHc?b.i:null).a));(b.a&8192)!=0&&(k.a[k.a.length]="@implicitCast",true);n=(m=!b.d?null:b.d.p,!m?(msc(),msc(),lsc):m);if(!n.isEmpty()){c=
n.Qd(sD(qT,NCc,2,0,6,1));Frc(c,(Ex(),Dx));Aqc(k,"@suppress {"+Ic(new Kc(String.fromCharCode(44)),new joc(new Prc(c)))+"}");g=true}if((b.a&256)!=0){Aqc(k,"@deprecated "+(!b.d?null:b.d.b));g=true}if(!!b.d&&M_b(b.d,7)){g=true;k.a[k.a.length]="@polymer"}if(!!b.d&&M_b(b.d,6)){g=true;k.a[k.a.length]="@polymerBehavior"}if(!!b.d&&M_b(b.d,10)){g=true;k.a[k.a.length]="@mixinFunction"}if(!!b.d&&M_b(b.d,9)){g=true;k.a[k.a.length]="@mixinClass"}if(!!b.d&&M_b(b.d,8)){g=true;k.a[k.a.length]="@customElement"}k.a[k.a.length]=
"*/";l=new $mc;g?Gc(new Kc("\n "),l,new grc(k)):Gc(new Kc(" "),l,new grc(k));l.a+=g?YDc:" ";return l.a}function p$(){p$=bW;new s6("JSC_GOOG_MODULE_INVALID_MODULE_NAMESPACE",(pZ(),mZ),new xnc("goog.module parameter must be string literals"));new s6("JSC_GOOG_MODULE_INVALID_PROVIDE_NAMESPACE",mZ,new xnc("goog.provide parameter must be a string literal."));new s6("JSC_GOOG_MODULE_INVALID_REQUIRE_NAMESPACE",mZ,new xnc("goog.require parameter must be a string literal."));new s6("JSC_GOOG_MODULE_INVALID_FORWARD_DECLARE_NAMESPACE",
mZ,new xnc("goog.forwardDeclare parameter must be a string literal."));new s6("JSC_GOOG_MODULE_INVALID_GET_NAMESPACE",mZ,new xnc("goog.module.get parameter must be a string literal."));new s6("JSC_GOOG_MODULE_INVALID_PROVIDE_CALL",mZ,new xnc("goog.provide can not be called in goog.module."));new s6("JSC_GOOG_MODULE_INVALID_GET_CALL_SCOPE",mZ,new xnc("goog.module.get can not be called in global scope."));new s6("JSC_GOOG_MODULE_INVALID_GET_ALIAS",mZ,new xnc("goog.module.get should not be aliased."));
new s6("JSC_GOOG_MODULE_INVALID_EXPORT_COMPUTED_PROPERTY",mZ,new xnc("Computed properties are not yet supported in goog.module exports."));n$=new s6("JSC_USELESS_USE_STRICT_DIRECTIVE",nZ,new xnc("'use strict' is unnecessary in goog.module files."));new s6("JSC_DUPLICATE_MODULE",mZ,new xnc("Duplicate module: {0}"));new s6("JSC_DUPLICATE_NAMESPACE",mZ,new xnc("Duplicate namespace: {0}"));m$=new s6("JSC_MISSING_MODULE_OR_PROVIDE",mZ,new xnc('Required namespace "{0}" never defined.'));new s6("JSC_MISSING_FILE_REQUIRE",
mZ,new xnc('Required file "{0}" does not exist.'));new s6("JSC_FILE_REQUIRE_FOR_NON_MODULE",mZ,new xnc('Required file "{0}" is not a module.'));new s6(SEc,mZ,new xnc('Required namespace "{0}" not provided yet.'));new s6("JSC_IMPORT_INLINING_SHADOWS_VAR",mZ,new xnc('Inlining of reference to import "{1}" shadows var "{0}".'));new s6("JSC_ILLEGAL_DESTRUCTURING_DEFAULT_EXPORT",mZ,new xnc("Destructuring import only allowed for importing module with named exports.\nSee https://github.com/google/closure-compiler/wiki/goog.module-style"));
new s6("JSC_ILLEGAL_DESTRUCTURING_NOT_EXPORTED",mZ,new xnc('Destructuring import reference to name "{0}" was not exported in module {1}'));new s6("JSC_PATH_REQUIRE_IN_PROVIDE",mZ,new xnc('Cannot used path based require "{0}" from goog.provide\'d file.'));o$=(vn(),new Py(TEc));tZb((ce(lmc(MEc,Hmc(46))==-1,NEc,MEc),new g4b((w7b(),o6b),MEc)),new g4b($6b,"forwardDeclare"));tZb((ce(lmc(MEc,Hmc(46))==-1,NEc,MEc),new g4b(o6b,MEc)),new g4b($6b,UEc));l$=tZb((ce(lmc(MEc,Hmc(46))==-1,NEc,MEc),new g4b(o6b,MEc)),
new g4b($6b,VEc));tZb(l$,new g4b($6b,"declareLegacyNamespace"));tZb(Y1b(l$,false),new g4b($6b,"get"));tZb((ce(lmc(MEc,Hmc(46))==-1,NEc,MEc),new g4b(o6b,MEc)),new g4b($6b,WEc));tZb((ce(lmc(MEc,Hmc(46))==-1,NEc,MEc),new g4b(o6b,MEc)),new g4b($6b,XEc))}function Omb(){Omb=bW;new s6("JSC_NULL_ARGUMENT_ERROR",(pZ(),mZ),new xnc('method "{0}" called without an argument'));new s6("JSC_EXPECTED_OBJECTLIT_ERROR",mZ,new xnc('method "{0}" expected an object literal argument'));new s6("JSC_EXPECTED_STRING_ERROR",
mZ,new xnc('method "{0}" expected an object string argument'));new s6("JSC_INVALID_ARGUMENT_ERROR",mZ,new xnc('method "{0}" called with invalid argument'));new s6("JSC_INVALID_CSS_NAME_MAP_STYLE_ERROR",mZ,new xnc("Invalid CSS name map style {0}"));new s6("JSC_TOO_MANY_ARGUMENTS_ERROR",mZ,new xnc('method "{0}" called with more than one argument'));new s6("JSC_DUPLICATE_NAMESPACE_ERROR",mZ,new xnc('namespace "{0}" cannot be provided twice'));new s6("JSC_WEAK_NAMESPACE_TYPE",oZ,new xnc("Provided symbol declared with type Object. This is rarely useful. For more information see https://github.com/google/closure-compiler/wiki/A-word-about-the-type-Object"));
new s6("JSC_CLASS_NAMESPACE_ERROR",mZ,new xnc("\"{0}\" cannot be both provided and declared as a class. Try var {0} = class '{'...'}'"));new s6("JSC_FUNCTION_NAMESPACE_ERROR",mZ,new xnc('"{0}" cannot be both provided and declared as a function'));Mmb=new s6("JSC_MISSING_PROVIDE_ERROR",mZ,new xnc('required "{0}" namespace never provided'));Lmb=new s6(SEc,mZ,new xnc('required "{0}" namespace not provided yet'));Kmb=new s6("JSC_INVALID_PROVIDE_ERROR",mZ,new xnc('"{0}" is not a valid {1} qualified name'));
new s6("JSC_INVALID_DEFINE_NAME_ERROR",mZ,new xnc('"{0}" is not a valid JS identifier name'));new s6("JSC_INVALID_MISSING_DEFINE_ANNOTATION",mZ,new xnc("Missing @define annotation"));new s6("JSC_XMODULE_REQUIRE_ERROR",oZ,new xnc('namespace "{0}" is required in module {2} but provided in module {1}. Is module {2} missing a dependency on module {1}?'));Jmb=new s6("JSC_INVALID_CLOSURE_CALL_ERROR",mZ,new xnc("Closure dependency methods(goog.provide, goog.require, etc) must be called at file scope."));
new s6("JSC_NON_STRING_PASSED_TO_SET_CSS_NAME_MAPPING_ERROR",mZ,new xnc("goog.setCssNameMapping only takes an object literal with string values"));new s6("INVALID_CSS_RENAMING_MAP",oZ,new xnc("Invalid entries in css renaming map: {0}"));new s6("JSC_GOOG_BASE_CLASS_ERROR",mZ,new xnc("incorrect use of goog.base: {0}"));new s6("JSC_BASE_CLASS_ERROR",mZ,new xnc("incorrect use of {0}.base: {1}"));new s6("JSC_CLOSURE_DEFINES_ERROR",mZ,new xnc("Invalid CLOSURE_DEFINES definition"));new s6("JSC_INVALID_FORWARD_DECLARE",
mZ,new xnc("Malformed goog.forwardDeclaration"));Nmb=new s6("JSC_USE_OF_GOOG_BASE",nZ,new xnc("goog.base is not compatible with ES5 strict mode.\nPlease use an alternative.\nFor EcmaScript classes use the super keyword, for traditional Closure classes\nuse the class specific base method instead. For example, for the constructor MyClass:\n   MyClass.base(this, 'constructor')"))}function AEb(){AEb=bW;XDb=new BEb("NG_INJECT",0);pDb=new BEb("ABSTRACT",1);qDb=new BEb("AUTHOR",2);uDb=new BEb("CUSTOM_ELEMENT",
3);rDb=new BEb("CONSISTENTIDGENERATOR",4);sDb=new BEb("CONSTANT",5);tDb=new BEb(vJc,6);kEb=new BEb("RECORD",7);vDb=new BEb("DEFINE",8);wDb=new BEb("DEPRECATED",9);xDb=new BEb("DESC",10);yDb=new BEb("DICT",11);zDb=new BEb("DISPOSES",12);ADb=new BEb(wJc,13);DDb=new BEb(xJc,14);EDb=new BEb("EXTERNS",15);BDb=new BEb(yJc,16);CDb=new BEb("EXPOSE",17);FDb=new BEb("FILE_OVERVIEW",18);GDb=new BEb("FINAL",19);HDb=new BEb("HIDDEN",20);IDb=new BEb("IDGENERATOR",21);JDb=new BEb(zJc,22);KDb=new BEb("IMPLICIT_CAST",
23);LDb=new BEb("INHERIT_DOC",24);MDb=new BEb(AJc,25);NDb=new BEb("JAGGER_INJECT",26);ODb=new BEb("JAGGER_MODULE",27);PDb=new BEb("JAGGER_PROVIDE",28);QDb=new BEb("JAGGER_PROVIDE_PROMISE",29);RDb=new BEb("LENDS",30);SDb=new BEb("LICENSE",31);TDb=new BEb("MEANING",32);UDb=new BEb("MIXIN_CLASS",33);VDb=new BEb("MIXIN_FUNCTION",34);WDb=new BEb("MODIFIES",35);ZDb=new BEb("NO_ALIAS",36);$Db=new BEb("NO_COLLAPSE",37);_Db=new BEb("NO_COMPILE",38);aEb=new BEb("NO_SIDE_EFFECTS",39);YDb=new BEb("NOT_IMPLEMENTED",
40);bEb=new BEb("OVERRIDE",41);cEb=new BEb(BJc,42);dEb=new BEb("PARAM",43);eEb=new BEb("POLYMER",44);fEb=new BEb("POLYMER_BEHAVIOR",45);gEb=new BEb("PRESERVE",46);hEb=new BEb(CJc,47);iEb=new BEb(DJc,48);jEb=new BEb(EJc,49);lEb=new BEb(FJc,50);mEb=new BEb("SEE",51);nEb=new BEb("STABLEIDGENERATOR",52);oEb=new BEb("STRUCT",53);pEb=new BEb("SUPPRESS",54);qEb=new BEb("TEMPLATE",55);rEb=new BEb(GJc,56);sEb=new BEb("THROWS",57);tEb=new BEb(HJc,58);uEb=new BEb("TYPEDEF",59);vEb=new BEb("TYPE_SUMMARY",60);
wEb=new BEb("UNRESTRICTED",61);xEb=new BEb("VERSION",62);yEb=new BEb("WIZACTION",63);zEb=fr(new ir,"ngInject",XDb).nf("abstract",pDb).nf("argument",dEb).nf("author",qDb).nf("consistentIdGenerator",rDb).nf(oGc,sDb).nf("constant",sDb).nf(MGc,tDb).nf("customElement",uDb).nf("copyright",SDb).nf("define",vDb).nf(kGc,wDb).nf("desc",xDb).nf("dict",yDb).nf("disposes",zDb).nf(tFc,ADb).nf(bFc,BDb).nf("expose",CDb).nf(gFc,DDb).nf("externs",EDb).nf("fileoverview",FDb).nf("final",GDb).nf("hidden",HDb).nf("idGenerator",
IDb).nf(hFc,JDb).nf("implicitCast",KDb).nf("inheritDoc",LDb).nf(sFc,MDb).nf("record",kEb).nf("jaggerInject",NDb).nf("jaggerModule",ODb).nf("jaggerProvidePromise",QDb).nf("jaggerProvide",PDb).nf("lends",RDb).nf("license",SDb).nf("meaning",TDb).nf("mixinClass",UDb).nf("mixinFunction",VDb).nf("modifies",WDb).nf("noalias",ZDb).nf("nocollapse",$Db).nf("nocompile",_Db).nf("nosideeffects",aEb).nf("override",bEb).nf("owner",qDb).nf(IJc,cEb).nf("param",dEb).nf("polymer",eEb).nf("polymerBehavior",fEb).nf("preserve",
gEb).nf(JJc,hEb).nf(KJc,iEb).nf(LJc,jEb).nf(ZEc,lEb).nf("returns",lEb).nf("see",mEb).nf("stableIdGenerator",nEb).nf("struct",oEb).nf("suppress",pEb).nf("template",qEb).nf(jFc,rEb).nf(bIc,sEb).nf(vFc,tEb).nf("typedef",uEb).nf("typeSummary",vEb).nf("unrestricted",wEb).nf("version",xEb).nf("wizaction",yEb).mf()}function ZZ(){ZZ=bW;new s6("JSC_AT_EXPORT_IN_GOOG_MODULE",(pZ(),mZ),new xnc("@export has no effect here"));RZ=new s6("JSC_AT_EXPORT_IN_NON_LEGACY_GOOG_MODULE",mZ,new xnc("@export is not allowed here in a non-legacy goog.module. Consider using goog.exportSymbol instead."));
SZ=new s6("JSC_GOOG_MODULE_IN_NON_MODULE",mZ,new xnc("goog.module() call must be the first statement in a module."));new s6("JSC_GOOG_MODULE_REFERENCES_THIS",mZ,new xnc("The body of a goog.module cannot reference 'this'."));new s6("JSC_GOOG_MODULE_USES_THROW",mZ,new xnc("The body of a goog.module cannot use 'throw'."));new s6("JSC_GOOG_MODULE_USES_GOOG_MODULE_GET",mZ,new xnc("It's illegal to use a 'goog.module.get' at the module top-level. Did you mean to use goog.require instead?"));new s6("JSC_DUPLICATE_NAME_SHORT_REQUIRE",
mZ,new xnc("Found multiple goog.require statements importing identifier ''{0}''."));new s6("JSC_INVALID_DESTRUCTURING_REQUIRE",mZ,new xnc("Destructuring goog.require must be a simple object pattern."));new s6("JSC_INVALID_DESTRUCTURING_FORWARD_DECLARE",mZ,new xnc("Cannot destructure a forward-declared type"));WZ=new s6("JSC_LET_GOOG_REQUIRE",nZ,new xnc("Module imports must be constant. Please use 'const' instead of 'let'."));new s6("JSC_MULTIPLE_MODULES_IN_FILE",mZ,new xnc("There should only be a single goog.module() statement per file."));
new s6("JSC_MODULE_AND_PROVIDES",mZ,new xnc("A file using goog.module() may not also use goog.provide() statements."));new s6("JSC_ONE_REQUIRE_PER_DECLARATION",mZ,new xnc("There may only be one goog.require() per var/let/const declaration."));TZ=new s6("JSC_INCORRECT_SHORTNAME_CAPITALIZATION",nZ,new xnc("The capitalization of short name {0} is incorrect; it should be {1}."));new s6("JSC_EXPORT_NOT_A_MODULE_LEVEL_STATEMENT",mZ,new xnc("Exports must be a statement at the top-level of a module"));new s6("JSC_EXPORT_REPEATED_ERROR",
mZ,new xnc("Name cannot be exported multiple times. Previous export on line {0}."));new s6("JSC_REFERENCE_TO_MODULE_GLOBAL_NAME",mZ,new xnc("References to the global name of a module are not allowed. Perhaps you meant exports?"));XZ=new s6("JSC_REFERENCE_TO_FULLY_QUALIFIED_IMPORT_NAME",nZ,new xnc("Reference to fully qualified import name ''{0}''. Imports in goog.module should use the return value of goog.require / goog.forwardDeclare instead."));YZ=new s6("JSC_REFERENCE_TO_SHORT_IMPORT_BY_LONG_NAME_INCLUDING_SHORT_NAME",
nZ,new xnc("Reference to fully qualified import name ''{0}''. Please use the short name ''{1}'' instead."));UZ=new s6("JSC_JSDOC_REFERENCE_TO_FULLY_QUALIFIED_IMPORT_NAME",nZ,new xnc("Reference to fully qualified import name ''{0}'' in JSDoc. Imports in goog.module should use the return value of goog.require / goog.forwardDeclare instead."));VZ=new s6("JSC_JSDOC_REFERENCE_TO_SHORT_IMPORT_BY_LONG_NAME_INCLUDING_SHORT_NAME",nZ,new xnc("Reference to fully qualified import name ''{0}'' in JSDoc. Please use the short name ''{1}'' instead."));
new s6("JSC_REQUIRE_NOT_AT_TOP_LEVEL",mZ,new xnc("goog.require() must be called at file scope."))}function gXb(){gXb=bW;GWb=new hXb("PROGRAM",0);fWb=new hXb("FUNCTION_DECLARATION",1);BVb=new hXb("BLOCK",2);cXb=new hXb("VARIABLE_STATEMENT",3);aXb=new hXb("VARIABLE_DECLARATION",4);XVb=new hXb("EMPTY_STATEMENT",5);_Vb=new hXb("EXPRESSION_STATEMENT",6);kWb=new hXb("IF_STATEMENT",7);WVb=new hXb("DO_WHILE_STATEMENT",8);dXb=new hXb("WHILE_STATEMENT",9);cWb=new hXb("FOR_IN_STATEMENT",10);eWb=new hXb("FOR_STATEMENT",
11);bXb=new hXb("VARIABLE_DECLARATION_LIST",12);SVb=new hXb("CONTINUE_STATEMENT",13);CVb=new hXb("BREAK_STATEMENT",14);KWb=new hXb("RETURN_STATEMENT",15);eXb=new hXb("WITH_STATEMENT",16);FVb=new hXb("CASE_CLAUSE",17);UVb=new hXb("DEFAULT_CLAUSE",18);OWb=new hXb("SWITCH_STATEMENT",19);pWb=new hXb("LABELLED_STATEMENT",20);TWb=new hXb("THROW_STATEMENT",21);GVb=new hXb(EKc,22);UWb=new hXb("TRY_STATEMENT",23);TVb=new hXb("DEBUGGER_STATEMENT",24);SWb=new hXb("THIS_EXPRESSION",25);jWb=new hXb("IDENTIFIER_EXPRESSION",
26);qWb=new hXb("LITERAL_EXPRESSION",27);vVb=new hXb("ARRAY_LITERAL_EXPRESSION",28);BWb=new hXb("OBJECT_LITERAL_EXPRESSION",29);JVb=new hXb("COMPREHENSION",30);LVb=new hXb("COMPREHENSION_IF",31);KVb=new hXb("COMPREHENSION_FOR",32);iWb=new hXb("GET_ACCESSOR",33);LWb=new hXb("SET_ACCESSOR",34);HWb=new hXb("PROPERTY_NAME_ASSIGNMENT",35);MVb=new hXb("COMPUTED_PROPERTY_DEFINITION",36);NVb=new hXb("COMPUTED_PROPERTY_GETTER",37);PVb=new hXb("COMPUTED_PROPERTY_METHOD",38);QVb=new hXb("COMPUTED_PROPERTY_SETTER",
39);uWb=new hXb("MISSING_PRIMARY_EXPRESSION",40);IVb=new hXb("COMMA_EXPRESSION",41);AVb=new hXb("BINARY_OPERATOR",42);RVb=new hXb("CONDITIONAL_EXPRESSION",43);ZWb=new hXb("UNARY_EXPRESSION",44);_Wb=new hXb("UPDATE_EXPRESSION",45);rWb=new hXb("MEMBER_EXPRESSION",46);yWb=new hXb("NEW_EXPRESSION",47);uVb=new hXb("ARGUMENT_LIST",48);DVb=new hXb("CALL_EXPRESSION",49);HVb=new hXb("CLASS_DECLARATION",50);oWb=new hXb("INTERFACE_DECLARATION",51);wWb=new hXb(BKc,52);xWb=new hXb("NAMESPACE_NAME",53);YVb=new hXb("ENUM_DECLARATION",
54);sWb=new hXb("MEMBER_LOOKUP_EXPRESSION",55);FWb=new hXb("PAREN_EXPRESSION",56);aWb=new hXb(IKc,57);NWb=new hXb("SUPER_EXPRESSION",58);wVb=new hXb(bLc,59);yVb=new hXb("ASSIGNMENT_REST_ELEMENT",60);CWb=new hXb(cLc,61);bWb=new hXb("FORMAL_PARAMETER_LIST",62);MWb=new hXb("SPREAD_EXPRESSION",63);AWb=new hXb(cJc,64);JWb=new hXb("REST_PARAMETER",65);vWb=new hXb("MODULE_IMPORT",66);ZVb=new hXb("EXPORT_DECLARATION",67);$Vb=new hXb("EXPORT_SPECIFIER",68);lWb=new hXb("IMPORT_DECLARATION",69);mWb=new hXb("IMPORT_SPECIFIER",
70);dWb=new hXb("FOR_OF_STATEMENT",71);fXb=new hXb("YIELD_EXPRESSION",72);VVb=new hXb("DEFAULT_PARAMETER",73);PWb=new hXb("TEMPLATE_LITERAL_EXPRESSION",74);QWb=new hXb("TEMPLATE_LITERAL_PORTION",75);RWb=new hXb("TEMPLATE_SUBSTITUTION",76);XWb=new hXb("TYPE_NAME",77);YWb=new hXb("TYPE_QUERY",78);VWb=new hXb("TYPED_PARAMETER",79);DWb=new hXb(CKc,80);EWb=new hXb("PARAMETERIZED_TYPE_TREE",81);xVb=new hXb(dLc,82);IWb=new hXb(eLc,83);$Wb=new hXb(fLc,84);gWb=new hXb(gLc,85);hWb=new hXb(hLc,86);tWb=new hXb("MEMBER_VARIABLE",
87);OVb=new hXb("COMPUTED_PROPERTY_MEMBER_VARIABLE",88);WWb=new hXb(DKc,89);tVb=new hXb(yKc,90);nWb=new hXb(AKc,91);EVb=new hXb(zKc,92);zWb=new hXb("NEW_TARGET_EXPRESSION",93);zVb=new hXb("AWAIT_EXPRESSION",94)}function xTb(){xTb=bW;URb=new ATb("END_OF_FILE",0,"End of File");ZRb=new ATb(oEc,1,"error");fSb=new ATb("IDENTIFIER",2,"identifier");ARb=new zTb("BREAK",3);DRb=new zTb("CASE",4);ERb=new zTb(EKc,5);NRb=new zTb(FKc,6);ORb=new zTb(GKc,7);QRb=new zTb(QIc,8);RRb=new zTb("DELETE",9);SRb=new zTb("DO",
10);TRb=new zTb("ELSE",11);bSb=new zTb(IKc,12);cSb=new zTb("FOR",13);dSb=new zTb(SHc,14);gSb=new zTb("IF",15);jSb=new zTb("IN",16);kSb=new zTb(uKc,17);vSb=new zTb("NEW",18);TSb=new zTb(FJc,19);fTb=new zTb(JKc,20);jTb=new zTb(GJc,21);kTb=new zTb("THROW",22);nTb=new zTb("TRY",23);pTb=new zTb(KKc,24);sTb=new zTb("VAR",25);tTb=new zTb("VOID",26);uTb=new zTb("WHILE",27);vTb=new zTb("WITH",28);FRb=new zTb(RHc,29);MRb=new zTb("CONST",30);VRb=new zTb(wJc,31);$Rb=new zTb(yJc,32);_Rb=new zTb(xJc,33);iSb=new zTb(LKc,
34);eTb=new zTb(wKc,35);hSb=new zTb(zJc,36);lSb=new zTb(AJc,37);pSb=new zTb("LET",38);GSb=new zTb(BJc,39);OSb=new zTb(CJc,40);PSb=new zTb(DJc,41);QSb=new zTb(EJc,42);cTb=new zTb("STATIC",43);wTb=new zTb("YIELD",44);CSb=new ATb("OPEN_CURLY",45,"{");HRb=new ATb("CLOSE_CURLY",46,"}");DSb=new ATb("OPEN_PAREN",47,"(");IRb=new ATb("CLOSE_PAREN",48,")");ESb=new ATb("OPEN_SQUARE",49,"[");JRb=new ATb("CLOSE_SQUARE",50,"]");JSb=new ATb("PERIOD",51,".");WSb=new ATb("SEMI_COLON",52,";");LRb=new ATb("COMMA",53,
",");BSb=new ATb("OPEN_ANGLE",54,"<");GRb=new ATb("CLOSE_ANGLE",55,">");oSb=new ATb("LESS_EQUAL",56,"<=");eSb=new ATb("GREATER_EQUAL",57,">=");wRb=new ATb("ARROW",58,"=>");XRb=new ATb("EQUAL_EQUAL",59,"==");wSb=new ATb("NOT_EQUAL",60,"!=");YRb=new ATb("EQUAL_EQUAL_EQUAL",61,"===");xSb=new ATb("NOT_EQUAL_EQUAL",62,"!==");KSb=new ATb("PLUS",63,"+");qSb=new ATb("MINUS",64,"-");$Sb=new ATb("STAR",65,"*");aTb=new ATb("STAR_STAR",66,"**");HSb=new ATb("PERCENT",67,"%");MSb=new ATb("PLUS_PLUS",68,"++");sSb=
new ATb("MINUS_MINUS",69,"--");mSb=new ATb("LEFT_SHIFT",70,"<<");USb=new ATb("RIGHT_SHIFT",71,">>");qTb=new ATb("UNSIGNED_RIGHT_SHIFT",72,">>>");tRb=new ATb("AMPERSAND",73,"&");yRb=new ATb("BAR",74,"|");BRb=new ATb("CARET",75,"^");xRb=new ATb("BANG",76,"!");lTb=new ATb("TILDE",77,"~");vRb=new ATb("AND",78,"&&");FSb=new ATb("OR",79,"||");RSb=new ATb("QUESTION",80,"?");KRb=new ATb("COLON",81,":");WRb=new ATb("EQUAL",82,"=");LSb=new ATb("PLUS_EQUAL",83,"+=");rSb=new ATb("MINUS_EQUAL",84,"-=");_Sb=new ATb("STAR_EQUAL",
85,"*=");bTb=new ATb("STAR_STAR_EQUAL",86,"**=");ISb=new ATb("PERCENT_EQUAL",87,"%=");nSb=new ATb("LEFT_SHIFT_EQUAL",88,"<<=");VSb=new ATb("RIGHT_SHIFT_EQUAL",89,">>=");rTb=new ATb("UNSIGNED_RIGHT_SHIFT_EQUAL",90,">>>=");uRb=new ATb("AMPERSAND_EQUAL",91,"&=");zRb=new ATb("BAR_EQUAL",92,"|=");CRb=new ATb("CARET_EQUAL",93,"^=");XSb=new ATb("SLASH",94,"/");YSb=new ATb("SLASH_EQUAL",95,"/=");NSb=new ATb("POUND",96,"#");zSb=new zTb(cJc,97);mTb=new zTb(MKc,98);aSb=new zTb(NKc,99);ASb=new ATb(dJc,100,"number literal");
dTb=new ATb(eJc,101,"string literal");SSb=new ATb("REGULAR_EXPRESSION",102,"regular expression literal");ZSb=new ATb("SPREAD",103,aFc);gTb=new ATb("TEMPLATE_HEAD",104,"template head");hTb=new ATb("TEMPLATE_MIDDLE",105,"template middle");iTb=new ATb("TEMPLATE_TAIL",106,"template tail");ySb=new ATb("NO_SUBSTITUTION_TEMPLATE",107,"no substitution template");oTb=new zTb(HJc,108);PRb=new zTb(OKc,109);tSb=new zTb("MODULE",110);uSb=new zTb(PKc,111)}function PQb(a){var b,c;TQb(a);b=a.d;if(!AQb(a,a.d))return wQb(a,
(xTb(),URb),b);c=BQb(a);switch(c){case 123:return wQb(a,(xTb(),CSb),b);case 125:return wQb(a,(xTb(),HRb),b);case 40:return wQb(a,(xTb(),DSb),b);case 41:return wQb(a,(xTb(),IRb),b);case 91:return wQb(a,(xTb(),ESb),b);case 93:return wQb(a,(xTb(),JRb),b);case 46:if(iRb(AQb(a,a.d)?dmc(a.e.a,a.d):0))return UQb(a),KQb(a,b);if((AQb(a,a.d)?dmc(a.e.a,a.d):0)==46&&(AQb(a,a.d+1)?dmc(a.e.a,a.d+1):0)==46){BQb(a);BQb(a);return wQb(a,(xTb(),ZSb),b)}return wQb(a,(xTb(),JSb),b);case 59:return wQb(a,(xTb(),WSb),b);
case 44:return wQb(a,(xTb(),LRb),b);case 126:return wQb(a,(xTb(),lTb),b);case 63:return wQb(a,(xTb(),RSb),b);case 58:return wQb(a,(xTb(),KRb),b);case 60:switch(AQb(a,a.d)?dmc(a.e.a,a.d):0){case 60:BQb(a);if((AQb(a,a.d)?dmc(a.e.a,a.d):0)==61){BQb(a);return wQb(a,(xTb(),nSb),b)}return wQb(a,(xTb(),mSb),b);case 61:BQb(a);return wQb(a,(xTb(),oSb),b);default:return wQb(a,(xTb(),BSb),b)}case 62:if(a.f>0)return wQb(a,(xTb(),GRb),b);switch(AQb(a,a.d)?dmc(a.e.a,a.d):0){case 62:BQb(a);switch(AQb(a,a.d)?dmc(a.e.a,
a.d):0){case 61:BQb(a);return wQb(a,(xTb(),VSb),b);case 62:BQb(a);if((AQb(a,a.d)?dmc(a.e.a,a.d):0)==61){BQb(a);return wQb(a,(xTb(),rTb),b)}return wQb(a,(xTb(),qTb),b);default:return wQb(a,(xTb(),USb),b)}case 61:BQb(a);return wQb(a,(xTb(),eSb),b);default:return wQb(a,(xTb(),GRb),b)}case 61:switch(AQb(a,a.d)?dmc(a.e.a,a.d):0){case 61:BQb(a);if((AQb(a,a.d)?dmc(a.e.a,a.d):0)==61){BQb(a);return wQb(a,(xTb(),YRb),b)}return wQb(a,(xTb(),XRb),b);case 62:BQb(a);return wQb(a,(xTb(),wRb),b);default:return wQb(a,
(xTb(),WRb),b)}case 33:if((AQb(a,a.d)?dmc(a.e.a,a.d):0)==61){BQb(a);if((AQb(a,a.d)?dmc(a.e.a,a.d):0)==61){BQb(a);return wQb(a,(xTb(),xSb),b)}return wQb(a,(xTb(),wSb),b)}return wQb(a,(xTb(),xRb),b);case 42:if((AQb(a,a.d)?dmc(a.e.a,a.d):0)==61){BQb(a);return wQb(a,(xTb(),_Sb),b)}else if((AQb(a,a.d)?dmc(a.e.a,a.d):0)==42){BQb(a);if((AQb(a,a.d)?dmc(a.e.a,a.d):0)==61){BQb(a);return wQb(a,(xTb(),bTb),b)}else return wQb(a,(xTb(),aTb),b)}return wQb(a,(xTb(),$Sb),b);case 37:if((AQb(a,a.d)?dmc(a.e.a,a.d):0)==
61){BQb(a);return wQb(a,(xTb(),ISb),b)}return wQb(a,(xTb(),HSb),b);case 94:if((AQb(a,a.d)?dmc(a.e.a,a.d):0)==61){BQb(a);return wQb(a,(xTb(),CRb),b)}return wQb(a,(xTb(),BRb),b);case 47:if((AQb(a,a.d)?dmc(a.e.a,a.d):0)==61){BQb(a);return wQb(a,(xTb(),YSb),b)}return wQb(a,(xTb(),XSb),b);case 43:switch(AQb(a,a.d)?dmc(a.e.a,a.d):0){case 43:BQb(a);return wQb(a,(xTb(),MSb),b);case 61:BQb(a);return wQb(a,(xTb(),LSb),b);default:return wQb(a,(xTb(),KSb),b)}case 45:switch(AQb(a,a.d)?dmc(a.e.a,a.d):0){case 45:BQb(a);
return wQb(a,(xTb(),sSb),b);case 61:BQb(a);return wQb(a,(xTb(),rSb),b);default:return wQb(a,(xTb(),qSb),b)}case 38:switch(AQb(a,a.d)?dmc(a.e.a,a.d):0){case 38:BQb(a);return wQb(a,(xTb(),vRb),b);case 61:BQb(a);return wQb(a,(xTb(),uRb),b);default:return wQb(a,(xTb(),tRb),b)}case 124:switch(AQb(a,a.d)?dmc(a.e.a,a.d):0){case 124:BQb(a);return wQb(a,(xTb(),FSb),b);case 61:BQb(a);return wQb(a,(xTb(),zRb),b);default:return wQb(a,(xTb(),yRb),b)}case 35:return wQb(a,(xTb(),NSb),b);case 48:return NQb(a,b);
case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return UQb(a),LQb(a,b);case 34:case 39:return OQb(a,b,c);case 96:return!AQb(a,a.d)&&HQb(a,rNb(a.e.b,b),$Kc,vD(qD(lT,1),bDc,1,5,[])),EQb(a,(xTb(),ySb),gTb);default:return MQb(a,b,c)}}function A7b(a){var b,c,d,e;d=false;e=a;f:{b=null;g:switch(e.length){case 2:c=(qCc(1,e.length),e.charCodeAt(1));if(c==102){qCc(0,e.length);if(e.charCodeAt(0)==105){d=true;break f}}else if(c==110){qCc(0,e.length);if(e.charCodeAt(0)==105){d=true;break f}}else if(c==
111){qCc(0,e.length);if(e.charCodeAt(0)==100){d=true;break f}}break g;case 3:switch(qCc(0,e.length),e.charCodeAt(0)){case 102:{qCc(2,e.length);if(e.charCodeAt(2)==114&&(qCc(1,e.length),e.charCodeAt(1)==111)){d=true;break f}}break g;case 105:{qCc(2,e.length);if(e.charCodeAt(2)==116&&(qCc(1,e.length),e.charCodeAt(1)==110)){d=true;break f}}break g;case 110:{qCc(2,e.length);if(e.charCodeAt(2)==119&&(qCc(1,e.length),e.charCodeAt(1)==101)){d=true;break f}}break g;case 116:{qCc(2,e.length);if(e.charCodeAt(2)==
121&&(qCc(1,e.length),e.charCodeAt(1)==114)){d=true;break f}}break g;case 118:{qCc(2,e.length);if(e.charCodeAt(2)==114&&(qCc(1,e.length),e.charCodeAt(1)==97)){d=true;break f}}break g}break g;case 4:switch(qCc(0,e.length),e.charCodeAt(0)){case 98:b="byte";d=true;break g;case 99:c=(qCc(3,e.length),e.charCodeAt(3));if(c==101){qCc(2,e.length);if(e.charCodeAt(2)==115&&(qCc(1,e.length),e.charCodeAt(1)==97)){d=true;break f}}else if(c==114){qCc(2,e.length);if(e.charCodeAt(2)==97&&(qCc(1,e.length),e.charCodeAt(1)==
104)){d=true;break f}}break g;case 101:c=(qCc(3,e.length),e.charCodeAt(3));if(c==101){qCc(2,e.length);if(e.charCodeAt(2)==115&&(qCc(1,e.length),e.charCodeAt(1)==108)){d=true;break f}}else if(c==109){qCc(2,e.length);if(e.charCodeAt(2)==117&&(qCc(1,e.length),e.charCodeAt(1)==110)){d=true;break f}}break g;case 103:b="goto";d=true;break g;case 108:b="long";d=true;break g;case 110:b=KCc;d=true;break g;case 116:c=(qCc(3,e.length),e.charCodeAt(3));if(c==101){qCc(2,e.length);if(e.charCodeAt(2)==117&&(qCc(1,
e.length),e.charCodeAt(1)==114)){d=true;break f}}else if(c==115){qCc(2,e.length);if(e.charCodeAt(2)==105&&(qCc(1,e.length),e.charCodeAt(1)==104)){d=true;break f}}break g;case 118:b=rFc;d=true;break g;case 119:b="with";d=true;break g}break g;case 5:switch(qCc(2,e.length),e.charCodeAt(2)){case 97:b=fFc;d=true;break g;case 101:b="break";d=true;break g;case 105:b=iFc;d=true;break g;case 108:b=mFc;d=true;break g;case 110:c=(qCc(0,e.length),e.charCodeAt(0));if(c==99){b=oGc;d=true}else if(c==102){b="final";
d=true}break g;case 111:c=(qCc(0,e.length),e.charCodeAt(0));if(c==102){b="float";d=true}else if(c==115){b="short";d=true}break g;case 112:b=kFc;d=true;break g;case 114:b="throw";d=true;break g;case 116:b="catch";d=true;break g}break g;case 6:switch(qCc(1,e.length),e.charCodeAt(1)){case 97:b="native";d=true;break g;case 101:c=(qCc(0,e.length),e.charCodeAt(0));if(c==100){b=HKc;d=true}else if(c==114){b=ZEc;d=true}break g;case 104:b=bIc;d=true;break g;case 109:b=eFc;d=true;break g;case 111:b="double";
d=true;break g;case 116:b=MJc;d=true;break g;case 117:b=LJc;d=true;break g;case 119:b="switch";d=true;break g;case 120:b=bFc;d=true;break g;case 121:b=qIc;d=true;break g}break g;case 7:switch(qCc(1,e.length),e.charCodeAt(1)){case 97:b=IJc;d=true;break g;case 101:b=cFc;d=true;break g;case 105:b=YEc;d=true;break g;case 111:b=ECc;d=true;break g;case 114:b=JJc;d=true;break g;case 120:b=gFc;d=true;break g}break g;case 8:switch(qCc(0,e.length),e.charCodeAt(0)){case 97:b="abstract";d=true;break g;case 99:b=
oFc;d=true;break g;case 100:b=qFc;d=true;break g;case 102:b=GCc;d=true;break g;case 118:b="volatile";d=true;break g}break g;case 9:c=(qCc(0,e.length),e.charCodeAt(0));if(c==105){b=sFc;d=true}else if(c==112){b=KJc;d=true}else if(c==116){b="transient";d=true}break g;case 10:c=(qCc(1,e.length),e.charCodeAt(1));if(c==109){b=hFc;d=true}else if(c==110){b=rIc;d=true}break g;case 12:b="synchronized";d=true;break g}if(b!=null&&b!=e&&!imc(b,e))return false}return d}function xec(a){var b,c,d,e,f,g,h,i,j,k,l,
m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,ab,bb,cb,db,eb,fb,gb,hb;g=new u9b(a);Bec(a,(dec(),Zcc),g);w=new Rfc(a);Bec(a,vdc,w);G=new Zfc(a);Bec(a,Bdc,G);V=new vhc(a);Bec(a,Qdc,V);db=new rjc(a,false);Bec(a,_dc,db);hb=new rjc(a,true);Bec(a,$cc,hb);gb=new Fjc(a);Bec(a,cec,gb);b=new Y8b(a);Bec(a,Ucc,b);a.g=new Ahc(a,"IObject#KEY1");a.f=new Ahc(a,"IObject#VALUE");a.a=new Ahc(a,"T");Z=new Gac(a,null,null,true,null);Bec(a,Udc,Z);I=new sbc(a,XGc,null,new j9b(a,nec(a,vD(qD(nS,
1),xLc,23,0,[b])),null),null,qec(a,(Sn(),new Rx(jo(vD(qD(lT,1),bDc,1,5,[a.g,a.f])))),null),true,true,false);I.c.b=(ce(I.i==(occ(),lcc)||I.i==mcc,ALc,I),X7b(I.o));nbc(I,Z,null);Bec(a,Ddc,I);M=(ce(I.i==lcc||I.i==mcc,ALc,I),X7b(I.o));Bec(a,Hdc,M);L=kbc(I);Bec(a,Gdc,L);n=new sbc(a,UGc,null,new j9b(a,pec(a,true,vD(qD(nS,1),xLc,23,0,[b])),db),null,null,true,true,false);obc(n,M,null);Bec(a,hdc,n);o=kbc(n);Bec(a,jdc,o);v=new yfc(a);Bec(a,udc,v);t=new ifc(a);Bec(a,sdc,t);u=new Ifc(a);Bec(a,tdc,u);c=new sbc(a,
zGc,null,new j9b(a,pec(a,true,vD(qD(nS,1),xLc,23,0,[b])),null),null,Jhc(qec(a,new My(Td(a.a)),null),qec(a,new My(Td(a.f)),new My(Td(a.a)))),true,true,false);c.c.b=(ce(c.i==lcc||c.i==mcc,ALc,c),X7b(c.o));kbc(c);Bec(a,Vcc,c);d=(ce(c.i==lcc||c.i==mcc,ALc,c),X7b(c.o));Bec(a,Wcc,d);e=new sbc(a,TGc,null,new j9b(a,nec(a,vD(qD(nS,1),xLc,23,0,[b])),g),null,null,true,true,false);kbc(e);Bec(a,Xcc,e);f=(ce(e.i==lcc||e.i==mcc,ALc,e),X7b(e.o));Bec(a,Ycc,f);h=new sbc(a,"Date",null,new j9b(a,nec(a,vD(qD(nS,1),xLc,
23,0,[db,db,db,db,db,db,db])),V),null,null,true,true,false);kbc(h);Bec(a,_cc,h);i=(ce(h.i==lcc||h.i==mcc,ALc,h),X7b(h.o));Bec(a,adc,i);j=new Wbc(a,PGc);Bec(a,cdc,j);k=(ce(j.i==lcc||j.i==mcc,ALc,j),X7b(j.o));Bec(a,ddc,k);l=new Wbc(a,"EvalError");obc(l,k,null);Bec(a,edc,l);m=(ce(l.i==lcc||l.i==mcc,ALc,l),X7b(l.o));Bec(a,fdc,m);N=new Wbc(a,QGc);obc(N,k,null);Bec(a,Idc,N);O=(ce(N.i==lcc||N.i==mcc,ALc,N),X7b(N.o));Bec(a,Jdc,O);P=new Wbc(a,RGc);obc(P,k,null);Bec(a,Kdc,P);Q=(ce(P.i==lcc||P.i==mcc,ALc,P),
X7b(P.o));Bec(a,Ldc,Q);X=new Wbc(a,SGc);obc(X,k,null);Bec(a,Sdc,X);Y=(ce(X.i==lcc||X.i==mcc,ALc,X),X7b(X.o));Bec(a,Tdc,Y);$=new Wbc(a,"TypeError");obc($,k,null);Bec(a,Xdc,$);ab=(ce($.i==lcc||$.i==mcc,ALc,$),X7b($.o));Bec(a,Ydc,ab);eb=new Wbc(a,"URIError");obc(eb,k,null);Bec(a,aec,eb);fb=(ce(eb.i==lcc||eb.i==mcc,ALc,eb),X7b(eb.o));Bec(a,bec,fb);B=new sbc(a,VGc,null,new j9b(a,nec(a,vD(qD(nS,1),xLc,23,0,[b])),G),null,null,true,true,false);kbc(B);Bec(a,xdc,B);C=(ce(B.i==lcc||B.i==mcc,ALc,B),X7b(B.o));
Bec(a,ydc,C);R=new sbc(a,WGc,null,new j9b(a,nec(a,vD(qD(nS,1),xLc,23,0,[b,b])),null),null,null,true,true,false);R.c.b=(ce(R.i==lcc||R.i==mcc,ALc,R),X7b(R.o));kbc(R);Bec(a,Mdc,R);S=(ce(R.i==lcc||R.i==mcc,ALc,R),X7b(R.o));Bec(a,Ndc,S);T=new sbc(a,bEc,null,new j9b(a,nec(a,vD(qD(nS,1),xLc,23,0,[b])),V),null,null,true,true,false);kbc(T);Bec(a,Odc,T);U=(ce(T.i==lcc||T.i==mcc,ALc,T),X7b(T.o));Bec(a,Pdc,U);A=rec(a,vD(qD(nS,1),xLc,23,0,[w,gb]));Bec(a,wdc,A);J=rec(a,vD(qD(nS,1),xLc,23,0,[M,G,V]));Bec(a,Edc,
J);K=rec(a,vD(qD(nS,1),xLc,23,0,[M,G,V,g]));Bec(a,Fdc,K);F=rec(a,vD(qD(nS,1),xLc,23,0,[G,V,g]));Bec(a,Adc,F);D=rec(a,vD(qD(nS,1),xLc,23,0,[G,V]));Bec(a,zdc,D);W=rec(a,vD(qD(nS,1),xLc,23,0,[U,V]));Bec(a,Rdc,W);H=rec(a,vD(qD(nS,1),xLc,23,0,[C,G]));Bec(a,Cdc,H);cb=iec(a,db,vD(qD(nS,1),xLc,23,0,[db]));Bec(a,$dc,cb);bb=new Jec(a,new j9b(a,pec(a,true,vD(qD(nS,1),xLc,23,0,[db])),db),db);Bec(a,Zdc,bb);Bec(a,idc,bb);n.o=bb;Zd(!(!!bb.j||!bb.w));bb.r=o;s=kec(a,v,vD(qD(nS,1),xLc,23,0,[b]));Bec(a,rdc,s);q=new sbc(a,
"global this",null,new j9b(a,pec(a,false,vD(qD(nS,1),xLc,23,0,[b])),G),null,null,true,true,false);p=(ce(q.i==lcc||q.i==mcc,ALc,q),X7b(q.o));Bec(a,ldc,p);r=kec(a,b,vD(qD(nS,1),xLc,23,0,[v]));Bec(a,mdc,r);Cec(a,PEc,I)}function Bsb(){Bsb=bW;new s6("JSC_INTERNAL_ERROR_UNEXPECTED_TOKEN",(pZ(),mZ),new xnc("Internal Error: TypeCheck doesn''t know how to handle {0}"));$rb=new s6("JSC_DETERMINISTIC_TEST",oZ,new xnc("condition always evaluates to {2}\nleft : {0}\nright: {1}"));ksb=new s6("JSC_INEXISTENT_ENUM_ELEMENT",
oZ,new xnc("element {0} does not exist on this enum"));lsb=new s6("JSC_INEXISTENT_PROPERTY",oZ,new xnc(iIc));wsb=new s6("JSC_POSSIBLE_INEXISTENT_PROPERTY",nZ,new xnc(iIc));msb=new s6("JSC_INEXISTENT_PROPERTY_WITH_SUGGESTION",nZ,new xnc("Property {0} never defined on {1}. Did you mean {2}?"));usb=new s6("JSC_NOT_A_CONSTRUCTOR",oZ,new xnc("cannot instantiate non-constructor"));nsb=new s6("JSC_INSTANTIATE_ABSTRACT_CLASS",oZ,new xnc("cannot instantiate abstract class"));Wrb=new s6("JSC_BAD_TYPE_FOR_BIT_OPERATION",
oZ,new xnc("operator {0} cannot be applied to {1}"));vsb=new s6("JSC_NOT_FUNCTION_TYPE",oZ,new xnc("{0} expressions are not callable"));Zrb=new s6("JSC_CONSTRUCTOR_NOT_CALLABLE",oZ,new xnc(fIc));Trb=new s6("JSC_ABSTRACT_SUPER_METHOD_NOT_CALLABLE",oZ,new xnc(mIc));csb=new s6("JSC_FUNCTION_MASKS_VARIABLE",oZ,new xnc("function {0} masks variable (IE bug)"));ssb=new s6("JSC_MULTIPLE_VAR_DEF",oZ,new xnc("declaration of multiple variables with shared type information"));_rb=new s6("JSC_ENUM_DUP",mZ,new xnc("enum element {0} already defined"));
qsb=new s6("JSC_INVALID_INTERFACE_MEMBER_DECLARATION",oZ,new xnc("interface members can only be empty property declarations, empty functions{0}"));osb=new s6("JSC_INTERFACE_METHOD_NOT_EMPTY",oZ,new xnc(UHc));Xrb=new s6("JSC_CONFLICTING_EXTENDED_TYPE",oZ,new xnc(SIc));asb=new s6("JSC_ES5_CLASS_EXTENDING_ES6_CLASS",oZ,new xnc("ES5 class {0} cannot extend ES6 class {1}"));new s6("JSC_INTERFACE_EXTENDS_LOOP",oZ,new xnc("extends loop involving {0}, loop: {1}"));Yrb=new s6("JSC_CONFLICTING_IMPLEMENTED_TYPE",
oZ,new xnc(TIc));Vrb=new s6("JSC_IMPLEMENTS_NON_INTERFACE",oZ,new xnc("can only implement interfaces"));esb=new s6("JSC_HIDDEN_SUPERCLASS_PROPERTY",nZ,new xnc("property {0} already defined on superclass {1}; use @override to override it"));dsb=new s6("JSC_HIDDEN_INTERFACE_PROPERTY",nZ,new xnc("property {0} already defined on interface {1}; use @override to override it"));fsb=new s6("JSC_HIDDEN_SUPERCLASS_PROPERTY_MISMATCH",oZ,new xnc("mismatch of the {0} property type and the type of the property it overrides from superclass {1}\noriginal: {2}\noverride: {3}"));
ysb=new s6("JSC_UNKNOWN_OVERRIDE",oZ,new xnc("property {0} not defined on any superclass of {1}"));psb=new s6("JSC_INTERFACE_METHOD_OVERRIDE",oZ,new xnc("property {0} is already defined by the {1} extended interface"));xsb=new s6("JSC_UNKNOWN_EXPR_TYPE",nZ,new xnc("could not determine the type of this expression"));zsb=new s6("JSC_UNRESOLVED_TYPE",oZ,new xnc("could not resolve the name {0} to a type"));Asb=new s6("JSC_WRONG_ARGUMENT_COUNT",oZ,new xnc(jIc));gsb=new s6("JSC_ILLEGAL_IMPLICIT_CAST",oZ,
new xnc("Illegal annotation on {0}. @implicitCast may only be used in externs."));jsb=new s6("JSC_INCOMPATIBLE_EXTENDED_PROPERTY_TYPE",oZ,new xnc("Interface {0} has a property {1} with incompatible types in its super interfaces {2} and {3}"));bsb=new s6("JSC_EXPECTED_THIS_TYPE",oZ,new xnc('"{0}" must be called with a "this" type'));rsb=new s6("JSC_IN_USED_WITH_STRUCT",oZ,new xnc(hIc));isb=new s6("JSC_ILLEGAL_PROPERTY_CREATION",oZ,new xnc("Cannot add a property to a struct instance after it is constructed. (If you already declared the property, make sure to give it a type.)"));
hsb=new s6("JSC_ILLEGAL_OBJLIT_KEY",oZ,new xnc(gIc));tsb=new s6("JSC_NON_STRINGIFIABLE_OBJECT_KEY",oZ,new xnc('Object type "{0}" contains non-stringifiable key and it may lead to an error. Please use ES6 Map instead or implement your own Map structure.'));Srb=new s6("JSC_ABSTRACT_METHOD_IN_CONCRETE_CLASS",oZ,new xnc("Abstract methods can only appear in abstract classes. Please declare the class as @abstract"));Urb=new J5(vD(qD(lK,1),bDc,5,0,[$rb,ksb,lsb,wsb,msb,usb,nsb,Wrb,vsb,Zrb,csb,ssb,_rb,qsb,
osb,Xrb,Yrb,Vrb,fsb,ysb,psb,zsb,Asb,gsb,jsb,bsb,rsb,isb,hsb,tsb,Srb,Trb,asb,(Gob(),Dob),Fob,(htb(),gtb),etb,atb,dtb,(Hcb(),Ecb)]))}function w7b(){w7b=bW;R6b=new x7b(FJc,0);S4b=new x7b("BITOR",1);T4b=new x7b("BITXOR",2);Q4b=new x7b("BITAND",3);v5b=new x7b("EQ",4);s6b=new x7b("NE",5);i6b=new x7b("LT",6);f6b=new x7b("LE",7);O5b=new x7b("GT",8);I5b=new x7b("GE",9);h6b=new x7b("LSH",10);T6b=new x7b("RSH",11);p7b=new x7b("URSH",12);u4b=new x7b("ADD",13);b7b=new x7b("SUB",14);n6b=new x7b("MUL",15);o5b=new x7b("DIV",
16);l6b=new x7b("MOD",17);x5b=new x7b("EXPONENT",18);w6b=new x7b("NOT",19);R4b=new x7b("BITNOT",20);L6b=new x7b("POS",21);t6b=new x7b("NEG",22);u6b=new x7b("NEW",23);m5b=new x7b("DELPROP",24);l7b=new x7b(KKc,25);M5b=new x7b("GETPROP",26);L5b=new x7b("GETELEM",27);X4b=new x7b("CALL",28);o6b=new x7b("NAME",29);z6b=new x7b(dJc,30);$6b=new x7b(eJc,31);x6b=new x7b(cJc,32);h7b=new x7b(GJc,33);C5b=new x7b(NKc,34);j7b=new x7b(MKc,35);W6b=new x7b("SHEQ",36);X6b=new x7b("SHNE",37);O6b=new x7b("REGEXP",38);
i7b=new x7b("THROW",39);W5b=new x7b("IN",40);Z5b=new x7b(uKc,41);y4b=new x7b("ARRAYLIT",42);B6b=new x7b("OBJECTLIT",43);k7b=new x7b("TRY",44);G6b=new x7b("PARAM_LIST",45);d5b=new x7b("COMMA",46);B4b=new x7b("ASSIGN",47);E4b=new x7b("ASSIGN_BITOR",48);F4b=new x7b("ASSIGN_BITXOR",49);D4b=new x7b("ASSIGN_BITAND",50);I4b=new x7b("ASSIGN_LSH",51);L4b=new x7b("ASSIGN_RSH",52);N4b=new x7b("ASSIGN_URSH",53);C4b=new x7b("ASSIGN_ADD",54);M4b=new x7b("ASSIGN_SUB",55);K4b=new x7b("ASSIGN_MUL",56);G4b=new x7b("ASSIGN_DIV",
57);J4b=new x7b("ASSIGN_MOD",58);H4b=new x7b("ASSIGN_EXPONENT",59);P5b=new x7b("HOOK",60);E6b=new x7b("OR",61);v4b=new x7b("AND",62);X5b=new x7b("INC",63);i5b=new x7b("DEC",64);G5b=new x7b(SHc,65);Q5b=new x7b("IF",66);d7b=new x7b(JKc,67);Z4b=new x7b("CASE",68);k5b=new x7b("DEFAULT_CASE",69);t7b=new x7b("WHILE",70);p5b=new x7b("DO",71);D5b=new x7b("FOR",72);E5b=new x7b("FOR_IN",73);W4b=new x7b("BREAK",74);g5b=new x7b(FKc,75);q7b=new x7b("VAR",76);u7b=new x7b("WITH",77);_4b=new x7b(EKc,78);r7b=new x7b("VOID",
79);r5b=new x7b("EMPTY",80);S6b=new x7b("ROOT",81);U4b=new x7b("BLOCK",82);b6b=new x7b("LABEL",83);B5b=new x7b("EXPR_RESULT",84);U6b=new x7b("SCRIPT",85);N5b=new x7b("GETTER_DEF",86);V6b=new x7b("SETTER_DEF",87);f5b=new x7b("CONST",88);h5b=new x7b(GKc,89);c6b=new x7b("LABEL_NAME",90);_6b=new x7b("STRING_KEY",91);$4b=new x7b("CAST",92);z4b=new x7b(bLc,93);C6b=new x7b(cLc,94);n5b=new x7b("DESTRUCTURING_LHS",95);a5b=new x7b(RHc,96);b5b=new x7b("CLASS_MEMBERS",97);j6b=new x7b("MEMBER_FUNCTION_DEF",98);
c7b=new x7b(wKc,99);g6b=new x7b("LET",100);F5b=new x7b("FOR_OF",101);v7b=new x7b("YIELD",102);O4b=new x7b("AWAIT",103);S5b=new x7b(LKc,104);U5b=new x7b("IMPORT_SPECS",105);T5b=new x7b("IMPORT_SPEC",106);V5b=new x7b("IMPORT_STAR",107);y5b=new x7b(yJc,108);A5b=new x7b("EXPORT_SPECS",109);z5b=new x7b("EXPORT_SPEC",110);m6b=new x7b("MODULE_BODY",111);P6b=new x7b("REST",112);Y6b=new x7b("SPREAD",113);e5b=new x7b("COMPUTED_PROP",114);e7b=new x7b("TAGGED_TEMPLATELIT",115);f7b=new x7b("TEMPLATELIT",116);
g7b=new x7b("TEMPLATELIT_SUB",117);l5b=new x7b("DEFAULT_VALUE",118);v6b=new x7b(xKc,119);a7b=new x7b(tLc,120);V4b=new x7b(uLc,121);A6b=new x7b(vLc,122);H5b=new x7b(gLc,123);F6b=new x7b("PARAMETERIZED_TYPE",124);o7b=new x7b(fLc,125);x4b=new x7b("ANY_TYPE",126);y6b=new x7b("NULLABLE_TYPE",127);s7b=new x7b("VOID_TYPE",128);Q6b=new x7b("REST_PARAMETER_TYPE",129);p6b=new x7b("NAMED_TYPE",130);D6b=new x7b(CKc,131);N6b=new x7b(eLc,132);n7b=new x7b("UNDEFINED_TYPE",133);A4b=new x7b(dLc,134);J5b=new x7b("GENERIC_TYPE",
135);K5b=new x7b(hLc,136);w4b=new x7b(gKc,137);H6b=new x7b("PIPE",138);Z6b=new x7b("STAR",139);u5b=new x7b("EOC",140);M6b=new x7b("QMARK",141);q5b=new x7b("ELLIPSIS",142);P4b=new x7b("BANG",143);w5b=new x7b("EQUALS",144);d6b=new x7b("LB",145);e6b=new x7b("LC",146);c5b=new x7b("COLON",147);$5b=new x7b(AJc,148);_5b=new x7b("INTERFACE_EXTENDS",149);a6b=new x7b("INTERFACE_MEMBERS",150);s5b=new x7b(wJc,151);t5b=new x7b("ENUM_MEMBERS",152);R5b=new x7b(zJc,153);m7b=new x7b(DKc,154);j5b=new x7b(OKc,155);
k6b=new x7b("MEMBER_VARIABLE_DEF",156);Y5b=new x7b(AKc,157);Y4b=new x7b(zKc,158);q6b=new x7b(PKc,159);r6b=new x7b("NAMESPACE_ELEMENTS",160);I6b=new x7b("PLACEHOLDER1",161);J6b=new x7b("PLACEHOLDER2",162);K6b=new x7b("PLACEHOLDER3",163)}function Oeb(){Oeb=bW;ueb=new s6("JSC_NTI_DUPLICATE_JSDOC",(pZ(),oZ),new xnc("Found two JsDoc comments for variable: {0}.\n"));Ieb=new s6("JSC_NTI_REDECLARED_PROPERTY",oZ,new xnc("Found two declarations for property {0} on {1}.\n"));Ceb=new s6("JSC_NTI_INVALID_PROP_OVERRIDE",
oZ,new xnc("Invalid redeclaration of property {0}.\ninherited type  : {1}\noverriding type : {2}\n"));seb=new s6("JSC_NTI_CTOR_IN_DIFFERENT_SCOPE",oZ,new xnc("Modifying the prototype is only allowed if the constructor is in the same scope\n"));Meb=new s6("JSC_NTI_UNRECOGNIZED_TYPE_NAME",oZ,new xnc("Type annotation references non-existent type {0}."));Keb=new s6("JSC_NTI_STRUCT_WITHOUT_CTOR_OR_INTERF",oZ,new xnc("@struct used without @constructor, @interface, or @record."));teb=new s6("JSC_NTI_DICT_WITHOUT_CTOR",
oZ,new xnc("@dict used without @constructor."));web=new s6("JSC_NTI_EXPECTED_CONSTRUCTOR",oZ,new xnc("Expected constructor name but found {0}."));xeb=new s6("JSC_NTI_EXPECTED_INTERFACE",oZ,new xnc("Expected interface name but found {0}."));yeb=new s6("JSC_NTI_INEXISTENT_PARAM",oZ,new xnc(NHc));qeb=new s6("JSC_NTI_CONST_WITHOUT_INITIALIZER",oZ,new xnc("Constants must be initialized when they are defined."));reb=new s6("JSC_NTI_COULD_NOT_INFER_CONST_TYPE",oZ,new xnc("All constants must be typed. The compiler could not infer the type of constant {0}. Please use an explicit type annotation. For more information, see:\nhttps://github.com/google/closure-compiler/wiki/Using-NTI-(new-type-inference)#warnings-about-uninferred-constants"));
Feb=new s6("JSC_NTI_MISPLACED_CONST_ANNOTATION",oZ,new xnc("This property cannot be @const. The @const annotation is only allowed for properties of namespaces, prototype properties, static properties of constructors, and properties of the form this.prop declared inside constructors and prototype methods."));oeb=new s6("JSC_NTI_CANNOT_OVERRIDE_FINAL_METHOD",oZ,new xnc("Final method {0} cannot be overriden."));neb=new s6("JSC_NTI_CANNOT_INIT_TYPEDEF",oZ,new xnc("A typedef variable represents a type name; it cannot be assigned a value."));
leb=new s6("JSC_NTI_ANONYMOUS_NOMINAL_TYPE",oZ,new xnc("Must specify a name when defining a class or interface."));Eeb=new s6("JSC_NTI_MALFORMED_ENUM",oZ,new xnc("An enum must be initialized to a non-empty object literal."));veb=new s6("JSC_NTI_DUPLICATE_PROP_IN_ENUM",oZ,new xnc("Property {0} appears twice in the enum declaration."));Deb=new s6("JSC_NTI_LENDS_ON_BAD_TYPE",oZ,new xnc("May only lend properties to namespaces, constructors and their prototypes. Found {0}."));Beb=new s6("JSC_NTI_INVALID_INTERFACE_PROP_INITIALIZER",
oZ,new xnc("Invalid initialization of interface property."));Jeb=new s6("JSC_NTI_SETTER_WITH_RETURN",oZ,new xnc("Cannot declare a return type on a setter."));Neb=new s6("JSC_NTI_WRONG_PARAMETER_COUNT",oZ,new xnc("Function definition does not have the declared number of parameters.\nExpected: {0}\nFound: {1}"));meb=new s6("JSC_NTI_CANNOT_ADD_PROPERTIES_TO_TYPEDEF",oZ,new xnc("A typedef should only be used in type annotations, not as a value. Adding properties to typedefs is not allowed."));keb=new s6("JSC_NTI_ANCESTOR_TYPES_HAVE_INCOMPATIBLE_PROPERTIES",
oZ,new xnc("Type {0} has a property {1} with incompatible types in its ancestor types: {2}"));Heb=new s6("JSC_NTI_ONE_TYPE_FOR_MANY_VARS",oZ,new xnc("Having one type annotation for multiple variables is not allowed."));Leb=new s6("JSC_NTI_UNKNOWN_OVERRIDE",oZ,new xnc("property {0} not defined on any supertype of {1}"));Aeb=new s6("JSC_NTI_INTERFACE_METHOD_NOT_IMPLEMENTED",oZ,new xnc(THc));zeb=new s6("JSC_NTI_INTERFACE_METHOD_NOT_EMPTY",oZ,new xnc(UHc));heb=new s6("JSC_NTI_ABSTRACT_METHOD_IN_CONCRETE_CLASS",
oZ,new xnc("Abstract methods can only appear in abstract classes. Please declare class {0} as @abstract"));ieb=new s6("JSC_NTI_ABSTRACT_METHOD_IN_INTERFACE",oZ,new xnc("Abstract methods cannot appear in interfaces"));jeb=new s6("JSC_NTI_ABSTRACT_METHOD_NOT_IMPLEMENTED_IN_CONCRETE_CLASS",oZ,new xnc("Abstract method {0} from superclass {1} not implemented"));peb=new J5(vD(qD(lK,1),bDc,5,0,[heb,oeb,teb,veb,web,xeb,yeb,Aeb,zeb,Beb,Ceb,Deb,Heb,Ieb,Keb,keb,Leb,Meb,Neb]));Geb=new J5(vD(qD(lK,1),bDc,5,0,
[ieb,jeb,leb,meb,neb,qeb,reb,seb,ueb,Eeb,Feb,Jeb]))}function n6(){n6=bW;j6=new s6("JSC_UNUSED",(pZ(),oZ),new xnc(bGc));Jp(cGc,dGc,eGc,fGc,gGc,hGc,vD(qD(qT,1),NCc,2,6,[iGc,jGc]));m6=new xwc;q6("moduleLoad",vD(qD(lK,1),bDc,5,0,[(Hub(),Fub),(Rmb(),Pmb),Qmb]));$5=q6("globalThis",vD(qD(lK,1),bDc,5,0,[(cZ(),bZ)]));q6(kGc,vD(qD(lK,1),bDc,5,0,[(WY(),PY),QY,RY,SY,NY,OY]));q6("underscore",vD(qD(lK,1),bDc,5,0,[(vwb(),rwb),swb]));l6=q6("visibility",vD(qD(lK,1),bDc,5,0,[HY,IY,GY,JY,TY,UY,VY,MY]));o6("accessControls",
l6);q6("nonStandardJsDocs",vD(qD(lK,1),bDc,5,0,[(Gob(),nob),tob,uob]));q6("invalidCasts",vD(qD(lK,1),bDc,5,0,[(Nsb(),Jsb),(cib(),Bhb)]));o6(lGc,new I5(lGc,vD(qD(lK,1),bDc,5,0,[j6])));q6("strictModuleDepCheck",vD(qD(lK,1),bDc,5,0,[(Ntb(),Htb),(aZ(),$Y)]));q6("violatedModuleDep",vD(qD(lK,1),bDc,5,0,[Mtb]));q6("externsValidation",vD(qD(lK,1),bDc,5,0,[Gtb,Itb]));q6("ambiguousFunctionDecl",vD(qD(lK,1),bDc,5,0,[(dqb(),Xpb)]));q6("unknownDefines",vD(qD(lK,1),bDc,5,0,[(Wmb(),Vmb)]));q6("tweakValidation",
vD(qD(lK,1),bDc,5,0,[(_mb(),Xmb),Zmb,$mb]));q6("missingOverride",vD(qD(lK,1),bDc,5,0,[(Bsb(),dsb),esb]));_5=q6("missingProperties",vD(qD(lK,1),bDc,5,0,[lsb,msb,wsb,zhb,Rhb]));q6("j2clChecks",vD(qD(lK,1),bDc,5,0,[(efb(),dfb)]));q6("missingReturn",vD(qD(lK,1),bDc,5,0,[(yZ(),xZ)]));q6("internetExplorerChecks",vD(qD(lK,1),bDc,5,0,[Cob]));i6=q6("undefinedVars",vD(qD(lK,1),bDc,5,0,[Jtb]));h6=q6("undefinedNames",vD(qD(lK,1),bDc,5,0,[_Y]));q6("checkDebuggerStatement",vD(qD(lK,1),bDc,5,0,[(ZY(),YY)]));q6("checkRegExp",
vD(qD(lK,1),bDc,5,0,[(DZ(),CZ),BZ]));e6=p6("oldCheckTypes",vD(qD(kK,1),bDc,50,0,[Dsb,Urb,$5]));c6=p6(hGc,vD(qD(kK,1),bDc,50,0,[(DAb(),iAb),(Oeb(),peb),khb]));d6=p6(iGc,vD(qD(kK,1),bDc,50,0,[xAb,Geb,Mhb]));b6=p6(gGc,vD(qD(kK,1),bDc,50,0,[c6,d6]));U5=p6(QFc,vD(qD(kK,1),bDc,50,0,[e6,b6]));q6("newCheckTypesAllChecks",vD(qD(lK,1),bDc,5,0,[Qhb]));q6("newCheckTypesClosureClean",vD(qD(lK,1),bDc,5,0,[jAb,kAb,lAb,qAb,rAb,uAb,vAb,BAb,heb,keb,leb,neb,oeb,qeb,reb,seb,teb,ueb,veb,web,xeb,yeb,Aeb,Deb,Eeb,Feb,Heb,
Keb,Leb,Meb,chb,ehb,hhb,ohb,lhb,phb,rhb,vhb,whb,xhb,Ihb,Ehb,Fhb,Hhb,Jhb,Nhb,Ohb,Xhb,$hb]));q6("tooManyTypeParams",vD(qD(lK,1),bDc,5,0,[Bob]));o6(mGc,new I5(mGc,vD(qD(lK,1),bDc,5,0,[j6])));q6(fGc,vD(qD(lK,1),bDc,5,0,[xsb]));f6=q6(cGc,vD(qD(lK,1),bDc,5,0,[xsb,Yhb]));V5=q6("checkVars",vD(qD(lK,1),bDc,5,0,[Jtb,Ltb,(bub(),$tb),_tb]));q6(nGc,vD(qD(lK,1),bDc,5,0,[(FZ(),EZ),(OZ(),NZ)]));q6(oGc,vD(qD(lK,1),bDc,5,0,[KY,LY,(n5(),m5),ohb,nhb,mhb]));S5=q6("accessControlsConst",vD(qD(lK,1),bDc,5,0,[KY,LY]));q6("constantProperty",
vD(qD(lK,1),bDc,5,0,[KY,LY,nhb,mhb]));q6("typeInvalidation",vD(qD(lK,1),bDc,5,0,[(y6(),w6),x6]));W5=q6(pGc,vD(qD(lK,1),bDc,5,0,[(D0(),C0),Ltb,Esb,Fsb,_tb,Ieb]));q6("es3",vD(qD(lK,1),bDc,5,0,[rob,Cob]));Z5=q6("es5StrictUncommon",vD(qD(lK,1),bDc,5,0,[sob,oob,cqb,_pb,$pb,Wpb,Tpb,Ypb,Zpb]));Y5=q6("es5StrictReflection",vD(qD(lK,1),bDc,5,0,[Upb,Vpb,bqb,aqb]));X5=p6("es5Strict",vD(qD(kK,1),bDc,50,0,[Z5,Y5]));a6=q6("missingProvide",vD(qD(lK,1),bDc,5,0,[(AZ(),zZ),(p$(),m$)]));q6(qGc,vD(qD(lK,1),bDc,5,0,[(wZ(),
vZ)]));p6(jGc,vD(qD(kK,1),bDc,50,0,[f6,h6,i6,a6,K5((Hcb(),Acb)),K5((Omb(),Mmb)),_5,W5,K5(Umb),K5((F7(),E7))]));g6=q6("strictMissingRequire",vD(qD(lK,1),bDc,5,0,[vZ,tZ,uZ]));q6("legacyGoogScopeRequire",vD(qD(lK,1),bDc,5,0,[tZ,sZ]));q6("extraRequire",vD(qD(lK,1),bDc,5,0,[sZ]));q6("misplacedTypeAnnotation",vD(qD(lK,1),bDc,5,0,[(lZ(),eZ),fZ,gZ,iZ,hZ,jZ,kZ]));q6("misplacedMsgAnnotation",vD(qD(lK,1),bDc,5,0,[kZ]));q6("suspiciousCode",vD(qD(lK,1),bDc,5,0,[(Yvb(),Xvb),(LZ(),KZ),GZ,IZ,HZ,JZ,$rb,Pmb]));q6("functionParams",
vD(qD(lK,1),bDc,5,0,[ycb,zcb]));q6("deprecatedAnnotations",vD(qD(lK,1),bDc,5,0,[dZ]));k6=q6("unusedPrivateMembers",vD(qD(lK,1),bDc,5,0,[(QZ(),PZ)]));q6("unusedLocalVariables",vD(qD(lK,1),bDc,5,0,[aub]));q6("jsdocMissingType",vD(qD(lK,1),bDc,5,0,[wob]));q6("unnecessaryEscape",vD(qD(lK,1),bDc,5,0,[Eob]));p6("lintChecks",vD(qD(kK,1),bDc,50,0,[hwb,new J5(vD(qD(lK,1),bDc,5,0,[($vb(),Zvb),(dwb(),_vb),awb,bwb,cwb,(gwb(),ewb),fwb,(xwb(),wwb),(Dwb(),Bwb),Cwb,(Fwb(),Ewb),(Kwb(),Gwb),Jwb,Iwb,Hwb,(Mwb(),Lwb),
(Owb(),Nwb),(ZZ(),SZ),TZ,WZ,UZ,VZ,XZ,YZ,n$,vob]))]));q6("strictModuleChecks",vD(qD(lK,1),bDc,5,0,[RZ,WZ,UZ,VZ,XZ,YZ]));T5=q6(eGc,vD(qD(lK,1),bDc,5,0,[(Wvb(),Vvb),(Awb(),ywb),zwb,(cfb(),bfb)]));p6(dGc,vD(qD(kK,1),bDc,50,0,[T5,k6]));q6("useOfGoogBase",vD(qD(lK,1),bDc,5,0,[Nmb]));q6("closureDepMethodUsageChecks",vD(qD(lK,1),bDc,5,0,[Jmb]));q6("transitionalSuspiciousCodeWarnings",vD(qD(lK,1),bDc,5,0,[(Ilb(),Glb),Hlb,Flb]));q6("lateProvide",vD(qD(lK,1),bDc,5,0,[Lmb]));q6("missingPolyfill",vD(qD(lK,1),
bDc,5,0,[(Wnb(),Vnb)]));q6("invalidProvide",vD(qD(lK,1),bDc,5,0,[Kmb]));q6("es6Typed",vD(qD(lK,1),bDc,5,0,[xob]));o6(rGc,new I5(rGc,vD(qD(lK,1),bDc,5,0,[j6])))}function cib(){cib=bW;Khb=new s6("JSC_NTI_MISTYPED_ASSIGN_RHS",(pZ(),oZ),new xnc("The right side in the assignment is not a subtype of the left side.\n{0}"));Ghb=new s6("JSC_NTI_INVALID_OPERAND_TYPE",oZ,new xnc("Invalid type(s) for operator {0}.\n{1}"));Uhb=new s6("JSC_NTI_RETURN_NONDECLARED_TYPE",oZ,new xnc("Returned type does not match declared return type.\n{0}"));
Ehb=new s6("JSC_NTI_INVALID_INFERRED_RETURN_TYPE",oZ,new xnc("Function called in context that expects incompatible type.\n{0}"));Chb=new s6("JSC_NTI_INVALID_DECLARED_RETURN_TYPE_OF_GENERATOR_FUNCTION",oZ,new xnc("A generator function must return a (supertype of) Generator.\n{0}."));Ahb=new s6("JSC_NTI_INVALID_ARGUMENT_TYPE",oZ,new xnc("Invalid type for parameter {0} of function {1}.\n{2}"));Vhb=new s6("JSC_NTI_TEMPLATE_ARGUMENT_MISMATCH",oZ,new xnc("Invalid type for the first parameter of tag function {0}.\n{1}"));
Whb=new s6("JSC_NTI_TEMPLATE_ARGUMENT_MISSING",oZ,new xnc("A tag function must take at least one argument.\n"));phb=new s6("JSC_NTI_CROSS_SCOPE_GOTCHA",oZ,new xnc("Variable {0} typed inconsistently across scopes.\nIn outer scope : {1}\nIn inner scope : {2}\n"));Rhb=new s6("JSC_NTI_POSSIBLY_INEXISTENT_PROPERTY",oZ,new xnc("Property {0} may not be present on {1}."));Shb=new s6("JSC_NTI_PROPERTY_ACCESS_ON_NONOBJECT",oZ,new xnc("Cannot access property {0} of non-object type {1}."));Phb=new s6("JSC_NTI_NOT_UNIQUE_INSTANTIATION",
oZ,new xnc("When instantiating a polymorphic function, you can only specify one type for each type variable.\n Found {0} types for type variable {1}: {2},\n when instantiating type: {3}"));Dhb=new s6("JSC_NTI_INVALID_INDEX_TYPE",oZ,new xnc("Invalid type for index.\n{0}"));fhb=new s6("JSC_NTI_BOTTOM_INDEX_TYPE",oZ,new xnc("This IObject {0} cannot be accessed with a valid type.\n Usually the result of a bad union type.\n"));Fhb=new s6("JSC_NTI_INVALID_OBJLIT_PROPERTY_TYPE",oZ,new xnc("Invalid type for object-literal property.\n{0}"));
qhb=new s6("JSC_NTI_FORIN_EXPECTS_OBJECT",oZ,new xnc("For/in expects an object, found type {0}."));rhb=new s6("JSC_NTI_FORIN_EXPECTS_STRING_KEY",oZ,new xnc("For/in creates string keys, but variable has declared type {1}."));shb=new s6("JSC_NTI_FOROF_EXPECTS_ITERABLE",oZ,new xnc("For/of expects an iterable, found type {0}."));Lhb=new s6("JSC_NTI_MISTYPED_FOROF_ELEMENT_TYPE",oZ,new xnc("Invalid type for for/of element.\n{0}"));ohb=new s6("JSC_NTI_CONST_REASSIGNED",oZ,new xnc("Cannot change the value of a constant."));
nhb=new s6("JSC_NTI_CONST_PROPERTY_REASSIGNED",oZ,new xnc("Cannot change the value of a constant property."));mhb=new s6("JSC_NTI_CONSTANT_PROPERTY_DELETED",oZ,new xnc("Constant property {0} cannot be deleted"));Nhb=new s6("JSC_NTI_NOT_A_CONSTRUCTOR",oZ,new xnc("Expected a constructor but found type {0}."));ihb=new s6("JSC_NTI_CANNOT_INSTANTIATE_ABSTRACT_CLASS",oZ,new xnc("Cannot instantiate abstract class {0}."));new s6("JSC_UNDEFINED_SUPER_CLASS",oZ,new xnc("Undefined super class for {0}."));ehb=
new s6("JSC_NTI_ASSERT_FALSE",oZ,new xnc("Assertion is always false. Please use a throw or fail() instead."));Xhb=new s6("JSC_NTI_UNKNOWN_ASSERTION_TYPE",oZ,new xnc("Assert with unknown asserted type."));Hhb=new s6("JSC_NTI_INVALID_THIS_TYPE_IN_BIND",oZ,new xnc("Invalid type for the first argument to bind.\n{0}"));hhb=new s6("JSC_NTI_CANNOT_BIND_CTOR",oZ,new xnc("We do not support using .bind on constructor functions."));uhb=new s6("JSC_NTI_GOOG_BIND_EXPECTS_FUNCTION",oZ,new xnc("The first argument to goog.bind/goog.partial must be a function, found: {0}"));
ghb=new s6("JSC_NTI_BOTTOM_PROP",oZ,new xnc("Property {0} of {1} cannot have a valid type.Maybe the result of a union of incompatible types?"));Bhb=new s6("JSC_NTI_INVALID_CAST",oZ,new xnc("invalid cast - the types do not have a common subtype\nfrom: {0}\nto  : {1}"));thb=new s6("JSC_NTI_USED_GLOBAL_THIS",oZ,new xnc("Dangerous use of the global THIS object"));Jhb=new s6("JSC_NTI_MISSING_RETURN_STATEMENT",oZ,new xnc(KEc));lhb=new s6("JSC_NTI_CONSTRUCTOR_NOT_CALLABLE",oZ,new xnc(fIc));vhb=new s6("JSC_NTI_ILLEGAL_OBJLIT_KEY",
oZ,new xnc(gIc));xhb=new s6("JSC_NTI_ILLEGAL_PROPERTY_CREATION",oZ,new xnc("Cannot add property {0} to a struct instance after it is constructed."));Ihb=new s6("JSC_NTI_IN_USED_WITH_STRUCT",oZ,new xnc(hIc));dhb=new s6("JSC_NTI_ADDING_PROPERTY_TO_NON_OBJECT",oZ,new xnc("Cannot create property {0} on non-object type {1}."));zhb=new s6("JSC_NTI_INEXISTENT_PROPERTY",oZ,new xnc(iIc));Ohb=new s6("JSC_NTI_NOT_FUNCTION_TYPE",oZ,new xnc("Cannot call non-function type {0}"));_hb=new s6("JSC_NTI_WRONG_ARGUMENT_COUNT",
oZ,new xnc(jIc));whb=new s6("JSC_NTI_ILLEGAL_PROPERTY_ACCESS",oZ,new xnc(kIc));$hb=new s6("JSC_NTI_UNKNOWN_TYPEOF_VALUE",oZ,new xnc(lIc));Zhb=new s6("JSC_NTI_UNKNOWN_NAMESPACE_PROPERTY",oZ,new xnc("Cannot determine the type of namespace property {0}. Maybe a prefix of the property name has been redefined?"));yhb=new s6("JSC_INCOMPATIBLE_STRICT_COMPARISON",oZ,new xnc("Cannot perform strict equality / inequality comparisons on incompatible types:\nleft : {0}\nright: {1}"));chb=new s6("JSC_NTI_ABSTRACT_SUPER_METHOD_NOT_CALLABLE",
oZ,new xnc(mIc));Thb=new s6("JSC_NTI_REFLECT_CONSTRUCTOR_EXPECTED",oZ,new xnc(nIc));Qhb=new s6("JSC_NTI_NULLABLE_DEREFERENCE",nZ,new xnc("Attempt to use nullable type {0}."));Yhb=new s6("JSC_NTI_UNKNOWN_EXPR_TYPE",nZ,new xnc("This {0} expression has the unknown type."));bib=new s6("JSC_NTI_YIELD_NONDECLARED_TYPE",oZ,new xnc("Yielded type does not match declared return type.\n{0}"));aib=new s6("JSC_NTI_YIELD_ALL_EXPECTS_ITERABLE",oZ,new xnc("Expression yield* expects an iterable, found type {0}."));
jhb=new s6("JSC_CANNOT_USE_UNRESOLVED_TYPE",oZ,new xnc("Cannot use unresolved type {0}. Please include the type definition in your application."));khb=new J5(vD(qD(lK,1),bDc,5,0,[chb,hhb,ihb,mhb,nhb,ohb,Thb,lhb,rhb,shb,Lhb,thb,uhb,vhb,whb,xhb,Ihb,zhb,Ahb,Vhb,Whb,Bhb,Dhb,Fhb,Jhb,Khb,Nhb,Ohb,Rhb,Uhb,Xhb,$hb,_hb,aib,Chb]));Mhb=new J5(vD(qD(lK,1),bDc,5,0,[dhb,ehb,fhb,ghb,jhb,phb,qhb,yhb,Ehb,Ghb,Hhb,Phb,Shb,Zhb,bib]))}function oGb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I,J,K,
L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,ab,bb,cb,db,eb,fb,gb,hb,ib,jb,kb;switch(b.p.f){case 42:return(b.b.c==(xTb(),aTb)||b.b.c==bTb)&&lFb(a.a,b,(bMb(),zLb)),iFb(a.a,b.c.o)?oFb(a.a,XFb(b.b.c),FFb(a.a,b.a),FFb(a.a,b.c)):sGb(a,b);case 28:return pGb(a,b);case 74:return _Gb(a,b);case 75:return aHb(a,b.a);case 76:return nFb(a.a,(w7b(),g7b),FFb(a.a,b.a));case 44:return eHb(a,b);case 2:return tGb(a,b);case 14:return uGb(a,b);case 49:return FGb(a,b);case 17:return YGb(a,b);case 18:return ZGb(a,b);case 22:return oFb(a.a,
(w7b(),_4b),FFb(a.a,b.b),GFb(a.a,b.a));case 13:return xGb(a,b);case 8:return oFb(a.a,(w7b(),p5b),GFb(a.a,b.a),FFb(a.a,b.b));case 5:return mFb((d=a,b,d).a,(w7b(),r5b));case 6:return BGb(a,b);case 24:return mFb((e=a,b,e).a,(w7b(),h5b));case 25:return mFb((f=a,b,f).a,(w7b(),h7b));case 11:return CGb(a,b);case 10:return h=FFb(a.a,b.c),i=(vn(),Fp(vD(qD(lT,1),bDc,1,5,[(w7b(),y4b),B6b]))),i.contains(h.j)&&a.a.d.kh("Invalid LHS for a for-in loop",a.a.r,(_Eb(),b.c.o.b.b+1),b.c.o.b.a),pFb(a.a,E5b,h,FFb(a.a,
b.b),GFb(a.a,b.a));case 1:return EGb(a,b);case 55:return oFb(a.a,(w7b(),L5b),FFb(a.a,b.b),FFb(a.a,b.a));case 46:return j=FFb(a.a,b.b),k=b.a,l=PGb(a,k),!l.si()&&!a.a.c&&kGb(a,l),oFb(a.a,(w7b(),M5b),j,l);case 43:return pFb(a.a,(w7b(),P5b),FFb(a.a,b.a),FFb(a.a,b.b),FFb(a.a,b.c));case 7:return IGb(a,b);case 20:return oFb(a.a,(w7b(),b6b),jHb(a,b.a),FFb(a.a,b.b));case 56:return bGb(a,b),FFb(a.a,b.a);case 26:return LGb(a,b.a,false);case 47:return OGb(a,b);case 29:return QGb(a,b);case 36:return lFb(a.a,b,
(bMb(),sLb)),oFb(a.a,(w7b(),e5b),FFb(a.a,b.a),FFb(a.a,b.b));case 37:return lFb(a.a,b,(bMb(),sLb)),m=FFb(a.a,b.c),n=FFb(a.a,b.a),o=rZb((ce(lmc("",Hmc(46))==-1,NEc,""),new g4b((w7b(),o6b),"")),new g3b(G6b),n),f3b(o,n),p=oFb(a.a,e5b,m,o),q=G2b(p,p.g,73),q!=p.g&&(p.g=q),p.g=new K3b(73,1,p.g),B2b(p,58,b.b),p;case 88:return lFb(a.a,b,(bMb(),sLb)),mGb(a,b,LLb),r=nFb(a.a,(w7b(),e5b),FFb(a.a,b.d)),hGb(a,r,b.b),s=G2b(r,r.g,75),s!=r.g&&(r.g=s),r.g=new K3b(75,1,r.g),C2b(r,84,b.a),U2b(r,b.c),fGb(a,b,r,b.a),r;
case 38:return lFb(a.a,b,(bMb(),sLb)),t=oFb(a.a,(w7b(),e5b),FFb(a.a,b.c),FFb(a.a,b.b)),u=G2b(t,t.g,72),u!=t.g&&(t.g=u),t.g=new K3b(72,1,t.g),b.b.i&&(v=G2b(t,t.g,58),v!=t.g&&(t.g=v),t.g=new K3b(58,1,t.g)),fGb(a,b,t,b.a),t;case 39:return lFb(a.a,b,(bMb(),sLb)),w=FFb(a.a,b.d),A=FFb(a.a,b.a),B=KZb(iHb(a,b.c)),C=rZb((ce(lmc("",Hmc(46))==-1,NEc,""),new g4b((w7b(),o6b),"")),B,A),f3b(C,A),D=oFb(a.a,e5b,w,C),F=G2b(D,D.g,74),F!=D.g&&(D.g=F),D.g=new K3b(74,1,D.g),B2b(D,58,b.b),D;case 15:return VGb(a,b);case 45:return G=
_Fb(b.b.c),H=FFb(a.a,b.a),cGb(a,G,b.c==1,H);case 0:return rGb(a,b);case 27:return KGb(a,b);case 19:return $Gb(a,b);case 21:return nFb(a.a,(w7b(),i7b),FFb(a.a,b.a));case 23:return bHb(a,b);case 3:return oGb(a.a.u,b.a);case 12:return hHb(a,b);case 4:return gHb(a,b);case 9:return oFb(a.a,(w7b(),t7b),FFb(a.a,b.b),GFb(a.a,b.a));case 16:return oFb(a.a,(w7b(),u7b),FFb(a.a,b.b),GFb(a.a,b.a));case 41:return wGb(a,b);case 64:return mFb((g=a,b,g).a,(w7b(),r5b));case 57:return GFb(a.a,b.a);case 40:return rFb((c=
a,b,c).a,(w7b(),o6b),SJc);case 35:return I=PGb(a,b.a),X2b(I,(w7b(),_6b)),!!b.b&&S1b(I,FFb(a.a,b.b)),I;case 33:return J=PGb(a,b.c),X2b(J,(w7b(),N5b)),K=FFb(a.a,b.a),L=rFb(a.a,o6b,""),CFb(L,b.a),M=mFb(a.a,G6b),CFb(M,b.a),N=pFb(a.a,G5b,L,M,K),CFb(N,b.a),S1b(J,N),hGb(a,N,b.d),U2b(J,b.b),J;case 34:return O=PGb(a,b.d),X2b(O,(w7b(),V6b)),P=FFb(a.a,b.a),Q=rFb(a.a,o6b,""),BFb(Q,b.d),R=nFb(a.a,G6b,iHb(a,b.c)),BFb(R,b.c),hGb(a,R.b,b.e),S=pFb(a.a,G5b,Q,R,P),CFb(S,b.a),S1b(O,S),U2b(O,b.b),O;case 62:return DGb(a,
b);case 50:return vGb(a,b);case 58:return lFb(a.a,b,(bMb(),XLb)),mFb(a.a,(w7b(),c7b));case 93:return lFb(a.a,b,(bMb(),OLb)),mFb(a.a,(w7b(),v6b));case 72:return T=mFb(a.a,(w7b(),v7b)),!!b.a&&R1b(T,FFb(a.a,b.a)),$2b(T,b.b),T;case 94:return lFb(a.a,b,(bMb(),nLb)),U=mFb(a.a,(w7b(),O4b)),R1b(U,FFb(a.a,b.a)),U;case 71:return lFb(a.a,b,(bMb(),BLb)),V=FFb(a.a,b.c),W=(vn(),Fp(vD(qD(lT,1),bDc,1,5,[(w7b(),y4b),B6b]))),W.contains(V.j)&&a.a.d.kh("Invalid LHS for a for-of loop",a.a.r,(_Eb(),b.c.o.b.b+1),b.c.o.b.a),
pFb(a.a,F5b,V,FFb(a.a,b.b),GFb(a.a,b.a));case 67:return zGb(a,b);case 68:return AGb(a,b);case 69:return lFb(a.a,b,(bMb(),MLb)),X=mHb(a,b.a,b),Y=b.d?rFb(a.a,(w7b(),V5b),b.d.a):lHb(a,(w7b(),U5b),b.b),p3b(Y.i)==-1&&DFb(Y,b.o.b,b.o.a),Z=WGb(a,b.c),pFb(a.a,(w7b(),S5b),X,Y,Z);case 70:return $=LGb(a,b.b,true),X2b($,(w7b(),o6b)),ab=nFb(a.a,T5b,$),!!b.a&&R1b(ab,LGb(a,b.a,false)),ab;case 59:return qGb(a,b);case 61:return RGb(a,b);case 60:return lFb(a.a,b,(bMb(),lLb)),nFb(a.a,(w7b(),P6b),HFb(a.a,b.a));case 32:case 31:case 30:return a.a.d.kh("unsupported language feature: array/generator comprehensions",
a.a.r,(_Eb(),b.o.b.b+1),b.o.b.a),rFb(a.a,(w7b(),o6b),SJc);case 73:return lFb(a.a,b,(bMb(),vLb)),oFb(a.a,(w7b(),l5b),FFb(a.a,b.b),FFb(a.a,b.a));case 65:return lFb(a.a,b,(bMb(),TLb)),bb=HFb(a.a,b.a),(bb.j==(w7b(),C6b)||bb.j==z4b)&&lFb(a.a,b.a,wLb),nFb(a.a,P6b,bb);case 63:return lFb(a.a,b,(bMb(),VLb)),nFb(a.a,(w7b(),Y6b),FFb(a.a,b.a));case 77:return cHb(a,b);case 79:return cb=FFb(a.a,b.a),hGb(a,cb,b.b),cb;case 80:return mGb(a,b,(bMb(),QLb)),db=FFb(a.a,b.a),eb=G2b(db,db.g,80),eb!=db.g&&(db.g=eb),db.g=
new K3b(80,1,db.g),db;case 81:return SGb(a,b);case 82:return aFb(a.a,E7b(FFb(a.a,b.a)));case 83:return TGb(a,b);case 84:return fHb(a,b);case 85:return GGb(a,b);case 78:return dHb(a,b);case 86:return HGb(a,b);case 87:return fb=rFb(a.a,(w7b(),k6b),b.e.a),hGb(a,fb,b.b),U2b(fb,b.d),B2b(fb,80,b.c),fGb(a,b,fb,b.a),fb;case 51:return JGb(a,b);case 54:return yGb(a,b);case 89:return mGb(a,b,(bMb(),_Lb)),gb=rFb(a.a,(w7b(),m7b),b.a.a),S1b(gb,FFb(a.a,b.b)),gb;case 90:return mGb(a,b,(bMb(),kLb)),nFb(a.a,(w7b(),
j5b),FFb(a.a,b.a));case 52:return MGb(a,b);case 91:return mGb(a,b,(bMb(),GLb)),hb=FFb(a.a,b.b),ib=g2b(hb,78),ib.j!=(w7b(),A6b)&&ib.j!=a7b&&a.a.d.kh("Index signature parameter type must be 'string' or 'number'",a.a.r,(_Eb(),b.b.o.b.b+1),b.b.o.b.a),jb=nFb(a.a,Y5b,hb),hGb(a,jb,b.a),jb;case 92:return mGb(a,b,b.c?(bMb(),tLb):(bMb(),qLb)),kb=nFb(a.a,(w7b(),Y4b),FFb(a.a,b.a)),hGb(a,kb,b.d),gGb(a,kb,b.b),B2b(kb,83,b.c),kb}return a.a.d.kh("Unsupported syntax: "+b.p,a.a.r,(_Eb(),b.o.b.b+1),0),mFb(a.a,(w7b(),
r5b))}function T$(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,ab,bb,cb,db,eb,fb,gb;if(a.g&&!!g2b(b,29)){G=jfb(a.e,g2b(b,29));imc(G,"/** */ ")||r$(a.c,G)}cb=b.j;N=lkb(cb);p=b2b(b);t=b.b;H=b.b?b.b.f:null;if(N!=null&&t!=H){de(p==2,N,p);O=h_(a,b);Y=c==3?3:4;K=c==2&&t.j==(w7b(),C6b);b.j==(w7b(),B4b)&&K&&r$(a.c,"(");if(rjb(b)||cb==x5b){Y$(a,t,O+1,c);t$(a.c,N,true);Y$(a,H,O,Y)}else k_(a,b,cb,N,c,Y,O,O+1);b.j==B4b&&K&&r$(a.c,")");return}a.c.zg(b);
switch(cb.f){case 44:{Zd(t.d.j==(w7b(),U4b)&&!m2b(t.d));Zd(p>=2&&p<=3);r$(a.c,"try");a.Ag(t,4);n=t.d.b;!!n&&a.Ag(n,4);if(p==3){a.c.vg();r$(a.c,YEc);a.Ag(H,4)}break}case 78:Zd(p==2);a.c.vg();r$(a.c,"catch");a.c.vg();r$(a.c,"(");a.Ag(t,4);r$(a.c,")");a.Ag(H,4);break;case 39:Zd(p==1);r$(a.c,"throw");a.c.vg();a.Ag(t,4);a.c.rg(true);break;case 0:r$(a.c,ZEc);if(p==1){a.c.vg();if(a.g&&!!g2b(t,29)){r$(a.c,"(");a.Ag(t,4);r$(a.c,")")}else a.Ag(t,4)}else Zd(p==0);a.c.rg(false);break;case 76:r$(a.c,"var ");a_(a,
t,false,c==3?3:4,",");(!b.e||(Lib(),b.j!=(w7b(),m6b)&&Xjb(b.e)))&&a.c.rg(false);break;case 88:r$(a.c,"const ");a_(a,t,false,c==3?3:4,",");(!b.e||(Lib(),b.j!=(w7b(),m6b)&&Xjb(b.e)))&&a.c.rg(false);break;case 100:r$(a.c,"let ");a_(a,t,false,c==3?3:4,",");(!b.e||(Lib(),b.j!=(w7b(),m6b)&&Xjb(b.e)))&&a.c.rg(false);break;case 90:Zd(b.qi().length!=0);$$(a,b.qi());break;case 95:a.Ag(t,4);if(t!=H){Zd(p==2);t$(a.c,"=",true);a.Ag(H,4)}break;case 29:a.k&&g2b(b,40)!=null?$$(a,g2b(b,40)):$$(a,b.qi());e2b(b,80)!=
0&&r$(a.c,"?");g_(a,b);if(!!t&&t.j!=(w7b(),r5b)){Zd(p==1);t$(a.c,"=",true);t.j==(w7b(),d5b)||t.j==$4b&&t.b.j==d5b?Y$(a,t,nkb(B4b),4):Y$(a,t,0,c==3?3:4)}break;case 42:r$(a.c,"[");W$(a,t);r$(a.c,"]");break;case 93:r$(a.c,"[");W$(a,t);r$(a.c,"]");g_(a,b);break;case 45:r$(a.c,"(");a_(a,t,true,4,",");r$(a.c,")");break;case 118:a.Ag(t,4);g_(a,b);t$(a.c,"=",true);a.Ag(t.d,4);break;case 46:Zd(p==2);k_(a,b,(w7b(),d5b),",",c,c==3?3:4,0,0);break;case 30:Zd(p==0);a.c.fg(b.pi(),b);break;case 25:case 79:case 19:case 20:case 21:{Zd(p==
1);t$(a.c,mkb(cb),false);Y$(a,t,nkb(cb),4);break}case 22:{Zd(p==1);if(b.b.j==(w7b(),z6b))a.c.fg(-b.b.pi(),b.b);else{t$(a.c,mkb(cb),false);Y$(a,t,nkb(cb),4)}break}case 60:{Zd(p==3);O=nkb(cb);Y=c==3?3:4;Y$(a,t,O+1,c);t$(a.c,"?",true);Y$(a,t.d,1,Y);t$(a.c,":",true);Y$(a,H,1,Y);break}case 38:if(t.j!=(w7b(),$6b)||H.j!=$6b)throw CV(new akc("Expected children to be strings"));W="/"+j_(a,t.qi(),'"',"'","`","\\",false,true)+"/";if(p==2)U$(a,W+H.qi());else{Zd(p==1);r$(a.c,W)}break;case 65:{if(b.Qj!=SR)throw CV(new akc($Ec));
Zd(p==3);b.j==(w7b(),G5b)&&e2b(b,60)!=0?(Zd(t.qi().length==0),db=(eb=b.e,!!eb&&(Lib(),sjb(eb.j)||$jb(eb.j)||akb(eb.j)||eb.j==e7b||eb.j==M5b||(eb.j==L5b||eb.j==X4b||eb.j==P5b)&&(fb=b.e,!!fb&&b==fb.b))),db&&r$(a.c,"("),gb=g2b(t,81),!!gb&&a.Ag(gb,4),b.j==G5b&&e2b(b,61)!=0&&r$(a.c,_Ec),a.Ag(t.d,4),g_(a,b),t$(a.c,"=>",true),H.j==U4b?a.Ag(H,4):Y$(a,H,nkb(d5b)+1,c),a.c.og(c==0),db&&r$(a.c,")"),undefined):Z$(a,b,t,H,c);break}case 112:r$(a.c,aFc);a.Ag(t,4);g_(a,b);break;case 113:r$(a.c,aFc);a.Ag(b.b,4);break;
case 108:r$(a.c,bFc);e2b(b,63)!=0&&r$(a.c,cFc);if(e2b(b,64)!=0){r$(a.c,"*");Zd(!!t&&t.j==(w7b(),r5b))}else a.Ag(t,4);if(p==2){r$(a.c,dFc);a.Ag(H,4)}i_(a,t,c);break;case 104:r$(a.c,eFc);Z=t.d;if(t.j!=(w7b(),r5b)){a.Ag(t,4);Z.j==r5b||a.c.tg()}Z.j==r5b||a.Ag(Z,4);(t.j!=r5b||Z.j!=r5b)&&r$(a.c,dFc);a.Ag(H,4);a.c.rg(false);break;case 109:case 105:r$(a.c,"{");for(j=t;j;j=j.d){j!=t&&a.c.tg();a.Ag(j,4)}r$(a.c,"}");break;case 110:case 106:a.Ag(t,4);if(t!=H){r$(a.c,"as");a.Ag(H,4)}break;case 107:r$(a.c,"*");
r$(a.c,"as");U$(a,b.qi());break;case 96:{Zd(p==3);q=c==2;q&&r$(a.c,"(");J=t;$=t.d;I=H;r$(a.c,fFc);J.j==(w7b(),r5b)||a.Ag(J,4);A=g2b(t,81);!!A&&a.Ag(A,4);if($.j!=r5b){r$(a.c,gFc);a.Ag($,4)}D=g2b(b,82);if(D){r$(a.c,hFc);o=D.b;a.Ag(o,4);while(o=o.d){r$(a.c,",");a.c.vg();a.Ag(o,4)}}a.Ag(I,4);w$(a.c,c==0);q&&r$(a.c,")")}break;case 97:case 150:case 160:u$(a.c);for(k=t;k;k=k.d){a.Ag(k,4);i_(a,k,c);a.c.pg()}v$(a.c,false);break;case 152:u$(a.c);for(l=t;l;l=l.d){a.Ag(l,4);!!l.d&&r$(a.c,",");a.c.pg()}v$(a.c,
false);break;case 86:case 87:case 98:case 156:{Zd(b.e.j==(w7b(),B6b)||b.e.j==b5b||b.e.j==a6b||b.e.j==N6b||b.e.j==Y5b);e=g2b(b,84);!!e&&U$(a,(e.e!=null?e.e:""+e.f).toLowerCase()+" ");e2b(b,58)!=0&&r$(a.c,"static ");if(b.j!=k6b&&e2b(b.b,59)!=0){Zd(cb==j6b);r$(a.c,"*")}b.j==j6b&&q2b(b.b)&&r$(a.c,"async ");switch(cb.f){case 86:Zd(!t.b.d.b);r$(a.c,"get ");break;case 87:Zd(n2b(t.b.d));r$(a.c,"set ")}J=b.qi();if(b.j==k6b){U$(a,b.qi());e2b(b,80)!=0&&r$(a.c,"?");g_(a,b)}else{Zd(p==1);Zd(t.j==G5b);Zd(t.b.qi().length==
0);u=t;P=u.b.d;h=u.b?u.b.f:null;if(!b.si()&&(D7b(),B7b.test(J))&&Ijb(J)){r$(a.c,J);f_(a,u.b)}else{r=q_(J);isNaN(r)?_$(a,b):a.c.fg(r,b)}e2b(u,80)!=0&&r$(a.c,"?");a.Ag(P,4);g_(a,u);a.Ag(h,4)}break}case 85:case 111:case 82:case 81:{if(b.Qj!=SR)throw CV(new akc($Ec));V=b.j==(w7b(),U4b)&&e2b(b,38)==0;V&&u$(a.c);U=cb==U6b||cb==U4b&&!V&&b.e.j==U6b;for(m=t;m;m=m.d){a.Ag(m,0);(m.j==G5b||m.j==a5b)&&a.c.wg();U&&a.c.xg()}V&&v$(a.c,a.c.lg(b,c==0));break}case 72:Zd(p==4);r$(a.c,"for");a.c.vg();r$(a.c,"(");Lib();
!!t&&(t.j==(w7b(),q7b)||t.j==g6b||t.j==f5b)?a.Ag(t,3):Y$(a,t,0,3);r$(a.c,";");t.d.j==(w7b(),r5b)||a.c.vg();a.Ag(t.d,4);r$(a.c,";");t.d.d.j==r5b||a.c.vg();a.Ag(t.d.d,4);r$(a.c,")");b_(a,H,c==1?1:4,false);break;case 73:Zd(p==3);r$(a.c,"for");a.c.vg();r$(a.c,"(");a.Ag(t,4);r$(a.c,"in");a.Ag(t.d,4);r$(a.c,")");b_(a,H,c==1?1:4,false);break;case 101:Zd(p==3);r$(a.c,"for");a.c.vg();r$(a.c,"(");a.Ag(t,4);a.c.vg();r$(a.c,"of");a.c.vg();a.Ag(t.d,4);r$(a.c,")");b_(a,H,c==1?1:4,false);break;case 71:Zd(p==2);
r$(a.c,"do");b_(a,t,4,false);a.c.vg();r$(a.c,iFc);a.c.vg();r$(a.c,"(");a.Ag(H,4);r$(a.c,")");a.c.rg(false);break;case 70:Zd(p==2);r$(a.c,iFc);a.c.vg();r$(a.c,"(");a.Ag(t,4);r$(a.c,")");b_(a,H,c==1?1:4,false);break;case 80:Zd(p==0);break;case 26:{if(a.k&&g2b(b,40)!=null){z2b(b.b,"$jscomp.scope")&&b.e.j==(w7b(),B4b)&&r$(a.c,"var ");$$(a,g2b(b,40));break}_d(p==2,"Bad GETPROP: expected 2 children, but got %s",p);$d(H.j==(w7b(),$6b),"Bad GETPROP: RHS should be STRING");K=t.j==z6b;K&&r$(a.c,"(");Y$(a,t,
nkb(cb),c);K&&r$(a.c,")");if(a.i&&A7b(H.qi())){r$(a.c,"[");a.Ag(H,4);r$(a.c,"]")}else{r$(a.c,".");$$(a,H.qi())}break}case 27:be(p==2,p,b);Y$(a,t,nkb(cb),c);r$(a.c,"[");a.Ag(t.d,4);r$(a.c,"]");break;case 77:Zd(p==2);r$(a.c,"with(");a.Ag(t,4);r$(a.c,")");b_(a,H,c==1?1:4,false);break;case 63:case 64:{Zd(p==1);M=cb==(w7b(),X5b)?"++":"--";R=e2b(b,32)!=0;if(R){Y$(a,t,nkb(cb),c);t$(a.c,M,false)}else{t$(a.c,M,false);a.Ag(t,4)}break}case 28:if(t.j==(w7b(),o6b)&&imc("eval",t.qi())&&e2b(t,49)==0||e2b(b,50)!=
0&&(Lib(),t.j==M5b||t.j==L5b)){r$(a.c,"(0,");Y$(a,t,nkb(d5b),4);r$(a.c,")")}else Y$(a,t,nkb(cb),c);g=t.d;r$(a.c,"(");a_(a,g,true,4,",");r$(a.c,")");break;case 66:Zd(p==2||p==3);B=p==3;f=c==1&&!B;f&&u$(a.c);r$(a.c,"if");a.c.vg();r$(a.c,"(");a.Ag(t,4);r$(a.c,")");if(B){b_(a,t.d,1,false);a.c.vg();r$(a.c,"else");b_(a,H,c==1?1:4,false)}else b_(a,t.d,4,false);f&&v$(a.c,false);break;case 32:Zd(p==0);r$(a.c,KCc);break;case 33:Zd(p==0);r$(a.c,jFc);break;case 99:Zd(p==0);r$(a.c,kFc);break;case 119:Zd(p==0);
r$(a.c,lFc);break;case 102:r$(a.c,"yield");if(e2b(b,62)!=0){Td(t);r$(a.c,"*")}if(t){a.c.vg();Y$(a,t,nkb(cb),4)}break;case 103:r$(a.c,"await ");Y$(a,t,nkb(cb),4);break;case 34:Zd(p==0);r$(a.c,mFc);break;case 35:Zd(p==0);r$(a.c,nFc);break;case 75:Zd(p<=1);r$(a.c,oFc);if(p==1){if(t.j!=(w7b(),c6b))throw CV(new akc(pFc));r$(a.c," ");a.Ag(t,4)}a.c.rg(false);break;case 89:Zd(p==0);r$(a.c,qFc);a.c.rg(false);break;case 74:Zd(p<=1);r$(a.c,"break");if(p==1){if(t.j!=(w7b(),c6b))throw CV(new akc(pFc));r$(a.c,
" ");a.Ag(t,4)}a.c.rg(false);break;case 84:Zd(p==1);a.Ag(t,2);a.c.rg(false);break;case 23:r$(a.c,"new ");S=nkb(cb);T=nkb(t.j);T==S&&(S=S+1);Rib(t,(w7b(),X4b),(Lib(),Fib))&&(S=nkb(t.j)+1);Y$(a,t,S,4);L=t.d;if(L){r$(a.c,"(");a_(a,L,true,4,",");r$(a.c,")")}break;case 91:d_(a,b);break;case 31:$d(p==0,"A string may not have children");_$(a,b);break;case 24:Zd(p==1);r$(a.c,"delete ");a.Ag(t,4);break;case 43:{K=c==2;K&&r$(a.c,"(");r$(a.c,"{");for(m=t;m;m=m.d){m!=t&&a.c.tg();Zd((Lib(),m.j==(w7b(),_6b)||m.j==
N5b||m.j==V6b||m.j==j6b||m.j==e5b));a.Ag(m,4)}r$(a.c,"}");K&&r$(a.c,")");break}case 114:d=g2b(b,84);!!d&&U$(a,(d.e!=null?d.e:""+d.f).toLowerCase()+" ");e2b(b,58)!=0&&r$(a.c,"static ");e2b(b,73)!=0?r$(a.c,"get "):e2b(b,74)!=0?r$(a.c,"set "):e2b(H,59)!=0?r$(a.c,"*"):H.j==(w7b(),G5b)&&e2b(H,61)!=0&&r$(a.c,_Ec);r$(a.c,"[");a.Ag(t,4);r$(a.c,"]");g_(a,b);if(e2b(b,72)!=0||e2b(b,73)!=0||e2b(b,74)!=0){v=t.d;Q=v.b.d;h=v.b?v.b.f:null;a.Ag(Q,4);a.Ag(h,4)}else{F=b.e.j==(w7b(),b5b);C=t.d;if(C){$d(!F,"initializers should only exist in object literals, not classes");
t$(a.c,":",false);a.Ag(C,4)}else $d(e2b(b,75)!=0,b)}break;case 94:c_(a,b);g_(a,b);break;case 67:r$(a.c,"switch(");a.Ag(t,4);r$(a.c,")");u$(a.c);V$(a,t.d);v$(a.c,c==0);break;case 68:Zd(p==2);r$(a.c,"case ");a.Ag(t,4);X$(a,H);break;case 69:Zd(p==1);r$(a.c,cFc);X$(a,t);break;case 83:Zd(p==2);if(t.j!=(w7b(),c6b))throw CV(new akc(pFc));a.Ag(t,4);r$(a.c,":");H.j==U4b||a.c.vg();b_(a,H,c==1?1:4,true);break;case 92:a.g&&r$(a.c,"(");a.Ag(t,4);a.g&&r$(a.c,")");break;case 115:a.Ag(t,2);a.Ag(t.d,4);break;case 116:r$(a.c,
"`");for(i=t;i;i=i.d)if(i.j==(w7b(),$6b))U$(a,j_(a,i.qi(),'"',"'","\\`",MCc,false,false));else{a.c.gg("${");a.Ag(i.b,2);r$(a.c,"}")}r$(a.c,"`");break;case 120:r$(a.c,HCc);break;case 121:r$(a.c,ECc);break;case 122:r$(a.c,FCc);break;case 126:r$(a.c,"any");break;case 128:r$(a.c,rFc);break;case 130:a.Ag(t,4);break;case 134:Y$(a,t,nkb((w7b(),A4b)),c);r$(a.c,"[]");break;case 123:X=t;r$(a.c,"(");a_(a,t.d,true,4,",");r$(a.c,")");t$(a.c,"=>",true);a.Ag(X,4);break;case 125:a_(a,t,true,4,"|");break;case 132:r$(a.c,
"{");a_(a,t,false,4,",");r$(a.c,"}");break;case 124:a.Ag(t,4);r$(a.c,"<");a_(a,t.d,true,4,",");r$(a.c,">");break;case 136:r$(a.c,"<");a_(a,t,false,0,",");r$(a.c,">");break;case 135:$$(a,b.qi());if(b.b){r$(a.c,gFc);a.c.vg();a.Ag(b.b,4)}break;case 148:{Zd(p==3);J=t;bb=t.d;I=H;r$(a.c,sFc);a.Ag(J,4);A=g2b(J,81);!!A&&a.Ag(A,4);if(bb.j!=(w7b(),r5b)){r$(a.c,gFc);ab=bb.b;a.Ag(ab,4);while(ab=ab.d){r$(a.c,",");a.c.vg();a.Ag(ab,4)}}a.Ag(I,4)}break;case 151:{Zd(p==2);J=t;I=H;r$(a.c,tFc);a.Ag(J,4);a.Ag(I,4);break}case 159:{Zd(p==
2);J=t;s=H;r$(a.c,uFc);a.Ag(J,4);a.Ag(s,4);break}case 154:r$(a.c,vFc);U$(a,b.qi());t$(a.c,"=",true);a.Ag(H,4);a.c.rg(true);break;case 155:r$(a.c,wFc);a.Ag(t,4);i_(a,b,c);break;case 157:r$(a.c,"[");a.Ag(t,4);r$(a.c,"]");g_(a,b);a.c.rg(true);break;case 158:e2b(b,83)!=0&&r$(a.c,"new ");w=g2b(b,81);!!w&&a.Ag(w,4);a.Ag(t,4);g_(a,b);a.c.rg(true);break;default:throw CV(new yC("Unknown type "+cb+YDc+b3b(b)));}a.c.qg(b)}function QHb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I,J,K,L,
M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,ab,bb,cb,db,eb,fb,gb,hb,ib,jb,kb,lb,mb,nb,ob,pb,qb,rb,sb,tb;u=a.i.g;i=cJb(a.i);e=a.i.n;d=kp(a.a,e);if(!d||e.length==0)wHb(a,KIc,e,a.i.g,cJb(a.i));else{q0b(a.e,e,u,i);switch(d.f){case 0:Y$b(a.e.a)?uHb(a,"msg.jsdoc.nginject.extra",a.i.g,cJb(a.i)):d1b(a.e);return DHb(a,!a.n?dJb(a.i):BHb(a));case 26:S$b(a.e.a)?uHb(a,"msg.jsdoc.jaggerInject.extra",a.i.g,cJb(a.i)):U0b(a.e);return DHb(a,!a.n?dJb(a.i):BHb(a));case 27:T$b(a.e.a)?uHb(a,"msg.jsdoc.jaggerModule.extra",a.i.g,cJb(a.i)):
V0b(a.e);return DHb(a,!a.n?dJb(a.i):BHb(a));case 28:U$b(a.e.a)?uHb(a,"msg.jsdoc.jaggerProvide.extra",a.i.g,cJb(a.i)):W0b(a.e);return DHb(a,!a.n?dJb(a.i):BHb(a));case 29:V$b(a.e.a)?uHb(a,"msg.jsdoc.jaggerProvidePromise.extra",a.i.g,cJb(a.i)):X0b(a.e);return DHb(a,!a.n?dJb(a.i):BHb(a));case 1:u0b(a.e)||xHb(a,XJc,a.i.g,cJb(a.i));return DHb(a,!a.n?dJb(a.i):BHb(a));case 2:if(a.e.d){g=GHb(a);f=g.a;f.length==0?uHb(a,"msg.jsdoc.authormissing",a.i.g,cJb(a.i)):k0b(a.e,f);b=g.b}else b=DHb(a,!a.n?dJb(a.i):BHb(a));
return b;case 4:x0b(a.e)||uHb(a,"msg.jsdoc.consistidgen",a.i.g,cJb(a.i));return DHb(a,!a.n?dJb(a.i):BHb(a));case 61:C1b(a.e)||xHb(a,XJc,a.i.g,cJb(a.i));return DHb(a,!a.n?dJb(a.i):BHb(a));case 53:s1b(a.e)||xHb(a,XJc,a.i.g,cJb(a.i));return DHb(a,!a.n?dJb(a.i):BHb(a));case 11:F0b(a.e)||xHb(a,XJc,a.i.g,cJb(a.i));return DHb(a,!a.n?dJb(a.i):BHb(a));case 6:z0b(a.e)||(R$b(a.e.a)?xHb(a,YJc,a.i.g,cJb(a.i)):xHb(a,XJc,a.i.g,cJb(a.i)));return DHb(a,!a.n?dJb(a.i):BHb(a));case 7:S0b(a.e)||xHb(a,"msg.jsdoc.record",
a.i.g,cJb(a.i));return DHb(a,!a.n?dJb(a.i):BHb(a));case 9:C0b(a.e)||uHb(a,"msg.jsdoc.deprecated",a.i.g,cJb(a.i));J=FHb(a,b,a.f?0:2,false);I=J.a;I.length>0&&D0b(a.e,I);b=J.b;return b;case 25:T0b(a.e)||((a.e.a.a&2)!=0?xHb(a,YJc,a.i.g,cJb(a.i)):xHb(a,XJc,a.i.g,cJb(a.i)));return DHb(a,!a.n?dJb(a.i):BHb(a));case 10:if(u$b(a.e.a)!=null){uHb(a,"msg.jsdoc.desc.extra",a.i.g,cJb(a.i));return DHb(a,!a.n?dJb(a.i):BHb(a))}else{k=FHb(a,b,a.f?0:2,false);j=k.a;E0b(a.e,j);b=k.b;return b}case 18:l="";if(a.e.d&&!IHb(a,
64)){m=FHb(a,b,a.f?0:1,false);l=m.a;b=m.b}else b=DHb(a,!a.n?dJb(a.i):BHb(a));M0b(a.e,l)||uHb(a,"msg.jsdoc.fileoverview.extra",a.i.g,cJb(a.i));return b;case 31:case 46:H=FHb(a,b,0,true);G=H.a;G.length>0&&!!a.c&&l0b(a.c,G);b=H.b;return b;case 13:b=!a.n?dJb(a.i):BHb(a);u=a.i.g;i=cJb(a.i);hb=null;if(b!=(YIb(),KIb)&&b!=IIb){lb=PHb(a,b,a.i.g,cJb(a.i),b==NIb,false);if(!!lb&&lb.j==(w7b(),$6b)){ib=lb.qi();!imc(ib,FCc)&&!imc(ib,HCc)&&!imc(ib,ECc)&&(lb=rIb(a,(w7b(),P4b),lb))}hb=!lb?null:new L1b(lb,(P=g2b(a.k,
51),!P?null:P.Hg()))}else a.n=b;!hb&&(hb=AHb(a,MHb(a,FCc,a.i.g,cJb(a.i))));H0b(a.e,hb)||a.b.lh(VJc+t4b(XJc,vD(qD(lT,1),bDc,1,5,[]))+WJc,(Q=g2b(a.k,51),!Q?null:Q.Hg()),u,i);return DHb(a,!a.n?dJb(a.i):BHb(a));case 17:J0b(a.e)||uHb(a,"msg.jsdoc.expose",a.i.g,cJb(a.i));return DHb(a,!a.n?dJb(a.i):BHb(a));case 15:L0b(a.e)||uHb(a,"msg.jsdoc.externs",a.i.g,cJb(a.i));return DHb(a,!a.n?dJb(a.i):BHb(a));case 60:z1b(a.e)||uHb(a,"msg.jsdoc.typesummary",a.i.g,cJb(a.i));return DHb(a,!a.n?dJb(a.i):BHb(a));case 14:case 22:pIb(a);
b=!a.n?dJb(a.i):BHb(a);u=a.i.g;i=cJb(a.i);v=false;if(b==(YIb(),NIb)){b=!a.n?dJb(a.i):BHb(a);v=true}if(b==XIb){lb=PHb(a,b,u,i,v,true);u=a.i.g;i=cJb(a.i);lb=rIb(a,(w7b(),P4b),lb);hb=!lb?null:new L1b(lb,(P=g2b(a.k,51),!P?null:P.Hg()));if(d==(AEb(),DDb))Aqc(c,new vIb(hb,a.i.g,cJb(a.i)));else{Zd(d==JDb);Q0b(a.e,hb)||a.b.lh(VJc+t4b("msg.jsdoc.implements.duplicate",vD(qD(lT,1),bDc,1,5,[]))+WJc,(O=g2b(a.k,51),!O?null:O.Hg()),u,i)}b=!a.n?dJb(a.i):BHb(a);v?b!=TIb?xHb(a,ZJc,a.i.g,cJb(a.i)):b=!a.n?dJb(a.i):BHb(a):
b!=KIb&&b!=JIb&&b!=IIb&&xHb(a,"msg.end.annotation.expected",a.i.g,cJb(a.i))}else a.b.lh(VJc+t4b("msg.no.type.name",vD(qD(lT,1),bDc,1,5,[]))+WJc,(O=g2b(a.k,51),!O?null:O.Hg()),u,i);b=DHb(a,b);return b;case 20:O0b(a.e)||uHb(a,"msg.jsdoc.hidden",a.i.g,cJb(a.i));return DHb(a,!a.n?dJb(a.i):BHb(a));case 30:pIb(a);v=false;if(JHb(a,(YIb(),NIb))){b=!a.n?dJb(a.i):BHb(a);v=true}if(JHb(a,XIb)){b=!a.n?dJb(a.i):BHb(a);Y0b(a.e,a.i.n)||xHb(a,"msg.jsdoc.lends.incompatible",a.i.g,cJb(a.i))}else xHb(a,"msg.jsdoc.lends.missing",
a.i.g,cJb(a.i));v&&!JHb(a,TIb)&&xHb(a,ZJc,a.i.g,cJb(a.i));return DHb(a,!a.n?dJb(a.i):BHb(a));case 32:A=FHb(a,b,a.f?0:2,false);w=A.a;b=A.b;_0b(a.e,w)||uHb(a,"msg.jsdoc.meaning.extra",a.i.g,cJb(a.i));return b;case 36:e1b(a.e)||uHb(a,"msg.jsdoc.noalias",a.i.g,cJb(a.i));return DHb(a,!a.n?dJb(a.i):BHb(a));case 38:g1b(a.e)||uHb(a,"msg.jsdoc.nocompile",a.i.g,cJb(a.i));return DHb(a,!a.n?dJb(a.i):BHb(a));case 37:f1b(a.e)||uHb(a,"msg.jsdoc.nocollapse",a.i.g,cJb(a.i));return DHb(a,!a.n?dJb(a.i):BHb(a));case 40:return DHb(a,
!a.n?dJb(a.i):BHb(a));case 24:case 41:k1b(a.e)||xHb(a,"msg.jsdoc.override",a.i.g,cJb(a.i));return DHb(a,!a.n?dJb(a.i):BHb(a));case 44:Z$b(a.e.a)?uHb(a,"msg.jsdoc.polymer.extra",a.i.g,cJb(a.i)):n1b(a.e);return DHb(a,!a.n?dJb(a.i):BHb(a));case 45:$$b(a.e.a)?uHb(a,"msg.jsdoc.polymerBehavior.extra",a.i.g,cJb(a.i)):o1b(a.e);return DHb(a,!a.n?dJb(a.i):BHb(a));case 3:Q$b(a.e.a)?uHb(a,"msg.jsdoc.customElement.extra",a.i.g,cJb(a.i)):A0b(a.e);return DHb(a,!a.n?dJb(a.i):BHb(a));case 33:W$b(a.e.a)?uHb(a,"msg.jsdoc.mixinClass.extra",
a.i.g,cJb(a.i)):a1b(a.e);return DHb(a,!a.n?dJb(a.i):BHb(a));case 34:X$b(a.e.a)?uHb(a,"msg.jsdoc.mixinFunction.extra",a.i.g,cJb(a.i)):b1b(a.e);return DHb(a,!a.n?dJb(a.i):BHb(a));case 57:{pIb(a);b=!a.n?dJb(a.i):BHb(a);u=a.i.g;i=cJb(a.i);hb=null;if(b==(YIb(),NIb)){hb=AHb(a,PHb(a,b,a.i.g,cJb(a.i),b==NIb,false));if(!hb)return DHb(a,!a.n?dJb(a.i):BHb(a))}b=BHb(a);x1b(a.e,hb);r=IHb(a,64);if(a.e.d&&!r){k=FHb(a,b,a.f?0:2,false);j=k.a;j.length>0&&w1b(a.e,hb,j);b=k.b}else b=DHb(a,!a.n?dJb(a.i):BHb(a));return b}case 43:pIb(a);
b=!a.n?dJb(a.i):BHb(a);u=a.i.g;i=cJb(a.i);hb=null;o=false;if(b==(YIb(),NIb)){hb=AHb(a,(Kd(b==NIb),qb=a.i.g,rb=cJb(a.i),sb=(Kd(b==NIb),pIb(a),tb=_Hb(a,!a.n?dJb(a.i):BHb(a)),!!tb&&(JHb(a,TIb)?!a.n?dJb(a.i):BHb(a):(xHb(a,ZJc,a.i.g,cJb(a.i)),null)),tb),mIb(a,qb,rb,sb,true),sb));if(!hb)return DHb(a,!a.n?dJb(a.i):BHb(a));pIb(a);b=!a.n?dJb(a.i):BHb(a);u=a.i.g;i=cJb(a.i);o=true}B=null;s=PIb==b;s&&(b=!a.n?dJb(a.i):BHb(a));if(XIb!=b)a.b.lh(VJc+t4b("msg.missing.variable.name",vD(qD(lT,1),bDc,1,5,[]))+WJc,(O=
g2b(a.k,51),!O?null:O.Hg()),u,i);else{o||tHb(a,a.i.g,cJb(a.i));B=a.i.n;if(s){b=!a.n?dJb(a.i):BHb(a);if(LIb==b){b=!a.n?dJb(a.i):BHb(a);XIb==b&&(b=!a.n?dJb(a.i):BHb(a))}VIb!=b?(xHb(a,"msg.jsdoc.missing.rb",a.i.g,cJb(a.i)),null):!!hb&&(hb=hb.a.j==(w7b(),w5b)||hb.a.j==q5b?hb:new L1b(new i3b(w5b,hb.a),hb.b))}D7b();if(B7b.test(B))l1b(a.e,B,hb)||(o0b(a.e,B)?a.b.lh(VJc+t4b("msg.dup.variable.name",vD(qD(lT,1),bDc,1,5,[B]))+WJc,(P=g2b(a.k,51),!P?null:P.Hg()),u,i):a.b.lh(VJc+t4b(XJc,vD(qD(lT,1),bDc,1,5,[B]))+
WJc,(O=g2b(a.k,51),!O?null:O.Hg()),u,i));else{a.b.lh(t4b("msg.invalid.variable.name",vD(qD(lT,1),bDc,1,5,[B])),(O=g2b(a.k,51),!O?null:O.Hg()),u,i);B=null}}if(B==null){b=DHb(a,b);return b}r0b(a.e,B,a.k,u,i);if(a.e.d&&b!=DIb){F=FHb(a,b,a.f?0:2,false);D=F.a;D.length>0&&m1b(a.e,B,D);b=F.b}else b!=IIb&&b!=JIb&&(b=DHb(a,!a.n?dJb(a.i):BHb(a)));return b;case 39:h1b(a.e)||uHb(a,"msg.jsdoc.nosideeffects",a.i.g,cJb(a.i));return DHb(a,!a.n?dJb(a.i):BHb(a));case 35:b=$Hb(a,!a.n?dJb(a.i):BHb(a));return b;case 23:R0b(a.e)||
xHb(a,"msg.jsdoc.implicitcast",a.i.g,cJb(a.i));return DHb(a,!a.n?dJb(a.i):BHb(a));case 51:if(a.e.d){L=GHb(a);K=L.a;K.length==0?uHb(a,"msg.jsdoc.seemissing",a.i.g,cJb(a.i)):m0b(a.e,K);b=L.b}else b=DHb(a,!a.n?dJb(a.i):BHb(a));return b;case 52:r1b(a.e)||uHb(a,"msg.jsdoc.stableidgen",a.i.g,cJb(a.i));return DHb(a,!a.n?dJb(a.i):BHb(a));case 54:b=dIb(a,!a.n?dJb(a.i):BHb(a));return b;case 55:{bb=a.i.g;$=cJb(a.i);ab=FHb(a,b,1,false);db=ab.a;mb="";t=false;nb=true;if(db.indexOf(":=")!=-1){gb=db.indexOf(":=");
cb=db.substr(0,gb);if(db.indexOf("=:")!=-1){t=true;eb=db.indexOf("=:");mb=Emc(db.substr(gb+2,eb-(gb+2)))}else{nb=false;a.b.lh(VJc+t4b("msg.jsdoc.typetransformation.missing.delimiter",vD(qD(lT,1),bDc,1,5,[]))+WJc,(O=g2b(a.k,51),!O?null:O.Hg()),bb,$)}}else db.indexOf(YDc)!=-1?cb=Amc(db,0,lmc(db,Hmc(10))):cb=db;C=Xe(Ze(af(new ic(44)),(Cc(),Ac)),cb);if(C.b.size()==1&&C.a.getAtIndex(0).length==0)a.b.lh(VJc+t4b("msg.jsdoc.templatemissing",vD(qD(lT,1),bDc,1,5,[]))+WJc,(O=g2b(a.k,51),!O?null:O.Hg()),bb,$);
else for(jb=new Atc(C.b.Pd());jb.b.Jd();){ib=jb.b.Kd();ib.length!=0&&Yb(new xc((mc(),lc),new ic(95)),ib)?t||u1b(a.e,ib)||a.b.lh(VJc+t4b($Jc,vD(qD(lT,1),bDc,1,5,[]))+WJc,(P=g2b(a.k,51),!P?null:P.Hg()),bb,$):a.b.lh(VJc+t4b("msg.jsdoc.template.invalid.type.name",vD(qD(lT,1),bDc,1,5,[]))+WJc,(O=g2b(a.k,51),!O?null:O.Hg()),bb,$)}if(t){C.b.size()>1&&a.b.lh(VJc+t4b("msg.jsdoc.typetransformation.with.multiple.names",vD(qD(lT,1),bDc,1,5,[]))+WJc,(P=g2b(a.k,51),!P?null:P.Hg()),bb,$);if(mb.length==0){nb=false;
a.b.lh(VJc+t4b("msg.jsdoc.typetransformation.expression.missing",vD(qD(lT,1),bDc,1,5,[]))+WJc,(O=g2b(a.k,51),!O?null:O.Hg()),bb,$)}if(nb){fb=new hKb(mb,g2b(a.k,51),a.b,bb,$);HJb(fb)&&!A1b(a.e,C.a.getAtIndex(0),fb.e)&&a.b.lh(VJc+t4b($Jc,vD(qD(lT,1),bDc,1,5,[]))+WJc,(O=g2b(a.k,51),!O?null:O.Hg()),bb,$)}}b=ab.b;return b}case 21:b=YHb(a,!a.n?dJb(a.i):BHb(a));return b;case 63:F1b(a.e)||uHb(a,"msg.jsdoc.wizaction",a.i.g,cJb(a.i));return DHb(a,!a.n?dJb(a.i):BHb(a));case 12:{ab=GHb(a);C=Xe(Ze(af(new ic(44)),
(Cc(),Ac)),ab.a);C.a.isEmpty()||C.a.getAtIndex(0).length==0?xHb(a,"msg.jsdoc.disposeparameter.missing",a.i.g,cJb(a.i)):G0b(a.e,C)||xHb(a,"msg.jsdoc.disposeparameter.error",a.i.g,cJb(a.i));b=ab.b;return b}case 62:pb=GHb(a);ob=pb.a;ob.length==0?uHb(a,"msg.jsdoc.versionmissing",a.i.g,cJb(a.i)):D1b(a.e,ob)||uHb(a,"msg.jsdoc.extraversion",a.i.g,cJb(a.i));b=pb.b;return b;case 5:case 19:case 8:case 16:case 50:case 42:case 47:case 48:case 49:case 56:case 58:case 59:u=a.i.g;i=cJb(a.i);kb=null;p=IHb(a,123);
q=d==(AEb(),cEb)||d==hEb||d==iEb||d==jEb||d==sDb||d==GDb||d==BDb;h=q||d==lEb;hb=null;d==lEb&&!p&&tHb(a,a.i.g,cJb(a.i));if(p||!h){pIb(a);b=!a.n?dJb(a.i):BHb(a);kb=PHb(a,b,a.i.g,cJb(a.i),b==(YIb(),NIb),false);d==rEb&&(kb=rIb(a,(w7b(),P4b),kb));hb=!kb?null:new L1b(kb,(O=g2b(a.k,51),!O?null:O.Hg()))}n=!hb&&!h;if(!n){(!!hb&&q||d==tEb)&&!y1b(a.e,hb)&&a.b.lh(VJc+t4b(XJc,vD(qD(lT,1),bDc,1,5,[]))+WJc,(P=g2b(a.k,51),!P?null:P.Hg()),u,i);r=IHb(a,64);switch(d.f){case 5:y0b(a.e)||uHb(a,"msg.jsdoc.const",a.i.g,
cJb(a.i));break;case 19:N0b(a.e)||xHb(a,"msg.jsdoc.final",a.i.g,cJb(a.i));break;case 8:B0b(a.e,hb)||a.b.lh(t4b("msg.jsdoc.define",vD(qD(lT,1),bDc,1,5,[])),(S=g2b(a.k,51),!S?null:S.Hg()),u,i);if(!r)return lIb(a,b);break;case 16:I0b(a.e)?E1b(a.e,(h0b(),g0b))||a.b.lh(t4b(_Jc,vD(qD(lT,1),bDc,1,5,[])),(T=g2b(a.k,51),!T?null:T.Hg()),u,i):a.b.lh(t4b("msg.jsdoc.export",vD(qD(lT,1),bDc,1,5,[])),(U=g2b(a.k,51),!U?null:U.Hg()),u,i);if(!r)return lIb(a,b);break;case 47:E1b(a.e,(h0b(),e0b))||a.b.lh(t4b(_Jc,vD(qD(lT,
1),bDc,1,5,[])),(V=g2b(a.k,51),!V?null:V.Hg()),u,i);if(!r)return lIb(a,b);break;case 42:E1b(a.e,(h0b(),d0b))||a.b.lh(t4b(_Jc,vD(qD(lT,1),bDc,1,5,[])),(W=g2b(a.k,51),!W?null:W.Hg()),u,i);if(!r)return lIb(a,b);break;case 48:E1b(a.e,(h0b(),f0b))||a.b.lh(t4b(_Jc,vD(qD(lT,1),bDc,1,5,[])),(X=g2b(a.k,51),!X?null:X.Hg()),u,i);if(!r)return lIb(a,b);break;case 49:E1b(a.e,(h0b(),g0b))||a.b.lh(t4b(_Jc,vD(qD(lT,1),bDc,1,5,[])),(Y=g2b(a.k,51),!Y?null:Y.Hg()),u,i);if(!r)return lIb(a,b);break;case 50:!hb&&(hb=AHb(a,
LHb(a,(w7b(),M6b))));if(!q1b(a.e,hb)){a.b.lh(VJc+t4b(XJc,vD(qD(lT,1),bDc,1,5,[]))+WJc,(Z=g2b(a.k,51),!Z?null:Z.Hg()),u,i);break}if(a.e.d&&!r){N=FHb(a,b,a.f?0:2,false);M=N.a;M.length>0&&p1b(a.e,M);b=N.b}else b=DHb(a,!a.n?dJb(a.i):BHb(a));return b;case 56:v1b(a.e,hb)||a.b.lh(VJc+t4b(XJc,vD(qD(lT,1),bDc,1,5,[]))+WJc,(R=g2b(a.k,51),!R?null:R.Hg()),u,i);break;case 59:B1b(a.e,hb)||a.b.lh(VJc+t4b(XJc,vD(qD(lT,1),bDc,1,5,[]))+WJc,(O=g2b(a.k,51),!O?null:O.Hg()),u,i)}}return DHb(a,!a.n?dJb(a.i):BHb(a))}}return!a.n?
dJb(a.i):BHb(a)}function ZYb(){var a;a=new $mc;a.a+='{"externs/es3.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview ECMAScript 3 Built-Ins. This include common extensions so this\\n * is actually ES3+Reality.\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n * @author stevey@google.com (Steve Yegge)\\n * @author nicksantos@google.com (Nick Santos)\\n * @author arv@google.com (Erik Arvidsson)\\n * @author johnlenz@google.com (John Lenz)\\n */\\n\\n\\n// START ES6 RETROFIT CODE\\n// symbol, Symbol and Symbol.iterator are actually ES6 types but some\\n// Some types require them to be part of their definition (such as Array).\\n\\n\\n// TODO(johnlenz): symbol should be a primitive type.\\n/** @typedef {?} */\\nvar symbol;\\n\\n/**\\n * @param {string=} opt_description\\n * @return {symbol}\\n */\\nfunction Symbol(opt_description) {}\\n\\n\\n/**\\n * @param {string} sym\\n * @return {symbol|undefined}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/for\\n */\\nSymbol.for;\\n\\n\\n/**\\n * @param {symbol} sym\\n * @return {string|undefined}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/keyFor\\n */\\nSymbol.keyFor;\\n\\n\\n// Well known symbols\\n\\n/** @const {symbol} */\\nSymbol.iterator;\\n\\n/** @const {symbol} */\\nSymbol.toStringTag;\\n\\n/** @const {symbol} */\\nSymbol.unscopables;\\n\\n\\n/**\\n * @record\\n * @template VALUE\\n */\\nfunction IIterableResult() {};\\n\\n/** @type {boolean} */\\nIIterableResult.prototype.done;\\n\\n/** @type {VALUE} */\\nIIterableResult.prototype.value;\\n\\n\\n\\n/**\\n * @interface\\n * @template VALUE\\n */\\nfunction Iterable() {}\\n\\n// TODO(johnlenz): remove the suppression when the compiler understands\\n// \\"symbol\\" natively\\n/**\\n * @return {!Iterator<VALUE>}\\n * @suppress {externsValidation}\\n */\\nIterable.prototype[Symbol.iterator] = function() {};\\n\\n\\n\\n/**\\n * @interface\\n * @template VALUE\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/The_Iterator_protocol\\n */\\nfunction Iterator() {}\\n\\n/**\\n * @param {VALUE=} value\\n * @return {!IIterableResult<VALUE>}\\n */\\nIterator.prototype.next;\\n\\n\\n/**\\n * Use this to indicate a type is both an Iterator and an Iterable.\\n * @interface\\n * @extends {Iterator<T>}\\n * @extends {Iterable<T>}\\n * @template T\\n */\\nfunction IteratorIterable() {}\\n\\n// END ES6 RETROFIT CODE\\n\\n\\n/**\\n * @interface\\n * @template KEY1, VALUE1\\n */\\nfunction IObject() {}\\n\\n/**\\n * @record\\n * @extends {IObject<number, VALUE2>}\\n * @template VALUE2\\n */\\nfunction IArrayLike() {}\\n\\n/** @type {number} */\\nIArrayLike.prototype.length;\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike<T>}\\n * @template T\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions_and_function_scope/arguments\\n */\\nfunction Arguments() {}\\n\\n/**\\n * @type {Function}\\n * @see http://developer.mozilla.org/En/Core_JavaScript_1.5_Reference/Functions_and_function_scope/arguments/callee\\n */\\nArguments.prototype.callee;\\n\\n/**\\n * Use the non-standard {@see Function.prototype.caller} property of a function\\n * object instead.\\n * @type {Function}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/arguments/caller\\n * @deprecated\\n */\\nArguments.prototype.caller;\\n\\n/**\\n * @type {number}\\n * @see http://developer.mozilla.org/En/Core_JavaScript_1.5_Reference/Functions_and_function_scope/arguments/length\\n */\\nArguments.prototype.length;\\n\\n/**\\n * Not actually a global variable, but we need it in order for the current type\\n * checker to typecheck the \\"arguments\\" variable in a function correctly.\\n * TODO(tbreisacher): When the old type checker is gone, delete this and add\\n * an \'arguments\' variable of type Array<string> in the d8 externs.\\n *\\n * @type {!Arguments}\\n * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Functions_and_function_scope/arguments\\n */\\nvar arguments;\\n\\n/**\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Infinity\\n * @const\\n */\\nvar Infinity;\\n\\n/**\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NaN\\n * @const\\n */\\nvar NaN;\\n\\n/**\\n * @type {undefined}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined\\n * @const\\n */\\nvar undefined;\\n\\n/**\\n * @param {string} uri\\n * @return {string}\\n * @throws {URIError} when used wrongly.\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURI\\n */\\nfunction decodeURI(uri) {}\\n\\n/**\\n * @param {string} uri\\n * @return {string}\\n * @throws {URIError} when used wrongly.\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent\\n */\\nfunction decodeURIComponent(uri) {}\\n\\n/**\\n * @param {string} uri\\n * @return {string}\\n * @throws {URIError} if one attempts to encode a surrogate which is not part of\\n * a high-low pair.\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURI\\n */\\nfunction encodeURI(uri) {}\\n\\n/**\\n * @param {string} uri\\n * @return {string}\\n * @throws {URIError} if one attempts to encode a surrogate which is not part of\\n * a high-low pair.\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent\\n */\\nfunction encodeURIComponent(uri) {}\\n\\n/**\\n * Should only be used in browsers where encode/decodeURIComponent\\n * are not present, as the latter handle fancy Unicode characters.\\n * @param {string} str\\n * @return {string}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Guide/Predefined_Functions/escape_and_unescape_Functions\\n */\\nfunction escape(str) {}\\n\\n/**\\n * Should only be used in browsers where encode/decodeURIComponent\\n * are not present, as the latter handle fancy Unicode characters.\\n * @param {string} str\\n * @return {string}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Guide/Predefined_Functions/escape_and_unescape_Functions\\n */\\nfunction unescape(str) {}\\n\\n/**\\n * @param {*} num\\n * @return {boolean}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/isFinite\\n */\\nfunction isFinite(num) {}\\n\\n/**\\n * @param {*} num\\n * @return {boolean}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/isNaN\\n */\\nfunction isNaN(num) {}\\n\\n/**\\n * @param {*} num\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseFloat\\n */\\nfunction parseFloat(num) {}\\n\\n/**\\n * Parse an integer. Use of {@code parseInt} without {@code base} is strictly\\n * banned in Google. If you really want to parse octal or hex based on the\\n * leader, then pass {@code undefined} as the base.\\n *\\n * @param {*} num\\n * @param {number|undefined} base\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt\\n */\\nfunction parseInt(num, base) {}\\n\\n/**\\n * @param {string} code\\n * @return {*}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval\\n */\\nfunction eval(code) {}\\n\\n\\n\\n/**\\n * @constructor\\n * @param {*=} opt_value\\n * @return {!Object}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object\\n */\\nfunction Object(opt_value) {}\\n\\n/**\\n * The constructor of the current object.\\n * @type {Function}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/constructor\\n */\\nObject.prototype.constructor = function() {};\\n\\n/**\\n * Binds an object\'s property to a function to be called when that property is\\n * looked up.\\n * Mozilla-only.\\n *\\n * @param {string} sprop\\n * @param {Function} fun\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineGetter\\n * @return {undefined}\\n */\\nObject.prototype.__defineGetter__ = function(sprop, fun) {};\\n\\n/**\\n * Binds an object\'s property to a function to be called when an attempt is made\\n * to set that property.\\n * Mozilla-only.\\n *\\n * @param {string} sprop\\n * @param {Function} fun\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineSetter\\n * @return {undefined}\\n */\\nObject.prototype.__defineSetter__ = function(sprop, fun) {};\\n\\n/**\\n * Returns whether the object has a property with the specified name.\\n *\\n * @param {*} propertyName Implicitly cast to a string.\\n * @return {boolean}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/hasOwnProperty\\n */\\nObject.prototype.hasOwnProperty = function(propertyName) {};\\n\\n/**\\n * Returns whether an object exists in another object\'s prototype chain.\\n *\\n * @param {Object} other\\n * @return {boolean}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/isPrototypeOf\\n */\\nObject.prototype.isPrototypeOf = function(other) {};\\n\\n/**\\n * Return the function bound as a getter to the specified property.\\n * Mozilla-only.\\n *\\n * @param {string} sprop a string containing the name of the property whose\\n * getter should be returned\\n * @return {Function}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/lookupGetter\\n */\\nObject.prototype.__lookupGetter__ = function(sprop) {};\\n\\n/**\\n * Return the function bound as a setter to the specified property.\\n * Mozilla-only.\\n *\\n * @param {string} sprop a string containing the name of the property whose\\n *     setter should be returned.\\n * @return {Function}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/lookupSetter\\n */\\nObject.prototype.__lookupSetter__ = function(sprop) {};\\n\\n/**\\n * Executes a function when a non-existent method is called on an object.\\n * Mozilla-only.\\n *\\n * @param {Function} fun\\n * @return {*}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/noSuchMethod\\n */\\nObject.prototype.__noSuchMethod__ = function(fun) {};\\n\\n/**\\n * Points to an object\'s context.  For top-level objects, this is the e.g. window.\\n * Mozilla-only.\\n *\\n * @type {Object}\\n * @deprecated\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/parent\\n */\\nObject.prototype.__parent__;\\n\\n/**\\n * Points to the object which was used as prototype when the object was instantiated.\\n * Mozilla-only.\\n *\\n * Will be null on Object.prototype.\\n *\\n * @type {Object}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/proto\\n */\\nObject.prototype.__proto__;\\n\\n/**\\n * Determine whether the specified property in an object can be enumerated by a\\n * for..in loop, with the exception of properties inherited through the\\n * prototype chain.\\n *\\n * @param {string} propertyName\\n * @return {boolean}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/propertyIsEnumerable\\n */\\nObject.prototype.propertyIsEnumerable = function(propertyName) {};\\n\\n/**\\n * Returns a localized string representing the object.\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toLocaleString\\n */\\nObject.prototype.toLocaleString = function() {};\\n\\n/**\\n * Returns a string representing the source code of the object.\\n * Mozilla-only.\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toSource\\n */\\nObject.prototype.toSource = function() {};\\n\\n/**\\n * Returns a string representing the object.\\n * @this {*}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toString\\n */\\nObject.prototype.toString = function() {};\\n\\n/**\\n * Removes a watchpoint set with the {@see Object.prototype.watch} method.\\n * Mozilla-only.\\n * @param {string} prop The name of a property of the object.\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/unwatch\\n * @return {undefined}\\n */\\nObject.prototype.unwatch = function(prop) {};\\n\\n/**\\n * Returns the object\'s {@code this} value.\\n * @return {*}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/valueOf\\n */\\nObject.prototype.valueOf = function() {};\\n\\n/**\\n * Sets a watchpoint method.\\n * Mozilla-only.\\n * @param {string} prop The name of a property of the object.\\n * @param {Function} handler A function to call.\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/watch\\n * @return {undefined}\\n */\\nObject.prototype.watch = function(prop, handler) {};\\n\\n\\n/**\\n * @constructor\\n * @param {...*} var_args\\n * @throws {Error}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function\\n */\\nfunction Function(var_args) {}\\n\\n/**\\n * @param {...*} var_args\\n * @return {*}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/call\\n */\\nFunction.prototype.call = function(var_args) {};\\n\\n/**\\n * @param {...*} var_args\\n * @return {*}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/apply\\n */\\nFunction.prototype.apply = function(var_args) {};\\n\\nFunction.prototype.arguments;\\n\\n/**\\n * @type {number}\\n * @deprecated\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/arity\\n */\\nFunction.prototype.arity;\\n\\n/**\\n * Nonstandard; Mozilla and JScript only.\\n * @type {Function}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/caller\\n */\\nFunction.prototype.caller;\\n\\n/**\\n * Nonstandard.\\n * @type {?}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/displayName\\n */\\nFunction.prototype.displayName;\\n\\n/**\\n * Expected number of arguments.\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/length\\n */\\nFunction.prototype.length;\\n\\n/**\\n * @type {string}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/name\\n */\\nFunction.prototype.name;\\n\\n/**\\n * @this {Function}\\n * @return {string}\\n * @nosideeffects\\n * @override\\n */\\nFunction.prototype.toString = function() {};\\n\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike<T>}\\n * @implements {Iterable<T>}\\n * @param {...*} var_args\\n * @return {!Array<?>}\\n * @nosideeffects\\n * @template T\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array\\n */\\nfunction Array(var_args) {}\\n\\n/**\\n * @return {Iterator<T>}\\n * @suppress {externsValidation}\\n */\\nArray.prototype[Symbol.iterator] = function() {};\\n\\n// Functions:\\n\\n/**\\n * Returns a new array comprised of this array joined with other array(s)\\n * and/or value(s).\\n *\\n * @param {...*} var_args\\n * @return {!Array<?>}\\n * @this {*}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/concat\\n */\\nArray.prototype.concat = function(var_args) {};\\n\\n/**\\n * Joins all elements of an array ';
a.a+="into a string.\\n *\\n * @param {*=} opt_separator Specifies a string to separate each element of the\\n *     array. The separator is converted to a string if necessary. If omitted,\\n *     the array elements are separated with a comma.\\n * @return {string}\\n * @this {IArrayLike<?>|string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/join\\n */\\nArray.prototype.join = function(opt_separator) {};\\n\\n/**\\n * Removes the last element from an array and returns that element.\\n *\\n * @return {T}\\n * @this {IArrayLike<T>}\\n * @modifies {this}\\n * @template T\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/pop\\n */\\nArray.prototype.pop = function() {};\\n\\n/**\\n * Mutates an array by appending the given elements and returning the new\\n * length of the array.\\n *\\n * @param {...T} var_args\\n * @return {number} The new length of the array.\\n * @this {IArrayLike<T>}\\n * @template T\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/push\\n */\\nArray.prototype.push = function(var_args) {};\\n\\n/**\\n * Transposes the elements of an array in place: the first array element becomes the\\n * last and the last becomes the first. The mutated array is also returned.\\n *\\n * @return {THIS} A reference to the original modified array.\\n * @this {THIS}\\n * @template THIS\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reverse\\n */\\nArray.prototype.reverse = function() {};\\n\\n/**\\n * Removes the first element from an array and returns that element. This\\n * method changes the length of the array.\\n *\\n * @this {IArrayLike<T>}\\n * @modifies {this}\\n * @return {T}\\n * @template T\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/shift\\n */\\nArray.prototype.shift = function() {};\\n\\n/**\\n * Extracts a section of an array and returns a new array.\\n *\\n * @param {*=} opt_begin Zero-based index at which to begin extraction.  A\\n *     non-number type will be auto-cast by the browser to a number.\\n * @param {*=} opt_end Zero-based index at which to end extraction.  slice\\n *     extracts up to but not including end.\\n * @return {!Array<T>}\\n * @this {IArrayLike<T>|string}\\n * @template T\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice\\n */\\nArray.prototype.slice = function(opt_begin, opt_end) {};\\n\\n/**\\n * Sorts the elements of an array in place.\\n *\\n * @param {function(T,T):number=} opt_compareFn Specifies a function that\\n *     defines the sort order.\\n * @this {IArrayLike<T>}\\n * @template T\\n * @modifies {this}\\n * @return {!Array<T>}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort\\n */\\nArray.prototype.sort = function(opt_compareFn) {};\\n\\n/**\\n * Changes the content of an array, adding new elements while removing old\\n * elements.\\n *\\n * @param {*=} opt_index Index at which to start changing the array. If negative,\\n *     will begin that many elements from the end.  A non-number type will be\\n *     auto-cast by the browser to a number.\\n * @param {*=} opt_howMany An integer indicating the number of old array elements\\n *     to remove.\\n * @param {...T} var_args\\n * @return {!Array<T>}\\n * @this {IArrayLike<T>}\\n * @modifies {this}\\n * @template T\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice\\n */\\nArray.prototype.splice = function(opt_index, opt_howMany, var_args) {};\\n\\n/**\\n * @return {string}\\n * @this {Object}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/toSource\\n */\\nArray.prototype.toSource;\\n\\n/**\\n * @this {Array<?>}\\n * @return {string}\\n * @nosideeffects\\n * @override\\n */\\nArray.prototype.toString = function() {};\\n\\n/**\\n * Adds one or more elements to the beginning of an array and returns the new\\n * length of the array.\\n *\\n * @param {...*} var_args\\n * @return {number} The new length of the array\\n * @this {IArrayLike<?>}\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/unshift\\n */\\nArray.prototype.unshift = function(var_args) {};\\n\\n/**\\n * Apply a function simultaneously against two values of the array (from\\n * left-to-right) as to reduce it to a single value.\\n *\\n * @param {?function(?, T, number, !Array<T>) : R} callback\\n * @param {*=} opt_initialValue\\n * @return {R}\\n * @this {IArrayLike<T>|string}\\n * @template T,R\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce\\n */\\nArray.prototype.reduce = function(callback, opt_initialValue) {};\\n\\n/**\\n * Apply a function simultaneously against two values of the array (from\\n * right-to-left) as to reduce it to a single value.\\n *\\n * @param {?function(?, T, number, !Array<T>) : R} callback\\n * @param {*=} opt_initialValue\\n * @return {R}\\n * @this {IArrayLike<T>|string}\\n * @template T,R\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduceRight\\n */\\nArray.prototype.reduceRight = function(callback, opt_initialValue) {};\\n\\n/**\\n * Available in ECMAScript 5, Mozilla 1.6+.\\n * @param {?function(this:S, T, number, !Array<T>): ?} callback\\n * @param {S=} opt_thisobj\\n * @return {boolean}\\n * @this {IArrayLike<T>|string}\\n * @template T,S\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/every\\n */\\nArray.prototype.every = function(callback, opt_thisobj) {};\\n\\n/**\\n * Available in ECMAScript 5, Mozilla 1.6+.\\n * @param {?function(this:S, T, number, !Array<T>): ?} callback\\n * @param {S=} opt_thisobj\\n * @return {!Array<T>}\\n * @this {IArrayLike<T>|string}\\n * @template T,S\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter\\n */\\nArray.prototype.filter = function(callback, opt_thisobj) {};\\n\\n/**\\n * Available in ECMAScript 5, Mozilla 1.6+.\\n * @param {?function(this:S, T, number, !Array<T>): ?} callback\\n * @param {S=} opt_thisobj\\n * @this {IArrayLike<T>|string}\\n * @template T,S\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach\\n * @return {undefined}\\n */\\nArray.prototype.forEach = function(callback, opt_thisobj) {};\\n\\n/**\\n * Available in ECMAScript 5, Mozilla 1.6+.\\n * @param {T} obj\\n * @param {number=} opt_fromIndex\\n * @return {number}\\n * @this {IArrayLike<T>|string}\\n * @nosideeffects\\n * @template T\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf\\n */\\nArray.prototype.indexOf = function(obj, opt_fromIndex) {};\\n\\n/**\\n * Available in ECMAScript 5, Mozilla 1.6+.\\n * @param {T} obj\\n * @param {number=} opt_fromIndex\\n * @return {number}\\n * @this {IArrayLike<T>|string}\\n * @nosideeffects\\n * @template T\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/lastIndexOf\\n */\\nArray.prototype.lastIndexOf = function(obj, opt_fromIndex) {};\\n\\n/**\\n * Available in ECMAScript 5, Mozilla 1.6+.\\n * @param {?function(this:S, T, number, !Array<T>): R} callback\\n * @param {S=} opt_thisobj\\n * @return {!Array<R>}\\n * @this {IArrayLike<T>|string}\\n * @template T,S,R\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map\\n */\\nArray.prototype.map = function(callback, opt_thisobj) {};\\n\\n/**\\n * Available in ECMAScript 5, Mozilla 1.6+.\\n * @param {?function(this:S, T, number, !Array<T>): ?} callback\\n * @param {S=} opt_thisobj\\n * @return {boolean}\\n * @this {IArrayLike<T>|string}\\n * @template T,S\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some\\n */\\nArray.prototype.some = function(callback, opt_thisobj) {};\\n\\n/**\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/index\\n */\\nArray.prototype.index;\\n\\n/**\\n * @type {?string}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/input\\n */\\nArray.prototype.input;\\n\\n/**\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/length\\n */\\nArray.prototype.length;\\n\\n/**\\n * @param {IArrayLike<T>} arr\\n * @param {?function(this:S, T, number, ?) : ?} callback\\n * @param {S=} opt_context\\n * @return {boolean}\\n * @template T,S\\n */\\nArray.every = function(arr, callback, opt_context) {};\\n\\n/**\\n * @param {IArrayLike<T>} arr\\n * @param {?function(this:S, T, number, ?) : ?} callback\\n * @param {S=} opt_context\\n * @return {!Array<T>}\\n * @template T,S\\n */\\nArray.filter = function(arr, callback, opt_context) {};\\n\\n/**\\n * @param {IArrayLike<T>} arr\\n * @param {?function(this:S, T, number, ?) : ?} callback\\n * @param {S=} opt_context\\n * @template T,S\\n * @return {undefined}\\n */\\nArray.forEach = function(arr, callback, opt_context) {};\\n\\n/**\\n * Mozilla 1.6+ only.\\n * @param {IArrayLike<T>} arr\\n * @param {T} obj\\n * @param {number=} opt_fromIndex\\n * @return {number}\\n * @template T\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf\\n */\\nArray.indexOf = function(arr, obj, opt_fromIndex) {};\\n\\n/**\\n * Mozilla 1.6+ only.\\n * @param {IArrayLike<T>} arr\\n * @param {T} obj\\n * @param {number=} opt_fromIndex\\n * @return {number}\\n * @template T\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/lastIndexOf\\n */\\nArray.lastIndexOf = function(arr, obj, opt_fromIndex) {};\\n\\n/**\\n * @param {IArrayLike<T>} arr\\n * @param {?function(this:S, T, number, !Array<T>): R} callback\\n * @param {S=} opt_context\\n * @return {!Array<R>}\\n * @template T,S,R\\n */\\nArray.map = function(arr, callback, opt_context) {};\\n\\n/**\\n * @param {IArrayLike<T>} arr\\n * @param {?function(this:S, T, number, ?) : ?} callback\\n * @param {S=} opt_context\\n * @return {boolean}\\n * @template T,S\\n */\\nArray.some = function(arr, callback, opt_context) {};\\n\\n/**\\n * Introduced in 1.8.5.\\n * @param {*} arr\\n * @return {boolean}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/isArray\\n */\\nArray.isArray = function(arr) {};\\n\\n/**\\n * @constructor\\n * @param {*=} opt_value\\n * @return {boolean}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean\\n */\\nfunction Boolean(opt_value) {}\\n\\n/**\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean/toSource\\n * @override\\n */\\nBoolean.prototype.toSource = function() {};\\n\\n/**\\n * @this {boolean|Boolean}\\n * @return {string}\\n * @nosideeffects\\n * @override\\n */\\nBoolean.prototype.toString = function() {};\\n\\n/**\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean/valueOf\\n * @override\\n */\\nBoolean.prototype.valueOf = function() {};\\n\\n/**\\n * @constructor\\n * @param {*=} opt_value\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\\n */\\nfunction Number(opt_value) {}\\n\\n/**\\n * @this {Number|number}\\n * @param {number=} opt_fractionDigits\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toExponential\\n */\\nNumber.prototype.toExponential = function(opt_fractionDigits) {};\\n\\n/**\\n * @this {Number|number}\\n * @param {*=} opt_digits\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toFixed\\n */\\nNumber.prototype.toFixed = function(opt_digits) {};\\n\\n/**\\n * @this {Number|number}\\n * @param {number=} opt_precision\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toPrecision\\n */\\nNumber.prototype.toPrecision = function(opt_precision) {};\\n\\n/**\\n * Returns a string representing the number.\\n * @this {Number|number}\\n * @param {(number|Number)=} opt_radix An optional radix.\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toString\\n * @override\\n */\\nNumber.prototype.toString = function(opt_radix) {};\\n\\n// Properties.\\n/**\\n * @const {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_VALUE\\n */\\nNumber.MAX_VALUE;\\n\\n/**\\n * @const {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MIN_VALUE\\n */\\nNumber.MIN_VALUE;\\n\\n/**\\n * @const {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/NaN\\n */\\nNumber.NaN;\\n\\n/**\\n * @const {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/NEGATIVE_INFINITY\\n */\\nNumber.NEGATIVE_INFINITY;\\n\\n/**\\n * @const {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/POSITIVE_INFINITY\\n */\\nNumber.POSITIVE_INFINITY;\\n\\n\\n/**\\n * @const\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math\\n */\\nvar Math = {};\\n\\n/**\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/abs\\n */\\nMath.abs = function(x) {};\\n\\n/**\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/acos\\n */\\nMath.acos = function(x) {};\\n\\n/**\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/asin\\n */\\nMath.asin = function(x) {};\\n\\n/**\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/atan\\n */\\nMath.atan = function(x) {};\\n\\n/**\\n * @param {?} y\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/atan2\\n */\\nMath.atan2 = function(y, x) {};\\n\\n/**\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/ceil\\n */\\nMath.ceil = function(x) {};\\n\\n/**\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/cos\\n */\\nMath.cos = function(x) {};\\n\\n/**\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/exp\\n */\\nMath.exp = function(x) {};\\n\\n/**\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/floor\\n */\\nMath.floor = function(x) {};\\n\\n/**\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/log\\n */\\nMath.log = function(x) {};\\n\\n/**\\n * @param {...?} var_args\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/max\\n */\\nMath.max = function(var_args) {};\\n\\n/**\\n * @param {...?} var_args\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/min\\n */\\nMath.min = function(var_args) {};\\n\\n/**\\n * @param {?} x\\n * @param {?} y\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/pow\\n */\\nMath.pow = function(x, y) {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * ";
a.a+="@see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/random\\n */\\nMath.random = function() {};\\n\\n/**\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/round\\n */\\nMath.round = function(x) {};\\n\\n/**\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/sin\\n */\\nMath.sin = function(x) {};\\n\\n/**\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/sqrt\\n */\\nMath.sqrt = function(x) {};\\n\\n/**\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/tan\\n */\\nMath.tan = function(x) {};\\n\\n/**\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/toSource\\n */\\nMath.toSource = function() {};\\n\\n// Properties:\\n\\n/**\\n * @const {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/E\\n */\\nMath.E;\\n\\n/**\\n * @const {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/LN2\\n */\\nMath.LN2;\\n\\n/**\\n * @const {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/LN10\\n */\\nMath.LN10;\\n\\n/**\\n * @const {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/LOG2E\\n */\\nMath.LOG2E;\\n\\n/**\\n * @const {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/LOG10E\\n */\\nMath.LOG10E;\\n\\n/**\\n * @const {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/PI\\n */\\nMath.PI;\\n\\n/**\\n * @const {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/SQRT1_2\\n */\\nMath.SQRT1_2;\\n\\n/**\\n * @const {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/SQRT2\\n */\\nMath.SQRT2;\\n\\n\\n/**\\n * @param {?=} opt_yr_num\\n * @param {?=} opt_mo_num\\n * @param {?=} opt_day_num\\n * @param {?=} opt_hr_num\\n * @param {?=} opt_min_num\\n * @param {?=} opt_sec_num\\n * @param {?=} opt_ms_num\\n * @constructor\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date\\n */\\nfunction Date(opt_yr_num, opt_mo_num, opt_day_num, opt_hr_num, opt_min_num,\\n    opt_sec_num, opt_ms_num) {}\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/now\\n */\\nDate.now = function() {};\\n\\n/**\\n * Parses a string representation of a date, and returns the number\\n * of milliseconds since January 1, 1970, 00:00:00, local time.\\n * @param {*} date\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse\\n */\\nDate.parse = function(date) {};\\n\\n/**\\n * @param {number} year\\n * @param {number} month\\n * @param {number=} opt_date\\n * @param {number=} opt_hours\\n * @param {number=} opt_minute\\n * @param {number=} opt_second\\n * @param {number=} opt_ms\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/UTC\\n */\\nDate.UTC = function(year, month,\\n                    opt_date, opt_hours, opt_minute, opt_second, opt_ms) {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getDate\\n */\\nDate.prototype.getDate = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getDay\\n */\\nDate.prototype.getDay = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getMonth\\n */\\nDate.prototype.getMonth = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getFullYear\\n */\\nDate.prototype.getFullYear = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getYear\\n */\\nDate.prototype.getYear = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getHours\\n */\\nDate.prototype.getHours = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getMinutes\\n */\\nDate.prototype.getMinutes = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getSeconds\\n */\\nDate.prototype.getSeconds = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getMilliseconds\\n */\\nDate.prototype.getMilliseconds = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTime\\n */\\nDate.prototype.getTime = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTimezoneOffset\\n */\\nDate.prototype.getTimezoneOffset = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCDate\\n */\\nDate.prototype.getUTCDate = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCDay\\n */\\nDate.prototype.getUTCDay = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCMonth\\n */\\nDate.prototype.getUTCMonth = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCFullYear\\n */\\nDate.prototype.getUTCFullYear = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCHours\\n */\\nDate.prototype.getUTCHours = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCMinutes\\n */\\nDate.prototype.getUTCMinutes = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCSeconds\\n */\\nDate.prototype.getUTCSeconds = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCMilliseconds\\n */\\nDate.prototype.getUTCMilliseconds = function() {};\\n\\n/**\\n * Sets the day of the month for a specified date according to local time.\\n *\\n * @param {number} dayValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setDate\\n * @return {number}\\n */\\nDate.prototype.setDate = function(dayValue) {};\\n\\n/**\\n * Set the month for a specified date according to local time.\\n *\\n * @param {number} monthValue\\n * @param {number=} opt_dayValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setMonth\\n * @return {number}\\n */\\nDate.prototype.setMonth = function(monthValue, opt_dayValue) {};\\n\\n/**\\n * Sets the full year for a specified date according to local time.\\n *\\n * @param {number} yearValue\\n * @param {number=} opt_monthValue\\n * @param {number=} opt_dayValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setFullYear\\n * @return {number}\\n */\\nDate.prototype.setFullYear =\\n    function(yearValue, opt_monthValue, opt_dayValue) {};\\n\\n/**\\n * Sets the year for a specified date according to local time.\\n *\\n * @param {number} yearValue\\n * @deprecated\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setYear\\n * @return {number}\\n */\\nDate.prototype.setYear = function(yearValue) {};\\n\\n/**\\n * Sets the hours for a specified date according to local time.\\n *\\n * @param {number} hoursValue\\n * @param {number=} opt_minutesValue\\n * @param {number=} opt_secondsValue\\n * @param {number=} opt_msValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setHours\\n * @return {number}\\n */\\nDate.prototype.setHours = function(hoursValue, opt_minutesValue,\\n                                   opt_secondsValue, opt_msValue) {};\\n\\n/**\\n * Sets the minutes for a specified date according to local time.\\n *\\n * @param {number} minutesValue\\n * @param {number=} opt_secondsValue\\n * @param {number=} opt_msValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setMinutes\\n * @return {number}\\n */\\nDate.prototype.setMinutes =\\n    function(minutesValue, opt_secondsValue, opt_msValue) {};\\n\\n/**\\n * Sets the seconds for a specified date according to local time.\\n *\\n * @param {number} secondsValue\\n * @param {number=} opt_msValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setSeconds\\n * @return {number}\\n */\\nDate.prototype.setSeconds = function(secondsValue, opt_msValue) {};\\n\\n/**\\n * Sets the milliseconds for a specified date according to local time.\\n *\\n * @param {number} millisecondsValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setMilliseconds\\n * @return {number}\\n */\\nDate.prototype.setMilliseconds = function(millisecondsValue) {};\\n\\n/**\\n * Sets the Date object to the time represented by a number of milliseconds\\n * since January 1, 1970, 00:00:00 UTC.\\n *\\n * @param {number} timeValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setTime\\n * @return {number}\\n */\\nDate.prototype.setTime = function(timeValue) {};\\n\\n/**\\n * Sets the day of the month for a specified date according to universal time.\\n *\\n * @param {number} dayValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCDate\\n * @return {number}\\n */\\nDate.prototype.setUTCDate = function(dayValue) {};\\n\\n/**\\n * Sets the month for a specified date according to universal time.\\n *\\n * @param {number} monthValue\\n * @param {number=} opt_dayValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCMonth\\n * @return {number}\\n */\\nDate.prototype.setUTCMonth = function(monthValue, opt_dayValue) {};\\n\\n/**\\n * Sets the full year for a specified date according to universal time.\\n *\\n * @param {number} yearValue\\n * @param {number=} opt_monthValue\\n * @param {number=} opt_dayValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCFullYear\\n * @return {number}\\n */\\nDate.prototype.setUTCFullYear = function(yearValue, opt_monthValue,\\n                                         opt_dayValue) {};\\n\\n/**\\n * Sets the hour for a specified date according to universal time.\\n *\\n * @param {number} hoursValue\\n * @param {number=} opt_minutesValue\\n * @param {number=} opt_secondsValue\\n * @param {number=} opt_msValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCHours\\n * @return {number}\\n */\\nDate.prototype.setUTCHours = function(hoursValue, opt_minutesValue,\\n                                      opt_secondsValue, opt_msValue) {};\\n\\n/**\\n * Sets the minutes for a specified date according to universal time.\\n *\\n * @param {number} minutesValue\\n * @param {number=} opt_secondsValue\\n * @param {number=} opt_msValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCMinutes\\n * @return {number}\\n */\\nDate.prototype.setUTCMinutes = function(minutesValue, opt_secondsValue,\\n                                        opt_msValue) {};\\n\\n\\n/**\\n * Sets the seconds for a specified date according to universal time.\\n *\\n * @param {number} secondsValue\\n * @param {number=} opt_msValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCSeconds\\n * @return {number}\\n */\\nDate.prototype.setUTCSeconds = function(secondsValue, opt_msValue) {};\\n\\n/**\\n * Sets the milliseconds for a specified date according to universal time.\\n *\\n * @param {number} millisecondsValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCMilliseconds\\n * @return {number}\\n */\\nDate.prototype.setUTCMilliseconds = function(millisecondsValue) {};\\n\\n/**\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toSource\\n * @override\\n */\\nDate.prototype.toSource = function() {};\\n\\n/**\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date/toDateString\\n */\\nDate.prototype.toDateString = function() {};\\n\\n/**\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toGMTString\\n */\\nDate.prototype.toGMTString = function() {};\\n\\n/**\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toTimeString\\n */\\nDate.prototype.toTimeString = function() {};\\n\\n/**\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toUTCString\\n */\\nDate.prototype.toUTCString = function() {};\\n\\n/**\\n * @param {(string|Array<string>)=} opt_locales\\n * @param {Object=} opt_options\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString\\n */\\nDate.prototype.toLocaleDateString = function(opt_locales, opt_options) {};\\n\\n/**\\n * @param {string} formatString\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleFormat\\n */\\nDate.prototype.toLocaleFormat = function(formatString) {};\\n\\n/**\\n * @param {string|Array<string>=} opt_locales\\n * @param {Object=} opt_options\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleString\\n * @see http://www.ecma-international.org/ecma-402/1.0/#sec-13.3.1\\n * @override\\n */\\nDate.prototype.toLocaleString = function(opt_locales, opt_options) {};\\n\\n/**\\n * @param {(string|Array<string>)=} opt_locales\\n * @param {Object=} opt_options\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleTimeString\\n */\\nDate.prototype.toLocaleTimeString = function(opt_locales, opt_options) {};\\n\\n/**\\n * @this {Date}\\n * @return {string}\\n * @nosideeffects\\n * @override\\n */\\nDate.prototype.toString = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs";
a.a+="/Web/JavaScript/Reference/Global_Objects/Date/valueOf\\n */\\nDate.prototype.valueOf;\\n\\n/**\\n * @constructor\\n * @implements {Iterable<string>}\\n * @param {*=} opt_str\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String\\n */\\nfunction String(opt_str) {}\\n\\n/**\\n * @param {...number} var_args\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fromCharCode\\n */\\nString.fromCharCode = function(var_args) {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/anchor\\n */\\nString.prototype.anchor = function() {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/big\\n */\\nString.prototype.big = function() {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/blink\\n */\\nString.prototype.blink = function() {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/bold\\n */\\nString.prototype.bold = function() {};\\n\\n/**\\n * Returns the specified character from a string.\\n *\\n * @this {String|string}\\n * @param {number} index\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/charAt\\n */\\nString.prototype.charAt = function(index) {};\\n\\n/**\\n * Returns a number indicating the Unicode value of the character at the given\\n * index.\\n *\\n * @this {String|string}\\n * @param {number=} opt_index\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/charCodeAt\\n */\\nString.prototype.charCodeAt = function(opt_index) {};\\n\\n/**\\n * Combines the text of two or more strings and returns a new string.\\n *\\n * @this {String|string}\\n * @param {...*} var_args\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/concat\\n */\\nString.prototype.concat = function(var_args) {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fixed\\n */\\nString.prototype.fixed = function() {};\\n\\n/**\\n * @this {String|string}\\n * @param {string} color\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fontcolor\\n */\\nString.prototype.fontcolor = function(color) {};\\n\\n/**\\n * @this {String|string}\\n * @param {number} size\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fontsize\\n */\\nString.prototype.fontsize = function(size) {};\\n\\n/**\\n * Returns the index within the calling String object of the first occurrence\\n * of the specified value, starting the search at fromIndex, returns -1 if the\\n * value is not found.\\n *\\n * @this {String|string}\\n * @param {string|null} searchValue\\n * @param {(number|null)=} opt_fromIndex\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf\\n */\\nString.prototype.indexOf = function(searchValue, opt_fromIndex) {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/italics\\n */\\nString.prototype.italics = function() {};\\n\\n/**\\n * Returns the index within the calling String object of the last occurrence of\\n * the specified value, or -1 if not found. The calling string is searched\\n * backward, starting at fromIndex.\\n *\\n * @this {String|string}\\n * @param {string|null} searchValue\\n * @param {(number|null)=} opt_fromIndex\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/lastIndexOf\\n */\\nString.prototype.lastIndexOf = function(searchValue, opt_fromIndex) {};\\n\\n/**\\n * @this {String|string}\\n * @param {string} hrefAttribute\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/link\\n */\\nString.prototype.link = function(hrefAttribute) {};\\n\\n/**\\n * Returns a number indicating whether a reference string comes before or after\\n * or is the same as the given string in sort order.\\n *\\n * @this {*}\\n * @param {?string} compareString\\n * @param {string|Array<string>=} locales\\n * @param {Object=} options\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/En/Core_JavaScript_1.5_Reference/Objects/String/localeCompare\\n * @see http://www.ecma-international.org/ecma-402/1.0/#sec-13.1.1\\n */\\nString.prototype.localeCompare = function(compareString, locales, options) {};\\n\\n/**\\n * Used to retrieve the matches when matching a string against a regular\\n * expression.\\n *\\n * @this {String|string}\\n * @param {*} regexp\\n * @return {Array<string>} This should really return an Array with a few\\n *     special properties, but we do not have a good way to model this in\\n *     our type system. Also see Regexp.prototype.exec.\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/match\\n */\\nString.prototype.match = function(regexp) {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/quote\\n */\\nString.prototype.quote = function() {};\\n\\n/**\\n * Finds a match between a regular expression and a string, and replaces the\\n * matched substring with a new substring.\\n *\\n * This may have side-effects if the replacement function has side-effects.\\n *\\n * @this {String|string}\\n * @param {RegExp|string} pattern\\n * @param {string|Function} replacement\\n * @return {string}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace\\n */\\nString.prototype.replace = function(pattern, replacement) {};\\n\\n/**\\n * Executes the search for a match between a regular expression and this String\\n * object.\\n *\\n * @this {String|string}\\n * @param {RegExp|string} pattern\\n * @return {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/search\\n */\\nString.prototype.search = function(pattern) {};\\n\\n/**\\n * @this {String|string}\\n * @param {number} begin\\n * @param {number=} opt_end\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/slice\\n */\\nString.prototype.slice = function(begin, opt_end) {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/small\\n */\\nString.prototype.small = function() {};\\n\\n/**\\n * @this {String|string}\\n * @param {*=} opt_separator\\n * @param {number=} opt_limit\\n * @return {!Array<string>}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split\\n */\\nString.prototype.split = function(opt_separator, opt_limit) {};\\n\\n/**\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/strike\\n */\\nString.prototype.strike = function() {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/sub\\n */\\nString.prototype.sub = function() {};\\n\\n/**\\n * @this {String|string}\\n * @param {number} start\\n * @param {number=} opt_length\\n * @return {string} The specified substring.\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substr\\n */\\nString.prototype.substr = function(start, opt_length) {};\\n\\n/**\\n * @this {String|string}\\n * @param {number} start\\n * @param {number=} opt_end\\n * @return {string} The specified substring.\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substring\\n */\\nString.prototype.substring = function(start, opt_end) {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/sup\\n */\\nString.prototype.sup = function() {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toLocaleUpperCase\\n */\\nString.prototype.toLocaleUpperCase = function() {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toLocaleLowerCase\\n */\\nString.prototype.toLocaleLowerCase = function() {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toLowerCase\\n */\\nString.prototype.toLowerCase = function() {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toUpperCase\\n */\\nString.prototype.toUpperCase = function() {};\\n\\n/**\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toSource\\n * @override\\n */\\nString.prototype.toSource = function() {};\\n\\n/**\\n * @this {string|String}\\n * @return {string}\\n * @nosideeffects\\n * @override\\n */\\nString.prototype.toString = function() {};\\n\\n/**\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/valueOf\\n */\\nString.prototype.valueOf;\\n\\n/**\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/length\\n */\\nString.prototype.length;\\n\\n/**\\n * @constructor\\n * @param {*=} opt_pattern\\n * @param {*=} opt_flags\\n * @return {!RegExp}\\n * @throws {SyntaxError} if opt_pattern is an invalid pattern.\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\\n */\\nfunction RegExp(opt_pattern, opt_flags) {}\\n\\n/**\\n * @param {*} pattern\\n * @param {*=} opt_flags\\n * @return {void}\\n * @modifies {this}\\n * @deprecated\\n * @see http://msdn.microsoft.com/en-us/library/x9cswe0z(v=VS.85).aspx\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/compile\\n */\\nRegExp.prototype.compile = function(pattern, opt_flags) {};\\n\\n/**\\n * @param {*} str The string to search.\\n * @return {Array<string>} This should really return an Array with a few\\n *     special properties, but we do not have a good way to model this in\\n *     our type system. Also see String.prototype.match.\\n * @see http://msdn.microsoft.com/en-us/library/z908hy33(VS.85).aspx\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/exec\\n */\\nRegExp.prototype.exec = function(str) {};\\n\\n/**\\n * @param {*} str The string to search.\\n * @return {boolean} Whether the string was matched.\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/test\\n */\\nRegExp.prototype.test = function(str) {};\\n\\n/**\\n * @this {RegExp}\\n * @return {string}\\n * @nosideeffects\\n * @override\\n */\\nRegExp.prototype.toString = function() {};\\n\\n// Constructor properties:\\n\\n/**\\n * The string against which the last regexp was matched.\\n * @type {string}\\n * @see http://www.devguru.com/Technologies/Ecmascript/Quickref/regexp_input.html\\n */\\nRegExp.input;\\n\\n/**\\n * The last matched characters.\\n * @type {string}\\n * @see http://www.devguru.com/Technologies/Ecmascript/Quickref/regexp_lastMatch.html\\n */\\nRegExp.lastMatch;\\n\\n/**\\n * The last matched parenthesized substring, if any.\\n * @type {string}\\n * @see http://www.devguru.com/Technologies/Ecmascript/Quickref/regexp_lastParen.html\\n */\\nRegExp.lastParen;\\n\\n/**\\n * The substring of the input up to the characters most recently matched.\\n * @type {string}\\n * @see http://www.devguru.com/Technologies/Ecmascript/Quickref/regexp_leftContext.html\\n */\\nRegExp.leftContext;\\n\\n/**\\n * The substring of the input after the characters most recently matched.\\n * @type {string}\\n * @see http://www.devguru.com/Technologies/Ecmascript/Quickref/regexp_rightContext.html\\n */\\nRegExp.rightContext;\\n\\n/**\\n * @type {string}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\\n */\\nRegExp.$1;\\n/**\\n * @type {string}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\\n */\\nRegExp.$2;\\n/**\\n * @type {string}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\\n */\\nRegExp.$3;\\n/**\\n * @type {string}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\\n */\\nRegExp.$4;\\n/**\\n * @type {string}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\\n */\\nRegExp.$5;\\n/**\\n * @type {string}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\\n */\\nRegExp.$6;\\n/**\\n * @type {string}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\\n */\\nRegExp.$7;\\n/**\\n * @type {string}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\\n */\\nRegExp.$8;\\n/**\\n * @type {string}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\\n */\\nRegExp.$9;\\n\\n// Prototype properties:\\n\\n/**\\n * Whether to test the regular expression against all possible matches\\n * in a string, or only against the first.\\n * @type {boolean}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/global\\n */\\nRegExp.prototype.global;\\n\\n/**\\n * Whether to ignore case while attempting a match in a string.\\n * @type {boolean}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/ignoreCase\\n */\\nRegExp.prototype.ignoreCase;\\n\\n/**\\n * The index at which to start the next match.\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/lastIndex\\n */\\nRegExp.prototype.lastIndex;\\n\\n/**\\n * Whether or not the regular expression uses lastIndex.\\n * @type {boolean}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/sticky\\n */\\nRegExp.prototype.sticky;\\n\\n/**\\n * Whether or not to search in strings across multiple lines.\\n * @type {boolean}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/multiline\\n */\\nRegExp.prototype.multiline;\\n\\n/**\\n * The text of the pattern.\\n * @type {string}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/source\\n */\\nRegExp.prototype.source;\\n\\n/**\\n * The flags the regex was created with.\\n * @type {string}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/flags\\n */\\nRegExp.prototype.flags;\\n\\n/**\\n * @constructor\\n * @param {*=} opt_message\\n * @param {*=} opt_file\\n * @param {*=} opt_line\\n * @return {!Error}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error\\n */\\nfunction Error(opt_message, opt_file, opt_line) {}\\n\\n\\n/**\\n * Chrome/v8 specific, altering the maximum depth of the stack trace\\n * (10 by defa";
a.a+='ult).\\n * @type {number}\\n * @see http://code.google.com/p/v8/wiki/JavaScriptStackTraceApi\\n */\\nError.stackTraceLimit;\\n\\n\\n/**\\n * Chrome/v8 specific, adds a stack trace to the error object. The optional\\n * constructorOpt parameter allows you to pass in a function value. When\\n * collecting the stack trace all frames above the topmost call to this\\n * function, including that call, will be left out of the stack trace.\\n * @param {Object} error The object to add the stack trace to.\\n * @param {Function=} opt_constructor A function in the stack trace\\n * @see http://code.google.com/p/v8/wiki/JavaScriptStackTraceApi\\n * @return {undefined}\\n */\\nError.captureStackTrace = function(error, opt_constructor){};\\n\\n\\n/**\\n * IE-only.\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/2w6a45b5.aspx\\n */\\nError.prototype.description;\\n\\n\\n/**\\n * Mozilla-only.\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/lineNumber\\n */\\nError.prototype.lineNumber;\\n\\n/**\\n * Mozilla-only\\n * @type {string}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/fileName\\n */\\nError.prototype.fileName;\\n\\n/**\\n * @type {string}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/name\\n */\\nError.prototype.name;\\n\\n/**\\n * @type {string}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/message\\n */\\nError.prototype.message;\\n\\n/**\\n * Doesn\'t seem to exist, but closure/debug.js references it.\\n */\\nError.prototype.sourceURL;\\n\\n/** @type {string} */\\nError.prototype.stack;\\n\\n\\n/**\\n * @constructor\\n * @extends {Error}\\n * @param {*=} opt_message\\n * @param {*=} opt_file\\n * @param {*=} opt_line\\n * @return {!EvalError}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/EvalError\\n */\\nfunction EvalError(opt_message, opt_file, opt_line) {}\\n\\n/**\\n * @constructor\\n * @extends {Error}\\n * @param {*=} opt_message\\n * @param {*=} opt_file\\n * @param {*=} opt_line\\n * @return {!RangeError}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RangeError\\n */\\nfunction RangeError(opt_message, opt_file, opt_line) {}\\n\\n/**\\n * @constructor\\n * @extends {Error}\\n * @param {*=} opt_message\\n * @param {*=} opt_file\\n * @param {*=} opt_line\\n * @return {!ReferenceError}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ReferenceError\\n */\\nfunction ReferenceError(opt_message, opt_file, opt_line) {}\\n\\n/**\\n * @constructor\\n * @extends {Error}\\n * @param {*=} opt_message\\n * @param {*=} opt_file\\n * @param {*=} opt_line\\n * @return {!SyntaxError}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SyntaxError\\n */\\nfunction SyntaxError(opt_message, opt_file, opt_line) {}\\n\\n/**\\n * @constructor\\n * @extends {Error}\\n * @param {*=} opt_message\\n * @param {*=} opt_file\\n * @param {*=} opt_line\\n * @return {!TypeError}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypeError\\n */\\nfunction TypeError(opt_message, opt_file, opt_line) {}\\n\\n/**\\n * @constructor\\n * @extends {Error}\\n * @param {*=} opt_message\\n * @param {*=} opt_file\\n * @param {*=} opt_line\\n * @return {!URIError}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/URIError\\n */\\nfunction URIError(opt_message, opt_file, opt_line) {}\\n\\n\\n// JScript extensions.\\n// @see http://msdn.microsoft.com/en-us/library/894hfyb4(VS.80).aspx\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/7sw4ddf8.aspx\\n * @type {function(new:?, string, string=)}\\n */\\nfunction ActiveXObject(progId, opt_location) {}\\n\\n/**\\n * @return {string}\\n * @nosideeffects\\n * @see http://msdn.microsoft.com/en-us/library/9k34bww2(VS.80).aspx\\n */\\nfunction ScriptEngine() {}\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://msdn.microsoft.com/en-us/library/yf25ky07(VS.80).aspx\\n */\\nfunction ScriptEngineMajorVersion() {}\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://msdn.microsoft.com/en-us/library/wx3812cz(VS.80).aspx\\n */\\nfunction ScriptEngineMinorVersion() {}\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://msdn.microsoft.com/en-us/library/e98hsk2f(VS.80).aspx\\n */\\nfunction ScriptEngineBuildVersion() {}\\n","externs/es5.js":"/*\\n * Copyright 2009 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for ECMAScript 5.\\n * @see https://es5.github.io/\\n * @externs\\n * @author djlee@google.com (DJ Lee)\\n */\\n\\n\\n/**\\n * @param {Object|undefined} selfObj Specifies the object to which |this| should\\n *     point when the function is run. If the value is null or undefined, it\\n *     will default to the global object.\\n * @param {...*} var_args Additional arguments that are partially\\n *     applied to fn.\\n * @return {!Function} A partially-applied form of the Function on which\\n *     bind() was invoked as a method.\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/bind\\n */\\nFunction.prototype.bind = function(selfObj, var_args) {};\\n\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/Trim\\n */\\nString.prototype.trim = function() {};\\n\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/TrimLeft\\n */\\nString.prototype.trimLeft = function() {};\\n\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/TrimRight\\n */\\nString.prototype.trimRight = function() {};\\n\\n\\n/**\\n * A object property descriptor used by Object.create, Object.defineProperty,\\n * Object.defineProperties, Object.getOwnPropertyDescriptor.\\n *\\n * @record\\n * @template THIS\\n */\\nfunction ObjectPropertyDescriptor() {}\\n\\n/** @type {(*|undefined)} */\\nObjectPropertyDescriptor.prototype.value;\\n\\n/** @type {(function(this: THIS):?)|undefined} */\\nObjectPropertyDescriptor.prototype.get;\\n\\n/** @type {(function(this: THIS, ?):void)|undefined} */\\nObjectPropertyDescriptor.prototype.set;\\n\\n/** @type {boolean|undefined} */\\nObjectPropertyDescriptor.prototype.writable;\\n\\n/** @type {boolean|undefined} */\\nObjectPropertyDescriptor.prototype.enumerable;\\n\\n/** @type {boolean|undefined} */\\nObjectPropertyDescriptor.prototype.configurable;\\n\\n\\n/**\\n * @param {?Object} proto\\n * @param {?Object=} opt_properties  A map of ObjectPropertyDescriptors.\\n * @return {!Object}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/create\\n */\\nObject.create = function(proto, opt_properties) {};\\n\\n\\n/**\\n * @param {!Object} obj\\n * @param {string} prop\\n * @param {!Object} descriptor A ObjectPropertyDescriptor.\\n * @return {!Object}\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/defineProperty\\n */\\nObject.defineProperty = function(obj, prop, descriptor) {};\\n\\n\\n/**\\n * @param {!Object} obj\\n * @param {!Object} props A map of ObjectPropertyDescriptors.\\n * @return {!Object}\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/defineProperties\\n */\\nObject.defineProperties = function(obj, props) {};\\n\\n\\n/**\\n * @param {T} obj\\n * @param {string} prop\\n * @return {!ObjectPropertyDescriptor<T>|undefined}\\n * @nosideeffects\\n * @template T\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/getOwnPropertyDescriptor\\n */\\nObject.getOwnPropertyDescriptor = function(obj, prop) {};\\n\\n\\n/**\\n * @param {!Object} obj\\n * @return {!Array<string>}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/keys\\n */\\nObject.keys = function(obj) {};\\n\\n\\n/**\\n * @param {!Object} obj\\n * @return {!Array<string>}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/getOwnPropertyNames\\n */\\nObject.getOwnPropertyNames = function(obj) {};\\n\\n\\n/**\\n * @param {!Object} obj\\n * @return {Object}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/GetPrototypeOf\\n */\\nObject.getPrototypeOf = function(obj) {};\\n\\n\\n/**\\n * @param {T} obj\\n * @return {T}\\n * @template T\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/preventExtensions\\n */\\nObject.preventExtensions = function(obj) {};\\n\\n\\n/**\\n * @param {T} obj\\n * @return {T}\\n * @template T\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/seal\\n */\\nObject.seal = function(obj) {};\\n\\n\\n/**\\n * @param {T} obj\\n * @return {T}\\n * @template T\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/freeze\\n */\\nObject.freeze = function(obj) {};\\n\\n\\n/**\\n * @param {!Object} obj\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/isExtensible\\n */\\nObject.isExtensible = function(obj) {};\\n\\n\\n/**\\n * @param {!Object} obj\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/isSealed\\n */\\nObject.isSealed = function(obj) {};\\n\\n\\n/**\\n * @param {!Object} obj\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/isFrozen\\n */\\nObject.isFrozen = function(obj) {};\\n\\n\\n/**\\n * @param {string=} opt_key The JSON key for this object.\\n * @return {*} The serializable representation of this object. Note that this\\n *     need not be a string. See http://goo.gl/PEUvs.\\n * @see https://es5.github.io/#x15.12.3\\n */\\nObject.prototype.toJSON = function(opt_key) {};\\n\\n\\n/**\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date/toISOString\\n * @return {string}\\n */\\nDate.prototype.toISOString = function() {};\\n\\n\\n/**\\n * @param {*=} opt_ignoredKey\\n * @return {string}\\n * @override\\n */\\nDate.prototype.toJSON = function(opt_ignoredKey) {};\\n\\n\\n/**\\n * A fake type to model the JSON object.\\n * @constructor\\n */\\nfunction JSONType() {}\\n\\n\\n/**\\n * @param {string} jsonStr The string to parse.\\n * @param {(function(string, *) : *)=} opt_reviver\\n * @return {*} The JSON object.\\n * @throws {Error}\\n */\\nJSONType.prototype.parse = function(jsonStr, opt_reviver) {};\\n\\n\\n/**\\n * @param {*} jsonObj Input object.\\n * @param {(Array<string>|(function(string, *) : *)|null)=} opt_replacer\\n * @param {(number|string)=} opt_space\\n * @return {string} JSON string which represents jsonObj.\\n * @throws {Error}\\n */\\nJSONType.prototype.stringify = function(jsonObj, opt_replacer, opt_space) {};\\n\\n\\n/**\\n * @type {!JSONType}\\n * @suppress {duplicate}\\n */\\nvar JSON;\\n","externs/es6.js":"/*\\n * Copyright 2014 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for ECMAScript 6 and later.\\n * @see https://tc39.github.io/ecma262/\\n * @see https://www.khronos.org/registry/typedarray/specs/latest/\\n * @externs\\n */\\n\\n\\n\\n/**\\n * @constructor\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Generator\\n * @implements {IteratorIterable<VALUE>}\\n * @template VALUE\\n */\\nfunction Generator() {}\\n\\n/**\\n * @param {?=} opt_value\\n * @return {!IIterableResult<VALUE>}\\n * @override\\n */\\nGenerator.prototype.next = function(opt_value) {};\\n\\n/**\\n * @param {VALUE} value\\n * @return {!IIterableResult<VALUE>}\\n */\\nGenerator.prototype.return = function(value) {};\\n\\n/**\\n * @param {?} exception\\n * @return {!IIterableResult<VALUE>}\\n */\\nGenerator.prototype.throw = function(exception) {};\\n\\n\\n\\n/**\\n * @param {number} value\\n * @return {number}\\n * @nosideeffects\\n */\\nMath.log10 = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {number}\\n * @nosideeffects\\n */\\nMath.log2 = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {number}\\n * @nosideeffects\\n */\\nMath.log1p = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {number}\\n * @nosideeffects\\n */\\nMath.expm1 = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {number}\\n * @nosideeffects\\n */\\nMath.cosh = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {number}\\n * @nosideeffects\\n */\\nMath.sinh = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {number}\\n * @nosideeffects\\n */\\nMath.tanh = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {number}\\n * @nosideeffects\\n */\\nMath.acosh = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {number}\\n * @nosideeffects\\n */\\nMath.asinh = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {number}\\n * @nosideeffects\\n */\\nMath.atanh = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {number}\\n * @nosideeffects\\n */\\nMath.trunc = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {number}\\n * @nosideeffects\\n */\\nMath.sign = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {number}\\n * @nosideeffects\\n */\\nMath.cbrt = function(value) {};\\n\\n/**\\n * @param {number} value1\\n * @param {...number} var_args\\n * @return {number}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/hypot\\n */\\nMath.hypot = function(value1, var_args) {};\\n\\n/**\\n * @param {number} value1\\n * @param {number} value2\\n * @return {number}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/imul\\n */\\nMath.imul = function(value1, value2) {};\\n\\n/**\\n * @param {number} value\\n * @return {number}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/clz32\\n */\\nMath.clz32 = function(value) {};\\n\\n\\n/**\\n * @param {*} a\\n * @param {*} b\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\\n */\\nObject.is;\\n\\n\\n/**\\n * Returns a language-sensitive string representation of this number.\\n * @param {(string|!Array<string>)=} opt_locales\\n * @param {Object=} opt_options\\n * @return {string}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString\\n * @see http://www.ecma-international.org/ecma-402/1.0/#sec-13.2.1\\n * @override\\n */\\nNumber.prototype.toLocaleString = function(opt_locales, opt_options) {};\\n\\n/**\\n * Returns the wrapped primitive value of this Number object.\\n * @return {number}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/valueOf\\n * @override\\n */\\nNumber.prototype.valueOf = function() {};\\n\\n\\n/**\\n *';
a.a+=" Pads the end of the string so that it reaches the given length.\\n * NOTE: this is an ES2017 (ES8) extern.\\n *\\n * @param {number} targetLength The target length.\\n * @param {string=} opt_padString The string to pad with.\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padEnd\\n */\\nString.prototype.padEnd = function(targetLength, opt_padString) {};\\n\\n/**\\n * Pads the start of the string so that it reaches the given length.\\n * NOTE: this is an ES2017 (ES8) extern.\\n *\\n * @param {number} targetLength The target length.\\n * @param {string=} opt_padString The string to pad with.\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padStart\\n */\\nString.prototype.padStart = function(targetLength, opt_padString) {};\\n\\n/**\\n * Repeats the string the given number of times.\\n *\\n * @param {number} count The number of times the string is repeated.\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/repeat\\n */\\nString.prototype.repeat = function(count) {};\\n\\n/**\\n * @constructor\\n * @extends {Array<string>}\\n * @see http://www.ecma-international.org/ecma-262/6.0/#sec-gettemplateobject\\n */\\nvar ITemplateArray = function() {};\\n\\n/**\\n * @type {!Array<string>}\\n */\\nITemplateArray.prototype.raw;\\n\\n/**\\n * @param {!ITemplateArray} template\\n * @param {...*} var_args Substitution values.\\n * @return {string}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/raw\\n */\\nString.raw = function(template, var_args) {};\\n\\n\\n/**\\n * @param {number} codePoint\\n * @param {...number} var_args Additional codepoints\\n * @return {string}\\n */\\nString.fromCodePoint = function(codePoint, var_args) {};\\n\\n\\n/**\\n * @param {number} index\\n * @return {number}\\n * @nosideeffects\\n */\\nString.prototype.codePointAt = function(index) {};\\n\\n\\n/**\\n * @param {string=} opt_form\\n * @return {string}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize\\n */\\nString.prototype.normalize = function(opt_form) {};\\n\\n\\n/**\\n * @param {string} searchString\\n * @param {number=} opt_position\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\\n */\\nString.prototype.startsWith = function(searchString, opt_position) {};\\n\\n/**\\n * @param {string} searchString\\n * @param {number=} opt_position\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\\n */\\nString.prototype.endsWith = function(searchString, opt_position) {};\\n\\n/**\\n * @param {string} searchString\\n * @param {number=} opt_position\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\\n */\\nString.prototype.includes = function(searchString, opt_position) {};\\n\\n\\n/**\\n * @see http://dev.w3.org/html5/postmsg/\\n * @interface\\n */\\nfunction Transferable() {}\\n\\n/**\\n * @param {number} length The length in bytes\\n * @constructor\\n * @noalias\\n * @throws {Error}\\n * @implements {Transferable}\\n */\\nfunction ArrayBuffer(length) {}\\n\\n/** @type {number} */\\nArrayBuffer.prototype.byteLength;\\n\\n/**\\n * @param {number} begin\\n * @param {number=} opt_end\\n * @return {!ArrayBuffer}\\n * @nosideeffects\\n */\\nArrayBuffer.prototype.slice = function(begin, opt_end) {};\\n\\n/**\\n * @param {*} arg\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer/isView\\n */\\nArrayBuffer.isView = function(arg) {};\\n\\n\\n/**\\n * @constructor\\n * @noalias\\n */\\nfunction ArrayBufferView() {}\\n\\n/** @type {!ArrayBuffer} */\\nArrayBufferView.prototype.buffer;\\n\\n/** @type {number} */\\nArrayBufferView.prototype.byteOffset;\\n\\n/** @type {number} */\\nArrayBufferView.prototype.byteLength;\\n\\n\\n/**\\n * @param {number} length The length in bytes\\n * @constructor\\n * @throws {Error}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer\\n */\\nfunction SharedArrayBuffer(length) {}\\n\\n/** @type {number} */\\nSharedArrayBuffer.prototype.byteLength;\\n\\n/**\\n * @param {number} begin\\n * @param {number=} opt_end\\n * @return {!SharedArrayBuffer}\\n * @nosideeffects\\n */\\nSharedArrayBuffer.prototype.slice = function(begin, opt_end) {};\\n\\n\\n/**\\n * @typedef {!ArrayBuffer|!ArrayBufferView}\\n */\\nvar BufferSource;\\n\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike<number>}\\n * @implements {Iterable<number>}\\n * @extends {ArrayBufferView}\\n */\\nfunction TypedArray() {};\\n\\n/** @const {number} */\\nTypedArray.prototype.BYTES_PER_ELEMENT;\\n\\n/**\\n * @param {number} target\\n * @param {number} start\\n * @param {number=} opt_end\\n * @return {THIS}\\n * @this {THIS}\\n * @template THIS\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/copyWithin\\n */\\nTypedArray.prototype.copyWithin = function(target, start, opt_end) {};\\n\\n/**\\n * @return {!IteratorIterable<!Array<number>>}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/entries\\n */\\nTypedArray.prototype.entries = function() {};\\n\\n/**\\n * @param {function(this:S, number, number, !TypedArray) : ?} callback\\n * @param {S=} opt_thisArg\\n * @return {boolean}\\n * @template S\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/every\\n */\\nTypedArray.prototype.every = function(callback, opt_thisArg) {};\\n\\n/**\\n * @param {number} value\\n * @param {number=} opt_begin\\n * @param {number=} opt_end\\n * @return {THIS}\\n * @this {THIS}\\n * @template THIS\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/fill\\n */\\nTypedArray.prototype.fill = function(value, opt_begin, opt_end) {};\\n\\n/**\\n * @param {function(this:S, number, number, !TypedArray) : boolean} callback\\n * @param {S=} opt_thisArg\\n * @return {THIS}\\n * @this {THIS}\\n * @template THIS,S\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/filter\\n */\\nTypedArray.prototype.filter = function(callback, opt_thisArg) {};\\n\\n/**\\n * @param {function(this:S, number, number, !TypedArray) : boolean} callback\\n * @param {S=} opt_thisArg\\n * @return {(number|undefined)}\\n * @template S\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/find\\n */\\nTypedArray.prototype.find = function(callback, opt_thisArg) {};\\n\\n/**\\n * @param {function(this:S, number, number, !TypedArray) : boolean} callback\\n * @param {S=} opt_thisArg\\n * @return {number}\\n * @template S\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findIndex\\n */\\nTypedArray.prototype.findIndex = function(callback, opt_thisArg) {};\\n\\n/**\\n * @param {function(this:S, number, number, !TypedArray) : ?} callback\\n * @param {S=} opt_thisArg\\n * @return {undefined}\\n * @template S\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/forEach\\n */\\nTypedArray.prototype.forEach = function(callback, opt_thisArg) {};\\n\\n/**\\n * NOTE: this is an ES2016 (ES7) extern.\\n * @param {number} searchElement\\n * @param {number=} opt_fromIndex\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/includes\\n */\\nTypedArray.prototype.includes = function(searchElement, opt_fromIndex) {};\\n\\n/**\\n * @param {number} searchElement\\n * @param {number=} opt_fromIndex\\n * @return {number}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/indexOf\\n */\\nTypedArray.prototype.indexOf = function(searchElement, opt_fromIndex) {};\\n\\n/**\\n * @param {string=} opt_separator\\n * @return {string}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/join\\n */\\nTypedArray.prototype.join = function(opt_separator) {};\\n\\n/**\\n * @return {!IteratorIterable<number>}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/keys\\n */\\nTypedArray.prototype.keys = function() {};\\n\\n/**\\n * @param {number} searchElement\\n * @param {number=} opt_fromIndex\\n * @return {number}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/lastIndexOf\\n */\\nTypedArray.prototype.lastIndexOf = function(searchElement, opt_fromIndex) {};\\n\\n/** @type {number} */\\nTypedArray.prototype.length;\\n\\n/**\\n * @param {function(this:S, number, number, !TypedArray) : number} callback\\n * @param {S=} opt_thisArg\\n * @return {THIS}\\n * @this {THIS}\\n * @template THIS,S\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/map\\n */\\nTypedArray.prototype.map = function(callback, opt_thisArg) {};\\n\\n/**\\n * @param {function((number|INIT|RET), number, number, !TypedArray) : RET} callback\\n * @param {INIT=} opt_initialValue\\n * @return {RET}\\n * @template INIT,RET\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reduce\\n */\\nTypedArray.prototype.reduce = function(callback, opt_initialValue) {};\\n\\n/**\\n * @param {function((number|INIT|RET), number, number, !TypedArray) : RET} callback\\n * @param {INIT=} opt_initialValue\\n * @return {RET}\\n * @template INIT,RET\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reduceRight\\n */\\nTypedArray.prototype.reduceRight = function(callback, opt_initialValue) {};\\n\\n/**\\n * @return {THIS}\\n * @this {THIS}\\n * @template THIS\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reverse\\n */\\nTypedArray.prototype.reverse = function() {};\\n\\n/**\\n * @param {!ArrayBufferView|!Array<number>} array\\n * @param {number=} opt_offset\\n * @return {undefined}\\n * @throws {!RangeError}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/set\\n */\\nTypedArray.prototype.set = function(array, opt_offset) {};\\n\\n/**\\n * @param {number=} opt_begin\\n * @param {number=} opt_end\\n * @return {THIS}\\n * @this {THIS}\\n * @template THIS\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/slice\\n */\\nTypedArray.prototype.slice = function(opt_begin, opt_end) {};\\n\\n/**\\n * @param {function(this:S, number, number, !TypedArray) : boolean} callback\\n * @param {S=} opt_thisArg\\n * @return {boolean}\\n * @template S\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/some\\n */\\nTypedArray.prototype.some = function(callback, opt_thisArg) {};\\n\\n/**\\n * @param {(function(number, number) : number)=} opt_compareFunction\\n * @return {THIS}\\n * @this {THIS}\\n * @template THIS\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/sort\\n */\\nTypedArray.prototype.sort = function(opt_compareFunction) {};\\n\\n/**\\n * @param {number} begin\\n * @param {number=} opt_end\\n * @return {THIS}\\n * @this {THIS}\\n * @template THIS\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/subarray\\n */\\nTypedArray.prototype.subarray = function(begin, opt_end) {};\\n\\n/**\\n * @return {!IteratorIterable<number>}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/values\\n */\\nTypedArray.prototype.values = function() {};\\n\\n/**\\n * @return {string}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toLocaleString\\n * @override\\n */\\nTypedArray.prototype.toLocaleString = function() {};\\n\\n/**\\n * @return {string}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toString\\n * @override\\n */\\nTypedArray.prototype.toString = function() {};\\n\\n/** @override */\\nTypedArray.prototype[Symbol.iterator] = function() {};\\n\\n/**\\n * @param {number|ArrayBufferView|Array<number>|ArrayBuffer|SharedArrayBuffer}\\n *     length or array or buffer\\n * @param {number=} opt_byteOffset\\n * @param {number=} opt_length\\n * @constructor\\n * @extends {TypedArray}\\n * @noalias\\n * @throws {Error}\\n * @modifies {arguments} If the user passes a backing array, then indexed\\n *     accesses will modify the backing array. JSCompiler does not model\\n *     this well. In other words, if you have:\\n *     <code>\\n *     var x = new ArrayBuffer(1);\\n *     var y = new Int8Array(x);\\n *     y[0] = 2;\\n *     </code>\\n *     JSCompiler will not recognize that the last assignment modifies x.\\n *     We workaround this by marking all these arrays as @modifies {arguments},\\n *     to introduce the possibility that x aliases y.\\n */\\nfunction Int8Array(length, opt_byteOffset, opt_length) {}\\n\\n/** @const {number} */\\nInt8Array.BYTES_PER_ELEMENT;\\n\\n/**\\n * @param {!Array<number>} source\\n * @param {function(this:S, number): number=} opt_mapFn\\n * @param {S=} opt_this\\n * @template S\\n * @return {!Int8Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from\\n */\\nInt8Array.from = function(source, opt_mapFn, opt_this) {};\\n\\n/**\\n * @param {...number} var_args\\n * @return {!Int8Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of\\n */\\nInt8Array.of = function(var_args) {};\\n\\n\\n/**\\n * @param {number|ArrayBufferView|Array<number>|ArrayBuffer|SharedArrayBuffer}\\n *     length or array or buffer\\n * @param {number=} opt_byteOffset\\n * @param {number=} opt_length\\n * @constructor\\n * @extends {TypedArray}\\n * @noalias\\n * @throws {Error}\\n * @modifies {arguments}\\n */\\nfunction Uint8Array(length, opt_byteOffset, opt_length) {}\\n\\n/** @const {number} */\\nUint8Array.BYTES_PER_ELEMENT;\\n\\n/**\\n * @param {!Array<number>} source\\n * @param {function(this:S, number): number=} opt_mapFn\\n * @param {S=} opt_this\\n * @template S\\n * @return {!Uint8Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from\\n */\\nUint8Array.from = function(source, opt_mapFn, opt_this) {};\\n\\n/**\\n * @param {...number} var_args\\n * @return {!Uint8Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of\\n */\\nUint8Array.of = function(var_args) {};\\n\\n\\n/**\\n * @param {number|ArrayBufferView|Array<number>|ArrayBuffer|SharedArrayBuffer}\\n *     length or array or buffer\\n * @param {number=} opt_byteOffset\\n * @param {number=} opt_length\\n * @constructor\\n * @extends {TypedArray}\\n * @noalias\\n * @throws {Error}\\n * @modifies {arguments}\\n */\\nfunction Uint8ClampedArray(length, opt_byteOffset, opt_length) {}\\n\\n/** @const {number} */\\nUint8ClampedArray.BYTES_PER_ELEMENT;\\n\\n/**\\n * @param {!Array<number>} source\\n * @param {function(this:S, number): number=} opt_mapFn\\n * @param {S=} opt_this\\n * @template S\\n * @return {!Uint8ClampedArray}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from\\n */\\nUint8ClampedArray.from = function(source, opt_mapFn, opt_this) {};\\n\\n/**\\n * @param {...number} var_args\\n * @return {!Uint8ClampedArray}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of\\n */\\nUint8ClampedArray.of = function(var_args) {};\\n\\n\\n/**\\n * @typedef {Uint8ClampedArray}\\n * @deprecated CanvasPixelArray has been replaced by Uint8ClampedArray\\n *     in the latest spec.\\n * @see http://www.w3.org/TR/2dcontext/#imaged";
a.a+="ata\\n */\\nvar CanvasPixelArray;\\n\\n\\n/**\\n * @param {number|ArrayBufferView|Array<number>|ArrayBuffer|SharedArrayBuffer}\\n *     length or array or buffer\\n * @param {number=} opt_byteOffset\\n * @param {number=} opt_length\\n * @constructor\\n * @extends {TypedArray}\\n * @noalias\\n * @throws {Error}\\n * @modifies {arguments}\\n */\\nfunction Int16Array(length, opt_byteOffset, opt_length) {}\\n\\n/** @const {number} */\\nInt16Array.BYTES_PER_ELEMENT;\\n\\n/**\\n * @param {!Array<number>} source\\n * @param {function(this:S, number): number=} opt_mapFn\\n * @param {S=} opt_this\\n * @template S\\n * @return {!Int16Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from\\n */\\nInt16Array.from = function(source, opt_mapFn, opt_this) {};\\n\\n/**\\n * @param {...number} var_args\\n * @return {!Int16Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of\\n */\\nInt16Array.of = function(var_args) {};\\n\\n\\n/**\\n * @param {number|ArrayBufferView|Array<number>|ArrayBuffer|SharedArrayBuffer}\\n *     length or array or buffer\\n * @param {number=} opt_byteOffset\\n * @param {number=} opt_length\\n * @constructor\\n * @extends {TypedArray}\\n * @noalias\\n * @throws {Error}\\n * @modifies {arguments}\\n */\\nfunction Uint16Array(length, opt_byteOffset, opt_length) {}\\n\\n/** @const {number} */\\nUint16Array.BYTES_PER_ELEMENT;\\n\\n/**\\n * @param {!Array<number>} source\\n * @param {function(this:S, number): number=} opt_mapFn\\n * @param {S=} opt_this\\n * @template S\\n * @return {!Uint16Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from\\n */\\nUint16Array.from = function(source, opt_mapFn, opt_this) {};\\n\\n/**\\n * @param {...number} var_args\\n * @return {!Uint16Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of\\n */\\nUint16Array.of = function(var_args) {};\\n\\n\\n/**\\n * @param {number|ArrayBufferView|Array<number>|ArrayBuffer|SharedArrayBuffer}\\n *     length or array or buffer\\n * @param {number=} opt_byteOffset\\n * @param {number=} opt_length\\n * @constructor\\n * @extends {TypedArray}\\n * @noalias\\n * @throws {Error}\\n * @modifies {arguments}\\n */\\nfunction Int32Array(length, opt_byteOffset, opt_length) {}\\n\\n/** @const {number} */\\nInt32Array.BYTES_PER_ELEMENT;\\n\\n/**\\n * @param {!Array<number>} source\\n * @param {function(this:S, number): number=} opt_mapFn\\n * @param {S=} opt_this\\n * @template S\\n * @return {!Int32Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from\\n */\\nInt32Array.from = function(source, opt_mapFn, opt_this) {};\\n\\n/**\\n * @param {...number} var_args\\n * @return {!Int32Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of\\n */\\nInt32Array.of = function(var_args) {};\\n\\n\\n/**\\n * @param {number|ArrayBufferView|Array<number>|ArrayBuffer|SharedArrayBuffer}\\n *     length or array or buffer\\n * @param {number=} opt_byteOffset\\n * @param {number=} opt_length\\n * @constructor\\n * @extends {TypedArray}\\n * @noalias\\n * @throws {Error}\\n * @modifies {arguments}\\n */\\nfunction Uint32Array(length, opt_byteOffset, opt_length) {}\\n\\n/** @const {number} */\\nUint32Array.BYTES_PER_ELEMENT;\\n\\n/**\\n * @param {!Array<number>} source\\n * @param {function(this:S, number): number=} opt_mapFn\\n * @param {S=} opt_this\\n * @template S\\n * @return {!Uint32Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from\\n */\\nUint32Array.from = function(source, opt_mapFn, opt_this) {};\\n\\n/**\\n * @param {...number} var_args\\n * @return {!Uint32Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of\\n */\\nUint32Array.of = function(var_args) {};\\n\\n\\n/**\\n * @param {number|ArrayBufferView|Array<number>|ArrayBuffer|SharedArrayBuffer}\\n *     length or array or buffer\\n * @param {number=} opt_byteOffset\\n * @param {number=} opt_length\\n * @constructor\\n * @extends {TypedArray}\\n * @noalias\\n * @throws {Error}\\n * @modifies {arguments}\\n */\\nfunction Float32Array(length, opt_byteOffset, opt_length) {}\\n\\n/** @const {number} */\\nFloat32Array.BYTES_PER_ELEMENT;\\n\\n/**\\n * @param {!Array<number>} source\\n * @param {function(this:S, number): number=} opt_mapFn\\n * @param {S=} opt_this\\n * @template S\\n * @return {!Float32Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from\\n */\\nFloat32Array.from = function(source, opt_mapFn, opt_this) {};\\n\\n/**\\n * @param {...number} var_args\\n * @return {!Float32Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of\\n */\\nFloat32Array.of = function(var_args) {};\\n\\n\\n/**\\n * @param {number|ArrayBufferView|Array<number>|ArrayBuffer|SharedArrayBuffer}\\n *     length or array or buffer\\n * @param {number=} opt_byteOffset\\n * @param {number=} opt_length\\n * @constructor\\n * @extends {TypedArray}\\n * @noalias\\n * @throws {Error}\\n * @modifies {arguments}\\n */\\nfunction Float64Array(length, opt_byteOffset, opt_length) {}\\n\\n/** @const {number} */\\nFloat64Array.BYTES_PER_ELEMENT;\\n\\n/**\\n * @param {!Array<number>} source\\n * @param {function(this:S, number): number=} opt_mapFn\\n * @param {S=} opt_this\\n * @template S\\n * @return {!Float64Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from\\n */\\nFloat64Array.from = function(source, opt_mapFn, opt_this) {};\\n\\n/**\\n * @param {...number} var_args\\n * @return {!Float64Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of\\n */\\nFloat64Array.of = function(var_args) {};\\n\\n\\n/**\\n * @param {ArrayBuffer|SharedArrayBuffer} buffer\\n * @param {number=} opt_byteOffset\\n * @param {number=} opt_byteLength\\n * @constructor\\n * @extends {ArrayBufferView}\\n * @noalias\\n * @throws {Error}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Typed_arrays/DataView\\n */\\nfunction DataView(buffer, opt_byteOffset, opt_byteLength) {}\\n\\n/**\\n * @param {number} byteOffset\\n * @return {number}\\n * @throws {Error}\\n */\\nDataView.prototype.getInt8 = function(byteOffset) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @return {number}\\n * @throws {Error}\\n */\\nDataView.prototype.getUint8 = function(byteOffset) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @param {boolean=} opt_littleEndian\\n * @return {number}\\n * @throws {Error}\\n */\\nDataView.prototype.getInt16 = function(byteOffset, opt_littleEndian) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @param {boolean=} opt_littleEndian\\n * @return {number}\\n * @throws {Error}\\n */\\nDataView.prototype.getUint16 = function(byteOffset, opt_littleEndian) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @param {boolean=} opt_littleEndian\\n * @return {number}\\n * @throws {Error}\\n */\\nDataView.prototype.getInt32 = function(byteOffset, opt_littleEndian) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @param {boolean=} opt_littleEndian\\n * @return {number}\\n * @throws {Error}\\n */\\nDataView.prototype.getUint32 = function(byteOffset, opt_littleEndian) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @param {boolean=} opt_littleEndian\\n * @return {number}\\n * @throws {Error}\\n */\\nDataView.prototype.getFloat32 = function(byteOffset, opt_littleEndian) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @param {boolean=} opt_littleEndian\\n * @return {number}\\n * @throws {Error}\\n */\\nDataView.prototype.getFloat64 = function(byteOffset, opt_littleEndian) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @param {number} value\\n * @throws {Error}\\n * @return {undefined}\\n */\\nDataView.prototype.setInt8 = function(byteOffset, value) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @param {number} value\\n * @throws {Error}\\n * @return {undefined}\\n */\\nDataView.prototype.setUint8 = function(byteOffset, value) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @param {number} value\\n * @param {boolean=} opt_littleEndian\\n * @throws {Error}\\n * @return {undefined}\\n */\\nDataView.prototype.setInt16 = function(byteOffset, value, opt_littleEndian) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @param {number} value\\n * @param {boolean=} opt_littleEndian\\n * @throws {Error}\\n * @return {undefined}\\n */\\nDataView.prototype.setUint16 = function(byteOffset, value, opt_littleEndian) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @param {number} value\\n * @param {boolean=} opt_littleEndian\\n * @throws {Error}\\n * @return {undefined}\\n */\\nDataView.prototype.setInt32 = function(byteOffset, value, opt_littleEndian) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @param {number} value\\n * @param {boolean=} opt_littleEndian\\n * @throws {Error}\\n * @return {undefined}\\n */\\nDataView.prototype.setUint32 = function(byteOffset, value, opt_littleEndian) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @param {number} value\\n * @param {boolean=} opt_littleEndian\\n * @throws {Error}\\n * @return {undefined}\\n */\\nDataView.prototype.setFloat32 = function(\\n    byteOffset, value, opt_littleEndian) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @param {number} value\\n * @param {boolean=} opt_littleEndian\\n * @throws {Error}\\n * @return {undefined}\\n */\\nDataView.prototype.setFloat64 = function(\\n    byteOffset, value, opt_littleEndian) {};\\n\\n\\n/**\\n * @see https://github.com/promises-aplus/promises-spec\\n * @typedef {{then: ?}}\\n */\\nvar Thenable;\\n\\n\\n/**\\n * This is not an official DOM interface. It is used to add generic typing\\n * and respective type inference where available.\\n * {@see goog.Thenable} inherits from this making all promises\\n * interoperate.\\n * @interface\\n * @template TYPE\\n */\\nfunction IThenable() {}\\n\\n\\n/**\\n * @param {?(function(TYPE):VALUE)=} opt_onFulfilled\\n * @param {?(function(*): *)=} opt_onRejected\\n * @return {RESULT}\\n * @template VALUE\\n *\\n * When a Promise (or thenable) is returned from the fulfilled callback,\\n * the result is the payload of that promise, not the promise itself.\\n *\\n * @template RESULT := type('IThenable',\\n *     cond(isUnknown(VALUE), unknown(),\\n *       mapunion(VALUE, (V) =>\\n *         cond(isTemplatized(V) && sub(rawTypeOf(V), 'IThenable'),\\n *           templateTypeOf(V, 0),\\n *           cond(sub(V, 'Thenable'),\\n *              unknown(),\\n *              V)))))\\n * =:\\n */\\nIThenable.prototype.then = function(opt_onFulfilled, opt_onRejected) {};\\n\\n\\n/**\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise\\n * @param {function(\\n *             function((TYPE|IThenable<TYPE>|Thenable|null)=),\\n *             function(*=))} resolver\\n * @constructor\\n * @implements {IThenable<TYPE>}\\n * @template TYPE\\n */\\nfunction Promise(resolver) {}\\n\\n\\n/**\\n * @param {VALUE=} opt_value\\n * @return {RESULT}\\n * @template VALUE\\n * @template RESULT := type('Promise',\\n *     cond(isUnknown(VALUE), unknown(),\\n *       mapunion(VALUE, (V) =>\\n *         cond(isTemplatized(V) && sub(rawTypeOf(V), 'IThenable'),\\n *           templateTypeOf(V, 0),\\n *           cond(sub(V, 'Thenable'),\\n *              unknown(),\\n *              V)))))\\n * =:\\n */\\nPromise.resolve = function(opt_value) {};\\n\\n\\n/**\\n * @param {*=} opt_error\\n * @return {!Promise<?>}\\n */\\nPromise.reject = function(opt_error) {};\\n\\n\\n/**\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise\\n * @param {!Iterable<VALUE>} iterable\\n * @return {!Promise<!Array<RESULT>>}\\n * @template VALUE\\n * @template RESULT := mapunion(VALUE, (V) =>\\n *     cond(isUnknown(V),\\n *         unknown(),\\n *         cond(isTemplatized(V) && sub(rawTypeOf(V), 'IThenable'),\\n *             templateTypeOf(V, 0),\\n *             cond(sub(V, 'Thenable'), unknown(), V))))\\n * =:\\n */\\nPromise.all = function(iterable) {};\\n\\n\\n/**\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise\\n * @param {!Iterable<VALUE>} iterable\\n * @return {!Promise<RESULT>}\\n * @template VALUE\\n * @template RESULT := mapunion(VALUE, (V) =>\\n *     cond(isUnknown(V),\\n *         unknown(),\\n *         cond(isTemplatized(V) && sub(rawTypeOf(V), 'IThenable'),\\n *             templateTypeOf(V, 0),\\n *             cond(sub(V, 'Thenable'), unknown(), V))))\\n * =:\\n */\\nPromise.race = function(iterable) {};\\n\\n\\n/**\\n * @param {?(function(this:void, TYPE):VALUE)=} opt_onFulfilled\\n * @param {?(function(this:void, *): *)=} opt_onRejected\\n * @return {RESULT}\\n * @template VALUE\\n *\\n * When a Promise (or thenable) is returned from the fulfilled callback,\\n * the result is the payload of that promise, not the promise itself.\\n *\\n * @template RESULT := type('Promise',\\n *     cond(isUnknown(VALUE), unknown(),\\n *       mapunion(VALUE, (V) =>\\n *         cond(isTemplatized(V) && sub(rawTypeOf(V), 'IThenable'),\\n *           templateTypeOf(V, 0),\\n *           cond(sub(V, 'Thenable'),\\n *              unknown(),\\n *              V)))))\\n * =:\\n * @override\\n */\\nPromise.prototype.then = function(opt_onFulfilled, opt_onRejected) {};\\n\\n\\n/**\\n * @param {function(*): RESULT} onRejected\\n * @return {!Promise<RESULT>}\\n * @template RESULT\\n */\\nPromise.prototype.catch = function(onRejected) {};\\n\\n\\n/**\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/of\\n * @param {...T} var_args\\n * @return {!Array<T>}\\n * @template T\\n */\\nArray.of = function(var_args) {};\\n\\n\\n/**\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from\\n * @param {string|!IArrayLike<T>|!Iterable<T>} arrayLike\\n * @param {function(this:S, (string|T), number): R=} opt_mapFn\\n * @param {S=} opt_this\\n * @return {!Array<R>}\\n * @template T,S,R\\n */\\nArray.from = function(arrayLike, opt_mapFn, opt_this) {};\\n\\n\\n/** @return {!IteratorIterable<number>} */\\nArray.prototype.keys;\\n\\n\\n/**\\n * @return {!IteratorIterable<!Array<number|T>>} Iterator of [key, value] pairs.\\n */\\nArray.prototype.entries;\\n\\n\\n/**\\n * @param {!function(this:S, T, number, !Array<T>): boolean} predicateFn\\n * @param {S=} opt_this\\n * @return {T|undefined}\\n * @this {IArrayLike<T>|string}\\n * @template T,S\\n * @see http://www.ecma-international.org/ecma-262/6.0/#sec-array.prototype.find\\n */\\nArray.prototype.find = function(predicateFn, opt_this) {};\\n\\n\\n/**\\n * @param {!function(this:S, T, number, !Array<T>): boolean} predicateFn\\n * @param {S=} opt_this\\n * @return {number}\\n * @this {IArrayLike<T>|string}\\n * @template T,S\\n * @see http://www.ecma-international.org/ecma-262/6.0/#sec-array.prototype.findindex\\n */\\nArray.prototype.findIndex = function(predicateFn, opt_this) {};\\n\\n\\n/**\\n * @param {T} value\\n * @param {number=} opt_begin\\n * @param {number=} opt_end\\n * @return {!Array<T>}\\n * @this {!IArrayLike<T>|string}\\n * @template T\\n * @see http://www.ecma-international.org/ecma-262/6.0/#sec-array.prototype.fill\\n */\\nArray.prototype.fill = function(value, opt_begin, opt_end) {};\\n\\n\\n/**\\n * @param {number} target\\n * @param {number} start\\n * @param {number=} opt_end\\n * @see http://www.ecma-international.org/ecma-262/6.0/#sec-array.prototype.copywithin\\n * @template T\\n * @return {!Array<T>}\\n */\\nArray.prototype.copyWithin = function(target, start, opt_end) {};\\n\\n\\n/**\\n * NOTE: this is an ES2016 (ES7) extern.\\n * @param {T} searchElement\\n * @param {number=} opt_fromIndex\\n * @return {boolean}\\n * @this {!IArrayLike<T>|string}\\n * @template T\\n * @see https://tc39.github.io/ecma262/#sec-array.prototype.includes\\n */\\nArray.prototype.includes = function(searchElement, opt_fromIndex) {};\\n\\n\\n/**\\n * @param {!Object} obj\\n * @return {!Array<symbol>}\\n * @see http://www.ecma-international.org/ecma-262/6.0/#sec-object.getownpropertysymbols\\n */\\nObject.getOwnPropertySymbols = function(obj) {};\\n\\n\\n/**\\n * @param {!Object} obj\\n * @param {?} proto\\n * @return {!Object}\\n * @see http://www.ecma-international.org/ecma-262/6.0/#sec-object.setprototypeof\\n */\\nObject.setPrototypeOf = function(obj, proto) {};\\n\\n\\n/**\\n * @const {number}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/EPSILON\\n */\\nNumber.EPSILON;\\n\\n/**\\n * @const {number}\\n * @see htt";
a.a+='ps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MIN_SAFE_INTEGER\\n */\\nNumber.MIN_SAFE_INTEGER;\\n\\n/**\\n * @const {number}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER\\n */\\nNumber.MAX_SAFE_INTEGER;\\n\\n\\n\\n/**\\n * Parse an integer. Use of {@code parseInt} without {@code base} is strictly\\n * banned in Google. If you really want to parse octal or hex based on the\\n * leader, then pass {@code undefined} as the base.\\n *\\n * @param {string} string\\n * @param {number|undefined} radix\\n * @return {number}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/parseInt\\n */\\nNumber.parseInt = function(string, radix) {};\\n\\n/**\\n * @param {string} string\\n * @return {number}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/parseFloat\\n */\\nNumber.parseFloat = function(string) {};\\n\\n/**\\n * @param {number} value\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isNaN\\n */\\nNumber.isNaN = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isFinite\\n */\\nNumber.isFinite = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isInteger\\n */\\nNumber.isInteger = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isSafeInteger\\n */\\nNumber.isSafeInteger = function(value) {};\\n\\n\\n\\n/**\\n * @param {!Object} target\\n * @param {...Object} var_args\\n * @return {!Object}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\\n */\\nObject.assign = function(target, var_args) {};\\n\\n/**\\n * TODO(dbeam): find a better place for ES2017 externs like this one.\\n * NOTE: this is an ES2017 (ES8) extern.\\n * @param {!Object<T>} obj\\n * @return {!Array<T>} values\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/values\\n * @throws {Error}\\n * @template T\\n */\\nObject.values = function(obj) {};\\n\\n/**\\n * NOTE: this is an ES2017 (ES8) extern.\\n * @param {!Object<T>} obj\\n * @return {!Array<!Array<(string|T)>>} entries\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries\\n * @throws {Error}\\n * @template T\\n */\\nObject.entries = function(obj) {};\\n\\n/**\\n * NOTE: this is an ES2017 (ES8) extern.\\n * @param {!Object} obj\\n * @return {!Object<!ObjectPropertyDescriptor>} descriptors\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertyDescriptors\\n * @throws {Error}\\n * @template T\\n */\\nObject.getOwnPropertyDescriptors = function(obj) {};\\n\\n\\n\\n/**\\n * @const\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect\\n */\\nvar Reflect = {};\\n\\n/**\\n * @param {function(this: THIS, ...?): RESULT} targetFn\\n * @param {THIS} thisArg\\n * @param {!Array<?>} argList\\n * @return {RESULT}\\n * @template THIS, RESULT\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/apply\\n */\\nReflect.apply = function(targetFn, thisArg, argList) {};\\n\\n/**\\n * @param {function(new: ?, ...?)} targetConstructorFn\\n * @param {!Array<?>} argList\\n * @param {function(new: TARGET, ...?)=} opt_newTargetConstructorFn\\n * @return {TARGET}\\n * @template TARGET\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/construct\\n */\\nReflect.construct = function(targetConstructorFn, argList, opt_newTargetConstructorFn) {};\\n\\n/**\\n * @param {!Object} target\\n * @param {string} propertyKey\\n * @param {!ObjectPropertyDescriptor} attributes\\n * @return {boolean}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/defineProperty\\n */\\nReflect.defineProperty = function(target, propertyKey, attributes) {};\\n\\n/**\\n * @param {!Object} target\\n * @param {string} propertyKey\\n * @return {boolean}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/deleteProperty\\n */\\nReflect.deleteProperty = function(target, propertyKey) {};\\n\\n/**\\n * @param {!Object} target\\n * @param {string} propertyKey\\n * @param {!Object=} opt_receiver\\n * @return {*}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/get\\n */\\nReflect.get = function(target, propertyKey, opt_receiver) {};\\n\\n/**\\n * @param {!Object} target\\n * @param {string} propertyKey\\n * @return {?ObjectPropertyDescriptor}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/getOwnPropertyDescriptor\\n */\\nReflect.getOwnPropertyDescriptor = function(target, propertyKey) {};\\n\\n/**\\n * @param {!Object} target\\n * @return {?Object}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/getPrototypeOf\\n */\\nReflect.getPrototypeOf = function(target) {};\\n\\n/**\\n * @param {!Object} target\\n * @param {string} propertyKey\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/has\\n */\\nReflect.has = function(target, propertyKey) {};\\n\\n/**\\n * @param {!Object} target\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/isExtensible\\n */\\nReflect.isExtensible = function(target) {};\\n\\n/**\\n * @param {!Object} target\\n * @return {!Array<(string|symbol)>}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/ownKeys\\n */\\nReflect.ownKeys = function(target) {};\\n\\n/**\\n * @param {!Object} target\\n * @return {boolean}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/preventExtensions\\n */\\nReflect.preventExtensions = function(target) {};\\n\\n/**\\n * @param {!Object} target\\n * @param {string} propertyKey\\n * @param {*} value\\n * @param {!Object=} opt_receiver\\n * @return {boolean}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/set\\n */\\nReflect.set = function(target, propertyKey, value, opt_receiver) {};\\n\\n/**\\n * @param {!Object} target\\n * @param {?Object} proto\\n * @return {boolean}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/setPrototypeOf\\n */\\nReflect.setPrototypeOf = function(target, proto) {};\\n\\n\\n/**\\n * @const\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Atomics\\n */\\nvar Atomics = {};\\n\\n/**\\n * @param {!TypedArray} typedArray\\n * @param {number} index\\n * @param {number} value\\n * @return {number}\\n */\\nAtomics.add = function(typedArray, index, value) {}\\n\\n/**\\n * @param {!TypedArray} typedArray\\n * @param {number} index\\n * @param {number} value\\n * @return {number}\\n */\\nAtomics.and = function(typedArray, index, value) {}\\n\\n/**\\n * @param {!TypedArray} typedArray\\n * @param {number} index\\n * @param {number} expectedValue\\n * @param {number} replacementValue\\n * @return {number}\\n */\\nAtomics.compareExchange = function(typedArray, index, expectedValue,\\n    replacementValue) {}\\n\\n/**\\n * @param {!TypedArray} typedArray\\n * @param {number} index\\n * @param {number} value\\n * @return {number}\\n */\\nAtomics.exchange = function(typedArray, index, value) {}\\n\\n/**\\n * @param {number} size\\n * @return {boolean}\\n */\\nAtomics.isLockFree = function(size) {}\\n\\n/**\\n * @param {!TypedArray} typedArray\\n * @param {number} index\\n * @return {number}\\n */\\nAtomics.load = function(typedArray, index) {}\\n\\n/**\\n * @param {!TypedArray} typedArray\\n * @param {number} index\\n * @param {number} value\\n * @return {number}\\n */\\nAtomics.or = function(typedArray, index, value) {}\\n\\n/**\\n * @param {!TypedArray} typedArray\\n * @param {number} index\\n * @param {number} value\\n * @return {number}\\n */\\nAtomics.store = function(typedArray, index, value) {}\\n\\n/**\\n * @param {!TypedArray} typedArray\\n * @param {number} index\\n * @param {number} value\\n * @return {number}\\n */\\nAtomics.sub = function(typedArray, index, value) {}\\n\\n/**\\n * @param {!Int32Array} typedArray\\n * @param {number} index\\n * @param {number} value\\n * @param {number=} timeout\\n * @return {String}\\n */\\nAtomics.wait = function(typedArray, index, value, timeout) {}\\n\\n/**\\n * @param {!Int32Array} typedArray\\n * @param {number} index\\n * @param {number} count\\n * @return {number}\\n */\\nAtomics.wake = function(typedArray, index, count) {}\\n\\n/**\\n * @param {!TypedArray} typedArray\\n * @param {number} index\\n * @param {number} value\\n * @return {number}\\n */\\nAtomics.xor = function(typedArray, index, value) {}\\n","externs/es6_collections.js":"/*\\n * Copyright 2014 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for ECMAScript 6.\\n * @see http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts\\n * @externs\\n */\\n\\n// TODO(johnlenz): Use Tuples for the Map and Set iterators where appropriate.\\n\\n/**\\n * @constructor @struct\\n * @param {Iterable<!Array<KEY|VALUE>>|!Array<!Array<KEY|VALUE>>=} opt_iterable\\n * @implements {Iterable<!Array<KEY|VALUE>>}\\n * @template KEY, VALUE\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map\\n */\\nfunction Map(opt_iterable) {}\\n\\n/** @return {void} */\\nMap.prototype.clear = function() {};\\n\\n/**\\n * @param {KEY} key\\n * @return {boolean}\\n */\\nMap.prototype.delete = function(key) {};\\n\\n/**\\n * @return {!IteratorIterable<!Array<KEY|VALUE>>}\\n * @nosideeffects\\n */\\nMap.prototype.entries = function() {};\\n\\n/**\\n * @param {function(this:THIS, VALUE, KEY, MAP)} callback\\n * @param {THIS=} opt_thisArg\\n * @this {MAP}\\n * @template MAP,THIS\\n */\\nMap.prototype.forEach = function(callback, opt_thisArg) {};\\n\\n/**\\n * @param {KEY} key\\n * @return {VALUE}\\n * @nosideeffects\\n */\\nMap.prototype.get = function(key) {};\\n\\n/**\\n * @param {KEY} key\\n * @return {boolean}\\n * @nosideeffects\\n */\\nMap.prototype.has = function(key) {};\\n\\n/**\\n * @return {!IteratorIterable<KEY>}\\n * @nosideeffects\\n */\\nMap.prototype.keys = function() {};\\n\\n/**\\n * @param {KEY} key\\n * @param {VALUE} value\\n * @return {THIS}\\n * @this {THIS}\\n * @template THIS\\n */\\nMap.prototype.set = function(key, value) {};\\n\\n/**\\n * @type {number}\\n * (readonly)\\n */\\nMap.prototype.size;\\n\\n/**\\n * @return {!IteratorIterable<VALUE>}\\n * @nosideeffects\\n */\\nMap.prototype.values = function() {};\\n\\n/**\\n * @return {!Iterator<!Array<KEY|VALUE>>}\\n */\\nMap.prototype[Symbol.iterator] = function() {};\\n\\n\\n/**\\n * @constructor @struct\\n * @param {Iterable<!Array<KEY|VALUE>>|!Array<!Array<KEY|VALUE>>=} opt_iterable\\n * @template KEY, VALUE\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap\\n */\\nfunction WeakMap(opt_iterable) {}\\n\\n/** @return {void} */\\nWeakMap.prototype.clear = function() {};\\n\\n/**\\n * @param {KEY} key\\n * @return {boolean}\\n */\\nWeakMap.prototype.delete = function(key) {};\\n\\n/**\\n * @param {KEY} key\\n * @return {VALUE}\\n * @nosideeffects\\n */\\nWeakMap.prototype.get = function(key) {};\\n\\n/**\\n * @param {KEY} key\\n * @return {boolean}\\n * @nosideeffects\\n */\\nWeakMap.prototype.has = function(key) {};\\n\\n/**\\n * @param {KEY} key\\n * @param {VALUE} value\\n * @return {THIS}\\n * @this {THIS}\\n * @template THIS\\n */\\nWeakMap.prototype.set = function(key, value) {};\\n\\n/**\\n * @constructor @struct\\n * @param {Iterable<VALUE>|Array<VALUE>=} opt_iterable\\n * @implements {Iterable<VALUE>}\\n * @template VALUE\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set\\n */\\nfunction Set(opt_iterable) {}\\n\\n/**\\n * @param {VALUE} value\\n * @return {THIS}\\n * @this {THIS}\\n * @template THIS\\n */\\nSet.prototype.add = function(value) {};\\n\\n/**\\n * @return {void}\\n */\\nSet.prototype.clear = function() {};\\n\\n/**\\n * @param {VALUE} value\\n * @return {boolean}\\n */\\nSet.prototype.delete = function(value) {};\\n\\n/**\\n * @return {!IteratorIterable<!Array<VALUE>>} Where each array has two entries:\\n *     [value, value]\\n * @nosideeffects\\n */\\nSet.prototype.entries = function() {};\\n\\n/**\\n * @param {function(this: THIS, VALUE, VALUE, SET)} callback\\n * @param {THIS=} opt_thisArg\\n * @this {SET}\\n * @template SET,THIS\\n */\\nSet.prototype.forEach = function(callback, opt_thisArg) {};\\n\\n/**\\n * @param {VALUE} value\\n * @return {boolean}\\n * @nosideeffects\\n */\\nSet.prototype.has = function(value) {};\\n\\n/**\\n * @type {number} (readonly)\\n */\\nSet.prototype.size;\\n\\n/**\\n * @return {!IteratorIterable<VALUE>}\\n * @nosideeffects\\n */\\nSet.prototype.keys = function() {};\\n\\n/**\\n * @return {!IteratorIterable<VALUE>}\\n * @nosideeffects\\n */\\nSet.prototype.values = function() {};\\n\\n/**\\n * @return {!Iterator<VALUE>}\\n */\\nSet.prototype[Symbol.iterator] = function() {};\\n\\n\\n\\n/**\\n * @constructor @struct\\n * @param {Iterable<VALUE>|Array<VALUE>=} opt_iterable\\n * @template VALUE\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set\\n */\\nfunction WeakSet(opt_iterable) {}\\n\\n/**\\n * @param {VALUE} value\\n * @return {THIS}\\n * @this {THIS}\\n * @template THIS\\n */\\nWeakSet.prototype.add = function(value) {};\\n\\n/**\\n * @return {void}\\n */\\nWeakSet.prototype.clear = function() {};\\n\\n/**\\n * @param {VALUE} value\\n * @return {boolean}\\n */\\nWeakSet.prototype.delete = function(value) {};\\n\\n/**\\n * @param {VALUE} value\\n * @return {boolean}\\n * @nosideeffects\\n */\\nWeakSet.prototype.has = function(value) {};\\n","externs/intl.js":"/*\\n * Copyright 2013 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for the JS Internationalization API as defined in\\n * http://www.ecma-international.org/ecma-402/1.0/\\n *\\n * @externs\\n */\\n\\n/** @const */\\nvar Intl = {};\\n\\n/**\\n * NOTE: this API is not from ecma402 and is subject to change.\\n * @param {string|Array<string>=} opt_locales\\n * @param {{type: (string|undefined)}=}\\n *         opt_options\\n * @constructor\\n */\\nIntl.v8BreakIterator = function(opt_locales, opt_options) {};\\n\\n/**\\n * @param {string} text\\n * @return {undefined}\\n */\\nIntl.v8BreakIterator.prototype.adoptText = function(text) {};\\n\\n/**\\n * @return {string}\\n */\\nIntl.v8BreakIterator.prototype.breakType = function() {};\\n\\n/**\\n * @return {number}\\n */\\nIntl.v8BreakIterator.prototype.current = function() {};\\n\\n/**\\n * @return {number}\\n */\\nIntl.v8BreakIterator.prototype.first = function() {};\\n\\n/**\\n ';
a.a+='* @return {number}\\n */\\nIntl.v8BreakIterator.prototype.next = function() {};\\n\\n/**\\n * @constructor\\n * @param {string|Array<string>=} opt_locales\\n * @param {{usage: (string|undefined), localeMatcher: (string|undefined),\\n *     sensitivity: (string|undefined), ignorePunctuation: (boolean|undefined),\\n *     numeric: (boolean|undefined), caseFirst: (string|undefined)}=}\\n *         opt_options\\n */\\nIntl.Collator = function(opt_locales, opt_options) {};\\n\\n/**\\n * @param {Array<string>} locales\\n * @param {{localeMatcher: (string|undefined)}=} opt_options\\n * @return {Array<string>}\\n */\\nIntl.Collator.supportedLocalesOf = function(locales, opt_options) {};\\n\\n/**\\n * @param {string} arg1\\n * @param {string} arg2\\n * @return {number}\\n */\\nIntl.Collator.prototype.compare = function(arg1, arg2) {};\\n\\n/**\\n * @return {{locale: string, usage: string, sensitivity: string,\\n *     ignorePunctuation: boolean, collation: string, numeric: boolean,\\n *     caseFirst: string}}\\n */\\nIntl.Collator.prototype.resolvedOptions = function() {};\\n\\n/**\\n * @constructor\\n * @param {string|Array<string>=} opt_locales\\n * @param {{localeMatcher: (string|undefined), useGrouping: (boolean|undefined),\\n *     numberingSystem: (string|undefined), style: (string|undefined),\\n *     currency: (string|undefined), currencyDisplay: (string|undefined),\\n *     minimumIntegerDigits: (number|undefined),\\n *     minimumFractionDigits: (number|undefined),\\n *     maximumFractionDigits: (number|undefined),\\n *     minimumSignificantDigits: (number|undefined),\\n *     maximumSignificantDigits: (number|undefined)}=}\\n *         opt_options\\n */\\nIntl.NumberFormat = function(opt_locales, opt_options) {};\\n\\n/**\\n * @param {Array<string>} locales\\n * @param {{localeMatcher: (string|undefined)}=} opt_options\\n * @return {Array<string>}\\n */\\nIntl.NumberFormat.supportedLocalesOf = function(locales, opt_options) {};\\n\\n/**\\n * @param {number} num\\n * @return {string}\\n */\\nIntl.NumberFormat.prototype.format = function(num) {};\\n\\n/**\\n * @return {{locale: string, numberingSystem: string, style: string,\\n *     currency: (string|undefined), currencyDisplay: (string|undefined),\\n *     minimumIntegerDigits: number, minimumFractionDigits: number,\\n *     maximumFractionDigits: number, minimumSignificantDigits: number,\\n *     maximumSignificantDigits: number, useGrouping: boolean}}\\n */\\nIntl.NumberFormat.prototype.resolvedOptions = function() {};\\n\\n/**\\n * @constructor\\n * @param {string|Array<string>=} opt_locales\\n * @param {{localeMatcher: (string|undefined),\\n *    formatMatcher: (string|undefined), calendar: (string|undefined),\\n *    numberingSystem: (string|undefined), tz: (string|undefined),\\n *    weekday: (string|undefined), era: (string|undefined),\\n *    year: (string|undefined), month: (string|undefined),\\n *    day: (string|undefined), hour: (string|undefined),\\n *    minute: (string|undefined), second: (string|undefined),\\n *    timeZoneName: (string|undefined), hour12: (boolean|undefined)}=}\\n *        opt_options\\n */\\nIntl.DateTimeFormat = function(opt_locales, opt_options) {};\\n\\n/**\\n * @param {Array<string>} locales\\n * @param {{localeMatcher: string}=} opt_options\\n * @return {Array<string>}\\n */\\nIntl.DateTimeFormat.supportedLocalesOf = function(locales, opt_options) {};\\n\\n/**\\n * @param {(!Date|number)=} date\\n * @return {string}\\n */\\nIntl.DateTimeFormat.prototype.format = function(date) {};\\n\\n/**\\n * @return {{locale: string, calendar: string, numberingSystem: string,\\n *    timeZone: (string|undefined), weekday: (string|undefined),\\n *    era: (string|undefined), year: (string|undefined),\\n *    month: (string|undefined), day: (string|undefined),\\n *    hour: (string|undefined), minute: (string|undefined),\\n *    second: (string|undefined), timeZoneName: (string|undefined),\\n *    hour12: (boolean|undefined)}}\\n */\\nIntl.DateTimeFormat.prototype.resolvedOptions = function() {};\\n","externs/w3c_event.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s event specification.\\n *  The whole file has been fully type annotated.\\n *  Created from\\n *   http://www.w3.org/TR/DOM-Level-2-Events/ecma-script-binding.html\\n *\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n */\\n\\n\\n/**\\n * @interface\\n * @see https://dom.spec.whatwg.org/#interface-eventtarget\\n */\\nfunction EventTarget() {}\\n\\n/**\\n * @param {string} type\\n * @param {EventListener|function(!Event):(boolean|undefined)} listener\\n * @param {(boolean|!AddEventListenerOptions)=} opt_options\\n * @return {undefined}\\n * @see https://dom.spec.whatwg.org/#dom-eventtarget-addeventlistener\\n */\\nEventTarget.prototype.addEventListener = function(type, listener, opt_options) {\\n};\\n\\n/**\\n * @param {string} type\\n * @param {EventListener|function(!Event):(boolean|undefined)} listener\\n * @param {(boolean|!EventListenerOptions)=} opt_options\\n * @return {undefined}\\n * @see https://dom.spec.whatwg.org/#dom-eventtarget-removeeventlistener\\n */\\nEventTarget.prototype.removeEventListener = function(\\n    type, listener, opt_options) {};\\n\\n/**\\n * @param {!Event} evt\\n * @return {boolean}\\n * @see https://dom.spec.whatwg.org/#dom-eventtarget-dispatchevent\\n */\\nEventTarget.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * @interface\\n */\\nfunction EventListener() {}\\n\\n/**\\n * @param {!Event} evt\\n * @return {undefined}\\n */\\nEventListener.prototype.handleEvent = function(evt) {};\\n\\n// The EventInit interface and the parameters to the Event constructor are part\\n// of DOM Level 3 (suggested) and the DOM \\"Living Standard\\" (mandated). They are\\n// included here as externs cannot be redefined. The same applies to other\\n// *EventInit interfaces and *Event constructors throughout this file. See:\\n// http://www.w3.org/TR/DOM-Level-3-Events/#event-initializers\\n// http://dom.spec.whatwg.org/#constructing-events\\n// https://dvcs.w3.org/hg/d4e/raw-file/tip/source_respec.htm#event-constructors\\n\\n/**\\n * @record\\n * @see https://dom.spec.whatwg.org/#dictdef-eventinit\\n */\\nfunction EventInit() {}\\n\\n/** @type {(undefined|boolean)} */\\nEventInit.prototype.bubbles;\\n\\n/** @type {(undefined|boolean)} */\\nEventInit.prototype.cancelable;\\n\\n/** @type {(undefined|boolean)} */\\nEventInit.prototype.composed;\\n\\n\\n/**\\n * @constructor\\n * @param {string} type\\n * @param {EventInit=} opt_eventInitDict\\n */\\nfunction Event(type, opt_eventInitDict) {}\\n\\n/**\\n * @const {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Events/ecma-script-binding.html\\n */\\nEvent.CAPTURING_PHASE;\\n\\n/**\\n * @const {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Events/ecma-script-binding.html\\n */\\nEvent.AT_TARGET;\\n\\n/**\\n * @const {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Events/ecma-script-binding.html\\n */\\nEvent.BUBBLING_PHASE;\\n\\n/** @type {string} */\\nEvent.prototype.type;\\n\\n/** @type {EventTarget} */\\nEvent.prototype.target;\\n\\n/** @type {EventTarget} */\\nEvent.prototype.currentTarget;\\n\\n/** @type {number} */\\nEvent.prototype.eventPhase;\\n\\n/** @type {boolean} */\\nEvent.prototype.bubbles;\\n\\n/** @type {boolean} */\\nEvent.prototype.cancelable;\\n\\n/** @type {number} */\\nEvent.prototype.timeStamp;\\n\\n/**\\n * Present for events spawned in browsers that support shadow dom.\\n * @type {Array<!Element>|undefined}\\n */\\nEvent.prototype.path;\\n\\n/**\\n * Present for events spawned in browsers that support shadow dom.\\n * @type {function():Array<!EventTarget>|undefined}\\n * @see https://www.w3.org/TR/shadow-dom/#widl-Event-deepPath\\n */\\nEvent.prototype.deepPath;\\n\\n/**\\n * @return {undefined}\\n */\\nEvent.prototype.stopPropagation = function() {};\\n\\n/**\\n * @return {undefined}\\n */\\nEvent.prototype.preventDefault = function() {};\\n\\n/**\\n * @param {string} eventTypeArg\\n * @param {boolean=} canBubbleArg\\n * @param {boolean=} cancelableArg\\n * @return {undefined}\\n */\\nEvent.prototype.initEvent = function(eventTypeArg, canBubbleArg, cancelableArg) {};\\n\\n/**\\n * @record\\n * @extends {EventInit}\\n * @see https://dom.spec.whatwg.org/#dictdef-customeventinit\\n */\\nfunction CustomEventInit() {}\\n\\n/** @type {(*|undefined)} */\\nCustomEventInit.prototype.detail;\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n * @param {string} type\\n * @param {CustomEventInit=} opt_eventInitDict\\n * @see http://www.w3.org/TR/DOM-Level-3-Events/#interface-CustomEvent\\n */\\nfunction CustomEvent(type, opt_eventInitDict) {}\\n\\n/**\\n * @param {string} eventType\\n * @param {boolean} bubbles\\n * @param {boolean} cancelable\\n * @param {*} detail\\n * @return {undefined}\\n */\\nCustomEvent.prototype.initCustomEvent = function(\\n    eventType, bubbles, cancelable, detail) {};\\n\\n/**\\n * @type {?}\\n */\\nCustomEvent.prototype.detail;\\n\\n/**\\n * @interface\\n */\\nfunction DocumentEvent() {}\\n\\n/**\\n * @param {string} eventType\\n * @return {!Event}\\n */\\nDocumentEvent.prototype.createEvent = function(eventType) {};\\n\\n/**\\n * @record\\n * @extends {EventInit}\\n * @see https://w3c.github.io/uievents/#idl-uieventinit\\n */\\nfunction UIEventInit() {}\\n\\n/** @type {undefined|?Window} */\\nUIEventInit.prototype.view;\\n\\n/** @type {undefined|number} */\\nUIEventInit.prototype.detail;\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n * @param {string} type\\n * @param {UIEventInit=} opt_eventInitDict\\n */\\nfunction UIEvent(type, opt_eventInitDict) {}\\n\\n/** @type {number} */\\nUIEvent.prototype.detail;\\n\\n/**\\n * @param {string} typeArg\\n * @param {boolean} canBubbleArg\\n * @param {boolean} cancelableArg\\n * @param {Window} viewArg\\n * @param {number} detailArg\\n * @return {undefined}\\n */\\nUIEvent.prototype.initUIEvent = function(typeArg, canBubbleArg, cancelableArg,\\n    viewArg, detailArg) {};\\n\\n/**\\n * @record\\n * @extends {UIEventInit}\\n * @see https://w3c.github.io/uievents/#dictdef-eventmodifierinit\\n */\\nfunction EventModifierInit() {}\\n\\n/** @type {undefined|boolean} */\\nEventModifierInit.prototype.ctrlKey;\\n\\n/** @type {undefined|boolean} */\\nEventModifierInit.prototype.shiftKey;\\n\\n/** @type {undefined|boolean} */\\nEventModifierInit.prototype.altKey;\\n\\n/** @type {undefined|boolean} */\\nEventModifierInit.prototype.metaKey;\\n\\n/** @type {undefined|boolean} */\\nEventModifierInit.prototype.modifierAltGraph;\\n\\n/** @type {undefined|boolean} */\\nEventModifierInit.prototype.modifierCapsLock;\\n\\n/** @type {undefined|boolean} */\\nEventModifierInit.prototype.modifierFn;\\n\\n/** @type {undefined|boolean} */\\nEventModifierInit.prototype.modifierFnLock;\\n\\n/** @type {undefined|boolean} */\\nEventModifierInit.prototype.modifierHyper;\\n\\n/** @type {undefined|boolean} */\\nEventModifierInit.prototype.modifierNumLock;\\n\\n/** @type {undefined|boolean} */\\nEventModifierInit.prototype.modifierScrollLock;\\n\\n/** @type {undefined|boolean} */\\nEventModifierInit.prototype.modifierSuper;\\n\\n/** @type {undefined|boolean} */\\nEventModifierInit.prototype.modifierSymbol;\\n\\n/** @type {undefined|boolean} */\\nEventModifierInit.prototype.modifierSymbolLock;\\n\\n/**\\n * @record\\n * @extends {EventModifierInit}\\n * @see https://w3c.github.io/uievents/#idl-mouseeventinit\\n */\\nfunction MouseEventInit() {}\\n\\n/** @type {undefined|number} */\\nMouseEventInit.prototype.screenX;\\n\\n/** @type {undefined|number} */\\nMouseEventInit.prototype.screenY;\\n\\n/** @type {undefined|number} */\\nMouseEventInit.prototype.clientX;\\n\\n/** @type {undefined|number} */\\nMouseEventInit.prototype.clientY;\\n\\n/** @type {undefined|number} */\\nMouseEventInit.prototype.button;\\n\\n/** @type {undefined|number} */\\nMouseEventInit.prototype.buttons;\\n\\n/** @type {undefined|?EventTarget} */\\nMouseEventInit.prototype.relatedTarget;\\n\\n/**\\n * @constructor\\n * @extends {UIEvent}\\n * @param {string} type\\n * @param {MouseEventInit=} opt_eventInitDict\\n */\\nfunction MouseEvent(type, opt_eventInitDict) {}\\n\\n/** @type {number} */\\nMouseEvent.prototype.screenX;\\n\\n/** @type {number} */\\nMouseEvent.prototype.screenY;\\n\\n/** @type {number} */\\nMouseEvent.prototype.clientX;\\n\\n/** @type {number} */\\nMouseEvent.prototype.clientY;\\n\\n/** @type {boolean} */\\nMouseEvent.prototype.ctrlKey;\\n\\n/** @type {boolean} */\\nMouseEvent.prototype.shiftKey;\\n\\n/** @type {boolean} */\\nMouseEvent.prototype.altKey;\\n\\n/** @type {boolean} */\\nMouseEvent.prototype.metaKey;\\n\\n/** @type {number} */\\nMouseEvent.prototype.button;\\n\\n/** @type {EventTarget} */\\nMouseEvent.prototype.relatedTarget;\\n\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n */\\nfunction MutationEvent() {}\\n\\n/** @type {Node} */\\nMutationEvent.prototype.relatedNode;\\n\\n/** @type {string} */\\nMutationEvent.prototype.prevValue;\\n\\n/** @type {string} */\\nMutationEvent.prototype.newValue;\\n\\n/** @type {string} */\\nMutationEvent.prototype.attrName;\\n\\n/** @type {number} */\\nMutationEvent.prototype.attrChange;\\n\\n/**\\n * @param {string} typeArg\\n * @param {boolean} canBubbleArg\\n * @param {boolean} cancelableArg\\n * @param {Node} relatedNodeArg\\n * @param {string} prevValueArg\\n * @param {string} newValueArg\\n * @param {string} attrNameArg\\n * @param {number} attrChangeArg\\n * @return {undefined}\\n */\\nMutationEvent.prototype.initMutationEvent = function(typeArg, canBubbleArg, cancelableArg, relatedNodeArg, prevValueArg, newValueArg, attrNameArg, attrChangeArg) {};\\n\\n\\n// DOM3\\n/**\\n * @record\\n * @extends {EventModifierInit}\\n * @see https://w3c.github.io/uievents/#idl-keyboardeventinit\\n */\\nfunction KeyboardEventInit() {}\\n\\n/** @type {undefined|string} */\\nKeyboardEventInit.prototype.key;\\n\\n/** @type {undefined|string} */\\nKeyboardEventInit.prototype.code;\\n\\n/** @type {undefined|number} */\\nKeyboardEventInit.prototype.location;\\n\\n/** @type {undefined|boolean} */\\nKeyboardEventInit.prototype.repeat;\\n\\n/** @type {undefined|boolean} */\\nKeyboardEventInit.prototype.isComposing;\\n\\n/** @type {undefined|string} */\\nKeyboardEventInit.prototype.char;\\n\\n/** @type {undefined|string} */\\nKeyboardEventInit.prototype.locale;\\n\\n/**\\n * @constructor\\n * @extends {UIEvent}\\n * @param {string} type\\n * @param {KeyboardEventInit=} opt_eventInitDict\\n */\\nfunction KeyboardEvent(type, opt_eventInitDict) {}\\n\\n/** @type {string} */\\nKeyboardEvent.prototype.keyIdentifier;\\n\\n/** @type {boolean} */\\nKeyboardEvent.prototype.ctrlKey;\\n\\n/** @type {boolean} */\\nKeyboardEvent.prototype.shiftKey;\\n\\n/** @type {boolean} */\\nKeyboardEvent.prototype.altKey;\\n\\n/** @type {boolean} */\\nKeyboardEvent.prototype.metaKey;\\n\\n/**\\n * @param {string} keyIdentifierArg\\n * @return {boolean}\\n */\\nKeyboardEvent.prototype.getModifierState = function(keyIdentifierArg) {};\\n\\n/**\\n * @record\\n * @extends {UIEventInit}\\n * @see https://w3c.github.io/uievents/#idl-focuseventinit\\n */\\nfunction FocusEventInit() {}\\n\\n/** @type {undefined|?EventTarget} */\\nFocusEventInit.prototype.relatedTarget;\\n\\n\\n/**\\n * The FocusEvent interface provides specific contextual information associated\\n * with Focus events.\\n * http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent\\n *\\n * @constructor\\n * @extends {UIEvent}\\n * @param {string} type\\n * @param {FocusEventInit=} opt_eventInitDict\\n */\\nfunction FocusEvent(type, opt_eventInitDict) {}\\n\\n/** @type {EventTarget} */\\nFocusEvent.prototype.relatedTarget;\\n\\n\\n/**\\n * See https://dom.spec.whatwg.org/#dictdef-eventlisteneroptions\\n * @record\\n */\\nvar EventListenerOptions = function() {};\\n\\n/** @type {boolean|undefined} */\\nEventListenerOptions.prototype.capture;\\n\\n/**\\n * See https://dom.spec.whatwg.org/#dictdef-addeventlisteneroptions\\n * @record\\n * @extends {EventListenerOptions}\\n */\\nvar AddEventListenerOptions = function() {};\\n\\n/** @type {boolean|undefined} */\\nAddEventListenerOptions.prototype.passive;\\n\\n/** @type {boolean|undefined} */\\nAddEventListenerOptions.prototype.once;\\n\\n/**\\n * @record\\n * @extends {UIEventInit}\\n * @see https://w3c.github.io/uievents/#idl-inputeventinit\\n * @see https://';
a.a+='w3c.github.io/input-events/#interface-InputEvent\\n */\\nfunction InputEventInit() {}\\n\\n/** @type {undefined|?string} */\\nInputEventInit.prototype.data;\\n\\n/** @type {undefined|boolean} */\\nInputEventInit.prototype.isComposing;\\n\\n/** @type {undefined|string} */\\nInputEventInit.prototype.inputType;\\n\\n/** @type {undefined|?DataTransfer} */\\nInputEventInit.prototype.dataTransfer;\\n\\n\\n// TODO(charleyroy): Add getTargetRanges() once a consensus has been made\\n// regarding how to structure these values. See\\n// https://github.com/w3c/input-events/issues/38.\\n/**\\n * @constructor\\n * @extends {UIEvent}\\n * @param {string} type\\n * @param {InputEventInit=} opt_eventInitDict\\n * @see https://www.w3.org/TR/uievents/#interface-inputevent\\n * @see https://w3c.github.io/input-events/#interface-InputEvent\\n */\\nfunction InputEvent(type, opt_eventInitDict) {}\\n\\n/** @type {string} */\\nInputEvent.prototype.data;\\n\\n/** @type {boolean} */\\nInputEvent.prototype.isComposed;\\n\\n/** @type {string} */\\nInputEvent.prototype.inputType;\\n\\n/** @type {?DataTransfer} */\\nInputEvent.prototype.dataTransfer;\\n","externs/w3c_event3.js":"/*\\n * Copyright 2010 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s event Level 3 specification.\\n *  This file depends on w3c_event.js.\\n *  The whole file has been partially type annotated.\\n *  Created from\\n *   http://www.w3.org/TR/DOM-Level-3-Events/#ecma-script-binding-ecma-binding\\n *\\n * @externs\\n * @author ericdingle@google.com (Eric Dingle)\\n */\\n\\n/**\\n * @param {string} typeArg\\n * @param {boolean} canBubbleArg\\n * @param {boolean} cancelableArg\\n * @param {Window} viewArg\\n * @param {string} keyIdentifierArg\\n * @param {number} keyLocationArg\\n * @param {string} modifiersList\\n * @return {undefined}\\n */\\nKeyboardEvent.prototype.initKeyboardEvent = function(typeArg, canBubbleArg, cancelableArg, viewArg, keyIdentifierArg, keyLocationArg, modifiersList) {};\\n\\n/** @type {string} */\\nKeyboardEvent.prototype.char;\\n\\n/** @type {string} */\\nKeyboardEvent.prototype.code;\\n\\n/** @type {string} */\\nKeyboardEvent.prototype.key;\\n\\n/** @type {number} */\\nKeyboardEvent.prototype.location;\\n\\n/** @type {boolean} */\\nKeyboardEvent.prototype.repeat;\\n\\n/** @type {string} */\\nKeyboardEvent.prototype.locale;\\n\\n/** @type {number} */\\nMouseEvent.prototype.buttons;\\n\\n/**\\n * @param {string} keyIdentifierArg\\n * @return {boolean}\\n */\\nMouseEvent.prototype.getModifierState = function(keyIdentifierArg) {};\\n\\n/** @type {boolean} */\\nEvent.prototype.defaultPrevented;\\n\\n/** @type {string} */\\nEvent.prototype.namespaceURI;\\n\\n/** @return {undefined} */\\nEvent.prototype.stopImmediatePropagation = function() {};\\n","externs/gecko_event.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for all the extensions over\\n *  W3C\'s event specification by Gecko. This file depends on\\n *  w3c_event.js.\\n *\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n */\\n\\n// TODO: Almost all of it has not been annotated with types.\\n\\n/** @type {number} */ Event.prototype.HORIZONTAL_AXIS;\\n/** @type {number} */ Event.prototype.VERTICAL_AXIS;\\n/** @type {boolean} */ Event.prototype.altKey;\\n/** @type {number} */ Event.prototype.axis;\\n/** @type {number} */ Event.prototype.button;\\n/** @type {boolean} */ Event.prototype.cancelBubble;\\n/** @type {number} */ Event.prototype.charCode;\\n/** @type {number} */ Event.prototype.clientX;\\n/** @type {number} */ Event.prototype.clientY;\\n/** @type {boolean} */ Event.prototype.ctrlKey;\\n/** @type {EventTarget} */ Event.prototype.explicitOriginalTarget;\\n/** @type {boolean} */ Event.prototype.isChar;\\n/** @type {boolean} */ Event.prototype.isTrusted;\\n/** @type {number} */ Event.prototype.keyCode;\\n/** @type {number} */ Event.prototype.layerX;\\n/** @type {number} */ Event.prototype.layerY;\\n/** @type {boolean} */ Event.prototype.metaKey;\\n/** @type {EventTarget} */ Event.prototype.originalTarget;\\n/** @type {number} */ Event.prototype.pageX;\\n/** @type {number} */ Event.prototype.pageY;\\n/** @type {EventTarget|undefined} */ Event.prototype.relatedTarget;\\n/** @type {number} */ Event.prototype.screenX;\\n/** @type {number} */ Event.prototype.screenY;\\n/** @type {boolean} */ Event.prototype.shiftKey;\\n/** @type {Window} */ Event.prototype.view;\\n/** @type {number} */ Event.prototype.which;\\n\\n/** @constructor */ function nsIDOMPageTransitionEvent() {}\\n/** @type {boolean} */ nsIDOMPageTransitionEvent.prototype.persisted;\\n\\n//Methods\\nEvent.prototype.initKeyEvent;\\nEvent.prototype.initMouseEvent;\\nEvent.prototype.initUIEvent;\\nEvent.prototype.initMessageEvent;\\nEvent.prototype.preventBubble;\\nEvent.prototype.preventCapture;\\n","externs/ie_event.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for all the extensions over the\\n *  W3C\'s event specification by IE in JScript. This file depends on\\n *  w3c_event.js.\\n *\\n * @see http://msdn.microsoft.com/en-us/library/ms535863.aspx\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n */\\n\\n/** @type {string} */\\nEvent.prototype.Abstract;\\n\\n/** @type {boolean} */\\nEvent.prototype.altLeft;\\n\\n/** @type {string} */\\nEvent.prototype.Banner;\\n\\n/**\\n * A ClipboardData on IE, but a DataTransfer on WebKit.\\n * @see http://msdn.microsoft.com/en-us/library/ms535220.aspx\\n * @type {(ClipboardData|undefined)}\\n */\\nEvent.prototype.clipboardData;\\n\\n/** @type {boolean} */\\nEvent.prototype.contentOverflow;\\n\\n/** @type {boolean} */\\nEvent.prototype.ctrlLeft;\\n\\n/** @type {string} */\\nEvent.prototype.dataFld;\\n\\nEvent.prototype.domain;\\n\\n/** @type {Element} */\\nEvent.prototype.fromElement;\\n\\n/** @type {string} */\\nEvent.prototype.MoreInfo;\\n\\n/** @type {string} */\\nEvent.prototype.nextPage;\\n\\n/** @type {number} */\\nEvent.prototype.offsetX;\\n\\n/** @type {number} */\\nEvent.prototype.offsetY;\\n\\n/** @type {string} */\\nEvent.prototype.propertyName;\\n\\n/** @type {string} */\\nEvent.prototype.qualifier;\\n\\n/** @type {number} */\\nEvent.prototype.reason;\\n\\n/** @type {Object<*>} */\\nEvent.prototype.recordset;\\n\\n/** @type {boolean} */\\nEvent.prototype.repeat;\\n\\n/** @type {(boolean|string|undefined)} */\\nEvent.prototype.returnValue;\\n\\n/** @type {string} */\\nEvent.prototype.saveType;\\n\\nEvent.prototype.scheme;\\n\\n/** @type {boolean} */\\nEvent.prototype.shiftLeft;\\n\\n/** @type {Window} */\\nEvent.prototype.source;\\n\\n/** @type {Element} */\\nEvent.prototype.srcElement;\\n\\nEvent.prototype.srcFilter;\\n\\n/** @type {string} */\\nEvent.prototype.srcUrn;\\n\\n/** @type {Element} */\\nEvent.prototype.toElement;\\n\\nEvent.prototype.userName;\\n\\n/** @type {number} */\\nEvent.prototype.wheelDelta;\\n\\n/** @type {number} */\\nEvent.prototype.x;\\n\\n/** @type {number} */\\nEvent.prototype.y;\\n\\n/**\\n * @constructor\\n * @see http://msdn.microsoft.com/en-us/library/windows/apps/hh441257.aspx\\n */\\nfunction MSPointerPoint() {}\\n\\n/** @type {number} */\\nMSPointerPoint.prototype.pointerId;\\n\\n/** @type {number} */\\nMSPointerPoint.prototype.pointerType;\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n * @see http://msdn.microsoft.com/en-us/library/windows/apps/hh441233.aspx\\n */\\nfunction MSPointerEvent() {}\\n\\n/** @type {number} */\\nMSPointerEvent.MSPOINTER_TYPE_MOUSE;\\n\\n/** @type {number} */\\nMSPointerEvent.MSPOINTER_TYPE_PEN;\\n\\n/** @type {number} */\\nMSPointerEvent.MSPOINTER_TYPE_TOUCH;\\n\\n/** @type {number} */\\nMSPointerEvent.prototype.height;\\n\\n/** @type {number} */\\nMSPointerEvent.prototype.hwTimestamp;\\n\\n/** @type {boolean} */\\nMSPointerEvent.prototype.isPrimary;\\n\\n/** @type {number} */\\nMSPointerEvent.prototype.pointerId;\\n\\n/** @type {number} */\\nMSPointerEvent.prototype.pointerType;\\n\\n/** @type {number} */\\nMSPointerEvent.prototype.pressure;\\n\\n/** @type {number} */\\nMSPointerEvent.prototype.rotation;\\n\\n/** @type {number} */\\nMSPointerEvent.prototype.tiltX;\\n\\n/** @type {number} */\\nMSPointerEvent.prototype.tiltY;\\n\\n/** @type {number} */\\nMSPointerEvent.prototype.timeStamp;\\n\\n/** @type {number} */\\nMSPointerEvent.prototype.width;\\n\\n/**\\n * @param {number} pointerId\\n * @return {undefined}\\n */\\nMSPointerEvent.prototype.msReleasePointerCapture;\\n\\n/**\\n * @param {number} pointerId\\n * @return {undefined}\\n */\\nMSPointerEvent.prototype.msSetPointerCapture;\\n\\n/**\\n * @param {string} typeArg\\n * @param {boolean} canBubbleArg\\n * @param {boolean} cancelableArg\\n * @param {Window} viewArg\\n * @param {number} detailArg\\n * @param {number} screenXArg\\n * @param {number} screenYArg\\n * @param {number} clientXArg\\n * @param {number} clientYArg\\n * @param {boolean} ctrlKeyArg\\n * @param {boolean} altKeyArg\\n * @param {boolean} shiftKeyArg\\n * @param {boolean} metaKeyArg\\n * @param {number} buttonArg\\n * @param {Element} relatedTargetArg\\n * @param {number} offsetXArg\\n * @param {number} offsetYArg\\n * @param {number} widthArg\\n * @param {number} heightArg\\n * @param {number} pressure\\n * @param {number} rotation\\n * @param {number} tiltX\\n * @param {number} tiltY\\n * @param {number} pointerIdArg\\n * @param {number} pointerType\\n * @param {number} hwTimestampArg\\n * @param {boolean} isPrimary\\n * @return {undefined}\\n * @see http://msdn.microsoft.com/en-us/library/windows/apps/hh441246.aspx\\n */\\nMSPointerEvent.prototype.initPointerEvent;\\n\\n/**\\n * @constructor\\n * @see http://msdn.microsoft.com/en-us/library/ie/hh968249(v=vs.85).aspx\\n */\\nfunction MSGesture() {}\\n\\n/**\\n * @type {Element}\\n */\\nMSGesture.prototype.target;\\n\\n/**\\n * @param {number} pointerId\\n * @return {undefined}\\n */\\nMSGesture.prototype.addPointer = function(pointerId) {};\\n\\nMSGesture.prototype.stop = function() {};\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n * @see http://msdn.microsoft.com/en-us/library/ie/hh772076(v=vs.85).aspx\\n */\\nfunction MSGestureEvent() {}\\n\\n/** @type {number} */\\nMSGestureEvent.prototype.expansion;\\n\\n/** @type {!MSGesture} */\\nMSGestureEvent.prototype.gestureObject;\\n\\n/** @type {number} */\\nMSGestureEvent.prototype.hwTimestamp;\\n\\n/** @type {number} */\\nMSGestureEvent.prototype.rotation;\\n\\n/** @type {number} */\\nMSGestureEvent.prototype.scale;\\n\\n/** @type {number} */\\nMSGestureEvent.prototype.translationX;\\n\\n/** @type {number} */\\nMSGestureEvent.prototype.translationY;\\n\\n/** @type {number} */\\nMSGestureEvent.prototype.velocityAngular;\\n\\n/** @type {number} */\\nMSGestureEvent.prototype.velocityExpansion;\\n\\n/** @type {number} */\\nMSGestureEvent.prototype.velocityX;\\n\\n/** @type {number} */\\nMSGestureEvent.prototype.velocityY;\\n\\n/**\\n * @param {string} typeArg\\n * @param {boolean} canBubbleArg\\n * @param {boolean} cancelableArg\\n * @param {Window} viewArg\\n * @param {number} detailArg\\n * @param {number} screenXArg\\n * @param {number} screenYArg\\n * @param {number} clientXArg\\n * @param {number} clientYArg\\n * @param {number} offsetXArg\\n * @param {number} offsetYArg\\n * @param {number} translationXArg\\n * @param {number} translationYArg\\n * @param {number} scaleArg\\n * @param {number} expansionArg\\n * @param {number} rotationArg\\n * @param {number} velocityXArg\\n * @param {number} velocityYArg\\n * @param {number} velocityExpansionArg\\n * @param {number} velocityAngularArg\\n * @param {number} hwTimestampArg\\n * @param {EventTarget} relatedTargetArg\\n * @return {undefined}\\n * @see http://msdn.microsoft.com/en-us/library/windows/apps/hh441187.aspx\\n */\\nMSGestureEvent.prototype.initGestureEvent;\\n","externs/webkit_event.js":"/*\\n * Copyright 2009 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for all the extensions over W3C\'s\\n *  event specification by WebKit. This file depends on w3c_event.js.\\n *  All the provided definitions have been type annotated\\n *\\n * @externs\\n * @author djlee@google.com (DJ Lee)\\n */\\n\\n/** @type {number} */\\nEvent.prototype.wheelDeltaX;\\n\\n/** @type {number} */\\nEvent.prototype.wheelDeltaY;\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n * @see http://developer.apple.com/library/safari/documentation/AudioVideo/Reference/WebKitAnimationEventClassReference/WebKitAnimationEvent/WebKitAnimationEvent.html\\n */\\nfunction WebKitAnimationEvent() {}\\n\\n/**\\n * @type {string}\\n * @const\\n */\\nWebKitAnimationEvent.prototype.animationName;\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nWebKitAnimationEvent.prototype.elapsedTime;","externs/w3c_device_sensor_event.js":"/*\\n * Copyright 2013 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s device orientation and device motion\\n *  events specification.\\n *  This file depends on w3c_event.js.\\n *  The whole file has been partially type annotated.\\n *  Created from http://dev.w3.org/geo/api/spec-source-orientation.\\n *\\n * @externs\\n * @author lukaszbk@google.com (Lukasz Bieniasz-Krzywiec)\\n */\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n */\\nfunction DeviceOrientationEvent() {}\\n\\n/** @type {?number} */\\nDeviceOrientationEvent.prototype.alpha;\\n\\n/** @type {?number} */\\nDeviceOrientationEvent.prototype.beta;\\n\\n/** @type {?number} */\\nDeviceOrientationEvent.prototype.gamma;\\n\\n/** @type {boolean} */\\nDeviceOrientationEvent.prototype.absolute;\\n\\n/**\\n * @type {?number}\\n * @see https://developer.apple.com/library/safari/documentation/SafariDOMAdditions/Reference/DeviceOrientationEventClassRef/DeviceOrientationEvent/DeviceOrientationEvent.html#//apple_ref/javascript/instp/DeviceOrientationEvent/webkitCompassAccuracy\\n */\\nDeviceOrientationEvent.prototype.webkitCompassAccuracy;\\n\\n/**\\n * @type {?number}\\n * @see https://developer.apple.com/library/safari/documentation/SafariD';
a.a+='OMAdditions/Reference/DeviceOrientationEventClassRef/DeviceOrientationEvent/DeviceOrientationEvent.html#//apple_ref/javascript/instp/DeviceOrientationEvent/webkitCompassHeading\\n */\\nDeviceOrientationEvent.prototype.webkitCompassHeading;\\n\\n/**\\n * @constructor\\n */\\nfunction DeviceAcceleration() {}\\n\\n/** @type {?number} */\\nDeviceAcceleration.prototype.x;\\n\\n/** @type {?number} */\\nDeviceAcceleration.prototype.y;\\n\\n/** @type {?number} */\\nDeviceAcceleration.prototype.z;\\n\\n/**\\n * @constructor\\n */\\nfunction DeviceRotationRate() {}\\n\\n/** @type {?number} */\\nDeviceRotationRate.prototype.alpha;\\n\\n/** @type {?number} */\\nDeviceRotationRate.prototype.beta;\\n\\n/** @type {?number} */\\nDeviceRotationRate.prototype.gamma;\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n */\\nfunction DeviceMotionEvent() {}\\n\\n/** @type {?DeviceAcceleration} */\\nDeviceMotionEvent.prototype.acceleration;\\n\\n/** @type {?DeviceAcceleration} */\\nDeviceMotionEvent.prototype.accelerationIncludingGravity;\\n\\n/** @type {?DeviceRotationRate} */\\nDeviceMotionEvent.prototype.rotationRate;\\n\\n/** @type {?number} */\\nDeviceMotionEvent.prototype.interval;\\n","externs/web_app_manifest.js":"/*\\n * Copyright 2017 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n/**\\n * @fileoverview Externs for web app manifest APIs.\\n *\\n * @see https://w3c.github.io/manifest/\\n * @externs\\n */\\n\\n/**\\n * @see https://w3c.github.io/manifest/#beforeinstallpromptevent-interface\\n * @constructor\\n * @extends {Event}\\n */\\nfunction BeforeInstallPromptEvent() {}\\n\\n/** @type {!Promise<{outcome: !AppBannerPromptOutcome}>} */\\nBeforeInstallPromptEvent.prototype.userChoice;\\n\\n/** @return {!Promise<!PromptResponseObject>} */\\nBeforeInstallPromptEvent.prototype.prompt = function() {};\\n\\n/** @typedef {string} */\\nvar AppBannerPromptOutcome;\\n\\n/** @typedef {{userChoice: !AppBannerPromptOutcome}} */\\nvar PromptResponseObject;\\n\\n/** @type {?function(!BeforeInstallPromptEvent)} */\\nWindow.prototype.onbeforeinstallpromptevent;\\n\\n/** @type {?function(!Event)} */\\nWindow.prototype.onappinstalled;\\n","externs/w3c_dom1.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s DOM Level 1 specification.\\n *  The whole file has been fully type annotated. Created from\\n *  http://www.w3.org/TR/REC-DOM-Level-1/ecma-script-language-binding.html\\n *\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n * @author stevey@google.com (Steve Yegge)\\n */\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-17189187\\n */\\nfunction DOMException() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF\\n */\\nDOMException.INDEX_SIZE_ERR = 1;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF\\n */\\nDOMException.DOMSTRING_SIZE_ERR = 2;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF\\n */\\nDOMException.HIERARCHY_REQUEST_ERR = 3;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF\\n */\\nDOMException.WRONG_DOCUMENT_ERR = 4;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF\\n */\\nDOMException.INVALID_CHARACTER_ERR = 5;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF\\n */\\nDOMException.NO_DATA_ALLOWED_ERR = 6;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF\\n */\\nDOMException.NO_MODIFICATION_ALLOWED_ERR = 7;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF\\n */\\nDOMException.NOT_FOUND_ERR = 8;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF\\n */\\nDOMException.NOT_SUPPORTED_ERR = 9;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF\\n */\\nDOMException.INUSE_ATTRIBUTE_ERR = 10;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF\\n */\\nfunction ExceptionCode() {}\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-102161490\\n */\\nfunction DOMImplementation() {}\\n\\n/**\\n * @param {string} feature\\n * @param {string} version\\n * @return {boolean}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-5CED94D7\\n * @nosideeffects\\n */\\nDOMImplementation.prototype.hasFeature = function(feature, version) {};\\n\\n/**\\n * @constructor\\n * @implements {EventTarget}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nfunction Node() {}\\n\\n/** @override */\\nNode.prototype.addEventListener = function(type, listener, opt_options) {};\\n\\n/** @override */\\nNode.prototype.removeEventListener = function(type, listener, opt_options) {};\\n\\n/** @override */\\nNode.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * @type {NamedNodeMap<!Attr>}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-attributes\\n */\\nNode.prototype.attributes;\\n\\n/**\\n * @type {!NodeList<!Node>}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-childNodes\\n */\\nNode.prototype.childNodes;\\n\\n/**\\n * @type {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-firstChild\\n */\\nNode.prototype.firstChild;\\n\\n/**\\n * @type {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-lastChild\\n */\\nNode.prototype.lastChild;\\n\\n/**\\n * @type {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-nextSibling\\n */\\nNode.prototype.nextSibling;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-nodeName\\n */\\nNode.prototype.nodeName;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-nodeValue\\n */\\nNode.prototype.nodeValue;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-nodeType\\n */\\nNode.prototype.nodeType;\\n\\n/**\\n * @type {Document}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-ownerDocument\\n */\\nNode.prototype.ownerDocument;\\n\\n/**\\n * @type {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-parentNode\\n */\\nNode.prototype.parentNode;\\n\\n/**\\n * @type {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-previousSibling\\n */\\nNode.prototype.previousSibling;\\n\\n/**\\n * @param {Node} newChild\\n * @return {!Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-appendChild\\n */\\nNode.prototype.appendChild = function(newChild) {};\\n\\n/**\\n * @param {boolean} deep\\n * @return {!Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-cloneNode\\n * @nosideeffects\\n */\\nNode.prototype.cloneNode = function(deep) {};\\n\\n/**\\n * @return {boolean}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-hasChildNodes\\n * @nosideeffects\\n */\\nNode.prototype.hasChildNodes = function() {};\\n\\n/**\\n * @param {Node} newChild\\n * @param {Node} refChild\\n * @return {!Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-insertBefore\\n */\\nNode.prototype.insertBefore = function(newChild, refChild) {};\\n\\n/**\\n * @param {Node} oldChild\\n * @return {!Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-removeChild\\n */\\nNode.prototype.removeChild = function(oldChild) {};\\n\\n/**\\n * @param {Node} newChild\\n * @param {Node} oldChild\\n * @return {!Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-replaceChild\\n */\\nNode.prototype.replaceChild = function(newChild, oldChild) {};\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nNode.ATTRIBUTE_NODE;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nNode.CDATA_SECTION_NODE;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nNode.COMMENT_NODE;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nNode.DOCUMENT_FRAGMENT_NODE;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nNode.DOCUMENT_NODE;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nNode.DOCUMENT_TYPE_NODE;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nNode.ELEMENT_NODE;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nNode.ENTITY_NODE;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nNode.ENTITY_REFERENCE_NODE;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nNode.PROCESSING_INSTRUCTION_NODE;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nNode.TEXT_NODE;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nNode.XPATH_NAMESPACE_NODE;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nNode.NOTATION_NODE;\\n\\n/**\\n * @constructor\\n * @extends {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-B63ED1A3\\n */\\nfunction DocumentFragment() {}\\n\\n/**\\n * @constructor\\n * @extends {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#i-Document\\n */\\nfunction Document() {}\\n\\n/**\\n * @type {DocumentType}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-doctype\\n */\\nDocument.prototype.doctype;\\n\\n/**\\n * @type {!Element}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-documentElement\\n */\\nDocument.prototype.documentElement;\\n\\n/**\\n * @type {DOMImplementation}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-implementation\\n */\\nDocument.prototype.implementation;\\n\\n/**\\n * @param {string} name\\n * @return {!Attr}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createAttribute\\n * @nosideeffects\\n */\\nDocument.prototype.createAttribute = function(name) {};\\n\\n/**\\n * @param {string} data\\n * @return {!Comment}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createComment\\n * @nosideeffects\\n */\\nDocument.prototype.createComment = function(data) {};\\n\\n/**\\n * @param {string} data\\n * @return {!CDATASection}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createCDATASection\\n * @nosideeffects\\n */\\nDocument.prototype.createCDATASection = function(data) {};\\n\\n/**\\n * @return {!DocumentFragment}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createDocumentFragment\\n * @nosideeffects\\n */\\nDocument.prototype.createDocumentFragment = function() {};\\n\\n/**\\n * Create a DOM element.\\n *\\n * Web components introduced the second parameter as a way of extending existing\\n * tags (e.g. document.createElement(\'button\', \'fancy-button\')).\\n *\\n * @param {string} tagName\\n * @param {string=} opt_typeExtension\\n * @return {!Element}\\n * @nosideeffects\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createElement\\n * @see http://w3c.github.io/webcomponents/spec/custom/#extensions-to-document-interface-to-instantiate\\n */\\nDocument.prototype.createElement = function(tagName, opt_typeExtension) {};\\n\\n/**\\n * @param {string} name\\n * @return {!EntityReference}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createEntityReference\\n * @nosideeffects\\n */\\nDocument.prototype.createEntityReference = function(name) {};\\n\\n/**\\n * @param {string} target\\n * @param {string} data\\n * @return {!ProcessingInstruction}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createProcessingInstruction\\n * @nosideeffects\\n */\\nDocument.prototype.createProcessingInstruction = function(target, data) {};\\n\\n/**\\n * @param {number|string} data\\n * @return {!Text}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createTextNode\\n * @nosideeffects\\n */\\nDocument.prototype.createTextNode = function(data) {};\\n\\n/**\\n * @param {string} tagname\\n * @return {!NodeList<!Element>}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-A6C9094\\n * @nosideeffects\\n */\\nDocument.prototype.getElementsByTagName = function(tagname) {};\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike<T>}\\n * @implements {Iterable<T>}\\n * @template T\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-536297177\\n */\\nfunction NodeList() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-203510337\\n */\\nNodeList.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {T|null}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-844377136\\n */\\nNodeList.prototype.item = function(index) {};\\n\\n/**\\n * @param {?function(this:S, T, number, !NodeList<T>): ?} callback\\n * @param {S=} opt_thisobj\\n * @this {NodeList<T>}\\n * @template T,S\\n * @return {undefined}\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/NodeList/forEach\\n */\\nNodeList.prototype.forEach = function(callback, opt_thisobj) {};\\n\\n/**\\n * @constructor\\n * @implements {IObject<(string|number), T>}\\n * @implements {IArrayLike<T>}\\n * @implements {Iterable<T>}\\n * @template T\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1780488922\\n */\\nfunction NamedNodeMap() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-6D0FB19E\\n */\\nNamedNodeMap.prototype.length;\\n\\n/**\\n * @param {string} name\\n * @return {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1074577549\\n *';
a.a+=' @nosideeffects\\n */\\nNamedNodeMap.prototype.getNamedItem = function(name) {};\\n\\n/**\\n * @param {number} index\\n * @return {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-349467F9\\n * @nosideeffects\\n */\\nNamedNodeMap.prototype.item = function(index) {};\\n\\n/**\\n * @param {string} name\\n * @return {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-D58B193\\n */\\nNamedNodeMap.prototype.removeNamedItem = function(name) {};\\n\\n/**\\n * @param {Node} arg\\n * @return {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1025163788\\n */\\nNamedNodeMap.prototype.setNamedItem = function(arg) {};\\n\\n/**\\n * @constructor\\n * @extends {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-FF21A306\\n */\\nfunction CharacterData() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-72AB8359\\n */\\nCharacterData.prototype.data;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-7D61178C\\n */\\nCharacterData.prototype.length;\\n\\n/**\\n * @param {string} arg\\n * @return {undefined}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-32791A2F\\n */\\nCharacterData.prototype.appendData = function(arg) {};\\n\\n/**\\n * @param {number} offset\\n * @param {number} count\\n * @return {undefined}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-7C603781\\n */\\nCharacterData.prototype.deleteData = function(offset, count) {};\\n\\n/**\\n * @param {number} offset\\n * @param {string} arg\\n * @return {undefined}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-3EDB695F\\n */\\nCharacterData.prototype.insertData = function(offset, arg) {};\\n\\n/**\\n * @param {number} offset\\n * @param {number} count\\n * @param {string} arg\\n * @return {undefined}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-E5CBA7FB\\n */\\nCharacterData.prototype.replaceData = function(offset, count, arg) {};\\n\\n/**\\n * @param {number} offset\\n * @param {number} count\\n * @return {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-6531BCCF\\n * @nosideeffects\\n */\\nCharacterData.prototype.substringData = function(offset, count) {};\\n\\n/**\\n * @constructor\\n * @extends {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-637646024\\n */\\nfunction Attr() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1112119403\\n */\\nAttr.prototype.name;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-862529273\\n */\\nAttr.prototype.specified;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-221662474\\n */\\nAttr.prototype.value;\\n\\n/**\\n * @constructor\\n * @extends {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-745549614\\n */\\nfunction Element() {}\\n\\n/**\\n * An Element always contains a non-null NamedNodeMap containing the attributes\\n * of this node.\\n * @type {!NamedNodeMap<!Attr>}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-attributes\\n */\\nElement.prototype.attributes;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-tagName\\n */\\nElement.prototype.tagName;\\n\\n/**\\n * @implicitCast\\n * @type {?}\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/className\\n *    We type it as ? even though it is a string, because some SVG elements have\\n *    className that is an object, which isn\'t a subtype of string.\\n *    Alternative: TypeScript types this as string and types className on\\n *    SVGElement as ?.\\n */\\nElement.prototype.className;\\n\\n/**\\n * @param {string} name\\n * @param {number?=} opt_flags\\n * @return {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-getAttribute\\n * @see http://msdn.microsoft.com/en-us/library/ms536429(VS.85).aspx\\n * @nosideeffects\\n */\\nElement.prototype.getAttribute = function(name, opt_flags) {};\\n\\n/**\\n * @param {string} name\\n * @return {Attr}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-getAttributeNode\\n * @nosideeffects\\n */\\nElement.prototype.getAttributeNode = function(name) {};\\n\\n/**\\n * @param {string} tagname\\n * @return {!NodeList<!Element>}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1938918D\\n * @nosideeffects\\n */\\nElement.prototype.getElementsByTagName = function(tagname) {};\\n\\n/**\\n * @param {string} name\\n * @return {undefined}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-removeAttribute\\n */\\nElement.prototype.removeAttribute = function(name) {};\\n\\n/**\\n * @param {Attr} oldAttr\\n * @return {?Attr}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-removeAttributeNode\\n */\\nElement.prototype.removeAttributeNode = function(oldAttr) {};\\n\\n/**\\n * @param {string} name\\n * @param {string|number|boolean} value Values are converted to strings with\\n *     ToString, so we accept number and boolean since both convert easily to\\n *     strings.\\n * @return {undefined}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-setAttribute\\n */\\nElement.prototype.setAttribute = function(name, value) {};\\n\\n/**\\n * @param {Attr} newAttr\\n * @return {?Attr}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-setAttributeNode\\n */\\nElement.prototype.setAttributeNode = function(newAttr) {};\\n\\n// Event handlers\\n// The DOM level 3 spec has a good index of these\\n// http://www.w3.org/TR/DOM-Level-3-Events/#event-types\\n\\n/** @type {?function (Event)} */ Element.prototype.onabort;\\n/** @type {?function (Event)} */ Element.prototype.onbeforeinput;\\n/** @type {?function (Event)} */ Element.prototype.onbeforeunload;\\n/** @type {?function (Event)} */ Element.prototype.onblur;\\n/** @type {?function (Event)} */ Element.prototype.onchange;\\n/** @type {?function (Event)} */ Element.prototype.onclick;\\n/** @type {?function (Event)} */ Element.prototype.oncompositionstart;\\n/** @type {?function (Event)} */ Element.prototype.oncompositionupdate;\\n/** @type {?function (Event)} */ Element.prototype.oncompositionend;\\n/** @type {?function (Event)} */ Element.prototype.oncontextmenu;\\n/** @type {?function (Event)} */ Element.prototype.oncopy;\\n/** @type {?function (Event)} */ Element.prototype.oncut;\\n/** @type {?function (Event)} */ Element.prototype.ondblclick;\\n/** @type {?function (Event)} */ Element.prototype.onerror;\\n/** @type {?function (Event)} */ Element.prototype.onfocus;\\n/** @type {?function (Event)} */ Element.prototype.onfocusin;\\n/** @type {?function (Event)} */ Element.prototype.onfocusout;\\n/** @type {?function (Event)} */ Element.prototype.oninput;\\n/** @type {?function (Event)} */ Element.prototype.onkeydown;\\n/** @type {?function (Event)} */ Element.prototype.onkeypress;\\n/** @type {?function (Event)} */ Element.prototype.onkeyup;\\n/** @type {?function (Event)} */ Element.prototype.onload;\\n/** @type {?function (Event)} */ Element.prototype.onunload;\\n/** @type {?function (Event)} */ Element.prototype.onmousedown;\\n/** @type {?function (Event)} */ Element.prototype.onmousemove;\\n/** @type {?function (Event)} */ Element.prototype.onmouseout;\\n/** @type {?function (Event)} */ Element.prototype.onmouseover;\\n/** @type {?function (Event)} */ Element.prototype.onmouseup;\\n/** @type {?function (Event)} */ Element.prototype.onmousewheel;\\n/** @type {?function (Event)} */ Element.prototype.onpaste;\\n/** @type {?function (Event)} */ Element.prototype.onreset;\\n/** @type {?function (Event)} */ Element.prototype.onresize;\\n/** @type {?function (Event)} */ Element.prototype.onscroll;\\n/** @type {?function (Event)} */ Element.prototype.onselect;\\n/** @type {?function (Event=)} */ Element.prototype.onsubmit;\\n/** @type {?function (Event)} */ Element.prototype.ontextinput;\\n/** @type {?function (Event)} */ Element.prototype.onwheel;\\n\\n/**\\n * @constructor\\n * @extends {CharacterData}\\n * @param {string=} contents Optional textual content.\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1312295772\\n */\\nfunction Text(contents) {}\\n\\n/**\\n * @param {number} offset\\n * @return {Text}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-38853C1D\\n */\\nText.prototype.splitText = function(offset) {};\\n\\n/**\\n * @constructor\\n * @extends {CharacterData}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1728279322\\n */\\nfunction Comment() {}\\n\\n/**\\n * @constructor\\n * @extends {Text}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-667469212\\n */\\nfunction CDATASection() {}\\n\\n/**\\n * @constructor\\n * @extends {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-412266927\\n */\\nfunction DocumentType() {}\\n\\n/**\\n * @type {NamedNodeMap<!Entity>}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1788794630\\n */\\nDocumentType.prototype.entities;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1844763134\\n */\\nDocumentType.prototype.name;\\n\\n/**\\n * @type {NamedNodeMap<!Notation>}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-D46829EF\\n */\\nDocumentType.prototype.notations;\\n\\n/**\\n * @constructor\\n * @extends {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-5431D1B9\\n */\\nfunction Notation() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-54F2B4D0\\n */\\nNotation.prototype.publicId;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-E8AAB1D0\\n */\\nNotation.prototype.systemId;\\n\\n/**\\n * @constructor\\n * @extends {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-527DCFF2\\n */\\nfunction Entity() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-D7303025\\n */\\nEntity.prototype.publicId;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-D7C29F3E\\n */\\nEntity.prototype.systemId;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-6ABAEB38\\n */\\nEntity.prototype.notationName;\\n\\n/**\\n * @constructor\\n * @extends {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-11C98490\\n */\\nfunction EntityReference() {}\\n\\n/**\\n * @constructor\\n * @extends {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1004215813\\n */\\nfunction ProcessingInstruction() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-837822393\\n */\\nProcessingInstruction.prototype.data;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1478689192\\n */\\nProcessingInstruction.prototype.target;\\n\\n\\n/**\\n * @constructor\\n * @implements {EventTarget}\\n */\\nfunction Window() {}\\nWindow.prototype.Window;\\n\\n/** @override */\\nWindow.prototype.addEventListener = function(type, listener, opt_options) {};\\n\\n/** @override */\\nWindow.prototype.removeEventListener = function(type, listener, opt_options) {};\\n\\n/** @override */\\nWindow.prototype.dispatchEvent = function(evt) {};\\n\\n/** @type {?function (Event)} */ Window.prototype.onabort;\\n/** @type {?function (Event)} */ Window.prototype.onbeforeunload;\\n/** @type {?function (Event)} */ Window.prototype.onblur;\\n/** @type {?function (Event)} */ Window.prototype.onchange;\\n/** @type {?function (Event)} */ Window.prototype.onclick;\\n/** @type {?function (Event)} */ Window.prototype.onclose;\\n/** @type {?function (Event)} */ Window.prototype.oncontextmenu;\\n/** @type {?function (Event)} */ Window.prototype.ondblclick;\\n/** @type {?function (Event)} */ Window.prototype.ondragdrop;\\n// onerror has a special signature.\\n// See\\n//  https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror\\n/** @type {?function (string, string, number, number, !Error)} */\\nWindow.prototype.onerror;\\n/** @type {?function (Event)} */ Window.prototype.onfocus;\\n/** @type {?function (Event)} */ Window.prototype.onhashchange;\\n/** @type {?function (Event)} */ Window.prototype.onkeydown;\\n/** @type {?function (Event)} */ Window.prototype.onkeypress;\\n/** @type {?function (Event)} */ Window.prototype.onkeyup;\\n/** @type {?function (Event)} */ Window.prototype.onload;\\n/** @type {?function (Event)} */ Window.prototype.onmousedown;\\n/** @type {?function (Event)} */ Window.prototype.onmousemove;\\n/** @type {?function (Event)} */ Window.prototype.onmouseout;\\n/** @type {?function (Event)} */ Window.prototype.onmouseover;\\n/** @type {?function (Event)} */ Window.prototype.onmouseup;\\n/** @type {?function (Event)} */ Window.prototype.onmousewheel;\\n/** @type {?function (Event)} */ Window.prototype.onpaint;\\n/** @type {?function (Event)} */ Window.prototype.onpopstate;\\n/** @type {?function (Event)} */ Window.prototype.onreset;\\n/** @type {?function (Event)} */ Window.prototype.onresize;\\n/** @type {?function (Event)} */ Window.prototype.onscroll;\\n/** @type {?function (Event)} */ Window.prototype.onselect;\\n/** @type {?function (Event=)} */ Window.prototype.onsubmit;\\n/** @type {?function (Event)} */ Window.prototype.onunload;\\n/** @type {?function (Event)} */ Window.prototype.onwheel;\\n","externs/w3c_dom2.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s DOM Level 2 specification.\\n *  This file depends on w3c_dom1.js.\\n *  The whole file has been fully type annotated.\\n *  Created from\\n *  http://www.w3.org/TR/REC-DOM-Level-1/ecma-script-language-binding.html\\n *\\n * @externs\\n */\\n\\n/**\\n * @param {string} s id.\\n * @return {Element}\\n * @nosideeffects\\n * @see https://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/core.html#ID-getElBId\\n */\\nDocument.prototype.getElementById = function(s) {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} qualifiedName\\n * @param {string=} opt_typeExtension\\n * @return {!Element}\\n * @see https://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/core.html#ID-DocCrElNS\\n */\\nDocument.prototype.createElementNS =\\n    function(namespaceURI, qualifiedName, opt_typeExtension) {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} qualifiedName\\n * @return {!Attr}\\n * @see https://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/core.html#ID-DocCrElNS\\n */\\nDocument.prototype.createAttributeNS =\\n    function(namespaceURI, qualifiedName) {};\\n\\n/**\\n * @param {string} namespace\\n * @param {string} name\\n * @return {!NodeList<!Element>}\\n * @nosideeffects\\n * @see https://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/core.html#ID-getElBTNNS\\n */\\nDocument.prototype.getElementsByTagNameNS = function(namespace, name) {};\\n\\n/**\\n * @param {Node} externalNode\\n * @param {boolean} deep\\n * @return {Node}\\n * @see https://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/core.html#Core-Document-importNode\\n */\\nDocument.prototype.importNode = function(externalNode, deep) {};\\n\\n/**';
a.a+='\\n * @constructor\\n * @implements {IObject<(string|number),T>}\\n * @implements {IArrayLike<T>}\\n * @implements {Iterable<T>}\\n * @template T\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75708506\\n */\\nfunction HTMLCollection() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40057551\\n */\\nHTMLCollection.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {T|null}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-33262535\\n * @nosideeffects\\n */\\nHTMLCollection.prototype.item = function(index) {};\\n\\n/**\\n * @param {string} name\\n * @return {T|null}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-21069976\\n * @nosideeffects\\n */\\nHTMLCollection.prototype.namedItem = function(name) {};\\n\\n/**\\n * @constructor\\n * @implements {IObject<(string|number),HTMLOptionElement>}\\n * @implements {IArrayLike<!HTMLOptionElement>}\\n * @see http://www.w3.org/TR/DOM-Level-2-HTML/html.html#HTMLOptionsCollection\\n */\\nfunction HTMLOptionsCollection() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-HTML/html.html#HTMLOptionsCollection-length\\n */\\nHTMLOptionsCollection.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {Node}\\n * @see http://www.w3.org/TR/DOM-Level-2-HTML/html.html#HTMLOptionsCollection-item\\n * @nosideeffects\\n */\\nHTMLOptionsCollection.prototype.item = function(index) {};\\n\\n/**\\n * @constructor\\n * @extends {Document}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-26809268\\n */\\nfunction HTMLDocument() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-18446827\\n */\\nHTMLDocument.prototype.title;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-95229140\\n */\\nHTMLDocument.prototype.referrer;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-2250147\\n */\\nHTMLDocument.prototype.domain;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-46183437\\n */\\nHTMLDocument.prototype.URL;\\n\\n/**\\n * @type {!HTMLBodyElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-56360201\\n */\\nHTMLDocument.prototype.body;\\n\\n/**\\n * @type {!HTMLCollection<!HTMLImageElement>}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-90379117\\n */\\nHTMLDocument.prototype.images;\\n\\n/**\\n * @type {!HTMLCollection<!HTMLAppletElement>}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-85113862\\n */\\nHTMLDocument.prototype.applets;\\n\\n/**\\n * @type {!HTMLCollection<(!HTMLAnchorElement|!HTMLAreaElement)>}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-7068919\\n */\\nHTMLDocument.prototype.links;\\n\\n/**\\n * @type {!HTMLCollection<!HTMLFormElement>}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-1689064\\n */\\nHTMLDocument.prototype.forms;\\n\\n/**\\n * @type {!HTMLCollection<!HTMLAnchorElement>}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-7577272\\n */\\nHTMLDocument.prototype.anchors;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-8747038\\n */\\nHTMLDocument.prototype.cookie;\\n\\n/**\\n * @param {string=} opt_mimeType\\n * @param {string=} opt_replace\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-72161170\\n * Even though official spec says \\"no parameters\\" some old browsers might take\\n * optional parameters: https://msdn.microsoft.com/en-us/library/ms536652(v=vs.85).aspx\\n * @override\\n */\\nHTMLDocument.prototype.open = function(opt_mimeType, opt_replace) {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-98948567\\n * @override\\n */\\nHTMLDocument.prototype.close = function() {};\\n\\n/**\\n * @param {string} text\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75233634\\n * @override\\n */\\nHTMLDocument.prototype.write = function(text) {};\\n\\n/**\\n * @param {string} text\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-35318390\\n * @override\\n */\\nHTMLDocument.prototype.writeln = function(text) {};\\n\\n/**\\n * @param {string} elementName\\n * @return {!NodeList<!Element>}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-71555259\\n * @nosideeffects\\n */\\nHTMLDocument.prototype.getElementsByName = function(elementName) {};\\n\\n/**\\n * @param {Node} root\\n * @param {number=} whatToShow\\n * @param {NodeFilter=} filter\\n * @param {boolean=} entityReferenceExpansion\\n * @return {!NodeIterator}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-Document\\n * @nosideeffects\\n */\\nHTMLDocument.prototype.createNodeIterator = function(\\n    root, whatToShow, filter, entityReferenceExpansion) {};\\n\\n/**\\n * @param {Node} root\\n * @param {number=} whatToShow\\n * @param {NodeFilter=} filter\\n * @param {boolean=} entityReferenceExpansion\\n * @return {!TreeWalker}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-Document\\n * @nosideeffects\\n */\\nHTMLDocument.prototype.createTreeWalker = function(\\n    root, whatToShow, filter, entityReferenceExpansion) {};\\n\\n\\n/** @typedef {{\\n  createNodeIterator: function(Node, number=, NodeFilter=, boolean=) : NodeIterator,\\n  createTreeWalker: function(Node, number=, NodeFilter=, boolean=) : TreeWalker\\n}} */\\nvar TraversalDocument;\\n\\n/**\\n * @interface\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeFilter\\n*/\\nfunction NodeFilter() {}\\n\\n/* Constants for whatToShow */\\n/** @const {number} */ NodeFilter.SHOW_ALL;\\n/** @const {number} */ NodeFilter.SHOW_ATTRIBUTE;\\n/** @const {number} */ NodeFilter.SHOW_CDATA_SECTION;\\n/** @const {number} */ NodeFilter.SHOW_COMMENT;\\n/** @const {number} */ NodeFilter.SHOW_DOCUMENT;\\n/** @const {number} */ NodeFilter.SHOW_DOCUMENT_FRAGMENT;\\n/** @const {number} */ NodeFilter.SHOW_DOCUMENT_TYPE;\\n/** @const {number} */ NodeFilter.SHOW_ELEMENT;\\n/** @const {number} */ NodeFilter.SHOW_ENTITY;\\n/** @const {number} */ NodeFilter.SHOW_ENTITY_REFERENCE;\\n/** @const {number} */ NodeFilter.SHOW_NOTATION;\\n/** @const {number} */ NodeFilter.SHOW_PROCESSING_INSTRUCTION;\\n/** @const {number} */ NodeFilter.SHOW_TEXT;\\n\\n/* Consants for acceptNode */\\n/** @const {number} */ NodeFilter.FILTER_ACCEPT;\\n/** @const {number} */ NodeFilter.FILTER_REJECT;\\n/** @const {number} */ NodeFilter.FILTER_SKIP;\\n\\n/**\\n * @param {Node} n\\n * @return {number} Any of NodeFilter.FILTER_* constants.\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeFilter-acceptNode\\n*/\\nNodeFilter.prototype.acceptNode = function(n) {};\\n\\n/**\\n * @interface\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeIterator\\n*/\\nfunction NodeIterator() {}\\n\\n/**\\n * Detach and invalidate the NodeIterator.\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeIterator-detach\\n * @return {undefined}\\n */\\nNodeIterator.prototype.detach = function() {};\\n\\n/**\\n * @return {Node} Next node in the set.\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeIterator-nextNode\\n */\\nNodeIterator.prototype.nextNode = function() {};\\n\\n/**\\n * @return {Node} Previous node in the set.\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeIterator-previousNode\\n */\\nNodeIterator.prototype.previousNode = function() {};\\n\\n/**\\n * @interface\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker\\n*/\\nfunction TreeWalker() {}\\n\\n/**\\n * @return {?Node} The new Node or null.\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker-firstChild\\n */\\nTreeWalker.prototype.firstChild = function() {};\\n\\n/**\\n * @return {?Node} The new Node or null..\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker-lastChild\\n */\\nTreeWalker.prototype.lastChild = function() {};\\n\\n/**\\n * @return {?Node} The new Node or null.\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker-nextNode\\n */\\nTreeWalker.prototype.nextNode = function() {};\\n\\n/**\\n * @return {?Node} The new Node or null.\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker-nextSibling\\n */\\nTreeWalker.prototype.nextSibling = function() {};\\n\\n/**\\n * @return {?Node} The new Node or null.\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker-parentNode\\n */\\nTreeWalker.prototype.parentNode = function() {};\\n\\n/**\\n * @return {?Node} The new Node or null.\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker-previousNode\\n */\\nTreeWalker.prototype.previousNode = function() {};\\n\\n/**\\n * @return {?Node} The new Node or null.\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker-previousSibling\\n */\\nTreeWalker.prototype.previousSibling = function() {};\\n\\n/**\\n * @type {Node}\\n */\\nTreeWalker.prototype.root;\\n\\n/**\\n * @type {number}\\n */\\nTreeWalker.prototype.whatToShow;\\n\\n/**\\n * @type {NodeFilter}\\n */\\nTreeWalker.prototype.filter;\\n\\n/**\\n * @type {boolean}\\n */\\nTreeWalker.prototype.expandEntityReference;\\n\\n/**\\n * @type {Node}\\n */\\nTreeWalker.prototype.currentNode;\\n\\n/**\\n * @constructor\\n * @extends {Element}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58190037\\n */\\nfunction HTMLElement() {}\\n\\n/**\\n * @implicitCast\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-63534901\\n */\\nHTMLElement.prototype.id;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-78276800\\n */\\nHTMLElement.prototype.title;\\n\\n/**\\n * @type {!CSSStyleDeclaration}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-ElementCSSInlineStyle\\n */\\nHTMLElement.prototype.style;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-59132807\\n */\\nHTMLElement.prototype.lang;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-52460740\\n */\\nHTMLElement.prototype.dir;\\n\\n/**\\n * @implicitCast\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-95362176\\n */\\nHTMLElement.prototype.className;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40676705\\n */\\nHTMLElement.prototype.tabIndex;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-33759296\\n */\\nfunction HTMLHtmlElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-9383775\\n */\\nHTMLHtmlElement.prototype.version;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77253168\\n */\\nfunction HTMLHeadElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96921909\\n */\\nHTMLHeadElement.prototype.profile;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @implements {LinkStyle}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-35143001\\n */\\nfunction HTMLLinkElement() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87355129\\n */\\nHTMLLinkElement.prototype.disabled;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-63954491\\n */\\nHTMLLinkElement.prototype.charset;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-33532588\\n */\\nHTMLLinkElement.prototype.href;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-85145682\\n */\\nHTMLLinkElement.prototype.hreflang;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75813125\\n */\\nHTMLLinkElement.prototype.media;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-41369587\\n */\\nHTMLLinkElement.prototype.rel;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40715461\\n */\\nHTMLLinkElement.prototype.rev;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-84183095\\n */\\nHTMLLinkElement.prototype.target;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-32498296\\n */\\nHTMLLinkElement.prototype.type;\\n\\n/** @type {StyleSheet} */\\nHTMLLinkElement.prototype.sheet;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79243169\\n */\\nfunction HTMLTitleElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77500413\\n */\\nHTMLTitleElement.prototype.text;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-37041454\\n */\\nfunction HTMLMetaElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87670826\\n */\\nHTMLMetaElement.prototype.content;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77289449\\n */\\nHTMLMetaElement.prototype.httpEquiv;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-31037081\\n */\\nHTMLMetaElement.prototype.name;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-35993789\\n */\\nHTMLMetaElement.prototype.scheme;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-73629039\\n */\\nfunction HTMLBaseElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-65382887\\n */\\nHTMLBaseElement.prototype.href;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-73844298\\n */\\nHTMLBaseElement.prototype.target;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-85283003\\n */\\nfunction HTMLIsIndexElement() {}\\n\\n/**\\n * @type {HTMLFormElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87069980\\n */\\nHTMLIsIndexElement.prototype.form;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-33589862\\n */\\nHTMLIsIndexElement.prototype.prompt;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @implements {LinkStyle}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-16428977\\n */\\nfunction HTMLStyleElement() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-51162010\\n */\\nHTMLStyleElement.prototype.disabled;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-76412738\\n */\\nHTMLStyleElement.prototype.media;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-22472002\\n */\\nHTMLStyleElement.prototype.type;\\n\\n/** @type {StyleSheet} */\\nHTMLStyleElement.prototype.sheet;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-62018039\\n */\\nfunction HTMLBodyElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-59424581\\n */\\nHTMLBodyElement.prototype.aLink;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-37574810\\n */\\nHTMLBodyElement.prototype.background;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-';
a.a+="2-20000510/html.html#ID-24940084\\n */\\nHTMLBodyElement.prototype.bgColor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-7662206\\n */\\nHTMLBodyElement.prototype.link;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-73714763\\n */\\nHTMLBodyElement.prototype.text;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-83224305\\n */\\nHTMLBodyElement.prototype.vLink;\\n\\n/**\\n * @constructor\\n * @extends {HTMLCollection<T>}\\n * @implements {IObject<string, (T|RadioNodeList<T>)>}\\n * @implements {IArrayLike<T>}\\n * @template T\\n * @see https://html.spec.whatwg.org/multipage/infrastructure.html#the-htmlformcontrolscollection-interface\\n */\\nfunction HTMLFormControlsCollection() {}\\n\\n/**\\n * @param {string} name\\n * @return {T|RadioNodeList<T>|null}\\n * @see https://html.spec.whatwg.org/multipage/infrastructure.html#dom-htmlformcontrolscollection-nameditem\\n * @nosideeffects\\n * @override\\n * @suppress {newCheckTypes}\\n */\\nHTMLFormControlsCollection.prototype.namedItem = function(name) {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40002357\\n */\\nfunction HTMLFormElement() {}\\n\\n/**\\n * @type {!HTMLFormControlsCollection<!HTMLElement>}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-76728479\\n */\\nHTMLFormElement.prototype.elements;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#HTML-HTMLFormElement-length\\n */\\nHTMLFormElement.prototype.length;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-22051454\\n */\\nHTMLFormElement.prototype.name;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-19661795\\n */\\nHTMLFormElement.prototype.acceptCharset;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-74049184\\n */\\nHTMLFormElement.prototype.action;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-84227810\\n */\\nHTMLFormElement.prototype.enctype;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-82545539\\n */\\nHTMLFormElement.prototype.method;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6512890\\n */\\nHTMLFormElement.prototype.target;\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-76767676\\n */\\nHTMLFormElement.prototype.submit = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-76767677\\n */\\nHTMLFormElement.prototype.reset = function() {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-94282980\\n */\\nfunction HTMLSelectElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58783172\\n */\\nHTMLSelectElement.prototype.type;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-85676760\\n */\\nHTMLSelectElement.prototype.selectedIndex;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-59351919\\n */\\nHTMLSelectElement.prototype.value;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-5933486\\n */\\nHTMLSelectElement.prototype.length;\\n\\n/**\\n * @type {HTMLFormElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-20489458\\n */\\nHTMLSelectElement.prototype.form;\\n\\n/**\\n * @type {!HTMLOptionsCollection}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-30606413\\n */\\nHTMLSelectElement.prototype.options;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79102918\\n */\\nHTMLSelectElement.prototype.disabled;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-13246613\\n */\\nHTMLSelectElement.prototype.multiple;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-41636323\\n */\\nHTMLSelectElement.prototype.name;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-18293826\\n */\\nHTMLSelectElement.prototype.size;\\n\\n/**\\n * @param {HTMLElement} element\\n * @param {HTMLElement=} opt_before\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-14493106\\n */\\nHTMLSelectElement.prototype.add = function(element, opt_before) {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-28216144\\n * @override\\n */\\nHTMLSelectElement.prototype.blur = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-32130014\\n * @override\\n */\\nHTMLSelectElement.prototype.focus = function() {};\\n\\n/**\\n * @param {number=} opt_index\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-33404570\\n * @override\\n */\\nHTMLSelectElement.prototype.remove = function(opt_index) {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-38450247\\n */\\nfunction HTMLOptGroupElement() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-15518803\\n */\\nHTMLOptGroupElement.prototype.disabled;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-95806054\\n */\\nHTMLOptGroupElement.prototype.label;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70901257\\n */\\nfunction HTMLOptionElement() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-37770574\\n */\\nHTMLOptionElement.prototype.defaultSelected;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-23482473\\n */\\nHTMLOptionElement.prototype.disabled;\\n\\n/**\\n * @type {HTMLFormElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-17116503\\n */\\nHTMLOptionElement.prototype.form;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-14038413\\n */\\nHTMLOptionElement.prototype.index;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40736115\\n */\\nHTMLOptionElement.prototype.label;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70874476\\n */\\nHTMLOptionElement.prototype.selected;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-48154426\\n */\\nHTMLOptionElement.prototype.text;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6185554\\n */\\nHTMLOptionElement.prototype.value;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6043025\\n */\\nfunction HTMLInputElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-15328520\\n */\\nHTMLInputElement.prototype.accept;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-59914154\\n */\\nHTMLInputElement.prototype.accessKey;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96991182\\n */\\nHTMLInputElement.prototype.align;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-92701314\\n */\\nHTMLInputElement.prototype.alt;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-30233917\\n */\\nHTMLInputElement.prototype.checked;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-20509171\\n */\\nHTMLInputElement.prototype.defaultChecked;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-26091157\\n */\\nHTMLInputElement.prototype.defaultValue;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-50886781\\n */\\nHTMLInputElement.prototype.disabled;\\n\\n/**\\n * @type {HTMLFormElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-63239895\\n */\\nHTMLInputElement.prototype.form;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-54719353\\n */\\nHTMLInputElement.prototype.maxLength;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-89658498\\n */\\nHTMLInputElement.prototype.name;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-88461592\\n */\\nHTMLInputElement.prototype.readOnly;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79659438\\n */\\nHTMLInputElement.prototype.size;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-97320704\\n */\\nHTMLInputElement.prototype.src;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-62176355\\n */\\nHTMLInputElement.prototype.tabIndex;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-62883744\\n */\\nHTMLInputElement.prototype.type;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-32463706\\n */\\nHTMLInputElement.prototype.useMap;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-49531485\\n */\\nHTMLInputElement.prototype.value;\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-26838235\\n * @override\\n */\\nHTMLInputElement.prototype.blur = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-2651361\\n * @override\\n */\\nHTMLInputElement.prototype.click = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-65996295\\n * @override\\n */\\nHTMLInputElement.prototype.focus = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-34677168\\n */\\nHTMLInputElement.prototype.select = function() {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-24874179\\n */\\nfunction HTMLTextAreaElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-93102991\\n */\\nHTMLTextAreaElement.prototype.accessKey;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-51387225\\n */\\nHTMLTextAreaElement.prototype.cols;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-36152213\\n */\\nHTMLTextAreaElement.prototype.defaultValue;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-98725443\\n */\\nHTMLTextAreaElement.prototype.disabled;\\n\\n/**\\n * @type {HTMLFormElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-18911464\\n */\\nHTMLTextAreaElement.prototype.form;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70715578\\n */\\nHTMLTextAreaElement.prototype.name;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-39131423\\n */\\nHTMLTextAreaElement.prototype.readOnly;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-46975887\\n */\\nHTMLTextAreaElement.prototype.rows;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-60363303\\n */\\nHTMLTextAreaElement.prototype.tabIndex;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#HTML-HTMLTextAreaElement-type\\n */\\nHTMLTextAreaElement.prototype.type;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70715579\\n */\\nHTMLTextAreaElement.prototype.value;\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6750689\\n * @override\\n */\\nHTMLTextAreaElement.prototype.blur = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-39055426\\n * @override\\n */\\nHTMLTextAreaElement.prototype.focus = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-48880622\\n */\\nHTMLTextAreaElement.prototype.select = function() {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-34812697\\n */\\nfunction HTMLButtonElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-73169431\\n */\\nHTMLButtonElement.prototype.accessKey;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-92757155\\n */\\nHTMLButtonElement.prototype.disabled;\\n\\n/**\\n * @type {HTMLFormElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-71254493\\n */\\nHTMLButtonElement.prototype.form;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-11029910\\n */\\nHTMLButtonElement.prototype.name;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-39190908\\n */\\nHTMLButtonElement.prototype.tabIndex;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-27430092\\n */\\nHTMLButtonElement.prototype.type;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-72856782\\n */\\nHTMLButtonElement.prototype.value;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-13691394\\n */\\nfunction HTMLLabelElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-43589892\\n */\\nHTMLLabelElement.prototype.accessKey;\\n\\n/**\\n * @type {HTMLFormElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-32480901\\n */\\nHTMLLabelElement.prototype.form;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96509813\\n */\\nHTMLLabelElement.prototype.htmlFor;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-7365882\\n */\\nfunction HTMLFieldSetElement() {}\\n\\n/**\\n * @type {HTMLFormElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75392630\\n */\\nHTMLFieldSetElement.prototype.form;\\n\\n/**\\n * @type {boolean}\\n * @see https://www.w3.org/TR/html5/forms.html#attr-fieldset-disabled\\n */\\nHTMLFieldSetElement.prototype.disabled;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-21482039\\n */\\nfunction HTMLLegendElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-11297832\\n */\\nHTMLLegendElement.prototype.accessKey;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79538067\\n */\\nHTMLLegendElement.prototype.align;\\n\\n/**\\n * @type {HTMLFormElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-29594519\\n */\\nHTMLLegendElement.prototype.form;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID";
a.a+="-86834457\\n */\\nfunction HTMLUListElement() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-39864178\\n */\\nHTMLUListElement.prototype.compact;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96874670\\n */\\nHTMLUListElement.prototype.type;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58056027\\n */\\nfunction HTMLOListElement() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-76448506\\n */\\nHTMLOListElement.prototype.compact;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-14793325\\n */\\nHTMLOListElement.prototype.start;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40971103\\n */\\nHTMLOListElement.prototype.type;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-52368974\\n */\\nfunction HTMLDListElement() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-21738539\\n */\\nHTMLDListElement.prototype.compact;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-71600284\\n */\\nfunction HTMLDirectoryElement() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75317739\\n */\\nHTMLDirectoryElement.prototype.compact;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-72509186\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#the-menu-element\\n */\\nfunction HTMLMenuElement() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-68436464\\n */\\nHTMLMenuElement.prototype.compact;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-74680021\\n */\\nfunction HTMLLIElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-52387668\\n */\\nHTMLLIElement.prototype.type;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-45496263\\n */\\nHTMLLIElement.prototype.value;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-22445964\\n */\\nfunction HTMLDivElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70908791\\n */\\nHTMLDivElement.prototype.align;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-84675076\\n */\\nfunction HTMLParagraphElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-53465507\\n */\\nHTMLParagraphElement.prototype.align;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-43345119\\n */\\nfunction HTMLHeadingElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6796462\\n */\\nHTMLHeadingElement.prototype.align;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70319763\\n */\\nfunction HTMLQuoteElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-53895598\\n */\\nHTMLQuoteElement.prototype.cite;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-11383425\\n */\\nfunction HTMLPreElement() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-13894083\\n */\\nHTMLPreElement.prototype.width;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-56836063\\n */\\nfunction HTMLBRElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-82703081\\n */\\nHTMLBRElement.prototype.clear;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-32774408\\n */\\nfunction HTMLBaseFontElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87502302\\n */\\nHTMLBaseFontElement.prototype.color;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-88128969\\n */\\nHTMLBaseFontElement.prototype.face;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-38930424\\n */\\nHTMLBaseFontElement.prototype.size;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-43943847\\n */\\nfunction HTMLFontElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-53532975\\n */\\nHTMLFontElement.prototype.color;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-55715655\\n */\\nHTMLFontElement.prototype.face;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-90127284\\n */\\nHTMLFontElement.prototype.size;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-68228811\\n */\\nfunction HTMLHRElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-15235012\\n */\\nHTMLHRElement.prototype.align;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79813978\\n */\\nHTMLHRElement.prototype.noShade;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77612587\\n */\\nHTMLHRElement.prototype.size;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87744198\\n */\\nHTMLHRElement.prototype.width;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79359609\\n */\\nfunction HTMLModElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75101708\\n */\\nHTMLModElement.prototype.cite;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-88432678\\n */\\nHTMLModElement.prototype.dateTime;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-48250443\\n */\\nfunction HTMLAnchorElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-89647724\\n */\\nHTMLAnchorElement.prototype.accessKey;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-67619266\\n */\\nHTMLAnchorElement.prototype.charset;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-92079539\\n */\\nHTMLAnchorElement.prototype.coords;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-88517319\\n */\\nHTMLAnchorElement.prototype.href;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87358513\\n */\\nHTMLAnchorElement.prototype.hreflang;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-32783304\\n */\\nHTMLAnchorElement.prototype.name;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-3815891\\n */\\nHTMLAnchorElement.prototype.rel;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58259771\\n */\\nHTMLAnchorElement.prototype.rev;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-49899808\\n */\\nHTMLAnchorElement.prototype.shape;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-41586466\\n */\\nHTMLAnchorElement.prototype.tabIndex;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6414197\\n */\\nHTMLAnchorElement.prototype.target;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-63938221\\n */\\nHTMLAnchorElement.prototype.type;\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-65068939\\n * @override\\n */\\nHTMLAnchorElement.prototype.blur = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-47150313\\n * @override\\n */\\nHTMLAnchorElement.prototype.focus = function() {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-17701901\\n */\\nfunction HTMLImageElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-3211094\\n */\\nHTMLImageElement.prototype.align;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-95636861\\n */\\nHTMLImageElement.prototype.alt;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-136671\\n */\\nHTMLImageElement.prototype.border;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-91561496\\n */\\nHTMLImageElement.prototype.height;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-53675471\\n */\\nHTMLImageElement.prototype.hspace;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58983880\\n */\\nHTMLImageElement.prototype.isMap;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77376969\\n */\\nHTMLImageElement.prototype.longDesc;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-91256910\\n */\\nHTMLImageElement.prototype.lowSrc;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-47534097\\n */\\nHTMLImageElement.prototype.name;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87762984\\n */\\nHTMLImageElement.prototype.src;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-35981181\\n */\\nHTMLImageElement.prototype.useMap;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-85374897\\n */\\nHTMLImageElement.prototype.vspace;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-13839076\\n */\\nHTMLImageElement.prototype.width;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-9893177\\n */\\nfunction HTMLObjectElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-16962097\\n */\\nHTMLObjectElement.prototype.align;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-47783837\\n */\\nHTMLObjectElement.prototype.archive;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-82818419\\n */\\nHTMLObjectElement.prototype.border;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75241146\\n */\\nHTMLObjectElement.prototype.code;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-25709136\\n */\\nHTMLObjectElement.prototype.codeBase;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-19945008\\n */\\nHTMLObjectElement.prototype.codeType;\\n\\n/**\\n * @type {Document}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-38538621\\n */\\nHTMLObjectElement.prototype.contentDocument;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-81766986\\n */\\nHTMLObjectElement.prototype.data;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-942770\\n */\\nHTMLObjectElement.prototype.declare;\\n\\n/**\\n * @type {HTMLFormElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-46094773\\n */\\nHTMLObjectElement.prototype.form;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-88925838\\n */\\nHTMLObjectElement.prototype.height;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-17085376\\n */\\nHTMLObjectElement.prototype.hspace;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-20110362\\n */\\nHTMLObjectElement.prototype.name;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-25039673\\n */\\nHTMLObjectElement.prototype.standby;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-27083787\\n */\\nHTMLObjectElement.prototype.tabIndex;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-91665621\\n */\\nHTMLObjectElement.prototype.type;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6649772\\n */\\nHTMLObjectElement.prototype.useMap;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-8682483\\n */\\nHTMLObjectElement.prototype.vspace;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-38538620\\n */\\nHTMLObjectElement.prototype.width;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-64077273\\n */\\nfunction HTMLParamElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-59871447\\n */\\nHTMLParamElement.prototype.name;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-18179888\\n */\\nHTMLParamElement.prototype.type;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77971357\\n */\\nHTMLParamElement.prototype.value;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-23931872\\n */\\nHTMLParamElement.prototype.valueType;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-31006348\\n */\\nfunction HTMLAppletElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-8049912\\n */\\nHTMLAppletElement.prototype.align;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58610064\\n */\\nHTMLAppletElement.prototype.alt;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-14476360\\n */\\nHTMLAppletElement.prototype.archive;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-61509645\\n */\\nHTMLAppletElement.prototype.code;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6581160\\n */\\nHTMLAppletElement.prototype.codeBase;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-90184867\\n */\\nHTMLAppletElement.prototype.height;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-1567197\\n */\\nHTMLAppletElement.prototype.hspace;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-39843695\\n */\\nHTMLAppletEleme";
a.a+="nt.prototype.name;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-93681523\\n */\\nHTMLAppletElement.prototype.object;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-22637173\\n */\\nHTMLAppletElement.prototype.vspace;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-16526327\\n */\\nHTMLAppletElement.prototype.width;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-94109203\\n */\\nfunction HTMLMapElement() {}\\n\\n/**\\n * @type {HTMLCollection<!HTMLAreaElement>}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-71838730\\n */\\nHTMLMapElement.prototype.areas;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-52696514\\n */\\nHTMLMapElement.prototype.name;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-26019118\\n */\\nfunction HTMLAreaElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-57944457\\n */\\nHTMLAreaElement.prototype.accessKey;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-39775416\\n */\\nHTMLAreaElement.prototype.alt;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-66021476\\n */\\nHTMLAreaElement.prototype.coords;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-34672936\\n */\\nHTMLAreaElement.prototype.href;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-61826871\\n */\\nHTMLAreaElement.prototype.noHref;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-85683271\\n */\\nHTMLAreaElement.prototype.shape;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-8722121\\n */\\nHTMLAreaElement.prototype.tabIndex;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-46054682\\n */\\nHTMLAreaElement.prototype.target;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-81598695\\n */\\nfunction HTMLScriptElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-35305677\\n */\\nHTMLScriptElement.prototype.charset;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-93788534\\n */\\nHTMLScriptElement.prototype.defer;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-56700403\\n */\\nHTMLScriptElement.prototype.event;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-66979266\\n */\\nHTMLScriptElement.prototype.htmlFor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75147231\\n */\\nHTMLScriptElement.prototype.src;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-46872999\\n */\\nHTMLScriptElement.prototype.text;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-30534818\\n */\\nHTMLScriptElement.prototype.type;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-64060425\\n */\\nfunction HTMLTableElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-23180977\\n */\\nHTMLTableElement.prototype.align;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-83532985\\n */\\nHTMLTableElement.prototype.bgColor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-50969400\\n */\\nHTMLTableElement.prototype.border;\\n\\n/**\\n * @type {HTMLTableCaptionElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-14594520\\n */\\nHTMLTableElement.prototype.caption;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-59162158\\n */\\nHTMLTableElement.prototype.cellPadding;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-68907883\\n */\\nHTMLTableElement.prototype.cellSpacing;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-64808476\\n */\\nHTMLTableElement.prototype.frame;\\n\\n/**\\n * @type {HTMLCollection<!HTMLTableRowElement>}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6156016\\n */\\nHTMLTableElement.prototype.rows;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-26347553\\n */\\nHTMLTableElement.prototype.rules;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-44998528\\n */\\nHTMLTableElement.prototype.summary;\\n\\n/**\\n * @type {HTMLCollection<!HTMLTableSectionElement>}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-63206416\\n */\\nHTMLTableElement.prototype.tBodies;\\n\\n/**\\n * @type {HTMLTableSectionElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-64197097\\n */\\nHTMLTableElement.prototype.tFoot;\\n\\n/**\\n * @type {HTMLTableSectionElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-9530944\\n */\\nHTMLTableElement.prototype.tHead;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77447361\\n */\\nHTMLTableElement.prototype.width;\\n\\n/**\\n * @return {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96920263\\n */\\nHTMLTableElement.prototype.createCaption = function() {};\\n\\n/**\\n * @return {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-8453710\\n */\\nHTMLTableElement.prototype.createTFoot = function() {};\\n\\n/**\\n * @return {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70313345\\n */\\nHTMLTableElement.prototype.createTHead = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-22930071\\n */\\nHTMLTableElement.prototype.deleteCaption = function() {};\\n\\n/**\\n * @param {number} index\\n * @return {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-13114938\\n */\\nHTMLTableElement.prototype.deleteRow = function(index) {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-78363258\\n */\\nHTMLTableElement.prototype.deleteTFoot = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-38310198\\n */\\nHTMLTableElement.prototype.deleteTHead = function() {};\\n\\n/**\\n * @param {number=} opt_index\\n * @return {HTMLElement}\\n * @see https://www.w3.org/TR/html5/tabular-data.html#htmltableelement\\n */\\nHTMLTableElement.prototype.insertRow = function(opt_index) {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-12035137\\n */\\nfunction HTMLTableCaptionElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79875068\\n */\\nHTMLTableCaptionElement.prototype.align;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-84150186\\n */\\nfunction HTMLTableColElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-31128447\\n */\\nHTMLTableColElement.prototype.align;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-9447412\\n */\\nHTMLTableColElement.prototype.ch;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-57779225\\n */\\nHTMLTableColElement.prototype.chOff;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96511335\\n */\\nHTMLTableColElement.prototype.span;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-83291710\\n */\\nHTMLTableColElement.prototype.vAlign;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-25196799\\n */\\nHTMLTableColElement.prototype.width;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-67417573\\n */\\nfunction HTMLTableSectionElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40530119\\n */\\nHTMLTableSectionElement.prototype.align;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-83470012\\n */\\nHTMLTableSectionElement.prototype.ch;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-53459732\\n */\\nHTMLTableSectionElement.prototype.chOff;\\n\\n/**\\n * @type {HTMLCollection<!HTMLTableRowElement>}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-52092650\\n */\\nHTMLTableSectionElement.prototype.rows;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-4379116\\n */\\nHTMLTableSectionElement.prototype.vAlign;\\n\\n/**\\n * @param {number} index\\n * @return {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-5625626\\n */\\nHTMLTableSectionElement.prototype.deleteRow = function(index) {};\\n\\n/**\\n * @param {number=} opt_index\\n * @return {HTMLElement}\\n * @see https://www.w3.org/TR/html5/tabular-data.html#htmltablesectionelement\\n */\\nHTMLTableSectionElement.prototype.insertRow = function(opt_index) {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6986576\\n */\\nfunction HTMLTableRowElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-74098257\\n */\\nHTMLTableRowElement.prototype.align;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-18161327\\n */\\nHTMLTableRowElement.prototype.bgColor;\\n\\n/**\\n * @type {HTMLCollection<!HTMLTableCellElement>}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-67349879\\n */\\nHTMLTableRowElement.prototype.cells;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-16230502\\n */\\nHTMLTableRowElement.prototype.ch;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-68207461\\n */\\nHTMLTableRowElement.prototype.chOff;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-67347567\\n */\\nHTMLTableRowElement.prototype.rowIndex;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79105901\\n */\\nHTMLTableRowElement.prototype.sectionRowIndex;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-90000058\\n */\\nHTMLTableRowElement.prototype.vAlign;\\n\\n/**\\n * @param {number} index\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-11738598\\n */\\nHTMLTableRowElement.prototype.deleteCell = function(index) {};\\n\\n/**\\n * @param {number} index\\n * @return {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-68927016\\n */\\nHTMLTableRowElement.prototype.insertCell = function(index) {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-82915075\\n */\\nfunction HTMLTableCellElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-74444037\\n */\\nHTMLTableCellElement.prototype.abbr;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-98433879\\n */\\nHTMLTableCellElement.prototype.align;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-76554418\\n */\\nHTMLTableCellElement.prototype.axis;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-88135431\\n */\\nHTMLTableCellElement.prototype.bgColor;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-80748363\\n */\\nHTMLTableCellElement.prototype.cellIndex;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-30914780\\n */\\nHTMLTableCellElement.prototype.ch;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-20144310\\n */\\nHTMLTableCellElement.prototype.chOff;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-84645244\\n */\\nHTMLTableCellElement.prototype.colSpan;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-89104817\\n */\\nHTMLTableCellElement.prototype.headers;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-83679212\\n */\\nHTMLTableCellElement.prototype.height;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-62922045\\n */\\nHTMLTableCellElement.prototype.noWrap;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-48237625\\n */\\nHTMLTableCellElement.prototype.rowSpan;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-36139952\\n */\\nHTMLTableCellElement.prototype.scope;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58284221\\n */\\nHTMLTableCellElement.prototype.vAlign;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-27480795\\n */\\nHTMLTableCellElement.prototype.width;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-43829095\\n */\\nfunction HTMLFrameSetElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-98869594\\n */\\nHTMLFrameSetElement.prototype.cols;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-19739247\\n */\\nHTMLFrameSetElement.prototype.rows;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-97790553\\n */\\nfunction HTMLFrameElement() {}\\n\\n/**\\n * @type {Document}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-78799536\\n */\\nHTMLFrameElement.prototype.contentDocument;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-11858633\\n */\\nHTMLFrameElement.prototype.frameBorder;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-7836998\\n */\\nHTMLFrameElement.prototype.longDesc;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-55569778\\n */\\nHTMLFrameElement.prototype.marginHeight;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-8369969\\n */\\nHTMLFrameElement.prototype.marginWidth;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-91128709\\n */\\nHTMLFrameElement.prototype.name;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-80766578\\n */\\nHTMLFrameElement.prototype.noResize;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-45411424\\n */\\nHTMLFrameElement.prototype.scrolling;\\n\\n/**\\n * @type {string}\\n * @see http";
a.a+='://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-78799535\\n */\\nHTMLFrameElement.prototype.src;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-50708718\\n */\\nfunction HTMLIFrameElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-11309947\\n */\\nHTMLIFrameElement.prototype.align;\\n\\n/**\\n * @type {Document}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-67133006\\n */\\nHTMLIFrameElement.prototype.contentDocument;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-22463410\\n */\\nHTMLIFrameElement.prototype.frameBorder;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-1678118\\n */\\nHTMLIFrameElement.prototype.height;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70472105\\n */\\nHTMLIFrameElement.prototype.longDesc;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-91371294\\n */\\nHTMLIFrameElement.prototype.marginHeight;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-66486595\\n */\\nHTMLIFrameElement.prototype.marginWidth;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96819659\\n */\\nHTMLIFrameElement.prototype.name;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-36369822\\n */\\nHTMLIFrameElement.prototype.scrolling;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-43933957\\n */\\nHTMLIFrameElement.prototype.src;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-67133005\\n */\\nHTMLIFrameElement.prototype.width;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-258A00AF\\n */\\nDOMException.INVALID_STATE_ERR = 11;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-258A00AF\\n */\\nDOMException.SYNTAX_ERR = 12;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-258A00AF\\n */\\nDOMException.INVALID_MODIFICATION_ERR = 13;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-258A00AF\\n */\\nDOMException.NAMESPACE_ERR = 14;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-258A00AF\\n */\\nDOMException.INVALID_ACCESS_ERR = 15;\\n","externs/w3c_dom3.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s DOM Level 3 specification.\\n *  This file depends on w3c_dom2.js.\\n *  The whole file has been fully type annotated.\\n *  Created from\\n *   http://www.w3.org/TR/DOM-Level-3-Core/ecma-script-binding.html\\n *\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n * @author stevey@google.com (Steve Yegge)\\n */\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-258A00AF\\n */\\nDOMException.prototype.code;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-258A00AF\\n */\\nDOMException.VALIDATION_ERR = 16;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-258A00AF\\n */\\nDOMException.TYPE_MISMATCH_ERR = 17;\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike<string>}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMStringList\\n */\\nfunction DOMStringList() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMStringList-length\\n */\\nDOMStringList.prototype.length;\\n\\n/**\\n * @param {string} str\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMStringList-contains\\n * @nosideeffects\\n */\\nDOMStringList.prototype.contains = function(str) {};\\n\\n/**\\n * @param {number} index\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMStringList-item\\n * @nosideeffects\\n */\\nDOMStringList.prototype.item = function(index) {};\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike<string>}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#NameList\\n */\\nfunction NameList() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#NameList-length\\n */\\nNameList.prototype.length;\\n\\n/**\\n * @param {string} str\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#NameList-contains\\n * @nosideeffects\\n */\\nNameList.prototype.contains = function(str) {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} name\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#NameList-containsNS\\n * @nosideeffects\\n */\\nNameList.prototype.containsNS = function(namespaceURI, name) {};\\n\\n/**\\n * @param {number} index\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#NameList-getName\\n * @nosideeffects\\n */\\nNameList.prototype.getName = function(index) {};\\n\\n/**\\n * @param {number} index\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#NameList-getNamespaceURI\\n * @nosideeffects\\n */\\nNameList.prototype.getNamespaceURI = function(index) {};\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike<!DOMImplementation>}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMImplementationList\\n */\\nfunction DOMImplementationList() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMImplementationList-length\\n */\\nDOMImplementationList.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {DOMImplementation}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMImplementationList-item\\n * @nosideeffects\\n */\\nDOMImplementationList.prototype.item = function(index) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMImplementationSource\\n */\\nfunction DOMImplementationSource() {}\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} publicId\\n * @param {DocumentType} doctype\\n * @return {Document}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Level-2-Core-DOM-createDocument\\n * @nosideeffects\\n */\\nDOMImplementation.prototype.createDocument = function(namespaceURI, publicId, doctype) {};\\n\\n/**\\n * @param {string} qualifiedName\\n * @param {string} publicId\\n * @param {string} systemId\\n * @return {DocumentType}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Level-2-Core-DOM-createDocType\\n * @nosideeffects\\n */\\nDOMImplementation.prototype.createDocumentType = function(qualifiedName, publicId, systemId) {};\\n\\n/**\\n * @param {string} features\\n * @return {DOMImplementation}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-getDOMImpl\\n * @nosideeffects\\n */\\nDOMImplementationSource.prototype.getDOMImplementation = function(features) {};\\n\\n/**\\n * @param {string} features\\n * @return {DOMImplementationList}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-getDOMImpls\\n * @nosideeffects\\n */\\nDOMImplementationSource.prototype.getDOMImplementationList = function(features) {};\\n\\n/**\\n * @param {string} feature\\n * @param {string} version\\n * @return {Object}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMImplementation3-getFeature\\n * @nosideeffects\\n */\\nDOMImplementation.prototype.getFeature = function(feature, version) {};\\n\\n/**\\n * @param {Node} externalNode\\n * @return {Node}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-adoptNode\\n */\\nDocument.prototype.adoptNode = function(externalNode) {};\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-documentURI\\n */\\nDocument.prototype.documentURI;\\n\\n/**\\n * @type {DOMConfiguration}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-domConfig\\n */\\nDocument.prototype.domConfig;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-inputEncoding\\n */\\nDocument.prototype.inputEncoding;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-strictErrorChecking\\n */\\nDocument.prototype.strictErrorChecking;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-encoding\\n */\\nDocument.prototype.xmlEncoding;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-standalone\\n */\\nDocument.prototype.xmlStandalone;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-version\\n */\\nDocument.prototype.xmlVersion;\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-normalizeDocument\\n */\\nDocument.prototype.normalizeDocument = function() {};\\n\\n/**\\n * @param {Node} n\\n * @param {?string} namespaceURI\\n * @param {string} qualifiedName\\n * @return {Node}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-renameNode\\n */\\nDocument.prototype.renameNode = function(n, namespaceURI, qualifiedName) {};\\n\\n/**\\n * @type {?string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-baseURI\\n */\\nNode.prototype.baseURI;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-NodeNSLocalN\\n */\\nNode.prototype.localName;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-NodeNSname\\n */\\nNode.prototype.namespaceURI;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-NodeNSPrefix\\n */\\nNode.prototype.prefix;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-textContent\\n */\\nNode.prototype.textContent;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node-DOCUMENT_POSITION_DISCONNECTED\\n */\\nNode.DOCUMENT_POSITION_DISCONNECTED = 0x01;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node-DOCUMENT_POSITION_PRECEDING\\n */\\nNode.DOCUMENT_POSITION_PRECEDING    = 0x02;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node-DOCUMENT_POSITION_FOLLOWING\\n */\\nNode.DOCUMENT_POSITION_FOLLOWING    = 0x04;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node-DOCUMENT_POSITION_CONTAINS\\n */\\nNode.DOCUMENT_POSITION_CONTAINS     = 0x08;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node-DOCUMENT_POSITION_CONTAINED_BY\\n */\\nNode.DOCUMENT_POSITION_CONTAINED_BY = 0x10;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node-DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC\\n */\\nNode.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = 0x20;\\n\\n/**\\n * @param {Node} other\\n * @return {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-compareDocumentPosition\\n * @nosideeffects\\n */\\nNode.prototype.compareDocumentPosition = function(other) {};\\n\\n/**\\n * @param {string} feature\\n * @param {string} version\\n * @return {Object}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-getFeature\\n * @nosideeffects\\n */\\nNode.prototype.getFeature = function(feature, version) {};\\n\\n/**\\n * @param {string} key\\n * @return {Object}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-getUserData\\n * @nosideeffects\\n */\\nNode.prototype.getUserData = function(key) {};\\n\\n/**\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-NodeHasAttrs\\n * @nosideeffects\\n */\\nNode.prototype.hasAttributes = function() {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-isDefaultNamespace\\n * @nosideeffects\\n */\\nNode.prototype.isDefaultNamespace = function(namespaceURI) {};\\n\\n/**\\n * @param {Node} arg\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-isEqualNode\\n * @nosideeffects\\n */\\nNode.prototype.isEqualNode = function(arg) {};\\n\\n/**\\n * @param {Node} other\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-isSameNode\\n * @nosideeffects\\n */\\nNode.prototype.isSameNode = function(other) {};\\n\\n/**\\n * @param {string} feature\\n * @param {string} version\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Level-2-Core-Node-supports\\n * @nosideeffects\\n */\\nNode.prototype.isSupported = function(feature, version) {};\\n\\n/**\\n * @param {string} prefix\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-lookupNamespaceURI\\n * @nosideeffects\\n */\\nNode.prototype.lookupNamespaceURI = function(prefix) {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-lookupNamespacePrefix\\n * @nosideeffects\\n */\\nNode.prototype.lookupPrefix = function(namespaceURI) {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-normalize\\n */\\nNode.prototype.normalize = function() {};\\n\\n/**\\n * @param {Object} key\\n * @param {Object} data\\n * @param {UserDataHandler} handler\\n * @return {Object}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-setUserData\'\\n */\\nNode.prototype.setUserData = function(key, data, handler) {};\\n\\n/**\\n * @param {string} query\\n * @return {?Element}\\n * @see http://www.w3.org/TR/selectors-api/#queryselector\\n * @nosideeffects\\n */\\nNode.prototype.querySelector = function(query) {};\\n\\n/**\\n * @param {string} query\\n * @return {!NodeList<!Element>}\\n * @see http://www.w3.org/TR/selectors-api/#queryselectorall\\n * @nosideeffects\\n */\\nNode.prototype.querySelectorAll = function(query) {};\\n\\n/**\\n * @type {Element}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Attr-ownerElement\\n */\\nAttr.prototype.ownerElement;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Attr-isId\\n */\\nAttr.prototype.isId;\\n\\n/**\\n * @type {TypeInfo}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Attr-schemaTypeInfo\\n */\\nAttr.prototype.schemaTypeInfo;\\n\\n/**\\n * @type {TypeInfo}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Element-schemaTypeInfo\\n */\\nElement.prototype.schemaTypeInfo;\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} localName\\n * @return {Attr}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElGetAtNodeNS\\n * @nosideeffects\\n */\\nElement.prototype.getAttributeNodeNS = function(namespaceURI, localName) {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} localName\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElGetAttrNS\\n * @nosideeffects\\n */\\nElement.prototype.getAttributeNS = function(namespaceURI, localName) {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} localName\\n * @return {!NodeList<!Element>}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-A6C90942\\n * @nosideeffects\\n */\\nElement.prototype.getElementsByTagNameNS = function(namespaceURI, localName) {};\\n\\n/**\\n * @param {string} name\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElHasAttr\\n * @nosideeffects\\n */\\nElement.prototype.hasAttribute = function(name) {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} localName\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElHasAttrNS\\n * @nosideeffects\\n */\\nElement.prototype.hasAttributeNS = function(namespaceURI, localName) {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} localName\\n * @re';
a.a+='turn {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElRemAtNS\\n */\\nElement.prototype.removeAttributeNS = function(namespaceURI, localName) {};\\n\\n/**\\n * @param {Attr} newAttr\\n * @return {Attr}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElSetAtNodeNS\\n */\\nElement.prototype.setAttributeNodeNS = function(newAttr) {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} qualifiedName\\n * @param {string|number|boolean} value Values are converted to strings with\\n *     ToString, so we accept number and boolean since both convert easily to\\n *     strings.\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElSetAttrNS\\n */\\nElement.prototype.setAttributeNS = function(namespaceURI, qualifiedName, value) {};\\n\\n/**\\n * @param {string} name\\n * @param {boolean} isId\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElSetIdAttr\\n */\\nElement.prototype.setIdAttribute = function(name, isId) {};\\n\\n/**\\n * @param {Attr} idAttr\\n * @param {boolean} isId\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElSetIdAttrNode\\n */\\nElement.prototype.setIdAttributeNode = function(idAttr, isId) {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} localName\\n * @param {boolean} isId\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElSetIdAttrNS\\n */\\nElement.prototype.setIdAttributeNS = function(namespaceURI, localName, isId) {};\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Text3-wholeText\\n */\\nText.prototype.wholeText;\\n\\n/**\\n * @param {string} newText\\n * @return {Text}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Text3-replaceWholeText\\n */\\nText.prototype.replaceWholeText = function(newText) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfo\\n */\\nfunction TypeInfo() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfo-DERIVATION_EXTENSION\\n */\\nTypeInfo.prototype.DERIVATION_EXTENSION;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfo-DERIVATION_LIST\\n */\\nTypeInfo.prototype.DERIVATION_LIST;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfo-DERIVATION_RESTRICTION\\n */\\nTypeInfo.prototype.DERIVATION_RESTRICTION;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfo-DERIVATION_UNION\\n */\\nTypeInfo.prototype.DERIVATION_UNION;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfo-typeName\\n */\\nTypeInfo.prototype.typeName;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfo-typeNamespace\\n */\\nTypeInfo.prototype.typeNamespace;\\n\\n/**\\n * @param {string} typeNamespaceArg\\n * @param {string} typeNameArg\\n * @param {number} derivationMethod\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfo-isDerivedFrom\\n * @nosideeffects\\n */\\nTypeInfo.prototype.isDerivedFrom = function(typeNamespaceArg, typeNameArg, derivationMethod) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#UserDataHandler\\n */\\nfunction UserDataHandler() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#UserDataHandler-CLONED\\n */\\nUserDataHandler.prototype.NODE_CLONED = 1;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#UserDataHandler-IMPORTED\\n */\\nUserDataHandler.prototype.NODE_IMPORTED = 2;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#UserDataHandler-DELETED\\n */\\nUserDataHandler.prototype.NODE_DELETED = 3;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#UserDataHandler-RENAMED\\n */\\nUserDataHandler.prototype.NODE_RENAMED = 4;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#UserDataHandler-ADOPTED\\n */\\nUserDataHandler.prototype.NODE_ADOPTED = 5;\\n\\n/**\\n * @param {number} operation\\n * @param {string} key\\n * @param {*=} opt_data\\n * @param {?Node=} opt_src\\n * @param {?Node=} opt_dst\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-handleUserDataEvent\\n */\\nUserDataHandler.prototype.handle = function(operation, key, opt_data,\\n  opt_src, opt_dst) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-Interfaces-DOMError\\n */\\nfunction DOMError() {}\\n\\n/**\\n * @type {DOMLocator}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-location\\n */\\nDOMError.prototype.location;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-message\\n */\\nDOMError.prototype.message;\\n\\n/**\\n * @type {Object}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-relatedData\\n */\\nDOMError.prototype.relatedData;\\n\\n/**\\n * @type {Object}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-relatedException\\n */\\nDOMError.prototype.relatedException;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-severity-warning\\n */\\nDOMError.SEVERITY_WARNING = 1;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-severity-error\\n */\\nDOMError.SEVERITY_ERROR = 2;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-severity-fatal-error\\n */\\nDOMError.SEVERITY_FATAL_ERROR = 3;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-severity\\n */\\nDOMError.prototype.severity;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-type\\n */\\nDOMError.prototype.type;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/dom/#domerror\\n */\\nDOMError.prototype.name;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-Interfaces-DOMErrorHandler\\n */\\nfunction DOMErrorHandler() {}\\n\\n/**\\n * @param {DOMError} error\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ERRORS-DOMErrorHandler-handleError\\n */\\nDOMErrorHandler.prototype.handleError = function(error) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Interfaces-DOMLocator\\n */\\nfunction DOMLocator() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMLocator-byteOffset\\n */\\nDOMLocator.prototype.byteOffset;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMLocator-column-number\\n */\\nDOMLocator.prototype.columnNumber;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMLocator-line-number\\n */\\nDOMLocator.prototype.lineNumber;\\n\\n/**\\n * @type {Node}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMLocator-node\\n */\\nDOMLocator.prototype.relatedNode;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMLocator-uri\\n */\\nDOMLocator.prototype.uri;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMLocator-utf16Offset\\n */\\nDOMLocator.prototype.utf16Offset;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMConfiguration\\n */\\nfunction DOMConfiguration() {}\\n\\n/**\\n * @type {DOMStringList}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMConfiguration-parameterNames\\n */\\nDOMConfiguration.prototype.parameterNames;\\n\\n/**\\n * @param {string} name\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMConfiguration-canSetParameter\\n * @nosideeffects\\n */\\nDOMConfiguration.prototype.canSetParameter = function(name) {};\\n\\n/**\\n * @param {string} name\\n * @return {*}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMConfiguration-getParameter\\n * @nosideeffects\\n */\\nDOMConfiguration.prototype.getParameter = function(name) {};\\n\\n/**\\n * @param {string} name\\n * @param {*} value\\n * @return {*}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMConfiguration-property\\n */\\nDOMConfiguration.prototype.setParameter = function(name, value) {};\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-Core-DocType-internalSubset\\n */\\nDocumentType.prototype.internalSubset;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-Core-DocType-publicId\\n */\\nDocumentType.prototype.publicId;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-Core-DocType-systemId\\n */\\nDocumentType.prototype.systemId;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Entity3-inputEncoding\\n */\\nEntity.prototype.inputEncoding;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Entity3-encoding\\n */\\nEntity.prototype.xmlEncoding;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Entity3-version\\n */\\nEntity.prototype.xmlVersion;\\n","externs/w3c_dom4.js":"/*\\n * Copyright 2016 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s DOM4 specification. This file depends on\\n * w3c_dom3.js. The whole file has been fully type annotated. Created from\\n * https://www.w3.org/TR/domcore/.\\n *\\n * @externs\\n * @author zhoumotongxue008@gmail.com (Michael Zhou)\\n */\\n\\n/**\\n * @typedef {?(DocumentType|Element|CharacterData)}\\n * @see https://www.w3.org/TR/domcore/#interface-childnode\\n */\\nvar ChildNode;\\n\\n/**\\n * @return {undefined}\\n * @see https://www.w3.org/TR/domcore/#dom-childnode-remove\\n */\\nDocumentType.prototype.remove = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see https://www.w3.org/TR/domcore/#dom-childnode-remove\\n */\\nElement.prototype.remove = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see https://www.w3.org/TR/domcore/#dom-childnode-remove\\n */\\nCharacterData.prototype.remove = function() {};\\n\\n/**\\n * @param {...(!Node|string)} nodes\\n * @return {undefined}\\n * @see https://dom.spec.whatwg.org/#dom-childnode-replacewith\\n */\\nDocumentType.prototype.replaceWith = function(nodes) {};\\n\\n/**\\n * @param {...(!Node|string)} nodes\\n * @return {undefined}\\n * @see https://dom.spec.whatwg.org/#dom-childnode-replacewith\\n */\\nElement.prototype.replaceWith = function(nodes) {};\\n\\n/**\\n * @param {...(!Node|string)} nodes\\n * @return {undefined}\\n * @see https://dom.spec.whatwg.org/#dom-childnode-replacewith\\n */\\nCharacterData.prototype.replaceWith = function(nodes) {};\\n\\n/**\\n * @return {!Array<string>}\\n * @see https://dom.spec.whatwg.org/#dom-element-getattributenames\\n */\\nElement.prototype.getAttributeNames = function() {};\\n","externs/gecko_dom.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for all the extensions over\\n *  W3C\'s DOM specification by Gecko. This file depends on\\n *  w3c_dom2.js.\\n *\\n * When a non-standard extension appears in both Gecko and IE, we put\\n * it in gecko_dom.js\\n *\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n */\\n\\n// TODO: Almost all of it has not been annotated with types.\\n\\n// Gecko DOM;\\n\\n/**\\n * Mozilla only???\\n * @constructor\\n * @extends {HTMLElement}\\n */\\nfunction HTMLSpanElement() {}\\n\\n/**\\n * @see https://developer.mozilla.org/en/Components_object\\n */\\nWindow.prototype.Components;\\n\\n/**\\n * @type {Window}\\n * @see https://developer.mozilla.org/en/DOM/window.content\\n */\\nWindow.prototype.content;\\n\\n/**\\n * @type {boolean}\\n * @see https://developer.mozilla.org/en/DOM/window.closed\\n */\\nWindow.prototype.closed;\\n\\n/** @see https://developer.mozilla.org/en/DOM/window.controllers */\\nWindow.prototype.controllers;\\n\\n/** @see https://developer.mozilla.org/en/DOM/window.crypto */\\nWindow.prototype.crypto;\\n\\n/**\\n * Gets/sets the status bar text for the given window.\\n * @type {string}\\n * @see https://developer.mozilla.org/en/DOM/window.defaultStatus\\n */\\nWindow.prototype.defaultStatus;\\n\\n/** @see https://developer.mozilla.org/en/DOM/window.dialogArguments */\\nWindow.prototype.dialogArguments;\\n\\n/** @see https://developer.mozilla.org/en/DOM/window.directories */\\nWindow.prototype.directories;\\n\\n/**\\n * @type {HTMLObjectElement|HTMLIFrameElement|null}\\n * @see https://developer.mozilla.org/en/DOM/window.frameElement\\n */\\nWindow.prototype.frameElement;\\n\\n/**\\n * Allows lookup of frames by index or by name.\\n * @type {?Object}\\n * @see https://developer.mozilla.org/en/DOM/window.frames\\n */\\nWindow.prototype.frames;\\n\\n/**\\n * @type {boolean}\\n * @see https://developer.mozilla.org/en/DOM/window.fullScreen\\n */\\nWindow.prototype.fullScreen;\\n\\n/**\\n * @return {!Promise<!BatteryManager>}\\n * @see http://www.w3.org/TR/battery-status/\\n */\\nNavigator.prototype.getBattery = function() {};\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/Storage#globalStorage\\n */\\nWindow.prototype.globalStorage;\\n\\n/**\\n * @type {!History}\\n * @suppress {duplicate}\\n * @see https://developer.mozilla.org/en/DOM/window.history\\n */\\nvar history;\\n\\n/**\\n * Returns the number of frames (either frame or iframe elements) in the\\n * window.\\n *\\n * @type {number}\\n * @see https://developer.mozilla.org/en/DOM/window.length\\n */\\nWindow.prototype.length;\\n\\n/**\\n * Location has an exception in the DeclaredGlobalExternsOnWindow pass\\n * so we have to manually include it:\\n * https://github.com/google/closure-compiler/blob/master/src/com/google/javascript/jscomp/DeclaredGlobalExternsOnWindow.java#L116\\n *\\n * @type {!Location}\\n * @implicitCast\\n * @see https://developer.mozilla.org/en/DOM/window.location\\n */\\nWindow.prototype.location;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.locationbar\\n */\\nWindow.prototype.locationbar;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.menubar\\n */\\nWindow.prototype.menubar;\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/DOM/window.name\\n */\\nWindow.prototype.name;\\n\\n/**\\n * @type {Navigator}\\n * @see https://developer.mozilla.org/en/DOM/window.navigator\\n */\\nWindow.prototype.navigator;\\n\\n/**\\n * @type {?Window}\\n * @see https://developer.mozilla.org/en/DOM/window.opener\\n */\\nWindow.prototype.opener;\\n\\n/**\\n * @type {!Window}\\n * @see https://developer.mozilla.org/en/DOM/window.parent\\n */\\nWindow.prototype.parent;\\n\\n/** @see https://developer.mozilla.org/en/DOM/window.personalbar */\\nWindow.prototype.personalbar;\\n\\n/** @see https://developer.mozilla.org/en/DOM/window.pkcs11 */\\nWindow.prototype.pkcs11;\\n\\n/** @see https://developer.mozilla.org/en/DOM/window */\\nWindow.prototype.returnValue;\\n\\n/** @see https://developer.mozilla.org/en/DOM/window.scrollbars */\\nWindow.prototype.scrollbars;\\n\\n/**\\n * @type {number}\\n * @see https://developer.mozilla.org/En/DOM/window.scrollMaxX\\n */\\nWindow.prototype.scrollMaxX;\\n\\n/**\\n * @type {number}\\n * @see https://developer.mozilla.org/En/DOM/window.scrollMaxY\\n */\\nWindow.prototype.scrollMaxY;\\n\\n/**\\n * @type {!Window}\\n * @s';
a.a+="ee https://developer.mozilla.org/en/DOM/window.self\\n */\\nWindow.prototype.self;\\n\\n/** @see https://developer.mozilla.org/en/DOM/Storage#sessionStorage */\\nWindow.prototype.sessionStorage;\\n\\n/** @see https://developer.mozilla.org/en/DOM/window.sidebar */\\nWindow.prototype.sidebar;\\n\\n/**\\n * @type {?string}\\n * @see https://developer.mozilla.org/en/DOM/window.status\\n */\\nWindow.prototype.status;\\n\\n/** @see https://developer.mozilla.org/en/DOM/window.statusbar */\\nWindow.prototype.statusbar;\\n\\n/** @see https://developer.mozilla.org/en/DOM/window.toolbar */\\nWindow.prototype.toolbar;\\n\\n/**\\n * @type {!Window}\\n * @see https://developer.mozilla.org/en/DOM/window.self\\n */\\nWindow.prototype.top;\\n\\n/**\\n * @type {!Window}\\n * @see https://developer.mozilla.org/en/DOM/window.self\\n */\\nWindow.prototype.window;\\n\\n/**\\n * @param {*} message\\n * @see https://developer.mozilla.org/en/DOM/window.alert\\n * @return {undefined}\\n */\\nWindow.prototype.alert = function(message) {};\\n\\n/**\\n * Decodes a string of data which has been encoded using base-64 encoding.\\n *\\n * @param {string} encodedData\\n * @return {string}\\n * @see https://developer.mozilla.org/en/DOM/window.atob\\n * @nosideeffects\\n */\\nfunction atob(encodedData) {}\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.back\\n * @return {undefined}\\n */\\nWindow.prototype.back = function() {};\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.blur\\n * @return {undefined}\\n */\\nWindow.prototype.blur = function() {};\\n\\n/**\\n * @param {string} stringToEncode\\n * @return {string}\\n * @see https://developer.mozilla.org/en/DOM/window.btoa\\n * @nosideeffects\\n */\\nfunction btoa(stringToEncode) {}\\n\\n/** @deprecated */\\nWindow.prototype.captureEvents;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.close\\n * @return {undefined}\\n */\\nWindow.prototype.close = function() {};\\n\\n/**@see https://developer.mozilla.org/en/DOM/window.find */\\nWindow.prototype.find;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.focus\\n * @return {undefined}\\n */\\nWindow.prototype.focus = function() {};\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.forward\\n * @return {undefined}\\n */\\nWindow.prototype.forward = function() {};\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.getAttention\\n * @return {undefined}\\n */\\nWindow.prototype.getAttention = function() {};\\n\\n/**\\n * @return {Selection}\\n * @see https://developer.mozilla.org/en/DOM/window.getSelection\\n * @nosideeffects\\n */\\nWindow.prototype.getSelection = function() {};\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.home\\n * @return {undefined}\\n */\\nWindow.prototype.home = function() {};\\n\\nWindow.prototype.openDialog;\\nWindow.prototype.releaseEvents;\\nWindow.prototype.scrollByLines;\\nWindow.prototype.scrollByPages;\\n\\n/**\\n * @param {string} uri\\n * @param {?=} opt_arguments\\n * @param {string=} opt_options\\n * @see https://developer.mozilla.org/en/DOM/window.showModalDialog\\n */\\nWindow.prototype.showModalDialog;\\n\\nWindow.prototype.sizeToContent;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536769(VS.85).aspx\\n * @return {undefined}\\n */\\nWindow.prototype.stop = function() {};\\n\\nWindow.prototype.updateCommands;\\n\\n// properties of Document\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.alinkColor\\n * @type {string}\\n */\\nDocument.prototype.alinkColor;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.anchors\\n * @type {HTMLCollection<!HTMLAnchorElement>}\\n */\\nDocument.prototype.anchors;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.applets\\n * @type {HTMLCollection<!HTMLAppletElement>}\\n */\\nDocument.prototype.applets;\\n/** @type {boolean} */ Document.prototype.async;\\n/** @type {string?} */ Document.prototype.baseURI;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.bgColor\\n * @type {string}\\n */\\nDocument.prototype.bgColor;\\n\\n/** @type {HTMLBodyElement} */ Document.prototype.body;\\nDocument.prototype.characterSet;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.compatMode\\n * @type {string}\\n */\\nDocument.prototype.compatMode;\\n\\nDocument.prototype.contentType;\\n/** @type {string} */ Document.prototype.cookie;\\n\\n/**\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Document/defaultView\\n * @type {?Window}\\n */\\nDocument.prototype.defaultView;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.designMode\\n * @type {string}\\n */\\nDocument.prototype.designMode;\\n\\nDocument.prototype.documentURIObject;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.domain\\n * @type {string}\\n */\\nDocument.prototype.domain;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.embeds\\n * @type {HTMLCollection<!HTMLEmbedElement>}\\n */\\nDocument.prototype.embeds;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.fgColor\\n * @type {string}\\n */\\nDocument.prototype.fgColor;\\n\\n/** @type {Element} */ Document.prototype.firstChild;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.forms\\n * @type {HTMLCollection<!HTMLFormElement>}\\n */\\nDocument.prototype.forms;\\n\\n/** @type {number} */\\nDocument.prototype.height;\\n\\n/** @type {HTMLCollection<!HTMLImageElement>} */\\nDocument.prototype.images;\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/DOM/document.lastModified\\n */\\nDocument.prototype.lastModified;\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/DOM/document.linkColor\\n */\\nDocument.prototype.linkColor;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.links\\n * @type {HTMLCollection<(!HTMLAreaElement|!HTMLAnchorElement)>}\\n */\\nDocument.prototype.links;\\n\\n/**\\n * @type {!Location}\\n * @implicitCast\\n */\\nDocument.prototype.location;\\n\\nDocument.prototype.namespaceURI;\\nDocument.prototype.nodePrincipal;\\nDocument.prototype.plugins;\\nDocument.prototype.popupNode;\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/DOM/document.referrer\\n */\\nDocument.prototype.referrer;\\n\\n/**\\n * @type {StyleSheetList}\\n * @see https://developer.mozilla.org/en/DOM/document.styleSheets\\n */\\nDocument.prototype.styleSheets;\\n\\n/** @type {?string} */ Document.prototype.title;\\nDocument.prototype.tooltipNode;\\n/** @type {string} */ Document.prototype.URL;\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/DOM/document.vlinkColor\\n */\\nDocument.prototype.vlinkColor;\\n\\n/** @type {number} */ Document.prototype.width;\\n\\n// Methods of Document\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.clear\\n * @return {undefined}\\n */\\nDocument.prototype.clear = function() {};\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.close\\n */\\nDocument.prototype.close;\\n\\n/**\\n * @param {string} type\\n * @return {Event}\\n */\\nDocument.prototype.createEvent = function(type) {};\\nDocument.prototype.createNSResolver;\\n/** @return {Range} */ Document.prototype.createRange = function() {};\\nDocument.prototype.createTreeWalker;\\n\\nDocument.prototype.evaluate;\\n\\n/**\\n * @param {string} commandName\\n * @param {?boolean=} opt_showUi\\n * @param {*=} opt_value\\n * @see https://developer.mozilla.org/en/Rich-Text_Editing_in_Mozilla#Executing_Commands\\n */\\nDocument.prototype.execCommand;\\n\\n/**\\n * @param {string} name\\n * @return {!NodeList<!Element>}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en/DOM/document.getElementsByClassName\\n */\\nDocument.prototype.getElementsByClassName = function(name) {};\\n\\n/**\\n * @param {string} uri\\n * @return {undefined}\\n */\\nDocument.prototype.load = function(uri) {};\\nDocument.prototype.loadOverlay;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.open\\n */\\nDocument.prototype.open;\\n\\n/**\\n * @see https://developer.mozilla.org/en/Midas\\n * @see http://msdn.microsoft.com/en-us/library/ms536676(VS.85).aspx\\n */\\nDocument.prototype.queryCommandEnabled;\\n\\n/**\\n * @see https://developer.mozilla.org/en/Midas\\n * @see http://msdn.microsoft.com/en-us/library/ms536678(VS.85).aspx\\n */\\nDocument.prototype.queryCommandIndeterm;\\n\\n/**\\n * @see https://developer.mozilla.org/en/Midas\\n * @see http://msdn.microsoft.com/en-us/library/ms536679(VS.85).aspx\\n */\\nDocument.prototype.queryCommandState;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.queryCommandSupported\\n * @see http://msdn.microsoft.com/en-us/library/ms536681(VS.85).aspx\\n * @param {string} command\\n * @return {?} Implementation-specific.\\n */\\nDocument.prototype.queryCommandSupported;\\n\\n/**\\n * @see https://developer.mozilla.org/en/Midas\\n * @see http://msdn.microsoft.com/en-us/library/ms536683(VS.85).aspx\\n */\\nDocument.prototype.queryCommandValue;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.write\\n * @param {string} text\\n * @return {undefined}\\n */\\nDocument.prototype.write = function(text) {};\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.writeln\\n * @param {string} text\\n * @return {undefined}\\n */\\nDocument.prototype.writeln = function(text) {};\\n\\nDocument.prototype.ononline;\\nDocument.prototype.onoffline;\\n\\n// XUL\\n/**\\n * @see http://developer.mozilla.org/en/DOM/document.getBoxObjectFor\\n * @return {BoxObject}\\n * @nosideeffects\\n */\\nDocument.prototype.getBoxObjectFor = function(element) {};\\n\\n// From:\\n// http://lxr.mozilla.org/mozilla1.8/source/dom/public/idl/range/nsIDOMNSRange.idl\\n\\n/**\\n * @param {string} tag\\n * @return {DocumentFragment}\\n */\\nRange.prototype.createContextualFragment;\\n\\n/**\\n * @param {Node} parent\\n * @param {number} offset\\n * @return {boolean}\\n * @nosideeffects\\n */\\nRange.prototype.isPointInRange;\\n\\n/**\\n * @param {Node} parent\\n * @param {number} offset\\n * @return {number}\\n * @nosideeffects\\n */\\nRange.prototype.comparePoint;\\n\\n/**\\n * @param {Node} n\\n * @return {boolean}\\n * @nosideeffects\\n */\\nRange.prototype.intersectsNode;\\n\\n/**\\n * @param {Node} n\\n * @return {number}\\n * @nosideeffects\\n */\\nRange.prototype.compareNode;\\n\\n\\n/** @constructor */\\nfunction Selection() {}\\n\\n/**\\n * @type {Node}\\n * @see https://developer.mozilla.org/en/DOM/Selection/anchorNode\\n */\\nSelection.prototype.anchorNode;\\n\\n/**\\n * @type {number}\\n * @see https://developer.mozilla.org/en/DOM/Selection/anchorOffset\\n */\\nSelection.prototype.anchorOffset;\\n\\n/**\\n * @type {Node}\\n * @see https://developer.mozilla.org/en/DOM/Selection/focusNode\\n */\\nSelection.prototype.focusNode;\\n\\n/**\\n * @type {number}\\n * @see https://developer.mozilla.org/en/DOM/Selection/focusOffset\\n */\\nSelection.prototype.focusOffset;\\n\\n/**\\n * @type {boolean}\\n * @see https://developer.mozilla.org/en/DOM/Selection/isCollapsed\\n */\\nSelection.prototype.isCollapsed;\\n\\n/**\\n * @type {number}\\n * @see https://developer.mozilla.org/en/DOM/Selection/rangeCount\\n */\\nSelection.prototype.rangeCount;\\n\\n/**\\n * @param {Range} range\\n * @return {undefined}\\n * @see https://developer.mozilla.org/en/DOM/Selection/addRange\\n */\\nSelection.prototype.addRange = function(range) {};\\n\\n/**\\n * @param {number} index\\n * @return {Range}\\n * @see https://developer.mozilla.org/en/DOM/Selection/getRangeAt\\n * @nosideeffects\\n */\\nSelection.prototype.getRangeAt = function(index) {};\\n\\n/**\\n * @param {Node} node\\n * @param {number} index\\n * @return {undefined}\\n * @see https://developer.mozilla.org/en/DOM/Selection/collapse\\n */\\nSelection.prototype.collapse = function(node, index) {};\\n\\n/**\\n * @return {undefined}\\n * @see https://developer.mozilla.org/en/DOM/Selection/collapseToEnd\\n */\\nSelection.prototype.collapseToEnd = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see https://developer.mozilla.org/en/DOM/Selection/collapseToStart\\n */\\nSelection.prototype.collapseToStart = function() {};\\n\\n/**\\n * @param {Node} node\\n * @param {boolean} partlyContained\\n * @return {boolean}\\n * @see https://developer.mozilla.org/en/DOM/Selection/containsNode\\n * @nosideeffects\\n */\\nSelection.prototype.containsNode = function(node, partlyContained) {};\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/Selection/deleteFromDocument\\n * @return {undefined}\\n */\\nSelection.prototype.deleteFromDocument = function() {};\\n\\n/**\\n * @param {Node} parentNode\\n * @param {number} offset\\n * @see https://developer.mozilla.org/en/DOM/Selection/extend\\n * @return {undefined}\\n */\\nSelection.prototype.extend = function(parentNode, offset) {};\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/Selection/removeAllRanges\\n * @return {undefined}\\n */\\nSelection.prototype.removeAllRanges = function() {};\\n\\n/**\\n * @param {Range} range\\n * @see https://developer.mozilla.org/en/DOM/Selection/removeRange\\n * @return {undefined}\\n */\\nSelection.prototype.removeRange = function(range) {};\\n\\n/**\\n * @param {Node} parentNode\\n * @see https://developer.mozilla.org/en/DOM/Selection/selectAllChildren\\n */\\nSelection.prototype.selectAllChildren;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/Selection/selectionLanguageChange\\n */\\nSelection.prototype.selectionLanguageChange;\\n\\n/**\\n * @type {!NodeList<!Element>}\\n * @see https://developer.mozilla.org/en/DOM/element.children\\n */\\nElement.prototype.children;\\n\\n/**\\n * Firebug sets this property on elements it is inserting into the DOM.\\n * @type {boolean}\\n */\\nElement.prototype.firebugIgnore;\\n\\n/**\\n * Note: According to the spec, id is actually defined on HTMLElement and\\n * SVGElement, rather than Element. Deliberately ignore this so that saying\\n * Element.id is allowed.\\n * @type {string}\\n * @implicitCast\\n */\\nElement.prototype.id;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Parsing/#widl-Element-innerHTML\\n * @implicitCast\\n */\\nElement.prototype.innerHTML;\\n\\n/**\\n * Note: According to the spec, name is defined on specific types of\\n * HTMLElements, rather than on Node, Element, or HTMLElement directly.\\n * Ignore this.\\n * @type {string}\\n */\\nElement.prototype.name;\\n\\nElement.prototype.nodePrincipal;\\n\\n/**\\n * @type {!CSSStyleDeclaration}\\n * This belongs on HTMLElement rather than Element, but that\\n * breaks a lot.\\n * TODO(rdcronin): Remove this declaration once the breakage is fixed.\\n */\\nElement.prototype.style;\\n\\n/**\\n * @override\\n * @return {!Element}\\n */\\nElement.prototype.cloneNode = function(deep) {};\\n\\n/** @return {undefined} */\\nElement.prototype.blur = function() {};\\n\\n/** @return {undefined} */\\nElement.prototype.click = function() {};\\n\\n/** @return {undefined} */\\nElement.prototype.focus = function() {};\\n\\n/** @type {number} */\\nHTMLInputElement.prototype.selectionStart;\\n\\n/** @type {number} */\\nHTMLInputElement.prototype.selectionEnd;\\n\\n/**\\n * @param {number} selectionStart\\n * @param {number} selectionEnd\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#dom-textarea/input-setselectionrange\\n * @return {undefined}\\n */\\nHTMLInputElement.prototype.setSelectionRange =\\n    function(selectionStart, selectionEnd) {};\\n\\n/** @type {number} */\\nHTMLTextAreaElement.prototype.selectionStart;\\n\\n/** @type {number} */\\nHTMLTextAreaElement.prototype.selectionEnd;\\n\\n/**\\n * @param {number} selectionStart\\n * @param {number} selectionEnd\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#dom-textarea/input-setselectionrange\\n * @return {undefined}\\n */\\nHTMLTextAreaElement.prototype.setSelectionRange =\\n    function(selectionStart, selectionEnd) {};\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/Navigator.buildID\\n */\\nNavigator.prototype.buildID;\\n\\n/**\\n * @type {!Array<string>|undefined}\\n * @see https://developer.mozilla.org/en/Navigator.languages\\n */\\nNavigator.prototype.languages;\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/Navigator.oscpu\\n */\\nNavigator.prototype.oscpu;\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/Navigator.productSub\\n */\\nNavigator.prototype.productSub;\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/Navigator.securityPolicy\\n */\\nNavigator.prototype.securityPolicy;\\n\\n/**\\n * @param {string} url\\n * @param {ArrayBufferView|Blob|string|FormData=} opt_data\\n * @return {boolean}\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/navigator.sendBeacon\\n */\\nNavigator.prototype.sendBeacon = function(url, opt_data) {};\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/Navigator.vendor\\n */\\nNavigato";
a.a+="r.prototype.vendor;\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/Navigator.vendorSub\\n */\\nNavigator.prototype.vendorSub;\\n\\n\\n/** @constructor */\\nfunction BoxObject() {}\\n\\n/** @type {Element} */\\nBoxObject.prototype.element;\\n\\n/** @type {number} */\\nBoxObject.prototype.screenX;\\n\\n/** @type {number} */\\nBoxObject.prototype.screenY;\\n\\n/** @type {number} */\\nBoxObject.prototype.x;\\n\\n/** @type {number} */\\nBoxObject.prototype.y;\\n\\n/** @type {number} */\\nBoxObject.prototype.width;\\n\\n\\n/**\\n * @param {Element} element\\n * @param {?string=} pseudoElt\\n * @return {?CSSStyleDeclaration}\\n * @nosideeffects\\n * @see https://bugzilla.mozilla.org/show_bug.cgi?id=548397\\n */\\nfunction getComputedStyle(element, pseudoElt) {}\\n\",\"externs/ie_dom.js\":\"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for all the extensions over the\\n *  W3C's DOM specification by IE in JScript. This file depends on\\n *  w3c_dom2.js. The whole file has NOT been fully type annotated.\\n *\\n * When a non-standard extension appears in both Gecko and IE, we put\\n * it in gecko_dom.js\\n *\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n * @author stevey@google.com (Steve Yegge)\\n */\\n\\n// TODO(nicksantos): Rewrite all the DOM interfaces as interfaces, instead\\n// of kludging them as an inheritance hierarchy.\\n\\n/**\\n * @constructor\\n * @extends {Document}\\n * @see http://msdn.microsoft.com/en-us/library/ms757878(VS.85).aspx\\n */\\nfunction XMLDOMDocument() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms761398(VS.85).aspx\\n */\\nXMLDOMDocument.prototype.async;\\n\\n/**\\n * @type {!Function}\\n * @see http://msdn.microsoft.com/en-us/library/ms762647(VS.85).aspx\\n */\\nXMLDOMDocument.prototype.ondataavailable;\\n\\n/**\\n * @type {!Function}\\n * @see http://msdn.microsoft.com/en-us/library/ms764640(VS.85).aspx\\n */\\nXMLDOMDocument.prototype.onreadystatechange;\\n\\n/**\\n * @type {!Function}\\n * @see http://msdn.microsoft.com/en-us/library/ms753795(VS.85).aspx\\n */\\nXMLDOMDocument.prototype.ontransformnode;\\n\\n/**\\n * @type {Object}\\n * @see http://msdn.microsoft.com/en-us/library/ms756041(VS.85).aspx\\n */\\nXMLDOMDocument.prototype.parseError;\\n\\n/**\\n * @type {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms761353(VS.85).aspx\\n */\\nXMLDOMDocument.prototype.preserveWhiteSpace;\\n\\n/**\\n * @type {number}\\n * @see http://msdn.microsoft.com/en-us/library/ms753702(VS.85).aspx\\n */\\nXMLDOMDocument.prototype.readyState;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms762283(VS.85).aspx\\n * @type {boolean}\\n */\\nXMLDOMDocument.prototype.resolveExternals;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms760290(v=vs.85).aspx\\n * @param {string} name\\n * @param {*} value\\n * @return {undefined}\\n */\\nXMLDOMDocument.prototype.setProperty = function(name, value) {};\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms767669(VS.85).aspx\\n */\\nXMLDOMDocument.prototype.url;\\n\\n/**\\n * @type {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms762791(VS.85).aspx\\n */\\nXMLDOMDocument.prototype.validateOnParse;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms763830(VS.85).aspx\\n * @return {undefined}\\n */\\nXMLDOMDocument.prototype.abort = function() {};\\n\\n/**\\n * @param {*} type\\n * @param {string} name\\n * @param {string} namespaceURI\\n * @return {Node}\\n * @see http://msdn.microsoft.com/en-us/library/ms757901(VS.85).aspx\\n * @nosideeffects\\n */\\nXMLDOMDocument.prototype.createNode = function(type, name, namespaceURI) {};\\n\\n/**\\n * @param {string} xmlSource\\n * @return {undefined}\\n * @see http://msdn.microsoft.com/en-us/library/ms762722(VS.85).aspx\\n * @override\\n */\\nXMLDOMDocument.prototype.load = function(xmlSource) {};\\n\\n/**\\n * @param {string} xmlString\\n * @return {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms754585(VS.85).aspx\\n * @override\\n */\\nXMLDOMDocument.prototype.loadXML = function(xmlString) {};\\n\\n/**\\n * @param {string} id\\n * @return {Node}\\n * @see http://msdn.microsoft.com/en-us/library/ms766397(VS.85).aspx\\n */\\nXMLDOMDocument.prototype.nodeFromID = function(id) {};\\n\\n//==============================================================================\\n// XMLNode methods and properties\\n// In a real DOM hierarchy, XMLDOMDocument inherits from XMLNode and Document.\\n// Since we can't express that in our type system, we put XMLNode properties\\n// on Node.\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms767570(VS.85).aspx\\n */\\nNode.prototype.baseName;\\n\\n/**\\n * @type {?string}\\n * @see http://msdn.microsoft.com/en-us/library/ms762763(VS.85).aspx\\n */\\nNode.prototype.dataType;\\n\\n/**\\n * @type {Node}\\n * @see http://msdn.microsoft.com/en-us/library/ms764733(VS.85).aspx\\n */\\nNode.prototype.definition;\\n\\n/**\\n * IE5 used document instead of ownerDocument.\\n * Old versions of WebKit used document instead of contentDocument.\\n * @type {Document}\\n */\\nNode.prototype.document;\\n\\n\\n/**\\n * Inserts the given HTML text into the element at the location.\\n * @param {string} sWhere Where to insert the HTML text, one of 'beforeBegin',\\n *     'afterBegin', 'beforeEnd', 'afterEnd'.\\n * @param {string} sText HTML text to insert.\\n * @see http://msdn.microsoft.com/en-us/library/ms536452(VS.85).aspx\\n * @return {undefined}\\n */\\nNode.prototype.insertAdjacentHTML = function(sWhere, sText) {};\\n\\n\\n/**\\n * @type {*}\\n * @see http://msdn.microsoft.com/en-us/library/ms762308(VS.85).aspx\\n */\\nNode.prototype.nodeTypedValue;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms757895(VS.85).aspx\\n */\\nNode.prototype.nodeTypeString;\\n\\n/**\\n * @type {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms762237(VS.85).aspx\\n */\\nNode.prototype.parsed;\\n\\n/**\\n * @type {Element}\\n * @see http://msdn.microsoft.com/en-us/library/ms534327(VS.85).aspx\\n */\\nNode.prototype.parentElement;\\n\\n/**\\n * @type {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms753816(VS.85).aspx\\n */\\nNode.prototype.specified;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms762687(VS.85).aspx\\n */\\nNode.prototype.text;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms755989(VS.85).aspx\\n */\\nNode.prototype.xml;\\n\\n/**\\n * @param {string} expression An XPath expression.\\n * @return {!NodeList<!Node>}\\n * @see http://msdn.microsoft.com/en-us/library/ms754523(VS.85).aspx\\n * @nosideeffects\\n */\\nNode.prototype.selectNodes = function(expression) {};\\n\\n/**\\n * @param {string} expression An XPath expression.\\n * @return {Node}\\n * @see http://msdn.microsoft.com/en-us/library/ms757846(VS.85).aspx\\n * @nosideeffects\\n */\\nNode.prototype.selectSingleNode = function(expression) {};\\n\\n/**\\n * @param {Node} stylesheet XSLT stylesheet.\\n * @return {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms761399(VS.85).aspx\\n * @nosideeffects\\n */\\nNode.prototype.transformNode = function(stylesheet) {};\\n\\n/**\\n * @param {Node} stylesheet XSLT stylesheet.\\n * @param {Object} outputObject\\n * @see http://msdn.microsoft.com/en-us/library/ms766561(VS.85).aspx\\n * @return {Object}\\n */\\nNode.prototype.transformNodeToObject =\\n    function(stylesheet, outputObject) {};\\n\\n//==============================================================================\\n// Node methods\\n\\n/**\\n * @param {boolean=} opt_bRemoveChildren Whether to remove the entire sub-tree.\\n *    Defaults to false.\\n * @return {Node} The object that was removed.\\n * @see http://msdn.microsoft.com/en-us/library/ms536708(VS.85).aspx\\n */\\nNode.prototype.removeNode = function(opt_bRemoveChildren) {};\\n\\n/**\\n * @constructor\\n */\\nfunction ClipboardData() {}\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535220(VS.85).aspx\\n * @param {string=} opt_type Type of clipboard data to clear. 'Text' or\\n *     'URL' or 'File' or 'HTML' or 'Image'.\\n * @return {undefined}\\n */\\nClipboardData.prototype.clearData = function(opt_type) {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535220(VS.85).aspx\\n * @param {string} type Type of clipboard data to set ('Text' or 'URL').\\n * @param {string} data Data to set\\n * @return {boolean} Whether the data were set correctly.\\n */\\nClipboardData.prototype.setData = function(type, data) {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535220(VS.85).aspx\\n * @param {string} type Type of clipboard data to get ('Text' or 'URL').\\n * @return {string} The current data\\n */\\nClipboardData.prototype.getData = function(type) { };\\n\\n/**\\n * @type {!Window}\\n * @see https://developer.mozilla.org/en/DOM/window\\n */\\nvar window;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535220(VS.85).aspx\\n * @type {ClipboardData}\\n */\\nWindow.prototype.clipboardData;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533724(VS.85).aspx\\n */\\nWindow.prototype.dialogHeight;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533725(VS.85).aspx\\n */\\nWindow.prototype.dialogLeft;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533726(VS.85).aspx\\n */\\nWindow.prototype.dialogTop;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533727(VS.85).aspx\\n */\\nWindow.prototype.dialogWidth;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535863(VS.85).aspx\\n */\\nWindow.prototype.event;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/cc197012(VS.85).aspx\\n */\\nWindow.prototype.maxConnectionsPer1_0Server;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/cc197013(VS.85).aspx\\n */\\nWindow.prototype.maxConnectionsPerServer;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534198(VS.85).aspx\\n */\\nWindow.prototype.offscreenBuffering;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534389(VS.85).aspx\\n * @type {number|undefined}\\n */\\nWindow.prototype.screenLeft;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534389(VS.85).aspx\\n * @type {number|undefined}\\n */\\nWindow.prototype.screenTop;\\n\\n// Functions\\n\\n/**\\n * @param {string} event\\n * @param {Function} handler\\n * @see http://msdn.microsoft.com/en-us/library/ms536343(VS.85).aspx\\n */\\nWindow.prototype.attachEvent;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536392(VS.85).aspx\\n */\\nWindow.prototype.createPopup;\\n\\n/**\\n * @param {string} event\\n * @param {Function} handler\\n * @see http://msdn.microsoft.com/en-us/library/ms536411(VS.85).aspx\\n */\\nWindow.prototype.detachEvent;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536420(VS.85).aspx\\n */\\nWindow.prototype.execScript;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536425(VS.85).aspx\\n */\\nWindow.prototype.focus;\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @see http://msdn.microsoft.com/en-us/library/ms536618(VS.85).aspx\\n * @return {undefined}\\n */\\nWindow.prototype.moveBy = function(x, y) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @see http://msdn.microsoft.com/en-us/library/ms536626(VS.85).aspx\\n * @return {undefined}\\n */\\nWindow.prototype.moveTo = function(x, y) {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536638(VS.85).aspx\\n */\\nWindow.prototype.navigate;\\n\\n/**\\n * @param {*=} opt_url\\n * @param {string=} opt_windowName\\n * @param {string=} opt_windowFeatures\\n * @param {boolean=} opt_replace\\n * @return {Window}\\n * @see http://msdn.microsoft.com/en-us/library/ms536651(VS.85).aspx\\n */\\nWindow.prototype.open = function(opt_url, opt_windowName, opt_windowFeatures,\\n                                 opt_replace) {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536672(VS.85).aspx\\n * @return {undefined}\\n */\\nWindow.prototype.print = function() {};\\n\\n/**\\n * @param {number} width\\n * @param {number} height\\n * @see http://msdn.microsoft.com/en-us/library/ms536722(VS.85).aspx\\n * @return {undefined}\\n */\\nWindow.prototype.resizeBy = function(width, height) {};\\n\\n/**\\n * @param {number} width\\n * @param {number} height\\n * @see http://msdn.microsoft.com/en-us/library/ms536723(VS.85).aspx\\n * @return {undefined}\\n */\\nWindow.prototype.resizeTo = function(width, height) {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536738(VS.85).aspx\\n */\\nWindow.prototype.setActive;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536758(VS.85).aspx\\n */\\nWindow.prototype.showHelp;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536761(VS.85).aspx\\n */\\nWindow.prototype.showModelessDialog;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535246%28v=vs.85%29.aspx\\n * @const {!Object}\\n */\\nWindow.prototype.external;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535864(VS.85).aspx\\n * @param {number|string} delta The number of entries to go back, or\\n *     the URL to which to go back. (URL form is supported only in IE)\\n * @return {undefined}\\n */\\nHistory.prototype.go = function(delta) {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535864(VS.85).aspx\\n * @param {number=} opt_distance The number of entries to go back\\n *     (Mozilla doesn't support distance -- use #go instead)\\n * @return {undefined}\\n */\\nHistory.prototype.back = function(opt_distance) {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535864(VS.85).aspx\\n * @type {number}\\n */\\nHistory.prototype.length;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535864(VS.85).aspx\\n * @return {undefined}\\n */\\nHistory.prototype.forward = function() {};\\n\\n/**\\n * @type {boolean}\\n * @implicitCast\\n * @see http://msdn.microsoft.com/en-us/library/ie/ms533072(v=vs.85).aspx\\n */\\nHTMLFrameElement.prototype.allowTransparency;\\n\\n/**\\n * @type {Window}\\n * @see http://msdn.microsoft.com/en-us/library/ms533692(VS.85).aspx\\n */\\nHTMLFrameElement.prototype.contentWindow;\\n\\n/**\\n * @type {boolean}\\n * @implicitCast\\n * @see http://msdn.microsoft.com/en-us/library/ie/ms533072(v=vs.85).aspx\\n */\\nHTMLIFrameElement.prototype.allowTransparency;\\n\\n/**\\n * @type {Window}\\n * @see http://msdn.microsoft.com/en-us/library/ms533692(VS.85).aspx\\n */\\nHTMLIFrameElement.prototype.contentWindow;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536385(VS.85).aspx\\n */\\nHTMLBodyElement.prototype.createControlRange;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms534359(VS.85).aspx\\n */\\nHTMLScriptElement.prototype.readyState;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms534359(VS.85).aspx\\n */\\nHTMLIFrameElement.prototype.readyState;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms534359(VS.85).aspx\\n */\\nHTMLImageElement.prototype.readyState;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms534359(VS.85).aspx\\n */\\nHTMLObjectElement.prototype.readyState;\\n\\n\\n/**\\n * @constructor\\n */\\nfunction ControlRange() {}\\n\\nControlRange.prototype.add;\\nControlRange.prototype.addElement;\\nControlRange.prototype.execCommand;\\nControlRange.prototype.item;\\nControlRange.prototype.queryCommandEnabled;\\nControlRange.prototype.queryCommandIndeterm;\\nControlRange.prototype.queryCommandState;\\nControlRange.prototype.queryCommandSupported;\\nControlRange.prototype.queryCommandValue;\\nControlRange.prototype.remove;\\nControlRange.prototype.scrollIntoView;\\nControlRange.prototype.select;\\n\\n/**\\n * @constructor\\n * @see http://msdn.microsoft.com/en-us/library/ms535872.aspx\\n */\\nfunction TextRange() {}\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533538(VS.85).aspx\\n */\\nTextRange.prototype.boundingHeight;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533539(VS.85).aspx\\n */\\nTextRange.prototype.boundingLeft;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533";
a.a+="540(VS.85).aspx\\n */\\nTextRange.prototype.boundingTop;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533541(VS.85).aspx\\n */\\nTextRange.prototype.boundingWidth;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533874(VS.85).aspx\\n */\\nTextRange.prototype.htmlText;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534200(VS.85).aspx\\n */\\nTextRange.prototype.offsetLeft;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534303(VS.85).aspx\\n */\\nTextRange.prototype.offsetTop;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms534676(VS.85).aspx\\n */\\nTextRange.prototype.text;\\n\\n/**\\n * @param {boolean=} opt_toStart\\n * @see http://msdn.microsoft.com/en-us/library/ms536371(VS.85).aspx\\n */\\nTextRange.prototype.collapse;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536373(VS.85).aspx\\n */\\nTextRange.prototype.compareEndPoints;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536416(VS.85).aspx\\n */\\nTextRange.prototype.duplicate;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536419(VS.85).aspx\\n */\\nTextRange.prototype.execCommand;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536421(VS.85).aspx\\n */\\nTextRange.prototype.expand;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536422(VS.85).aspx\\n */\\nTextRange.prototype.findText;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536432(VS.85).aspx\\n */\\nTextRange.prototype.getBookmark;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536433(VS.85).aspx\\n */\\nTextRange.prototype.getBoundingClientRect;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536435(VS.85).aspx\\n */\\nTextRange.prototype.getClientRects;\\n\\n/**\\n * @param {TextRange|ControlRange} range\\n * @return {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms536450(VS.85).aspx\\n */\\nTextRange.prototype.inRange;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536458(VS.85).aspx\\n */\\nTextRange.prototype.isEqual;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536616(VS.85).aspx\\n */\\nTextRange.prototype.move;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536620(VS.85).aspx\\n */\\nTextRange.prototype.moveEnd;\\n\\n/**\\n * @param {string} unit\\n * @param {number=} opt_count\\n * @see http://msdn.microsoft.com/en-us/library/ms536623(VS.85).aspx\\n */\\nTextRange.prototype.moveStart;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536628(VS.85).aspx\\n */\\nTextRange.prototype.moveToBookmark;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536630(VS.85).aspx\\n */\\nTextRange.prototype.moveToElementText;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536632(VS.85).aspx\\n */\\nTextRange.prototype.moveToPoint;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536654(VS.85).aspx\\n * @return {?Element}\\n */\\nTextRange.prototype.parentElement;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536656(VS.85).aspx\\n */\\nTextRange.prototype.pasteHTML;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536676(VS.85).aspx\\n */\\nTextRange.prototype.queryCommandEnabled;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536678(VS.85).aspx\\n */\\nTextRange.prototype.queryCommandIndeterm;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536679(VS.85).aspx\\n */\\nTextRange.prototype.queryCommandState;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536681(VS.85).aspx\\n */\\nTextRange.prototype.queryCommandSupported;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536683(VS.85).aspx\\n */\\nTextRange.prototype.queryCommandValue;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536730(VS.85).aspx\\n */\\nTextRange.prototype.scrollIntoView;\\n\\n/**\\n * @return {undefined}\\n * @see http://msdn.microsoft.com/en-us/library/ms536735(VS.85).aspx\\n */\\nTextRange.prototype.select = function() {};\\n\\n/**\\n * @param {string} how\\n * @param {TextRange|ControlRange} sourceRange\\n * @see http://msdn.microsoft.com/en-us/library/ms536745(VS.85).aspx\\n */\\nTextRange.prototype.setEndPoint;\\n\\n/**\\n * @return {undefined}\\n * @see http://msdn.microsoft.com/en-us/library/ms536418(VS.85).aspx\\n */\\nSelection.prototype.clear = function() {};\\n\\n/**\\n * @return {TextRange|ControlRange}\\n * @see http://msdn.microsoft.com/en-us/library/ms536394(VS.85).aspx\\n */\\nSelection.prototype.createRange = function() {};\\n\\n/**\\n * @return {Array<TextRange>}\\n * @see http://msdn.microsoft.com/en-us/library/ms536396(VS.85).aspx\\n */\\nSelection.prototype.createRangeCollection = function() {};\\n\\n/**\\n * @constructor\\n * @see http://msdn.microsoft.com/en-us/library/ms537447(VS.85).aspx\\n */\\nfunction controlRange() {}\\n\\n\\nDocument.prototype.loadXML;\\n\\n\\n// http://msdn.microsoft.com/en-us/library/ms531073(VS.85).aspx\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533065(VS.85).aspx\\n */\\nDocument.prototype.activeElement;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533553(VS.85).aspx\\n */\\nDocument.prototype.charset;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533693(VS.85).aspx\\n */\\nDocument.prototype.cookie;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533714(VS.85).aspx\\n */\\nDocument.prototype.defaultCharset;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533731(VS.85).aspx\\n */\\nDocument.prototype.dir;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/cc196988(VS.85).aspx\\n */\\nDocument.prototype.documentMode;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533747(VS.85).aspx\\n */\\nDocument.prototype.expando;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533750(VS.85).aspx\\n */\\nDocument.prototype.fileCreatedDate;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533751(VS.85).aspx\\n */\\nDocument.prototype.fileModifiedDate;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533752(VS.85).aspx\\n */\\nDocument.prototype.fileSize;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534331(VS.85).aspx\\n * @type {?Window}\\n */\\nDocument.prototype.parentWindow;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534353(VS.85).aspx\\n */\\nDocument.prototype.protocol;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms534359(VS.85).aspx\\n */\\nHTMLDocument.prototype.readyState;\\n\\n/**\\n * @type {Selection}\\n * @see http://msdn.microsoft.com/en-us/library/ms535869(VS.85).aspx\\n */\\nDocument.prototype.selection;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534704(VS.85).aspx\\n */\\nDocument.prototype.uniqueID;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534709(VS.85).aspx\\n */\\nDocument.prototype.URLUnencoded;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535155(VS.85).aspx\\n */\\nDocument.prototype.XMLDocument;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535163(VS.85).aspx\\n */\\nDocument.prototype.XSLDocument;\\n\\n// functions\\n\\n/**\\n * @param {string} event\\n * @param {Function} handler\\n * @see http://msdn.microsoft.com/en-us/library/ms536343(VS.85).aspx\\n */\\nDocument.prototype.attachEvent;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536390(VS.85).aspx\\n */\\nDocument.prototype.createEventObject;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms531194(VS.85).aspx\\n */\\nDocument.prototype.createStyleSheet;\\n\\n/**\\n * @param {string} event\\n * @param {Function} handler\\n * @see http://msdn.microsoft.com/en-us/library/ms536411(VS.85).aspx\\n */\\nDocument.prototype.detachEvent;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536425(VS.85).aspx\\n */\\nDocument.prototype.focus;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536447(VS.85).aspx\\n * @return {boolean}\\n */\\nDocument.prototype.hasFocus = function() {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536614(VS.85).aspx\\n */\\nDocument.prototype.mergeAttributes;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536685(VS.85).aspx\\n */\\nDocument.prototype.recalc;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536689(VS.85).aspx\\n */\\nDocument.prototype.releaseCapture;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536738(VS.85).aspx\\n */\\nDocument.prototype.setActive;\\n\\n\\n// collections\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms537434(VS.85).aspx\\n */\\nDocument.prototype.all;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms537445(VS.85).aspx\\n */\\nDocument.prototype.childNodes;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms537459(VS.85).aspx\\n */\\nDocument.prototype.frames;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms537470(VS.85).aspx\\n */\\nDocument.prototype.namespaces;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms537487(VS.85).aspx\\n * @type {!HTMLCollection<!HTMLScriptElement>}\\n */\\nDocument.prototype.scripts;\\n\\n/**\\n * @param {string} sUrl\\n * @return {number}\\n * @see http://msdn.microsoft.com/en-us/library/ms535922(VS.85).aspx\\n */\\nElement.prototype.addBehavior = function(sUrl) {};\\n\\n/**\\n * @param {string} event\\n * @param {Function} handler\\n * @see http://msdn.microsoft.com/en-us/library/mm536343(v=vs.85).aspx\\n */\\nElement.prototype.attachEvent;\\n\\n/**\\n * @type {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms533546(VS.85).aspx\\n */\\nElement.prototype.canHaveChildren;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms533559(v=vs.85).aspx\\n */\\nElement.prototype.classid;\\n\\n/**\\n * @param {number} iCoordX Integer that specifies the client window coordinate\\n *     of x.\\n * @param {number} iCoordY Integer that specifies the client window coordinate\\n *     of y.\\n * @return {string} The component of an element located at the specified\\n *     coordinates.\\n * @see http://msdn.microsoft.com/en-us/library/ms536375(VS.85).aspx\\n * @nosideeffects\\n */\\nElement.prototype.componentFromPoint = function(iCoordX, iCoordY) {};\\n\\n\\n/**\\n * @type {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms533690(VS.85).aspx\\n */\\nElement.prototype.contentEditable;\\n\\n/**\\n * @return {TextRange}\\n * @see http://msdn.microsoft.com/en-us/library/ms536401(VS.85).aspx\\n */\\nElement.prototype.createTextRange;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535231(VS.85).aspx\\n * @type {?CSSStyleDeclaration}\\n */\\nElement.prototype.currentStyle;\\n\\n/**\\n * @param {string} event\\n * @param {Function} handler\\n * @see http://msdn.microsoft.com/en-us/library/ie/ms536411(v=vs.85).aspx\\n */\\nElement.prototype.detachEvent;\\n\\n/**\\n * @param {string=} opt_action\\n * @see http://msdn.microsoft.com/en-us/library/ms536414%28VS.85%29.aspx\\n * @return {undefined}\\n */\\nElement.prototype.doScroll = function(opt_action) {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536423(VS.85).aspx\\n */\\nElement.prototype.fireEvent;\\n\\n/**\\n * @type {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms533783(VS.85).aspx\\n */\\nElement.prototype.hideFocus;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533899.aspx\\n */\\nElement.prototype.innerText;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms537838(VS.85).aspx\\n */\\nElement.prototype.isContentEditable;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms531395(v=vs.85).aspx\\n * NOTE: Left untyped to avoid conflict with subclasses.\\n */\\nElement.prototype.load;\\n\\n/**\\n * @param {number} pointerId Id of the pointer that is assign to the element.\\n * @see http://msdn.microsoft.com/en-us/library/ie/hh771882(v=vs.85).aspx\\n * @return {undefined}\\n */\\nElement.prototype.msSetPointerCapture = function(pointerId) {};\\n\\n/**\\n * @param {number} pointerId\\n * @see http://msdn.microsoft.com/en-us/library/ie/hh771880.aspx\\n * @return {undefined}\\n */\\nElement.prototype.msReleasePointerCapture = function(pointerId) {};\\n\\n/**\\n * @type {?function(Event)}\\n * @see http://msdn.microsoft.com/en-us/library/ms536903(v=vs.85).aspx\\n */\\nElement.prototype.onbeforedeactivate;\\n\\n/**\\n * @type {?function(Event)}\\n * @see http://msdn.microsoft.com/en-us/library/ms536945(VS.85).aspx\\n */\\nElement.prototype.onmouseenter;\\n\\n/**\\n * @type {?function(Event)}\\n * @see http://msdn.microsoft.com/en-us/library/ms536946(VS.85).aspx\\n */\\nElement.prototype.onmouseleave;\\n\\n/**\\n * @type {?function(Event)}\\n * @see http://msdn.microsoft.com/en-us/library/ms536969(VS.85).aspx\\n */\\nElement.prototype.onselectstart;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/aa752326(VS.85).aspx\\n */\\nElement.prototype.outerHTML;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536689(VS.85).aspx\\n * @return {undefined}\\n */\\nElement.prototype.releaseCapture = function() {};\\n\\n/**\\n * @param {number} iID\\n * @return {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms536700(VS.85).aspx\\n */\\nElement.prototype.removeBehavior = function(iID) {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/aa703996(VS.85).aspx\\n */\\nElement.prototype.runtimeStyle;\\n\\n/**\\n * @param {string} sStoreName The arbitrary name assigned to a persistent object\\n *     in a UserData store.\\n * @see http://msdn.microsoft.com/en-us/library/ms531403(v=vs.85).aspx\\n * @return {undefined}\\n */\\nElement.prototype.save = function(sStoreName) {};\\n\\n/**\\n * @param {boolean=} opt_bContainerCapture Events originating in a container are\\n *     captured by the container. Defaults to true.\\n * @see http://msdn.microsoft.com/en-us/library/ms536742(VS.85).aspx\\n * @return {undefined}\\n */\\nElement.prototype.setCapture = function(opt_bContainerCapture) {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534635(VS.85).aspx\\n */\\nElement.prototype.sourceIndex;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms537840.aspx\\n */\\nElement.prototype.unselectable;\\n\\n/**\\n * @constructor\\n * @see http://msdn.microsoft.com/en-us/library/aa752462(v=vs.85).aspx\\n */\\nfunction HTMLFiltersCollection() {}\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/aa752463(v=vs.85).aspx\\n * @type {number}\\n */\\nHTMLFiltersCollection.prototype.length;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms537452(v=vs.85).aspx\\n * @type {HTMLFiltersCollection}\\n */\\nElement.prototype.filters;\\n\\n/**\\n * @constructor\\n * @see http://msdn.microsoft.com/en-us/library/ms532853(v=vs.85).aspx\\n */\\nfunction HTMLFilter() {}\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms532954(v=vs.85).aspx\\n * @return {undefined}\\n */\\nHTMLFilter.prototype.apply = function() {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLFilter}\\n * @see http://msdn.microsoft.com/en-us/library/ms532967(v=vs.85).aspx\\n */\\nfunction AlphaFilter() {}\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms532910(v=vs.85).aspx\\n * @type {number}\\n */\\nAlphaFilter.prototype.Opacity;\\n\\n/**\\n * @constructor\\n * @extends {HTMLFilter}\\n * @see http://msdn.microsoft.com/en-us/library/ms532969(v=vs.85).aspx\\n */\\nfunction AlphaImageLoaderFilter() {}\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms532920(v=vs.85).aspx\\n * @type {string}\\n */\\nAlphaImageLoaderFilter.prototype.sizingMethod;\\n\\n/**\\n * @constructor\\n * @see http://msdn.microsoft.com/en-us/library/ms535866(VS.85).aspx\\n */\\nfunction Location() {}\\n\\n/**\\n * @see http://trac.webkit.org/changeset/113945\\n * @type {DOMStringList}\\n */\\nLocation.prototype.ancestorOrigins;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533775(VS.85).aspx\\n * @type {string}\\n */\\nLocation.prototype.hash;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533784(VS.85).aspx\\n * @type {string}\\n */\\nLocation.prototype.host;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533785(VS.85).aspx\\n * @type {string}\\n */\\nLocation.prototype.hostname;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533867(VS.85).aspx\\n * @type {string}\\n */\\nLocation.prototype.href;\\n\\n/**\\n * @see https://docs.google.com/document/view?id=1r_VTFKApVOaNIkocrg0z-t7lZgzisTuGTXkdzAk4gLU&hl=en\\n * @type {string}\\n */\\nLocation.prototype.origin;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534332(VS.85).aspx\\n * @type {string}\\n */\\nLocation.prototype.pathname;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534342(VS.85).aspx\\n */\\nLocation.prototype.port;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534353(VS.85).aspx";
a.a+='\\n * @type {string}\\n */\\nLocation.prototype.protocol;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534620(VS.85).aspx\\n * @type {string}\\n */\\nLocation.prototype.search;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536342(VS.85).aspx\\n * @param {string} url\\n * @return {undefined}\\n */\\nLocation.prototype.assign = function(url) {};\\n\\n/**\\n * @param {boolean=} opt_forceReload If true, reloads the page from\\n *     the server. Defaults to false.\\n * @see http://msdn.microsoft.com/en-us/library/ms536691(VS.85).aspx\\n * @return {undefined}\\n */\\nLocation.prototype.reload = function(opt_forceReload) {};\\n\\n/**\\n * @param {string} url\\n * @see http://msdn.microsoft.com/en-us/library/ms536712(VS.85).aspx\\n * @return {undefined}\\n */\\nLocation.prototype.replace = function(url) {};\\n\\n\\n// For IE, returns an object representing key-value pairs for all the global\\n// variables prefixed with str, e.g. test*\\n\\n/** @param {*=} opt_str\\n */\\nfunction RuntimeObject(opt_str) {}\\n\\n\\n/**\\n * @type {StyleSheet}\\n * @see http://msdn.microsoft.com/en-us/library/dd347030(VS.85).aspx\\n */\\nHTMLStyleElement.prototype.styleSheet;\\n\\n\\n/**\\n * IE implements Cross Origin Resource Sharing (cross-domain XMLHttpRequests)\\n * via the XDomainRequest object.\\n *\\n * @constructor\\n * @see http://msdn.microsoft.com/en-us/library/cc288060(v=vs.85).aspx\\n * @see http://www.w3.org/TR/cors/\\n */\\nfunction XDomainRequest() {}\\n\\n/**\\n * Aborts the request.\\n * @see http://msdn.microsoft.com/en-us/library/cc288129(v=vs.85).aspx\\n * @return {undefined}\\n */\\nXDomainRequest.prototype.abort = function() {};\\n\\n/**\\n * Sets the method and URL for the request.\\n * @param {string} bstrMethod Either \\"GET\\" or \\"POST\\"\\n * @param {string} bstrUrl The target URL\\n * @see http://msdn.microsoft.com/en-us/library/cc288168(v=vs.85).aspx\\n * @return {undefined}\\n */\\nXDomainRequest.prototype.open = function(bstrMethod, bstrUrl) {};\\n\\n/**\\n * Sends the request.\\n * @param {string=} varBody The POST body to send to the server. If omitted,\\n *     the behavior is identical to sending an empty string.\\n * @see http://msdn.microsoft.com/en-us/library/cc288207(v=vs.85).aspx\\n * @return {undefined}\\n */\\nXDomainRequest.prototype.send = function(varBody) {};\\n\\n/**\\n * Called if the request could not be completed. Note that error information is\\n * not available.\\n * @see http://msdn.microsoft.com/en-us/library/ms536930%28v=VS.85%29.aspx\\n * @type {?function()}\\n */\\nXDomainRequest.prototype.onerror;\\n\\n/**\\n * Called when the response has finished.\\n * @see http://msdn.microsoft.com/en-us/library/ms536942%28v=VS.85%29.aspx\\n * @type {?function()}\\n */\\nXDomainRequest.prototype.onload;\\n\\n/**\\n * Called every time part of the response has been received.\\n * @see http://msdn.microsoft.com/en-us/library/cc197058%28v=VS.85%29.aspx\\n * @type {?function()}\\n */\\nXDomainRequest.prototype.onprogress;\\n\\n/**\\n * Called if the timeout period has elapsed.\\n * @see http://msdn.microsoft.com/en-us/library/cc197061%28v=VS.85%29.aspx\\n * @type {?function()}\\n */\\nXDomainRequest.prototype.ontimeout;\\n\\n/**\\n * The current response body.\\n * @see http://msdn.microsoft.com/en-us/library/cc287956%28v=VS.85%29.aspx\\n * @type {string}\\n */\\nXDomainRequest.prototype.responseText;\\n\\n/**\\n * The timeout (in milliseconds) for the request.\\n * @type {number}\\n */\\nXDomainRequest.prototype.timeout;\\n\\n/**\\n * The Content-Type of the response, or an empty string.\\n * @type {string}\\n */\\nXDomainRequest.prototype.contentType;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms533542(v=vs.85).aspx\\n */\\nNavigator.prototype.browserLanguage;\\n\\n/**\\n * @type {number}\\n * @see https://msdn.microsoft.com/en-us/library/ie/hh772144(v=vs.85).aspx\\n */\\nNavigator.prototype.msMaxTouchPoints;\\n\\n/**\\n * @type {boolean}\\n * @see http://blogs.msdn.com/b/ie/archive/2011/09/20/touch-input-for-ie10-and-metro-style-apps.aspx\\n */\\nNavigator.prototype.msPointerEnabled;\\n\\n/**\\n * @param {(!File|!Blob)} blob\\n * @param {string=} opt_defaultName\\n * @return {boolean}\\n * @see https://msdn.microsoft.com/en-us/library/hh772331(v=vs.85).aspx\\n */\\nNavigator.prototype.msSaveBlob = function(blob, opt_defaultName) {};\\n\\n/**\\n * @param {(!File|!Blob)} blob\\n * @param {string=} opt_defaultName\\n * @return {boolean}\\n * @see https://msdn.microsoft.com/en-us/library/hh772332(v=vs.85).aspx\\n */\\nNavigator.prototype.msSaveOrOpenBlob = function(blob, opt_defaultName) {};\\n\\n/**\\n * @type {number}\\n * @see http://msdn.microsoft.com/en-us/library/ms533721(v=vs.85).aspx\\n */\\nScreen.prototype.deviceXDPI;\\n\\n/**\\n * @type {number}\\n * @see http://msdn.microsoft.com/en-us/library/ms534128%28v=vs.85%29.aspx\\n */\\nScreen.prototype.logicalXDPI;\\n\\n/**\\n * @type {number}\\n * @see http://msdn.microsoft.com/en-us/library/ms534130%28v=vs.85%29.aspx\\n */\\nScreen.prototype.logicalYDPI;\\n","externs/webkit_dom.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for all the extensions over W3C\'s DOM\\n *  specification by WebKit. This file depends on w3c_dom2.js.\\n *  All the provided definitions has been type annotated\\n *\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n */\\n\\n\\n/**\\n * @param {boolean=} opt_center\\n * @see https://bugzilla.mozilla.org/show_bug.cgi?id=403510\\n * @return {undefined}\\n */\\nElement.prototype.scrollIntoViewIfNeeded = function(opt_center) {};\\n\\n/**\\n * @constructor\\n * @see https://cs.chromium.org/search/?q=%22interface+MemoryInfo%22+file:idl+file:WebKit+package:chromium&type=cs\\n */\\nfunction MemoryInfo() {};\\n\\n/** @type {number} */\\nMemoryInfo.prototype.totalJSHeapSize;\\n\\n/** @type {number} */\\nMemoryInfo.prototype.usedJSHeapSize;\\n\\n/** @type {number} */\\nMemoryInfo.prototype.jsHeapSizeLimit;\\n\\n/**\\n * @constructor\\n * @see http://trac.webkit.org/browser/trunk/Source/WebCore/inspector/ScriptProfileNode.idl\\n */\\nfunction ScriptProfileNode() {};\\n\\n/** @type {string} */\\nScriptProfileNode.prototype.functionName;\\n\\n/** @type {string} */\\nScriptProfileNode.prototype.url;\\n\\n/** @type {number} */\\nScriptProfileNode.prototype.lineNumber;\\n\\n/** @type {number} */\\nScriptProfileNode.prototype.totalTime;\\n\\n/** @type {number} */\\nScriptProfileNode.prototype.selfTime;\\n\\n/** @type {number} */\\nScriptProfileNode.prototype.numberOfCalls;\\n\\n/** @type {Array<ScriptProfileNode>} */\\nScriptProfileNode.prototype.children;\\n\\n/** @type {boolean} */\\nScriptProfileNode.prototype.visible;\\n\\n/** @type {number} */\\nScriptProfileNode.prototype.callUID;\\n\\n/**\\n * @constructor\\n * @see http://trac.webkit.org/browser/trunk/Source/WebCore/inspector/ScriptProfile.idl\\n */\\nfunction ScriptProfile() {};\\n\\n/** @type {string} */\\nScriptProfile.prototype.title;\\n\\n/** @type {number} */\\nScriptProfile.prototype.uid;\\n\\n/** @type {ScriptProfileNode} */\\nScriptProfile.prototype.head;\\n\\n/**\\n * @constructor\\n * @see https://console.spec.whatwg.org/\\n */\\nfunction Console() {};\\n\\n/**\\n * @param {*} condition\\n * @param {...*} var_args\\n * @return {undefined}\\n */\\nConsole.prototype.assert = function(condition, var_args) {};\\n\\n/**\\n * @param {...*} var_args\\n * @return {undefined}\\n */\\nConsole.prototype.error = function(var_args) {};\\n\\n/**\\n * @param {...*} var_args\\n * @return {undefined}\\n */\\nConsole.prototype.info = function(var_args) {};\\n\\n/**\\n * @param {...*} var_args\\n * @return {undefined}\\n */\\nConsole.prototype.log = function(var_args) {};\\n\\n/**\\n * @param {...*} var_args\\n * @return {undefined}\\n */\\nConsole.prototype.warn = function(var_args) {};\\n\\n/**\\n * @param {...*} var_args\\n * @return {undefined}\\n */\\nConsole.prototype.debug = function(var_args) {};\\n\\n/**\\n * @param {*} value\\n * @return {undefined}\\n */\\nConsole.prototype.dir = function(value) {};\\n\\n/**\\n * @param {...*} var_args\\n * @return {undefined}\\n */\\nConsole.prototype.dirxml = function(var_args) {};\\n\\n/**\\n * @param {!Object} data\\n * @param {*=} opt_columns\\n * @return {undefined}\\n */\\nConsole.prototype.table = function(data, opt_columns) {};\\n\\n/**\\n * @param {...*} var_args\\n * @return {undefined}\\n */\\nConsole.prototype.trace = function(var_args) {};\\n\\n/**\\n * @param {*} value\\n * @return {undefined}\\n */\\nConsole.prototype.count = function(value) {};\\n\\n/**\\n * @param {*} value\\n * @return {undefined}\\n */\\nConsole.prototype.markTimeline = function(value) {};\\n\\n/**\\n * @param {string=} opt_title\\n * @return {undefined}\\n */\\nConsole.prototype.profile = function(opt_title) {};\\n\\n/** @type {Array<ScriptProfile>} */\\nConsole.prototype.profiles;\\n\\n/**\\n * @param {string=} opt_title\\n * @return {undefined}\\n */\\nConsole.prototype.profileEnd = function(opt_title) {};\\n\\n/**\\n * @param {string} name\\n * @return {undefined}\\n */\\nConsole.prototype.time = function(name) {};\\n\\n/**\\n * @param {string} name\\n * @return {undefined}\\n */\\nConsole.prototype.timeEnd = function(name) {};\\n\\n/**\\n * @param {*} value\\n * @return {undefined}\\n */\\nConsole.prototype.timeStamp = function(value) {};\\n\\n/**\\n * @param {...*} var_args\\n * @return {undefined}\\n */\\nConsole.prototype.group = function(var_args) {};\\n\\n/**\\n * @param {...*} var_args\\n * @return {undefined}\\n */\\nConsole.prototype.groupCollapsed = function(var_args) {};\\n\\nConsole.prototype.groupEnd = function() {};\\n\\nConsole.prototype.clear = function() {};\\n\\n/** @type {MemoryInfo} */\\nConsole.prototype.memory;\\n\\n/** @type {!Console} */\\nWindow.prototype.console;\\n\\n/**\\n * @type {!Console}\\n * @suppress {duplicate}\\n */\\nvar console;\\n\\n/**\\n * @type {number}\\n * @see http://developer.android.com/reference/android/webkit/WebView.html\\n */\\nWindow.prototype.devicePixelRatio;\\n\\n/** @type {Node} */\\nSelection.prototype.baseNode;\\n\\n/** @type {number} */\\nSelection.prototype.baseOffset;\\n\\n/** @type {Node} */\\nSelection.prototype.extentNode;\\n\\n/** @type {number} */\\nSelection.prototype.extentOffset;\\n\\n/** @type {string} */\\nSelection.prototype.type;\\n\\n/**\\n * @return {undefined}\\n */\\nSelection.prototype.empty = function() {};\\n\\n/**\\n * @param {Node} baseNode\\n * @param {number} baseOffset\\n * @param {Node} extentNode\\n * @param {number} extentOffset\\n * @return {undefined}\\n */\\nSelection.prototype.setBaseAndExtent =\\n function(baseNode, baseOffset, extentNode, extentOffset) {};\\n\\n/**\\n * @param {string} alter\\n * @param {string} direction\\n * @param {string} granularity\\n * @return {undefined}\\n */\\nSelection.prototype.modify = function(alter, direction, granularity) {};\\n\\n/**\\n * @param {Element} element\\n * @param {string} pseudoElement\\n * @param {boolean=} opt_authorOnly\\n * @return {CSSRuleList}\\n * @nosideeffects\\n */\\nViewCSS.prototype.getMatchedCSSRules =\\n    function(element, pseudoElement, opt_authorOnly) {};\\n\\n/**\\n * @param {string} contextId\\n * @param {string} name\\n * @param {number} width\\n * @param {number} height\\n * @nosideeffects\\n * @return {undefined}\\n */\\nDocument.prototype.getCSSCanvasContext =\\n    function(contextId, name, width, height) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {?Range}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Document/caretRangeFromPoint\\n */\\nDocument.prototype.caretRangeFromPoint = function(x, y) {};\\n","externs/w3c_css.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s CSS specification\\n *  The whole file has been fully type annotated.\\n *  http://www.w3.org/TR/DOM-Level-2-Style/css.html\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n * @author stevey@google.com (Steve Yegge)\\n *\\n * TODO(nicksantos): When there are no more occurrences of w3c_range.js and\\n * gecko_dom.js being included directly in BUILD files, bug dbeam to split the\\n * bottom part of this file into a separate externs.\\n */\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet\\n */\\nfunction StyleSheet() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-type\\n */\\nStyleSheet.prototype.type;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-disabled\\n */\\nStyleSheet.prototype.disabled;\\n\\n/**\\n * @type {Node}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-owner\\n */\\nStyleSheet.prototype.ownerNode;\\n\\n/**\\n * @type {StyleSheet}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-parentStyleSheet\\n */\\nStyleSheet.prototype.parentStyleSheet;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-href\\n */\\nStyleSheet.prototype.href;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-title\\n */\\nStyleSheet.prototype.title;\\n\\n/**\\n * @type {MediaList}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-media\\n */\\nStyleSheet.prototype.media;\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike<!StyleSheet>}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheetList\\n */\\nfunction StyleSheetList() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheetList-length\\n */\\nStyleSheetList.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {StyleSheet}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheetList-item\\n */\\nStyleSheetList.prototype.item = function(index) {};\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike<!MediaList>}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-MediaList\\n */\\nfunction MediaList() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-MediaList-mediaText\\n */\\nMediaList.prototype.mediaText;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-MediaList-length\\n */\\nMediaList.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-MediaList-item\\n */\\nMediaList.prototype.item = function(index) {};\\n\\n/**\\n * @interface\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-LinkStyle\\n */\\nfunction LinkStyle() {}\\n\\n/**\\n * @type {StyleSheet}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-LinkStyle-sheet\\n */\\nLinkStyle.prototype.sheet;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-DocumentStyle\\n */\\nfunction DocumentStyle() {}\\n\\n/**\\n * @type {StyleSheetList}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-DocumentStyle-styleSheets\\n */\\nDocumentStyle.prototype.styleSheets;\\n\\n/**\\n * @constructor\\n * @extends {StyleSheet}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleSheet\\n */\\nfunction CSSStyleSheet() {}\\n\\n/**\\n * @type {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-';
a.a+="CSSStyleSheet-ownerRule\\n */\\nCSSStyleSheet.prototype.ownerRule;\\n\\n/**\\n * @type {CSSRuleList}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleSheet-cssRules\\n */\\nCSSStyleSheet.prototype.cssRules;\\n\\n/**\\n * @param {string} rule\\n * @param {number} index\\n * @return {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleSheet-insertRule\\n */\\nCSSStyleSheet.prototype.insertRule = function(rule, index) {};\\n\\n/**\\n * @param {number} index\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleSheet-deleteRule\\n * @return {undefined}\\n */\\nCSSStyleSheet.prototype.deleteRule = function(index) {};\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike<!CSSRule>}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRuleList\\n */\\nfunction CSSRuleList() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRuleList-length\\n */\\nCSSRuleList.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRuleList-item\\n */\\nCSSRuleList.prototype.item = function(index) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule\\n */\\nfunction CSSRule() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType\\n */\\nCSSRule.prototype.type;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-cssText\\n */\\nCSSRule.prototype.cssText;\\n\\n/**\\n * @type {CSSStyleSheet}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-sheet\\n */\\nCSSRule.prototype.parentStyleSheet;\\n\\n/**\\n * @type {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-parentRule\\n */\\nCSSRule.prototype.parentRule;\\n\\n/**\\n * @type {CSSStyleDeclaration}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleRule\\n */\\nCSSRule.prototype.style;\\n\\n/**\\n * Indicates that the rule is a {@see CSSUnknownRule}.\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType\\n */\\nCSSRule.UNKNOWN_RULE = 0;\\n\\n/**\\n * Indicates that the rule is a {@see CSSStyleRule}.\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType\\n */\\nCSSRule.STYLE_RULE = 1;\\n\\n/**\\n * Indicates that the rule is a {@see CSSCharsetRule}.\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType\\n */\\nCSSRule.CHARSET_RULE = 2;\\n\\n/**\\n * Indicates that the rule is a {@see CSSImportRule}.\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType\\n */\\nCSSRule.IMPORT_RULE = 3;\\n\\n/**\\n * Indicates that the rule is a {@see CSSMediaRule}.\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType\\n */\\nCSSRule.MEDIA_RULE = 4;\\n\\n/**\\n * Indicates that the rule is a {@see CSSFontFaceRule}.\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType\\n */\\nCSSRule.FONT_FACE_RULE = 5;\\n\\n/**\\n * Indicates that the rule is a {@see CSSPageRule}.\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType\\n */\\nCSSRule.PAGE_RULE = 6;\\n\\n/**\\n * @constructor\\n * @extends {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleRule\\n */\\nfunction CSSStyleRule() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleRule-selectorText\\n */\\nCSSStyleRule.prototype.selectorText;\\n\\n/**\\n * @type {CSSStyleDeclaration}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleRule-style\\n */\\nCSSStyleRule.prototype.style;\\n\\n/**\\n * @constructor\\n * @extends {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSMediaRule\\n */\\nfunction CSSMediaRule() {}\\n\\n/**\\n * @type {MediaList}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSMediaRule-mediaTypes\\n */\\nCSSMediaRule.prototype.media;\\n\\n/**\\n * @type {CSSRuleList}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSMediaRule-cssRules\\n */\\nCSSMediaRule.prototype.cssRules;\\n\\n/**\\n * @param {string} rule\\n * @param {number} index\\n * @return {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSMediaRule-insertRule\\n */\\nCSSMediaRule.prototype.insertRule = function(rule, index) {};\\n\\n/**\\n * @param {number} index\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSMediaRule-deleteRule\\n * @return {undefined}\\n */\\nCSSMediaRule.prototype.deleteRule = function(index) {};\\n\\n/**\\n * @constructor\\n * @extends {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSFontFaceRule\\n */\\nfunction CSSFontFaceRule() {}\\n\\n/**\\n * @type {CSSStyleDeclaration}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSFontFaceRule-style\\n */\\nCSSFontFaceRule.prototype.style;\\n\\n/**\\n * @constructor\\n * @extends {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPageRule\\n */\\nfunction CSSPageRule() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPageRule-name\\n */\\nCSSPageRule.prototype.selectorText;\\n\\n/**\\n * @type {CSSStyleDeclaration}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPageRule-style\\n */\\nCSSPageRule.prototype.style;\\n\\n/**\\n * @constructor\\n * @extends {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSImportRule\\n */\\nfunction CSSImportRule() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSImportRule-href\\n */\\nCSSImportRule.prototype.href;\\n\\n/**\\n * @type {MediaList}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSImportRule-media\\n */\\nCSSImportRule.prototype.media;\\n\\n/**\\n * @type {CSSStyleSheet}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSImportRule-styleSheet\\n */\\nCSSImportRule.prototype.styleSheet;\\n\\n/**\\n * @constructor\\n * @extends {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSCharsetRule\\n */\\nfunction CSSCharsetRule() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSCharsetRule-encoding\\n */\\nCSSCharsetRule.prototype.encoding;\\n\\n/**\\n * @constructor\\n * @extends {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSUnknownRule\\n */\\nfunction CSSUnknownRule() {}\\n\\n/**\\n * @constructor\\n * @extends {CSSProperties}\\n * @implements {IObject<(string|number), string>}\\n * @implements {IArrayLike<string>}\\n * @implements {Iterable<string>}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration\\n */\\nfunction CSSStyleDeclaration() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-cssText\\n */\\nCSSStyleDeclaration.prototype.cssText;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-length\\n */\\nCSSStyleDeclaration.prototype.length;\\n\\n/**\\n * @type {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-parentRule\\n */\\nCSSStyleDeclaration.prototype.parentRule;\\n\\n/**\\n * @param {string} propertyName\\n * @return {CSSValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-getPropertyCSSValue\\n */\\nCSSStyleDeclaration.prototype.getPropertyCSSValue = function(propertyName) {};\\n\\n/**\\n * @param {string} propertyName\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-getPropertyPriority\\n */\\nCSSStyleDeclaration.prototype.getPropertyPriority = function(propertyName) {};\\n\\n/**\\n * @param {string} propertyName\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-getPropertyValue\\n */\\nCSSStyleDeclaration.prototype.getPropertyValue = function(propertyName) {};\\n\\n/**\\n * @param {number} index\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-item\\n */\\nCSSStyleDeclaration.prototype.item = function(index) {};\\n\\n/**\\n * @param {string} propertyName\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-removeProperty\\n */\\nCSSStyleDeclaration.prototype.removeProperty = function(propertyName) {};\\n\\n/**\\n * @param {string} propertyName\\n * @param {string} value\\n * @param {string=} opt_priority\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-setProperty\\n */\\nCSSStyleDeclaration.prototype.setProperty = function(propertyName, value, opt_priority) {};\\n\\n// IE-specific\\n\\n/**\\n * @param {string} name\\n * @param {number=} opt_flags\\n * @return {string|number|boolean|null}\\n * @see http://msdn.microsoft.com/en-us/library/ms536429(VS.85).aspx\\n */\\nCSSStyleDeclaration.prototype.getAttribute = function(name, opt_flags) {};\\n\\n/**\\n * @param {string} name\\n * @return {string|number|boolean|null}\\n * @see http://msdn.microsoft.com/en-us/library/aa358797(VS.85).aspx\\n */\\nCSSStyleDeclaration.prototype.getExpression = function(name) {};\\n\\n/**\\n * @param {string} name\\n * @param {number=} opt_flags\\n * @return {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms536696(VS.85).aspx\\n */\\nCSSStyleDeclaration.prototype.removeAttribute =\\n    function(name, opt_flags) {};\\n\\n/**\\n * @param {string} name\\n * @return {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/aa358798(VS.85).aspx\\n */\\nCSSStyleDeclaration.prototype.removeExpression = function(name) {};\\n\\n/**\\n * @param {string} name\\n * @param {*} value\\n * @param {number=} opt_flags\\n * @see http://msdn.microsoft.com/en-us/library/ms536739(VS.85).aspx\\n * @return {undefined}\\n */\\nCSSStyleDeclaration.prototype.setAttribute = function(name, value, opt_flags) {};\\n\\n/**\\n * @param {string} name\\n * @param {string} expr\\n * @param {string=} opt_language\\n * @return {undefined}\\n * @see http://msdn.microsoft.com/en-us/library/ms531196(VS.85).aspx\\n */\\nCSSStyleDeclaration.prototype.setExpression =\\n    function(name, expr, opt_language) {};\\n\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValue\\n */\\nfunction CSSValue() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValue-cssText\\n */\\nCSSValue.prototype.cssText;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValue-cssValueType\\n */\\nCSSValue.prototype.cssValueType;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValue-types\\n */\\nCSSValue.CSS_INHERIT = 0;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValue-types\\n */\\nCSSValue.CSS_PRIMITIVE_VALUE = 1;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValue-types\\n */\\nCSSValue.CSS_VALUE_LIST = 2;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValue-types\\n */\\nCSSValue.CSS_CUSTOM = 3;\\n\\n/**\\n * @constructor\\n * @extends {CSSValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nfunction CSSPrimitiveValue() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.prototype.primitiveType;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_UNKNOWN = 0;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_NUMBER = 1;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_PERCENTAGE = 2;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_EMS = 3;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_EXS = 4;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_PX = 5;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_CM = 6;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_MM = 7;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_IN = 8;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_PT = 9;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_PC = 10;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_DEG = 11;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_RAD = 12;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_GRAD = 13;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_MS = 14;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_S = 15;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_HZ = 16;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_KHZ = 17;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_DIMENSION = 18;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_STRING = 19;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_URI = 20;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_IDENT = 21;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_ATTR = 22;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_COUNTER = 23;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_RECT = 24;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_RGBCOLOR = 25;\\n\\n/**\\n * @return {Counter}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-getCounterValue\\n * @throws DOMException {@see DomException.INVALID_ACCESS_ERR}\\n */\\nCSSPrimitiveValue.prototype.getCounterValue = function() {};\\n\\n/**\\n * @param {number} unitType\\n * @return {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-getFloatValue\\n * @throws DOMException {@see DomException.INVALID_ACCESS_ERR}\\n */\\nCSSPrimitiveValue.prototype.getFloatValue = function(unitType) {};\\n\\n/**\\n * @return {RGBColor}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-getRGBColorValue\\n * @throws DOMException {@see DomException.INVALID_ACCESS_ERR}\\n */\\nCSSPrimitiveValue.prototype.getRGBColorValue = function() {};\\n\\n/**\\n * @return {Rect}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-getRectValue\\n * @throws DOMException {@see DomException.INVALID_ACCESS_ERR}\\n */\\nCSSPrimitiveValue.prototype.getRectValue = function() {};\\n\\n/**\\n * @return {string}\\n * @see http://www.w3.org/";
a.a+="TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-getStringValue\\n * @throws DOMException {@see DomException.INVALID_ACCESS_ERR}\\n */\\nCSSPrimitiveValue.prototype.getStringValue = function() {};\\n\\n/**\\n * @param {number} unitType\\n * @param {number} floatValue\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-setFloatValue\\n * @throws DOMException {@see DomException.INVALID_ACCESS_ERR},\\n *                      {@see DomException.NO_MODIFICATION_ALLOWED_ERR}\\n */\\nCSSPrimitiveValue.prototype.setFloatValue = function(unitType, floatValue) {};\\n\\n/**\\n * @param {number} stringType\\n * @param {string} stringValue\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-setStringValue\\n * @throws DOMException {@see DomException.INVALID_ACCESS_ERR},\\n *                      {@see DomException.NO_MODIFICATION_ALLOWED_ERR}\\n */\\nCSSPrimitiveValue.prototype.setStringValue = function(stringType, stringValue) {};\\n\\n/**\\n * @constructor\\n * @extends {CSSValue}\\n * @implements {IArrayLike<!CSSValue>}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValueList\\n */\\nfunction CSSValueList() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValueList-length\\n */\\nCSSValueList.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {CSSValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValueList-item\\n */\\nCSSValueList.prototype.item = function(index) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-RGBColor\\n */\\nfunction RGBColor() {}\\n\\n/**\\n * @type {CSSPrimitiveValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-RGBColor-red\\n */\\nRGBColor.prototype.red;\\n\\n/**\\n * @type {CSSPrimitiveValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-RGBColor-green\\n */\\nRGBColor.prototype.green;\\n\\n/**\\n * @type {CSSPrimitiveValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-RGBColor-blue\\n */\\nRGBColor.prototype.blue;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Rect\\n */\\nfunction Rect() {}\\n\\n/**\\n * @type {CSSPrimitiveValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Rect-top\\n */\\nRect.prototype.top;\\n\\n/**\\n * @type {CSSPrimitiveValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Rect-right\\n */\\nRect.prototype.right;\\n\\n/**\\n * @type {CSSPrimitiveValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Rect-bottom\\n */\\nRect.prototype.bottom;\\n\\n/**\\n * @type {CSSPrimitiveValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Rect-left\\n */\\nRect.prototype.left;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Counter\\n */\\nfunction Counter() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Counter-identifier\\n */\\nCounter.prototype.identifier;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Counter-listStyle\\n */\\nCounter.prototype.listStyle;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Counter-separator\\n */\\nCounter.prototype.separator;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-ViewCSS\\n */\\nfunction ViewCSS() {}\\n\\n/**\\n * @param {Element} elt\\n * @param {?string=} opt_pseudoElt This argument is required according to the\\n *     CSS2 specification, but optional in all major browsers. See the note at\\n *     https://developer.mozilla.org/en-US/docs/Web/API/Window.getComputedStyle\\n * @return {?CSSStyleDeclaration}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSview-getComputedStyle\\n * @see https://bugzilla.mozilla.org/show_bug.cgi?id=548397\\n */\\nViewCSS.prototype.getComputedStyle = function(elt, opt_pseudoElt) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-DocumentCSS\\n */\\nfunction DocumentCSS() {}\\n\\n/**\\n * @param {Element} elt\\n * @param {string} pseudoElt\\n * @return {CSSStyleDeclaration}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-DocumentCSS-getOverrideStyle\\n */\\nDocumentCSS.prototype.getOverrideStyle = function(elt, pseudoElt) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-DOMImplementationCSS\\n */\\nfunction DOMImplementationCSS() {}\\n\\n/**\\n * @param {string} title\\n * @param {string} media\\n * @return {CSSStyleSheet}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-DOMImplementationCSS-createCSSStyleSheet\\n * @throws DOMException {@see DomException.SYNTAX_ERR}\\n */\\nDOMImplementationCSS.prototype.createCSSStyleSheet = function(title, media) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-ElementCSSInlineStyle\\n */\\nfunction ElementCSSInlineStyle() {}\\n\\n/**\\n * @type {CSSStyleDeclaration}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-ElementCSSInlineStyle-style\\n */\\nElementCSSInlineStyle.prototype.style;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties\\n */\\nfunction CSSProperties() {}\\n\\n// CSS 2 properties\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-azimuth\\n */\\nCSSProperties.prototype.azimuth;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-background\\n */\\nCSSProperties.prototype.background;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-backgroundAttachment\\n */\\nCSSProperties.prototype.backgroundAttachment;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-backgroundColor\\n */\\nCSSProperties.prototype.backgroundColor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-backgroundImage\\n */\\nCSSProperties.prototype.backgroundImage;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-backgroundPosition\\n */\\nCSSProperties.prototype.backgroundPosition;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-backgroundRepeat\\n */\\nCSSProperties.prototype.backgroundRepeat;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-background/#the-background-size\\n */\\nCSSProperties.prototype.backgroundSize;\\n\\n/**\\n * @implicitCast\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-border\\n */\\nCSSProperties.prototype.border;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderCollapse\\n */\\nCSSProperties.prototype.borderCollapse;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderColor\\n */\\nCSSProperties.prototype.borderColor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderSpacing\\n */\\nCSSProperties.prototype.borderSpacing;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-borderStyle\\n */\\nCSSProperties.prototype.borderStyle;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderTop\\n */\\nCSSProperties.prototype.borderTop;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderRight\\n */\\nCSSProperties.prototype.borderRight;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderBottom\\n */\\nCSSProperties.prototype.borderBottom;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderLeft\\n */\\nCSSProperties.prototype.borderLeft;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderTopColor\\n */\\nCSSProperties.prototype.borderTopColor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderRightColor\\n */\\nCSSProperties.prototype.borderRightColor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderBottomColor\\n */\\nCSSProperties.prototype.borderBottomColor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderLeftColor\\n */\\nCSSProperties.prototype.borderLeftColor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderTopStyle\\n */\\nCSSProperties.prototype.borderTopStyle;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderRightStyle\\n */\\nCSSProperties.prototype.borderRightStyle;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderBottomStyle\\n */\\nCSSProperties.prototype.borderBottomStyle;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderLeftStyle\\n */\\nCSSProperties.prototype.borderLeftStyle;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderTopWidth\\n */\\nCSSProperties.prototype.borderTopWidth;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderRightWidth\\n */\\nCSSProperties.prototype.borderRightWidth;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderBottomWidth\\n */\\nCSSProperties.prototype.borderBottomWidth;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderLeftWidth\\n */\\nCSSProperties.prototype.borderLeftWidth;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderWidth\\n */\\nCSSProperties.prototype.borderWidth;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/css3-background/#the-border-radius\\n */\\nCSSProperties.prototype.borderRadius;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/css3-background/#the-border-radius\\n */\\nCSSProperties.prototype.borderBottomLeftRadius;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/css3-background/#the-border-radius\\n */\\nCSSProperties.prototype.borderBottomRightRadius;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/css3-background/#the-border-radius\\n */\\nCSSProperties.prototype.borderTopLeftRadius;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/css3-background/#the-border-radius\\n */\\nCSSProperties.prototype.borderTopRightRadius;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-background/#the-border-image-source\\n */\\nCSSProperties.prototype.borderImageSource;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/css3-background/#the-border-image-slice\\n */\\nCSSProperties.prototype.borderImageSlice;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/css3-background/#the-border-image-width\\n */\\nCSSProperties.prototype.borderImageWidth;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/css3-background/#the-border-image-outset\\n */\\nCSSProperties.prototype.borderImageOutset;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-background/#the-border-image-repeat\\n */\\nCSSProperties.prototype.borderImageRepeat;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-background/#the-border-image\\n */\\nCSSProperties.prototype.borderImage;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/1998/REC-CSS2-19980512/visuren.html#propdef-bottom\\n */\\nCSSProperties.prototype.bottom;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-captionSide\\n */\\nCSSProperties.prototype.captionSide;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-clear\\n */\\nCSSProperties.prototype.clear;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-clip\\n */\\nCSSProperties.prototype.clip;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-color\\n */\\nCSSProperties.prototype.color;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-content\\n */\\nCSSProperties.prototype.content;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-counterIncrement\\n */\\nCSSProperties.prototype.counterIncrement;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-counterReset\\n */\\nCSSProperties.prototype.counterReset;\\n\\n/**\\n * This is not an official part of the W3C spec. In practice, this is a settable\\n * property that works cross-browser. It is used in goog.dom.setProperties() and\\n * needs to be extern'd so the --disambiguate_properties JS compiler pass works.\\n * @type {string}\\n */\\nCSSProperties.prototype.cssText;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-cue\\n */\\nCSSProperties.prototype.cue;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-cueAfter\\n */\\nCSSProperties.prototype.cueAfter;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-cueBefore\\n */\\nCSSProperties.prototype.cueBefore;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-cursor\\n */\\nCSSProperties.prototype.cursor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-direction\\n */\\nCSSProperties.prototype.direction;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-display\\n */\\nCSSProperties.prototype.display;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-elevation\\n */\\nCSSProperties.prototype.elevation;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-emptyCells\\n */\\nCSSProperties.prototype.emptyCells;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-cssFloat\\n */\\nCSSProperties.prototype.cssFloat;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-font\\n */\\nCSSProperties.prototype.font;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontFamily\\n */\\nCSSProperties.prototype.fontFamily;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontSize\\n */\\nCSSProperties.prototype.fontSize;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontSizeAdjust\\n */\\nCSSProperties.prototype.fontSizeAdjust;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontStretch\\n */\\nCSSProperties.prototype.fontStretch;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontStyle\\n */\\nCSSProperties.prototype.fontStyle;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontVariant\\n */\\nCSSProperties.prototype.fontVariant;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontWeight\\n */\\nCSSProperties.prototype.fontWeight;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-height\\n */\\nCSSProperties.prototype.height;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/1998/REC-CSS2-19980512/visuren.html#propdef-left\\n */\\nCSSProperties.prototype.left;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-letterSpacing\\n */\\nCSSProperties.prototype.letterSpacing;\\n\\n/**\\n * @type {string|number}\\n * ";
a.a+="@see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-lineHeight\\n */\\nCSSProperties.prototype.lineHeight;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-listStyle\\n */\\nCSSProperties.prototype.listStyle;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-listStyleImage\\n */\\nCSSProperties.prototype.listStyleImage;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-listStylePosition\\n */\\nCSSProperties.prototype.listStylePosition;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-listStyleType\\n */\\nCSSProperties.prototype.listStyleType;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-margin\\n */\\nCSSProperties.prototype.margin;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-marginTop\\n */\\nCSSProperties.prototype.marginTop;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-marginRight\\n */\\nCSSProperties.prototype.marginRight;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-marginBottom\\n */\\nCSSProperties.prototype.marginBottom;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-marginLeft\\n */\\nCSSProperties.prototype.marginLeft;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-markerOffset\\n */\\nCSSProperties.prototype.markerOffset;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-marks\\n */\\nCSSProperties.prototype.marks;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-maxHeight\\n */\\nCSSProperties.prototype.maxHeight;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-maxWidth\\n */\\nCSSProperties.prototype.maxWidth;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-minHeight\\n */\\nCSSProperties.prototype.minHeight;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-minWidth\\n */\\nCSSProperties.prototype.minWidth;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-orphans\\n */\\nCSSProperties.prototype.orphans;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-outline\\n */\\nCSSProperties.prototype.outline;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-outlineColor\\n */\\nCSSProperties.prototype.outlineColor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-outlineStyle\\n */\\nCSSProperties.prototype.outlineStyle;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-outlineWidth\\n */\\nCSSProperties.prototype.outlineWidth;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-overflow\\n */\\nCSSProperties.prototype.overflow;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-padding\\n */\\nCSSProperties.prototype.padding;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-paddingTop\\n */\\nCSSProperties.prototype.paddingTop;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-paddingRight\\n */\\nCSSProperties.prototype.paddingRight;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-paddingBottom\\n */\\nCSSProperties.prototype.paddingBottom;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-paddingLeft\\n */\\nCSSProperties.prototype.paddingLeft;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-page\\n */\\nCSSProperties.prototype.page;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pageBreakAfter\\n */\\nCSSProperties.prototype.pageBreakAfter;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pageBreakBefore\\n */\\nCSSProperties.prototype.pageBreakBefore;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pageBreakInside\\n */\\nCSSProperties.prototype.pageBreakInside;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pause\\n */\\nCSSProperties.prototype.pause;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pauseAfter\\n */\\nCSSProperties.prototype.pauseAfter;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pauseBefore\\n */\\nCSSProperties.prototype.pauseBefore;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pitch\\n */\\nCSSProperties.prototype.pitch;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pitchRange\\n */\\nCSSProperties.prototype.pitchRange;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-playDuring\\n */\\nCSSProperties.prototype.playDuring;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-position\\n */\\nCSSProperties.prototype.position;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-quotes\\n */\\nCSSProperties.prototype.quotes;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-ui/#resize\\n */\\nCSSProperties.prototype.resize;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-richness\\n */\\nCSSProperties.prototype.richness;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/1998/REC-CSS2-19980512/visuren.html#propdef-right\\n */\\nCSSProperties.prototype.right;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-size\\n */\\nCSSProperties.prototype.size;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-speak\\n */\\nCSSProperties.prototype.speak;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-speakHeader\\n */\\nCSSProperties.prototype.speakHeader;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-speakNumeral\\n */\\nCSSProperties.prototype.speakNumeral;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-speakPunctuation\\n */\\nCSSProperties.prototype.speakPunctuation;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-speechRate\\n */\\nCSSProperties.prototype.speechRate;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-stress\\n */\\nCSSProperties.prototype.stress;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-tableLayout\\n */\\nCSSProperties.prototype.tableLayout;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-textAlign\\n */\\nCSSProperties.prototype.textAlign;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-textDecoration\\n */\\nCSSProperties.prototype.textDecoration;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-textIndent\\n */\\nCSSProperties.prototype.textIndent;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-textShadow\\n */\\nCSSProperties.prototype.textShadow;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-textTransform\\n */\\nCSSProperties.prototype.textTransform;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/1998/REC-CSS2-19980512/visuren.html#propdef-top\\n */\\nCSSProperties.prototype.top;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-unicodeBidi\\n */\\nCSSProperties.prototype.unicodeBidi;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-verticalAlign\\n */\\nCSSProperties.prototype.verticalAlign;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-visibility\\n */\\nCSSProperties.prototype.visibility;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-voiceFamily\\n */\\nCSSProperties.prototype.voiceFamily;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-volume\\n */\\nCSSProperties.prototype.volume;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-whiteSpace\\n */\\nCSSProperties.prototype.whiteSpace;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-widows\\n */\\nCSSProperties.prototype.widows;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-width\\n */\\nCSSProperties.prototype.width;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-wordSpacing\\n */\\nCSSProperties.prototype.wordSpacing;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-wordWrap\\n */\\nCSSProperties.prototype.wordWrap;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-zIndex\\n */\\nCSSProperties.prototype.zIndex;\\n\\n// CSS 3 properties\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-background/#box-shadow\\n */\\nCSSProperties.prototype.boxShadow;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-ui/#box-sizing\\n */\\nCSSProperties.prototype.boxSizing;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/css3-color/#transparency\\n */\\nCSSProperties.prototype.opacity;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-ui/#text-overflow\\n */\\nCSSProperties.prototype.textOverflow;\\n\\n// CSS 3 transforms\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-2d-transforms/#backface-visibility-property\\n */\\nCSSProperties.prototype.backfaceVisibility;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-2d-transforms/#perspective\\n */\\nCSSProperties.prototype.perspective;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/css3-2d-transforms/#perspective-origin\\n */\\nCSSProperties.prototype.perspectiveOrigin;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-2d-transforms/#effects\\n */\\nCSSProperties.prototype.transform;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/css3-2d-transforms/#transform-origin\\n */\\nCSSProperties.prototype.transformOrigin;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-2d-transforms/#transform-style\\n */\\nCSSProperties.prototype.transformStyle;\\n\\n// CSS 3 transitions\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-transitions/#transition\\n */\\nCSSProperties.prototype.transition;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-transitions/#transition-delay\\n */\\nCSSProperties.prototype.transitionDelay;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-transitions/#transition-duration\\n */\\nCSSProperties.prototype.transitionDuration;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-transitions/#transition-property-property\\n */\\nCSSProperties.prototype.transitionProperty;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-transitions/#transition-timing-function\\n */\\nCSSProperties.prototype.transitionTimingFunction;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/SVG11/interact.html#PointerEventsProperty\\n */\\nCSSProperties.prototype.pointerEvents;\\n\\n\\n// CSS Flexbox 1\\n\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/css-flexbox-1/#align-content-property\\n */\\nCSSProperties.prototype.alignContent;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/css-flexbox-1/#align-items-property\\n */\\nCSSProperties.prototype.alignItems;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/css-flexbox-1/#align-items-property\\n */\\nCSSProperties.prototype.alignSelf;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/css-flexbox-1/#flex-property\\n */\\nCSSProperties.prototype.flex;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/css-flexbox-1/#flex-basis-property\\n */\\nCSSProperties.prototype.flexBasis;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/css-flexbox-1/#flex-direction-property\\n */\\nCSSProperties.prototype.flexDirection;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/css-flexbox-1/#flex-flow-property\\n */\\nCSSProperties.prototype.flexFlow;\\n\\n/**\\n * @type {number}\\n * @see https://www.w3.org/TR/css-flexbox-1/#flex-grow-property\\n */\\nCSSProperties.prototype.flexGrow;\\n\\n/**\\n * @type {number}\\n * @see https://www.w3.org/TR/css-flexbox-1/#flex-shrink-property\\n */\\nCSSProperties.prototype.flexShrink;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/css-flexbox-1/#flex-wrap-property\\n */\\nCSSProperties.prototype.flexWrap;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/css-flexbox-1/#justify-content-property\\n */\\nCSSProperties.prototype.justifyContent;\\n\\n/**\\n * @type {number}\\n * @see https://www.w3.org/TR/css-flexbox-1/#order-property\\n */\\nCSSProperties.prototype.order;\\n\\n// Externs for CSS Will Change Module Level 1\\n// http://www.w3.org/TR/css-will-change/\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css-will-change-1/#will-change\\n */\\nCSSProperties.prototype.willChange;\\n\\n\\n/**\\n * TODO(dbeam): Put this in separate file named w3c_cssom.js.\\n * Externs for the CSSOM View Module.\\n * @see http://www.w3.org/TR/cssom-view/\\n */\\n\\n// http://www.w3.org/TR/cssom-view/#extensions-to-the-window-interface\\n\\n/**\\n * @param {string} media_query_list\\n * @return {!MediaQueryList}\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-matchmedia\\n */\\nWindow.prototype.matchMedia = function(media_query_list) {};\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-innerwidth\\n */\\nWindow.prototype.innerWidth;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-innerheight\\n */\\nWindow.prototype.innerHeight;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-scrollx\\n */\\nWindow.prototype.scrollX;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-pagexoffset\\n */\\nWindow.prototype.pageXOffset;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-scrolly\\n */\\nWindow.prototype.scrollY;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-pageyoffset\\n */\\nWindow.prototype.pageYOffset;\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-scroll\\n * @return {undefined}\\n */\\nWindow.prototype.scroll = function(x, y) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-scrollto\\n * @return {undefined}\\n */\\nWindow.prototype.scrollTo = function(x, y) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-scrollby\\n * @return {undefined}\\n */\\nWindow.prototype.scrollBy = function(x, y) {};\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-screenx\\n */\\nWindow.prototype.screenX;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-screeny\\n */\\nWindow.";
a.a+="prototype.screenY;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-outerwidth\\n */\\nWindow.prototype.outerWidth;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-outerheight\\n */\\nWindow.prototype.outerHeight;\\n\\n/**\\n * @constructor\\n * @implements {EventTarget}\\n * @see http://www.w3.org/TR/cssom-view/#mediaquerylist\\n */\\nfunction MediaQueryList() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mediaquerylist-media\\n */\\nMediaQueryList.prototype.media;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mediaquerylist-matches\\n */\\nMediaQueryList.prototype.matches;\\n\\n/**\\n * @param {MediaQueryListListener} listener\\n * @see http://www.w3.org/TR/cssom-view/#dom-mediaquerylist-addlistener\\n * @return {undefined}\\n */\\nMediaQueryList.prototype.addListener = function(listener) {};\\n\\n/**\\n * @param {MediaQueryListListener} listener\\n * @see http://www.w3.org/TR/cssom-view/#dom-mediaquerylist-removelistener\\n * @return {undefined}\\n */\\nMediaQueryList.prototype.removeListener = function(listener) {};\\n\\n/** @override Not available in some browsers; use addListener instead. */\\nMediaQueryList.prototype.addEventListener = function(\\n    type, listener, opt_options) {};\\n\\n/** @override Not available in old browsers; use removeListener instead. */\\nMediaQueryList.prototype.removeEventListener = function(\\n    type, listener, opt_options) {};\\n\\n/** @override */\\nMediaQueryList.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * @typedef {(function(!MediaQueryList) : void)}\\n * @see http://www.w3.org/TR/cssom-view/#mediaquerylistlistener\\n */\\nvar MediaQueryListListener;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/cssom-view/#screen\\n */\\nfunction Screen() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-screen-availwidth\\n */\\nScreen.prototype.availWidth;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-screen-availheight\\n */\\nScreen.prototype.availHeight;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-screen-width\\n */\\nScreen.prototype.width;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-screen-height\\n */\\nScreen.prototype.height;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-screen-colordepth\\n */\\nScreen.prototype.colorDepth;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-screen-pixeldepth\\n */\\nScreen.prototype.pixelDepth;\\n\\n\\n// http://www.w3.org/TR/cssom-view/#extensions-to-the-document-interface\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {?Element}\\n * @see http://www.w3.org/TR/cssom-view/#dom-document-elementfrompoint\\n */\\nDocument.prototype.elementFromPoint = function(x, y) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {CaretPosition}\\n * @see http://www.w3.org/TR/cssom-view/#dom-document-caretpositionfrompoint\\n */\\nDocument.prototype.caretPositionFromPoint = function(x, y) {};\\n\\n/**\\n * @type {Element}\\n * @see http://dev.w3.org/csswg/cssom-view/#dom-document-scrollingelement\\n */\\nDocument.prototype.scrollingElement;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/cssom-view/#caretposition\\n */\\nfunction CaretPosition() {}\\n\\n/**\\n * @type {Node}\\n * @see http://www.w3.org/TR/cssom-view/#dom-caretposition-offsetnode\\n */\\nCaretPosition.prototype.offsetNode;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-caretposition-offset\\n */\\nCaretPosition.prototype.offset;\\n\\n\\n// http://www.w3.org/TR/cssom-view/#extensions-to-the-element-interface\\n\\n/**\\n * @return {!ClientRectList}\\n * @see http://www.w3.org/TR/cssom-view/#dom-element-getclientrects\\n */\\nElement.prototype.getClientRects = function() {};\\n\\n/**\\n * @return {!ClientRect}\\n * @see http://www.w3.org/TR/cssom-view/#dom-element-getboundingclientrect\\n */\\nElement.prototype.getBoundingClientRect = function() {};\\n\\n/**\\n * @param {(boolean|{behavior: string, block: string})=} opt_top\\n * @see http://www.w3.org/TR/cssom-view/#dom-element-scrollintoview\\n * @return {undefined}\\n */\\nElement.prototype.scrollIntoView = function(opt_top) {};\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-element-scrolltop\\n */\\nElement.prototype.scrollTop;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-element-scrollleft\\n */\\nElement.prototype.scrollLeft;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-element-scrollwidth\\n */\\nElement.prototype.scrollWidth;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-element-scrollheight\\n */\\nElement.prototype.scrollHeight;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-element-clienttop\\n */\\nElement.prototype.clientTop;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-element-clientleft\\n */\\nElement.prototype.clientLeft;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-element-clientwidth\\n */\\nElement.prototype.clientWidth;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-element-clientheight\\n */\\nElement.prototype.clientHeight;\\n\\n// http://www.w3.org/TR/cssom-view/#extensions-to-the-htmlelement-interface\\n\\n/**\\n * @type {Element}\\n * @see http://www.w3.org/TR/cssom-view/#dom-htmlelement-offsetparent\\n */\\nHTMLElement.prototype.offsetParent;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-htmlelement-offsettop\\n */\\nHTMLElement.prototype.offsetTop;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-htmlelement-offsetleft\\n */\\nHTMLElement.prototype.offsetLeft;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-htmlelement-offsetwidth\\n */\\nHTMLElement.prototype.offsetWidth;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-htmlelement-offsetheight\\n */\\nHTMLElement.prototype.offsetHeight;\\n\\n\\n// http://www.w3.org/TR/cssom-view/#extensions-to-the-range-interface\\n\\n/**\\n * @return {!ClientRectList}\\n * @see http://www.w3.org/TR/cssom-view/#dom-range-getclientrects\\n */\\nRange.prototype.getClientRects = function() {};\\n\\n/**\\n * @return {!ClientRect}\\n * @see http://www.w3.org/TR/cssom-view/#dom-range-getboundingclientrect\\n */\\nRange.prototype.getBoundingClientRect = function() {};\\n\\n\\n// http://www.w3.org/TR/cssom-view/#extensions-to-the-mouseevent-interface\\n\\n// MouseEvent: screen{X,Y} and client{X,Y} are in DOM Level 2/3 Event as well,\\n// so it seems like a specification issue. I've emailed www-style@w3.org in\\n// hopes of resolving the conflict, but in the mean time they can live here\\n// (http://lists.w3.org/Archives/Public/www-style/2012May/0039.html).\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-screenx\\n */\\n//MouseEvent.prototype.screenX;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-screeny\\n */\\n//MouseEvent.prototype.screenY;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-pagex\\n */\\nMouseEvent.prototype.pageX;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-pagey\\n */\\nMouseEvent.prototype.pageY;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-clientx\\n */\\n//MouseEvent.prototype.clientX;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-clienty\\n */\\n//MouseEvent.prototype.clientY;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-x\\n */\\nMouseEvent.prototype.x;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-y\\n */\\nMouseEvent.prototype.y;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-offsetx\\n */\\nMouseEvent.prototype.offsetX;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-offsety\\n */\\nMouseEvent.prototype.offsetY;\\n\\n\\n// http://www.w3.org/TR/cssom-view/#rectangles\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/cssom-view/#the-clientrectlist-interface\\n * @implements {IArrayLike<!ClientRect>}\\n */\\nfunction ClientRectList() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-clientrectlist-length\\n */\\nClientRectList.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {ClientRect}\\n * @see http://www.w3.org/TR/cssom-view/#dom-clientrectlist-item\\n */\\nClientRectList.prototype.item = function(index) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/cssom-view/#the-clientrect-interface\\n */\\nfunction ClientRect() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-clientrect-top\\n */\\nClientRect.prototype.top;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-clientrect-right\\n */\\nClientRect.prototype.right;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-clientrect-bottom\\n */\\nClientRect.prototype.bottom;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-clientrect-left\\n */\\nClientRect.prototype.left;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-clientrect-width\\n */\\nClientRect.prototype.width;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-clientrect-height\\n */\\nClientRect.prototype.height;\\n\\n/**\\n * @constructor\\n * http://www.w3.org/TR/css3-conditional/#CSS-interface\\n */\\nfunction CSSInterface() {}\\n\\n/**\\n * @param {string} ident\\n * @return {string}\\n * @see http://www.w3.org/TR/cssom/#the-css.escape()-method\\n * @throws DOMException {@see DOMException.INVALID_CHARACTER_ERR}\\n */\\nCSSInterface.prototype.escape = function(ident) {};\\n\\n/**\\n * @param {string} property\\n * @param {string=} opt_value\\n * @return {boolean}\\n */\\nCSSInterface.prototype.supports = function(property, opt_value) {};\\n\\n/**\\n * TODO(nicksantos): This suppress tag probably isn't needed, and\\n * should be removed.\\n * @suppress {duplicate}\\n * @type {CSSInterface}\\n */\\nvar CSS;\\n\\n/** @type {CSSInterface} */\\nWindow.prototype.CSS;\\n\\n// http://dev.w3.org/csswg/css-font-loading/\\n\\n/**\\n * Set of possible string values: 'error', 'loaded', 'loading', 'unloaded'.\\n * @typedef {string}\\n * @see http://dev.w3.org/csswg/css-font-loading/#enumdef-fontfaceloadstatus\\n */\\nvar FontFaceLoadStatus;\\n\\n/**\\n * @typedef {{\\n *   style: (string|undefined),\\n *   weight: (string|undefined),\\n *   stretch: (string|undefined),\\n *   unicodeRange: (string|undefined),\\n *   variant: (string|undefined),\\n *   featureSettings: (string|undefined)\\n * }}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dictdef-fontfacedescriptors\\n */\\nvar FontFaceDescriptors;\\n\\n/**\\n * @constructor\\n * @param {string} fontFamily\\n * @param {(string|ArrayBuffer|ArrayBufferView)} source\\n * @param {!FontFaceDescriptors=} opt_descriptors\\n * @see http://dev.w3.org/csswg/css-font-loading/#font-face-constructor\\n */\\nfunction FontFace(fontFamily, source, opt_descriptors) {}\\n\\n/**\\n * @type {string}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-family\\n */\\nFontFace.prototype.family;\\n\\n/**\\n * @type {string}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-style\\n */\\nFontFace.prototype.style;\\n\\n/**\\n * @type {string}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-weight\\n */\\nFontFace.prototype.weight;\\n\\n/**\\n * @type {string}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-stretch\\n */\\nFontFace.prototype.stretch;\\n\\n/**\\n * @type {string}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-unicoderange\\n */\\nFontFace.prototype.unicodeRange;\\n\\n/**\\n * @type {string}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-variant\\n */\\nFontFace.prototype.variant;\\n\\n/**\\n * @type {string}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-featuresettings\\n */\\nFontFace.prototype.featureSettings;\\n\\n/**\\n * @type {FontFaceLoadStatus}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-status\\n */\\nFontFace.prototype.status;\\n\\n/**\\n * @return {!Promise<!FontFace>}\\n * @see http://dev.w3.org/csswg/css-font-loading/#font-face-load\\n */\\nFontFace.prototype.load = function() {};\\n\\n/**\\n * Set of possible string values: 'loaded', 'loading'.\\n * @typedef {string}\\n * @see http://dev.w3.org/csswg/css-font-loading/#enumdef-fontfacesetloadstatus\\n */\\nvar FontFaceSetLoadStatus;\\n\\n/**\\n * @interface\\n * @extends {EventTarget}\\n * @see http://dev.w3.org/csswg/css-font-loading/#FontFaceSet-interface\\n */\\nfunction FontFaceSet() {}\\n\\n// Event handlers\\n// http://dev.w3.org/csswg/css-font-loading/#FontFaceSet-events\\n\\n/** @type {?function (Event)} */ FontFaceSet.prototype.onloading;\\n/** @type {?function (Event)} */ FontFaceSet.prototype.onloadingdone;\\n/** @type {?function (Event)} */ FontFaceSet.prototype.onloadingerror;\\n\\n/**\\n * @param {!FontFace} value\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-add\\n * @return {undefined}\\n */\\nFontFaceSet.prototype.add = function(value) {};\\n\\n/**\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-clear\\n * @return {undefined}\\n */\\nFontFaceSet.prototype.clear = function() {};\\n\\n/**\\n * @param {!FontFace} value\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-delete\\n * @return {undefined}\\n */\\nFontFaceSet.prototype.delete = function(value) {};\\n\\n/**\\n * @param {!FontFace} font\\n * @return {boolean}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-has\\n */\\nFontFaceSet.prototype.has = function(font) {};\\n\\n/**\\n * @param {function(!FontFace, number, !FontFaceSet)} callback\\n * @param {Object|undefined=} opt_selfObj\\n * see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-foreach\\n * @return {undefined}\\n */\\nFontFaceSet.prototype.forEach = function(callback, opt_selfObj) {};\\n\\n/**\\n * @param {string} font\\n * @param {string=} opt_text\\n * @return {!Promise<!Array<!FontFace>>}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-load\\n */\\nFontFaceSet.prototype.load = function(font, opt_text) {};\\n\\n/**\\n * @param {string} font\\n * @param {string=} opt_text\\n * @return {boolean}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-check\\n */\\nFontFaceSet.prototype.check = function(font, opt_text) {};\\n\\n/**\\n * @type {!Promise<!FontFaceSet>}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-ready\\n */\\nFontFaceSet.prototype.ready;\\n\\n/**\\n * @type {FontFaceSetLoadStatus}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-status\\n */\\nFontFaceSet.prototype.status;\\n\",\"externs/gecko_css.js\":\"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for Gecko's custom CSS properties. Copied from:\\n * http://mxr.mozilla.org/mozilla2.0/source/dom/interfaces/css/nsIDOMCSS2Properties.idl\\n *\\n * @externs\\n * @author nicksantos@google.com (Nick Santos)\\n */\\n\\n\\n/** @type {string} */ CSSProperties.prototype.MozAppearance;\\n/** @type {string} */ CSSProperties.prototype.MozBackfaceVisibility;\\n/** @type {string} */ CSSProperties.prototype.MozBackgroundClip;\\n/** @type {string} */ CSSProperties.prototype.MozBackgroundInlinePolicy;\\n/** @type {string} */ CSSProperties.prototype.MozBackgroundOrigin;\\n/** @type {string} */ CSSProperties.prototype.MozBinding;\\n/** @type {string} */ CSSProperties.prototype.MozBorderBottomColors;\\n/** @type {string} */ CSSProperties.prototype.MozBorderEnd;\\n/** @type {string} */ CSSProperties.prototype.MozBorderEndColor;\\n/** @type {string} */ CSSProperties.prototype.MozBorderEndStyle;\\n/** @type {string} */ CSSProperties.prototype.MozBorderEndWidth;\\n/** @ty";
a.a+='pe {string} */ CSSProperties.prototype.MozBorderImage;\\n/** @type {string} */ CSSProperties.prototype.MozBorderLeftColors;\\n/** @type {string} */ CSSProperties.prototype.MozBorderRadius;\\n/** @type {string} */ CSSProperties.prototype.MozBorderRadiusTopleft;\\n/** @type {string} */ CSSProperties.prototype.MozBorderRadiusTopright;\\n/** @type {string} */ CSSProperties.prototype.MozBorderRadiusBottomleft;\\n/** @type {string} */ CSSProperties.prototype.MozBorderRadiusBottomright;\\n/** @type {string} */ CSSProperties.prototype.MozBorderRightColors;\\n/** @type {string} */ CSSProperties.prototype.MozBorderStart;\\n/** @type {string} */ CSSProperties.prototype.MozBorderStartColor;\\n/** @type {string} */ CSSProperties.prototype.MozBorderStartStyle;\\n/** @type {string} */ CSSProperties.prototype.MozBorderStartWidth;\\n/** @type {string} */ CSSProperties.prototype.MozBorderTopColors;\\n/** @type {string} */ CSSProperties.prototype.MozBoxAlign;\\n/** @type {string} */ CSSProperties.prototype.MozBoxDirection;\\n/** @type {string} */ CSSProperties.prototype.MozBoxFlex;\\n/** @type {string} */ CSSProperties.prototype.MozBoxOrdinalGroup;\\n/** @type {string} */ CSSProperties.prototype.MozBoxOrient;\\n/** @type {string} */ CSSProperties.prototype.MozBoxPack;\\n/** @type {string} */ CSSProperties.prototype.MozBoxSizing;\\n/** @type {string} */ CSSProperties.prototype.MozBoxShadow;\\n/** @type {string} */ CSSProperties.prototype.MozColumnCount;\\n/** @type {string} */ CSSProperties.prototype.MozColumnGap;\\n/** @type {string} */ CSSProperties.prototype.MozColumnRule;\\n/** @type {string} */ CSSProperties.prototype.MozColumnRuleColor;\\n/** @type {string} */ CSSProperties.prototype.MozColumnRuleStyle;\\n/** @type {string} */ CSSProperties.prototype.MozColumnRuleWidth;\\n/** @type {string} */ CSSProperties.prototype.MozColumnWidth;\\n/** @type {string} */ CSSProperties.prototype.MozFloatEdge;\\n/** @type {string} */ CSSProperties.prototype.MozFontFeatureSettings;\\n/** @type {string} */ CSSProperties.prototype.MozFontLanguageOverride;\\n/** @type {string} */ CSSProperties.prototype.MozForceBrokenImageIcon;\\n/** @type {string} */ CSSProperties.prototype.MozImageRegion;\\n/** @type {string} */ CSSProperties.prototype.MozMarginEnd;\\n/** @type {string} */ CSSProperties.prototype.MozMarginStart;\\n/** @type {number|string} */ CSSProperties.prototype.MozOpacity;\\n/** @type {string} */ CSSProperties.prototype.MozOutline;\\n/** @type {string} */ CSSProperties.prototype.MozOutlineColor;\\n/** @type {string} */ CSSProperties.prototype.MozOutlineOffset;\\n/** @type {string} */ CSSProperties.prototype.MozOutlineRadius;\\n/** @type {string} */ CSSProperties.prototype.MozOutlineRadiusBottomleft;\\n/** @type {string} */ CSSProperties.prototype.MozOutlineRadiusBottomright;\\n/** @type {string} */ CSSProperties.prototype.MozOutlineRadiusTopleft;\\n/** @type {string} */ CSSProperties.prototype.MozOutlineRadiusTopright;\\n/** @type {string} */ CSSProperties.prototype.MozOutlineStyle;\\n/** @type {string} */ CSSProperties.prototype.MozOutlineWidth;\\n/** @type {string} */ CSSProperties.prototype.MozPaddingEnd;\\n/** @type {string} */ CSSProperties.prototype.MozPaddingStart;\\n/** @type {string} */ CSSProperties.prototype.MozPerspective;\\n/** @type {string} */ CSSProperties.prototype.MozStackSizing;\\n/** @type {string} */ CSSProperties.prototype.MozTabSize;\\n/** @type {string} */ CSSProperties.prototype.MozTransform;\\n/** @type {string} */ CSSProperties.prototype.MozTransformOrigin;\\n/** @type {string} */ CSSProperties.prototype.MozTransition;\\n/** @type {string} */ CSSProperties.prototype.MozTransitionDelay;\\n/** @type {string} */ CSSProperties.prototype.MozTransitionDuration;\\n/** @type {string} */ CSSProperties.prototype.MozTransitionProperty;\\n/** @type {string} */ CSSProperties.prototype.MozTransitionTimingFunction;\\n/** @type {string} */ CSSProperties.prototype.MozUserFocus;\\n/** @type {string} */ CSSProperties.prototype.MozUserInput;\\n/** @type {string} */ CSSProperties.prototype.MozUserModify;\\n/** @type {string} */ CSSProperties.prototype.MozUserSelect;\\n/** @type {string} */ CSSProperties.prototype.MozWindowShadow;\\n\\n\\n// These are non-standard Gecko CSSOM properties on Window.prototype.screen.\\n\\n/**\\n * @type {number}\\n * @see https://developer.mozilla.org/En/DOM/window.screen.availTop\\n */\\nScreen.prototype.availTop;\\n\\n/**\\n * @type {number}\\n * @see https://developer.mozilla.org/En/DOM/window.screen.availLeft\\n */\\nScreen.prototype.availLeft;\\n\\n/**\\n * @type {number}\\n * @see https://developer.mozilla.org/En/DOM/window.screen.left\\n */\\nScreen.prototype.left;\\n\\n/**\\n * @type {number}\\n * @see https://developer.mozilla.org/En/DOM/window.screen.top\\n */\\nScreen.prototype.top;\\n","externs/ie_css.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for IE\'s custom CSS properties, as defined here:\\n * http://msdn.microsoft.com/en-us/library/aa768661(VS.85).aspx\\n *\\n * This page is also useful for the IDL definitions:\\n * http://source.winehq.org/source/include/mshtml.idl\\n *\\n * @externs\\n * @author nicksantos@google.com\\n */\\n\\n/** @type {Element} */\\nStyleSheet.prototype.owningElement;\\n\\n/** @type {boolean} */\\nStyleSheet.prototype.readOnly;\\n\\n/** @type {StyleSheetList} */\\nStyleSheet.prototype.imports;\\n\\n/** @type {string} */\\nStyleSheet.prototype.id;\\n\\n/**\\n * @param {string} bstrURL\\n * @param {number} lIndex\\n * @return {number}\\n */\\nStyleSheet.prototype.addImport;\\n\\n/**\\n * @param {string} bstrSelector\\n * @param {string} bstrStyle\\n * @param {number=} opt_iIndex\\n * @return {number}\\n * @see http://msdn.microsoft.com/en-us/library/aa358796%28v=vs.85%29.aspx\\n */\\nStyleSheet.prototype.addRule;\\n\\n/**\\n * @param {number} lIndex\\n */\\nStyleSheet.prototype.removeImport;\\n\\n/**\\n * @param {number} lIndex\\n */\\nStyleSheet.prototype.removeRule;\\n\\n/** @type {string} */\\nStyleSheet.prototype.cssText;\\n\\n/** @type {CSSRuleList} */\\nStyleSheet.prototype.rules;\\n\\n// StyleSheet methods\\n\\n/**\\n * @param {string} propName\\n * @return {string}\\n * @see http://msdn.microsoft.com/en-us/library/aa358797(VS.85).aspx\\n */\\nStyleSheet.prototype.getExpression;\\n\\n/**\\n * @param {string} name\\n * @param {string} expression\\n * @return {undefined}\\n * @see http://msdn.microsoft.com/en-us/library/ms531196(VS.85).aspx\\n */\\nStyleSheet.prototype.setExpression;\\n\\n/**\\n * @param {string} expression\\n * @return {undefined}\\n * @see http://msdn.microsoft.com/en-us/library/aa358798(VS.85).aspx\\n */\\nStyleSheet.prototype.removeExpression;\\n\\n// IE-only CSS style names.\\n\\n/** @type {string} */ CSSProperties.prototype.backgroundPositionX;\\n\\n/** @type {string} */ CSSProperties.prototype.backgroundPositionY;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ie/ms531081(v=vs.85).aspx\\n * NOTE: Left untyped to avoid conflict with caller.\\n */\\nCSSProperties.prototype.behavior;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms533883.aspx\\n */\\nCSSProperties.prototype.imeMode;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms534176(VS.85).aspx\\n */\\nCSSProperties.prototype.msInterpolationMode;\\n\\n/** @type {string} */ CSSProperties.prototype.overflowX;\\n\\n/** @type {string} */ CSSProperties.prototype.overflowY;\\n\\n/** @type {number} */ CSSProperties.prototype.pixelWidth;\\n\\n/** @type {number} */ CSSProperties.prototype.pixelHeight;\\n\\n/** @type {number} */ CSSProperties.prototype.pixelLeft;\\n\\n/** @type {number} */ CSSProperties.prototype.pixelTop;\\n\\n/** @type {string} */ CSSProperties.prototype.styleFloat;\\n\\n/**\\n * @type {string|number}\\n * @see http://msdn.microsoft.com/en-us/library/ms535169(VS.85).aspx\\n */\\nCSSProperties.prototype.zoom;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms535153(VS.85).aspx\\n */\\nCSSProperties.prototype.writingMode;\\n\\n/**\\n * IE-specific extensions.\\n * @see http://blogs.msdn.com/b/ie/archive/2008/09/08/microsoft-css-vendor-extensions.aspx\\n */\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsAccelerator;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsBackgroundPositionX;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsBackgroundPositionY;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsBehavior;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsBlockProgression;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsFilter;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsImeMode;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsLayoutGrid;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsLayoutGridChar;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsLayoutGridLine;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsLayoutGridMode;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsLayoutGridType;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsLineBreak;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsLineGridMode;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsInterpolationMode;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsOverflowX;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsOverflowY;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsScrollbar3dlightColor;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsScrollbarArrowColor;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsScrollbarBaseColor;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsScrollbarDarkshadowColor;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsScrollbarFaceColor;\\n\\nCSSProperties.prototype.MsScrollbarHighlightColor;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsScrollbarShadowColor;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsScrollbarTrackColor;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsTextAlignLast;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsTextAutospace;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsTextJustify;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsTextKashidaSpace;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsTextOverflow;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsTextUnderlinePosition;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsWordBreak;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsWordWrap;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsWritingMode;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsZoom;\\n\\n// See: http://msdn.microsoft.com/en-us/library/windows/apps/Hh702466.aspx\\n\\n/** @type {string} */\\nCSSProperties.prototype.msContentZooming;\\n\\n/** @type {string} */\\nCSSProperties.prototype.msTouchAction;\\n\\n/** @type {string} */\\nCSSProperties.prototype.msTransform;\\n\\n/** @type {string} */\\nCSSProperties.prototype.msTransition;\\n","externs/webkit_css.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for WebKit\'s custom CSS properties. Copied from:\\n * {@link\\n * http://trac.webkit.org/browser/trunk/Source/WebCore/css/CSSPropertyNames.in}\\n *\\n * If you make changes to this file, notice that every property appears\\n * twice: once as an uppercase name and once as a lowercase name.\\n * WebKit allows both. The uppercase version is preferred.\\n *\\n * @externs\\n * @author nicksantos@google.com (Nick Santos)\\n * @author mastepien@google.com (Marek Stepien)\\n */\\n\\n/** @type {string} */ CSSProperties.prototype.WebkitAlignContent;\\n/** @type {string} */ CSSProperties.prototype.WebkitAlignItems;\\n/** @type {string} */ CSSProperties.prototype.WebkitAlignSelf;\\n/** @type {string} */ CSSProperties.prototype.WebkitAnimation;\\n/** @type {string} */ CSSProperties.prototype.WebkitAnimationDelay;\\n/** @type {string} */ CSSProperties.prototype.WebkitAnimationDirection;\\n/** @type {string} */ CSSProperties.prototype.WebkitAnimationDuration;\\n/** @type {string} */ CSSProperties.prototype.WebkitAnimationFillMode;\\n/** @type {string} */ CSSProperties.prototype.WebkitAnimationIterationCount;\\n/** @type {string} */ CSSProperties.prototype.WebkitAnimationName;\\n/** @type {string} */ CSSProperties.prototype.WebkitAnimationPlayState;\\n/** @type {string} */ CSSProperties.prototype.WebkitAnimationTimingFunction;\\n/** @type {string} */ CSSProperties.prototype.WebkitAppearance;\\n/** @type {string} */ CSSProperties.prototype.WebkitAppRegion;\\n/** @type {string} */ CSSProperties.prototype.WebkitAspectRatio;\\n/** @type {string} */ CSSProperties.prototype.WebkitBackfaceVisibility;\\n/** @type {string} */ CSSProperties.prototype.WebkitBackgroundClip;\\n/** @type {string} */ CSSProperties.prototype.WebkitBackgroundComposite;\\n/** @type {string} */ CSSProperties.prototype.WebkitBackgroundOrigin;\\n/** @type {string} */ CSSProperties.prototype.WebkitBackgroundSize;\\n/** @type {string} */ CSSProperties.prototype.WebkitBinding;\\n/** @type {string} */ CSSProperties.prototype.WebkitBlendMode;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderAfter;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderAfterColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderAfterStyle;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderAfterWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderBefore;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderBeforeColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderBeforeStyle;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderBeforeWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderBottomLeftRadius;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderBottomRightRadius;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderEnd;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderEndColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderEndStyle;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderEndWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderFit;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderHorizontalSpacing;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderImage;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderRadius;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderStart;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderStartColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderStartStyle;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderStartWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderTopLeftRadius;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderTopRightRadius;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderVerticalSpacing;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxAlign;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxDecorationBreak;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxDirection;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxFlex;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxFlexGroup;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxLines;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxOrdinalGroup;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxOrient;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxPack;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxReflect;\\n/** @type {string} */ CSSProp';
a.a+="erties.prototype.WebkitBoxShadow;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxSizing;\\n/** @type {string} */ CSSProperties.prototype.WebkitColorCorrection;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnAxis;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnBreakAfter;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnBreakBefore;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnBreakInside;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnCount;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnGap;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnProgression;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnRule;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnRuleColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnRuleStyle;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnRuleWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumns;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnSpan;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitDashboardRegion;\\n/** @type {string} */ CSSProperties.prototype.WebkitFilter;\\n/** @type {string} */ CSSProperties.prototype.WebkitFlex;\\n/** @type {string} */ CSSProperties.prototype.WebkitFlexBasis;\\n/** @type {string} */ CSSProperties.prototype.WebkitFlexDirection;\\n/** @type {string} */ CSSProperties.prototype.WebkitFlexFlow;\\n/** @type {string} */ CSSProperties.prototype.WebkitFlexGrow;\\n/** @type {string} */ CSSProperties.prototype.WebkitFlexShrink;\\n/** @type {string} */ CSSProperties.prototype.WebkitFlexWrap;\\n/** @type {string} */ CSSProperties.prototype.WebkitFlowFrom;\\n/** @type {string} */ CSSProperties.prototype.WebkitFlowInto;\\n/** @type {string} */ CSSProperties.prototype.WebkitFontSizeDelta;\\n/** @type {string} */ CSSProperties.prototype.WebkitFontSmoothing;\\n/** @type {string} */ CSSProperties.prototype.WebkitGridColumn;\\n/** @type {string} */ CSSProperties.prototype.WebkitGridColumns;\\n/** @type {string} */ CSSProperties.prototype.WebkitGridRow;\\n/** @type {string} */ CSSProperties.prototype.WebkitGridRows;\\n/** @type {string} */ CSSProperties.prototype.WebkitHighlight;\\n/** @type {string} */ CSSProperties.prototype.WebkitHyphenateCharacter;\\n/** @type {string} */ CSSProperties.prototype.WebkitHyphenateLimitAfter;\\n/** @type {string} */ CSSProperties.prototype.WebkitHyphenateLimitBefore;\\n/** @type {string} */ CSSProperties.prototype.WebkitHyphenateLimitLines;\\n/** @type {string} */ CSSProperties.prototype.WebkitHyphens;\\n/** @type {string} */ CSSProperties.prototype.WebkitJustifyContent;\\n/** @type {string} */ CSSProperties.prototype.WebkitLineAlign;\\n/** @type {string} */ CSSProperties.prototype.WebkitLineBoxContain;\\n/** @type {string} */ CSSProperties.prototype.WebkitLineBreak;\\n/** @type {string} */ CSSProperties.prototype.WebkitLineClamp;\\n/** @type {string} */ CSSProperties.prototype.WebkitLineGrid;\\n/** @type {string} */ CSSProperties.prototype.WebkitLineSnap;\\n/** @type {string} */ CSSProperties.prototype.WebkitLocale;\\n/** @type {string} */ CSSProperties.prototype.WebkitLogicalHeight;\\n/** @type {string} */ CSSProperties.prototype.WebkitLogicalWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarginAfter;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarginAfterCollapse;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarginBefore;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarginBeforeCollapse;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarginBottomCollapse;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarginCollapse;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarginEnd;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarginStart;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarginTopCollapse;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarquee;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarqueeDirection;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarqueeIncrement;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarqueeRepetition;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarqueeSpeed;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarqueeStyle;\\n/** @type {string} */ CSSProperties.prototype.WebkitMask;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskAttachment;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskBoxImage;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskBoxImageOutset;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskBoxImageRepeat;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskBoxImageSlice;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskBoxImageSource;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskBoxImageWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskClip;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskComposite;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskImage;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskOrigin;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskPosition;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskPositionX;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskPositionY;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskRepeat;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskRepeatX;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskRepeatY;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskSize;\\n/** @type {string} */\\nCSSProperties.prototype.WebkitMatchNearestMailBlockquoteColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaxLogicalHeight;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaxLogicalWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitMinLogicalHeight;\\n/** @type {string} */ CSSProperties.prototype.WebkitMinLogicalWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitNbspMode;\\n/** @type {string} */ CSSProperties.prototype.WebkitOrder;\\n/** @type {string} */ CSSProperties.prototype.WebkitOverflowScrolling;\\n/** @type {string} */ CSSProperties.prototype.WebkitPaddingAfter;\\n/** @type {string} */ CSSProperties.prototype.WebkitPaddingBefore;\\n/** @type {string} */ CSSProperties.prototype.WebkitPaddingEnd;\\n/** @type {string} */ CSSProperties.prototype.WebkitPaddingStart;\\n/** @type {string} */ CSSProperties.prototype.WebkitPerspective;\\n/** @type {string} */ CSSProperties.prototype.WebkitPerspectiveOrigin;\\n/** @type {string} */ CSSProperties.prototype.WebkitPerspectiveOriginX;\\n/** @type {string} */ CSSProperties.prototype.WebkitPerspectiveOriginY;\\n/** @type {string} */ CSSProperties.prototype.WebkitPrintColorAdjust;\\n/** @type {string} */ CSSProperties.prototype.WebkitRegionBreakAfter;\\n/** @type {string} */ CSSProperties.prototype.WebkitRegionBreakBefore;\\n/** @type {string} */ CSSProperties.prototype.WebkitRegionBreakInside;\\n/** @type {string} */ CSSProperties.prototype.WebkitRegionOverflow;\\n/** @type {string} */ CSSProperties.prototype.WebkitRtlOrdering;\\n/** @type {string} */ CSSProperties.prototype.WebkitRubyPosition;\\n/** @type {string} */ CSSProperties.prototype.WebkitShapeInside;\\n/** @type {string} */ CSSProperties.prototype.WebkitShapeMargin;\\n/** @type {string} */ CSSProperties.prototype.WebkitShapeOutside;\\n/** @type {string} */ CSSProperties.prototype.WebkitShapePadding;\\n/** @type {string} */ CSSProperties.prototype.WebkitTapHighlightColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextAlignLast;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextCombine;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextDecorationLine;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextDecorationsInEffect;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextDecorationStyle;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextEmphasis;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextEmphasisColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextEmphasisPosition;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextEmphasisStyle;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextFillColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextOrientation;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextSecurity;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextSizeAdjust;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextStroke;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextStrokeColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextStrokeWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransform;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransformOrigin;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransformOriginX;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransformOriginY;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransformOriginZ;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransformStyle;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransition;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransitionDelay;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransitionDuration;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransitionProperty;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransitionRepeatCount;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransitionTimingFunction;\\n/** @type {string} */ CSSProperties.prototype.WebkitUserDrag;\\n/** @type {string} */ CSSProperties.prototype.WebkitUserModify;\\n/** @type {string} */ CSSProperties.prototype.WebkitUserSelect;\\n/** @type {string} */ CSSProperties.prototype.WebkitWrap;\\n/** @type {string} */ CSSProperties.prototype.WebkitWrapFlow;\\n/** @type {string} */ CSSProperties.prototype.WebkitWrapThrough;\\n/** @type {string} */ CSSProperties.prototype.WebkitWritingMode;\\n\\n// WebKit also adds bindings for the lowercase versions of these properties.\\n// The uppercase version is preferred.\\n\\n/** @type {string} */ CSSProperties.prototype.webkitAlignContent;\\n/** @type {string} */ CSSProperties.prototype.webkitAlignItems;\\n/** @type {string} */ CSSProperties.prototype.webkitAlignSelf;\\n/** @type {string} */ CSSProperties.prototype.webkitAnimation;\\n/** @type {string} */ CSSProperties.prototype.webkitAnimationDelay;\\n/** @type {string} */ CSSProperties.prototype.webkitAnimationDirection;\\n/** @type {string} */ CSSProperties.prototype.webkitAnimationDuration;\\n/** @type {string} */ CSSProperties.prototype.webkitAnimationFillMode;\\n/** @type {string} */ CSSProperties.prototype.webkitAnimationIterationCount;\\n/** @type {string} */ CSSProperties.prototype.webkitAnimationName;\\n/** @type {string} */ CSSProperties.prototype.webkitAnimationPlayState;\\n/** @type {string} */ CSSProperties.prototype.webkitAnimationTimingFunction;\\n/** @type {string} */ CSSProperties.prototype.webkitAppearance;\\n/** @type {string} */ CSSProperties.prototype.webkitAppRegion;\\n/** @type {string} */ CSSProperties.prototype.webkitAspectRatio;\\n/** @type {string} */ CSSProperties.prototype.webkitBackfaceVisibility;\\n/** @type {string} */ CSSProperties.prototype.webkitBackgroundClip;\\n/** @type {string} */ CSSProperties.prototype.webkitBackgroundComposite;\\n/** @type {string} */ CSSProperties.prototype.webkitBackgroundOrigin;\\n/** @type {string} */ CSSProperties.prototype.webkitBackgroundSize;\\n/** @type {string} */ CSSProperties.prototype.webkitBinding;\\n/** @type {string} */ CSSProperties.prototype.webkitBlendMode;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderAfter;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderAfterColor;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderAfterStyle;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderAfterWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderBefore;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderBeforeColor;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderBeforeStyle;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderBeforeWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderBottomLeftRadius;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderBottomRightRadius;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderEnd;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderEndColor;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderEndStyle;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderEndWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderFit;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderHorizontalSpacing;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderImage;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderRadius;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderStart;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderStartColor;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderStartStyle;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderStartWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderTopLeftRadius;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderTopRightRadius;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderVerticalSpacing;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxAlign;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxDecorationBreak;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxDirection;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxFlex;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxFlexGroup;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxLines;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxOrdinalGroup;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxOrient;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxPack;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxReflect;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxShadow;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxSizing;\\n/** @type {string} */ CSSProperties.prototype.webkitColorCorrection;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnAxis;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnBreakAfter;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnBreakBefore;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnBreakInside;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnCount;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnGap;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnProgression;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnRule;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnRuleColor;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnRuleStyle;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnRuleWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitColumns;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnSpan;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitDashboardRegion;\\n/** @type {string} */ CSSProperties.prototype.webkitFilter;\\n/** @type {string} */ CSSProperties.prototype.webkitFlex;\\n/** @type {string} */ CSSProperties.prototype.webkitFlexBasis;\\n/** @type {string} */ CSSProperties.prototype.webkitFlexDirection;\\n/** @type {string} */ CSSProperties.prototype.webkitFlexFlow;\\n/** @type {string} */ CSSProperties.prototype.webkitFlexGrow;\\n/** @type {string} */ CSSProperties.prototype.webkitFlexShrink;\\n/** @type {string} */ CSSProperties.prototype.webkitFlexWrap;\\n/** @type {string} */ CSSProperties.prototype.webkitFlowFrom;\\n/** @type {string} */ CSSProperties.prototype.webkitFlowInto;\\n/** @type {string} */ CSSProperties.prototype.webkitFontSizeDelta;\\n/** @type {string} */ CSSProperties.prototype.webkitFontSmoothing;\\n/** @type {string} */ CSSProperties.prototype.webkitGridColumn;\\n/** @type {string} */ CSSProperties.prototype.webkitGridColumns;\\n/** @type {string} */ CSSProperties.prototype.webkitGridRow;\\n/** @type {string} */ CSSProperties.prototype.webkitGridRows;\\n/** @type {string} */ CSSProperties.prototype.webkitHighlight;\\n/** @type {string} */ CSSProperties.protot";
a.a+='ype.webkitHyphenateCharacter;\\n/** @type {string} */ CSSProperties.prototype.webkitHyphenateLimitAfter;\\n/** @type {string} */ CSSProperties.prototype.webkitHyphenateLimitBefore;\\n/** @type {string} */ CSSProperties.prototype.webkitHyphenateLimitLines;\\n/** @type {string} */ CSSProperties.prototype.webkitHyphens;\\n/** @type {string} */ CSSProperties.prototype.webkitJustifyContent;\\n/** @type {string} */ CSSProperties.prototype.webkitLineAlign;\\n/** @type {string} */ CSSProperties.prototype.webkitLineBoxContain;\\n/** @type {string} */ CSSProperties.prototype.webkitLineBreak;\\n/** @type {string} */ CSSProperties.prototype.webkitLineClamp;\\n/** @type {string} */ CSSProperties.prototype.webkitLineGrid;\\n/** @type {string} */ CSSProperties.prototype.webkitLineSnap;\\n/** @type {string} */ CSSProperties.prototype.webkitLocale;\\n/** @type {string} */ CSSProperties.prototype.webkitLogicalHeight;\\n/** @type {string} */ CSSProperties.prototype.webkitLogicalWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitMarginAfter;\\n/** @type {string} */ CSSProperties.prototype.webkitMarginAfterCollapse;\\n/** @type {string} */ CSSProperties.prototype.webkitMarginBefore;\\n/** @type {string} */ CSSProperties.prototype.webkitMarginBeforeCollapse;\\n/** @type {string} */ CSSProperties.prototype.webkitMarginBottomCollapse;\\n/** @type {string} */ CSSProperties.prototype.webkitMarginCollapse;\\n/** @type {string} */ CSSProperties.prototype.webkitMarginEnd;\\n/** @type {string} */ CSSProperties.prototype.webkitMarginStart;\\n/** @type {string} */ CSSProperties.prototype.webkitMarginTopCollapse;\\n/** @type {string} */ CSSProperties.prototype.webkitMarquee;\\n/** @type {string} */ CSSProperties.prototype.webkitMarqueeDirection;\\n/** @type {string} */ CSSProperties.prototype.webkitMarqueeIncrement;\\n/** @type {string} */ CSSProperties.prototype.webkitMarqueeRepetition;\\n/** @type {string} */ CSSProperties.prototype.webkitMarqueeSpeed;\\n/** @type {string} */ CSSProperties.prototype.webkitMarqueeStyle;\\n/** @type {string} */ CSSProperties.prototype.webkitMask;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskAttachment;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskBoxImage;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskBoxImageOutset;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskBoxImageRepeat;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskBoxImageSlice;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskBoxImageSource;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskBoxImageWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskClip;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskComposite;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskImage;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskOrigin;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskPosition;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskPositionX;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskPositionY;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskRepeat;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskRepeatX;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskRepeatY;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskSize;\\n/** @type {string} */\\nCSSProperties.prototype.webkitMatchNearestMailBlockquoteColor;\\n/** @type {string} */ CSSProperties.prototype.webkitMaxLogicalHeight;\\n/** @type {string} */ CSSProperties.prototype.webkitMaxLogicalWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitMinLogicalHeight;\\n/** @type {string} */ CSSProperties.prototype.webkitMinLogicalWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitNbspMode;\\n/** @type {string} */ CSSProperties.prototype.webkitOrder;\\n/** @type {string} */ CSSProperties.prototype.webkitOverflowScrolling;\\n/** @type {string} */ CSSProperties.prototype.webkitPaddingAfter;\\n/** @type {string} */ CSSProperties.prototype.webkitPaddingBefore;\\n/** @type {string} */ CSSProperties.prototype.webkitPaddingEnd;\\n/** @type {string} */ CSSProperties.prototype.webkitPaddingStart;\\n/** @type {string} */ CSSProperties.prototype.webkitPerspective;\\n/** @type {string} */ CSSProperties.prototype.webkitPerspectiveOrigin;\\n/** @type {string} */ CSSProperties.prototype.webkitPerspectiveOriginX;\\n/** @type {string} */ CSSProperties.prototype.webkitPerspectiveOriginY;\\n/** @type {string} */ CSSProperties.prototype.webkitPrintColorAdjust;\\n/** @type {string} */ CSSProperties.prototype.webkitRegionBreakAfter;\\n/** @type {string} */ CSSProperties.prototype.webkitRegionBreakBefore;\\n/** @type {string} */ CSSProperties.prototype.webkitRegionBreakInside;\\n/** @type {string} */ CSSProperties.prototype.webkitRegionOverflow;\\n/** @type {string} */ CSSProperties.prototype.webkitRtlOrdering;\\n/** @type {string} */ CSSProperties.prototype.webkitRubyPosition;\\n/** @type {string} */ CSSProperties.prototype.webkitShapeInside;\\n/** @type {string} */ CSSProperties.prototype.webkitShapeMargin;\\n/** @type {string} */ CSSProperties.prototype.webkitShapeOutside;\\n/** @type {string} */ CSSProperties.prototype.webkitShapePadding;\\n/** @type {string} */ CSSProperties.prototype.webkitTapHighlightColor;\\n/** @type {string} */ CSSProperties.prototype.webkitTextAlignLast;\\n/** @type {string} */ CSSProperties.prototype.webkitTextCombine;\\n/** @type {string} */ CSSProperties.prototype.webkitTextDecorationLine;\\n/** @type {string} */ CSSProperties.prototype.webkitTextDecorationsInEffect;\\n/** @type {string} */ CSSProperties.prototype.webkitTextDecorationStyle;\\n/** @type {string} */ CSSProperties.prototype.webkitTextEmphasis;\\n/** @type {string} */ CSSProperties.prototype.webkitTextEmphasisColor;\\n/** @type {string} */ CSSProperties.prototype.webkitTextEmphasisPosition;\\n/** @type {string} */ CSSProperties.prototype.webkitTextEmphasisStyle;\\n/** @type {string} */ CSSProperties.prototype.webkitTextFillColor;\\n/** @type {string} */ CSSProperties.prototype.webkitTextOrientation;\\n/** @type {string} */ CSSProperties.prototype.webkitTextSecurity;\\n/** @type {string} */ CSSProperties.prototype.webkitTextSizeAdjust;\\n/** @type {string} */ CSSProperties.prototype.webkitTextStroke;\\n/** @type {string} */ CSSProperties.prototype.webkitTextStrokeColor;\\n/** @type {string} */ CSSProperties.prototype.webkitTextStrokeWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitTransform;\\n/** @type {string} */ CSSProperties.prototype.webkitTransformOrigin;\\n/** @type {string} */ CSSProperties.prototype.webkitTransformOriginX;\\n/** @type {string} */ CSSProperties.prototype.webkitTransformOriginY;\\n/** @type {string} */ CSSProperties.prototype.webkitTransformOriginZ;\\n/** @type {string} */ CSSProperties.prototype.webkitTransformStyle;\\n/** @type {string} */ CSSProperties.prototype.webkitTransition;\\n/** @type {string} */ CSSProperties.prototype.webkitTransitionDelay;\\n/** @type {string} */ CSSProperties.prototype.webkitTransitionDuration;\\n/** @type {string} */ CSSProperties.prototype.webkitTransitionProperty;\\n/** @type {string} */ CSSProperties.prototype.webkitTransitionRepeatCount;\\n/** @type {string} */ CSSProperties.prototype.webkitTransitionTimingFunction;\\n/** @type {string} */ CSSProperties.prototype.webkitUserDrag;\\n/** @type {string} */ CSSProperties.prototype.webkitUserModify;\\n/** @type {string} */ CSSProperties.prototype.webkitUserSelect;\\n/** @type {string} */ CSSProperties.prototype.webkitWrap;\\n/** @type {string} */ CSSProperties.prototype.webkitWrapFlow;\\n/** @type {string} */ CSSProperties.prototype.webkitWrapThrough;\\n/** @type {string} */ CSSProperties.prototype.webkitWritingMode;\\n\\n/**\\n * @constructor\\n * @param {number} x\\n * @param {number} y\\n */\\nfunction WebKitPoint(x, y) {}\\n\\n/** @type {number} */\\nWebKitPoint.prototype.x;\\n\\n/** @type {number} */\\nWebKitPoint.prototype.y;\\n","externs/google.js":"/*\\n * Copyright 2010 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Declaration of the type level google namespace.\\n * @externs\\n * @author nicksantos@google.com (Nick Santos)\\n */\\n\\n/**\\n * Suppresses the compiler warning when multiple externs files declare the\\n * google namespace.\\n * @suppress {duplicate}\\n * @noalias\\n */\\n// TODO(nicksantos): Consolidate to one google namespace declaration.\\nvar google = {};\\n","externs/deprecated.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview JavaScript Built-Ins that are not part of any specifications\\n * but are still needed in some project\'s build.\\n * @externs\\n */\\n\\nvar opera = {};\\n\\nopera.postError;\\n\\n/** @nosideeffects */\\nopera.version = function() {};\\n\\n/** @constructor */\\nfunction XSLTProcessor() {}\\n\\n/**\\n * @constructor\\n * @extends {HTMLOptionElement}\\n * @param {*=} opt_text\\n * @param {*=} opt_value\\n * @param {*=} opt_defaultSelected\\n * @param {*=} opt_selected\\n */\\nfunction Option(opt_text, opt_value, opt_defaultSelected, opt_selected) {}\\n\\n\\n// The \\"methods\\" object is a place to hang arbitrary external\\n// properties. It is a throwback to pre-typed days, and should\\n// not be used for any new definitions; it exists only to bridge\\n// the gap between the old way and the new way.\\nvar methods = {};\\n","externs/fileapi.js":"/*\\n * Copyright 2010 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n/**\\n * @fileoverview Definitions for objects in the File API, File Writer API, and\\n * File System API. Details of the API are at:\\n * http://www.w3.org/TR/FileAPI/\\n * http://www.w3.org/TR/file-writer-api/\\n * http://www.w3.org/TR/file-system-api/\\n *\\n * @externs\\n * @author dbk@google.com (David Barrett-Kahn)\\n * @author mpd@google.com (Michael Davidson)\\n */\\n\\n/** @record */\\nfunction BlobPropertyBag() {};\\n\\n/** @type {(string|undefined)} */\\nBlobPropertyBag.prototype.type;\\n\\n/**\\n * @see http://dev.w3.org/2006/webapi/FileAPI/#dfn-Blob\\n * @param {Array<ArrayBuffer|ArrayBufferView|Blob|string>=} opt_blobParts\\n * @param {BlobPropertyBag=} opt_options\\n * @constructor\\n * @nosideeffects\\n */\\nfunction Blob(opt_blobParts, opt_options) {}\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-size\\n * @type {number}\\n */\\nBlob.prototype.size;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-type\\n * @type {string}\\n */\\nBlob.prototype.type;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-slice\\n * @param {number=} start\\n * @param {number=} length\\n * @param {string=} opt_contentType\\n * @return {!Blob}\\n * @nosideeffects\\n */\\nBlob.prototype.slice = function(start, length, opt_contentType) {};\\n\\n/**\\n * This replaces Blob.slice in Chrome since WebKit revision 84005.\\n * @see http://lists.w3.org/Archives/Public/public-webapps/2011AprJun/0222.html\\n * @param {number=} start\\n * @param {number=} end\\n * @param {string=} opt_contentType\\n * @return {!Blob}\\n * @nosideeffects\\n */\\nBlob.prototype.webkitSlice = function(start, end, opt_contentType) {};\\n\\n/**\\n * This replaces Blob.slice in Firefox.\\n * @see http://lists.w3.org/Archives/Public/public-webapps/2011AprJun/0222.html\\n * @param {number=} start\\n * @param {number=} end\\n * @param {string=} opt_contentType\\n * @return {!Blob}\\n * @nosideeffects\\n */\\nBlob.prototype.mozSlice = function(start, end, opt_contentType) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#the-blobbuilder-interface\\n * @constructor\\n */\\nfunction BlobBuilder() {}\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-append0\\n * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-append1\\n * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-append2\\n * @param {string|Blob|ArrayBuffer} data\\n * @param {string=} endings\\n * @return {undefined}\\n */\\nBlobBuilder.prototype.append = function(data, endings) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-getBlob\\n * @param {string=} contentType\\n * @return {!Blob}\\n */\\nBlobBuilder.prototype.getBlob = function(contentType) {};\\n\\n/**\\n * This has replaced BlobBuilder in Chrome since WebKit revision 84008.\\n * @see http://lists.w3.org/Archives/Public/public-webapps/2011AprJun/0222.html\\n * @constructor\\n */\\nfunction WebKitBlobBuilder() {}\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-append0\\n * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-append1\\n * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-append2\\n * @param {string|Blob|ArrayBuffer} data\\n * @param {string=} endings\\n * @return {undefined}\\n */\\nWebKitBlobBuilder.prototype.append = function(data, endings) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-getBlob\\n * @param {string=} contentType\\n * @return {!Blob}\\n */\\nWebKitBlobBuilder.prototype.getBlob = function(contentType) {};\\n\\n\\n/**\\n * @record\\n * @see https://dev.w3.org/2009/dap/file-system/file-dir-sys.html#the-flags-dictionary\\n */\\nfunction FileSystemFlags() {};\\n\\n/** @type {(undefined|boolean)} */\\nFileSystemFlags.prototype.create;\\n\\n/** @type {(undefined|boolean)} */\\nFileSystemFlags.prototype.exclusive;\\n\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#the-directoryentry-interface\\n * @constructor\\n * @extends {Entry}\\n */\\nfunction DirectoryEntry() {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-DirectoryEntry-createReader\\n * @return {!DirectoryReader}\\n */\\nDirectoryEntry.prototype.createReader = function() {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-DirectoryEntry-getFile\\n * @param {string} path\\n * @param {!FileSystemFlags=} options\\n * @param {function(!FileEntry)=} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nDirectoryEntry.prototype.getFile = function(path, options, successCallback,\\n    errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-DirectoryEntry-getDirectory\\n * @param {string} path\\n * @param {!FileSystemFlags=} options\\n * @param {function(!DirectoryEntry)=} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nDirectoryEntry.prototype.getDirectory = function(path, options, successCallback,\\n    errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-DirectoryEntry-removeRecursively\\n * @param {function()} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nDirectoryEntry.prototype.removeRecursively = function(successCallback,\\n    errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#the-directoryreader-interface\\n * @constructor\\n */\\nfunction DirectoryReader() {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-DirectoryReader-readEntries\\n * ';
a.a+="@param {function(!Array<!Entry>)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nDirectoryReader.prototype.readEntries = function(successCallback,\\n    errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#the-entry-interface\\n * @constructor\\n */\\nfunction Entry() {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-isFile\\n * @type {boolean}\\n */\\nEntry.prototype.isFile;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-isDirectory\\n * @type {boolean}\\n */\\nEntry.prototype.isDirectory;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-name\\n * @type {string}\\n */\\nEntry.prototype.name;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-fullPath\\n * @type {string}\\n */\\nEntry.prototype.fullPath;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-filesystem\\n * @type {!FileSystem}\\n */\\nEntry.prototype.filesystem;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-moveTo\\n * @param {!DirectoryEntry} parent\\n * @param {string=} newName\\n * @param {function(!Entry)=} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nEntry.prototype.moveTo = function(parent, newName, successCallback,\\n    errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-copyTo\\n * @param {!DirectoryEntry} parent\\n * @param {string=} newName\\n * @param {function(!Entry)=} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nEntry.prototype.copyTo = function(parent, newName, successCallback,\\n    errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-toURL\\n * @param {string=} mimeType\\n * @return {string}\\n */\\nEntry.prototype.toURL = function(mimeType) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-remove\\n * @param {function()} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nEntry.prototype.remove = function(successCallback, errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-getMetadata\\n * @param {function(!Metadata)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nEntry.prototype.getMetadata = function(successCallback, errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-getParent\\n * @param {function(!Entry)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nEntry.prototype.getParent = function(successCallback, errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-file\\n * @param {!Array<string|!Blob|!ArrayBuffer>=} opt_contents\\n * @param {string=} opt_name\\n * @param {{type: (string|undefined), lastModified: (number|undefined)}=}\\n *     opt_properties\\n * @constructor\\n * @extends {Blob}\\n */\\nfunction File(opt_contents, opt_name, opt_properties) {}\\n\\n/**\\n * Chrome uses this instead of name.\\n * @deprecated Use name instead.\\n * @type {string}\\n */\\nFile.prototype.fileName;\\n\\n/**\\n * Chrome uses this instead of size.\\n * @deprecated Use size instead.\\n * @type {string}\\n */\\nFile.prototype.fileSize;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-name\\n * @type {string}\\n */\\nFile.prototype.name;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-lastModifiedDate\\n * @type {Date}\\n */\\nFile.prototype.lastModifiedDate;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-lastModified\\n * @type {number}\\n */\\nFile.prototype.lastModified;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#the-fileentry-interface\\n * @constructor\\n * @extends {Entry}\\n */\\nfunction FileEntry() {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-FileEntry-createWriter\\n * @param {function(!FileWriter)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nFileEntry.prototype.createWriter = function(successCallback, errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-FileEntry-file\\n * @param {function(!File)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nFileEntry.prototype.file = function(successCallback, errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#FileErrorInterface\\n * @constructor\\n * @extends {DOMError}\\n */\\nfunction FileError() {}\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-NOT_FOUND_ERR\\n * @type {number}\\n */\\nFileError.prototype.NOT_FOUND_ERR = 1;\\n\\n/** @type {number} */\\nFileError.NOT_FOUND_ERR = 1;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-SECURITY_ERR\\n * @type {number}\\n */\\nFileError.prototype.SECURITY_ERR = 2;\\n\\n/** @type {number} */\\nFileError.SECURITY_ERR = 2;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-ABORT_ERR\\n * @type {number}\\n */\\nFileError.prototype.ABORT_ERR = 3;\\n\\n/** @type {number} */\\nFileError.ABORT_ERR = 3;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-NOT_READABLE_ERR\\n * @type {number}\\n */\\nFileError.prototype.NOT_READABLE_ERR = 4;\\n\\n/** @type {number} */\\nFileError.NOT_READABLE_ERR = 4;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-ENCODING_ERR\\n * @type {number}\\n */\\nFileError.prototype.ENCODING_ERR = 5;\\n\\n/** @type {number} */\\nFileError.ENCODING_ERR = 5;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileError-NO_MODIFICATION_ALLOWED_ERR\\n * @type {number}\\n */\\nFileError.prototype.NO_MODIFICATION_ALLOWED_ERR = 6;\\n\\n/** @type {number} */\\nFileError.NO_MODIFICATION_ALLOWED_ERR = 6;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileException-INVALID_STATE_ERR\\n * @type {number}\\n */\\nFileError.prototype.INVALID_STATE_ERR = 7;\\n\\n/** @type {number} */\\nFileError.INVALID_STATE_ERR = 7;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileException-SYNTAX_ERR\\n * @type {number}\\n */\\nFileError.prototype.SYNTAX_ERR = 8;\\n\\n/** @type {number} */\\nFileError.SYNTAX_ERR = 8;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-FileError-INVALID_MODIFICATION_ERR\\n * @type {number}\\n */\\nFileError.prototype.INVALID_MODIFICATION_ERR = 9;\\n\\n/** @type {number} */\\nFileError.INVALID_MODIFICATION_ERR = 9;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-FileError-QUOTA_EXCEEDED_ERR\\n * @type {number}\\n */\\nFileError.prototype.QUOTA_EXCEEDED_ERR = 10;\\n\\n/** @type {number} */\\nFileError.QUOTA_EXCEEDED_ERR = 10;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-FileException-TYPE_MISMATCH_ERR\\n * @type {number}\\n */\\nFileError.prototype.TYPE_MISMATCH_ERR = 11;\\n\\n/** @type {number} */\\nFileError.TYPE_MISMATCH_ERR = 11;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-FileException-PATH_EXISTS_ERR\\n * @type {number}\\n */\\nFileError.prototype.PATH_EXISTS_ERR = 12;\\n\\n/** @type {number} */\\nFileError.PATH_EXISTS_ERR = 12;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-code-exception\\n * @type {number}\\n * @deprecated Use the 'name' or 'message' attributes of DOMError rather than\\n * 'code'\\n */\\nFileError.prototype.code;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-filereader\\n * @constructor\\n * @implements {EventTarget}\\n */\\nfunction FileReader() {}\\n\\n/** @override */\\nFileReader.prototype.addEventListener = function(type, listener, opt_options) {\\n};\\n\\n/** @override */\\nFileReader.prototype.removeEventListener = function(\\n    type, listener, opt_options) {};\\n\\n/** @override */\\nFileReader.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-readAsArrayBuffer\\n * @param {!Blob} blob\\n * @return {undefined}\\n */\\nFileReader.prototype.readAsArrayBuffer = function(blob) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-readAsBinaryStringAsync\\n * @param {!Blob} blob\\n * @return {undefined}\\n */\\nFileReader.prototype.readAsBinaryString = function(blob) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-readAsText\\n * @param {!Blob} blob\\n * @param {string=} encoding\\n * @return {undefined}\\n */\\nFileReader.prototype.readAsText = function(blob, encoding) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-readAsDataURL\\n * @param {!Blob} blob\\n * @return {undefined}\\n */\\nFileReader.prototype.readAsDataURL = function(blob) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-abort\\n * @return {undefined}\\n */\\nFileReader.prototype.abort = function() {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-empty\\n * @type {number}\\n */\\nFileReader.prototype.EMPTY = 0;\\n\\n/** @type {number} */\\nFileReader.EMPTY = 0;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-loading\\n * @type {number}\\n */\\nFileReader.prototype.LOADING = 1;\\n\\n/** @type {number} */\\nFileReader.LOADING = 1;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-done\\n * @type {number}\\n */\\nFileReader.prototype.DONE = 2;\\n\\n/** @type {number} */\\nFileReader.DONE = 2;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-readystate\\n * @type {number}\\n */\\nFileReader.prototype.readyState;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-result\\n * @type {string|Blob|ArrayBuffer}\\n */\\nFileReader.prototype.result;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-error\\n * @type {FileError}\\n */\\nFileReader.prototype.error;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-onloadstart\\n * @type {?function(!ProgressEvent)}\\n */\\nFileReader.prototype.onloadstart;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-onprogress\\n * @type {?function(!ProgressEvent)}\\n */\\nFileReader.prototype.onprogress;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-onload\\n * @type {?function(!ProgressEvent)}\\n */\\nFileReader.prototype.onload;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-onabort\\n * @type {?function(!ProgressEvent)}\\n */\\nFileReader.prototype.onabort;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-onerror\\n * @type {?function(!ProgressEvent)}\\n */\\nFileReader.prototype.onerror;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-onloadend\\n * @type {?function(!ProgressEvent)}\\n */\\nFileReader.prototype.onloadend;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#idl-def-FileSaver\\n * @constructor\\n */\\nfunction FileSaver() {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-abort\\n * @return {undefined}\\n */\\nFileSaver.prototype.abort = function() {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-INIT\\n * @type {number}\\n */\\nFileSaver.prototype.INIT = 0;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-WRITING\\n * @type {number}\\n */\\nFileSaver.prototype.WRITING = 1;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-DONE\\n * @type {number}\\n */\\nFileSaver.prototype.DONE = 2;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-readyState\\n * @type {number}\\n */\\nFileSaver.prototype.readyState;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-error\\n * @type {FileError}\\n */\\nFileSaver.prototype.error;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-onwritestart\\n * @type {?function(!ProgressEvent)}\\n */\\nFileSaver.prototype.onwritestart;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-onprogress\\n * @type {?function(!ProgressEvent)}\\n */\\nFileSaver.prototype.onprogress;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-onwrite\\n * @type {?function(!ProgressEvent)}\\n */\\nFileSaver.prototype.onwrite;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-onabort\\n * @type {?function(!ProgressEvent)}\\n */\\nFileSaver.prototype.onabort;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-onerror\\n * @type {?function(!ProgressEvent)}\\n */\\nFileSaver.prototype.onerror;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-onwriteend\\n * @type {?function(!ProgressEvent)}\\n */\\nFileSaver.prototype.onwriteend;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#the-filesystem-interface\\n * @constructor\\n */\\nfunction FileSystem() {}\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-FileSystem-name\\n * @type {string}\\n */\\nFileSystem.prototype.name;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-FileSystem-root\\n * @type {!DirectoryEntry}\\n */\\nFileSystem.prototype.root;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#idl-def-FileWriter\\n * @constructor\\n * @extends {FileSaver}\\n */\\nfunction FileWriter() {}\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileWriter-position\\n * @type {number}\\n */\\nFileWriter.prototype.position;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileWriter-length\\n * @type {number}\\n */\\nFileWriter.prototype.length;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileWriter-write\\n * @param {!Blob} blob\\n * @return {undefined}\\n */\\nFileWriter.prototype.write = function(blob) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileWriter-seek\\n * @param {number} offset\\n * @return {undefined}\\n */\\nFileWriter.prototype.seek = function(offset) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileWriter-truncate\\n * @param {number} size\\n * @return {undefined}\\n */\\nFileWriter.prototype.truncate = function(size) {};\\n\\n/**\\n * LocalFileSystem interface, implemented by Window and WorkerGlobalScope.\\n * @see http://www.w3.org/TR/file-system-api/#idl-def-LocalFileSystem\\n * @constructor\\n */\\nfunction LocalFileSystem() {}\\n\\n/**\\n * Metadata interface.\\n * @see http://www.w3.org/TR/file-system-api/#idl-def-Metadata\\n * @constructor\\n */\\nfunction Metadata() {}\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Metadata-modificationTime\\n * @type {!Date}\\n */\\nMetadata.prototype.modificationTime;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Metadata-size\\n * @type {number}\\n */\\nMetadata.prototype.size;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-TEMPORARY\\n * @type {number}\\n*/\\nWindow.prototype.TEMPORARY = 0;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-PERSISTENT\\n * @type {number}\\n*/\\nWindow.prototype.PERSISTENT = 1;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-requestFileSystem\\n * @param {number} type\\n * @param {number} size\\n * @param {function(!FileSystem)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nfunction requestFileSystem(type, size, successCallback, errorCallback) {}\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-requestFileSystem\\n * @param {number} type\\n * @param {number} size\\n * @param {function(!FileSystem)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nWindow.prototype.requestFileSystem = function(type, size, successCallback,\\n    errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-resolveLocalFileSystemURI\\n * @param {string} uri\\n * @param {function(!Entry)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nfunction resolveLocalFileSystemURI(uri, successCallback, errorCallback) {}\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-resolveLocalFileSystemURI\\n * @param {string} uri\\n * @param {function(!Entry)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nWindow.prototype.resolveLocalFileSystemURI = function(uri, successCallback,\\n    errorCallback) {}\\n\\n/**\\n * This has replaced requestFileSystem in Chrome since WebKit revision 84224.\\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-requestFileSystem\\n * @param {number} type\\n * @param {number} size\\n * @param {function(!FileSystem)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nfunction webkitRequestFileSystem(type, size, successCallback, errorCallback) {}\\n\\n/**\\n * This has replaced requestFileSystem in Chrome since WebKit revision 84224.\\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-requestFileSystem\\n * @param {number} type\\n * @param {number} size\\n * @param {function(!FileSystem)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nWindow.prototype.webkitReque";
a.a+='stFileSystem = function(type, size, successCallback,\\n    errorCallback) {};\\n\\n/**\\n * This has replaced resolveLocalFileSystemURI in Chrome since WebKit revision\\n * 84224.\\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-resolveLocalFileSystemURI\\n * @param {string} uri\\n * @param {function(!Entry)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nfunction webkitResolveLocalFileSystemURI(uri, successCallback, errorCallback) {}\\n\\n/**\\n * This has replaced resolveLocalFileSystemURI in Chrome since WebKit revision\\n * 84224.\\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-resolveLocalFileSystemURI\\n * @param {string} uri\\n * @param {function(!Entry)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nWindow.prototype.webkitResolveLocalFileSystemURI = function(uri, successCallback,\\n    errorCallback) {}\\n\\n// WindowBlobURIMethods interface, implemented by Window and WorkerGlobalScope.\\n// There are three APIs for this: the old specced API, the new specced API, and\\n// the webkit-prefixed API.\\n// @see http://www.w3.org/TR/FileAPI/#creating-revoking\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-createObjectURL\\n * @param {!Object} obj\\n * @return {string}\\n */\\nfunction createObjectURL(obj) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-createObjectURL\\n * @param {!Object} obj\\n * @return {string}\\n */\\nWindow.prototype.createObjectURL = function(obj) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-revokeObjectURL\\n * @param {string} url\\n * @return {undefined}\\n */\\nfunction revokeObjectURL(url) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-revokeObjectURL\\n * @param {string} url\\n * @return {undefined}\\n */\\nWindow.prototype.revokeObjectURL = function(url) {};\\n\\n/**\\n * This has been replaced by URL in Chrome since WebKit revision 75739.\\n * @constructor\\n * @param {string} urlString\\n * @param {string=} opt_base\\n */\\nfunction webkitURL(urlString, opt_base) {}\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-createObjectURL\\n * @param {!Object} obj\\n * @return {string}\\n */\\nwebkitURL.createObjectURL = function(obj) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-revokeObjectURL\\n * @param {string} url\\n * @return {undefined}\\n */\\nwebkitURL.revokeObjectURL = function(url) {};\\n\\n/**\\n * @see https://developers.google.com/chrome/whitepapers/storage\\n * @constructor\\n */\\nfunction StorageInfo() {}\\n\\n/**\\n * @see https://developers.google.com/chrome/whitepapers/storage\\n * @type {number}\\n * */\\nStorageInfo.prototype.TEMPORARY = 0;\\n\\n/**\\n * @see https://developers.google.com/chrome/whitepapers/storage\\n * @type {number}\\n */\\nStorageInfo.prototype.PERSISTENT = 1;\\n\\n/**\\n * @see https://developers.google.com/chrome/whitepapers/storage#requestQuota\\n * @param {number} type\\n * @param {number} size\\n * @param {function(number)} successCallback\\n * @param {function(!DOMException)=} errorCallback\\n * @return {undefined}\\n */\\nStorageInfo.prototype.requestQuota = function(type, size, successCallback,\\n    errorCallback) {};\\n\\n/**\\n * @see https://developers.google.com/chrome/whitepapers/storage#queryUsageAndQuota\\n * @param {number} type\\n * @param {function(number, number)} successCallback\\n * @param {function(!DOMException)=} errorCallback\\n * @return {undefined}\\n */\\nStorageInfo.prototype.queryUsageAndQuota = function(type, successCallback,\\n    errorCallback) {};\\n\\n/**\\n * @see https://developers.google.com/chrome/whitepapers/storage\\n * @type {!StorageInfo}\\n */\\nWindow.prototype.webkitStorageInfo;\\n\\n/**\\n * @see https://dvcs.w3.org/hg/quota/raw-file/tip/Overview.html#storagequota-interface.\\n * @constructor\\n */\\nfunction StorageQuota() {}\\n\\n/**\\n * @param {number} size\\n * @param {function(number)=} opt_successCallback\\n * @param {function(!DOMException)=} opt_errorCallback\\n * @return {undefined}\\n */\\nStorageQuota.prototype.requestQuota = function(size, opt_successCallback,\\n    opt_errorCallback) {};\\n\\n/**\\n * @param {function(number, number)} successCallback\\n * @param {function(!DOMException)=} opt_errorCallback\\n * @return {undefined}\\n */\\nStorageQuota.prototype.queryUsageAndQuota = function(successCallback,\\n    opt_errorCallback) {};\\n\\n\\n/**\\n * @type {!StorageQuota}\\n * @see https://developer.chrome.com/apps/offline_storage\\n */\\nNavigator.prototype.webkitPersistentStorage;\\n\\n/**\\n * @type {!StorageQuota}\\n * @see https://developer.chrome.com/apps/offline_storage\\n */\\nNavigator.prototype.webkitTemporaryStorage;\\n","externs/flash.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n/**\\n * @fileoverview Definitions for all the Flash Object JavaScript methods. This\\n * file depends on w3c_dom2.js.\\n * Created from\\n * http://www.adobe.com/support/flash/publishexport/scriptingwithflash/scriptingwithflash_03.html\\n *\\n * @externs\\n * @author ajp@google.com (Andy Perelson)\\n */\\n\\n\\n// Standard Methods.\\n\\n/**\\n * Call a Flash function exported by ExternalInterface.\\n * @param {string} xmlString The XML string passed to Flash. The outer element\\n *     should be {@code <invoke>}. A sample invocation string:\\n *     {@code <invoke name=\\"function_name\\" returntype=\\"javascript\\">\\n *     <string>test</string></invoke>}\\n * @return {string} The serialized return value from Flash that you can eval.\\n */\\nHTMLObjectElement.prototype.CallFunction = function(xmlString) {};\\n\\n/**\\n * Returns the value of the Flash variable specified by varName or null if the\\n * variable does not exist.\\n * @param {string} varName The variable name.\\n * @return {string?} The variable value.\\n */\\nHTMLObjectElement.prototype.GetVariable = function(varName) {};\\n\\n/**\\n * Activates the frame number specified by {@code frameNumber} in the current\\n * movie.\\n * @param {number} frameNumber A non-negative integer frame number.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.GotoFrame = function(frameNumber) {};\\n\\n/**\\n * @return {boolean} Whether the movie is currently playing.\\n */\\nHTMLObjectElement.prototype.IsPlaying = function() {};\\n\\n/**\\n * Loads the movie identified by {@code url} to the layer specified by {@code\\n * layerNumber}.\\n * @param {number} layerNumber The layer number.\\n * @param {string} url The movie URL.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.LoadMovie = function(layerNumber, url) {};\\n\\n/**\\n * Pans a zoomed-in movie to the coordinates specified by x and y. Use mode to\\n * specify whether the values for x and y are pixels or a percent of the window.\\n * When mode is 0, the coordinates are pixels; when mode is 1, the coordinates\\n * are percent of the window.\\n * @param {number} x The x-coordinate.\\n * @param {number} y The y-coordinate.\\n * @param {number} mode The mode.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.Pan = function(x, y, mode) {};\\n\\n/**\\n * @return {number} The percent of the Flash Player movie that has streamed\\n *     into the browser so far; Possible values are from 0 to 100.\\n */\\nHTMLObjectElement.prototype.PercentLoaded = function() {};\\n\\n/**\\n * Starts playing the movie.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.Play = function() {};\\n\\n/**\\n * Goes to the first frame.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.Rewind = function() {};\\n\\n/**\\n * Sets the value of the flash variable.\\n * @param {string} variableName The variable name.\\n * @param {string} value The value.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.SetVariable = function(variableName, value) {};\\n\\n/**\\n * Zooms in on a rectangular area of the movie. The units of the coordinates\\n * are in twips (1440 units per inch).\\n * @param {number} left The left coordinate.\\n * @param {number} top The top coordinate.\\n * @param {number} right The right coordinate.\\n * @param {number} bottom The bottom coordinate.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.SetZoomRect = function(left, top, right, bottom) {};\\n\\n/**\\n * Stops playing the movie.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.StopPlay = function() {};\\n\\n/**\\n * @return {number} The total number of frames in the movie.\\n */\\nHTMLObjectElement.prototype.TotalFrames = function() {};\\n\\n/**\\n * Zooms the view by a relative scale factor.\\n * @param {number} percent The percentage scale factor, should be an integer.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.Zoom = function(percent) {};\\n\\n\\n// TellTarget Methods.\\n\\n/**\\n * Executes the action in the timeline specified by {@code target} in the\\n * specified frame.\\n * @param {string} target The timeline.\\n * @param {number} frameNumber The frame number.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.TCallFrame = function(target, frameNumber) {};\\n\\n/**\\n * Executes the action in the timeline specified by {@code target} in the\\n * specified frame.\\n * @param {string} target The timeline.\\n * @param {string} label The frame label.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.TCallLabel = function(target, label) {};\\n\\n/**\\n * Returns the number of the current frame for the specified timeline.\\n * @param {string} target The timeline.\\n * @return {number} The number of the current frame.\\n */\\nHTMLObjectElement.prototype.TCurentFrame = function(target) {};\\n\\n/**\\n * Returns the label of the current frame for the specified timeline.\\n * @param {string} target The timeline.\\n * @return {string} The label of the current frame, empty string if no\\n *     current frame.\\n */\\nHTMLObjectElement.prototype.TCurrentLabel = function(target) {};\\n\\n/**\\n * Returns a string indicating the value of the property in the\\n * specified timeline.\\n * @param {string} target The timeline.\\n * @param {number} property The integer corresponding to the desired property.\\n * @return {string} The value of the property.\\n */\\nHTMLObjectElement.prototype.TGetProperty = function(target, property) {};\\n\\n/**\\n * Returns a number indicating the value of the property in the specified\\n * timeline.\\n * @param {string} target The timeline.\\n * @param {number} property The integer corresponding to the desired property.\\n * @return {number} A number indicating the value of the property.\\n */\\nHTMLObjectElement.prototype.TGetPropertyAsNumber = function(target, property) {};\\n\\n/**\\n * Goes to the specified frame number in the specified timeline.\\n * @param {string} target The timeline.\\n * @param {number} frameNumber The frame number.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.TGotoFrame = function(target, frameNumber) {};\\n\\n/**\\n * Goes to the specified frame label in the specified timeline.\\n * @param {string} target The timeline.\\n * @param {string} label The framelabel.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.TGotoLabel = function(target, label) {};\\n\\n/**\\n * Plays the specified timeline.\\n * @param {number} target The timeline.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.TPlay = function(target) {};\\n\\n/**\\n * Sets the value of the property in the specified timeline.\\n * @param {number} target The timeline.\\n * @param {number} property The integer corresponding to the desired property.\\n * @param {string|number} value The value.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.TSetProperty = function(target, property, value) {};\\n\\n/**\\n * Stops the specified timeline.\\n * @param {number} target The timeline.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.TStopPlay = function(target) {};\\n","externs/gecko_xml.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for all the extensions over some of the\\n *  W3C\'s XML specifications by Gecko. This file depends on\\n *  w3c_xml.js. The whole file has been fully type annotated.\\n *\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n */\\n\\n/**\\n * XMLSerializer can be used to convert DOM subtree or DOM document into text.\\n * XMLSerializer is available to unprivileged scripts.\\n *\\n * XMLSerializer is mainly useful for applications and extensions based on\\n * Mozilla platform. While it\'s available to web pages, it\'s not part of any\\n * standard and level of support in other browsers is unknown.\\n *\\n * @constructor\\n */\\nfunction XMLSerializer() {}\\n\\n/**\\n * Returns the serialized subtree in the form of a string\\n * @param {Node} subtree\\n * @return {string}\\n */\\nXMLSerializer.prototype.serializeToString = function(subtree) {};\\n\\n/**\\n * The subtree rooted by the specified element is serialized to a byte stream\\n * using the character set specified.\\n *\\n * @param {Node} subtree\\n * @return {Object}\\n */\\nXMLSerializer.prototype.serializeToStream = function(subtree) {};\\n\\n/**\\n * DOMParser is mainly useful for applications and extensions based on Mozilla\\n * platform. While it\'s available to web pages, it\'s not part of any standard and\\n * level of support in other browsers is unknown.\\n *\\n * @constructor\\n */\\nfunction DOMParser() {}\\n\\n/**\\n * The string passed in is parsed into a DOM document.\\n *\\n * Example:\\n *  var parser = new DOMParser();\\n *  var doc = parser.parseFromString(aStr, \\"text/xml\\");\\n *\\n * @param {string} src The UTF16 string to be parsed.\\n * @param {string} type The content type of the string.\\n * @return {Document}\\n */\\nDOMParser.prototype.parseFromString = function(src, type) {};\\n","externs/html5.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n/**\\n * @fileoverview Definitions for all the extensions over the\\n *  W3C\'s DOM3 specification in HTML5. This file depends on\\n *  w3c_dom3.js. The whole file has been fully type annotated.\\n *\\n *  @see http://www.whatwg.org/specs/web-apps/current-work/multipage/index.html\\n *  @see http://dev.w3.org/html5/spec/Overview.html\\n *\\n *  This also includes Typed Array definitions from\\n *  http://www.khronos.org/registry/typedarray/specs/latest/\\n *\\n *  This relies on w3c_event.js being included first.\\n *\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n */\\n\\n/** @type {?HTMLSlotElement} */\\nNode.prototype.assignedSlot;\\n\\n/**\\n * Note: In IE, the contains() method only exists on Elements, not Nodes.\\n * Therefore, it is recommended that you use the Conformance framework to\\n * prevent calling this on Nodes which are not Elements.\\n * @see https://connect.microsoft.com/IE/feedback/details/780874/node-contains-is-incorrect\\n *\\n * @param {Node} n The node to check\\n * @return {boolean} If \'n\' is this Node, or is contained within this Node.\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Node.contains\\n * @nosideeffects\\n */\\';
a.a+="nNode.prototype.contains = function(n) {};\\n\\n/** @type {boolean} */\\nNode.prototype.isConnected;\\n\\n/**\\n * @constructor\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#the-canvas-element\\n * @extends {HTMLElement}\\n */\\nfunction HTMLCanvasElement() {}\\n\\n/** @type {number} */\\nHTMLCanvasElement.prototype.width;\\n\\n/** @type {number} */\\nHTMLCanvasElement.prototype.height;\\n\\n/**\\n * @see https://www.w3.org/TR/html5/scripting-1.html#dom-canvas-toblob\\n * @param {function(!Blob)} callback\\n * @param {string=} opt_type\\n * @param {...*} var_args\\n * @throws {Error}\\n */\\nHTMLCanvasElement.prototype.toBlob = function(callback, opt_type, var_args) {};\\n\\n/**\\n * @param {string=} opt_type\\n * @param {...*} var_args\\n * @return {string}\\n * @throws {Error}\\n */\\nHTMLCanvasElement.prototype.toDataURL = function(opt_type, var_args) {};\\n\\n/**\\n * @param {string} contextId\\n * @param {Object=} opt_args\\n * @return {Object}\\n */\\nHTMLCanvasElement.prototype.getContext = function(contextId, opt_args) {};\\n\\n/**\\n * @see https://www.w3.org/TR/mediacapture-fromelement/\\n * @param {number=} opt_framerate\\n * @return {!MediaStream}\\n * @throws {Error}\\n * */\\nHTMLCanvasElement.prototype.captureStream = function(opt_framerate) {};\\n\\n/**\\n * @typedef {HTMLImageElement|HTMLVideoElement|HTMLCanvasElement}\\n */\\nvar CanvasImageSource;\\n\\n/**\\n * @interface\\n * @see https://www.w3.org/TR/2dcontext/#canvaspathmethods\\n */\\nfunction CanvasPathMethods() {}\\n\\n/**\\n * @return {undefined}\\n */\\nCanvasPathMethods.prototype.closePath = function() {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n */\\nCanvasPathMethods.prototype.moveTo = function(x, y) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n */\\nCanvasPathMethods.prototype.lineTo = function(x, y) {};\\n\\n/**\\n * @param {number} cpx\\n * @param {number} cpy\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n */\\nCanvasPathMethods.prototype.quadraticCurveTo = function(cpx, cpy, x, y) {};\\n\\n/**\\n * @param {number} cp1x\\n * @param {number} cp1y\\n * @param {number} cp2x\\n * @param {number} cp2y\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n */\\nCanvasPathMethods.prototype.bezierCurveTo = function(\\n    cp1x, cp1y, cp2x, cp2y, x, y) {};\\n\\n/**\\n * @param {number} x1\\n * @param {number} y1\\n * @param {number} x2\\n * @param {number} y2\\n * @param {number} radius\\n * @return {undefined}\\n */\\nCanvasPathMethods.prototype.arcTo = function(x1, y1, x2, y2, radius) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} w\\n * @param {number} h\\n * @return {undefined}\\n */\\nCanvasPathMethods.prototype.rect = function(x, y, w, h) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} radius\\n * @param {number} startAngle\\n * @param {number} endAngle\\n * @param {boolean=} opt_anticlockwise\\n * @return {undefined}\\n */\\nCanvasPathMethods.prototype.arc = function(\\n    x, y, radius, startAngle, endAngle, opt_anticlockwise) {};\\n\\n/**\\n * @constructor\\n * @implements {CanvasPathMethods}\\n * @see https://html.spec.whatwg.org/multipage/scripting.html#path2d-objects\\n */\\nfunction Path2D() {}\\n\\n/**\\n * @return {undefined}\\n * @override\\n */\\nPath2D.prototype.closePath = function() {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n * @override\\n */\\nPath2D.prototype.moveTo = function(x, y) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n * @override\\n */\\nPath2D.prototype.lineTo = function(x, y) {};\\n\\n/**\\n * @param {number} cpx\\n * @param {number} cpy\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n * @override\\n */\\nPath2D.prototype.quadraticCurveTo = function(cpx, cpy, x, y) {};\\n\\n/**\\n * @param {number} cp1x\\n * @param {number} cp1y\\n * @param {number} cp2x\\n * @param {number} cp2y\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n * @override\\n */\\nPath2D.prototype.bezierCurveTo = function(\\n    cp1x, cp1y, cp2x, cp2y, x, y) {};\\n\\n/**\\n * @param {number} x1\\n * @param {number} y1\\n * @param {number} x2\\n * @param {number} y2\\n * @param {number} radius\\n * @return {undefined}\\n * @override\\n */\\nPath2D.prototype.arcTo = function(x1, y1, x2, y2, radius) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} w\\n * @param {number} h\\n * @return {undefined}\\n * @override\\n */\\nPath2D.prototype.rect = function(x, y, w, h) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} radius\\n * @param {number} startAngle\\n * @param {number} endAngle\\n * @param {boolean=} optAnticlockwise\\n * @return {undefined}\\n * @override\\n */\\nPath2D.prototype.arc = function(\\n    x, y, radius, startAngle, endAngle, optAnticlockwise) {};\\n\\n/**\\n * @param {Path2D} path\\n * @return {undefined}\\n */\\nPath2D.prototype.addPath = function(path) {};\\n\\n/**\\n * @interface\\n * @see https://www.w3.org/TR/2dcontext/#canvasdrawingstyles\\n */\\nfunction CanvasDrawingStyles() {}\\n\\n/** @type {number} */\\nCanvasDrawingStyles.prototype.lineWidth;\\n\\n/** @type {string} */\\nCanvasDrawingStyles.prototype.lineCap;\\n\\n/** @type {string} */\\nCanvasDrawingStyles.prototype.lineJoin;\\n\\n/** @type {number} */\\nCanvasDrawingStyles.prototype.miterLimit;\\n\\n/**\\n * @param {Array<number>} segments\\n * @return {undefined}\\n */\\nCanvasDrawingStyles.prototype.setLineDash;\\n\\n/**\\n * @return {!Array<number>}\\n */\\nCanvasDrawingStyles.prototype.getLineDash;\\n\\n/** @type {string} */\\nCanvasDrawingStyles.prototype.font;\\n\\n/** @type {string} */\\nCanvasDrawingStyles.prototype.textAlign;\\n\\n/** @type {string} */\\nCanvasDrawingStyles.prototype.textBaseline;\\n\\n/**\\n * @constructor\\n * @implements {CanvasDrawingStyles}\\n * @implements {CanvasPathMethods}\\n * @see http://www.w3.org/TR/2dcontext/#canvasrenderingcontext2d\\n */\\nfunction CanvasRenderingContext2D() {}\\n\\n/** @const {!HTMLCanvasElement} */\\nCanvasRenderingContext2D.prototype.canvas;\\n\\n/**\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.save = function() {};\\n\\n/**\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.restore = function() {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.scale = function(x, y) {};\\n\\n/**\\n * @param {number} angle\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.rotate = function(angle) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.translate = function(x, y) {};\\n\\n/**\\n * @param {number} m11\\n * @param {number} m12\\n * @param {number} m21\\n * @param {number} m22\\n * @param {number} dx\\n * @param {number} dy\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.transform = function(\\n    m11, m12, m21, m22, dx, dy) {};\\n\\n/**\\n * @param {number} m11\\n * @param {number} m12\\n * @param {number} m21\\n * @param {number} m22\\n * @param {number} dx\\n * @param {number} dy\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.setTransform = function(\\n    m11, m12, m21, m22, dx, dy) {};\\n\\n/**\\n * @param {number} x0\\n * @param {number} y0\\n * @param {number} x1\\n * @param {number} y1\\n * @return {!CanvasGradient}\\n * @throws {Error}\\n */\\nCanvasRenderingContext2D.prototype.createLinearGradient = function(\\n    x0, y0, x1, y1) {};\\n\\n/**\\n * @param {number} x0\\n * @param {number} y0\\n * @param {number} r0\\n * @param {number} x1\\n * @param {number} y1\\n * @param {number} r1\\n * @return {!CanvasGradient}\\n * @throws {Error}\\n */\\nCanvasRenderingContext2D.prototype.createRadialGradient = function(\\n    x0, y0, r0, x1, y1, r1) {};\\n\\n/**\\n * @param {CanvasImageSource} image\\n * @param {string} repetition\\n * @return {?CanvasPattern}\\n * @throws {Error}\\n * @see https://html.spec.whatwg.org/multipage/scripting.html#dom-context-2d-createpattern\\n */\\nCanvasRenderingContext2D.prototype.createPattern = function(\\n    image, repetition) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} w\\n * @param {number} h\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.clearRect = function(x, y, w, h) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} w\\n * @param {number} h\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.fillRect = function(x, y, w, h) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} w\\n * @param {number} h\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.strokeRect = function(x, y, w, h) {};\\n\\n/**\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.beginPath = function() {};\\n\\n/**\\n * @return {undefined}\\n * @override\\n */\\nCanvasRenderingContext2D.prototype.closePath = function() {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n * @override\\n */\\nCanvasRenderingContext2D.prototype.moveTo = function(x, y) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n * @override\\n */\\nCanvasRenderingContext2D.prototype.lineTo = function(x, y) {};\\n\\n/**\\n * @param {number} cpx\\n * @param {number} cpy\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n * @override\\n */\\nCanvasRenderingContext2D.prototype.quadraticCurveTo = function(\\n    cpx, cpy, x, y) {};\\n\\n/**\\n * @param {number} cp1x\\n * @param {number} cp1y\\n * @param {number} cp2x\\n * @param {number} cp2y\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n * @override\\n */\\nCanvasRenderingContext2D.prototype.bezierCurveTo = function(\\n    cp1x, cp1y, cp2x, cp2y, x, y) {};\\n\\n/**\\n * @param {number} x1\\n * @param {number} y1\\n * @param {number} x2\\n * @param {number} y2\\n * @param {number} radius\\n * @return {undefined}\\n * @override\\n */\\nCanvasRenderingContext2D.prototype.arcTo = function(x1, y1, x2, y2, radius) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} w\\n * @param {number} h\\n * @return {undefined}\\n * @override\\n */\\nCanvasRenderingContext2D.prototype.rect = function(x, y, w, h) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} radius\\n * @param {number} startAngle\\n * @param {number} endAngle\\n * @param {boolean=} opt_anticlockwise\\n * @return {undefined}\\n * @override\\n */\\nCanvasRenderingContext2D.prototype.arc = function(\\n    x, y, radius, startAngle, endAngle, opt_anticlockwise) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} radiusX\\n * @param {number} radiusY\\n * @param {number} rotation\\n * @param {number} startAngle\\n * @param {number} endAngle\\n * @param {boolean=} opt_anticlockwise\\n * @return {undefined}\\n * @see http://developer.mozilla.org/en/docs/Web/API/CanvasRenderingContext2D/ellipse\\n */\\nCanvasRenderingContext2D.prototype.ellipse = function(\\n    x, y, radiusX, radiusY, rotation, startAngle, endAngle, opt_anticlockwise) {\\n};\\n\\n/**\\n * @param {Path2D|string=} optFillRuleOrPath\\n * @param {string=} optFillRule\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.fill = function(optFillRuleOrPath, optFillRule) {};\\n\\n/**\\n * @param {Path2D=} optStroke\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.stroke = function(optStroke) {};\\n\\n/**\\n * @param {Element} element\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.drawFocusIfNeeded = function(element) {};\\n\\n/**\\n * @param {Path2D|string=} optFillRuleOrPath\\n * @param {string=} optFillRule\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.clip = function(optFillRuleOrPath, optFillRule) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {boolean}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/isPointInStroke\\n */\\nCanvasRenderingContext2D.prototype.isPointInStroke = function(x, y) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {string=} opt_fillRule\\n * @return {boolean}\\n * @nosideeffects\\n */\\nCanvasRenderingContext2D.prototype.isPointInPath = function(\\n    x, y, opt_fillRule) {};\\n\\n/**\\n * @param {string} text\\n * @param {number} x\\n * @param {number} y\\n * @param {number=} opt_maxWidth\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.fillText = function(\\n    text, x, y, opt_maxWidth) {};\\n\\n/**\\n * @param {string} text\\n * @param {number} x\\n * @param {number} y\\n * @param {number=} opt_maxWidth\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.strokeText = function(\\n    text, x, y, opt_maxWidth) {};\\n\\n/**\\n * @param {string} text\\n * @return {!TextMetrics}\\n * @nosideeffects\\n */\\nCanvasRenderingContext2D.prototype.measureText = function(text) {};\\n\\n/**\\n * @param {CanvasImageSource} image\\n * @param {number} dx Destination x coordinate.\\n * @param {number} dy Destination y coordinate.\\n * @param {number=} opt_dw Destination box width.  Defaults to the image width.\\n * @param {number=} opt_dh Destination box height.\\n *     Defaults to the image height.\\n * @param {number=} opt_sx Source box x coordinate.  Used to select a portion of\\n *     the source image to draw.  Defaults to 0.\\n * @param {number=} opt_sy Source box y coordinate.  Used to select a portion of\\n *     the source image to draw.  Defaults to 0.\\n * @param {number=} opt_sw Source box width.  Used to select a portion of\\n *     the source image to draw.  Defaults to the full image width.\\n * @param {number=} opt_sh Source box height.  Used to select a portion of\\n *     the source image to draw.  Defaults to the full image height.\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.drawImage = function(\\n    image, dx, dy, opt_dw, opt_dh, opt_sx, opt_sy, opt_sw, opt_sh) {};\\n\\n/**\\n * @param {number} sw\\n * @param {number} sh\\n * @return {!ImageData}\\n * @throws {Error}\\n * @nosideeffects\\n */\\nCanvasRenderingContext2D.prototype.createImageData = function(sw, sh) {};\\n\\n/**\\n * @param {number} sx\\n * @param {number} sy\\n * @param {number} sw\\n * @param {number} sh\\n * @return {!ImageData}\\n * @throws {Error}\\n */\\nCanvasRenderingContext2D.prototype.getImageData = function(sx, sy, sw, sh) {};\\n\\n/**\\n * @param {ImageData} imagedata\\n * @param {number} dx\\n * @param {number} dy\\n * @param {number=} opt_dirtyX\\n * @param {number=} opt_dirtyY\\n * @param {number=} opt_dirtyWidth\\n * @param {number=} opt_dirtyHeight\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.putImageData = function(imagedata, dx, dy,\\n    opt_dirtyX, opt_dirtyY, opt_dirtyWidth, opt_dirtyHeight) {};\\n\\n/**\\n * Note: WebKit only\\n * @param {number|string=} opt_a\\n * @param {number=} opt_b\\n * @param {number=} opt_c\\n * @param {number=} opt_d\\n * @param {number=} opt_e\\n * @see http://developer.apple.com/library/safari/#documentation/appleapplications/reference/WebKitDOMRef/CanvasRenderingContext2D_idl/Classes/CanvasRenderingContext2D/index.html\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.setFillColor;\\n\\n/**\\n * Note: WebKit only\\n * @param {number|string=} opt_a\\n * @param {number=} opt_b\\n * @param {number=} opt_c\\n * @param {number=} opt_d\\n * @param {number=} opt_e\\n * @see http://developer.apple.com/library/safari/#documentation/appleapplications/reference/WebKitDOMRef/CanvasRenderingContext2D_idl/Classes/CanvasRenderingContext2D/index.html\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.setStrokeColor;\\n\\n/**\\n * @return {!Array<number>}\\n */\\nCanvasRenderingContext2D.prototype.getLineDash;\\n\\n/**\\n * @param {Array<number>} segments\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.setLineDash;\\n\\n/** @type {string} */\\nCanvasRenderingContext2D.prototype.fillColor;\\n\\n/**\\n * @type {string|!CanvasGradient|!CanvasPattern}\\n * @see https://html.spec.whatwg.org/multipage/scripting.html#fill-and-stroke-styles:dom-context-2d-fillstyle\\n * @implicitCast\\n */\\nCanvasRenderingContext2D.prototype.fillStyle;\\n\\n/** @type {string} */\\nCanvasRenderingContext2D.prototype.font;\\n\\n/** @type {number} */\\nCanvasRenderingContext2D.prototype.globalAlpha;\\n\\n/** @type {string} */\\nCanvasRenderingContext2D.prototype.globalCompositeOperation;\\n\\n/** @type {number} */\\nCanvasRenderingContext2D.prototype.lineWidth;\\n\\n/** @type {string} */\\nCanvasRenderingContext2D.prototype.lineCap;\\n\\n/** @t";
a.a+="ype {string} */\\nCanvasRenderingContext2D.prototype.lineJoin;\\n\\n/** @type {number} */\\nCanvasRenderingContext2D.prototype.miterLimit;\\n\\n/** @type {number} */\\nCanvasRenderingContext2D.prototype.shadowBlur;\\n\\n/** @type {string} */\\nCanvasRenderingContext2D.prototype.shadowColor;\\n\\n/** @type {number} */\\nCanvasRenderingContext2D.prototype.shadowOffsetX;\\n\\n/** @type {number} */\\nCanvasRenderingContext2D.prototype.shadowOffsetY;\\n\\n/**\\n * @type {string|!CanvasGradient|!CanvasPattern}\\n * @see https://html.spec.whatwg.org/multipage/scripting.html#fill-and-stroke-styles:dom-context-2d-strokestyle\\n * @implicitCast\\n */\\nCanvasRenderingContext2D.prototype.strokeStyle;\\n\\n/** @type {string} */\\nCanvasRenderingContext2D.prototype.strokeColor;\\n\\n/** @type {string} */\\nCanvasRenderingContext2D.prototype.textAlign;\\n\\n/** @type {string} */\\nCanvasRenderingContext2D.prototype.textBaseline;\\n\\n/** @type {number} */\\nCanvasRenderingContext2D.prototype.lineDashOffset;\\n\\n/**\\n * @constructor\\n */\\nfunction CanvasGradient() {}\\n\\n/**\\n * @param {number} offset\\n * @param {string} color\\n * @return {undefined}\\n */\\nCanvasGradient.prototype.addColorStop = function(offset, color) {};\\n\\n/**\\n * @constructor\\n */\\nfunction CanvasPattern() {}\\n\\n/**\\n * @constructor\\n */\\nfunction TextMetrics() {}\\n\\n/** @const {number} */\\nTextMetrics.prototype.width;\\n\\n/**\\n * @param {Uint8ClampedArray|number} dataOrWidth In the first form, this is the\\n *     array of pixel data.  In the second form, this is the image width.\\n * @param {number} widthOrHeight In the first form, this is the image width.  In\\n *     the second form, this is the image height.\\n * @param {number=} opt_height In the first form, this is the optional image\\n *     height.  The second form omits this argument.\\n * @see https://html.spec.whatwg.org/multipage/scripting.html#imagedata\\n * @constructor\\n */\\nfunction ImageData(dataOrWidth, widthOrHeight, opt_height) {}\\n\\n/** @const {Uint8ClampedArray} */\\nImageData.prototype.data;\\n\\n/** @const {number} */\\nImageData.prototype.width;\\n\\n/** @const {number} */\\nImageData.prototype.height;\\n\\n/**\\n * @see https://www.w3.org/TR/html51/webappapis.html#webappapis-images\\n * @interface\\n */\\nfunction ImageBitmap() {}\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nImageBitmap.prototype.width;\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nImageBitmap.prototype.height;\\n\\n/**\\n * @constructor\\n */\\nfunction ClientInformation() {}\\n\\n/** @type {boolean} */\\nClientInformation.prototype.onLine;\\n\\n/**\\n * @param {string} protocol\\n * @param {string} uri\\n * @param {string} title\\n * @return {undefined}\\n */\\nClientInformation.prototype.registerProtocolHandler = function(\\n    protocol, uri, title) {};\\n\\n/**\\n * @param {string} mimeType\\n * @param {string} uri\\n * @param {string} title\\n * @return {undefined}\\n */\\nClientInformation.prototype.registerContentHandler = function(\\n    mimeType, uri, title) {};\\n\\n// HTML5 Database objects\\n/**\\n * @constructor\\n */\\nfunction Database() {}\\n\\n/**\\n * @type {string}\\n */\\nDatabase.prototype.version;\\n\\n/**\\n * @param {function(!SQLTransaction) : void} callback\\n * @param {(function(!SQLError) : void)=} opt_errorCallback\\n * @param {Function=} opt_Callback\\n * @return {undefined}\\n */\\nDatabase.prototype.transaction = function(\\n    callback, opt_errorCallback, opt_Callback) {};\\n\\n/**\\n * @param {function(!SQLTransaction) : void} callback\\n * @param {(function(!SQLError) : void)=} opt_errorCallback\\n * @param {Function=} opt_Callback\\n * @return {undefined}\\n */\\nDatabase.prototype.readTransaction = function(\\n    callback, opt_errorCallback, opt_Callback) {};\\n\\n/**\\n * @param {string} oldVersion\\n * @param {string} newVersion\\n * @param {function(!SQLTransaction) : void} callback\\n * @param {function(!SQLError) : void} errorCallback\\n * @param {Function} successCallback\\n * @return {undefined}\\n */\\nDatabase.prototype.changeVersion = function(\\n    oldVersion, newVersion, callback, errorCallback, successCallback) {};\\n\\n/**\\n * @interface\\n */\\nfunction DatabaseCallback() {}\\n\\n/**\\n * @param {!Database} db\\n * @return {undefined}\\n */\\nDatabaseCallback.prototype.handleEvent = function(db) {};\\n\\n/**\\n * @constructor\\n */\\nfunction SQLError() {}\\n\\n/**\\n * @type {number}\\n */\\nSQLError.prototype.code;\\n\\n/**\\n * @type {string}\\n */\\nSQLError.prototype.message;\\n\\n/**\\n * @constructor\\n */\\nfunction SQLTransaction() {}\\n\\n/**\\n * @param {string} sqlStatement\\n * @param {Array<*>=} opt_queryArgs\\n * @param {SQLStatementCallback=} opt_callback\\n * @param {(function(!SQLTransaction, !SQLError) : (boolean|void))=}\\n *     opt_errorCallback\\n * @return {undefined}\\n */\\nSQLTransaction.prototype.executeSql = function(\\n    sqlStatement, opt_queryArgs, opt_callback, opt_errorCallback) {};\\n\\n/**\\n * @typedef {(function(!SQLTransaction, !SQLResultSet) : void)}\\n */\\nvar SQLStatementCallback;\\n\\n/**\\n * @constructor\\n */\\nfunction SQLResultSet() {}\\n\\n/**\\n * @type {number}\\n */\\nSQLResultSet.prototype.insertId;\\n\\n/**\\n * @type {number}\\n */\\nSQLResultSet.prototype.rowsAffected;\\n\\n/**\\n * @type {!SQLResultSetRowList}\\n */\\nSQLResultSet.prototype.rows;\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike<!Object>}\\n * @see http://www.w3.org/TR/webdatabase/#sqlresultsetrowlist\\n */\\nfunction SQLResultSetRowList() {}\\n\\n/**\\n * @type {number}\\n */\\nSQLResultSetRowList.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {Object}\\n * @nosideeffects\\n */\\nSQLResultSetRowList.prototype.item = function(index) {};\\n\\n/**\\n * @param {string} name\\n * @param {string} version\\n * @param {string} description\\n * @param {number} size\\n * @param {(DatabaseCallback|function(Database))=} opt_callback\\n * @return {!Database}\\n */\\nfunction openDatabase(name, version, description, size, opt_callback) {}\\n\\n/**\\n * @param {string} name\\n * @param {string} version\\n * @param {string} description\\n * @param {number} size\\n * @param {(DatabaseCallback|function(Database))=} opt_callback\\n * @return {!Database}\\n */\\nWindow.prototype.openDatabase =\\n    function(name, version, description, size, opt_callback) {};\\n\\n/**\\n * @type {boolean}\\n * @see https://www.w3.org/TR/html5/embedded-content-0.html#dom-img-complete\\n */\\nHTMLImageElement.prototype.complete;\\n\\n/**\\n * @type {number}\\n * @see https://www.w3.org/TR/html5/embedded-content-0.html#dom-img-naturalwidth\\n */\\nHTMLImageElement.prototype.naturalWidth;\\n\\n/**\\n * @type {number}\\n * @see https://www.w3.org/TR/html5/embedded-content-0.html#dom-img-naturalheight\\n */\\nHTMLImageElement.prototype.naturalHeight;\\n\\n/**\\n * @type {string}\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/embedded-content-1.html#attr-img-crossorigin\\n */\\nHTMLImageElement.prototype.crossOrigin;\\n\\n/**\\n * This is a superposition of the Window and Worker postMessage methods.\\n * @param {*} message\\n * @param {(string|!Array<!Transferable>)=} opt_targetOriginOrTransfer\\n * @param {(string|!Array<!MessagePort>|!Array<!Transferable>)=}\\n *     opt_targetOriginOrPortsOrTransfer\\n * @return {void}\\n */\\nfunction postMessage(message, opt_targetOriginOrTransfer,\\n    opt_targetOriginOrPortsOrTransfer) {}\\n\\n/**\\n * The postMessage method (as implemented in Opera).\\n * @param {string} message\\n */\\nDocument.prototype.postMessage = function(message) {};\\n\\n/**\\n * Document head accessor.\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/dom.html#the-head-element-0\\n * @type {HTMLHeadElement}\\n */\\nDocument.prototype.head;\\n\\n/**\\n * @see https://developer.apple.com/webapps/docs/documentation/AppleApplications/Reference/SafariJSRef/DOMApplicationCache/DOMApplicationCache.html\\n * @constructor\\n * @implements {EventTarget}\\n */\\nfunction DOMApplicationCache() {}\\n\\n/** @override */\\nDOMApplicationCache.prototype.addEventListener = function(\\n    type, listener, opt_options) {};\\n\\n/** @override */\\nDOMApplicationCache.prototype.removeEventListener = function(\\n    type, listener, opt_options) {};\\n\\n/** @override */\\nDOMApplicationCache.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * The object isn't associated with an application cache. This can occur if the\\n * update process fails and there is no previous cache to revert to, or if there\\n * is no manifest file.\\n * @type {number}\\n */\\nDOMApplicationCache.prototype.UNCACHED = 0;\\n\\n/**\\n * The cache is idle.\\n * @type {number}\\n */\\nDOMApplicationCache.prototype.IDLE = 1;\\n\\n/**\\n * The update has started but the resources are not downloaded yet - for\\n * example, this can happen when the manifest file is fetched.\\n * @type {number}\\n */\\nDOMApplicationCache.prototype.CHECKING = 2;\\n\\n/**\\n * The resources are being downloaded into the cache.\\n * @type {number}\\n */\\nDOMApplicationCache.prototype.DOWNLOADING = 3;\\n\\n/**\\n * Resources have finished downloading and the new cache is ready to be used.\\n * @type {number}\\n */\\nDOMApplicationCache.prototype.UPDATEREADY = 4;\\n\\n/**\\n * The cache is obsolete.\\n * @type {number}\\n */\\nDOMApplicationCache.prototype.OBSOLETE = 5;\\n\\n/**\\n * The current status of the application cache.\\n * @type {number}\\n */\\nDOMApplicationCache.prototype.status;\\n\\n/**\\n * Sent when the update process finishes for the first time; that is, the first\\n * time an application cache is saved.\\n * @type {?function(!Event)}\\n */\\nDOMApplicationCache.prototype.oncached;\\n\\n/**\\n * Sent when the cache update process begins.\\n * @type {?function(!Event)}\\n */\\nDOMApplicationCache.prototype.onchecking;\\n\\n/**\\n * Sent when the update process begins downloading resources in the manifest\\n * file.\\n * @type {?function(!Event)}\\n */\\nDOMApplicationCache.prototype.ondownloading;\\n\\n/**\\n * Sent when an error occurs.\\n * @type {?function(!Event)}\\n */\\nDOMApplicationCache.prototype.onerror;\\n\\n/**\\n * Sent when the update process finishes but the manifest file does not change.\\n * @type {?function(!Event)}\\n */\\nDOMApplicationCache.prototype.onnoupdate;\\n\\n/**\\n * Sent when each resource in the manifest file begins to download.\\n * @type {?function(!Event)}\\n */\\nDOMApplicationCache.prototype.onprogress;\\n\\n/**\\n * Sent when there is an existing application cache, the update process\\n * finishes, and there is a new application cache ready for use.\\n * @type {?function(!Event)}\\n */\\nDOMApplicationCache.prototype.onupdateready;\\n\\n/**\\n * Replaces the active cache with the latest version.\\n * @throws {DOMException}\\n * @return {undefined}\\n */\\nDOMApplicationCache.prototype.swapCache = function() {};\\n\\n/**\\n * Manually triggers the update process.\\n * @throws {DOMException}\\n * @return {undefined}\\n */\\nDOMApplicationCache.prototype.update = function() {};\\n\\n/** @type {DOMApplicationCache} */\\nvar applicationCache;\\n\\n/** @type {DOMApplicationCache} */\\nWindow.prototype.applicationCache;\\n\\n/**\\n * @see https://developer.mozilla.org/En/DOM/Worker/Functions_available_to_workers\\n * @param {...string} var_args\\n * @return {undefined}\\n */\\nWindow.prototype.importScripts = function(var_args) {};\\n\\n/**\\n * @see https://developer.mozilla.org/En/DOM/Worker/Functions_available_to_workers\\n * @param {...string} var_args\\n * @return {undefined}\\n */\\nfunction importScripts(var_args) {}\\n\\n/**\\n * @see http://dev.w3.org/html5/workers/\\n * @constructor\\n * @implements {EventTarget}\\n */\\nfunction WebWorker() {}\\n\\n/** @override */\\nWebWorker.prototype.addEventListener = function(type, listener, opt_options) {};\\n\\n/** @override */\\nWebWorker.prototype.removeEventListener = function(\\n    type, listener, opt_options) {};\\n\\n/** @override */\\nWebWorker.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * Stops the worker process\\n * @return {undefined}\\n */\\nWebWorker.prototype.terminate = function() {};\\n\\n/**\\n * Posts a message to the worker thread.\\n * @param {string} message\\n * @return {undefined}\\n */\\nWebWorker.prototype.postMessage = function(message) {};\\n\\n/**\\n * Sent when the worker thread posts a message to its creator.\\n * @type {?function(!MessageEvent<*>)}\\n */\\nWebWorker.prototype.onmessage;\\n\\n/**\\n * Sent when the worker thread encounters an error.\\n * TODO(tbreisacher): Should this change to function(!ErrorEvent)?\\n * @type {?function(!Event)}\\n */\\nWebWorker.prototype.onerror;\\n\\n/**\\n * @see http://dev.w3.org/html5/workers/\\n * @constructor\\n * @implements {EventTarget}\\n */\\nfunction Worker(opt_arg0) {}\\n\\n/** @override */\\nWorker.prototype.addEventListener = function(type, listener, opt_options) {};\\n\\n/** @override */\\nWorker.prototype.removeEventListener = function(type, listener, opt_options) {};\\n\\n/** @override */\\nWorker.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * Stops the worker process\\n * @return {undefined}\\n */\\nWorker.prototype.terminate = function() {};\\n\\n/**\\n * Posts a message to the worker thread.\\n * @param {*} message\\n * @param {Array<!Transferable>=} opt_transfer\\n * @return {undefined}\\n */\\nWorker.prototype.postMessage = function(message, opt_transfer) {};\\n\\n/**\\n * Posts a message to the worker thread.\\n * @param {*} message\\n * @param {Array<!Transferable>=} opt_transfer\\n * @return {undefined}\\n */\\nWorker.prototype.webkitPostMessage = function(message, opt_transfer) {};\\n\\n/**\\n * Sent when the worker thread posts a message to its creator.\\n * @type {?function(!MessageEvent<*>)}\\n */\\nWorker.prototype.onmessage;\\n\\n/**\\n * Sent when the worker thread encounters an error.\\n * TODO(tbreisacher): Should this change to function(!ErrorEvent)?\\n * @type {?function(!Event)}\\n */\\nWorker.prototype.onerror;\\n\\n/**\\n * @see http://dev.w3.org/html5/workers/\\n * @param {string} scriptURL The URL of the script to run in the SharedWorker.\\n * @param {string=} opt_name A name that can later be used to obtain a\\n *     reference to the same SharedWorker.\\n * @constructor\\n * @implements {EventTarget}\\n */\\nfunction SharedWorker(scriptURL, opt_name) {}\\n\\n/** @override */\\nSharedWorker.prototype.addEventListener = function(\\n    type, listener, opt_options) {};\\n\\n/** @override */\\nSharedWorker.prototype.removeEventListener = function(\\n    type, listener, opt_options) {};\\n\\n/** @override */\\nSharedWorker.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * @type {!MessagePort}\\n */\\nSharedWorker.prototype.port;\\n\\n/**\\n * Called on network errors for loading the initial script.\\n * TODO(tbreisacher): Should this change to function(!ErrorEvent)?\\n * @type {?function(!Event)}\\n */\\nSharedWorker.prototype.onerror;\\n\\n/**\\n * @see http://dev.w3.org/html5/workers/\\n * @see http://www.w3.org/TR/url-1/#dom-urlutilsreadonly\\n * @interface\\n */\\nfunction WorkerLocation() {}\\n\\n/** @type {string} */\\nWorkerLocation.prototype.href;\\n\\n/** @type {string} */\\nWorkerLocation.prototype.origin;\\n\\n/** @type {string} */\\nWorkerLocation.prototype.protocol;\\n\\n/** @type {string} */\\nWorkerLocation.prototype.host;\\n\\n/** @type {string} */\\nWorkerLocation.prototype.hostname;\\n\\n/** @type {string} */\\nWorkerLocation.prototype.port;\\n\\n/** @type {string} */\\nWorkerLocation.prototype.pathname;\\n\\n/** @type {string} */\\nWorkerLocation.prototype.search;\\n\\n/** @type {string} */\\nWorkerLocation.prototype.hash;\\n\\n/**\\n * @see http://dev.w3.org/html5/workers/\\n * @interface\\n * @extends {EventTarget}\\n */\\nfunction WorkerGlobalScope() {}\\n\\n/** @type {!WorkerGlobalScope} */\\nWorkerGlobalScope.prototype.self;\\n\\n/** @type {!WorkerLocation} */\\nWorkerGlobalScope.prototype.location;\\n\\n/**\\n * Closes the worker represented by this WorkerGlobalScope.\\n * @return {undefined}\\n */\\nWorkerGlobalScope.prototype.close = function() {};\\n\\n/**\\n * Sent when the worker encounters an error.\\n * @type {?function(!Event)}\\n */\\nWorkerGlobalScope.prototype.onerror;\\n\\n/**\\n * Sent when the worker goes offline.\\n * @type {?function(!Event)}\\n */\\nWorkerGlobalScope.prototype.onoffline;\\n\\n/**\\n * Sent when the worker goes online.\\n * @type {?function(!Event)}\\n */\\nWorkerGlobalScope.prototype.ononline;\\n\\n/** @type {!WorkerPerformance} */\\nWorkerGlobalScope.prototype.performance;\\n\\n/**\\n * @see http://dev.w3.org/html5/workers/\\n * @interface\\n * @extends {WorkerGlobalScope}\\n */\\nfunction DedicatedWorkerGlobalScope() {}\\n\\n/**\\n * Posts a message to creator of this worker.\\n * @param {*} message\\n * @param {Array<!Transferable>=} opt_transfer\\n * @return {undefined}\\n */\\nDedicatedWorkerGlobalScope.prototype.postMessage =\\n    function(messa";
a.a+="ge, opt_transfer) {};\\n\\n/**\\n * Posts a message to creator of this worker.\\n * @param {*} message\\n * @param {Array<!Transferable>=} opt_transfer\\n * @return {undefined}\\n */\\nDedicatedWorkerGlobalScope.prototype.webkitPostMessage =\\n    function(message, opt_transfer) {};\\n\\n/**\\n * Sent when the creator posts a message to this worker.\\n * @type {?function(!MessageEvent<*>)}\\n */\\nDedicatedWorkerGlobalScope.prototype.onmessage;\\n\\n/**\\n * @see http://dev.w3.org/html5/workers/\\n * @interface\\n * @extends {WorkerGlobalScope}\\n */\\nfunction SharedWorkerGlobalScope() {}\\n\\n/** @type {string} */\\nSharedWorkerGlobalScope.prototype.name;\\n\\n/**\\n * Sent when a connection to this worker is opened.\\n * @type {?function(!Event)}\\n */\\nSharedWorkerGlobalScope.prototype.onconnect;\\n\\n/** @type {!Array<string>|undefined} */\\nHTMLElement.observedAttributes;\\n\\n/**\\n * @param {!Document} oldDocument\\n * @param {!Document} newDocument\\n */\\nHTMLElement.prototype.adoptedCallback = function(oldDocument, newDocument) {};\\n\\n/**\\n * @param {!{mode: string}} options\\n * @return {!ShadowRoot}\\n */\\nHTMLElement.prototype.attachShadow = function(options) {};\\n\\n/**\\n * @param {string} attributeName\\n * @param {?string} oldValue\\n * @param {?string} newValue\\n * @param {?string} namespace\\n */\\nHTMLElement.prototype.attributeChangedCallback = function(attributeName, oldValue, newValue, namespace) {};\\n\\n/** @type {function()|undefined} */\\nHTMLElement.prototype.connectedCallback;\\n\\n/** @type {Element} */\\nHTMLElement.prototype.contextMenu;\\n\\n/** @type {function()|undefined} */\\nHTMLElement.prototype.disconnectedCallback;\\n\\n/** @type {boolean} */\\nHTMLElement.prototype.draggable;\\n\\n/**\\n * This is actually a DOMSettableTokenList property. However since that\\n * interface isn't currently defined and no known browsers implement this\\n * feature, just define the property for now.\\n *\\n * @const\\n * @type {Object}\\n */\\nHTMLElement.prototype.dropzone;\\n\\n/**\\n * @see http://www.w3.org/TR/html5/dom.html#dom-getelementsbyclassname\\n * @param {string} classNames\\n * @return {!NodeList<!Element>}\\n * @nosideeffects\\n */\\nHTMLElement.prototype.getElementsByClassName = function(classNames) {};\\n// NOTE: Document.prototype.getElementsByClassName is in gecko_dom.js\\n\\n/** @type {boolean} */\\nHTMLElement.prototype.hidden;\\n\\n/** @type {boolean} */\\nHTMLElement.prototype.spellcheck;\\n\\n/**\\n * @see https://dom.spec.whatwg.org/#dictdef-getrootnodeoptions\\n * @typedef {{\\n *   composed: boolean\\n * }}\\n */\\nvar GetRootNodeOptions;\\n\\n/**\\n * @see https://dom.spec.whatwg.org/#dom-node-getrootnode\\n * @param {GetRootNodeOptions=} opt_options\\n * @return {!Node}\\n */\\nNode.prototype.getRootNode = function(opt_options) {};\\n\\n/**\\n * @see http://www.w3.org/TR/components-intro/\\n * @return {!ShadowRoot}\\n */\\nHTMLElement.prototype.createShadowRoot;\\n\\n/**\\n * @see http://www.w3.org/TR/components-intro/\\n * @return {!ShadowRoot}\\n */\\nHTMLElement.prototype.webkitCreateShadowRoot;\\n\\n/**\\n * @see http://www.w3.org/TR/shadow-dom/\\n * @type {ShadowRoot}\\n */\\nHTMLElement.prototype.shadowRoot;\\n\\n/**\\n * @see http://www.w3.org/TR/shadow-dom/\\n * @return {!NodeList<!Node>}\\n */\\nHTMLElement.prototype.getDestinationInsertionPoints = function() {};\\n\\n/**\\n * @see http://www.w3.org/TR/components-intro/\\n * @type {function()}\\n */\\nHTMLElement.prototype.createdCallback;\\n\\n/**\\n * @see http://w3c.github.io/webcomponents/explainer/#lifecycle-callbacks\\n * @type {function()}\\n */\\nHTMLElement.prototype.attachedCallback;\\n\\n/**\\n * @see http://w3c.github.io/webcomponents/explainer/#lifecycle-callbacks\\n * @type {function()}\\n */\\nHTMLElement.prototype.detachedCallback;\\n\\n/** @type {string} */\\nHTMLAnchorElement.prototype.download;\\n\\n/** @type {string} */\\nHTMLAnchorElement.prototype.hash;\\n\\n/** @type {string} */\\nHTMLAnchorElement.prototype.host;\\n\\n/** @type {string} */\\nHTMLAnchorElement.prototype.hostname;\\n\\n/** @type {string} */\\nHTMLAnchorElement.prototype.pathname;\\n\\n/**\\n * The 'ping' attribute is known to be supported in recent versions (as of\\n * mid-2014) of Chrome, Safari, and Firefox, and is not supported in any\\n * current version of Internet Explorer.\\n *\\n * @type {string}\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#hyperlink-auditing\\n */\\nHTMLAnchorElement.prototype.ping;\\n\\n/** @type {string} */\\nHTMLAnchorElement.prototype.port;\\n\\n/** @type {string} */\\nHTMLAnchorElement.prototype.protocol;\\n\\n/** @type {string} */\\nHTMLAnchorElement.prototype.search;\\n\\n/** @type {string} */\\nHTMLAreaElement.prototype.download;\\n\\n/**\\n * @type {string}\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#hyperlink-auditing\\n */\\nHTMLAreaElement.prototype.ping;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/html-markup/iframe.html#iframe.attrs.srcdoc\\n */\\nHTMLIFrameElement.prototype.srcdoc;\\n\\n/**\\n * @type {?string}\\n * @see http://www.w3.org/TR/2012/WD-html5-20121025/the-iframe-element.html#attr-iframe-sandbox\\n */\\nHTMLIFrameElement.prototype.sandbox;\\n\\n/** @type {string} */\\nHTMLInputElement.prototype.autocomplete;\\n\\n/** @type {string} */\\nHTMLInputElement.prototype.dirname;\\n\\n/** @type {FileList} */\\nHTMLInputElement.prototype.files;\\n\\n/**\\n * @type {boolean}\\n * @see https://www.w3.org/TR/html5/forms.html#dom-input-indeterminate\\n */\\nHTMLInputElement.prototype.indeterminate;\\n\\n/** @type {string} */\\nHTMLInputElement.prototype.list;\\n\\n/** @implicitCast @type {string} */\\nHTMLInputElement.prototype.max;\\n\\n/** @implicitCast @type {string} */\\nHTMLInputElement.prototype.min;\\n\\n/** @type {string} */\\nHTMLInputElement.prototype.pattern;\\n\\n/** @type {boolean} */\\nHTMLInputElement.prototype.multiple;\\n\\n/** @type {string} */\\nHTMLInputElement.prototype.placeholder;\\n\\n/** @type {boolean} */\\nHTMLInputElement.prototype.required;\\n\\n/** @implicitCast @type {string} */\\nHTMLInputElement.prototype.step;\\n\\n/** @type {Date} */\\nHTMLInputElement.prototype.valueAsDate;\\n\\n/** @type {number} */\\nHTMLInputElement.prototype.valueAsNumber;\\n\\n/**\\n * Changes the form control's value by the value given in the step attribute\\n * multiplied by opt_n.\\n * @param {number=} opt_n step multiplier.  Defaults to 1.\\n * @return {undefined}\\n */\\nHTMLInputElement.prototype.stepDown = function(opt_n) {};\\n\\n/**\\n * Changes the form control's value by the value given in the step attribute\\n * multiplied by opt_n.\\n * @param {number=} opt_n step multiplier.  Defaults to 1.\\n * @return {undefined}\\n */\\nHTMLInputElement.prototype.stepUp = function(opt_n) {};\\n\\n\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement\\n */\\nfunction HTMLMediaElement() {}\\n\\n/** @const {number} */\\nHTMLMediaElement.NETWORK_EMPTY;  // = 0\\n\\n/** @const {number} */\\nHTMLMediaElement.NETWORK_IDLE;  // = 1\\n\\n/** @const {number} */\\nHTMLMediaElement.NETWORK_LOADING;  // = 2\\n\\n/** @const {number} */\\nHTMLMediaElement.NETWORK_NO_SOURCE;  // = 3\\n\\n/** @const {number} */\\nHTMLMediaElement.HAVE_NOTHING;  // = 0\\n\\n/** @const {number} */\\nHTMLMediaElement.HAVE_METADATA;  // = 1\\n\\n/** @const {number} */\\nHTMLMediaElement.HAVE_CURRENT_DATA;  // = 2\\n\\n/** @const {number} */\\nHTMLMediaElement.HAVE_FUTURE_DATA;  // = 3\\n\\n/** @const {number} */\\nHTMLMediaElement.HAVE_ENOUGH_DATA;  // = 4\\n\\n/** @type {MediaError} */\\nHTMLMediaElement.prototype.error;\\n\\n/** @type {string} */\\nHTMLMediaElement.prototype.src;\\n\\n/** @type {string} */\\nHTMLMediaElement.prototype.currentSrc;\\n\\n/** @type {number} */\\nHTMLMediaElement.prototype.networkState;\\n\\n/** @type {boolean} */\\nHTMLMediaElement.prototype.autobuffer;\\n\\n/** @type {!TimeRanges} */\\nHTMLMediaElement.prototype.buffered;\\n\\n/** @type {!MediaStream} */\\nHTMLMediaElement.prototype.srcObject;\\n\\n/**\\n * Loads the media element.\\n * @return {undefined}\\n */\\nHTMLMediaElement.prototype.load = function() {};\\n\\n/**\\n * @param {string} type Type of the element in question in question.\\n * @return {string} Whether it can play the type.\\n * @nosideeffects\\n */\\nHTMLMediaElement.prototype.canPlayType = function(type) {};\\n\\n/** Event handlers */\\n\\n/** @type {?function(Event)} */\\nHTMLMediaElement.prototype.onabort;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.oncanplay;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.oncanplaythrough;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.ondurationchange;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onemptied;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onended;\\n\\n/** @type {?function(Event)} */\\nHTMLMediaElement.prototype.onerror;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onloadeddata;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onloadedmetadata;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onloadstart;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onpause;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onplay;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onplaying;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onprogress;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onratechange;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onseeked;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onseeking;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onstalled;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onsuspend;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.ontimeupdate;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onvolumechange;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onwaiting;\\n\\n/** @type {?function(Event)} */\\nHTMLImageElement.prototype.onload;\\n\\n/** @type {?function(Event)} */\\nHTMLImageElement.prototype.onerror;\\n\\n/** @type {number} */\\nHTMLMediaElement.prototype.readyState;\\n\\n/** @type {boolean} */\\nHTMLMediaElement.prototype.seeking;\\n\\n/**\\n * The current time, in seconds.\\n * @type {number}\\n */\\nHTMLMediaElement.prototype.currentTime;\\n\\n/**\\n * The absolute timeline offset.\\n * @return {!Date}\\n */\\nHTMLMediaElement.prototype.getStartDate = function() {};\\n\\n/**\\n * The length of the media in seconds.\\n * @type {number}\\n */\\nHTMLMediaElement.prototype.duration;\\n\\n/** @type {boolean} */\\nHTMLMediaElement.prototype.paused;\\n\\n/** @type {number} */\\nHTMLMediaElement.prototype.defaultPlaybackRate;\\n\\n/** @type {number} */\\nHTMLMediaElement.prototype.playbackRate;\\n\\n/** @type {TimeRanges} */\\nHTMLMediaElement.prototype.played;\\n\\n/** @type {TimeRanges} */\\nHTMLMediaElement.prototype.seekable;\\n\\n/** @type {boolean} */\\nHTMLMediaElement.prototype.ended;\\n\\n/** @type {boolean} */\\nHTMLMediaElement.prototype.autoplay;\\n\\n/** @type {boolean} */\\nHTMLMediaElement.prototype.loop;\\n\\n/**\\n * Starts playing the media.\\n * @return {?Promise<undefined>} This is a *nullable* Promise on purpose unlike\\n *     the HTML5 spec because supported older browsers (incl. Smart TVs) don't\\n *     return a Promise.\\n */\\nHTMLMediaElement.prototype.play = function() {};\\n\\n/**\\n * Pauses the media.\\n * @return {undefined}\\n */\\nHTMLMediaElement.prototype.pause = function() {};\\n\\n/** @type {boolean} */\\nHTMLMediaElement.prototype.controls;\\n\\n/**\\n * The audio volume, from 0.0 (silent) to 1.0 (loudest).\\n * @type {number}\\n */\\nHTMLMediaElement.prototype.volume;\\n\\n/** @type {boolean} */\\nHTMLMediaElement.prototype.muted;\\n\\n/**\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#dom-media-addtexttrack\\n * @param {string} kind Kind of the text track.\\n * @param {string=} opt_label Label of the text track.\\n * @param {string=} opt_language Language of the text track.\\n * @return {!TextTrack} TextTrack object added to the media element.\\n */\\nHTMLMediaElement.prototype.addTextTrack =\\n    function(kind, opt_label, opt_language) {};\\n\\n/** @type {!TextTrackList} */\\nHTMLMediaElement.prototype.textTracks;\\n\\n/**\\n * The ID of the audio device through which output is being delivered, or an\\n * empty string if using the default device.\\n *\\n * Implemented as a draft spec in Chrome 49+.\\n *\\n * @see https://w3c.github.io/mediacapture-output/#htmlmediaelement-extensions\\n * @type {string}\\n */\\nHTMLMediaElement.prototype.sinkId;\\n\\n/**\\n * Sets the audio device through which output should be delivered.\\n *\\n * Implemented as a draft spec in Chrome 49+.\\n *\\n * @param {string} sinkId The ID of the audio output device, or empty string\\n * for default device.\\n *\\n * @see https://w3c.github.io/mediacapture-output/#htmlmediaelement-extensions\\n * @return {!Promise<void>}\\n */\\nHTMLMediaElement.prototype.setSinkId = function(sinkId) {};\\n\\n\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see https://html.spec.whatwg.org/multipage/dom.html#htmlunknownelement\\n * @see https://html.spec.whatwg.org/multipage/scripting.html#customized-built-in-element-restrictions\\n * @see https://w3c.github.io/webcomponents/spec/custom/#custom-elements-api\\n */\\nfunction HTMLUnknownElement() {}\\n\\n\\n\\n/**\\n * @see http://www.w3.org/TR/shadow-dom/\\n * @return {!NodeList<!Node>}\\n */\\nText.prototype.getDestinationInsertionPoints = function() {};\\n\\n\\n/**\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#texttracklist\\n * @constructor\\n * @implements {IArrayLike<!TextTrack>}\\n */\\nfunction TextTrackList() {}\\n\\n/** @type {number} */\\nTextTrackList.prototype.length;\\n\\n/**\\n * @param {string} id\\n * @return {TextTrack}\\n */\\nTextTrackList.prototype.getTrackById = function(id) {};\\n\\n\\n/**\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#texttrack\\n * @constructor\\n * @implements {EventTarget}\\n */\\nfunction TextTrack() {}\\n\\n/**\\n * @param {TextTrackCue} cue\\n * @return {undefined}\\n */\\nTextTrack.prototype.addCue = function(cue) {};\\n\\n/**\\n * @param {TextTrackCue} cue\\n * @return {undefined}\\n */\\nTextTrack.prototype.removeCue = function(cue) {};\\n\\n/**\\n * @const {TextTrackCueList}\\n */\\nTextTrack.prototype.activeCues;\\n\\n/**\\n * @const {TextTrackCueList}\\n */\\nTextTrack.prototype.cues;\\n\\n/**\\n * @type {string}\\n */\\nTextTrack.prototype.mode;\\n\\n/** @override */\\nTextTrack.prototype.addEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/** @override */\\nTextTrack.prototype.dispatchEvent = function(evt) {};\\n\\n/** @override */\\nTextTrack.prototype.removeEventListener = function(\\n    type, listener, opt_options) {};\\n\\n\\n\\n/**\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#texttrackcuelist\\n * @constructor\\n * @implements {IArrayLike<!TextTrackCue>}\\n */\\nfunction TextTrackCueList() {}\\n\\n/** @const {number} */\\nTextTrackCueList.prototype.length;\\n\\n/**\\n * @param {string} id\\n * @return {TextTrackCue}\\n */\\nTextTrackCueList.prototype.getCueById = function(id) {};\\n\\n\\n\\n/**\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#texttrackcue\\n * @constructor\\n * @param {number} startTime\\n * @param {number} endTime\\n * @param {string} text\\n */\\nfunction TextTrackCue(startTime, endTime, text) {}\\n\\n/** @type {string} */\\nTextTrackCue.prototype.id;\\n\\n/** @type {number} */\\nTextTrackCue.prototype.startTime;\\n\\n/** @type {number} */\\nTextTrackCue.prototype.endTime;\\n\\n/** @type {string} */\\nTextTrackCue.prototype.text;\\n\\n\\n\\n/**\\n * @see https://w3c.github.io/webvtt/#vttregion\\n * @constructor\\n */\\nfunction VTTRegion() {}\\n\\n/** @type {string} */\\nVTTRegion.prototype.id;\\n\\n/** @type {number} */\\nVTTRegion.prototype.width;\\n\\n/** @type {number} */\\nVTTRegion.prototype.lines;\\n\\n/** @type {number} */\\nVTTRegion.prototype.regionAnchorX;\\n\\n/** @type {number} */\\nVTTRegion.prototype.regionAnchorY;\\n\\n/** @type {number} */\\nVTTRegion.prototype.viewportAnchorX;\\n\\n/** @type {number} */\\nVTTRegion.prototype.viewportAnchorY;\\n\\n/**\\n * @see https://w3c.github.io/webvtt/#enumdef-scrollsetting\\n * @type {string}\\n */\\nVTTRegion.prototype.scroll;\\n\\n\\n\\n/**\\n * @see http://dev.w3.org/html5/webvtt/#the-vttcue-interface\\n * @constructor\\n * @extends {TextTrackCue}\\n * @param {number} startT";
a.a+="ime\\n * @param {number} endTime\\n * @param {string} text\\n */\\nfunction VTTCue(startTime, endTime, text) {}\\n\\n/** @type {?VTTRegion} */\\nVTTCue.prototype.region;\\n\\n/**\\n * @see https://w3c.github.io/webvtt/#enumdef-directionsetting\\n * @type {string}\\n */\\nVTTCue.prototype.vertical;\\n\\n/** @type {boolean} */\\nVTTCue.prototype.snapToLines;\\n\\n/** @type {(number|string)} */\\nVTTCue.prototype.line;\\n\\n/**\\n * @see https://w3c.github.io/webvtt/#enumdef-linealignsetting\\n * @type {string}\\n */\\nVTTCue.prototype.lineAlign;\\n\\n/** @type {(number|string)} */\\nVTTCue.prototype.position;\\n\\n/**\\n * @see https://w3c.github.io/webvtt/#enumdef-positionalignsetting\\n * @type {string}\\n */\\nVTTCue.prototype.positionAlign;\\n\\n/** @type {number} */\\nVTTCue.prototype.size;\\n\\n/**\\n * @see https://w3c.github.io/webvtt/#enumdef-alignsetting\\n * @type {string}\\n */\\nVTTCue.prototype.align;\\n\\n/** @type {string} */\\nVTTCue.prototype.text;\\n\\n/** @return {!DocumentFragment} */\\nVTTCue.prototype.getCueAsHTML = function() {};\\n\\n\\n/**\\n * @constructor\\n * @extends {HTMLMediaElement}\\n */\\nfunction HTMLAudioElement() {}\\n\\n/**\\n * @constructor\\n * @extends {HTMLMediaElement}\\n * The webkit-prefixed attributes are defined in\\n * https://code.google.com/p/chromium/codesearch#chromium/src/third_party/WebKit/Source/core/html/HTMLVideoElement.idl\\n */\\nfunction HTMLVideoElement() {}\\n\\n/**\\n * Starts displaying the video in full screen mode.\\n * @return {undefined}\\n */\\nHTMLVideoElement.prototype.webkitEnterFullscreen = function() {};\\n\\n/**\\n * Starts displaying the video in full screen mode.\\n * @return {undefined}\\n */\\nHTMLVideoElement.prototype.webkitEnterFullScreen = function() {};\\n\\n/**\\n * Stops displaying the video in full screen mode.\\n * @return {undefined}\\n */\\nHTMLVideoElement.prototype.webkitExitFullscreen = function() {};\\n\\n/**\\n * Stops displaying the video in full screen mode.\\n * @return {undefined}\\n */\\nHTMLVideoElement.prototype.webkitExitFullScreen = function() {};\\n\\n/** @type {number} */\\nHTMLVideoElement.prototype.width;\\n\\n/** @type {number} */\\nHTMLVideoElement.prototype.height;\\n\\n/** @type {number} */\\nHTMLVideoElement.prototype.videoWidth;\\n\\n/** @type {number} */\\nHTMLVideoElement.prototype.videoHeight;\\n\\n/** @type {string} */\\nHTMLVideoElement.prototype.poster;\\n\\n/** @type {boolean} */\\nHTMLVideoElement.prototype.webkitSupportsFullscreen;\\n\\n/** @type {boolean} */\\nHTMLVideoElement.prototype.webkitDisplayingFullscreen;\\n\\n/** @type {number} */\\nHTMLVideoElement.prototype.webkitDecodedFrameCount;\\n\\n/** @type {number} */\\nHTMLVideoElement.prototype.webkitDroppedFrameCount;\\n\\n/**\\n * @typedef {{\\n *    creationTime: number,\\n *    totalVideoFrames: number,\\n *    droppedVideoFrames: number,\\n *    corruptedVideoFrames: number,\\n *    totalFrameDelay: number\\n * }}\\n */\\nvar VideoPlaybackQuality;\\n\\n/**\\n * @see https://w3c.github.io/media-source/#htmlvideoelement-extensions\\n * @return {!VideoPlaybackQuality} Stats about the current playback.\\n */\\nHTMLVideoElement.prototype.getVideoPlaybackQuality = function() {};\\n\\n\\n/**\\n * @constructor\\n * @see https://html.spec.whatwg.org/multipage/media.html#error-codes\\n */\\nfunction MediaError() {}\\n\\n/** @type {number} */\\nMediaError.prototype.code;\\n\\n/** @type {string} */\\nMediaError.prototype.message;\\n\\n/**\\n * The fetching process for the media resource was aborted by the user agent at\\n * the user's request.\\n * @type {number}\\n */\\nMediaError.MEDIA_ERR_ABORTED;\\n\\n/**\\n * A network error of some description caused the user agent to stop fetching\\n * the media resource, after the resource was established to be usable.\\n * @type {number}\\n */\\nMediaError.MEDIA_ERR_NETWORK;\\n\\n/**\\n * An error of some description occurred while decoding the media resource,\\n * after the resource was established to be usable.\\n * @type {number}\\n */\\nMediaError.MEDIA_ERR_DECODE;\\n\\n/**\\n * The media resource indicated by the src attribute was not suitable.\\n * @type {number}\\n */\\nMediaError.MEDIA_ERR_SRC_NOT_SUPPORTED;\\n\\n// HTML5 MessageChannel\\n/**\\n * @see http://dev.w3.org/html5/spec/comms.html#messagechannel\\n * @constructor\\n */\\nfunction MessageChannel() {}\\n\\n/**\\n * Returns the first port.\\n * @type {!MessagePort}\\n */\\nMessageChannel.prototype.port1;\\n\\n/**\\n * Returns the second port.\\n * @type {!MessagePort}\\n */\\nMessageChannel.prototype.port2;\\n\\n// HTML5 MessagePort\\n/**\\n * @see http://dev.w3.org/html5/spec/comms.html#messageport\\n * @constructor\\n * @implements {EventTarget}\\n * @implements {Transferable}\\n */\\nfunction MessagePort() {}\\n\\n/** @override */\\nMessagePort.prototype.addEventListener = function(type, listener, opt_options) {\\n};\\n\\n/** @override */\\nMessagePort.prototype.removeEventListener = function(\\n    type, listener, opt_options) {};\\n\\n/** @override */\\nMessagePort.prototype.dispatchEvent = function(evt) {};\\n\\n\\n/**\\n * Posts a message through the channel, optionally with the given\\n * Array of Transferables.\\n * @param {*} message\\n * @param {Array<!Transferable>=} opt_transfer\\n * @return {undefined}\\n */\\nMessagePort.prototype.postMessage = function(message, opt_transfer) {\\n};\\n\\n/**\\n * Begins dispatching messages received on the port.\\n * @return {undefined}\\n */\\nMessagePort.prototype.start = function() {};\\n\\n/**\\n * Disconnects the port, so that it is no longer active.\\n * @return {undefined}\\n */\\nMessagePort.prototype.close = function() {};\\n\\n/**\\n * TODO(blickly): Change this to MessageEvent<*> and add casts as needed\\n * @type {?function(!MessageEvent<?>)}\\n */\\nMessagePort.prototype.onmessage;\\n\\n// HTML5 MessageEvent class\\n/**\\n * @typedef {Window|MessagePort|ServiceWorker}\\n * @see https://html.spec.whatwg.org/multipage/comms.html#messageeventsource\\n */\\nvar MessageEventSource;\\n\\n\\n/**\\n * @record\\n * @extends {EventInit}\\n * @template T\\n * @see https://html.spec.whatwg.org/multipage/comms.html#messageeventinit\\n */\\nfunction MessageEventInit() {}\\n\\n/** @type {T|undefined} */\\nMessageEventInit.prototype.data;\\n\\n/** @type {(string|undefined)} */\\nMessageEventInit.prototype.origin;\\n\\n/** @type {(string|undefined)} */\\nMessageEventInit.prototype.lastEventId;\\n\\n/** @type {(?MessageEventSource|undefined)} */\\nMessageEventInit.prototype.source;\\n\\n/** @type {(!Array<MessagePort>|undefined)} */\\nMessageEventInit.prototype.ports;\\n\\n\\n/**\\n * @see https://html.spec.whatwg.org/multipage/comms.html#messageevent\\n * @constructor\\n * @extends {Event}\\n * @param {string} type\\n * @param {MessageEventInit<T>=} opt_eventInitDict\\n * @template T\\n */\\nfunction MessageEvent(type, opt_eventInitDict) {}\\n\\n/**\\n * The data payload of the message.\\n * @type {T}\\n */\\nMessageEvent.prototype.data;\\n\\n/**\\n * The origin of the message, for server-sent events and cross-document\\n * messaging.\\n * @type {string}\\n */\\nMessageEvent.prototype.origin;\\n\\n/**\\n * The last event ID, for server-sent events.\\n * @type {string}\\n */\\nMessageEvent.prototype.lastEventId;\\n\\n/**\\n * The window that dispatched the event.\\n * @type {Window}\\n */\\nMessageEvent.prototype.source;\\n\\n/**\\n * The Array of MessagePorts sent with the message, for cross-document\\n * messaging and channel messaging.\\n * @type {Array<MessagePort>}\\n */\\nMessageEvent.prototype.ports;\\n\\n/**\\n * Initializes the event in a manner analogous to the similarly-named methods in\\n * the DOM Events interfaces.\\n * @param {string} typeArg\\n * @param {boolean=} canBubbleArg\\n * @param {boolean=} cancelableArg\\n * @param {T=} dataArg\\n * @param {string=} originArg\\n * @param {string=} lastEventIdArg\\n * @param {?MessageEventSource=} sourceArg\\n * @param {!Array<MessagePort>=} portsArg\\n * @return {undefined}\\n */\\nMessageEvent.prototype.initMessageEvent = function(typeArg, canBubbleArg,\\n    cancelableArg, dataArg, originArg, lastEventIdArg, sourceArg, portsArg) {};\\n\\n/**\\n * Initializes the event in a manner analogous to the similarly-named methods in\\n * the DOM Events interfaces.\\n * @param {string} namespaceURI\\n * @param {string=} typeArg\\n * @param {boolean=} canBubbleArg\\n * @param {boolean=} cancelableArg\\n * @param {T=} dataArg\\n * @param {string=} originArg\\n * @param {string=} lastEventIdArg\\n * @param {?MessageEventSource=} sourceArg\\n * @param {!Array<MessagePort>=} portsArg\\n * @return {undefined}\\n */\\nMessageEvent.prototype.initMessageEventNS = function(namespaceURI, typeArg,\\n    canBubbleArg, cancelableArg, dataArg, originArg, lastEventIdArg, sourceArg,\\n    portsArg) {};\\n\\n\\n/**\\n * HTML5 BroadcastChannel class.\\n * @param {string} channelName\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/BroadcastChannel\\n * @see https://html.spec.whatwg.org/multipage/comms.html#dom-broadcastchannel\\n * @implements {EventTarget}\\n * @constructor\\n */\\nfunction BroadcastChannel(channelName) {}\\n\\n/**\\n * Sends the message, of any type of object, to each BroadcastChannel object\\n * listening to the same channel.\\n * @param {*} message\\n */\\nBroadcastChannel.prototype.postMessage;\\n\\n/**\\n * Closes the channel object, indicating it won't get any new messages, and\\n * allowing it to be, eventually, garbage collected.\\n * @return {void}\\n */\\nBroadcastChannel.prototype.close;\\n\\n/** @override */\\nBroadcastChannel.prototype.addEventListener = function(\\n    type, listener, opt_options) {};\\n\\n/** @override */\\nBroadcastChannel.prototype.dispatchEvent = function(evt) {};\\n\\n/** @override */\\nBroadcastChannel.prototype.removeEventListener = function(\\n    type, listener, opt_options) {};\\n\\n/**\\n * An EventHandler property that specifies the function to execute when a\\n * message event is fired on this object.\\n * @type {?function(!MessageEvent<*>)}\\n */\\nBroadcastChannel.prototype.onmessage;\\n\\n/**\\n * The name of the channel.\\n * @type {string}\\n */\\nBroadcastChannel.prototype.name;\\n\\n/**\\n * HTML5 DataTransfer class.\\n *\\n * We say that this extends ClipboardData, because Event.prototype.clipboardData\\n * is a DataTransfer on WebKit but a ClipboardData on IE. The interfaces are so\\n * similar that it's easier to merge them.\\n *\\n * @see http://www.w3.org/TR/2011/WD-html5-20110113/dnd.html\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html\\n * @see http://developers.whatwg.org/dnd.html#datatransferitem\\n * @constructor\\n * @extends {ClipboardData}\\n */\\nfunction DataTransfer() {}\\n\\n/** @type {string} */\\nDataTransfer.prototype.dropEffect;\\n\\n/** @type {string} */\\nDataTransfer.prototype.effectAllowed;\\n\\n/** @type {!Array<string>} */\\nDataTransfer.prototype.types;\\n\\n/** @type {!FileList} */\\nDataTransfer.prototype.files;\\n\\n/**\\n * @param {string=} opt_format Format for which to remove data.\\n * @override\\n * @return {undefined}\\n */\\nDataTransfer.prototype.clearData = function(opt_format) {};\\n\\n/**\\n * @param {string} format Format for which to set data.\\n * @param {string} data Data to add.\\n * @override\\n * @return {boolean}\\n */\\nDataTransfer.prototype.setData = function(format, data) {};\\n\\n/**\\n * @param {string} format Format for which to set data.\\n * @return {string} Data for the given format.\\n * @override\\n */\\nDataTransfer.prototype.getData = function(format) { return ''; };\\n\\n/**\\n * @param {HTMLElement} img The image to use when dragging.\\n * @param {number} x Horizontal position of the cursor.\\n * @param {number} y Vertical position of the cursor.\\n * @return {undefined}\\n */\\nDataTransfer.prototype.setDragImage = function(img, x, y) {};\\n\\n/**\\n * @param {HTMLElement} elem Element to receive drag result events.\\n * @return {undefined}\\n */\\nDataTransfer.prototype.addElement = function(elem) {};\\n\\n/**\\n * Addition for accessing clipboard file data that are part of the proposed\\n * HTML5 spec.\\n * @type {DataTransfer}\\n */\\nMouseEvent.prototype.dataTransfer;\\n\\n/**\\n * @record\\n * @extends {MouseEventInit}\\n * @see https://w3c.github.io/uievents/#idl-wheeleventinit\\n */\\nfunction WheelEventInit() {}\\n\\n/** @type {undefined|number} */\\nWheelEventInit.prototype.deltaX;\\n\\n/** @type {undefined|number} */\\nWheelEventInit.prototype.deltaY;\\n\\n/** @type {undefined|number} */\\nWheelEventInit.prototype.deltaZ;\\n\\n/** @type {undefined|number} */\\nWheelEventInit.prototype.deltaMode;\\n\\n/**\\n * @param {string} type\\n * @param {WheelEventInit=} opt_eventInitDict\\n * @see http://www.w3.org/TR/DOM-Level-3-Events/#interface-WheelEvent\\n * @constructor\\n * @extends {MouseEvent}\\n */\\nfunction WheelEvent(type, opt_eventInitDict) {}\\n\\n/** @type {number} */\\nWheelEvent.DOM_DELTA_PIXEL;\\n\\n/** @type {number} */\\nWheelEvent.DOM_DELTA_LINE;\\n\\n/** @type {number} */\\nWheelEvent.DOM_DELTA_PAGE;\\n\\n/** @const {number} */\\nWheelEvent.prototype.deltaX;\\n\\n/** @const {number} */\\nWheelEvent.prototype.deltaY;\\n\\n/** @const {number} */\\nWheelEvent.prototype.deltaZ;\\n\\n/** @const {number} */\\nWheelEvent.prototype.deltaMode;\\n\\n/**\\n * HTML5 DataTransferItem class.\\n *\\n * @see http://www.w3.org/TR/2011/WD-html5-20110113/dnd.html\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html\\n * @see http://developers.whatwg.org/dnd.html#datatransferitem\\n * @constructor\\n */\\nfunction DataTransferItem() {}\\n\\n/** @type {string} */\\nDataTransferItem.prototype.kind;\\n\\n/** @type {string} */\\nDataTransferItem.prototype.type;\\n\\n/**\\n * @param {function(string)} callback\\n * @return {undefined}\\n */\\nDataTransferItem.prototype.getAsString = function(callback) {};\\n\\n/**\\n * @return {?File} The file corresponding to this item, or null.\\n * @nosideeffects\\n */\\nDataTransferItem.prototype.getAsFile = function() { return null; };\\n\\n/**\\n * @return {?Entry} The Entry corresponding to this item, or null. Note that\\n * despite its name,this method only works in Chrome, and will eventually\\n * be renamed to {@code getAsEntry}.\\n * @nosideeffects\\n */\\nDataTransferItem.prototype.webkitGetAsEntry = function() { return null; };\\n\\n/**\\n * HTML5 DataTransferItemList class. There are some discrepancies in the docs\\n * on the whatwg.org site. When in doubt, these prototypes match what is\\n * implemented as of Chrome 30.\\n *\\n * @see http://www.w3.org/TR/2011/WD-html5-20110113/dnd.html\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html\\n * @see http://developers.whatwg.org/dnd.html#datatransferitem\\n * @constructor\\n * @implements {IArrayLike<!DataTransferItem>}\\n */\\nfunction DataTransferItemList() {}\\n\\n/** @type {number} */\\nDataTransferItemList.prototype.length;\\n\\n/**\\n * @param {number} i File to return from the list.\\n * @return {DataTransferItem} The ith DataTransferItem in the list, or null.\\n * @nosideeffects\\n */\\nDataTransferItemList.prototype.item = function(i) { return null; };\\n\\n/**\\n * Adds an item to the list.\\n * @param {string|!File} data Data for the item being added.\\n * @param {string=} opt_type Mime type of the item being added. MUST be present\\n *     if the {@code data} parameter is a string.\\n * @return {DataTransferItem}\\n */\\nDataTransferItemList.prototype.add = function(data, opt_type) {};\\n\\n/**\\n * Removes an item from the list.\\n * @param {number} i File to remove from the list.\\n * @return {undefined}\\n */\\nDataTransferItemList.prototype.remove = function(i) {};\\n\\n/**\\n * Removes all items from the list.\\n * @return {undefined}\\n */\\nDataTransferItemList.prototype.clear = function() {};\\n\\n/** @type {!DataTransferItemList} */\\nDataTransfer.prototype.items;\\n\\n/**\\n * @record\\n * @extends {MouseEventInit}\\n * @see http://w3c.github.io/html/editing.html#dictdef-drageventinit\\n */\\nfunction DragEventInit() {}\\n\\n/** @type {undefined|?DataTransfer} */\\nDragEventInit.prototype.dataTransfer;\\n\\n\\n/**\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#the-dragevent-interface\\n * @constructor\\n * @extends {MouseEvent}\\n * @param {string} type\\n * @param {DragEventInit=} opt_eventInitDict\\n */\\nfunction DragEvent(type, opt_eventInitDict) {}\\n\\n/** @type {DataTransfer} */\\nDragEvent.prototype.dataTransfer;\\n\\n\\n/**\\n * @record\\n * @extends {EventInit}\\n * @see https://www.w3.org/TR/progress-events/#progresseventinit\\n */\\nfunction ProgressEventInit() {}\\n\\n/** @type {undefined|boolean} */\\nProgressEventInit.prototype.lengthComputable;\\n\\n/** @type {undefined|number} */\\nProgressEventInit.prototype.loaded;\\n\\n/** @type {undefined|number} */\\nProgressEventInit.prototype.total;\\n\\n/**\\n * @constructor\\n * @param {string} type\\n * @param {Progres";
a.a+="sEventInit=} opt_progressEventInitDict\\n * @extends {Event}\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/ProgressEvent\\n */\\nfunction ProgressEvent(type, opt_progressEventInitDict) {}\\n\\n/** @type {number} */\\nProgressEvent.prototype.total;\\n\\n/** @type {number} */\\nProgressEvent.prototype.loaded;\\n\\n/** @type {boolean} */\\nProgressEvent.prototype.lengthComputable;\\n\\n\\n/**\\n * @constructor\\n */\\nfunction TimeRanges() {}\\n\\n/** @type {number} */\\nTimeRanges.prototype.length;\\n\\n/**\\n * @param {number} index The index.\\n * @return {number} The start time of the range at index.\\n * @throws {DOMException}\\n */\\nTimeRanges.prototype.start = function(index) { return 0; };\\n\\n/**\\n * @param {number} index The index.\\n * @return {number} The end time of the range at index.\\n * @throws {DOMException}\\n */\\nTimeRanges.prototype.end = function(index) { return 0; };\\n\\n\\n// HTML5 Web Socket class\\n/**\\n * @see http://dev.w3.org/html5/websockets/\\n * @constructor\\n * @param {string} url\\n * @param {string=} opt_protocol\\n * @implements {EventTarget}\\n */\\nfunction WebSocket(url, opt_protocol) {}\\n\\n/**\\n * The connection has not yet been established.\\n * @type {number}\\n */\\nWebSocket.CONNECTING = 0;\\n\\n/**\\n * The WebSocket connection is established and communication is possible.\\n * @type {number}\\n */\\nWebSocket.OPEN = 1;\\n\\n/**\\n * The connection is going through the closing handshake, or the close() method has been invoked.\\n * @type {number}\\n */\\nWebSocket.CLOSING = 2;\\n\\n/**\\n * The connection has been closed or could not be opened.\\n * @type {number}\\n */\\nWebSocket.CLOSED = 3;\\n\\n/** @override */\\nWebSocket.prototype.addEventListener = function(type, listener, opt_options) {};\\n\\n/** @override */\\nWebSocket.prototype.removeEventListener = function(\\n    type, listener, opt_options) {};\\n\\n/** @override */\\nWebSocket.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * Returns the URL value that was passed to the constructor.\\n * @type {string}\\n */\\nWebSocket.prototype.url;\\n\\n/**\\n * Represents the state of the connection.\\n * @type {number}\\n */\\nWebSocket.prototype.readyState;\\n\\n/**\\n * Returns the number of bytes that have been queued but not yet sent.\\n * @type {number}\\n */\\nWebSocket.prototype.bufferedAmount;\\n\\n/**\\n * An event handler called on open event.\\n * @type {?function(!Event)}\\n */\\nWebSocket.prototype.onopen;\\n\\n/**\\n * An event handler called on message event.\\n * TODO(blickly): Change this to MessageEvent<*> and add casts as needed\\n * @type {?function(!MessageEvent<?>)}\\n */\\nWebSocket.prototype.onmessage;\\n\\n/**\\n * An event handler called on close event.\\n * @type {?function(!Event)}\\n */\\nWebSocket.prototype.onclose;\\n\\n/**\\n * Transmits data using the connection.\\n * @param {string|ArrayBuffer|ArrayBufferView} data\\n * @return {boolean}\\n */\\nWebSocket.prototype.send = function(data) {};\\n\\n/**\\n * Closes the Web Socket connection or connection attempt, if any.\\n * @param {number=} opt_code\\n * @param {string=} opt_reason\\n * @return {undefined}\\n */\\nWebSocket.prototype.close = function(opt_code, opt_reason) {};\\n\\n/**\\n * @type {string} Sets the type of data (blob or arraybuffer) for binary data.\\n */\\nWebSocket.prototype.binaryType;\\n\\n// HTML5 History\\n/**\\n * @constructor\\n */\\nfunction History() {}\\n\\n/**\\n * Pushes a new state into the session history.\\n * @see http://www.w3.org/TR/html5/history.html#the-history-interface\\n * @param {*} data New state.\\n * @param {string} title The title for a new session history entry.\\n * @param {string=} opt_url The URL for a new session history entry.\\n * @return {undefined}\\n */\\nHistory.prototype.pushState = function(data, title, opt_url) {};\\n\\n/**\\n * Replaces the current state in the session history.\\n * @see http://www.w3.org/TR/html5/history.html#the-history-interface\\n * @param {*} data New state.\\n * @param {string} title The title for a session history entry.\\n * @param {string=} opt_url The URL for a new session history entry.\\n * @return {undefined}\\n */\\nHistory.prototype.replaceState = function(data, title, opt_url) {};\\n\\n/**\\n * Pending state object.\\n * @see https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Manipulating_the_browser_history#Reading_the_current_state\\n * @type {*}\\n */\\nHistory.prototype.state;\\n\\n/**\\n * Allows web applications to explicitly set default scroll restoration behavior\\n * on history navigation. This property can be either auto or manual.\\n *\\n * Non-standard. Only supported in Chrome 46+.\\n *\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/History\\n * @see https://majido.github.io/scroll-restoration-proposal/history-based-api.html\\n * @type {string}\\n */\\nHistory.prototype.scrollRestoration;\\n\\n/**\\n * Add history property to Window.\\n *\\n * @type {!History}\\n */\\nWindow.prototype.history;\\n\\n/**\\n * @see http://www.whatwg.org/specs/web-apps/current-work/#popstateevent\\n * @constructor\\n * @extends {Event}\\n *\\n * @param {string} type\\n * @param {{state: *}=} opt_eventInitDict\\n */\\nfunction PopStateEvent(type, opt_eventInitDict) {}\\n\\n/**\\n * @type {*}\\n */\\nPopStateEvent.prototype.state;\\n\\n/**\\n * Initializes the event after it has been created with document.createEvent\\n * @param {string} typeArg\\n * @param {boolean} canBubbleArg\\n * @param {boolean} cancelableArg\\n * @param {*} stateArg\\n * @return {undefined}\\n */\\nPopStateEvent.prototype.initPopStateEvent = function(typeArg, canBubbleArg,\\n    cancelableArg, stateArg) {};\\n\\n/**\\n * @see http://www.whatwg.org/specs/web-apps/current-work/#hashchangeevent\\n * @constructor\\n * @extends {Event}\\n *\\n * @param {string} type\\n * @param {{oldURL: string, newURL: string}=} opt_eventInitDict\\n */\\nfunction HashChangeEvent(type, opt_eventInitDict) {}\\n\\n/** @type {string} */\\nHashChangeEvent.prototype.oldURL;\\n\\n/** @type {string} */\\nHashChangeEvent.prototype.newURL;\\n\\n/**\\n * Initializes the event after it has been created with document.createEvent\\n * @param {string} typeArg\\n * @param {boolean} canBubbleArg\\n * @param {boolean} cancelableArg\\n * @param {string} oldURLArg\\n * @param {string} newURLArg\\n * @return {undefined}\\n */\\nHashChangeEvent.prototype.initHashChangeEvent = function(typeArg, canBubbleArg,\\n    cancelableArg, oldURLArg, newURLArg) {};\\n\\n/**\\n * @see http://www.whatwg.org/specs/web-apps/current-work/#pagetransitionevent\\n * @constructor\\n * @extends {Event}\\n *\\n * @param {string} type\\n * @param {{persisted: boolean}=} opt_eventInitDict\\n */\\nfunction PageTransitionEvent(type, opt_eventInitDict) {}\\n\\n/** @type {boolean} */\\nPageTransitionEvent.prototype.persisted;\\n\\n/**\\n * Initializes the event after it has been created with document.createEvent\\n * @param {string} typeArg\\n * @param {boolean} canBubbleArg\\n * @param {boolean} cancelableArg\\n * @param {*} persistedArg\\n * @return {undefined}\\n */\\nPageTransitionEvent.prototype.initPageTransitionEvent = function(typeArg,\\n    canBubbleArg, cancelableArg, persistedArg) {};\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike<!File>}\\n */\\nfunction FileList() {}\\n\\n/** @type {number} */\\nFileList.prototype.length;\\n\\n/**\\n * @param {number} i File to return from the list.\\n * @return {File} The ith file in the list.\\n * @nosideeffects\\n */\\nFileList.prototype.item = function(i) { return null; };\\n\\n/**\\n * @type {boolean}\\n * @see http://dev.w3.org/2006/webapi/XMLHttpRequest-2/#withcredentials\\n */\\nXMLHttpRequest.prototype.withCredentials;\\n\\n/**\\n * @type {?function(!ProgressEvent): void}\\n * @see https://xhr.spec.whatwg.org/#handler-xhr-onloadstart\\n */\\nXMLHttpRequest.prototype.onloadstart;\\n\\n/**\\n * @type {?function(!ProgressEvent): void}\\n * @see https://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html#handler-xhr-onprogress\\n */\\nXMLHttpRequest.prototype.onprogress;\\n\\n/**\\n * @type {?function(!ProgressEvent): void}\\n * @see https://xhr.spec.whatwg.org/#handler-xhr-onabort\\n */\\nXMLHttpRequest.prototype.onabort;\\n\\n/**\\n * @type {?function(!ProgressEvent): void}\\n * @see https://xhr.spec.whatwg.org/#handler-xhr-onload\\n */\\nXMLHttpRequest.prototype.onload;\\n\\n/**\\n * @type {?function(!ProgressEvent): void}\\n * @see https://xhr.spec.whatwg.org/#handler-xhr-ontimeout\\n */\\nXMLHttpRequest.prototype.ontimeout;\\n\\n/**\\n * @type {?function(!ProgressEvent): void}\\n * @see https://xhr.spec.whatwg.org/#handler-xhr-onloadend\\n */\\nXMLHttpRequest.prototype.onloadend;\\n\\n/**\\n * @type {XMLHttpRequestUpload}\\n * @see http://dev.w3.org/2006/webapi/XMLHttpRequest-2/#the-upload-attribute\\n */\\nXMLHttpRequest.prototype.upload;\\n\\n/**\\n * @param {string} mimeType The mime type to override with.\\n * @return {undefined}\\n */\\nXMLHttpRequest.prototype.overrideMimeType = function(mimeType) {};\\n\\n/**\\n * @type {string}\\n * @see http://dev.w3.org/2006/webapi/XMLHttpRequest-2/#the-responsetype-attribute\\n */\\nXMLHttpRequest.prototype.responseType;\\n\\n/**\\n * @type {?(ArrayBuffer|Blob|Document|Object|string)}\\n * @see http://dev.w3.org/2006/webapi/XMLHttpRequest-2/#the-response-attribute\\n */\\nXMLHttpRequest.prototype.response;\\n\\n\\n/**\\n * @type {ArrayBuffer}\\n * Implemented as a draft spec in Firefox 4 as the way to get a requested array\\n * buffer from an XMLHttpRequest.\\n * @see https://developer.mozilla.org/En/Using_XMLHttpRequest#Receiving_binary_data_using_JavaScript_typed_arrays\\n *\\n * This property is not used anymore and should be removed.\\n * @see https://github.com/google/closure-compiler/pull/1389\\n */\\nXMLHttpRequest.prototype.mozResponseArrayBuffer;\\n\\n/**\\n * XMLHttpRequestEventTarget defines events for checking the status of a data\\n * transfer between a client and a server. This should be a common base class\\n * for XMLHttpRequest and XMLHttpRequestUpload.\\n *\\n * @constructor\\n * @implements {EventTarget}\\n */\\nfunction XMLHttpRequestEventTarget() {}\\n\\n/** @override */\\nXMLHttpRequestEventTarget.prototype.addEventListener = function(\\n    type, listener, opt_options) {};\\n\\n/** @override */\\nXMLHttpRequestEventTarget.prototype.removeEventListener = function(\\n    type, listener, opt_options) {};\\n\\n/** @override */\\nXMLHttpRequestEventTarget.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * An event target to track the status of an upload.\\n *\\n * @constructor\\n * @extends {XMLHttpRequestEventTarget}\\n */\\nfunction XMLHttpRequestUpload() {}\\n\\n/**\\n * @type {?function(!ProgressEvent): void}\\n * @see https://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html#handler-xhr-onprogress\\n */\\nXMLHttpRequestUpload.prototype.onprogress;\\n\\n/**\\n * @param {number=} opt_width\\n * @param {number=} opt_height\\n * @constructor\\n * @extends {HTMLImageElement}\\n */\\nfunction Image(opt_width, opt_height) {}\\n\\n\\n/**\\n * Dataset collection.\\n * This is really a DOMStringMap but it behaves close enough to an object to\\n * pass as an object.\\n * @type {!Object<string, string>}\\n * @const\\n */\\nHTMLElement.prototype.dataset;\\n\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike<string>}\\n * @see https://dom.spec.whatwg.org/#interface-domtokenlist\\n */\\nfunction DOMTokenList() {}\\n\\n/**\\n * Returns the number of CSS classes applied to this Element.\\n * @type {number}\\n */\\nDOMTokenList.prototype.length;\\n\\n/**\\n * @param {number} index The index of the item to return.\\n * @return {string} The CSS class at the specified index.\\n * @nosideeffects\\n */\\nDOMTokenList.prototype.item = function(index) {};\\n\\n/**\\n * @param {string} token The CSS class to check for.\\n * @return {boolean} Whether the CSS class has been applied to the Element.\\n * @nosideeffects\\n */\\nDOMTokenList.prototype.contains = function(token) {};\\n\\n/**\\n * @param {...string} var_args The CSS class(es) to add to this element.\\n * @return {undefined}\\n */\\nDOMTokenList.prototype.add = function(var_args) {};\\n\\n/**\\n * @param {...string} var_args The CSS class(es) to remove from this element.\\n * @return {undefined}\\n */\\nDOMTokenList.prototype.remove = function(var_args) {};\\n\\n/**\\n * @param {string} token The CSS class to toggle from this element.\\n * @param {boolean=} opt_force True to add the class whether it exists\\n *     or not. False to remove the class whether it exists or not.\\n *     This argument is not supported on IE 10 and below, according to\\n *     the MDN page linked below.\\n * @return {boolean} False if the token was removed; True otherwise.\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element.classList\\n */\\nDOMTokenList.prototype.toggle = function(token, opt_force) {};\\n\\n/**\\n * @return {string} A stringified representation of CSS classes.\\n * @nosideeffects\\n * @override\\n */\\nDOMTokenList.prototype.toString = function() {};\\n\\n/**\\n * @return {!IteratorIterable<string>} An iterator to go through all values of\\n *     the key/value pairs contained in this object.\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMTokenList/values\\n */\\nDOMTokenList.prototype.values = function() {};\\n\\n/**\\n * A better interface to CSS classes than className.\\n * @type {!DOMTokenList}\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/classList\\n * @const\\n */\\nElement.prototype.classList;\\n\\n/**\\n * Constraint Validation API properties and methods\\n * @see http://www.w3.org/TR/2009/WD-html5-20090423/forms.html#the-constraint-validation-api\\n */\\n\\n/** @return {boolean} */\\nHTMLFormElement.prototype.checkValidity = function() {};\\n\\n/** @return {boolean} */\\nHTMLFormElement.prototype.reportValidity = function() {};\\n\\n/** @type {boolean} */\\nHTMLFormElement.prototype.noValidate;\\n\\n/** @constructor */\\nfunction ValidityState() {}\\n\\n/** @type {boolean} */\\nValidityState.prototype.badInput;\\n\\n/** @type {boolean} */\\nValidityState.prototype.customError;\\n\\n/** @type {boolean} */\\nValidityState.prototype.patternMismatch;\\n\\n/** @type {boolean} */\\nValidityState.prototype.rangeOverflow;\\n\\n/** @type {boolean} */\\nValidityState.prototype.rangeUnderflow;\\n\\n/** @type {boolean} */\\nValidityState.prototype.stepMismatch;\\n\\n/** @type {boolean} */\\nValidityState.prototype.typeMismatch;\\n\\n/** @type {boolean} */\\nValidityState.prototype.tooLong;\\n\\n/** @type {boolean} */\\nValidityState.prototype.tooShort;\\n\\n/** @type {boolean} */\\nValidityState.prototype.valid;\\n\\n/** @type {boolean} */\\nValidityState.prototype.valueMissing;\\n\\n\\n/** @type {boolean} */\\nHTMLButtonElement.prototype.autofocus;\\n\\n/**\\n * Can return null when hidden.\\n * See https://html.spec.whatwg.org/multipage/forms.html#dom-lfe-labels\\n * @const\\n * @type {?NodeList<!HTMLLabelElement>}\\n */\\nHTMLButtonElement.prototype.labels;\\n\\n/** @type {string} */\\nHTMLButtonElement.prototype.validationMessage;\\n\\n/**\\n * @const\\n * @type {ValidityState}\\n */\\nHTMLButtonElement.prototype.validity;\\n\\n/** @type {boolean} */\\nHTMLButtonElement.prototype.willValidate;\\n\\n/** @return {boolean} */\\nHTMLButtonElement.prototype.checkValidity = function() {};\\n\\n/** @return {boolean} */\\nHTMLButtonElement.prototype.reportValidity = function() {};\\n\\n/**\\n * @param {string} message\\n * @return {undefined}\\n */\\nHTMLButtonElement.prototype.setCustomValidity = function(message) {};\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/html5/forms.html#attr-fs-formaction\\n */\\nHTMLButtonElement.prototype.formAction;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/html5/forms.html#attr-fs-formenctype\\n */\\nHTMLButtonElement.prototype.formEnctype;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/html5/forms.html#attr-fs-formmethod\\n */\\nHTMLButtonElement.prototype.formMethod;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/html5/forms.html#attr-fs-formtarget\\n */\\nHTMLButtonElement.prototype.formTarget;\\n\\n/** @type {boolean} */\\nHTMLInputElement.prototype.autofocus;\\n\\n/** @type {boolean} */\\nHTMLInputElement.prototype.formNoValidate;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/html5/forms.html#attr-fs-formaction\\n */\\nHTMLInputElement.prototype.formAction;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/html5/forms.html#attr-fs-formenctype\\n */\\nHTMLInputElement.prototype.formEnctype;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/html5/forms.html#attr-fs-formmethod\\n */\\nHTMLInputElement.prototype.formMethod;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/html5/forms.html#attr-fs-formtarget\\n */\\nHTMLInputElement.prototype.formTarget;\\n\\n/**\\n * Can return null when hidden.\\n * See https://html.sp";
a.a+="ec.whatwg.org/multipage/forms.html#dom-lfe-labels\\n * @const\\n * @type {?NodeList<!HTMLLabelElement>}\\n */\\nHTMLInputElement.prototype.labels;\\n\\n/** @type {string} */\\nHTMLInputElement.prototype.validationMessage;\\n\\n/**\\n * @const\\n * @type {ValidityState}\\n */\\nHTMLInputElement.prototype.validity;\\n\\n/** @type {boolean} */\\nHTMLInputElement.prototype.willValidate;\\n\\n/** @return {boolean} */\\nHTMLInputElement.prototype.checkValidity = function() {};\\n\\n/** @return {boolean} */\\nHTMLInputElement.prototype.reportValidity = function() {};\\n\\n/**\\n * @param {string} message\\n * @return {undefined}\\n */\\nHTMLInputElement.prototype.setCustomValidity = function(message) {};\\n\\n/** @type {Element} */\\nHTMLLabelElement.prototype.control;\\n\\n/** @type {boolean} */\\nHTMLSelectElement.prototype.autofocus;\\n\\n/**\\n * Can return null when hidden.\\n * See https://html.spec.whatwg.org/multipage/forms.html#dom-lfe-labels\\n * @const\\n * @type {?NodeList<!HTMLLabelElement>}\\n */\\nHTMLSelectElement.prototype.labels;\\n\\n/** @type {HTMLCollection<!HTMLOptionElement>} */\\nHTMLSelectElement.prototype.selectedOptions;\\n\\n/** @type {string} */\\nHTMLSelectElement.prototype.validationMessage;\\n\\n/**\\n * @const\\n * @type {ValidityState}\\n */\\nHTMLSelectElement.prototype.validity;\\n\\n/** @type {boolean} */\\nHTMLSelectElement.prototype.willValidate;\\n\\n/** @return {boolean} */\\nHTMLSelectElement.prototype.checkValidity = function() {};\\n\\n/** @return {boolean} */\\nHTMLSelectElement.prototype.reportValidity = function() {};\\n\\n/**\\n * @param {string} message\\n * @return {undefined}\\n */\\nHTMLSelectElement.prototype.setCustomValidity = function(message) {};\\n\\n/** @type {boolean} */\\nHTMLTextAreaElement.prototype.autofocus;\\n\\n/**\\n * Can return null when hidden.\\n * See https://html.spec.whatwg.org/multipage/forms.html#dom-lfe-labels\\n * @const\\n * @type {?NodeList<!HTMLLabelElement>}\\n */\\nHTMLTextAreaElement.prototype.labels;\\n\\n/** @type {string} */\\nHTMLTextAreaElement.prototype.validationMessage;\\n\\n/**\\n * @const\\n * @type {ValidityState}\\n */\\nHTMLTextAreaElement.prototype.validity;\\n\\n/** @type {boolean} */\\nHTMLTextAreaElement.prototype.willValidate;\\n\\n/** @return {boolean} */\\nHTMLTextAreaElement.prototype.checkValidity = function() {};\\n\\n/** @return {boolean} */\\nHTMLTextAreaElement.prototype.reportValidity = function() {};\\n\\n/**\\n * @param {string} message\\n * @return {undefined}\\n */\\nHTMLTextAreaElement.prototype.setCustomValidity = function(message) {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/html5/the-embed-element.html#htmlembedelement\\n */\\nfunction HTMLEmbedElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/html5/dimension-attributes.html#dom-dim-width\\n */\\nHTMLEmbedElement.prototype.width;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/html5/dimension-attributes.html#dom-dim-height\\n */\\nHTMLEmbedElement.prototype.height;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/html5/the-embed-element.html#dom-embed-src\\n */\\nHTMLEmbedElement.prototype.src;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/html5/the-embed-element.html#dom-embed-type\\n */\\nHTMLEmbedElement.prototype.type;\\n\\n// Fullscreen APIs.\\n\\n/**\\n * @see http://www.w3.org/TR/2012/WD-fullscreen-20120703/#dom-element-requestfullscreen\\n * @return {undefined}\\n */\\nElement.prototype.requestFullscreen = function() {};\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2012/WD-fullscreen-20120703/#dom-document-fullscreenenabled\\n */\\nDocument.prototype.fullscreenEnabled;\\n\\n/**\\n * @type {Element}\\n * @see http://www.w3.org/TR/2012/WD-fullscreen-20120703/#dom-document-fullscreenelement\\n */\\nDocument.prototype.fullscreenElement;\\n\\n/**\\n * @see http://www.w3.org/TR/2012/WD-fullscreen-20120703/#dom-document-exitfullscreen\\n * @return {undefined}\\n */\\nDocument.prototype.exitFullscreen = function() {};\\n\\n// Externs definitions of browser current implementations.\\n// Firefox 10 implementation.\\nElement.prototype.mozRequestFullScreen = function() {};\\n\\nElement.prototype.mozRequestFullScreenWithKeys = function() {};\\n\\n/** @type {boolean} */\\nDocument.prototype.mozFullScreen;\\n\\nDocument.prototype.mozCancelFullScreen = function() {};\\n\\n/** @type {Element} */\\nDocument.prototype.mozFullScreenElement;\\n\\n/** @type {boolean} */\\nDocument.prototype.mozFullScreenEnabled;\\n\\n// Chrome 21 implementation.\\n/**\\n * The current fullscreen element for the document is set to this element.\\n * Valid only for Webkit browsers.\\n * @param {number=} opt_allowKeyboardInput Whether keyboard input is desired.\\n *     Should use ALLOW_KEYBOARD_INPUT constant.\\n * @return {undefined}\\n */\\nElement.prototype.webkitRequestFullScreen = function(opt_allowKeyboardInput) {};\\n\\n/**\\n * The current fullscreen element for the document is set to this element.\\n * Valid only for Webkit browsers.\\n * @param {number=} opt_allowKeyboardInput Whether keyboard input is desired.\\n *     Should use ALLOW_KEYBOARD_INPUT constant.\\n * @return {undefined}\\n */\\nElement.prototype.webkitRequestFullscreen = function(opt_allowKeyboardInput) {};\\n\\n/** @type {boolean} */\\nDocument.prototype.webkitIsFullScreen;\\n\\nDocument.prototype.webkitCancelFullScreen = function() {};\\n\\n/** @type {boolean} */\\nDocument.prototype.webkitFullscreenEnabled;\\n\\n/** @type {Element} */\\nDocument.prototype.webkitCurrentFullScreenElement;\\n\\n/** @type {Element} */\\nDocument.prototype.webkitFullscreenElement;\\n\\n/** @type {boolean} */\\nDocument.prototype.webkitFullScreenKeyboardInputAllowed;\\n\\n// IE 11 implementation.\\n// http://msdn.microsoft.com/en-us/library/ie/dn265028(v=vs.85).aspx\\n/** @return {void} */\\nElement.prototype.msRequestFullscreen = function() {};\\n\\n/** @return {void} */\\nElement.prototype.msExitFullscreen = function() {};\\n\\n/** @type {boolean} */\\nDocument.prototype.msFullscreenEnabled;\\n\\n/** @type {Element} */\\nDocument.prototype.msFullscreenElement;\\n\\n/** @type {number} */\\nElement.ALLOW_KEYBOARD_INPUT = 1;\\n\\n/** @type {number} */\\nElement.prototype.ALLOW_KEYBOARD_INPUT = 1;\\n\\n\\n/**\\n * @typedef {{\\n *   childList: (boolean|undefined),\\n *   attributes: (boolean|undefined),\\n *   characterData: (boolean|undefined),\\n *   subtree: (boolean|undefined),\\n *   attributeOldValue: (boolean|undefined),\\n *   characterDataOldValue: (boolean|undefined),\\n *   attributeFilter: (!Array<string>|undefined)\\n * }}\\n */\\nvar MutationObserverInit;\\n\\n\\n/** @constructor */\\nfunction MutationRecord() {}\\n\\n/** @type {string} */\\nMutationRecord.prototype.type;\\n\\n/** @type {Node} */\\nMutationRecord.prototype.target;\\n\\n/** @type {!NodeList<!Node>} */\\nMutationRecord.prototype.addedNodes;\\n\\n/** @type {!NodeList<!Node>} */\\nMutationRecord.prototype.removedNodes;\\n\\n/** @type {?Node} */\\nMutationRecord.prototype.previousSibling;\\n\\n/** @type {?Node} */\\nMutationRecord.prototype.nextSibling;\\n\\n/** @type {?string} */\\nMutationRecord.prototype.attributeName;\\n\\n/** @type {?string} */\\nMutationRecord.prototype.attributeNamespace;\\n\\n/** @type {?string} */\\nMutationRecord.prototype.oldValue;\\n\\n\\n/**\\n * @see http://www.w3.org/TR/domcore/#mutation-observers\\n * @param {function(Array<!MutationRecord>, MutationObserver)} callback\\n * @constructor\\n */\\nfunction MutationObserver(callback) {}\\n\\n/**\\n * @param {Node} target\\n * @param {MutationObserverInit=} options\\n * @return {undefined}\\n */\\nMutationObserver.prototype.observe = function(target, options) {};\\n\\nMutationObserver.prototype.disconnect = function() {};\\n\\n/**\\n * @return {!Array<!MutationRecord>}\\n */\\nMutationObserver.prototype.takeRecords = function() {};\\n\\n/**\\n * @type {function(new:MutationObserver, function(Array<MutationRecord>))}\\n */\\nWindow.prototype.WebKitMutationObserver;\\n\\n/**\\n * @type {function(new:MutationObserver, function(Array<MutationRecord>))}\\n */\\nWindow.prototype.MozMutationObserver;\\n\\n\\n/**\\n * @see http://www.w3.org/TR/page-visibility/\\n * @type {VisibilityState}\\n */\\nDocument.prototype.visibilityState;\\n\\n/**\\n * @type {string}\\n */\\nDocument.prototype.mozVisibilityState;\\n\\n/**\\n * @type {string}\\n */\\nDocument.prototype.webkitVisibilityState;\\n\\n/**\\n * @type {string}\\n */\\nDocument.prototype.msVisibilityState;\\n\\n/**\\n * @see http://www.w3.org/TR/page-visibility/\\n * @type {boolean}\\n */\\nDocument.prototype.hidden;\\n\\n/**\\n * @type {boolean}\\n */\\nDocument.prototype.mozHidden;\\n\\n/**\\n * @type {boolean}\\n */\\nDocument.prototype.webkitHidden;\\n\\n/**\\n * @type {boolean}\\n */\\nDocument.prototype.msHidden;\\n\\n/**\\n * @see http://www.w3.org/TR/components-intro/\\n * @see http://w3c.github.io/webcomponents/spec/custom/#extensions-to-document-interface-to-register\\n * @param {string} type\\n * @param {{extends: (string|undefined), prototype: (Object|undefined)}=} options\\n * @return {!function(new:Element, ...*)} a constructor for the new tag.\\n */\\nDocument.prototype.registerElement = function(type, options) {};\\n\\n/**\\n * This method is deprecated and should be removed by the end of 2014.\\n * @see http://www.w3.org/TR/components-intro/\\n * @see http://w3c.github.io/webcomponents/spec/custom/#extensions-to-document-interface-to-register\\n * @param {string} type\\n * @param {{extends: (string|undefined), prototype: (Object|undefined)}} options\\n */\\nDocument.prototype.register = function(type, options) {};\\n\\n/**\\n * @type {!FontFaceSet}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfacesource-fonts\\n */\\nDocument.prototype.fonts;\\n\\n\\n/**\\n * @type {?HTMLScriptElement}\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Document/currentScript\\n */\\nDocument.prototype.currentScript;\\n\\n/**\\n * Definition of ShadowRoot interface,\\n * @see http://www.w3.org/TR/shadow-dom/#api-shadow-root\\n * @constructor\\n * @extends {DocumentFragment}\\n */\\nfunction ShadowRoot() {}\\n\\n/**\\n * The host element that a ShadowRoot is attached to.\\n * Note: this is not yet W3C standard but is undergoing development.\\n * W3C feature tracking bug:\\n * https://www.w3.org/Bugs/Public/show_bug.cgi?id=22399\\n * Draft specification:\\n * https://dvcs.w3.org/hg/webcomponents/raw-file/6743f1ace623/spec/shadow/index.html#shadow-root-object\\n * @type {!Element}\\n */\\nShadowRoot.prototype.host;\\n\\n/**\\n * @param {string} id id.\\n * @return {HTMLElement}\\n * @nosideeffects\\n */\\nShadowRoot.prototype.getElementById = function(id) {};\\n\\n\\n/**\\n * @param {string} className\\n * @return {!NodeList<!Element>}\\n * @nosideeffects\\n */\\nShadowRoot.prototype.getElementsByClassName = function(className) {};\\n\\n\\n/**\\n * @param {string} tagName\\n * @return {!NodeList<!Element>}\\n * @nosideeffects\\n */\\nShadowRoot.prototype.getElementsByTagName = function(tagName) {};\\n\\n\\n/**\\n * @param {string} namespace\\n * @param {string} localName\\n * @return {!NodeList<!Element>}\\n * @nosideeffects\\n */\\nShadowRoot.prototype.getElementsByTagNameNS = function(namespace, localName) {};\\n\\n\\n/**\\n * @return {Selection}\\n * @nosideeffects\\n */\\nShadowRoot.prototype.getSelection = function() {};\\n\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {Element}\\n * @nosideeffects\\n */\\nShadowRoot.prototype.elementFromPoint = function(x, y) {};\\n\\n\\n/**\\n * @type {boolean}\\n */\\nShadowRoot.prototype.applyAuthorStyles;\\n\\n\\n/**\\n * @type {boolean}\\n */\\nShadowRoot.prototype.resetStyleInheritance;\\n\\n\\n/**\\n * @type {Element}\\n */\\nShadowRoot.prototype.activeElement;\\n\\n\\n/**\\n * @type {?ShadowRoot}\\n */\\nShadowRoot.prototype.olderShadowRoot;\\n\\n\\n/**\\n * @type {string}\\n */\\nShadowRoot.prototype.innerHTML;\\n\\n\\n/**\\n * @type {!StyleSheetList}\\n */\\nShadowRoot.prototype.styleSheets;\\n\\n\\n\\n/**\\n * @see http://www.w3.org/TR/shadow-dom/#the-content-element\\n * @constructor\\n * @extends {HTMLElement}\\n */\\nfunction HTMLContentElement() {}\\n\\n/**\\n * @type {!string}\\n */\\nHTMLContentElement.prototype.select;\\n\\n/**\\n * @return {!NodeList<!Node>}\\n */\\nHTMLContentElement.prototype.getDistributedNodes = function() {};\\n\\n\\n/**\\n * @see http://www.w3.org/TR/shadow-dom/#the-shadow-element\\n * @constructor\\n * @extends {HTMLElement}\\n */\\nfunction HTMLShadowElement() {}\\n\\n/**\\n * @return {!NodeList<!Node>}\\n */\\nHTMLShadowElement.prototype.getDistributedNodes = function() {};\\n\\n\\n/**\\n * @see http://www.w3.org/TR/html5/webappapis.html#the-errorevent-interface\\n *\\n * @constructor\\n * @extends {Event}\\n *\\n * @param {string} type\\n * @param {ErrorEventInit=} opt_eventInitDict\\n */\\nfunction ErrorEvent(type, opt_eventInitDict) {}\\n\\n/** @const {string} */\\nErrorEvent.prototype.message;\\n\\n/** @const {string} */\\nErrorEvent.prototype.filename;\\n\\n/** @const {number} */\\nErrorEvent.prototype.lineno;\\n\\n/** @const {number} */\\nErrorEvent.prototype.colno;\\n\\n/** @const {*} */\\nErrorEvent.prototype.error;\\n\\n\\n/**\\n * @record\\n * @extends {EventInit}\\n * @see https://www.w3.org/TR/html5/webappapis.html#erroreventinit\\n */\\nfunction ErrorEventInit() {}\\n\\n/** @type {undefined|string} */\\nErrorEventInit.prototype.message;\\n\\n/** @type {undefined|string} */\\nErrorEventInit.prototype.filename;\\n\\n/** @type {undefined|number} */\\nErrorEventInit.prototype.lineno;\\n\\n/** @type {undefined|number} */\\nErrorEventInit.prototype.colno;\\n\\n/** @type {*} */\\nErrorEventInit.prototype.error;\\n\\n\\n/**\\n * @see http://dom.spec.whatwg.org/#dom-domimplementation-createhtmldocument\\n * @param {string=} opt_title A title to give the new HTML document\\n * @return {!HTMLDocument}\\n */\\nDOMImplementation.prototype.createHTMLDocument = function(opt_title) {};\\n\\n\\n\\n/**\\n * @constructor\\n * @see https://html.spec.whatwg.org/multipage/embedded-content.html#the-picture-element\\n * @extends {HTMLElement}\\n */\\nfunction HTMLPictureElement() {}\\n\\n/**\\n * @constructor\\n * @see https://html.spec.whatwg.org/multipage/embedded-content.html#the-picture-element\\n * @extends {HTMLElement}\\n */\\nfunction HTMLSourceElement() {}\\n\\n/** @type {string} */\\nHTMLSourceElement.prototype.media;\\n\\n/** @type {string} */\\nHTMLSourceElement.prototype.sizes;\\n\\n/** @type {string} */\\nHTMLSourceElement.prototype.src;\\n\\n/** @type {string} */\\nHTMLSourceElement.prototype.srcset;\\n\\n/** @type {string} */\\nHTMLSourceElement.prototype.type;\\n\\n/** @type {string} */\\nHTMLImageElement.prototype.sizes;\\n\\n/** @type {string} */\\nHTMLImageElement.prototype.srcset;\\n\\n\\n/**\\n * 4.11 Interactive elements\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html\\n */\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#the-details-element\\n * @constructor\\n * @extends {HTMLElement}\\n */\\nfunction HTMLDetailsElement() {}\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-details-open\\n * @type {boolean}\\n */\\nHTMLDetailsElement.prototype.open;\\n\\n\\n// As of 2/20/2015, <summary> has no special web IDL interface nor global\\n// constructor (i.e. HTMLSummaryElement).\\n\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menu-type\\n * @type {string}\\n */\\nHTMLMenuElement.prototype.type;\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menu-label\\n * @type {string}\\n */\\nHTMLMenuElement.prototype.label;\\n\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#the-menuitem-element\\n * @constructor\\n * @extends {HTMLElement}\\n */\\nfunction HTMLMenuItemElement() {}\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menuitem-type\\n * @type {string}\\n */\\nHTMLMenuItemElement.prototype.type;\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menuitem-label\\n * @type {string}\\n */\\nHTMLMenuItemElement.prototype.label;\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menuitem-icon\\n * @type {string}\\n */\\nHTMLMenuItemElement.prototype.icon;\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menuitem-disabled\\n * @type {boolean}\\n */\\nHTMLMenuItemElement.prototype.disabled;\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menuitem-checked\\n * @type {boolean}\\n */\\nHTMLMenuItemElement.prototype.checked;\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menuitem-radiogroup\\n * @type {string}\\n */\\n";
a.a+='HTMLMenuItemElement.prototype.radiogroup;\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menuitem-default\\n * @type {boolean}\\n */\\nHTMLMenuItemElement.prototype.default;\\n\\n// TODO(dbeam): add HTMLMenuItemElement.prototype.command if it\'s implemented.\\n\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#relatedevent\\n * @param {string} type\\n * @param {{relatedTarget: (EventTarget|undefined)}=} opt_eventInitDict\\n * @constructor\\n * @extends {Event}\\n */\\nfunction RelatedEvent(type, opt_eventInitDict) {}\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-relatedevent-relatedtarget\\n * @type {EventTarget|undefined}\\n */\\nRelatedEvent.prototype.relatedTarget;\\n\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#the-dialog-element\\n * @constructor\\n * @extends {HTMLElement}\\n */\\nfunction HTMLDialogElement() {}\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-dialog-open\\n * @type {boolean}\\n */\\nHTMLDialogElement.prototype.open;\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-dialog-returnvalue\\n * @type {string}\\n */\\nHTMLDialogElement.prototype.returnValue;\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-dialog-show\\n * @param {(MouseEvent|Element)=} opt_anchor\\n * @return {undefined}\\n */\\nHTMLDialogElement.prototype.show = function(opt_anchor) {};\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-dialog-showmodal\\n * @param {(MouseEvent|Element)=} opt_anchor\\n * @return {undefined}\\n */\\nHTMLDialogElement.prototype.showModal = function(opt_anchor) {};\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-dialog-close\\n * @param {string=} opt_returnValue\\n * @return {undefined}\\n */\\nHTMLDialogElement.prototype.close = function(opt_returnValue) {};\\n\\n\\n/**\\n * @see https://html.spec.whatwg.org/multipage/scripting.html#the-template-element\\n * @constructor\\n * @extends {HTMLElement}\\n */\\nfunction HTMLTemplateElement() {}\\n\\n/**\\n * @see https://html.spec.whatwg.org/multipage/scripting.html#the-template-element\\n * @type {!DocumentFragment}\\n */\\nHTMLTemplateElement.prototype.content;\\n\\n\\n/**\\n * @type {?Document}\\n * @see w3c_dom2.js\\n * @see http://www.w3.org/TR/html-imports/#interface-import\\n */\\nHTMLLinkElement.prototype.import;\\n\\n/**\\n * @type {string}\\n * @see https://html.spec.whatwg.org/#attr-link-as\\n * @see https://w3c.github.io/preload/#as-attribute\\n */\\nHTMLLinkElement.prototype.as;\\n\\n\\n/**\\n * @return {boolean}\\n * @see https://www.w3.org/TR/html5/forms.html#dom-fieldset-elements\\n */\\nHTMLFieldSetElement.prototype.checkValidity = function() {};\\n\\n/**\\n * @type {HTMLCollection}\\n * @see https://www.w3.org/TR/html5/forms.html#dom-fieldset-elements\\n */\\nHTMLFieldSetElement.prototype.elements;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/html5/forms.html#the-fieldset-element\\n */\\nHTMLFieldSetElement.prototype.name;\\n\\n/**\\n * @param {string} message\\n * @see https://www.w3.org/TR/html5/forms.html#dom-fieldset-elements\\n * @return {undefined}\\n */\\nHTMLFieldSetElement.prototype.setCustomValidity = function(message) {};\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/html5/forms.html#dom-fieldset-type\\n */\\nHTMLFieldSetElement.prototype.type;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/html5/forms.html#the-fieldset-element\\n */\\nHTMLFieldSetElement.prototype.validationMessage;\\n\\n/**\\n * @type {ValidityState}\\n * @see https://www.w3.org/TR/html5/forms.html#the-fieldset-element\\n */\\nHTMLFieldSetElement.prototype.validity;\\n\\n/**\\n * @type {boolean}\\n * @see https://www.w3.org/TR/html5/forms.html#the-fieldset-element\\n */\\nHTMLFieldSetElement.prototype.willValidate;\\n\\n/**\\n * @constructor\\n * @extends {NodeList<T>}\\n * @template T\\n * @see https://html.spec.whatwg.org/multipage/infrastructure.html#radionodelist\\n */\\nfunction RadioNodeList() {}\\n\\n\\n\\n/**\\n * @see https://html.spec.whatwg.org/multipage/forms.html#the-datalist-element\\n * @constructor\\n * @extends {HTMLElement}\\n */\\nfunction HTMLDataListElement() {}\\n\\n\\n/** @type {HTMLCollection<!HTMLOptionElement>} */\\nHTMLDataListElement.prototype.options;\\n\\n\\n\\n/**\\n * @see https://html.spec.whatwg.org/multipage/forms.html#the-output-element\\n * @constructor\\n * @extends {HTMLElement}\\n */\\nfunction HTMLOutputElement() {}\\n\\n/**\\n * @const {!DOMTokenList}\\n */\\nHTMLOutputElement.prototype.htmlFor;\\n\\n/**\\n * @type {HTMLFormElement}\\n */\\nHTMLOutputElement.prototype.form;\\n\\n/**\\n * @type {string}\\n */\\nHTMLOutputElement.prototype.name;\\n\\n/**\\n * @const {string}\\n */\\nHTMLOutputElement.prototype.type;\\n\\n/**\\n * @type {string}\\n */\\nHTMLOutputElement.prototype.defaultValue;\\n\\n/**\\n * @type {string}\\n */\\nHTMLOutputElement.prototype.value;\\n\\n/**\\n * @const {?NodeList<!HTMLLabelElement>}\\n */\\nHTMLOutputElement.prototype.labels;\\n\\n/** @type {string} */\\nHTMLOutputElement.prototype.validationMessage;\\n\\n/**\\n * @const {ValidityState}\\n */\\nHTMLOutputElement.prototype.validity;\\n\\n/** @type {boolean} */\\nHTMLOutputElement.prototype.willValidate;\\n\\n/** @return {boolean} */\\nHTMLOutputElement.prototype.checkValidity = function() {};\\n\\n/** @return {boolean} */\\nHTMLOutputElement.prototype.reportValidity = function() {};\\n\\n/** @param {string} message */\\nHTMLOutputElement.prototype.setCustomValidity = function(message) {};\\n\\n\\n\\n/**\\n * @see https://html.spec.whatwg.org/multipage/forms.html#the-progress-element\\n * @constructor\\n * @extends {HTMLElement}\\n */\\nfunction HTMLProgressElement() {}\\n\\n\\n/** @type {number} */\\nHTMLProgressElement.prototype.value;\\n\\n\\n/** @type {number} */\\nHTMLProgressElement.prototype.max;\\n\\n\\n/** @type {number} */\\nHTMLProgressElement.prototype.position;\\n\\n\\n/** @type {?NodeList<!Node>} */\\nHTMLProgressElement.prototype.labels;\\n\\n\\n\\n/**\\n * @see https://html.spec.whatwg.org/multipage/embedded-content.html#the-track-element\\n * @constructor\\n * @extends {HTMLElement}\\n */\\nfunction HTMLTrackElement() {}\\n\\n\\n/** @type {string} */\\nHTMLTrackElement.prototype.kind;\\n\\n\\n/** @type {string} */\\nHTMLTrackElement.prototype.src;\\n\\n\\n/** @type {string} */\\nHTMLTrackElement.prototype.srclang;\\n\\n\\n/** @type {string} */\\nHTMLTrackElement.prototype.label;\\n\\n\\n/** @type {boolean} */\\nHTMLTrackElement.prototype.default;\\n\\n\\n/** @const {number} */\\nHTMLTrackElement.prototype.readyState;\\n\\n\\n/** @const {!TextTrack} */\\nHTMLTrackElement.prototype.track;\\n\\n\\n\\n/**\\n * @see https://html.spec.whatwg.org/multipage/forms.html#the-meter-element\\n * @constructor\\n * @extends {HTMLElement}\\n */\\nfunction HTMLMeterElement() {}\\n\\n\\n/** @type {number} */\\nHTMLMeterElement.prototype.value;\\n\\n\\n/** @type {number} */\\nHTMLMeterElement.prototype.min;\\n\\n\\n/** @type {number} */\\nHTMLMeterElement.prototype.max;\\n\\n\\n/** @type {number} */\\nHTMLMeterElement.prototype.low;\\n\\n\\n/** @type {number} */\\nHTMLMeterElement.prototype.high;\\n\\n\\n/** @type {number} */\\nHTMLMeterElement.prototype.optimum;\\n\\n\\n/** @type {?NodeList<!Node>} */\\nHTMLMeterElement.prototype.labels;\\n\\n\\n/**\\n * @constructor\\n * @see https://www.w3.org/TR/html5/webappapis.html#navigator\\n */\\nfunction Navigator() {}\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-appcodename\\n */\\nNavigator.prototype.appCodeName;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-appname\\n */\\nNavigator.prototype.appName;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-appversion\\n */\\nNavigator.prototype.appVersion;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-platform\\n */\\nNavigator.prototype.platform;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-product\\n */\\nNavigator.prototype.product;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-useragent\\n */\\nNavigator.prototype.userAgent;\\n\\n/**\\n * @return {boolean}\\n * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-taintenabled\\n */\\nNavigator.prototype.taintEnabled = function() {};\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-language\\n */\\nNavigator.prototype.language;\\n\\n/**\\n * @type {boolean}\\n * @see https://www.w3.org/TR/html5/browsers.html#navigatoronline\\n */\\nNavigator.prototype.onLine;\\n\\n/**\\n * @type {boolean}\\n * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-cookieenabled\\n */\\nNavigator.prototype.cookieEnabled;\\n\\n/**\\n * @param {string} scheme\\n * @param {string} url\\n * @param {string} title\\n * @return {undefined}\\n */\\nNavigator.prototype.registerProtocolHandler = function(scheme, url, title) {}\\n\\n/**\\n * @param {string} mimeType\\n * @param {string} url\\n * @param {string} title\\n * @return {undefined}\\n */\\nNavigator.prototype.registerContentHandler = function(mimeType, url, title) {}\\n\\n/**\\n * @param {string} scheme\\n * @param {string} url\\n * @return {undefined}\\n */\\nNavigator.prototype.unregisterProtocolHandler = function(scheme, url) {}\\n\\n/**\\n * @param {string} mimeType\\n * @param {string} url\\n * @return {undefined}\\n */\\nNavigator.prototype.unregisterContentHandler = function(mimeType, url) {}\\n\\n/**\\n * @type {!MimeTypeArray}\\n * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-mimetypes\\n */\\nNavigator.prototype.mimeTypes;\\n\\n/**\\n * @type {!PluginArray}\\n * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-plugins\\n */\\nNavigator.prototype.plugins;\\n\\n/**\\n * @return {boolean}\\n * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-javaenabled\\n * @nosideeffects\\n */\\nNavigator.prototype.javaEnabled = function() {};\\n\\n\\n/**\\n * @constructor\\n * @implements {IObject<(string|number),!Plugin>}\\n * @implements {IArrayLike<!Plugin>}\\n * @see https://www.w3.org/TR/html5/webappapis.html#pluginarray\\n */\\nfunction PluginArray() {}\\n\\n/** @type {number} */\\nPluginArray.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {Plugin}\\n */\\nPluginArray.prototype.item = function(index) {};\\n\\n/**\\n * @param {string} name\\n * @return {Plugin}\\n */\\nPluginArray.prototype.namedItem = function(name) {};\\n\\n/**\\n * @param {boolean=} reloadDocuments\\n * @return {undefined}\\n */\\nPluginArray.prototype.refresh = function(reloadDocuments) {};\\n\\n/**\\n * @constructor\\n * @implements {IObject<(string|number),!MimeType>}\\n * @implements {IArrayLike<!MimeType>}\\n * @see https://www.w3.org/TR/html5/webappapis.html#mimetypearray\\n */\\nfunction MimeTypeArray() {}\\n\\n/**\\n * @param {number} index\\n * @return {MimeType}\\n */\\nMimeTypeArray.prototype.item = function(index) {};\\n\\n/**\\n * @type {number}\\n * @see https://developer.mozilla.org/en/DOM/window.navigator.mimeTypes\\n */\\nMimeTypeArray.prototype.length;\\n\\n/**\\n * @param {string} name\\n * @return {MimeType}\\n */\\nMimeTypeArray.prototype.namedItem = function(name) {};\\n\\n/**\\n * @constructor\\n * @see https://www.w3.org/TR/html5/webappapis.html#mimetype\\n */\\nfunction MimeType() {}\\n\\n/** @type {string} */\\nMimeType.prototype.description;\\n\\n/** @type {Plugin} */\\nMimeType.prototype.enabledPlugin;\\n\\n/** @type {string} */\\nMimeType.prototype.suffixes;\\n\\n/** @type {string} */\\nMimeType.prototype.type;\\n\\n/**\\n * @constructor\\n * @see https://www.w3.org/TR/html5/webappapis.html#dom-plugin\\n */\\nfunction Plugin() {}\\n\\n/** @type {string} */\\nPlugin.prototype.description;\\n\\n/** @type {string} */\\nPlugin.prototype.filename;\\n\\n/** @type {number} */\\nPlugin.prototype.length;\\n\\n/** @type {string} */\\nPlugin.prototype.name;\\n\\n/**\\n * @see https://html.spec.whatwg.org/multipage/scripting.html#custom-elements\\n * @constructor\\n */\\nfunction CustomElementRegistry() {}\\n\\n/**\\n * @param {string} tagName\\n * @param {!function(new:HTMLElement)} klass\\n * @param {{extends: string}=} options\\n * @return {undefined}\\n */\\nCustomElementRegistry.prototype.define = function (tagName, klass, options) {};\\n\\n/**\\n * @param {string} tagName\\n * @return {?function(new:HTMLElement)}\\n */\\nCustomElementRegistry.prototype.get = function(tagName) {};\\n\\n/**\\n * @param {string} tagName\\n * @return {Promise<!function(new:HTMLElement)>}\\n */\\nCustomElementRegistry.prototype.whenDefined = function(tagName) {};\\n\\n/** @type {!CustomElementRegistry} */\\nvar customElements;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n */\\nfunction HTMLSlotElement() {}\\n\\n/**\\n * @param {!{flatten: boolean}=} options\\n * @return {!Array<!Node>}\\n */\\nHTMLSlotElement.prototype.assignedNodes = function(options) {};\\n\\n/** @type {boolean} */\\nEvent.prototype.composed;\\n\\n/**\\n * @return {!Array<!(Element|ShadowRoot|Document|Window)>}\\n */\\nEvent.prototype.composedPath = function() {};\\n\\n/**\\n * @constructor\\n * @param {{\\n *     firesTouchEvents: (string|undefined),\\n *     pointerMovementScrolls: (string|undefined)\\n *   }=} opt_options\\n */\\nfunction InputDeviceCapabilities(opt_options){}\\n\\n/** @type {boolean} */\\nInputDeviceCapabilities.prototype.firesTouchEvents;\\n\\n/** @type {boolean} */\\nInputDeviceCapabilities.prototype.pointerMovementScrolls;\\n\\n/** @type {?InputDeviceCapabilities} */\\nMouseEvent.prototype.sourceCapabilities;\\n","externs/ie_vml.js":"/*\\n * Copyright 2009 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for IE\'s vector markup language, or VML.\\n *\\n * @externs\\n * @author robbyw@google.com (Robby Walker)\\n */\\n\\n\\n/**\\n * @type {Object|string}\\n * @see http://msdn.microsoft.com/en-us/library/bb263836(VS.85).aspx\\n */\\nElement.prototype.coordorigin;\\n\\n/**\\n * @type {Object|string}\\n * @see http://msdn.microsoft.com/en-us/library/bb263837(VS.85).aspx\\n */\\nElement.prototype.coordsize;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/bb263839(VS.85).aspx\\n */\\nElement.prototype.fillcolor;\\n\\n/**\\n * @type {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/bb263840(VS.85).aspx\\n */\\nElement.prototype.filled;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/bb263871(VS.85).aspx\\n */\\nElement.prototype.path;\\n\\n/**\\n * @type {number|string}\\n * @see http://msdn.microsoft.com/en-us/library/bb263877(VS.85).aspx\\n */\\nElement.prototype.rotation;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/bb263881(VS.85).aspx\\n */\\nElement.prototype.strokecolor;\\n\\n/**\\n * @type {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/bb263882(VS.85).aspx\\n */\\nElement.prototype.stroked;\\n\\n/**\\n * @type {number|string}\\n * @see http://msdn.microsoft.com/en-us/library/bb263883(VS.85).aspx\\n */\\nElement.prototype.strokeweight;\\n","externs/intersection_observer.js":"/*\\n * Copyright 2016 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Externs for Intersection Observer objects.\\n * @see https://wicg.github.io/IntersectionObserver/\\n * @externs\\n * @author robadurbin@google.com (Rob Durbin)\\n */\\n\\n// TODO(robadurbin): Once the Intersection Observer s';
a.a+='pec is adopted by W3C, add\\n// a w3c_ prefix to this file\'s name.\\n\\n\\n/**\\n * These contain the information provided from a change event.\\n * @see https://wicg.github.io/IntersectionObserver/#intersection-observer-entry\\n * @record\\n */\\nfunction IntersectionObserverEntry() {}\\n\\n/**\\n * The time the change was observed.\\n * @see https://wicg.github.io/IntersectionObserver/#dom-intersectionobserverentry-time\\n * @type {number}\\n * @const\\n */\\nIntersectionObserverEntry.prototype.time;\\n\\n/**\\n * The root intersection rectangle, if target belongs to the same unit of\\n * related similar-origin browsing contexts as the intersection root, null\\n * otherwise.\\n * @see https://wicg.github.io/IntersectionObserver/#dom-intersectionobserverentry-rootbounds\\n * @type {{top: number, right: number, bottom: number, left: number,\\n *     height: number, width: number}}\\n * @const\\n */\\nIntersectionObserverEntry.prototype.rootBounds;\\n\\n/**\\n * The rectangle describing the element being observed.\\n * @see https://wicg.github.io/IntersectionObserver/#dom-intersectionobserverentry-boundingclientrect\\n * @type {!{top: number, right: number, bottom: number, left: number,\\n *     height: number, width: number}}\\n * @const\\n */\\nIntersectionObserverEntry.prototype.boundingClientRect;\\n\\n/**\\n * The rectangle describing the intersection between the observed element and\\n * the viewport.\\n * @see https://wicg.github.io/IntersectionObserver/#dom-intersectionobserverentry-intersectionrect\\n * @type {!{top: number, right: number, bottom: number, left: number,\\n *     height: number, width: number}}\\n * @const\\n */\\nIntersectionObserverEntry.prototype.intersectionRect;\\n\\n/**\\n * Ratio of intersectionRect area to boundingClientRect area.\\n * @see https://wicg.github.io/IntersectionObserver/#dom-intersectionobserverentry-intersectionratio\\n * @type {!number}\\n * @const\\n */\\nIntersectionObserverEntry.prototype.intersectionRatio;\\n\\n/**\\n * The Element whose intersection with the intersection root changed.\\n * @see https://wicg.github.io/IntersectionObserver/#dom-intersectionobserverentry-target\\n * @type {!Element}\\n * @const\\n */\\nIntersectionObserverEntry.prototype.target;\\n\\n/**\\n * Whether or not the target is intersecting with the root.\\n * @see https://wicg.github.io/IntersectionObserver/#dom-intersectionobserverentry-isintersecting\\n * @type {boolean}\\n * @const\\n */\\nIntersectionObserverEntry.prototype.isIntersecting;\\n\\n/**\\n * Callback for the IntersectionObserver.\\n * @see https://wicg.github.io/IntersectionObserver/#intersection-observer-callback\\n * @typedef {function(!Array<!IntersectionObserverEntry>,!IntersectionObserver)}\\n */\\nvar IntersectionObserverCallback;\\n\\n/**\\n * Options for the IntersectionObserver.\\n * @see https://wicg.github.io/IntersectionObserver/#intersection-observer-init\\n * @typedef {{\\n *   threshold: (!Array<number>|number|undefined),\\n *   root: (!Element|undefined),\\n *   rootMargin: (string|undefined)\\n * }}\\n */\\nvar IntersectionObserverInit;\\n\\n/**\\n * This is the constructor for Intersection Observer objects.\\n * @see https://wicg.github.io/IntersectionObserver/#intersection-observer-interface\\n * @param {!IntersectionObserverCallback} handler The callback for the observer.\\n * @param {!IntersectionObserverInit=} opt_options The object defining the\\n *     thresholds, etc.\\n * @constructor\\n */\\nfunction IntersectionObserver(handler, opt_options) {};\\n\\n/**\\n * The root Element to use for intersection, or null if the observer uses the\\n * implicit root.\\n * @see https://wicg.github.io/IntersectionObserver/#dom-intersectionobserver-root\\n * @type {?Element}\\n * @const\\n */\\nIntersectionObserver.prototype.root;\\n\\n/**\\n * Offsets applied to the intersection root\u2019s bounding box, effectively growing\\n * or shrinking the box that is used to calculate intersections.\\n * @see https://wicg.github.io/IntersectionObserver/#dom-intersectionobserver-rootmargin\\n * @type {!string}\\n * @const\\n */\\nIntersectionObserver.prototype.rootMargin;\\n\\n/**\\n * A list of thresholds, sorted in increasing numeric order, where each\\n * threshold is a ratio of intersection area to bounding box area of an observed\\n * target.\\n * @see https://wicg.github.io/IntersectionObserver/#dom-intersectionobserver-thresholds\\n * @type {!Array.<!number>}\\n * @const\\n */\\nIntersectionObserver.prototype.thresholds;\\n\\n/**\\n * This is used to set which element to observe.\\n * @see https://wicg.github.io/IntersectionObserver/#dom-intersectionobserver-observe\\n * @param {!Element} element The element to observe.\\n * @return {undefined}\\n */\\nIntersectionObserver.prototype.observe = function(element) {};\\n\\n/**\\n * This is used to stop observing a given element.\\n * @see https://wicg.github.io/IntersectionObserver/#dom-intersectionobserver-unobserve\\n * @param {!Element} element The elmenent to stop observing.\\n * @return {undefined}\\n */\\nIntersectionObserver.prototype.unobserve = function(element) {};\\n\\n/**\\n * Disconnect.\\n * @see https://wicg.github.io/IntersectionObserver/#dom-intersectionobserver-disconnect\\n */\\nIntersectionObserver.prototype.disconnect = function() {};\\n\\n/**\\n * Take records.\\n * @see https://wicg.github.io/IntersectionObserver/#dom-intersectionobserver-takerecords\\n * @return {!Array.<!IntersectionObserverEntry>}\\n */\\nIntersectionObserver.prototype.takeRecords = function() {};\\n","externs/iphone.js":"/*\\n * Copyright 2009 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n/**\\n * @fileoverview Definitions for all iPhone extensions. Created from:\\n * http://developer.apple.com/library/safari/navigation/\\n *\\n * @externs\\n * @author agrieve@google.com (Andrew Grieve)\\n */\\n\\n\\n/**\\n * @type {number}\\n */\\nTouch.prototype.webkitForce;\\n\\n/**\\n * @type {number}\\n */\\nTouch.prototype.webkitRadiusX;\\n\\n/**\\n * @type {number}\\n */\\nTouch.prototype.webkitRadiusY;\\n\\n/**\\n * The distance between two fingers since the start of an event as a multiplier\\n * of the initial distance. The initial value is 1.0. If less than 1.0, the\\n * gesture is pinch close (to zoom out). If greater than 1.0, the gesture is\\n * pinch open (to zoom in).\\n * @type {number}\\n */\\nTouchEvent.prototype.scale;\\n\\n/**\\n * The delta rotation since the start of an event, in degrees, where clockwise\\n * is positive and counter-clockwise is negative. The initial value is 0.0.\\n * @type {number}\\n */\\nTouchEvent.prototype.rotation;\\n\\n/**\\n * Initializes a newly created TouchEvent object.\\n * @param {string} type\\n * @param {boolean} canBubble\\n * @param {boolean} cancelable\\n * @param {Window} view\\n * @param {number} detail\\n * @param {number} screenX\\n * @param {number} screenY\\n * @param {number} clientX\\n * @param {number} clientY\\n * @param {boolean} ctrlKey\\n * @param {boolean} altKey\\n * @param {boolean} shiftKey\\n * @param {boolean} metaKey\\n * @param {TouchList} touches\\n * @param {TouchList} targetTouches\\n * @param {TouchList} changedTouches\\n * @param {number} scale\\n * @param {number} rotation\\n * @return {undefined}\\n */\\nTouchEvent.prototype.initTouchEvent = function(type, canBubble, cancelable,\\n    view, detail, screenX, screenY, clientX, clientY, ctrlKey, altKey, shiftKey,\\n    metaKey, touches, targetTouches, changedTouches, scale, rotation) {};\\n\\n/**\\n * The GestureEvent class encapsulates information about a multi-touch gesture.\\n *\\n * GestureEvent objects are high-level events that encapsulate the low-level\\n * TouchEvent objects. Both GestureEvent and TouchEvent events are sent during\\n * a multi-touch sequence. Gesture events contain scaling and rotation\\n * information allowing gestures to be combined, if supported by the platform.\\n * If not supported, one gesture ends before another starts. Listen for\\n * GestureEvent events if you want to respond to gestures only, not process\\n * the low-level TouchEvent objects.\\n *\\n * @see http://developer.apple.com/library/safari/#documentation/UserExperience/Reference/GestureEventClassReference/GestureEvent/GestureEvent.html\\n * @extends {UIEvent}\\n * @constructor\\n */\\nfunction GestureEvent() {}\\n\\n/**\\n * The distance between two fingers since the start of an event as a multiplier\\n * of the initial distance. The initial value is 1.0. If less than 1.0, the\\n * gesture is pinch close (to zoom out). If greater than 1.0, the gesture is\\n * pinch open (to zoom in).\\n * @type {number}\\n */\\nGestureEvent.prototype.scale;\\n\\n/**\\n * The delta rotation since the start of an event, in degrees, where clockwise\\n * is positive and counter-clockwise is negative. The initial value is 0.0.\\n * @type {number}\\n */\\nGestureEvent.prototype.rotation;\\n\\n/**\\n * The target of this gesture.\\n * @type {EventTarget}\\n */\\nGestureEvent.prototype.target;\\n\\n/**\\n * Initializes a newly created GestureEvent object.\\n * @param {string} type\\n * @param {boolean} canBubble\\n * @param {boolean} cancelable\\n * @param {Window} view\\n * @param {number} detail\\n * @param {number} screenX\\n * @param {number} screenY\\n * @param {number} clientX\\n * @param {number} clientY\\n * @param {boolean} ctrlKey\\n * @param {boolean} altKey\\n * @param {boolean} shiftKey\\n * @param {boolean} metaKey\\n * @param {EventTarget} target\\n * @param {number} scale\\n * @param {number} rotation\\n * @return {undefined}\\n */\\nGestureEvent.prototype.initGestureEvent = function(type, canBubble, cancelable,\\n    view, detail, screenX, screenY, clientX, clientY, ctrlKey, altKey, shiftKey,\\n    metaKey, target, scale, rotation) {};\\n\\n\\n/**\\n * Specifies the JavaScript method to invoke when a gesture is started by\\n * two or more fingers touching the surface.\\n * @type {?function(!GestureEvent)}\\n */\\nElement.prototype.ongesturestart;\\n\\n/**\\n * Specifies the JavaScript method to invoke when fingers are moved during a\\n * gesture.\\n * @type {?function(!GestureEvent)}\\n */\\nElement.prototype.ongesturechange;\\n\\n/**\\n * Specifies the JavaScript method to invoke when a gesture ends (when there are\\n * 0 or 1 fingers touching the surface).\\n * @type {?function(!GestureEvent)}\\n */\\nElement.prototype.ongestureend;\\n\\n/**\\n * Specifies the JavaScript method to invoke when the browser device\'s\\n * orientation changes, i.e.the device is rotated.\\n * @type {?function(!Event)}\\n * @see http://developer.apple.com/library/IOS/#documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html\\n */\\nWindow.prototype.onorientationchange;\\n\\n/**\\n * Returns the orientation of the browser\'s device, one of [-90, 0, 90, 180].\\n * @type {number}\\n * @see http://developer.apple.com/library/IOS/#documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html\\n */\\nWindow.prototype.orientation;\\n\\n/**\\n * @implicitCast\\n * @type {boolean}\\n */\\nHTMLInputElement.prototype.autocorrect;\\n\\n/**\\n * @implicitCast\\n * @type {boolean}\\n */\\nHTMLInputElement.prototype.autocapitalize;\\n\\n/**\\n * @implicitCast\\n * @type {boolean}\\n */\\nHTMLTextAreaElement.prototype.autocorrect;\\n\\n/**\\n * @implicitCast\\n * @type {boolean}\\n */\\nHTMLTextAreaElement.prototype.autocapitalize;\\n","externs/mediakeys.js":"/*\\n * Copyright 2015 The Closure Compiler authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n/**\\n * @fileoverview MediaKey externs.\\n * Based on {@link http://goo.gl/blgtZZ EME draft 12 March 2015}.\\n * @externs\\n */\\n\\n\\n/**\\n * @typedef {{contentType: string, robustness: string}}\\n * @see https://w3c.github.io/encrypted-media/#mediakeysystemmediacapability-dictionary\\n */\\nvar MediaKeySystemMediaCapability;\\n\\n\\n/** @typedef {{\\n *   label: (string|undefined),\\n *   initDataTypes: (!Array<string>|undefined),\\n *   audioCapabilities: (!Array<!MediaKeySystemMediaCapability>|undefined),\\n *   videoCapabilities: (!Array<!MediaKeySystemMediaCapability>|undefined),\\n *   distinctiveIdentifier: (string|undefined),\\n *   persistentState: (string|undefined),\\n *   sessionTypes: (!Array<string>|undefined)\\n * }}\\n * @see https://w3c.github.io/encrypted-media/#mediakeysystemconfiguration-dictionary\\n */\\nvar MediaKeySystemConfiguration;\\n\\n\\n/**\\n * @param {string} keySystem\\n * @param {!Array<!MediaKeySystemConfiguration>} supportedConfigurations\\n * @return {!Promise<!MediaKeySystemAccess>}\\n * @see https://w3c.github.io/encrypted-media/#navigator-extension-requestmediakeysystemaccess\\n */\\nNavigator.prototype.requestMediaKeySystemAccess =\\n    function(keySystem, supportedConfigurations) {};\\n\\n\\n/** @const {MediaKeys} */\\nHTMLMediaElement.prototype.mediaKeys;\\n\\n\\n/**\\n * @param {MediaKeys} mediaKeys\\n * @return {!Promise}\\n * @see https://w3c.github.io/encrypted-media/#widl-HTMLMediaElement-setMediaKeys-Promise-void--MediaKeys-mediaKeys\\n */\\nHTMLMediaElement.prototype.setMediaKeys = function(mediaKeys) {};\\n\\n\\n\\n/**\\n * @interface\\n * @see https://w3c.github.io/encrypted-media/#mediakeysystemaccess-interface\\n */\\nfunction MediaKeySystemAccess() {}\\n\\n\\n/** @return {!Promise<!MediaKeys>} */\\nMediaKeySystemAccess.prototype.createMediaKeys = function() {};\\n\\n\\n/** @return {!MediaKeySystemConfiguration} */\\nMediaKeySystemAccess.prototype.getConfiguration = function() {};\\n\\n\\n/** @const {string} */\\nMediaKeySystemAccess.prototype.keySystem;\\n\\n\\n\\n/**\\n * @interface\\n * @see https://w3c.github.io/encrypted-media/#mediakeys-interface\\n */\\nfunction MediaKeys() {}\\n\\n\\n/**\\n * @param {string=} opt_sessionType defaults to \\"temporary\\"\\n * @return {!MediaKeySession}\\n * @throws {TypeError} if opt_sessionType is invalid.\\n */\\nMediaKeys.prototype.createSession = function(opt_sessionType) {};\\n\\n\\n/**\\n * @param {!BufferSource} serverCertificate\\n * @return {!Promise}\\n */\\nMediaKeys.prototype.setServerCertificate = function(serverCertificate) {};\\n\\n\\n\\n/**\\n * @interface\\n * @see https://w3c.github.io/encrypted-media/#mediakeystatusmap-interface\\n */\\nfunction MediaKeyStatusMap() {}\\n\\n\\n/** @const {number} */\\nMediaKeyStatusMap.prototype.size;\\n\\n\\n/**\\n * Array entry 0 is the key, 1 is the value.\\n * @return {!Iterator<!Array<!BufferSource|string>>}\\n */\\nMediaKeyStatusMap.prototype.entries = function() {};\\n\\n\\n/**\\n * The function is called with each value.\\n * @param {function(string, !BufferSource)} callback A callback function to run for\\n *     each media key. The first parameter is the key status; the second\\n *     parameter is the key ID.\\n * @return {undefined}\\n */\\nMediaKeyStatusMap.prototype.forEach = function(callback) {};\\n\\n\\n/**\\n * @param {!BufferSource} keyId\\n * @return {string|undefined}\\n */\\nMediaKeyStatusMap.prototype.get = function(keyId) {};\\n\\n\\n/**\\n * @param {!BufferSource} keyId\\n * @return {boolean}\\n */\\nMediaKeyStatusMap.prototype.has = function(keyId) {};\\n\\n\\n/**\\n * @return {!Iterator<!BufferSource>}\\n */\\nMediaKeyStatusMap.prototype.keys = function() {};\\n\\n\\n/**\\n * @return {!Iterator<string>}\\n */\\nMediaKeyStatusMap.prototype.values = function() {};\\n\\n\\n\\n/**\\n * @interface\\n * @extends {EventTarget}\\n * @see https://w3c.github.io/encrypted-media/#mediakeysession-interface\\n */\\nfunction MediaKeySession() {}\\n\\n\\n/** @const {string} */\\nMediaKeySession.prototype.sessionId;\\n\\n\\n/** @const {number} */\\nMediaKeySession.prototype.expiration;\\n\\n\\n/** @const {!Promise} */\\nMediaKeySession.prototype.closed;\\n\\n\\n/** @const {!MediaKeyStatusMap} */\\nMediaKeySession.prototype.keyStat';
a.a+='uses;\\n\\n\\n/**\\n * @param {string} initDataType\\n * @param {!BufferSource} initData\\n * @return {!Promise}\\n */\\nMediaKeySession.prototype.generateRequest = function(initDataType, initData) {};\\n\\n\\n/**\\n * @param {string} sessionId\\n * @return {!Promise<boolean>}}\\n */\\nMediaKeySession.prototype.load = function(sessionId) {};\\n\\n\\n/**\\n * @param {!BufferSource} response\\n * @return {!Promise}\\n */\\nMediaKeySession.prototype.update = function(response) {};\\n\\n\\n/** @return {!Promise} */\\nMediaKeySession.prototype.close = function() {};\\n\\n\\n/** @return {!Promise} */\\nMediaKeySession.prototype.remove = function() {};\\n\\n\\n/**\\n * @override\\n */\\nMediaKeySession.prototype.addEventListener = function(\\n    type, listener, opt_options) {};\\n\\n\\n/**\\n * @override\\n */\\nMediaKeySession.prototype.removeEventListener = function(\\n    type, listener, opt_options) {};\\n\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\nMediaKeySession.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * @record\\n * @extends {EventInit}\\n */\\nfunction MediaKeyMessageEventInit() {};\\n\\n/** @type {string} */\\nMediaKeyMessageEventInit.prototype.messageType;\\n\\n/** @type {!ArrayBuffer} */\\nMediaKeyMessageEventInit.prototype.message;\\n\\n\\n/**\\n * @constructor\\n * @param {string} type\\n * @param {MediaKeyMessageEventInit} eventInitDict\\n * @extends {Event}\\n * @see https://w3c.github.io/encrypted-media/#mediakeymessageevent\\n */\\nfunction MediaKeyMessageEvent(type, eventInitDict) {}\\n\\n\\n/** @const {string} */\\nMediaKeyMessageEvent.prototype.messageType;\\n\\n\\n/** @const {!ArrayBuffer} */\\nMediaKeyMessageEvent.prototype.message;\\n\\n\\n/** @const {!MediaKeySession} */\\nMediaKeyMessageEvent.prototype.target;\\n\\n/**\\n * @record\\n * @extends {EventInit}\\n */\\nfunction MediaEncryptedEventInit() {};\\n\\n/** @type {(string | undefined)} */\\nMediaEncryptedEventInit.prototype.initDataType;\\n\\n/** @type {(ArrayBuffer | undefined)} */\\nMediaEncryptedEventInit.prototype.initData;\\n\\n/**\\n * @constructor\\n * @param {string} type\\n * @param {MediaEncryptedEventInit=} opt_eventInitDict\\n * @extends {Event}\\n * @see https://w3c.github.io/encrypted-media/#mediaencryptedevent\\n */\\nfunction MediaEncryptedEvent(type, opt_eventInitDict) {}\\n\\n\\n/** @const {string} */\\nMediaEncryptedEvent.prototype.initDataType;\\n\\n\\n/** @const {ArrayBuffer} */\\nMediaEncryptedEvent.prototype.initData;\\n\\n\\n/** @const {!HTMLMediaElement} */\\nMediaEncryptedEvent.prototype.target;\\n\\n","externs/mediasource.js":"/*\\n * Copyright 2012 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n/**\\n * @fileoverview Definitions for the Media Source Extensions. Note that the\\n * properties available here are the union of several versions of the spec.\\n * @see http://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html\\n *\\n * @externs\\n * @author mattward@google.com (Matt Ward)\\n */\\n\\n/**\\n * @constructor\\n * @implements {EventTarget}\\n */\\nfunction MediaSource() {}\\n\\n/** @override */\\nMediaSource.prototype.addEventListener = function(type, listener, opt_options) {\\n};\\n\\n/** @override */\\nMediaSource.prototype.removeEventListener = function(\\n    type, listener, opt_options) {};\\n\\n/** @override */\\nMediaSource.prototype.dispatchEvent = function(evt) {};\\n\\n/** @type {Array<SourceBuffer>} */\\nMediaSource.prototype.sourceBuffers;\\n\\n/** @type {Array<SourceBuffer>} */\\nMediaSource.prototype.activeSourceBuffers;\\n\\n/** @type {number} */\\nMediaSource.prototype.duration;\\n\\n/**\\n * @param {string} type\\n * @return {SourceBuffer}\\n */\\nMediaSource.prototype.addSourceBuffer = function(type) {};\\n\\n/**\\n * @param {SourceBuffer} sourceBuffer\\n * @return {undefined}\\n */\\nMediaSource.prototype.removeSourceBuffer = function(sourceBuffer) {};\\n\\n/**\\n * Updates the live seekable range.\\n * @param {number} start\\n * @param {number} end\\n */\\nMediaSource.prototype.setLiveSeekableRange = function(start, end) {};\\n\\n/**\\n * Clears the live seekable range.\\n * @return {void}\\n */\\nMediaSource.prototype.clearLiveSeekableRange = function() {};\\n\\n/** @type {string} */\\nMediaSource.prototype.readyState;\\n\\n/**\\n * @param {string=} opt_error\\n * @return {undefined}\\n */\\nMediaSource.prototype.endOfStream = function(opt_error) {};\\n\\n/**\\n * @param {string} type\\n * @return {boolean}\\n */\\nMediaSource.isTypeSupported = function(type) {};\\n\\n\\n/**\\n * @constructor\\n * @implements {EventTarget}\\n */\\nfunction SourceBuffer() {}\\n\\n/** @override */\\nSourceBuffer.prototype.addEventListener = function(\\n    type, listener, opt_options) {};\\n\\n/** @override */\\nSourceBuffer.prototype.removeEventListener = function(\\n    type, listener, opt_options) {};\\n\\n/** @override */\\nSourceBuffer.prototype.dispatchEvent = function(evt) {};\\n\\n/** @type {string} */\\nSourceBuffer.prototype.appendMode;\\n\\n/** @type {boolean} */\\nSourceBuffer.prototype.updating;\\n\\n/** @type {TimeRanges} */\\nSourceBuffer.prototype.buffered;\\n\\n/** @type {number} */\\nSourceBuffer.prototype.timestampOffset;\\n\\n/** @type {number} */\\nSourceBuffer.prototype.appendWindowStart;\\n\\n/** @type {number} */\\nSourceBuffer.prototype.appendWindowEnd;\\n\\n/**\\n * @param {Uint8Array} data\\n * @return {undefined}\\n */\\nSourceBuffer.prototype.append = function(data) {};\\n\\n/**\\n * @param {ArrayBuffer|ArrayBufferView} data\\n * @return {undefined}\\n */\\nSourceBuffer.prototype.appendBuffer = function(data) {};\\n\\n/**\\n * Abort the current segment append sequence.\\n * @return {undefined}\\n */\\nSourceBuffer.prototype.abort = function() {};\\n\\n/**\\n * @param {number} start\\n * @param {number} end\\n * @return {undefined}\\n */\\nSourceBuffer.prototype.remove = function(start, end) {};\\n","externs/page_visibility.js":"/*\\n * Copyright 2015 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n/**\\n * @fileoverview Externs for Page Visibility.\\n *\\n * @see http://www.w3.org/TR/page-visibility\\n * @externs\\n */\\n\\n/**\\n * Set of possible values: \'hidden\', \'visible\', \'prerender\', \'unloaded\'.\\n * @typedef {string}\\n * @see http://www.w3.org/TR/page-visibility/#VisibilityState\\n */\\nvar VisibilityState;\\n","externs/url.js":"/*\\n * Copyright 2015 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for URL and URLSearchParams from the spec at\\n * https://url.spec.whatwg.org.\\n *\\n * @externs\\n * @author rdcronin@google.com (Devlin Cronin)\\n */\\n\\n/**\\n * @constructor\\n * @implements {Iterable<!Array<string>>}\\n * @param {(string|!URLSearchParams)=} init\\n */\\nfunction URLSearchParams(init) {}\\n\\n/**\\n * @param {string} name\\n * @param {string} value\\n * @return {undefined}\\n */\\nURLSearchParams.prototype.append = function(name, value) {};\\n\\n/**\\n * @param {string} name\\n * @return {undefined}\\n */\\nURLSearchParams.prototype.delete = function(name) {};\\n\\n/**\\n * @param {string} name\\n * @return {?string}\\n */\\nURLSearchParams.prototype.get = function(name) {};\\n\\n/**\\n * @param {string} name\\n * @return {!Array<string>}\\n */\\nURLSearchParams.prototype.getAll = function(name) {};\\n\\n/**\\n * @param {string} name\\n * @return {boolean}\\n */\\nURLSearchParams.prototype.has = function(name) {};\\n\\n/**\\n * @param {string} name\\n * @param {string} value\\n * @return {undefined}\\n */\\nURLSearchParams.prototype.set = function(name, value) {};\\n\\n/**\\n * @see https://url.spec.whatwg.org\\n * @constructor\\n * @param {string} url\\n * @param {(string|!URL)=} base\\n */\\nfunction URL(url, base) {}\\n\\n/** @type {string} */\\nURL.prototype.href;\\n\\n/**\\n * @const\\n * @type {string}\\n */\\nURL.prototype.origin;\\n\\n/** @type {string} */\\nURL.prototype.protocol;\\n\\n/** @type {string} */\\nURL.prototype.username;\\n\\n/** @type {string} */\\nURL.prototype.password;\\n\\n/** @type {string} */\\nURL.prototype.host;\\n\\n/** @type {string} */\\nURL.prototype.hostname;\\n\\n/** @type {string} */\\nURL.prototype.port;\\n\\n/** @type {string} */\\nURL.prototype.pathname;\\n\\n/** @type {string} */\\nURL.prototype.search;\\n\\n/**\\n * @const\\n * @type {!URLSearchParams}\\n */\\nURL.prototype.searchParams;\\n\\n/** @type {string} */\\nURL.prototype.hash;\\n\\n/**\\n * @param {string} domain\\n * @return {string}\\n */\\nURL.domainToASCII = function(domain) {};\\n\\n/**\\n * @param {string} domain\\n * @return {string}\\n */\\nURL.domainToUnicode = function(domain) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-createObjectURL\\n * @param {!File|!Blob|!MediaSource|!MediaStream} obj\\n * @return {string}\\n */\\nURL.createObjectURL = function(obj) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-revokeObjectURL\\n * @param {string} url\\n * @return {undefined}\\n */\\nURL.revokeObjectURL = function(url) {};\\n","externs/v8.js":"/*\\n * Copyright 2013 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview This file describes the externs API for V8-specific objects.\\n * @externs\\n */\\n\\n\\n\\n/**\\n * Stack frame elements in V8.\\n * @constructor\\n */\\nfunction CallSite() {}\\n\\n\\n/**\\n * Returns the value of this.\\n * @return {Object|undefined}\\n */\\nCallSite.prototype.getThis = function() {};\\n\\n\\n/**\\n * Returns the type of this as a string. This is the name of the function stored\\n * in the constructor field of this, if available, otherwise the object\'s\\n * [[Class]] internal property.\\n * @return {string|undefined}\\n */\\nCallSite.prototype.getTypeName = function() {};\\n\\n\\n/**\\n * Returns the current function.\\n * @return {!Function|undefined}\\n */\\nCallSite.prototype.getFunction = function() {};\\n\\n\\n/**\\n * Returns the name of the current function, typically its name property. If a\\n * name property is not available an attempt will be made to try to infer a name\\n * from the function\'s context.\\n * @return {string|undefined}\\n */\\nCallSite.prototype.getFunctionName = function() {};\\n\\n\\n/**\\n * Returns the name of the property of this or one of its prototypes that holds\\n * the current function.\\n * @return {string|undefined}\\n */\\nCallSite.prototype.getMethodName = function() {};\\n\\n\\n/**\\n * If this function was defined in a script returns the name of the script\\n * @return {string|undefined}\\n */\\nCallSite.prototype.getFileName = function() {};\\n\\n\\n/**\\n * If this function was defined in a script returns the current line number.\\n * @return {number|undefined}\\n */\\nCallSite.prototype.getLineNumber = function() {};\\n\\n\\n/**\\n * If this function was defined in a script returns the current column number.\\n * @return {number|undefined}\\n */\\nCallSite.prototype.getColumnNumber = function() {};\\n\\n\\n/**\\n * If this function was created using a call to eval, returns a CallSite object\\n * representing the location where eval was called\\n * @return {CallSite|undefined}\\n */\\nCallSite.prototype.getEvalOrigin = function() {};\\n\\n\\n/**\\n * Is this a toplevel invocation, that is, is this the global object?\\n * @return {boolean}\\n */\\nCallSite.prototype.isToplevel = function() {};\\n\\n\\n/**\\n * Does this call take place in code defined by a call to eval?\\n * @return {boolean}\\n */\\nCallSite.prototype.isEval = function() {};\\n\\n\\n/**\\n * Is this call in native V8 code?\\n * @return {boolean}\\n */\\nCallSite.prototype.isNative = function() {};\\n\\n\\n/**\\n * Is this a constructor call?\\n * @return {boolean}\\n */\\nCallSite.prototype.isConstructor = function() {};\\n","externs/webstorage.js":"/*\\n * Copyright 2009 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n/**\\n * @fileoverview Definitions for W3C\'s WebStorage specification.\\n * This file depends on html5.js.\\n * @externs\\n * @author jeffbailey@google.com (Jeff Bailey)\\n */\\n\\n/**\\n * @interface\\n * @see http://www.w3.org/TR/2011/CR-webstorage-20111208/#the-storage-interface\\n */\\nfunction Storage() {}\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nStorage.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {?string}\\n */\\nStorage.prototype.key = function(index) {};\\n\\n/**\\n * @param {string} key\\n * @return {?string}\\n */\\nStorage.prototype.getItem = function(key) {};\\n\\n/**\\n * @param {string} key\\n * @param {string} data\\n * @return {void}\\n */\\nStorage.prototype.setItem = function(key, data) {};\\n\\n/**\\n * @param {string} key\\n * @return {void}\\n */\\nStorage.prototype.removeItem = function(key) {};\\n\\n/**\\n * @return {void}\\n */\\nStorage.prototype.clear = function() {};\\n\\n/**\\n * @interface\\n * @see http://www.w3.org/TR/2011/CR-webstorage-20111208/#the-sessionstorage-attribute\\n */\\nfunction WindowSessionStorage() {}\\n\\n/**\\n * @type {Storage}\\n */\\nWindowSessionStorage.prototype.sessionStorage;\\n\\n/**\\n * Window implements WindowSessionStorage\\n *\\n * @type {Storage}\\n */\\nWindow.prototype.sessionStorage;\\n\\n/**\\n * @interface\\n * @see http://www.w3.org/TR/2011/CR-webstorage-20111208/#the-localstorage-attribute\\n */\\nfunction WindowLocalStorage() {}\\n\\n/**\\n * @type {Storage}\\n */\\nWindowLocalStorage.prototype.localStorage;\\n\\n/**\\n * Window implements WindowLocalStorage\\n *\\n * @type {Storage}\\n */\\nWindow.prototype.localStorage;\\n\\n/**\\n * This is the storage event interface.\\n * @see http://www.w3.org/TR/2011/CR-webstorage-20111208/#the-storage-event\\n * @extends {Event}\\n * @constructor\\n */\\nfunction StorageEvent() {}\\n\\n/**\\n * @type {string}\\n */\\nStorageEvent.prototype.key;\\n\\n/**\\n * @type {?string}\\n */\\nStorageEvent.prototype.oldValue;\\n\\n/**\\n * @type {?string}\\n */\\nStorageEvent.prototype.newValue;\\n\\n/**\\n * @type {string}\\n */\\nStorageEvent.prototype.url;\\n\\n/**\\n * @type {?Storage}\\n */\\nStorageEvent.prototype.storageArea;\\n\\n/**\\n * @param {string} typeArg\\n * @param {boolean} canBubbleArg\\n * @param {boolean} cancelableArg\\n * @param {string} keyArg\\n * @param {?string} oldValueArg\\n * @param {?string} newValueArg\\n * @param {string} urlArg\\n * @';
a.a+='param {?Storage} storageAreaArg\\n * @return {void}\\n */\\nStorageEvent.prototype.initStorageEvent = function(typeArg, canBubbleArg,\\n                                                   cancelableArg, keyArg,\\n                                                   oldValueArg, newValueArg,\\n                                                   urlArg, storageAreaArg) {};\\n\\n","externs/whatwg_encoding.js":"/*\\n * Copyright 2015 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for WHATWG\'s Encoding specification\\n *     https://encoding.spec.whatwg.org\\n * @externs\\n */\\n\\n/**\\n * @constructor\\n * @param {string=} encoding\\n * @param {Object=} options\\n */\\nfunction TextDecoder(encoding, options) {}\\n\\n/** @type {string} **/ TextDecoder.prototype.encoding;\\n/** @type {boolean} **/ TextDecoder.prototype.fatal;\\n/** @type {boolean} **/ TextDecoder.prototype.ignoreBOM;\\n\\n/**\\n * @param {!BufferSource=} input\\n * @param {?Object=} options\\n * @return {!string}\\n * @see https://encoding.spec.whatwg.org/#textdecoder\\n */\\nTextDecoder.prototype.decode = function decode(input, options) {};\\n\\n/**\\n * @constructor\\n * @param {string=} utfLabel\\n */\\nfunction TextEncoder(utfLabel) {}\\n\\n/** @type {string} **/ TextEncoder.prototype.encoding;\\n\\n/**\\n * @param {string=} input\\n * @return {!Uint8Array}\\n */\\nTextEncoder.prototype.encode = function(input) {};\\n","externs/w3c_anim_timing.js":"/*\\n * Copyright 2011 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n/**\\n * @fileoverview Definitions for timing control for script base animations. The\\n *  whole file has been fully type annotated.\\n *\\n * @see http://www.w3.org/TR/animation-timing/\\n * @see http://webstuff.nfshost.com/anim-timing/Overview.html\\n * @externs\\n * @author bcornell@google.com (Brian Cornell)\\n */\\n\\n/**\\n * @param {function(number): undefined} callback\\n * @param {Element=} opt_element In early versions of this API, the callback\\n *     was invoked only if the element was visible.\\n * @return {number}\\n */\\nfunction requestAnimationFrame(callback, opt_element) {};\\n\\n/**\\n * @param {number} handle\\n * @return {undefined}\\n */\\nfunction cancelRequestAnimationFrame(handle) {};\\n\\n/**\\n * @param {number} handle\\n * @return {undefined}\\n */\\nfunction cancelAnimationFrame(handle) {};\\n\\n/**\\n * @param {function(number)} callback\\n * @param {Element=} opt_element\\n * @return {number}\\n */\\nfunction webkitRequestAnimationFrame(callback, opt_element) {};\\n\\n/**\\n * @param {number} handle\\n * @return {undefined}\\n */\\nfunction webkitCancelRequestAnimationFrame(handle) {};\\n\\n/**\\n * @param {number} handle\\n * @return {undefined}\\n */\\nfunction webkitCancelAnimationFrame(handle) {};\\n\\n/**\\n * @param {?function(number)} callback It\'s legitimate to pass a null\\n *     callback and listen on the MozBeforePaint event instead.\\n * @param {Element=} opt_element\\n * @return {number}\\n */\\nfunction mozRequestAnimationFrame(callback, opt_element) {};\\n\\n/**\\n * @param {number} handle\\n * @return {undefined}\\n */\\nfunction mozCancelRequestAnimationFrame(handle) {};\\n\\n/**\\n * @param {number} handle\\n * @return {undefined}\\n */\\nfunction mozCancelAnimationFrame(handle) {};\\n\\n/**\\n * @param {function(number)} callback\\n * @param {Element=} opt_element\\n * @return {number}\\n */\\nfunction msRequestAnimationFrame(callback, opt_element) {};\\n\\n/**\\n * @param {number} handle\\n * @return {undefined}\\n */\\nfunction msCancelRequestAnimationFrame(handle) {};\\n\\n/**\\n * @param {number} handle\\n * @return {undefined}\\n */\\nfunction msCancelAnimationFrame(handle) {};\\n\\n/**\\n * @param {function(number)} callback\\n * @param {Element=} opt_element\\n * @return {number}\\n */\\nfunction oRequestAnimationFrame(callback, opt_element) {};\\n\\n/**\\n * @param {number} handle\\n * @return {undefined}\\n */\\nfunction oCancelRequestAnimationFrame(handle) {};\\n\\n/**\\n * @param {number} handle\\n * @return {undefined}\\n */\\nfunction oCancelAnimationFrame(handle) {};\\n","externs/w3c_audio.js":"/*\\n * Copyright 2012 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for the API related to audio.\\n * Definitions for the Web Audio API.\\n * This file is based on the W3C Working Draft 08 December 2015.\\n * @see http://www.w3.org/TR/webaudio/\\n *\\n * @externs\\n */\\n\\n/**\\n * @constructor\\n */\\nfunction BaseAudioContext() {}\\n\\n/** @type {!AudioDestinationNode} */\\nBaseAudioContext.prototype.destination;\\n\\n/** @type {number} */\\nBaseAudioContext.prototype.sampleRate;\\n\\n/** @type {number} */\\nBaseAudioContext.prototype.currentTime;\\n\\n/** @type {!AudioListener} */\\nBaseAudioContext.prototype.listener;\\n\\n/**\\n * @type {string}\\n * See https://www.w3.org/TR/webaudio/#BaseAudioContext for valid values\\n */\\nBaseAudioContext.prototype.state;\\n\\n/**\\n * @param {number} numberOfChannels\\n * @param {number} length\\n * @param {number} sampleRate\\n * @return {!AudioBuffer}\\n */\\nBaseAudioContext.prototype.createBuffer =\\n    function(numberOfChannels, length, sampleRate) {};\\n\\n/**\\n * @param {!ArrayBuffer} audioData\\n * @param {function(!AudioBuffer)=} successCallback\\n * @param {function(?)=} errorCallback\\n * @return {!Promise<!AudioBuffer>}\\n */\\nBaseAudioContext.prototype.decodeAudioData =\\n    function(audioData, successCallback, errorCallback) {};\\n\\n/**\\n * @return {!AudioBufferSourceNode}\\n */\\nBaseAudioContext.prototype.createBufferSource = function() {};\\n\\n/**\\n * @deprecated Use createAudioWorker instead\\n * @param {number=} bufferSize\\n * @param {number=} numberOfInputChannels_opt\\n * @param {number=} numberOfOutputChannels_opt\\n * @return {!ScriptProcessorNode}\\n */\\nBaseAudioContext.prototype.createScriptProcessor = function(bufferSize,\\n    numberOfInputChannels_opt, numberOfOutputChannels_opt) {};\\n\\n/**\\n * @return {!AnalyserNode}\\n */\\nBaseAudioContext.prototype.createAnalyser = function() {};\\n\\n/**\\n * @return {!GainNode}\\n */\\nBaseAudioContext.prototype.createGain = function() {};\\n\\n/**\\n * @param {number=} maxDelayTime\\n * @return {!DelayNode}\\n */\\nBaseAudioContext.prototype.createDelay = function(maxDelayTime) {};\\n\\n/**\\n * @return {!BiquadFilterNode}\\n */\\nBaseAudioContext.prototype.createBiquadFilter = function() {};\\n\\n/**\\n * @return {!WaveShaperNode}\\n */\\nBaseAudioContext.prototype.createWaveShaper = function() {};\\n\\n/**\\n * @deprecated Use BaseAudioContext#createSpatialPanner or BaseAudioContext#createStereoPanner\\n * @return {!PannerNode}\\n */\\nBaseAudioContext.prototype.createPanner = function() {};\\n\\n/**\\n * @return {!StereoPannerNode}\\n */\\nBaseAudioContext.prototype.createStereoPanner = function() {};\\n\\n/**\\n * @return {!ConvolverNode}\\n */\\nBaseAudioContext.prototype.createConvolver = function() {};\\n\\n/**\\n * @param {number=} numberOfOutputs\\n * @return {!ChannelSplitterNode}\\n */\\nBaseAudioContext.prototype.createChannelSplitter = function(numberOfOutputs) {};\\n\\n/**\\n * @param {number=} numberOfInputs\\n * @return {!ChannelMergerNode}\\n */\\nBaseAudioContext.prototype.createChannelMerger = function(numberOfInputs) {};\\n\\n/**\\n * @return {!DynamicsCompressorNode}\\n */\\nBaseAudioContext.prototype.createDynamicsCompressor = function() {};\\n\\n/**\\n * @return {!OscillatorNode}\\n */\\nBaseAudioContext.prototype.createOscillator = function() {};\\n\\n/**\\n * @param {!Float32Array} real\\n * @param {!Float32Array} imag\\n * @return {!PeriodicWave}\\n */\\nBaseAudioContext.prototype.createPeriodicWave = function(real, imag) {};\\n\\n/**\\n * @return {!Promise<void>}\\n */\\nBaseAudioContext.prototype.resume = function() {};\\n\\n/**\\n * @return {!Promise<void>}\\n */\\nBaseAudioContext.prototype.suspend = function() {};\\n\\n/**\\n * @return {!Promise<void>}\\n */\\nBaseAudioContext.prototype.close = function() {};\\n\\n/** @type {?function(!Event)} */\\nBaseAudioContext.prototype.onstatechange;\\n\\n/**\\n * @param  {string} scriptURL\\n * @return {!Promise<!AudioWorker>}\\n */\\nBaseAudioContext.prototype.createAudioWorker = function(scriptURL) {};\\n\\n/**\\n * @param  {!IArrayLike<number>} feedforward\\n * @param  {!IArrayLike<number>} feedback\\n * @return {!IIRFilterNode}\\n */\\nBaseAudioContext.prototype.createIIRFilter = function(feedforward, feedback) {};\\n\\n/**\\n * @return {!SpatialPannerNode}\\n */\\nBaseAudioContext.prototype.createSpatialPanner = function() {};\\n\\n/**\\n * @record\\n * @see https://webaudio.github.io/web-audio-api/#idl-def-AudioContextOptions\\n */\\nfunction AudioContextOptions() {};\\n\\n/** @type {(undefined|string|number)} */\\nAudioContextOptions.prototype.latencyHint;\\n\\n/** @type {(undefined|number)} */\\nAudioContextOptions.prototype.sampleRate;\\n\\n/**\\n * Includes the non-standard contextOptions optional options parameter\\n * implemented by Chrome and Firefox.\\n * @param {!AudioContextOptions=} contextOptions\\n * @constructor\\n * @extends {BaseAudioContext}\\n */\\nfunction AudioContext(contextOptions) {}\\n\\n/**\\n * @param {!HTMLMediaElement} mediaElement\\n * @return {!MediaElementAudioSourceNode}\\n */\\nAudioContext.prototype.createMediaElementSource = function(mediaElement) {};\\n\\n/**\\n * @return {!MediaStreamAudioDestinationNode}\\n */\\nAudioContext.prototype.createMediaStreamDestination = function() {};\\n\\n/**\\n * @param {!MediaStream} mediaStream\\n * @return {!MediaStreamAudioSourceNode}\\n */\\nAudioContext.prototype.createMediaStreamSource = function(mediaStream) {};\\n\\n/**\\n * @deprecated Use createScriptProcessor instead.\\n * @param {number} bufferSize\\n * @param {number} numberOfInputs\\n * @param {number} numberOfOuputs\\n * @return {!ScriptProcessorNode}\\n */\\nAudioContext.prototype.createJavaScriptNode = function(bufferSize,\\n    numberOfInputs, numberOfOuputs) {};\\n\\n/**\\n * @deprecated Use createGain instead.\\n * @return {!GainNode}\\n */\\nAudioContext.prototype.createGainNode = function() {};\\n\\n/**\\n * @deprecated Use createDelay instead.\\n * @param {number=} maxDelayTime\\n * @return {!DelayNode}\\n */\\nAudioContext.prototype.createDelayNode = function(maxDelayTime) {};\\n\\n/**\\n * @param {number} numberOfChannels\\n * @param {number} length\\n * @param {number} sampleRate\\n * @constructor\\n * @extends {BaseAudioContext}\\n */\\nfunction OfflineAudioContext(numberOfChannels, length, sampleRate) {}\\n\\n/**\\n * @return {!Promise<!AudioBuffer>}\\n */\\nOfflineAudioContext.prototype.startRendering = function() {};\\n\\n/** @type {function(!OfflineAudioCompletionEvent)} */\\nOfflineAudioContext.prototype.oncomplete;\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n */\\nfunction OfflineAudioCompletionEvent() {}\\n\\n/** @type {AudioBuffer} */\\nOfflineAudioCompletionEvent.prototype.renderedBuffer;\\n\\n/**\\n * @constructor\\n * @implements {EventTarget}\\n * @see https://www.w3.org/TR/webaudio/#the-audionode-interface\\n */\\nfunction AudioNode() {}\\n\\n/**\\n * @override\\n */\\nAudioNode.prototype.addEventListener = function(type, listener,\\n    opt_useCapture) {};\\n\\n/**\\n * @override\\n */\\nAudioNode.prototype.removeEventListener = function(type, listener,\\n    opt_useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\nAudioNode.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * @param {!AudioNode|!AudioParam} destination\\n * @param {number=} output\\n * @param {number=} input\\n * @return {AudioNode|void}\\n */\\nAudioNode.prototype.connect = function(destination, output, input) {};\\n\\n/**\\n * @param {!AudioNode|!AudioParam|number=} destination\\n * @param {number=} output\\n * @param {number=} input\\n */\\nAudioNode.prototype.disconnect = function(destination, output, input) {};\\n\\n/** @type {!AudioContext} */\\nAudioNode.prototype.context;\\n\\n/** @type {number} */\\nAudioNode.prototype.numberOfInputs;\\n\\n/** @type {number} */\\nAudioNode.prototype.numberOfOutputs;\\n\\n/** @type {number} */\\nAudioNode.prototype.channelCount;\\n\\n/**\\n * @type {string}\\n * See https://www.w3.org/TR/webaudio/#the-audionode-interface for valid values\\n */\\nAudioNode.prototype.channelCountMode;\\n\\n/**\\n * @type {string}\\n * See https://www.w3.org/TR/webaudio/#the-audionode-interface for valid values\\n */\\nAudioNode.prototype.channelInterpretation;\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction AudioSourceNode() {}\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction AudioDestinationNode() {}\\n\\n/**\\n * @deprecated Use AudioDestinationNode#maxChannelCount\\n * @type {number}\\n */\\nAudioDestinationNode.prototype.numberOfChannels;\\n\\n/** @type {number} */\\nAudioDestinationNode.prototype.maxChannelCount;\\n\\n/**\\n * @constructor\\n */\\nfunction AudioParam() {}\\n\\n/** @type {number} */\\nAudioParam.prototype.value;\\n\\n/**\\n * @deprecated\\n * @type {number}\\n */\\nAudioParam.prototype.maxValue;\\n\\n/**\\n * @deprecated\\n * @type {number}\\n */\\nAudioParam.prototype.minValue;\\n\\n/** @type {number} */\\nAudioParam.prototype.defaultValue;\\n\\n/**\\n * @deprecated\\n * @type {number}\\n */\\nAudioParam.prototype.units;\\n\\n/**\\n * @param {number} value\\n * @param {number} startTime\\n * @return {!AudioParam}\\n * @throws {!TypeError} if startTime is negative or not a finite number\\n */\\nAudioParam.prototype.setValueAtTime = function(value, startTime) {};\\n\\n/**\\n * @param {number} value\\n * @param {number} endTime\\n * @return {!AudioParam}\\n * @throws {!TypeError} if endTime is negative or not a finite number\\n */\\nAudioParam.prototype.linearRampToValueAtTime = function(value, endTime) {};\\n\\n/**\\n * @param {number} value\\n * @param {number} endTime\\n * @return {!AudioParam}\\n * @throws {!TypeError} if endTime is negative or not a finite number\\n */\\nAudioParam.prototype.exponentialRampToValueAtTime = function(value, endTime) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} startTime\\n * @param {number} timeConstant\\n * @return {!AudioParam}\\n * @throws {!TypeError} if startTime is negative or not a finite number, or\\n * timeConstant is not strictly positive\\n */\\nAudioParam.prototype.setTargetAtTime = function(target, startTime,\\n    timeConstant) {};\\n\\n/**\\n * @deprecated Use setTargetAtTime instead.\\n * @param {number} target\\n * @param {number} startTime\\n * @param {number} timeConstant\\n * @return {!AudioParam}\\n */\\nAudioParam.prototype.setTargetValueAtTime = function(target, startTime,\\n    timeConstant) {};\\n\\n/**\\n * @param {!Float32Array} values\\n * @param {number} startTime\\n * @param {number} duration\\n * @return {!AudioParam}\\n * @throws {!TypeError} if startTime is negative or not a finite number\\n */\\nAudioParam.prototype.setValueCurveAtTime = function(values, startTime,\\n    duration) {};\\n\\n/**\\n * @param {number} startTime\\n * @return {!AudioParam}\\n * @throws {!TypeError} if startTime is negative or not a finite number\\n */\\nAudioParam.prototype.cancelScheduledValues = function(startTime) {};\\n\\n/**\\n * @constructor\\n * @extends {AudioParam}\\n */\\nfu';
a.a+="nction AudioGain() {}\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction GainNode() {}\\n\\n/** @type {!AudioParam} */\\nGainNode.prototype.gain;\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction DelayNode() {}\\n\\n/** @type {!AudioParam} */\\nDelayNode.prototype.delayTime;\\n\\n/**\\n * @constructor\\n */\\nfunction AudioBuffer() {}\\n\\n/**\\n * @deprecated\\n * @type {!AudioGain}\\n */\\nAudioBuffer.prototype.gain;\\n\\n/** @type {number} */\\nAudioBuffer.prototype.sampleRate;\\n\\n/** @type {number} */\\nAudioBuffer.prototype.length;\\n\\n/** @type {number} */\\nAudioBuffer.prototype.duration;\\n\\n/** @type {number} */\\nAudioBuffer.prototype.numberOfChannels;\\n\\n/**\\n * @param {number} channel\\n * @return {!Float32Array}\\n */\\nAudioBuffer.prototype.getChannelData = function(channel) {};\\n\\n/**\\n * @param  {!Float32Array} destination\\n * @param  {number} channelNumber\\n * @param  {number=} startInChannel\\n */\\nAudioBuffer.prototype.copyFromChannel = function(destination,\\n    channelNumber, startInChannel) {};\\n\\n/**\\n * @param  {!Float32Array} source\\n * @param  {number} channelNumber\\n * @param  {number=} startInChannel\\n */\\nAudioBuffer.prototype.copyToChannel = function(source, channelNumber,\\n    startInChannel) {};\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction AudioBufferSourceNode() {}\\n\\n/**\\n * @deprecated\\n * @const {number}\\n */\\nAudioBufferSourceNode.prototype.UNSCHEDULED_STATE;\\n\\n/**\\n * @deprecated\\n * @const {number}\\n */\\nAudioBufferSourceNode.prototype.SCHEDULED_STATE;\\n\\n/**\\n * @deprecated\\n * @const {number}\\n */\\nAudioBufferSourceNode.prototype.PLAYING_STATE;\\n\\n/**\\n * @deprecated\\n * @const {number}\\n */\\nAudioBufferSourceNode.prototype.FINISHED_STATE;\\n\\n/**\\n * @deprecated\\n * @type {number}\\n */\\nAudioBufferSourceNode.prototype.playbackState;\\n\\n/** @type {AudioBuffer} */\\nAudioBufferSourceNode.prototype.buffer;\\n\\n/**\\n * @deprecated\\n * @type {number}\\n */\\nAudioBufferSourceNode.prototype.gain;\\n\\n/** @type {!AudioParam} */\\nAudioBufferSourceNode.prototype.playbackRate;\\n\\n/** @type {boolean} */\\nAudioBufferSourceNode.prototype.loop;\\n\\n/** @type {number} */\\nAudioBufferSourceNode.prototype.loopStart;\\n\\n/** @type {number} */\\nAudioBufferSourceNode.prototype.loopEnd;\\n\\n/** @type {?function(!Event)} */\\nAudioBufferSourceNode.prototype.onended;\\n\\n/** @type {!AudioParam} */\\nAudioBufferSourceNode.prototype.detune;\\n\\n/**\\n * @param {number=} when\\n * @param {number=} opt_offset\\n * @param {number=} opt_duration\\n * @throws {!TypeError} if any parameter is negative\\n */\\nAudioBufferSourceNode.prototype.start = function(when, opt_offset,\\n    opt_duration) {};\\n\\n/**\\n * @param {number=} when\\n * @throws {!TypeError} if when is negative\\n */\\nAudioBufferSourceNode.prototype.stop = function(when) {};\\n\\n/**\\n * @deprecated Use AudioBufferSourceNode#start\\n * @param {number} when\\n * @return {undefined}\\n */\\nAudioBufferSourceNode.prototype.noteOn = function(when) {};\\n\\n/**\\n * @param {number=} when\\n * @param {number=} opt_offset\\n * @param {number=} opt_duration\\n * @deprecated Use AudioBufferSourceNode#start\\n */\\nAudioBufferSourceNode.prototype.noteGrainOn = function(when, opt_offset,\\n    opt_duration) {};\\n\\n/**\\n * @param {number} when\\n * @deprecated Use AudioBufferSourceNode#stop\\n */\\nAudioBufferSourceNode.prototype.noteOff = function(when) {};\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction MediaElementAudioSourceNode() {}\\n\\n/**\\n * @constructor\\n */\\nfunction AudioWorker() {}\\n\\n/** @type {?function(!Event)} */\\nAudioWorker.prototype.onloaded;\\n\\n/** @type {?function(!Event)} */\\nAudioWorker.prototype.onmessage;\\n\\n/** @type {!Array<!AudioWorkerParamDescriptor>} */\\nAudioWorker.prototype.parameters;\\n\\n/**\\n * @param  {string} name\\n * @param  {number} defaultValue\\n * @return {!AudioParam}\\n */\\nAudioWorker.prototype.addParameter = function(name, defaultValue) {};\\n\\n/**\\n * @param  {number} numberOfInputs\\n * @param  {number} numberOfOutputs\\n * @return {!AudioWorkerNode}\\n */\\nAudioWorker.prototype.createNode = function(numberOfInputs, numberOfOutputs) {};\\n\\n/**\\n * @param  {*} message\\n * @param  {!Array<!Transferable>=} transfer\\n */\\nAudioWorker.prototype.postMessage = function(message, transfer) {};\\n\\n/**\\n * @param  {string} name\\n */\\nAudioWorker.prototype.removeParameter = function(name) {};\\n\\n/**\\n */\\nAudioWorker.prototype.terminate = function() {};\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction AudioWorkerNode() {}\\n\\n/** @type {?function(!Event)} */\\nAudioWorkerNode.prototype.onmessage;\\n\\n/**\\n * @param  {*} message\\n * @param  {!Array<!Transferable>=} transfer\\n */\\nAudioWorkerNode.prototype.postMessage = function(message, transfer) {};\\n\\n/**\\n * @constructor\\n */\\nfunction AudioWorkerParamDescriptor() {}\\n\\n/** @type {number} */\\nAudioWorkerParamDescriptor.prototype.defaultValue;\\n\\n/** @type {string} */\\nAudioWorkerParamDescriptor.prototype.name;\\n\\n/**\\n * @constructor\\n */\\nfunction AudioWorkerGlobalScope() {}\\n\\n/** @type {?function(!Event)} */\\nAudioWorkerGlobalScope.prototype.onaudioprocess;\\n\\n/** @type {?function(!Event)} */\\nAudioWorkerGlobalScope.prototype.onnodecreate;\\n\\n/** @type {!Array<!AudioWorkerParamDescriptor>} */\\nAudioWorkerGlobalScope.prototype.parameters;\\n\\n/** @type {number} */\\nAudioWorkerGlobalScope.prototype.sampleRate;\\n\\n/**\\n * @param  {string} name\\n * @param  {number} defaultValue\\n * @return {!AudioParam}\\n */\\nAudioWorkerGlobalScope.prototype.addParameter = function(name, defaultValue) {};\\n\\n/**\\n * @param  {string} name\\n */\\nAudioWorkerGlobalScope.prototype.removeParameter = function(name) {};\\n\\n/**\\n * @constructor\\n */\\nfunction AudioWorkerNodeProcessor() {}\\n\\n/** @type {?function(!Event)} */\\nAudioWorkerNodeProcessor.prototype.onmessage;\\n\\n/**\\n * @param  {*} message\\n * @param  {!Array<!Transferable>=} transfer\\n */\\nAudioWorkerNodeProcessor.prototype.postMessage = function(message, transfer) {};\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n * @deprecated Use AudioWorkerNode\\n */\\nfunction JavaScriptAudioNode() {}\\n\\n/**\\n * @type {EventListener|(function(!AudioProcessingEvent):(boolean|undefined))}\\n * @deprecated Use AudioWorkerNode\\n */\\nJavaScriptAudioNode.prototype.onaudioprocess;\\n\\n/**\\n * @type {number}\\n * @deprecated Use AudioWorkerNode\\n */\\nJavaScriptAudioNode.prototype.bufferSize;\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n * @deprecated Use AudioWorkerNode\\n */\\nfunction ScriptProcessorNode() {}\\n\\n/**\\n * @type {EventListener|(function(!AudioProcessingEvent):(boolean|undefined))}\\n * @deprecated Use AudioWorkerNode\\n */\\nScriptProcessorNode.prototype.onaudioprocess;\\n\\n/**\\n * @type {number}\\n * @deprecated Use AudioWorkerNode\\n */\\nScriptProcessorNode.prototype.bufferSize;\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n */\\nfunction AudioWorkerNodeCreationEvent() {}\\n\\n/** @type {!Array} */\\nAudioWorkerNodeCreationEvent.prototype.inputs;\\n\\n/** @type {!AudioWorkerNodeProcessor} */\\nAudioWorkerNodeCreationEvent.prototype.node;\\n\\n/** @type {!Array} */\\nAudioWorkerNodeCreationEvent.prototype.outputs;\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n */\\nfunction AudioProcessEvent() {}\\n\\n/** @type {!Float32Array} */\\nAudioProcessEvent.prototype.inputs;\\n\\n/** @type {!AudioWorkerNodeProcessor} */\\nAudioProcessEvent.prototype.node;\\n\\n/** @type {!Float32Array} */\\nAudioProcessEvent.prototype.outputs;\\n\\n/** @type {!Object} */\\nAudioProcessEvent.prototype.parameters;\\n\\n/** @type {number} */\\nAudioProcessEvent.prototype.playbackTime;\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n * @deprecated Use AudioProcessEvent\\n */\\nfunction AudioProcessingEvent() {}\\n\\n/**\\n * @type {!ScriptProcessorNode}\\n * @deprecated Use AudioProcessEvent\\n */\\nAudioProcessingEvent.prototype.node;\\n\\n/**\\n * @type {number}\\n * @deprecated Use AudioProcessEvent\\n */\\nAudioProcessingEvent.prototype.playbackTime;\\n\\n/**\\n * @type {!AudioBuffer}\\n * @deprecated Use AudioProcessEvent\\n */\\nAudioProcessingEvent.prototype.inputBuffer;\\n\\n/**\\n * @type {!AudioBuffer}\\n * @deprecated Use AudioProcessEvent\\n */\\nAudioProcessingEvent.prototype.outputBuffer;\\n\\n/**\\n * @deprecated\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction AudioPannerNode() {}\\n\\n/**\\n * @deprecated\\n * @const {number}\\n */\\nAudioPannerNode.prototype.EQUALPOWER;\\n\\n/**\\n * @deprecated\\n * @const {number}\\n */\\nAudioPannerNode.prototype.HRTF;\\n\\n/**\\n * @deprecated\\n * @const {number}\\n */\\nAudioPannerNode.prototype.SOUNDFIELD;\\n\\n/**\\n * @deprecated\\n * @const {number}\\n */\\nAudioPannerNode.prototype.LINEAR_DISTANCE;\\n\\n/**\\n * @deprecated\\n * @const {number}\\n */\\nAudioPannerNode.prototype.INVERSE_DISTANCE;\\n\\n/**\\n * @deprecated\\n * @const {number}\\n */\\nAudioPannerNode.prototype.EXPONENTIAL_DISTANCE;\\n\\n/**\\n * @deprecated\\n * @type {number|string}\\n */\\nAudioPannerNode.prototype.panningModel;\\n\\n/**\\n * @deprecated\\n * @param {number} x\\n * @param {number} y\\n * @param {number} z\\n * @return {undefined}\\n */\\nAudioPannerNode.prototype.setPosition = function(x, y, z) {};\\n\\n/**\\n * @deprecated\\n * @param {number} x\\n * @param {number} y\\n * @param {number} z\\n * @return {undefined}\\n */\\nAudioPannerNode.prototype.setOrientation = function(x, y, z) {};\\n\\n/**\\n * @deprecated\\n * @param {number} x\\n * @param {number} y\\n * @param {number} z\\n * @return {undefined}\\n */\\nAudioPannerNode.prototype.setVelocity = function(x, y, z) {};\\n\\n/**\\n * @deprecated\\n * @type {number|string}\\n */\\nAudioPannerNode.prototype.distanceModel;\\n\\n/**\\n * @deprecated\\n * @type {number}\\n */\\nAudioPannerNode.prototype.refDistance;\\n\\n/**\\n * @deprecated\\n * @type {number}\\n */\\nAudioPannerNode.prototype.maxDistance;\\n\\n/**\\n * @deprecated\\n * @type {number}\\n */\\nAudioPannerNode.prototype.rolloffFactor;\\n\\n/**\\n * @deprecated\\n * @type {number}\\n */\\nAudioPannerNode.prototype.coneInnerAngle;\\n\\n/**\\n * @deprecated\\n * @type {number}\\n */\\nAudioPannerNode.prototype.coneOuterAngle;\\n\\n/**\\n * @deprecated\\n * @type {number}\\n */\\nAudioPannerNode.prototype.coneOuterGain;\\n\\n/**\\n * @deprecated\\n * @type {!AudioGain}\\n */\\nAudioPannerNode.prototype.coneGain;\\n\\n/**\\n * @deprecated\\n * @type {!AudioGain}\\n */\\nAudioPannerNode.prototype.distanceGain;\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction PannerNode() {}\\n\\n/** @type {number} */\\nPannerNode.prototype.coneInnerAngle;\\n\\n/** @type {number} */\\nPannerNode.prototype.coneOuterAngle;\\n\\n/** @type {number} */\\nPannerNode.prototype.coneOuterGain;\\n\\n/**\\n * @type {string}\\n * See https://www.w3.org/TR/webaudio/#the-pannernode-interface for valid values\\n */\\nPannerNode.prototype.distanceModel;\\n\\n/** @type {number} */\\nPannerNode.prototype.maxDistance;\\n\\n/**\\n * @type {string}\\n * See https://www.w3.org/TR/webaudio/#the-pannernode-interface for valid values\\n */\\nPannerNode.prototype.panningModel;\\n\\n/** @type {number} */\\nPannerNode.prototype.refDistance;\\n\\n/** @type {number} */\\nPannerNode.prototype.rolloffFactor;\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} z\\n */\\nPannerNode.prototype.setOrientation = function(x, y, z) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} z\\n */\\nPannerNode.prototype.setPosition = function(x, y, z) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} z\\n */\\nPannerNode.prototype.setVelocity = function(x, y, z) {};\\n\\n/**\\n * @constructor\\n * @deprecated Use SpatialListener\\n */\\nfunction AudioListener() {}\\n\\n/**\\n * @type {number}\\n * @deprecated Use SpatialListener\\n */\\nAudioListener.prototype.gain;\\n\\n/**\\n * @type {number}\\n * @deprecated Use SpatialListener\\n */\\nAudioListener.prototype.dopplerFactor;\\n\\n/**\\n * @type {number}\\n * @deprecated Use SpatialListener\\n */\\nAudioListener.prototype.speedOfSound;\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} z\\n * @deprecated Use SpatialListener\\n */\\nAudioListener.prototype.setPosition = function(x, y, z) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} z\\n * @param {number} xUp\\n * @param {number} yUp\\n * @param {number} zUp\\n * @deprecated Use SpatialListener\\n */\\nAudioListener.prototype.setOrientation = function(x, y, z, xUp, yUp, zUp) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} z\\n * @deprecated Use SpatialListener\\n */\\nAudioListener.prototype.setVelocity = function(x, y, z) {};\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction SpatialPannerNode() {}\\n\\n/** @type {number} */\\nSpatialPannerNode.prototype.coneInnerAngle;\\n\\n/** @type {number} */\\nSpatialPannerNode.prototype.coneOuterAngle;\\n\\n/** @type {number} */\\nSpatialPannerNode.prototype.coneOuterGain;\\n\\n/**\\n * @type {string}\\n * See https://www.w3.org/TR/webaudio/#the-pannernode-interface for valid values\\n */\\nSpatialPannerNode.prototype.distanceModel;\\n\\n/** @type {number} */\\nSpatialPannerNode.prototype.maxDistance;\\n\\n/** @type {!AudioParam} */\\nSpatialPannerNode.prototype.orientationX;\\n\\n/** @type {!AudioParam} */\\nSpatialPannerNode.prototype.orientationY;\\n\\n/** @type {!AudioParam} */\\nSpatialPannerNode.prototype.orientationZ;\\n\\n/**\\n * @type {string}\\n * See https://www.w3.org/TR/webaudio/#the-pannernode-interface for valid values\\n */\\nSpatialPannerNode.prototype.panningModel;\\n\\n/** @type {!AudioParam} */\\nSpatialPannerNode.prototype.positionX;\\n\\n/** @type {!AudioParam} */\\nSpatialPannerNode.prototype.positionY;\\n\\n/** @type {!AudioParam} */\\nSpatialPannerNode.prototype.positionZ;\\n\\n/** @type {number} */\\nSpatialPannerNode.prototype.refDistance;\\n\\n/** @type {number} */\\nSpatialPannerNode.prototype.rolloffFactor;\\n\\n/**\\n * @constructor\\n */\\nfunction SpatialListener() {}\\n\\n/** @type {!AudioParam} */\\nSpatialListener.prototype.forwardX;\\n\\n/** @type {!AudioParam} */\\nSpatialListener.prototype.forwardY;\\n\\n/** @type {!AudioParam} */\\nSpatialListener.prototype.forwardZ;\\n\\n/** @type {!AudioParam} */\\nSpatialListener.prototype.positionX;\\n\\n/** @type {!AudioParam} */\\nSpatialListener.prototype.positionY;\\n\\n/** @type {!AudioParam} */\\nSpatialListener.prototype.positionZ;\\n\\n/** @type {!AudioParam} */\\nSpatialListener.prototype.upX;\\n\\n/** @type {!AudioParam} */\\nSpatialListener.prototype.upY;\\n\\n/** @type {!AudioParam} */\\nSpatialListener.prototype.upZ;\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n * @see http://webaudio.github.io/web-audio-api/#the-stereopannernode-interface\\n */\\nfunction StereoPannerNode() {}\\n\\n/** @type {!AudioParam} */\\nStereoPannerNode.prototype.pan;\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction ConvolverNode() {}\\n\\n/** @type {?AudioBuffer} */\\nConvolverNode.prototype.buffer;\\n\\n/** @type {boolean} */\\nConvolverNode.prototype.normalize;\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nvar AnalyserNode = function() {};\\n\\n/**\\n * @param {!Float32Array} array\\n */\\nAnalyserNode.prototype.getFloatFrequencyData = function(array) {};\\n\\n/**\\n * @param {!Uint8Array} array\\n */\\nAnalyserNode.prototype.getByteFrequencyData = function(array) {};\\n\\n/**\\n * @param {!Uint8Array} array\\n */\\nAnalyserNode.prototype.getByteTimeDomainData = function(array) {};\\n\\n/**\\n * @param {!Float32Array} array\\n */\\nAnalyserNode.prototype.getFloatTimeDomainData = function(array) {};\\n\\n/** @type {number} */\\nAnalyserNode.prototype.fftSize;\\n\\n/** @type {number} */\\nAnalyserNode.prototype.frequencyBinCount;\\n\\n/** @type {number} */\\nAnalyserNode.prototype.minDecibels;\\n\\n/** @type {number} */\\nAnalyserNode.prototype.maxDecibels;\\n\\n/** @type {number} */\\nAnalyserNode.prototype.smoothingTimeConstant;\\n\\n/**\\n * @constructor\\n * @extends {AnalyserNode}\\n * @deprecated Use AnalyserNode\\n *\\n * This constructor has been added for backwards compatibility.\\n */\\nvar RealtimeAnalyserNode = function() {};\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction ChannelSplitterNode() {}\\n\\n/**\\n * @constructor\\n * @extends {ChannelSplitterNode}\\n * @deprecated Use ChannelSplitterNode\\n *\\n * This constructor has been added for backwards compatibility.\\n */\\nfunction AudioChannelSplitter() {}\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction ChannelMergerNode() {}\\n\\n/**\\n * @constructor\\n * @extends {ChannelMergerNode}\\n * @deprecated Use ChannelMergerNode\\n *\\n * This constructor has been added for backwards compatibility.\\n */\\nfunction AudioCh";
a.a+='annelMerger() {}\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction DynamicsCompressorNode() {}\\n\\n/** @type {!AudioParam} */\\nDynamicsCompressorNode.prototype.threshold;\\n\\n/** @type {!AudioParam} */\\nDynamicsCompressorNode.prototype.knee;\\n\\n/** @type {!AudioParam} */\\nDynamicsCompressorNode.prototype.ratio;\\n\\n/** @type {number} */\\nDynamicsCompressorNode.prototype.reduction;\\n\\n/** @type {!AudioParam} */\\nDynamicsCompressorNode.prototype.attack;\\n\\n/** @type {!AudioParam} */\\nDynamicsCompressorNode.prototype.release;\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction BiquadFilterNode() {}\\n\\n/**\\n * A read-able and write-able string that specifies the type of the filter.\\n * See http://webaudio.github.io/web-audio-api/#the-biquadfilternode-interface\\n * for valid values.\\n * @type {string}\\n */\\nBiquadFilterNode.prototype.type;\\n\\n/** @type {!AudioParam} */\\nBiquadFilterNode.prototype.frequency;\\n\\n/** @type {!AudioParam} */\\nBiquadFilterNode.prototype.detune;\\n\\n/** @type {!AudioParam} */\\nBiquadFilterNode.prototype.Q;\\n\\n/** @type {!AudioParam} */\\nBiquadFilterNode.prototype.gain;\\n/**\\n * @param {Float32Array} frequencyHz\\n * @param {Float32Array} magResponse\\n * @param {Float32Array} phaseResponse\\n * @return {undefined}\\n */\\nBiquadFilterNode.prototype.getFrequencyResponse = function(\\n    frequencyHz, magResponse, phaseResponse) {};\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction IIRFilterNode() {}\\n\\n/**\\n * @param {!Float32Array} frequencyHz\\n * @param {!Float32Array} magResponse\\n * @param {!Float32Array} phaseResponse\\n * @return {undefined}\\n */\\nIIRFilterNode.prototype.getFrequencyResponse = function(\\n    frequencyHz, magResponse, phaseResponse) {};\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction WaveShaperNode() {}\\n\\n/** @type {Float32Array} */\\nWaveShaperNode.prototype.curve;\\n\\n/** @type {string} */\\nWaveShaperNode.prototype.oversample;\\n\\n/**\\n * @deprecated\\n * @constructor\\n */\\nfunction WaveTable() {}\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction OscillatorNode() {}\\n\\n/**\\n * @type {string}\\n * See https://www.w3.org/TR/webaudio/#the-oscillatornode-interface for valid values\\n */\\nOscillatorNode.prototype.type;\\n\\n/**\\n * @deprecated\\n * @type {number}\\n */\\nOscillatorNode.prototype.playbackState;\\n\\n/** @type {!AudioParam} */\\nOscillatorNode.prototype.frequency;\\n\\n/** @type {!AudioParam} */\\nOscillatorNode.prototype.detune;\\n\\n/**\\n * @param {number=} when\\n */\\nOscillatorNode.prototype.start = function(when) {};\\n\\n/**\\n * @param {number=} when\\n */\\nOscillatorNode.prototype.stop = function(when) {};\\n\\n/**\\n * @deprecated\\n * @param {!WaveTable} waveTable\\n */\\nOscillatorNode.prototype.setWaveTable = function(waveTable) {};\\n\\n/**\\n * @param {!PeriodicWave} periodicWave\\n */\\nOscillatorNode.prototype.setPeriodicWave = function(periodicWave) {};\\n\\n/** @type {?function(!Event)} */\\nOscillatorNode.prototype.onended;\\n\\n/**\\n * @constructor\\n */\\nfunction PeriodicWave() {}\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction MediaStreamAudioSourceNode() {}\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction MediaStreamAudioDestinationNode() {}\\n\\n/** @type {!MediaStream} */\\nMediaStreamAudioDestinationNode.prototype.stream;\\n\\n/**\\n * Definitions for the Web Audio API with webkit prefix.\\n */\\n\\n/**\\n * @constructor\\n * @extends {AudioContext}\\n */\\nfunction webkitAudioContext() {}\\n\\n/**\\n * @param {number} numberOfChannels\\n * @param {number} length\\n * @param {number} sampleRate\\n * @constructor\\n * @extends {OfflineAudioContext}\\n */\\nfunction webkitOfflineAudioContext(numberOfChannels, length, sampleRate) {}\\n\\n/**\\n * @constructor\\n * @extends {AudioPannerNode}\\n */\\nfunction webkitAudioPannerNode() {}\\n\\n/**\\n * @constructor\\n * @extends {PannerNode}\\n */\\nfunction webkitPannerNode() {}\\n\\n/**\\n * Definitions for the Audio API as implemented in Firefox.\\n *   Please note that this document describes a non-standard experimental API.\\n *   This API is considered deprecated.\\n * @see https://developer.mozilla.org/en/DOM/HTMLAudioElement\\n */\\n\\n/**\\n * @param {string=} src\\n * @constructor\\n * @extends {HTMLAudioElement}\\n */\\nfunction Audio(src) {}\\n\\n/**\\n * @param {number} channels\\n * @param {number} rate\\n */\\nAudio.prototype.mozSetup = function(channels, rate) {};\\n\\n/**\\n * @param {Array|Float32Array} buffer\\n */\\nAudio.prototype.mozWriteAudio = function(buffer) {};\\n\\n/**\\n * @return {number}\\n */\\nAudio.prototype.mozCurrentSampleOffset = function() {};\\n","externs/w3c_batterystatus.js":"/*\\n * Copyright 2015 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s Battery Status API.\\n *  The whole file has been fully type annotated. Created from\\n *  http://www.w3.org/TR/2014/CR-battery-status-20141209/\\n *\\n * @externs\\n */\\n\\n\\n\\n/**\\n * @interface\\n * @extends {EventTarget}\\n */\\nfunction BatteryManager() {}\\n\\n\\n/**\\n * @type {boolean}\\n */\\nBatteryManager.prototype.charging;\\n\\n\\n/**\\n * @type {number}\\n */\\nBatteryManager.prototype.chargingTime;\\n\\n\\n/**\\n * @type {number}\\n */\\nBatteryManager.prototype.dischargingTime;\\n\\n\\n/**\\n * @type {number}\\n */\\nBatteryManager.prototype.level;\\n\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nBatteryManager.prototype.onchargingchange;\\n\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nBatteryManager.prototype.onchargingtimechange;\\n\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nBatteryManager.prototype.ondischargingtimechange;\\n\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nBatteryManager.prototype.onlevelchange;\\n","externs/w3c_css3d.js":"/*\\n * Copyright 2010 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s CSS 3D Transforms specification.\\n *  The whole file has been fully type annotated. Created from\\n *  https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html\\n *\\n * @externs\\n * @author rjfioravanti@google.com (Ryan Fioravanti)\\n */\\n\\n/**\\n * @constructor\\n * @param {string=} opt_matrix\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#the-cssmatrix-interface\\n */\\nfunction CSSMatrix(opt_matrix) {}\\n\\n/**\\n * @type {number}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\\n */\\nCSSMatrix.prototype.m11;\\n\\n/**\\n * @type {number}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\\n */\\nCSSMatrix.prototype.m12;\\n\\n/**\\n * @type {number}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\\n */\\nCSSMatrix.prototype.m13;\\n\\n/**\\n * @type {number}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\\n */\\nCSSMatrix.prototype.m14;\\n\\n/**\\n * @type {number}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\\n */\\nCSSMatrix.prototype.m21;\\n\\n/**\\n * @type {number}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\\n */\\nCSSMatrix.prototype.m22;\\n\\n/**\\n * @type {number}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\\n */\\nCSSMatrix.prototype.m23;\\n\\n/**\\n * @type {number}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\\n */\\nCSSMatrix.prototype.m24;\\n\\n/**\\n * @type {number}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\\n */\\nCSSMatrix.prototype.m31;\\n\\n/**\\n * @type {number}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\\n */\\nCSSMatrix.prototype.m32;\\n\\n/**\\n * @type {number}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\\n */\\nCSSMatrix.prototype.m33;\\n\\n/**\\n * @type {number}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\\n */\\nCSSMatrix.prototype.m34;\\n\\n/**\\n * @type {number}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\\n */\\nCSSMatrix.prototype.m41;\\n\\n/**\\n * @type {number}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\\n */\\nCSSMatrix.prototype.m42;\\n\\n/**\\n * @type {number}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\\n */\\nCSSMatrix.prototype.m43;\\n\\n/**\\n * @type {number}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\\n */\\nCSSMatrix.prototype.m44;\\n\\n/**\\n * @param {string} string\\n * @return {void}\\n */\\nCSSMatrix.prototype.setMatrixValue = function(string) {};\\n\\n/**\\n * @param {!CSSMatrix} secondMatrix\\n * @return {!CSSMatrix}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#widl-CSSMatrix-multiply-CSSMatrix-CSSMatrix-other\\n */\\nCSSMatrix.prototype.multiply = function(secondMatrix) {};\\n\\n/**\\n * @return {CSSMatrix} Returns void if the matrix is non-invertable.\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#widl-CSSMatrix-inverse-CSSMatrix\\n */\\nCSSMatrix.prototype.inverse = function() {};\\n\\n/**\\n * @param {number=} opt_x Defaults to 0.\\n * @param {number=} opt_y Defaults to 0.\\n * @param {number=} opt_z Defaults to 0.\\n * @return {!CSSMatrix}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#widl-CSSMatrix-translate-CSSMatrix-unrestricted-double-tx-unrestricted-double-ty-unrestricted-double-tz\\n */\\nCSSMatrix.prototype.translate = function(opt_x, opt_y, opt_z) {};\\n\\n/**\\n * @param {number=} opt_scaleX Defaults to 1.\\n * @param {number=} opt_scaleY Defaults to scaleX.\\n * @param {number=} opt_scaleZ Defaults to 1.\\n * @return {!CSSMatrix}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#widl-CSSMatrix-scale-CSSMatrix-unrestricted-double-scale-unrestricted-double-originX-unrestricted-double-originY\\n */\\nCSSMatrix.prototype.scale = function(opt_scaleX, opt_scaleY, opt_scaleZ) {};\\n\\n/**\\n * @param {number=} opt_rotX Defaults to 0.\\n * @param {number=} opt_rotY Defaults to 0.\\n * @param {number=} opt_rotZ Defaults to rotX if rotY is not defined, else 0.\\n * @return {!CSSMatrix}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#widl-CSSMatrix-rotate-CSSMatrix-unrestricted-double-angle-unrestricted-double-originX-unrestricted-double-originY\\n */\\nCSSMatrix.prototype.rotate = function(opt_rotX, opt_rotY, opt_rotZ) {};\\n\\n/**\\n * @param {number=} opt_x Defaults to 0.\\n * @param {number=} opt_y Defaults to 0.\\n * @param {number=} opt_z Defaults to 0.\\n * @param {number=} opt_angle Defaults to 0.\\n * @return {!CSSMatrix}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#widl-CSSMatrix-rotateAxisAngle-CSSMatrix-unrestricted-double-x-unrestricted-double-y-unrestricted-double-z-unrestricted-double-angle\\n */\\nCSSMatrix.prototype.rotateAxisAngle =\\n    function(opt_x, opt_y, opt_z, opt_angle) {};\\n\\n/**\\n * @constructor\\n * @param {string=} opt_matrix\\n * @extends {CSSMatrix}\\n * @see http://developer.apple.com/safari/library/documentation/AudioVideo/Reference/WebKitCSSMatrixClassReference/WebKitCSSMatrix/WebKitCSSMatrix.html#//apple_ref/javascript/instm/WebKitCSSMatrix/setMatrixValue\\n */\\nfunction WebKitCSSMatrix(opt_matrix) {}\\n\\n/**\\n * @constructor\\n * @param {string=} opt_matrix\\n * @extends {CSSMatrix}\\n * @see http://msdn.microsoft.com/en-us/library/windows/apps/hh453593.aspx\\n */\\nfunction MSCSSMatrix(opt_matrix) {}\\n","externs/w3c_elementtraversal.js":"/*\\n * Copyright 2009 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for DOM Element Traversal interface.\\n *  This file depends on w3c_dom1.js.\\n *  The whole file has been fully type annotated.\\n *  Created from:\\n *    http://www.w3.org/TR/ElementTraversal/#ecmascript-bindings\\n *\\n * @externs\\n * @author arv@google.com (Erik Arvidsson)\\n */\\n\\n/**\\n * @typedef {?(Document|DocumentFragment|Element)}\\n * @see https://dom.spec.whatwg.org/#parentnode\\n */\\nvar ParentNode;\\n\\n/**\\n * @typedef {?(Element|CharacterData)}\\n * @see https://dom.spec.whatwg.org/#nondocumenttypechildnode\\n */\\nvar NonDocumentTypeChildNode;\\n\\n/**\\n * @type {Element}\\n * @see https://developer.mozilla.org/En/DOM/Element.firstElementChild\\n */\\nElement.prototype.firstElementChild;\\n\\n/**\\n * @type {Element}\\n * @see https://developer.mozilla.org/En/DOM/Element.lastElementChild\\n */\\nElement.prototype.lastElementChild;\\n\\n/**\\n * @type {Element}\\n * @see https://developer.mozilla.org/En/DOM/Element.previousElementSibling\\n */\\nElement.prototype.previousElementSibling;\\n\\n/**\\n * @type {Element}\\n * @see https://developer.mozilla.org/En/DOM/Element.nextElementSibling\\n */\\nElement.prototype.nextElementSibling;\\n\\n/**\\n * @type {number}\\n * @see https://developer.mozilla.org/En/DOM/Element.childElementCount\\n */\\nElement.prototype.childElementCount;\\n\\n/**\\n * @type {?Element}\\n * @see https://dom.spec.whatwg.org/#dom-parentnode-firstelementchild\\n */\\nDocument.prototype.firstElementChild;\\n\\n/**\\n * @type {?Element}\\n * @see https://dom.spec.whatwg.org/#dom-parentnode-lastelementchild\\n */\\nDocument.prototype.lastElementChild;\\n\\n/**\\n * @type {number}\\n * @see https://dom.spec.whatwg.org/#dom-parentnode-childelementcount\\n */\\nDocument.prototype.childElementCount;\\n\\n/**\\n * @type {?Element}\\n * @see https://dom.spec.whatwg.org/#dom-parentnode-firstelementchild\\n */\\nDocumentFragment.prototype.firstElementChild;\\n\\n/**\\n * @type {?Element}\\n * @see https://dom.spec.whatwg.org/#dom-parentnode-lastelementchild\\n */\\nDocumentFragment.prototype.lastElementChild;\\n\\n/**\\n * @type {number}\\n * @see https://dom.spec.whatwg.org/#dom-parentnode-childelementcount\\n */\\nDocumentFragment.prototype.childElementCount;\\n\\n/**\\n * @type {?Element}\\n * @see https://dom.spec.whatwg.org/#dom-nondocumenttypechildnode-previouselementsibling\\n */\\nCharacterData.prototype.previousElementSibling;\\n\\n/**\\n * @type {?Element}\\n * @see https://dom.spec.whatwg.org/#dom-nondocumenttypechildnode-nextelementsibling\\n */\\nCharacterData.prototype.nextElementSibling;\\n","externs/w3c_gamepad.js":"/*\\n * Copyright 2013 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WIT';
a.a+="HOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C's Gamepad specification.\\n * @see http://www.w3.org/TR/gamepad/\\n * @externs\\n */\\n\\n/**\\n * @return {!Array.<!Gamepad>}\\n */\\nnavigator.getGamepads = function() {};\\n\\n/**\\n * @return {!Array.<!Gamepad>}\\n */\\nnavigator.webkitGetGamepads = function() {};\\n\\n\\n/**\\n * @interface\\n */\\nvar Gamepad = function() {};\\n\\n/**\\n * @type {string}\\n */\\nGamepad.prototype.id;  // read-only\\n\\n/**\\n * @type {number}\\n */\\nGamepad.prototype.index;  // read-only\\n\\n/**\\n * @type {boolean}\\n */\\nGamepad.prototype.connected;  // read-only\\n\\n/**\\n * @type {number}\\n */\\nGamepad.prototype.timestamp;  // read-only\\n\\n/**\\n * @type {string}\\n */\\nGamepad.prototype.mapping;  // read-only\\n\\n/**\\n * @type {!Array.<number>}\\n */\\nGamepad.prototype.axes;  // read-only\\n\\n/**\\n * Note: The W3C spec changed, this property now returns an array of\\n * GamepadButton objects.\\n *\\n * @type {(!Array.<!GamepadButton>|!Array.<number>)}\\n */\\nGamepad.prototype.buttons;\\n\\n\\n/**\\n * @interface\\n */\\nvar GamepadButton = function() {};\\n\\n/**\\n * @type {boolean}\\n */\\nGamepadButton.prototype.pressed;  // read-only\\n\\n/**\\n * @type {number}\\n */\\nGamepadButton.prototype.value;  // read-only\\n\",\"externs/w3c_geolocation.js\":\"/*\\n * Copyright 2009 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C's Geolocation specification\\n *     http://www.w3.org/TR/geolocation-API/\\n * @externs\\n * @author ngd@google.com (Neil Dunn)\\n */\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/geolocation-API/#geolocation\\n */\\nfunction Geolocation() {}\\n\\n/**\\n * @param {function(!GeolocationPosition)} successCallback\\n * @param {(function(!GeolocationPositionError)|null)=} opt_errorCallback\\n * @param {GeolocationPositionOptions=} opt_options\\n * @return {undefined}\\n */\\nGeolocation.prototype.getCurrentPosition = function(successCallback,\\n                                                       opt_errorCallback,\\n                                                       opt_options) {};\\n\\n/**\\n * @param {function(!GeolocationPosition)} successCallback\\n * @param {(function(!GeolocationPositionError)|null)=} opt_errorCallback\\n * @param {GeolocationPositionOptions=} opt_options\\n * @return {number}\\n */\\nGeolocation.prototype.watchPosition = function(successCallback,\\n                                                  opt_errorCallback,\\n                                                  opt_options) {};\\n\\n/**\\n * @param {number} watchId\\n * @return {undefined}\\n */\\nGeolocation.prototype.clearWatch = function(watchId) {};\\n\\n\\n/**\\n * @record\\n * @see http://www.w3.org/TR/geolocation-API/#coordinates\\n */\\nfunction GeolocationCoordinates() {}\\n/** @type {number} */\\nGeolocationCoordinates.prototype.latitude;\\n/** @type {number} */\\nGeolocationCoordinates.prototype.longitude;\\n/** @type {number} */\\nGeolocationCoordinates.prototype.accuracy;\\n/** @type {number} */\\nGeolocationCoordinates.prototype.altitude;\\n/** @type {number} */\\nGeolocationCoordinates.prototype.altitudeAccuracy;\\n/** @type {number} */\\nGeolocationCoordinates.prototype.heading;\\n/** @type {number} */\\nGeolocationCoordinates.prototype.speed;\\n\\n\\n/**\\n * @record\\n * @see http://www.w3.org/TR/geolocation-API/#position\\n */\\nfunction GeolocationPosition() {}\\n/** @type {GeolocationCoordinates} */\\nGeolocationPosition.prototype.coords;\\n/** @type {number} */\\nGeolocationPosition.prototype.timestamp;\\n\\n\\n/**\\n * @record\\n * @see http://www.w3.org/TR/geolocation-API/#position-options\\n */\\nfunction GeolocationPositionOptions() {}\\n/** @type {boolean|undefined} */\\nGeolocationPositionOptions.prototype.enableHighAccuracy;\\n/** @type {number|undefined} */\\nGeolocationPositionOptions.prototype.maximumAge;\\n/** @type {number|undefined} */\\nGeolocationPositionOptions.prototype.timeout;\\n\\n\\n/**\\n * @record\\n * @see http://www.w3.org/TR/geolocation-API/#position-error\\n */\\nfunction GeolocationPositionError() {}\\n/** @type {number} */\\nGeolocationPositionError.prototype.code;\\n/** @type {string} */\\nGeolocationPositionError.prototype.message;\\n/** @type {number} */\\nGeolocationPositionError.prototype.UNKNOWN_ERROR;\\n/** @type {number} */\\nGeolocationPositionError.prototype.PERMISSION_DENIED;\\n/** @type {number} */\\nGeolocationPositionError.prototype.POSITION_UNAVAILABLE;\\n/** @type {number} */\\nGeolocationPositionError.prototype.TIMEOUT;\\n\\n/** @type {Geolocation} */\\nNavigator.prototype.geolocation;\\n\",\"externs/w3c_indexeddb.js\":\"/*\\n * Copyright 2011 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C's IndexedDB API and IndexedDB API 2.0.\\n * In Chrome all the IndexedDB classes are prefixed with 'webkit'.\\n * In order to access constants and static methods of these classes they must\\n * be duplicated with the prefix here.\\n * @see http://www.w3.org/TR/2015/REC-IndexedDB-20150108/\\n * @see https://www.w3.org/TR/2017/WD-IndexedDB-2-20170313/\\n *\\n * @externs\\n * @author guido.tapia@picnet.com.au (Guido Tapia)\\n * @author vobruba.martin@gmail.com (Martin Vobruba)\\n */\\n\\n/** @type {!IDBFactory} */\\nvar indexedDB;\\n\\n/** @type {!IDBFactory|undefined} */\\nWindow.prototype.moz_indexedDB;\\n\\n/** @type {!IDBFactory|undefined} */\\nWindow.prototype.mozIndexedDB;\\n\\n/** @type {!IDBFactory|undefined} */\\nWindow.prototype.webkitIndexedDB;\\n\\n/** @type {!IDBFactory|undefined} */\\nWindow.prototype.msIndexedDB;\\n\\n\\n\\n/**\\n * Possible values: 'readonly', 'readwrite', 'versionchange'\\n *\\n * @typedef {string}\\n * @see https://www.w3.org/TR/IndexedDB/#idl-def-IDBTransactionMode\\n */\\nvar IDBTransactionMode;\\n\\n\\n/**\\n * Possible values: 'pending', 'done'\\n *\\n * @typedef {string}\\n * @see https://www.w3.org/TR/IndexedDB/#idl-def-IDBRequestReadyState\\n */\\nvar IDBRequestReadyState;\\n\\n\\n/**\\n * Possible values: 'next', 'nextunique', 'prev', 'prevunique'\\n *\\n * @typedef {string}\\n * @see https://www.w3.org/TR/IndexedDB/#idl-def-IDBCursorDirection\\n */\\nvar IDBCursorDirection;\\n\\n\\n/**\\n * @record\\n * @see https://www.w3.org/TR/IndexedDB/#idl-def-IDBIndexParameters\\n */\\nfunction IDBIndexParameters(){};\\n\\n/** @type {(undefined|boolean)} */\\nIDBIndexParameters.prototype.unique;\\n\\n/** @type {(undefined|boolean)} */\\nIDBIndexParameters.prototype.multiEntry;\\n\\n\\n/**\\n * @record\\n * @extends {EventInit}\\n * @see https://www.w3.org/TR/IndexedDB/#idl-def-IDBVersionChangeEventInit\\n */\\nfunction IDBVersionChangeEventInit(){};\\n\\n/** @type {(undefined|number)} */\\nIDBVersionChangeEventInit.prototype.oldVersion;\\n\\n/** @type {(undefined|number|null)} */\\nIDBVersionChangeEventInit.prototype.newVersion;\\n\\n\\n\\n/**\\n * @record\\n * @see https://www.w3.org/TR/IndexedDB/#idl-def-IDBObjectStoreParameters\\n */\\nfunction IDBObjectStoreParameters() {};\\n\\n/** @type {(undefined|string|!Array<string>|null)} */\\nIDBObjectStoreParameters.prototype.keyPath;\\n\\n/** @type {(undefined|boolean)} */\\nIDBObjectStoreParameters.prototype.autoIncrement;\\n\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBFactory\\n */\\nfunction IDBFactory() {}\\n\\n/**\\n * @param {string} name The name of the database to open.\\n * @param {number=} opt_version The version at which to open the database.\\n * @return {!IDBOpenDBRequest} The IDBRequest object.\\n */\\nIDBFactory.prototype.open = function(name, opt_version) {};\\n\\n/**\\n * @param {string} name The name of the database to delete.\\n * @return {!IDBOpenDBRequest} The IDBRequest object.\\n */\\nIDBFactory.prototype.deleteDatabase = function(name) {};\\n\\n/**\\n * @param {*} first\\n * @param {*} second\\n * @return {number}\\n */\\nIDBFactory.prototype.cmp = function(first, second) {};\\n\\n\\n/**\\n * @constructor\\n * @implements {EventTarget}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBRequest\\n * @see https://www.w3.org/TR/IndexedDB-2/#request-api\\n */\\nfunction IDBRequest() {}\\n\\n/** @override */\\nIDBRequest.prototype.addEventListener = function(type, listener, opt_options) {\\n};\\n\\n/** @override */\\nIDBRequest.prototype.removeEventListener = function(\\n    type, listener, opt_options) {};\\n\\n/** @override */\\nIDBRequest.prototype.dispatchEvent = function(evt) {};\\n\\n\\n/**\\n * @constructor\\n * @extends {IDBRequest}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBRequest\\n * @see https://www.w3.org/TR/IndexedDB-2/#request-api\\n */\\nfunction webkitIDBRequest() {}\\n\\n/**\\n * @type {!IDBRequestReadyState}\\n */\\nIDBRequest.prototype.readyState; // readonly\\n\\n/**\\n * @type {function(!Event)}\\n */\\nIDBRequest.prototype.onsuccess = function(e) {};\\n\\n/**\\n * @type {function(!Event)}\\n */\\nIDBRequest.prototype.onerror = function(e) {};\\n\\n/** @type {*} */\\nIDBRequest.prototype.result;  // readonly\\n\\n/**\\n * @type {number}\\n * @deprecated Use \\\"error\\\"\\n */\\nIDBRequest.prototype.errorCode;  // readonly\\n\\n\\n/** @type {?DOMError|?DOMException} */\\nIDBRequest.prototype.error; // readonly\\n\\n/** @type {?IDBObjectStore|?IDBIndex|?IDBCursor} */\\nIDBRequest.prototype.source; // readonly\\n\\n/** @type {?IDBTransaction} */\\nIDBRequest.prototype.transaction; // readonly\\n\\n\\n/**\\n * @constructor\\n * @extends {IDBRequest}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBOpenDBRequest\\n */\\nfunction IDBOpenDBRequest() {}\\n\\n/**\\n * @type {function(!IDBVersionChangeEvent)}\\n */\\nIDBOpenDBRequest.prototype.onblocked = function(e) {};\\n\\n/**\\n * @type {function(!IDBVersionChangeEvent)}\\n */\\nIDBOpenDBRequest.prototype.onupgradeneeded = function(e) {};\\n\\n\\n/**\\n * @constructor\\n * @implements {EventTarget}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBDatabase\\n * @see https://www.w3.org/TR/IndexedDB-2/#database-interface\\n */\\nfunction IDBDatabase() {}\\n\\n/**\\n * @type {string}\\n * @const\\n */\\nIDBDatabase.prototype.name;\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nIDBDatabase.prototype.version;\\n\\n/**\\n * @type {!DOMStringList}\\n * @const\\n */\\nIDBDatabase.prototype.objectStoreNames;\\n\\n/**\\n * @param {string} name The name of the object store.\\n * @param {!IDBObjectStoreParameters=} opt_parameters Parameters to be passed\\n *     creating the object store.\\n * @return {!IDBObjectStore} The created/open object store.\\n */\\nIDBDatabase.prototype.createObjectStore =\\n    function(name, opt_parameters)  {};\\n\\n/**\\n * @param {string} name The name of the object store to remove.\\n * @return {undefined}\\n */\\nIDBDatabase.prototype.deleteObjectStore = function(name) {};\\n\\n/**\\n * @param {(string|!Array<string>|!DOMStringList)} storeNames The stores to open\\n *     in this transaction.\\n * @param {!IDBTransactionMode=} mode The mode for opening the object stores.\\n * @return {!IDBTransaction} The IDBRequest object.\\n */\\nIDBDatabase.prototype.transaction = function(storeNames, mode) {};\\n\\n/**\\n * Closes the database connection.\\n * @return {undefined}\\n */\\nIDBDatabase.prototype.close = function() {};\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nIDBDatabase.prototype.onabort;\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nIDBDatabase.prototype.onclose;\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nIDBDatabase.prototype.onerror;\\n\\n/**\\n * @type {?function(!IDBVersionChangeEvent)}\\n */\\nIDBDatabase.prototype.onversionchange;\\n\\n/** @override */\\nIDBDatabase.prototype.addEventListener = function(type, listener, opt_options) {\\n};\\n\\n/** @override */\\nIDBDatabase.prototype.removeEventListener = function(\\n    type, listener, opt_options) {};\\n\\n/** @override */\\nIDBDatabase.prototype.dispatchEvent = function(evt) {};\\n\\n\\n/**\\n * Typedef for valid key types according to the w3 specification. Note that this\\n * is slightly wider than what is actually allowed, as all Array elements must\\n * have a valid key type.\\n * @see http://www.w3.org/TR/IndexedDB/#key-construct\\n * @see https://www.w3.org/TR/IndexedDB-2/#key-construct\\n * @typedef {number|string|!Date|!Array<?>|!BufferSource}\\n */\\nvar IDBKeyType;\\n\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBObjectStore\\n * @see https://www.w3.org/TR/IndexedDB-2/#object-store-interface\\n */\\nfunction IDBObjectStore() {}\\n\\n/**\\n * @type {string}\\n */\\nIDBObjectStore.prototype.name;\\n\\n/**\\n * @type {*}\\n */\\nIDBObjectStore.prototype.keyPath;\\n\\n/**\\n * @type {!DOMStringList}\\n */\\nIDBObjectStore.prototype.indexNames;\\n\\n/** @type {!IDBTransaction} */\\nIDBObjectStore.prototype.transaction;\\n\\n/** @type {boolean} */\\nIDBObjectStore.prototype.autoIncrement;\\n\\n/**\\n * @param {*} value The value to put into the object store.\\n * @param {!IDBKeyType=} key The key of this value.\\n * @return {!IDBRequest} The IDBRequest object.\\n */\\nIDBObjectStore.prototype.put = function(value, key) {};\\n\\n/**\\n * @param {*} value The value to add into the object store.\\n * @param {!IDBKeyType=} key The key of this value.\\n * @return {!IDBRequest} The IDBRequest object.\\n */\\nIDBObjectStore.prototype.add = function(value, key) {};\\n\\n/**\\n * @param {!IDBKeyType|!IDBKeyRange} key The key of this value.\\n * @return {!IDBRequest} The IDBRequest object.\\n */\\nIDBObjectStore.prototype.delete = function(key) {};\\n\\n/**\\n * @param {!IDBKeyType|!IDBKeyRange} key The key of the document to retrieve.\\n * @return {!IDBRequest} The IDBRequest object.\\n */\\nIDBObjectStore.prototype.get = function(key) {};\\n\\n/**\\n * @return {!IDBRequest} The IDBRequest object.\\n */\\nIDBObjectStore.prototype.clear = function() {};\\n\\n/**\\n * @param {?IDBKeyRange=} range The range of the cursor.\\n *     Nullable because IE <11 has problems with undefined.\\n * @param {!IDBCursorDirection=} direction The direction of cursor enumeration.\\n * @return {!IDBRequest} The IDBRequest object.\\n */\\nIDBObjectStore.prototype.openCursor = function(range, direction) {};\\n\\n/**\\n * @param {string} name The name of the index.\\n * @param {string|!Array<string>} keyPath The path to the index key.\\n * @param {!IDBIndexParameters=} opt_paramters Optional parameters\\n *     for the created index.\\n * @return {!IDBIndex} The IDBIndex object.\\n */\\nIDBObjectStore.prototype.createIndex = function(name, keyPath, opt_paramters) {};\\n\\n/**\\n * @param {string} name The name of the index to retrieve.\\n * @return {!IDBIndex} The IDBIndex object.\\n */\\nIDBObjectStore.prototype.index = function(name) {};\\n\\n/**\\n * @param {string} indexName The name of the index to remove.\\n * @return {undefined}\\n */\\nIDBObjectStore.prototype.deleteIndex = function(indexName) {};\\n\\n/**\\n * @param {(!IDBKeyType|IDBKeyRange)=} key The key of this value.\\n * @return {!IDBRequest} The IDBRequest object.\\n * @see http://www.w3.org/TR/IndexedDB/#widl-IDBObjectStore-count\\n */\\nIDBObjectStore.prototype.count = function(key) {};\\n\\n/**\\n * @param {(!IDBKeyType|IDBKeyRange)=} query\\n * @return {!IDBRequest} The IDBRequest object.\\n * @see https://www.w3.org/TR/IndexedDB-2/#dom-idbobjectstore-getkey\\n */\\nIDBObjectStore.prototype.getKey = function(query) {};\\n\\n/**\\n * @param {(!IDBKeyType|IDBKeyRange)=} query\\n * @param {number=} count\\n * @return {!IDBRequest} The IDBRequest object.\\n * @see https://www.w3.org/TR/IndexedDB-2/#dom-idbobjectstore-getall\\n */\\nIDBObjectStore.prototype.getAll = function(query, count)";
a.a+=' {};\\n\\n/**\\n * @param {(!IDBKeyType|IDBKeyRange)=} query\\n * @param {number=} count\\n * @return {!IDBRequest} The IDBRequest object.\\n * @see https://www.w3.org/TR/IndexedDB-2/#dom-idbobjectstore-getallkeys\\n */\\nIDBObjectStore.prototype.getAllKeys = function(query, count) {};\\n\\n/**\\n * @param {(!IDBKeyType|IDBKeyRange)=} query\\n * @param {!IDBCursorDirection=} direction\\n * @return {!IDBRequest} The IDBRequest object.\\n * @see https://www.w3.org/TR/IndexedDB-2/#dom-idbobjectstore-openkeycursor\\n */\\nIDBObjectStore.prototype.openKeyCursor = function(query, direction) {};\\n\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBIndex\\n * @see https://www.w3.org/TR/IndexedDB-2/#index-interface\\n */\\nfunction IDBIndex() {}\\n\\n/**\\n * @type {string}\\n */\\nIDBIndex.prototype.name;\\n\\n/**\\n * @type {!IDBObjectStore}\\n * @const\\n */\\nIDBIndex.prototype.objectStore;\\n\\n/**\\n * @type {*}\\n * @const\\n */\\nIDBIndex.prototype.keyPath;\\n\\n/**\\n * @type {boolean}\\n * @const\\n */\\nIDBIndex.prototype.multiEntry;\\n\\n/**\\n * @type {boolean}\\n * @const\\n */\\nIDBIndex.prototype.unique;\\n\\n/**\\n * @param {(!IDBKeyType|?IDBKeyRange)=} range The range of the cursor.\\n *     Nullable because IE <11 has problems with undefined.\\n * @param {!IDBCursorDirection=} direction The direction of cursor enumeration.\\n * @return {!IDBRequest} The IDBRequest object.\\n */\\nIDBIndex.prototype.openCursor = function(range, direction) {};\\n\\n/**\\n * @param {(!IDBKeyType|?IDBKeyRange)=} range The range of the cursor.\\n *     Nullable because IE <11 has problems with undefined.\\n * @param {!IDBCursorDirection=} direction The direction of cursor enumeration.\\n * @return {!IDBRequest} The IDBRequest object.\\n */\\nIDBIndex.prototype.openKeyCursor = function(range, direction) {};\\n\\n/**\\n * @param {!IDBKeyType|!IDBKeyRange} key The id of the object to retrieve.\\n * @return {!IDBRequest} The IDBRequest object.\\n */\\nIDBIndex.prototype.get = function(key) {};\\n\\n/**\\n * @param {!IDBKeyType|!IDBKeyRange} key The id of the object to retrieve.\\n * @return {!IDBRequest} The IDBRequest object.\\n */\\nIDBIndex.prototype.getKey = function(key) {};\\n\\n/**\\n * @param {(!IDBKeyType|!IDBKeyRange)=} query\\n * @param {number=} count\\n * @return {!IDBRequest}\\n * @see https://www.w3.org/TR/IndexedDB-2/#dom-idbindex-getall\\n */\\nIDBIndex.prototype.getAll = function(query, count) {};\\n\\n/**\\n * @param {(!IDBKeyType|!IDBKeyRange)=} query\\n * @param {number=} count\\n * @return {!IDBRequest}\\n * @see https://www.w3.org/TR/IndexedDB-2/#dom-idbindex-getallkeys\\n */\\nIDBIndex.prototype.getAllKeys = function(query, count) {};\\n\\n/**\\n * @param {(!IDBKeyType|!IDBKeyRange)=} opt_key\\n * @return {!IDBRequest}\\n */\\nIDBIndex.prototype.count = function(opt_key) {};\\n\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBCursor\\n * @see https://www.w3.org/TR/IndexedDB-2/#cursor-interface\\n */\\nfunction IDBCursor() {}\\n\\n/**\\n * @constructor\\n * @extends {IDBCursor}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBCursor\\n * @see https://www.w3.org/TR/IndexedDB-2/#cursor-interface\\n */\\nfunction webkitIDBCursor() {}\\n\\n/**\\n * @type {(!IDBObjectStore|!IDBIndex)}\\n * @const\\n */\\nIDBCursor.prototype.source;\\n\\n/**\\n * @type {!IDBCursorDirection}\\n * @const\\n */\\nIDBCursor.prototype.direction;\\n\\n/**\\n * @type {!IDBKeyType}\\n * @const\\n */\\nIDBCursor.prototype.key;\\n\\n/**\\n * @type {!IDBKeyType}\\n * @const\\n */\\nIDBCursor.prototype.primaryKey;\\n\\n/**\\n * @param {*} value The new value for the current object in the cursor.\\n * @return {!IDBRequest} The IDBRequest object.\\n */\\nIDBCursor.prototype.update = function(value) {};\\n\\n/**\\n * Note: Must be quoted to avoid parse error.\\n * @param {!IDBKeyType=} key Continue enumerating the cursor from the specified\\n *     key (or next).\\n * @return {undefined}\\n */\\nIDBCursor.prototype.continue = function(key) {};\\n\\n/**\\n * @param {!IDBKeyType} key\\n * @param {!IDBKeyType} primaryKey\\n * @return {undefined}\\n * @see https://www.w3.org/TR/IndexedDB-2/#dom-idbcursor-continueprimarykey\\n */\\nIDBCursor.prototype.continuePrimaryKey = function(key, primaryKey) {};\\n\\n/**\\n * @param {number} count Number of times to iterate the cursor.\\n * @return {undefined}\\n */\\nIDBCursor.prototype.advance = function(count) {};\\n\\n/**\\n * Note: Must be quoted to avoid parse error.\\n * @return {!IDBRequest} The IDBRequest object.\\n */\\nIDBCursor.prototype.delete = function() {};\\n\\n\\n/**\\n * @constructor\\n * @extends {IDBCursor}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBCursorWithValue\\n */\\nfunction IDBCursorWithValue() {}\\n\\n/** @type {*} */\\nIDBCursorWithValue.prototype.value; // readonly\\n\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBTransaction\\n * @see https://www.w3.org/TR/IndexedDB-2/#transaction\\n */\\nfunction IDBTransaction() {}\\n\\n/**\\n * @constructor\\n * @extends {IDBTransaction}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBTransaction\\n * @see https://www.w3.org/TR/IndexedDB-2/#transaction\\n */\\nfunction webkitIDBTransaction() {}\\n\\n/**\\n * @type {!DOMStringList}\\n * @const\\n */\\nIDBTransaction.prototype.objectStoreNames;\\n\\n/**\\n * @type {!IDBTransactionMode}\\n * @const\\n */\\nIDBTransaction.prototype.mode;\\n\\n/**\\n * @type {!IDBDatabase}\\n * @const\\n */\\nIDBTransaction.prototype.db;\\n\\n/**\\n * @type {!DOMError|!DOMException}\\n */\\nIDBTransaction.prototype.error;\\n\\n/**\\n * @param {string} name The name of the object store to retrieve.\\n * @return {!IDBObjectStore} The object store.\\n */\\nIDBTransaction.prototype.objectStore = function(name) {};\\n\\n/**\\n * Aborts the transaction.\\n * @return {undefined}\\n */\\nIDBTransaction.prototype.abort = function() {};\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nIDBTransaction.prototype.onabort;\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nIDBTransaction.prototype.oncomplete;\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nIDBTransaction.prototype.onerror;\\n\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBKeyRange\\n * @see https://www.w3.org/TR/IndexedDB-2/#keyrange\\n */\\nfunction IDBKeyRange() {}\\n\\n/**\\n * @constructor\\n * @extends {IDBKeyRange}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBKeyRange\\n * @see https://www.w3.org/TR/IndexedDB-2/#keyrange\\n */\\nfunction webkitIDBKeyRange() {}\\n\\n/**\\n * @type {*}\\n * @const\\n */\\nIDBKeyRange.prototype.lower;\\n\\n/**\\n * @type {*}\\n * @const\\n */\\nIDBKeyRange.prototype.upper;\\n\\n/**\\n * @type {boolean}\\n * @const\\n */\\nIDBKeyRange.prototype.lowerOpen;\\n\\n/**\\n * @type {boolean}\\n * @const\\n */\\nIDBKeyRange.prototype.upperOpen;\\n\\n/**\\n * @param {!IDBKeyType} value The single key value of this range.\\n * @return {!IDBKeyRange} The key range.\\n */\\nIDBKeyRange.only = function(value) {};\\n\\n/**\\n * @param {!IDBKeyType} bound Creates a lower bound key range.\\n * @param {boolean=} open Open the key range.\\n * @return {!IDBKeyRange} The key range.\\n */\\nIDBKeyRange.lowerBound = function(bound, open) {};\\n\\n/**\\n * @param {!IDBKeyType} bound Creates an upper bound key range.\\n * @param {boolean=} open Open the key range.\\n * @return {!IDBKeyRange} The key range.\\n */\\nIDBKeyRange.upperBound = function(bound, open) {};\\n\\n/**\\n * @param {!IDBKeyType} left The left bound value.\\n * @param {!IDBKeyType} right The right bound value.\\n * @param {boolean=} openLeft Whether the left bound value should be excluded.\\n * @param {boolean=} openRight Whether the right bound value should be excluded.\\n * @return {!IDBKeyRange} The key range.\\n */\\nIDBKeyRange.bound = function(left, right, openLeft, openRight) {};\\n\\n/**\\n * @param {!IDBKeyType} key\\n * @return {boolean}\\n * @see https://www.w3.org/TR/IndexedDB-2/#dom-idbkeyrange-includes\\n */\\nIDBKeyRange.prototype.includes = function(key) {};\\n\\n\\n/**\\n * @param {string} type\\n * @param {!IDBVersionChangeEventInit=} opt_eventInit\\n * @constructor\\n * @extends {Event}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBVersionChangeEvent\\n */\\nfunction IDBVersionChangeEvent(type, opt_eventInit) {}\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nIDBVersionChangeEvent.prototype.oldVersion;\\n\\n/**\\n * @type {?number}\\n * @const\\n */\\nIDBVersionChangeEvent.prototype.newVersion;\\n\\n\\n/**\\n * @param {string} type\\n * @param {!IDBVersionChangeEventInit=} opt_eventInit\\n * @constructor\\n * @extends {IDBVersionChangeEvent}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBVersionChangeEvent\\n */\\nfunction webkitIDBVersionChangeEvent(type, opt_eventInit) {}\\n\\n/**\\n * @type {string}\\n * @const\\n */\\nwebkitIDBVersionChangeEvent.prototype.version;\\n","externs/w3c_midi.js":"/*\\n * Copyright 2014 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview W3C Web MIDI specification.\\n * @see http://www.w3.org/TR/webmidi/\\n *\\n * @externs\\n */\\n\\n\\n/**\\n * @param {!MIDIOptions=} opt_options\\n * @return {!Promise.<!MIDIAccess>}\\n */\\nnavigator.requestMIDIAccess = function(opt_options) {};\\n\\n\\n/**\\n * @typedef {{\\n *   sysex: boolean\\n * }}\\n */\\nvar MIDIOptions;\\n\\n\\n\\n/**\\n * @interface\\n */\\nvar MIDIInputMap = function() {};\\n\\n\\n/**\\n * @const {number}\\n */\\nMIDIInputMap.prototype.size;\\n\\n\\n/**\\n * @param {function(string)} iterator\\n */\\nMIDIInputMap.prototype.keys = function(iterator) {};\\n\\n\\n/**\\n * @param {function(!Array.<*>)} iterator\\n */\\nMIDIInputMap.prototype.entries = function(iterator) {};\\n\\n\\n/**\\n * @param {function(!MIDIInput)} iterator\\n */\\nMIDIInputMap.prototype.values = function(iterator) {};\\n\\n\\n/**\\n * @param {string} key\\n * @return {!MIDIInput}\\n */\\nMIDIInputMap.prototype.get = function(key) {};\\n\\n\\n/**\\n * @param {string} key\\n * @return {boolean}\\n */\\nMIDIInputMap.prototype.has = function(key) {};\\n\\n\\n\\n/**\\n * @interface\\n */\\nvar MIDIOutputMap = function() {};\\n\\n\\n/**\\n * @const {number}\\n */\\nMIDIOutputMap.prototype.size;\\n\\n\\n/**\\n * @param {function(string)} iterator\\n */\\nMIDIOutputMap.prototype.keys = function(iterator) {};\\n\\n\\n/**\\n * @param {function(!Array.<*>)} iterator\\n */\\nMIDIOutputMap.prototype.entries = function(iterator) {};\\n\\n\\n/**\\n * @param {function(!MIDIOutput)} iterator\\n */\\nMIDIOutputMap.prototype.values = function(iterator) {};\\n\\n\\n/**\\n * @param {string} key\\n * @return {!MIDIOutput}\\n */\\nMIDIOutputMap.prototype.get = function(key) {};\\n\\n\\n/**\\n * @param {string} key\\n * @return {boolean}\\n */\\nMIDIOutputMap.prototype.has = function(key) {};\\n\\n\\n\\n/**\\n * @interface\\n * @extends {EventTarget}\\n */\\nvar MIDIAccess = function() {};\\n\\n\\n/**\\n * @const {!MIDIInputMap}\\n */\\nMIDIAccess.prototype.inputs;\\n\\n\\n/**\\n * @const {!MIDIOutputMap}\\n */\\nMIDIAccess.prototype.outputs;\\n\\n\\n/**\\n * @const {function(!MIDIConnectionEvent)}\\n */\\nMIDIAccess.prototype.onconnect;\\n\\n\\n/**\\n * @type {function(!MIDIConnectionEvent)}\\n */\\nMIDIAccess.prototype.ondisconnect;\\n\\n\\n/**\\n * @const {boolean}\\n */\\nMIDIAccess.prototype.sysexEnabled;\\n\\n\\n\\n/**\\n * @interface\\n * @extends {EventTarget}\\n */\\nvar MIDIPort = function() {};\\n\\n\\n/**\\n * @const {string}\\n */\\nMIDIPort.prototype.id;\\n\\n\\n/**\\n * @const {string}\\n */\\nMIDIPort.prototype.manufacturer;\\n\\n\\n/**\\n * @const {string}\\n */\\nMIDIPort.prototype.name;\\n\\n\\n/**\\n * @const {string}\\n */\\nMIDIPort.prototype.type;\\n\\n\\n/**\\n * @const {string}\\n */\\nMIDIPort.prototype.version;\\n\\n\\n/**\\n * @type {function(!MIDIConnectionEvent)}\\n */\\nMIDIPort.prototype.ondisconnect;\\n\\n\\n\\n/**\\n * @interface\\n * @extends {MIDIPort}\\n */\\nvar MIDIInput = function() {};\\n\\n\\n/**\\n * @type {function(!MIDIMessageEvent)}\\n */\\nMIDIInput.prototype.onmidimessage;\\n\\n\\n\\n/**\\n * @interface\\n * @extends {MIDIPort}\\n */\\nvar MIDIOutput = function() {};\\n\\n\\n/**\\n * @param {!Uint8Array} data\\n * @param {number=} opt_timestamp\\n */\\nMIDIOutput.prototype.send = function(data, opt_timestamp) {};\\n\\n\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n * @param {string} type\\n * @param {!MIDIMessageEventInit=} opt_init\\n */\\nvar MIDIMessageEvent = function(type, opt_init) {};\\n\\n\\n/**\\n * @const {number}\\n */\\nMIDIMessageEvent.prototype.receivedTime;\\n\\n\\n/**\\n * @const {!Uint8Array}\\n */\\nMIDIMessageEvent.prototype.data;\\n\\n\\n/**\\n * @record\\n * @extends {EventInit}\\n * @see https://www.w3.org/TR/webmidi/#midimessageeventinit-interface\\n */\\nfunction MIDIMessageEventInit() {}\\n\\n/** @type {undefined|number} */\\nMIDIMessageEventInit.prototype.receivedTime;\\n\\n/** @type {undefined|!Uint8Array} */\\nMIDIMessageEventInit.prototype.data;\\n\\n\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n * @param {string} type\\n * @param {!MIDIConnectionEventInit=} opt_init\\n */\\nvar MIDIConnectionEvent = function(type, opt_init) {};\\n\\n\\n/**\\n * @const {MIDIPort}\\n */\\nMIDIConnectionEvent.prototype.port;\\n\\n\\n/**\\n * @record\\n * @extends {EventInit}\\n * @see https://www.w3.org/TR/webmidi/#idl-def-MIDIConnectionEventInit\\n */\\nfunction MIDIConnectionEventInit() {}\\n\\n/** @type {undefined|!MIDIPort} */\\nMIDIConnectionEventInit.prototype.port;\\n","externs/w3c_navigation_timing.js":"/*\\n * Copyright 2011 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s Navigation Timing specification.\\n *\\n * Created from\\n * @see http://dvcs.w3.org/hg/webperf/raw-file/tip/specs/NavigationTiming/Overview.html\\n * @see http://w3c-test.org/webperf/specs/ResourceTiming\\n * @see http://www.w3.org/TR/performance-timeline\\n * @see http://www.w3.org/TR/user-timing/\\n *\\n * @externs\\n * @author rky@google.com (Ren\u00e9 Kyllingstad)\\n */\\n\\n/** @constructor */\\nfunction PerformanceTiming() {}\\n/** @type {number} */ PerformanceTiming.prototype.navigationStart;\\n/** @type {number} */ PerformanceTiming.prototype.unloadEventStart;\\n/** @type {number} */ PerformanceTiming.prototype.unloadEventEnd;\\n/** @type {number} */ PerformanceTiming.prototype.redirectStart;\\n/** @type {number} */ PerformanceTiming.prototype.redirectEnd;\\n/** @type {number} */ PerformanceTiming.prototype.fetchStart;\\n/** @type {number} */ PerformanceTiming.prototype.domainLookupStart;\\n/** @type {number} */ PerformanceTiming.prototype.domainLookupEnd;\\n/** @type {number} */ PerformanceTiming.prototype.connectStart;\\n/** @type {number} */ PerformanceTiming.prototype.connectEnd;\\n/** @type {number} */ PerformanceTiming.prototype.secureConnectionStart;\\n/** @type {number} */ PerformanceTiming.prototype.requestStart;\\n/** @type {number} */ PerformanceTiming.prototype.responseStart;\\n/** @type {number} */ PerformanceTiming.prototype.responseEnd;\\n/** @type {number} */ PerformanceTiming.prototype.domLoading;\\n/** @type {number} */ PerformanceTiming.prototype.domInteractive;\\n/** @type {number} */ PerformanceTiming.prototype.domContentLoadedEventStart;\\n/** @type {number} */ PerformanceTiming.prototype.domContentLoadedEventEnd;\\n/** @type {number} */ PerformanceTiming.prototype.domComplete;\\n/** @type {number} */ PerformanceTiming.prototype.loadEventStart;\\n/** @type {number} */ PerformanceTiming.prototype.loadEventEnd;\\n\\n/** @constructor */\\nfunction PerformanceEntry() {}\\n/** @type {string} */ PerformanceEntry.prototype.name;\\n/** @type {string} */ PerformanceEntry.prototype.entryType;\\n/** @type {number} */ PerformanceEntry.prototype.startTime;\\n/** @type {number} */ PerformanceEntry.prototype.duration;\\n\\n/**\\n * https://www.w3.org/TR/resource-timing-2/#performanc';
a.a+="eresourcetiming\\n * @constructor\\n * @extends {PerformanceEntry}\\n */\\nfunction PerformanceResourceTiming() {}\\n/** @type {number} */ PerformanceResourceTiming.prototype.redirectStart;\\n/** @type {number} */ PerformanceResourceTiming.prototype.redirectEnd;\\n/** @type {number} */ PerformanceResourceTiming.prototype.fetchStart;\\n/** @type {number} */ PerformanceResourceTiming.prototype.domainLookupStart;\\n/** @type {number} */ PerformanceResourceTiming.prototype.domainLookupEnd;\\n/** @type {number} */ PerformanceResourceTiming.prototype.connectStart;\\n/** @type {number} */ PerformanceResourceTiming.prototype.connectEnd;\\n/** @type {number} */\\nPerformanceResourceTiming.prototype.secureConnectionStart;\\n/** @type {number} */ PerformanceResourceTiming.prototype.requestStart;\\n/** @type {number} */ PerformanceResourceTiming.prototype.responseStart;\\n/** @type {number} */ PerformanceResourceTiming.prototype.responseEnd;\\n/** @type {string} */ PerformanceResourceTiming.prototype.initiatorType;\\n/** @type {number|undefined} */\\nPerformanceResourceTiming.prototype.transferSize;\\n/** @type {number|undefined} */\\nPerformanceResourceTiming.prototype.encodedBodySize;\\n/** @type {number|undefined} */\\nPerformanceResourceTiming.prototype.decodedBodySize;\\n/** @type {number|undefined} */\\nPerformanceResourceTiming.prototype.workerStart;\\n/** @type {string} */ PerformanceResourceTiming.prototype.nextHopProtocol;\\n\\n/**\\n * Possible values are 'navigate', 'reload', 'back_forward', and 'prerender'.\\n * See https://w3c.github.io/navigation-timing/#sec-performance-navigation-types\\n * @typedef {string}\\n */\\nvar NavigationType;\\n\\n/**\\n * https://w3c.github.io/navigation-timing/#sec-PerformanceNavigationTiming\\n * @constructor\\n * @extends {PerformanceResourceTiming}\\n */\\nfunction PerformanceNavigationTiming() {}\\n/** @type {number} */ PerformanceNavigationTiming.prototype.unloadEventStart;\\n/** @type {number} */ PerformanceNavigationTiming.prototype.unloadEventEnd;\\n/** @type {number} */ PerformanceNavigationTiming.prototype.domInteractive;\\n/** @type {number} */ PerformanceNavigationTiming.prototype\\n    .domContentLoadedEventStart;\\n/** @type {number} */ PerformanceNavigationTiming.prototype\\n    .domContentLoadedEventEnd;\\n/** @type {number} */ PerformanceNavigationTiming.prototype.domComplete;\\n/** @type {number} */ PerformanceNavigationTiming.prototype.loadEventStart;\\n/** @type {number} */ PerformanceNavigationTiming.prototype.loadEventEnd;\\n/** @type {NavigationType} */ PerformanceNavigationTiming.prototype.type;\\n/** @type {number} */ PerformanceNavigationTiming.prototype.redirectCount;\\n\\n/** @constructor */\\nfunction PerformanceNavigation() {}\\n/** @type {number} */ PerformanceNavigation.prototype.TYPE_NAVIGATE = 0;\\n/** @type {number} */ PerformanceNavigation.prototype.TYPE_RELOAD = 1;\\n/** @type {number} */ PerformanceNavigation.prototype.TYPE_BACK_FORWARD = 2;\\n/** @type {number} */ PerformanceNavigation.prototype.TYPE_RESERVED = 255;\\n/** @type {number} */ PerformanceNavigation.prototype.type;\\n/** @type {number} */ PerformanceNavigation.prototype.redirectCount;\\n\\n/**\\n * https://w3c.github.io/longtasks/#taskattributiontiming\\n * @constructor\\n * @extends {PerformanceEntry}\\n */\\nfunction TaskAttributionTiming() {}\\n/** @type {string} */ TaskAttributionTiming.prototype.containerId;\\n/** @type {string} */ TaskAttributionTiming.prototype.containerName;\\n/** @type {string} */ TaskAttributionTiming.prototype.containerSrc;\\n/** @type {string} */ TaskAttributionTiming.prototype.containerType;\\n\\n/**\\n * https://w3c.github.io/longtasks/#performancelongtasktiming\\n * @constructor\\n * @extends {PerformanceEntry}\\n */\\nfunction PerformanceLongTaskTiming() {}\\n/** @type {!Array<!TaskAttributionTiming>} */\\nPerformanceLongTaskTiming.prototype.attribution;\\n\\n/** @constructor */\\nfunction Performance() {}\\n/** @type {PerformanceTiming} */ Performance.prototype.timing;\\n/** @type {PerformanceNavigation} */ Performance.prototype.navigation;\\n\\n/**\\n * Clears the buffer used to store the current list of\\n * PerformanceResourceTiming resources.\\n * @return {undefined}\\n */\\nPerformance.prototype.clearResourceTimings = function() {};\\n\\n/**\\n * Clear out the buffer of performance timing events for webkit browsers.\\n * @return {undefined}\\n */\\nPerformance.prototype.webkitClearResourceTimings = function() {};\\n\\n/**\\n * Set the maximum number of PerformanceResourceTiming resources that may be\\n * stored in the buffer.\\n * @param {number} maxSize\\n * @return {undefined}\\n */\\nPerformance.prototype.setResourceTimingBufferSize = function(maxSize) {};\\n\\n/**\\n * @return {!Array<!PerformanceEntry>} A copy of the PerformanceEntry list,\\n *     in chronological order with respect to startTime.\\n * @nosideeffects\\n */\\nPerformance.prototype.getEntries = function() {};\\n\\n/**\\n * @param {string} entryType Only return {@code PerformanceEntry}s with this\\n *     entryType.\\n * @return {!Array<!PerformanceEntry>} A copy of the PerformanceEntry list,\\n *     in chronological order with respect to startTime.\\n * @nosideeffects\\n */\\nPerformance.prototype.getEntriesByType = function(entryType) {};\\n\\n/**\\n * @param {string} name Only return {@code PerformanceEntry}s with this name.\\n * @param {string=} opt_entryType Only return {@code PerformanceEntry}s with\\n *     this entryType.\\n * @return {!Array<!PerformanceEntry>} PerformanceEntry list in chronological\\n *     order with respect to startTime.\\n * @nosideeffects\\n */\\nPerformance.prototype.getEntriesByName = function(name, opt_entryType) {};\\n\\n// Nonstandard. Only available in Blink.\\n// Returns more granular results with the --enable-memory-info flag.\\n/** @type {MemoryInfo} */ Performance.prototype.memory;\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n */\\nPerformance.prototype.now = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n */\\nPerformance.prototype.webkitNow = function() {};\\n\\n/**\\n * @param {string} markName\\n * @return {undefined}\\n */\\nPerformance.prototype.mark = function(markName) {};\\n\\n/**\\n * @param {string=} opt_markName\\n * @return {undefined}\\n */\\nPerformance.prototype.clearMarks = function(opt_markName) {};\\n\\n/**\\n * @param {string} measureName\\n * @param {string=} opt_startMark\\n * @param {string=} opt_endMark\\n * @return {undefined}\\n */\\nPerformance.prototype.measure = function(\\n    measureName, opt_startMark, opt_endMark) {};\\n\\n/**\\n * @param {string=} opt_measureName\\n * @return {undefined}\\n */\\nPerformance.prototype.clearMeasures = function(opt_measureName) {};\\n\\n/** @type {Performance} */\\nWindow.prototype.performance;\\n\\n/**\\n * @type {!Performance}\\n * @suppress {duplicate}\\n */\\nvar performance;\\n\\n/**\\n * @constructor\\n * @extends {Performance}\\n */\\nfunction WorkerPerformance() {}\\n\\n/**\\n * @typedef {function(!PerformanceObserverEntryList, !PerformanceObserver): void}\\n */\\nvar PerformanceObserverCallback;\\n\\n/**\\n * See:\\n * https://w3c.github.io/performance-timeline/#the-performanceobserver-interface\\n * @constructor\\n * @param {!PerformanceObserverCallback} callback\\n */\\nfunction PerformanceObserver(callback) {}\\n\\n/**\\n * @param {!PerformanceObserverInit} options\\n */\\nPerformanceObserver.prototype.observe = function(options) {};\\n\\n/** @return {void} */\\nPerformanceObserver.prototype.disconnect = function() {};\\n\\n/**\\n * @record\\n */\\nfunction PerformanceObserverInit() {}\\n\\n/** @type {undefined|!Array<string>} */\\nPerformanceObserverInit.prototype.entryTypes;\\n/** @type {undefined|boolean} */\\nPerformanceObserverInit.prototype.buffered;\\n\\n/**\\n * @constructor\\n */\\nfunction PerformanceObserverEntryList() {}\\n\\n/** @return {!Array<!PerformanceEntry>} */\\nPerformanceObserverEntryList.prototype.getEntries = function() {};\\n/**\\n * @param {string} type\\n * @return {!Array<!PerformanceEntry>}\\n */\\nPerformanceObserverEntryList.prototype.getEntriesByName = function(type) {};\\n/**\\n * @param {string} name\\n * @param {string=} opt_type\\n * @return {!Array<!PerformanceEntry>}\\n */\\nPerformanceObserverEntryList.prototype.getEntriesByType = function(\\n    name, opt_type) {};\\n\",\"externs/w3c_netinfo.js\":\"/*\\n * Copyright 2017 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Externs for the Network Information API.\\n * @externs\\n */\\n\\n/**\\n * @see http://wicg.github.io/netinfo/#-dfn-networkinformation-dfn-interface\\n * @constructor\\n */\\nfunction NetworkInformation() {}\\n\\n/** @type {ConnectionType} */\\nNetworkInformation.prototype.type;\\n\\n/** @type {EffectiveConnectionType} */\\nNetworkInformation.prototype.effectiveType;\\n\\n/** @type {Megabit} */\\nNetworkInformation.prototype.downlinkMax;\\n\\n/** @type {Megabit} */\\nNetworkInformation.prototype.downlink;\\n\\n/** @type {Millisecond} */\\nNetworkInformation.prototype.rtt;\\n\\n/** @type {?function(Event)} */\\nNetworkInformation.prototype.onchange;\\n\\n/**\\n * @typedef {number}\\n */\\nvar Megabit;\\n\\n/**\\n * @typedef {number}\\n */\\nvar Millisecond;\\n\\n/**\\n * Enum of:\\n * 'bluetooth',\\n * 'cellular',\\n * 'ethernet',\\n * 'mixed',\\n * 'none',\\n * 'other',\\n * 'unknown',\\n * 'wifi',\\n * 'wimax'\\n * @typedef {string}\\n */\\nvar ConnectionType;\\n\\n/**\\n * Enum of:\\n * '2g',\\n * '3g',\\n * '4g',\\n * 'slow-2g'\\n * @typedef {string}\\n */\\nvar EffectiveConnectionType;\\n\\n/** @type {!NetworkInformation} */\\nNavigator.prototype.connection;\\n\",\"externs/w3c_permissions.js\":\"/*\\n * Copyright 2015 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C's Permissions API.\\n * @see https://w3c.github.io/permissions/\\n *\\n * @externs\\n */\\n\\n\\n/**\\n * @typedef {{name: PermissionName}}\\n * @see https://w3c.github.io/permissions/#permission-descriptor\\n */\\nvar PermissionDescriptor;\\n\\n\\n/**\\n * @typedef {{name: PermissionName, userVisibleOnly: boolean}}\\n * @see https://w3c.github.io/permissions/#push\\n */\\nvar PushPermissionDescriptor;\\n\\n\\n/**\\n * @typedef {{name: PermissionName, sysex: boolean}}\\n * @see https://w3c.github.io/permissions/#midi\\n */\\nvar MidiPermissionDescriptor;\\n\\n\\n/**\\n * Set of possible values: 'geolocation', 'notifications', 'push', 'midi'.\\n * @typedef {string}\\n * @see https://w3c.github.io/permissions/#idl-def-PermissionName\\n */\\nvar PermissionName;\\n\\n\\n/**\\n * Set of possible values: 'granted', 'denied', 'prompt'.\\n * @typedef {string}\\n * @see https://w3c.github.io/permissions/#idl-def-PermissionState\\n */\\nvar PermissionState;\\n\\n\\n/**\\n * @constructor\\n * @implements {EventTarget}\\n * @see https://w3c.github.io/permissions/#status-of-a-permission\\n */\\nfunction PermissionStatus() {}\\n\\n/** @type {PermissionState} */\\nPermissionStatus.prototype.state;\\n\\n/**\\n * @type {PermissionState}\\n * @deprecated, use PermissionStatus.state for newer clients\\n */\\nPermissionStatus.prototype.status;\\n\\n/** @type {?function(!Event)} */\\nPermissionStatus.prototype.onchange;\\n\\n/** @override */\\nPermissionStatus.prototype.addEventListener = function(\\n    type, listener, opt_options) {};\\n\\n/** @override */\\nPermissionStatus.prototype.removeEventListener = function(\\n    type, listener, opt_options) {};\\n\\n/** @override */\\nPermissionStatus.prototype.dispatchEvent = function(evt) {};\\n\\n\\n/**\\n * @constructor\\n * @see https://w3c.github.io/permissions/#idl-def-permissions\\n */\\nfunction Permissions() {}\\n\\n/**\\n * @param {PermissionDescriptor} permission The permission to look up\\n * @return {!Promise<!PermissionStatus>}\\n * @see https://w3c.github.io/permissions/#dom-permissions-query\\n */\\nPermissions.prototype.query = function(permission) {};\\n\\n\\n/** @type {Permissions} */\\nNavigator.prototype.permissions;\\n\",\"externs/w3c_pointer_events.js\":\"/*\\n * Copyright 2014 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C's Pointer Events specification.\\n *  Created from\\n *   http://www.w3.org/TR/pointerevents/\\n *\\n * @externs\\n */\\n\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/pointerevents/#the-touch-action-css-property\\n */\\nCSSProperties.prototype.touchAction;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/pointerevents/#widl-Navigator-pointerEnabled\\n */\\nNavigator.prototype.pointerEnabled;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/pointerevents/#widl-Navigator-maxTouchPoints\\n */\\nNavigator.prototype.maxTouchPoints;\\n\\n\\n/**\\n * @record\\n * @extends {MouseEventInit}\\n * @see https://www.w3.org/TR/pointerevents/#idl-def-PointerEventInit\\n */\\nfunction PointerEventInit() {}\\n\\n/** @type {undefined|number} */\\nPointerEventInit.prototype.pointerId;\\n\\n/** @type {undefined|number} */\\nPointerEventInit.prototype.width;\\n\\n/** @type {undefined|number} */\\nPointerEventInit.prototype.height;\\n\\n/** @type {undefined|number} */\\nPointerEventInit.prototype.pressure;\\n\\n/** @type {undefined|number} */\\nPointerEventInit.prototype.tiltX;\\n\\n/** @type {undefined|number} */\\nPointerEventInit.prototype.tiltY;\\n\\n/** @type {undefined|string} */\\nPointerEventInit.prototype.pointerType;\\n\\n/** @type {undefined|boolean} */\\nPointerEventInit.prototype.isPrimary;\\n\\n/**\\n * @constructor\\n * @extends {MouseEvent}\\n * @param {string} type\\n * @param {PointerEventInit=} opt_eventInitDict\\n * @see http://www.w3.org/TR/pointerevents/#pointerevent-interface\\n */\\nfunction PointerEvent(type, opt_eventInitDict) {}\\n\\n/** @type {number} */\\nPointerEvent.prototype.pointerId;\\n\\n/** @type {number} */\\nPointerEvent.prototype.width;\\n\\n/** @type {number} */\\nPointerEvent.prototype.height;\\n\\n/** @type {number} */\\nPointerEvent.prototype.pressure;\\n\\n/** @type {number} */\\nPointerEvent.prototype.tiltX;\\n\\n/** @type {number} */\\nPointerEvent.prototype.tiltY;\\n\\n/** @type {string} */\\nPointerEvent.prototype.pointerType;\\n\\n/** @type {boolean} */\\nPointerEvent.prototype.isPrimary;\\n\\n// Microsoft pointerType values\\n/** @type {string} */\\nPointerEvent.prototype.MSPOINTER_TYPE_TOUCH;\\n\\n/** @type {string} */\\nPointerEvent.prototype.MSPOINTER_TYPE_PEN;\\n\\n/** @type {string} */\\nPointerEvent.prototype.MSPOINTER_TYPE_MOUSE;\\n\\n/**\\n * @see https://w3c.github.io/pointerevents/extension.html\\n * @return {!Array<!PointerEvent>}\\n */\\nPointerEvent.prototype.getCoalescedEvents = function() {};\\n\\n\",\"externs/w3c_range.js\":\"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either expre";
a.a+='ss or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s range specification.\\n *  This file depends on w3c_dom2.js.\\n *  The whole file has been fully type annotated.\\n *  Created from\\n *   http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html\\n *\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n * @author stevey@google.com (Steve Yegge)\\n */\\n\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-Interface\\n */\\nfunction Range() {}\\n\\n// constants on the constructor\\n\\n/**\\n * @const {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-compareHow\\n */\\nRange.START_TO_START = 0;\\n\\n/**\\n * @const {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-compareHow\\n */\\nRange.START_TO_END = 1;\\n\\n/**\\n * @const {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-compareHow\\n */\\nRange.END_TO_END = 2;\\n\\n/**\\n * @const {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-compareHow\\n */\\nRange.END_TO_START = 3;\\n\\n// constants repeated on the prototype\\n\\n/**\\n * @const {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-compareHow\\n */\\nRange.prototype.START_TO_START = 0;\\n\\n/**\\n * @const {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-compareHow\\n */\\nRange.prototype.START_TO_END = 1;\\n\\n/**\\n * @const {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-compareHow\\n */\\nRange.prototype.END_TO_END = 2;\\n\\n/**\\n * @const {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-compareHow\\n */\\nRange.prototype.END_TO_START = 3;\\n\\n/**\\n * @type {Node}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-attr-startParent\\n */\\nRange.prototype.startContainer;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-attr-startOffset\\n */\\nRange.prototype.startOffset;\\n\\n/**\\n * @type {Node}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-attr-endParent\\n */\\nRange.prototype.endContainer;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-attr-endOffset\\n */\\nRange.prototype.endOffset;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-attr-collapsed\\n */\\nRange.prototype.collapsed;\\n\\n/**\\n * @type {Node}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-attr-commonParent\\n */\\nRange.prototype.commonAncestorContainer;\\n\\n/**\\n * @param {Node} refNode\\n * @param {number} offset\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-setStart\\n */\\nRange.prototype.setStart = function(refNode, offset) {};\\n\\n/**\\n * @param {Node} refNode\\n * @param {number} offset\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-setEnd\\n */\\nRange.prototype.setEnd = function(refNode, offset) {};\\n\\n/**\\n * @param {Node} refNode\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-setStartBefore\\n */\\nRange.prototype.setStartBefore = function(refNode) {};\\n\\n/**\\n * @param {Node} refNode\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-setStartAfter\\n */\\nRange.prototype.setStartAfter = function(refNode) {};\\n\\n/**\\n * @param {Node} refNode\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-setEndBefore\\n */\\nRange.prototype.setEndBefore = function(refNode) {};\\n\\n/**\\n * @param {Node} refNode\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-setEndAfter\\n */\\nRange.prototype.setEndAfter = function(refNode) {};\\n\\n/**\\n * @param {boolean} toStart\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-collapse\\n */\\nRange.prototype.collapse = function(toStart) {};\\n\\n/**\\n * @param {Node} refNode\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-selectNode\\n */\\nRange.prototype.selectNode = function(refNode) {};\\n\\n/**\\n * @param {Node} refNode\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-selectNodeContents\\n */\\nRange.prototype.selectNodeContents = function(refNode) {};\\n\\n/**\\n * @param {number} how\\n * @param {Range} sourceRange\\n * @return {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-compareBoundaryPoints\\n */\\nRange.prototype.compareBoundaryPoints = function(how, sourceRange) {};\\n\\n/**\\n * @return {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-deleteContents\\n */\\nRange.prototype.deleteContents = function() {};\\n\\n/**\\n * @return {DocumentFragment}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-extractContents\\n */\\nRange.prototype.extractContents = function() {};\\n\\n/**\\n * @return {DocumentFragment}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-cloneContents\\n */\\nRange.prototype.cloneContents = function() {};\\n\\n/**\\n * @param {Node} newNode\\n * @return {DocumentFragment}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-insertNode\\n */\\nRange.prototype.insertNode = function(newNode) {};\\n\\n/**\\n * @param {Node} newParent\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-surroundContents\\n */\\nRange.prototype.surroundContents = function(newParent) {};\\n\\n/**\\n * @return {Range}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-clone\\n */\\nRange.prototype.cloneRange = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-detach\\n */\\nRange.prototype.detach = function() {};\\n\\n// Introduced in DOM Level 2:\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-DocumentRange-idl\\n */\\nfunction DocumentRange() {}\\n\\n/**\\n * @return {Range}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-DocumentRange-method-createRange\\n */\\nDocumentRange.prototype.createRange = function() {};\\n\\n// Introduced in DOM Level 2:\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#RangeException\\n */\\nfunction RangeException() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#RangeExceptionCode\\n */\\nRangeException.prototype.code;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#RangeExceptionCode\\n */\\nRangeException.prototype.BAD_BOUNDARYPOINTS_ERR = 1;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#RangeExceptionCode\\n */\\nRangeException.prototype.INVALID_NODE_TYPE_ERR = 2;\\n","externs/w3c_rtc.js":"/*\\n * Copyright 2012 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for components of the WebRTC browser API.\\n * @see https://www.w3.org/TR/webrtc/\\n * @see https://tools.ietf.org/html/draft-ietf-rtcweb-jsep-19\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API\\n * @see https://www.w3.org/TR/mediacapture-streams/\\n *\\n * @externs\\n * @author bemasc@google.com (Benjamin M. Schwartz)\\n */\\n\\n/**\\n * @typedef {string}\\n * @see {https://www.w3.org/TR/mediacapture-streams/\\n *     #idl-def-MediaStreamTrackState}\\n * In WebIDL this is an enum with values \'live\', \'mute\', and \'ended\',\\n * but there is no mechanism in Closure for describing a specialization of\\n * the string type.\\n */\\nvar MediaStreamTrackState;\\n\\n/**\\n * @interface\\n */\\nfunction SourceInfo() {}\\n\\n/** @const {string} */\\nSourceInfo.prototype.kind;\\n\\n/** @const {string} */\\nSourceInfo.prototype.id;\\n\\n/** @const {?string} */\\nSourceInfo.prototype.label;\\n\\n/** @const {boolean} */\\nSourceInfo.prototype.facing;\\n\\n/**\\n * @interface\\n * @see https://w3c.github.io/mediacapture-image/#mediasettingsrange-section\\n */\\nfunction MediaSettingsRange() {}\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nMediaSettingsRange.prototype.max;\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nMediaSettingsRange.prototype.min;\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nMediaSettingsRange.prototype.step;\\n\\n/**\\n * @interface\\n * @see https://www.w3.org/TR/mediacapture-streams/#idl-def-MediaTrackCapabilities\\n * @see https://w3c.github.io/mediacapture-image/#mediatrackcapabilities-section\\n */\\nfunction MediaTrackCapabilities() {}\\n\\n/** @type {number} */\\nMediaTrackCapabilities.prototype.width;\\n\\n/** @type {number} */\\nMediaTrackCapabilities.prototype.height;\\n\\n/** @type {number} */\\nMediaTrackCapabilities.prototype.aspectRatio;\\n\\n/** @type {number} */\\nMediaTrackCapabilities.prototype.frameRate;\\n\\n/** @type {!Array<string>} */\\nMediaTrackCapabilities.prototype.facingMode;\\n\\n/** @type {number} */\\nMediaTrackCapabilities.prototype.volume;\\n\\n/** @type {number} */\\nMediaTrackCapabilities.prototype.sampleRate;\\n\\n/** @type {number} */\\nMediaTrackCapabilities.prototype.sampleSize;\\n\\n/** @type {!Array<boolean>} */\\nMediaTrackCapabilities.prototype.echoCancellation;\\n\\n/** @type {number} */\\nMediaTrackCapabilities.prototype.latency;\\n\\n/** @type {number} */\\nMediaTrackCapabilities.prototype.channelCount;\\n\\n/** @type {string} */\\nMediaTrackCapabilities.prototype.deviceId;\\n\\n/** @type {string} */\\nMediaTrackCapabilities.prototype.groupId;\\n\\n/** @type {!Array<string>} */\\nMediaTrackCapabilities.prototype.whiteBalanceMode;\\n\\n/** @type {!Array<string>} */\\nMediaTrackCapabilities.prototype.exposureMode;\\n\\n/** @type {!Array<string>} */\\nMediaTrackCapabilities.prototype.focusMode;\\n\\n/** @type {!MediaSettingsRange} */\\nMediaTrackCapabilities.prototype.exposureCompensation;\\n\\n/** @type {!MediaSettingsRange} */\\nMediaTrackCapabilities.prototype.colorTemperature\\n\\n/** @type {!MediaSettingsRange} */\\nMediaTrackCapabilities.prototype.iso\\n\\n/** @type {!MediaSettingsRange} */\\nMediaTrackCapabilities.prototype.brightness\\n\\n/** @type {!MediaSettingsRange} */\\nMediaTrackCapabilities.prototype.contrast\\n\\n/** @type {!MediaSettingsRange} */\\nMediaTrackCapabilities.prototype.saturation\\n\\n/** @type {!MediaSettingsRange} */\\nMediaTrackCapabilities.prototype.sharpness\\n\\n/** @type {!MediaSettingsRange} */\\nMediaTrackCapabilities.prototype.zoom\\n\\n/** @type {boolean} */\\nMediaTrackCapabilities.prototype.torch\\n\\n/**\\n * @interface\\n * @see https://www.w3.org/TR/mediacapture-streams/#media-track-settings\\n * @see https://w3c.github.io/mediacapture-image/#mediatracksettings-section\\n */\\nfunction MediaTrackSettings() {}\\n\\n/** @type {number} */\\nMediaTrackSettings.prototype.width;\\n\\n/** @type {number} */\\nMediaTrackSettings.prototype.height;\\n\\n/** @type {number} */\\nMediaTrackSettings.prototype.aspectRatio;\\n\\n/** @type {number} */\\nMediaTrackSettings.prototype.frameRate;\\n\\n/** @type {string} */\\nMediaTrackSettings.prototype.facingMode;\\n\\n/** @type {number} */\\nMediaTrackSettings.prototype.volume;\\n\\n/** @type {number} */\\nMediaTrackSettings.prototype.sampleRate;\\n\\n/** @type {number} */\\nMediaTrackSettings.prototype.sampleSize;\\n\\n/** @type {boolean} */\\nMediaTrackSettings.prototype.echoCancellation;\\n\\n/** @type {number} */\\nMediaTrackSettings.prototype.latency;\\n\\n/** @type {number} */\\nMediaTrackSettings.prototype.channelCount;\\n\\n/** @type {string} */\\nMediaTrackSettings.prototype.deviceId;\\n\\n/** @type {string} */\\nMediaTrackSettings.prototype.groupId;\\n\\n/** @type {string} */\\nMediaTrackSettings.prototype.whiteBalanceMode;\\n\\n/** @type {string} */\\nMediaTrackSettings.prototype.exposureMode;\\n\\n/** @type {string} */\\nMediaTrackSettings.prototype.focusMode;\\n\\n/** @type {!Array<{x: number, y: number}>} */\\nMediaTrackSettings.prototype.pointsOfInterest;\\n\\n/** @type {number} */\\nMediaTrackSettings.prototype.exposureCompensation;\\n\\n/** @type {number} */\\nMediaTrackSettings.prototype.colorTemperature\\n\\n/** @type {number} */\\nMediaTrackSettings.prototype.iso\\n\\n/** @type {number} */\\nMediaTrackSettings.prototype.brightness\\n\\n/** @type {number} */\\nMediaTrackSettings.prototype.contrast\\n\\n/** @type {number} */\\nMediaTrackSettings.prototype.saturation\\n\\n/** @type {number} */\\nMediaTrackSettings.prototype.sharpness\\n\\n/** @type {number} */\\nMediaTrackSettings.prototype.zoom\\n\\n/** @type {boolean} */\\nMediaTrackSettings.prototype.torch\\n\\n\\n/**\\n * @interface\\n * @see https://w3c.github.io/mediacapture-main/#media-track-supported-constraints\\n */\\nfunction MediaTrackSupportedConstraints() {}\\n\\n/** @type {boolean|undefined} */\\nMediaTrackSupportedConstraints.prototype.width;\\n\\n/** @type {boolean|undefined} */\\nMediaTrackSupportedConstraints.prototype.height;\\n\\n/** @type {boolean|undefined} */\\nMediaTrackSupportedConstraints.prototype.aspectRatio;\\n\\n/** @type {boolean|undefined} */\\nMediaTrackSupportedConstraints.prototype.frameRate;\\n\\n/** @type {boolean|undefined} */\\nMediaTrackSupportedConstraints.prototype.facingMode;\\n\\n/** @type {boolean|undefined} */\\nMediaTrackSupportedConstraints.prototype.volume;\\n\\n/** @type {boolean|undefined} */\\nMediaTrackSupportedConstraints.prototype.sampleRate;\\n\\n/** @type {boolean|undefined} */\\nMediaTrackSupportedConstraints.prototype.sampleSize;\\n\\n/** @type {boolean|undefined} */\\nMediaTrackSupportedConstraints.prototype.echoCancellation;\\n\\n/** @type {boolean|undefined} */\\nMediaTrackSupportedConstraints.prototype.autoGainControl;\\n\\n/** @type {boolean|undefined} */\\nMediaTrackSupportedConstraints.prototype.noiseSuppression;\\n\\n/** @type {boolean|undefined} */\\nMediaTrackSupportedConstraints.prototype.latency;\\n\\n/** @type {boolean|undefined} */\\nMediaTrackSupportedConstraints.prototype.channelCount;\\n\\n/** @type {boolean|undefined} */\\nMediaTrackSupportedConstraints.prototype.deviceId;\\n\\n/** @type {boolean|undefined} */\\nMediaTrackSupportedConstraints.prototype.groupId;\\n\\n\\n/**\\n * @interface\\n * @extends {EventTarget}\\n * @see https://www.w3.org/TR/mediacapture-streams/#mediastreamtrack\\n */\\nfunction MediaStreamTrack() {}\\n\\n/**\\n * @param {!function(!Array<!SourceInfo>)} callback\\n * @return {undefined}\\n * @deprecated Use MediaDevices.enumerateDevices().\\n */\\nMediaStreamTrack.getSources = function(callback) {};\\n\\n/**\\n * @type {string}\\n * @const\\n */\\nMediaStreamTrack.prototype.kind;\\n\\n/**\\n * @type {string}\\n * @const\\n */\\nMediaStreamTrack.prototype.id;\\n\\n/**\\n * @type {string}\\n * @const\\n */\\nMediaStreamTrack.prototype.label;\\n\\n/**\\n * @type {boolean}\\n */\\nMediaStreamTrack.prototype.enabled;\\n\\n/**\\n * @type {boolean}\\n * @const\\n */\\nMediaStreamTrack.prototype.muted;\\n\\n/**\\n * @type {string}\\n * @see https://crbug.com/653531\\n * @see https://wicg.github.io/mst-content-hint/\\n */\\nMediaStreamTrack.prototype.contentHint;\\n\\n/**\\n * @type {boolean}\\n * @const\\n */\\nMediaStreamTrack.prototype.remote;\\n\\n/**\\n * @type {MediaStreamTrackState}\\n * Read only.\\n */\\nMediaStreamTrack.prototype.readyState;\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nMediaStreamTra';
a.a+="ck.prototype.onmute;\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nMediaStreamTrack.prototype.onunmute;\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nMediaStreamTrack.prototype.onended;\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nMediaStreamTrack.prototype.onoverconstrained;\\n\\n/**\\n * Applies the specified set of constraints to the track, if any specified; or\\n * if no constraints are specified, removes all constraints from the track.\\n *\\n * @param {MediaTrackConstraints=} constraints Constraints to apply to the\\n *   track.\\n * @return {!Promise<void>} A |Promise| that is resolved when the constraints\\n *   have been applied, or rejected if there was an error applying the\\n *   constraints.\\n */\\nMediaStreamTrack.prototype.applyConstraints = function(constraints) {};\\n\\n/**\\n * @return {!MediaStreamTrack}\\n */\\nMediaStreamTrack.prototype.clone = function() {};\\n\\n/** @return {void} */\\nMediaStreamTrack.prototype.stop = function() {};\\n\\n/** @return {!MediaTrackCapabilities} */\\nMediaStreamTrack.prototype.getCapabilities = function() {};\\n\\n/** @return {!MediaTrackConstraints} */\\nMediaStreamTrack.prototype.getConstraints = function() {};\\n\\n/** @return {!MediaTrackSettings} */\\nMediaStreamTrack.prototype.getSettings = function() {};\\n\\n/**\\n * @typedef {{track: MediaStreamTrack}}\\n */\\nvar MediaStreamTrackEventInit;\\n\\n\\n/**\\n * @param {string} type\\n * @param {!MediaStreamTrackEventInit} eventInitDict\\n * @constructor\\n * @extends {Event}\\n * @see https://www.w3.org/TR/mediacapture-streams/#mediastreamtrackevent\\n */\\nfunction MediaStreamTrackEvent(type, eventInitDict) {}\\n\\n/**\\n * @type {!MediaStreamTrack}\\n * @const\\n */\\nMediaStreamTrackEvent.prototype.track;\\n\\n/**\\n * @param {!MediaStream|!Array<!MediaStreamTrack>=} streamOrTracks\\n * @constructor\\n * @implements {EventTarget}\\n * @see https://www.w3.org/TR/mediacapture-streams/#mediastream\\n */\\nfunction MediaStream(streamOrTracks) {}\\n\\n/**\\n * @override\\n */\\nMediaStream.prototype.addEventListener = function(type, listener,\\n    opt_useCapture) {};\\n\\n/**\\n * @override\\n */\\nMediaStream.prototype.removeEventListener = function(type, listener,\\n    opt_useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\nMediaStream.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * TODO(bemasc): Remove this property.\\n * @deprecated\\n * @type {string}\\n * @const\\n */\\nMediaStream.prototype.label;\\n\\n/**\\n * @type {string}\\n * @const\\n */\\nMediaStream.prototype.id;\\n\\n/**\\n * @return {!Array<!MediaStreamTrack>}\\n */\\nMediaStream.prototype.getAudioTracks = function() {};\\n\\n/**\\n * @return {!Array<!MediaStreamTrack>}\\n */\\nMediaStream.prototype.getVideoTracks = function() {};\\n\\n/**\\n * @return {!Array<!MediaStreamTrack>}\\n */\\nMediaStream.prototype.getTracks = function() {};\\n\\n/**\\n * @param {string} trackId\\n * @return {MediaStreamTrack}\\n */\\nMediaStream.prototype.getTrackById = function(trackId) {};\\n\\n/**\\n * @param {!MediaStreamTrack} track\\n * @return {undefined}\\n */\\nMediaStream.prototype.addTrack = function(track) {};\\n\\n/**\\n * @param {!MediaStreamTrack} track\\n * @return {undefined}\\n */\\nMediaStream.prototype.removeTrack = function(track) {};\\n\\n/**\\n * @return {!MediaStream}\\n */\\nMediaStream.prototype.clone = function() {};\\n\\n/**\\n * @deprecated\\n * @type {boolean}\\n */\\nMediaStream.prototype.ended;\\n\\n/**\\n * @deprecated\\n * @type {?function(!Event)}\\n */\\nMediaStream.prototype.onended;\\n\\n/**\\n * @type {boolean}\\n */\\nMediaStream.prototype.active;\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nMediaStream.prototype.onactive;\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nMediaStream.prototype.oninactive;\\n\\n/**\\n * @type {?function(!MediaStreamTrackEvent)}\\n */\\nMediaStream.prototype.onaddtrack;\\n\\n/**\\n * @type {?function(!MediaStreamTrackEvent)}\\n */\\nMediaStream.prototype.onremovetrack;\\n\\n/**\\n * @deprecated\\n * TODO(bemasc): Remove this method once browsers have updated to\\n * MediaStreamTrack.stop().\\n * @return {undefined}\\n */\\nMediaStream.prototype.stop = function() {};\\n\\n/**\\n * @type {function(new: MediaStream,\\n *                 (!MediaStream|!Array<!MediaStreamTrack>)=)}\\n */\\nvar webkitMediaStream;\\n\\n\\n/**\\n * @typedef {{tone: string}}\\n * @see https://www.w3.org/TR/webrtc/#dom-rtcdtmftonechangeeventinit\\n */\\nvar RTCDTMFToneChangeEventInit;\\n\\n\\n/**\\n * @param {string} type\\n * @param {!RTCDTMFToneChangeEventInit} eventInitDict\\n * @constructor\\n * @extends {Event}\\n * @see https://www.w3.org/TR/webrtc/#dom-rtcdtmftonechangeevent\\n */\\nfunction RTCDTMFToneChangeEvent(type, eventInitDict) {}\\n\\n/**\\n * @const {string}\\n */\\nRTCDTMFToneChangeEvent.prototype.tone;\\n\\n\\n/**\\n * @interface\\n * @see https://www.w3.org/TR/webrtc/#rtcdtmfsender\\n */\\nfunction RTCDTMFSender() {}\\n\\n/**\\n * @param {string} tones\\n * @param {number=} opt_duration\\n * @param {number=} opt_interToneGap\\n */\\nRTCDTMFSender.prototype.insertDTMF =\\n    function(tones, opt_duration, opt_interToneGap) {};\\n\\n/**\\n * @type {?function(!RTCDTMFToneChangeEvent)}\\n */\\nRTCDTMFSender.prototype.ontonechange;\\n\\n/**\\n * @const {string}\\n */\\nRTCDTMFSender.prototype.toneBuffer;\\n\\n\\n/**\\n * @interface\\n * @see https://www.w3.org/TR/webrtc/#rtcrtpsender-interface\\n */\\nfunction RTCRtpSender() {}\\n\\n/**\\n * @const {!RTCDTMFSender}\\n */\\nRTCRtpSender.prototype.dtmf;\\n\\n/**\\n * @const {!MediaStreamTrack}\\n */\\nRTCRtpSender.prototype.track;\\n\\n/**\\n * @param {!MediaStreamTrack} track\\n */\\nRTCRtpSender.prototype.replaceTrack = function(track) {};\\n\\n\\n/**\\n * @return {!Object}\\n */\\nRTCRtpSender.prototype.getParameters = function() {};\\n\\n\\n/**\\n * @param {!Object} params\\n * @return {!Promise<undefined>}\\n */\\nRTCRtpSender.prototype.setParameters = function(params) {};\\n\\n\\n/**\\n * @interface\\n * @see https://www.w3.org/TR/webrtc/#dom-rtcrtpcontributingsource\\n */\\nfunction RTCRtpContributingSource() {}\\n\\n/**\\n * @type {?number}\\n */\\nRTCRtpContributingSource.prototype.source;\\n\\n/**\\n * @type {?Date}\\n */\\nRTCRtpContributingSource.prototype.timestamp;\\n\\n\\n/**\\n * @interface\\n * @see https://www.w3.org/TR/webrtc/#rtcrtpreceiver-interface\\n */\\nfunction RTCRtpReceiver() {}\\n\\n/**\\n * @const {!MediaStreamTrack}\\n */\\nRTCRtpReceiver.prototype.track;\\n\\n/**\\n * @return {!Array<!RTCRtpContributingSource>}\\n */\\nRTCRtpReceiver.prototype.getContributingSources = function() {};\\n\\n\\n/**\\n * @interface\\n * @see https://www.w3.org/TR/webrtc/#rtcrtptransceiver-interface\\n */\\nfunction RTCRtpTransceiver() {}\\n\\n/**\\n * @const {?RTCRtpSender}\\n */\\nRTCRtpTransceiver.prototype.sender;\\n\\n/**\\n * @const {?RTCRtpReceiver}\\n */\\nRTCRtpTransceiver.prototype.receiver;\\n\\n/**\\n * @see https://w3c.github.io/mediacapture-main/getusermedia.html#dom-longrange\\n * @record\\n */\\nfunction LongRange() {}\\n\\n/**\\n * @type {number|undefined}\\n */\\nLongRange.prototype.max;\\n\\n/**\\n * @type {number|undefined}\\n */\\nLongRange.prototype.min;\\n\\n/**\\n * @see https://w3c.github.io/mediacapture-main/getusermedia.html#dom-doublerange\\n * @record\\n */\\nfunction DoubleRange() {}\\n\\n/**\\n * @type {number|undefined}\\n */\\nDoubleRange.prototype.max;\\n\\n/**\\n * @type {number|undefined}\\n */\\nDoubleRange.prototype.min;\\n\\n\\n/**\\n * @see https://w3c.github.io/mediacapture-main/getusermedia.html#dom-constrainbooleanparameters\\n * @record\\n */\\nfunction ConstrainBooleanParameters() {}\\n\\n/**\\n * @type {boolean|undefined}\\n */\\nConstrainBooleanParameters.prototype.exact;\\n\\n/**\\n * @type {boolean|undefined}\\n */\\nConstrainBooleanParameters.prototype.ideal;\\n\\n/**\\n * @see https://w3c.github.io/mediacapture-main/getusermedia.html#dom-constraindomstringparameters\\n * @record\\n */\\nfunction ConstrainDOMStringParameters() {}\\n\\n/**\\n * @type {string|Array<string>|undefined}\\n */\\nConstrainDOMStringParameters.prototype.exact;\\n\\n/**\\n * @type {string|Array<string>|undefined}\\n */\\nConstrainDOMStringParameters.prototype.ideal;\\n\\n/**\\n * @see https://w3c.github.io/mediacapture-main/getusermedia.html#dom-constraindoublerange\\n * @record\\n * @extends {DoubleRange}\\n */\\nfunction ConstrainDoubleRange() {}\\n\\n/**\\n * @type {number|undefined}\\n */\\nConstrainDoubleRange.prototype.exact;\\n\\n/**\\n * @type {number|undefined}\\n */\\nConstrainDoubleRange.prototype.ideal;\\n\\n\\n/**\\n * @see https://w3c.github.io/mediacapture-main/getusermedia.html#dom-constrainlongrange\\n * @record\\n * @extends {LongRange}\\n */\\nfunction ConstrainLongRange() {}\\n\\n/**\\n * @type {number|undefined}\\n */\\nConstrainLongRange.prototype.exact;\\n\\n/**\\n * @type {number|undefined}\\n */\\nConstrainLongRange.prototype.ideal;\\n\\n/**\\n * @see https://w3c.github.io/mediacapture-main/getusermedia.html#dom-constrainboolean\\n * @typedef {boolean|ConstrainBooleanParameters}\\n */\\nvar ConstrainBoolean;\\n\\n/**\\n * @see https://w3c.github.io/mediacapture-main/getusermedia.html#dom-constraindomString\\n * @typedef {string|Array<string>|ConstrainDOMStringParameters}\\n */\\nvar ConstrainDOMString;\\n\\n/**\\n * @see https://w3c.github.io/mediacapture-main/getusermedia.html#dom-constraindouble\\n * @typedef {number|ConstrainDoubleRange}\\n */\\nvar ConstrainDouble;\\n\\n/**\\n * @see https://w3c.github.io/mediacapture-main/getusermedia.html#dom-constrainlong\\n * @typedef {number|ConstrainLongRange}\\n */\\nvar ConstrainLong;\\n\\n\\n/**\\n * @see https://w3c.github.io/mediacapture-main/getusermedia.html#dom-mediatrackconstraintset\\n * @record\\n * @private\\n */\\nfunction MediaTrackConstraintSet() {}\\n\\n/**\\n * @type {ConstrainBoolean|undefined}\\n */\\nMediaTrackConstraintSet.prototype.autoGainControl;\\n\\n/**\\n * @type {ConstrainDouble|undefined}\\n */\\nMediaTrackConstraintSet.prototype.aspectRatio;\\n\\n/**\\n * @type {ConstrainLong|undefined}\\n */\\nMediaTrackConstraintSet.prototype.channelCount;\\n\\n/**\\n * @type {ConstrainDOMString|undefined}\\n */\\nMediaTrackConstraintSet.prototype.deviceId;\\n\\n/**\\n * @type {ConstrainBoolean|undefined}\\n */\\nMediaTrackConstraintSet.prototype.echoCancellation;\\n\\n/**\\n * @type {ConstrainDOMString|undefined}\\n */\\nMediaTrackConstraintSet.prototype.facingMode;\\n\\n/**\\n * @type {ConstrainDouble|undefined}\\n */\\nMediaTrackConstraintSet.prototype.frameRate;\\n\\n/**\\n * @type {ConstrainDOMString|undefined}\\n */\\nMediaTrackConstraintSet.prototype.groupId;\\n\\n/**\\n * @type {ConstrainLong|undefined}\\n */\\nMediaTrackConstraintSet.prototype.height;\\n\\n/**\\n * @type {ConstrainDouble|undefined}\\n */\\nMediaTrackConstraintSet.prototype.latency;\\n\\n/**\\n * @type {ConstrainBoolean|undefined}\\n */\\nMediaTrackConstraintSet.prototype.noiseSuppression;\\n\\n/**\\n * @type {ConstrainLong|undefined}\\n */\\nMediaTrackConstraintSet.prototype.sampleRate;\\n\\n/**\\n * @type {ConstrainLong|undefined}\\n */\\nMediaTrackConstraintSet.prototype.sampleSize;\\n\\n/**\\n * @type {ConstrainDouble|undefined}\\n */\\nMediaTrackConstraintSet.prototype.volume;\\n\\n/**\\n * @type {ConstrainLong|undefined}\\n */\\nMediaTrackConstraintSet.prototype.width;\\n\\n\\n/**\\n * @record\\n * @extends {MediaTrackConstraintSet}\\n */\\nfunction MediaTrackConstraints() {}\\n\\n/**\\n * @type {Array<!MediaTrackConstraintSet>|undefined}\\n */\\nMediaTrackConstraints.prototype.advanced;\\n\\n/**\\n * @see https://w3c.github.io/mediacapture-main/getusermedia.html#media-track-constraints\\n * @record\\n */\\nfunction MediaStreamConstraints() {}\\n\\n/**\\n * @type {boolean|MediaTrackConstraints|undefined}\\n */\\nMediaStreamConstraints.prototype.audio;\\n\\n/**\\n * @type {boolean|MediaTrackConstraints|undefined}\\n */\\nMediaStreamConstraints.prototype.video;\\n\\n/**\\n * @see {http://dev.w3.org/2011/webrtc/editor/getusermedia.html#\\n *     navigatorusermediaerror-and-navigatorusermediaerrorcallback}\\n * @interface\\n */\\nfunction NavigatorUserMediaError() {}\\n\\n/**\\n * @type {number}\\n * @deprecated Removed from the standard and some browsers.\\n * @const\\n */\\nNavigatorUserMediaError.prototype.PERMISSION_DENIED;  /** 1 */\\n\\n/**\\n * @type {number}\\n * @deprecated Removed from the standard and some browsers.\\n * Read only.\\n */\\nNavigatorUserMediaError.prototype.code;\\n\\n/**\\n * @type {string}\\n * Read only.\\n */\\nNavigatorUserMediaError.prototype.name;\\n\\n/**\\n * @type {?string}\\n * Read only.\\n */\\nNavigatorUserMediaError.prototype.message;\\n\\n/**\\n * @type {?string}\\n * Read only.\\n */\\nNavigatorUserMediaError.prototype.constraintName;\\n\\n/**\\n * @param {MediaStreamConstraints} constraints A MediaStreamConstraints object.\\n * @param {function(!MediaStream)} successCallback\\n *     A NavigatorUserMediaSuccessCallback function.\\n * @param {function(!NavigatorUserMediaError)=} errorCallback A\\n *     NavigatorUserMediaErrorCallback function.\\n * @see http://dev.w3.org/2011/webrtc/editor/getusermedia.html\\n * @see https://www.w3.org/TR/mediacapture-streams/\\n * @return {undefined}\\n */\\nNavigator.prototype.webkitGetUserMedia =\\n  function(constraints, successCallback, errorCallback) {};\\n\\n/**\\n * @param {string} type\\n * @param {!Object} eventInitDict\\n * @constructor\\n */\\nfunction MediaStreamEvent(type, eventInitDict) {}\\n\\n/**\\n * @type {?MediaStream}\\n * @const\\n */\\nMediaStreamEvent.prototype.stream;\\n\\n/**\\n * @record\\n * @see https://www.w3.org/TR/mediastream-recording/#dictdef-mediarecorderoptions\\n */\\nfunction MediaRecorderOptions() {}\\n\\n/** @type {(string|undefined)} */\\nMediaRecorderOptions.prototype.mimeType\\n\\n/** @type {(number|undefined)} */\\nMediaRecorderOptions.prototype.audioBitsPerSecond\\n\\n/** @type {(number|undefined)} */\\nMediaRecorderOptions.prototype.videoBitsPerSecond\\n\\n/** @type {(number|undefined)} */\\nMediaRecorderOptions.prototype.bitsPerSecond\\n\\n/**\\n * @see https://www.w3.org/TR/mediastream-recording/#mediarecorder-api\\n * @param {!MediaStream} stream\\n * @param {MediaRecorderOptions=} options\\n * @implements {EventTarget}\\n * @constructor\\n */\\nfunction MediaRecorder(stream, options) {}\\n\\n/**\\n * @override\\n */\\nMediaRecorder.prototype.addEventListener = function(type, listener,\\n    opt_useCapture) {};\\n\\n/**\\n * @override\\n */\\nMediaRecorder.prototype.removeEventListener = function(type, listener,\\n    opt_useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\nMediaRecorder.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * @type {!MediaStream}\\n */\\nMediaRecorder.prototype.stream;\\n\\n/**\\n * @type {string}\\n */\\nMediaRecorder.prototype.mimeType;\\n\\n/**\\n * @type {string}\\n */\\nMediaRecorder.prototype.state;\\n\\n/**\\n * @type {(function(!Event)|undefined)}\\n */\\nMediaRecorder.prototype.onstart;\\n\\n/**\\n * @type {(function(!Event)|undefined)}\\n */\\nMediaRecorder.prototype.onstop;\\n\\n/**\\n * @type {(function(!Event)|undefined)}\\n */\\nMediaRecorder.prototype.ondataavailable;\\n\\n/**\\n * @type {(function(!Event)|undefined)}\\n */\\nMediaRecorder.prototype.onpause;\\n\\n/**\\n * @type {(function(!Event)|undefined)}\\n */\\nMediaRecorder.prototype.onresume;\\n\\n/**\\n * @type {(function(!Event)|undefined)}\\n */\\nMediaRecorder.prototype.onerror;\\n\\n/**\\n * @type {number}\\n */\\nMediaRecorder.prototype.videoBitsPerSecond;\\n\\n/**\\n * @type {number}\\n */\\nMediaRecorder.prototype.audioBitsPerSecond;\\n\\n/**\\n * @param {number=} timeslice\\n */\\nMediaRecorder.prototype.start = function(timeslice) {};\\n\\n/** @return {void} */\\nMediaRecorder.prototype.stop = function() {};\\n\\n/** @return {void} */\\nMediaRecorder.prototype.pause = function() {};\\n\\n/** @return {void} */\\nMediaRecorder.prototype.resume = function() {};\\n\\n/** @return {void} */\\nMediaRecorder.prototype.requestData = function() {};\\n\\n/**\\n * @param {string} type\\n * @return {boolean}\\n */\\nMediaRecorder.isTypeSupported = function(type) {};\\n\\n/**\\n * @interface\\n * @see https://w3c.github.io/mediacapture-image/##photosettings-section\\n */\\nfunction PhotoSettings() {}\\n\\n/**\\n * @type {string}\\n */\\nPhotoSettings.prototype.fillLightMode;\\n\\n/**\\n * @type {number}\\n */\\nPhotoSettings.prototype.imageHeight;\\n\\n/**\\n * @type {number}\\n */\\nPhotoSettings.prototype.imageWidth;\\n\\n/**\\n * @type {boolean}\\n */\\nPhotoSettings.prototype.redEyeReduction;\\n\\n/**\\n * @interface\\n * @see https://w3c.github.io/mediacapture-image/##photocapabilities-section\\n */\\nfunction PhotoCapabilities() {}\\n\\n/**\\n * @type {string}\\n * @const\\n */\\nPhotoCapabilities.prototype.redEyeReduction;\\n\\n/**\\n * @type {!MediaSettingsRange}\\n * @const\\n */\\nPhotoCapabilities.prototype.imageHeight;\\n\\n/**\\n * @type {!MediaSettingsRange}\\n * @const\\n */\\nPhotoCapabilities.prototype.imageWidth;\\n\\n/**\\n * @type {!Array<!string>}\\n * @const\\n */\\nPhotoCapabilities.prototype.fillLight";
a.a+="Mode;\\n\\n/**\\n * @see https://w3c.github.io/mediacapture-image/\\n * @param {!MediaStreamTrack} videoTrack\\n * @constructor\\n */\\nfunction ImageCapture(videoTrack) {}\\n\\n/**\\n * @param {!PhotoSettings=} photoSettings\\n * @return {!Promise<!Blob>}\\n */\\nImageCapture.prototype.takePhoto = function(photoSettings) {};\\n\\n/**\\n * @return {!Promise<!PhotoCapabilities>}\\n */\\nImageCapture.prototype.getPhotoCapabilities = function() {};\\n\\n/**\\n * @return {!Promise<!ImageBitmap>}\\n */\\nImageCapture.prototype.grabFrame = function() {};\\n\\n/**\\n * @type {!MediaStreamTrack}\\n * @const\\n */\\nImageCapture.prototype.track;\\n\\n/**\\n * @see https://www.w3.org/TR/webrtc/#rtctrackevent\\n * @param {string} type\\n * @param {!Object} eventInitDict\\n * @constructor\\n */\\nfunction RTCTrackEvent(type, eventInitDict) {}\\n\\n/**\\n * @type {?RTCRtpReceiver}\\n * @const\\n */\\nRTCTrackEvent.prototype.receiver;\\n\\n/**\\n * @type {?MediaStreamTrack}\\n * @const\\n */\\nRTCTrackEvent.prototype.track;\\n\\n/**\\n * @type {?Array<!MediaStream>}\\n * @const\\n */\\nRTCTrackEvent.prototype.streams;\\n\\n/**\\n * @type {?RTCRtpTransceiver}\\n * @const\\n */\\nRTCTrackEvent.prototype.transceiver;\\n\\n/**\\n * @typedef {string}\\n * @see https://www.w3.org/TR/mediacapture-streams/#idl-def-MediaDeviceKind\\n * In WebIDL this is an enum with values 'audioinput', 'audiooutput', and\\n * 'videoinput', but there is no mechanism in Closure for describing a\\n * specialization of the string type.\\n */\\nvar MediaDeviceKind;\\n\\n/**\\n * @interface\\n */\\nfunction MediaDeviceInfo() {}\\n\\n/** @const {string} */\\nMediaDeviceInfo.prototype.deviceId;\\n\\n/** @const {!MediaDeviceKind} */\\nMediaDeviceInfo.prototype.kind;\\n\\n/** @const {string} */\\nMediaDeviceInfo.prototype.label;\\n\\n/** @const {string} */\\nMediaDeviceInfo.prototype.groupId;\\n\\n/**\\n * @interface\\n * @extends {EventTarget}\\n * @see https://www.w3.org/TR/mediacapture-streams/#mediadevices\\n */\\nfunction MediaDevices() {}\\n\\n/**\\n * @return {!Promise<!Array<!MediaDeviceInfo>>}\\n */\\nMediaDevices.prototype.enumerateDevices = function() {};\\n\\n/**\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia\\n * @param {!MediaStreamConstraints} constraints\\n * @return {!Promise<!MediaStream>}\\n */\\nMediaDevices.prototype.getUserMedia = function(constraints) {}\\n\\n/**\\n * @see https://w3c.github.io/mediacapture-main/#dom-mediadevices-getsupportedconstraints\\n * @return {!MediaTrackSupportedConstraints}\\n */\\nMediaDevices.prototype.getSupportedConstraints = function()  {}\\n\\n/** @const {!MediaDevices} */\\nNavigator.prototype.mediaDevices;\\n\\n/**\\n * @typedef {string}\\n * @see https://www.w3.org/TR/webrtc/#rtcsdptype\\n * In WebIDL this is an enum with values 'offer', 'pranswer', and 'answer',\\n * but there is no mechanism in Closure for describing a specialization of\\n * the string type.\\n */\\nvar RTCSdpType;\\n\\n/**\\n * @param {!Object=} descriptionInitDict The RTCSessionDescriptionInit\\n * dictionary.  This optional argument may have type\\n * {type:RTCSdpType, sdp:string}, but neither of these keys are required to be\\n * present, and other keys are ignored, so the closest Closure type is Object.\\n * @constructor\\n * @see https://www.w3.org/TR/webrtc/#rtcsessiondescription-class\\n */\\nfunction RTCSessionDescription(descriptionInitDict) {}\\n\\n/**\\n * @type {?RTCSdpType}\\n * @see https://www.w3.org/TR/webrtc/#dom-rtcsessiondescription-type\\n */\\nRTCSessionDescription.prototype.type;\\n\\n/**\\n * @type {?string}\\n * @see https://www.w3.org/TR/webrtc/#dom-rtcsessiondescription-sdp\\n */\\nRTCSessionDescription.prototype.sdp;\\n\\n/**\\n * TODO(bemasc): Remove this definition once it is removed from the browser.\\n * @param {string} label The label index (audio/video/data -> 0,1,2)\\n * @param {string} sdp The ICE candidate in SDP text form\\n * @constructor\\n */\\nfunction IceCandidate(label, sdp) {}\\n\\n/**\\n * @return {string}\\n */\\nIceCandidate.prototype.toSdp = function() {};\\n\\n/**\\n * @type {?string}\\n */\\nIceCandidate.prototype.label;\\n\\n/** @record */\\nfunction RTCIceCandidateInit() {};\\n\\n/** @type {?string|undefined} */\\nRTCIceCandidateInit.prototype.candidate;\\n\\n/** @type {(?string|undefined)} */\\nRTCIceCandidateInit.prototype.sdpMid;\\n\\n/** @type {(?number|undefined)} */\\nRTCIceCandidateInit.prototype.sdpMLineIndex;\\n\\n/** @type {(string|undefined)} */\\nRTCIceCandidateInit.prototype.usernameFragment;\\n\\n/**\\n * @param {!RTCIceCandidateInit=} candidateInitDict  The RTCIceCandidateInit dictionary.\\n * @constructor\\n * @see https://www.w3.org/TR/webrtc/#rtcicecandidate-interface\\n */\\nfunction RTCIceCandidate(candidateInitDict) {}\\n\\n/**\\n * @type {?string}\\n */\\nRTCIceCandidate.prototype.candidate;\\n\\n/**\\n * @type {?string}\\n */\\nRTCIceCandidate.prototype.sdpMid;\\n\\n/**\\n * @type {?number}\\n */\\nRTCIceCandidate.prototype.sdpMLineIndex;\\n\\n/**\\n * @typedef {{urls: string}|{urls: !Array<!string>}}\\n * @private\\n * @see https://www.w3.org/TR/webrtc/#rtciceserver-dictionary\\n * This dictionary type also has an optional key {credential: ?string}.\\n */\\nvar RTCIceServerRecord_;\\n\\n/**\\n * @interface\\n * @private\\n */\\nfunction RTCIceServerInterface_() {}\\n\\n/**\\n * @type {string|!Array<!string>}\\n */\\nRTCIceServerInterface_.prototype.urls;\\n\\n/**\\n * @type {?string}\\n */\\nRTCIceServerInterface_.prototype.username;\\n\\n/**\\n * @type {?string}\\n */\\nRTCIceServerInterface_.prototype.credential;\\n\\n/**\\n * This type, and several below it, are constructed as unions between records\\n *\\n * @typedef {RTCIceServerRecord_|RTCIceServerInterface_}\\n * @private\\n */\\nvar RTCIceServer;\\n\\n/**\\n * @typedef {{iceServers: !Array<!RTCIceServer>}}\\n * @private\\n */\\nvar RTCConfigurationRecord_;\\n\\n/**\\n * @interface\\n * @private\\n */\\nfunction RTCConfigurationInterface_() {}\\n\\n/**\\n * @type {!Array<!RTCIceServer>}\\n */\\nRTCConfigurationInterface_.prototype.iceServers;\\n\\n/**\\n * @typedef {RTCConfigurationRecord_|RTCConfigurationInterface_}\\n */\\nvar RTCConfiguration;\\n\\n/**\\n * @typedef {function(!RTCSessionDescription)}\\n */\\nvar RTCSessionDescriptionCallback;\\n\\n/**\\n * @typedef {function(string)}\\n */\\nvar RTCPeerConnectionErrorCallback;\\n\\n/**\\n * @typedef {function()}\\n */\\nvar RTCVoidCallback;\\n\\n/**\\n * @typedef {string}\\n */\\nvar RTCSignalingState;\\n\\n/**\\n * @typedef {string}\\n */\\nvar RTCIceConnectionState;\\n\\n/**\\n * @typedef {string}\\n */\\nvar RTCIceGatheringState;\\n\\n/**\\n * @param {string} type\\n * @param {!Object} eventInitDict\\n * @constructor\\n */\\nfunction RTCPeerConnectionIceEvent(type, eventInitDict) {}\\n\\n/**\\n * @type {RTCIceCandidate}\\n * @const\\n */\\nRTCPeerConnectionIceEvent.prototype.candidate;\\n\\n// Note: The specification of RTCStats types is still under development.\\n// Declarations here will be updated and removed to follow the development of\\n// modern browsers, breaking compatibility with older versions as they become\\n// obsolete.\\n/**\\n * @interface\\n */\\nfunction RTCStatsReport() {}\\n\\n/**\\n * @type {Date}\\n * @const\\n */\\nRTCStatsReport.prototype.timestamp;\\n\\n/**\\n * @return {!Array<!string>}\\n */\\nRTCStatsReport.prototype.names = function() {};\\n\\n/**\\n * @param {string} name\\n * @return {string}\\n */\\nRTCStatsReport.prototype.stat = function(name) {};\\n\\n/**\\n * @deprecated\\n * @type {RTCStatsReport}\\n * @const\\n */\\nRTCStatsReport.prototype.local;\\n\\n/**\\n * @deprecated\\n * @type {RTCStatsReport}\\n * @const\\n */\\nRTCStatsReport.prototype.remote;\\n\\n/**\\n * @type {string}\\n * @const\\n */\\nRTCStatsReport.prototype.type;\\n\\n/**\\n * @type {string}\\n * @const\\n */\\nRTCStatsReport.prototype.id;\\n\\n// Note: Below are Map like methods supported by WebRTC statistics\\n// specification-compliant RTCStatsReport. Currently only implemented by\\n// Mozilla.\\n// See https://www.w3.org/TR/webrtc/#rtcstatsreport-object for definition.\\n/**\\n * @param {function(this:SCOPE, Object)} callback\\n * @param {SCOPE=} opt_thisObj The value of \\\"this\\\" inside callback function.\\n * @template SCOPE\\n * @readonly\\n */\\nRTCStatsReport.prototype.forEach = function(callback, opt_thisObj) {};\\n\\n/**\\n * @param {string} key\\n * @return {Object}\\n * @readonly\\n */\\nRTCStatsReport.prototype.get = function(key) {};\\n\\n/**\\n * @return {!Iterator<string>}\\n * @readonly\\n */\\nRTCStatsReport.prototype.keys = function() {};\\n\\n/**\\n * TODO(bemasc): Remove this type once it is no longer in use.  It has already\\n * been removed from the specification.\\n * @typedef {RTCStatsReport}\\n * @deprecated\\n */\\nvar RTCStatsElement;\\n\\n/**\\n * @interface\\n */\\nfunction RTCStatsResponse() {}\\n\\n/**\\n * @return {!Array<!RTCStatsReport>}\\n */\\nRTCStatsResponse.prototype.result = function() {};\\n\\n/**\\n * @typedef {function(!RTCStatsResponse, MediaStreamTrack=)}\\n */\\nvar RTCStatsCallback;\\n\\n/**\\n * This type is not yet standardized, so the properties here only represent\\n * the current capabilities of libjingle (and hence Chromium).\\n * TODO(bemasc): Add a link to the relevant standard once MediaConstraint has a\\n * standard definition.\\n *\\n * @interface\\n * @private\\n */\\nfunction MediaConstraintSetInterface_() {}\\n\\n/**\\n * @type {?boolean}\\n */\\nMediaConstraintSetInterface_.prototype.OfferToReceiveAudio;\\n\\n/**\\n * @type {?boolean}\\n */\\nMediaConstraintSetInterface_.prototype.OfferToReceiveVideo;\\n\\n/**\\n * @type {?boolean}\\n */\\nMediaConstraintSetInterface_.prototype.DtlsSrtpKeyAgreement;\\n\\n/**\\n * @type {?boolean}\\n */\\nMediaConstraintSetInterface_.prototype.RtpDataChannels;\\n\\n/**\\n * TODO(bemasc): Make this type public once it is defined in a standard.\\n *\\n * @typedef {Object|MediaConstraintSetInterface_}\\n * @private\\n */\\nvar MediaConstraintSet_;\\n\\n/**\\n * @interface\\n * @private\\n */\\nfunction MediaConstraintsInterface_() {}\\n\\n/**\\n * @type {?MediaConstraintSet_}\\n */\\nMediaConstraintsInterface_.prototype.mandatory;\\n\\n/**\\n * @type {?Array<!MediaConstraintSet_>}\\n */\\nMediaConstraintsInterface_.prototype.optional;\\n\\n/**\\n * This type is used extensively in\\n * {@see http://dev.w3.org/2011/webrtc/editor/webrtc.html} but is not yet\\n * defined.\\n *\\n * @typedef {Object|MediaConstraintsInterface_}\\n */\\nvar MediaConstraints;\\n\\n/**\\n * @interface\\n * @extends {EventTarget}\\n */\\nfunction RTCDataChannel() {}\\n\\n/**\\n * @type {string}\\n * @const\\n */\\nRTCDataChannel.prototype.label;\\n\\n/**\\n * @type {boolean}\\n * @const\\n */\\nRTCDataChannel.prototype.reliable;\\n\\n/**\\n * An enumerated string type (RTCDataChannelState) with values:\\n * \\\"connecting\\\", \\\"open\\\", \\\"closing\\\", and \\\"closed\\\".\\n * @type {string}\\n * Read only.\\n */\\nRTCDataChannel.prototype.readyState;\\n\\n/**\\n * @type {number}\\n * Read only.\\n */\\nRTCDataChannel.prototype.bufferedAmount;\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nRTCDataChannel.prototype.onopen;\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nRTCDataChannel.prototype.onerror;\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nRTCDataChannel.prototype.onclose;\\n\\nRTCDataChannel.prototype.close = function() {};\\n\\n/**\\n * @type {?function(!MessageEvent<*>)}\\n */\\nRTCDataChannel.prototype.onmessage;\\n\\n/**\\n * @type {string}\\n */\\nRTCDataChannel.prototype.binaryType;\\n\\n/**\\n * @param {string|!Blob|!ArrayBuffer|!ArrayBufferView} data\\n * @return {undefined}\\n */\\nRTCDataChannel.prototype.send = function(data) {};\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n * @private\\n */\\nfunction RTCDataChannelEvent() {}\\n\\n/**\\n * @type {!RTCDataChannel}\\n * Read only.\\n */\\nRTCDataChannelEvent.prototype.channel;\\n\\n/**\\n * @typedef {{reliable: boolean}}\\n */\\nvar RTCDataChannelInitRecord_;\\n\\n/**\\n * @interface\\n * @private\\n */\\nfunction RTCDataChannelInitInterface_() {}\\n\\n/**\\n * @type {boolean}\\n */\\nRTCDataChannelInitInterface_.prototype.reliable;\\n\\n/**\\n * @typedef {Object}\\n * @property {boolean=} [ordered=true]\\n * @property {number=} maxPacketLifeTime\\n * @property {number=} maxRetransmits\\n * @property {string=} [protocol=\\\"\\\"]\\n * @property {boolean=} [negotiated=false]\\n * @property {number=} id\\n * @property {string=} [priority='low']\\n * see https://www.w3.org/TR/webrtc/#dom-rtcdatachannelinit for documentation\\n * Type inconsistencies due to Closure limitations:\\n * maxPacketLifeTime should be UnsignedShort\\n * maxRetransmits should be UnsignedShort\\n * protocol should be USVString\\n * id should be UnsignedShort\\n * In WebIDL priority is an enum with values 'very-low', 'low',\\n * 'medium' and 'high', but there is no mechanism in Closure for describing\\n * a specialization of the string type.\\n */\\nvar RTCDataChannelInitDictionary_;\\n\\n/**\\n * @typedef {RTCDataChannelInitInterface_|RTCDataChannelInitRecord_|RTCDataChannelInitDictionary_}\\n */\\nvar RTCDataChannelInit;\\n\\n/**\\n * @typedef {{expires: number}}\\n */\\nvar RTCCertificate;\\n\\n/**\\n * @param {RTCConfiguration} configuration\\n * @param {!MediaConstraints=} constraints\\n * @constructor\\n * @implements {EventTarget}\\n */\\nfunction RTCPeerConnection(configuration, constraints) {}\\n\\n/**\\n * @param {Object} keygenAlgorithm\\n * @return {Promise<RTCCertificate>}\\n */\\nRTCPeerConnection.generateCertificate = function (keygenAlgorithm) {};\\n\\n/**\\n * @override\\n */\\nRTCPeerConnection.prototype.addEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @override\\n */\\nRTCPeerConnection.prototype.removeEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\nRTCPeerConnection.prototype.dispatchEvent = function(evt) {};\\n\\n\\n// NB: Until closure annotations support overloading, many of the following\\n// functions take odd unions of parameter types.  This is to support the various\\n// api differences between browsers.  Generally, returning a promise means you\\n// don't take callback function parameters and draw any further parameters\\n// forward, and vice versa.\\n\\n/**\\n * @param {(!RTCSessionDescriptionCallback|!MediaConstraints)=}\\n *    successCallbackOrConstraints\\n * @param {!RTCPeerConnectionErrorCallback=} errorCallback\\n * @param {!MediaConstraints=} constraints\\n * @return {!Promise<!RTCSessionDescription>|undefined}\\n */\\nRTCPeerConnection.prototype.createOffer = function(successCallbackOrConstraints,\\n    errorCallback, constraints) {};\\n\\n/**\\n * @param {(!RTCSessionDescriptionCallback|!MediaConstraints)=}\\n *    successCallbackOrConstraints\\n * @param {!RTCPeerConnectionErrorCallback=} errorCallback\\n * @param {!MediaConstraints=} constraints\\n * @return {!Promise<!RTCSessionDescription>|undefined}\\n */\\nRTCPeerConnection.prototype.createAnswer =\\n    function(successCallbackOrConstraints, errorCallback, constraints) {};\\n\\n/**\\n * @param {!RTCSessionDescription} description\\n * @param {!RTCVoidCallback=} successCallback\\n * @param {!RTCPeerConnectionErrorCallback=} errorCallback\\n * @return {!Promise<!RTCSessionDescription>|undefined}\\n */\\nRTCPeerConnection.prototype.setLocalDescription = function(description,\\n    successCallback, errorCallback) {};\\n\\n/**\\n * @param {!RTCSessionDescription} description\\n * @param {!RTCVoidCallback=} successCallback\\n * @param {!RTCPeerConnectionErrorCallback=} errorCallback\\n * @return {!Promise<!RTCSessionDescription>|undefined}\\n */\\nRTCPeerConnection.prototype.setRemoteDescription = function(description,\\n    successCallback, errorCallback) {};\\n\\n/**\\n * @type {?RTCSessionDescription}\\n * Read only.\\n */\\nRTCPeerConnection.prototype.localDescription;\\n\\n/**\\n * @type {?RTCSessionDescription}\\n * Read only.\\n */\\nRTCPeerConnection.prototype.remoteDescription;\\n\\n/**\\n * @type {RTCSignalingState}\\n * Read only.\\n */\\nRTCPeerConnection.prototype.signalingState;\\n\\n/**\\n * @param {?RTCConfiguration=} configuration\\n * @param {?MediaConstraints=} constraints\\n * @return {undefined}\\n */\\nRTCPeerConnection.prototype.updateIce = function(configuration, constraints) {};\\n\\n/**\\n * Void in Chrome for now, a promise that you can then/catch in Firefox.\\n * @param {!RTCIceCandidate} candidate\\n * @param {!RTCVoidCallback=} successCallback\\n * @param {!function(DOMException)=} errorCallback\\n * @return {!Promise|undefined}\\n */\\nRTCPeerConnection.prototype.addIceCandidate = function(candidate, successCallback, errorCallback) {};\\n\\n/**\\n * @type {!RTCIceGatheringState}\\n * Read only.\\n */\\nRTCPeerConnection.prototype.iceGatheringState;\\n\\n/**\\n * @type {!RTCIceConnectionState}\\n * Read only.\\n */\\nRTCPeerConnection.prototype.iceConnectionState;\\n\\n/**\\n * @return {!Array<!MediaStream>}\\n */\\nRTCPeerConnection.protot";
a.a+='ype.getLocalStreams = function() {};\\n\\n/**\\n * @return {!Array<!MediaStream>}\\n */\\nRTCPeerConnection.prototype.getRemoteStreams = function() {};\\n\\n/**\\n * @param {string} streamId\\n * @return {MediaStream}\\n */\\nRTCPeerConnection.prototype.getStreamById = function(streamId) {};\\n\\n/**\\n * @return {!Array<!RTCRtpSender>}\\n */\\nRTCPeerConnection.prototype.getSenders = function() {};\\n\\n/**\\n * @return {!Array<!RTCRtpReceiver>}\\n */\\nRTCPeerConnection.prototype.getReceivers = function() {};\\n\\n/**\\n * @param {?string} label\\n * @param {RTCDataChannelInit=} dataChannelDict\\n * @return {!RTCDataChannel}\\n */\\nRTCPeerConnection.prototype.createDataChannel =\\n    function(label, dataChannelDict) {};\\n/**\\n * @param {!MediaStream} stream\\n * @param {!MediaConstraints=} constraints\\n * @return {undefined}\\n */\\nRTCPeerConnection.prototype.addStream = function(stream, constraints) {};\\n\\n/**\\n * @param {!MediaStream} stream\\n * @return {undefined}\\n */\\nRTCPeerConnection.prototype.removeStream = function(stream) {};\\n\\n/**\\n * @param {!MediaStreamTrack} track\\n * @param {!MediaStream} stream\\n * @param {...MediaStream} var_args Additional streams.\\n * @return {!RTCRtpSender}\\n */\\nRTCPeerConnection.prototype.addTrack = function(track, stream, var_args) {};\\n\\n\\n/**\\n * @param {!RTCRtpSender} sender\\n * @return {undefined}\\n */\\nRTCPeerConnection.prototype.removeTrack = function(sender) {};\\n\\n// TODO(bemasc): Add identity provider stuff once implementations exist\\n\\n// TODO(rjogrady): Per w3c spec, getStats() should always return a Promise.\\n// Remove RTCStatsReport from the return value once Firefox supports that.\\n/**\\n * Firefox\' getstats is synchronous and returns a much simpler\\n * {!RTCStatsReport} Map-like object.\\n * @param {!RTCStatsCallback=} successCallback\\n * @param {MediaStreamTrack=} selector\\n * @return {undefined|!RTCStatsReport|!Promise<!RTCStatsReport>}\\n */\\nRTCPeerConnection.prototype.getStats = function(successCallback, selector) {};\\n\\nRTCPeerConnection.prototype.close = function() {};\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nRTCPeerConnection.prototype.onnegotiationneeded;\\n\\n/**\\n * @type {?function(!RTCPeerConnectionIceEvent)}\\n */\\nRTCPeerConnection.prototype.onicecandidate;\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nRTCPeerConnection.prototype.onsignalingstatechange;\\n\\n/**\\n * @type {?function(!MediaStreamEvent)}\\n */\\nRTCPeerConnection.prototype.onaddstream;\\n\\n/**\\n * @type {?function(!RTCTrackEvent)}\\n */\\nRTCPeerConnection.prototype.ontrack;\\n\\n/**\\n * @type {?function(!MediaStreamEvent)}\\n */\\nRTCPeerConnection.prototype.onremovestream;\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nRTCPeerConnection.prototype.oniceconnectionstatechange;\\n\\n/**\\n * @type {?function(!RTCDataChannelEvent)}\\n */\\nRTCPeerConnection.prototype.ondatachannel;\\n\\n/**\\n * @const\\n */\\nvar webkitRTCPeerConnection = RTCPeerConnection;\\n","externs/w3c_screen_orientation.js":"/*\\n * Copyright 2016 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s Screen Orientation API.\\n * @see https://w3c.github.io/screen-orientation/\\n *\\n * @externs\\n */\\n\\n/**\\n * @interface\\n * @extends {EventTarget}\\n * @see https://w3c.github.io/screen-orientation/#screenorientation-interface\\n */\\nvar ScreenOrientation = function() {};\\n\\n/**\\n * @param {string} orientation\\n * @return {!Promise<void>}\\n */\\nScreenOrientation.prototype.lock = function(orientation) {};\\n\\n/** @return {void} */\\nScreenOrientation.prototype.unlock = function() {};\\n\\n/** @const {string} */\\nScreenOrientation.prototype.type;\\n\\n/** @const {number} */\\nScreenOrientation.prototype.angle;\\n\\n/** @type {?function(!Event)} */\\nScreenOrientation.prototype.onchange;\\n\\n/**\\n * @type {?ScreenOrientation}\\n * @see https://w3c.github.io/screen-orientation/#extensions-to-the-screen-interface\\n */\\nScreen.prototype.orientation;\\n","externs/w3c_selectors.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s Selectors API.\\n *  This file depends on w3c_dom1.js.\\n *  @see http://www.w3.org/TR/selectors-api2/\\n *\\n * @externs\\n * @author mihaip@google.com (Mihai Parparita)\\n */\\n\\n/**\\n * @param {string} selectors\\n * @return {?Element}\\n * @override\\n * @nosideeffects\\n */\\nDocument.prototype.querySelector = function(selectors) {};\\n\\n/**\\n * @param {string} selectors\\n * @return {!NodeList<!Element>}\\n * @override\\n * @nosideeffects\\n */\\nDocument.prototype.querySelectorAll = function(selectors) {};\\n\\n/**\\n * @param {string} selectors\\n * @return {?Element}\\n * @override\\n * @nosideeffects\\n */\\nElement.prototype.querySelector = function(selectors) {};\\n\\n/**\\n * @param {string} selectors\\n * @return {!NodeList<!Element>}\\n * @override\\n * @nosideeffects\\n */\\nElement.prototype.querySelectorAll = function(selectors) {};\\n\\n/**\\n * https://dom.spec.whatwg.org/#dom-element-closest\\n * https://developer.mozilla.org/en-US/docs/Web/API/Element.closest\\n * @param {string} selectors\\n * @return {?Element}\\n * @nosideeffects\\n */\\nElement.prototype.closest = function(selectors) {};\\n\\n/**\\n * https://dom.spec.whatwg.org/#dom-element-matches\\n * https://developer.mozilla.org/en-US/docs/Web/API/Element.matches\\n * @param {string} selectors\\n * @return {boolean}\\n * @nosideeffects\\n */\\nElement.prototype.matches = function(selectors) {};\\n\\n/**\\n * @param {string} selectors\\n * @param {(Node|NodeList<?>)=} refNodes\\n * @return {boolean}\\n * @nosideeffects\\n */\\nElement.prototype.matchesSelector = function(selectors, refNodes) {};\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/Node.mozMatchesSelector\\n * @param {string} selectors\\n * @return {boolean}\\n * @nosideeffects\\n */\\nElement.prototype.mozMatchesSelector = function(selectors) {};\\n\\n/**\\n * @see http://developer.apple.com/library/safari/documentation/WebKit/Reference/ElementClassRef/Element/Element.html\\n * @param {string} selectors\\n * @return {boolean}\\n * @nosideeffects\\n */\\nElement.prototype.webkitMatchesSelector = function(selectors) {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ff975201.aspx\\n * @param {string} selectors\\n * @return {boolean}\\n * @nosideeffects\\n */\\nElement.prototype.msMatchesSelector = function(selectors) {};\\n\\n/**\\n * @see http://www.opera.com/docs/changelogs/windows/1150/\\n * @param {string} selectors\\n * @return {boolean}\\n * @nosideeffects\\n */\\nElement.prototype.oMatchesSelector = function(selectors) {};\\n","externs/w3c_serviceworker.js":"/*\\n * Copyright 2014 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n/**\\n * @fileoverview Externs for service worker.\\n *\\n * @see http://www.w3.org/TR/service-workers/\\n * @externs\\n */\\n\\n/**\\n * @see http://www.w3.org/TR/service-workers/#service-worker-interface\\n * @constructor\\n * @extends {Worker}\\n */\\nfunction ServiceWorker() {}\\n\\n/** @type {string} */\\nServiceWorker.prototype.scriptURL;\\n\\n/** @type {ServiceWorkerState} */\\nServiceWorker.prototype.state;\\n\\n/** @type {?function(!Event)} */\\nServiceWorker.prototype.onstatechange;\\n\\n/**\\n *  Set of possible string values: \'installing\', \'installed\', \'activating\',\\n * \'activated\', \'redundant\'.\\n *  @typedef {string}\\n */\\nvar ServiceWorkerState;\\n\\n/**\\n * @see https://w3c.github.io/ServiceWorker/#navigationpreloadmanager\\n * @constructor\\n */\\nfunction NavigationPreloadManager() {}\\n\\n/** @return {!Promise<void>} */\\nNavigationPreloadManager.prototype.enable = function() {};\\n\\n/** @return {!Promise<void>} */\\nNavigationPreloadManager.prototype.disable = function() {};\\n\\n/**\\n * @param {string=} value\\n * @return {!Promise<void>}\\n */\\nNavigationPreloadManager.prototype.setHeaderValue = function(value) {};\\n\\n/** @return {!Promise<NavigationPreloadState>} */\\nNavigationPreloadManager.prototype.getState = function() {};\\n\\n/**\\n *  @typedef {{\\n *   enabled: (boolean|undefined),\\n *   headerValue: (string|undefined)\\n * }}\\n */\\nvar NavigationPreloadState;\\n\\n/**\\n * @see https://w3c.github.io/push-api/\\n * @constructor\\n */\\nfunction PushSubscription() {}\\n\\n/** @type {string} */\\nPushSubscription.prototype.endpoint;\\n\\n/**\\n * Please note there is an intent to deprecate this field in Chrome 43 or 44.\\n * See https://www.chromestatus.com/feature/5283829761703936.\\n * @type {string}\\n */\\nPushSubscription.prototype.subscriptionId;\\n\\n/** @return {!Promise<boolean>} */\\nPushSubscription.prototype.unsubscribe = function() {};\\n\\n/** @enum {string} */\\n// This is commented out since it has not been implemented yet in Chrome beta.\\n// Uncomment once it is available.\\n// var PushPermissionStatus  = {\\n//  GRANTED: \'granted\',\\n//  DENIED: \'denied\',\\n//  DEFAULT: \'default\'\\n//};\\n\\n/**\\n * @see https://w3c.github.io/push-api/#idl-def-PushManager\\n * @constructor\\n */\\nfunction PushManager() {}\\n\\n/**\\n * @param {PushSubscriptionOptions=} opt_options\\n * @return {!Promise<!PushSubscription>}\\n */\\nPushManager.prototype.subscribe = function(opt_options) {};\\n\\n/** @return {!Promise<PushSubscription>} */\\nPushManager.prototype.getSubscription = function() {};\\n\\n/** @return {!Promise<PushPermissionStatus>} */\\n// This is commented out since it has not been implemented yet in Chrome beta.\\n// Uncomment once it is available.\\n// PushManager.prototype.hasPermission = function() {};\\n\\n/**\\n * @see https://wicg.github.io/BackgroundSync/spec/#sync-manager-interface\\n * @constructor\\n */\\nfunction SyncManager() {}\\n\\n/**\\n * @param {string} tag\\n * @return {!Promise<void>}\\n */\\nSyncManager.prototype.register = function(tag) {}\\n\\n/**\\n * @return {!Promise<Array<string>>}\\n */\\nSyncManager.prototype.getTags = function() {}\\n\\n/**\\n * @see https://wicg.github.io/BackgroundSync/spec/#sync-event\\n * @constructor\\n * @extends{ExtendableEvent}\\n */\\nfunction SyncEvent() {}\\n\\n/** @type {string} */\\nSyncEvent.prototype.tag;\\n\\n/** @type {boolean} */\\nSyncEvent.prototype.lastChance;\\n\\n/**\\n * @typedef {{userVisibleOnly: (boolean|undefined)}}\\n * @see https://w3c.github.io/push-api/#idl-def-PushSubscriptionOptions\\n */\\nvar PushSubscriptionOptions;\\n\\n/**\\n * @see http://www.w3.org/TR/push-api/#idl-def-PushMessageData\\n * @constructor\\n */\\nfunction PushMessageData() {}\\n\\n/** @return {!ArrayBuffer} */\\nPushMessageData.prototype.arrayBuffer = function() {};\\n\\n/** @return {!Blob} */\\nPushMessageData.prototype.blob = function() {};\\n\\n/** @return {*} */\\nPushMessageData.prototype.json = function() {};\\n\\n/** @return {string} */\\nPushMessageData.prototype.text = function() {};\\n\\n\\n/**\\n * @see http://www.w3.org/TR/push-api/#idl-def-PushEvent\\n * @constructor\\n * @param {string} type\\n * @param {!ExtendableEventInit=} opt_eventInitDict\\n * @extends {ExtendableEvent}\\n */\\nfunction PushEvent(type, opt_eventInitDict) {}\\n\\n/** @type {?PushMessageData} */\\nPushEvent.prototype.data;\\n\\n\\n/**\\n * @see http://www.w3.org/TR/service-workers/#service-worker-registration-interface\\n * @interface\\n * @extends {EventTarget}\\n */\\nfunction ServiceWorkerRegistration() {}\\n\\n/** @type {ServiceWorker} */\\nServiceWorkerRegistration.prototype.installing;\\n\\n/** @type {ServiceWorker} */\\nServiceWorkerRegistration.prototype.waiting;\\n\\n/** @type {ServiceWorker} */\\nServiceWorkerRegistration.prototype.active;\\n\\n/** @type {NavigationPreloadManager} */\\nServiceWorkerRegistration.prototype.navigationPreload;\\n\\n/** @type {string} */\\nServiceWorkerRegistration.prototype.scope;\\n\\n/** @return {!Promise<boolean>} */\\nServiceWorkerRegistration.prototype.unregister = function() {};\\n\\n/** @type {?function(!Event)} */\\nServiceWorkerRegistration.prototype.onupdatefound;\\n\\n/** @return {!Promise<void>} */\\nServiceWorkerRegistration.prototype.update = function() {};\\n\\n/**\\n * @see https://w3c.github.io/push-api/\\n * @type {!PushManager}\\n */\\nServiceWorkerRegistration.prototype.pushManager;\\n\\n/**\\n * @see https://notifications.spec.whatwg.org/#service-worker-api\\n * @param {string} title\\n * @param {NotificationOptions=} opt_options\\n * @return {!Promise<void>}\\n */\\nServiceWorkerRegistration.prototype.showNotification =\\n    function(title, opt_options) {};\\n\\n/**\\n * @see https://notifications.spec.whatwg.org/#service-worker-api\\n * @param {!GetNotificationOptions=} opt_filter\\n * @return {!Promise<?Array<?Notification>>}\\n */\\nServiceWorkerRegistration.prototype.getNotifications = function(opt_filter) {};\\n\\n/**\\n * @see https://wicg.github.io/BackgroundSync/spec/#service-worker-registration-extensions\\n * @type {!SyncManager}\\n */\\nServiceWorkerRegistration.prototype.sync;\\n\\n/**\\n * @see http://www.w3.org/TR/service-workers/#service-worker-container-interface\\n * @interface\\n * @extends {EventTarget}\\n */\\nfunction ServiceWorkerContainer() {}\\n\\n/** @type {?ServiceWorker} */\\nServiceWorkerContainer.prototype.controller;\\n\\n/** @type {!Promise<!ServiceWorkerRegistration>} */\\nServiceWorkerContainer.prototype.ready;\\n\\n/**\\n * @param {string} scriptURL\\n * @param {RegistrationOptions=} opt_options\\n * @return {!Promise<!ServiceWorkerRegistration>}\\n */\\nServiceWorkerContainer.prototype.register = function(scriptURL, opt_options) {};\\n\\n/**\\n * @param {string=} opt_documentURL\\n * @return {!Promise<!ServiceWorkerRegistration|undefined>}\\n */\\nServiceWorkerContainer.prototype.getRegistration = function(opt_documentURL) {};\\n\\n/**\\n * @return {!Promise<Array<!ServiceWorkerRegistration>>}\\n */\\nServiceWorkerContainer.prototype.getRegistrations = function() {};\\n\\n/** @type {?function(!Event)} */\\nServiceWorkerContainer.prototype.oncontrollerchange;\\n\\n/** @type {?function(!ErrorEvent)} */\\nServiceWorkerContainer.prototype.onerror;\\n\\n/**\\n * @typedef {{scope: (string|undefined), useCache: (boolean|undefined)}}\\n */\\nvar RegistrationOptions;\\n\\n/** @type {!ServiceWorkerContainer} */\\nNavigator.prototype.serviceWorker;\\n\\n/**\\n * @see http://www.w3.org/TR/service-workers/#service-worker-global-scope-interface\\n * @interface\\n * @extends {WorkerGlobalScope}\\n */\\nfunction ServiceWorkerGlobalScope() {}\\n\\n/** @type {!Cache} */\\nServiceWorkerGlobalScope.prototype.scriptCache;\\n\\n/** @type {!CacheStorage} */\\nServiceWorkerGlobalScope.prototype.caches;\\n\\n/** @type {!ServiceWorkerClients} */\\nServiceWorkerGlobalScope.prototype.clients;\\n\\n/** @type {string} */\\nServiceWorkerGlobalScope.prototype.scope;\\n\\n/** @type {!ServiceWorkerRegistration} */\\nServiceWorkerGlobalScope.prototype.registration;\\n\\n/** @return {!Promise<void>} */\\nServiceWorkerGlobalScope.prototype.skipWaiting = function() {};\\n\\n/** @type {!Console} */\\nServiceWorkerGlobalScope.prototype.console;\\n\\n/** @type {?function(!InstallEvent)} */\\nServiceWorkerGlobalScope.prototype.oninstall;\\n\\n/** @type {?function(!ExtendableEvent)} */\\nServiceWorkerGlobalScope.prototype.onactiva';
a.a+='te;\\n\\n/** @type {?function(!FetchEvent)} */\\nServiceWorkerGlobalScope.prototype.onfetch;\\n\\n/**\\n * TODO(mtragut): This handler should get a custom event in the future.\\n * @type {?function(!Event)}\\n */\\nServiceWorkerGlobalScope.prototype.onbeforeevicted;\\n\\n/**\\n * TODO(mtragut): This handler should get a custom event in the future.\\n * @type {?function(!Event)}\\n */\\nServiceWorkerGlobalScope.prototype.onevicted;\\n\\n/** @type {?function(!MessageEvent)} */\\nServiceWorkerGlobalScope.prototype.onmessage;\\n\\n/** @type {!IDBFactory|undefined} */\\nServiceWorkerGlobalScope.prototype.indexedDB;\\n\\n/**\\n * @see http://www.w3.org/TR/service-workers/#service-worker-client-interface\\n * @constructor\\n */\\nfunction ServiceWorkerClient() {}\\n\\n/** @type {!Promise<void>} */\\nServiceWorkerClient.prototype.ready;\\n\\n/** @type {boolean} */\\nServiceWorkerClient.prototype.hidden;\\n\\n/** @type {boolean} */\\nServiceWorkerClient.prototype.focused;\\n\\n/** @type {VisibilityState} */\\nServiceWorkerClient.prototype.visibilityState;\\n\\n/** @type {string} */\\nServiceWorkerClient.prototype.url;\\n\\n/** @type {string} */\\nServiceWorkerClient.prototype.id;\\n\\n/**\\n * // TODO(mtragut): Possibly replace the type with enum ContextFrameType once\\n * the enum is defined.\\n * @type {string}\\n */\\nServiceWorkerClient.prototype.frameType;\\n\\n/**\\n * @param {*} message\\n * @param {(!Array<!Transferable>|undefined)=} opt_transfer\\n * @return {undefined}\\n */\\nServiceWorkerClient.prototype.postMessage = function(message, opt_transfer) {};\\n\\n/** @return {!Promise} */\\nServiceWorkerClient.prototype.focus = function() {};\\n\\n/**\\n * @param {string} url\\n * @return {!Promise<!ServiceWorkerClient>}\\n */\\nServiceWorkerClient.prototype.navigate = function(url) {};\\n\\n/**\\n * @see http://www.w3.org/TR/service-workers/#service-worker-clients-interface\\n * @interface\\n */\\nfunction ServiceWorkerClients() {}\\n\\n/**\\n * Deprecated in Chrome M43+, use matchAll instead. Reference:\\n * https://github.com/slightlyoff/ServiceWorker/issues/610.\\n * TODO(joeltine): Remove when getAll is fully deprecated.\\n * @param {ServiceWorkerClientQueryOptions=} opt_options\\n * @return {!Promise<!Array<!ServiceWorkerClient>>}\\n */\\nServiceWorkerClients.prototype.getAll = function(opt_options) {};\\n\\n/**\\n * @param {ServiceWorkerClientQueryOptions=} opt_options\\n * @return {!Promise<!Array<!ServiceWorkerClient>>}\\n */\\nServiceWorkerClients.prototype.matchAll = function(opt_options) {};\\n\\n/**\\n * @return {!Promise<void>}\\n */\\nServiceWorkerClients.prototype.claim = function() {};\\n\\n/**\\n * @param {string} url\\n * @return {!Promise<!ServiceWorkerClient>}\\n */\\nServiceWorkerClients.prototype.openWindow = function(url) {};\\n\\n/**\\n * @param {string} id\\n * @return {!Promise<!ServiceWorkerClient|undefined>}\\n */\\nServiceWorkerClients.prototype.get = function(id) {};\\n\\n/** @typedef {{includeUncontrolled: (boolean|undefined)}} */\\nvar ServiceWorkerClientQueryOptions;\\n\\n/**\\n * @see http://www.w3.org/TR/service-workers/#cache-interface\\n * @interface\\n */\\nfunction Cache() {}\\n\\n/**\\n * @param {!RequestInfo} request\\n * @param {CacheQueryOptions=} opt_options\\n * @return {!Promise<!Response|undefined>}\\n */\\nCache.prototype.match = function(request, opt_options) {};\\n\\n/**\\n * @param {RequestInfo=} opt_request\\n * @param {CacheQueryOptions=} opt_options\\n * @return {!Promise<!Array<!Response>>}\\n */\\nCache.prototype.matchAll = function(opt_request, opt_options) {};\\n\\n/**\\n * @param {!RequestInfo} request\\n * @return {!Promise<void>}\\n */\\nCache.prototype.add = function(request) {};\\n\\n/**\\n * @param {!Array<!RequestInfo>} requests\\n * @return {!Promise<void>}\\n */\\nCache.prototype.addAll = function(requests) {};\\n\\n/**\\n * @param {!RequestInfo} request\\n * @param {!Response} response\\n * @return {!Promise<void>}\\n */\\nCache.prototype.put = function(request, response) {};\\n\\n/**\\n * @param {!RequestInfo} request\\n * @param {CacheQueryOptions=} opt_options\\n * @return {!Promise<boolean>}\\n */\\nCache.prototype.delete = function(request, opt_options) {};\\n\\n/**\\n * @param {RequestInfo=} opt_request\\n * @param {CacheQueryOptions=} opt_options\\n * @return {!Promise<!Array<!Request>>}\\n */\\nCache.prototype.keys = function(opt_request, opt_options) {};\\n\\n/**\\n * @typedef {{\\n *   ignoreSearch: (boolean|undefined),\\n *   ignoreMethod: (boolean|undefined),\\n *   ignoreVary: (boolean|undefined),\\n *   prefixMatch: (boolean|undefined),\\n *   cacheName: (string|undefined)\\n * }}\\n */\\nvar CacheQueryOptions;\\n\\n/**\\n * @see http://www.w3.org/TR/service-workers/#cache-storage-interface\\n * @interface\\n */\\nfunction CacheStorage() {}\\n\\n/**\\n * Window instances have a property called caches which implements CacheStorage\\n * @see https://www.w3.org/TR/service-workers/#cache-objects\\n * @type {!CacheStorage}\\n */\\nWindow.prototype.caches;\\n\\n/**\\n * @param {!RequestInfo} request\\n * @param {CacheQueryOptions=} opt_options\\n * @return {!Promise<!Response|undefined>}\\n */\\nCacheStorage.prototype.match = function(request, opt_options) {};\\n\\n/**\\n * @param {string} cacheName\\n * @return {!Promise<boolean>}\\n */\\nCacheStorage.prototype.has = function(cacheName) {};\\n\\n/**\\n * @param {string} cacheName\\n * @return {!Promise<!Cache>}\\n */\\nCacheStorage.prototype.open = function(cacheName) {};\\n\\n/**\\n * @param {string} cacheName\\n * @return {!Promise<boolean>}\\n */\\nCacheStorage.prototype.delete = function(cacheName) {};\\n\\n/** @return {!Promise<!Array<string>>} */\\nCacheStorage.prototype.keys = function() {};\\n\\n/**\\n * @see http://www.w3.org/TR/service-workers/#extendable-event-interface\\n * @constructor\\n * @param {string} type\\n * @param {ExtendableEventInit=} opt_eventInitDict\\n * @extends {Event}\\n */\\nfunction ExtendableEvent(type, opt_eventInitDict) {}\\n\\n/**\\n * @param {IThenable} f\\n * @return {undefined}\\n */\\nExtendableEvent.prototype.waitUntil = function(f) {};\\n\\n/**\\n * @typedef {{\\n *   bubbles: (boolean|undefined),\\n *   cancelable: (boolean|undefined)\\n * }}\\n */\\nvar ExtendableEventInit;\\n\\n/**\\n * @see http://www.w3.org/TR/service-workers/#install-event-interface\\n * @constructor\\n * @param {string} type\\n * @param {InstallEventInit=} opt_eventInitDict\\n * @extends {ExtendableEvent}\\n */\\nfunction InstallEvent(type, opt_eventInitDict) {}\\n\\n/** @type {ServiceWorker} */\\nExtendableEvent.prototype.activeWorker;\\n\\n/**\\n * @typedef {{\\n *   bubbles: (boolean|undefined),\\n *   cancelable: (boolean|undefined),\\n *   activeWorker: (!ServiceWorker|undefined)\\n * }}\\n */\\nvar InstallEventInit;\\n\\n/**\\n * @see http://www.w3.org/TR/service-workers/#fetch-event-interface\\n * @constructor\\n * @param {string} type\\n * @param {FetchEventInit=} opt_eventInitDict\\n * @extends {ExtendableEvent}\\n */\\nfunction FetchEvent(type, opt_eventInitDict) {}\\n\\n/** @type {!Request} */\\nFetchEvent.prototype.request;\\n\\n/**\\n * @type {!Promise<Response>}\\n */\\nFetchEvent.prototype.preloadResponse;\\n\\n/**\\n * @type {!ServiceWorkerClient}\\n * @deprecated\\n */\\nFetchEvent.prototype.client;\\n\\n/** @type {?string} */\\nFetchEvent.prototype.clientId;\\n\\n/** @type {!boolean} */\\nFetchEvent.prototype.isReload;\\n\\n/** @type {?string} */\\nFetchEvent.prototype.targetClientId;\\n\\n/** @type {?string} */\\nFetchEvent.prototype.reservedClientId;\\n\\n/**\\n * @param {(Response|IThenable<Response>)} r\\n * @return {undefined}\\n */\\nFetchEvent.prototype.respondWith = function(r) {};\\n\\n/**\\n * @param {string} url\\n * @return {!Promise<!Response>}\\n */\\nFetchEvent.prototype.forwardTo = function(url) {};\\n\\n/**\\n * @return {!Promise<!Response>}\\n */\\nFetchEvent.prototype.default = function() {};\\n\\n/**\\n * @typedef {{\\n *   bubbles: (boolean|undefined),\\n *   cancelable: (boolean|undefined),\\n *   request: (!Request|undefined),\\n *   preloadResponse: (!Promise<Response>),\\n *   client: (!ServiceWorkerClient|undefined),\\n *   isReload: (!boolean|undefined)\\n * }}\\n */\\nvar FetchEventInit;\\n","externs/w3c_touch_event.js":"/*\\n * Copyright 2015 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s Touch Events specification.\\n * @see http://www.w3.org/TR/touch-events/\\n * @externs\\n */\\n\\n/**\\n * @typedef {{\\n *   identifier: number,\\n *   target: !EventTarget,\\n *   clientX: (number|undefined),\\n *   clientY: (number|undefined),\\n *   screenX: (number|undefined),\\n *   screenY: (number|undefined),\\n *   pageX: (number|undefined),\\n *   pageY: (number|undefined),\\n *   radiusX: (number|undefined),\\n *   radiusY: (number|undefined),\\n *   rotationAngle: (number|undefined),\\n *   force: (number|undefined)\\n * }}\\n */\\nvar TouchInitDict;\\n\\n/**\\n * The Touch class represents a single touch on the surface. A touch is the\\n * presence or movement of a finger that is part of a unique multi-touch\\n * sequence.\\n * @see http://www.w3.org/TR/touch-events/#touch-interface\\n * @param {!TouchInitDict} touchInitDict\\n * @constructor\\n */\\nfunction Touch(touchInitDict) {}\\n\\n/**\\n * The x-coordinate of the touch\'s location relative to the window\'s viewport.\\n * @type {number}\\n */\\nTouch.prototype.clientX;\\n\\n/**\\n * The y-coordinate of the touch\'s location relative to the window\'s viewport.\\n * @type {number}\\n */\\nTouch.prototype.clientY;\\n\\n/**\\n * The unique identifier for this touch object.\\n * @type {number}\\n */\\nTouch.prototype.identifier;\\n\\n/**\\n * The x-coordinate of the touch\'s location in page coordinates.\\n * @type {number}\\n */\\nTouch.prototype.pageX;\\n\\n/**\\n * The y-coordinate of the touch\'s location in page coordinates.\\n * @type {number}\\n */\\nTouch.prototype.pageY;\\n\\n/**\\n * The x-coordinate of the touch\'s location in screen coordinates.\\n * @type {number}\\n */\\nTouch.prototype.screenX;\\n\\n/**\\n * The y-coordinate of the touch\'s location in screen coordinates.\\n * @type {number}\\n */\\nTouch.prototype.screenY;\\n\\n/**\\n * The target of this touch.\\n * @type {EventTarget}\\n */\\nTouch.prototype.target;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/touch-events-extensions/#widl-Touch-force\\n */\\nTouch.prototype.force;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/touch-events-extensions/#widl-Touch-radiusX\\n */\\nTouch.prototype.radiusX;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/touch-events-extensions/#widl-Touch-radiusY\\n */\\nTouch.prototype.radiusY;\\n\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2011/WD-touch-events-20110505/#widl-Touch-rotationAngle\\n */\\nTouch.prototype.rotationAngle;\\n\\n\\n/**\\n * Creates a new Touch object.\\n * @see http://www.w3.org/TR/touch-events/#widl-Document-createTouch-Touch-WindowProxy-view-EventTarget-target-long-identifier-long-pageX-long-pageY-long-screenX-long-screenY\\n * @param {Window} view\\n * @param {EventTarget} target\\n * @param {number} identifier\\n * @param {number} pageX\\n * @param {number} pageY\\n * @param {number} screenX\\n * @param {number} screenY\\n * @return {Touch}\\n */\\nDocument.prototype.createTouch = function(view, target, identifier, pageX,\\n    pageY, screenX, screenY) {};\\n\\n\\n/**\\n * The TouchList class is used to represent a collection of Touch objects.\\n * @see http://www.w3.org/TR/touch-events/#touchlist-interface\\n * @constructor\\n * @implements {IArrayLike<!Touch>}\\n */\\nfunction TouchList() {}\\n\\n/**\\n * The number of Touch objects in this TouchList object.\\n * @type {number}\\n */\\nTouchList.prototype.length;\\n\\n/**\\n * Returns the Touch object at the given index.\\n * @param {number} index\\n * @return {?Touch}\\n */\\nTouchList.prototype.item = function(index) {};\\n\\n/**\\n * @param {number} identifier\\n * @return {?Touch}\\n * @see http://www.w3.org/TR/touch-events-extensions/#widl-TouchList-identifiedTouch-Touch-long-identifier\\n */\\nTouchList.prototype.identifiedTouch = function(identifier) {};\\n\\n/**\\n * Creates a new TouchList object.\\n * @see http://www.w3.org/TR/touch-events/#widl-Document-createTouchList-TouchList-Touch-touches\\n * @param {Array<?Touch>} touches\\n * @return {TouchList}\\n */\\nDocument.prototype.createTouchList = function(touches) {};\\n\\n/**\\n * @record\\n * @extends {UIEventInit}\\n */\\nfunction TouchEventInit() {}\\n\\n/** @type {undefined|?EventTarget} */\\nTouchEventInit.prototype.relatedTarget;\\n\\n/** @type {undefined|!Array<?Touch>} */\\nTouchEventInit.prototype.touches;\\n\\n/** @type {undefined|!Array<?Touch>} */\\nTouchEventInit.prototype.targetTouches;\\n\\n/** @type {undefined|!Array<?Touch>} */\\nTouchEventInit.prototype.changedTouches;\\n\\n/**\\n * The TouchEvent class encapsulates information about a touch event.\\n *\\n * <p>The system continually sends TouchEvent objects to an application as\\n * fingers touch and move across a surface. A touch event provides a snapshot of\\n * all touches during a multi-touch sequence, most importantly the touches that\\n * are new or have changed for a particular target. A multi-touch sequence\\n * begins when a finger first touches the surface. Other fingers may\\n * subsequently touch the surface, and all fingers may move across the surface.\\n * The sequence ends when the last of these fingers is lifted from the surface.\\n * An application receives touch event objects during each phase of any touch.\\n * </p>\\n *\\n * <p>The different types of TouchEvent objects that can occur are:\\n * <ul>\\n *   <li>touchstart - Sent when a finger for a given event touches the surface.\\n *   <li>touchmove - Sent when a given event moves on the surface.\\n *   <li>touchend - Sent when a given event lifts from the surface.\\n *   <li>touchcancel - Sent when the system cancels tracking for the touch.\\n * </ul>\\n * TouchEvent objects are combined together to form high-level GestureEvent\\n * objects that are also sent during a multi-touch sequence.</p>\\n *\\n * @see http://www.w3.org/TR/touch-events/#touchevent-interface\\n * @param {string} type\\n * @param {!TouchEventInit=} opt_eventInitDict\\n * @extends {UIEvent}\\n * @constructor\\n */\\nfunction TouchEvent(type, opt_eventInitDict) {}\\n\\n/**\\n * A collection of Touch objects representing all touches associated with this\\n * target.\\n * @type {TouchList}\\n */\\nTouchEvent.prototype.touches;\\n\\n/**\\n * A collection of Touch objects representing all touches associated with this\\n * target.\\n * @type {TouchList}\\n */\\nTouchEvent.prototype.targetTouches;\\n\\n/**\\n * A collection of Touch objects representing all touches that changed in this event.\\n * @type {TouchList}\\n */\\nTouchEvent.prototype.changedTouches;\\n\\n/**\\n * @type {boolean}\\n */\\nTouchEvent.prototype.altKey;\\n\\n/**\\n * @type {boolean}\\n */\\nTouchEvent.prototype.metaKey;\\n\\n/**\\n * @type {boolean}\\n */\\nTouchEvent.prototype.ctrlKey;\\n\\n/**\\n * @type {boolean}\\n */\\nTouchEvent.prototype.shiftKey;\\n\\n\\n/**\\n * Specifies the JavaScript method to invoke when the system cancels tracking\\n * for the touch.\\n * @type {?function(!TouchEvent)}\\n */\\nElement.prototype.ontouchcancel;\\n\\n/**\\n * Specifies the JavaScript method to invoke when a given event lifts from the\\n * surface.\\n * @type {?function(!TouchEvent)}\\n */\\nElement.prototype.ontouchend;\\n\\n/**\\n * Specifies the JavaScript method to invoke when a finger for a given event\\n * moves on the surface.\\n * @type {?function(!TouchEvent)}\\n */\\nElement.prototype.ontouchmove;\\n\\n/**\\n * Specifies the JavaScript method to invoke when a finger for a given event\\n * touches the surface.\\n * @type {?function(!TouchEvent)}\\n */\\nElement.prototype.ontouchstart;\\n","externs/w3c_vibration.js":"/*\\n * Copyright 2017 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOU';
a.a+='T WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for Vibration API based on \\"W3C Recommendation 18 October 2016\\"\\n * @see https://www.w3.org/TR/2016/REC-vibration-20161018/\\n *\\n * @externs\\n * @author vobruba.martin@gmail.com (Martin Vobruba)\\n */\\n\\n\\n/**\\n * @typedef {number|!Array<number>}\\n * @see https://www.w3.org/TR/2016/REC-vibration-20161018/#idl-def-vibratepattern\\n */\\nvar VibratePattern;\\n\\n\\n/**\\n * @param {!VibratePattern} pattern\\n * @return {boolean}\\n * @see https://www.w3.org/TR/2016/REC-vibration-20161018/#idl-def-navigator-vibrate(vibratepattern)\\n */\\nNavigator.prototype.vibrate = function(pattern) {};\\n","externs/w3c_webcrypto.js":"/*\\n * Copyright 2015 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n\\n/**\\n * @fileoverview Definitions for W3C\'s Web Cryptography specification\\n * http://www.w3.org/TR/webCryptoAPI\\n * @externs\\n * @author chrismoon@google.com (Chris Moon)\\n * This file was created using the best practices as described in:\\n *     chrome_extensions.js\\n */\\n\\n\\n/**\\n * @const\\n * @see http://www.w3.org/TR/webCryptoAPI\\n */\\nvar webCrypto = {};\\n\\n\\n/**\\n * @typedef {?{\\n *   name: string\\n * }}\\n * @see http://www.w3.org/TR/WebCryptoAPI/#algorithm-dictionary\\n */\\nwebCrypto.Algorithm;\\n\\n\\n/**\\n * @typedef {string|!webCrypto.Algorithm}\\n * @see http://www.w3.org/TR/WebCryptoAPI/#dfn-AlgorithmIdentifier\\n */\\nwebCrypto.AlgorithmIdentifier;\\n\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/webCryptoAPI/#dfn-CryptoKey\\n */\\nwebCrypto.CryptoKey = function() {};\\n\\n\\n/**\\n * @type {string} An enumerated value representing the type of the key, a secret\\n *    key (for symmetric algorithm), a public or a private key\\n *    (for an asymmetric algorithm).\\n */\\nwebCrypto.CryptoKey.prototype.type;\\n\\n\\n/**\\n * @type {boolean} Determines whether or not the raw keying material may be\\n *     exported by the application.\\n */\\nwebCrypto.CryptoKey.prototype.extractable;\\n\\n\\n/**\\n * @type {!Object} An opaque object representing a particular cipher the key\\n *     has to be used with.\\n */\\nwebCrypto.CryptoKey.prototype.algorithm;\\n\\n\\n/**\\n * @type {!Object} Returns the cached ECMAScript object associated with the\\n *   usages internal slot, which indicates which cryptographic operations are\\n *   permissible to be used with this key.\\n */\\nwebCrypto.CryptoKey.prototype.usages;\\n\\n\\n/**\\n * @constructor\\n * @see https://www.w3.org/TR/WebCryptoAPI/#keypair\\n */\\nwebCrypto.CryptoKeyPair = function() {};\\n\\n\\n/**\\n * @type {!webCrypto.CryptoKey}\\n */\\nwebCrypto.CryptoKeyPair.prototype.publicKey;\\n\\n\\n/**\\n * @type {!webCrypto.CryptoKey}\\n */\\nwebCrypto.CryptoKeyPair.prototype.privateKey;\\n\\n\\n/**\\n * @typedef {?{\\n *   name: string\\n * }}\\n * @see http://www.w3.org/TR/WebCryptoAPI/#key-algorithm-dictionary-members\\n */\\nwebCrypto.KeyAlgorithm;\\n\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/WebCryptoAPI/#dfn-JsonWebKey\\n * @see Section 3.1:\\n *     https://tools.ietf.org/html/draft-ietf-jose-json-web-key-41\\n */\\nwebCrypto.JsonWebKey = function() {};\\n\\n\\n/**\\n * @type {string} Identifies the cryptographic algorithm family used with\\n *     the key, such as \\"RSA\\" or \\"EC\\".\\n */\\nwebCrypto.JsonWebKey.prototype.kty;\\n\\n\\n/**\\n * @type {string} Identifies the intended use of the public key.\\n */\\nwebCrypto.JsonWebKey.prototype.use;\\n\\n\\n/**\\n * @type {!Array<string>} Identifies the operation(s) that the key is\\n *     intended to be used for.\\n */\\nwebCrypto.JsonWebKey.prototype.key_ops;\\n\\n\\n/**\\n * @type {string} Identifies the algorithm intended for use with the key.\\n */\\nwebCrypto.JsonWebKey.prototype.alg;\\n\\n\\n/**\\n * @type {boolean} Boolean to be used with kty values.\\n */\\nwebCrypto.JsonWebKey.prototype.ext;\\n\\n\\n/**\\n * @type {string} Identifies the cryptographic curve used with the key.\\n */\\nwebCrypto.JsonWebKey.prototype.crv;\\n\\n\\n/**\\n * @type {string} Contains the x coordinate for the elliptic curve point.\\n */\\nwebCrypto.JsonWebKey.prototype.x;\\n\\n\\n/**\\n * @type {string} Contains the y coordinate for the elliptic curve point.\\n */\\nwebCrypto.JsonWebKey.prototype.y;\\n\\n\\n/**\\n * @type {string} Contains the Elliptic Curve private key value.\\n */\\nwebCrypto.JsonWebKey.prototype.d;\\n\\n\\n/**\\n * @type {string} Contains the modulus value for the RSA public key.\\n */\\nwebCrypto.JsonWebKey.prototype.n;\\n\\n\\n/**\\n * @type {string} Contains the exponent value for the RSA public key.\\n */\\nwebCrypto.JsonWebKey.prototype.e;\\n\\n\\n/**\\n * @type {string} Contains the first prime factor.\\n */\\nwebCrypto.JsonWebKey.prototype.p;\\n\\n\\n/**\\n * @type {string} Contains the second prime factor.\\n */\\nwebCrypto.JsonWebKey.prototype.q;\\n\\n\\n/**\\n * @type {string} Contains the Chinese Remainder Theorem (CRT) exponent of\\n *     the first factor.\\n */\\nwebCrypto.JsonWebKey.prototype.dp;\\n\\n\\n/**\\n * @type {string} Contains the Chinese Remainder Theorem (CRT) exponent of\\n *     the second factor.\\n */\\nwebCrypto.JsonWebKey.prototype.dq;\\n\\n\\n/**\\n * @type {string} Contains the Chinese Remainder Theorem (CRT) coefficient\\n *     of the second factor.\\n */\\nwebCrypto.JsonWebKey.prototype.qi;\\n\\n\\n/**\\n * @type {!Array<!webCrypto.RsaOtherPrimesInfo>} Contains an array of\\n *     information about any third and subsequent primes, should they exist.\\n */\\nwebCrypto.JsonWebKey.prototype.oth;\\n\\n\\n/**\\n * @type {string} Contains the value of the symmetric (or other\\n *     single-valued) key.\\n */\\nwebCrypto.JsonWebKey.prototype.k;\\n\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/WebCryptoAPI/#dfn-RsaOtherPrimesInfo\\n * @see Section-6.3.2.7:\\n *     https://tools.ietf.org/html/draft-ietf-jose-json-web-algorithms-40\\n */\\nwebCrypto.RsaOtherPrimesInfo = function() {};\\n\\n\\n/**\\n * @type {string} Parameter within an \\"oth\\" array member represents the value\\n *     of a subsequent prime factor.\\n */\\nwebCrypto.RsaOtherPrimesInfo.prototype.r;\\n\\n\\n/**\\n * @type {string} Parameter within an \\"oth\\" array member represents the CRT\\n *     exponent of the corresponding prime factor.\\n */\\nwebCrypto.RsaOtherPrimesInfo.prototype.d;\\n\\n\\n/**\\n * @type {string} Parameter within an \\"oth\\" array member represents the CRT\\n *     coefficient of the corresponding prime factor.\\n */\\nwebCrypto.RsaOtherPrimesInfo.prototype.t;\\n\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/WebCryptoAPI/#subtlecrypto-interface\\n */\\nwebCrypto.SubtleCrypto = function() {};\\n\\n\\n/**\\n * @param {!webCrypto.AlgorithmIdentifier} algorithm Supported\\n *     values are: AES-CBC, AES-CTR, AES-GCM, and RSA-OAEP.\\n * @param {!webCrypto.CryptoKey} key Key to be used for signing.\\n * @param {!BufferSource} data Data to be encrypted (cleartext).\\n * @return {!Promise<!ArrayBuffer>} Ciphertext generated by the encryption of\\n *     the cleartext.\\n */\\nwebCrypto.SubtleCrypto.prototype.encrypt = function(algorithm, key,\\n    data) {};\\n\\n\\n/**\\n * @param {!webCrypto.AlgorithmIdentifier} algorithm Supported\\n *     values are: AES-CBC, AES-CTR, AES-GCM, and RSA-OAEP.\\n * @param {!webCrypto.CryptoKey} key Key to be used for signing.\\n * @param {!BufferSource} data Data to be decrypted (ciphertext).\\n * @return {!Promise<!ArrayBuffer>} Cleartext generated by the decryption of the\\n *     ciphertext.\\n */\\nwebCrypto.SubtleCrypto.prototype.decrypt = function(algorithm, key,\\n    data) {};\\n\\n\\n/**\\n * @param {!webCrypto.AlgorithmIdentifier} algorithm Supported\\n *     values are: HMAC, RSASSA-PKCS1-v1_5, and ECDSA.\\n * @param {!webCrypto.CryptoKey} key Private key to be used for signing.\\n * @param {!BufferSource} data Data to be signed.\\n * @return {!Promise<!ArrayBuffer>} Returns the signature on success.\\n */\\nwebCrypto.SubtleCrypto.prototype.sign = function(algorithm, key,\\n    data) {};\\n\\n\\n/**\\n * @param {!webCrypto.AlgorithmIdentifier} algorithm Supported\\n *     values are: HMAC, RSASSA-PKCS1-v1_5, and ECDSA.\\n * @param {!webCrypto.CryptoKey} key Private key to be used for signing.\\n * @param {!BufferSource} signature Signature to verify.\\n * @param {!BufferSource} data Data whose signature needs to be verified.\\n * @return {!Promise<boolean>} Returns if the signature operating has been\\n *     successful.\\n */\\nwebCrypto.SubtleCrypto.prototype.verify = function(algorithm, key,\\n    signature, data) {};\\n\\n\\n/**\\n * @param {!webCrypto.AlgorithmIdentifier} algorithm Supported\\n *     values are: SHA-1, SHA-256, SHA-384, and SHA-512.\\n * @param {!BufferSource} data Data to be hashed using the hashing algorithm.\\n * @return {!Promise<!ArrayBuffer>} returns the hash on success.\\n */\\nwebCrypto.SubtleCrypto.prototype.digest = function(algorithm, data) {};\\n\\n\\n/**\\n * @param {!webCrypto.AlgorithmIdentifier} algorithm Supported\\n *     values are: SHA-1, SHA-256, SHA-384, and SHA-512.\\n * @param {boolean} extractable If the key can be extracted from the CryptoKey\\n *     object at a later stage.\\n * @param {!Array<string>} keyUsages Indication of new key options i.e.\\n *     encrypt, decrypt, sign, verify, deriveKey, deriveBits, wrapKey,\\n *     unwrapKey.\\n * @return {!Promise<!webCrypto.CryptoKey|!webCrypto.CryptoKeyPair>} returns the\\n *     generated key.\\n */\\nwebCrypto.SubtleCrypto.prototype.generateKey = function(algorithm,\\n    extractable, keyUsages) {};\\n\\n\\n/**\\n * @param {!webCrypto.AlgorithmIdentifier} algorithm The key derivation\\n *     algorithm to use. Supported values are:  ECDH, DH, PBKDF2, and HKDF-CTR.\\n * @param {!webCrypto.CryptoKey} baseKey Key to be used by the key\\n *     derivation algorithm.\\n * @param {!webCrypto.AlgorithmIdentifier} derivedKeyAlgo Defines the key\\n *     derivation algorithm to use.\\n * @param {boolean} extractable Indicates if the key can be extracted from the\\n *     CryptoKey object at a later stage.\\n * @param {!Array<string>} keyUsages Indicates what can be done with the\\n *     derivated key.\\n * @return {!Promise<!webCrypto.CryptoKey|!webCrypto.CryptoKeyPair>} returns the\\n *     generated key.\\n */\\nwebCrypto.SubtleCrypto.prototype.deriveKey = function(algorithm,\\n   baseKey, derivedKeyAlgo, extractable, keyUsages) {};\\n\\n\\n/**\\n * @param {!webCrypto.AlgorithmIdentifier} algorithm The key derivation\\n *     algorithm to use.\\n * @param {!webCrypto.CryptoKey} baseKey Key to be used by the key\\n *     derivation algorithm.\\n * @param {number} length\\n * @return {!Promise<!ArrayBuffer>} returns the generated bits.\\n */\\nwebCrypto.SubtleCrypto.prototype.deriveBits = function(algorithm,\\n   baseKey, length) {};\\n\\n\\n/**\\n * @param {string} format Enumerated value describing the data\\n *     format of the key to imported.\\n * @param {!BufferSource|!webCrypto.JsonWebKey} keyData The key\\n *     in the given format.\\n * @param {!webCrypto.AlgorithmIdentifier} algorithm Supported values\\n *     are: AES-CTR, AES-CBC, AES-GCM, RSA-OAEP, AES-KW, HMAC,\\n *     RSASSA-PKCS1-v1_5, ECDSA, ECDH, DH.\\n * @param {boolean} extractable If the key can be extracted from the CryptoKey\\n *     object at a later stage.\\n * @param {!Array<string>} keyUsages Indication of new key options i.e.\\n *     encrypt, decrypt, sign, verify, deriveKey, deriveBits, wrapKey,\\n *     unwrapKey.\\n * @return {!Promise<!webCrypto.CryptoKey>} returns the generated key.\\n */\\nwebCrypto.SubtleCrypto.prototype.importKey = function(format, keyData,\\n    algorithm, extractable, keyUsages) {};\\n\\n\\n/**\\n * @param {string} format Enumerated value describing the data\\n *     format of the key to imported.\\n * @param {!webCrypto.CryptoKey} key CryptoKey to export.\\n * @return {!Promise<!ArrayBuffer|!webCrypto.JsonWebKey>} returns the key in the\\n *     requested format.\\n */\\nwebCrypto.SubtleCrypto.prototype.exportKey = function(format, key) {};\\n\\n\\n/**\\n * @param {string} format Value describing the data format in which the key must\\n *     be wrapped. It can be one of the following: raw, pkcs8, spki, jwk.\\n * @param {!webCrypto.CryptoKey} key CryptoKey to wrap.\\n * @param {!webCrypto.CryptoKey} wrappingKey CryptoKey used to perform\\n *     the wrapping.\\n * @param {!webCrypto.AlgorithmIdentifier} wrapAlgorithm algorithm used\\n *     to perform the wrapping. It is one of the following: AES-CBC, AES-CTR,\\n *     AES-GCM, RSA-OAEP, and AES-KW.\\n * @return {!Promise<!ArrayBuffer>} returns the wrapped key in the requested\\n *     format.\\n */\\nwebCrypto.SubtleCrypto.prototype.wrapKey = function(format,\\n   key, wrappingKey, wrapAlgorithm) {};\\n\\n\\n/**\\n * @param {string} format Value describing the data format in which the key must\\n *     be wrapped. It can be one of the following: raw, pkcs8, spki, jwk.\\n * @param {!BufferSource} wrappedKey Contains the wrapped key in the given\\n *     format.\\n * @param {!webCrypto.CryptoKey} unwrappingKey CryptoKey used to perform\\n *     the unwrapping.\\n * @param {!webCrypto.AlgorithmIdentifier} unwrapAlgorithm Algorithm\\n *    used to perform the unwrapping. It is one of the following: AES-CBC,\\n *    AES-CTR, AES-GCM, RSA-OAEP, and AES-KW.\\n * @param {!webCrypto.AlgorithmIdentifier} unwrappedKeyAlgorithm\\n *     Represents the algorithm of the wrapped key.\\n * @param {boolean} extractable Indicates if the key can be extracted from the\\n *     CryptoKey object at a later stage.\\n * @param {!Array<string>} keyUsages Indicates what can be done with the\\n *     derivated key.\\n * @return {!Promise<!webCrypto.CryptoKey>} returns the unwrapped key.\\n */\\nwebCrypto.SubtleCrypto.prototype.unwrapKey = function(format, wrappedKey,\\n    unwrappingKey, unwrapAlgorithm, unwrappedKeyAlgorithm, extractable,\\n    keyUsages) {};\\n\\n\\n/**\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Crypto\\n * @interface\\n */\\nwebCrypto.Crypto = function() {};\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.crypto.getRandomValues\\n * @param {!ArrayBufferView} typedArray\\n * @return {!ArrayBufferView}\\n * @throws {Error}\\n */\\nwebCrypto.Crypto.prototype.getRandomValues = function(typedArray) {};\\n\\n/**\\n * @type {?webCrypto.SubtleCrypto}\\n * @see http://www.w3.org/TR/WebCryptoAPI/#Crypto-attribute-subtle\\n */\\nwebCrypto.Crypto.prototype.subtle;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.crypto\\n * @type {!webCrypto.Crypto|undefined}\\n */\\nvar crypto;\\n","externs/w3c_xml.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s XML related specifications.\\n *  This file depends on w3c_dom2.js.\\n *  The whole file has been fully type annotated.\\n *\\n *  Provides the XML standards from W3C.\\n *   Includes:\\n *    XPath          - Fully type annotated\\n *    XMLHttpRequest - Fully type annotated\\n *\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html\\n * @see http://www.w3.org/TR/XMLHttpRequest/\\n * @see http://www.w3.org/TR/XMLHttpRequest2/\\n *\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n * @author stevey@google.com (Steve Yegge)\\n */\\n\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathException\\n */\\nfunction XPathException() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#INVALID_EXPRESSION_ERR\\n */\\nXPathExcepti';
a.a+='on.INVALID_EXPRESSION_ERR = 52;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#TYPE_ERR\\n */\\nXPathException.TYPE_ERR = 52;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#\\n */\\nXPathException.prototype.code;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathEvaluator\\n */\\nfunction XPathEvaluator() {}\\n\\n/**\\n * @param {string} expr\\n * @param {?XPathNSResolver=} opt_resolver\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathEvaluator-createExpression\\n * @throws XPathException\\n * @throws DOMException\\n * @return {undefined}\\n */\\nXPathEvaluator.prototype.createExpression = function(expr, opt_resolver) {};\\n\\n/**\\n * @param {Node} nodeResolver\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathEvaluator-createNSResolver\\n * @return {undefined}\\n */\\nXPathEvaluator.prototype.createNSResolver = function(nodeResolver) {};\\n\\n/**\\n * @param {string} expr\\n * @param {Node} contextNode\\n * @param {?XPathNSResolver=} opt_resolver\\n * @param {?number=} opt_type\\n * @param {*=} opt_result\\n * @return {XPathResult}\\n * @throws XPathException\\n * @throws DOMException\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathEvaluator-evaluate\\n */\\nXPathEvaluator.prototype.evaluate = function(expr, contextNode, opt_resolver,\\n    opt_type, opt_result) {};\\n\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathExpression\\n */\\nfunction XPathExpression() {}\\n\\n/**\\n * @param {Node} contextNode\\n * @param {number=} opt_type\\n * @param {*=} opt_result\\n * @return {*}\\n * @throws XPathException\\n * @throws DOMException\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathExpression-evaluate\\n */\\nXPathExpression.prototype.evaluate = function(contextNode, opt_type,\\n    opt_result) {};\\n\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathNSResolver\\n */\\nfunction XPathNSResolver() {}\\n\\n/**\\n * @param {string} prefix\\n * @return {?string}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathNSResolver-lookupNamespaceURI\\n */\\nXPathNSResolver.prototype.lookupNamespaceURI = function(prefix) {};\\n\\n/**\\n * From http://www.w3.org/TR/xpath\\n *\\n * XPath is a language for addressing parts of an XML document, designed to be\\n * used by both XSLT and XPointer.\\n *\\n * @noalias\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult\\n */\\nfunction XPathResult() {}\\n\\n/**\\n * @type {boolean} {@see XPathException.TYPE_ERR}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-booleanValue\\n */\\nXPathResult.prototype.booleanValue;\\n\\n/**\\n * @type {boolean} {@see XPathException.TYPE_ERR}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-invalid-iterator-state\\n */\\nXPathResult.prototype.invalidInteratorState;\\n\\n/**\\n * @type {number}\\n * @throws XPathException {@see XPathException.TYPE_ERR}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-numberValue\\n */\\nXPathResult.prototype.numberValue;\\n\\n/**\\n * @type {number}\\n * @throws XPathException {@see XPathException.TYPE_ERR}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-resultType\\n */\\nXPathResult.prototype.resultType;\\n\\n/**\\n * @type {Node}\\n * @throws XPathException {@see XPathException.TYPE_ERR}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-singleNodeValue\\n */\\nXPathResult.prototype.singleNodeValue;\\n\\n/**\\n * @type {number}\\n * @throws XPathException {@see XPathException.TYPE_ERR}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-snapshot-length\\n */\\nXPathResult.prototype.snapshotLength;\\n\\n/**\\n * @type {string}\\n * @throws XPathException {@see XPathException.TYPE_ERR}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-stringValue\\n */\\nXPathResult.prototype.stringValue;\\n\\n/**\\n * @return {Node}\\n * @throws XPathException {@see XPathException.TYPE_ERR}\\n * @throws DOMException {@see DOMException.INVALID_STATE_ERR}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-iterateNext\\n */\\nXPathResult.prototype.iterateNext = function() {};\\n\\n/**\\n * @param {number} index\\n * @return {Node}\\n * @throws XPathException\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-snapshotItem\\n */\\nXPathResult.prototype.snapshotItem = function(index) {};\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-ANY-TYPE\\n */\\nXPathResult.ANY_TYPE = 0;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-NUMBER-TYPE\\n */\\nXPathResult.NUMBER_TYPE = 1;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-STRING-TYPE\\n */\\nXPathResult.STRING_TYPE = 2;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-BOOLEAN-TYPE\\n */\\nXPathResult.BOOLEAN_TYPE = 3;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-UNORDERED-NODE-ITERATOR-TYPE\\n */\\nXPathResult.UNORDERED_NODE_ITERATOR_TYPE = 4;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-ORDERED-NODE-ITERATOR-TYPE\\n */\\nXPathResult.ORDERED_NODE_ITERATOR_TYPE = 5;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-UNORDERED-NODE-SNAPSHOT-TYPE\\n */\\nXPathResult.UNORDERED_NODE_SNAPSHOT_TYPE = 6;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-ORDERED-NODE-SNAPSHOT-TYPE\\n */\\nXPathResult.ORDERED_NODE_SNAPSHOT_TYPE = 7;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-ANY-UNORDERED-NODE-TYPE\\n */\\nXPathResult.ANY_UNORDERED_NODE_TYPE = 8;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-FIRST-ORDERED-NODE-TYPE\\n */\\nXPathResult.FIRST_ORDERED_NODE_TYPE = 9;\\n\\n/**\\n * @constructor\\n * @extends {Node}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathNamespace\\n */\\nfunction XPathNamespace() {}\\n\\n/**\\n * @type {Element}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathNamespace-ownerElement\\n */\\nXPathNamespace.prototype.ownerElement;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPATH_NAMESPACE_NODE\\n */\\nXPathNamespace.XPATH_NAMESPACE_NODE = 13;\\n\\n/**\\n * From http://www.w3.org/TR/XMLHttpRequest/\\n *\\n * (Draft)\\n *\\n * The XMLHttpRequest Object specification defines an API that provides\\n * scripted client functionality for transferring data between a client and a\\n * server.\\n *\\n * @constructor\\n * @implements {EventTarget}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#xmlhttprequest-object\\n */\\nfunction XMLHttpRequest() {}\\n\\n/** @override */\\nXMLHttpRequest.prototype.addEventListener = function(\\n    type, listener, opt_options) {};\\n\\n/** @override */\\nXMLHttpRequest.prototype.removeEventListener = function(\\n    type, listener, opt_options) {};\\n\\n/** @override */\\nXMLHttpRequest.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * @param {string} method\\n * @param {string} url\\n * @param {?boolean=} opt_async\\n * @param {?string=} opt_user\\n * @param {?string=} opt_password\\n * @return {undefined}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#the-open()-method\\n */\\nXMLHttpRequest.prototype.open = function(method, url, opt_async, opt_user,\\n    opt_password) {};\\n\\n/**\\n * @param {string} header\\n * @param {string} value\\n * @return {undefined}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#the-setrequestheader()-method\\n */\\nXMLHttpRequest.prototype.setRequestHeader = function(header, value) {};\\n\\n/**\\n * @param {ArrayBuffer|ArrayBufferView|Blob|Document|FormData|string=} opt_data\\n * @return {undefined}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#the-send()-method\\n */\\nXMLHttpRequest.prototype.send = function(opt_data) {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#the-abort()-method\\n */\\nXMLHttpRequest.prototype.abort = function() {};\\n\\n/**\\n * @return {string}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#the-getallresponseheaders()-method\\n */\\nXMLHttpRequest.prototype.getAllResponseHeaders = function() {};\\n\\n/**\\n * @param {string} header\\n * @return {string}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#the-getresponseheader()-method\\n */\\nXMLHttpRequest.prototype.getResponseHeader = function(header) {};\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#the-responsetext-attribute\\n */\\nXMLHttpRequest.prototype.responseText;\\n\\n/**\\n * This is not supported in any IE browser (as of August 2016).\\n * @type {string}\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/responseURL\\n */\\nXMLHttpRequest.prototype.responseURL;\\n\\n/**\\n * @type {Document}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#the-responsexml-attribute\\n */\\nXMLHttpRequest.prototype.responseXML;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#the-readystate-attribute\\n */\\nXMLHttpRequest.prototype.readyState;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#the-status-attribute\\n */\\nXMLHttpRequest.prototype.status;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#the-statustext-attribute\\n */\\nXMLHttpRequest.prototype.statusText;\\n\\n/**\\n * @type {?function(!Event)}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#handler-xhr-onreadystatechange\\n */\\nXMLHttpRequest.prototype.onreadystatechange;\\n\\n/**\\n * @type {?function(!Event)}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#handler-xhr-onerror\\n */\\nXMLHttpRequest.prototype.onerror;\\n\\n/**\\n * @type {number}\\n * @see https://www.w3.org/TR/XMLHttpRequest/#states\\n */\\nXMLHttpRequest.UNSENT;\\n\\n/**\\n * @type {number}\\n * @see https://www.w3.org/TR/XMLHttpRequest/#states\\n */\\nXMLHttpRequest.OPENED;\\n\\n/**\\n * @type {number}\\n * @see https://www.w3.org/TR/XMLHttpRequest/#states\\n */\\nXMLHttpRequest.HEADERS_RECEIVED;\\n\\n/**\\n * @type {number}\\n * @see https://www.w3.org/TR/XMLHttpRequest/#states\\n */\\nXMLHttpRequest.LOADING;\\n\\n/**\\n * @type {number}\\n * @see https://www.w3.org/TR/XMLHttpRequest/#states\\n */\\nXMLHttpRequest.DONE;\\n\\n/**\\n * The FormData object represents an ordered collection of entries. Each entry\\n * has a name and value.\\n *\\n * @param {?Element=} opt_form An optional form to use for constructing the form\\n *     data set.\\n * @constructor\\n * @see http://www.w3.org/TR/XMLHttpRequest2/#the-formdata-interface\\n */\\nfunction FormData(opt_form) {}\\n\\n/**\\n * @param {string} name\\n * @param {Blob|string} value\\n * @param {string=} opt_filename\\n * @return {undefined}\\n */\\nFormData.prototype.append = function(name, value, opt_filename) {};\\n","externs/window.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview JavaScript Built-Ins for windows properties.\\n *\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n * @author stevey@google.com (Steve Yegge)\\n */\\n\\n// Window properties\\n// Only common properties are here.  Others such as open()\\n// should be used with an explicit Window object.\\n\\n/**\\n * @type {!Window}\\n * @see https://developer.mozilla.org/en/DOM/window.top\\n * @const\\n */\\nvar top;\\n\\n/**\\n * @type {!Navigator}\\n * @see https://developer.mozilla.org/en/DOM/window.navigator\\n * @const\\n */\\nvar navigator;\\n\\n/**\\n * @type {!HTMLDocument}\\n * @see https://developer.mozilla.org/en/DOM/window.document\\n * @const\\n */\\nvar document;\\n\\n/**\\n * @type {!Location}\\n * @see https://developer.mozilla.org/en/DOM/window.location\\n * @const\\n * @suppress {duplicate}\\n * @implicitCast\\n */\\nvar location;\\n\\n/**\\n * @type {!Screen}\\n * @see https://developer.mozilla.org/En/DOM/window.screen\\n * @const\\n */\\nvar screen;\\n\\n/**\\n * @type {!Window}\\n * @see https://developer.mozilla.org/En/DOM/Window.self\\n * @const\\n */\\nvar self;\\n\\n// Magic functions for Firefox\'s LiveConnect.\\n// We\'ll probably never use these in practice. But redefining them\\n// will fire up the JVM, so we want to reserve the symbol names.\\n\\n/**\\n * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/JavaArray\\n */\\nvar JavaArray;\\n\\n/**\\n * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/JavaClass\\n */\\nvar JavaClass;\\n\\n// We just ripped this from the FF source; it doesn\'t appear to be\\n// publicly documented.\\nvar JavaMember;\\n\\n/**\\n * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/JavaObject\\n */\\nvar JavaObject;\\n\\n/**\\n * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/JavaPackage\\n */\\nvar JavaPackage;\\n\\n/**\\n * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Packages\\n */\\nvar Packages;\\n\\n/**\\n * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/java\\n */\\nvar java;\\n\\n/**\\n * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/netscape\\n */\\nvar netscape;\\n\\n/**\\n * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/sun\\n */\\nvar sun;\\n\\n/**\\n * @param {*} message\\n * @see https://developer.mozilla.org/en/DOM/window.alert\\n * @return {undefined}\\n */\\nfunction alert(message) {}\\n\\n/**\\n * @param {number|undefined|null} immediateID\\n * @see https://developer.mozilla.org/en-US/docs/DOM/window.clearImmediate\\n * @see http://msdn.microsoft.com/en-us/library/ie/hh924825(v=vs.85).aspx\\n * @return {undefined}\\n */\\nfunction clearImmediate(immediateID) {}\\n\\n/**\\n * @param {number|undefined?} intervalID\\n * @see https://developer.mozilla.org/en/DOM/window.clearInterval\\n * @suppress {duplicate}\\n * @return {undefined}\\n */\\nfunction clearInterval(intervalID) {}\\n\\n/**\\n * @param {number|undefined?} timeoutID\\n * @see https://developer.mozilla.org/en/DOM/window.clearTimeout\\n * @suppress {duplicate}\\n * @return {undefined}\\n */\\nfunction clearTimeout(timeoutID) {}\\n\\n/**\\n * @param {*} message\\n * @return {boolean}\\n * @see https://developer.mozilla.org/en/DOM/window.confirm\\n */\\nfunction confirm(message) {}\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.dump\\n * @param {*} x\\n * @return {undefined}\\n */\\nfunction dump(x) {}\\n\\n/**\\n * @param {string} message\\n * @param {string=} opt_value\\n * @return {?string}\\n * @see https://developer.mozilla.org/en/DOM/window.prompt\\n */\\nfunction prompt(message, opt_value) {}\\n\\n/**\\n * @param {function()} callback\\n * @param {...?} var_args\\n * @return {number}\\n * @see https://developer.mozilla.org/en-US/docs/DOM/window.setImmediate\\n * @see http://msdn.microsoft.com/en-us/library/ie/hh773176(v=vs.85).aspx\\n */\\nfunction setImmediate(callback, var_args) {}\\n\\n/**\\n * @param {Function|string} callback\\n * @param {number=} opt_delay\\n * @param {...?} var_args\\n * @return {number}\\n * @see https://developer.mozilla.org/en/DOM/window.setInterval\\n * @see https://html.spec.whatwg.org/multipage/webappapis.html#timers\\n */\\nfunction setInterval(callback, opt_delay, var_args) {}\\n\\n/**\\n * @param {Function|string} callback\\n * @param {number=} opt_delay\\n * @param {...*} var_args\\n * @return {number}\\n * @see https://developer.mozilla.org/en/DOM/window.setTimeout\\n * @see https://html.spec.whatwg.org/multipage/webappapis.html#timers\\n */\\nfunction setTimeout(callback, opt_delay, var_args) {}\\n\\n/**\\n * Returns whether the object has a property with the specified name.\\n *\\n * @param {*} propertyName Implicitly cast to a string.\\n * @return {boolean}\\n * @nosideeffects\\n * @see';
a.a+=' http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/hasOwnProperty\\n */\\nfunction hasOwnProperty (propertyName) {}\\n","externs/webkit_notifications.js":"/*\\n * Copyright 2010 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n/**\\n * @fileoverview Definitions for W3C\'s Notifications specification.\\n * @externs\\n * @author atwilson@google.com (Drew Wilson)\\n */\\n\\n/**\\n * @typedef {{dir: (string|undefined), lang: (string|undefined),\\n *            body: (string|undefined), tag: (string|undefined),\\n *            icon: (string|undefined),\\n *            requireInteraction: (boolean|undefined),\\n *            actions: (!Array<!NotificationAction>|undefined)}}\\n * @see http://notifications.spec.whatwg.org/#notificationoptions\\n */\\nvar NotificationOptions;\\n\\n/**\\n * @typedef {{action: string, title: string, icon: (string|undefined)}}\\n * @see https://notifications.spec.whatwg.org/#dictdef-notificationoptions\\n */\\nvar NotificationAction;\\n\\n/**\\n * @typedef {{tag: (string|undefined)}}\\n * @see https://notifications.spec.whatwg.org/#dictdef-getnotificationoptions\\n */\\nvar GetNotificationOptions;\\n\\n/** @interface */\\nvar NotificationOptionsInterface_ = function() {}\\n/** @type {string} */ NotificationOptionsInterface_.prototype.dir;\\n/** @type {string} */ NotificationOptionsInterface_.prototype.lang;\\n/** @type {string} */ NotificationOptionsInterface_.prototype.body;\\n/** @type {string} */ NotificationOptionsInterface_.prototype.tag;\\n/** @type {string} */ NotificationOptionsInterface_.prototype.icon;\\n/** @type {boolean} */\\n  NotificationOptionsInterface_.prototype.requireInteraction;\\n\\n/**\\n * @param {string} title\\n * @param {NotificationOptions=} opt_options\\n * @constructor\\n * @implements {EventTarget}\\n * @see http://notifications.spec.whatwg.org/#notification\\n */\\nfunction Notification(title, opt_options) {}\\n\\n/**\\n * @type {string}\\n */\\nNotification.permission;\\n\\n/**\\n * @param {NotificationPermissionCallback=} opt_callback\\n * @return {!Promise<string>}\\n */\\nNotification.requestPermission = function(opt_callback) {};\\n\\n/** @override */\\nNotification.prototype.addEventListener = function(\\n    type, listener, opt_options) {};\\n\\n/** @override */\\nNotification.prototype.removeEventListener = function(\\n    type, listener, opt_options) {};\\n\\n/** @override */\\nNotification.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * @type {string}\\n */\\nNotification.prototype.title;\\n\\n/**\\n * @type {string}\\n */\\nNotification.prototype.body;\\n\\n/**\\n * @type {string}\\n */\\nNotification.prototype.icon;\\n\\n/**\\n * The string used by clients to identify the notification.\\n * @type {string}\\n */\\nNotification.prototype.tag;\\n\\n/**\\n * The ID used by clients to uniquely identify notifications to eliminate\\n * duplicate notifications.\\n * @type {string}\\n * @deprecated Use NotificationOptions.tag instead.\\n */\\nNotification.prototype.replaceId;\\n\\n/**\\n * The string used by clients to specify the directionality (rtl/ltr) of the\\n * notification.\\n * @type {string}\\n * @deprecated Use NotificationOptions.titleDir and bodyDir instead.\\n */\\nNotification.prototype.dir;\\n\\n/**\\n * Displays the notification.\\n * @return {undefined}\\n */\\nNotification.prototype.show = function() {};\\n\\n/**\\n * Prevents the notification from being displayed, or closes it if it is already\\n * displayed.\\n * @return {undefined}\\n */\\nNotification.prototype.cancel = function() {};\\n\\n/**\\n * Prevents the notification from being displayed, or closes it if it is already\\n * displayed.\\n * @return {undefined}\\n */\\nNotification.prototype.close = function() {};\\n\\n/**\\n * An event handler called when notification is closed.\\n * @type {?function(Event)}\\n */\\nNotification.prototype.onclose;\\n\\n/**\\n * An event handler called if the notification could not be displayed due to\\n * an error (i.e. resource could not be loaded).\\n * @type {?function(Event)}\\n */\\nNotification.prototype.onerror;\\n\\n/**\\n * An event handler called when the notification has become visible.\\n * @type {?function(Event)}\\n * @deprecated Use onshow instead.\\n */\\nNotification.prototype.ondisplay;\\n\\n/**\\n * An event handler called when the notification has become visible.\\n * @type {?function(Event)}\\n */\\nNotification.prototype.onshow;\\n\\n/**\\n * An event handler called when the notification has been clicked on.\\n * @type {?function(Event)}\\n */\\nNotification.prototype.onclick;\\n\\n\\n\\n/**\\n * @typedef {function(string)}\\n * @see http://notifications.spec.whatwg.org/#notificationpermissioncallback\\n */\\nvar NotificationPermissionCallback;\\n\\n/**\\n * @constructor\\n * @see http://dev.w3.org/2006/webapi/WebNotifications/publish/#dialog-if\\n * @deprecated Use Notification instead.\\n */\\nfunction NotificationCenter() {}\\n\\n/**\\n * Creates a text+icon notification and displays it to the user.\\n * @param {string} iconUrl\\n * @param {string} title\\n * @param {string} body\\n * @return {Notification}\\n */\\nNotificationCenter.prototype.createNotification =\\n    function(iconUrl, title, body) {};\\n\\n/**\\n * Creates an HTML notification and displays it to the user.\\n * @param {string} url\\n * @return {Notification}\\n */\\nNotificationCenter.prototype.createHTMLNotification = function(url) {};\\n\\n/**\\n * Checks if the user has permission to display notifications.\\n * @return {number}\\n */\\nNotificationCenter.prototype.checkPermission = function() {};\\n\\n/**\\n * Requests permission from the user to display notifications.\\n * @param {Function=} opt_callback\\n * @return {void}\\n */\\nNotificationCenter.prototype.requestPermission = function(opt_callback) {};\\n\\n/**\\n * WebKit browsers expose the NotificationCenter API through\\n * window.webkitNotifications.\\n * @type {NotificationCenter}\\n */\\nWindow.prototype.webkitNotifications;\\n\\n\\n/**\\n * @see https://notifications.spec.whatwg.org/#notificationevent\\n * @constructor\\n * @param {string} type\\n * @param {!ExtendableEventInit=} opt_eventInitDict\\n * @extends {ExtendableEvent}\\n */\\nfunction NotificationEvent(type, opt_eventInitDict) {}\\n\\n/** @type {?Notification} */\\nNotificationEvent.prototype.notification;\\n","externs/webkit_usercontent.js":"/*\\n * Copyright 2016 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n/**\\n * @fileoverview Definitions for WKWebView\'s User Content interface.\\n *   https://developer.apple.com/library/prerelease/ios/documentation/WebKit/Reference/WKUserContentController_Ref/\\n *   https://trac.webkit.org/browser/trunk/Source/WebCore/page/WebKitNamespace.h\\n *\\n * @externs\\n */\\n\\n/** @constructor */\\nfunction WebKitNamespace() {}\\n\\n\\n/**\\n * @type {!UserMessageHandlersNamespace}\\n */\\nWebKitNamespace.prototype.messageHandlers;\\n\\n\\n/**\\n * @constructor\\n * @implements {IObject<string, UserMessageHandler>}\\n */\\nfunction UserMessageHandlersNamespace() {}\\n\\n\\n/** @constructor */\\nfunction UserMessageHandler() {}\\n\\n\\n/**\\n * @param {*} message\\n * @return {undefined}\\n */\\nUserMessageHandler.prototype.postMessage = function(message) {};\\n\\n\\n/**\\n * @type {!WebKitNamespace}\\n * @const\\n */\\nvar webkit;\\n","externs/webgl.js":"/*\\n * Copyright 2010 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for WebGL functions as described at\\n * http://www.khronos.org/registry/webgl/specs/latest/\\n *\\n * This file is current up to the WebGL 1.0.1 spec, including extensions.\\n *\\n * This relies on html5.js being included for Canvas and Typed Array support.\\n *\\n * This includes some extensions defined at\\n * http://www.khronos.org/registry/webgl/extensions/\\n *\\n * @externs\\n */\\n\\n\\n/**\\n * @constructor\\n * @noalias\\n */\\nfunction WebGLRenderingContext() {}\\n\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_BUFFER_BIT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_BUFFER_BIT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.COLOR_BUFFER_BIT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.POINTS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LINES;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LINE_LOOP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LINE_STRIP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TRIANGLES;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TRIANGLE_STRIP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TRIANGLE_FAN;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ZERO;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ONE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SRC_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ONE_MINUS_SRC_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SRC_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ONE_MINUS_SRC_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DST_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ONE_MINUS_DST_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DST_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ONE_MINUS_DST_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SRC_ALPHA_SATURATE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FUNC_ADD;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BLEND_EQUATION;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BLEND_EQUATION_RGB;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BLEND_EQUATION_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FUNC_SUBTRACT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FUNC_REVERSE_SUBTRACT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BLEND_DST_RGB;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BLEND_SRC_RGB;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BLEND_DST_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BLEND_SRC_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.CONSTANT_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ONE_MINUS_CONSTANT_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.CONSTANT_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ONE_MINUS_CONSTANT_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BLEND_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ARRAY_BUFFER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ELEMENT_ARRAY_BUFFER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ARRAY_BUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ELEMENT_ARRAY_BUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STREAM_DRAW;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STATIC_DRAW;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DYNAMIC_DRAW;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BUFFER_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BUFFER_USAGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.CURRENT_VERTEX_ATTRIB;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRONT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BACK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRONT_AND_BACK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.CULL_FACE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BLEND;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DITHER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_TEST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_TEST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SCISSOR_TEST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.POLYGON_OFFSET_FILL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SAMPLE_ALPHA_TO_COVERAGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SAMPLE_COVERAGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.NO_ERROR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.INVALID_ENUM;\\n\\n/** @type {number} */\\nWebGLRenderingContext.INVALID_VALUE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.INVALID_OPERATION;\\n\\n/** @type {number} */\\nWebGLRenderingContext.OUT_OF_MEMORY;\\n\\n/** @type {number} */\\nWebGLRenderingContext.CW;\\n\\n/** @type {number} */\\nWebGLRenderingContext.CCW;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LINE_WIDTH;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ALIASED_POINT_SIZE_RANGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ALIASED_LINE_WIDTH_RANGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.CULL_FACE_MODE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRONT_FACE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_RANGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_WRITEMASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_CLEAR_VALUE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_FUNC;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_CLEAR_VALUE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_FUNC;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_FAIL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_PASS_DEPTH_FAIL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_PASS_DEPTH_PASS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_REF;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_VALUE_MASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_WRITEMASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_BACK_FUNC;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_BACK_FAIL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_BACK_PASS_DEPTH_FAIL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_BACK_PASS_DEPTH_PASS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_BACK_REF;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_BACK_VALUE_MASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_BACK_WRITEMASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VIEWPORT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SCISSOR_BOX;\\n\\n/** @type {number} */\\nWebGLRenderingContext.COLOR_CLEAR_VALUE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.COLOR_WRITEMASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.UNPACK_ALIGNMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.PACK_ALIGNMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MAX_TEXTURE_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MAX_VIEWPORT_DIMS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SUBPIXEL_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RED_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.GREEN_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BLUE_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ALPHA_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.POLYGON_OFFSET_UNITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.POLYGON_OFFSET_FACTOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_BINDING_2D;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SAMPLE_BUFFERS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SAMPLES;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SAMPL';
a.a+="E_COVERAGE_VALUE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SAMPLE_COVERAGE_INVERT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.COMPRESSED_TEXTURE_FORMATS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DONT_CARE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FASTEST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.NICEST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.GENERATE_MIPMAP_HINT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BYTE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.UNSIGNED_BYTE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SHORT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.UNSIGNED_SHORT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.INT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.UNSIGNED_INT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FLOAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_COMPONENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RGB;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RGBA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LUMINANCE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LUMINANCE_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.UNSIGNED_SHORT_4_4_4_4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.UNSIGNED_SHORT_5_5_5_1;\\n\\n/** @type {number} */\\nWebGLRenderingContext.UNSIGNED_SHORT_5_6_5;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAGMENT_SHADER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VERTEX_SHADER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MAX_VERTEX_ATTRIBS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MAX_VERTEX_UNIFORM_VECTORS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MAX_VARYING_VECTORS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MAX_COMBINED_TEXTURE_IMAGE_UNITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MAX_VERTEX_TEXTURE_IMAGE_UNITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MAX_TEXTURE_IMAGE_UNITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MAX_FRAGMENT_UNIFORM_VECTORS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SHADER_TYPE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DELETE_STATUS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LINK_STATUS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VALIDATE_STATUS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ATTACHED_SHADERS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ACTIVE_UNIFORMS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ACTIVE_ATTRIBUTES;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SHADING_LANGUAGE_VERSION;\\n\\n/** @type {number} */\\nWebGLRenderingContext.CURRENT_PROGRAM;\\n\\n/** @type {number} */\\nWebGLRenderingContext.NEVER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LESS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.EQUAL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LEQUAL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.GREATER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.NOTEQUAL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.GEQUAL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ALWAYS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.KEEP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.REPLACE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.INCR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DECR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.INVERT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.INCR_WRAP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DECR_WRAP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VENDOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VERSION;\\n\\n/** @type {number} */\\nWebGLRenderingContext.NEAREST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LINEAR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.NEAREST_MIPMAP_NEAREST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LINEAR_MIPMAP_NEAREST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.NEAREST_MIPMAP_LINEAR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LINEAR_MIPMAP_LINEAR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_MAG_FILTER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_MIN_FILTER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_WRAP_S;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_WRAP_T;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_2D;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_CUBE_MAP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_BINDING_CUBE_MAP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_CUBE_MAP_POSITIVE_X;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_CUBE_MAP_NEGATIVE_X;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_CUBE_MAP_POSITIVE_Y;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_CUBE_MAP_NEGATIVE_Y;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_CUBE_MAP_POSITIVE_Z;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_CUBE_MAP_NEGATIVE_Z;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MAX_CUBE_MAP_TEXTURE_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE0;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE1;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE2;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE3;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE5;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE6;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE7;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE8;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE9;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE10;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE11;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE12;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE13;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE14;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE15;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE16;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE17;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE18;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE19;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE20;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE21;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE22;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE23;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE24;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE25;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE26;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE27;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE28;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE29;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE30;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE31;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ACTIVE_TEXTURE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.REPEAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.CLAMP_TO_EDGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MIRRORED_REPEAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FLOAT_VEC2;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FLOAT_VEC3;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FLOAT_VEC4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.INT_VEC2;\\n\\n/** @type {number} */\\nWebGLRenderingContext.INT_VEC3;\\n\\n/** @type {number} */\\nWebGLRenderingContext.INT_VEC4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BOOL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BOOL_VEC2;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BOOL_VEC3;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BOOL_VEC4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FLOAT_MAT2;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FLOAT_MAT3;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FLOAT_MAT4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SAMPLER_2D;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SAMPLER_CUBE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VERTEX_ATTRIB_ARRAY_ENABLED;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VERTEX_ATTRIB_ARRAY_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VERTEX_ATTRIB_ARRAY_STRIDE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VERTEX_ATTRIB_ARRAY_TYPE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VERTEX_ATTRIB_ARRAY_NORMALIZED;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VERTEX_ATTRIB_ARRAY_POINTER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGLRenderingContext.IMPLEMENTATION_COLOR_READ_FORMAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.IMPLEMENTATION_COLOR_READ_TYPE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.COMPILE_STATUS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LOW_FLOAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MEDIUM_FLOAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.HIGH_FLOAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LOW_INT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MEDIUM_INT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.HIGH_INT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAMEBUFFER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERBUFFER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RGBA4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RGB5_A1;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RGB565;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_COMPONENT16;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_INDEX;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_INDEX8;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_STENCIL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERBUFFER_WIDTH;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERBUFFER_HEIGHT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERBUFFER_INTERNAL_FORMAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERBUFFER_RED_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERBUFFER_GREEN_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERBUFFER_BLUE_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERBUFFER_ALPHA_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERBUFFER_DEPTH_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERBUFFER_STENCIL_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.COLOR_ATTACHMENT0;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_ATTACHMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_ATTACHMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_STENCIL_ATTACHMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.NONE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAMEBUFFER_COMPLETE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAMEBUFFER_INCOMPLETE_ATTACHMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAMEBUFFER_INCOMPLETE_DIMENSIONS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAMEBUFFER_UNSUPPORTED;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAMEBUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERBUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MAX_RENDERBUFFER_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.INVALID_FRAMEBUFFER_OPERATION;\\n\\n/** @type {number} */\\nWebGLRenderingContext.UNPACK_FLIP_Y_WEBGL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.UNPACK_PREMULTIPLY_ALPHA_WEBGL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.CONTEXT_LOST_WEBGL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.UNPACK_COLORSPACE_CONVERSION_WEBGL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BROWSER_DEFAULT_WEBGL;\\n\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_BUFFER_BIT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_BUFFER_BIT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.COLOR_BUFFER_BIT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.POINTS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LINES;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LINE_LOOP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LINE_STRIP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TRIANGLES;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TRIANGLE_STRIP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TRIANGLE_FAN;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ZERO;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ONE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SRC_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ONE_MINUS_SRC_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SRC_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ONE_MINUS_SRC_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DST_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ONE_MINUS_DST_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DST_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ONE_MINUS_DST_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SRC_ALPHA_SATURATE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FUNC_ADD;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BLEND_EQUATION;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BLEND_EQUATION_RGB;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BLEND_EQUATION_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FUNC_SUBTRACT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FUNC_REVERSE_SUBTRACT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BLEND_DST_RGB;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BLEND_SRC_RGB;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BLEND_DST_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BLEND_SRC_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.CONSTANT_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ONE_MINUS_CONSTANT_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.CONSTANT_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ONE_MINUS_CONSTANT_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BLEND_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ARRAY_BUFFER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ELEMENT_ARRAY_BUFFER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ARRAY_BUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ELEMENT_ARRAY_BUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STREAM_DRAW;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STATIC_DRAW;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DYNAMIC_DRAW;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BUFFER_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BUFFER_USAGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.CURRENT_VERTEX_ATTRIB;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRONT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BACK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRONT_AND_BACK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.CULL_FACE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BLEND;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DITHER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_TEST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_TEST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SCISSOR_TEST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.POLYGON_OFFSET_FILL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SAMPLE_ALPHA_TO_COVERAGE;\\n\\n/** @type {number} */\\nWebGLRe";
a.a+="nderingContext.prototype.SAMPLE_COVERAGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.NO_ERROR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.INVALID_ENUM;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.INVALID_VALUE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.INVALID_OPERATION;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.OUT_OF_MEMORY;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.CW;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.CCW;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LINE_WIDTH;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ALIASED_POINT_SIZE_RANGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ALIASED_LINE_WIDTH_RANGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.CULL_FACE_MODE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRONT_FACE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_RANGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_WRITEMASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_CLEAR_VALUE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_FUNC;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_CLEAR_VALUE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_FUNC;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_FAIL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_PASS_DEPTH_FAIL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_PASS_DEPTH_PASS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_REF;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_VALUE_MASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_WRITEMASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_BACK_FUNC;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_BACK_FAIL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_BACK_PASS_DEPTH_FAIL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_BACK_PASS_DEPTH_PASS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_BACK_REF;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_BACK_VALUE_MASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_BACK_WRITEMASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VIEWPORT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SCISSOR_BOX;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.COLOR_CLEAR_VALUE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.COLOR_WRITEMASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.UNPACK_ALIGNMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.PACK_ALIGNMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MAX_TEXTURE_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MAX_VIEWPORT_DIMS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SUBPIXEL_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RED_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.GREEN_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BLUE_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ALPHA_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.POLYGON_OFFSET_UNITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.POLYGON_OFFSET_FACTOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_BINDING_2D;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SAMPLE_BUFFERS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SAMPLES;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SAMPLE_COVERAGE_VALUE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SAMPLE_COVERAGE_INVERT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.COMPRESSED_TEXTURE_FORMATS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DONT_CARE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FASTEST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.NICEST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.GENERATE_MIPMAP_HINT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BYTE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.UNSIGNED_BYTE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SHORT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.UNSIGNED_SHORT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.INT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.UNSIGNED_INT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FLOAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_COMPONENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RGB;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RGBA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LUMINANCE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LUMINANCE_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.UNSIGNED_SHORT_4_4_4_4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.UNSIGNED_SHORT_5_5_5_1;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.UNSIGNED_SHORT_5_6_5;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAGMENT_SHADER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VERTEX_SHADER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MAX_VERTEX_ATTRIBS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MAX_VERTEX_UNIFORM_VECTORS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MAX_VARYING_VECTORS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MAX_COMBINED_TEXTURE_IMAGE_UNITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MAX_VERTEX_TEXTURE_IMAGE_UNITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MAX_TEXTURE_IMAGE_UNITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MAX_FRAGMENT_UNIFORM_VECTORS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SHADER_TYPE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DELETE_STATUS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LINK_STATUS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VALIDATE_STATUS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ATTACHED_SHADERS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ACTIVE_UNIFORMS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ACTIVE_ATTRIBUTES;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SHADING_LANGUAGE_VERSION;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.CURRENT_PROGRAM;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.NEVER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LESS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.EQUAL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LEQUAL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.GREATER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.NOTEQUAL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.GEQUAL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ALWAYS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.KEEP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.REPLACE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.INCR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DECR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.INVERT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.INCR_WRAP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DECR_WRAP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VENDOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VERSION;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.NEAREST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LINEAR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.NEAREST_MIPMAP_NEAREST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LINEAR_MIPMAP_NEAREST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.NEAREST_MIPMAP_LINEAR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LINEAR_MIPMAP_LINEAR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_MAG_FILTER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_MIN_FILTER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_WRAP_S;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_WRAP_T;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_2D;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_CUBE_MAP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_BINDING_CUBE_MAP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_CUBE_MAP_POSITIVE_X;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_CUBE_MAP_NEGATIVE_X;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_CUBE_MAP_POSITIVE_Y;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_CUBE_MAP_NEGATIVE_Y;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_CUBE_MAP_POSITIVE_Z;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_CUBE_MAP_NEGATIVE_Z;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MAX_CUBE_MAP_TEXTURE_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE0;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE1;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE2;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE3;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE5;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE6;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE7;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE8;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE9;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE10;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE11;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE12;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE13;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE14;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE15;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE16;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE17;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE18;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE19;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE20;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE21;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE22;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE23;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE24;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE25;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE26;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE27;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE28;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE29;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE30;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE31;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ACTIVE_TEXTURE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.REPEAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.CLAMP_TO_EDGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MIRRORED_REPEAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FLOAT_VEC2;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FLOAT_VEC3;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FLOAT_VEC4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.INT_VEC2;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.INT_VEC3;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.INT_VEC4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BOOL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BOOL_VEC2;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BOOL_VEC3;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BOOL_VEC4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FLOAT_MAT2;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FLOAT_MAT3;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FLOAT_MAT4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SAMPLER_2D;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SAMPLER_CUBE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VERTEX_ATTRIB_ARRAY_ENABLED;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VERTEX_ATTRIB_ARRAY_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VERTEX_ATTRIB_ARRAY_STRIDE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VERTEX_ATTRIB_ARRAY_TYPE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VERTEX_ATTRIB_ARRAY_NORMALIZED;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VERTEX_ATTRIB_ARRAY_POINTER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.COMPILE_STATUS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LOW_FLOAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MEDIUM_FLOAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.HIGH_FLOAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LOW_INT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MEDIUM_INT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.HIGH_INT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAMEBUFFER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERBUFFER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RGBA4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RGB5_A1;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RGB565;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_COMPONENT16;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_INDEX;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_INDEX8;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_STENCIL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERBUFFER_WIDTH;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERBUFFER_HEIGHT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERBUFFER_INTERNAL_FORMAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERBUFFER_RED_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERBUFFER_GREEN_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERBUFFER_BLUE_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERBUFFER_ALPHA_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERBUFFER_DEPTH_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERBUFFER_STENCIL_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.COLOR_ATTACHMENT0;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_ATTACHMENT;\\n\\n/** @type {number} */\\nWebGLRenderingC";
a.a+="ontext.prototype.STENCIL_ATTACHMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_STENCIL_ATTACHMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.NONE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAMEBUFFER_COMPLETE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAMEBUFFER_INCOMPLETE_ATTACHMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAMEBUFFER_INCOMPLETE_DIMENSIONS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAMEBUFFER_UNSUPPORTED;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAMEBUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERBUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MAX_RENDERBUFFER_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.INVALID_FRAMEBUFFER_OPERATION;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.UNPACK_FLIP_Y_WEBGL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.UNPACK_PREMULTIPLY_ALPHA_WEBGL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.CONTEXT_LOST_WEBGL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.UNPACK_COLORSPACE_CONVERSION_WEBGL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BROWSER_DEFAULT_WEBGL;\\n\\n\\n/**\\n * @type {!HTMLCanvasElement}\\n */\\nWebGLRenderingContext.prototype.canvas;\\n\\n/**\\n * @type {number}\\n */\\nWebGLRenderingContext.prototype.drawingBufferWidth;\\n\\n/**\\n * @type {number}\\n */\\nWebGLRenderingContext.prototype.drawingBufferHeight;\\n\\n/**\\n * @return {!WebGLContextAttributes}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getContextAttributes = function() {};\\n\\n/**\\n * @return {boolean}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.isContextLost = function() {};\\n\\n/**\\n * @return {!Array<string>}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getSupportedExtensions = function() {};\\n\\n/**\\n * Note that this has side effects by enabling the extension even if the\\n * result is not used.\\n * @param {string} name\\n * @return {Object}\\n */\\nWebGLRenderingContext.prototype.getExtension = function(name) {};\\n\\n/**\\n * @param {number} texture\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.activeTexture = function(texture) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n * @param {WebGLShader} shader\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.attachShader = function(program, shader) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n * @param {number} index\\n * @param {string} name\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.bindAttribLocation = function(\\n    program, index, name) {};\\n\\n/**\\n * @param {number} target\\n * @param {WebGLBuffer} buffer\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.bindBuffer = function(target, buffer) {};\\n\\n/**\\n * @param {number} target\\n * @param {WebGLFramebuffer} buffer\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.bindFramebuffer = function(target, buffer) {};\\n\\n/**\\n * @param {number} target\\n * @param {WebGLRenderbuffer} buffer\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.bindRenderbuffer = function(target, buffer) {};\\n\\n/**\\n * @param {number} target\\n * @param {WebGLTexture} texture\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.bindTexture = function(target, texture) {};\\n\\n/**\\n * @param {number} red\\n * @param {number} green\\n * @param {number} blue\\n * @param {number} alpha\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.blendColor = function(\\n    red, green, blue, alpha) {};\\n\\n/**\\n * @param {number} mode\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.blendEquation = function(mode) {};\\n\\n/**\\n * @param {number} modeRGB\\n * @param {number} modeAlpha\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.blendEquationSeparate = function(\\n    modeRGB, modeAlpha) {};\\n\\n/**\\n * @param {number} sfactor\\n * @param {number} dfactor\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.blendFunc = function(sfactor, dfactor) {};\\n\\n/**\\n * @param {number} srcRGB\\n * @param {number} dstRGB\\n * @param {number} srcAlpha\\n * @param {number} dstAlpha\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.blendFuncSeparate = function(\\n    srcRGB, dstRGB, srcAlpha, dstAlpha) {};\\n\\n/**\\n * @param {number} target\\n * @param {ArrayBufferView|ArrayBuffer|number} data\\n * @param {number} usage\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.bufferData = function(target, data, usage) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} offset\\n * @param {ArrayBufferView|ArrayBuffer} data\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.bufferSubData = function(\\n    target, offset, data) {};\\n\\n/**\\n * @param {number} target\\n * @return {number}\\n */\\nWebGLRenderingContext.prototype.checkFramebufferStatus = function(target) {};\\n\\n/**\\n * @param {number} mask\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.clear = function(mask) {};\\n\\n/**\\n * @param {number} red\\n * @param {number} green\\n * @param {number} blue\\n * @param {number} alpha\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.clearColor = function(\\n    red, green, blue, alpha) {};\\n\\n/**\\n * @param {number} depth\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.clearDepth = function(depth) {};\\n\\n/**\\n * @param {number} s\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.clearStencil = function(s) {};\\n\\n/**\\n * @param {boolean} red\\n * @param {boolean} green\\n * @param {boolean} blue\\n * @param {boolean} alpha\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.colorMask = function(\\n    red, green, blue, alpha) {};\\n\\n/**\\n * @param {WebGLShader} shader\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.compileShader = function(shader) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} level\\n * @param {number} internalformat\\n * @param {number} width\\n * @param {number} height\\n * @param {number} border\\n * @param {ArrayBufferView} data\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.compressedTexImage2D = function(\\n    target, level, internalformat, width, height, border, data) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} level\\n * @param {number} xoffset\\n * @param {number} yoffset\\n * @param {number} width\\n * @param {number} height\\n * @param {number} format\\n * @param {ArrayBufferView} data\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.compressedTexSubImage2D = function(\\n    target, level, xoffset, yoffset, width, height, format, data) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} level\\n * @param {number} format\\n * @param {number} x\\n * @param {number} y\\n * @param {number} width\\n * @param {number} height\\n * @param {number} border\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.copyTexImage2D = function(\\n    target, level, format, x, y, width, height, border) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} level\\n * @param {number} xoffset\\n * @param {number} yoffset\\n * @param {number} x\\n * @param {number} y\\n * @param {number} width\\n * @param {number} height\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.copyTexSubImage2D = function(\\n    target, level, xoffset, yoffset, x, y, width, height) {};\\n\\n/**\\n * @return {!WebGLBuffer}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.createBuffer = function() {};\\n\\n/**\\n * @return {!WebGLFramebuffer}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.createFramebuffer = function() {};\\n\\n/**\\n * @return {!WebGLProgram}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.createProgram = function() {};\\n\\n/**\\n * @return {!WebGLRenderbuffer}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.createRenderbuffer = function() {};\\n\\n/**\\n * @param {number} type\\n * @return {!WebGLShader}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.createShader = function(type) {};\\n\\n/**\\n * @return {!WebGLTexture}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.createTexture = function() {};\\n\\n/**\\n * @param {number} mode\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.cullFace = function(mode) {};\\n\\n/**\\n * @param {WebGLBuffer} buffer\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.deleteBuffer = function(buffer) {};\\n\\n/**\\n * @param {WebGLFramebuffer} buffer\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.deleteFramebuffer = function(buffer) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.deleteProgram = function(program) {};\\n\\n/**\\n * @param {WebGLRenderbuffer} buffer\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.deleteRenderbuffer = function(buffer) {};\\n\\n/**\\n * @param {WebGLShader} shader\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.deleteShader = function(shader) {};\\n\\n/**\\n * @param {WebGLTexture} texture\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.deleteTexture = function(texture) {};\\n\\n/**\\n * @param {number} func\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.depthFunc = function(func) {};\\n\\n/**\\n * @param {boolean} flag\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.depthMask = function(flag) {};\\n\\n/**\\n * @param {number} nearVal\\n * @param {number} farVal\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.depthRange = function(nearVal, farVal) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n * @param {WebGLShader} shader\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.detachShader = function(program, shader) {};\\n\\n/**\\n * @param {number} flags\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.disable = function(flags) {};\\n\\n/**\\n * @param {number} index\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.disableVertexAttribArray = function(\\n    index) {};\\n\\n/**\\n * @param {number} mode\\n * @param {number} first\\n * @param {number} count\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.drawArrays = function(mode, first, count) {};\\n\\n/**\\n * @param {number} mode\\n * @param {number} count\\n * @param {number} type\\n * @param {number} offset\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.drawElements = function(\\n    mode, count, type, offset) {};\\n\\n/**\\n * @param {number} cap\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.enable = function(cap) {};\\n\\n/**\\n * @param {number} index\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.enableVertexAttribArray = function(\\n    index) {};\\n\\nWebGLRenderingContext.prototype.finish = function() {};\\n\\nWebGLRenderingContext.prototype.flush = function() {};\\n\\n/**\\n * @param {number} target\\n * @param {number} attachment\\n * @param {number} renderbuffertarget\\n * @param {WebGLRenderbuffer} renderbuffer\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.framebufferRenderbuffer = function(\\n    target, attachment, renderbuffertarget, renderbuffer) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} attachment\\n * @param {number} textarget\\n * @param {WebGLTexture} texture\\n * @param {number} level\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.framebufferTexture2D = function(\\n    target, attachment, textarget, texture, level) {};\\n\\n/**\\n * @param {number} mode\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.frontFace = function(mode) {};\\n\\n/**\\n * @param {number} target\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.generateMipmap = function(target) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n * @param {number} index\\n * @return {WebGLActiveInfo}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getActiveAttrib = function(program, index) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n * @param {number} index\\n * @return {WebGLActiveInfo}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getActiveUniform = function(program, index) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n * @return {!Array<WebGLShader>}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getAttachedShaders = function(program) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n * @param {string} name\\n * @return {number}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getAttribLocation = function(program, name) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} pname\\n * @return {*}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getBufferParameter = function(target, pname) {};\\n\\n/**\\n * @param {number} pname\\n * @return {*}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getParameter = function(pname) {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getError = function() {};\\n\\n/**\\n * @param {number} target\\n * @param {number} attachment\\n * @param {number} pname\\n * @return {*}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getFramebufferAttachmentParameter = function(\\n    target, attachment, pname) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n * @param {number} pname\\n * @return {*}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getProgramParameter = function(\\n    program, pname) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n * @return {string}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getProgramInfoLog = function(program) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} pname\\n * @return {*}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getRenderbufferParameter = function(\\n    target, pname) {};\\n\\n/**\\n * @param {WebGLShader} shader\\n * @param {number} pname\\n * @return {*}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getShaderParameter = function(shader, pname) {};\\n\\n/**\\n * @param {number} shadertype\\n * @param {number} precisiontype\\n * @return {WebGLShaderPrecisionFormat}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getShaderPrecisionFormat = function(shadertype,\\n    precisiontype) {};\\n\\n/**\\n * @param {WebGLShader} shader\\n * @return {string}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getShaderInfoLog = function(shader) {};\\n\\n/**\\n * @param {WebGLShader} shader\\n * @return {string}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getShaderSource = function(shader) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} pname\\n * @return {*}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getTexParameter = function(target, pname) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n * @param {WebGLUniformLocation} location\\n * @return {*}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getUniform = function(program, location) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n * @param {string} name\\n * @return {WebGLUniformLocation}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getUniformLocation = function(program, name) {};\\n\\n/**\\n * @param {number} index\\n * @param {number} pname\\n * @return {*}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getVertexAttrib = function(index, pname) {};\\n\\n/**\\n * @param {number} index\\n * @param {number} pname\\n * @return {number}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getVertexAttribOffset = function(\\n    index, pname) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} mode\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.hint = function(target, mode) {};\\n\\n/**\\n * @param {WebGLObject} buffer\\n * @return {boolean}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.isBuffer = function(buffer) {};\\n\\n/**\\n * @param {number} cap\\n * @return {boolean}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.isEnabled = function(cap) {};\\n\\n/**\\n * @param {WebGLObject} framebuffer\\n * @return {boolean}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.isFramebuffer = function(framebuffer) {};\\n\\n/**\\n * @param {WebGLObject} program\\n * @return {boolean}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.isProgram = function(program) {};\\n\\n/**\\n * @param {WebGLObject} renderbuffer\\n * @return {boolean}\\n * @nosideeffects\\n */\\";
a.a+="nWebGLRenderingContext.prototype.isRenderbuffer = function(renderbuffer) {};\\n\\n/**\\n * @param {WebGLObject} shader\\n * @return {boolean}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.isShader = function(shader) {};\\n\\n/**\\n * @param {WebGLObject} texture\\n * @return {boolean}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.isTexture = function(texture) {};\\n\\n/**\\n * @param {number} width\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.lineWidth = function(width) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.linkProgram = function(program) {};\\n\\n/**\\n * @param {number} pname\\n * @param {number|boolean} param\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.pixelStorei = function(pname, param) {};\\n\\n/**\\n * @param {number} factor\\n * @param {number} units\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.polygonOffset = function(factor, units) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} width\\n * @param {number} height\\n * @param {number} format\\n * @param {number} type\\n * @param {ArrayBufferView} pixels\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.readPixels = function(\\n    x, y, width, height, format, type, pixels) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} internalformat\\n * @param {number} width\\n * @param {number} height\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.renderbufferStorage = function(\\n    target, internalformat, width, height) {};\\n\\n/**\\n * @param {number} coverage\\n * @param {boolean} invert\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.sampleCoverage = function(coverage, invert) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} width\\n * @param {number} height\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.scissor = function(x, y, width, height) {};\\n\\n/**\\n * @param {WebGLShader} shader\\n * @param {string} source\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.shaderSource = function(shader, source) {};\\n\\n/**\\n * @param {number} func\\n * @param {number} ref\\n * @param {number} mask\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.stencilFunc = function(func, ref, mask) {};\\n\\n/**\\n * @param {number} face\\n * @param {number} func\\n * @param {number} ref\\n * @param {number} mask\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.stencilFuncSeparate = function(\\n    face, func, ref, mask) {};\\n\\n/**\\n * @param {number} mask\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.stencilMask = function(mask) {};\\n\\n/**\\n * @param {number} face\\n * @param {number} mask\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.stencilMaskSeparate = function(face, mask) {};\\n\\n/**\\n * @param {number} fail\\n * @param {number} zfail\\n * @param {number} zpass\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.stencilOp = function(fail, zfail, zpass) {};\\n\\n/**\\n * @param {number} face\\n * @param {number} fail\\n * @param {number} zfail\\n * @param {number} zpass\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.stencilOpSeparate = function(\\n    face, fail, zfail, zpass) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} level\\n * @param {number} internalformat\\n * @param {number} format or width\\n * @param {number} type or height\\n * @param {ImageData|HTMLImageElement|HTMLCanvasElement|HTMLVideoElement|\\n *     number} img or border\\n * @param {number=} opt_format\\n * @param {number=} opt_type\\n * @param {ArrayBufferView=} opt_pixels\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.texImage2D = function(\\n    target, level, internalformat, format, type, img, opt_format, opt_type,\\n    opt_pixels) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} pname\\n * @param {number} param\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.texParameterf = function(\\n    target, pname, param) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} pname\\n * @param {number} param\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.texParameteri = function(\\n    target, pname, param) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} level\\n * @param {number} xoffset\\n * @param {number} yoffset\\n * @param {number} format or width\\n * @param {number} type or height\\n * @param {ImageData|HTMLImageElement|HTMLCanvasElement|HTMLVideoElement|\\n *     number} data or format\\n * @param {number=} opt_type\\n * @param {ArrayBufferView=} opt_pixels\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.texSubImage2D = function(\\n    target, level, xoffset, yoffset, format, type, data, opt_type,\\n    opt_pixels) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {number} value\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform1f = function(location, value) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {Float32Array|Array<number>} value\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform1fv = function(location, value) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {number|boolean} value\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform1i = function(location, value) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {Int32Array|Array<number>|Array<boolean>} value\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform1iv = function(location, value) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {number} value1\\n * @param {number} value2\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform2f = function(\\n    location, value1, value2) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {Float32Array|Array<number>} value\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform2fv = function(location, value) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {number|boolean} value1\\n * @param {number|boolean} value2\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform2i = function(\\n    location, value1, value2) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {Int32Array|Array<number>|Array<boolean>} value\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform2iv = function(location, value) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {number} value1\\n * @param {number} value2\\n * @param {number} value3\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform3f = function(\\n    location, value1, value2, value3) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {Float32Array|Array<number>} value\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform3fv = function(location, value) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {number|boolean} value1\\n * @param {number|boolean} value2\\n * @param {number|boolean} value3\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform3i = function(\\n    location, value1, value2, value3) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {Int32Array|Array<number>|Array<boolean>} value\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform3iv = function(location, value) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {number} value1\\n * @param {number} value2\\n * @param {number} value3\\n * @param {number} value4\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform4f = function(\\n    location, value1, value2, value3, value4) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {Float32Array|Array<number>} value\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform4fv = function(location, value) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {number|boolean} value1\\n * @param {number|boolean} value2\\n * @param {number|boolean} value3\\n * @param {number|boolean} value4\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform4i = function(\\n    location, value1, value2, value3, value4) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {Int32Array|Array<number>|Array<boolean>} value\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform4iv = function(location, value) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {boolean} transpose\\n * @param {Float32Array|Array<number>} data\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniformMatrix2fv = function(\\n    location, transpose, data) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {boolean} transpose\\n * @param {Float32Array|Array<number>} data\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniformMatrix3fv = function(\\n    location, transpose, data) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {boolean} transpose\\n * @param {Float32Array|Array<number>} data\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniformMatrix4fv = function(\\n    location, transpose, data) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.useProgram = function(program) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.validateProgram = function(program) {};\\n\\n/**\\n * @param {number} indx\\n * @param {number} x\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.vertexAttrib1f = function(indx, x) {};\\n\\n/**\\n * @param {number} indx\\n * @param {Float32Array|Array<number>} values\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.vertexAttrib1fv = function(indx, values) {};\\n\\n/**\\n * @param {number} indx\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.vertexAttrib2f = function(\\n    indx, x, y) {};\\n\\n/**\\n * @param {number} indx\\n * @param {Float32Array|Array<number>} values\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.vertexAttrib2fv = function(\\n    indx, values) {};\\n\\n/**\\n * @param {number} indx\\n * @param {number} x\\n * @param {number} y\\n * @param {number} z\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.vertexAttrib3f = function(\\n    indx, x, y, z) {};\\n\\n/**\\n * @param {number} indx\\n * @param {Float32Array|Array<number>} values\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.vertexAttrib3fv = function(indx, values) {};\\n\\n/**\\n * @param {number} indx\\n * @param {number} x\\n * @param {number} y\\n * @param {number} z\\n * @param {number} w\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.vertexAttrib4f = function(\\n    indx, x, y, z, w) {};\\n\\n/**\\n * @param {number} indx\\n * @param {Float32Array|Array<number>} values\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.vertexAttrib4fv = function(indx, values) {};\\n\\n/**\\n * @param {number} indx\\n * @param {number} size\\n * @param {number} type\\n * @param {boolean} normalized\\n * @param {number} stride\\n * @param {number} offset\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.vertexAttribPointer = function(\\n    indx, size, type, normalized, stride, offset) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} width\\n * @param {number} height\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.viewport = function(x, y, width, height) {};\\n\\n\\n/**\\n * @constructor\\n * @noalias\\n */\\nfunction WebGLContextAttributes() {}\\n\\n/**\\n * @type {boolean}\\n */\\nWebGLContextAttributes.prototype.alpha;\\n\\n/**\\n * @type {boolean}\\n */\\nWebGLContextAttributes.prototype.depth;\\n\\n/**\\n * @type {boolean}\\n */\\nWebGLContextAttributes.prototype.stencil;\\n\\n/**\\n * @type {boolean}\\n */\\nWebGLContextAttributes.prototype.antialias;\\n\\n/**\\n * @type {boolean}\\n */\\nWebGLContextAttributes.prototype.premultipliedAlpha;\\n\\n/**\\n * @type {boolean}\\n */\\nWebGLContextAttributes.prototype.preserveDrawingBuffer;\\n\\n/**\\n * @type {boolean}\\n */\\nWebGLContextAttributes.prototype.preferLowPowerToHighPerformance;\\n\\n/**\\n * @type {boolean}\\n */\\nWebGLContextAttributes.prototype.failIfMajorPerformanceCaveat;\\n\\n/**\\n * @param {string} eventType\\n * @constructor\\n * @noalias\\n * @extends {Event}\\n */\\nfunction WebGLContextEvent(eventType) {}\\n\\n/**\\n * @type {string}\\n */\\nWebGLContextEvent.prototype.statusMessage;\\n\\n\\n/**\\n * @constructor\\n * @noalias\\n */\\nfunction WebGLShaderPrecisionFormat() {}\\n\\n/**\\n * @type {number}\\n */\\nWebGLShaderPrecisionFormat.prototype.rangeMin;\\n\\n/**\\n * @type {number}\\n */\\nWebGLShaderPrecisionFormat.prototype.rangeMax;\\n\\n/**\\n * @type {number}\\n */\\nWebGLShaderPrecisionFormat.prototype.precision;\\n\\n\\n/**\\n * @constructor\\n * @noalias\\n */\\nfunction WebGLObject() {}\\n\\n\\n/**\\n * @constructor\\n * @noalias\\n * @extends {WebGLObject}\\n */\\nfunction WebGLBuffer() {}\\n\\n\\n/**\\n * @constructor\\n * @noalias\\n * @extends {WebGLObject}\\n */\\nfunction WebGLFramebuffer() {}\\n\\n\\n/**\\n * @constructor\\n * @noalias\\n * @extends {WebGLObject}\\n */\\nfunction WebGLProgram() {}\\n\\n\\n/**\\n * @constructor\\n * @noalias\\n * @extends {WebGLObject}\\n */\\nfunction WebGLRenderbuffer() {}\\n\\n\\n/**\\n * @constructor\\n * @noalias\\n * @extends {WebGLObject}\\n */\\nfunction WebGLShader() {}\\n\\n\\n/**\\n * @constructor\\n * @noalias\\n * @extends {WebGLObject}\\n */\\nfunction WebGLTexture() {}\\n\\n\\n/**\\n * @constructor\\n * @noalias\\n */\\nfunction WebGLActiveInfo() {}\\n\\n/** @type {number} */\\nWebGLActiveInfo.prototype.size;\\n\\n/** @type {number} */\\nWebGLActiveInfo.prototype.type;\\n\\n/** @type {string} */\\nWebGLActiveInfo.prototype.name;\\n\\n\\n/**\\n * @constructor\\n * @noalias\\n */\\nfunction WebGLUniformLocation() {}\\n\\n\\n/**\\n * @see http://www.khronos.org/registry/webgl/extensions/OES_texture_float/\\n * @constructor\\n * @noalias\\n */\\nfunction OES_texture_float() {}\\n\\n\\n/**\\n * @see http://www.khronos.org/registry/webgl/extensions/OES_texture_half_float/\\n * @constructor\\n * @noalias\\n */\\nfunction OES_texture_half_float() {}\\n\\n/** @type {number} */\\nOES_texture_half_float.prototype.HALF_FLOAT_OES;\\n\\n\\n/**\\n * @see http://www.khronos.org/registry/webgl/extensions/WEBGL_lose_context/\\n * @constructor\\n * @noalias\\n */\\nfunction WEBGL_lose_context() {}\\n\\nWEBGL_lose_context.prototype.loseContext = function() {};\\n\\nWEBGL_lose_context.prototype.restoreContext = function() {};\\n\\n\\n/**\\n * @see http://www.khronos.org/registry/webgl/extensions/OES_standard_derivatives/\\n * @constructor\\n * @noalias\\n */\\nfunction OES_standard_derivatives() {}\\n\\n/** @type {number} */\\nOES_standard_derivatives.prototype.FRAGMENT_SHADER_DERIVATIVE_HINT_OES;\\n\\n\\n/**\\n * @see http://www.khronos.org/registry/webgl/extensions/OES_vertex_array_object/\\n * @constructor\\n * @noalias\\n * @extends {WebGLObject}\\n */\\nfunction WebGLVertexArrayObjectOES() {}\\n\\n\\n/**\\n * @see http://www.khronos.org/registry/webgl/extensions/OES_vertex_array_object/\\n * @constructor\\n * @noalias\\n */\\nfunction OES_vertex_array_object() {}\\n\\n/** @type {number} */\\nOES_vertex_array_object.prototype.VERTEX_ARRAY_BINDING_OES;\\n\\n/**\\n * @return {WebGLVertexArrayObjectOES}\\n * @nosideeffects\\n */\\nOES_vertex_array_object.prototype.createVertexArrayOES = function() {};\\n\\n/**\\n * @param {WebGLVertexArrayObjectOES} arrayObject\\n * @return {undefined}\\n */\\nOES_vertex_array_object.prototype.deleteVertexArrayOES =\\n    function(arrayObject) {};\\n\\n/**\\n * @param {WebGLVertexArrayObjectOES} arrayObject\\n * @return {boolean}\\n * @nosideeffects\\n */\\nOES_vertex_array_object.prototype.isVertexArrayOES = function(arrayObject) {};\\n\\n/**\\n * @param {WebGLVertexArrayObjectOES} arrayObject\\n * @return {undefined}\\n */\\nOES_vertex_array_object.prototype.bindVertexArrayOES = function(arrayObject) {};\\n\\n\\n/**\\n * @see http://www.khronos.org/registry/webgl/extensions/WEBGL_debug_renderer_info/\\n * @constructor\\n * @noalias\\n */\\nfunction WEBGL_debug_renderer_info() {}\\n\\n/** @type {number} */\\nWEBGL_debug_renderer_info.prototype.UNMASKED_VENDOR_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_debug_renderer_info.prototype.UNMASKED_RENDERER_WEBGL;\\n\\n\\n/**\\n * @see http://www.khronos.org/registry/webgl/extensions/WEBGL_debug_shaders/\\n * @constructor\\n * @noalias\\n */\\nfunction WEBGL_debug_shaders() {}\\n\\n/**";
a.a+="\\n * @param {WebGLShader} shader\\n * @return {string}\\n * @nosideeffects\\n */\\nWEBGL_debug_shaders.prototype.getTranslatedShaderSource = function(shader) {};\\n\\n\\n/**\\n * @see http://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_s3tc/\\n * @constructor\\n * @noalias\\n */\\nfunction WEBGL_compressed_texture_s3tc() {}\\n\\n/** @type {number} */\\nWEBGL_compressed_texture_s3tc.prototype.COMPRESSED_RGB_S3TC_DXT1_EXT;\\n\\n/** @type {number} */\\nWEBGL_compressed_texture_s3tc.prototype.COMPRESSED_RGBA_S3TC_DXT1_EXT;\\n\\n/** @type {number} */\\nWEBGL_compressed_texture_s3tc.prototype.COMPRESSED_RGBA_S3TC_DXT3_EXT;\\n\\n/** @type {number} */\\nWEBGL_compressed_texture_s3tc.prototype.COMPRESSED_RGBA_S3TC_DXT5_EXT;\\n\\n\\n/**\\n * @see http://www.khronos.org/registry/webgl/extensions/OES_depth_texture/\\n * @constructor\\n * @noalias\\n */\\nfunction OES_depth_texture() {}\\n\\n\\n/**\\n * @see http://www.khronos.org/registry/webgl/extensions/OES_element_index_uint/\\n * @constructor\\n * @noalias\\n */\\nfunction OES_element_index_uint() {}\\n\\n\\n/**\\n * @see http://www.khronos.org/registry/webgl/extensions/EXT_texture_filter_anisotropic/\\n * @constructor\\n * @noalias\\n */\\nfunction EXT_texture_filter_anisotropic() {}\\n\\n/** @type {number} */\\nEXT_texture_filter_anisotropic.prototype.TEXTURE_MAX_ANISOTROPY_EXT;\\n\\n/** @type {number} */\\nEXT_texture_filter_anisotropic.prototype.MAX_TEXTURE_MAX_ANISOTROPY_EXT;\\n\\n\\n/**\\n * @see https://www.khronos.org/registry/webgl/extensions/WEBGL_draw_buffers/\\n * @constructor\\n * @noalias\\n */\\nfunction WEBGL_draw_buffers() {}\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT0_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT1_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT2_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT3_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT4_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT5_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT6_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT7_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT8_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT9_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT10_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT11_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT12_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT13_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT14_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT15_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER0_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER1_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER2_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER3_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER4_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER5_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER6_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER7_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER8_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER9_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER10_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER11_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER12_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER13_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER14_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER15_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.MAX_COLOR_ATTACHMENTS_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.MAX_DRAW_BUFFERS_WEBGL;\\n\\n/**\\n * @param {Array<number>} buffers Draw buffers.\\n * @return {undefined}\\n */\\nWEBGL_draw_buffers.prototype.drawBuffersWEBGL = function(buffers) {};\\n\\n\\n/**\\n * @see http://www.khronos.org/registry/webgl/extensions/ANGLE_instanced_arrays/\\n * @constructor\\n * @noalias\\n */\\nfunction ANGLE_instanced_arrays() {}\\n\\n\\n/** @type {number} */\\nANGLE_instanced_arrays.prototype.VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE;\\n\\n\\n/**\\n * @param {number} mode Primitive type.\\n * @param {number} first First vertex.\\n * @param {number} count Number of vertices per instance.\\n * @param {number} primcount Number of instances.\\n * @return {undefined}\\n */\\nANGLE_instanced_arrays.prototype.drawArraysInstancedANGLE = function(\\n    mode, first, count, primcount) {};\\n\\n\\n/**\\n * @param {number} mode Primitive type.\\n * @param {number} count Number of vertex indices per instance.\\n * @param {number} type Type of a vertex index.\\n * @param {number} offset Offset to the first vertex index.\\n * @param {number} primcount Number of instances.\\n * @return {undefined}\\n */\\nANGLE_instanced_arrays.prototype.drawElementsInstancedANGLE = function(\\n    mode, count, type, offset, primcount) {};\\n\\n\\n/**\\n * @param {number} index Attribute index.\\n * @param {number} divisor Instance divisor.\\n * @return {undefined}\\n */\\nANGLE_instanced_arrays.prototype.vertexAttribDivisorANGLE = function(\\n    index, divisor) {};\\n\\n\",\"externs/fetchapi.js\":\"/*\\n * Copyright 2014 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n/**\\n * @fileoverview Definitions of the fetch api.\\n *\\n * This api is still in development and not yet stable. Use at your\\n * own risk.\\n *\\n * Based on Living Standard \u2014 Last Updated 17 August 2016\\n *\\n * @see https://fetch.spec.whatwg.org/\\n * @externs\\n */\\n\\n\\n/**\\n * @typedef {string}\\n * @see https://w3c.github.io/webappsec-referrer-policy/#enumdef-referrerpolicy\\n * Possible values: '', 'no-referrer', 'no-referrer-when-downgrade',\\n *  'same-origin', 'origin', 'strict-origin', 'origin-when-cross-origin',\\n *  'strict-origin-when-cross-origin', 'unsafe-url'\\n */\\nvar ReferrerPolicy;\\n\\n\\n/**\\n * @typedef {!Headers|!Array<!Array<string>>|!IObject<string,string>}\\n * @see https://fetch.spec.whatwg.org/#headersinit\\n */\\nvar HeadersInit;\\n\\n\\n/**\\n * @param {!HeadersInit=} opt_headersInit\\n * @constructor\\n * @implements {Iterable<!Array<string>>}\\n * @see https://fetch.spec.whatwg.org/#headers\\n */\\nfunction Headers(opt_headersInit) {}\\n\\n/**\\n * @param {string} name\\n * @param {string} value\\n * @return {undefined}\\n */\\nHeaders.prototype.append = function(name, value) {};\\n\\n/**\\n * @param {string} name\\n * @return {undefined}\\n */\\nHeaders.prototype.delete = function(name) {};\\n\\n/** @return {!IteratorIterable<!Array<string>>} */\\nHeaders.prototype.entries = function() {};\\n\\n/**\\n * @param {string} name\\n * @return {?string}\\n */\\nHeaders.prototype.get = function(name) {};\\n\\n/**\\n * @param {string} name\\n * @return {!Array<string>}\\n */\\nHeaders.prototype.getAll = function(name) {};\\n\\n/**\\n * @param {string} name\\n * @return {boolean}\\n */\\nHeaders.prototype.has = function(name) {};\\n\\n/** @return {!Iterator<string>} */\\nHeaders.prototype.keys = function() {};\\n\\n/**\\n * @param {string} name\\n * @param {string} value\\n * @return {undefined}\\n */\\nHeaders.prototype.set = function(name, value) {};\\n\\n/** @return {!Iterator<string>} */\\nHeaders.prototype.values = function() {};\\n\\n/** @return {!Iterator<!Array<string>>} */\\nHeaders.prototype[Symbol.iterator] = function() {};\\n\\n\\n/**\\n * @typedef {!Blob|!BufferSource|!FormData|string}\\n * @see https://fetch.spec.whatwg.org/#bodyinit\\n */\\nvar BodyInit;\\n\\n\\n/**\\n * @typedef {!BodyInit|!ReadableStream}\\n * @see https://fetch.spec.whatwg.org/#responsebodyinit\\n */\\nvar ResponseBodyInit;\\n\\n\\n/**\\n * @interface\\n * @see https://fetch.spec.whatwg.org/#body\\n */\\nfunction Body() {};\\n\\n/** @type {boolean} */\\nBody.prototype.bodyUsed;\\n\\n/** @return {!Promise<!ArrayBuffer>} */\\nBody.prototype.arrayBuffer = function() {};\\n\\n/** @return {!Promise<!Blob>} */\\nBody.prototype.blob = function() {};\\n\\n/** @return {!Promise<!FormData>} */\\nBody.prototype.formData = function() {};\\n\\n/** @return {!Promise<*>} */\\nBody.prototype.json = function() {};\\n\\n/** @return {!Promise<string>} */\\nBody.prototype.text = function() {};\\n\\n\\n/**\\n * @typedef {!Request|string}\\n * @see https://fetch.spec.whatwg.org/#requestinfo\\n */\\nvar RequestInfo;\\n\\n\\n/**\\n * @param {!RequestInfo} input\\n * @param {!RequestInit=} opt_init\\n * @constructor\\n * @implements {Body}\\n * @see https://fetch.spec.whatwg.org/#request\\n */\\nfunction Request(input, opt_init) {}\\n\\n/** @override */\\nRequest.prototype.bodyUsed;\\n\\n/** @override */\\nRequest.prototype.arrayBuffer = function() {};\\n\\n/** @override */\\nRequest.prototype.blob = function() {};\\n\\n/** @override */\\nRequest.prototype.formData = function() {};\\n\\n/** @override */\\nRequest.prototype.json = function() {};\\n\\n/** @override */\\nRequest.prototype.text = function() {};\\n\\n/** @type {string} */\\nRequest.prototype.method;\\n\\n/** @type {string} */\\nRequest.prototype.url;\\n\\n/** @type {!Headers} */\\nRequest.prototype.headers;\\n\\n/** @type {!FetchRequestType} */\\nRequest.prototype.type;\\n\\n/** @type {!RequestDestination} */\\nRequest.prototype.destination;\\n\\n/** @type {string} */\\nRequest.prototype.referrer;\\n\\n/** @type {!RequestMode} */\\nRequest.prototype.mode;\\n\\n/** @type {!RequestCredentials} */\\nRequest.prototype.credentials;\\n\\n/** @type {!RequestCache} */\\nRequest.prototype.cache;\\n\\n/** @type {!RequestRedirect} */\\nRequest.prototype.redirect;\\n\\n/** @type {string} */\\nRequest.prototype.integrity;\\n\\n/** @return {!Request} */\\nRequest.prototype.clone = function() {};\\n\\n\\n/**\\n * @record\\n * @see https://fetch.spec.whatwg.org/#requestinit\\n */\\nfunction RequestInit() {};\\n\\n/** @type {(undefined|string)} */\\nRequestInit.prototype.method;\\n\\n/** @type {(undefined|!HeadersInit)} */\\nRequestInit.prototype.headers;\\n\\n/** @type {(undefined|?BodyInit)} */\\nRequestInit.prototype.body;\\n\\n/** @type {(undefined|string)} */\\nRequestInit.prototype.referrer;\\n\\n/** @type {(undefined|!ReferrerPolicy)} */\\nRequestInit.prototype.referrerPolicy;\\n\\n/** @type {(undefined|!RequestMode)} */\\nRequestInit.prototype.mode;\\n\\n/** @type {(undefined|!RequestCredentials)} */\\nRequestInit.prototype.credentials;\\n\\n/** @type {(undefined|!RequestCache)} */\\nRequestInit.prototype.cache;\\n\\n/** @type {(undefined|!RequestRedirect)} */\\nRequestInit.prototype.redirect;\\n\\n/** @type {(undefined|string)} */\\nRequestInit.prototype.integrity;\\n\\n/** @type {(undefined|null)} */\\nRequestInit.prototype.window;\\n\\n/**\\n * @typedef {string}\\n * @see https://fetch.spec.whatwg.org/#requesttype\\n *  Possible values: '', 'audio', 'font', 'image', 'script', 'style',\\n *  'track', 'video'\\n */\\nvar FetchRequestType;\\n\\n\\n/**\\n * @typedef {string}\\n * @see https://fetch.spec.whatwg.org/#requestdestination\\n * Possible values: '', 'document', 'embed', 'font', 'image', 'manifest',\\n *  'media', 'object', 'report', 'script', 'serviceworker', 'sharedworker',\\n *  'style', 'worker', 'xslt'\\n */\\nvar RequestDestination;\\n\\n\\n/**\\n * @typedef {string}\\n * @see https://fetch.spec.whatwg.org/#requestmode\\n * Possible values: 'navigate', 'same-origin', 'no-cors', 'cors'\\n */\\nvar RequestMode ;\\n\\n\\n/**\\n * @typedef {string}\\n * @see https://fetch.spec.whatwg.org/#requestcredentials\\n * Possible values: 'omit', 'same-origin', 'include'\\n */\\nvar RequestCredentials;\\n\\n\\n/**\\n * @typedef {string}\\n * @see https://fetch.spec.whatwg.org/#requestcache\\n *  Possible values: 'default', 'no-store', 'reload', 'no-cache', 'force-cache',\\n * 'only-if-cached'\\n */\\nvar RequestCache;\\n\\n\\n/**\\n * @typedef {string}\\n * @see https://fetch.spec.whatwg.org/#requestredirect\\n * Possible values: 'follow', 'error', 'manual'\\n */\\nvar RequestRedirect;\\n\\n\\n/**\\n * @param {?ResponseBodyInit=} opt_body\\n * @param {!ResponseInit=} opt_init\\n * @constructor\\n * @implements {Body}\\n * @see https://fetch.spec.whatwg.org/#response\\n */\\nfunction Response(opt_body, opt_init) {}\\n\\n/** @return {!Response} */\\nResponse.error = function() {};\\n\\n/**\\n * @param {string} url\\n * @param {number=} opt_status\\n * @return {!Response}\\n */\\nResponse.redirect = function(url, opt_status) {};\\n\\n/** @override */\\nResponse.prototype.bodyUsed;\\n\\n/** @override */\\nResponse.prototype.arrayBuffer = function() {};\\n\\n/** @override */\\nResponse.prototype.blob = function() {};\\n\\n/** @override */\\nResponse.prototype.formData = function() {};\\n\\n/** @override */\\nResponse.prototype.json = function() {};\\n\\n/** @override */\\nResponse.prototype.text = function() {};\\n\\n/** @type {!ResponseType} */\\nResponse.prototype.type;\\n\\n/** @type {string} */\\nResponse.prototype.url;\\n\\n/** @type {boolean} */\\nResponse.prototype.redirected;\\n\\n/** @type {number} */\\nResponse.prototype.status;\\n\\n/** @type {boolean} */\\nResponse.prototype.ok;\\n\\n/** @type {string} */\\nResponse.prototype.statusText;\\n\\n/** @type {!Headers} */\\nResponse.prototype.headers;\\n\\n/** @type {?ReadableStream} */\\nResponse.prototype.body;\\n\\n/** @type {!Promise<!Headers>} */\\nResponse.prototype.trailer;\\n\\n/** @return {!Response} */\\nResponse.prototype.clone = function() {};\\n\\n\\n/**\\n * @record\\n * @see https://fetch.spec.whatwg.org/#responseinit\\n */\\nfunction ResponseInit() {};\\n\\n/** @type {(undefined|number)} */\\nResponseInit.prototype.status;\\n\\n/** @type {(undefined|string)} */\\nResponseInit.prototype.statusText;\\n\\n/** @type {(undefined|!HeadersInit)} */\\nResponseInit.prototype.headers;\\n\\n\\n/**\\n * @typedef {string}\\n * @see https://fetch.spec.whatwg.org/#responsetype\\n * Possible values: 'basic', 'cors', 'default', 'error', 'opaque',\\n *  'opaqueredirect'\\n */\\nvar ResponseType;\\n\\n/**\\n * @param {!RequestInfo} input\\n * @param {!RequestInit=} opt_init\\n * @return {!Promise<!Response>}\\n * @see https://fetch.spec.whatwg.org/#fetch-method\\n */\\nfunction fetch(input, opt_init) {}\\n\\n/**\\n * @param {!RequestInfo} input\\n * @param {!RequestInit=} opt_init\\n * @return {!Promise<!Response>}\\n * @see https://fetch.spec.whatwg.org/#fetch-method\\n */\\nWindow.prototype.fetch = function(input, opt_init) {};\\n\\n/**\\n * @param {!RequestInfo} input\\n * @param {!RequestInit=} opt_init\\n * @return {!Promise<!Response>}\\n * @see https://fetch.spec.whatwg.org/#fetch-method\\n */\\nWorkerGlobalScope.prototype.fetch = function(input, opt_init) {};\\n\",\"externs/streamsapi.js\":\"/*\\n * Copyright 2015 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n/**\\n * @fileoverview Streams API definitions\\n *\\n * Based on Living Standard \u2014 Last Updated 5 August 2016\\n * https://streams.spec.whatwg.org/commit-snapshots/34ecaadbcce8df9943d7a2cdb7fca4dc25914df4/\\n *\\n * @see https://streams.spec.whatwg.org/\\n * @externs\\n */\\n\\n\\n/** @typedef {{ value:*, done:boolean }} */\\nvar IteratorResult;\\n\\n\\n/**\\n * @typedef {!CountQueuingStrategy|!ByteLengthQueuingStrategy|{\\n *     size: (undefined|function(*): number),\\n *     highWaterMark: number\\n * }}\\n";
a.a+=" */\\nvar QueuingStrategy;\\n\\n\\n/**\\n * @record\\n */\\nfunction TransformStream() {};\\n\\n/** @type {!WritableStream} */\\nTransformStream.prototype.writable;\\n\\n/** @type {!ReadableStream} */\\nTransformStream.prototype.readable;\\n\\n\\n/**\\n * @record\\n */\\nfunction PipeOptions() {};\\n\\n/** @type {undefined|boolean} */\\nPipeOptions.prototype.preventClose;\\n\\n/** @type {undefined|boolean} */\\nPipeOptions.prototype.preventAbort;\\n\\n/** @type {undefined|boolean} */\\nPipeOptions.prototype.preventCancel;\\n\\n\\n/**\\n * @record\\n */\\nfunction ReadableStreamSource() {};\\n\\n/**\\n * @type {(undefined|\\n *     function((!ReadableByteStreamController|!ReadableStreamDefaultController)):(!IThenable<*>|undefined))}\\n */\\nReadableStreamSource.prototype.start;\\n\\n/**\\n * @type {(undefined|\\n *     function((!ReadableByteStreamController|!ReadableStreamDefaultController)):(!IThenable<*>|undefined))}\\n */\\nReadableStreamSource.prototype.pull;\\n\\n/** @type {(undefined|function(*):(!Promise<*>|undefined))} */\\nReadableStreamSource.prototype.cancel;\\n\\n/** @type {(undefined|string)} */\\nReadableStreamSource.prototype.type;\\n\\n/** @type {(undefined|number)} */\\nReadableStreamSource.prototype.autoAllocateChunkSize;\\n\\n\\n/**\\n * @param {!ReadableStreamSource=} opt_underlyingSource\\n * @param {!QueuingStrategy=} opt_queuingStrategy\\n * @constructor\\n * @see https://streams.spec.whatwg.org/#rs-class\\n */\\nfunction ReadableStream(opt_underlyingSource, opt_queuingStrategy) {};\\n\\n/**\\n * @type {boolean}\\n * @see https://streams.spec.whatwg.org/#rs-locked\\n */\\nReadableStream.prototype.locked;\\n\\n/**\\n * @param {*} reason\\n * @return {!Promise<void>}\\n * @see https://streams.spec.whatwg.org/#rs-cancel\\n */\\nReadableStream.prototype.cancel = function(reason) {};\\n\\n/**\\n * @param {{ mode:(undefined|string) }=} opt_options\\n * @return {(!ReadableStreamDefaultReader|!ReadableStreamBYOBReader)}\\n * @see https://streams.spec.whatwg.org/#rs-get-reader\\n */\\nReadableStream.prototype.getReader = function(opt_options) {};\\n\\n/**\\n * @param {!TransformStream} transform\\n * @param {!PipeOptions=} opt_options\\n * @return {!ReadableStream}\\n * @see https://streams.spec.whatwg.org/#rs-pipe-through\\n */\\nReadableStream.prototype.pipeThrough = function(transform, opt_options) {};\\n\\n/**\\n * @param {!WritableStream} dest\\n * @param {!PipeOptions=} opt_options\\n * @return {!Promise<void>}\\n * @see https://streams.spec.whatwg.org/#rs-pipe-to\\n */\\nReadableStream.prototype.pipeTo = function(dest, opt_options) {};\\n\\n/**\\n * @return {!Array<!ReadableStream>}\\n * @see https://streams.spec.whatwg.org/#rs-tee\\n */\\nReadableStream.prototype.tee = function() {};\\n\\n\\n/**\\n * The ReadableStreamDefaultReader constructor is generally not meant to be used directly;\\n * instead, a stream\u2019s getReader() method should be used.\\n *\\n * @interface\\n * @see https://streams.spec.whatwg.org/#default-reader-class\\n */\\nfunction ReadableStreamDefaultReader() {};\\n\\n/**\\n * @type {!Promise<void>}\\n * @see https://streams.spec.whatwg.org/#default-reader-closed\\n */\\nReadableStreamDefaultReader.prototype.closed;\\n\\n/**\\n * @param {*} reason\\n * @return {!Promise<*>}\\n * @see https://streams.spec.whatwg.org/#default-reader-cancel\\n */\\nReadableStreamDefaultReader.prototype.cancel = function(reason) {};\\n\\n/**\\n * @return {!Promise<!IteratorResult>}\\n * @see https://streams.spec.whatwg.org/#default-reader-read\\n */\\nReadableStreamDefaultReader.prototype.read = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see https://streams.spec.whatwg.org/#default-reader-release-lock\\n */\\nReadableStreamDefaultReader.prototype.releaseLock = function() {};\\n\\n\\n/**\\n * The ReadableStreamBYOBReader constructor is generally not meant to be used\\n * directly; instead, a stream\u2019s getReader() method should be used.\\n *\\n * @interface\\n * @see https://streams.spec.whatwg.org/#byob-reader-class\\n */\\nfunction ReadableStreamBYOBReader() {};\\n\\n/**\\n * @type {!Promise<void>}\\n * @see https://streams.spec.whatwg.org/#byob-reader-closed\\n */\\nReadableStreamBYOBReader.prototype.closed;\\n\\n/**\\n * @param {*} reason\\n * @return {!Promise<*>}\\n * @see https://streams.spec.whatwg.org/#byob-reader-cancel\\n */\\nReadableStreamBYOBReader.prototype.cancel = function(reason) {};\\n\\n/**\\n * @param {!ArrayBufferView} view\\n * @return {!Promise<!IteratorResult>}\\n * @see https://streams.spec.whatwg.org/#byob-reader-read\\n */\\nReadableStreamBYOBReader.prototype.read = function(view) {};\\n\\n/**\\n * @return {undefined}\\n * @see https://streams.spec.whatwg.org/#byob-reader-release-lock\\n */\\nReadableStreamBYOBReader.prototype.releaseLock = function() {};\\n\\n\\n/**\\n * The ReadableStreamDefaultController constructor cannot be used directly;\\n * it only works on a ReadableStream that is in the middle of being constructed.\\n *\\n * @interface\\n * @see https://streams.spec.whatwg.org/#rs-default-controller-class\\n */\\nfunction ReadableStreamDefaultController() {};\\n\\n/**\\n * @type {number}\\n * @see https://streams.spec.whatwg.org/#rs-default-controller-desired-size\\n */\\nReadableStreamDefaultController.prototype.desiredSize;\\n\\n/**\\n * @return {undefined}\\n * @see https://streams.spec.whatwg.org/#rs-default-controller-close\\n */\\nReadableStreamDefaultController.prototype.close = function() {};\\n\\n/**\\n * @param {*} chunk\\n * @return {undefined}\\n * @see https://streams.spec.whatwg.org/#rs-default-controller-enqueue\\n */\\nReadableStreamDefaultController.prototype.enqueue = function(chunk) {};\\n\\n/**\\n * @param {*} err\\n * @return {undefined}\\n * @see https://streams.spec.whatwg.org/#rs-default-controller-error\\n */\\nReadableStreamDefaultController.prototype.error = function(err) {};\\n\\n\\n/**\\n * The ReadableByteStreamController constructor cannot be used directly;\\n * it only works on a ReadableStream that is in the middle of being constructed.\\n *\\n * @interface\\n * @see https://streams.spec.whatwg.org/#rbs-controller-class\\n */\\nfunction ReadableByteStreamController() {};\\n\\n/**\\n * @type {!ReadableStreamBYOBRequest}\\n * @see https://streams.spec.whatwg.org/#rbs-controller-byob-request\\n */\\nReadableByteStreamController.prototype.byobRequest;\\n\\n/**\\n * @type {number}\\n * @see https://streams.spec.whatwg.org/#rbs-controller-desired-size\\n */\\nReadableByteStreamController.prototype.desiredSize;\\n\\n/**\\n * @return {undefined}\\n * @see https://streams.spec.whatwg.org/#rbs-controller-close\\n */\\nReadableByteStreamController.prototype.close = function() {};\\n\\n/**\\n * @param {!ArrayBufferView} chunk\\n * @return {undefined}\\n * @see https://streams.spec.whatwg.org/#rbs-controller-enqueue\\n */\\nReadableByteStreamController.prototype.enqueue = function(chunk) {};\\n\\n/**\\n * @param {*} err\\n * @return {undefined}\\n * @see https://streams.spec.whatwg.org/#rbs-controller-error\\n */\\nReadableByteStreamController.prototype.error = function(err) {};\\n\\n\\n/**\\n * @interface\\n * @see https://streams.spec.whatwg.org/#rs-byob-request-class\\n */\\nfunction ReadableStreamBYOBRequest() {};\\n\\n/**\\n * @type {!ArrayBufferView}\\n * @see https://streams.spec.whatwg.org/#rs-byob-request-view\\n */\\nReadableStreamBYOBRequest.prototype.view;\\n\\n/**\\n * @param {number} bytesWritten\\n * @return {undefined}\\n * @see https://streams.spec.whatwg.org/#rs-byob-request-respond\\n */\\nReadableStreamBYOBRequest.prototype.respond = function(bytesWritten) {};\\n\\n/**\\n * @param {!ArrayBufferView} view\\n * @return {undefined}\\n * @see https://streams.spec.whatwg.org/#rs-byob-request-respond-with-new-view\\n */\\nReadableStreamBYOBRequest.prototype.respondWithNewView = function(view) {};\\n\\n\\n/**\\n * @record\\n */\\nfunction WritableStreamSink() {};\\n\\n/** @type {(undefined|function(!WritableStreamDefaultController):(!IThenable<*>|undefined))}*/\\nWritableStreamSink.prototype.start;\\n\\n/** @type {(undefined|function(!WritableStreamDefaultController):(!IThenable<*>|undefined))}*/\\nWritableStreamSink.prototype.write;\\n\\n/** @type {(undefined|function():(!IThenable<*>|undefined))} */\\nWritableStreamSink.prototype.close;\\n\\n/** @type {(undefined|function(*):(!IThenable<*>|undefined))} */\\nWritableStreamSink.prototype.abort;\\n\\n\\n/**\\n * @param {!WritableStreamSink=} opt_underlyingSink\\n * @param {!QueuingStrategy=} opt_queuingStrategy\\n * @constructor\\n * @see https://streams.spec.whatwg.org/#ws-class\\n */\\nfunction WritableStream(opt_underlyingSink, opt_queuingStrategy) {};\\n\\n/**\\n * @type {boolean}\\n * @see https://streams.spec.whatwg.org/#ws-locked\\n */\\nWritableStream.prototype.locked;\\n\\n/**\\n * @param {*} reason\\n * @return {!Promise<undefined>}\\n * @see https://streams.spec.whatwg.org/#ws-abort\\n */\\nWritableStream.prototype.abort = function(reason) {};\\n\\n/**\\n * @return {!WritableStreamDefaultWriter}\\n * @see https://streams.spec.whatwg.org/#ws-get-writer\\n */\\nWritableStream.prototype.getWriter = function() {};\\n\\n\\n/**\\n * @interface\\n * @see https://streams.spec.whatwg.org/#default-writer-class\\n */\\nfunction WritableStreamDefaultWriter() {};\\n\\n/**\\n * @type {!Promise<undefined>}\\n * @see https://streams.spec.whatwg.org/#default-writer-closed\\n */\\nWritableStreamDefaultWriter.prototype.closed;\\n\\n/**\\n * @type {number}\\n * @see https://streams.spec.whatwg.org/#default-writer-desiredSize\\n */\\nWritableStreamDefaultWriter.prototype.desiredSize;\\n\\n/**\\n * @type {!Promise<number>}\\n * @see https://streams.spec.whatwg.org/#default-writer-ready\\n */\\nWritableStreamDefaultWriter.prototype.ready;\\n\\n/**\\n * @param {*} reason\\n * @return {!Promise<undefined>}\\n * @see https://streams.spec.whatwg.org/#default-writer-abort\\n */\\nWritableStreamDefaultWriter.prototype.abort = function(reason) {};\\n\\n/**\\n * @return {!Promise<undefined>}\\n * @see https://streams.spec.whatwg.org/#default-writer-close\\n */\\nWritableStreamDefaultWriter.prototype.close = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see https://streams.spec.whatwg.org/#default-writer-release-lock\\n */\\nWritableStreamDefaultWriter.prototype.releaseLock = function() {};\\n\\n/**\\n * @param {*} chunk\\n * @return {!Promise<undefined>}\\n * @see https://streams.spec.whatwg.org/#default-writer-write\\n */\\nWritableStreamDefaultWriter.prototype.write = function(chunk) {};\\n\\n\\n/**\\n * The WritableStreamDefaultController constructor cannot be used directly;\\n * it only works on a WritableStream that is in the middle of being constructed.\\n *\\n * @interface\\n * @see https://streams.spec.whatwg.org/#ws-default-controller-class\\n */\\nfunction WritableStreamDefaultController() {};\\n\\n/**\\n * @param {*} err\\n * @return {!Promise<undefined>}\\n * @see https://streams.spec.whatwg.org/#ws-default-controller-error\\n */\\nWritableStreamDefaultController.prototype.error = function(err) {};\\n\\n\\n/**\\n * @param {{ highWaterMark:number }} config\\n * @constructor\\n * @see https://streams.spec.whatwg.org/#blqs-class\\n */\\nfunction ByteLengthQueuingStrategy(config) {}\\n\\n/**\\n * If we don't want to be strict we can define chunk as {*}\\n * and return as {number|undefined}\\n *\\n * @param {{ byteLength:number }} chunk\\n * @return {number}\\n * @see https://streams.spec.whatwg.org/#blqs-size\\n */\\nByteLengthQueuingStrategy.prototype.size = function(chunk) {};\\n\\n\\n/**\\n * @param {{ highWaterMark:number }} config\\n * @constructor\\n * @see https://streams.spec.whatwg.org/#cqs-class\\n */\\nfunction CountQueuingStrategy(config) {}\\n\\n/**\\n * @param {*} chunk\\n * @return {number}\\n * @see https://streams.spec.whatwg.org/#cqs-size\\n */\\nCountQueuingStrategy.prototype.size = function(chunk) {};\\n\",\"js/build_polyfill_table.js\":\"#!/usr/bin/env node\\n\\n/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'use strict';\\n\\nconst fs = require('fs');\\n\\n/**\\n * Provides an ordering to ensure lower-versioned polyfills don't\\n * depend on higher versions.\\n */\\nconst ORDER = ['es3', 'es5', 'es6', 'es7', 'es8'];\\n\\n/**\\n * Prints to stderr and exits.\\n * @param {string} message\\n */\\nfunction fail(message) {\\n  console.error(message);\\n  process.exit(1);\\n}\\n\\n/**\\n * Builds up a table of polyfills.\\n */\\nclass PolyfillTable {\\n  constructor() {\\n    /** @const {!Map<string, !Array<string>>} */\\n    this.symbolToFile = new Map();\\n    /** @const {!Map<string, !Set<string>>} */\\n    this.deps = new Map();\\n    /** @const {!Map<string, string>} */\\n    this.versions = new Map();\\n    /** @const {!Array<!Array<string>>} */\\n    this.rows = [];\\n  }\\n\\n  /**\\n   * Returns a shim for $jscomp.polyfill.\\n   * @param {string} lib Library currently being scanned.\\n   * @return {function(string, ?Function, string, string)}\\n   */\\n  polyfill(lib) {\\n    return (polyfill, impl, fromLang, toLang) => {\\n      if (!ORDER.includes(fromLang)) {\\n        throw new Error(\\n            `Unknown language version ${fromLang} for ${polyfill}`);\\n      }\\n\\n      if (!ORDER.includes(toLang)) {\\n        throw new Error(\\n            `Unknown language version ${toLang} for ${polyfill}`);\\n      }\\n\\n      this.symbolToFile.set(polyfill, this.symbolToFile.get(polyfill) || []);\\n      this.symbolToFile.get(polyfill).push(lib);\\n      const row = [polyfill, fromLang, toLang];\\n      if (impl) {\\n        row.push(lib);\\n        this.versions.set(lib, maxVersion(this.versions.get(lib), toLang));\\n      }\\n      this.rows.push(row);\\n    };\\n  }\\n\\n  /**\\n   * Reads a JS file and adds it to the table.\\n   * @param {string} lib Name of the library.\\n   * @param {string} data Contents of the file.\\n   */\\n  readFile(lib, data) {\\n    // Look for 'require' directives and add it to the dependency map.\\n    const deps = new Set();\\n    this.deps.set(lib, deps);\\n    const re = /'require ([^']+)'/g;\\n    let match;\\n    while (match = re.exec(data)) {\\n      match[1].split(' ').forEach(dep => deps.add(dep));\\n    }\\n    // Now run the file.\\n    try {\\n      new Function('$jscomp', data)({\\n        global: global,\\n        polyfill: this.polyfill(lib, table),\\n      });\\n    } catch (err) {\\n      throw new Error('Failed to parse file: ' + lib + ': ' + err);\\n    }\\n  }\\n\\n  /**\\n   * Concatenates the table into a string.  Throws an error if\\n   * there are any symbols provided by multiple files.\\n   * @return {string}\\n   */\\n  build() {\\n    const errors = new Set();\\n    try {\\n      // First check for duplicate provided symbols.\\n      for (const entry of this.symbolToFile.entries()) {\\n        if (entry[1].length != 1) {\\n          errors.add(\\n              `ERROR - ${entry[0]} provided by multiple files:${\\n                  entry[1].map(f => '\\\\n    ' + f).join('')}`);\\n        }\\n      }\\n      // Next ensure all deps have nonincreasing versions.\\n      checkDeps(errors, this.deps, this.versions);\\n      // If there are any errors, we should fail; otherwise concatenate.\\n    } catch (err) {\\n      errors.add('ERROR - uncaught exception: ' + err.stack);\\n    }\\n    if (errors.size) {\\n      fail(Array.from(errors).join('\\\\n\\\\n'));\\n    }\\n    return this.rows.sort().map(row => row.join(' ')).join('\\\\n');\\n  }\\n}\\n\\n/**\\n * Checks dependencies for the following issues:\\n *   (1) cyclic dependencies\\n *   (2) missing dependencies\\n *   (3) version mismatches\\n * @param {!Set<string>} errors\\n * @param {!Map<string, !Set<string>>} deps\\n * @param {!Map<string, string>} versions\\n */\\nfunction checkDeps(errors, deps, versions) {\\n  for (const file of deps.keys()) {\\n    const seen = new Set([file]);\\n    const queue = [file];\\n    const version = versions.get(file);\\n    while (queue.length) {\\n      const next = queue.shift();\\n      for (const dep of deps.get(next) || []) {\\n        if (dep == file) errors.add('ERROR - Cyclic dependency:\\\\n    ' + dep);\\n        if (seen.has(dep)) continue;\\n        seen.add(dep);\\n        queue.push(dep);\\n        if (!deps.has(dep)) {\\n          errors.add(\\n              'ERROR - missing dependency:\\\\n    ' + dep +\\n              ' required from\\\\n    ' ";
a.a+="+ file);\\n        }\\n        const depVersion = versions.get(dep);\\n        if (version && maxVersion(depVersion, version) != version) {\\n          errors.add(\\n              'ERROR - lower version depends on higher version:\\\\n    ' +\\n              version + ': ' + file + '\\\\n    ' + depVersion + ': ' + dep);\\n        }\\n      }\\n    }\\n  }\\n}\\n\\n/**\\n * Returns the higher order of the given versions.\\n * @param {string} version1\\n * @param {string} version2\\n * @return {string} The max version.\\n */\\nfunction maxVersion(version1, version2) {\\n  return ORDER[Math.max(ORDER.indexOf(version1), ORDER.indexOf(version2))];\\n}\\n\\nconst table = new PolyfillTable();\\n\\nconst reads = process.argv.slice(2).map(filename =>\\n  new Promise((fulfill, reject) =>\\n    fs.readFile(filename, 'utf8', (err, data) => {\\n      try {\\n        if (err) {\\n          reject(err);\\n        } else {\\n          const lib = filename.replace(/^.*?\\\\/js\\\\/|\\\\.js$/g, '');\\n          table.readFile(lib, data);\\n          fulfill('');\\n        }\\n      } catch (err) {\\n        reject(err);\\n      }\\n    })));\\n\\nPromise.all(reads).then(\\n    success => console.log(table.build()),\\n    failure => fail(failure.stack));\\n\",\"js/polyfills.txt\":\"Array.from es6 es3 es6/array/from\\nArray.of es6 es3 es6/array/of\\nArray.prototype.copyWithin es6 es3 es6/array/copywithin\\nArray.prototype.entries es6 es3 es6/array/entries\\nArray.prototype.fill es6 es3 es6/array/fill\\nArray.prototype.find es6 es3 es6/array/find\\nArray.prototype.findIndex es6 es3 es6/array/findindex\\nArray.prototype.includes es7 es3 es6/array/includes\\nArray.prototype.keys es6 es3 es6/array/keys\\nArray.prototype.values es8 es3 es6/array/values\\nMap es6 es3 es6/map\\nMath.acosh es6 es3 es6/math/acosh\\nMath.asinh es6 es3 es6/math/asinh\\nMath.atanh es6 es3 es6/math/atanh\\nMath.cbrt es6 es3 es6/math/cbrt\\nMath.clz32 es6 es3 es6/math/clz32\\nMath.cosh es6 es3 es6/math/cosh\\nMath.expm1 es6 es3 es6/math/exp1m\\nMath.hypot es6 es3 es6/math/hypot\\nMath.imul es6 es3 es6/math/imul\\nMath.log10 es6 es3 es6/math/log10\\nMath.log1p es6 es3 es6/math/log1p\\nMath.log2 es6 es3 es6/math/log2\\nMath.sign es6 es3 es6/math/sign\\nMath.sinh es6 es3 es6/math/sinh\\nMath.tanh es6 es3 es6/math/tanh\\nMath.trunc es6 es3 es6/math/trunc\\nNumber.EPSILON es6 es3 es6/number/constants\\nNumber.MAX_SAFE_INTEGER es6 es3 es6/number/constants\\nNumber.MIN_SAFE_INTEGER es6 es3 es6/number/constants\\nNumber.isFinite es6 es3 es6/number/isfinite\\nNumber.isInteger es6 es3 es6/number/isinteger\\nNumber.isNaN es6 es3 es6/number/isnan\\nNumber.isSafeInteger es6 es3 es6/number/issafeinteger\\nNumber.parseFloat es6 es3 es6/number/parsefloat\\nNumber.parseInt es6 es3 es6/number/parseint\\nObject.assign es6 es3 es6/object/assign\\nObject.entries es8 es3 es6/object/entries\\nObject.getOwnPropertyDescriptors es8 es5 es6/object/getownpropertydescriptors\\nObject.getOwnPropertySymbols es6 es5 es6/object/getownpropertysymbols\\nObject.is es6 es3 es6/object/is\\nObject.setPrototypeOf es6 es5 es6/object/setprototypeof\\nObject.values es8 es3 es6/object/values\\nPromise es6 es3 es6/promise\\nProxy es6 es6\\nReflect.apply es6 es3 es6/reflect/apply\\nReflect.construct es6 es3 es6/reflect/construct\\nReflect.defineProperty es6 es5 es6/reflect/defineproperty\\nReflect.deleteProperty es6 es3 es6/reflect/deleteproperty\\nReflect.get es6 es5 es6/reflect/get\\nReflect.getOwnPropertyDescriptor es6 es5 es6/reflect/getownpropertydescriptor\\nReflect.getPrototypeOf es6 es5 es6/reflect/getprototypeof\\nReflect.has es6 es3 es6/reflect/has\\nReflect.isExtensible es6 es3 es6/reflect/isextensible\\nReflect.ownKeys es6 es5 es6/reflect/ownkeys\\nReflect.preventExtensions es6 es3 es6/reflect/preventextensions\\nReflect.set es6 es5 es6/reflect/set\\nReflect.setPrototypeOf es6 es5 es6/reflect/setprototypeof\\nSet es6 es3 es6/set\\nString.fromCodePoint es6 es3 es6/string/fromcodepoint\\nString.prototype.codePointAt es6 es3 es6/string/codepointat\\nString.prototype.endsWith es6 es3 es6/string/endswith\\nString.prototype.includes es6 es3 es6/string/includes\\nString.prototype.normalize es6 es6\\nString.prototype.padEnd es8 es3 es6/string/padend\\nString.prototype.padStart es8 es3 es6/string/padstart\\nString.prototype.repeat es6 es3 es6/string/repeat\\nString.prototype.startsWith es6 es3 es6/string/startswith\\nString.raw es6 es6\\nWeakMap es6 es3 es6/weakmap\\nWeakSet es6 es3 es6/weakset\\n\",\"js/base.js\":\"/*\\n * Copyright 2012 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n\\n/**\\n * @fileoverview The base namespace for code injected by the compiler\\n * at compile-time.\\n *\\n * @author nicksantos@google.com (Nick Santos)\\n */\\n\\n/** @const */\\nvar $jscomp = $jscomp || {};\\n\\n/** @const Locals for goog.scope */\\n$jscomp.scope = {};\\n\",\"js/es6/array.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Brings in all ES6 Array polyfills.\\n */\\n'require es6/array/copywithin';\\n'require es6/array/entries';\\n'require es6/array/fill';\\n'require es6/array/find';\\n'require es6/array/findindex';\\n'require es6/array/from';\\n'require es6/array/includes';\\n'require es6/array/keys';\\n'require es6/array/of';\\n'require es6/array/values';\\n\",\"js/es6/array/copywithin.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Array.prototype.copyWithin', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Copies elements from one part of the array to another.\\n   *\\n   * @this {!IArrayLike<VALUE>}\\n   * @param {number} target Start index to copy elements to.\\n   * @param {number} start Start index to copy elements from.\\n   * @param {number=} opt_end Index from which to end copying.\\n   * @return {!IArrayLike<VALUE>} The array, with the copy performed in-place.\\n   * @template VALUE\\n   */\\n  var polyfill = function(target, start, opt_end) {\\n    var len = this.length;\\n    target = Number(target);\\n    start = Number(start);\\n    opt_end = Number(opt_end != null ? opt_end : len);\\n    if (target < start) {\\n      opt_end = Math.min(opt_end, len);\\n      while (start < opt_end) {\\n        if (start in this) {\\n          this[target++] = this[start++];\\n        } else {\\n          delete this[target++];\\n          start++;\\n        }\\n      }\\n    } else {\\n      opt_end = Math.min(opt_end, len + start - target);\\n      target += opt_end - start;\\n      while (opt_end > start) {\\n        if (--opt_end in this) {\\n          this[--target] = this[opt_end];\\n        } else {\\n          delete this[target];\\n        }\\n      }\\n    }\\n    return this;\\n  };\\n\\n  return polyfill;\\n}, 'es6', 'es3');\\n\",\"js/es6/array/entries.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n'require es6/util/iteratorfromarray';\\n\\n$jscomp.polyfill('Array.prototype.entries', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Returns an iterator of [key, value] arrays, one for each entry\\n   * in the given array.\\n   *\\n   * @this {!IArrayLike<VALUE>}\\n   * @return {!IteratorIterable<!Array<number|VALUE>>}\\n   * @template VALUE\\n   * @suppress {reportUnknownTypes}\\n   */\\n  var polyfill = function() {\\n    return $jscomp.iteratorFromArray(\\n        this, function(i, v) { return [i, v]; });\\n  };\\n\\n  return polyfill;\\n}, 'es6', 'es3');\\n\",\"js/es6/array/fill.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Array.prototype.fill', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Fills elements of an array with a constant value.\\n   *\\n   * @this {!IArrayLike<VALUE>}\\n   * @param {VALUE} value Value to fill.\\n   * @param {number=} opt_start Start index, or zero if omitted.\\n   * @param {number=} opt_end End index, or length if omitted.\\n   * @return {!IArrayLike<VALUE>} The array, with the fill performed in-place.\\n   * @template VALUE\\n   * @suppress {reportUnknownTypes}\\n   */\\n  var polyfill = function(value, opt_start, opt_end) {\\n    var length = this.length || 0;\\n    if (opt_start < 0) {\\n      opt_start = Math.max(0, length + /** @type {number} */ (opt_start));\\n    }\\n    if (opt_end == null || opt_end > length) opt_end = length;\\n    opt_end = Number(opt_end);\\n    if (opt_end < 0) opt_end = Math.max(0, length + opt_end);\\n    for (var i = Number(opt_start || 0); i < opt_end; i++) {\\n      this[i] = value;\\n    }\\n    return this;\\n  };\\n\\n  return polyfill;\\n}, 'es6', 'es3');\\n\",\"js/es6/array/find.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/findinternal';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Array.prototype.find', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Finds and returns an element that satisfies the given predicate.\\n   *\\n   * @this {!IArrayLike<VALUE>}\\n   * @param {function(this: THIS, VALUE, number, !IArrayLike<VALUE>): *}\\n   *     callback\\n   * @param {THIS=} opt_thisArg\\n   * @return {VALUE|undefined} The found value, or undefined.\\n   * @template VALUE, THIS\\n   * @suppress {reportUnknownTypes}\\n   */\\n  var polyfill = function(callback, opt_thisArg) {\\n    return $jscomp.findInternal(this, callback, opt_thisArg).v;\\n  };\\n\\n  return polyfill;\\n}, 'es6', 'es3');\\n\",\"js/es6/array/findindex.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/findinternal';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Array.prototype.findIndex', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Finds an element that satisfies the given predicate, returning its index.\\n   *\\n   * @this {!IArrayLike<VALUE>}\\n   * @param {function(this: THIS, VALUE, number, !IArrayLike<VALUE>): *}\\n   *     callback\\n   * @param {THIS=} opt_thisArg\\n   * @return {number} The found value, or undefined.\\n   * @template VALUE, THIS\\n   * @suppress {reportUnknownTypes}\\n   */\\n  var polyfill = function(callback, opt_thisArg) {\\n    return $jscomp.findInternal(this, callback, opt_thisArg).i;\\n  };\\n\\n  return polyfill;\\n}, 'es6', 'es3');\\n\",\"js/es6/array/from.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require es6/symbol';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Array.from', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Creates a new Array from an array-like or iterable object.\\n   *\\n   * <p>Polyfills the static function Array.from().  Does not support\\n   * constructor inheritance (i.e. (subclass of Array).from), and\\n   * relies on the compiler to check the validity of inputs rather\\n   * than producing spec-compliant TypeErrors.\\n   *\\n   * @param {!IArrayLike<INPUT>|!Iterable<INPUT>} arrayLike\\n   *     An array-like or iterable.\\n   * @param {(function(this: THIS, INPUT): OUTPUT)=} opt_mapFn\\n   *     Function to call on each argument.\\n   * @param {THIS=} opt_thisArg\\n   *     Object to use as 'this' when calling mapFn.\\n   * @return {!Array<OUTPUT>}\\n   * @template INPUT, OUTPUT, THIS\\n   * @suppress {reportUnknownTypes}\\n   */\\n  var polyfill = function(arrayLike, opt_mapFn, opt_thisArg) {\\n    $jscomp.initSymbolIterator();\\n    opt_mapFn = opt_mapFn != null ? opt_mapFn : function(x) { return x; };\\n    var result = [];\\n    // NOTE: this is cast to ? because [] on @struct is an error\\n    var iteratorFunction = /** @type {?} */ (arrayLike)[Symbol.iterator];\\n    if (typeof iteratorFunction == 'function') {\\n      arrayLike = iteratorFunction.call(arrayLike);\\n      var next;\\n      while (!(next = arrayLike.next()).done) {\\n        result.push(\\n            opt_mapFn.call(/** @type {?} */ (opt_thisArg), next.value));\\n      }\\n    } else {\\n      var len = arrayLike.length;  // need to support non-iterables\\n      for (var i = 0; i < len; i++) {\\n        result.push(\\n            opt_mapFn.call(/** @type {?} */ (opt_thisArg), arrayLike[i]));\\n      }\\n    }\\n    return result;\\n  };\\n\\n  return polyfill;\\";
a.a+="n}, 'es6', 'es3');\\n\",\"js/es6/array/includes.js\":\"/*\\n * Copyright 2017 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require es6/object/is';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Array.prototype.includes', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Polyfills Array.prototype.includes.\\n   *\\n   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes\\n   *\\n   * @this {!IArrayLike<T>}\\n   * @param {T} searchElement\\n   * @param {number=} opt_fromIndex\\n   * @return {boolean}\\n   * @template T\\n   * @suppress {reportUnknownTypes}\\n   */\\n  var includes = function(searchElement, opt_fromIndex) {\\n    var array = this;\\n    if (array instanceof String) {\\n      array = /** @type {!IArrayLike} */ (String(array));\\n    }\\n    var len = array.length;\\n    for (var i = opt_fromIndex || 0; i < len; i++) {\\n      if (array[i] == searchElement || Object.is(array[i], searchElement)) {\\n        return true;\\n      }\\n    }\\n    return false;\\n  };\\n\\n  return includes;\\n}, 'es7', 'es3');\\n\",\"js/es6/array/keys.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require es6/util/iteratorfromarray';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Array.prototype.keys', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Returns an iterator of keys of the given array.\\n   *\\n   * @this {!IArrayLike}\\n   * @return {!IteratorIterable<number>}\\n   */\\n  var polyfill = function() {\\n    return $jscomp.iteratorFromArray(this, function(i) { return i; });\\n  };\\n\\n  return polyfill;\\n}, 'es6', 'es3');\\n\",\"js/es6/array/of.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require es6/array/from';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Array.of', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Creates an array from a fixed set of arguments.\\n   *\\n   * <p>Polyfills the static function Array.of().  Does not support\\n   * constructor inheritance (i.e. (subclass of Array).of).\\n   *\\n   * @param {...T} var_args Elements to include in the array.\\n   * @return {!Array<T>}\\n   * @template T\\n   */\\n  var polyfill = function(var_args) {\\n    return Array.from(arguments);\\n  };\\n\\n  return polyfill;\\n}, 'es6', 'es3');\\n\",\"js/es6/array/values.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require es6/util/iteratorfromarray';\\n'require util/polyfill';\\n\\n// NOTE: Although Array.prototype.values was added to the 2015 edition of the\\n// spec, we consider it an \\\"ES8\\\" feature because many browsers which are\\n// otherwise ES6-compatible, have not implemented it due to web compatibility\\n// issues. See https://bugs.chromium.org/p/chromium/issues/detail?id=615873\\n$jscomp.polyfill('Array.prototype.values', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Returns an iterator of values of the given array.\\n   *\\n   * @this {!IArrayLike<VALUE>}\\n   * @return {!IteratorIterable<VALUE>}\\n   * @template VALUE\\n   * @suppress {reportUnknownTypes}\\n   */\\n  var polyfill = function() {\\n    return $jscomp.iteratorFromArray(this, function(k, v) { return v; });\\n  };\\n\\n  return polyfill;\\n}, 'es8', 'es3');\\n\",\"js/es6/execute_async_generator.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require base';\\n'require es6/promise';\\n\\n/**\\n * Handle the execution of an async function.\\n *\\n * An async function, foo(a, b), will be rewritten as:\\n *\\n * ```\\n * function foo(a, b) {\\n *   let $jscomp$async$arguments = arguments;\\n *   let $jscomp$async$this = this;\\n *   function* $jscomp$async$generator() {\\n *     // original body of foo() with:\\n *     // - await (x) replaced with yield (x)\\n *     // - arguments replaced with $jscomp$async$arguments\\n *     // - this replaced with $jscomp$async$this\\n *   }\\n *   return $jscomp.executeAsyncGenerator($jscomp$async$generator());\\n * }\\n * ```\\n * @param {!Generator<?>} generator\\n * @return {!Promise<?>}\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.executeAsyncGenerator = function(generator) {\\n  function passValueToGenerator(value) {\\n    return generator.next(value);\\n  }\\n\\n  function passErrorToGenerator(error) {\\n    return generator.throw(error);\\n  }\\n\\n  return new Promise(function(resolve, reject) {\\n    function handleGeneratorRecord(/** !IIterableResult<*> */ genRec) {\\n      if (genRec.done) {\\n        resolve(genRec.value);\\n      } else {\\n        // One can await a non-promise, so genRec.value\\n        // might not already be a promise.\\n        Promise.resolve(genRec.value)\\n            .then(passValueToGenerator, passErrorToGenerator)\\n            .then(handleGeneratorRecord, reject);\\n      }\\n    }\\n\\n    handleGeneratorRecord(generator.next());\\n  });\\n};\\n\",\"js/es6/map.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require es6/symbol';\\n'require es6/util/makeiterator';\\n'require es6/weakmap';\\n'require util/defines';\\n'require util/owns';\\n'require util/polyfill';\\n\\n\\n/**\\n * Internal record type for entries.\\n * @record\\n * @template KEY, VALUE\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.MapEntry = function() {\\n  /** @type {!$jscomp.MapEntry<KEY, VALUE>} */\\n  this.previous;\\n  /** @type {!$jscomp.MapEntry<KEY, VALUE>} */\\n  this.next;\\n  /** @type {?Object} */\\n  this.head;\\n  /** @type {KEY} */\\n  this.key;\\n  /** @type {VALUE} */\\n  this.value;\\n};\\n\\n\\n$jscomp.polyfill('Map',\\n    /**\\n     * @param {*} NativeMap\\n     * @return {*}\\n     * @suppress {reportUnknownTypes}\\n     */\\n    function(NativeMap) {\\n  // Perform a conformance check to ensure correct native implementation.\\n  var isConformant = !$jscomp.ASSUME_NO_NATIVE_MAP && (function() {\\n    if (!NativeMap ||\\n        !NativeMap.prototype.entries ||\\n        typeof Object.seal != 'function') {\\n      return false;\\n    }\\n    // Some implementations don't support constructor arguments.\\n    try {\\n      NativeMap = /** @type {function(new: Map, !Iterator=)} */ (NativeMap);\\n      var key = Object.seal({x: 4});\\n      var map = new NativeMap($jscomp.makeIterator([[key, 's']]));\\n      if (map.get(key) != 's' || map.size != 1 || map.get({x: 4}) ||\\n          map.set({x: 4}, 't') != map || map.size != 2) {\\n        return false;\\n      }\\n      var /** !Iterator<!Array> */ iter = map.entries();\\n      var item = iter.next();\\n      if (item.done || item.value[0] != key || item.value[1] != 's') {\\n        return false;\\n      }\\n      item = iter.next();\\n      if (item.done || item.value[0].x != 4 ||\\n          item.value[1] != 't' || !iter.next().done) {\\n        return false;\\n      }\\n      return true;\\n    } catch (err) { // This should hopefully never happen, but let's be safe.\\n      return false;\\n    }\\n  })();\\n  if (isConformant) return NativeMap;\\n\\n  // We depend on Symbol.iterator, so ensure it's loaded.\\n  $jscomp.initSymbol();\\n  $jscomp.initSymbolIterator();\\n\\n\\n  /** @const {!WeakMap<!Object, string>} */\\n  var idMap = new WeakMap();\\n\\n\\n  /**\\n   * Polyfill for the global Map data type.\\n   * @constructor\\n   * @struct\\n   * @extends {Map<KEY, VALUE>}\\n   * @implements {Iterable<!Array<KEY|VALUE>>}\\n   * @template KEY, VALUE\\n   * @param {!Iterable<!Array<KEY|VALUE>>|!Array<!Array<KEY|VALUE>>|null=}\\n   *     opt_iterable Optional data to populate the map.\\n   */\\n  // TODO(sdh): fix param type if heterogeneous arrays ever supported.\\n  var PolyfillMap = function(opt_iterable) {\\n    /** @private {!Object<!Array<!$jscomp.MapEntry<KEY, VALUE>>>} */\\n    this.data_ = {};\\n\\n    /** @private {!$jscomp.MapEntry<KEY, VALUE>} */\\n    this.head_ = createHead();\\n\\n    // Note: this property should not be changed.  If we're willing to give up\\n    // ES3 support, we could define it as a property directly.  It should be\\n    // marked readonly if such an annotation ever comes into existence.\\n    /** @type {number} */\\n    this.size = 0;\\n\\n    if (opt_iterable) {\\n      var iter = $jscomp.makeIterator(opt_iterable);\\n      var entry;\\n      while (!(entry = iter.next()).done) {\\n        var item =\\n            /** @type {!IIterableResult<!Array<KEY|VALUE>>} */ (entry).value;\\n        this.set(/** @type {KEY} */ (item[0]), /** @type {VALUE} */ (item[1]));\\n      }\\n    }\\n  };\\n\\n\\n  /** @override */\\n  PolyfillMap.prototype.set = function(key, value) {\\n    var r = maybeGetEntry(this, key);\\n    if (!r.list) {\\n      r.list = (this.data_[r.id] = []);\\n    }\\n    if (!r.entry) {\\n      r.entry = {\\n        next: this.head_,\\n        previous: this.head_.previous,\\n        head: this.head_,\\n        key: key,\\n        value: value,\\n      };\\n      r.list.push(r.entry);\\n      this.head_.previous.next = r.entry;\\n      this.head_.previous = r.entry;\\n      this.size++;\\n    } else {\\n      r.entry.value = value;\\n    }\\n    return this;\\n  };\\n\\n\\n  /** @override */\\n  PolyfillMap.prototype.delete = function(key) {\\n    var r = maybeGetEntry(this, key);\\n    if (r.entry && r.list) {\\n      r.list.splice(r.index, 1);\\n      if (!r.list.length) delete this.data_[r.id];\\n      r.entry.previous.next = r.entry.next;\\n      r.entry.next.previous = r.entry.previous;\\n      r.entry.head = null;\\n      this.size--;\\n      return true;\\n    }\\n    return false;\\n  };\\n\\n\\n  /** @override */\\n  PolyfillMap.prototype.clear = function() {\\n    this.data_ = {};\\n    this.head_ = this.head_.previous = createHead();\\n    this.size = 0;\\n  };\\n\\n\\n  /** @override */\\n  PolyfillMap.prototype.has = function(key) {\\n    return !!(maybeGetEntry(this, key).entry);\\n  };\\n\\n\\n  /** @override */\\n  PolyfillMap.prototype.get = function(key) {\\n    var entry = maybeGetEntry(this, key).entry;\\n    // NOTE: this cast is a lie, but so is the extern.\\n    return /** @type {VALUE} */ (entry &&\\n      /** @type {VALUE} */ (entry.value));\\n  };\\n\\n\\n  /** @override */\\n  PolyfillMap.prototype.entries = function() {\\n    return makeIterator(this, /** @return {!Array<(KEY|VALUE)>} */ function(\\n        /** !$jscomp.MapEntry<KEY, VALUE> */ entry) {\\n      return ([entry.key, entry.value]);\\n    });\\n  };\\n\\n\\n  /** @override */\\n  PolyfillMap.prototype.keys = function() {\\n    return makeIterator(this, /** @return {KEY} */ function(\\n        /** !$jscomp.MapEntry<KEY, VALUE> */ entry) {\\n      return entry.key;\\n    });\\n  };\\n\\n\\n  /** @override */\\n  PolyfillMap.prototype.values = function() {\\n    return makeIterator(this, /** @return {VALUE} */ function(\\n        /** !$jscomp.MapEntry<KEY, VALUE> */ entry) {\\n      return entry.value;\\n    });\\n  };\\n\\n\\n  /** @override */\\n  PolyfillMap.prototype.forEach = function(callback, opt_thisArg) {\\n    var iter = this.entries();\\n    var item;\\n    while (!(item = iter.next()).done) {\\n      var entry = item.value;\\n      callback.call(\\n          /** @type {?} */ (opt_thisArg),\\n          /** @type {VALUE} */ (entry[1]),\\n          /** @type {KEY} */ (entry[0]),\\n          this);\\n    }\\n  };\\n\\n\\n  /** @type {?} */ (PolyfillMap.prototype)[Symbol.iterator] =\\n      PolyfillMap.prototype.entries;\\n\\n\\n  /**\\n   * Returns an entry or undefined.\\n   * @param {!PolyfillMap<KEY, VALUE>} map\\n   * @param {KEY} key\\n   * @return {{id: string,\\n   *           list: (!Array<!$jscomp.MapEntry<KEY, VALUE>>|undefined),\\n   *           index: number,\\n   *           entry: (!$jscomp.MapEntry<KEY, VALUE>|undefined)}}\\n   * @template KEY, VALUE\\n   */\\n  var maybeGetEntry = function(map, key) {\\n    var id = getId(key);\\n    var list = map.data_[id];\\n    if (list && $jscomp.owns(map.data_, id)) {\\n      for (var index = 0; index < list.length; index++) {\\n        var entry = list[index];\\n        if ((key !== key && entry.key !== entry.key) || key === entry.key) {\\n          return {id: id, list: list, index: index, entry: entry};\\n        }\\n      }\\n    }\\n    return {id: id, list: list, index: -1, entry: undefined};\\n  };\\n\\n\\n  /**\\n   * Maps over the entries with the given function.\\n   * @param {!PolyfillMap<KEY, VALUE>} map\\n   * @param {function(!$jscomp.MapEntry<KEY, VALUE>): T} func\\n   * @return {!IteratorIterable<T>}\\n   * @template KEY, VALUE, T\\n   * @private\\n   */\\n  var makeIterator = function(map, func) {\\n    var entry = map.head_;\\n    return $jscomp.iteratorPrototype(function() {\\n      if (entry) {\\n        while (entry.head != map.head_) {\\n          entry = entry.previous;\\n        }\\n        while (entry.next != entry.head) {\\n          entry = entry.next;\\n          return {done: false, value: func(entry)};\\n        }\\n        entry = null; // make sure depletion is permanent\\n      }\\n      return {done: true, value: void 0};\\n    });\\n  };\\n\\n\\n  /**\\n   * Makes a new \\\"head\\\" element.\\n   * @return {!$jscomp.MapEntry<KEY, VALUE>}\\n   * @template KEY, VALUE\\n   * @suppress {checkTypes} ignore missing key/value for head only\\n   */\\n  var createHead = function() {\\n    var head = /** type {!$jscomp.MapEntry<KEY, VALUE>} */ ({});\\n    head.previous = head.next = head.head = head;\\n    retur";
a.a+="n head;\\n  };\\n\\n\\n  /**\\n   * Counter for generating IDs.\\n   * @private {number}\\n   */\\n  var mapIndex = 0;\\n\\n\\n  /**\\n   * @param {*} obj An extensible object.\\n   * @return {string} A unique ID.\\n   */\\n  var getId = function(obj) {\\n    var type = obj && typeof obj;\\n    if (type == 'object' || type == 'function') {\\n      obj = /** @type {!Object} */ (obj);\\n      if (!idMap.has(obj)) {\\n        var id = '' + (++mapIndex);\\n        idMap.set(obj, id);\\n        return id;\\n      }\\n      return idMap.get(obj);\\n    }\\n    // Add a prefix since obj could be '__proto__';\\n    return 'p_' + obj;\\n  };\\n\\n\\n  return PolyfillMap;\\n}, 'es6', 'es3');\\n\",\"js/es6/math.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Brings in all ES6 Math polyfills.\\n */\\n'require es6/math/acosh';\\n'require es6/math/asinh';\\n'require es6/math/atanh';\\n'require es6/math/cbrt';\\n'require es6/math/clz32';\\n'require es6/math/cosh';\\n'require es6/math/exp1m';\\n'require es6/math/hypot';\\n'require es6/math/imul';\\n'require es6/math/log10';\\n'require es6/math/log1p';\\n'require es6/math/log2';\\n'require es6/math/sign';\\n'require es6/math/sinh';\\n'require es6/math/tanh';\\n'require es6/math/trunc';\\n\",\"js/es6/math/acosh.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Math.acosh', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Computes the inverse hyperbolic cosine.\\n   *\\n   * <p>Polyfills the static function Math.acosh().\\n   *\\n   * @param {number} x Any number, or value that can be coerced to a number.\\n   * @return {number} The inverse hyperbolic cosine of x.\\n   */\\n  var polyfill = function(x) {\\n    x = Number(x);\\n    return Math.log(x + Math.sqrt(x * x - 1));\\n  };\\n\\n  return polyfill;\\n}, 'es6', 'es3');\\n\",\"js/es6/math/asinh.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Math.asinh', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Computes the inverse hyperbolic sine.\\n   *\\n   * <p>Polyfills the static function Math.asinh().\\n   *\\n   * @param {number} x Any number, or value that can be coerced to a number.\\n   * @return {number} The inverse hyperbolic sine of x.\\n   */\\n  var polyfill = function(x) {\\n    x = Number(x);\\n    if (x === 0) return x;\\n    var y = Math.log(Math.abs(x) + Math.sqrt(x * x + 1));\\n    return x < 0 ? -y : y;\\n  };\\n\\n  return polyfill;\\n}, 'es6', 'es3');\\n\",\"js/es6/math/atanh.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n'require es6/math/log1p';\\n\\n$jscomp.polyfill('Math.atanh', function(orig) {\\n  if (orig) return orig;\\n  var log1p = Math.log1p;\\n\\n  /**\\n   * Computes the inverse hyperbolic tangent.\\n   *\\n   * <p>Polyfills the static function Math.atanh().\\n   *\\n   * @param {number} x Any number, or value that can be coerced to a number.\\n   * @return {number} The inverse hyperbolic tangent +x.\\n   */\\n  var polyfill = function(x) {\\n    x = Number(x);\\n    return (log1p(x) - log1p(-x)) / 2;\\n  };\\n\\n  return polyfill;\\n}, 'es6', 'es3');\\n\",\"js/es6/math/cbrt.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Math.cbrt', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Returns the cube root of the number, handling negatives safely.\\n   *\\n   * <p>Polyfills the static function Math.cbrt().\\n   *\\n   * @param {number} x Any number, or value that can be coerced into a number.\\n   * @return {number} The cube root of x.\\n   */\\n  var polyfill = function(x) {\\n    if (x === 0) return x;\\n    x = Number(x);\\n    var y = Math.pow(Math.abs(x), 1 / 3);\\n    return x < 0 ? -y : y;\\n  };\\n\\n  return polyfill;\\n}, 'es6', 'es3');\\n\",\"js/es6/math/clz32.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Math.clz32', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Counts the leading zeros in the 32-bit binary representation.\\n   *\\n   * <p>Polyfills the static function Math.clz32().\\n   *\\n   * @param {number} x Any number, or value that can be coerced to a number.\\n   * @return {number} The number of leading zero bits.\\n   */\\n  var polyfill = function(x) {\\n    // This binary search algorithm is taken from v8.\\n    x = Number(x) >>> 0;  // first ensure we have a 32-bit unsigned integer.\\n    if (x === 0) return 32;\\n    var result = 0;\\n    if ((x & 0xFFFF0000) === 0) {\\n      x <<= 16;\\n      result += 16;\\n    }\\n    if ((x & 0xFF000000) === 0) {\\n      x <<= 8;\\n      result += 8;\\n    }\\n    if ((x & 0xF0000000) === 0) {\\n      x <<= 4;\\n      result += 4;\\n    }\\n    if ((x & 0xC0000000) === 0) {\\n      x <<= 2;\\n      result += 2;\\n    }\\n    if ((x & 0x80000000) === 0) result++;\\n    return result;\\n  };\\n\\n  return polyfill;\\n}, 'es6', 'es3');\\n\",\"js/es6/math/cosh.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Math.cosh', function(orig) {\\n  if (orig) return orig;\\n  var exp = Math.exp;\\n\\n  /**\\n   * Computes the hyperbolic cosine.\\n   *\\n   * <p>Polyfills the static function Math.cosh().\\n   *\\n   * @param {number} x Any number, or value that can be coerced to a number.\\n   * @return {number} The hyperbolic cosine of x.\\n   */\\n  var polyfill = function(x) {\\n    x = Number(x);\\n    return (exp(x) + exp(-x)) / 2;\\n  };\\n\\n  return polyfill;\\n}, 'es6', 'es3');\\n\",\"js/es6/math/exp1m.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Math.expm1', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Exponentiates x and then subtracts one.  This is implemented in a\\n   * way that is accurate for numbers close to zero.\\n   *\\n   * <p>Polyfills the static function Math.expm1().\\n   *\\n   * @param {number} x Any number, or value that can be coerced to a number.\\n   * @return {number} The exponential of x, less 1.\\n   */\\n  var polyfill = function(x) {\\n    // This implementation is based on the Taylor expansion\\n    //   exp(x) ~ 1 + x + x^2/2 + x^3/6 + x^4/24 + ...\\n    x = Number(x);\\n    if (x < .25 && x > -.25) {\\n      var y = x;\\n      var d = 1;\\n      var z = x;\\n      var zPrev = 0;\\n      while (zPrev != z) {\\n        y *= x / (++d);\\n        z = (zPrev = z) + y;\\n      }\\n      return z;\\n    }\\n    return Math.exp(x) - 1;\\n  };\\n\\n  return polyfill;\\n}, 'es6', 'es3');\\n\",\"js/es6/math/hypot.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Math.hypot', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Returns the sum of its arguments in quadrature.\\n   *\\n   * <p>Polyfills the static function Math.hypot().\\n   *\\n   * @param {number} x Any number, or value that can be coerced to a number.\\n   * @param {number} y Any number, or value that can be coerced to a number.\\n   * @param {...*} var_args More numbers.\\n   * @return {number} The square root of the sum of the squares.\\n   */\\n  var polyfill = function(x, y, var_args) {\\n    // Make the type checker happy.\\n    x = Number(x);\\n    y = Number(y);\\n    var i, z, sum;\\n    // Note: we need to normalize the numbers in case of over/underflow.\\n    var max = Math.max(Math.abs(x), Math.abs(y));\\n    for (i = 2; i < arguments.length; i++) {\\n      max = Math.max(max, Math.abs(arguments[i]));\\n    }\\n    if (max > 1e100 || max < 1e-100) {\\n      x = x / max;\\n      y = y / max;\\n      sum = x * x + y * y;\\n      for (i = 2; i < arguments.length; i++) {\\n        z = Number(arguments[i]) / max;\\n        sum += z * z;\\n      }\\n      return Math.sqrt(sum) * max;\\n    } else {\\n      sum = x * x + y * y;\\n      for (i = 2; i < arguments.length; i++) {\\n        z = Number(arguments[i]);\\n        sum += z * z;\\n      }\\n      return Math.sqrt(sum);\\n    }\\n  };\\n\\n  return polyfill;\\n}, 'es6', 'es3');\\n\",\"js/es6/math/imul.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Math.imul', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Performs C-like 32-bit signed integer multiplication.\\n   *\\n   * <p>Polyfills the static function Math.imul().\\n   *\\n   * @param {number} a Any number, or value that can be coerced to a number.\\n   * @param {number} b Any number, or value that can be coerced to a number.\\n   * @return {number} The 32-bit integer product of a and b.\\n   */\\n  var polyfill = function(a, b) {\\n    // This algorithm is taken from v8.\\n    // Note: If multiplication overflows 32 bits, then we risk losing\\n    // precision.  We must therefore break the inputs into 16-bit\\n    // words and multiply separately.\\n    a = Number(a);\\n    b = Number(b);\\n    var ah = (a >>> 16) & 0xFFFF;  // Treat individual words as unsigned\\n    var al = a & 0xFFFF;\\n    var bh = (b >>> 16) & 0xFFFF;\\n    var bl = b & 0xFFFF;\\n    var lh = ((ah * bl + al * bh) << 16) >>> 0;  // >>> 0 casts to uint\\n    return (al * bl + lh) | 0;  // | 0 casts back to signed\\n  };\\n\\n  return polyfill;\\n}, 'es6', 'es3');\\n\",\"js/es6/math/log10.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Math.log10', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Returns the base-10 logarithm.\\n   *\\n   * <p>Polyfills the static function Math.log10().\\n   *\\n   * @param {number} x Any number, or value that can be coerced to a number.\\n   * @return {number} The common log of x.\\n   */\\n  var polyfill = function(x) {\\n    return Math.log(x) / Math.LN10;\\n  };\\n\\n  return polyfill;\\n}, 'es6', 'es3');\\n\",\"js/es6/math/log1p.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writin";
a.a+="g, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Math.log1p', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Returns the natural logarithm of 1+x, implemented in a way that is\\n   * accurate for numbers close to zero.\\n   *\\n   * <p>Polyfills the static function Math.log1p().\\n   *\\n   * @param {number} x Any number, or value that can be coerced to a number.\\n   * @return {number} The natural log of 1+x.\\n   */\\n  var polyfill = function(x) {\\n    // This implementation is based on the Taylor expansion\\n    //   log(1 + x) ~ x - x^2/2 + x^3/3 - x^4/4 + x^5/5 - ...\\n    x = Number(x);\\n    if (x < 0.25 && x > -0.25) {\\n      var y = x;\\n      var d = 1;\\n      var z = x;\\n      var zPrev = 0;\\n      var s = 1;\\n      while (zPrev != z) {\\n        y *= x;\\n        s *= -1;\\n        z = (zPrev = z) + s * y / (++d);\\n      }\\n      return z;\\n    }\\n    return Math.log(1 + x);\\n  };\\n\\n  return polyfill;\\n}, 'es6', 'es3');\\n\",\"js/es6/math/log2.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Math.log2', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Returns the base-2 logarithm.\\n   *\\n   * <p>Polyfills the static function Math.log2().\\n   *\\n   * @param {number} x Any number, or value that can be coerced to a number.\\n   * @return {number} The base-2 log of x.\\n   */\\n  var polyfill = function(x) {\\n    return Math.log(x) / Math.LN2;\\n  };\\n\\n  return polyfill;\\n}, 'es6', 'es3');\\n\",\"js/es6/math/sign.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Math.sign', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Returns the sign of the number, indicating whether it is\\n   * positive, negative, or zero.\\n   *\\n   * <p>Polyfills the static function Math.sign().\\n   *\\n   * @param {number} x Any number, or value that can be coerced to a number.\\n   * @return {number} The sign, +1 if x is positive, -1 if x is\\n   *     negative, or 0 if x is zero.\\n   */\\n  var polyfill = function(x) {\\n    x = Number(x);\\n    return x === 0 || isNaN(x) ? x : x > 0 ? 1 : -1;\\n  };\\n\\n  return polyfill;\\n}, 'es6', 'es3');\\n\",\"js/es6/math/sinh.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Math.sinh', function(orig) {\\n  if (orig) return orig;\\n  var exp = Math.exp;\\n\\n  /**\\n   * Computes the hyperbolic sine.\\n   *\\n   * <p>Polyfills the static function Math.sinh().\\n   *\\n   * @param {number} x Any number, or value that can be coerced to a number.\\n   * @return {number} The hyperbolic sine of x.\\n   */\\n  var polyfill = function(x) {\\n    x = Number(x);\\n    if (x === 0) return x;\\n    return (exp(x) - exp(-x)) / 2;\\n  };\\n\\n  return polyfill;\\n}, 'es6', 'es3');\\n\",\"js/es6/math/tanh.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Math.tanh', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Computes the hyperbolic tangent.\\n   *\\n   * <p>Polyfills the static function Math.tanh().\\n   *\\n   * @param {number} x Any number, or value that can be coerced to a number.\\n   * @return {number} The hyperbolic tangent of x.\\n   */\\n  var polyfill = function(x) {\\n    x = Number(x);\\n    if (x === 0) return x;\\n    // Ensure exponent is negative to prevent overflow.\\n    var y = Math.exp(-2 * Math.abs(x));\\n    var z = (1 - y) / (1 + y);\\n    return x < 0 ? -z : z;\\n  };\\n\\n  return polyfill;\\n}, 'es6', 'es3');\\n\",\"js/es6/math/trunc.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Math.trunc', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Truncates any fractional digits from its argument (towards zero).\\n   *\\n   * <p>Polyfills the static function Math.trunc().\\n   *\\n   * @param {number} x Any number, or value that can be coerced to a number.\\n   * @return {number}\\n   */\\n  var polyfill = function(x) {\\n    x = Number(x);\\n    if (isNaN(x) || x === Infinity || x === -Infinity || x === 0) return x;\\n    var y = Math.floor(Math.abs(x));\\n    return x < 0 ? -y : y;\\n  };\\n\\n  return polyfill;\\n}, 'es6', 'es3');\\n\",\"js/es6/nopolyfill.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n\\n/**\\n * @fileoverview Specifies objects that the compiler does NOT polyfill.\\n * NOTE: this file should never be injected, since all the implementations\\n * are null.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Proxy', null, 'es6', 'es6');\\n\\n$jscomp.polyfill('String.raw', null, 'es6', 'es6');\\n$jscomp.polyfill('String.prototype.normalize', null, 'es6', 'es6');\\n\",\"js/es6/number.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Brings in all ES6 Number polyfills.\\n */\\n'require es6/number/constants';\\n'require es6/number/isfinite';\\n'require es6/number/isinteger';\\n'require es6/number/isnan';\\n'require es6/number/issafeinteger';\\n'require es6/number/parsefloat';\\n'require es6/number/parseint';\\n\",\"js/es6/number/constants.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n\\n$jscomp.polyfill('Number.EPSILON', function(orig) {\\n  /**\\n   * The difference 1 and the smallest number greater than 1.\\n   *\\n   * <p>Polyfills the static field Number.EPSILON.\\n   */\\n  return Math.pow(2, -52);\\n}, 'es6', 'es3');\\n\\n\\n$jscomp.polyfill('Number.MAX_SAFE_INTEGER', function() {\\n  /**\\n   * The maximum safe integer, 2^53 - 1.\\n   *\\n   * <p>Polyfills the static field Number.MAX_SAFE_INTEGER.\\n   */\\n  return 0x1fffffffffffff;\\n}, 'es6', 'es3');\\n\\n\\n$jscomp.polyfill('Number.MIN_SAFE_INTEGER', function() {\\n  /**\\n   * The minimum safe integer, -(2^53 - 1).\\n   *\\n   * <p>Polyfills the static field Number.MIN_SAFE_INTEGER.\\n   */\\n  return -0x1fffffffffffff;\\n}, 'es6', 'es3');\\n\",\"js/es6/number/isfinite.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Number.isFinite', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Returns whether the given argument is a finite number.\\n   *\\n   * <p>Polyfills the static function Number.isFinite().\\n   *\\n   * @param {number} x Any value.\\n   * @return {boolean} True if x is a number and not NaN or infinite.\\n   */\\n  var polyfill = function(x) {\\n    if (typeof x !== 'number') return false;\\n    return !isNaN(x) && x !== Infinity && x !== -Infinity;\\n  };\\n\\n  return polyfill;\\n}, 'es6', 'es3');\\n\",\"js/es6/number/isinteger.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require es6/number/isfinite';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Number.isInteger', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Returns whether the given argument is an integer.\\n   *\\n   * <p>Polyfills the static function Number.isInteger().\\n   *\\n   * @param {number} x Any value.\\n   * @return {boolean} True if x is an integer.\\n   */\\n  var polyfill = function(x) {\\n    if (!Number.isFinite(x)) return false;\\n    return x === Math.floor(x);\\n  };\\n\\n  return polyfill;\\n}, 'es6', 'es3');\\n\",\"js/es6/number/isnan.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Number.isNaN', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Returns whether the given argument is the value NaN,\\n   * guaranteeing not to coerce to a number first.\\n   *\\n   * <p>Polyfills the static function Number.isNaN().\\n   *\\n   * @param {number} x Any value.\\n   * @return {boolean} True if x is exactly NaN.\\n   */\\n  var polyfill = function(x) {\\n    return typeof x === 'number' && isNaN(x);\\n  };\\n\\n  return polyfill;\\n}, 'es6', 'es3');\\n\",\"js/es6/number/issafeinteger.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require es6/number/constants';\\n'require es6/number/isinteger';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Number.isSafeInteger', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Returns whether the given argument is a \\\"safe\\\" integer,\\n   * that is, its magnitude is less than 2^53.\\n   *\\n   * <p>Polyfills the static function Number.isSafeInteger().\\n   *\\n   * @param {number} x Any value.\\n   * @return {boolean} True if x is a safe integer.\\n   */\\n  var polyfill = function(x) {\\n    return Number.isInteger(x) && Math.abs(x) <= Number.MAX_SAFE_INTEGER;\\n  };\\n\\n  return polyfill;\\n}, 'es6', 'es3');\\n\",\"js/es6/number/parsefloat.js\":\"/*\\n * Copyright 2017 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Number.parseFloat', function(orig) {\\n  return orig || parseFloat;\\";
a.a+="n}, 'es6', 'es3');\\n\",\"js/es6/number/parseint.js\":\"/*\\n * Copyright 2017 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Number.parseInt', function(orig) {\\n  return orig || parseInt;\\n}, 'es6', 'es3');\\n\",\"js/es6/object.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Brings in all ES6 Object polyfills.\\n */\\n'require es6/object/assign';\\n'require es6/object/entries';\\n'require es6/object/getownpropertydescriptors';\\n'require es6/object/getownpropertysymbols';\\n'require es6/object/is';\\n'require es6/object/setprototypeof';\\n'require es6/object/values';\\n\",\"js/es6/object/assign.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/owns';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Object.assign', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Polyfill for Object.assign() method:\\n   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\\n   *\\n   * Copies values of all enumerable own properties from one or more\\n   * sources to the given target object, and returns the target.\\n   * @param {!Object} target The target object onto which to copy.\\n   * @param {...?Object} var_args The source objects.\\n   * @return {!Object} The target object is returned.\\n   * @suppress {reportUnknownTypes}\\n   */\\n  var polyfill = function(target, var_args) {\\n    for (var i = 1; i < arguments.length; i++) {\\n      var source = arguments[i];\\n      if (!source) continue;\\n      for (var key in source) {\\n        if ($jscomp.owns(source, key)) target[key] = source[key];\\n      }\\n    }\\n    return target;\\n  };\\n\\n  return polyfill;\\n}, 'es6', 'es3');\\n\",\"js/es6/object/entries.js\":\"/*\\n * Copyright 2017 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/owns';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Object.entries', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Returns an array of [key, value] arrays, one for each entry\\n   * in the given object.\\n   *\\n   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries\\n   *\\n   * @param {!IObject<KEY, VALUE>} obj\\n   * @return {!Array<!Array<KEY|VALUE>>}\\n   * @template KEY, VALUE\\n   */\\n  var entries = function(obj) {\\n    var result = [];\\n    for (var key in obj) {\\n      if ($jscomp.owns(obj, key)) {\\n        result.push([key, obj[key]]);\\n      }\\n    }\\n    return result;\\n  };\\n\\n  return entries;\\n}, 'es8', 'es3');\\n\",\"js/es6/object/getownpropertydescriptors.js\":\"/*\\n * Copyright 2017 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require es6/reflect/ownkeys';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Object.getOwnPropertyDescriptors', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Polyfills Object.getOwnPropertyDescriptors.\\n   *\\n   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries\\n   *\\n   * @param {!Object} obj\\n   * @return {!Object<!ObjectPropertyDescriptor>}\\n   */\\n  var getOwnPropertyDescriptors = function(obj) {\\n    var result = {};\\n    var keys = Reflect.ownKeys(obj);\\n    for (var i = 0; i < keys.length; i++) {\\n      result[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]);\\n    }\\n    return result;\\n  };\\n\\n  return getOwnPropertyDescriptors;\\n}, 'es8', 'es5');\\n\",\"js/es6/object/getownpropertysymbols.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Object.getOwnPropertySymbols', function(orig) {\\n  if (orig) return orig;\\n\\n  // NOTE: The symbol polyfill is a string, so symbols show up in\\n  // Object.getOwnProperytyNames instead.  It's been decided that\\n  // the trade-off of \\\"fixing\\\" this behavior is not worth the costs\\n  // in (a) code size, (b) brittleness, and (c) complexity.\\n  return function() { return []; };\\n}, 'es6', 'es5'); // Same as Object.getOwnPropertyNames\\n\",\"js/es6/object/is.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Object.is', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Polyfill for Object.is() method:\\n   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\\n   *\\n   * Determines whether two values are the same value (that is,\\n   * functionally equivalent).  This is the same as ===-equality,\\n   * except for two cases: 0 is not the same as -0, and NaN is\\n   * the same as NaN.\\n   *\\n   * @param {*} left\\n   * @param {*} right\\n   * @return {boolean}\\n   */\\n  var polyfill = function(left, right) {\\n    if (left === right) {\\n      // Handle the 0 === -0 exception\\n      return (left !== 0) || (1 / left === 1 / /** @type {number} */ (right));\\n    } else {\\n      // Handle the NaN !== NaN exception\\n      return (left !== left) && (right !== right);\\n    }\\n  };\\n\\n  return polyfill;\\n}, 'es6', 'es3');\\n\",\"js/es6/object/setprototypeof.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview\\n * @suppress {uselessCode}\\n */\\n'require util/polyfill';\\n'require es6/util/setprototypeof';\\n\\n\\n$jscomp.polyfill('Object.setPrototypeOf', function(orig) {\\n  // Note that $jscomp.setPrototypeOf will be `null` if it isn't possible to\\n  // implement this method.\\n  return orig || $jscomp.setPrototypeOf;\\n}, 'es6', 'es5');\\n\",\"js/es6/object/values.js\":\"/*\\n * Copyright 2017 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/owns';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Object.values', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Returns an array of values from the given object.\\n   *\\n   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/values\\n   *\\n   * @param {!IObject<KEY, VALUE>} obj\\n   * @return {!Array<VALUE>}\\n   * @template KEY, VALUE\\n   */\\n  var values = function(obj) {\\n    var result = [];\\n    for (var key in obj) {\\n      if ($jscomp.owns(obj, key)) {\\n        result.push(obj[key]);\\n      }\\n    }\\n    return result;\\n  };\\n\\n  return values;\\n}, 'es8', 'es3');\\n\",\"js/es6/promise.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require base';\\n'require es6/util/makeiterator';\\n'require util/global';\\n'require util/polyfill';\\n\\n/**\\n * Should we unconditionally override a native Promise implementation with our\\n * own?\\n * @define {boolean}\\n */\\n$jscomp.FORCE_POLYFILL_PROMISE = false;\\n\\n\\n$jscomp.polyfill('Promise',\\n    /**\\n     * @param {*} NativePromise\\n     * @return {*}\\n     * @suppress {reportUnknownTypes}\\n     */\\n    function(NativePromise) {\\n  // TODO(bradfordcsmith): Do we need to add checks for standards conformance?\\n  //     e.g. The version of FireFox we currently use for testing has a Promise\\n  //     that fails to reject attempts to fulfill it with itself, but that\\n  //     isn't reasonably testable here.\\n  if (NativePromise && !$jscomp.FORCE_POLYFILL_PROMISE) {\\n    return NativePromise;\\n  }\\n\\n  /**\\n    * Schedules code to be executed asynchronously.\\n    * @constructor\\n    * @struct\\n    */\\n  function AsyncExecutor() {\\n    /**\\n     * Batch of functions to execute.\\n     *\\n     * Will be {@code null} initially and immediately after a batch finishes\\n     * executing.\\n     * @private {?Array<function():?>}\\n     */\\n    this.batch_ = null;\\n  }\\n\\n  /**\\n   * Schedule a function to execute asynchronously.\\n   *\\n   * -   The function will execute:\\n   *     -   After the current call stack has completed executing.\\n   *     -   After any functions previously scheduled using this object.\\n   * -   The return value will be ignored.\\n   * -   An exception thrown by the method will be caught and asynchronously\\n   *     rethrown when it cannot interrupt any other code. This class provides\\n   *     no way to catch such exceptions.\\n   * @param {function():?} f\\n   * @return {!AsyncExecutor} this object\\n   */\\n  AsyncExecutor.prototype.asyncExecute = function(f) {\\n    if (this.batch_ == null) {\\n      // no batch created yet, or last batch was fully executed\\n      this.batch_ = [];\\n      this.asyncExecuteBatch_();\\n    }\\n    this.batch_.push(f);\\n    return this;\\n  };\\n\\n  /**\\n   * Schedule execution of the jobs in {@code this.batch_}.\\n   * @private\\n   */\\n  AsyncExecutor.prototype.asyncExecuteBatch_ = function() {\\n    var self = this;\\n    this.asyncExecuteFunction(function() { self.executeBatch_(); });\\n  };\\n\\n  // NOTE: We want to make sure AsyncExecutor will work as expected even if\\n  // testing code should override setTimeout()\\n  /** @const {function(!Function, number)} */\\n  var nativeSetTimeout = $jscomp.global['setTimeout'];\\n\\n  /**\\n   * Schedule a function to execute asynchronously as soon as possible.\\n   *\\n   * NOTE: May be overridden for testing.\\n   * @package\\n   * @param {!Function} f\\n   */\\n  AsyncExecutor.prototype.asyncExecuteFunction = function(f) {\\n    nativeSetTimeout(f, 0);\\n  };\\n\\n  /**\\n   * Execute scheduled jobs in a batch until all are executed or the batch\\n   * execution time limit has been reached.\\n   * @private\\n   */\\n  AsyncExecutor.prototype.executeBatch_ = function() {\\n    while (this.batch_ && this.batch_.length) {\\n      var executingBatch = this.batch_;\\n      // Executions scheduled while executing this batch go into a new one to\\n      // avoid the batch array getting too big.\\n      this.batch_ = [];\\n      for (var i = 0; i < executingBatch.length; ++i) {\\n        var f = executingBatch[i];\\n        delete executingBatch[i];  // free memory\\n        try {\\n          f();\\n        } catch (error) {\\n          this.asyncThrow_(error);\\n        }\\n      }\\n    }\\n    // All jobs finished executing, so force scheduling a new batch next\\n    // time asyncExecute() is called.\\n    this.batch_ = null;\\n  };\\n\\n  /**\\n   * @private\\n   * @param {*} exception\\n   */\\n  AsyncExecutor.prototype.asyncThrow_ = function(exception) {\\n    this.asyncExecuteFunction(function() { throw exception; });\\n  };\\n\\n  /**\\n   * @enum {number}\\n   */\\n  var PromiseState = {\\n    /** The Promise is waiting for resolution. */\\n    PENDING: 0,\\n\\n    /** The Promise has been resolved with a fulfillment value. */\\n    FULFILLED: 1,\\n\\n    /** The Promise has been resolved with a rejection reason. */\\n    REJECTED: 2\\n  };\\n\\n\\n  /**\\n   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise\\n   * @param {function(\\n   *             function((TYPE|IThenable<TYPE>|Thenable|null)=),\\n   *             function(*=))} executor\\n   * @constructor\\n   * @extends {Promise<TYPE>}\\n   * @tem";
a.a+="plate TYPE\\n   */\\n  var PolyfillPromise = function(executor) {\\n    /** @private {PromiseState} */\\n    this.state_ = PromiseState.PENDING;\\n\\n    /**\\n     * The settled result of the Promise. Immutable once set with either a\\n     * fulfillment value or rejection reason.\\n     * @private {*}\\n     */\\n    this.result_ = undefined;\\n\\n    /**\\n     * These functions must be executed when this promise settles.\\n     * @private {?Array<function()>}\\n     */\\n    this.onSettledCallbacks_ = [];\\n\\n    var resolveAndReject = this.createResolveAndReject_();\\n    try {\\n      executor(resolveAndReject.resolve, resolveAndReject.reject);\\n    } catch (e) {\\n      resolveAndReject.reject(e);\\n    }\\n  };\\n\\n\\n  /**\\n   * Create a pair of functions for resolving or rejecting this Promise.\\n   *\\n   * <p>After the resolve or reject function has been called once, later calls\\n   * do nothing.\\n   * @private\\n   * @return {{\\n   *     resolve: function((TYPE|IThenable<TYPE>|Thenable|null)=),\\n   *     reject:  function(*=)\\n   * }}\\n   */\\n  PolyfillPromise.prototype.createResolveAndReject_ = function() {\\n    var thisPromise = this;\\n    var alreadyCalled = false;\\n    /**\\n     * @param {function(this:PolyfillPromise<TYPE>, T)} method\\n     * @return {function(T)}\\n     * @template T\\n     */\\n    function firstCallWins(method) {\\n      return function(x) {\\n        if (!alreadyCalled) {\\n          alreadyCalled = true;\\n          method.call(thisPromise, x);\\n        }\\n      };\\n    }\\n    return {\\n      resolve: firstCallWins(this.resolveTo_),\\n      reject: firstCallWins(this.reject_)\\n    };\\n  };\\n\\n\\n  /**\\n   * @private\\n   * @param {*} value\\n   */\\n  PolyfillPromise.prototype.resolveTo_ = function(value) {\\n    if (value === this) {\\n      this.reject_(new TypeError('A Promise cannot resolve to itself'));\\n    } else if (value instanceof PolyfillPromise) {\\n      this.settleSameAsPromise_(/** @type {!PolyfillPromise} */ (value));\\n    } else if (isObject(value)) {\\n      this.resolveToNonPromiseObj_(/** @type {!Object} */ (value));\\n    } else {\\n      this.fulfill_(value);\\n    }\\n  };\\n\\n\\n  /**\\n   * @private\\n   * @param {!Object} obj\\n   */\\n  PolyfillPromise.prototype.resolveToNonPromiseObj_ = function(obj) {\\n    var thenMethod = undefined;\\n\\n    try {\\n      thenMethod = obj.then;\\n    } catch (error) {\\n      this.reject_(error);\\n      return;\\n    }\\n    if (typeof thenMethod == 'function') {\\n      this.settleSameAsThenable_(thenMethod, /** @type {!Thenable} */ (obj));\\n    } else {\\n      this.fulfill_(obj);\\n    }\\n  };\\n\\n\\n  /**\\n   * @param {*} value anything\\n   * @return {boolean}\\n   */\\n  function isObject(value) {\\n    switch (typeof value) {\\n      case 'object':\\n        return value != null;\\n      case 'function':\\n        return true;\\n      default:\\n        return false;\\n    }\\n  }\\n\\n  /**\\n   * Reject this promise for the given reason.\\n   * @private\\n   * @param {*} reason\\n   * @throws {!Error} if this promise is already fulfilled or rejected.\\n   */\\n  PolyfillPromise.prototype.reject_ = function(reason) {\\n    this.settle_(PromiseState.REJECTED, reason);\\n  };\\n\\n  /**\\n   * Fulfill this promise with the given value.\\n   * @private\\n   * @param {!TYPE} value\\n   * @throws {!Error} when this promise is already fulfilled or rejected.\\n   */\\n  PolyfillPromise.prototype.fulfill_ = function(value) {\\n    this.settle_(PromiseState.FULFILLED, value);\\n  };\\n\\n  /**\\n   * Fulfill or reject this promise with the given value/reason.\\n   * @private\\n   * @param {!PromiseState} settledState (FULFILLED or REJECTED)\\n   * @param {*} valueOrReason\\n   * @throws {!Error} when this promise is already fulfilled or rejected.\\n   */\\n  PolyfillPromise.prototype.settle_ = function(settledState, valueOrReason) {\\n    if (this.state_ != PromiseState.PENDING) {\\n      throw new Error(\\n          'Cannot settle(' + settledState + ', ' + valueOrReason |\\n          '): Promise already settled in state' + this.state_);\\n    }\\n    this.state_ = settledState;\\n    this.result_ = valueOrReason;\\n    this.executeOnSettledCallbacks_();\\n  };\\n\\n  PolyfillPromise.prototype.executeOnSettledCallbacks_ = function() {\\n    if (this.onSettledCallbacks_ != null) {\\n      // Allow nulls in callbacks so we can free memory\\n      var /** !Array<?function()> */ callbacks = this.onSettledCallbacks_;\\n\\n      for (var i = 0; i < callbacks.length; ++i) {\\n        (/** @type {function()} */ (callbacks[i])).call();\\n        callbacks[i] = null;  // free memory\\n      }\\n      this.onSettledCallbacks_ = null;  // free memory\\n    }\\n  };\\n\\n  /**\\n   * All promise async execution is managed by a single executor for the\\n   * sake of efficiency.\\n   * @const {!AsyncExecutor}\\n   */\\n  var asyncExecutor = new AsyncExecutor();\\n\\n  /**\\n   * Arrange to settle this promise in the same way as the given thenable.\\n   * @private\\n   * @param {!PolyfillPromise} promise\\n   */\\n  PolyfillPromise.prototype.settleSameAsPromise_ = function(promise) {\\n    var methods = this.createResolveAndReject_();\\n\\n    // Calling then() would create an unnecessary extra promise.\\n    promise.callWhenSettled_(methods.resolve, methods.reject);\\n  };\\n\\n  /**\\n   * Arrange to settle this promise in the same way as the given thenable.\\n   * @private\\n   * @param {!function(\\n   *     function((TYPE|IThenable<TYPE>|Thenable|null)=),\\n   *     function(*=))\\n   * } thenMethod\\n   * @param {!Thenable} thenable\\n   */\\n  PolyfillPromise.prototype.settleSameAsThenable_ = function(\\n      thenMethod, thenable) {\\n    var methods = this.createResolveAndReject_();\\n\\n    // Don't trust an unknown thenable implementation not to throw exceptions.\\n    try {\\n      thenMethod.call(thenable, methods.resolve, methods.reject);\\n    } catch (error) {\\n      methods.reject(error);\\n    }\\n  };\\n\\n  /** @override */\\n  PolyfillPromise.prototype.then = function(onFulfilled, onRejected) {\\n    var resolveChild;\\n    var rejectChild;\\n    var childPromise = new PolyfillPromise(function(resolve, reject) {\\n      resolveChild = resolve;\\n      rejectChild = reject;\\n    });\\n    function createCallback(paramF, defaultF) {\\n      // The spec says to ignore non-function values for onFulfilled and\\n      // onRejected\\n      if (typeof paramF == 'function') {\\n        return function(x) {\\n          try {\\n            resolveChild(paramF(x));\\n          } catch (error) {\\n            rejectChild(error);\\n          }\\n        };\\n      } else {\\n        return defaultF;\\n      }\\n    }\\n\\n    this.callWhenSettled_(\\n        createCallback(onFulfilled, resolveChild),\\n        createCallback(onRejected, rejectChild));\\n    return childPromise;\\n  };\\n\\n  /** @override */\\n  PolyfillPromise.prototype.catch = function(onRejected) {\\n    return this.then(undefined, onRejected);\\n  };\\n\\n\\n  PolyfillPromise.prototype.callWhenSettled_ = function(\\n      onFulfilled, onRejected) {\\n    var /** !PolyfillPromise */ thisPromise = this;\\n    function callback() {\\n      switch (thisPromise.state_) {\\n        case PromiseState.FULFILLED:\\n          onFulfilled(thisPromise.result_);\\n          break;\\n        case PromiseState.REJECTED:\\n          onRejected(thisPromise.result_);\\n          break;\\n        default:\\n          throw new Error('Unexpected state: ' + thisPromise.state_);\\n      }\\n    }\\n    if (this.onSettledCallbacks_ == null) {\\n      // we've already settled\\n      asyncExecutor.asyncExecute(callback);\\n    } else {\\n      this.onSettledCallbacks_.push(function() {\\n        asyncExecutor.asyncExecute(callback);\\n      });\\n    }\\n  };\\n\\n  // called locally, so give it a name\\n  function resolvingPromise(opt_value) {\\n    if (opt_value instanceof PolyfillPromise) {\\n      return opt_value;\\n    } else {\\n      return new PolyfillPromise(function(resolve, reject) {\\n        resolve(opt_value);\\n      });\\n    }\\n  }\\n  PolyfillPromise['resolve'] = resolvingPromise;\\n\\n\\n  PolyfillPromise['reject'] = function(opt_reason) {\\n    return new PolyfillPromise(function(resolve, reject) {\\n      reject(opt_reason);\\n    });\\n  };\\n\\n\\n  PolyfillPromise['race'] = function(thenablesOrValues) {\\n    return new PolyfillPromise(function(resolve, reject) {\\n      var iterator =\\n          $jscomp.makeIterator(thenablesOrValues);\\n      for (var /** !IIterableResult<*> */ iterRec = iterator.next();\\n           !iterRec.done;\\n           iterRec = iterator.next()) {\\n        // Using resolvingPromise() allows us to treat all elements the same\\n        // way.\\n        // NOTE: resolvingPromise(promise) always returns the argument\\n        // unchanged.\\n        // Using .callWhenSettled_() instead of .then() avoids creating an\\n        // unnecessary extra promise.\\n        resolvingPromise(iterRec.value).callWhenSettled_(resolve, reject);\\n      }\\n    });\\n  };\\n\\n\\n  PolyfillPromise['all'] = function(thenablesOrValues) {\\n    var iterator = $jscomp.makeIterator(thenablesOrValues);\\n    var /** !IIterableResult<*> */ iterRec = iterator.next();\\n\\n    if (iterRec.done) {\\n      return resolvingPromise([]);\\n    } else {\\n      return new PolyfillPromise(function(resolveAll, rejectAll) {\\n        var resultsArray = [];\\n        var unresolvedCount = 0;\\n\\n        function onFulfilled(i) {\\n          return function(ithResult) {\\n            resultsArray[i] = ithResult;\\n            unresolvedCount--;\\n            if (unresolvedCount == 0) {\\n              resolveAll(resultsArray);\\n            }\\n          };\\n        }\\n\\n        do {\\n          resultsArray.push(undefined);\\n          unresolvedCount++;\\n          // Using resolvingPromise() allows us to treat all elements the same\\n          // way.\\n          // NOTE: resolvingPromise(promise) always returns the argument\\n          // unchanged. Using .callWhenSettled_() instead of .then() avoids\\n          // creating an unnecessary extra promise.\\n          resolvingPromise(iterRec.value)\\n              .callWhenSettled_(\\n                  onFulfilled(resultsArray.length - 1), rejectAll);\\n          iterRec = iterator.next();\\n        } while (!iterRec.done);\\n      });\\n    }\\n  };\\n\\n  return PolyfillPromise;\\n}, 'es6', 'es3');\\n\",\"js/es6/reflect.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Rolls together all ES6 Reflect polyfills.\\n */\\n'require es6/reflect/apply';\\n'require es6/reflect/construct';\\n'require es6/reflect/defineproperty';\\n'require es6/reflect/deleteproperty';\\n'require es6/reflect/get';\\n'require es6/reflect/getownpropertydescriptor';\\n'require es6/reflect/getprototypeof';\\n'require es6/reflect/has';\\n'require es6/reflect/isextensible';\\n'require es6/reflect/ownkeys';\\n'require es6/reflect/preventextensions';\\n'require es6/reflect/set';\\n'require es6/reflect/setprototypeof';\\n\",\"js/es6/reflect/apply.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n\\n$jscomp.polyfill('Reflect.apply', function(orig) {\\n  if (orig) return orig;\\n  var apply = Function.prototype.apply;\\n\\n  /**\\n   * Polyfill for Reflect.apply() method:\\n   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/apply\\n   *\\n   * Calls a target function with arguments as specified, just\\n   * as Function.prototype.apply.\\n   *\\n   * @param {function(this: THIS, ...*): RESULT} target The function to call.\\n   * @param {THIS} thisArg The 'this' argument.\\n   * @param {!Array} argList The arguments as a list.\\n   * @return {RESULT} The result of the function call.\\n   * @template THIS, RESULT\\n   * @suppress {reportUnknownTypes}\\n   */\\n  var polyfill = function(target, thisArg, argList) {\\n    return apply.call(target, thisArg, argList);\\n  };\\n  return polyfill;\\n}, 'es6', 'es3');\\n\",\"js/es6/reflect/construct.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview\\n * @suppress {uselessCode}\\n */\\n\\n'require es6/util/construct';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Reflect.construct', function(orig) {\\n  // NOTE: This is just Reflect.construct if it's present and functional.\\n  return $jscomp.construct;\\n}, 'es6', 'es3');\\n\",\"js/es6/reflect/defineproperty.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n\\n$jscomp.polyfill('Reflect.defineProperty', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Polyfill for Reflect.defineProperty() method:\\n   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/defineProperty\\n   *\\n   * Version of Object.defineProperty that returns a boolean.\\n   *\\n   * @param {!Object} target Target on which to define the property.\\n   * @param {string} propertyKey Name of the property to define.\\n   * @param {!ObjectPropertyDescriptor} attributes Property attributes.\\n   * @return {boolean} Whether the property was defined.\\n   */\\n  var polyfill = function(target, propertyKey, attributes) {\\n    try {\\n      Object.defineProperty(target, propertyKey, attributes);\\n      var desc = Object.getOwnPropertyDescriptor(target, propertyKey);\\n      if (!desc) return false;\\n      return desc.configurable === (attributes.configurable || false) &&\\n          desc.enumerable === (attributes.enumerable || false) &&\\n          ('value' in desc ?\\n              desc.value === attributes.value &&\\n                  desc.writable === (attributes.writable || false) :\\n              desc.get === attributes.get &&\\n                  desc.set === attributes.set);\\n    } catch (err) {\\n      return false;\\n    }\\n  };\\n  return polyfill;\\n}, 'es6', 'es5'); // ES5: Requires Object.defineProperty\\n\",\"js/es6/reflect/deleteproperty.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * dis";
a.a+="tributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/owns';\\n'require util/polyfill';\\n\\n\\n$jscomp.polyfill('Reflect.deleteProperty', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Polyfill for Reflect.deleteProperty() method:\\n   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/deleteProperty\\n   *\\n   * Applies the 'delete' operator as a function.\\n   *\\n   * @param {!Object} target Target on which to delete the property.\\n   * @param {string} propertyKey Name of the property to delete.\\n   * @return {boolean} Whether the property was deleted.\\n   */\\n  var polyfill = function(target, propertyKey) {\\n    if (!$jscomp.owns(target, propertyKey)) {\\n      return true;\\n    }\\n    try {\\n      return delete target[propertyKey];\\n    } catch (err) {\\n      return false;\\n    }\\n  };\\n  return polyfill;\\n}, 'es6', 'es3');\\n\",\"js/es6/reflect/get.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/finddescriptor';\\n'require util/polyfill';\\n\\n\\n$jscomp.polyfill('Reflect.get', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Polyfill for Reflect.get() method:\\n   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/get\\n   *\\n   * Applies the 'getprop' operator as a function.\\n   *\\n   * @param {!Object} target Target on which to get the property.\\n   * @param {string} propertyKey Name of the property to get.\\n   * @param {!Object=} opt_receiver An optional 'this' to use for a getter.\\n   * @return {*} The value of the property.\\n   * @suppress {reportUnknownTypes}\\n   */\\n  var polyfill = function(target, propertyKey, opt_receiver) {\\n    if (arguments.length <= 2) {\\n      return target[propertyKey];\\n    }\\n    var property = $jscomp.findDescriptor(target, propertyKey);\\n    if (property) {\\n      return property.get ? property.get.call(opt_receiver) : property.value;\\n    }\\n    return undefined;\\n  };\\n  return polyfill;\\n}, 'es6', 'es5'); // ES5: findDescriptor requires getPrototypeOf\\n\",\"js/es6/reflect/getownpropertydescriptor.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n\\n$jscomp.polyfill('Reflect.getOwnPropertyDescriptor', function(orig) {\\n  // NOTE: We don't make guarantees about correct throwing behavior.\\n  // Non-object arguments should be prevented by the type checker.\\n  return orig || Object.getOwnPropertyDescriptor;\\n}, 'es6', 'es5'); // ES5: Requires Object.getOwnPropertyDescriptor\\n\",\"js/es6/reflect/getprototypeof.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n\\n$jscomp.polyfill('Reflect.getPrototypeOf', function(orig) {\\n  // NOTE: We don't make guarantees about correct throwing behavior.\\n  // Non-object arguments should be prevented by the type checker.\\n  return orig || Object.getPrototypeOf;\\n}, 'es6', 'es5'); // ES5: Requires Object.getPrototypeOf\\n\",\"js/es6/reflect/has.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n\\n$jscomp.polyfill('Reflect.has', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Polyfill for Reflect.has() method:\\n   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/has\\n   *\\n   * Applies the 'in' operator as a function.\\n   *\\n   * @param {!Object} target\\n   * @param {*} propertyKey\\n   * @return {boolean}\\n   */\\n  var polyfill = function(target, propertyKey) {\\n    return propertyKey in target;\\n  };\\n  return polyfill;\\n}, 'es6', 'es3');\\n\",\"js/es6/reflect/isextensible.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/defines';\\n'require util/polyfill';\\n\\n\\n$jscomp.polyfill('Reflect.isExtensible', function(orig) {\\n  if (orig) return orig;\\n  if ($jscomp.ASSUME_ES5 || typeof Object.isExtensible == 'function') {\\n    return Object.isExtensible;\\n  }\\n  return function() { return true; };\\n}, 'es6', 'es3');\\n\",\"js/es6/reflect/ownkeys.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n'require es6/object/getownpropertysymbols';\\n\\n\\n$jscomp.polyfill('Reflect.ownKeys',\\n    /**\\n     * @param {*} orig\\n     * @return {*}\\n     * @suppress {reportUnknownTypes}\\n     */\\n    function(orig) {\\n  if (orig) return orig;\\n\\n  var symbolPrefix = 'jscomp_symbol_';\\n  function isSymbol(key) {\\n    return key.substring(0, symbolPrefix.length) == symbolPrefix;\\n  }\\n\\n  /**\\n   * Polyfill for Reflect.ownKeys() method:\\n   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/ownKeys\\n   *\\n   * Returns an array of the object's own property keys.\\n   *\\n   * @param {!Object} target\\n   * @return {!Array<(string|symbol)>}\\n   */\\n  var polyfill = function(target) {\\n    var keys = [];\\n    var names = Object.getOwnPropertyNames(target);\\n    var symbols = Object.getOwnPropertySymbols(target);\\n    for (var i = 0; i < names.length; i++) {\\n      (isSymbol(names[i]) ? symbols : keys).push(names[i]);\\n    }\\n    return keys.concat(symbols);\\n  };\\n  return polyfill;\\n}, 'es6', 'es5'); // ES5: Requires Object.getOwnPropertyNames\\n\",\"js/es6/reflect/preventextensions.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/defines';\\n'require util/polyfill';\\n\\n\\n$jscomp.polyfill('Reflect.preventExtensions', function(orig) {\\n  if (orig) return orig;\\n\\n  if (!($jscomp.ASSUME_ES5 || typeof Object.preventExtensions == 'function')) {\\n    return function() { return false; };\\n  }\\n\\n  /**\\n   * Polyfill for Reflect.preventExtensions() method:\\n   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/preventExtensions\\n   *\\n   * Same function as Object.preventExtensions (the spec says\\n   * to throw if the input is not an object, but jscompiler will\\n   * fail to typecheck, so there's no reason to distinguish here).\\n   *\\n   * @param {!Object} target\\n   * @return {boolean}\\n   */\\n  var polyfill = function(target) {\\n    Object.preventExtensions(target);\\n    return !Object.isExtensible(target);\\n  };\\n  return polyfill;\\n}, 'es6', 'es3');\\n\",\"js/es6/reflect/set.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require es6/reflect/isextensible';\\n'require util/finddescriptor';\\n'require util/polyfill';\\n\\n\\n$jscomp.polyfill('Reflect.set', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Polyfill for Reflect.set() method:\\n   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/set\\n   *\\n   * Applies the 'setprop' operator as a function.\\n   *\\n   * @param {!Object} target Target on which to get the property.\\n   * @param {string} propertyKey Name of the property to get.\\n   * @param {*} value Value to set.\\n   * @param {!Object=} opt_receiver An optional 'this' to use for a setter.\\n   * @return {boolean} Whether setting was successful.\\n   */\\n  var polyfill = function(target, propertyKey, value, opt_receiver) {\\n    var property = $jscomp.findDescriptor(target, propertyKey);\\n    if (!property) {\\n      if (Reflect.isExtensible(target)) {\\n        target[propertyKey] = value;\\n        return true;\\n      }\\n      return false;\\n    }\\n    if (property.set) {\\n      property.set.call(arguments.length > 3 ? opt_receiver : target, value);\\n      return true;\\n    } else if (property.writable && !Object.isFrozen(target)) {\\n      target[propertyKey] = value;\\n      return true;\\n    }\\n    return false;\\n  };\\n  return polyfill;\\n}, 'es6', 'es5'); // ES5: findDescriptor requires getPrototypeOf\\n\",\"js/es6/reflect/setprototypeof.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview\\n * @suppress {uselessCode}\\n */\\n'require util/polyfill';\\n'require es6/util/setprototypeof';\\n\\n\\n$jscomp.polyfill(\\n    'Reflect.setPrototypeOf',\\n    /**\\n     * These annotations are intended to match the signature of\\n     * $jscomp.polyfill(). Being more specific makes the compiler unhappy.\\n     * @suppress {reportUnknownTypes}\\n     * @param {?*} orig\\n     * @return {*}\\n     */\\n    function(orig) {\\n      if (orig) {\\n        return orig;\\n      } else if ($jscomp.setPrototypeOf) {\\n        /** @const {!function(!Object,?Object):!Object} */\\n        var setPrototypeOf = $jscomp.setPrototypeOf;\\n        /**\\n         * @param {!Object} target\\n         * @param {?Object} proto\\n         * @return {boolean}\\n         */\\n        var polyfill = function(target, proto) {\\n          try {\\n            setPrototypeOf(target, proto);\\n            return true;\\n          } catch (e) {\\n            return false;\\n          }\\n        };\\n        return polyfill;\\n      } else {\\n        // it isn't possible to implement this method\\n        return null;\\n      }\\n    },\\n    'es6', 'es5');\\n\",\"js/es6/set.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require es6/symbol';\\n'require es6/map';\\n'require util/defines';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Set',\\n    /**\\n     * @param {*} NativeSet\\n     * @return {*}\\n     * @suppress {reportUnknownTypes}\\n     */\\n    function(NativeSet) {\\n\\n  // Perform a conformance check to ensure correct native implementation.\\n  var isConformant = !$jscomp.ASSUME_NO_NATIVE_SET && (function() {\\n    if (!NativeSet ||\\n        !NativeSet.prototype.entries ||\\n        typeof Object.seal != 'function') {\\n      return false;\\n    }\\n    // Some implementations don't support constructor arguments.\\n    try {\\n      NativeSet = /** @type {function(new: Set, !Iterator=)} */ (NativeSet);\\n      var value = Object.seal({x: 4});\\n      var set = new NativeSet($jscomp.makeIterator([value]));\\n      if (!set.has(value) || set.size != 1 || set.add(value) != set ||\\n          set.size != 1 || set.add({x: 4}) != set || set.size != 2) {\\n        return false;\\n      }\\n      var iter = set.entries();\\n      var item = iter.next();\\n      if (item.done || item.value[0] != value || item.value[1] != value) {\\n        return false;\\n      }\\n      item = iter.next();\\n      if (item.done || item.value[0] == value || item.value[0].x != 4 ||\\n          item.value[1] != item.value[0]) {\\n        return false;\\n      }\\n      return iter.next().done;\\n    } catch (err) { // This should hopefully never happen, but let's be safe.\\n      return false;\\n    }\\n  })();\\n  if (isConformant) return NativeSet;\\n\\n  // We depe";
a.a+="nd on Symbol.iterator, so ensure it's loaded.\\n  $jscomp.initSymbol();\\n  $jscomp.initSymbolIterator();\\n\\n\\n\\n  /**\\n   * Polyfill for the global Map data type.\\n   * @constructor\\n   * @struct\\n   * @extends {Set<VALUE>}\\n   * @implements {Iterable<VALUE>}\\n   * @template KEY, VALUE\\n   * @param {!Iterable<VALUE>|!Array<VALUE>|null=} opt_iterable\\n   *     Optional data to populate the set.\\n   */\\n  // TODO(sdh): fix param type if heterogeneous arrays ever supported.\\n  var PolyfillSet = function(opt_iterable) {\\n    /** @private @const {!Map<VALUE, VALUE>} */\\n    this.map_ = new Map();\\n    if (opt_iterable) {\\n      var iter = $jscomp.makeIterator(opt_iterable);\\n      var entry;\\n      while (!(entry = iter.next()).done) {\\n        var item = /** @type {!IIterableResult<VALUE>} */ (entry).value;\\n        this.add(item);\\n      }\\n    }\\n    // Note: this property should not be changed.  If we're willing to give up\\n    // ES3 support, we could define it as a property directly.  It should be\\n    // marked readonly if such an annotation ever comes into existence.\\n    this.size = this.map_.size;\\n  };\\n\\n\\n  /** @override */\\n  PolyfillSet.prototype.add = function(value) {\\n    this.map_.set(value, value);\\n    this.size = this.map_.size;\\n    return this;\\n  };\\n\\n\\n  /** @override */\\n  PolyfillSet.prototype.delete = function(value) {\\n    var result = this.map_.delete(value);\\n    this.size = this.map_.size;\\n    return result;\\n  };\\n\\n\\n  /** @override */\\n  PolyfillSet.prototype.clear = function() {\\n    this.map_.clear();\\n    this.size = 0;\\n  };\\n\\n\\n  /** @override */\\n  PolyfillSet.prototype.has = function(value) {\\n    return this.map_.has(value);\\n  };\\n\\n\\n  /** @override */\\n  PolyfillSet.prototype.entries = function() {\\n    return this.map_.entries();\\n  };\\n\\n\\n  /** @override */\\n  PolyfillSet.prototype.values = function() {\\n    return this.map_.values();\\n  };\\n\\n\\n  /** @override */\\n  PolyfillSet.prototype.keys = PolyfillSet.prototype.values;\\n\\n\\n  /** @type {?} */ (PolyfillSet.prototype)[Symbol.iterator] =\\n      PolyfillSet.prototype.values;\\n\\n\\n  /** @override */\\n  PolyfillSet.prototype.forEach = function(callback, opt_thisArg) {\\n    var set = this;\\n    this.map_.forEach(function(value) {\\n      return callback.call(/** @type {?} */ (opt_thisArg), value, value, set);\\n    });\\n  };\\n\\n\\n  return PolyfillSet;\\n}, 'es6', 'es3');\\n\",\"js/es6/string.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Brings in all ES6 String polyfills.\\n */\\n'require es6/string/codepointat';\\n'require es6/string/endswith';\\n'require es6/string/fromcodepoint';\\n'require es6/string/includes';\\n'require es6/string/padend';\\n'require es6/string/padstart';\\n'require es6/string/repeat';\\n'require es6/string/startswith';\\n\",\"js/es6/string/codepointat.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/checkstringargs';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('String.prototype.codePointAt', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Returns the UTF-16 codepoint at the given index.\\n   *\\n   * <p>Polyfills the instance method String.prototype.codePointAt().\\n   *\\n   * @this {string}\\n   * @param {number} position\\n   * @return {number|undefined} The codepoint.\\n   */\\n  var polyfill = function(position) {\\n    // NOTE: this is taken from v8's harmony-string.js StringCodePointAt\\n    'use strict';\\n    var string = $jscomp.checkStringArgs(this, null, 'codePointAt');\\n    var size = string.length;\\n    // Make 'position' a number (non-number coerced to NaN and then or to zero).\\n    position = Number(position) || 0;\\n    if (!(position >= 0 && position < size)) {\\n      return void 0;\\n    }\\n    // Truncate 'position' to an integer.\\n    position = position | 0;\\n    var first = string.charCodeAt(position);\\n    if (first < 0xD800 || first > 0xDBFF || position + 1 === size) {\\n      return first;\\n    }\\n    var second = string.charCodeAt(position + 1);\\n    if (second < 0xDC00 || second > 0xDFFF) {\\n      return first;\\n    }\\n    return (first - 0xD800) * 0x400 + second + 0x2400;\\n  };\\n\\n  return polyfill;\\n}, 'es6', 'es3');\\n\",\"js/es6/string/endswith.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/checkstringargs';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('String.prototype.endsWith', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Tests whether the string ends with a given substring.\\n   *\\n   * <p>Polyfills the instance method String.prototype.endsWith().\\n   *\\n   * @this {string}\\n   * @param {string} searchString\\n   * @param {number=} opt_position\\n   * @return {boolean}\\n   */\\n  var polyfill = function(searchString, opt_position) {\\n    'use strict';\\n    var string = $jscomp.checkStringArgs(this, searchString, 'endsWith');\\n    searchString = searchString + '';\\n    if (opt_position === void 0) opt_position = string.length;\\n    var i = Math.max(0, Math.min(opt_position | 0, string.length));\\n    var j = searchString.length;\\n    while (j > 0 && i > 0) {\\n      if (string[--i] != searchString[--j]) return false;\\n    }\\n    return j <= 0;\\n  };\\nreturn polyfill;\\n}, 'es6', 'es3');\\n\",\"js/es6/string/fromcodepoint.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('String.fromCodePoint', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Creates a new string from the given codepoints.\\n   *\\n   * <p>Polyfills the static function String.fromCodePoint().\\n   *\\n   * @param {...number} var_args\\n   * @return {string}\\n   */\\n  var polyfill = function(var_args) {\\n    // Note: this is taken from v8's harmony-string.js StringFromCodePoint.\\n    var result = '';\\n    for (var i = 0; i < arguments.length; i++) {\\n      var code = Number(arguments[i]);\\n      if (code < 0 || code > 0x10FFFF || code !== Math.floor(code)) {\\n        throw new RangeError('invalid_code_point ' + code);\\n      }\\n      if (code <= 0xFFFF) {\\n        result += String.fromCharCode(code);\\n      } else {\\n        code -= 0x10000;\\n        result += String.fromCharCode((code >>> 10) & 0x3FF | 0xD800);\\n        result += String.fromCharCode(code & 0x3FF | 0xDC00);\\n      }\\n    }\\n    return result;\\n  };\\n\\n  return polyfill;\\n}, 'es6', 'es3');\\n\",\"js/es6/string/includes.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/checkstringargs';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('String.prototype.includes', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Searches for a substring, starting at the given position.\\n   *\\n   * <p>Polyfills the instance method String.prototype.includes().\\n   *\\n   * @this {string}\\n   * @param {string} searchString\\n   * @param {number=} opt_position\\n   * @return {boolean}\\n   */\\n  var polyfill = function(searchString, opt_position) {\\n    'use strict';\\n    var string = $jscomp.checkStringArgs(this, searchString, 'includes');\\n    return string.indexOf(searchString, opt_position || 0) !== -1;\\n  };\\n\\n  return polyfill;\\n}, 'es6', 'es3');\\n\",\"js/es6/string/padend.js\":\"/*\\n * Copyright 2017 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/checkstringargs';\\n'require util/stringpadding';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('String.prototype.padEnd', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Polyfills String.prototype.padEnd.\\n   *\\n   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padEnd\\n   *\\n   * @this {string}\\n   * @param {number} targetLength\\n   * @param {string=} opt_padString\\n   * @return {string}\\n   */\\n  var padEnd = function(targetLength, opt_padString) {\\n    var string = $jscomp.checkStringArgs(this, null, 'padStart');\\n    var padLength = targetLength - string.length;\\n    return string + $jscomp.stringPadding(opt_padString, padLength);\\n  };\\n\\n  return padEnd;\\n}, 'es8', 'es3');\\n\",\"js/es6/string/padstart.js\":\"/*\\n * Copyright 2017 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/checkstringargs';\\n'require util/polyfill';\\n'require util/stringpadding';\\n\\n$jscomp.polyfill('String.prototype.padStart', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Polyfills String.prototype.padStart.\\n   *\\n   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padStart\\n   *\\n   * @this {string}\\n   * @param {number} targetLength\\n   * @param {string=} opt_padString\\n   * @return {string}\\n   */\\n  var padStart = function(targetLength, opt_padString) {\\n    var string = $jscomp.checkStringArgs(this, null, 'padStart');\\n    var padLength = targetLength - string.length;\\n    return $jscomp.stringPadding(opt_padString, padLength) + string;\\n  };\\n\\n  return padStart;\\n}, 'es8', 'es3');\\n\",\"js/es6/string/repeat.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/checkstringargs';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('String.prototype.repeat', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Returns a new string repeated the given number of times.\\n   *\\n   * <p>Polyfills the instance method String.prototype.repeat().\\n   *\\n   * @this {string}\\n   * @param {number} copies\\n   * @return {string}\\n   */\\n  var polyfill = function(copies) {\\n    'use strict';\\n    var string = $jscomp.checkStringArgs(this, null, 'repeat');\\n    if (copies < 0 || copies > 0x4FFFFFFF) { // impose a 1GB limit\\n      throw new RangeError('Invalid count value');\\n    }\\n    copies = copies | 0; // cast to a signed integer.\\n    var result = '';\\n    while (copies) {\\n      if (copies & 1) result += string;\\n      if ((copies >>>= 1)) string += string;\\n    }\\n    return result;\\n  };\\n\\n  return polyfill;\\n}, 'es6', 'es3');\\n\",\"js/es6/string/startswith.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/checkstringargs';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('String.prototype.startsWith', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Tests whether the string starts with a given substring.\\n   *\\n   * <p>Polyfills the instance method String.prototype.startsWith().\\n   *\\n   * @this {string}\\n   * @param {string} searchString\\n   * @param {number=} opt_position\\n   * @return {boolean}\\n   */\\n  var polyfill = function(searchString, opt_position) {\\n    'use strict';\\n    var string = $jscomp.checkStringArgs(this, searchString, 'startsWith');\\n    searchString = searchString + '';\\n    var strLen = string.length;\\n    var searchLen = searchString.length;\\n    var i = Math.max(\\n        0,\\n        Math.min(/** @type {number} */ (opt_position) | 0, string.length));\\n    var j = 0;\\n    while (j < searchLen && i < strLen) {\\n      if (string[i++] != searchString[j++]) return false;\\n    }\\n    return j >= searchLen;\\n  };\\n\\n  return polyfill;\\n}, 'es6', 'es3');\\n\",\"js/es6/symbol.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LIC";
a.a+='ENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n\'require util/defineproperty\';\\n\'require util/global\';\\n\\n/** @const {string} */\\n$jscomp.SYMBOL_PREFIX = \'jscomp_symbol_\';\\n\\n\\n/**\\n * Initializes the Symbol function.\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.initSymbol = function() {\\n  // Only need to do this once. All future calls are no-ops.\\n  $jscomp.initSymbol = function() {};\\n\\n  if (!$jscomp.global[\'Symbol\']) {\\n    $jscomp.global[\'Symbol\'] = $jscomp.Symbol;\\n  }\\n};\\n\\n\\n/**\\n * Produces \\"symbols\\" (actually just unique strings).\\n * @param {string=} opt_description\\n * @return {symbol}\\n */\\n$jscomp.Symbol = /** @type {function(): !Function} */ (function() {\\n  var counter = 0;\\n  /**\\n   * @param {string=} opt_description\\n   * @return {symbol}\\n   * @suppress {reportUnknownTypes}\\n   */\\n  function Symbol(opt_description) {\\n    return /** @type {symbol} */ (\\n        $jscomp.SYMBOL_PREFIX + (opt_description || \'\') + (counter++));\\n  }\\n  return Symbol;\\n})();\\n\\n\\n/**\\n * Initializes Symbol.iterator (if it\'s not already defined) and adds a\\n * Symbol.iterator property to the Array prototype.\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.initSymbolIterator = function() {\\n  $jscomp.initSymbol();\\n  var symbolIterator = $jscomp.global[\'Symbol\'].iterator;\\n  if (!symbolIterator) {\\n    symbolIterator = $jscomp.global[\'Symbol\'].iterator =\\n        $jscomp.global[\'Symbol\'](\'iterator\');\\n  }\\n\\n  if (typeof Array.prototype[symbolIterator] != \'function\') {\\n    $jscomp.defineProperty(\\n        Array.prototype, symbolIterator, {\\n          configurable: true,\\n          writable: true,\\n          /**\\n           * @this {Array}\\n           * @return {!IteratorIterable}\\n           */\\n          value: function() {\\n            return $jscomp.arrayIterator(this);\\n          }\\n        });\\n  }\\n\\n  // Only need to do this once. All future calls are no-ops.\\n  $jscomp.initSymbolIterator = function() {};\\n};\\n\\n\\n/**\\n * Returns an iterator from the given array.\\n * @param {!Array<T>} array\\n * @return {!IteratorIterable<T>}\\n * @template T\\n */\\n$jscomp.arrayIterator = function(array) {\\n  var index = 0;\\n  return $jscomp.iteratorPrototype(function() {\\n    if (index < array.length) {\\n      return {\\n        done: false,\\n        value: array[index++],\\n      };\\n    } else {\\n      return {done: true};\\n    }\\n  });\\n};\\n\\n\\n/**\\n * Returns an iterator with the given `next` method.  Passing\\n * all iterators through this function allows easily extending\\n * the definition of `%IteratorPrototype%` if methods are ever\\n * added to it in the future.\\n *\\n * @param {function(this: Iterator<T>): T} next\\n * @return {!IteratorIterable<T>}\\n * @template T\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.iteratorPrototype = function(next) {\\n  $jscomp.initSymbolIterator();\\n\\n  var iterator = {next: next};\\n  /**\\n   * @this {IteratorIterable}\\n   * @return {!IteratorIterable}\\n   */\\n  iterator[$jscomp.global[\'Symbol\'].iterator] = function() { return this; };\\n  return /** @type {!IteratorIterable} */ (iterator);\\n};\\n","js/es6/util/arrayfromiterable.js":"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Polyfill for array destructuring.\\n */\\n\'require es6/util/makeiterator\';\\n\'require es6/util/arrayfromiterator\';\\n\\n\\n/**\\n * Copies the values from an Iterable into an Array.\\n * @param {string|!Array<T>|!Iterable<T>|!Arguments<T>} iterable\\n * @return {!Array<T>}\\n * @template T\\n */\\n$jscomp.arrayFromIterable = function(iterable) {\\n  if (iterable instanceof Array) {\\n    return iterable;\\n  } else {\\n    return $jscomp.arrayFromIterator($jscomp.makeIterator(iterable));\\n  }\\n};\\n","js/es6/util/arrayfromiterator.js":"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Polyfill for array destructuring.\\n */\\n\'require base\';\\n\\n\\n/**\\n * Copies the values from an Iterator into an Array. The important difference\\n * between this and $jscomp.arrayFromIterable is that if the iterator\'s\\n * next() method has already been called one or more times, this method returns\\n * only the values that haven\'t been yielded yet.\\n * @param {!Iterator<T>} iterator\\n * @return {!Array<T>}\\n * @template T\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.arrayFromIterator = function(iterator) {\\n  var i;\\n  var arr = [];\\n  while (!(i = iterator.next()).done) {\\n    arr.push(i.value);\\n  }\\n  return arr;\\n};\\n","js/es6/util/construct.js":"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview\\n * @suppress {uselessCode}\\n */\\n\\n\'require util/objectcreate\';\\n\\n/**\\n * Polyfill for Reflect.construct() method:\\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/construct\\n *\\n * Calls a constructor as with the \'new\' operator.\\n * TODO(sdh): how to type \'target\' with (new: TARGET) if opt_newTarget missing?\\n *\\n * @param {function(new: ?, ...?)} target The constructor to call.\\n * @param {!Array} argList The arguments as a list.\\n * @param {function(new: TARGET, ...?)=} opt_newTarget The constructor to instantiate.\\n * @return {TARGET} The result of the function call.\\n * @template TARGET\\n */\\n$jscomp.construct = /** @type {function(): !Function} */ (function() {\\n\\n  // Check for https://github.com/Microsoft/ChakraCore/issues/3217\\n  /** @return {boolean} */\\n  function reflectConstructWorks() {\\n    /** @constructor */ function Base() {}\\n    /** @constructor */ function Derived() {}\\n    new Base();\\n    Reflect.construct(Base, [], Derived);\\n    return new Base() instanceof Base;\\n  }\\n\\n  if (typeof Reflect != \'undefined\' && Reflect.construct) {\\n    if (reflectConstructWorks()) return Reflect.construct;\\n    var brokenConstruct = Reflect.construct;\\n    /**\\n     * @param {function(new: ?, ...?)} target The constructor to call.\\n     * @param {!Array} argList The arguments as a list.\\n     * @param {function(new: TARGET, ...?)=} opt_newTarget The constructor to instantiate.\\n     * @return {TARGET} The result of the function call.\\n     * @template TARGET\\n     * @suppress {reportUnknownTypes}\\n     */\\n    var patchedConstruct = function(target, argList, opt_newTarget) {\\n      var out = brokenConstruct(target, argList);\\n      if (opt_newTarget) Reflect.setPrototypeOf(out, opt_newTarget.prototype);\\n      return out;\\n    };\\n    return patchedConstruct;\\n  }\\n\\n  /**\\n   * @param {function(new: ?, ...?)} target The constructor to call.\\n   * @param {!Array} argList The arguments as a list.\\n   * @param {function(new: TARGET, ...?)=} opt_newTarget The constructor to instantiate.\\n   * @return {TARGET} The result of the function call.\\n   * @template TARGET\\n   * @suppress {reportUnknownTypes}\\n   */\\n  function construct(target, argList, opt_newTarget) {\\n    if (opt_newTarget === undefined) opt_newTarget = target;\\n    var proto = opt_newTarget.prototype || Object.prototype;\\n    var obj = $jscomp.objectCreate(proto);\\n    var apply = Function.prototype.apply;\\n    var out = apply.call(target, obj, argList);\\n    return out || obj;\\n  }\\n  return construct;\\n})();\\n","js/es6/util/inherits.js":"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Polyfill for ES6 extends keyword.\\n * @suppress {uselessCode}\\n */\\n\'require base\';\\n\'require util/objectcreate\';\\n\'require es6/util/setprototypeof\';\\n\\n\\n/**\\n * Inherit the prototype methods and static methods from one constructor\\n * into another.\\n *\\n * This wires up the prototype chain (like goog.inherits) and copies static\\n * properties, for ES6-to-ES{3,5} transpilation.\\n *\\n * Usage:\\n * <pre>\\n *   function ParentClass() {}\\n *\\n *   // Regular method.\\n *   ParentClass.prototype.foo = function(a) {};\\n *\\n *   // Static method.\\n *   ParentClass.bar = function() {};\\n *\\n *   function ChildClass() {\\n *     ParentClass.call(this);\\n *   }\\n *   $jscomp.inherits(ChildClass, ParentClass);\\n *\\n *   var child = new ChildClass();\\n *   child.foo();\\n *   ChildClass.bar();  // Static inheritance.\\n * </pre>\\n *\\n * @param {!Function} childCtor Child class.\\n * @param {!Function} parentCtor Parent class.\\n */\\n$jscomp.inherits = function(childCtor, parentCtor) {\\n  childCtor.prototype = $jscomp.objectCreate(parentCtor.prototype);\\n  /** @override */ childCtor.prototype.constructor = childCtor;\\n  if ($jscomp.setPrototypeOf) {\\n    // avoid null dereference warning\\n    /** @const {!Function} */\\n    var setPrototypeOf = $jscomp.setPrototypeOf;\\n    setPrototypeOf(childCtor, parentCtor);\\n  } else {\\n    // setPrototypeOf is not available so we need to copy the static\\n    // methods to the child\\n    for (var p in parentCtor) {\\n      if (p == \'prototype\') {\\n        // Don\'t copy parentCtor.prototype to childCtor.\\n        continue;\\n      }\\n      if (Object.defineProperties) {\\n        var descriptor = Object.getOwnPropertyDescriptor(parentCtor, p);\\n        if (descriptor) {\\n          Object.defineProperty(childCtor, p, descriptor);\\n        }\\n      } else {\\n        // Pre-ES5 browser. Just copy with an assignment.\\n        childCtor[p] = parentCtor[p];\\n      }\\n    }\\n  }\\n\\n  childCtor.superClass_ = parentCtor.prototype;\\n};\\n","js/es6/util/iteratorfromarray.js":"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Utilities for iterator-returning methods.\\n */\\n\'require es6/symbol\';\\n\\n\\n/**\\n * Creates an iterator from an array-like, with a transformation function.\\n * @param {!IArrayLike<INPUT>} array\\n * @param {function(number, INPUT): OUTPUT} transform\\n * @return {!IteratorIterable<OUTPUT>}\\n * @template INPUT, OUTPUT\\n * @suppress {checkTypes|reportUnknownTypes}\\n */\\n$jscomp.iteratorFromArray = function(array, transform) {\\n  $jscomp.initSymbolIterator();\\n  // NOTE: IE8 doesn\'t support indexing from boxed Strings.\\n  if (array instanceof String) array = array + \'\';\\n  var i = 0;\\n  var iter = {\\n    next: function() {\\n      if (i < array.length) {\\n        var index = i++;\\n        return {value: transform(index, array[index]), done: false};\\n      }\\n      iter.next = function() { return {done: true, value: void 0}; };\\n      return iter.next();\\n    }\\n  };\\n  iter[Symbol.iterator] = function() { return iter; };\\n  return iter;\\n};\\n","js/es6/util/makeiterator.js":"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Polyfill for for-of loops.\\n */\\n\'require es6/symbol\';\\n\\n\\n/**\\n * Creates an iterator for the given iterable.\\n *\\n * @param {string|!Iterable<T>|!Iterator<T>|!Arguments<T>} iterable\\n * @return {!Iterator<T>}\\n * @template T\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.makeIterator = function(iterable) {\\n  $jscomp.initSymbolIterator();\\n\\n  // NOTE: Disabling typechecking because [] not allowed on @struct.\\n  var iteratorFunction = /** @type {?} */ (iterable)[Symbol.iterator];\\n  return iteratorFunction ? iteratorFunction.call(iterable) :\\n      $jscomp.arrayIterator(/** @type {!Array} */ (iterable));\\n};\\n","js/es6/util/setprototypeof.js":"/*\\n * Copyright 2017 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview\\n * @suppress {uselessCode}\\n */\\n\\n/**\\n * @suppress {missingProperties,reportUnknownTypes}\\n * @return {boolean}\\n */\\n$jscomp.underscoreProtoCanBeSet = function() {\\n  var x = {a: true};\\n  var y = {};\\n  try {\\n    y.__proto__ = x;\\n    return y.a;\\n  } catch (e) {\\n    // __proto__ property is readonly (possibly IE 10?)\\n  }\\n  return false;\\n};\\n\\n/**\\n * If we can implement it, this will be a function that attempts to set the\\n * prototype of an object, otherwise it will be `null`.\\n *\\n * It returns the first argument if successful. Throws a `TypeError` if the\\n * object is not extensible.\\n *\\n * @type {null|function(!Object, ?Object): !Object}\\n */\\n$jscomp.setPrototypeOf = (typeof Object.setPrototypeOf == \'function\') ?\\n    Object.setPrototypeOf :\\n    $jscomp.underscoreProtoCanBeSet() ?\\n    function(target, proto) {\\n      target.__proto__ = proto;\\n      if (target.__proto__ !== proto) {\\n        throw ';
a.a+="new TypeError(target + ' is not extensible');\\n      }\\n      return target;\\n    } :\\n    null;\\n\",\"js/es6/weakmap.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require es6/symbol';\\n'require es6/util/makeiterator';\\n'require util/defineproperty';\\n'require util/owns';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('WeakMap',\\n    /**\\n     * @param {*} NativeWeakMap\\n     * @return {*}\\n     * @suppress {reportUnknownTypes}\\n     */\\n    function(NativeWeakMap) {\\n  /**\\n   * Checks conformance of the existing WeakMap.\\n   * @return {boolean} True if the browser's implementation conforms.\\n   */\\n  function isConformant() {\\n    if (!NativeWeakMap || !Object.seal) return false;\\n    try {\\n      var x = Object.seal({});\\n      var y = Object.seal({});\\n      var map = new /** @type {function(new: WeakMap, !Array)} */ (\\n          NativeWeakMap)([[x, 2], [y, 3]]);\\n      if (map.get(x) != 2 || map.get(y) != 3) return false;\\n      map.delete(x);\\n      map.set(y, 4);\\n      return !map.has(x) && map.get(y) == 4;\\n    } catch (err) { // This should hopefully never happen, but let's be safe.\\n      return false;\\n    }\\n  }\\n  if (isConformant()) return NativeWeakMap;\\n\\n  var prop = '$jscomp_hidden_' + Math.random().toString().substring(2);\\n\\n  /**\\n   * Inserts the hidden property into the target.\\n   * @param {!Object} target\\n   */\\n  function insert(target) {\\n    if (!$jscomp.owns(target, prop)) {\\n      var obj = {};\\n      // TODO(sdh): This property will be enumerated in IE8.  If this becomes\\n      // a problem, we could avoid it by copying an infrequently-used non-enum\\n      // method (like toLocaleString) onto the object itself and encoding the\\n      // property on the copy instead.  This codepath must be easily removable\\n      // if IE8 support is not needed.\\n      $jscomp.defineProperty(target, prop, {value: obj});\\n    }\\n  }\\n\\n  /**\\n   * Monkey-patches the freezing methods to ensure that the hidden\\n   * property is added before any freezing happens.\\n   * @param {string} name\\n   */\\n  function patch(name) {\\n    var prev = Object[name];\\n    if (prev) {\\n      Object[name] = function(target) {\\n        insert(target);\\n        return prev(target);\\n      };\\n    }\\n  }\\n  patch('freeze');\\n  patch('preventExtensions');\\n  patch('seal');\\n  // Note: no need to patch Reflect.preventExtensions since the polyfill\\n  // just calls Object.preventExtensions anyway (and if it's not polyfilled\\n  // then neither is WeakMap).\\n\\n  var index = 0;\\n\\n  /**\\n   * Polyfill for WeakMap:\\n   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap\\n   *\\n   * This implementation is as non-leaky as possible, due to patching\\n   * the freezing and sealing operations.  It does not include any logic\\n   * to handle cases where a key was somehow made non-extensible without\\n   * the special hidden property being added.  It takes some care to ensure\\n   * the hidden property is not enumerated over nor discoverable, though\\n   * it's not completely secure (particularly in IE8).\\n   *\\n   * @constructor\\n   * @extends {WeakMap<KEY, VALUE>}\\n   * @template KEY, VALUE\\n   * @param {!Iterator<!Array<KEY|VALUE>>|!Array<!Array<KEY|VALUE>>|null=}\\n   *     opt_iterable Optional initial data.\\n   */\\n  var PolyfillWeakMap = function(opt_iterable) {\\n    /** @private @const {string} */\\n    this.id_ = (index += (Math.random() + 1)).toString();\\n\\n    if (opt_iterable) {\\n      $jscomp.initSymbol();\\n      $jscomp.initSymbolIterator();\\n      var iter = $jscomp.makeIterator(opt_iterable);\\n      var entry;\\n      while (!(entry = iter.next()).done) {\\n        var item = entry.value;\\n        this.set(/** @type {KEY} */ (item[0]), /** @type {VALUE} */ (item[1]));\\n      }\\n    }\\n  };\\n\\n  /** @override */\\n  PolyfillWeakMap.prototype.set = function(key, value) {\\n    insert(key);\\n    if (!$jscomp.owns(key, prop)) {\\n      // NOTE: If the insert() call fails on the key, but the property\\n      // has previously successfully been added higher up the prototype\\n      // chain, then we'll silently misbehave.  Instead, throw immediately\\n      // before doing something bad.  If this becomes a problem (e.g. due\\n      // to some rogue frozen objects) then we may need to add a slow and\\n      // leaky fallback array to each WeakMap instance, as well as extra\\n      // logic in each accessor to use it (*only*) when necessary.\\n      throw new Error('WeakMap key fail: ' + key);\\n    }\\n    key[prop][this.id_] = value;\\n    return this;\\n  };\\n\\n  /** @override */\\n  PolyfillWeakMap.prototype.get = function(key) {\\n    return $jscomp.owns(key, prop) ? key[prop][this.id_] : undefined;\\n  };\\n\\n  /** @override */\\n  PolyfillWeakMap.prototype.has = function(key) {\\n    return $jscomp.owns(key, prop) && $jscomp.owns(key[prop], this.id_);\\n  };\\n\\n  /** @override */\\n  PolyfillWeakMap.prototype.delete = function(key) {\\n    if (!$jscomp.owns(key, prop) ||\\n        !$jscomp.owns(key[prop], this.id_)) {\\n      return false;\\n    }\\n    return delete key[prop][this.id_];\\n  };\\n\\n  return PolyfillWeakMap;\\n}, 'es6', 'es3');\\n\",\"js/es6/weakset.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require es6/symbol';\\n'require es6/util/makeiterator';\\n'require util/polyfill';\\n'require es6/weakmap';\\n\\n$jscomp.polyfill('WeakSet',\\n    /**\\n     * @param {*} NativeWeakSet\\n     * @return {*}\\n     * @suppress {reportUnknownTypes}\\n     */\\n    function(NativeWeakSet) {\\n  /**\\n   * Checks conformance of the existing WeakSet.\\n   * @return {boolean} True if the browser's implementation conforms.\\n   */\\n  function isConformant() {\\n    if (!NativeWeakSet || !Object.seal) return false;\\n    try {\\n      var x = Object.seal({});\\n      var y = Object.seal({});\\n      var set = new /** @type {function(new: WeakSet, !Array)} */ (\\n          NativeWeakSet)([x]);\\n      if (!set.has(x) || set.has(y)) return false;\\n      set.delete(x);\\n      set.add(y);\\n      return !set.has(x) && set.has(y);\\n    } catch (err) { // This should hopefully never happen, but let's be safe.\\n      return false;\\n    }\\n  }\\n  if (isConformant()) return NativeWeakSet;\\n\\n  /**\\n   * @constructor\\n   * @extends {WeakSet<TYPE>}\\n   * @template TYPE\\n   * @param {!Iterator<TYPE>|!Array<TYPE>|null=} opt_iterable\\n   */\\n  var PolyfillWeakSet = function(opt_iterable) {\\n    /** @private @const {!WeakMap<TYPE, boolean>} */\\n    this.map_ = new WeakMap();\\n\\n    if (opt_iterable) {\\n      $jscomp.initSymbol();\\n      $jscomp.initSymbolIterator();\\n      var iter = $jscomp.makeIterator(opt_iterable);\\n      var entry;\\n      while (!(entry = iter.next()).done) {\\n        var item = entry.value;\\n        this.add(item);\\n      }\\n    }\\n  };\\n\\n  /** @override */\\n  PolyfillWeakSet.prototype.add = function(elem) {\\n    this.map_.set(elem, true);\\n    return this;\\n  };\\n\\n  /** @override */\\n  PolyfillWeakSet.prototype.has = function(elem) {\\n    return this.map_.has(elem);\\n  };\\n\\n  /** @override */\\n  PolyfillWeakSet.prototype.delete = function(elem) {\\n    return this.map_.delete(elem);\\n  };\\n\\n  return PolyfillWeakSet;\\n}, 'es6', 'es3');\\n\",\"js/es6_dart_runtime.js\":\"/*\\n * Copyright 2014 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview  Additional runtime functions required for transpilation from\\n * ES6 to ES5 of code generated by the Dart Dev Compiler.\\n *\\n * Note that DDC's output cannot currently be lowered to ES3 (heavy use of\\n * getters or setters, including in the runtime), so these helpers make no\\n * attempt of fallback behaviour when methods like Object.getPrototypeOf or\\n * Object.getOwnPropertyDescriptor are undefined (unlike helpers in es6/*.js).\\n *\\n * @author ochafik@google.com (Olivier Chafik)\\n */\\n'require base';\\n\\n/**\\n * Gets a property descriptor for a target instance, skipping its class\\n * and walking up the super-classes hierarchy.\\n *\\n * @private\\n * @param {!Object} target\\n * @param {!string} name\\n * @return {?}\\n */\\n$jscomp.getSuperPropertyDescriptor_ = function(target, name) {\\n  var getPrototypeOf = Object.getPrototypeOf;\\n  var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\\n  var cls = getPrototypeOf(target);\\n  while (cls != null) {\\n    cls = getPrototypeOf(cls);\\n    if (cls != null) {\\n      var desc = getOwnPropertyDescriptor(cls, name);\\n      if (desc != null) {\\n        return desc;\\n      }\\n    }\\n  }\\n  return undefined;\\n};\\n\\n/**\\n * Gets a property of a target instance using its super class getter or value,\\n * or returns undefined if that property is not defined on any ancestor.\\n *\\n * @param {!Object} target\\n * @param {!string} propertyName\\n * @return {*}\\n */\\n$jscomp.superGet = function(target, propertyName) {\\n  var desc = $jscomp.getSuperPropertyDescriptor_(target, propertyName);\\n  return desc && (desc.get ? desc.get.call(target) : desc.value);\\n};\\n\\n/**\\n * Sets a property on a target instance using its super setter if is defined\\n * on any ancestor, or setting it as a simple property on the target otherwise.\\n *\\n * @template T\\n * @param {!Object} target\\n * @param {!string} propertyName\\n * @param {T} value\\n * @return {T}\\n */\\n$jscomp.superSet = function(target, propertyName, value) {\\n  var desc = $jscomp.getSuperPropertyDescriptor_(target, propertyName);\\n  if (desc) {\\n    if (!desc.set) {\\n      throw new TypeError('No setter for super.' + propertyName);\\n    }\\n    desc.set.call(target, value);\\n  } else {\\n    target[propertyName] = value;\\n  }\\n  return value;\\n};\\n\",\"js/es6_runtime.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require es6/array';\\n'require es6/execute_async_generator';\\n'require es6/map';\\n'require es6/math';\\n'require es6/number';\\n'require es6/object';\\n'require es6/promise';\\n'require es6/reflect';\\n'require es6/set';\\n'require es6/string';\\n'require es6/symbol';\\n'require es6/util/arrayfromiterable';\\n'require es6/util/arrayfromiterator';\\n'require es6/util/inherits';\\n'require es6/util/iteratorfromarray';\\n'require es6/util/makeiterator';\\n'require es6/weakmap';\\n'require es6/weakset';\\n\",\"js/license.js\":\"/*\\n * Copyright 2015 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\",\"js/runtime_type_check.js\":\"/*\\n * Copyright 2010 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n\\n/**\\n * @fileoverview Provides the boilerplate code for run-time type checking.\\n *\\n * @author moedinger@google.com (Andrew Moedinger)\\n * @author nadaa@google.com (Nada Amin)\\n */\\n'require base';\\n\\n/** @const */\\n$jscomp.typecheck = {};\\n\\n/**\\n * A state variable to suspend checking, to avoid infinite calls\\n * caused by calling checked code from the checking functions.\\n *\\n * @type {boolean}\\n */\\n$jscomp.typecheck.suspendChecking = false;\\n\\n\\n/**\\n * Log and possibly format the run-time type check warning. This\\n * function is customized at compile-time.\\n *\\n * @param {string} warning the warning to log.\\n * @param {*} expr the faulty expression.\\n */\\n$jscomp.typecheck.log = function(warning, expr) {};\\n\\n/**\\n * Checks that the given expression matches one of the given checkers,\\n * logging if not, and returning the expression regardless.\\n *\\n * @param {*} expr the expression to check.\\n * @param {!Array.<!$jscomp.typecheck.Checker>} checkers the checkers to\\n *     use in checking, one of these has to match for checking to succeed.\\n * @return {*} the given expression back.\\n */\\n$jscomp.typecheck.checkType = function(expr, checkers) {\\n  if ($jscomp.typecheck.suspendChecking) {\\n    return expr;\\n  }\\n  $jscomp.typecheck.suspendChecking = true;\\n\\n  for (var i = 0; i < checkers.length; i++) {\\n    var checker = checkers[i];\\n    var ok = checker.check(expr);\\n    if (ok) {\\n      $jscomp.typecheck.suspendChecking = false;\\n      return expr;\\n    }\\n  }\\n\\n  var warning = $jscomp.typecheck.prettify_(expr) + ' not in ' +\\n      checkers.join(' ');\\n\\n  $jscomp.typecheck.log(warning, expr);\\n\\n  $jscomp.typecheck.suspendChecking = false;\\n  return expr;\\n};\\n\\n\\n/**\\n * Prettify the given expression for printing.\\n *\\n * @param {*} expr the expression.\\n * @return {string} a string representation of the given expression.\\n * @private\\n */\\n$jscomp.typecheck.prettify_ = function(expr) {\\n  var className = $jscomp.typecheck.getClassName_(expr);\\n  if (className) {\\n    return className;\\n  }\\n  try {\\n    return String(expr);\\n  }\\n  catch (e) {}\\n  return '<unknown>';\\n};\\n\\n/**\\n * Gets the class name if the given expression is an object.\\n *\\n * @param {*} expr the expression.\\n * @return {string|undefined} the class name or undefined if the\\n *     expression is not an object.\\n * @private\\n */\\n$jscomp.typecheck.getClassName_ = function(expr) {\\n  var className = void 0;\\n  if (typeof expr == 'object' && expr && expr.constructor) {\\n    className = expr.constructor.name;\\n    if (!className) {\\n      var funNameRe = /function (.{1,})\\\\(/;\\n      var m = (funNameRe).exec(expr.con";
a.a+="structor.toString());\\n      className = m && m.length > 1 ? m[1] : void 0;\\n    }\\n  }\\n  return className;\\n};\\n\\n/**\\n * Interface for all checkers.\\n *\\n * @interface\\n */\\n$jscomp.typecheck.Checker = function() {};\\n\\n\\n/**\\n * Checks the given expression.\\n *\\n * @param {*} expr the expression to check.\\n * @return {boolean} whether the given expression matches this checker.\\n */\\n$jscomp.typecheck.Checker.prototype.check = function(expr) {};\\n\\n\\n\\n/**\\n * A class for all value checkers, except the null checker.\\n *\\n * @param {string} type the value type (e.g. 'number') of this checker.\\n * @constructor\\n * @implements {$jscomp.typecheck.Checker}\\n * @private\\n */\\n$jscomp.typecheck.ValueChecker_ = function(type) {\\n  /**\\n   * The value type of this checker.\\n   * @type {string}\\n   * @private\\n   */\\n  this.type_ = type;\\n};\\n\\n\\n/** @inheritDoc */\\n$jscomp.typecheck.ValueChecker_.prototype.check = function(expr) {\\n  return typeof(expr) == this.type_;\\n};\\n\\n\\n/** @inheritDoc */\\n$jscomp.typecheck.ValueChecker_.prototype.toString = function() {\\n  return 'value(' + this.type_ + ')';\\n};\\n\\n\\n\\n/**\\n * A checker class for null values.\\n *\\n * @constructor\\n * @implements {$jscomp.typecheck.Checker}\\n * @private\\n */\\n$jscomp.typecheck.NullChecker_ = function() {};\\n\\n\\n/** @inheritDoc */\\n$jscomp.typecheck.NullChecker_.prototype.check = function(expr) {\\n  return expr === null;\\n};\\n\\n\\n/** @inheritDoc */\\n$jscomp.typecheck.NullChecker_.prototype.toString = function() {\\n  return 'value(null)';\\n};\\n\\n\\n/**\\n * A checker class for a class defined in externs, including built-in\\n * JS types.\\n *\\n * <p>If the class type is undefined, then checking is suspended to\\n * avoid spurious warnings. This is necessary because some externs\\n * types are not defined in all browsers. For example, Window is not\\n * defined Chrome, as window has the type DOMWindow.\\n *\\n * <p>Another subtlety is that a built-in type may be referenced in a\\n * different frame than the one in which it was created. This causes\\n * instanceOf to return false even though the object is of the correct\\n * type. We work around this by checking as many windows as possible,\\n * redefining open on top and window to keep track of them.\\n *\\n * @param {string} className the name of the extern class to check.\\n * @constructor\\n * @implements {$jscomp.typecheck.Checker}\\n * @private\\n */\\n$jscomp.typecheck.ExternClassChecker_ = function(className) {\\n  /**\\n   * The name of the extern class to check.\\n   * @type {string}\\n   * @private\\n   */\\n  this.className_ = className;\\n};\\n\\n\\n/**\\n * A list of (hopefully all) open windows.\\n *\\n * @type {!Array.<!Window>}\\n */\\n$jscomp.typecheck.ExternClassChecker_.windows = [];\\n\\n\\n/**\\n * A list of the original open methods that have been redefined.\\n *\\n * @type {!Array.<!Function>}\\n */\\n$jscomp.typecheck.ExternClassChecker_.oldOpenFuns = [];\\n\\n\\n/**\\n * Redefines the open method on the given window, adding tracking.\\n *\\n * @param {!Window} win the window to track.\\n */\\n$jscomp.typecheck.ExternClassChecker_.trackOpenOnWindow = function(win) {\\n  if (win.tracked) {\\n    return;\\n  }\\n  win.tracked = true;\\n\\n  var key = $jscomp.typecheck.ExternClassChecker_.oldOpenFuns.length;\\n\\n  $jscomp.typecheck.ExternClassChecker_.oldOpenFuns.push(win.open);\\n  $jscomp.typecheck.ExternClassChecker_.windows.push(win);\\n\\n  win.open = function() {\\n    var w = $jscomp.typecheck.ExternClassChecker_.oldOpenFuns[key].apply(\\n        this, arguments);\\n    $jscomp.typecheck.ExternClassChecker_.trackOpenOnWindow(w);\\n    return w;\\n  };\\n};\\n\\n\\n/**\\n * Returns the global 'this' object. This will normally be the same as 'window'\\n * but when running in a worker thread, the DOM is not available.\\n *\\n * This does not work when strict mode is enabled.\\n *\\n * @return {!Window}\\n * @private\\n */\\n$jscomp.typecheck.ExternClassChecker_.getGlobalThis_ = function() {\\n  return (function() { return this; }).call(null);\\n};\\n\\n\\n// Install listeners on the global 'this' object.\\n(function() {\\n  var globalThis = $jscomp.typecheck.ExternClassChecker_.getGlobalThis_();\\n  $jscomp.typecheck.ExternClassChecker_.trackOpenOnWindow(globalThis);\\n\\n  var theTop = globalThis['top'];\\n  if (theTop) {\\n    $jscomp.typecheck.ExternClassChecker_.trackOpenOnWindow(theTop);\\n  }\\n})();\\n\\n\\n/** @inheritDoc */\\n$jscomp.typecheck.ExternClassChecker_.prototype.check = function(expr) {\\n  var classTypeDefined = [ false ];\\n  for (var i = 0; i < $jscomp.typecheck.ExternClassChecker_.windows.length;\\n      i++) {\\n    var w = $jscomp.typecheck.ExternClassChecker_.windows[i];\\n    if (this.checkWindow_(w, expr, classTypeDefined)) {\\n      return true;\\n    }\\n  }\\n  return !classTypeDefined[0];\\n};\\n\\n\\n/** @inheritDoc */\\n$jscomp.typecheck.ExternClassChecker_.prototype.toString = function() {\\n  return 'ext_class(' + this.className_ + ')';\\n};\\n\\n\\n/**\\n * Checks whether the given expression is an instance of this extern\\n * class in this window or any of its frames and subframes.\\n *\\n * @param {!Window} w the window to start checking from.\\n * @param {*} expr the expression to check.\\n * @param {!Array.<boolean>} classTypeDefined a wrapped boolean\\n *     updated to indicate whether the class type was seen in any frame.\\n * @return {boolean} true if the given expression is an instance of this class.\\n * @private\\n */\\n$jscomp.typecheck.ExternClassChecker_.prototype.checkWindow_ =\\n    function(w, expr, classTypeDefined) {\\n  var classType = /** @type {function(new: ?)} */ (w[this.className_]);\\n  classTypeDefined[0] = classTypeDefined[0] || !!classType;\\n  if (classType && expr instanceof classType) {\\n    return true;\\n  }\\n  for (var i = 0; i < w.length; i++) {\\n    if (this.checkWindow_(w.frames[i], expr, classTypeDefined)) {\\n      return true;\\n    }\\n  }\\n  return false;\\n};\\n\\n\\n\\n/**\\n * A class for all checkers of user-defined classes.\\n *\\n * @param {string} className name of the class to check.\\n * @constructor\\n * @implements {$jscomp.typecheck.Checker}\\n * @private\\n */\\n$jscomp.typecheck.ClassChecker_ = function(className) {\\n\\n  /**\\n   * The name of the class to check.\\n   * @type {string}\\n   * @private\\n   */\\n  this.className_ = className;\\n};\\n\\n\\n/** @inheritDoc */\\n$jscomp.typecheck.ClassChecker_.prototype.check = function(expr) {\\n  return !!(expr && expr['instance_of__' + this.className_]);\\n};\\n\\n\\n/** @inheritDoc */\\n$jscomp.typecheck.ClassChecker_.prototype.toString = function() {\\n  return 'class(' + this.className_ + ')';\\n};\\n\\n\\n\\n/**\\n * A class for all checkers of user-defined interfaces.\\n *\\n * @param {string} interfaceName name of the interface to check.\\n * @constructor\\n * @implements {$jscomp.typecheck.Checker}\\n * @private\\n */\\n$jscomp.typecheck.InterfaceChecker_ = function(interfaceName) {\\n\\n  /**\\n   * The name of the interface to check.\\n   * @type {string}\\n   * @private\\n   */\\n  this.interfaceName_ = interfaceName;\\n};\\n\\n\\n/** @inheritDoc */\\n$jscomp.typecheck.InterfaceChecker_.prototype.check = function(expr) {\\n  return !!(expr && expr['implements__' + this.interfaceName_]);\\n};\\n\\n\\n/** @inheritDoc */\\n$jscomp.typecheck.InterfaceChecker_.prototype.toString = function() {\\n  return 'interface(' + this.interfaceName_ + ')';\\n};\\n\\n\\n\\n/**\\n * A checker for object types (possibly with non-standard prototype: might not\\n * inherit from Object).\\n *\\n * @constructor\\n * @implements {$jscomp.typecheck.Checker}\\n * @private\\n */\\n$jscomp.typecheck.ObjectChecker_ = function() {};\\n\\n\\n/** @inheritDoc */\\n$jscomp.typecheck.ObjectChecker_.prototype.check = function(expr) {\\n  return (typeof(expr) == 'object' || typeof(expr) == 'function') && !!expr;\\n};\\n\\n\\n/** @inheritDoc */\\n$jscomp.typecheck.ObjectChecker_.prototype.toString = function() {\\n  return 'value(object)';\\n};\\n\\n\\n\\n/**\\n * A checker for null values.\\n *\\n * @type {!$jscomp.typecheck.Checker} a checker.\\n */\\n$jscomp.typecheck.nullChecker = new $jscomp.typecheck.NullChecker_();\\n\\n\\n/**\\n * Creates a checker for the given value type (excluding the null type).\\n *\\n * @param {string} type the value type.\\n * @return {!$jscomp.typecheck.Checker} a checker.\\n */\\n$jscomp.typecheck.valueChecker = function(type) {\\n  return new $jscomp.typecheck.ValueChecker_(type);\\n};\\n\\n\\n/**\\n * Creates a checker for the given extern class name.\\n *\\n * @param {string} className the class name.\\n * @return {!$jscomp.typecheck.Checker} a checker.\\n */\\n$jscomp.typecheck.externClassChecker = function(className) {\\n  return new $jscomp.typecheck.ExternClassChecker_(className);\\n};\\n\\n\\n/**\\n * Creates a checker for the given user-defined class.\\n *\\n * @param {string} className the class name.\\n * @return {!$jscomp.typecheck.Checker} a checker.\\n */\\n$jscomp.typecheck.classChecker = function(className) {\\n  return new $jscomp.typecheck.ClassChecker_(className);\\n};\\n\\n\\n/**\\n * Creates a checker for the given user-defined interface.\\n *\\n * @param {string} interfaceName the interface name.\\n * @return {!$jscomp.typecheck.Checker} a checker.\\n */\\n$jscomp.typecheck.interfaceChecker = function(interfaceName) {\\n  return new $jscomp.typecheck.InterfaceChecker_(interfaceName);\\n};\\n\\n\\n/**\\n * A checker for objects.\\n *\\n * @type {!$jscomp.typecheck.Checker} a checker.\\n */\\n$jscomp.typecheck.objectChecker = new $jscomp.typecheck.ObjectChecker_();\\n\",\"js/util/checkstringargs.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require base';\\n\\n\\n/**\\n * Throws if the argument is a RegExp, or if thisArg is undefined.\\n * @param {?} thisArg The 'this' arg, which must be defined.\\n * @param {*} arg The first argument of the function, which mustn't be a RegExp.\\n * @param {string} func Name of the function, for reporting.\\n * @return {string} The thisArg, coerced to a string.\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.checkStringArgs = function(thisArg, arg, func) {\\n  if (thisArg == null) {\\n    throw new TypeError(\\n        \\\"The 'this' value for String.prototype.\\\" + func +\\n        ' must not be null or undefined');\\n  }\\n  if (arg instanceof RegExp) {\\n    throw new TypeError(\\n        'First argument to String.prototype.' + func +\\n        ' must not be a regular expression');\\n  }\\n  return thisArg + '';\\n};\\n\",\"js/util/defineproperty.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Provides methods to polyfill native objects.\\n * @suppress {reportUnknownTypes}\\n */\\n'require util/defines';\\n\\n\\n/**\\n * Polyfill for Object.defineProperty() method:\\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty\\n *\\n * Refuses to define properties on Array.prototype and Object.prototype,\\n * since we can't make them non-enumerable and this messes up peoples' for\\n * loops.  Beyond this, we simply assign values and not worry\\n * about enumerability or writeability.\\n * @param {?} target\\n * @param {string} property\\n * @param {?} descriptor\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.defineProperty =\\n    $jscomp.ASSUME_ES5 || typeof Object.defineProperties == 'function' ?\\n    Object.defineProperty :\\n    function(target, property, descriptor) {\\n      descriptor = /** @type {!ObjectPropertyDescriptor} */ (descriptor);\\n      // NOTE: This is currently never called with a descriptor outside\\n      // the control of the compiler.  If we ever decide to polyfill either\\n      // Object.defineProperty or Reflect.defineProperty for ES3, we should\\n      // explicitly check for `get` or `set` on the descriptor and throw a\\n      // TypeError, since it's impossible to properly polyfill it.\\n      if (target == Array.prototype || target == Object.prototype) return;\\n      target[property] = descriptor.value;\\n    };\\n\",\"js/util/defines.js\":\"/*\\n * Copyright 2017 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require base';\\n\\n\\n/**\\n * Whether to assume ES5 is available.  This enables removing several\\n * internal polyfills, which must otherwise be detected at runtime.\\n * @define {boolean}\\n */\\n$jscomp.ASSUME_ES5 = false;\\n\\n/**\\n * Whether to skip the conformance check and simply use the polyfill always.\\n * @define {boolean}\\n */\\n$jscomp.ASSUME_NO_NATIVE_MAP = false;\\n\\n/**\\n * Whether to skip the conformance check and simply use the polyfill always.\\n * @define {boolean}\\n */\\n$jscomp.ASSUME_NO_NATIVE_SET = false;\\n\",\"js/util/finddescriptor.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require es6/reflect/getownpropertydescriptor';\\n'require es6/reflect/getprototypeof';\\n\\n\\n/**\\n * Helper function to find a descriptor.\\n * @param {!Object} target\\n * @param {string} propertyKey\\n * @return {!ObjectPropertyDescriptor|undefined}\\n */\\n$jscomp.findDescriptor = function(target, propertyKey) {\\n  var /** ?Object */ obj = target;\\n  while (obj) {\\n    var property = Reflect.getOwnPropertyDescriptor(obj, propertyKey);\\n    if (property) {\\n      return property;\\n    }\\n    obj = Reflect.getPrototypeOf(obj);\\n  }\\n  return undefined;\\n};\\n\",\"js/util/findinternal.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Utility for Array methods that find elements.\\n */\\n'require base';\\n\\n// TODO(sdh): would be nice to template on the ARRAY type as well,\\n// so that the third arg type of callback can be refined to be\\n// exactly the same as the array type, but then there's no way to\\n// enforce that it must, in fact, be an array.\\n/**\\n * Internal implementation of fin";
a.a+='d.\\n * @param {!IArrayLike<VALUE>} array\\n * @param {function(this: THIS, VALUE, number, !IArrayLike<VALUE>): *} callback\\n * @param {THIS} thisArg\\n * @return {{i: number, v: (VALUE|undefined)}}\\n * @template THIS, VALUE\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.findInternal = function(array, callback, thisArg) {\\n  if (array instanceof String) {\\n    array = /** @type {!IArrayLike} */ (String(array));\\n  }\\n  var len = array.length;\\n  for (var i = 0; i < len; i++) {\\n    var value = array[i];\\n    if (callback.call(thisArg, value, i, array)) return {i: i, v: value};\\n  }\\n  return {i: -1, v: void 0};\\n};\\n","js/util/global.js":"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Runtime code to store the global object.\\n */\\n\'require base\';\\n\'declare global\';\\n\'declare window\';\\n\\n\\n/**\\n * @param {!Object} maybeGlobal\\n * @return {!Object} The global object.\\n * @suppress {undefinedVars|reportUnknownTypes}\\n */\\n$jscomp.getGlobal = function(maybeGlobal) {\\n  return (typeof window != \'undefined\' && window === maybeGlobal) ?\\n      maybeGlobal :\\n      (typeof global != \'undefined\' && global != null) ? global : maybeGlobal;\\n};\\n\\n\\n// TODO(sdh): This should be typed as \\"the global object\\", but there\'s not\\n// currently any way to do this in the existing type system.\\n/**\\n * The global object. For browsers we could just use `this` but in Node that\\n * doesn\'t work.\\n * @const {?}\\n */\\n$jscomp.global = $jscomp.getGlobal(this);\\n","js/util/objectcreate.js":"/*\\n * Copyright 2017 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Provides a partial internal polyfill for Object.create.\\n */\\n\'require util/defines\';\\n\\n\\n/**\\n * Polyfill for Object.create() method:\\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/create\\n *\\n * Does not implement the second argument.\\n * @param {!Object} prototype\\n * @return {!Object}\\n */\\n$jscomp.objectCreate =\\n    ($jscomp.ASSUME_ES5 || typeof Object.create == \'function\') ?\\n    Object.create :\\n    function(prototype) {\\n      /** @constructor */\\n      var ctor = function() {};\\n      ctor.prototype = prototype;\\n      return new ctor();\\n    };\\n","js/util/owns.js":"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n\'require base\';\\n\\n/**\\n * Synonym for Object.prototype.hasOwnProperty.call(obj, prop).\\n * @param {!Object} obj\\n * @param {string} prop\\n * @return {boolean}\\n */\\n$jscomp.owns = function(obj, prop) {\\n  return Object.prototype.hasOwnProperty.call(obj, prop);\\n};\\n","js/util/polyfill.js":"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Provides methods to polyfill native objects.\\n */\\n\'require util/defineproperty\';\\n\'require util/global\';\\n\\n\\n/**\\n * @param {string} target Qualified name of the class or method to polyfill,\\n *     e.g. \'Array.prototype.includes\' or \'Map\'.\\n * @param {?function(*): *} polyfill A function that takes the current browser\\n *     implementation of the target and returns an optional new polyfill\\n *     implementation.  If null is returned, then no polyfill will be added.  A\\n *     null argument for this parameter indicates that the function will not be\\n *     polyfilled, and is only useful for `build_polyfill_table.js` bookkeeping.\\n * @param {string} fromLang The language level in which the target is expected\\n *     to already be present in the browser.  The compiler requires that\\n *     `languageOut < fromLang` before injecting a polyfill (i.e. if the\\n *     specified output language already includes the feature then there\'s no\\n *     need to polyfill it).\\n * @param {string} toLang The language level required by the polyfill\\n *     implementation.  The compiler will issue an error if a polyfill is\\n *     required, but `languageOut < toLang`.  Additionally, the\\n *     `build_polyfill_table.js` script audits the polyfill dependency tree to\\n *     ensure that no polyfill with a lower `toLang` depends on one with a\\n *     higher `toLang`.\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.polyfill = function(target, polyfill, fromLang, toLang) {\\n  if (!polyfill) return;\\n  var obj = $jscomp.global;\\n  var split = target.split(\'.\');\\n  for (var i = 0; i < split.length - 1; i++) {\\n    var key = split[i];\\n    if (!(key in obj)) obj[key] = {};  // Might want to be defineProperty.\\n    obj = obj[key];\\n  }\\n  var property = split[split.length - 1];\\n  var orig = obj[property];\\n  var impl = polyfill(orig);\\n  if (impl == orig || impl == null) return;\\n  $jscomp.defineProperty(\\n      obj, property, {configurable: true, writable: true, value: impl});\\n};\\n","js/util/reflectobject.js":"/*\\n * Copyright 2017 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n\'require base\';\\n\\n/**\\n * Definition for object reflection. See goog.reflect.object.\\n *\\n * @param {!Function} type Type to cast to.\\n * @param {Object} object Object literal to cast.\\n * @return {Object} The object literal.\\n */\\n$jscomp.reflectObject = function(type, object) {\\n  return object;\\n};\\n","js/util/stringpadding.js":"/*\\n * Copyright 2017 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n\'require es6/string/repeat\';\\n\\n/**\\n * Repeats the given string as necessary to reach the given length,\\n * truncating any extra characters.\\n * @param {string|undefined} padString\\n * @param {number} padLength\\n * @return {string}\\n */\\n$jscomp.stringPadding = function(padString, padLength) {\\n  var padding = padString !== undefined ? String(padString) : \' \';\\n  if (!(padLength > 0) || !padding) return \'\';\\n  var repeats = Math.ceil(padLength / padding.length);\\n  return padding.repeat(repeats).substring(0, padLength);\\n};\\n","parsing/ParserConfig.properties":"# Copyright 2009 The Closure Compiler Authors.\\n#\\n# Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n# you may not use this file except in compliance with the License.\\n# You may obtain a copy of the License at\\n#\\n#     http://www.apache.org/licenses/LICENSE-2.0\\n#\\n# Unless required by applicable law or agreed to in writing, software\\n# distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n# See the License for the specific language governing permissions and\\n# limitations under the License.\\n\\n# Configuration options for the Parser.\\n#\\n# Allows us to update the allowed JSDoc annotations independently of the\\n# Compiler binary, so we can add new JSDoc annotations to old binaries.\\n\\n# The version of the compiler that we\'re currently building.\\n# Should be formatted as:\\n# Version# (Revision XXX)\\ncompiler.version = ${compiler.version}\\n\\n# The datestamp of the compiler that we\'re currently building.\\ncompiler.date = ${compiler.date}\\n\\n# A comma-delimited list.\\n# Some of these are not used by JSCompiler, but appear in third-party JS code.\\n# http://usejsdoc.org/\\n# It\'s not strictly necessary for the natively-supported annotations to be\\n# listed here, but it\'s nice to have them all in one place.\\njsdoc.annotations =\\\\\\n    addon,\\\\\\n    alias,\\\\\\n    animations,\\\\\\n    augments,\\\\\\n    author,\\\\\\n    base,\\\\\\n    borrows,\\\\\\n    bug,\\\\\\n    channel, \\\\\\n    class,\\\\\\n    classdesc,\\\\\\n    codepen,\\\\\\n    config,\\\\\\n    consistentIdGenerator,\\\\\\n    constructor,\\\\\\n    constructs,\\\\\\n    copyright,\\\\\\n    default,\\\\\\n    delegate,\\\\\\n    demo,\\\\\\n    deprecated,\\\\\\n    desc,\\\\\\n    description,\\\\\\n    dict,\\\\\\n    element,\\\\\\n    enhance,\\\\\\n    enhanceable,\\\\\\n    enum,\\\\\\n    event,\\\\\\n    eventOf,\\\\\\n    eventType,\\\\\\n    example,\\\\\\n    exception,\\\\\\n    exec,\\\\\\n    export,\\\\\\n    exportDoc,\\\\\\n    exportInterface,\\\\\\n    expose,\\\\\\n    externs,\\\\\\n    field,\\\\\\n    file,\\\\\\n    fires,\\\\\\n    function,\\\\\\n    global,\\\\\\n    hassoydelcall,\\\\\\n    hassoydeltemplate,\\\\\\n    id,\\\\\\n    idGenerator,\\\\\\n    ignore,\\\\\\n    inner,\\\\\\n    instance,\\\\\\n    kind,\\\\\\n    lends,\\\\\\n    link,\\\\\\n    meaning,\\\\\\n    member,\\\\\\n    memberOf,\\\\\\n    memberof,\\\\\\n    method,\\\\\\n    methodOf,\\\\\\n    mixes,\\\\\\n    mixin,\\\\\\n    modName,\\\\\\n    model,\\\\\\n    modifies,\\\\\\n    mods,\\\\\\n    module,\\\\\\n    multiElement,\\\\\\n    name,\\\\\\n    namespace,\\\\\\n    ngInject,\\\\\\n    ngdoc,\\\\\\n    nocompile,\\\\\\n    package,\\\\\\n    param,\\\\\\n    parent,\\\\\\n    pintomodule,\\\\\\n    preserveTry,\\\\\\n    priority,\\\\\\n    private,\\\\\\n    property,\\\\\\n    propertyOf,\\\\\\n    protected,\\\\\\n    provideGoog,\\\\\\n    public,\\\\\\n    readonly,\\\\\\n    requirecss,\\\\\\n    requires,\\\\\\n    restrict,\\\\\\n    returns,\\\\\\n    scope,\\\\\\n    see,\\\\\\n    since,\\\\\\n    stableIdGenerator,\\\\\\n    static,\\\\\\n    struct,\\\\\\n    summary,\\\\\\n    supported,\\\\\\n    this,\\\\\\n    throws,\\\\\\n    todo,\\\\\\n    tutorial,\\\\\\n    type,\\\\\\n    typedef,\\\\\\n    typeSummary,\\\\\\n    url,\\\\\\n    usage,\\\\\\n    version,\\\\\\n    virtual,\\\\\\n    visibility,\\\\\\n    wizSupportsSymbolicLookup,\\\\\\n    wizaction,\\\\\\n    wizmodule\\n\\n# Comma-delimited list of valid suppressions.\\n# This should be a subset of the list of DiagnosticGroups.\\njsdoc.suppressions =\\\\\\n    accessControls,\\\\\\n    ambiguousFunctionDecl,\\\\\\n    checkDebuggerStatement,\\\\\\n    checkEventfulObjectDisposal,\\\\\\n    checkRegExp,\\\\\\n    checkTypes,\\\\\\n    checkVars,\\\\\\n    closureDepMethodUsageChecks,\\\\\\n    const,\\\\\\n    constantProperty,\\\\\\n    deprecated,\\\\\\n    duplicate,\\\\\\n    es5Strict,\\\\\\n    externsValidation,\\\\\\n    extraProvide,\\\\\\n    extraRequire,\\\\\\n    fileoverviewTags,\\\\\\n    globalThis,\\\\\\n    invalidCasts,\\\\\\n    legacyGoogScopeRequire,\\\\\\n    lateProvide,\\\\\\n    lintChecks,\\\\\\n    messageConventions,\\\\\\n    misplacedTypeAnnotation,\\\\\\n    missingOverride, \\\\\\n    missingPolyfill, \\\\\\n    missingProperties,\\\\\\n    missingProvide,\\\\\\n    missingRequire,\\\\\\n    missingReturn,\\\\\\n    moduleLoad,\\\\\\n    newCheckTypes,\\\\\\n    newCheckTypesAllChecks,\\\\\\n    nonStandardJsDocs,\\\\\\n    reportUnknownTypes,\\\\\\n    strictModuleDepCheck,\\\\\\n    suspiciousCode,\\\\\\n    transitionalSuspiciousCodeWarnings,\\\\\\n    undefinedNames,\\\\\\n    undefinedVars,\\\\\\n    underscore,\\\\\\n    unknownDefines,\\\\\\n    unusedLocalVariables,\\\\\\n    unusedPrivateMembers,\\\\\\n    uselessCode,\\\\\\n    visibility,\\\\\\n    with\\n\\n# A comma-delimited list of reserved words that we should not rename variables\\n# to. Used when an extension is released that steps on globals.\\n# This prevents the compiler from renaming variables to these names, but not\\n# from allowing externs for these names.\\n#\\n# i,j - common loop variables often overwritten by browser extensions\\n# s \u2013 commonly defined by browser extensions when injecting scripts.\\n# $j,$ - common jquery aliases often overwritten by browser extensions\\n# o - overwritten by Norton Identity Protection\'s Chrome extension.\\n# ga,_gaq - global variable names used by Google Analytics.\\n# TODO(tbreisacher): Remove \'ga\' and \'_gaq\' if/when we enable\\n# --isolation_mode=IIFE by default.\\ncompiler.reserved.vars = i,j,s,$,$j,o,ga,_gaq\\n","rhino/Messages.properties":"#\\n# Default JavaScript messages file.\\n#\\n# ***** BEGIN LICENSE BLOCK *****\\n# Version: MPL 1.1/GPL 2.0\\n#\\n# The contents of this file are subject to the Mozilla Public License Version\\n# 1.1 (the \\"License\\"); you may not use this file except in compliance with\\n# the License. You may obtain a copy of the License at\\n# http://www.mozilla.org/MPL/\\n#\\n# Software distributed under the License is distributed on an \\"AS IS\\" basis,\\n# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License\\n# for the specific language governing rights and limitations under the\\n# License.\\n#\\n# The Original Code is Rhino code, released\\n# May 6, 1999.\\n#\\n# The Initial Developer of the Original Code is\\n# Netscape Communications Corporation.\\n# Portions created by the Initial Developer are Copyright (C) 1997-1999\\n# the Initial Developer. All Rights Reserved.\\n#\\n# Contributor(s):\\n#   Norris Boyd\\n#   Bob Jervis\\n#   Pascal-Louis Perez\\n#\\n# Alternatively, the contents of this file may be used under the terms of\\n# the GNU General Public License Version 2 or later (the \\"GPL\\"), in which\\n# case the provisions of the GPL are applicable instead of those above. If\\n# you wish to allow use of your version of this file only under the terms of\\n# the GPL and not to allow others to use your version of this file under the\\n# MPL, indicate your decision by deleting the provisions above and replacing\\n# them with the notice and other provisions required by the GPL. If you do\\n# not delete the provisions above, a recipient may use your version of this\\n# file under either the MPL or the GPL.\\n#\\n# ***** END LICENSE BLOCK *****\\n\\n# This is replaced during jar assembly from property string\\n# and should not be translated\\nimplementation.version = @IMPLEMENTATION.VERSION@\\n\\n#\\n# To add JavaScript error messages for a particular locale, create a\\n# new Messages_[locale].properties file, where [locale] is the Java\\n# string abbreviation ';
a.a+='for that locale.  For example, JavaScript\\n# messages for the Polish locale should be located in\\n# Messages_pl.properties, and messages for the Italian Swiss locale\\n# should be located in Messages_it_CH.properties.  Message properties\\n# files should be accessible through the classpath under\\n# org.mozilla.javascript.resources\\n#\\n# See:\\n# java.util.ResourceBundle\\n# java.text.MessageFormat\\n#\\n\\n# SomeJavaClassWhereUsed\\n\\n# Codegen\\nmsg.dup.parms =\\\\\\n    Duplicate parameter name \\"{0}\\".\\n\\nmsg.unexpected.eof =\\\\\\n    Unexpected end of file\\n\\nmsg.extra.trailing.comma =\\\\\\n    Trailing comma is not legal in an ECMA-262 object initializer\\n\\nmsg.end.annotation.expected =\\\\\\n    expected end of line or comment.\\n\\nmsg.bad.jsdoc.tag =\\\\\\n    illegal use of unknown JSDoc tag \\"{0}\\"; ignoring it\\n\\nmsg.bad.fileoverview.visibility.annotation =\\\\\\n    {0} visibility not allowed in @fileoverview block\\n\\nmsg.missing.variable.name =\\\\\\n    expecting a variable name in a @param tag.\\n\\nmsg.dup.variable.name =\\\\\\n    duplicate variable name \\"{0}\\"\\n\\nmsg.invalid.variable.name =\\\\\\n    invalid param name \\"{0}\\"\\n\\nmsg.jsdoc.incompat.type =\\\\\\n    type annotation incompatible with other annotations.\\n\\nmsg.jsdoc.type.syntax =\\\\\\n    type not recognized due to syntax error.\\n\\nmsg.jsdoc.override =\\\\\\n    extra @override/@inheritDoc tag.\\n\\nmsg.jsdoc.final =\\\\\\n    extra @final tag.\\n\\nmsg.jsdoc.extra.visibility=\\\\\\n    extra visibility tag\\n\\nmsg.jsdoc.idgen.duplicate =\\\\\\n    extra @idGenerator tag\\n\\nmsg.jsdoc.idgen.bad =\\\\\\n    malformed @idGenerator tag\\n\\nmsg.jsdoc.wizaction =\\\\\\n    extra @wizaction tag\\n\\nmsg.jsdoc.idgen.unknown =\\\\\\n    unknown @idGenerator parameter: {0}\\n\\nmsg.jsdoc.hidden =\\\\\\n    extra @hidden tag\\n\\nmsg.jsdoc.consistidgen =\\\\\\n    extra @consistentIdGenerator tag\\n\\nmsg.jsdoc.const =\\\\\\n    conflicting @const tag\\n\\nmsg.jsdoc.desc.extra =\\\\\\n    extra @desc tag\\n\\nmsg.jsdoc.meaning.extra =\\\\\\n    extra @meaning tag\\n\\nmsg.jsdoc.fileoverview.extra =\\\\\\n    extra @fileoverview tag\\n\\nmsg.jsdoc.lends.incompatible =\\\\\\n    @lends tag incompatible with other annotations.\\n\\nmsg.jsdoc.lends.missing =\\\\\\n    missing object name in @lends tag.\\n\\nmsg.jsdoc.preserve.nobuilder =\\\\\\n    @preserve or @license annotation without file to associate it with\\n\\nmsg.jsdoc.missing.lp =\\\\\\n    missing opening (\\n\\nmsg.jsdoc.missing.braces =\\\\\\n    Type annotations should have curly braces.\\n\\nmsg.jsdoc.missing.rc =\\\\\\n    expected closing }\\n\\nmsg.jsdoc.missing.rp =\\\\\\n    missing closing )\\n\\nmsg.jsdoc.missing.gt =\\\\\\n    missing closing >\\n\\nmsg.jsdoc.missing.rb =\\\\\\n    missing closing ]\\n\\nmsg.jsdoc.missing.colon =\\\\\\n    expecting colon after this\\n\\nmsg.jsdoc.function.this =\\\\\\n    expecting this but {0} found\\n\\nmsg.jsdoc.function.newnotobject =\\\\\\n    constructed type must be an object type\\n\\nmsg.jsdoc.function.varargs =\\\\\\n    variable length argument must be last.\\n\\nmsg.jsdoc.type.union =\\\\\\n    union type element with bad syntax\\n\\nmsg.jsdoc.type.record.duplicate =\\\\\\n    Duplicate record field {0}.\\n\\nmsg.jsdoc.enum =\\\\\\n    conflicting @enum tag\\n\\nmsg.jsdoc.constructor =\\\\\\n    conflicting @constructor tag\\n\\nmsg.jsdoc.deprecated =\\\\\\n    extra @deprecated tag\\n\\nmsg.jsdoc.interface =\\\\\\n    extra @interface tag\\n\\nmsg.jsdoc.interface.constructor =\\\\\\n  cannot be both an interface and a constructor.\\n\\nmsg.jsdoc.record =\\\\\\n  conflicting @record tag.\\n\\nmsg.jsdoc.implements.duplicate =\\\\\\n    duplicate @implements tag.\\n\\nmsg.jsdoc.noalias =\\\\\\n    extra @noalias tag\\n\\nmsg.jsdoc.nosideeffects =\\\\\\n    conflicting @nosideeffects tag\\n\\nmsg.jsdoc.implicitcast =\\\\\\n    extra @implicitCast tag.\\n\\nmsg.jsdoc.this =\\\\\\n    conflicting @this tag\\n\\nmsg.jsdoc.this.object =\\\\\\n    @this must specify an object type\\n\\nmsg.jsdoc.type =\\\\\\n    conflicting @type tag\\n\\nmsg.jsdoc.define =\\\\\\n    conflicting @define tag\\n\\nmsg.jsdoc.define.badtype =\\\\\\n    @define tag only permits literal types\\n\\nmsg.jsdoc.extends =\\\\\\n    conflicting @extends tag\\n\\nmsg.jsdoc.extends.duplicate =\\\\\\n    duplicate @extends tag\\n\\nmsg.jsdoc.export =\\\\\\n    extra @export tag\\n\\nmsg.jsdoc.expose =\\\\\\n    extra @expose tag\\n\\nmsg.jsdoc.externs =\\\\\\n    extra @externs tag\\n\\nmsg.jsdoc.typesummary =\\\\\\n    extra @typeSummary tag\\n\\nmsg.jsdoc.nocompile =\\\\\\n    extra @nocompile tag\\n\\nmsg.jsdoc.nocollapse =\\\\\\n    extra @nocollapse tag\\n\\nmsg.jsdoc.seemissing =\\\\\\n    @see tag missing description\\n\\nmsg.jsdoc.authormissing =\\\\\\n    @author tag missing author\\n\\nmsg.jsdoc.versionmissing =\\\\\\n    @version tag missing version information\\n\\nmsg.jsdoc.extraversion =\\\\\\n    conflicting @version tag\\n\\nmsg.jsdoc.suppress =\\\\\\n    malformed @suppress tag\\n\\nmsg.jsdoc.suppress.duplicate =\\\\\\n    duplicate @suppress tag\\n\\nmsg.jsdoc.suppress.unknown =\\\\\\n    unknown @suppress parameter: {0}\\n\\nmsg.jsdoc.modifies =\\\\\\n    malformed @modifies tag\\n\\nmsg.jsdoc.modifies.duplicate =\\\\\\n    conflicting @modifies tag\\n\\nmsg.jsdoc.modifies.unknown =\\\\\\n    unknown @modifies parameter: {0}\\n\\nmsg.jsdoc.polymerBehavior.extra =\\\\\\n    extra @polymerBehavior tag\\n\\nmsg.jsdoc.polymer.extra =\\\\\\n    extra @polymer tag\\n\\nmsg.jsdoc.customElement.extra =\\\\\\n    extra @customElement tag\\n\\nmsg.jsdoc.mixinClass.extra =\\\\\\n    extra @mixinClass tag\\n\\nmsg.jsdoc.mixinFunction.extra =\\\\\\n    extra @mixinFunction tag\\n\\nmsg.jsdoc.stableidgen =\\\\\\n    extra @stableIdGenerator tag\\n\\nmsg.jsdoc.templatemissing =\\\\\\n    @template tag missing type name.\\n\\nmsg.jsdoc.template.name.declared.twice =\\\\\\n    Type name(s) for @template annotation declared twice.\\n\\nmsg.jsdoc.template.invalid.type.name =\\\\\\n    Invalid type name(s) for @template annotation.\\n\\nmsg.jsdoc.disposeparameter.missing =\\\\\\n    @disposes tag missing parameter name.\\n\\nmsg.jsdoc.disposeparameter.error =\\\\\\n    @disposes parameter unknown or parameter specified multiple times.\\n\\nmsg.jsdoc.jaggerInject.extra =\\\\\\n    extra @jaggerInject tag\\n\\nmsg.jsdoc.jaggerModule.extra =\\\\\\n    extra @jaggerModule tag\\n\\nmsg.jsdoc.jaggerProvidePromise.extra =\\\\\\n    extra @jaggerProvidePromise tag\\n\\nmsg.jsdoc.jaggerProvide.extra =\\\\\\n    extra @jaggerProvide tag\\n\\nmsg.jsdoc.nginject.extra =\\\\\\n    extra @ngInject tag\\n\\nmsg.no.type.name =\\\\\\n    expecting a type name.\\n\\nmsg.jsdoc.typetransformation.missing.delimiter =\\\\\\n    Expected end delimiter for a type transformation.\\n\\nmsg.jsdoc.typetransformation.with.multiple.names =\\\\\\n    Type transformation must be associated to a single type name.\\n\\nmsg.jsdoc.typetransformation.expression.missing =\\\\\\n    Missing type transformation expression.\\n\\nmsg.jsdoc.typetransformation.invalid =\\\\\\n    Invalid {0}\\n\\nmsg.jsdoc.typetransformation.invalid.expression =\\\\\\n    Invalid {0} expression\\n\\nmsg.jsdoc.typetransformation.missing.param =\\\\\\n    Missing parameter in {0}\\n\\nmsg.jsdoc.typetransformation.extra.param =\\\\\\n    Found extra parameter in {0}\\n\\nmsg.jsdoc.typetransformation.invalid.inside =\\\\\\n    Invalid expression inside {0}\\n"}\n';
return a.a}var DCc="object",ECc="boolean",FCc="number",GCc="function",HCc="string",ICc=2147483647,JCc='For input string: "',KCc="null",LCc=-2147483648,MCc="\\\\",NCc={3:1,4:1,26:1},OCc={83:1,3:1},PCc=65536,QCc=55296,RCc=1023,SCc=65535,TCc=56320,UCc={3:1},VCc="use Optional.orNull() instead of Optional.or(null)",WCc={33:1},XCc="0123456789ABCDEF",YCc={129:1,64:1,65:1},ZCc="[A-Z\\d]",$Cc=", ",_Cc="(this Collection)",aDc={15:1,17:1},bDc={3:1,4:1},cDc={15:1,17:1,46:1},dDc="%s (%s) must not be negative",
eDc="index",fDc="negative size: ",gDc={3:1,11:1,4:1},hDc={64:1,134:1,3:1,22:1,14:1,65:1},iDc={15:1},jDc="Suppliers.memoize(",kDc={44:1},lDc="value already present: %s",mDc={3:1,44:1},nDc="no calls to next() since the last call to remove()",oDc={48:1},pDc="entry no longer in map",qDc={15:1,17:1,31:1},rDc={110:1,33:1},sDc={110:1,33:1,137:1},tDc={101:1,3:1},uDc={15:1,17:1,46:1,67:1},vDc={33:1,137:1},wDc={15:1,17:1,31:1,125:1},xDc={15:1,17:1,207:1,31:1,125:1},yDc="occurrences cannot be negative: %s",
zDc={166:1,48:1},ADc={69:1,3:1,15:1,17:1},BDc={69:1,113:1,3:1,15:1,17:1,46:1,67:1},CDc={3:1,4:1,138:1},DDc={133:1,3:1,44:1},EDc={69:1,104:1,3:1,15:1,17:1,31:1},FDc={552:1,3:1},GDc={213:1,3:1},HDc=1073741824,IDc="expectedKeys",JDc="position (",KDc="expectedValuesPerKey",LDc=461845907,MDc=-862048943,NDc={3:1,15:1,17:1,46:1,67:1},ODc={3:1,15:1,17:1,46:1},PDc={126:1,189:1,3:1,22:1,14:1,124:1},QDc={126:1,124:1},RDc="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",SDc={290:1,3:1},TDc=
"Unrecognized character: 0x",UDc="__noinit__",VDc="__java$exception",WDc=": ",XDc="stack",YDc="\n",ZDc={l:0,m:0,h:524288},$Dc={136:1,3:1},_Dc=1114111,aEc={3:1,40:1,21:1,38:1},bEc="String",cEc="anonymous",dEc="fnStack",eEc="Unknown",fEc=4194303,gEc=1048575,hEc=524288,iEc=4194304,jEc=17592186044416,kEc=4095,lEc=-17592186044416,mEc="CSS1Compat",nEc="NONE",oEc="ERROR",pEc="WARNING",qEc="OFF",rEc="Expected 0 children, but was ",sEc="Expected 2 children, but was ",tEc="Expected ",uEc=" children, but was ",
vEc="Invalid child for ",wEc=" node",xEc="Expected 1 children, but was ",yEc="Expected child count in [1, 2], but was ",zEc="Expected child count in [0, 1], but was ",AEc="Expected non-empty string.",BEc="Expected non-null string.",CEc="Expected unnamed function expression.",DEc="Expected child count in [2, 3], but was ",EEc={52:1},FEc={560:1,3:1,4:1},GEc={127:1},HEc={24:1},IEc="cannot reference {2} because of a missing module dependency\ndefined in module {1}, referenced from module {0}",JEc="missing require: ''{0}''",
KEc="Missing return statement. Function expected to return {0}.",LEc="Array.isArray",MEc="goog",NEc="Invalid name '%s'. Did you mean to use NodeUtil.newQName?",OEc={36:1,3:1,4:1},PEc="prototype",QEc="goog.addSingletonGetter",REc="goog$addSingletonGetter",SEc="JSC_LATE_PROVIDE_ERROR",TEc="use strict",UEc="loadModule",VEc="module",WEc="provide",XEc="require",YEc="finally",ZEc="return",$Ec="Unexpected Node subclass.",_Ec="async",aFc="...",bFc="export",cFc="default",dFc="from",eFc="import",fFc="class",
gFc="extends",hFc="implements",iFc="while",jFc="this",kFc="super",lFc="new.target",mFc="false",nFc="true",oFc="continue",pFc="Unexpected token type. Should be LABEL_NAME.",qFc="debugger",rFc="void",sFc="interface",tFc="enum",uFc="namespace",vFc="type",wFc="declare",xFc="async function",yFc="Expected qualified name, found: %s",zFc="$jscomp.inherits",AFc="$jscomp$inherits",BFc="No inputs. Did you call init() or initModules()?",CFc="generateReport",DFc=".js",EFc=" [synthetic:",FFc="module$",GFc="{SyntheticVarsDeclar}",
HFc=32768,IFc=131072,JFc="toSource",KFc="parseInputs",LFc="recordFunctionInformation",MFc="runTranspileOnlyPasses",NFc="runWhitespaceOnlyPasses",OFc={58:1},PFc="./",QFc="checkTypes",RFc="collapseObjectLiterals",SFc="inlineFunctions",TFc="inlineVariables",UFc="locale",VFc="removeUnusedClassProperties",WFc="removeUnusedPrototypeProperties",XFc="removeUnusedVars",YFc="BROWSER",ZFc="ECMASCRIPT3",$Fc="ECMASCRIPT5",_Fc={180:1,3:1},aGc={3:1,127:1},bGc="{0}",cGc="reportUnknownTypes",dGc="analyzerChecks",
eGc="analyzerChecksInternal",fGc="oldReportUnknownTypes",gGc="newCheckTypes",hGc="newCheckTypesCompatibility",iGc="newCheckTypesExtraChecks",jGc="missingSourcesWarnings",kGc="deprecated",lGc="fileoverviewTags",mGc="checkEventfulObjectDisposal",nGc="uselessCode",oGc="const",pGc="duplicate",qGc="missingRequire",rGc="duplicateZipContents",sGc="Symbol",tGc="apply",uGc="Symbol.iterator",vGc="es6/symbol",wGc=-536870912,xGc=536870912,yGc="$jscomp$restParams",zGc="Array",AGc="$jscomp$restIndex",BGc="arguments",
CGc={52:1,24:1},DGc="es6/util/",EGc="makeIterator",FGc="ES5 getters/setters (consider using --language_out=ES5)",GGc="async functions should have already been converted",HGc={131:1,3:1,22:1,14:1},IGc=134217728,JGc="var_args",KGc="Only calls to super or to a method of super are supported.",LGc="This should never happen. Did Es6SuperCheck fail to run?",MGc="constructor",NGc="call",OGc={64:1,65:1},PGc="Error",QGc="RangeError",RGc="ReferenceError",SGc="SyntaxError",TGc="Boolean",UGc="Function",VGc="Number",
WGc="RegExp",XGc="Object",YGc="$jscomp$tmp$error",ZGc="message",$Gc="$jscomp$super$this",_Gc="undefined",aHc="%20",bHc="%5B",cHc="%5D",dHc="%3C",eHc="%3E",fHc="$jscomp$arguments",gHc="$jscomp$this",hHc=".prototype",iHc=2097152,jHc=8388608,kHc="util/global",lHc="$jscomp.global.Object.defineProperties",mHc=1024,nHc="$jscomp$destructuring$var",oHc="next",pHc="value",qHc="$jscomp$generator$state",rHc="done",sHc="$jscomp$generator$forin$array",tHc="$jscomp$generator$forin$var",uHc="$jscomp$generator$forin$iter",
vHc="$jscomp$generator$arguments",wHc="$jscomp$generator$this",xHc="$jscomp$generator$first$do",yHc="$jscomp$generator$global$errortemp",zHc="$jscomp$generator$global$error",AHc="$jscomp",BHc="$jscomp$generator$yield$all",CHc="$jscomp$generator$yield$entry",DHc="$jscomp$generator$next$arg",EHc="$jscomp$generator$action$arg",FHc="$jscomp$generator$throw$arg",GHc="$jscompDefaultExport",HHc="goog.require",IHc="goog.provide",JHc="goog.module",KHc="JSC_CANNOT_CONVERT",LHc="$jscomp$",MHc="@implements used without @constructor or @interface for {0}",
NHc="parameter {0} does not appear in {1}''s parameter list",OHc=1610612736,PHc=".prototype.",QHc=67108864,RHc="CLASS",SHc="FUNCTION",THc="property {0} on interface {1} is not implemented by type {2}",UHc="interface member functions must have an empty body",VHc="java.lang.Integer",WHc="java/lang/Integer.impl.java.js",XHc="java.lang.Float",YHc="java/lang/Float.impl.java.js",ZHc="goog.math.Long",$Hc="closure/goog/math/long.js",_Hc="function(",aIc=268435456,bIc="throws",cIc="@template ",dIc="$jscomp$key$",
eIc={24:1,551:1},fIc='Constructor {0} should be called with the "new" keyword',gIc="Illegal key, the object literal is a {0}",hIc="Cannot use the IN operator with structs",iIc="Property {0} never defined on {1}",jIc="Function {0}: called with {1} argument(s). Function requires at least {2} argument(s){3}.",kIc="Cannot do {0} access on a {1}",lIc="unknown type: {0}",mIc="Abstract super method {0} cannot be called",nIc="Constructor expected as first argument",oIc="Unexpected node type: ",pIc="Infinity",
qIc="typeof",rIc="instanceof",sIc="Normalize constraints violated:\n",tIc="Duplicate VAR declaration",uIc=1048576,vIc="Unexpected const change.\n  name: ",wIc="Normalize ES6 shorthand property syntax",xIc="peepholeOptimizations",yIc="removeUnreachableCode",zIc="module.exports",AIc="$jscomp$async$this",BIc="$jscomp$async$arguments",CIc="$jscomp$async$generator",DIc="$jscomp$browser$blacklisted",EIc="/package.json",FIc="$jscomp.polyfill",GIc="Parse error. {0}",HIc="Keywords and reserved words are not allowed as unquoted property names in older versions of JavaScript. If you are targeting newer versions of JavaScript, set the appropriate language_in option.",
IIc="Can only have JSDoc or inline type annotations, not both",JIc="Trailing comma is not legal in an ECMA-262 object initializer",KIc="msg.bad.jsdoc.tag",LIc="Non-JSDoc comment has annotations. Did you mean to start it with '/**'?",MIc={181:1,3:1,22:1,14:1},NIc={183:1,974:1,3:1},OIc={64:1,186:1,3:1,22:1,14:1,65:1},PIc={185:1,3:1,22:1,14:1},QIc="DEFAULT",RIc="-beginning-",SIc="{1} cannot extend this type; {0}s can only extend {0}s",TIc="{0} cannot implement this type; an interface can only extend, but not implement interfaces",
UIc=" * ",VIc="Validity Check failed",WIc="../",XIc={126:1,266:1,3:1,22:1,14:1,124:1},YIc="node_modules/",ZIc="!Function",$Ic="LOOSE_TOP_FUNCTION",_Ic="TOP_FUNCTION",aJc=1879048191,bJc="FALSE_TYPE",cJc="NULL",dJc="NUMBER",eJc="STRING",fJc="TOP_SCALAR",gJc="TRUE_TYPE",hJc="TRUTHY",iJc="UNKNOWN",jJc="UNRESOLVED",kJc="UNDEFINED_OR_BOOLEAN",lJc="UNDEFINED_OR_NUMBER",mJc="UNDEFINED_OR_STRING",nJc="NULL_OR_BOOLEAN",oJc="NULL_OR_NUMBER",pJc="NULL_OR_STRING",qJc="NULL_OR_UNDEFINED",rJc="NUMBER_OR_STRING",
sJc={115:1,149:1,86:1,56:1,3:1},tJc="QMARK_FUNCTION",uJc="BOTTOM_FUNCTION",vJc="CONSTRUCTOR",wJc="ENUM",xJc="EXTENDS",yJc="EXPORT",zJc="IMPLEMENTS",AJc="INTERFACE",BJc="PACKAGE",CJc="PRIVATE",DJc="PROTECTED",EJc="PUBLIC",FJc="RETURN",GJc="THIS",HJc="TYPE",IJc="package",JJc="private",KJc="protected",LJc="public",MJc="static",NJc="this language feature is only supported for ",OJc=" mode or better: ",PJc="Invalid octal digit in octal literal.",QJc="Octal integer literals are not supported in strict mode.",
RJc="unexpected: ",SJc="__missing_expression__",TJc="unique",UJc="consistent",VJc="Bad type annotation. ",WJc=" See https://github.com/google/closure-compiler/wiki/Bad-Type-Annotation for more information.",XJc="msg.jsdoc.incompat.type",YJc="msg.jsdoc.interface.constructor",ZJc="msg.jsdoc.missing.rc",$Jc="msg.jsdoc.template.name.declared.twice",_Jc="msg.jsdoc.extra.visibility",aKc="msg.jsdoc.type.syntax",bKc="msg.jsdoc.missing.rp",cKc="msg.jsdoc.idgen.bad",dKc="msg.jsdoc.idgen.duplicate",eKc="msg.jsdoc.modifies",
fKc="msg.jsdoc.suppress",gKc="ANNOTATION",hKc="com.google.javascript.jscomp.parsing.ParserConfig",iKc="Expected a call node, found %s",jKc="msg.jsdoc.typetransformation.invalid",kKc="msg.jsdoc.typetransformation.invalid.expression",lKc="type transformation",mKc="msg.jsdoc.typetransformation.invalid.inside",nKc="conditional",oKc="map function",pKc="Expected a function node, found %s",qKc="msg.jsdoc.typetransformation.missing.param",rKc="msg.jsdoc.typetransformation.extra.param",sKc="map function body",
tKc="template type operation",uKc="INSTANCEOF",vKc="unknown",wKc="SUPER",xKc="NEW_TARGET",yKc="AMBIENT_DECLARATION",zKc="CALL_SIGNATURE",AKc="INDEX_SIGNATURE",BKc="NAMESPACE_DECLARATION",CKc="OPTIONAL_PARAMETER",DKc="TYPE_ALIAS",EKc="CATCH",FKc="CONTINUE",GKc="DEBUGGER",HKc="delete",IKc="FINALLY",JKc="SWITCH",KKc="TYPEOF",LKc="IMPORT",MKc="TRUE",NKc="FALSE",OKc="DECLARE",PKc="NAMESPACE",QKc="'%s' expected",RKc="const variables must have an initializer",SKc="destructuring must have an initializer",
TKc="No newline allowed before '=>'",UKc="invalid assignment target",VKc="async functions cannot be generators",WKc="invalid parenthesized expression",XKc="cannot use keyword '%s' here.",YKc="unreachable",ZKc="invalid arrow function parameters",$Kc="Unterminated template literal",_Kc="Invalid escape sequence",aLc="In some cases, '\x3c!--' and '--\x3e' are treated as a '//' for legacy reasons. Removing this from your code is safe for all browsers currently in use.",bLc="ARRAY_PATTERN",cLc="OBJECT_PATTERN",
dLc="ARRAY_TYPE",eLc="RECORD_TYPE",fLc="UNION_TYPE",gLc="FUNCTION_TYPE",hLc="GENERIC_TYPE_LIST",iLc=4294967295,jLc="Bit index should be non-negative integer",kLc="String has leading or trailing whitespace",lLc="The new child node has next siblings.",mLc="The new child node has previous siblings.",nLc="The new child node already has a parent.",oLc="%s is not the parent of %s",pLc="Number node not created with Node.newNumber",qLc="String node not created with Node.newString",rLc=" is not a string node",
sLc="com.google.javascript.rhino.Messages",tLc="STRING_TYPE",uLc="BOOLEAN_TYPE",vLc="NUMBER_TYPE",wLc={56:1,23:1,3:1},xLc={49:1,3:1,4:1},yLc={86:1,56:1,23:1,47:1,3:1},zLc={86:1,56:1,23:1,47:1,85:1,3:1},ALc="Expected a constructor; got %s",BLc={149:1,86:1,56:1,66:1,23:1,47:1,85:1,3:1},CLc={86:1,56:1,23:1,47:1,123:1,3:1},DLc={156:1,3:1,22:1,14:1},ELc={3:1,88:1,38:1},FLc={22:1,179:1},GLc=16777619,HLc={3:1,15:1,17:1,31:1},ILc={3:1,22:1,14:1,146:1},JLc={3:1,4:1,976:1},KLc="Invalid UTF8 sequence",LLc=", length: ",
MLc="Index: ",NLc=", Size: ",OLc="fromIndex: ",PLc=", toIndex: ",QLc="user.agent";var _,$V,VV,AV=-1;_V();aW(1,null,{},ub);_.Cd=function vb(a){return this===a};_.Dd=function xb(){return this.Qj};_.Ed=function zb(){return uCc(this)};_.Fd=function Bb(){var a;return Hkc(yb(this))+"@"+(a=Ab(this)>>>0,a.toString(16))};_.equals=function(a){return this.Cd(a)};_.hashCode=function(){return this.Ed()};_.toString=function(){return this.Fd()};var cE,dE,eE;cE={3:1,596:1,22:1};var ekc,fkc;aW(373,1,{},Jkc);_.zj=
function Kkc(a){var b;b=new Jkc;b.i=4;a>1?b.c=Rkc(this,a-1):b.c=this;return b};_.Aj=function Qkc(){Fkc(this);return this.b};_.Hg=function Skc(){return Hkc(this)};_.Bj=function Ukc(){return Ikc(this)};_.Cj=function Wkc(){return(this.i&4)!=0};_.Dj=function Xkc(){return(this.i&1)!=0};_.Fd=function $kc(){return((this.i&2)!=0?"interface ":(this.i&1)!=0?"":"class ")+(Fkc(this),this.p)};_.i=0;_.k=0;var Ekc=1;aW(215,1,{3:1,215:1});var alc;dE={3:1,22:1,597:1,215:1};eE={3:1,374:1,22:1,2:1};aW(1011,1,{});var lT=
Mkc(1);var VS=Mkc(596);var XS=Mkc(373);var kT=Mkc(215);var YS=Mkc(597);var qT=Mkc(2);aW(916,1,UCc);var KE=Mkc(916);aW(623,916,UCc,Fb);_.Cd=function Gb(a){return a===this};_.Gd=function Hb(){throw CV(new llc("Optional.get() cannot be called on an absent value"));};_.Ed=function Ib(){return 2040732332};_.Hd=function Jb(){return false};_.Id=function Kb(a){return Eb(a)};_.Fd=function Lb(){return"Optional.absent()"};var Cb;var uE=Mkc(623);aW(593,1,WCc);_.Jd=function Pb(){return Mb(this)};_.Kd=function Qb(){return Nb(this)};
_.Ld=function Rb(){throw CV(new enc);};_.i=1;var vE=Mkc(593);var ME=Okc();aW(129,1,YCc);_.Md=function Zb(a){return this.Nd(a.Uj)};_.Cd=function $b(a){return this===a};_.Fd=function ac(){var a;return Hkc(this.Qj)+"@"+(a=Ab(this)>>>0,a.toString(16))};var FE=Mkc(129);aW(592,129,YCc,bc);_.Nd=function cc(a){return krc(this.a,a)>=0};_.Fd=function dc(){var a,b,c,d,e;e=new bnc('CharMatcher.anyOf("');for(b=this.a,c=0,d=b.length;c<d;++c){a=b[c];Wmc(e,_b(a))}e.a+='")';return e.a};var wE=Mkc(592);aW(914,129,
YCc);var xE=Mkc(914);aW(389,914,YCc,ec);_.Nd=function fc(a){return this.b<=a&&a<=this.a};_.Fd=function gc(){return"CharMatcher.inRange('"+_b(this.b)+"', '"+_b(this.a)+"')"};_.a=0;_.b=0;var yE=Mkc(389);aW(109,914,YCc,ic);_.Nd=function jc(a){return hc(this,a)};_.Fd=function kc(){return"CharMatcher.is('"+_b(this.a)+"')"};_.a=0;var zE=Mkc(109);aW(591,129,YCc,nc);_.Nd=function oc(a){return nkc==null&&(nkc=new RegExp(ZCc,"i")),nkc.test(String.fromCharCode(a))};_.Fd=function pc(){return"CharMatcher.javaLetterOrDigit()"};
var lc;var AE=Mkc(591);aW(388,914,YCc);_.Fd=function rc(){return this.a};var BE=Mkc(388);aW(589,388,YCc,uc);_.Nd=function vc(a){return false};var sc;var CE=Mkc(589);aW(294,129,YCc,xc);_.Nd=function yc(a){return wc(this,a)};_.Fd=function zc(){return"CharMatcher.or("+this.a+$Cc+this.b+")"};var DE=Mkc(294);aW(590,388,YCc,Dc);_.Nd=function Ec(a){return dmc("\u2002\u3000\r\u0085\u200a\u2005\u2000\u3000\u2029\x0B\u3000\u2008\u2003\u205f\u3000\u1680\t \u2006\u2001\u202f\u00a0\f\u2009\u3000\u2004\u3000\u3000\u2028\n\u2007\u3000",
1682554634*a>>>Bc)==a};var Ac,Bc=0;var EE=Mkc(590);aW(72,1,{},Kc);var HE=Mkc(72);var eT=Okc();aW(912,1,aDc);_.add=function Tc(a){throw CV(new fnc("Add not supported on this collection"));};_.addAll=function Uc(a){return Mc(this,a)};_.clear=function Vc(){Oc(this)};_.contains=function Wc(a){return Nc(this,a,false)};_.containsAll=function Xc(a){return Pc(this,a)};_.isEmpty=function Yc(){return this.size()==0};_.remove=function Zc(a){return Nc(this,a,true)};_.removeAll=function $c(a){return Qc(this,a)};
_.retainAll=function _c(a){return Rc(this,a)};_.toArray=function ad(){return this.Qd(sD(lT,bDc,1,this.size(),5,1))};_.Qd=function bd(a){var b,c,d,e;e=this.size();a.length<e&&(a=VBc(new Array(e),a));d=a;c=this.Pd();for(b=0;b<e;++b)d[b]=c.Kd();a.length>e&&(a[e]=null);return a};_.Fd=function cd(){return Sc(this)};var wT=Mkc(912);aW(932,912,cDc);_.addAtIndex=function fd(a,b){throw CV(new fnc("Add not supported on this list"));};_.add=function gd(a){this.addAtIndex(this.size(),a);return true};_.addAllAtIndex=
function hd(a,b){var c,d,e;jCc(b);c=false;for(e=b.Pd();e.Jd();){d=e.Kd();this.addAtIndex(a++,d);c=true}return c};_.clear=function jd(){this.Td(0,this.size())};_.Cd=function kd(a){return dd(this,a)};_.Ed=function ld(){return psc(this)};_.indexOf=function md(a){return ed(this,a)};_.Pd=function nd(){return new joc(this)};_.lastIndexOf=function od(a){var b;for(b=this.size()-1;b>-1;--b)if(vyc(a,this.getAtIndex(b)))return b;return-1};_.Rd=function pd(){return this.Sd(0)};_.Sd=function qd(a){return new ooc(this,
a)};_.removeAtIndex=function rd(a){throw CV(new fnc("Remove not supported on this list"));};_.Td=function sd(a,b){var c,d;d=this.Sd(a);for(c=a;c<b;++c){d.Kd();d.Ld()}};_.setAtIndex=function td(a,b){throw CV(new fnc("Set not supported on this list"));};_.subList=function ud(a,b){return new uoc(this,a,b)};var DT=Mkc(932);aW(403,932,cDc,vd);_.getAtIndex=function wd(a){switch(a){case 0:return this.a;case 1:return this.c;default:return this.b[a-2]}};_.size=function xd(){return this.b.length+2};var GE=
Mkc(403);aW(227,1,{},Cd);_.Fd=function Dd(){return Bd(this)};_.d=false;var JE=Mkc(227);aW(401,1,{},Ed);var IE=Mkc(401);aW(913,1,{});var LE=Mkc(913);aW(14,1,{3:1,22:1,14:1});_.Ud=function me(a){return this.f-a.f};_.compareTo=function le(a){return this.f-a.f};_.equals=function oe(a){return this===a};_.Cd=function(a){return this.equals(a)};_.hashCode=function pe(){return uCc(this)};_.Ed=function(){return this.hashCode()};_.name=function qe(){return this.e!=null?this.e:""+this.f};_.ordinal=function re(){return this.f};
_.toString=function se(){return je(this)};_.Fd=function(){return this.toString()};_.f=0;var ZS=Mkc(14);aW(134,14,hDc);var ue,ve,we,xe;var RE=Nkc(134,ZS,Ae);aW(860,134,hDc,Be);_.Md=function Ce(a){return true};_.toString=function De(){return"Predicates.alwaysTrue()"};var NE=Nkc(860,RE,null);aW(861,134,hDc,Ee);_.Md=function Fe(a){return false};_.toString=function Ge(){return"Predicates.alwaysFalse()"};var OE=Nkc(861,RE,null);aW(862,134,hDc,He);_.Md=function Ie(a){return!a};_.toString=function Je(){return"Predicates.isNull()"};
var PE=Nkc(862,RE,null);aW(863,134,hDc,Ke);_.Md=function Le(a){return!!a};_.toString=function Me(){return"Predicates.notNull()"};var QE=Nkc(863,RE,null);aW(252,916,{252:1,3:1},Ne);_.Cd=function Oe(a){var b;if(iE(a,252)){b=a;return wb(this.a,b.a)}return false};_.Gd=function Pe(){return this.a};_.Ed=function Qe(){return 1502476572+Ab(this.a)};_.Hd=function Re(){return true};_.Id=function Se(a){Ud(a,VCc);return this.a};_.Fd=function Te(){return"Optional.of("+this.a+")"};var SE=Mkc(252);aW(229,1,{},$e,
_e);_.a=0;_.b=false;var XE=Mkc(229);aW(709,1,{},cf);var UE=Mkc(709);aW(710,593,WCc);_.b=0;_.c=0;_.d=false;var WE=Mkc(710);aW(711,710,WCc,ff);var TE=Mkc(711);aW(712,1,iDc,hf);_.Pd=function jf(){return gf(this)};_.Fd=function kf(){return Pmc(Gc(new Kc($Cc),Pmc(new $mc,91),Ye(this.a,this.b)),93).a};var VE=Mkc(712);aW(367,1,{213:1,367:1,3:1},mf);_.Gd=function nf(){var a;if(!this.b)if(!this.b){a=this.a.Gd();this.c=a;this.b=true;return a}return this.c};_.Fd=function of(){return jDc+this.a+")"};_.b=false;
var YE=Mkc(367);aW(368,1,{213:1,368:1},pf);_.Gd=function qf(){var a;if(!this.b)if(!this.b){a=this.a.Gd();this.c=a;this.b=true;this.a=null;return a}return this.c};_.Fd=function rf(){return jDc+this.a+")"};_.b=false;var ZE=Mkc(368);aW(935,1,{});_.Fd=function tf(){return fW(this.Vd())};var XF=Mkc(935);aW(954,935,kDc);_.Vd=function Af(){return this.Wd()};_.getOrDefault=function Ef(a,b){var c;return c=this.Wd().get(a),c==null&&!this.Wd().containsKey(a)?b:c};_.putIfAbsent=function Kf(a,b){var c;return c=
this.Wd().get(a),c!=null?c:this.put(a,b)};_.replace=function Mf(a,b){return this.Wd().containsKey(a)?this.put(a,b):null};_.clear=function xf(){this.Wd().clear()};_.containsKey=function yf(a){return uf(this,a)};_.containsValue=function zf(a){return this.Wd().containsValue(a)};_.Xd=function Bf(){return this.Wd().Xd()};_.Cd=function Cf(a){return a===this||this.Wd().Cd(a)};_.get=function Df(a){return vf(this,a)};_.Ed=function Ff(){return this.Wd().Ed()};_.isEmpty=function Gf(){return this.Wd().isEmpty()};
_.keySet=function Hf(){return this.Wd().keySet()};_.put=function If(a,b){return wf(this,a,b)};_.putAll=function Jf(a){zi(this.Wd(),a)};_.remove=function Lf(a){return this.Wd().remove(a)};_.size=function Nf(){return this.Wd().size()};_.values=function Of(){return this.Wd().values()};var WF=Mkc(954);aW(452,954,mDc);_.values=function jg(){var a;return a=this.f,!a?this.f=new mh(this):a};_.Yd=function Zf(a){return a};_.Zd=function $f(a){return a};_.clear=function _f(){Pf(this)};_.containsValue=function ag(a){return Qf(this,
a)};_.Wd=function bg(){return this.b};_.Xd=function cg(){return Rf(this)};_.$d=function dg(){var a;a=this.b.Xd().Pd();return new lg(this,a)};_.keySet=function eg(){return Sf(this)};_._d=function fg(a){return new bh(a,this)};_.put=function gg(a,b){return Tf(this,a,b,false)};_.putAll=function hg(a){var b,c;for(c=a.Xd().Pd();c.Jd();){b=c.Kd();this.put(b.ce(),b.de())}};_.remove=function ig(a){return Uf(this,a)};_.ae=function kg(){var a;return a=this.f,!a?this.f=new mh(this):a};var eF=Mkc(452);aW(786,
1,WCc,lg);_.Kd=function ng(){return this.a=this.c.Kd(),new xg(this.b,this.a)};_.Jd=function mg(){return this.c.Jd()};_.Ld=function og(){var a;$d(!!this.a,nDc);a=this.a.de();this.c.Ld();Wf(this.b,a)};var $E=Mkc(786);var RU=Okc();aW(961,935,oDc);_.Vd=function rg(){return this.be()};_.Cd=function sg(a){return this.be().Cd(a)};_.ce=function tg(){return this.be().ce()};_.de=function ug(){return this.be().de()};_.Ed=function vg(){return this.be().Ed()};_.ee=function wg(a){return pg(this,a)};var VF=Mkc(961);
aW(784,961,oDc,xg);_.be=function yg(){return this.a};_.ee=function zg(a){var b;this.b.Zd(a);$d(Rg(Rf(this.b),this),pDc);if(Fd(a,this.a.de()))return a;Pd(!Qf(this.b,a),lDc,a);b=this.a.ee(a);$d(Fd(a,vf(this.b,this.a.ce())),pDc);Xf(this.b,this.a.ce(),b,a);return b};var _E=Mkc(784);aW(936,935,aDc);_.Vd=function Fg(){return this.fe()};_.add=function Ag(a){return this.fe().add(a)};_.addAll=function Bg(a){return this.fe().addAll(a)};_.clear=function Cg(){this.fe().clear()};_.contains=function Dg(a){return this.fe().contains(a)};
_.containsAll=function Eg(a){return this.fe().containsAll(a)};_.isEmpty=function Gg(){return this.fe().isEmpty()};_.Pd=function Hg(){return this.fe().Pd()};_.remove=function Ig(a){return this.fe().remove(a)};_.removeAll=function Jg(a){return this.fe().removeAll(a)};_.retainAll=function Kg(a){return this.fe().retainAll(a)};_.size=function Lg(){return this.fe().size()};_.toArray=function Mg(){return this.fe().toArray()};_.Qd=function Ng(a){return this.fe().Qd(a)};var PF=Mkc(936);aW(937,936,qDc);_.fe=
function Og(){return this.ge()};_.Cd=function Pg(a){return a===this||wb(this.ge(),a)};_.Ed=function Qg(){return Ab(this.ge())};var YF=Mkc(937);aW(785,937,qDc,Sg);_.clear=function Tg(){Pf(this.b)};_.contains=function Ug(a){return Rg(this,a)};_.containsAll=function Vg(a){return ym(this,a)};_.ge=function Wg(){return this.a};_.Pd=function Xg(){return this.b.$d()};_.remove=function Yg(a){var b;if(!this.a.contains(a))return false;b=a;this.b.d.b.remove(b.de());this.a.remove(b);return true};_.removeAll=function Zg(a){return by(this,
Td(a))};_.retainAll=function $g(a){return Rs(this.b.$d(),a)};_.toArray=function _g(){var a;return a=sD(lT,bDc,1,this.a.size(),5,1),Qx(this,a)};_.Qd=function ah(a){return Qx(this,a)};var aF=Mkc(785);aW(453,452,mDc,bh);_.Yd=function dh(a){return this.d.Zd(a)};_.Zd=function eh(a){return this.d.Yd(a)};var bF=Mkc(453);aW(783,937,qDc,fh);_.clear=function gh(){Pf(this.a)};_.ge=function hh(){return new Boc(this.a.b)};_.Pd=function ih(){return Ts(Rf(this.a).b.$d(),(qw(),ow))};_.remove=function jh(a){if(!Aoc(new Boc(this.a.b),
a))return false;Vf(this.a,a);return true};_.removeAll=function kh(a){return by(this,Td(a))};_.retainAll=function lh(a){return Rs(Ts(Rf(this.a).b.$d(),(qw(),ow)),a)};var cF=Mkc(783);aW(454,937,qDc,mh);_.ge=function nh(){return this.b};_.Pd=function oh(){return Ts(Rf(this.a).b.$d(),(qw(),pw))};_.toArray=function ph(){var a;return a=sD(lT,bDc,1,(new Boc(this.b.a.b)).a.size(),5,1),Qx(this,a)};_.Qd=function qh(a){return Qx(this,a)};_.Fd=function rh(){return Bm(this)};var dF=Mkc(454);aW(110,1,rDc);_.Ld=
function th(){sh()};var sI=Mkc(110);aW(930,110,sDc);_.Ld=function vh(){sh()};_.he=function uh(a){throw CV(new enc);};_.ke=function wh(a){throw CV(new enc);};var tI=Mkc(930);aW(604,930,sDc);_.Jd=function yh(){return this.b<this.c};_.ie=function zh(){return this.b>0};_.Kd=function Ah(){return xh(this)};_.je=function Bh(){if(this.b<=0)throw CV(new uyc);return this.le(--this.b)};_.b=0;_.c=0;var fF=Mkc(604);aW(398,110,rDc);_.Jd=function Fh(){return Ch(this)};_.Kd=function Gh(){return Dh(this)};_.f=1;var gF=
Mkc(398);aW(956,1,{101:1});_.ne=function Kh(){var a;return a=this.f,!a?this.f=this.qe():a};_.re=function Lh(){return new Ij(this.ne())};_.Cd=function Mh(a){return Zw(this,a)};_.Ed=function Nh(){return Ab(this.ne())};_.te=function Oh(){return this.ye()==0};_.ue=function Ph(){return Ih(this)};_.ve=function Qh(a,b){return this.se(a).add(b)};_.we=function Rh(a,b){var c;return c=this.ne().get(a),!!c&&c.remove(b)};_.Fd=function Sh(){return fW(this.ne())};var BF=Mkc(956);aW(441,956,tDc);_.oe=function ai(){Th(this)};
_.pe=function bi(a){return Uh(this,a)};_.qe=function ci(){return new aj(this,this.c)};_.Ae=function di(a){return this.ze()};_.re=function ei(){return new Pj(this,this.c)};_.Be=function fi(){return li(this.ze())};_.se=function gi(a){return Vh(this,a)};_.ve=function ii(a,b){return Wh(this,a,b)};_.xe=function ji(a){return Xh(this,a)};_.ye=function ki(){return this.d};_.d=0;var vF=Mkc(441);aW(442,441,tDc);_.ze=function oi(){return this.Ce()};_.Be=function pi(){return Sn(),Sn(),Rn};_.se=function ri(a){return Vh(this,
a)};_.xe=function ui(a){return Xh(this,a)};_.ne=function ni(){var a;return a=this.f,!a?this.f=new aj(this,this.c):a};_.Cd=function qi(a){return Zw(this,a)};_.De=function si(a){return Vh(this,a)};_.ve=function ti(a,b){return Wh(this,a,b)};_.Ee=function vi(a){return Xh(this,a)};var hF=Mkc(442);aW(931,1,kDc);_.getOrDefault=function Ji(a,b){var c;return c=this.get(a),c==null&&!this.containsKey(a)?b:c};_.putIfAbsent=function Pi(a,b){var c;return c=this.get(a),c!=null?c:this.put(a,b)};_.replace=function Ri(a,
b){return this.containsKey(a)?this.put(a,b):null};_.clear=function Ci(){this.Xd().clear()};_.Fe=function Di(a){return wi(this,a)};_.containsKey=function Ei(a){return!!yi(this,a,false)};_.containsValue=function Fi(a){var b,c,d;for(c=this.Xd().Pd();c.Jd();){b=c.Kd();d=b.de();if(oE(a)===oE(d)||a!=null&&wb(a,d))return true}return false};_.Cd=function Gi(a){return xi(this,a)};_.get=function Hi(a){return Ii(yi(this,a,false))};_.Ed=function Ki(){return osc(this.Xd())};_.isEmpty=function Li(){return this.size()==
0};_.keySet=function Mi(){return new Boc(this)};_.put=function Ni(a,b){throw CV(new fnc("Put not supported on this map"));};_.putAll=function Oi(a){zi(this,a)};_.remove=function Qi(a){return Ii(yi(this,a,true))};_.size=function Si(){return this.Xd().size()};_.Fd=function Ti(){return Ai(this)};_.values=function Ui(){return new Loc(this)};var LT=Mkc(931);aW(957,931,kDc);_.Xd=function Wi(){return Vi(this)};_.keySet=function Xi(){var a;a=this.d;return!a?this.d=new Ij(this):a};_.values=function Yi(){var a;
a=this.e;return!a?this.e=new Cw(this):a};var tH=Mkc(957);aW(194,957,kDc,aj);_.get=function fj(a){return Zi(this,a)};_.remove=function ij(a){return $i(this,a)};_.clear=function bj(){this.a==this.b.c?this.b.oe():Js(new Ej(this))};_.containsKey=function cj(a){return fw(this.a,a)};_.He=function dj(){return new zj(this)};_.Ge=function(){return this.He()};_.Cd=function ej(a){return this===a||xi(this.a,a)};_.Ed=function gj(){return osc(this.a.Xd())};_.keySet=function hj(){return this.b.ue()};_.size=function jj(){return this.a.size()};
_.Fd=function kj(){return Ai(this.a)};var kF=Mkc(194);aW(911,912,qDc);_.Cd=function mj(a){return lj(this,a)};_.Ed=function nj(){return osc(this)};_.removeAll=function oj(a){var b,c,d,e;jCc(a);e=this.size();if(e<a.size())for(b=this.Pd();b.Jd();){c=b.Kd();a.contains(c)&&b.Ld()}else for(d=a.Pd();d.Jd();){c=d.Kd();this.remove(c)}return e!=this.size()};var TT=Mkc(911);aW(942,911,qDc);_.removeAll=function pj(a){return by(this,a)};_.retainAll=function qj(a){return Rc(this,Td(a))};var _H=Mkc(942);aW(943,
942,qDc);_.clear=function sj(){this.Ie().clear()};_.contains=function tj(a){return rj(this,a)};_.isEmpty=function uj(){return this.Ie().isEmpty()};_.remove=function vj(a){var b;if(this.contains(a)){b=a;return this.Ie().keySet().remove(b.ce())}return false};_.removeAll=function wj(b){try{return by(this,Td(b))}catch(a){a=BV(a);if(iE(a,20))return cy(this,b.Pd());else throw CV(a);}};_.retainAll=function xj(b){var c,d,e,f;try{return Rc(this,Td(Td(b)))}catch(a){a=BV(a);if(iE(a,20)){d=new Gwc(bw(b.size()));
for(f=b.Pd();f.Jd();){e=f.Kd();if(this.contains(e)){c=e;Cwc(d,c.ce())}}return this.Ie().keySet().retainAll(d)}else throw CV(a);}};_.size=function yj(){return this.Ie().size()};var oH=Mkc(943);aW(751,943,qDc,zj);_.contains=function Aj(a){return zm(this.a.a.Xd(),a)};_.Pd=function Bj(){return new Ej(this.a)};_.Ie=function Cj(){return this.a};_.remove=function Dj(a){var b;if(!zm(this.a.a.Xd(),a))return false;b=a;Yh(this.a.b,b.ce());return true};var iF=Mkc(751);aW(449,1,WCc,Ej);_.Kd=function Gj(){var a;
return a=this.b.Kd(),this.a=a.de(),_i(this.c,a)};_.Jd=function Fj(){return this.b.Jd()};_.Ld=function Hj(){this.b.Ld();this.c.b.d-=this.a.size();this.a.clear()};var jF=Mkc(449);aW(303,942,qDc,Ij);_.clear=function Jj(){this.b.clear()};_.contains=function Kj(a){return this.b.containsKey(a)};_.isEmpty=function Lj(){return this.b.isEmpty()};_.Pd=function Mj(){return Ts(this.b.Xd().Pd(),(qw(),ow))};_.remove=function Nj(a){if(this.b.containsKey(a)){this.b.remove(a);return true}return false};_.size=function Oj(){return this.b.size()};
var rH=Mkc(303);aW(448,303,qDc,Pj);_.clear=function Qj(){var a;Js((a=this.b.Xd().Pd(),new Wj(this,a)))};_.containsAll=function Rj(a){return this.b.keySet().containsAll(a)};_.Cd=function Sj(a){return this===a||wb(this.b.keySet(),a)};_.Ed=function Tj(){return Ab(this.b.keySet())};_.Pd=function Uj(){var a;return a=this.b.Xd().Pd(),new Wj(this,a)};_.remove=function Vj(a){var b,c;c=0;b=this.b.remove(a);if(b){c=b.size();b.clear();this.a.d-=c}return c>0};var mF=Mkc(448);aW(450,1,WCc,Wj);_.Jd=function Xj(){return this.c.Jd()};
_.Kd=function Yj(){this.a=this.c.Kd();return this.a.ce()};_.Ld=function Zj(){var a;$d(!!this.a,nDc);a=this.a.de();this.c.Ld();this.b.a.d-=a.size();a.clear()};var lF=Mkc(450);aW(232,912,aDc,ck);_.add=function dk(a){var b,c;_j(this);c=this.d.isEmpty();b=this.d.add(a);if(b){++this.f.d;c&&$j(this)}return b};_.addAll=function ek(a){var b,c,d;if(a.isEmpty())return false;d=(_j(this),this.d.size());b=this.d.addAll(a);if(b){c=this.d.size();this.f.d+=c-d;d==0&&$j(this)}return b};_.clear=function fk(){var a;
a=(_j(this),this.d.size());if(a==0)return;this.d.clear();this.f.d-=a;ak(this)};_.contains=function gk(a){_j(this);return this.d.contains(a)};_.containsAll=function hk(a){_j(this);return this.d.containsAll(a)};_.Cd=function ik(a){if(a===this)return true;_j(this);return wb(this.d,a)};_.Ed=function jk(){_j(this);return Ab(this.d)};_.Pd=function kk(){_j(this);return new Fk(this)};_.remove=function lk(a){var b;_j(this);b=this.d.remove(a);if(b){--this.f.d;ak(this)}return b};_.removeAll=function mk(a){var b,
c,d;if(a.isEmpty())return false;d=(_j(this),this.d.size());b=this.d.removeAll(a);if(b){c=this.d.size();this.f.d+=c-d;ak(this)}return b};_.retainAll=function nk(a){var b,c,d;Td(a);d=(_j(this),this.d.size());b=this.d.retainAll(a);if(b){c=this.d.size();this.f.d+=c-d;ak(this)}return b};_.size=function ok(){return bk(this)};_.Fd=function pk(){_j(this);return fW(this.d)};var pF=Mkc(232);aW(446,232,cDc,qk);_.addAtIndex=function rk(a,b){var c;_j(this);c=this.d.isEmpty();this.d.addAtIndex(a,b);++this.a.d;
c&&$j(this)};_.addAllAtIndex=function sk(a,b){var c,d,e;if(b.isEmpty())return false;e=(_j(this),this.d.size());c=this.d.addAllAtIndex(a,b);if(c){d=this.d.size();this.a.d+=d-e;e==0&&$j(this)}return c};_.getAtIndex=function tk(a){_j(this);return this.d.getAtIndex(a)};_.indexOf=function uk(a){_j(this);return this.d.indexOf(a)};_.lastIndexOf=function vk(a){_j(this);return this.d.lastIndexOf(a)};_.Rd=function wk(){_j(this);return new Kk(this)};_.Sd=function xk(a){_j(this);return new Lk(this,a)};_.removeAtIndex=
function yk(a){var b;_j(this);b=this.d.removeAtIndex(a);--this.a.d;ak(this);return b};_.setAtIndex=function zk(a,b){_j(this);return this.d.setAtIndex(a,b)};_.subList=function Ak(a,b){_j(this);return $h(this.a,this.e,this.d.subList(a,b),!this.b?this:this.b)};var rF=Mkc(446);aW(750,446,uDc,Bk);var nF=Mkc(750);aW(332,1,WCc,Fk);_.Jd=function Hk(){Ek(this);return this.b.Jd()};_.Kd=function Ik(){Ek(this);return this.b.Kd()};_.Ld=function Jk(){Dk(this)};var oF=Mkc(332);aW(447,332,vDc,Kk,Lk);_.Ld=function Pk(){Dk(this)};
_.he=function Mk(a){var b;b=bk(this.a)==0;(Ek(this),this.b).he(a);++this.a.a.d;b&&$j(this.a)};_.ie=function Nk(){return(Ek(this),this.b).ie()};_.je=function Ok(){return(Ek(this),this.b).je()};_.ke=function Qk(a){(Ek(this),this.b).ke(a)};var qF=Mkc(447);aW(333,232,wDc,Rk);var uF=Mkc(333);aW(445,333,xDc,Sk);var sF=Mkc(445);aW(444,232,qDc,Tk);_.removeAll=function Uk(a){var b,c,d;if(a.isEmpty())return false;d=(_j(this),this.d.size());b=by(this.d,a);if(b){c=this.d.size();this.a.d+=c-d;ak(this)}return b};
var tF=Mkc(444);aW(963,912,{372:1,15:1,17:1});_.add=function Yk(a){return kl(this,a,1),true};_.addAll=function Zk(a){return tx(this,a)};_.clear=function $k(){var a;Js((a=this.a.Xd().Pd(),new vl(this,a)))};_.contains=function _k(a){var b;return b=gw(this.a,a),(!b?0:b.a)>0};_.Je=function al(){return Vk(this)};_.Cd=function bl(a){return ux(this,a)};_.Ed=function cl(){return Ab(Wk(this))};_.isEmpty=function dl(){return Wk(this).isEmpty()};_.Pd=function el(){return new zx(this,Wk(this).Pd())};_.remove=
function fl(a){return ol(this,a,1)>0};_.removeAll=function gl(a){return Xk(this,a)};_.retainAll=function hl(a){var b;return Td(a),b=iE(a,372)?a.Je():a,this.Je().retainAll(b)};_.size=function il(){return wx(this)};_.Fd=function jl(){return fW(Wk(this))};var EF=Mkc(963);aW(874,963,{372:1,3:1,15:1,17:1});_.clear=function rl(){ll(this)};_.Pd=function tl(){return new El(this)};_.size=function ul(){return MA(this.b)};_.b=0;var zF=Mkc(874);aW(540,1,WCc,vl);_.Kd=function xl(){var a;return a=this.c.Kd(),this.b=
a,new Dl(this,a)};_.Jd=function wl(){return this.c.Jd()};_.Ld=function yl(){$d(!!this.b,nDc);this.a.b=PV(this.a.b,Qm(this.b.de(),0));this.c.Ld();this.b=null};var xF=Mkc(540);aW(960,1,{978:1});_.Cd=function zl(a){var b;if(iE(a,248)){b=a;return Cl(this)==Cl(b)&&Fd(this.b.ce(),b.b.ce())}return false};_.Ed=function Al(){var a;a=this.b.ce();return(a==null?0:Ab(a))^Cl(this)};_.Fd=function Bl(){var a,b;b=Lmc(this.b.ce());a=Cl(this);return a==1?b:b+" x "+a};var JH=Mkc(960);aW(248,960,{248:1,978:1},Dl);var wF=
Mkc(248);aW(875,1,WCc,El);_.Jd=function Fl(){return this.d>0||this.c.Jd()};_.Kd=function Gl(){if(this.d==0){this.b=this.c.Kd();this.d=this.b.de().a}--this.d;this.a=true;return this.b.ce()};_.Ld=function Hl(){var a;$d(this.a,nDc);a=this.b.de().a;if(a<=0)throw CV(new svc);(this.b.de().a+=-1)==0&&this.c.Ld();this.e.b=PV(this.e.b,1);this.a=false};_.a=false;_.d=0;var yF=Mkc(875);aW(166,1,zDc);_.Cd=function Il(a){var b;if(iE(a,48)){b=a;return Fd(this.ce(),b.ce())&&Fd(this.de(),b.de())}return false};_.Ed=
function Jl(){var a,b;a=this.ce();b=this.de();return(a==null?0:Ab(a))^(b==null?0:Ab(b))};_.ee=function Kl(a){throw CV(new enc);};_.Fd=function Ll(){return this.ce()+"="+this.de()};var AF=Mkc(166);aW(958,942,qDc);_.clear=function Ml(){ll(this.a)};_.contains=function Nl(a){return ml(this.a,a)>0};_.containsAll=function Ol(a){return Pc(this.a,a)};_.isEmpty=function Pl(){return Wk(this.a).isEmpty()};_.Pd=function Ql(){return new xx(Wk(this.a).Pd())};_.remove=function Rl(a){return ol(this.a,a,ICc)>0};_.size=
function Sl(){return Wk(this.a).size()};var LH=Mkc(958);aW(752,958,qDc,Tl);var CF=Mkc(752);aW(959,942,qDc);_.clear=function Ul(){ll(this.a)};_.contains=function Vl(a){var b,c;if(iE(a,248)){c=a;if(Cl(c)<=0)return false;b=ml(this.a,c.b.ce());return b==Cl(c)}return false};_.remove=function Wl(a){var b,c,d,e;if(iE(a,248)){c=a;b=c.b.ce();d=Cl(c);if(d!=0){e=this.a;return vx(e,b,d,0)}}return false};var MH=Mkc(959);aW(753,959,qDc,Xl);_.Pd=function Yl(){return nl(this.a)};_.size=function Zl(){return this.a.a.size()};
var DF=Mkc(753);aW(331,441,tDc);_.ze=function am(){return this.Ke()};_.Be=function bm(){return vn(),Wx(),Vx};_.se=function dm(a){return Vh(this,a)};_.xe=function gm(a){return Xh(this,a)};_.ne=function _l(){var a;return a=this.f,!a?this.f=new aj(this,this.c):a};_.Cd=function cm(a){return Zw(this,a)};_.Le=function em(a){return Vh(this,a)};_.ve=function fm(a,b){return Wh(this,a,b)};_.Me=function hm(a){return Xh(this,a)};var FF=Mkc(331);aW(964,1,{552:1});_.Oe=function im(){var a;return a=this.d,!a?this.d=
new nm(this):a};_.oe=function jm(){Js(this.Oe().a.Ne())};_.Cd=function km(a){return Ez(this,a)};_.Ed=function lm(){return osc(this.Oe())};_.Fd=function mm(){return Ai(this.Pe())};var HF=Mkc(964);aW(543,911,qDc,nm);_.clear=function om(){this.a.oe()};_.contains=function pm(a){var b,c;if(iE(a,250)){b=a;c=gw(this.a.Pe(),b.b);return!!c&&zm(c.Xd(),new Pq(b.a,b.c))}return false};_.Pd=function qm(){return this.a.Ne()};_.remove=function rm(a){var b,c;if(iE(a,250)){b=a;c=gw(this.a.Pe(),b.b);return!!c&&Am(c.Xd(),
new Pq(b.a,b.c))}return false};_.size=function sm(){return this.a.ye()};var GF=Mkc(543);aW(826,442,tDc);var IF=Mkc(826);aW(532,826,tDc,um);_.Ce=function vm(){return new Mqc(this.a)};_.a=0;var JF=Mkc(532);aW(631,912,aDc,Dm);_.clear=function Em(){this.a.clear()};_.isEmpty=function Fm(){return this.a.isEmpty()};_.Pd=function Gm(){return Cm(this)};_.size=function Hm(){return this.a.size()};var KF=Mkc(631);aW(228,1,{228:1,127:1});_.Cd=function Im(a){return this===a};_.Se=function Km(){return new lvc(this)};
_.Re=function Jm(){return new Jx(this)};var QH=Mkc(228);aW(317,228,{317:1,228:1,3:1,127:1},Lm);_.Qe=function Mm(a,b){return this.a.Qe(a,b)};_.Cd=function Nm(a){var b;if(a===this)return true;if(iE(a,317)){b=a;return this.a.Cd(b.a)}return false};_.Ed=function Om(){return Ab(this.a)};_.Fd=function Pm(){return fW(this.a)};var LF=Mkc(317);aW(288,1,{288:1,3:1},Rm);_.Cd=function Sm(a){return iE(a,288)&&a.a==this.a};_.Ed=function Tm(){return this.a};_.Fd=function Um(){return""+this.a};_.a=0;var MF=Mkc(288);
aW(897,956,tDc);_.ne=function Vm(){return this.a};_.se=function Zm(a){return this.Te(a)};_.ue=function $m(){return this.a.cf()};_.xe=function cn(a){return this.Ue(a)};_.oe=function Wm(){throw CV(new enc);};_.pe=function Xm(a){return jp(this.a,a)};_.qe=function Ym(){throw CV(new dkc("should never be called"));};_.ve=function _m(a,b){throw CV(new enc);};_.we=function an(a,b){throw CV(new enc);};_.Ue=function bn(a){throw CV(new enc);};_.ye=function dn(){return this.b};_.b=0;var AG=Mkc(897);aW(548,897,
tDc,gn);_.ne=function hn(){return this.a};_.Cd=function kn(a){return Zw(this,a)};_.Te=function ln(a){return en(this,a)};_.se=function mn(a){var b;return b=kp(this.a,a),!b?(Sn(),Sn(),Rn):b};_.De=function nn(a){var b;return b=kp(this.a,a),!b?(Sn(),Sn(),Rn):b};_.Ue=function on(a){return fn()};_.xe=function pn(a){return fn()};_.Ee=function qn(a){return fn()};var qG=Mkc(548);aW(901,548,tDc,tn);var rn;var NF=Mkc(901);aW(685,1,iDc);_.Fd=function un(){return Ss(this.c.Id(this).Pd())};var OF=Mkc(685);aW(69,
912,ADc);_.Pd=function Dn(){return this.Xe()};_.add=function xn(a){throw CV(new enc);};_.addAll=function yn(a){throw CV(new enc);};_.Ve=function zn(){return wn(this)};_.clear=function An(){throw CV(new enc);};_.contains=function Bn(a){return a!=null&&Nc(this,a,false)};_.We=function Cn(){switch(this.size()){case 0:return Sn(),Sn(),Rn;case 1:return Sn(),new My(Td(this.Xe().Kd()));default:return new Ur(this,this.toArray())}};_.remove=function En(a){throw CV(new enc);};_.removeAll=function Fn(a){throw CV(new enc);
};_.retainAll=function Gn(a){throw CV(new enc);};var kG=Mkc(69);aW(397,69,ADc,Hn);_.Pd=function Mn(){return Us(this.a.Pd())};_.contains=function In(a){return a!=null&&this.a.contains(a)};_.containsAll=function Jn(a){return this.a.containsAll(a)};_.isEmpty=function Kn(){return this.a.isEmpty()};_.Xe=function Ln(){return Us(this.a.Pd())};_.size=function Nn(){return this.a.size()};_.toArray=function On(){return this.a.toArray()};_.Qd=function Pn(a){return this.a.Qd(a)};_.Fd=function Qn(){return fW(this.a)};
var QF=Mkc(397);aW(113,69,BDc);_.Pd=function eo(){return this.Xe()};_.Rd=function go(){return this.Ye(0)};_.Sd=function io(a){return this.Ye(a)};_.subList=function no(a,b){return this.Ze(a,b)};_.addAtIndex=function Vn(a,b){throw CV(new enc);};_.addAllAtIndex=function Wn(a,b){throw CV(new enc);};_.Ve=function Xn(){return this};_.Cd=function _n(a){return Ou(this,a)};_.Ed=function ao(){return Pu(this)};_.indexOf=function bo(a){return a==null?-1:Qu(this,a)};_.Xe=function co(){return this.Ye(0)};_.lastIndexOf=
function fo(a){return a==null?-1:Ru(this,a)};_.Ye=function ho(a){return Tn(this,a)};_.removeAtIndex=function ko(a){throw CV(new enc);};_.setAtIndex=function lo(a,b){throw CV(new enc);};_.Ze=function mo(a,b){var c;return oo((c=new av(this),new uoc(c,a,b)))};var Rn;var rG=Mkc(113);aW(934,113,BDc);_.Pd=function zo(){return Us(this.$e().Pd())};_.subList=function Do(a,b){return oo(this.$e().subList(a,b))};_.contains=function ro(a){return po(this,a)};_.containsAll=function so(a){return this.$e().containsAll(a)};
_.Cd=function to(a){return wb(this.$e(),a)};_.getAtIndex=function uo(a){return qo(this,a)};_.Ed=function vo(){return Ab(this.$e())};_.indexOf=function wo(a){return this.$e().indexOf(a)};_.isEmpty=function xo(){return this.$e().isEmpty()};_.Xe=function yo(){return Us(this.$e().Pd())};_.lastIndexOf=function Ao(a){return this.$e().lastIndexOf(a)};_.size=function Bo(){return this.$e().size()};_.Ze=function Co(a,b){return oo(this.$e().subList(a,b))};_.toArray=function Eo(){return this.$e().Qd(sD(lT,bDc,
1,this.$e().size(),5,1))};_.Qd=function Fo(a){return this.$e().Qd(a)};_.Fd=function Go(){return fW(this.$e())};var RF=Mkc(934);aW(133,1,DDc);_.Xd=function Uo(){return Jo(this)};_.getOrDefault=function Xo(a,b){var c;return c=this.get(a),c==null&&!this.containsKey(a)?b:c};_.keySet=function _o(){return this.cf()};_.putIfAbsent=function dp(a,b){var c;return c=this.get(a),c!=null?c:this.put(a,b)};_.replace=function fp(a,b){return this.containsKey(a)?this.put(a,b):null};_.values=function ip(){return this.df()};
_.clear=function No(){throw CV(new enc);};_.containsKey=function Oo(a){return this.get(a)!=null};_.containsValue=function Po(a){return this.df().contains(a)};_.af=function Ro(){return new qr(this)};_.bf=function So(){return new vr(this)};_.Cd=function Vo(a){return dw(this,a)};_.Ed=function Yo(){return Jo(this).Ed()};_.isEmpty=function Zo(){return this.size()==0};_.cf=function $o(){return Ko(this)};_.put=function bp(a,b){return Lo()};_.putAll=function cp(a){Mo()};_.remove=function ep(a){throw CV(new enc);
};_.Fd=function gp(){return iw(this)};_.df=function hp(){if(this.g)return this.g;return this.g=this.bf()};_.e=null;_.f=null;_.g=null;var Ho;var yG=Mkc(133);aW(226,133,DDc);_.containsKey=function np(a){return jp(this,a)};_.containsValue=function op(a){return Ytc(this.d,a)};_._e=function pp(){return Kp(new yp(this))};_.af=function qp(){return Kp(_tc(this.d))};_.bf=function rp(){return vn(),new Hn(buc(this.d))};_.Cd=function sp(a){return $tc(this.d,a)};_.get=function tp(a){return kp(this,a)};_.Ed=function up(){return Ab(this.d.d)};
_.isEmpty=function vp(){return this.d.d.isEmpty()};_.size=function wp(){return this.d.d.size()};_.Fd=function xp(){return fW(this.d.d)};var TF=Mkc(226);aW(632,937,qDc,yp);_.contains=function zp(a){if(iE(a,48)&&a.ce()==null)return false;return yuc(Ztc(this.a.d),a)};_.ge=function Ap(){return Ztc(this.a.d)};_.Qd=function Bp(a){var b;b=zuc(Ztc(this.a.d),a);Ztc(this.a.d).b.size()<b.length&&(b[Ztc(this.a.d).b.size()]=null);return b};var SF=Mkc(632);aW(104,69,EDc);_.Pd=function Ip(){return this.Xe()};_.Cd=
function Gp(a){return _x(this,a)};_.Ed=function Hp(){return ay(this)};var EG=Mkc(104);aW(312,104,EDc);_.Pd=function Rp(){return this.Xe()};_.contains=function Mp(a){return a!=null&&htc(this.b,a)};_.containsAll=function Np(a){return itc(this.b,a)};_.Ed=function Op(){return Ab(this.b.b)};_.isEmpty=function Pp(){return this.b.b.isEmpty()};_.Xe=function Qp(){return Us(new Atc(this.b.b.Pd()))};_.size=function Sp(){return this.b.b.size()};_.toArray=function Tp(){return this.b.b.toArray()};_.Qd=function Up(a){return jtc(this.b,
a)};_.Fd=function Vp(){return fW(this.b.b)};var UF=Mkc(312);aW(938,937,wDc);_.ge=function Wp(){return this.a};var ZF=Mkc(938);aW(879,964,FDc);_.Ne=function Zp(){return new Vy(this)};_.Oe=function $p(){var a;return a=this.d,!a?this.d=new nm(this):a};_.oe=function _p(){Bxc(this.a)};_.ef=function aq(a){return a!=null&&fw(this.a,a)};_.Pe=function bq(){var a;return a=this.c,!a?this.c=new oz(this):a};_.ye=function cq(){var a,b,c,d,e;e=0;for(c=(d=(new Loc(this.a)).a.Xd().Pd(),new Qoc(d));c.a.Jd();){b=(a=
c.a.Kd(),a.de());e+=b.size()}return e};var nI=Mkc(879);aW(361,879,FDc,fq);_.ef=function gq(a){return a!=null&&fw(this.a,a)};_.Cd=function hq(a){return Ez(this,a)};var _F=Mkc(361);aW(362,1,GDc,iq);_.Gd=function jq(){return new Ixc(bw(this.a))};_.a=0;var $F=Mkc(362);aW(779,452,mDc,kq);_._d=function lq(a){return new nq(this,a,this)};_.put=function mq(a,b){return Tf(this,a,b,false)};var dG=Mkc(779);aW(780,453,mDc,nq);_.$d=function oq(){return new tq(this,this.a.b.Xd().Pd())};var cG=Mkc(780);aW(187,1,
WCc);_.Jd=function qq(){return this.b.Jd()};_.Kd=function rq(){return this.ff(this.b.Kd())};_.Ld=function sq(){this.b.Ld()};var qI=Mkc(187);aW(781,187,WCc,tq);_.gf=function uq(a){return new vq(this,a)};_.ff=function(a){return this.gf(a)};var bG=Mkc(781);aW(782,166,zDc,vq);_.ce=function wq(){return this.c};_.de=function xq(){return this.a.a.b.get(this.c)};_.ee=function yq(a){var b;$d(Rg(Rf(this.a.a),this),pDc);b=this.a.a.b.get(this.c);if(oE(a)===oE(b)||a!=null&&wb(a,b))return a;Tf(this.a.a,this.c,
a,true);return b};var aG=Mkc(782);aW(876,331,tDc);var eG=Mkc(876);aW(877,876,tDc,Aq);_.Ke=function Bq(){return new Gwc(bw(this.a))};_.a=2;var fG=Mkc(877);aW(204,874,{204:1,372:1,3:1,15:1,17:1},Cq);var gG=Mkc(204);aW(933,113,BDc);_.contains=function Fq(a){return this.hf().contains(a)};_.isEmpty=function Gq(){return this.hf().isEmpty()};_.size=function Hq(){return this.hf().size()};var hG=Mkc(933);aW(426,226,DDc);_.df=function Jq(){return this.kf()};_.values=function Lq(){return this.kf()};_.ae=function Mq(){return this.kf()};
_.kf=function Kq(){return Ko(this.jf())};var iG=Mkc(426);aW(929,1,{});var jG=Mkc(929);aW(81,166,{166:1,81:1,3:1,48:1},Pq);_.ce=function Qq(){return this.g};_.de=function Rq(){return this.i};_.ee=function Sq(a){throw CV(new enc);};var lG=Mkc(81);aW(714,226,DDc,Tq);var mG=Mkc(714);aW(723,312,EDc,Vq);var nG=Mkc(723);aW(605,604,sDc,Yq);_.le=function Zq(a){return Xq(this,a)};var oG=Mkc(605);aW(42,929,{},ar);_.lf=function br(a){return Aqc(this.a,Td(a)),this};var pG=Mkc(42);aW(299,110,rDc,cr);_.Jd=function dr(){return this.a.Jd()};
_.Kd=function er(){return this.a.Kd().ce()};var sG=Mkc(299);aW(93,1,{},ir,jr);_.mf=function kr(){return Wo(this.b)};_.nf=function lr(a,b){return fr(this,a,b)};var tG=Mkc(93);aW(949,104,EDc);_.Pd=function or(){var a;return a=Jo(this.a).Xe(),new cr(a)};_.We=function mr(){return new Qr(this)};_.Xe=function nr(){var a;return(a=this.c,!a?this.c=new Qr(this):a).Xe()};var DG=Mkc(949);aW(684,949,EDc,qr);_.Pd=function tr(){var a;return a=Jo(this.a).Xe(),new cr(a)};_.contains=function rr(a){return this.a.containsKey(a)};
_.Xe=function sr(){var a;return a=Jo(this.a).Xe(),new cr(a)};_.size=function ur(){return this.a.size()};var uG=Mkc(684);aW(682,69,ADc,vr);_.Pd=function zr(){return new Br(this)};_.Ve=function wr(){var a;a=wn(Jo(this.a));return new Er(this,a)};_.contains=function xr(a){return a!=null&&Ks(new Br(this),a)};_.Xe=function yr(){return new Br(this)};_.size=function Ar(){return this.a.size()};var xG=Mkc(682);aW(316,110,rDc,Br);_.Jd=function Cr(){return this.a.Jd()};_.Kd=function Dr(){return this.a.Kd().de()};
var vG=Mkc(316);aW(683,933,BDc,Er);_.hf=function Fr(){return this.a};_.getAtIndex=function Gr(a){return this.b.getAtIndex(a).de()};var wG=Mkc(683);aW(545,1,{},Ir);var zG=Mkc(545);aW(74,929,{},Or);_.lf=function Pr(a){return Kr(this,a)};var BG=Mkc(74);aW(396,933,BDc,Qr);_.hf=function Rr(){return this.a};_.getAtIndex=function Sr(a){return pr(this.a,a)};var CG=Mkc(396);aW(307,933,BDc,Ur);_.Sd=function Yr(a){return Tn(this.b,a)};_.hf=function Vr(){return this.a};_.getAtIndex=function Wr(a){return qo(this.b,
a)};_.Ye=function Xr(a){return Tn(this.b,a)};var RH=Mkc(307);aW(828,307,BDc,Zr);_.hf=function _r(){return this.a};_.Pd=function as(){return Tn(this.b,0)};_.contains=function $r(a){return(a==null?-1:Qu(this,a))>=0};var FG=Mkc(828);aW(321,226,{133:1,321:1,3:1,44:1},cs);_.af=function es(){return ts(this.a,_tc(this.c))};_.cf=function fs(){var a;return a=this.b,!a?this.b=ts(this.a,_tc(this.c)):a};_.keySet=function gs(){var a;return a=this.b,!a?this.b=ts(this.a,_tc(this.c)):a};_.pf=function ds(){return this.a};
var HG=Mkc(321);aW(713,93,{},ls);_.mf=function ms(){return js(this)};_.nf=function ns(a,b){return Aqc(this.b,(Io(),wm(a,b),new Pq(a,b))),this};var GG=Mkc(713);aW(336,312,{69:1,104:1,336:1,3:1,15:1,17:1,31:1,125:1});_.Pd=function ws(){return Us(new Atc(this.b.b.Pd()))};_.contains=function rs(a){return a!=null&&htc(this.a,a)};_.containsAll=function ss(a){var b,c;for(c=a.Pd();c.Jd();){b=c.Kd();if(b==null)return false}return itc(this.a,a)};_.Xe=function vs(){return Us(new Atc(this.b.b.Pd()))};_.toArray=
function xs(){return Px(this,sD(lT,bDc,1,this.b.b.size(),5,1))};_.Qd=function ys(a){return Qx(this,a)};var os,ps;var IG=Mkc(336);aW(686,685,iDc,Es);_.Pd=function Fs(){return Ds(this)};var JG=Mkc(686);aW(664,110,rDc,Vs);_.Jd=function Ws(){return this.a.Jd()};_.Kd=function Xs(){return this.a.Kd()};var LG=Mkc(664);aW(412,110,rDc,Ys);_.Jd=function Zs(){return!this.a};_.Kd=function $s(){if(this.a)throw CV(new uyc);this.a=true;return this.b};_.a=false;var KG=Mkc(412);aW(665,187,WCc,at);_.ff=function bt(a){return _s(this,
a)};var MG=Mkc(665);aW(306,14,{306:1,3:1,22:1,14:1,33:1},et);_.Jd=function ft(){return false};_.Kd=function gt(){throw CV(new uyc);};_.Ld=function ht(){$d(false,nDc)};var ct;var NG=Nkc(306,ZS,it);aW(811,331,tDc);var RG=Mkc(811);aW(198,811,tDc,mt);_.oe=function nt(){kt(this)};_.Ke=function ot(){return new kyc(this.b)};_.Ae=function pt(a){return new zt(this,a,this.b)};_.ue=function qt(){return lt(this)};_.b=2;var SG=Mkc(198);aW(239,81,{166:1,81:1,239:1,979:1,3:1,48:1},tt);_.qf=function ut(){return this.f};
_.rf=function vt(a){this.c=a};_.sf=function wt(a){this.f=a};_.d=0;var OG=Mkc(239);aW(812,942,{979:1,15:1,17:1,31:1},zt);_.add=function At(a){var b,c,d,e,f;f=SV(LV(LDc,ylc(SV(LV(a==null?0:Ab(a),MDc)),15)));b=f&this.b.length-1;e=this.b[b];for(c=e;c;c=c.a)if(c.d==f&&Fd(c.i,a))return false;d=new tt(this.c,a,f,e);st(this.d,d);d.f=this;this.d=d;rt(this.g.a.b,d);rt(d,this.g.a);this.b[b]=d;++this.f;++this.e;xt(this);return true};_.clear=function Bt(){var a,b;trc(this.b);this.f=0;for(a=this.a;a!=this;a=a.qf()){b=
a;rt(b.b,b.e)}this.a=this;this.d=this;++this.e};_.contains=function Ct(a){var b,c;c=SV(LV(LDc,ylc(SV(LV(a==null?0:Ab(a),MDc)),15)));for(b=this.b[c&this.b.length-1];b;b=b.a)if(b.d==c&&Fd(b.i,a))return true;return false};_.qf=function Dt(){return this.a};_.Pd=function Et(){return new Kt(this)};_.remove=function Ft(a){return yt(this,a)};_.rf=function Gt(a){this.d=a};_.sf=function Ht(a){this.a=a};_.size=function It(){return this.f};_.e=0;_.f=0;var QG=Mkc(812);aW(813,1,WCc,Kt);_.Jd=function Lt(){return Jt(this),
this.b!=this.c};_.Kd=function Mt(){var a,b;Jt(this);if(this.b==this.c)throw CV(new uyc);a=this.b;b=a.i;this.d=a;this.b=a.f;return b};_.Ld=function Nt(){Jt(this);$d(!!this.d,nDc);yt(this.c,this.d.i);this.a=this.c.e;this.d=null};_.a=0;var PG=Mkc(813);aW(743,956,tDc,St);_.ne=function Tt(){var a;return a=this.f,!a?this.f=new _w(this):a};_.Cd=function Zt(a){return Zw(this,a)};_.se=function $t(a){return new lu(this,a)};_.xe=function cu(a){return Qt(this,a)};_.oe=function Vt(){this.a=null;this.e=null;Jnc(this.b);
this.d=0;++this.c};_.pe=function Wt(a){return Pt(this,a)};_.qe=function Xt(){return new _w(this)};_.re=function Yt(){return new ou(this)};_.De=function _t(a){return new lu(this,a)};_.te=function au(){return!this.a};_.ve=function bu(a,b){return Ot(this,a,b,null),true};_.Ee=function du(a){return Qt(this,a)};_.ye=function eu(){return this.d};_.c=0;_.d=0;var ZG=Mkc(743);aW(940,932,cDc);_.addAtIndex=function fu(a,b){var c;c=this.Sd(a);c.he(b)};_.addAllAtIndex=function gu(a,b){var c,d,e,f;jCc(b);f=false;
e=this.Sd(a);for(d=b.Pd();d.Jd();){c=d.Kd();e.he(c);f=true}return f};_.getAtIndex=function hu(b){var c;c=this.Sd(b);try{return c.Kd()}catch(a){a=BV(a);if(iE(a,75))throw CV(new $jc("Can't get element "+b));else throw CV(a);}};_.Pd=function iu(){return this.Sd(0)};_.removeAtIndex=function ju(b){var c,d;c=this.Sd(b);try{d=c.Kd();c.Ld();return d}catch(a){a=BV(a);if(iE(a,75))throw CV(new $jc("Can't remove element "+b));else throw CV(a);}};_.setAtIndex=function ku(b,c){var d,e;d=this.Sd(b);try{e=d.Kd();
d.ke(c);return e}catch(a){a=BV(a);if(iE(a,75))throw CV(new $jc("Can't set element "+b));else throw CV(a);}};var ST=Mkc(940);aW(330,940,cDc,lu);_.Sd=function mu(a){return new Gu(this.a,this.b,a)};_.size=function nu(){var a;a=Cnc(this.a.b,this.b);return!a?0:a.a};var UG=Mkc(330);aW(440,942,qDc,ou);_.contains=function pu(a){return Pt(this.a,a)};_.Pd=function qu(){return new uu(this.a)};_.remove=function ru(a){return!Qt(this.a,a).a.isEmpty()};_.size=function su(){return Knc(this.a.b)};var TG=Mkc(440);
aW(745,1,WCc,uu);_.Jd=function vu(){tu(this);return!!this.c};_.Kd=function wu(){tu(this);Ut(this.c);this.a=this.c;Cwc(this.d,this.a.a);do this.c=this.c.b;while(!!this.c&&!Cwc(this.d,this.c.a));return this.a.a};_.Ld=function xu(){tu(this);$d(!!this.a,nDc);Js(new Fu(this.e,this.a.a));this.a=null;this.b=this.e.c};_.b=0;var VG=Mkc(745);aW(329,1,{329:1},yu);_.a=0;var WG=Mkc(329);aW(744,166,zDc,zu);_.ce=function Au(){return this.a};_.de=function Bu(){return this.f};_.ee=function Cu(a){var b;b=this.f;this.f=
a;return b};var XG=Mkc(744);aW(281,1,vDc,Fu,Gu);_.he=function Hu(a){this.e=Ot(this.f,this.b,a,this.c);++this.d;this.a=null};_.Jd=function Iu(){return!!this.c};_.ie=function Ju(){return!!this.e};_.Kd=function Ku(){return Du(this)};_.je=function Lu(){return Eu(this)};_.Ld=function Mu(){$d(!!this.a,nDc);if(this.a!=this.c){this.e=this.a.e;--this.d}else this.c=this.a.c;Rt(this.f,this.a);this.a=null};_.ke=function Nu(a){Zd(!!this.a);this.a.f=a};_.d=0;var YG=Mkc(281);aW(636,932,cDc);_.addAtIndex=function Vu(a,
b){this.a.addAtIndex(a,b)};_.addAllAtIndex=function Wu(a,b){return this.a.addAllAtIndex(a,b)};_.contains=function Xu(a){return this.a.contains(a)};_.getAtIndex=function Yu(a){return this.a.getAtIndex(a)};_.removeAtIndex=function Zu(a){return this.a.removeAtIndex(a)};_.setAtIndex=function $u(a,b){return this.a.setAtIndex(a,b)};_.size=function _u(){return this.a.size()};var _G=Mkc(636);aW(637,636,uDc);var aH=Mkc(637);aW(640,637,uDc,av);_.Sd=function bv(a){return this.a.Sd(a)};var $G=Mkc(640);aW(165,
932,{165:1,15:1,17:1,46:1},fv);_.addAtIndex=function gv(a,b){this.a.addAtIndex(ev(this,a),b)};_.clear=function hv(){this.a.clear()};_.getAtIndex=function iv(a){return this.a.getAtIndex(dv(this,a))};_.Pd=function jv(){return cv(this,0)};_.Sd=function kv(a){return cv(this,a)};_.removeAtIndex=function lv(a){return this.a.removeAtIndex(dv(this,a))};_.Td=function mv(a,b){(Yd(a,b,this.a.size()),Tu(this.a.subList(ev(this,b),ev(this,a)))).clear()};_.setAtIndex=function nv(a,b){return this.a.setAtIndex(dv(this,
a),b)};_.size=function ov(){return this.a.size()};_.subList=function pv(a,b){return Yd(a,b,this.a.size()),Tu(this.a.subList(ev(this,b),ev(this,a)))};var dH=Mkc(165);aW(405,165,{165:1,15:1,17:1,46:1,67:1},qv);var bH=Mkc(405);aW(639,1,vDc,rv);_.he=function sv(a){this.b.he(a);this.b.je();this.a=false};_.Jd=function tv(){return this.b.ie()};_.ie=function uv(){return this.b.Jd()};_.Kd=function vv(){if(!this.b.ie())throw CV(new uyc);this.a=true;return this.b.je()};_.je=function wv(){if(!this.b.Jd())throw CV(new uyc);
this.a=true;return this.b.Kd()};_.Ld=function xv(){$d(this.a,nDc);this.b.Ld();this.a=false};_.ke=function yv(a){Zd(this.a);this.b.ke(a)};_.a=false;var cH=Mkc(639);aW(302,113,BDc,zv);_.getAtIndex=function Av(a){return Sd(a,this.a.length),Bkc(dmc(this.a,a))};_.subList=function Fv(a,b){return Yd(a,b,this.a.length),new zv(Td(Amc(this.a,a,b)))};_.indexOf=function Bv(a){return iE(a,151)?lmc(this.a,Hmc(a.a)):-1};_.lastIndexOf=function Cv(a){return iE(a,151)?omc(this.a,Hmc(a.a)):-1};_.size=function Dv(){return this.a.length};
_.Ze=function Ev(a,b){return Yd(a,b,this.a.length),new zv(Td(Amc(this.a,a,b)))};var eH=Mkc(302);aW(635,932,NDc,Gv);_.clear=function Hv(){this.a.clear()};_.getAtIndex=function Iv(a){return this.b.Od(this.a.getAtIndex(a))};_.isEmpty=function Jv(){return this.a.isEmpty()};_.Pd=function Kv(){return new Uv(this,this.a.Sd(0))};_.Sd=function Lv(a){return new Uv(this,this.a.Sd(a))};_.removeAtIndex=function Mv(a){return this.b.Od(this.a.removeAtIndex(a))};_.size=function Nv(){return this.a.size()};var gH=
Mkc(635);aW(406,187,vDc);_.Ld=function Sv(){this.b.Ld()};_.he=function Pv(a){throw CV(new enc);};_.ie=function Qv(){return this.b.ie()};_.je=function Rv(){return this.ff(this.b.je())};_.ke=function Tv(a){throw CV(new enc);};var rI=Mkc(406);aW(407,406,vDc,Uv);_.ff=function Vv(a){return this.a.b.Od(a)};var fH=Mkc(407);aW(634,940,ODc,Wv);_.clear=function Xv(){this.a.clear()};_.Sd=function Yv(a){return new $v(this,this.a.Sd(a))};_.size=function Zv(){return this.a.size()};var iH=Mkc(634);aW(638,406,vDc,
$v);_.ff=function _v(a){return this.a.b.Od(a)};var hH=Mkc(638);aW(648,187,WCc,jw);_.ff=function kw(a){return new Pq(a,this.a.Od(a))};var jH=Mkc(648);aW(649,166,zDc,lw);_.ce=function mw(){return this.a.ce()};_.de=function nw(){return this.a.de()};var kH=Mkc(649);aW(189,14,PDc);var ow,pw;var nH=Nkc(189,ZS,sw);aW(645,189,PDc,tw);_.Od=function uw(a){return a.ce()};var lH=Nkc(645,nH,null);aW(646,189,PDc,vw);_.Od=function ww(a){return a.de()};var mH=Nkc(646,nH,null);aW(965,931,kDc);_.clear=function xw(){Js(Zy(this))};
_.Xd=function yw(){return new zw(this)};var qH=Mkc(965);aW(647,943,qDc,zw);_.Pd=function Aw(){return Zy(this.a)};_.Ie=function Bw(){return this.a};var pH=Mkc(647);aW(644,912,aDc,Cw);_.clear=function Dw(){this.a.clear()};_.contains=function Ew(a){return this.a.containsValue(a)};_.isEmpty=function Fw(){return this.a.isEmpty()};_.Pd=function Gw(){return Ts(this.a.Xd().Pd(),(qw(),pw))};_.remove=function Hw(b){var c,d;try{return Nc(this,b,true)}catch(a){a=BV(a);if(iE(a,20)){for(d=this.a.Xd().Pd();d.Jd();){c=
d.Kd();if(Fd(b,c.de())){this.a.remove(c.ce());return true}}return false}else throw CV(a);}};_.removeAll=function Iw(b){var c,d,e;try{return Qc(this,Td(b))}catch(a){a=BV(a);if(iE(a,20)){e=new Fwc;for(d=this.a.Xd().Pd();d.Jd();){c=d.Kd();b.contains(c.de())&&Cwc(e,c.ce())}return this.a.keySet().removeAll(e)}else throw CV(a);}};_.retainAll=function Jw(b){var c,d,e;try{return Rc(this,Td(b))}catch(a){a=BV(a);if(iE(a,20)){e=new Fwc;for(d=this.a.Xd().Pd();d.Jd();){c=d.Kd();b.contains(c.de())&&Cwc(e,c.ce())}return this.a.keySet().retainAll(e)}else throw CV(a);
}};_.size=function Kw(){return this.a.size()};var sH=Mkc(644);aW(967,1,{});var DH=Mkc(967);aW(970,1,{});var BH=Mkc(970);aW(546,970,{},Nw);_.tf=function Ow(){return new ywc(bw(this.a))};_.a=0;var uH=Mkc(546);aW(891,970,{},Pw);_.tf=function Qw(){return new Ixc(bw(this.a))};_.a=0;var vH=Mkc(891);aW(887,1,GDc,Rw);_.Gd=function Sw(){return new Mqc(this.a)};_.a=0;var wH=Mkc(887);aW(888,1,GDc,Tw);_.Gd=function Uw(){return new Gwc(bw(this.a))};_.a=0;var xH=Mkc(888);aW(968,967,{});var yH=Mkc(968);aW(889,968,
{},Ww);_.b=0;var zH=Mkc(889);aW(969,967,{});var CH=Mkc(969);aW(890,969,{},Yw);_.b=0;var AH=Mkc(890);aW(443,957,kDc,_w);_.get=function dx(a){return this.a.pe(a)?this.a.se(a):null};_.remove=function gx(a){return this.a.pe(a)?this.a.xe(a):null};_.clear=function ax(){this.a.oe()};_.containsKey=function bx(a){return this.a.pe(a)};_.He=function cx(){return new ix(this)};_.Ge=function(){return this.He()};_.isEmpty=function ex(){return this.a.te()};_.keySet=function fx(){return this.a.ue()};_.size=function hx(){return this.a.ue().size()};
var GH=Mkc(443);aW(748,943,qDc,ix);_.Pd=function jx(){return aw(this.a.a.ue(),new mx(this))};_.Ie=function kx(){return this.a};_.remove=function lx(a){var b;if(!rj(this,a))return false;b=a;$w(this.a,b.ce());return true};var FH=Mkc(748);aW(749,1,QDc,mx);_.Od=function nx(a){return this.a.a.a.se(a)};_.Cd=function ox(a){return this===a};var EH=Mkc(749);aW(746,442,tDc,px);_.uf=function qx(){return this.a.Gd()};_.Ce=function(){return this.uf()};var HH=Mkc(746);aW(747,331,tDc,rx);_.vf=function sx(){return this.a.Gd()};
_.Ke=function(){return this.vf()};var IH=Mkc(747);aW(755,187,WCc,xx);_.ff=function yx(a){return a.b.ce()};var KH=Mkc(755);aW(754,1,WCc,zx);_.Jd=function Ax(){return this.d>0||this.c.Jd()};_.Kd=function Bx(){if(!(this.d>0||this.c.Jd()))throw CV(new uyc);if(this.d==0){this.b=this.c.Kd();this.f=this.d=Cl(this.b)}--this.d;this.a=true;return this.b.b.ce()};_.Ld=function Cx(){$d(this.a,nDc);this.f==1?this.c.Ld():ol(this.e,this.b.b.ce(),1)>0;--this.f;this.a=false};_.a=false;_.d=0;_.f=0;var NH=Mkc(754);aW(797,
228,{228:1,3:1,127:1},Fx);_.Qe=function Gx(a,b){return Td(a),Td(b),kkc(a,b)};_.Re=function Hx(){var a;a=this.a;!a&&(a=this.a=new Jx(this));return a};_.Fd=function Ix(){return"Ordering.natural()"};var Dx;var OH=Mkc(797);aW(289,228,{289:1,228:1,3:1,127:1},Jx);_.Qe=function Kx(a,b){if(oE(a)===oE(b))return 0;if(a==null)return-1;if(b==null)return 1;return this.a.Qe(a,b)};_.Cd=function Lx(a){var b;if(a===this)return true;if(iE(a,289)){b=a;return this.a.Cd(b.a)}return false};_.Ed=function Mx(){return Ab(this.a)^
957692532};_.Re=function Nx(){return this};_.Fd=function Ox(){return this.a+".nullsFirst()"};var PH=Mkc(289);aW(132,934,BDc,Rx);_.$e=function Sx(){return this.a};var SH=Mkc(132);aW(269,226,DDc,Tx,Ux);var TH=Mkc(269);aW(313,312,EDc,Xx);var Vx;var UH=Mkc(313);aW(238,336,{69:1,104:1,336:1,238:1,3:1,15:1,17:1,31:1,125:1},Yx);_.We=function Zx(){return new Zr(this,(Sn(),oo(new Prc(Px(this,sD(lT,bDc,1,this.b.b.size(),5,1))))))};var VH=Mkc(238);aW(939,911,qDc);_.Pd=function jy(){return this.Xe()};_.add=function gy(a){throw CV(new enc);
};_.addAll=function hy(a){throw CV(new enc);};_.clear=function iy(){throw CV(new enc);};_.remove=function ky(a){throw CV(new enc);};_.removeAll=function ly(a){throw CV(new enc);};_.retainAll=function my(a){throw CV(new enc);};var aI=Mkc(939);aW(629,939,qDc,py);_.Pd=function ty(){return oy(this)};_.contains=function qy(a){return this.a.contains(a)||this.b.contains(a)};_.isEmpty=function ry(){return this.a.isEmpty()&&this.b.isEmpty()};_.Xe=function sy(){return new vy(this.a,this.b)};_.size=function uy(){var a,
b,c;c=this.a.size();for(b=this.b.Pd();b.Jd();){a=b.Kd();this.a.contains(a)||++c}return c};var XH=Mkc(629);aW(399,398,rDc,vy);_.me=function wy(){var a;if(this.a.Jd())return this.a.Kd();while(this.b.Jd()){a=this.b.Kd();if(!this.c.contains(a))return a}return this.f=2,null};var WH=Mkc(399);aW(630,939,qDc,xy);_.Pd=function By(){return new Dy(this.a,this.b)};_.contains=function yy(a){return this.a.contains(a)&&!this.b.contains(a)};_.isEmpty=function zy(){return this.b.containsAll(this.a)};_.Xe=function Ay(){return new Dy(this.a,
this.b)};_.size=function Cy(){var a,b,c;c=0;for(b=this.a.Pd();b.Jd();){a=b.Kd();this.b.contains(a)||++c}return c};var ZH=Mkc(630);aW(400,398,rDc,Dy);_.me=function Ey(){var a;while(this.a.Jd()){a=this.a.Kd();if(!this.c.contains(a))return a}return this.f=2,null};var YH=Mkc(400);aW(300,938,{300:1,3:1,15:1,17:1,207:1,31:1,125:1},Fy);var bI=Mkc(300);aW(427,426,DDc,Gy,Hy);_.values=function Ky(){return vn(),new Py(this.c)};_.ae=function Ly(){return vn(),new Py(this.c)};_.jf=function Iy(){var a;return a=
this.a,!a?this.a=new Hy(this.c,this.b,this):a};_.kf=function Jy(){return vn(),new Py(this.c)};var cI=Mkc(427);aW(79,934,BDc,My);_.$e=function Ny(){return this.a};var dI=Mkc(79);aW(73,104,EDc,Py);_.Pd=function Sy(){return new Ys(this.a)};_.contains=function Qy(a){return Oy(this,a)};_.Xe=function Ry(){return new Ys(this.a)};_.size=function Ty(){return 1};var eI=Mkc(73);aW(880,1,WCc,Vy);_.Kd=function Xy(){return Uy(this)};_.Jd=function Wy(){return cyc(this.c)||this.a.Jd()};_.Ld=function Yy(){this.a.Ld();
this.b.e.isEmpty()&&eyc(this.c)};var fI=Mkc(880);aW(542,965,kDc,_y);_.clear=function az(){var a;a=!this.a||this.a.isEmpty()&&Cxc(this.c.a,this.b)?this.a=Dxc(this.c.a,this.b):this.a;!!a&&a.clear();$y(this)};_.containsKey=function bz(a){var b;b=!this.a||this.a.isEmpty()&&Cxc(this.c.a,this.b)?this.a=Dxc(this.c.a,this.b):this.a;return a!=null&&!!b&&fw(b,a)};_.get=function cz(a){var b;b=!this.a||this.a.isEmpty()&&Cxc(this.c.a,this.b)?this.a=Dxc(this.c.a,this.b):this.a;return a!=null&&!!b?gw(b,a):null};
_.put=function dz(a,b){Td(a);Td(b);if(!!this.a&&!this.a.isEmpty())return this.a.put(a,b);return Yp(this.c,this.b,a,b)};_.remove=function ez(a){var b,c;b=!this.a||this.a.isEmpty()&&Cxc(this.c.a,this.b)?this.a=Dxc(this.c.a,this.b):this.a;if(!b)return null;c=hw(b,a);$y(this);return c};_.size=function fz(){var a;a=!this.a||this.a.isEmpty()&&Cxc(this.c.a,this.b)?this.a=Dxc(this.c.a,this.b):this.a;return!a?0:a.size()};var lI=Mkc(542);aW(883,1,WCc,gz);_.Kd=function iz(){return new kz(this.b.Kd())};_.Jd=
function hz(){return this.b.Jd()};_.Ld=function jz(){this.b.Ld();$y(this.a)};var gI=Mkc(883);aW(884,961,oDc,kz);_.be=function lz(){return this.a};_.Cd=function mz(a){return qg(this,a)};_.ee=function nz(a){return pg(this,Td(a))};var hI=Mkc(884);aW(363,957,kDc,oz);_.get=function rz(a){return this.a.ef(a)?new _y(this.a,a):null};_.remove=function sz(a){return a==null?null:Gxc(this.a.a,a)};_.containsKey=function pz(a){return this.a.ef(a)};_.He=function qz(){return new wz(this)};_.Ge=function(){return this.He()};
var kI=Mkc(363);aW(881,942,qDc);_.clear=function uz(){Bxc(this.b.a)};_.isEmpty=function vz(){return Knc(this.b.a.c)==0};var mI=Mkc(881);aW(882,881,qDc,wz);_.contains=function xz(a){var b;if(iE(a,48)){b=a;return b.ce()!=null&&iE(b.de(),44)&&zm(new Yxc(this.a.a.a),b)}return false};_.Pd=function yz(){return aw(new Boc(this.a.a.a),new Bz(this))};_.remove=function zz(a){var b;if(iE(a,48)){b=a;return b.ce()!=null&&iE(b.de(),44)&&Xxc(new Yxc(this.a.a.a),b)}return false};_.size=function Az(){return Knc(this.a.a.a.c)};
var jI=Mkc(882);aW(885,1,QDc,Bz);_.Od=function Cz(a){return new _y(this.a.a.a,a)};_.Cd=function Dz(a){return this===a};var iI=Mkc(885);aW(971,1,{980:1});_.Cd=function Fz(a){var b;if(a===this)return true;if(iE(a,250)){b=a;return Fd(this.b,b.b)&&Fd(this.a,b.a)&&Fd(this.c,b.c)}return false};_.Ed=function Gz(){return zrc(vD(qD(lT,1),bDc,1,5,[this.b,this.a,this.c]))};_.Fd=function Hz(){return"("+this.b+","+this.a+")="+this.c};var oI=Mkc(971);aW(250,971,{980:1,250:1,3:1},Iz);var pI=Mkc(250);aW(731,954,
kDc,Jz);_.Wd=function Kz(){return this.a};_.Xd=function Lz(){var a;a=this.b;if(a)return a;return this.b=new Mz(this)};var xI=Mkc(731);aW(732,943,qDc,Mz);_.Pd=function Nz(){var a;return new Pz(this,(a=(new Boc(this.a.a)).a.Xd().Pd(),new Hoc(a)))};_.Ie=function Oz(){return this.a};var wI=Mkc(732);aW(733,187,WCc,Pz);_.ff=function Qz(a){return new Rz(this,a)};var vI=Mkc(733);aW(734,166,zDc,Rz);_.ce=function Sz(){return this.b};_.de=function Tz(){return vf(this.a.a.a,this.b)};_.ee=function Uz(a){return wf(this.a.a.a,
this.b,a)};var uI=Mkc(734);aW(962,1,{});var Vz;var DI=Mkc(962);aW(235,1,{235:1},cA);_.Cd=function dA(a){return _z(this,a)};_.Ed=function eA(){return yrc(this.c)};_.Fd=function fA(){return this.f};_.a=0;_.b=0;_.d=0;var yI=Mkc(235);aW(148,962,{148:1},jA);_.Cd=function kA(a){var b;if(iE(a,148)){b=a;return _z(this.b,b.b)&&Fd(this.c,b.c)}return false};_.Ed=function lA(){return yrc(this.b.c)^zrc(vD(qD(lT,1),bDc,1,5,[this.c]))};_.Fd=function mA(){var a;a=new bnc("BaseEncoding.");Wmc(a,this.b.f);8%this.b.a!=
0&&(!this.c?(a.a+=".omitPadding()",a):Wmc(Vmc((a.a+=".withPadChar('",a),this.c),"')"));return a.a};var CI=Mkc(148);aW(456,148,{148:1},oA);var zI=Mkc(456);aW(335,148,{148:1},rA);var AI=Mkc(335);aW(38,1,{3:1,38:1});_.wf=function AA(a){return new Error(a)};_.xf=function CA(){return this.e};_.yf=function DA(){var a,b,c;c=this.e==null?null:this.e.replace(new RegExp(YDc,"g")," ");b=(a=Hkc(this.Qj),c==null?a:a+WDc+c);uA(this,BA(this.wf(b)));cD(this)};_.Fd=function FA(){return wA(this,this.xf())};_.backingJsObject=
UDc;_.g=true;var rT=Mkc(38);aW(40,38,{3:1,40:1,38:1});var _S=Mkc(40);aW(102,40,{102:1,3:1,40:1,38:1});var QS=Mkc(102);aW(196,102,{196:1,102:1,3:1,40:1,38:1},HA);var BI=Mkc(196);var OA;var RA;aW(116,1,{},WA);_.a=0;_.b=0;var EI=Mkc(116);aW(422,1,{},cB);_.b=0;_.c=null;var LI=Mkc(422);aW(703,1,{},eB);var FI=Mkc(703);aW(704,1,{},kB);_.b=0;_.c=0;_.d=0;_.e=0;_.f=0;_.g=0;var GI=Mkc(704);aW(423,1,{906:1},lB);_.zf=function mB(){return this.e};_.Af=function nB(){return-1};_.Bf=function oB(){return-1};_.Cf=function pB(){return-1};
_.Df=function qB(){return-1};_.e=0;var JI=Mkc(423);aW(424,423,{906:1},rB);_.Af=function sB(){return-1};_.Bf=function tB(){return this.b};_.Cf=function uB(){return this.c};_.Df=function vB(){return this.d};_.b=0;_.c=0;_.d=0;var KI=Mkc(424);aW(706,424,{906:1},wB);_.Af=function xB(){return this.a};_.a=0;var HI=Mkc(706);aW(705,1,{},BB);_.b=0;_.c=0;var II=Mkc(705);aW(699,1,{},JB);_.c=null;_.d=-1;var SI=Mkc(699);aW(700,1,{},OB);var MI=Mkc(700);aW(702,1,{},RB);_.Ef=function SB(a,b,c,d,e){var f;this.d!=b&&
(this.c=0);if(b!=d||c!=e)if(b<this.a){this.d==b&&Omc(this.b,44);QB(this,a,c);this.d=b;this.c=c}else Zd(!a);for(f=b;f<=d&&f<this.a;f++){if(f==d)break;Omc(this.b,59)}};_.a=0;_.c=0;_.d=-1;_.e=0;_.f=0;_.g=0;_.i=0;var NI=Mkc(702);aW(420,1,{420:1},TB);_.f=false;var QI=Mkc(420);aW(421,1,{},$B);_.a=0;_.b=0;var OI=Mkc(421);aW(701,1,{},_B);_.Ef=function aC(a,b,c,d,e){!!a&&(a.f=true)};var RI=Mkc(701);aW(595,1,{},bC);_.c=0;_.i=0;var VI=Mkc(595);aW(594,1,{},kC);_.c=0;_.i=0;var TI=Mkc(594);aW(917,1,{});var UI=
Mkc(917);aW(120,40,{120:1,3:1,40:1,38:1},oC);var WI=Mkc(120);aW(295,1,{295:1},pC);_.a=0;_.b=0;_.c=0;var XI=Mkc(295);var qC;aW(707,1,{},vC);var ZI=Mkc(707);aW(708,1,{},wC);var YI=Mkc(708);aW(21,40,aEc,yC,zC,AC);var mT=Mkc(21);aW(208,21,aEc,BC);var fT=Mkc(208);aW(614,208,aEc);var bJ=Mkc(614);aW(264,614,{264:1,3:1,40:1,21:1,38:1},FC);_.xf=function GC(){EC(this);return this.c};_.Ff=function HC(){return oE(this.b)===oE(CC)?null:this.b};var CC;var $I=Mkc(264);var _I=Mkc(0);aW(908,1,{});var aJ=Mkc(908);
var JC=0,KC=0,LC=-1;aW(652,908,{},ZC);var VC;var cJ=Mkc(652);var aD;aW(927,1,{});var gJ=Mkc(927);aW(600,927,{},hD);_.Gf=function iD(a){var b={},j;var c=[];a[dEc]=c;var d=arguments.callee.caller;while(d){var e=(bD(),d.name||(d.name=eD(d.toString())));c.push(e);var f=":"+e;var g=b[f];if(g){var h,i;for(h=0,i=g.length;h<i;h++)if(g[h]===d)return}(g||(b[f]=[])).push(d);d=d.caller}};_.Hf=function jD(a){var b,c,d,e;d=(bD(),a&&a[dEc]?a[dEc]:[]);c=d.length;e=sD(nT,bDc,139,c,0,1);for(b=0;b<c;b++)e[b]=new _lc(d[b],
null,-1);return e};var dJ=Mkc(600);aW(928,927,{});_.Gf=function lD(a){};_.If=function mD(a,b,c,d){return new _lc(b,a+"@"+d,c<0?-1:c)};_.Hf=function nD(a){var b,c,d,e,f,g,h;e=(bD(),h=a.backingJsObject,h&&h.stack?h.stack.split(YDc):[]);f=sD(nT,bDc,139,0,0,1);b=0;d=e.length;if(d==0)return f;g=kD(this,e[0]);imc(g.d,cEc)||(f[b++]=g);for(c=1;c<d;c++)f[b++]=kD(this,e[c]);return f};var fJ=Mkc(928);aW(601,928,{},oD);_.If=function pD(a,b,c,d){return new _lc(b,a,-1)};var eJ=Mkc(601);var xD;var ZD,$D,_D,aE;aW(563,
1,{});_._=0;var jW;var iJ=Mkc(563);aW(212,14,{212:1,3:1,22:1,14:1},qW);var mW,nW,oW;var hJ=Nkc(212,ZS,rW);aW(410,1,{});_.d=false;var kJ=Mkc(410);aW(167,14,{167:1,3:1,22:1,14:1},DW);var xW,yW,zW,AW,BW;var jJ=Nkc(167,ZS,EW);aW(223,14,{223:1,3:1,22:1,14:1},JW);var FW,GW,HW;var lJ=Nkc(223,ZS,KW);aW(439,1,EEc,aY);_.Tf=function bY(a,b){!!a&&XW(this,a);!!b&&XW(this,b)};var mJ=Mkc(439);aW(376,1,{});_.Wf=function hY(a,b){eY(this,a,b)};_.d=0;_.f=0;var pJ=Mkc(376);aW(377,1,{377:1},iY);_.Cd=function jY(a){return Ab(a)==
zrc(vD(qD(lT,1),bDc,1,5,[this.b,this.a.c,this.a.f,Blc(this.a.d),Blc(this.a.a)]))};_.Ed=function kY(){return zrc(vD(qD(lT,1),bDc,1,5,[this.b,this.a.c,this.a.f,Blc(this.a.d),Blc(this.a.a)]))};var nJ=Mkc(377);aW(558,1,GEc,nY);_.Qe=function oY(a,b){return mY(a,b)};_.Cd=function pY(a){return this===a};_.Se=function qY(){return new lvc(this)};var oJ=Mkc(558);aW(434,1,{},AY);_.c=0;var sJ=Mkc(434);aW(726,1,{},CY);_.Xf=function DY(a){Lib();(a.j==(w7b(),U6b)||a.j==G5b)&&Cwc(this.a,a)};var qJ=Mkc(726);aW(727,
1,{},EY);_.Xf=function FY(a){var b;if(a.j==(w7b(),S6b))yY(a);else{Lib();if(a.j==U6b||a.j==G5b){b=vf(this.a.a,a);Ewc(this.c,b);wY(this.b,a);!b?vY(this.a,this.b,a):xY(this.b,a,b)}}};var rJ=Mkc(727);var GY,HY,IY,JY,KY,LY,MY,NY,OY,PY,QY,RY,SY,TY,UY,VY;var WL=Okc();aW(950,1,HEc);_.Yf=function XY(a,b,c){return true};var SL=Mkc(950);var YY;var $Y,_Y;var bZ;var dZ,eZ,fZ,gZ,hZ,iZ,jZ,kZ;aW(219,14,{219:1,3:1,22:1,14:1},qZ);var mZ,nZ,oZ;var tJ=Nkc(219,ZS,rZ);var sZ,tZ,uZ,vZ;var xZ;var zZ;var BZ,CZ;var EZ;var GZ,
HZ,IZ,JZ,KZ;aW(945,1,HEc);_.Zf=function MZ(a,b,c){};var TL=Mkc(945);var NZ;var PZ;var RZ,SZ,TZ,UZ,VZ,WZ,XZ,YZ;aW(668,1,UCc);_.$f=function $Z(a){return u0(a)};_._f=function _Z(a){return null};_.ag=function a$(a){return false};_.bg=function b$(a){return false};_.cg=function c$(a){return imc(a.substr(0,6),"$super")};_.dg=function d$(a){return z2b(a.b,LEc)};var GJ=Mkc(668);aW(380,668,UCc,f$);_.$f=function h$(a){var b,c,d,e,f;c=u0(a);if(c)return c;b=a.b;f=k$(b);if(f){d=null;e=a.b?a.b.f:null;if(o2b(a))d=
b.d;else return null;if(f==(r0(),q0)){if(!(e.j==(w7b(),M5b)&&imc((e.b?e.b.f:null).qi(),PEc)))return null;if(!(d.j==M5b&&imc((d.b?d.b.f:null).qi(),PEc)))return null;d=d.b;e=e.b}if(!!d&&u2b(d)&&u2b(e))return new o0(d,e)}return null};_._f=function i$(a){var b;b=a.b;if(!!a.b&&!!a.b.d&&a.b.d==(a.b?a.b.f:null)&&(A2b(b,QEc,QEc.length)||A2b(b,REc,REc.length)))return h2b(b.d);return null};_.dg=function j$(a){Kd(a.j==(w7b(),X4b));return this.a.contains(h2b(a.b))||z2b(a.b,LEc)};var uJ=Mkc(380);var l$,m$,n$,
o$;aW(417,1,{});_.fg=function y$(a,b){s$(this,a)};_.hg=function z$(){this.gg("}")};_.ig=function A$(){this.gg("{")};_.jg=function B$(a,b){this.gg(a)};_.kg=function C$(){this.gg(":")};_.lg=function D$(a,b){return b};_.mg=function E$(){};_.ng=function F$(){};_.og=function G$(a){this.q=true;a&&this.pg()};_.pg=function H$(){};_.qg=function I$(a){};_.rg=function J$(a){if(a){this.gg(";");this.wg();this.r=false}else this.s&&(this.r=true)};_.tg=function L$(){r$(this,",");this.wg()};_.ug=function M$(){};_.vg=
function N$(){};_.wg=function O$(){this.ug()};_.xg=function P$(){};_.yg=function Q$(){return false};_.zg=function R$(a){};_.q=false;_.r=false;_.s=false;var vJ=Mkc(417);aW(318,1,{},l_,m_);_.Ag=function n_(a,b){T$(this,a,b)};_.f=false;_.g=false;_.i=false;_.j=false;_.k=false;var wJ=Mkc(318);aW(385,1,{},B_);_.b=false;_.d=false;_.g=false;_.i=false;_.j=false;var yJ=Mkc(385);aW(730,1,{},C_);var xJ=Mkc(730);aW(437,417,{});_.qg=function G_(a){var b,c;if(this.j&&!null.Tj()&&null.Tj().Uj==a){null.Tj();c=this.k;
b=this.n;Zd(c>=0);new WA(c,b)}};_.sg=function H_(){return this.i.a.length>0?Pjc(this.i,this.i.a.length-1):0};_.zg=function I_(a){var b,c,d,e;Zd(!!this.p);Zd(!!a);if(this.j&&(b=g2b(a,51),(!b?null:b.Hg())!=null)&&p3b(a.i)>0){d=this.k;c=this.n;Zd(d>=0);e=new T_;e.b=a;e.c=new WA(d,c);null.Tj();null.Tj()}};_.j=false;_.k=0;_.n=0;_.o=0;var BJ=Mkc(437);aW(729,437,{},M_);_.gg=function N_(a){J_(this,a)};_.ng=function O_(){var a;if(!this.c)return;if(this.n>(this.o/2|0)){J_(this,";");L_(this)}else if(this.e>
0){Rjc(this.i,this.e);this.b=this.f;this.n=this.i.a.length-this.b;a=this.e-this.f+1;D_(this,this.k,a,false);--this.k;this.e=0;this.f=0;J_(this,";");L_(this)}};_.ug=function P_(){K_(this)};_.wg=function Q_(){var a,b;if(this.a)if(this.q){L_(this);this.q=false}b=this.i.a.length;if(this.d==b-1){a=Pjc(this.i,b-1);a==59&&(this.d=b)}K_(this)};_.xg=function R_(){this.d=this.i.a.length};_.a=false;_.b=0;_.c=false;_.d=0;_.e=0;_.f=0;var zJ=Mkc(729);aW(436,1,{436:1},T_);_.Fd=function U_(){return"Mapping: start "+
this.c+", end "+this.a+", node "+this.b};var AJ=Mkc(436);aW(728,437,{},X_);_.fg=function Y_(b,c){var d,e;if(b==0&&1/b<0){s$(this,b);return}e=i0(c);if(e==null){s$(this,b);return}b<0&&(e="-"+e);try{d=clc(e)}catch(a){a=BV(a);if(iE(a,91)){s$(this,b);return}else throw CV(a);}if(b!=d){s$(this,b);return}r$(this,e)};_.gg=function Z_(a){V_(this,a)};_.hg=function $_(){x$(this);W_(this);--this.a;V_(this,"}")};_.ig=function __(){(this.i.a.length>0?Pjc(this.i,this.i.a.length-1):0)!=32&&(this.i.a.length>0?Pjc(this.i,
this.i.a.length-1):0)!=10&&r$(this," ");V_(this,"{");++this.a};_.jg=function a0(a,b){(this.i.a.length>0?Pjc(this.i,this.i.a.length-1):0)!=32&&b&&(qCc(0,a.length),a.charCodeAt(0)!=44)&&V_(this," ");V_(this,a);b&&V_(this," ")};_.kg=function b0(){V_(this,":");++this.a;W_(this)};_.lg=function c0(a,b){var c,d;$d(a.j==(w7b(),U4b),a);c=a.e;d=c.j;switch(d.f){case 65:case 71:return false;case 44:return a!=c.b;case 78:return!qjb(!c.e?null:c.e.e);case 66:return a==(c.b?c.b.f:null)}return true};_.mg=function d0(){--this.a};
_.ng=function e0(){x$(this)};_.og=function f0(a){this.q=true;a&&W_(this);a&&W_(this)};_.pg=function g0(){W_(this)};_.rg=function h0(a){V_(this,";");W_(this);this.r=false};_.tg=function j0(){r$(this,$Cc);this.n>this.o&&W_(this)};_.ug=function k0(){this.n>this.o&&W_(this)};_.vg=function l0(){(this.i.a.length>0?Pjc(this.i,this.i.a.length-1):0)!=32&&(this.i.a.length>0?Pjc(this.i,this.i.a.length-1):0)!=10&&r$(this," ")};_.wg=function m0(){this.n>this.o&&W_(this)};_.yg=function n0(){return true};_.a=0;
var CJ=Mkc(728);aW(402,1,{},o0);var DJ=Mkc(402);aW(270,14,{270:1,3:1,22:1,14:1},s0);var p0,q0;var EJ=Nkc(270,ZS,t0);aW(669,1,UCc,v0);_.$f=function w0(a){return u0(a)};_._f=function x0(a){return null};_.ag=function y0(a){return false};_.bg=function z0(a){return false};_.cg=function A0(a){return imc(a.substr(0,6),"$super")};_.dg=function B0(a){return z2b(a.b,LEc)};var FJ=Mkc(669);var C0;aW(379,563,{});_.Jf=function Z1(a,b){CAc(this.w,a,b)};_.Kf=function a2(){return this.L};_.Lf=function b2(){return this.M};
_.Mf=function c2(a){var b,c,d;if(!this.N||!this.p)if(!this.N){c=c1(this,this.M.Ub);d=C3(this.M)?0:1;this.N=(b=rJb(c,this.M.nc,d),b);this.p=c==(SEb(),MEb)?Q0(this,NEb,d):this.N}switch(a){case 1:return this.p;default:return this.N}};_.Nf=function d2(){return j1(this)};_.Of=function e2(){return this.u};_.Pf=function f2(a){var b;b=new Dmb(this);Bmb(b,null,a)};_.Wf=function g2(a,b){L1(this,b)};_.Qf=function h2(a){L1(this,a)};_.Rf=function i2(a){M1(this,a)};_.Bg=function j2(a){var b;Zd(a.j==(w7b(),G5b));
b=G2b(a,a.g,94);b!=a.g&&(a.g=b);a.g=new K3b(94,1,a.g);rqb(this.b,a);qqb(this.i,a)};_.Sf=function(a){this.Bg(a)};_.a=1;_.d=null;_.e=null;_.n=null;_.p=null;_.u=true;_.F=null;_.M=null;_.N=null;_.O=null;_.P=null;_.Q=0;_.T=null;_.U=null;_.V=0;_.Y=0;var E0,F0,G0,H0,I0,J0;var dK=Mkc(379);aW(58,1,OFc);_.Dg=function l2(){return XKb(),OKb};_.Fd=function m2(){return this.b};_.a=false;var pM=Mkc(58);aW(562,58,OFc,o2);_.Cg=function p2(a){return n2(a)};var KJ=Mkc(562);aW(375,1,{},r2);_.Eg=function s2(){return q2(this)};
var HJ=Mkc(375);aW(574,1,{},u2);_.Eg=function v2(){return t2(this)};var IJ=Mkc(574);aW(581,1,{},x2);_.Eg=function y2(){return w2(this)};_.c=0;var JJ=Mkc(581);aW(570,1,{},z2);_.Eg=function A2(){return E1(this.a),null};var LJ=Mkc(570);aW(571,1,{},B2);_.Eg=function C2(){return I3(this.a.M)&&F1(this.a),null};var MJ=Mkc(571);aW(569,1,{},D2);_.Eg=function E2(){return G1(this.a),null};var NJ=Mkc(569);aW(568,1,{},F2);_.Eg=function G2(){return z1(this.a),null};var OJ=Mkc(568);aW(118,1,{213:1},H2);_.Gd=function I2(){return""+
this.a.Y++};var PJ=Mkc(118);aW(387,1,{},M2);_.Fd=function N2(){return this.c.a};_.a=0;_.b=0;var QJ=Mkc(387);aW(140,1,{140:1,904:1,3:1},_2,a3,b3);_.Fg=function d3(a){return S2(this,a)};_.Gg=function e3(){return this.g};_.Hg=function f3(){return this.g.a};_.Ig=function g3(){return T2(this).c};_.Jg=function h3(){return V2(this)};_.Kg=function i3(){return this.a.Kg()};_.Fd=function j3(){return this.g.a};_.f=false;var TJ=Mkc(140);aW(651,1,{},n3);var RJ=Mkc(651);aW(153,14,{153:1,3:1,22:1,14:1},v3);var o3,
p3,q3,r3,s3,t3;var SJ=Nkc(153,ZS,w3);aW(159,1,UCc,J3);_.Fd=function L3(){var a;a=Bd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(Ad(new Cd((Fkc(cK),
cK.n))),"aggressiveFusion",""+this.a),"aliasableStrings",this.e),"aliasAllStrings",""+this.b),"aliasHandler",this.c),"aliasStringsBlacklist",this.d),"allowHotswapReplaceScript",mFc),"ambiguateProperties",""+this.g),"angularPass",""+this.i),"anonymousFunctionNaming",this.j),"appNameStr",this.k),"assumeClosuresOnlyCaptureReferences",""+this.n),"assumeStrictThis",""+this.o),"brokenClosureRequiresLevel",this.p),"chainCalls",""+this.q),"checkDeterminism",""+this.r),"checkGlobalNamesLevel",this.s),"checkGlobalThisLevel",
this.t),"checkMissingGetCssNameBlacklist",this.u),"checkMissingGetCssNameLevel",this.v),"checksOnly",""+this.C),"checkSuspiciousCode",""+this.w),"checkSymbols",""+this.A),QFc,""+this.B),"closurePass",""+this.D),"coalesceVariableNames",""+this.F),"codingConvention",this.G),"collapseAnonymousFunctions",""+this.H),RFc,""+this.I),"collapseProperties",""+this.J),"collapseVariableDeclarations",""+this.K),"colorizeErrorOutput",""+this.L),"computeFunctionSideEffects",""+this.M),"conformanceConfigs",this.N),
"continueAfterErrors",mFc),"convertToDottedProperties",""+this.O),"crossModuleCodeMotion",""+this.P),"crossModuleCodeMotionNoStubMethods",""+this.Q),"crossModuleMethodMotion",""+this.R),"cssRenamingMap",this.S),"cssRenamingWhitelist",this.T),"customPasses",this.U),"dartPass",""+this.V),"deadAssignmentElimination",""+this.W),"debugFunctionSideEffectsPath",this.X),"declaredGlobalExternsOnWindow",""+this.Y),"defineReplacements",K3(this.Z)),"dependencyOptions",this.$),"devirtualizePrototypeMethods",""+
this.ab),"devMode",this._),"disambiguatePrivateProperties",""+this.bb),"disambiguateProperties",""+this.cb),"enforceAccessControlCodingConventions",""+this.eb),"environment",this.fb),"errorFormat",this.gb),"errorHandler",this.hb),"exportLocalPropertyDefinitions",""+this.ib),"exportTestFunctions",""+this.jb),"externExports",""+this.kb),"externExportsPath",this.lb),"extraAnnotationNames",this.mb),"extractPrototypeMemberDeclarations",this.ob),"extraSmartNameRemoval",""+this.nb),"filesToPrintAfterEachPassRegexList",
this.pb),"flowSensitiveInlineVariables",""+this.qb),"foldConstants",""+this.rb),"forceLibraryInjection",this.sb),"gatherCssNames",""+this.tb),"generateExportsAfterTypeChecking",""+this.vb),"generateExports",""+this.ub),"generatePseudoNames",""+this.wb),"generateTypedExterns",mFc),"idGenerators",this.xb),"idGeneratorsMapSerialized",this.yb),"inferConsts",""+this.zb),"inferTypes",""+this.Ab),"inlineConstantVars",""+this.Bb),SFc,""+this.Cb),"inlineGetters",""+this.Db),"inlineLocalFunctions",""+this.Eb),
"inlineLocalVariables",""+this.Fb),"inlineProperties",""+this.Gb),TFc,""+this.Hb),"inputAnonymousFunctionNamingMap",this.Ib),"inputDelimiter",this.Jb),"inputPropertyMap",this.Kb),"inputSourceMaps",this.Lb),"inputVariableMap",this.Mb),"instrumentationTemplateFile",this.Qb),"instrumentationTemplate",this.Pb),"instrumentForCoverage",""+this.Ob),"instrumentForCoverageOnly",mFc),"instrumentBranchCoverage",""+this.Nb),"j2clPassMode",this.Sb),"labelRenaming",""+this.Tb),"languageIn",this.Ub),"languageOut",
D3(this)),"legacyCodeCompile",mFc),"lineBreak",""+this.Wb),"lineLengthThreshold",""+this.Xb),UFc,this.Yb),"markAsCompiled",""+this.Zb),"markNoSideEffectCalls",""+this.$b),"maxFunctionSizeAfterInlining",""+this._b),"messageBundle",null),"moduleRoots",this.bc),"modulesToPrintAfterEachPassRegexList",this.cc),"moveFunctionDeclarations",""+this.dc),"nameGenerator",this.ec),"optimizeArgumentsArray",""+this.gc),"optimizeCalls",""+this.hc),"outputCharset",this.ic),"outputJs",this.jc),"outputJsStringUsage",
""+this.kc),"parentModuleCanSeeSymbolsDeclaredInChildren",""+this.mc),"parseJsDocDocumentation",this.nc),"polymerVersion",this.oc),"preferLineBreakAtEndOfFile",""+this.pc),"preferSingleQuotes",""+this.qc),"preferStableNames",""+this.rc),"preserveDetailedSourceInfo",mFc),"preserveGoogProvidesAndRequires",""+this.sc),"preserveTypeAnnotations",""+this.tc),"prettyPrint",""+this.uc),"preventLibraryInjection",mFc),"printConfig",mFc),"printInputDelimiter",""+this.wc),"printSourceAfterEachPass",""+this.xc),
"processCommonJSModules",mFc),"processObjectPropertyString",""+this.yc),"propertyInvalidationErrors",this.zc),"propertyRenaming",this.Ac),"protectHiddenSideEffects",""+this.Bc),"quoteKeywordProperties",""+this.Cc),LFc,""+this.Dc),"removeAbstractMethods",""+this.Ec),"removeSuperMethods",""+this.Ic),"removeClosureAsserts",""+this.Fc),"removeJ2clAsserts",""+this.Hc),"removeDeadCode",""+this.Gc),VFc,""+this.Jc),"removeUnusedConstructorProperties",""+this.Kc),"removeUnusedLocalVars",""+this.Lc),"removeUnusedPrototypePropertiesInExterns",
""+this.Nc),WFc,""+this.Mc),XFc,""+this.Oc),"renamePrefixNamespaceAssumeCrossModuleNames",mFc),"renamePrefixNamespace",this.Qc),"renamePrefix",this.Pc),"replaceIdGenerators",""+this.Rc),"replaceMessagesWithChromeI18n",""+this.Sc),"replaceStringsFunctionDescriptions",this.Tc),"replaceStringsInputMap",this.Uc),"replaceStringsPlaceholderToken",this.Vc),"replaceStringsReservedStrings",this.Wc),"reportOTIErrorsUnderNTI",mFc),"reportPath",this.Xc),"reserveRawExports",""+this.Yc),"rewriteFunctionExpressions",
""+this.$c),"rewritePolyfills",mFc),"runtimeTypeCheckLogFunction",this.ad),"runtimeTypeCheck",""+this._c),"shadowVariables",""+this.bd),"skipNonTranspilationPasses",""+this.cd),"smartNameRemoval",""+this.dd),"sourceMapDetailLevel",this.ed),"sourceMapFormat",this.fd),"sourceMapLocationMappings",this.gd),"sourceMapOutputPath",this.hd),"stripNamePrefixes",this.jd),"stripNameSuffixes",this.kd),"stripTypePrefixes",this.ld),"stripTypes",this.md),"summaryDetailLevel",""+this.nd),"syntheticBlockEndMarker",
this.od),"syntheticBlockStartMarker",this.pd),"tcProjectId",this.qd),"tracer",this.rd),"transformAMDToCJSModules",mFc),"trustedStrings",""+this.sd),"tweakProcessing",this.td),"tweakReplacements",K3(this.ud)),"useDebugLog",""+this.vd),"useNewTypeInference",""+this.wd),"emitUseStrict",this.db),"useTypesForLocalOptimization",""+this.yd),"variableRenaming",this.zd),"warningsGuard",this.Ad),"wrapGoogModulesForWhitespaceOnly",""+this.Bd));return a};_.a=false;_.b=false;_.f=false;_.g=false;_.i=false;_.n=
false;_.o=false;_.q=false;_.r=false;_.w=false;_.A=false;_.B=false;_.C=false;_.D=false;_.F=false;_.H=false;_.I=false;_.J=false;_.K=false;_.L=false;_.M=false;_.O=false;_.P=false;_.Q=false;_.R=false;_.V=false;_.W=false;_.Y=false;_.ab=false;_.bb=false;_.cb=false;_.eb=false;_.ib=false;_.jb=false;_.kb=false;_.nb=false;_.qb=false;_.rb=false;_.tb=false;_.ub=false;_.vb=false;_.wb=false;_.zb=true;_.Ab=false;_.Bb=false;_.Cb=false;_.Db=false;_.Eb=false;_.Fb=false;_.Gb=false;_.Hb=false;_.Jb="// Input %num%";_.Nb=
false;_.Ob=false;_.Tb=false;_.Wb=false;_.Xb=500;_.Zb=false;_.$b=false;_._b=0;_.dc=false;_.fc=0;_.gc=false;_.hc=false;_.kc=false;_.mc=false;_.pc=false;_.qc=false;_.rc=false;_.sc=false;_.tc=false;_.uc=false;_.vc=false;_.wc=false;_.xc=false;_.yc=false;_.Bc=false;_.Cc=false;_.Dc=false;_.Ec=false;_.Fc=false;_.Gc=false;_.Hc=true;_.Ic=false;_.Jc=false;_.Kc=false;_.Lc=false;_.Mc=false;_.Nc=false;_.Oc=false;_.Rc=true;_.Sc=false;_.Yc=false;_.Zc=true;_.$c=false;_._c=false;_.bd=false;_.cd=false;_.dd=false;_.nd=
1;_.sd=false;_.vd=false;_.wd=false;_.xd=true;_.yd=false;_.Bd=true;var x3;var cK=Mkc(159);aW(182,14,{182:1,3:1,22:1,14:1},R3);var M3,N3,O3,P3;var UJ=Nkc(182,ZS,S3);aW(258,14,{258:1,3:1,22:1,14:1},W3);var T3,U3;var VJ=Nkc(258,ZS,X3);aW(216,14,{216:1,3:1,22:1,14:1},a4);var Y3,Z3,$3;var WJ=Nkc(216,ZS,b4);aW(259,14,{259:1,3:1,22:1,14:1},f4);var c4,d4;var XJ=Nkc(259,ZS,g4);aW(121,14,{121:1,3:1,22:1,14:1},t4);var h4,i4,j4,k4,l4,m4,n4,o4,p4;var YJ=Nkc(121,ZS,u4);aW(602,1,{},v4);var ZJ=Mkc(602);aW(217,14,
{217:1,3:1,22:1,14:1},A4);var w4,x4,y4;var $J=Nkc(217,ZS,B4);aW(162,14,{162:1,3:1,22:1,14:1},I4);var C4,D4,E4,F4,G4;var _J=Nkc(162,ZS,J4);aW(218,14,{218:1,3:1,22:1,14:1},O4);var K4,L4,M4;var aK=Nkc(218,ZS,P4);aW(192,21,aEc,R4);var bK=Mkc(192);aW(180,1,_Fc);_.Lg=function S4(a){return false};_.Mg=function T4(a){return false};_.Ng=function U4(a){return 2};_.Og=function V4(){return(pub(),iub).a};var NN=Mkc(180);aW(210,180,{210:1,180:1,3:1},b5);_.Lg=function c5(a){return Y4(this,a)};_.Mg=function d5(a){return Z4(this,
a)};_.Ng=function e5(a){return $4(this,a)};_.Pg=function f5(a){return _4(this,a)};_.Fd=function g5(){return Ic(new Kc($Cc),this.c.a.keySet().Pd())};_.a=false;_.d=0;var fK=Mkc(210);aW(624,1,aGc,i5);_.Qe=function j5(a,b){return h5(this,a,b)};_.Cd=function k5(a){return this===a};_.Se=function l5(){return new lvc(this)};var eK=Mkc(624);var m5;aW(618,1,UCc,u5);var o5,p5;var hK=Mkc(618);aW(298,1,{298:1,3:1,22:1},x5);_.Ud=function y5(a){return w5(this,a)};_.a=0;_.b=0;_.c=0;var gK=Mkc(298);aW(603,1,UCc,A5);
_.Fd=function B5(){return Bd(zd(zd(zd(zd(new Cd((Fkc(iK),iK.n)),"sortDependencies",""+this.b),"pruneDependencies",mFc),"dropMoochers",mFc),"entryPoints",this.a))};_.b=false;var iK=Mkc(603);aW(50,1,{50:1,3:1},G5,H5,I5,J5);_.Fd=function L5(){var a;return this.a==null?(Fkc(kK),kK.p+"@"+(a=uCc(this)>>>0,a.toString(16))):"DiagnosticGroup<"+this.a+">"};var C5;var kK=Mkc(50);aW(150,180,_Fc,M5);_.Lg=function N5(a){return this.b==(pZ(),nZ)&&E5(this.a,a)};_.Mg=function O5(a){var b,c;if(this.b!=(pZ(),nZ))for(c=
a.b.Pd();c.Jd();){b=c.Kd();if(F5(this.a,b))return true}return false};_.Ng=function P5(a){if(a.a!=null&&imc(a.a,this.a.a))return this.b!=(pZ(),nZ)?0:1;return 2};_.Pg=function Q5(a){return F5(this.a,a.g)?this.b:null};_.Fd=function R5(){return this.a+"("+this.b+")"};var jK=Mkc(150);var S5,T5,U5,V5,W5,X5,Y5,Z5,$5,_5,a6,b6,c6,d6,e6,f6,g6,h6,i6,j6,k6,l6,m6;aW(5,1,{5:1,3:1,22:1},s6);_.Ud=function t6(a){return emc(this.b,a.b)};_.Cd=function u6(a){return r6(this,a)};_.Ed=function v6(){return ACc(this.b)};
var lK=Mkc(5);var w6,x6;aW(851,1,CGc,G6);_.Tf=function H6(a,b){Rqb(this.a,a,A6,vD(qD(WL,1),bDc,24,0,[this]));Rqb(this.a,b,A6,vD(qD(WL,1),bDc,24,0,[this]))};_.Yf=function I6(a,b,c){switch(b.j.f){case 112:F6(this,a,b,c);break;case 101:Ebb();T0(this.a,DGc+Cmc(EGc,(oyc(),myc)),false);break;case 102:e2b(b,62)!=0&&(Ebb(),T0(this.a,DGc+Cmc(EGc,(oyc(),myc)),false));Ebb();T0(this.a,vGc,false);break;case 86:case 87:if(D3(this.a.M)==(q4(),h4)){Gbb(this.a,b,FGc);return false}break;case 65:if(b.j==(w7b(),G5b)&&
e2b(b,61)!=0)throw CV(new llc(GGc));}return true};_.Zf=function J6(a,b,c){var d,e,f,g,h,i;switch(b.j.f){case 29:g=g2b(b,51);!(!!g&&g.vh())&&C6(a,b)&&(T0(this.a,vGc,false),h=(Lib(),$ib(b,Kib)),i=oZb(gZb(hkb(this.a,"$jscomp.initSymbol"),vD(qD(SR,1),OEc,7,0,[]))),Q1b(h.e,d3b(i,h),h),N1(this.a,i),undefined);break;case 26:f=g2b(b,51);!!f&&f.vh()||E6(this,a,b);break;case 42:case 23:case 28:for(e=(!b.b?(msc(),msc(),lsc):new Z3b(b.b)).Pd();e.Jd();){d=e.Kd();if(d.j==(w7b(),Y6b)){D6(this,b,c);break}}break;
case 65:e2b(b,59)!=0&&(G9(),lab(this.a,true))}};var z6,A6;var mK=Mkc(851);aW(131,14,HGc);var K6,L6,M6,N6;var rK=Nkc(131,ZS,Q6);aW(619,131,HGc,R6);var nK=Nkc(619,rK,null);aW(620,131,HGc,S6);var oK=Nkc(620,rK,null);aW(621,131,HGc,T6);var pK=Nkc(621,rK,null);aW(622,131,HGc,V6);var qK=Nkc(622,rK,null);aW(849,950,CGc,b7);_.Tf=function c7(a,b){Rqb(this.a,a,W6,vD(qD(WL,1),bDc,24,0,[this]));Rqb(this.a,b,W6,vD(qD(WL,1),bDc,24,0,[this]))};_.Zf=function d7(a,b,c){var d,e;if(b.j==(w7b(),a5b)){d=false;for(e=(b.b?
b.b.f:null).b;e;e=e.d)if(e.j==j6b&&imc(e.qi(),MGc)){d=true;break}d||Y6(this,b)}else b.j==c7b&&Z6(this,b,c)};var W6;var yK=Mkc(849);aW(850,1,OGc,f7);_.Md=function g7(a){return e7(a)};_.Cd=function h7(a){return this===a};var sK=Mkc(850);aW(845,1,CGc,r7);_.Tf=function s7(a,b){this.c=new idb(this.a,a,b);Rqb(this.a,a,i7,vD(qD(WL,1),bDc,24,0,[this]));Rqb(this.a,b,i7,vD(qD(WL,1),bDc,24,0,[this]))};_.Yf=function t7(a,b,c){var d,e;if(b.j==(w7b(),G5b))Ppc(this.b,new y7(b));else if(b.j==c7b){e=c.j==X4b?c:c.e;
$d(e.j==X4b,e);d=Td(Xpc(this.b));Aqc(d.b,e)}return true};_.Zf=function u7(a,b,c){var d;d=Xpc(this.b);if(!!d&&b==d.a){cqc(this.b);q7(this,a,d)}};var i7;var xK=Mkc(845);aW(848,1,HEc,v7);_.Yf=function w7(a,b,c){return Dqc(this.a,b,0)==-1&&!(b.j==(w7b(),G5b)&&!(b.j==G5b&&e2b(b,60)!=0))};_.Zf=function x7(a,b,c){var d;if(b.j==(w7b(),h7b)){d=c3b((ce(lmc($Gc,Hmc(46))==-1,NEc,$Gc),new g4b(o6b,$Gc)),b);H2b(c,b,d)}else b.j==R6b&&!b.b&&S1b(b,c3b((ce(lmc($Gc,Hmc(46))==-1,NEc,$Gc),new g4b(o6b,$Gc)),b))};var tK=
Mkc(848);aW(534,1,{534:1},y7);var uK=Mkc(534);aW(846,1,{},A7);_.a=false;var wK=Mkc(846);aW(951,1,HEc);_.Yf=function B7(a,b,c){return!c||c.j!=(w7b(),G5b)||b==c.b};var VL=Mkc(951);aW(847,951,HEc,C7);_.Zf=function D7(a,b,c){this.a.a||b.j==(w7b(),R6b)&&!!b.b&&!z2b(b.b,_Gc)&&(this.a.a=true)};var vK=Mkc(847);var E7;aW(834,950,CGc,J7);_.Tf=function K7(a,b){Rqb(this.b,b,G7,vD(qD(WL,1),bDc,24,0,[this,new N7(this)]))};_.Zf=function L7(a,b,c){var d,e,f,g,h,i;b.j==(w7b(),a5b)&&I7(this,b,c)&&(d=(ivb(),tmc(smc(smc(smc(smc(smc(smc(tmc(vmc(kvb((e=
tmc(tmc(tmc(tmc(tmc(smc(smc(g2b(b,51).Hg(),58,45),92,47)," ",aHc),"[",bHc),"]",cHc),"<",dHc),">",eHc),jvb(e))),"^\\./",""),"/","$"),92,36),64,36),43,36),45,95),58,95),46,95),aHc,"_")+"$classdecl$var"+this.a++),f=(Lib(),g=Yib(b),!g?null:g2b(g,29)),h=$ib(c,Kib),H2b(c,b,(ce(lmc(d,Hmc(46))==-1,NEc,d),new g4b(o6b,d))),i=f3b(lZb((ce(lmc(d,Hmc(46))==-1,NEc,d),new g4b(o6b,d)),b,f5b),b),N2b(i,n0b(K1b(f))),Q1b(h.e,i,h),N1(this.b,i),undefined)};_.a=0;var G7;var BK=Mkc(834);aW(835,1,HEc,N7);_.Yf=function O7(a,
b,c){b.j==(w7b(),a5b)&&(Kd(b.j==a5b),b.b.j==o6b&&c.j==o6b)&&Ppc(this.a,new Q7(b.b,c.qi()));return true};_.Zf=function P7(a,b,c){switch(b.j.f){case 96:{Kd(b.j==(w7b(),a5b));if(b.b.j==o6b&&c.j==o6b){cqc(this.a);H2b(b,b.b,c3b(new g3b(r5b),b.b));N1(this.b.b,b)}}break;case 29:M7(this,a,b,c)}};var AK=Mkc(835);aW(533,1,{533:1},Q7);var zK=Mkc(533);aW(833,950,CGc,T7);_.Tf=function U7(a,b){Rqb(this.a,a,R7,vD(qD(WL,1),bDc,24,0,[this]));Rqb(this.a,b,R7,vD(qD(WL,1),bDc,24,0,[this]))};_.Zf=function V7(a,b,c){if(b.j==
(w7b(),_6b)&&!b.b){S1b(b,c3b(FZb(b.qi()),b));N1(this.a,b)}};var R7;var CK=Mkc(833);aW(544,950,HEc,Y7);_.Zf=function Z7(a,b,c){var d;Lib();(b.j==(w7b(),o6b)&&b.qi().length!=0||b.j==_6b&&!b.b)&&W7(this,a,b);d=g2b(b,29);!!d&&X7(this,a,K$b(d))};var DK=Mkc(544);aW(839,950,CGc,a8);_.Tf=function b8(a,b){Rqb(this.a,b,$7,vD(qD(WL,1),bDc,24,0,[this]))};_.Zf=function c8(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o;if(b.j!=(w7b(),G5b)||(b.b?b.b.f:null).j!=U4b)return;l=b.b.d;e=new f8;zib(this.a,l,new d8(this,e));d=l.d;
f=new nbb(this.a);i=mbb(f,b,gib(a));h=mbb(f,d,i);m=new fq(new Hxc,new iq);for(o=(k=(new Loc(h.e)).a.Xd().Pd(),new Qoc(k));o.a.Jd();){n=(g=o.a.Kd(),g.de());j=n.b;Dwc(e.a,j)&&!dq(m,h.d,j)&&Yp(m,h.d,j,j+"$"+(""+(new H2(this.a)).a.Y++))}wib(new yib(this.a,new Y7(m),new nbb(this.a)),d,d.e,i)};var $7;var GK=Mkc(839);aW(841,945,HEc,d8);_.Yf=function e8(a,b,c){if(!c)return true;if(c.j==(w7b(),l5b)&&b==(c.b?c.b.f:null)||c.j==e5b&&b==c.b){zib(this.a.a,b,this.b);return false}return true};var EK=Mkc(841);aW(840,
950,HEc,f8);_.Zf=function g8(a,b,c){Lib();if(!(b.j==(w7b(),o6b)&&b.qi().length!=0||b.j==_6b&&!b.b))return;Cwc(this.a,b.qi())};var FK=Mkc(840);aW(842,1,CGc,n8);_.Tf=function o8(a,b){Rqb(this.a,a,h8,vD(qD(WL,1),bDc,24,0,[this]));Rqb(this.a,b,h8,vD(qD(WL,1),bDc,24,0,[this]))};_.Yf=function p8(a,b,c){var d,e,f;switch(b.j.f){case 85:Ppc(this.b,new r8(b,false));break;case 65:b.j==(w7b(),G5b)&&e2b(b,60)!=0||Ppc(this.b,(e=b.b?b.b.f:null,f=c.j==j6b&&imc(c.qi(),MGc),new r8(e,f)));break;case 99:d=Td(Xpc(this.b));
d.a&&c.j==(w7b(),X4b)&&c.b==b&&(d.b=k8(c,d.e))}return true};_.Zf=function q8(a,b,c){var d,e;e=Xpc(this.b);if(b.j==(w7b(),G5b)&&e2b(b,60)!=0)m8(this,a,b,Td(e));else if(!!e&&e.e==b){d=$pc(this.b);hCc(d!=null);j8(this,e)}};var h8;var JK=Mkc(842);aW(357,1,{357:1},r8);_.a=false;_.b=null;_.c=false;_.d=false;var HK=Mkc(357);aW(843,1,HEc,s8);_.Yf=function t8(a,b,c){return b.j!=(w7b(),G5b)||b.j==G5b&&e2b(b,60)!=0};_.Zf=function u8(a,b,c){var d,e;if(b.j==(w7b(),h7b)){d=c3b((ce(lmc(gHc,Hmc(46))==-1,NEc,gHc),
new g4b(o6b,gHc)),b);e=G2b(d,d.g,85);e!=d.g&&(d.g=e);d.g=new K3b(85,1,d.g);H2b(c,b,d);this.b=true}else if(b.j==o6b&&imc(b.qi(),BGc)){d=c3b((ce(lmc(fHc,Hmc(46))==-1,NEc,fHc),new g4b(o6b,fHc)),b);H2b(c,b,d);this.a=true}};_.a=false;_.b=false;var IK=Mkc(843);aW(853,950,CGc,C8);_.Tf=function F8(a,b){var c,d,e,f,g;zib(this.a,b,new K8(this));zib(this.a,b,this);Rqb(this.a,a,x8,vD(qD(WL,1),bDc,24,0,[this]));zib(this.a,b,new Y7(this.c));g=new N8(this);zib(this.a,b,g);M8(g);B8(this);if(E3(this.a.M,(XKb(),PKb))){d=
new Q8(this);for(f=(!b.b?(msc(),msc(),lsc):new Z3b(b.b)).Pd();f.Jd();){e=f.Kd();c=g2b(e,89);ZKb(c,(bMb(),pLb))&&zib(this.a,e,d)}}};_.Zf=function G8(a,b,c){var d,e,f,g,h,i,j,k,l,m,n;if(!b.b||!tjb(b.b))return;l=gib(a);h=b.b;if(b.j!=(w7b(),a5b)&&b.j!=G5b&&!h.b&&(!c||(Lib(),!(c.j==F5b||c.j==E5b)))&&b.j!=_4b&&(d=$ib(b,w8),!!d&&d.j!=G5b)){n=(ce(lmc(_Gc,Hmc(46))==-1,NEc,_Gc),new g4b(o6b,_Gc));if(!!g2b(h,29)||!!g2b(b,29)){g=new I1b(false);y1b(g,new L1b(new g3b(M6b),(e=g2b(b,51),!e?null:e.Hg())));n=iZb(n,
n0b(g))}d3b(n,h);S1b(h,n);N1(this.a,n)}j=h.qi();(b.j==g6b||b.j==f5b)&&Cwc(this.b,b);f=Sob(l);if(l!=f){i=j;if(Wob(f,j,true)||Dwc(this.d,j)){do i=j+"$"+(""+(new H2(this.a)).a.Y++);while(Wob(f,i,true));h.vi(i);N1(this.a,h);m=l.d;Yp(this.c,m,j,i)}k=Vob(l,j);Xob(l,k);Qob(f,i,h,k.a)}};var v8,w8,x8;var PK=Mkc(853);aW(857,1,OGc,H8);_.Md=function I8(a){return hwc((y8(),v8),a.j)};_.Cd=function J8(a){return this===a};var KK=Mkc(857);aW(855,950,HEc,K8);_.Zf=function L8(a,b,c){b.j==(w7b(),o6b)&&!Wob(gib(a),b.qi(),
true)&&Cwc(this.a.d,b.qi())};var LK=Mkc(855);aW(856,950,HEc,N8);_.Zf=function O8(a,b,c){var d,e,f,g,h,i,j,k,l,m,n;Lib();if(!(b.j==(w7b(),o6b)&&b.qi().length!=0||b.j==_6b&&!b.b))return;g=b.qi();j=gib(a);n=Vob(j,g);if(!n)return;if(n.wh()!=g6b&&n.wh()!=f5b)return;(b.e.j==g6b||b.e.j==f5b)&&Cwc(this.e.b,b.e);d=n.d;f=null;for(l=d;;l=l.c){m=l.d;if(Mjb(l.d)){f=m;break}else if(!!m.e&&Mjb(m.e)){f=m.e;break}else if(Cjb(l.d)||!l.c)return}Wh(this.d,n,b);i=null;for(k=j;k!=d&&k.d!=f;k=k.c)k.d.j==G5b&&(i=k);if(i){e=
i.d;if(Hh(this.a,e,g))return;Wh(this.a,e,g);Cxc(this.c,f)||Exc(this.c,f,new P8("$jscomp$loop$"+(""+(new H2(this.e.a)).a.Y++)));h=Dxc(this.c,f);Cwc(h.b,n);Wh(this.b,e,h)}};var NK=Mkc(856);aW(535,1,{535:1},P8);var MK=Mkc(535);aW(854,950,HEc,Q8);_.Zf=function R8(a,b,c){b.j==(w7b(),G5b)&&glb(b,this.a.a)};var OK=Mkc(854);aW(836,1,CGc,e9);_.Tf=function g9(a,b){Rqb(this.a,a,V8,vD(qD(WL,1),bDc,24,0,[this]));Rqb(this.a,b,V8,vD(qD(WL,1),bDc,24,0,[this]))};_.Yf=function h9(a,b,c){switch(b.j.f){case 86:case 87:if(D3(this.a.M)==
(q4(),h4)){L1(this.a,sfb(b,(Ebb(),Cbb),vD(qD(qT,1),NCc,2,6,[FGc])));return false}break;case 119:L1(this.a,sfb(b,(Ebb(),Dbb),vD(qD(qT,1),NCc,2,6,[lFc])))}return true};_.Zf=function i9(a,b,c){b.j.f==96&&b9(this,a,b,c)};_.b=false;var S8,T8,U8,V8;var SK=Mkc(836);aW(837,950,HEc,j9);_.Zf=function k9(a,b,c){if(b.j!=(w7b(),B4b)||b.b==this.a)return;y2b(this.a,b.b)&&L1(this.b.a,sfb(b,(W8(),S8),vD(qD(qT,1),NCc,2,6,[])))};var QK=Mkc(837);aW(286,1,{},l9);_.a=false;var RK=Mkc(286);aW(838,1,CGc,z9);_.Tf=function B9(a,
b){Rqb(this.a,a,n9,vD(qD(WL,1),bDc,24,0,[this]));Rqb(this.a,b,n9,vD(qD(WL,1),bDc,24,0,[this]))};_.Yf=function C9(a,b,c){var d;switch(b.j.f){case 65:w9(a,b);break;case 45:x9(this,a,b,c);break;case 101:d=b.b;d.j==(w7b(),n5b)&&v9(this,d.b)}return true};_.Zf=function D9(a,b,c){u9(this,a,b,c)};_.b=0;var n9;var TK=Mkc(838);aW(858,950,CGc,iab);_.Tf=function mab(a,b){var c,d;d=!!kab(this.c.C);Rqb(this.c,b,F9,vD(qD(WL,1),bDc,24,0,[new vab(this,this.c),this]));c=kab(this.c.C);!!c&&(d?Uib(c,this.c):$1b(c))};
_.Zf=function nab(a,b,c){var d,e,f,g,h;switch(b.j.f){case 65:if(e2b(b,59)!=0){E9=0;U9(this,b,c)}break;case 29:d=(Lib(),$ib(b,new ykb((w7b(),G5b))));!!d&&e2b(d,59)!=0&&A2b(b,BGc,BGc.length)&&b.vi(vHc);break;case 33:d=(Lib(),$ib(b,new ykb((w7b(),G5b))));!!d&&e2b(d,59)!=0&&I2b(b,Kbb((ce(lmc(wHc,Hmc(46))==-1,NEc,wHc),new g4b(o6b,wHc)),b.k));break;case 102:e2b(b,62)!=0?_9(this,a,b,c):c.j==(w7b(),B5b)?aab(this,a,c,c.e):(e=(Lib(),$ib(b,Kib)),f=oZb(b.b?Kbb(YZb(F2b(b)),b.k):Kbb(new g3b(v7b),b.k)),g=hab(this,
FZb(DHc+(""+this.j.a.Y++))),h=lZb(Y1b(g,false),hab(this,(ce(lmc(DHc,Hmc(46))==-1,NEc,DHc),new g4b(o6b,DHc))),q7b),H2b(c,b,g),Q1b(e.e,f,e),Q1b(e.e,h,e),aab(this,a,f,f.e),qib(a),undefined)}};_.a=false;_.k=false;var E9=0,F9;var YK=Mkc(858);aW(358,1,HEc,pab,qab);_.Yf=function rab(a,b,c){switch(b.j.f){case 65:return false;case 83:zqc(this.g,0,b.b.qi());break;case 71:case 70:case 72:case 73:++this.c;++this.b;break;case 67:++this.b;break;case 82:c=b.e;!!c&&c.j==(w7b(),k7b)&&c.b==b&&!!b.d.b&&++this.j;break;
case 74:if(e2b(b,67)==0&&(this.b==0&&!b.b||!!b.b&&Dqc(this.g,b.b.qi(),0)==-1)){this.d=true;this.a&&Q1b(c,J9(this.i,this.e,this.f),b)}break;case 75:if(this.c==0||!!b.b&&Dqc(this.g,b.b.qi(),0)==-1){this.d=true;this.a&&Q1b(c,J9(this.i,this.e,this.f),b)}break;case 39:if(this.j==0){this.d=true;this.a&&e2b(b,67)==0&&Q1b(c,J9(this.i,this.e,this.f),b)}break;case 0:this.d=true;this.a&&Q1b(c,J9(this.i,this.e,this.f),b);break;case 102:this.d=true}return true};_.Zf=function sab(a,b,c){switch(b.j.f){case 83:Fqc(this.g,
0);break;case 71:case 70:case 72:case 73:--this.c;--this.b;break;case 67:--this.b;break;case 82:c=b.e;!!c&&c.j==(w7b(),k7b)&&c.b==b&&!!b.d.b&&--this.j}};_.a=false;_.b=0;_.c=0;_.d=false;_.f=0;_.j=0;var UK=Mkc(358);aW(859,945,HEc,vab);_.Yf=function wab(a,b,c){switch(b.j.f){case 102:uab(this,a,b);break;case 71:case 72:case 70:tab(this,a,b);break;case 68:if(I9(this.c,b.b)){L1(this.a,sfb(b,(Ebb(),Dbb),vD(qD(qT,1),NCc,2,6,["Case statements that contain yields"])));return false}}return true};var VK=Mkc(859);
aW(536,1,{536:1},xab);_.b=0;var WK=Mkc(536);aW(359,1,{359:1},yab);_.a=0;_.b=0;var XK=Mkc(359);aW(793,950,CGc,Hab);_.Tf=function Jab(a,b){var c;for(c=b.b;c;c=c.d)Iab(c)&&(Ld(Iab(c),c),this.f=0,this.d=new Hxc,this.e=new xwc,this.b=new Fwc,this.g=new Fwc,this.a=new Fwc,zib(this.c,c,this),undefined);Q1(this.c,cLb(this.c.r,(bMb(),MLb)))};_.Zf=function Kab(a,b,c){Dab(this,a,b,c)};_.f=0;var zab,Aab;var cL=Mkc(793);aW(796,951,HEc,Mab);_.Zf=function Nab(a,b,c){b.j==(w7b(),X4b)&&z2b(b.b,HHc)&&Ojb(c.e)&&Lab(this,
b,c)};var ZK=Mkc(796);aW(794,945,HEc,Oab);_.Yf=function Pab(a,b,c){var d;if(this.a)return false;if(!c||xjb(c)||(Lib(),c.j==(w7b(),S6b)||c.j==U6b||c.j==U4b||c.j==m6b)){if(b.j==(w7b(),B5b)){d=b.b.b;if(!!d&&(A2b(d,IHc,IHc.length)||A2b(d,JHc,JHc.length))){this.a=true;return false}}return true}return false};_.a=false;var $K=Mkc(794);aW(237,1,{237:1},Qab);_.Fd=function Rab(){return"("+this.a+$Cc+this.b+")"};var _K=Mkc(237);aW(197,1,{197:1},Sab);_.Fd=function Tab(){return"("+this.a+$Cc+this.b+")"};var aL=
Mkc(197);aW(795,950,HEc,Xab);_.Zf=function Yab(a,b,c){var d,e,f,g,h,i,j,k,l,m,n;d=g2b(b,29);if(d)for(m=new grc(K$b(d));m.a<m.c.a.length;){l=erc(m);Vab(this,a,l)}f=b.j==(w7b(),_6b)&&!b.b;if(b.j==o6b||f){h=b.qi();if(imc(this.a,h))return;n=Vob(gib(a),h);if(!!n&&!n.d.c){i=h+"$$"+this.a;if(f)Uab(b,(ce(lmc(i,Hmc(46))==-1,NEc,i),new g4b(o6b,i)));else{b.vi(i);k=G2b(b,b.g,40);k!=b.g&&(b.g=k);h!=null&&(b.g=new U3b(40,h,b.g))}N1(a.c,b)}else if(!n&&Enc(this.b.e,h)){c.j==X4b&&c.b==b&&(k=G2b(c,c.g,50),k!=c.g&&
(c.g=k),false);j=Dnc(this.b.e,h);g=hkb(this.b.c,j.a);e=j.b.length==0;if(f){e?R1b(b,f3b(g,b)):Uab(b,tZb(g,QZb(j.b)));N1(a.c,b)}else{e?I2b(b,f3b(g,b)):I2b(b,f3b(tZb(g,QZb(j.b)),b));N1(a.c,g)}}}};var bL=Mkc(795);aW(844,950,CGc,abb);_.Tf=function bbb(a,b){Rqb(this.a,b,Zab,vD(qD(WL,1),bDc,24,0,[this]))};_.Zf=function cbb(a,b,c){Ajb(b)&&_ab(a,b,c)};var Zab;var dL=Mkc(844);aW(829,950,CGc,hbb);_.Tf=function ibb(a,b){Qqb(this.a,b,fbb,vD(qD(WL,1),bDc,24,0,[this]))};_.Zf=function jbb(a,b,c){var d,e,f;if(b.j!=
(w7b(),c7b))return;d=(Lib(),$ib(b,new ykb(a5b)));if(!d||d.b.d.j==r5b){pib(a,b,dbb,vD(qD(qT,1),NCc,2,6,[]));return}if(c.j==X4b){e=$ib(c,new ykb(G5b));if(!e){pib(a,b,dbb,vD(qD(qT,1),NCc,2,6,[]));return}f=e.e;if(f.j==j6b)if(A2b(f,MGc,MGc.length));else pib(a,b,ebb,vD(qD(qT,1),NCc,2,6,[f.qi()]));else pib(a,b,dbb,vD(qD(qT,1),NCc,2,6,[]))}};var dbb,ebb,fbb;var eL=Mkc(829);aW(108,1,{},nbb,obb);var kbb;var hL=Mkc(108);aW(667,1,{},pbb);_.Qg=function qbb(a,b,c,d){};var fL=Mkc(667);aW(666,1,{},vbb);var gL=Mkc(666);
var Cbb,Dbb;aW(831,1,CGc,Nbb);_.Tf=function Obb(a,b){Rqb(this.b,a,Lbb,vD(qD(WL,1),bDc,24,0,[this]));Rqb(this.b,b,Lbb,vD(qD(WL,1),bDc,24,0,[this]))};_.Yf=function Pbb(a,b,c){return true};_.Zf=function Qbb(a,b,c){var d,e,f,g,h,i,j;switch(b.j.f){case 18:d=F2b(b);e=F2b(b);f=f3b(Kbb(gZb(Y1b(this.c.Gd(),false),vD(qD(SR,1),OEc,7,0,[d,e])),b.k),b);H2b(c,b,f);N1(this.b,f);break;case 59:g=F2b(b);h=F2b(b);i=Kbb(gZb(Y1b(this.c.Gd(),false),vD(qD(SR,1),OEc,7,0,[Y1b(g,false),h])),b.k);j=f3b(Kbb(cZb(g,i),b.k),b);
H2b(c,b,j);N1(this.b,j)}};_.a=false;var Lbb;var jL=Mkc(831);aW(832,1,{213:1},Sbb);_.Gd=function Tbb(){return Rbb(this)};var iL=Mkc(832);aW(541,1,{},dcb);_.a=false;_.f="JSCompiler_temp";var lL=Mkc(541);aW(878,1,{},icb);_.Fd=function jcb(){return Bd(zd(zd(new Cd((Fkc(kL),kL.n)),"sideEffects",""+this.b),"extractBeforeStatement",this.a))};_.b=false;var kL=Mkc(878);aW(579,950,HEc,ocb);_.Zf=function pcb(a,b,c){var d,e,f,g,h,i,j,k;if(!c||xjb(c)||(Lib(),c.j==(w7b(),S6b)||c.j==U6b||c.j==U4b||c.j==m6b))if(b.j==
(w7b(),B5b)){e=b.b.b;if(!!e&&(A2b(e,IHc,IHc.length)||A2b(e,JHc,JHc.length))){this.b=(u3(),q3);return}}if(this.d&&b.j==(w7b(),y5b)){this.b=(u3(),p3);if(e2b(b,63)!=0);else!!b.b&&!!b.b.d&&b.b.d==(b.b?b.b.f:null)&&kcb(a,b)}else if(this.d&&b.j==(w7b(),S5b)){this.b=(u3(),p3);kcb(a,b)}else if(this.c)if(this.b!=(u3(),q3)&&Smb(a,b))this.b=o3;else if(Tmb(b)){h=(Rmb(),b.b.d.qi());f=Tub(U2((!a.d&&!!a.g&&(a.d=_0(a.c,a.g)),a.d)),h,(d=g2b(b,51),!d?null:d.Hg()),p3b(b.i),o3b(b.i));!!f&&P2((!a.d&&!!a.g&&(a.d=_0(a.c,
a.g)),a.d),lvb(f.a))}if(!!c&&(c.j==(w7b(),B5b)||!(i=(j=Ypc(a.b),iE(j,7)?k=j:k=j.Uj.Uj,k),$d(i.j==U6b||i.j==S6b||i.j==U4b||i.j==G5b||i.j==m6b,i),i.j==U6b||i.j==S6b||i.j==U4b))&&b.j==(w7b(),X4b)&&z2b(b.b,HHc)&&!!b.b.d&&b.b.d.j==(w7b(),$6b)){g=b.b.d.qi();imc(g.substr(0,5),"goog.")&&P2((!a.d&&!!a.g&&(a.d=_0(a.c,a.g)),a.d),MEc);P2((!a.d&&!!a.g&&(a.d=_0(a.c,a.g)),a.d),g)}};_.c=false;_.d=false;var mL=Mkc(579);aW(798,1,{905:1},qcb);_.eg=function rcb(){throw CV(new llc("Code changes forbidden"));};var nL=
Mkc(798);var ucb,vcb,wcb,xcb,ycb,zcb,Acb,Bcb,Ccb,Dcb,Ecb,Fcb,Gcb;aW(807,950,CGc,Jcb);_.Tf=function Kcb(a,b){Icb(this,a)};_.Zf=function Lcb(a,b,c){var d,e,f,g,h,i;switch(b.j.f){case 26:e=b.b.d;e.j==(w7b(),$6b)&&Cwc(this.b,e.qi());break;case 43:for(d=b.b;d;d=d.d)Cwc(this.b,d.qi())}h=iE(b.k,23)?b.k:null;!!h&&Qcb(this.c,h);if(t2b(b)){f=(Lib(),g=Yib(b),!g?null:g2b(g,29));if(!!f&&(f.a&wGc)==LCc){i=j1(this.a).ih(h2b(b));!!i&&Qcb(this.c,i)}}};var pL=Mkc(807);aW(808,1,{},Rcb);_.Rg=function Scb(){return this.b.b};
_.Sg=function Tcb(){return this.b.b};_.Tg=function Ucb(a){return Qcb(this,a.d),this.b.b};_.Ug=function Vcb(a){return Mcb(this,a)};_.Vg=function Wcb(){return this.b.b};_.Wg=function Xcb(a){return this.b.b};_.Xg=function Ycb(){return this.b.b};_.Yg=function Zcb(){return this.b.b};_.Zg=function $cb(a){return Ncb(this,a)};_.$g=function _cb(a){return a.d._i(this),this.b.b};_._g=function adb(){return this.b.b};_.ah=function bdb(a){return this.b.b};_.bh=function cdb(a){return Ocb(this,a)};_.dh=function ddb(a){return Pcb(this,
a)};_.eh=function edb(){return this.b.b};_.fh=function fdb(){return this.b.b};var oL=Mkc(808);aW(778,1,{},idb);_.b=0;_.e=false;var vL=Mkc(778);aW(451,945,HEc,vdb);_.Yf=function wdb(a,b,c){!!this.a.c&&b==this.a.c&&(this.a.d=gib(a));jdb(this,(!a.d&&!!a.g&&(a.d=_0(a.c,a.g)),gib(a)),b);return true};var qL=Mkc(451);aW(334,1,{334:1,3:1},Bdb);_.Fd=function Ddb(){return zdb(this)+" ("+this.q+"): "+Ic(new Kc($Cc),new joc(Lc("globalSets="+this.f,"localSets="+this.g,vD(qD(lT,1),bDc,1,5,["totalGets="+this.p,
"aliasingGets="+this.a,"callGets="+this.c]))))};_.a=0;_.c=0;_.e=0;_.f=0;_.g=0;_.i=0;_.p=0;var sL=Mkc(334);aW(155,14,{155:1,3:1,22:1,14:1},Ldb);var Edb,Fdb,Gdb,Hdb,Idb,Jdb;var rL=Nkc(155,ZS,Mdb);aW(171,1,{171:1},Ndb);_.Fd=function Odb(){return a3b(this.a,true,true,true)};var uL=Mkc(171);aW(147,14,{147:1,3:1,22:1,14:1},Xdb);var Pdb,Qdb,Rdb,Sdb,Tdb,Udb,Vdb;var tL=Nkc(147,ZS,Ydb);aW(383,1,UCc,_db);_.hh=function beb(a){return GAb(this.b,a)};_.ih=function ceb(a){return Zdb(this,a)};_.gh=function aeb(a){var b,
c,d;Ld(!a.isEmpty(),"Cannot create union type with no members");b=this.b.b;for(d=a.Pd();d.Jd();){c=d.Kd();b=ozb(b,c)}return b};_.jh=function deb(a,b){var c,d,e,f,g;g=a;f=myb(g).size();e=b.size();if(e==f)return oyb(g,b);d=new Mqc(f);for(c=0;c<f;c++)Aqc(d,c<e?b.getAtIndex(c):this.b.G);return oyb(g,d)};var xL=Mkc(383);aW(756,1,{126:1,3:1,124:1},eeb);_.Od=function feb(a){return $db(this.a,a),null};_.Cd=function geb(a){return this===a};var wL=Mkc(756);var heb,ieb,jeb,keb,leb,meb,neb,oeb,peb,qeb,reb,seb,
teb,ueb,veb,web,xeb,yeb,zeb,Aeb,Beb,Ceb,Deb,Eeb,Feb,Geb,Heb,Ieb,Jeb,Keb,Leb,Meb,Neb;aW(696,1,HEc);_.Yf=function Web(a,b,c){var d,e;if(!c)Ppc(this.d,(Zeb(),Yeb));else{Ppc(this.d,$eb(Xpc(this.d),this.c,c,b));if(!!c&&Peb.contains(c.j)&&Uh(this.g,c))for(e=Xh(this.g,c).Pd();e.Jd();){d=e.Kd();kl(this.e,d,1);Wh(this.f,c,d)}}return true};_.Zf=function Xeb(a,b,c){var d;!!c&&Peb.contains(b.j)&&Uh(this.f,b)&&Xk(this.e,Xh(this.f,b));(b.j==(w7b(),R6b)||b.j==i7b)&&Teb(this,c);lob(this,a,b);d=$pc(this.d);hCc(d!=
null)};var Peb,Qeb;var zL=Mkc(696);aW(122,1,{122:1},afb);_.c=false;var Yeb;var yL=Mkc(122);aW(557,379,{});var AL=Mkc(557);var bfb;var dfb;aW(326,1,{},mfb);_.a=false;var BL=Mkc(326);aW(60,1,{60:1,3:1},ofb,pfb);_.Cd=function qfb(a){var b;if(this===a)return true;if(a==null||CL!=yb(a))return false;b=a;if(this.a!=b.a)return false;if(this.d!=b.d)return false;if(!imc(this.c,b.c))return false;if(this.b!=b.b)return false;if(this.f!=null?!imc(this.f,b.f):b.f!=null)return false;return r6(this.g,b.g)};_.Ed=function rfb(){var a;
a=ACc(this.g.b);a=31*a+ACc(this.c);a=31*a+(this.f!=null?ACc(this.f):0);a=31*a+this.d;a=31*a+uCc(this.b);a=31*a+this.a;return a};_.Fd=function ufb(){return this.g.b+". "+this.c+" at "+(this.f!=null&&this.f.length>0?this.f:"(unknown source)")+" line "+(this.d!=-1?""+this.d:"(unknown line)")+" : "+(this.a!=-1?""+this.a:"(unknown column)")};_.a=0;_.d=0;var CL=Mkc(60);aW(291,1,{291:1,904:1,3:1},zfb);_.Ig=function Bfb(){return Sn(),new My(Td(this.e))};_.Jg=function Cfb(){return wfb(this)};_.Hg=function Afb(){return this.e};
_.Fd=function Dfb(){return this.e};_.b=0;_.c=0;var FL=Mkc(291);aW(567,1,UCc,Lfb);var EL=Mkc(567);aW(41,21,{3:1,40:1,41:1,21:1,38:1},Mfb,Nfb,Ofb,Pfb);var aT=Mkc(41);aW(292,41,{292:1,3:1,40:1,41:1,21:1,38:1},Qfb);var DL=Mkc(292);aW(672,1,UCc,Tfb);_.Fg=function Ufb(a){return Rfb(this,a)};_.Gg=function Vfb(){return this.a};_.Kg=function Wfb(){return this.c};var JL=Mkc(672);aW(673,1,UCc,Xfb);var GL=Mkc(673);aW(674,1,{},Yfb);_.kh=function Zfb(a,b,c,d){Aqc(this.b,new _fb);Kob(this.a,a,b,c,d)};_.lh=function $fb(a,
b,c,d){Aqc(this.c,new _fb);Lob(this.a,a,b,c,d)};var HL=Mkc(674);aW(415,1,UCc,_fb);var IL=Mkc(415);aW(852,1,CGc,jgb);_.Tf=function kgb(a,b){Rqb(this.c,a,agb,vD(qD(WL,1),bDc,24,0,[this]));Rqb(this.c,b,agb,vD(qD(WL,1),bDc,24,0,[this]))};_.Yf=function lgb(a,b,c){switch(b.j.f){case 86:case 87:if(D3(this.c.M)==(q4(),h4)){Gbb(this.c,b,FGc);return false}break;case 65:if(b.j==(w7b(),G5b)&&e2b(b,61)!=0)throw CV(new llc(GGc));}return true};_.Zf=function mgb(a,b,c){var d,e,f;switch(b.j.f){case 43:egb(this,b);
break;case 98:c.j==(w7b(),B6b)&&(d=b.qi(),e=b.b.b,f=Kbb(SZb(d,$1b(b.b)),b.k),N2b(f,g2b(b,29)),H2b(c,b,f),c3b(f,e),N1(this.c,f),undefined);break;case 101:dgb(this,a,b,c);break;case 115:Abb(a,b,this.a);break;case 116:c.j==(w7b(),e7b)||Bbb(a,b,this.a)}};_.a=false;var agb;var KL=Mkc(852);aW(304,410,{},pgb,qgb);_.b=true;_.c=true;var LL=Mkc(304);aW(565,376,{},tgb);_.Uf=function ugb(){var a;a=this.d+this.f==0?(RAc(),OAc):(RAc(),QAc);this.d+this.f>0&&xBc(this.b,a,wYb("%d error(s), %d warning(s)",vD(qD(lT,
1),bDc,1,5,[Blc(this.d),Blc(this.f)])))};_.Vf=function vgb(a,b){switch(a.f){case 0:BBc(this.b,nfb(b,a,this.a));break;case 1:CBc(this.b,nfb(b,a,this.a))}};var ML=Mkc(565);aW(952,1,eIc);_.mh=function wgb(a){};_.nh=function xgb(a){};_.Yf=function ygb(a,b,c){return true};var UL=Mkc(952);aW(257,952,eIc,Cgb,Dgb);_.mh=function Fgb(a){var b,c,d;ce(true,"MakeDeclaredNamesUnique requires an ES6-compatible scope creator. %s is not compatible.",a.j);b=hib(a);if(Wpc(this.b)){Zd(b.j!=(w7b(),G5b)||!this.c);d=this.c}else{c=
b.j!=(w7b(),G5b)&&!Tib(b);d=Xpc(this.b).ph(hib(a),c)}Ppc(this.b,d);zgb(this,a,b)};_.nh=function Ggb(a){var b;(b=fqc(a.n)+a.k.a.length,Zd(b>0),b-1)==0||cqc(this.b)};_.Zf=function Hgb(a,b,c){var d,e;switch(b.j.f){case 29:case 107:Bgb(this,a,b,c);break;case 91:{e=Agb(this,b.qi());if(e!=null&&!b.b){d=c3b(FZb(b.qi()),b);R1b(b,d);Bgb(this,a,d,b)}break}}};_.a=false;var QL=Mkc(257);aW(339,1,{907:1},Jgb,Kgb);_.oh=function Lgb(a,b){var c,d;if(b&&this.f!=this)this.f.oh(a,true);else if(!imc(a,BGc))if(this.e)vx(this.g,
a,0,1);else if(!Enc(this.d,a)){c=kl(this.g,a,1);d=null;c!=0&&(d=a+LHc+c);Gnc(this.d,a,d)}};_.ph=function Mgb(a,b){return new Kgb(a,this.g,b,this)};_.qh=function Ngb(){return this.f};_.rh=function Ogb(a){return Dnc(this.d,a)};_.sh=function Pgb(){return false};_.Fd=function Qgb(){return Bd(zd(zd(zd(zd(new Cd(Ikc(this.Qj)),"scopeRoot",this.i),"nameUsage",this.g),"declarations",this.d),"global",""+this.e))};_.e=false;var OL=Mkc(339);aW(583,339,{907:1},Rgb);_.ph=function Sgb(a,b){return new Ugb(this.a,
this.c,this.b,false,b,this)};var NL=Mkc(583);aW(462,1,{907:1},Ugb);_.oh=function Vgb(a,b){Zd(!imc(a,BGc));b&&this.c!=this?this.c.oh(a,b):Enc(this.b,a)||Gnc(this.b,a,Tgb(this,a))};_.ph=function Wgb(a,b){return new Ugb(this.a,this.f,this.d,this.e,b,this)};_.qh=function Xgb(){return this.c};_.rh=function Ygb(a){return Dnc(this.b,a)};_.sh=function Zgb(){return this.e};_.e=false;var PL=Mkc(462);aW(435,1,{435:1,3:1},_gb);_.Fd=function bhb(){return $gb(this)};var RL=Mkc(435);var chb,dhb,ehb,fhb,ghb,hhb,
ihb,jhb,khb,lhb,mhb,nhb,ohb,phb,qhb,rhb,shb,thb,uhb,vhb,whb,xhb,yhb,zhb,Ahb,Bhb,Chb,Dhb,Ehb,Fhb,Ghb,Hhb,Ihb,Jhb,Khb,Lhb,Mhb,Nhb,Ohb,Phb,Qhb,Rhb,Shb,Thb,Uhb,Vhb,Whb,Xhb,Yhb,Zhb,$hb,_hb,aib,bib;aW(143,1,{},yib);_.p=false;var XL=Mkc(143);var Bib,Cib,Dib,Eib,Fib,Gib,Hib,Iib,Jib,Kib;aW(656,1,OGc,skb);_.Md=function tkb(a){return Lib(),a.j!=(w7b(),m6b)&&Xjb(a.e)};_.Cd=function ukb(a){return this===a};var YL=Mkc(656);aW(657,1,OGc,vkb);_.Md=function wkb(a){return Lib(),!(a.j==(w7b(),G5b)&&!(a.j==G5b&&e2b(a,
60)!=0))};_.Cd=function xkb(a){return this===a};var ZL=Mkc(657);aW(114,1,OGc,ykb);_.Md=function zkb(a){return a.j==this.a};_.Cd=function Akb(a){return this===a};var $L=Mkc(114);aW(653,1,OGc,Bkb);_.Md=function Ckb(a){return a.j==(w7b(),o6b)&&imc(a.qi(),this.a)};_.Cd=function Dkb(a){return this===a};var _L=Mkc(653);aW(654,1,OGc,Ekb);_.Md=function Fkb(a){return a.j==this.a};_.Cd=function Gkb(a){return this===a};var aM=Mkc(654);aW(655,1,OGc,Hkb);_.Md=function Ikb(a){return a.j!=(w7b(),G5b)};_.Cd=function Jkb(a){return this===
a};var bM=Mkc(655);aW(799,1,EEc,Mkb);_.Tf=function Nkb(a,b){Kkb(this,a,b)};_.a=false;var kM=Mkc(799);aW(805,1,{},Pkb);_.Qg=function Qkb(a,b,c,d){var e,f;Zd(c.j==(w7b(),o6b));e=c.e;f=Vob(a,b);if(!a.c)if((!f.a||W2(f.a))&&!W2(d))if(Cwc(this.a,f))return;if(e.j==G5b){if((!f.c?null:f.c.e).j==q7b){Xob(a,f);Qob(a,b,c,f.a);Okb(this,f.c,!f.c?null:f.c.e,(!f.c?null:f.c.e).e)}}else if(e.j==q7b){Zd(!!e.b&&!e.b.d);Okb(this,c,e,e.e)}};var cM=Mkc(805);aW(801,950,HEc,Rkb);_.Zf=function Skb(a,b,c){var d,e,f,g,h;Lib();
if(b.j==(w7b(),B5b)&&b.b.j==B4b){d=b.b;h=d.b;h.j==M5b&&(f=g2b(d,29),!!f&&(f.a&uIc)!=0)&&Cwc(this.a,(h.b?h.b.f:null).qi())}else b.j==_6b&&(g=g2b(b,29),!!g&&(g.a&uIc)!=0)?Cwc(this.a,b.qi()):b.j==M5b&&b.e.j==B5b&&(e=g2b(b,29),!!e&&(e.a&uIc)!=0)&&Cwc(this.a,(b.b?b.b.f:null).qi())};var dM=Mkc(801);aW(386,1,HEc,clb);_.Yf=function elb(a,b,c){b.j==(w7b(),b6b)&&Xkb(this,b);Lib();(b.j==S6b||b.j==U6b||b.j==U4b||b.j==m6b||b.j==b6b)&&Ukb(this,b,null,null);(b.j==S6b||b.j==U6b||b.j==U4b||b.j==m6b)&&blb(this,b);
b.j==G5b&&Vkb(this,b.b?b.b.f:null);rjb(b)&&b.j!=B4b&&Wkb(this,b);return true};_.Zf=function flb(a,b,c){var d,e;switch(b.j.f){case 70:e=b.b;X2b(b,(w7b(),D5b));d=new g3b(r5b);e3b(d,b);Q1b(b,d,e);P1b(b,Z1b(d,new g3b(d.j),false),e);Ykb(this,"WHILE node",b);break;case 65:glb(b,this.b)&&Ykb(this,"Function declaration",b);break;case 118:case 91:Zkb(this,b);break;case 106:_kb(this,b);break;case 110:$kb(this,b);break;case 108:alb(this,b);break;case 29:case 31:case 86:case 87:Tkb(this,b,c);break;case 92:N1(this.b,
b);H2b(c,b,F2b(b))}};_.a=false;var eM=Mkc(386);aW(803,950,CGc,ilb);_.Tf=function jlb(a,b){hlb(this,a,b)};_.Zf=function klb(a,b,c){var d,e,f,g,h,i,j;if(b.j==(w7b(),o6b)||b.j==_6b){if(b.qi().length==0)return;d=null;j=Vob(gib(a),b.qi());!!j&&(d=!j.c?null:(Lib(),f=Yib(j.c),!f?null:g2b(f,29)));i=!!d&&(d.a&37)!=0||vjb(W0(this.b),b);e=e2b(b,43)!=0;if(i&&!e){if(this.a){g=b.qi();throw CV(new llc(vIc+g+YDc+"  parent:"+b3b(b.e)));}h=G2b(b,b.g,43);h!=b.g&&(b.g=h);b.g=new K3b(43,1,b.g)}}};_.a=false;var fM=Mkc(803);
aW(800,950,HEc,llb);_.Zf=function mlb(a,b,c){if(b.j==(w7b(),r5b)&&c.j==b5b){Lkb(this.a,"empty member in class",b);Td(b.e);D2b(b.e,b)}};var gM=Mkc(800);aW(802,950,HEc,nlb);_.Zf=function olb(a,b,c){var d,e,f;if(b.j==(w7b(),M5b)){f=(b.b?b.b.f:null).qi();if(Dwc(this.a,f)){d=F2b(b);e=F2b(b);N1(this.b.b,b);I2b(b,sZb(d,e))}}else if(b.j==_6b){f=b.qi();if(Dwc(this.a,f))if(!b.si()){N1(this.b.b,b);b.ui()}}};var hM=Mkc(802);aW(806,1,eIc,plb);_.mh=function qlb(a){gib(a)};_.nh=function rlb(a){};_.Yf=function slb(a,
b,c){return true};_.Zf=function tlb(a,b,c){};var iM=Mkc(806);aW(804,950,CGc,vlb);_.Tf=function wlb(a,b){ulb(this,a,b)};_.Zf=function xlb(a,b,c){var d,e,f,g,h,i,j,k;if(b.j==(w7b(),o6b)){i=b.qi();if(b.qi().length==0)return;g=e2b(b,43)!=0;if(this.a){e=false;d=W0(this.b);Lib();if(e2b(b,43)!=0||vjb(d,b))e=true;else{e=false;f=null;k=Vob(gib(a),b.qi());!!k&&(f=!k.c?null:(h=Yib(k.c),!h?null:g2b(h,29)));!!f&&(f.a&37)!=0?e=true:e=false}e?ce(e==g,"The name %s is not annotated as constant.",i):ce(e==g,"The name %s should not be annotated as constant.",
i)}j=Dnc(this.c,i);j==null?Gnc(this.c,i,(gkc(),g?true:false)):ce((jCc(j),j)==g,"The name %s is not consistently annotated as constant.",i)}};_.a=false;var jM=Mkc(804);aW(953,1,{});var lM=Mkc(953);aW(588,58,OFc,ylb);_.Cg=function zlb(a){return new Blb};_.Dg=function Alb(){return XKb(),XKb(),WKb};var nM=Mkc(588);aW(587,1,EEc,Blb);_.Tf=function Clb(a,b){};var mM=Mkc(587);aW(87,58,OFc);_.Cg=function Elb(a){return this.th(a)};var oM=Mkc(87);var Flb,Glb,Hlb;aW(577,1,{},Slb);_.a=0;_.b=-1;_.c=0;_.e=-1;_.g=
0;_.i=0;_.j=0;_.k=0;_.o=-1;_.p=0;_.q=-1;_.r=-1;_.s=-1;_.t=0;_.v=0;_.A=0;_.B=0;_.C=0;_.F=0;_.G=0;_.H=0;var uM=Mkc(577);aW(663,1,GEc,Tlb);_.Qe=function Ulb(a,b){return Flc(a.de().n,b.de().n)};_.Cd=function Vlb(a){return this===a};_.Se=function Wlb(){return new lvc(this)};var qM=Mkc(663);aW(305,1,{305:1},Xlb);_.a=0;_.b=0;_.c=0;_.d=0;_.e=0;_.f=0;_.g=0;_.i=false;_.k=0;_.n=0;_.o=0;var rM=Mkc(305);aW(690,417,{},Ylb);_.gg=function Zlb(a){var b;b=a.length;if(b>0){this.b+=b;this.a=(qCc(b-1,a.length),a.charCodeAt(b-
1))}};_.sg=function _lb(){return this.a};_.a=0;_.b=0;var sM=Mkc(690);aW(572,1,EEc,kmb);_.Tf=function lmb(a,b){hmb(this,a,b)};_.c=false;_.e=0;_.g=0;_.j=false;_.k=0;_.o=0;_.q=false;var amb,bmb,cmb;var zM=Mkc(572);aW(413,1,EEc,pmb);_.Tf=function qmb(a,b){var c,d,e,f,g,h,i,j,k,l;$d(!this.f.c,"Nested loops are forbidden");this.f.c=true;omb(this);this.b=nmb(this);this.e=new xmb(this.f);L0(this.f.b,this.e);this.f.f=new xwc;for(i=new grc(this.d);i.a<i.c.a.length;){g=erc(i);Fnc(this.f.f,g,Blc(0))}f=new Fwc;
k=new Fwc;l=0;d=1;c=Sib(b);j=c;try{while(true){if(d>this.f.g&&this.b)return;d>100&&T1("Fixed point loop exceeded the maximum number of iterations.",null);++d;e=false;for(h=new grc(this.d);h.a<h.c.a.length;){g=erc(h);if(l==0&&!k.a.containsKey(g)||l==1&&f.a.containsKey(g)){++this.f.b.a;rmb(g,a,b);k.a.put(g,k);Fnc(this.f.f,g,Blc(this.f.b.a));if(this.f.b.j.a.d>0)return;else if(wmb(this.e)){f.a.put(g,f);e=true}else f.a.remove(g)!=null}else k.a.remove(g)!=null}j=c;c=Sib(b);if(l==0)if(e&&mmb(this,j,c))l=
1;else return;else{Zd(l==1);(!e||!mmb(this,j,c))&&(l=0)}}}finally{this.f.c=false;K1(this.f.b,this.e)}};_.a=0;_.b=false;var vM=Mkc(413);aW(309,1,{52:1,309:1},smb);_.Tf=function tmb(a,b){rmb(this,a,b)};_.Fd=function umb(){return"pass: "+this.b};var wM=Mkc(309);aW(573,1,{},vmb);_.a=0;_.b=0;var xM=Mkc(573);aW(670,1,{905:1},xmb);_.eg=function ymb(){this.b.e=this.b.b.a};_.a=0;var yM=Mkc(670);aW(293,1,EEc,Dmb,Emb);_.Tf=function Fmb(a,b){Bmb(this,a,b)};_.a=false;var BM=Mkc(293);aW(457,950,HEc,Gmb);_.Zf=function Imb(a,
b,c){b.j.f==28&&Hmb(b)};var AM=Mkc(457);var Jmb,Kmb,Lmb,Mmb,Nmb;var Pmb,Qmb;var Umb,Vmb;var Xmb,Ymb,Zmb,$mb;aW(96,14,{96:1,3:1,22:1,14:1},jnb,knb,lnb,mnb);var anb,bnb,cnb,dnb,enb,fnb,gnb,hnb;var CM=Nkc(96,ZS,onb);aW(268,14,{268:1,3:1,22:1,14:1},snb);var pnb,qnb;var DM=Nkc(268,ZS,tnb);aW(382,1,{905:1},unb);_.eg=function vnb(){this.a=true};_.a=false;var EM=Mkc(382);aW(582,950,CGc,xnb);_.Tf=function ynb(a,b){wnb(this,b)};_.Zf=function znb(a,b,c){var d,e;if(b.j!=(w7b(),G5b))return;e=null.Tj();if(e<0)return;
d=V1(this.a,b);!a.d&&!!a.g&&(a.d=_0(a.c,a.g));null.Tj(tcb().Tj().Tj(mjb(b)).Tj(p3b(b.i)).Tj().Tj(d.length).Tj(null.Tj()).Tj().Tj())};var FM=Mkc(582);aW(575,1,{},Anb);var GM=Mkc(575);aW(830,1,CGc,Enb);_.Tf=function Fnb(a,b){Rqb(this.a,b,Bnb,vD(qD(WL,1),bDc,24,0,[this]))};_.Yf=function Gnb(a,b,c){if(b.j==(w7b(),G5b)){Ppc(this.b,new Mnb(Vpc(this.b),b));b.j==G5b&&e2b(b,61)!=0&&T0(this.a,"es6/execute_async_generator",false)}return true};_.Zf=function Hnb(a,b,c){var d;d=Vpc(this.b);if(b.j==(w7b(),G5b)){ee(d.a.Hd()&&
oE(d.a.Gd())===oE(b),"unexpected function context:\nexpected: %s\nactual: %s",b,d.a);cqc(this.b)}switch(b.j.f){case 65:d.a.Hd()&&q2b(d.a.Gd())&&Dnb(this,d);break;case 29:if((d.a.Hd()&&q2b(d.a.Gd())||Inb(d.d))&&A2b(b,BGc,BGc.length)){b.vi(BIc);Jnb(d);M1(this.a,d.a.Gd())}break;case 33:if(d.a.Hd()&&q2b(d.a.Gd())||Inb(d.d)){H2b(c,b,e3b((ce(lmc(AIc,Hmc(46))==-1,NEc,AIc),new g4b(o6b,AIc)),b));Knb(d);M1(this.a,d.a.Gd())}break;case 103:$d(d.a.Hd()&&q2b(d.a.Gd()),"await found within non-async function body");
_d(!!b.b&&!b.b.d,"await should have 1 operand, but has %s",b2b(b));H2b(c,b,e3b(YZb(F2b(b)),b))}};var Bnb;var IM=Mkc(830);aW(356,1,{356:1},Lnb,Mnb);_.b=false;_.c=false;var HM=Mkc(356);aW(580,950,CGc,Rnb);_.Tf=function Snb(a,b){Zd(b.j==(w7b(),U6b));zib(this.a,b,this)};_.Zf=function Tnb(a,b,c){switch(b.j.f){case 85:!!b.b&&!b.b.d?Qnb(this,a,b):L1(this.a,lib(b,Nnb,vD(qD(qT,1),NCc,2,6,[])));return;case 43:case 42:case 30:case 35:case 34:case 32:case 31:break;case 91:(!b.si()||!(!!b.b&&!b.b.d))&&L1(this.a,
lib(b,Nnb,vD(qD(qT,1),NCc,2,6,[])));break;case 84:c.j==(w7b(),U6b)||L1(this.a,lib(b,Nnb,vD(qD(qT,1),NCc,2,6,[])));break;default:L1(this.a,lib(b,Nnb,vD(qD(qT,1),NCc,2,6,[])))}if(p3b(b.i)==1){K2b(b,o3b(b.i)-1);qib(a)}};var Nnb;var JM=Mkc(580);aW(418,1,EEc,_nb);_.Tf=function bob(a,b){Xnb(this,b)};var Unb,Vnb;var OM=Mkc(418);aW(419,1,{419:1},cob);var KM=Mkc(419);aW(695,1,{},gob);var dob;var MM=Mkc(695);aW(698,1,QDc,iob);_.Od=function job(a){return zmc(a,omc(a,Hmc(46))+1)};_.Cd=function kob(a){return this===
a};var LM=Mkc(698);aW(697,696,HEc,mob);var NM=Mkc(697);aW(671,1,{});var nob,oob,pob,qob,rob,sob,tob,uob,vob,wob,xob,yob,zob,Aob,Bob,Cob,Dob,Eob,Fob;var QM=Mkc(671);aW(561,671,{},Mob);_.kh=function Nob(a,b,c,d){Kob(this,a,b,c,d)};_.lh=function Oob(a,b,c,d){Lob(this,a,b,c,d)};var PM=Mkc(561);aW(276,1,{276:1,3:1},Yob,Zob);_.Fd=function _ob(){return"Scope@"+this.d};_.b=0;var RM=Mkc(276);aW(181,14,MIc);var apb,bpb;var UM=Nkc(181,ZS,epb);aW(585,181,MIc,fpb);var SM=Nkc(585,UM,null);aW(586,181,MIc,gpb);var TM=
Nkc(586,UM,null);aW(183,1,NIc,mpb);_.uh=function opb(a){ipb(this);if(a<1||a>this.d.length)throw CV(new Nfb("Expected line number between 1 and "+this.d.length+"\nActual: "+a));return this.d[a-1]};_.Hg=function ppb(){return this.b};_.vh=function qpb(){return this.c};_.Fd=function rpb(){return this.b};_.a=null;_.c=false;_.d=null;var XM=Mkc(183);aW(253,1,{},spb);var VM=Mkc(253);aW(254,183,NIc,tpb);var WM=Mkc(254);aW(578,950,HEc,upb);_.Zf=function wpb(a,b,c){var d,e,f,g,h;this.a&&this.b!=null&&Zd(imc(this.b,
(d=g2b(b,51),!d?null:d.Hg())));switch(b.j.f){case 26:g=b.b?b.b.f:null;vpb(b,g.qi());break;case 65:e=ejb(b);e!=null&&e.length!=0&&g2b(b,40)==null&&(h=G2b(b,b.g,40),h!=b.g&&(b.g=h),e!=null&&(b.g=new U3b(40,e,b.g)));break;case 29:vpb(b,b.qi());break;case 43:for(f=b.b;f;f=f.d)f.j!=(w7b(),e5b)&&!f.si()&&vpb(f,f.qi())}};_.a=false;var YM=Mkc(578);aW(186,14,OIc);var xpb,ypb;var _M=Nkc(186,ZS,Bpb);aW(627,186,OIc,Cpb);_.Md=function Dpb(a){return true};var ZM=Nkc(627,_M,null);aW(628,186,OIc,Epb);_.Md=function Fpb(a){return a.j==
(w7b(),X4b)||a.j==u6b||a.j==G5b||a.j==o6b||(Lib(),a.j==M5b||a.j==L5b)||Sjb(a)||a.j==$6b&&Djb(a.e)||a.j==e7b};var $M=Nkc(628,_M,null);aW(185,14,PIc);var Gpb,Hpb;var cN=Nkc(185,ZS,Kpb);aW(625,185,PIc,Lpb);var aN=Nkc(625,cN,null);aW(626,185,PIc,Mpb);var bN=Nkc(626,cN,null);aW(431,1,{431:1,3:1},Rpb);_.a=false;_.b=null;var Npb,Opb;var dN=Mkc(431);var Tpb,Upb,Vpb,Wpb,Xpb,Ypb,Zpb,$pb,_pb,aqb,bqb,cqb;aW(566,180,_Fc,gqb);_.Og=function hqb(){return(pub(),oub).a};_.Pg=function iqb(a){var b,c,d,e,f,g,h,i,j,k,
l,m;g=a.e;!g&&a.f!=null&&(g=e1(this.a,a.f));if(g){m=false;for(b=g;b;b=b.e){l=b.j;d=null;if(l==(w7b(),G5b)){d=(Lib(),e=Yib(b),!e?null:g2b(e,29));m=true}else if(l==U6b)d=g2b(b,29);else if(b.j==q7b||b.j==B4b){h=jjb(b.b);if(h){h.j==$4b&&(h=h.b);h.j==G5b&&!m&&(d=(Lib(),e=Yib(b),!e?null:g2b(e,29)))}}if(d)for(k=(i=!d.d?null:d.d.p,!i?(msc(),msc(),lsc):i).Pd();k.Jd();){j=k.Kd();c=Dnc(this.b,j);if(c){f=c.Pg(a);if(f)return f}}}}return null};var eN=Mkc(566);aW(576,1,UCc,jqb);_.Fg=function kqb(a){return this.b};
_.Gg=function lqb(){return this.a};_.Kg=function mqb(){return this.c};var fN=Mkc(576);aW(564,1,{},oqb);_.Wf=function pqb(a,b){nqb(this,a,b)};var gN=Mkc(564);aW(381,1,{},sqb);var jN=Mkc(381);aW(310,1,{310:1},uqb);var hN=Mkc(310);aW(311,1,{311:1},vqb);_.Cd=function wqb(a){if(iE(a,311))return imc(this.a,a.a);return false};_.Ed=function xqb(){return ACc(this.a)};var iN=Mkc(311);aW(160,1,{},zqb);_.a=0;var kN=Mkc(160);var Aqb,Bqb,Cqb,Dqb,Eqb,Fqb,Gqb,Hqb,Iqb,Jqb,Kqb,Lqb,Mqb,Nqb,Oqb;aW(760,87,OFc,Sqb);_.th=
function Tqb(a){return new Hab(a)};_.Dg=function Uqb(){return XKb(),UKb};var uN=Mkc(760);aW(769,87,OFc,Vqb);_.th=function Wqb(a){return new n8(a)};_.Dg=function Xqb(){return XKb(),TKb};var lN=Mkc(769);aW(770,87,OFc,Yqb);_.th=function Zqb(a){return new _nb(a)};_.Dg=function $qb(){return XKb(),UKb};var mN=Mkc(770);aW(771,87,OFc,_qb);_.th=function arb(a){return new abb(a)};_.Dg=function brb(){return XKb(),TKb};var nN=Mkc(771);aW(772,87,OFc,crb);_.th=function drb(a){return new r7(a)};_.Dg=function erb(){return XKb(),
TKb};var oN=Mkc(772);aW(773,87,OFc,frb);_.th=function grb(a){return new b7(a)};_.Dg=function hrb(){return XKb(),TKb};var pN=Mkc(773);aW(774,87,OFc,irb);_.th=function jrb(a){return new G6(a)};_.Dg=function krb(){return XKb(),TKb};var qN=Mkc(774);aW(775,87,OFc,lrb);_.th=function mrb(a){return new jgb(a)};_.Dg=function nrb(){return XKb(),TKb};var rN=Mkc(775);aW(776,87,OFc,orb);_.th=function prb(a){return new C8(a)};_.Dg=function qrb(){return XKb(),TKb};var sN=Mkc(776);aW(777,87,OFc,rrb);_.th=function srb(a){return new iab(a)};
_.Dg=function trb(){return XKb(),TKb};var tN=Mkc(777);aW(761,87,OFc,urb);_.th=function vrb(a){return new Enb(a)};_.Dg=function wrb(){return XKb(),TKb};var vN=Mkc(761);aW(762,87,OFc,xrb);_.th=function yrb(a){return new Nbb(a)};_.Dg=function zrb(){return XKb(),TKb};var wN=Mkc(762);aW(763,87,OFc,Arb);_.th=function Brb(a){return new T7(a)};_.Dg=function Crb(){return XKb(),TKb};var xN=Mkc(763);aW(764,58,OFc,Drb);_.Cg=function Erb(a){return new hbb(a)};_.Dg=function Frb(){return XKb(),TKb};var yN=Mkc(764);
aW(765,87,OFc,Grb);_.th=function Hrb(a){return new J7(a)};_.Dg=function Irb(){return XKb(),TKb};var zN=Mkc(765);aW(766,87,OFc,Jrb);_.th=function Krb(a){return new e9(a)};_.Dg=function Lrb(){return XKb(),TKb};var AN=Mkc(766);aW(767,87,OFc,Mrb);_.th=function Nrb(a){return new z9(a)};_.Dg=function Orb(){return XKb(),TKb};var BN=Mkc(767);aW(768,87,OFc,Prb);_.th=function Qrb(a){return new a8(a)};_.Dg=function Rrb(){return XKb(),TKb};var CN=Mkc(768);var Srb,Trb,Urb,Vrb,Wrb,Xrb,Yrb,Zrb,$rb,_rb,asb,bsb,csb,
dsb,esb,fsb,gsb,hsb,isb,jsb,ksb,lsb,msb,nsb,osb,psb,qsb,rsb,ssb,tsb,usb,vsb,wsb,xsb,ysb,zsb,Asb;var Csb,Dsb,Esb,Fsb,Gsb,Hsb,Isb,Jsb,Ksb,Lsb,Msb;aW(818,318,{},Vsb);_.Ag=function Wsb(a,b){var c,d,e;d=a.e;if(!!d&&(d.j==(w7b(),U4b)||d.j==U6b))if(a.j==(w7b(),G5b))U$(this,Rsb(this,a));else if(a.j==B5b&&a.b.j==B4b){c=a.b;if(Qjb(c.b))U$(this,jfb(this.a,g2b(c,29)));else{e=c.b?c.b.f:null;U$(this,Tsb(this,e))}}else a.j==q7b&&!!a.b.b&&(Qjb(a.b)?U$(this,jfb(this.a,g2b(a,29))):U$(this,Tsb(this,a.b.b)));T$(this,
a,b)};var EN=Mkc(818);aW(819,1,QDc,Ysb);_.Od=function Zsb(a){return a.ei(1)};_.Cd=function $sb(a){return this===a};var DN=Mkc(819);var _sb,atb,btb,ctb,dtb,etb,ftb,gtb;aW(584,1,EEc,qtb);_.Tf=function rtb(a,b){ptb(this,a,b)};var itb,jtb,ktb;var FN=Mkc(584);aW(240,1,{240:1,3:1},vtb);_.wh=function wtb(){var a;for(a=this.c;a;a=a.e)if(stb.contains(a.j))return a.j;throw CV(new llc("The nameNode for "+this+" must be a descendant"+" of one of: "+stb));};_.Cd=function xtb(a){var b;if(!iE(a,240))return false;
b=a;return b.c==this.c};_.Ed=function ytb(){return Ab(this.c)};_.Fd=function ztb(){return"Var "+this.b+" @ "+this.c};var stb;var KN=Mkc(240);aW(338,240,{240:1,338:1,3:1},Atb);_.wh=function Btb(){return null};_.Cd=function Ctb(a){var b;if(!iE(a,338))return false;b=a;return b.d.d==this.d.d};_.Ed=function Dtb(){return bCc(this)};var GN=Mkc(338);aW(691,950,CGc,Qtb);_.Tf=function Ttb(a,b){Ptb(this,a,b)};_.Zf=function Utb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n;if(b.j==(w7b(),o6b)||b.j==_6b&&!b.b){n=b.qi();if(n.length==
0){Zd((Lib(),c.j==G5b&&!(c.j==G5b&&zjb(c.e)&&c.j==G5b&&Ujb(c.b))&&!Njb(c)||Njb(c)));return}if((c.j==q7b||(Lib(),c.j==G5b&&zjb(c.e)&&c.j==G5b&&Ujb(c.b)))&&Dwc(this.e,n)){Rtb(this.a,n);Ewc(this.e,n);d=K1b(g2b(b,29));e$b(d.a);d.e=true;N2b(b,n0b(d))}j=gib(a);k=Vob(j,n);if(!k){Lib();if(c.j==G5b&&!(c.j==G5b&&zjb(c.e)&&c.j==G5b&&Ujb(c.b))&&!Njb(c)||c.j==a5b&&(!(c.j==a5b&&Ujb(c.b))||!zjb(c.e))&&b==c.b);else{i=b.e;if(!!i&&b.j==o6b&&(i.j==z5b&&b!=i.b||i.j==T5b&&b!=(i.b?i.b.f:null)));else{g=j.d.j==G5b&&imc(BGc,
n);!g&&!(this.c&&W2((!a.d&&!!a.g&&(a.d=_0(a.c,a.g)),a.d)))&&pib(a,b,Jtb,vD(qD(qT,1),NCc,2,6,[n]));if(this.d)throw CV(new llc("Unexpected variable "+n));else{Rtb(this.a,n);Ewc(this.e,n);Qob(Tob(j),n,b,i1(this.a))}}}return}e=(!a.d&&!!a.g&&(a.d=_0(a.c,a.g)),a.d);l=k.a;if(e==l||!e||!l)return;f=e.j;m=l.j;h=a1(this.a);if(!this.d&&m!=f&&!!m&&!!f)if(f!=m&&Zrc(h.c[f.c],m.c));else!j.c?m!=f&&Zrc(h.c[m.c],f.c)?pib(a,b,Mtb,vD(qD(qT,1),NCc,2,6,[f.e,m.e,n])):pib(a,b,Ftb,vD(qD(qT,1),NCc,2,6,[f.e,m.e,n])):pib(a,b,
Htb,vD(qD(qT,1),NCc,2,6,[f.e,m.e,n]))}};_.c=false;_.d=false;var Etb,Ftb,Gtb,Htb,Itb,Jtb,Ktb,Ltb,Mtb;var JN=Mkc(691);aW(692,950,HEc,Vtb);_.Zf=function Wtb(a,b,c){var d,e,f,g;if(b.j==(w7b(),o6b)){switch(c.j.f){case 76:case 100:case 88:case 65:case 96:case 45:case 118:case 112:case 93:return;case 91:if(c.e.j==C6b)return;break;case 26:if(b==c.b){e=gib(a);g=Vob(e,b.qi());if(!g){pib(a,b,(Ntb(),Itb),vD(qD(qT,1),NCc,2,6,[b.qi()]));Cwc(this.a.e,b.qi())}}return;case 47:if(b==(c.b?c.b.f:null)&&t2b(b)&&t2b(c.b))return;
break;case 29:if(Ojb(c.e))return;break;case 61:if(Qjb(c.e))return}pib(a,b,(Ntb(),Gtb),vD(qD(qT,1),NCc,2,6,[b.qi()]));d=gib(a);f=Vob(d,b.qi());!f&&Cwc(this.a.e,b.qi())}};var HN=Mkc(692);aW(693,1,{},Ytb);_.Qg=function Ztb(a,b,c,d){var e,f,g,h,i;i=c.e;h=Vob(a,b);g=!h.c?null:h.c.e;if(i.j==(w7b(),g6b)||i.j==f5b||i.j==a5b||!!g&&(g.j==g6b||g.j==f5b||g.j==a5b)){L1(this.b.a,sfb(c,(Ntb(),Etb),vD(qD(qT,1),NCc,2,6,[])));return}if(!a.c){if(g.j==_4b&&i.j==_4b)return;e=Stb(c,h);Ntb();if(c.e.j==q7b&&(f=g2b(c,51),
!!f&&f.vh())&&Qjb(c)){Aqc(this.a,i);return}e||L1(this.b.a,sfb(c,Ltb,vD(qD(qT,1),NCc,2,6,[b,h.a?h.a.g.a:"??"])))}else imc(b,BGc)&&!(Ojb(c.e)&&c.j==o6b)&&L1(this.b.a,sfb(c,(Ntb(),Ktb),vD(qD(qT,1),NCc,2,6,[])))};var IN=Mkc(693);var $tb,_tb,aub;aW(222,14,{222:1,3:1,22:1,14:1},gub);var cub,dub,eub;var LN=Nkc(222,ZS,hub);aW(144,14,{144:1,3:1,22:1,14:1},qub);_.a=0;var iub,jub,kub,lub,mub,nub,oub;var MN=Nkc(144,ZS,rub);aW(432,1,{});var XN=Mkc(432);aW(719,432,{},xub);_.xh=function yub(a,b,c,d,e){var f;Hub();
if(!imc(b.substr(0,"/".length),"/")&&!(imc(b.substr(0,PFc.length),PFc)||imc(b.substr(0,WIc.length),WIc))){this.c.Wf((pZ(),oZ),new ofb(c,null,d,e,Eub,null,vD(qD(qT,1),NCc,2,6,[b,YFc])));return null}f=uub(this,a,b);f==null&&this.c.Wf((pZ(),oZ),new ofb(c,null,d,e,Fub,null,vD(qD(qT,1),NCc,2,6,[b])));return f};var ON=Mkc(719);aW(742,1,{},Cub);var PN=Mkc(742);aW(211,1,{},Lub,Mub);var Dub,Eub,Fub,Gub;var WN=Mkc(211);aW(617,1,QDc,Qub);_.Od=function Rub(a){return a.Hg()};_.Cd=function Sub(a){return this===
a};var QN=Mkc(617);aW(297,1,{},Vub);_.Fd=function Wub(){return this.a};var RN=Mkc(297);aW(615,1,{},Xub);_.Wf=function Yub(a,b){};var SN=Mkc(615);aW(266,14,XIc);var Zub;var UN=Nkc(266,ZS,_ub);aW(616,266,XIc,avb);_.Od=function bvb(a){return a};var TN=Nkc(616,UN,null);aW(267,14,{267:1,3:1,22:1,14:1},fvb);var cvb,dvb;var VN=Nkc(267,ZS,gvb);var hvb;aW(720,432,{},tvb);_.xh=function vvb(a,b,c,d,e){var f,g;Hub();imc(b.substr(0,1),"/")||(imc(b.substr(0,2),PFc)||imc(b.substr(0,3),WIc))?f=(g=qvb(this,a,b),g==
null&&(g=svb(this,a,b)),g):f=rvb(this,a,b);f==null&&this.c.Wf((pZ(),oZ),new ofb(c,null,d,e,Fub,null,vD(qD(qT,1),NCc,2,6,[b])));return f};var mvb,nvb;var ZN=Mkc(720);aW(721,1,GEc,xvb);_.Qe=function yvb(a,b){return wvb(a,b)};_.Cd=function zvb(a){return this===a};_.Se=function Avb(){return new lvc(this)};var YN=Mkc(721);aW(236,1,{904:1,236:1,3:1},Dvb);_.Ig=function Gvb(){return this.c};_.Jg=function Hvb(){return this.d};_.Cd=function Evb(a){var b;if(!iE(a,236))return false;b=a;return b.e==this.e&&b.b==
this.b&&vyc(b.d,this.d)&&vyc(b.c,this.c)&&vyc(b.a,this.a)};_.Hg=function Fvb(){return this.b};_.Ed=function Ivb(){return zrc(vD(qD(lT,1),bDc,1,5,[this.c,this.d,this.e,this.b,this.a]))};_.Fd=function Jvb(){return wYb("DependencyInfo(relativePath='%1$s', path='%2$s', provides=%3$s, requires=%4$s, loadFlags=%5$s)",vD(qD(lT,1),bDc,1,5,[this.e,this.b,this.c,this.d,this.a]))};var Bvb;var $N=Mkc(236);aW(910,1,{});var Kvb;var bO=Mkc(910);aW(555,557,{},Pvb);var _N=Mkc(555);aW(556,376,{},Qvb);_.Uf=function Rvb(){this.d+
this.f>0&&Nvb(this.d+" error(s), "+this.f+" warning(s)")};_.Vf=function Svb(a,b){Nvb(nfb(b,a,this.a))};var aO=Mkc(556);aW(255,953,{},Uvb);var cO=Mkc(255);var Vvb;var Xvb;var Zvb;var _vb,awb,bwb,cwb;var ewb,fwb;var hwb,iwb,jwb,kwb,lwb,mwb,nwb,owb,pwb,qwb,rwb,swb,twb,uwb;var wwb;var ywb,zwb;var Bwb,Cwb;var Ewb;var Gwb,Hwb,Iwb,Jwb;var Lwb;var Nwb;aW(820,1,UCc,Qwb);_.Fd=function Rwb(){return axb(Pwb(this),new $mc,(bDb(),aDb)).a};_.b=false;var dO=Mkc(820);aW(249,14,{249:1,3:1,22:1,14:1},$wb);var Wwb,Xwb,
Ywb;var eO=Nkc(249,ZS,_wb);aW(175,1,{175:1,3:1},uxb,vxb);_.Cd=function wxb(a){return cxb(this,a)};_.Ed=function yxb(){return zrc(vD(qD(lT,1),bDc,1,5,[this.i,this.e,this.j,this.k,this.d,this.g]))};_.Fd=function Hxb(){return axb(this,new $mc,(bDb(),aDb)).a};_.b=false;_.c=false;var iO=Mkc(175);aW(866,1,QDc,Jxb);_.Od=function Kxb(a){return Amc(a,0,lmc(a,Hmc(35)))};_.Cd=function Lxb(a){return this===a};var fO=Mkc(866);aW(157,1,{},Xxb);_.b=false;_.c=false;_.j=null;_.k=null;var hO=Mkc(157);aW(537,21,aEc,
Yxb);var gO=Mkc(537);var VR=Okc();aW(115,1,sJc);_.yh=function Gyb(){return cyb(this)};_.Eh=function Pyb(a){var b,c,d;return iyb(a),Zd(null.Tj()==1),b=null.Tj(),c=new Hxc,Exc(c,b,Kyb(this.e,b)),null.Tj(),d=new mt,null.Tj(new $Cb((bBb(),bBb(),aBb))),pzb(this.e,Vh(d,b))};_.Qh=function Zyb(){return myb(this)};_.di=function xzb(){return wyb(this,this.e.p)};_.Cd=function Iyb(a){return dyb(this,a)};_.zh=function Lyb(){var a,b,c,d,e,f,g;a=(g=this.Fh()==2&&this.Ih().size()==1?Ps(this.Ih().Pd()):null,!g?null:
g.b);f=xxb(a.d);if(!(!!f&&null.Uj==0)&&(e=xxb(a.d),!(!!e&&null.Uj!=0)))return vn(),Wx(),Vx;iyb(exb(a));d=new Fwc;for(c=rBb().Pd();c.Jd();){b=c.Kd();null.Tj()||Cwc(d,!null.Tj()&&!b.b.d.d.isEmpty()?Jyb(wCb(null.Uj,b,null,null,null,false,null.Uj)):null.Uj)}return d};_.Ah=function Myb(){return eyb(this)};_.Bh=function Nyb(){var a;return a=this.Fh()==2&&this.Ih().size()==1?Ps(this.Ih().Pd()):null,!!a&&(TBb(a),false)?TBb(this.Fh()==2&&this.Ih().size()==1?Ps(this.Ih().Pd()):null).Tj():null};_.Dh=function Oyb(){var a,
b,c;return Zd((a=this.Fh()==2&&this.Ih().size()==1?Ps(this.Ih().Pd()):null,!!(!a?null:a.b))),b=exb((c=this.Fh()==2&&this.Ih().size()==1?Ps(this.Ih().Pd()):null,!c?null:c.b)),!b?null:b.Fh()==2&&b.Ih().size()==1?b:null};_.Gh=function Qyb(){var a,b;Zd((b=this.Fh()==2&&this.Ih().size()==1?Ps(this.Ih().Pd()):null,!!(!b?null:b.b)));return fxb((a=this.Fh()==2&&this.Ih().size()==1?Ps(this.Ih().Pd()):null,!a?null:a.b))};_.Hh=function Ryb(){var a,b;Zd((b=this.Fh()==2&&this.Ih().size()==1?Ps(this.Ih().Pd()):
null,!!(!b?null:b.b)));return gxb((a=this.Fh()==2&&this.Ih().size()==1?Ps(this.Ih().Pd()):null,!a?null:a.b))};_.Jh=function Syb(){return hxb(Td(gyb(this)))};_.Kh=function Tyb(a){return 0!=this.Fh()&&ICc!=this.Fh()&&pyb(this,this.e.L,new $Cb((bBb(),bBb(),aBb)))?kyb(this,new YCb(a)):null};_.Lh=function Uyb(){this.Fh()==2&&this.Ih().size()==1?Ps(this.Ih().Pd()).d:null;return null.Tj()?this:null.Uj};_.Mh=function Vyb(){var a,b;Zd((b=this.Fh()==2&&this.Ih().size()==1?Ps(this.Ih().Pd()):null,!!(!b?null:
b.b)));return(a=this.Fh()==2&&this.Ih().size()==1?Ps(this.Ih().Pd()):null,!a?null:a.b).k};_.Nh=function Wyb(){var a;if(dyb(this,this.e.L))return null;a=lyb(this);return!a?null:eyb(a)};_.Oh=function Xyb(){var a,b;b=this.Fh()==2&&this.Ih().size()==1?Ps(this.Ih().Pd()).d:null;if(!null.Tj()){a=(Sn(),new ar);return $n(_q(a,b.b.df()).a)}return null};_.Ph=function Yyb(){var a,b;Zd((b=this.Fh()==2&&this.Ih().size()==1?Ps(this.Ih().Pd()):null,!!(!b?null:b.b)));return ixb((a=this.Fh()==2&&this.Ih().size()==
1?Ps(this.Ih().Pd()):null,!a?null:a.b))};_.Ed=function $yb(){return zrc(vD(qD(lT,1),bDc,1,5,[Blc(this.Fh()),this.Ih(),this.Ch(),this.Rh()]))};_.Sh=function azb(){return 0==this.Fh()};_.Th=function bzb(){var a,b,c;return a=(b=this.Fh()==2&&this.Ih().size()==1?Ps(this.Ih().Pd()):null,!b?null:b.b),!!a&&(c=xxb(a.d),!!c&&null.Uj==0)};_.Uh=function czb(){var a;return a=this.Fh()==2&&this.Ih().size()==1?Ps(this.Ih().Pd()):null,!!a&&(TBb(a),false)};_.Vh=function dzb(a){return dyb(this,a)};_.Wh=function ezb(){var a;
return a=this.Fh()==2&&this.Ih().size()==1?Ps(this.Ih().Pd()):null,!!(!a?null:a.b)};_.Xh=function fzb(){var a;a=this.Fh()==2&&this.Ih().size()==1?Ps(this.Ih().Pd()).d:null;return!!a&&!null.Tj()};_.Yh=function hzb(){var a,b,c;return a=(b=this.Fh()==2&&this.Ih().size()==1?Ps(this.Ih().Pd()):null,!b?null:b.b),!!a&&(c=xxb(a.d),!!c&&null.Uj!=0)};_.Zh=function izb(){return-1!=this.Fh()&&(this.Fh()&32)!=0};_.$h=function jzb(){return this.Fh()==2&&this.Ih().size()==1&&!!VBb(this.Fh()==2&&this.Ih().size()==
1?Ps(this.Ih().Pd()):null)};_._h=function kzb(){var a,b,c;a=(c=this.Fh()==2&&this.Ih().size()==1?Ps(this.Ih().Pd()):null,!c?null:c.b);if(!!a&&!!a.d){b=iyb(a.g?a.g:a.d);return!!b&&null.Uj==2}return false};_.ai=function lzb(){return ICc==this.Fh()};_.bi=function mzb(){return dyb(this,this.e.B)};_.ci=function nzb(){return-1!=this.Fh()&&(this.Fh()&256)!=0};_.ei=function yzb(a){var b;b=byb(this,new $mc,(bDb(),_Cb)).a;return a==1?umc(b,"^!",""):b};_.fi=function zzb(){var a;Zd((a=this.Fh()==2&&this.Ih().size()==
1?Ps(this.Ih().Pd()):null,!!(!a?null:a.b)));return new Izb(this)};_.gi=function Azb(){var a;return a=this.Fh()==2&&this.Ih().size()==1?Ps(this.Ih().Pd()):null,(!a?null:a.b)?this:null};_.hi=function Bzb(){return this.Fh()==2&&this.Ih().size()==1?this:null};_.Fd=function Czb(){return byb(this,new $mc,(bDb(),aDb)).a};var Zxb,$xb,_xb;var qO=Mkc(115);aW(825,1,QDc,Fzb);_.Od=function Gzb(a){return Kyb(this.a.e,a)};_.Cd=function Hzb(a){return this===a};var jO=Mkc(825);aW(821,1,{},Izb);_.ii=function Jzb(){return FAb(this.a)};
_.ji=function Kzb(a){Kd(iE(a,115));this.a=txb(this.a,a);return this};var kO=Mkc(821);aW(70,115,sJc,Lzb);_.Ch=function Mzb(){return vn(),Wx(),Vx};_.Fh=function Nzb(){return this.a};_.ki=function Ozb(){return vn(),Wx(),Vx};_.Ih=function(){return this.ki()};_.Rh=function Pzb(){return null};_.a=0;var lO=Mkc(70);aW(824,115,sJc,Qzb);_.Ch=function Rzb(){return vn(),Wx(),Vx};_.Fh=function Szb(){return 34};_.ki=function Tzb(){var a;Td(this.a);iE(this.a,104)||(this.a=(vn(),a=this.a,Cp(a)));return this.a};_.Ih=
function(){return this.ki()};_.Rh=function Uzb(){return null};var mO=Mkc(824);aW(823,115,sJc,Vzb);_.Ch=function Wzb(){return vn(),Wx(),Vx};_.Fh=function Xzb(){return 2};_.ki=function Yzb(){var a;Td(this.a);iE(this.a,104)||(this.a=(vn(),a=this.a,Cp(a)));return this.a};_.Ih=function(){return this.ki()};_.Rh=function Zzb(){return null};var nO=Mkc(823);aW(822,115,sJc,aAb);_.Ch=function bAb(){return $zb(this)};_.Fh=function cAb(){return this.b};_.ki=function dAb(){return _zb(this)};_.Ih=function(){return this.ki()};
_.Rh=function eAb(){return this.d};_.b=0;var oO=Mkc(822);aW(694,1,UCc,EAb);var fAb,gAb,hAb,iAb,jAb,kAb,lAb,mAb,nAb,oAb,pAb,qAb,rAb,sAb,tAb,uAb,vAb,wAb,xAb,yAb,zAb,AAb,BAb,CAb;var pO=Mkc(694);aW(460,1,{460:1,3:1},IAb);_.I=false;_.K=false;var sO=Mkc(460);aW(814,1,mDc,LAb);_.get=function QAb(a){return this.a.G};_.getOrDefault=function RAb(a,b){var c;return c=this.a.G,c};_.put=function UAb(a,b){return JAb()};_.putIfAbsent=function WAb(a,b){var c;return c=this.a.G,c?c:JAb()};_.remove=function XAb(a){return KAb()};
_.replace=function YAb(a,b){return JAb()};_.clear=function MAb(){throw CV(new enc);};_.containsKey=function NAb(a){return true};_.containsValue=function OAb(a){return oE(a)===oE(this.a.G)};_.Xd=function PAb(){throw CV(new enc);};_.isEmpty=function SAb(){return false};_.keySet=function TAb(){throw CV(new enc);};_.putAll=function VAb(a){throw CV(new enc);};_.size=function ZAb(){throw CV(new enc);};_.Fd=function $Ab(){return"MAP_TO_UNKNOWN"};_.values=function _Ab(){return usc(this.a.G)};var rO=Mkc(814);
aW(966,931,kDc);var aBb;var yO=Mkc(966);aW(365,966,mDc,eBb);_.Xd=function fBb(){return new Wnc(this.a)};var tO=Mkc(365);aW(177,1,{177:1,3:1},xBb);_.Cd=function yBb(a){return kBb(this,a)};_.Ed=function zBb(){return zrc(vD(qD(lT,1),bDc,1,5,[this.b,this.a]))};_.Fd=function DBb(){return iBb(this,new $mc,(bDb(),aDb)).a};var gBb;var uO=Mkc(177);aW(206,1,{206:1,3:1},LBb);_.a=0;var FBb,GBb,HBb,IBb,JBb;var vO=Mkc(206);aW(178,1,{178:1,987:1,3:1},fCb);_.Cd=function kCb(a){return SBb(this,a)};_.Ed=function oCb(){return zrc(vD(qD(lT,
1),bDc,1,5,[this.b,this.e,this.g,this.d]))};_.Fd=function BCb(){return PBb(this,new $mc,(bDb(),aDb)).a};_.c=false;var wO=Mkc(178);aW(902,1,{},ECb);var xO=Mkc(902);aW(82,1,{82:1,3:1},JCb);_.Cd=function KCb(a){return GCb(this,a)};_.Ed=function LCb(){return zrc(vD(qD(lT,1),bDc,1,5,[this.d,this.a]))};_.Fd=function PCb(){return FCb(this,new $mc,(bDb(),aDb)).a};var AO=Mkc(82);aW(246,14,{246:1,3:1,22:1,14:1},VCb);var RCb,SCb,TCb;var zO=Nkc(246,ZS,WCb);aW(107,1,{},XCb,YCb);_.Fd=function ZCb(){return Ic(new Kc("."),
this.a.Pd())};var BO=Mkc(107);aW(51,1,{},$Cb);var CO=Mkc(51);aW(894,1,{},dDb);_.li=function eDb(){return false};var _Cb,aDb;var EO=Mkc(894);aW(895,894,{},fDb);_.li=function gDb(){return true};var DO=Mkc(895);aW(364,1,{364:1,3:1},kDb);_.Cd=function lDb(a){return iE(a,364)&&this.a.Cd(a.a)};_.Ed=function mDb(){return wyc(this.a)};var hDb;var FO=Mkc(364);aW(30,14,{30:1,3:1,22:1,14:1},BEb);var pDb,qDb,rDb,sDb,tDb,uDb,vDb,wDb,xDb,yDb,zDb,ADb,BDb,CDb,DDb,EDb,FDb,GDb,HDb,IDb,JDb,KDb,LDb,MDb,NDb,ODb,PDb,QDb,
RDb,SDb,TDb,UDb,VDb,WDb,XDb,YDb,ZDb,$Db,_Db,aEb,bEb,cEb,dEb,eEb,fEb,gEb,hEb,iEb,jEb,kEb,lEb,mEb,nEb,oEb,pEb,qEb,rEb,sEb,tEb,uEb,vEb,wEb,xEb,yEb,zEb;var GO=Nkc(30,ZS,CEb);aW(224,1,{},DEb,EEb);_.b=0;_.e=0;var JO=Mkc(224);aW(225,14,{225:1,3:1,22:1,14:1},KEb);var GEb,HEb,IEb;var HO=Nkc(225,ZS,LEb);aW(145,14,{145:1,3:1,22:1,14:1},TEb);var MEb,NEb,OEb,PEb,QEb,REb;var IO=Nkc(145,ZS,VEb);aW(791,1,{},PFb);_.c=false;_.g=null;_.i=false;var WEb,XEb,YEb,ZEb,$Eb;var LO=Mkc(791);aW(792,1,{},pHb);var KO=Mkc(792);
aW(353,1,{},sIb);_.d=null;_.f=false;_.n=null;var qHb,rHb;var PO=Mkc(353);aW(531,1,{531:1},vIb);_.a=0;_.b=0;var MO=Mkc(531);aW(354,1,{},wIb);var NO=Mkc(354);aW(243,14,{243:1,3:1,22:1,14:1},BIb);var xIb,yIb,zIb;var OO=Nkc(243,ZS,CIb);aW(71,14,{71:1,3:1,22:1,14:1},ZIb);var DIb,EIb,FIb,GIb,HIb,IIb,JIb,KIb,LIb,MIb,NIb,OIb,PIb,QIb,RIb,SIb,TIb,UIb,VIb,WIb,XIb;var RO=Nkc(71,ZS,$Ib);aW(245,1,{},iJb,jJb);_.a=-1;_.b=0;_.c=0;_.d=0;_.e=-1;_.f=0;_.g=0;_.i=0;_.j=0;_.n="";_.p=0;_.r=0;var QO=Mkc(245);aW(972,1,{});
var TO=Mkc(972);aW(900,972,{},mJb);_.kh=function nJb(a,b,c,d){};_.lh=function oJb(a,b,c,d){};var SO=Mkc(900);var pJb=null,qJb=null;aW(955,1,{});_.d=false;var dR=Mkc(955);aW(740,955,{},yJb);_.mi=function zJb(a,b){if(this.b||!this.a){this.a=true;this.c.kh(b,a.d.c,a.b+1,a.a)}};_.ni=function AJb(a,b){this.c.lh(b,a.d.c,a.b+1,a.a)};_.a=false;_.b=false;var UO=Mkc(740);aW(741,1,{},BJb);var VO=Mkc(741);aW(896,1,{},hKb);_.c=0;_.d=0;var XO=Mkc(896);aW(59,14,{59:1,3:1,22:1,14:1},HKb);_.a=0;_.b=0;_.c=0;var iKb,
jKb,kKb,lKb,mKb,nKb,oKb,pKb,qKb,rKb,sKb,tKb,uKb,vKb,wKb,xKb,yKb,zKb,AKb,BKb,CKb,DKb,EKb,FKb;var WO=Nkc(59,ZS,JKb);var KKb;aW(154,1,{154:1,3:1},eLb);_.Cd=function fLb(a){return iE(a,154)&&_x(a.a,this.a)};_.Ed=function gLb(){return this.a.Ed()};_.Fd=function hLb(){return this.a.Fd()};var MKb,NKb,OKb,PKb,QKb,RKb,SKb,TKb,UKb,VKb,WKb;var ZO=Mkc(154);aW(25,14,{25:1,3:1,22:1,14:1},cMb);_.toString=function dMb(){return this.a};_.b=0;var jLb,kLb,lLb,mLb,nLb,oLb,pLb,qLb,rLb,sLb,tLb,uLb,vLb,wLb,xLb,yLb,zLb,
ALb,BLb,CLb,DLb,ELb,FLb,GLb,HLb,ILb,JLb,KLb,LLb,MLb,NLb,OLb,PLb,QLb,RLb,SLb,TLb,ULb,VLb,WLb,XLb,YLb,ZLb,$Lb,_Lb,aMb;var YO=Nkc(25,ZS,eMb);aW(172,1,{172:1},gMb);_.Fd=function hMb(){return yTb(this.c)};var kP=Mkc(172);aW(360,172,{360:1,172:1},iMb);_.Fd=function jMb(){return this.a};var $O=Mkc(360);aW(37,14,{37:1,3:1,22:1,14:1},iNb);_.toString=function oNb(){return this.b};var kMb,lMb,mMb,nMb,oMb,pMb,qMb,rMb,sMb,tMb,uMb,vMb,wMb,xMb,yMb,zMb,AMb,BMb,CMb,DMb,EMb,FMb,GMb,HMb,IMb,JMb,KMb,LMb,MMb,NMb,OMb,
PMb,QMb,RMb,SMb,TMb,UMb,VMb,WMb,XMb,YMb,ZMb,$Mb,_Mb,aNb,bNb,cNb,dNb,eNb,fNb,gNb;var _O=Nkc(37,ZS,pNb);aW(809,1,{},tNb);var aP=Mkc(809);aW(100,172,{100:1,172:1},xNb);_.Fd=function yNb(){return this.a};var bP=Mkc(100);aW(282,1,{},kQb,lQb);var gP=Mkc(282);aW(789,1,{},nQb);var cP=Mkc(789);aW(788,1,{},oQb);_.a=false;_.b=false;_.c=false;_.d=false;_.e=false;var dP=Mkc(788);aW(234,14,{234:1,3:1,22:1,14:1},tQb);var pQb,qQb,rQb;var eP=Nkc(234,ZS,uQb);aW(195,1,{},vQb);_.a=null;_.b=false;_.c=false;var fP=Mkc(195);
aW(790,1,{},hRb);_.d=0;_.f=0;var hP=Mkc(790);aW(787,1,{},sRb);var iP=Mkc(787);aW(12,14,{12:1,3:1,22:1,14:1},zTb,ATb);_.toString=function BTb(){return yTb(this)};var tRb,uRb,vRb,wRb,xRb,yRb,zRb,ARb,BRb,CRb,DRb,ERb,FRb,GRb,HRb,IRb,JRb,KRb,LRb,MRb,NRb,ORb,PRb,QRb,RRb,SRb,TRb,URb,VRb,WRb,XRb,YRb,ZRb,$Rb,_Rb,aSb,bSb,cSb,dSb,eSb,fSb,gSb,hSb,iSb,jSb,kSb,lSb,mSb,nSb,oSb,pSb,qSb,rSb,sSb,tSb,uSb,vSb,wSb,xSb,ySb,zSb,ASb,BSb,CSb,DSb,ESb,FSb,GSb,HSb,ISb,JSb,KSb,LSb,MSb,NSb,OSb,PSb,QSb,RSb,SSb,TSb,USb,VSb,WSb,
XSb,YSb,ZSb,$Sb,_Sb,aTb,bTb,cTb,dTb,eTb,fTb,gTb,hTb,iTb,jTb,kTb,lTb,mTb,nTb,oTb,pTb,qTb,rTb,sTb,tTb,uTb,vTb,wTb;var jP=Nkc(12,ZS,CTb);aW(9,1,{9:1});_.Fd=function GTb(){return this.p+"@"+this.o};var CQ=Mkc(9);aW(527,9,{527:1,9:1},HTb);var lP=Mkc(527);aW(864,9,{9:1},ITb);var mP=Mkc(864);aW(463,9,{463:1,9:1},JTb);var nP=Mkc(463);aW(507,9,{507:1,9:1},KTb);var oP=Mkc(507);aW(518,9,{518:1,9:1},LTb);var pP=Mkc(518);aW(509,9,{509:1,9:1},MTb);var qP=Mkc(509);aW(502,9,{502:1,9:1},NTb);var rP=Mkc(502);aW(105,
9,{105:1,9:1},OTb);var sP=Mkc(105);aW(343,9,{343:1,9:1},PTb);var tP=Mkc(343);aW(465,9,{465:1,9:1},QTb);var uP=Mkc(465);aW(466,9,{466:1,9:1},RTb);var vP=Mkc(466);aW(530,9,{530:1,9:1},STb);_.c=false;var wP=Mkc(530);aW(467,9,{467:1,9:1},TTb);var xP=Mkc(467);aW(469,9,{469:1,9:1},UTb);var yP=Mkc(469);aW(498,9,{498:1,9:1},VTb);var zP=Mkc(498);aW(350,9,{350:1,9:1},WTb);var AP=Mkc(350);aW(459,1,{459:1},XTb);var CP=Mkc(459);aW(173,14,{173:1,3:1,22:1,14:1},cUb);var YTb,ZTb,$Tb,_Tb,aUb;var BP=Nkc(173,ZS,dUb);
aW(511,9,{511:1,9:1},eUb);var DP=Mkc(511);aW(512,9,{512:1,9:1},fUb);var EP=Mkc(512);aW(510,9,{510:1,9:1},gUb);var FP=Mkc(510);aW(347,9,{347:1,9:1},hUb);var GP=Mkc(347);aW(483,9,{483:1,9:1},iUb);_.b=false;var HP=Mkc(483);aW(484,9,{484:1,9:1},jUb);_.c=false;var IP=Mkc(484);aW(201,9,{201:1,9:1},kUb);var JP=Mkc(201);aW(485,9,{485:1,9:1},lUb);_.b=false;var KP=Mkc(485);aW(478,9,{478:1,9:1},mUb);var LP=Mkc(478);aW(470,9,{470:1,9:1},nUb);var MP=Mkc(470);aW(473,9,{473:1,9:1},oUb);var NP=Mkc(473);aW(468,9,
{468:1,9:1},pUb);var OP=Mkc(468);aW(242,9,{242:1,9:1},qUb);var PP=Mkc(242);aW(471,9,{471:1,9:1},rUb);var QP=Mkc(471);aW(199,9,{199:1,9:1},sUb);var RP=Mkc(199);aW(525,9,{525:1,9:1},tUb);var SP=Mkc(525);aW(504,9,{504:1,9:1},uUb);_.d=false;_.e=false;var TP=Mkc(504);aW(505,9,{505:1,9:1},vUb);var UP=Mkc(505);aW(472,9,{472:1,9:1},wUb);var VP=Mkc(472);aW(495,9,{495:1,9:1},xUb);var WP=Mkc(495);aW(476,9,{476:1,9:1},yUb);var XP=Mkc(476);aW(503,9,{503:1,9:1},zUb);var YP=Mkc(503);aW(475,9,{475:1,9:1},AUb);var ZP=
Mkc(475);aW(174,9,{174:1,9:1},BUb);var $P=Mkc(174);aW(477,9,{477:1,9:1},CUb);_.e=false;_.f=false;_.g=false;_.i=false;var bQ=Mkc(477);aW(99,1,{},OUb);_.a=null;_.b=null;_.c=null;_.d=null;_.e=false;_.f=false;_.g=false;_.i=false;_.n=null;_.o=null;var _P=Mkc(99);aW(200,14,{200:1,3:1,22:1,14:1},UUb);var PUb,QUb,RUb,SUb;var aQ=Nkc(200,ZS,VUb);aW(521,9,{521:1,9:1},WUb);var cQ=Mkc(521);aW(523,9,{523:1,9:1},XUb);var dQ=Mkc(523);aW(496,9,{496:1,9:1},YUb);_.b=false;var eQ=Mkc(496);aW(283,9,{283:1,9:1},ZUb);var fQ=
Mkc(283);aW(479,9,{479:1,9:1},$Ub);var gQ=Mkc(479);aW(351,9,{351:1,9:1},_Ub);var hQ=Mkc(351);aW(506,9,{506:1,9:1},aVb);var iQ=Mkc(506);aW(529,9,{529:1,9:1},bVb);var jQ=Mkc(529);aW(524,9,{524:1,9:1},cVb);var kQ=Mkc(524);aW(480,9,{480:1,9:1},dVb);var lQ=Mkc(480);aW(349,9,{349:1,9:1},eVb);var mQ=Mkc(349);aW(345,9,{345:1,9:1},fVb);var nQ=Mkc(345);aW(344,9,{344:1,9:1},gVb);var oQ=Mkc(344);aW(285,9,{285:1,9:1},hVb);_.c=false;_.d=false;var pQ=Mkc(285);aW(284,9,{284:1,9:1},iVb);var qQ=Mkc(284);aW(528,9,{528:1,
9:1},jVb);var rQ=Mkc(528);aW(865,9,{9:1},kVb);var sQ=Mkc(865);aW(346,9,{346:1,9:1},lVb);var tQ=Mkc(346);aW(500,9,{500:1,9:1},mVb);var uQ=Mkc(500);aW(202,9,{202:1,9:1},nVb);var vQ=Mkc(202);aW(482,9,{482:1,9:1},oVb);var wQ=Mkc(482);aW(508,9,{508:1,9:1},pVb);var xQ=Mkc(508);aW(516,9,{516:1,9:1},qVb);var yQ=Mkc(516);aW(517,9,{517:1,9:1},rVb);var zQ=Mkc(517);aW(481,9,{481:1,9:1},sVb);var AQ=Mkc(481);aW(19,14,{19:1,3:1,22:1,14:1},hXb);var tVb,uVb,vVb,wVb,xVb,yVb,zVb,AVb,BVb,CVb,DVb,EVb,FVb,GVb,HVb,IVb,
JVb,KVb,LVb,MVb,NVb,OVb,PVb,QVb,RVb,SVb,TVb,UVb,VVb,WVb,XVb,YVb,ZVb,$Vb,_Vb,aWb,bWb,cWb,dWb,eWb,fWb,gWb,hWb,iWb,jWb,kWb,lWb,mWb,nWb,oWb,pWb,qWb,rWb,sWb,tWb,uWb,vWb,wWb,xWb,yWb,zWb,AWb,BWb,CWb,DWb,EWb,FWb,GWb,HWb,IWb,JWb,KWb,LWb,MWb,NWb,OWb,PWb,QWb,RWb,SWb,TWb,UWb,VWb,WWb,XWb,YWb,ZWb,$Wb,_Wb,aXb,bXb,cXb,dXb,eXb,fXb;var BQ=Nkc(19,ZS,iXb);aW(455,9,{9:1,455:1},jXb);var DQ=Mkc(455);aW(241,9,{9:1,241:1},kXb);var EQ=Mkc(241);aW(519,9,{9:1,519:1},lXb);var FQ=Mkc(519);aW(513,9,{9:1,513:1},mXb);var GQ=Mkc(513);
aW(486,9,{9:1,486:1},nXb);var HQ=Mkc(486);aW(497,9,{9:1,497:1},oXb);_.b=false;var IQ=Mkc(497);aW(514,9,{9:1,514:1},pXb);var JQ=Mkc(514);aW(499,9,{9:1,499:1},qXb);var KQ=Mkc(499);aW(487,9,{9:1,487:1},rXb);var LQ=Mkc(487);aW(340,9,{9:1,340:1},sXb);var MQ=Mkc(340);aW(341,9,{9:1,341:1},tXb);var NQ=Mkc(341);aW(342,9,{9:1,342:1},uXb);var OQ=Mkc(342);aW(474,9,{9:1,474:1},vXb);var PQ=Mkc(474);aW(488,9,{9:1,488:1},wXb);var QQ=Mkc(488);aW(489,9,{9:1,489:1},xXb);var RQ=Mkc(489);aW(526,9,{9:1,526:1},yXb);var SQ=
Mkc(526);aW(352,9,{9:1,352:1},zXb);var TQ=Mkc(352);aW(522,9,{9:1,522:1},AXb);var UQ=Mkc(522);aW(515,9,{9:1,515:1},BXb);var VQ=Mkc(515);aW(464,9,{9:1,464:1},CXb);var WQ=Mkc(464);aW(520,9,{9:1,520:1},DXb);var XQ=Mkc(520);aW(348,9,{9:1,348:1},EXb);_.c=0;var YQ=Mkc(348);aW(491,9,{9:1,491:1},FXb);var ZQ=Mkc(491);aW(492,9,{9:1,492:1},GXb);var $Q=Mkc(492);aW(490,9,{9:1,490:1},HXb);var _Q=Mkc(490);aW(493,9,{9:1,493:1},IXb);var aR=Mkc(493);aW(494,9,{9:1,494:1},JXb);var bR=Mkc(494);aW(501,9,{9:1,501:1},KXb);
_.b=false;var cR=Mkc(501);aW(899,955,{},LXb);_.mi=function MXb(a,b){throw CV(new OXb);};_.ni=function NXb(a,b){};var fR=Mkc(899);aW(370,21,{370:1,3:1,40:1,21:1,38:1},OXb);var eR=Mkc(370);aW(337,1,{},QXb);_.Fd=function RXb(){return wYb("%s(%d, %d)",vD(qD(lT,1),bDc,1,5,[PXb(this),Blc(this.b+1),Blc(this.a+1)]))};_.a=0;_.b=0;_.c=0;var gR=Mkc(337);aW(13,1,{},SXb);_.Fd=function TXb(){return wYb("<%s - %s>",vD(qD(lT,1),bDc,1,5,[this.b,this.a]))};var hR=Mkc(13);aW(810,1,{},WXb);_.b=0;var UXb;var jR=Mkc(810);
aW(458,1,{458:1},ZXb);_.a=0;_.b=0;var iR=Mkc(458);aW(738,21,aEc,$Xb);var kR=Mkc(738);aW(739,21,aEc,_Xb);var lR=Mkc(739);aW(328,21,aEc,aYb);var mR=Mkc(328);aW(736,21,aEc,bYb);var nR=Mkc(736);aW(737,21,aEc,cYb);var oR=Mkc(737);aW(324,21,aEc,dYb);var pR=Mkc(324);aW(735,21,aEc,eYb);var qR=Mkc(735);aW(687,1,{},vYb);var tR=Mkc(687);aW(689,1,{},GYb);_.b=0;_.c=0;_.d=0;var rR=Mkc(689);aW(688,1,{},OYb);_.a=-1;_.b=SCc;_.c=0;_.d=false;_.e=false;_.f=false;_.g=false;_.i=false;_.j=false;_.k=false;_.n=-1;_.p=-1;
var sR=Mkc(688);aW(325,21,aEc,PYb);var uR=Mkc(325);aW(759,1,{},RYb);var vR=Mkc(759);aW(1059,1,{});var VYb;aW(256,1,{256:1,3:1},ZZb);_.Cd=function $Zb(a){if(this===a)return true;if(a==null)return false;if(wR!=yb(a))return false;return imc(this.a,a.a)};_.Ed=function _Zb(){return ACc(this.a)};_.Fd=function a$b(){return"InputId: "+this.a};var wR=Mkc(256);aW(322,1,{322:1,3:1},D_b,E_b);_.Fd=function H_b(){return"JSDocInfo"};_.a=0;_.c=false;_.e=false;_.f=0;var GR=Mkc(322);aW(715,1,UCc,I_b);var xR=Mkc(715);
aW(54,1,UCc,O_b);_.Fd=function P_b(){var a;return Bd(Ad(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(zd(new Cd((Fkc(yR),yR.n)),"bitfield",this.o==0?null:(a=this.o>>>0,a.toString(16))),"baseType",this.a),"extendedInterfaces",this.e),"implementedInterfaces",this.f),"parameters",this.n),"thrownTypes",this.r),"templateTypeNames",this.q),"disposedParameters",this.d),"typeTransformations",this.s),"description",this.c),"meaning",this.j),kGc,this.b),"license",this.i),"suppressions",this.p),"lendsName",this.g)))};
_.o=0;var yR=Mkc(54);aW(430,1,{430:1},T_b);var zR=Mkc(430);aW(323,1,{});_.b=0;_.c=0;_.d=null;_.e=0;_.f=0;var TR=Mkc(323);aW(716,323,{},X_b);var AR=Mkc(716);aW(428,323,{},Z_b);var BR=Mkc(428);aW(429,428,{},__b);var CR=Mkc(429);aW(717,323,{},a0b);_.a=false;var DR=Mkc(717);aW(169,14,{169:1,3:1,22:1,14:1},i0b);var c0b,d0b,e0b,f0b,g0b;var ER=Nkc(169,ZS,j0b);aW(90,1,{},H1b,I1b);_.d=false;_.e=false;var FR=Mkc(90);aW(76,1,{76:1,3:1},L1b);_.Cd=function M1b(a){return iE(a,76)&&a.a.ri(this.a,false,true,false,
false)};_.Ed=function N1b(){return Ab(this.a)};_.Fd=function O1b(){return"type: "+b3b(this.a)};var HR=Mkc(76);aW(7,1,{7:1,3:1},g3b,h3b,i3b,j3b,k3b,l3b,m3b);_.oi=function n3b(a){return Z1b(this,new g3b(this.j),a)};_.pi=function q3b(){if(this.j==(w7b(),z6b))throw CV(new llc(pLc));else throw CV(new fnc(this+" is not a number node"));};_.qi=function r3b(){if(this.j==(w7b(),$6b))throw CV(new llc(qLc));else throw CV(new fnc(this+rLc));};_.ri=function s3b(a,b,c,d,e){return s2b(this,a,b,c,d,e)};_.si=function t3b(){return false};
_.ti=function x3b(a){if(this.j==(w7b(),z6b))throw CV(new llc(pLc));else throw CV(new fnc(this+rLc));};_.ui=function y3b(){throw CV(new llc(this+" is not a StringNode"));};_.vi=function z3b(a){if(this.j==(w7b(),$6b)||this.j==o6b)throw CV(new llc(qLc));else throw CV(new fnc(this+rLc));};_.Fd=function A3b(){return a3b(this,true,true,true)};_.c=0;_.i=0;var SR=Mkc(7);aW(301,1,iDc,C3b);_.Pd=function D3b(){return new F3b(this)};var JR=Mkc(301);aW(273,1,WCc,F3b);_.Kd=function H3b(){return E3b(this)};_.Jd=
function G3b(){return!!this.a.a};_.Ld=function I3b(){throw CV(new enc);};var IR=Mkc(273);aW(404,1,UCc);_.c=0;var NR=Mkc(404);aW(32,404,UCc,K3b);_.wi=function L3b(a){return new K3b(this.c,this.a,a)};_.xi=function M3b(){return this.a};_.yi=function N3b(){throw CV(new enc);};_.Fd=function O3b(){return""+this.a};_.a=0;var KR=Mkc(32);aW(57,7,{7:1,57:1,3:1},P3b);_.oi=function Q3b(a){return Z1b(this,new P3b(this.a),a)};_.pi=function R3b(){return this.a};_.ri=function S3b(a,b,c,d,e){var f,g,h;f=s2b(this,
a,b,c,d,e);if(f){h=this.a;g=a.a;if(h==g)return h!=0||1/h==1/g}return false};_.ti=function T3b(a){this.a=a};_.a=0;var LR=Mkc(57);aW(53,404,UCc,U3b);_.wi=function V3b(a){return new U3b(this.c,this.a,a)};_.xi=function W3b(){throw CV(new enc);};_.yi=function X3b(){return this.a};_.Fd=function Y3b(){return Lmc(this.a)};var MR=Mkc(53);aW(55,1,iDc,Z3b);_.Pd=function $3b(){return new a4b(this.a)};var OR=Mkc(55);aW(633,1,WCc,a4b);_.Kd=function c4b(){return _3b(this)};_.Jd=function b4b(){return!!this.a};_.Ld=
function d4b(){throw CV(new enc);};var PR=Mkc(633);aW(8,7,{7:1,8:1,3:1},f4b,g4b,h4b);_.oi=function i4b(a){var b;return b=new f4b(this.j),b.a=this.a,Z1b(this,b,a)};_.qi=function j4b(){return this.a};_.ri=function k4b(a,b,c,d,e){return s2b(this,a,b,c,d,e)&&this.a==a.a};_.si=function l4b(){return e2b(this,36)!=0};_.ui=function m4b(){var a;a=G2b(this,this.g,36);a!=this.g&&(this.g=a);this.g=new K3b(36,1,this.g)};_.vi=function n4b(a){e4b(this,a)};var QR=Mkc(8);aW(94,7,{7:1,94:1,3:1},o4b,p4b,q4b);_.oi=function r4b(a){return Z1b(this,
new q4b(this.j,this.a),a)};_.qi=function s4b(){return this.a};var RR=Mkc(94);aW(10,14,{10:1,3:1,22:1,14:1},x7b);var u4b,v4b,w4b,x4b,y4b,z4b,A4b,B4b,C4b,D4b,E4b,F4b,G4b,H4b,I4b,J4b,K4b,L4b,M4b,N4b,O4b,P4b,Q4b,R4b,S4b,T4b,U4b,V4b,W4b,X4b,Y4b,Z4b,$4b,_4b,a5b,b5b,c5b,d5b,e5b,f5b,g5b,h5b,i5b,j5b,k5b,l5b,m5b,n5b,o5b,p5b,q5b,r5b,s5b,t5b,u5b,v5b,w5b,x5b,y5b,z5b,A5b,B5b,C5b,D5b,E5b,F5b,G5b,H5b,I5b,J5b,K5b,L5b,M5b,N5b,O5b,P5b,Q5b,R5b,S5b,T5b,U5b,V5b,W5b,X5b,Y5b,Z5b,$5b,_5b,a6b,b6b,c6b,d6b,e6b,f6b,g6b,h6b,i6b,
j6b,k6b,l6b,m6b,n6b,o6b,p6b,q6b,r6b,s6b,t6b,u6b,v6b,w6b,x6b,y6b,z6b,A6b,B6b,C6b,D6b,E6b,F6b,G6b,H6b,I6b,J6b,K6b,L6b,M6b,N6b,O6b,P6b,Q6b,R6b,S6b,T6b,U6b,V6b,W6b,X6b,Y6b,Z6b,$6b,_6b,a7b,b7b,c7b,d7b,e7b,f7b,g7b,h7b,i7b,j7b,k7b,l7b,m7b,n7b,o7b,p7b,q7b,r7b,s7b,t7b,u7b,v7b;var UR=Nkc(10,ZS,z7b);var B7b,C7b;aW(23,1,wLc);_.yh=function $7b(){return this.Ai()};_.Qh=function h8b(){return S7b(this)};_.di=function L8b(){return this.Ti()};_.gi=function Q8b(){return this.Wi()};_.hi=function S8b(){return iE(this,
47)?this:null};_.Ai=function _7b(){var a,b;b=this.Ti();a=b.Bi();return!a?b:a};_.Bi=function a8b(){return null};_.Cd=function b8b(a){return P7b(this,a)};_.Ci=function d8b(a){return e8b(this,a)};_.Di=function f8b(a){var b;a=c8b(a);if(a.$i())return Kic(a.$i(),this);return b=O7b(this,a,0,new Kcc(true)),b?this:c8b(rec(this.B,vD(qD(nS,1),xLc,23,0,[this,a])))};_.Ei=function g8b(){return this.C};_.Fi=function i8b(){return Ohc(this.C)};_.Gi=function j8b(){return false};_.Sh=function k8b(){return this.Mi()||
this.Ki()||this.Li()||vec(this.B,(dec(),rdc))==this};_.Hi=function l8b(){return false};_.Th=function m8b(){return false};_.Uh=function n8b(){return this.Vi()!=null};_.Vh=function p8b(a){return O7b(this,a,0,new Kcc(true))};_.Ii=function q8b(){return false};_.Ji=function r8b(){return false};_.Wh=function s8b(){return!!this.Wi()};_.Xh=function t8b(){return!!this.Zi()};_.Yh=function u8b(){return false};_.Ki=function v8b(){return false};_.Li=function w8b(){return false};_.Mi=function x8b(){return false};
_.Ni=function y8b(){return false};_.Oi=function z8b(){return false};_.Zh=function A8b(){return false};_.Pi=function B8b(){return false};_.$h=function C8b(){return this.Ji()};_._h=function D8b(){return false};_.Qi=function E8b(){return false};_.Ri=function F8b(a){return H8b(this,a,new Ncc(true),0)};_.Si=function G8b(a,b,c){return H8b(this,a,b,c)};_.ai=function I8b(){return false};_.bi=function J8b(){return false};_.ci=function K8b(){return false};_.Ti=function M8b(){return this};_.ei=function N8b(a){return a==
0?N7b(this,new $mc,true).a:this.zi(new $mc,true).a};_.Ui=function O8b(){return null};_.Vi=function P8b(){return null};_.Wi=function R8b(){return null};_.Xi=function T8b(){return null};_.Yi=function U8b(){return null};_.Zi=function V8b(){return null};_.$i=function W8b(){return null};_.Fd=function X8b(){return this.zi(new $mc,false).a};_.A=false;var K7b,L7b;var nS=Mkc(23);aW(872,23,wLc,Y8b);_.zi=function Z8b(a,b){return a.a+="*",a};_.Ed=function $8b(){return bCc(this)};_.Gi=function _8b(){return true};
_.Zh=function a9b(){return true};_.ci=function b9b(){return true};_._i=function c9b(a){return a.Rg()};var WR=Mkc(872);aW(77,23,{56:1,77:1,23:1,3:1},j9b,k9b);_.zi=function l9b(a,b){return a.a+="[ArrowType]",a};_.Ci=function m9b(a){throw CV(new enc);};_.Di=function n9b(a){throw CV(new enc);};_.aj=function o9b(){return T7b(this.b)||f9b(this)};_.Fi=function(){return this.aj()};_.Ed=function p9b(){return h9b(this)};_.Ri=function q9b(a){return i9b(this,a,new Ncc(true),0)};_.Si=function r9b(a,b,c){return i9b(this,
a,b,c)};_._i=function s9b(a){throw CV(new enc);};_.c=false;var XR=Mkc(77);aW(247,23,wLc);var OS=Mkc(247);aW(867,247,wLc,u9b);_.zi=function v9b(a,b){return a.a+=ECc,a};_.Bi=function w9b(){return R7b(this,(dec(),Ycc))};_.Ed=function x9b(){return bCc(this)};_.Zh=function y9b(){return false};_._i=function z9b(a){return a.Sg()};var YR=Mkc(867);aW(47,23,yLc);_.Ah=function N9b(){return this.cj()};_.Kh=function U9b(a){return this.ij(a)};_.Lh=function W9b(){var a;return a=this.Zi(),!a?this:a.c};_.Nh=function Y9b(){return this.lj()};
_.bj=function M9b(){this.w=true};_.dj=function O9b(){return vn(),Wx(),Vx};_.Bh=function P9b(){return null};_.Eh=function Q9b(a){throw CV(new enc);};_.fj=function R9b(){return this.hj().b.keySet()};_.gj=function S9b(){return null};_.hj=function T9b(){return igc(),igc(),hgc};_.ij=function V9b(a){return F9b(this,a)};_.kj=function X9b(a){return ogc(this.hj(),a)};_.lj=function Z9b(){var a;a=this.ej();if(!a)return null;a=a.ej();return!a?null:a.cj()};_.Oh=function $9b(){return null};_.mj=function _9b(){return false};
_.Ji=function aac(){return!!this.gj()};_.nj=function bac(){return false};_.Pi=function cac(){return true};_.Qi=function eac(){var a;return a=this.cj(),!!a&&a.i==(occ(),mcc)&&a.g};_.ai=function fac(){return I9b(this)};_.oj=function gac(a){};_._i=function hac(a){return a.Zg(this)};_.w=true;var uS=Mkc(47);aW(898,47,yLc,kac);_.Ah=function nac(){return!this.c?null:this.c.cj()};_.zi=function lac(a,b){if(b)return Vmc(a,this.d);return Wmc(Vmc(Wmc(Wmc(a,this.b),"<"),this.d),">")};_.Bi=function mac(){return this.d.Bi()};
_.cj=function oac(){return!this.c?null:this.c.cj()};_.ej=function pac(){return null};_.pj=function qac(){return!this.c?(igc(),igc(),hgc):this.c.hj()};_.hj=function(){return this.pj()};_.jj=function rac(){return this.b};_.mj=function sac(){return true};_.Ed=function tac(){Zd(true);return ACc(this.b)};_.Ni=function uac(){return true};_.Zh=function vac(){return this.d.Zh()};_.Pi=function wac(){return this.d.Pi()};_.Ri=function xac(a){return iac(this,a,new Ncc(true),0)};_.Si=function yac(a,b,c){return iac(this,
a,b,c)};_.ci=function zac(){return this.d.ci()};_.Ui=function Aac(){return this};_._i=function Bac(a){return a.Tg(this)};var ZR=Mkc(898);aW(85,47,zLc,Fac,Gac);_.Ah=function Kac(){return this.cj()};_.zi=function Iac(a,b){return Cac(this,a,b)};_.qj=function Jac(a,b,c,d){return Dac(this,a,b,c,d)};_.cj=function Lac(){return null};_.dj=function Mac(){return this.t?this.t.d:(Sn(),Sn(),Rn)};_.rj=function Nac(){return this.t?ebc(this.t):(Sn(),Sn(),Rn)};_.ej=function Oac(){return this.r};_.gj=function Pac(){return this.t};
_.hj=function Qac(){return this.v};_.jj=function Rac(){return this.q!=null?this.q:this.t?this.t.jj()+hHc:null};_.sj=function Sac(){return!this.w};_.mj=function Tac(){return this.q!=null||!!this.t};_.Ed=function Uac(){return this.Qi()?zrc(vD(qD(lT,1),bDc,1,5,[this.q,this.v])):bCc(this)};_.nj=function Vac(){return this.s};_.Ri=function Wac(a){return this.Si(a,new Ncc(true),0)};_.Si=function Xac(a,b,c){var d,e,f,g,h;if(H8b(this,a,b,c))return true;if(a.$i())return false;if(a.Xi())return Yac(this,a.Xi(),
b,c);e=iE(a,47)?a:null;d=!e?null:e.cj();if(!!this.cj()&&this.cj().i==(occ(),mcc))for(g=Us(new Atc(this.dj().a.b.Pd()));g.Jd();){f=g.Kd();if(f.Si(a,b,c))return true}else if(!!d&&d.i==(occ(),mcc)){h=this.rj();for(g=h.Pd();g.Jd();){f=g.Kd();if(f.Si(a,b,c))return true}}if(I9b(this))return true;return!!e&&G9b(this,e)};_.oj=function Zac(a){Zd(!this.t||!a);this.t=a};_.p=false;_.s=false;_.t=null;_.u=false;var xS=Mkc(85);aW(66,85,BLc,sbc);_.Dh=function xbc(){return ce(this.Th()||this.i==(occ(),mcc),ALc,this),
X7b(this.o)};_.Kh=function Cbc(a){return jbc(this,a)};_.jj=function Ebc(){return this.q!=null?this.q:this.t?this.t.jj()+hHc:null};_.Mh=function Fbc(){return this.c.b};_.Nh=function Hbc(){return mbc(this)};_.Ph=function Jbc(){return U7b(this.o)?vec(this.B,(dec(),_dc)):this.o};_.gi=function Tbc(){return this.Wi()};_.zi=function tbc(a,b){var c,d,e;if(!this.u||this==vec(this.B,(dec(),idc)))return a.a+=b?ZIc:UGc,a;this.u=false;a.a+=_Hc;e=b2b(this.c.a);c=!iE(this.o,203);if(c){this.Th()?(a.a+="new:",a):
(a.a+="this:",a);this.o.zi(a,b)}if(e>0){c&&(a.a+=$Cc,a);d=this.c.a.b;e2b(d,30)!=0?abc(this,a,iE(d.k,23)?d.k:null,b):e2b(d,37)!=0?_ac(this,a,iE(d.k,23)?d.k:null,b):N7b(iE(d.k,23)?d.k:null,a,b);d=d.d;while(d){a.a+=$Cc;e2b(d,30)!=0?abc(this,a,iE(d.k,23)?d.k:null,b):e2b(d,37)!=0?_ac(this,a,iE(d.k,23)?d.k:null,b):N7b(iE(d.k,23)?d.k:null,a,b);d=d.d}}a.a+="): ";N7b(this.c.b,a,b);this.u=true;return a};_.bj=function ubc(){cbc(this)};_.qj=function vbc(a,b,c,d){var e;if(imc(PEc,a)){e=iE(b,47)?b:null;if(e){if(!!this.j&&
O7b(e,this.j.e,0,new Kcc(true)))return true;obc(this,e,d);return true}else return false}return Dac(this,a,b,c,d)};_.zh=function wbc(){var a;a=new Fwc;this.Th()?Mc(a,ebc(this)):Mc(a,this.d);return a};_.Gh=function ybc(){return gbc(this)};_.Hh=function zbc(){return hbc(this)};_.fj=function Abc(){return ibc(this)};_.Jh=function Bbc(){var a,b,c,d;d=new Lqc;for(b=(c=this.c.a,c?!c.b?(msc(),msc(),lsc):new Z3b(c.b):(msc(),msc(),lsc)).Pd();b.Jd();){a=b.Kd();Aqc(d,iE(a.k,23)?a.k:null)}return d};_.ij=function Dbc(a){return jbc(this,
a)};_.kj=function Gbc(a){return lbc(this,a)};_.lj=function Ibc(){return mbc(this)};_.aj=function Kbc(){return Rhc(this.C)>0||T7b(this.o)||T7b(this.c)};_.Fi=function(){return this.aj()};_.sj=function Lbc(){return!!this.j||!this.w};_.Ed=function Mbc(){var a;a=uCc(this.i);switch(this.i.f){case 1:return 31*a+bCc(this);case 2:return 31*a+ACc(this.jj());case 0:a=31*a+this.o.Ed();a=31*a+h9b(this.c);return a;default:throw CV(new ckc);}};_.Th=function Nbc(){return this.i==(occ(),lcc)};_.Yh=function Obc(){return this.i==
(occ(),mcc)};_._h=function Pbc(){return this.i==(occ(),mcc)&&this.g};_.Ri=function Qbc(a){return this.Si(a,new Ncc(true),0)};_.Si=function Rbc(a,b,c){var d,e;if(H8b(this,a,b,c))return true;if(a.Wi()){d=a.Wi();if(d.i==(occ(),mcc))return true;if(this.i==mcc)return false;return e=!!X7b(d.o)&&!!X7b(d.o).cj()&&X7b(d.o).cj().i==mcc||d.o.Si(this.o,b,0)||this.o.Si(d.o,b,0),e&&i9b(this.c,d.c,b,c)}return R7b(this,(dec(),jdc)).Si(a,b,c)};_.fi=function Sbc(){return new icc(this)};_.Wi=function Ubc(){return this};
_._i=function Vbc(a){return a.Ug(this)};_.f=false;_.g=false;var dS=Mkc(66);aW(176,66,BLc,Wbc);var $R=Mkc(176);aW(205,1,{},ccc);_.a=false;_.b=false;_.c=null;_.e=null;_.f=null;_.g=null;var _R=Mkc(205);aW(287,1,{},hcc);var aS=Mkc(287);aW(758,1,{},icc);_.ii=function jcc(){var a;a=new sbc(this.b.B,this.b.jj(),this.b.k,this.a,this.b.o,this.b.C,this.b.Th(),this.b.s,this.b.f);this.b.Th()&&obc(a,fbc(this.b),null);return a};_.ji=function kcc(a){Kd(iE(a,23));this.a=new j9b(this.b.B,this.a.a,a);return this};
var bS=Mkc(758);aW(233,14,{233:1,3:1,22:1,14:1},pcc);var lcc,mcc,ncc;var cS=Nkc(233,ZS,qcc);aW(886,85,zLc,rcc);_.Ah=function ucc(){return this.a};_.zi=function scc(a,b){return this.a.mj()?Wmc(a,b?D9b(this.a):this.a.jj()):Cac(this,a,b)};_.qj=function tcc(a,b,c,d){var e,f;e=kbc(this.a);if(!!e&&!!lgc(e.hj(),a)&&(f=e.kj(a),!!f&&!f.b))return false;return Dac(this,a,b,c,d)};_.cj=function vcc(){return this.a};_.dj=function wcc(){return this.a.d};_.rj=function xcc(){return ebc(this.a)};_.ej=function ycc(){return kbc(this.a)};
_.jj=function zcc(){return this.a.jj()};_.mj=function Acc(){return this.a.mj()};_.Ed=function Bcc(){var a;return this.a.mj()?ACc(this.a.jj()):(a=this.a,!!a&&a.i==(occ(),mcc)&&a.g?zrc(vD(qD(lT,1),bDc,1,5,[this.q,this.v])):bCc(this))};_.Ni=function Ccc(){return this.a.mj()};var eS=Mkc(886);aW(722,1,GEc,Dcc);_.Qe=function Ecc(a,b){return emc(a.zi(new $mc,false).a,b.zi(new $mc,false).a)};_.Cd=function Fcc(a){return this===a};_.Se=function Gcc(){return new lvc(this)};var fS=Mkc(722);aW(433,1,{});_.b=false;
var iS=Mkc(433);aW(62,433,{},Kcc);var gS=Mkc(62);aW(97,433,{},Ncc);var hS=Mkc(97);aW(231,14,{231:1,3:1,22:1,14:1},Scc);_.a=false;var Occ,Pcc,Qcc;var jS=Nkc(231,ZS,Tcc);aW(29,14,{29:1,3:1,22:1,14:1},eec);var Ucc,Vcc,Wcc,Xcc,Ycc,Zcc,$cc,_cc,adc,bdc,cdc,ddc,edc,fdc,gdc,hdc,idc,jdc,kdc,ldc,mdc,ndc,odc,pdc,qdc,rdc,sdc,tdc,udc,vdc,wdc,xdc,ydc,zdc,Adc,Bdc,Cdc,Ddc,Edc,Fdc,Gdc,Hdc,Idc,Jdc,Kdc,Ldc,Mdc,Ndc,Odc,Pdc,Qdc,Rdc,Sdc,Tdc,Udc,Vdc,Wdc,Xdc,Ydc,Zdc,$dc,_dc,aec,bec,cec;var kS=Nkc(29,ZS,fec);aW(384,1,UCc,
Eec);_.gh=function Fec(a){return rec(this,a.Qd(sD(nS,xLc,23,0,0,1)))};_.hh=function Gec(a){return this.j[a.f]};_.ih=function Hec(a){return wec(this,a)};_.jh=function Iec(a,b){return new bic(this,a,b)};var mS=Mkc(384);aW(757,66,BLc,Jec);_.Ah=function Kec(){return vec(this.B,(dec(),hdc))};_.cj=function Lec(){return vec(this.B,(dec(),hdc))};var lS=Mkc(757);aW(827,1,{});_.Rg=function Tec(){return Sec(this,(dec(),Ucc))};_.Sg=function Uec(){return Sec(this,(dec(),Zcc))};_.Tg=function Vec(a){return a};_.Ug=
function Wec(a){return Mec(this,a)};_.Vg=function Xec(){return Sec(this,(dec(),sdc))};_.Wg=function Yec(a){return a};_.Xg=function Zec(){return Sec(this,(dec(),vdc))};_.Yg=function $ec(){return Sec(this,(dec(),Bdc))};_.Zg=function _ec(a){return Nec(this,a)};_.$g=function afc(a){return Oec(this,a)};_._g=function bfc(){return Sec(this,(dec(),Qdc))};_.ah=function dfc(a){return this.tj(a)};_.bh=function efc(a){return Pec(this,a)};_.dh=function ffc(a){return Qec(this,a)};_.eh=function gfc(){return Sec(this,
(dec(),_dc))};_.fh=function hfc(){return Sec(this,(dec(),cec))};_.tj=function cfc(a){return a};_.g=false;var oS=Mkc(827);aW(538,66,BLc,ifc);_.Ah=function lfc(){return null};_.gi=function vfc(){return null};_.zi=function jfc(a,b){return a.a+=b?"?":"NoObject",a};_.qj=function kfc(a,b,c,d){return true};_.cj=function mfc(){return null};_.ej=function nfc(){return null};_.jj=function ofc(){return null};_.mj=function pfc(){return false};_.Ed=function qfc(){return bCc(this)};_.Th=function rfc(){return false};
_.Ki=function sfc(){return true};_.Ri=function tfc(a){return this.Si(a,new Ncc(true),0)};_.Si=function ufc(a,b,c){return H8b(this,a,b,c)||a.Pi()&&!a.Mi()&&!a.Li()};_.Wi=function wfc(){return null};_._i=function xfc(a){return a.Vg()};var pS=Mkc(538);aW(539,538,BLc,yfc);_.zi=function zfc(a,b){return a.a+=b?"?":"None",a};_.Ki=function Afc(){return false};_.Mi=function Bfc(){return true};_.Zh=function Cfc(){return true};_.Ri=function Dfc(a){return this.Si(a,null,0)};_.Si=function Efc(a,b,c){return true};
_.ci=function Ffc(){return true};_._i=function Gfc(a){return a.Wg(this)};var rS=Mkc(539);aW(873,539,BLc,Ifc);_.zi=function Jfc(a,b){return a.a+=b?"?":"NoResolvedType",a};_.jj=function Kfc(){return this.a};_.Oh=function Lfc(){return this.b};_.Th=function Mfc(){return false};_.Li=function Nfc(){return true};_.Mi=function Ofc(){return false};_.Ri=function Pfc(a){return Hfc(this,a,new Ncc(true),0)};_.Si=function Qfc(a,b,c){return Hfc(this,a,b,c)};var qS=Mkc(873);aW(868,247,wLc,Rfc);_.di=function Wfc(){return vec(this.B,
(dec(),udc))};_.zi=function Sfc(a,b){return a.a+=KCc,a};_.Ed=function Tfc(){return bCc(this)};_.Oi=function Ufc(){return true};_.Zh=function Vfc(){return true};_.Ti=function Xfc(){return vec(this.B,(dec(),udc))};_._i=function Yfc(a){return a.Xg()};var sS=Mkc(868);aW(869,247,wLc,Zfc);_.zi=function $fc(a,b){return a.a+=FCc,a};_.Bi=function _fc(){return R7b(this,(dec(),ydc))};_.Ed=function agc(){return bCc(this)};_.Zh=function bgc(){return false};_._i=function cgc(a){return a.Yg()};var tS=Mkc(869);aW(366,
1,{366:1,3:1},egc);_.Ed=function fgc(){return zrc(vD(qD(lT,1),bDc,1,5,[this.c,this.e]))};_.Fd=function ggc(){return"Property {  name: "+this.c+", type:"+this.e+", inferred: "+this.b+"}"};_.a=null;_.b=false;var wS=Mkc(366);aW(369,1,UCc,rgc,sgc);_.Ed=function tgc(){return wyc(this.b.keySet())};_.a=null;var hgc;var vS=Mkc(369);aW(123,47,CLc);_.Ah=function ygc(){return!this.c?null:this.c.cj()};_.gi=function _gc(){return this.d.Wi()};_.zi=function xgc(a,b){return this.d.zi(a,b)};_.cj=function zgc(){return!this.c?
null:this.c.cj()};_.dj=function Agc(){return!this.c?(msc(),msc(),ksc):this.c.dj()};_.ej=function Bgc(){return!this.c?null:this.c.ej()};_.gj=function Cgc(){return!this.c?null:this.c.gj()};_.hj=function Dgc(){return!this.c?(igc(),igc(),hgc):this.c.hj()};_.jj=function Egc(){return!this.c?"":this.c.jj()};_.Ei=function Fgc(){return this.d.Ei()};_.Oh=function Ggc(){return!this.c?null:this.c.Oh()};_.aj=function Hgc(){return T7b(this.d)};_.Fi=function(){return this.aj()};_.mj=function Igc(){return hkc(!this.c?
null:(gkc(),this.c.mj()?true:false))};_.Ed=function Jgc(){return this.d.Ed()};_.Gi=function Kgc(){return this.d.Gi()};_.Hi=function Lgc(){return this.d.Hi()};_.Th=function Mgc(){return this.d.Th()};_.Yh=function Ngc(){return this.d.Yh()};_.nj=function Ogc(){return!!this.c&&this.c.nj()};_.Ki=function Pgc(){return this.d.Ki()};_.Li=function Qgc(){return this.d.Li()};_.Mi=function Rgc(){return this.d.Mi()};_.Ni=function Sgc(){return this.d.Ni()};_.Zh=function Tgc(){return this.d.Zh()};_.Qi=function Ugc(){return this.d.Qi()};
_.Ri=function Vgc(a){return this.d.Si(a,new Ncc(true),0)};_.Si=function Wgc(a,b,c){return this.d.Si(a,b,c)};_.ai=function Xgc(){return this.d.ai()};_.ci=function Ygc(){return this.d.ci()};_.Ui=function Zgc(){return this.d.Ui()};_.Vi=function $gc(){return this.d.Vi()};_.Wi=function ahc(){return this.d.Wi()};_.Xi=function bhc(){return this.d.Xi()};_.Yi=function chc(){return this.d.Yi()};_.Zi=function dhc(){return this.d.Zi()};_.$i=function ehc(){return this.d.$i()};_._i=function fhc(a){return a.$g(this)};
var yS=Mkc(123);aW(892,85,zLc,jhc);_.qj=function khc(a,b,c,d){return ghc(this,a,b,c,d)};_.ej=function lhc(){return vec(this.B,(dec(),Hdc))};_.Qi=function mhc(){return true};_.Ri=function nhc(a){return ihc(this,a,new Ncc(true),0)};_.Si=function ohc(a,b,c){return ihc(this,a,b,c)};_.Xi=function phc(){return this};_.a=false;var BS=Mkc(892);aW(549,1,{},shc);_.a=true;_.b=true;var AS=Mkc(549);aW(371,1,{371:1},thc);_.Fd=function uhc(){return"RecordProperty{type: "+this.b+", node: "+this.a+"}"};var zS=Mkc(371);
aW(870,247,wLc,vhc);_.zi=function whc(a,b){return a.a+=HCc,a};_.Bi=function xhc(){return R7b(this,(dec(),Pdc))};_.Ed=function yhc(){return bCc(this)};_._i=function zhc(a){return a._g()};var CS=Mkc(870);aW(244,123,{86:1,56:1,23:1,47:1,123:1,244:1,3:1},Ahc);_.zi=function Bhc(a,b){return Wmc(a,this.a)};_.jj=function Chc(){return this.a};_.aj=function Dhc(){return true};_.Yi=function Ehc(){return this};_._i=function Fhc(a){return a.ah(this)};var FS=Mkc(244);aW(461,1,UCc,Shc);_.Fd=function Uhc(){var a,
b,c;c="";b=this.d.size();c+="{ ";for(a=0;a<b;a++){c+="(";c+=this.d.getAtIndex(a);c+=",";c+=a<this.e.size()?this.e.getAtIndex(a):"";c+=",";c+=this.c!=null&&a<this.c.length?this.c[a]:"";c+=") "}c+="}";return c};_.a=false;var ES=Mkc(461);aW(355,827,{},Yhc,Zhc);_.tj=function $hc(a){var b,c;if(Phc(this.c,a))if(Vhc(this,a))return a;else if(Lhc(this.c,a)!=-1){b=Nhc(this.c,a);if(b==this.a||Whc(this,a,b))return a;Ppc(this.d,a);c=b._i(this);cqc(this.d);ce(c!=this.a,"Trying to replace key %s with the same value",
this.a);return c}else return this.b?vec(this.e,(dec(),_dc)):a;else return a};_.a=null;_.b=false;var DS=Mkc(355);aW(547,123,CLc,bic);_.Kh=function eic(a){var b;return b=F9b(this,a),!b?null:b._i(this.a)};_.zi=function cic(a,b){var c,d;this.d.zi(a,b);if(!this.b.isEmpty()){a.a+="<";d=this.b.size()-1;for(c=0;c<d;c++){this.b.getAtIndex(c).zi(a,b);a.a+=","}this.b.getAtIndex(d).zi(a,b);a.a+=">"}return a};_.dj=function dic(){var a,b,c;c=new jyc;for(b=this.c.dj().Pd();b.Jd();){a=b.Kd();Cwc(c,X7b(a._i(this.a)))}return c};
_.ij=function fic(a){var b;return b=F9b(this,a),!b?null:b._i(this.a)};_.Ei=function gic(){return this.C};_.Oh=function hic(){return this.b};_.aj=function iic(){return Ohc(this.C)};_.Ed=function jic(){var a;a=this.d.Ed();if(this.b.isEmpty())return a;return zrc(vD(qD(lT,1),bDc,1,5,[this.b,Blc(a)]))};_.Ri=function kic(a){return H8b(this,a,new Ncc(true),0)};_.Si=function lic(a,b,c){return H8b(this,a,b,c)};_.Zi=function mic(){return this};_._i=function nic(a){return a.bh(this)};var GS=Mkc(547);aW(156,
14,DLc);var oic,pic,qic;var KS=Nkc(156,ZS,tic);aW(815,156,DLc,uic);_.uj=function vic(){return pic};_.vj=function wic(a){return false};_.toString=function xic(){return mFc};var HS=Nkc(815,KS,null);aW(816,156,DLc,yic);_.uj=function zic(){return oic};_.vj=function Aic(a){return true};_.toString=function Bic(){return nFc};var IS=Nkc(816,KS,null);aW(817,156,DLc,Cic);_.uj=function Dic(){return qic};_.vj=function Eic(a){return a};_.toString=function Fic(){return vKc};var JS=Nkc(817,KS,null);aW(893,23,wLc,
Tic);_.yh=function Vic(){return Gic(this)};_.di=function fjc(){return Sic(this)};_.zi=function Uic(a,b){var c,d,e,f;c=true;a.a+="(";d=new sAc(K7b);Mc(d,this.b);for(f=d.a.keySet().Pd();f.Jd();){e=f.Kd();c||(a.a+="|",a);e.zi(a,b);c=false}return a.a+=")",a};_.Ai=function Wic(){return Gic(this)};_.Di=function Xic(a){return Kic(this,a)};_.aj=function Yic(){var a,b;for(b=0;b<this.b.size();b++){a=this.b.getAtIndex(b);if(T7b(a))return true}return false};_.Fi=function(){return this.aj()};_.Ed=function Zic(){return this.c};
_.Ii=function $ic(){var a,b;for(a=0;a<this.b.size();a++){b=this.b.getAtIndex(a);if(b.Ii())return true}return false};_.Zh=function _ic(){var a,b;for(a=0;a<this.b.size();a++){b=this.b.getAtIndex(a);if(b.Zh())return true}return false};_.Pi=function ajc(){return Nic(this)};_.Ri=function bjc(a){return Oic(this,a,new Ncc(true),0)};_.Si=function cjc(a,b,c){return Oic(this,a,b,c)};_.ai=function djc(){return Pic(this)};_.ci=function ejc(){var a,b;for(a=0;a<this.b.size();a++){b=this.b.getAtIndex(a);if(b.ci())return true}return false};
_.Ti=function gjc(){return Sic(this)};_.$i=function hjc(){return this};_._i=function ijc(a){return a.dh(this)};_.c=0;var MS=Mkc(893);aW(106,1,{106:1,3:1},pjc,qjc);_.b=true;_.c=false;_.d=-1;_.e=false;_.f=false;_.g=0;_.j=null;var LS=Mkc(106);aW(203,47,{86:1,56:1,23:1,47:1,203:1,3:1},rjc);_.Ah=function tjc(){return null};_.zi=function sjc(a,b){return Wmc(a,this.a?"??":"?")};_.cj=function ujc(){return null};_.ej=function vjc(){return null};_.jj=function wjc(){return this.a?"??":"?"};_.Ed=function xjc(){return bCc(this)};
_.Hi=function yjc(){return this.a};_.Zh=function zjc(){return true};_.Ri=function Ajc(a){return true};_.Si=function Bjc(a,b,c){return true};_.ai=function Cjc(){return true};_.ci=function Djc(){return true};_._i=function Ejc(a){return a.eh()};_.a=false;var NS=Mkc(203);aW(871,247,wLc,Fjc);_.di=function Ljc(){return vec(this.B,(dec(),udc))};_.zi=function Gjc(a,b){return a.a+=_Gc,a};_.Ed=function Hjc(){return bCc(this)};_.Ii=function Ijc(){return true};_.bi=function Jjc(){return true};_.ci=function Kjc(){return true};
_.Ti=function Mjc(){return vec(this.B,(dec(),udc))};_._i=function Njc(a){return a.fh()};var PS=Mkc(871);var Ojc="/";aW(251,1,{374:1});_.wj=function Ujc(a){return Pjc(this,a)};_.xj=function Vjc(){return this.a.length};_.yj=function Wjc(a,b){return Amc(this.a,a,b)};_.Fd=function Xjc(){return this.a};var RS=Mkc(251);aW(188,21,{3:1,188:1,40:1,21:1,38:1},Yjc);var SS=Mkc(188);aW(92,21,aEc,Zjc,$jc);var cT=Mkc(92);aW(718,92,aEc,_jc);var TS=Mkc(718);aW(88,38,ELc,akc);var $S=Mkc(88);aW(68,88,ELc,ckc,dkc);var US=
Mkc(68);aW(151,1,{3:1,151:1,22:1},pkc);_.Ud=function qkc(a){return this.a-a.a};_.Cd=function skc(a){return iE(a,151)&&a.a==this.a};_.Ed=function ukc(){return this.a};_.Fd=function Akc(){return String.fromCharCode(this.a)};_.a=0;var mkc,nkc,okc;var WS=Mkc(151);var Ckc;aW(16,21,{3:1,40:1,16:1,21:1,38:1},klc,llc,mlc);var bT=Mkc(16);aW(130,215,{3:1,22:1,130:1,215:1},nlc);_.Ud=function plc(a){return olc(this.a,a.a)};_.Ej=function qlc(){return this.a};_.Cd=function rlc(a){return iE(a,130)&&a.a==this.a};
_.Ed=function slc(){return this.a};_.Fj=function ulc(){return this.a};_.Fd=function zlc(){return""+this.a};_.a=0;var dT=Mkc(130);var Clc;aW(152,215,{3:1,22:1,152:1,215:1},Elc);_.Ud=function Glc(a){return Flc(this.a,a.a)};_.Ej=function Hlc(){return RV(this.a)};_.Cd=function Ilc(a){return iE(a,152)&&HV(a.a,this.a)};_.Ed=function Jlc(){return SV(this.a)};_.Fj=function Klc(){return SV(this.a)};_.Fd=function Mlc(){return""+TV(this.a)};_.a=0;var gT=Mkc(152);var Olc;aW(1012,1,{});aW(724,21,aEc,Qlc);var hT=
Mkc(724);aW(63,208,{3:1,40:1,63:1,21:1,38:1},Rlc,Slc,Tlc);_.wf=function Ulc(a){return new TypeError(a)};var iT=Mkc(63);var Vlc,Wlc,Xlc,Ylc;aW(91,41,{3:1,40:1,41:1,91:1,21:1,38:1},$lc);var jT=Mkc(91);aW(139,1,{3:1,139:1},_lc);_.Cd=function amc(a){var b;if(iE(a,139)){b=a;return this.c==b.c&&this.d==b.d&&this.a==b.a&&this.b==b.b}return false};_.Ed=function bmc(){return zrc(vD(qD(lT,1),bDc,1,5,[Blc(this.c),this.a,this.d,this.b]))};_.Fd=function cmc(){return this.a+"."+this.d+"("+(this.b!=null?this.b:
"Unknown Source")+(this.c>=0?":"+this.c:"")+")"};_.c=0;var nT=Mkc(139);aW(28,251,{374:1,28:1},$mc,_mc,anc,bnc);var oT=Mkc(28);aW(265,92,{3:1,40:1,21:1,265:1,38:1},cnc);var pT=Mkc(265);aW(1016,1,{});aW(20,21,{3:1,40:1,21:1,38:1,20:1},enc,fnc);var sT=Mkc(20);aW(135,14,{3:1,22:1,14:1,135:1},pnc);var gnc,hnc,inc,jnc,knc,lnc,mnc,nnc;var tT=Nkc(135,ZS,qnc);aW(179,1,FLc);_.Ud=function rnc(a){return fmc(this.a,a.a)};_.Cd=function snc(a){var b;if(a===this)return true;if(!iE(a,179))return false;b=a;return imc(this.a,
b.a)};_.Ed=function tnc(){return ACc(this.a)};_.Fd=function unc(){return this.a};var uT=Mkc(179);aW(6,1,{},xnc);var vT=Mkc(6);aW(184,931,kDc);_.clear=function Nnc(){Jnc(this)};_.containsKey=function Onc(a){return znc(this,a)};_.containsValue=function Pnc(a){return Anc(this,a)};_.Xd=function Qnc(){return new Wnc(this)};_.get=function Rnc(a){return Cnc(this,a)};_.put=function Snc(a,b){return Fnc(this,a,b)};_.remove=function Tnc(a){return Hnc(this,a)};_.size=function Unc(){return Knc(this)};var zT=Mkc(184);
aW(84,911,qDc,Wnc);_.clear=function Xnc(){this.a.clear()};_.contains=function Ync(a){return Vnc(this,a)};_.Pd=function Znc(){return new coc(this.a)};_.remove=function $nc(a){var b;if(Vnc(this,a)){b=a.ce();this.a.remove(b);return true}return false};_.size=function _nc(){return this.a.size()};var yT=Mkc(84);aW(112,1,WCc,coc);_.Kd=function eoc(){return boc(this)};_.Jd=function doc(){return this.b};_.Ld=function foc(){nCc(!!this.c);pvc(this.e,this);this.c.Ld();this.c=null;this.b=aoc(this);qvc(this.e,
this)};_.b=false;var xT=Mkc(112);aW(117,1,WCc,joc);_.Jd=function koc(){return goc(this)};_.Kd=function loc(){return hoc(this)};_.Ld=function moc(){ioc(this)};_.b=0;_.c=-1;var AT=Mkc(117);aW(296,117,vDc,ooc);_.Ld=function soc(){ioc(this)};_.he=function poc(a){this.a.addAtIndex(this.b,a);++this.b;this.c=-1};_.ie=function qoc(){return this.b>0};_.je=function roc(){return noc(this)};_.ke=function toc(a){nCc(this.c!=-1);this.a.setAtIndex(this.c,a)};var BT=Mkc(296);aW(395,932,cDc,uoc);_.addAtIndex=function voc(a,
b){lCc(a,this.b);this.c.addAtIndex(this.a+a,b);++this.b};_.getAtIndex=function woc(a){iCc(a,this.b);return this.c.getAtIndex(this.a+a)};_.removeAtIndex=function xoc(a){var b;iCc(a,this.b);b=this.c.removeAtIndex(this.a+a);--this.b;return b};_.setAtIndex=function yoc(a,b){iCc(a,this.b);return this.c.setAtIndex(this.a+a,b)};_.size=function zoc(){return this.b};_.a=0;_.b=0;var CT=Mkc(395);aW(43,911,qDc,Boc);_.clear=function Coc(){this.a.clear()};_.contains=function Doc(a){return Aoc(this,a)};_.Pd=function Eoc(){var a;
return a=this.a.Xd().Pd(),new Hoc(a)};_.remove=function Foc(a){if(this.a.containsKey(a)){this.a.remove(a);return true}return false};_.size=function Goc(){return this.a.size()};var FT=Mkc(43);aW(61,1,WCc,Hoc);_.Jd=function Ioc(){return this.a.Jd()};_.Kd=function Joc(){var a;return a=this.a.Kd(),a.ce()};_.Ld=function Koc(){this.a.Ld()};var ET=Mkc(61);aW(141,912,aDc,Loc);_.clear=function Moc(){this.a.clear()};_.contains=function Noc(a){return this.a.containsValue(a)};_.Pd=function Ooc(){var a;return a=
this.a.Xd().Pd(),new Qoc(a)};_.size=function Poc(){return this.a.size()};var HT=Mkc(141);aW(142,1,WCc,Qoc);_.Jd=function Roc(){return this.a.Jd()};_.Kd=function Soc(){var a;return a=this.a.Kd(),a.de()};_.Ld=function Toc(){this.a.Ld()};var GT=Mkc(142);aW(220,1,{220:1,48:1});_.Cd=function Voc(a){var b;if(!iE(a,48))return false;b=a;return vyc(this.d,b.ce())&&vyc(this.e,b.de())};_.ce=function Woc(){return this.d};_.de=function Xoc(){return this.e};_.Ed=function Yoc(){return wyc(this.d)^wyc(this.e)};_.ee=
function Zoc(a){return Uoc(this,a)};_.Fd=function $oc(){return this.d+"="+this.e};var IT=Mkc(220);aW(163,220,{220:1,163:1,48:1},_oc);var JT=Mkc(163);aW(941,1,oDc);_.Cd=function apc(a){var b;if(!iE(a,48))return false;b=a;return vyc(this.ce(),b.ce())&&vyc(this.de(),b.de())};_.Ed=function bpc(){return wyc(this.ce())^wyc(this.de())};_.Fd=function cpc(){return this.ce()+"="+this.de()};var KT=Mkc(941);aW(948,931,kDc);_.Fe=function fpc(a){return dpc(this,a)};_.containsKey=function gpc(a){return epc(this,
a)};_.Jj=function hpc(){return new lpc(this)};_.Xd=function ipc(){return new wpc(this)};_.get=function jpc(a){var b;return b=a,Ii(this.Lj(b))};_.keySet=function kpc(){return new Bpc(this)};var QT=Mkc(948);aW(679,948,kDc,lpc);_.clear=function mpc(){this.a.clear()};_.pf=function npc(){return tsc(this.a.pf())};_.Ij=function opc(){return this.a.Kj()};_.Jj=function ppc(){return this.a};_.Kj=function qpc(){return this.a.Ij()};_.Lj=function rpc(a){return this.a.Lj(a)};_.put=function spc(a,b){return this.a.put(a,
b)};_.remove=function tpc(a){return this.a.remove(a)};_.Mj=function upc(a){return this.a.Mj(a)};_.size=function vpc(){return this.a.size()};var MT=Mkc(679);aW(278,911,qDc,wpc);_.contains=function xpc(a){return iE(a,48)&&dpc(this.b,a)};_.Pd=function ypc(){return this.b.Kj()};_.remove=function zpc(a){var b;if(iE(a,48)){b=a;return this.b.Mj(b)}return false};_.size=function Apc(){return this.b.size()};var NT=Mkc(278);aW(680,911,xDc,Bpc);_.clear=function Cpc(){this.a.clear()};_.contains=function Dpc(a){return epc(this.a,
a)};_.Pd=function Epc(){var a;a=this.a.Xd().b.Kj();return new Hpc(a)};_.remove=function Fpc(a){if(epc(this.a,a)){this.a.remove(a);return true}return false};_.size=function Gpc(){return this.a.size()};var PT=Mkc(680);aW(681,1,WCc,Hpc);_.Jd=function Ipc(){return this.a.Jd()};_.Kd=function Jpc(){var a;a=this.a.Kd();return a.ce()};_.Ld=function Kpc(){this.a.Ld()};var OT=Mkc(681);aW(944,912,aDc);_.add=function Lpc(a){return oCc(Ayc(this,a)),true};_.addAll=function Mpc(a){jCc(a);dCc(a!=this,"Can't add a queue to itself");
return Mc(this,a)};_.clear=function Npc(){while(Byc(this)!=null);};var RT=Mkc(944);aW(98,912,aDc,gqc,iqc);_.add=function jqc(a){return Qpc(this,a),true};_.clear=function lqc(){Rpc(this)};_.contains=function mqc(a){return Spc(new uqc(this),a)};_.isEmpty=function nqc(){return Wpc(this)};_.Pd=function oqc(){return new uqc(this)};_.remove=function pqc(a){return aqc(new uqc(this),a)};_.size=function qqc(){return fqc(this)};_.Qd=function rqc(a){var b;b=this.c-this.b&this.a.length-1;a.length<b&&(a=VBc(new Array(b),
a));Tpc(this,a,b);a.length>b&&(a[b]=null);return a};_.b=0;_.c=0;var VT=Mkc(98);aW(193,1,WCc,uqc);_.Jd=function vqc(){return this.a!=this.b};_.Kd=function wqc(){return sqc(this)};_.Ld=function xqc(){tqc(this)};_.a=0;_.b=0;_.c=-1;var UT=Mkc(193);aW(18,932,{3:1,15:1,18:1,17:1,46:1,67:1},Lqc,Mqc,Nqc);_.addAtIndex=function Oqc(a,b){zqc(this,a,b)};_.add=function Pqc(a){return Aqc(this,a)};_.addAllAtIndex=function Qqc(a,b){var c,d;lCc(a,this.a.length);c=b.toArray();d=c.length;if(d==0)return false;SBc(this.a,
a,c);return true};_.addAll=function Rqc(a){return Bqc(this,a)};_.clear=function Sqc(){this.a=sD(lT,bDc,1,0,5,1)};_.contains=function Tqc(a){return Dqc(this,a,0)!=-1};_.getAtIndex=function Uqc(a){return Cqc(this,a)};_.indexOf=function Vqc(a){return Dqc(this,a,0)};_.isEmpty=function Wqc(){return this.a.length==0};_.Pd=function Xqc(){return new grc(this)};_.lastIndexOf=function Yqc(a){return Eqc(this,a,this.a.length-1)};_.removeAtIndex=function Zqc(a){return Fqc(this,a)};_.remove=function $qc(a){return Gqc(this,
a)};_.Td=function _qc(a,b){var c;mCc(a,b,this.a.length);c=b-a;TBc(this.a,a,c)};_.setAtIndex=function arc(a,b){return Hqc(this,a,b)};_.size=function brc(){return this.a.length};_.toArray=function crc(){return Jqc(this)};_.Qd=function drc(a){return Kqc(this,a)};var XT=Mkc(18);aW(27,1,WCc,grc);_.Jd=function hrc(){return this.a<this.c.a.length};_.Kd=function irc(){return erc(this)};_.Ld=function jrc(){frc(this)};_.a=0;_.b=-1;var WT=Mkc(27);aW(128,932,NDc,Prc);_.contains=function Qrc(a){return ed(this,
a)!=-1};_.getAtIndex=function Rrc(a){return iCc(a,this.a.length),this.a[a]};_.setAtIndex=function Src(a,b){var c;c=(iCc(a,this.a.length),this.a[a]);this.a[a]=b;return c};_.size=function Trc(){return this.a.length};_.toArray=function Urc(){return Orc(this,sD(lT,bDc,1,this.a.length,5,1))};_.Qd=function Vrc(a){return Orc(this,a)};var YT=Mkc(128);aW(915,$wnd.Function,{},Wrc);_.Nj=function Xrc(a,b){return a-b};aW(274,1,{274:1},dsc);_.Cd=function fsc(a){return Yrc(this,a)};_.Ed=function gsc(){return $rc(this)};
_.Fd=function jsc(){var a,b;if(_rc(this)==0)return"{}";b=new bnc("{");a=asc(this,0);b.a+=a;while((a=asc(this,a+1))!=-1){b.a+=$Cc;b.a+=a}b.a+="}";return b.a};var ZT=Mkc(274);var ksc,lsc;aW(606,932,NDc,xsc);_.contains=function ysc(a){return false};_.getAtIndex=function zsc(a){iCc(a,0);return null};_.Pd=function Asc(){return msc(),Esc(),Dsc};_.Rd=function Bsc(){return msc(),Esc(),Dsc};_.size=function Csc(){return 0};var _T=Mkc(606);aW(607,1,vDc,Gsc);_.he=function Hsc(a){throw CV(new enc);};_.Jd=function Isc(){return false};
_.ie=function Jsc(){return false};_.Kd=function Ksc(){return Fsc()};_.je=function Lsc(){throw CV(new uyc);};_.Ld=function Msc(){throw CV(new klc);};_.ke=function Nsc(a){throw CV(new klc);};var Dsc;var $T=Mkc(607);aW(608,911,HLc,Osc);_.contains=function Psc(a){return false};_.Pd=function Qsc(){return msc(),Esc(),Dsc};_.size=function Rsc(){return 0};var aU=Mkc(608);aW(609,911,HLc,Vsc);_.add=function Wsc(a){return Ssc(this,a)};_.clear=function Xsc(){Jnc(this.a)};_.contains=function Ysc(a){return Tsc(this,
a)};_.Cd=function Zsc(a){return a===this||(!this.b&&(this.b=new Boc(this.a)),lj(this.b,a))};_.Ed=function $sc(){return!this.b&&(this.b=new Boc(this.a)),osc(this.b)};_.Pd=function _sc(){var a;return!this.b&&(this.b=new Boc(this.a)),a=this.b.a.Xd().Pd(),new Hoc(a)};_.remove=function atc(a){return Usc(this,a)};_.size=function btc(){return!this.b&&(this.b=new Boc(this.a)),this.b.a.size()};_.Fd=function ctc(){return!this.b&&(this.b=new Boc(this.a)),Sc(this.b)};var bU=Mkc(609);aW(610,932,ODc,dtc);_.contains=
function etc(a){return vyc(this.a,a)};_.getAtIndex=function ftc(a){iCc(a,1);return this.a};_.size=function gtc(){return 1};var cU=Mkc(610);aW(221,1,aDc,ktc);_.add=function ltc(a){throw CV(new enc);};_.addAll=function mtc(a){throw CV(new enc);};_.clear=function ntc(){throw CV(new enc);};_.contains=function otc(a){return htc(this,a)};_.containsAll=function ptc(a){return itc(this,a)};_.isEmpty=function qtc(){return this.b.isEmpty()};_.Pd=function rtc(){return new Atc(this.b.Pd())};_.remove=function stc(a){throw CV(new enc);
};_.removeAll=function ttc(a){throw CV(new enc);};_.retainAll=function utc(a){throw CV(new enc);};_.size=function vtc(){return this.b.size()};_.toArray=function wtc(){return this.b.toArray()};_.Qd=function xtc(a){return jtc(this,a)};_.Fd=function ytc(){return fW(this.b)};var eU=Mkc(221);aW(78,1,WCc,Atc);_.Jd=function Btc(){return this.b.Jd()};_.Kd=function Ctc(){return this.b.Kd()};_.Ld=function Dtc(){ztc()};var dU=Mkc(78);aW(261,221,cDc,Etc);_.addAtIndex=function Ftc(a,b){throw CV(new enc);};_.addAllAtIndex=
function Gtc(a,b){throw CV(new enc);};_.Cd=function Htc(a){return wb(this.a,a)};_.getAtIndex=function Itc(a){return this.a.getAtIndex(a)};_.Ed=function Jtc(){return Ab(this.a)};_.indexOf=function Ktc(a){return this.a.indexOf(a)};_.isEmpty=function Ltc(){return this.a.isEmpty()};_.lastIndexOf=function Mtc(a){return this.a.lastIndexOf(a)};_.Rd=function Ntc(){return new Stc(this.a.Sd(0))};_.Sd=function Otc(a){return new Stc(this.a.Sd(a))};_.removeAtIndex=function Ptc(a){throw CV(new enc);};_.setAtIndex=
function Qtc(a,b){throw CV(new enc);};_.subList=function Rtc(a,b){return new Etc(this.a.subList(a,b))};var gU=Mkc(261);aW(394,78,vDc,Stc);_.Ld=function Wtc(){ztc()};_.he=function Ttc(a){throw CV(new enc);};_.ie=function Utc(){return this.a.ie()};_.je=function Vtc(){return this.a.je()};_.ke=function Xtc(a){throw CV(new enc);};var fU=Mkc(394);aW(214,1,kDc,cuc);_.getOrDefault=function juc(a,b){var c;return c=this.d.get(a),c==null&&!this.d.containsKey(a)?b:c};_.putIfAbsent=function puc(a,b){var c;return c=
this.d.get(a),c!=null?c:auc()};_.replace=function ruc(a,b){return this.d.containsKey(a)?auc():null};_.clear=function duc(){throw CV(new enc);};_.containsKey=function euc(a){return this.d.containsKey(a)};_.containsValue=function fuc(a){return Ytc(this,a)};_.Xd=function guc(){return Ztc(this)};_.Cd=function huc(a){return $tc(this,a)};_.get=function iuc(a){return this.d.get(a)};_.Ed=function kuc(){return Ab(this.d)};_.isEmpty=function luc(){return this.d.isEmpty()};_.keySet=function muc(){return _tc(this)};
_.put=function nuc(a,b){return auc()};_.putAll=function ouc(a){throw CV(new enc);};_.remove=function quc(a){throw CV(new enc);};_.size=function suc(){return this.d.size()};_.Fd=function tuc(){return fW(this.d)};_.values=function uuc(){return buc(this)};var kU=Mkc(214);aW(164,221,qDc,vuc);_.Cd=function wuc(a){return wb(this.b,a)};_.Ed=function xuc(){return Ab(this.b)};var mU=Mkc(164);aW(611,164,qDc,Buc);_.contains=function Cuc(a){return yuc(this,a)};_.containsAll=function Duc(a){return this.b.containsAll(a)};
_.Pd=function Euc(){var a;a=this.b.Pd();return new Huc(a)};_.toArray=function Fuc(){var a;a=this.b.toArray();Auc(a,a.length);return a};_.Qd=function Guc(a){return zuc(this,a)};var jU=Mkc(611);aW(613,1,WCc,Huc);_.Kd=function Juc(){return new Luc(this.a.Kd())};_.Jd=function Iuc(){return this.a.Jd()};_.Ld=function Kuc(){throw CV(new enc);};var hU=Mkc(613);aW(393,1,oDc,Luc);_.Cd=function Muc(a){return this.a.Cd(a)};_.ce=function Nuc(){return this.a.ce()};_.de=function Ouc(){return this.a.de()};_.Ed=function Puc(){return this.a.Ed()};
_.ee=function Quc(a){throw CV(new enc);};_.Fd=function Ruc(){return fW(this.a)};var iU=Mkc(393);aW(262,261,uDc,Suc);var lU=Mkc(262);aW(612,214,kDc,Tuc);_.pf=function Uuc(){return cvc(this.a.a)};_.Cd=function Vuc(a){return xi(this.a,a)};_.Ed=function Wuc(){return osc(new Jzc(this.a))};var nU=Mkc(612);aW(263,164,wDc,Xuc);_.Cd=function Yuc(a){return wb(this.a,a)};_.Ed=function Zuc(){return Ab(this.a)};var oU=Mkc(263);var $uc,_uc,avc;aW(411,1,aGc,dvc);_.Qe=function evc(a,b){return jCc(a),kkc(a,(jCc(b),
b))};_.Cd=function fvc(a){return this===a};_.Se=function gvc(){return bvc(),avc};var pU=Mkc(411);aW(662,1,aGc,hvc);_.Qe=function ivc(a,b){return jCc(b),kkc(b,(jCc(a),a))};_.Cd=function jvc(a){return this===a};_.Se=function kvc(){return bvc(),_uc};var qU=Mkc(662);aW(158,1,aGc,lvc);_.Cd=function nvc(a){return this===a};_.Qe=function mvc(a,b){return this.a.Qe(b,a)};_.Se=function ovc(){return this.a};var rU=Mkc(158);aW(170,21,aEc,svc);var sU=Mkc(170);aW(280,1,{3:1,22:1,280:1},tvc);_.Ud=function uvc(a){return Flc(IV(this.a.getTime()),
IV(a.a.getTime()))};_.Cd=function vvc(a){return iE(a,280)&&HV(IV(this.a.getTime()),IV(a.a.getTime()))};_.Ed=function wvc(){var a;a=IV(this.a.getTime());return SV(UV(a,OV(a,32)))};_.Fd=function yvc(){var a,b,c;c=-this.a.getTimezoneOffset();a=(c>=0?"+":"")+(c/60|0);b=xvc($wnd.Math.abs(c)%60);return(Bvc(),zvc)[this.a.getDay()]+" "+Avc[this.a.getMonth()]+" "+xvc(this.a.getDate())+" "+xvc(this.a.getHours())+":"+xvc(this.a.getMinutes())+":"+xvc(this.a.getSeconds())+" GMT"+a+b+" "+this.a.getFullYear()};
var tU=Mkc(280);var zvc,Avc;aW(230,931,{230:1,44:1},Gvc,Hvc);_.put=function Nvc(a,b){return Dvc(this,a,b)};_.clear=function Ivc(){Cvc(this)};_.containsKey=function Jvc(a){return gwc(this.a,a)};_.containsValue=function Kvc(a){var b,c;for(c=new twc(this.a);c.a<c.c.a.length;){b=swc(c);if(vyc(a,this.b[b.f]))return true}return false};_.Xd=function Lvc(){return new Rvc(this)};_.get=function Mvc(a){return gwc(this.a,a)?this.b[a.f]:null};_.remove=function Ovc(a){return Evc(this,a)};_.size=function Pvc(){return this.a.c};
var xU=Mkc(230);aW(319,911,qDc,Rvc);_.clear=function Svc(){Cvc(this.a)};_.contains=function Tvc(a){return Qvc(this,a)};_.Pd=function Uvc(){return new Xvc(this.a)};_.remove=function Vvc(a){var b;if(Qvc(this,a)){b=a.ce();Evc(this.a,b);return true}return false};_.size=function Wvc(){return this.a.a.c};var vU=Mkc(319);aW(320,1,WCc,Xvc);_.Kd=function Zvc(){return this.b=swc(this.a),new _vc(this.c,this.b)};_.Jd=function Yvc(){return rwc(this.a)};_.Ld=function $vc(){nCc(!!this.b);Evc(this.c,this.b);this.b=
null};var uU=Mkc(320);aW(279,941,oDc,_vc);_.ce=function awc(){return this.a};_.de=function bwc(){return this.b.b[this.a.f]};_.ee=function cwc(a){return Fvc(this.b,this.a.f,a)};var wU=Mkc(279);aW(947,911,qDc);var AU=Mkc(947);aW(308,947,qDc,kwc);_.add=function lwc(a){return ewc(this,a)};_.contains=function mwc(a){return gwc(this,a)};_.Pd=function nwc(){return new twc(this)};_.remove=function owc(a){return iwc(this,a)};_.size=function pwc(){return this.c};_.c=0;var zU=Mkc(308);aW(275,1,WCc,twc);_.Kd=
function vwc(){return swc(this)};_.Jd=function uwc(){return rwc(this)};_.Ld=function wwc(){nCc(this.b!=-1);this.c.b[this.b]=null;--this.c.c;this.b=-1};_.a=-1;_.b=-1;var yU=Mkc(275);aW(34,184,mDc,xwc,ywc,zwc);_.Gj=function Awc(a,b){return oE(a)===oE(b)||a!=null&&wb(a,b)};_.Hj=function Bwc(a){var b;b=Ab(a);return b|0};var BU=Mkc(34);aW(35,911,HLc,Fwc,Gwc,Hwc);_.add=function Jwc(a){return Cwc(this,a)};_.clear=function Kwc(){this.a.clear()};_.contains=function Lwc(a){return Dwc(this,a)};_.isEmpty=function Mwc(){return this.a.size()==
0};_.Pd=function Nwc(){var a;return a=(new Boc(this.a)).a.Xd().Pd(),new Hoc(a)};_.remove=function Owc(a){return Ewc(this,a)};_.size=function Pwc(){return this.a.size()};var CU=Mkc(35);aW(168,184,{3:1,168:1,44:1},Qwc);_.Cd=function Rwc(a){var b,c,d,e,f;if(a===this)return true;if(!iE(a,44))return false;e=a;if(this.d.c+this.e.c!=e.size())return false;for(c=e.Xd().Pd();c.Jd();){b=c.Kd();d=b.ce();f=b.de();if(!(nE(d)?Enc(this,d):!!Xwc(this.d,d)))return false;if(oE(f)!==oE(nE(d)?Dnc(this,d):Ii(Xwc(this.d,
d))))return false}return true};_.Gj=function Swc(a,b){return oE(a)===oE(b)};_.Hj=function Twc(a){return uCc(a)};_.Ed=function Uwc(){var a,b,c;c=0;for(b=new coc((new Wnc(this)).a);b.b;){a=boc(b);c+=bCc(a.ce());c+=bCc(a.de())}return c};var DU=Mkc(168);aW(643,1,iDc,$wc);_.Pd=function _wc(){return new axc(this)};_.c=0;var FU=Mkc(643);aW(409,1,WCc,axc);_.Kd=function cxc(){return this.d=this.a[this.c++],this.d};_.Jd=function bxc(){var a;if(this.c<this.a.length)return true;a=this.b.next();if(!a.done){this.a=
a.value[1];this.c=0;return true}return false};_.Ld=function dxc(){Zwc(this.e,this.d.ce());this.c!=0&&--this.c};_.c=0;_.d=null;var EU=Mkc(409);var gxc;aW(641,1,iDc,qxc);_.Pd=function rxc(){return new sxc(this)};_.c=0;_.d=0;var IU=Mkc(641);aW(408,1,WCc,sxc);_.Kd=function uxc(){return this.c=this.a,this.a=this.b.next(),new wxc(this.d,this.c,this.d.d)};_.Jd=function txc(){return!this.a.done};_.Ld=function vxc(){pxc(this.d,this.c.value[0])};var GU=Mkc(408);aW(642,941,oDc,wxc);_.ce=function xxc(){return this.b.value[0]};
_.de=function yxc(){if(this.a.d!=this.c)return nxc(this.a,this.b.value[0]);return this.b.value[1]};_.ee=function zxc(a){return oxc(this.a,this.b.value[0],a)};_.c=0;var HU=Mkc(642);aW(39,34,mDc,Hxc,Ixc,Jxc);_.clear=function Kxc(){Bxc(this)};_.containsKey=function Lxc(a){return Cxc(this,a)};_.containsValue=function Mxc(a){var b;b=this.b.a;while(b!=this.b){if(vyc(b.e,a))return true;b=b.a}return false};_.Xd=function Nxc(){return new Yxc(this)};_.get=function Oxc(a){return Dxc(this,a)};_.put=function Pxc(a,
b){return Exc(this,a,b)};_.remove=function Qxc(a){return Gxc(this,a)};_.size=function Rxc(){return Knc(this.c)};_.a=false;var MU=Mkc(39);aW(260,163,{220:1,163:1,260:1,48:1},Uxc,Vxc);var JU=Mkc(260);aW(103,911,qDc,Yxc);_.clear=function Zxc(){Bxc(this.a)};_.contains=function $xc(a){return Wxc(this,a)};_.Pd=function _xc(){return new fyc(this)};_.remove=function ayc(a){return Xxc(this,a)};_.size=function byc(){return Knc(this.a.c)};var LU=Mkc(103);aW(111,1,WCc,fyc);_.Kd=function hyc(){return dyc(this)};
_.Jd=function gyc(){return cyc(this)};_.Ld=function iyc(){eyc(this)};var KU=Mkc(111);aW(80,35,HLc,jyc,kyc,lyc);var NU=Mkc(80);aW(909,1,{});var myc,nyc;var QU=Mkc(909);aW(553,909,{},pyc);_.Fd=function qyc(){return"en_US"};var OU=Mkc(553);aW(554,909,{},ryc);_.Fd=function syc(){return vKc};var PU=Mkc(554);aW(327,21,{3:1,40:1,21:1,38:1,327:1},tyc);var SU=Mkc(327);aW(75,21,{3:1,40:1,21:1,38:1,75:1},uyc);var TU=Mkc(75);aW(559,944,aDc,Dyc);_.addAll=function Eyc(a){return xyc(this,a)};_.clear=function Fyc(){this.b.a=
sD(lT,bDc,1,0,5,1)};_.contains=function Gyc(a){return(a==null?-1:Dqc(this.b,a,0))!=-1};_.Pd=function Hyc(){return new Pyc(this)};_.remove=function Iyc(a){var b;b=a==null?-1:Dqc(this.b,a,0);if(b<0)return false;Cyc(this,b);return true};_.removeAll=function Jyc(a){if(Qc(this.b,a)){yyc(this,0);return true}return false};_.retainAll=function Kyc(a){if(Rc(this.b,a)){yyc(this,0);return true}return false};_.size=function Lyc(){return this.b.a.length};_.toArray=function Myc(){return Jqc(this.b)};_.Qd=function Nyc(a){return Kqc(this.b,
a)};var VU=Mkc(559);aW(378,1,WCc,Pyc);_.Jd=function Qyc(){return this.a<this.c.b.a.length};_.Kd=function Ryc(){return Oyc(this)};_.Ld=function Syc(){nCc(this.b!=-1);Cyc(this.c,this.a=this.b);this.b=-1};_.a=0;_.b=-1;var UU=Mkc(378);aW(438,1,{438:1},Wyc);var Tyc;var WU=Mkc(438);aW(119,1,{},Zyc);_.Fd=function $yc(){return!this.a?this.c:this.e.length==0?this.a.a:this.a.a+(""+this.e)};var XU=Mkc(119);aW(190,948,mDc,nzc,ozc);_.clear=function pzc(){_yc(this)};_.pf=function qzc(){return cvc(this.a)};_.Ij=
function rzc(){return new zzc(this)};_.Kj=function szc(){return new Ezc(this)};_.Xd=function tzc(){return new Jzc(this)};_.Lj=function uzc(a){return azc(this,a)};_.put=function vzc(a,b){return gzc(this,a,b)};_.remove=function wzc(a){return hzc(this,a)};_.Mj=function xzc(a){return izc(this,a)};_.size=function yzc(){return this.c};_.c=0;var gV=Mkc(190);aW(314,1,WCc,zzc,Azc);_.Kd=function Czc(){return this.b=noc(this.a)};_.Jd=function Bzc(){return this.a.b>0};_.Ld=function Dzc(){ioc(this.a);izc(this.c,
this.b);this.b=null};var YU=Mkc(314);aW(277,1,WCc,Ezc,Fzc);_.Kd=function Hzc(){return this.b=hoc(this.a)};_.Jd=function Gzc(){return goc(this.a)};_.Ld=function Izc(){ioc(this.a);izc(this.c,this.b);this.b=null};var ZU=Mkc(277);aW(416,278,qDc,Jzc);_.clear=function Kzc(){_yc(this.a)};var $U=Mkc(416);aW(191,163,{220:1,163:1,48:1,191:1},Lzc);_.b=false;var _U=Mkc(191);aW(315,1,{},Mzc);_.Fd=function Nzc(){return"State: mv="+this.c+" value="+this.d+" done="+this.a+" found="+this.b};_.a=false;_.b=false;_.c=
false;var aV=Mkc(315);aW(675,948,kDc,Qzc);_.pf=function Rzc(){return cvc(this.c.a)};_.Ij=function Szc(){return new Azc(this.c,this.f,this.b,this.a,this.e,this.d)};_.Kj=function Tzc(){return new Fzc(this.c,this.f,this.b,this.a,this.e,this.d)};_.Xd=function Uzc(){return new wpc(this)};_.Lj=function Vzc(a){return Ozc(this,azc(this.c,a))};_.put=function Wzc(a,b){if(!dzc(this.c,this.f,a,this.b,this.a,this.e,this.d))throw CV(new Nfb(a+" outside the range "+this.b+" to "+this.e));return gzc(this.c,a,b)};
_.remove=function Xzc(a){var b;b=a;if(!dzc(this.c,this.f,b,this.b,this.a,this.e,this.d))return null;return hzc(this.c,b)};_.Mj=function Yzc(a){return Pzc(this,a.ce())&&izc(this.c,a)};_.size=function Zzc(){var a,b,c;this.a?b=bzc(this.c,this.b,true):b=bzc(this.c,this.b,false);if(!(!!b&&Pzc(this,b.d)?b:null))return 0;a=0;for(c=new Fzc(this.c,this.f,this.b,this.a,this.e,this.d);goc(c.a);c.b=hoc(c.a))++a;return a};_.a=false;_.d=false;var fV=Mkc(675);aW(146,14,ILc,dAc);_.Oj=function eAc(){return false};
_.Pj=function fAc(){return false};var $zc,_zc,aAc,bAc;var eV=Nkc(146,ZS,gAc);aW(676,146,ILc,hAc);_.Pj=function iAc(){return true};var bV=Nkc(676,eV,null);aW(677,146,ILc,jAc);_.Oj=function kAc(){return true};_.Pj=function lAc(){return true};var cV=Nkc(677,eV,null);aW(678,146,ILc,mAc);_.Oj=function nAc(){return true};var dV=Nkc(678,eV,null);aW(95,911,{3:1,15:1,17:1,207:1,31:1,125:1},qAc,rAc,sAc,tAc);_.add=function uAc(a){return oAc(this,a)};_.clear=function vAc(){this.a.clear()};_.contains=function wAc(a){return this.a.containsKey(a)};
_.Pd=function xAc(){return this.a.keySet().Pd()};_.remove=function yAc(a){return pAc(this,a)};_.size=function zAc(){return this.a.size()};var hV=Mkc(95);aW(209,931,kDc,DAc,EAc);_.containsKey=function FAc(a){return AAc(this,a)};_.containsValue=function GAc(a){if(a==null)throw CV(new Rlc);return Anc(this.a,a)};_.Xd=function HAc(){return new Wnc(this.a)};_.get=function IAc(a){return BAc(this,a)};_.put=function JAc(a,b){return CAc(this,a,b)};_.putIfAbsent=function KAc(a,b){return AAc(this,a)?BAc(this,
a):CAc(this,a,b)};_.remove=function LAc(a){if(a==null)throw CV(new Rlc);return Hnc(this.a,a)};_.replace=function MAc(a,b){if(b==null)throw CV(new Rlc);else return AAc(this,a)?CAc(this,a,b):null};var iV=Mkc(209);aW(272,1,{272:1});var jV=Mkc(272);aW(946,1,UCc);_.Hg=function SAc(){return"DUMMY"};_.Fj=function TAc(){return-1};_.Fd=function UAc(){return this.Hg()};var NAc,OAc,PAc,QAc;var oV=Mkc(946);aW(658,946,UCc,VAc);_.Hg=function WAc(){return"FINE"};_.Fj=function XAc(){return 500};var kV=Mkc(658);aW(659,
946,UCc,YAc);_.Hg=function ZAc(){return"INFO"};_.Fj=function $Ac(){return 800};var lV=Mkc(659);aW(660,946,UCc,_Ac);_.Hg=function aBc(){return"SEVERE"};_.Fj=function bBc(){return 1E3};var mV=Mkc(660);aW(661,946,UCc,cBc);_.Hg=function dBc(){return pEc};_.Fj=function eBc(){return 900};var nV=Mkc(661);aW(650,1,{},iBc);var fBc;var pV=Mkc(650);aW(425,1,UCc,kBc);var qV=Mkc(425);aW(271,1,{271:1},DBc);_.e=false;var lBc=false,mBc=false,nBc=false,oBc=false,pBc=false;var rV=Mkc(271);aW(414,272,{272:1},GBc);var sV=
Mkc(414);aW(598,1,{},JBc);var tV=Mkc(598);aW(390,1,{390:1},LBc);var uV=Mkc(390);aW(1014,1,{});aW(725,1,{},XBc);var vV=Mkc(725);aW(391,179,FLc);var yV=Mkc(391);aW(392,391,FLc,$Bc);var wV=Mkc(392);aW(599,391,FLc,aCc);var xV=Mkc(599);var tCc=0;var vCc,wCc=0,xCc;aW(1110,1,{});var rE=Pkc("C");var sE=Pkc("I");var zV=Pkc("Z");var tE=Pkc("J");var qE=Pkc("B");Lvb();_=eW(AHc);_.transpile=Ovb;_=eW("com.google.common.base.Platform");_.stringIsNullOrEmpty=Gd;_=eW("com.google.debugging.sourcemap.SourceMapObjectParserJs");
_.get=mC;gkc();_=eW("java.lang.Boolean");_.$isInstance=ikc;_=eW("java.lang.CharSequence");_.$isInstance=lkc;_=eW("java.lang.Comparable");_.$isInstance=_kc;_=eW("java.lang.Double");_.$isInstance=ilc;_=eW("java.lang.Number");_.$isInstance=blc;_=eW("java.lang.String");_.$isInstance=nmc;_=eW("java.lang.Throwable");_.of=EA;_=eW("java.util.regex.Pattern");_.quote=NBc;var CCc=(MC(),PC);var gwtOnLoad=gwtOnLoad=YV;WV(hW);ZV("permProps",[[[UFc,cFc],[QLc,"gecko1_8"]],[[UFc,cFc],[QLc,"ie10"]],[[UFc,cFc],[QLc,
"ie8"]],[[UFc,cFc],[QLc,"ie9"]],[[UFc,cFc],[QLc,"safari"]]]);this["$gwtExport"]=$wnd;$wnd=this;typeof gwtOnLoad==="function"&&gwtOnLoad()}).call(this&&this.self||(typeof window!=="undefined"?window:typeof global!=="undefined"?global:this),this&&this.self||(typeof window!=="undefined"?window:typeof global!=="undefined"?global:this));
