From 79c7bce918bc335b9f953124fc5ffda7a0953186 Mon Sep 17 00:00:00 2001 From: yinghuihao Date: Fri, 6 Dec 2019 15:01:39 -0800 Subject: [PATCH 1/4] Modify addAnnotation for uri --- package-lock.json | 3 + src/annotorious.js | 248 +++++++++++++++++++++++---------------------- 2 files changed, 129 insertions(+), 122 deletions(-) create mode 100644 package-lock.json diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..48e341a --- /dev/null +++ b/package-lock.json @@ -0,0 +1,3 @@ +{ + "lockfileVersion": 1 +} diff --git a/src/annotorious.js b/src/annotorious.js index baae997..ca8ae39 100644 --- a/src/annotorious.js +++ b/src/annotorious.js @@ -1,66 +1,70 @@ -goog.require('goog.array'); -goog.require('goog.dom'); -goog.require('goog.dom.query'); +goog.require("goog.array"); +goog.require("goog.dom"); +goog.require("goog.dom.query"); -goog.require('annotorious.dom'); -goog.require('annotorious.events'); -goog.require('annotorious.mediatypes.Module'); -goog.require('annotorious.mediatypes.image.ImageModule'); -goog.require('annotorious.mediatypes.openlayers.OpenLayersModule'); -goog.require('annotorious.mediatypes.openseadragon.OpenSeadragonModule'); +goog.require("annotorious.dom"); +goog.require("annotorious.events"); +goog.require("annotorious.mediatypes.Module"); +goog.require("annotorious.mediatypes.image.ImageModule"); +goog.require("annotorious.mediatypes.openlayers.OpenLayersModule"); +goog.require("annotorious.mediatypes.openseadragon.OpenSeadragonModule"); /** * The main entrypoint to the application. The Annotorious class is instantiated exactly once, * and added to the global window object as 'window.anno'. It exposes the external JavaScript API * and internally manages the 'modules'. (Each module is responsible for one particular media - * type - image, OpenLayers, etc.) + * type - image, OpenLayers, etc.) * @constructor */ annotorious.Annotorious = function() { /** @private **/ this._isInitialized = false; - + /** @private **/ - this._modules = [ new annotorious.mediatypes.image.ImageModule() ]; - - if (window['OpenLayers']) - this._modules.push(new annotorious.mediatypes.openlayers.OpenLayersModule()); - - if (window['OpenSeadragon']) - this._modules.push(new annotorious.mediatypes.openseadragon.OpenSeadragonModule()); - + this._modules = [new annotorious.mediatypes.image.ImageModule()]; + + if (window["OpenLayers"]) + this._modules.push( + new annotorious.mediatypes.openlayers.OpenLayersModule() + ); + + if (window["OpenSeadragon"]) + this._modules.push( + new annotorious.mediatypes.openseadragon.OpenSeadragonModule() + ); + /** @private **/ this._plugins = []; var self = this; - annotorious.dom.addOnLoadHandler(function() { self._init(); }); -} + annotorious.dom.addOnLoadHandler(function() { + self._init(); + }); +}; annotorious.Annotorious.prototype._init = function() { - if (this._isInitialized) - return; - + if (this._isInitialized) return; + var self = this; goog.array.forEach(this._modules, function(module) { module.init(); }); goog.array.forEach(this._plugins, function(plugin) { - if (plugin.initPlugin) - plugin.initPlugin(self); - + if (plugin.initPlugin) plugin.initPlugin(self); + goog.array.forEach(self._modules, function(module) { module.addPlugin(plugin); }); }); - + this._isInitialized = true; -} +}; /** * Returns the module that is in charge of handling the item with the specified * URL or null, if no responsible module is found. - * @param {string} item_src the URL of the annotatable item + * @param {string} item_src the URL of the annotatable item * @return {Object | null} * @private */ @@ -68,22 +72,25 @@ annotorious.Annotorious.prototype._getModuleForItemSrc = function(item_src) { return goog.array.find(this._modules, function(module) { return module.annotatesItem(item_src); }); -} +}; /** * 'Manually' actives the selector, bypassing the selection widget. Note: this also * works when the selection widget is hidden. Primary use case for this is for developers * who want to build their own selector widgets or 'Create Annotation' buttons. - * The selector can be activated on a specific item or globally, on all items (which + * The selector can be activated on a specific item or globally, on all items (which * serves mainly as a shortcut for pages where there is only one annotatable item). * The function can take a callback function as parameter, which will be called when the * selector is deactivated again. * @param {string | Function} opt_item_url_or_callback the URL of the item, or a callback function * @param {Function} opt_callback a callback function (if the first parameter was a URL) */ -annotorious.Annotorious.prototype.activateSelector = function(opt_item_url_or_callback, opt_callback) { +annotorious.Annotorious.prototype.activateSelector = function( + opt_item_url_or_callback, + opt_callback +) { var item_url = undefined, - callback = undefined; + callback = undefined; if (goog.isString(opt_item_url_or_callback)) { item_url = opt_item_url_or_callback; @@ -94,26 +101,35 @@ annotorious.Annotorious.prototype.activateSelector = function(opt_item_url_or_ca if (item_url) { var module = this._getModuleForItemSrc(item_url); - if (module) - module.activateSelector(item_url, callback); + if (module) module.activateSelector(item_url, callback); } else { goog.array.forEach(this._modules, function(module) { module.activateSelector(callback); }); } -} +}; /** * Adds an annotation to an item on the page. * @param {annotorious.Annotation} annotation the annotation * @param {annotorious.Annotation} opt_replace optionally, an existing annotation to replace */ -annotorious.Annotorious.prototype.addAnnotation = function(annotation, opt_replace) { - annotation.src = annotorious.dom.toAbsoluteURL(annotation.src); - var module = this._getModuleForItemSrc(annotation.src); - if (module) - module.addAnnotation(annotation, opt_replace); -} +annotorious.Annotorious.prototype.addAnnotation = function( + annotation, + opt_replace +) { + // Support 'url' property to do 'data-origional' item a favor. + var url; + if (goog.isDefAndNotNull(annotation.url)) { + url = annotation.url; + annotation.src = url; + } else { + annotation.src = annotorious.dom.toAbsoluteURL(annotation.src); + url = annotation.src; + } + var module = this._getModuleForItemSrc(url); + if (module) module.addAnnotation(annotation, opt_replace); +}; /** * Adds an event handler to Annotorious. @@ -124,7 +140,7 @@ annotorious.Annotorious.prototype.addHandler = function(type, handler) { goog.array.forEach(this._modules, function(module) { module.addHandler(type, handler); }); -} +}; /** * Removes an event handler to Annotorious. @@ -135,33 +151,37 @@ annotorious.Annotorious.prototype.removeHandler = function(type, handler) { goog.array.forEach(this._modules, function(module) { module.removeHandler(type, handler); }); -} +}; /** * Adds a plugin to Annotorious. * @param {string} plugin_name the plugin name * @param {Object} opt_config_options an optional object literal with plugin config options */ -annotorious.Annotorious.prototype.addPlugin = function(plugin_name, opt_config_options) { +annotorious.Annotorious.prototype.addPlugin = function( + plugin_name, + opt_config_options +) { try { - var plugin = new window['annotorious']['plugin'][plugin_name](opt_config_options); + var plugin = new window["annotorious"]["plugin"][plugin_name]( + opt_config_options + ); - if (document.readyState == 'complete') { + if (document.readyState == "complete") { // Document loaded -- init immediately - if (plugin.initPlugin) - plugin.initPlugin(this); - + if (plugin.initPlugin) plugin.initPlugin(this); + goog.array.forEach(this._modules, function(module) { module.addPlugin(plugin); - }); + }); } else { // Document not loaded yet -- defer init - this._plugins.push(plugin); + this._plugins.push(plugin); } } catch (error) { - console.log('Could not load plugin: ' + plugin_name); + console.log("Could not load plugin: " + plugin_name); } -} +}; /** * Destroys annotation functionality on an item, or all items on the page. Note @@ -173,27 +193,24 @@ annotorious.Annotorious.prototype.addPlugin = function(plugin_name, opt_config_o annotorious.Annotorious.prototype.destroy = function(opt_item_url) { if (opt_item_url) { var module = this._getModuleForItemSrc(opt_item_url); - if (module) - module.destroy(opt_item_url); + if (module) module.destroy(opt_item_url); } else { goog.array.forEach(this._modules, function(module) { module.destroy(); }); - } -} + } +}; /** - * Returns the name of the selector that is currently activated on a + * Returns the name of the selector that is currently activated on a * particular item. * @param {string} item_url the URL of the item to query for the active selector */ annotorious.Annotorious.prototype.getActiveSelector = function(item_url) { var module = this._getModuleForItemSrc(item_url); - if (module) - return module.getActiveSelector(item_url); - else - return undefined; -} + if (module) return module.getActiveSelector(item_url); + else return undefined; +}; /** * Returns all annotations on the annotatable item with the specified URL, or @@ -204,10 +221,8 @@ annotorious.Annotorious.prototype.getActiveSelector = function(item_url) { annotorious.Annotorious.prototype.getAnnotations = function(opt_item_url) { if (opt_item_url) { var module = this._getModuleForItemSrc(opt_item_url); - if (module) - return module.getAnnotations(opt_item_url); - else - return []; + if (module) return module.getAnnotations(opt_item_url); + else return []; } else { var annotations = []; goog.array.forEach(this._modules, function(module) { @@ -215,7 +230,7 @@ annotorious.Annotorious.prototype.getAnnotations = function(opt_item_url) { }); return annotations; } -} +}; /** * Returns the list of available shape selectors for a particular item. @@ -224,11 +239,9 @@ annotorious.Annotorious.prototype.getAnnotations = function(opt_item_url) { */ annotorious.Annotorious.prototype.getAvailableSelectors = function(item_url) { var module = this._getModuleForItemSrc(item_url); - if (module) - return module.getAvailableSelectors(item_url); - else - return []; -} + if (module) return module.getAvailableSelectors(item_url); + else return []; +}; /** * Hides existing annotations on all, or a specific item. @@ -237,14 +250,13 @@ annotorious.Annotorious.prototype.getAvailableSelectors = function(item_url) { annotorious.Annotorious.prototype.hideAnnotations = function(opt_item_url) { if (opt_item_url) { var module = this._getModuleForItemSrc(opt_item_url); - if (module) - module.hideAnnotations(opt_item_url); + if (module) module.hideAnnotations(opt_item_url); } else { goog.array.forEach(this._modules, function(module) { module.hideAnnotations(); }); } -} +}; /** * Hides the selection widget, thus preventing users from creating new annotations. @@ -255,27 +267,24 @@ annotorious.Annotorious.prototype.hideAnnotations = function(opt_item_url) { annotorious.Annotorious.prototype.hideSelectionWidget = function(opt_item_url) { if (opt_item_url) { var module = this._getModuleForItemSrc(opt_item_url); - if (module) - module.hideSelectionWidget(opt_item_url); + if (module) module.hideSelectionWidget(opt_item_url); } else { goog.array.forEach(this._modules, function(module) { module.hideSelectionWidget(); }); } -} +}; annotorious.Annotorious.prototype.stopSelection = function(opt_item_url) { if (opt_item_url) { var module = this._getModuleForItemSrc(opt_item_url); - if (module) - module.stopSelection(opt_item_url); + if (module) module.stopSelection(opt_item_url); } else { goog.array.forEach(this._modules, function(module) { module.stopSelection(); }); } -} - +}; /** * Highlights the specified annotation. @@ -285,14 +294,13 @@ annotorious.Annotorious.prototype.highlightAnnotation = function(annotation) { if (annotation) { var module = this._getModuleForItemSrc(annotation.src); - if (module) - module.highlightAnnotation(annotation); + if (module) module.highlightAnnotation(annotation); } else { goog.array.forEach(this._modules, function(module) { module.highlightAnnotation(); }); } -} +}; /** * Makes an item annotatable, if there is a module that supports the item type. @@ -301,16 +309,15 @@ annotorious.Annotorious.prototype.highlightAnnotation = function(annotation) { annotorious.Annotorious.prototype.makeAnnotatable = function(item) { // Be sure to init if the load handler hasn't already taken care of it this._init(); - + var module = goog.array.find(this._modules, function(module) { return module.supports(item); }); - if (module) - module.makeAnnotatable(item); + if (module) module.makeAnnotatable(item); else - throw('Error: Annotorious does not support this media type in the current version or build configuration.'); -} + throw "Error: Annotorious does not support this media type in the current version or build configuration."; +}; /** * Removes all annotations. If the optional parameter opt_item_url is set, @@ -323,9 +330,9 @@ annotorious.Annotorious.prototype.removeAll = function(opt_item_url) { // to modules and annotators! var self = this; goog.array.forEach(this.getAnnotations(opt_item_url), function(annotation) { - self.removeAnnotation(annotation); + self.removeAnnotation(annotation); }); -} +}; /** * Removes an annotation from an item on the page. @@ -333,9 +340,8 @@ annotorious.Annotorious.prototype.removeAll = function(opt_item_url) { */ annotorious.Annotorious.prototype.removeAnnotation = function(annotation) { var module = this._getModuleForItemSrc(annotation.src); - if (module) - module.removeAnnotation(annotation); -} + if (module) module.removeAnnotation(annotation); +}; /** * Resets annotation functionality on this page. After the reset, annotation @@ -348,36 +354,38 @@ annotorious.Annotorious.prototype.reset = function(annotation) { module.destroy(); module.init(); }); -} +}; /** * Sets a specific selector on a particular item. * @param {string} item_url the URL of the item on which to set the selector * @param {string} selector the name of the selector to set on the item */ -annotorious.Annotorious.prototype.setActiveSelector = function(item_url, selector) { +annotorious.Annotorious.prototype.setActiveSelector = function( + item_url, + selector +) { var module = this._getModuleForItemSrc(item_url); - if (module) - module.setActiveSelector(item_url, selector); -} - + if (module) module.setActiveSelector(item_url, selector); +}; + /** * Sets system-wide properties. The 'props' object is a key/value hash and * supports the following properties: * - * outline: outline color for annotation and selection shapes + * outline: outline color for annotation and selection shapes * stroke: stroke color for annotation and selection shapes * fill: fill color for annotation and selection shapes * hi_stroke: stroke color for highlighted annotation shapes * hi_fill: fill color for highlighted annotation shapes - * + * * @param {Object} props the properties object */ annotorious.Annotorious.prototype.setProperties = function(props) { goog.array.forEach(this._modules, function(module) { module.setProperties(props); - }); -} + }); +}; /** * Enables (or disables) the ability to create new annotations on an annotatable item. @@ -388,11 +396,9 @@ annotorious.Annotorious.prototype.setProperties = function(props) { * !!!! */ annotorious.Annotorious.prototype.setSelectionEnabled = function(enabled) { - if (enabled) - this.showSelectionWidget(undefined); - else - this.hideSelectionWidget(undefined); -} + if (enabled) this.showSelectionWidget(undefined); + else this.hideSelectionWidget(undefined); +}; /** * Shows existing annotations on all, or a specific item. @@ -401,31 +407,29 @@ annotorious.Annotorious.prototype.setSelectionEnabled = function(enabled) { annotorious.Annotorious.prototype.showAnnotations = function(opt_item_url) { if (opt_item_url) { var module = this._getModuleForItemSrc(opt_item_url); - if (module) - module.showAnnotations(opt_item_url); + if (module) module.showAnnotations(opt_item_url); } else { goog.array.forEach(this._modules, function(module) { module.showAnnotations(); }); - } -} + } +}; /** * Shows the selection widget, thus enabling users to create new annotations. * The selection widget can be made visible on a specific item or globally, on all * annotatable items on the page. - * @param {string | undefined} opt_item_url the URL of the item on which to show the selection widget + * @param {string | undefined} opt_item_url the URL of the item on which to show the selection widget */ annotorious.Annotorious.prototype.showSelectionWidget = function(opt_item_url) { if (opt_item_url) { var module = this._getModuleForItemSrc(opt_item_url); - if (module) - module.showSelectionWidget(opt_item_url); + if (module) module.showSelectionWidget(opt_item_url); } else { goog.array.forEach(this._modules, function(module) { module.showSelectionWidget(); }); } -} +}; -window['anno'] = new annotorious.Annotorious(); +window["anno"] = new annotorious.Annotorious(); From 0b0346e4c7b5836b44491a7c675aee561b26273e Mon Sep 17 00:00:00 2001 From: yinghuihao Date: Mon, 9 Dec 2019 11:24:39 -0800 Subject: [PATCH 2/4] remove package lock --- node_modules/annotorious/annotorious.debug.js | 4449 +++++++++++++++++ node_modules/annotorious/annotorious.min.js | 254 + node_modules/annotorious/css/annotorious.css | 285 ++ node_modules/annotorious/css/delete.png | Bin 0 -> 1230 bytes node_modules/annotorious/css/feather_icon.png | Bin 0 -> 534 bytes node_modules/annotorious/css/pencil.png | Bin 0 -> 1099 bytes .../annotorious/css/theme-dark/DarkSprite.png | Bin 0 -> 2844 bytes .../annotorious/css/theme-dark/Dividor.png | Bin 0 -> 197 bytes .../annotorious/css/theme-dark/Indicator.png | Bin 0 -> 529 bytes .../css/theme-dark/annotorious-dark.css | 342 ++ .../css/theme-dark/feather_icon.png | Bin 0 -> 534 bytes .../annotorious/example/640px-Hallstatt.jpg | Bin 0 -> 78368 bytes node_modules/annotorious/example/example.css | 19 + node_modules/annotorious/example/example.html | 144 + .../annotorious/example/highlight.js/LICENSE | 24 + .../example/highlight.js/highlight.pack.js | 1 + .../example/highlight.js/zenburn.css | 115 + node_modules/annotorious/package.json | 45 + node_modules/annotorious/readme.md | 9 + package-lock.json | 3 - 20 files changed, 5687 insertions(+), 3 deletions(-) create mode 100644 node_modules/annotorious/annotorious.debug.js create mode 100644 node_modules/annotorious/annotorious.min.js create mode 100644 node_modules/annotorious/css/annotorious.css create mode 100644 node_modules/annotorious/css/delete.png create mode 100644 node_modules/annotorious/css/feather_icon.png create mode 100644 node_modules/annotorious/css/pencil.png create mode 100644 node_modules/annotorious/css/theme-dark/DarkSprite.png create mode 100644 node_modules/annotorious/css/theme-dark/Dividor.png create mode 100644 node_modules/annotorious/css/theme-dark/Indicator.png create mode 100644 node_modules/annotorious/css/theme-dark/annotorious-dark.css create mode 100644 node_modules/annotorious/css/theme-dark/feather_icon.png create mode 100644 node_modules/annotorious/example/640px-Hallstatt.jpg create mode 100644 node_modules/annotorious/example/example.css create mode 100644 node_modules/annotorious/example/example.html create mode 100644 node_modules/annotorious/example/highlight.js/LICENSE create mode 100644 node_modules/annotorious/example/highlight.js/highlight.pack.js create mode 100644 node_modules/annotorious/example/highlight.js/zenburn.css create mode 100644 node_modules/annotorious/package.json create mode 100644 node_modules/annotorious/readme.md delete mode 100644 package-lock.json diff --git a/node_modules/annotorious/annotorious.debug.js b/node_modules/annotorious/annotorious.debug.js new file mode 100644 index 0000000..f3874db --- /dev/null +++ b/node_modules/annotorious/annotorious.debug.js @@ -0,0 +1,4449 @@ +function $JSCompiler_alias_THROW$$($jscomp_throw_param$$) { + throw $jscomp_throw_param$$; +} +var $JSCompiler_alias_VOID$$ = void 0, $JSCompiler_alias_TRUE$$ = !0, $JSCompiler_alias_NULL$$ = null, $JSCompiler_alias_FALSE$$ = !1; +function $JSCompiler_emptyFn$$() { + return function() { + } +} +function $JSCompiler_get$$($JSCompiler_get_name$$) { + return function() { + return this[$JSCompiler_get_name$$] + } +} +function $JSCompiler_returnArg$$($JSCompiler_returnArg_value$$) { + return function() { + return $JSCompiler_returnArg_value$$ + } +} +var $JSCompiler_prototypeAlias$$, $goog$global$$ = this; +function $goog$exportPath_$$($name$$57$$, $opt_object$$) { + var $parts$$ = $name$$57$$.split("."), $cur$$ = $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$$] = {} + } +} +function $goog$nullFunction$$() { +} +function $goog$addSingletonGetter$$($ctor$$) { + $ctor$$.$getInstance$ = function $$ctor$$$$getInstance$$() { + return $ctor$$.$instance_$ ? $ctor$$.$instance_$ : $ctor$$.$instance_$ = new $ctor$$ + } +} +function $goog$typeOf$$($value$$39$$) { + var $s$$2$$ = typeof $value$$39$$; + if("object" == $s$$2$$) { + if($value$$39$$) { + if($value$$39$$ instanceof Array) { + return"array" + } + if($value$$39$$ instanceof Object) { + return $s$$2$$ + } + var $className$$1$$ = Object.prototype.toString.call($value$$39$$); + if("[object Window]" == $className$$1$$) { + return"object" + } + if("[object Array]" == $className$$1$$ || "number" == typeof $value$$39$$.length && "undefined" != typeof $value$$39$$.splice && "undefined" != typeof $value$$39$$.propertyIsEnumerable && !$value$$39$$.propertyIsEnumerable("splice")) { + return"array" + } + if("[object Function]" == $className$$1$$ || "undefined" != typeof $value$$39$$.call && "undefined" != typeof $value$$39$$.propertyIsEnumerable && !$value$$39$$.propertyIsEnumerable("call")) { + return"function" + } + }else { + return"null" + } + }else { + if("function" == $s$$2$$ && "undefined" == typeof $value$$39$$.call) { + return"object" + } + } + return $s$$2$$ +} +function $goog$isDef$$($val$$) { + return $val$$ !== $JSCompiler_alias_VOID$$ +} +function $goog$isArray$$($val$$3$$) { + return"array" == $goog$typeOf$$($val$$3$$) +} +function $goog$isArrayLike$$($val$$4$$) { + var $type$$50$$ = $goog$typeOf$$($val$$4$$); + return"array" == $type$$50$$ || "object" == $type$$50$$ && "number" == typeof $val$$4$$.length +} +function $goog$isString$$($val$$6$$) { + return"string" == typeof $val$$6$$ +} +function $goog$isFunction$$($val$$9$$) { + return"function" == $goog$typeOf$$($val$$9$$) +} +function $goog$isObject$$($val$$10$$) { + var $type$$51$$ = typeof $val$$10$$; + return"object" == $type$$51$$ && $val$$10$$ != $JSCompiler_alias_NULL$$ || "function" == $type$$51$$ +} +function $goog$getUid$$($obj$$17$$) { + return $obj$$17$$[$goog$UID_PROPERTY_$$] || ($obj$$17$$[$goog$UID_PROPERTY_$$] = ++$goog$uidCounter_$$) +} +var $goog$UID_PROPERTY_$$ = "closure_uid_" + Math.floor(2147483648 * Math.random()).toString(36), $goog$uidCounter_$$ = 0; +function $goog$bindNative_$$($fn$$, $selfObj$$1$$, $var_args$$24$$) { + return $fn$$.call.apply($fn$$.bind, arguments) +} +function $goog$bindJs_$$($fn$$1$$, $selfObj$$2$$, $var_args$$25$$) { + $fn$$1$$ || $JSCompiler_alias_THROW$$(Error()); + if(2 < arguments.length) { + var $boundArgs$$ = Array.prototype.slice.call(arguments, 2); + return function() { + var $newArgs$$ = Array.prototype.slice.call(arguments); + Array.prototype.unshift.apply($newArgs$$, $boundArgs$$); + return $fn$$1$$.apply($selfObj$$2$$, $newArgs$$) + } + } + return function() { + return $fn$$1$$.apply($selfObj$$2$$, arguments) + } +} +function $goog$bind$$($fn$$2$$, $selfObj$$3$$, $var_args$$26$$) { + $goog$bind$$ = Function.prototype.bind && -1 != Function.prototype.bind.toString().indexOf("native code") ? $goog$bindNative_$$ : $goog$bindJs_$$; + return $goog$bind$$.apply($JSCompiler_alias_NULL$$, arguments) +} +function $goog$partial$$($fn$$3$$, $var_args$$27$$) { + var $args$$ = Array.prototype.slice.call(arguments, 1); + return function() { + var $newArgs$$1$$ = Array.prototype.slice.call(arguments); + $newArgs$$1$$.unshift.apply($newArgs$$1$$, $args$$); + return $fn$$3$$.apply(this, $newArgs$$1$$) + } +} +var $goog$now$$ = Date.now || function() { + return+new Date +}; +function $goog$inherits$$($childCtor$$, $parentCtor$$) { + function $tempCtor$$() { + } + $tempCtor$$.prototype = $parentCtor$$.prototype; + $childCtor$$.$superClass_$ = $parentCtor$$.prototype; + $childCtor$$.prototype = new $tempCtor$$; + $childCtor$$.prototype.constructor = $childCtor$$ +} +;function $goog$string$trim$$($str$$25$$) { + return $str$$25$$.replace(/^[\s\xa0]+|[\s\xa0]+$/g, "") +} +function $goog$string$htmlEscape$$($str$$31$$) { + if(!$goog$string$allRe_$$.test($str$$31$$)) { + return $str$$31$$ + } + -1 != $str$$31$$.indexOf("&") && ($str$$31$$ = $str$$31$$.replace($goog$string$amperRe_$$, "&")); + -1 != $str$$31$$.indexOf("<") && ($str$$31$$ = $str$$31$$.replace($goog$string$ltRe_$$, "<")); + -1 != $str$$31$$.indexOf(">") && ($str$$31$$ = $str$$31$$.replace($goog$string$gtRe_$$, ">")); + -1 != $str$$31$$.indexOf('"') && ($str$$31$$ = $str$$31$$.replace($goog$string$quotRe_$$, """)); + return $str$$31$$ +} +var $goog$string$amperRe_$$ = /&/g, $goog$string$ltRe_$$ = //g, $goog$string$quotRe_$$ = /\"/g, $goog$string$allRe_$$ = /[&<>\"]/; +function $goog$string$toCamelCase$$($str$$42$$) { + return String($str$$42$$).replace(/\-([a-z])/g, function($all$$, $match$$) { + return $match$$.toUpperCase() + }) +} +;var $goog$array$ARRAY_PROTOTYPE_$$ = Array.prototype, $goog$array$indexOf$$ = $goog$array$ARRAY_PROTOTYPE_$$.indexOf ? function($arr$$10$$, $obj$$21$$, $opt_fromIndex$$6$$) { + return $goog$array$ARRAY_PROTOTYPE_$$.indexOf.call($arr$$10$$, $obj$$21$$, $opt_fromIndex$$6$$) +} : function($arr$$11$$, $obj$$22$$, $fromIndex_i$$12_opt_fromIndex$$7$$) { + $fromIndex_i$$12_opt_fromIndex$$7$$ = $fromIndex_i$$12_opt_fromIndex$$7$$ == $JSCompiler_alias_NULL$$ ? 0 : 0 > $fromIndex_i$$12_opt_fromIndex$$7$$ ? Math.max(0, $arr$$11$$.length + $fromIndex_i$$12_opt_fromIndex$$7$$) : $fromIndex_i$$12_opt_fromIndex$$7$$; + if($goog$isString$$($arr$$11$$)) { + return!$goog$isString$$($obj$$22$$) || 1 != $obj$$22$$.length ? -1 : $arr$$11$$.indexOf($obj$$22$$, $fromIndex_i$$12_opt_fromIndex$$7$$) + } + for(;$fromIndex_i$$12_opt_fromIndex$$7$$ < $arr$$11$$.length;$fromIndex_i$$12_opt_fromIndex$$7$$++) { + if($fromIndex_i$$12_opt_fromIndex$$7$$ in $arr$$11$$ && $arr$$11$$[$fromIndex_i$$12_opt_fromIndex$$7$$] === $obj$$22$$) { + return $fromIndex_i$$12_opt_fromIndex$$7$$ + } + } + return-1 +}, $goog$array$forEach$$ = $goog$array$ARRAY_PROTOTYPE_$$.forEach ? function($arr$$14$$, $f$$, $opt_obj$$1$$) { + $goog$array$ARRAY_PROTOTYPE_$$.forEach.call($arr$$14$$, $f$$, $opt_obj$$1$$) +} : function($arr$$15$$, $f$$1$$, $opt_obj$$2$$) { + for(var $l$$2$$ = $arr$$15$$.length, $arr2$$ = $goog$isString$$($arr$$15$$) ? $arr$$15$$.split("") : $arr$$15$$, $i$$14$$ = 0;$i$$14$$ < $l$$2$$;$i$$14$$++) { + $i$$14$$ in $arr2$$ && $f$$1$$.call($opt_obj$$2$$, $arr2$$[$i$$14$$], $i$$14$$, $arr$$15$$) + } +}, $goog$array$filter$$ = $goog$array$ARRAY_PROTOTYPE_$$.filter ? function($arr$$17$$, $f$$3$$, $opt_obj$$4$$) { + return $goog$array$ARRAY_PROTOTYPE_$$.filter.call($arr$$17$$, $f$$3$$, $opt_obj$$4$$) +} : function($arr$$18$$, $f$$4$$, $opt_obj$$5$$) { + for(var $l$$4$$ = $arr$$18$$.length, $res$$ = [], $resLength$$ = 0, $arr2$$2$$ = $goog$isString$$($arr$$18$$) ? $arr$$18$$.split("") : $arr$$18$$, $i$$16$$ = 0;$i$$16$$ < $l$$4$$;$i$$16$$++) { + if($i$$16$$ in $arr2$$2$$) { + var $val$$11$$ = $arr2$$2$$[$i$$16$$]; + $f$$4$$.call($opt_obj$$5$$, $val$$11$$, $i$$16$$, $arr$$18$$) && ($res$$[$resLength$$++] = $val$$11$$) + } + } + return $res$$ +}, $goog$array$map$$ = $goog$array$ARRAY_PROTOTYPE_$$.map ? function($arr$$19$$, $f$$5$$, $opt_obj$$6$$) { + return $goog$array$ARRAY_PROTOTYPE_$$.map.call($arr$$19$$, $f$$5$$, $opt_obj$$6$$) +} : function($arr$$20$$, $f$$6$$, $opt_obj$$7$$) { + for(var $l$$5$$ = $arr$$20$$.length, $res$$1$$ = Array($l$$5$$), $arr2$$3$$ = $goog$isString$$($arr$$20$$) ? $arr$$20$$.split("") : $arr$$20$$, $i$$17$$ = 0;$i$$17$$ < $l$$5$$;$i$$17$$++) { + $i$$17$$ in $arr2$$3$$ && ($res$$1$$[$i$$17$$] = $f$$6$$.call($opt_obj$$7$$, $arr2$$3$$[$i$$17$$], $i$$17$$, $arr$$20$$)) + } + return $res$$1$$ +}, $goog$array$every$$ = $goog$array$ARRAY_PROTOTYPE_$$.every ? function($arr$$25$$, $f$$11$$, $opt_obj$$12$$) { + return $goog$array$ARRAY_PROTOTYPE_$$.every.call($arr$$25$$, $f$$11$$, $opt_obj$$12$$) +} : function($arr$$26$$, $f$$12$$, $opt_obj$$13$$) { + for(var $l$$7$$ = $arr$$26$$.length, $arr2$$5$$ = $goog$isString$$($arr$$26$$) ? $arr$$26$$.split("") : $arr$$26$$, $i$$19$$ = 0;$i$$19$$ < $l$$7$$;$i$$19$$++) { + if($i$$19$$ in $arr2$$5$$ && !$f$$12$$.call($opt_obj$$13$$, $arr2$$5$$[$i$$19$$], $i$$19$$, $arr$$26$$)) { + return $JSCompiler_alias_FALSE$$ + } + } + return $JSCompiler_alias_TRUE$$ +}; +function $goog$array$find$$($arr$$27$$, $f$$13$$) { + var $i$$20_l$$inline_69$$; + a: { + $i$$20_l$$inline_69$$ = $arr$$27$$.length; + for(var $arr2$$inline_70$$ = $goog$isString$$($arr$$27$$) ? $arr$$27$$.split("") : $arr$$27$$, $i$$inline_71$$ = 0;$i$$inline_71$$ < $i$$20_l$$inline_69$$;$i$$inline_71$$++) { + if($i$$inline_71$$ in $arr2$$inline_70$$ && $f$$13$$.call($JSCompiler_alias_VOID$$, $arr2$$inline_70$$[$i$$inline_71$$], $i$$inline_71$$, $arr$$27$$)) { + $i$$20_l$$inline_69$$ = $i$$inline_71$$; + break a + } + } + $i$$20_l$$inline_69$$ = -1 + } + return 0 > $i$$20_l$$inline_69$$ ? $JSCompiler_alias_NULL$$ : $goog$isString$$($arr$$27$$) ? $arr$$27$$.charAt($i$$20_l$$inline_69$$) : $arr$$27$$[$i$$20_l$$inline_69$$] +} +function $goog$array$contains$$($arr$$31$$, $obj$$25$$) { + return 0 <= $goog$array$indexOf$$($arr$$31$$, $obj$$25$$) +} +function $goog$array$remove$$($arr$$38$$, $obj$$29$$) { + var $i$$26$$ = $goog$array$indexOf$$($arr$$38$$, $obj$$29$$); + 0 <= $i$$26$$ && $goog$array$ARRAY_PROTOTYPE_$$.splice.call($arr$$38$$, $i$$26$$, 1) +} +function $goog$array$toArray$$($object$$2$$) { + var $length$$15$$ = $object$$2$$.length; + if(0 < $length$$15$$) { + for(var $rv$$3$$ = Array($length$$15$$), $i$$29$$ = 0;$i$$29$$ < $length$$15$$;$i$$29$$++) { + $rv$$3$$[$i$$29$$] = $object$$2$$[$i$$29$$] + } + return $rv$$3$$ + } + return[] +} +function $goog$array$extend$$($arr1$$, $var_args$$41$$) { + for(var $i$$30$$ = 1;$i$$30$$ < arguments.length;$i$$30$$++) { + var $arr2$$8$$ = arguments[$i$$30$$], $isArrayLike$$; + if($goog$isArray$$($arr2$$8$$) || ($isArrayLike$$ = $goog$isArrayLike$$($arr2$$8$$)) && $arr2$$8$$.hasOwnProperty("callee")) { + $arr1$$.push.apply($arr1$$, $arr2$$8$$) + }else { + if($isArrayLike$$) { + for(var $len1$$ = $arr1$$.length, $len2$$ = $arr2$$8$$.length, $j$$1$$ = 0;$j$$1$$ < $len2$$;$j$$1$$++) { + $arr1$$[$len1$$ + $j$$1$$] = $arr2$$8$$[$j$$1$$] + } + }else { + $arr1$$.push($arr2$$8$$) + } + } + } +} +function $goog$array$slice$$($arr$$42$$, $start$$5$$, $opt_end$$13$$) { + return 2 >= arguments.length ? $goog$array$ARRAY_PROTOTYPE_$$.slice.call($arr$$42$$, $start$$5$$) : $goog$array$ARRAY_PROTOTYPE_$$.slice.call($arr$$42$$, $start$$5$$, $opt_end$$13$$) +} +function $goog$array$defaultCompare$$($a$$3$$, $b$$2$$) { + return $a$$3$$ > $b$$2$$ ? 1 : $a$$3$$ < $b$$2$$ ? -1 : 0 +} +;var $goog$userAgent$detectedOpera_$$, $goog$userAgent$detectedIe_$$, $goog$userAgent$detectedWebkit_$$, $goog$userAgent$detectedGecko_$$, $goog$userAgent$detectedMac_$$; +function $goog$userAgent$getUserAgentString$$() { + return $goog$global$$.navigator ? $goog$global$$.navigator.userAgent : $JSCompiler_alias_NULL$$ +} +function $goog$userAgent$getNavigator$$() { + return $goog$global$$.navigator +} +$goog$userAgent$detectedGecko_$$ = $goog$userAgent$detectedWebkit_$$ = $goog$userAgent$detectedIe_$$ = $goog$userAgent$detectedOpera_$$ = $JSCompiler_alias_FALSE$$; +var $ua$$inline_76$$; +if($ua$$inline_76$$ = $goog$userAgent$getUserAgentString$$()) { + var $navigator$$inline_77$$ = $goog$userAgent$getNavigator$$(); + $goog$userAgent$detectedOpera_$$ = 0 == $ua$$inline_76$$.indexOf("Opera"); + $goog$userAgent$detectedIe_$$ = !$goog$userAgent$detectedOpera_$$ && -1 != $ua$$inline_76$$.indexOf("MSIE"); + $goog$userAgent$detectedWebkit_$$ = !$goog$userAgent$detectedOpera_$$ && -1 != $ua$$inline_76$$.indexOf("WebKit"); + $goog$userAgent$detectedGecko_$$ = !$goog$userAgent$detectedOpera_$$ && !$goog$userAgent$detectedWebkit_$$ && "Gecko" == $navigator$$inline_77$$.product +} +var $goog$userAgent$OPERA$$ = $goog$userAgent$detectedOpera_$$, $goog$userAgent$IE$$ = $goog$userAgent$detectedIe_$$, $goog$userAgent$GECKO$$ = $goog$userAgent$detectedGecko_$$, $goog$userAgent$WEBKIT$$ = $goog$userAgent$detectedWebkit_$$, $navigator$$inline_79$$ = $goog$userAgent$getNavigator$$(); +$goog$userAgent$detectedMac_$$ = -1 != ($navigator$$inline_79$$ && $navigator$$inline_79$$.platform || "").indexOf("Mac"); +var $goog$userAgent$X11$$ = !!$goog$userAgent$getNavigator$$() && -1 != ($goog$userAgent$getNavigator$$().appVersion || "").indexOf("X11"), $goog$userAgent$VERSION$$; +a: { + var $version$$inline_82$$ = "", $re$$inline_83$$; + if($goog$userAgent$OPERA$$ && $goog$global$$.opera) { + var $operaVersion$$inline_84$$ = $goog$global$$.opera.version, $version$$inline_82$$ = "function" == typeof $operaVersion$$inline_84$$ ? $operaVersion$$inline_84$$() : $operaVersion$$inline_84$$ + }else { + if($goog$userAgent$GECKO$$ ? $re$$inline_83$$ = /rv\:([^\);]+)(\)|;)/ : $goog$userAgent$IE$$ ? $re$$inline_83$$ = /MSIE\s+([^\);]+)(\)|;)/ : $goog$userAgent$WEBKIT$$ && ($re$$inline_83$$ = /WebKit\/(\S+)/), $re$$inline_83$$) { + var $arr$$inline_85$$ = $re$$inline_83$$.exec($goog$userAgent$getUserAgentString$$()), $version$$inline_82$$ = $arr$$inline_85$$ ? $arr$$inline_85$$[1] : "" + } + } + if($goog$userAgent$IE$$) { + var $docMode$$inline_86$$, $doc$$inline_817$$ = $goog$global$$.document; + $docMode$$inline_86$$ = $doc$$inline_817$$ ? $doc$$inline_817$$.documentMode : $JSCompiler_alias_VOID$$; + if($docMode$$inline_86$$ > parseFloat($version$$inline_82$$)) { + $goog$userAgent$VERSION$$ = String($docMode$$inline_86$$); + break a + } + } + $goog$userAgent$VERSION$$ = $version$$inline_82$$ +} +var $goog$userAgent$isVersionCache_$$ = {}; +function $goog$userAgent$isVersion$$($version$$8$$) { + var $JSCompiler_temp$$61_order$$inline_90$$; + if(!($JSCompiler_temp$$61_order$$inline_90$$ = $goog$userAgent$isVersionCache_$$[$version$$8$$])) { + $JSCompiler_temp$$61_order$$inline_90$$ = 0; + for(var $v1Subs$$inline_91$$ = $goog$string$trim$$(String($goog$userAgent$VERSION$$)).split("."), $v2Subs$$inline_92$$ = $goog$string$trim$$(String($version$$8$$)).split("."), $subCount$$inline_93$$ = Math.max($v1Subs$$inline_91$$.length, $v2Subs$$inline_92$$.length), $subIdx$$inline_94$$ = 0;0 == $JSCompiler_temp$$61_order$$inline_90$$ && $subIdx$$inline_94$$ < $subCount$$inline_93$$;$subIdx$$inline_94$$++) { + var $v1Sub$$inline_95$$ = $v1Subs$$inline_91$$[$subIdx$$inline_94$$] || "", $v2Sub$$inline_96$$ = $v2Subs$$inline_92$$[$subIdx$$inline_94$$] || "", $v1CompParser$$inline_97$$ = RegExp("(\\d*)(\\D*)", "g"), $v2CompParser$$inline_98$$ = RegExp("(\\d*)(\\D*)", "g"); + do { + var $v1Comp$$inline_99$$ = $v1CompParser$$inline_97$$.exec($v1Sub$$inline_95$$) || ["", "", ""], $v2Comp$$inline_100$$ = $v2CompParser$$inline_98$$.exec($v2Sub$$inline_96$$) || ["", "", ""]; + if(0 == $v1Comp$$inline_99$$[0].length && 0 == $v2Comp$$inline_100$$[0].length) { + break + } + $JSCompiler_temp$$61_order$$inline_90$$ = ((0 == $v1Comp$$inline_99$$[1].length ? 0 : parseInt($v1Comp$$inline_99$$[1], 10)) < (0 == $v2Comp$$inline_100$$[1].length ? 0 : parseInt($v2Comp$$inline_100$$[1], 10)) ? -1 : (0 == $v1Comp$$inline_99$$[1].length ? 0 : parseInt($v1Comp$$inline_99$$[1], 10)) > (0 == $v2Comp$$inline_100$$[1].length ? 0 : parseInt($v2Comp$$inline_100$$[1], 10)) ? 1 : 0) || ((0 == $v1Comp$$inline_99$$[2].length) < (0 == $v2Comp$$inline_100$$[2].length) ? -1 : (0 == $v1Comp$$inline_99$$[2].length) > + (0 == $v2Comp$$inline_100$$[2].length) ? 1 : 0) || ($v1Comp$$inline_99$$[2] < $v2Comp$$inline_100$$[2] ? -1 : $v1Comp$$inline_99$$[2] > $v2Comp$$inline_100$$[2] ? 1 : 0) + }while(0 == $JSCompiler_temp$$61_order$$inline_90$$) + } + $JSCompiler_temp$$61_order$$inline_90$$ = $goog$userAgent$isVersionCache_$$[$version$$8$$] = 0 <= $JSCompiler_temp$$61_order$$inline_90$$ + } + return $JSCompiler_temp$$61_order$$inline_90$$ +} +var $goog$userAgent$isDocumentModeCache_$$ = {}; +function $goog$userAgent$isDocumentMode$$($documentMode$$) { + return $goog$userAgent$isDocumentModeCache_$$[$documentMode$$] || ($goog$userAgent$isDocumentModeCache_$$[$documentMode$$] = $goog$userAgent$IE$$ && !!document.documentMode && document.documentMode >= $documentMode$$) +} +;var $goog$dom$defaultDomHelper_$$, $goog$dom$BrowserFeature$CAN_ADD_NAME_OR_TYPE_ATTRIBUTES$$ = !$goog$userAgent$IE$$ || $goog$userAgent$isDocumentMode$$(9); +!$goog$userAgent$GECKO$$ && !$goog$userAgent$IE$$ || $goog$userAgent$IE$$ && $goog$userAgent$isDocumentMode$$(9) || $goog$userAgent$GECKO$$ && $goog$userAgent$isVersion$$("1.9.1"); +$goog$userAgent$IE$$ && $goog$userAgent$isVersion$$("9"); +var $goog$dom$BrowserFeature$CAN_USE_PARENT_ELEMENT_PROPERTY$$ = $goog$userAgent$IE$$ || $goog$userAgent$OPERA$$ || $goog$userAgent$WEBKIT$$; +function $goog$dom$classes$get$$($className$$4_element$$7$$) { + $className$$4_element$$7$$ = $className$$4_element$$7$$.className; + return $goog$isString$$($className$$4_element$$7$$) && $className$$4_element$$7$$.match(/\S+/g) || [] +} +function $goog$dom$classes$add$$($element$$8$$, $var_args$$45$$) { + var $classes$$ = $goog$dom$classes$get$$($element$$8$$), $args$$3$$ = $goog$array$slice$$(arguments, 1), $expectedCount$$ = $classes$$.length + $args$$3$$.length; + $goog$dom$classes$add_$$($classes$$, $args$$3$$); + $element$$8$$.className = $classes$$.join(" "); + return $classes$$.length == $expectedCount$$ +} +function $goog$dom$classes$remove$$($element$$9$$, $var_args$$46$$) { + var $classes$$1$$ = $goog$dom$classes$get$$($element$$9$$), $args$$4$$ = $goog$array$slice$$(arguments, 1), $newClasses$$ = $goog$dom$classes$getDifference_$$($classes$$1$$, $args$$4$$); + $element$$9$$.className = $newClasses$$.join(" "); + return $newClasses$$.length == $classes$$1$$.length - $args$$4$$.length +} +function $goog$dom$classes$add_$$($classes$$2$$, $args$$5$$) { + for(var $i$$40$$ = 0;$i$$40$$ < $args$$5$$.length;$i$$40$$++) { + $goog$array$contains$$($classes$$2$$, $args$$5$$[$i$$40$$]) || $classes$$2$$.push($args$$5$$[$i$$40$$]) + } +} +function $goog$dom$classes$getDifference_$$($arr1$$4$$, $arr2$$12$$) { + return $goog$array$filter$$($arr1$$4$$, function($item$$) { + return!$goog$array$contains$$($arr2$$12$$, $item$$) + }) +} +function $goog$dom$classes$addRemove$$($element$$11$$, $classesToRemove$$, $classesToAdd$$) { + var $classes$$4$$ = $goog$dom$classes$get$$($element$$11$$); + $goog$isString$$($classesToRemove$$) ? $goog$array$remove$$($classes$$4$$, $classesToRemove$$) : $goog$isArray$$($classesToRemove$$) && ($classes$$4$$ = $goog$dom$classes$getDifference_$$($classes$$4$$, $classesToRemove$$)); + $goog$isString$$($classesToAdd$$) && !$goog$array$contains$$($classes$$4$$, $classesToAdd$$) ? $classes$$4$$.push($classesToAdd$$) : $goog$isArray$$($classesToAdd$$) && $goog$dom$classes$add_$$($classes$$4$$, $classesToAdd$$); + $element$$11$$.className = $classes$$4$$.join(" ") +} +;function $goog$math$Coordinate$$($opt_x$$, $opt_y$$) { + this.x = $goog$isDef$$($opt_x$$) ? $opt_x$$ : 0; + this.y = $goog$isDef$$($opt_y$$) ? $opt_y$$ : 0 +} +;function $goog$math$Size$$($width$$12$$, $height$$11$$) { + this.width = $width$$12$$; + this.height = $height$$11$$ +} +$goog$math$Size$$.prototype.floor = function $$goog$math$Size$$$$floor$() { + this.width = Math.floor(this.width); + this.height = Math.floor(this.height); + return this +}; +$goog$math$Size$$.prototype.round = function $$goog$math$Size$$$$round$() { + this.width = Math.round(this.width); + this.height = Math.round(this.height); + return this +}; +function $goog$object$forEach$$($obj$$30$$, $f$$18$$) { + for(var $key$$18$$ in $obj$$30$$) { + $f$$18$$.call($JSCompiler_alias_VOID$$, $obj$$30$$[$key$$18$$], $key$$18$$, $obj$$30$$) + } +} +var $goog$object$PROTOTYPE_FIELDS_$$ = "constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "); +function $goog$object$extend$$($target$$42$$, $var_args$$51$$) { + for(var $key$$41$$, $source$$2$$, $i$$47$$ = 1;$i$$47$$ < arguments.length;$i$$47$$++) { + $source$$2$$ = arguments[$i$$47$$]; + for($key$$41$$ in $source$$2$$) { + $target$$42$$[$key$$41$$] = $source$$2$$[$key$$41$$] + } + for(var $j$$5$$ = 0;$j$$5$$ < $goog$object$PROTOTYPE_FIELDS_$$.length;$j$$5$$++) { + $key$$41$$ = $goog$object$PROTOTYPE_FIELDS_$$[$j$$5$$], Object.prototype.hasOwnProperty.call($source$$2$$, $key$$41$$) && ($target$$42$$[$key$$41$$] = $source$$2$$[$key$$41$$]) + } + } +} +;function $goog$dom$getDomHelper$$($opt_element$$10$$) { + return $opt_element$$10$$ ? new $goog$dom$DomHelper$$($goog$dom$getOwnerDocument$$($opt_element$$10$$)) : $goog$dom$defaultDomHelper_$$ || ($goog$dom$defaultDomHelper_$$ = new $goog$dom$DomHelper$$) +} +function $goog$dom$getElementsByTagNameAndClass_$$() { + var $el$$1_parent$$5$$, $i$$50$$, $len$$, $arrayLike$$; + $el$$1_parent$$5$$ = document; + if($el$$1_parent$$5$$.querySelectorAll && $el$$1_parent$$5$$.querySelector) { + return $el$$1_parent$$5$$.querySelectorAll(".openseadragon-container") + } + if($el$$1_parent$$5$$.getElementsByClassName) { + var $els$$ = $el$$1_parent$$5$$.getElementsByClassName("openseadragon-container"); + return $els$$ + } + $els$$ = $el$$1_parent$$5$$.getElementsByTagName("*"); + $arrayLike$$ = {}; + for($i$$50$$ = $len$$ = 0;$el$$1_parent$$5$$ = $els$$[$i$$50$$];$i$$50$$++) { + var $className$$10$$ = $el$$1_parent$$5$$.className; + "function" == typeof $className$$10$$.split && $goog$array$contains$$($className$$10$$.split(/\s+/), "openseadragon-container") && ($arrayLike$$[$len$$++] = $el$$1_parent$$5$$) + } + $arrayLike$$.length = $len$$; + return $arrayLike$$ +} +function $goog$dom$setProperties$$($element$$16$$, $properties$$) { + $goog$object$forEach$$($properties$$, function($val$$20$$, $key$$42$$) { + "style" == $key$$42$$ ? $element$$16$$.style.cssText = $val$$20$$ : "class" == $key$$42$$ ? $element$$16$$.className = $val$$20$$ : "for" == $key$$42$$ ? $element$$16$$.htmlFor = $val$$20$$ : $key$$42$$ in $goog$dom$DIRECT_ATTRIBUTE_MAP_$$ ? $element$$16$$.setAttribute($goog$dom$DIRECT_ATTRIBUTE_MAP_$$[$key$$42$$], $val$$20$$) : 0 == $key$$42$$.lastIndexOf("aria-", 0) || 0 == $key$$42$$.lastIndexOf("data-", 0) ? $element$$16$$.setAttribute($key$$42$$, $val$$20$$) : $element$$16$$[$key$$42$$] = + $val$$20$$ + }) +} +var $goog$dom$DIRECT_ATTRIBUTE_MAP_$$ = {cellpadding:"cellPadding", cellspacing:"cellSpacing", colspan:"colSpan", frameborder:"frameBorder", height:"height", maxlength:"maxLength", role:"role", rowspan:"rowSpan", type:"type", usemap:"useMap", valign:"vAlign", width:"width"}; +function $goog$dom$createDom$$($tagName$$2$$, $opt_attributes$$, $var_args$$54$$) { + var $args$$inline_106$$ = arguments, $doc$$inline_107$$ = document, $element$$inline_112_tagName$$inline_108_tagNameArr$$inline_110$$ = $args$$inline_106$$[0], $attributes$$inline_109$$ = $args$$inline_106$$[1]; + if(!$goog$dom$BrowserFeature$CAN_ADD_NAME_OR_TYPE_ATTRIBUTES$$ && $attributes$$inline_109$$ && ($attributes$$inline_109$$.name || $attributes$$inline_109$$.type)) { + $element$$inline_112_tagName$$inline_108_tagNameArr$$inline_110$$ = ["<", $element$$inline_112_tagName$$inline_108_tagNameArr$$inline_110$$]; + $attributes$$inline_109$$.name && $element$$inline_112_tagName$$inline_108_tagNameArr$$inline_110$$.push(' name="', $goog$string$htmlEscape$$($attributes$$inline_109$$.name), '"'); + if($attributes$$inline_109$$.type) { + $element$$inline_112_tagName$$inline_108_tagNameArr$$inline_110$$.push(' type="', $goog$string$htmlEscape$$($attributes$$inline_109$$.type), '"'); + var $clone$$inline_111$$ = {}; + $goog$object$extend$$($clone$$inline_111$$, $attributes$$inline_109$$); + delete $clone$$inline_111$$.type; + $attributes$$inline_109$$ = $clone$$inline_111$$ + } + $element$$inline_112_tagName$$inline_108_tagNameArr$$inline_110$$.push(">"); + $element$$inline_112_tagName$$inline_108_tagNameArr$$inline_110$$ = $element$$inline_112_tagName$$inline_108_tagNameArr$$inline_110$$.join("") + } + $element$$inline_112_tagName$$inline_108_tagNameArr$$inline_110$$ = $doc$$inline_107$$.createElement($element$$inline_112_tagName$$inline_108_tagNameArr$$inline_110$$); + $attributes$$inline_109$$ && ($goog$isString$$($attributes$$inline_109$$) ? $element$$inline_112_tagName$$inline_108_tagNameArr$$inline_110$$.className = $attributes$$inline_109$$ : $goog$isArray$$($attributes$$inline_109$$) ? $goog$dom$classes$add$$.apply($JSCompiler_alias_NULL$$, [$element$$inline_112_tagName$$inline_108_tagNameArr$$inline_110$$].concat($attributes$$inline_109$$)) : $goog$dom$setProperties$$($element$$inline_112_tagName$$inline_108_tagNameArr$$inline_110$$, $attributes$$inline_109$$)); + 2 < $args$$inline_106$$.length && $goog$dom$append_$$($doc$$inline_107$$, $element$$inline_112_tagName$$inline_108_tagNameArr$$inline_110$$, $args$$inline_106$$, 2); + return $element$$inline_112_tagName$$inline_108_tagNameArr$$inline_110$$ +} +function $goog$dom$append_$$($doc$$12$$, $parent$$6$$, $args$$7$$, $i$$51_startIndex$$) { + function $childHandler$$($child$$1$$) { + $child$$1$$ && $parent$$6$$.appendChild($goog$isString$$($child$$1$$) ? $doc$$12$$.createTextNode($child$$1$$) : $child$$1$$) + } + for(;$i$$51_startIndex$$ < $args$$7$$.length;$i$$51_startIndex$$++) { + var $arg$$5$$ = $args$$7$$[$i$$51_startIndex$$]; + if($goog$isArrayLike$$($arg$$5$$) && !($goog$isObject$$($arg$$5$$) && 0 < $arg$$5$$.nodeType)) { + var $JSCompiler_inline_result$$47$$; + a: { + if($arg$$5$$ && "number" == typeof $arg$$5$$.length) { + if($goog$isObject$$($arg$$5$$)) { + $JSCompiler_inline_result$$47$$ = "function" == typeof $arg$$5$$.item || "string" == typeof $arg$$5$$.item; + break a + } + if($goog$isFunction$$($arg$$5$$)) { + $JSCompiler_inline_result$$47$$ = "function" == typeof $arg$$5$$.item; + break a + } + } + $JSCompiler_inline_result$$47$$ = $JSCompiler_alias_FALSE$$ + } + $goog$array$forEach$$($JSCompiler_inline_result$$47$$ ? $goog$array$toArray$$($arg$$5$$) : $arg$$5$$, $childHandler$$) + }else { + $childHandler$$($arg$$5$$) + } + } +} +function $goog$dom$removeChildren$$($node$$3$$) { + for(var $child$$3$$;$child$$3$$ = $node$$3$$.firstChild;) { + $node$$3$$.removeChild($child$$3$$) + } +} +function $goog$dom$removeNode$$($node$$4$$) { + $node$$4$$ && $node$$4$$.parentNode && $node$$4$$.parentNode.removeChild($node$$4$$) +} +function $goog$dom$isElement$$($obj$$59$$) { + return $goog$isObject$$($obj$$59$$) && 1 == $obj$$59$$.nodeType +} +function $goog$dom$contains$$($parent$$13$$, $descendant$$) { + if($parent$$13$$.contains && 1 == $descendant$$.nodeType) { + return $parent$$13$$ == $descendant$$ || $parent$$13$$.contains($descendant$$) + } + if("undefined" != typeof $parent$$13$$.compareDocumentPosition) { + return $parent$$13$$ == $descendant$$ || Boolean($parent$$13$$.compareDocumentPosition($descendant$$) & 16) + } + for(;$descendant$$ && $parent$$13$$ != $descendant$$;) { + $descendant$$ = $descendant$$.parentNode + } + return $descendant$$ == $parent$$13$$ +} +function $goog$dom$getOwnerDocument$$($node$$15$$) { + return 9 == $node$$15$$.nodeType ? $node$$15$$ : $node$$15$$.ownerDocument || $node$$15$$.document +} +function $goog$dom$isFocusableTabIndex$$($element$$23_index$$53$$) { + var $attrNode$$ = $element$$23_index$$53$$.getAttributeNode("tabindex"); + return $attrNode$$ && $attrNode$$.specified ? ($element$$23_index$$53$$ = $element$$23_index$$53$$.tabIndex, "number" == typeof $element$$23_index$$53$$ && 0 <= $element$$23_index$$53$$ && 32768 > $element$$23_index$$53$$) : $JSCompiler_alias_FALSE$$ +} +function $goog$dom$DomHelper$$($opt_document$$) { + this.$document_$ = $opt_document$$ || $goog$global$$.document || document +} +$JSCompiler_prototypeAlias$$ = $goog$dom$DomHelper$$.prototype; +$JSCompiler_prototypeAlias$$.$getDomHelper$ = $goog$dom$getDomHelper$$; +$JSCompiler_prototypeAlias$$.$getElement$ = function $$JSCompiler_prototypeAlias$$$$getElement$$($element$$28$$) { + return $goog$isString$$($element$$28$$) ? this.$document_$.getElementById($element$$28$$) : $element$$28$$ +}; +$JSCompiler_prototypeAlias$$.$setProperties$ = $goog$dom$setProperties$$; +$JSCompiler_prototypeAlias$$.createElement = function $$JSCompiler_prototypeAlias$$$createElement$($name$$61$$) { + return this.$document_$.createElement($name$$61$$) +}; +$JSCompiler_prototypeAlias$$.createTextNode = function $$JSCompiler_prototypeAlias$$$createTextNode$($content$$1$$) { + return this.$document_$.createTextNode($content$$1$$) +}; +function $JSCompiler_StaticMethods_getDocumentScroll$$($JSCompiler_StaticMethods_getDocumentScroll$self_el$$inline_117$$) { + var $doc$$inline_116_win$$inline_118$$ = $JSCompiler_StaticMethods_getDocumentScroll$self_el$$inline_117$$.$document_$, $JSCompiler_StaticMethods_getDocumentScroll$self_el$$inline_117$$ = !$goog$userAgent$WEBKIT$$ ? $doc$$inline_116_win$$inline_118$$.documentElement : $doc$$inline_116_win$$inline_118$$.body, $doc$$inline_116_win$$inline_118$$ = $doc$$inline_116_win$$inline_118$$.parentWindow || $doc$$inline_116_win$$inline_118$$.defaultView; + return new $goog$math$Coordinate$$($doc$$inline_116_win$$inline_118$$.pageXOffset || $JSCompiler_StaticMethods_getDocumentScroll$self_el$$inline_117$$.scrollLeft, $doc$$inline_116_win$$inline_118$$.pageYOffset || $JSCompiler_StaticMethods_getDocumentScroll$self_el$$inline_117$$.scrollTop) +} +$JSCompiler_prototypeAlias$$.appendChild = function $$JSCompiler_prototypeAlias$$$appendChild$($parent$$7$$, $child$$2$$) { + $parent$$7$$.appendChild($child$$2$$) +}; +$JSCompiler_prototypeAlias$$.append = function $$JSCompiler_prototypeAlias$$$append$($parent$$8$$, $var_args$$55$$) { + $goog$dom$append_$$($goog$dom$getOwnerDocument$$($parent$$8$$), $parent$$8$$, arguments, 1) +}; +$JSCompiler_prototypeAlias$$.contains = $goog$dom$contains$$; +var $goog$functions$TRUE$$; +$goog$functions$TRUE$$ = $JSCompiler_returnArg$$($JSCompiler_alias_TRUE$$); +/* + Portions of this code are from the Dojo Toolkit, received by + The Closure Library Authors under the BSD license. All other code is + Copyright 2005-2009 The Closure Library Authors. All Rights Reserved. + +The "New" BSD License: + +Copyright (c) 2005-2009, The Dojo Foundation +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + Neither the name of the Dojo Foundation nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ +function $getArr$$inline_122$$($i$$inline_160$$, $opt_arr$$inline_161$$) { + var $r$$inline_162$$ = $opt_arr$$inline_161$$ || []; + $i$$inline_160$$ && $r$$inline_162$$.push($i$$inline_160$$); + return $r$$inline_162$$ +} +var $cssCaseBug$$inline_123$$ = $goog$userAgent$WEBKIT$$ && "BackCompat" == document.compatMode, $childNodesName$$inline_124$$ = document.firstChild.children ? "children" : "childNodes", $caseSensitive$$inline_125$$ = $JSCompiler_alias_FALSE$$; +function $getQueryParts$$inline_126$$($query$$inline_163$$) { + function $endAll$$inline_183$$() { + 0 <= $inId$$inline_171$$ && ($currentPart$$inline_178$$.id = $ts$$inline_164$$($inId$$inline_171$$, $x$$inline_176$$).replace(/\\/g, ""), $inId$$inline_171$$ = -1); + if(0 <= $inTag$$inline_172$$) { + var $tv$$inline_820$$ = $inTag$$inline_172$$ == $x$$inline_176$$ ? $JSCompiler_alias_NULL$$ : $ts$$inline_164$$($inTag$$inline_172$$, $x$$inline_176$$); + 0 > ">~+".indexOf($tv$$inline_820$$) ? $currentPart$$inline_178$$.$tag$ = $tv$$inline_820$$ : $currentPart$$inline_178$$.$oper$ = $tv$$inline_820$$; + $inTag$$inline_172$$ = -1 + } + 0 <= $inClass$$inline_170$$ && ($currentPart$$inline_178$$.$classes$.push($ts$$inline_164$$($inClass$$inline_170$$ + 1, $x$$inline_176$$).replace(/\\/g, "")), $inClass$$inline_170$$ = -1) + } + function $ts$$inline_164$$($s$$inline_187$$, $e$$inline_188$$) { + return $goog$string$trim$$($query$$inline_163$$.slice($s$$inline_187$$, $e$$inline_188$$)) + } + for(var $query$$inline_163$$ = 0 <= ">~+".indexOf($query$$inline_163$$.slice(-1)) ? $query$$inline_163$$ + " * " : $query$$inline_163$$ + " ", $queryParts$$inline_165$$ = [], $cmf$$inline_185_inBrackets$$inline_166$$ = -1, $inParens$$inline_167$$ = -1, $addToCc$$inline_186_inMatchFor$$inline_168$$ = -1, $inPseudo$$inline_169$$ = -1, $inClass$$inline_170$$ = -1, $inId$$inline_171$$ = -1, $inTag$$inline_172$$ = -1, $lc$$inline_173$$ = "", $cc$$inline_174$$ = "", $pStart$$inline_175$$, $x$$inline_176$$ = + 0, $ql$$inline_177$$ = $query$$inline_163$$.length, $currentPart$$inline_178$$ = $JSCompiler_alias_NULL$$, $cp$$inline_179$$ = $JSCompiler_alias_NULL$$;$lc$$inline_173$$ = $cc$$inline_174$$, $cc$$inline_174$$ = $query$$inline_163$$.charAt($x$$inline_176$$), $x$$inline_176$$ < $ql$$inline_177$$;$x$$inline_176$$++) { + if("\\" != $lc$$inline_173$$) { + if($currentPart$$inline_178$$ || ($pStart$$inline_175$$ = $x$$inline_176$$, $currentPart$$inline_178$$ = {$query$:$JSCompiler_alias_NULL$$, $pseudos$:[], $attrs$:[], $classes$:[], $tag$:$JSCompiler_alias_NULL$$, $oper$:$JSCompiler_alias_NULL$$, id:$JSCompiler_alias_NULL$$, $getTag$:function $$currentPart$$inline_178$$$$getTag$$() { + return $caseSensitive$$inline_125$$ ? this.$otag$ : this.$tag$ + }}, $inTag$$inline_172$$ = $x$$inline_176$$), 0 <= $cmf$$inline_185_inBrackets$$inline_166$$) { + if("]" == $cc$$inline_174$$) { + $cp$$inline_179$$.$attr$ ? $cp$$inline_179$$.$matchFor$ = $ts$$inline_164$$($addToCc$$inline_186_inMatchFor$$inline_168$$ || $cmf$$inline_185_inBrackets$$inline_166$$ + 1, $x$$inline_176$$) : $cp$$inline_179$$.$attr$ = $ts$$inline_164$$($cmf$$inline_185_inBrackets$$inline_166$$ + 1, $x$$inline_176$$); + if(($cmf$$inline_185_inBrackets$$inline_166$$ = $cp$$inline_179$$.$matchFor$) && ('"' == $cmf$$inline_185_inBrackets$$inline_166$$.charAt(0) || "'" == $cmf$$inline_185_inBrackets$$inline_166$$.charAt(0))) { + $cp$$inline_179$$.$matchFor$ = $cmf$$inline_185_inBrackets$$inline_166$$.slice(1, -1) + } + $currentPart$$inline_178$$.$attrs$.push($cp$$inline_179$$); + $cp$$inline_179$$ = $JSCompiler_alias_NULL$$; + $cmf$$inline_185_inBrackets$$inline_166$$ = $addToCc$$inline_186_inMatchFor$$inline_168$$ = -1 + }else { + "=" == $cc$$inline_174$$ && ($addToCc$$inline_186_inMatchFor$$inline_168$$ = 0 <= "|~^$*".indexOf($lc$$inline_173$$) ? $lc$$inline_173$$ : "", $cp$$inline_179$$.type = $addToCc$$inline_186_inMatchFor$$inline_168$$ + $cc$$inline_174$$, $cp$$inline_179$$.$attr$ = $ts$$inline_164$$($cmf$$inline_185_inBrackets$$inline_166$$ + 1, $x$$inline_176$$ - $addToCc$$inline_186_inMatchFor$$inline_168$$.length), $addToCc$$inline_186_inMatchFor$$inline_168$$ = $x$$inline_176$$ + 1) + } + }else { + 0 <= $inParens$$inline_167$$ ? ")" == $cc$$inline_174$$ && (0 <= $inPseudo$$inline_169$$ && ($cp$$inline_179$$.value = $ts$$inline_164$$($inParens$$inline_167$$ + 1, $x$$inline_176$$)), $inPseudo$$inline_169$$ = $inParens$$inline_167$$ = -1) : "#" == $cc$$inline_174$$ ? ($endAll$$inline_183$$(), $inId$$inline_171$$ = $x$$inline_176$$ + 1) : "." == $cc$$inline_174$$ ? ($endAll$$inline_183$$(), $inClass$$inline_170$$ = $x$$inline_176$$) : ":" == $cc$$inline_174$$ ? ($endAll$$inline_183$$(), + $inPseudo$$inline_169$$ = $x$$inline_176$$) : "[" == $cc$$inline_174$$ ? ($endAll$$inline_183$$(), $cmf$$inline_185_inBrackets$$inline_166$$ = $x$$inline_176$$, $cp$$inline_179$$ = {}) : "(" == $cc$$inline_174$$ ? (0 <= $inPseudo$$inline_169$$ && ($cp$$inline_179$$ = {name:$ts$$inline_164$$($inPseudo$$inline_169$$ + 1, $x$$inline_176$$), value:$JSCompiler_alias_NULL$$}, $currentPart$$inline_178$$.$pseudos$.push($cp$$inline_179$$)), $inParens$$inline_167$$ = $x$$inline_176$$) : " " == $cc$$inline_174$$ && + $lc$$inline_173$$ != $cc$$inline_174$$ && ($endAll$$inline_183$$(), 0 <= $inPseudo$$inline_169$$ && $currentPart$$inline_178$$.$pseudos$.push({name:$ts$$inline_164$$($inPseudo$$inline_169$$ + 1, $x$$inline_176$$)}), $currentPart$$inline_178$$.$loops$ = $currentPart$$inline_178$$.$pseudos$.length || $currentPart$$inline_178$$.$attrs$.length || $currentPart$$inline_178$$.$classes$.length, $currentPart$$inline_178$$.$oquery$ = $currentPart$$inline_178$$.$query$ = $ts$$inline_164$$($pStart$$inline_175$$, + $x$$inline_176$$), $currentPart$$inline_178$$.$otag$ = $currentPart$$inline_178$$.$tag$ = $currentPart$$inline_178$$.$oper$ ? $JSCompiler_alias_NULL$$ : $currentPart$$inline_178$$.$tag$ || "*", $currentPart$$inline_178$$.$tag$ && ($currentPart$$inline_178$$.$tag$ = $currentPart$$inline_178$$.$tag$.toUpperCase()), $queryParts$$inline_165$$.length && $queryParts$$inline_165$$[$queryParts$$inline_165$$.length - 1].$oper$ && ($currentPart$$inline_178$$.$infixOper$ = $queryParts$$inline_165$$.pop(), + $currentPart$$inline_178$$.$query$ = $currentPart$$inline_178$$.$infixOper$.$query$ + " " + $currentPart$$inline_178$$.$query$), $queryParts$$inline_165$$.push($currentPart$$inline_178$$), $currentPart$$inline_178$$ = $JSCompiler_alias_NULL$$) + } + } + } + return $queryParts$$inline_165$$ +} +function $agree$$inline_127$$($first$$inline_190$$, $second$$inline_191$$) { + return!$first$$inline_190$$ ? $second$$inline_191$$ : !$second$$inline_191$$ ? $first$$inline_190$$ : function() { + return $first$$inline_190$$.apply(window, arguments) && $second$$inline_191$$.apply(window, arguments) + } +} +function $isElement$$inline_128$$($n$$inline_192$$) { + return 1 == $n$$inline_192$$.nodeType +} +function $getAttr$$inline_129$$($elem$$inline_193$$, $attr$$inline_194$$) { + return!$elem$$inline_193$$ ? "" : "class" == $attr$$inline_194$$ ? $elem$$inline_193$$.className || "" : "for" == $attr$$inline_194$$ ? $elem$$inline_193$$.htmlFor || "" : "style" == $attr$$inline_194$$ ? $elem$$inline_193$$.style.cssText || "" : ($caseSensitive$$inline_125$$ ? $elem$$inline_193$$.getAttribute($attr$$inline_194$$) : $elem$$inline_193$$.getAttribute($attr$$inline_194$$, 2)) || "" +} +var $attrs$$inline_130$$ = {"*=":function($attr$$inline_195$$, $value$$inline_196$$) { + return function($elem$$inline_197$$) { + return 0 <= $getAttr$$inline_129$$($elem$$inline_197$$, $attr$$inline_195$$).indexOf($value$$inline_196$$) + } +}, "^=":function($attr$$inline_198$$, $value$$inline_199$$) { + return function($elem$$inline_200$$) { + return 0 == $getAttr$$inline_129$$($elem$$inline_200$$, $attr$$inline_198$$).indexOf($value$$inline_199$$) + } +}, "$=":function($attr$$inline_201$$, $value$$inline_202$$) { + return function($ea$$inline_204_elem$$inline_203$$) { + $ea$$inline_204_elem$$inline_203$$ = " " + $getAttr$$inline_129$$($ea$$inline_204_elem$$inline_203$$, $attr$$inline_201$$); + return $ea$$inline_204_elem$$inline_203$$.lastIndexOf($value$$inline_202$$) == $ea$$inline_204_elem$$inline_203$$.length - $value$$inline_202$$.length + } +}, "~=":function($attr$$inline_205$$, $value$$inline_206$$) { + var $tval$$inline_207$$ = " " + $value$$inline_206$$ + " "; + return function($elem$$inline_208$$) { + return 0 <= (" " + $getAttr$$inline_129$$($elem$$inline_208$$, $attr$$inline_205$$) + " ").indexOf($tval$$inline_207$$) + } +}, "|=":function($attr$$inline_209$$, $value$$inline_210$$) { + $value$$inline_210$$ = " " + $value$$inline_210$$; + return function($ea$$inline_212_elem$$inline_211$$) { + $ea$$inline_212_elem$$inline_211$$ = " " + $getAttr$$inline_129$$($ea$$inline_212_elem$$inline_211$$, $attr$$inline_209$$); + return $ea$$inline_212_elem$$inline_211$$ == $value$$inline_210$$ || 0 == $ea$$inline_212_elem$$inline_211$$.indexOf($value$$inline_210$$ + "-") + } +}, "=":function($attr$$inline_213$$, $value$$inline_214$$) { + return function($elem$$inline_215$$) { + return $getAttr$$inline_129$$($elem$$inline_215$$, $attr$$inline_213$$) == $value$$inline_214$$ + } +}}, $noNextElementSibling$$inline_131$$ = "undefined" == typeof document.firstChild.nextElementSibling, $nSibling$$inline_132$$ = !$noNextElementSibling$$inline_131$$ ? "nextElementSibling" : "nextSibling", $pSibling$$inline_133$$ = !$noNextElementSibling$$inline_131$$ ? "previousElementSibling" : "previousSibling", $simpleNodeTest$$inline_134$$ = $noNextElementSibling$$inline_131$$ ? $isElement$$inline_128$$ : $goog$functions$TRUE$$; +function $_lookLeft$$inline_135$$($node$$inline_216$$) { + for(;$node$$inline_216$$ = $node$$inline_216$$[$pSibling$$inline_133$$];) { + if($simpleNodeTest$$inline_134$$($node$$inline_216$$)) { + return $JSCompiler_alias_FALSE$$ + } + } + return $JSCompiler_alias_TRUE$$ +} +function $_lookRight$$inline_136$$($node$$inline_217$$) { + for(;$node$$inline_217$$ = $node$$inline_217$$[$nSibling$$inline_132$$];) { + if($simpleNodeTest$$inline_134$$($node$$inline_217$$)) { + return $JSCompiler_alias_FALSE$$ + } + } + return $JSCompiler_alias_TRUE$$ +} +function $getNodeIndex$$inline_137$$($node$$inline_218$$) { + var $root$$inline_219_te$$inline_225$$ = $node$$inline_218$$.parentNode, $i$$inline_220$$ = 0, $l$$inline_224_tret$$inline_221$$ = $root$$inline_219_te$$inline_225$$[$childNodesName$$inline_124$$], $ci$$inline_222$$ = $node$$inline_218$$._i || -1, $cl$$inline_223$$ = $root$$inline_219_te$$inline_225$$._l || -1; + if(!$l$$inline_224_tret$$inline_221$$) { + return-1 + } + $l$$inline_224_tret$$inline_221$$ = $l$$inline_224_tret$$inline_221$$.length; + if($cl$$inline_223$$ == $l$$inline_224_tret$$inline_221$$ && 0 <= $ci$$inline_222$$ && 0 <= $cl$$inline_223$$) { + return $ci$$inline_222$$ + } + $root$$inline_219_te$$inline_225$$._l = $l$$inline_224_tret$$inline_221$$; + $ci$$inline_222$$ = -1; + for($root$$inline_219_te$$inline_225$$ = $root$$inline_219_te$$inline_225$$.firstElementChild || $root$$inline_219_te$$inline_225$$.firstChild;$root$$inline_219_te$$inline_225$$;$root$$inline_219_te$$inline_225$$ = $root$$inline_219_te$$inline_225$$[$nSibling$$inline_132$$]) { + $simpleNodeTest$$inline_134$$($root$$inline_219_te$$inline_225$$) && ($root$$inline_219_te$$inline_225$$._i = ++$i$$inline_220$$, $node$$inline_218$$ === $root$$inline_219_te$$inline_225$$ && ($ci$$inline_222$$ = $i$$inline_220$$)) + } + return $ci$$inline_222$$ +} +function $isEven$$inline_138$$($elem$$inline_226$$) { + return!($getNodeIndex$$inline_137$$($elem$$inline_226$$) % 2) +} +function $isOdd$$inline_139$$($elem$$inline_227$$) { + return $getNodeIndex$$inline_137$$($elem$$inline_227$$) % 2 +} +var $pseudos$$inline_140$$ = {checked:function() { + return function($elem$$inline_228$$) { + return $elem$$inline_228$$.checked || $elem$$inline_228$$.attributes.checked + } +}, "first-child":function() { + return $_lookLeft$$inline_135$$ +}, "last-child":function() { + return $_lookRight$$inline_136$$ +}, "only-child":function() { + return function($node$$inline_229$$) { + return!$_lookLeft$$inline_135$$($node$$inline_229$$) || !$_lookRight$$inline_136$$($node$$inline_229$$) ? $JSCompiler_alias_FALSE$$ : $JSCompiler_alias_TRUE$$ + } +}, empty:function() { + return function($elem$$inline_230_x$$inline_232$$) { + for(var $cn$$inline_231$$ = $elem$$inline_230_x$$inline_232$$.childNodes, $elem$$inline_230_x$$inline_232$$ = $elem$$inline_230_x$$inline_232$$.childNodes.length - 1;0 <= $elem$$inline_230_x$$inline_232$$;$elem$$inline_230_x$$inline_232$$--) { + var $nt$$inline_233$$ = $cn$$inline_231$$[$elem$$inline_230_x$$inline_232$$].nodeType; + if(1 === $nt$$inline_233$$ || 3 == $nt$$inline_233$$) { + return $JSCompiler_alias_FALSE$$ + } + } + return $JSCompiler_alias_TRUE$$ + } +}, contains:function($name$$inline_234$$, $condition$$inline_235$$) { + var $cz$$inline_236$$ = $condition$$inline_235$$.charAt(0); + if('"' == $cz$$inline_236$$ || "'" == $cz$$inline_236$$) { + $condition$$inline_235$$ = $condition$$inline_235$$.slice(1, -1) + } + return function($elem$$inline_237$$) { + return 0 <= $elem$$inline_237$$.innerHTML.indexOf($condition$$inline_235$$) + } +}, not:function($name$$inline_238$$, $condition$$inline_239$$) { + var $p$$inline_240$$ = $getQueryParts$$inline_126$$($condition$$inline_239$$)[0], $ignores$$inline_241$$ = {$el$:1}; + "*" != $p$$inline_240$$.$tag$ && ($ignores$$inline_241$$.$tag$ = 1); + $p$$inline_240$$.$classes$.length || ($ignores$$inline_241$$.$classes$ = 1); + var $ntf$$inline_242$$ = $getSimpleFilterFunc$$inline_142$$($p$$inline_240$$, $ignores$$inline_241$$); + return function($elem$$inline_243$$) { + return!$ntf$$inline_242$$($elem$$inline_243$$) + } +}, "nth-child":function($name$$inline_244$$, $condition$$inline_245$$) { + if("odd" == $condition$$inline_245$$) { + return $isOdd$$inline_139$$ + } + if("even" == $condition$$inline_245$$) { + return $isEven$$inline_138$$ + } + if(-1 != $condition$$inline_245$$.indexOf("n")) { + var $tparts$$inline_247$$ = $condition$$inline_245$$.split("n", 2), $pred$$inline_248$$ = $tparts$$inline_247$$[0] ? "-" == $tparts$$inline_247$$[0] ? -1 : parseInt($tparts$$inline_247$$[0], 10) : 1, $idx$$inline_249$$ = $tparts$$inline_247$$[1] ? parseInt($tparts$$inline_247$$[1], 10) : 0, $lb$$inline_250$$ = 0, $ub$$inline_251$$ = -1; + 0 < $pred$$inline_248$$ ? 0 > $idx$$inline_249$$ ? $idx$$inline_249$$ = $idx$$inline_249$$ % $pred$$inline_248$$ && $pred$$inline_248$$ + $idx$$inline_249$$ % $pred$$inline_248$$ : 0 < $idx$$inline_249$$ && ($idx$$inline_249$$ >= $pred$$inline_248$$ && ($lb$$inline_250$$ = $idx$$inline_249$$ - $idx$$inline_249$$ % $pred$$inline_248$$), $idx$$inline_249$$ %= $pred$$inline_248$$) : 0 > $pred$$inline_248$$ && ($pred$$inline_248$$ *= -1, 0 < $idx$$inline_249$$ && ($ub$$inline_251$$ = $idx$$inline_249$$, + $idx$$inline_249$$ %= $pred$$inline_248$$)); + if(0 < $pred$$inline_248$$) { + return function($elem$$inline_254_i$$inline_255$$) { + $elem$$inline_254_i$$inline_255$$ = $getNodeIndex$$inline_137$$($elem$$inline_254_i$$inline_255$$); + return $elem$$inline_254_i$$inline_255$$ >= $lb$$inline_250$$ && (0 > $ub$$inline_251$$ || $elem$$inline_254_i$$inline_255$$ <= $ub$$inline_251$$) && $elem$$inline_254_i$$inline_255$$ % $pred$$inline_248$$ == $idx$$inline_249$$ + } + } + $condition$$inline_245$$ = $idx$$inline_249$$ + } + var $ncount$$inline_252$$ = parseInt($condition$$inline_245$$, 10); + return function($elem$$inline_256$$) { + return $getNodeIndex$$inline_137$$($elem$$inline_256$$) == $ncount$$inline_252$$ + } +}}, $defaultGetter$$inline_141$$ = $goog$userAgent$IE$$ ? function($cond$$inline_257$$) { + var $clc$$inline_258$$ = $cond$$inline_257$$.toLowerCase(); + "class" == $clc$$inline_258$$ && ($cond$$inline_257$$ = "className"); + return function($elem$$inline_259$$) { + return $caseSensitive$$inline_125$$ ? $elem$$inline_259$$.getAttribute($cond$$inline_257$$) : $elem$$inline_259$$[$cond$$inline_257$$] || $elem$$inline_259$$[$clc$$inline_258$$] + } +} : function($cond$$inline_260$$) { + return function($elem$$inline_261$$) { + return $elem$$inline_261$$ && $elem$$inline_261$$.getAttribute && $elem$$inline_261$$.hasAttribute($cond$$inline_260$$) + } +}; +function $getSimpleFilterFunc$$inline_142$$($query$$inline_262$$, $ignores$$inline_263$$) { + if(!$query$$inline_262$$) { + return $goog$functions$TRUE$$ + } + var $ignores$$inline_263$$ = $ignores$$inline_263$$ || {}, $ff$$inline_264$$ = $JSCompiler_alias_NULL$$; + $ignores$$inline_263$$.$el$ || ($ff$$inline_264$$ = $agree$$inline_127$$($ff$$inline_264$$, $isElement$$inline_128$$)); + $ignores$$inline_263$$.$tag$ || "*" != $query$$inline_262$$.$tag$ && ($ff$$inline_264$$ = $agree$$inline_127$$($ff$$inline_264$$, function($elem$$inline_265$$) { + return $elem$$inline_265$$ && $elem$$inline_265$$.tagName == $query$$inline_262$$.$getTag$() + })); + $ignores$$inline_263$$.$classes$ || $goog$array$forEach$$($query$$inline_262$$.$classes$, function($cname$$inline_266$$, $idx$$inline_267$$) { + var $re$$inline_268$$ = RegExp("(?:^|\\s)" + $cname$$inline_266$$ + "(?:\\s|$)"); + $ff$$inline_264$$ = $agree$$inline_127$$($ff$$inline_264$$, function($elem$$inline_269$$) { + return $re$$inline_268$$.test($elem$$inline_269$$.className) + }); + $ff$$inline_264$$.count = $idx$$inline_267$$ + }); + $ignores$$inline_263$$.$pseudos$ || $goog$array$forEach$$($query$$inline_262$$.$pseudos$, function($pseudo$$inline_270$$) { + var $pn$$inline_271$$ = $pseudo$$inline_270$$.name; + $pseudos$$inline_140$$[$pn$$inline_271$$] && ($ff$$inline_264$$ = $agree$$inline_127$$($ff$$inline_264$$, $pseudos$$inline_140$$[$pn$$inline_271$$]($pn$$inline_271$$, $pseudo$$inline_270$$.value))) + }); + $ignores$$inline_263$$.$attrs$ || $goog$array$forEach$$($query$$inline_262$$.$attrs$, function($attr$$inline_272$$) { + var $matcher$$inline_273$$, $a$$inline_274$$ = $attr$$inline_272$$.$attr$; + $attr$$inline_272$$.type && $attrs$$inline_130$$[$attr$$inline_272$$.type] ? $matcher$$inline_273$$ = $attrs$$inline_130$$[$attr$$inline_272$$.type]($a$$inline_274$$, $attr$$inline_272$$.$matchFor$) : $a$$inline_274$$.length && ($matcher$$inline_273$$ = $defaultGetter$$inline_141$$($a$$inline_274$$)); + $matcher$$inline_273$$ && ($ff$$inline_264$$ = $agree$$inline_127$$($ff$$inline_264$$, $matcher$$inline_273$$)) + }); + $ignores$$inline_263$$.id || $query$$inline_262$$.id && ($ff$$inline_264$$ = $agree$$inline_127$$($ff$$inline_264$$, function($elem$$inline_275$$) { + return!!$elem$$inline_275$$ && $elem$$inline_275$$.id == $query$$inline_262$$.id + })); + $ff$$inline_264$$ || "default" in $ignores$$inline_263$$ || ($ff$$inline_264$$ = $goog$functions$TRUE$$); + return $ff$$inline_264$$ +} +var $_getElementsFuncCache$$inline_147$$ = {}; +function $getElementsFunc$$inline_148$$($query$$inline_295$$) { + var $retFunc$$inline_296$$ = $_getElementsFuncCache$$inline_147$$[$query$$inline_295$$.$query$]; + if($retFunc$$inline_296$$) { + return $retFunc$$inline_296$$ + } + var $io$$inline_297_oper$$inline_298$$ = $query$$inline_295$$.$infixOper$, $io$$inline_297_oper$$inline_298$$ = $io$$inline_297_oper$$inline_298$$ ? $io$$inline_297_oper$$inline_298$$.$oper$ : "", $filterFunc$$inline_299$$ = $getSimpleFilterFunc$$inline_142$$($query$$inline_295$$, {$el$:1}), $wildcardTag$$inline_300$$ = "*" == $query$$inline_295$$.$tag$, $ecs$$inline_301_skipFilters$$inline_302$$ = document.getElementsByClassName; + if($io$$inline_297_oper$$inline_298$$) { + if($ecs$$inline_301_skipFilters$$inline_302$$ = {$el$:1}, $wildcardTag$$inline_300$$ && ($ecs$$inline_301_skipFilters$$inline_302$$.$tag$ = 1), $filterFunc$$inline_299$$ = $getSimpleFilterFunc$$inline_142$$($query$$inline_295$$, $ecs$$inline_301_skipFilters$$inline_302$$), "+" == $io$$inline_297_oper$$inline_298$$) { + var $filterFunc$$inline_824$$ = $filterFunc$$inline_299$$, $retFunc$$inline_296$$ = function $$retFunc$$inline_296$$$($node$$inline_825$$, $ret$$inline_826$$, $bag$$inline_827$$) { + for(;$node$$inline_825$$ = $node$$inline_825$$[$nSibling$$inline_132$$];) { + if(!$noNextElementSibling$$inline_131$$ || $isElement$$inline_128$$($node$$inline_825$$)) { + (!$bag$$inline_827$$ || $_isUnique$$inline_157$$($node$$inline_825$$, $bag$$inline_827$$)) && $filterFunc$$inline_824$$($node$$inline_825$$) && $ret$$inline_826$$.push($node$$inline_825$$); + break + } + } + return $ret$$inline_826$$ + } + }else { + if("~" == $io$$inline_297_oper$$inline_298$$) { + var $filterFunc$$inline_829$$ = $filterFunc$$inline_299$$, $retFunc$$inline_296$$ = function $$retFunc$$inline_296$$$($root$$inline_830_te$$inline_833$$, $ret$$inline_831$$, $bag$$inline_832$$) { + for($root$$inline_830_te$$inline_833$$ = $root$$inline_830_te$$inline_833$$[$nSibling$$inline_132$$];$root$$inline_830_te$$inline_833$$;) { + if($simpleNodeTest$$inline_134$$($root$$inline_830_te$$inline_833$$)) { + if($bag$$inline_832$$ && !$_isUnique$$inline_157$$($root$$inline_830_te$$inline_833$$, $bag$$inline_832$$)) { + break + } + $filterFunc$$inline_829$$($root$$inline_830_te$$inline_833$$) && $ret$$inline_831$$.push($root$$inline_830_te$$inline_833$$) + } + $root$$inline_830_te$$inline_833$$ = $root$$inline_830_te$$inline_833$$[$nSibling$$inline_132$$] + } + return $ret$$inline_831$$ + } + }else { + if(">" == $io$$inline_297_oper$$inline_298$$) { + var $filterFunc$$inline_835$$ = $filterFunc$$inline_299$$, $filterFunc$$inline_835$$ = $filterFunc$$inline_835$$ || $goog$functions$TRUE$$, $retFunc$$inline_296$$ = function $$retFunc$$inline_296$$$($root$$inline_836_te$$inline_839$$, $ret$$inline_837$$, $bag$$inline_838$$) { + for(var $x$$inline_840$$ = 0, $tret$$inline_841$$ = $root$$inline_836_te$$inline_839$$[$childNodesName$$inline_124$$];$root$$inline_836_te$$inline_839$$ = $tret$$inline_841$$[$x$$inline_840$$++];) { + $simpleNodeTest$$inline_134$$($root$$inline_836_te$$inline_839$$) && ((!$bag$$inline_838$$ || $_isUnique$$inline_157$$($root$$inline_836_te$$inline_839$$, $bag$$inline_838$$)) && $filterFunc$$inline_835$$($root$$inline_836_te$$inline_839$$, $x$$inline_840$$)) && $ret$$inline_837$$.push($root$$inline_836_te$$inline_839$$) + } + return $ret$$inline_837$$ + } + } + } + } + }else { + if($query$$inline_295$$.id) { + $filterFunc$$inline_299$$ = !$query$$inline_295$$.$loops$ && $wildcardTag$$inline_300$$ ? $goog$functions$TRUE$$ : $getSimpleFilterFunc$$inline_142$$($query$$inline_295$$, {$el$:1, id:1}), $retFunc$$inline_296$$ = function $$retFunc$$inline_296$$$($root$$inline_304$$, $arr$$inline_305$$) { + var $te$$inline_306$$ = $goog$dom$getDomHelper$$($root$$inline_304$$).$getElement$($query$$inline_295$$.id), $JSCompiler_temp$$815_JSCompiler_temp$$816_pn$$inline_845$$; + if($JSCompiler_temp$$815_JSCompiler_temp$$816_pn$$inline_845$$ = $te$$inline_306$$ && $filterFunc$$inline_299$$($te$$inline_306$$)) { + if(!($JSCompiler_temp$$815_JSCompiler_temp$$816_pn$$inline_845$$ = 9 == $root$$inline_304$$.nodeType)) { + for($JSCompiler_temp$$815_JSCompiler_temp$$816_pn$$inline_845$$ = $te$$inline_306$$.parentNode;$JSCompiler_temp$$815_JSCompiler_temp$$816_pn$$inline_845$$ && $JSCompiler_temp$$815_JSCompiler_temp$$816_pn$$inline_845$$ != $root$$inline_304$$;) { + $JSCompiler_temp$$815_JSCompiler_temp$$816_pn$$inline_845$$ = $JSCompiler_temp$$815_JSCompiler_temp$$816_pn$$inline_845$$.parentNode + } + $JSCompiler_temp$$815_JSCompiler_temp$$816_pn$$inline_845$$ = !!$JSCompiler_temp$$815_JSCompiler_temp$$816_pn$$inline_845$$ + } + } + if($JSCompiler_temp$$815_JSCompiler_temp$$816_pn$$inline_845$$) { + return $getArr$$inline_122$$($te$$inline_306$$, $arr$$inline_305$$) + } + } + }else { + if($ecs$$inline_301_skipFilters$$inline_302$$ && /\{\s*\[native code\]\s*\}/.test(String($ecs$$inline_301_skipFilters$$inline_302$$)) && $query$$inline_295$$.$classes$.length && !$cssCaseBug$$inline_123$$) { + var $filterFunc$$inline_299$$ = $getSimpleFilterFunc$$inline_142$$($query$$inline_295$$, {$el$:1, $classes$:1, id:1}), $classesString$$inline_303$$ = $query$$inline_295$$.$classes$.join(" "), $retFunc$$inline_296$$ = function $$retFunc$$inline_296$$$($root$$inline_307$$, $arr$$inline_308$$) { + for(var $ret$$inline_309$$ = $getArr$$inline_122$$(0, $arr$$inline_308$$), $te$$inline_310$$, $x$$inline_311$$ = 0, $tret$$inline_312$$ = $root$$inline_307$$.getElementsByClassName($classesString$$inline_303$$);$te$$inline_310$$ = $tret$$inline_312$$[$x$$inline_311$$++];) { + $filterFunc$$inline_299$$($te$$inline_310$$, $root$$inline_307$$) && $ret$$inline_309$$.push($te$$inline_310$$) + } + return $ret$$inline_309$$ + } + }else { + !$wildcardTag$$inline_300$$ && !$query$$inline_295$$.$loops$ ? $retFunc$$inline_296$$ = function $$retFunc$$inline_296$$$($root$$inline_313$$, $arr$$inline_314$$) { + for(var $ret$$inline_315$$ = $getArr$$inline_122$$(0, $arr$$inline_314$$), $te$$inline_316$$, $x$$inline_317$$ = 0, $tret$$inline_318$$ = $root$$inline_313$$.getElementsByTagName($query$$inline_295$$.$getTag$());$te$$inline_316$$ = $tret$$inline_318$$[$x$$inline_317$$++];) { + $ret$$inline_315$$.push($te$$inline_316$$) + } + return $ret$$inline_315$$ + } : ($filterFunc$$inline_299$$ = $getSimpleFilterFunc$$inline_142$$($query$$inline_295$$, {$el$:1, $tag$:1, id:1}), $retFunc$$inline_296$$ = function $$retFunc$$inline_296$$$($root$$inline_319$$, $arr$$inline_320$$) { + for(var $ret$$inline_321$$ = $getArr$$inline_122$$(0, $arr$$inline_320$$), $te$$inline_322$$, $x$$inline_323$$ = 0, $tret$$inline_324$$ = $root$$inline_319$$.getElementsByTagName($query$$inline_295$$.$getTag$());$te$$inline_322$$ = $tret$$inline_324$$[$x$$inline_323$$++];) { + $filterFunc$$inline_299$$($te$$inline_322$$, $root$$inline_319$$) && $ret$$inline_321$$.push($te$$inline_322$$) + } + return $ret$$inline_321$$ + }) + } + } + } + return $_getElementsFuncCache$$inline_147$$[$query$$inline_295$$.$query$] = $retFunc$$inline_296$$ +} +var $_queryFuncCacheDOM$$inline_150$$ = {}, $_queryFuncCacheQSA$$inline_151$$ = {}; +function $getStepQueryFunc$$inline_152$$($query$$inline_337$$) { + var $qparts$$inline_338$$ = $getQueryParts$$inline_126$$($goog$string$trim$$($query$$inline_337$$)); + if(1 == $qparts$$inline_338$$.length) { + var $tef$$inline_339$$ = $getElementsFunc$$inline_148$$($qparts$$inline_338$$[0]); + return function($r$$inline_341_root$$inline_340$$) { + if($r$$inline_341_root$$inline_340$$ = $tef$$inline_339$$($r$$inline_341_root$$inline_340$$, [])) { + $r$$inline_341_root$$inline_340$$.$nozip$ = $JSCompiler_alias_TRUE$$ + } + return $r$$inline_341_root$$inline_340$$ + } + } + return function($candidates$$inline_849_root$$inline_342$$) { + for(var $candidates$$inline_849_root$$inline_342$$ = $getArr$$inline_122$$($candidates$$inline_849_root$$inline_342$$), $qp$$inline_850_te$$inline_852$$, $gef$$inline_857_x$$inline_851$$, $qpl$$inline_853$$ = $qparts$$inline_338$$.length, $bag$$inline_854$$, $ret$$inline_855$$, $i$$inline_856$$ = 0;$i$$inline_856$$ < $qpl$$inline_853$$;$i$$inline_856$$++) { + $ret$$inline_855$$ = []; + $qp$$inline_850_te$$inline_852$$ = $qparts$$inline_338$$[$i$$inline_856$$]; + $gef$$inline_857_x$$inline_851$$ = $candidates$$inline_849_root$$inline_342$$.length - 1; + 0 < $gef$$inline_857_x$$inline_851$$ && ($bag$$inline_854$$ = {}, $ret$$inline_855$$.$nozip$ = $JSCompiler_alias_TRUE$$); + $gef$$inline_857_x$$inline_851$$ = $getElementsFunc$$inline_148$$($qp$$inline_850_te$$inline_852$$); + for(var $j$$inline_858$$ = 0;$qp$$inline_850_te$$inline_852$$ = $candidates$$inline_849_root$$inline_342$$[$j$$inline_858$$];$j$$inline_858$$++) { + $gef$$inline_857_x$$inline_851$$($qp$$inline_850_te$$inline_852$$, $ret$$inline_855$$, $bag$$inline_854$$) + } + if(!$ret$$inline_855$$.length) { + break + } + $candidates$$inline_849_root$$inline_342$$ = $ret$$inline_855$$ + } + return $ret$$inline_855$$ + } +} +var $qsaAvail$$inline_153$$ = !!document.querySelectorAll && (!$goog$userAgent$WEBKIT$$ || $goog$userAgent$isVersion$$("526")); +function $getQueryFunc$$inline_154$$($query$$inline_343$$, $opt_forceDOM$$inline_344$$) { + if($qsaAvail$$inline_153$$) { + var $domCached$$inline_346_qcz$$inline_347_qsaCached$$inline_345$$ = $_queryFuncCacheQSA$$inline_151$$[$query$$inline_343$$]; + if($domCached$$inline_346_qcz$$inline_347_qsaCached$$inline_345$$ && !$opt_forceDOM$$inline_344$$) { + return $domCached$$inline_346_qcz$$inline_347_qsaCached$$inline_345$$ + } + } + if($domCached$$inline_346_qcz$$inline_347_qsaCached$$inline_345$$ = $_queryFuncCacheDOM$$inline_150$$[$query$$inline_343$$]) { + return $domCached$$inline_346_qcz$$inline_347_qsaCached$$inline_345$$ + } + var $domCached$$inline_346_qcz$$inline_347_qsaCached$$inline_345$$ = $query$$inline_343$$.charAt(0), $nospace$$inline_348$$ = -1 == $query$$inline_343$$.indexOf(" "); + 0 <= $query$$inline_343$$.indexOf("#") && $nospace$$inline_348$$ && ($opt_forceDOM$$inline_344$$ = $JSCompiler_alias_TRUE$$); + if($qsaAvail$$inline_153$$ && !$opt_forceDOM$$inline_344$$ && -1 == ">~+".indexOf($domCached$$inline_346_qcz$$inline_347_qsaCached$$inline_345$$) && (!$goog$userAgent$IE$$ || -1 == $query$$inline_343$$.indexOf(":")) && !($cssCaseBug$$inline_123$$ && 0 <= $query$$inline_343$$.indexOf(".")) && -1 == $query$$inline_343$$.indexOf(":contains") && -1 == $query$$inline_343$$.indexOf("|=")) { + var $tq$$inline_349$$ = 0 <= ">~+".indexOf($query$$inline_343$$.charAt($query$$inline_343$$.length - 1)) ? $query$$inline_343$$ + " *" : $query$$inline_343$$; + return $_queryFuncCacheQSA$$inline_151$$[$query$$inline_343$$] = function $$_queryFuncCacheQSA$$inline_151$$$$query$$inline_343$$$($root$$inline_351$$) { + try { + 9 == $root$$inline_351$$.nodeType || $nospace$$inline_348$$ || $JSCompiler_alias_THROW$$(""); + var $r$$inline_352$$ = $root$$inline_351$$.querySelectorAll($tq$$inline_349$$); + $goog$userAgent$IE$$ ? $r$$inline_352$$.$commentStrip$ = $JSCompiler_alias_TRUE$$ : $r$$inline_352$$.$nozip$ = $JSCompiler_alias_TRUE$$; + return $r$$inline_352$$ + }catch($e$$inline_353$$) { + return $getQueryFunc$$inline_154$$($query$$inline_343$$, $JSCompiler_alias_TRUE$$)($root$$inline_351$$) + } + } + } + var $parts$$inline_350$$ = $query$$inline_343$$.split(/\s*,\s*/); + return $_queryFuncCacheDOM$$inline_150$$[$query$$inline_343$$] = 2 > $parts$$inline_350$$.length ? $getStepQueryFunc$$inline_152$$($query$$inline_343$$) : function($root$$inline_354$$) { + for(var $pindex$$inline_355$$ = 0, $ret$$inline_356$$ = [], $tp$$inline_357$$;$tp$$inline_357$$ = $parts$$inline_350$$[$pindex$$inline_355$$++];) { + $ret$$inline_356$$ = $ret$$inline_356$$.concat($getStepQueryFunc$$inline_152$$($tp$$inline_357$$)($root$$inline_354$$)) + } + return $ret$$inline_356$$ + } +} +var $_zipIdx$$inline_155$$ = 0, $_nodeUID$$inline_156$$ = $goog$userAgent$IE$$ ? function($node$$inline_358$$) { + return $caseSensitive$$inline_125$$ ? $node$$inline_358$$.getAttribute("_uid") || $node$$inline_358$$.setAttribute("_uid", ++$_zipIdx$$inline_155$$) || $_zipIdx$$inline_155$$ : $node$$inline_358$$.uniqueID +} : function($node$$inline_359$$) { + return $node$$inline_359$$._uid || ($node$$inline_359$$._uid = ++$_zipIdx$$inline_155$$) +}; +function $_isUnique$$inline_157$$($node$$inline_360$$, $bag$$inline_361$$) { + if(!$bag$$inline_361$$) { + return 1 + } + var $id$$inline_362$$ = $_nodeUID$$inline_156$$($node$$inline_360$$); + return!$bag$$inline_361$$[$id$$inline_362$$] ? $bag$$inline_361$$[$id$$inline_362$$] = 1 : 0 +} +function $_zip$$inline_158$$($arr$$inline_363$$) { + if($arr$$inline_363$$ && $arr$$inline_363$$.$nozip$) { + return $arr$$inline_363$$ + } + var $ret$$inline_364$$ = []; + if(!$arr$$inline_363$$ || !$arr$$inline_363$$.length) { + return $ret$$inline_364$$ + } + $arr$$inline_363$$[0] && $ret$$inline_364$$.push($arr$$inline_363$$[0]); + if(2 > $arr$$inline_363$$.length) { + return $ret$$inline_364$$ + } + $_zipIdx$$inline_155$$++; + if($goog$userAgent$IE$$ && $caseSensitive$$inline_125$$) { + var $szidx$$inline_365$$ = $_zipIdx$$inline_155$$ + ""; + $arr$$inline_363$$[0].setAttribute("_zipIdx", $szidx$$inline_365$$); + for(var $x$$inline_366$$ = 1, $te$$inline_367$$;$te$$inline_367$$ = $arr$$inline_363$$[$x$$inline_366$$];$x$$inline_366$$++) { + $arr$$inline_363$$[$x$$inline_366$$].getAttribute("_zipIdx") != $szidx$$inline_365$$ && $ret$$inline_364$$.push($te$$inline_367$$), $te$$inline_367$$.setAttribute("_zipIdx", $szidx$$inline_365$$) + } + }else { + if($goog$userAgent$IE$$ && $arr$$inline_363$$.$commentStrip$) { + try { + for($x$$inline_366$$ = 1;$te$$inline_367$$ = $arr$$inline_363$$[$x$$inline_366$$];$x$$inline_366$$++) { + $isElement$$inline_128$$($te$$inline_367$$) && $ret$$inline_364$$.push($te$$inline_367$$) + } + }catch($e$$inline_368$$) { + } + }else { + $arr$$inline_363$$[0] && ($arr$$inline_363$$[0]._zipIdx = $_zipIdx$$inline_155$$); + for($x$$inline_366$$ = 1;$te$$inline_367$$ = $arr$$inline_363$$[$x$$inline_366$$];$x$$inline_366$$++) { + $arr$$inline_363$$[$x$$inline_366$$]._zipIdx != $_zipIdx$$inline_155$$ && $ret$$inline_364$$.push($te$$inline_367$$), $te$$inline_367$$._zipIdx = $_zipIdx$$inline_155$$ + } + } + } + return $ret$$inline_364$$ +} +function $query$$inline_159$$($query$$inline_369$$, $root$$inline_370$$) { + if(!$query$$inline_369$$) { + return[] + } + if($query$$inline_369$$.constructor == Array) { + return $query$$inline_369$$ + } + if(!$goog$isString$$($query$$inline_369$$)) { + return[$query$$inline_369$$] + } + if($goog$isString$$($root$$inline_370$$) && ($root$$inline_370$$ = $goog$isString$$($root$$inline_370$$) ? document.getElementById($root$$inline_370$$) : $root$$inline_370$$, !$root$$inline_370$$)) { + return[] + } + var $root$$inline_370$$ = $root$$inline_370$$ || document, $od$$inline_371_r$$inline_372$$ = $root$$inline_370$$.ownerDocument || $root$$inline_370$$.documentElement; + $caseSensitive$$inline_125$$ = $root$$inline_370$$.contentType && "application/xml" == $root$$inline_370$$.contentType || $goog$userAgent$OPERA$$ && ($root$$inline_370$$.doctype || "[object XMLDocument]" == $od$$inline_371_r$$inline_372$$.toString()) || !!$od$$inline_371_r$$inline_372$$ && ($goog$userAgent$IE$$ ? $od$$inline_371_r$$inline_372$$.xml : $root$$inline_370$$.xmlVersion || $od$$inline_371_r$$inline_372$$.xmlVersion); + return($od$$inline_371_r$$inline_372$$ = $getQueryFunc$$inline_154$$($query$$inline_369$$)($root$$inline_370$$)) && $od$$inline_371_r$$inline_372$$.$nozip$ ? $od$$inline_371_r$$inline_372$$ : $_zip$$inline_158$$($od$$inline_371_r$$inline_372$$) +} +$query$$inline_159$$.$pseudos$ = $pseudos$$inline_140$$; +$goog$exportPath_$$("goog.dom.query", $query$$inline_159$$); +$goog$exportPath_$$("goog.dom.query.pseudos", $query$$inline_159$$.$pseudos$); +var $goog$events$BrowserFeature$HAS_W3C_BUTTON$$ = !$goog$userAgent$IE$$ || $goog$userAgent$isDocumentMode$$(9), $goog$events$BrowserFeature$HAS_W3C_EVENT_SUPPORT$$ = !$goog$userAgent$IE$$ || $goog$userAgent$isDocumentMode$$(9), $goog$events$BrowserFeature$SET_KEY_CODE_TO_PREVENT_DEFAULT$$ = $goog$userAgent$IE$$ && !$goog$userAgent$isVersion$$("9"); +!$goog$userAgent$WEBKIT$$ || $goog$userAgent$isVersion$$("528"); +$goog$userAgent$GECKO$$ && $goog$userAgent$isVersion$$("1.9b") || $goog$userAgent$IE$$ && $goog$userAgent$isVersion$$("8") || $goog$userAgent$OPERA$$ && $goog$userAgent$isVersion$$("9.5") || $goog$userAgent$WEBKIT$$ && $goog$userAgent$isVersion$$("528"); +$goog$userAgent$GECKO$$ && !$goog$userAgent$isVersion$$("8") || $goog$userAgent$IE$$ && $goog$userAgent$isVersion$$("9"); +function $goog$Disposable$$() { + 0 != $goog$Disposable$MonitoringMode$OFF$$ && (this.$creationStack$ = Error().stack, $goog$getUid$$(this)) +} +var $goog$Disposable$MonitoringMode$OFF$$ = 0; +$goog$Disposable$$.prototype.$disposed_$ = $JSCompiler_alias_FALSE$$; +function $goog$events$Event$$($type$$55$$, $opt_target$$1$$) { + this.type = $type$$55$$; + this.currentTarget = this.target = $opt_target$$1$$ +} +$JSCompiler_prototypeAlias$$ = $goog$events$Event$$.prototype; +$JSCompiler_prototypeAlias$$.$propagationStopped_$ = $JSCompiler_alias_FALSE$$; +$JSCompiler_prototypeAlias$$.defaultPrevented = $JSCompiler_alias_FALSE$$; +$JSCompiler_prototypeAlias$$.$returnValue_$ = $JSCompiler_alias_TRUE$$; +$JSCompiler_prototypeAlias$$.stopPropagation = function $$JSCompiler_prototypeAlias$$$stopPropagation$() { + this.$propagationStopped_$ = $JSCompiler_alias_TRUE$$ +}; +$JSCompiler_prototypeAlias$$.preventDefault = function $$JSCompiler_prototypeAlias$$$preventDefault$() { + this.defaultPrevented = $JSCompiler_alias_TRUE$$; + this.$returnValue_$ = $JSCompiler_alias_FALSE$$ +}; +function $goog$events$Event$preventDefault$$($e$$15$$) { + $e$$15$$.preventDefault() +} +;function $goog$reflect$sinkValue$$($x$$67$$) { + $goog$reflect$sinkValue$$[" "]($x$$67$$); + return $x$$67$$ +} +$goog$reflect$sinkValue$$[" "] = $goog$nullFunction$$; +function $goog$events$BrowserEvent$$($opt_e$$, $opt_currentTarget$$) { + $opt_e$$ && this.init($opt_e$$, $opt_currentTarget$$) +} +$goog$inherits$$($goog$events$BrowserEvent$$, $goog$events$Event$$); +var $goog$events$BrowserEvent$IEButtonMap$$ = [1, 4, 2]; +$JSCompiler_prototypeAlias$$ = $goog$events$BrowserEvent$$.prototype; +$JSCompiler_prototypeAlias$$.target = $JSCompiler_alias_NULL$$; +$JSCompiler_prototypeAlias$$.relatedTarget = $JSCompiler_alias_NULL$$; +$JSCompiler_prototypeAlias$$.offsetX = 0; +$JSCompiler_prototypeAlias$$.offsetY = 0; +$JSCompiler_prototypeAlias$$.clientX = 0; +$JSCompiler_prototypeAlias$$.clientY = 0; +$JSCompiler_prototypeAlias$$.screenX = 0; +$JSCompiler_prototypeAlias$$.screenY = 0; +$JSCompiler_prototypeAlias$$.button = 0; +$JSCompiler_prototypeAlias$$.keyCode = 0; +$JSCompiler_prototypeAlias$$.charCode = 0; +$JSCompiler_prototypeAlias$$.ctrlKey = $JSCompiler_alias_FALSE$$; +$JSCompiler_prototypeAlias$$.altKey = $JSCompiler_alias_FALSE$$; +$JSCompiler_prototypeAlias$$.shiftKey = $JSCompiler_alias_FALSE$$; +$JSCompiler_prototypeAlias$$.metaKey = $JSCompiler_alias_FALSE$$; +$JSCompiler_prototypeAlias$$.$platformModifierKey$ = $JSCompiler_alias_FALSE$$; +$JSCompiler_prototypeAlias$$.$event_$ = $JSCompiler_alias_NULL$$; +$JSCompiler_prototypeAlias$$.init = function $$JSCompiler_prototypeAlias$$$init$($e$$17$$, $opt_currentTarget$$1$$) { + var $type$$57$$ = this.type = $e$$17$$.type; + $goog$events$Event$$.call(this, $type$$57$$); + this.target = $e$$17$$.target || $e$$17$$.srcElement; + this.currentTarget = $opt_currentTarget$$1$$; + var $relatedTarget$$ = $e$$17$$.relatedTarget; + if($relatedTarget$$) { + if($goog$userAgent$GECKO$$) { + var $JSCompiler_inline_result$$43$$; + a: { + try { + $goog$reflect$sinkValue$$($relatedTarget$$.nodeName); + $JSCompiler_inline_result$$43$$ = $JSCompiler_alias_TRUE$$; + break a + }catch($e$$inline_384$$) { + } + $JSCompiler_inline_result$$43$$ = $JSCompiler_alias_FALSE$$ + } + $JSCompiler_inline_result$$43$$ || ($relatedTarget$$ = $JSCompiler_alias_NULL$$) + } + }else { + "mouseover" == $type$$57$$ ? $relatedTarget$$ = $e$$17$$.fromElement : "mouseout" == $type$$57$$ && ($relatedTarget$$ = $e$$17$$.toElement) + } + this.relatedTarget = $relatedTarget$$; + this.offsetX = $goog$userAgent$WEBKIT$$ || $e$$17$$.offsetX !== $JSCompiler_alias_VOID$$ ? $e$$17$$.offsetX : $e$$17$$.layerX; + this.offsetY = $goog$userAgent$WEBKIT$$ || $e$$17$$.offsetY !== $JSCompiler_alias_VOID$$ ? $e$$17$$.offsetY : $e$$17$$.layerY; + this.clientX = $e$$17$$.clientX !== $JSCompiler_alias_VOID$$ ? $e$$17$$.clientX : $e$$17$$.pageX; + this.clientY = $e$$17$$.clientY !== $JSCompiler_alias_VOID$$ ? $e$$17$$.clientY : $e$$17$$.pageY; + this.screenX = $e$$17$$.screenX || 0; + this.screenY = $e$$17$$.screenY || 0; + this.button = $e$$17$$.button; + this.keyCode = $e$$17$$.keyCode || 0; + this.charCode = $e$$17$$.charCode || ("keypress" == $type$$57$$ ? $e$$17$$.keyCode : 0); + this.ctrlKey = $e$$17$$.ctrlKey; + this.altKey = $e$$17$$.altKey; + this.shiftKey = $e$$17$$.shiftKey; + this.metaKey = $e$$17$$.metaKey; + this.$platformModifierKey$ = $goog$userAgent$detectedMac_$$ ? $e$$17$$.metaKey : $e$$17$$.ctrlKey; + this.state = $e$$17$$.state; + this.$event_$ = $e$$17$$; + $e$$17$$.defaultPrevented && this.preventDefault(); + delete this.$propagationStopped_$ +}; +function $JSCompiler_StaticMethods_isMouseActionButton$$($JSCompiler_StaticMethods_isMouseActionButton$self$$) { + return($goog$events$BrowserFeature$HAS_W3C_BUTTON$$ ? 0 == $JSCompiler_StaticMethods_isMouseActionButton$self$$.$event_$.button : "click" == $JSCompiler_StaticMethods_isMouseActionButton$self$$.type ? $JSCompiler_alias_TRUE$$ : !!($JSCompiler_StaticMethods_isMouseActionButton$self$$.$event_$.button & $goog$events$BrowserEvent$IEButtonMap$$[0])) && !($goog$userAgent$WEBKIT$$ && $goog$userAgent$detectedMac_$$ && $JSCompiler_StaticMethods_isMouseActionButton$self$$.ctrlKey) +} +$JSCompiler_prototypeAlias$$.stopPropagation = function $$JSCompiler_prototypeAlias$$$stopPropagation$() { + $goog$events$BrowserEvent$$.$superClass_$.stopPropagation.call(this); + this.$event_$.stopPropagation ? this.$event_$.stopPropagation() : this.$event_$.cancelBubble = $JSCompiler_alias_TRUE$$ +}; +$JSCompiler_prototypeAlias$$.preventDefault = function $$JSCompiler_prototypeAlias$$$preventDefault$() { + $goog$events$BrowserEvent$$.$superClass_$.preventDefault.call(this); + var $be$$ = this.$event_$; + if($be$$.preventDefault) { + $be$$.preventDefault() + }else { + if($be$$.returnValue = $JSCompiler_alias_FALSE$$, $goog$events$BrowserFeature$SET_KEY_CODE_TO_PREVENT_DEFAULT$$) { + try { + if($be$$.ctrlKey || 112 <= $be$$.keyCode && 123 >= $be$$.keyCode) { + $be$$.keyCode = -1 + } + }catch($ex$$1$$) { + } + } + } +}; +$JSCompiler_prototypeAlias$$.$getBrowserEvent$ = $JSCompiler_get$$("$event_$"); +function $goog$events$Listener$$() { +} +var $goog$events$Listener$counter_$$ = 0; +$JSCompiler_prototypeAlias$$ = $goog$events$Listener$$.prototype; +$JSCompiler_prototypeAlias$$.key = 0; +$JSCompiler_prototypeAlias$$.$removed$ = $JSCompiler_alias_FALSE$$; +$JSCompiler_prototypeAlias$$.$callOnce$ = $JSCompiler_alias_FALSE$$; +$JSCompiler_prototypeAlias$$.init = function $$JSCompiler_prototypeAlias$$$init$($listener$$32$$, $proxy$$, $src$$6$$, $type$$58$$, $capture$$, $opt_handler$$) { + $goog$isFunction$$($listener$$32$$) ? this.$isFunctionListener_$ = $JSCompiler_alias_TRUE$$ : $listener$$32$$ && $listener$$32$$.handleEvent && $goog$isFunction$$($listener$$32$$.handleEvent) ? this.$isFunctionListener_$ = $JSCompiler_alias_FALSE$$ : $JSCompiler_alias_THROW$$(Error("Invalid listener argument")); + this.$listener$ = $listener$$32$$; + this.$proxy$ = $proxy$$; + this.src = $src$$6$$; + this.type = $type$$58$$; + this.capture = !!$capture$$; + this.$handler$ = $opt_handler$$; + this.$callOnce$ = $JSCompiler_alias_FALSE$$; + this.key = ++$goog$events$Listener$counter_$$; + this.$removed$ = $JSCompiler_alias_FALSE$$ +}; +$JSCompiler_prototypeAlias$$.handleEvent = function $$JSCompiler_prototypeAlias$$$handleEvent$($eventObject$$) { + return this.$isFunctionListener_$ ? this.$listener$.call(this.$handler$ || this.src, $eventObject$$) : this.$listener$.handleEvent.call(this.$listener$, $eventObject$$) +}; +var $goog$events$listeners_$$ = {}, $goog$events$listenerTree_$$ = {}, $goog$events$sources_$$ = {}, $goog$events$onStringMap_$$ = {}; +function $goog$events$listen$$($src$$7$$, $type$$59$$, $key$$43_listener$$33$$, $capture$$1_opt_capt$$2$$, $opt_handler$$1$$) { + if($type$$59$$) { + if($goog$isArray$$($type$$59$$)) { + for(var $i$$67_proxy$$1$$ = 0;$i$$67_proxy$$1$$ < $type$$59$$.length;$i$$67_proxy$$1$$++) { + $goog$events$listen$$($src$$7$$, $type$$59$$[$i$$67_proxy$$1$$], $key$$43_listener$$33$$, $capture$$1_opt_capt$$2$$, $opt_handler$$1$$) + } + return $JSCompiler_alias_NULL$$ + } + var $capture$$1_opt_capt$$2$$ = !!$capture$$1_opt_capt$$2$$, $listenerObj_map$$ = $goog$events$listenerTree_$$; + $type$$59$$ in $listenerObj_map$$ || ($listenerObj_map$$[$type$$59$$] = {$count_$:0, $remaining_$:0}); + $listenerObj_map$$ = $listenerObj_map$$[$type$$59$$]; + $capture$$1_opt_capt$$2$$ in $listenerObj_map$$ || ($listenerObj_map$$[$capture$$1_opt_capt$$2$$] = {$count_$:0, $remaining_$:0}, $listenerObj_map$$.$count_$++); + var $listenerObj_map$$ = $listenerObj_map$$[$capture$$1_opt_capt$$2$$], $srcUid$$ = $goog$getUid$$($src$$7$$), $listenerArray$$; + $listenerObj_map$$.$remaining_$++; + if($listenerObj_map$$[$srcUid$$]) { + $listenerArray$$ = $listenerObj_map$$[$srcUid$$]; + for($i$$67_proxy$$1$$ = 0;$i$$67_proxy$$1$$ < $listenerArray$$.length;$i$$67_proxy$$1$$++) { + if($listenerObj_map$$ = $listenerArray$$[$i$$67_proxy$$1$$], $listenerObj_map$$.$listener$ == $key$$43_listener$$33$$ && $listenerObj_map$$.$handler$ == $opt_handler$$1$$) { + if($listenerObj_map$$.$removed$) { + break + } + return $listenerArray$$[$i$$67_proxy$$1$$].key + } + } + }else { + $listenerArray$$ = $listenerObj_map$$[$srcUid$$] = [], $listenerObj_map$$.$count_$++ + } + var $proxyCallbackFunction$$inline_389$$ = $goog$events$handleBrowserEvent_$$, $f$$inline_390$$ = $goog$events$BrowserFeature$HAS_W3C_EVENT_SUPPORT$$ ? function($eventObject$$inline_391$$) { + return $proxyCallbackFunction$$inline_389$$.call($f$$inline_390$$.src, $f$$inline_390$$.key, $eventObject$$inline_391$$) + } : function($eventObject$$inline_392_v$$inline_393$$) { + $eventObject$$inline_392_v$$inline_393$$ = $proxyCallbackFunction$$inline_389$$.call($f$$inline_390$$.src, $f$$inline_390$$.key, $eventObject$$inline_392_v$$inline_393$$); + if(!$eventObject$$inline_392_v$$inline_393$$) { + return $eventObject$$inline_392_v$$inline_393$$ + } + }, $i$$67_proxy$$1$$ = $f$$inline_390$$; + $i$$67_proxy$$1$$.src = $src$$7$$; + $listenerObj_map$$ = new $goog$events$Listener$$; + $listenerObj_map$$.init($key$$43_listener$$33$$, $i$$67_proxy$$1$$, $src$$7$$, $type$$59$$, $capture$$1_opt_capt$$2$$, $opt_handler$$1$$); + $key$$43_listener$$33$$ = $listenerObj_map$$.key; + $i$$67_proxy$$1$$.key = $key$$43_listener$$33$$; + $listenerArray$$.push($listenerObj_map$$); + $goog$events$listeners_$$[$key$$43_listener$$33$$] = $listenerObj_map$$; + $goog$events$sources_$$[$srcUid$$] || ($goog$events$sources_$$[$srcUid$$] = []); + $goog$events$sources_$$[$srcUid$$].push($listenerObj_map$$); + $src$$7$$.addEventListener ? ($src$$7$$ == $goog$global$$ || !$src$$7$$.$customEvent_$) && $src$$7$$.addEventListener($type$$59$$, $i$$67_proxy$$1$$, $capture$$1_opt_capt$$2$$) : $src$$7$$.attachEvent($type$$59$$ in $goog$events$onStringMap_$$ ? $goog$events$onStringMap_$$[$type$$59$$] : $goog$events$onStringMap_$$[$type$$59$$] = "on" + $type$$59$$, $i$$67_proxy$$1$$); + return $key$$43_listener$$33$$ + } + $JSCompiler_alias_THROW$$(Error("Invalid event type")) +} +function $goog$events$unlisten$$($listenerArray$$1_src$$10$$, $type$$61$$, $listener$$36$$, $capture$$2_opt_capt$$5$$, $opt_handler$$4$$) { + if($goog$isArray$$($type$$61$$)) { + for(var $i$$69$$ = 0;$i$$69$$ < $type$$61$$.length;$i$$69$$++) { + $goog$events$unlisten$$($listenerArray$$1_src$$10$$, $type$$61$$[$i$$69$$], $listener$$36$$, $capture$$2_opt_capt$$5$$, $opt_handler$$4$$) + } + }else { + if($capture$$2_opt_capt$$5$$ = !!$capture$$2_opt_capt$$5$$, $listenerArray$$1_src$$10$$ = $goog$events$getListeners_$$($listenerArray$$1_src$$10$$, $type$$61$$, $capture$$2_opt_capt$$5$$)) { + for($i$$69$$ = 0;$i$$69$$ < $listenerArray$$1_src$$10$$.length;$i$$69$$++) { + if($listenerArray$$1_src$$10$$[$i$$69$$].$listener$ == $listener$$36$$ && $listenerArray$$1_src$$10$$[$i$$69$$].capture == $capture$$2_opt_capt$$5$$ && $listenerArray$$1_src$$10$$[$i$$69$$].$handler$ == $opt_handler$$4$$) { + $goog$events$unlistenByKey$$($listenerArray$$1_src$$10$$[$i$$69$$].key); + break + } + } + } + } +} +function $goog$events$unlistenByKey$$($key$$45$$) { + if(!$goog$events$listeners_$$[$key$$45$$]) { + return $JSCompiler_alias_FALSE$$ + } + var $listener$$37_listenerArray$$2$$ = $goog$events$listeners_$$[$key$$45$$]; + if($listener$$37_listenerArray$$2$$.$removed$) { + return $JSCompiler_alias_FALSE$$ + } + var $src$$11_srcUid$$1$$ = $listener$$37_listenerArray$$2$$.src, $type$$62$$ = $listener$$37_listenerArray$$2$$.type, $proxy$$2_sourcesArray$$ = $listener$$37_listenerArray$$2$$.$proxy$, $capture$$3$$ = $listener$$37_listenerArray$$2$$.capture; + $src$$11_srcUid$$1$$.removeEventListener ? ($src$$11_srcUid$$1$$ == $goog$global$$ || !$src$$11_srcUid$$1$$.$customEvent_$) && $src$$11_srcUid$$1$$.removeEventListener($type$$62$$, $proxy$$2_sourcesArray$$, $capture$$3$$) : $src$$11_srcUid$$1$$.detachEvent && $src$$11_srcUid$$1$$.detachEvent($type$$62$$ in $goog$events$onStringMap_$$ ? $goog$events$onStringMap_$$[$type$$62$$] : $goog$events$onStringMap_$$[$type$$62$$] = "on" + $type$$62$$, $proxy$$2_sourcesArray$$); + $src$$11_srcUid$$1$$ = $goog$getUid$$($src$$11_srcUid$$1$$); + $goog$events$sources_$$[$src$$11_srcUid$$1$$] && ($proxy$$2_sourcesArray$$ = $goog$events$sources_$$[$src$$11_srcUid$$1$$], $goog$array$remove$$($proxy$$2_sourcesArray$$, $listener$$37_listenerArray$$2$$), 0 == $proxy$$2_sourcesArray$$.length && delete $goog$events$sources_$$[$src$$11_srcUid$$1$$]); + $listener$$37_listenerArray$$2$$.$removed$ = $JSCompiler_alias_TRUE$$; + if($listener$$37_listenerArray$$2$$ = $goog$events$listenerTree_$$[$type$$62$$][$capture$$3$$][$src$$11_srcUid$$1$$]) { + $listener$$37_listenerArray$$2$$.$needsCleanup_$ = $JSCompiler_alias_TRUE$$, $goog$events$cleanUp_$$($type$$62$$, $capture$$3$$, $src$$11_srcUid$$1$$, $listener$$37_listenerArray$$2$$) + } + delete $goog$events$listeners_$$[$key$$45$$]; + return $JSCompiler_alias_TRUE$$ +} +function $goog$events$cleanUp_$$($type$$63$$, $capture$$4$$, $srcUid$$2$$, $listenerArray$$3$$) { + if(!$listenerArray$$3$$.$locked_$ && $listenerArray$$3$$.$needsCleanup_$) { + for(var $oldIndex$$ = 0, $newIndex$$ = 0;$oldIndex$$ < $listenerArray$$3$$.length;$oldIndex$$++) { + $listenerArray$$3$$[$oldIndex$$].$removed$ ? $listenerArray$$3$$[$oldIndex$$].$proxy$.src = $JSCompiler_alias_NULL$$ : ($oldIndex$$ != $newIndex$$ && ($listenerArray$$3$$[$newIndex$$] = $listenerArray$$3$$[$oldIndex$$]), $newIndex$$++) + } + $listenerArray$$3$$.length = $newIndex$$; + $listenerArray$$3$$.$needsCleanup_$ = $JSCompiler_alias_FALSE$$; + 0 == $newIndex$$ && (delete $goog$events$listenerTree_$$[$type$$63$$][$capture$$4$$][$srcUid$$2$$], $goog$events$listenerTree_$$[$type$$63$$][$capture$$4$$].$count_$--, 0 == $goog$events$listenerTree_$$[$type$$63$$][$capture$$4$$].$count_$ && (delete $goog$events$listenerTree_$$[$type$$63$$][$capture$$4$$], $goog$events$listenerTree_$$[$type$$63$$].$count_$--), 0 == $goog$events$listenerTree_$$[$type$$63$$].$count_$ && delete $goog$events$listenerTree_$$[$type$$63$$]) + } +} +function $goog$events$getListeners_$$($obj$$66_objUid$$, $type$$65$$, $capture$$6$$) { + var $map$$1$$ = $goog$events$listenerTree_$$; + return $type$$65$$ in $map$$1$$ && ($map$$1$$ = $map$$1$$[$type$$65$$], $capture$$6$$ in $map$$1$$ && ($map$$1$$ = $map$$1$$[$capture$$6$$], $obj$$66_objUid$$ = $goog$getUid$$($obj$$66_objUid$$), $map$$1$$[$obj$$66_objUid$$])) ? $map$$1$$[$obj$$66_objUid$$] : $JSCompiler_alias_NULL$$ +} +function $goog$events$fireListeners_$$($listenerArray$$5_map$$4$$, $obj$$69_objUid$$2$$, $type$$69$$, $capture$$9$$, $eventObject$$4$$) { + var $retval$$ = 1, $obj$$69_objUid$$2$$ = $goog$getUid$$($obj$$69_objUid$$2$$); + if($listenerArray$$5_map$$4$$[$obj$$69_objUid$$2$$]) { + $listenerArray$$5_map$$4$$.$remaining_$--; + $listenerArray$$5_map$$4$$ = $listenerArray$$5_map$$4$$[$obj$$69_objUid$$2$$]; + $listenerArray$$5_map$$4$$.$locked_$ ? $listenerArray$$5_map$$4$$.$locked_$++ : $listenerArray$$5_map$$4$$.$locked_$ = 1; + try { + for(var $length$$20$$ = $listenerArray$$5_map$$4$$.length, $i$$73$$ = 0;$i$$73$$ < $length$$20$$;$i$$73$$++) { + var $listener$$43$$ = $listenerArray$$5_map$$4$$[$i$$73$$]; + $listener$$43$$ && !$listener$$43$$.$removed$ && ($retval$$ &= $goog$events$fireListener$$($listener$$43$$, $eventObject$$4$$) !== $JSCompiler_alias_FALSE$$) + } + }finally { + $listenerArray$$5_map$$4$$.$locked_$--, $goog$events$cleanUp_$$($type$$69$$, $capture$$9$$, $obj$$69_objUid$$2$$, $listenerArray$$5_map$$4$$) + } + } + return Boolean($retval$$) +} +function $goog$events$fireListener$$($listener$$44$$, $eventObject$$5$$) { + $listener$$44$$.$callOnce$ && $goog$events$unlistenByKey$$($listener$$44$$.key); + return $listener$$44$$.handleEvent($eventObject$$5$$) +} +function $goog$events$handleBrowserEvent_$$($key$$47$$, $opt_evt$$) { + if(!$goog$events$listeners_$$[$key$$47$$]) { + return $JSCompiler_alias_TRUE$$ + } + var $listener$$45$$ = $goog$events$listeners_$$[$key$$47$$], $be$$1_type$$71$$ = $listener$$45$$.type, $map$$6$$ = $goog$events$listenerTree_$$; + if(!($be$$1_type$$71$$ in $map$$6$$)) { + return $JSCompiler_alias_TRUE$$ + } + var $map$$6$$ = $map$$6$$[$be$$1_type$$71$$], $ieEvent_part$$inline_399_retval$$1$$, $targetsMap$$1$$; + if(!$goog$events$BrowserFeature$HAS_W3C_EVENT_SUPPORT$$) { + var $JSCompiler_temp$$17_hasCapture$$2_parts$$inline_397$$; + if(!($JSCompiler_temp$$17_hasCapture$$2_parts$$inline_397$$ = $opt_evt$$)) { + a: { + $JSCompiler_temp$$17_hasCapture$$2_parts$$inline_397$$ = ["window", "event"]; + for(var $cur$$inline_398_hasBubble$$1$$ = $goog$global$$;$ieEvent_part$$inline_399_retval$$1$$ = $JSCompiler_temp$$17_hasCapture$$2_parts$$inline_397$$.shift();) { + if($cur$$inline_398_hasBubble$$1$$[$ieEvent_part$$inline_399_retval$$1$$] != $JSCompiler_alias_NULL$$) { + $cur$$inline_398_hasBubble$$1$$ = $cur$$inline_398_hasBubble$$1$$[$ieEvent_part$$inline_399_retval$$1$$] + }else { + $JSCompiler_temp$$17_hasCapture$$2_parts$$inline_397$$ = $JSCompiler_alias_NULL$$; + break a + } + } + $JSCompiler_temp$$17_hasCapture$$2_parts$$inline_397$$ = $cur$$inline_398_hasBubble$$1$$ + } + } + $ieEvent_part$$inline_399_retval$$1$$ = $JSCompiler_temp$$17_hasCapture$$2_parts$$inline_397$$; + $JSCompiler_temp$$17_hasCapture$$2_parts$$inline_397$$ = $JSCompiler_alias_TRUE$$ in $map$$6$$; + $cur$$inline_398_hasBubble$$1$$ = $JSCompiler_alias_FALSE$$ in $map$$6$$; + if($JSCompiler_temp$$17_hasCapture$$2_parts$$inline_397$$) { + if(0 > $ieEvent_part$$inline_399_retval$$1$$.keyCode || $ieEvent_part$$inline_399_retval$$1$$.returnValue != $JSCompiler_alias_VOID$$) { + return $JSCompiler_alias_TRUE$$ + } + a: { + var $evt$$15_useReturnValue$$inline_402$$ = $JSCompiler_alias_FALSE$$; + if(0 == $ieEvent_part$$inline_399_retval$$1$$.keyCode) { + try { + $ieEvent_part$$inline_399_retval$$1$$.keyCode = -1; + break a + }catch($ex$$inline_403$$) { + $evt$$15_useReturnValue$$inline_402$$ = $JSCompiler_alias_TRUE$$ + } + } + if($evt$$15_useReturnValue$$inline_402$$ || $ieEvent_part$$inline_399_retval$$1$$.returnValue == $JSCompiler_alias_VOID$$) { + $ieEvent_part$$inline_399_retval$$1$$.returnValue = $JSCompiler_alias_TRUE$$ + } + } + } + $evt$$15_useReturnValue$$inline_402$$ = new $goog$events$BrowserEvent$$; + $evt$$15_useReturnValue$$inline_402$$.init($ieEvent_part$$inline_399_retval$$1$$, this); + $ieEvent_part$$inline_399_retval$$1$$ = $JSCompiler_alias_TRUE$$; + try { + if($JSCompiler_temp$$17_hasCapture$$2_parts$$inline_397$$) { + for(var $ancestors$$2$$ = [], $parent$$17$$ = $evt$$15_useReturnValue$$inline_402$$.currentTarget;$parent$$17$$;$parent$$17$$ = $parent$$17$$.parentNode) { + $ancestors$$2$$.push($parent$$17$$) + } + $targetsMap$$1$$ = $map$$6$$[$JSCompiler_alias_TRUE$$]; + $targetsMap$$1$$.$remaining_$ = $targetsMap$$1$$.$count_$; + for(var $i$$75$$ = $ancestors$$2$$.length - 1;!$evt$$15_useReturnValue$$inline_402$$.$propagationStopped_$ && 0 <= $i$$75$$ && $targetsMap$$1$$.$remaining_$;$i$$75$$--) { + $evt$$15_useReturnValue$$inline_402$$.currentTarget = $ancestors$$2$$[$i$$75$$], $ieEvent_part$$inline_399_retval$$1$$ &= $goog$events$fireListeners_$$($targetsMap$$1$$, $ancestors$$2$$[$i$$75$$], $be$$1_type$$71$$, $JSCompiler_alias_TRUE$$, $evt$$15_useReturnValue$$inline_402$$) + } + if($cur$$inline_398_hasBubble$$1$$) { + $targetsMap$$1$$ = $map$$6$$[$JSCompiler_alias_FALSE$$]; + $targetsMap$$1$$.$remaining_$ = $targetsMap$$1$$.$count_$; + for($i$$75$$ = 0;!$evt$$15_useReturnValue$$inline_402$$.$propagationStopped_$ && $i$$75$$ < $ancestors$$2$$.length && $targetsMap$$1$$.$remaining_$;$i$$75$$++) { + $evt$$15_useReturnValue$$inline_402$$.currentTarget = $ancestors$$2$$[$i$$75$$], $ieEvent_part$$inline_399_retval$$1$$ &= $goog$events$fireListeners_$$($targetsMap$$1$$, $ancestors$$2$$[$i$$75$$], $be$$1_type$$71$$, $JSCompiler_alias_FALSE$$, $evt$$15_useReturnValue$$inline_402$$) + } + } + }else { + $ieEvent_part$$inline_399_retval$$1$$ = $goog$events$fireListener$$($listener$$45$$, $evt$$15_useReturnValue$$inline_402$$) + } + }finally { + $ancestors$$2$$ && ($ancestors$$2$$.length = 0) + } + return $ieEvent_part$$inline_399_retval$$1$$ + } + $be$$1_type$$71$$ = new $goog$events$BrowserEvent$$($opt_evt$$, this); + return $ieEvent_part$$inline_399_retval$$1$$ = $goog$events$fireListener$$($listener$$45$$, $be$$1_type$$71$$) +} +;function $goog$events$EventHandler$$($opt_handler$$7$$) { + $goog$Disposable$$.call(this); + this.$handler_$ = $opt_handler$$7$$; + this.$keys_$ = [] +} +$goog$inherits$$($goog$events$EventHandler$$, $goog$Disposable$$); +var $goog$events$EventHandler$typeArray_$$ = []; +function $JSCompiler_StaticMethods_listen$$($JSCompiler_StaticMethods_listen$self$$, $src$$15$$, $type$$72$$, $opt_fn$$, $opt_capture$$1$$) { + $goog$isArray$$($type$$72$$) || ($goog$events$EventHandler$typeArray_$$[0] = $type$$72$$, $type$$72$$ = $goog$events$EventHandler$typeArray_$$); + for(var $i$$76$$ = 0;$i$$76$$ < $type$$72$$.length;$i$$76$$++) { + var $key$$48$$ = $goog$events$listen$$($src$$15$$, $type$$72$$[$i$$76$$], $opt_fn$$ || $JSCompiler_StaticMethods_listen$self$$, $opt_capture$$1$$ || $JSCompiler_alias_FALSE$$, $JSCompiler_StaticMethods_listen$self$$.$handler_$ || $JSCompiler_StaticMethods_listen$self$$); + $JSCompiler_StaticMethods_listen$self$$.$keys_$.push($key$$48$$) + } + return $JSCompiler_StaticMethods_listen$self$$ +} +function $JSCompiler_StaticMethods_unlisten$$($JSCompiler_StaticMethods_unlisten$self$$, $key$$50_listener$$47_listenerArray$$inline_412_src$$18$$, $i$$inline_413_type$$74$$, $listener$$inline_408_opt_fn$$2$$, $capture$$inline_411_opt_capture$$3$$, $opt_handler$$11_opt_handler$$inline_410$$) { + if($goog$isArray$$($i$$inline_413_type$$74$$)) { + for(var $i$$78$$ = 0;$i$$78$$ < $i$$inline_413_type$$74$$.length;$i$$78$$++) { + $JSCompiler_StaticMethods_unlisten$$($JSCompiler_StaticMethods_unlisten$self$$, $key$$50_listener$$47_listenerArray$$inline_412_src$$18$$, $i$$inline_413_type$$74$$[$i$$78$$], $listener$$inline_408_opt_fn$$2$$, $capture$$inline_411_opt_capture$$3$$, $opt_handler$$11_opt_handler$$inline_410$$) + } + }else { + a: { + $listener$$inline_408_opt_fn$$2$$ = $listener$$inline_408_opt_fn$$2$$ || $JSCompiler_StaticMethods_unlisten$self$$; + $opt_handler$$11_opt_handler$$inline_410$$ = $opt_handler$$11_opt_handler$$inline_410$$ || $JSCompiler_StaticMethods_unlisten$self$$.$handler_$ || $JSCompiler_StaticMethods_unlisten$self$$; + $capture$$inline_411_opt_capture$$3$$ = !!$capture$$inline_411_opt_capture$$3$$; + if($key$$50_listener$$47_listenerArray$$inline_412_src$$18$$ = $goog$events$getListeners_$$($key$$50_listener$$47_listenerArray$$inline_412_src$$18$$, $i$$inline_413_type$$74$$, $capture$$inline_411_opt_capture$$3$$)) { + for($i$$inline_413_type$$74$$ = 0;$i$$inline_413_type$$74$$ < $key$$50_listener$$47_listenerArray$$inline_412_src$$18$$.length;$i$$inline_413_type$$74$$++) { + if(!$key$$50_listener$$47_listenerArray$$inline_412_src$$18$$[$i$$inline_413_type$$74$$].$removed$ && $key$$50_listener$$47_listenerArray$$inline_412_src$$18$$[$i$$inline_413_type$$74$$].$listener$ == $listener$$inline_408_opt_fn$$2$$ && $key$$50_listener$$47_listenerArray$$inline_412_src$$18$$[$i$$inline_413_type$$74$$].capture == $capture$$inline_411_opt_capture$$3$$ && $key$$50_listener$$47_listenerArray$$inline_412_src$$18$$[$i$$inline_413_type$$74$$].$handler$ == $opt_handler$$11_opt_handler$$inline_410$$) { + $key$$50_listener$$47_listenerArray$$inline_412_src$$18$$ = $key$$50_listener$$47_listenerArray$$inline_412_src$$18$$[$i$$inline_413_type$$74$$]; + break a + } + } + } + $key$$50_listener$$47_listenerArray$$inline_412_src$$18$$ = $JSCompiler_alias_NULL$$ + } + $key$$50_listener$$47_listenerArray$$inline_412_src$$18$$ && ($key$$50_listener$$47_listenerArray$$inline_412_src$$18$$ = $key$$50_listener$$47_listenerArray$$inline_412_src$$18$$.key, $goog$events$unlistenByKey$$($key$$50_listener$$47_listenerArray$$inline_412_src$$18$$), $goog$array$remove$$($JSCompiler_StaticMethods_unlisten$self$$.$keys_$, $key$$50_listener$$47_listenerArray$$inline_412_src$$18$$)) + } + return $JSCompiler_StaticMethods_unlisten$self$$ +} +$goog$events$EventHandler$$.prototype.$removeAll$ = function $$goog$events$EventHandler$$$$$removeAll$$() { + $goog$array$forEach$$(this.$keys_$, $goog$events$unlistenByKey$$); + this.$keys_$.length = 0 +}; +$goog$events$EventHandler$$.prototype.handleEvent = function $$goog$events$EventHandler$$$$handleEvent$() { + $JSCompiler_alias_THROW$$(Error("EventHandler.handleEvent not implemented")) +}; +function $goog$events$EventTarget$$() { + $goog$Disposable$$.call(this) +} +$goog$inherits$$($goog$events$EventTarget$$, $goog$Disposable$$); +$JSCompiler_prototypeAlias$$ = $goog$events$EventTarget$$.prototype; +$JSCompiler_prototypeAlias$$.$customEvent_$ = $JSCompiler_alias_TRUE$$; +$JSCompiler_prototypeAlias$$.$parentEventTarget_$ = $JSCompiler_alias_NULL$$; +$JSCompiler_prototypeAlias$$.$setParentEventTarget$ = function $$JSCompiler_prototypeAlias$$$$setParentEventTarget$$($parent$$18$$) { + this.$parentEventTarget_$ = $parent$$18$$ +}; +$JSCompiler_prototypeAlias$$.addEventListener = function $$JSCompiler_prototypeAlias$$$addEventListener$($type$$75$$, $handler$$3$$, $opt_capture$$4$$, $opt_handlerScope$$) { + $goog$events$listen$$(this, $type$$75$$, $handler$$3$$, $opt_capture$$4$$, $opt_handlerScope$$) +}; +$JSCompiler_prototypeAlias$$.removeEventListener = function $$JSCompiler_prototypeAlias$$$removeEventListener$($type$$76$$, $handler$$4$$, $opt_capture$$5$$, $opt_handlerScope$$1$$) { + $goog$events$unlisten$$(this, $type$$76$$, $handler$$4$$, $opt_capture$$5$$, $opt_handlerScope$$1$$) +}; +$JSCompiler_prototypeAlias$$.dispatchEvent = function $$JSCompiler_prototypeAlias$$$dispatchEvent$($JSCompiler_inline_result$$27_e$$23_e$$inline_416$$) { + var $hasCapture$$inline_422_type$$inline_417$$ = $JSCompiler_inline_result$$27_e$$23_e$$inline_416$$.type || $JSCompiler_inline_result$$27_e$$23_e$$inline_416$$, $map$$inline_418$$ = $goog$events$listenerTree_$$; + if($hasCapture$$inline_422_type$$inline_417$$ in $map$$inline_418$$) { + if($goog$isString$$($JSCompiler_inline_result$$27_e$$23_e$$inline_416$$)) { + $JSCompiler_inline_result$$27_e$$23_e$$inline_416$$ = new $goog$events$Event$$($JSCompiler_inline_result$$27_e$$23_e$$inline_416$$, this) + }else { + if($JSCompiler_inline_result$$27_e$$23_e$$inline_416$$ instanceof $goog$events$Event$$) { + $JSCompiler_inline_result$$27_e$$23_e$$inline_416$$.target = $JSCompiler_inline_result$$27_e$$23_e$$inline_416$$.target || this + }else { + var $oldEvent$$inline_419_rv$$inline_420$$ = $JSCompiler_inline_result$$27_e$$23_e$$inline_416$$, $JSCompiler_inline_result$$27_e$$23_e$$inline_416$$ = new $goog$events$Event$$($hasCapture$$inline_422_type$$inline_417$$, this); + $goog$object$extend$$($JSCompiler_inline_result$$27_e$$23_e$$inline_416$$, $oldEvent$$inline_419_rv$$inline_420$$) + } + } + var $oldEvent$$inline_419_rv$$inline_420$$ = 1, $ancestors$$inline_421_current$$inline_426$$, $map$$inline_418$$ = $map$$inline_418$$[$hasCapture$$inline_422_type$$inline_417$$], $hasCapture$$inline_422_type$$inline_417$$ = $JSCompiler_alias_TRUE$$ in $map$$inline_418$$, $parent$$inline_424_targetsMap$$inline_423$$; + if($hasCapture$$inline_422_type$$inline_417$$) { + $ancestors$$inline_421_current$$inline_426$$ = []; + for($parent$$inline_424_targetsMap$$inline_423$$ = this;$parent$$inline_424_targetsMap$$inline_423$$;$parent$$inline_424_targetsMap$$inline_423$$ = $parent$$inline_424_targetsMap$$inline_423$$.$parentEventTarget_$) { + $ancestors$$inline_421_current$$inline_426$$.push($parent$$inline_424_targetsMap$$inline_423$$) + } + $parent$$inline_424_targetsMap$$inline_423$$ = $map$$inline_418$$[$JSCompiler_alias_TRUE$$]; + $parent$$inline_424_targetsMap$$inline_423$$.$remaining_$ = $parent$$inline_424_targetsMap$$inline_423$$.$count_$; + for(var $i$$inline_425$$ = $ancestors$$inline_421_current$$inline_426$$.length - 1;!$JSCompiler_inline_result$$27_e$$23_e$$inline_416$$.$propagationStopped_$ && 0 <= $i$$inline_425$$ && $parent$$inline_424_targetsMap$$inline_423$$.$remaining_$;$i$$inline_425$$--) { + $JSCompiler_inline_result$$27_e$$23_e$$inline_416$$.currentTarget = $ancestors$$inline_421_current$$inline_426$$[$i$$inline_425$$], $oldEvent$$inline_419_rv$$inline_420$$ &= $goog$events$fireListeners_$$($parent$$inline_424_targetsMap$$inline_423$$, $ancestors$$inline_421_current$$inline_426$$[$i$$inline_425$$], $JSCompiler_inline_result$$27_e$$23_e$$inline_416$$.type, $JSCompiler_alias_TRUE$$, $JSCompiler_inline_result$$27_e$$23_e$$inline_416$$) && $JSCompiler_inline_result$$27_e$$23_e$$inline_416$$.$returnValue_$ != + $JSCompiler_alias_FALSE$$ + } + } + if($JSCompiler_alias_FALSE$$ in $map$$inline_418$$) { + if($parent$$inline_424_targetsMap$$inline_423$$ = $map$$inline_418$$[$JSCompiler_alias_FALSE$$], $parent$$inline_424_targetsMap$$inline_423$$.$remaining_$ = $parent$$inline_424_targetsMap$$inline_423$$.$count_$, $hasCapture$$inline_422_type$$inline_417$$) { + for($i$$inline_425$$ = 0;!$JSCompiler_inline_result$$27_e$$23_e$$inline_416$$.$propagationStopped_$ && $i$$inline_425$$ < $ancestors$$inline_421_current$$inline_426$$.length && $parent$$inline_424_targetsMap$$inline_423$$.$remaining_$;$i$$inline_425$$++) { + $JSCompiler_inline_result$$27_e$$23_e$$inline_416$$.currentTarget = $ancestors$$inline_421_current$$inline_426$$[$i$$inline_425$$], $oldEvent$$inline_419_rv$$inline_420$$ &= $goog$events$fireListeners_$$($parent$$inline_424_targetsMap$$inline_423$$, $ancestors$$inline_421_current$$inline_426$$[$i$$inline_425$$], $JSCompiler_inline_result$$27_e$$23_e$$inline_416$$.type, $JSCompiler_alias_FALSE$$, $JSCompiler_inline_result$$27_e$$23_e$$inline_416$$) && $JSCompiler_inline_result$$27_e$$23_e$$inline_416$$.$returnValue_$ != + $JSCompiler_alias_FALSE$$ + } + }else { + for($ancestors$$inline_421_current$$inline_426$$ = this;!$JSCompiler_inline_result$$27_e$$23_e$$inline_416$$.$propagationStopped_$ && $ancestors$$inline_421_current$$inline_426$$ && $parent$$inline_424_targetsMap$$inline_423$$.$remaining_$;$ancestors$$inline_421_current$$inline_426$$ = $ancestors$$inline_421_current$$inline_426$$.$parentEventTarget_$) { + $JSCompiler_inline_result$$27_e$$23_e$$inline_416$$.currentTarget = $ancestors$$inline_421_current$$inline_426$$, $oldEvent$$inline_419_rv$$inline_420$$ &= $goog$events$fireListeners_$$($parent$$inline_424_targetsMap$$inline_423$$, $ancestors$$inline_421_current$$inline_426$$, $JSCompiler_inline_result$$27_e$$23_e$$inline_416$$.type, $JSCompiler_alias_FALSE$$, $JSCompiler_inline_result$$27_e$$23_e$$inline_416$$) && $JSCompiler_inline_result$$27_e$$23_e$$inline_416$$.$returnValue_$ != $JSCompiler_alias_FALSE$$ + } + } + } + $JSCompiler_inline_result$$27_e$$23_e$$inline_416$$ = Boolean($oldEvent$$inline_419_rv$$inline_420$$) + }else { + $JSCompiler_inline_result$$27_e$$23_e$$inline_416$$ = $JSCompiler_alias_TRUE$$ + } + return $JSCompiler_inline_result$$27_e$$23_e$$inline_416$$ +}; +function $goog$math$Box$$($top$$3$$, $right$$6$$, $bottom$$2$$, $left$$6$$) { + this.top = $top$$3$$; + this.right = $right$$6$$; + this.bottom = $bottom$$2$$; + this.left = $left$$6$$ +} +$goog$math$Box$$.prototype.contains = function $$goog$math$Box$$$$contains$($other$$4$$) { + return!this || !$other$$4$$ ? $JSCompiler_alias_FALSE$$ : $other$$4$$ instanceof $goog$math$Box$$ ? $other$$4$$.left >= this.left && $other$$4$$.right <= this.right && $other$$4$$.top >= this.top && $other$$4$$.bottom <= this.bottom : $other$$4$$.x >= this.left && $other$$4$$.x <= this.right && $other$$4$$.y >= this.top && $other$$4$$.y <= this.bottom +}; +function $goog$math$Rect$$($x$$69$$, $y$$38$$, $w$$5$$, $h$$4$$) { + this.left = $x$$69$$; + this.top = $y$$38$$; + this.width = $w$$5$$; + this.height = $h$$4$$ +} +$goog$math$Rect$$.prototype.contains = function $$goog$math$Rect$$$$contains$($another$$) { + return $another$$ instanceof $goog$math$Rect$$ ? this.left <= $another$$.left && this.left + this.width >= $another$$.left + $another$$.width && this.top <= $another$$.top && this.top + this.height >= $another$$.top + $another$$.height : $another$$.x >= this.left && $another$$.x <= this.left + this.width && $another$$.y >= this.top && $another$$.y <= this.top + this.height +}; +function $goog$style$setStyle$$($element$$29$$, $style$$, $opt_value$$5$$) { + $goog$isString$$($style$$) ? $goog$style$setStyle_$$($element$$29$$, $opt_value$$5$$, $style$$) : $goog$object$forEach$$($style$$, $goog$partial$$($goog$style$setStyle_$$, $element$$29$$)) +} +function $goog$style$setStyle_$$($element$$30$$, $value$$65$$, $style$$1$$) { + $element$$30$$.style[$goog$string$toCamelCase$$($style$$1$$)] = $value$$65$$ +} +function $goog$style$getComputedStyle$$($element$$32$$, $property$$4$$) { + var $doc$$23_styles$$ = $goog$dom$getOwnerDocument$$($element$$32$$); + return $doc$$23_styles$$.defaultView && $doc$$23_styles$$.defaultView.getComputedStyle && ($doc$$23_styles$$ = $doc$$23_styles$$.defaultView.getComputedStyle($element$$32$$, $JSCompiler_alias_NULL$$)) ? $doc$$23_styles$$[$property$$4$$] || $doc$$23_styles$$.getPropertyValue($property$$4$$) || "" : "" +} +function $goog$style$getCascadedStyle$$($element$$33$$, $style$$2$$) { + return $element$$33$$.currentStyle ? $element$$33$$.currentStyle[$style$$2$$] : $JSCompiler_alias_NULL$$ +} +function $goog$style$getStyle_$$($element$$34$$, $style$$3$$) { + return $goog$style$getComputedStyle$$($element$$34$$, $style$$3$$) || $goog$style$getCascadedStyle$$($element$$34$$, $style$$3$$) || $element$$34$$.style && $element$$34$$.style[$style$$3$$] +} +function $goog$style$setPosition$$($el$$4$$, $arg1_y$$39$$, $opt_arg2$$) { + var $x$$70$$, $buggyGeckoSubPixelPos$$ = $goog$userAgent$GECKO$$ && ($goog$userAgent$detectedMac_$$ || $goog$userAgent$X11$$) && $goog$userAgent$isVersion$$("1.9"); + $arg1_y$$39$$ instanceof $goog$math$Coordinate$$ ? ($x$$70$$ = $arg1_y$$39$$.x, $arg1_y$$39$$ = $arg1_y$$39$$.y) : ($x$$70$$ = $arg1_y$$39$$, $arg1_y$$39$$ = $opt_arg2$$); + $el$$4$$.style.left = $goog$style$getPixelStyleValue_$$($x$$70$$, $buggyGeckoSubPixelPos$$); + $el$$4$$.style.top = $goog$style$getPixelStyleValue_$$($arg1_y$$39$$, $buggyGeckoSubPixelPos$$) +} +function $goog$style$getBoundingClientRect_$$($doc$$26_el$$5$$) { + var $rect$$4$$ = $doc$$26_el$$5$$.getBoundingClientRect(); + $goog$userAgent$IE$$ && ($doc$$26_el$$5$$ = $doc$$26_el$$5$$.ownerDocument, $rect$$4$$.left -= $doc$$26_el$$5$$.documentElement.clientLeft + $doc$$26_el$$5$$.body.clientLeft, $rect$$4$$.top -= $doc$$26_el$$5$$.documentElement.clientTop + $doc$$26_el$$5$$.body.clientTop); + return $rect$$4$$ +} +function $goog$style$getOffsetParent$$($element$$43_parent$$19$$) { + if($goog$userAgent$IE$$ && !$goog$userAgent$isDocumentMode$$(8)) { + return $element$$43_parent$$19$$.offsetParent + } + for(var $doc$$27$$ = $goog$dom$getOwnerDocument$$($element$$43_parent$$19$$), $positionStyle$$ = $goog$style$getStyle_$$($element$$43_parent$$19$$, "position"), $skipStatic$$ = "fixed" == $positionStyle$$ || "absolute" == $positionStyle$$, $element$$43_parent$$19$$ = $element$$43_parent$$19$$.parentNode;$element$$43_parent$$19$$ && $element$$43_parent$$19$$ != $doc$$27$$;$element$$43_parent$$19$$ = $element$$43_parent$$19$$.parentNode) { + if($positionStyle$$ = $goog$style$getStyle_$$($element$$43_parent$$19$$, "position"), $skipStatic$$ = $skipStatic$$ && "static" == $positionStyle$$ && $element$$43_parent$$19$$ != $doc$$27$$.documentElement && $element$$43_parent$$19$$ != $doc$$27$$.body, !$skipStatic$$ && ($element$$43_parent$$19$$.scrollWidth > $element$$43_parent$$19$$.clientWidth || $element$$43_parent$$19$$.scrollHeight > $element$$43_parent$$19$$.clientHeight || "fixed" == $positionStyle$$ || "absolute" == $positionStyle$$ || + "relative" == $positionStyle$$)) { + return $element$$43_parent$$19$$ + } + } + return $JSCompiler_alias_NULL$$ +} +function $goog$style$getPageOffset$$($el$$8_scrollCoord_vpBox$$) { + var $box$$7_doc$$inline_430$$, $doc$$28$$ = $goog$dom$getOwnerDocument$$($el$$8_scrollCoord_vpBox$$), $positionStyle$$1$$ = $goog$style$getStyle_$$($el$$8_scrollCoord_vpBox$$, "position"), $BUGGY_GECKO_BOX_OBJECT_parent$$20$$ = $goog$userAgent$GECKO$$ && $doc$$28$$.getBoxObjectFor && !$el$$8_scrollCoord_vpBox$$.getBoundingClientRect && "absolute" == $positionStyle$$1$$ && ($box$$7_doc$$inline_430$$ = $doc$$28$$.getBoxObjectFor($el$$8_scrollCoord_vpBox$$)) && (0 > $box$$7_doc$$inline_430$$.screenX || + 0 > $box$$7_doc$$inline_430$$.screenY), $pos$$2$$ = new $goog$math$Coordinate$$(0, 0), $JSCompiler_temp$$801_JSCompiler_temp$$802_viewportElement$$; + $box$$7_doc$$inline_430$$ = $doc$$28$$ ? $goog$dom$getOwnerDocument$$($doc$$28$$) : document; + if($JSCompiler_temp$$801_JSCompiler_temp$$802_viewportElement$$ = $goog$userAgent$IE$$) { + if($JSCompiler_temp$$801_JSCompiler_temp$$802_viewportElement$$ = !$goog$userAgent$isDocumentMode$$(9)) { + $goog$dom$getDomHelper$$($box$$7_doc$$inline_430$$), $JSCompiler_temp$$801_JSCompiler_temp$$802_viewportElement$$ = $JSCompiler_alias_FALSE$$ + } + } + $JSCompiler_temp$$801_JSCompiler_temp$$802_viewportElement$$ = $JSCompiler_temp$$801_JSCompiler_temp$$802_viewportElement$$ ? $box$$7_doc$$inline_430$$.body : $box$$7_doc$$inline_430$$.documentElement; + if($el$$8_scrollCoord_vpBox$$ == $JSCompiler_temp$$801_JSCompiler_temp$$802_viewportElement$$) { + return $pos$$2$$ + } + if($el$$8_scrollCoord_vpBox$$.getBoundingClientRect) { + $box$$7_doc$$inline_430$$ = $goog$style$getBoundingClientRect_$$($el$$8_scrollCoord_vpBox$$), $el$$8_scrollCoord_vpBox$$ = $JSCompiler_StaticMethods_getDocumentScroll$$($goog$dom$getDomHelper$$($doc$$28$$)), $pos$$2$$.x = $box$$7_doc$$inline_430$$.left + $el$$8_scrollCoord_vpBox$$.x, $pos$$2$$.y = $box$$7_doc$$inline_430$$.top + $el$$8_scrollCoord_vpBox$$.y + }else { + if($doc$$28$$.getBoxObjectFor && !$BUGGY_GECKO_BOX_OBJECT_parent$$20$$) { + $box$$7_doc$$inline_430$$ = $doc$$28$$.getBoxObjectFor($el$$8_scrollCoord_vpBox$$), $el$$8_scrollCoord_vpBox$$ = $doc$$28$$.getBoxObjectFor($JSCompiler_temp$$801_JSCompiler_temp$$802_viewportElement$$), $pos$$2$$.x = $box$$7_doc$$inline_430$$.screenX - $el$$8_scrollCoord_vpBox$$.screenX, $pos$$2$$.y = $box$$7_doc$$inline_430$$.screenY - $el$$8_scrollCoord_vpBox$$.screenY + }else { + $BUGGY_GECKO_BOX_OBJECT_parent$$20$$ = $el$$8_scrollCoord_vpBox$$; + do { + $pos$$2$$.x += $BUGGY_GECKO_BOX_OBJECT_parent$$20$$.offsetLeft; + $pos$$2$$.y += $BUGGY_GECKO_BOX_OBJECT_parent$$20$$.offsetTop; + $BUGGY_GECKO_BOX_OBJECT_parent$$20$$ != $el$$8_scrollCoord_vpBox$$ && ($pos$$2$$.x += $BUGGY_GECKO_BOX_OBJECT_parent$$20$$.clientLeft || 0, $pos$$2$$.y += $BUGGY_GECKO_BOX_OBJECT_parent$$20$$.clientTop || 0); + if($goog$userAgent$WEBKIT$$ && "fixed" == $goog$style$getStyle_$$($BUGGY_GECKO_BOX_OBJECT_parent$$20$$, "position")) { + $pos$$2$$.x += $doc$$28$$.body.scrollLeft; + $pos$$2$$.y += $doc$$28$$.body.scrollTop; + break + } + $BUGGY_GECKO_BOX_OBJECT_parent$$20$$ = $BUGGY_GECKO_BOX_OBJECT_parent$$20$$.offsetParent + }while($BUGGY_GECKO_BOX_OBJECT_parent$$20$$ && $BUGGY_GECKO_BOX_OBJECT_parent$$20$$ != $el$$8_scrollCoord_vpBox$$); + if($goog$userAgent$OPERA$$ || $goog$userAgent$WEBKIT$$ && "absolute" == $positionStyle$$1$$) { + $pos$$2$$.y -= $doc$$28$$.body.offsetTop + } + for($BUGGY_GECKO_BOX_OBJECT_parent$$20$$ = $el$$8_scrollCoord_vpBox$$;($BUGGY_GECKO_BOX_OBJECT_parent$$20$$ = $goog$style$getOffsetParent$$($BUGGY_GECKO_BOX_OBJECT_parent$$20$$)) && $BUGGY_GECKO_BOX_OBJECT_parent$$20$$ != $doc$$28$$.body && $BUGGY_GECKO_BOX_OBJECT_parent$$20$$ != $JSCompiler_temp$$801_JSCompiler_temp$$802_viewportElement$$;) { + if($pos$$2$$.x -= $BUGGY_GECKO_BOX_OBJECT_parent$$20$$.scrollLeft, !$goog$userAgent$OPERA$$ || "TR" != $BUGGY_GECKO_BOX_OBJECT_parent$$20$$.tagName) { + $pos$$2$$.y -= $BUGGY_GECKO_BOX_OBJECT_parent$$20$$.scrollTop + } + } + } + } + return $pos$$2$$ +} +function $goog$style$getRelativePosition$$($a$$28$$, $b$$23$$) { + var $ap$$ = $goog$style$getClientPosition$$($a$$28$$), $bp$$ = $goog$style$getClientPosition$$($b$$23$$); + return new $goog$math$Coordinate$$($ap$$.x - $bp$$.x, $ap$$.y - $bp$$.y) +} +function $goog$style$getClientPosition$$($JSCompiler_inline_result$$33_el$$12_matches$$inline_435$$) { + var $JSCompiler_temp_const$$32_pos$$4$$ = new $goog$math$Coordinate$$; + if(1 == $JSCompiler_inline_result$$33_el$$12_matches$$inline_435$$.nodeType) { + if($JSCompiler_inline_result$$33_el$$12_matches$$inline_435$$.getBoundingClientRect) { + var $box$$8_scrollCoord$$1$$ = $goog$style$getBoundingClientRect_$$($JSCompiler_inline_result$$33_el$$12_matches$$inline_435$$); + $JSCompiler_temp_const$$32_pos$$4$$.x = $box$$8_scrollCoord$$1$$.left; + $JSCompiler_temp_const$$32_pos$$4$$.y = $box$$8_scrollCoord$$1$$.top + }else { + var $box$$8_scrollCoord$$1$$ = $JSCompiler_StaticMethods_getDocumentScroll$$($goog$dom$getDomHelper$$($JSCompiler_inline_result$$33_el$$12_matches$$inline_435$$)), $pageCoord$$ = $goog$style$getPageOffset$$($JSCompiler_inline_result$$33_el$$12_matches$$inline_435$$); + $JSCompiler_temp_const$$32_pos$$4$$.x = $pageCoord$$.x - $box$$8_scrollCoord$$1$$.x; + $JSCompiler_temp_const$$32_pos$$4$$.y = $pageCoord$$.y - $box$$8_scrollCoord$$1$$.y + } + if($goog$userAgent$GECKO$$ && !$goog$userAgent$isVersion$$(12)) { + var $isAbstractedEvent_property$$inline_433$$; + $goog$userAgent$IE$$ ? $isAbstractedEvent_property$$inline_433$$ = "-ms-transform" : $goog$userAgent$WEBKIT$$ ? $isAbstractedEvent_property$$inline_433$$ = "-webkit-transform" : $goog$userAgent$OPERA$$ ? $isAbstractedEvent_property$$inline_433$$ = "-o-transform" : $goog$userAgent$GECKO$$ && ($isAbstractedEvent_property$$inline_433$$ = "-moz-transform"); + var $targetEvent_transform$$inline_434$$; + $isAbstractedEvent_property$$inline_433$$ && ($targetEvent_transform$$inline_434$$ = $goog$style$getStyle_$$($JSCompiler_inline_result$$33_el$$12_matches$$inline_435$$, $isAbstractedEvent_property$$inline_433$$)); + $targetEvent_transform$$inline_434$$ || ($targetEvent_transform$$inline_434$$ = $goog$style$getStyle_$$($JSCompiler_inline_result$$33_el$$12_matches$$inline_435$$, "transform")); + $targetEvent_transform$$inline_434$$ ? ($JSCompiler_inline_result$$33_el$$12_matches$$inline_435$$ = $targetEvent_transform$$inline_434$$.match($goog$style$MATRIX_TRANSLATION_REGEX_$$), $JSCompiler_inline_result$$33_el$$12_matches$$inline_435$$ = !$JSCompiler_inline_result$$33_el$$12_matches$$inline_435$$ ? new $goog$math$Coordinate$$(0, 0) : new $goog$math$Coordinate$$(parseFloat($JSCompiler_inline_result$$33_el$$12_matches$$inline_435$$[1]), parseFloat($JSCompiler_inline_result$$33_el$$12_matches$$inline_435$$[2]))) : + $JSCompiler_inline_result$$33_el$$12_matches$$inline_435$$ = new $goog$math$Coordinate$$(0, 0); + $JSCompiler_temp_const$$32_pos$$4$$ = new $goog$math$Coordinate$$($JSCompiler_temp_const$$32_pos$$4$$.x + $JSCompiler_inline_result$$33_el$$12_matches$$inline_435$$.x, $JSCompiler_temp_const$$32_pos$$4$$.y + $JSCompiler_inline_result$$33_el$$12_matches$$inline_435$$.y) + } + }else { + $isAbstractedEvent_property$$inline_433$$ = $goog$isFunction$$($JSCompiler_inline_result$$33_el$$12_matches$$inline_435$$.$getBrowserEvent$), $targetEvent_transform$$inline_434$$ = $JSCompiler_inline_result$$33_el$$12_matches$$inline_435$$, $JSCompiler_inline_result$$33_el$$12_matches$$inline_435$$.targetTouches ? $targetEvent_transform$$inline_434$$ = $JSCompiler_inline_result$$33_el$$12_matches$$inline_435$$.targetTouches[0] : $isAbstractedEvent_property$$inline_433$$ && $JSCompiler_inline_result$$33_el$$12_matches$$inline_435$$.$event_$.targetTouches && + ($targetEvent_transform$$inline_434$$ = $JSCompiler_inline_result$$33_el$$12_matches$$inline_435$$.$event_$.targetTouches[0]), $JSCompiler_temp_const$$32_pos$$4$$.x = $targetEvent_transform$$inline_434$$.clientX, $JSCompiler_temp_const$$32_pos$$4$$.y = $targetEvent_transform$$inline_434$$.clientY + } + return $JSCompiler_temp_const$$32_pos$$4$$ +} +function $goog$style$setSize$$($element$$47$$, $w$$6$$, $h$$5_opt_h$$) { + $w$$6$$ instanceof $goog$math$Size$$ ? ($h$$5_opt_h$$ = $w$$6$$.height, $w$$6$$ = $w$$6$$.width) : $h$$5_opt_h$$ == $JSCompiler_alias_VOID$$ && $JSCompiler_alias_THROW$$(Error("missing height argument")); + $element$$47$$.style.width = $goog$style$getPixelStyleValue_$$($w$$6$$, $JSCompiler_alias_TRUE$$); + $element$$47$$.style.height = $goog$style$getPixelStyleValue_$$($h$$5_opt_h$$, $JSCompiler_alias_TRUE$$) +} +function $goog$style$getPixelStyleValue_$$($value$$66$$, $round$$) { + "number" == typeof $value$$66$$ && ($value$$66$$ = ($round$$ ? Math.round($value$$66$$) : $value$$66$$) + "px"); + return $value$$66$$ +} +function $goog$style$getSize$$($element$$50_size$$10$$) { + if("none" != $goog$style$getStyle_$$($element$$50_size$$10$$, "display")) { + return $goog$style$getSizeWithDisplay_$$($element$$50_size$$10$$) + } + var $style$$4$$ = $element$$50_size$$10$$.style, $originalDisplay$$ = $style$$4$$.display, $originalVisibility$$ = $style$$4$$.visibility, $originalPosition$$ = $style$$4$$.position; + $style$$4$$.visibility = "hidden"; + $style$$4$$.position = "absolute"; + $style$$4$$.display = "inline"; + $element$$50_size$$10$$ = $goog$style$getSizeWithDisplay_$$($element$$50_size$$10$$); + $style$$4$$.display = $originalDisplay$$; + $style$$4$$.position = $originalPosition$$; + $style$$4$$.visibility = $originalVisibility$$; + return $element$$50_size$$10$$ +} +function $goog$style$getSizeWithDisplay_$$($clientRect_element$$51$$) { + var $offsetWidth$$ = $clientRect_element$$51$$.offsetWidth, $offsetHeight$$ = $clientRect_element$$51$$.offsetHeight, $webkitOffsetsZero$$ = $goog$userAgent$WEBKIT$$ && !$offsetWidth$$ && !$offsetHeight$$; + return(!$goog$isDef$$($offsetWidth$$) || $webkitOffsetsZero$$) && $clientRect_element$$51$$.getBoundingClientRect ? ($clientRect_element$$51$$ = $goog$style$getBoundingClientRect_$$($clientRect_element$$51$$), new $goog$math$Size$$($clientRect_element$$51$$.right - $clientRect_element$$51$$.left, $clientRect_element$$51$$.bottom - $clientRect_element$$51$$.top)) : new $goog$math$Size$$($offsetWidth$$, $offsetHeight$$) +} +function $goog$style$getBounds$$($element$$52_s$$18$$) { + var $o$$1$$ = $goog$style$getPageOffset$$($element$$52_s$$18$$), $element$$52_s$$18$$ = $goog$style$getSize$$($element$$52_s$$18$$); + return new $goog$math$Rect$$($o$$1$$.x, $o$$1$$.y, $element$$52_s$$18$$.width, $element$$52_s$$18$$.height) +} +function $goog$style$setOpacity$$($el$$15$$, $alpha$$3$$) { + var $style$$6$$ = $el$$15$$.style; + "opacity" in $style$$6$$ ? $style$$6$$.opacity = $alpha$$3$$ : "MozOpacity" in $style$$6$$ ? $style$$6$$.MozOpacity = $alpha$$3$$ : "filter" in $style$$6$$ && ($style$$6$$.filter = "" === $alpha$$3$$ ? "" : "alpha(opacity=" + 100 * $alpha$$3$$ + ")") +} +function $goog$style$showElement$$($el$$18$$, $display$$) { + $el$$18$$.style.display = $display$$ ? "" : "none" +} +function $goog$style$isRightToLeft$$($el$$22$$) { + return"rtl" == $goog$style$getStyle_$$($el$$22$$, "direction") +} +var $goog$style$unselectableStyle_$$ = $goog$userAgent$GECKO$$ ? "MozUserSelect" : $goog$userAgent$WEBKIT$$ ? "WebkitUserSelect" : $JSCompiler_alias_NULL$$; +function $goog$style$getIePixelValue_$$($element$$59$$, $value$$68$$) { + if(/^\d+px?$/.test($value$$68$$)) { + return parseInt($value$$68$$, 10) + } + var $oldStyleValue$$ = $element$$59$$.style.left, $oldRuntimeValue$$ = $element$$59$$.runtimeStyle.left; + $element$$59$$.runtimeStyle.left = $element$$59$$.currentStyle.left; + $element$$59$$.style.left = $value$$68$$; + var $pixelValue$$ = $element$$59$$.style.pixelLeft; + $element$$59$$.style.left = $oldStyleValue$$; + $element$$59$$.runtimeStyle.left = $oldRuntimeValue$$; + return $pixelValue$$ +} +function $goog$style$getBox_$$($element$$61$$, $stylePrefix$$) { + if($goog$userAgent$IE$$) { + var $left$$8$$ = $goog$style$getIePixelValue_$$($element$$61$$, $goog$style$getCascadedStyle$$($element$$61$$, $stylePrefix$$ + "Left")), $right$$9$$ = $goog$style$getIePixelValue_$$($element$$61$$, $goog$style$getCascadedStyle$$($element$$61$$, $stylePrefix$$ + "Right")), $top$$6$$ = $goog$style$getIePixelValue_$$($element$$61$$, $goog$style$getCascadedStyle$$($element$$61$$, $stylePrefix$$ + "Top")), $bottom$$5$$ = $goog$style$getIePixelValue_$$($element$$61$$, $goog$style$getCascadedStyle$$($element$$61$$, + $stylePrefix$$ + "Bottom")); + return new $goog$math$Box$$($top$$6$$, $right$$9$$, $bottom$$5$$, $left$$8$$) + } + $left$$8$$ = $goog$style$getComputedStyle$$($element$$61$$, $stylePrefix$$ + "Left"); + $right$$9$$ = $goog$style$getComputedStyle$$($element$$61$$, $stylePrefix$$ + "Right"); + $top$$6$$ = $goog$style$getComputedStyle$$($element$$61$$, $stylePrefix$$ + "Top"); + $bottom$$5$$ = $goog$style$getComputedStyle$$($element$$61$$, $stylePrefix$$ + "Bottom"); + return new $goog$math$Box$$(parseFloat($top$$6$$), parseFloat($right$$9$$), parseFloat($bottom$$5$$), parseFloat($left$$8$$)) +} +var $goog$style$ieBorderWidthKeywords_$$ = {thin:2, medium:4, thick:6}; +function $goog$style$getIePixelBorder_$$($element$$64$$, $prop$$5$$) { + if("none" == $goog$style$getCascadedStyle$$($element$$64$$, $prop$$5$$ + "Style")) { + return 0 + } + var $width$$15$$ = $goog$style$getCascadedStyle$$($element$$64$$, $prop$$5$$ + "Width"); + return $width$$15$$ in $goog$style$ieBorderWidthKeywords_$$ ? $goog$style$ieBorderWidthKeywords_$$[$width$$15$$] : $goog$style$getIePixelValue_$$($element$$64$$, $width$$15$$) +} +function $goog$style$getBorderBox$$($bottom$$6_element$$65$$) { + if($goog$userAgent$IE$$) { + var $left$$9$$ = $goog$style$getIePixelBorder_$$($bottom$$6_element$$65$$, "borderLeft"), $right$$10$$ = $goog$style$getIePixelBorder_$$($bottom$$6_element$$65$$, "borderRight"), $top$$7$$ = $goog$style$getIePixelBorder_$$($bottom$$6_element$$65$$, "borderTop"), $bottom$$6_element$$65$$ = $goog$style$getIePixelBorder_$$($bottom$$6_element$$65$$, "borderBottom"); + return new $goog$math$Box$$($top$$7$$, $right$$10$$, $bottom$$6_element$$65$$, $left$$9$$) + } + $left$$9$$ = $goog$style$getComputedStyle$$($bottom$$6_element$$65$$, "borderLeftWidth"); + $right$$10$$ = $goog$style$getComputedStyle$$($bottom$$6_element$$65$$, "borderRightWidth"); + $top$$7$$ = $goog$style$getComputedStyle$$($bottom$$6_element$$65$$, "borderTopWidth"); + $bottom$$6_element$$65$$ = $goog$style$getComputedStyle$$($bottom$$6_element$$65$$, "borderBottomWidth"); + return new $goog$math$Box$$(parseFloat($top$$7$$), parseFloat($right$$10$$), parseFloat($bottom$$6_element$$65$$), parseFloat($left$$9$$)) +} +var $goog$style$MATRIX_TRANSLATION_REGEX_$$ = /matrix\([0-9\.\-]+, [0-9\.\-]+, [0-9\.\-]+, [0-9\.\-]+, ([0-9\.\-]+)p?x?, ([0-9\.\-]+)p?x?\)/; +function $goog$fx$Dragger$$($target$$43$$, $opt_handle$$, $opt_limits$$) { + $goog$Disposable$$.call(this); + this.target = $target$$43$$; + this.handle = $opt_handle$$ || $target$$43$$; + this.$limits$ = $opt_limits$$ || new $goog$math$Rect$$(NaN, NaN, NaN, NaN); + this.$document_$ = $goog$dom$getOwnerDocument$$($target$$43$$); + this.$eventHandler_$ = new $goog$events$EventHandler$$(this); + $goog$events$listen$$(this.handle, ["touchstart", "mousedown"], this.$startDrag$, $JSCompiler_alias_FALSE$$, this) +} +$goog$inherits$$($goog$fx$Dragger$$, $goog$events$EventTarget$$); +var $goog$fx$Dragger$HAS_SET_CAPTURE_$$ = $goog$userAgent$IE$$ || $goog$userAgent$GECKO$$ && $goog$userAgent$isVersion$$("1.9.3"); +$JSCompiler_prototypeAlias$$ = $goog$fx$Dragger$$.prototype; +$JSCompiler_prototypeAlias$$.clientX = 0; +$JSCompiler_prototypeAlias$$.clientY = 0; +$JSCompiler_prototypeAlias$$.screenX = 0; +$JSCompiler_prototypeAlias$$.screenY = 0; +$JSCompiler_prototypeAlias$$.$startX$ = 0; +$JSCompiler_prototypeAlias$$.$startY$ = 0; +$JSCompiler_prototypeAlias$$.$deltaX$ = 0; +$JSCompiler_prototypeAlias$$.$deltaY$ = 0; +$JSCompiler_prototypeAlias$$.$enabled_$ = $JSCompiler_alias_TRUE$$; +$JSCompiler_prototypeAlias$$.$dragging_$ = $JSCompiler_alias_FALSE$$; +$JSCompiler_prototypeAlias$$.$hysteresisDistanceSquared_$ = 0; +$JSCompiler_prototypeAlias$$.$mouseDownTime_$ = 0; +$JSCompiler_prototypeAlias$$.$ieDragStartCancellingOn_$ = $JSCompiler_alias_FALSE$$; +$JSCompiler_prototypeAlias$$.$useRightPositioningForRtl_$ = $JSCompiler_alias_FALSE$$; +$JSCompiler_prototypeAlias$$.$getHandler$ = $JSCompiler_get$$("$eventHandler_$"); +function $JSCompiler_StaticMethods_isRightToLeft_$$($JSCompiler_StaticMethods_isRightToLeft_$self$$) { + $goog$isDef$$($JSCompiler_StaticMethods_isRightToLeft_$self$$.$rightToLeft_$) || ($JSCompiler_StaticMethods_isRightToLeft_$self$$.$rightToLeft_$ = $goog$style$isRightToLeft$$($JSCompiler_StaticMethods_isRightToLeft_$self$$.target)); + return $JSCompiler_StaticMethods_isRightToLeft_$self$$.$rightToLeft_$ +} +$JSCompiler_prototypeAlias$$.$startDrag$ = function $$JSCompiler_prototypeAlias$$$$startDrag$$($JSCompiler_temp$$26_e$$25_element$$inline_452$$) { + var $doc$$inline_448_isMouseDown_offsetLeftForReal$$inline_453$$ = "mousedown" == $JSCompiler_temp$$26_e$$25_element$$inline_452$$.type; + if(this.$enabled_$ && !this.$dragging_$ && (!$doc$$inline_448_isMouseDown_offsetLeftForReal$$inline_453$$ || $JSCompiler_StaticMethods_isMouseActionButton$$($JSCompiler_temp$$26_e$$25_element$$inline_452$$))) { + $JSCompiler_StaticMethods_maybeReinitTouchEvent_$$($JSCompiler_temp$$26_e$$25_element$$inline_452$$); + if(0 == this.$hysteresisDistanceSquared_$) { + if(this.dispatchEvent(new $goog$fx$DragEvent$$("start", this, $JSCompiler_temp$$26_e$$25_element$$inline_452$$.clientX, $JSCompiler_temp$$26_e$$25_element$$inline_452$$.clientY, $JSCompiler_temp$$26_e$$25_element$$inline_452$$))) { + this.$dragging_$ = $JSCompiler_alias_TRUE$$, $JSCompiler_temp$$26_e$$25_element$$inline_452$$.preventDefault() + }else { + return + } + }else { + $JSCompiler_temp$$26_e$$25_element$$inline_452$$.preventDefault() + } + var $doc$$inline_448_isMouseDown_offsetLeftForReal$$inline_453$$ = this.$document_$, $bestParent$$inline_454_docEl$$inline_449$$ = $doc$$inline_448_isMouseDown_offsetLeftForReal$$inline_453$$.documentElement, $borderWidths$$inline_455_useCapture$$inline_450$$ = !$goog$fx$Dragger$HAS_SET_CAPTURE_$$; + $JSCompiler_StaticMethods_listen$$(this.$eventHandler_$, $doc$$inline_448_isMouseDown_offsetLeftForReal$$inline_453$$, ["touchmove", "mousemove"], this.$handleMove_$, $borderWidths$$inline_455_useCapture$$inline_450$$); + $JSCompiler_StaticMethods_listen$$(this.$eventHandler_$, $doc$$inline_448_isMouseDown_offsetLeftForReal$$inline_453$$, ["touchend", "mouseup"], this.$endDrag$, $borderWidths$$inline_455_useCapture$$inline_450$$); + $goog$fx$Dragger$HAS_SET_CAPTURE_$$ ? ($bestParent$$inline_454_docEl$$inline_449$$.setCapture($JSCompiler_alias_FALSE$$), $JSCompiler_StaticMethods_listen$$(this.$eventHandler_$, $bestParent$$inline_454_docEl$$inline_449$$, "losecapture", this.$endDrag$)) : $JSCompiler_StaticMethods_listen$$(this.$eventHandler_$, $doc$$inline_448_isMouseDown_offsetLeftForReal$$inline_453$$ ? $doc$$inline_448_isMouseDown_offsetLeftForReal$$inline_453$$.parentWindow || $doc$$inline_448_isMouseDown_offsetLeftForReal$$inline_453$$.defaultView : + window, "blur", this.$endDrag$); + $goog$userAgent$IE$$ && this.$ieDragStartCancellingOn_$ && $JSCompiler_StaticMethods_listen$$(this.$eventHandler_$, $doc$$inline_448_isMouseDown_offsetLeftForReal$$inline_453$$, "dragstart", $goog$events$Event$preventDefault$$); + this.$scrollTarget_$ && $JSCompiler_StaticMethods_listen$$(this.$eventHandler_$, this.$scrollTarget_$, "scroll", this.$onScroll_$, $borderWidths$$inline_455_useCapture$$inline_450$$); + this.clientX = this.$startX$ = $JSCompiler_temp$$26_e$$25_element$$inline_452$$.clientX; + this.clientY = this.$startY$ = $JSCompiler_temp$$26_e$$25_element$$inline_452$$.clientY; + this.screenX = $JSCompiler_temp$$26_e$$25_element$$inline_452$$.screenX; + this.screenY = $JSCompiler_temp$$26_e$$25_element$$inline_452$$.screenY; + this.$useRightPositioningForRtl_$ ? ($JSCompiler_temp$$26_e$$25_element$$inline_452$$ = this.target, $doc$$inline_448_isMouseDown_offsetLeftForReal$$inline_453$$ = $JSCompiler_temp$$26_e$$25_element$$inline_452$$.offsetLeft, $bestParent$$inline_454_docEl$$inline_449$$ = $JSCompiler_temp$$26_e$$25_element$$inline_452$$.offsetParent, !$bestParent$$inline_454_docEl$$inline_449$$ && "fixed" == $goog$style$getStyle_$$($JSCompiler_temp$$26_e$$25_element$$inline_452$$, "position") && ($bestParent$$inline_454_docEl$$inline_449$$ = + $goog$dom$getOwnerDocument$$($JSCompiler_temp$$26_e$$25_element$$inline_452$$).documentElement), $bestParent$$inline_454_docEl$$inline_449$$ ? ($goog$userAgent$GECKO$$ ? ($borderWidths$$inline_455_useCapture$$inline_450$$ = $goog$style$getBorderBox$$($bestParent$$inline_454_docEl$$inline_449$$), $doc$$inline_448_isMouseDown_offsetLeftForReal$$inline_453$$ += $borderWidths$$inline_455_useCapture$$inline_450$$.left) : $goog$userAgent$isDocumentMode$$(8) && ($borderWidths$$inline_455_useCapture$$inline_450$$ = + $goog$style$getBorderBox$$($bestParent$$inline_454_docEl$$inline_449$$), $doc$$inline_448_isMouseDown_offsetLeftForReal$$inline_453$$ -= $borderWidths$$inline_455_useCapture$$inline_450$$.left), $JSCompiler_temp$$26_e$$25_element$$inline_452$$ = $goog$style$isRightToLeft$$($bestParent$$inline_454_docEl$$inline_449$$) ? $bestParent$$inline_454_docEl$$inline_449$$.clientWidth - ($doc$$inline_448_isMouseDown_offsetLeftForReal$$inline_453$$ + $JSCompiler_temp$$26_e$$25_element$$inline_452$$.offsetWidth) : + $doc$$inline_448_isMouseDown_offsetLeftForReal$$inline_453$$) : $JSCompiler_temp$$26_e$$25_element$$inline_452$$ = $doc$$inline_448_isMouseDown_offsetLeftForReal$$inline_453$$) : $JSCompiler_temp$$26_e$$25_element$$inline_452$$ = this.target.offsetLeft; + this.$deltaX$ = $JSCompiler_temp$$26_e$$25_element$$inline_452$$; + this.$deltaY$ = this.target.offsetTop; + this.$pageScroll$ = $JSCompiler_StaticMethods_getDocumentScroll$$($goog$dom$getDomHelper$$(this.$document_$)); + this.$mouseDownTime_$ = $goog$now$$() + }else { + this.dispatchEvent("earlycancel") + } +}; +$JSCompiler_prototypeAlias$$.$endDrag$ = function $$JSCompiler_prototypeAlias$$$$endDrag$$($e$$27$$, $opt_dragCanceled$$) { + this.$eventHandler_$.$removeAll$(); + $goog$fx$Dragger$HAS_SET_CAPTURE_$$ && this.$document_$.releaseCapture(); + if(this.$dragging_$) { + $JSCompiler_StaticMethods_maybeReinitTouchEvent_$$($e$$27$$); + this.$dragging_$ = $JSCompiler_alias_FALSE$$; + var $x$$72$$ = $JSCompiler_StaticMethods_limitX$$(this, this.$deltaX$), $y$$40$$ = $JSCompiler_StaticMethods_limitY$$(this, this.$deltaY$); + this.dispatchEvent(new $goog$fx$DragEvent$$("end", this, $e$$27$$.clientX, $e$$27$$.clientY, $e$$27$$, $x$$72$$, $y$$40$$, $opt_dragCanceled$$ || "touchcancel" == $e$$27$$.type)) + }else { + this.dispatchEvent("earlycancel") + } + ("touchend" == $e$$27$$.type || "touchcancel" == $e$$27$$.type) && $e$$27$$.preventDefault() +}; +function $JSCompiler_StaticMethods_maybeReinitTouchEvent_$$($e$$29$$) { + var $type$$77$$ = $e$$29$$.type; + "touchstart" == $type$$77$$ || "touchmove" == $type$$77$$ ? $e$$29$$.init($e$$29$$.$event_$.targetTouches[0], $e$$29$$.currentTarget) : ("touchend" == $type$$77$$ || "touchcancel" == $type$$77$$) && $e$$29$$.init($e$$29$$.$event_$.changedTouches[0], $e$$29$$.currentTarget) +} +$JSCompiler_prototypeAlias$$.$handleMove_$ = function $$JSCompiler_prototypeAlias$$$$handleMove_$$($e$$30$$) { + if(this.$enabled_$) { + $JSCompiler_StaticMethods_maybeReinitTouchEvent_$$($e$$30$$); + var $dx$$7_x$$73$$ = (this.$useRightPositioningForRtl_$ && $JSCompiler_StaticMethods_isRightToLeft_$$(this) ? -1 : 1) * ($e$$30$$.clientX - this.clientX), $dy$$7_pos$$5_y$$41$$ = $e$$30$$.clientY - this.clientY; + this.clientX = $e$$30$$.clientX; + this.clientY = $e$$30$$.clientY; + this.screenX = $e$$30$$.screenX; + this.screenY = $e$$30$$.screenY; + if(!this.$dragging_$) { + var $diffX$$ = this.$startX$ - this.clientX, $diffY$$ = this.$startY$ - this.clientY; + if($diffX$$ * $diffX$$ + $diffY$$ * $diffY$$ > this.$hysteresisDistanceSquared_$) { + if(this.dispatchEvent(new $goog$fx$DragEvent$$("start", this, $e$$30$$.clientX, $e$$30$$.clientY, $e$$30$$))) { + this.$dragging_$ = $JSCompiler_alias_TRUE$$ + }else { + this.$disposed_$ || this.$endDrag$($e$$30$$); + return + } + } + } + $dy$$7_pos$$5_y$$41$$ = $JSCompiler_StaticMethods_calculatePosition_$$(this, $dx$$7_x$$73$$, $dy$$7_pos$$5_y$$41$$); + $dx$$7_x$$73$$ = $dy$$7_pos$$5_y$$41$$.x; + $dy$$7_pos$$5_y$$41$$ = $dy$$7_pos$$5_y$$41$$.y; + this.$dragging_$ && this.dispatchEvent(new $goog$fx$DragEvent$$("beforedrag", this, $e$$30$$.clientX, $e$$30$$.clientY, $e$$30$$, $dx$$7_x$$73$$, $dy$$7_pos$$5_y$$41$$)) && ($JSCompiler_StaticMethods_doDrag$$(this, $e$$30$$, $dx$$7_x$$73$$, $dy$$7_pos$$5_y$$41$$), $e$$30$$.preventDefault()) + } +}; +function $JSCompiler_StaticMethods_calculatePosition_$$($JSCompiler_StaticMethods_calculatePosition_$self_y$$42$$, $dx$$8_x$$74$$, $dy$$8$$) { + var $pageScroll$$ = $JSCompiler_StaticMethods_getDocumentScroll$$($goog$dom$getDomHelper$$($JSCompiler_StaticMethods_calculatePosition_$self_y$$42$$.$document_$)), $dx$$8_x$$74$$ = $dx$$8_x$$74$$ + ($pageScroll$$.x - $JSCompiler_StaticMethods_calculatePosition_$self_y$$42$$.$pageScroll$.x), $dy$$8$$ = $dy$$8$$ + ($pageScroll$$.y - $JSCompiler_StaticMethods_calculatePosition_$self_y$$42$$.$pageScroll$.y); + $JSCompiler_StaticMethods_calculatePosition_$self_y$$42$$.$pageScroll$ = $pageScroll$$; + $JSCompiler_StaticMethods_calculatePosition_$self_y$$42$$.$deltaX$ += $dx$$8_x$$74$$; + $JSCompiler_StaticMethods_calculatePosition_$self_y$$42$$.$deltaY$ += $dy$$8$$; + $dx$$8_x$$74$$ = $JSCompiler_StaticMethods_limitX$$($JSCompiler_StaticMethods_calculatePosition_$self_y$$42$$, $JSCompiler_StaticMethods_calculatePosition_$self_y$$42$$.$deltaX$); + $JSCompiler_StaticMethods_calculatePosition_$self_y$$42$$ = $JSCompiler_StaticMethods_limitY$$($JSCompiler_StaticMethods_calculatePosition_$self_y$$42$$, $JSCompiler_StaticMethods_calculatePosition_$self_y$$42$$.$deltaY$); + return new $goog$math$Coordinate$$($dx$$8_x$$74$$, $JSCompiler_StaticMethods_calculatePosition_$self_y$$42$$) +} +$JSCompiler_prototypeAlias$$.$onScroll_$ = function $$JSCompiler_prototypeAlias$$$$onScroll_$$($e$$31$$) { + var $pos$$6$$ = $JSCompiler_StaticMethods_calculatePosition_$$(this, 0, 0); + $e$$31$$.clientX = this.clientX; + $e$$31$$.clientY = this.clientY; + $JSCompiler_StaticMethods_doDrag$$(this, $e$$31$$, $pos$$6$$.x, $pos$$6$$.y) +}; +function $JSCompiler_StaticMethods_doDrag$$($JSCompiler_StaticMethods_doDrag$self$$, $e$$32$$, $x$$75$$, $y$$43$$) { + $JSCompiler_StaticMethods_doDrag$self$$.$defaultAction$($x$$75$$, $y$$43$$); + $JSCompiler_StaticMethods_doDrag$self$$.dispatchEvent(new $goog$fx$DragEvent$$("drag", $JSCompiler_StaticMethods_doDrag$self$$, $e$$32$$.clientX, $e$$32$$.clientY, $e$$32$$, $x$$75$$, $y$$43$$)) +} +function $JSCompiler_StaticMethods_limitX$$($JSCompiler_StaticMethods_limitX$self$$, $x$$76$$) { + var $rect$$6_width$$17$$ = $JSCompiler_StaticMethods_limitX$self$$.$limits$, $left$$11$$ = !isNaN($rect$$6_width$$17$$.left) ? $rect$$6_width$$17$$.left : $JSCompiler_alias_NULL$$, $rect$$6_width$$17$$ = !isNaN($rect$$6_width$$17$$.width) ? $rect$$6_width$$17$$.width : 0; + return Math.min($left$$11$$ != $JSCompiler_alias_NULL$$ ? $left$$11$$ + $rect$$6_width$$17$$ : Infinity, Math.max($left$$11$$ != $JSCompiler_alias_NULL$$ ? $left$$11$$ : -Infinity, $x$$76$$)) +} +function $JSCompiler_StaticMethods_limitY$$($JSCompiler_StaticMethods_limitY$self$$, $y$$44$$) { + var $height$$16_rect$$7$$ = $JSCompiler_StaticMethods_limitY$self$$.$limits$, $top$$9$$ = !isNaN($height$$16_rect$$7$$.top) ? $height$$16_rect$$7$$.top : $JSCompiler_alias_NULL$$, $height$$16_rect$$7$$ = !isNaN($height$$16_rect$$7$$.height) ? $height$$16_rect$$7$$.height : 0; + return Math.min($top$$9$$ != $JSCompiler_alias_NULL$$ ? $top$$9$$ + $height$$16_rect$$7$$ : Infinity, Math.max($top$$9$$ != $JSCompiler_alias_NULL$$ ? $top$$9$$ : -Infinity, $y$$44$$)) +} +$JSCompiler_prototypeAlias$$.$defaultAction$ = function $$JSCompiler_prototypeAlias$$$$defaultAction$$($x$$77$$, $y$$45$$) { + this.$useRightPositioningForRtl_$ && $JSCompiler_StaticMethods_isRightToLeft_$$(this) ? this.target.style.right = $x$$77$$ + "px" : this.target.style.left = $x$$77$$ + "px"; + this.target.style.top = $y$$45$$ + "px" +}; +function $goog$fx$DragEvent$$($type$$78$$, $dragobj$$, $clientX$$2$$, $clientY$$2$$, $browserEvent$$, $opt_actX$$, $opt_actY$$, $opt_dragCanceled$$1$$) { + $goog$events$Event$$.call(this, $type$$78$$); + this.clientX = $clientX$$2$$; + this.clientY = $clientY$$2$$; + this.$browserEvent$ = $browserEvent$$; + this.left = $goog$isDef$$($opt_actX$$) ? $opt_actX$$ : $dragobj$$.$deltaX$; + this.top = $goog$isDef$$($opt_actY$$) ? $opt_actY$$ : $dragobj$$.$deltaY$; + this.$dragger$ = $dragobj$$; + this.$dragCanceled$ = !!$opt_dragCanceled$$1$$ +} +$goog$inherits$$($goog$fx$DragEvent$$, $goog$events$Event$$); +function $annotorious$dom$getOffset$$($el$$29$$) { + for(var $_x$$ = 0, $_y$$ = 0;$el$$29$$ && !isNaN($el$$29$$.offsetLeft) && !isNaN($el$$29$$.offsetTop);) { + $_x$$ += $el$$29$$.offsetLeft - $el$$29$$.scrollLeft, $_y$$ += $el$$29$$.offsetTop - $el$$29$$.scrollTop, $el$$29$$ = $el$$29$$.offsetParent + } + return{top:$_y$$, left:$_x$$} +} +;function $annotorious$events$EventBroker$$() { + this.$_handlers$ = [] +} +$annotorious$events$EventBroker$$.prototype.addHandler = function $$annotorious$events$EventBroker$$$$addHandler$($type$$79$$, $handler$$5$$) { + this.$_handlers$[$type$$79$$] || (this.$_handlers$[$type$$79$$] = []); + this.$_handlers$[$type$$79$$].push($handler$$5$$) +}; +$annotorious$events$EventBroker$$.prototype.$removeHandler$ = function $$annotorious$events$EventBroker$$$$$removeHandler$$($type$$80$$, $handler$$6$$) { + var $handlers$$ = this.$_handlers$[$type$$80$$]; + $handlers$$ && $goog$array$remove$$($handlers$$, $handler$$6$$) +}; +$annotorious$events$EventBroker$$.prototype.fireEvent = function $$annotorious$events$EventBroker$$$$fireEvent$($handlers$$1_type$$81$$, $opt_event$$, $opt_extra$$) { + var $cancelEvent$$ = $JSCompiler_alias_FALSE$$; + ($handlers$$1_type$$81$$ = this.$_handlers$[$handlers$$1_type$$81$$]) && $goog$array$forEach$$($handlers$$1_type$$81$$, function($handler$$7_retVal$$1$$) { + $handler$$7_retVal$$1$$ = $handler$$7_retVal$$1$$($opt_event$$, $opt_extra$$); + $goog$isDef$$($handler$$7_retVal$$1$$) && !$handler$$7_retVal$$1$$ && ($cancelEvent$$ = $JSCompiler_alias_TRUE$$) + }); + return $cancelEvent$$ +}; +function $goog$structs$Map$$($opt_map$$, $var_args$$68$$) { + this.$map_$ = {}; + this.$keys_$ = []; + var $argLength$$2_i$$inline_466_res$$inline_865_res$$inline_870$$ = arguments.length; + if(1 < $argLength$$2_i$$inline_466_res$$inline_865_res$$inline_870$$) { + $argLength$$2_i$$inline_466_res$$inline_865_res$$inline_870$$ % 2 && $JSCompiler_alias_THROW$$(Error("Uneven number of arguments")); + for(var $i$$91_key$$inline_872_values$$inline_465$$ = 0;$i$$91_key$$inline_872_values$$inline_465$$ < $argLength$$2_i$$inline_466_res$$inline_865_res$$inline_870$$;$i$$91_key$$inline_872_values$$inline_465$$ += 2) { + this.set(arguments[$i$$91_key$$inline_872_values$$inline_465$$], arguments[$i$$91_key$$inline_872_values$$inline_465$$ + 1]) + } + }else { + if($opt_map$$) { + var $key$$inline_867_keys$$inline_464$$; + if($opt_map$$ instanceof $goog$structs$Map$$) { + $JSCompiler_StaticMethods_cleanupKeysArray_$$($opt_map$$), $key$$inline_867_keys$$inline_464$$ = $opt_map$$.$keys_$.concat(), $i$$91_key$$inline_872_values$$inline_465$$ = $JSCompiler_StaticMethods_getValues$$($opt_map$$) + }else { + var $argLength$$2_i$$inline_466_res$$inline_865_res$$inline_870$$ = [], $i$$inline_866_i$$inline_871$$ = 0; + for($key$$inline_867_keys$$inline_464$$ in $opt_map$$) { + $argLength$$2_i$$inline_466_res$$inline_865_res$$inline_870$$[$i$$inline_866_i$$inline_871$$++] = $key$$inline_867_keys$$inline_464$$ + } + $key$$inline_867_keys$$inline_464$$ = $argLength$$2_i$$inline_466_res$$inline_865_res$$inline_870$$; + $argLength$$2_i$$inline_466_res$$inline_865_res$$inline_870$$ = []; + $i$$inline_866_i$$inline_871$$ = 0; + for($i$$91_key$$inline_872_values$$inline_465$$ in $opt_map$$) { + $argLength$$2_i$$inline_466_res$$inline_865_res$$inline_870$$[$i$$inline_866_i$$inline_871$$++] = $opt_map$$[$i$$91_key$$inline_872_values$$inline_465$$] + } + $i$$91_key$$inline_872_values$$inline_465$$ = $argLength$$2_i$$inline_466_res$$inline_865_res$$inline_870$$ + } + for($argLength$$2_i$$inline_466_res$$inline_865_res$$inline_870$$ = 0;$argLength$$2_i$$inline_466_res$$inline_865_res$$inline_870$$ < $key$$inline_867_keys$$inline_464$$.length;$argLength$$2_i$$inline_466_res$$inline_865_res$$inline_870$$++) { + this.set($key$$inline_867_keys$$inline_464$$[$argLength$$2_i$$inline_466_res$$inline_865_res$$inline_870$$], $i$$91_key$$inline_872_values$$inline_465$$[$argLength$$2_i$$inline_466_res$$inline_865_res$$inline_870$$]) + } + } + } +} +$JSCompiler_prototypeAlias$$ = $goog$structs$Map$$.prototype; +$JSCompiler_prototypeAlias$$.$count_$ = 0; +$JSCompiler_prototypeAlias$$.$version_$ = 0; +function $JSCompiler_StaticMethods_getValues$$($JSCompiler_StaticMethods_getValues$self$$) { + $JSCompiler_StaticMethods_cleanupKeysArray_$$($JSCompiler_StaticMethods_getValues$self$$); + for(var $rv$$18$$ = [], $i$$92$$ = 0;$i$$92$$ < $JSCompiler_StaticMethods_getValues$self$$.$keys_$.length;$i$$92$$++) { + $rv$$18$$.push($JSCompiler_StaticMethods_getValues$self$$.$map_$[$JSCompiler_StaticMethods_getValues$self$$.$keys_$[$i$$92$$]]) + } + return $rv$$18$$ +} +$JSCompiler_prototypeAlias$$.clear = function $$JSCompiler_prototypeAlias$$$clear$() { + this.$map_$ = {}; + this.$version_$ = this.$count_$ = this.$keys_$.length = 0 +}; +$JSCompiler_prototypeAlias$$.remove = function $$JSCompiler_prototypeAlias$$$remove$($key$$56$$) { + return $goog$structs$Map$hasKey_$$(this.$map_$, $key$$56$$) ? (delete this.$map_$[$key$$56$$], this.$count_$--, this.$version_$++, this.$keys_$.length > 2 * this.$count_$ && $JSCompiler_StaticMethods_cleanupKeysArray_$$(this), $JSCompiler_alias_TRUE$$) : $JSCompiler_alias_FALSE$$ +}; +function $JSCompiler_StaticMethods_cleanupKeysArray_$$($JSCompiler_StaticMethods_cleanupKeysArray_$self$$) { + if($JSCompiler_StaticMethods_cleanupKeysArray_$self$$.$count_$ != $JSCompiler_StaticMethods_cleanupKeysArray_$self$$.$keys_$.length) { + for(var $srcIndex$$ = 0, $destIndex$$ = 0;$srcIndex$$ < $JSCompiler_StaticMethods_cleanupKeysArray_$self$$.$keys_$.length;) { + var $key$$57$$ = $JSCompiler_StaticMethods_cleanupKeysArray_$self$$.$keys_$[$srcIndex$$]; + $goog$structs$Map$hasKey_$$($JSCompiler_StaticMethods_cleanupKeysArray_$self$$.$map_$, $key$$57$$) && ($JSCompiler_StaticMethods_cleanupKeysArray_$self$$.$keys_$[$destIndex$$++] = $key$$57$$); + $srcIndex$$++ + } + $JSCompiler_StaticMethods_cleanupKeysArray_$self$$.$keys_$.length = $destIndex$$ + } + if($JSCompiler_StaticMethods_cleanupKeysArray_$self$$.$count_$ != $JSCompiler_StaticMethods_cleanupKeysArray_$self$$.$keys_$.length) { + for(var $seen$$2$$ = {}, $destIndex$$ = $srcIndex$$ = 0;$srcIndex$$ < $JSCompiler_StaticMethods_cleanupKeysArray_$self$$.$keys_$.length;) { + $key$$57$$ = $JSCompiler_StaticMethods_cleanupKeysArray_$self$$.$keys_$[$srcIndex$$], $goog$structs$Map$hasKey_$$($seen$$2$$, $key$$57$$) || ($JSCompiler_StaticMethods_cleanupKeysArray_$self$$.$keys_$[$destIndex$$++] = $key$$57$$, $seen$$2$$[$key$$57$$] = 1), $srcIndex$$++ + } + $JSCompiler_StaticMethods_cleanupKeysArray_$self$$.$keys_$.length = $destIndex$$ + } +} +$JSCompiler_prototypeAlias$$.get = function $$JSCompiler_prototypeAlias$$$get$($key$$58$$, $opt_val$$1$$) { + return $goog$structs$Map$hasKey_$$(this.$map_$, $key$$58$$) ? this.$map_$[$key$$58$$] : $opt_val$$1$$ +}; +$JSCompiler_prototypeAlias$$.set = function $$JSCompiler_prototypeAlias$$$set$($key$$59$$, $value$$73$$) { + $goog$structs$Map$hasKey_$$(this.$map_$, $key$$59$$) || (this.$count_$++, this.$keys_$.push($key$$59$$), this.$version_$++); + this.$map_$[$key$$59$$] = $value$$73$$ +}; +function $goog$structs$Map$hasKey_$$($obj$$72$$, $key$$63$$) { + return Object.prototype.hasOwnProperty.call($obj$$72$$, $key$$63$$) +} +;function $annotorious$shape$geom$Point$$($x$$79$$, $y$$46$$) { + this.x = $x$$79$$; + this.y = $y$$46$$ +} +;function $annotorious$shape$geom$Polygon$$($points$$) { + this.points = $points$$ +} +function $annotorious$shape$geom$Polygon$computeArea$$($points$$1$$) { + for(var $area$$ = 0, $j$$8$$ = $points$$1$$.length - 1, $i$$99$$ = 0;$i$$99$$ < $points$$1$$.length;$i$$99$$++) { + $area$$ += ($points$$1$$[$j$$8$$].x + $points$$1$$[$i$$99$$].x) * ($points$$1$$[$j$$8$$].y - $points$$1$$[$i$$99$$].y), $j$$8$$ = $i$$99$$ + } + return $area$$ / 2 +} +function $annotorious$shape$geom$Polygon$_expandTriangle$$($points$$4$$, $delta$$1$$) { + for(var $centroid_x$$inline_469$$, $expanded_y$$inline_470$$ = $centroid_x$$inline_469$$ = 0, $f$$inline_471_i$$101$$, $j$$inline_472_px$$inline_475$$ = $points$$4$$.length - 1, $JSCompiler_object_inline_x_0$$inline_478_i$$inline_473$$ = 0;$JSCompiler_object_inline_x_0$$inline_478_i$$inline_473$$ < $points$$4$$.length;$JSCompiler_object_inline_x_0$$inline_478_i$$inline_473$$++) { + $f$$inline_471_i$$101$$ = $points$$4$$[$JSCompiler_object_inline_x_0$$inline_478_i$$inline_473$$].x * $points$$4$$[$j$$inline_472_px$$inline_475$$].y - $points$$4$$[$j$$inline_472_px$$inline_475$$].x * $points$$4$$[$JSCompiler_object_inline_x_0$$inline_478_i$$inline_473$$].y, $centroid_x$$inline_469$$ += ($points$$4$$[$JSCompiler_object_inline_x_0$$inline_478_i$$inline_473$$].x + $points$$4$$[$j$$inline_472_px$$inline_475$$].x) * $f$$inline_471_i$$101$$, $expanded_y$$inline_470$$ += ($points$$4$$[$JSCompiler_object_inline_x_0$$inline_478_i$$inline_473$$].y + + $points$$4$$[$j$$inline_472_px$$inline_475$$].y) * $f$$inline_471_i$$101$$, $j$$inline_472_px$$inline_475$$ = $JSCompiler_object_inline_x_0$$inline_478_i$$inline_473$$ + } + $f$$inline_471_i$$101$$ = 6 * $annotorious$shape$geom$Polygon$computeArea$$($points$$4$$); + $centroid_x$$inline_469$$ = new $annotorious$shape$geom$Point$$(Math.abs($centroid_x$$inline_469$$ / $f$$inline_471_i$$101$$), Math.abs($expanded_y$$inline_470$$ / $f$$inline_471_i$$101$$)); + $expanded_y$$inline_470$$ = []; + for($f$$inline_471_i$$101$$ = 0;$f$$inline_471_i$$101$$ < $points$$4$$.length;$f$$inline_471_i$$101$$++) { + var $j$$inline_472_px$$inline_475$$ = $points$$4$$[$f$$inline_471_i$$101$$], $delta$$inline_477_dy$$inline_481$$ = (0 > $annotorious$shape$geom$Polygon$computeArea$$($points$$4$$) ? -1 : 1) * $delta$$1$$, $JSCompiler_object_inline_x_0$$inline_478_i$$inline_473$$ = $j$$inline_472_px$$inline_475$$.x - $centroid_x$$inline_469$$.x, $JSCompiler_object_inline_y_1$$inline_479$$ = $j$$inline_472_px$$inline_475$$.y - $centroid_x$$inline_469$$.y, $sign_delta$$inline_480$$ = 0 < $delta$$inline_477_dy$$inline_481$$ ? + 1 : 0 > $delta$$inline_477_dy$$inline_481$$ ? -1 : 0, $delta$$inline_477_dy$$inline_481$$ = Math.sqrt(Math.pow($delta$$inline_477_dy$$inline_481$$, 2) / (1 + Math.pow($JSCompiler_object_inline_x_0$$inline_478_i$$inline_473$$ / $JSCompiler_object_inline_y_1$$inline_479$$, 2))); + $expanded_y$$inline_470$$.push({x:$j$$inline_472_px$$inline_475$$.x + Math.abs($JSCompiler_object_inline_x_0$$inline_478_i$$inline_473$$ / $JSCompiler_object_inline_y_1$$inline_479$$ * $delta$$inline_477_dy$$inline_481$$) * (0 < $JSCompiler_object_inline_x_0$$inline_478_i$$inline_473$$ ? 1 : 0 > $JSCompiler_object_inline_x_0$$inline_478_i$$inline_473$$ ? -1 : 0) * $sign_delta$$inline_480$$, y:$j$$inline_472_px$$inline_475$$.y + Math.abs($delta$$inline_477_dy$$inline_481$$) * (0 < $JSCompiler_object_inline_y_1$$inline_479$$ ? + 1 : 0 > $JSCompiler_object_inline_y_1$$inline_479$$ ? -1 : 0) * $sign_delta$$inline_480$$}) + } + return $expanded_y$$inline_470$$ +} +;function $annotorious$shape$geom$Rectangle$$($x$$81$$, $y$$48$$, $width$$19$$, $height$$18$$) { + 0 < $width$$19$$ ? (this.x = $x$$81$$, this.width = $width$$19$$) : (this.x = $x$$81$$ + $width$$19$$, this.width = -$width$$19$$); + 0 < $height$$18$$ ? (this.y = $y$$48$$, this.height = $height$$18$$) : (this.y = $y$$48$$ + $height$$18$$, this.height = -$height$$18$$) +} +;function $annotorious$shape$Shape$$($type$$82$$, $geometry$$, $units$$2$$, $style$$14$$) { + this.type = $type$$82$$; + this.geometry = $geometry$$; + $units$$2$$ && (this.units = $units$$2$$); + this.style = $style$$14$$ ? $style$$14$$ : {} +} +function $annotorious$shape$getSize$$($shape$$1$$) { + return"rect" == $shape$$1$$.type ? $shape$$1$$.geometry.width * $shape$$1$$.geometry.height : "polygon" == $shape$$1$$.type ? Math.abs($annotorious$shape$geom$Polygon$computeArea$$($shape$$1$$.geometry.points)) : 0 +} +function $annotorious$shape$getBoundingRect$$($shape$$2$$) { + if("rect" == $shape$$2$$.type) { + return $shape$$2$$ + } + if("polygon" == $shape$$2$$.type) { + for(var $points$$7$$ = $shape$$2$$.geometry.points, $left$$13$$ = $points$$7$$[0].x, $right$$11$$ = $points$$7$$[0].x, $top$$11$$ = $points$$7$$[0].y, $bottom$$7$$ = $points$$7$$[0].y, $i$$103$$ = 1;$i$$103$$ < $points$$7$$.length;$i$$103$$++) { + $points$$7$$[$i$$103$$].x > $right$$11$$ && ($right$$11$$ = $points$$7$$[$i$$103$$].x), $points$$7$$[$i$$103$$].x < $left$$13$$ && ($left$$13$$ = $points$$7$$[$i$$103$$].x), $points$$7$$[$i$$103$$].y > $bottom$$7$$ && ($bottom$$7$$ = $points$$7$$[$i$$103$$].y), $points$$7$$[$i$$103$$].y < $top$$11$$ && ($top$$11$$ = $points$$7$$[$i$$103$$].y) + } + return new $annotorious$shape$Shape$$("rect", new $annotorious$shape$geom$Rectangle$$($left$$13$$, $top$$11$$, $right$$11$$ - $left$$13$$, $bottom$$7$$ - $top$$11$$), $JSCompiler_alias_FALSE$$, $shape$$2$$.style) + } +} +function $annotorious$shape$expand$$($shape$$4$$, $delta$$4$$) { + var $JSCompiler_inline_result$$10_points$$inline_483$$; + $JSCompiler_inline_result$$10_points$$inline_483$$ = $shape$$4$$.geometry.points; + var $sign$$inline_485$$ = 0 > $annotorious$shape$geom$Polygon$computeArea$$($JSCompiler_inline_result$$10_points$$inline_483$$) ? -1 : 1; + if(4 > $JSCompiler_inline_result$$10_points$$inline_483$$.length) { + $JSCompiler_inline_result$$10_points$$inline_483$$ = $annotorious$shape$geom$Polygon$_expandTriangle$$($JSCompiler_inline_result$$10_points$$inline_483$$, $sign$$inline_485$$ * $delta$$4$$) + }else { + for(var $expTriangle$$inline_490_prev$$inline_486$$ = $JSCompiler_inline_result$$10_points$$inline_483$$.length - 1, $next$$inline_487$$ = 1, $expanded$$inline_488$$ = [], $current$$inline_489$$ = 0;$current$$inline_489$$ < $JSCompiler_inline_result$$10_points$$inline_483$$.length;$current$$inline_489$$++) { + $expTriangle$$inline_490_prev$$inline_486$$ = $annotorious$shape$geom$Polygon$_expandTriangle$$([$JSCompiler_inline_result$$10_points$$inline_483$$[$expTriangle$$inline_490_prev$$inline_486$$], $JSCompiler_inline_result$$10_points$$inline_483$$[$current$$inline_489$$], $JSCompiler_inline_result$$10_points$$inline_483$$[$next$$inline_487$$]], $sign$$inline_485$$ * $delta$$4$$), $expanded$$inline_488$$.push($expTriangle$$inline_490_prev$$inline_486$$[1]), $expTriangle$$inline_490_prev$$inline_486$$ = + $current$$inline_489$$, $next$$inline_487$$++, $next$$inline_487$$ > $JSCompiler_inline_result$$10_points$$inline_483$$.length - 1 && ($next$$inline_487$$ = 0) + } + $JSCompiler_inline_result$$10_points$$inline_483$$ = $expanded$$inline_488$$ + } + return new $annotorious$shape$Shape$$("polygon", new $annotorious$shape$geom$Polygon$$($JSCompiler_inline_result$$10_points$$inline_483$$), $JSCompiler_alias_FALSE$$, $shape$$4$$.style) +} +function $annotorious$shape$transform$$($shape$$5$$, $transformationFn$$) { + if("rect" == $shape$$5$$.type) { + var $transformed$$ = $transformationFn$$($shape$$5$$.geometry); + return new $annotorious$shape$Shape$$("rect", $transformed$$, $JSCompiler_alias_FALSE$$, $shape$$5$$.style) + } + if("polygon" == $shape$$5$$.type) { + var $transformedPoints$$ = []; + $goog$array$forEach$$($shape$$5$$.geometry.points, function($pt$$) { + $transformedPoints$$.push($transformationFn$$($pt$$)) + }); + return new $annotorious$shape$Shape$$("polygon", new $annotorious$shape$geom$Polygon$$($transformedPoints$$), $JSCompiler_alias_FALSE$$, $shape$$5$$.style) + } +} +function $annotorious$shape$hashCode$$($shape$$6$$) { + return JSON.stringify($shape$$6$$.geometry) +} +;function $annotorious$Annotation$$($src$$21$$, $text$$10$$, $shape$$7$$) { + this.src = $src$$21$$; + this.text = $text$$10$$; + this.shapes = [$shape$$7$$]; + this.context = document.URL +} +;function $annotorious$mediatypes$Module$$() { +} +function $JSCompiler_StaticMethods__initFields$$($JSCompiler_StaticMethods__initFields$self$$, $opt_preload_fn$$) { + $JSCompiler_StaticMethods__initFields$self$$.$_annotators$ = new $goog$structs$Map$$; + $JSCompiler_StaticMethods__initFields$self$$.$_eventHandlers$ = []; + $JSCompiler_StaticMethods__initFields$self$$.$_plugins$ = []; + $JSCompiler_StaticMethods__initFields$self$$.$_itemsToLoad$ = []; + $JSCompiler_StaticMethods__initFields$self$$.$_bufferedForAdding$ = []; + $JSCompiler_StaticMethods__initFields$self$$.$_bufferedForRemoval$ = []; + $JSCompiler_StaticMethods__initFields$self$$.$_cachedGlobalSettings$ = {$hide_selection_widget$:$JSCompiler_alias_FALSE$$, $hide_annotations$:$JSCompiler_alias_FALSE$$}; + $JSCompiler_StaticMethods__initFields$self$$.$_cachedItemSettings$ = new $goog$structs$Map$$; + $JSCompiler_StaticMethods__initFields$self$$.$_cachedProperties$ = $JSCompiler_alias_VOID$$; + $JSCompiler_StaticMethods__initFields$self$$.$_preLoad$ = $opt_preload_fn$$ +} +function $JSCompiler_StaticMethods__getSettings$$($JSCompiler_StaticMethods__getSettings$self$$, $item_url$$) { + var $settings$$ = $JSCompiler_StaticMethods__getSettings$self$$.$_cachedItemSettings$.get($item_url$$); + $settings$$ || ($settings$$ = {$hide_selection_widget$:$JSCompiler_alias_FALSE$$, $hide_annotations$:$JSCompiler_alias_FALSE$$}, $JSCompiler_StaticMethods__getSettings$self$$.$_cachedItemSettings$.set($item_url$$, $settings$$)); + return $settings$$ +} +function $JSCompiler_StaticMethods__initAnnotator$$($JSCompiler_StaticMethods__initAnnotator$self$$, $item$$1$$) { + var $item_src$$ = $JSCompiler_StaticMethods__initAnnotator$self$$.$getItemURL$($item$$1$$); + if(!$JSCompiler_StaticMethods__initAnnotator$self$$.$_annotators$.get($item_src$$)) { + var $annotator$$1$$ = $JSCompiler_StaticMethods__initAnnotator$self$$.$newAnnotator$($item$$1$$), $addedAnnotations$$ = [], $removedAnnotations$$ = []; + $goog$array$forEach$$($JSCompiler_StaticMethods__initAnnotator$self$$.$_eventHandlers$, function($eventHandler$$) { + $annotator$$1$$.addHandler($eventHandler$$.type, $eventHandler$$.$handler$) + }); + $goog$array$forEach$$($JSCompiler_StaticMethods__initAnnotator$self$$.$_plugins$, function($plugin$$) { + if($plugin$$.onInitAnnotator) { + $plugin$$.onInitAnnotator($annotator$$1$$) + } + }); + $goog$array$forEach$$($JSCompiler_StaticMethods__initAnnotator$self$$.$_bufferedForAdding$, function($annotation$$) { + $annotation$$.src == $item_src$$ && ($annotator$$1$$.$addAnnotation$($annotation$$), $addedAnnotations$$.push($annotation$$)) + }); + $goog$array$forEach$$($JSCompiler_StaticMethods__initAnnotator$self$$.$_bufferedForRemoval$, function($annotation$$1$$) { + $annotation$$1$$.src == $item_src$$ && ($annotator$$1$$.$removeAnnotation$($annotation$$1$$), $removedAnnotations$$.push($annotation$$1$$)) + }); + $goog$array$forEach$$($addedAnnotations$$, function($annotation$$2$$) { + $goog$array$remove$$($JSCompiler_StaticMethods__initAnnotator$self$$.$_bufferedForAdding$, $annotation$$2$$) + }); + $goog$array$forEach$$($removedAnnotations$$, function($annotation$$3$$) { + $goog$array$remove$$($JSCompiler_StaticMethods__initAnnotator$self$$.$_bufferedForRemoval$, $annotation$$3$$) + }); + var $settings$$1$$ = $JSCompiler_StaticMethods__initAnnotator$self$$.$_cachedItemSettings$.get($item_src$$); + $settings$$1$$ ? ($settings$$1$$.$hide_selection_widget$ && $annotator$$1$$.$hideSelectionWidget$(), $settings$$1$$.$hide_annotations$ && $annotator$$1$$.$hideAnnotations$(), $JSCompiler_StaticMethods__initAnnotator$self$$.$_cachedItemSettings$.remove($item_src$$)) : ($JSCompiler_StaticMethods__initAnnotator$self$$.$_cachedGlobalSettings$.$hide_selection_widget$ && $annotator$$1$$.$hideSelectionWidget$(), $JSCompiler_StaticMethods__initAnnotator$self$$.$_cachedGlobalSettings$.$hide_annotations$ && + $annotator$$1$$.$hideAnnotations$()); + $JSCompiler_StaticMethods__initAnnotator$self$$.$_cachedProperties$ && $annotator$$1$$.$setProperties$($JSCompiler_StaticMethods__initAnnotator$self$$.$_cachedProperties$); + $JSCompiler_StaticMethods__initAnnotator$self$$.$_annotators$.set($item_src$$, $annotator$$1$$); + $goog$array$remove$$($JSCompiler_StaticMethods__initAnnotator$self$$.$_itemsToLoad$, $item$$1$$) + } +} +function $JSCompiler_StaticMethods__lazyLoad$$($JSCompiler_StaticMethods__lazyLoad$self$$) { + var $item$$2$$, $i$$104$$; + for($i$$104$$ = $JSCompiler_StaticMethods__lazyLoad$self$$.$_itemsToLoad$.length;0 < $i$$104$$;$i$$104$$--) { + for(var $el$$inline_495$$ = $item$$2$$ = $JSCompiler_StaticMethods__lazyLoad$self$$.$_itemsToLoad$[$i$$104$$ - 1], $top$$inline_496$$ = $el$$inline_495$$.offsetTop, $left$$inline_497$$ = $el$$inline_495$$.offsetLeft, $width$$inline_498$$ = $el$$inline_495$$.offsetWidth, $height$$inline_499$$ = $el$$inline_495$$.offsetHeight;$el$$inline_495$$.offsetParent;) { + $el$$inline_495$$ = $el$$inline_495$$.offsetParent, $top$$inline_496$$ += $el$$inline_495$$.offsetTop, $left$$inline_497$$ += $el$$inline_495$$.offsetLeft + } + $top$$inline_496$$ < window.pageYOffset + window.innerHeight && ($left$$inline_497$$ < window.pageXOffset + window.innerWidth && $top$$inline_496$$ + $height$$inline_499$$ > window.pageYOffset && $left$$inline_497$$ + $width$$inline_498$$ > window.pageXOffset) && $JSCompiler_StaticMethods__initAnnotator$$($JSCompiler_StaticMethods__lazyLoad$self$$, $item$$2$$) + } +} +function $JSCompiler_StaticMethods__setAnnotationVisibility$$($JSCompiler_StaticMethods__setAnnotationVisibility$self$$, $opt_item_url$$, $visibility$$) { + if($opt_item_url$$) { + var $annotator$$3$$ = $JSCompiler_StaticMethods__setAnnotationVisibility$self$$.$_annotators$.get($opt_item_url$$); + $annotator$$3$$ ? $visibility$$ ? $annotator$$3$$.$showAnnotations$() : $annotator$$3$$.$hideAnnotations$() : $JSCompiler_StaticMethods__getSettings$$($JSCompiler_StaticMethods__setAnnotationVisibility$self$$, $opt_item_url$$).$hide_annotations$ = $visibility$$ + }else { + $goog$array$forEach$$($JSCompiler_StaticMethods_getValues$$($JSCompiler_StaticMethods__setAnnotationVisibility$self$$.$_annotators$), function($annotator$$4$$) { + $visibility$$ ? $annotator$$4$$.$showAnnotations$() : $annotator$$4$$.$hideAnnotations$() + }), $JSCompiler_StaticMethods__setAnnotationVisibility$self$$.$_cachedGlobalSettings$.$hide_annotations$ = !$visibility$$, $goog$array$forEach$$($JSCompiler_StaticMethods_getValues$$($JSCompiler_StaticMethods__setAnnotationVisibility$self$$.$_cachedItemSettings$), function($settings$$2$$) { + $settings$$2$$.$hide_annotations$ = !$visibility$$ + }) + } +} +function $JSCompiler_StaticMethods__setSelectionWidgetVisibility$$($JSCompiler_StaticMethods__setSelectionWidgetVisibility$self$$, $opt_item_url$$1$$, $visibility$$1$$) { + if($opt_item_url$$1$$) { + var $annotator$$5$$ = $JSCompiler_StaticMethods__setSelectionWidgetVisibility$self$$.$_annotators$.get($opt_item_url$$1$$); + $annotator$$5$$ ? $visibility$$1$$ ? $annotator$$5$$.$showSelectionWidget$() : $annotator$$5$$.$hideSelectionWidget$() : $JSCompiler_StaticMethods__getSettings$$($JSCompiler_StaticMethods__setSelectionWidgetVisibility$self$$, $opt_item_url$$1$$).$hide_selection_widget$ = $visibility$$1$$ + }else { + $goog$array$forEach$$($JSCompiler_StaticMethods_getValues$$($JSCompiler_StaticMethods__setSelectionWidgetVisibility$self$$.$_annotators$), function($annotator$$6$$) { + $visibility$$1$$ ? $annotator$$6$$.$showSelectionWidget$() : $annotator$$6$$.$hideSelectionWidget$() + }), $JSCompiler_StaticMethods__setSelectionWidgetVisibility$self$$.$_cachedGlobalSettings$.$hide_selection_widget$ = !$visibility$$1$$, $goog$array$forEach$$($JSCompiler_StaticMethods_getValues$$($JSCompiler_StaticMethods__setSelectionWidgetVisibility$self$$.$_cachedItemSettings$), function($settings$$3$$) { + $settings$$3$$.$hide_selection_widget$ = !$visibility$$1$$ + }) + } +} +$JSCompiler_prototypeAlias$$ = $annotorious$mediatypes$Module$$.prototype; +$JSCompiler_prototypeAlias$$.$activateSelector$ = function $$JSCompiler_prototypeAlias$$$$activateSelector$$($opt_item_url_or_callback$$, $opt_callback$$5$$) { + var $annotator$$7_item_url$$1$$ = $JSCompiler_alias_VOID$$, $callback$$34$$ = $JSCompiler_alias_VOID$$; + $goog$isString$$($opt_item_url_or_callback$$) ? ($annotator$$7_item_url$$1$$ = $opt_item_url_or_callback$$, $callback$$34$$ = $opt_callback$$5$$) : $goog$isFunction$$($opt_item_url_or_callback$$) && ($callback$$34$$ = $opt_item_url_or_callback$$); + $annotator$$7_item_url$$1$$ ? ($annotator$$7_item_url$$1$$ = this.$_annotators$.get($annotator$$7_item_url$$1$$)) && $annotator$$7_item_url$$1$$.$activateSelector$($callback$$34$$) : $goog$array$forEach$$($JSCompiler_StaticMethods_getValues$$(this.$_annotators$), function($annotator$$8$$) { + $annotator$$8$$.$activateSelector$($callback$$34$$) + }) +}; +$JSCompiler_prototypeAlias$$.stopSelection = function $$JSCompiler_prototypeAlias$$$stopSelection$($annotator$$9_opt_item_url$$2$$) { + $annotator$$9_opt_item_url$$2$$ ? ($annotator$$9_opt_item_url$$2$$ = this.$_annotators$.get($annotator$$9_opt_item_url$$2$$)) && $annotator$$9_opt_item_url$$2$$.stopSelection() : $goog$array$forEach$$($JSCompiler_StaticMethods_getValues$$(this.$_annotators$), function($annotator$$10$$) { + $annotator$$10$$.stopSelection() + }) +}; +$JSCompiler_prototypeAlias$$.$addAnnotation$ = function $$JSCompiler_prototypeAlias$$$$addAnnotation$$($annotation$$4$$, $opt_replace$$1$$) { + if($JSCompiler_StaticMethods_annotatesItem$$(this, $annotation$$4$$.src)) { + var $annotator$$11$$ = this.$_annotators$.get($annotation$$4$$.src); + $annotator$$11$$ ? $annotator$$11$$.$addAnnotation$($annotation$$4$$, $opt_replace$$1$$) : (this.$_bufferedForAdding$.push($annotation$$4$$), $opt_replace$$1$$ && $goog$array$remove$$(this.$_bufferedForAdding$, $opt_replace$$1$$)) + } +}; +$JSCompiler_prototypeAlias$$.addHandler = function $$JSCompiler_prototypeAlias$$$addHandler$($type$$83$$, $handler$$8$$) { + $goog$array$forEach$$($JSCompiler_StaticMethods_getValues$$(this.$_annotators$), function($annotator$$12$$) { + $annotator$$12$$.addHandler($type$$83$$, $handler$$8$$) + }); + this.$_eventHandlers$.push({type:$type$$83$$, $handler$:$handler$$8$$}) +}; +$JSCompiler_prototypeAlias$$.$addPlugin$ = function $$JSCompiler_prototypeAlias$$$$addPlugin$$($plugin$$2$$) { + this.$_plugins$.push($plugin$$2$$); + $goog$array$forEach$$($JSCompiler_StaticMethods_getValues$$(this.$_annotators$), function($annotator$$13$$) { + if($plugin$$2$$.onInitAnnotator) { + $plugin$$2$$.onInitAnnotator($annotator$$13$$) + } + }) +}; +function $JSCompiler_StaticMethods_annotatesItem$$($JSCompiler_StaticMethods_annotatesItem$self$$, $item_url$$2$$) { + return $goog$structs$Map$hasKey_$$($JSCompiler_StaticMethods_annotatesItem$self$$.$_annotators$.$map_$, $item_url$$2$$) ? $JSCompiler_alias_TRUE$$ : $goog$array$find$$($JSCompiler_StaticMethods_annotatesItem$self$$.$_itemsToLoad$, function($item$$4$$) { + return $JSCompiler_StaticMethods_annotatesItem$self$$.$getItemURL$($item$$4$$) == $item_url$$2$$ + }) != $JSCompiler_alias_NULL$$ +} +$JSCompiler_prototypeAlias$$.destroy = function $$JSCompiler_prototypeAlias$$$destroy$($opt_item_url$$3$$) { + if($opt_item_url$$3$$) { + var $annotator$$14$$ = this.$_annotators$.get($opt_item_url$$3$$); + $annotator$$14$$ && ($annotator$$14$$.destroy(), this.$_annotators$.remove($opt_item_url$$3$$)) + }else { + $goog$array$forEach$$($JSCompiler_StaticMethods_getValues$$(this.$_annotators$), function($annotator$$15$$) { + $annotator$$15$$.destroy() + }), this.$_annotators$.clear() + } +}; +$JSCompiler_prototypeAlias$$.$getActiveSelector$ = function $$JSCompiler_prototypeAlias$$$$getActiveSelector$$($annotator$$16_item_url$$3$$) { + if($JSCompiler_StaticMethods_annotatesItem$$(this, $annotator$$16_item_url$$3$$) && ($annotator$$16_item_url$$3$$ = this.$_annotators$.get($annotator$$16_item_url$$3$$))) { + return $annotator$$16_item_url$$3$$.$getActiveSelector$().getName() + } +}; +$JSCompiler_prototypeAlias$$.$getAnnotations$ = function $$JSCompiler_prototypeAlias$$$$getAnnotations$$($opt_item_url$$4$$) { + if($opt_item_url$$4$$) { + var $annotator$$17$$ = this.$_annotators$.get($opt_item_url$$4$$); + return $annotator$$17$$ ? $annotator$$17$$.$getAnnotations$() : $goog$array$filter$$(this.$_bufferedForAdding$, function($annotation$$5$$) { + return $annotation$$5$$.src == $opt_item_url$$4$$ + }) + } + var $annotations$$ = []; + $goog$array$forEach$$($JSCompiler_StaticMethods_getValues$$(this.$_annotators$), function($annotator$$18$$) { + $goog$array$extend$$($annotations$$, $annotator$$18$$.$getAnnotations$()) + }); + $goog$array$extend$$($annotations$$, this.$_bufferedForAdding$); + return $annotations$$ +}; +$JSCompiler_prototypeAlias$$.$getAvailableSelectors$ = function $$JSCompiler_prototypeAlias$$$$getAvailableSelectors$$($annotator$$19_item_url$$4$$) { + if($JSCompiler_StaticMethods_annotatesItem$$(this, $annotator$$19_item_url$$4$$) && ($annotator$$19_item_url$$4$$ = this.$_annotators$.get($annotator$$19_item_url$$4$$))) { + return $goog$array$map$$($annotator$$19_item_url$$4$$.$getAvailableSelectors$(), function($selector$$2$$) { + return $selector$$2$$.getName() + }) + } +}; +$JSCompiler_prototypeAlias$$.$hideAnnotations$ = function $$JSCompiler_prototypeAlias$$$$hideAnnotations$$($opt_item_url$$5$$) { + $JSCompiler_StaticMethods__setAnnotationVisibility$$(this, $opt_item_url$$5$$, $JSCompiler_alias_FALSE$$) +}; +$JSCompiler_prototypeAlias$$.$hideSelectionWidget$ = function $$JSCompiler_prototypeAlias$$$$hideSelectionWidget$$($opt_item_url$$6$$) { + $JSCompiler_StaticMethods__setSelectionWidgetVisibility$$(this, $opt_item_url$$6$$, $JSCompiler_alias_FALSE$$) +}; +$JSCompiler_prototypeAlias$$.$highlightAnnotation$ = function $$JSCompiler_prototypeAlias$$$$highlightAnnotation$$($annotation$$6$$) { + if($annotation$$6$$) { + if($JSCompiler_StaticMethods_annotatesItem$$(this, $annotation$$6$$.src)) { + var $annotator$$20$$ = this.$_annotators$.get($annotation$$6$$.src); + $annotator$$20$$ && $annotator$$20$$.$highlightAnnotation$($annotation$$6$$) + } + }else { + $goog$array$forEach$$($JSCompiler_StaticMethods_getValues$$(this.$_annotators$), function($annotator$$21$$) { + $annotator$$21$$.$highlightAnnotation$() + }) + } +}; +$JSCompiler_prototypeAlias$$.init = function $$JSCompiler_prototypeAlias$$$init$() { + this.$_preLoad$ && $goog$array$extend$$(this.$_itemsToLoad$, this.$_preLoad$()); + $JSCompiler_StaticMethods__lazyLoad$$(this); + var $self$$4$$ = this, $key$$64$$ = $goog$events$listen$$(window, "scroll", function() { + 0 < $self$$4$$.$_itemsToLoad$.length ? $JSCompiler_StaticMethods__lazyLoad$$($self$$4$$) : $goog$events$unlistenByKey$$($key$$64$$) + }) +}; +$JSCompiler_prototypeAlias$$.$makeAnnotatable$ = function $$JSCompiler_prototypeAlias$$$$makeAnnotatable$$($item$$5$$) { + this.$supports$($item$$5$$) && $JSCompiler_StaticMethods__initAnnotator$$(this, $item$$5$$) +}; +$JSCompiler_prototypeAlias$$.$removeAnnotation$ = function $$JSCompiler_prototypeAlias$$$$removeAnnotation$$($annotation$$7$$) { + if($JSCompiler_StaticMethods_annotatesItem$$(this, $annotation$$7$$.src)) { + var $annotator$$22$$ = this.$_annotators$.get($annotation$$7$$.src); + $annotator$$22$$ ? $annotator$$22$$.$removeAnnotation$($annotation$$7$$) : this.$_bufferedForRemoval$.push($annotation$$7$$) + } +}; +$JSCompiler_prototypeAlias$$.$setActiveSelector$ = function $$JSCompiler_prototypeAlias$$$$setActiveSelector$$($item_url$$5$$, $selector$$3$$) { + if($JSCompiler_StaticMethods_annotatesItem$$(this, $item_url$$5$$)) { + var $annotator$$23$$ = this.$_annotators$.get($item_url$$5$$); + $annotator$$23$$ && $annotator$$23$$.$setCurrentSelector$($selector$$3$$) + } +}; +$JSCompiler_prototypeAlias$$.$setProperties$ = function $$JSCompiler_prototypeAlias$$$$setProperties$$($props$$1$$) { + this.$_cachedProperties$ = $props$$1$$; + $goog$array$forEach$$($JSCompiler_StaticMethods_getValues$$(this.$_annotators$), function($annotator$$24$$) { + $annotator$$24$$.$setProperties$($props$$1$$) + }) +}; +$JSCompiler_prototypeAlias$$.$showAnnotations$ = function $$JSCompiler_prototypeAlias$$$$showAnnotations$$($opt_item_url$$7$$) { + $JSCompiler_StaticMethods__setAnnotationVisibility$$(this, $opt_item_url$$7$$, $JSCompiler_alias_TRUE$$) +}; +$JSCompiler_prototypeAlias$$.$showSelectionWidget$ = function $$JSCompiler_prototypeAlias$$$$showSelectionWidget$$($opt_item_url$$8$$) { + $JSCompiler_StaticMethods__setSelectionWidgetVisibility$$(this, $opt_item_url$$8$$, $JSCompiler_alias_TRUE$$) +}; +function $goog$soy$renderAsElement$$($template$$2$$, $opt_templateData$$2$$) { + var $wrapper$$4$$ = $goog$dom$getDomHelper$$().createElement("DIV"); + $wrapper$$4$$.innerHTML = $template$$2$$($opt_templateData$$2$$ || $goog$soy$defaultTemplateData_$$, $JSCompiler_alias_VOID$$, $JSCompiler_alias_VOID$$); + if(1 == $wrapper$$4$$.childNodes.length) { + var $firstChild$$ = $wrapper$$4$$.firstChild; + if(1 == $firstChild$$.nodeType) { + return $firstChild$$ + } + } + return $wrapper$$4$$ +} +var $goog$soy$defaultTemplateData_$$ = {}; +function $goog$string$StringBuffer$$($opt_a1$$, $var_args$$69$$) { + $opt_a1$$ != $JSCompiler_alias_NULL$$ && this.append.apply(this, arguments) +} +$JSCompiler_prototypeAlias$$ = $goog$string$StringBuffer$$.prototype; +$JSCompiler_prototypeAlias$$.$buffer_$ = ""; +$JSCompiler_prototypeAlias$$.set = function $$JSCompiler_prototypeAlias$$$set$($s$$19$$) { + this.$buffer_$ = "" + $s$$19$$ +}; +$JSCompiler_prototypeAlias$$.append = function $$JSCompiler_prototypeAlias$$$append$($a1$$, $opt_a2$$, $var_args$$70$$) { + this.$buffer_$ += $a1$$; + if($opt_a2$$ != $JSCompiler_alias_NULL$$) { + for(var $i$$105$$ = 1;$i$$105$$ < arguments.length;$i$$105$$++) { + this.$buffer_$ += arguments[$i$$105$$] + } + } + return this +}; +$JSCompiler_prototypeAlias$$.clear = function $$JSCompiler_prototypeAlias$$$clear$() { + this.$buffer_$ = "" +}; +$JSCompiler_prototypeAlias$$.toString = $JSCompiler_get$$("$buffer_$"); +/* + Portions of this code are from the google-caja project, received by + Google under the Apache license (http://code.google.com/p/google-caja/). + All other code is Copyright 2009 Google, Inc. All Rights Reserved. + +// Copyright (C) 2006 Google Inc. +// +// 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. + +*/ +function $goog$string$html$HtmlParser$$() { +} +var $goog$string$html$HtmlParser$Entities$$ = {$lt$:"<", $gt$:">", $amp$:"&", $nbsp$:"\u00a0", $quot$:'"', $apos$:"'"}, $goog$string$html$HtmlParser$Elements$$ = {a:0, abbr:0, acronym:0, address:0, applet:16, area:2, b:0, base:18, basefont:18, bdo:0, big:0, blockquote:0, body:49, br:2, button:0, caption:0, center:0, cite:0, code:0, col:2, colgroup:1, dd:1, del:0, dfn:0, dir:0, div:0, dl:0, dt:1, em:0, fieldset:0, font:0, form:0, frame:18, frameset:16, h1:0, h2:0, h3:0, h4:0, h5:0, h6:0, head:49, +hr:2, html:49, i:0, iframe:20, img:2, input:2, ins:0, isindex:18, kbd:0, label:0, legend:0, li:1, link:18, map:0, menu:0, meta:18, noframes:20, noscript:20, object:16, ol:0, optgroup:0, option:1, p:1, param:18, pre:0, q:0, s:0, samp:0, script:20, select:0, small:0, span:0, strike:0, strong:0, style:20, sub:0, sup:0, table:0, tbody:1, td:1, textarea:8, tfoot:1, th:1, thead:1, title:24, tr:1, tt:0, u:0, ul:0, "var":0}, $goog$string$html$HtmlParser$AMP_RE_$$ = /&/g, $goog$string$html$HtmlParser$LOOSE_AMP_RE_$$ = +/&([^a-z#]|#(?:[^0-9x]|x(?:[^0-9a-f]|$)|$)|$)/gi, $goog$string$html$HtmlParser$LT_RE_$$ = //g, $goog$string$html$HtmlParser$QUOTE_RE_$$ = /\"/g, $goog$string$html$HtmlParser$EQUALS_RE_$$ = /=/g, $goog$string$html$HtmlParser$NULL_RE_$$ = /\0/g, $goog$string$html$HtmlParser$ENTITY_RE_$$ = /&(#\d+|#x[0-9A-Fa-f]+|\w+);/g, $goog$string$html$HtmlParser$DECIMAL_ESCAPE_RE_$$ = /^#(\d+)$/, $goog$string$html$HtmlParser$HEX_ESCAPE_RE_$$ = /^#x([0-9A-Fa-f]+)$/, +$goog$string$html$HtmlParser$INSIDE_TAG_TOKEN_$$ = RegExp("^\\s*(?:(?:([a-z][a-z-]*)(\\s*=\\s*(\"[^\"]*\"|'[^']*'|(?=[a-z][a-z-]*\\s*=)|[^>\"'\\s]*))?)|(/?>)|[^a-z\\s>]+)", "i"), $goog$string$html$HtmlParser$OUTSIDE_TAG_TOKEN_$$ = RegExp("^(?:&(\\#[0-9]+|\\#[x][0-9a-f]+|\\w+);|<[!]--[\\s\\S]*?--\>|]*>|<\\?[^>*]*>|<(/)?([a-z][a-z0-9]*)|([^<&>]+)|([<&>]))", "i"); +$goog$string$html$HtmlParser$$.prototype.parse = function $$goog$string$html$HtmlParser$$$$parse$($handler$$9$$, $htmlText$$) { + var $htmlLower_i$$inline_510$$ = $JSCompiler_alias_NULL$$, $dataEnd_inTag$$1$$ = $JSCompiler_alias_FALSE$$, $attribs$$ = [], $tagName$$6$$, $eflags$$, $openTag$$; + $handler$$9$$.$stack_$ = []; + for($handler$$9$$.$ignoring_$ = $JSCompiler_alias_FALSE$$;$htmlText$$;) { + var $decodedValue_encodedValue_m$$ = $htmlText$$.match($dataEnd_inTag$$1$$ ? $goog$string$html$HtmlParser$INSIDE_TAG_TOKEN_$$ : $goog$string$html$HtmlParser$OUTSIDE_TAG_TOKEN_$$), $htmlText$$ = $htmlText$$.substring($decodedValue_encodedValue_m$$[0].length); + if($dataEnd_inTag$$1$$) { + if($decodedValue_encodedValue_m$$[1]) { + var $attribName$$ = $decodedValue_encodedValue_m$$[1].toLowerCase(); + if($decodedValue_encodedValue_m$$[2]) { + $decodedValue_encodedValue_m$$ = $decodedValue_encodedValue_m$$[3]; + switch($decodedValue_encodedValue_m$$.charCodeAt(0)) { + case 34: + ; + case 39: + $decodedValue_encodedValue_m$$ = $decodedValue_encodedValue_m$$.substring(1, $decodedValue_encodedValue_m$$.length - 1) + } + $decodedValue_encodedValue_m$$ = $decodedValue_encodedValue_m$$.replace($goog$string$html$HtmlParser$NULL_RE_$$, "").replace($goog$string$html$HtmlParser$ENTITY_RE_$$, $goog$bind$$(this.$lookupEntity_$, this)) + }else { + $decodedValue_encodedValue_m$$ = $attribName$$ + } + $attribs$$.push($attribName$$, $decodedValue_encodedValue_m$$) + }else { + $decodedValue_encodedValue_m$$[4] && ($eflags$$ !== $JSCompiler_alias_VOID$$ && ($openTag$$ ? $handler$$9$$.$startTag$ && $handler$$9$$.$startTag$($tagName$$6$$, $attribs$$) : $handler$$9$$.$endTag$ && $handler$$9$$.$endTag$($tagName$$6$$)), $openTag$$ && $eflags$$ & 12 && ($htmlLower_i$$inline_510$$ = $htmlLower_i$$inline_510$$ === $JSCompiler_alias_NULL$$ ? $htmlText$$.toLowerCase() : $htmlLower_i$$inline_510$$.substring($htmlLower_i$$inline_510$$.length - $htmlText$$.length), $dataEnd_inTag$$1$$ = + $htmlLower_i$$inline_510$$.indexOf(" $dataEnd_inTag$$1$$ && ($dataEnd_inTag$$1$$ = $htmlText$$.length), $eflags$$ & 4 ? $handler$$9$$.$cdata$ && $handler$$9$$.$cdata$($htmlText$$.substring(0, $dataEnd_inTag$$1$$)) : $handler$$9$$.$rcdata$ && $handler$$9$$.$rcdata$($htmlText$$.substring(0, $dataEnd_inTag$$1$$).replace($goog$string$html$HtmlParser$LOOSE_AMP_RE_$$, "&$1").replace($goog$string$html$HtmlParser$LT_RE_$$, "<").replace($goog$string$html$HtmlParser$GT_RE_$$, + ">")), $htmlText$$ = $htmlText$$.substring($dataEnd_inTag$$1$$)), $tagName$$6$$ = $eflags$$ = $openTag$$ = $JSCompiler_alias_VOID$$, $attribs$$.length = 0, $dataEnd_inTag$$1$$ = $JSCompiler_alias_FALSE$$) + } + }else { + if($decodedValue_encodedValue_m$$[1]) { + $JSCompiler_StaticMethods_pcdata$$($handler$$9$$, $decodedValue_encodedValue_m$$[0]) + }else { + if($decodedValue_encodedValue_m$$[3]) { + $openTag$$ = !$decodedValue_encodedValue_m$$[2], $dataEnd_inTag$$1$$ = $JSCompiler_alias_TRUE$$, $tagName$$6$$ = $decodedValue_encodedValue_m$$[3].toLowerCase(), $eflags$$ = $goog$string$html$HtmlParser$Elements$$.hasOwnProperty($tagName$$6$$) ? $goog$string$html$HtmlParser$Elements$$[$tagName$$6$$] : $JSCompiler_alias_VOID$$ + }else { + if($decodedValue_encodedValue_m$$[4]) { + $JSCompiler_StaticMethods_pcdata$$($handler$$9$$, $decodedValue_encodedValue_m$$[4]) + }else { + if($decodedValue_encodedValue_m$$[5]) { + switch($decodedValue_encodedValue_m$$[5]) { + case "<": + $JSCompiler_StaticMethods_pcdata$$($handler$$9$$, "<"); + break; + case ">": + $JSCompiler_StaticMethods_pcdata$$($handler$$9$$, ">"); + break; + default: + $JSCompiler_StaticMethods_pcdata$$($handler$$9$$, "&") + } + } + } + } + } + } + } + for($htmlLower_i$$inline_510$$ = $handler$$9$$.$stack_$.length;0 <= --$htmlLower_i$$inline_510$$;) { + $handler$$9$$.$stringBuffer_$.append("") + } + $handler$$9$$.$stack_$.length = 0 +}; +$goog$string$html$HtmlParser$$.prototype.$lookupEntity_$ = function $$goog$string$html$HtmlParser$$$$$lookupEntity_$$($name$$70$$) { + $name$$70$$ = $name$$70$$.toLowerCase(); + if($goog$string$html$HtmlParser$Entities$$.hasOwnProperty($name$$70$$)) { + return $goog$string$html$HtmlParser$Entities$$[$name$$70$$] + } + var $m$$1$$ = $name$$70$$.match($goog$string$html$HtmlParser$DECIMAL_ESCAPE_RE_$$); + return $m$$1$$ ? String.fromCharCode(parseInt($m$$1$$[1], 10)) : ($m$$1$$ = $name$$70$$.match($goog$string$html$HtmlParser$HEX_ESCAPE_RE_$$)) ? String.fromCharCode(parseInt($m$$1$$[1], 16)) : "" +}; +function $goog$string$html$HtmlSaxHandler$$() { +} +;/* + Portions of this code are from the google-caja project, received by + Google under the Apache license (http://code.google.com/p/google-caja/). + All other code is Copyright 2009 Google, Inc. All Rights Reserved. + +// Copyright (C) 2006 Google Inc. +// +// 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. + +*/ +function $goog$string$html$HtmlSanitizer$$($stringBuffer$$1$$, $opt_urlPolicy$$1$$, $opt_nmTokenPolicy$$1$$) { + this.$stringBuffer_$ = $stringBuffer$$1$$; + this.$stack_$ = []; + this.$ignoring_$ = $JSCompiler_alias_FALSE$$; + this.$urlPolicy_$ = $opt_urlPolicy$$1$$; + this.$nmTokenPolicy_$ = $opt_nmTokenPolicy$$1$$ +} +$goog$inherits$$($goog$string$html$HtmlSanitizer$$, $goog$string$html$HtmlSaxHandler$$); +var $goog$string$html$HtmlSanitizer$Attributes$$ = {"*::class":9, "*::dir":0, "*::id":4, "*::lang":0, "*::onclick":2, "*::ondblclick":2, "*::onkeydown":2, "*::onkeypress":2, "*::onkeyup":2, "*::onload":2, "*::onmousedown":2, "*::onmousemove":2, "*::onmouseout":2, "*::onmouseover":2, "*::onmouseup":2, "*::style":3, "*::title":0, "*::accesskey":0, "*::tabindex":0, "*::onfocus":2, "*::onblur":2, "a::coords":0, "a::href":1, "a::hreflang":0, "a::name":7, "a::onblur":2, "a::rel":0, "a::rev":0, "a::shape":0, +"a::target":10, "a::type":0, "area::accesskey":0, "area::alt":0, "area::coords":0, "area::href":1, "area::nohref":0, "area::onfocus":2, "area::shape":0, "area::tabindex":0, "area::target":10, "bdo::dir":0, "blockquote::cite":1, "br::clear":0, "button::accesskey":0, "button::disabled":0, "button::name":8, "button::onblur":2, "button::onfocus":2, "button::tabindex":0, "button::type":0, "button::value":0, "caption::align":0, "col::align":0, "col::char":0, "col::charoff":0, "col::span":0, "col::valign":0, +"col::width":0, "colgroup::align":0, "colgroup::char":0, "colgroup::charoff":0, "colgroup::span":0, "colgroup::valign":0, "colgroup::width":0, "del::cite":1, "del::datetime":0, "dir::compact":0, "div::align":0, "dl::compact":0, "font::color":0, "font::face":0, "font::size":0, "form::accept":0, "form::action":1, "form::autocomplete":0, "form::enctype":0, "form::method":0, "form::name":7, "form::onreset":2, "form::onsubmit":2, "form::target":10, "h1::align":0, "h2::align":0, "h3::align":0, "h4::align":0, +"h5::align":0, "h6::align":0, "hr::align":0, "hr::noshade":0, "hr::size":0, "hr::width":0, "img::align":0, "img::alt":0, "img::border":0, "img::height":0, "img::hspace":0, "img::ismap":0, "img::longdesc":1, "img::name":7, "img::src":1, "img::usemap":11, "img::vspace":0, "img::width":0, "input::accept":0, "input::accesskey":0, "input::autocomplete":0, "input::align":0, "input::alt":0, "input::checked":0, "input::disabled":0, "input::ismap":0, "input::maxlength":0, "input::name":8, "input::onblur":2, +"input::onchange":2, "input::onfocus":2, "input::onselect":2, "input::readonly":0, "input::size":0, "input::src":1, "input::tabindex":0, "input::type":0, "input::usemap":11, "input::value":0, "ins::cite":1, "ins::datetime":0, "label::accesskey":0, "label::for":5, "label::onblur":2, "label::onfocus":2, "legend::accesskey":0, "legend::align":0, "li::type":0, "li::value":0, "map::name":7, "menu::compact":0, "ol::compact":0, "ol::start":0, "ol::type":0, "optgroup::disabled":0, "optgroup::label":0, "option::disabled":0, +"option::label":0, "option::selected":0, "option::value":0, "p::align":0, "pre::width":0, "q::cite":1, "select::disabled":0, "select::multiple":0, "select::name":8, "select::onblur":2, "select::onchange":2, "select::onfocus":2, "select::size":0, "select::tabindex":0, "table::align":0, "table::bgcolor":0, "table::border":0, "table::cellpadding":0, "table::cellspacing":0, "table::frame":0, "table::rules":0, "table::summary":0, "table::width":0, "tbody::align":0, "tbody::char":0, "tbody::charoff":0, +"tbody::valign":0, "td::abbr":0, "td::align":0, "td::axis":0, "td::bgcolor":0, "td::char":0, "td::charoff":0, "td::colspan":0, "td::headers":6, "td::height":0, "td::nowrap":0, "td::rowspan":0, "td::scope":0, "td::valign":0, "td::width":0, "textarea::accesskey":0, "textarea::cols":0, "textarea::disabled":0, "textarea::name":8, "textarea::onblur":2, "textarea::onchange":2, "textarea::onfocus":2, "textarea::onselect":2, "textarea::readonly":0, "textarea::rows":0, "textarea::tabindex":0, "tfoot::align":0, +"tfoot::char":0, "tfoot::charoff":0, "tfoot::valign":0, "th::abbr":0, "th::align":0, "th::axis":0, "th::bgcolor":0, "th::char":0, "th::charoff":0, "th::colspan":0, "th::headers":6, "th::height":0, "th::nowrap":0, "th::rowspan":0, "th::scope":0, "th::valign":0, "th::width":0, "thead::align":0, "thead::char":0, "thead::charoff":0, "thead::valign":0, "tr::align":0, "tr::bgcolor":0, "tr::char":0, "tr::charoff":0, "tr::valign":0, "ul::compact":0, "ul::type":0}; +$goog$string$html$HtmlSanitizer$$.prototype.$startTag$ = function $$goog$string$html$HtmlSanitizer$$$$$startTag$$($tagName$$7$$, $attribs$$1$$) { + if(!this.$ignoring_$ && $goog$string$html$HtmlParser$Elements$$.hasOwnProperty($tagName$$7$$)) { + var $eflags$$1_i$$106$$ = $goog$string$html$HtmlParser$Elements$$[$tagName$$7$$]; + if(!($eflags$$1_i$$106$$ & 32)) { + if($eflags$$1_i$$106$$ & 16) { + this.$ignoring_$ = !($eflags$$1_i$$106$$ & 2) + }else { + for(var $attribs$$inline_514_n$$7$$ = $attribs$$1$$, $attribName$$1_i$$inline_515$$ = 0;$attribName$$1_i$$inline_515$$ < $attribs$$inline_514_n$$7$$.length;$attribName$$1_i$$inline_515$$ += 2) { + var $attribName$$inline_516_value$$75$$ = $attribs$$inline_514_n$$7$$[$attribName$$1_i$$inline_515$$], $value$$inline_517$$ = $attribs$$inline_514_n$$7$$[$attribName$$1_i$$inline_515$$ + 1], $atype$$inline_518$$ = $JSCompiler_alias_NULL$$, $attribKey$$inline_519$$; + if(($attribKey$$inline_519$$ = $tagName$$7$$ + "::" + $attribName$$inline_516_value$$75$$, $goog$string$html$HtmlSanitizer$Attributes$$.hasOwnProperty($attribKey$$inline_519$$)) || ($attribKey$$inline_519$$ = "*::" + $attribName$$inline_516_value$$75$$, $goog$string$html$HtmlSanitizer$Attributes$$.hasOwnProperty($attribKey$$inline_519$$))) { + $atype$$inline_518$$ = $goog$string$html$HtmlSanitizer$Attributes$$[$attribKey$$inline_519$$] + } + if($atype$$inline_518$$ !== $JSCompiler_alias_NULL$$) { + switch($atype$$inline_518$$) { + case 0: + break; + case 2: + ; + case 3: + $value$$inline_517$$ = $JSCompiler_alias_NULL$$; + break; + case 4: + ; + case 5: + ; + case 6: + ; + case 7: + ; + case 8: + ; + case 9: + $value$$inline_517$$ = this.$nmTokenPolicy_$ ? this.$nmTokenPolicy_$($value$$inline_517$$) : $value$$inline_517$$; + break; + case 1: + $value$$inline_517$$ = this.$urlPolicy_$ && this.$urlPolicy_$($value$$inline_517$$); + break; + case 11: + $value$$inline_517$$ && "#" === $value$$inline_517$$.charAt(0) ? ($value$$inline_517$$ = this.$nmTokenPolicy_$ ? this.$nmTokenPolicy_$($value$$inline_517$$) : $value$$inline_517$$) && ($value$$inline_517$$ = "#" + $value$$inline_517$$) : $value$$inline_517$$ = $JSCompiler_alias_NULL$$; + break; + default: + $value$$inline_517$$ = $JSCompiler_alias_NULL$$ + } + }else { + $value$$inline_517$$ = $JSCompiler_alias_NULL$$ + } + $attribs$$inline_514_n$$7$$[$attribName$$1_i$$inline_515$$ + 1] = $value$$inline_517$$ + } + if($attribs$$1$$ = $attribs$$inline_514_n$$7$$) { + $eflags$$1_i$$106$$ & 2 || this.$stack_$.push($tagName$$7$$); + this.$stringBuffer_$.append("<", $tagName$$7$$); + $eflags$$1_i$$106$$ = 0; + for($attribs$$inline_514_n$$7$$ = $attribs$$1$$.length;$eflags$$1_i$$106$$ < $attribs$$inline_514_n$$7$$;$eflags$$1_i$$106$$ += 2) { + $attribName$$1_i$$inline_515$$ = $attribs$$1$$[$eflags$$1_i$$106$$], $attribName$$inline_516_value$$75$$ = $attribs$$1$$[$eflags$$1_i$$106$$ + 1], $attribName$$inline_516_value$$75$$ !== $JSCompiler_alias_NULL$$ && $attribName$$inline_516_value$$75$$ !== $JSCompiler_alias_VOID$$ && this.$stringBuffer_$.append(" ", $attribName$$1_i$$inline_515$$, '="', $attribName$$inline_516_value$$75$$.replace($goog$string$html$HtmlParser$AMP_RE_$$, "&").replace($goog$string$html$HtmlParser$LT_RE_$$, + "<").replace($goog$string$html$HtmlParser$GT_RE_$$, ">").replace($goog$string$html$HtmlParser$QUOTE_RE_$$, """).replace($goog$string$html$HtmlParser$EQUALS_RE_$$, "="), '"') + } + this.$stringBuffer_$.append(">") + } + } + } + } +}; +$goog$string$html$HtmlSanitizer$$.prototype.$endTag$ = function $$goog$string$html$HtmlSanitizer$$$$$endTag$$($tagName$$8$$) { + if(this.$ignoring_$) { + this.$ignoring_$ = $JSCompiler_alias_FALSE$$ + }else { + if($goog$string$html$HtmlParser$Elements$$.hasOwnProperty($tagName$$8$$)) { + var $eflags$$2_index$$54$$ = $goog$string$html$HtmlParser$Elements$$[$tagName$$8$$]; + if(!($eflags$$2_index$$54$$ & 50)) { + if($eflags$$2_index$$54$$ & 1) { + for($eflags$$2_index$$54$$ = this.$stack_$.length;0 <= --$eflags$$2_index$$54$$;) { + var $stackEl$$ = this.$stack_$[$eflags$$2_index$$54$$]; + if($stackEl$$ === $tagName$$8$$) { + break + } + if(!($goog$string$html$HtmlParser$Elements$$[$stackEl$$] & 1)) { + return + } + } + }else { + for($eflags$$2_index$$54$$ = this.$stack_$.length;0 <= --$eflags$$2_index$$54$$ && this.$stack_$[$eflags$$2_index$$54$$] !== $tagName$$8$$;) { + } + } + if(!(0 > $eflags$$2_index$$54$$)) { + for(var $i$$107$$ = this.$stack_$.length;--$i$$107$$ > $eflags$$2_index$$54$$;) { + $stackEl$$ = this.$stack_$[$i$$107$$], $goog$string$html$HtmlParser$Elements$$[$stackEl$$] & 1 || this.$stringBuffer_$.append("") + } + this.$stack_$.length = $eflags$$2_index$$54$$; + this.$stringBuffer_$.append("") + } + } + } + } +}; +function $JSCompiler_StaticMethods_pcdata$$($JSCompiler_StaticMethods_pcdata$self$$, $text$$11$$) { + $JSCompiler_StaticMethods_pcdata$self$$.$ignoring_$ || $JSCompiler_StaticMethods_pcdata$self$$.$stringBuffer_$.append($text$$11$$) +} +$goog$string$html$HtmlSanitizer$$.prototype.$rcdata$ = function $$goog$string$html$HtmlSanitizer$$$$$rcdata$$($text$$12$$) { + this.$ignoring_$ || this.$stringBuffer_$.append($text$$12$$) +}; +$goog$string$html$HtmlSanitizer$$.prototype.$cdata$ = function $$goog$string$html$HtmlSanitizer$$$$$cdata$$($text$$13$$) { + this.$ignoring_$ || this.$stringBuffer_$.append($text$$13$$) +}; +function $goog$events$KeyCodes$firesKeyPressEvent$$($keyCode$$, $opt_heldKeyCode$$, $opt_shiftKey$$, $opt_ctrlKey$$, $opt_altKey$$) { + if(!$goog$userAgent$IE$$ && (!$goog$userAgent$WEBKIT$$ || !$goog$userAgent$isVersion$$("525"))) { + return $JSCompiler_alias_TRUE$$ + } + if($goog$userAgent$detectedMac_$$ && $opt_altKey$$) { + return $goog$events$KeyCodes$isCharacterKey$$($keyCode$$) + } + if($opt_altKey$$ && !$opt_ctrlKey$$ || !$opt_shiftKey$$ && (17 == $opt_heldKeyCode$$ || 18 == $opt_heldKeyCode$$) || $goog$userAgent$IE$$ && $opt_ctrlKey$$ && $opt_heldKeyCode$$ == $keyCode$$) { + return $JSCompiler_alias_FALSE$$ + } + switch($keyCode$$) { + case 13: + return!($goog$userAgent$IE$$ && $goog$userAgent$isDocumentMode$$(9)); + case 27: + return!$goog$userAgent$WEBKIT$$ + } + return $goog$events$KeyCodes$isCharacterKey$$($keyCode$$) +} +function $goog$events$KeyCodes$isCharacterKey$$($keyCode$$1$$) { + if(48 <= $keyCode$$1$$ && 57 >= $keyCode$$1$$ || 96 <= $keyCode$$1$$ && 106 >= $keyCode$$1$$ || 65 <= $keyCode$$1$$ && 90 >= $keyCode$$1$$ || $goog$userAgent$WEBKIT$$ && 0 == $keyCode$$1$$) { + return $JSCompiler_alias_TRUE$$ + } + switch($keyCode$$1$$) { + case 32: + ; + case 63: + ; + case 107: + ; + case 109: + ; + case 110: + ; + case 111: + ; + case 186: + ; + case 59: + ; + case 189: + ; + case 187: + ; + case 61: + ; + case 188: + ; + case 190: + ; + case 191: + ; + case 192: + ; + case 222: + ; + case 219: + ; + case 220: + ; + case 221: + return $JSCompiler_alias_TRUE$$; + default: + return $JSCompiler_alias_FALSE$$ + } +} +function $goog$events$KeyCodes$normalizeGeckoKeyCode$$($keyCode$$2$$) { + switch($keyCode$$2$$) { + case 61: + return 187; + case 59: + return 186; + case 224: + return 91; + case 0: + return 224; + default: + return $keyCode$$2$$ + } +} +;function $goog$events$KeyHandler$$($opt_element$$11$$, $opt_capture$$6$$) { + $goog$Disposable$$.call(this); + $opt_element$$11$$ && $JSCompiler_StaticMethods_attach$$(this, $opt_element$$11$$, $opt_capture$$6$$) +} +$goog$inherits$$($goog$events$KeyHandler$$, $goog$events$EventTarget$$); +$JSCompiler_prototypeAlias$$ = $goog$events$KeyHandler$$.prototype; +$JSCompiler_prototypeAlias$$.$element_$ = $JSCompiler_alias_NULL$$; +$JSCompiler_prototypeAlias$$.$keyPressKey_$ = $JSCompiler_alias_NULL$$; +$JSCompiler_prototypeAlias$$.$keyDownKey_$ = $JSCompiler_alias_NULL$$; +$JSCompiler_prototypeAlias$$.$keyUpKey_$ = $JSCompiler_alias_NULL$$; +$JSCompiler_prototypeAlias$$.$lastKey_$ = -1; +$JSCompiler_prototypeAlias$$.$keyCode_$ = -1; +$JSCompiler_prototypeAlias$$.$altKey_$ = $JSCompiler_alias_FALSE$$; +var $goog$events$KeyHandler$safariKey_$$ = {3:13, 12:144, 63232:38, 63233:40, 63234:37, 63235:39, 63236:112, 63237:113, 63238:114, 63239:115, 63240:116, 63241:117, 63242:118, 63243:119, 63244:120, 63245:121, 63246:122, 63247:123, 63248:44, 63272:46, 63273:36, 63275:35, 63276:33, 63277:34, 63289:144, 63302:45}, $goog$events$KeyHandler$keyIdentifier_$$ = {Up:38, Down:40, Left:37, Right:39, Enter:13, F1:112, F2:113, F3:114, F4:115, F5:116, F6:117, F7:118, F8:119, F9:120, F10:121, F11:122, F12:123, "U+007F":46, +Home:36, End:35, PageUp:33, PageDown:34, Insert:45}, $goog$events$KeyHandler$USES_KEYDOWN_$$ = $goog$userAgent$IE$$ || $goog$userAgent$WEBKIT$$ && $goog$userAgent$isVersion$$("525"), $goog$events$KeyHandler$SAVE_ALT_FOR_KEYPRESS_$$ = $goog$userAgent$detectedMac_$$ && $goog$userAgent$GECKO$$; +$JSCompiler_prototypeAlias$$ = $goog$events$KeyHandler$$.prototype; +$JSCompiler_prototypeAlias$$.$handleKeyDown_$ = function $$JSCompiler_prototypeAlias$$$$handleKeyDown_$$($e$$36$$) { + if($goog$userAgent$WEBKIT$$ && (17 == this.$lastKey_$ && !$e$$36$$.ctrlKey || 18 == this.$lastKey_$ && !$e$$36$$.altKey)) { + this.$keyCode_$ = this.$lastKey_$ = -1 + } + $goog$events$KeyHandler$USES_KEYDOWN_$$ && !$goog$events$KeyCodes$firesKeyPressEvent$$($e$$36$$.keyCode, this.$lastKey_$, $e$$36$$.shiftKey, $e$$36$$.ctrlKey, $e$$36$$.altKey) ? this.handleEvent($e$$36$$) : (this.$keyCode_$ = $goog$userAgent$GECKO$$ ? $goog$events$KeyCodes$normalizeGeckoKeyCode$$($e$$36$$.keyCode) : $e$$36$$.keyCode, $goog$events$KeyHandler$SAVE_ALT_FOR_KEYPRESS_$$ && (this.$altKey_$ = $e$$36$$.altKey)) +}; +$JSCompiler_prototypeAlias$$.$handleKeyup_$ = function $$JSCompiler_prototypeAlias$$$$handleKeyup_$$($e$$37$$) { + this.$keyCode_$ = this.$lastKey_$ = -1; + this.$altKey_$ = $e$$37$$.altKey +}; +$JSCompiler_prototypeAlias$$.handleEvent = function $$JSCompiler_prototypeAlias$$$handleEvent$($e$$38_repeat$$) { + var $be$$2_event$$3$$ = $e$$38_repeat$$.$event_$, $keyCode$$3$$, $charCode$$, $altKey$$2$$ = $be$$2_event$$3$$.altKey; + $goog$userAgent$IE$$ && "keypress" == $e$$38_repeat$$.type ? ($keyCode$$3$$ = this.$keyCode_$, $charCode$$ = 13 != $keyCode$$3$$ && 27 != $keyCode$$3$$ ? $be$$2_event$$3$$.keyCode : 0) : $goog$userAgent$WEBKIT$$ && "keypress" == $e$$38_repeat$$.type ? ($keyCode$$3$$ = this.$keyCode_$, $charCode$$ = 0 <= $be$$2_event$$3$$.charCode && 63232 > $be$$2_event$$3$$.charCode && $goog$events$KeyCodes$isCharacterKey$$($keyCode$$3$$) ? $be$$2_event$$3$$.charCode : 0) : $goog$userAgent$OPERA$$ ? ($keyCode$$3$$ = + this.$keyCode_$, $charCode$$ = $goog$events$KeyCodes$isCharacterKey$$($keyCode$$3$$) ? $be$$2_event$$3$$.keyCode : 0) : ($keyCode$$3$$ = $be$$2_event$$3$$.keyCode || this.$keyCode_$, $charCode$$ = $be$$2_event$$3$$.charCode || 0, $goog$events$KeyHandler$SAVE_ALT_FOR_KEYPRESS_$$ && ($altKey$$2$$ = this.$altKey_$), $goog$userAgent$detectedMac_$$ && (63 == $charCode$$ && 224 == $keyCode$$3$$) && ($keyCode$$3$$ = 191)); + var $key$$65$$ = $keyCode$$3$$, $keyIdentifier$$ = $be$$2_event$$3$$.keyIdentifier; + $keyCode$$3$$ ? 63232 <= $keyCode$$3$$ && $keyCode$$3$$ in $goog$events$KeyHandler$safariKey_$$ ? $key$$65$$ = $goog$events$KeyHandler$safariKey_$$[$keyCode$$3$$] : 25 == $keyCode$$3$$ && $e$$38_repeat$$.shiftKey && ($key$$65$$ = 9) : $keyIdentifier$$ && $keyIdentifier$$ in $goog$events$KeyHandler$keyIdentifier_$$ && ($key$$65$$ = $goog$events$KeyHandler$keyIdentifier_$$[$keyIdentifier$$]); + $e$$38_repeat$$ = $key$$65$$ == this.$lastKey_$; + this.$lastKey_$ = $key$$65$$; + $be$$2_event$$3$$ = new $goog$events$KeyEvent$$($key$$65$$, $charCode$$, $e$$38_repeat$$, $be$$2_event$$3$$); + $be$$2_event$$3$$.altKey = $altKey$$2$$; + this.dispatchEvent($be$$2_event$$3$$) +}; +$JSCompiler_prototypeAlias$$.$getElement$ = $JSCompiler_get$$("$element_$"); +function $JSCompiler_StaticMethods_attach$$($JSCompiler_StaticMethods_attach$self$$, $element$$71$$, $opt_capture$$7$$) { + $JSCompiler_StaticMethods_attach$self$$.$keyUpKey_$ && $JSCompiler_StaticMethods_attach$self$$.detach(); + $JSCompiler_StaticMethods_attach$self$$.$element_$ = $element$$71$$; + $JSCompiler_StaticMethods_attach$self$$.$keyPressKey_$ = $goog$events$listen$$($JSCompiler_StaticMethods_attach$self$$.$element_$, "keypress", $JSCompiler_StaticMethods_attach$self$$, $opt_capture$$7$$); + $JSCompiler_StaticMethods_attach$self$$.$keyDownKey_$ = $goog$events$listen$$($JSCompiler_StaticMethods_attach$self$$.$element_$, "keydown", $JSCompiler_StaticMethods_attach$self$$.$handleKeyDown_$, $opt_capture$$7$$, $JSCompiler_StaticMethods_attach$self$$); + $JSCompiler_StaticMethods_attach$self$$.$keyUpKey_$ = $goog$events$listen$$($JSCompiler_StaticMethods_attach$self$$.$element_$, "keyup", $JSCompiler_StaticMethods_attach$self$$.$handleKeyup_$, $opt_capture$$7$$, $JSCompiler_StaticMethods_attach$self$$) +} +$JSCompiler_prototypeAlias$$.detach = function $$JSCompiler_prototypeAlias$$$detach$() { + this.$keyPressKey_$ && ($goog$events$unlistenByKey$$(this.$keyPressKey_$), $goog$events$unlistenByKey$$(this.$keyDownKey_$), $goog$events$unlistenByKey$$(this.$keyUpKey_$), this.$keyUpKey_$ = this.$keyDownKey_$ = this.$keyPressKey_$ = $JSCompiler_alias_NULL$$); + this.$element_$ = $JSCompiler_alias_NULL$$; + this.$keyCode_$ = this.$lastKey_$ = -1 +}; +function $goog$events$KeyEvent$$($keyCode$$4$$, $charCode$$1$$, $repeat$$1$$, $browserEvent$$1$$) { + $browserEvent$$1$$ && this.init($browserEvent$$1$$, $JSCompiler_alias_VOID$$); + this.type = "key"; + this.keyCode = $keyCode$$4$$; + this.charCode = $charCode$$1$$; + this.repeat = $repeat$$1$$ +} +$goog$inherits$$($goog$events$KeyEvent$$, $goog$events$BrowserEvent$$); +function $goog$ui$IdGenerator$$() { +} +$goog$addSingletonGetter$$($goog$ui$IdGenerator$$); +$goog$ui$IdGenerator$$.prototype.$nextId_$ = 0; +$goog$ui$IdGenerator$$.$getInstance$(); +function $goog$ui$Component$$($opt_domHelper$$2$$) { + $goog$Disposable$$.call(this); + this.$dom_$ = $opt_domHelper$$2$$ || $goog$dom$getDomHelper$$(); + this.$rightToLeft_$ = $goog$ui$Component$defaultRightToLeft_$$ +} +$goog$inherits$$($goog$ui$Component$$, $goog$events$EventTarget$$); +$goog$ui$Component$$.prototype.$idGenerator_$ = $goog$ui$IdGenerator$$.$getInstance$(); +var $goog$ui$Component$defaultRightToLeft_$$ = $JSCompiler_alias_NULL$$; +function $goog$ui$Component$getStateTransitionEvent$$($state$$, $isEntering$$) { + switch($state$$) { + case 1: + return $isEntering$$ ? "disable" : "enable"; + case 2: + return $isEntering$$ ? "highlight" : "unhighlight"; + case 4: + return $isEntering$$ ? "activate" : "deactivate"; + case 8: + return $isEntering$$ ? "select" : "unselect"; + case 16: + return $isEntering$$ ? "check" : "uncheck"; + case 32: + return $isEntering$$ ? "focus" : "blur"; + case 64: + return $isEntering$$ ? "open" : "close" + } + $JSCompiler_alias_THROW$$(Error("Invalid component state")) +} +$JSCompiler_prototypeAlias$$ = $goog$ui$Component$$.prototype; +$JSCompiler_prototypeAlias$$.$id_$ = $JSCompiler_alias_NULL$$; +$JSCompiler_prototypeAlias$$.$inDocument_$ = $JSCompiler_alias_FALSE$$; +$JSCompiler_prototypeAlias$$.$element_$ = $JSCompiler_alias_NULL$$; +$JSCompiler_prototypeAlias$$.$rightToLeft_$ = $JSCompiler_alias_NULL$$; +$JSCompiler_prototypeAlias$$.$parent_$ = $JSCompiler_alias_NULL$$; +$JSCompiler_prototypeAlias$$.$children_$ = $JSCompiler_alias_NULL$$; +$JSCompiler_prototypeAlias$$.$childIndex_$ = $JSCompiler_alias_NULL$$; +$JSCompiler_prototypeAlias$$.$wasDecorated_$ = $JSCompiler_alias_FALSE$$; +$JSCompiler_prototypeAlias$$.$getElement$ = $JSCompiler_get$$("$element_$"); +$JSCompiler_prototypeAlias$$.$getHandler$ = function $$JSCompiler_prototypeAlias$$$$getHandler$$() { + return this.$googUiComponentHandler_$ || (this.$googUiComponentHandler_$ = new $goog$events$EventHandler$$(this)) +}; +$JSCompiler_prototypeAlias$$.$setParentEventTarget$ = function $$JSCompiler_prototypeAlias$$$$setParentEventTarget$$($parent$$22$$) { + this.$parent_$ && this.$parent_$ != $parent$$22$$ && $JSCompiler_alias_THROW$$(Error("Method not supported")); + $goog$ui$Component$$.$superClass_$.$setParentEventTarget$.call(this, $parent$$22$$) +}; +$JSCompiler_prototypeAlias$$.$getDomHelper$ = $JSCompiler_get$$("$dom_$"); +$JSCompiler_prototypeAlias$$.$decorate$ = function $$JSCompiler_prototypeAlias$$$$decorate$$($element$$73$$) { + this.$inDocument_$ && $JSCompiler_alias_THROW$$(Error("Component already rendered")); + if($element$$73$$ && this.$canDecorate$($element$$73$$)) { + this.$wasDecorated_$ = $JSCompiler_alias_TRUE$$; + if(!this.$dom_$ || this.$dom_$.$document_$ != $goog$dom$getOwnerDocument$$($element$$73$$)) { + this.$dom_$ = $goog$dom$getDomHelper$$($element$$73$$) + } + this.$decorateInternal$($element$$73$$); + this.$enterDocument$() + }else { + $JSCompiler_alias_THROW$$(Error("Invalid element to decorate")) + } +}; +$JSCompiler_prototypeAlias$$.$canDecorate$ = $JSCompiler_returnArg$$($JSCompiler_alias_TRUE$$); +$JSCompiler_prototypeAlias$$.$decorateInternal$ = function $$JSCompiler_prototypeAlias$$$$decorateInternal$$($element$$75$$) { + this.$element_$ = $element$$75$$ +}; +$JSCompiler_prototypeAlias$$.$enterDocument$ = function $$JSCompiler_prototypeAlias$$$$enterDocument$$() { + function $f$$inline_527$$($child$$8$$) { + !$child$$8$$.$inDocument_$ && $child$$8$$.$getElement$() && $child$$8$$.$enterDocument$() + } + this.$inDocument_$ = $JSCompiler_alias_TRUE$$; + this.$children_$ && $goog$array$forEach$$(this.$children_$, $f$$inline_527$$, $JSCompiler_alias_VOID$$) +}; +$JSCompiler_prototypeAlias$$.$exitDocument$ = function $$JSCompiler_prototypeAlias$$$$exitDocument$$() { + function $f$$inline_531$$($child$$9$$) { + $child$$9$$.$inDocument_$ && $child$$9$$.$exitDocument$() + } + this.$children_$ && $goog$array$forEach$$(this.$children_$, $f$$inline_531$$, $JSCompiler_alias_VOID$$); + this.$googUiComponentHandler_$ && this.$googUiComponentHandler_$.$removeAll$(); + this.$inDocument_$ = $JSCompiler_alias_FALSE$$ +}; +$JSCompiler_prototypeAlias$$.$getContentElement$ = $JSCompiler_get$$("$element_$"); +$JSCompiler_prototypeAlias$$.$setRightToLeft$ = function $$JSCompiler_prototypeAlias$$$$setRightToLeft$$($rightToLeft$$1$$) { + this.$inDocument_$ && $JSCompiler_alias_THROW$$(Error("Component already rendered")); + this.$rightToLeft_$ = $rightToLeft$$1$$ +}; +$JSCompiler_prototypeAlias$$.removeChild = function $$JSCompiler_prototypeAlias$$$removeChild$($child$$15$$, $opt_unrender$$) { + if($child$$15$$) { + var $JSCompiler_StaticMethods_setParent$self$$inline_538_id$$6$$ = $goog$isString$$($child$$15$$) ? $child$$15$$ : $child$$15$$.$id_$ || ($child$$15$$.$id_$ = ":" + ($child$$15$$.$idGenerator_$.$nextId_$++).toString(36)), $JSCompiler_temp$$inline_876_obj$$inline_877_obj$$inline_880$$; + this.$childIndex_$ && $JSCompiler_StaticMethods_setParent$self$$inline_538_id$$6$$ ? ($JSCompiler_temp$$inline_876_obj$$inline_877_obj$$inline_880$$ = this.$childIndex_$, $JSCompiler_temp$$inline_876_obj$$inline_877_obj$$inline_880$$ = ($JSCompiler_StaticMethods_setParent$self$$inline_538_id$$6$$ in $JSCompiler_temp$$inline_876_obj$$inline_877_obj$$inline_880$$ ? $JSCompiler_temp$$inline_876_obj$$inline_877_obj$$inline_880$$[$JSCompiler_StaticMethods_setParent$self$$inline_538_id$$6$$] : $JSCompiler_alias_VOID$$) || + $JSCompiler_alias_NULL$$) : $JSCompiler_temp$$inline_876_obj$$inline_877_obj$$inline_880$$ = $JSCompiler_alias_NULL$$; + $child$$15$$ = $JSCompiler_temp$$inline_876_obj$$inline_877_obj$$inline_880$$; + $JSCompiler_StaticMethods_setParent$self$$inline_538_id$$6$$ && $child$$15$$ && ($JSCompiler_temp$$inline_876_obj$$inline_877_obj$$inline_880$$ = this.$childIndex_$, $JSCompiler_StaticMethods_setParent$self$$inline_538_id$$6$$ in $JSCompiler_temp$$inline_876_obj$$inline_877_obj$$inline_880$$ && delete $JSCompiler_temp$$inline_876_obj$$inline_877_obj$$inline_880$$[$JSCompiler_StaticMethods_setParent$self$$inline_538_id$$6$$], $goog$array$remove$$(this.$children_$, $child$$15$$), $opt_unrender$$ && + ($child$$15$$.$exitDocument$(), $child$$15$$.$element_$ && $goog$dom$removeNode$$($child$$15$$.$element_$)), $JSCompiler_StaticMethods_setParent$self$$inline_538_id$$6$$ = $child$$15$$, $JSCompiler_StaticMethods_setParent$self$$inline_538_id$$6$$ == $JSCompiler_alias_NULL$$ && $JSCompiler_alias_THROW$$(Error("Unable to set parent component")), $JSCompiler_StaticMethods_setParent$self$$inline_538_id$$6$$.$parent_$ = $JSCompiler_alias_NULL$$, $goog$ui$Component$$.$superClass_$.$setParentEventTarget$.call($JSCompiler_StaticMethods_setParent$self$$inline_538_id$$6$$, + $JSCompiler_alias_NULL$$)) + } + $child$$15$$ || $JSCompiler_alias_THROW$$(Error("Child is not in parent component")); + return $child$$15$$ +}; +function $goog$ui$ControlRenderer$$() { +} +var $goog$ui$ControlRenderer$ARIA_STATE_MAP_$$; +$goog$addSingletonGetter$$($goog$ui$ControlRenderer$$); +$JSCompiler_prototypeAlias$$ = $goog$ui$ControlRenderer$$.prototype; +$JSCompiler_prototypeAlias$$.$getContentElement$ = function $$JSCompiler_prototypeAlias$$$$getContentElement$$($element$$83$$) { + return $element$$83$$ +}; +$JSCompiler_prototypeAlias$$.$enableClassName$ = function $$JSCompiler_prototypeAlias$$$$enableClassName$$($control$$1_element$$84$$, $className$$16$$, $enable$$1$$) { + if($control$$1_element$$84$$ = $control$$1_element$$84$$.$getElement$ ? $control$$1_element$$84$$.$getElement$() : $control$$1_element$$84$$) { + if($goog$userAgent$IE$$ && !$goog$userAgent$isVersion$$("7")) { + var $combinedClasses$$ = $JSCompiler_StaticMethods_getAppliedCombinedClassNames_$$($goog$dom$classes$get$$($control$$1_element$$84$$), $className$$16$$); + $combinedClasses$$.push($className$$16$$); + $goog$partial$$($enable$$1$$ ? $goog$dom$classes$add$$ : $goog$dom$classes$remove$$, $control$$1_element$$84$$).apply($JSCompiler_alias_NULL$$, $combinedClasses$$) + }else { + $enable$$1$$ ? $goog$dom$classes$add$$($control$$1_element$$84$$, $className$$16$$) : $goog$dom$classes$remove$$($control$$1_element$$84$$, $className$$16$$) + } + } +}; +$JSCompiler_prototypeAlias$$.$canDecorate$ = $JSCompiler_returnArg$$($JSCompiler_alias_TRUE$$); +$JSCompiler_prototypeAlias$$.$decorate$ = function $$JSCompiler_prototypeAlias$$$$decorate$$($control$$3$$, $element$$86$$) { + if($element$$86$$.id) { + var $content$$inline_549_contentElem_hasCombinedClassName_id$$inline_546$$ = $element$$86$$.id; + if($control$$3$$.$parent_$ && $control$$3$$.$parent_$.$childIndex_$) { + var $classNames$$1_obj$$inline_883_obj$$inline_886$$ = $control$$3$$.$parent_$.$childIndex_$, $extraClassNames_key$$inline_884$$ = $control$$3$$.$id_$; + $extraClassNames_key$$inline_884$$ in $classNames$$1_obj$$inline_883_obj$$inline_886$$ && delete $classNames$$1_obj$$inline_883_obj$$inline_886$$[$extraClassNames_key$$inline_884$$]; + $classNames$$1_obj$$inline_883_obj$$inline_886$$ = $control$$3$$.$parent_$.$childIndex_$; + $content$$inline_549_contentElem_hasCombinedClassName_id$$inline_546$$ in $classNames$$1_obj$$inline_883_obj$$inline_886$$ && $JSCompiler_alias_THROW$$(Error('The object already contains the key "' + $content$$inline_549_contentElem_hasCombinedClassName_id$$inline_546$$ + '"')); + $classNames$$1_obj$$inline_883_obj$$inline_886$$[$content$$inline_549_contentElem_hasCombinedClassName_id$$inline_546$$] = $control$$3$$ + } + $control$$3$$.$id_$ = $content$$inline_549_contentElem_hasCombinedClassName_id$$inline_546$$ + } + ($content$$inline_549_contentElem_hasCombinedClassName_id$$inline_546$$ = this.$getContentElement$($element$$86$$)) && $content$$inline_549_contentElem_hasCombinedClassName_id$$inline_546$$.firstChild ? ($content$$inline_549_contentElem_hasCombinedClassName_id$$inline_546$$ = $content$$inline_549_contentElem_hasCombinedClassName_id$$inline_546$$.firstChild.nextSibling ? $goog$array$toArray$$($content$$inline_549_contentElem_hasCombinedClassName_id$$inline_546$$.childNodes) : $content$$inline_549_contentElem_hasCombinedClassName_id$$inline_546$$.firstChild, + $control$$3$$.$content_$ = $content$$inline_549_contentElem_hasCombinedClassName_id$$inline_546$$) : $control$$3$$.$content_$ = $JSCompiler_alias_NULL$$; + var $state$$2$$ = 0, $rendererClassName$$ = this.$getCssClass$(), $structuralClassName$$ = this.$getCssClass$(), $hasRendererClassName$$ = $JSCompiler_alias_FALSE$$, $hasStructuralClassName$$ = $JSCompiler_alias_FALSE$$, $content$$inline_549_contentElem_hasCombinedClassName_id$$inline_546$$ = $JSCompiler_alias_FALSE$$, $classNames$$1_obj$$inline_883_obj$$inline_886$$ = $goog$dom$classes$get$$($element$$86$$); + $goog$array$forEach$$($classNames$$1_obj$$inline_883_obj$$inline_886$$, function($className$$18_state$$inline_556$$) { + if(!$hasRendererClassName$$ && $className$$18_state$$inline_556$$ == $rendererClassName$$) { + $hasRendererClassName$$ = $JSCompiler_alias_TRUE$$, $structuralClassName$$ == $rendererClassName$$ && ($hasStructuralClassName$$ = $JSCompiler_alias_TRUE$$) + }else { + if(!$hasStructuralClassName$$ && $className$$18_state$$inline_556$$ == $structuralClassName$$) { + $hasStructuralClassName$$ = $JSCompiler_alias_TRUE$$ + }else { + var $JSCompiler_temp_const$$54$$ = $state$$2$$; + if(!this.$stateByClass_$) { + this.$classByState_$ || $JSCompiler_StaticMethods_createClassByStateMap_$$(this); + var $obj$$inline_927$$ = this.$classByState_$, $transposed$$inline_928$$ = {}, $key$$inline_929$$; + for($key$$inline_929$$ in $obj$$inline_927$$) { + $transposed$$inline_928$$[$obj$$inline_927$$[$key$$inline_929$$]] = $key$$inline_929$$ + } + this.$stateByClass_$ = $transposed$$inline_928$$ + } + $className$$18_state$$inline_556$$ = parseInt(this.$stateByClass_$[$className$$18_state$$inline_556$$], 10); + $state$$2$$ = $JSCompiler_temp_const$$54$$ | (isNaN($className$$18_state$$inline_556$$) ? 0 : $className$$18_state$$inline_556$$) + } + } + }, this); + $control$$3$$.$state_$ = $state$$2$$; + $hasRendererClassName$$ || ($classNames$$1_obj$$inline_883_obj$$inline_886$$.push($rendererClassName$$), $structuralClassName$$ == $rendererClassName$$ && ($hasStructuralClassName$$ = $JSCompiler_alias_TRUE$$)); + $hasStructuralClassName$$ || $classNames$$1_obj$$inline_883_obj$$inline_886$$.push($structuralClassName$$); + ($extraClassNames_key$$inline_884$$ = $control$$3$$.$extraClassNames_$) && $classNames$$1_obj$$inline_883_obj$$inline_886$$.push.apply($classNames$$1_obj$$inline_883_obj$$inline_886$$, $extraClassNames_key$$inline_884$$); + if($goog$userAgent$IE$$ && !$goog$userAgent$isVersion$$("7")) { + var $combinedClasses$$1$$ = $JSCompiler_StaticMethods_getAppliedCombinedClassNames_$$($classNames$$1_obj$$inline_883_obj$$inline_886$$); + 0 < $combinedClasses$$1$$.length && ($classNames$$1_obj$$inline_883_obj$$inline_886$$.push.apply($classNames$$1_obj$$inline_883_obj$$inline_886$$, $combinedClasses$$1$$), $content$$inline_549_contentElem_hasCombinedClassName_id$$inline_546$$ = $JSCompiler_alias_TRUE$$) + } + if(!$hasRendererClassName$$ || !$hasStructuralClassName$$ || $extraClassNames_key$$inline_884$$ || $content$$inline_549_contentElem_hasCombinedClassName_id$$inline_546$$) { + $element$$86$$.className = $classNames$$1_obj$$inline_883_obj$$inline_886$$.join(" ") + } + $control$$3$$.isEnabled() || this.$updateAriaState$($element$$86$$, 1, $JSCompiler_alias_TRUE$$); + $control$$3$$.$state_$ & 8 && this.$updateAriaState$($element$$86$$, 8, $JSCompiler_alias_TRUE$$); + $control$$3$$.$supportedStates_$ & 16 && this.$updateAriaState$($element$$86$$, 16, !!($control$$3$$.$state_$ & 16)); + $control$$3$$.$supportedStates_$ & 64 && this.$updateAriaState$($element$$86$$, 64, !!($control$$3$$.$state_$ & 64)); + return $element$$86$$ +}; +$JSCompiler_prototypeAlias$$.$setAllowTextSelection$ = function $$JSCompiler_prototypeAlias$$$$setAllowTextSelection$$($element$$89$$, $allow$$) { + var $unselectable$$inline_569_value$$inline_572$$ = !$allow$$, $descendants$$inline_571$$ = $goog$userAgent$IE$$ || $goog$userAgent$OPERA$$ ? $element$$89$$.getElementsByTagName("*") : $JSCompiler_alias_NULL$$; + if($goog$style$unselectableStyle_$$) { + if($unselectable$$inline_569_value$$inline_572$$ = $unselectable$$inline_569_value$$inline_572$$ ? "none" : "", $element$$89$$.style[$goog$style$unselectableStyle_$$] = $unselectable$$inline_569_value$$inline_572$$, $descendants$$inline_571$$) { + for(var $i$$inline_573$$ = 0, $descendant$$inline_574$$;$descendant$$inline_574$$ = $descendants$$inline_571$$[$i$$inline_573$$];$i$$inline_573$$++) { + $descendant$$inline_574$$.style[$goog$style$unselectableStyle_$$] = $unselectable$$inline_569_value$$inline_572$$ + } + } + }else { + if($goog$userAgent$IE$$ || $goog$userAgent$OPERA$$) { + if($unselectable$$inline_569_value$$inline_572$$ = $unselectable$$inline_569_value$$inline_572$$ ? "on" : "", $element$$89$$.setAttribute("unselectable", $unselectable$$inline_569_value$$inline_572$$), $descendants$$inline_571$$) { + for($i$$inline_573$$ = 0;$descendant$$inline_574$$ = $descendants$$inline_571$$[$i$$inline_573$$];$i$$inline_573$$++) { + $descendant$$inline_574$$.setAttribute("unselectable", $unselectable$$inline_569_value$$inline_572$$) + } + } + } + } +}; +$JSCompiler_prototypeAlias$$.$setRightToLeft$ = function $$JSCompiler_prototypeAlias$$$$setRightToLeft$$($element$$90$$, $rightToLeft$$2$$) { + this.$enableClassName$($element$$90$$, this.$getCssClass$() + "-rtl", $rightToLeft$$2$$) +}; +$JSCompiler_prototypeAlias$$.$isFocusable$ = function $$JSCompiler_prototypeAlias$$$$isFocusable$$($control$$6$$) { + var $keyTarget$$; + return $control$$6$$.$supportedStates_$ & 32 && ($keyTarget$$ = $control$$6$$.$getKeyEventTarget$()) ? $goog$dom$isFocusableTabIndex$$($keyTarget$$) : $JSCompiler_alias_FALSE$$ +}; +$JSCompiler_prototypeAlias$$.$setFocusable$ = function $$JSCompiler_prototypeAlias$$$$setFocusable$$($control$$7$$, $focusable$$) { + var $element$$inline_576_keyTarget$$1$$; + if($control$$7$$.$supportedStates_$ & 32 && ($element$$inline_576_keyTarget$$1$$ = $control$$7$$.$getKeyEventTarget$())) { + if(!$focusable$$ && $control$$7$$.$state_$ & 32) { + try { + $element$$inline_576_keyTarget$$1$$.blur() + }catch($e$$39$$) { + } + $control$$7$$.$state_$ & 32 && $control$$7$$.$handleBlur$() + } + $goog$dom$isFocusableTabIndex$$($element$$inline_576_keyTarget$$1$$) != $focusable$$ && ($focusable$$ ? $element$$inline_576_keyTarget$$1$$.tabIndex = 0 : ($element$$inline_576_keyTarget$$1$$.tabIndex = -1, $element$$inline_576_keyTarget$$1$$.removeAttribute("tabIndex"))) + } +}; +$JSCompiler_prototypeAlias$$.$setState$ = function $$JSCompiler_prototypeAlias$$$$setState$$($control$$8$$, $state$$3$$, $enable$$3$$) { + var $element$$92$$ = $control$$8$$.$getElement$(); + if($element$$92$$) { + var $className$$19$$; + this.$classByState_$ || $JSCompiler_StaticMethods_createClassByStateMap_$$(this); + ($className$$19$$ = this.$classByState_$[$state$$3$$]) && this.$enableClassName$($control$$8$$, $className$$19$$, $enable$$3$$); + this.$updateAriaState$($element$$92$$, $state$$3$$, $enable$$3$$) + } +}; +$JSCompiler_prototypeAlias$$.$updateAriaState$ = function $$JSCompiler_prototypeAlias$$$$updateAriaState$$($element$$93$$, $ariaState_state$$4$$, $enable$$4$$) { + $goog$ui$ControlRenderer$ARIA_STATE_MAP_$$ || ($goog$ui$ControlRenderer$ARIA_STATE_MAP_$$ = {1:"disabled", 8:"selected", 16:"checked", 64:"expanded"}); + ($ariaState_state$$4$$ = $goog$ui$ControlRenderer$ARIA_STATE_MAP_$$[$ariaState_state$$4$$]) && $element$$93$$.setAttribute("aria-" + $ariaState_state$$4$$, $enable$$4$$) +}; +$JSCompiler_prototypeAlias$$.$setContent$ = function $$JSCompiler_prototypeAlias$$$$setContent$$($element$$94$$, $content$$2$$) { + var $contentElem$$1$$ = this.$getContentElement$($element$$94$$); + if($contentElem$$1$$ && ($goog$dom$removeChildren$$($contentElem$$1$$), $content$$2$$)) { + if($goog$isString$$($content$$2$$)) { + if("textContent" in $contentElem$$1$$) { + $contentElem$$1$$.textContent = $content$$2$$ + }else { + if($contentElem$$1$$.firstChild && 3 == $contentElem$$1$$.firstChild.nodeType) { + for(;$contentElem$$1$$.lastChild != $contentElem$$1$$.firstChild;) { + $contentElem$$1$$.removeChild($contentElem$$1$$.lastChild) + } + $contentElem$$1$$.firstChild.data = $content$$2$$ + }else { + $goog$dom$removeChildren$$($contentElem$$1$$), $contentElem$$1$$.appendChild($goog$dom$getOwnerDocument$$($contentElem$$1$$).createTextNode($content$$2$$)) + } + } + }else { + var $childHandler$$1$$ = function $$childHandler$$1$$$($child$$16$$) { + if($child$$16$$) { + var $doc$$34$$ = $goog$dom$getOwnerDocument$$($contentElem$$1$$); + $contentElem$$1$$.appendChild($goog$isString$$($child$$16$$) ? $doc$$34$$.createTextNode($child$$16$$) : $child$$16$$) + } + }; + $goog$isArray$$($content$$2$$) ? $goog$array$forEach$$($content$$2$$, $childHandler$$1$$) : $goog$isArrayLike$$($content$$2$$) && !("nodeType" in $content$$2$$) ? $goog$array$forEach$$($goog$array$toArray$$($content$$2$$), $childHandler$$1$$) : $childHandler$$1$$($content$$2$$) + } + } +}; +$JSCompiler_prototypeAlias$$.$getKeyEventTarget$ = function $$JSCompiler_prototypeAlias$$$$getKeyEventTarget$$($control$$9$$) { + return $control$$9$$.$getElement$() +}; +$JSCompiler_prototypeAlias$$.$getCssClass$ = $JSCompiler_returnArg$$("goog-control"); +function $JSCompiler_StaticMethods_getAppliedCombinedClassNames_$$($classes$$5$$, $opt_includedClass$$) { + var $toAdd$$ = []; + $opt_includedClass$$ && ($classes$$5$$ = $classes$$5$$.concat([$opt_includedClass$$])); + $goog$array$forEach$$([], function($combo$$) { + $goog$array$every$$($combo$$, $goog$partial$$($goog$array$contains$$, $classes$$5$$)) && (!$opt_includedClass$$ || $goog$array$contains$$($combo$$, $opt_includedClass$$)) && $toAdd$$.push($combo$$.join("_")) + }); + return $toAdd$$ +} +function $JSCompiler_StaticMethods_createClassByStateMap_$$($JSCompiler_StaticMethods_createClassByStateMap_$self$$) { + var $baseClass$$ = $JSCompiler_StaticMethods_createClassByStateMap_$self$$.$getCssClass$(); + $JSCompiler_StaticMethods_createClassByStateMap_$self$$.$classByState_$ = {1:$baseClass$$ + "-disabled", 2:$baseClass$$ + "-hover", 4:$baseClass$$ + "-active", 8:$baseClass$$ + "-selected", 16:$baseClass$$ + "-checked", 32:$baseClass$$ + "-focused", 64:$baseClass$$ + "-open"} +} +;var $goog$ui$registry$defaultRenderers_$$ = {}; +function $goog$ui$Control$$($content$$3$$, $JSCompiler_temp$$39_componentCtor$$inline_589_opt_renderer$$, $opt_domHelper$$3$$) { + $goog$ui$Component$$.call(this, $opt_domHelper$$3$$); + if(!$JSCompiler_temp$$39_componentCtor$$inline_589_opt_renderer$$) { + for(var $JSCompiler_temp$$39_componentCtor$$inline_589_opt_renderer$$ = this.constructor, $key$$inline_590_rendererCtor$$inline_591$$;$JSCompiler_temp$$39_componentCtor$$inline_589_opt_renderer$$;) { + $key$$inline_590_rendererCtor$$inline_591$$ = $goog$getUid$$($JSCompiler_temp$$39_componentCtor$$inline_589_opt_renderer$$); + if($key$$inline_590_rendererCtor$$inline_591$$ = $goog$ui$registry$defaultRenderers_$$[$key$$inline_590_rendererCtor$$inline_591$$]) { + break + } + $JSCompiler_temp$$39_componentCtor$$inline_589_opt_renderer$$ = $JSCompiler_temp$$39_componentCtor$$inline_589_opt_renderer$$.$superClass_$ ? $JSCompiler_temp$$39_componentCtor$$inline_589_opt_renderer$$.$superClass_$.constructor : $JSCompiler_alias_NULL$$ + } + $JSCompiler_temp$$39_componentCtor$$inline_589_opt_renderer$$ = $key$$inline_590_rendererCtor$$inline_591$$ ? $goog$isFunction$$($key$$inline_590_rendererCtor$$inline_591$$.$getInstance$) ? $key$$inline_590_rendererCtor$$inline_591$$.$getInstance$() : new $key$$inline_590_rendererCtor$$inline_591$$ : $JSCompiler_alias_NULL$$ + } + this.$renderer_$ = $JSCompiler_temp$$39_componentCtor$$inline_589_opt_renderer$$; + this.$content_$ = $content$$3$$ +} +$goog$inherits$$($goog$ui$Control$$, $goog$ui$Component$$); +$JSCompiler_prototypeAlias$$ = $goog$ui$Control$$.prototype; +$JSCompiler_prototypeAlias$$.$content_$ = $JSCompiler_alias_NULL$$; +$JSCompiler_prototypeAlias$$.$state_$ = 0; +$JSCompiler_prototypeAlias$$.$supportedStates_$ = 39; +$JSCompiler_prototypeAlias$$.$autoStates_$ = 255; +$JSCompiler_prototypeAlias$$.$statesWithTransitionEvents_$ = 0; +$JSCompiler_prototypeAlias$$.$visible_$ = $JSCompiler_alias_TRUE$$; +$JSCompiler_prototypeAlias$$.$extraClassNames_$ = $JSCompiler_alias_NULL$$; +$JSCompiler_prototypeAlias$$.$handleMouseEvents_$ = $JSCompiler_alias_TRUE$$; +$JSCompiler_prototypeAlias$$.$allowTextSelection_$ = $JSCompiler_alias_FALSE$$; +$JSCompiler_prototypeAlias$$.$preferredAriaRole_$ = $JSCompiler_alias_NULL$$; +function $JSCompiler_StaticMethods_setHandleMouseEvents$$($JSCompiler_StaticMethods_setHandleMouseEvents$self$$) { + $JSCompiler_StaticMethods_setHandleMouseEvents$self$$.$inDocument_$ && $JSCompiler_alias_FALSE$$ != $JSCompiler_StaticMethods_setHandleMouseEvents$self$$.$handleMouseEvents_$ && $JSCompiler_StaticMethods_enableMouseEventHandling_$$($JSCompiler_StaticMethods_setHandleMouseEvents$self$$, $JSCompiler_alias_FALSE$$); + $JSCompiler_StaticMethods_setHandleMouseEvents$self$$.$handleMouseEvents_$ = $JSCompiler_alias_FALSE$$ +} +$JSCompiler_prototypeAlias$$.$getKeyEventTarget$ = function $$JSCompiler_prototypeAlias$$$$getKeyEventTarget$$() { + return this.$renderer_$.$getKeyEventTarget$(this) +}; +$JSCompiler_prototypeAlias$$.$enableClassName$ = function $$JSCompiler_prototypeAlias$$$$enableClassName$$($className$$25$$, $enable$$6$$) { + $enable$$6$$ ? $className$$25$$ && (this.$extraClassNames_$ ? $goog$array$contains$$(this.$extraClassNames_$, $className$$25$$) || this.$extraClassNames_$.push($className$$25$$) : this.$extraClassNames_$ = [$className$$25$$], this.$renderer_$.$enableClassName$(this, $className$$25$$, $JSCompiler_alias_TRUE$$)) : $className$$25$$ && this.$extraClassNames_$ && ($goog$array$remove$$(this.$extraClassNames_$, $className$$25$$), 0 == this.$extraClassNames_$.length && (this.$extraClassNames_$ = $JSCompiler_alias_NULL$$), + this.$renderer_$.$enableClassName$(this, $className$$25$$, $JSCompiler_alias_FALSE$$)) +}; +$JSCompiler_prototypeAlias$$.$getContentElement$ = function $$JSCompiler_prototypeAlias$$$$getContentElement$$() { + return this.$renderer_$.$getContentElement$(this.$getElement$()) +}; +$JSCompiler_prototypeAlias$$.$canDecorate$ = function $$JSCompiler_prototypeAlias$$$$canDecorate$$($element$$98$$) { + return this.$renderer_$.$canDecorate$($element$$98$$) +}; +$JSCompiler_prototypeAlias$$.$decorateInternal$ = function $$JSCompiler_prototypeAlias$$$$decorateInternal$$($element$$99$$) { + this.$element_$ = $element$$99$$ = this.$renderer_$.$decorate$(this, $element$$99$$); + var $ariaRole$$inline_617$$ = this.$preferredAriaRole_$ || $JSCompiler_alias_VOID$$; + $ariaRole$$inline_617$$ && $element$$99$$.setAttribute("role", $ariaRole$$inline_617$$); + this.$allowTextSelection_$ || this.$renderer_$.$setAllowTextSelection$($element$$99$$, $JSCompiler_alias_FALSE$$); + this.$visible_$ = "none" != $element$$99$$.style.display +}; +$JSCompiler_prototypeAlias$$.$enterDocument$ = function $$JSCompiler_prototypeAlias$$$$enterDocument$$() { + $goog$ui$Control$$.$superClass_$.$enterDocument$.call(this); + var $JSCompiler_StaticMethods_initializeDom$self$$inline_619_keyTarget$$2$$ = this.$renderer_$; + this.$rightToLeft_$ == $JSCompiler_alias_NULL$$ && (this.$rightToLeft_$ = $goog$style$isRightToLeft$$(this.$inDocument_$ ? this.$element_$ : this.$dom_$.$document_$.body)); + this.$rightToLeft_$ && $JSCompiler_StaticMethods_initializeDom$self$$inline_619_keyTarget$$2$$.$setRightToLeft$(this.$getElement$(), $JSCompiler_alias_TRUE$$); + this.isEnabled() && $JSCompiler_StaticMethods_initializeDom$self$$inline_619_keyTarget$$2$$.$setFocusable$(this, this.$visible_$); + if(this.$supportedStates_$ & -2 && (this.$handleMouseEvents_$ && $JSCompiler_StaticMethods_enableMouseEventHandling_$$(this, $JSCompiler_alias_TRUE$$), this.$supportedStates_$ & 32 && ($JSCompiler_StaticMethods_initializeDom$self$$inline_619_keyTarget$$2$$ = this.$getKeyEventTarget$()))) { + var $keyHandler$$ = this.$keyHandler_$ || (this.$keyHandler_$ = new $goog$events$KeyHandler$$); + $JSCompiler_StaticMethods_attach$$($keyHandler$$, $JSCompiler_StaticMethods_initializeDom$self$$inline_619_keyTarget$$2$$); + $JSCompiler_StaticMethods_listen$$($JSCompiler_StaticMethods_listen$$($JSCompiler_StaticMethods_listen$$(this.$getHandler$(), $keyHandler$$, "key", this.$handleKeyEvent$), $JSCompiler_StaticMethods_initializeDom$self$$inline_619_keyTarget$$2$$, "focus", this.$handleFocus$), $JSCompiler_StaticMethods_initializeDom$self$$inline_619_keyTarget$$2$$, "blur", this.$handleBlur$) + } +}; +function $JSCompiler_StaticMethods_enableMouseEventHandling_$$($JSCompiler_StaticMethods_enableMouseEventHandling_$self$$, $enable$$7$$) { + var $handler$$11$$ = $JSCompiler_StaticMethods_enableMouseEventHandling_$self$$.$getHandler$(), $element$$100$$ = $JSCompiler_StaticMethods_enableMouseEventHandling_$self$$.$getElement$(); + $enable$$7$$ ? ($JSCompiler_StaticMethods_listen$$($JSCompiler_StaticMethods_listen$$($JSCompiler_StaticMethods_listen$$($JSCompiler_StaticMethods_listen$$($handler$$11$$, $element$$100$$, "mouseover", $JSCompiler_StaticMethods_enableMouseEventHandling_$self$$.$handleMouseOver$), $element$$100$$, "mousedown", $JSCompiler_StaticMethods_enableMouseEventHandling_$self$$.$handleMouseDown$), $element$$100$$, "mouseup", $JSCompiler_StaticMethods_enableMouseEventHandling_$self$$.$handleMouseUp$), $element$$100$$, + "mouseout", $JSCompiler_StaticMethods_enableMouseEventHandling_$self$$.$handleMouseOut$), $JSCompiler_StaticMethods_enableMouseEventHandling_$self$$.$handleContextMenu$ != $goog$nullFunction$$ && $JSCompiler_StaticMethods_listen$$($handler$$11$$, $element$$100$$, "contextmenu", $JSCompiler_StaticMethods_enableMouseEventHandling_$self$$.$handleContextMenu$), $goog$userAgent$IE$$ && $JSCompiler_StaticMethods_listen$$($handler$$11$$, $element$$100$$, "dblclick", $JSCompiler_StaticMethods_enableMouseEventHandling_$self$$.$handleDblClick$)) : + ($JSCompiler_StaticMethods_unlisten$$($JSCompiler_StaticMethods_unlisten$$($JSCompiler_StaticMethods_unlisten$$($JSCompiler_StaticMethods_unlisten$$($handler$$11$$, $element$$100$$, "mouseover", $JSCompiler_StaticMethods_enableMouseEventHandling_$self$$.$handleMouseOver$), $element$$100$$, "mousedown", $JSCompiler_StaticMethods_enableMouseEventHandling_$self$$.$handleMouseDown$), $element$$100$$, "mouseup", $JSCompiler_StaticMethods_enableMouseEventHandling_$self$$.$handleMouseUp$), $element$$100$$, + "mouseout", $JSCompiler_StaticMethods_enableMouseEventHandling_$self$$.$handleMouseOut$), $JSCompiler_StaticMethods_enableMouseEventHandling_$self$$.$handleContextMenu$ != $goog$nullFunction$$ && $JSCompiler_StaticMethods_unlisten$$($handler$$11$$, $element$$100$$, "contextmenu", $JSCompiler_StaticMethods_enableMouseEventHandling_$self$$.$handleContextMenu$), $goog$userAgent$IE$$ && $JSCompiler_StaticMethods_unlisten$$($handler$$11$$, $element$$100$$, "dblclick", $JSCompiler_StaticMethods_enableMouseEventHandling_$self$$.$handleDblClick$)) +} +$JSCompiler_prototypeAlias$$.$exitDocument$ = function $$JSCompiler_prototypeAlias$$$$exitDocument$$() { + $goog$ui$Control$$.$superClass_$.$exitDocument$.call(this); + this.$keyHandler_$ && this.$keyHandler_$.detach(); + this.$visible_$ && this.isEnabled() && this.$renderer_$.$setFocusable$(this, $JSCompiler_alias_FALSE$$) +}; +$JSCompiler_prototypeAlias$$.$setContent$ = function $$JSCompiler_prototypeAlias$$$$setContent$$($content$$4$$) { + this.$renderer_$.$setContent$(this.$getElement$(), $content$$4$$); + this.$content_$ = $content$$4$$ +}; +$JSCompiler_prototypeAlias$$.$setRightToLeft$ = function $$JSCompiler_prototypeAlias$$$$setRightToLeft$$($rightToLeft$$3$$) { + $goog$ui$Control$$.$superClass_$.$setRightToLeft$.call(this, $rightToLeft$$3$$); + var $element$$101$$ = this.$getElement$(); + $element$$101$$ && this.$renderer_$.$setRightToLeft$($element$$101$$, $rightToLeft$$3$$) +}; +$JSCompiler_prototypeAlias$$.$setAllowTextSelection$ = function $$JSCompiler_prototypeAlias$$$$setAllowTextSelection$$($allow$$1$$) { + this.$allowTextSelection_$ = $allow$$1$$; + var $element$$102$$ = this.$getElement$(); + $element$$102$$ && this.$renderer_$.$setAllowTextSelection$($element$$102$$, $allow$$1$$) +}; +$JSCompiler_prototypeAlias$$.isEnabled = function $$JSCompiler_prototypeAlias$$$isEnabled$() { + return!(this.$state_$ & 1) +}; +function $JSCompiler_StaticMethods_setHighlighted$$($JSCompiler_StaticMethods_setHighlighted$self$$, $highlight$$) { + $JSCompiler_StaticMethods_isTransitionAllowed$$($JSCompiler_StaticMethods_setHighlighted$self$$, 2, $highlight$$) && $JSCompiler_StaticMethods_setHighlighted$self$$.$setState$(2, $highlight$$) +} +$JSCompiler_prototypeAlias$$.setActive = function $$JSCompiler_prototypeAlias$$$setActive$($active$$) { + $JSCompiler_StaticMethods_isTransitionAllowed$$(this, 4, $active$$) && this.$setState$(4, $active$$) +}; +$JSCompiler_prototypeAlias$$.$setState$ = function $$JSCompiler_prototypeAlias$$$$setState$$($state$$9$$, $enable$$9$$) { + this.$supportedStates_$ & $state$$9$$ && $enable$$9$$ != !!(this.$state_$ & $state$$9$$) && (this.$renderer_$.$setState$(this, $state$$9$$, $enable$$9$$), this.$state_$ = $enable$$9$$ ? this.$state_$ | $state$$9$$ : this.$state_$ & ~$state$$9$$) +}; +function $JSCompiler_StaticMethods_isAutoState$$($JSCompiler_StaticMethods_isAutoState$self$$, $state$$13$$) { + return!!($JSCompiler_StaticMethods_isAutoState$self$$.$autoStates_$ & $state$$13$$) && !!($JSCompiler_StaticMethods_isAutoState$self$$.$supportedStates_$ & $state$$13$$) +} +function $JSCompiler_StaticMethods_isTransitionAllowed$$($JSCompiler_StaticMethods_isTransitionAllowed$self$$, $state$$15$$, $enable$$12$$) { + return!!($JSCompiler_StaticMethods_isTransitionAllowed$self$$.$supportedStates_$ & $state$$15$$) && !!($JSCompiler_StaticMethods_isTransitionAllowed$self$$.$state_$ & $state$$15$$) != $enable$$12$$ && (!($JSCompiler_StaticMethods_isTransitionAllowed$self$$.$statesWithTransitionEvents_$ & $state$$15$$) || $JSCompiler_StaticMethods_isTransitionAllowed$self$$.dispatchEvent($goog$ui$Component$getStateTransitionEvent$$($state$$15$$, $enable$$12$$))) && !$JSCompiler_StaticMethods_isTransitionAllowed$self$$.$disposed_$ +} +$JSCompiler_prototypeAlias$$.$handleMouseOver$ = function $$JSCompiler_prototypeAlias$$$$handleMouseOver$$($e$$40$$) { + (!$e$$40$$.relatedTarget || !$goog$dom$contains$$(this.$getElement$(), $e$$40$$.relatedTarget)) && (this.dispatchEvent("enter") && this.isEnabled() && $JSCompiler_StaticMethods_isAutoState$$(this, 2)) && $JSCompiler_StaticMethods_setHighlighted$$(this, $JSCompiler_alias_TRUE$$) +}; +$JSCompiler_prototypeAlias$$.$handleMouseOut$ = function $$JSCompiler_prototypeAlias$$$$handleMouseOut$$($e$$41$$) { + if((!$e$$41$$.relatedTarget || !$goog$dom$contains$$(this.$getElement$(), $e$$41$$.relatedTarget)) && this.dispatchEvent("leave")) { + $JSCompiler_StaticMethods_isAutoState$$(this, 4) && this.setActive($JSCompiler_alias_FALSE$$), $JSCompiler_StaticMethods_isAutoState$$(this, 2) && $JSCompiler_StaticMethods_setHighlighted$$(this, $JSCompiler_alias_FALSE$$) + } +}; +$JSCompiler_prototypeAlias$$.$handleContextMenu$ = $goog$nullFunction$$; +$JSCompiler_prototypeAlias$$.$handleMouseDown$ = function $$JSCompiler_prototypeAlias$$$$handleMouseDown$$($e$$43$$) { + this.isEnabled() && ($JSCompiler_StaticMethods_isAutoState$$(this, 2) && $JSCompiler_StaticMethods_setHighlighted$$(this, $JSCompiler_alias_TRUE$$), $JSCompiler_StaticMethods_isMouseActionButton$$($e$$43$$) && ($JSCompiler_StaticMethods_isAutoState$$(this, 4) && this.setActive($JSCompiler_alias_TRUE$$), this.$renderer_$.$isFocusable$(this) && this.$getKeyEventTarget$().focus())); + !this.$allowTextSelection_$ && $JSCompiler_StaticMethods_isMouseActionButton$$($e$$43$$) && $e$$43$$.preventDefault() +}; +$JSCompiler_prototypeAlias$$.$handleMouseUp$ = function $$JSCompiler_prototypeAlias$$$$handleMouseUp$$($e$$44$$) { + this.isEnabled() && ($JSCompiler_StaticMethods_isAutoState$$(this, 2) && $JSCompiler_StaticMethods_setHighlighted$$(this, $JSCompiler_alias_TRUE$$), this.$state_$ & 4 && ($JSCompiler_StaticMethods_performActionInternal$$(this, $e$$44$$) && $JSCompiler_StaticMethods_isAutoState$$(this, 4)) && this.setActive($JSCompiler_alias_FALSE$$)) +}; +$JSCompiler_prototypeAlias$$.$handleDblClick$ = function $$JSCompiler_prototypeAlias$$$$handleDblClick$$($e$$45$$) { + this.isEnabled() && $JSCompiler_StaticMethods_performActionInternal$$(this, $e$$45$$) +}; +function $JSCompiler_StaticMethods_performActionInternal$$($JSCompiler_StaticMethods_performActionInternal$self$$, $e$$46$$) { + if($JSCompiler_StaticMethods_isAutoState$$($JSCompiler_StaticMethods_performActionInternal$self$$, 16)) { + var $actionEvent_check$$inline_626_open$$inline_632$$ = !($JSCompiler_StaticMethods_performActionInternal$self$$.$state_$ & 16); + $JSCompiler_StaticMethods_isTransitionAllowed$$($JSCompiler_StaticMethods_performActionInternal$self$$, 16, $actionEvent_check$$inline_626_open$$inline_632$$) && $JSCompiler_StaticMethods_performActionInternal$self$$.$setState$(16, $actionEvent_check$$inline_626_open$$inline_632$$) + } + $JSCompiler_StaticMethods_isAutoState$$($JSCompiler_StaticMethods_performActionInternal$self$$, 8) && $JSCompiler_StaticMethods_isTransitionAllowed$$($JSCompiler_StaticMethods_performActionInternal$self$$, 8, $JSCompiler_alias_TRUE$$) && $JSCompiler_StaticMethods_performActionInternal$self$$.$setState$(8, $JSCompiler_alias_TRUE$$); + $JSCompiler_StaticMethods_isAutoState$$($JSCompiler_StaticMethods_performActionInternal$self$$, 64) && ($actionEvent_check$$inline_626_open$$inline_632$$ = !($JSCompiler_StaticMethods_performActionInternal$self$$.$state_$ & 64), $JSCompiler_StaticMethods_isTransitionAllowed$$($JSCompiler_StaticMethods_performActionInternal$self$$, 64, $actionEvent_check$$inline_626_open$$inline_632$$) && $JSCompiler_StaticMethods_performActionInternal$self$$.$setState$(64, $actionEvent_check$$inline_626_open$$inline_632$$)); + $actionEvent_check$$inline_626_open$$inline_632$$ = new $goog$events$Event$$("action", $JSCompiler_StaticMethods_performActionInternal$self$$); + $e$$46$$ && ($actionEvent_check$$inline_626_open$$inline_632$$.altKey = $e$$46$$.altKey, $actionEvent_check$$inline_626_open$$inline_632$$.ctrlKey = $e$$46$$.ctrlKey, $actionEvent_check$$inline_626_open$$inline_632$$.metaKey = $e$$46$$.metaKey, $actionEvent_check$$inline_626_open$$inline_632$$.shiftKey = $e$$46$$.shiftKey, $actionEvent_check$$inline_626_open$$inline_632$$.$platformModifierKey$ = $e$$46$$.$platformModifierKey$); + return $JSCompiler_StaticMethods_performActionInternal$self$$.dispatchEvent($actionEvent_check$$inline_626_open$$inline_632$$) +} +$JSCompiler_prototypeAlias$$.$handleFocus$ = function $$JSCompiler_prototypeAlias$$$$handleFocus$$() { + $JSCompiler_StaticMethods_isAutoState$$(this, 32) && $JSCompiler_StaticMethods_isTransitionAllowed$$(this, 32, $JSCompiler_alias_TRUE$$) && this.$setState$(32, $JSCompiler_alias_TRUE$$) +}; +$JSCompiler_prototypeAlias$$.$handleBlur$ = function $$JSCompiler_prototypeAlias$$$$handleBlur$$() { + $JSCompiler_StaticMethods_isAutoState$$(this, 4) && this.setActive($JSCompiler_alias_FALSE$$); + $JSCompiler_StaticMethods_isAutoState$$(this, 32) && $JSCompiler_StaticMethods_isTransitionAllowed$$(this, 32, $JSCompiler_alias_FALSE$$) && this.$setState$(32, $JSCompiler_alias_FALSE$$) +}; +$JSCompiler_prototypeAlias$$.$handleKeyEvent$ = function $$JSCompiler_prototypeAlias$$$$handleKeyEvent$$($e$$49$$) { + return this.$visible_$ && this.isEnabled() && 13 == $e$$49$$.keyCode && $JSCompiler_StaticMethods_performActionInternal$$(this, $e$$49$$) ? ($e$$49$$.preventDefault(), $e$$49$$.stopPropagation(), $JSCompiler_alias_TRUE$$) : $JSCompiler_alias_FALSE$$ +}; +$goog$isFunction$$($goog$ui$Control$$) || $JSCompiler_alias_THROW$$(Error("Invalid component class " + $goog$ui$Control$$)); +$goog$isFunction$$($goog$ui$ControlRenderer$$) || $JSCompiler_alias_THROW$$(Error("Invalid renderer class " + $goog$ui$ControlRenderer$$)); +var $key$$inline_642$$ = $goog$getUid$$($goog$ui$Control$$); +$goog$ui$registry$defaultRenderers_$$[$key$$inline_642$$] = $goog$ui$ControlRenderer$$; +function $decoratorFn$$inline_644$$() { + return new $goog$ui$Control$$($JSCompiler_alias_NULL$$) +} +$goog$isFunction$$($decoratorFn$$inline_644$$) || $JSCompiler_alias_THROW$$(Error("Invalid decorator function " + $decoratorFn$$inline_644$$)); +function $goog$ui$TextareaRenderer$$() { +} +$goog$inherits$$($goog$ui$TextareaRenderer$$, $goog$ui$ControlRenderer$$); +$goog$addSingletonGetter$$($goog$ui$TextareaRenderer$$); +$JSCompiler_prototypeAlias$$ = $goog$ui$TextareaRenderer$$.prototype; +$JSCompiler_prototypeAlias$$.$decorate$ = function $$JSCompiler_prototypeAlias$$$$decorate$$($control$$11$$, $element$$104$$) { + $JSCompiler_StaticMethods_setHandleMouseEvents$$($control$$11$$); + $control$$11$$.$autoStates_$ &= -256; + $control$$11$$.$inDocument_$ && $control$$11$$.$state_$ & 32 && $JSCompiler_alias_THROW$$(Error("Component already rendered")); + $control$$11$$.$state_$ & 32 && $control$$11$$.$setState$(32, $JSCompiler_alias_FALSE$$); + $control$$11$$.$supportedStates_$ &= -33; + $goog$ui$TextareaRenderer$$.$superClass_$.$decorate$.call(this, $control$$11$$, $element$$104$$); + $control$$11$$.$setContent$($element$$104$$.value); + return $element$$104$$ +}; +$JSCompiler_prototypeAlias$$.$canDecorate$ = function $$JSCompiler_prototypeAlias$$$$canDecorate$$($element$$106$$) { + return"TEXTAREA" == $element$$106$$.tagName +}; +$JSCompiler_prototypeAlias$$.$setRightToLeft$ = $goog$nullFunction$$; +$JSCompiler_prototypeAlias$$.$isFocusable$ = function $$JSCompiler_prototypeAlias$$$$isFocusable$$($textarea$$1$$) { + return $textarea$$1$$.isEnabled() +}; +$JSCompiler_prototypeAlias$$.$setFocusable$ = $goog$nullFunction$$; +$JSCompiler_prototypeAlias$$.$setState$ = function $$JSCompiler_prototypeAlias$$$$setState$$($element$$107_textarea$$2$$, $state$$16$$, $enable$$13$$) { + $goog$ui$TextareaRenderer$$.$superClass_$.$setState$.call(this, $element$$107_textarea$$2$$, $state$$16$$, $enable$$13$$); + if(($element$$107_textarea$$2$$ = $element$$107_textarea$$2$$.$getElement$()) && 1 == $state$$16$$) { + $element$$107_textarea$$2$$.disabled = $enable$$13$$ + } +}; +$JSCompiler_prototypeAlias$$.$updateAriaState$ = $goog$nullFunction$$; +$JSCompiler_prototypeAlias$$.$setContent$ = function $$JSCompiler_prototypeAlias$$$$setContent$$($element$$108$$, $value$$78$$) { + $element$$108$$ && ($element$$108$$.value = $value$$78$$) +}; +$JSCompiler_prototypeAlias$$.$getCssClass$ = $JSCompiler_returnArg$$("goog-textarea"); +function $goog$ui$Textarea$$($content$$7$$, $opt_renderer$$1$$, $opt_domHelper$$4$$) { + $goog$ui$Control$$.call(this, $content$$7$$, $opt_renderer$$1$$ || $goog$ui$TextareaRenderer$$.$getInstance$(), $opt_domHelper$$4$$); + $JSCompiler_StaticMethods_setHandleMouseEvents$$(this); + this.$setAllowTextSelection$($JSCompiler_alias_TRUE$$); + $content$$7$$ || (this.$content_$ = "") +} +$goog$inherits$$($goog$ui$Textarea$$, $goog$ui$Control$$); +var $goog$ui$Textarea$NEEDS_HELP_SHRINKING_$$ = $goog$userAgent$GECKO$$ || $goog$userAgent$WEBKIT$$; +$JSCompiler_prototypeAlias$$ = $goog$ui$Textarea$$.prototype; +$JSCompiler_prototypeAlias$$.$isResizing_$ = $JSCompiler_alias_FALSE$$; +$JSCompiler_prototypeAlias$$.$height_$ = 0; +$JSCompiler_prototypeAlias$$.$maxHeight_$ = 0; +$JSCompiler_prototypeAlias$$.$minHeight_$ = 0; +$JSCompiler_prototypeAlias$$.$hasDiscoveredTextareaCharacteristics_$ = $JSCompiler_alias_FALSE$$; +$JSCompiler_prototypeAlias$$.$needsPaddingBorderFix_$ = $JSCompiler_alias_FALSE$$; +$JSCompiler_prototypeAlias$$.$scrollHeightIncludesPadding_$ = $JSCompiler_alias_FALSE$$; +$JSCompiler_prototypeAlias$$.$scrollHeightIncludesBorder_$ = $JSCompiler_alias_FALSE$$; +function $JSCompiler_StaticMethods_getPaddingBorderBoxHeight_$$($JSCompiler_StaticMethods_getPaddingBorderBoxHeight_$self$$) { + return $JSCompiler_StaticMethods_getPaddingBorderBoxHeight_$self$$.$paddingBox_$.top + $JSCompiler_StaticMethods_getPaddingBorderBoxHeight_$self$$.$paddingBox_$.bottom + $JSCompiler_StaticMethods_getPaddingBorderBoxHeight_$self$$.$borderBox_$.top + $JSCompiler_StaticMethods_getPaddingBorderBoxHeight_$self$$.$borderBox_$.bottom +} +function $JSCompiler_StaticMethods_getMinHeight_$$($JSCompiler_StaticMethods_getMinHeight_$self$$) { + var $minHeight$$ = $JSCompiler_StaticMethods_getMinHeight_$self$$.$minHeight_$, $textarea$$4$$ = $JSCompiler_StaticMethods_getMinHeight_$self$$.$getElement$(); + $minHeight$$ && ($textarea$$4$$ && $JSCompiler_StaticMethods_getMinHeight_$self$$.$needsPaddingBorderFix_$) && ($minHeight$$ -= $JSCompiler_StaticMethods_getPaddingBorderBoxHeight_$$($JSCompiler_StaticMethods_getMinHeight_$self$$)); + return $minHeight$$ +} +function $JSCompiler_StaticMethods_getMaxHeight_$$($JSCompiler_StaticMethods_getMaxHeight_$self$$) { + var $maxHeight$$ = $JSCompiler_StaticMethods_getMaxHeight_$self$$.$maxHeight_$, $textarea$$5$$ = $JSCompiler_StaticMethods_getMaxHeight_$self$$.$getElement$(); + $maxHeight$$ && ($textarea$$5$$ && $JSCompiler_StaticMethods_getMaxHeight_$self$$.$needsPaddingBorderFix_$) && ($maxHeight$$ -= $JSCompiler_StaticMethods_getPaddingBorderBoxHeight_$$($JSCompiler_StaticMethods_getMaxHeight_$self$$)); + return $maxHeight$$ +} +$JSCompiler_prototypeAlias$$.$setContent$ = function $$JSCompiler_prototypeAlias$$$$setContent$$($content$$8$$) { + $goog$ui$Textarea$$.$superClass_$.$setContent$.call(this, $content$$8$$); + this.$getElement$() && this.$grow_$() +}; +$JSCompiler_prototypeAlias$$.$enterDocument$ = function $$JSCompiler_prototypeAlias$$$$enterDocument$$() { + $goog$ui$Textarea$$.$superClass_$.$enterDocument$.call(this); + var $textarea$$6$$ = this.$getElement$(); + $goog$style$setStyle$$($textarea$$6$$, {overflowY:"hidden", overflowX:"auto", boxSizing:"border-box", MsBoxSizing:"border-box", WebkitBoxSizing:"border-box", MozBoxSizing:"border-box"}); + this.$paddingBox_$ = $goog$style$getBox_$$($textarea$$6$$, "padding"); + this.$borderBox_$ = $goog$style$getBorderBox$$($textarea$$6$$); + $JSCompiler_StaticMethods_listen$$($JSCompiler_StaticMethods_listen$$($JSCompiler_StaticMethods_listen$$($JSCompiler_StaticMethods_listen$$(this.$getHandler$(), $textarea$$6$$, "scroll", this.$grow_$), $textarea$$6$$, "focus", this.$grow_$), $textarea$$6$$, "keyup", this.$grow_$), $textarea$$6$$, "mouseup", this.$mouseUpListener_$); + this.$getElement$() && this.$grow_$() +}; +function $JSCompiler_StaticMethods_getHeight_$$($JSCompiler_StaticMethods_getHeight_$self_borderBox$$3$$) { + if(!$JSCompiler_StaticMethods_getHeight_$self_borderBox$$3$$.$hasDiscoveredTextareaCharacteristics_$) { + var $textarea$$7_textarea$$inline_659$$ = $JSCompiler_StaticMethods_getHeight_$self_borderBox$$3$$.$getElement$().cloneNode($JSCompiler_alias_FALSE$$); + $goog$style$setStyle$$($textarea$$7_textarea$$inline_659$$, {position:"absolute", height:"auto", top:"-9999px", margin:"0", padding:"1px", border:"1px solid #000", overflow:"hidden"}); + $JSCompiler_StaticMethods_getHeight_$self_borderBox$$3$$.$getDomHelper$().$document_$.body.appendChild($textarea$$7_textarea$$inline_659$$); + var $JSCompiler_temp_const$$15_height$$21_initialScrollHeight$$inline_660$$ = $textarea$$7_textarea$$inline_659$$.scrollHeight; + $textarea$$7_textarea$$inline_659$$.style.padding = "10px"; + var $height$$inline_665_paddingBox$$3_paddingScrollHeight$$inline_661$$ = $textarea$$7_textarea$$inline_659$$.scrollHeight; + $JSCompiler_StaticMethods_getHeight_$self_borderBox$$3$$.$scrollHeightIncludesPadding_$ = $height$$inline_665_paddingBox$$3_paddingScrollHeight$$inline_661$$ > $JSCompiler_temp_const$$15_height$$21_initialScrollHeight$$inline_660$$; + $textarea$$7_textarea$$inline_659$$.style.borderWidth = "10px"; + $JSCompiler_StaticMethods_getHeight_$self_borderBox$$3$$.$scrollHeightIncludesBorder_$ = $textarea$$7_textarea$$inline_659$$.scrollHeight > $height$$inline_665_paddingBox$$3_paddingScrollHeight$$inline_661$$; + $textarea$$7_textarea$$inline_659$$.style.height = "100px"; + 100 != $textarea$$7_textarea$$inline_659$$.offsetHeight && ($JSCompiler_StaticMethods_getHeight_$self_borderBox$$3$$.$needsPaddingBorderFix_$ = $JSCompiler_alias_TRUE$$); + $goog$dom$removeNode$$($textarea$$7_textarea$$inline_659$$); + $JSCompiler_StaticMethods_getHeight_$self_borderBox$$3$$.$hasDiscoveredTextareaCharacteristics_$ = $JSCompiler_alias_TRUE$$ + } + var $textarea$$7_textarea$$inline_659$$ = $JSCompiler_StaticMethods_getHeight_$self_borderBox$$3$$.$getElement$(), $JSCompiler_temp_const$$15_height$$21_initialScrollHeight$$inline_660$$ = $JSCompiler_StaticMethods_getHeight_$self_borderBox$$3$$.$getElement$().scrollHeight, $borderBox$$inline_667_textarea$$inline_664$$ = $JSCompiler_StaticMethods_getHeight_$self_borderBox$$3$$.$getElement$(), $height$$inline_665_paddingBox$$3_paddingScrollHeight$$inline_661$$ = $borderBox$$inline_667_textarea$$inline_664$$.offsetHeight - + $borderBox$$inline_667_textarea$$inline_664$$.clientHeight; + if(!$JSCompiler_StaticMethods_getHeight_$self_borderBox$$3$$.$scrollHeightIncludesPadding_$) { + var $paddingBox$$inline_666$$ = $JSCompiler_StaticMethods_getHeight_$self_borderBox$$3$$.$paddingBox_$, $height$$inline_665_paddingBox$$3_paddingScrollHeight$$inline_661$$ = $height$$inline_665_paddingBox$$3_paddingScrollHeight$$inline_661$$ - ($paddingBox$$inline_666$$.top + $paddingBox$$inline_666$$.bottom) + } + $JSCompiler_StaticMethods_getHeight_$self_borderBox$$3$$.$scrollHeightIncludesBorder_$ || ($borderBox$$inline_667_textarea$$inline_664$$ = $goog$style$getBorderBox$$($borderBox$$inline_667_textarea$$inline_664$$), $height$$inline_665_paddingBox$$3_paddingScrollHeight$$inline_661$$ -= $borderBox$$inline_667_textarea$$inline_664$$.top + $borderBox$$inline_667_textarea$$inline_664$$.bottom); + $JSCompiler_temp_const$$15_height$$21_initialScrollHeight$$inline_660$$ += 0 < $height$$inline_665_paddingBox$$3_paddingScrollHeight$$inline_661$$ ? $height$$inline_665_paddingBox$$3_paddingScrollHeight$$inline_661$$ : 0; + $JSCompiler_StaticMethods_getHeight_$self_borderBox$$3$$.$needsPaddingBorderFix_$ ? $JSCompiler_temp_const$$15_height$$21_initialScrollHeight$$inline_660$$ -= $JSCompiler_StaticMethods_getPaddingBorderBoxHeight_$$($JSCompiler_StaticMethods_getHeight_$self_borderBox$$3$$) : ($JSCompiler_StaticMethods_getHeight_$self_borderBox$$3$$.$scrollHeightIncludesPadding_$ || ($height$$inline_665_paddingBox$$3_paddingScrollHeight$$inline_661$$ = $JSCompiler_StaticMethods_getHeight_$self_borderBox$$3$$.$paddingBox_$, + $JSCompiler_temp_const$$15_height$$21_initialScrollHeight$$inline_660$$ += $height$$inline_665_paddingBox$$3_paddingScrollHeight$$inline_661$$.top + $height$$inline_665_paddingBox$$3_paddingScrollHeight$$inline_661$$.bottom), $JSCompiler_StaticMethods_getHeight_$self_borderBox$$3$$.$scrollHeightIncludesBorder_$ || ($JSCompiler_StaticMethods_getHeight_$self_borderBox$$3$$ = $goog$style$getBorderBox$$($textarea$$7_textarea$$inline_659$$), $JSCompiler_temp_const$$15_height$$21_initialScrollHeight$$inline_660$$ += + $JSCompiler_StaticMethods_getHeight_$self_borderBox$$3$$.top + $JSCompiler_StaticMethods_getHeight_$self_borderBox$$3$$.bottom)); + return $JSCompiler_temp_const$$15_height$$21_initialScrollHeight$$inline_660$$ +} +function $JSCompiler_StaticMethods_setHeight_$$($JSCompiler_StaticMethods_setHeight_$self$$, $height$$22$$) { + $JSCompiler_StaticMethods_setHeight_$self$$.$height_$ != $height$$22$$ && ($JSCompiler_StaticMethods_setHeight_$self$$.$height_$ = $height$$22$$, $JSCompiler_StaticMethods_setHeight_$self$$.$getElement$().style.height = $height$$22$$ + "px") +} +function $JSCompiler_StaticMethods_setHeightToEstimate_$$($JSCompiler_StaticMethods_setHeightToEstimate_$self_textarea$$8$$) { + $JSCompiler_StaticMethods_setHeightToEstimate_$self_textarea$$8$$ = $JSCompiler_StaticMethods_setHeightToEstimate_$self_textarea$$8$$.$getElement$(); + $JSCompiler_StaticMethods_setHeightToEstimate_$self_textarea$$8$$.style.height = "auto"; + var $newlines$$ = $JSCompiler_StaticMethods_setHeightToEstimate_$self_textarea$$8$$.value.match(/\n/g) || []; + $JSCompiler_StaticMethods_setHeightToEstimate_$self_textarea$$8$$.rows = $newlines$$.length + 1 +} +$JSCompiler_prototypeAlias$$.$grow_$ = function $$JSCompiler_prototypeAlias$$$$grow_$$() { + if(!this.$isResizing_$) { + var $shouldCallShrink_textarea$$inline_673$$ = $JSCompiler_alias_FALSE$$; + this.$isResizing_$ = $JSCompiler_alias_TRUE$$; + var $isEmpty$$inline_674_textarea$$11$$ = this.$getElement$(), $oldHeight$$ = this.$height_$; + if($isEmpty$$inline_674_textarea$$11$$.scrollHeight) { + var $minHeight$$inline_677_setMinHeight$$ = $JSCompiler_alias_FALSE$$, $scrollHeight$$inline_675_setMaxHeight_shrinkToHeight$$inline_680$$ = $JSCompiler_alias_FALSE$$, $currentHeight$$inline_676_newHeight$$ = $JSCompiler_StaticMethods_getHeight_$$(this), $currentHeight_maxHeight$$inline_678_paddingBox$$inline_679$$ = $isEmpty$$inline_674_textarea$$11$$.offsetHeight, $minHeight$$1$$ = $JSCompiler_StaticMethods_getMinHeight_$$(this), $maxHeight$$1$$ = $JSCompiler_StaticMethods_getMaxHeight_$$(this); + $minHeight$$1$$ && $currentHeight$$inline_676_newHeight$$ < $minHeight$$1$$ ? ($JSCompiler_StaticMethods_setHeight_$$(this, $minHeight$$1$$), $minHeight$$inline_677_setMinHeight$$ = $JSCompiler_alias_TRUE$$) : $maxHeight$$1$$ && $currentHeight$$inline_676_newHeight$$ > $maxHeight$$1$$ ? ($JSCompiler_StaticMethods_setHeight_$$(this, $maxHeight$$1$$), $isEmpty$$inline_674_textarea$$11$$.style.overflowY = "", $scrollHeight$$inline_675_setMaxHeight_shrinkToHeight$$inline_680$$ = $JSCompiler_alias_TRUE$$) : + $currentHeight_maxHeight$$inline_678_paddingBox$$inline_679$$ != $currentHeight$$inline_676_newHeight$$ ? $JSCompiler_StaticMethods_setHeight_$$(this, $currentHeight$$inline_676_newHeight$$) : this.$height_$ || (this.$height_$ = $currentHeight$$inline_676_newHeight$$); + !$minHeight$$inline_677_setMinHeight$$ && (!$scrollHeight$$inline_675_setMaxHeight_shrinkToHeight$$inline_680$$ && $goog$ui$Textarea$NEEDS_HELP_SHRINKING_$$) && ($shouldCallShrink_textarea$$inline_673$$ = $JSCompiler_alias_TRUE$$) + }else { + $JSCompiler_StaticMethods_setHeightToEstimate_$$(this) + } + this.$isResizing_$ = $JSCompiler_alias_FALSE$$; + $shouldCallShrink_textarea$$inline_673$$ && ($shouldCallShrink_textarea$$inline_673$$ = this.$getElement$(), this.$isResizing_$ || (this.$isResizing_$ = $JSCompiler_alias_TRUE$$, $isEmpty$$inline_674_textarea$$11$$ = $JSCompiler_alias_FALSE$$, $shouldCallShrink_textarea$$inline_673$$.value || ($shouldCallShrink_textarea$$inline_673$$.value = " ", $isEmpty$$inline_674_textarea$$11$$ = $JSCompiler_alias_TRUE$$), ($scrollHeight$$inline_675_setMaxHeight_shrinkToHeight$$inline_680$$ = $shouldCallShrink_textarea$$inline_673$$.scrollHeight) ? + ($currentHeight$$inline_676_newHeight$$ = $JSCompiler_StaticMethods_getHeight_$$(this), $minHeight$$inline_677_setMinHeight$$ = $JSCompiler_StaticMethods_getMinHeight_$$(this), $currentHeight_maxHeight$$inline_678_paddingBox$$inline_679$$ = $JSCompiler_StaticMethods_getMaxHeight_$$(this), !($minHeight$$inline_677_setMinHeight$$ && $currentHeight$$inline_676_newHeight$$ <= $minHeight$$inline_677_setMinHeight$$) && !($currentHeight_maxHeight$$inline_678_paddingBox$$inline_679$$ && $currentHeight$$inline_676_newHeight$$ >= + $currentHeight_maxHeight$$inline_678_paddingBox$$inline_679$$) && ($currentHeight_maxHeight$$inline_678_paddingBox$$inline_679$$ = this.$paddingBox_$, $shouldCallShrink_textarea$$inline_673$$.style.paddingBottom = $currentHeight_maxHeight$$inline_678_paddingBox$$inline_679$$.bottom + 1 + "px", $JSCompiler_StaticMethods_getHeight_$$(this) == $currentHeight$$inline_676_newHeight$$ && ($shouldCallShrink_textarea$$inline_673$$.style.paddingBottom = $currentHeight_maxHeight$$inline_678_paddingBox$$inline_679$$.bottom + + $scrollHeight$$inline_675_setMaxHeight_shrinkToHeight$$inline_680$$ + "px", $shouldCallShrink_textarea$$inline_673$$.scrollTop = 0, $scrollHeight$$inline_675_setMaxHeight_shrinkToHeight$$inline_680$$ = $JSCompiler_StaticMethods_getHeight_$$(this) - $scrollHeight$$inline_675_setMaxHeight_shrinkToHeight$$inline_680$$, $scrollHeight$$inline_675_setMaxHeight_shrinkToHeight$$inline_680$$ >= $minHeight$$inline_677_setMinHeight$$ ? $JSCompiler_StaticMethods_setHeight_$$(this, $scrollHeight$$inline_675_setMaxHeight_shrinkToHeight$$inline_680$$) : + $JSCompiler_StaticMethods_setHeight_$$(this, $minHeight$$inline_677_setMinHeight$$)), $shouldCallShrink_textarea$$inline_673$$.style.paddingBottom = $currentHeight_maxHeight$$inline_678_paddingBox$$inline_679$$.bottom + "px")) : $JSCompiler_StaticMethods_setHeightToEstimate_$$(this), $isEmpty$$inline_674_textarea$$11$$ && ($shouldCallShrink_textarea$$inline_673$$.value = ""), this.$isResizing_$ = $JSCompiler_alias_FALSE$$)); + $oldHeight$$ != this.$height_$ && this.dispatchEvent("resize") + } +}; +$JSCompiler_prototypeAlias$$.$mouseUpListener_$ = function $$JSCompiler_prototypeAlias$$$$mouseUpListener_$$() { + var $dropShadow_textarea$$13$$ = this.$getElement$(), $height$$24$$ = $dropShadow_textarea$$13$$.offsetHeight; + $dropShadow_textarea$$13$$.filters && $dropShadow_textarea$$13$$.filters.length && ($dropShadow_textarea$$13$$ = $dropShadow_textarea$$13$$.filters.item("DXImageTransform.Microsoft.DropShadow")) && ($height$$24$$ -= $dropShadow_textarea$$13$$.offX); + $height$$24$$ != this.$height_$ && (this.$height_$ = this.$minHeight_$ = $height$$24$$) +}; +$goog$userAgent$IE$$ && $goog$userAgent$isVersion$$(8); +function $soy$$0$0escapeHtml$$($value$$80$$) { + return"object" === typeof $value$$80$$ && $value$$80$$ && 0 === $value$$80$$.$contentKind$ ? $value$$80$$.content : String($value$$80$$).replace($soy$esc$$0$0MATCHER_FOR_ESCAPE_HTML_$$, $soy$esc$$0$0REPLACER_FOR_ESCAPE_HTML__AND__NORMALIZE_HTML__AND__ESCAPE_HTML_NOSPACE__AND__NORMALIZE_HTML_NOSPACE_$$) +} +var $soy$esc$$0$0ESCAPE_MAP_FOR_ESCAPE_HTML__AND__NORMALIZE_HTML__AND__ESCAPE_HTML_NOSPACE__AND__NORMALIZE_HTML_NOSPACE_$$ = {"\x00":"�", '"':""", "&":"&", "'":"'", "<":"<", ">":">", "\t":" ", "\n":" ", "\x0B":" ", "\f":" ", "\r":" ", " ":" ", "-":"-", "/":"/", "=":"=", "`":"`", "\u0085":"…", "\u00a0":" ", "\u2028":"
", "\u2029":"
"}; +function $soy$esc$$0$0REPLACER_FOR_ESCAPE_HTML__AND__NORMALIZE_HTML__AND__ESCAPE_HTML_NOSPACE__AND__NORMALIZE_HTML_NOSPACE_$$($ch$$7$$) { + return $soy$esc$$0$0ESCAPE_MAP_FOR_ESCAPE_HTML__AND__NORMALIZE_HTML__AND__ESCAPE_HTML_NOSPACE__AND__NORMALIZE_HTML_NOSPACE_$$[$ch$$7$$] +} +var $soy$esc$$0$0MATCHER_FOR_ESCAPE_HTML_$$ = /[\x00\x22\x26\x27\x3c\x3e]/g; +function $annotorious$templates$popup$$() { + return'' +} +function $annotorious$templates$editform$$() { + return'' +} +;function $annotorious$Editor$$($annotator$$25$$) { + function $opt_callback$$inline_691$$() { + var $JSCompiler_StaticMethods_resize$self$$inline_688$$ = $self$$5$$.$_textarea$; + $JSCompiler_StaticMethods_resize$self$$inline_688$$.$getElement$() && $JSCompiler_StaticMethods_resize$self$$inline_688$$.$grow_$() + } + this.element = $goog$soy$renderAsElement$$($annotorious$templates$editform$$); + this.$_annotator$ = $annotator$$25$$; + this.$_item$ = $annotator$$25$$.getItem(); + this.$_textarea$ = new $goog$ui$Textarea$$(""); + this.$_btnCancel$ = $query$$inline_159$$(".annotorious-editor-button-cancel", this.element)[0]; + this.$_btnSave$ = $query$$inline_159$$(".annotorious-editor-button-save", this.element)[0]; + var $JSCompiler_inline_result$$34_dragger$$inline_695_element$$inline_682_handle$$inline_692_parent$$inline_683$$; + $JSCompiler_inline_result$$34_dragger$$inline_695_element$$inline_682_handle$$inline_692_parent$$inline_683$$ = this.$_btnSave$; + $goog$dom$BrowserFeature$CAN_USE_PARENT_ELEMENT_PROPERTY$$ ? $JSCompiler_inline_result$$34_dragger$$inline_695_element$$inline_682_handle$$inline_692_parent$$inline_683$$ = $JSCompiler_inline_result$$34_dragger$$inline_695_element$$inline_682_handle$$inline_692_parent$$inline_683$$.parentElement : ($JSCompiler_inline_result$$34_dragger$$inline_695_element$$inline_682_handle$$inline_692_parent$$inline_683$$ = $JSCompiler_inline_result$$34_dragger$$inline_695_element$$inline_682_handle$$inline_692_parent$$inline_683$$.parentNode, + $JSCompiler_inline_result$$34_dragger$$inline_695_element$$inline_682_handle$$inline_692_parent$$inline_683$$ = $goog$dom$isElement$$($JSCompiler_inline_result$$34_dragger$$inline_695_element$$inline_682_handle$$inline_692_parent$$inline_683$$) ? $JSCompiler_inline_result$$34_dragger$$inline_695_element$$inline_682_handle$$inline_692_parent$$inline_683$$ : $JSCompiler_alias_NULL$$); + this.$_btnContainer$ = $JSCompiler_inline_result$$34_dragger$$inline_695_element$$inline_682_handle$$inline_692_parent$$inline_683$$; + this.$_extraFields$ = []; + var $self$$5$$ = this; + $goog$events$listen$$(this.$_btnCancel$, "click", function($event$$4$$) { + $event$$4$$.preventDefault(); + $annotator$$25$$.stopSelection($self$$5$$.$_original_annotation$); + $self$$5$$.close() + }); + $goog$events$listen$$(this.$_btnSave$, "click", function($annotation$$8_event$$5$$) { + $annotation$$8_event$$5$$.preventDefault(); + $annotation$$8_event$$5$$ = $self$$5$$.$getAnnotation$(); + $annotator$$25$$.$addAnnotation$($annotation$$8_event$$5$$); + $annotator$$25$$.stopSelection(); + $self$$5$$.$_original_annotation$ ? $annotator$$25$$.fireEvent("onAnnotationUpdated", $annotation$$8_event$$5$$, $annotator$$25$$.getItem()) : $annotator$$25$$.fireEvent("onAnnotationCreated", $annotation$$8_event$$5$$, $annotator$$25$$.getItem()); + $self$$5$$.close() + }); + $goog$style$showElement$$(this.element, $JSCompiler_alias_FALSE$$); + $annotator$$25$$.element.appendChild(this.element); + this.$_textarea$.$decorate$($query$$inline_159$$(".annotorious-editor-text", this.element)[0]); + var $div$$inline_690$$ = this.element; + $JSCompiler_inline_result$$34_dragger$$inline_695_element$$inline_682_handle$$inline_692_parent$$inline_683$$ = document.createElement("div"); + $goog$style$setStyle$$($JSCompiler_inline_result$$34_dragger$$inline_695_element$$inline_682_handle$$inline_692_parent$$inline_683$$, "position", "absolute"); + $goog$style$setStyle$$($JSCompiler_inline_result$$34_dragger$$inline_695_element$$inline_682_handle$$inline_692_parent$$inline_683$$, "top", "0px"); + $goog$style$setStyle$$($JSCompiler_inline_result$$34_dragger$$inline_695_element$$inline_682_handle$$inline_692_parent$$inline_683$$, "right", "0px"); + $goog$style$setStyle$$($JSCompiler_inline_result$$34_dragger$$inline_695_element$$inline_682_handle$$inline_692_parent$$inline_683$$, "width", "5px"); + $goog$style$setStyle$$($JSCompiler_inline_result$$34_dragger$$inline_695_element$$inline_682_handle$$inline_692_parent$$inline_683$$, "height", "100%"); + $goog$style$setStyle$$($JSCompiler_inline_result$$34_dragger$$inline_695_element$$inline_682_handle$$inline_692_parent$$inline_683$$, "cursor", "e-resize"); + $div$$inline_690$$.appendChild($JSCompiler_inline_result$$34_dragger$$inline_695_element$$inline_682_handle$$inline_692_parent$$inline_683$$); + var $div_border$$inline_693_width_limit$$inline_694$$ = $goog$style$getBorderBox$$($div$$inline_690$$), $div_border$$inline_693_width_limit$$inline_694$$ = $goog$style$getBounds$$($div$$inline_690$$).width - $div_border$$inline_693_width_limit$$inline_694$$.right - $div_border$$inline_693_width_limit$$inline_694$$.left; + $JSCompiler_inline_result$$34_dragger$$inline_695_element$$inline_682_handle$$inline_692_parent$$inline_683$$ = new $goog$fx$Dragger$$($JSCompiler_inline_result$$34_dragger$$inline_695_element$$inline_682_handle$$inline_692_parent$$inline_683$$); + $JSCompiler_inline_result$$34_dragger$$inline_695_element$$inline_682_handle$$inline_692_parent$$inline_683$$.$limits$ = new $goog$math$Rect$$($div_border$$inline_693_width_limit$$inline_694$$, 0, 800, 0) || new $goog$math$Rect$$(NaN, NaN, NaN, NaN); + $JSCompiler_inline_result$$34_dragger$$inline_695_element$$inline_682_handle$$inline_692_parent$$inline_683$$.$defaultAction$ = function $$JSCompiler_inline_result$$34_dragger$$inline_695_element$$inline_682_handle$$inline_692_parent$$inline_683$$$$defaultAction$$($x$$inline_696$$) { + $goog$style$setStyle$$($div$$inline_690$$, "width", $x$$inline_696$$ + "px"); + $opt_callback$$inline_691$$ && $opt_callback$$inline_691$$() + } +} +$JSCompiler_prototypeAlias$$ = $annotorious$Editor$$.prototype; +$JSCompiler_prototypeAlias$$.$addField$ = function $$JSCompiler_prototypeAlias$$$$addField$$($field_refNode$$inline_702$$) { + var $fieldEl$$ = $goog$dom$createDom$$("div", "annotorious-editor-field"); + $goog$isString$$($field_refNode$$inline_702$$) ? $fieldEl$$.innerHTML = $field_refNode$$inline_702$$ : $goog$isFunction$$($field_refNode$$inline_702$$) ? this.$_extraFields$.push({$el$:$fieldEl$$, $fn$:$field_refNode$$inline_702$$}) : $goog$dom$isElement$$($field_refNode$$inline_702$$) && $fieldEl$$.appendChild($field_refNode$$inline_702$$); + $field_refNode$$inline_702$$ = this.$_btnContainer$; + $field_refNode$$inline_702$$.parentNode && $field_refNode$$inline_702$$.parentNode.insertBefore($fieldEl$$, $field_refNode$$inline_702$$) +}; +$JSCompiler_prototypeAlias$$.open = function $$JSCompiler_prototypeAlias$$$open$($opt_annotation$$) { + (this.$_current_annotation$ = this.$_original_annotation$ = $opt_annotation$$) && this.$_textarea$.$setContent$(String($opt_annotation$$.text)); + $goog$style$showElement$$(this.element, $JSCompiler_alias_TRUE$$); + this.$_textarea$.$getElement$().focus(); + $goog$array$forEach$$(this.$_extraFields$, function($field$$1$$) { + var $f$$45$$ = $field$$1$$.$fn$($opt_annotation$$); + $goog$isString$$($f$$45$$) ? $field$$1$$.$el$.innerHTML = $f$$45$$ : $goog$dom$isElement$$($f$$45$$) && ($goog$dom$removeChildren$$($field$$1$$.$el$), $field$$1$$.$el$.appendChild($f$$45$$)) + }); + this.$_annotator$.fireEvent("onEditorShown", $opt_annotation$$) +}; +$JSCompiler_prototypeAlias$$.close = function $$JSCompiler_prototypeAlias$$$close$() { + $goog$style$showElement$$(this.element, $JSCompiler_alias_FALSE$$); + this.$_textarea$.$setContent$("") +}; +$JSCompiler_prototypeAlias$$.setPosition = function $$JSCompiler_prototypeAlias$$$setPosition$($xy$$) { + $goog$style$setPosition$$(this.element, $xy$$.x, $xy$$.y) +}; +$JSCompiler_prototypeAlias$$.$getAnnotation$ = function $$JSCompiler_prototypeAlias$$$$getAnnotation$$() { + var $htmlText$$inline_713_sanitized$$; + $htmlText$$inline_713_sanitized$$ = this.$_textarea$.$getElement$().value; + var $stringBuffer$$inline_716$$ = new $goog$string$StringBuffer$$; + (new $goog$string$html$HtmlParser$$).parse(new $goog$string$html$HtmlSanitizer$$($stringBuffer$$inline_716$$, function($url$$22$$) { + return $url$$22$$ + }, $JSCompiler_alias_VOID$$), $htmlText$$inline_713_sanitized$$); + $htmlText$$inline_713_sanitized$$ = $stringBuffer$$inline_716$$.toString(); + this.$_current_annotation$ ? this.$_current_annotation$.text = $htmlText$$inline_713_sanitized$$ : this.$_current_annotation$ = new $annotorious$Annotation$$(this.$_item$.src, $htmlText$$inline_713_sanitized$$, this.$_annotator$.$getActiveSelector$().getShape()); + return this.$_current_annotation$ +}; +$annotorious$Editor$$.prototype.addField = $annotorious$Editor$$.prototype.$addField$; +$annotorious$Editor$$.prototype.getAnnotation = $annotorious$Editor$$.prototype.$getAnnotation$; +function $annotorious$Hint$$($annotator$$26$$, $parent$$24$$, $opt_msg$$1$$) { + var $self$$6$$ = this; + $opt_msg$$1$$ || ($opt_msg$$1$$ = "Click and Drag to Annotate"); + this.element = $goog$soy$renderAsElement$$($annotorious$templates$image$hint$$, {$msg$:$opt_msg$$1$$}); + this.$_annotator$ = $annotator$$26$$; + this.$_message$ = $query$$inline_159$$(".annotorious-hint-msg", this.element)[0]; + this.$_icon$ = $query$$inline_159$$(".annotorious-hint-icon", this.element)[0]; + this.$_overItemHandler$ = function $this$$_overItemHandler$$() { + $self$$6$$.show() + }; + this.$_outOfItemHandler$ = function $this$$_outOfItemHandler$$() { + $JSCompiler_StaticMethods_hide$$($self$$6$$) + }; + this.$_attachListeners$(); + $JSCompiler_StaticMethods_hide$$(this); + $parent$$24$$.appendChild(this.element) +} +$annotorious$Hint$$.prototype.$_attachListeners$ = function $$annotorious$Hint$$$$$_attachListeners$$() { + var $self$$7$$ = this; + this.$_mouseOverListener$ = $goog$events$listen$$(this.$_icon$, "mouseover", function() { + $self$$7$$.show(); + window.clearTimeout($self$$7$$.$_hideTimer$) + }); + this.$_mouseOutListener$ = $goog$events$listen$$(this.$_icon$, "mouseout", function() { + $JSCompiler_StaticMethods_hide$$($self$$7$$) + }); + this.$_annotator$.addHandler("onMouseOverItem", this.$_overItemHandler$); + this.$_annotator$.addHandler("onMouseOutOfItem", this.$_outOfItemHandler$) +}; +$annotorious$Hint$$.prototype.$_detachListeners$ = function $$annotorious$Hint$$$$$_detachListeners$$() { + $goog$events$unlistenByKey$$(this.$_mouseOverListener$); + $goog$events$unlistenByKey$$(this.$_mouseOutListener$); + this.$_annotator$.$removeHandler$("onMouseOverItem", this.$_overItemHandler$); + this.$_annotator$.$removeHandler$("onMouseOutOfItem", this.$_outOfItemHandler$) +}; +$annotorious$Hint$$.prototype.show = function $$annotorious$Hint$$$$show$() { + window.clearTimeout(this.$_hideTimer$); + $goog$style$setOpacity$$(this.$_message$, 0.8); + var $self$$8$$ = this; + this.$_hideTimer$ = window.setTimeout(function() { + $JSCompiler_StaticMethods_hide$$($self$$8$$) + }, 3E3) +}; +function $JSCompiler_StaticMethods_hide$$($JSCompiler_StaticMethods_hide$self$$) { + window.clearTimeout($JSCompiler_StaticMethods_hide$self$$.$_hideTimer$); + $goog$style$setOpacity$$($JSCompiler_StaticMethods_hide$self$$.$_message$, 0) +} +$annotorious$Hint$$.prototype.destroy = function $$annotorious$Hint$$$$destroy$() { + this.$_detachListeners$(); + delete this.$_mouseOverListener$; + delete this.$_mouseOutListener$; + delete this.$_overItemHandler$; + delete this.$_outOfItemHandler$; + $goog$dom$removeNode$$(this.element) +}; +function $annotorious$Popup$$($annotator$$27$$) { + this.element = $goog$soy$renderAsElement$$($annotorious$templates$popup$$); + this.$_annotator$ = $annotator$$27$$; + this.$_text$ = $query$$inline_159$$(".annotorious-popup-text", this.element)[0]; + this.$_buttons$ = $query$$inline_159$$(".annotorious-popup-buttons", this.element)[0]; + this.$_cancelHide$ = $JSCompiler_alias_FALSE$$; + this.$_extraFields$ = []; + var $btnEdit$$ = $query$$inline_159$$(".annotorious-popup-button-edit", this.$_buttons$)[0], $btnDelete$$ = $query$$inline_159$$(".annotorious-popup-button-delete", this.$_buttons$)[0], $self$$9$$ = this; + $goog$events$listen$$($btnEdit$$, "mouseover", function() { + $goog$dom$classes$add$$($btnEdit$$, "annotorious-popup-button-active") + }); + $goog$events$listen$$($btnEdit$$, "mouseout", function() { + $goog$dom$classes$remove$$($btnEdit$$, "annotorious-popup-button-active") + }); + $goog$events$listen$$($btnEdit$$, "click", function() { + $goog$style$setOpacity$$($self$$9$$.element, 0); + $goog$style$setStyle$$($self$$9$$.element, "pointer-events", "none"); + $annotator$$27$$.$editAnnotation$($self$$9$$.$_currentAnnotation$) + }); + $goog$events$listen$$($btnDelete$$, "mouseover", function() { + $goog$dom$classes$add$$($btnDelete$$, "annotorious-popup-button-active") + }); + $goog$events$listen$$($btnDelete$$, "mouseout", function() { + $goog$dom$classes$remove$$($btnDelete$$, "annotorious-popup-button-active") + }); + $goog$events$listen$$($btnDelete$$, "click", function() { + $annotator$$27$$.fireEvent("beforeAnnotationRemoved", $self$$9$$.$_currentAnnotation$) || ($goog$style$setOpacity$$($self$$9$$.element, 0), $goog$style$setStyle$$($self$$9$$.element, "pointer-events", "none"), $annotator$$27$$.$removeAnnotation$($self$$9$$.$_currentAnnotation$), $annotator$$27$$.fireEvent("onAnnotationRemoved", $self$$9$$.$_currentAnnotation$)) + }); + $annotorious$events$ui$hasMouse$$ && ($goog$events$listen$$(this.element, "mouseover", function() { + window.clearTimeout($self$$9$$.$_buttonHideTimer$); + 0.9 > ($self$$9$$.$_buttons$.style[$goog$string$toCamelCase$$("opacity")] || "") && $goog$style$setOpacity$$($self$$9$$.$_buttons$, 0.9); + $self$$9$$.clearHideTimer() + }), $goog$events$listen$$(this.element, "mouseout", function() { + $goog$style$setOpacity$$($self$$9$$.$_buttons$, 0); + $self$$9$$.startHideTimer() + }), $annotator$$27$$.addHandler("onMouseOutOfItem", function() { + $self$$9$$.startHideTimer() + })); + $goog$style$setOpacity$$(this.$_buttons$, 0); + $goog$style$setOpacity$$(this.element, 0); + $goog$style$setStyle$$(this.element, "pointer-events", "none"); + $annotator$$27$$.element.appendChild(this.element) +} +$JSCompiler_prototypeAlias$$ = $annotorious$Popup$$.prototype; +$JSCompiler_prototypeAlias$$.$addField$ = function $$JSCompiler_prototypeAlias$$$$addField$$($field$$2$$) { + var $fieldEl$$1$$ = $goog$dom$createDom$$("div", "annotorious-popup-field"); + $goog$isString$$($field$$2$$) ? $fieldEl$$1$$.innerHTML = $field$$2$$ : $goog$isFunction$$($field$$2$$) ? this.$_extraFields$.push({$el$:$fieldEl$$1$$, $fn$:$field$$2$$}) : $goog$dom$isElement$$($field$$2$$) && $fieldEl$$1$$.appendChild($field$$2$$); + this.element.appendChild($fieldEl$$1$$) +}; +$JSCompiler_prototypeAlias$$.startHideTimer = function $$JSCompiler_prototypeAlias$$$startHideTimer$() { + this.$_cancelHide$ = $JSCompiler_alias_FALSE$$; + if(!this.$_popupHideTimer$) { + var $self$$10$$ = this; + this.$_popupHideTimer$ = window.setTimeout(function() { + $self$$10$$.$_annotator$.fireEvent("beforePopupHide", $self$$10$$); + $self$$10$$.$_cancelHide$ || ($goog$style$setOpacity$$($self$$10$$.element, 0), $goog$style$setStyle$$($self$$10$$.element, "pointer-events", "none"), $goog$style$setOpacity$$($self$$10$$.$_buttons$, 0.9), delete $self$$10$$.$_popupHideTimer$) + }, 150) + } +}; +$JSCompiler_prototypeAlias$$.clearHideTimer = function $$JSCompiler_prototypeAlias$$$clearHideTimer$() { + this.$_cancelHide$ = $JSCompiler_alias_TRUE$$; + this.$_popupHideTimer$ && (window.clearTimeout(this.$_popupHideTimer$), delete this.$_popupHideTimer$) +}; +$JSCompiler_prototypeAlias$$.show = function $$JSCompiler_prototypeAlias$$$show$($annotation$$9$$, $xy$$1$$) { + this.clearHideTimer(); + $xy$$1$$ && this.setPosition($xy$$1$$); + $annotation$$9$$ && this.setAnnotation($annotation$$9$$); + this.$_buttonHideTimer$ && window.clearTimeout(this.$_buttonHideTimer$); + $goog$style$setOpacity$$(this.$_buttons$, 0.9); + if($annotorious$events$ui$hasMouse$$) { + var $self$$11$$ = this; + this.$_buttonHideTimer$ = window.setTimeout(function() { + $goog$style$setOpacity$$($self$$11$$.$_buttons$, 0) + }, 1E3) + } + $goog$style$setOpacity$$(this.element, 0.9); + $goog$style$setStyle$$(this.element, "pointer-events", "auto"); + this.$_annotator$.fireEvent("onPopupShown", this.$_currentAnnotation$) +}; +$JSCompiler_prototypeAlias$$.setPosition = function $$JSCompiler_prototypeAlias$$$setPosition$($xy$$2$$) { + $goog$style$setPosition$$(this.element, new $goog$math$Coordinate$$($xy$$2$$.x, $xy$$2$$.y)) +}; +$JSCompiler_prototypeAlias$$.setAnnotation = function $$JSCompiler_prototypeAlias$$$setAnnotation$($annotation$$10$$) { + this.$_currentAnnotation$ = $annotation$$10$$; + this.$_text$.innerHTML = $annotation$$10$$.text ? $annotation$$10$$.text.replace(/\n/g, "
") : 'No comment'; + "editable" in $annotation$$10$$ && $annotation$$10$$.editable == $JSCompiler_alias_FALSE$$ ? $goog$style$showElement$$(this.$_buttons$, $JSCompiler_alias_FALSE$$) : $goog$style$showElement$$(this.$_buttons$, $JSCompiler_alias_TRUE$$); + $goog$array$forEach$$(this.$_extraFields$, function($field$$3$$) { + var $f$$46$$ = $field$$3$$.$fn$($annotation$$10$$); + $goog$isString$$($f$$46$$) ? $field$$3$$.$el$.innerHTML = $f$$46$$ : $goog$dom$isElement$$($f$$46$$) && ($goog$dom$removeChildren$$($field$$3$$.$el$), $field$$3$$.$el$.appendChild($f$$46$$)) + }) +}; +$annotorious$Popup$$.prototype.addField = $annotorious$Popup$$.prototype.$addField$; +function $annotorious$mediatypes$Annotator$$() { +} +$JSCompiler_prototypeAlias$$ = $annotorious$mediatypes$Annotator$$.prototype; +$JSCompiler_prototypeAlias$$.$addAnnotation$ = function $$JSCompiler_prototypeAlias$$$$addAnnotation$$($annotation$$11$$, $opt_replace$$2$$) { + this.$_viewer$.$addAnnotation$($annotation$$11$$, $opt_replace$$2$$) +}; +$JSCompiler_prototypeAlias$$.addHandler = function $$JSCompiler_prototypeAlias$$$addHandler$($type$$84$$, $handler$$12$$) { + this.$_eventBroker$.addHandler($type$$84$$, $handler$$12$$) +}; +$JSCompiler_prototypeAlias$$.fireEvent = function $$JSCompiler_prototypeAlias$$$fireEvent$($type$$85$$, $event$$15$$, $opt_extra$$1$$) { + return this.$_eventBroker$.fireEvent($type$$85$$, $event$$15$$, $opt_extra$$1$$) +}; +$JSCompiler_prototypeAlias$$.$getActiveSelector$ = $JSCompiler_get$$("$_currentSelector$"); +$JSCompiler_prototypeAlias$$.$highlightAnnotation$ = function $$JSCompiler_prototypeAlias$$$$highlightAnnotation$$($annotation$$12$$) { + this.$_viewer$.$highlightAnnotation$($annotation$$12$$) +}; +$JSCompiler_prototypeAlias$$.$removeAnnotation$ = function $$JSCompiler_prototypeAlias$$$$removeAnnotation$$($annotation$$13$$) { + this.$_viewer$.$removeAnnotation$($annotation$$13$$) +}; +$JSCompiler_prototypeAlias$$.$removeHandler$ = function $$JSCompiler_prototypeAlias$$$$removeHandler$$($type$$86$$, $handler$$13$$) { + this.$_eventBroker$.$removeHandler$($type$$86$$, $handler$$13$$) +}; +$JSCompiler_prototypeAlias$$.stopSelection = function $$JSCompiler_prototypeAlias$$$stopSelection$($original_annotation$$) { + $annotorious$events$ui$hasMouse$$ && $goog$style$showElement$$(this.$_editCanvas$, $JSCompiler_alias_FALSE$$); + this.$_stop_selection_callback$ && (this.$_stop_selection_callback$(), delete this.$_stop_selection_callback$); + this.$_currentSelector$.stopSelection(); + $original_annotation$$ && this.$_viewer$.$addAnnotation$($original_annotation$$) +}; +function $JSCompiler_StaticMethods__attachListener$$($JSCompiler_StaticMethods__attachListener$self$$, $activeCanvas$$) { + $goog$events$listen$$($activeCanvas$$, $annotorious$events$ui$EventType$DOWN$$, function($annotations$$1_coords_event$$16$$) { + console.log("start selection event"); + console.log($annotations$$1_coords_event$$16$$); + $annotations$$1_coords_event$$16$$ = $annotorious$events$ui$sanitizeCoordinates$$($annotations$$1_coords_event$$16$$, $activeCanvas$$); + $JSCompiler_StaticMethods__attachListener$self$$.$_viewer$.$highlightAnnotation$($JSCompiler_alias_FALSE$$); + $JSCompiler_StaticMethods__attachListener$self$$.$_selectionEnabled$ ? ($goog$style$showElement$$($JSCompiler_StaticMethods__attachListener$self$$.$_editCanvas$, $JSCompiler_alias_TRUE$$), $JSCompiler_StaticMethods__attachListener$self$$.$_currentSelector$.startSelection($annotations$$1_coords_event$$16$$.x, $annotations$$1_coords_event$$16$$.y)) : ($annotations$$1_coords_event$$16$$ = $JSCompiler_StaticMethods__attachListener$self$$.$_viewer$.$getAnnotationsAt$($annotations$$1_coords_event$$16$$.x, + $annotations$$1_coords_event$$16$$.y), 0 < $annotations$$1_coords_event$$16$$.length && $JSCompiler_StaticMethods__attachListener$self$$.$_viewer$.$highlightAnnotation$($annotations$$1_coords_event$$16$$[0])) + }) +} +;function $annotorious$mediatypes$image$Viewer$$($canvas$$, $annotator$$28$$) { + this.$_canvas$ = $canvas$$; + this.$_annotator$ = $annotator$$28$$; + this.$_annotations$ = []; + this.$_shapes$ = []; + this.$_g2d$ = this.$_canvas$.getContext("2d"); + this.$_eventsEnabled$ = $JSCompiler_alias_TRUE$$; + this.$_keepHighlighted$ = $JSCompiler_alias_FALSE$$; + var $self$$13$$ = this; + $goog$events$listen$$(this.$_canvas$, $annotorious$events$ui$EventType$MOVE$$, function($event$$17$$) { + if($self$$13$$.$_eventsEnabled$) { + var $topAnnotation$$inline_735$$ = $JSCompiler_StaticMethods_topAnnotationAt$$($self$$13$$, $event$$17$$.offsetX, $event$$17$$.offsetY); + $topAnnotation$$inline_735$$ ? ($self$$13$$.$_keepHighlighted$ = $self$$13$$.$_keepHighlighted$ && $topAnnotation$$inline_735$$ == $self$$13$$.$_currentAnnotation$, $self$$13$$.$_currentAnnotation$ ? $self$$13$$.$_currentAnnotation$ != $topAnnotation$$inline_735$$ && ($self$$13$$.$_eventsEnabled$ = $JSCompiler_alias_FALSE$$, $self$$13$$.$_annotator$.popup.startHideTimer()) : ($self$$13$$.$_currentAnnotation$ = $topAnnotation$$inline_735$$, $JSCompiler_StaticMethods_redraw$$($self$$13$$), $self$$13$$.$_annotator$.fireEvent("onMouseOverAnnotation", + {$annotation$:$self$$13$$.$_currentAnnotation$, mouseEvent:$event$$17$$}))) : !$self$$13$$.$_keepHighlighted$ && $self$$13$$.$_currentAnnotation$ && ($self$$13$$.$_eventsEnabled$ = $JSCompiler_alias_FALSE$$, $self$$13$$.$_annotator$.popup.startHideTimer()) + }else { + $self$$13$$.$_cachedMouseEvent$ = $event$$17$$ + } + }); + $goog$events$listen$$(this.$_canvas$, $annotorious$events$ui$EventType$DOWN$$, function() { + $self$$13$$.$_currentAnnotation$ !== $JSCompiler_alias_VOID$$ && $self$$13$$.$_currentAnnotation$ != $JSCompiler_alias_FALSE$$ && $self$$13$$.$_annotator$.fireEvent("onAnnotationClicked", $self$$13$$.$_currentAnnotation$) + }); + $annotator$$28$$.addHandler("onMouseOutOfItem", function() { + delete $self$$13$$.$_currentAnnotation$; + $self$$13$$.$_eventsEnabled$ = $JSCompiler_alias_TRUE$$ + }); + $annotator$$28$$.addHandler("beforePopupHide", function() { + if(!$self$$13$$.$_eventsEnabled$ && $self$$13$$.$_cachedMouseEvent$) { + var $previousAnnotation$$ = $self$$13$$.$_currentAnnotation$; + $self$$13$$.$_currentAnnotation$ = $JSCompiler_StaticMethods_topAnnotationAt$$($self$$13$$, $self$$13$$.$_cachedMouseEvent$.offsetX, $self$$13$$.$_cachedMouseEvent$.offsetY); + $self$$13$$.$_eventsEnabled$ = $JSCompiler_alias_TRUE$$; + $previousAnnotation$$ != $self$$13$$.$_currentAnnotation$ ? ($JSCompiler_StaticMethods_redraw$$($self$$13$$), $self$$13$$.$_annotator$.fireEvent("onMouseOutOfAnnotation", {$annotation$:$previousAnnotation$$, mouseEvent:$self$$13$$.$_cachedMouseEvent$}), $self$$13$$.$_annotator$.fireEvent("onMouseOverAnnotation", {$annotation$:$self$$13$$.$_currentAnnotation$, mouseEvent:$self$$13$$.$_cachedMouseEvent$})) : $self$$13$$.$_currentAnnotation$ && $self$$13$$.$_annotator$.popup.clearHideTimer() + }else { + $JSCompiler_StaticMethods_redraw$$($self$$13$$) + } + }) +} +$JSCompiler_prototypeAlias$$ = $annotorious$mediatypes$image$Viewer$$.prototype; +$JSCompiler_prototypeAlias$$.$addAnnotation$ = function $$JSCompiler_prototypeAlias$$$$addAnnotation$$($annotation$$14$$, $opt_replace$$3$$) { + $opt_replace$$3$$ && ($opt_replace$$3$$ == this.$_currentAnnotation$ && delete this.$_currentAnnotation$, $goog$array$remove$$(this.$_annotations$, $opt_replace$$3$$), delete this.$_shapes$[$annotorious$shape$hashCode$$($opt_replace$$3$$.shapes[0])]); + this.$_annotations$.push($annotation$$14$$); + var $shape$$8_viewportShape$$ = $annotation$$14$$.shapes[0]; + if("pixel" != $shape$$8_viewportShape$$.units) { + var $self$$14$$ = this, $shape$$8_viewportShape$$ = $annotorious$shape$transform$$($shape$$8_viewportShape$$, function($xy$$3$$) { + return $self$$14$$.$_annotator$.$fromItemCoordinates$($xy$$3$$) + }) + } + this.$_shapes$[$annotorious$shape$hashCode$$($annotation$$14$$.shapes[0])] = $shape$$8_viewportShape$$; + $JSCompiler_StaticMethods_redraw$$(this) +}; +$JSCompiler_prototypeAlias$$.$removeAnnotation$ = function $$JSCompiler_prototypeAlias$$$$removeAnnotation$$($annotation$$15$$) { + $annotation$$15$$ == this.$_currentAnnotation$ && delete this.$_currentAnnotation$; + $goog$array$remove$$(this.$_annotations$, $annotation$$15$$); + delete this.$_shapes$[$annotorious$shape$hashCode$$($annotation$$15$$.shapes[0])]; + $JSCompiler_StaticMethods_redraw$$(this) +}; +$JSCompiler_prototypeAlias$$.$getAnnotations$ = function $$JSCompiler_prototypeAlias$$$$getAnnotations$$() { + return $goog$array$toArray$$(this.$_annotations$) +}; +$JSCompiler_prototypeAlias$$.$highlightAnnotation$ = function $$JSCompiler_prototypeAlias$$$$highlightAnnotation$$($opt_annotation$$1$$) { + (this.$_currentAnnotation$ = $opt_annotation$$1$$) ? this.$_keepHighlighted$ = $JSCompiler_alias_TRUE$$ : this.$_annotator$.popup.startHideTimer(); + $JSCompiler_StaticMethods_redraw$$(this); + this.$_eventsEnabled$ = $JSCompiler_alias_TRUE$$ +}; +function $JSCompiler_StaticMethods_topAnnotationAt$$($JSCompiler_StaticMethods_topAnnotationAt$self_annotations$$2$$, $px$$2$$, $py$$1$$) { + $JSCompiler_StaticMethods_topAnnotationAt$self_annotations$$2$$ = $JSCompiler_StaticMethods_topAnnotationAt$self_annotations$$2$$.$getAnnotationsAt$($px$$2$$, $py$$1$$); + if(0 < $JSCompiler_StaticMethods_topAnnotationAt$self_annotations$$2$$.length) { + return $JSCompiler_StaticMethods_topAnnotationAt$self_annotations$$2$$[0] + } +} +$JSCompiler_prototypeAlias$$.$getAnnotationsAt$ = function $$JSCompiler_prototypeAlias$$$$getAnnotationsAt$$($px$$3$$, $py$$2$$) { + var $intersectedAnnotations$$ = [], $self$$15$$ = this; + $goog$array$forEach$$(this.$_annotations$, function($annotation$$16$$) { + var $JSCompiler_inline_result$$50_points$$inline_740_shape$$inline_737$$; + $JSCompiler_inline_result$$50_points$$inline_740_shape$$inline_737$$ = $self$$15$$.$_shapes$[$annotorious$shape$hashCode$$($annotation$$16$$.shapes[0])]; + if("rect" == $JSCompiler_inline_result$$50_points$$inline_740_shape$$inline_737$$.type) { + $JSCompiler_inline_result$$50_points$$inline_740_shape$$inline_737$$ = $px$$3$$ < $JSCompiler_inline_result$$50_points$$inline_740_shape$$inline_737$$.geometry.x || $py$$2$$ < $JSCompiler_inline_result$$50_points$$inline_740_shape$$inline_737$$.geometry.y || $px$$3$$ > $JSCompiler_inline_result$$50_points$$inline_740_shape$$inline_737$$.geometry.x + $JSCompiler_inline_result$$50_points$$inline_740_shape$$inline_737$$.geometry.width || $py$$2$$ > $JSCompiler_inline_result$$50_points$$inline_740_shape$$inline_737$$.geometry.y + + $JSCompiler_inline_result$$50_points$$inline_740_shape$$inline_737$$.geometry.height ? $JSCompiler_alias_FALSE$$ : $JSCompiler_alias_TRUE$$ + }else { + if("polygon" == $JSCompiler_inline_result$$50_points$$inline_740_shape$$inline_737$$.type) { + $JSCompiler_inline_result$$50_points$$inline_740_shape$$inline_737$$ = $JSCompiler_inline_result$$50_points$$inline_740_shape$$inline_737$$.geometry.points; + for(var $inside$$inline_741$$ = $JSCompiler_alias_FALSE$$, $j$$inline_742$$ = $JSCompiler_inline_result$$50_points$$inline_740_shape$$inline_737$$.length - 1, $i$$inline_743$$ = 0;$i$$inline_743$$ < $JSCompiler_inline_result$$50_points$$inline_740_shape$$inline_737$$.length;$i$$inline_743$$++) { + $JSCompiler_inline_result$$50_points$$inline_740_shape$$inline_737$$[$i$$inline_743$$].y > $py$$2$$ != $JSCompiler_inline_result$$50_points$$inline_740_shape$$inline_737$$[$j$$inline_742$$].y > $py$$2$$ && $px$$3$$ < ($JSCompiler_inline_result$$50_points$$inline_740_shape$$inline_737$$[$j$$inline_742$$].x - $JSCompiler_inline_result$$50_points$$inline_740_shape$$inline_737$$[$i$$inline_743$$].x) * ($py$$2$$ - $JSCompiler_inline_result$$50_points$$inline_740_shape$$inline_737$$[$i$$inline_743$$].y) / + ($JSCompiler_inline_result$$50_points$$inline_740_shape$$inline_737$$[$j$$inline_742$$].y - $JSCompiler_inline_result$$50_points$$inline_740_shape$$inline_737$$[$i$$inline_743$$].y) + $JSCompiler_inline_result$$50_points$$inline_740_shape$$inline_737$$[$i$$inline_743$$].x && ($inside$$inline_741$$ = !$inside$$inline_741$$), $j$$inline_742$$ = $i$$inline_743$$ + } + $JSCompiler_inline_result$$50_points$$inline_740_shape$$inline_737$$ = $inside$$inline_741$$ + }else { + $JSCompiler_inline_result$$50_points$$inline_740_shape$$inline_737$$ = $JSCompiler_alias_FALSE$$ + } + } + $JSCompiler_inline_result$$50_points$$inline_740_shape$$inline_737$$ && $intersectedAnnotations$$.push($annotation$$16$$) + }); + $goog$array$ARRAY_PROTOTYPE_$$.sort.call($intersectedAnnotations$$, function($a$$31$$, $b$$26$$) { + var $shape_a$$ = $self$$15$$.$_shapes$[$annotorious$shape$hashCode$$($a$$31$$.shapes[0])], $shape_b$$ = $self$$15$$.$_shapes$[$annotorious$shape$hashCode$$($b$$26$$.shapes[0])]; + return $annotorious$shape$getSize$$($shape_a$$) - $annotorious$shape$getSize$$($shape_b$$) + } || $goog$array$defaultCompare$$); + return $intersectedAnnotations$$ +}; +function $JSCompiler_StaticMethods__draw$$($JSCompiler_StaticMethods__draw$self$$, $shape$$9$$, $highlight$$1$$) { + var $selector$$4$$ = $goog$array$find$$($JSCompiler_StaticMethods__draw$self$$.$_annotator$.$getAvailableSelectors$(), function($selector$$5$$) { + return $selector$$5$$.getSupportedShapeType() == $shape$$9$$.type + }); + $selector$$4$$ ? $selector$$4$$.drawShape($JSCompiler_StaticMethods__draw$self$$.$_g2d$, $shape$$9$$, $highlight$$1$$) : console.log("WARNING unsupported shape type: " + $shape$$9$$.type) +} +function $JSCompiler_StaticMethods_redraw$$($JSCompiler_StaticMethods_redraw$self$$) { + $JSCompiler_StaticMethods_redraw$self$$.$_g2d$.clearRect(0, 0, $JSCompiler_StaticMethods_redraw$self$$.$_canvas$.width, $JSCompiler_StaticMethods_redraw$self$$.$_canvas$.height); + $goog$array$forEach$$($JSCompiler_StaticMethods_redraw$self$$.$_annotations$, function($annotation$$17$$) { + $annotation$$17$$ != $JSCompiler_StaticMethods_redraw$self$$.$_currentAnnotation$ && $JSCompiler_StaticMethods__draw$$($JSCompiler_StaticMethods_redraw$self$$, $JSCompiler_StaticMethods_redraw$self$$.$_shapes$[$annotorious$shape$hashCode$$($annotation$$17$$.shapes[0])]) + }); + if($JSCompiler_StaticMethods_redraw$self$$.$_currentAnnotation$) { + var $bbox_shape$$10$$ = $JSCompiler_StaticMethods_redraw$self$$.$_shapes$[$annotorious$shape$hashCode$$($JSCompiler_StaticMethods_redraw$self$$.$_currentAnnotation$.shapes[0])]; + $JSCompiler_StaticMethods__draw$$($JSCompiler_StaticMethods_redraw$self$$, $bbox_shape$$10$$, $JSCompiler_alias_TRUE$$); + $bbox_shape$$10$$ = $annotorious$shape$getBoundingRect$$($bbox_shape$$10$$).geometry; + $JSCompiler_StaticMethods_redraw$self$$.$_annotator$.popup.show($JSCompiler_StaticMethods_redraw$self$$.$_currentAnnotation$, new $annotorious$shape$geom$Point$$($bbox_shape$$10$$.x, $bbox_shape$$10$$.y + $bbox_shape$$10$$.height + 5)) + } +} +;var $annotorious$events$ui$hasTouch$$ = "ontouchstart" in window, $annotorious$events$ui$hasMouse$$ = !$annotorious$events$ui$hasTouch$$, $annotorious$events$ui$EventType$DOWN$$ = $annotorious$events$ui$hasTouch$$ ? "touchstart" : "mousedown", $annotorious$events$ui$EventType$OVER$$ = $annotorious$events$ui$hasTouch$$ ? "touchenter" : "mouseover", $annotorious$events$ui$EventType$MOVE$$ = $annotorious$events$ui$hasTouch$$ ? "touchmove" : "mousemove", $annotorious$events$ui$EventType$UP$$ = $annotorious$events$ui$hasTouch$$ ? +"touchend" : "mouseup", $annotorious$events$ui$EventType$OUT$$ = $annotorious$events$ui$hasTouch$$ ? "touchleave" : "mouseout"; +function $annotorious$events$ui$sanitizeCoordinates$$($event$$21$$, $parent$$25$$) { + var $points$$8$$ = $JSCompiler_alias_FALSE$$; + $event$$21$$.offsetX = $event$$21$$.offsetX ? $event$$21$$.offsetX : $JSCompiler_alias_FALSE$$; + $event$$21$$.offsetY = $event$$21$$.offsetY ? $event$$21$$.offsetY : $JSCompiler_alias_FALSE$$; + return $points$$8$$ = (!$event$$21$$.offsetX || !$event$$21$$.offsetY) && $event$$21$$.$event_$.changedTouches ? {x:$event$$21$$.$event_$.changedTouches[0].clientX - $annotorious$dom$getOffset$$($parent$$25$$).left, y:$event$$21$$.$event_$.changedTouches[0].clientY - $annotorious$dom$getOffset$$($parent$$25$$).top} : {x:$event$$21$$.offsetX, y:$event$$21$$.offsetY} +} +;function $annotorious$plugins$selection$RectDragSelector$$() { +} +$JSCompiler_prototypeAlias$$ = $annotorious$plugins$selection$RectDragSelector$$.prototype; +$JSCompiler_prototypeAlias$$.init = function $$JSCompiler_prototypeAlias$$$init$($annotator$$29$$, $canvas$$1$$) { + this.$_OUTLINE$ = "#000000"; + this.$_STROKE$ = "#ffffff"; + this.$_FILL$ = $JSCompiler_alias_FALSE$$; + this.$_HI_OUTLINE$ = "#000000"; + this.$_HI_STROKE$ = "#fff000"; + this.$_HI_FILL$ = $JSCompiler_alias_FALSE$$; + this.$_HI_OUTLINE_WIDTH$ = this.$_STROKE_WIDTH$ = this.$_OUTLINE_WIDTH$ = 1; + this.$_HI_STROKE_WIDTH$ = 1.2; + this.$_canvas$ = $canvas$$1$$; + this.$_annotator$ = $annotator$$29$$; + this.$_g2d$ = $canvas$$1$$.getContext("2d"); + this.$_g2d$.lineWidth = 1; + this.$_enabled$ = $JSCompiler_alias_FALSE$$ +}; +$JSCompiler_prototypeAlias$$.$_attachListeners$ = function $$JSCompiler_prototypeAlias$$$$_attachListeners$$() { + var $self$$18$$ = this, $canvas$$2$$ = this.$_canvas$; + this.$_mouseMoveListener$ = $goog$events$listen$$(this.$_canvas$, $annotorious$events$ui$EventType$MOVE$$, function($event$$22_points$$9_width$$20$$) { + console.log($event$$22_points$$9_width$$20$$); + $event$$22_points$$9_width$$20$$ = $annotorious$events$ui$sanitizeCoordinates$$($event$$22_points$$9_width$$20$$, $canvas$$2$$); + if($self$$18$$.$_enabled$) { + $self$$18$$.$_opposite$ = {x:$event$$22_points$$9_width$$20$$.x, y:$event$$22_points$$9_width$$20$$.y}; + $self$$18$$.$_g2d$.clearRect(0, 0, $canvas$$2$$.width, $canvas$$2$$.height); + var $event$$22_points$$9_width$$20$$ = $self$$18$$.$_opposite$.x - $self$$18$$.$_anchor$.x, $height$$25$$ = $self$$18$$.$_opposite$.y - $self$$18$$.$_anchor$.y; + $self$$18$$.drawShape($self$$18$$.$_g2d$, {type:"rect", geometry:{x:0 < $event$$22_points$$9_width$$20$$ ? $self$$18$$.$_anchor$.x : $self$$18$$.$_opposite$.x, y:0 < $height$$25$$ ? $self$$18$$.$_anchor$.y : $self$$18$$.$_opposite$.y, width:Math.abs($event$$22_points$$9_width$$20$$), height:Math.abs($height$$25$$)}, style:{}}) + } + }); + this.$_mouseUpListener$ = $goog$events$listen$$($canvas$$2$$, $annotorious$events$ui$EventType$UP$$, function($annotations$$3_event$$23$$) { + var $points$$10$$ = $annotorious$events$ui$sanitizeCoordinates$$($annotations$$3_event$$23$$, $canvas$$2$$), $shape$$11$$ = $self$$18$$.getShape(), $annotations$$3_event$$23$$ = $annotations$$3_event$$23$$.$event_$ ? $annotations$$3_event$$23$$.$event_$ : $annotations$$3_event$$23$$; + $self$$18$$.$_enabled$ = $JSCompiler_alias_FALSE$$; + $shape$$11$$ ? ($self$$18$$.$_detachListeners$(), $self$$18$$.$_annotator$.fireEvent("onSelectionCompleted", {mouseEvent:$annotations$$3_event$$23$$, shape:$shape$$11$$, viewportBounds:$self$$18$$.getViewportBounds()})) : ($self$$18$$.$_annotator$.fireEvent("onSelectionCanceled"), $annotations$$3_event$$23$$ = $self$$18$$.$_annotator$.$getAnnotationsAt$($points$$10$$.x, $points$$10$$.y), 0 < $annotations$$3_event$$23$$.length && $self$$18$$.$_annotator$.$highlightAnnotation$($annotations$$3_event$$23$$[0])) + }) +}; +$JSCompiler_prototypeAlias$$.$_detachListeners$ = function $$JSCompiler_prototypeAlias$$$$_detachListeners$$() { + this.$_mouseMoveListener$ && ($goog$events$unlistenByKey$$(this.$_mouseMoveListener$), delete this.$_mouseMoveListener$); + this.$_mouseUpListener$ && ($goog$events$unlistenByKey$$(this.$_mouseUpListener$), delete this.$_mouseUpListener$) +}; +$JSCompiler_prototypeAlias$$.getName = $JSCompiler_returnArg$$("rect_drag"); +$JSCompiler_prototypeAlias$$.getSupportedShapeType = $JSCompiler_returnArg$$("rect"); +$JSCompiler_prototypeAlias$$.$setProperties$ = function $$JSCompiler_prototypeAlias$$$$setProperties$$($props$$2$$) { + $props$$2$$.hasOwnProperty("outline") && (this.$_OUTLINE$ = $props$$2$$.outline); + $props$$2$$.hasOwnProperty("stroke") && (this.$_STROKE$ = $props$$2$$.stroke); + $props$$2$$.hasOwnProperty("fill") && (this.$_FILL$ = $props$$2$$.fill); + $props$$2$$.hasOwnProperty("hi_outline") && (this.$_HI_OUTLINE$ = $props$$2$$.hi_outline); + $props$$2$$.hasOwnProperty("hi_stroke") && (this.$_HI_STROKE$ = $props$$2$$.hi_stroke); + $props$$2$$.hasOwnProperty("hi_fill") && (this.$_HI_FILL$ = $props$$2$$.hi_fill); + $props$$2$$.hasOwnProperty("outline_width") && (this.$_OUTLINE_WIDTH$ = $props$$2$$.outline_width); + $props$$2$$.hasOwnProperty("stroke_width") && (this.$_STROKE_WIDTH$ = $props$$2$$.stroke_width); + $props$$2$$.hasOwnProperty("hi_outline_width") && (this.$_HI_OUTLINE_WIDTH$ = $props$$2$$.hi_outline_width); + $props$$2$$.hasOwnProperty("hi_stroke_width") && (this.$_HI_STROKE_WIDTH$ = $props$$2$$.hi_stroke_width) +}; +$JSCompiler_prototypeAlias$$.startSelection = function $$JSCompiler_prototypeAlias$$$startSelection$($x$$82$$, $y$$49$$) { + var $startPoint$$2$$ = {x:$x$$82$$, y:$y$$49$$}; + this.$_enabled$ = $JSCompiler_alias_TRUE$$; + this.$_attachListeners$($startPoint$$2$$); + this.$_anchor$ = new $annotorious$shape$geom$Point$$($x$$82$$, $y$$49$$); + this.$_annotator$.fireEvent("onSelectionStarted", {offsetX:$x$$82$$, offsetY:$y$$49$$}); + $goog$style$setStyle$$(document.body, "-webkit-user-select", "none") +}; +$JSCompiler_prototypeAlias$$.stopSelection = function $$JSCompiler_prototypeAlias$$$stopSelection$() { + this.$_detachListeners$(); + this.$_g2d$.clearRect(0, 0, this.$_canvas$.width, this.$_canvas$.height); + $goog$style$setStyle$$(document.body, "-webkit-user-select", "auto"); + delete this.$_opposite$ +}; +$JSCompiler_prototypeAlias$$.getShape = function $$JSCompiler_prototypeAlias$$$getShape$() { + if(this.$_opposite$ && 3 < Math.abs(this.$_opposite$.x - this.$_anchor$.x) && 3 < Math.abs(this.$_opposite$.y - this.$_anchor$.y)) { + var $rect$$9_viewportBounds$$ = this.getViewportBounds(), $rect$$9_viewportBounds$$ = this.$_annotator$.$toItemCoordinates$({x:$rect$$9_viewportBounds$$.left, y:$rect$$9_viewportBounds$$.top, width:$rect$$9_viewportBounds$$.right - $rect$$9_viewportBounds$$.left, height:$rect$$9_viewportBounds$$.bottom - $rect$$9_viewportBounds$$.top}); + return new $annotorious$shape$Shape$$("rect", $rect$$9_viewportBounds$$) + } +}; +$JSCompiler_prototypeAlias$$.getViewportBounds = function $$JSCompiler_prototypeAlias$$$getViewportBounds$() { + var $right$$12$$, $left$$14$$; + this.$_opposite$.x > this.$_anchor$.x ? ($right$$12$$ = this.$_opposite$.x, $left$$14$$ = this.$_anchor$.x) : ($right$$12$$ = this.$_anchor$.x, $left$$14$$ = this.$_opposite$.x); + var $top$$12$$, $bottom$$8$$; + this.$_opposite$.y > this.$_anchor$.y ? ($top$$12$$ = this.$_anchor$.y, $bottom$$8$$ = this.$_opposite$.y) : ($top$$12$$ = this.$_opposite$.y, $bottom$$8$$ = this.$_anchor$.y); + return{top:$top$$12$$, right:$right$$12$$, bottom:$bottom$$8$$, left:$left$$14$$} +}; +$JSCompiler_prototypeAlias$$.drawShape = function $$JSCompiler_prototypeAlias$$$drawShape$($g2d$$, $geom$$1_shape$$12$$, $highlight$$2_stroke$$) { + var $fill$$, $outline$$, $outline_width$$, $stroke_width$$; + $geom$$1_shape$$12$$.style || ($geom$$1_shape$$12$$.style = {}); + "rect" == $geom$$1_shape$$12$$.type && ($highlight$$2_stroke$$ ? ($fill$$ = $geom$$1_shape$$12$$.style.hi_fill || this.$_HI_FILL$, $highlight$$2_stroke$$ = $geom$$1_shape$$12$$.style.hi_stroke || this.$_HI_STROKE$, $outline$$ = $geom$$1_shape$$12$$.style.hi_outline || this.$_HI_OUTLINE$, $outline_width$$ = $geom$$1_shape$$12$$.style.hi_outline_width || this.$_HI_OUTLINE_WIDTH$, $stroke_width$$ = $geom$$1_shape$$12$$.style.hi_stroke_width || this.$_HI_STROKE_WIDTH$) : ($fill$$ = $geom$$1_shape$$12$$.style.fill || + this.$_FILL$, $highlight$$2_stroke$$ = $geom$$1_shape$$12$$.style.stroke || this.$_STROKE$, $outline$$ = $geom$$1_shape$$12$$.style.outline || this.$_OUTLINE$, $outline_width$$ = $geom$$1_shape$$12$$.style.outline_width || this.$_OUTLINE_WIDTH$, $stroke_width$$ = $geom$$1_shape$$12$$.style.stroke_width || this.$_STROKE_WIDTH$), $geom$$1_shape$$12$$ = $geom$$1_shape$$12$$.geometry, $outline$$ && ($g2d$$.lineJoin = "round", $g2d$$.lineWidth = $outline_width$$, $g2d$$.strokeStyle = $outline$$, $g2d$$.strokeRect($geom$$1_shape$$12$$.x + + $outline_width$$ / 2, $geom$$1_shape$$12$$.y + $outline_width$$ / 2, $geom$$1_shape$$12$$.width - $outline_width$$, $geom$$1_shape$$12$$.height - $outline_width$$)), $highlight$$2_stroke$$ && ($g2d$$.lineJoin = "miter", $g2d$$.lineWidth = $stroke_width$$, $g2d$$.strokeStyle = $highlight$$2_stroke$$, $g2d$$.strokeRect($geom$$1_shape$$12$$.x + $outline_width$$ + $stroke_width$$ / 2, $geom$$1_shape$$12$$.y + $outline_width$$ + $stroke_width$$ / 2, $geom$$1_shape$$12$$.width - 2 * $outline_width$$ - + $stroke_width$$, $geom$$1_shape$$12$$.height - 2 * $outline_width$$ - $stroke_width$$)), $fill$$ && ($g2d$$.lineJoin = "miter", $g2d$$.lineWidth = $stroke_width$$, $g2d$$.fillStyle = $fill$$, $g2d$$.fillRect($geom$$1_shape$$12$$.x + $outline_width$$ + $stroke_width$$ / 2, $geom$$1_shape$$12$$.y + $outline_width$$ + $stroke_width$$ / 2, $geom$$1_shape$$12$$.width - 2 * $outline_width$$ - $stroke_width$$, $geom$$1_shape$$12$$.height - 2 * $outline_width$$ - $stroke_width$$))) +}; +function $annotorious$templates$image$canvas$$($opt_data$$5$$) { + return'' +} +function $annotorious$templates$image$hint$$($opt_data$$6$$) { + return'
' + $soy$$0$0escapeHtml$$($opt_data$$6$$.$msg$) + '
' +} +;function $annotorious$mediatypes$image$ImageAnnotator$$($item$$6$$, $opt_popup$$) { + function $transferMargin$$inline_747$$($direction$$inline_750$$, $value$$inline_751$$) { + $goog$style$setStyle$$($annotationLayer$$inline_746$$, "margin-" + $direction$$inline_750$$, $value$$inline_751$$ + "px"); + $goog$style$setStyle$$($item$$6$$, "margin-" + $direction$$inline_750$$, 0); + $goog$style$setStyle$$($item$$6$$, "padding-" + $direction$$inline_750$$, 0) + } + this.$_image$ = $item$$6$$; + this.$_original_bufferspace$ = {padding:$item$$6$$.style.padding, margin:$item$$6$$.style.margin}; + this.$_eventBroker$ = new $annotorious$events$EventBroker$$; + this.$_selectors$ = []; + this.$_selectionEnabled$ = $JSCompiler_alias_TRUE$$; + this.element = $goog$dom$createDom$$("div", "annotorious-annotationlayer"); + $goog$style$setStyle$$(this.element, "position", "relative"); + $goog$style$setStyle$$(this.element, "display", "inline-block"); + var $annotationLayer$$inline_746$$ = this.element, $default_selector_img_bounds_margin$$inline_748_parent$$inline_755$$ = $goog$style$getBox_$$($item$$6$$, "margin"), $padding$$inline_749$$ = $goog$style$getBox_$$($item$$6$$, "padding"); + (0 != $default_selector_img_bounds_margin$$inline_748_parent$$inline_755$$.top || 0 != $padding$$inline_749$$.top) && $transferMargin$$inline_747$$("top", $default_selector_img_bounds_margin$$inline_748_parent$$inline_755$$.top + $padding$$inline_749$$.top); + (0 != $default_selector_img_bounds_margin$$inline_748_parent$$inline_755$$.right || 0 != $padding$$inline_749$$.right) && $transferMargin$$inline_747$$("right", $default_selector_img_bounds_margin$$inline_748_parent$$inline_755$$.right + $padding$$inline_749$$.right); + (0 != $default_selector_img_bounds_margin$$inline_748_parent$$inline_755$$.bottom || 0 != $padding$$inline_749$$.bottom) && $transferMargin$$inline_747$$("bottom", $default_selector_img_bounds_margin$$inline_748_parent$$inline_755$$.bottom + $padding$$inline_749$$.bottom); + (0 != $default_selector_img_bounds_margin$$inline_748_parent$$inline_755$$.left || 0 != $padding$$inline_749$$.left) && $transferMargin$$inline_747$$("left", $default_selector_img_bounds_margin$$inline_748_parent$$inline_755$$.left + $padding$$inline_749$$.left); + ($default_selector_img_bounds_margin$$inline_748_parent$$inline_755$$ = $item$$6$$.parentNode) && $default_selector_img_bounds_margin$$inline_748_parent$$inline_755$$.replaceChild(this.element, $item$$6$$); + this.element.appendChild($item$$6$$); + $default_selector_img_bounds_margin$$inline_748_parent$$inline_755$$ = $goog$style$getBounds$$($item$$6$$); + this.$_viewCanvas$ = $goog$soy$renderAsElement$$($annotorious$templates$image$canvas$$, {width:$default_selector_img_bounds_margin$$inline_748_parent$$inline_755$$.width, height:$default_selector_img_bounds_margin$$inline_748_parent$$inline_755$$.height}); + $annotorious$events$ui$hasMouse$$ && $goog$dom$classes$add$$(this.$_viewCanvas$, "annotorious-item-unfocus"); + this.element.appendChild(this.$_viewCanvas$); + this.$_editCanvas$ = $goog$soy$renderAsElement$$($annotorious$templates$image$canvas$$, {width:$default_selector_img_bounds_margin$$inline_748_parent$$inline_755$$.width, height:$default_selector_img_bounds_margin$$inline_748_parent$$inline_755$$.height}); + $annotorious$events$ui$hasMouse$$ && $goog$style$showElement$$(this.$_editCanvas$, $JSCompiler_alias_FALSE$$); + this.element.appendChild(this.$_editCanvas$); + this.popup = $opt_popup$$ ? $opt_popup$$ : new $annotorious$Popup$$(this); + $default_selector_img_bounds_margin$$inline_748_parent$$inline_755$$ = new $annotorious$plugins$selection$RectDragSelector$$; + $default_selector_img_bounds_margin$$inline_748_parent$$inline_755$$.init(this, this.$_editCanvas$); + this.$_selectors$.push($default_selector_img_bounds_margin$$inline_748_parent$$inline_755$$); + this.$_currentSelector$ = $default_selector_img_bounds_margin$$inline_748_parent$$inline_755$$; + this.editor = new $annotorious$Editor$$(this); + this.$_viewer$ = new $annotorious$mediatypes$image$Viewer$$(this.$_viewCanvas$, this); + this.$_hint$ = new $annotorious$Hint$$(this, this.element); + var $self$$19$$ = this; + $annotorious$events$ui$hasMouse$$ && ($goog$events$listen$$(this.element, $annotorious$events$ui$EventType$OVER$$, function($event$$24_relatedTarget$$1$$) { + $event$$24_relatedTarget$$1$$ = $event$$24_relatedTarget$$1$$.relatedTarget; + if(!$event$$24_relatedTarget$$1$$ || !$goog$dom$contains$$($self$$19$$.element, $event$$24_relatedTarget$$1$$)) { + $self$$19$$.$_eventBroker$.fireEvent("onMouseOverItem"), $goog$dom$classes$addRemove$$($self$$19$$.$_viewCanvas$, "annotorious-item-unfocus", "annotorious-item-focus") + } + }), $goog$events$listen$$(this.element, $annotorious$events$ui$EventType$OUT$$, function($event$$25_relatedTarget$$2$$) { + $event$$25_relatedTarget$$2$$ = $event$$25_relatedTarget$$2$$.relatedTarget; + if(!$event$$25_relatedTarget$$2$$ || !$goog$dom$contains$$($self$$19$$.element, $event$$25_relatedTarget$$2$$)) { + $self$$19$$.$_eventBroker$.fireEvent("onMouseOutOfItem"), $goog$dom$classes$addRemove$$($self$$19$$.$_viewCanvas$, "annotorious-item-focus", "annotorious-item-unfocus") + } + })); + $JSCompiler_StaticMethods__attachListener$$(this, $annotorious$events$ui$hasTouch$$ ? this.$_editCanvas$ : this.$_viewCanvas$); + this.$_eventBroker$.addHandler("onSelectionCompleted", function($event$$26$$) { + var $bounds$$ = $event$$26$$.viewportBounds; + $self$$19$$.editor.setPosition(new $annotorious$shape$geom$Point$$($bounds$$.left + $self$$19$$.$_image$.offsetLeft, $bounds$$.bottom + 4 + $self$$19$$.$_image$.offsetTop)); + $self$$19$$.editor.open($JSCompiler_alias_FALSE$$, $event$$26$$) + }); + this.$_eventBroker$.addHandler("onSelectionCanceled", function() { + $annotorious$events$ui$hasMouse$$ && $goog$style$showElement$$($self$$19$$.$_editCanvas$, $JSCompiler_alias_FALSE$$); + $self$$19$$.$_currentSelector$.stopSelection() + }) +} +$goog$inherits$$($annotorious$mediatypes$image$ImageAnnotator$$, $annotorious$mediatypes$Annotator$$); +$JSCompiler_prototypeAlias$$ = $annotorious$mediatypes$image$ImageAnnotator$$.prototype; +$JSCompiler_prototypeAlias$$.$activateSelector$ = $JSCompiler_emptyFn$$(); +$JSCompiler_prototypeAlias$$.$addSelector$ = function $$JSCompiler_prototypeAlias$$$$addSelector$$($selector$$6$$) { + $selector$$6$$.init(this, this.$_editCanvas$); + this.$_selectors$.push($selector$$6$$) +}; +$JSCompiler_prototypeAlias$$.destroy = function $$JSCompiler_prototypeAlias$$$destroy$() { + var $img$$2$$ = this.$_image$; + $img$$2$$.style.margin = this.$_original_bufferspace$.margin; + $img$$2$$.style.padding = this.$_original_bufferspace$.padding; + var $oldNode$$inline_767$$ = this.element, $parent$$inline_768$$ = $oldNode$$inline_767$$.parentNode; + $parent$$inline_768$$ && $parent$$inline_768$$.replaceChild($img$$2$$, $oldNode$$inline_767$$) +}; +$JSCompiler_prototypeAlias$$.$editAnnotation$ = function $$JSCompiler_prototypeAlias$$$$editAnnotation$$($annotation$$18$$) { + this.$_viewer$.$removeAnnotation$($annotation$$18$$); + var $anchor_bounds$$1_selector$$7$$ = $goog$array$find$$(this.$_selectors$, function($selector$$8$$) { + return $selector$$8$$.getSupportedShapeType() == $annotation$$18$$.shapes[0].type + }); + if($anchor_bounds$$1_selector$$7$$) { + $goog$style$showElement$$(this.$_editCanvas$, $JSCompiler_alias_TRUE$$); + this.$_viewer$.$highlightAnnotation$($JSCompiler_alias_FALSE$$); + var $g2d$$1$$ = this.$_editCanvas$.getContext("2d"), $shape$$13_viewportShape$$1$$ = $annotation$$18$$.shapes[0], $self$$20$$ = this, $shape$$13_viewportShape$$1$$ = "pixel" == $shape$$13_viewportShape$$1$$.units ? $shape$$13_viewportShape$$1$$ : $annotorious$shape$transform$$($shape$$13_viewportShape$$1$$, function($xy$$4$$) { + return $self$$20$$.$fromItemCoordinates$($xy$$4$$) + }); + $anchor_bounds$$1_selector$$7$$.drawShape($g2d$$1$$, $shape$$13_viewportShape$$1$$) + } + $anchor_bounds$$1_selector$$7$$ = $annotorious$shape$getBoundingRect$$($annotation$$18$$.shapes[0]).geometry; + $anchor_bounds$$1_selector$$7$$ = "pixel" == $annotation$$18$$.shapes[0].units ? new $annotorious$shape$geom$Point$$($anchor_bounds$$1_selector$$7$$.x, $anchor_bounds$$1_selector$$7$$.y + $anchor_bounds$$1_selector$$7$$.height) : this.$fromItemCoordinates$(new $annotorious$shape$geom$Point$$($anchor_bounds$$1_selector$$7$$.x, $anchor_bounds$$1_selector$$7$$.y + $anchor_bounds$$1_selector$$7$$.height)); + this.editor.setPosition(new $annotorious$shape$geom$Point$$($anchor_bounds$$1_selector$$7$$.x + this.$_image$.offsetLeft, $anchor_bounds$$1_selector$$7$$.y + 4 + this.$_image$.offsetTop)); + this.editor.open($annotation$$18$$) +}; +$JSCompiler_prototypeAlias$$.$fromItemCoordinates$ = function $$JSCompiler_prototypeAlias$$$$fromItemCoordinates$$($xy_wh$$) { + var $imgSize$$ = $goog$style$getSize$$(this.$_image$); + return $xy_wh$$.width ? {x:$xy_wh$$.x * $imgSize$$.width, y:$xy_wh$$.y * $imgSize$$.height, width:$xy_wh$$.width * $imgSize$$.width, height:$xy_wh$$.height * $imgSize$$.height} : {x:$xy_wh$$.x * $imgSize$$.width, y:$xy_wh$$.y * $imgSize$$.height} +}; +$JSCompiler_prototypeAlias$$.$getActiveSelector$ = $JSCompiler_get$$("$_currentSelector$"); +$JSCompiler_prototypeAlias$$.$getAnnotations$ = function $$JSCompiler_prototypeAlias$$$$getAnnotations$$() { + return this.$_viewer$.$getAnnotations$() +}; +$JSCompiler_prototypeAlias$$.$getAnnotationsAt$ = function $$JSCompiler_prototypeAlias$$$$getAnnotationsAt$$($cx$$, $cy$$) { + return $goog$array$toArray$$(this.$_viewer$.$getAnnotationsAt$($cx$$, $cy$$)) +}; +$JSCompiler_prototypeAlias$$.$getAvailableSelectors$ = $JSCompiler_get$$("$_selectors$"); +$JSCompiler_prototypeAlias$$.getItem = function $$JSCompiler_prototypeAlias$$$getItem$() { + return{src:$annotorious$mediatypes$image$ImageAnnotator$getItemURL$$(this.$_image$), element:this.$_image$} +}; +function $annotorious$mediatypes$image$ImageAnnotator$getItemURL$$($item$$7$$) { + var $src$$22$$ = $item$$7$$.getAttribute("data-original"); + return $src$$22$$ ? $src$$22$$ : $item$$7$$.src +} +$JSCompiler_prototypeAlias$$.$hideAnnotations$ = function $$JSCompiler_prototypeAlias$$$$hideAnnotations$$() { + $goog$style$showElement$$(this.$_viewCanvas$, $JSCompiler_alias_FALSE$$) +}; +$JSCompiler_prototypeAlias$$.$hideSelectionWidget$ = function $$JSCompiler_prototypeAlias$$$$hideSelectionWidget$$() { + this.$_selectionEnabled$ = $JSCompiler_alias_FALSE$$; + this.$_hint$ && (this.$_hint$.destroy(), delete this.$_hint$) +}; +$JSCompiler_prototypeAlias$$.$setCurrentSelector$ = function $$JSCompiler_prototypeAlias$$$$setCurrentSelector$$($selector$$9$$) { + (this.$_currentSelector$ = $goog$array$find$$(this.$_selectors$, function($sel$$) { + return $sel$$.getName() == $selector$$9$$ + })) || console.log('WARNING: selector "' + $selector$$9$$ + '" not available') +}; +$JSCompiler_prototypeAlias$$.$setProperties$ = function $$JSCompiler_prototypeAlias$$$$setProperties$$($props$$3$$) { + $goog$array$forEach$$(this.$_selectors$, function($selector$$10$$) { + $selector$$10$$.$setProperties$($props$$3$$) + }); + $JSCompiler_StaticMethods_redraw$$(this.$_viewer$) +}; +$JSCompiler_prototypeAlias$$.$showAnnotations$ = function $$JSCompiler_prototypeAlias$$$$showAnnotations$$() { + $goog$style$showElement$$(this.$_viewCanvas$, $JSCompiler_alias_TRUE$$) +}; +$JSCompiler_prototypeAlias$$.$showSelectionWidget$ = function $$JSCompiler_prototypeAlias$$$$showSelectionWidget$$() { + this.$_selectionEnabled$ = $JSCompiler_alias_TRUE$$; + this.$_hint$ || (this.$_hint$ = new $annotorious$Hint$$(this, this.element)) +}; +$JSCompiler_prototypeAlias$$.stopSelection = function $$JSCompiler_prototypeAlias$$$stopSelection$($opt_original_annotation$$) { + $annotorious$events$ui$hasMouse$$ && $goog$style$showElement$$(this.$_editCanvas$, $JSCompiler_alias_FALSE$$); + this.$_currentSelector$.stopSelection(); + $opt_original_annotation$$ && this.$_viewer$.$addAnnotation$($opt_original_annotation$$) +}; +$JSCompiler_prototypeAlias$$.$toItemCoordinates$ = function $$JSCompiler_prototypeAlias$$$$toItemCoordinates$$($xy_wh$$1$$) { + var $imgSize$$1$$ = $goog$style$getSize$$(this.$_image$); + return $xy_wh$$1$$.width ? {x:$xy_wh$$1$$.x / $imgSize$$1$$.width, y:$xy_wh$$1$$.y / $imgSize$$1$$.height, width:$xy_wh$$1$$.width / $imgSize$$1$$.width, height:$xy_wh$$1$$.height / $imgSize$$1$$.height} : {x:$xy_wh$$1$$.x / $imgSize$$1$$.width, y:$xy_wh$$1$$.y / $imgSize$$1$$.height} +}; +$annotorious$mediatypes$image$ImageAnnotator$$.prototype.addSelector = $annotorious$mediatypes$image$ImageAnnotator$$.prototype.$addSelector$; +$annotorious$mediatypes$image$ImageAnnotator$$.prototype.fireEvent = $annotorious$mediatypes$image$ImageAnnotator$$.prototype.fireEvent; +$annotorious$mediatypes$image$ImageAnnotator$$.prototype.setCurrentSelector = $annotorious$mediatypes$image$ImageAnnotator$$.prototype.$setCurrentSelector$; +$annotorious$mediatypes$image$ImageAnnotator$$.prototype.toItemCoordinates = $annotorious$mediatypes$image$ImageAnnotator$$.prototype.$toItemCoordinates$; +function $annotorious$mediatypes$image$ImageModule$$() { + $JSCompiler_StaticMethods__initFields$$(this, function() { + return $query$$inline_159$$("img.annotatable", document) + }) +} +$goog$inherits$$($annotorious$mediatypes$image$ImageModule$$, $annotorious$mediatypes$Module$$); +$annotorious$mediatypes$image$ImageModule$$.prototype.$getItemURL$ = function $$annotorious$mediatypes$image$ImageModule$$$$$getItemURL$$($item$$8$$) { + return $annotorious$mediatypes$image$ImageAnnotator$getItemURL$$($item$$8$$) +}; +$annotorious$mediatypes$image$ImageModule$$.prototype.$newAnnotator$ = function $$annotorious$mediatypes$image$ImageModule$$$$$newAnnotator$$($item$$9$$) { + return new $annotorious$mediatypes$image$ImageAnnotator$$($item$$9$$) +}; +$annotorious$mediatypes$image$ImageModule$$.prototype.$supports$ = function $$annotorious$mediatypes$image$ImageModule$$$$$supports$$($item$$10$$) { + return $goog$dom$isElement$$($item$$10$$) ? "IMG" == $item$$10$$.tagName : $JSCompiler_alias_FALSE$$ +}; +function $annotorious$templates$openlayers$secondaryHint$$($opt_data$$7$$) { + return'
' + $soy$$0$0escapeHtml$$($opt_data$$7$$.$msg$) + "
" +} +;function $annotorious$mediatypes$openlayers$Viewer$$($map$$10$$, $annotator$$30$$) { + this.$_map$ = $map$$10$$; + this.$_map_bounds$ = $goog$style$getBounds$$($annotator$$30$$.element); + this.$_popup$ = $annotator$$30$$.popup; + $goog$style$setStyle$$(this.$_popup$.element, "z-index", 99E3); + this.$_overlays$ = []; + this.$_boxesLayer$ = new OpenLayers.Layer.Boxes("Annotorious"); + this.$_map$.addLayer(this.$_boxesLayer$); + var $self$$21$$ = this; + this.$_map$.events.register("move", this.$_map$, function() { + $self$$21$$.$_currentlyHighlightedOverlay$ && $self$$21$$.$_place_popup$() + }); + $annotator$$30$$.addHandler("beforePopupHide", function() { + $self$$21$$.$_lastHoveredOverlay$ == $self$$21$$.$_currentlyHighlightedOverlay$ ? $self$$21$$.$_popup$.clearHideTimer() : $self$$21$$.$_updateHighlight$($self$$21$$.$_lastHoveredOverlay$, $self$$21$$.$_currentlyHighlightedOverlay$) + }) +} +$JSCompiler_prototypeAlias$$ = $annotorious$mediatypes$openlayers$Viewer$$.prototype; +$JSCompiler_prototypeAlias$$.destroy = function $$JSCompiler_prototypeAlias$$$destroy$() { + this.$_boxesLayer$.destroy() +}; +$JSCompiler_prototypeAlias$$.$_place_popup$ = function $$JSCompiler_prototypeAlias$$$$_place_popup$$() { + var $JSCompiler_object_inline_top_2_annotation_div_popup_pos$$ = this.$_currentlyHighlightedOverlay$.$marker$.div, $annotation_dim_popup_bounds$$ = $goog$style$getBounds$$($JSCompiler_object_inline_top_2_annotation_div_popup_pos$$), $JSCompiler_object_inline_left_3_annotation_pos$$ = $goog$style$getRelativePosition$$($JSCompiler_object_inline_top_2_annotation_div_popup_pos$$, this.$_map$.div), $JSCompiler_object_inline_top_2_annotation_div_popup_pos$$ = $JSCompiler_object_inline_left_3_annotation_pos$$.y, + $JSCompiler_object_inline_left_3_annotation_pos$$ = $JSCompiler_object_inline_left_3_annotation_pos$$.x, $JSCompiler_object_inline_width_4$$ = $annotation_dim_popup_bounds$$.width, $JSCompiler_object_inline_height_5$$ = $annotation_dim_popup_bounds$$.height, $annotation_dim_popup_bounds$$ = $goog$style$getBounds$$(this.$_popup$.element), $JSCompiler_object_inline_top_2_annotation_div_popup_pos$$ = {y:$JSCompiler_object_inline_top_2_annotation_div_popup_pos$$ + $JSCompiler_object_inline_height_5$$ + + 5}; + $JSCompiler_object_inline_left_3_annotation_pos$$ + $annotation_dim_popup_bounds$$.width > this.$_map_bounds$.width ? ($goog$dom$classes$addRemove$$(this.$_popup$.element, "top-left", "top-right"), $JSCompiler_object_inline_top_2_annotation_div_popup_pos$$.x = $JSCompiler_object_inline_left_3_annotation_pos$$ + $JSCompiler_object_inline_width_4$$ - $annotation_dim_popup_bounds$$.width) : ($goog$dom$classes$addRemove$$(this.$_popup$.element, "top-right", "top-left"), $JSCompiler_object_inline_top_2_annotation_div_popup_pos$$.x = + $JSCompiler_object_inline_left_3_annotation_pos$$); + 0 > $JSCompiler_object_inline_top_2_annotation_div_popup_pos$$.x && ($JSCompiler_object_inline_top_2_annotation_div_popup_pos$$.x = 0); + $JSCompiler_object_inline_top_2_annotation_div_popup_pos$$.x + $annotation_dim_popup_bounds$$.width > this.$_map_bounds$.width && ($JSCompiler_object_inline_top_2_annotation_div_popup_pos$$.x = this.$_map_bounds$.width - $annotation_dim_popup_bounds$$.width); + $JSCompiler_object_inline_top_2_annotation_div_popup_pos$$.y + $annotation_dim_popup_bounds$$.height > this.$_map_bounds$.height && ($JSCompiler_object_inline_top_2_annotation_div_popup_pos$$.y = this.$_map_bounds$.height - $annotation_dim_popup_bounds$$.height); + this.$_popup$.setPosition($JSCompiler_object_inline_top_2_annotation_div_popup_pos$$) +}; +$JSCompiler_prototypeAlias$$.$_show_popup$ = function $$JSCompiler_prototypeAlias$$$$_show_popup$$($annotation$$19$$) { + this.$_popup$.setAnnotation($annotation$$19$$); + this.$_place_popup$(); + this.$_popup$.show() +}; +$JSCompiler_prototypeAlias$$.$_updateHighlight$ = function $$JSCompiler_prototypeAlias$$$$_updateHighlight$$($new_highlight$$, $previous_highlight$$) { + $new_highlight$$ ? ($goog$style$getRelativePosition$$($new_highlight$$.$marker$.div, this.$_map$.div), $goog$string$toCamelCase$$("height"), $goog$style$setStyle$$($new_highlight$$.$inner$, "border-color", "#fff000"), this.$_currentlyHighlightedOverlay$ = $new_highlight$$, this.$_show_popup$($new_highlight$$.$annotation$)) : delete this.$_currentlyHighlightedOverlay$; + $previous_highlight$$ && $goog$style$setStyle$$($previous_highlight$$.$inner$, "border-color", "#fff") +}; +$JSCompiler_prototypeAlias$$.$addAnnotation$ = function $$JSCompiler_prototypeAlias$$$$addAnnotation$$($annotation$$20$$) { + var $geometry$$1_marker$$ = $annotation$$20$$.shapes[0].geometry, $geometry$$1_marker$$ = new OpenLayers.Marker.Box(new OpenLayers.Bounds($geometry$$1_marker$$.x, $geometry$$1_marker$$.y, $geometry$$1_marker$$.x + $geometry$$1_marker$$.width, $geometry$$1_marker$$.y + $geometry$$1_marker$$.height)); + $goog$dom$classes$add$$($geometry$$1_marker$$.div, "annotorious-ol-boxmarker-outer"); + $goog$style$setStyle$$($geometry$$1_marker$$.div, "border", $JSCompiler_alias_NULL$$); + var $inner$$ = $goog$dom$createDom$$("div", "annotorious-ol-boxmarker-inner"); + $goog$style$setSize$$($inner$$, "100%", "100%"); + $geometry$$1_marker$$.div.appendChild($inner$$); + var $overlay$$ = {$annotation$:$annotation$$20$$, $marker$:$geometry$$1_marker$$, $inner$:$inner$$}, $self$$22$$ = this; + $goog$events$listen$$($inner$$, "mouseover", function() { + $self$$22$$.$_currentlyHighlightedOverlay$ || $self$$22$$.$_updateHighlight$($overlay$$); + $self$$22$$.$_lastHoveredOverlay$ = $overlay$$ + }); + $goog$events$listen$$($inner$$, "mouseout", function() { + delete $self$$22$$.$_lastHoveredOverlay$; + $self$$22$$.$_popup$.startHideTimer() + }); + this.$_overlays$.push($overlay$$); + $goog$array$ARRAY_PROTOTYPE_$$.sort.call(this.$_overlays$, function($a$$32$$, $b$$27$$) { + return $annotorious$shape$getSize$$($b$$27$$.$annotation$.shapes[0]) - $annotorious$shape$getSize$$($a$$32$$.$annotation$.shapes[0]) + } || $goog$array$defaultCompare$$); + var $zIndex$$ = 1E4; + $goog$array$forEach$$(this.$_overlays$, function($overlay$$1$$) { + $goog$style$setStyle$$($overlay$$1$$.$marker$.div, "z-index", $zIndex$$); + $zIndex$$++ + }); + this.$_boxesLayer$.addMarker($geometry$$1_marker$$) +}; +$JSCompiler_prototypeAlias$$.$removeAnnotation$ = function $$JSCompiler_prototypeAlias$$$$removeAnnotation$$($annotation$$21$$) { + var $overlay$$2$$ = $goog$array$find$$(this.$_overlays$, function($overlay$$3$$) { + return $overlay$$3$$.$annotation$ == $annotation$$21$$ + }); + $overlay$$2$$ && ($goog$array$remove$$(this.$_overlays$, $overlay$$2$$), this.$_boxesLayer$.removeMarker($overlay$$2$$.$marker$)) +}; +$JSCompiler_prototypeAlias$$.$getAnnotations$ = function $$JSCompiler_prototypeAlias$$$$getAnnotations$$() { + return $goog$array$map$$(this.$_overlays$, function($overlay$$4$$) { + return $overlay$$4$$.$annotation$ + }) +}; +$JSCompiler_prototypeAlias$$.$highlightAnnotation$ = function $$JSCompiler_prototypeAlias$$$$highlightAnnotation$$($opt_annotation$$2$$) { + $opt_annotation$$2$$ || this.$_popup$.startHideTimer() +}; +function $annotorious$mediatypes$openlayers$OpenLayersAnnotator$$($map$$11$$) { + function $updateCanvasSize$$() { + var $width$$21$$ = parseInt($goog$style$getComputedStyle$$($self$$23$$.element, "width"), 10), $height$$27$$ = parseInt($goog$style$getComputedStyle$$($self$$23$$.element, "height"), 10); + $goog$style$setSize$$($self$$23$$.$_editCanvas$, $width$$21$$, $height$$27$$); + $self$$23$$.$_editCanvas$.width = $width$$21$$; + $self$$23$$.$_editCanvas$.height = $height$$27$$ + } + this.$_map$ = $map$$11$$; + this.element = $map$$11$$.div; + var $pos$$8$$ = this.element.style[$goog$string$toCamelCase$$("position")] || ""; + "absolute" != $pos$$8$$ && "relative" != $pos$$8$$ && $goog$style$setStyle$$(this.element, "position", "relative"); + this.$_eventBroker$ = new $annotorious$events$EventBroker$$; + this.$_secondaryHint$ = $goog$soy$renderAsElement$$($annotorious$templates$openlayers$secondaryHint$$, {$msg$:"Click and Drag"}); + $goog$style$setStyle$$(this.$_secondaryHint$, "z-index", 9998); + $goog$style$setOpacity$$(this.$_secondaryHint$, 0); + this.element.appendChild(this.$_secondaryHint$); + this.popup = new $annotorious$Popup$$(this); + this.$_viewer$ = new $annotorious$mediatypes$openlayers$Viewer$$($map$$11$$, this); + this.$_editCanvas$ = $goog$soy$renderAsElement$$($annotorious$templates$image$canvas$$, {width:"0", height:"0"}); + $goog$style$showElement$$(this.$_editCanvas$, $JSCompiler_alias_FALSE$$); + $goog$style$setStyle$$(this.$_editCanvas$, "position", "absolute"); + $goog$style$setStyle$$(this.$_editCanvas$, "top", "0px"); + $goog$style$setStyle$$(this.$_editCanvas$, "z-index", 9999); + this.element.appendChild(this.$_editCanvas$); + var $self$$23$$ = this; + $updateCanvasSize$$(); + this.$_currentSelector$ = new $annotorious$plugins$selection$RectDragSelector$$; + this.$_currentSelector$.init(this, this.$_editCanvas$); + this.$_stop_selection_callback$ = $JSCompiler_alias_VOID$$; + this.editor = new $annotorious$Editor$$(this); + $goog$style$setStyle$$(this.editor.element, "z-index", 1E4); + window.addEventListener ? window.addEventListener("resize", $updateCanvasSize$$, $JSCompiler_alias_FALSE$$) : window.attachEvent && window.attachEvent("onresize", $updateCanvasSize$$); + $goog$events$listen$$(this.element, "mouseover", function($event$$29_relatedTarget$$3$$) { + $event$$29_relatedTarget$$3$$ = $event$$29_relatedTarget$$3$$.relatedTarget; + (!$event$$29_relatedTarget$$3$$ || !$goog$dom$contains$$($self$$23$$.element, $event$$29_relatedTarget$$3$$)) && $self$$23$$.$_eventBroker$.fireEvent("onMouseOverItem") + }); + $goog$events$listen$$(this.element, "mouseout", function($event$$30_relatedTarget$$4$$) { + $event$$30_relatedTarget$$4$$ = $event$$30_relatedTarget$$4$$.relatedTarget; + (!$event$$30_relatedTarget$$4$$ || !$goog$dom$contains$$($self$$23$$.element, $event$$30_relatedTarget$$4$$)) && $self$$23$$.$_eventBroker$.fireEvent("onMouseOutOfItem") + }); + $goog$events$listen$$(this.$_editCanvas$, "mousedown", function($event$$31$$) { + var $offset$$18$$ = $goog$style$getClientPosition$$($self$$23$$.element); + $self$$23$$.$_currentSelector$.startSelection($event$$31$$.clientX - $offset$$18$$.x, $event$$31$$.clientY - $offset$$18$$.y) + }); + this.$_eventBroker$.addHandler("onSelectionCompleted", function($bounds$$2_event$$32$$) { + $goog$style$setStyle$$($self$$23$$.$_editCanvas$, "pointer-events", "none"); + $bounds$$2_event$$32$$ = $bounds$$2_event$$32$$.viewportBounds; + $self$$23$$.editor.setPosition(new $annotorious$shape$geom$Point$$($bounds$$2_event$$32$$.left, $bounds$$2_event$$32$$.bottom + 4)); + $self$$23$$.editor.open() + }); + this.$_eventBroker$.addHandler("onSelectionCanceled", function() { + $self$$23$$.stopSelection() + }) +} +$goog$inherits$$($annotorious$mediatypes$openlayers$OpenLayersAnnotator$$, $annotorious$mediatypes$Annotator$$); +$JSCompiler_prototypeAlias$$ = $annotorious$mediatypes$openlayers$OpenLayersAnnotator$$.prototype; +$JSCompiler_prototypeAlias$$.$showSelectionWidget$ = $JSCompiler_emptyFn$$(); +$JSCompiler_prototypeAlias$$.$hideSelectionWidget$ = $JSCompiler_emptyFn$$(); +$JSCompiler_prototypeAlias$$.$activateSelector$ = function $$JSCompiler_prototypeAlias$$$$activateSelector$$($callback$$36$$) { + $goog$style$setStyle$$(this.$_editCanvas$, "pointer-events", "auto"); + var $self$$24$$ = this; + $goog$style$showElement$$(this.$_editCanvas$, $JSCompiler_alias_TRUE$$); + $goog$style$setOpacity$$(this.$_secondaryHint$, 0.8); + window.setTimeout(function() { + $goog$style$setOpacity$$($self$$24$$.$_secondaryHint$, 0) + }, 2E3); + $callback$$36$$ && (this.$_stop_selection_callback$ = $callback$$36$$) +}; +$JSCompiler_prototypeAlias$$.destroy = function $$JSCompiler_prototypeAlias$$$destroy$() { + this.$_viewer$.destroy(); + $goog$dom$removeNode$$(this.$_secondaryHint$); + $goog$dom$removeNode$$(this.$_editCanvas$) +}; +$JSCompiler_prototypeAlias$$.$addSelector$ = $JSCompiler_emptyFn$$(); +$JSCompiler_prototypeAlias$$.$editAnnotation$ = function $$JSCompiler_prototypeAlias$$$$editAnnotation$$($annotation$$22$$) { + this.$_viewer$.$removeAnnotation$($annotation$$22$$); + var $selector$$12_viewportBounds$$1$$ = this.$_currentSelector$, $self$$25$$ = this; + if($selector$$12_viewportBounds$$1$$) { + $goog$style$showElement$$(this.$_editCanvas$, $JSCompiler_alias_TRUE$$); + this.$_viewer$.$highlightAnnotation$($JSCompiler_alias_VOID$$); + var $g2d$$2$$ = this.$_editCanvas$.getContext("2d"), $viewportShape$$2$$ = $annotorious$shape$transform$$($annotation$$22$$.shapes[0], function($xy$$5$$) { + return $self$$25$$.$fromItemCoordinates$($xy$$5$$) + }); + console.log($viewportShape$$2$$); + $selector$$12_viewportBounds$$1$$.drawShape($g2d$$2$$, $viewportShape$$2$$); + $selector$$12_viewportBounds$$1$$ = $annotorious$shape$getBoundingRect$$($viewportShape$$2$$).geometry; + this.editor.setPosition(new $annotorious$shape$geom$Point$$($selector$$12_viewportBounds$$1$$.x, $selector$$12_viewportBounds$$1$$.y + $selector$$12_viewportBounds$$1$$.height)); + this.editor.open($annotation$$22$$) + } +}; +$JSCompiler_prototypeAlias$$.$fromItemCoordinates$ = function $$JSCompiler_prototypeAlias$$$$fromItemCoordinates$$($itemCoords_pxOpposite$$) { + var $pxCoords$$ = this.$_map$.getViewPortPxFromLonLat(new OpenLayers.LonLat($itemCoords_pxOpposite$$.x, $itemCoords_pxOpposite$$.y)); + return($itemCoords_pxOpposite$$ = $itemCoords_pxOpposite$$.width ? this.$_map$.getViewPortPxFromLonLat(new OpenLayers.LonLat($itemCoords_pxOpposite$$.x + $itemCoords_pxOpposite$$.width, $itemCoords_pxOpposite$$.y + $itemCoords_pxOpposite$$.height)) : $JSCompiler_alias_FALSE$$) ? {x:$pxCoords$$.x, y:$itemCoords_pxOpposite$$.y, width:$itemCoords_pxOpposite$$.x - $pxCoords$$.x + 2, height:$pxCoords$$.y - $itemCoords_pxOpposite$$.y + 2} : {x:$pxCoords$$.x, y:$pxCoords$$.y} +}; +$JSCompiler_prototypeAlias$$.$getAnnotations$ = function $$JSCompiler_prototypeAlias$$$$getAnnotations$$() { + return this.$_viewer$.$getAnnotations$() +}; +$JSCompiler_prototypeAlias$$.$getAvailableSelectors$ = $JSCompiler_emptyFn$$(); +$JSCompiler_prototypeAlias$$.getItem = function $$JSCompiler_prototypeAlias$$$getItem$() { + return{src:"map://openlayers/something"} +}; +$JSCompiler_prototypeAlias$$.$setActiveSelector$ = $JSCompiler_emptyFn$$(); +$JSCompiler_prototypeAlias$$.$toItemCoordinates$ = function $$JSCompiler_prototypeAlias$$$$toItemCoordinates$$($itemOpposite_opposite_xy$$6$$) { + var $foo_itemCoords$$1$$ = this.$_map$.getLonLatFromPixel(new OpenLayers.Pixel($itemOpposite_opposite_xy$$6$$.x, $itemOpposite_opposite_xy$$6$$.y)); + return($itemOpposite_opposite_xy$$6$$ = $itemOpposite_opposite_xy$$6$$.width ? new OpenLayers.Pixel($itemOpposite_opposite_xy$$6$$.x + $itemOpposite_opposite_xy$$6$$.width - 2, $itemOpposite_opposite_xy$$6$$.y + $itemOpposite_opposite_xy$$6$$.height - 2) : $JSCompiler_alias_FALSE$$) ? ($itemOpposite_opposite_xy$$6$$ = this.$_map$.getLonLatFromPixel($itemOpposite_opposite_xy$$6$$), $foo_itemCoords$$1$$ = {x:$foo_itemCoords$$1$$.lon, y:$itemOpposite_opposite_xy$$6$$.lat, width:$itemOpposite_opposite_xy$$6$$.lon - + $foo_itemCoords$$1$$.lon, height:$foo_itemCoords$$1$$.lat - $itemOpposite_opposite_xy$$6$$.lat}, console.log($foo_itemCoords$$1$$), $foo_itemCoords$$1$$) : {x:$foo_itemCoords$$1$$.lon, y:$foo_itemCoords$$1$$.lat} +}; +function $annotorious$mediatypes$openlayers$OpenLayersModule$$() { + $JSCompiler_StaticMethods__initFields$$(this) +} +$goog$inherits$$($annotorious$mediatypes$openlayers$OpenLayersModule$$, $annotorious$mediatypes$Module$$); +$annotorious$mediatypes$openlayers$OpenLayersModule$$.prototype.$getItemURL$ = $JSCompiler_returnArg$$("map://openlayers/something"); +$annotorious$mediatypes$openlayers$OpenLayersModule$$.prototype.$newAnnotator$ = function $$annotorious$mediatypes$openlayers$OpenLayersModule$$$$$newAnnotator$$($item$$12$$) { + return new $annotorious$mediatypes$openlayers$OpenLayersAnnotator$$($item$$12$$) +}; +$annotorious$mediatypes$openlayers$OpenLayersModule$$.prototype.$supports$ = function $$annotorious$mediatypes$openlayers$OpenLayersModule$$$$$supports$$($item$$13$$) { + return $item$$13$$ instanceof OpenLayers.Map +}; +function $annotorious$mediatypes$openseadragon$Viewer$$($osdViewer$$, $annotator$$31$$) { + this.$_osdViewer$ = $osdViewer$$; + this.$_map_bounds$ = $goog$style$getBounds$$($osdViewer$$.element); + this.$_popup$ = $annotator$$31$$.popup; + $goog$style$setStyle$$(this.$_popup$.element, "z-index", 99E3); + this.$_overlays$ = []; + var $self$$26$$ = this; + this.$_osdViewer$.addHandler("animation", function() { + $self$$26$$.$_currentlyHighlightedOverlay$ && $self$$26$$.$_place_popup$() + }); + $annotator$$31$$.addHandler("beforePopupHide", function() { + $self$$26$$.$_lastHoveredOverlay$ == $self$$26$$.$_currentlyHighlightedOverlay$ ? $self$$26$$.$_popup$.clearHideTimer() : $self$$26$$.$_updateHighlight$($self$$26$$.$_lastHoveredOverlay$, $self$$26$$.$_currentlyHighlightedOverlay$) + }) +} +$JSCompiler_prototypeAlias$$ = $annotorious$mediatypes$openseadragon$Viewer$$.prototype; +$JSCompiler_prototypeAlias$$.$_place_popup$ = function $$JSCompiler_prototypeAlias$$$$_place_popup$$() { + var $JSCompiler_object_inline_top_6_popup_pos$$1_viewportEl$$ = this.$_osdViewer$.element, $JSCompiler_object_inline_left_7_annotation_div$$1_annotation_pos$$1$$ = this.$_currentlyHighlightedOverlay$.$outer$, $annotation_dim$$1_popup_bounds$$1$$ = $goog$style$getBounds$$($JSCompiler_object_inline_left_7_annotation_div$$1_annotation_pos$$1$$), $JSCompiler_object_inline_left_7_annotation_div$$1_annotation_pos$$1$$ = $goog$style$getRelativePosition$$($JSCompiler_object_inline_left_7_annotation_div$$1_annotation_pos$$1$$, + $JSCompiler_object_inline_top_6_popup_pos$$1_viewportEl$$), $JSCompiler_object_inline_top_6_popup_pos$$1_viewportEl$$ = $JSCompiler_object_inline_left_7_annotation_div$$1_annotation_pos$$1$$.y, $JSCompiler_object_inline_left_7_annotation_div$$1_annotation_pos$$1$$ = $JSCompiler_object_inline_left_7_annotation_div$$1_annotation_pos$$1$$.x, $JSCompiler_object_inline_width_8$$ = $annotation_dim$$1_popup_bounds$$1$$.width, $JSCompiler_object_inline_height_9$$ = $annotation_dim$$1_popup_bounds$$1$$.height, + $annotation_dim$$1_popup_bounds$$1$$ = $goog$style$getBounds$$(this.$_popup$.element), $JSCompiler_object_inline_top_6_popup_pos$$1_viewportEl$$ = {x:$JSCompiler_object_inline_left_7_annotation_div$$1_annotation_pos$$1$$, y:$JSCompiler_object_inline_top_6_popup_pos$$1_viewportEl$$ + $JSCompiler_object_inline_height_9$$ + 12}; + $goog$dom$classes$addRemove$$(this.$_popup$.element, "top-right", "top-left"); + this.$_osdViewer$.isFullPage() || ($JSCompiler_object_inline_left_7_annotation_div$$1_annotation_pos$$1$$ + $annotation_dim$$1_popup_bounds$$1$$.width > this.$_map_bounds$.width && ($goog$dom$classes$addRemove$$(this.$_popup$.element, "top-left", "top-right"), $JSCompiler_object_inline_top_6_popup_pos$$1_viewportEl$$.x = $JSCompiler_object_inline_left_7_annotation_div$$1_annotation_pos$$1$$ + $JSCompiler_object_inline_width_8$$ - $annotation_dim$$1_popup_bounds$$1$$.width), 0 > $JSCompiler_object_inline_top_6_popup_pos$$1_viewportEl$$.x && + ($JSCompiler_object_inline_top_6_popup_pos$$1_viewportEl$$.x = 0), $JSCompiler_object_inline_top_6_popup_pos$$1_viewportEl$$.x + $annotation_dim$$1_popup_bounds$$1$$.width > this.$_map_bounds$.width && ($JSCompiler_object_inline_top_6_popup_pos$$1_viewportEl$$.x = this.$_map_bounds$.width - $annotation_dim$$1_popup_bounds$$1$$.width), $JSCompiler_object_inline_top_6_popup_pos$$1_viewportEl$$.y + $annotation_dim$$1_popup_bounds$$1$$.height > this.$_map_bounds$.height && ($JSCompiler_object_inline_top_6_popup_pos$$1_viewportEl$$.y = + this.$_map_bounds$.height - $annotation_dim$$1_popup_bounds$$1$$.height)); + this.$_popup$.setPosition($JSCompiler_object_inline_top_6_popup_pos$$1_viewportEl$$) +}; +$JSCompiler_prototypeAlias$$.$_show_popup$ = function $$JSCompiler_prototypeAlias$$$$_show_popup$$($annotation$$23$$) { + this.$_popup$.setAnnotation($annotation$$23$$); + this.$_place_popup$(); + this.$_popup$.show() +}; +$JSCompiler_prototypeAlias$$.$_updateHighlight$ = function $$JSCompiler_prototypeAlias$$$$_updateHighlight$$($new_highlight$$1$$, $previous_highlight$$1$$) { + $new_highlight$$1$$ ? ($goog$style$setStyle$$($new_highlight$$1$$.$inner$, "border-color", "#fff000"), this.$_currentlyHighlightedOverlay$ = $new_highlight$$1$$, this.$_show_popup$($new_highlight$$1$$.$annotation$)) : delete this.$_currentlyHighlightedOverlay$; + $previous_highlight$$1$$ && $goog$style$setStyle$$($previous_highlight$$1$$.$inner$, "border-color", "#fff") +}; +$JSCompiler_prototypeAlias$$.$addAnnotation$ = function $$JSCompiler_prototypeAlias$$$$addAnnotation$$($annotation$$24$$) { + var $geometry$$2_rect$$10$$ = $annotation$$24$$.shapes[0].geometry, $outer$$ = $goog$dom$createDom$$("div", "annotorious-ol-boxmarker-outer"), $inner$$1$$ = $goog$dom$createDom$$("div", "annotorious-ol-boxmarker-inner"); + $goog$style$setSize$$($inner$$1$$, "100%", "100%"); + $outer$$.appendChild($inner$$1$$); + var $geometry$$2_rect$$10$$ = new OpenSeadragon.Rect($geometry$$2_rect$$10$$.x, $geometry$$2_rect$$10$$.y, $geometry$$2_rect$$10$$.width, $geometry$$2_rect$$10$$.height), $overlay$$5$$ = {$annotation$:$annotation$$24$$, $outer$:$outer$$, $inner$:$inner$$1$$}, $self$$27$$ = this; + $goog$events$listen$$($inner$$1$$, "mouseover", function() { + $self$$27$$.$_currentlyHighlightedOverlay$ || $self$$27$$.$_updateHighlight$($overlay$$5$$); + $self$$27$$.$_lastHoveredOverlay$ = $overlay$$5$$ + }); + $goog$events$listen$$($inner$$1$$, "mouseout", function() { + delete $self$$27$$.$_lastHoveredOverlay$; + $self$$27$$.$_popup$.startHideTimer() + }); + this.$_overlays$.push($overlay$$5$$); + $goog$array$ARRAY_PROTOTYPE_$$.sort.call(this.$_overlays$, function($a$$33$$, $b$$28$$) { + return $annotorious$shape$getSize$$($b$$28$$.$annotation$.shapes[0]) - $annotorious$shape$getSize$$($a$$33$$.$annotation$.shapes[0]) + } || $goog$array$defaultCompare$$); + var $zIndex$$1$$ = 1; + $goog$array$forEach$$(this.$_overlays$, function($overlay$$6$$) { + $goog$style$setStyle$$($overlay$$6$$.$outer$, "z-index", $zIndex$$1$$); + $zIndex$$1$$++ + }); + this.$_osdViewer$.drawer.addOverlay($outer$$, $geometry$$2_rect$$10$$) +}; +$JSCompiler_prototypeAlias$$.$removeAnnotation$ = function $$JSCompiler_prototypeAlias$$$$removeAnnotation$$($annotation$$25$$) { + var $overlay$$7$$ = $goog$array$find$$(this.$_overlays$, function($overlay$$8$$) { + return $overlay$$8$$.$annotation$ == $annotation$$25$$ + }); + $overlay$$7$$ && ($goog$array$remove$$(this.$_overlays$, $overlay$$7$$), this.$_osdViewer$.drawer.removeOverlay($overlay$$7$$.$outer$)) +}; +$JSCompiler_prototypeAlias$$.$getAnnotations$ = function $$JSCompiler_prototypeAlias$$$$getAnnotations$$() { + return $goog$array$map$$(this.$_overlays$, function($overlay$$9$$) { + console.log($overlay$$9$$); + return $overlay$$9$$.$annotation$ + }) +}; +$JSCompiler_prototypeAlias$$.$highlightAnnotation$ = $JSCompiler_emptyFn$$(); +$JSCompiler_prototypeAlias$$.destroy = function $$JSCompiler_prototypeAlias$$$destroy$() { + var $that$$ = this; + $goog$array$forEach$$(this.$_overlays$, function($overlay$$10$$) { + $that$$.$_osdViewer$.removeOverlay($overlay$$10$$.$outer$) + }); + this.$_overlays$ = [] +}; +function $annotorious$mediatypes$openseadragon$OpenSeadragonAnnotator$$($default_selector$$1_osdViewer$$1_width$$inline_793$$) { + this.element = $default_selector$$1_osdViewer$$1_width$$inline_793$$.element; + var $JSCompiler_temp$$811_height$$inline_794_parent$$inline_784_parent$$inline_924$$ = document; + $JSCompiler_temp$$811_height$$inline_794_parent$$inline_784_parent$$inline_924$$.querySelectorAll && $JSCompiler_temp$$811_height$$inline_794_parent$$inline_784_parent$$inline_924$$.querySelector ? $JSCompiler_temp$$811_height$$inline_794_parent$$inline_784_parent$$inline_924$$ = $JSCompiler_temp$$811_height$$inline_794_parent$$inline_784_parent$$inline_924$$.querySelector(".openseadragon-container") : ($JSCompiler_temp$$811_height$$inline_794_parent$$inline_784_parent$$inline_924$$ = document, + $JSCompiler_temp$$811_height$$inline_794_parent$$inline_784_parent$$inline_924$$ = ($JSCompiler_temp$$811_height$$inline_794_parent$$inline_784_parent$$inline_924$$.querySelectorAll && $JSCompiler_temp$$811_height$$inline_794_parent$$inline_784_parent$$inline_924$$.querySelector ? $JSCompiler_temp$$811_height$$inline_794_parent$$inline_784_parent$$inline_924$$.querySelectorAll(".openseadragon-container") : $JSCompiler_temp$$811_height$$inline_794_parent$$inline_784_parent$$inline_924$$.getElementsByClassName ? + $JSCompiler_temp$$811_height$$inline_794_parent$$inline_784_parent$$inline_924$$.getElementsByClassName("openseadragon-container") : $goog$dom$getElementsByTagNameAndClass_$$())[0]); + $goog$style$setStyle$$($JSCompiler_temp$$811_height$$inline_794_parent$$inline_784_parent$$inline_924$$ || $JSCompiler_alias_NULL$$, "z-index", 0); + this.$_osdViewer$ = $default_selector$$1_osdViewer$$1_width$$inline_793$$; + this.$_eventBroker$ = new $annotorious$events$EventBroker$$; + this.$_selectors$ = []; + this.$_selectionEnabled$ = $JSCompiler_alias_TRUE$$; + this.$_secondaryHint$ = $goog$soy$renderAsElement$$($annotorious$templates$openlayers$secondaryHint$$, {$msg$:"Click and Drag"}); + $goog$style$setOpacity$$(this.$_secondaryHint$, 0); + this.element.appendChild(this.$_secondaryHint$); + this.popup = new $annotorious$Popup$$(this); + this.$_viewer$ = new $annotorious$mediatypes$openseadragon$Viewer$$($default_selector$$1_osdViewer$$1_width$$inline_793$$, this); + this.$_editCanvas$ = $goog$soy$renderAsElement$$($annotorious$templates$image$canvas$$, {width:"0", height:"0"}); + $goog$style$showElement$$(this.$_editCanvas$, $JSCompiler_alias_FALSE$$); + this.element.appendChild(this.$_editCanvas$); + var $self$$28$$ = this, $default_selector$$1_osdViewer$$1_width$$inline_793$$ = parseInt($goog$style$getComputedStyle$$($self$$28$$.element, "width"), 10), $JSCompiler_temp$$811_height$$inline_794_parent$$inline_784_parent$$inline_924$$ = parseInt($goog$style$getComputedStyle$$($self$$28$$.element, "height"), 10); + $goog$style$setSize$$($self$$28$$.$_editCanvas$, $default_selector$$1_osdViewer$$1_width$$inline_793$$, $JSCompiler_temp$$811_height$$inline_794_parent$$inline_784_parent$$inline_924$$); + $self$$28$$.$_editCanvas$.width = $default_selector$$1_osdViewer$$1_width$$inline_793$$; + $self$$28$$.$_editCanvas$.height = $JSCompiler_temp$$811_height$$inline_794_parent$$inline_784_parent$$inline_924$$; + $default_selector$$1_osdViewer$$1_width$$inline_793$$ = new $annotorious$plugins$selection$RectDragSelector$$; + $default_selector$$1_osdViewer$$1_width$$inline_793$$.init(this, this.$_editCanvas$); + this.$_selectors$.push($default_selector$$1_osdViewer$$1_width$$inline_793$$); + this.$_currentSelector$ = $default_selector$$1_osdViewer$$1_width$$inline_793$$; + this.editor = new $annotorious$Editor$$(this); + $JSCompiler_StaticMethods__attachListener$$(this, this.$_editCanvas$); + this.$_eventBroker$.addHandler("onSelectionCompleted", function($bounds$$3_event$$36$$) { + $bounds$$3_event$$36$$ = $bounds$$3_event$$36$$.viewportBounds; + $self$$28$$.editor.setPosition(new $annotorious$shape$geom$Point$$($bounds$$3_event$$36$$.left, $bounds$$3_event$$36$$.bottom + 4)); + $self$$28$$.editor.open() + }); + this.$_eventBroker$.addHandler("onSelectionCanceled", function() { + $self$$28$$.stopSelection() + }) +} +$goog$inherits$$($annotorious$mediatypes$openseadragon$OpenSeadragonAnnotator$$, $annotorious$mediatypes$Annotator$$); +$JSCompiler_prototypeAlias$$ = $annotorious$mediatypes$openseadragon$OpenSeadragonAnnotator$$.prototype; +$JSCompiler_prototypeAlias$$.$showSelectionWidget$ = $JSCompiler_emptyFn$$(); +$JSCompiler_prototypeAlias$$.$hideSelectionWidget$ = $JSCompiler_emptyFn$$(); +$JSCompiler_prototypeAlias$$.destroy = function $$JSCompiler_prototypeAlias$$$destroy$() { + this.$_viewer$.destroy(); + delete this.$_viewer$ +}; +$JSCompiler_prototypeAlias$$.$activateSelector$ = function $$JSCompiler_prototypeAlias$$$$activateSelector$$($callback$$37$$) { + $goog$style$setStyle$$(this.$_editCanvas$, "pointer-events", "auto"); + var $self$$29$$ = this; + $goog$style$showElement$$(this.$_editCanvas$, $JSCompiler_alias_TRUE$$); + $goog$style$setOpacity$$(this.$_secondaryHint$, 0.8); + window.setTimeout(function() { + $goog$style$setOpacity$$($self$$29$$.$_secondaryHint$, 0) + }, 2E3); + $callback$$37$$ && (this.$_stop_selection_callback$ = $callback$$37$$) +}; +$JSCompiler_prototypeAlias$$.$editAnnotation$ = function $$JSCompiler_prototypeAlias$$$$editAnnotation$$($annotation$$26$$) { + this.$_viewer$.$removeAnnotation$($annotation$$26$$); + var $selector$$14_viewportBounds$$2$$ = this.$_currentSelector$, $self$$30$$ = this; + if($selector$$14_viewportBounds$$2$$) { + $goog$style$showElement$$(this.$_editCanvas$, $JSCompiler_alias_TRUE$$); + this.$_viewer$.$highlightAnnotation$($JSCompiler_alias_VOID$$); + var $g2d$$3$$ = this.$_editCanvas$.getContext("2d"), $viewportShape$$3$$ = $annotorious$shape$transform$$($annotation$$26$$.shapes[0], function($xy$$7$$) { + return $self$$30$$.$fromItemCoordinates$($xy$$7$$) + }); + $selector$$14_viewportBounds$$2$$.drawShape($g2d$$3$$, $viewportShape$$3$$); + $selector$$14_viewportBounds$$2$$ = $annotorious$shape$getBoundingRect$$($viewportShape$$3$$).geometry; + this.editor.setPosition(new $annotorious$shape$geom$Point$$($selector$$14_viewportBounds$$2$$.x, $selector$$14_viewportBounds$$2$$.y + $selector$$14_viewportBounds$$2$$.height + 4)); + this.editor.open($annotation$$26$$) + } +}; +$JSCompiler_prototypeAlias$$.$fromItemCoordinates$ = function $$JSCompiler_prototypeAlias$$$$fromItemCoordinates$$($itemCoords$$2_viewportOpposite_windowOpposite$$) { + var $offset$$19$$ = $annotorious$dom$getOffset$$(this.element); + $offset$$19$$.top += window.pageYOffset; + $offset$$19$$.left += window.pageXOffset; + var $viewportPoint_windowPoint$$ = new OpenSeadragon.Point($itemCoords$$2_viewportOpposite_windowOpposite$$.x, $itemCoords$$2_viewportOpposite_windowOpposite$$.y), $itemCoords$$2_viewportOpposite_windowOpposite$$ = $itemCoords$$2_viewportOpposite_windowOpposite$$.width ? new OpenSeadragon.Point($itemCoords$$2_viewportOpposite_windowOpposite$$.x + $itemCoords$$2_viewportOpposite_windowOpposite$$.width, $itemCoords$$2_viewportOpposite_windowOpposite$$.y + $itemCoords$$2_viewportOpposite_windowOpposite$$.height) : + $JSCompiler_alias_FALSE$$, $viewportPoint_windowPoint$$ = this.$_osdViewer$.viewport.viewportToWindowCoordinates($viewportPoint_windowPoint$$); + return $itemCoords$$2_viewportOpposite_windowOpposite$$ ? ($itemCoords$$2_viewportOpposite_windowOpposite$$ = this.$_osdViewer$.viewport.viewportToWindowCoordinates($itemCoords$$2_viewportOpposite_windowOpposite$$), {x:$viewportPoint_windowPoint$$.x - $offset$$19$$.left, y:$viewportPoint_windowPoint$$.y - $offset$$19$$.top, width:$itemCoords$$2_viewportOpposite_windowOpposite$$.x - $viewportPoint_windowPoint$$.x + 2, height:$itemCoords$$2_viewportOpposite_windowOpposite$$.y - $viewportPoint_windowPoint$$.y + + 2}) : $viewportPoint_windowPoint$$ +}; +$JSCompiler_prototypeAlias$$.$getAnnotations$ = function $$JSCompiler_prototypeAlias$$$$getAnnotations$$() { + return this.$_viewer$.$getAnnotations$() +}; +$JSCompiler_prototypeAlias$$.$getAvailableSelectors$ = $JSCompiler_emptyFn$$(); +$JSCompiler_prototypeAlias$$.getItem = function $$JSCompiler_prototypeAlias$$$getItem$() { + return{src:"dzi://openseadragon/something"} +}; +$JSCompiler_prototypeAlias$$.$setActiveSelector$ = $JSCompiler_emptyFn$$(); +$JSCompiler_prototypeAlias$$.$getActiveSelector$ = $JSCompiler_get$$("$_currentSelector$"); +$JSCompiler_prototypeAlias$$.$toItemCoordinates$ = function $$JSCompiler_prototypeAlias$$$$toItemCoordinates$$($viewElementOpposite_viewportOpposite$$1_xy$$8$$) { + var $offset$$20$$ = $annotorious$dom$getOffset$$(this.element); + $offset$$20$$.top += window.pageYOffset; + $offset$$20$$.left += window.pageXOffset; + var $viewElementPoint_viewportPoint$$1$$ = new OpenSeadragon.Point($viewElementOpposite_viewportOpposite$$1_xy$$8$$.x + $offset$$20$$.left, $viewElementOpposite_viewportOpposite$$1_xy$$8$$.y + $offset$$20$$.top), $viewElementOpposite_viewportOpposite$$1_xy$$8$$ = $viewElementOpposite_viewportOpposite$$1_xy$$8$$.width ? new OpenSeadragon.Point($viewElementOpposite_viewportOpposite$$1_xy$$8$$.x + $offset$$20$$.left + $viewElementOpposite_viewportOpposite$$1_xy$$8$$.width - 2, $viewElementOpposite_viewportOpposite$$1_xy$$8$$.y + + $offset$$20$$.top + $viewElementOpposite_viewportOpposite$$1_xy$$8$$.height - 2) : $JSCompiler_alias_FALSE$$, $viewElementPoint_viewportPoint$$1$$ = this.$_osdViewer$.viewport.windowToViewportCoordinates($viewElementPoint_viewportPoint$$1$$); + return $viewElementOpposite_viewportOpposite$$1_xy$$8$$ ? ($viewElementOpposite_viewportOpposite$$1_xy$$8$$ = this.$_osdViewer$.viewport.windowToViewportCoordinates($viewElementOpposite_viewportOpposite$$1_xy$$8$$), {x:$viewElementPoint_viewportPoint$$1$$.x, y:$viewElementPoint_viewportPoint$$1$$.y, width:$viewElementOpposite_viewportOpposite$$1_xy$$8$$.x - $viewElementPoint_viewportPoint$$1$$.x, height:$viewElementOpposite_viewportOpposite$$1_xy$$8$$.y - $viewElementPoint_viewportPoint$$1$$.y}) : + $viewElementPoint_viewportPoint$$1$$ +}; +function $annotorious$mediatypes$openseadragon$OpenSeadragonModule$$() { + $JSCompiler_StaticMethods__initFields$$(this) +} +$goog$inherits$$($annotorious$mediatypes$openseadragon$OpenSeadragonModule$$, $annotorious$mediatypes$Module$$); +$annotorious$mediatypes$openseadragon$OpenSeadragonModule$$.prototype.$getItemURL$ = $JSCompiler_returnArg$$("dzi://openseadragon/something"); +$annotorious$mediatypes$openseadragon$OpenSeadragonModule$$.prototype.$newAnnotator$ = function $$annotorious$mediatypes$openseadragon$OpenSeadragonModule$$$$$newAnnotator$$($item$$15$$) { + return new $annotorious$mediatypes$openseadragon$OpenSeadragonAnnotator$$($item$$15$$) +}; +$annotorious$mediatypes$openseadragon$OpenSeadragonModule$$.prototype.$supports$ = function $$annotorious$mediatypes$openseadragon$OpenSeadragonModule$$$$$supports$$($item$$16$$) { + return!$item$$16$$.id || 0 != $item$$16$$.id.indexOf("openseadragon") || !$item$$16$$.hasOwnProperty("drawer") ? $JSCompiler_alias_FALSE$$ : $JSCompiler_alias_TRUE$$ +}; +function $annotorious$Annotorious$$() { + function $fn$$inline_796$$() { + $JSCompiler_StaticMethods__init$$($self$$31$$) + } + this.$_isInitialized$ = $JSCompiler_alias_FALSE$$; + this.$_modules$ = [new $annotorious$mediatypes$image$ImageModule$$]; + window.OpenLayers && this.$_modules$.push(new $annotorious$mediatypes$openlayers$OpenLayersModule$$); + window.OpenSeadragon && this.$_modules$.push(new $annotorious$mediatypes$openseadragon$OpenSeadragonModule$$); + this.$_plugins$ = []; + var $self$$31$$ = this; + window.addEventListener ? window.addEventListener("load", $fn$$inline_796$$, $JSCompiler_alias_FALSE$$) : window.attachEvent && window.attachEvent("onload", $fn$$inline_796$$) +} +function $JSCompiler_StaticMethods__init$$($JSCompiler_StaticMethods__init$self$$) { + $JSCompiler_StaticMethods__init$self$$.$_isInitialized$ || ($goog$array$forEach$$($JSCompiler_StaticMethods__init$self$$.$_modules$, function($module$$) { + $module$$.init() + }), $goog$array$forEach$$($JSCompiler_StaticMethods__init$self$$.$_plugins$, function($plugin$$3$$) { + $plugin$$3$$.initPlugin && $plugin$$3$$.initPlugin($JSCompiler_StaticMethods__init$self$$); + $goog$array$forEach$$($JSCompiler_StaticMethods__init$self$$.$_modules$, function($module$$1$$) { + $module$$1$$.$addPlugin$($plugin$$3$$) + }) + }), $JSCompiler_StaticMethods__init$self$$.$_isInitialized$ = $JSCompiler_alias_TRUE$$) +} +function $JSCompiler_StaticMethods__getModuleForItemSrc$$($JSCompiler_StaticMethods__getModuleForItemSrc$self$$, $item_src$$1$$) { + return $goog$array$find$$($JSCompiler_StaticMethods__getModuleForItemSrc$self$$.$_modules$, function($module$$2$$) { + return $JSCompiler_StaticMethods_annotatesItem$$($module$$2$$, $item_src$$1$$) + }) +} +$JSCompiler_prototypeAlias$$ = $annotorious$Annotorious$$.prototype; +$JSCompiler_prototypeAlias$$.$activateSelector$ = function $$JSCompiler_prototypeAlias$$$$activateSelector$$($opt_item_url_or_callback$$1$$, $opt_callback$$6$$) { + var $item_url$$6$$ = $JSCompiler_alias_VOID$$, $callback$$38$$ = $JSCompiler_alias_VOID$$; + $goog$isString$$($opt_item_url_or_callback$$1$$) ? ($item_url$$6$$ = $opt_item_url_or_callback$$1$$, $callback$$38$$ = $opt_callback$$6$$) : $goog$isFunction$$($opt_item_url_or_callback$$1$$) && ($callback$$38$$ = $opt_item_url_or_callback$$1$$); + if($item_url$$6$$) { + var $module$$3$$ = $JSCompiler_StaticMethods__getModuleForItemSrc$$(this, $item_url$$6$$); + $module$$3$$ && $module$$3$$.$activateSelector$($item_url$$6$$, $callback$$38$$) + }else { + $goog$array$forEach$$(this.$_modules$, function($module$$4$$) { + $module$$4$$.$activateSelector$($callback$$38$$) + }) + } +}; +$JSCompiler_prototypeAlias$$.$addAnnotation$ = function $$JSCompiler_prototypeAlias$$$$addAnnotation$$($annotation$$27$$, $opt_replace$$4$$) { + var $JSCompiler_inline_result$$30_module$$5_url$$inline_798$$; + $JSCompiler_inline_result$$30_module$$5_url$$inline_798$$ = $annotation$$27$$.src; + if(!(0 < $JSCompiler_inline_result$$30_module$$5_url$$inline_798$$.indexOf("://"))) { + var $link$$inline_799$$ = document.createElement("a"); + $link$$inline_799$$.href = $JSCompiler_inline_result$$30_module$$5_url$$inline_798$$; + $JSCompiler_inline_result$$30_module$$5_url$$inline_798$$ = $link$$inline_799$$.protocol + "//" + $link$$inline_799$$.host + $link$$inline_799$$.pathname + } + $annotation$$27$$.src = $JSCompiler_inline_result$$30_module$$5_url$$inline_798$$; + ($JSCompiler_inline_result$$30_module$$5_url$$inline_798$$ = $JSCompiler_StaticMethods__getModuleForItemSrc$$(this, $annotation$$27$$.src)) && $JSCompiler_inline_result$$30_module$$5_url$$inline_798$$.$addAnnotation$($annotation$$27$$, $opt_replace$$4$$) +}; +$JSCompiler_prototypeAlias$$.addHandler = function $$JSCompiler_prototypeAlias$$$addHandler$($type$$88$$, $handler$$14$$) { + $goog$array$forEach$$(this.$_modules$, function($module$$6$$) { + $module$$6$$.addHandler($type$$88$$, $handler$$14$$) + }) +}; +$JSCompiler_prototypeAlias$$.$addPlugin$ = function $$JSCompiler_prototypeAlias$$$$addPlugin$$($plugin_name$$, $opt_config_options$$) { + try { + var $plugin$$4$$ = new window.annotorious.plugin[$plugin_name$$]($opt_config_options$$); + "complete" == document.readyState ? ($plugin$$4$$.initPlugin && $plugin$$4$$.initPlugin(this), $goog$array$forEach$$(this.$_modules$, function($module$$7$$) { + $module$$7$$.$addPlugin$($plugin$$4$$) + })) : this.$_plugins$.push($plugin$$4$$) + }catch($error$$3$$) { + console.log("Could not load plugin: " + $plugin_name$$) + } +}; +$JSCompiler_prototypeAlias$$.destroy = function $$JSCompiler_prototypeAlias$$$destroy$($opt_item_url$$9$$) { + if($opt_item_url$$9$$) { + var $module$$8$$ = $JSCompiler_StaticMethods__getModuleForItemSrc$$(this, $opt_item_url$$9$$); + $module$$8$$ && $module$$8$$.destroy($opt_item_url$$9$$) + }else { + $goog$array$forEach$$(this.$_modules$, function($module$$9$$) { + $module$$9$$.destroy() + }) + } +}; +$JSCompiler_prototypeAlias$$.$getActiveSelector$ = function $$JSCompiler_prototypeAlias$$$$getActiveSelector$$($item_url$$7$$) { + var $module$$10$$ = $JSCompiler_StaticMethods__getModuleForItemSrc$$(this, $item_url$$7$$); + if($module$$10$$) { + return $module$$10$$.$getActiveSelector$($item_url$$7$$) + } +}; +$JSCompiler_prototypeAlias$$.$getAnnotations$ = function $$JSCompiler_prototypeAlias$$$$getAnnotations$$($opt_item_url$$10$$) { + if($opt_item_url$$10$$) { + var $module$$11$$ = $JSCompiler_StaticMethods__getModuleForItemSrc$$(this, $opt_item_url$$10$$); + return $module$$11$$ ? $module$$11$$.$getAnnotations$($opt_item_url$$10$$) : [] + } + var $annotations$$4$$ = []; + $goog$array$forEach$$(this.$_modules$, function($module$$12$$) { + $goog$array$extend$$($annotations$$4$$, $module$$12$$.$getAnnotations$()) + }); + return $annotations$$4$$ +}; +$JSCompiler_prototypeAlias$$.$getAvailableSelectors$ = function $$JSCompiler_prototypeAlias$$$$getAvailableSelectors$$($item_url$$8$$) { + var $module$$13$$ = $JSCompiler_StaticMethods__getModuleForItemSrc$$(this, $item_url$$8$$); + return $module$$13$$ ? $module$$13$$.$getAvailableSelectors$($item_url$$8$$) : [] +}; +$JSCompiler_prototypeAlias$$.$hideAnnotations$ = function $$JSCompiler_prototypeAlias$$$$hideAnnotations$$($opt_item_url$$11$$) { + if($opt_item_url$$11$$) { + var $module$$14$$ = $JSCompiler_StaticMethods__getModuleForItemSrc$$(this, $opt_item_url$$11$$); + $module$$14$$ && $module$$14$$.$hideAnnotations$($opt_item_url$$11$$) + }else { + $goog$array$forEach$$(this.$_modules$, function($module$$15$$) { + $module$$15$$.$hideAnnotations$() + }) + } +}; +$JSCompiler_prototypeAlias$$.$hideSelectionWidget$ = function $$JSCompiler_prototypeAlias$$$$hideSelectionWidget$$($opt_item_url$$12$$) { + if($opt_item_url$$12$$) { + var $module$$16$$ = $JSCompiler_StaticMethods__getModuleForItemSrc$$(this, $opt_item_url$$12$$); + $module$$16$$ && $module$$16$$.$hideSelectionWidget$($opt_item_url$$12$$) + }else { + $goog$array$forEach$$(this.$_modules$, function($module$$17$$) { + $module$$17$$.$hideSelectionWidget$() + }) + } +}; +$JSCompiler_prototypeAlias$$.stopSelection = function $$JSCompiler_prototypeAlias$$$stopSelection$($opt_item_url$$13$$) { + if($opt_item_url$$13$$) { + var $module$$18$$ = $JSCompiler_StaticMethods__getModuleForItemSrc$$(this, $opt_item_url$$13$$); + $module$$18$$ && $module$$18$$.stopSelection($opt_item_url$$13$$) + }else { + $goog$array$forEach$$(this.$_modules$, function($module$$19$$) { + $module$$19$$.stopSelection() + }) + } +}; +$JSCompiler_prototypeAlias$$.$highlightAnnotation$ = function $$JSCompiler_prototypeAlias$$$$highlightAnnotation$$($annotation$$28$$) { + if($annotation$$28$$) { + var $module$$20$$ = $JSCompiler_StaticMethods__getModuleForItemSrc$$(this, $annotation$$28$$.src); + $module$$20$$ && $module$$20$$.$highlightAnnotation$($annotation$$28$$) + }else { + $goog$array$forEach$$(this.$_modules$, function($module$$21$$) { + $module$$21$$.$highlightAnnotation$() + }) + } +}; +$JSCompiler_prototypeAlias$$.$makeAnnotatable$ = function $$JSCompiler_prototypeAlias$$$$makeAnnotatable$$($item$$17$$) { + $JSCompiler_StaticMethods__init$$(this); + var $module$$22$$ = $goog$array$find$$(this.$_modules$, function($module$$23$$) { + return $module$$23$$.$supports$($item$$17$$) + }); + $module$$22$$ ? $module$$22$$.$makeAnnotatable$($item$$17$$) : $JSCompiler_alias_THROW$$("Error: Annotorious does not support this media type in the current version or build configuration.") +}; +$JSCompiler_prototypeAlias$$.$removeAll$ = function $$JSCompiler_prototypeAlias$$$$removeAll$$($opt_item_url$$14$$) { + var $self$$33$$ = this; + $goog$array$forEach$$(this.$getAnnotations$($opt_item_url$$14$$), function($annotation$$29$$) { + $self$$33$$.$removeAnnotation$($annotation$$29$$) + }) +}; +$JSCompiler_prototypeAlias$$.$removeAnnotation$ = function $$JSCompiler_prototypeAlias$$$$removeAnnotation$$($annotation$$30$$) { + var $module$$24$$ = $JSCompiler_StaticMethods__getModuleForItemSrc$$(this, $annotation$$30$$.src); + $module$$24$$ && $module$$24$$.$removeAnnotation$($annotation$$30$$) +}; +$JSCompiler_prototypeAlias$$.reset = function $$JSCompiler_prototypeAlias$$$reset$() { + $goog$array$forEach$$(this.$_modules$, function($module$$25$$) { + $module$$25$$.destroy(); + $module$$25$$.init() + }) +}; +$JSCompiler_prototypeAlias$$.$setActiveSelector$ = function $$JSCompiler_prototypeAlias$$$$setActiveSelector$$($item_url$$9$$, $selector$$16$$) { + var $module$$26$$ = $JSCompiler_StaticMethods__getModuleForItemSrc$$(this, $item_url$$9$$); + $module$$26$$ && $module$$26$$.$setActiveSelector$($item_url$$9$$, $selector$$16$$) +}; +$JSCompiler_prototypeAlias$$.$setProperties$ = function $$JSCompiler_prototypeAlias$$$$setProperties$$($props$$4$$) { + $goog$array$forEach$$(this.$_modules$, function($module$$27$$) { + $module$$27$$.$setProperties$($props$$4$$) + }) +}; +$JSCompiler_prototypeAlias$$.$setSelectionEnabled$ = function $$JSCompiler_prototypeAlias$$$$setSelectionEnabled$$($enabled$$2$$) { + $enabled$$2$$ ? this.$showSelectionWidget$($JSCompiler_alias_VOID$$) : this.$hideSelectionWidget$($JSCompiler_alias_VOID$$) +}; +$JSCompiler_prototypeAlias$$.$showAnnotations$ = function $$JSCompiler_prototypeAlias$$$$showAnnotations$$($opt_item_url$$15$$) { + if($opt_item_url$$15$$) { + var $module$$28$$ = $JSCompiler_StaticMethods__getModuleForItemSrc$$(this, $opt_item_url$$15$$); + $module$$28$$ && $module$$28$$.$showAnnotations$($opt_item_url$$15$$) + }else { + $goog$array$forEach$$(this.$_modules$, function($module$$29$$) { + $module$$29$$.$showAnnotations$() + }) + } +}; +$JSCompiler_prototypeAlias$$.$showSelectionWidget$ = function $$JSCompiler_prototypeAlias$$$$showSelectionWidget$$($opt_item_url$$16$$) { + if($opt_item_url$$16$$) { + var $module$$30$$ = $JSCompiler_StaticMethods__getModuleForItemSrc$$(this, $opt_item_url$$16$$); + $module$$30$$ && $module$$30$$.$showSelectionWidget$($opt_item_url$$16$$) + }else { + $goog$array$forEach$$(this.$_modules$, function($module$$31$$) { + $module$$31$$.$showSelectionWidget$() + }) + } +}; +window.anno = new $annotorious$Annotorious$$; +$annotorious$Annotorious$$.prototype.activateSelector = $annotorious$Annotorious$$.prototype.$activateSelector$; +$annotorious$Annotorious$$.prototype.addAnnotation = $annotorious$Annotorious$$.prototype.$addAnnotation$; +$annotorious$Annotorious$$.prototype.addHandler = $annotorious$Annotorious$$.prototype.addHandler; +$annotorious$Annotorious$$.prototype.addPlugin = $annotorious$Annotorious$$.prototype.$addPlugin$; +$annotorious$Annotorious$$.prototype.destroy = $annotorious$Annotorious$$.prototype.destroy; +$annotorious$Annotorious$$.prototype.getActiveSelector = $annotorious$Annotorious$$.prototype.$getActiveSelector$; +$annotorious$Annotorious$$.prototype.getAnnotations = $annotorious$Annotorious$$.prototype.$getAnnotations$; +$annotorious$Annotorious$$.prototype.getAvailableSelectors = $annotorious$Annotorious$$.prototype.$getAvailableSelectors$; +$annotorious$Annotorious$$.prototype.hideAnnotations = $annotorious$Annotorious$$.prototype.$hideAnnotations$; +$annotorious$Annotorious$$.prototype.hideSelectionWidget = $annotorious$Annotorious$$.prototype.$hideSelectionWidget$; +$annotorious$Annotorious$$.prototype.highlightAnnotation = $annotorious$Annotorious$$.prototype.$highlightAnnotation$; +$annotorious$Annotorious$$.prototype.makeAnnotatable = $annotorious$Annotorious$$.prototype.$makeAnnotatable$; +$annotorious$Annotorious$$.prototype.removeAll = $annotorious$Annotorious$$.prototype.$removeAll$; +$annotorious$Annotorious$$.prototype.removeAnnotation = $annotorious$Annotorious$$.prototype.$removeAnnotation$; +$annotorious$Annotorious$$.prototype.reset = $annotorious$Annotorious$$.prototype.reset; +$annotorious$Annotorious$$.prototype.setActiveSelector = $annotorious$Annotorious$$.prototype.$setActiveSelector$; +$annotorious$Annotorious$$.prototype.setProperties = $annotorious$Annotorious$$.prototype.$setProperties$; +$annotorious$Annotorious$$.prototype.showAnnotations = $annotorious$Annotorious$$.prototype.$showAnnotations$; +$annotorious$Annotorious$$.prototype.showSelectionWidget = $annotorious$Annotorious$$.prototype.$showSelectionWidget$; +window.annotorious || (window.annotorious = {}); +window.annotorious.plugin || (window.annotorious.plugin = {}); +window.annotorious.geometry || (window.annotorious.geometry = {}, window.annotorious.geometry.expand = $annotorious$shape$expand$$, window.annotorious.geometry.getBoundingRect = $annotorious$shape$getBoundingRect$$); +$annotorious$Annotorious$$.prototype.setSelectionEnabled = $annotorious$Annotorious$$.prototype.$setSelectionEnabled$; + diff --git a/node_modules/annotorious/annotorious.min.js b/node_modules/annotorious/annotorious.min.js new file mode 100644 index 0000000..b7bb650 --- /dev/null +++ b/node_modules/annotorious/annotorious.min.js @@ -0,0 +1,254 @@ +function g(a){throw a;}var i=void 0,j=!0,m=null,n=!1;function p(){return function(){}}function r(a){return function(){return this[a]}}function aa(a){return function(){return a}}var s,t=this;function ba(a,b){var c=a.split("."),d=t;!(c[0]in d)&&d.execScript&&d.execScript("var "+c[0]);for(var f;c.length&&(f=c.shift());)!c.length&&ca(b)?d[f]=b:d=d[f]?d[f]:d[f]={}}function da(){}function ea(a){a.pb=function(){return a.Bd?a.Bd:a.Bd=new a}} +function fa(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return"function"}else return"null"; +else if("function"==b&&"undefined"==typeof a.call)return"object";return b}function ca(a){return a!==i}function ga(a){return"array"==fa(a)}function ha(a){var b=fa(a);return"array"==b||"object"==b&&"number"==typeof a.length}function u(a){return"string"==typeof a}function v(a){return"function"==fa(a)}function ia(a){var b=typeof a;return"object"==b&&a!=m||"function"==b}function ja(a){return a[ka]||(a[ka]=++la)}var ka="closure_uid_"+Math.floor(2147483648*Math.random()).toString(36),la=0; +function ma(a,b,c){return a.call.apply(a.bind,arguments)}function na(a,b,c){a||g(Error());if(2")&&(a=a.replace(wa,">"));-1!=a.indexOf('"')&&(a=a.replace(xa,"""));return a}var ua=/&/g,va=//g,xa=/\"/g,ta=/[&<>\"]/;function ya(a){return String(a).replace(/\-([a-z])/g,function(a,c){return c.toUpperCase()})};var B=Array.prototype,za=B.indexOf?function(a,b,c){return B.indexOf.call(a,b,c)}:function(a,b,c){c=c==m?0:0>c?Math.max(0,a.length+c):c;if(u(a))return!u(b)||1!=b.length?-1:a.indexOf(b,c);for(;cc?m:u(a)?a.charAt(c):a[c]}function Ea(a,b){return 0<=za(a,b)}function D(a,b){var c=za(a,b);0<=c&&B.splice.call(a,c,1)}function Fa(a){var b=a.length;if(0=arguments.length?B.slice.call(a,b):B.slice.call(a,b,c)}function Ia(a,b){return a>b?1:aparseFloat(Wa)){Va=String($a);break a}}Va=Wa}var bb={}; +function I(a){var b;if(!(b=bb[a])){b=0;for(var c=ra(String(Va)).split("."),d=ra(String(a)).split("."),f=Math.max(c.length,d.length),e=0;0==b&&e(0==y[1].length?0:parseInt(y[1],10))?1:0)||((0==w[2].length)< +(0==y[2].length)?-1:(0==w[2].length)>(0==y[2].length)?1:0)||(w[2]y[2]?1:0)}while(0==b)}b=bb[a]=0<=b}return b}var cb={};function db(a){return cb[a]||(cb[a]=E&&!!document.documentMode&&document.documentMode>=a)};var eb,fb=!E||db(9);!F&&!E||E&&db(9)||F&&I("1.9.1");E&&I("9");var gb=E||Sa||G;function hb(a){a=a.className;return u(a)&&a.match(/\S+/g)||[]}function ib(a,b){var c=hb(a),d=Ha(arguments,1),f=c.length+d.length;jb(c,d);a.className=c.join(" ");return c.length==f}function kb(a,b){var c=hb(a),d=Ha(arguments,1),f=lb(c,d);a.className=f.join(" ");return f.length==c.length-d.length}function jb(a,b){for(var c=0;c");e=e.join("")}e=f.createElement(e);h&&(u(h)?e.className=h:ga(h)?ib.apply(m,[e].concat(h)):ub(e,h));2a):n}function sb(a){this.M=a||t.document||document}s=sb.prototype;s.pd=rb; +s.d=function(a){return u(a)?this.M.getElementById(a):a};s.ga=ub;s.createElement=function(a){return this.M.createElement(a)};s.createTextNode=function(a){return this.M.createTextNode(a)};function Db(a){var b=a.M,a=!G?b.documentElement:b.body,b=b.parentWindow||b.defaultView;return new J(b.pageXOffset||a.scrollLeft,b.pageYOffset||a.scrollTop)}s.appendChild=function(a,b){a.appendChild(b)};s.append=function(a,b){xb(K(a),a,arguments,1)};s.contains=Bb;var Eb;Eb=aa(j);/* + Portions of this code are from the Dojo Toolkit, received by + The Closure Library Authors under the BSD license. All other code is + Copyright 2005-2009 The Closure Library Authors. All Rights Reserved. + +The "New" BSD License: + +Copyright (c) 2005-2009, The Dojo Foundation +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + Neither the name of the Dojo Foundation nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ +function Fb(a,b){var c=b||[];a&&c.push(a);return c}var Gb=G&&"BackCompat"==document.compatMode,Hb=document.firstChild.children?"children":"childNodes",Ib=n; +function Jb(a){function b(){0<=q&&(x.id=c(q,A).replace(/\\/g,""),q=-1);if(0<=w){var a=w==A?m:c(w,A);0>">~+".indexOf(a)?x.H=a:x.Qb=a;w=-1}0<=l&&(x.ca.push(c(l+1,A).replace(/\\/g,"")),l=-1)}function c(b,c){return ra(a.slice(b,c))}for(var a=0<=">~+".indexOf(a.slice(-1))?a+" * ":a+" ",d=[],f=-1,e=-1,h=-1,k=-1,l=-1,q=-1,w=-1,y="",H="",S,A=0,Me=a.length,x=m,M=m;y=H,H=a.charAt(A),Af?f=f%d&&d+f%d:0=d&&(e=f-f%d),f%=d):0>d&&(d*=-1,0=e&&(0>h||a<=h)&&a%d==f};b=f}var k=parseInt(b,10);return function(a){return Ub(a)== +k}}},Zb=E?function(a){var b=a.toLowerCase();"class"==b&&(a="className");return function(c){return Ib?c.getAttribute(a):c[a]||c[b]}}:function(a){return function(b){return b&&b.getAttribute&&b.hasAttribute(a)}}; +function Xb(a,b){if(!a)return Eb;var b=b||{},c=m;b.D||(c=Kb(c,Lb));b.H||"*"!=a.H&&(c=Kb(c,function(b){return b&&b.tagName==a.rc()}));b.ca||C(a.ca,function(a,b){var e=RegExp("(?:^|\\s)"+a+"(?:\\s|$)");c=Kb(c,function(a){return e.test(a.className)});c.count=b});b.Ba||C(a.Ba,function(a){var b=a.name;Yb[b]&&(c=Kb(c,Yb[b](b,a.value)))});b.Ab||C(a.Ab,function(a){var b,e=a.nc;a.type&&Nb[a.type]?b=Nb[a.type](e,a.yc):e.length&&(b=Zb(e));b&&(c=Kb(c,b))});b.id||a.id&&(c=Kb(c,function(b){return!!b&&b.id==a.id})); +c||"default"in b||(c=Eb);return c}var $b={}; +function ac(a){var b=$b[a.Ua];if(b)return b;var c=a.Ad,c=c?c.Qb:"",d=Xb(a,{D:1}),f="*"==a.H,e=document.getElementsByClassName;if(c)if(e={D:1},f&&(e.H=1),d=Xb(a,e),"+"==c)var h=d,b=function(a,b,c){for(;a=a[Pb];)if(!Ob||Lb(a)){(!c||bc(a,c))&&h(a)&&b.push(a);break}return b};else if("~"==c)var k=d,b=function(a,b,c){for(a=a[Pb];a;){if(Rb(a)){if(c&&!bc(a,c))break;k(a)&&b.push(a)}a=a[Pb]}return b};else{if(">"==c)var l=d,l=l||Eb,b=function(a,b,c){for(var d=0,f=a[Hb];a=f[d++];)Rb(a)&&((!c||bc(a,c))&&l(a,d))&& +b.push(a);return b}}else if(a.id)d=!a.Ed&&f?Eb:Xb(a,{D:1,id:1}),b=function(b,c){var f=rb(b).d(a.id),e;if(e=f&&d(f))if(!(e=9==b.nodeType)){for(e=f.parentNode;e&&e!=b;)e=e.parentNode;e=!!e}if(e)return Fb(f,c)};else if(e&&/\{\s*\[native code\]\s*\}/.test(String(e))&&a.ca.length&&!Gb)var d=Xb(a,{D:1,ca:1,id:1}),q=a.ca.join(" "),b=function(a,b){for(var c=Fb(0,b),f,e=0,h=a.getElementsByClassName(q);f=h[e++];)d(f,a)&&c.push(f);return c};else!f&&!a.Ed?b=function(b,c){for(var d=Fb(0,c),f,e=0,h=b.getElementsByTagName(a.rc());f= +h[e++];)d.push(f);return d}:(d=Xb(a,{D:1,H:1,id:1}),b=function(b,c){for(var f=Fb(0,c),e,h=0,k=b.getElementsByTagName(a.rc());e=k[h++];)d(e,b)&&f.push(e);return f});return $b[a.Ua]=b}var cc={},dc={};function ec(a){var b=Jb(ra(a));if(1==b.length){var c=ac(b[0]);return function(a){if(a=c(a,[]))a.Pb=j;return a}}return function(a){for(var a=Fb(a),c,e,h=b.length,k,l,q=0;q~+".indexOf(c)&&(!E||-1==a.indexOf(":"))&&!(Gb&&0<=a.indexOf("."))&&-1==a.indexOf(":contains")&&-1==a.indexOf("|=")){var f=0<=">~+".indexOf(a.charAt(a.length-1))?a+" *":a;return dc[a]=function(b){try{9==b.nodeType||d||g("");var c=b.querySelectorAll(f);E?c.Td=j:c.Pb=j;return c}catch(e){return gc(a,j)(b)}}}var e=a.split(/\s*,\s*/);return cc[a]= +2>e.length?ec(a):function(a){for(var b=0,c=[],d;d=e[b++];)c=c.concat(ec(d)(a));return c}}var hc=0,ic=E?function(a){return Ib?a.getAttribute("_uid")||a.setAttribute("_uid",++hc)||hc:a.uniqueID}:function(a){return a._uid||(a._uid=++hc)};function bc(a,b){if(!b)return 1;var c=ic(a);return!b[c]?b[c]=1:0} +function jc(a){if(a&&a.Pb)return a;var b=[];if(!a||!a.length)return b;a[0]&&b.push(a[0]);if(2>a.length)return b;hc++;if(E&&Ib){var c=hc+"";a[0].setAttribute("_zipIdx",c);for(var d=1,f;f=a[d];d++)a[d].getAttribute("_zipIdx")!=c&&b.push(f),f.setAttribute("_zipIdx",c)}else if(E&&a.Td)try{for(d=1;f=a[d];d++)Lb(f)&&b.push(f)}catch(e){}else{a[0]&&(a[0]._zipIdx=hc);for(d=1;f=a[d];d++)a[d]._zipIdx!=hc&&b.push(f),f._zipIdx=hc}return b} +function L(a,b){if(!a)return[];if(a.constructor==Array)return a;if(!u(a))return[a];if(u(b)&&(b=u(b)?document.getElementById(b):b,!b))return[];var b=b||document,c=b.ownerDocument||b.documentElement;Ib=b.contentType&&"application/xml"==b.contentType||Sa&&(b.doctype||"[object XMLDocument]"==c.toString())||!!c&&(E?c.xml:b.xmlVersion||c.xmlVersion);return(c=gc(a)(b))&&c.Pb?c:jc(c)}L.Ba=Yb;ba("goog.dom.query",L);ba("goog.dom.query.pseudos",L.Ba);var kc=!E||db(9),lc=!E||db(9),mc=E&&!I("9");!G||I("528");F&&I("1.9b")||E&&I("8")||Sa&&I("9.5")||G&&I("528");F&&!I("8")||E&&I("9");function nc(){0!=oc&&(this.se=Error().stack,ja(this))}var oc=0;nc.prototype.ld=n;function pc(a,b){this.type=a;this.currentTarget=this.target=b}s=pc.prototype;s.Aa=n;s.defaultPrevented=n;s.Ub=j;s.stopPropagation=function(){this.Aa=j};s.preventDefault=function(){this.defaultPrevented=j;this.Ub=n};function qc(a){a.preventDefault()};function rc(a){rc[" "](a);return a}rc[" "]=da;function sc(a,b){a&&this.init(a,b)}z(sc,pc);var tc=[1,4,2];s=sc.prototype;s.target=m;s.relatedTarget=m;s.offsetX=0;s.offsetY=0;s.clientX=0;s.clientY=0;s.screenX=0;s.screenY=0;s.button=0;s.keyCode=0;s.charCode=0;s.ctrlKey=n;s.altKey=n;s.shiftKey=n;s.metaKey=n;s.Cc=n;s.n=m; +s.init=function(a,b){var c=this.type=a.type;pc.call(this,c);this.target=a.target||a.srcElement;this.currentTarget=b;var d=a.relatedTarget;if(d){if(F){var f;a:{try{rc(d.nodeName);f=j;break a}catch(e){}f=n}f||(d=m)}}else"mouseover"==c?d=a.fromElement:"mouseout"==c&&(d=a.toElement);this.relatedTarget=d;this.offsetX=G||a.offsetX!==i?a.offsetX:a.layerX;this.offsetY=G||a.offsetY!==i?a.offsetY:a.layerY;this.clientX=a.clientX!==i?a.clientX:a.pageX;this.clientY=a.clientY!==i?a.clientY:a.pageY;this.screenX= +a.screenX||0;this.screenY=a.screenY||0;this.button=a.button;this.keyCode=a.keyCode||0;this.charCode=a.charCode||("keypress"==c?a.keyCode:0);this.ctrlKey=a.ctrlKey;this.altKey=a.altKey;this.shiftKey=a.shiftKey;this.metaKey=a.metaKey;this.Cc=Na?a.metaKey:a.ctrlKey;this.state=a.state;this.n=a;a.defaultPrevented&&this.preventDefault();delete this.Aa};function uc(a){return(kc?0==a.n.button:"click"==a.type?j:!!(a.n.button&tc[0]))&&!(G&&Na&&a.ctrlKey)} +s.stopPropagation=function(){sc.K.stopPropagation.call(this);this.n.stopPropagation?this.n.stopPropagation():this.n.cancelBubble=j};s.preventDefault=function(){sc.K.preventDefault.call(this);var a=this.n;if(a.preventDefault)a.preventDefault();else if(a.returnValue=n,mc)try{if(a.ctrlKey||112<=a.keyCode&&123>=a.keyCode)a.keyCode=-1}catch(b){}};s.Ud=r("n");function vc(){}var wc=0;s=vc.prototype;s.key=0;s.Ca=n;s.fd=n;s.init=function(a,b,c,d,f,e){v(a)?this.Dd=j:a&&a.handleEvent&&v(a.handleEvent)?this.Dd=n:g(Error("Invalid listener argument"));this.Ta=a;this.Hd=b;this.src=c;this.type=d;this.capture=!!f;this.Pa=e;this.fd=n;this.key=++wc;this.Ca=n};s.handleEvent=function(a){return this.Dd?this.Ta.call(this.Pa||this.src,a):this.Ta.handleEvent.call(this.Ta,a)};var xc={},N={},yc={},zc={}; +function O(a,b,c,d,f){if(b){if(ga(b)){for(var e=0;ee.keyCode||e.returnValue!=i)return j;a:{var q=n;if(0==e.keyCode)try{e.keyCode=-1;break a}catch(w){q=j}if(q||e.returnValue==i)e.returnValue=j}}q=new sc;q.init(e,this);e=j;try{if(k){for(var y=[],H=q.currentTarget;H;H=H.parentNode)y.push(H);h=f[j];h.O=h.m;for(var S= +y.length-1;!q.Aa&&0<=S&&h.O;S--)q.currentTarget=y[S],e&=Ec(h,y[S],d,j,q);if(l){h=f[n];h.O=h.m;for(S=0;!q.Aa&&S=this.left&&a.right<=this.right&&a.top>=this.top&&a.bottom<=this.bottom:a.x>=this.left&&a.x<=this.right&&a.y>=this.top&&a.y<=this.bottom};function Lc(a,b,c,d){this.left=a;this.top=b;this.width=c;this.height=d}Lc.prototype.contains=function(a){return a instanceof Lc?this.left<=a.left&&this.left+this.width>=a.left+a.width&&this.top<=a.top&&this.top+this.height>=a.top+a.height:a.x>=this.left&&a.x<=this.left+this.width&&a.y>=this.top&&a.y<=this.top+this.height};function R(a,b,c){u(b)?Mc(a,c,b):ob(b,pa(Mc,a))}function Mc(a,b,c){a.style[ya(c)]=b}function T(a,b){var c=K(a);return c.defaultView&&c.defaultView.getComputedStyle&&(c=c.defaultView.getComputedStyle(a,m))?c[b]||c.getPropertyValue(b)||"":""}function Nc(a,b){return a.currentStyle?a.currentStyle[b]:m}function Oc(a,b){return T(a,b)||Nc(a,b)||a.style&&a.style[b]}function Pc(a,b,c){var d,f=F&&(Na||Ua)&&I("1.9");b instanceof J?(d=b.x,b=b.y):(d=b,b=c);a.style.left=Qc(d,f);a.style.top=Qc(b,f)} +function Rc(a){var b=a.getBoundingClientRect();E&&(a=a.ownerDocument,b.left-=a.documentElement.clientLeft+a.body.clientLeft,b.top-=a.documentElement.clientTop+a.body.clientTop);return b} +function Sc(a){if(E&&!db(8))return a.offsetParent;for(var b=K(a),c=Oc(a,"position"),d="fixed"==c||"absolute"==c,a=a.parentNode;a&&a!=b;a=a.parentNode)if(c=Oc(a,"position"),d=d&&"static"==c&&a!=b.documentElement&&a!=b.body,!d&&(a.scrollWidth>a.clientWidth||a.scrollHeight>a.clientHeight||"fixed"==c||"absolute"==c||"relative"==c))return a;return m} +function Tc(a){var b,c=K(a),d=Oc(a,"position"),f=F&&c.getBoxObjectFor&&!a.getBoundingClientRect&&"absolute"==d&&(b=c.getBoxObjectFor(a))&&(0>b.screenX||0>b.screenY),e=new J(0,0),h;b=c?K(c):document;if(h=E)if(h=!db(9))rb(b),h=n;h=h?b.body:b.documentElement;if(a==h)return e;if(a.getBoundingClientRect)b=Rc(a),a=Db(rb(c)),e.x=b.left+a.x,e.y=b.top+a.y;else if(c.getBoxObjectFor&&!f)b=c.getBoxObjectFor(a),a=c.getBoxObjectFor(h),e.x=b.screenX-a.screenX,e.y=b.screenY-a.screenY;else{f=a;do{e.x+=f.offsetLeft; +e.y+=f.offsetTop;f!=a&&(e.x+=f.clientLeft||0,e.y+=f.clientTop||0);if(G&&"fixed"==Oc(f,"position")){e.x+=c.body.scrollLeft;e.y+=c.body.scrollTop;break}f=f.offsetParent}while(f&&f!=a);if(Sa||G&&"absolute"==d)e.y-=c.body.offsetTop;for(f=a;(f=Sc(f))&&f!=c.body&&f!=h;)if(e.x-=f.scrollLeft,!Sa||"TR"!=f.tagName)e.y-=f.scrollTop}return e}function Uc(a,b){var c=Vc(a),d=Vc(b);return new J(c.x-d.x,c.y-d.y)} +function Vc(a){var b=new J;if(1==a.nodeType){if(a.getBoundingClientRect){var c=Rc(a);b.x=c.left;b.y=c.top}else{var c=Db(rb(a)),d=Tc(a);b.x=d.x-c.x;b.y=d.y-c.y}if(F&&!I(12)){var f;E?f="-ms-transform":G?f="-webkit-transform":Sa?f="-o-transform":F&&(f="-moz-transform");var e;f&&(e=Oc(a,f));e||(e=Oc(a,"transform"));e?(a=e.match(Wc),a=!a?new J(0,0):new J(parseFloat(a[1]),parseFloat(a[2]))):a=new J(0,0);b=new J(b.x+a.x,b.y+a.y)}}else f=v(a.Ud),e=a,a.targetTouches?e=a.targetTouches[0]:f&&a.n.targetTouches&& +(e=a.n.targetTouches[0]),b.x=e.clientX,b.y=e.clientY;return b}function Xc(a,b,c){b instanceof nb?(c=b.height,b=b.width):c==i&&g(Error("missing height argument"));a.style.width=Qc(b,j);a.style.height=Qc(c,j)}function Qc(a,b){"number"==typeof a&&(a=(b?Math.round(a):a)+"px");return a} +function Yc(a){if("none"!=Oc(a,"display"))return Zc(a);var b=a.style,c=b.display,d=b.visibility,f=b.position;b.visibility="hidden";b.position="absolute";b.display="inline";a=Zc(a);b.display=c;b.position=f;b.visibility=d;return a}function Zc(a){var b=a.offsetWidth,c=a.offsetHeight,d=G&&!b&&!c;return(!ca(b)||d)&&a.getBoundingClientRect?(a=Rc(a),new nb(a.right-a.left,a.bottom-a.top)):new nb(b,c)}function $c(a){var b=Tc(a),a=Yc(a);return new Lc(b.x,b.y,a.width,a.height)} +function U(a,b){var c=a.style;"opacity"in c?c.opacity=b:"MozOpacity"in c?c.MozOpacity=b:"filter"in c&&(c.filter=""===b?"":"alpha(opacity="+100*b+")")}function V(a,b){a.style.display=b?"":"none"}function ad(a){return"rtl"==Oc(a,"direction")}var bd=F?"MozUserSelect":G?"WebkitUserSelect":m; +function cd(a,b){if(/^\d+px?$/.test(b))return parseInt(b,10);var c=a.style.left,d=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;a.style.left=b;var f=a.style.pixelLeft;a.style.left=c;a.runtimeStyle.left=d;return f} +function dd(a,b){if(E){var c=cd(a,Nc(a,b+"Left")),d=cd(a,Nc(a,b+"Right")),f=cd(a,Nc(a,b+"Top")),e=cd(a,Nc(a,b+"Bottom"));return new Kc(f,d,e,c)}c=T(a,b+"Left");d=T(a,b+"Right");f=T(a,b+"Top");e=T(a,b+"Bottom");return new Kc(parseFloat(f),parseFloat(d),parseFloat(e),parseFloat(c))}var ed={thin:2,medium:4,thick:6};function fd(a,b){if("none"==Nc(a,b+"Style"))return 0;var c=Nc(a,b+"Width");return c in ed?ed[c]:cd(a,c)} +function gd(a){if(E){var b=fd(a,"borderLeft"),c=fd(a,"borderRight"),d=fd(a,"borderTop"),a=fd(a,"borderBottom");return new Kc(d,c,a,b)}b=T(a,"borderLeftWidth");c=T(a,"borderRightWidth");d=T(a,"borderTopWidth");a=T(a,"borderBottomWidth");return new Kc(parseFloat(d),parseFloat(c),parseFloat(a),parseFloat(b))}var Wc=/matrix\([0-9\.\-]+, [0-9\.\-]+, [0-9\.\-]+, [0-9\.\-]+, ([0-9\.\-]+)p?x?, ([0-9\.\-]+)p?x?\)/;function hd(a,b,c){nc.call(this);this.target=a;this.handle=b||a;this.wc=c||new Lc(NaN,NaN,NaN,NaN);this.M=K(a);this.ka=new Gc(this);O(this.handle,["touchstart","mousedown"],this.le,n,this)}z(hd,Jc);var id=E||F&&I("1.9.3");s=hd.prototype;s.clientX=0;s.clientY=0;s.screenX=0;s.screenY=0;s.Ld=0;s.Md=0;s.Ka=0;s.La=0;s.md=j;s.xa=n;s.zd=0;s.de=0;s.ae=n;s.Hc=n;s.Eb=r("ka");function jd(a){ca(a.ra)||(a.ra=ad(a.target));return a.ra} +s.le=function(a){var b="mousedown"==a.type;if(this.md&&!this.xa&&(!b||uc(a))){kd(a);if(0==this.zd)if(this.dispatchEvent(new ld("start",this,a.clientX,a.clientY,a)))this.xa=j,a.preventDefault();else return;else a.preventDefault();var b=this.M,c=b.documentElement,d=!id;Q(this.ka,b,["touchmove","mousemove"],this.Zd,d);Q(this.ka,b,["touchend","mouseup"],this.Cb,d);id?(c.setCapture(n),Q(this.ka,c,"losecapture",this.Cb)):Q(this.ka,b?b.parentWindow||b.defaultView:window,"blur",this.Cb);E&&this.ae&&Q(this.ka, +b,"dragstart",qc);this.je&&Q(this.ka,this.je,"scroll",this.ge,d);this.clientX=this.Ld=a.clientX;this.clientY=this.Md=a.clientY;this.screenX=a.screenX;this.screenY=a.screenY;this.Hc?(a=this.target,b=a.offsetLeft,c=a.offsetParent,!c&&"fixed"==Oc(a,"position")&&(c=K(a).documentElement),c?(F?(d=gd(c),b+=d.left):db(8)&&(d=gd(c),b-=d.left),a=ad(c)?c.clientWidth-(b+a.offsetWidth):b):a=b):a=this.target.offsetLeft;this.Ka=a;this.La=this.target.offsetTop;this.Ac=Db(rb(this.M));this.de=qa()}else this.dispatchEvent("earlycancel")}; +s.Cb=function(a,b){this.ka.Sb();id&&this.M.releaseCapture();if(this.xa){kd(a);this.xa=n;var c=md(this,this.Ka),d=nd(this,this.La);this.dispatchEvent(new ld("end",this,a.clientX,a.clientY,a,c,d,b||"touchcancel"==a.type))}else this.dispatchEvent("earlycancel");("touchend"==a.type||"touchcancel"==a.type)&&a.preventDefault()}; +function kd(a){var b=a.type;"touchstart"==b||"touchmove"==b?a.init(a.n.targetTouches[0],a.currentTarget):("touchend"==b||"touchcancel"==b)&&a.init(a.n.changedTouches[0],a.currentTarget)} +s.Zd=function(a){if(this.md){kd(a);var b=(this.Hc&&jd(this)?-1:1)*(a.clientX-this.clientX),c=a.clientY-this.clientY;this.clientX=a.clientX;this.clientY=a.clientY;this.screenX=a.screenX;this.screenY=a.screenY;if(!this.xa){var d=this.Ld-this.clientX,f=this.Md-this.clientY;if(d*d+f*f>this.zd)if(this.dispatchEvent(new ld("start",this,a.clientX,a.clientY,a)))this.xa=j;else{this.ld||this.Cb(a);return}}c=od(this,b,c);b=c.x;c=c.y;this.xa&&this.dispatchEvent(new ld("beforedrag",this,a.clientX,a.clientY,a, +b,c))&&(pd(this,a,b,c),a.preventDefault())}};function od(a,b,c){var d=Db(rb(a.M)),b=b+(d.x-a.Ac.x),c=c+(d.y-a.Ac.y);a.Ac=d;a.Ka+=b;a.La+=c;b=md(a,a.Ka);a=nd(a,a.La);return new J(b,a)}s.ge=function(a){var b=od(this,0,0);a.clientX=this.clientX;a.clientY=this.clientY;pd(this,a,b.x,b.y)};function pd(a,b,c,d){a.kd(c,d);a.dispatchEvent(new ld("drag",a,b.clientX,b.clientY,b,c,d))} +function md(a,b){var c=a.wc,d=!isNaN(c.left)?c.left:m,c=!isNaN(c.width)?c.width:0;return Math.min(d!=m?d+c:Infinity,Math.max(d!=m?d:-Infinity,b))}function nd(a,b){var c=a.wc,d=!isNaN(c.top)?c.top:m,c=!isNaN(c.height)?c.height:0;return Math.min(d!=m?d+c:Infinity,Math.max(d!=m?d:-Infinity,b))}s.kd=function(a,b){this.Hc&&jd(this)?this.target.style.right=a+"px":this.target.style.left=a+"px";this.target.style.top=b+"px"}; +function ld(a,b,c,d,f,e,h,k){pc.call(this,a);this.clientX=c;this.clientY=d;this.qe=f;this.left=ca(e)?e:b.Ka;this.top=ca(h)?h:b.La;this.ue=b;this.te=!!k}z(ld,pc);function qd(a){for(var b=0,c=0;a&&!isNaN(a.offsetLeft)&&!isNaN(a.offsetTop);)b+=a.offsetLeft-a.scrollLeft,c+=a.offsetTop-a.scrollTop,a=a.offsetParent;return{top:c,left:b}};function rd(){this.Za=[]}rd.prototype.addHandler=function(a,b){this.Za[a]||(this.Za[a]=[]);this.Za[a].push(b)};rd.prototype.Tb=function(a,b){var c=this.Za[a];c&&D(c,b)};rd.prototype.fireEvent=function(a,b,c){var d=n;(a=this.Za[a])&&C(a,function(a){a=a(b,c);ca(a)&&!a&&(d=j)});return d};function sd(a,b){this.Y={};this.j=[];var c=arguments.length;if(12*this.m&&td(this),j):n};function td(a){if(a.m!=a.j.length){for(var b=0,c=0;bxd(a)?-1:1)*b,h=e.x-c.x,l=e.y-c.y,q=0k?-1:0,k=Math.sqrt(Math.pow(k,2)/(1+Math.pow(h/l,2)));d.push({x:e.x+Math.abs(h/l*k)*(0h?-1:0)*q,y:e.y+Math.abs(k)*(0l?-1:0)*q})}return d};function zd(a,b,c,d){0d&&(d=b[h].x),b[h].xe&&(e=b[h].y),b[h].yxd(c)?-1:1;if(4>c.length)c=yd(c,d*b);else{for(var f=c.length-1,e=1,h=[],k=0;kc.length-1&&(e=0);c=h}return new Ad("polygon",new wd(c),n,a.style)}function Ed(a,b){if("rect"==a.type){var c=b(a.geometry);return new Ad("rect",c,n,a.style)}if("polygon"==a.type){var d=[];C(a.geometry.points,function(a){d.push(b(a))});return new Ad("polygon",new wd(d),n,a.style)}} +function Fd(a){return JSON.stringify(a.geometry)};function Gd(a,b,c){this.src=a;this.text=b;this.shapes=[c];this.context=document.URL};function Hd(){}function Id(a,b){a.g=new sd;a.Uc=[];a.bb=[];a.Ha=[];a.Fa=[];a.$b=[];a.ub={Ra:n,Qa:n};a.Ga=new sd;a.bc=i;a.bd=b}function Jd(a,b){var c=a.Ga.get(b);c||(c={Ra:n,Qa:n},a.Ga.set(b,c));return c} +function Kd(a,b){var c=a.Fb(b);if(!a.g.get(c)){var d=a.zc(b),f=[],e=[];C(a.Uc,function(a){d.addHandler(a.type,a.Pa)});C(a.bb,function(a){if(a.onInitAnnotator)a.onInitAnnotator(d)});C(a.Fa,function(a){a.src==c&&(d.J(a),f.push(a))});C(a.$b,function(a){a.src==c&&(d.A(a),e.push(a))});C(f,function(b){D(a.Fa,b)});C(e,function(b){D(a.$b,b)});var h=a.Ga.get(c);h?(h.Ra&&d.N(),h.Qa&&d.ea(),a.Ga.remove(c)):(a.ub.Ra&&d.N(),a.ub.Qa&&d.ea());a.bc&&d.ga(a.bc);a.g.set(c,d);D(a.Ha,b)}} +function Ld(a){var b,c;for(c=a.Ha.length;0window.pageYOffset&&e+h>window.pageXOffset)&&Kd(a,b)}}function Md(a,b,c){if(b){var d=a.g.get(b);d?c?d.Da():d.ea():Jd(a,b).Qa=c}else C(W(a.g),function(a){c?a.Da():a.ea()}),a.ub.Qa=!c,C(W(a.Ga),function(a){a.Qa=!c})} +function Nd(a,b,c){if(b){var d=a.g.get(b);d?c?d.Z():d.N():Jd(a,b).Ra=c}else C(W(a.g),function(a){c?a.Z():a.N()}),a.ub.Ra=!c,C(W(a.Ga),function(a){a.Ra=!c})}s=Hd.prototype;s.ba=function(a,b){var c=i,d=i;u(a)?(c=a,d=b):v(a)&&(d=a);c?(c=this.g.get(c))&&c.ba(d):C(W(this.g),function(a){a.ba(d)})};s.stopSelection=function(a){a?(a=this.g.get(a))&&a.stopSelection():C(W(this.g),function(a){a.stopSelection()})}; +s.J=function(a,b){if(Od(this,a.src)){var c=this.g.get(a.src);c?c.J(a,b):(this.Fa.push(a),b&&D(this.Fa,b))}};s.addHandler=function(a,b){C(W(this.g),function(c){c.addHandler(a,b)});this.Uc.push({type:a,Pa:b})};s.zb=function(a){this.bb.push(a);C(W(this.g),function(b){if(a.onInitAnnotator)a.onInitAnnotator(b)})};function Od(a,b){return ud(a.g.Y,b)?j:Da(a.Ha,function(c){return a.Fb(c)==b})!=m} +s.destroy=function(a){if(a){var b=this.g.get(a);b&&(b.destroy(),this.g.remove(a))}else C(W(this.g),function(a){a.destroy()}),this.g.clear()};s.la=function(a){if(Od(this,a)&&(a=this.g.get(a)))return a.la().getName()};s.t=function(a){if(a){var b=this.g.get(a);return b?b.t():Aa(this.Fa,function(b){return b.src==a})}var c=[];C(W(this.g),function(a){Ga(c,a.t())});Ga(c,this.Fa);return c};s.ma=function(a){if(Od(this,a)&&(a=this.g.get(a)))return Ba(a.ma(),function(a){return a.getName()})}; +s.ea=function(a){Md(this,a,n)};s.N=function(a){Nd(this,a,n)};s.o=function(a){if(a){if(Od(this,a.src)){var b=this.g.get(a.src);b&&b.o(a)}}else C(W(this.g),function(a){a.o()})};s.init=function(){this.bd&&Ga(this.Ha,this.bd());Ld(this);var a=this,b=O(window,"scroll",function(){0",oe:"&",xe:"\u00a0",ze:'"',pe:"'"},Ud={a:0,abbr:0,acronym:0,address:0,applet:16,area:2,b:0,base:18,basefont:18,bdo:0,big:0,blockquote:0,body:49,br:2,button:0,caption:0,center:0,cite:0,code:0,col:2,colgroup:1,dd:1,del:0,dfn:0,dir:0,div:0,dl:0,dt:1,em:0,fieldset:0,font:0,form:0,frame:18,frameset:16,h1:0,h2:0,h3:0,h4:0,h5:0,h6:0,head:49,hr:2,html:49,i:0,iframe:20,img:2,input:2,ins:0,isindex:18,kbd:0,label:0,legend:0,li:1,link:18,map:0,menu:0,meta:18,noframes:20,noscript:20,object:16, +ol:0,optgroup:0,option:1,p:1,param:18,pre:0,q:0,s:0,samp:0,script:20,select:0,small:0,span:0,strike:0,strong:0,style:20,sub:0,sup:0,table:0,tbody:1,td:1,textarea:8,tfoot:1,th:1,thead:1,title:24,tr:1,tt:0,u:0,ul:0,"var":0},Vd=/&/g,Wd=/&([^a-z#]|#(?:[^0-9x]|x(?:[^0-9a-f]|$)|$)|$)/gi,Xd=//g,Zd=/\"/g,$d=/=/g,ae=/\0/g,be=/&(#\d+|#x[0-9A-Fa-f]+|\w+);/g,ce=/^#(\d+)$/,de=/^#x([0-9A-Fa-f]+)$/,ee=RegExp("^\\s*(?:(?:([a-z][a-z-]*)(\\s*=\\s*(\"[^\"]*\"|'[^']*'|(?=[a-z][a-z-]*\\s*=)|[^>\"'\\s]*))?)|(/?>)|[^a-z\\s>]+)", +"i"),fe=RegExp("^(?:&(\\#[0-9]+|\\#[x][0-9a-f]+|\\w+);|<[!]--[\\s\\S]*?--\>|]*>|<\\?[^>*]*>|<(/)?([a-z][a-z0-9]*)|([^<&>]+)|([<&>]))","i"); +Sd.prototype.parse=function(a,b){var c=m,d=n,f=[],e,h,k;a.Q=[];for(a.oa=n;b;){var l=b.match(d?ee:fe),b=b.substring(l[0].length);if(d)if(l[1]){var q=l[1].toLowerCase();if(l[2]){l=l[3];switch(l.charCodeAt(0)){case 34:case 39:l=l.substring(1,l.length-1)}l=l.replace(ae,"").replace(be,oa(this.be,this))}else l=q;f.push(q,l)}else l[4]&&(h!==i&&(k?a.Kd&&a.Kd(e,f):a.nd&&a.nd(e)),k&&h&12&&(c=c===m?b.toLowerCase():c.substring(c.length-b.length),d=c.indexOf("d&&(d=b.length),h&4?a.gd&&a.gd(b.substring(0, +d)):a.Id&&a.Id(b.substring(0,d).replace(Wd,"&$1").replace(Xd,"<").replace(Yd,">")),b=b.substring(d)),e=h=k=i,f.length=0,d=n);else if(l[1])ge(a,l[0]);else if(l[3])k=!l[2],d=j,e=l[3].toLowerCase(),h=Ud.hasOwnProperty(e)?Ud[e]:i;else if(l[4])ge(a,l[4]);else if(l[5])switch(l[5]){case "<":ge(a,"<");break;case ">":ge(a,">");break;default:ge(a,"&")}}for(c=a.Q.length;0<=--c;)a.ha.append("");a.Q.length=0}; +Sd.prototype.be=function(a){a=a.toLowerCase();if(Td.hasOwnProperty(a))return Td[a];var b=a.match(ce);return b?String.fromCharCode(parseInt(b[1],10)):(b=a.match(de))?String.fromCharCode(parseInt(b[1],16)):""};function he(){};/* + Portions of this code are from the google-caja project, received by + Google under the Apache license (http://code.google.com/p/google-caja/). + All other code is Copyright 2009 Google, Inc. All Rights Reserved. + +// Copyright (C) 2006 Google Inc. +// +// 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. + +*/ +function ie(a,b,c){this.ha=a;this.Q=[];this.oa=n;this.Od=b;this.Ob=c}z(ie,he); +var je={"*::class":9,"*::dir":0,"*::id":4,"*::lang":0,"*::onclick":2,"*::ondblclick":2,"*::onkeydown":2,"*::onkeypress":2,"*::onkeyup":2,"*::onload":2,"*::onmousedown":2,"*::onmousemove":2,"*::onmouseout":2,"*::onmouseover":2,"*::onmouseup":2,"*::style":3,"*::title":0,"*::accesskey":0,"*::tabindex":0,"*::onfocus":2,"*::onblur":2,"a::coords":0,"a::href":1,"a::hreflang":0,"a::name":7,"a::onblur":2,"a::rel":0,"a::rev":0,"a::shape":0,"a::target":10,"a::type":0,"area::accesskey":0,"area::alt":0,"area::coords":0, +"area::href":1,"area::nohref":0,"area::onfocus":2,"area::shape":0,"area::tabindex":0,"area::target":10,"bdo::dir":0,"blockquote::cite":1,"br::clear":0,"button::accesskey":0,"button::disabled":0,"button::name":8,"button::onblur":2,"button::onfocus":2,"button::tabindex":0,"button::type":0,"button::value":0,"caption::align":0,"col::align":0,"col::char":0,"col::charoff":0,"col::span":0,"col::valign":0,"col::width":0,"colgroup::align":0,"colgroup::char":0,"colgroup::charoff":0,"colgroup::span":0,"colgroup::valign":0, +"colgroup::width":0,"del::cite":1,"del::datetime":0,"dir::compact":0,"div::align":0,"dl::compact":0,"font::color":0,"font::face":0,"font::size":0,"form::accept":0,"form::action":1,"form::autocomplete":0,"form::enctype":0,"form::method":0,"form::name":7,"form::onreset":2,"form::onsubmit":2,"form::target":10,"h1::align":0,"h2::align":0,"h3::align":0,"h4::align":0,"h5::align":0,"h6::align":0,"hr::align":0,"hr::noshade":0,"hr::size":0,"hr::width":0,"img::align":0,"img::alt":0,"img::border":0,"img::height":0, +"img::hspace":0,"img::ismap":0,"img::longdesc":1,"img::name":7,"img::src":1,"img::usemap":11,"img::vspace":0,"img::width":0,"input::accept":0,"input::accesskey":0,"input::autocomplete":0,"input::align":0,"input::alt":0,"input::checked":0,"input::disabled":0,"input::ismap":0,"input::maxlength":0,"input::name":8,"input::onblur":2,"input::onchange":2,"input::onfocus":2,"input::onselect":2,"input::readonly":0,"input::size":0,"input::src":1,"input::tabindex":0,"input::type":0,"input::usemap":11,"input::value":0, +"ins::cite":1,"ins::datetime":0,"label::accesskey":0,"label::for":5,"label::onblur":2,"label::onfocus":2,"legend::accesskey":0,"legend::align":0,"li::type":0,"li::value":0,"map::name":7,"menu::compact":0,"ol::compact":0,"ol::start":0,"ol::type":0,"optgroup::disabled":0,"optgroup::label":0,"option::disabled":0,"option::label":0,"option::selected":0,"option::value":0,"p::align":0,"pre::width":0,"q::cite":1,"select::disabled":0,"select::multiple":0,"select::name":8,"select::onblur":2,"select::onchange":2, +"select::onfocus":2,"select::size":0,"select::tabindex":0,"table::align":0,"table::bgcolor":0,"table::border":0,"table::cellpadding":0,"table::cellspacing":0,"table::frame":0,"table::rules":0,"table::summary":0,"table::width":0,"tbody::align":0,"tbody::char":0,"tbody::charoff":0,"tbody::valign":0,"td::abbr":0,"td::align":0,"td::axis":0,"td::bgcolor":0,"td::char":0,"td::charoff":0,"td::colspan":0,"td::headers":6,"td::height":0,"td::nowrap":0,"td::rowspan":0,"td::scope":0,"td::valign":0,"td::width":0, +"textarea::accesskey":0,"textarea::cols":0,"textarea::disabled":0,"textarea::name":8,"textarea::onblur":2,"textarea::onchange":2,"textarea::onfocus":2,"textarea::onselect":2,"textarea::readonly":0,"textarea::rows":0,"textarea::tabindex":0,"tfoot::align":0,"tfoot::char":0,"tfoot::charoff":0,"tfoot::valign":0,"th::abbr":0,"th::align":0,"th::axis":0,"th::bgcolor":0,"th::char":0,"th::charoff":0,"th::colspan":0,"th::headers":6,"th::height":0,"th::nowrap":0,"th::rowspan":0,"th::scope":0,"th::valign":0, +"th::width":0,"thead::align":0,"thead::char":0,"thead::charoff":0,"thead::valign":0,"tr::align":0,"tr::bgcolor":0,"tr::char":0,"tr::charoff":0,"tr::valign":0,"ul::compact":0,"ul::type":0}; +ie.prototype.Kd=function(a,b){if(!this.oa&&Ud.hasOwnProperty(a)){var c=Ud[a];if(!(c&32))if(c&16)this.oa=!(c&2);else{for(var d=b,f=0;f")}}}}; +ie.prototype.nd=function(a){if(this.oa)this.oa=n;else if(Ud.hasOwnProperty(a)){var b=Ud[a];if(!(b&50)){if(b&1)for(b=this.Q.length;0<=--b;){var c=this.Q[b];if(c===a)break;if(!(Ud[c]&1))return}else for(b=this.Q.length;0<=--b&&this.Q[b]!==a;);if(!(0>b)){for(var d=this.Q.length;--d>b;)c=this.Q[d],Ud[c]&1||this.ha.append("");this.Q.length=b;this.ha.append("")}}}};function ge(a,b){a.oa||a.ha.append(b)}ie.prototype.Id=function(a){this.oa||this.ha.append(a)}; +ie.prototype.gd=function(a){this.oa||this.ha.append(a)};function ke(a,b,c,d,f){if(!E&&(!G||!I("525")))return j;if(Na&&f)return le(a);if(f&&!d||!c&&(17==b||18==b)||E&&d&&b==a)return n;switch(a){case 13:return!(E&&db(9));case 27:return!G}return le(a)}function le(a){if(48<=a&&57>=a||96<=a&&106>=a||65<=a&&90>=a||G&&0==a)return j;switch(a){case 32:case 63:case 107:case 109:case 110:case 111:case 186:case 59:case 189:case 187:case 61:case 188:case 190:case 191:case 192:case 222:case 219:case 220:case 221:return j;default:return n}} +function me(a){switch(a){case 61:return 187;case 59:return 186;case 224:return 91;case 0:return 224;default:return a}};function ne(a,b){nc.call(this);a&&oe(this,a,b)}z(ne,Jc);s=ne.prototype;s.F=m;s.Ib=m;s.uc=m;s.Jb=m;s.qa=-1;s.pa=-1;s.mc=n; +var pe={3:13,12:144,63232:38,63233:40,63234:37,63235:39,63236:112,63237:113,63238:114,63239:115,63240:116,63241:117,63242:118,63243:119,63244:120,63245:121,63246:122,63247:123,63248:44,63272:46,63273:36,63275:35,63276:33,63277:34,63289:144,63302:45},qe={Up:38,Down:40,Left:37,Right:39,Enter:13,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,"U+007F":46,Home:36,End:35,PageUp:33,PageDown:34,Insert:45},re=E||G&&I("525"),se=Na&&F;s=ne.prototype; +s.Wd=function(a){if(G&&(17==this.qa&&!a.ctrlKey||18==this.qa&&!a.altKey))this.pa=this.qa=-1;re&&!ke(a.keyCode,this.qa,a.shiftKey,a.ctrlKey,a.altKey)?this.handleEvent(a):(this.pa=F?me(a.keyCode):a.keyCode,se&&(this.mc=a.altKey))};s.Yd=function(a){this.pa=this.qa=-1;this.mc=a.altKey}; +s.handleEvent=function(a){var b=a.n,c,d,f=b.altKey;E&&"keypress"==a.type?(c=this.pa,d=13!=c&&27!=c?b.keyCode:0):G&&"keypress"==a.type?(c=this.pa,d=0<=b.charCode&&63232>b.charCode&&le(c)?b.charCode:0):Sa?(c=this.pa,d=le(c)?b.keyCode:0):(c=b.keyCode||this.pa,d=b.charCode||0,se&&(f=this.mc),Na&&(63==d&&224==c)&&(c=191));var e=c,h=b.keyIdentifier;c?63232<=c&&c in pe?e=pe[c]:25==c&&a.shiftKey&&(e=9):h&&h in qe&&(e=qe[h]);a=e==this.qa;this.qa=e;b=new te(e,d,a,b);b.altKey=f;this.dispatchEvent(b)};s.d=r("F"); +function oe(a,b,c){a.Jb&&a.detach();a.F=b;a.Ib=O(a.F,"keypress",a,c);a.uc=O(a.F,"keydown",a.Wd,c,a);a.Jb=O(a.F,"keyup",a.Yd,c,a)}s.detach=function(){this.Ib&&(P(this.Ib),P(this.uc),P(this.Jb),this.Jb=this.uc=this.Ib=m);this.F=m;this.pa=this.qa=-1};function te(a,b,c,d){d&&this.init(d,i);this.type="key";this.keyCode=a;this.charCode=b;this.repeat=c}z(te,sc);function ue(){}ea(ue);ue.prototype.fe=0;ue.pb();function ve(a){nc.call(this);this.kb=a||rb();this.ra=we}z(ve,Jc);ve.prototype.$d=ue.pb();var we=m;function xe(a,b){switch(a){case 1:return b?"disable":"enable";case 2:return b?"highlight":"unhighlight";case 4:return b?"activate":"deactivate";case 8:return b?"select":"unselect";case 16:return b?"check":"uncheck";case 32:return b?"focus":"blur";case 64:return b?"open":"close"}g(Error("Invalid component state"))}s=ve.prototype;s.Hb=m;s.fa=n;s.F=m;s.ra=m;s.za=m;s.hb=m;s.Ja=m;s.ne=n;s.d=r("F"); +s.Eb=function(){return this.sc||(this.sc=new Gc(this))};s.Gc=function(a){this.za&&this.za!=a&&g(Error("Method not supported"));ve.K.Gc.call(this,a)};s.pd=r("kb");s.jb=function(a){this.fa&&g(Error("Component already rendered"));if(a&&this.gb(a)){this.ne=j;if(!this.kb||this.kb.M!=K(a))this.kb=rb(a);this.jd(a);this.Ma()}else g(Error("Invalid element to decorate"))};s.gb=aa(j);s.jd=function(a){this.F=a};s.Ma=function(){function a(a){!a.fa&&a.d()&&a.Ma()}this.fa=j;this.hb&&C(this.hb,a,i)}; +s.Db=function(){function a(a){a.fa&&a.Db()}this.hb&&C(this.hb,a,i);this.sc&&this.sc.Sb();this.fa=n};s.nb=r("F");s.Va=function(a){this.fa&&g(Error("Component already rendered"));this.ra=a}; +s.removeChild=function(a,b){if(a){var c=u(a)?a:a.Hb||(a.Hb=":"+(a.$d.fe++).toString(36)),d;this.Ja&&c?(d=this.Ja,d=(c in d?d[c]:i)||m):d=m;a=d;c&&a&&(d=this.Ja,c in d&&delete d[c],D(this.hb,a),b&&(a.Db(),a.F&&zb(a.F)),c=a,c==m&&g(Error("Unable to set parent component")),c.za=m,ve.K.Gc.call(c,m))}a||g(Error("Child is not in parent component"));return a};function ye(){}var ze;ea(ye);s=ye.prototype;s.nb=function(a){return a};s.lb=function(a,b,c){if(a=a.d?a.d():a)if(E&&!I("7")){var d=Ae(hb(a),b);d.push(b);pa(c?ib:kb,a).apply(m,d)}else c?ib(a,b):kb(a,b)};s.gb=aa(j); +s.jb=function(a,b){if(b.id){var c=b.id;if(a.za&&a.za.Ja){var d=a.za.Ja,f=a.Hb;f in d&&delete d[f];d=a.za.Ja;c in d&&g(Error('The object already contains the key "'+c+'"'));d[c]=a}a.Hb=c}(c=this.nb(b))&&c.firstChild?(c=c.firstChild.nextSibling?Fa(c.childNodes):c.firstChild,a.ib=c):a.ib=m;var e=0,h=this.ob(),k=this.ob(),l=n,q=n,c=n,d=hb(b);C(d,function(a){if(!l&&a==h)l=j,k==h&&(q=j);else if(!q&&a==k)q=j;else{var b=e;if(!this.Nd){this.Bb||Be(this);var c=this.Bb,d={},f;for(f in c)d[c[f]]=f;this.Nd=d}a= +parseInt(this.Nd[a],10);e=b|(isNaN(a)?0:a)}},this);a.r=e;l||(d.push(h),k==h&&(q=j));q||d.push(k);(f=a.da)&&d.push.apply(d,f);if(E&&!I("7")){var w=Ae(d);0c;b.style.borderWidth="10px";a.Dc=b.scrollHeight>d;b.style.height="100px";100!=b.offsetHeight&&(a.Nb=j);zb(b);a.yd=j}var b=a.d(),c=a.d().scrollHeight,f=a.d(),d=f.offsetHeight-f.clientHeight;if(!a.Ec)var e=a.rb,d=d-(e.top+e.bottom); +a.Dc||(f=gd(f),d-=f.top+f.bottom);c+=0l?(Te(this,l),b.style.overflowY="",f=j):h!=e?Te(this,e):this.na||(this.na=e);!d&&(!f&&Oe)&&(a=j)}else Ue(this);this.Sa=n;a&&(a=this.d(),this.Sa||(this.Sa=j,b=n,a.value||(a.value=" ",b=j),(f=a.scrollHeight)?(e=Se(this),d=Qe(this),h=Re(this),!(d&&e<=d)&&!(h&&e>=h)&&(h=this.rb,a.style.paddingBottom=h.bottom+1+"px",Se(this)== +e&&(a.style.paddingBottom=h.bottom+f+"px",a.scrollTop=0,f=Se(this)-f,f>=d?Te(this,f):Te(this,d)),a.style.paddingBottom=h.bottom+"px")):Ue(this),b&&(a.value=""),this.Sa=n));c!=this.na&&this.dispatchEvent("resize")}};s.ee=function(){var a=this.d(),b=a.offsetHeight;a.filters&&a.filters.length&&(a=a.filters.item("DXImageTransform.Microsoft.DropShadow"))&&(b-=a.offX);b!=this.na&&(this.na=this.Fd=b)};E&&I(8);function Ve(a){return"object"===typeof a&&a&&0===a.re?a.content:String(a).replace(We,Xe)}var Ye={"\x00":"�",'"':""","&":"&","'":"'","<":"<",">":">","\t":" ","\n":" ","\x0B":" ","\f":" ","\r":" "," ":" ","-":"-","/":"/","=":"=","`":"`","\u0085":"…","\u00a0":" ","\u2028":"
","\u2029":"
"};function Xe(a){return Ye[a]}var We=/[\x00\x22\x26\x27\x3c\x3e]/g;function Ze(){return''} +function $e(){return''};function af(a){function b(){var a=d.Ia;a.d()&&a.Oa()}this.element=Pd($e);this.e=a;this.Rd=a.getItem();this.Ia=new Ne("");this.Pd=L(".annotorious-editor-button-cancel",this.element)[0];this.Tc=L(".annotorious-editor-button-save",this.element)[0];var c;c=this.Tc;gb?c=c.parentElement:(c=c.parentNode,c=Ab(c)?c:m);this.Qd=c;this.Ya=[];var d=this;O(this.Pd,"click",function(b){b.preventDefault();a.stopSelection(d.$c);d.close()});O(this.Tc,"click",function(b){b.preventDefault();b=d.od();a.J(b);a.stopSelection(); +d.$c?a.fireEvent("onAnnotationUpdated",b,a.getItem()):a.fireEvent("onAnnotationCreated",b,a.getItem());d.close()});V(this.element,n);a.element.appendChild(this.element);this.Ia.jb(L(".annotorious-editor-text",this.element)[0]);var f=this.element;c=document.createElement("div");R(c,"position","absolute");R(c,"top","0px");R(c,"right","0px");R(c,"width","5px");R(c,"height","100%");R(c,"cursor","e-resize");f.appendChild(c);var e=gd(f),e=$c(f).width-e.right-e.left;c=new hd(c);c.wc=new Lc(e,0,800,0)||new Lc(NaN, +NaN,NaN,NaN);c.kd=function(a){R(f,"width",a+"px");b&&b()}}s=af.prototype;s.kc=function(a){var b=wb("div","annotorious-editor-field");u(a)?b.innerHTML=a:v(a)?this.Ya.push({D:b,qc:a}):Ab(a)&&b.appendChild(a);a=this.Qd;a.parentNode&&a.parentNode.insertBefore(b,a)};s.open=function(a){(this.vb=this.$c=a)&&this.Ia.sa(String(a.text));V(this.element,j);this.Ia.d().focus();C(this.Ya,function(b){var c=b.qc(a);u(c)?b.D.innerHTML=c:Ab(c)&&(yb(b.D),b.D.appendChild(c))});this.e.fireEvent("onEditorShown",a)}; +s.close=function(){V(this.element,n);this.Ia.sa("")};s.setPosition=function(a){Pc(this.element,a.x,a.y)};s.od=function(){var a;a=this.Ia.d().value;var b=new Rd;(new Sd).parse(new ie(b,function(a){return a},i),a);a=b.toString();this.vb?this.vb.text=a:this.vb=new Gd(this.Rd.src,a,this.e.la().getShape());return this.vb};af.prototype.addField=af.prototype.kc;af.prototype.getAnnotation=af.prototype.od;function bf(a,b,c){var d=this;c||(c="Click and Drag to Annotate");this.element=Pd(cf,{Mb:c});this.e=a;this.Xc=L(".annotorious-hint-msg",this.element)[0];this.Vc=L(".annotorious-hint-icon",this.element)[0];this.ic=function(){d.show()};this.hc=function(){df(d)};this.Zb();df(this);b.appendChild(this.element)} +bf.prototype.Zb=function(){var a=this;this.Zc=O(this.Vc,"mouseover",function(){a.show();window.clearTimeout(a.ec)});this.Yc=O(this.Vc,"mouseout",function(){df(a)});this.e.addHandler("onMouseOverItem",this.ic);this.e.addHandler("onMouseOutOfItem",this.hc)};bf.prototype.wb=function(){P(this.Zc);P(this.Yc);this.e.Tb("onMouseOverItem",this.ic);this.e.Tb("onMouseOutOfItem",this.hc)}; +bf.prototype.show=function(){window.clearTimeout(this.ec);U(this.Xc,0.8);var a=this;this.ec=window.setTimeout(function(){df(a)},3E3)};function df(a){window.clearTimeout(a.ec);U(a.Xc,0)}bf.prototype.destroy=function(){this.wb();delete this.Zc;delete this.Yc;delete this.ic;delete this.hc;zb(this.element)};function ef(a){this.element=Pd(Ze);this.e=a;this.Sd=L(".annotorious-popup-text",this.element)[0];this.R=L(".annotorious-popup-buttons",this.element)[0];this.cc=n;this.Ya=[];var b=L(".annotorious-popup-button-edit",this.R)[0],c=L(".annotorious-popup-button-delete",this.R)[0],d=this;O(b,"mouseover",function(){ib(b,"annotorious-popup-button-active")});O(b,"mouseout",function(){kb(b,"annotorious-popup-button-active")});O(b,"click",function(){U(d.element,0);R(d.element,"pointer-events","none");a.pc(d.f)}); +O(c,"mouseover",function(){ib(c,"annotorious-popup-button-active")});O(c,"mouseout",function(){kb(c,"annotorious-popup-button-active")});O(c,"click",function(){a.fireEvent("beforeAnnotationRemoved",d.f)||(U(d.element,0),R(d.element,"pointer-events","none"),a.A(d.f),a.fireEvent("onAnnotationRemoved",d.f))});ff&&(O(this.element,"mouseover",function(){window.clearTimeout(d.ac);0.9>(d.R.style[ya("opacity")]||"")&&U(d.R,0.9);d.clearHideTimer()}),O(this.element,"mouseout",function(){U(d.R,0);d.startHideTimer()}), +a.addHandler("onMouseOutOfItem",function(){d.startHideTimer()}));U(this.R,0);U(this.element,0);R(this.element,"pointer-events","none");a.element.appendChild(this.element)}s=ef.prototype;s.kc=function(a){var b=wb("div","annotorious-popup-field");u(a)?b.innerHTML=a:v(a)?this.Ya.push({D:b,qc:a}):Ab(a)&&b.appendChild(a);this.element.appendChild(b)}; +s.startHideTimer=function(){this.cc=n;if(!this.cb){var a=this;this.cb=window.setTimeout(function(){a.e.fireEvent("beforePopupHide",a);a.cc||(U(a.element,0),R(a.element,"pointer-events","none"),U(a.R,0.9),delete a.cb)},150)}};s.clearHideTimer=function(){this.cc=j;this.cb&&(window.clearTimeout(this.cb),delete this.cb)}; +s.show=function(a,b){this.clearHideTimer();b&&this.setPosition(b);a&&this.setAnnotation(a);this.ac&&window.clearTimeout(this.ac);U(this.R,0.9);if(ff){var c=this;this.ac=window.setTimeout(function(){U(c.R,0)},1E3)}U(this.element,0.9);R(this.element,"pointer-events","auto");this.e.fireEvent("onPopupShown",this.f)};s.setPosition=function(a){Pc(this.element,new J(a.x,a.y))}; +s.setAnnotation=function(a){this.f=a;this.Sd.innerHTML=a.text?a.text.replace(/\n/g,"
"):'No comment';"editable"in a&&a.editable==n?V(this.R,n):V(this.R,j);C(this.Ya,function(b){var c=b.qc(a);u(c)?b.D.innerHTML=c:Ab(c)&&(yb(b.D),b.D.appendChild(c))})};ef.prototype.addField=ef.prototype.kc;function gf(){}s=gf.prototype;s.J=function(a,b){this.h.J(a,b)};s.addHandler=function(a,b){this.w.addHandler(a,b)};s.fireEvent=function(a,b,c){return this.w.fireEvent(a,b,c)};s.la=r("v");s.o=function(a){this.h.o(a)};s.A=function(a){this.h.A(a)};s.Tb=function(a,b){this.w.Tb(a,b)};s.stopSelection=function(a){ff&&V(this.c,n);this.eb&&(this.eb(),delete this.eb);this.v.stopSelection();a&&this.h.J(a)}; +function hf(a,b){O(b,jf,function(c){console.log("start selection event");console.log(c);c=kf(c,b);a.h.o(n);a.yb?(V(a.c,j),a.v.startSelection(c.x,c.y)):(c=a.h.mb(c.x,c.y),0e.geometry.x+e.geometry.width||b>e.geometry.y+e.geometry.height?n:j;else if("polygon"==e.type){e=e.geometry.points;for(var h=n,k=e.length-1,l=0;lb!=e[k].y>b&&a<(e[k].x-e[l].x)*(b-e[l].y)/(e[k].y-e[l].y)+e[l].x&&(h=!h),k=l;e=h}else e=n;e&&c.push(f)});B.sort.call(c,function(a,b){var c=d.aa[Fd(a.shapes[0])],k=d.aa[Fd(b.shapes[0])];return Bd(c)- +Bd(k)}||Ia);return c};function pf(a,b,c){var d=Da(a.e.ma(),function(a){return a.getSupportedShapeType()==b.type});d?d.drawShape(a.ua,b,c):console.log("WARNING unsupported shape type: "+b.type)}function of(a){a.ua.clearRect(0,0,a.W.width,a.W.height);C(a.Ea,function(b){b!=a.f&&pf(a,a.aa[Fd(b.shapes[0])])});if(a.f){var b=a.aa[Fd(a.f.shapes[0])];pf(a,b,j);b=Cd(b).geometry;a.e.popup.show(a.f,new vd(b.x,b.y+b.height+5))}};var qf="ontouchstart"in window,ff=!qf,jf=qf?"touchstart":"mousedown",rf=qf?"touchenter":"mouseover",mf=qf?"touchmove":"mousemove",sf=qf?"touchend":"mouseup",tf=qf?"touchleave":"mouseout";function kf(a,b){var c=n;a.offsetX=a.offsetX?a.offsetX:n;a.offsetY=a.offsetY?a.offsetY:n;return c=(!a.offsetX||!a.offsetY)&&a.n.changedTouches?{x:a.n.changedTouches[0].clientX-qd(b).left,y:a.n.changedTouches[0].clientY-qd(b).top}:{x:a.offsetX,y:a.offsetY}};function uf(){}s=uf.prototype;s.init=function(a,b){this.Pc="#000000";this.Rc="#ffffff";this.Jc=n;this.Lc="#000000";this.Nc="#fff000";this.Kc=n;this.Mc=this.Sc=this.Qc=1;this.Oc=1.2;this.W=b;this.e=a;this.ua=b.getContext("2d");this.ua.lineWidth=1;this.dc=n}; +s.Zb=function(){var a=this,b=this.W;this.fc=O(this.W,mf,function(c){console.log(c);c=kf(c,b);if(a.dc){a.B={x:c.x,y:c.y};a.ua.clearRect(0,0,b.width,b.height);var c=a.B.x-a.L.x,d=a.B.y-a.L.y;a.drawShape(a.ua,{type:"rect",geometry:{x:0this.L.x?(a=this.B.x,b=this.L.x):(a=this.L.x,b=this.B.x);var c,d;this.B.y>this.L.y?(c=this.L.y,d=this.B.y):(c=this.B.y,d=this.L.y);return{top:c,right:a,bottom:d,left:b}}; +s.drawShape=function(a,b,c){var d,f,e,h;b.style||(b.style={});"rect"==b.type&&(c?(d=b.style.hi_fill||this.Kc,c=b.style.hi_stroke||this.Nc,f=b.style.hi_outline||this.Lc,e=b.style.hi_outline_width||this.Mc,h=b.style.hi_stroke_width||this.Oc):(d=b.style.fill||this.Jc,c=b.style.stroke||this.Rc,f=b.style.outline||this.Pc,e=b.style.outline_width||this.Qc,h=b.style.stroke_width||this.Sc),b=b.geometry,f&&(a.lineJoin="round",a.lineWidth=e,a.strokeStyle=f,a.strokeRect(b.x+e/2,b.y+e/2,b.width-e,b.height-e)), +c&&(a.lineJoin="miter",a.lineWidth=h,a.strokeStyle=c,a.strokeRect(b.x+e+h/2,b.y+e+h/2,b.width-2*e-h,b.height-2*e-h)),d&&(a.lineJoin="miter",a.lineWidth=h,a.fillStyle=d,a.fillRect(b.x+e+h/2,b.y+e+h/2,b.width-2*e-h,b.height-2*e-h)))};function vf(a){return''} +function cf(a){return'
'+Ve(a.Mb)+'
'};function wf(a,b){function c(b,c){R(d,"margin-"+b,c+"px");R(a,"margin-"+b,0);R(a,"padding-"+b,0)}this.$=a;this.ad={padding:a.style.padding,margin:a.style.margin};this.w=new rd;this.ia=[];this.yb=j;this.element=wb("div","annotorious-annotationlayer");R(this.element,"position","relative");R(this.element,"display","inline-block");var d=this.element,f=dd(a,"margin"),e=dd(a,"padding");(0!=f.top||0!=e.top)&&c("top",f.top+e.top);(0!=f.right||0!=e.right)&&c("right",f.right+e.right);(0!=f.bottom||0!=e.bottom)&& +c("bottom",f.bottom+e.bottom);(0!=f.left||0!=e.left)&&c("left",f.left+e.left);(f=a.parentNode)&&f.replaceChild(this.element,a);this.element.appendChild(a);f=$c(a);this.ja=Pd(vf,{width:f.width,height:f.height});ff&&ib(this.ja,"annotorious-item-unfocus");this.element.appendChild(this.ja);this.c=Pd(vf,{width:f.width,height:f.height});ff&&V(this.c,n);this.element.appendChild(this.c);this.popup=b?b:new ef(this);f=new uf;f.init(this,this.c);this.ia.push(f);this.v=f;this.editor=new af(this);this.h=new lf(this.ja, +this);this.$a=new bf(this,this.element);var h=this;ff&&(O(this.element,rf,function(a){a=a.relatedTarget;if(!a||!Bb(h.element,a))h.w.fireEvent("onMouseOverItem"),mb(h.ja,"annotorious-item-unfocus","annotorious-item-focus")}),O(this.element,tf,function(a){a=a.relatedTarget;if(!a||!Bb(h.element,a))h.w.fireEvent("onMouseOutOfItem"),mb(h.ja,"annotorious-item-focus","annotorious-item-unfocus")}));hf(this,qf?this.c:this.ja);this.w.addHandler("onSelectionCompleted",function(a){var b=a.viewportBounds;h.editor.setPosition(new vd(b.left+ +h.$.offsetLeft,b.bottom+4+h.$.offsetTop));h.editor.open(n,a)});this.w.addHandler("onSelectionCanceled",function(){ff&&V(h.c,n);h.v.stopSelection()})}z(wf,gf);s=wf.prototype;s.ba=p();s.cd=function(a){a.init(this,this.c);this.ia.push(a)};s.destroy=function(){var a=this.$;a.style.margin=this.ad.margin;a.style.padding=this.ad.padding;var b=this.element,c=b.parentNode;c&&c.replaceChild(a,b)}; +s.pc=function(a){this.h.A(a);var b=Da(this.ia,function(b){return b.getSupportedShapeType()==a.shapes[0].type});if(b){V(this.c,j);this.h.o(n);var c=this.c.getContext("2d"),d=a.shapes[0],f=this,d="pixel"==d.units?d:Ed(d,function(a){return f.ya(a)});b.drawShape(c,d)}b=Cd(a.shapes[0]).geometry;b="pixel"==a.shapes[0].units?new vd(b.x,b.y+b.height):this.ya(new vd(b.x,b.y+b.height));this.editor.setPosition(new vd(b.x+this.$.offsetLeft,b.y+4+this.$.offsetTop));this.editor.open(a)}; +s.ya=function(a){var b=Yc(this.$);return a.width?{x:a.x*b.width,y:a.y*b.height,width:a.width*b.width,height:a.height*b.height}:{x:a.x*b.width,y:a.y*b.height}};s.la=r("v");s.t=function(){return this.h.t()};s.mb=function(a,b){return Fa(this.h.mb(a,b))};s.ma=r("ia");s.getItem=function(){return{src:xf(this.$),element:this.$}};function xf(a){var b=a.getAttribute("data-original");return b?b:a.src}s.ea=function(){V(this.ja,n)};s.N=function(){this.yb=n;this.$a&&(this.$a.destroy(),delete this.$a)}; +s.Jd=function(a){(this.v=Da(this.ia,function(b){return b.getName()==a}))||console.log('WARNING: selector "'+a+'" not available')};s.ga=function(a){C(this.ia,function(b){b.ga(a)});of(this.h)};s.Da=function(){V(this.ja,j)};s.Z=function(){this.yb=j;this.$a||(this.$a=new bf(this,this.element))};s.stopSelection=function(a){ff&&V(this.c,n);this.v.stopSelection();a&&this.h.J(a)}; +s.Xb=function(a){var b=Yc(this.$);return a.width?{x:a.x/b.width,y:a.y/b.height,width:a.width/b.width,height:a.height/b.height}:{x:a.x/b.width,y:a.y/b.height}};wf.prototype.addSelector=wf.prototype.cd;wf.prototype.fireEvent=wf.prototype.fireEvent;wf.prototype.setCurrentSelector=wf.prototype.Jd;wf.prototype.toItemCoordinates=wf.prototype.Xb;function yf(){Id(this,function(){return L("img.annotatable",document)})}z(yf,Hd);yf.prototype.Fb=function(a){return xf(a)};yf.prototype.zc=function(a){return new wf(a)};yf.prototype.Wb=function(a){return Ab(a)?"IMG"==a.tagName:n};function zf(a){return'
'+Ve(a.Mb)+"
"};function Af(a,b){this.X=a;this.S=$c(b.element);this.k=b.popup;R(this.k.element,"z-index",99E3);this.z=[];this.tb=new OpenLayers.Layer.Boxes("Annotorious");this.X.addLayer(this.tb);var c=this;this.X.events.register("move",this.X,function(){c.I&&c.ab()});b.addHandler("beforePopupHide",function(){c.va==c.I?c.k.clearHideTimer():c.fb(c.va,c.I)})}s=Af.prototype;s.destroy=function(){this.tb.destroy()}; +s.ab=function(){var a=this.I.Lb.div,b=$c(a),c=Uc(a,this.X.div),a=c.y,c=c.x,d=b.width,f=b.height,b=$c(this.k.element),a={y:a+f+5};c+b.width>this.S.width?(mb(this.k.element,"top-left","top-right"),a.x=c+d-b.width):(mb(this.k.element,"top-right","top-left"),a.x=c);0>a.x&&(a.x=0);a.x+b.width>this.S.width&&(a.x=this.S.width-b.width);a.y+b.height>this.S.height&&(a.y=this.S.height-b.height);this.k.setPosition(a)};s.jc=function(a){this.k.setAnnotation(a);this.ab();this.k.show()}; +s.fb=function(a,b){a?(Uc(a.Lb.div,this.X.div),ya("height"),R(a.qb,"border-color","#fff000"),this.I=a,this.jc(a.C)):delete this.I;b&&R(b.qb,"border-color","#fff")}; +s.J=function(a){var b=a.shapes[0].geometry,b=new OpenLayers.Marker.Box(new OpenLayers.Bounds(b.x,b.y,b.x+b.width,b.y+b.height));ib(b.div,"annotorious-ol-boxmarker-outer");R(b.div,"border",m);var c=wb("div","annotorious-ol-boxmarker-inner");Xc(c,"100%","100%");b.div.appendChild(c);var d={C:a,Lb:b,qb:c},f=this;O(c,"mouseover",function(){f.I||f.fb(d);f.va=d});O(c,"mouseout",function(){delete f.va;f.k.startHideTimer()});this.z.push(d);B.sort.call(this.z,function(a,b){return Bd(b.C.shapes[0])-Bd(a.C.shapes[0])}|| +Ia);var e=1E4;C(this.z,function(a){R(a.Lb.div,"z-index",e);e++});this.tb.addMarker(b)};s.A=function(a){var b=Da(this.z,function(b){return b.C==a});b&&(D(this.z,b),this.tb.removeMarker(b.Lb))};s.t=function(){return Ba(this.z,function(a){return a.C})};s.o=function(a){a||this.k.startHideTimer()};function Bf(a){function b(){var a=parseInt(T(d.element,"width"),10),b=parseInt(T(d.element,"height"),10);Xc(d.c,a,b);d.c.width=a;d.c.height=b}this.X=a;this.element=a.div;var c=this.element.style[ya("position")]||"";"absolute"!=c&&"relative"!=c&&R(this.element,"position","relative");this.w=new rd;this.U=Pd(zf,{Mb:"Click and Drag"});R(this.U,"z-index",9998);U(this.U,0);this.element.appendChild(this.U);this.popup=new ef(this);this.h=new Af(a,this);this.c=Pd(vf,{width:"0",height:"0"});V(this.c,n);R(this.c, +"position","absolute");R(this.c,"top","0px");R(this.c,"z-index",9999);this.element.appendChild(this.c);var d=this;b();this.v=new uf;this.v.init(this,this.c);this.eb=i;this.editor=new af(this);R(this.editor.element,"z-index",1E4);window.addEventListener?window.addEventListener("resize",b,n):window.attachEvent&&window.attachEvent("onresize",b);O(this.element,"mouseover",function(a){a=a.relatedTarget;(!a||!Bb(d.element,a))&&d.w.fireEvent("onMouseOverItem")});O(this.element,"mouseout",function(a){a=a.relatedTarget; +(!a||!Bb(d.element,a))&&d.w.fireEvent("onMouseOutOfItem")});O(this.c,"mousedown",function(a){var b=Vc(d.element);d.v.startSelection(a.clientX-b.x,a.clientY-b.y)});this.w.addHandler("onSelectionCompleted",function(a){R(d.c,"pointer-events","none");a=a.viewportBounds;d.editor.setPosition(new vd(a.left,a.bottom+4));d.editor.open()});this.w.addHandler("onSelectionCanceled",function(){d.stopSelection()})}z(Bf,gf);s=Bf.prototype;s.Z=p();s.N=p(); +s.ba=function(a){R(this.c,"pointer-events","auto");var b=this;V(this.c,j);U(this.U,0.8);window.setTimeout(function(){U(b.U,0)},2E3);a&&(this.eb=a)};s.destroy=function(){this.h.destroy();zb(this.U);zb(this.c)};s.cd=p();s.pc=function(a){this.h.A(a);var b=this.v,c=this;if(b){V(this.c,j);this.h.o(i);var d=this.c.getContext("2d"),f=Ed(a.shapes[0],function(a){return c.ya(a)});console.log(f);b.drawShape(d,f);b=Cd(f).geometry;this.editor.setPosition(new vd(b.x,b.y+b.height));this.editor.open(a)}}; +s.ya=function(a){var b=this.X.getViewPortPxFromLonLat(new OpenLayers.LonLat(a.x,a.y));return(a=a.width?this.X.getViewPortPxFromLonLat(new OpenLayers.LonLat(a.x+a.width,a.y+a.height)):n)?{x:b.x,y:a.y,width:a.x-b.x+2,height:b.y-a.y+2}:{x:b.x,y:b.y}};s.t=function(){return this.h.t()};s.ma=p();s.getItem=function(){return{src:"map://openlayers/something"}};s.sb=p(); +s.Xb=function(a){var b=this.X.getLonLatFromPixel(new OpenLayers.Pixel(a.x,a.y));return(a=a.width?new OpenLayers.Pixel(a.x+a.width-2,a.y+a.height-2):n)?(a=this.X.getLonLatFromPixel(a),b={x:b.lon,y:a.lat,width:a.lon-b.lon,height:b.lat-a.lat},console.log(b),b):{x:b.lon,y:b.lat}};function Cf(){Id(this)}z(Cf,Hd);Cf.prototype.Fb=aa("map://openlayers/something");Cf.prototype.zc=function(a){return new Bf(a)};Cf.prototype.Wb=function(a){return a instanceof OpenLayers.Map};function Df(a,b){this.T=a;this.S=$c(a.element);this.k=b.popup;R(this.k.element,"z-index",99E3);this.z=[];var c=this;this.T.addHandler("animation",function(){c.I&&c.ab()});b.addHandler("beforePopupHide",function(){c.va==c.I?c.k.clearHideTimer():c.fb(c.va,c.I)})}s=Df.prototype; +s.ab=function(){var a=this.T.element,b=this.I.Rb,c=$c(b),b=Uc(b,a),a=b.y,b=b.x,d=c.width,f=c.height,c=$c(this.k.element),a={x:b,y:a+f+12};mb(this.k.element,"top-right","top-left");this.T.isFullPage()||(b+c.width>this.S.width&&(mb(this.k.element,"top-left","top-right"),a.x=b+d-c.width),0>a.x&&(a.x=0),a.x+c.width>this.S.width&&(a.x=this.S.width-c.width),a.y+c.height>this.S.height&&(a.y=this.S.height-c.height));this.k.setPosition(a)};s.jc=function(a){this.k.setAnnotation(a);this.ab();this.k.show()}; +s.fb=function(a,b){a?(R(a.qb,"border-color","#fff000"),this.I=a,this.jc(a.C)):delete this.I;b&&R(b.qb,"border-color","#fff")}; +s.J=function(a){var b=a.shapes[0].geometry,c=wb("div","annotorious-ol-boxmarker-outer"),d=wb("div","annotorious-ol-boxmarker-inner");Xc(d,"100%","100%");c.appendChild(d);var b=new OpenSeadragon.Rect(b.x,b.y,b.width,b.height),f={C:a,Rb:c,qb:d},e=this;O(d,"mouseover",function(){e.I||e.fb(f);e.va=f});O(d,"mouseout",function(){delete e.va;e.k.startHideTimer()});this.z.push(f);B.sort.call(this.z,function(a,b){return Bd(b.C.shapes[0])-Bd(a.C.shapes[0])}||Ia);var h=1;C(this.z,function(a){R(a.Rb,"z-index", +h);h++});this.T.drawer.addOverlay(c,b)};s.A=function(a){var b=Da(this.z,function(b){return b.C==a});b&&(D(this.z,b),this.T.drawer.removeOverlay(b.Rb))};s.t=function(){return Ba(this.z,function(a){console.log(a);return a.C})};s.o=p();s.destroy=function(){var a=this;C(this.z,function(b){a.T.removeOverlay(b.Rb)});this.z=[]};function Ef(a){this.element=a.element;var b=document;b.querySelectorAll&&b.querySelector?b=b.querySelector(".openseadragon-container"):(b=document,b=(b.querySelectorAll&&b.querySelector?b.querySelectorAll(".openseadragon-container"):b.getElementsByClassName?b.getElementsByClassName("openseadragon-container"):tb())[0]);R(b||m,"z-index",0);this.T=a;this.w=new rd;this.ia=[];this.yb=j;this.U=Pd(zf,{Mb:"Click and Drag"});U(this.U,0);this.element.appendChild(this.U);this.popup=new ef(this);this.h=new Df(a, +this);this.c=Pd(vf,{width:"0",height:"0"});V(this.c,n);this.element.appendChild(this.c);var c=this,a=parseInt(T(c.element,"width"),10),b=parseInt(T(c.element,"height"),10);Xc(c.c,a,b);c.c.width=a;c.c.height=b;a=new uf;a.init(this,this.c);this.ia.push(a);this.v=a;this.editor=new af(this);hf(this,this.c);this.w.addHandler("onSelectionCompleted",function(a){a=a.viewportBounds;c.editor.setPosition(new vd(a.left,a.bottom+4));c.editor.open()});this.w.addHandler("onSelectionCanceled",function(){c.stopSelection()})} +z(Ef,gf);s=Ef.prototype;s.Z=p();s.N=p();s.destroy=function(){this.h.destroy();delete this.h};s.ba=function(a){R(this.c,"pointer-events","auto");var b=this;V(this.c,j);U(this.U,0.8);window.setTimeout(function(){U(b.U,0)},2E3);a&&(this.eb=a)};s.pc=function(a){this.h.A(a);var b=this.v,c=this;if(b){V(this.c,j);this.h.o(i);var d=this.c.getContext("2d"),f=Ed(a.shapes[0],function(a){return c.ya(a)});b.drawShape(d,f);b=Cd(f).geometry;this.editor.setPosition(new vd(b.x,b.y+b.height+4));this.editor.open(a)}}; +s.ya=function(a){var b=qd(this.element);b.top+=window.pageYOffset;b.left+=window.pageXOffset;var c=new OpenSeadragon.Point(a.x,a.y),a=a.width?new OpenSeadragon.Point(a.x+a.width,a.y+a.height):n,c=this.T.viewport.viewportToWindowCoordinates(c);return a?(a=this.T.viewport.viewportToWindowCoordinates(a),{x:c.x-b.left,y:c.y-b.top,width:a.x-c.x+2,height:a.y-c.y+2}):c};s.t=function(){return this.h.t()};s.ma=p();s.getItem=function(){return{src:"dzi://openseadragon/something"}};s.sb=p();s.la=r("v"); +s.Xb=function(a){var b=qd(this.element);b.top+=window.pageYOffset;b.left+=window.pageXOffset;var c=new OpenSeadragon.Point(a.x+b.left,a.y+b.top),a=a.width?new OpenSeadragon.Point(a.x+b.left+a.width-2,a.y+b.top+a.height-2):n,c=this.T.viewport.windowToViewportCoordinates(c);return a?(a=this.T.viewport.windowToViewportCoordinates(a),{x:c.x,y:c.y,width:a.x-c.x,height:a.y-c.y}):c};function Ff(){Id(this)}z(Ff,Hd);Ff.prototype.Fb=aa("dzi://openseadragon/something");Ff.prototype.zc=function(a){return new Ef(a)};Ff.prototype.Wb=function(a){return!a.id||0!=a.id.indexOf("openseadragon")||!a.hasOwnProperty("drawer")?n:j};function Y(){function a(){Gf(b)}this.Wc=n;this.l=[new yf];window.OpenLayers&&this.l.push(new Cf);window.OpenSeadragon&&this.l.push(new Ff);this.bb=[];var b=this;window.addEventListener?window.addEventListener("load",a,n):window.attachEvent&&window.attachEvent("onload",a)}function Gf(a){a.Wc||(C(a.l,function(a){a.init()}),C(a.bb,function(b){b.initPlugin&&b.initPlugin(a);C(a.l,function(a){a.zb(b)})}),a.Wc=j)}function Z(a,b){return Da(a.l,function(a){return Od(a,b)})}s=Y.prototype; +s.ba=function(a,b){var c=i,d=i;u(a)?(c=a,d=b):v(a)&&(d=a);if(c){var f=Z(this,c);f&&f.ba(c,d)}else C(this.l,function(a){a.ba(d)})};s.J=function(a,b){var c;c=a.src;if(!(0`WEtg0F&_y?s0YgX8@rb9}@UEn>_4cyC=o3LF3pyzY#;p;VWNCA|{b$6|`WmmqLN zCYGHl7Y17+>u3@-2_!_y)!_TVhd&=kW`bUMkg6w zi;Qx2V?!|zc_Td#*r+JRsOFht4sc;!lL>S~TDB!=Ixl8(g3f6yEo2xblTig#5jaLm z3wnlOTRK+bs(O~^cvfe1L1UO4o6&M&hSj)qj!ubbU2JjlZU_z61TDKZvfJe5Zpf9? z02t5VSco2feW7`M5fmA{o43n6?{B;sPzltAW7Y4JX^Bt|#@m(VM~9X10WO-E01e0U zm!k?AtiSSFwp5>g>*ZZ*zTDbzdYk%H+m1_Z%DP7T8yjS8;oFHg+M`XSX21XD=gWJ~&x;R#HvPG6{KRGuu$=@L#NFK58xjlKx0Uz(V z fojr18=M!yM=UVX5r{;&p<3CJ3*RQ>=4DI;`?Pa3L literal 0 HcmV?d00001 diff --git a/node_modules/annotorious/css/feather_icon.png b/node_modules/annotorious/css/feather_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..bb8ae28eed1db12517d48a73688eaac39834819d GIT binary patch literal 534 zcmV+x0_pvUP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01ejw01ejxLMWSf00007bV*G`2iyz; z4-z)Qf0k?j00EXsL_t(I%axPAYZpNj#Ao&d30RpzEbNlP#@J|OVPRomWvkex4I+qt zfYz4w3KmLw?JXo0B5JfS1R@wn5wP$Fv=f1ozaBsnn@SySsy1wBgg7TB-g3w_3wwy`|}&Pyt`f7t$FdqvVOV5yX{ zkwmr!AIwIQog{aFgQ{eGDC*K3V0+ttDV8NQwm+6qt|#%l0q!KwNLsXgThbXxd$!k- zsFX5S!Lc^JQpyatTb0~6lsEuB9ALX7SpvRG+HTkCHEh7ZRp5yxo?=@`j@!N{>BZbn zGL(YttCDsly%{b2$U{0O>6GowsVfL5z-!=a_d`ulaJjnw2`K-ItuMwsNl$GfiK!d> Y0a5a+Qvi_@%07*qoM6N<$g3kcsO#lD@ literal 0 HcmV?d00001 diff --git a/node_modules/annotorious/css/pencil.png b/node_modules/annotorious/css/pencil.png new file mode 100644 index 0000000000000000000000000000000000000000..c8529af9f35707b28b65f5fd430a4e95a3a3cfcc GIT binary patch literal 1099 zcmbVL&1=(O91aY06NaK*rid>Y9+WkC-?T}Zux@Lc#&xW7b`>Wgm?rPmY|DqqJKGHr zHbfL1h#o|D5X6Ish@f~8RJ?gmbf^>m02MFd$3ai}W^1R1v4er+{mAqDe$Vgg?BKxO z)(zV>Fbvb0@70QQ-4wme>*#mq_umFx+DLAg40$7@Y6O@`TV5H1ykm^wA~vk4W6y9W z!!%Xw(l8k=^sA=la7KjTYK~9Y4Aa?N^9^$x6HvyZwwq$VJbcUo+e)zq#R4q&SzNJu zrvp4RJy0^I$4$jzySqSVO{E4LObk$SCfrc1rPw9AD&0rdJPVc}WIV+#iyAHrf~*%{ zAaXEfLJ0vW!J!0H5=sXUAc8y+cqqpZR7F{Z2-F{zdJC)(wW#TJU-Xn>D}?we&sVEe zt{UgOV3bFSqVQ1Q1tCTev2e;IMlI%s?F|bW4$Z*!iS4-{vS^gONs?lz(&Z2wzff2) z?1uG3(UkEu!{-qPdB=(3T0)1Ui2ur16&;qQe9RYd=uHMDt;a}vgG_U`wxbA0)u{Ud zn-;~G&^&X}!7j;bDVF}>EZb5wJ)xv?k{;ItC?yd}CbLpDBgK&>OL`Is4I8U*(@2qE zJShvhq#=|Ol3Gql3R+ywK~a%)rNPa+Au(JNH~iYvZ=EZx$yKufHi#FLJa3}W0fQBf zcwxo!L3T*w5GWX??M63IftKUda9|(DmL7NxSjwC6OlIOf;C+eHU!DzBwWwfE&R zXnmbVhnO2*ySFaxzkbEa-nCC}f2y7OpaXZdOrG?ge?He+p6h)eU%b_J?Wh0p_PO?x zEn_1y3o|_@+RiMREt7*k-fZdXxO^e8dB=fIFE-AozxM3D`s&i>)|+~)EZ*xm!hHMK e2OjBTTvIb-?jPOP)b6mCGw`89UgB$?f2S6djVki`PyR)lC19S z?LAspSU3ZKnx^&V3#tdOtZCX(Z*T7rl5X|1rprOn-P_xHMANh-Id}Kw3@R!rdJO<; zYHH4rbO9&=kN|KQz}-?V%eEqtu9}*fa{yRWRP?HqPD}SrrBdwx5Dtgm5<)D*VzFhn z+kF#2y%6G}5aJ?$dbitsGZu?23n3Q5;qY6=dskgnbTz>jE?l@90Fue17#SI9({=rt z@-|)9uZ@h1v?Y^C0RXZuZ8qC{&O@g_&CSh)>VfL&>H@{Z#a9)mxVZRgLqo$(_4}SZ zdrBneR?eW};^HsmcsEKtHX+2nr6qA)*W=Rd{|Ueb0J1M#F4yNd&rw-f+1~&_2=OEU zl$Vz~Z8qCZUDvM;4-cOh9v(iS>-trj&9;vp5}Isk@3p|?o7@`?-- z6BGCPe7;ZRbyXP;Ry^54ju`I!y_dnB@+rzQc^Mz4u?ku2M3Rk46HZrmI&KTfY=O2wKVp!`_Ja(N!XQ@tY4{}4+e#`Y zP%4!YLI@*7lOinoD?myL)6dA1rfC_mE#pRm6`Db8CXl+vxLu?GBn`ln*}4^w0iqP! zOrpRU17Ls{MYXNKgayO~z;5_dVjMzckpe9nBx(3ufvG1n4wq8w0N@1R?CR>eClCm{ z;BvXn3n3wF*(c%iGS>mJol-edh>a?7@pbjrkH8%ZxoKgnPy6na_Hv~Nsv zV%*BV357y0lMKpxyi$it>a>&8K+-1Dry`Obl6RBbIX*sK>+yI#MmqakYHV!0*w@$B zH#ax;^xWLs(|vt?eT|Kc7i~7%5&(KUo{z`J$7@OMlsY_8X8}o@0y#;#N!~@WoMeUH z?>~ifW_n|2Xy`?fkCS|uWTTXaNj^R_H1wjb>o)*!*REZECRrhM+$D87706DqkYowT z9VGovJ@r%vfMvVgzI^)h>28uO)6>(Du-}~)LBT< z4%4vtNbU{>gTnyW(9rM^$(DFLe!$^y+|YGBJ~lRXXl!ikkgn@-hr@9r9*-X&+0xL^ z@DTu3R#py?+%0vj44)mD5kLUYW@l#~0)UQ=j*9@k_4$0x($dmfiA19EvBw@e2>|o+ z^FgoI`<2h7RvKS_td+sa8+stHac60Icnk!-qj>C$sv zuXkE`o7d}|zI5r*b0nKc?n@*RtpMn7I2K4&N?pqP9LANtDwZuTFE6OYIXgRhEtyQN zgp_15nOay_Q145anwnZPEdJH{tSs_)JktQ!)zx*3yX*% z{QUewB=>c7bsYo1ZQHhext2v4;l8S>>K_0wIy%}4fHN~Qj-{og9bT{ZtI^TX{?XCV zey`X2)zZ?EZ)Rr30f4eEs;a8~WmwR6bX$4dz`#IE2$8heY)d^oJx`Ks`ugjyJ4wb! z9*`1~ZB0ErJx|(fwk07%a$sN}X61F3>xg9C-o1Or0MO}lCKSxPjugb{bSC6-_>g2> zwsm9~8D?f?I)cIAWf{*FtE;QuJbwK6uShnKYL5-E(=1WUAbHS>6I| zf&OnmcB@8n8Eu`bTYmPc2FoD8bqa$yKveiqz>QTPbA)8TzE6-9WCdoWb0f~s4WK6y zi3~*|ks6Bw0~WQE^f!+`W7E0Lfh>%Sdh~smuEc zR`#PjAU>u`WtCM`RjEf_8Xbnh!WR(>}NgxpDmsS~TcB>bx z#her%eJ59kWziw-5JKx^k{+{{%?c29+!|FAbY0-L?R99CI0$_W4`+25I zo4@Gj=y*?AbMWB7cbG2fuCiza#5*NV^Tb<0eok^P$-PZYO~U~A$Rm&Zg=DjI2bhzv@6=VTAPGjCdh*($U&x$ z3H(e~h>h0RjUeNYt<=61q^+&(-E|;Ua)?!h*e&(hvFP)?qjo2rtMlB+E( zE$2x7%;>`TLKH{^)r`97v17+-Z{EBa^!xp9)Ya8>OioVL0YGbO>$@L(@WCqpt^rsy zh$^bD6x7WNSy`0fZMC(vzgHIMx<1*`(sJ(1nKQqWF08!EJn^e6F)~z2TnIy`@%#O6 zghHVkM~@!;^ob{)_#D72fElEZ29`{+wk0Nz6Lfd|SQGilzJR-;n zF@qe)45G$Ebz?4IRK9XNuogstlryLUkfh;nl@FMY1u~8X)`O_aeA;6CZr+lO$%lei uR_${E85J6{n^k@CfdE@CVq2j91?a!&*Mdn=4lnco0000rg{d3dPW9@#$mi!-9R-mAT`1H zX(i=}MX3yqDfvmM3T~N2spa`a*~JRZ!KQ^oj` g>)ER!UHGdd82A>j+ioy?400rcr>mdKI;Vst0CL?mfdBvi literal 0 HcmV?d00001 diff --git a/node_modules/annotorious/css/theme-dark/Indicator.png b/node_modules/annotorious/css/theme-dark/Indicator.png new file mode 100644 index 0000000000000000000000000000000000000000..029f819797ff02a78f8c1c8016f0f767d07d3dd3 GIT binary patch literal 529 zcmV+s0`C2ZP)F+@CcjrznaXaC&xOEVhrL$nADJ z_YUrdu*m@Q0^~|5&gU~qDS(_ObpgBq?6lo(H`ZE=G0f+4rqe0Mh?27-Il1#^C!tLWm7d>h@tt7>2KDno?EOUk6oHk)|nO7`_6@7_3lA1!Y-9PSiqEiIO1Zk<@3d{(i?wabY&Jtmx#I0Xda)!3f<+y57fJuUDj$0L8>PmwXq3x4K$uoO8+0-~4j^V_(m2Odyl1 T*Z>Na00000NkvXXu0mjfrVZNy literal 0 HcmV?d00001 diff --git a/node_modules/annotorious/css/theme-dark/annotorious-dark.css b/node_modules/annotorious/css/theme-dark/annotorious-dark.css new file mode 100644 index 0000000..dcb9dc3 --- /dev/null +++ b/node_modules/annotorious/css/theme-dark/annotorious-dark.css @@ -0,0 +1,342 @@ +.annotorious-hint-msg { + background-color:rgba(0,0,0,0.6); + margin:4px; + padding:8px 15px 8px 30px; + font-family:'lucida grande',tahoma,verdana,arial,sans-serif; + line-height:normal; + font-size:12px; + color:#fff; + border-radius:4px; + -moz-border-radius:4px; + -webkit-border-radius:4px; + -khtml-border-radius:4px; +} + +.annotorious-hint-icon { + position:absolute; + top:6px; + left:5px; + background:url(feather_icon.png); + background-repeat:no-repeat; + width:19px; + height:22px; + margin:2px 4px 0 6px; +} + +.annotorious-opacity-fade { + -moz-transition-property:opacity; + -moz-transition-duration:.5s; + -moz-transition-delay:0; + -webkit-transition-property:opacity; + -webkit-transition-duration:.5s; + -webkit-transition-delay:0; + -o-transition-property:opacity; + -o-transition-duration:.5s; + -o-transition-delay:0; + transition-property:opacity; + transition-duration:.5s; + transition-delay:0; +} + +.annotorious-item-focus { + opacity:1.0; +} + +.annotorious-item-unfocus { + opacity:0.4; +} + +.annotorious-popup { + position:absolute; + top:0; + left:0; + width:220px; + min-height:26px; + margin-top:12px; + background-color:#383838; + border:1px solid #000; + outline:none; + padding:5px; + -moz-transition-property:opacity; + -moz-transition-duration:.5s; + -moz-transition-delay:0; + -ms-transition-property:opacity; + -ms-transition-duration:.5s; + -ms-transition-delay:0; + -webkit-transition-property:opacity; + -webkit-transition-duration:.5s; + -webkit-transition-delay:0; + -o-transition-property:opacity; + -o-transition-duration:.5s; + -o-transition-delay:0; + transition-property:opacity; + transition-duration:.5s; + transition-delay:0; + -moz-border-radius:8px; + -webkit-border-radius:8px; + -khtml-border-radius:8px; + border-radius:8px; + -o-box-shadow:0 5px 5px rgba(0,0,0,0.7),inset 0 1px 1px rgba(255,255,255,0.25); + -ms-box-shadow:0 5px 5px rgba(0,0,0,0.7),inset 0 1px 1px rgba(255,255,255,0.25); + -moz-box-shadow:0 5px 5px rgba(0,0,0,0.7),inset 0 1px 1px rgba(255,255,255,0.25); + -webkit-box-shadow:0 5px 5px rgba(0,0,0,0.7),inset 0 1px 1px rgba(255,255,255,0.25); + box-shadow:0 5px 53px rgba(0,0,0,0.7),inset 0 1px 1px rgba(255,255,255,0.25); +} + +.annotorious-popup-text { + display:block; + padding:5px; + font-family:Verdana,Arial; + font-size:12px; + color:#eee; + text-shadow:none; + line-height:150%; +} + +.annotorious-popup-text a { + text-decoration:underline; + color:#eee; + background-color:transparent; +} + +.top-left:after, .annotorious-editor:after { + content:url(Indicator.png); + position:absolute; + left:15px; + top:-14px; + height:18px; + width:19px; + display:block; +} + +.top-right:after { + content:url(Indicator.png); + position:absolute; + right:15px; + top:-14px; + height:18px; + width:19px; + display:block; +} + + +.annotorious-popup-buttons { + float:right; + height:26px; + width:56px; + display:block; + white-space:nowrap; + padding-left:4px; + -moz-transition-property:opacity; + -moz-transition-duration:1s; + -moz-transition-delay:0; + -webkit-transition-property:opacity; + -webkit-transition-duration:1s; + -webkit-transition-delay:0; + -o-transition-property:opacity; + -o-transition-duration:1s; + -o-transition-delay:0; + transition-property:opacity; + transition-duration:1s; + transition-delay:0; +} + +.annotorious-popup-button { + font-size:10px; + text-decoration:none; + display:inline-block; + color:#000; + font-weight:700; + width:26px; + height:26px; + text-indent:100%; + white-space:nowrap; + overflow:hidden; + -moz-transition-property:opacity; + -moz-transition-duration:1s; + -moz-transition-delay:0; + -webkit-transition-property:opacity; + -webkit-transition-duration:1s; + -webkit-transition-delay:0; + -ms-transition-property:opacity; + -ms-transition-duration:1s; + -ms-transition-delay:0; + -o-transition-property:opacity; + -o-transition-duration:1s; + -o-transition-delay:0; + transition-property:opacity; + transition-duration:1s; + transition-delay:0; +} + +.annotorious-popup-button-delete:hover { + background-color:transparent; + background:url(DarkSprite.png) no-repeat; + background-position:0 -40px; +} + +.annotorious-popup-button-delete { + background:url(DarkSprite.png) no-repeat; + background-position:0 -8px; + outline:none; +} + +.annotorious-popup-button-edit { + background:url(DarkSprite.png) no-repeat; + background-position:0 -70px; + outline:none; +} + +.annotorious-popup-button-edit:hover { + background-color:transparent; + background:url(DarkSprite.png) no-repeat; + background-position:0 -99px; +} + +.annotorious-popup-field { + margin:0px; + padding:6px; + font-family:'lucida grande',tahoma,verdana,arial,sans-serif; + font-size:12px; +} + +.annotorious-editor { + position:absolute; + top:0; + left:0; + margin-top:12px; + background-color:#383838; + color:#F2F2F2; + border:1px solid #000; + border-radius:8px; + -o-border-radius:8px; + -moz-border-radius:8px; + -webkit-border-radius:8px; + -khtml-border-radius:8px; + -o-box-shadow:0 5px 5px rgba(0,0,0,0.7),inset 0 1px 1px rgba(255,255,255,0.25); + -ms-box-shadow:0 5px 5px rgba(0,0,0,0.7),inset 0 1px 1px rgba(255,255,255,0.25); + -moz-box-shadow:0 5px 5px rgba(0,0,0,0.7),inset 0 1px 1px rgba(255,255,255,0.25); + -webkit-box-shadow:0 5px 5px rgba(0,0,0,0.7),inset 0 1px 1px rgba(255,255,255,0.25); + box-shadow:0 5px 53px rgba(0,0,0,0.7),inset 0 1px 1px rgba(255,255,255,0.25); + z-index:2; +} + +.annotorious-editor-button-container { + background:url(DarkSprite.png); + background-position:0 -1px; + margin:0 10px 10px; + background-repeat:repeat-x; + height:2px; + display:block; +} + +.annotorious-editor-text { + border:none; + background-color:#383838; + line-height:150%; + margin:10px 0px 4px 0px; + padding:0px 10px; + min-height:50px; + width:100%; + min-width:200px; + outline:none; + font-family:Verdana,Arial; + font-weight:400; + font-size:12px; + color:#eee; + text-shadow:none; + overflow-y:auto; + display:block; + resize:none; +} + +.annotorious-editor-text a:hover { + color:#eee; + background-color:transparent; +} + +.annotorious-editor-button { + float:right; + line-height:normal; + display:inline-block; + text-align:center; + text-decoration:none; + font-family:Verdana,Arial; + font-size:.625em; + border:1px solid #000; + color:#f2f2f2; + padding-top:5px; + padding-bottom:5px; + margin:7px 2px 10px 0px; + cursor:pointer; + width:60px; + -moz-box-shadow:inset 0 1px 1px rgba(255,255,255,0.25),0 1px 1px rgba(255,255,255,0.25); + -webkit-box-shadow:inset 0 1px 1px rgba(255,255,255,0.25),0 1px 1px rgba(255,255,255,0.25); + box-shadow:inset 0 1px 1px rgba(255,255,255,0.25),0 1px 1px rgba(255,255,255,0.25); + -moz-border-radius:3px; + -webkit-border-radius:3px; + -khtml-border-radius:3px; + border-radius:3px; + opacity:1; +} + +.annotorious-editor-button-save { + margin-left:5px; + background:-webkit-gradient(linear,left top,left bottom,from(#FFA52C),to(#FB7B28)); + background:-moz-linear-gradient(top,#FFA52C,#FB7B28); + filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFA52C',endColorstr='#FB7B28'); +} + +.annotorious-editor-button-cancel { + background:-webkit-gradient(linear,left top,left bottom,from(#656565),to(#2C2C2C)); + background:-moz-linear-gradient(top,#656565,#2C2C2C); + filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#656565',endColorstr='#2C2C2C'); +} + +.annotorious-editor-button:hover { + color:rgba(242,2423,242,1); + text-shadow:0 0 6px rgba(242,242,242,0.6); + -o-text-shadow:0 0 6px rgba(242,242,242,0.6); + -moz-text-shadow:0 0 6px rgba(242,242,242,0.6); + -webkit-text-shadow:0 0 6px rgba(242,242,242,0.6); +} + +.annotorious-editor-button:active { + -moz-box-shadow:inset 0 3px 3px rgba(0,0,0,0.7),0 1px 1px rgba(255,255,255,0.25); + -webkit-box-shadow:inset 0 3px 3px rgba(0,0,0,0.7),0 1px 1px rgba(255,255,255,0.25); + box-shadow:inset 0 3px 3px rgba(0,0,0,0.7),0 1px 1px rgba(255,255,255,0.25); +} + +.annotorious-editor-field { + margin:0px; + padding:6px 0px; + font-family:'lucida grande',tahoma,verdana,arial,sans-serif; + font-size:12px; +} + +/** OpenLayers module **/ +.annotorious-ol-boxmarker-outer { + border:1px solid #000; +} + +.annotorious-ol-boxmarker-inner { + border:1px solid #fff; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + -ms-box-sizing: border-box; + box-sizing: border-box; +} + +.annotorious-ol-hint { + line-height: normal; + font-family:Arial, Verdana, Sans; + font-size:16px; + color:#fff; + background-color:rgba(0,0,0,0.7); + margin:0px; + padding:9px; + border-radius: 5px; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + -khtml-border-radius: 5px; +} diff --git a/node_modules/annotorious/css/theme-dark/feather_icon.png b/node_modules/annotorious/css/theme-dark/feather_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..bb8ae28eed1db12517d48a73688eaac39834819d GIT binary patch literal 534 zcmV+x0_pvUP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01ejw01ejxLMWSf00007bV*G`2iyz; z4-z)Qf0k?j00EXsL_t(I%axPAYZpNj#Ao&d30RpzEbNlP#@J|OVPRomWvkex4I+qt zfYz4w3KmLw?JXo0B5JfS1R@wn5wP$Fv=f1ozaBsnn@SySsy1wBgg7TB-g3w_3wwy`|}&Pyt`f7t$FdqvVOV5yX{ zkwmr!AIwIQog{aFgQ{eGDC*K3V0+ttDV8NQwm+6qt|#%l0q!KwNLsXgThbXxd$!k- zsFX5S!Lc^JQpyatTb0~6lsEuB9ALX7SpvRG+HTkCHEh7ZRp5yxo?=@`j@!N{>BZbn zGL(YttCDsly%{b2$U{0O>6GowsVfL5z-!=a_d`ulaJjnw2`K-ItuMwsNl$GfiK!d> Y0a5a+Qvi_@%07*qoM6N<$g3kcsO#lD@ literal 0 HcmV?d00001 diff --git a/node_modules/annotorious/example/640px-Hallstatt.jpg b/node_modules/annotorious/example/640px-Hallstatt.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f7e4f371db069ac45eef969b7a72266f936e8679 GIT binary patch literal 78368 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 B&-DNR literal 0 HcmV?d00001 diff --git a/node_modules/annotorious/example/example.css b/node_modules/annotorious/example/example.css new file mode 100644 index 0000000..ca907e4 --- /dev/null +++ b/node_modules/annotorious/example/example.css @@ -0,0 +1,19 @@ +html, body { + background-color:#e8e8e8; + min-height:100%; + padding:0; + margin:0; +} + +.column { + width:80%; + margin:0 auto; + padding:10px 20px; + background-color:#fff; + height:100%; +} + +button { + padding:10px 25px; + font-size:16px; +} diff --git a/node_modules/annotorious/example/example.html b/node_modules/annotorious/example/example.html new file mode 100644 index 0000000..e10550e --- /dev/null +++ b/node_modules/annotorious/example/example.html @@ -0,0 +1,144 @@ + + + Annotorious Example Page + + + + + + + + +
+

Annotorious Demo Page

+

+ This is a simple demo page for Annotorious. Hover the mouse over the + image to get started. Use the source code of this example as a guide + when annotation-enabling your own pages! +

+ +

Demo Image

+
+ +

+ Hallstatt, Austria. By Nick Csakany, 2007. Public Domain. Source: + Wikimedia + Commons +

+
+ +

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut varius + diam posuere quam molestie vestibulum. Vestibulum non volutpat elit. Integer + vitae felis eget magna rutrum sagittis. Nulla facilisi. Praesent a consectetur + velit. Cras eget nibh est, eu imperdiet mauris. Nulla quis justo urna. Sed eu + rutrum mauris. Integer aliquet nulla sit amet ante mollis pellentesque. + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut varius + diam posuere quam molestie vestibulum. Vestibulum non volutpat elit. Integer + vitae felis eget magna rutrum sagittis. Nulla facilisi. Praesent a consectetur + velit. Cras eget nibh est, eu imperdiet mauris. Nulla quis justo urna. Sed eu + rutrum mauris. Integer aliquet nulla sit amet ante mollis pellentesque. + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut varius + diam posuere quam molestie vestibulum. Vestibulum non volutpat elit. Integer + vitae felis eget magna rutrum sagittis. Nulla facilisi. Praesent a consectetur + velit. Cras eget nibh est, eu imperdiet mauris. Nulla quis justo urna. Sed eu + rutrum mauris. Integer aliquet nulla sit amet ante mollis pellentesque. +

+ +

Getting Started

+ +

To set up Annotorious on a Web page, add this code to your page head:

+ +
<link type="text/css" rel="stylesheet" href="css/annotorious.css" />
+<script type="text/javascript" src="annotorious.min.js"></script>
+ +

Specify which images should be annotatable. There are two ways to do this:

+ +

Option 1: the annotatable CSS class

+

+ Add a CSS class called annotatable. On page load, Annotorious will + automatically scan your page for images with this class, and make them annotatable. + I'd always recommend using this approach, unless your page loads images dynamically, after + the page has loaded. + Example: +

+ +
<img src="example.jpg" class="annotatable" />
+ +

Option 2: Using JavaScript

+

+ Use the Annotorious JavaScript API to make images annotatable 'manually'. + Example: +

+ +
<script>
+  function init() {
+    anno.makeAnnotatable(document.getElementById('myImage'));
+  }
+</script>
+...        
+<body onload="init();">
+  <img src="example.jpg" id="myImage" />
+</body>
+ + +

And Next?

+

+ Once you got Annotorious working, you will likely want to integrate it + more deeply with your Website: control it through your own JavaScript, + listen to annotation create/update/delete events, store annotations on + a server, etc. Visit + the Wiki to learn more about Annotorious' JavaScript + API, how to use plugins, or program your own extensions. +

+ +

Hot-Linking to the Latest Annotorious Build

+

+ Instead of hosting the Annotorious JS & CSS files yourself, you may also + hot-link to the latest versions on the Annotorious site: +

+ +

+ http://annotorious.github.com/latest/annotorious.min.js
+ http://annotorious.github.com/latest/annotorious.css +

+
+ + diff --git a/node_modules/annotorious/example/highlight.js/LICENSE b/node_modules/annotorious/example/highlight.js/LICENSE new file mode 100644 index 0000000..422deb7 --- /dev/null +++ b/node_modules/annotorious/example/highlight.js/LICENSE @@ -0,0 +1,24 @@ +Copyright (c) 2006, Ivan Sagalaev +All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of highlight.js nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/node_modules/annotorious/example/highlight.js/highlight.pack.js b/node_modules/annotorious/example/highlight.js/highlight.pack.js new file mode 100644 index 0000000..4bdd48a --- /dev/null +++ b/node_modules/annotorious/example/highlight.js/highlight.pack.js @@ -0,0 +1 @@ +var hljs=new function(){function l(o){return o.replace(/&/gm,"&").replace(//gm,">")}function b(p){for(var o=p.firstChild;o;o=o.nextSibling){if(o.nodeName=="CODE"){return o}if(!(o.nodeType==3&&o.nodeValue.match(/\s+/))){break}}}function h(p,o){return Array.prototype.map.call(p.childNodes,function(q){if(q.nodeType==3){return o?q.nodeValue.replace(/\n/g,""):q.nodeValue}if(q.nodeName=="BR"){return"\n"}return h(q,o)}).join("")}function a(q){var p=(q.className+" "+q.parentNode.className).split(/\s+/);p=p.map(function(r){return r.replace(/^language-/,"")});for(var o=0;o"}while(x.length||v.length){var u=t().splice(0,1)[0];y+=l(w.substr(p,u.offset-p));p=u.offset;if(u.event=="start"){y+=s(u.node);r.push(u.node)}else{if(u.event=="stop"){var o,q=r.length;do{q--;o=r[q];y+=("")}while(o!=u.node);r.splice(q,1);while(q'+L[0]+""}else{r+=L[0]}N=A.lR.lastIndex;L=A.lR.exec(K)}return r+K.substr(N)}function z(){if(A.sL&&!e[A.sL]){return l(w)}var r=A.sL?d(A.sL,w):g(w);if(A.r>0){v+=r.keyword_count;B+=r.r}return''+r.value+""}function J(){return A.sL!==undefined?z():G()}function I(L,r){var K=L.cN?'':"";if(L.rB){x+=K;w=""}else{if(L.eB){x+=l(r)+K;w=""}else{x+=K;w=r}}A=Object.create(L,{parent:{value:A}});B+=L.r}function C(K,r){w+=K;if(r===undefined){x+=J();return 0}var L=o(r,A);if(L){x+=J();I(L,r);return L.rB?0:r.length}var M=s(A,r);if(M){if(!(M.rE||M.eE)){w+=r}x+=J();do{if(A.cN){x+=""}A=A.parent}while(A!=M.parent);if(M.eE){x+=l(r)}w="";if(M.starts){I(M.starts,"")}return M.rE?0:r.length}if(t(r,A)){throw"Illegal"}w+=r;return r.length||1}var F=e[D];f(F);var A=F;var w="";var B=0;var v=0;var x="";try{var u,q,p=0;while(true){A.t.lastIndex=p;u=A.t.exec(E);if(!u){break}q=C(E.substr(p,u.index-p),u[0]);p=u.index+q}C(E.substr(p));return{r:B,keyword_count:v,value:x,language:D}}catch(H){if(H=="Illegal"){return{r:0,keyword_count:0,value:l(E)}}else{throw H}}}function g(s){var o={keyword_count:0,r:0,value:l(s)};var q=o;for(var p in e){if(!e.hasOwnProperty(p)){continue}var r=d(p,s);r.language=p;if(r.keyword_count+r.r>q.keyword_count+q.r){q=r}if(r.keyword_count+r.r>o.keyword_count+o.r){q=o;o=r}}if(q.language){o.second_best=q}return o}function i(q,p,o){if(p){q=q.replace(/^((<[^>]+>|\t)+)/gm,function(r,v,u,t){return v.replace(/\t/g,p)})}if(o){q=q.replace(/\n/g,"
")}return q}function m(r,u,p){var v=h(r,p);var t=a(r);if(t=="no-highlight"){return}var w=t?d(t,v):g(v);t=w.language;var o=c(r);if(o.length){var q=document.createElement("pre");q.innerHTML=w.value;w.value=j(o,c(q),v)}w.value=i(w.value,u,p);var s=r.className;if(!s.match("(\\s|^)(language-)?"+t+"(\\s|$)")){s=s?(s+" "+t):t}r.innerHTML=w.value;r.className=s;r.result={language:t,kw:w.keyword_count,re:w.r};if(w.second_best){r.second_best={language:w.second_best.language,kw:w.second_best.keyword_count,re:w.second_best.r}}}function n(){if(n.called){return}n.called=true;Array.prototype.map.call(document.getElementsByTagName("pre"),b).filter(Boolean).forEach(function(o){m(o,hljs.tabReplace)})}function k(){window.addEventListener("DOMContentLoaded",n,false);window.addEventListener("load",n,false)}var e={};this.LANGUAGES=e;this.highlight=d;this.highlightAuto=g;this.fixMarkup=i;this.highlightBlock=m;this.initHighlighting=n;this.initHighlightingOnLoad=k;this.IR="[a-zA-Z][a-zA-Z0-9_]*";this.UIR="[a-zA-Z_][a-zA-Z0-9_]*";this.NR="\\b\\d+(\\.\\d+)?";this.CNR="(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)";this.BNR="\\b(0b[01]+)";this.RSR="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|\\.|-|-=|/|/=|:|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~";this.BE={b:"\\\\[\\s\\S]",r:0};this.ASM={cN:"string",b:"'",e:"'",i:"\\n",c:[this.BE],r:0};this.QSM={cN:"string",b:'"',e:'"',i:"\\n",c:[this.BE],r:0};this.CLCM={cN:"comment",b:"//",e:"$"};this.CBLCLM={cN:"comment",b:"/\\*",e:"\\*/"};this.HCM={cN:"comment",b:"#",e:"$"};this.NM={cN:"number",b:this.NR,r:0};this.CNM={cN:"number",b:this.CNR,r:0};this.BNM={cN:"number",b:this.BNR,r:0};this.inherit=function(q,r){var o={};for(var p in q){o[p]=q[p]}if(r){for(var p in r){o[p]=r[p]}}return o}}();hljs.LANGUAGES.javascript=function(a){return{k:{keyword:"in if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const",literal:"true false null undefined NaN Infinity"},c:[a.ASM,a.QSM,a.CLCM,a.CBLCLM,a.CNM,{b:"("+a.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return throw case",c:[a.CLCM,a.CBLCLM,{cN:"regexp",b:"/",e:"/[gim]*",i:"\\n",c:[{b:"\\\\/"}]},{b:"<",e:">;",sL:"xml"}],r:0},{cN:"function",bWK:true,e:"{",k:"function",c:[{cN:"title",b:"[A-Za-z$_][0-9A-Za-z$_]*"},{cN:"params",b:"\\(",e:"\\)",c:[a.CLCM,a.CBLCLM],i:"[\"'\\(]"}],i:"\\[|%"}]}}(hljs);hljs.LANGUAGES.xml=function(a){var c="[A-Za-z0-9\\._:-]+";var b={eW:true,c:[{cN:"attribute",b:c,r:0},{b:'="',rB:true,e:'"',c:[{cN:"value",b:'"',eW:true}]},{b:"='",rB:true,e:"'",c:[{cN:"value",b:"'",eW:true}]},{b:"=",c:[{cN:"value",b:"[^\\s/>]+"}]}]};return{cI:true,c:[{cN:"pi",b:"<\\?",e:"\\?>",r:10},{cN:"doctype",b:"",r:10,c:[{b:"\\[",e:"\\]"}]},{cN:"comment",b:"",r:10},{cN:"cdata",b:"<\\!\\[CDATA\\[",e:"\\]\\]>",r:10},{cN:"tag",b:"|$)",e:">",k:{title:"style"},c:[b],starts:{e:"",rE:true,sL:"css"}},{cN:"tag",b:"|$)",e:">",k:{title:"script"},c:[b],starts:{e:"<\/script>",rE:true,sL:"javascript"}},{b:"<%",e:"%>",sL:"vbscript"},{cN:"tag",b:"",c:[{cN:"title",b:"[^ />]+"},b]}]}}(hljs); \ No newline at end of file diff --git a/node_modules/annotorious/example/highlight.js/zenburn.css b/node_modules/annotorious/example/highlight.js/zenburn.css new file mode 100644 index 0000000..501d6c7 --- /dev/null +++ b/node_modules/annotorious/example/highlight.js/zenburn.css @@ -0,0 +1,115 @@ +/* + +Zenburn style from voldmar.ru (c) Vladimir Epifanov +based on dark.css by Ivan Sagalaev + +*/ + +pre code { + display: block; padding: 0.5em; + background: #3F3F3F; + color: #DCDCDC; +} + +pre .keyword, +pre .tag, +pre .css .class, +pre .css .id, +pre .lisp .title, +pre .nginx .title, +pre .request, +pre .status, +pre .clojure .attribute { + color: #E3CEAB; +} + +pre .django .template_tag, +pre .django .variable, +pre .django .filter .argument { + color: #DCDCDC; +} + +pre .number, +pre .date { + color: #8CD0D3; +} + +pre .dos .envvar, +pre .dos .stream, +pre .variable, +pre .apache .sqbracket { + color: #EFDCBC; +} + +pre .dos .flow, +pre .diff .change, +pre .python .exception, +pre .python .built_in, +pre .literal, +pre .tex .special { + color: #EFEFAF; +} + +pre .diff .chunk, +pre .subst { + color: #8F8F8F; +} + +pre .dos .keyword, +pre .python .decorator, +pre .title, +pre .haskell .type, +pre .diff .header, +pre .ruby .class .parent, +pre .apache .tag, +pre .nginx .built_in, +pre .tex .command, +pre .prompt { + color: #efef8f; +} + +pre .dos .winutils, +pre .ruby .symbol, +pre .ruby .symbol .string, +pre .ruby .string { + color: #DCA3A3; +} + +pre .diff .deletion, +pre .string, +pre .tag .value, +pre .preprocessor, +pre .built_in, +pre .sql .aggregate, +pre .javadoc, +pre .smalltalk .class, +pre .smalltalk .localvars, +pre .smalltalk .array, +pre .css .rules .value, +pre .attr_selector, +pre .pseudo, +pre .apache .cbracket, +pre .tex .formula { + color: #CC9393; +} + +pre .shebang, +pre .diff .addition, +pre .comment, +pre .java .annotation, +pre .template_comment, +pre .pi, +pre .doctype { + color: #7F9F7F; +} + +pre .coffeescript .javascript, +pre .javascript .xml, +pre .tex .formula, +pre .xml .javascript, +pre .xml .vbscript, +pre .xml .css, +pre .xml .cdata { + opacity: 0.5; +} + diff --git a/node_modules/annotorious/package.json b/node_modules/annotorious/package.json new file mode 100644 index 0000000..037ccc9 --- /dev/null +++ b/node_modules/annotorious/package.json @@ -0,0 +1,45 @@ +{ + "_from": "annotorious", + "_id": "annotorious@0.6.4", + "_inBundle": false, + "_integrity": "sha512-O3R6jkmYzuDtvoOj/7EZSrkwVfNPPOPQ4ug4UUlo4bhIRpgwCwlEPg0OX9RHbe6aYydPVK1Y2VTeZ/ERDBFQiQ==", + "_location": "/annotorious", + "_phantomChildren": {}, + "_requested": { + "type": "tag", + "registry": true, + "raw": "annotorious", + "name": "annotorious", + "escapedName": "annotorious", + "rawSpec": "", + "saveSpec": null, + "fetchSpec": "latest" + }, + "_requiredBy": [ + "#USER", + "/" + ], + "_resolved": "https://registry.npmjs.org/annotorious/-/annotorious-0.6.4.tgz", + "_shasum": "f6b7b16cff2d5147c94fa8a338ff7b3e1aea7880", + "_spec": "annotorious", + "_where": "/Users/yinghuihao/Documents/GitHub/annotorious", + "author": { + "name": "aaaxiu" + }, + "bundleDependencies": false, + "deprecated": false, + "description": "This is an image annotation tool that can also be used for openseadragon comments.", + "directories": { + "example": "example" + }, + "keywords": [ + "annotorious" + ], + "license": "ISC", + "main": "annotorious.min.js", + "name": "annotorious", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "version": "0.6.4" +} diff --git a/node_modules/annotorious/readme.md b/node_modules/annotorious/readme.md new file mode 100644 index 0000000..ec542e9 --- /dev/null +++ b/node_modules/annotorious/readme.md @@ -0,0 +1,9 @@ +# Annotorious + +> This is an image annotation tool that can also be used for openseadragon comments. + +### notice + +[http://annotorious.github.io/](http://annotorious.github.io/) + +> This is the official website of annotorious, I am not an author, I am just a communicator. \ No newline at end of file diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 48e341a..0000000 --- a/package-lock.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "lockfileVersion": 1 -} From 8683aa2ef61a2334946caa5cd38d47962b21eaf6 Mon Sep 17 00:00:00 2001 From: yinghuihao Date: Mon, 9 Dec 2019 11:28:08 -0800 Subject: [PATCH 3/4] add package json --- src/package.json | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 src/package.json diff --git a/src/package.json b/src/package.json new file mode 100644 index 0000000..a12cf89 --- /dev/null +++ b/src/package.json @@ -0,0 +1,4 @@ +{ + "name": "annotorious-vicky", + "version": "1.0.0" +} From d850b3d151529567e1a8ae24ea8ece27ad5a41d2 Mon Sep 17 00:00:00 2001 From: yinghuihao Date: Mon, 9 Dec 2019 11:29:19 -0800 Subject: [PATCH 4/4] MOVE PACKAGE JSON --- src/package.json => package.json | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/package.json => package.json (100%) diff --git a/src/package.json b/package.json similarity index 100% rename from src/package.json rename to package.json