var goog = goog || {}; goog.global = this; goog.isDef = function(val) { return void 0 !== val; }; goog.exportPath_ = function(name, opt_object, opt_objectToExportTo) { var parts = name.split("."), cur = opt_objectToExportTo || goog.global; parts[0] in cur || !cur.execScript || cur.execScript("var " + parts[0]); for (var part;parts.length && (part = parts.shift());) { !parts.length && goog.isDef(opt_object) ? cur[part] = opt_object : cur = cur[part] ? cur[part] : cur[part] = {}; } }; goog.define = function(name, defaultValue) { goog.exportPath_(name, defaultValue); }; goog.DEBUG = !0; goog.LOCALE = "en"; goog.TRUSTED_SITE = !0; goog.STRICT_MODE_COMPATIBLE = !1; goog.DISALLOW_TEST_ONLY_CODE = !goog.DEBUG; goog.provide = function(name) { goog.constructNamespace_(name); }; goog.constructNamespace_ = function(name, opt_obj) { var namespace; goog.exportPath_(name, opt_obj); }; goog.VALID_MODULE_RE_ = /^[a-zA-Z_$][a-zA-Z0-9._$]*$/; goog.module = function(name) { if (!goog.isString(name) || !name || -1 == name.search(goog.VALID_MODULE_RE_)) { throw Error("Invalid module identifier"); } if (!goog.isInModuleLoader_()) { throw Error("Module " + name + " has been loaded incorrectly."); } if (goog.moduleLoaderState_.moduleName) { throw Error("goog.module may only be called once per module."); } goog.moduleLoaderState_.moduleName = name; }; goog.module.get = function(name) { return goog.module.getInternal_(name); }; goog.module.getInternal_ = function(name) { }; goog.moduleLoaderState_ = null; goog.isInModuleLoader_ = function() { return null != goog.moduleLoaderState_; }; goog.module.declareTestMethods = function() { if (!goog.isInModuleLoader_()) { throw Error("goog.module.declareTestMethods must be called from within a goog.module"); } goog.moduleLoaderState_.declareTestMethods = !0; }; goog.module.declareLegacyNamespace = function() { goog.moduleLoaderState_.declareLegacyNamespace = !0; }; goog.setTestOnly = function(opt_message) { if (goog.DISALLOW_TEST_ONLY_CODE) { throw opt_message = opt_message || "", Error("Importing test-only code into non-debug environment" + (opt_message ? ": " + opt_message : ".")); } }; goog.forwardDeclare = function(name) { }; goog.getObjectByName = function(name, opt_obj) { for (var parts = name.split("."), cur = opt_obj || goog.global, part;part = parts.shift();) { if (goog.isDefAndNotNull(cur[part])) { cur = cur[part]; } else { return null; } } return cur; }; goog.globalize = function(obj, opt_global) { var global = opt_global || goog.global, x; for (x in obj) { global[x] = obj[x]; } }; goog.addDependency = function(relPath, provides, requires, opt_isModule) { if (goog.DEPENDENCIES_ENABLED) { for (var provide, require, path = relPath.replace(/\\/g, "/"), deps = goog.dependencies_, i = 0;provide = provides[i];i++) { deps.nameToPath[provide] = path, deps.pathIsModule[path] = !!opt_isModule; } for (var j = 0;require = requires[j];j++) { path in deps.requires || (deps.requires[path] = {}), deps.requires[path][require] = !0; } } }; goog.useStrictRequires = !1; goog.ENABLE_DEBUG_LOADER = !0; goog.logToConsole_ = function(msg) { goog.global.console && goog.global.console.error(msg); }; goog.require = function(name) { var errorMessage, path; }; goog.basePath = ""; goog.nullFunction = function() { }; goog.identityFunction = function(opt_returnValue, var_args) { return opt_returnValue; }; goog.abstractMethod = function() { throw Error("unimplemented abstract method"); }; goog.addSingletonGetter = function(ctor) { ctor.getInstance = function() { if (ctor.instance_) { return ctor.instance_; } goog.DEBUG && (goog.instantiatedSingletons_[goog.instantiatedSingletons_.length] = ctor); return ctor.instance_ = new ctor; }; }; goog.instantiatedSingletons_ = []; goog.LOAD_MODULE_USING_EVAL = !0; goog.SEAL_MODULE_EXPORTS = goog.DEBUG; goog.loadedModules_ = {}; goog.DEPENDENCIES_ENABLED = !1; goog.DEPENDENCIES_ENABLED && (goog.included_ = {}, goog.dependencies_ = {pathIsModule:{}, nameToPath:{}, requires:{}, visited:{}, written:{}, deferred:{}}, goog.inHtmlDocument_ = function() { var doc = goog.global.document; return "undefined" != typeof doc && "write" in doc; }, goog.findBasePath_ = function() { if (goog.global.CLOSURE_BASE_PATH) { goog.basePath = goog.global.CLOSURE_BASE_PATH; } else { if (goog.inHtmlDocument_()) { for (var scripts = goog.global.document.getElementsByTagName("SCRIPT"), i = scripts.length - 1;0 <= i;--i) { var src = scripts[i].src, qmark = src.lastIndexOf("?"), l = -1 == qmark ? src.length : qmark; if ("base.js" == src.substr(l - 7, 7)) { goog.basePath = src.substr(0, l - 7); break; } } } } }, goog.importScript_ = function(src, opt_sourceText) { (goog.global.CLOSURE_IMPORT_SCRIPT || goog.writeScriptTag_)(src, opt_sourceText) && (goog.dependencies_.written[src] = !0); }, goog.IS_OLD_IE_ = !goog.global.atob && goog.global.document && goog.global.document.all, goog.importModule_ = function(src) { goog.importScript_("", 'goog.retrieveAndExecModule_("' + src + '");') && (goog.dependencies_.written[src] = !0); }, goog.queuedModules_ = [], goog.wrapModule_ = function(srcUrl, scriptText) { return goog.LOAD_MODULE_USING_EVAL && goog.isDef(goog.global.JSON) ? "goog.loadModule(" + goog.global.JSON.stringify(scriptText + "\n//# sourceURL=" + srcUrl + "\n") + ");" : 'goog.loadModule(function(exports) {"use strict";' + scriptText + "\n;return exports});\n//# sourceURL=" + srcUrl + "\n"; }, goog.loadQueuedModules_ = function() { var count = goog.queuedModules_.length; if (0 < count) { var queue = goog.queuedModules_; goog.queuedModules_ = []; for (var i = 0;i < count;i++) { goog.maybeProcessDeferredPath_(queue[i]); } } }, goog.maybeProcessDeferredDep_ = function(name) { goog.isDeferredModule_(name) && goog.allDepsAreAvailable_(name) && goog.maybeProcessDeferredPath_(goog.basePath + goog.getPathFromDeps_(name)); }, goog.isDeferredModule_ = function(name) { var path = goog.getPathFromDeps_(name); return path && goog.dependencies_.pathIsModule[path] ? goog.basePath + path in goog.dependencies_.deferred : !1; }, goog.allDepsAreAvailable_ = function(name) { var path = goog.getPathFromDeps_(name); if (path && path in goog.dependencies_.requires) { for (var requireName in goog.dependencies_.requires[path]) { if (!goog.isProvided_(requireName) && !goog.isDeferredModule_(requireName)) { return !1; } } } return !0; }, goog.maybeProcessDeferredPath_ = function(abspath) { if (abspath in goog.dependencies_.deferred) { var src = goog.dependencies_.deferred[abspath]; delete goog.dependencies_.deferred[abspath]; goog.globalEval(src); } }, goog.loadModule = function(moduleDef) { var previousState = goog.moduleLoaderState_; try { goog.moduleLoaderState_ = {moduleName:void 0, declareTestMethods:!1}; var exports; if (goog.isFunction(moduleDef)) { exports = moduleDef.call(goog.global, {}); } else { if (goog.isString(moduleDef)) { exports = goog.loadModuleFromSource_.call(goog.global, moduleDef); } else { throw Error("Invalid module definition"); } } var moduleName = goog.moduleLoaderState_.moduleName; if (!goog.isString(moduleName) || !moduleName) { throw Error('Invalid module name "' + moduleName + '"'); } goog.moduleLoaderState_.declareLegacyNamespace ? goog.constructNamespace_(moduleName, exports) : goog.SEAL_MODULE_EXPORTS && Object.seal && Object.seal(exports); goog.loadedModules_[moduleName] = exports; if (goog.moduleLoaderState_.declareTestMethods) { for (var entry in exports) { if (0 === entry.indexOf("test", 0) || "tearDown" == entry || "setUp" == entry || "setUpPage" == entry || "tearDownPage" == entry) { goog.global[entry] = exports[entry]; } } } } finally { goog.moduleLoaderState_ = previousState; } }, goog.loadModuleFromSource_ = function(source) { eval(source); return {}; }, goog.writeScriptTag_ = function(src, opt_sourceText) { if (goog.inHtmlDocument_()) { var doc = goog.global.document; if ("complete" == doc.readyState) { if (/\bdeps.js$/.test(src)) { return !1; } throw Error('Cannot write "' + src + '" after document load'); } var isOldIE = goog.IS_OLD_IE_; if (void 0 === opt_sourceText) { if (isOldIE) { var state = " onreadystatechange='goog.onScriptLoad_(this, " + ++goog.lastNonModuleScriptIndex_ + ")' "; doc.write('