2014-01-17 07:03:43 -08:00
// Copyright 2011-2014 Software Freedom Conservancy
//
// 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.
2012-05-21 04:12:37 -07:00
2012-04-10 17:28:08 -07:00
//clearElement
var clearElement = function ( ) { return function ( ) { function g ( a ) { throw a ; } var h = void 0 , i = ! 0 , k = null , l = ! 1 ; function n ( a ) { return function ( ) { return this [ a ] } } function o ( a ) { return function ( ) { return a } } var p , q = this ;
function aa ( 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 r ( a ) { return a !== h } function ba ( a ) { var b = aa ( a ) ; return "array" == b || "object" == b && "number" == typeof a . length } function t ( a ) { return "string" == typeof a } function w ( a ) { return "function" == aa ( a ) } function ca ( a ) { a = aa ( a ) ; return "object" == a || "array" == a || "function" == a } var da = "closure_uid_" + Math . floor ( 2147483648 * Math . random ( ) ) . toString ( 36 ) , ea = 0 , fa = Date . now || function ( ) { return + new Date } ;
function x ( a , b ) { function c ( ) { } c . prototype = b . prototype ; a . $ = b . prototype ; a . prototype = new c } ; function ga ( a , b ) { for ( var c = 1 ; c < arguments . length ; c ++ ) var d = ( "" + arguments [ c ] ) . replace ( /\$/g , "$$$$" ) , a = a . replace ( /\%s/ , d ) ; return a } function ha ( a ) { return a . replace ( /^[\s\xa0]+|[\s\xa0]+$/g , "" ) } function ia ( a ) { if ( ! ja . test ( a ) ) return a ; - 1 != a . indexOf ( "&" ) && ( a = a . replace ( ka , "&" ) ) ; - 1 != a . indexOf ( "<" ) && ( a = a . replace ( la , "<" ) ) ; - 1 != a . indexOf ( ">" ) && ( a = a . replace ( ma , ">" ) ) ; - 1 != a . indexOf ( '"' ) && ( a = a . replace ( na , """ ) ) ; return a } var ka = /&/g , la = /</g , ma = />/g , na = /\"/g , ja = /[&<>\"]/ ;
function oa ( a , b ) { for ( var c = 0 , d = ha ( "" + a ) . split ( "." ) , e = ha ( "" + b ) . split ( "." ) , f = Math . max ( d . length , e . length ) , j = 0 ; 0 == c && j < f ; j ++ ) { var m = d [ j ] || "" , s = e [ j ] || "" , O = RegExp ( "(\\d*)(\\D*)" , "g" ) , E = RegExp ( "(\\d*)(\\D*)" , "g" ) ; do { var u = O . exec ( m ) || [ "" , "" , "" ] , v = E . exec ( s ) || [ "" , "" , "" ] ; if ( 0 == u [ 0 ] . length && 0 == v [ 0 ] . length ) break ; c = ( ( 0 == u [ 1 ] . length ? 0 : parseInt ( u [ 1 ] , 10 ) ) < ( 0 == v [ 1 ] . length ? 0 : parseInt ( v [ 1 ] , 10 ) ) ? - 1 : ( 0 == u [ 1 ] . length ? 0 : parseInt ( u [ 1 ] , 10 ) ) > ( 0 == v [ 1 ] . length ? 0 : parseInt ( v [ 1 ] , 10 ) ) ? 1 : 0 ) || ( ( 0 == u [ 2 ] . length ) < ( 0 == v [ 2 ] . length ) ? - 1 : ( 0 ==
u [ 2 ] . length ) > ( 0 == v [ 2 ] . length ) ? 1 : 0 ) || ( u [ 2 ] < v [ 2 ] ? - 1 : u [ 2 ] > v [ 2 ] ? 1 : 0 ) } while ( 0 == c ) } return c } var pa = 2147483648 * Math . random ( ) | 0 , qa = { } ; function ra ( a ) { return qa [ a ] || ( qa [ a ] = ( "" + a ) . replace ( /\-([a-z])/g , function ( a , c ) { return c . toUpperCase ( ) } ) ) } ; var sa , ta ; function ua ( ) { return q . navigator ? q . navigator . userAgent : k } var va , wa = q . navigator ; va = wa && wa . platform || "" ; sa = - 1 != va . indexOf ( "Mac" ) ; ta = - 1 != va . indexOf ( "Win" ) ; var xa = - 1 != va . indexOf ( "Linux" ) , ya , za = "" , Aa = /rv\:([^\);]+)(\)|;)/ . exec ( ua ( ) ) ; ya = za = Aa ? Aa [ 1 ] : "" ; var Ba = { } ; var Ca = window ; function Da ( a , b ) { for ( var c in a ) b . call ( h , a [ c ] , c , a ) } function Ea ( a ) { var b = [ ] , c = 0 , d ; for ( d in a ) b [ c ++ ] = a [ d ] ; return b } ; function y ( a , b ) { this . code = a ; this . message = b || "" ; this . name = Fa [ a ] || Fa [ 13 ] ; var c = Error ( this . message ) ; c . name = this . name ; this . stack = c . stack || "" } x ( y , Error ) ;
var Fa = { 7 : "NoSuchElementError" , 8 : "NoSuchFrameError" , 9 : "UnknownCommandError" , 10 : "StaleElementReferenceError" , 11 : "ElementNotVisibleError" , 12 : "InvalidElementStateError" , 13 : "UnknownError" , 15 : "ElementNotSelectableError" , 19 : "XPathLookupError" , 23 : "NoSuchWindowError" , 24 : "InvalidCookieDomainError" , 25 : "UnableToSetCookieError" , 26 : "ModalDialogOpenedError" , 27 : "NoModalDialogOpenError" , 28 : "ScriptTimeoutError" , 32 : "InvalidSelectorError" , 33 : "SqlDatabaseError" , 34 : "MoveTargetOutOfBoundsError" } ;
y . prototype . toString = function ( ) { return "[" + this . name + "] " + this . message } ; function Ga ( a ) { this . stack = Error ( ) . stack || "" ; a && ( this . message = "" + a ) } x ( Ga , Error ) ; Ga . prototype . name = "CustomError" ; function Ha ( a , b ) { b . unshift ( a ) ; Ga . call ( this , ga . apply ( k , b ) ) ; b . shift ( ) } x ( Ha , Ga ) ; Ha . prototype . name = "AssertionError" ; function Ia ( a , b , c ) { if ( ! a ) { var d = Array . prototype . slice . call ( arguments , 2 ) , e = "Assertion failed" ; if ( b ) var e = e + ( ": " + b ) , f = d ; g ( new Ha ( "" + e , f || [ ] ) ) } } function Ja ( a , b ) { g ( new Ha ( "Failure" + ( a ? ": " + a : "" ) , Array . prototype . slice . call ( arguments , 1 ) ) ) } ; function z ( a ) { return a [ a . length - 1 ] } var Ka = Array . prototype ; function A ( a , b ) { if ( t ( a ) ) return ! t ( b ) || 1 != b . length ? - 1 : a . indexOf ( b , 0 ) ; for ( var c = 0 ; c < a . length ; c ++ ) if ( c in a && a [ c ] === b ) return c ; return - 1 } function La ( a , b ) { for ( var c = a . length , d = t ( a ) ? a . split ( "" ) : a , e = 0 ; e < c ; e ++ ) e in d && b . call ( h , d [ e ] , e , a ) } function Ma ( a , b ) { for ( var c = a . length , d = Array ( c ) , e = t ( a ) ? a . split ( "" ) : a , f = 0 ; f < c ; f ++ ) f in e && ( d [ f ] = b . call ( h , e [ f ] , f , a ) ) ; return d }
function Na ( a , b , c ) { for ( var d = a . length , e = t ( a ) ? a . split ( "" ) : a , f = 0 ; f < d ; f ++ ) if ( f in e && b . call ( c , e [ f ] , f , a ) ) return i ; return l } function Oa ( a , b , c ) { for ( var d = a . length , e = t ( a ) ? a . split ( "" ) : a , f = 0 ; f < d ; f ++ ) if ( f in e && ! b . call ( c , e [ f ] , f , a ) ) return l ; return i } function Pa ( a , b ) { var c ; a : { c = a . length ; for ( var d = t ( a ) ? a . split ( "" ) : a , e = 0 ; e < c ; e ++ ) if ( e in d && b . call ( h , d [ e ] , e , a ) ) { c = e ; break a } c = - 1 } return 0 > c ? k : t ( a ) ? a . charAt ( c ) : a [ c ] } function Qa ( a ) { return Ka . concat . apply ( Ka , arguments ) }
function Ra ( a ) { if ( "array" == aa ( a ) ) return Qa ( a ) ; for ( var b = [ ] , c = 0 , d = a . length ; c < d ; c ++ ) b [ c ] = a [ c ] ; return b } function Sa ( a , b , c ) { Ia ( a . length != k ) ; return 2 >= arguments . length ? Ka . slice . call ( a , b ) : Ka . slice . call ( a , b , c ) } ; var Ta ; Ba [ "1.9.1" ] || ( Ba [ "1.9.1" ] = 0 <= oa ( ya , "1.9.1" ) ) ; function Ua ( a , b ) { var c ; c = ( c = a . className ) && "function" == typeof c . split ? c . split ( /\s+/ ) : [ ] ; var d = Sa ( arguments , 1 ) , e ; e = c ; for ( var f = 0 , j = 0 ; j < d . length ; j ++ ) 0 <= A ( e , d [ j ] ) || ( e . push ( d [ j ] ) , f ++ ) ; e = f == d . length ; a . className = c . join ( " " ) ; return e } ; function B ( a , b ) { this . x = r ( a ) ? a : 0 ; this . y = r ( b ) ? b : 0 } B . prototype . toString = function ( ) { return "(" + this . x + ", " + this . y + ")" } ; function Va ( a , b ) { this . width = a ; this . height = b } Va . prototype . toString = function ( ) { return "(" + this . width + " x " + this . height + ")" } ; Va . prototype . floor = function ( ) { this . width = Math . floor ( this . width ) ; this . height = Math . floor ( this . height ) ; return this } ; Va . prototype . scale = function ( a ) { this . width *= a ; this . height *= a ; return this } ; var C = 3 ; function Wa ( a ) { return a ? new Xa ( D ( a ) ) : Ta || ( Ta = new Xa ) } function Ya ( a , b ) { Da ( b , function ( b , d ) { "style" == d ? a . style . cssText = b : "class" == d ? a . className = b : "for" == d ? a . htmlFor = b : d in Za ? a . setAttribute ( Za [ d ] , b ) : 0 == d . lastIndexOf ( "aria-" , 0 ) ? a . setAttribute ( d , b ) : a [ d ] = b } ) } var Za = { cellpadding : "cellPadding" , cellspacing : "cellSpacing" , colspan : "colSpan" , rowspan : "rowSpan" , valign : "vAlign" , height : "height" , width : "width" , usemap : "useMap" , frameborder : "frameBorder" , maxlength : "maxLength" , type : "type" } ;
function F ( a ) { return a ? a . parentWindow || a . defaultView : window } function $a ( a , b , c ) { function d ( c ) { c && b . appendChild ( t ( c ) ? a . createTextNode ( c ) : c ) } for ( var e = 2 ; e < c . length ; e ++ ) { var f = c [ e ] ; ba ( f ) && ! ( ca ( f ) && 0 < f . nodeType ) ? La ( ab ( f ) ? Ra ( f ) : f , d ) : d ( f ) } } function bb ( a ) { return a && a . parentNode ? a . parentNode . removeChild ( a ) : k }
function G ( a , b ) { if ( a . contains && 1 == b . nodeType ) return a == b || a . contains ( b ) ; if ( "undefined" != typeof a . compareDocumentPosition ) return a == b || Boolean ( a . compareDocumentPosition ( b ) & 16 ) ; for ( ; b && a != b ; ) b = b . parentNode ; return b == a }
function cb ( a , b ) { if ( a == b ) return 0 ; if ( a . compareDocumentPosition ) return a . compareDocumentPosition ( b ) & 2 ? 1 : - 1 ; if ( "sourceIndex" in a || a . parentNode && "sourceIndex" in a . parentNode ) { var c = 1 == a . nodeType , d = 1 == b . nodeType ; if ( c && d ) return a . sourceIndex - b . sourceIndex ; var e = a . parentNode , f = b . parentNode ; return e == f ? db ( a , b ) : ! c && G ( e , b ) ? - 1 * eb ( a , b ) : ! d && G ( f , a ) ? eb ( b , a ) : ( c ? a . sourceIndex : e . sourceIndex ) - ( d ? b . sourceIndex : f . sourceIndex ) } d = D ( a ) ; c = d . createRange ( ) ; c . selectNode ( a ) ; c . collapse ( i ) ; d = d . createRange ( ) ; d . selectNode ( b ) ; d . collapse ( i ) ;
return c . compareBoundaryPoints ( q . Range . START _TO _END , d ) } function eb ( a , b ) { var c = a . parentNode ; if ( c == b ) return - 1 ; for ( var d = b ; d . parentNode != c ; ) d = d . parentNode ; return db ( d , a ) } function db ( a , b ) { for ( var c = b ; c = c . previousSibling ; ) if ( c == a ) return - 1 ; return 1 }
function fb ( a ) { var b , c = arguments . length ; if ( c ) { if ( 1 == c ) return arguments [ 0 ] } else return k ; var d = [ ] , e = Infinity ; for ( b = 0 ; b < c ; b ++ ) { for ( var f = [ ] , j = arguments [ b ] ; j ; ) f . unshift ( j ) , j = j . parentNode ; d . push ( f ) ; e = Math . min ( e , f . length ) } f = k ; for ( b = 0 ; b < e ; b ++ ) { for ( var j = d [ 0 ] [ b ] , m = 1 ; m < c ; m ++ ) if ( j != d [ m ] [ b ] ) return f ; f = j } return f } function D ( a ) { return 9 == a . nodeType ? a : a . ownerDocument || a . document } function gb ( a , b ) { var c = [ ] ; return hb ( a , b , c , i ) ? c [ 0 ] : h }
function hb ( a , b , c , d ) { if ( a != k ) for ( a = a . firstChild ; a ; ) { if ( b ( a ) && ( c . push ( a ) , d ) || hb ( a , b , c , d ) ) return i ; a = a . nextSibling } return l } var ib = { SCRIPT : 1 , STYLE : 1 , HEAD : 1 , IFRAME : 1 , OBJECT : 1 } , jb = { IMG : " " , BR : "\n" } ; function kb ( a , b , c ) { if ( ! ( a . nodeName in ib ) ) if ( a . nodeType == C ) c ? b . push ( ( "" + a . nodeValue ) . replace ( /(\r\n|\r|\n)/g , "" ) ) : b . push ( a . nodeValue ) ; else if ( a . nodeName in jb ) b . push ( jb [ a . nodeName ] ) ; else for ( a = a . firstChild ; a ; ) kb ( a , b , c ) , a = a . nextSibling }
function ab ( a ) { if ( a && "number" == typeof a . length ) { if ( ca ( a ) ) return "function" == typeof a . item || "string" == typeof a . item ; if ( w ( a ) ) return "function" == typeof a . item } return l } function lb ( a , b ) { for ( var a = a . parentNode , c = 0 ; a ; ) { if ( b ( a ) ) return a ; a = a . parentNode ; c ++ } return k } function Xa ( a ) { this . v = a || q . document || document } p = Xa . prototype ; p . ea = n ( "v" ) ; p . z = function ( a ) { return t ( a ) ? this . v . getElementById ( a ) : a } ;
p . da = function ( a , b , c ) { var d = this . v , e = arguments , f = e [ 1 ] , j = d . createElement ( e [ 0 ] ) ; f && ( t ( f ) ? j . className = f : "array" == aa ( f ) ? Ua . apply ( k , [ j ] . concat ( f ) ) : Ya ( j , f ) ) ; 2 < e . length && $a ( d , j , e ) ; return j } ; p . createElement = function ( a ) { return this . v . createElement ( a ) } ; p . createTextNode = function ( a ) { return this . v . createTextNode ( a ) } ; p . qa = function ( ) { return this . v . parentWindow || this . v . defaultView } ;
function mb ( a ) { var b = a . v , a = "CSS1Compat" == b . compatMode ? b . documentElement : b . body , b = b . parentWindow || b . defaultView ; return new B ( b . pageXOffset || a . scrollLeft , b . pageYOffset || a . scrollTop ) } p . appendChild = function ( a , b ) { a . appendChild ( b ) } ; p . removeNode = bb ; p . contains = G ; var H = { } ; H . ya = function ( ) { var a = { Oa : "http://www.w3.org/2000/svg" } ; return function ( b ) { return a [ b ] || k } } ( ) ; H . ma = function ( a , b , c ) { var d = D ( a ) ; if ( ! d . implementation . hasFeature ( "XPath" , "3.0" ) ) return k ; try { var e = d . createNSResolver ? d . createNSResolver ( d . documentElement ) : H . ya ; return d . evaluate ( b , a , e , c , k ) } catch ( f ) { "NS_ERROR_ILLEGAL_VALUE" != f . name && g ( new y ( 32 , "Unable to locate an element with the xpath expression " + b + " because of the following error:\n" + f ) ) } } ;
H . ka = function ( a , b ) { ( ! a || 1 != a . nodeType ) && g ( new y ( 32 , 'The result of the xpath expression "' + b + '" is: ' + a + ". It should be an element." ) ) } ; H . Ia = function ( a , b ) { var c = function ( ) { var c = H . ma ( b , a , 9 ) ; return c ? c . singleNodeValue || k : b . selectSingleNode ? ( c = D ( b ) , c . setProperty && c . setProperty ( "SelectionLanguage" , "XPath" ) , b . selectSingleNode ( a ) ) : k } ( ) ; c === k || H . ka ( c , a ) ; return c } ;
H . Na = function ( a , b ) { var c = function ( ) { var c = H . ma ( b , a , 7 ) ; if ( c ) { for ( var e = c . snapshotLength , f = [ ] , j = 0 ; j < e ; ++ j ) f . push ( c . snapshotItem ( j ) ) ; return f } return b . selectNodes ? ( c = D ( b ) , c . setProperty && c . setProperty ( "SelectionLanguage" , "XPath" ) , b . selectNodes ( a ) ) : [ ] } ( ) ; La ( c , function ( b ) { H . ka ( b , a ) } ) ; return c } ; var nb , ob = "" , pb = /Firefox\/([0-9.]+)/ . exec ( ua ( ) ) ; nb = ob = pb ? pb [ 2 ] || pb [ 1 ] : "" ; var qb = k , rb = function ( ) { var a = q . Components ; if ( ! a ) return l ; try { if ( ! a . classes ) return l } catch ( b ) { return l } var c = a . classes , a = a . interfaces , d = c [ "@mozilla.org/xpcom/version-comparator;1" ] . getService ( a . nsIVersionComparator ) , e = c [ "@mozilla.org/xre/app-info;1" ] . getService ( a . nsIXULAppInfo ) . version ; qb = function ( a ) { return 0 <= d . Ka ( e , "" + a ) } ; return i } ( ) ; var I = "StopIteration" in q ? q . StopIteration : Error ( "StopIteration" ) ; function J ( ) { } J . prototype . next = function ( ) { g ( I ) } ; J . prototype . r = function ( ) { return this } ; function sb ( a ) { if ( a instanceof J ) return a ; if ( "function" == typeof a . r ) return a . r ( l ) ; if ( ba ( a ) ) { var b = 0 , c = new J ; c . next = function ( ) { for ( ; ; ) { b >= a . length && g ( I ) ; if ( b in a ) return a [ b ++ ] ; b ++ } } ; return c } g ( Error ( "Not implemented" ) ) } ; function K ( a , b , c , d , e ) { this . o = ! ! b ; a && L ( this , a , d ) ; this . depth = e != h ? e : this . q || 0 ; this . o && ( this . depth *= - 1 ) ; this . za = ! c } x ( K , J ) ; p = K . prototype ; p . p = k ; p . q = 0 ; p . ha = l ; function L ( a , b , c , d ) { if ( a . p = b ) a . q = "number" == typeof c ? c : 1 != a . p . nodeType ? 0 : a . o ? - 1 : 1 ; "number" == typeof d && ( a . depth = d ) }
p . next = function ( ) { var a ; if ( this . ha ) { ( ! this . p || this . za && 0 == this . depth ) && g ( I ) ; a = this . p ; var b = this . o ? - 1 : 1 ; if ( this . q == b ) { var c = this . o ? a . lastChild : a . firstChild ; c ? L ( this , c ) : L ( this , a , - 1 * b ) } else ( c = this . o ? a . previousSibling : a . nextSibling ) ? L ( this , c ) : L ( this , a . parentNode , - 1 * b ) ; this . depth += this . q * ( this . o ? - 1 : 1 ) } else this . ha = i ; ( a = this . p ) || g ( I ) ; return a } ;
p . splice = function ( a ) { var b = this . p , c = this . o ? 1 : - 1 ; this . q == c && ( this . q = - 1 * c , this . depth += this . q * ( this . o ? - 1 : 1 ) ) ; this . o = ! this . o ; K . prototype . next . call ( this ) ; this . o = ! this . o ; for ( var c = ba ( arguments [ 0 ] ) ? arguments [ 0 ] : arguments , d = c . length - 1 ; 0 <= d ; d -- ) b . parentNode && b . parentNode . insertBefore ( c [ d ] , b . nextSibling ) ; bb ( b ) } ; function tb ( a , b , c , d ) { K . call ( this , a , b , c , k , d ) } x ( tb , K ) ; tb . prototype . next = function ( ) { do tb . $ . next . call ( this ) ; while ( - 1 == this . q ) ; return this . p } ; function ub ( a , b ) { var c = D ( a ) ; return c . defaultView && c . defaultView . getComputedStyle && ( c = c . defaultView . getComputedStyle ( a , k ) ) ? c [ b ] || c . getPropertyValue ( b ) : "" } function vb ( a , b ) { return ub ( a , b ) || ( a . currentStyle ? a . currentStyle [ b ] : k ) || a . style && a . style [ b ] }
function wb ( a ) { for ( var b = D ( a ) , c = vb ( a , "position" ) , d = "fixed" == c || "absolute" == c , a = a . parentNode ; a && a != b ; a = a . parentNode ) if ( c = vb ( 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 k }
function xb ( a ) { var b = new B ; if ( 1 == a . nodeType ) if ( a . getBoundingClientRect ) a = a . getBoundingClientRect ( ) , b . x = a . left , b . y = a . top ; else { var c = mb ( Wa ( a ) ) ; var d , e = D ( a ) , f = vb ( a , "position" ) , j = e . getBoxObjectFor && ! a . getBoundingClientRect && "absolute" == f && ( d = e . getBoxObjectFor ( a ) ) && ( 0 > d . screenX || 0 > d . screenY ) , f = new B ( 0 , 0 ) , m = ( e ? 9 == e . nodeType ? e : D ( e ) : document ) . documentElement ; if ( a != m ) if ( a . getBoundingClientRect ) d = a . getBoundingClientRect ( ) , a = mb ( Wa ( e ) ) , f . x = d . left + a . x , f . y = d . top + a . y ; else if ( e . getBoxObjectFor && ! j ) d = e . getBoxObjectFor ( a ) ,
a = e . getBoxObjectFor ( m ) , f . x = d . screenX - a . screenX , f . y = d . screenY - a . screenY ; else { d = a ; do f . x += d . offsetLeft , f . y += d . offsetTop , d != a && ( f . x += d . clientLeft || 0 , f . y += d . clientTop || 0 ) , d = d . offsetParent ; while ( d && d != a ) ; for ( d = a ; ( d = wb ( d ) ) && d != e . body && d != m ; ) f . x -= d . scrollLeft , f . y -= d . scrollTop } b . x = f . x - c . x ; b . y = f . y - c . y } else c = w ( a . pa ) , d = a , a . targetTouches ? d = a . targetTouches [ 0 ] : c && a . pa ( ) . targetTouches && ( d = a . pa ( ) . targetTouches [ 0 ] ) , b . x = d . clientX , b . y = d . clientY ; return b }
function yb ( a ) { var b = a . offsetWidth , c = a . offsetHeight ; return ! r ( b ) && a . getBoundingClientRect ? ( a = a . getBoundingClientRect ( ) , new Va ( a . right - a . left , a . bottom - a . top ) ) : new Va ( b , c ) } ; function M ( a , b ) { return ! ! a && 1 == a . nodeType && ( ! b || a . tagName . toUpperCase ( ) == b ) } var zb = { "class" : "className" , readonly : "readOnly" } , Ab = [ "checked" , "disabled" , "draggable" , "hidden" ] ; function Bb ( a , b ) { var c = zb [ b ] || b , d = a [ c ] ; if ( ! r ( d ) && 0 <= A ( Ab , c ) ) return l ; if ( c = "value" == b ) if ( c = M ( a , "OPTION" ) ) { var e ; c = b . toLowerCase ( ) ; if ( a . hasAttribute ) e = a . hasAttribute ( c ) ; else try { e = a . attributes [ c ] . specified } catch ( f ) { e = l } c = ! e } c && ( d = [ ] , kb ( a , d , l ) , d = d . join ( "" ) ) ; return d }
var Cb = "async,autofocus,autoplay,checked,compact,complete,controls,declare,defaultchecked,defaultselected,defer,disabled,draggable,ended,formnovalidate,hidden,indeterminate,iscontenteditable,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,paused,pubdate,readonly,required,reversed,scoped,seamless,seeking,selected,spellcheck,truespeed,willvalidate" . split ( "," ) , Db = "BUTTON,INPUT,OPTGROUP,OPTION,SELECT,TEXTAREA" . split ( "," ) ;
function Eb ( a ) { var b = a . tagName . toUpperCase ( ) ; return ! ( 0 <= A ( Db , b ) ) ? i : Bb ( a , "disabled" ) ? l : a . parentNode && 1 == a . parentNode . nodeType && "OPTGROUP" == b || "OPTION" == b ? Eb ( a . parentNode ) : i } var Fb = "text,search,tel,url,email,password,number" . split ( "," ) ; function Gb ( a ) { return M ( a , "TEXTAREA" ) ? i : M ( a , "INPUT" ) ? 0 <= A ( Fb , a . type . toLowerCase ( ) ) : Hb ( a ) ? i : l }
function Hb ( a ) { function b ( a ) { return "inherit" == a . contentEditable ? ( a = Ib ( a ) ) ? b ( a ) : l : "true" == a . contentEditable } return ! r ( a . contentEditable ) ? l : r ( a . isContentEditable ) ? a . isContentEditable : b ( a ) } function Ib ( a ) { for ( a = a . parentNode ; a && 1 != a . nodeType && 9 != a . nodeType && 11 != a . nodeType ; ) a = a . parentNode ; return M ( a ) ? a : k } function Jb ( a , b ) { b = ra ( b ) ; return ub ( a , b ) || Kb ( a , b ) }
function Kb ( a , b ) { var c = a . currentStyle || a . style , d = c [ b ] ; ! r ( d ) && w ( c . getPropertyValue ) && ( d = c . getPropertyValue ( b ) ) ; return "inherit" != d ? r ( d ) ? d : k : ( c = Ib ( a ) ) ? Kb ( c , b ) : k } function Lb ( a ) { if ( w ( a . getBBox ) ) try { var b = a . getBBox ( ) ; if ( b ) return b } catch ( c ) { } if ( "none" != vb ( a , "display" ) ) a = yb ( a ) ; else { var b = a . style , d = b . display , e = b . visibility , f = b . position ; b . visibility = "hidden" ; b . position = "absolute" ; b . display = "inline" ; a = yb ( a ) ; b . display = d ; b . position = f ; b . visibility = e } return a }
function Mb ( a , b ) { function c ( a ) { if ( "none" == Jb ( a , "display" ) ) return l ; a = Ib ( a ) ; return ! a || c ( a ) } function d ( a ) { var b = Lb ( a ) ; return 0 < b . height && 0 < b . width ? i : Na ( a . childNodes , function ( a ) { return a . nodeType == C || M ( a ) && d ( a ) } ) } function e ( a ) { var b = Ib ( a ) ; if ( b && "hidden" == Jb ( b , "overflow" ) ) { var c = Lb ( b ) , d = xb ( b ) , a = xb ( a ) ; return d . x + c . width < a . x || d . y + c . height < a . y ? l : e ( b ) } return i } M ( a ) || g ( Error ( "Argument to isShown must be of type Element" ) ) ; if ( M ( a , "OPTION" ) || M ( a , "OPTGROUP" ) ) { var f = lb ( a , function ( a ) { return M ( a , "SELECT" ) } ) ; return ! ! f &&
Mb ( f , i ) } if ( M ( a , "MAP" ) ) { if ( ! a . name ) return l ; f = D ( a ) ; f = f . evaluate ? H . Ia ( '/descendant::*[@usemap = "#' + a . name + '"]' , f ) : gb ( f , function ( b ) { var c ; if ( c = M ( b ) ) 8 == b . nodeType ? b = k : ( c = "usemap" , "style" == c ? ( b = ha ( b . style . cssText ) . toLowerCase ( ) , b = ";" == b . charAt ( b . length - 1 ) ? b : b + ";" ) : ( b = b . getAttributeNode ( c ) , b = ! b ? k : 0 <= A ( Cb , c ) ? "true" : b . specified ? b . value : k ) ) , c = b == "#" + a . name ; return c } ) ; return ! ! f && Mb ( f , b ) } return M ( a , "AREA" ) ? ( f = lb ( a , function ( a ) { return M ( a , "MAP" ) } ) , ! ! f && Mb ( f , b ) ) : M ( a , "INPUT" ) && "hidden" == a . type . toLowerCase ( ) || M ( a ,
"NOSCRIPT" ) || "hidden" == Jb ( a , "visibility" ) || ! c ( a ) || ! b && 0 == Nb ( a ) || ! d ( a ) || ! e ( a ) ? l : i } function Nb ( a ) { var b = 1 , c = Jb ( a , "opacity" ) ; c && ( b = Number ( c ) ) ; ( a = Ib ( a ) ) && ( b *= Nb ( a ) ) ; return b } ; function N ( ) { this . w = Ca . document . documentElement ; this . ua = k ; var a = D ( this . w ) . activeElement ; a && Ob ( this , a ) } N . prototype . z = n ( "w" ) ; function Ob ( a , b ) { a . w = b ; a . ua = M ( b , "OPTION" ) ? lb ( b , function ( a ) { return M ( a , "SELECT" ) } ) : k }
function Pb ( a , b , c , d , e , f ) { function j ( a , c ) { var d = { identifier : a , screenX : c . x , screenY : c . y , clientX : c . x , clientY : c . y , pageX : c . x , pageY : c . y } ; m . changedTouches . push ( d ) ; if ( b == Qb || b == Rb ) m . touches . push ( d ) , m . targetTouches . push ( d ) } var m = { touches : [ ] , targetTouches : [ ] , changedTouches : [ ] , altKey : l , ctrlKey : l , shiftKey : l , metaKey : l , relatedTarget : k , scale : 0 , rotation : 0 } ; j ( c , d ) ; r ( e ) && j ( e , f ) ; Sb ( a . w , b , m ) } rb && rb && ( rb ? qb ( 4 ) : oa ( nb , 4 ) ) ; rb && ( rb ? qb ( 4 ) : oa ( nb , 4 ) ) ; function P ( a , b , c ) { this . J = a ; this . S = b ; this . T = c } P . prototype . create = function ( a ) { a = D ( a ) . createEvent ( "HTMLEvents" ) ; a . initEvent ( this . J , this . S , this . T ) ; return a } ; P . prototype . toString = n ( "J" ) ; function Q ( a , b , c ) { P . call ( this , a , b , c ) } x ( Q , P ) ;
Q . prototype . create = function ( a , b ) { var c = D ( a ) , d = F ( c ) , c = c . createEvent ( "MouseEvents" ) , e = 1 ; this == Tb && ( e = b . wheelDelta / - 40 ) ; this == Ub && ( e = b . wheelDelta ) ; c . initMouseEvent ( this . J , this . S , this . T , d , e , 0 , 0 , b . clientX , b . clientY , b . ctrlKey , b . altKey , b . shiftKey , b . metaKey , b . button , b . relatedTarget ) ; return c } ; function Vb ( a , b , c ) { P . call ( this , a , b , c ) } x ( Vb , P ) ;
Vb . prototype . create = function ( a , b ) { var c = D ( a ) , d = F ( c ) , e = b . charCode ? 0 : b . keyCode , c = c . createEvent ( "KeyboardEvent" ) ; c . initKeyEvent ( this . J , this . S , this . T , d , b . ctrlKey , b . altKey , b . shiftKey , b . metaKey , e , b . charCode ) ; this . J == Wb && b . preventDefault && c . preventDefault ( ) ; return c } ; function Xb ( a , b , c ) { P . call ( this , a , b , c ) } x ( Xb , P ) ;
Xb . prototype . create = function ( a , b ) { function c ( b ) { var c = Ma ( b , function ( b ) { return { identifier : b . identifier , screenX : b . screenX , screenY : b . screenY , clientX : b . clientX , clientY : b . clientY , pageX : b . pageX , pageY : b . pageY , target : a } } ) ; c . item = function ( a ) { return c [ a ] } ; return c } var d = D ( a ) , e = F ( d ) , f = c ( b . changedTouches ) , j = b . touches == b . changedTouches ? f : c ( b . touches ) , m = b . targetTouches == b . changedTouches ? f : c ( b . targetTouches ) , d = d . createEvent ( "MouseEvents" ) ; d . initMouseEvent ( this . J , this . S , this . T , e , 1 , 0 , 0 , b . clientX , b . clientY , b . ctrlKey ,
b . altKey , b . shiftKey , b . metaKey , 0 , b . relatedTarget ) ; d . touches = j ; d . targetTouches = m ; d . changedTouches = f ; d . scale = b . scale ; d . rotation = b . rotation ; return d } ;
var Yb = new P ( "change" , i , l ) , Zb = new Q ( "click" , i , i ) , $b = new Q ( "contextmenu" , i , i ) , ac = new Q ( "dblclick" , i , i ) , bc = new Q ( "mousedown" , i , i ) , cc = new Q ( "mousemove" , i , l ) , dc = new Q ( "mouseout" , i , i ) , ec = new Q ( "mouseover" , i , i ) , fc = new Q ( "mouseup" , i , i ) , Tb = new Q ( "DOMMouseScroll" , i , i ) , Ub = new Q ( "MozMousePixelScroll" , i , i ) , Wb = new Vb ( "keypress" , i , i ) , Rb = new Xb ( "touchmove" , i , i ) , Qb = new Xb ( "touchstart" , i , i ) ; function Sb ( a , b , c ) { b = b . create ( a , c ) ; "isTrusted" in b || ( b . La = l ) ; a . dispatchEvent ( b ) } ; function gc ( a ) { if ( "function" == typeof a . L ) return a . L ( ) ; if ( t ( a ) ) return a . split ( "" ) ; if ( ba ( a ) ) { for ( var b = [ ] , c = a . length , d = 0 ; d < c ; d ++ ) b . push ( a [ d ] ) ; return b } return Ea ( a ) } ; function hc ( a , b ) { this . n = { } ; this . ta = { } ; var c = arguments . length ; if ( 1 < c ) { c % 2 && g ( Error ( "Uneven number of arguments" ) ) ; for ( var d = 0 ; d < c ; d += 2 ) this . set ( arguments [ d ] , arguments [ d + 1 ] ) } else a && this . aa ( a ) } p = hc . prototype ; p . ia = 0 ; p . L = function ( ) { var a = [ ] , b ; for ( b in this . n ) ":" == b . charAt ( 0 ) && a . push ( this . n [ b ] ) ; return a } ; function ic ( a ) { var b = [ ] , c ; for ( c in a . n ) if ( ":" == c . charAt ( 0 ) ) { var d = c . substring ( 1 ) ; b . push ( a . ta [ c ] ? Number ( d ) : d ) } return b }
p . set = function ( a , b ) { var c = ":" + a ; c in this . n || ( this . ia ++ , "number" == typeof a && ( this . ta [ c ] = i ) ) ; this . n [ c ] = b } ; p . aa = function ( a ) { var b ; if ( a instanceof hc ) b = ic ( a ) , a = a . L ( ) ; else { b = [ ] ; var c = 0 , d ; for ( d in a ) b [ c ++ ] = d ; a = Ea ( a ) } for ( c = 0 ; c < b . length ; c ++ ) this . set ( b [ c ] , a [ c ] ) } ; p . r = function ( a ) { var b = 0 , c = ic ( this ) , d = this . n , e = this . ia , f = this , j = new J ; j . next = function ( ) { for ( ; ; ) { e != f . ia && g ( Error ( "The map has changed since the iterator was created" ) ) ; b >= c . length && g ( I ) ; var j = c [ b ++ ] ; return a ? j : d [ ":" + j ] } } ; return j } ; function jc ( a ) { this . n = new hc ; a && this . aa ( a ) } function kc ( a ) { var b = typeof a ; return "object" == b && a || "function" == b ? "o" + ( a [ da ] || ( a [ da ] = ++ ea ) ) : b . substr ( 0 , 1 ) + a } p = jc . prototype ; p . add = function ( a ) { this . n . set ( kc ( a ) , a ) } ; p . aa = function ( a ) { for ( var a = gc ( a ) , b = a . length , c = 0 ; c < b ; c ++ ) this . add ( a [ c ] ) } ; p . contains = function ( a ) { return ":" + kc ( a ) in this . n . n } ; p . L = function ( ) { return this . n . L ( ) } ; p . r = function ( ) { return this . n . r ( l ) } ; function lc ( ) { N . call ( this ) ; Gb ( this . z ( ) ) && Bb ( this . z ( ) , "readOnly" ) ; this . Ha = new jc } x ( lc , N ) ; var mc = { } ; function R ( a , b , c ) { ca ( a ) && ( a = a . c ) ; a = new nc ( a ) ; if ( b && ( ! ( b in mc ) || c ) ) mc [ b ] = { key : a , shift : l } , c && ( mc [ c ] = { key : a , shift : i } ) } function nc ( a ) { this . code = a } R ( 8 ) ; R ( 9 ) ; R ( 13 ) ; R ( 16 ) ; R ( 17 ) ; R ( 18 ) ; R ( 19 ) ; R ( 20 ) ; R ( 27 ) ; R ( 32 , " " ) ; R ( 33 ) ; R ( 34 ) ; R ( 35 ) ; R ( 36 ) ; R ( 37 ) ; R ( 38 ) ; R ( 39 ) ; R ( 40 ) ; R ( 44 ) ; R ( 45 ) ; R ( 46 ) ; R ( 48 , "0" , ")" ) ; R ( 49 , "1" , "!" ) ; R ( 50 , "2" , "@" ) ; R ( 51 , "3" , "#" ) ; R ( 52 , "4" , "$" ) ; R ( 53 , "5" , "%" ) ; R ( 54 , "6" , "^" ) ; R ( 55 , "7" , "&" ) ; R ( 56 , "8" , "*" ) ;
R ( 57 , "9" , "(" ) ; R ( 65 , "a" , "A" ) ; R ( 66 , "b" , "B" ) ; R ( 67 , "c" , "C" ) ; R ( 68 , "d" , "D" ) ; R ( 69 , "e" , "E" ) ; R ( 70 , "f" , "F" ) ; R ( 71 , "g" , "G" ) ; R ( 72 , "h" , "H" ) ; R ( 73 , "i" , "I" ) ; R ( 74 , "j" , "J" ) ; R ( 75 , "k" , "K" ) ; R ( 76 , "l" , "L" ) ; R ( 77 , "m" , "M" ) ; R ( 78 , "n" , "N" ) ; R ( 79 , "o" , "O" ) ; R ( 80 , "p" , "P" ) ; R ( 81 , "q" , "Q" ) ; R ( 82 , "r" , "R" ) ; R ( 83 , "s" , "S" ) ; R ( 84 , "t" , "T" ) ; R ( 85 , "u" , "U" ) ; R ( 86 , "v" , "V" ) ; R ( 87 , "w" , "W" ) ; R ( 88 , "x" , "X" ) ; R ( 89 , "y" , "Y" ) ; R ( 90 , "z" , "Z" ) ; R ( ta ? { c : 91 , e : 91 , opera : 219 } : sa ? { c : 224 , e : 91 , opera : 17 } : { c : 0 , e : 91 , opera : k } ) ;
R ( ta ? { c : 92 , e : 92 , opera : 220 } : sa ? { c : 224 , e : 93 , opera : 17 } : { c : 0 , e : 92 , opera : k } ) ; R ( ta ? { c : 93 , e : 93 , opera : 0 } : sa ? { c : 0 , e : 0 , opera : 16 } : { c : 93 , e : k , opera : 0 } ) ; R ( { c : 96 , e : 96 , opera : 48 } , "0" ) ; R ( { c : 97 , e : 97 , opera : 49 } , "1" ) ; R ( { c : 98 , e : 98 , opera : 50 } , "2" ) ; R ( { c : 99 , e : 99 , opera : 51 } , "3" ) ; R ( { c : 100 , e : 100 , opera : 52 } , "4" ) ; R ( { c : 101 , e : 101 , opera : 53 } , "5" ) ; R ( { c : 102 , e : 102 , opera : 54 } , "6" ) ; R ( { c : 103 , e : 103 , opera : 55 } , "7" ) ; R ( { c : 104 , e : 104 , opera : 56 } , "8" ) ; R ( { c : 105 , e : 105 , opera : 57 } , "9" ) ; R ( { c : 106 , e : 106 , opera : xa ? 56 : 42 } , "*" ) ; R ( { c : 107 , e : 107 , opera : xa ? 61 : 43 } , "+" ) ;
R ( { c : 109 , e : 109 , opera : xa ? 109 : 45 } , "-" ) ; R ( { c : 110 , e : 110 , opera : xa ? 190 : 78 } , "." ) ; R ( { c : 111 , e : 111 , opera : xa ? 191 : 47 } , "/" ) ; R ( 144 ) ; R ( 112 ) ; R ( 113 ) ; R ( 114 ) ; R ( 115 ) ; R ( 116 ) ; R ( 117 ) ; R ( 118 ) ; R ( 119 ) ; R ( 120 ) ; R ( 121 ) ; R ( 122 ) ; R ( 123 ) ; R ( { c : 107 , e : 187 , opera : 61 } , "=" , "+" ) ; R ( { c : 109 , e : 189 , opera : 109 } , "-" , "_" ) ; R ( 188 , "," , "<" ) ; R ( 190 , "." , ">" ) ; R ( 191 , "/" , "?" ) ; R ( 192 , "`" , "~" ) ; R ( 219 , "[" , "{" ) ; R ( 220 , "\\" , "|" ) ; R ( 221 , "]" , "}" ) ; R ( { c : 59 , e : 186 , opera : 59 } , ";" , ":" ) ; R ( 222 , "'" , '"' ) ; lc . prototype . X = function ( a ) { return this . Ha . contains ( a ) } ; function oc ( a ) { return pc ( a || arguments . callee . caller , [ ] ) }
function pc ( a , b ) { var c = [ ] ; if ( 0 <= A ( b , a ) ) c . push ( "[...circular reference...]" ) ; else if ( a && 50 > b . length ) { c . push ( qc ( a ) + "(" ) ; for ( var d = a . arguments , e = 0 ; e < d . length ; e ++ ) { 0 < e && c . push ( ", " ) ; var f ; f = d [ e ] ; switch ( typeof f ) { case "object" : f = f ? "object" : "null" ; break ; case "string" : break ; case "number" : f = "" + f ; break ; case "boolean" : f = f ? "true" : "false" ; break ; case "function" : f = ( f = qc ( f ) ) ? f : "[fn]" ; break ; default : f = typeof f } 40 < f . length && ( f = f . substr ( 0 , 40 ) + "..." ) ; c . push ( f ) } b . push ( a ) ; c . push ( ")\n" ) ; try { c . push ( pc ( a . caller , b ) ) } catch ( j ) { c . push ( "[exception trying to get caller]\n" ) } } else a ?
c . push ( "[...long stack...]" ) : c . push ( "[end]" ) ; return c . join ( "" ) } function qc ( a ) { if ( rc [ a ] ) return rc [ a ] ; a = "" + a ; if ( ! rc [ a ] ) { var b = /function ([^\(]+)/ . exec ( a ) ; rc [ a ] = b ? b [ 1 ] : "[Anonymous]" } return rc [ a ] } var rc = { } ; function sc ( a , b , c , d , e ) { this . reset ( a , b , c , d , e ) } sc . prototype . oa = k ; sc . prototype . na = k ; var tc = 0 ; sc . prototype . reset = function ( a , b , c , d , e ) { "number" == typeof e || tc ++ ; d || fa ( ) ; this . N = a ; this . Fa = b ; delete this . oa ; delete this . na } ; sc . prototype . va = function ( a ) { this . N = a } ; function S ( a ) { this . Ga = a } S . prototype . Y = k ; S . prototype . N = k ; S . prototype . ba = k ; S . prototype . ra = k ; function uc ( a , b ) { this . name = a ; this . value = b } uc . prototype . toString = n ( "name" ) ; var vc = new uc ( "WARNING" , 900 ) , wc = new uc ( "CONFIG" , 700 ) ; S . prototype . getParent = n ( "Y" ) ; S . prototype . va = function ( a ) { this . N = a } ; function xc ( a ) { if ( a . N ) return a . N ; if ( a . Y ) return xc ( a . Y ) ; Ja ( "Root logger has no level set." ) ; return k }
S . prototype . log = function ( a , b , c ) { if ( a . value >= xc ( this ) . value ) { a = this . Ca ( a , b , c ) ; b = "log:" + a . Fa ; q . console && ( q . console . timeStamp ? q . console . timeStamp ( b ) : q . console . markTimeline && q . console . markTimeline ( b ) ) ; q . msWriteProfilerMark && q . msWriteProfilerMark ( b ) ; for ( b = this ; b ; ) { var c = b , d = a ; if ( c . ra ) for ( var e = 0 , f = h ; f = c . ra [ e ] ; e ++ ) f ( d ) ; b = b . getParent ( ) } } } ;
S . prototype . Ca = function ( a , b , c ) { var d = new sc ( a , "" + b , this . Ga ) ; if ( c ) { d . oa = c ; var e ; var f = arguments . callee . caller ; try { var j ; var m ; c : { for ( var s = [ "window" , "location" , "href" ] , O = q , E ; E = s . shift ( ) ; ) if ( O [ E ] != k ) O = O [ E ] ; else { m = k ; break c } m = O } if ( t ( c ) ) j = { message : c , name : "Unknown error" , lineNumber : "Not available" , fileName : m , stack : "Not available" } ; else { var u , v , s = l ; try { u = c . lineNumber || c . Ma || "Not available" } catch ( md ) { u = "Not available" , s = i } try { v = c . fileName || c . filename || c . sourceURL || m } catch ( nd ) { v = "Not available" , s = i } j = s ||
! c . lineNumber || ! c . fileName || ! c . stack ? { message : c . message , name : c . name , lineNumber : u , fileName : v , stack : c . stack || "Not available" } : c } e = "Message: " + ia ( j . message ) + '\nUrl: <a href="view-source:' + j . fileName + '" target="_new">' + j . fileName + "</a>\nLine: " + j . lineNumber + "\n\nBrowser stack:\n" + ia ( j . stack + "-> " ) + "[end]\n\nJS stack traversal:\n" + ia ( oc ( f ) + "-> " ) } catch ( kd ) { e = "Exception trying to expose exception! You win, we lose. " + kd } d . na = e } return d } ; var yc = { } , zc = k ;
function Ac ( a ) { zc || ( zc = new S ( "" ) , yc [ "" ] = zc , zc . va ( wc ) ) ; var b ; if ( ! ( b = yc [ a ] ) ) { b = new S ( a ) ; var c = a . lastIndexOf ( "." ) , d = a . substr ( c + 1 ) , c = Ac ( a . substr ( 0 , c ) ) ; c . ba || ( c . ba = { } ) ; c . ba [ d ] = b ; b . Y = c ; yc [ a ] = b } return b } ; function Bc ( ) { } x ( Bc , function ( ) { } ) ; Ac ( "goog.dom.SavedRange" ) ; x ( function ( a ) { this . Ja = "goog_" + pa ++ ; this . Aa = "goog_" + pa ++ ; this . la = Wa ( a . ea ( ) ) ; a . R ( this . la . da ( "SPAN" , { id : this . Ja } ) , this . la . da ( "SPAN" , { id : this . Aa } ) ) } , Bc ) ; function T ( ) { } function Cc ( a ) { if ( a . getSelection ) return a . getSelection ( ) ; var a = a . document , b = a . selection ; if ( b ) { try { var c = b . createRange ( ) ; if ( c . parentElement ) { if ( c . parentElement ( ) . document != a ) return k } else if ( ! c . length || c . item ( 0 ) . document != a ) return k } catch ( d ) { return k } return b } return k } function Dc ( a ) { for ( var b = [ ] , c = 0 , d = a . D ( ) ; c < d ; c ++ ) b . push ( a . A ( c ) ) ; return b } T . prototype . F = o ( l ) ; T . prototype . ea = function ( ) { return D ( this . b ( ) ) } ; T . prototype . qa = function ( ) { return F ( this . ea ( ) ) } ;
T . prototype . containsNode = function ( a , b ) { return this . u ( Ec ( Fc ( a ) , h ) , b ) } ; function U ( a , b ) { K . call ( this , a , b , i ) } x ( U , K ) ; function V ( ) { } x ( V , T ) ; V . prototype . u = function ( a , b ) { var c = Dc ( this ) , d = Dc ( a ) ; return ( b ? Na : Oa ) ( d , function ( a ) { return Na ( c , function ( c ) { return c . u ( a , b ) } ) } ) } ; V . prototype . insertNode = function ( a , b ) { if ( b ) { var c = this . b ( ) ; c . parentNode && c . parentNode . insertBefore ( a , c ) } else c = this . g ( ) , c . parentNode && c . parentNode . insertBefore ( a , c . nextSibling ) ; return a } ; V . prototype . R = function ( a , b ) { this . insertNode ( a , i ) ; this . insertNode ( b , l ) } ; function Gc ( a , b , c , d , e ) { var f ; if ( a && ( this . f = a , this . i = b , this . d = c , this . h = d , 1 == a . nodeType && "BR" != a . tagName && ( a = a . childNodes , ( b = a [ b ] ) ? ( this . f = b , this . i = 0 ) : ( a . length && ( this . f = z ( a ) ) , f = i ) ) , 1 == c . nodeType ) ) ( this . d = c . childNodes [ d ] ) ? this . h = 0 : this . d = c ; U . call ( this , e ? this . d : this . f , e ) ; if ( f ) try { this . next ( ) } catch ( j ) { j != I && g ( j ) } } x ( Gc , U ) ; p = Gc . prototype ; p . f = k ; p . d = k ; p . i = 0 ; p . h = 0 ; p . b = n ( "f" ) ; p . g = n ( "d" ) ; p . M = function ( ) { return this . ha && this . p == this . d && ( ! this . h || 1 != this . q ) } ; p . next = function ( ) { this . M ( ) && g ( I ) ; return Gc . $ . next . call ( this ) } ; "ScriptEngine" in q && "JScript" == q . ScriptEngine ( ) && ( q . ScriptEngineMajorVersion ( ) , q . ScriptEngineMinorVersion ( ) , q . ScriptEngineBuildVersion ( ) ) ; function Hc ( ) { } Hc . prototype . u = function ( a , b ) { var c = b && ! a . isCollapsed ( ) , d = a . a ; try { return c ? 0 <= this . l ( d , 0 , 1 ) && 0 >= this . l ( d , 1 , 0 ) : 0 <= this . l ( d , 0 , 0 ) && 0 >= this . l ( d , 1 , 1 ) } catch ( e ) { g ( e ) } } ; Hc . prototype . containsNode = function ( a , b ) { return this . u ( Fc ( a ) , b ) } ; Hc . prototype . r = function ( ) { return new Gc ( this . b ( ) , this . j ( ) , this . g ( ) , this . k ( ) ) } ; function Ic ( a ) { this . a = a } x ( Ic , Hc ) ; p = Ic . prototype ; p . C = function ( ) { return this . a . commonAncestorContainer } ; p . b = function ( ) { return this . a . startContainer } ; p . j = function ( ) { return this . a . startOffset } ; p . g = function ( ) { return this . a . endContainer } ; p . k = function ( ) { return this . a . endOffset } ; p . l = function ( a , b , c ) { return this . a . compareBoundaryPoints ( 1 == c ? 1 == b ? q . Range . START _TO _START : q . Range . START _TO _END : 1 == b ? q . Range . END _TO _START : q . Range . END _TO _END , a ) } ; p . isCollapsed = function ( ) { return this . a . collapsed } ;
p . select = function ( a ) { this . Z ( F ( D ( this . b ( ) ) ) . getSelection ( ) , a ) } ; p . Z = function ( a ) { a . removeAllRanges ( ) ; a . addRange ( this . a ) } ; p . insertNode = function ( a , b ) { var c = this . a . cloneRange ( ) ; c . collapse ( b ) ; c . insertNode ( a ) ; c . detach ( ) ; return a } ;
p . R = function ( a , b ) { var c = F ( D ( this . b ( ) ) ) ; if ( c = ( c = Cc ( c || window ) ) && Jc ( c ) ) var d = c . b ( ) , e = c . g ( ) , f = c . j ( ) , j = c . k ( ) ; var m = this . a . cloneRange ( ) , s = this . a . cloneRange ( ) ; m . collapse ( l ) ; s . collapse ( i ) ; m . insertNode ( b ) ; s . insertNode ( a ) ; m . detach ( ) ; s . detach ( ) ; if ( c ) { if ( d . nodeType == C ) for ( ; f > d . length ; ) { f -= d . length ; do d = d . nextSibling ; while ( d == a || d == b ) } if ( e . nodeType == C ) for ( ; j > e . length ; ) { j -= e . length ; do e = e . nextSibling ; while ( e == a || e == b ) } c = new Kc ; c . G = Lc ( d , f , e , j ) ; "BR" == d . tagName && ( m = d . parentNode , f = A ( m . childNodes , d ) , d = m ) ; "BR" == e . tagName &&
( m = e . parentNode , j = A ( m . childNodes , e ) , e = m ) ; c . G ? ( c . f = e , c . i = j , c . d = d , c . h = f ) : ( c . f = d , c . i = f , c . d = e , c . h = j ) ; c . select ( ) } } ; p . collapse = function ( a ) { this . a . collapse ( a ) } ; function W ( a ) { this . a = a } x ( W , Ic ) ; function Fc ( a ) { var b = D ( a ) . createRange ( ) ; if ( a . nodeType == C ) b . setStart ( a , 0 ) , b . setEnd ( a , a . length ) ; else if ( X ( a ) ) { for ( var c , d = a ; ( c = d . firstChild ) && X ( c ) ; ) d = c ; b . setStart ( d , 0 ) ; for ( d = a ; ( c = d . lastChild ) && X ( c ) ; ) d = c ; b . setEnd ( d , 1 == d . nodeType ? d . childNodes . length : d . length ) } else c = a . parentNode , a = A ( c . childNodes , a ) , b . setStart ( c , a ) , b . setEnd ( c , a + 1 ) ; return new W ( b ) }
W . prototype . Z = function ( a , b ) { var c = b ? this . g ( ) : this . b ( ) , d = b ? this . k ( ) : this . j ( ) , e = b ? this . b ( ) : this . g ( ) , f = b ? this . j ( ) : this . k ( ) ; a . collapse ( c , d ) ; ( c != e || d != f ) && a . extend ( e , f ) } ; function Mc ( a ) { this . a = a } x ( Mc , Hc ) ; Ac ( "goog.dom.browserrange.IeRange" ) ; function Nc ( a ) { var b = D ( a ) . body . createTextRange ( ) ; if ( 1 == a . nodeType ) b . moveToElementText ( a ) , X ( a ) && ! a . childNodes . length && b . collapse ( l ) ; else { for ( var c = 0 , d = a ; d = d . previousSibling ; ) { var e = d . nodeType ; if ( e == C ) c += d . length ; else if ( 1 == e ) { b . moveToElementText ( d ) ; break } } d || b . moveToElementText ( a . parentNode ) ; b . collapse ( ! d ) ; c && b . move ( "character" , c ) ; b . moveEnd ( "character" , a . length ) } return b } p = Mc . prototype ; p . O = k ; p . f = k ; p . d = k ; p . i = - 1 ; p . h = - 1 ;
p . s = function ( ) { this . O = this . f = this . d = k ; this . i = this . h = - 1 } ;
p . C = function ( ) { if ( ! this . O ) { var a = this . a . text , b = this . a . duplicate ( ) , c = a . replace ( / +$/ , "" ) ; ( c = a . length - c . length ) && b . moveEnd ( "character" , - c ) ; c = b . parentElement ( ) ; b = b . htmlText . replace ( /(\r\n|\r|\n)+/g , " " ) . length ; if ( this . isCollapsed ( ) && 0 < b ) return this . O = c ; for ( ; b > c . outerHTML . replace ( /(\r\n|\r|\n)+/g , " " ) . length ; ) c = c . parentNode ; for ( ; 1 == c . childNodes . length && c . innerText == ( c . firstChild . nodeType == C ? c . firstChild . nodeValue : c . firstChild . innerText ) && X ( c . firstChild ) ; ) c = c . firstChild ; 0 == a . length && ( c = Oc ( this , c ) ) ; this . O =
c } return this . O } ; function Oc ( a , b ) { for ( var c = b . childNodes , d = 0 , e = c . length ; d < e ; d ++ ) { var f = c [ d ] ; if ( X ( f ) ) { var j = Nc ( f ) , m = j . htmlText != f . outerHTML ; if ( a . isCollapsed ( ) && m ? 0 <= a . l ( j , 1 , 1 ) && 0 >= a . l ( j , 1 , 0 ) : a . a . inRange ( j ) ) return Oc ( a , f ) } } return b } p . b = function ( ) { this . f || ( this . f = Pc ( this , 1 ) , this . isCollapsed ( ) && ( this . d = this . f ) ) ; return this . f } ; p . j = function ( ) { 0 > this . i && ( this . i = Qc ( this , 1 ) , this . isCollapsed ( ) && ( this . h = this . i ) ) ; return this . i } ;
p . g = function ( ) { if ( this . isCollapsed ( ) ) return this . b ( ) ; this . d || ( this . d = Pc ( this , 0 ) ) ; return this . d } ; p . k = function ( ) { if ( this . isCollapsed ( ) ) return this . j ( ) ; 0 > this . h && ( this . h = Qc ( this , 0 ) , this . isCollapsed ( ) && ( this . i = this . h ) ) ; return this . h } ; p . l = function ( a , b , c ) { return this . a . compareEndPoints ( ( 1 == b ? "Start" : "End" ) + "To" + ( 1 == c ? "Start" : "End" ) , a ) } ;
function Pc ( a , b , c ) { c = c || a . C ( ) ; if ( ! c || ! c . firstChild ) return c ; for ( var d = 1 == b , e = 0 , f = c . childNodes . length ; e < f ; e ++ ) { var j = d ? e : f - e - 1 , m = c . childNodes [ j ] , s ; try { s = Fc ( m ) } catch ( O ) { continue } var E = s . a ; if ( a . isCollapsed ( ) ) if ( X ( m ) ) { if ( s . u ( a ) ) return Pc ( a , b , m ) } else { if ( 0 == a . l ( E , 1 , 1 ) ) { a . i = a . h = j ; break } } else { if ( a . u ( s ) ) { if ( ! X ( m ) ) { d ? a . i = j : a . h = j + 1 ; break } return Pc ( a , b , m ) } if ( 0 > a . l ( E , 1 , 0 ) && 0 < a . l ( E , 0 , 1 ) ) return Pc ( a , b , m ) } } return c }
function Qc ( a , b ) { var c = 1 == b , d = c ? a . b ( ) : a . g ( ) ; if ( 1 == d . nodeType ) { for ( var d = d . childNodes , e = d . length , f = c ? 1 : - 1 , j = c ? 0 : e - 1 ; 0 <= j && j < e ; j += f ) { var m = d [ j ] ; if ( ! X ( m ) && 0 == a . a . compareEndPoints ( ( 1 == b ? "Start" : "End" ) + "To" + ( 1 == b ? "Start" : "End" ) , Fc ( m ) . a ) ) return c ? j : j + 1 } return - 1 == j ? 0 : j } e = a . a . duplicate ( ) ; f = Nc ( d ) ; e . setEndPoint ( c ? "EndToEnd" : "StartToStart" , f ) ; e = e . text . length ; return c ? d . length - e : e } p . isCollapsed = function ( ) { return 0 == this . a . compareEndPoints ( "StartToEnd" , this . a ) } ; p . select = function ( ) { this . a . select ( ) } ;
function Rc ( a , b , c ) { var d ; d = d || Wa ( a . parentElement ( ) ) ; var e ; 1 != b . nodeType && ( e = i , b = d . da ( "DIV" , k , b ) ) ; a . collapse ( c ) ; d = d || Wa ( a . parentElement ( ) ) ; var f = c = b . id ; c || ( c = b . id = "goog_" + pa ++ ) ; a . pasteHTML ( b . outerHTML ) ; ( b = d . z ( c ) ) && ( f || b . removeAttribute ( "id" ) ) ; if ( e ) { a = b . firstChild ; e = b ; if ( ( d = e . parentNode ) && 11 != d . nodeType ) if ( e . removeNode ) e . removeNode ( l ) ; else { for ( ; b = e . firstChild ; ) d . insertBefore ( b , e ) ; bb ( e ) } b = a } return b } p . insertNode = function ( a , b ) { var c = Rc ( this . a . duplicate ( ) , a , b ) ; this . s ( ) ; return c } ;
p . R = function ( a , b ) { var c = this . a . duplicate ( ) , d = this . a . duplicate ( ) ; Rc ( c , a , i ) ; Rc ( d , b , l ) ; this . s ( ) } ; p . collapse = function ( a ) { this . a . collapse ( a ) ; a ? ( this . d = this . f , this . h = this . i ) : ( this . f = this . d , this . i = this . h ) } ; function Sc ( a ) { this . a = a } x ( Sc , Ic ) ; Sc . prototype . Z = function ( a ) { a . collapse ( this . b ( ) , this . j ( ) ) ; ( this . g ( ) != this . b ( ) || this . k ( ) != this . j ( ) ) && a . extend ( this . g ( ) , this . k ( ) ) ; 0 == a . rangeCount && a . addRange ( this . a ) } ; function Tc ( a ) { this . a = a } x ( Tc , Ic ) ; Tc . prototype . l = function ( a , b , c ) { return Ba [ "528" ] || ( Ba [ "528" ] = 0 <= oa ( ya , "528" ) ) ? Tc . $ . l . call ( this , a , b , c ) : this . a . compareBoundaryPoints ( 1 == c ? 1 == b ? q . Range . START _TO _START : q . Range . END _TO _START : 1 == b ? q . Range . START _TO _END : q . Range . END _TO _END , a ) } ; Tc . prototype . Z = function ( a , b ) { a . removeAllRanges ( ) ; b ? a . setBaseAndExtent ( this . g ( ) , this . k ( ) , this . b ( ) , this . j ( ) ) : a . setBaseAndExtent ( this . b ( ) , this . j ( ) , this . g ( ) , this . k ( ) ) } ; function X ( a ) { var b ; a : if ( 1 != a . nodeType ) b = l ; else { switch ( a . tagName ) { case "APPLET" : case "AREA" : case "BASE" : case "BR" : case "COL" : case "FRAME" : case "HR" : case "IMG" : case "INPUT" : case "IFRAME" : case "ISINDEX" : case "LINK" : case "NOFRAMES" : case "NOSCRIPT" : case "META" : case "OBJECT" : case "PARAM" : case "SCRIPT" : case "STYLE" : b = l ; break a } b = i } return b || a . nodeType == C } ; function Kc ( ) { } x ( Kc , T ) ; function Ec ( a , b ) { var c = new Kc ; c . K = a ; c . G = ! ! b ; return c } p = Kc . prototype ; p . K = k ; p . f = k ; p . i = k ; p . d = k ; p . h = k ; p . G = l ; p . fa = o ( "text" ) ; p . W = function ( ) { return Y ( this ) . a } ; p . s = function ( ) { this . f = this . i = this . d = this . h = k } ; p . D = o ( 1 ) ; p . A = function ( ) { return this } ; function Y ( a ) { var b ; if ( ! ( b = a . K ) ) { b = a . b ( ) ; var c = a . j ( ) , d = a . g ( ) , e = a . k ( ) , f = D ( b ) . createRange ( ) ; f . setStart ( b , c ) ; f . setEnd ( d , e ) ; b = a . K = new W ( f ) } return b } p . C = function ( ) { return Y ( this ) . C ( ) } ; p . b = function ( ) { return this . f || ( this . f = Y ( this ) . b ( ) ) } ;
p . j = function ( ) { return this . i != k ? this . i : this . i = Y ( this ) . j ( ) } ; p . g = function ( ) { return this . d || ( this . d = Y ( this ) . g ( ) ) } ; p . k = function ( ) { return this . h != k ? this . h : this . h = Y ( this ) . k ( ) } ; p . F = n ( "G" ) ; p . u = function ( a , b ) { var c = a . fa ( ) ; return "text" == c ? Y ( this ) . u ( Y ( a ) , b ) : "control" == c ? ( c = Uc ( a ) , ( b ? Na : Oa ) ( c , function ( a ) { return this . containsNode ( a , b ) } , this ) ) : l } ; p . isCollapsed = function ( ) { return Y ( this ) . isCollapsed ( ) } ; p . r = function ( ) { return new Gc ( this . b ( ) , this . j ( ) , this . g ( ) , this . k ( ) ) } ; p . select = function ( ) { Y ( this ) . select ( this . G ) } ;
p . insertNode = function ( a , b ) { var c = Y ( this ) . insertNode ( a , b ) ; this . s ( ) ; return c } ; p . R = function ( a , b ) { Y ( this ) . R ( a , b ) ; this . s ( ) } ; p . ga = function ( ) { return new Vc ( this ) } ; p . collapse = function ( a ) { a = this . F ( ) ? ! a : a ; this . K && this . K . collapse ( a ) ; a ? ( this . d = this . f , this . h = this . i ) : ( this . f = this . d , this . i = this . h ) ; this . G = l } ; function Vc ( a ) { a . F ( ) ? a . g ( ) : a . b ( ) ; a . F ( ) ? a . k ( ) : a . j ( ) ; a . F ( ) ? a . b ( ) : a . g ( ) ; a . F ( ) ? a . j ( ) : a . k ( ) } x ( Vc , Bc ) ; function Wc ( ) { } x ( Wc , V ) ; p = Wc . prototype ; p . a = k ; p . m = k ; p . Q = k ; p . s = function ( ) { this . Q = this . m = k } ; p . fa = o ( "control" ) ; p . W = function ( ) { return this . a || document . body . createControlRange ( ) } ; p . D = function ( ) { return this . a ? this . a . length : 0 } ; p . A = function ( a ) { a = this . a . item ( a ) ; return Ec ( Fc ( a ) , h ) } ; p . C = function ( ) { return fb . apply ( k , Uc ( this ) ) } ; p . b = function ( ) { return Xc ( this ) [ 0 ] } ; p . j = o ( 0 ) ; p . g = function ( ) { var a = Xc ( this ) , b = z ( a ) ; return Pa ( a , function ( a ) { return G ( a , b ) } ) } ; p . k = function ( ) { return this . g ( ) . childNodes . length } ;
function Uc ( a ) { if ( ! a . m && ( a . m = [ ] , a . a ) ) for ( var b = 0 ; b < a . a . length ; b ++ ) a . m . push ( a . a . item ( b ) ) ; return a . m } function Xc ( a ) { a . Q || ( a . Q = Uc ( a ) . concat ( ) , a . Q . sort ( function ( a , c ) { return a . sourceIndex - c . sourceIndex } ) ) ; return a . Q } p . isCollapsed = function ( ) { return ! this . a || ! this . a . length } ; p . r = function ( ) { return new Yc ( this ) } ; p . select = function ( ) { this . a && this . a . select ( ) } ; p . ga = function ( ) { return new Zc ( this ) } ; p . collapse = function ( ) { this . a = k ; this . s ( ) } ; function Zc ( a ) { this . m = Uc ( a ) } x ( Zc , Bc ) ;
function Yc ( a ) { a && ( this . m = Xc ( a ) , this . f = this . m . shift ( ) , this . d = z ( this . m ) || this . f ) ; U . call ( this , this . f , l ) } x ( Yc , U ) ; p = Yc . prototype ; p . f = k ; p . d = k ; p . m = k ; p . b = n ( "f" ) ; p . g = n ( "d" ) ; p . M = function ( ) { return ! this . depth && ! this . m . length } ; p . next = function ( ) { this . M ( ) && g ( I ) ; if ( ! this . depth ) { var a = this . m . shift ( ) ; L ( this , a , 1 , 1 ) ; return a } return Yc . $ . next . call ( this ) } ; function $c ( ) { this . t = [ ] ; this . P = [ ] ; this . U = this . I = k } x ( $c , V ) ; p = $c . prototype ; p . Ea = Ac ( "goog.dom.MultiRange" ) ; p . s = function ( ) { this . P = [ ] ; this . U = this . I = k } ; p . fa = o ( "mutli" ) ; p . W = function ( ) { 1 < this . t . length && this . Ea . log ( vc , "getBrowserRangeObject called on MultiRange with more than 1 range" , h ) ; return this . t [ 0 ] } ; p . D = function ( ) { return this . t . length } ; p . A = function ( a ) { this . P [ a ] || ( this . P [ a ] = Ec ( new W ( this . t [ a ] ) , h ) ) ; return this . P [ a ] } ;
p . C = function ( ) { if ( ! this . U ) { for ( var a = [ ] , b = 0 , c = this . D ( ) ; b < c ; b ++ ) a . push ( this . A ( b ) . C ( ) ) ; this . U = fb . apply ( k , a ) } return this . U } ; function ad ( a ) { a . I || ( a . I = Dc ( a ) , a . I . sort ( function ( a , c ) { var d = a . b ( ) , e = a . j ( ) , f = c . b ( ) , j = c . j ( ) ; return d == f && e == j ? 0 : Lc ( d , e , f , j ) ? 1 : - 1 } ) ) ; return a . I } p . b = function ( ) { return ad ( this ) [ 0 ] . b ( ) } ; p . j = function ( ) { return ad ( this ) [ 0 ] . j ( ) } ; p . g = function ( ) { return z ( ad ( this ) ) . g ( ) } ; p . k = function ( ) { return z ( ad ( this ) ) . k ( ) } ; p . isCollapsed = function ( ) { return 0 == this . t . length || 1 == this . t . length && this . A ( 0 ) . isCollapsed ( ) } ;
p . r = function ( ) { return new bd ( this ) } ; p . select = function ( ) { var a = Cc ( this . qa ( ) ) ; a . removeAllRanges ( ) ; for ( var b = 0 , c = this . D ( ) ; b < c ; b ++ ) a . addRange ( this . A ( b ) . W ( ) ) } ; p . ga = function ( ) { return new cd ( this ) } ; p . collapse = function ( a ) { if ( ! this . isCollapsed ( ) ) { var b = a ? this . A ( 0 ) : this . A ( this . D ( ) - 1 ) ; this . s ( ) ; b . collapse ( a ) ; this . P = [ b ] ; this . I = [ b ] ; this . t = [ b . W ( ) ] } } ; function cd ( a ) { Ma ( Dc ( a ) , function ( a ) { return a . ga ( ) } ) } x ( cd , Bc ) ; function bd ( a ) { a && ( this . H = Ma ( ad ( a ) , function ( a ) { return sb ( a ) } ) ) ; U . call ( this , a ? this . b ( ) : k , l ) } x ( bd , U ) ; p = bd . prototype ;
p . H = k ; p . V = 0 ; p . b = function ( ) { return this . H [ 0 ] . b ( ) } ; p . g = function ( ) { return z ( this . H ) . g ( ) } ; p . M = function ( ) { return this . H [ this . V ] . M ( ) } ; p . next = function ( ) { try { var a = this . H [ this . V ] , b = a . next ( ) ; L ( this , a . p , a . q , a . depth ) ; return b } catch ( c ) { return ( c !== I || this . H . length - 1 == this . V ) && g ( c ) , this . V ++ , this . next ( ) } } ; function Jc ( a ) { var b , c = l ; if ( a . createRange ) try { b = a . createRange ( ) } catch ( d ) { return k } else if ( a . rangeCount ) { if ( 1 < a . rangeCount ) { b = new $c ; for ( var c = 0 , e = a . rangeCount ; c < e ; c ++ ) b . t . push ( a . getRangeAt ( c ) ) ; return b } b = a . getRangeAt ( 0 ) ; c = Lc ( a . anchorNode , a . anchorOffset , a . focusNode , a . focusOffset ) } else return k ; b && b . addElement ? ( a = new Wc , a . a = b ) : a = Ec ( new W ( b ) , c ) ; return a }
function Lc ( a , b , c , d ) { if ( a == c ) return d < b ; var e ; if ( 1 == a . nodeType && b ) if ( e = a . childNodes [ b ] ) a = e , b = 0 ; else if ( G ( a , c ) ) return i ; if ( 1 == c . nodeType && d ) if ( e = c . childNodes [ d ] ) c = e , d = 0 ; else if ( G ( c , a ) ) return l ; return 0 < ( cb ( a , c ) || b - d ) } ; function dd ( ) { N . call ( this ) ; this . ja = k ; this . B = new B ( 0 , 0 ) ; this . sa = l } x ( dd , N ) ; var Z = { } ; Z [ Zb ] = [ 0 , 1 , 2 , k ] ; Z [ $b ] = [ k , k , 2 , k ] ; Z [ fc ] = [ 0 , 1 , 2 , k ] ; Z [ dc ] = [ 0 , 0 , 0 , 0 ] ; Z [ cc ] = [ 0 , 0 , 0 , 0 ] ; Z [ ac ] = Z [ Zb ] ; Z [ bc ] = Z [ fc ] ; Z [ ec ] = Z [ dc ] ; dd . prototype . move = function ( a , b ) { var c = xb ( a ) ; this . B . x = b . x + c . x ; this . B . y = b . y + c . y ; a != this . z ( ) && ( c = this . z ( ) === Ca . document . documentElement || this . z ( ) === Ca . document . body , c = ! this . sa && c ? k : this . z ( ) , ed ( this , dc , a ) , Ob ( this , a ) , ed ( this , ec , c ) ) ; ed ( this , cc ) } ;
function ed ( a , b , c ) { a . sa = i ; var d = a . B , e ; b in Z ? ( e = Z [ b ] [ a . ja === k ? 3 : a . ja ] , e === k && g ( new y ( 13 , "Event does not permit the specified mouse button." ) ) ) : e = 0 ; Mb ( a . w , i ) && Eb ( a . w ) && ( c && ! ( ec == b || dc == b ) && g ( new y ( 12 , "Event type does not allow related target: " + b ) ) , c = { clientX : d . x , clientY : d . y , button : e , altKey : l , ctrlKey : l , shiftKey : l , metaKey : l , wheelDelta : 0 , relatedTarget : c || k } , ( a = a . w ) && Sb ( a , b , c ) ) } ; function fd ( ) { N . call ( this ) ; this . B = new B ( 0 , 0 ) ; this . ca = new B ( 0 , 0 ) } x ( fd , N ) ; fd . prototype . xa = 0 ; fd . prototype . wa = 0 ; fd . prototype . move = function ( a , b , c ) { this . X ( ) || Ob ( this , a ) ; a = xb ( a ) ; this . B . x = b . x + a . x ; this . B . y = b . y + a . y ; r ( c ) && ( this . ca . x = c . x + a . x , this . ca . y = c . y + a . y ) ; if ( this . X ( ) ) { b = Rb ; this . X ( ) || g ( new y ( 13 , "Should never fire event when touchscreen is not pressed." ) ) ; var d , e ; this . wa && ( d = this . wa , e = this . ca ) ; Pb ( this , b , this . xa , this . B , d , e ) } } ; fd . prototype . X = function ( ) { return ! ! this . xa } ; function gd ( a , b ) { this . x = a ; this . y = b } x ( gd , B ) ; gd . prototype . scale = function ( a ) { this . x *= a ; this . y *= a ; return this } ; gd . prototype . add = function ( a ) { this . x += a . x ; this . y += a . y ; return this } ; function hd ( ) { N . call ( this ) } x ( hd , N ) ; ( function ( a ) { a . Ba = function ( ) { return a . Da || ( a . Da = new a ) } } ) ( hd ) ; function id ( a ) { ( ! Mb ( a , i ) || ! Eb ( a ) ) && g ( new y ( 12 , "Element is not currently interactable and may not be manipulated" ) ) ; ( ! Gb ( a ) || Bb ( a , "readOnly" ) ) && g ( new y ( 12 , "Element must be user-editable in order to clear it." ) ) ; var b = hd . Ba ( ) ; Ob ( b , a ) ; var b = b . ua || b . w , c = D ( b ) . activeElement ; if ( b != c ) { if ( c && w ( c . blur ) ) try { c . blur ( ) } catch ( d ) { g ( d ) } w ( b . focus ) && b . focus ( ) } a . value && ( a . value = "" , Sb ( a , Yb ) ) ; Hb ( a ) && ( a . innerHTML = " " ) } var jd = [ "_" ] , $ = q ; ! ( jd [ 0 ] in $ ) && $ . execScript && $ . execScript ( "var " + jd [ 0 ] ) ;
for ( var ld ; jd . length && ( ld = jd . shift ( ) ) ; ) ! jd . length && r ( id ) ? $ [ ld ] = id : $ = $ [ ld ] ? $ [ ld ] : $ [ ld ] = { } ; ; return this . _ . apply ( null , arguments ) ; } . apply ( { navigator : typeof window != 'undefined' ? window . navigator : null } , arguments ) ; }
2012-05-01 12:37:34 -07:00
//getElementAttribute
var getElementAttribute = function ( ) { return function ( ) { var f = null , g = ! 1 , h = this ;
2012-04-10 17:28:08 -07:00
function i ( a ) { var c = typeof a ; if ( "object" == c ) if ( a ) { if ( a instanceof Array ) return "array" ; if ( a instanceof Object ) return c ; var b = Object . prototype . toString . call ( a ) ; if ( "[object Window]" == b ) return "object" ; if ( "[object Array]" == b || "number" == typeof a . length && "undefined" != typeof a . splice && "undefined" != typeof a . propertyIsEnumerable && ! a . propertyIsEnumerable ( "splice" ) ) return "array" ; if ( "[object Function]" == b || "undefined" != typeof a . call && "undefined" != typeof a . propertyIsEnumerable && ! a . propertyIsEnumerable ( "call" ) ) return "function" } else return "null" ; else if ( "function" ==
c && "undefined" == typeof a . call ) return "object" ; return c } function j ( a , c ) { function b ( ) { } b . prototype = c . prototype ; a . f = c . prototype ; a . prototype = new b } ; function k ( a , c ) { for ( var b = 1 ; b < arguments . length ; b ++ ) var d = ( "" + arguments [ b ] ) . replace ( /\$/g , "$$$$" ) , a = a . replace ( /\%s/ , d ) ; return a } function l ( a ) { return a . replace ( /^[\s\xa0]+|[\s\xa0]+$/g , "" ) } ; var m , n = "" , o = /rv\:([^\);]+)(\)|;)/ . exec ( h . navigator ? h . navigator . userAgent : f ) ; m = n = o ? o [ 1 ] : "" ; var p = { } ; function q ( a , c ) { this . code = a ; this . message = c || "" ; this . name = r [ a ] || r [ 13 ] ; var b = Error ( this . message ) ; b . name = this . name ; this . stack = b . stack || "" } j ( q , Error ) ;
var r = { 7 : "NoSuchElementError" , 8 : "NoSuchFrameError" , 9 : "UnknownCommandError" , 10 : "StaleElementReferenceError" , 11 : "ElementNotVisibleError" , 12 : "InvalidElementStateError" , 13 : "UnknownError" , 15 : "ElementNotSelectableError" , 19 : "XPathLookupError" , 23 : "NoSuchWindowError" , 24 : "InvalidCookieDomainError" , 25 : "UnableToSetCookieError" , 26 : "ModalDialogOpenedError" , 27 : "NoModalDialogOpenError" , 28 : "ScriptTimeoutError" , 32 : "InvalidSelectorError" , 33 : "SqlDatabaseError" , 34 : "MoveTargetOutOfBoundsError" } ;
q . prototype . toString = function ( ) { return "[" + this . name + "] " + this . message } ; function s ( a ) { this . stack = Error ( ) . stack || "" ; a && ( this . message = "" + a ) } j ( s , Error ) ; s . prototype . name = "CustomError" ; function t ( a , c ) { c . unshift ( a ) ; s . call ( this , k . apply ( f , c ) ) ; c . shift ( ) } j ( t , s ) ; t . prototype . name = "AssertionError" ; function u ( a , c ) { if ( "string" == typeof a ) return "string" != typeof c || 1 != c . length ? - 1 : a . indexOf ( c , 0 ) ; for ( var b = 0 ; b < a . length ; b ++ ) if ( b in a && a [ b ] === c ) return b ; return - 1 } ; if ( ! p [ "1.9.1" ] ) { for ( var v = 0 , w = l ( "" + m ) . split ( "." ) , x = l ( "1.9.1" ) . split ( "." ) , y = Math . max ( w . length , x . length ) , z = 0 ; 0 == v && z < y ; z ++ ) { var A = w [ z ] || "" , B = x [ z ] || "" , C = RegExp ( "(\\d*)(\\D*)" , "g" ) , D = RegExp ( "(\\d*)(\\D*)" , "g" ) ; do { var E = C . exec ( A ) || [ "" , "" , "" ] , F = D . exec ( B ) || [ "" , "" , "" ] ; if ( 0 == E [ 0 ] . length && 0 == F [ 0 ] . length ) break ; v = ( ( 0 == E [ 1 ] . length ? 0 : parseInt ( E [ 1 ] , 10 ) ) < ( 0 == F [ 1 ] . length ? 0 : parseInt ( F [ 1 ] , 10 ) ) ? - 1 : ( 0 == E [ 1 ] . length ? 0 : parseInt ( E [ 1 ] , 10 ) ) > ( 0 == F [ 1 ] . length ? 0 : parseInt ( F [ 1 ] , 10 ) ) ? 1 : 0 ) || ( ( 0 == E [ 2 ] . length ) < ( 0 == F [ 2 ] . length ) ? - 1 : ( 0 ==
E [ 2 ] . length ) > ( 0 == F [ 2 ] . length ) ? 1 : 0 ) || ( E [ 2 ] < F [ 2 ] ? - 1 : E [ 2 ] > F [ 2 ] ? 1 : 0 ) } while ( 0 == v ) } p [ "1.9.1" ] = 0 <= v } ; var G = { SCRIPT : 1 , STYLE : 1 , HEAD : 1 , IFRAME : 1 , OBJECT : 1 } , H = { IMG : " " , BR : "\n" } ; function I ( a , c , b ) { if ( ! ( a . nodeName in G ) ) if ( 3 == a . nodeType ) b ? c . push ( ( "" + a . nodeValue ) . replace ( /(\r\n|\r|\n)/g , "" ) ) : c . push ( a . nodeValue ) ; else if ( a . nodeName in H ) c . push ( H [ a . nodeName ] ) ; else for ( a = a . firstChild ; a ; ) I ( a , c , b ) , a = a . nextSibling } ; ( function ( ) { var a = h . Components ; if ( ! a ) return g ; try { if ( ! a . classes ) return g } catch ( c ) { return g } var b = a . classes , a = a . interfaces ; b [ "@mozilla.org/xpcom/version-comparator;1" ] . getService ( a . nsIVersionComparator ) ; b [ "@mozilla.org/xre/app-info;1" ] . getService ( a . nsIXULAppInfo ) ; return ! 0 } ) ( ) ; var J = "StopIteration" in h ? h . StopIteration : Error ( "StopIteration" ) ; function K ( ) { } K . prototype . next = function ( ) { throw J ; } ; function L ( a , c , b , d , e ) { this . a = ! ! c ; a && M ( this , a , d ) ; this . depth = void 0 != e ? e : this . c || 0 ; this . a && ( this . depth *= - 1 ) ; this . e = ! b } j ( L , K ) ; L . prototype . b = f ; L . prototype . c = 0 ; L . prototype . d = g ; function M ( a , c , b ) { if ( a . b = c ) a . c = "number" == typeof b ? b : 1 != a . b . nodeType ? 0 : a . a ? - 1 : 1 }
L . prototype . next = function ( ) { var a ; if ( this . d ) { if ( ! this . b || this . e && 0 == this . depth ) throw J ; a = this . b ; var c = this . a ? - 1 : 1 ; if ( this . c == c ) { var b = this . a ? a . lastChild : a . firstChild ; b ? M ( this , b ) : M ( this , a , - 1 * c ) } else ( b = this . a ? a . previousSibling : a . nextSibling ) ? M ( this , b ) : M ( this , a . parentNode , - 1 * c ) ; this . depth += this . c * ( this . a ? - 1 : 1 ) } else this . d = ! 0 ; a = this . b ; if ( ! this . b ) throw J ; return a } ;
L . prototype . splice = function ( a ) { var c = this . b , b = this . a ? 1 : - 1 ; this . c == b && ( this . c = - 1 * b , this . depth += this . c * ( this . a ? - 1 : 1 ) ) ; this . a = ! this . a ; L . prototype . next . call ( this ) ; this . a = ! this . a ; for ( var b = arguments [ 0 ] , d = i ( b ) , b = "array" == d || "object" == d && "number" == typeof b . length ? arguments [ 0 ] : arguments , d = b . length - 1 ; 0 <= d ; d -- ) c . parentNode && c . parentNode . insertBefore ( b [ d ] , c . nextSibling ) ; c && c . parentNode && c . parentNode . removeChild ( c ) } ; function N ( a , c , b , d ) { L . call ( this , a , c , b , f , d ) } j ( N , L ) ; N . prototype . next = function ( ) { do N . f . next . call ( this ) ; while ( - 1 == this . c ) ; return this . b } ; function O ( a , c ) { return ! ! a && 1 == a . nodeType && ( ! c || a . tagName . toUpperCase ( ) == c ) } function P ( a ) { return O ( a , "OPTION" ) ? ! 0 : O ( a , "INPUT" ) ? ( a = a . type . toLowerCase ( ) , "checkbox" == a || "radio" == a ) : g } var Q = { "class" : "className" , readonly : "readOnly" } , R = [ "checked" , "disabled" , "draggable" , "hidden" ] ;
function S ( a , c ) { var b = Q [ c ] || c , d = a [ b ] ; if ( void 0 === d && 0 <= u ( R , b ) ) return g ; if ( b = "value" == c ) if ( b = O ( a , "OPTION" ) ) { var e ; b = c . toLowerCase ( ) ; if ( a . hasAttribute ) e = a . hasAttribute ( b ) ; else try { e = a . attributes [ b ] . specified } catch ( Y ) { e = g } b = ! e } b && ( d = [ ] , I ( a , d , g ) , d = d . join ( "" ) ) ; return d } var T = "async,autofocus,autoplay,checked,compact,complete,controls,declare,defaultchecked,defaultselected,defer,disabled,draggable,ended,formnovalidate,hidden,indeterminate,iscontenteditable,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,paused,pubdate,readonly,required,reversed,scoped,seamless,seeking,selected,spellcheck,truespeed,willvalidate" . split ( "," ) ;
function U ( a , c ) { if ( 8 == a . nodeType ) return f ; c = c . toLowerCase ( ) ; if ( "style" == c ) { var b = l ( a . style . cssText ) . toLowerCase ( ) ; return b = ";" == b . charAt ( b . length - 1 ) ? b : b + ";" } b = a . getAttributeNode ( c ) ; return ! b ? f : 0 <= u ( T , c ) ? "true" : b . specified ? b . value : f } ; function V ( a , c ) { var b = f , d = c . toLowerCase ( ) ; if ( "style" == c . toLowerCase ( ) ) { if ( ( b = a . style ) && "string" != typeof b ) b = b . cssText ; return b } if ( "selected" == d || "checked" == d && P ( a ) ) { if ( ! P ( a ) ) throw new q ( 15 , "Element is not selectable" ) ; var e = "selected" , d = a . type && a . type . toLowerCase ( ) ; if ( "checkbox" == d || "radio" == d ) e = "checked" ; return S ( a , e ) ? "true" : f } b = O ( a , "A" ) ; if ( O ( a , "IMG" ) && "src" == d || b && "href" == d ) return ( b = U ( a , d ) ) && ( b = S ( a , d ) ) , b ; try { e = S ( a , c ) } catch ( Y ) { } if ( ! ( d = e == f ) ) d = i ( e ) , d = "object" == d || "array" == d || "function" == d ; b = d ? U ( a ,
c ) : e ; return b != f ? b . toString ( ) : f } var W = [ "_" ] , X = h ; ! ( W [ 0 ] in X ) && X . execScript && X . execScript ( "var " + W [ 0 ] ) ; for ( var Z ; W . length && ( Z = W . shift ( ) ) ; ) ! W . length && void 0 !== V ? X [ Z ] = V : X = X [ Z ] ? X [ Z ] : X [ Z ] = { } ; ; return this . _ . apply ( null , arguments ) ; } . apply ( { navigator : typeof window != 'undefined' ? window . navigator : null } , arguments ) ; }
//getElementText
var getElementText = function ( ) { return function ( ) { var g = void 0 , h = ! 0 , i = null , j = ! 1 , k = this ;
function l ( 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 m ( a ) { return "string" == typeof a } function n ( a , b ) { function c ( ) { } c . prototype = b . prototype ; a . h = b . prototype ; a . prototype = new c } ; function o ( a ) { var b = a . length - 1 ; return 0 <= b && a . indexOf ( " " , b ) == b } function aa ( a , b ) { for ( var c = 1 ; c < arguments . length ; c ++ ) var d = ( "" + arguments [ c ] ) . replace ( /\$/g , "$$$$" ) , a = a . replace ( /\%s/ , d ) ; return a } function p ( a ) { return a . replace ( /^[\s\xa0]+|[\s\xa0]+$/g , "" ) } var q = { } ; function ba ( a ) { return q [ a ] || ( q [ a ] = ( "" + a ) . replace ( /\-([a-z])/g , function ( a , c ) { return c . toUpperCase ( ) } ) ) } ; var s , ca = "" , u = /rv\:([^\);]+)(\)|;)/ . exec ( k . navigator ? k . navigator . userAgent : i ) ; s = ca = u ? u [ 1 ] : "" ; var v = { } ; var da = window ; function w ( a , b ) { this . code = a ; this . message = b || "" ; this . name = x [ a ] || x [ 13 ] ; var c = Error ( this . message ) ; c . name = this . name ; this . stack = c . stack || "" } n ( w , Error ) ;
var x = { 7 : "NoSuchElementError" , 8 : "NoSuchFrameError" , 9 : "UnknownCommandError" , 10 : "StaleElementReferenceError" , 11 : "ElementNotVisibleError" , 12 : "InvalidElementStateError" , 13 : "UnknownError" , 15 : "ElementNotSelectableError" , 19 : "XPathLookupError" , 23 : "NoSuchWindowError" , 24 : "InvalidCookieDomainError" , 25 : "UnableToSetCookieError" , 26 : "ModalDialogOpenedError" , 27 : "NoModalDialogOpenError" , 28 : "ScriptTimeoutError" , 32 : "InvalidSelectorError" , 33 : "SqlDatabaseError" , 34 : "MoveTargetOutOfBoundsError" } ;
w . prototype . toString = function ( ) { return "[" + this . name + "] " + this . message } ; function y ( a ) { this . stack = Error ( ) . stack || "" ; a && ( this . message = "" + a ) } n ( y , Error ) ; y . prototype . name = "CustomError" ; function z ( a , b ) { b . unshift ( a ) ; y . call ( this , aa . apply ( i , b ) ) ; b . shift ( ) } n ( z , y ) ; z . prototype . name = "AssertionError" ; function ea ( a , b ) { for ( var c = a . length , d = m ( a ) ? a . split ( "" ) : a , e = 0 ; e < c ; e ++ ) e in d && b . call ( g , d [ e ] , e , a ) } function fa ( a , b ) { for ( var c = a . length , d = m ( a ) ? a . split ( "" ) : a , e = 0 ; e < c ; e ++ ) if ( e in d && b . call ( g , d [ e ] , e , a ) ) return h ; return j } function A ( a , b ) { var c ; a : if ( m ( a ) ) c = ! m ( b ) || 1 != b . length ? - 1 : a . indexOf ( b , 0 ) ; else { for ( c = 0 ; c < a . length ; c ++ ) if ( c in a && a [ c ] === b ) break a ; c = - 1 } return 0 <= c } ; var B ;
if ( ! v [ "1.9.1" ] ) { for ( var C = 0 , D = p ( "" + s ) . split ( "." ) , E = p ( "1.9.1" ) . split ( "." ) , ga = Math . max ( D . length , E . length ) , F = 0 ; 0 == C && F < ga ; F ++ ) { var ha = D [ F ] || "" , ia = E [ F ] || "" , ja = RegExp ( "(\\d*)(\\D*)" , "g" ) , ka = RegExp ( "(\\d*)(\\D*)" , "g" ) ; do { var G = ja . exec ( ha ) || [ "" , "" , "" ] , H = ka . exec ( ia ) || [ "" , "" , "" ] ; if ( 0 == G [ 0 ] . length && 0 == H [ 0 ] . length ) break ; C = ( ( 0 == G [ 1 ] . length ? 0 : parseInt ( G [ 1 ] , 10 ) ) < ( 0 == H [ 1 ] . length ? 0 : parseInt ( H [ 1 ] , 10 ) ) ? - 1 : ( 0 == G [ 1 ] . length ? 0 : parseInt ( G [ 1 ] , 10 ) ) > ( 0 == H [ 1 ] . length ? 0 : parseInt ( H [ 1 ] , 10 ) ) ? 1 : 0 ) || ( ( 0 == G [ 2 ] . length ) < ( 0 == H [ 2 ] . length ) ? - 1 :
( 0 == G [ 2 ] . length ) > ( 0 == H [ 2 ] . length ) ? 1 : 0 ) || ( G [ 2 ] < H [ 2 ] ? - 1 : G [ 2 ] > H [ 2 ] ? 1 : 0 ) } while ( 0 == C ) } v [ "1.9.1" ] = 0 <= C } ; function I ( a , b ) { this . x = a !== g ? a : 0 ; this . y = b !== g ? b : 0 } I . prototype . toString = function ( ) { return "(" + this . x + ", " + this . y + ")" } ; function J ( a , b ) { this . width = a ; this . height = b } J . prototype . toString = function ( ) { return "(" + this . width + " x " + this . height + ")" } ; var K = 3 ; function L ( a ) { return 9 == a . nodeType ? a : a . ownerDocument || a . document } function la ( a , b ) { var c = [ ] ; return M ( a , b , c , h ) ? c [ 0 ] : g } function M ( a , b , c , d ) { if ( a != i ) for ( a = a . firstChild ; a ; ) { if ( b ( a ) && ( c . push ( a ) , d ) || M ( a , b , c , d ) ) return h ; a = a . nextSibling } return j } function ma ( a , b ) { for ( var a = a . parentNode , c = 0 ; a ; ) { if ( b ( a ) ) return a ; a = a . parentNode ; c ++ } return i } function N ( a ) { this . g = a || k . document || document }
function na ( a ) { var b = a . g , a = "CSS1Compat" == b . compatMode ? b . documentElement : b . body , b = b . parentWindow || b . defaultView ; return new I ( b . pageXOffset || a . scrollLeft , b . pageYOffset || a . scrollTop ) } ; var oa = function ( ) { var a = { i : "http://www.w3.org/2000/svg" } ; return function ( b ) { return a [ b ] || i } } ( ) ;
function pa ( a , b ) { var c = function ( ) { var c ; a : { var e = L ( b ) ; if ( e . implementation . hasFeature ( "XPath" , "3.0" ) ) { try { var f = e . createNSResolver ? e . createNSResolver ( e . documentElement ) : oa ; c = e . evaluate ( a , b , f , 9 , i ) ; break a } catch ( r ) { if ( "NS_ERROR_ILLEGAL_VALUE" != r . name ) throw new w ( 32 , "Unable to locate an element with the xpath expression " + a + " because of the following error:\n" + r ) ; } c = g } else c = i } return c ? c . singleNodeValue || i : b . selectSingleNode ? ( c = L ( b ) , c . setProperty && c . setProperty ( "SelectionLanguage" , "XPath" ) , b . selectSingleNode ( a ) ) :
i } ( ) ; if ( c !== i && ( ! c || 1 != c . nodeType ) ) throw new w ( 32 , 'The result of the xpath expression "' + a + '" is: ' + c + ". It should be an element." ) ; return c } ; ( function ( ) { var a = k . Components ; if ( ! a ) return j ; try { if ( ! a . classes ) return j } catch ( b ) { return j } var c = a . classes , a = a . interfaces ; c [ "@mozilla.org/xpcom/version-comparator;1" ] . getService ( a . nsIVersionComparator ) ; c [ "@mozilla.org/xre/app-info;1" ] . getService ( a . nsIXULAppInfo ) ; return h } ) ( ) ; var P = "StopIteration" in k ? k . StopIteration : Error ( "StopIteration" ) ; function qa ( ) { } qa . prototype . next = function ( ) { throw P ; } ; function Q ( a , b , c , d , e ) { this . a = ! ! b ; a && R ( this , a , d ) ; this . depth = e != g ? e : this . c || 0 ; this . a && ( this . depth *= - 1 ) ; this . f = ! c } n ( Q , qa ) ; Q . prototype . b = i ; Q . prototype . c = 0 ; Q . prototype . e = j ; function R ( a , b , c ) { if ( a . b = b ) a . c = "number" == typeof c ? c : 1 != a . b . nodeType ? 0 : a . a ? - 1 : 1 }
Q . prototype . next = function ( ) { var a ; if ( this . e ) { if ( ! this . b || this . f && 0 == this . depth ) throw P ; a = this . b ; var b = this . a ? - 1 : 1 ; if ( this . c == b ) { var c = this . a ? a . lastChild : a . firstChild ; c ? R ( this , c ) : R ( this , a , - 1 * b ) } else ( c = this . a ? a . previousSibling : a . nextSibling ) ? R ( this , c ) : R ( this , a . parentNode , - 1 * b ) ; this . depth += this . c * ( this . a ? - 1 : 1 ) } else this . e = h ; a = this . b ; if ( ! this . b ) throw P ; return a } ;
Q . prototype . splice = function ( a ) { var b = this . b , c = this . a ? 1 : - 1 ; this . c == c && ( this . c = - 1 * c , this . depth += this . c * ( this . a ? - 1 : 1 ) ) ; this . a = ! this . a ; Q . prototype . next . call ( this ) ; this . a = ! this . a ; for ( var c = arguments [ 0 ] , d = l ( c ) , c = "array" == d || "object" == d && "number" == typeof c . length ? arguments [ 0 ] : arguments , d = c . length - 1 ; 0 <= d ; d -- ) b . parentNode && b . parentNode . insertBefore ( c [ d ] , b . nextSibling ) ; b && b . parentNode && b . parentNode . removeChild ( b ) } ; function S ( a , b , c , d ) { Q . call ( this , a , b , c , i , d ) } n ( S , Q ) ; S . prototype . next = function ( ) { do S . h . next . call ( this ) ; while ( - 1 == this . c ) ; return this . b } ; function ra ( a , b ) { var c = L ( a ) ; return c . defaultView && c . defaultView . getComputedStyle && ( c = c . defaultView . getComputedStyle ( a , i ) ) ? c [ b ] || c . getPropertyValue ( b ) : "" } function T ( a , b ) { return ra ( a , b ) || ( a . currentStyle ? a . currentStyle [ b ] : i ) || a . style && a . style [ b ] }
function sa ( a ) { for ( var b = L ( a ) , c = T ( a , "position" ) , d = "fixed" == c || "absolute" == c , a = a . parentNode ; a && a != b ; a = a . parentNode ) if ( c = T ( 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 i }
function ta ( a ) { var b = new I ; if ( 1 == a . nodeType ) if ( a . getBoundingClientRect ) a = a . getBoundingClientRect ( ) , b . x = a . left , b . y = a . top ; else { var c = na ( a ? new N ( L ( a ) ) : B || ( B = new N ) ) ; var d , e = L ( a ) , f = T ( a , "position" ) , r = e . getBoxObjectFor && ! a . getBoundingClientRect && "absolute" == f && ( d = e . getBoxObjectFor ( a ) ) && ( 0 > d . screenX || 0 > d . screenY ) , f = new I ( 0 , 0 ) , t = ( e ? 9 == e . nodeType ? e : L ( e ) : document ) . documentElement ; if ( a != t ) if ( a . getBoundingClientRect ) d = a . getBoundingClientRect ( ) , a = na ( e ? new N ( L ( e ) ) : B || ( B = new N ) ) , f . x = d . left + a . x , f . y = d . top + a . y ; else if ( e . getBoxObjectFor &&
! r ) d = e . getBoxObjectFor ( a ) , a = e . getBoxObjectFor ( t ) , f . x = d . screenX - a . screenX , f . y = d . screenY - a . screenY ; else { d = a ; do f . x += d . offsetLeft , f . y += d . offsetTop , d != a && ( f . x += d . clientLeft || 0 , f . y += d . clientTop || 0 ) , d = d . offsetParent ; while ( d && d != a ) ; for ( d = a ; ( d = sa ( d ) ) && d != e . body && d != t ; ) f . x -= d . scrollLeft , f . y -= d . scrollTop } b . x = f . x - c . x ; b . y = f . y - c . y } else c = "function" == l ( a . d ) , d = a , a . targetTouches ? d = a . targetTouches [ 0 ] : c && a . d ( ) . targetTouches && ( d = a . d ( ) . targetTouches [ 0 ] ) , b . x = d . clientX , b . y = d . clientY ; return b }
function ua ( a ) { var b = a . offsetWidth , c = a . offsetHeight ; return b === g && a . getBoundingClientRect ? ( a = a . getBoundingClientRect ( ) , new J ( a . right - a . left , a . bottom - a . top ) ) : new J ( b , c ) } ; function U ( a , b ) { return ! ! a && 1 == a . nodeType && ( ! b || a . tagName . toUpperCase ( ) == b ) } var va = "async,autofocus,autoplay,checked,compact,complete,controls,declare,defaultchecked,defaultselected,defer,disabled,draggable,ended,formnovalidate,hidden,indeterminate,iscontenteditable,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,paused,pubdate,readonly,required,reversed,scoped,seamless,seeking,selected,spellcheck,truespeed,willvalidate" . split ( "," ) ;
function V ( a ) { for ( a = a . parentNode ; a && 1 != a . nodeType && 9 != a . nodeType && 11 != a . nodeType ; ) a = a . parentNode ; return U ( a ) ? a : i } function W ( a , b ) { b = ba ( b ) ; return ra ( a , b ) || wa ( a , b ) } function wa ( a , b ) { var c = a . currentStyle || a . style , d = c [ b ] ; d === g && "function" == l ( c . getPropertyValue ) && ( d = c . getPropertyValue ( b ) ) ; return "inherit" != d ? d !== g ? d : i : ( c = V ( a ) ) ? wa ( c , b ) : i }
function xa ( a ) { if ( "function" == l ( a . getBBox ) ) try { var b = a . getBBox ( ) ; if ( b ) return b } catch ( c ) { } if ( "none" != T ( a , "display" ) ) a = ua ( a ) ; else { var b = a . style , d = b . display , e = b . visibility , f = b . position ; b . visibility = "hidden" ; b . position = "absolute" ; b . display = "inline" ; a = ua ( a ) ; b . display = d ; b . position = f ; b . visibility = e } return a }
function X ( a , b ) { function c ( a ) { if ( "none" == W ( a , "display" ) ) return j ; a = V ( a ) ; return ! a || c ( a ) } function d ( a ) { var b = xa ( a ) ; return 0 < b . height && 0 < b . width ? h : fa ( a . childNodes , function ( a ) { return a . nodeType == K || U ( a ) && d ( a ) } ) } function e ( a ) { var b = V ( a ) ; if ( b && "hidden" == W ( b , "overflow" ) ) { var c = xa ( b ) , d = ta ( b ) , a = ta ( a ) ; return d . x + c . width < a . x || d . y + c . height < a . y ? j : e ( b ) } return h } if ( ! U ( a ) ) throw Error ( "Argument to isShown must be of type Element" ) ; if ( U ( a , "OPTION" ) || U ( a , "OPTGROUP" ) ) { var f = ma ( a , function ( a ) { return U ( a , "SELECT" ) } ) ; return ! ! f &&
X ( f , h ) } if ( U ( a , "MAP" ) ) { if ( ! a . name ) return j ; f = L ( a ) ; f = f . evaluate ? pa ( '/descendant::*[@usemap = "#' + a . name + '"]' , f ) : la ( f , function ( b ) { var c ; if ( c = U ( b ) ) 8 == b . nodeType ? b = i : ( c = "usemap" , "style" == c ? ( b = p ( b . style . cssText ) . toLowerCase ( ) , b = ";" == b . charAt ( b . length - 1 ) ? b : b + ";" ) : ( b = b . getAttributeNode ( c ) , b = ! b ? i : A ( va , c ) ? "true" : b . specified ? b . value : i ) ) , c = b == "#" + a . name ; return c } ) ; return ! ! f && X ( f , b ) } return U ( a , "AREA" ) ? ( f = ma ( a , function ( a ) { return U ( a , "MAP" ) } ) , ! ! f && X ( f , b ) ) : U ( a , "INPUT" ) && "hidden" == a . type . toLowerCase ( ) || U ( a , "NOSCRIPT" ) ||
"hidden" == W ( a , "visibility" ) || ! c ( a ) || ! b && 0 == ya ( a ) || ! d ( a ) || ! e ( a ) ? j : h } function za ( a ) { return a . replace ( /^[^\S\xa0]+|[^\S\xa0]+$/g , "" ) }
function Aa ( a , b ) { if ( U ( a , "BR" ) ) b . push ( "" ) ; else { var c = U ( a , "TD" ) , d = W ( a , "display" ) , e = ! c && ! A ( Ba , d ) ; e && ! /^[\s\xa0]*$/ . test ( b [ b . length - 1 ] || "" ) && b . push ( "" ) ; var f = X ( a ) , r = i , t = i ; f && ( r = W ( a , "white-space" ) , t = W ( a , "text-transform" ) ) ; ea ( a . childNodes , function ( a ) { a . nodeType == K && f ? Ca ( a , b , r , t ) : U ( a ) && Aa ( a , b ) } ) ; var O = b [ b . length - 1 ] || "" ; if ( ( c || "table-cell" == d ) && O && ! o ( O ) ) b [ b . length - 1 ] += " " ; e && ! /^[\s\xa0]*$/ . test ( O ) && b . push ( "" ) } } var Ba = "inline,inline-block,inline-table,none,table-cell,table-column,table-column-group" . split ( "," ) ;
function Ca ( a , b , c , d ) { a = a . nodeValue . replace ( /\u200b/g , "" ) ; a = a . replace ( /(\r\n|\r|\n)/g , "\n" ) ; if ( "normal" == c || "nowrap" == c ) a = a . replace ( /\n/g , " " ) ; a = "pre" == c || "pre-wrap" == c ? a . replace ( /[ \f\t\v\u2028\u2029]/g , "\u00a0" ) : a . replace ( /[\ \f\t\v\u2028\u2029]+/g , " " ) ; "capitalize" == d ? a = a . replace ( /(^|\s)(\S)/g , function ( a , b , c ) { return b + c . toUpperCase ( ) } ) : "uppercase" == d ? a = a . toUpperCase ( ) : "lowercase" == d && ( a = a . toLowerCase ( ) ) ; c = b . pop ( ) || "" ; o ( c ) && 0 == a . lastIndexOf ( " " , 0 ) && ( a = a . substr ( 1 ) ) ; b . push ( c + a ) }
function ya ( a ) { var b = 1 , c = W ( a , "opacity" ) ; c && ( b = Number ( c ) ) ; ( a = V ( a ) ) && ( b *= ya ( a ) ) ; return b } ; function Da ( a ) { var b ; a : { for ( b = a ; b ; ) { if ( b . tagName && "head" == b . tagName . toLowerCase ( ) ) { b = h ; break a } try { b = b . parentNode } catch ( c ) { break } } b = j } if ( b ) return b = L ( a ) , "TITLE" == a . tagName . toUpperCase ( ) && ( b ? b . parentWindow || b . defaultView : window ) == da . top ? p ( b . title ) : "" ; b = [ ] ; Aa ( a , b ) ; var d = b , a = d . length ; b = Array ( a ) ; for ( var d = m ( d ) ? d . split ( "" ) : d , e = 0 ; e < a ; e ++ ) e in d && ( b [ e ] = za . call ( g , d [ e ] ) ) ; return za ( b . join ( "\n" ) ) . replace ( /\xa0/g , " " ) } var Y = [ "_" ] , Z = k ; ! ( Y [ 0 ] in Z ) && Z . execScript && Z . execScript ( "var " + Y [ 0 ] ) ;
for ( var $ ; Y . length && ( $ = Y . shift ( ) ) ; ) ! Y . length && Da !== g ? Z [ $ ] = Da : Z = Z [ $ ] ? Z [ $ ] : Z [ $ ] = { } ; ; return this . _ . apply ( null , arguments ) ; } . apply ( { navigator : typeof window != 'undefined' ? window . navigator : null } , arguments ) ; }
//isElementEnabled
var isElementEnabled = function ( ) { return function ( ) { var e = this ; function f ( a , c ) { function b ( ) { } b . prototype = c . prototype ; a . d = c . prototype ; a . prototype = new b } ; function g ( a , c ) { for ( var b = 1 ; b < arguments . length ; b ++ ) var d = ( "" + arguments [ b ] ) . replace ( /\$/g , "$$$$" ) , a = a . replace ( /\%s/ , d ) ; return a } ; var h , i = "" , j = /rv\:([^\);]+)(\)|;)/ . exec ( e . navigator ? e . navigator . userAgent : null ) ; h = i = j ? j [ 1 ] : "" ; var k = { } ; function l ( a , c ) { this . code = a ; this . message = c || "" ; this . name = m [ a ] || m [ 13 ] ; var b = Error ( this . message ) ; b . name = this . name ; this . stack = b . stack || "" } f ( l , Error ) ;
var m = { 7 : "NoSuchElementError" , 8 : "NoSuchFrameError" , 9 : "UnknownCommandError" , 10 : "StaleElementReferenceError" , 11 : "ElementNotVisibleError" , 12 : "InvalidElementStateError" , 13 : "UnknownError" , 15 : "ElementNotSelectableError" , 19 : "XPathLookupError" , 23 : "NoSuchWindowError" , 24 : "InvalidCookieDomainError" , 25 : "UnableToSetCookieError" , 26 : "ModalDialogOpenedError" , 27 : "NoModalDialogOpenError" , 28 : "ScriptTimeoutError" , 32 : "InvalidSelectorError" , 33 : "SqlDatabaseError" , 34 : "MoveTargetOutOfBoundsError" } ;
l . prototype . toString = function ( ) { return "[" + this . name + "] " + this . message } ; function n ( a ) { this . stack = Error ( ) . stack || "" ; a && ( this . message = "" + a ) } f ( n , Error ) ; n . prototype . name = "CustomError" ; function o ( a , c ) { c . unshift ( a ) ; n . call ( this , g . apply ( null , c ) ) ; c . shift ( ) } f ( o , n ) ; o . prototype . name = "AssertionError" ; function p ( a , c ) { var b ; a : if ( "string" == typeof a ) b = "string" != typeof c || 1 != c . length ? - 1 : a . indexOf ( c , 0 ) ; else { for ( b = 0 ; b < a . length ; b ++ ) if ( b in a && a [ b ] === c ) break a ; b = - 1 } return 0 <= b } ; if ( ! k [ "1.9.1" ] ) { for ( var q = 0 , r = ( "" + h ) . replace ( /^[\s\xa0]+|[\s\xa0]+$/g , "" ) . split ( "." ) , s = "1.9.1" . replace ( /^[\s\xa0]+|[\s\xa0]+$/g , "" ) . split ( "." ) , t = Math . max ( r . length , s . length ) , u = 0 ; 0 == q && u < t ; u ++ ) { var v = r [ u ] || "" , w = s [ u ] || "" , x = RegExp ( "(\\d*)(\\D*)" , "g" ) , z = RegExp ( "(\\d*)(\\D*)" , "g" ) ; do { var A = x . exec ( v ) || [ "" , "" , "" ] , B = z . exec ( w ) || [ "" , "" , "" ] ; if ( 0 == A [ 0 ] . length && 0 == B [ 0 ] . length ) break ; q = ( ( 0 == A [ 1 ] . length ? 0 : parseInt ( A [ 1 ] , 10 ) ) < ( 0 == B [ 1 ] . length ? 0 : parseInt ( B [ 1 ] , 10 ) ) ? - 1 : ( 0 == A [ 1 ] . length ? 0 : parseInt ( A [ 1 ] , 10 ) ) > ( 0 == B [ 1 ] . length ?
0 : parseInt ( B [ 1 ] , 10 ) ) ? 1 : 0 ) || ( ( 0 == A [ 2 ] . length ) < ( 0 == B [ 2 ] . length ) ? - 1 : ( 0 == A [ 2 ] . length ) > ( 0 == B [ 2 ] . length ) ? 1 : 0 ) || ( A [ 2 ] < B [ 2 ] ? - 1 : A [ 2 ] > B [ 2 ] ? 1 : 0 ) } while ( 0 == q ) } k [ "1.9.1" ] = 0 <= q } ; ( function ( ) { var a = e . Components ; if ( ! a ) return ! 1 ; try { if ( ! a . classes ) return ! 1 } catch ( c ) { return ! 1 } var b = a . classes , a = a . interfaces ; b [ "@mozilla.org/xpcom/version-comparator;1" ] . getService ( a . nsIVersionComparator ) ; b [ "@mozilla.org/xre/app-info;1" ] . getService ( a . nsIXULAppInfo ) ; return ! 0 } ) ( ) ; function C ( a , c , b , d , y ) { this . b = ! ! c ; if ( a && ( this . a = a ) ) this . c = "number" == typeof d ? d : 1 != this . a . nodeType ? 0 : this . b ? - 1 : 1 ; this . depth = void 0 != y ? y : this . c || 0 ; this . b && ( this . depth *= - 1 ) } f ( C , function ( ) { } ) ; C . prototype . a = null ; C . prototype . c = 0 ; f ( function ( a , c , b , d ) { C . call ( this , a , c , 0 , null , d ) } , C ) ; var D = { "class" : "className" , readonly : "readOnly" } , E = [ "checked" , "disabled" , "draggable" , "hidden" ] , F = "BUTTON,INPUT,OPTGROUP,OPTION,SELECT,TEXTAREA" . split ( "," ) ; function G ( a ) { var c = a . tagName . toUpperCase ( ) ; if ( p ( F , c ) ) { var b ; b = D . disabled || "disabled" ; var d = a [ b ] ; b = void 0 === d && p ( E , b ) ? ! 1 : d ; a = b ? ! 1 : a . parentNode && 1 == a . parentNode . nodeType && "OPTGROUP" == c || "OPTION" == c ? G ( a . parentNode ) : ! 0 } else a = ! 0 ; return a } ; var H = G , I = [ "_" ] , J = e ; ! ( I [ 0 ] in J ) && J . execScript && J . execScript ( "var " + I [ 0 ] ) ; for ( var K ; I . length && ( K = I . shift ( ) ) ; ) ! I . length && void 0 !== H ? J [ K ] = H : J = J [ K ] ? J [ K ] : J [ K ] = { } ; ; return this . _ . apply ( null , arguments ) ; } . apply ( { navigator : typeof window != 'undefined' ? window . navigator : null } , arguments ) ; }
//isElementSelected
var isElementSelected = function ( ) { return function ( ) { var f = ! 1 , g = this ; function h ( a , b ) { function c ( ) { } c . prototype = b . prototype ; a . d = b . prototype ; a . prototype = new c } ; function i ( a , b ) { for ( var c = 1 ; c < arguments . length ; c ++ ) var d = ( "" + arguments [ c ] ) . replace ( /\$/g , "$$$$" ) , a = a . replace ( /\%s/ , d ) ; return a } ; var k , l = "" , m = /rv\:([^\);]+)(\)|;)/ . exec ( g . navigator ? g . navigator . userAgent : null ) ; k = l = m ? m [ 1 ] : "" ; var n = { } ; function o ( a , b ) { this . code = a ; this . message = b || "" ; this . name = p [ a ] || p [ 13 ] ; var c = Error ( this . message ) ; c . name = this . name ; this . stack = c . stack || "" } h ( o , Error ) ;
var p = { 7 : "NoSuchElementError" , 8 : "NoSuchFrameError" , 9 : "UnknownCommandError" , 10 : "StaleElementReferenceError" , 11 : "ElementNotVisibleError" , 12 : "InvalidElementStateError" , 13 : "UnknownError" , 15 : "ElementNotSelectableError" , 19 : "XPathLookupError" , 23 : "NoSuchWindowError" , 24 : "InvalidCookieDomainError" , 25 : "UnableToSetCookieError" , 26 : "ModalDialogOpenedError" , 27 : "NoModalDialogOpenError" , 28 : "ScriptTimeoutError" , 32 : "InvalidSelectorError" , 33 : "SqlDatabaseError" , 34 : "MoveTargetOutOfBoundsError" } ;
o . prototype . toString = function ( ) { return "[" + this . name + "] " + this . message } ; function q ( a ) { this . stack = Error ( ) . stack || "" ; a && ( this . message = "" + a ) } h ( q , Error ) ; q . prototype . name = "CustomError" ; function r ( a , b ) { b . unshift ( a ) ; q . call ( this , i . apply ( null , b ) ) ; b . shift ( ) } h ( r , q ) ; r . prototype . name = "AssertionError" ; if ( ! n [ "1.9.1" ] ) { for ( var s = 0 , t = ( "" + k ) . replace ( /^[\s\xa0]+|[\s\xa0]+$/g , "" ) . split ( "." ) , u = "1.9.1" . replace ( /^[\s\xa0]+|[\s\xa0]+$/g , "" ) . split ( "." ) , v = Math . max ( t . length , u . length ) , w = 0 ; 0 == s && w < v ; w ++ ) { var x = t [ w ] || "" , y = u [ w ] || "" , z = RegExp ( "(\\d*)(\\D*)" , "g" ) , A = RegExp ( "(\\d*)(\\D*)" , "g" ) ; do { var B = z . exec ( x ) || [ "" , "" , "" ] , C = A . exec ( y ) || [ "" , "" , "" ] ; if ( 0 == B [ 0 ] . length && 0 == C [ 0 ] . length ) break ; s = ( ( 0 == B [ 1 ] . length ? 0 : parseInt ( B [ 1 ] , 10 ) ) < ( 0 == C [ 1 ] . length ? 0 : parseInt ( C [ 1 ] , 10 ) ) ? - 1 : ( 0 == B [ 1 ] . length ? 0 : parseInt ( B [ 1 ] , 10 ) ) > ( 0 == C [ 1 ] . length ?
0 : parseInt ( C [ 1 ] , 10 ) ) ? 1 : 0 ) || ( ( 0 == B [ 2 ] . length ) < ( 0 == C [ 2 ] . length ) ? - 1 : ( 0 == B [ 2 ] . length ) > ( 0 == C [ 2 ] . length ) ? 1 : 0 ) || ( B [ 2 ] < C [ 2 ] ? - 1 : B [ 2 ] > C [ 2 ] ? 1 : 0 ) } while ( 0 == s ) } n [ "1.9.1" ] = 0 <= s } ; var D = { SCRIPT : 1 , STYLE : 1 , HEAD : 1 , IFRAME : 1 , OBJECT : 1 } , E = { IMG : " " , BR : "\n" } ; function F ( a , b , c ) { if ( ! ( a . nodeName in D ) ) if ( 3 == a . nodeType ) c ? b . push ( ( "" + a . nodeValue ) . replace ( /(\r\n|\r|\n)/g , "" ) ) : b . push ( a . nodeValue ) ; else if ( a . nodeName in E ) b . push ( E [ a . nodeName ] ) ; else for ( a = a . firstChild ; a ; ) F ( a , b , c ) , a = a . nextSibling } ; ( function ( ) { var a = g . Components ; if ( ! a ) return f ; try { if ( ! a . classes ) return f } catch ( b ) { return f } var c = a . classes , a = a . interfaces ; c [ "@mozilla.org/xpcom/version-comparator;1" ] . getService ( a . nsIVersionComparator ) ; c [ "@mozilla.org/xre/app-info;1" ] . getService ( a . nsIXULAppInfo ) ; return ! 0 } ) ( ) ; function G ( a , b , c , d , e ) { this . b = ! ! b ; if ( a && ( this . a = a ) ) this . c = "number" == typeof d ? d : 1 != this . a . nodeType ? 0 : this . b ? - 1 : 1 ; this . depth = void 0 != e ? e : this . c || 0 ; this . b && ( this . depth *= - 1 ) } h ( G , function ( ) { } ) ; G . prototype . a = null ; G . prototype . c = 0 ; h ( function ( a , b , c , d ) { G . call ( this , a , b , 0 , null , d ) } , G ) ; function H ( a , b ) { return ! ! a && 1 == a . nodeType && ( ! b || a . tagName . toUpperCase ( ) == b ) } function I ( a ) { return H ( a , "OPTION" ) ? ! 0 : H ( a , "INPUT" ) ? ( a = a . type . toLowerCase ( ) , "checkbox" == a || "radio" == a ) : f } var J = { "class" : "className" , readonly : "readOnly" } , K = [ "checked" , "disabled" , "draggable" , "hidden" ] ; function L ( a ) { if ( I ( a ) ) { if ( ! I ( a ) ) throw new o ( 15 , "Element is not selectable" ) ; var b = "selected" , c = a . type && a . type . toLowerCase ( ) ; if ( "checkbox" == c || "radio" == c ) b = "checked" ; var c = b , d = J [ c ] || c , b = a [ d ] , e ; if ( e = void 0 === b ) { b : if ( "string" == typeof K ) d = "string" != typeof d || 1 != d . length ? - 1 : K . indexOf ( d , 0 ) ; else { for ( e = 0 ; e < K . length ; e ++ ) if ( e in K && K [ e ] === d ) { d = e ; break b } d = - 1 } e = 0 <= d } if ( e ) a = f ; else { if ( d = "value" == c ) if ( d = H ( a , "OPTION" ) ) { var j ; c = c . toLowerCase ( ) ; if ( a . hasAttribute ) j = a . hasAttribute ( c ) ; else try { j = a . attributes [ c ] . specified } catch ( P ) { j =
f } d = ! j } d && ( j = [ ] , F ( a , j , f ) , b = j . join ( "" ) ) ; a = b } a = ! ! a } else a = f ; return a } var M = [ "_" ] , N = g ; ! ( M [ 0 ] in N ) && N . execScript && N . execScript ( "var " + M [ 0 ] ) ; for ( var O ; M . length && ( O = M . shift ( ) ) ; ) ! M . length && void 0 !== L ? N [ O ] = L : N = N [ O ] ? N [ O ] : N [ O ] = { } ; ; return this . _ . apply ( null , arguments ) ; } . apply ( { navigator : typeof window != 'undefined' ? window . navigator : null } , arguments ) ; }
2012-11-14 13:51:11 -08:00
2012-11-08 12:58:17 -08:00
// isElementDisplayed
2013-08-20 08:47:22 -07:00
var isElementDisplayed = function ( ) { return function ( ) { function h ( a ) { return function ( ) { return a } } var k = this ;
2013-07-29 13:20:50 -07:00
function m ( 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" ;
2013-08-20 08:47:22 -07:00
else if ( "function" == b && "undefined" == typeof a . call ) return "object" ; return b } function n ( a ) { return "string" == typeof a } ; function q ( a ) { var b = 0 , c = String ( r ) . replace ( /^[\s\xa0]+|[\s\xa0]+$/g , "" ) . split ( "." ) ; a = String ( a ) . replace ( /^[\s\xa0]+|[\s\xa0]+$/g , "" ) . split ( "." ) ; for ( var d = Math . max ( c . length , a . length ) , e = 0 ; 0 == b && e < d ; e ++ ) { var f = c [ e ] || "" , g = a [ e ] || "" , w = RegExp ( "(\\d*)(\\D*)" , "g" ) , p = RegExp ( "(\\d*)(\\D*)" , "g" ) ; do { var l = w . exec ( f ) || [ "" , "" , "" ] , v = p . exec ( g ) || [ "" , "" , "" ] ; if ( 0 == l [ 0 ] . length && 0 == v [ 0 ] . length ) break ; b = ( ( 0 == l [ 1 ] . length ? 0 : parseInt ( l [ 1 ] , 10 ) ) < ( 0 == v [ 1 ] . length ? 0 : parseInt ( v [ 1 ] , 10 ) ) ? - 1 : ( 0 == l [ 1 ] . length ? 0 : parseInt ( l [ 1 ] , 10 ) ) > ( 0 == v [ 1 ] . length ?
2013-07-29 13:20:50 -07:00
0 : parseInt ( v [ 1 ] , 10 ) ) ? 1 : 0 ) || ( ( 0 == l [ 2 ] . length ) < ( 0 == v [ 2 ] . length ) ? - 1 : ( 0 == l [ 2 ] . length ) > ( 0 == v [ 2 ] . length ) ? 1 : 0 ) || ( l [ 2 ] < v [ 2 ] ? - 1 : l [ 2 ] > v [ 2 ] ? 1 : 0 ) } while ( 0 == b ) } return b } function aa ( a ) { return String ( a ) . replace ( /\-([a-z])/g , function ( a , c ) { return c . toUpperCase ( ) } ) } ; var s = Array . prototype ; function t ( a , b ) { for ( var c = a . length , d = n ( a ) ? a . split ( "" ) : a , e = 0 ; e < c ; e ++ ) e in d && b . call ( void 0 , d [ e ] , e , a ) } function ba ( a , b ) { if ( a . reduce ) return a . reduce ( b , "" ) ; var c = "" ; t ( a , function ( d , e ) { c = b . call ( void 0 , c , d , e , a ) } ) ; return c } function ca ( a , b ) { for ( var c = a . length , d = n ( a ) ? a . split ( "" ) : a , e = 0 ; e < c ; e ++ ) if ( e in d && b . call ( void 0 , d [ e ] , e , a ) ) return ! 0 ; return ! 1 }
function da ( a , b ) { var c ; a : if ( n ( a ) ) c = n ( b ) && 1 == b . length ? a . indexOf ( b , 0 ) : - 1 ; else { for ( c = 0 ; c < a . length ; c ++ ) if ( c in a && a [ c ] === b ) break a ; c = - 1 } return 0 <= c } function ea ( a , b , c ) { return 2 >= arguments . length ? s . slice . call ( a , b ) : s . slice . call ( a , b , c ) } ; var u = { aliceblue : "#f0f8ff" , antiquewhite : "#faebd7" , aqua : "#00ffff" , aquamarine : "#7fffd4" , azure : "#f0ffff" , beige : "#f5f5dc" , bisque : "#ffe4c4" , black : "#000000" , blanchedalmond : "#ffebcd" , blue : "#0000ff" , blueviolet : "#8a2be2" , brown : "#a52a2a" , burlywood : "#deb887" , cadetblue : "#5f9ea0" , chartreuse : "#7fff00" , chocolate : "#d2691e" , coral : "#ff7f50" , cornflowerblue : "#6495ed" , cornsilk : "#fff8dc" , crimson : "#dc143c" , cyan : "#00ffff" , darkblue : "#00008b" , darkcyan : "#008b8b" , darkgoldenrod : "#b8860b" , darkgray : "#a9a9a9" , darkgreen : "#006400" ,
2012-11-08 12:58:17 -08:00
darkgrey : "#a9a9a9" , darkkhaki : "#bdb76b" , darkmagenta : "#8b008b" , darkolivegreen : "#556b2f" , darkorange : "#ff8c00" , darkorchid : "#9932cc" , darkred : "#8b0000" , darksalmon : "#e9967a" , darkseagreen : "#8fbc8f" , darkslateblue : "#483d8b" , darkslategray : "#2f4f4f" , darkslategrey : "#2f4f4f" , darkturquoise : "#00ced1" , darkviolet : "#9400d3" , deeppink : "#ff1493" , deepskyblue : "#00bfff" , dimgray : "#696969" , dimgrey : "#696969" , dodgerblue : "#1e90ff" , firebrick : "#b22222" , floralwhite : "#fffaf0" , forestgreen : "#228b22" , fuchsia : "#ff00ff" , gainsboro : "#dcdcdc" ,
ghostwhite : "#f8f8ff" , gold : "#ffd700" , goldenrod : "#daa520" , gray : "#808080" , green : "#008000" , greenyellow : "#adff2f" , grey : "#808080" , honeydew : "#f0fff0" , hotpink : "#ff69b4" , indianred : "#cd5c5c" , indigo : "#4b0082" , ivory : "#fffff0" , khaki : "#f0e68c" , lavender : "#e6e6fa" , lavenderblush : "#fff0f5" , lawngreen : "#7cfc00" , lemonchiffon : "#fffacd" , lightblue : "#add8e6" , lightcoral : "#f08080" , lightcyan : "#e0ffff" , lightgoldenrodyellow : "#fafad2" , lightgray : "#d3d3d3" , lightgreen : "#90ee90" , lightgrey : "#d3d3d3" , lightpink : "#ffb6c1" , lightsalmon : "#ffa07a" ,
2013-07-29 13:20:50 -07:00
lightseagreen : "#20b2aa" , lightskyblue : "#87cefa" , lightslategray : "#778899" , lightslategrey : "#778899" , lightsteelblue : "#b0c4de" , lightyellow : "#ffffe0" , lime : "#00ff00" , limegreen : "#32cd32" , linen : "#faf0e6" , magenta : "#ff00ff" , maroon : "#800000" , mediumaquamarine : "#66cdaa" , mediumblue : "#0000cd" , mediumorchid : "#ba55d3" , mediumpurple : "#9370db" , mediumseagreen : "#3cb371" , mediumslateblue : "#7b68ee" , mediumspringgreen : "#00fa9a" , mediumturquoise : "#48d1cc" , mediumvioletred : "#c71585" , midnightblue : "#191970" , mintcream : "#f5fffa" , mistyrose : "#ffe4e1" ,
moccasin : "#ffe4b5" , navajowhite : "#ffdead" , navy : "#000080" , oldlace : "#fdf5e6" , olive : "#808000" , olivedrab : "#6b8e23" , orange : "#ffa500" , orangered : "#ff4500" , orchid : "#da70d6" , palegoldenrod : "#eee8aa" , palegreen : "#98fb98" , paleturquoise : "#afeeee" , palevioletred : "#db7093" , papayawhip : "#ffefd5" , peachpuff : "#ffdab9" , peru : "#cd853f" , pink : "#ffc0cb" , plum : "#dda0dd" , powderblue : "#b0e0e6" , purple : "#800080" , red : "#ff0000" , rosybrown : "#bc8f8f" , royalblue : "#4169e1" , saddlebrown : "#8b4513" , salmon : "#fa8072" , sandybrown : "#f4a460" , seagreen : "#2e8b57" ,
seashell : "#fff5ee" , sienna : "#a0522d" , silver : "#c0c0c0" , skyblue : "#87ceeb" , slateblue : "#6a5acd" , slategray : "#708090" , slategrey : "#708090" , snow : "#fffafa" , springgreen : "#00ff7f" , steelblue : "#4682b4" , tan : "#d2b48c" , teal : "#008080" , thistle : "#d8bfd8" , tomato : "#ff6347" , turquoise : "#40e0d0" , violet : "#ee82ee" , wheat : "#f5deb3" , white : "#ffffff" , whitesmoke : "#f5f5f5" , yellow : "#ffff00" , yellowgreen : "#9acd32" } ; var fa = "background-color border-top-color border-right-color border-bottom-color border-left-color color outline-color" . split ( " " ) , ga = /#([0-9a-fA-F])([0-9a-fA-F])([0-9a-fA-F])/ ; function ha ( a ) { if ( ! x . test ( a ) ) throw Error ( "'" + a + "' is not a valid hex color" ) ; 4 == a . length && ( a = a . replace ( ga , "#$1$1$2$2$3$3" ) ) ; return a . toLowerCase ( ) } var x = /^#(?:[0-9a-f]{3}){1,2}$/i , ia = /^(?:rgba)?\((\d{1,3}),\s?(\d{1,3}),\s?(\d{1,3}),\s?(0|1|0\.\d*)\)$/i ;
function ja ( a ) { var b = a . match ( ia ) ; if ( b ) { a = Number ( b [ 1 ] ) ; var c = Number ( b [ 2 ] ) , d = Number ( b [ 3 ] ) , b = Number ( b [ 4 ] ) ; if ( 0 <= a && 255 >= a && 0 <= c && 255 >= c && 0 <= d && 255 >= d && 0 <= b && 1 >= b ) return [ a , c , d , b ] } return [ ] } var ka = /^(?:rgb)?\((0|[1-9]\d{0,2}),\s?(0|[1-9]\d{0,2}),\s?(0|[1-9]\d{0,2})\)$/i ; function la ( a ) { var b = a . match ( ka ) ; if ( b ) { a = Number ( b [ 1 ] ) ; var c = Number ( b [ 2 ] ) , b = Number ( b [ 3 ] ) ; if ( 0 <= a && 255 >= a && 0 <= c && 255 >= c && 0 <= b && 255 >= b ) return [ a , c , b ] } return [ ] } ; function y ( a , b ) { this . code = a ; this . state = z [ a ] || ma ; this . message = b || "" ; var c = this . state . replace ( /((?:^|\s+)[a-z])/g , function ( a ) { return a . toUpperCase ( ) . replace ( /^[\s\xa0]+/g , "" ) } ) , d = c . length - 5 ; if ( 0 > d || c . indexOf ( "Error" , d ) != d ) c += "Error" ; this . name = c ; c = Error ( this . message ) ; c . name = this . name ; this . stack = c . stack || "" } ( function ( ) { var a = Error ; function b ( ) { } b . prototype = a . prototype ; y . I = a . prototype ; y . prototype = new b } ) ( ) ;
var ma = "unknown error" , z = { 15 : "element not selectable" , 11 : "element not visible" , 31 : "ime engine activation failed" , 30 : "ime not available" , 24 : "invalid cookie domain" , 29 : "invalid element coordinates" , 12 : "invalid element state" , 32 : "invalid selector" , 51 : "invalid selector" , 52 : "invalid selector" , 17 : "javascript error" , 405 : "unsupported operation" , 34 : "move target out of bounds" , 27 : "no such alert" , 7 : "no such element" , 8 : "no such frame" , 23 : "no such window" , 28 : "script timeout" , 33 : "session not created" , 10 : "stale element reference" ,
2013-08-20 08:47:22 -07:00
0 : "success" , 21 : "timeout" , 25 : "unable to set cookie" , 26 : "unexpected alert open" } ; z [ 13 ] = ma ; z [ 9 ] = "unknown command" ; y . prototype . toString = function ( ) { return this . name + ": " + this . message } ; var r , na = "" , oa = /rv\:([^\);]+)(\)|;)/ . exec ( k . navigator ? k . navigator . userAgent : null ) ; r = na = oa ? oa [ 1 ] : "" ; var A = { } ; var B ; A [ "1.9.1" ] || ( A [ "1.9.1" ] = 0 <= q ( "1.9.1" ) ) ; function C ( a , b ) { this . x = void 0 !== a ? a : 0 ; this . y = void 0 !== b ? b : 0 } C . prototype . toString = function ( ) { return "(" + this . x + ", " + this . y + ")" } ; C . prototype . ceil = function ( ) { this . x = Math . ceil ( this . x ) ; this . y = Math . ceil ( this . y ) ; return this } ; C . prototype . floor = function ( ) { this . x = Math . floor ( this . x ) ; this . y = Math . floor ( this . y ) ; return this } ; C . prototype . round = function ( ) { this . x = Math . round ( this . x ) ; this . y = Math . round ( this . y ) ; return this } ; function D ( a , b ) { this . width = a ; this . height = b } D . prototype . toString = function ( ) { return "(" + this . width + " x " + this . height + ")" } ; D . prototype . ceil = function ( ) { this . width = Math . ceil ( this . width ) ; this . height = Math . ceil ( this . height ) ; return this } ; D . prototype . floor = function ( ) { this . width = Math . floor ( this . width ) ; this . height = Math . floor ( this . height ) ; return this } ; D . prototype . round = function ( ) { this . width = Math . round ( this . width ) ; this . height = Math . round ( this . height ) ; return this } ; var pa = 3 ; function E ( a , b ) { if ( a . contains && 1 == b . nodeType ) return a == b || a . contains ( b ) ; if ( "undefined" != typeof a . compareDocumentPosition ) return a == b || Boolean ( a . compareDocumentPosition ( b ) & 16 ) ; for ( ; b && a != b ; ) b = b . parentNode ; return b == a }
2013-07-29 13:20:50 -07:00
function qa ( a , b ) { if ( a == b ) return 0 ; if ( a . compareDocumentPosition ) return a . compareDocumentPosition ( b ) & 2 ? 1 : - 1 ; if ( "sourceIndex" in a || a . parentNode && "sourceIndex" in a . parentNode ) { var c = 1 == a . nodeType , d = 1 == b . nodeType ; if ( c && d ) return a . sourceIndex - b . sourceIndex ; var e = a . parentNode , f = b . parentNode ; return e == f ? ra ( a , b ) : ! c && E ( e , b ) ? - 1 * sa ( a , b ) : ! d && E ( f , a ) ? sa ( b , a ) : ( c ? a . sourceIndex : e . sourceIndex ) - ( d ? b . sourceIndex : f . sourceIndex ) } d = F ( a ) ; c = d . createRange ( ) ; c . selectNode ( a ) ; c . collapse ( ! 0 ) ; d = d . createRange ( ) ; d . selectNode ( b ) ; d . collapse ( ! 0 ) ;
2013-08-20 08:47:22 -07:00
return c . compareBoundaryPoints ( k . Range . START _TO _END , d ) } function sa ( a , b ) { var c = a . parentNode ; if ( c == b ) return - 1 ; for ( var d = b ; d . parentNode != c ; ) d = d . parentNode ; return ra ( d , a ) } function ra ( a , b ) { for ( var c = b ; c = c . previousSibling ; ) if ( c == a ) return - 1 ; return 1 } function F ( a ) { return 9 == a . nodeType ? a : a . ownerDocument || a . document } function ta ( a , b ) { a = a . parentNode ; for ( var c = 0 ; a ; ) { if ( b ( a ) ) return a ; a = a . parentNode ; c ++ } return null } function G ( a ) { this . p = a || k . document || document }
2013-07-29 13:20:50 -07:00
function ua ( a ) { var b = a . p ; a = "CSS1Compat" == b . compatMode ? b . documentElement : b . body ; b = b . parentWindow || b . defaultView ; return new C ( b . pageXOffset || a . scrollLeft , b . pageYOffset || a . scrollTop ) } G . prototype . contains = E ; function H ( a ) { var b = null , c = a . nodeType ; 1 == c && ( b = a . textContent , b = void 0 == b || null == b ? a . innerText : b , b = void 0 == b || null == b ? "" : b ) ; if ( "string" != typeof b ) if ( 9 == c || 1 == c ) { a = 9 == c ? a . documentElement : a . firstChild ; for ( var c = 0 , d = [ ] , b = "" ; a ; ) { do 1 != a . nodeType && ( b += a . nodeValue ) , d [ c ++ ] = a ; while ( a = a . firstChild ) ; for ( ; c && ! ( a = d [ -- c ] . nextSibling ) ; ) ; } } else b = a . nodeValue ; return "" + b }
function I ( a , b , c ) { if ( null === b ) return ! 0 ; try { if ( ! a . getAttribute ) return ! 1 } catch ( d ) { return ! 1 } return null == c ? ! ! a . getAttribute ( b ) : a . getAttribute ( b , 2 ) == c } function J ( a , b , c , d , e ) { return va . call ( null , a , b , n ( c ) ? c : null , n ( d ) ? d : null , e || new K ) }
function va ( a , b , c , d , e ) { b . getElementsByName && d && "name" == c ? ( b = b . getElementsByName ( d ) , t ( b , function ( b ) { a . matches ( b ) && e . add ( b ) } ) ) : b . getElementsByClassName && d && "class" == c ? ( b = b . getElementsByClassName ( d ) , t ( b , function ( b ) { b . className == d && a . matches ( b ) && e . add ( b ) } ) ) : b . getElementsByTagName && ( b = b . getElementsByTagName ( a . getName ( ) ) , t ( b , function ( a ) { I ( a , c , d ) && e . add ( a ) } ) ) ; return e } function wa ( a , b , c , d , e ) { for ( b = b . firstChild ; b ; b = b . nextSibling ) I ( b , c , d ) && a . matches ( b ) && e . add ( b ) ; return e } ; function K ( ) { this . d = this . c = null ; this . g = 0 } function xa ( a ) { this . m = a ; this . next = this . i = null } K . prototype . unshift = function ( a ) { a = new xa ( a ) ; a . next = this . c ; this . d ? this . c . i = a : this . c = this . d = a ; this . c = a ; this . g ++ } ; K . prototype . add = function ( a ) { a = new xa ( a ) ; a . i = this . d ; this . c ? this . d . next = a : this . c = this . d = a ; this . d = a ; this . g ++ } ; function ya ( a ) { return ( a = a . c ) ? a . m : null } function L ( a ) { return new za ( a , ! 1 ) } function za ( a , b ) { this . F = a ; this . j = ( this . n = b ) ? a . d : a . c ; this . r = null }
za . prototype . next = function ( ) { var a = this . j ; if ( null == a ) return null ; var b = this . r = a ; this . j = this . n ? a . i : a . next ; return b . m } ; function M ( a , b , c , d , e ) { b = b . evaluate ( d ) ; c = c . evaluate ( d ) ; var f ; if ( b instanceof K && c instanceof K ) { e = L ( b ) ; for ( d = e . next ( ) ; d ; d = e . next ( ) ) for ( b = L ( c ) , f = b . next ( ) ; f ; f = b . next ( ) ) if ( a ( H ( d ) , H ( f ) ) ) return ! 0 ; return ! 1 } if ( b instanceof K || c instanceof K ) { b instanceof K ? e = b : ( e = c , c = b ) ; e = L ( e ) ; b = typeof c ; for ( d = e . next ( ) ; d ; d = e . next ( ) ) { switch ( b ) { case "number" : d = + H ( d ) ; break ; case "boolean" : d = ! ! H ( d ) ; break ; case "string" : d = H ( d ) ; break ; default : throw Error ( "Illegal primitive type for comparison." ) ; } if ( a ( d , c ) ) return ! 0 } return ! 1 } return e ?
"boolean" == typeof b || "boolean" == typeof c ? a ( ! ! b , ! ! c ) : "number" == typeof b || "number" == typeof c ? a ( + b , + c ) : a ( b , c ) : a ( + b , + c ) } function Aa ( a , b , c , d ) { this . s = a ; this . H = b ; this . o = c ; this . q = d } Aa . prototype . toString = function ( ) { return this . s } ; var Ba = { } ; function N ( a , b , c , d ) { if ( a in Ba ) throw Error ( "Binary operator already created: " + a ) ; a = new Aa ( a , b , c , d ) ; Ba [ a . toString ( ) ] = a } N ( "div" , 6 , 1 , function ( a , b , c ) { return a . b ( c ) / b . b ( c ) } ) ; N ( "mod" , 6 , 1 , function ( a , b , c ) { return a . b ( c ) % b . b ( c ) } ) ; N ( "*" , 6 , 1 , function ( a , b , c ) { return a . b ( c ) * b . b ( c ) } ) ;
N ( "+" , 5 , 1 , function ( a , b , c ) { return a . b ( c ) + b . b ( c ) } ) ; N ( "-" , 5 , 1 , function ( a , b , c ) { return a . b ( c ) - b . b ( c ) } ) ; N ( "<" , 4 , 2 , function ( a , b , c ) { return M ( function ( a , b ) { return a < b } , a , b , c ) } ) ; N ( ">" , 4 , 2 , function ( a , b , c ) { return M ( function ( a , b ) { return a > b } , a , b , c ) } ) ; N ( "<=" , 4 , 2 , function ( a , b , c ) { return M ( function ( a , b ) { return a <= b } , a , b , c ) } ) ; N ( ">=" , 4 , 2 , function ( a , b , c ) { return M ( function ( a , b ) { return a >= b } , a , b , c ) } ) ; N ( "=" , 3 , 2 , function ( a , b , c ) { return M ( function ( a , b ) { return a == b } , a , b , c , ! 0 ) } ) ;
2013-08-20 08:47:22 -07:00
N ( "!=" , 3 , 2 , function ( a , b , c ) { return M ( function ( a , b ) { return a != b } , a , b , c , ! 0 ) } ) ; N ( "and" , 2 , 2 , function ( a , b , c ) { return a . f ( c ) && b . f ( c ) } ) ; N ( "or" , 1 , 2 , function ( a , b , c ) { return a . f ( c ) || b . f ( c ) } ) ; function Ca ( a , b , c , d , e , f , g , w , p ) { this . h = a ; this . o = b ; this . D = c ; this . C = d ; this . B = e ; this . q = f ; this . A = g ; this . w = void 0 !== w ? w : g ; this . G = ! ! p } Ca . prototype . toString = function ( ) { return this . h } ; var Da = { } ; function O ( a , b , c , d , e , f , g , w ) { if ( a in Da ) throw Error ( "Function already created: " + a + "." ) ; Da [ a ] = new Ca ( a , b , c , d , ! 1 , e , f , g , w ) } O ( "boolean" , 2 , ! 1 , ! 1 , function ( a , b ) { return b . f ( a ) } , 1 ) ; O ( "ceiling" , 1 , ! 1 , ! 1 , function ( a , b ) { return Math . ceil ( b . b ( a ) ) } , 1 ) ;
O ( "concat" , 3 , ! 1 , ! 1 , function ( a , b ) { var c = ea ( arguments , 1 ) ; return ba ( c , function ( b , c ) { return b + c . a ( a ) } ) } , 2 , null ) ; O ( "contains" , 2 , ! 1 , ! 1 , function ( a , b , c ) { b = b . a ( a ) ; a = c . a ( a ) ; return - 1 != b . indexOf ( a ) } , 2 ) ; O ( "count" , 1 , ! 1 , ! 1 , function ( a , b ) { return b . evaluate ( a ) . g } , 1 , 1 , ! 0 ) ; O ( "false" , 2 , ! 1 , ! 1 , h ( ! 1 ) , 0 ) ; O ( "floor" , 1 , ! 1 , ! 1 , function ( a , b ) { return Math . floor ( b . b ( a ) ) } , 1 ) ;
O ( "id" , 4 , ! 1 , ! 1 , function ( a , b ) { var c = a . e ( ) , d = 9 == c . nodeType ? c : c . ownerDocument , c = b . a ( a ) . split ( /\s+/ ) , e = [ ] ; t ( c , function ( a ) { ( a = d . getElementById ( a ) ) && ! da ( e , a ) && e . push ( a ) } ) ; e . sort ( qa ) ; var f = new K ; t ( e , function ( a ) { f . add ( a ) } ) ; return f } , 1 ) ; O ( "lang" , 2 , ! 1 , ! 1 , h ( ! 1 ) , 1 ) ; O ( "last" , 1 , ! 0 , ! 1 , function ( a ) { if ( 1 != arguments . length ) throw Error ( "Function last expects ()" ) ; return a . u ( ) } , 0 ) ; O ( "local-name" , 3 , ! 1 , ! 0 , function ( a , b ) { var c = b ? ya ( b . evaluate ( a ) ) : a . e ( ) ; return c ? c . nodeName . toLowerCase ( ) : "" } , 0 , 1 , ! 0 ) ;
O ( "name" , 3 , ! 1 , ! 0 , function ( a , b ) { var c = b ? ya ( b . evaluate ( a ) ) : a . e ( ) ; return c ? c . nodeName . toLowerCase ( ) : "" } , 0 , 1 , ! 0 ) ; O ( "namespace-uri" , 3 , ! 0 , ! 1 , h ( "" ) , 0 , 1 , ! 0 ) ; O ( "normalize-space" , 3 , ! 1 , ! 0 , function ( a , b ) { return ( b ? b . a ( a ) : H ( a . e ( ) ) ) . replace ( /[\s\xa0]+/g , " " ) . replace ( /^\s+|\s+$/g , "" ) } , 0 , 1 ) ; O ( "not" , 2 , ! 1 , ! 1 , function ( a , b ) { return ! b . f ( a ) } , 1 ) ; O ( "number" , 1 , ! 1 , ! 0 , function ( a , b ) { return b ? b . b ( a ) : + H ( a . e ( ) ) } , 0 , 1 ) ; O ( "position" , 1 , ! 0 , ! 1 , function ( a ) { return a . v ( ) } , 0 ) ; O ( "round" , 1 , ! 1 , ! 1 , function ( a , b ) { return Math . round ( b . b ( a ) ) } , 1 ) ;
2013-07-29 13:20:50 -07:00
O ( "starts-with" , 2 , ! 1 , ! 1 , function ( a , b , c ) { b = b . a ( a ) ; a = c . a ( a ) ; return 0 == b . lastIndexOf ( a , 0 ) } , 2 ) ; O ( "string" , 3 , ! 1 , ! 0 , function ( a , b ) { return b ? b . a ( a ) : H ( a . e ( ) ) } , 0 , 1 ) ; O ( "string-length" , 1 , ! 1 , ! 0 , function ( a , b ) { return ( b ? b . a ( a ) : H ( a . e ( ) ) ) . length } , 0 , 1 ) ;
O ( "substring" , 3 , ! 1 , ! 1 , function ( a , b , c , d ) { c = c . b ( a ) ; if ( isNaN ( c ) || Infinity == c || - Infinity == c ) return "" ; d = d ? d . b ( a ) : Infinity ; if ( isNaN ( d ) || - Infinity === d ) return "" ; c = Math . round ( c ) - 1 ; var e = Math . max ( c , 0 ) ; a = b . a ( a ) ; if ( Infinity == d ) return a . substring ( e ) ; b = Math . round ( d ) ; return a . substring ( e , c + b ) } , 2 , 3 ) ; O ( "substring-after" , 3 , ! 1 , ! 1 , function ( a , b , c ) { b = b . a ( a ) ; a = c . a ( a ) ; c = b . indexOf ( a ) ; return - 1 == c ? "" : b . substring ( c + a . length ) } , 2 ) ;
2013-08-20 08:47:22 -07:00
O ( "substring-before" , 3 , ! 1 , ! 1 , function ( a , b , c ) { b = b . a ( a ) ; a = c . a ( a ) ; a = b . indexOf ( a ) ; return - 1 == a ? "" : b . substring ( 0 , a ) } , 2 ) ; O ( "sum" , 1 , ! 1 , ! 1 , function ( a , b ) { for ( var c = L ( b . evaluate ( a ) ) , d = 0 , e = c . next ( ) ; e ; e = c . next ( ) ) d += + H ( e ) ; return d } , 1 , 1 , ! 0 ) ; O ( "translate" , 3 , ! 1 , ! 1 , function ( a , b , c , d ) { b = b . a ( a ) ; c = c . a ( a ) ; var e = d . a ( a ) ; a = [ ] ; for ( d = 0 ; d < c . length ; d ++ ) { var f = c . charAt ( d ) ; f in a || ( a [ f ] = e . charAt ( d ) ) } c = "" ; for ( d = 0 ; d < b . length ; d ++ ) f = b . charAt ( d ) , c += f in a ? a [ f ] : f ; return c } , 3 ) ; O ( "true" , 2 , ! 1 , ! 1 , h ( ! 0 ) , 0 ) ; function Ea ( a , b , c , d ) { this . h = a ; this . t = b ; this . n = c ; this . J = d } Ea . prototype . toString = function ( ) { return this . h } ; var Fa = { } ; function P ( a , b , c , d ) { if ( a in Fa ) throw Error ( "Axis already created: " + a ) ; Fa [ a ] = new Ea ( a , b , c , ! ! d ) } P ( "ancestor" , function ( a , b ) { for ( var c = new K , d = b ; d = d . parentNode ; ) a . matches ( d ) && c . unshift ( d ) ; return c } , ! 0 ) ; P ( "ancestor-or-self" , function ( a , b ) { var c = new K , d = b ; do a . matches ( d ) && c . unshift ( d ) ; while ( d = d . parentNode ) ; return c } , ! 0 ) ;
2013-07-29 13:20:50 -07:00
P ( "attribute" , function ( a , b ) { var c = new K , d = a . getName ( ) , e = b . attributes ; if ( e ) if ( "*" == d ) for ( var d = 0 , f ; f = e [ d ] ; d ++ ) c . add ( f ) ; else ( f = e . getNamedItem ( d ) ) && c . add ( f ) ; return c } , ! 1 ) ; P ( "child" , function ( a , b , c , d , e ) { return wa . call ( null , a , b , n ( c ) ? c : null , n ( d ) ? d : null , e || new K ) } , ! 1 , ! 0 ) ; P ( "descendant" , J , ! 1 , ! 0 ) ; P ( "descendant-or-self" , function ( a , b , c , d ) { var e = new K ; I ( b , c , d ) && a . matches ( b ) && e . add ( b ) ; return J ( a , b , c , d , e ) } , ! 1 , ! 0 ) ;
P ( "following" , function ( a , b , c , d ) { var e = new K ; do for ( var f = b ; f = f . nextSibling ; ) I ( f , c , d ) && a . matches ( f ) && e . add ( f ) , e = J ( a , f , c , d , e ) ; while ( b = b . parentNode ) ; return e } , ! 1 , ! 0 ) ; P ( "following-sibling" , function ( a , b ) { for ( var c = new K , d = b ; d = d . nextSibling ; ) a . matches ( d ) && c . add ( d ) ; return c } , ! 1 ) ; P ( "namespace" , function ( ) { return new K } , ! 1 ) ; P ( "parent" , function ( a , b ) { var c = new K ; if ( 9 == b . nodeType ) return c ; if ( 2 == b . nodeType ) return c . add ( b . ownerElement ) , c ; var d = b . parentNode ; a . matches ( d ) && c . add ( d ) ; return c } , ! 1 ) ;
2013-08-20 08:47:22 -07:00
P ( "preceding" , function ( a , b , c , d ) { var e = new K , f = [ ] ; do f . unshift ( b ) ; while ( b = b . parentNode ) ; for ( var g = 1 , w = f . length ; g < w ; g ++ ) { var p = [ ] ; for ( b = f [ g ] ; b = b . previousSibling ; ) p . unshift ( b ) ; for ( var l = 0 , v = p . length ; l < v ; l ++ ) b = p [ l ] , I ( b , c , d ) && a . matches ( b ) && e . add ( b ) , e = J ( a , b , c , d , e ) } return e } , ! 0 , ! 0 ) ; P ( "preceding-sibling" , function ( a , b ) { for ( var c = new K , d = b ; d = d . previousSibling ; ) a . matches ( d ) && c . unshift ( d ) ; return c } , ! 0 ) ; P ( "self" , function ( a , b ) { var c = new K ; a . matches ( b ) && c . add ( b ) ; return c } , ! 1 ) ; var Ga = function ( ) { var a = { K : "http://www.w3.org/2000/svg" } ; return function ( b ) { return a [ b ] || null } } ( ) ;
function Ha ( a , b ) { var c = function ( ) { var c ; a : { var e = F ( b ) ; try { var f = e . createNSResolver ? e . createNSResolver ( e . documentElement ) : Ga ; c = e . evaluate ( a , b , f , 9 , null ) ; break a } catch ( g ) { if ( "NS_ERROR_ILLEGAL_VALUE" != g . name ) throw new y ( 32 , "Unable to locate an element with the xpath expression " + a + " because of the following error:\n" + g ) ; } c = void 0 } return c ? c . singleNodeValue || null : b . selectSingleNode ? ( c = F ( b ) , c . setProperty && c . setProperty ( "SelectionLanguage" , "XPath" ) , b . selectSingleNode ( a ) ) : null } ( ) ; if ( null !== c && ( ! c || 1 != c . nodeType ) ) throw new y ( 32 ,
'The result of the xpath expression "' + a + '" is: ' + c + ". It should be an element." ) ; return c } ; ( function ( ) { var a = k . Components ; if ( ! a ) return ! 1 ; try { if ( ! a . classes ) return ! 1 } catch ( b ) { return ! 1 } var c = a . classes , a = a . interfaces ; c [ "@mozilla.org/xpcom/version-comparator;1" ] . getService ( a . nsIVersionComparator ) ; c [ "@mozilla.org/xre/app-info;1" ] . getService ( a . nsIXULAppInfo ) ; return ! 0 } ) ( ) ; function Q ( a , b , c , d ) { this . left = a ; this . top = b ; this . width = c ; this . height = d } Q . prototype . toString = function ( ) { return "(" + this . left + ", " + this . top + " - " + this . width + "w x " + this . height + "h)" } ; Q . prototype . contains = function ( a ) { return a instanceof Q ? 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 } ;
2013-07-29 13:20:50 -07:00
Q . prototype . ceil = function ( ) { this . left = Math . ceil ( this . left ) ; this . top = Math . ceil ( this . top ) ; this . width = Math . ceil ( this . width ) ; this . height = Math . ceil ( this . height ) ; return this } ; Q . prototype . floor = function ( ) { this . left = Math . floor ( this . left ) ; this . top = Math . floor ( this . top ) ; this . width = Math . floor ( this . width ) ; this . height = Math . floor ( this . height ) ; return this } ;
Q . prototype . round = function ( ) { this . left = Math . round ( this . left ) ; this . top = Math . round ( this . top ) ; this . width = Math . round ( this . width ) ; this . height = Math . round ( this . height ) ; return this } ; function Ia ( a , b ) { var c = F ( a ) ; return c . defaultView && c . defaultView . getComputedStyle && ( c = c . defaultView . getComputedStyle ( a , null ) ) ? c [ b ] || c . getPropertyValue ( b ) || "" : "" } function R ( a , b ) { return Ia ( a , b ) || ( a . currentStyle ? a . currentStyle [ b ] : null ) || a . style && a . style [ b ] } function Ja ( a ) { var b ; try { b = a . getBoundingClientRect ( ) } catch ( c ) { return { left : 0 , top : 0 , right : 0 , bottom : 0 } } return b }
function Ka ( a ) { var b = F ( a ) , c = R ( a , "position" ) , d = "fixed" == c || "absolute" == c ; for ( a = a . parentNode ; a && a != b ; a = a . parentNode ) if ( c = R ( 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 null }
2013-08-20 08:47:22 -07:00
function La ( a ) { if ( 1 == a . nodeType ) { var b ; if ( a . getBoundingClientRect ) b = Ja ( a ) , b = new C ( b . left , b . top ) ; else { b = ua ( a ? new G ( F ( a ) ) : B || ( B = new G ) ) ; var c , d = F ( a ) , e = R ( a , "position" ) , f = d . getBoxObjectFor && ! a . getBoundingClientRect && "absolute" == e && ( c = d . getBoxObjectFor ( a ) ) && ( 0 > c . screenX || 0 > c . screenY ) , e = new C ( 0 , 0 ) , g = ( d ? F ( d ) : document ) . documentElement ; if ( a != g ) if ( a . getBoundingClientRect ) c = Ja ( a ) , d = ua ( d ? new G ( F ( d ) ) : B || ( B = new G ) ) , e . x = c . left + d . x , e . y = c . top + d . y ; else if ( d . getBoxObjectFor && ! f ) c = d . getBoxObjectFor ( a ) , d = d . getBoxObjectFor ( g ) ,
e . x = c . screenX - d . screenX , e . y = c . screenY - d . screenY ; else { c = a ; do e . x += c . offsetLeft , e . y += c . offsetTop , c != a && ( e . x += c . clientLeft || 0 , e . y += c . clientTop || 0 ) , c = c . offsetParent ; while ( c && c != a ) ; for ( c = a ; ( c = Ka ( c ) ) && c != d . body && c != g ; ) e . x -= c . scrollLeft , e . y -= c . scrollTop } b = new C ( e . x - b . x , e . y - b . y ) } A [ 12 ] || ( A [ 12 ] = 0 <= q ( 12 ) ) ? a = b : ( ( c = R ( a , "-moz-transform" ) ) || ( c = R ( a , "transform" ) ) , a = c ? ( a = c . match ( Ma ) ) ? new C ( parseFloat ( a [ 1 ] ) , parseFloat ( a [ 2 ] ) ) : new C ( 0 , 0 ) : new C ( 0 , 0 ) , a = new C ( b . x + a . x , b . y + a . y ) ) ; return a } b = "function" == m ( a . k ) ; c = a ; a . targetTouches ?
2013-07-29 13:20:50 -07:00
c = a . targetTouches [ 0 ] : b && a . k ( ) . targetTouches && ( c = a . k ( ) . targetTouches [ 0 ] ) ; return new C ( c . clientX , c . clientY ) } var Ma = /matrix\([0-9\.\-]+, [0-9\.\-]+, [0-9\.\-]+, [0-9\.\-]+, ([0-9\.\-]+)p?x?, ([0-9\.\-]+)p?x?\)/ ; function S ( a , b ) { return ! ! a && 1 == a . nodeType && ( ! b || a . tagName . toUpperCase ( ) == b ) } function T ( a ) { for ( a = a . parentNode ; a && 1 != a . nodeType && 9 != a . nodeType && 11 != a . nodeType ; ) a = a . parentNode ; return S ( a ) ? a : null }
function U ( a , b ) { var c = aa ( b ) ; if ( "float" == c || "cssFloat" == c || "styleFloat" == c ) c = "cssFloat" ; c = Ia ( a , c ) || Na ( a , c ) ; if ( null === c ) c = null ; else if ( da ( fa , b ) && ( x . test ( "#" == c . charAt ( 0 ) ? c : "#" + c ) || la ( c ) . length || u && u [ c . toLowerCase ( ) ] || ja ( c ) . length ) ) { var d = ja ( c ) ; if ( ! d . length ) { a : if ( d = la ( c ) , ! d . length ) { d = ( d = u [ c . toLowerCase ( ) ] ) ? d : "#" == c . charAt ( 0 ) ? c : "#" + c ; if ( x . test ( d ) && ( d = ha ( d ) , d = ha ( d ) , d = [ parseInt ( d . substr ( 1 , 2 ) , 16 ) , parseInt ( d . substr ( 3 , 2 ) , 16 ) , parseInt ( d . substr ( 5 , 2 ) , 16 ) ] , d . length ) ) break a ; d = [ ] } 3 == d . length && d . push ( 1 ) } c = 4 != d . length ?
c : "rgba(" + d . join ( ", " ) + ")" } return c } function Na ( a , b ) { var c = a . currentStyle || a . style , d = c [ b ] ; void 0 === d && "function" == m ( c . getPropertyValue ) && ( d = c . getPropertyValue ( b ) ) ; return "inherit" != d ? void 0 !== d ? d : null : ( c = T ( a ) ) ? Na ( c , b ) : null }
2013-08-20 08:47:22 -07:00
function V ( a , b ) { function c ( a ) { if ( "none" == U ( a , "display" ) ) return ! 1 ; a = T ( a ) ; return ! a || c ( a ) } function d ( a ) { if ( a . hasAttribute ) { if ( a . hasAttribute ( "hidden" ) ) return ! 1 } else return ! 0 ; a = T ( a ) ; return ! a || d ( a ) } function e ( a ) { var b = W ( a ) ; return 0 < b . height && 0 < b . width ? ! 0 : S ( a , "PATH" ) && ( 0 < b . height || 0 < b . width ) ? ( a = U ( a , "stroke-width" ) , ! ! a && 0 < parseInt ( a , 10 ) ) : "hidden" != U ( a , "overflow" ) && ca ( a . childNodes , function ( a ) { return a . nodeType == pa || S ( a ) && e ( a ) } ) } function f ( a ) { var b = U ( a , "-o-transform" ) || U ( a , "-webkit-transform" ) || U ( a , "-ms-transform" ) ||
U ( a , "-moz-transform" ) || U ( a , "transform" ) ; if ( b && "none" !== b ) return b = La ( a ) , a = W ( a ) , 0 <= b . x + a . width && 0 <= b . y + a . height ? ! 0 : ! 1 ; a = T ( a ) ; return ! a || f ( a ) } if ( ! S ( a ) ) throw Error ( "Argument to isShown must be of type Element" ) ; if ( S ( a , "OPTION" ) || S ( a , "OPTGROUP" ) ) { var g = ta ( a , function ( a ) { return S ( a , "SELECT" ) } ) ; return ! ! g && V ( g , ! 0 ) } return ( g = Oa ( a ) ) ? ! ! g . l && 0 < g . rect . width && 0 < g . rect . height && V ( g . l , b ) : S ( a , "INPUT" ) && "hidden" == a . type . toLowerCase ( ) || S ( a , "NOSCRIPT" ) || "hidden" == U ( a , "visibility" ) || ! c ( a ) || ! b && 0 == Pa ( a ) || ! d ( a ) || ! e ( a ) || Qa ( a ) ==
X ? ! 1 : f ( a ) } var X = "hidden" ;
function Qa ( a ) { function b ( a ) { var b = a ; if ( "visible" == w ) if ( a == f ) b = g ; else if ( a == g ) return { x : "visible" , y : "visible" } ; b = { x : U ( b , "overflow-x" ) , y : U ( b , "overflow-y" ) } ; a == f && ( b . x = "hidden" == b . x ? "hidden" : "auto" , b . y = "hidden" == b . y ? "hidden" : "auto" ) ; return b } function c ( a ) { var b = U ( a , "position" ) ; if ( "fixed" == b ) return f ; for ( a = T ( a ) ; a && a != f && ( 0 == U ( a , "display" ) . lastIndexOf ( "inline" , 0 ) || "absolute" == b && "static" == U ( a , "position" ) ) ; ) a = T ( a ) ; return a } var d = W ( a ) , e = F ( a ) , f = e . documentElement , g = e . body || f , w = U ( f , "overflow" ) ; for ( a = c ( a ) ; a ; a =
2013-07-29 13:20:50 -07:00
c ( a ) ) { var p = W ( a ) , e = b ( a ) , l = d . left >= p . left + p . width , p = d . top >= p . top + p . height ; if ( l && "hidden" == e . x || p && "hidden" == e . y ) return X ; if ( l && "visible" != e . x || p && "visible" != e . y ) return Qa ( a ) == X ? X : "scroll" } return "none" }
function W ( a ) { var b = Oa ( a ) ; if ( b ) return b . rect ; if ( "function" == m ( a . getBBox ) ) try { var c = a . getBBox ( ) ; return new Q ( c . x , c . y , c . width , c . height ) } catch ( d ) { if ( "NS_ERROR_FAILURE" === d . name || - 1 != d . message . indexOf ( "Component returned failure code: 0x80004005" ) ) return new Q ( 0 , 0 , 0 , 0 ) ; throw d ; } else { if ( S ( a , "HTML" ) ) return a = ( ( F ( a ) ? F ( a ) . parentWindow || F ( a ) . defaultView : window ) || window ) . document , a = "CSS1Compat" == a . compatMode ? a . documentElement : a . body , a = new D ( a . clientWidth , a . clientHeight ) , new Q ( 0 , 0 , a . width , a . height ) ; b = La ( a ) ;
return new Q ( b . x , b . y , a . offsetWidth , a . offsetHeight ) } }
function Oa ( a ) { var b = S ( a , "MAP" ) ; if ( ! b && ! S ( a , "AREA" ) ) return null ; var c = b ? a : S ( a . parentNode , "MAP" ) ? a . parentNode : null , d = null , e = null ; if ( c && c . name && ( d = Ha ( '/descendant::*[@usemap = "#' + c . name + '"]' , F ( c ) ) ) && ( e = W ( d ) , ! b && "default" != a . shape . toLowerCase ( ) ) ) { var f = Ra ( a ) ; a = Math . min ( Math . max ( f . left , 0 ) , e . width ) ; b = Math . min ( Math . max ( f . top , 0 ) , e . height ) ; c = Math . min ( f . width , e . width - a ) ; f = Math . min ( f . height , e . height - b ) ; e = new Q ( a + e . left , b + e . top , c , f ) } return { l : d , rect : e || new Q ( 0 , 0 , 0 , 0 ) } }
function Ra ( a ) { var b = a . shape . toLowerCase ( ) ; a = a . coords . split ( "," ) ; if ( "rect" == b && 4 == a . length ) { var b = a [ 0 ] , c = a [ 1 ] ; return new Q ( b , c , a [ 2 ] - b , a [ 3 ] - c ) } if ( "circle" == b && 3 == a . length ) return b = a [ 2 ] , new Q ( a [ 0 ] - b , a [ 1 ] - b , 2 * b , 2 * b ) ; if ( "poly" == b && 2 < a . length ) { for ( var b = a [ 0 ] , c = a [ 1 ] , d = b , e = c , f = 2 ; f + 1 < a . length ; f += 2 ) b = Math . min ( b , a [ f ] ) , d = Math . max ( d , a [ f ] ) , c = Math . min ( c , a [ f + 1 ] ) , e = Math . max ( e , a [ f + 1 ] ) ; return new Q ( b , c , d - b , e - c ) } return new Q ( 0 , 0 , 0 , 0 ) }
2013-08-20 08:47:22 -07:00
function Pa ( a ) { var b = 1 , c = U ( a , "opacity" ) ; c && ( b = Number ( c ) ) ; ( a = T ( a ) ) && ( b *= Pa ( a ) ) ; return b } ; var Sa = V , Y = [ "_" ] , Z = k ; Y [ 0 ] in Z || ! Z . execScript || Z . execScript ( "var " + Y [ 0 ] ) ; for ( var $ ; Y . length && ( $ = Y . shift ( ) ) ; ) Y . length || void 0 === Sa ? Z = Z [ $ ] ? Z [ $ ] : Z [ $ ] = { } : Z [ $ ] = Sa ; ; return this . _ . apply ( null , arguments ) ; } . apply ( { navigator : typeof window != undefined ? window . navigator : null , document : typeof window != undefined ? window . document : null } , arguments ) ; }