2016-11-28 10:42:58 +00:00
/**
* CyberChef - The Cyber Swiss Army Knife
*
* @copyright Crown Copyright 2016
* @license Apache-2.0
*
* Copyright 2016 Crown Copyright
*
* 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.
*/
"use strict" ; function BigInteger ( a , b , c ){ null != a && ( "number" == typeof a ? this . fromNumber ( a , b , c ) : null == b && "string" != typeof a ? this . fromString ( a , 256 ) : this . fromString ( a , b ))} function nbi (){ return new BigInteger ( null )} function am1 ( a , b , c , d , e , f ){ for (; -- f >= 0 ;){ var g = b * this [ a ++ ] + c [ d ] + e ; e = Math . floor ( g / 67108864 ), c [ d ++ ] = 67108863 & g } return e } function am2 ( a , b , c , d , e , f ){ for ( var g = 32767 & b , h = b >> 15 ; -- f >= 0 ;){ var i = 32767 & this [ a ], j = this [ a ++ ] >> 15 , k = h * i + j * g ; i = g * i + (( 32767 & k ) << 15 ) + c [ d ] + ( 1073741823 & e ), e = ( i >>> 30 ) + ( k >>> 15 ) + h * j + ( e >>> 30 ), c [ d ++ ] = 1073741823 & i } return e } function am3 ( a , b , c , d , e , f ){ for ( var g = 16383 & b , h = b >> 14 ; -- f >= 0 ;){ var i = 16383 & this [ a ], j = this [ a ++ ] >> 14 , k = h * i + j * g ; i = g * i + (( 16383 & k ) << 14 ) + c [ d ] + e , e = ( i >> 28 ) + ( k >> 14 ) + h * j , c [ d ++ ] = 268435455 & i } return e } function int2char ( a ){ return BI_RM . charAt ( a )} function intAt ( a , b ){ var c = BI_RC [ a . charCodeAt ( b )]; return null == c ?- 1 : c } function bnpCopyTo ( a ){ for ( var b = this . t - 1 ; b >= 0 ; -- b ) a [ b ] = this [ b ]; a . t = this . t , a . s = this . s } function bnpFromInt ( a ){ this . t = 1 , this . s = a < 0 ?- 1 : 0 , a > 0 ? this [ 0 ] = a : a <- 1 ? this [ 0 ] = a + this . DV : this . t = 0 } function nbv ( a ){ var b = nbi (); return b . fromInt ( a ), b } function bnpFromString ( a , b ){ var c ; if ( 16 == b ) c = 4 ; else if ( 8 == b ) c = 3 ; else if ( 256 == b ) c = 8 ; else if ( 2 == b ) c = 1 ; else if ( 32 == b ) c = 5 ; else { if ( 4 != b ) return void this . fromRadix ( a , b ); c = 2 } this . t = 0 , this . s = 0 ; for ( var d = a . length , e =! 1 , f = 0 ; -- d >= 0 ;){ var g = 8 == c ? 255 & a [ d ] : intAt ( a , d ); g < 0 ? "-" == a . charAt ( d ) && ( e =! 0 ) : ( e =! 1 , 0 == f ? this [ this . t ++ ] = g : f + c > this . DB ? ( this [ this . t - 1 ] |= ( g & ( 1 << this . DB - f ) - 1 ) << f , this [ this . t ++ ] = g >> this . DB - f ) : this [ this . t - 1 ] |= g << f , f += c , f >= this . DB && ( f -= this . DB ))} 8 == c && 0 != ( 128 & a [ 0 ]) && ( this . s =- 1 , f > 0 && ( this [ this . t - 1 ] |= ( 1 << this . DB - f ) - 1 << f )), this . clamp (), e && BigInteger . ZERO . subTo ( this , this )} function bnpClamp (){ for ( var a = this . s & this . DM ; this . t > 0 && this [ this . t - 1 ] == a ;) -- this . t } function bnToString ( a ){ if ( this . s < 0 ) return "-" + this . negate (). toString ( a ); var b ; if ( 16 == a ) b = 4 ; else if ( 8 == a ) b = 3 ; else if ( 2 == a ) b = 1 ; else if ( 32 == a ) b = 5 ; else { if ( 4 != a ) return this . toRadix ( a ); b = 2 } var c , d = ( 1 << b ) - 1 , e =! 1 , f = "" , g = this . t , h = this . DB - g * this . DB % b ; if ( g -- > 0 ) for ( h < this . DB && ( c = this [ g ] >> h ) > 0 && ( e =! 0 , f = int2char ( c )); g >= 0 ;) h < b ? ( c = ( this [ g ] & ( 1 << h ) - 1 ) << b - h , c |= this [ -- g ] >> ( h += this . DB - b )) : ( c = this [ g ] >> ( h -= b ) & d , h <= 0 && ( h += this . DB , -- g )), c > 0 && ( e =! 0 ), e && ( f += int2char ( c )); return e ? f : "0" } function bnNegate (){ var a = nbi (); return BigInteger . ZERO . subTo ( this , a ), a } function bnAbs (){ return this . s < 0 ? this . negate () : this } function bnCompareTo ( a ){ var b = this . s - a . s ; if ( 0 != b ) return b ; var c = this . t ; if ( b = c - a . t , 0 != b ) return this . s < 0 ?- b : b ; for (; -- c >= 0 ;) if ( 0 != ( b = this [ c ] - a [ c ])) return b ; return 0 } function nbits ( a ){ var b , c = 1 ; return 0 != ( b = a >>> 16 ) && ( a = b , c += 16 ), 0 != ( b = a >> 8 ) && ( a = b , c += 8 ), 0 != ( b = a >> 4 ) && ( a = b , c += 4 ), 0 != ( b = a >> 2 ) && ( a = b , c += 2 ), 0 != ( b = a >> 1 ) && ( a = b , c += 1 ), c } function bnBitLength (){ return this . t <= 0 ? 0 : this . DB * ( this . t - 1 ) + nbits ( this [ this . t - 1 ] ^ this . s & this . DM )} function bnpDLShiftTo ( a , b ){ var c ; for ( c = this . t - 1 ; c >= 0 ; -- c ) b [ c + a ] = this [ c ]; for ( c = a - 1 ; c >= 0 ; -- c ) b [ c ] = 0 ; b . t = this . t + a , b . s = this . s } function bnpDRShiftTo ( a , b ){ for ( var c = a ; c < this . t ; ++ c ) b [ c - a ] = this [ c ]; b . t = Math . max ( this . t - a , 0 ), b . s = this . s } function bnpLShiftTo ( a , b ){ var c , d = a % this . DB , e = this . DB - d , f = ( 1 << e ) - 1 , g = Math . floor ( a / this . DB ), h = this . s << d & this . DM ; for ( c = this . t - 1 ; c >= 0 ; -- c ) b [ c + g + 1 ] = this [ c ] >> e | h , h = ( this [ c ] & f ) << d ; for ( c = g - 1 ; c >= 0 ; -- c ) b [ c ] = 0 ; b [ g ] = h , b . t = this . t + g + 1 , b . s = this . s , b . clamp ()} function bnpRShiftTo ( a , b ){ b . s = this . s ; var c = Math . floor ( a / this . DB ); if ( c >= this . t ) return void ( b . t = 0 ); var d = a % this . DB , e = this . DB - d , f = ( 1 << d ) - 1 ; b [ 0 ] = this [ c ] >> d ; for ( var g = c + 1 ; g < this . t ; ++ g ) b [ g - c - 1 ] |= ( this [ g ] & f ) << e , b [ g - c ] = this [ g ] >> d ; d > 0 && ( b [ this . t - c - 1 ] |= ( this . s & f ) << e ), b . t = this . t - c , b . clamp ()} function bnpSubTo ( a , b ){ for ( var c = 0 , d = 0 , e = Math . min ( a . t , this . t ); c < e ;) d += this [ c ] - a [ c ], b [ c ++ ] = d & this . DM , d >>= this . DB ; if ( a . t < this . t ){ for ( d -= a . s ; c < this . t ;) d += this [ c ], b [ c ++ ] = d & this . DM , d >>= this . DB ; d += this . s } else { for ( d += this . s ; c < a . t ;) d -= a [ c ], b [ c ++ ] = d & this . DM , d >>= this . DB ; d -= a . s } b . s = d < 0 ?- 1 : 0 , d <- 1 ? b [ c ++ ] = this . DV + d : d > 0 && ( b [ c ++ ] = d ), b . t = c , b . clamp ()} function bnpMultiplyTo ( a , b ){ var c = this . abs (), d = a . abs (), e = c . t ; for ( b . t = e + d . t ; -- e >= 0 ;) b [ e ] = 0 ; for ( e = 0 ; e < d . t ; ++ e ) b [ e + c . t ] = c . am ( 0 , d [ e ], b , e , 0 , c . t ); b . s = 0 , b . clamp (), this . s != a . s && BigInteger . ZERO . subTo ( b , b )} function bnpSquareTo ( a ){ for ( var b = this . abs (), c = a . t = 2 * b . t ; -- c >= 0 ;) a [ c ] = 0 ; for ( c = 0 ; c < b . t - 1 ; ++ c ){
========================================================================
The 'jsrsasign' ( RSA - Sign JavaScript Library ) License
Copyright ( c ) 2010 - 2013 Kenji Urushima
Permission is hereby granted , free of charge , to any person obtaining a copy
of this software and associated documentation files ( the "Software" ), to deal
in the Software without restriction , including without limitation the rights
to use , copy , modify , merge , publish , distribute , sublicense , and / or sell
copies of the Software , and to permit persons to whom the Software is
furnished to do so , subject to the following conditions :
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software .
THE SOFTWARE IS PROVIDED "AS IS" , WITHOUT WARRANTY OF ANY KIND , EXPRESS OR
IMPLIED , INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY ,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT . IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM , DAMAGES OR OTHER
LIABILITY , WHETHER IN AN ACTION OF CONTRACT , TORT OR OTHERWISE , ARISING FROM ,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE .
* /
function X509 (){ this . subjectPublicKeyRSA = null , this . subjectPublicKeyRSA_hN = null , this . subjectPublicKeyRSA_hE = null , this . hex = null , this . getSerialNumberHex = function (){ return ASN1HEX . getDecendantHexVByNthList ( this . hex , 0 ,[ 0 , 1 ])}, this . getIssuerHex = function (){ return ASN1HEX . getDecendantHexTLVByNthList ( this . hex , 0 ,[ 0 , 3 ])}, this . getIssuerString = function (){ return X509 . hex2dn ( ASN1HEX . getDecendantHexTLVByNthList ( this . hex , 0 ,[ 0 , 3 ]))}, this . getSubjectHex = function (){ return ASN1HEX . getDecendantHexTLVByNthList ( this . hex , 0 ,[ 0 , 5 ])}, this . getSubjectString = function (){ return X509 . hex2dn ( ASN1HEX . getDecendantHexTLVByNthList ( this . hex , 0 ,[ 0 , 5 ]))}, this . getNotBefore = function (){ var a = ASN1HEX . getDecendantHexVByNthList ( this . hex , 0 ,[ 0 , 4 , 0 ]); return a = a . replace ( /(..)/g , "%$1" ), a = decodeURIComponent ( a )}, this . getNotAfter = function (){ var a = ASN1HEX . getDecendantHexVByNthList ( this . hex , 0 ,[ 0 , 4 , 1 ]); return a = a . replace ( /(..)/g , "%$1" ), a = decodeURIComponent ( a )}, this . readCertPEM = function ( a ){ var b = X509 . pemToHex ( a ), c = X509 . getPublicKeyHexArrayFromCertHex ( b ), d = new RSAKey ; d . setPublic ( c [ 0 ], c [ 1 ]), this . subjectPublicKeyRSA = d , this . subjectPublicKeyRSA_hN = c [ 0 ], this . subjectPublicKeyRSA_hE = c [ 1 ], this . hex = b }, this . readCertPEMWithoutRSAInit = function ( a ){ var b = X509 . pemToHex ( a ), c = X509 . getPublicKeyHexArrayFromCertHex ( b ); this . subjectPublicKeyRSA . setPublic ( c [ 0 ], c [ 1 ]), this . subjectPublicKeyRSA_hN = c [ 0 ], this . subjectPublicKeyRSA_hE = c [ 1 ], this . hex = b }} /** @license
========================================================================
Bootstrap v3.3.6 (http://getbootstrap.com)
Copyright 2011-2016 Twitter, Inc.
Licensed under the MIT license
*/
if ( function ( a , b ){ "object" == typeof module && "object" == typeof module . exports ? module . exports = a . document ? b ( a , ! 0 ) : function ( a ){ if ( ! a . document ) throw new Error ( "jQuery requires a window with a document" ); return b ( a )} : b ( a )}( "undefined" != typeof window ? window : this , function ( a , b ){ function c ( a ){ var b = a . length , c = _ . type ( a ); return "function" !== c &&! _ . isWindow ( a ) && ( ! ( 1 !== a . nodeType ||! b ) || ( "array" === c || 0 === b || "number" == typeof b && b > 0 && b - 1 in a ))} function d ( a , b , c ){ if ( _ . isFunction ( b )) return _ . grep ( a , function ( a , d ){ return !! b . call ( a , d , a ) !== c }); if ( b . nodeType ) return _ . grep ( a , function ( a ){ return a === b !== c }); if ( "string" == typeof b ){ if ( ha . test ( b )) return _ . filter ( b , a , c ); b = _ . filter ( b , a )} return _ . grep ( a , function ( a ){ return U . call ( b , a ) >= 0 !== c })} function e ( a , b ){ for (;( a = a [ b ]) && 1 !== a . nodeType ;); return a } function f ( a ){ var b = oa [ a ] = {}; return _ . each ( a . match ( na ) || [], function ( a , c ){ b [ c ] =! 0 }), b } function g (){ Z . removeEventListener ( "DOMContentLoaded" , g , ! 1 ), a . removeEventListener ( "load" , g , ! 1 ), _ . ready ()} function h (){ Object . defineProperty ( this . cache = {}, 0 ,{ get : function (){ return {}}}), this . expando = _ . expando + Math . random ()} function i ( a , b , c ){ var d ; if ( void 0 === c && 1 === a . nodeType ) if ( d = "data-" + b . replace ( ua , "-$1" ). toLowerCase (), c = a . getAttribute ( d ), "string" == typeof c ){ try { c = "true" === c || "false" !== c && ( "null" === c ? null :+ c + "" === c ?+ c : ta . test ( c ) ? _ . parseJSON ( c ) : c )} catch ( a ){} sa . set ( a , b , c )} else c = void 0 ; return c } function j (){ return ! 0 } function k (){ return ! 1 } function l (){ try { return Z . activeElement } catch ( a ){}} function m ( a , b ){ return _ . nodeName ( a , "table" ) && _ . nodeName ( 11 !== b . nodeType ? b : b . firstChild , "tr" ) ? a . getElementsByTagName ( "tbody" )[ 0 ] || a . appendChild ( a . ownerDocument . createElement ( "tbody" )) : a } function n ( a ){ return a . type = ( null !== a . getAttribute ( "type" )) + "/" + a . type , a } function o ( a ){ var b = Ka . exec ( a . type ); return b ? a . type = b [ 1 ] : a . removeAttribute ( "type" ), a } function p ( a , b ){ for ( var c = 0 , d = a . length ; c < d ; c ++ ) ra . set ( a [ c ], "globalEval" , ! b || ra . get ( b [ c ], "globalEval" ))} function q ( a , b ){ var c , d , e , f , g , h , i , j ; if ( 1 === b . nodeType ){ if ( ra . hasData ( a ) && ( f = ra . access ( a ), g = ra . set ( b , f ), j = f . events )){ delete g . handle , g . events = {}; for ( e in j ) for ( c = 0 , d = j [ e ]. length ; c < d ; c ++ ) _ . event . add ( b , e , j [ e ][ c ])} sa . hasData ( a ) && ( h = sa . access ( a ), i = _ . extend ({}, h ), sa . set ( b , i ))}} function r ( a , b ){ var c = a . getElementsByTagName ? a . getElementsByTagName ( b || "*" ) : a . querySelectorAll ? a . querySelectorAll ( b || "*" ) : []; return void 0 === b || b && _ . nodeName ( a , b ) ? _ . merge ([ a ], c ) : c } function s ( a , b ){ var c = b . nodeName . toLowerCase (); "input" === c && ya . test ( a . type ) ? b . checked = a . checked : "input" !== c && "textarea" !== c || ( b . defaultValue = a . defaultValue )} function t ( b , c ){ var d , e = _ ( c . createElement ( b )). appendTo ( c . body ), f = a . getDefaultComputedStyle && ( d = a . getDefaultComputedStyle ( e [ 0 ])) ? d . display : _ . css ( e [ 0 ], "display" ); return e . detach (), f } function u ( a ){ var b = Z , c = Oa [ a ]; return c || ( c = t ( a , b ), "none" !== c && c || ( Na = ( Na || _ ( "<iframe frameborder='0' width='0' height='0'/>" )). appendTo ( b . documentElement ), b = Na [ 0 ]. contentDocument , b . write (), b . close (), c = t ( a , b ), Na . detach ()), Oa [ a ] = c ), c } function v ( a , b , c ){ var d , e , f , g , h = a . style ; return c = c || Ra ( a ), c && ( g = c . getPropertyValue ( b ) || c [ b ]), c && ( "" !== g || _ . contains ( a . ownerDocument , a ) || ( g = _ . style ( a , b )), Qa . test ( g ) && Pa . test ( b ) && ( d = h . width , e = h . minWidth , f = h . maxWidth , h . minWidth = h . maxWidth = h . width = g , g = c . width , h . width = d , h . minWidth = e , h . maxWidth = f )), void 0 !== g ? g + "" : g } function w ( a , b ){ return { get : function (){ return a () ? void delete this . get : ( this . get = b ). apply ( this , arguments )}}} function x ( a , b ){ if ( b in a ) return b ; for ( var c = b [ 0 ]. toUpperCase () + b . slice ( 1 ), d = b , e = Xa . length ; e -- ;) if ( b = Xa [ e ] + c , b in a ) return b ; return d } function y ( a , b , c ){ var d = Ta . exec ( b ); return d ? Math . max ( 0 , d [ 1 ] - ( c || 0 )) + ( d [ 2 ] || "px" ) : b } function z ( a , b , c , d , e ){ for ( var f = c === ( d ? "border" : "content" ) ? 4 : "width" === b ? 1 : 0 , g = 0 ; f < 4 ; f += 2 ) "margin" === c && ( g += _ . css ( a , c + wa [ f ], ! 0 , e )), d ? ( "content" === c && ( g -= _ . css ( a , "padding" + wa [ f ], ! 0 , e )), "margin" !== c && ( g -= _ . css ( a , "border" + wa [ f ] + "Width" , ! 0 , e ))) : ( g += _ . css ( a , "padding" + wa [ f ], ! 0 , e ), "padding" !== c && ( g += _ . css ( a , "border" + wa [ f ] + "Width" , ! 0 , e ))); return g } function A ( a , b , c ){ var d =! 0 , e = "width" === b ? a . offsetWidth : a . offsetHeight , f = Ra ( a ), g = "border-box" === _ . css ( a , "boxSizing" , ! 1 , f ); if ( e <= 0 || null == e ){ if ( e = v ( a , b , f ),( e < 0 || null == e ) && ( e = a . style [ b ]), Qa . test ( e )) ret
})); for ( b = 0 ; b < c ; b ++ ) _ . find ( a , e [ b ], d ); return d = this . pushStack ( c > 1 ? _ . unique ( d ) : d ), d . selector = this . selector ? this . selector + " " + a : a , d }, filter : function ( a ){ return this . pushStack ( d ( this , a || [], ! 1 ))}, not : function ( a ){ return this . pushStack ( d ( this , a || [], ! 0 ))}, is : function ( a ){ return !! d ( this , "string" == typeof a && fa . test ( a ) ? _ ( a ) : a || [], ! 1 ). length }}); var ia , ja = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/ , ka = _ . fn . init = function ( a , b ){ var c , d ; if ( ! a ) return this ; if ( "string" == typeof a ){ if ( c = "<" === a [ 0 ] && ">" === a [ a . length - 1 ] && a . length >= 3 ? [ null , a , null ] : ja . exec ( a ), ! c ||! c [ 1 ] && b ) return ! b || b . jquery ? ( b || ia ). find ( a ) : this . constructor ( b ). find ( a ); if ( c [ 1 ]){ if ( b = b instanceof _ ? b [ 0 ] : b , _ . merge ( this , _ . parseHTML ( c [ 1 ], b && b . nodeType ? b . ownerDocument || b : Z , ! 0 )), ga . test ( c [ 1 ]) && _ . isPlainObject ( b )) for ( c in b ) _ . isFunction ( this [ c ]) ? this [ c ]( b [ c ]) : this . attr ( c , b [ c ]); return this } return d = Z . getElementById ( c [ 2 ]), d && d . parentNode && ( this . length = 1 , this [ 0 ] = d ), this . context = Z , this . selector = a , this } return a . nodeType ? ( this . context = this [ 0 ] = a , this . length = 1 , this ) : _ . isFunction ( a ) ? "undefined" != typeof ia . ready ? ia . ready ( a ) : a ( _ ) : ( void 0 !== a . selector && ( this . selector = a . selector , this . context = a . context ), _ . makeArray ( a , this ))}; ka . prototype = _ . fn , ia = _ ( Z ); var la = /^(?:parents|prev(?:Until|All))/ , ma = { children :! 0 , contents :! 0 , next :! 0 , prev :! 0 }; _ . extend ({ dir : function ( a , b , c ){ for ( var d = [], e = void 0 !== c ;( a = a [ b ]) && 9 !== a . nodeType ;) if ( 1 === a . nodeType ){ if ( e && _ ( a ). is ( c )) break ; d . push ( a )} return d }, sibling : function ( a , b ){ for ( var c = []; a ; a = a . nextSibling ) 1 === a . nodeType && a !== b && c . push ( a ); return c }}), _ . fn . extend ({ has : function ( a ){ var b = _ ( a , this ), c = b . length ; return this . filter ( function (){ for ( var a = 0 ; a < c ; a ++ ) if ( _ . contains ( this , b [ a ])) return ! 0 })}, closest : function ( a , b ){ for ( var c , d = 0 , e = this . length , f = [], g = fa . test ( a ) || "string" != typeof a ? _ ( a , b || this . context ) : 0 ; d < e ; d ++ ) for ( c = this [ d ]; c && c !== b ; c = c . parentNode ) if ( c . nodeType < 11 && ( g ? g . index ( c ) >- 1 : 1 === c . nodeType && _ . find . matchesSelector ( c , a ))){ f . push ( c ); break } return this . pushStack ( f . length > 1 ? _ . unique ( f ) : f )}, index : function ( a ){ return a ? "string" == typeof a ? U . call ( _ ( a ), this [ 0 ]) : U . call ( this , a . jquery ? a [ 0 ] : a ) : this [ 0 ] && this [ 0 ]. parentNode ? this . first (). prevAll (). length :- 1 }, add : function ( a , b ){ return this . pushStack ( _ . unique ( _ . merge ( this . get (), _ ( a , b ))))}, addBack : function ( a ){ return this . add ( null == a ? this . prevObject : this . prevObject . filter ( a ))}}), _ . each ({ parent : function ( a ){ var b = a . parentNode ; return b && 11 !== b . nodeType ? b : null }, parents : function ( a ){ return _ . dir ( a , "parentNode" )}, parentsUntil : function ( a , b , c ){ return _ . dir ( a , "parentNode" , c )}, next : function ( a ){ return e ( a , "nextSibling" )}, prev : function ( a ){ return e ( a , "previousSibling" )}, nextAll : function ( a ){ return _ . dir ( a , "nextSibling" )}, prevAll : function ( a ){ return _ . dir ( a , "previousSibling" )}, nextUntil : function ( a , b , c ){ return _ . dir ( a , "nextSibling" , c )}, prevUntil : function ( a , b , c ){ return _ . dir ( a , "previousSibling" , c )}, siblings : function ( a ){ return _ . sibling (( a . parentNode || {}). firstChild , a )}, children : function ( a ){ return _ . sibling ( a . firstChild )}, contents : function ( a ){ return a . contentDocument || _ . merge ([], a . childNodes )}}, function ( a , b ){ _ . fn [ a ] = function ( c , d ){ var e = _ . map ( this , b , c ); return "Until" !== a . slice ( - 5 ) && ( d = c ), d && "string" == typeof d && ( e = _ . filter ( d , e )), this . length > 1 && ( ma [ a ] || _ . unique ( e ), la . test ( a ) && e . reverse ()), this . pushStack ( e )}}); var na = /\S+/g , oa = {}; _ . Callbacks = function ( a ){ a = "string" == typeof a ? oa [ a ] || f ( a ) : _ . extend ({}, a ); var b , c , d , e , g , h , i = [], j =! a . once && [], k = function ( f ){ for ( b = a . memory && f , c =! 0 , h = e || 0 , e = 0 , g = i . length , d =! 0 ; i && h < g ; h ++ ) if ( i [ h ]. apply ( f [ 0 ], f [ 1 ]) ===! 1 && a . stopOnFalse ){ b =! 1 ; break } d =! 1 , i && ( j ? j . length && k ( j . shift ()) : b ? i = [] : l . disable ())}, l = { add : function (){ if ( i ){ var c = i . length ; ! function b ( c ){ _ . each ( c , function ( c , d ){ var e = _ . type ( d ); "function" === e ? a . unique && l . has ( d ) || i . push ( d ) : d && d . length && "string" !== e && b ( d )})}( arguments ), d ? g = i . length : b && ( e = c , k ( b ))} return this }, remove : function (){ return i && _ . each ( arguments , function ( a , b ){ for ( var c ;( c = _ . inArray ( b , i , c )) >- 1 ;) i . splice ( c , 1 ), d && ( c <= g && g -- , c <= h && h -- )}), this }, has : function ( a ){ return a ? _ . inArray ( a , i ) >- 1 :! ( ! i ||! i . length )}, empty : function (){ return i = [], g = 0 , this }, disable : function (){ return i = j = b = void 0 , this }, disabled : function (){ return ! i }, lock : function (){ return j = void 0 , b || l
_ . fn [ b ] = function ( a , d , e ){ return null == a || "boolean" == typeof a ? c . apply ( this , arguments ) : this . animate ( E ( b , ! 0 ), a , d , e )}}), _ . each ({ slideDown : E ( "show" ), slideUp : E ( "hide" ), slideToggle : E ( "toggle" ), fadeIn : { opacity : "show" }, fadeOut : { opacity : "hide" }, fadeToggle : { opacity : "toggle" }}, function ( a , b ){ _ . fn [ a ] = function ( a , c , d ){ return this . animate ( b , a , c , d )}}), _ . timers = [], _ . fx . tick = function (){ var a , b = 0 , c = _ . timers ; for ( Ya = _ . now (); b < c . length ; b ++ ) a = c [ b ], a () || c [ b ] !== a || c . splice ( b -- , 1 ); c . length || _ . fx . stop (), Ya = void 0 }, _ . fx . timer = function ( a ){ _ . timers . push ( a ), a () ? _ . fx . start () : _ . timers . pop ()}, _ . fx . interval = 13 , _ . fx . start = function (){ Za || ( Za = setInterval ( _ . fx . tick , _ . fx . interval ))}, _ . fx . stop = function (){ clearInterval ( Za ), Za = null }, _ . fx . speeds = { slow : 600 , fast : 200 , _default : 400 }, _ . fn . delay = function ( a , b ){ return a = _ . fx ? _ . fx . speeds [ a ] || a : a , b = b || "fx" , this . queue ( b , function ( b , c ){ var d = setTimeout ( b , a ); c . stop = function (){ clearTimeout ( d )}})}, function (){ var a = Z . createElement ( "input" ), b = Z . createElement ( "select" ), c = b . appendChild ( Z . createElement ( "option" )); a . type = "checkbox" , Y . checkOn = "" !== a . value , Y . optSelected = c . selected , b . disabled =! 0 , Y . optDisabled =! c . disabled , a = Z . createElement ( "input" ), a . value = "t" , a . type = "radio" , Y . radioValue = "t" === a . value }(); var db , eb , fb = _ . expr . attrHandle ; _ . fn . extend ({ attr : function ( a , b ){ return qa ( this , _ . attr , a , b , arguments . length > 1 )}, removeAttr : function ( a ){ return this . each ( function (){ _ . removeAttr ( this , a )})}}), _ . extend ({ attr : function ( a , b , c ){ var d , e , f = a . nodeType ; if ( a && 3 !== f && 8 !== f && 2 !== f ) return typeof a . getAttribute === za ? _ . prop ( a , b , c ) : ( 1 === f && _ . isXMLDoc ( a ) || ( b = b . toLowerCase (), d = _ . attrHooks [ b ] || ( _ . expr . match . bool . test ( b ) ? eb : db )), void 0 === c ? d && "get" in d && null !== ( e = d . get ( a , b )) ? e : ( e = _ . find . attr ( a , b ), null == e ? void 0 : e ) : null !== c ? d && "set" in d && void 0 !== ( e = d . set ( a , c , b )) ? e : ( a . setAttribute ( b , c + "" ), c ) : void _ . removeAttr ( a , b ))}, removeAttr : function ( a , b ){ var c , d , e = 0 , f = b && b . match ( na ); if ( f && 1 === a . nodeType ) for (; c = f [ e ++ ];) d = _ . propFix [ c ] || c , _ . expr . match . bool . test ( c ) && ( a [ d ] =! 1 ), a . removeAttribute ( c )}, attrHooks : { type : { set : function ( a , b ){ if ( ! Y . radioValue && "radio" === b && _ . nodeName ( a , "input" )){ var c = a . value ; return a . setAttribute ( "type" , b ), c && ( a . value = c ), b }}}}}), eb = { set : function ( a , b , c ){ return b ===! 1 ? _ . removeAttr ( a , c ) : a . setAttribute ( c , c ), c }}, _ . each ( _ . expr . match . bool . source . match ( /\w+/g ), function ( a , b ){ var c = fb [ b ] || _ . find . attr ; fb [ b ] = function ( a , b , d ){ var e , f ; return d || ( f = fb [ b ], fb [ b ] = e , e = null != c ( a , b , d ) ? b . toLowerCase () : null , fb [ b ] = f ), e }}); var gb = /^(?:input|select|textarea|button)$/i ; _ . fn . extend ({ prop : function ( a , b ){ return qa ( this , _ . prop , a , b , arguments . length > 1 )}, removeProp : function ( a ){ return this . each ( function (){ delete this [ _ . propFix [ a ] || a ]})}}), _ . extend ({ propFix : { for : "htmlFor" , class : "className" }, prop : function ( a , b , c ){ var d , e , f , g = a . nodeType ; if ( a && 3 !== g && 8 !== g && 2 !== g ) return f = 1 !== g ||! _ . isXMLDoc ( a ), f && ( b = _ . propFix [ b ] || b , e = _ . propHooks [ b ]), void 0 !== c ? e && "set" in e && void 0 !== ( d = e . set ( a , c , b )) ? d : a [ b ] = c : e && "get" in e && null !== ( d = e . get ( a , b )) ? d : a [ b ]}, propHooks : { tabIndex : { get : function ( a ){ return a . hasAttribute ( "tabindex" ) || gb . test ( a . nodeName ) || a . href ? a . tabIndex :- 1 }}}}), Y . optSelected || ( _ . propHooks . selected = { get : function ( a ){ var b = a . parentNode ; return b && b . parentNode && b . parentNode . selectedIndex , null }}), _ . each ([ "tabIndex" , "readOnly" , "maxLength" , "cellSpacing" , "cellPadding" , "rowSpan" , "colSpan" , "useMap" , "frameBorder" , "contentEditable" ], function (){ _ . propFix [ this . toLowerCase ()] = this }); var hb = /[\t\r\n\f]/g ; _ . fn . extend ({ addClass : function ( a ){ var b , c , d , e , f , g , h = "string" == typeof a && a , i = 0 , j = this . length ; if ( _ . isFunction ( a )) return this . each ( function ( b ){ _ ( this ). addClass ( a . call ( this , b , this . className ))}); if ( h ) for ( b = ( a || "" ). match ( na ) || []; i < j ; i ++ ) if ( c = this [ i ], d = 1 === c . nodeType && ( c . className ? ( " " + c . className + " " ). replace ( hb , " " ) : " " )){ for ( f = 0 ; e = b [ f ++ ];) d . indexOf ( " " + e + " " ) < 0 && ( d += e + " " ); g = _ . trim ( d ), c . className !== g && ( c . className = g )} return this }, removeClass : function ( a ){ var b , c , d , e , f , g , h = 0 === arguments . length || "string" == typeof a && a , i = 0 , j = this . length ; if ( _ . isFunction ( a )) return this . each ( function ( b ){ _ ( this ). removeClass ( a . call ( this , b , this . className ))}); if ( h ) for ( b = ( a || "" ). match ( na ) || []; i < j ; i ++ ) if ( c = this [ i ], d = 1 === c . nodeType && ( c . className ? ( " " + c . className + "
2016-12-20 20:18:16 +00:00
a(b).on(" click . bs . dropdown ",this.toggle)};g.VERSION=" 3.3 . 6 ",g.prototype.toggle=function(d){var e=a(this);if(!e.is(" . disabled , : disabled ")){var f=b(e),g=f.hasClass(" open ");if(c(),!g){" ontouchstart "in document.documentElement&&!f.closest(" . navbar - nav ").length&&a(document.createElement(" div ")).addClass(" dropdown - backdrop ").insertAfter(a(this)).on(" click ",c);var h={relatedTarget:this};if(f.trigger(d=a.Event(" show . bs . dropdown ",h)),d.isDefaultPrevented())return;e.trigger(" focus ").attr(" aria - expanded "," true "),f.toggleClass(" open ").trigger(a.Event(" shown . bs . dropdown ",h))}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(" . disabled , : disabled ")){var e=b(d),g=e.hasClass(" open ");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger(" focus "),d.trigger(" click ");var h=" li : not (. disabled ) : visible a ",i=e.find(" . dropdown - menu "+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&j<i.length-1&&j++,~j||(j=0),i.eq(j).trigger(" focus ")}}}};var h=a.fn.dropdown;a.fn.dropdown=d,a.fn.dropdown.Constructor=g,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=h,this},a(document).on(" click . bs . dropdown . data - api ",c).on(" click . bs . dropdown . data - api "," . dropdown form ",function(a){a.stopPropagation()}).on(" click . bs . dropdown . data - api ",f,g.prototype.toggle).on(" keydown . bs . dropdown . data - api ",f,g.prototype.keydown).on(" keydown . bs . dropdown . data - api "," . dropdown - menu ",g.prototype.keydown)}(jQuery),+function(a){function b(b,d){return this.each(function(){var e=a(this),f=e.data(" bs . modal "),g=a.extend({},c.DEFAULTS,e.data()," object "==typeof b&&b);f||e.data(" bs . modal ",f=new c(this,g))," string "==typeof b?f[b](d):g.show&&f.show(d)})}var c=function(b,c){this.options=c,this.$body=a(document.body),this.$element=a(b),this.$dialog=this.$element.find(" . modal - dialog "),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.options.remote&&this.$element.find(" . modal - content ").load(this.options.remote,a.proxy(function(){this.$element.trigger(" loaded . bs . modal ")},this))};c.VERSION=" 3.3 . 6 ",c.TRANSITION_DURATION=300,c.BACKDROP_TRANSITION_DURATION=150,c.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},c.prototype.toggle=function(a){return this.isShown?this.hide():this.show(a)},c.prototype.show=function(b){var d=this,e=a.Event(" show . bs . modal ",{relatedTarget:b});this.$element.trigger(e),this.isShown||e.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass(" modal - open "),this.escape(),this.resize(),this.$element.on(" click . dismiss . bs . modal ",'[data-dismiss=" modal "]',a.proxy(this.hide,this)),this.$dialog.on(" mousedown . dismiss . bs . modal ",function(){d.$element.one(" mouseup . dismiss . bs . modal ",function(b){a(b.target).is(d.$element)&&(d.ignoreBackdropClick=!0)})}),this.backdrop(function(){var e=a.support.transition&&d.$element.hasClass(" fade ");d.$element.parent().length||d.$element.appendTo(d.$body),d.$element.show().scrollTop(0),d.adjustDialog(),e&&d.$element[0].offsetWidth,d.$element.addClass(" in "),d.enforceFocus();var f=a.Event(" shown . bs . modal ",{relatedTarget:b});e?d.$dialog.one(" bsTransitionEnd ",function(){d.$element.trigger(" focus ").trigger(f)}).emulateTransitionEnd(c.TRANSITION_DURATION):d.$element.trigger(" focus ").trigger(f)}))},c.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event(" hide . bs . modal "),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),a(document).off(" focusin . bs . modal "),this.$element.removeClass(" in ").off(" click . dismiss . bs . modal ").off(" mouseup . dismiss . bs . modal "),this.$dialog.off(" mousedown . dismiss . bs . modal "),a.support.transition&&this.$element.hasClass(" fade ")?this.$element.one(" bsTransitionEnd ",a.proxy(this.hideModal,this)).emulateTransitionEnd(c.TRANSITION_DURATION):this.hideModal())},c.prototype.enforceFocus=function(){a(document).off(" focusin . bs . modal ").on(" focusin . bs . modal ",a.proxy(function(a){document===a.target||this.$element[0
2016-11-28 10:42:58 +00:00
========================================================================
bootstrap-switch - v3.1.0
http://www.bootstrap-switch.org
Copyright 2012-2013 Mattia Larentis
Licensed under the Apache License, Version 2.0 (the " License ");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an " AS IS " BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
function(){var a=[].slice;!function(b,c){var d;return d=function(){function a(a,c){null==c&&(c={}),this.$element=b(a),this.options=b.extend({},b.fn.bootstrapSwitch.defaults,{state:this.$element.is(" : checked "),size:this.$element.data(" size "),animate:this.$element.data(" animate "),disabled:this.$element.is(" : disabled "),readonly:this.$element.is(" [ readonly ] "),indeterminate:this.$element.data(" indeterminate "),inverse:this.$element.data(" inverse "),radioAllOff:this.$element.data(" radio - all - off "),onColor:this.$element.data(" on - color "),offColor:this.$element.data(" off - color "),onText:this.$element.data(" on - text "),offText:this.$element.data(" off - text "),labelText:this.$element.data(" label - text "),baseClass:this.$element.data(" base - class "),wrapperClass:this.$element.data(" wrapper - class ")},c),this.$wrapper=b(" < div > ",{class:function(a){return function(){var b;return b=[""+a.options.baseClass].concat(a._getClasses(a.options.wrapperClass)),b.push(a.options.state?""+a.options.baseClass+" - on ":""+a.options.baseClass+" - off "),null!=a.options.size&&b.push(""+a.options.baseClass+" - "+a.options.size),a.options.animate&&b.push(""+a.options.baseClass+" - animate "),a.options.disabled&&b.push(""+a.options.baseClass+" - disabled "),a.options.readonly&&b.push(""+a.options.baseClass+" - readonly "),a.options.indeterminate&&b.push(""+a.options.baseClass+" - indeterminate "),a.options.inverse&&b.push(""+a.options.baseClass+" - inverse "),a.$element.attr(" id ")&&b.push(""+a.options.baseClass+" - id - "+a.$element.attr(" id ")),b.join(" ")}}(this)()}),this.$container=b(" < div > ",{class:""+this.options.baseClass+" - container "}),this.$on=b(" < span > ",{html:this.options.onText,class:""+this.options.baseClass+" - handle - on "+this.options.baseClass+" - "+this.options.onColor}),this.$off=b(" < span > ",{html:this.options.offText,class:""+this.options.baseClass+" - handle - off "+this.options.baseClass+" - "+this.options.offColor}),this.$label=b(" < label > ",{html:this.options.labelText,class:""+this.options.baseClass+" - label "}),this.options.indeterminate&&this.$element.prop(" indeterminate ",!0),this.$element.on(" init . bootstrapSwitch ",function(b){return function(){return b.options.onInit.apply(a,arguments)}}(this)),this.$element.on(" switchChange . bootstrapSwitch ",function(b){return function(){return b.options.onSwitchChange.apply(a,arguments)}}(this)),this.$container=this.$element.wrap(this.$container).parent(),this.$wrapper=this.$container.wrap(this.$wrapper).parent(),this.$element.before(this.options.inverse?this.$off:this.$on).before(this.$label).before(this.options.inverse?this.$on:this.$off).trigger(" init . bootstrapSwitch "),this._elementHandlers(),this._handleHandlers(),this._labelHandlers(),this._formHandler()}return a.prototype._constructor=a,a.prototype.state=function(a,b){return" undefined "==typeof a?this.options.state:this.options.disabled||this.options.readonly?this.$element:this.options.state&&!this.options.radioAllOff&&this.$element.is(" : radio ")?this.$element:(this.options.indeterminate?(this.indeterminate(!1),a=!0):a=!!a,this.$element.prop(" checked ",a).trigger(" change . bootstrapSwitch ",b),this.$element)},a.prototype.toggleState=function(a){return this.options.disabled||this.options.readonly?this.$element:this.options.indeterminate?(this.indeterminate(!1),this.state(!0)):this.$element.prop(" checked ",!this.options.state).trigger(" change . bootstrapSwitch ",a)},a.prototype.size=function(a){return" undefined "==typeof a?this.options.size:(null!=this.options.size&&this.$wrapper.removeClass(""+this.options.baseClass+" - "+this.options.size),a&&this.$wrapper.addClass(""+this.options.baseClass+" - "+a),this.options.size=a,this.$element)},a.prototype.animate=function(a){return" undefined "==typeof a?this.options.animate:(a=!!a,this.$wrapper[a?" addClass ":" removeClass "](""+this.options.baseClass+" - animate "),this.options.animate=a,this.$element)},a.prototype.toggleAnimate=function(){return this.$wrapper.toggleClass(""+this.options.baseClass+" - animate "),this.options.animate=!this.options.animate,this.$element},a.prototype.disabled=function(a){return" undefined "==typeof a?this.options.disabled:(a=!!a,this.$wrapper[a?" addCl
========================================================================
Copyright ( c ) 2011 , Yahoo ! Inc . All rights reserved .
Code licensed under the BSD License :
http : //developer.yahoo.com/yui/license.html
version : 2.9 . 0
* /
var typeof_yahoo = typeof YAHOO ; if ( "undefined" == typeof_yahoo ||! YAHOO ) var YAHOO = {}; YAHOO . namespace = function (){ var a , b , c , d = arguments , e = null ; for ( a = 0 ; a < d . length ; a += 1 ) for ( c = ( "" + d [ a ]). split ( "." ), e = YAHOO , b = "YAHOO" == c [ 0 ] ? 1 : 0 ; b < c . length ; b += 1 ) e [ c [ b ]] = e [ c [ b ]] || {}, e = e [ c [ b ]]; return e }, YAHOO . log = function ( a , b , c ){ var d = YAHOO . widget . Logger ; return ! ( ! d ||! d . log ) && d . log ( a , b , c )}, YAHOO . register = function ( a , b , c ){ var d , e , f , g , h , i = YAHOO . env . modules ; for ( i [ a ] || ( i [ a ] = { versions : [], builds : []}), d = i [ a ], e = c . version , f = c . build , g = YAHOO . env . listeners , d . name = a , d . version = e , d . build = f , d . versions . push ( e ), d . builds . push ( f ), d . mainClass = b , h = 0 ; h < g . length ; h += 1 ) g [ h ]( d ); b ? ( b . VERSION = e , b . BUILD = f ) : YAHOO . log ( "mainClass is undefined for module " + a , "warn" )}, YAHOO . env = YAHOO . env || { modules : [], listeners : []}, YAHOO . env . getVersion = function ( a ){ return YAHOO . env . modules [ a ] || null }, YAHOO . env . parseUA = function ( a ){ var b , c = function ( a ){ var b = 0 ; return parseFloat ( a . replace ( /\./g , function (){ return 1 == b ++? "" : "." }))}, d = navigator , e = { ie : 0 , opera : 0 , gecko : 0 , webkit : 0 , chrome : 0 , mobile : null , air : 0 , ipad : 0 , iphone : 0 , ipod : 0 , ios : null , android : 0 , webos : 0 , caja : d && d . cajaVersion , secure :! 1 , os : null }, f = a || navigator && navigator . userAgent , g = window && window . location , h = g && g . href ; return e . secure = h && 0 === h . toLowerCase (). indexOf ( "https" ), f && ( /windows|win32/i . test ( f ) ? e . os = "windows" : /macintosh/i . test ( f ) ? e . os = "macintosh" : /rhino/i . test ( f ) && ( e . os = "rhino" ), /KHTML/ . test ( f ) && ( e . webkit = 1 ), b = f . match ( /AppleWebKit\/([^\s]*)/ ), b && b [ 1 ] && ( e . webkit = c ( b [ 1 ]), / Mobile\// . test ( f ) ? ( e . mobile = "Apple" , b = f . match ( /OS ([^\s]*)/ ), b && b [ 1 ] && ( b = c ( b [ 1 ]. replace ( "_" , "." ))), e . ios = b , e . ipad = e . ipod = e . iphone = 0 , b = f . match ( /iPad|iPod|iPhone/ ), b && b [ 0 ] && ( e [ b [ 0 ]. toLowerCase ()] = e . ios )) : ( b = f . match ( /NokiaN[^\/]*|Android \d\.\d|webOS\/\d\.\d/ ), b && ( e . mobile = b [ 0 ]), /webOS/ . test ( f ) && ( e . mobile = "WebOS" , b = f . match ( /webOS\/([^\s]*);/ ), b && b [ 1 ] && ( e . webos = c ( b [ 1 ]))), / Android/ . test ( f ) && ( e . mobile = "Android" , b = f . match ( /Android ([^\s]*);/ ), b && b [ 1 ] && ( e . android = c ( b [ 1 ])))), b = f . match ( /Chrome\/([^\s]*)/ ), b && b [ 1 ] ? e . chrome = c ( b [ 1 ]) : ( b = f . match ( /AdobeAIR\/([^\s]*)/ ), b && ( e . air = b [ 0 ]))), e . webkit || ( b = f . match ( /Opera[\s\/]([^\s]*)/ ), b && b [ 1 ] ? ( e . opera = c ( b [ 1 ]), b = f . match ( /Version\/([^\s]*)/ ), b && b [ 1 ] && ( e . opera = c ( b [ 1 ])), b = f . match ( /Opera Mini[^;]*/ ), b && ( e . mobile = b [ 0 ])) : ( b = f . match ( /MSIE\s([^;]*)/ ), b && b [ 1 ] ? e . ie = c ( b [ 1 ]) : ( b = f . match ( /Gecko\/([^\s]*)/ ), b && ( e . gecko = 1 , b = f . match ( /rv:([^\s\)]*)/ ), b && b [ 1 ] && ( e . gecko = c ( b [ 1 ]))))))), e }, YAHOO . env . ua = YAHOO . env . parseUA (), function (){ if ( YAHOO . namespace ( "util" , "widget" , "example" ), "undefined" != typeof YAHOO_config ){ var a , b = YAHOO_config . listener , c = YAHOO . env . listeners , d =! 0 ; if ( b ){ for ( a = 0 ; a < c . length ; a ++ ) if ( c [ a ] == b ){ d =! 1 ; break } d && c . push ( b )}}}(), YAHOO . lang = YAHOO . lang || {}, function (){ var a = YAHOO . lang , b = Object . prototype , c = "[object Array]" , d = "[object Function]" , e = "[object Object]" , f = [], g = { "&" : "&" , "<" : "<" , ">" : ">" , '"' : """ , "'" : "'" , "/" : "/" , "`" : "`" }, h = [ "toString" , "valueOf" ], i = { isArray : function ( a ){ return b . toString . apply ( a ) === c }, isBoolean : function ( a ){ return "boolean" == typeof a }, isFunction : function ( a ){ return "function" == typeof a || b . toString . apply ( a ) === d }, isNull : function ( a ){ return null === a }, isNumber : function ( a ){ return "number" == typeof a && isFinite ( a )}, isObject : function ( b ){ return b && ( "object" == typeof b || a . isFunction ( b )) ||! 1 }, isString : function ( a ){ return "string" == typeof a }, isUndefined : function ( a ){ return "undefined" == typeof a }, _IEEnumFix : YAHOO . env . ua . ie ? function ( c , d ){ var e , f , g ; for ( e = 0 ; e < h . length ; e += 1 ) f = h [ e ], g = d [ f ], a . isFunction ( g ) && g != b [ f ] && ( c [ f ] = g )} : function (){}, escapeHTML : function ( a ){ return a . replace ( /[&<>"'\/`]/g , function ( a ){ return g [ a ]})}, extend : function ( c , d , e ){ if ( ! d ||! c ) throw new Error ( "extend failed, please check that all dependencies are included." ); var f , g = function (){}; if ( g . prototype = d . prototype , c . prototype = new g , c . prototype . constructor = c , c . superclass = d . prototype , d . prototype . constructor == b . constructor && ( d . prototype . constructor = d ), e ){ for ( f in e ) a . hasOwnProperty ( e , f ) && ( c . prototype [ f ] = e [ f ]); a . _IEEnumFix ( c . prototype , e )}}, augmentObject : function ( b , c ){ if ( ! c ||! b ) throw new Error ( "Absorb failed, verify dependencies." ); var d , e , f = arguments , g = f [ 2 ]; if ( g && g !==! 0 ) for ( d = 2 ; d < f . length ; d += 1 ) b [ f [ d ]] = c [ f [
========================================================================
Snowfall jquery plugin version 1.51 Dec 2 nd 2012
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 .
Developed by Jason Brown for any bugs or questions email me at loktar69 @ hotmail
info on the plugin is located on Somethinghitme . com
* /
Date . now || ( Date . now = function (){ return ( new Date ). getTime ()}), function (){ for ( var a = [ "webkit" , "moz" ], b = 0 ; b < a . length &&! window . requestAnimationFrame ; ++ b ){ var c = a [ b ]; window . requestAnimationFrame = window [ c + "RequestAnimationFrame" ], window . cancelAnimationFrame = window [ c + "CancelAnimationFrame" ] || window [ c + "CancelRequestAnimationFrame" ]} if ( /iP(ad|hone|od).*OS 6/ . test ( window . navigator . userAgent ) ||! window . requestAnimationFrame ||! window . cancelAnimationFrame ){ var d = 0 ; window . requestAnimationFrame = function ( a ){ var b = Date . now (), c = Math . max ( d + 16 , b ); return setTimeout ( function (){ a ( d = c )}, c - b )}, window . cancelAnimationFrame = clearTimeout }}(), function ( a ){ a . snowfall = function ( b , c ){ function d ( d , e , f , g ){ this . x = d , this . y = e , this . size = f , this . speed = g , this . step = 0 , this . stepSize = h ( 1 , 10 ) / 100 , c . collection && ( this . target = o [ h ( 0 , o . length - 1 )]); var i = null ; c . image ? ( i = document . createElement ( "img" ), i . src = c . image ) : ( i = document . createElement ( "div" ), a ( i ). css ({ background : c . flakeColor })), a ( i ). attr ({ class : "snowfall-flakes" }). css ({ width : this . size , height : this . size , position : c . flakePosition , top : this . y , left : this . x , fontSize : 0 , zIndex : c . flakeIndex }), a ( b ). get ( 0 ). tagName === a ( document ). get ( 0 ). tagName ? ( a ( "body" ). append ( a ( i )), b = a ( "body" )) : a ( b ). append ( a ( i )), this . element = i , this . update = function (){ if ( this . y += this . speed , this . y > j - ( this . size + 6 ) && this . reset (), this . element . style . top = this . y + "px" , this . element . style . left = this . x + "px" , this . step += this . stepSize , v ===! 1 ? this . x += Math . cos ( this . step ) : this . x += v + Math . cos ( this . step ), c . collection && this . x > this . target . x && this . x < this . target . width + this . target . x && this . y > this . target . y && this . y < this . target . height + this . target . y ){ var a = this . target . element . getContext ( "2d" ), b = this . x - this . target . x , d = this . y - this . target . y , e = this . target . colData ; if ( void 0 !== e [ parseInt ( b )][ parseInt ( d + this . speed + this . size )] || d + this . speed + this . size > this . target . height ) if ( d + this . speed + this . size > this . target . height ){ for (; d + this . speed + this . size > this . target . height && this . speed > 0 ;) this . speed *= . 5 ; a . fillStyle = "#fff" , a . shadowOffsetX = 1 , a . shadowOffsetY = 1 , a . shadowColor = "#000" , a . shadowBlur = 1 , void 0 == e [ parseInt ( b )][ parseInt ( d + this . speed + this . size )] ? ( e [ parseInt ( b )][ parseInt ( d + this . speed + this . size )] = 1 , a . beginPath (), a . arc ( b , d + this . speed + this . size , this . size / 2 , 0 , 2 * Math . PI , ! 0 ), a . closePath (), a . fill ()) : ( e [ parseInt ( b )][ parseInt ( d + this . speed )] = 1 , a . beginPath (), a . arc ( b , d + this . speed + this . size , this . size , 0 , 2 * Math . PI , ! 0 ), a . closePath (), a . fill ()), this . reset ()} else this . speed = 1 , this . stepSize = 0 , parseInt ( b ) + 1 < this . target . width && void 0 == e [ parseInt ( b ) + 1 ][ parseInt ( d ) + 1 ] ? this . x ++: parseInt ( b ) - 1 > 0 && void 0 == e [ parseInt ( b ) - 1 ][ parseInt ( d ) + 1 ] ? this . x --: ( a . fillStyle = "#fff" , a . shadowOffsetX =- 4 , a . shadowOffsetY =- 4 , a . shadowColor = "#000" , a . shadowBlur = 4 , a . beginPath (), a . arc ( b , d + this . speed + this . size , this . size , 0 , 2 * Math . PI , ! 0 ), a . closePath (), a . fill (), e [ parseInt ( b )][ parseInt ( d )] = 1 , this . reset ())}( this . x + this . size > k - l || this . x < l ) && this . reset ()}, this . reset = function (){ this . y = 0 , this . x = h ( l , k - l ), this . stepSize = h ( 1 , 10 ) / 100 , this . size = h ( 100 * c . minSize , 100 * c . maxSize ) / 100 , this . element . style . width = this . size + "px" , this . element . style . height = this . size + "px" , this . speed = h ( c . minSpeed , c . maxSpeed )}} function e (){ for ( i = 0 ; i < f . length ; i += 1 ) f [ i ]. update (); m = requestAnimationFrame ( function (){ e ()})} var f = [], g = { flakeCount : 35 , flakeColor : "#ffffff" , flakePosition : "absolute" , flakeIndex : 999999 , minSize : 1 , maxSize : 2 , minSpeed : 1 , maxSpeed : 5 , round :! 1 , shadow :! 1 , collection :! 1 , collectionHeight : 40 , deviceorientation :! 1 }, c = a . extend ( g , c ), h = function ( a , b ){ return Math . round ( a + Math . random () * ( b - a ))}; a ( b ). data ( "snowfall" , this ); var i = 0 , j = a ( b ). height (), k = a ( b ). width (), l = 0 , m = 0 ; if ( c . collection !==! 1 ){ var n = document . createElement ( "canvas" ); if ( n . getContext && n . getContext ( "2d" )) for ( var o = [], p = a ( c . collection ), q = c . collectionHeight , i = 0 ; i < p . length ; i ++ ){ var r = p [ i ]. getBoundingClientRect (), s = a ( "<canvas/>" ,{ class : "snowfall-canvas" }), t = []; if ( r . top - q > 0 ){ a ( "body" ). append ( s ), s . css ({ position : c . flakePosition , left : r . left + "px" , top : r . top - q + "px" }). prop ({ width : r . width , height : q }); for ( var u = 0 ; u < r . width ; u ++ ) t [ u ] = []; o . push ({ element : s . get ( 0 ), x : r . left , y : r . top - q , width : r . width , height : q , colData : t })}} else c . collection =! 1 } for ( a ( b ). get ( 0 ). tagName === a ( document ). get ( 0 ). ta
========================================================================
CryptoJS v3 . 1.2
code . google . com / p / crypto - js
( c ) 2009 - 2013 by Jeff Mott . All rights reserved .
code . google . com / p / crypto - js / wiki / License
* /
var CryptoJS = CryptoJS || function ( a , b ){ var c = {}, d = c . lib = {}, e = d . Base = function (){ function a (){} return { extend : function ( b ){ a . prototype = this ; var c = new a ; return b && c . mixIn ( b ), c . hasOwnProperty ( "init" ) || ( c . init = function (){ c . $super . init . apply ( this , arguments )}), c . init . prototype = c , c . $super = this , c }, create : function (){ var a = this . extend (); return a . init . apply ( a , arguments ), a }, init : function (){}, mixIn : function ( a ){ for ( var b in a ) a . hasOwnProperty ( b ) && ( this [ b ] = a [ b ]); a . hasOwnProperty ( "toString" ) && ( this . toString = a . toString )}, clone : function (){ return this . init . prototype . extend ( this )}}}(), f = d . WordArray = e . extend ({ init : function ( a , c ){ a = this . words = a || [], c != b ? this . sigBytes = c : this . sigBytes = 4 * a . length }, toString : function ( a ){ return ( a || h ). stringify ( this )}, concat : function ( a ){ var b = this . words , c = a . words , d = this . sigBytes , e = a . sigBytes ; if ( this . clamp (), d % 4 ) for ( var f = 0 ; f < e ; f ++ ){ var g = c [ f >>> 2 ] >>> 24 - f % 4 * 8 & 255 ; b [ d + f >>> 2 ] |= g << 24 - ( d + f ) % 4 * 8 } else if ( c . length > 65535 ) for ( var f = 0 ; f < e ; f += 4 ) b [ d + f >>> 2 ] = c [ f >>> 2 ]; else b . push . apply ( b , c ); return this . sigBytes += e , this }, clamp : function (){ var b = this . words , c = this . sigBytes ; b [ c >>> 2 ] &= 4294967295 << 32 - c % 4 * 8 , b . length = a . ceil ( c / 4 )}, clone : function (){ var a = e . clone . call ( this ); return a . words = this . words . slice ( 0 ), a }, random : function ( b ){ for ( var c = [], d = 0 ; d < b ; d += 4 ) c . push ( 4294967296 * a . random () | 0 ); return new f . init ( c , b )}}), g = c . enc = {}, h = g . Hex = { stringify : function ( a ){ for ( var b = a . words , c = a . sigBytes , d = [], e = 0 ; e < c ; e ++ ){ var f = b [ e >>> 2 ] >>> 24 - e % 4 * 8 & 255 ; d . push (( f >>> 4 ). toString ( 16 )), d . push (( 15 & f ). toString ( 16 ))} return d . join ( "" )}, parse : function ( a ){ for ( var b = a . length , c = [], d = 0 ; d < b ; d += 2 ) c [ d >>> 3 ] |= parseInt ( a . substr ( d , 2 ), 16 ) << 24 - d % 8 * 4 ; return new f . init ( c , b / 2 )}}, i = g . Latin1 = { stringify : function ( a ){ for ( var b = a . words , c = a . sigBytes , d = [], e = 0 ; e < c ; e ++ ){ var f = b [ e >>> 2 ] >>> 24 - e % 4 * 8 & 255 ; d . push ( String . fromCharCode ( f ))} return d . join ( "" )}, parse : function ( a ){ for ( var b = a . length , c = [], d = 0 ; d < b ; d ++ ) c [ d >>> 2 ] |= ( 255 & a . charCodeAt ( d )) << 24 - d % 4 * 8 ; return new f . init ( c , b )}}, j = g . Utf8 = { stringify : function ( a ){ try { return decodeURIComponent ( escape ( i . stringify ( a )))} catch ( a ){ throw new Error ( "Malformed UTF-8 data" )}}, parse : function ( a ){ return i . parse ( unescape ( encodeURIComponent ( a )))}}, k = d . BufferedBlockAlgorithm = e . extend ({ reset : function (){ this . _data = new f . init , this . _nDataBytes = 0 }, _append : function ( a ){ "string" == typeof a && ( a = j . parse ( a )), this . _data . concat ( a ), this . _nDataBytes += a . sigBytes }, _process : function ( b ){ var c = this . _data , d = c . words , e = c . sigBytes , g = this . blockSize , h = 4 * g , i = e / h ; i = b ? a . ceil ( i ) : a . max (( 0 | i ) - this . _minBufferSize , 0 ); var j = i * g , k = a . min ( 4 * j , e ); if ( j ){ for ( var l = 0 ; l < j ; l += g ) this . _doProcessBlock ( d , l ); var m = d . splice ( 0 , j ); c . sigBytes -= k } return new f . init ( m , k )}, clone : function (){ var a = e . clone . call ( this ); return a . _data = this . _data . clone (), a }, _minBufferSize : 0 }), l = ( d . Hasher = k . extend ({ cfg : e . extend (), init : function ( a ){ this . cfg = this . cfg . extend ( a ), this . reset ()}, reset : function (){ k . reset . call ( this ), this . _doReset ()}, update : function ( a ){ return this . _append ( a ), this . _process (), this }, finalize : function ( a ){ a && this . _append ( a ); var b = this . _doFinalize (); return b }, blockSize : 16 , _createHelper : function ( a ){ return function ( b , c ){ return new a . init ( c ). finalize ( b )}}, _createHmacHelper : function ( a ){ return function ( b , c ){ return new l . HMAC . init ( a , c ). finalize ( b )}}}), c . algo = {}); return c }( Math ); ! function ( a ){ var b = CryptoJS , c = b . lib , d = c . Base , e = c . WordArray , f = b . x64 = {}; f . Word = d . extend ({ init : function ( a , b ){ this . high = a , this . low = b }}), f . WordArray = d . extend ({ init : function ( b , c ){ b = this . words = b || [], c != a ? this . sigBytes = c : this . sigBytes = 8 * b . length }, toX32 : function (){ for ( var a = this . words , b = a . length , c = [], d = 0 ; d < b ; d ++ ){ var f = a [ d ]; c . push ( f . high ), c . push ( f . low )} return e . create ( c , this . sigBytes )}, clone : function (){ for ( var a = d . clone . call ( this ), b = a . words = this . words . slice ( 0 ), c = b . length , e = 0 ; e < c ; e ++ ) b [ e ] = b [ e ]. clone (); return a }})}(), function (){ var a = CryptoJS , b = a . lib , c = b . WordArray , d = a . enc ; d . Base64 = { stringify : function ( a ){ var b = a . words , c = a . sigBytes , d = this . _map ; a . clamp (); for ( var e = [], f = 0 ; f < c ; f += 3 ) for ( var g = b [ f >>> 2 ] >>> 24 - f % 4 * 8 & 255 , h = b [ f + 1 >>> 2 ] >>> 24 - ( f + 1 ) % 4 * 8 & 255 , i = b [ f + 2 >>> 2 ] >>> 24 - ( f + 2 ) % 4 * 8 & 255 , j = g << 16 | h << 8 | i , k = 0 ; k < 4 && f + . 75 * k < c ; k ++ ) e . push ( d . charAt ( j >>> 6 * ( 3 - k ) & 63 )); var l = d . charAt ( 64 ); if ( l ) for (; e . length % 4 ;) e . push ( l ); r
========================================================================
CryptoJS . mode . CTRGladman
Counter block mode compatible with Dr Brian Gladman fileenc . c
derived from CryptoJS . mode . CTR
Jan Hruby jhruby . web @ gmail . com
* /
CryptoJS . mode . CTRGladman = function (){ function a ( a ){ if ( 255 === ( a >> 24 & 255 )){ var b = a >> 16 & 255 , c = a >> 8 & 255 , d = 255 & a ; 255 === b ? ( b = 0 , 255 === c ? ( c = 0 , 255 === d ? d = 0 :++ d ) :++ c ) :++ b , a = 0 , a += b << 16 , a += c << 8 , a += d } else a += 1 << 24 ; return a } function b ( b ){ return 0 === ( b [ 0 ] = a ( b [ 0 ])) && ( b [ 1 ] = a ( b [ 1 ])), b } var c = CryptoJS . lib . BlockCipherMode . extend (), d = c . Encryptor = c . extend ({ processBlock : function ( a , c ){ var d = this . _cipher , e = d . blockSize , f = this . _iv , g = this . _counter ; f && ( g = this . _counter = f . slice ( 0 ), this . _iv = void 0 ), b ( g ); var h = g . slice ( 0 ); d . encryptBlock ( h , 0 ); for ( var i = 0 ; i < e ; i ++ ) a [ c + i ] ^= h [ i ]}}); return c . Decryptor = d , c }(), CryptoJS . mode . CTR = function (){ var a = CryptoJS . lib . BlockCipherMode . extend (), b = a . Encryptor = a . extend ({ processBlock : function ( a , b ){ var c = this . _cipher , d = c . blockSize , e = this . _iv , f = this . _counter ; e && ( f = this . _counter = e . slice ( 0 ), this . _iv = void 0 ); var g = f . slice ( 0 ); c . encryptBlock ( g , 0 ), f [ d - 1 ] = f [ d - 1 ] + 1 | 0 ; for ( var h = 0 ; h < d ; h ++ ) a [ b + h ] ^= g [ h ]}}); return a . Decryptor = b , a }(), CryptoJS . mode . ECB = function (){ var a = CryptoJS . lib . BlockCipherMode . extend (); return a . Encryptor = a . extend ({ processBlock : function ( a , b ){ this . _cipher . encryptBlock ( a , b )}}), a . Decryptor = a . extend ({ processBlock : function ( a , b ){ this . _cipher . decryptBlock ( a , b )}}), a }(), CryptoJS . mode . OFB = function (){ var a = CryptoJS . lib . BlockCipherMode . extend (), b = a . Encryptor = a . extend ({ processBlock : function ( a , b ){ var c = this . _cipher , d = c . blockSize , e = this . _iv , f = this . _keystream ; e && ( f = this . _keystream = e . slice ( 0 ), this . _iv = void 0 ), c . encryptBlock ( f , 0 ); for ( var g = 0 ; g < d ; g ++ ) a [ b + g ] ^= f [ g ]}}); return a . Decryptor = b , a }(), function ( a ){ var b = CryptoJS , c = b . lib , d = c . CipherParams , e = b . enc , f = e . Hex , g = b . format ; g . Hex = { stringify : function ( a ){ return a . ciphertext . toString ( f )}, parse : function ( a ){ var b = f . parse ( a ); return d . create ({ ciphertext : b })}}}(), function (){ if ( "function" == typeof ArrayBuffer ){ var a = CryptoJS , b = a . lib , c = b . WordArray , d = c . init , e = c . init = function ( a ){ if ( a instanceof ArrayBuffer && ( a = new Uint8Array ( a )),( a instanceof Int8Array || a instanceof Uint8ClampedArray || a instanceof Int16Array || a instanceof Uint16Array || a instanceof Int32Array || a instanceof Uint32Array || a instanceof Float32Array || a instanceof Float64Array ) && ( a = new Uint8Array ( a . buffer , a . byteOffset , a . byteLength )), a instanceof Uint8Array ){ for ( var b = a . byteLength , c = [], e = 0 ; e < b ; e ++ ) c [ e >>> 2 ] |= a [ e ] << 24 - e % 4 * 8 ; d . call ( this , c , b )} else d . apply ( this , arguments )}; e . prototype = c }}(), CryptoJS . pad . AnsiX923 = { pad : function ( a , b ){ var c = a . sigBytes , d = 4 * b , e = d - c % d , f = c + e - 1 ; a . clamp (), a . words [ f >>> 2 ] |= e << 24 - f % 4 * 8 , a . sigBytes += e }, unpad : function ( a ){ var b = 255 & a . words [ a . sigBytes - 1 >>> 2 ]; a . sigBytes -= b }}, CryptoJS . pad . Iso10126 = { pad : function ( a , b ){ var c = 4 * b , d = c - a . sigBytes % c ; a . concat ( CryptoJS . lib . WordArray . random ( d - 1 )). concat ( CryptoJS . lib . WordArray . create ([ d << 24 ], 1 ))}, unpad : function ( a ){ var b = 255 & a . words [ a . sigBytes - 1 >>> 2 ]; a . sigBytes -= b }}, CryptoJS . pad . Iso97971 = { pad : function ( a , b ){ a . concat ( CryptoJS . lib . WordArray . create ([ 2147483648 ], 1 )), CryptoJS . pad . ZeroPadding . pad ( a , b )}, unpad : function ( a ){ CryptoJS . pad . ZeroPadding . unpad ( a ), a . sigBytes -- }}, CryptoJS . pad . NoPadding = { pad : function (){}, unpad : function (){}}, CryptoJS . pad . ZeroPadding = { pad : function ( a , b ){ var c = 4 * b ; a . clamp (), a . sigBytes += c - ( a . sigBytes % c || c )}, unpad : function ( a ){ for ( var b = a . words , c = a . sigBytes - 1 ; ! ( b [ c >>> 2 ] >>> 24 - c % 4 * 8 & 255 );) c -- ; a . sigBytes = c + 1 }}, function (){ var a = CryptoJS , b = a . lib , c = b . BlockCipher , d = a . algo , e = [], f = [], g = [], h = [], i = [], j = [], k = [], l = [], m = [], n = []; ! function (){ for ( var a = [], b = 0 ; b < 256 ; b ++ ) b < 128 ? a [ b ] = b << 1 : a [ b ] = b << 1 ^ 283 ; for ( var c = 0 , d = 0 , b = 0 ; b < 256 ; b ++ ){ var o = d ^ d << 1 ^ d << 2 ^ d << 3 ^ d << 4 ; o = o >>> 8 ^ 255 & o ^ 99 , e [ c ] = o , f [ o ] = c ; var p = a [ c ], q = a [ p ], r = a [ q ], s = 257 * a [ o ] ^ 16843008 * o ; g [ c ] = s << 24 | s >>> 8 , h [ c ] = s << 16 | s >>> 16 , i [ c ] = s << 8 | s >>> 24 , j [ c ] = s ; var s = 16843009 * r ^ 65537 * q ^ 257 * p ^ 16843008 * c ; k [ o ] = s << 24 | s >>> 8 , l [ o ] = s << 16 | s >>> 16 , m [ o ] = s << 8 | s >>> 24 , n [ o ] = s , c ? ( c = p ^ a [ a [ a [ r ^ p ]]], d ^= a [ a [ d ]]) : c = d = 1 }}(); var o = [ 0 , 1 , 2 , 4 , 8 , 16 , 32 , 64 , 128 , 27 , 54 ], p = d . AES = c . extend ({ _doReset : function (){ for ( var a = this . _key , b = a . words , c = a . sigBytes / 4 , d = this . _nRounds = c + 6 , f = 4 * ( d + 1 ), g = this . _keySchedule = [], h = 0 ; h < f ; h ++ ) if ( h < c ) g [ h ] = b [ h ]; else { var i = g [ h - 1 ]; h % c ? c > 6 && h % c == 4 && ( i = e [ i >>> 24 ] << 24 | e [ i >>> 16 & 255 ] << 16 | e [ i >>> 8 & 255 ] << 8 | e [ 255 & i ]) : ( i = i << 8 | i >>> 24 , i = e [ i >>> 24 ] << 24 | e [ i >>> 16 & 255 ] << 16 | e [ i >>> 8 & 255 ] << 8 | e [ 255 & i ], i ^= o [ h / c | 0 ] << 24 ), g [ h ]
========================================================================
RIPEMD160
( c ) 2012 by Cédric Mesnil . All rights reserved .
Redistribution and use in source and binary forms , with or without modification , are permitted provided that the following conditions are met :
- Redistributions of source code must retain the above copyright notice , this list of conditions and the following disclaimer .
- Redistributions in binary form must reproduce the above copyright notice , this list of conditions and the following disclaimer in the documentation and / or other materials provided with the distribution .
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES , INCLUDING , BUT NOT LIMITED TO , THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED . IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT , INDIRECT , INCIDENTAL , SPECIAL , EXEMPLARY , OR CONSEQUENTIAL DAMAGES ( INCLUDING , BUT NOT LIMITED TO , PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES ; LOSS OF USE , DATA , OR PROFITS ; OR BUSINESS INTERRUPTION ) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY , WHETHER IN CONTRACT , STRICT LIABILITY , OR TORT ( INCLUDING NEGLIGENCE OR OTHERWISE ) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE , EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE .
* /
2017-01-16 16:40:43 +00:00
function ( a ){ function b ( a , b , c ){ return a ^ b ^ c } function c ( a , b , c ){ return a & b |~ a & c } function d ( a , b , c ){ return ( a |~ b ) ^ c } function e ( a , b , c ){ return a & c | b &~ c } function f ( a , b , c ){ return a ^ ( b |~ c )} function g ( a , b ){ return a << b | a >>> 32 - b } var h = CryptoJS , i = h . lib , j = i . WordArray , k = i . Hasher , l = h . algo , m = j . create ([ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 , 7 , 4 , 13 , 1 , 10 , 6 , 15 , 3 , 12 , 0 , 9 , 5 , 2 , 14 , 11 , 8 , 3 , 10 , 14 , 4 , 9 , 15 , 8 , 1 , 2 , 7 , 0 , 6 , 13 , 11 , 5 , 12 , 1 , 9 , 11 , 10 , 0 , 8 , 12 , 4 , 13 , 3 , 7 , 15 , 14 , 5 , 6 , 2 , 4 , 0 , 5 , 9 , 7 , 12 , 2 , 10 , 14 , 1 , 3 , 8 , 11 , 6 , 15 , 13 ]), n = j . create ([ 5 , 14 , 7 , 0 , 9 , 2 , 11 , 4 , 13 , 6 , 15 , 8 , 1 , 10 , 3 , 12 , 6 , 11 , 3 , 7 , 0 , 13 , 5 , 10 , 14 , 15 , 8 , 12 , 4 , 9 , 1 , 2 , 15 , 5 , 1 , 3 , 7 , 14 , 6 , 9 , 11 , 8 , 12 , 2 , 10 , 0 , 4 , 13 , 8 , 6 , 4 , 1 , 3 , 11 , 15 , 0 , 5 , 12 , 2 , 13 , 9 , 7 , 10 , 14 , 12 , 15 , 10 , 4 , 1 , 5 , 8 , 7 , 6 , 2 , 13 , 14 , 0 , 3 , 9 , 11 ]), o = j . create ([ 11 , 14 , 15 , 12 , 5 , 8 , 7 , 9 , 11 , 13 , 14 , 15 , 6 , 7 , 9 , 8 , 7 , 6 , 8 , 13 , 11 , 9 , 7 , 15 , 7 , 12 , 15 , 9 , 11 , 7 , 13 , 12 , 11 , 13 , 6 , 7 , 14 , 9 , 13 , 15 , 14 , 8 , 13 , 6 , 5 , 12 , 7 , 5 , 11 , 12 , 14 , 15 , 14 , 15 , 9 , 8 , 9 , 14 , 5 , 6 , 8 , 6 , 5 , 12 , 9 , 15 , 5 , 11 , 6 , 8 , 13 , 12 , 5 , 12 , 13 , 14 , 11 , 8 , 5 , 6 ]), p = j . create ([ 8 , 9 , 9 , 11 , 13 , 15 , 15 , 5 , 7 , 7 , 8 , 11 , 14 , 14 , 12 , 6 , 9 , 13 , 15 , 7 , 12 , 8 , 9 , 11 , 7 , 7 , 12 , 7 , 6 , 15 , 13 , 11 , 9 , 7 , 15 , 11 , 8 , 6 , 6 , 14 , 12 , 13 , 5 , 14 , 13 , 13 , 7 , 5 , 15 , 5 , 8 , 11 , 14 , 14 , 6 , 14 , 6 , 9 , 12 , 9 , 12 , 5 , 15 , 8 , 8 , 5 , 12 , 9 , 12 , 5 , 14 , 6 , 8 , 13 , 6 , 5 , 15 , 13 , 11 , 11 ]), q = j . create ([ 0 , 1518500249 , 1859775393 , 2400959708 , 2840853838 ]), r = j . create ([ 1352829926 , 1548603684 , 1836072691 , 2053994217 , 0 ]), s = l . RIPEMD160 = k . extend ({ _doReset : function (){ this . _hash = j . create ([ 1732584193 , 4023233417 , 2562383102 , 271733878 , 3285377520 ])}, _doProcessBlock : function ( a , h ){ for ( var i = 0 ; i < 16 ; i ++ ){ var j = h + i , k = a [ j ]; a [ j ] = 16711935 & ( k << 8 | k >>> 24 ) | 4278255360 & ( k << 24 | k >>> 8 )} var l , s , t , u , v , w , x , y , z , A , B = this . _hash . words , C = q . words , D = r . words , E = m . words , F = n . words , G = o . words , H = p . words ; w = l = B [ 0 ], x = s = B [ 1 ], y = t = B [ 2 ], z = u = B [ 3 ], A = v = B [ 4 ]; for ( var I , i = 0 ; i < 80 ; i += 1 ) I = l + a [ h + E [ i ]] | 0 , I += i < 16 ? b ( s , t , u ) + C [ 0 ] : i < 32 ? c ( s , t , u ) + C [ 1 ] : i < 48 ? d ( s , t , u ) + C [ 2 ] : i < 64 ? e ( s , t , u ) + C [ 3 ] : f ( s , t , u ) + C [ 4 ], I |= 0 , I = g ( I , G [ i ]), I = I + v | 0 , l = v , v = u , u = g ( t , 10 ), t = s , s = I , I = w + a [ h + F [ i ]] | 0 , I += i < 16 ? f ( x , y , z ) + D [ 0 ] : i < 32 ? e ( x , y , z ) + D [ 1 ] : i < 48 ? d ( x , y , z ) + D [ 2 ] : i < 64 ? c ( x , y , z ) + D [ 3 ] : b ( x , y , z ) + D [ 4 ], I |= 0 , I = g ( I , H [ i ]), I = I + A | 0 , w = A , A = z , z = g ( y , 10 ), y = x , x = I ; I = B [ 1 ] + t + z | 0 , B [ 1 ] = B [ 2 ] + u + A | 0 , B [ 2 ] = B [ 3 ] + v + w | 0 , B [ 3 ] = B [ 4 ] + l + x | 0 , B [ 4 ] = B [ 0 ] + s + y | 0 , B [ 0 ] = I }, _doFinalize : function (){ var a = this . _data , b = a . words , c = 8 * this . _nDataBytes , d = 8 * a . sigBytes ; b [ d >>> 5 ] |= 128 << 24 - d % 32 , b [( d + 64 >>> 9 << 4 ) + 14 ] = 16711935 & ( c << 8 | c >>> 24 ) | 4278255360 & ( c << 24 | c >>> 8 ), a . sigBytes = 4 * ( b . length + 1 ), this . _process (); for ( var e = this . _hash , f = e . words , g = 0 ; g < 5 ; g ++ ){ var h = f [ g ]; f [ g ] = 16711935 & ( h << 8 | h >>> 24 ) | 4278255360 & ( h << 24 | h >>> 8 )} return e }, clone : function (){ var a = k . clone . call ( this ); return a . _hash = this . _hash . clone (), a }}); h . RIPEMD160 = k . _createHelper ( s ), h . HmacRIPEMD160 = k . _createHmacHelper ( s )}( Math ), function (){ var a = CryptoJS , b = a . lib , c = b . WordArray , d = b . Hasher , e = a . algo , f = [], g = e . SHA1 = d . extend ({ _doReset : function (){ this . _hash = new c . init ([ 1732584193 , 4023233417 , 2562383102 , 271733878 , 3285377520 ])}, _doProcessBlock : function ( a , b ){ for ( var c = this . _hash . words , d = c [ 0 ], e = c [ 1 ], g = c [ 2 ], h = c [ 3 ], i = c [ 4 ], j = 0 ; j < 80 ; j ++ ){ if ( j < 16 ) f [ j ] = 0 | a [ b + j ]; else { var k = f [ j - 3 ] ^ f [ j - 8 ] ^ f [ j - 14 ] ^ f [ j - 16 ]; f [ j ] = k << 1 | k >>> 31 } var l = ( d << 5 | d >>> 27 ) + i + f [ j ]; l += j < 20 ? ( e & g |~ e & h ) + 1518500249 : j < 40 ? ( e ^ g ^ h ) + 1859775393 : j < 60 ? ( e & g | e & h | g & h ) - 1894007588 : ( e ^ g ^ h ) - 899497514 , i = h , h = g , g = e << 30 | e >>> 2 , e = d , d = l } c [ 0 ] = c [ 0 ] + d | 0 , c [ 1 ] = c [ 1 ] + e | 0 , c [ 2 ] = c [ 2 ] + g | 0 , c [ 3 ] = c [ 3 ] + h | 0 , c [ 4 ] = c [ 4 ] + i | 0 }, _doFinalize : function (){ var a = this . _data , b = a . words , c = 8 * this . _nDataBytes , d = 8 * a . sigBytes ; return b [ d >>> 5 ] |= 128 << 24 - d % 32 , b [( d + 64 >>> 9 << 4 ) + 14 ] = Math . floor ( c / 4294967296 ), b [( d + 64 >>> 9 << 4 ) + 15 ] = c , a . sigBytes = 4 * b . length , this . _process (), this . _hash }, clone : function (){ var a = d . clone . call ( this ); return a . _hash = this . _hash . clone (), a }}); a . SHA1 = d . _createHelper ( g ), a . HmacSHA1 = d . _createHmacHelper ( g )}(), function ( a ){ var b = CryptoJS , c = b . lib , d = c . WordArray , e = c . Hasher , f = b . algo , g = [], h = []; ! function (){ function b ( b ){ for ( var c = a . sqrt ( b ), d = 2 ; d <= c ; d ++ ) if ( ! ( b % d )) return ! 1 ; return ! 0 } function c ( a ){ return 4294967296 * ( a - ( 0 | a )) | 0 } for ( var d = 2 , e = 0 ; e < 64 ;) b ( d ) && ( e < 8 && ( g [ e ] = c ( a . pow ( d ,. 5 ))), h [ e ] = c ( a . pow ( d , 1 / 3 )), e ++ ), d ++ }(); var i = [], j = f . SHA256 = e . extend ({ _doReset : function (){ this . _hash = new d . init ( g . slice ( 0 ))}, _doProcessBlock : function ( a , b ){ for ( var c = this . _hash . words , d = c [ 0 ], e = c [ 1 ], f = c [ 2 ], g = c [ 3 ], j = c [ 4 ], k = c [ 5 ], l = c [ 6 ], m = c [ 7 ], n = 0 ; n < 64 ; n ++ ){ if ( n < 16 ) i [ n ] = 0 | a [ b + n ]; else { var o = i [ n - 15 ], p = ( o << 25 | o >>> 7
========================================================================
Crypto API for JavaScript - https : //github.com/nf404/crypto-api
The MIT License ( MIT )
Copyright ( c ) 2015 nf404
Permission is hereby granted , free of charge , to any person obtaining a copy of this software and associated documentation files ( the "Software" ), to deal in the Software without restriction , including without limitation the rights to use , copy , modify , merge , publish , distribute , sublicense , and / or sell copies of the Software , and to permit persons to whom the Software is furnished to do so , subject to the following conditions :
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software .
THE SOFTWARE IS PROVIDED "AS IS" , WITHOUT WARRANTY OF ANY KIND , EXPRESS OR IMPLIED , INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY , FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT . IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM , DAMAGES OR OTHER LIABILITY , WHETHER IN AN ACTION OF CONTRACT , TORT OR OTHERWISE , ARISING FROM , OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE .
* /
function ( a ){ var b = function (){ this . Hashers = new l , this . Encodes = new m , this . Macs = new n , this . Tools = new o }, c = function (){}; c . prototype . constructor = function (){}, c . prototype . processBlock = function ( a ){}, c . prototype . update = function ( a ){}, c . prototype . finalize = function (){}; var d = function ( a , b ){}; d . prototype . constructor = function ( a , b ){ this . name = a , this . state = {}, this . state . message = [], this . state . length = 0 , this . state . options = b , this . blockUnits = []}, d . prototype . unitSize = 4 , d . prototype . unitOrder = 0 , d . prototype . blockSize = 16 , d . prototype . getState = function (){ return JSON . parse ( JSON . stringify ( this . state ))}, d . prototype . setState = function ( a ){ return this . state = a , this }, d . prototype . update = function ( a ){ for ( var b = 0 , c = 0 , d = a . length ; c < d ; c ++ ){ var e = a . charCodeAt ( c ); e < 128 ? ( this . state . message . push ( e ), b += 1 ) : e < 2048 ? ( this . state . message . push ( 192 | e >> 6 , 128 | 63 & e ), b += 2 ) : e < 55296 || e >= 57344 ? ( this . state . message . push ( 224 | e >> 12 , 128 | e >> 6 & 63 , 128 | 63 & e ), b += 3 ) : ( c ++ , e = 65536 + (( 1023 & e ) << 10 | 1023 & a . charCodeAt ( c )), this . state . message . push ( 240 | e >> 18 , 128 | e >> 12 & 63 , 128 | e >> 6 & 63 , 128 | 63 & e ), b += 4 )} this . state . length += b , this . process ()}, d . prototype . updateFromArray = function ( a ){ return this . state . length += a . length , this . state . message = this . state . message . concat ( a ), this . process (), this }, d . prototype . process = function (){ for (; this . state . message . length >= this . blockSize * this . unitSize ;){ var a = 0 , b = 0 , c = this . state . message . splice ( 0 , this . blockSize * this . unitSize ); if ( this . unitSize > 1 ){ this . blockUnits = []; for ( var d = 0 , e = 0 ; d < c . length ; d += this . unitSize , e ++ ) if ( 1 === this . unitOrder ) for ( a = this . unitSize - 1 , b = 0 ; a >= 0 ; a -- , b += 8 ) this . blockUnits [ e ] |= c [ d + a ] << b ; else for ( a = 0 , b = 0 ; a < this . unitSize ; a ++ , b += 8 ) this . blockUnits [ e ] |= c [ d + a ] << b ; this . processBlock ( this . blockUnits )} else this . processBlock ( c )}}, b . prototype . BaseHasher = d ; var e = function ( a , b ){ this . constructor ( a , b )}; e . prototype = Object . create ( d . prototype ), e . prototype . unitOrder = 0 , e . prototype . unitSize = 1 , e . prototype . constructor = function ( a , b ){ d . prototype . constructor . call ( this , a , b )}, e . prototype . process = function (){ for (; this . state . message . length >= this . blockSize * this . unitSize ;){ var a = this . state . message . splice ( 0 , this . blockSize * this . unitSize ); this . blockUnits = []; for ( var b = 0 ; b < this . blockSize ; b ++ ) this . blockUnits [ b ] = a [ b ]; this . processBlock ( this . blockUnits )}}, b . prototype . Hasher8 = e ; var f = function ( a , b ){ this . constructor ( a , b )}; f . prototype = Object . create ( d . prototype ), f . prototype . unitOrder = 0 , f . prototype . constructor = function ( a , b ){ d . prototype . constructor . call ( this , a , b )}, f . prototype . process = function (){ for (; this . state . message . length >= this . blockSize * this . unitSize ;){ var a = this . state . message . splice ( 0 , this . blockSize * this . unitSize ); this . blockUnits = []; for ( var b = 0 , c = 0 ; b < this . blockSize ; b ++ , c += 4 ) this . blockUnits [ b ] = a [ c ], this . blockUnits [ b ] |= a [ c + 1 ] << 8 , this . blockUnits [ b ] |= a [ c + 2 ] << 16 , this . blockUnits [ b ] |= a [ c + 3 ] << 24 ; this . processBlock ( this . blockUnits )}}, b . prototype . Hasher32le = f ; var g = function ( a , b ){ this . constructor ( a , b )}; g . prototype = Object . create ( d . prototype ), g . prototype . unitOrder = 1 , g . prototype . constructor = function ( a , b ){ d . prototype . constructor . call ( this , a , b )}, g . prototype . process = function (){ for (; this . state . message . length >= this . blockSize * this . unitSize ;){ var a = this . state . message . splice ( 0 , this . blockSize * this . unitSize ); this . blockUnits = []; for ( var b = 0 , c = 0 ; b < this . blockSize ; b ++ , c += 4 ) this . blockUnits [ b ] = a [ c ] << 24 , this . blockUnits [ b ] |= a [ c + 1 ] << 16 , this . blockUnits [ b ] |= a [ c + 2 ] << 8 , this . blockUnits [ b ] |= a [ c + 3 ]; this . processBlock ( this . blockUnits )}}, b . prototype . Hasher32be = g ; var h = function (){}; h . prototype . constructor = function ( a , b , c ){}, h . prototype . processBlock = function ( a ){}, h . prototype . update = function ( a ){}, h . prototype . finalize = function (){}; var i = function ( a , b , c ){}; i . prototype = Object . create ( d . prototype ), i . prototype . constructor = function ( a , b , c ){ d . prototype . constructor . call ( this , b , c )}, b . prototype . BaseMac = i ; var j = function (){}; j . prototype . constructor = function ( a ){}, j . prototype . stringify = function (){}; var k = function ( a ){}; k . prototype . constructor = function ( a ){ this . hash = a }, b . prototype . BaseEncode = k ; var l = function (){ this . hashers = {}}; l . prototype . add = function ( a , b ){ if ( void 0 === b ) throw Error ( "Error adding hasher: " + a ); this . hashers [ a ] = b }, l . prototype . get = function ( a , b ){ var c = this . hashers [ a ]; if ( void 0 ===
2016-11-28 10:42:58 +00:00
========================================================================
Copyright ( c ) 2005 Tom Wu
All Rights Reserved .
Basic JavaScript BN library - subset useful for RSA encryption .
This software is covered under the following copyright :
Copyright ( c ) 2003 - 2005 Tom Wu
All Rights Reserved .
Permission is hereby granted , free of charge , to any person obtaining
a copy of this software and associated documentation files ( the
"Software" ), to deal in the Software without restriction , including
without limitation the rights to use , copy , modify , merge , publish ,
distribute , sublicense , and / or sell copies of the Software , and to
permit persons to whom the Software is furnished to do so , subject to
the following conditions :
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software .
THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND ,
EXPRESS , IMPLIED OR OTHERWISE , INCLUDING WITHOUT LIMITATION , ANY
WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE .
IN NO EVENT SHALL TOM WU BE LIABLE FOR ANY SPECIAL , INCIDENTAL ,
INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND , OR ANY DAMAGES WHATSOEVER
RESULTING FROM LOSS OF USE , DATA OR PROFITS , WHETHER OR NOT ADVISED OF
THE POSSIBILITY OF DAMAGE , AND ON ANY THEORY OF LIABILITY , ARISING OUT
OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE .
In addition , the following condition applies :
All redistributions must retain an intact copy of this copyright notice
and disclaimer .
Address all questions regarding this license to :
Tom Wu
tjw @ cs . Stanford . EDU
* /
var dbits , canary = 0xdeadbeefcafe , j_lm = 15715070 == ( 16777215 & canary ); j_lm && "Microsoft Internet Explorer" == navigator . appName ? ( BigInteger . prototype . am = am2 , dbits = 30 ) : j_lm && "Netscape" != navigator . appName ? ( BigInteger . prototype . am = am1 , dbits = 26 ) : ( BigInteger . prototype . am = am3 , dbits = 28 ), BigInteger . prototype . DB = dbits , BigInteger . prototype . DM = ( 1 << dbits ) - 1 , BigInteger . prototype . DV = 1 << dbits ; var BI_FP = 52 ; BigInteger . prototype . FV = Math . pow ( 2 , BI_FP ), BigInteger . prototype . F1 = BI_FP - dbits , BigInteger . prototype . F2 = 2 * dbits - BI_FP ; var BI_RM = "0123456789abcdefghijklmnopqrstuvwxyz" , BI_RC = new Array , rr , vv ; for ( rr = "0" . charCodeAt ( 0 ), vv = 0 ; vv <= 9 ; ++ vv ) BI_RC [ rr ++ ] = vv ; for ( rr = "a" . charCodeAt ( 0 ), vv = 10 ; vv < 36 ; ++ vv ) BI_RC [ rr ++ ] = vv ; for ( rr = "A" . charCodeAt ( 0 ), vv = 10 ; vv < 36 ; ++ vv ) BI_RC [ rr ++ ] = vv ; Classic . prototype . convert = cConvert , Classic . prototype . revert = cRevert , Classic . prototype . reduce = cReduce , Classic . prototype . mulTo = cMulTo , Classic . prototype . sqrTo = cSqrTo , Montgomery . prototype . convert = montConvert , Montgomery . prototype . revert = montRevert , Montgomery . prototype . reduce = montReduce , Montgomery . prototype . mulTo = montMulTo , Montgomery . prototype . sqrTo = montSqrTo , BigInteger . prototype . copyTo = bnpCopyTo , BigInteger . prototype . fromInt = bnpFromInt , BigInteger . prototype . fromString = bnpFromString , BigInteger . prototype . clamp = bnpClamp , BigInteger . prototype . dlShiftTo = bnpDLShiftTo , BigInteger . prototype . drShiftTo = bnpDRShiftTo , BigInteger . prototype . lShiftTo = bnpLShiftTo , BigInteger . prototype . rShiftTo = bnpRShiftTo , BigInteger . prototype . subTo = bnpSubTo , BigInteger . prototype . multiplyTo = bnpMultiplyTo , BigInteger . prototype . squareTo = bnpSquareTo , BigInteger . prototype . divRemTo = bnpDivRemTo , BigInteger . prototype . invDigit = bnpInvDigit , BigInteger . prototype . isEven = bnpIsEven , BigInteger . prototype . exp = bnpExp , BigInteger . prototype . toString = bnToString , BigInteger . prototype . negate = bnNegate , BigInteger . prototype . abs = bnAbs , BigInteger . prototype . compareTo = bnCompareTo , BigInteger . prototype . bitLength = bnBitLength , BigInteger . prototype . mod = bnMod , BigInteger . prototype . modPowInt = bnModPowInt , BigInteger . ZERO = nbv ( 0 ), BigInteger . ONE = nbv ( 1 ), NullExp . prototype . convert = nNop , NullExp . prototype . revert = nNop , NullExp . prototype . mulTo = nMulTo , NullExp . prototype . sqrTo = nSqrTo , Barrett . prototype . convert = barrettConvert , Barrett . prototype . revert = barrettRevert , Barrett . prototype . reduce = barrettReduce , Barrett . prototype . mulTo = barrettMulTo , Barrett . prototype . sqrTo = barrettSqrTo ; var lowprimes = [ 2 , 3 , 5 , 7 , 11 , 13 , 17 , 19 , 23 , 29 , 31 , 37 , 41 , 43 , 47 , 53 , 59 , 61 , 67 , 71 , 73 , 79 , 83 , 89 , 97 , 101 , 103 , 107 , 109 , 113 , 127 , 131 , 137 , 139 , 149 , 151 , 157 , 163 , 167 , 173 , 179 , 181 , 191 , 193 , 197 , 199 , 211 , 223 , 227 , 229 , 233 , 239 , 241 , 251 , 257 , 263 , 269 , 271 , 277 , 281 , 283 , 293 , 307 , 311 , 313 , 317 , 331 , 337 , 347 , 349 , 353 , 359 , 367 , 373 , 379 , 383 , 389 , 397 , 401 , 409 , 419 , 421 , 431 , 433 , 439 , 443 , 449 , 457 , 461 , 463 , 467 , 479 , 487 , 491 , 499 , 503 , 509 , 521 , 523 , 541 , 547 , 557 , 563 , 569 , 571 , 577 , 587 , 593 , 599 , 601 , 607 , 613 , 617 , 619 , 631 , 641 , 643 , 647 , 653 , 659 , 661 , 673 , 677 , 683 , 691 , 701 , 709 , 719 , 727 , 733 , 739 , 743 , 751 , 757 , 761 , 769 , 773 , 787 , 797 , 809 , 811 , 821 , 823 , 827 , 829 , 839 , 853 , 857 , 859 , 863 , 877 , 881 , 883 , 887 , 907 , 911 , 919 , 929 , 937 , 941 , 947 , 953 , 967 , 971 , 977 , 983 , 991 , 997 ], lplim = ( 1 << 26 ) / lowprimes [ lowprimes . length - 1 ]; BigInteger . prototype . chunkSize = bnpChunkSize , BigInteger . prototype . toRadix = bnpToRadix , BigInteger . prototype . fromRadix = bnpFromRadix , BigInteger . prototype . fromNumber = bnpFromNumber , BigInteger . prototype . bitwiseTo = bnpBitwiseTo , BigInteger . prototype . changeBit = bnpChangeBit , BigInteger . prototype . addTo = bnpAddTo , BigInteger . prototype . dMultiply = bnpDMultiply , BigInteger . prototype . dAddOffset = bnpDAddOffset , BigInteger . prototype . multiplyLowerTo = bnpMultiplyLowerTo , BigInteger . prototype . multiplyUpperTo = bnpMultiplyUpperTo , BigInteger . prototype . modInt = bnpModInt , BigInteger . prototype . millerRabin = bnpMillerRabin , BigInteger . prototype . clone = bnClone , BigInteger . prototype . intValue = bnIntValue , BigInteger . prototype . byteValue = bnByteValue , BigInteger . prototype . shortValue = bnShortValue , BigInteger . prototype . signum = bnSigNum , BigInteger . prototype . toByteArray = bnToByteArray , BigInteger . prototype . equals = bnEquals , BigInteger . prototype . min = bnMin , BigInteger . prototype . max = bnMax , BigInteger . prototype . and = bnAnd , BigInteger . prototype . or = bnOr , BigInteger . prototype . xor = bnXor , BigInteger . prototype . andNot = b
}); return this . hTLV = d . getEncodedHex (), this . isModified =! 1 , this . hTLV }, this . _initialize ()}, YAHOO . lang . extend ( KJUR . asn1 . x509 . TBSCertificate , KJUR . asn1 . ASN1Object ), KJUR . asn1 . x509 . Extension = function ( a ){ KJUR . asn1 . x509 . Extension . superclass . constructor . call ( this ); this . getEncodedHex = function (){ var a = new KJUR . asn1 . DERObjectIdentifier ({ oid : this . oid }), b = new KJUR . asn1 . DEROctetString ({ hex : this . getExtnValueHex ()}), c = new Array ; c . push ( a ), this . critical && c . push ( new KJUR . asn1 . DERBoolean ), c . push ( b ); var d = new KJUR . asn1 . DERSequence ({ array : c }); return d . getEncodedHex ()}, this . critical =! 1 , "undefined" != typeof a && "undefined" != typeof a . critical && ( this . critical = a . critical )}, YAHOO . lang . extend ( KJUR . asn1 . x509 . Extension , KJUR . asn1 . ASN1Object ), KJUR . asn1 . x509 . KeyUsage = function ( a ){ KJUR . asn1 . x509 . KeyUsage . superclass . constructor . call ( this , a ), this . getExtnValueHex = function (){ return this . asn1ExtnValue . getEncodedHex ()}, this . oid = "2.5.29.15" , "undefined" != typeof a && "undefined" != typeof a . bin && ( this . asn1ExtnValue = new KJUR . asn1 . DERBitString ( a ))}, YAHOO . lang . extend ( KJUR . asn1 . x509 . KeyUsage , KJUR . asn1 . x509 . Extension ), KJUR . asn1 . x509 . BasicConstraints = function ( a ){ KJUR . asn1 . x509 . BasicConstraints . superclass . constructor . call ( this , a ); this . getExtnValueHex = function (){ var a = new Array ; this . cA && a . push ( new KJUR . asn1 . DERBoolean ), this . pathLen >- 1 && a . push ( new KJUR . asn1 . DERInteger ({ int : this . pathLen })); var b = new KJUR . asn1 . DERSequence ({ array : a }); return this . asn1ExtnValue = b , this . asn1ExtnValue . getEncodedHex ()}, this . oid = "2.5.29.19" , this . cA =! 1 , this . pathLen =- 1 , "undefined" != typeof a && ( "undefined" != typeof a . cA && ( this . cA = a . cA ), "undefined" != typeof a . pathLen && ( this . pathLen = a . pathLen ))}, YAHOO . lang . extend ( KJUR . asn1 . x509 . BasicConstraints , KJUR . asn1 . x509 . Extension ), KJUR . asn1 . x509 . CRLDistributionPoints = function ( a ){ KJUR . asn1 . x509 . CRLDistributionPoints . superclass . constructor . call ( this , a ), this . getExtnValueHex = function (){ return this . asn1ExtnValue . getEncodedHex ()}, this . setByDPArray = function ( a ){ this . asn1ExtnValue = new KJUR . asn1 . DERSequence ({ array : a })}, this . setByOneURI = function ( a ){ var b = new KJUR . asn1 . x509 . GeneralNames ([{ uri : a }]), c = new KJUR . asn1 . x509 . DistributionPointName ( b ), d = new KJUR . asn1 . x509 . DistributionPoint ({ dpobj : c }); this . setByDPArray ([ d ])}, this . oid = "2.5.29.31" , "undefined" != typeof a && ( "undefined" != typeof a . array ? this . setByDPArray ( a . array ) : "undefined" != typeof a . uri && this . setByOneURI ( a . uri ))}, YAHOO . lang . extend ( KJUR . asn1 . x509 . CRLDistributionPoints , KJUR . asn1 . x509 . Extension ), KJUR . asn1 . x509 . ExtKeyUsage = function ( a ){ KJUR . asn1 . x509 . ExtKeyUsage . superclass . constructor . call ( this , a ), this . setPurposeArray = function ( a ){ this . asn1ExtnValue = new KJUR . asn1 . DERSequence ; for ( var b = 0 ; b < a . length ; b ++ ){ var c = new KJUR . asn1 . DERObjectIdentifier ( a [ b ]); this . asn1ExtnValue . appendASN1Object ( c )}}, this . getExtnValueHex = function (){ return this . asn1ExtnValue . getEncodedHex ()}, this . oid = "2.5.29.37" , "undefined" != typeof a && "undefined" != typeof a . array && this . setPurposeArray ( a . array )}, YAHOO . lang . extend ( KJUR . asn1 . x509 . ExtKeyUsage , KJUR . asn1 . x509 . Extension ), KJUR . asn1 . x509 . AuthorityKeyIdentifier = function ( a ){ KJUR . asn1 . x509 . AuthorityKeyIdentifier . superclass . constructor . call ( this , a ), this . asn1KID = null , this . asn1CertIssuer = null , this . asn1CertSN = null , this . getExtnValueHex = function (){ var a = new Array ; this . asn1KID && a . push ( new KJUR . asn1 . DERTaggedObject ({ explicit :! 1 , tag : "80" , obj : this . asn1KID })), this . asn1CertIssuer && a . push ( new KJUR . asn1 . DERTaggedObject ({ explicit :! 1 , tag : "a1" , obj : this . asn1CertIssuer })), this . asn1CertSN && a . push ( new KJUR . asn1 . DERTaggedObject ({ explicit :! 1 , tag : "82" , obj : this . asn1CertSN })); var b = new KJUR . asn1 . DERSequence ({ array : a }); return this . asn1ExtnValue = b , this . asn1ExtnValue . getEncodedHex ()}, this . setKIDByParam = function ( a ){ this . asn1KID = new KJUR . asn1 . DEROctetString ( a )}, this . setCertIssuerByParam = function ( a ){ this . asn1CertIssuer = new KJUR . asn1 . x509 . X500Name ( a )}, this . setCertSNByParam = function ( a ){ this . asn1CertSN = new KJUR . asn1 . DERInteger ( a )}, this . oid = "2.5.29.35" , "undefined" != typeof a && ( "undefined" != typeof a . kid && this . setKIDByParam ( a . kid ), "undefined" != typeof a . issuer && this . setCertIssuerByParam ( a . issuer ), "undefined" != typeof a . sn && this . setCertSNByParam ( a . sn ))}, YAHOO . lang . extend ( KJUR .
this . sign ()}, this . verify = function ( a ){ if ( this . sHashHex = this . md . digest (), "undefined" != typeof this . ecpubhex && "undefined" != typeof this . eccurvename ){ var b = new KJUR . crypto . ECDSA ({ curve : this . eccurvename }); return b . verifyHex ( this . sHashHex , a , this . ecpubhex )} if ( this . pubKey instanceof RSAKey && "rsaandmgf1" == this . pubkeyAlgName ) return this . pubKey . verifyWithMessageHashPSS ( this . sHashHex , a , this . mdAlgName , this . pssSaltLen ); if ( this . pubKey instanceof RSAKey && "rsa" == this . pubkeyAlgName ) return this . pubKey . verifyWithMessageHash ( this . sHashHex , a ); if ( this . pubKey instanceof KJUR . crypto . ECDSA ) return this . pubKey . verifyWithMessageHash ( this . sHashHex , a ); if ( this . pubKey instanceof KJUR . crypto . DSA ) return this . pubKey . verifyWithMessageHash ( this . sHashHex , a ); throw "Signature: unsupported public key alg: " + this . pubkeyAlgName }}}, this . init = function ( a , b ){ throw "init(key, pass) not supported for this alg:prov=" + this . algProvName }, this . initVerifyByPublicKey = function ( a ){ throw "initVerifyByPublicKey(rsaPubKeyy) not supported for this alg:prov=" + this . algProvName }, this . initVerifyByCertificatePEM = function ( a ){ throw "initVerifyByCertificatePEM(certPEM) not supported for this alg:prov=" + this . algProvName }, this . initSign = function ( a ){ throw "initSign(prvKey) not supported for this alg:prov=" + this . algProvName }, this . updateString = function ( a ){ throw "updateString(str) not supported for this alg:prov=" + this . algProvName }, this . updateHex = function ( a ){ throw "updateHex(hex) not supported for this alg:prov=" + this . algProvName }, this . sign = function (){ throw "sign() not supported for this alg:prov=" + this . algProvName }, this . signString = function ( a ){ throw "digestString(str) not supported for this alg:prov=" + this . algProvName }, this . signHex = function ( a ){ throw "digestHex(hex) not supported for this alg:prov=" + this . algProvName }, this . verify = function ( a ){ throw "verify(hSigVal) not supported for this alg:prov=" + this . algProvName }, this . initParams = a , void 0 !== a && ( void 0 !== a . alg && ( this . algName = a . alg , void 0 === a . prov ? this . provName = KJUR . crypto . Util . DEFAULTPROVIDER [ this . algName ] : this . provName = a . prov , this . algProvName = this . algName + ":" + this . provName , this . setAlgAndProvider ( this . algName , this . provName ), this . _setAlgNames ()), void 0 !== a . psssaltlen && ( this . pssSaltLen = a . psssaltlen ), void 0 !== a . prvkeypem )){ if ( void 0 !== a . prvkeypas ) throw "both prvkeypem and prvkeypas parameters not supported" ; try { var b = new RSAKey ; b . readPrivateKeyFromPEMString ( a . prvkeypem ), this . initSign ( b )} catch ( a ){ throw "fatal error to load pem private key: " + a }}}, KJUR . crypto . OID = new function (){ this . oidhex2name = { "2a864886f70d010101" : "rsaEncryption" , "2a8648ce3d0201" : "ecPublicKey" , "2a8648ce380401" : "dsa" , "2a8648ce3d030107" : "secp256r1" , "2b8104001f" : "secp192k1" , "2b81040021" : "secp224r1" , "2b8104000a" : "secp256k1" , "2b81040023" : "secp521r1" , "2b81040022" : "secp384r1" , "2a8648ce380403" : "SHA1withDSA" , "608648016503040301" : "SHA224withDSA" , "608648016503040302" : "SHA256withDSA" }}, "undefined" != typeof KJUR && KJUR || ( KJUR = {}), "undefined" != typeof KJUR . crypto && KJUR . crypto || ( KJUR . crypto = {}), KJUR . crypto . DSA = function (){ function a ( a , b , c , e , f , g ){ var h = KJUR . crypto . Util . hashString ( b , a . toLowerCase ()), h = h . substr ( 0 , f . bitLength () / 4 ), i = new BigInteger ( h , 16 ), j = d ( BigInteger . ONE . add ( BigInteger . ONE ), f . subtract ( BigInteger . ONE )), k = c . modPow ( j , e ). mod ( f ), l = j . modInverse ( f ). multiply ( i . add ( g . multiply ( k ))). mod ( f ), m = new Array ; return m [ 0 ] = k , m [ 1 ] = l , m } function b ( a ){ var b = openpgp . config . config . prefer_hash_algorithm ; switch ( Math . round ( a . bitLength () / 8 )){ case 20 : return 2 != b && b > 11 && 10 != b && b < 8 ? 2 : b ; case 28 : return b > 11 && b < 8 ? 11 : b ; case 32 : return b > 10 && b < 8 ? 8 : b ; default : return util . print_debug ( "DSA select hash algorithm: returning null for an unknown length of q" ), null }} function c ( a , b , c , d , e , f , g , h ){ var i = KJUR . crypto . Util . hashString ( d , a . toLowerCase ()), i = i . substr ( 0 , f . bitLength () / 4 ), j = new BigInteger ( i , 16 ); if ( BigInteger . ZERO . compareTo ( b ) > 0 || b . compareTo ( f ) > 0 || BigInteger . ZERO . compareTo ( c ) > 0 || c . compareTo ( f ) > 0 ) return util . print_error ( "invalid DSA Signature" ), null ; var k = c . modInverse ( f ), l = j . multiply ( k ). mod ( f ), m = b . multiply ( k ). mod ( f ), n = g . modPow ( l , e ). multiply ( h . modPow ( m , e )). mod ( e ). mod ( f ); return 0 == n . compareTo ( b )} function d ( a , b ){ if ( ! ( b . compareTo ( a ) <= 0 )){ for ( var c = b . subtr
var k = KEYUTIL . getHexFromPEM ( a , "RSA PRIVATE KEY" ); return KEYUTIL . getKey ( k , null , "pkcs5prv" )} if ( a . indexOf ( "-END DSA PRIVATE KEY-" ) !=- 1 && a . indexOf ( "4,ENCRYPTED" ) ==- 1 ){ var l = this . getHexFromPEM ( a , "DSA PRIVATE KEY" ), m = ASN1HEX . getVbyList ( l , 0 ,[ 1 ], "02" ), n = ASN1HEX . getVbyList ( l , 0 ,[ 2 ], "02" ), o = ASN1HEX . getVbyList ( l , 0 ,[ 3 ], "02" ), p = ASN1HEX . getVbyList ( l , 0 ,[ 4 ], "02" ), q = ASN1HEX . getVbyList ( l , 0 ,[ 5 ], "02" ), d = new KJUR . crypto . DSA ; return d . setPrivate ( new BigInteger ( m , 16 ), new BigInteger ( n , 16 ), new BigInteger ( o , 16 ), new BigInteger ( p , 16 ), new BigInteger ( q , 16 )), d } if ( a . indexOf ( "-END PRIVATE KEY-" ) !=- 1 ) return KEYUTIL . getKeyFromPlainPrivatePKCS8PEM ( a ); if ( a . indexOf ( "-END RSA PRIVATE KEY-" ) !=- 1 && a . indexOf ( "4,ENCRYPTED" ) !=- 1 ) return KEYUTIL . getRSAKeyFromEncryptedPKCS5PEM ( a , b ); if ( a . indexOf ( "-END EC PRIVATE KEY-" ) !=- 1 && a . indexOf ( "4,ENCRYPTED" ) !=- 1 ){ var l = KEYUTIL . getDecryptedKeyHex ( a , b ), d = ASN1HEX . getVbyList ( l , 0 ,[ 1 ], "04" ), r = ASN1HEX . getVbyList ( l , 0 ,[ 2 , 0 ], "06" ), s = ASN1HEX . getVbyList ( l , 0 ,[ 3 , 0 ], "03" ). substr ( 2 ), t = "" ; if ( void 0 === KJUR . crypto . OID . oidhex2name [ r ]) throw "undefined OID(hex) in KJUR.crypto.OID: " + r ; t = KJUR . crypto . OID . oidhex2name [ r ]; var e = new KJUR . crypto . ECDSA ({ name : t }); return e . setPublicKeyHex ( s ), e . setPrivateKeyHex ( d ), e . isPublic =! 1 , e } if ( a . indexOf ( "-END DSA PRIVATE KEY-" ) !=- 1 && a . indexOf ( "4,ENCRYPTED" ) !=- 1 ){ var l = KEYUTIL . getDecryptedKeyHex ( a , b ), m = ASN1HEX . getVbyList ( l , 0 ,[ 1 ], "02" ), n = ASN1HEX . getVbyList ( l , 0 ,[ 2 ], "02" ), o = ASN1HEX . getVbyList ( l , 0 ,[ 3 ], "02" ), p = ASN1HEX . getVbyList ( l , 0 ,[ 4 ], "02" ), q = ASN1HEX . getVbyList ( l , 0 ,[ 5 ], "02" ), d = new KJUR . crypto . DSA ; return d . setPrivate ( new BigInteger ( m , 16 ), new BigInteger ( n , 16 ), new BigInteger ( o , 16 ), new BigInteger ( p , 16 ), new BigInteger ( q , 16 )), d } if ( a . indexOf ( "-END ENCRYPTED PRIVATE KEY-" ) !=- 1 ) return KEYUTIL . getKeyFromEncryptedPKCS8PEM ( a , b ); throw "not supported argument" }, KEYUTIL . generateKeypair = function ( a , b ){ if ( "RSA" == a ){ var c = b , d = new RSAKey ; d . generate ( c , "10001" ), d . isPrivate =! 0 , d . isPublic =! 0 ; var e = new RSAKey , f = d . n . toString ( 16 ), g = d . e . toString ( 16 ); e . setPublic ( f , g ), e . isPrivate =! 1 , e . isPublic =! 0 ; var h = {}; return h . prvKeyObj = d , h . pubKeyObj = e , h } if ( "EC" == a ){ var i = b , j = new KJUR . crypto . ECDSA ({ curve : i }), k = j . generateKeyPairHex (), d = new KJUR . crypto . ECDSA ({ curve : i }); d . setPrivateKeyHex ( k . ecprvhex ), d . isPrivate =! 0 , d . isPublic =! 1 ; var e = new KJUR . crypto . ECDSA ({ curve : i }); e . setPublicKeyHex ( k . ecpubhex ), e . isPrivate =! 1 , e . isPublic =! 0 ; var h = {}; return h . prvKeyObj = d , h . pubKeyObj = e , h } throw "unknown algorithm: " + a }, KEYUTIL . getPEM = function ( a , b , c , d , e ){ function f ( a ){ var b = KJUR . asn1 . ASN1Util . newObject ({ seq : [{ int : 0 },{ int : { bigint : a . n }},{ int : a . e },{ int : { bigint : a . d }},{ int : { bigint : a . p }},{ int : { bigint : a . q }},{ int : { bigint : a . dmp1 }},{ int : { bigint : a . dmq1 }},{ int : { bigint : a . coeff }}]}); return b } function g ( a ){ var b = KJUR . asn1 . ASN1Util . newObject ({ seq : [{ int : 1 },{ octstr : { hex : a . prvKeyHex }},{ tag : [ "a0" , ! 0 ,{ oid : { name : a . curveName }}]},{ tag : [ "a1" , ! 0 ,{ bitstr : { hex : "00" + a . pubKeyHex }}]}]}); return b } function h ( a ){ var b = KJUR . asn1 . ASN1Util . newObject ({ seq : [{ int : 0 },{ int : { bigint : a . p }},{ int : { bigint : a . q }},{ int : { bigint : a . g }},{ int : { bigint : a . y }},{ int : { bigint : a . x }}]}); return b } var i = KJUR . asn1 , j = KJUR . crypto ; if (( "undefined" != typeof RSAKey && a instanceof RSAKey || "undefined" != typeof j . DSA && a instanceof j . DSA || "undefined" != typeof j . ECDSA && a instanceof j . ECDSA ) && 1 == a . isPublic && ( void 0 === b || "PKCS8PUB" == b )){ var k = new KJUR . asn1 . x509 . SubjectPublicKeyInfo ( a ), l = k . getEncodedHex (); return i . ASN1Util . getPEMStringFromHex ( l , "PUBLIC KEY" )} if ( "PKCS1PRV" == b && "undefined" != typeof RSAKey && a instanceof RSAKey && ( void 0 === c || null == c ) && 1 == a . isPrivate ){ var k = f ( a ), l = k . getEncodedHex (); return i . ASN1Util . getPEMStringFromHex ( l , "RSA PRIVATE KEY" )} if ( "PKCS1PRV" == b && "undefined" != typeof RSAKey && a instanceof KJUR . crypto . ECDSA && ( void 0 === c || null == c ) && 1 == a . isPrivate ){ var m = new KJUR . asn1 . DERObjectIdentifier ({ name : a . curveName }), n = m . getEncodedHex (), o = g ( a ), p = o . getEncodedHex (), q = "" ; return q += i . ASN1Util . getPEMStringFromHex ( n , "EC PARAMETERS" ), q += i . ASN1Util . getPEMStringFromHex ( p , "EC PRIVATE KEY" )} if ( "PKCS1PRV" == b && "undefined" != typeof KJUR . crypto . DSA && a instanceof KJUR . crypto . DSA && ( void 0 === c || null == c ) && 1 == a . isPrivate ){ var k = h ( a ), l = k . getEncodedHex (); return i . ASN1Util . getPEMStringFromHex ( l
========================================================================
Blowfish . js from Dojo Toolkit 1.8 . 1
Cut of by Sladex ( xslade @ gmail . com )
Created based on the C # implementation by Marcus Hahn ( http : //www.hotpixel.net/)
Unsigned math based on Paul Johnstone and Peter Wood patches .
2005 - 12 - 08
The Dojo Toolkit ( including this package ) is dual licensed under BSD 3 - Clause and AFL .
The Dojo Toolkit is Copyright ( c ) 2005 - 2016 , The Dojo Foundation . All rights reserved .
* /
function ( a ){ var b = {}; b . cipherModes = { ECB : 0 , CBC : 1 , PCBC : 2 , CFB : 3 , OFB : 4 , CTR : 5 }, b . outputTypes = { Base64 : 0 , Hex : 1 , String : 2 , Raw : 3 }; var c = {}, d = "=" , e = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" ; c . encode = function ( a ){ for ( var b = [], c = a . length , f = c % 3 , g = c - f , h = 0 ; h < g ;){ var i = a [ h ++ ] << 16 | a [ h ++ ] << 8 | a [ h ++ ]; b . push ( e . charAt ( i >>> 18 & 63 )), b . push ( e . charAt ( i >>> 12 & 63 )), b . push ( e . charAt ( i >>> 6 & 63 )), b . push ( e . charAt ( 63 & i ))} switch ( f ){ case 2 : var i = a [ h ++ ] << 16 | a [ h ++ ] << 8 ; b . push ( e . charAt ( i >>> 18 & 63 )), b . push ( e . charAt ( i >>> 12 & 63 )), b . push ( e . charAt ( i >>> 6 & 63 )), b . push ( d ); break ; case 1 : var i = a [ h ++ ] << 16 ; b . push ( e . charAt ( i >>> 18 & 63 )), b . push ( e . charAt ( i >>> 12 & 63 )), b . push ( d ), b . push ( d )} return b . join ( "" )}, c . decode = function ( a ){ for ( var b = a . split ( "" ), c = [], f = b . length ; b [ -- f ] == d ;); for ( var g = 0 ; g < f ;){ var h = e . indexOf ( b [ g ++ ]) << 18 ; g <= f && ( h |= e . indexOf ( b [ g ++ ]) << 12 ), g <= f && ( h |= e . indexOf ( b [ g ++ ]) << 6 ), g <= f && ( h |= e . indexOf ( b [ g ++ ])), c . push ( h >>> 16 & 255 ), c . push ( h >>> 8 & 255 ), c . push ( 255 & h )} for (; 0 == c [ c . length - 1 ];) c . pop (); return c }; var f = {}; f . isString = function ( a ){ return "string" == typeof a || a instanceof String }; var g = {}; g . map = function ( a , b , c , d ){ var e = 0 , f = a && a . length || 0 , g = new ( d || Array )( f ); if ( f && "string" == typeof a && ( a = a . split ( "" )), "string" == typeof b && ( b = cache [ b ] || buildFn ( b )), c ) for (; e < f ; ++ e ) g [ e ] = b . call ( c , a [ e ], e , a ); else for (; e < f ; ++ e ) g [ e ] = b ( a [ e ], e , a ); return g }, b . Blowfish = new function (){ function a ( a , b ){ return ( a >> 16 ^ b >> 16 ) << 16 | 65535 & ( 65535 & a ^ 65535 & b )} function d ( a , b ){ var c = b . s3 [ 255 & a ]; a >>= 8 ; var d = b . s2 [ 255 & a ]; a >>= 8 ; var e = b . s1 [ 255 & a ]; a >>= 8 ; var f = b . s0 [ 255 & a ], g = ( f >> 16 ) + ( e >> 16 ) + (( 65535 & f ) + ( 65535 & e ) >> 16 ) << 16 | ( 65535 & f ) + ( 65535 & e ) & 65535 ; return g = ( g >> 16 ^ d >> 16 ) << 16 | 65535 & ( 65535 & g ^ 65535 & d ),( g >> 16 ) + ( c >> 16 ) + (( 65535 & g ) + ( 65535 & c ) >> 16 ) << 16 | ( 65535 & g ) + ( 65535 & c ) & 65535 } function e ( b , c ){ var e = b . left , f = b . right ; e = a ( e , c . p [ 0 ]), f = a ( f , a ( d ( e , c ), c . p [ 1 ])), e = a ( e , a ( d ( f , c ), c . p [ 2 ])), f = a ( f , a ( d ( e , c ), c . p [ 3 ])), e = a ( e , a ( d ( f , c ), c . p [ 4 ])), f = a ( f , a ( d ( e , c ), c . p [ 5 ])), e = a ( e , a ( d ( f , c ), c . p [ 6 ])), f = a ( f , a ( d ( e , c ), c . p [ 7 ])), e = a ( e , a ( d ( f , c ), c . p [ 8 ])), f = a ( f , a ( d ( e , c ), c . p [ 9 ])), e = a ( e , a ( d ( f , c ), c . p [ 10 ])), f = a ( f , a ( d ( e , c ), c . p [ 11 ])), e = a ( e , a ( d ( f , c ), c . p [ 12 ])), f = a ( f , a ( d ( e , c ), c . p [ 13 ])), e = a ( e , a ( d ( f , c ), c . p [ 14 ])), f = a ( f , a ( d ( e , c ), c . p [ 15 ])), e = a ( e , a ( d ( f , c ), c . p [ 16 ])), b . right = e , b . left = a ( f , c . p [ 17 ])} function h ( b , c ){ var e = b . left , f = b . right ; e = a ( e , c . p [ 17 ]), f = a ( f , a ( d ( e , c ), c . p [ 16 ])), e = a ( e , a ( d ( f , c ), c . p [ 15 ])), f = a ( f , a ( d ( e , c ), c . p [ 14 ])), e = a ( e , a ( d ( f , c ), c . p [ 13 ])), f = a ( f , a ( d ( e , c ), c . p [ 12 ])), e = a ( e , a ( d ( f , c ), c . p [ 11 ])), f = a ( f , a ( d ( e , c ), c . p [ 10 ])), e = a ( e , a ( d ( f , c ), c . p [ 9 ])), f = a ( f , a ( d ( e , c ), c . p [ 8 ])), e = a ( e , a ( d ( f , c ), c . p [ 7 ])), f = a ( f , a ( d ( e , c ), c . p [ 6 ])), e = a ( e , a ( d ( f , c ), c . p [ 5 ])), f = a ( f , a ( d ( e , c ), c . p [ 4 ])), e = a ( e , a ( d ( f , c ), c . p [ 3 ])), f = a ( f , a ( d ( e , c ), c . p [ 2 ])), e = a ( e , a ( d ( f , c ), c . p [ 1 ])), b . right = e , b . left = a ( f , c . p [ 0 ])} function i ( a ){ var b = a ; f . isString ( b ) && ( b = g . map ( b . split ( "" ), function ( a ){ return 255 & a . charCodeAt ( 0 )})); var c , d , h , i = 0 , k = 0 , l = { left : 0 , right : 0 }, m = { p : g . map ( n . p . slice ( 0 ), function ( a ){ var c , d = b . length ; for ( c = 0 ; c < 4 ; c ++ ) k = k * j | b [ i ++% d ]; return ( a >> 16 ^ k >> 16 ) << 16 | 65535 & ( 65535 & a ^ 65535 & k )}), s0 : n . s0 . slice ( 0 ), s1 : n . s1 . slice ( 0 ), s2 : n . s2 . slice ( 0 ), s3 : n . s3 . slice ( 0 )}; for ( c = 0 , h = m . p . length ; c < h ;) e ( l , m ), m . p [ c ++ ] = l . left , m . p [ c ++ ] = l . right ; for ( c = 0 ; c < 4 ; c ++ ) for ( d = 0 , h = m [ "s" + c ]. length ; d < h ;) e ( l , m ), m [ "s" + c ][ d ++ ] = l . left , m [ "s" + c ][ d ++ ] = l . right ; return m } var j = ( Math . pow ( 2 , 2 ), Math . pow ( 2 , 3 ), Math . pow ( 2 , 4 ), Math . pow ( 2 , 8 )), k = Math . pow ( 2 , 16 ), l = Math . pow ( 2 , 24 ), m = null , n = { p : [ 608135816 , 2242054355 , 320440878 , 57701188 , 2752067618 , 698298832 , 137296536 , 3964562569 , 1160258022 , 953160567 , 3193202383 , 887688300 , 3232508343 , 3380367581 , 1065670069 , 3041331479 , 2450970073 , 2306472731 ], s0 : [ 3509652390 , 2564797868 , 805139163 , 3491422135 , 3101798381 , 1780907670 , 3128725573 , 4046225305 , 614570311 , 3012652279 , 134345442 , 2240740374 , 1667834072 , 1901547113 , 2757295779 , 4103290238 , 227898511 , 1921955416 , 1904987480 , 2182433518 , 2069144605 , 3260701109 , 2620446009 , 720527379 , 3318853667 , 677414384 , 3393288472 , 3101374703 , 2390351024 , 1614419982 , 1822297739 , 2954791486 , 3608508353 , 3174124327 , 2024746970 , 1432378464 , 3864339955 , 2857741204 , 1464375394 , 1676153920 , 1439316330 , 715854006 , 3033291828 , 289532110 , 2706671279 , 2087905683 , 3018724369 , 1668267050 , 732546397 , 1947742710 , 3462151702 , 2609353502 , 2950085171 , 1814351708 , 2050118529 , 680887927 , 999245976 , 1800124847 , 330091
k = c . length ); j -- ;) c [ f ] = c [ f ++- i ]; for (; 8 <= this . c ;) this . c -= 8 , this . d -- ; this . a = f }, c . prototype . e = function (){ var a , b , c = new ( h ? Uint8Array : Array )( this . a - 32768 ), d = this . a - 32768 , e = this . b ; if ( h ) c . set ( e . subarray ( 32768 , c . length )); else for ( a = 0 , b = c . length ; a < b ; ++ a ) c [ a ] = e [ a + 32768 ]; if ( this . g . push ( c ), this . k += c . length , h ) e . set ( e . subarray ( d , d + 32768 )); else for ( a = 0 ; 32768 > a ; ++ a ) e [ a ] = e [ d + a ]; return this . a = 32768 , e }, c . prototype . v = function ( a ){ var b , c , d , e , f = this . input . length / this . d + 1 | 0 , g = this . input , i = this . b ; return a && ( "number" == typeof a . o && ( f = a . o ), "number" == typeof a . r && ( f += a . r )), 2 > f ? ( c = ( g . length - this . d ) / this . n [ 2 ], e = 258 * ( c / 2 ) | 0 , d = e < i . length ? i . length + e : i . length << 1 ) : d = i . length * f , h ? ( b = new Uint8Array ( d ), b . set ( i )) : b = i , this . b = b }, c . prototype . m = function (){ var a , b , c , d , e , f = 0 , g = this . b , i = this . g , j = new ( h ? Uint8Array : Array )( this . k + ( this . a - 32768 )); if ( 0 === i . length ) return h ? this . b . subarray ( 32768 , this . a ) : this . b . slice ( 32768 , this . a ); for ( b = 0 , c = i . length ; b < c ; ++ b ) for ( a = i [ b ], d = 0 , e = a . length ; d < e ; ++ d ) j [ f ++ ] = a [ d ]; for ( b = 32768 , c = this . a ; b < c ; ++ b ) j [ f ++ ] = g [ b ]; return this . g = [], this . buffer = j }, c . prototype . s = function (){ var a , b = this . a ; return h ? this . q ? ( a = new Uint8Array ( b ), a . set ( this . b . subarray ( 0 , b ))) : a = this . b . subarray ( 0 , b ) : ( this . b . length > b && ( this . b . length = b ), a = this . b ), this . buffer = a }, a ( "Zlib.RawInflate" , c ), a ( "Zlib.RawInflate.prototype.decompress" , c . prototype . u ); var C , D , E , F , G = { ADAPTIVE : j , BLOCK : i }; if ( Object . keys ) C = Object . keys ( G ); else for ( D in C = [], E = 0 , G ) C [ E ++ ] = D ; for ( E = 0 , F = C . length ; E < F ; ++ E ) D = C [ E ], a ( "Zlib.RawInflate.BufferType." + D , G [ D ])}. call ( this ), function (){ function a ( a , b ){ var c = a . split ( "." ), d = s ; ! ( c [ 0 ] in d ) && d . execScript && d . execScript ( "var " + c [ 0 ]); for ( var e ; c . length && ( e = c . shift ());) c . length || b === q ? d = d [ e ] ? d [ e ] : d [ e ] = {} : d [ e ] = b } function b ( a , b ){ if ( this . index = "number" == typeof b ? b : 0 , this . f = 0 , this . buffer = a instanceof ( t ? Uint8Array : Array ) ? a : new ( t ? Uint8Array : Array )( 32768 ), 2 * this . buffer . length <= this . index ) throw Error ( "invalid index" ); this . buffer . length <= this . index && c ( this )} function c ( a ){ var b , c = a . buffer , d = c . length , e = new ( t ? Uint8Array : Array )( d << 1 ); if ( t ) e . set ( c ); else for ( b = 0 ; b < d ; ++ b ) e [ b ] = c [ b ]; return a . buffer = e } function d ( a ){ var b , c = q , d = "number" == typeof c ? c : c = 0 , e = a . length ; for ( b =- 1 , d = 7 & e ; d -- ; ++ c ) b = b >>> 8 ^ B [ 255 & ( b ^ a [ c ])]; for ( d = e >> 3 ; d -- ; c += 8 ) b = b >>> 8 ^ B [ 255 & ( b ^ a [ c ])], b = b >>> 8 ^ B [ 255 & ( b ^ a [ c + 1 ])], b = b >>> 8 ^ B [ 255 & ( b ^ a [ c + 2 ])], b = b >>> 8 ^ B [ 255 & ( b ^ a [ c + 3 ])], b = b >>> 8 ^ B [ 255 & ( b ^ a [ c + 4 ])], b = b >>> 8 ^ B [ 255 & ( b ^ a [ c + 5 ])], b = b >>> 8 ^ B [ 255 & ( b ^ a [ c + 6 ])], b = b >>> 8 ^ B [ 255 & ( b ^ a [ c + 7 ])]; return ( 4294967295 ^ b ) >>> 0 } function e ( a ){ this . buffer = new ( t ? Uint16Array : Array )( 2 * a ), this . length = 0 } function f ( a , b ){ this . k = D , this . l = 0 , this . input = t && a instanceof Array ? new Uint8Array ( a ) : a , this . e = 0 , b && ( b . lazy && ( this . l = b . lazy ), "number" == typeof b . compressionType && ( this . k = b . compressionType ), b . outputBuffer && ( this . c = t && b . outputBuffer instanceof Array ? new Uint8Array ( b . outputBuffer ) : b . outputBuffer ), "number" == typeof b . outputIndex && ( this . e = b . outputIndex )), this . c || ( this . c = new ( t ? Uint8Array : Array )( 32768 ))} function g ( a , b ){ this . length = a , this . n = b } function h ( a , b ){ function c ( a , b ){ var c , d = a . n , e = [], f = 0 ; c = G [ a . length ], e [ f ++ ] = 65535 & c , e [ f ++ ] = c >> 16 & 255 , e [ f ++ ] = c >> 24 ; var g ; switch ( r ){ case 1 === d : g = [ 0 , d - 1 , 0 ]; break ; case 2 === d : g = [ 1 , d - 2 , 0 ]; break ; case 3 === d : g = [ 2 , d - 3 , 0 ]; break ; case 4 === d : g = [ 3 , d - 4 , 0 ]; break ; case 6 >= d : g = [ 4 , d - 5 , 1 ]; break ; case 8 >= d : g = [ 5 , d - 7 , 1 ]; break ; case 12 >= d : g = [ 6 , d - 9 , 2 ]; break ; case 16 >= d : g = [ 7 , d - 13 , 2 ]; break ; case 24 >= d : g = [ 8 , d - 17 , 3 ]; break ; case 32 >= d : g = [ 9 , d - 25 , 3 ]; break ; case 48 >= d : g = [ 10 , d - 33 , 4 ]; break ; case 64 >= d : g = [ 11 , d - 49 , 4 ]; break ; case 96 >= d : g = [ 12 , d - 65 , 5 ]; break ; case 128 >= d : g = [ 13 , d - 97 , 5 ]; break ; case 192 >= d : g = [ 14 , d - 129 , 6 ]; break ; case 256 >= d : g = [ 15 , d - 193 , 6 ]; break ; case 384 >= d : g = [ 16 , d - 257 , 7 ]; break ; case 512 >= d : g = [ 17 , d - 385 , 7 ]; break ; case 768 >= d : g = [ 18 , d - 513 , 8 ]; break ; case 1024 >= d : g = [ 19 , d - 769 , 8 ]; break ; case 1536 >= d : g = [ 20 , d - 1025 , 9 ]; break ; case 2048 >= d : g = [ 21 , d - 1537 , 9 ]; break ; case 3072 >= d : g = [ 22 , d - 2049 , 10 ]; break ; case 4096 >= d : g = [ 23 , d - 3073 , 10 ]; break ; case 6144 >= d : g = [ 24 , d - 4097 , 11 ]; break ; case 8192 >= d : g = [ 25 , d - 6145 , 11 ]; break ; case 12288 >= d : g = [ 26 , d - 8193 , 12 ]; break ; case 16384 >= d : g = [ 27 , d - 12289 , 12 ]; break ; case 24576 >= d : g = [ 28 , d - 16385 , 13 ]; break ; case 32768 >= d : g = [ 29 , d - 24577 , 13 ]; break ; default : throw "invalid distance" } c = g , e [ f ++ ] = c [ 0 ], e [ f ++ ] = c [ 1 ], e [ f ++ ] = c [ 2 ]
}). r (); break ; default : a ( Error ( "unknown compression type" ))} if ( this . ca ){ var v , x = o , y = "number" == typeof x ? x : x = 0 , z = j . length ; for ( v =- 1 , y = 7 & z ; y -- ; ++ x ) v = v >>> 8 ^ w [ 255 & ( v ^ j [ x ])]; for ( y = z >> 3 ; y -- ; x += 8 ) v = v >>> 8 ^ w [ 255 & ( v ^ j [ x ])], v = v >>> 8 ^ w [ 255 & ( v ^ j [ x + 1 ])], v = v >>> 8 ^ w [ 255 & ( v ^ j [ x + 2 ])], v = v >>> 8 ^ w [ 255 & ( v ^ j [ x + 3 ])], v = v >>> 8 ^ w [ 255 & ( v ^ j [ x + 4 ])], v = v >>> 8 ^ w [ 255 & ( v ^ j [ x + 5 ])], v = v >>> 8 ^ w [ 255 & ( v ^ j [ x + 6 ])], v = v >>> 8 ^ w [ 255 & ( v ^ j [ x + 7 ])]; n = ( 4294967295 ^ v ) >>> 0 , g . p !== n && a ( Error ( "wrong crc: file=0x" + g . p . toString ( 16 ) + ", data=0x" + n . toString ( 16 )))} return j }, n . M = function ( a ){ this . j = a }, n . k = h . prototype . k , n . T = h . prototype . U , n . s = h . prototype . s , b ( "Zlib.Unzip" , i ), b ( "Zlib.Unzip.prototype.decompress" , i . prototype . r ), b ( "Zlib.Unzip.prototype.getFilenames" , i . prototype . Z ), b ( "Zlib.Unzip.prototype.setPassword" , i . prototype . M )}. call ( this ), /** @license
========================================================================
zlib.js 2012 - imaya [ https://github.com/imaya/zlib.js ] The MIT License
*/
function (){ function a ( a ){ throw a } function b ( a , b ){ var c = a . split ( "." ), d = A ; ! ( c [ 0 ] in d ) && d . execScript && d . execScript ( "var " + c [ 0 ]); for ( var e ; c . length && ( e = c . shift ());) c . length || b === y ? d = d [ e ] ? d [ e ] : d [ e ] = {} : d [ e ] = b } function c ( b , c ){ this . index = "number" == typeof c ? c : 0 , this . m = 0 , this . buffer = b instanceof ( B ? Uint8Array : Array ) ? b : new ( B ? Uint8Array : Array )( 32768 ), 2 * this . buffer . length <= this . index && a ( Error ( "invalid index" )), this . buffer . length <= this . index && this . f ()} function d ( a , b , c ){ var d , e = "number" == typeof b ? b : b = 0 , f = "number" == typeof c ? c : a . length ; for ( d =- 1 , e = 7 & f ; e -- ; ++ b ) d = d >>> 8 ^ J [ 255 & ( d ^ a [ b ])]; for ( e = f >> 3 ; e -- ; b += 8 ) d = d >>> 8 ^ J [ 255 & ( d ^ a [ b ])], d = d >>> 8 ^ J [ 255 & ( d ^ a [ b + 1 ])], d = d >>> 8 ^ J [ 255 & ( d ^ a [ b + 2 ])], d = d >>> 8 ^ J [ 255 & ( d ^ a [ b + 3 ])], d = d >>> 8 ^ J [ 255 & ( d ^ a [ b + 4 ])], d = d >>> 8 ^ J [ 255 & ( d ^ a [ b + 5 ])], d = d >>> 8 ^ J [ 255 & ( d ^ a [ b + 6 ])], d = d >>> 8 ^ J [ 255 & ( d ^ a [ b + 7 ])]; return ( 4294967295 ^ d ) >>> 0 } function e (){} function f ( a ){ this . buffer = new ( B ? Uint16Array : Array )( 2 * a ), this . length = 0 } function g ( a ){ var b , c , d , e , f , g , h , i , j , k , l = a . length , m = 0 , n = Number . POSITIVE_INFINITY ; for ( i = 0 ; i < l ; ++ i ) a [ i ] > m && ( m = a [ i ]), a [ i ] < n && ( n = a [ i ]); for ( b = 1 << m , c = new ( B ? Uint32Array : Array )( b ), d = 1 , e = 0 , f = 2 ; d <= m ;){ for ( i = 0 ; i < l ; ++ i ) if ( a [ i ] === d ){ for ( g = 0 , h = e , j = 0 ; j < d ; ++ j ) g = g << 1 | 1 & h , h >>= 1 ; for ( k = d << 16 | i , j = g ; j < b ; j += f ) c [ j ] = k ; ++ e } ++ d , e <<= 1 , f <<= 1 } return [ c , m , n ]} function h ( a , b ){ this . k = L , this . I = 0 , this . input = B && a instanceof Array ? new Uint8Array ( a ) : a , this . b = 0 , b && ( b . lazy && ( this . I = b . lazy ), "number" == typeof b . compressionType && ( this . k = b . compressionType ), b . outputBuffer && ( this . a = B && b . outputBuffer instanceof Array ? new Uint8Array ( b . outputBuffer ) : b . outputBuffer ), "number" == typeof b . outputIndex && ( this . b = b . outputIndex )), this . a || ( this . a = new ( B ? Uint8Array : Array )( 32768 ))} function i ( a , b ){ this . length = a , this . Q = b } function j ( b , c ){ function d ( b , c ){ var d , e = b . Q , f = [], g = 0 ; d = P [ b . length ], f [ g ++ ] = 65535 & d , f [ g ++ ] = d >> 16 & 255 , f [ g ++ ] = d >> 24 ; var h ; switch ( z ){ case 1 === e : h = [ 0 , e - 1 , 0 ]; break ; case 2 === e : h = [ 1 , e - 2 , 0 ]; break ; case 3 === e : h = [ 2 , e - 3 , 0 ]; break ; case 4 === e : h = [ 3 , e - 4 , 0 ]; break ; case 6 >= e : h = [ 4 , e - 5 , 1 ]; break ; case 8 >= e : h = [ 5 , e - 7 , 1 ]; break ; case 12 >= e : h = [ 6 , e - 9 , 2 ]; break ; case 16 >= e : h = [ 7 , e - 13 , 2 ]; break ; case 24 >= e : h = [ 8 , e - 17 , 3 ]; break ; case 32 >= e : h = [ 9 , e - 25 , 3 ]; break ; case 48 >= e : h = [ 10 , e - 33 , 4 ]; break ; case 64 >= e : h = [ 11 , e - 49 , 4 ]; break ; case 96 >= e : h = [ 12 , e - 65 , 5 ]; break ; case 128 >= e : h = [ 13 , e - 97 , 5 ]; break ; case 192 >= e : h = [ 14 , e - 129 , 6 ]; break ; case 256 >= e : h = [ 15 , e - 193 , 6 ]; break ; case 384 >= e : h = [ 16 , e - 257 , 7 ]; break ; case 512 >= e : h = [ 17 , e - 385 , 7 ]; break ; case 768 >= e : h = [ 18 , e - 513 , 8 ]; break ; case 1024 >= e : h = [ 19 , e - 769 , 8 ]; break ; case 1536 >= e : h = [ 20 , e - 1025 , 9 ]; break ; case 2048 >= e : h = [ 21 , e - 1537 , 9 ]; break ; case 3072 >= e : h = [ 22 , e - 2049 , 10 ]; break ; case 4096 >= e : h = [ 23 , e - 3073 , 10 ]; break ; case 6144 >= e : h = [ 24 , e - 4097 , 11 ]; break ; case 8192 >= e : h = [ 25 , e - 6145 , 11 ]; break ; case 12288 >= e : h = [ 26 , e - 8193 , 12 ]; break ; case 16384 >= e : h = [ 27 , e - 12289 , 12 ]; break ; case 24576 >= e : h = [ 28 , e - 16385 , 13 ]; break ; case 32768 >= e : h = [ 29 , e - 24577 , 13 ]; break ; default : a ( "invalid distance" )} d = h , f [ g ++ ] = d [ 0 ], f [ g ++ ] = d [ 1 ], f [ g ++ ] = d [ 2 ]; var i , j ; for ( i = 0 , j = f . length ; i < j ; ++ i ) p [ q ++ ] = f [ i ]; s [ f [ 0 ]] ++ , t [ f [ 3 ]] ++ , r = b . length + c - 1 , m = null } var e , f , g , h , i , j , l , m , n , o = {}, p = B ? new Uint16Array ( 2 * c . length ) : [], q = 0 , r = 0 , s = new ( B ? Uint32Array : Array )( 286 ), t = new ( B ? Uint32Array : Array )( 30 ), u = b . I ; if ( ! B ){ for ( g = 0 ; 285 >= g ;) s [ g ++ ] = 0 ; for ( g = 0 ; 29 >= g ;) t [ g ++ ] = 0 } for ( s [ 256 ] = 1 , e = 0 , f = c . length ; e < f ; ++ e ){ for ( g = i = 0 , h = 3 ; g < h && e + g !== f ; ++ g ) i = i << 8 | c [ e + g ]; if ( o [ i ] === y && ( o [ i ] = []), j = o [ i ], ! ( 0 < r -- )){ for (; 0 < j . length && 32768 < e - j [ 0 ];) j . shift (); if ( e + 3 >= f ){ for ( m && d ( m , - 1 ), g = 0 , h = f - e ; g < h ; ++ g ) n = c [ e + g ], p [ q ++ ] = n , ++ s [ n ]; break } 0 < j . length ? ( l = k ( c , e , j ), m ? m . length < l . length ? ( n = c [ e - 1 ], p [ q ++ ] = n , ++ s [ n ], d ( l , 0 )) : d ( m , - 1 ) : l . length < u ? m = l : d ( l , 0 )) : m ? d ( m , - 1 ) : ( n = c [ e ], p [ q ++ ] = n , ++ s [ n ])} j . push ( e )} return p [ q ++ ] = 256 , s [ 256 ] ++ , b . W = s , b . V = t , B ? p . subarray ( 0 , q ) : p } function k ( a , b , c ){ var d , e , f , g , h , j , k = 0 , l = a . length ; g = 0 , j = c . length ; a : for (; g < j ; g ++ ){ if ( d = c [ j - g - 1 ], f = 3 , 3 < k ){ for ( h = k ; 3 < h ; h -- ) if ( a [ d + h - 1 ] !== a [ b + h - 1 ]) continue a ; f = k } for (; 258 > f && b + f < l && a [ d + f ] === a [ b + f ];) ++ f ; if ( f > k && ( e = d , k = f ), 258 === f ) break } return new i ( k , b - e )} function l ( a , b ){ var c , d , e , g , h , i = a . length , j = new f ( 572 ), k = new ( B ? Uint8Array : Array )( i ); if ( ! B ) for ( g = 0 ; g < i ; g ++ ) k [ g ] = 0 ; for ( g = 0 ; g < i ; ++ g ) 0 < a [ g ] && j . push ( g , a [ g ]); if ( c = Array ( j . length / 2 ), d = new ( B ? Uint32Array : Array )( j . length / 2 ), 1 === c . length ) return k [ j . pop (). index ] = 1 , k ; for ( g = 0 , h =
metadata : { uaFamily : "Jyxobot" , uaName : "Jyxobot" , uaUrl : "" , uaCompany : "Jyxo s.r.o." , uaCompanyUrl : "http://jyxo.cz/" , uaIcon : "bot_Jyxobot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=Jyxobot" }}, 9 : { userAgent : "Scooter/3.3" , metadata : { uaFamily : "Scooter" , uaName : "Scooter/3.3" , uaUrl : "" , uaCompany : "AltaVista" , uaCompanyUrl : "http://www.altavista.com/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=Scooter" }}, 14 : { userAgent : "Baiduspider+(+http://www.baidu.com/search/spider.htm)" , metadata : { uaFamily : "Baiduspider" , uaName : "Baiduspider" , uaUrl : "http://www.baidu.com/search/spider.htm" , uaCompany : "Baidu" , uaCompanyUrl : "http://www.baidu.com/" , uaIcon : "bot_baiduspider.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=Baiduspider" }}, 20 : { userAgent : "lmspider (lmspider@scansoft.com)" , metadata : { uaFamily : "lmspider" , uaName : "lmspider" , uaUrl : "http://www.nuance.com/" , uaCompany : "Nuance Communications, Inc." , uaCompanyUrl : "http://www.nuance.com/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=lmspider" }}, 25 : { userAgent : "Googlebot-Image/1.0" , metadata : { uaFamily : "Googlebot" , uaName : "Googlebot-Image/1.0" , uaUrl : "http://support.google.com/webmasters/bin/answer.py?hl=en&answer=1061943" , uaCompany : "Google Inc." , uaCompanyUrl : "http://www.google.com/" , uaIcon : "bot_googlebot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=Googlebot" }}, 31 : { userAgent : "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" , metadata : { uaFamily : "Googlebot" , uaName : "Googlebot/2.1" , uaUrl : "http://support.google.com/webmasters/bin/answer.py?hl=en&answer=1061943" , uaCompany : "Google Inc." , uaCompanyUrl : "http://www.google.com/" , uaIcon : "bot_googlebot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=Googlebot" }}, 32 : { userAgent : "ConveraMultiMediaCrawler/0.1 (+http://www.authoritativeweb.com/crawl)" , metadata : { uaFamily : "ConveraCrawler" , uaName : "ConveraMultiMediaCrawler/0.1" , uaUrl : "http://www.authoritativeweb.com/crawl" , uaCompany : "Convera Corporation" , uaCompanyUrl : "http://www.authoritativeweb.com/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=ConveraCrawler" }}, 37 : { userAgent : "Mozilla/2.0 (compatible; Ask Jeeves/Teoma; +http://sp.ask.com/docs/about/tech_crawling.html)" , metadata : { uaFamily : "Ask Jeeves/Teoma" , uaName : "Ask Jeeves/Teoma - b" , uaUrl : "http://about.ask.com/en/docs/about/webmasters.shtml" , uaCompany : "Ask Jeeves Inc." , uaCompanyUrl : "http://about.ask.com/en/docs/about/index.shtml" , uaIcon : "bot_AskJeeves.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=Ask Jeeves/Teoma" }}, 38 : { userAgent : "NG/2.0" , metadata : { uaFamily : "NG" , uaName : "NG/2.0" , uaUrl : "" , uaCompany : "Exalead" , uaCompanyUrl : "http://exalead.com/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=NG" }}, 40 : { userAgent : "TutorGigBot/1.5 ( +http://www.tutorgig.info )" , metadata : { uaFamily : "TutorGigBot" , uaName : "TutorGigBot" , uaUrl : "http://www.tutorgig.com/help.html" , uaCompany : "TutorGig" , uaCompanyUrl : "http://www.tutorgig.com/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=TutorGigBot" }}, 43 : { userAgent : "ZACATEK_CZ_BOT (www.zacatek.cz)" , metadata : { uaFamily : "ZACATEK_CZ" , uaName : "ZACATEK_CZ_BOT" , uaUrl : "http://www.zacatek.cz/" , uaCompany : "webprovider - Adam Haken" , uaCompanyUrl : "http://www.webprovider.cz/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=ZACATEK_CZ" }}, 45 : { userAgent : "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; Girafabot; girafabot at girafa dot com; http://www.girafa.com)" , metadata : { uaFamily : "Girafabot" , uaName : "Girafabot" , uaUrl : "" , uaCompany : "Girafa Inc." , uaCompanyUrl : "http://www.girafa.com/" , uaIcon : "bot_girafabot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=Girafabot" }}, 47 : { userAgent : "FAST MetaWeb Crawler (helpdesk at fastsearch dot com)" , metadata : { uaFamily : "FAST MetaWeb Crawler" , uaName : "FAST MetaWeb Crawler" , uaUrl : "http://www.fast.no/glossary.aspx?m=48&amid=415" , uaCompany : "Fast Search & Transfer" , uaCompanyUrl : "http://www.fastsearch.com/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=FAST MetaWeb Crawler" }}, 56 : { userAgent : "psbot/0.1 (+http://www.picsearch.com/bot.html)" , metadata : { uaFamily : "psbot" , uaName : "psbot/0.1" , uaUrl : "http://www.picsearch.com/bot.html" , uaCompany : "picsearch.com" , uaCompanyUrl : "http://www.picsearch.com/" , uaIcon : "b
uaFamily:" NimbleCrawler ",uaName:" NimbleCrawler / 1.15 ",uaUrl:"",uaCompany:" Healthline Networks , Inc . ",uaCompanyUrl:" http : //www.healthline.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=NimbleCrawler"}},295:{userAgent:"MetaTagRobot/1.6 (http://www.widexl.com/remote/search-engines/metatag-analyzer.html)",metadata:{uaFamily:"MetaTagRobot",uaName:"MetaTagRobot/1.6",uaUrl:"http://www.widexl.com/remote/search-engines/metatag-analyzer.html",uaCompany:"widexl.com",uaCompanyUrl:"http://www.widexl.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=MetaTagRobot"}},296:{userAgent:"sproose/0.1-alpha (sproose crawler; http://www.sproose.com/bot.html; crawler@sproose.com)",metadata:{uaFamily:"sproose",uaName:"sproose/0.1-alpha",uaUrl:"http://www.sproose.com/bot.html",uaCompany:"Sproose, Inc.",uaCompanyUrl:"http://www.sproose.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=sproose"}},301:{userAgent:"Search Engine World Robots.txt Validator at http://www.searchengineworld.com/cgi-bin/robotcheck.cgi",metadata:{uaFamily:"Search Engine World Robots.txt Validator",uaName:"Search Engine World Robots.txt Validator",uaUrl:"http://www.searchengineworld.com/cgi-bin/robotcheck.cgi",uaCompany:"searchengineworld",uaCompanyUrl:"http://www.searchengineworld.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Search Engine World Robots.txt Validator"}},303:{userAgent:"Gaisbot/3.0+(robot06@gais.cs.ccu.edu.tw;+http://gais.cs.ccu.edu.tw/robot.php)",metadata:{uaFamily:"Gaisbot",uaName:"Gaisbot/3.0 - 06",uaUrl:"http://gais.cs.ccu.edu.tw/robot.php",uaCompany:"National Chung Cheng University",uaCompanyUrl:"http://www.ccu.edu.tw/",uaIcon:"bot_gaisbot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Gaisbot"}},306:{userAgent:"Forschungsportal/0.8-dev (Testinstallation; http://www.forschungsportal.net/; fpcrawler@rrzn.uni-hannover.de)",metadata:{uaFamily:"Forschungsportal",uaName:"Forschungsportal/0.8-dev",uaUrl:"http://www.forschungsportal.net/",uaCompany:"Bundesministerium f\xfcr Bildung und Forschung",uaCompanyUrl:"http://www.bmbf.de/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Forschungsportal"}},307:{userAgent:"HooWWWer/2.2.0 (debugging run) (+http://cosco.hiit.fi/search/hoowwwer/ | mailto:crawler-info<at>hiit.fi)",metadata:{uaFamily:"HooWWWer",uaName:"HooWWWer/2.2.0",uaUrl:"http://cosco.hiit.fi/search/hoowwwer/",uaCompany:"CoSCo",uaCompanyUrl:"http://cosco.hiit.fi/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=HooWWWer"}},308:{userAgent:"OmniExplorer_Bot/6.47 (+http://www.omni-explorer.com) WorldIndexer",metadata:{uaFamily:"OmniExplorer_Bot",uaName:"OmniExplorer_Bot/6.47",uaUrl:"http://www.omni-explorer.com/",uaCompany:"",uaCompanyUrl:"",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=OmniExplorer_Bot"}},310:{userAgent:"Orbiter (+http://www.dailyorbit.com/bot.htm)",metadata:{uaFamily:"Orbiter",uaName:"Orbiter",uaUrl:"http://www.dailyorbit.com/bot.htm",uaCompany:"DailyOrbit.com",uaCompanyUrl:"http://www.dailyorbit.com/",uaIcon:"bot_orbiter.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Orbiter"}},312:{userAgent:"FAST Enterprise Crawler/6.4 (crawler@fast.no)",metadata:{uaFamily:"FAST Enterprise Crawler",uaName:"FAST Enterprise Crawler/6.4",uaUrl:"http://www.fast.no/glossary.aspx?m=48&amid=415",uaCompany:"Fast Search & Transfer",uaCompanyUrl:"http://www.fastsearch.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=FAST Enterprise Crawler"}},317:{userAgent:"csci_b659/0.13",metadata:{uaFamily:"csci_b659",uaName:"csci_b659/0.13",uaUrl:"http://informatics.indiana.edu/fil/Class/b659/",uaCompany:"Indiana University",uaCompanyUrl:"http://www.indiana.edu/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=csci_b659"}},321:{userAgent:"NutchCVS/0.06-dev (Nutch; http://www.nutch.org/docs/en/bot.html; nutch-agent@lists.sourceforge.net)",metadata:{uaFamily:"Nutch",uaName:"NutchCVS/0.06-dev",uaUrl:"http://www.nutch.org/docs/en/bot.html",uaCompany:"lucene",uaCompanyUrl:"http://lucene.apache.org/",uaIcon:"bot_Nutch.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Nutch"}},323:{userAgent:"NutchCVS/0.7.1
metadata : { uaFamily : "EDI" , uaName : "EDI/1.6.5" , uaUrl : "" , uaCompany : "Daum Communications Corp." , uaCompanyUrl : "http://info.daum.net/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=EDI" }}, 560 : { userAgent : "ccubee/9.0" , metadata : { uaFamily : "ccubee" , uaName : "ccubee/9.0" , uaUrl : "http://empyreum.com/technologies/platforms/ccubee/" , uaCompany : "EMPYREUM k. s." , uaCompanyUrl : "http://empyreum.com/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=ccubee" }}, 562 : { userAgent : "MQBOT/Nutch-0.9-dev (MQBOT Nutch Crawler; http://falcon.cs.uiuc.edu; mqbot@cs.uiuc.edu)" , metadata : { uaFamily : "MQbot" , uaName : "MQBOT/Nutch-0.9-dev" , uaUrl : "http://metaquerier.cs.uiuc.edu/crawler/" , uaCompany : "University of Illinois at Urbana-Champaign" , uaCompanyUrl : "http://www.uiuc.edu/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=MQbot" }}, 563 : { userAgent : "Mozilla/5.0 (compatible; nextthing.org/1.0; +http://www.nextthing.org/bot)" , metadata : { uaFamily : "nextthing.org" , uaName : "nextthing.org/1.0" , uaUrl : "http://www.nextthing.org/bot/" , uaCompany : "Andrew Wooster" , uaCompanyUrl : "http://www.cs.hmc.edu/~awooster/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=nextthing.org" }}, 564 : { userAgent : "crawler43.ejupiter.com" , metadata : { uaFamily : "ejupiter.com" , uaName : "ejupiter.com 43" , uaUrl : "http://robot.ejupiter.com/16/robot_privacy.html" , uaCompany : "eJupiter Inc" , uaCompanyUrl : "http://www.ejupiter.com/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=ejupiter.com" }}, 565 : { userAgent : "Szukacz/1.5 (robot; www.szukacz.pl/jakdzialarobot.html; info@szukacz.pl)" , metadata : { uaFamily : "Szukacz" , uaName : "Szukacz/1.5 b" , uaUrl : "http://www.szukacz.pl/jakdzialarobot.html" , uaCompany : "24 Godziny Sp. z o.o." , uaCompanyUrl : "http://www.szukacz.pl/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=Szukacz" }}, 566 : { userAgent : "Mozilla/5.0 (compatible; BecomeBot/3.0; +http://www.become.com/site_owners.html)" , metadata : { uaFamily : "BecomeBot" , uaName : "BecomeBot/3.0 b" , uaUrl : "http://www.become.com/site_owners.html" , uaCompany : "Become, Inc." , uaCompanyUrl : "http://www.become.com/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=BecomeBot" }}, 567 : { userAgent : "Steeler/3.2 (http://www.tkl.iis.u-tokyo.ac.jp/~crawler/)" , metadata : { uaFamily : "Steeler" , uaName : "Steeler/3.2" , uaUrl : "http://www.tkl.iis.u-tokyo.ac.jp/~crawler/" , uaCompany : "Kitsuregawa Laboratory, The University of Tokyo" , uaCompanyUrl : "http://www.tkl.iis.u-tokyo.ac.jp/" , uaIcon : "bot_Steeler.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=Steeler" }}, 569 : { userAgent : "Mozilla/4.0 (compatible; EDI/1.6.6; Edacious & Intelligent Web Robot; Daum Communications Corp., Korea)" , metadata : { uaFamily : "EDI" , uaName : "EDI/1.6.6" , uaUrl : "" , uaCompany : "Daum Communications Corp." , uaCompanyUrl : "http://info.daum.net/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=EDI" }}, 580 : { userAgent : "Blaiz-Bee/2.00.5655 (+http://www.blaiz.net)" , metadata : { uaFamily : "Blaiz-Bee" , uaName : "Blaiz-Bee/2.00.5655" , uaUrl : "http://www.rawgrunt.com/index.html" , uaCompany : "Blaiz Enterprises" , uaCompanyUrl : "http://www.blaiz.net/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=Blaiz-Bee" }}, 581 : { userAgent : "Zeusbot/0.07 (Ulysseek's web-crawling robot; http://www.zeusbot.com; agent@zeusbot.com)" , metadata : { uaFamily : "Zeusbot" , uaName : "Zeusbot/0.07" , uaUrl : "http://www.zeusbot.com/" , uaCompany : "Ulysseek" , uaCompanyUrl : "http://www.ulysseek.com/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=Zeusbot" }}, 587 : { userAgent : "MQBOT/Nutch-0.9-dev (MQBOT Crawler; http://falcon.cs.uiuc.edu; mqbot@cs.uiuc.edu)" , metadata : { uaFamily : "MQbot" , uaName : "MQBOT/Nutch-0.9-dev b" , uaUrl : "http://metaquerier.cs.uiuc.edu/crawler/" , uaCompany : "University of Illinois at Urbana-Champaign" , uaCompanyUrl : "http://www.uiuc.edu/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=MQbot" }}, 588 : { userAgent : "CazoodleBot/Nutch-0.9-dev (CazoodleBot Crawler; http://www.cazoodle.com; mqbot@cazoodle.com)" , metadata : { uaFamily : "CazoodleBot" , uaName : "CazoodleBot d" , uaUrl : "http://www.cazoodle.com/cazoodlebot.php" , uaCompany : "Cazoodle Inc." , uaCompanyUrl : "http://www.cazoodle.com/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=Cazoodle
uaIcon:" bot . png ",uaInfoUrl:" / list - of - ua / bot - detail ? bot = Acorn "}},832:{userAgent:" nestReader / 0.2 ( discovery ; http : //echonest.com/reader.shtml; reader at echonest.com)",metadata:{uaFamily:"nestReader",uaName:"nestReader/0.2",uaUrl:"http://echonest.com/reader.shtml",uaCompany:"The Echo Nest Corporation",uaCompanyUrl:"http://echonest.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=nestReader"}},833:{userAgent:"boitho.com-dc/0.86 ( http://www.boitho.com/dcbot.html )",metadata:{uaFamily:"boitho.com-dc",uaName:"boitho.com-dc/0.86",uaUrl:"http://www.boitho.com/dcbot.html",uaCompany:"Boitho",uaCompanyUrl:"http://www.boitho.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=boitho.com-dc"}},835:{userAgent:"Snappy/1.1 ( http://www.urltrends.com/ )",metadata:{uaFamily:"Snappy",uaName:"Snappy/1.1",uaUrl:"http://www.urltrends.com/",uaCompany:"Xerocity Design Group, LLC.",uaCompanyUrl:"http://www.xerocity.com/",uaIcon:"bot_snappy.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Snappy"}},844:{userAgent:"great-plains-web-spider/gpws (Flatland Industries Web Spider; http://www.flatlandindustries.com/flatlandbot.php; jason@flatlandindustries.com)",metadata:{uaFamily:"flatlandbot",uaName:"flatlandbot c",uaUrl:"http://www.flatlandindustries.com/flatlandbot.php",uaCompany:"Flatland Industries, Inc.",uaCompanyUrl:"http://www.flatlandindustries.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=flatlandbot"}},851:{userAgent:"Mozilla/5.0 (compatible; FunnelBack; http://cyan.funnelback.com/robot.html)",metadata:{uaFamily:"FunnelBack",uaName:"FunnelBack",uaUrl:"http://cyan.funnelback.com/robot.html",uaCompany:"Funnelback Pty Ltd",uaCompanyUrl:"http://www.funnelback.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=FunnelBack"}},856:{userAgent:"RedBot/redbot-1.0 (Rediff.com Crawler; redbot at rediff dot com)",metadata:{uaFamily:"RedBot",uaName:"RedBot1.0",uaUrl:"",uaCompany:"Rediff.com India Limited.",uaCompanyUrl:"http://www.rediff.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=RedBot"}},859:{userAgent:"Mozilla/5.0 (compatible; heritrix/1.12.0 +http://www.accelobot.com)",metadata:{uaFamily:"Accelobot",uaName:"Accelobot",uaUrl:"http://www.accelobot.com/",uaCompany:"NetBase Solutions, Inc.",uaCompanyUrl:"http://www.netbase.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Accelobot"}},861:{userAgent:"wectar/Nutch-0.9 (nectar extracted form the glorious web; http://goosebumps4all.net/wectar; see website)",metadata:{uaFamily:"wectar",uaName:"wectar/Nutch-0.9 b",uaUrl:"http://wectar.com/",uaCompany:"Martin Dudek",uaCompanyUrl:"",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=wectar"}},865:{userAgent:"MQBOT/Nutch-0.9-dev (MQBOT Nutch Crawler; http://vwbot.cs.uiuc.edu; mqbot@cs.uiuc.edu)",metadata:{uaFamily:"MQbot",uaName:"MQBOT/Nutch-0.9-dev c",uaUrl:"http://metaquerier.cs.uiuc.edu/crawler/",uaCompany:"University of Illinois at Urbana-Champaign",uaCompanyUrl:"http://www.uiuc.edu/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=MQbot"}},872:{userAgent:"Willow Internet Crawler by Twotrees V2.1",metadata:{uaFamily:"Willow Internet Crawler",uaName:"Willow Internet Crawler 2.1",uaUrl:"",uaCompany:"Twotrees Technologies, LLC.",uaCompanyUrl:"http://www.twotrees.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Willow Internet Crawler"}},873:{userAgent:"Netintelligence LiveAssessment - www.netintelligence.com",metadata:{uaFamily:"Netintelligence LiveAssessment",uaName:"Netintelligence LiveAssessment",uaUrl:"",uaCompany:"Netintelligence Limited",uaCompanyUrl:"http://www.netintelligence.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Netintelligence LiveAssessment"}},874:{userAgent:"Mozilla/5.0 (compatible; SkreemRBot +http://skreemr.com)",metadata:{uaFamily:"SkreemRBot",uaName:"SkreemRBot",uaUrl:"",uaCompany:"SkreemR",uaCompanyUrl:"http://skreemr.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=SkreemRBot"}},876:{userAgent:"great-plains-web-spider/flatlandbot (Flatland Industries Web Robot; http://www.flatlandindustries.com/flatlandbot.php; jason@f
uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=Daumoa" }}, 1468 : { userAgent : "msnbot-media/1.1 (+http://search.msn.com/msnbot.htm)" , metadata : { uaFamily : "MSNBot" , uaName : "msnbot-media/1.1" , uaUrl : "http://search.msn.com/msnbot.htm" , uaCompany : "Microsoft Corporation" , uaCompanyUrl : "http://www.microsoft.com/" , uaIcon : "bot_msnbot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=MSNBot" }}, 1469 : { userAgent : "OOZBOT/0.20 ( -- ; http://www.setooz.com/oozbot.html ; agentname at setooz dot_com )" , metadata : { uaFamily : "Setoozbot" , uaName : "OOZBOT/0.20" , uaUrl : "http://www.setooz.com/oozbot.html" , uaCompany : "SETU Software Systems (P) Ltd." , uaCompanyUrl : "http://www.setusoftware.com/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=Setoozbot" }}, 1470 : { userAgent : "Sogou develop spider/4.0(+http://www.sogou.com/docs/help/webmasters.htm#07)" , metadata : { uaFamily : "sogou spider" , uaName : "Sogou develop spider/4.0" , uaUrl : "http://www.sogou.com/docs/help/webmasters.htm#07" , uaCompany : "SOGOU.COM" , uaCompanyUrl : "http://www.sogou.com/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=sogou spider" }}, 1471 : { userAgent : "Sogou web spider/4.0(+http://www.sogou.com/docs/help/webmasters.htm#07)" , metadata : { uaFamily : "sogou spider" , uaName : "Sogou web spider/4.0" , uaUrl : "http://www.sogou.com/docs/help/webmasters.htm#07" , uaCompany : "SOGOU.COM" , uaCompanyUrl : "http://www.sogou.com/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=sogou spider" }}, 1472 : { userAgent : "SpokeSpider/1.0 (http://support.spoke.com/webspider/) Mozilla/5.0 (not really)" , metadata : { uaFamily : "SpokeSpider" , uaName : "SpokeSpider/1.0" , uaUrl : "http://support.spoke.com/webspider/" , uaCompany : "Spoke Software " , uaCompanyUrl : "http://www.spoke.com/company/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=SpokeSpider" }}, 1474 : { userAgent : "Baiduspider+(+http://www.baidu.jp/spider/)" , metadata : { uaFamily : "Baiduspider" , uaName : "Baiduspider japan" , uaUrl : "http://www.baidu.com/search/spider.htm" , uaCompany : "Baidu" , uaCompanyUrl : "http://www.baidu.com/" , uaIcon : "bot_baiduspider.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=Baiduspider" }}, 1475 : { userAgent : "linkdexbot/Nutch-1.0-dev (http://www.linkdex.com/; crawl at linkdex dot com)" , metadata : { uaFamily : "linkdexbot" , uaName : "linkdexbot" , uaUrl : "http://www.linkdex.com/about/bots/" , uaCompany : "Linkdex Limited." , uaCompanyUrl : "" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=linkdexbot" }}, 1476 : { userAgent : "Yeti/1.0 (NHN Corp.; http://help.naver.com/robots/)" , metadata : { uaFamily : "NaverBot" , uaName : "Yeti/1.0" , uaUrl : "http://help.naver.com/robots/" , uaCompany : "NHN Corporation" , uaCompanyUrl : "http://www.nhncorp.com/" , uaIcon : "bot_NaverBot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=NaverBot" }}, 1478 : { userAgent : "mozilla/5.0 (compatible; webmastercoffee/0.7; +http://webmastercoffee.com/about)" , metadata : { uaFamily : "webmastercoffee" , uaName : "webmastercoffee/0.7" , uaUrl : "http://webmastercoffee.com/about" , uaCompany : "Martin Schwartz" , uaCompanyUrl : "http://webmastercoffee.com/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=webmastercoffee" }}, 1479 : { userAgent : "boitho.com-dc/0.82 ( http://www.boitho.com/dcbot.html )" , metadata : { uaFamily : "boitho.com-dc" , uaName : "boitho.com-dc/0.82" , uaUrl : "http://www.boitho.com/dcbot.html" , uaCompany : "Boitho" , uaCompanyUrl : "http://www.boitho.com/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=boitho.com-dc" }}, 1480 : { userAgent : "Busiversebot/v1.0 (http://www.busiverse.com/bot.php)" , metadata : { uaFamily : "Sirketce/Busiverse" , uaName : "Busiversebot/v1.0" , uaUrl : "http://www.busiverse.com/bot.php" , uaCompany : "BerilTech" , uaCompanyUrl : "http://www.sirketce.com.tr/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=Sirketce/Busiverse" }}, 1481 : { userAgent : "CatchBot/1.0; +http://www.catchbot.com" , metadata : { uaFamily : "CatchBot" , uaName : "CatchBot/1.0" , uaUrl : "http://www.catchbot.com/" , uaCompany : "Reed Business Information Pty Limited" , uaCompanyUrl : "http://www.reedbusiness.com/" , uaIcon : "bot_CatchBot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=CatchBot" }}, 1482 : { userAgent : "CazoodleBot/0.0.2 (http://www.cazoodle.com/contact.php; cbot@cazoodle.com)" , metadata : { uaFamily : "CazoodleBot" , uaName : "
uaCompany:" Yahoo ! Inc ",uaCompanyUrl:" http : //www.yahoo.com/",uaIcon:"bot_yahoo!slurp.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Yahoo!"}},1798:{userAgent:"LinkAider (http://linkaider.com/crawler/)",metadata:{uaFamily:"LinkAider",uaName:"LinkAider",uaUrl:"http://linkaider.com/crawler/",uaCompany:"Ivinco",uaCompanyUrl:"http://linkaider.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=LinkAider"}},1805:{userAgent:"WinWebBot/1.0; (Balaena Ltd, UK); http://www.balaena.com/winwebbot.html; winwebbot@balaena.com;)",metadata:{uaFamily:"WinWebBot",uaName:"WinWebBot/1.0",uaUrl:"http://www.balaena.com/winwebbot.html",uaCompany:"Balaena Ltd",uaCompanyUrl:"http://www.balaena.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=WinWebBot"}},1815:{userAgent:"R6_FeedFetcher(www.radian6.com/crawler)",metadata:{uaFamily:"R6 bot",uaName:"R6_FeedFetcher",uaUrl:"http://www.radian6.com/crawler/",uaCompany:"Radian6 Technologies Inc",uaCompanyUrl:"http://www.radian6.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=R6 bot"}},1816:{userAgent:"http://domino.research.ibm.com/comm/research_projects.nsf/pages/sai-crawler.callingcard.html",metadata:{uaFamily:"SAI Crawler",uaName:"SAI Crawler",uaUrl:"http://domino.research.ibm.com/comm/research_projects.nsf/pages/sai-crawler.callingcard.html",uaCompany:"IBM",uaCompanyUrl:"http://www.ibm.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=SAI Crawler"}},1818:{userAgent:"Mozilla/5.0 (compatible;YodaoBot-Image/1.0;http://www.youdao.com/help/webmaster/spider/;)",metadata:{uaFamily:"YodaoBot",uaName:"YodaoBot-Image/1.0",uaUrl:"http://www.youdao.com/help/webmaster/spider/",uaCompany:"youdao",uaCompanyUrl:"http://www.youdao.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=YodaoBot"}},1838:{userAgent:"Mozilla/5.0 (compatible; Topicbot/12.0rc-2; +http://topicbot.awardspace.us/)",metadata:{uaFamily:"Topicbot",uaName:"Topicbot/12.0rc-2",uaUrl:"http://topicbot.awardspace.us/",uaCompany:"Research Group TopicBot",uaCompanyUrl:"http://topicbot.awardspace.us/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Topicbot"}},1849:{userAgent:"http://www.amagit.com/",metadata:{uaFamily:"Amagit.COM",uaName:"Amagit.COM",uaUrl:"",uaCompany:"Joshua Schwarz",uaCompanyUrl:"http://contacts.joshuaschwarz.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Amagit.COM"}},1853:{userAgent:"Sosospider+(+http://help.soso.com/webspider.htm)",metadata:{uaFamily:"Sosospider",uaName:"Sosospider",uaUrl:"http://help.soso.com/webspider.htm",uaCompany:"Tencent, Inc.",uaCompanyUrl:"http://www.tencent.com/",uaIcon:"bot_soso.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Sosospider"}},1856:{userAgent:"findlinks/1.1.5-beta7 (+http://wortschatz.uni-leipzig.de/findlinks/)",metadata:{uaFamily:"findlinks",uaName:"findlinks/1.1.4-beta7",uaUrl:"http://wortschatz.uni-leipzig.de/findlinks/",uaCompany:"Universit\xe4t Leipzig",uaCompanyUrl:"http://www.uni-leipzig.de/",uaIcon:"bot_findlinks.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=findlinks"}},1859:{userAgent:"Mozilla/5.0 (compatible; JadynAveBot; +http://www.jadynave.com/robot)",metadata:{uaFamily:"JadynAveBot",uaName:"JadynAveBot",uaUrl:"http://www.jadynave.com/robot",uaCompany:"Yesup Ecommerce Solutions Inc.",uaCompanyUrl:"http://www.yesup.net/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=JadynAveBot"}},1866:{userAgent:"smart.apnoti.com Robot/v1.34 (http://smart.apnoti.com/en/aboutApnotiWebCrawler.html)",metadata:{uaFamily:"smart.apnoti.com Robot",uaName:"smart.apnoti.com Robot/v1.34",uaUrl:"http://smart.apnoti.com/en/aboutApnotiWebCrawler.html",uaCompany:"apnoti.com GmbH",uaCompanyUrl:"http://www.apnoti.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=smart.apnoti.com Robot"}},1867:{userAgent:"MnoGoSearch/3.3.9",metadata:{uaFamily:"MnoGoSearch",uaName:"MnoGoSearch/3.3.9",uaUrl:"http://www.mnogosearch.org/products.html",uaCompany:"Lavtech.Com",uaCompanyUrl:"http://www.lavtech.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=MnoGoSearch"}},1869:{userAgent:"Yandex/1.01.001 (compatible; Win16; H)",metadata:{uaFam
uaUrl : "http://yacy.net/bot.html" , uaCompany : "Michael Christen" , uaCompanyUrl : "" , uaIcon : "bot_yacybot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=yacybot" }}, 3132 : { userAgent : "SeznamBot/2.0-Test (+http://fulltext.sblog.cz/robot/)" , metadata : { uaFamily : "SeznamBot" , uaName : "SeznamBot/2.0-test" , uaUrl : "http://napoveda.seznam.cz/en/indexing-the-web.html" , uaCompany : "Seznam.cz, a.s." , uaCompanyUrl : "http://www.seznam.cz/" , uaIcon : "seznam.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=SeznamBot" }}, 3142 : { userAgent : "SEOENGBot/1.2 (+http://learn.seoeng.com/seoengbot.htm)" , metadata : { uaFamily : "SEOENGBot" , uaName : "SEOENGBot/1.2 old" , uaUrl : "http://www.seoengine.com/seoengbot.htm" , uaCompany : "SEO Engine" , uaCompanyUrl : "http://www.seoengine.com/" , uaIcon : "bot_SEOENGBot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=SEOENGBot" }}, 3203 : { userAgent : "Mozilla/5.0 (compatible; ScoutJet; http://www.scoutjet.com/)" , metadata : { uaFamily : "ScoutJet" , uaName : "ScoutJet" , uaUrl : "http://www.scoutjet.com/" , uaCompany : "blekko, inc." , uaCompanyUrl : "http://blekko.com/" , uaIcon : "bot_ScoutJet.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=ScoutJet" }}, 3221 : { userAgent : "yacybot (i386 Linux 2.6.31-18-generic; java 1.6.0_0; Europe/en) http://yacy.net/bot.html" , metadata : { uaFamily : "yacybot" , uaName : "yacybot" , uaUrl : "http://yacy.net/bot.html" , uaCompany : "Michael Christen" , uaCompanyUrl : "" , uaIcon : "bot_yacybot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=yacybot" }}, 3235 : { userAgent : "Mozilla/4.0 (compatible; HostTracker.com/1.0;+http://host-tracker.com/)" , metadata : { uaFamily : "HostTracker.com" , uaName : "HostTracker.com/1.0" , uaUrl : "http://host-tracker.com/" , uaCompany : "host-tracker.com " , uaCompanyUrl : "" , uaIcon : "bot_HostTracker.com.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=HostTracker.com" }}, 3236 : { userAgent : "Mozilla/5.0 (compatible; AportWorm/3.2; +http://www.aport.ru/help)" , metadata : { uaFamily : "AportWorm" , uaName : "AportWorm/3.2" , uaUrl : "http://www.aport.ru/help/" , uaCompany : "Golden Telecom" , uaCompanyUrl : "http://goldentelecom.ru/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=AportWorm" }}, 3238 : { userAgent : "yacybot (i386 Linux 2.6.30-2-686; java 1.6.0_0; SystemV/en) http://yacy.net/bot.html" , metadata : { uaFamily : "yacybot" , uaName : "yacybot" , uaUrl : "http://yacy.net/bot.html" , uaCompany : "Michael Christen" , uaCompanyUrl : "" , uaIcon : "bot_yacybot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=yacybot" }}, 3292 : { userAgent : "Karneval-Bot (Version: 1.06, powered by www.karnevalsuchmaschine.de +http://www.karnevalsuchmaschine.de/bot.html)" , metadata : { uaFamily : "Karneval-Bot" , uaName : "Karneval-Bot/1.06" , uaUrl : "http://www.karnevalsuchmaschine.de/zeige/bot.html" , uaCompany : "F\xf6deration Europ\xe4ischer Narren" , uaCompanyUrl : "http://www.fen-sued.de/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=Karneval-Bot" }}, 3333 : { userAgent : "Mozilla/5.0 (compatible; dotSemantic/1.0; +http://www.dotsemantic.org)" , metadata : { uaFamily : "dotSemantic" , uaName : "dotSemantic/1.0" , uaUrl : "http://www.dotsemantic.org" , uaCompany : "dotSemantic Projekt" , uaCompanyUrl : "" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=dotSemantic" }}, 3379 : { userAgent : "Mozilla/5.0 (compatible; spbot/1.0; +http://www.seoprofiler.com/bot/ )" , metadata : { uaFamily : "spbot" , uaName : "spbot/1.0" , uaUrl : "http://www.seoprofiler.com/bot/" , uaCompany : "Axandra GmbH" , uaCompanyUrl : "http://www.axandra.com/" , uaIcon : "bot_spbot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=spbot" }}, 3398 : { userAgent : "L.webis/0.44 (http://webalgo.iit.cnr.it/index.php?pg=lwebis)" , metadata : { uaFamily : "L.webis" , uaName : "L.webis/0.44" , uaUrl : "http://webalgo.iit.cnr.it/index.php?pg=lwebis" , uaCompany : "Institute of Informatics and Telematics (IIT)" , uaCompanyUrl : "http://www.iit.cnr.it/" , uaIcon : "bot_L.webis.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=L.webis" }}, 3409 : { userAgent : "Cityreview Robot (+http://www.cityreview.org/crawler/)" , metadata : { uaFamily : "cityreview" , uaName : "cityreview" , uaUrl : "http://www.cityreview.org/crawler/" , uaCompany : "SISTRIX GmbH" , uaCompanyUrl : "http://www.sistrix.com/" , uaIcon : "bot_cityreview.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=cityreview" }}, 3415 : { userAgent : "Ruky-Roboter (Version: 1.06, powered by www.ruky.de +http://w
uaInfoUrl:" / list - of - ua / bot - detail ? bot = findlinks "}},5278:{userAgent:" yacybot ( amd64 Windows 7 6.1 ; java 1.6 . 0_18 ; Europe / de ) http : //yacy.net/bot.html",metadata:{uaFamily:"yacybot",uaName:"yacybot",uaUrl:"http://yacy.net/bot.html",uaCompany:"Michael Christen",uaCompanyUrl:"",uaIcon:"bot_yacybot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=yacybot"}},5280:{userAgent:"Mozilla/5.0 (compatible; MetamojiCrawler/1.0; +http://www.metamoji.com/jp/crawler.html",metadata:{uaFamily:"MetamojiCrawler",uaName:"MetamojiCrawler/1.0",uaUrl:"http://www.metamoji.com/jp/crawler.html",uaCompany:"MetaMoJi Corporation",uaCompanyUrl:"http://www.metamoji.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=MetamojiCrawler"}},5281:{userAgent:"yacybot (amd64 Windows 7 6.1; java 1.6.0_21; Europe/fr) http://yacy.net/bot.html",metadata:{uaFamily:"yacybot",uaName:"yacybot",uaUrl:"http://yacy.net/bot.html",uaCompany:"Michael Christen",uaCompanyUrl:"",uaIcon:"bot_yacybot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=yacybot"}},5292:{userAgent:"findlinks/1.1.6-beta4 (+http://wortschatz.uni-leipzig.de/findlinks/)",metadata:{uaFamily:"findlinks",uaName:"findlinks/1.1.6-beta4",uaUrl:"http://wortschatz.uni-leipzig.de/findlinks/",uaCompany:"Universit\xe4t Leipzig",uaCompanyUrl:"http://www.uni-leipzig.de/",uaIcon:"bot_findlinks.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=findlinks"}},5302:{userAgent:"HuaweiSymantecSpider/1.0+DSE-support@huaweisymantec.com+(compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR ; http://www.huaweisymantec.com/en/IRL/spider)",metadata:{uaFamily:"HuaweiSymantecSpider",uaName:"HuaweiSymantecSpider/1.0",uaUrl:"http://www.huaweisymantec.com/en/IRL/spider/",uaCompany:"Huawei Symantec Technologies Co.,Ltd.",uaCompanyUrl:"http://www.huaweisymantec.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=HuaweiSymantecSpider"}},5311:{userAgent:"Mozilla/5.0 (compatible; 008/0.83; http://www.80legs.com/webcrawler.html;) Gecko/2008032620",metadata:{uaFamily:"80legs",uaName:"80legs/0.83 b",uaUrl:"http://www.80legs.com/webcrawler.html",uaCompany:"Computational Crawling, LP",uaCompanyUrl:"http://compucrawl.com/",uaIcon:"bot_80legs.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=80legs"}},5322:{userAgent:"yacybot (amd64 Linux 2.6.31-22-server; java 1.6.0_18; Asia/en) http://yacy.net/bot.html",metadata:{uaFamily:"yacybot",uaName:"yacybot",uaUrl:"http://yacy.net/bot.html",uaCompany:"Michael Christen",uaCompanyUrl:"",uaIcon:"bot_yacybot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=yacybot"}},5352:{userAgent:"findlinks/1.1.6-beta5 (+http://wortschatz.uni-leipzig.de/findlinks/)",metadata:{uaFamily:"findlinks",uaName:"findlinks/1.1.6-beta5",uaUrl:"http://wortschatz.uni-leipzig.de/findlinks/",uaCompany:"Universit\xe4t Leipzig",uaCompanyUrl:"http://www.uni-leipzig.de/",uaIcon:"bot_findlinks.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=findlinks"}},5357:{userAgent:"Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)",metadata:{uaFamily:"bingbot",uaName:"bingbot/2.0",uaUrl:"http://www.bing.com/webmaster/help/which-crawlers-does-bing-use-8c184ec0",uaCompany:"Microsoft Corporation",uaCompanyUrl:"http://www.microsoft.com/",uaIcon:"bot_msnbot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=bingbot"}},5360:{userAgent:"PostPost/1.0 (+http://postpo.st/crawlers)",metadata:{uaFamily:"PostPost",uaName:"PostPost/1.0",uaUrl:"http://postpost.com/crawlers",uaCompany:"Boathouse group",uaCompanyUrl:"http://www.boathouseinc.com/",uaIcon:"bot_PostPost.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=PostPost"}},5361:{userAgent:"WebWatch/Robot_txtChecker",metadata:{uaFamily:"WebWatch/Robot_txtChecker",uaName:"WebWatch/Robot_txtChecker",uaUrl:"http://www.ukoln.ac.uk/web-focus/webwatch/services/robots-txt/",uaCompany:"UKOLN",uaCompanyUrl:"http://www.ukoln.ac.uk/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=WebWatch/Robot_txtChecker"}},5362:{userAgent:"Robots_Tester_http_www.searchenginepromotionhelp.com",metadata:{uaFamily:"Robots_Tester",uaName:"Robots_Tester",uaUrl:"http://www.searchenginepromotionhelp.com/m
uaIcon : "bot_baiduspider.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=Baiduspider" }}, 6404 : { userAgent : "Mozilla/5.0 (compatible; AhrefsBot/1.0; +http://ahrefs.com/robot/)" , metadata : { uaFamily : "AhrefsBot" , uaName : "AhrefsBot/1.0" , uaUrl : "http://ahrefs.com/robot/" , uaCompany : "Ahrefs.com" , uaCompanyUrl : "http://ahrefs.com/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=AhrefsBot" }}, 6436 : { userAgent : "Mozilla/5.0 (compatible; MojeekBot/0.2; http://www.mojeek.com/bot.html)" , metadata : { uaFamily : "MojeekBot" , uaName : "MojeekBot/0.2" , uaUrl : "http://www.mojeek.com/bot.html" , uaCompany : "Mojeek Ltd." , uaCompanyUrl : "http://www.mojeek.com/" , uaIcon : "bot_MojeekBot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=MojeekBot" }}, 6506 : { userAgent : "SEOENGWorldBot/1.0 (+http://www.seoengine.com/seoengbot.htm)" , metadata : { uaFamily : "SEOENGBot" , uaName : "SEOENGBot/1.0" , uaUrl : "http://www.seoengine.com/seoengbot.htm" , uaCompany : "SEO Engine" , uaCompanyUrl : "http://www.seoengine.com/" , uaIcon : "bot_SEOENGBot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=SEOENGBot" }}, 6514 : { userAgent : "Mozilla/5.0 (compatible; socketcrawler; http://nlp.fi.muni.cz/projects/biwec/)" , metadata : { uaFamily : "biwec" , uaName : "biwec" , uaUrl : "http://nlp.fi.muni.cz/projects/biwec/" , uaCompany : "Centre for Natural Language Processing" , uaCompanyUrl : "http://muni.cz/fi/335300?lang=en" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=biwec" }}, 6515 : { userAgent : "Wotbox/2.0 (bot@wotbox.com; http://www.wotbox.com)" , metadata : { uaFamily : "Wotbox" , uaName : "Wotbox/2.0" , uaUrl : "http://www.wotbox.com/bot/" , uaCompany : "Wotbox Team" , uaCompanyUrl : "http://www.wotbox.com/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=Wotbox" }}, 6578 : { userAgent : "Mozilla/5.0 (compatible; Thumbshots.ru; +http://thumbshots.ru/bot) Firefox/3" , metadata : { uaFamily : "Thumbshots.ru" , uaName : "Thumbshots.ru" , uaUrl : "http://thumbshots.ru/bot" , uaCompany : "Sonorth Technologies" , uaCompanyUrl : "http://www.sonorth.com/tech/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=Thumbshots.ru" }}, 6583 : { userAgent : "JikeSpider Mozilla/5.0 (compatible; JikeSpider; +http://shoulu.jike.com/spider.html)" , metadata : { uaFamily : "JikeSpider" , uaName : "JikeSpider" , uaUrl : "http://shoulu.jike.com/spider.html" , uaCompany : "jike.com" , uaCompanyUrl : "http://www.jike.com/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=JikeSpider" }}, 6592 : { userAgent : "Aboundex/0.2 (http://www.aboundex.com/crawler/)" , metadata : { uaFamily : "Aboundexbot" , uaName : "Aboundexbot/0.2" , uaUrl : "http://www.aboundex.com/crawler/" , uaCompany : "Aboundex.com" , uaCompanyUrl : "http://www.aboundex.com/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=Aboundexbot" }}, 6598 : { userAgent : "Mozilla/5.0 (compatible; SEOkicks-Robot +http://www.seokicks.de/robot.html)" , metadata : { uaFamily : "SEOkicks-Robot" , uaName : "SEOkicks-Robot" , uaUrl : "http://www.seokicks.de/robot.html" , uaCompany : "Torsten R\xfcckert Internetdienstleistungen" , uaCompanyUrl : "" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=SEOkicks-Robot" }}, 6603 : { userAgent : "Y!J-BRW/1.0 crawler (http://help.yahoo.co.jp/help/jp/search/indexing/indexing-15.html)" , metadata : { uaFamily : "Yahoo! JAPAN" , uaName : "Y!J-BRW/1.0" , uaUrl : "http://help.yahoo.co.jp/help/jp/search/indexing/indexing-15.html" , uaCompany : "Yahoo! Inc" , uaCompanyUrl : "http://www.yahoo.com/" , uaIcon : "bot_yahoo!slurp.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=Yahoo! JAPAN" }}, 6612 : { userAgent : "The Lemur Web Crawler/Nutch-1.3 (Lemur Web Crawler; http://boston.lti.cs.cmu.edu/crawler_12/; admin@lemurproject.org)" , metadata : { uaFamily : "LemurWebCrawler" , uaName : "LemurWebCrawler" , uaUrl : "http://boston.lti.cs.cmu.edu/crawler_12/" , uaCompany : "Language Technologies Institute" , uaCompanyUrl : "http://www.lti.cs.cmu.edu/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=LemurWebCrawler" }}, 6625 : { userAgent : "LapozzBot/1.5 (+http://robot.lapozz.hu) " , metadata : { uaFamily : "LapozzBot" , uaName : "LapozzBot/1.5" , uaUrl : "http://robot.lapozz.hu/" , uaCompany : "lapozz.hu" , uaCompanyUrl : "http://www.lapozz.hu/" , uaIcon : "bot_lapozzbot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=LapozzBot" }}, 6630 : { userAgent : "CovarioIDS/1.1 (http://www.covario.com/ids; support at covario
metadata:{uaFamily:" heritrix ",uaName:" heritrix / 3.1 . 1 ",uaUrl:" http : //www.archive.org/details/archive.org_bot",uaCompany:"Internet Archive",uaCompanyUrl:"",uaIcon:"bot_heritrix.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=heritrix"}},7230:{userAgent:"AddThis.com robot tech.support@clearspring.com",metadata:{uaFamily:"AddThis.com",uaName:"AddThis.com robot",uaUrl:"",uaCompany:"Clearspring Technologies, Inc.",uaCompanyUrl:"http://www.clearspring.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=AddThis.com"}},7238:{userAgent:"Mozilla/5.0 (compatible; Netseer crawler/2.0; +http://www.netseer.com/crawler.html; crawler@netseer.com)",metadata:{uaFamily:"Netseer",uaName:"Netseer crawler/2.0",uaUrl:"http://www.netseer.com/crawler.html",uaCompany:"NetSeer, Inc.",uaCompanyUrl:"http://www.netseer.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Netseer"}},7243:{userAgent:"Mozilla/5.0 (compatible; EventGuruBot/1.0; +http://www.eventguru.com/spider.html)",metadata:{uaFamily:"EventGuruBot",uaName:"EventGuruBot/1.0",uaUrl:"http://www.eventguru.com/spider.html",uaCompany:"Matt Wells",uaCompanyUrl:"",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=EventGuruBot"}},7252:{userAgent:"yacybot (freeworld/global; amd64 Linux 2.6.26-2-amd64; java 1.6.0_18; Europe/de) http://yacy.net/bot.html",metadata:{uaFamily:"yacybot",uaName:"yacybot",uaUrl:"http://yacy.net/bot.html",uaCompany:"Michael Christen",uaCompanyUrl:"",uaIcon:"bot_yacybot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=yacybot"}},7253:{userAgent:"yacybot (freeworld/global; amd64 Windows Server 2008 6.0; java 1.7.0_03; Europe/en) http://yacy.net/bot.html",metadata:{uaFamily:"yacybot",uaName:"yacybot",uaUrl:"http://yacy.net/bot.html",uaCompany:"Michael Christen",uaCompanyUrl:"",uaIcon:"bot_yacybot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=yacybot"}},7258:{userAgent:"SAMSUNG-SGH-E250/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0 (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)",metadata:{uaFamily:"Googlebot",uaName:"Googlebot-Mobile/2.1",uaUrl:"http://googlewebmastercentral.blogspot.com/2011/12/introducing-smartphone-googlebot-mobile.html",uaCompany:"Google Inc.",uaCompanyUrl:"http://www.google.com/",uaIcon:"bot_googlebot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Googlebot"}},7259:{userAgent:"DoCoMo/2.0 N905i(c100;TB;W24H16) (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)",metadata:{uaFamily:"Googlebot",uaName:"Googlebot-Mobile/2.1",uaUrl:"http://googlewebmastercentral.blogspot.com/2011/12/introducing-smartphone-googlebot-mobile.html",uaCompany:"Google Inc.",uaCompanyUrl:"http://www.google.com/",uaIcon:"bot_googlebot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Googlebot"}},7260:{userAgent:"Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_1 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8B117 Safari/6531.22.7 (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)",metadata:{uaFamily:"Googlebot",uaName:"Googlebot-Mobile/2.1",uaUrl:"http://googlewebmastercentral.blogspot.com/2011/12/introducing-smartphone-googlebot-mobile.html",uaCompany:"Google Inc.",uaCompanyUrl:"http://www.google.com/",uaIcon:"bot_googlebot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Googlebot"}},7263:{userAgent:"yacybot (freeworld/global; amd64 Windows 7 6.1; java 1.6.0_24; Europe/de) http://yacy.net/bot.html",metadata:{uaFamily:"yacybot",uaName:"yacybot",uaUrl:"http://yacy.net/bot.html",uaCompany:"Michael Christen",uaCompanyUrl:"",uaIcon:"bot_yacybot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=yacybot"}},7265:{userAgent:"Acoon v4.10.5 (www.acoon.de)",metadata:{uaFamily:"AcoonBot",uaName:"Acoon v4.10.5",uaUrl:"http://www.acoon.de/robot.asp",uaCompany:"Acoon GmbH",uaCompanyUrl:"http://www.acoon.de/",uaIcon:"bot_Acoon.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=AcoonBot"}},7267:{userAgent:"SemrushBot/0.92",metadata:{uaFamily:"SemrushBot",uaName:"SemrushBot/0.92",uaUrl:"http://www.semrush.com/bot.html",uaCompany:"SEOQuake Team",uaCompanyUrl:"http://www.seoquaketeam.com/",uaIcon:"bot.png",
}}, 7671 : { userAgent : "Sogou Web Spider" , metadata : { uaFamily : "sogou spider" , uaName : "Sogou web spider" , uaUrl : "http://www.sogou.com/docs/help/webmasters.htm#07" , uaCompany : "SOGOU.COM" , uaCompanyUrl : "http://www.sogou.com/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=sogou spider" }}, 7675 : { userAgent : "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-GB; rv:1.0; trendictionbot0.5.0; trendiction search; http://www.trendiction.de/bot; please let us know of any problems; web at trendiction.com) Gecko/20071127 Firefox/3.0.0.11" , metadata : { uaFamily : "trendictionbot " , uaName : "trendictionbot0.5.0" , uaUrl : "http://www.trendiction.de/bot" , uaCompany : "Trendiction S.A." , uaCompanyUrl : "http://www.trendiction.com/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=trendictionbot " }}, 7676 : { userAgent : "ichiro/3.0 (http://search.goo.ne.jp/option/use/sub4/sub4-1/)" , metadata : { uaFamily : "ichiro" , uaName : "ichiro/3.0" , uaUrl : "http://search.goo.ne.jp/option/use/sub4/sub4-1/" , uaCompany : "NTT-Resonant Inc." , uaCompanyUrl : "http://www.nttr.co.jp/" , uaIcon : "bot_ichiro.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=ichiro" }}, 7696 : { userAgent : "bot-pge.chlooe.com/1.0.0 (+http://www.chlooe.com/)" , metadata : { uaFamily : "bot-pge.chlooe.com" , uaName : "bot-pge.chlooe.com/1.0.0" , uaUrl : "http://bot-pge.chlooe.com/" , uaCompany : "Chlooe.com" , uaCompanyUrl : "http://www.chlooe.com/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=bot-pge.chlooe.com" }}, 7697 : { userAgent : "Mozilla/5.0(compatible; Sosospider/2.0; +http://help.soso.com/webspider.htm)" , metadata : { uaFamily : "Sosospider" , uaName : "Sosospider/2.0" , uaUrl : "http://help.soso.com/webspider.htm" , uaCompany : "Tencent, Inc." , uaCompanyUrl : "http://www.tencent.com/" , uaIcon : "bot_soso.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=Sosospider" }}, 7717 : { userAgent : "Mozilla/5.0 (compatible; GrapeshotCrawler/2.0; +http://www.grapeshot.co.uk/crawler.php)" , metadata : { uaFamily : "GrapeshotCrawler" , uaName : "GrapeshotCrawler/2.0" , uaUrl : "http://www.grapeshot.co.uk/crawler.php" , uaCompany : "Grapeshot Limited" , uaCompanyUrl : "http://www.grapeshot.co.uk/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=GrapeshotCrawler" }}, 7718 : { userAgent : "Mozilla/5.0 (compatible; grapeFX/0.9; crawler@grapeshot.co.uk" , metadata : { uaFamily : "GrapeshotCrawler" , uaName : "grapeFX/0.9" , uaUrl : "http://www.grapeshot.co.uk/crawler.php" , uaCompany : "Grapeshot Limited" , uaCompanyUrl : "http://www.grapeshot.co.uk/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=GrapeshotCrawler" }}, 7726 : { userAgent : "Mozilla/5.0 (compatible; Infohelfer/1.3.0; +http://www.infohelfer.de/crawler.php)" , metadata : { uaFamily : "Infohelfer" , uaName : "Infohelfer/1.3.0" , uaUrl : "http://www.infohelfer.de/crawler.php" , uaCompany : "ITam GmbH" , uaCompanyUrl : "http://www.itam-gmbh.com/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=Infohelfer" }}, 7727 : { userAgent : "coccoc/1.0 (http://help.coccoc.vn/)" , metadata : { uaFamily : "coccoc" , uaName : "coccoc/1.0" , uaUrl : "http://help.coccoc.com/" , uaCompany : "Coc Coc" , uaCompanyUrl : "http://coccoc.vn/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=coccoc" }}, 7729 : { userAgent : "yacybot (freeworld/global; amd64 Windows 7 6.1; java 1.6.0_25; Europe/de) http://yacy.net/bot.html" , metadata : { uaFamily : "yacybot" , uaName : "yacybot" , uaUrl : "http://yacy.net/bot.html" , uaCompany : "Michael Christen" , uaCompanyUrl : "" , uaIcon : "bot_yacybot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=yacybot" }}, 7732 : { userAgent : "Bad-Neighborhood Link Analyzer (http://www.bad-neighborhood.com/)" , metadata : { uaFamily : "Bad-Neighborhood" , uaName : "Bad-Neighborhood Link Analyzer" , uaUrl : "http://www.bad-neighborhood.com/text-link-tool.htm" , uaCompany : "Michael VanDeMar" , uaCompanyUrl : "" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=Bad-Neighborhood" }}, 7733 : { userAgent : "Bad Neighborhood Header Detector (http://www.bad-neighborhood.com/header_detector.php)" , metadata : { uaFamily : "Bad-Neighborhood" , uaName : "Bad Neighborhood Header Detector" , uaUrl : "http://www.bad-neighborhood.com/header_detector.php" , uaCompany : "Michael VanDeMar" , uaCompanyUrl : "" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=Bad-Neighborhood" }}, 7747 : { userAgent : "Whoismindbot/1.0 (+htt
uaUrl:" http : //yacy.net/bot.html",uaCompany:"Michael Christen",uaCompanyUrl:"",uaIcon:"bot_yacybot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=yacybot"}},9717:{userAgent:"Sogou web spider/4.0l-2m!",metadata:{uaFamily:"sogou spider",uaName:"Sogou web spider/4.0l-2m!",uaUrl:"http://www.sogou.com/docs/help/webmasters.htm#07",uaCompany:"SOGOU.COM",uaCompanyUrl:"http://www.sogou.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=sogou spider"}},9737:{userAgent:"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.4 (KHTML, like Gecko; Google Web Preview) Chrome/22.0.1229 Safari/537.4",metadata:{uaFamily:"Googlebot",uaName:"Google Web Preview",uaUrl:"http://support.google.com/webmasters/bin/answer.py?hl=en&answer=1062498",uaCompany:"Google Inc.",uaCompanyUrl:"http://www.google.com/",uaIcon:"bot_googlebot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Googlebot"}},9781:{userAgent:"Mozilla/5.0 (compatible; uMBot-FC/1.0; mailto: crawling@ubermetrics-technologies.com)",metadata:{uaFamily:"uMBot",uaName:"uMBot-FC/1.0",uaUrl:"",uaCompany:"uberMetrics Technologies GmbH",uaCompanyUrl:"http://www.ubermetrics-technologies.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=uMBot"}},9784:{userAgent:"Mozilla/5.0 (compatible; coccoc/1.0; +http://help.coccoc.com/)",metadata:{uaFamily:"coccoc",uaName:"coccoc/1.0",uaUrl:"http://help.coccoc.com/",uaCompany:"Coc Coc",uaCompanyUrl:"http://coccoc.vn/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=coccoc"}},9832:{userAgent:"Mozilla/5.0 (compatible; Mozilla; +http://wiki.github.com/bixo/bixo/bixocrawler; bixo-dev@yahoogroups.com)",metadata:{uaFamily:"bixocrawler",uaName:"bixocrawler",uaUrl:"http://wiki.github.com/bixo/bixo/bixocrawler",uaCompany:"Bixo Labs",uaCompanyUrl:"http://openbixo.org/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=bixocrawler"}},9839:{userAgent:"Mozilla/5.0 (compatible; aiHitBot/2.7; +http://www.aihit.com/)",metadata:{uaFamily:"aiHitBot",uaName:"aiHitBot/2.7",uaUrl:"",uaCompany:"aiHit Ltd",uaCompanyUrl:"http://aihit.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=aiHitBot"}},9852:{userAgent:"Mozilla/5.0 (compatible; GigaBot/1.0; +http://www.gigablast.com/ )",metadata:{uaFamily:"Gigabot",uaName:"Gigabot/1.0",uaUrl:"http://www.gigablast.com/spider.html",uaCompany:"Gigablast Inc",uaCompanyUrl:"http://www.gigablast.com/",uaIcon:"bot_gigabot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Gigabot"}},9868:{userAgent:"CirrusExplorer/1.1 (http://www.cireu.com/explorer.php)",metadata:{uaFamily:"CirrusExplorer",uaName:"CirrusExplorer/1.1",uaUrl:"http://www.cireu.com/explorer.php",uaCompany:"cireu.com",uaCompanyUrl:"http://www.cireu.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=CirrusExplorer"}},9874:{userAgent:"Mozilla/5.0 (compatible; uMBot-LN/1.0; mailto: crawling@ubermetrics-technologies.com)",metadata:{uaFamily:"uMBot",uaName:"uMBot-LN/1.0",uaUrl:"",uaCompany:"uberMetrics Technologies GmbH",uaCompanyUrl:"http://www.ubermetrics-technologies.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=uMBot"}},9875:{userAgent:"Crowsnest/0.5 (+http://www.crowsnest.tv/)",metadata:{uaFamily:"Crowsnest",uaName:"Crowsnest/0.5",uaUrl:"",uaCompany:"Gocro, Inc.",uaCompanyUrl:"http://www.gocro.jp/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Crowsnest"}},9877:{userAgent:"QuerySeekerSpider ( http://queryseeker.com/bot.html )",metadata:{uaFamily:"QuerySeekerSpider",uaName:"QuerySeekerSpider",uaUrl:"http://queryseeker.com/bot.html",uaCompany:"QueryEye Inc.",uaCompanyUrl:"http://queryeye.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=QuerySeekerSpider"}},9905:{userAgent:"ownCloud Server Crawler",metadata:{uaFamily:"ownCloud Server Crawler",uaName:"ownCloud Server Crawler",uaUrl:"",uaCompany:"ownCloud comunity",uaCompanyUrl:"http://owncloud.org/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=ownCloud Server Crawler"}},9918:{userAgent:"Mozilla/5.0 (compatible; rogerBot/1.0; UrlCrawler; http://www.seomoz.org/dp/rogerbot)",metadata:{uaFamily:"rogerbot",uaName:"rogerbot/1.0",uaUrl:"http://moz.com/help/pro/what-is-roge
}, os : { 1 : { osFamily : "Windows" , osName : "Windows XP" , osUrl : "http://en.wikipedia.org/wiki/Windows_XP" , osCompany : "Microsoft Corporation." , osCompanyUrl : "http://www.microsoft.com/" , osIcon : "windowsxp.png" }, 2 : { osFamily : "Windows" , osName : "Windows 2000" , osUrl : "http://en.wikipedia.org/wiki/Windows_2000" , osCompany : "Microsoft Corporation." , osCompanyUrl : "http://www.microsoft.com/" , osIcon : "windows.png" }, 3 : { osFamily : "Windows" , osName : "Windows 2003 Server" , osUrl : "http://en.wikipedia.org/wiki/Windows_2003" , osCompany : "Microsoft Corporation." , osCompanyUrl : "http://www.microsoft.com/" , osIcon : "windowsxp.png" }, 4 : { osFamily : "Windows" , osName : "Windows 95" , osUrl : "http://en.wikipedia.org/wiki/Windows_95" , osCompany : "Microsoft Corporation." , osCompanyUrl : "http://www.microsoft.com/" , osIcon : "windows.png" }, 5 : { osFamily : "Windows" , osName : "Windows 98" , osUrl : "http://en.wikipedia.org/wiki/Windows_98" , osCompany : "Microsoft Corporation." , osCompanyUrl : "http://www.microsoft.com/" , osIcon : "windows.png" }, 6 : { osFamily : "Windows" , osName : "Windows 3.x" , osUrl : "http://en.wikipedia.org/wiki/Windows_3.x" , osCompany : "Microsoft Corporation." , osCompanyUrl : "http://www.microsoft.com/" , osIcon : "windows.png" }, 7 : { osFamily : "Windows" , osName : "Windows CE" , osUrl : "http://en.wikipedia.org/wiki/Windows_CE" , osCompany : "Microsoft Corporation." , osCompanyUrl : "http://www.microsoft.com/" , osIcon : "windowsce.png" }, 8 : { osFamily : "Windows" , osName : "Windows ME" , osUrl : "http://en.wikipedia.org/wiki/Windows_me" , osCompany : "Microsoft Corporation." , osCompanyUrl : "http://www.microsoft.com/" , osIcon : "windows.png" }, 9 : { osFamily : "Windows" , osName : "Windows Vista" , osUrl : "http://en.wikipedia.org/wiki/Windows_Vista" , osCompany : "Microsoft Corporation." , osCompanyUrl : "http://www.microsoft.com/" , osIcon : "windowsvista.png" }, 10 : { osFamily : "JVM" , osName : "JVM (Platform Micro Edition)" , osUrl : "http://en.wikipedia.org/wiki/Java_Platform,_Micro_Edition" , osCompany : "Sun Microsystems, Inc." , osCompanyUrl : "http://en.wikipedia.org/wiki/Sun_Microsystems" , osIcon : "java.png" }, 11 : { osFamily : "Linux" , osName : "Linux (CentOS)" , osUrl : "http://www.centos.org/" , osCompany : "CentOS Project" , osCompanyUrl : "http://www.centos.org/" , osIcon : "linux_centos.png" }, 12 : { osFamily : "Linux" , osName : "Linux (Ubuntu)" , osUrl : "http://www.ubuntu.com/" , osCompany : "Canonical Ltd." , osCompanyUrl : "http://www.canonical.com/" , osIcon : "linux_ubuntu.png" }, 13 : { osFamily : "Linux" , osName : "Linux (Debian)" , osUrl : "http://www.debian.org/" , osCompany : "Software in the Public Interest, Inc." , osCompanyUrl : "http://www.spi-inc.org/" , osIcon : "linux_debian.png" }, 14 : { osFamily : "Linux" , osName : "Linux (Fedora)" , osUrl : "http://fedoraproject.org/" , osCompany : "Red Hat, Inc." , osCompanyUrl : "http://www.redhat.com/" , osIcon : "linux_fedora.png" }, 15 : { osFamily : "Linux" , osName : "Linux (Gentoo)" , osUrl : "http://www.gentoo.org/" , osCompany : "Gentoo Foundation, Inc." , osCompanyUrl : "http://www.gentoo.org/foundation/en/" , osIcon : "linux_gentoo.png" }, 16 : { osFamily : "Linux" , osName : "Linux (Linspire)" , osUrl : "http://en.wikipedia.org/wiki/Linspire" , osCompany : "Linspire, Inc." , osCompanyUrl : "http://www.linspire.com/" , osIcon : "linux_linspire.png" }, 17 : { osFamily : "Linux" , osName : "Linux (Mandriva)" , osUrl : "http://www.mandriva.com/" , osCompany : "" , osCompanyUrl : "" , osIcon : "linux_mandriva.png" }, 18 : { osFamily : "Linux" , osName : "Linux (RedHat)" , osUrl : "http://en.wikipedia.org/wiki/Red_Hat_Enterprise_Linux" , osCompany : "Red Hat, Inc." , osCompanyUrl : "http://www.redhat.com/" , osIcon : "linux_redhat.png" }, 19 : { osFamily : "Linux" , osName : "Linux" , osUrl : "http://en.wikipedia.org/wiki/Linux" , osCompany : "" , osCompanyUrl : "" , osIcon : "linux.png" }, 20 : { osFamily : "Linux" , osName : "Linux (Slackware)" , osUrl : "http://www.slackware.com/" , osCompany : "Slackware Linux, Inc." , osCompanyUrl : "" , osIcon : "linux_slackware.png" }, 21 : { osFamily : "Linux" , osName : "Linux (Kanotix)" , osUrl : "http://kanotix.com/" , osCompany : "" , osCompanyUrl : "" , osIcon : "linux_kanotix.png" }, 22 : { osFamily : "Linux" , osName : "Linux (SUSE)" , osUrl : "http://www.suse.com/" , osCompany : "Novell, Inc." , osCompanyUrl : "http://www.novell.com/home/" , osIcon : "linux_suse.png" }, 23 : { osFamily : "Linux" , osName : "Linux (Knoppix)" , osUrl : "http://knoppix.net/" , osCompany : "Klaus Knopper" , osCompanyUrl : "http://w
uaCompany:" Fenrir Inc . ",uaCompanyUrl:" http : //www.fenrir-inc.com/",uaIcon:"sleipnir.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Sleipnir"}},61:{typeId:"0",metadata:{uaFamily:"Swiftfox",uaUrl:"http://www.getswiftfox.com/",uaCompany:"Jason Halme",uaCompanyUrl:"",uaIcon:"swiftfox.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Swiftfox"}},62:{typeId:"1",metadata:{uaFamily:"Teleport Pro",uaUrl:"http://www.tenmax.com/teleport/pro/home.htm",uaCompany:"Tennyson Maxwell Information Systems, Inc.",uaCompanyUrl:"http://www.tenmax.com/",uaIcon:"teleportpro.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Teleport Pro"}},71:{typeId:"1",metadata:{uaFamily:"WebCopier",uaUrl:"http://www.maximumsoft.com/products/wc_index.html",uaCompany:"MaximumSoft Corp.",uaCompanyUrl:"http://www.maximumsoft.com/",uaIcon:"webcopier.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=WebCopier"}},74:{typeId:"0",metadata:{uaFamily:"Phaseout",uaUrl:"http://www.phaseout.net/",uaCompany:"PhaseOut.net",uaCompanyUrl:"http://www.phaseout.net/",uaIcon:"phaseout.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Phaseout"}},79:{typeId:"4",metadata:{uaFamily:"Thunderbird",uaUrl:"http://www.mozilla.com/en-US/thunderbird/",uaCompany:"Mozilla Foundation",uaCompanyUrl:"http://www.mozilla.org/",uaIcon:"thunderbird.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Thunderbird"}},81:{typeId:"3",metadata:{uaFamily:"Doris",uaUrl:"http://www.anygraaf.fi/browser/indexe.htm",uaCompany:"Anygraaf",uaCompanyUrl:"http://www.anygraaf.fi/",uaIcon:"doris.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Doris"}},82:{typeId:"0",metadata:{uaFamily:"Enigma browser",uaUrl:"http://www.suttondesigns.com/",uaCompany:"Advanced Search Technologies, Inc.",uaCompanyUrl:"http://www.advancedsearchcorp.com/",uaIcon:"enigmabrowser.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Enigma browser"}},85:{typeId:"5",metadata:{uaFamily:"Jakarta Commons-HttpClient",uaUrl:"http://jakarta.apache.org/commons/httpclient/",uaCompany:"Apache Software Foundation",uaCompanyUrl:"http://www.apache.org/",uaIcon:"jakarta.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Jakarta Commons-HttpClient"}},86:{typeId:"5",metadata:{uaFamily:"cURL",uaUrl:"http://curl.haxx.se/",uaCompany:"team Haxx",uaCompanyUrl:"http://www.haxx.se/",uaIcon:"curl.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=cURL"}},87:{typeId:"0",metadata:{uaFamily:"Amaya",uaUrl:"http://www.w3.org/Amaya/",uaCompany:"World Wide Web Consortium",uaCompanyUrl:"http://www.w3.org/",uaIcon:"amaya.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Amaya"}},88:{typeId:"1",metadata:{uaFamily:"GetRight",uaUrl:"http://www.getright.com/",uaCompany:"Headlight Software, Inc.",uaCompanyUrl:"http://www.headlightinc.com/",uaIcon:"getright.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=GetRight"}},89:{typeId:"0",metadata:{uaFamily:"Off By One",uaUrl:"http://offbyone.com/",uaCompany:"Home Page Software Inc.",uaCompanyUrl:"http://homepagesw.com/",uaIcon:"offbyone.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Off By One"}},90:{typeId:"5",metadata:{uaFamily:"Python-urllib",uaUrl:"http://www.python.org/doc/current/lib/module-urllib.html",uaCompany:"Python Software Foundation",uaCompanyUrl:"http://www.python.org/psf/",uaIcon:"pythonurllib.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Python-urllib"}},91:{typeId:"0",metadata:{uaFamily:"w3m",uaUrl:"http://w3m.sourceforge.net/",uaCompany:"Sakamoto Hironori",uaCompanyUrl:"http://www2u.biglobe.ne.jp/%7Ehsaka/",uaIcon:"w3m.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=w3m"}},93:{typeId:"1",metadata:{uaFamily:"WebZIP",uaUrl:"http://www.spidersoft.com/webzip/",uaCompany:"Spidersoft",uaCompanyUrl:"http://www.spidersoft.com/",uaIcon:"webzip.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=WebZIP"}},94:{typeId:"0",metadata:{uaFamily:"ICE browser",uaUrl:"http://www.icesoft.com/products/icebrowser.html",uaCompany:"ICEsoft Technologies Inc.",uaCompanyUrl:"http://www.icesoft.com/",uaIcon:"icebrowser.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=ICE browser"}},96:{typeId:"0",metadata:{uaFamily:"IceApe
uaIcon : "newsbreak.png" , uaInfoUrl : "/list-of-ua/browser-detail?browser=NewsBreak" }}, 238 : { typeId : "20" , metadata : { uaFamily : "LinkbackPlugin for Laconica" , uaUrl : "http://laconi.ca/" , uaCompany : "Laconica Developer Community" , uaCompanyUrl : "http://laconi.ca/trac/wiki/DeveloperCommunity" , uaIcon : "laconica.png" , uaInfoUrl : "/list-of-ua/browser-detail?browser=LinkbackPlugin for Laconica" }}, 239 : { typeId : "20" , metadata : { uaFamily : "Microsoft WebDAV client" , uaUrl : "" , uaCompany : "Microsoft Corporation." , uaCompanyUrl : "http://www.microsoft.com/" , uaIcon : "webdav.png" , uaInfoUrl : "/list-of-ua/browser-detail?browser=Microsoft WebDAV client" }}, 240 : { typeId : "20" , metadata : { uaFamily : "GnomeVFS" , uaUrl : "http://developer.gnome.org/doc/API/2.0/gnome-vfs-2" , uaCompany : "The GNOME Project" , uaCompanyUrl : "http://www.gnome.org/" , uaIcon : "webdav.png" , uaInfoUrl : "/list-of-ua/browser-detail?browser=GnomeVFS" }}, 241 : { typeId : "0" , metadata : { uaFamily : "Uzbl" , uaUrl : "http://www.uzbl.org/" , uaCompany : "" , uaCompanyUrl : "" , uaIcon : "uzbl.png" , uaInfoUrl : "/list-of-ua/browser-detail?browser=Uzbl" }}, 242 : { typeId : "10" , metadata : { uaFamily : "Cynthia" , uaUrl : "http://www.contentquality.com/" , uaCompany : "HiSoftware Inc." , uaCompanyUrl : "http://www.hisoftware.com/" , uaIcon : "cynthia.png" , uaInfoUrl : "/list-of-ua/browser-detail?browser=Cynthia" }}, 243 : { typeId : "15" , metadata : { uaFamily : "Sage" , uaUrl : "http://sage.mozdev.org" , uaCompany : "Peter Andrews" , uaCompanyUrl : "http://petea.org/" , uaIcon : "sage.png" , uaInfoUrl : "/list-of-ua/browser-detail?browser=Sage" }}, 244 : { typeId : "18" , metadata : { uaFamily : "Banshee" , uaUrl : "http://banshee-project.org/" , uaCompany : "Novell, Inc." , uaCompanyUrl : "http://www.novell.com/" , uaIcon : "banshee.png" , uaInfoUrl : "/list-of-ua/browser-detail?browser=Banshee" }}, 245 : { typeId : "0" , metadata : { uaFamily : "Wyzo" , uaUrl : "http://www.wyzo.com/" , uaCompany : "Radical Software Ltd." , uaCompanyUrl : "http://www.radicalsoft.com/" , uaIcon : "wyzo.png" , uaInfoUrl : "/list-of-ua/browser-detail?browser=Wyzo" }}, 246 : { typeId : "15" , metadata : { uaFamily : "RSSOwl" , uaUrl : "http://www.rssowl.org/" , uaCompany : "Benjamin Pasero" , uaCompanyUrl : "" , uaIcon : "rssowl.png" , uaInfoUrl : "/list-of-ua/browser-detail?browser=RSSOwl" }}, 247 : { typeId : "0" , metadata : { uaFamily : "ABrowse" , uaUrl : "http://en.wikipedia.org/wiki/ABrowse" , uaCompany : "Kurt Skauen" , uaCompanyUrl : "http://www.syllable.org/" , uaIcon : "abrowse.png" , uaInfoUrl : "/list-of-ua/browser-detail?browser=ABrowse" }}, 248 : { typeId : "20" , metadata : { uaFamily : "Funambol Outlook Sync Client" , uaUrl : "https://www.forge.funambol.org/download/" , uaCompany : "Funambol, Inc." , uaCompanyUrl : "http://funambol.com/" , uaIcon : "funambol-outlook.png" , uaInfoUrl : "/list-of-ua/browser-detail?browser=Funambol Outlook Sync Client" }}, 249 : { typeId : "20" , metadata : { uaFamily : "Funambol Mozilla Sync Client" , uaUrl : "https://mozilla-plugin.forge.funambol.org/ " , uaCompany : "Carlo Codega" , uaCompanyUrl : "http://sazilla.blogspot.com" , uaIcon : "funambol-mozilla.png" , uaInfoUrl : "/list-of-ua/browser-detail?browser=Funambol Mozilla Sync Client" }}, 250 : { typeId : "15" , metadata : { uaFamily : "RSS Menu" , uaUrl : "http://www.edot-studios.com/webgroups2/index.php?menu_item=212" , uaCompany : "e dot studios" , uaCompanyUrl : "http://www.edot-studios.com/" , uaIcon : "rss_menu.png" , uaInfoUrl : "/list-of-ua/browser-detail?browser=RSS Menu" }}, 251 : { typeId : "18" , metadata : { uaFamily : "foobar2000" , uaUrl : "http://www.foobar2000.org/" , uaCompany : "Peter Pawlowski" , uaCompanyUrl : "" , uaIcon : "foobar2000.png" , uaInfoUrl : "/list-of-ua/browser-detail?browser=foobar2000" }}, 252 : { typeId : "5" , metadata : { uaFamily : "GStreamer" , uaUrl : "http://gstreamer.freedesktop.org/" , uaCompany : "GStreamer community" , uaCompanyUrl : "http://gstreamer.freedesktop.org/" , uaIcon : "GStreamer.png" , uaInfoUrl : "/list-of-ua/browser-detail?browser=GStreamer" }}, 253 : { typeId : "20" , metadata : { uaFamily : "NetFront Mobile Content Viewer" , uaUrl : "http://www.access-company.com/products/mobile_solutions/netfrontmobile/contentviewer/index.html" , uaCompany : "ACCESS CO., LTD." , uaCompanyUrl : "http://www.access-company.com/" , uaIcon : "netfront.png" , uaInfoUrl : "/list-of-ua/browser-detail?browser=NetFront Mobile Content Viewer" }}, 254 : { typeId : "5" , metadata : { uaFamily : "PHP OpenID library" , uaUrl : "http://openidenabled.
uaInfoUrl:" / list - of - ua / browser - detail ? browser = Powermarks "}},374:{typeId:" 15 ",metadata:{uaFamily:" Safari RSS reader ",uaUrl:" http : //www.apple.com/safari/",uaCompany:"Apple Inc.",uaCompanyUrl:"http://www.apple.com/",uaIcon:"rss.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Safari RSS reader"}},375:{typeId:"20",metadata:{uaFamily:"Google Friend Connect",uaUrl:"http://www.google.com/friendconnect/",uaCompany:"Google Inc.",uaCompanyUrl:"http://www.google.com/",uaIcon:"google_friend_connect.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Google Friend Connect"}},376:{typeId:"15",metadata:{uaFamily:"Feed Viewer",uaUrl:"http://feedviewer.codeplex.com/",uaCompany:"vasek7",uaCompanyUrl:"http://www.codeplex.com/site/users/view/vasek7",uaIcon:"rss.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Feed Viewer"}},377:{typeId:"0",metadata:{uaFamily:"RockMelt",uaUrl:"http://www.rockmelt.com/",uaCompany:"Rockmelt, Inc.",uaCompanyUrl:"http://www.rockmelt.com/",uaIcon:"rockmelt.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=RockMelt"}},378:{typeId:"0",metadata:{uaFamily:"Epic",uaUrl:"http://www.epicbrowser.com/",uaCompany:"Hidden Reflex",uaCompanyUrl:"http://www.hiddenreflex.com/",uaIcon:"epic.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Epic"}},379:{typeId:"0",metadata:{uaFamily:"InternetSurfboard",uaUrl:"http://inetsurfboard.sourceforge.net/",uaCompany:"Philipp Ruppel",uaCompanyUrl:"",uaIcon:"internetSurfboard.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=InternetSurfboard"}},380:{typeId:"0",metadata:{uaFamily:"Vonkeror",uaUrl:"http://zzo38computer.cjb.net/vonkeror/",uaCompany:"zzo38",uaCompanyUrl:"http://zzo38computer.cjb.net/",uaIcon:"conkeror.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Vonkeror"}},381:{typeId:"15",metadata:{uaFamily:"IE RSS reader",uaUrl:"http://en.wikipedia.org/wiki/Windows_RSS_Platform",uaCompany:"Microsoft",uaCompanyUrl:"http://www.microsoft.com/",uaIcon:"rss.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=IE RSS reader"}},382:{typeId:"15",metadata:{uaFamily:"Trileet NewsRoom",uaUrl:"http://feedmonger.blogspot.com/",uaCompany:"Trileet Inc.",uaCompanyUrl:"http://www.trileet.com/",uaIcon:"rss.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Trileet NewsRoom"}},383:{typeId:"10",metadata:{uaFamily:"Validator.nu",uaUrl:"http://validator.nu/",uaCompany:"Henri Sivonen",uaCompanyUrl:"http://hsivonen.iki.fi/author/",uaIcon:"validator_nu.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Validator.nu"}},384:{typeId:"5",metadata:{uaFamily:"Zend_Http_Client",uaUrl:"http://framework.zend.com/manual/en/zend.http.html",uaCompany:"Zend Technologies Ltd.",uaCompanyUrl:"http://www.zend.com/",uaIcon:"zend_http_client.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Zend_Http_Client"}},385:{typeId:"3",metadata:{uaFamily:"Skyfire",uaUrl:"http://www.skyfire.com/",uaCompany:"Skyfire Labs, Inc.",uaCompanyUrl:"http://www.skyfire.com/about",uaIcon:"skyfire.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Skyfire"}},386:{typeId:"3",metadata:{uaFamily:"GO Browser",uaUrl:"http://www.gobrowser.cn/",uaCompany:"GO Dev Team",uaCompanyUrl:"",uaIcon:"go_browser.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=GO Browser"}},387:{typeId:"0",metadata:{uaFamily:"Surf",uaUrl:"http://surf.suckless.org/",uaCompany:"suckless.org",uaCompanyUrl:"http://suckless.org/",uaIcon:"surf.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Surf"}},388:{typeId:"20",metadata:{uaFamily:"iGooMap",uaUrl:"http://www.pointworks.de/software/igoomap/index.php",uaCompany:"PointWorks.de",uaCompanyUrl:"http://www.pointworks.de/",uaIcon:"igoomap.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=iGooMap"}},389:{typeId:"18",metadata:{uaFamily:"iTunes",uaUrl:"http://www.apple.com/itunes/",uaCompany:"Apple Inc.",uaCompanyUrl:"http://www.apple.com/",uaIcon:"itunes.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=iTunes"}},390:{typeId:"0",metadata:{uaFamily:"BlackHawk",uaUrl:"http://www.netgate.sk/blackhawk/help/welcome-to-blackhawk-web-browser.html",uaCompany:"NETGATE Technologies s.r.o. ",uaCompanyUrl:"http://www.netgate.sk/",uaIcon:"blackha
}, 58 : { regexp : /libwww\-perl\/([0-9a-z\+\-\.]+)[\s\S]*/i , browserId : "51" }, 59 : { regexp : /mozilla[\s\S]*Lunascape\/([0-9a-z\+\-\.]+)[\s\S]*/i , browserId : "52" }, 60 : { regexp : /mozilla[\s\S]*Maxthon ([0-9a-z\+\-\.]+)/i , browserId : "53" }, 61 : { regexp : /mozilla[\s\S]*MSIE [0-9a-z\+\-\.]+[\s\S]*MyIE2/i , browserId : "53" }, 62 : { regexp : /mozilla[\s\S]*(rv:[0-9\.]+)[\s\S]*gecko\/[0-9]+[\s\S]*/i , browserId : "54" }, 63 : { regexp : /mozilla[\s\S]*MultiZilla ([0-9a-z\+\-\.]+)[\s\S]*/i , browserId : "55" }, 64 : { regexp : /mozilla[\s\S]*MSIE [0-9a-z\+\-\.]+[\s\S]*NetCaptor ([0-9a-z\+\-\.]+)/i , browserId : "56" }, 65 : { regexp : /Netgem\/([0-9a-z\+\-\.]+)[\s\S]*/i , browserId : "57" }, 66 : { regexp : /netsurf\/([0-9a-z\+\-\.]+)[\s\S]*/i , browserId : "58" }, 67 : { regexp : /mozilla[\s\S]*MSIE [0-9a-z\+\-\.]+[\s\S]*Sleipnir\/([0-9a-z\+\-\.]+)/i , browserId : "59" }, 69 : { regexp : /mozilla[\s\S]*rv:[0-9\.]+[\s\S]*gecko\/[0-9]+[\s\S]*firefox\/([0-9a-z\+\-\.]+)[\s\S]*swiftfox/i , browserId : "61" }, 70 : { regexp : /Teleport Pro\/([0-9a-z\+\-\.]+)[\s\S]*/i , browserId : "62" }, 77 : { regexp : /sunrise[ \/]([0-9a-z\+\-\.\/]+)/i , browserId : "19" }, 78 : { regexp : /mozilla[\s\S]*galeon\/([0-9a-z\+\-\.]+)[\s\S]*/i , browserId : "6" }, 79 : { regexp : /^Mozilla[\s\S]*AppleWebKit[\s\S]*\(KHTML, like Gecko\)$/i , browserId : "466" }, 80 : { regexp : /Openwave/i , browserId : "32" }, 81 : { regexp : /MSIE ([0-9a-z\+\-\.]+)[\s\S]*windows ce/i , browserId : "157" }, 82 : { regexp : /mozilla[\s\S]*\/[0-9\.]+[\s\S]*gecko[\s\S]*firefox[\s\S]*/i , browserId : "3" }, 83 : { regexp : /mozilla[\s\S]*(rv:[0-9\.]+)[\s\S]*/i , browserId : "54" }, 86 : { regexp : /webcopier[\s\S]*v([0-9a-z\.]+)/i , browserId : "71" }, 89 : { regexp : /MSIE[\s\S]*PhaseOut/i , browserId : "74" }, 94 : { regexp : /^Mozilla[\s\S]*Thunderbird\/([0-9a-zA-Z\.]+)/i , browserId : "79" }, 95 : { regexp : /^DoCoMo\//i , browserId : "33" }, 97 : { regexp : /doris\/([0-9a-z\+\-\.]+)[\s\S]*/i , browserId : "81" }, 98 : { regexp : /^Enigma browser$/i , browserId : "82" }, 100 : { regexp : /lwp\-request\/([0-9a-z\+\-\.]+)[\s\S]*/i , browserId : "51" }, 102 : { regexp : /Jakarta Commons-HttpClient\/([0-9a-zA-Z\.\-]+)/i , browserId : "85" }, 103 : { regexp : /IBrowse/i , browserId : "31" }, 104 : { regexp : /^curl ([0-9a-zA-Z\.\-]+)/i , browserId : "86" }, 105 : { regexp : /Aweb[\s\S]*Amiga/i , browserId : "29" }, 106 : { regexp : /amaya\/([0-9a-zA-Z\.\-+]+)/i , browserId : "87" }, 107 : { regexp : /GetRight\/([0-9a-zA-Z\.\-\+]+)/i , browserId : "88" }, 108 : { regexp : /^Mozilla[\s\S]*OmniWeb\/([1-9a-zA-z\.\-]+)/i , browserId : "18" }, 109 : { regexp : /Mozilla[\s\S]*OffByOne/i , browserId : "89" }, 110 : { regexp : /Python\-urllib\/([0-9a-zA-Z\.\-]+)/i , browserId : "90" }, 111 : { regexp : /w3m\/([0-9a-zA-z\-\+\.]+)/i , browserId : "91" }, 113 : { regexp : /^WebZIP\/([0-9a-zA-Z\.\-]+)/i , browserId : "93" }, 114 : { regexp : /^Mozilla[\s\S]*AppleWebKit[\s\S]*Shiira\/([0-9a-zA-z\.\-]+)/i , browserId : "21" }, 115 : { regexp : /ICEbrowser\/([0-9a-z_\.\-]+)/i , browserId : "94" }, 117 : { regexp : /Blazer ([0-9\.]+)/i , browserId : "43" }, 118 : { regexp : /Iceape\/([0-9a-zA-z\.\-]+)/i , browserId : "96" }, 120 : { regexp : /Jakarta Commons\-HttpClient/i , browserId : "85" }, 122 : { regexp : /HotJava\/([0-9a-zA-Z\.\- ]+)/i , browserId : "99" }, 123 : { regexp : /JoBo\/([0-9a-z\.\-]+)/i , browserId : "100" }, 126 : { regexp : /Sleipnir Version ([0-9a-z\.]+)/i , browserId : "59" }, 130 : { regexp : /poe-component-client-http\/([0-9a-z\.\-]+)/i , browserId : "105" }, 137 : { regexp : /snoopy v([1-9\.]+)/i , browserId : "111" }, 138 : { regexp : /Lynx/i , browserId : "25" }, 139 : { regexp : /libwww\-perl/i , browserId : "51" }, 141 : { regexp : /NetFront([0-9a-z\.]+)[\s\S]*/i , browserId : "33" }, 143 : { regexp : /^opera ([0-9a-z\+\-\.]+)[\s\S]*/i , browserId : "17" }, 147 : { regexp : /NCSA_Mosaic\/([0-9a-z\+\-\.]+)[\s\S]*/i , browserId : "117" }, 149 : { regexp : /mozilla[\s\S]*rv:[0-9\.]+[\s\S]*gecko[\s\S]*kapiko\/([0-9a-z\+\-\.]+)[\s\S]*/i , browserId : "119" }, 150 : { regexp : /mozilla[\s\S]*chrome\/([0-9a-z\+\-\.]+)[\s\S]*/i , browserId : "120" }, 151 : { regexp : /mozilla[\s\S]*applewebkit[\s\S]*AdobeAIR\/([0-9a-z\+\-\.]+)[\s\S]*/i , browserId : "121" }, 152 : { regexp : /^lwp-trivial\/([0-9.]+)$/i , browserId : "122" }, 153 : { regexp : /^WWW-Mechanize\/([0-9a-z\+\-\.]+)/i , browserId : "123" }, 155 : { regexp : /^Xenu Link Sleuth ([0-9a-z\+\-\.]+)$/i , browserId : "124" }, 156 : { regexp : /^SiteSucker\/([0-9a-z\.]+)/i , browserId : "125" }, 157 : { regexp : /mozilla[\s\S]*applewebkit[\s\S]*arora\/([0-9a-z\+\-\.]+)[\s\S]*/i , browserId : "126" }, 160 : { regexp : /mozilla[\s\S]*rv:[0-9\.]+[\s\S]*
browserId : "433" }, 550 : { regexp : /^python-requests\/([0-9\.]+)/i , browserId : "434" }, 551 : { regexp : /^AtomicBrowser\/([0-9\.]+)[\s\S]*CFNetwork/i , browserId : "436" }, 552 : { regexp : /^Reeder\/([0-9\.]+)[\s\S]*CFNetwork/i , browserId : "437" }, 553 : { regexp : /^Mozilla[\s\S]*Mobile[\s\S]*rv[\s\S]*Gecko[\s\S]*Firefox\/([0-9\.]+)/i , browserId : "133" }, 554 : { regexp : /Mozilla[\s\S]*Mac[\s\S]*rv[\s\S]*Gecko[\s\S]*Firefox\/([0-9a-b\.]+)[\s\S]*TenFourFox/i , browserId : "439" }, 555 : { regexp : /^PEAR HTTP_Request class \( http:\/\/pear[\s\S]php[\s\S]net\/ \)/i , browserId : "440" }, 556 : { regexp : /Mozilla[\s\S]*compatible[\s\S]*DPlus ([0-9\.]+)/i , browserId : "441" }, 557 : { regexp : /^WordPress\/[0-9\.]+; http:\/\//i , browserId : "438" }, 558 : { regexp : /Mozilla[\s\S]*Windows[\s\S]*Gecko[\s\S]*Firefox[\s\S]*AvantBrowser\/Tri-Core/i , browserId : "41" }, 559 : { regexp : /Mozilla[\s\S]*AppleWebKit[\s\S]*zBrowser\/SpringSun-([0-9\.]+)/i , browserId : "442" }, 560 : { regexp : /Mozilla[\s\S]*AppleWebKit[\s\S]*zBrowser\/NigtSky-([0-9\.]+)/i , browserId : "442" }, 561 : { regexp : /Mozilla[\s\S]*AppleWebKit[\s\S]*KHTML[\s\S]*SlimBoat\/([0-9\.]+)/i , browserId : "443" }, 562 : { regexp : /Opera[\s\S]*Opera Tablet[\s\S]*Presto[\s\S]*Version\/([0-9\.]+)/i , browserId : "321" }, 563 : { regexp : /^Mozilla[\s\S]*AppleWebKit[\s\S]*Chrome\/([0-9\.]+)[\s\S]*Mobile Safari/i , browserId : "423" }, 564 : { regexp : /^Mozilla[\s\S]*iPhone[\s\S]*AppleWebKit[\s\S]*CriOS\/([0-9\.]+)[\s\S]*Mobile[\s\S]*Safari/i , browserId : "423" }, 565 : { regexp : /^Mechanize\/([0-9\.]+)[\s\S]*Ruby[\s\S]*github[\s\S]com\/tenderlove\/mechanize/i , browserId : "445" }, 566 : { regexp : /^htmlayout ([0-9\.]+)[\s\S]*Win[\s\S]*www\.terrainformatica\.com/i , browserId : "446" }, 567 : { regexp : /^The Bat! Voyager ([0-9\.]+)$/i , browserId : "330" }, 568 : { regexp : /^Mozilla[\s\S]*MSIE[\s\S]*Windows[\s\S]*SaaYaa/i , browserId : "447" }, 569 : { regexp : /^Mozilla[\s\S]*AppleWebKit[\s\S]*Qt\/[0-9\.]+[\s\S]*Ryouko\/([0-9\.]+)[\s\S]*Safari/i , browserId : "448" }, 570 : { regexp : /^Anemone\/([0-9\.]+)$/i , browserId : "449" }, 571 : { regexp : /^Mozilla[\s\S]*OS X[\s\S]*AppleWebKit[\s\S]*KHTML[\s\S]*Sparrow\/([0-9\.]+)/i , browserId : "450" }, 572 : { regexp : /^SubStream\/([0-9\.]+)[\s\S]* CFNetwork/i , browserId : "451" }, 573 : { regexp : /^Mozilla[\s\S]*iPad[\s\S]*AppleWebKit[\s\S]*CriOS\/([0-9\.]+)[\s\S]*Mobile[\s\S]*Safari/i , browserId : "423" }, 574 : { regexp : /^Barca\/([0-9\.]+)/i , browserId : "452" }, 575 : { regexp : /^BarcaPro\/([0-9\.]+)/i , browserId : "452" }, 576 : { regexp : /A1 Sitemap Generator\/([0-9\.]+)[\s\S]*microsystools[\s\S]com/i , browserId : "453" }, 577 : { regexp : /^Mozilla[\s\S]*Playstation Vita[\s\S]*AppleWebKit[\s\S]*Silk\/([0-9\.]+)/i , browserId : "454" }, 578 : { regexp : /^MQQBrowser\/([0-9\.]+)/i , browserId : "455" }, 579 : { regexp : /^MQQBrowser\/(Mini[0-9\.]+)/i , browserId : "455" }, 580 : { regexp : /^Mozilla[\s\S]*AppleWebKit[\s\S]*Chrome[\s\S]*Beamrise\/([0-9\.]+)/i , browserId : "456" }, 581 : { regexp : /^Mozilla[\s\S]*AppleWebKit[\s\S]*Beamrise\/([0-9\.]+)[\s\S]*Chrome/i , browserId : "456" }, 582 : { regexp : /^Mozilla[\s\S]*AppleWebKit[\s\S]*Chrome[\s\S]*YaBrowser\/([0-9\.]+)/i , browserId : "457" }, 583 : { regexp : /^Mozilla[\s\S]*Silk\/([0-9\.\-]+)[\s\S]*safari/i , browserId : "458" }, 584 : { regexp : /^Apache-HttpClient\/([0-9\.]+)/i , browserId : "459" }, 585 : { regexp : /^Mozilla.*Nintendo WiiU.*AppleWebKit.*NX.*NintendoBrowser\/([0-9\.]+)/ , browserId : "460" }, 586 : { regexp : /^DellWebMonitor\/([0-9\.]+)/ , browserId : "461" }, 587 : { regexp : /^FeedDemon\/([0-9\.]+)[\s\S]*(www\.feeddemon\.com|www\.newsgator\.com)/i , browserId : "462" }, 588 : { regexp : /^XMLRPC::Client \(Ruby ([0-9\.]+)\)$/i , browserId : "463" }, 589 : { regexp : /^PocomailPE\/([0-9\.]+)/i , browserId : "356" }, 590 : { regexp : /Pattern\/([0-9\.]+)[\s\S]*[\s\S]clips\.ua\.ac\.be\/pages\/pattern/i , browserId : "464" }, 592 : { regexp : /^Eudora\/?([0-9a-z\.]+)*/i , browserId : "465" }, 593 : { regexp : /^Mozilla[\s\S]*Windows[\s\S]*Gecko[\s\S]*Polarity\/([0-9\.]+)/i , browserId : "467" }, 594 : { regexp : /^Mozilla[\s\S]*AppleWebKit[\s\S]*Superbird\/([0-9\.]+)/i , browserId : "468" }, 595 : { regexp : /^Microsoft Office\/14[\s\S]*Microsoft Outlook 14/i , browserId : "326" }, 596 : { regexp : /mozilla[\s\S]*AppleWebKit[\s\S]*NetFrontLifeBrowser\/([0-9\.]+)/i , browserId : "469" }, 597 : { regexp : /mozilla[\s\S]*applewebkit[\s\S]*\/[0-9a-z\+\-\.]+[\s\S]*version\/([0-9a-z\+\-\.]+)[\s\S]*safari\/[0-9a-z\+\
lineNumber:tb,lineStart:ub,start:e,end:sb}):(b=c.substr(0,2),g===b[1]&&"+-<>&|".indexOf(g)>=0||"=>"===b?(sb+=2,{type:ib.Punctuator,value:b,lineNumber:tb,lineStart:ub,start:e,end:sb}):"<>=!+-*%&|^/ ".indexOf(g)>=0?(++sb,{type:ib.Punctuator,value:g,lineNumber:tb,lineStart:ub,start:e,end:sb}):void S({},ob.UnexpectedToken," ILLEGAL ")))}function x(a){for(var b="";sb<vb&&d(qb[sb]);)b+=qb[sb++];return 0===b.length&&S({},ob.UnexpectedToken," ILLEGAL "),h(qb.charCodeAt(sb))&&S({},ob.UnexpectedToken," ILLEGAL "),{type:ib.NumericLiteral,value:parseInt(" 0 x "+b,16),lineNumber:tb,lineStart:ub,start:a,end:sb}}function y(a){for(var b=" 0 "+qb[sb++];sb<vb&&e(qb[sb]);)b+=qb[sb++];return(h(qb.charCodeAt(sb))||c(qb.charCodeAt(sb)))&&S({},ob.UnexpectedToken," ILLEGAL "),{type:ib.NumericLiteral,value:parseInt(b,8),octal:!0,lineNumber:tb,lineStart:ub,start:a,end:sb}}function z(){var a,d,f;if(f=qb[sb],b(c(f.charCodeAt(0))||" . "===f," Numeric literal must start with a decimal digit or a decimal point "),d=sb,a=""," . "!==f){if(a=qb[sb++],f=qb[sb]," 0 "===a){if(" x "===f||" X "===f)return++sb,x(d);if(e(f))return y(d);f&&c(f.charCodeAt(0))&&S({},ob.UnexpectedToken," ILLEGAL ")}for(;c(qb.charCodeAt(sb));)a+=qb[sb++];f=qb[sb]}if(" . "===f){for(a+=qb[sb++];c(qb.charCodeAt(sb));)a+=qb[sb++];f=qb[sb]}if(" e "===f||" E "===f)if(a+=qb[sb++],f=qb[sb]," + "!==f&&" - "!==f||(a+=qb[sb++]),c(qb.charCodeAt(sb)))for(;c(qb.charCodeAt(sb));)a+=qb[sb++];else S({},ob.UnexpectedToken," ILLEGAL ");return h(qb.charCodeAt(sb))&&S({},ob.UnexpectedToken," ILLEGAL "),{type:ib.NumericLiteral,value:parseFloat(a),lineNumber:tb,lineStart:ub,start:d,end:sb}}function A(){var a,c,d,f,h,i,j,k,l="",m=!1;for(j=tb,k=ub,a=qb[sb],b(" '"===a||' "'===a," String literal must starts with a quote "),c=sb,++sb;sb<vb;){if(d=qb[sb++],d===a){a="";break}if(" \\ "===d)if(d=qb[sb++],d&&g(d.charCodeAt(0)))++tb," \ r "===d&&" \ n "===qb[sb]&&++sb,ub=sb;else switch(d){case" u ":case" x ":" { "===qb[sb]?(++sb,l+=s()):(i=sb,h=r(d),h?l+=h:(sb=i,l+=d));break;case" n ":l+=" \ n ";break;case" r ":l+=" \ r ";break;case" t ":l+=" \ t ";break;case" b ":l+=" \ b ";break;case" f ":l+=" \ f ";break;case" v ":l+=" \ v ";break;default:e(d)?(f=" 01234567 ".indexOf(d),0!==f&&(m=!0),sb<vb&&e(qb[sb])&&(m=!0,f=8*f+" 01234567 ".indexOf(qb[sb++])," 0123 ".indexOf(d)>=0&&sb<vb&&e(qb[sb])&&(f=8*f+" 01234567 ".indexOf(qb[sb++]))),l+=String.fromCharCode(f)):l+=d}else{if(g(d.charCodeAt(0)))break;l+=d}}return""!==a&&S({},ob.UnexpectedToken," ILLEGAL "),{type:ib.StringLiteral,value:l,octal:m,startLineNumber:j,startLineStart:k,lineNumber:tb,lineStart:ub,start:c,end:sb}}function B(a,b){var c;try{c=new RegExp(a,b)}catch(a){S({},ob.InvalidRegExp)}return c}function C(){var a,c,d,e,f;for(a=qb[sb],b(" / "===a," Regular expression literal must start with a slash "),c=qb[sb++],d=!1,e=!1;sb<vb;)if(a=qb[sb++],c+=a," \\ "===a)a=qb[sb++],g(a.charCodeAt(0))&&S({},ob.UnterminatedRegExp),c+=a;else if(g(a.charCodeAt(0)))S({},ob.UnterminatedRegExp);else if(d)" ] "===a&&(d=!1);else{if(" / "===a){e=!0;break}" [ "===a&&(d=!0)}return e||S({},ob.UnterminatedRegExp),f=c.substr(1,c.length-2),{value:f,literal:c}}function D(){var a,b,c,d;for(b="",c="";sb<vb&&(a=qb[sb],i(a.charCodeAt(0)));)if(++sb," \\ "===a&&sb<vb)if(a=qb[sb]," u "===a){if(++sb,d=sb,a=r(" u "))for(c+=a,b+=" \\ u ";d<sb;++d)b+=qb[d];else sb=d,c+=" u ",b+=" \\ u ";T({},ob.UnexpectedToken," ILLEGAL ")}else b+=" \\ ",T({},ob.UnexpectedToken," ILLEGAL ");else c+=a,b+=a;return{value:c,literal:b}}function E(){var a,b,c,d;return wb=null,q(),a=sb,b=C(),c=D(),d=B(b.value,c.value),yb.tokenize?{type:ib.RegularExpression,value:d,lineNumber:tb,lineStart:ub,start:a,end:sb}:{literal:b.literal+c.literal,value:d,start:a,end:sb}}function F(){var a,b,c,d;return q(),a=sb,b={start:{line:tb,column:sb-ub}},c=E(),b.end={line:tb,column:sb-ub},yb.tokenize||(yb.tokens.length>0&&(d=yb.tokens[yb.tokens.length-1],d.range[0]===a&&" Punctuator "===d.type&&(" / "!==d.value&&" /= "!==d.value||yb.tokens.pop())),yb.tokens.push({type:" RegularExpression ",value:c.literal,range:[a,sb],loc:b})),c}function G(a){return a.type===ib.Identifier||a.type===ib.Keyword||a.type===ib.BooleanLiteral||a.type===ib.NullLiteral}function H(){var a,b;if(a=yb.tokens[yb.tokens.
NonAsciiIdentifierPart:new RegExp(" [ \ xaa \ xb5 \ xba \ xc0 - \ xd6 \ xd8 - \ xf6 \ xf8 - \u02c1\u02c6 - \u02d1\u02e0 - \u02e4\u02ec\u02ee\u0300 - \u0374\u0376\u0377\u037a - \u037d\u037f\u0386\u0388 - \u038a\u038c\u038e - \u03a1\u03a3 - \u03f5\u03f7 - \u0481\u0483 - \u0487\u048a - \u052f\u0531 - \u0556\u0559\u0561 - \u0587\u0591 - \u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u05d0 - \u05ea\u05f0 - \u05f2\u0610 - \u061a\u0620 - \u0669\u066e - \u06d3\u06d5 - \u06dc\u06df - \u06e8\u06ea - \u06fc\u06ff\u0710 - \u074a\u074d - \u07b1\u07c0 - \u07f5\u07fa\u0800 - \u082d\u0840 - \u085b\u08a0 - \u08b2\u08e4 - \u0963\u0966 - \u096f\u0971 - \u0983\u0985 - \u098c\u098f\u0990\u0993 - \u09a8\u09aa - \u09b0\u09b2\u09b6 - \u09b9\u09bc - \u09c4\u09c7\u09c8\u09cb - \u09ce\u09d7\u09dc\u09dd\u09df - \u09e3\u09e6 - \u09f1\u0a01 - \u0a03\u0a05 - \u0a0a\u0a0f\u0a10\u0a13 - \u0a28\u0a2a - \u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a3c\u0a3e - \u0a42\u0a47\u0a48\u0a4b - \u0a4d\u0a51\u0a59 - \u0a5c\u0a5e\u0a66 - \u0a75\u0a81 - \u0a83\u0a85 - \u0a8d\u0a8f - \u0a91\u0a93 - \u0aa8\u0aaa - \u0ab0\u0ab2\u0ab3\u0ab5 - \u0ab9\u0abc - \u0ac5\u0ac7 - \u0ac9\u0acb - \u0acd\u0ad0\u0ae0 - \u0ae3\u0ae6 - \u0aef\u0b01 - \u0b03\u0b05 - \u0b0c\u0b0f\u0b10\u0b13 - \u0b28\u0b2a - \u0b30\u0b32\u0b33\u0b35 - \u0b39\u0b3c - \u0b44\u0b47\u0b48\u0b4b - \u0b4d\u0b56\u0b57\u0b5c\u0b5d\u0b5f - \u0b63\u0b66 - \u0b6f\u0b71\u0b82\u0b83\u0b85 - \u0b8a\u0b8e - \u0b90\u0b92 - \u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8 - \u0baa\u0bae - \u0bb9\u0bbe - \u0bc2\u0bc6 - \u0bc8\u0bca - \u0bcd\u0bd0\u0bd7\u0be6 - \u0bef\u0c00 - \u0c03\u0c05 - \u0c0c\u0c0e - \u0c10\u0c12 - \u0c28\u0c2a - \u0c39\u0c3d - \u0c44\u0c46 - \u0c48\u0c4a - \u0c4d\u0c55\u0c56\u0c58\u0c59\u0c60 - \u0c63\u0c66 - \u0c6f\u0c81 - \u0c83\u0c85 - \u0c8c\u0c8e - \u0c90\u0c92 - \u0ca8\u0caa - \u0cb3\u0cb5 - \u0cb9\u0cbc - \u0cc4\u0cc6 - \u0cc8\u0cca - \u0ccd\u0cd5\u0cd6\u0cde\u0ce0 - \u0ce3\u0ce6 - \u0cef\u0cf1\u0cf2\u0d01 - \u0d03\u0d05 - \u0d0c\u0d0e - \u0d10\u0d12 - \u0d3a\u0d3d - \u0d44\u0d46 - \u0d48\u0d4a - \u0d4e\u0d57\u0d60 - \u0d63\u0d66 - \u0d6f\u0d7a - \u0d7f\u0d82\u0d83\u0d85 - \u0d96\u0d9a - \u0db1\u0db3 - \u0dbb\u0dbd\u0dc0 - \u0dc6\u0dca\u0dcf - \u0dd4\u0dd6\u0dd8 - \u0ddf\u0de6 - \u0def\u0df2\u0df3\u0e01 - \u0e3a\u0e40 - \u0e4e\u0e50 - \u0e59\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94 - \u0e97\u0e99 - \u0e9f\u0ea1 - \u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead - \u0eb9\u0ebb - \u0ebd\u0ec0 - \u0ec4\u0ec6\u0ec8 - \u0ecd\u0ed0 - \u0ed9\u0edc - \u0edf\u0f00\u0f18\u0f19\u0f20 - \u0f29\u0f35\u0f37\u0f39\u0f3e - \u0f47\u0f49 - \u0f6c\u0f71 - \u0f84\u0f86 - \u0f97\u0f99 - \u0fbc\u0fc6\u1000 - \u1049\u1050 - \u109d\u10a0 - \u10c5\u10c7\u10cd\u10d0 - \u10fa\u10fc - \u1248\u124a - \u124d\u1250 - \u1256\u1258\u125a - \u125d\u1260 - \u1288\u128a - \u128d\u1290 - \u12b0\u12b2 - \u12b5\u12b8 - \u12be\u12c0\u12c2 - \u12c5\u12c8 - \u12d6\u12d8 - \u1310\u1312 - \u1315\u1318 - \u135a\u135d - \u135f\u1380 - \u138f\u13a0 - \u13f4\u1401 - \u166c\u166f - \u167f\u1681 - \u169a\u16a0 - \u16ea\u16ee - \u16f8\u1700 - \u170c\u170e - \u1714\u1720 - \u1734\u1740 - \u1753\u1760 - \u176c\u176e - \u1770\u1772\u1773\u1780 - \u17d3\u17d7\u17dc\u17dd\u17e0 - \u17e9\u180b - \u180d\u1810 - \u1819\u1820 - \u1877\u1880 - \u18aa\u18b0 - \u18f5\u1900 - \u191e\u1920 - \u192b\u1930 - \u193b\u1946 - \u196d\u1970 - \u1974\u1980 - \u19ab\u19b0 - \u19c9\u19d0 - \u19d9\u1a00 - \u1a1b\u1a20 - \u1a5e\u1a60 - \u1a7c\u1a7f - \u1a89\u1a90 - \u1a99\u1aa7\u1ab0 - \u1abd\u1b00 - \u1b4b\u1b50 - \u1b59\u1b6b - \u1b73\u1b80 - \u1bf3\u1c00 - \u1c37\u1c40 - \u1c49\u1c4d - \u1c7d\u1cd0 - \u1cd2\u1cd4 - \u1cf6\u1cf8\u1cf9\u1d00 - \u1df5\u1dfc - \u1f15\u1f18 - \u1f1d\u1f20 - \u1f45\u1f48 - \u1f4d\u1f50 - \u1f57\u1f59\u1f5b\u1f5d\u1f5f - \u1f7d\u1f80 - \u1fb4\u1fb6 - \u1fbc\u1fbe\u1fc2 - \u1fc4\u1fc6 - \u1fcc\u1fd0 - \u1fd3\u1fd6 - \u1fdb\u1fe0 - \u1fec\u1ff2 - \u1ff4\u1ff6 - \u1ffc\u200c\u200d\u203f\u2040\u2054\u2071\u207f\u2090 - \u209c\u20d0 - \u20dc\u20e1\u20e5 - \u20f0\u2102\u2107\u210a - \u2113\u2115\u2119 - \u211d\u2124\u2126\u2128\u212a - \u212d\u212f - \u2139\u213c - \u213f\u2145 - \u2149\u214e\u2160 - \u2188\u2c00 - \u2c2e\u2c30 - \u2c5e\u2c60 - \u2ce4\u2ceb - \u2cf3\u2d00 - \u2d25\u2d27\u2d2d\u2d30 - \u2d67\u2d6f\u2d7f - \u2d96\u2da0 - \u2da6\u2da8 - \u2dae\u2db0 - \u2db6\u2db8 - \u2dbe\u2dc0 - \u2dc6\u2dc8 - \u2dce\u2dd0 - \u2dd6\u2dd8 - \u2dde\u2de0 - \u2dff\u2e2f\u3005 - \u3007\u3021 - \u302f\u3031 - \u3035\u3038 - \u303c\u3041 - \u3096\u3099\u309a\u309d - \u309f\u30a1 - \u30fa\u30fc - \u30ff\u3105 - \u312d\u3131 - \u318e\u31a0 - \u31ba\u31f0 - \ u3
precedence : N . Sequence , allowIn :! 0 , allowCall :! 0 }), ")" ) : e . push ( ")" )}), e . push ( C ( a . body , "" === l )); break ; case M . ForInStatement : e = [ "for" + aa + "(" ], w ( function (){ a . left . type === M . VariableDeclaration ? w ( function (){ e . push ( a . left . kind + " " , H ( a . left . declarations [ 0 ],{ allowIn :! 1 }))}) : e . push ( G ( a . left ,{ precedence : N . Call , allowIn :! 0 , allowCall :! 0 })), e = u ( e , "in" ), e = [ u ( e , G ( a . right ,{ precedence : N . Sequence , allowIn :! 0 , allowCall :! 0 })), ")" ]}), e . push ( C ( a . body , "" === l )); break ; case M . LabeledStatement : e = [ a . label . name + ":" , C ( a . body , "" === l )]; break ; case M . Program : for ( d = a . body . length , e = [ da && d > 0 ? "\n" : "" ], c = 0 ; c < d ; c += 1 ) k = v ( H ( a . body [ c ],{ semicolonOptional :! da && c === d - 1 , directiveContext :! 0 })), e . push ( k ), c + 1 < d &&! i ( t ( k ). toString ()) && e . push ( _ ); break ; case M . FunctionDeclaration : e = [( a . generator &&! fa . moz . starlessGenerator ? "function* " : "function " ) + a . id . name , F ( a )]; break ; case M . ReturnStatement : e = a . argument ? [ u ( "return" , G ( a . argument ,{ precedence : N . Sequence , allowIn :! 0 , allowCall :! 0 })), l ] : [ "return" + l ]; break ; case M . WhileStatement : w ( function (){ e = [ "while" + aa + "(" , G ( a . test ,{ precedence : N . Sequence , allowIn :! 0 , allowCall :! 0 }), ")" ]}), e . push ( C ( a . body , "" === l )); break ; case M . WithStatement : w ( function (){ e = [ "with" + aa + "(" , G ( a . object ,{ precedence : N . Sequence , allowIn :! 0 , allowCall :! 0 }), ")" ]}), e . push ( C ( a . body , "" === l )); break ; default : throw new Error ( "Unknown statement type: " + a . type )} return fa . comment && ( e = A ( a , e )), k = t ( e ). toString (), a . type !== M . Program || da || "" !== _ || "\n" !== k . charAt ( k . length - 1 ) || ( e = t ( e ). replaceRight ( /\s+$/ , "" )), t ( e , a )} function I ( d , h ){ var i , j , l = b (); switch ( null != h ? ( "string" == typeof h . indent && ( l . format . indent . style = h . indent ), "number" == typeof h . base && ( l . format . indent . base = h . base ), h = k ( l , h ), V = h . format . indent . style , U = "string" == typeof h . base ? h . base : e ( V , h . format . indent . base )) : ( h = l , V = h . format . indent . style , U = e ( V , h . format . indent . base )), W = h . format . json , X = h . format . renumber , Y =! W && h . format . hexadecimal , Z = W ? "double" : h . format . quotes , $ = h . format . escapeless , h . format . compact ? _ = aa = V = U = "" : ( _ = "\n" , aa = " " ), ba = h . format . parentheses , ca = h . format . semicolons , da = h . format . safeConcatenation , ea = h . directive , ga = W ? null : h . parse , ha = h . sourceMap , fa = h , S = ha ? c . browser ? g . sourceMap . SourceNode : a ( "source-map" ). SourceNode : f , d . type ){ case M . BlockStatement : case M . BreakStatement : case M . CatchClause : case M . ContinueStatement : case M . DirectiveStatement : case M . DoWhileStatement : case M . DebuggerStatement : case M . EmptyStatement : case M . ExpressionStatement : case M . ForStatement : case M . ForInStatement : case M . FunctionDeclaration : case M . IfStatement : case M . LabeledStatement : case M . Program : case M . ReturnStatement : case M . SwitchStatement : case M . SwitchCase : case M . ThrowStatement : case M . TryStatement : case M . VariableDeclaration : case M . VariableDeclarator : case M . WhileStatement : case M . WithStatement : i = H ( d ); break ; case M . AssignmentExpression : case M . ArrayExpression : case M . ArrayPattern : case M . BinaryExpression : case M . CallExpression : case M . ConditionalExpression : case M . FunctionExpression : case M . Identifier : case M . Literal : case M . LogicalExpression : case M . MemberExpression : case M . NewExpression : case M . ObjectExpression : case M . ObjectPattern : case M . Property : case M . SequenceExpression : case M . ThisExpression : case M . UnaryExpression : case M . UpdateExpression : case M . YieldExpression : i = G ( d ,{ precedence : N . Sequence , allowIn :! 0 , allowCall :! 0 }); break ; default : throw new Error ( "Unknown node type: " + d . type )} return ha ? ( j = i . toStringWithSourceMap ({ file : h . sourceMap , sourceRoot : h . sourceMapRoot }), h . sourceMapWithCode ? j : j . map . toString ()) : i . toString ()} function J ( a , b ){ var c , d , e , f ; for ( d = a . length , e = 0 ; d ;) c = d >>> 1 , f = e + c , b ( a [ f ]) ? d = c : ( e = f + 1 , d -= c + 1 ); return e } function K ( a , b ){ var c , d ; return c = J ( b , function ( b ){ return b . range [ 0 ] > a . range [ 0 ]}), a . extendedRange = [ a . range [ 0 ], a . range [ 1 ]], c !== b . length && ( a . extendedRange [ 1 ] = b [ c ]. range [ 0 ]), c -= 1 , c >= 0 && ( c < b . length ? a . extendedRange [ 0 ] = b [ c ]. range [ 1 ] : d . length && ( a . extendedRange [ 1 ] = b [ b . length - 1 ]. range [ 0 ])), a } function L ( a , b , c ){ var d , e , f , g = []; if ( ! a . range ) throw new Error ( "attachComments needs range information" ); if ( ! c . length ){ if ( b . length ){ for ( f = 0 , e = b . length ; f < e ; f += 1 ) d = j ( b [ f ]), d . extendedRange = [ 0 , a . range [ 0 ]], g . push ( d ); a . leadingComments = g } return a } for ( f = 0 , e = b . length ; f < e ; f += 1 ) g . push ( K ( j ( b [ f ]), c )); return ia ( a ,{ cursor : 0 , enter : f
NonAsciiIdentifierPart : new RegExp ( "[\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0300-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u0483-\u0487\u048a-\u0527\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u05d0-\u05ea\u05f0-\u05f2\u0610-\u061a\u0620-\u0669\u066e-\u06d3\u06d5-\u06dc\u06df-\u06e8\u06ea-\u06fc\u06ff\u0710-\u074a\u074d-\u07b1\u07c0-\u07f5\u07fa\u0800-\u082d\u0840-\u085b\u08a0\u08a2-\u08ac\u08e4-\u08fe\u0900-\u0963\u0966-\u096f\u0971-\u0977\u0979-\u097f\u0981-\u0983\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7\u09c8\u09cb-\u09ce\u09d7\u09dc\u09dd\u09df-\u09e3\u09e6-\u09f1\u0a01-\u0a03\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a75\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0aef\u0b01-\u0b03\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b5c\u0b5d\u0b5f-\u0b63\u0b66-\u0b6f\u0b71\u0b82\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bef\u0c01-\u0c03\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c58\u0c59\u0c60-\u0c63\u0c66-\u0c6f\u0c82\u0c83\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1\u0cf2\u0d02\u0d03\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d-\u0d44\u0d46-\u0d48\u0d4a-\u0d4e\u0d57\u0d60-\u0d63\u0d66-\u0d6f\u0d7a-\u0d7f\u0d82\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0df2\u0df3\u0e01-\u0e3a\u0e40-\u0e4e\u0e50-\u0e59\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb9\u0ebb-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ecd\u0ed0-\u0ed9\u0edc-\u0edf\u0f00\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e-\u0f47\u0f49-\u0f6c\u0f71-\u0f84\u0f86-\u0f97\u0f99-\u0fbc\u0fc6\u1000-\u1049\u1050-\u109d\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u135f\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f0\u1700-\u170c\u170e-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772\u1773\u1780-\u17d3\u17d7\u17dc\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u1820-\u1877\u1880-\u18aa\u18b0-\u18f5\u1900-\u191c\u1920-\u192b\u1930-\u193b\u1946-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19d9\u1a00-\u1a1b\u1a20-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa7\u1b00-\u1b4b\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1bf3\u1c00-\u1c37\u1c40-\u1c49\u1c4d-\u1c7d\u1cd0-\u1cd2\u1cd4-\u1cf6\u1d00-\u1de6\u1dfc-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u200c\u200d\u203f\u2040\u2054\u2071\u207f\u2090-\u209c\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2dff\u2e2f\u3005-\u3007\u3021-\u302f\u3031-\u3035\u3038-\u303c\u3041-\u3096\u3099\u309a\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31
a.call(b,this.__data[c],d,this))},c.prototype.keys=function(){var a,b;b=[];for(a in this.__data)this.__data.hasOwnProperty(a)&&b.push(a.substring(1));return b},c.prototype.values=function(){var a,b;b=[];for(a in this.__data)this.__data.hasOwnProperty(a)&&b.push(this.__data[a]);return b},c.prototype.items=function(){var a,b;b=[];for(a in this.__data)this.__data.hasOwnProperty(a)&&b.push([a.substring(1),this.__data[a]]);return b}),b.exports=c}()}),b.define(" / lib / pass / remove - unreachable - branch . js ",function(a,c,d,e){!function(c,d,e,f,g,h){function i(a,b){var c,f,i;if(c=g.booleanCondition(b.test),b.alternate){if(" boolean "==typeof c)return h=!0,f=[],c?(i=e.delegateVariableDeclarations(b.alternate,a),i&&f.push(i),f.push(e.moveLocation(b.test,{type:d.ExpressionStatement,expression:b.test}),b.consequent),{type:d.BlockStatement,body:f}):(i=e.delegateVariableDeclarations(b.consequent,a),i&&f.push(i),f.push(e.moveLocation(b.test,{type:d.ExpressionStatement,expression:b.test}),b.alternate),{type:d.BlockStatement,body:f})}else if(" boolean "==typeof c)return h=!0,f=[],c?(f.push(e.moveLocation(b.test,{type:d.ExpressionStatement,expression:b.test}),b.consequent),{type:d.BlockStatement,body:f}):(i=e.delegateVariableDeclarations(b.consequent,a),i&&f.push(i),f.push(e.moveLocation(b.test,{type:d.ExpressionStatement,expression:b.test})),{type:d.BlockStatement,body:f})}function j(a,b){var c;return c=g.booleanCondition(b.left)," boolean "==typeof c?(h=!0,c?" && "===b.operator?e.moveLocation(b,{type:d.SequenceExpression,expressions:[b.left,b.right]}):b.left:" && "===b.operator?b.left:e.moveLocation(b,{type:d.SequenceExpression,expressions:[b.left,b.right]})):void 0}function k(a,b){var c;return c=g.booleanCondition(b.test)," boolean "==typeof c?(h=!0,c?e.moveLocation(b,{type:d.SequenceExpression,expressions:[b.test,b.consequent]}):e.moveLocation(b,{type:d.SequenceExpression,expressions:[b.test,b.alternate]})):void 0}function l(a,b){var g,l;return g=b.get(" destructive ",{pathName:c})?a:e.deepCopy(a),h=!1,l=[],g=e.replace(g,{enter:function(a){var b;if(f.Scope.isVariableScopeRequired(a))return void l.push(a);switch(b=e.Array.last(l),a.type){case d.IfStatement:return i(b,a);case d.LogicalExpression:return j(b,a);case d.ConditionalExpression:return k(b,a)}},leave:function(a){f.Scope.isVariableScopeRequired(a)&&l.pop()}}),{result:g,modified:h}}c=" remove - unreachable - branch ",f=b(" / node_modules / escope / escope . js ",a),e=b(" / lib / common . js ",a),g=b(" / lib / evaluator . js ",a),d=e.Syntax,l.passName=c,a.exports=l}()}),b.define(" / lib / evaluator . js ",function(a,c,d,e){!function(d,e){function f(a,b){return a.type===d.Literal?" object "!=typeof a.value||null===a.value||b:a.type===d.UnaryExpression?" void "===a.operator||" delete "===a.operator||" ! "===a.operator?f(a.argument,!0):f(a.argument,!1):a.type===d.BinaryExpression?" in "!==a.operator&&" instanceof "!==a.operator&&(f(a.left,!1)&&f(a.right,!1)):a.type===d.LogicalExpression&&(f(a.left,!0)&&f(a.right,!0))}function g(a){return a.type===d.Literal?a.value:a.type===d.UnaryExpression?i(a.operator,g(a.argument)):a.type===d.BinaryExpression?j(a.operator,g(a.left),g(a.right)):a.type===d.LogicalExpression?h(a.operator,g(a.left),g(a.right)):void e.unreachable()}function h(a,b,c){return" || "===a?b||c:" && "===a?b&&c:void e.unreachable()}function i(a,b){switch(a){case" + ":return+b;case" - ":return-b;case" ~ ":return~b;case" ! ":return!b;case" delete ":return!0;case" void ":return;case" typeof ":return typeof b}e.unreachable()}function j(a,b,c){switch(a){case" | ":return b|c;case" ^ ":return b^c;case" & ":return b&c;case" == ":return b==c;case" != ":return b!=c;case" === ":return b===c;case" !== ":return b!==c;case" < ":return b<c;case" > ":return b>c;case" <= ":return b<=c;case" >= ":return b>=c;case" << ":return b<<c;case" >> ":return b>>c;case" >>> ":return b>>>c;case" + ":return b+c;case" - ":return b-c;case" * ":return b*c;case" / ":return b/c;case" % ":return b%c}e.unreachable()}function k(a,b){function c(a){var e,g,h;switch(a.type){case d.AssignmentExpression:return!0;case d.ArrayExpression:for(e=0,g=a.elements.length;e<g;++e)if(c(a.elements[e]))return!0;return!1;case d.BinaryExpression:return!f(a
2016-12-20 20:18:16 +00:00
h.init&&g.push(h.init),1===g.length?h.init=g[0]:h.init={type:d.SequenceExpression,expressions:g},g=[]),j.push(h));g.length&&j.push(b(g,h)),a.body=j}function h(a,b){var h;return f=!1,h=b.get(" destructive ",{pathName:c})?a:e.deepCopy(a),e.traverse(h,{enter:function(a){switch(a.type){case d.BlockStatement:case d.Program:g(a)}}}),{result:h,modified:f}}c=" transform - to - sequence - expression ",e=b(" / lib / common . js ",a),d=e.Syntax,h.passName=c,a.exports=h}()}),b.define(" / lib / pass / transform - to - compound - assignment . js ",function(a,c,d,e){!function(c,d,e,f,g){function h(a,b){return a.type===b.type&&(a.type===d.Identifier&&a.name===b.name)}function i(a){switch(a){case" * ":case" / ":case" % ":case" + ":case" - ":case" << ":case" >> ":case" >>> ":case" & ":case" ^ ":case" | ":return a+" = "}return null}function j(a){switch(a){case" *= ":case" /= ":case" %= ":case" += ":case" -= ":case" <<= ":case" >>= ":case" >>>= ":case" &= ":case" ^= ":case" |= ":return a}return null}function k(a,b){var k,l,m;return k=b.get(" destructive ",{pathName:c})?a:e.deepCopy(a),g=!1,l=null,m=f.analyze(k,{directive:!0}),m.attach(),e.traverse(k,{enter:function(a){var b,c,e,f;l=m.acquire(a)||l,a.type===d.AssignmentExpression&&" = "===a.operator&&(b=a.left,c=a.right,c.type===d.BinaryExpression&&h(c.left,b)?(e=i(c.operator),e&&(g=!0,a.operator=e,a.right=c.right)):c.type===d.AssignmentExpression&&h(c.left,b)&&j(c.operator)&&(f=l.resolve(a.left),f.isStatic()&&(g=!0,a.operator=c.operator,a.right=c.right)))},leave:function(a){l=m.release(a)||l}}),m.detach(),{result:k,modified:g}}c=" transform - to - compound - assignment ",f=b(" / node_modules / escope / escope . js ",a),e=b(" / lib / common . js ",a),d=e.Syntax,k.passName=c,a.exports=k}()}),b.define(" / lib / pass / remove - wasted - blocks . js ",function(a,c,d,e){!function(c,d,e,f){function g(a){var b,c,g,h,i,j,k,l;for(i=[],b=0,c=a.length;b<c;++b)if(j=a[b],j.type===d.BlockStatement){for(l=!0,g=0,h=j.body.length;g<h;++g)k=j.body[g],e.isScopedDeclaration(k)&&(l=!1);l?(f=!0,i=i.concat(j.body)):i.push(j)}else i.push(j);return i}function h(a,b){var h;return h=b.get(" destructive ",{pathName:c})?a:e.deepCopy(a),f=!1,h=e.replace(h,{leave:function(a,b){var c,h,i;if(a.type===d.BlockStatement||a.type===d.Program)for(c=0,h=a.body.length;c<h;++c)if(i=a.body[c],i.type===d.BlockStatement){a.body=g(a.body);break}if(b.type!==d.FunctionDeclaration&&b.type!==d.FunctionExpression&&b.type!==d.TryStatement&&b.type!==d.CatchClause){for(;a.type===d.BlockStatement&&1===a.body.length&&!e.isScopedDeclaration(a.body[0]);)f=!0,a=a.body[0];return a.type===d.BlockStatement&&0===a.body.length?(f=!0,{type:d.EmptyStatement}):a}}}),{result:h,modified:f}}c=" remove - wasted - blocks ",e=b(" / lib / common . js ",a),d=e.Syntax,h.passName=c,a.exports=h}()}),b.define(" / lib / pass / remove - empty - statement . js ",function(a,c,d,e){!function(c,d,e,f){function g(a){var b,c,e,g;for(g=[],b=0,c=a.length;b<c;++b)e=a[b],e.type===d.EmptyStatement?f=!0:g.push(e);return g}function h(a){a.alternate&&(a.alternate.type===d.EmptyStatement?(f=!0,a.alternate=null):a.consequent.type===d.EmptyStatement&&(f=!0,a.consequent=a.alternate,a.alternate=null,a.test=e.moveLocation(a.test,{type:d.UnaryExpression,operator:" ! ",argument:a.test})))}function i(a,b){var i;return f=!1,i=b.get(" destructive ",{pathName:c})?a:e.deepCopy(a),e.traverse(i,{enter:function(a){var b;switch(a.type){case d.BlockStatement:case d.Program:a.body=g(a.body);break;case d.SwitchCase:a.consequent=g(a.consequent);break;case d.IfStatement:h(a);break;case d.SwitchStatement:a.cases.length&&(b=e.Array.last(a.cases),!b.test&&e.Array.empty(b.consequent)&&(f=!0,a.cases.pop()))}}}),{result:i,modified:f}}c=" remove - empty - statement ",e=b(" / lib / common . js ",a),d=e.Syntax,i.passName=c,a.exports=i}()}),b.define(" / lib / pass / remove - unused - label . js ",function(a,c,d,e){!function(c,d,e,f,g,h){function i(a){this.set=new e,this.unused=[],this.upper=a}function j(a,b){var e;return e=b.get(" destructive ",{pathName:c})?a:f.deepCopy(a),g=null,h=!1,e=f.replace(e,{enter:function(a){switch(a.type){case d.Program:case d.FunctionDeclaration:case d.FunctionExpression:g=new i(g);break;case d.LabeledStatement:g.register(a);break;case d.BreakStatement:case d.Co
a?this._monthsShortStrictRegex:this._monthsShortRegex):this._monthsShortStrictRegex&&a?this._monthsShortStrictRegex:this._monthsShortRegex}function ba(a){return this._monthsParseExact?(f(this," _monthsRegex ")||ca.call(this),a?this._monthsStrictRegex:this._monthsRegex):this._monthsStrictRegex&&a?this._monthsStrictRegex:this._monthsRegex}function ca(){function a(a,b){return b.length-a.length}var b,c,d=[],e=[],f=[];for(b=0;b<12;b++)c=h([2e3,b]),d.push(this.monthsShort(c,"")),e.push(this.months(c,"")),f.push(this.months(c,"")),f.push(this.monthsShort(c,""));for(d.sort(a),e.sort(a),f.sort(a),b=0;b<12;b++)d[b]=R(d[b]),e[b]=R(e[b]),f[b]=R(f[b]);this._monthsRegex=new RegExp(" ^ ( "+f.join(" | ")+" ) "," i "),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp(" ^ ( "+e.join(" | ")+" ) $ "," i "),this._monthsShortStrictRegex=new RegExp(" ^ ( "+d.join(" | ")+" ) $ "," i ")}function da(a){var b,c=a._a;return c&&j(a).overflow===-2&&(b=c[wd]<0||c[wd]>11?wd:c[xd]<1||c[xd]>V(c[vd],c[wd])?xd:c[yd]<0||c[yd]>24||24===c[yd]&&(0!==c[zd]||0!==c[Ad]||0!==c[Bd])?yd:c[zd]<0||c[zd]>59?zd:c[Ad]<0||c[Ad]>59?Ad:c[Bd]<0||c[Bd]>999?Bd:-1,j(a)._overflowDayOfYear&&(b<vd||b>xd)&&(b=xd),j(a)._overflowWeeks&&b===-1&&(b=Cd),j(a)._overflowWeekday&&b===-1&&(b=Dd),j(a).overflow=b),a}function ea(b){a.suppressDeprecationWarnings===!1&&" undefined "!=typeof console&&console.warn&&console.warn(" Deprecation warning : "+b)}function fa(a,b){var c=!0;return g(function(){return c&&(ea(a+" \ nArguments : "+Array.prototype.slice.call(arguments).join(" , ")+" \ n "+(new Error).stack),c=!1),b.apply(this,arguments)},b)}function ga(a,b){Jd[a]||(ea(b),Jd[a]=!0)}function ha(a){var b,c,d,e,f,g,h=a._i,i=Kd.exec(h)||Ld.exec(h);if(i){for(j(a).iso=!0,b=0,c=Nd.length;b<c;b++)if(Nd[b][1].exec(i[1])){e=Nd[b][0],d=Nd[b][2]!==!1;break}if(null==e)return void(a._isValid=!1);if(i[3]){for(b=0,c=Od.length;b<c;b++)if(Od[b][1].exec(i[3])){f=(i[2]||" ")+Od[b][0];break}if(null==f)return void(a._isValid=!1)}if(!d&&null!=f)return void(a._isValid=!1);if(i[4]){if(!Md.exec(i[4]))return void(a._isValid=!1);g=" Z "}a._f=e+(f||"")+(g||""),wa(a)}else a._isValid=!1}function ia(b){var c=Pd.exec(b._i);return null!==c?void(b._d=new Date(+c[1])):(ha(b),void(b._isValid===!1&&(delete b._isValid,a.createFromInputFallback(b))))}function ja(a,b,c,d,e,f,g){var h=new Date(a,b,c,d,e,f,g);return a<100&&a>=0&&isFinite(h.getFullYear())&&h.setFullYear(a),h}function ka(a){var b=new Date(Date.UTC.apply(null,arguments));return a<100&&a>=0&&isFinite(b.getUTCFullYear())&&b.setUTCFullYear(a),b}function la(a){return ma(a)?366:365}function ma(a){return a%4===0&&a%100!==0||a%400===0}function na(){return ma(this.year())}function oa(a,b,c){var d=7+b-c,e=(7+ka(a,0,d).getUTCDay()-b)%7;return-e+d-1}function pa(a,b,c,d,e){var f,g,h=(7+c-d)%7,i=oa(a,d,e),j=1+7*(b-1)+h+i;return j<=0?(f=a-1,g=la(f)+j):j>la(a)?(f=a+1,g=j-la(a)):(f=a,g=j),{year:f,dayOfYear:g}}function qa(a,b,c){var d,e,f=oa(a.year(),b,c),g=Math.floor((a.dayOfYear()-f-1)/7)+1;return g<1?(e=a.year()-1,d=g+ra(e,b,c)):g>ra(a.year(),b,c)?(d=g-ra(a.year(),b,c),e=a.year()+1):(e=a.year(),d=g),{week:d,year:e}}function ra(a,b,c){var d=oa(a,b,c),e=oa(a+1,b,c);return(la(a)-d+e)/7}function sa(a,b,c){return null!=a?a:null!=b?b:c}function ta(b){var c=new Date(a.now());return b._useUTC?[c.getUTCFullYear(),c.getUTCMonth(),c.getUTCDate()]:[c.getFullYear(),c.getMonth(),c.getDate()]}function ua(a){var b,c,d,e,f=[];if(!a._d){for(d=ta(a),a._w&&null==a._a[xd]&&null==a._a[wd]&&va(a),a._dayOfYear&&(e=sa(a._a[vd],d[vd]),a._dayOfYear>la(e)&&(j(a)._overflowDayOfYear=!0),c=ka(e,0,a._dayOfYear),a._a[wd]=c.getUTCMonth(),a._a[xd]=c.getUTCDate()),b=0;b<3&&null==a._a[b];++b)a._a[b]=f[b]=d[b];for(;b<7;b++)a._a[b]=f[b]=null==a._a[b]?2===b?1:0:a._a[b];24===a._a[yd]&&0===a._a[zd]&&0===a._a[Ad]&&0===a._a[Bd]&&(a._nextDay=!0,a._a[yd]=0),a._d=(a._useUTC?ka:ja).apply(null,f),null!=a._tzm&&a._d.setUTCMinutes(a._d.getUTCMinutes()-a._tzm),a._nextDay&&(a._a[yd]=24)}}function va(a){var b,c,d,e,f,g,h,i;b=a._w,null!=b.GG||null!=b.W||null!=b.E?(f=1,g=4,c=sa(b.GG,a._a[vd],qa(Ea(),1,4).year),d=sa(b.W,1),e=sa(b.E,1),(e<1||e>7)&&(i=!0)):(f=a.
re.monthsParse=Y,re._monthsRegex=Id,re.monthsRegex=ba,re._monthsShortRegex=Hd,re.monthsShortRegex=aa,re.week=Qb,re._week=$d,re.firstDayOfYear=Sb,re.firstDayOfWeek=Rb,re.weekdays=Wb,re._weekdays=ae,re.weekdaysMin=Yb,re._weekdaysMin=ce,re.weekdaysShort=Xb,re._weekdaysShort=be,re.weekdaysParse=Zb,re.isPM=fc,re._meridiemParse=de,re.meridiem=gc,x(" en ",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(a){var b=a%10,c=1===r(a%100/10)?" th ":1===b?" st ":2===b?" nd ":3===b?" rd ":" th ";return a+c}}),a.lang=fa(" moment . lang is deprecated . Use moment . locale instead . ",x),a.langData=fa(" moment . langData is deprecated . Use moment . localeData instead . ",z);var se=Math.abs,te=Lc(" ms "),ue=Lc(" s "),ve=Lc(" m "),we=Lc(" h "),xe=Lc(" d "),ye=Lc(" w "),ze=Lc(" M "),Ae=Lc(" y "),Be=Nc(" milliseconds "),Ce=Nc(" seconds "),De=Nc(" minutes "),Ee=Nc(" hours "),Fe=Nc(" days "),Ge=Nc(" months "),He=Nc(" years "),Ie=Math.round,Je={s:45,m:45,h:22,d:26,M:11},Ke=Math.abs,Le=Ia.prototype;Le.abs=Bc,Le.add=Dc,Le.subtract=Ec,Le.as=Jc,Le.asMilliseconds=te,Le.asSeconds=ue,Le.asMinutes=ve,Le.asHours=we,Le.asDays=xe,Le.asWeeks=ye,Le.asMonths=ze,Le.asYears=Ae,Le.valueOf=Kc,Le._bubble=Gc,Le.get=Mc,Le.milliseconds=Be,Le.seconds=Ce,Le.minutes=De,Le.hours=Ee,Le.days=Fe,Le.weeks=Oc,Le.months=Ge,Le.years=He,Le.humanize=Sc,Le.toISOString=Tc,Le.toString=Tc,Le.toJSON=Tc,Le.locale=ub,Le.localeData=vb,Le.toIsoString=fa(" toIsoString () is deprecated . Please use toISOString () instead ( notice the capitals ) ",Tc),Le.lang=Zd,J(" X ",0,0," unix "),J(" x ",0,0," valueOf "),O(" x ",od),O(" X ",rd),S(" X ",function(a,b,c){c._d=new Date(1e3*parseFloat(a,10))}),S(" x ",function(a,b,c){c._d=new Date(r(a))}),a.version=" 2.11 . 2 ",b(Ea),a.fn=ke,a.min=Ga,a.max=Ha,a.now=Td,a.utc=h,a.unix=kc,a.months=wc,a.isDate=d,a.locale=x,a.invalid=l,a.duration=Za,a.isMoment=p,a.weekdays=yc,a.parseZone=lc,a.localeData=z,a.isDuration=Ja,a.monthsShort=xc,a.weekdaysMin=Ac,a.defineLocale=y,a.weekdaysShort=zc,a.normalizeUnits=B,a.relativeTimeThreshold=Rc,a.prototype=ke;var Me=a;return Me}),/** @license
2016-11-28 10:42:58 +00:00
========================================================================
moment-timezone.js
version : 0.4.1
authors : Tim Wood
license : MIT
github.com/moment/moment-timezone
*/
function(a,b){" function "==typeof define&&define.amd?define([" moment "],b):" object "==typeof exports?module.exports=b(require(" moment ")):b(a.moment)}(this,function(a){function b(a){return a>96?a-87:a>64?a-29:a-48}function c(a){var c,d=0,e=a.split(" . "),f=e[0],g=e[1]||"",h=1,i=0,j=1;for(45===a.charCodeAt(0)&&(d=1,j=-1),d;d<f.length;d++)c=b(f.charCodeAt(d)),i=60*i+c;for(d=0;d<g.length;d++)h/=60,c=b(g.charCodeAt(d)),i+=c*h;return i*j}function d(a){for(var b=0;b<a.length;b++)a[b]=c(a[b])}function e(a,b){for(var c=0;c<b;c++)a[c]=Math.round((a[c-1]||0)+6e4*a[c]);a[b-1]=1/0}function f(a,b){var c,d=[];for(c=0;c<b.length;c++)d[c]=a[b[c]];return d}function g(a){var b=a.split(" | "),c=b[2].split(" "),g=b[3].split(""),h=b[4].split(" ");return d(c),d(g),d(h),e(h,g.length),{name:b[0],abbrs:f(b[1].split(" "),g),offsets:f(c,g),untils:h}}function h(a){a&&this._set(g(a))}function i(a){return(a||"").toLowerCase().replace(/\//g," _ ")}function j(a){var b,c,d;for(" string "==typeof a&&(a=[a]),b=0;b<a.length;b++)c=a[b].split(" | ")[0],d=i(c),v[d]=a[b],x[d]=c}function k(a,b){a=i(a);var c,d=v[a];return d instanceof h?d:" string "==typeof d?(d=new h(d),v[a]=d,d):w[a]&&b!==k&&(c=k(w[a],k))?(d=v[a]=new h,d._set(c),d.name=x[a],d):null}function l(){var a,b=[];for(a in x)x.hasOwnProperty(a)&&(v[a]||v[w[a]])&&x[a]&&b.push(x[a]);return b.sort()}function m(a){var b,c,d,e;for(" string "==typeof a&&(a=[a]),b=0;b<a.length;b++)c=a[b].split(" | "),d=i(c[0]),e=i(c[1]),w[d]=e,x[d]=c[0],w[e]=d,x[e]=c[1]}function n(a){j(a.zones),m(a.links),r.dataVersion=a.version}function o(a){return o.didShowError||(o.didShowError=!0,q(" moment . tz . zoneExists ( '"+a+"' ) has been deprecated in favor of ! moment . tz . zone ( '"+a+"' ) ")),!!k(a)}function p(a){return!(!a._a||void 0!==a._tzm)}function q(a){" undefined "!=typeof console&&" function "==typeof console.error&&console.error(a)}function r(b){var c=Array.prototype.slice.call(arguments,0,-1),d=arguments[arguments.length-1],e=k(d),f=a.utc.apply(null,c);return e&&!a.isMoment(b)&&p(f)&&f.add(e.parse(f)," minutes "),f.tz(d),f}function s(a){return function(){return this._z?this._z.abbr(this):a.call(this)}}function t(a){return function(){return this._z=null,a.apply(this,arguments)}}if(void 0!==a.tz)return q(" Moment Timezone "+a.tz.version+" was already loaded "+(a.tz.dataVersion?" with data from ":" without any data ")+a.tz.dataVersion),a;var u=" 0.4 . 1 ",v={},w={},x={},y=a.version.split(" . "),z=+y[0],A=+y[1];(z<2||2===z&&A<6)&&q(" Moment Timezone requires Moment . js >= 2.6 . 0. You are using Moment . js "+a.version+" . See momentjs . com "),h.prototype={_set:function(a){this.name=a.name,this.abbrs=a.abbrs,this.untils=a.untils,this.offsets=a.offsets},_index:function(a){var b,c=+a,d=this.untils;for(b=0;b<d.length;b++)if(c<d[b])return b},parse:function(a){var b,c,d,e,f=+a,g=this.offsets,h=this.untils,i=h.length-1;for(e=0;e<i;e++)if(b=g[e],c=g[e+1],d=g[e?e-1:e],b<c&&r.moveAmbiguousForward?b=c:b>d&&r.moveInvalidForward&&(b=d),f<h[e]-6e4*b)return g[e];return g[i]},abbr:function(a){return this.abbrs[this._index(a)]},offset:function(a){return this.offsets[this._index(a)]}},r.version=u,r.dataVersion="",r._zones=v,r._links=w,r._names=x,r.add=j,r.link=m,r.load=n,r.zone=k,r.zoneExists=o,r.names=l,r.Zone=h,r.unpack=g,r.unpackBase60=c,r.needsOffset=p,r.moveInvalidForward=!0,r.moveAmbiguousForward=!1;var B=a.fn;a.tz=r,a.defaultZone=null,a.updateOffset=function(b,c){var d,e=a.defaultZone;void 0===b._z&&(e&&p(b)&&!b._isUTC&&(b._d=a.utc(b._a)._d,b.utc().add(e.parse(b)," minutes ")),b._z=e),b._z&&(d=b._z.offset(b),Math.abs(d)<16&&(d/=60),void 0!==b.utcOffset?b.utcOffset(-d,c):b.zone(d,c))},B.tz=function(b){return b?(this._z=k(b),this._z?a.updateOffset(this):q(" Moment Timezone has no data for "+b+" . See http : //momentjs.com/timezone/docs/#/data-loading/."),this):this._z?this._z.name:void 0},B.zoneName=s(B.zoneName),B.zoneAbbr=s(B.zoneAbbr),B.utc=t(B.utc),a.tz.setDefault=function(b){return(z<2||2===z&&A<9)&&q("Moment Timezone setDefault() requires Moment.js >= 2.9.0. You are using Moment.js "+a.version+"."),a.defaultZone=b?k(b):null,a};var C=a.momentProperties;return"[object Array]"===Object.prototype.
links : [ "Africa/Abidjan|Africa/Bamako" , "Africa/Abidjan|Africa/Banjul" , "Africa/Abidjan|Africa/Conakry" , "Africa/Abidjan|Africa/Dakar" , "Africa/Abidjan|Africa/Freetown" , "Africa/Abidjan|Africa/Lome" , "Africa/Abidjan|Africa/Nouakchott" , "Africa/Abidjan|Africa/Ouagadougou" , "Africa/Abidjan|Africa/Sao_Tome" , "Africa/Abidjan|Africa/Timbuktu" , "Africa/Abidjan|Atlantic/St_Helena" , "Africa/Addis_Ababa|Africa/Asmara" , "Africa/Addis_Ababa|Africa/Asmera" , "Africa/Addis_Ababa|Africa/Dar_es_Salaam" , "Africa/Addis_Ababa|Africa/Djibouti" , "Africa/Addis_Ababa|Africa/Kampala" , "Africa/Addis_Ababa|Africa/Mogadishu" , "Africa/Addis_Ababa|Africa/Nairobi" , "Africa/Addis_Ababa|Indian/Antananarivo" , "Africa/Addis_Ababa|Indian/Comoro" , "Africa/Addis_Ababa|Indian/Mayotte" , "Africa/Bangui|Africa/Brazzaville" , "Africa/Bangui|Africa/Douala" , "Africa/Bangui|Africa/Kinshasa" , "Africa/Bangui|Africa/Lagos" , "Africa/Bangui|Africa/Libreville" , "Africa/Bangui|Africa/Luanda" , "Africa/Bangui|Africa/Malabo" , "Africa/Bangui|Africa/Niamey" , "Africa/Bangui|Africa/Porto-Novo" , "Africa/Blantyre|Africa/Bujumbura" , "Africa/Blantyre|Africa/Gaborone" , "Africa/Blantyre|Africa/Harare" , "Africa/Blantyre|Africa/Kigali" , "Africa/Blantyre|Africa/Lubumbashi" , "Africa/Blantyre|Africa/Lusaka" , "Africa/Blantyre|Africa/Maputo" , "Africa/Cairo|Egypt" , "Africa/Johannesburg|Africa/Maseru" , "Africa/Johannesburg|Africa/Mbabane" , "Africa/Juba|Africa/Khartoum" , "Africa/Tripoli|Libya" , "America/Adak|America/Atka" , "America/Adak|US/Aleutian" , "America/Anchorage|US/Alaska" , "America/Anguilla|America/Antigua" , "America/Anguilla|America/Dominica" , "America/Anguilla|America/Grenada" , "America/Anguilla|America/Guadeloupe" , "America/Anguilla|America/Marigot" , "America/Anguilla|America/Montserrat" , "America/Anguilla|America/Port_of_Spain" , "America/Anguilla|America/St_Barthelemy" , "America/Anguilla|America/St_Kitts" , "America/Anguilla|America/St_Lucia" , "America/Anguilla|America/St_Thomas" , "America/Anguilla|America/St_Vincent" , "America/Anguilla|America/Tortola" , "America/Anguilla|America/Virgin" , "America/Argentina/Buenos_Aires|America/Buenos_Aires" , "America/Argentina/Catamarca|America/Argentina/ComodRivadavia" , "America/Argentina/Catamarca|America/Catamarca" , "America/Argentina/Cordoba|America/Cordoba" , "America/Argentina/Cordoba|America/Rosario" , "America/Argentina/Jujuy|America/Jujuy" , "America/Argentina/Mendoza|America/Mendoza" , "America/Aruba|America/Curacao" , "America/Aruba|America/Kralendijk" , "America/Aruba|America/Lower_Princes" , "America/Atikokan|America/Coral_Harbour" , "America/Chicago|US/Central" , "America/Denver|America/Shiprock" , "America/Denver|Navajo" , "America/Denver|US/Mountain" , "America/Detroit|US/Michigan" , "America/Edmonton|Canada/Mountain" , "America/Ensenada|America/Tijuana" , "America/Ensenada|Mexico/BajaNorte" , "America/Fort_Wayne|America/Indiana/Indianapolis" , "America/Fort_Wayne|America/Indianapolis" , "America/Fort_Wayne|US/East-Indiana" , "America/Halifax|Canada/Atlantic" , "America/Havana|Cuba" , "America/Indiana/Knox|America/Knox_IN" , "America/Indiana/Knox|US/Indiana-Starke" , "America/Jamaica|Jamaica" , "America/Kentucky/Louisville|America/Louisville" , "America/Los_Angeles|US/Pacific" , "America/Los_Angeles|US/Pacific-New" , "America/Manaus|Brazil/West" , "America/Mazatlan|Mexico/BajaSur" , "America/Mexico_City|Mexico/General" , "America/Montreal|America/Toronto" , "America/Montreal|Canada/Eastern" , "America/New_York|US/Eastern" , "America/Noronha|Brazil/DeNoronha" , "America/Phoenix|US/Arizona" , "America/Porto_Acre|America/Rio_Branco" , "America/Porto_Acre|Brazil/Acre" , "America/Regina|Canada/East-Saskatchewan" , "America/Regina|Canada/Saskatchewan" , "America/Santiago|Chile/Continental" , "America/Sao_Paulo|Brazil/East" , "America/St_Johns|Canada/Newfoundland" , "America/Vancouver|Canada/Pacific" , "America/Whitehorse|Canada/Yukon" , "America/Winnipeg|Canada/Central" , "Antarctica/McMurdo|Antarctica/South_Pole" , "Antarctica/McMurdo|NZ" , "Antarctica/McMurdo|Pacific/Auckland" , "Arctic/Longyearbyen|Atlantic/Jan_Mayen" , "Arctic/Longyearbyen|Europe/Oslo" , "Asia/Aden|Asia/Kuwait" , "Asia/Aden|Asia/Riyadh" , "Asia/Ashgabat|Asia/Ashkhabad" , "Asia/Bahrain|Asia/Qatar" , "Asia/Bangkok|Asia/Phnom_Penh" , "Asia/B
========================================================================
Google Code Prettify
Copyright (C) 2006 Google Inc.
Licensed under the Apache License, Version 2.0 (the " License ");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an " AS IS " BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
var IN_GLOBAL_SCOPE=!0;window.PR_SHOULD_USE_CONTINUATION=!0;var prettyPrintOne,prettyPrint;!function(){function a(a){function b(a){var b=a.charCodeAt(0);if(92!==b)return b;var c=a.charAt(1);return b=l[c],b?b:" 0 "<=c&&c<=" 7 "?parseInt(a.substring(1),8):" u "===c||" x "===c?parseInt(a.substring(2),16):a.charCodeAt(1)}function c(a){if(a<32)return(a<16?" \\ x0 ":" \\ x ")+a.toString(16);var b=String.fromCharCode(a);return" \\ "===b||" - "===b||" ] "===b||" ^ "===b?" \\ "+b:b}function d(a){var d=a.substring(1,a.length-1).match(new RegExp(" \\\\ u [ 0 - 9 A - Fa - f ]{ 4 } | \\\\ x [ 0 - 9 A - Fa - f ]{ 2 } | \\\\ [ 0 - 3 ][ 0 - 7 ]{ 0 , 2 } | \\\\ [ 0 - 7 ]{ 1 , 2 } | \\\\ [ \\ s \\ S ] |-| [ ^- \\\\ ] "," g ")),e=[],f=" ^ "===d[0],g=[" [ "];f&&g.push(" ^ ");for(var h=f?1:0,i=d.length;h<i;++h){var j=d[h];if(/\\[bdsw]/i.test(j))g.push(j);else{var k,l=b(j);h+2<i&&" - "===d[h+1]?(k=b(d[h+2]),h+=2):k=l,e.push([l,k]),k<65||l>122||(k<65||l>90||e.push([32|Math.max(65,l),32|Math.min(k,90)]),k<97||l>122||e.push([Math.max(97,l)&-33,Math.min(k,122)&-33]))}}e.sort(function(a,b){return a[0]-b[0]||b[1]-a[1]});for(var m=[],n=[],h=0;h<e.length;++h){var o=e[h];o[0]<=n[1]+1?n[1]=Math.max(n[1],o[1]):m.push(n=o)}for(var h=0;h<m.length;++h){var o=m[h];g.push(c(o[0])),o[1]>o[0]&&(o[1]+1>o[0]&&g.push(" - "),g.push(c(o[1])))}return g.push(" ] "),g.join("")}function e(a){for(var b=a.source.match(new RegExp(" ( ?: \\ [( ?: [ ^ \\ x5C \\ x5D ] | \\\\ [ \\ s \\ S ]) * \\ ] | \\\\ u [ A - Fa - f0 - 9 ]{ 4 } | \\\\ x [ A - Fa - f0 - 9 ]{ 2 } | \\\\ [ 0 - 9 ] +| \\\\ [ ^ ux0 - 9 ] | \\ ( \\ ? [ :!= ] | [ \\ ( \\ ) \\ ^ ] | [ ^ \\ x5B \\ x5C \\ ( \\ ) \\ ^ ] + ) "," g ")),e=b.length,h=[],i=0,j=0;i<e;++i){var k=b[i];if(" ( "===k)++j;else if(" \\ "===k.charAt(0)){var l=+k.substring(1);l&&(l<=j?h[l]=-1:b[i]=c(l))}}for(var i=1;i<h.length;++i)-1===h[i]&&(h[i]=++f);for(var i=0,j=0;i<e;++i){var k=b[i];if(" ( "===k)++j,h[j]||(b[i]=" ( ?: ");else if(" \\ "===k.charAt(0)){var l=+k.substring(1);l&&l<=j&&(b[i]=" \\ "+h[l])}}for(var i=0;i<e;++i)" ^ "===b[i]&&" ^ "!==b[i+1]&&(b[i]="");if(a.ignoreCase&&g)for(var i=0;i<e;++i){var k=b[i],m=k.charAt(0);k.length>=2&&" [ "===m?b[i]=d(k):" \\ "!==m&&(b[i]=k.replace(/[a-zA-Z]/g,function(a){var b=a.charCodeAt(0);return" [ "+String.fromCharCode(b&-33,32|b)+" ] "}))}return b.join("")}for(var f=0,g=!1,h=!1,i=0,j=a.length;i<j;++i){var k=a[i];if(k.ignoreCase)h=!0;else if(/[a-z]/i.test(k.source.replace(/\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi,""))){g=!0,h=!1;break}}for(var l={b:8,t:9,n:10,v:11,f:12,r:13},m=[],i=0,j=a.length;i<j;++i){var k=a[i];if(k.global||k.multiline)throw new Error(""+k);m.push(" ( ?: "+e(k)+" ) ")}return new RegExp(m.join(" | "),h?" gi ":" g ")}function b(a,b){function c(a){var i=a.nodeType;if(1==i){if(d.test(a.className))return;for(var j=a.firstChild;j;j=j.nextSibling)c(j);var k=a.nodeName.toLowerCase();" br "!==k&&" li "!==k||(e[h]=" \ n ",g[h<<1]=f++,g[h++<<1|1]=a)}else if(3==i||4==i){var l=a.nodeValue;l.length&&(l=b?l.replace(/\r\n?/g," \ n "):l.replace(/[ \t\r\n]+/g," "),e[h]=l,g[h<<1]=f,f+=l.length,g[h++<<1|1]=a)}}var d=/(?:^|\s)nocode(?:\s|$)/,e=[],f=0,g=[],h=0;return c(a),{sourceCode:e.join("").replace(/\n$/,""),spans:g}}function c(a,b,c,d){if(b){var e={sourceCode:b,basePos:a};c(e),d.push.apply(d,e.decorations)}}function d(a){for(var b=void 0,c=a.firstChild;c;c=c.nextSibling){var d=c.nodeType;b=1===d?b?a:c:3===d&&R.test(c.nodeValue)?a:b}return b===a?void 0:b}function e(b,d){var e,f={};!function(){for(var c=b.concat(d),g=[],h={},i=0,j=c.length;i<j;++i){var k=c[i],l=k[3];if(l)for(var m=l.length;--m>=0;)f[l.charAt(m)]=k;var n=k[1],o=""+n;h.hasOwnProperty(o)||(g.push(n),h[o]=null)}g.push(/[\0-\uffff]/),e=a(g)}();var g=d.length,h=function(a){for(var b=a.sourceCode,i=a.basePos,k=[i,J],l=0,m=b.match(e)||[],n={},o=0,p=m.length;o<p;++o){var q,r=m[o],s=n[r],t=void 0;if(" string "==typeof s)q=!1;else{var u=f[r.charAt(0)];if(u)t=r.match(u[1]),s=u[0];else{for(var v=0;v<g;++v)if(u=d[v],t=r.match(u[1])){s=u[0];break}t||(s=J)}q=s.length>=5&&" lang - "===s.substring(0,5),!q||t&&" string "==typeof t[1]||(q=!1,s=M),q||(n[r]=s)}var w=l;if(l+=r.length,q){var x=t[1],y=r.indexOf(x),z=y+x.length;t[2]&&(z=r.length-t[2].length,y=z-x.length);var A=s.substring(5);c(i+w,r.substring(0,y),h,k),c(i+w+y,x,j(A,x),k),c(i+w+z,r.substring(z),h,k)}else k.push(i+w,s)}a.decorations=k};return h}functi
========================================================================
vkBeautify - javascript plugin to pretty-print or minify text in XML, JSON, CSS and SQL formats.
Version - 0.99.00.beta
Copyright (c) 2012 Vadim Kiryukhin
vkiryukhin @ gmail.com
http://www.eslinstructor.net/vkbeautify/
Dual licensed under the MIT and GPL licenses:
http://www.opensource.org/licenses/mit-license.php
http://www.gnu.org/licenses/gpl.html
*/
function(){function a(a){var b=" ";if(isNaN(parseInt(a)))b=a;else switch(a){case 1:b=" ";break;case 2:b=" ";break;case 3:b=" ";break;case 4:b=" ";break;case 5:b=" ";break;case 6:b=" ";break;case 7:b=" ";break;case 8:b=" ";break;case 9:b=" ";break;case 10:b=" ";break;case 11:b=" ";break;case 12:b=" "}for(var c=[" \ n "],d=0;d<100;d++)c.push(c[d]+b);return c}function b(){this.step=" ",this.shift=a(this.step)}function c(a,b){return b-(a.replace(/\(/g,"").length-a.replace(/\)/g,"").length)}function d(a,b){return a.replace(/\s{1,}/g," ").replace(/ AND /gi," ~::~ "+b+b+" AND ").replace(/ BETWEEN /gi," ~::~ "+b+" BETWEEN ").replace(/ CASE /gi," ~::~ "+b+" CASE ").replace(/ ELSE /gi," ~::~ "+b+" ELSE ").replace(/ END /gi," ~::~ "+b+" END ").replace(/ FROM /gi," ~::~ FROM ").replace(/ GROUP\s{1,}BY/gi," ~::~ GROUP BY ").replace(/ HAVING /gi," ~::~ HAVING ").replace(/ IN /gi," IN ").replace(/ JOIN /gi," ~::~ JOIN ").replace(/ CROSS~::~{1,}JOIN /gi," ~::~ CROSS JOIN ").replace(/ INNER~::~{1,}JOIN /gi," ~::~ INNER JOIN ").replace(/ LEFT~::~{1,}JOIN /gi," ~::~ LEFT JOIN ").replace(/ RIGHT~::~{1,}JOIN /gi," ~::~ RIGHT JOIN ").replace(/ ON /gi," ~::~ "+b+" ON ").replace(/ OR /gi," ~::~ "+b+b+" OR ").replace(/ ORDER\s{1,}BY/gi," ~::~ ORDER BY ").replace(/ OVER /gi," ~::~ "+b+" OVER ").replace(/\(\s{0,}SELECT /gi," ~::~ ( SELECT ").replace(/\)\s{0,}SELECT /gi," ) ~::~ SELECT ").replace(/ THEN /gi," THEN ~::~ "+b).replace(/ UNION /gi," ~::~ UNION ~::~ ").replace(/ USING /gi," ~::~ USING ").replace(/ WHEN /gi," ~::~ "+b+" WHEN ").replace(/ WHERE /gi," ~::~ WHERE ").replace(/ WITH /gi," ~::~ WITH ").replace(/ ALL /gi," ALL ").replace(/ AS /gi," AS ").replace(/ ASC /gi," ASC ").replace(/ DESC /gi," DESC ").replace(/ DISTINCT /gi," DISTINCT ").replace(/ EXISTS /gi," EXISTS ").replace(/ NOT /gi," NOT ").replace(/ NULL /gi," NULL ").replace(/ LIKE /gi," LIKE ").replace(/\s{0,}SELECT /gi," SELECT ").replace(/\s{0,}UPDATE /gi," UPDATE ").replace(/ SET /gi," SET ").replace(/~::~{1,}/g," ~::~ ").split(" ~::~ ")}b.prototype.xml=function(b,c){var d=b.replace(/>\s{0,}</g," >< ").replace(/</g," ~::~< ").replace(/\s*xmlns\:/g," ~::~ xmlns : ").replace(/\s*xmlns\=/g," ~::~ xmlns = ").split(" ~::~ "),e=d.length,f=!1,g=0,h="",i=0,j=c?a(c):this.shift;for(i=0;i<e;i++)d[i].search(/<!/)>-1?(h+=j[g]+d[i],f=!0,(d[i].search(/-->/)>-1||d[i].search(/\]>/)>-1||d[i].search(/!DOCTYPE/)>-1)&&(f=!1)):d[i].search(/-->/)>-1||d[i].search(/\]>/)>-1?(h+=d[i],f=!1):/^<\w/.exec(d[i-1])&&/^<\/\w/.exec(d[i])&&/^<[\w:\-\.\,]+/.exec(d[i-1])==/^<\/[\w:\-\.\,]+/.exec(d[i])[0].replace(" / ","")?(h+=d[i],f||g--):d[i].search(/<\w/)>-1&&d[i].search(/<\//)==-1&&d[i].search(/\/>/)==-1?h=h+=f?d[i]:j[g++]+d[i]:d[i].search(/<\w/)>-1&&d[i].search(/<\//)>-1?h=h+=f?d[i]:j[g]+d[i]:d[i].search(/<\//)>-1?h=h+=f?d[i]:j[--g]+d[i]:d[i].search(/\/>/)>-1?h=h+=f?d[i]:j[g]+d[i]:h+=d[i].search(/<\?/)>-1?j[g]+d[i]:d[i].search(/xmlns\:/)>-1||d[i].search(/xmlns\=/)>-1?j[g]+d[i]:d[i];return" \ n "==h[0]?h.slice(1):h},b.prototype.json=function(a,b){var b=b?b:this.step;return" undefined "==typeof JSON?a:" string "==typeof a?JSON.stringify(JSON.parse(a),null,b):" object "==typeof a?JSON.stringify(a,null,b):a},b.prototype.css=function(b,c){var d=b.replace(/\s{1,}/g," ").replace(/\{/g," { ~::~ ").replace(/\}/g," ~::~ } ~::~ ").replace(/\;/g," ; ~::~ ").replace(/\/\*/g," ~::~ /*").replace(/\*\//g,"*/ ~::~ ").replace(/~::~\s{0,}~::~/g," ~::~ ").split(" ~::~ "),e=d.length,f=0,g="",h=0,i=c?a(c):this.shift;for(h=0;h<e;h++)g+=/\{/.exec(d[h])?i[f++]+d[h]:/\}/.exec(d[h])?i[--f]+d[h]:/\*\\/.exec(d[h])?i[f]+d[h]:i[f]+d[h];return g.replace(/^\n{1,}/,"")},b.prototype.sql=function(b,e){var f=b.replace(/\s{1,}/g," ").replace(/\'/gi," ~::~ '").split("~::~"),g=f.length,h=[],i=0,j=this.step,k=0,l="",m=0,n=e?a(e):this.shift;for(m=0;m<g;m++)h=m%2?h.concat(f[m]):h.concat(d(f[m],j));for(g=h.length,m=0;m<g;m++){k=c(h[m],k),/\s{0,}\s{0,}SELECT\s{0,}/.exec(h[m])&&(h[m]=h[m].replace(/\,/g,",\n"+j+j)),/\s{0,}\s{0,}SET\s{0,}/.exec(h[m])&&(h[m]=h[m].replace(/\,/g,",\n"+j+j)),/\s{0,}\(\s{0,}SELECT\s{0,}/.exec(h[m])?(i++,l+=n[i]+h[m]):/\'/.exec(h[m])?(k<1&&i&&i--,l+=h[m]):(l+=n[i]+h[m],
========================================================================
Sortable
@author RubaXa <trash@rubaxa.org>
@license MIT
*/
2016-12-20 18:49:25 +00:00
function(a){"function"==typeof define&&define.amd?define(a):"undefined"!=typeof module&&"undefined"!=typeof module.exports?module.exports=a():"undefined"!=typeof Package?Sortable=a():window.Sortable=a()}(function(){function a(a,b){if(!a||!a.nodeType||1!==a.nodeType)throw"Sortable: `el` must be HTMLElement, and not "+{}.toString.call(a);this.el=a,this.options=b=s({},b),a[M]=this;var c={group:Math.random(),sort:!0,disabled:!1,store:null,handle:null,scroll:!0,scrollSensitivity:30,scrollSpeed:10,draggable:/[uo]l/i.test(a.nodeName)?"li":">*",ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",ignore:"a, img",filter:null,animation:0,setData:function(a,b){a.setData("Text",b.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1};for(var d in c)!(d in b)&&(b[d]=c[d]);W(b);for(var f in this)"_"===f.charAt(0)&&(this[f]=this[f].bind(this));this.nativeDraggable=!b.forceFallback&&Q,e(a,"mousedown",this._onTapStart),e(a,"touchstart",this._onTapStart),this.nativeDraggable&&(e(a,"dragover",this),e(a,"dragenter",this)),U.push(this._onDragOver),b.store&&this.sort(b.store.get(this))}function b(a){w&&w.state!==a&&(h(w,"display",a?"none":""),!a&&w.state&&x.insertBefore(w,t),w.state=a)}function c(a,b,c){if(a){c=c||O;do if(">*"===b&&a.parentNode===c||q(a,b))return a;while(a!==c&&(a=a.parentNode))}return null}function d(a){a.dataTransfer&&(a.dataTransfer.dropEffect="move"),a.preventDefault()}function e(a,b,c){a.addEventListener(b,c,!1)}function f(a,b,c){a.removeEventListener(b,c,!1)}function g(a,b,c){if(a)if(a.classList)a.classList[c?"add":"remove"](b);else{var d=(" "+a.className+" ").replace(L," ").replace(" "+b+" "," ");a.className=(d+(c?" "+b:"")).replace(L," ")}}function h(a,b,c){var d=a&&a.style;if(d){if(void 0===c)return O.defaultView&&O.defaultView.getComputedStyle?c=O.defaultView.getComputedStyle(a,""):a.currentStyle&&(c=a.currentStyle),void 0===b?c:c[b];b in d||(b="-webkit-"+b),d[b]=c+("string"==typeof c?"":"px")}}function i(a,b,c){if(a){var d=a.getElementsByTagName(b),e=0,f=d.length;if(c)for(;e<f;e++)c(d[e],e);return d}return[]}function j(a,b,c,d,e,f,g){var h=O.createEvent("Event"),i=(a||b[M]).options,j="on"+c.charAt(0).toUpperCase()+c.substr(1);h.initEvent(c,!0,!0),h.to=b,h.from=e||b,h.item=d||b,h.clone=w,h.oldIndex=f,h.newIndex=g,b.dispatchEvent(h),i[j]&&i[j].call(a,h)}function k(a,b,c,d,e,f){var g,h,i=a[M],j=i.options.onMove;return g=O.createEvent("Event"),g.initEvent("move",!0,!0),g.to=b,g.from=a,g.dragged=c,g.draggedRect=d,g.related=e||b,g.relatedRect=f||b.getBoundingClientRect(),a.dispatchEvent(g),j&&(h=j.call(i,g)),h}function l(a){a.draggable=!1}function m(){S=!1}function n(a,b){var c=a.lastElementChild,d=c.getBoundingClientRect();return(b.clientY-(d.top+d.height)>5||b.clientX-(d.right+d.width)>5)&&c}function o(a){for(var b=a.tagName+a.className+a.src+a.href+a.textContent,c=b.length,d=0;c--;)d+=b.charCodeAt(c);return d.toString(36)}function p(a,b){var c=0;if(!a||!a.parentNode)return-1;for(;a&&(a=a.previousElementSibling);)"TEMPLATE"!==a.nodeName.toUpperCase()&&q(a,b)&&c++;return c}function q(a,b){if(a){b=b.split(".");var c=b.shift().toUpperCase(),d=new RegExp("\\s("+b.join("|")+")(?=\\s)","g");return!(""!==c&&a.nodeName.toUpperCase()!=c||b.length&&((" "+a.className+" ").match(d)||[]).length!=b.length)}return!1}function r(a,b){var c,d;return function(){void 0===c&&(c=arguments,d=this,setTimeout(function(){1===c.length?a.call(d,c[0]):a.apply(d,c),c=void 0},b))}}function s(a,b){if(a&&b)for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c]);return a}if("undefined"==typeof window||"undefined"==typeof window.document)return function(){throw new Error("Sortable.js requires a window with a document")};var t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K={},L=/\s+/g,M="Sortable"+(new Date).getTime(),N=window,O=N.document,P=N.parseInt,Q=!!("draggable"in O.createElement("div")),R=function(a){return a=O.createElement("x"),a.style.cssText="pointer-events:auto","auto"===a.style.pointerEvents}(),S=!1,T=Math.abs,U=([].slice,[]),V=r(function(a,b,c){if(c&&b.scroll){var d
========================================================================
XPath.js - Pure JavaScript implementation of XPath 2.0 parser and evaluator
Copyright (c) 2012 Sergey Ilinsky
Dual licensed under the MIT and GPL licenses.
*/
2016-12-20 20:18:16 +00:00
function(){function a(a){this.code=a,this.message=Vc[a]}function b(b){var c=b.match(/\$?(?:(?![0-9-])(?:\w[\w.-]*|\*):)?(?![0-9-])(?:\w[\w.-]*|\*)|\(:|:\)|\/\/|\.\.|::|\d+(?:\.\d*)?(?:[eE][+-]?\d+)?|\.\d+(?:[eE][+-]?\d+)?|"[^"]*(?:""[^"]*)*"|' [ ^ ']*(?:''[^' ] * ) * '|<<|>>|[!<>]=|(?![0-9-])[\w-]+:\*|\s+|./g);if(c){for(var d=0,e=0,f=c.length;e<f;e++)"(:"==c[e]?d++:":)"==c[e]&&d?d--:d||/^\s/.test(c[e])||(this[this.length++]=c[e]);if(d)throw new a("XPST0003")}}function c(){}function d(a,b,d,e){this.staticContext=a,this.item=b,this.scope=d||{},this.stack={},this.DOMAdapter=e||new c;var f=new Ec,g=f.getTimezoneOffset();this.dateTime=new _a(f.getFullYear(),f.getMonth()+1,f.getDate(),f.getHours(),f.getMinutes(),f.getSeconds()+f.getMilliseconds()/1e3,-g),this.timezone=new Ab(0,Gc.abs(~~(g/60)),Gc.abs(g%60),0,g>0)}function e(){this.dataTypes={},this.documents={},this.functions={},this.collations={},this.collections={}}function f(a,b,c){Xc[a]=c,Yc[a]=b}function g(a,b){Zc[a]=b}function h(c,d){var e=new b(c),f=l(e,d);if(!e.eof())throw new a("XPST0003");if(!f)throw new a("XPST0003");this.internalExpression=f}function i(){}function j(){}function k(){this.items=[]}function l(b,c){var d;if(!b.eof()&&(d=m(b,c))){var e=new k;for(e.items.push(d);","==b.peek();){if(b.next(),b.eof()||!(d=m(b,c)))throw new a("XPST0003");e.items.push(d)}return e}}function m(a,b){if(!a.eof())return s(a,b)||o(a,b)||u(a,b)||K(a,b)}function n(){this.bindings=[],this.returnExpr=null}function o(b,c){if("for"==b.peek()&&"$"==b.peek(1).substr(0,1)){b.next();var d,e=new n;do e.bindings.push(q(b,c));while(","==b.peek()&&b.next());if("return"!=b.peek())throw new a("XPST0003");if(b.next(),b.eof()||!(d=m(b,c)))throw new a("XPST0003");return e.returnExpr=d,e}}function p(a,b,c,d){this.prefix=a,this.localName=b,this.namespaceURI=c,this.inExpr=d}function q(b,c){var d=b.peek().substr(1).match(id);if(!d)throw new a("XPST0003");if("*"==d[1]||"*"==d[2])throw new a("XPST0003");if(b.next(),"in"!=b.peek())throw new a("XPST0003");b.next();var e;if(b.eof()||!(e=m(b,c)))throw new a("XPST0003");return new p(d[1]||null,d[2],d[1]?c.getURIForPrefix(d[1]):null,e)}function r(a,b,c){this.condExpr=a,this.thenExpr=b,this.elseExpr=c}function s(b,c){var d,e,f;if("if"==b.peek()&&"("==b.peek(1)){if(b.next(2),b.eof()||!(d=l(b,c)))throw new a("XPST0003");if(")"!=b.peek())throw new a("XPST0003");if(b.next(),"then"!=b.peek())throw new a("XPST0003");if(b.next(),b.eof()||!(e=m(b,c)))throw new a("XPST0003");if("else"!=b.peek())throw new a("XPST0003");if(b.next(),b.eof()||!(f=m(b,c)))throw new a("XPST0003");return new r(d,e,f)}}function t(a){this.quantifier=a,this.bindings=[],this.satisfiesExpr=null}function u(b,c){var d=b.peek();if(("some"==d||"every"==d)&&"$"==b.peek(1).substr(0,1)){b.next();var e,f=new t(d);do f.bindings.push(w(b,c));while(","==b.peek()&&b.next());if("satisfies"!=b.peek())throw new a("XPST0003");if(b.next(),b.eof()||!(e=m(b,c)))throw new a("XPST0003");return f.satisfiesExpr=e,f}}function v(a,b,c,d){this.prefix=a,this.localName=b,this.namespaceURI=c,this.inExpr=d}function w(b,c){var d=b.peek().substr(1).match(id);if(!d)throw new a("XPST0003");if("*"==d[1]||"*"==d[2])throw new a("XPST0003");if(b.next(),"in"!=b.peek())throw new a("XPST0003");b.next();var e;if(b.eof()||!(e=m(b,c)))throw new a("XPST0003");return new v(d[1]||null,d[2],d[1]?c.getURIForPrefix(d[1]):null,e)}function x(a,b,c){this.left=a,this.right=b,this.operator=c}function y(b,c){var d,e;if(!b.eof()&&(d=ya(b,c))){if(!(b.peek()in cd))return d;var f=b.peek();if(b.next(),b.eof()||!(e=ya(b,c)))throw new a("XPST0003");return new x(d,e,f)}}function z(a,b){var c=vc(a.left.evaluate(b),b);if(!c.length)return new Xa(!1);var d=vc(a.right.evaluate(b),b);if(!d.length)return new Xa(!1);for(var e,f,g=!1,h=0,i=c.length;h<i&&!g;h++)for(var j,k,l=0,m=d.length;l<m&&!g;l++)f=c[h],k=d[l],e=f instanceof xb,j=k instanceof xb,e&&j?(f=ub.cast(f),k=ub.cast(k)):(e?k instanceof Ab?f=Ab.cast(f):k instanceof yb?f=yb.cast(f):k.primitiveKind&&(f=Zc[k.primitiveKind].cast(f)):j&&(f instanceof Ab?k=Ab.cast(k):f instanceof yb?k=yb.cast(k):f.primitiveKind&&(k=Zc[f.primi
if(e)return $c[e].call(d,b,c);throw new a("XPTY0004")},ad.lt=function(b,c,d){var e="";if(Ua(b))Ua(c)&&(e="numeric-less-than");else if(b instanceof Xa)c instanceof Xa&&(e="boolean-less-than");else if(b instanceof ub){if(c instanceof ub)return $c["numeric-less-than"].call(d,Xc.compare.call(d,b,c),new Cb(0))}else b instanceof Ya?c instanceof Ya&&(e="date-less-than"):b instanceof vb?c instanceof vb&&(e="time-less-than"):b instanceof _a?c instanceof _a&&(e="dateTime-less-than"):b instanceof yb?c instanceof yb&&(e="yearMonthDuration-less-than"):b instanceof Ab&&c instanceof Ab&&(e="dayTimeDuration-less-than");if(e)return $c[e].call(d,b,c);throw new a("XPTY0004")},ad.ge=function(b,c,d){var e="";if(Ua(b))Ua(c)&&(e="numeric-less-than");else if(b instanceof Xa)c instanceof Xa&&(e="boolean-less-than");else if(b instanceof ub){if(c instanceof ub)return $c["numeric-greater-than"].call(d,Xc.compare.call(d,b,c),new Cb(-1))}else b instanceof Ya?c instanceof Ya&&(e="date-less-than"):b instanceof vb?c instanceof vb&&(e="time-less-than"):b instanceof _a?c instanceof _a&&(e="dateTime-less-than"):b instanceof yb?c instanceof yb&&(e="yearMonthDuration-less-than"):b instanceof Ab&&c instanceof Ab&&(e="dayTimeDuration-less-than");if(e)return new Xa(!$c[e].call(d,b,c).valueOf());throw new a("XPTY0004")},ad.le=function(b,c,d){var e="";if(Ua(b))Ua(c)&&(e="numeric-greater-than");else if(b instanceof Xa)c instanceof Xa&&(e="boolean-greater-than");else if(b instanceof ub){if(c instanceof ub)return $c["numeric-less-than"].call(d,Xc.compare.call(d,b,c),new Cb(1))}else b instanceof Ya?c instanceof Ya&&(e="date-greater-than"):b instanceof vb?c instanceof vb&&(e="time-greater-than"):b instanceof _a?c instanceof _a&&(e="dateTime-greater-than"):b instanceof yb?c instanceof yb&&(e="yearMonthDuration-greater-than"):b instanceof Ab&&c instanceof Ab&&(e="dayTimeDuration-greater-than");if(e)return new Xa(!$c[e].call(d,b,c).valueOf());throw new a("XPTY0004")};var bd={};bd.is=function(a,b,c){return $c["is-same-node"].call(c,a,b)},bd[">>"]=function(a,b,c){return $c["node-after"].call(c,a,b)},bd["<<"]=function(a,b,c){return $c["node-before"].call(c,a,b)};var cd={"=":z,"!=":z,"<":z,"<=":z,">":z,">=":z,eq:A,ne:A,lt:A,le:A,gt:A,ge:A,is:B,">>":B,"<<":B};C.prototype.left=null,C.prototype.items=null;var dd={};dd["+"]=function(b,c,d){var e="",f=!1;if(Ua(b)?Ua(c)&&(e="numeric-add"):b instanceof Ya?c instanceof yb?e="add-yearMonthDuration-to-date":c instanceof Ab&&(e="add-dayTimeDuration-to-date"):b instanceof yb?c instanceof Ya?(e="add-yearMonthDuration-to-date",f=!0):c instanceof _a?(e="add-yearMonthDuration-to-dateTime",f=!0):c instanceof yb&&(e="add-yearMonthDurations"):b instanceof Ab?c instanceof Ya?(e="add-dayTimeDuration-to-date",f=!0):c instanceof vb?(e="add-dayTimeDuration-to-time",f=!0):c instanceof _a?(e="add-dayTimeDuration-to-dateTime",f=!0):c instanceof Ab&&(e="add-dayTimeDurations"):b instanceof vb?c instanceof Ab&&(e="add-dayTimeDuration-to-time"):b instanceof _a&&(c instanceof yb?e="add-yearMonthDuration-to-dateTime":c instanceof Ab&&(e="add-dayTimeDuration-to-dateTime")),e)return $c[e].call(d,f?c:b,f?b:c);throw new a("XPTY0004")},dd["-"]=function(b,c,d){var e="";if(Ua(b)?Ua(c)&&(e="numeric-subtract"):b instanceof Ya?c instanceof Ya?e="subtract-dates":c instanceof yb?e="subtract-yearMonthDuration-from-date":c instanceof Ab&&(e="subtract-dayTimeDuration-from-date"):b instanceof vb?c instanceof vb?e="subtract-times":c instanceof Ab&&(e="subtract-dayTimeDuration-from-time"):b instanceof _a?c instanceof _a?e="subtract-dateTimes":c instanceof yb?e="subtract-yearMonthDuration-from-dateTime":c instanceof Ab&&(e="subtract-dayTimeDuration-from-dateTime"):b instanceof yb?c instanceof yb&&(e="subtract-yearMonthDurations"):b instanceof Ab&&c instanceof Ab&&(e="subtract-dayTimeDurations"),e)return $c[e].call(d,b,c);throw new a("XPTY0004")},C.prototype.evaluate=function(a){var b=vc(this.left.evaluate(a),a);if(!b.length)return[];ua(a,b,"?");var c=b[0];c instanceof xb&&(c=gb.cast(c));for(var d,e,f=0,g=this.items.length;f<g;f++){if(d=vc(this.items[f][1].evaluate(a),a),!d.l
2017-01-31 18:24:56 +00:00
Ob.cast=function(b){var c;try{c=Cb.cast(b)}catch(a){throw a}if(c.value>=1&&c.value<=255)return new Ob(c.value);throw new a("FORG0001")},g("unsignedByte",Ob),Pb.prototype=new ub,Pb.prototype.builtInKind=j.NORMALIZEDSTRING_DT,Pb.cast=function(a){return new Pb(Ac(a))},g("normalizedString",Pb),Qb.prototype=new Pb,Qb.prototype.builtInKind=j.TOKEN_DT,Qb.cast=function(a){return new Qb(Ac(a))},g("token",Qb),Rb.prototype=new Qb,Rb.prototype.builtInKind=j.NAME_DT,Rb.cast=function(a){return new Rb(Ac(a))},g("Name",Rb),Sb.prototype=new Rb,Sb.prototype.builtInKind=j.NCNAME_DT,Sb.cast=function(a){return new Sb(Ac(a))},g("NCName",Sb),Tb.prototype=new Sb,Tb.prototype.builtInKind=j.ENTITY_DT,Tb.cast=function(a){return new Tb(Ac(a))},g("ENTITY",Tb),Ub.prototype=new Sb,Ub.prototype.builtInKind=j.ID_DT,Ub.cast=function(a){return new Ub(Ac(a))},g("ID",Ub),Vb.prototype=new Sb,Vb.prototype.builtInKind=j.IDREF_DT,Vb.cast=function(a){return new Vb(Ac(a))},g("IDREF",Vb),Wb.prototype=new Qb,Wb.prototype.builtInKind=j.LANGUAGE_DT,Wb.cast=function(a){return new Wb(Ac(a))},g("language",Wb),Xb.prototype=new Qb,Xb.prototype.builtInKind=j.NMTOKEN_DT,Xb.cast=function(a){return new Xb(Ac(a))},g("NMTOKEN",Xb),Zb.prototype=new Yb,$b.prototype=new Zb,_b.prototype=new Zb,ac.prototype=new Zb,bc.prototype=new Zb,cc.prototype=new Zb,dc.prototype=new Zb,$c["hexBinary-equal"]=function(a,b){return new Xa(a.valueOf()==b.valueOf())},$c["base64Binary-equal"]=function(a,b){return new Xa(a.valueOf()==b.valueOf())},$c["boolean-equal"]=function(a,b){return new Xa(a.valueOf()==b.valueOf())},$c["boolean-less-than"]=function(a,b){return new Xa(a.valueOf()<b.valueOf())},$c["boolean-greater-than"]=function(a,b){return new Xa(a.valueOf()>b.valueOf())},$c["yearMonthDuration-less-than"]=function(a,b){return new Xa(lc(a)<lc(b))},$c["yearMonthDuration-greater-than"]=function(a,b){return new Xa(lc(a)>lc(b))},$c["dayTimeDuration-less-than"]=function(a,b){return new Xa(jc(a)<jc(b))},$c["dayTimeDuration-greater-than"]=function(a,b){return new Xa(jc(a)>jc(b))},$c["duration-equal"]=function(a,b){return new Xa(a.negative==b.negative&&lc(a)==lc(b)&&jc(a)==jc(b))},$c["dateTime-equal"]=function(a,b){return gc(a,b,"eq")},$c["dateTime-less-than"]=function(a,b){return gc(a,b,"lt")},$c["dateTime-greater-than"]=function(a,b){return gc(a,b,"gt")},$c["date-equal"]=function(a,b){return fc(a,b,"eq")},$c["date-less-than"]=function(a,b){return fc(a,b,"lt")},$c["date-greater-than"]=function(a,b){return fc(a,b,"gt")},$c["time-equal"]=function(a,b){return ec(a,b,"eq")},$c["time-less-than"]=function(a,b){return ec(a,b,"lt")},$c["time-greater-than"]=function(a,b){return ec(a,b,"gt")},$c["gYearMonth-equal"]=function(a,b){return gc(new _a(a.year,a.month,Za(a.year,a.month),0,0,0,null==a.timezone?this.timezone:a.timezone),new _a(b.year,b.month,Za(b.year,b.month),0,0,0,null==b.timezone?this.timezone:b.timezone),"eq")},$c["gYear-equal"]=function(a,b){return gc(new _a(a.year,1,1,0,0,0,null==a.timezone?this.timezone:a.timezone),new _a(b.year,1,1,0,0,0,null==b.timezone?this.timezone:b.timezone),"eq")},$c["gMonthDay-equal"]=function(a,b){return gc(new _a(1972,a.month,a.day,0,0,0,null==a.timezone?this.timezone:a.timezone),new _a(1972,b.month,b.day,0,0,0,null==b.timezone?this.timezone:b.timezone),"eq")},$c["gMonth-equal"]=function(a,b){return gc(new _a(1972,a.month,Za(1972,b.month),0,0,0,null==a.timezone?this.timezone:a.timezone),new _a(1972,b.month,Za(1972,b.month),0,0,0,null==b.timezone?this.timezone:b.timezone),"eq")},$c["gDay-equal"]=function(a,b){return gc(new _a(1972,12,a.day,0,0,0,null==a.timezone?this.timezone:a.timezone),new _a(1972,12,b.day,0,0,0,null==b.timezone?this.timezone:b.timezone),"eq")},$c["add-yearMonthDurations"]=function(a,b){return mc(lc(a)+lc(b))},$c["subtract-yearMonthDurations"]=function(a,b){return mc(lc(a)-lc(b))},$c["multiply-yearMonthDuration"]=function(a,b){return mc(lc(a)*b)},$c["divide-yearMonthDuration"]=function(a,b){return mc(lc(a)/b)},$c["divide-yearMonthDuration-by-yearMonthDuration"]=function(a,b){return new fb(lc(a)/lc(b))},$c["add-dayTimeDurations"]=function(a,b){return kc(jc(a
2017-02-10 16:39:32 +00:00
},padRight:function(a,b,c){return c=c||" ",a.length<b?Utils.padRight(a+c.slice(0,b-a.length),b,c):a},padBytesRight:function(a,b,c){c=c||0;var d=new Array(b);return d.fill(c),Array.prototype.map.call(a,function(a,b){d[b]=a}),d},pad:function(a,b,c){return Utils.padLeft(a,b,c)},truncate:function(a,b,c){return c=c||"...",a.length>b&&(a=a.slice(0,b-c.length)+c),a},hex:function(a,b){return a="string"==typeof a?Utils.ord(a):a,b=b||2,Utils.pad(a.toString(16),b)},bin:function(a,b){return a="string"==typeof a?Utils.ord(a):a,b=b||8,Utils.pad(a.toString(2),b)},printable:function(a,b){window&&window.app&&!window.app.options.treatAsUtf8&&(a=Utils.byteArrayToChars(Utils.strToByteArray(a)));var c=/[\0-\x08\x0B-\x0C\x0E-\x1F\x7F-\x9F\xAD\u0378\u0379\u037F-\u0383\u038B\u038D\u03A2\u0528-\u0530\u0557\u0558\u0560\u0588\u058B-\u058E\u0590\u05C8-\u05CF\u05EB-\u05EF\u05F5-\u0605\u061C\u061D\u06DD\u070E\u070F\u074B\u074C\u07B2-\u07BF\u07FB-\u07FF\u082E\u082F\u083F\u085C\u085D\u085F-\u089F\u08A1\u08AD-\u08E3\u08FF\u0978\u0980\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA\u09BB\u09C5\u09C6\u09C9\u09CA\u09CF-\u09D6\u09D8-\u09DB\u09DE\u09E4\u09E5\u09FC-\u0A00\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A\u0A3B\u0A3D\u0A43-\u0A46\u0A49\u0A4A\u0A4E-\u0A50\u0A52-\u0A58\u0A5D\u0A5F-\u0A65\u0A76-\u0A80\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA\u0ABB\u0AC6\u0ACA\u0ACE\u0ACF\u0AD1-\u0ADF\u0AE4\u0AE5\u0AF2-\u0B00\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A\u0B3B\u0B45\u0B46\u0B49\u0B4A\u0B4E-\u0B55\u0B58-\u0B5B\u0B5E\u0B64\u0B65\u0B78-\u0B81\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BBD\u0BC3-\u0BC5\u0BC9\u0BCE\u0BCF\u0BD1-\u0BD6\u0BD8-\u0BE5\u0BFB-\u0C00\u0C04\u0C0D\u0C11\u0C29\u0C34\u0C3A-\u0C3C\u0C45\u0C49\u0C4E-\u0C54\u0C57\u0C5A-\u0C5F\u0C64\u0C65\u0C70-\u0C77\u0C80\u0C81\u0C84\u0C8D\u0C91\u0CA9\u0CB4\u0CBA\u0CBB\u0CC5\u0CC9\u0CCE-\u0CD4\u0CD7-\u0CDD\u0CDF\u0CE4\u0CE5\u0CF0\u0CF3-\u0D01\u0D04\u0D0D\u0D11\u0D3B\u0D3C\u0D45\u0D49\u0D4F-\u0D56\u0D58-\u0D5F\u0D64\u0D65\u0D76-\u0D78\u0D80\u0D81\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0DC9\u0DCB-\u0DCE\u0DD5\u0DD7\u0DE0-\u0DF1\u0DF5-\u0E00\u0E3B-\u0E3E\u0E5C-\u0E80\u0E83\u0E85\u0E86\u0E89\u0E8B\u0E8C\u0E8E-\u0E93\u0E98\u0EA0\u0EA4\u0EA6\u0EA8\u0EA9\u0EAC\u0EBA\u0EBE\u0EBF\u0EC5\u0EC7\u0ECE\u0ECF\u0EDA\u0EDB\u0EE0-\u0EFF\u0F48\u0F6D-\u0F70\u0F98\u0FBD\u0FCD\u0FDB-\u0FFF\u10C6\u10C8-\u10CC\u10CE\u10CF\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B\u135C\u137D-\u137F\u139A-\u139F\u13F5-\u13FF\u169D-\u169F\u16F1-\u16FF\u170D\u1715-\u171F\u1737-\u173F\u1754-\u175F\u176D\u1771\u1774-\u177F\u17DE\u17DF\u17EA-\u17EF\u17FA-\u17FF\u180F\u181A-\u181F\u1878-\u187F\u18AB-\u18AF\u18F6-\u18FF\u191D-\u191F\u192C-\u192F\u193C-\u193F\u1941-\u1943\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19CF\u19DB-\u19DD\u1A1C\u1A1D\u1A5F\u1A7D\u1A7E\u1A8A-\u1A8F\u1A9A-\u1A9F\u1AAE-\u1AFF\u1B4C-\u1B4F\u1B7D-\u1B7F\u1BF4-\u1BFB\u1C38-\u1C3A\u1C4A-\u1C4C\u1C80-\u1CBF\u1CC8-\u1CCF\u1CF7-\u1CFF\u1DE7-\u1DFB\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FC5\u1FD4\u1FD5\u1FDC\u1FF0\u1FF1\u1FF5\u1FFF\u200B-\u200F\u202A-\u202E\u2060-\u206F\u2072\u2073\u208F\u209D-\u209F\u20BB-\u20CF\u20F1-\u20FF\u218A-\u218F\u23F4-\u23FF\u2427-\u243F\u244B-\u245F\u2700\u2B4D-\u2B4F\u2B5A-\u2BFF\u2C2F\u2C5F\u2CF4-\u2CF8\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D71-\u2D7E\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF\u2E3C-\u2E7F\u2E9A\u2EF4-\u2EFF\u2FD6-\u2FEF\u2FFC-\u2FFF\u3040\u3097\u3098\u3100-\u3104\u312E-\u3130\u318F\u31BB-\u31BF\u31E4-\u31EF\u321F\u32FF\u4DB6-\u4DBF\u9FCD-\u9FFF\uA48D-\uA48F\uA4C7-\uA4CF\uA62C-\uA63F\uA698-\uA69E\uA6F8-\uA6FF\uA78F\uA794-\uA79F\uA7AB-\uA7F7\uA82C-\uA82F\uA83A-\uA83F\uA878-\uA87F\uA8C5-\uA8CD\uA8DA-\uA8DF\uA8FC-\uA8FF\uA954-\uA95E\uA97D-\uA97F\uA9CE\uA9DA-\uA9DD\uA9E0-\uA9FF\uAA37-\uAA3F\uAA4E\uAA4F\uAA5A\uAA5B\uAA7C-\uAA7F\uAAC3-\uAADA\uAAF7-\uAB00\uAB07\uAB08\uAB0F\uA
2017-02-10 12:21:51 +00:00
keySize:c,iterations:d});return i.toString(Utils.format[g])},runRc4:function(a,b){var c=Utils.format[b[1]].parse(a),d=Utils.format[b[0].option].parse(b[0].string),e=CryptoJS.RC4.encrypt(c,d);return e.ciphertext.toString(Utils.format[b[2]])},RC4DROP_BYTES:768,runRc4drop:function(a,b){var c=Utils.format[b[1]].parse(a),d=Utils.format[b[0].option].parse(b[0].string),e=b[3],f=CryptoJS.RC4Drop.encrypt(c,d,{drop:e});return f.ciphertext.toString(Utils.format[b[2]])},runVigenereEnc:function(a,b){var c,d,e,f="abcdefghijklmnopqrstuvwxyz",g=b[0].toLowerCase(),h="",i=0;if(!g)return"No key entered";if(!/^[a-zA-Z]+$/.test(g))return"The key must consist only of letters";for(var j=0;j<a.length;j++)f.indexOf(a[j])>=0?(e=g[(j-i)%g.length],c=f.indexOf(e),d=f.indexOf(a[j]),h+=f[(c+d)%26]):f.indexOf(a[j].toLowerCase())>=0?(e=g[(j-i)%g.length].toLowerCase(),c=f.indexOf(e),d=f.indexOf(a[j].toLowerCase()),h+=f[(c+d)%26].toUpperCase()):(h+=a[j],i++);return h},runVigenereDec:function(a,b){var c,d,e,f="abcdefghijklmnopqrstuvwxyz",g=b[0].toLowerCase(),h="",i=0;if(!g)return"No key entered";if(!/^[a-zA-Z]+$/.test(g))return"The key must consist only of letters";for(var j=0;j<a.length;j++)f.indexOf(a[j])>=0?(e=g[(j-i)%g.length],c=f.indexOf(e),d=f.indexOf(a[j]),h+=f[(d-c+f.length)%26]):f.indexOf(a[j].toLowerCase())>=0?(e=g[(j-i)%g.length].toLowerCase(),c=f.indexOf(e),d=f.indexOf(a[j].toLowerCase()),h+=f[(d+f.length-c)%26].toUpperCase()):(h+=a[j],i++);return h},AFFINE_A:1,AFFINE_B:0,runAffineEnc:function(a,b){var c="abcdefghijklmnopqrstuvwxyz",d=b[0],e=b[1],f="";if(!/^\+?(0|[1-9]\d*)$/.test(d)||!/^\+?(0|[1-9]\d*)$/.test(e))return"The values of a and b can only be integers.";for(var g=0;g<a.length;g++)f+=c.indexOf(a[g])>=0?c[(d*c.indexOf(a[g])+e)%26]:c.indexOf(a[g].toLowerCase())>=0?c[(d*c.indexOf(a[g].toLowerCase())+e)%26].toUpperCase():a[g];return f},runAffineDec:function(a,b){var c,d="abcdefghijklmnopqrstuvwxyz",e=b[0],f=b[1],g="";if(!/^\+?(0|[1-9]\d*)$/.test(e)||!/^\+?(0|[1-9]\d*)$/.test(f))return"The values of a and b can only be integers.";if(1!==Utils.gcd(e,26))return"The value of a must be coprime to 26.";c=Utils.modInv(e,26);for(var h=0;h<a.length;h++)g+=d.indexOf(a[h])>=0?d[Utils.mod((d.indexOf(a[h])-f)*c,26)]:d.indexOf(a[h].toLowerCase())>=0?d[Utils.mod((d.indexOf(a[h].toLowerCase())-f)*c,26)].toUpperCase():a[h];return g},runAtbash:function(a,b){return Cipher.runAffineEnc(a,[25,25])},SUBS_PLAINTEXT:"ABCDEFGHIJKLMNOPQRSTUVWXYZ",SUBS_CIPHERTEXT:"XYZABCDEFGHIJKLMNOPQRSTUVW",runSubstitute:function(a,b){var c=Utils.strToByteArray(Utils.expandAlphRange(b[0]).join()),d=Utils.strToByteArray(Utils.expandAlphRange(b[1]).join()),e=[],f=-1;c.length!==d.length&&(e=Utils.strToByteArray("Warning: Plaintext and Ciphertext lengths differ\n\n"));for(var g=0;g<a.length;g++)f=c.indexOf(a[g]),e.push(f>-1&&f<d.length?d[f]:a[g]);return e}};CryptoJS.kdf.OpenSSL.execute=function(a,b,c,d){void 0!==d&&null!==d||(d=CryptoJS.lib.WordArray.random(8));var e=CryptoJS.algo.EvpKDF.create({keySize:b+c}).compute(a,d),f=CryptoJS.lib.WordArray.create(e.words.slice(b),4*c);return e.sigBytes=4*b,CryptoJS.lib.CipherParams.create({key:e,iv:f,salt:d})};var Code={LANGUAGES:["default-code","default-markup","bash","bsh","c","cc","coffee","cpp","cs","csh","cv","cxx","cyc","htm","html","in.tag","java","javascript","js","json","m","mxml","perl","pl","pm","py","python","rb","rc","rs","ruby","rust","sh","uq.val","xhtml","xml","xsl"],LINE_NUMS:!1,runSyntaxHighlight:function(a,b){var c=b[0],d=b[1];return"<code class=' prettyprint '>"+prettyPrintOne(Utils.escapeHtml(a),c,d)+"</code>"},BEAUTIFY_INDENT:"\\t",runXmlBeautify:function(a,b){var c=b[0];return vkbeautify.xml(a,c)},runJsonBeautify:function(a,b){var c=b[0];return a?vkbeautify.json(a,c):""},runCssBeautify:function(a,b){var c=b[0];return vkbeautify.css(a,c)},runSqlBeautify:function(a,b){var c=b[0];return vkbeautify.sql(a,c)},PRESERVE_COMMENTS:!1,runXmlMinify:function(a,b){var c=b[0];return vkbeautify.xmlmin(a,c)},runJsonMinify:function(a,b){return a?vkbeautify.jsonmin(a):""},runCssMinify:function(a,b){var c=b[0];return vkbeautify.cssmin(a,c)},r
var f=0;if(0!==c)for(var g=0;g<a.length;g+=c)f=Entropy._calcEntropy(a.slice(g,g+c)),d+="Bytes "+g+" to "+(g+c)+": "+f+"\n";else d+="Chunk size cannot be 0.";return d},FREQ_ZEROS:!1,runFreqDistrib:function(a,b){if(!a.length)return"No data";for(var c=new Array(256),d=new Array(256),e=a.length,f=b[0],g=0;g<256;g++)c[g]=0;for(g=0;g<e;g++)c[a[g]]++;var h=0;for(g=0;g<256;g++)c[g]>0&&h++,d[g]=c[g]/e*100;var i="<canvas id=' chart - area '></canvas><br>Total data length: "+e+"\nNumber of bytes represented: "+h+"\nNumber of bytes not represented: "+(256-h)+"\n\nByte Percentage\n<script> var canvas = document.getElementById(' chart - area '), parentRect = canvas.parentNode.getBoundingClientRect(), scores = "+JSON.stringify(d)+"; canvas.width = parentRect.width * 0.95; canvas.height = parentRect.height * 0.9; CanvasComponents.drawBarChart(canvas, scores, ' Byte ', ' Frequency % ', 16, 6); <\/script>";for(g=0;g<256;g++)(c[g]||f)&&(i+=" "+Utils.hex(g,2)+" ("+Utils.padRight(d[g].toFixed(2).replace(".00","")+"%)",8)+Array(Math.ceil(d[g])+1).join("|")+"\n");return i},_calcEntropy:function(a){for(var b=[],c=a.unique(),d=Utils.byteArrayToChars(a),e=0;e<c.length;e++)b.push(d.count(Utils.chr(c[e]))/a.length);var f,g=0;for(e=0;e<b.length;e++)f=b[e],g+=f*Math.log(f)/Math.log(2);return-g}},Extract={_search:function(a,b,c,d){for(var e,f="",g=0;e=b.exec(a);)c&&c.test(e[0])||(g++,f+=e[0]+"\n");return d&&(f="Total found: "+g+"\n\n"+f),f},MIN_STRING_LEN:3,DISPLAY_TOTAL:!1,runStrings:function(a,b){var c=b[0]||Extract.MIN_STRING_LEN,d=b[1],e="[A-Z\\d/\\-:.,_$%' \ "()<>= !\\[\\]{}@]" , f = new RegExp ( e + "{" + c + ",}" , "ig" ); return Extract . _search ( a , f , null , d )}, INCLUDE_IPV4 :! 0 , INCLUDE_IPV6 :! 1 , REMOVE_LOCAL :! 1 , runIp : function ( a , b ){ var c = b [ 0 ], d = b [ 1 ], e = b [ 2 ], f = b [ 3 ], g = "(?:(?:\\d|[01]?\\d\\d|2[0-4]\\d|25[0-5])\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d|\\d)(?:\\/\\d{1,2})?" , h = "((?=.*::)(?!.*::.+::)(::)?([\\dA-F]{1,4}:(:|\\b)|){5}|([\\dA-F]{1,4}:){6})((([\\dA-F]{1,4}((?!\\3)::|:\\b|(?![\\dA-F])))|(?!\\2\\3)){2}|(((2[0-4]|1\\d|[1-9])?\\d|25[0-5])\\.?\\b){4})" , i = "" ; if ( c && d ? i = g + "|" + h : c ? i = g : d && ( i = h ), i ){ var j = new RegExp ( i , "ig" ); if ( e ){ var k = "10\\..+" , l = "192\\.168\\..+" , m = "172\\.(?:1[6-9]|2\\d|3[01])\\..+" , n = "127\\..+" , o = new RegExp ( "^(?:" + k + "|" + l + "|" + m + "|" + n + ")" ); return Extract . _search ( a , j , o , f )} return Extract . _search ( a , j , null , f )} return "" }, runEmail : function ( a , b ){ var c = b [ 0 ], d = /\w[-.\w]*@[-\w]+(?:\.[-\w]+)*\.[A-Z]{2,4}/gi ; return Extract . _search ( a , d , null , c )}, runMac : function ( a , b ){ var c = b [ 0 ], d = /[A-F\d]{2}(?:[:-][A-F\d]{2}){5}/gi ; return Extract . _search ( a , d , null , c )}, runUrls : function ( a , b ){ var c = b [ 0 ], d = "[A-Z]+://" , e = "[-\\w]+(?:\\.\\w[-\\w]*)+" , f = ":\\d+" , g = "/[^.!,?;\"'<>()\\[\\]{}\\s\\x7F-\\xFF]*" ; g += "(?:[.!,?]+[^.!,?;\"'<>()\\[\\]{}\\s\\x7F-\\xFF]+)*" ; var h = new RegExp ( d + e + "(?:" + f + ")?(?:" + g + ")?" , "ig" ); return Extract . _search ( a , h , null , c )}, runDomains : function ( a , b ){ var c = b [ 0 ], d = "https?://" , e = "[-\\w\\.]+" , f = "\\.(?:com|net|org|biz|info|co|uk|onion|int|mobi|name|edu|gov|mil|eu|ac|ae|af|de|ca|ch|cn|cy|es|gb|hk|il|in|io|tv|me|nl|no|nz|ro|ru|tr|us|az|ir|kz|uz|pk)+" , g = new RegExp ( "(?:" + d + ")?" + e + f , "ig" ); return Extract . _search ( a , g , null , c )}, INCLUDE_WIN_PATH :! 0 , INCLUDE_UNIX_PATH :! 0 , runFilePaths : function ( a , b ){ var c = b [ 0 ], d = b [ 1 ], e = b [ 2 ], f = "[A-Z]:\\\\" , g = "[A-Z\\d][A-Z\\d\\- '_\\(\\)]{0,61}" , h = "[A-Z\\d]{1,6}" , i = f + "(?:" + g + "\\\\?)*" + g + "(?:\\." + h + ")?" , j = "(?:/[A-Z\\d.][A-Z\\d\\-.]{0,61})+" , k = "" ; if ( c && d ? k = i + "|" + j : c ? k = i : d && ( k = j ), k ){ var l = new RegExp ( k , "ig" ); return Extract . _search ( a , l , null , e )} return "" }, runDates : function ( a , b ){ var c = b [ 0 ], d = "(?:19|20)\\d\\d[- /.](?:0[1-9]|1[012])[- /.](?:0[1-9]|[12][0-9]|3[01])" , e = "(?:0[1-9]|[12][0-9]|3[01])[- /.](?:0[1-9]|1[012])[- /.](?:19|20)\\d\\d" , f = "(?:0[1-9]|1[012])[- /.](?:0[1-9]|[12][0-9]|3[01])[- /.](?:19|20)\\d\\d" , g = new RegExp ( d + "|" + e + "|" + f , "ig" ); return Extract . _search ( a , g , null , c )}, runAllIdents : function ( a , b ){ var c = "" ; return c += "IP addresses\n" , c += Extract . runIp ( a ,[ ! 0 , ! 0 , ! 1 ]), c += "\nEmail addresses\n" , c += Extract . runEmail ( a ,[]), c += "\nMAC addresses\n" , c +=
var h = ( e [ 2 ] << 16 ) + e [ 3 ], i = 65535 &~ e [ 5 ], j =~ (( e [ 6 ] << 16 ) + e [ 7 ]), k = e [ 4 ] >>> 15 & 1 , l = e [ 4 ] >>> 14 & 1 , m = e [ 4 ] >>> 10 & 15 , n = e [ 4 ] >>> 8 & 3 , o = 255 & e [ 4 ]; d += "\nServer IPv4 address: " + IP . _ipv4ToStr ( h ) + "\nClient IPv4 address: " + IP . _ipv4ToStr ( j ) + "\nClient UDP port: " + i + "\nFlags:\n\tCone: " + k , d += k ? " (Client is behind a cone NAT)" : " (Client is not behind a cone NAT)" , d += "\n\tR: " + l , l && ( d += " Error: This flag should be set to 0. See RFC 5991 and RFC 4380." ), d += "\n\tRandom1: " + Utils . bin ( m , 4 ) + "\n\tUG: " + Utils . bin ( n , 2 ), n && ( d += " Error: This flag should be set to 00. See RFC 4380." ), d += "\n\tRandom2: " + Utils . bin ( o , 8 ), d +=! l &&! n && m && o ? "\n\nThis is a valid Teredo address which complies with RFC 4380 and RFC 5991." : l || n ? "\n\nThis is an invalid Teredo address." : "\n\nThis is a valid Teredo address which complies with RFC 4380, however it does not comply with RFC 5991 (Teredo Security Updates) as there are no randomised bits in the flag field." , d += "\n\nTeredo prefix range: 2001::/32" } else if ( 8193 === e [ 0 ] && 2 === e [ 1 ] && 0 === e [ 2 ]) d += "\nAssigned to the Benchmarking Methodology Working Group (BMWG) for benchmarking IPv6. Corresponds to 198.18.0.0/15 for benchmarking IPv4. See RFC 5180 for more details." , d += "\nBMWG range: 2001:2::/48" ; else if ( 8193 === e [ 0 ] && e [ 1 ] >= 16 && e [ 1 ] <= 31 ) d += "\nDeprecated, previously ORCHIDv1 (Overlay Routable Cryptographic Hash Identifiers).\nORCHIDv1 range: 2001:10::/28\nORCHIDv2 now uses 2001:20::/28." ; else if ( 8193 === e [ 0 ] && e [ 1 ] >= 32 && e [ 1 ] <= 47 ) d += "\nORCHIDv2 (Overlay Routable Cryptographic Hash Identifiers).\nThese are non-routed IPv6 addresses used for Cryptographic Hash Identifiers." , d += "\nORCHIDv2 range: 2001:20::/28" ; else if ( 8193 === e [ 0 ] && 3512 === e [ 1 ]) d += "\nThis is a documentation IPv6 address. This range should be used whenever an example IPv6 address is given or to model networking scenarios. Corresponds to 192.0.2.0/24, 198.51.100.0/24, and 203.0.113.0/24 in IPv4." , d += "\nDocumentation range: 2001:db8::/32" ; else if ( 8194 === e [ 0 ]){ d += "\n6to4 transition IPv6 address detected. See RFC 3056 for more details.\n6to4 prefix range: 2002::/16" ; var p = IP . _ipv4ToStr (( e [ 1 ] << 16 ) + e [ 2 ]), q = e [ 3 ], r = e [ 4 ]. toString ( 16 ) + e [ 5 ]. toString ( 16 ) + e [ 6 ]. toString ( 16 ) + e [ 7 ]. toString ( 16 ), s = new BigInteger ( r , 16 ); d += "\n\nEncapsulated IPv4 address: " + p + "\nSLA ID: " + q + "\nInterface ID (base 16): " + r + "\nInterface ID (base 10): " + s . toString ()} else e [ 0 ] >= 64512 && e [ 0 ] <= 65023 ? ( d += "\nThis is a unique local address comparable to the IPv4 private addresses 10.0.0.0/8, 172.16.0.0/12 and 192.168.0.0/16. See RFC 4193 for more details." , d += "\nUnique local addresses range: fc00::/7" ) : e [ 0 ] >= 65152 && e [ 0 ] <= 65215 ? ( d += "\nThis is a link-local address comparable to the auto-configuration addresses 169.254.0.0/16 in IPv4." , d += "\nLink-local addresses range: fe80::/10" ) : e [ 0 ] >= 65280 && ( d += "\nThis is a reserved multicast address." , d += "\nMulticast addresses range: ff00::/8" ); return d }, IP_FORMAT_LIST : [ "Dotted Decimal" , "Decimal" , "Hex" ], runChangeIpFormat : function ( a , b ){ for ( var c = b [ 0 ], d = b [ 1 ], e = a . split ( "\n" ), f = "" , g = 0 , h = 0 ; h < e . length ; h ++ ) if ( "" !== e [ h ]){ var i = []; if ( c !== d ){ switch ( c ){ case "Dotted Decimal" : var j = e [ h ]. split ( "." ); for ( g = 0 ; g < j . length ; g ++ ) i . push ( parseInt ( j [ g ], 10 )); break ; case "Decimal" : var k = e [ h ]. toString (); i . push ( k >> 24 & 255 ), i . push ( k >> 16 & 255 ), i . push ( k >> 8 & 255 ), i . push ( 255 & k ); break ; case "Hex" : i = Utils . hexToByteArray ( e [ h ]); break ; default : throw "Unsupported input IP format" } switch ( d ){ case "Dotted Decimal" : var l = "" ; for ( g = 0 ; g < i . length ; g ++ ) l += i [ g ] + "." ; f += l . slice ( 0 , l . length - 1 ) + "\n" ; break ; case "Decimal" : var m = ( i [ 0 ] << 24 | i [ 1 ] << 16 | i [ 2 ] << 8 | i [ 3 ]) >>> 0 ; f += m . toString () + "\n" ; break ; case "Hex" : var n = "" ; for ( g = 0 ; g < i . length ; g ++ ) n += Utils . hex ( i [ g ]); f += n + "\n" ; break ; default : throw "Unsupported output IP format" }} else f += e [ h ] + "\n" } return f . slice ( 0 , f . length - 1 )}, DELIM_OPTIONS : [ "Line feed" , "CRLF" , "Space" , "Comma" , "Semi-colon" ], GROUP_CIDR : 24 , GROUP_ONLY_SUBNET :! 1 , runGroupIps : function ( a , b ){ var c = Utils . charRep [ b [ 0 ]], d = b [ 1 ], e = b [ 2 ], f = d < 32 ?~ ( 4294967295 >>> d ) : 4294967295 , g = IP . _genIpv6Mask ( d ), h = a . split ( c ), i = {}, j = {}, k = null , l = "" , m = null , n = null , o = "" ; if ( d < 0 || d > 127 ) return "CIDR must be less than 32 for IPv4 or 128 for IPv6" ; for ( var p = 0 ; p < h . length ; p ++ ) if ( k = IP . IPV4_REGEX . exec
"06032b240301020101" : "ideaECBPad" , "06032b24030102010101" : "ideaECBPadISO" , "06032b2403010202" : "ideaCBC" , "06032b240301020201" : "ideaCBCPad" , "06032b24030102020101" : "ideaCBCPadISO" , "06032b2403010203" : "ideaOFB" , "06032b2403010204" : "ideaCFB" , "06032b24030103" : "des-3" , "06032b240301030101" : "des-3ECBPad" , "06032b24030103010101" : "des-3ECBPadISO" , "06032b240301030201" : "des-3CBCPad" , "06032b24030103020101" : "des-3CBCPadISO" , "06032b240302" : "hashAlgorithm" , "06032b24030201" : "ripemd160" , "06032b24030202" : "ripemd128" , "06032b24030203" : "ripemd256" , "06032b24030204" : "mdc2singleLength" , "06032b24030205" : "mdc2doubleLength" , "06032b240303" : "signatureAlgorithm" , "06032b24030301" : "rsa" , "06032b2403030101" : "rsaMitSHA-1" , "06032b2403030102" : "rsaMitRIPEMD160" , "06032b24030302" : "ellipticCurve" , "06032b240304" : "signatureScheme" , "06032b24030401" : "iso9796-1" , "06032b2403040201" : "iso9796-2" , "06032b2403040202" : "iso9796-2rsa" , "06032b2404" : "attribute" , "06032b2405" : "policy" , "06032b2406" : "api" , "06032b240601" : "manufacturerSpecific" , "06032b240602" : "functionalitySpecific" , "06032b2407" : "api" , "06032b240701" : "keyAgreement" , "06032b240702" : "keyTransport" , "06032b06010401927c0a0101" : "UNINETT policyIdentifier" , "06032b0601040195180a" : "ICE-TEL policyIdentifier" , "06032b0601040197552001" : "cryptlibEnvelope" , "06032b0601040197552002" : "cryptlibPrivateKey" , "060a2b060104018237" : "Microsoft OID" , "060a2b0601040182370a" : "Crypto 2.0" , "060a2b0601040182370a01" : "certTrustList" , "060a2b0601040182370a0101" : "szOID_SORTED_CTL" , "060a2b0601040182370a0a" : "Microsoft CMC OIDs" , "060a2b0601040182370a0a01" : "szOID_CMC_ADD_ATTRIBUTES" , "060a2b0601040182370a0b" : "Microsoft certificate property OIDs" , "060a2b0601040182370a0b01" : "szOID_CERT_PROP_ID_PREFIX" , "060a2b0601040182370a0c" : "CryptUI" , "060a2b0601040182370a0c01" : "szOID_ANY_APPLICATION_POLICY" , "060a2b0601040182370a02" : "nextUpdateLocation" , "060a2b0601040182370a0301" : "certTrustListSigning" , "060a2b0601040182370a030a" : "szOID_KP_QUALIFIED_SUBORDINATION" , "060a2b0601040182370a030b" : "szOID_KP_KEY_RECOVERY" , "060a2b0601040182370a030c" : "szOID_KP_DOCUMENT_SIGNING" , "060a2b0601040182370a0302" : "timeStampSigning" , "060a2b0601040182370a0303" : "serverGatedCrypto" , "060a2b0601040182370a030301" : "szOID_SERIALIZED" , "060a2b0601040182370a0304" : "encryptedFileSystem" , "060a2b0601040182370a030401" : "szOID_EFS_RECOVERY" , "060a2b0601040182370a0305" : "szOID_WHQL_CRYPTO" , "060a2b0601040182370a0306" : "szOID_NT5_CRYPTO" , "060a2b0601040182370a0307" : "szOID_OEM_WHQL_CRYPTO" , "060a2b0601040182370a0308" : "szOID_EMBEDDED_NT_CRYPTO" , "060a2b0601040182370a0309" : "szOID_ROOT_LIST_SIGNER" , "060a2b0601040182370a0401" : "yesnoTrustAttr" , "060a2b0601040182370a0501" : "szOID_DRM" , "060a2b0601040182370a0502" : "szOID_DRM_INDIVIDUALIZATION" , "060a2b0601040182370a0601" : "szOID_LICENSES" , "060a2b0601040182370a0602" : "szOID_LICENSE_SERVER" , "060a2b0601040182370a07" : "szOID_MICROSOFT_RDN_PREFIX" , "060a2b0601040182370a0701" : "szOID_KEYID_RDN" , "060a2b0601040182370a0801" : "szOID_REMOVE_CERTIFICATE" , "060a2b0601040182370a0901" : "szOID_CROSS_CERT_DIST_POINTS" , "060a2b0601040182370c" : "Catalog" , "060a2b0601040182370c0101" : "szOID_CATALOG_LIST" , "060a2b0601040182370c0102" : "szOID_CATALOG_LIST_MEMBER" , "060a2b0601040182370c0201" : "CAT_NAMEVALUE_OBJID" , "060a2b0601040182370c0202" : "CAT_MEMBERINFO_OBJID" , "060a2b0601040182370d" : "Microsoft PKCS10 OIDs" , "060a2b0601040182370d01" : "szOID_RENEWAL_CERTIFICATE" , "060a2b0601040182370d0201" : "szOID_ENROLLMENT_NAME_VALUE_PAIR" , "060a2b0601040182370d0202" : "szOID_ENROLLMENT_CSP_PROVIDER" , "060a2b0601040182370d0203" : "OS Version" , "060a2b0601040182370f" : "Microsoft Java" , "060a2b06010401823710" : "Microsoft Outlook/Exchange" , "060a2b0601040182371004" : "Outlook Express" , "060a2b06010401823711" : "Microsoft PKCS12 attributes" , "060a2b0601040182371101" : "szOID_LOCAL_MACHINE_KEYSET" , "060a2b06010401823712" : "Microsoft Hydra" , "060a2b06010401823713" : "Microsoft ISPU Test" , "060a2b06010401823702" : "Authenticode" , "060a2b06010401823702010a" : "spcAgencyInfo" , "060a2b06010401823702010b" : "spcStatementType" , "060a2b06010401823702010c" : "spcSpOpusInfo" , "060a2b06010401823702010e" : "certExtensions" , "060a2b06010401823702010f" : "spcPelmageData" , "060a2b060104018237020112" : "SPC_RAW_FILE
e&&(k=e.split(g));for(var l=a.progress+1;l<b.length&&(" Merge "!==b[l].name||b[l].isDisabled());l++)j.push(b[l]);var m=new Recipe,n="",o=0;for(m.addOperations(j),l=0;l<k.length;l++){var p=new Dish(k[l],c);try{o=m.execute(p,0)}catch(a){if(!i)throw a;o=a.progress+1}n+=p.get(d)+h}return a.dish.set(n,d),a.progress+=o,a},runMerge:function(a){return a},JUMP_NUM:0,MAX_JUMPS:10,runJump:function(a){var b=a.opList[a.progress].getIngValues(),c=b[0],d=b[1];return a.numJumps>=d?(a.progress++,a):(a.progress+=c,a.numJumps++,a)},runCondJump:function(a){var b=a.opList[a.progress].getIngValues(),c=a.dish,d=b[0],e=b[1],f=b[2];return a.numJumps>=f?(a.progress++,a):(""!==d&&c.get(Dish.STRING).search(d)>-1&&(a.progress+=e,a.numJumps++),a)},runReturn:function(a){return a.progress=a.opList.length,a}},Ingredient=function(a){this.name="",this.type="",this.value=null,a&&this._parseConfig(a)};Ingredient.prototype._parseConfig=function(a){this.name=a.name,this.type=a.type},Ingredient.prototype.getConfig=function(){return this.value},Ingredient.prototype.setValue=function(a){this.value=Ingredient.prepare(a,this.type)},Ingredient.prepare=function(a,b){switch(b){case" binaryString ":case" binaryShortString ":case" editableOption ":return Utils.parseEscapedChars(a);case" byteArray ":return" string "==typeof a?(a=a.replace(/\s+/g,""),Utils.hexToByteArray(a)):a;case" number ":var c=parseFloat(a);if(isNaN(c)){var d=Utils.truncate(a.toString(),10);throw" Invalid ingredient value . Not a number : "+d}return c;default:return a}};var Operation=function(a,b){this.name=a,this.description="",this.inputType=-1,this.outputType=-1,this.run=null,this.highlight=null,this.highlightReverse=null,this.breakpoint=!1,this.disabled=!1,this.ingList=[],b&&this._parseConfig(b)};Operation.prototype._parseConfig=function(a){this.description=a.description,this.inputType=Dish.typeEnum(a.inputType),this.outputType=Dish.typeEnum(a.outputType),this.run=a.run,this.highlight=a.highlight,this.highlightReverse=a.highlightReverse,this.flowControl=a.flowControl;for(var b=0;b<a.args.length;b++){var c=a.args[b],d=new Ingredient(c);this.addIngredient(d)}},Operation.prototype.getConfig=function(){for(var a=[],b=0;b<this.ingList.length;b++)a.push(this.ingList[b].getConfig());var c={op:this.name,args:a};return c},Operation.prototype.addIngredient=function(a){this.ingList.push(a)},Operation.prototype.setIngValues=function(a){for(var b=0;b<a.length;b++)this.ingList[b].setValue(a[b])},Operation.prototype.getIngValues=function(){for(var a=[],b=0;b<this.ingList.length;b++)a.push(this.ingList[b].value);return a},Operation.prototype.setBreakpoint=function(a){this.breakpoint=!!a},Operation.prototype.isBreakpoint=function(){return this.breakpoint},Operation.prototype.setDisabled=function(a){this.disabled=!!a},Operation.prototype.isDisabled=function(){return this.disabled},Operation.prototype.isFlowControl=function(){return this.flowControl};var Recipe=function(a){this.opList=[],a&&this._parseConfig(a)};Recipe.prototype._parseConfig=function(a){for(var b=0;b<a.length;b++){var c=a[b].op,d=OperationConfig[c],e=new Operation(c,d);e.setIngValues(a[b].args),e.setBreakpoint(a[b].breakpoint),e.setDisabled(a[b].disabled),this.addOperation(e)}},Recipe.prototype.getConfig=function(){for(var a=[],b=0;b<this.opList.length;b++)a.push(this.opList[b].getConfig());return a},Recipe.prototype.addOperation=function(a){this.opList.push(a)},Recipe.prototype.addOperations=function(a){this.opList=this.opList.concat(a)},Recipe.prototype.setBreakpoint=function(a,b){try{this.opList[a].setBreakpoint(b)}catch(a){}},Recipe.prototype.removeBreaksUpTo=function(a){for(var b=0;b<a;b++)this.opList[b].setBreakpoint(!1)},Recipe.prototype.containsFlowControl=function(){for(var a=0;a<this.opList.length;a++)if(this.opList[a].isFlowControl())return!0;return!1},Recipe.prototype.lastOpIndex=function(a){for(var b,c=a+1||0;c<this.opList.length;c++){if(b=this.opList[c],b.isDisabled())return c-1;if(b.isBreakpoint())return c-1}return c-1},Recipe.prototype.execute=function(a,b){b=b||0;for(var c,d,e,f=0,g=b;g<this.opList.length;g++)if(c=this.opList[g],!c.isDisabled()){i
},{name:" Output format ",type:" option ",value:Cipher.IO_FORMAT3}]}," Rabbit Decrypt ":{description:" To successfully decrypt Rabbit , you need either :< ul >< li > The passphrase < /li><li>Or the key and IV (This is currently broken. You need the key and salt at the moment.)</li></ul>The IV should be the first 8 bytes of encrypted material.",run:Cipher.runRabbitDec,inputType:"string",outputType:"string",args:[{name:"Passphrase/Key",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT2},{name:"IV",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT1},{name:"Salt",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT1},{name:"Mode",type:"option",value:Cipher.MODES},{name:"Padding",type:"option",value:Cipher.PADDING},{name:"Input format",type:"option",value:Cipher.IO_FORMAT1},{name:"Output format",type:"option",value:Cipher.IO_FORMAT2}]},"Rabbit Encrypt":{description:"Input: Either enter a passphrase (which will be used to derive a key using the OpenSSL KDF) or both the key and IV.<br><br>Rabbit is a high-performance stream cipher and a finalist in the eSTREAM Portfolio. It is one of the four designs selected after a 3 1/2 year process where 22 designs were evaluated.",run:Cipher.runRabbitEnc,inputType:"string",outputType:"string",args:[{name:"Passphrase/Key",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT2},{name:"IV",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT1},{name:"Salt",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT1},{name:"Mode",type:"option",value:Cipher.MODES},{name:"Padding",type:"option",value:Cipher.PADDING},{name:"Output result",type:"option",value:Cipher.RESULT_TYPE},{name:"Output format",type:"option",value:Cipher.IO_FORMAT1}]},RC4:{description:"RC4 is a widely-used stream cipher. It is used in popular protocols such as SSL and WEP. Although remarkable for its simplicity and speed, the algorithm's history doesn't inspire confidence in its security.",run:Cipher.runRc4,highlight:!0,highlightReverse:!0,inputType:"string",outputType:"string",args:[{name:"Passphrase",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT2},{name:"Input format",type:"option",value:Cipher.IO_FORMAT4},{name:"Output format",type:"option",value:Cipher.IO_FORMAT4}]},"RC4 Drop":{description:"It was discovered that the first few bytes of the RC4 keystream are strongly non-random and leak information about the key. We can defend against this attack by discarding the initial portion of the keystream. This modified algorithm is traditionally called RC4-drop.",run:Cipher.runRc4drop,highlight:!0,highlightReverse:!0,inputType:"string",outputType:"string",args:[{name:"Passphrase",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT2},{name:"Input format",type:"option",value:Cipher.IO_FORMAT4},{name:"Output format",type:"option",value:Cipher.IO_FORMAT4},{name:"Number of bytes to drop",type:"number",value:Cipher.RC4DROP_BYTES}]},"Derive PBKDF2 key":{description:"PBKDF2 is a password-based key derivation function. In many applications of cryptography, user security is ultimately dependent on a password, and because a password usually can't be used directly as a cryptographic key, some processing is required.<br><br>A salt provides a large set of keys for any given password, and an iteration count increases the cost of producing keys from a password, thereby also increasing the difficulty of attack.<br><br>Enter your passphrase as the input and then set the relevant options to generate a key.",run:Cipher.runPbkdf2,inputType:"string",outputType:"string",args:[{name:"Key size",type:"number",value:Cipher.KDF_KEY_SIZE},{name:"Iterations",type:"number",value:Cipher.KDF_ITERATIONS},{name:"Salt (hex)",type:"string",value:""},{name:"Input format",type:"option",value:Cipher.IO_FORMAT2},{name:"Output format",type:"option",value:Cipher.IO_FORMAT3}]},"Derive EVP key":{description:"EVP is a password-based key derivation function used extensively in OpenSSL. In many applications of cryptography, user security is ultimately dependent on a password, and because a password usually can't be used directly as a cr
2017-02-10 16:39:32 +00:00
run : Hash . runRIPEMD160 , inputType : "string" , outputType : "string" , args : []}, HMAC : { description : "Keyed-Hash Message Authentication Codes (HMAC) are a mechanism for message authentication using cryptographic hash functions." , run : Hash . runHMAC , inputType : "string" , outputType : "string" , args : [{ name : "Password" , type : "binaryString" , value : "" },{ name : "Hashing function" , type : "option" , value : Hash . HMAC_FUNCTIONS }]}, "Fletcher-8 Checksum" : { description : "The Fletcher checksum is an algorithm for computing a position-dependent checksum devised by John Gould Fletcher at Lawrence Livermore Labs in the late 1970s.<br><br>The objective of the Fletcher checksum was to provide error-detection properties approaching those of a cyclic redundancy check but with the lower computational effort associated with summation techniques." , run : Checksum . runFletcher8 , inputType : "byteArray" , outputType : "string" , args : []}, "Fletcher-16 Checksum" : { description : "The Fletcher checksum is an algorithm for computing a position-dependent checksum devised by John Gould Fletcher at Lawrence Livermore Labs in the late 1970s.<br><br>The objective of the Fletcher checksum was to provide error-detection properties approaching those of a cyclic redundancy check but with the lower computational effort associated with summation techniques." , run : Checksum . runFletcher16 , inputType : "byteArray" , outputType : "string" , args : []}, "Fletcher-32 Checksum" : { description : "The Fletcher checksum is an algorithm for computing a position-dependent checksum devised by John Gould Fletcher at Lawrence Livermore Labs in the late 1970s.<br><br>The objective of the Fletcher checksum was to provide error-detection properties approaching those of a cyclic redundancy check but with the lower computational effort associated with summation techniques." , run : Checksum . runFletcher32 , inputType : "byteArray" , outputType : "string" , args : []}, "Fletcher-64 Checksum" : { description : "The Fletcher checksum is an algorithm for computing a position-dependent checksum devised by John Gould Fletcher at Lawrence Livermore Labs in the late 1970s.<br><br>The objective of the Fletcher checksum was to provide error-detection properties approaching those of a cyclic redundancy check but with the lower computational effort associated with summation techniques." , run : Checksum . runFletcher64 , inputType : "byteArray" , outputType : "string" , args : []}, "Adler-32 Checksum" : { description : "Adler-32 is a checksum algorithm which was invented by Mark Adler in 1995, and is a modification of the Fletcher checksum. Compared to a cyclic redundancy check of the same length, it trades reliability for speed (preferring the latter).<br><br>Adler-32 is more reliable than Fletcher-16, and slightly less reliable than Fletcher-32." , run : Checksum . runAdler32 , inputType : "byteArray" , outputType : "string" , args : []}, "CRC-32 Checksum" : { description : "A cyclic redundancy check (CRC) is an error-detecting code commonly used in digital networks and storage devices to detect accidental changes to raw data.<br><br>The CRC was invented by W. Wesley Peterson in 1961; the 32-bit CRC function of Ethernet and many other standards is the work of several researchers and was published in 1975." , run : Checksum . runCRC32 , inputType : "byteArray" , outputType : "string" , args : []}, "Generate all hashes" : { description : "Generates all available hashes and checksums for the input." , run : Hash . runAll , inputType : "string" , outputType : "string" , args : []}, Entropy : { description : "Calculates the Shannon entropy of the input data which gives an idea of its randomness. 8 is the maximum." , run : Entropy . runEntropy , inputType : "byteArray" , outputType : "html" , args : [{ name : "Chunk size" , type : "number" , value : Entropy . CHUNK_SIZE }]}, "Frequency distribution" : { description : "Displays the distribution of bytes in the data as a graph." , run : Entropy . runFreqDistrib , inputType : "byteArray" , outputType : "html" , args : [{ name : "Show 0%'s" , type : "boolean" , value : Entropy . FREQ_ZEROS }]}, Numberwang : { description : "Based on the popular gameshow by Mitchell and Webb." , run : Numberwang . run , inputType : "string" , outputType : "string" , args : []}, "Parse X.509 certificate" : { description : "X.509 is an ITU-T standard
2017-02-10 12:21:51 +00:00
this.options.updateUrl&&(this.lastStateUrl=this.manager.controls.generateStateUrl(!0,!0),window.history.replaceState({}," CyberChef ",this.lastStateUrl))},HTMLApp.prototype.popState=function(a){window.location.href.split(" # ")[0]!==this.lastStateUrl&&this.loadURIParams()},HTMLApp.prototype.callApi=function(a,b,c,d,e){b=b||" POST ",c=c||{},d=d||void 0,e=e||" application / json ";var f=null,g=!1;return $.ajax({url:a,async:!1,type:b,data:c,dataType:d,contentType:e,success:function(a){g=!0,f=a},error:function(a){g=!1,f=a}}),{success:g,response:f}};var HTMLCategory=function(a,b){this.name=a,this.selected=b,this.opList=[]};HTMLCategory.prototype.addOperation=function(a){this.opList.push(a)},HTMLCategory.prototype.toHtml=function(){for(var a=" cat "+this.name.replace(/[\s\/-:_]/g,""),b=" < div class = 'panel category' > < a class = 'category-title' data - toggle = 'collapse' data - parent = '#categories' href = '#"+a+"' > "+this.name+" < /a> <div id='"+a+"' class='panel-collapse collapse "+(this.selected?" in":"")+"'><ul class='op-list'>",c=0;c<this.opList.length;c++)b+=this.opList[c].toStubHtml();return b+="</ul></div></div>"};var HTMLIngredient=function(a,b,c){this.app=b,this.manager=c,this.name=a.name,this.type=a.type,this.value=a.value,this.disabled=a.disabled||!1,this.disableArgs=a.disableArgs||!1,this.placeholder=a.placeholder||!1,this.target=a.target,this.toggleValues=a.toggleValues,this.id="ing-"+this.app.nextIngId()};HTMLIngredient.prototype.toHtml=function(){var a,b,c="boolean"===this.type||"number"===this.type||"option"===this.type||"shortString"===this.type||"binaryShortString"===this.type,d=c?"":"<div class='clearfix'> </div>";switch(d+="<div class='arg-group"+(c?" inline-args":"")+("text"===this.type?" arg-group-text":"")+"'><label class='arg-label' for='"+this.id+"'>"+this.name+"</label>",this.type){case"string":case"binaryString":case"byteArray":d+="<input type='text' id='"+this.id+"' class='arg arg-input' arg-name='"+this.name+"' value='"+this.value+"'"+(this.disabled?" disabled='disabled'":"")+(this.placeholder?" placeholder='"+this.placeholder+"'":"")+">";break;case"shortString":case"binaryShortString":d+="<input type='text' id='"+this.id+"'class='arg arg-input short-string' arg-name='"+this.name+"'value='"+this.value+"'"+(this.disabled?" disabled='disabled'":"")+(this.placeholder?" placeholder='"+this.placeholder+"'":"")+">";break;case"toggleString":for(d+="<div class='input-group'><div class='input-group-btn'> <button type='button' class='btn btn-default dropdown-toggle' data-toggle='dropdown' aria-haspopup='true' aria-expanded='false'"+(this.disabled?" disabled='disabled'":"")+">"+this.toggleValues[0]+" <span class='caret'></span></button><ul class='dropdown-menu'>",a=0;a<this.toggleValues.length;a++)d+="<li><a href='#'>"+this.toggleValues[a]+"</a></li>";d+="</ul></div><input type='text' class='arg arg-input toggle-string'"+(this.disabled?" disabled='disabled'":"")+(this.placeholder?" placeholder='"+this.placeholder+"'":"")+"></div>";break;case"number":d+="<input type='number' id='"+this.id+"'class='arg arg-input' arg-name='"+this.name+"'value='"+this.value+"'"+(this.disabled?" disabled='disabled'":"")+(this.placeholder?" placeholder='"+this.placeholder+"'":"")+">";break;case"boolean":d+="<input type='checkbox' id='"+this.id+"'class='arg' arg-name='"+this.name+"'"+(this.value?" checked='checked' ":"")+(this.disabled?" disabled='disabled'":"")+">",this.disableArgs&&this.manager.addDynamicListener("#"+this.id,"click",this.toggleDisableArgs,this);break;case"option":for(d+="<select class='arg' id='"+this.id+"'arg-name='"+this.name+"'"+(this.disabled?" disabled='disabled'":"")+">",a=0;a<this.value.length;a++)d+=(b=this.value[a].match(/\[([a-z0-9 -()^]+)\]/i))?"<optgroup label='"+b[1]+"'>":(b=this.value[a].match(/\[\/([a-z0-9 -()^]+)\]/i))?"</optgroup>":"<option>"+this.value[a]+"</option>";d+="</select>";break;case"populateOption":for(d+="<select class='arg' id='"+this.id+"'arg-name='"+this.name+"'"+(this.disabled?" disabled='disabled'":"")+">",a=0;a<this.va
2017-02-10 16:39:32 +00:00
}, onEnd : this . opSortEnd . bind ( this )})}, RecipeWaiter . prototype . opSortEnd = function ( a ){ return this . removeIntent ? void ( "rec-list" === a . item . parentNode . id && a . item . remove ()) : ( $ ( a . clone ). popover (), $ ( a . clone ). children ( "[data-toggle=popover]" ). popover (), void ( "rec-list" === a . item . parentNode . id && ( this . buildRecipeOperation ( a . item ), a . item . dispatchEvent ( this . manager . operationadd ))))}, RecipeWaiter . prototype . favDragover = function ( a ){ return "move" === a . dataTransfer . effectAllowed && ( a . stopPropagation (), a . preventDefault (), void ( a . target . className && a . target . className . indexOf ( "category-title" ) >- 1 ? a . target . classList . add ( "favourites-hover" ) : a . target . parentNode . className && a . target . parentNode . className . indexOf ( "category-title" ) >- 1 ? a . target . parentNode . classList . add ( "favourites-hover" ) : a . target . parentNode . parentNode . className && a . target . parentNode . parentNode . className . indexOf ( "category-title" ) >- 1 && a . target . parentNode . parentNode . classList . add ( "favourites-hover" )))}, RecipeWaiter . prototype . favDragleave = function ( a ){ a . stopPropagation (), a . preventDefault (), document . querySelector ( "#categories a" ). classList . remove ( "favourites-hover" )}, RecipeWaiter . prototype . favDrop = function ( a ){ a . stopPropagation (), a . preventDefault (), a . target . classList . remove ( "favourites-hover" ); var b = a . dataTransfer . getData ( "Text" ); this . app . addFavourite ( b )}, RecipeWaiter . prototype . ingChange = function (){ window . dispatchEvent ( this . manager . statechange )}, RecipeWaiter . prototype . disableClick = function ( a ){ var b = a . target ; "false" === b . getAttribute ( "disabled" ) ? ( b . setAttribute ( "disabled" , "true" ), b . classList . add ( "disable-icon-selected" ), b . parentNode . parentNode . classList . add ( "disabled" )) : ( b . setAttribute ( "disabled" , "false" ), b . classList . remove ( "disable-icon-selected" ), b . parentNode . parentNode . classList . remove ( "disabled" )), this . app . progress = 0 , window . dispatchEvent ( this . manager . statechange )}, RecipeWaiter . prototype . breakpointClick = function ( a ){ var b = a . target ; "false" === b . getAttribute ( "break" ) ? ( b . setAttribute ( "break" , "true" ), b . classList . add ( "breakpoint-selected" )) : ( b . setAttribute ( "break" , "false" ), b . classList . remove ( "breakpoint-selected" )), window . dispatchEvent ( this . manager . statechange )}, RecipeWaiter . prototype . operationDblclick = function ( a ){ a . target . remove (), window . dispatchEvent ( this . manager . statechange )}, RecipeWaiter . prototype . operationChildDblclick = function ( a ){ a . target . parentNode . remove (), window . dispatchEvent ( this . manager . statechange )}, RecipeWaiter . prototype . getConfig = function (){ for ( var a , b , c , d , e , f = [], g = document . querySelectorAll ( "#rec-list li.operation" ), h = 0 ; h < g . length ; h ++ ){ a = [], c = g [ h ]. querySelector ( ".disable-icon" ), d = g [ h ]. querySelector ( ".breakpoint" ), b = g [ h ]. querySelectorAll ( ".arg" ); for ( var i = 0 ; i < b . length ; i ++ ) "checkbox" === b [ i ]. getAttribute ( "type" ) ? a [ i ] = b [ i ]. checked : b [ i ]. classList . contains ( "toggle-string" ) ? a [ i ] = { option : b [ i ]. previousSibling . children [ 0 ]. textContent . slice ( 0 , - 1 ), string : b [ i ]. value } : a [ i ] = b [ i ]. value ; e = { op : g [ h ]. querySelector ( ".arg-title" ). textContent , args : a }, c && "true" === c . getAttribute ( "disabled" ) && ( e . disabled =! 0 ), d && "true" === d . getAttribute ( "break" ) && ( e . breakpoint =! 0 ), f . push ( e )} return f }, RecipeWaiter . prototype . updateBreakpointIndicator = function ( a ){ for ( var b = document . querySelectorAll ( "#rec-list li.operation" ), c = 0 ; c < b . length ; c ++ ) c === a ? b [ c ]. classList . add ( "break" ) : b [ c ]. classList . remove ( "break" )}, RecipeWaiter . prototype . buildRecipeOperation = function ( a ){ var b = a . textContent , c = new HTMLOperation ( b , this . app . operations [ b ], this . app , this . manager ); a . innerHTML = c . toFullHtml (), this . app . operations [ b ]. flowControl && a . classList . add ( "flow-control-op" ), c . manualBake && this . app . autoBake_ && ( this . manager . controls . setAutoBake ( ! 1 ), this . app . alert ( "Auto-Bake is disabled by default when using this operation." , "info" , 5e3 ))}, RecipeWaiter . prototype . addOperation = function ( a ){ var b = document . createElement ( "li" ); return b . classList . add ( "operation" ), b . innerHTML = a , this . buildRecipeOperation ( b ), document . getElementById ( "rec-list" ). appendChild ( b ), b . dispatchEvent ( this . manager . operationadd ), b }, RecipeWaiter . prototype . clearRecipe = function (){ for ( var a = document . getElementById ( "rec-list" ); a . firstChild ;) a . removeChild ( a . firstChild ); a . dispatchEvent ( this . manager . operationremove )}, R