2015-11-22 22:36:53 +08:00
var requirejs , require , define ; ! function ( ba ) { function G ( e ) { return "[object Function]" === K . call ( e ) } function H ( e ) { return "[object Array]" === K . call ( e ) } function v ( e , t ) { if ( e ) { var i ; for ( i = 0 ; i < e . length && ( ! e [ i ] || ! t ( e [ i ] , i , e ) ) ; i += 1 ) ; } } function T ( e , t ) { if ( e ) { var i ; for ( i = e . length - 1 ; i > - 1 && ( ! e [ i ] || ! t ( e [ i ] , i , e ) ) ; i -= 1 ) ; } } function t ( e , t ) { return fa . call ( e , t ) } function m ( e , i ) { return t ( e , i ) && e [ i ] } function B ( e , i ) { for ( var n in e ) if ( t ( e , n ) && i ( e [ n ] , n ) ) break } function U ( e , i , n , r ) { return i && B ( i , function ( i , o ) { ( n || ! t ( e , o ) ) && ( ! r || "object" != typeof i || ! i || H ( i ) || G ( i ) || i instanceof RegExp ? e [ o ] = i : ( e [ o ] || ( e [ o ] = { } ) , U ( e [ o ] , i , n , r ) ) ) } ) , e } function u ( e , t ) { return function ( ) { return t . apply ( e , arguments ) } } function ca ( e ) { throw e } function da ( e ) { if ( ! e ) return e ; var t = ba ; return v ( e . split ( "." ) , function ( e ) { t = t [ e ] } ) , t } function C ( e , t , i , n ) { return t = Error ( t + "\nhttp://requirejs.org/docs/errors.html#" + e ) , t . requireType = e , t . requireModules = n , i && ( t . originalError = i ) , t } function ga ( e ) { function i ( e , t , i ) { var n , r , o , a , s , u , d , c , t = t && t . split ( "/" ) , f = D . map , p = f && f [ "*" ] ; if ( e ) { for ( e = e . split ( "/" ) , r = e . length - 1 , D . nodeIdCompat && Q . test ( e [ r ] ) && ( e [ r ] = e [ r ] . replace ( Q , "" ) ) , "." === e [ 0 ] . charAt ( 0 ) && t && ( r = t . slice ( 0 , t . length - 1 ) , e = r . concat ( e ) ) , r = e , o = 0 ; o < r . length ; o ++ ) a = r [ o ] , "." === a ? ( r . splice ( o , 1 ) , o -= 1 ) : ".." === a && 0 !== o && ( 1 != o || ".." !== r [ 2 ] ) && ".." !== r [ o - 1 ] && o > 0 && ( r . splice ( o - 1 , 2 ) , o -= 2 ) ; e = e . join ( "/" ) } if ( i && f && ( t || p ) ) { r = e . split ( "/" ) , o = r . length ; e : for ( ; o > 0 ; o -= 1 ) { if ( s = r . slice ( 0 , o ) . join ( "/" ) , t ) for ( a = t . length ; a > 0 ; a -= 1 ) if ( ( i = m ( f , t . slice ( 0 , a ) . join ( "/" ) ) ) && ( i = m ( i , s ) ) ) { n = i , u = o ; break e } ! d && p && m ( p , s ) && ( d = m ( p , s ) , c = o ) } ! n && d && ( n = d , u = c ) , n && ( r . splice ( 0 , u , n ) , e = r . join ( "/" ) ) } return ( n = m ( D . pkgs , e ) ) ? n : e } function n ( e ) { z && v ( document . getElementsByTagName ( "script" ) , function ( t ) { return t . getAttribute ( "data-requiremodule" ) === e && t . getAttribute ( "data-requirecontext" ) === k . contextName ? ( t . parentNode . removeChild ( t ) , ! 0 ) : void 0 } ) } function r ( e ) { var t = m ( D . paths , e ) ; return t && H ( t ) && 1 < t . length ? ( t . shift ( ) , k . require . undef ( e ) , k . makeRequire ( null , { skipMap : ! 0 } ) ( [ e ] ) , ! 0 ) : void 0 } function o ( e ) { var t , i = e ? e . indexOf ( "!" ) : - 1 ; return i > - 1 && ( t = e . substring ( 0 , i ) , e = e . substring ( i + 1 , e . length ) ) , [ t , e ] } function a ( e , t , n , r ) { var a , s , u = null , d = t ? t . name : null , c = e , f = ! 0 , p = "" ; return e || ( f = ! 1 , e = "_@r" + ( J += 1 ) ) , e = o ( e ) , u = e [ 0 ] , e = e [ 1 ] , u && ( u = i ( u , d , r ) , s = m ( F , u ) ) , e && ( u ? p = s && s . normalize ? s . normalize ( e , function ( e ) { return i ( e , d , r ) } ) : - 1 === e . indexOf ( "!" ) ? i ( e , d , r ) : e : ( p = i ( e , d , r ) , e = o ( p ) , u = e [ 0 ] , p = e [ 1 ] , n = ! 0 , a = k . nameToUrl ( p ) ) ) , n = ! u || s || n ? "" : "_unnormalized" + ( P += 1 ) , { prefix : u , name : p , parentMap : t , unnormalized : ! ! n , url : a , originalName : c , isDefine : f , id : ( u ? u + "!" + p : p ) + n } } function s ( e ) { var t = e . id , i = m ( w , t ) ; return i || ( i = w [ t ] = new k . Module ( e ) ) , i } function d ( e , i , n ) { var r = e . id , o = m ( w , r ) ; ! t ( F , r ) || o && ! o . defineEmitComplete ? ( o = s ( e ) , o . error && "error" === i ? n ( o . error ) : o . on ( i , n ) ) : "defined" === i && n ( F [ r ] ) } function c ( e , t ) { var i = e . requireModules , n = ! 1 ; t ? t ( e ) : ( v ( i , function ( t ) { ( t = m ( w , t ) ) && ( t . error = e , t . events . error && ( n = ! 0 , t . emit ( "error" , e ) ) ) } ) , n || g . onError ( e ) ) } function f ( ) { R . length && ( ha . apply ( O , [ O . length , 0 ] . concat ( R ) ) , R = [ ] ) } function p ( e ) { delete w [ e ] , delete A [ e ] } function l ( e , t , i ) { var n = e . map . id ; e . error ? e . emit ( "error" , e . error ) : ( t [ n ] = ! 0 , v ( e . depMaps , function ( n , r ) { var o = n . id , a = m ( w , o ) ; a && ! e . depMatched [ r ] && ! i [ o ] && ( m ( t , o ) ? ( e . defineDep ( r , F [ o ] ) , e . check ( ) ) : l ( a , t , i ) ) } ) , i [ n ] = ! 0 ) } function h ( ) { var e , t , i = ( e = 1e3 * D . waitSeconds ) && k . startTime + e < ( new Date ) . getTime ( ) , o = [ ] , a = [ ] , s = ! 1 , u = ! 0 ; if ( ! y ) { if ( y = ! 0 , B ( A , function ( e ) { var d = e . map , c = d . id ; if ( e . enabled && ( d . isDefine || a . push ( e ) , ! e . error ) ) if ( ! e . inited && i ) r ( c ) ? s = t = ! 0 : ( o . push ( c ) , n ( c ) ) ; else if ( ! e . inited && e . fetched && d . isDefine && ( s = ! 0 , ! d . prefix ) ) return u = ! 1 } ) , i && o . length ) return e = C ( "timeout" , "Load timeout for modules: " + o , null , o ) , e . contextName = k . contextName , c ( e ) ; u && v ( a , function ( e ) { l ( e , { } , { } ) } ) , i && ! t || ! s || ! z && ! ea || S || ( S = setTimeout ( function ( ) { S = 0 , h ( ) } , 50 ) ) , y = ! 1 } } function x ( e ) { t ( F , e [ 0 ] ) || s ( a ( e [ 0 ] , null , ! 0 ) ) . init ( e [ 1 ] , e [ 2 ] ) } function b ( e ) { var e = e . currentTarget || e . srcElement , t = k . onScriptLoad ; return e . detachEvent && ! Y ? e . detachEvent ( "onreadystatechange" , t ) : e . removeEventListener ( "load" , t , ! 1 ) , t = k . onScriptError , ( ! e . detachEvent || Y ) && e . removeEventListener ( "error" , t , ! 1 ) , { node : e , id : e && e . getAttribute ( "data-requiremodule" ) } } function q ( ) { var e ; for ( f ( ) ; O . length ; ) { if
2015-11-28 15:56:25 +08:00
( function ( ) { var e = this , n = e . _ , t = { } , r = Array . prototype , a = Object . prototype , i = Function . prototype , o = r . push , s = r . slice , l = r . concat , c = a . toString , u = a . hasOwnProperty , d = r . forEach , p = r . map , f = r . reduce , m = r . reduceRight , g = r . filter , h = r . every , v = r . some , b = r . indexOf , w = r . lastIndexOf , x = Array . isArray , y = Object . keys , C = i . bind , k = function ( e ) { return e instanceof k ? e : this instanceof k ? void ( this . _wrapped = e ) : new k ( e ) } ; "undefined" != typeof exports ? ( "undefined" != typeof module && module . exports && ( exports = module . exports = k ) , exports . _ = k ) : e . _ = k , k . VERSION = "1.5.1" ; var S = k . each = k . forEach = function ( e , n , r ) { if ( null != e ) if ( d && e . forEach === d ) e . forEach ( n , r ) ; else if ( e . length === + e . length ) { for ( var a = 0 , i = e . length ; i > a ; a ++ ) if ( n . call ( r , e [ a ] , a , e ) === t ) return } else for ( var o in e ) if ( k . has ( e , o ) && n . call ( r , e [ o ] , o , e ) === t ) return } ; k . map = k . collect = function ( e , n , t ) { var r = [ ] ; return null == e ? r : p && e . map === p ? e . map ( n , t ) : ( S ( e , function ( e , a , i ) { r . push ( n . call ( t , e , a , i ) ) } ) , r ) } ; var _ = "Reduce of empty array with no initial value" ; k . reduce = k . foldl = k . inject = function ( e , n , t , r ) { var a = arguments . length > 2 ; if ( null == e && ( e = [ ] ) , f && e . reduce === f ) return r && ( n = k . bind ( n , r ) ) , a ? e . reduce ( n , t ) : e . reduce ( n ) ; if ( S ( e , function ( e , i , o ) { a ? t = n . call ( r , t , e , i , o ) : ( t = e , a = ! 0 ) } ) , ! a ) throw new TypeError ( _ ) ; return t } , k . reduceRight = k . foldr = function ( e , n , t , r ) { var a = arguments . length > 2 ; if ( null == e && ( e = [ ] ) , m && e . reduceRight === m ) return r && ( n = k . bind ( n , r ) ) , a ? e . reduceRight ( n , t ) : e . reduceRight ( n ) ; var i = e . length ; if ( i !== + i ) { var o = k . keys ( e ) ; i = o . length } if ( S ( e , function ( s , l , c ) { l = o ? o [ -- i ] : -- i , a ? t = n . call ( r , t , e [ l ] , l , c ) : ( t = e [ l ] , a = ! 0 ) } ) , ! a ) throw new TypeError ( _ ) ; return t } , k . find = k . detect = function ( e , n , t ) { var r ; return E ( e , function ( e , a , i ) { return n . call ( t , e , a , i ) ? ( r = e , ! 0 ) : void 0 } ) , r } , k . filter = k . select = function ( e , n , t ) { var r = [ ] ; return null == e ? r : g && e . filter === g ? e . filter ( n , t ) : ( S ( e , function ( e , a , i ) { n . call ( t , e , a , i ) && r . push ( e ) } ) , r ) } , k . reject = function ( e , n , t ) { return k . filter ( e , function ( e , r , a ) { return ! n . call ( t , e , r , a ) } , t ) } , k . every = k . all = function ( e , n , r ) { n || ( n = k . identity ) ; var a = ! 0 ; return null == e ? a : h && e . every === h ? e . every ( n , r ) : ( S ( e , function ( e , i , o ) { return ( a = a && n . call ( r , e , i , o ) ) ? void 0 : t } ) , ! ! a ) } ; var E = k . some = k . any = function ( e , n , r ) { n || ( n = k . identity ) ; var a = ! 1 ; return null == e ? a : v && e . some === v ? e . some ( n , r ) : ( S ( e , function ( e , i , o ) { return a || ( a = n . call ( r , e , i , o ) ) ? t : void 0 } ) , ! ! a ) } ; k . contains = k . include = function ( e , n ) { return null == e ? ! 1 : b && e . indexOf === b ? - 1 != e . indexOf ( n ) : E ( e , function ( e ) { return e === n } ) } , k . invoke = function ( e , n ) { var t = s . call ( arguments , 2 ) , r = k . isFunction ( n ) ; return k . map ( e , function ( e ) { return ( r ? n : e [ n ] ) . apply ( e , t ) } ) } , k . pluck = function ( e , n ) { return k . map ( e , function ( e ) { return e [ n ] } ) } , k . where = function ( e , n , t ) { return k . isEmpty ( n ) ? t ? void 0 : [ ] : k [ t ? "find" : "filter" ] ( e , function ( e ) { for ( var t in n ) if ( n [ t ] !== e [ t ] ) return ! 1 ; return ! 0 } ) } , k . findWhere = function ( e , n ) { return k . where ( e , n , ! 0 ) } , k . max = function ( e , n , t ) { if ( ! n && k . isArray ( e ) && e [ 0 ] === + e [ 0 ] && e . length < 65535 ) return Math . max . apply ( Math , e ) ; if ( ! n && k . isEmpty ( e ) ) return - 1 / 0 ; var r = { computed : - 1 / 0 , value : - 1 / 0 } ; return S ( e , function ( e , a , i ) { var o = n ? n . call ( t , e , a , i ) : e ; o > r . computed && ( r = { value : e , computed : o } ) } ) , r . value } , k . min = function ( e , n , t ) { if ( ! n && k . isArray ( e ) && e [ 0 ] === + e [ 0 ] && e . length < 65535 ) return Math . min . apply ( Math , e ) ; if ( ! n && k . isEmpty ( e ) ) return 1 / 0 ; var r = { computed : 1 / 0 , value : 1 / 0 } ; return S ( e , function ( e , a , i ) { var o = n ? n . call ( t , e , a , i ) : e ; o < r . computed && ( r = { value : e , computed : o } ) } ) , r . value } , k . shuffle = function ( e ) { var n , t = 0 , r = [ ] ; return S ( e , function ( e ) { n = k . random ( t ++ ) , r [ t - 1 ] = r [ n ] , r [ n ] = e } ) , r } ; var T = function ( e ) { return k . isFunction ( e ) ? e : function ( n ) { return n [ e ] } } ; k . sortBy = function ( e , n , t ) { var r = T ( n ) ; return k . pluck ( k . map ( e , function ( e , n , a ) { return { value : e , index : n , criteria : r . call ( t , e , n , a ) } } ) . sort ( function ( e , n ) { var t = e . criteria , r = n . criteria ; if ( t !== r ) { if ( t > r || void 0 === t ) return 1 ; if ( r > t || void 0 === r ) return - 1 } return e . index < n . index ? - 1 : 1 } ) , "value" ) } ; var I = function ( e , n , t , r ) { var a = { } , i = T ( null == n ? k . identity : n ) ; return S ( e , function ( n , o ) { var s = i . call ( t , n , o , e ) ; r ( a , s , n ) } ) , a } ; k . groupBy = function ( e , n , t ) { return I ( e , n , t , function ( e , n , t ) { ( k . has ( e , n ) ? e [ n ] : e [ n ] = [ ] ) . push ( t ) } ) } , k . countBy = function ( e , n , t ) { return I ( e , n , t , function ( e , n ) { k . has ( e , n ) || ( e [ n ] = 0 ) , e [ n ] ++ } ) } , k . sortedIndex = function ( e , n , t , r ) { t = null == t ? k . identity : T ( t ) ; for ( var a = t . call ( r , n ) , i = 0 , o
} , { name : "InByzantine_Musical_Symbols" , astral : "<22> [<5B> -<2D> ]" } , { name : "InCJK_Compatibility" , bmp : "㌀-㏿" } , { name : "InCJK_Compatibility_Forms" , bmp : "︰ -﹏ " } , { name : "InCJK_Compatibility_Ideographs" , bmp : "豈-" } , { name : "InCJK_Compatibility_Ideographs_Supplement" , astral : "<22> [<5B> -<2D> ]" } , { name : "InCJK_Radicals_Supplement" , bmp : "⺀-" } , { name : "InCJK_Strokes" , bmp : "㇀-" } , { name : "InCJK_Symbols_and_Punctuation" , bmp : " -〿" } , { name : "InCJK_Unified_Ideographs" , bmp : "一-鿿" } , { name : "InCJK_Unified_Ideographs_Extension_A" , bmp : "㐀-䶿" } , { name : "InCJK_Unified_Ideographs_Extension_B" , astral : "[<5B> -<2D> ][<5B> -<2D> ]|<7C> [<5B> -<2D> ]" } , { name : "InCJK_Unified_Ideographs_Extension_C" , astral : "<22> [<5B> -<2D> ]|[<5B> -<2D> ][<5B> -<2D> ]|<7C> [<5B> -<2D> ]" } , { name : "InCJK_Unified_Ideographs_Extension_D" , astral : "<22> [<5B> -<2D> ]|<7C> [<5B> -<2D> ]" } , { name : "InCarian" , astral : "<22> [<5B> -<2D> ]" } , { name : "InChakma" , astral : "<22> [<5B> -<2D> ]" } , { name : "InCham" , bmp : "ꨀ-꩟" } , { name : "InCherokee" , bmp : "Ꭰ -" } , { name : "InCombining_Diacritical_Marks" , bmp : "̀-ͯ" } , { name : "InCombining_Diacritical_Marks_Supplement" , bmp : "᷀-᷿" } , { name : "InCombining_Diacritical_Marks_for_Symbols" , bmp : "⃐-" } , { name : "InCombining_Half_Marks" , bmp : "︠-︯" } , { name : "InCommon_Indic_Number_Forms" , bmp : "꠰-" } , { name : "InControl_Pictures" , bmp : "␀-" } , { name : "InCoptic" , bmp : "Ⲁ-⳿" } , { name : "InCounting_Rod_Numerals" , astral : "<22> [<5B> -<2D> ]" } , { name : "InCuneiform" , astral : "<22> [<5B> -<2D> ]" } , { name : "InCuneiform_Numbers_and_Punctuation" , astral : "<22> [<5B> -<2D> ]" } , { name : "InCurrency_Symbols" , bmp : "₠-" } , { name : "InCypriot_Syllabary" , astral : "<22> [<5B> -<2D> ]" } , { name : "InCyrillic" , bmp : "Ѐ-ӿ" } , { name : "InCyrillic_Extended_A" , bmp : "ⷠ-ⷿ" } , { name : "InCyrillic_Extended_B" , bmp : "Ꙁ-ꚟ" } , { name : "InCyrillic_Supplement" , bmp : "Ԁ-ԯ" } , { name : "InDeseret" , astral : "<22> [<5B> -<2D> ]" } , { name : "InDevanagari" , bmp : "ऀ-ॿ" } , { name : "InDevanagari_Extended" , bmp : "꣠-ꣿ" } , { name : "InDingbats" , bmp : "✀-➿" } , { name : "InDomino_Tiles" , astral : "<22> [<5B> -<2D> ]" } , { name : "InEgyptian_Hieroglyphs" , astral : "<22> [<5B> -<2D> ]|<7C> [<5B> -<2D> ]" } , { name : "InEmoticons" , astral : "<22> [<5B> -<2D> ]" } , { name : "InEnclosed_Alphanumeric_Supplement" , astral : "<22> [<5B> -<2D> ]" } , { name : "InEnclosed_Alphanumerics" , bmp : "①-⓿" } , { name : "InEnclosed_CJK_Letters_and_Months" , bmp : "㈀-㋿" } , { name : "InEnclosed_Ideographic_Supplement" , astral : "<22> [<5B> -<2D> ]" } , { name : "InEthiopic" , bmp : "ሀ -" } , { name : "InEthiopic_Extended" , bmp : "ⶀ-" } , { name : "InEthiopic_Extended_A" , bmp : "-" } , { name : "InEthiopic_Supplement" , bmp : "ᎀ-" } , { name : "InGeneral_Punctuation" , bmp : " - " } , { name : "InGeometric_Shapes" , bmp : "■-◿" } , { name : "InGeorgian" , bmp : "Ⴀ-ჿ " } , { name : "InGeorgian_Supplement" , bmp : "ⴀ-" } , { name : "InGlagolitic" , bmp : "Ⰰ-ⱟ" } , { name : "InGothic" , astral : "<22> [<5B> -<2D> ]" } , { name : "InGreek_Extended" , bmp : "ἀ-" } , { name : "InGreek_and_Coptic" , bmp : "Ͱ-Ͽ" } , { name : "InGujarati" , bmp : "-૿" } , { name : "InGurmukhi" , bmp : "-" } , { name : "InHalfwidth_and_Fullwidth_Forms" , bmp : "-" } , { name : "InHangul_Compatibility_Jamo" , bmp : "-" } , { name : "InHangul_Jamo" , bmp : "ᄀ-ᇿ" } , { name : "InHangul_Jamo_Extended_A" , bmp : "ꥠ-" } , { name : "InHangul_Jamo_Extended_B" , bmp : "ힰ-" } , { name : "InHangul_Syllables" , bmp : "가-" } , { name : "InHanunoo" , bmp : "ᜠ-" } , { name : "InHebrew" , bmp : "-" } , { name : "InHigh_Private_Use_Surrogates" , bmp : "<22> -<2D> " } , { name : "InHigh_Surrogates" , bmp : "<22> -<2D> " } , { name : "InHiragana" , bmp : "-ゟ" } , { name : "InIPA_Extensions" , bmp : "ɐ-ʯ" } , { name : "InIdeographic_Description_Characters" , bmp : "⿰-" } , { name : "InImperial_Aramaic" , astral : "<22> [<5B> -<2D> ]" } , { name : "InInscriptional_Pahlavi" , astral : "<22> [<5B> -<2D> ]" } , { name : "InInscriptional_Parthian" , astral : "<22> [<5B> -<2D> ]" } , { name : "InJavanese" , bmp : "ꦀ-꧟" } , { name : "InKaithi" , astral : "<22> [<5B> -<2D> ]" } , { name : "InKana_Supplement" , astral : "<22> [<5B> -<2D> ]" } , { name : "InKanbun" , bmp : "㆐-㆟" } , { name : "InKangxi_Radicals" , bmp : "⼀-" } , { name : "InKannada" , bmp : "ಀ-" } , { name : "InKatakana" , bmp : "゠ -ヿ" } , { name : "InKatakana_Phonetic_Extensions" , bmp : "ㇰ-ㇿ" } , { name : "InKayah_Li" , bmp : "꤀-꤯" } , { name : "InKharoshthi" , astral : "<22> [<5B> -<2D> ]" } , { name : "InKhmer" , bmp : "ក-" } , { name : "InKhmer_Symbols" , bmp : "᧠-᧿" } , { name : "InLao" , bmp : "-" } , { name : "InLatin_Extended_Additional" , bmp : "Ḁ-ỿ " } , {
if ( "(" === u ) ++ c ; else if ( "\\" === u . charAt ( 0 ) ) { var d = + u . substring ( 1 ) ; d && ( c >= d ? s [ d ] = - 1 : n [ l ] = t ( d ) ) } } for ( var l = 1 ; l < s . length ; ++ l ) - 1 === s [ l ] && ( s [ l ] = ++ i ) ; for ( var l = 0 , c = 0 ; a > l ; ++ l ) { var u = n [ l ] ; if ( "(" === u ) ++ c , s [ c ] || ( n [ l ] = "(?:" ) ; else if ( "\\" === u . charAt ( 0 ) ) { var d = + u . substring ( 1 ) ; d && c >= d && ( n [ l ] = "\\" + s [ d ] ) } } for ( var l = 0 ; a > l ; ++ l ) "^" === n [ l ] && "^" !== n [ l + 1 ] && ( n [ l ] = "" ) ; if ( e . ignoreCase && o ) for ( var l = 0 ; a > l ; ++ l ) { var u = n [ l ] , p = u . charAt ( 0 ) ; u . length >= 2 && "[" === p ? n [ l ] = r ( u ) : "\\" !== p && ( n [ l ] = u . replace ( /[a-zA-Z]/g , function ( e ) { var n = e . charCodeAt ( 0 ) ; return "[" + String . fromCharCode ( - 33 & n , 32 | n ) + "]" } ) ) } return n . join ( "" ) } for ( var i = 0 , o = ! 1 , s = ! 1 , l = 0 , c = e . length ; c > l ; ++ l ) { var u = e [ l ] ; if ( u . ignoreCase ) s = ! 0 ; else if ( /[a-z]/i . test ( u . source . replace ( /\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi , "" ) ) ) { o = ! 0 , s = ! 1 ; break } } for ( var d = { b : 8 , t : 9 , n : 10 , v : 11 , f : 12 , r : 13 } , p = [ ] , l = 0 , c = e . length ; c > l ; ++ l ) { var u = e [ l ] ; if ( u . global || u . multiline ) throw new Error ( "" + u ) ; p . push ( "(?:" + a ( u ) + ")" ) } return new RegExp ( p . join ( "|" ) , s ? "gi" : "g" ) } function n ( e , n ) { function t ( e ) { var l = e . nodeType ; if ( 1 == l ) { if ( r . test ( e . className ) ) return ; for ( var c = e . firstChild ; c ; c = c . nextSibling ) t ( c ) ; var u = e . nodeName . toLowerCase ( ) ; ( "br" === u || "li" === u ) && ( a [ s ] = "\n" , o [ s << 1 ] = i ++ , o [ s ++ << 1 | 1 ] = e ) } else if ( 3 == l || 4 == l ) { var d = e . nodeValue ; d . length && ( d = n ? d . replace ( /\r\n?/g , "\n" ) : d . replace ( /[ \t\r\n]+/g , " " ) , a [ s ] = d , o [ s << 1 ] = i , i += d . length , o [ s ++ << 1 | 1 ] = e ) } } var r = /(?:^|\s)nocode(?:\s|$)/ , a = [ ] , i = 0 , o = [ ] , s = 0 ; return t ( e ) , { sourceCode : a . join ( "" ) . replace ( /\n$/ , "" ) , spans : o } } function t ( e , n , t , r ) { if ( n ) { var a = { sourceCode : n , basePos : e } ; t ( a ) , r . push . apply ( r , a . decorations ) } } function r ( e ) { for ( var n = void 0 , t = e . firstChild ; t ; t = t . nextSibling ) { var r = t . nodeType ; n = 1 === r ? n ? e : t : 3 === r && U . test ( t . nodeValue ) ? e : n } return n === e ? void 0 : n } function a ( n , r ) { var a , i = { } ; ! function ( ) { for ( var t = n . concat ( r ) , o = [ ] , s = { } , l = 0 , c = t . length ; c > l ; ++ l ) { var u = t [ l ] , d = u [ 3 ] ; if ( d ) for ( var p = d . length ; -- p >= 0 ; ) i [ d . charAt ( p ) ] = u ; var f = u [ 1 ] , m = "" + f ; s . hasOwnProperty ( m ) || ( o . push ( f ) , s [ m ] = null ) } o . push ( /[\0-\uffff]/ ) , a = e ( o ) } ( ) ; var o = r . length , s = function ( e ) { for ( var n = e . sourceCode , l = e . basePos , u = [ l , P ] , d = 0 , p = n . match ( a ) || [ ] , f = { } , m = 0 , g = p . length ; g > m ; ++ m ) { var h , v = p [ m ] , b = f [ v ] , w = void 0 ; if ( "string" == typeof b ) h = ! 1 ; else { var x = i [ v . charAt ( 0 ) ] ; if ( x ) w = v . match ( x [ 1 ] ) , b = x [ 0 ] ; else { for ( var y = 0 ; o > y ; ++ y ) if ( x = r [ y ] , w = v . match ( x [ 1 ] ) ) { b = x [ 0 ] ; break } w || ( b = P ) } h = b . length >= 5 && "lang-" === b . substring ( 0 , 5 ) , ! h || w && "string" == typeof w [ 1 ] || ( h = ! 1 , b = O ) , h || ( f [ v ] = b ) } var C = d ; if ( d += v . length , h ) { var k = w [ 1 ] , S = v . indexOf ( k ) , _ = S + k . length ; w [ 2 ] && ( _ = v . length - w [ 2 ] . length , S = _ - k . length ) ; var E = b . substring ( 5 ) ; t ( l + C , v . substring ( 0 , S ) , s , u ) , t ( l + C + S , k , c ( E , k ) , u ) , t ( l + C + _ , v . substring ( _ ) , s , u ) } else u . push ( l + C , b ) } e . decorations = u } ; return s } function i ( e ) { var n = [ ] , t = [ ] ; n . push ( e . tripleQuotedStrings ? [ M , /^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/ , null , "'\"" ] : e . multiLineStrings ? [ M , /^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/ , null , "'\"`" ] : [ M , /^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/ , null , "\"'" ] ) , e . verbatimStrings && t . push ( [ M , /^@\"(?:[^\"]|\"\")*(?:\"|$)/ , null ] ) ; var r = e . hashComments ; r && ( e . cStyleComments ? ( n . push ( r > 1 ? [ L , /^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/ , null , "#" ] : [ L , /^#(?:(?:define|e(?:l|nd)if|else|error|ifn?def|include|line|pragma|undef|warning)\b|[^\r\n]*)/ , null , "#" ] ) , t . push ( [ M , /^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h(?:h|pp|\+\+)?|[a-z]\w*)>/ , null ] ) ) : n . push ( [ L , /^#[^\r\n]*/ , null , "#" ] ) ) , e . cStyleComments && ( t . push ( [ L , /^\/\/[^\r\n]*/ , null ] ) , t . push ( [ L , /^\/\*[\s\S]*?(?:\*\/|$)/ , null ] ) ) ; var i = e . regexLiterals ; if ( i ) { var o = i > 1 ? "" : "\n\r" , s = o ? "." : "[\\S\\s]" , l = "/(?=[^/*" + o + "])(?:[^/\\x5B\\x5C" + o + "]|\\x5C" + s + "|\\x5B(?:[^\\x5C\\x5D" + o + "]|\\x5C" + s + ")*(?:\\x5D|$))+/" ; t . push ( [ "lang-regex" , RegExp ( "^" + q + "(" + l + ")" ) ] ) } var c = e . types ; c && t . push ( [ A , c ] ) ; var u = ( "" + e . keywords ) . replace ( /^ | $/g , "" ) ; u . length && t . push ( [ $ , new RegExp ( "^(?:" + u . replace ( /[\s,]+/g , "|" ) + ")\\b" ) , null ] ) , n . push ( [ P , /^\s+/ , null , " \r\n " ] ) ; var d = "^.[^\\s\\w.$@'\"`/\\\\]*" ; return e . regexLiterals && ( d += "(?!s*/)" ) , t . push ( [ R , / ^ @ [ a - z _ $ ] [ a - z _ $ @ 0 -
var l = function ( e ) { return o . strings [ e ] || g [ e ] } ; t = t || "" ; var c = this . hooks = new Markdown . HookCollection ; c . addNoop ( "onPreviewRefresh" ) , c . addNoop ( "postBlockquoteCreation" ) , c . addFalse ( "insertImageDialog" ) , c . addFalse ( "insertLinkDialog" ) , this . getConverter = function ( ) { return e } ; var u , d , p = this ; this . run = function ( s , f ) { if ( ! u ) { u = new n ( t , s ) ; var m , g = new i ( c , l ) , v = new r ( e , u , function ( ) { c . onPreviewRefresh ( ) } , f ) , b = ( navigator . platform . match ( /mac|win|linux/i ) || [ "other" ] ) [ 0 ] . toLowerCase ( ) , w = "mac" == b , x = function ( e ) { var n = h [ e ] [ w ? "mac" : "win" ] , t = n . indexOf ( "|" ) ; return n . substring ( 0 , t > 0 ? t : n . length ) } ; m = new a ( t , u , d , v , g , o . helpButton , l , x ) , m . setUndoRedoButtonStates ( ) ; var y = p . refreshPreview = function ( ) { v . refresh ( ! 0 ) } ; y ( ) , p . uiManager = m } } } , e . prototype . findTags = function ( e , n ) { var t , r = this ; e && ( t = s . extendRegExp ( e , "" , "$" ) , this . before = this . before . replace ( t , function ( e ) { return r . startTag = r . startTag + e , "" } ) , t = s . extendRegExp ( e , "^" , "" ) , this . selection = this . selection . replace ( t , function ( e ) { return r . startTag = r . startTag + e , "" } ) ) , n && ( t = s . extendRegExp ( n , "" , "$" ) , this . selection = this . selection . replace ( t , function ( e ) { return r . endTag = e + r . endTag , "" } ) , t = s . extendRegExp ( n , "^" , "" ) , this . after = this . after . replace ( t , function ( e ) { return r . endTag = e + r . endTag , "" } ) ) } , e . prototype . trimWhitespace = function ( e ) { var n , t , r = this ; e ? n = t = "" : ( n = function ( e ) { return r . before += e , "" } , t = function ( e ) { return r . after = e + r . after , "" } ) , this . selection = this . selection . replace ( /^(\s*)/ , n ) . replace ( /(\s*)$/ , t ) } , e . prototype . skipLines = function ( e , n , t ) { void 0 === e && ( e = 1 ) , void 0 === n && ( n = 1 ) , e ++ , n ++ ; var r , a ; if ( navigator . userAgent . match ( /Chrome/ ) && "X" . match ( /()./ ) , this . selection = this . selection . replace ( /(^\n*)/ , "" ) , this . startTag = this . startTag + d . $1 , this . selection = this . selection . replace ( /(\n*$)/ , "" ) , this . endTag = this . endTag + d . $1 , this . startTag = this . startTag . replace ( /(^\n*)/ , "" ) , this . before = this . before + d . $1 , this . endTag = this . endTag . replace ( /(\n*$)/ , "" ) , this . after = this . after + d . $1 , this . before ) { for ( r = a = "" ; e -- ; ) r += "\\n?" , a += "\n" ; t && ( r = "\\n*" ) , this . before = this . before . replace ( new d ( r + "$" , "" ) , a ) } if ( this . after ) { for ( r = a = "" ; n -- ; ) r += "\\n?" , a += "\n" ; t && ( r = "\\n*" ) , this . after = this . after . replace ( new d ( r , "" ) , a ) } } , s . isVisible = function ( e ) { return window . getComputedStyle ? "none" !== window . getComputedStyle ( e , null ) . getPropertyValue ( "display" ) : e . currentStyle ? "none" !== e . currentStyle . display : void 0 } , s . addEvent = function ( e , n , t ) { e . attachEvent ? e . attachEvent ( "on" + n , t ) : e . addEventListener ( n , t , ! 1 ) } , s . removeEvent = function ( e , n , t ) { e . detachEvent ? e . detachEvent ( "on" + n , t ) : e . removeEventListener ( n , t , ! 1 ) } , s . fixEolChars = function ( e ) { return e = e . replace ( /\r\n/g , "\n" ) , e = e . replace ( /\r/g , "\n" ) } , s . extendRegExp = function ( e , n , t ) { ( null === n || void 0 === n ) && ( n = "" ) , ( null === t || void 0 === t ) && ( t = "" ) ; var r , a = e . toString ( ) ; return a = a . replace ( /\/([gim]*)$/ , function ( e , n ) { return r = n , "" } ) , a = a . replace ( /(^\/|\/$)/g , "" ) , a = n + a + t , new d ( a , r ) } , l . getTop = function ( e , n ) { var t = e . offsetTop ; if ( ! n ) for ( ; e = e . offsetParent ; ) t += e . offsetTop ; return t } , l . getHeight = function ( e ) { return e . offsetHeight || e . scrollHeight } , l . getWidth = function ( e ) { return e . offsetWidth || e . scrollWidth } , l . getPageSize = function ( ) { var e , n , t , r ; self . innerHeight && self . scrollMaxY ? ( e = u . body . scrollWidth , n = self . innerHeight + self . scrollMaxY ) : u . body . scrollHeight > u . body . offsetHeight ? ( e = u . body . scrollWidth , n = u . body . scrollHeight ) : ( e = u . body . offsetWidth , n = u . body . offsetHeight ) , self . innerHeight ? ( t = self . innerWidth , r = self . innerHeight ) : u . documentElement && u . documentElement . clientHeight ? ( t = u . documentElement . clientWidth , r = u . documentElement . clientHeight ) : u . body && ( t = u . body . clientWidth , r = u . body . clientHeight ) ; var a = Math . max ( e , t ) , i = Math . max ( n , r ) ; return [ a , i , t , r ] } , c . createBackground = function ( ) { var e = u . createElement ( "div" ) , n = e . style ; e . className = "wmd-prompt-background" , n . position = "absolute" , n . top = "0" , n . zIndex = "1000" , m . isIE ? n . filter = "alpha(opacity=50)" : n . opacity = "0.5" ; var t = l . getPageSize ( ) ; return n . height = t [ 1 ] + "px" , m . isIE ? ( n . left = u . documentElement . scrollLeft , n . width = u . documentElement . clientWidth ) : ( n . left = "0" , n . width = "100%" ) , u . body . appendChild ( e ) , e } , c . prompt = function ( e , n , t ) { var r , a ; void 0 === n && ( n = "" ) ; var i = function ( e ) { var n = e . charCode || e . keyCode ; 27 === n && o ( ! 0 ) } , o = function ( e ) { s . removeEvent ( u . body , "keydown" , i ) ; var n =
return "fenced_code_gfm" == e } ) && ( i = "^```.*\\n[\\s\\S]*?\\n```|" + i ) , t . enabled && ( i = "^[ \\t]*\\n\\$\\$[\\s\\S]*?\\$\\$|" + i , i = "^[ \\t]*\\n\\\\\\\\[[\\s\\S]*?\\\\\\\\]|" + i , i = "^[ \\t]*\\n\\\\?\\\\begin\\{[a-z]*\\*?\\}[\\s\\S]*?\\\\end\\{[a-z]*\\*?\\}|" + i ) , i = new RegExp ( i , "gm" ) ; var o = r . getConverter ( ) ; o . hooks . chain ( "preConversion" , function ( n ) { function t ( e , n ) { var t = r . substring ( s , n ) ; o . push ( { text : t , textWithDelimiter : '\n<div class="se-section-delimiter"></div>\n\n' + t + "\n" } ) } a . previewStartTime = new Date ; var r = n + "\n\n" , o = [ ] , s = 0 ; return r . replace ( i , function ( e , n ) { t ( s , n ) , s = n } ) , t ( s , n . length ) , a . onSectionsCreated ( o ) , e . reduce ( o , function ( e , n ) { return e + n . textWithDelimiter } , "" ) } ) } , i } ) , define ( "extensions/partialRendering" , [ "underscore" , "crel" , "extensions/markdownExtra" , "classes/Extension" ] , function ( e , n , t , r ) { function a ( n , t ) { if ( g = [ ] , m = [ ] , u = void 0 , h === ! 0 || c != t ) return h = ! 1 , c = t , m = f , f = n , void ( g = n ) ; var r = f . length ; e . some ( f , function ( e , t ) { return t >= n . length || e . text != n [ t ] . text ? ( r = t , ! 0 ) : void 0 } ) ; var a = - f . length ; e . some ( f . slice ( ) . reverse ( ) , function ( e , t ) { return t >= n . length || e . text != n [ n . length - t - 1 ] . text ? ( a = - t , ! 0 ) : void 0 } ) , r - a > f . length && ( a = r - f . length ) ; var i = f . slice ( 0 , r ) ; g = n . slice ( r , n . length + a ) ; var o = f . slice ( f . length + a , f . length ) ; u = e . first ( o ) , m = f . slice ( r , f . length + a ) , f = i . concat ( g ) . concat ( o ) } function i ( e ) { var n = e . id . substring ( 3 ) ; y [ n ] = e } function o ( ) { function t ( t ) { for ( var r = n ( "div" , { id : "wmd-preview-section-" + t . id , "class" : "wmd-preview-section preview-content" } ) , o = ! 1 ; a ; ) { var s = a . nextSibling ; if ( o === ! 0 && "DIV" == a . tagName && "se-section-delimiter" == a . className ) break ; o = ! 0 , "DIV" == a . tagName && "footnotes" == a . className ? e . each ( a . querySelectorAll ( "ol > li" ) , i ) : r . appendChild ( a ) , a = s } return r } e . each ( m , function ( e ) { var n = document . getElementById ( "wmd-preview-section-" + e . id ) ; x . removeChild ( n ) } ) ; var r = document . getElementById ( "wmd-preview" ) , a = r . firstChild , o = document . createDocumentFragment ( ) ; e . each ( g , function ( e ) { o . appendChild ( t ( e ) ) } ) , r . innerHTML = "" ; var s = w ; void 0 !== u && ( s = document . getElementById ( "wmd-preview-section-" + u . id ) ) , x . insertBefore ( o , s ) , w . innerHTML = "" ; var l = [ ] ; if ( b === ! 0 ) { var c = n ( "ol" ) ; e . each ( x . querySelectorAll ( "a.footnote" ) , function ( e , n ) { e . textContent = n + 1 ; var t = e . id . substring ( 6 ) ; l . push ( t ) , c . appendChild ( y [ t ] . cloneNode ( ! 0 ) ) } ) , l . length > 0 && w . appendChild ( n ( "div" , { "class" : "footnotes" } , n ( "hr" ) , c ) ) , y = e . pick ( y , l ) } } function s ( n ) { l = n . getConverter ( ) , l . hooks . chain ( "preConversion" , function ( ) { var n = e . map ( g , function ( e ) { return e . text } ) ; return n . push ( c + "\n\n" ) , n . join ( "" ) } ) , n . hooks . chain ( "onPreviewRefresh" , function ( ) { o ( ) } ) } var l , c , u , d = new r ( "partialRendering" , "Partial Rendering" , ! 0 ) , p = 0 , f = [ ] , m = [ ] , g = [ ] , h = ! 1 , v = ! 1 , b = ! 1 ; d . onSectionsCreated = function ( n ) { var t = [ ] , r = "\n" ; b = ! 1 , e . each ( n , function ( e ) { var n = e . textWithDelimiter + "\n" ; v && ( n = n . replace ( /^```.*\n[\s\S]*?\n```|\n[ ]{0,3}\[\^(.+?)\]\:[ \t]*\n?([\s\S]*?)\n{1,2}((?=\n[ ]{0,3}\S)|$)/gm , function ( e , n ) { return n ? ( b = ! 0 , r += e . replace ( /^\s*\n/gm , "" ) + "\n" , "" ) : e } ) ) , n = n . replace ( /^```.*\n[\s\S]*?\n```|^[ ]{0,3}\[(.+)\]:[ \t]*\n?[ \t]*<?(\S+?)>?(?=\s|$)[ \t]*\n?[ \t]*((\n*)["(](.+?)[")][ \t]*)?(?:\n+)/gm , function ( e , n ) { return n ? ( r += e . replace ( /^\s*\n/gm , "" ) + "\n" , "" ) : e } ) , t . push ( { id : ++ p , text : n + "\n" } ) } ) , a ( t , r ) } ; var w , x , y = { } ; return d . onPagedownConfigure = s , d . onToggleMode = s , d . onInit = function ( ) { t . enabled && e . some ( t . config . extensions , function ( e ) { return "footnotes" == e } ) && ( v = ! 0 ) } , d . onReady = function ( ) { w = n ( "div" , { id : "wmd-preview-section-footnotes" , "class" : "preview-content" } ) , x = document . getElementById ( "preview-contents" ) , x . appendChild ( w ) } , d . onFileSelected = function ( ) { h = ! 0 } , d } ) , define ( "extensions/umlDiagrams" , [ "require" , "underscore" , "utils" , "classes/Extension" , "crel" ] , function ( e , n , t , r , a ) { function i ( ) { var t = c . querySelectorAll ( ".prettyprint > .language-flow" ) ; t && 0 != t . length && e ( [ "flow-chart" ] , function ( e ) { n . each ( t , function ( n ) { try { var t = e . parse ( n . textContent ) , r = n . parentNode , i = a ( "div" , { "class" : "flow-chart" } ) ; r . parentNode . replaceChild ( i , r ) , t . drawSVG ( i , JSON . parse ( l . config . flowchartOptions ) ) } catch ( o ) { console . error ( o ) } } ) } ) } function o ( ) { var t = c . querySelectorAll ( ".prettyprint > .language-sequence" ) ; t && 0 != t . length && e ( [ "Diagram" ] , function ( e ) { n . each ( t , function ( n ) { try { var t = e . parse ( n . textContent ) , r = n . parentNode , i = a
void 0 === e && ( e = 1 ) , void 0 === n && ( n = 1 ) , e ++ , n ++ ; var r , a ; if ( navigator . userAgent . match ( /Chrome/ ) && "X" . match ( /()./ ) , this . selection = this . selection . replace ( /(^\n*)/ , "" ) , this . startTag = this . startTag + p . $1 , this . selection = this . selection . replace ( /(\n*$)/ , "" ) , this . endTag = this . endTag + p . $1 , this . startTag = this . startTag . replace ( /(^\n*)/ , "" ) , this . before = this . before + p . $1 , this . endTag = this . endTag . replace ( /(\n*$)/ , "" ) , this . after = this . after + p . $1 , this . before ) { for ( r = a = "" ; e -- ; ) r += "\\n?" , a += "\n" ; t && ( r = "\\n*" ) , this . before = this . before . replace ( new p ( r + "$" , "" ) , a ) } if ( this . after ) { for ( r = a = "" ; n -- ; ) r += "\\n?" , a += "\n" ; t && ( r = "\\n*" ) , this . after = this . after . replace ( new p ( r , "" ) , a ) } } , l . isVisible = function ( e ) { return window . getComputedStyle ? "none" !== window . getComputedStyle ( e , null ) . getPropertyValue ( "display" ) : e . currentStyle ? "none" !== e . currentStyle . display : void 0 } , l . addEvent = function ( e , n , t ) { e . attachEvent ? e . attachEvent ( "on" + n , t ) : e . addEventListener ( n , t , ! 1 ) } , l . removeEvent = function ( e , n , t ) { e . detachEvent ? e . detachEvent ( "on" + n , t ) : e . removeEventListener ( n , t , ! 1 ) } , l . fixEolChars = function ( e ) { return e = e . replace ( /\r\n/g , "\n" ) , e = e . replace ( /\r/g , "\n" ) } , l . extendRegExp = function ( e , n , t ) { ( null === n || void 0 === n ) && ( n = "" ) , ( null === t || void 0 === t ) && ( t = "" ) ; var r , a = e . toString ( ) ; return a = a . replace ( /\/([gim]*)$/ , function ( e , n ) { return r = n , "" } ) , a = a . replace ( /(^\/|\/$)/g , "" ) , a = n + a + t , new p ( a , r ) } , c . getTop = function ( e , n ) { var t = e . offsetTop ; if ( ! n ) for ( ; e = e . offsetParent ; ) t += e . offsetTop ; return t } , c . getHeight = function ( e ) { return e . offsetHeight || e . scrollHeight } , c . getWidth = function ( e ) { return e . offsetWidth || e . scrollWidth } , c . getPageSize = function ( ) { var e , n , t , r ; self . innerHeight && self . scrollMaxY ? ( e = d . body . scrollWidth , n = self . innerHeight + self . scrollMaxY ) : d . body . scrollHeight > d . body . offsetHeight ? ( e = d . body . scrollWidth , n = d . body . scrollHeight ) : ( e = d . body . offsetWidth , n = d . body . offsetHeight ) , self . innerHeight ? ( t = self . innerWidth , r = self . innerHeight ) : d . documentElement && d . documentElement . clientHeight ? ( t = d . documentElement . clientWidth , r = d . documentElement . clientHeight ) : d . body && ( t = d . body . clientWidth , r = d . body . clientHeight ) ; var a = Math . max ( e , t ) , i = Math . max ( n , r ) ; return [ a , i , t , r ] } , u . createBackground = function ( ) { var e = d . createElement ( "div" ) , n = e . style ; e . className = "wmd-prompt-background" , n . position = "absolute" , n . top = "0" , n . zIndex = "1000" , g . isIE ? n . filter = "alpha(opacity=50)" : n . opacity = "0.5" ; var t = c . getPageSize ( ) ; return n . height = t [ 1 ] + "px" , g . isIE ? ( n . left = d . documentElement . scrollLeft , n . width = d . documentElement . clientWidth ) : ( n . left = "0" , n . width = "100%" ) , d . body . appendChild ( e ) , e } , u . prompt = function ( e , n , t ) { var r , a ; void 0 === n && ( n = "" ) ; var i = function ( e ) { var n = e . charCode || e . keyCode ; 27 === n && o ( ! 0 ) } , o = function ( e ) { l . removeEvent ( d . body , "keydown" , i ) ; var n = a . value ; return e ? n = null : ( n = n . replace ( /^http:\/\/(https?|ftp):\/\// , "$1://" ) , /^(?:https?|ftp):\/\// . test ( n ) || ( n = "http://" + n ) ) , r . parentNode . removeChild ( r ) , t ( n ) , ! 1 } , s = function ( ) { r = d . createElement ( "div" ) , r . className = "wmd-prompt-dialog" , r . style . padding = "10px;" , r . style . position = "fixed" , r . style . width = "400px" , r . style . zIndex = "1001" ; var t = d . createElement ( "div" ) ; t . innerHTML = e , t . style . padding = "5px" , r . appendChild ( t ) ; var s = d . createElement ( "form" ) , u = s . style ; s . onsubmit = function ( ) { return o ( ! 1 ) } , u . padding = "0" , u . margin = "0" , u . cssFloat = "left" , u . width = "100%" , u . textAlign = "center" , u . position = "relative" , r . appendChild ( s ) , a = d . createElement ( "input" ) , a . type = "text" , a . value = n , u = a . style , u . display = "block" , u . width = "80%" , u . marginLeft = u . marginRight = "auto" , s . appendChild ( a ) ; var p = d . createElement ( "input" ) ; p . type = "button" , p . onclick = function ( ) { return o ( ! 1 ) } , p . value = "OK" , u = p . style , u . margin = "10px" , u . display = "inline" , u . width = "7em" ; var f = d . createElement ( "input" ) ; f . type = "button" , f . onclick = function ( ) { return o ( ! 0 ) } , f . value = "Cancel" , u = f . style , u . margin = "10px" , u . display = "inline" , u . width = "7em" , s . appendChild ( p ) , s . appendChild ( f ) , l . addEvent ( d . body , "keydown" , i ) , r . style . top = "50%" , r . style . left = "50%" , r . style . display = "block" , g . isIE _5or6 && ( r . style . position = "absolute" , r . style . top = d . documentElement . scrollTop + 200 + "px" , r . style . left = "50%" ) , d . body . appendChild ( r ) , r . style . marginTop = - ( c . getHeight ( r ) / 2 ) + "px" , r . style . marginLeft = - ( c . getWidth ( r ) / 2 ) + "px" } ; setTimeout ( function ( ) { s ( ) ; var e = n . length ; if ( void 0 !=