2013-09-03 17:03:33 +02:00
// 4.0.5 (2013-08-27)
! function ( e , t ) { "use strict" ; function n ( e , t ) { for ( var n , r = [ ] , i = 0 ; i < e . length ; ++ i ) { if ( n = s [ e [ i ] ] || o ( e [ i ] ) , ! n ) throw "module definition dependecy not found: " + e [ i ] ; r . push ( n ) } t . apply ( null , r ) } function r ( e , r , i ) { if ( "string" != typeof e ) throw "invalid module definition, module id must be defined and be a string" ; if ( r === t ) throw "invalid module definition, dependencies must be specified" ; if ( i === t ) throw "invalid module definition, definition function must be specified" ; n ( r , function ( ) { s [ e ] = i . apply ( null , arguments ) } ) } function i ( e ) { return ! ! s [ e ] } function o ( t ) { for ( var n = e , r = t . split ( /[.\/]/ ) , i = 0 ; i < r . length ; ++ i ) { if ( ! n [ r [ i ] ] ) return ; n = n [ r [ i ] ] } return n } function a ( n ) { for ( var r = 0 ; r < n . length ; r ++ ) { for ( var i = e , o = n [ r ] , a = o . split ( /[.\/]/ ) , l = 0 ; l < a . length - 1 ; ++ l ) i [ a [ l ] ] === t && ( i [ a [ l ] ] = { } ) , i = i [ a [ l ] ] ; i [ a [ a . length - 1 ] ] = s [ o ] } } var s = { } , l = "tinymce/dom/EventUtils" , c = "tinymce/dom/Sizzle" , u = "tinymce/dom/DomQuery" , d = "tinymce/html/Styles" , f = "tinymce/dom/TreeWalker" , p = "tinymce/util/Tools" , h = "tinymce/dom/Range" , m = "tinymce/html/Entities" , g = "tinymce/Env" , v = "tinymce/dom/DOMUtils" , y = "tinymce/dom/ScriptLoader" , b = "tinymce/AddOnManager" , C = "tinymce/html/Node" , x = "tinymce/html/Schema" , w = "tinymce/html/SaxParser" , _ = "tinymce/html/DomParser" , N = "tinymce/html/Writer" , E = "tinymce/html/Serializer" , k = "tinymce/dom/Serializer" , S = "tinymce/dom/TridentSelection" , T = "tinymce/util/VK" , R = "tinymce/dom/ControlSelection" , A = "tinymce/dom/Selection" , B = "tinymce/dom/RangeUtils" , D = "tinymce/Formatter" , L = "tinymce/UndoManager" , M = "tinymce/EnterKey" , H = "tinymce/ForceBlocks" , P = "tinymce/EditorCommands" , O = "tinymce/util/URI" , I = "tinymce/util/Class" , F = "tinymce/ui/Selector" , W = "tinymce/ui/Collection" , z = "tinymce/ui/DomUtils" , V = "tinymce/ui/Control" , U = "tinymce/ui/Factory" , q = "tinymce/ui/Container" , j = "tinymce/ui/DragHelper" , $ = "tinymce/ui/Scrollable" , K = "tinymce/ui/Panel" , G = "tinymce/ui/Movable" , Y = "tinymce/ui/Resizable" , X = "tinymce/ui/FloatPanel" , J = "tinymce/ui/KeyboardNavigation" , Q = "tinymce/ui/Window" , Z = "tinymce/ui/MessageBox" , et = "tinymce/WindowManager" , tt = "tinymce/util/Quirks" , nt = "tinymce/util/Observable" , rt = "tinymce/Shortcuts" , it = "tinymce/Editor" , ot = "tinymce/util/I18n" , at = "tinymce/FocusManager" , st = "tinymce/EditorManager" , lt = "tinymce/LegacyInput" , ct = "tinymce/util/XHR" , ut = "tinymce/util/JSON" , dt = "tinymce/util/JSONRequest" , ft = "tinymce/util/JSONP" , pt = "tinymce/util/LocalStorage" , ht = "tinymce/Compat" , mt = "tinymce/ui/Layout" , gt = "tinymce/ui/AbsoluteLayout" , vt = "tinymce/ui/Tooltip" , yt = "tinymce/ui/Widget" , bt = "tinymce/ui/Button" , Ct = "tinymce/ui/ButtonGroup" , xt = "tinymce/ui/Checkbox" , wt = "tinymce/ui/PanelButton" , _t = "tinymce/ui/ColorButton" , Nt = "tinymce/ui/ComboBox" , Et = "tinymce/ui/Path" , kt = "tinymce/ui/ElementPath" , St = "tinymce/ui/FormItem" , Tt = "tinymce/ui/Form" , Rt = "tinymce/ui/FieldSet" , At = "tinymce/ui/FilePicker" , Bt = "tinymce/ui/FitLayout" , Dt = "tinymce/ui/FlexLayout" , Lt = "tinymce/ui/FlowLayout" , Mt = "tinymce/ui/FormatControls" , Ht = "tinymce/ui/GridLayout" , Pt = "tinymce/ui/Iframe" , Ot = "tinymce/ui/Label" , It = "tinymce/ui/Toolbar" , Ft = "tinymce/ui/MenuBar" , Wt = "tinymce/ui/MenuButton" , zt = "tinymce/ui/ListBox" , Vt = "tinymce/ui/MenuItem" , Ut = "tinymce/ui/Menu" , qt = "tinymce/ui/Radio" , jt = "tinymce/ui/ResizeHandle" , $t = "tinymce/ui/Spacer" , Kt = "tinymce/ui/SplitButton" , Gt = "tinymce/ui/StackLayout" , Yt = "tinymce/ui/TabPanel" , Xt = "tinymce/ui/TextBox" , Jt = "tinymce/ui/Throbber" ; r ( l , [ ] , function ( ) { function e ( e , t , n , r ) { e . addEventListener ? e . addEventListener ( t , n , r || ! 1 ) : e . attachEvent && e . attachEvent ( "on" + t , n ) } function t ( e , t , n , r ) { e . removeEventListener ? e . removeEventListener ( t , n , r || ! 1 ) : e . detachEvent && e . detachEvent ( "on" + t , n ) } function n ( e , t ) { function n ( ) { return ! 1 } function r ( ) { return ! 0 } var i , o = t || { } , l ; for ( i in e ) s [ i ] || ( o [ i ] = e [ i ] ) ; if ( o . target || ( o . target = o . srcElement || document ) , e && a . test ( e . type ) && e . pageX === l && e . clientX !== l ) { var c = o . target . ownerDocument || document , u = c . documentElement , d = c . body ; o . pageX = e . clientX + ( u && u . scrollLeft || d && d . scrollLeft || 0 ) - ( u && u . clientLeft || d && d . clientLeft || 0 ) , o . pageY = e . clientY + ( u && u . scrollTop || d && d . scrollTop || 0 ) - ( u && u . clientTop || d && d . clientTop || 0 ) } return o . preventDefault = function ( ) { o . isDefaultPrevented = r , e && ( e . preventDefault ? e . preventDefault ( ) : e . returnValue = ! 1 ) } , o . stopPropagation = function ( ) { o .
for ( e = e || { } , u = ( "\\\" \\' \\; \\: ; : " + d ) . split ( " " ) , l = 0 ; l < u . length ; l ++ ) c [ u [ l ] ] = d + l , c [ d + l ] = u [ l ] ; return { toHex : function ( e ) { return e . replace ( r , n ) } , parse : function ( t ) { function s ( e , t ) { var n , r , i , o ; n = h [ e + "-top" + t ] , n && ( r = h [ e + "-right" + t ] , n == r && ( i = h [ e + "-bottom" + t ] , r == i && ( o = h [ e + "-left" + t ] , i == o && ( h [ e + t ] = o , delete h [ e + "-top" + t ] , delete h [ e + "-right" + t ] , delete h [ e + "-bottom" + t ] , delete h [ e + "-left" + t ] ) ) ) ) } function l ( e ) { var t = h [ e ] , n ; if ( t && ! ( t . indexOf ( " " ) < 0 ) ) { for ( t = t . split ( " " ) , n = t . length ; n -- ; ) if ( t [ n ] !== t [ 0 ] ) return ! 1 ; return h [ e ] = t [ 0 ] , ! 0 } } function u ( e , t , n , r ) { l ( t ) && l ( n ) && l ( r ) && ( h [ e ] = h [ t ] + " " + h [ n ] + " " + h [ r ] , delete h [ t ] , delete h [ n ] , delete h [ r ] ) } function d ( e ) { return y = ! 0 , c [ e ] } function f ( e , t ) { return y && ( e = e . replace ( /\uFEFF[0-9]/g , function ( e ) { return c [ e ] } ) ) , t || ( e = e . replace ( /\\([\'\";:])/g , "$1" ) ) , e } function p ( e , t , n , r , i , o ) { return ( i = i || o ) ? ( i = f ( i ) , "'" + i . replace ( /\'/g , "\\'" ) + "'" ) : ( t = f ( t || n || r ) , b && ( t = b . call ( C , t , "style" ) ) , "url('" + t . replace ( /\'/g , "\\'" ) + "')" ) } var h = { } , m , g , v , y , b = e . url _converter , C = e . url _converter _scope || this ; if ( t ) { for ( t = t . replace ( /\\[\"\';:\uFEFF]/g , d ) . replace ( /\"[^\"]+\"|\'[^\']+\'/g , function ( e ) { return e . replace ( /[;:]/g , d ) } ) ; m = o . exec ( t ) ; ) g = m [ 1 ] . replace ( a , "" ) . toLowerCase ( ) , v = m [ 2 ] . replace ( a , "" ) , g && v . length > 0 && ( "font-weight" === g && "700" === v ? v = "bold" : ( "color" === g || "background-color" === g ) && ( v = v . toLowerCase ( ) ) , v = v . replace ( r , n ) , v = v . replace ( i , p ) , h [ g ] = y ? f ( v , ! 0 ) : v ) , o . lastIndex = m . index + m [ 0 ] . length ; s ( "border" , "" ) , s ( "border" , "-width" ) , s ( "border" , "-color" ) , s ( "border" , "-style" ) , s ( "padding" , "" ) , s ( "margin" , "" ) , u ( "border" , "border-width" , "border-style" , "border-color" ) , "medium none" === h . border && delete h . border } return h } , serialize : function ( e , n ) { function r ( n ) { var r , o , a , l ; if ( r = t . styles [ n ] ) for ( o = 0 , a = r . length ; a > o ; o ++ ) n = r [ o ] , l = e [ n ] , l !== s && l . length > 0 && ( i += ( i . length > 0 ? " " : "" ) + n + ": " + l + ";" ) } var i = "" , o , a ; if ( n && t && t . styles ) r ( "*" ) , r ( n ) ; else for ( o in e ) a = e [ o ] , a !== s && a . length > 0 && ( i += ( i . length > 0 ? " " : "" ) + o + ": " + a + ";" ) ; return i } } } } ) , r ( f , [ ] , function ( ) { return function ( e , t ) { function n ( e , n , r , i ) { var o , a ; if ( e ) { if ( ! i && e [ n ] ) return e [ n ] ; if ( e != t ) { if ( o = e [ r ] ) return o ; for ( a = e . parentNode ; a && a != t ; a = a . parentNode ) if ( o = a [ r ] ) return o } } } var r = e ; this . current = function ( ) { return r } , this . next = function ( e ) { return r = n ( r , "firstChild" , "nextSibling" , e ) } , this . prev = function ( e ) { return r = n ( r , "lastChild" , "previousSibling" , e ) } } } ) , r ( p , [ ] , function ( ) { function e ( e , n ) { return n ? "array" == n && g ( e ) ? ! 0 : typeof e == n : e !== t } function n ( e ) { var t = [ ] , n , r ; for ( n = 0 , r = e . length ; r > n ; n ++ ) t [ n ] = e [ n ] ; return t } function r ( e , t , n ) { var r ; for ( e = e || [ ] , t = t || "," , "string" == typeof e && ( e = e . split ( t ) ) , n = n || { } , r = e . length ; r -- ; ) n [ e [ r ] ] = { } ; return n } function i ( e , n , r ) { var i , o ; if ( ! e ) return 0 ; if ( r = r || e , e . length !== t ) { for ( i = 0 , o = e . length ; o > i ; i ++ ) if ( n . call ( r , e [ i ] , i , e ) === ! 1 ) return 0 } else for ( i in e ) if ( e . hasOwnProperty ( i ) && n . call ( r , e [ i ] , i , e ) === ! 1 ) return 0 ; return 1 } function o ( e , t ) { var n = [ ] ; return i ( e , function ( e ) { n . push ( t ( e ) ) } ) , n } function a ( e , t ) { var n = [ ] ; return i ( e , function ( e ) { ( ! t || t ( e ) ) && n . push ( e ) } ) , n } function s ( e , t , n ) { var r = this , i , o , a , s , l , c = 0 ; if ( e = /^((static) )?([\w.]+)(:([\w.]+))?/ . exec ( e ) , a = e [ 3 ] . match ( /(^|\.)(\w+)$/i ) [ 2 ] , o = r . createNS ( e [ 3 ] . replace ( /\.\w+$/ , "" ) , n ) , ! o [ a ] ) { if ( "static" == e [ 2 ] ) return o [ a ] = t , this . onCreate && this . onCreate ( e [ 2 ] , e [ 3 ] , o [ a ] ) , void 0 ; t [ a ] || ( t [ a ] = function ( ) { } , c = 1 ) , o [ a ] = t [ a ] , r . extend ( o [ a ] . prototype , t ) , e [ 5 ] && ( i = r . resolve ( e [ 5 ] ) . prototype , s = e [ 5 ] . match ( /\.(\w+)$/i ) [ 1 ] , l = o [ a ] , o [ a ] = c ? function ( ) { return i [ s ] . apply ( this , arguments ) } : function ( ) { return this . parent = i [ s ] , l . apply ( this , arguments ) } , o [ a ] . prototype [ a ] = o [ a ] , r . each ( i , function ( e , t ) { o [ a ] . prototype [ t ] = i [ t ] } ) , r . each ( t , function ( e , t ) { i [ t ] ? o [ a ] . prototype [ t ] = function ( ) { return this . parent = i [ t ] , e . apply ( this , arguments ) } : t != a && ( o [ a ] . prototype [ t ] = e ) } ) ) , r . each ( t [ "static" ] , function ( e , t ) { o [ a ] [ t ] = e } ) } } function l ( e , t ) { var n , r ; if ( e ) for ( n = 0 , r = e . length ; r > n ; n ++ ) if ( e [ n ] === t ) return n ; return - 1 } function c ( e , n ) { var r , i , o , a = arguments , s ; for ( r = 1 , i = a . length ; i > r ; r ++ ) { n = a [ r ] ; for ( o in n ) n . hasOwnProperty ( o ) && ( s = n [ o ] , s !== t && ( e [ o ] = s ) ) } return e } function u ( e , t , n , r ) { r = r || this , e && ( n && ( e = e [ n ] ) , i ( e , function ( e , i ) { return t . call ( r , e , i , n ) === ! 1 ? ! 1 : ( u ( e , t , n , r ) , void 0 ) } ) ) } function d ( e , t ) { var n , r ; for ( t = t || window , e = e . split ( "." ) , n = 0 ; n < e . length ; n ++ ) r = e [ n ] , t [ r ]
if ( e [ o ] ) return e [ o ] ; if ( e !== t ) { if ( r = e [ a ] ) return r ; for ( i = e . parent ; i && i !== t ; i = i . parent ) if ( r = i [ a ] ) return r } } function t ( e , t ) { this . name = e , this . type = t , 1 === t && ( this . attributes = [ ] , this . attributes . map = { } ) } var n = /^[ \t\r\n]*$/ , r = { "#text" : 3 , "#comment" : 8 , "#cdata" : 4 , "#pi" : 7 , "#doctype" : 10 , "#document-fragment" : 11 } ; return t . prototype = { replace : function ( e ) { var t = this ; return e . parent && e . remove ( ) , t . insert ( e , t ) , t . remove ( ) , t } , attr : function ( e , t ) { var n = this , r , i , o ; if ( "string" != typeof e ) { for ( i in e ) n . attr ( i , e [ i ] ) ; return n } if ( r = n . attributes ) { if ( t !== o ) { if ( null === t ) { if ( e in r . map ) for ( delete r . map [ e ] , i = r . length ; i -- ; ) if ( r [ i ] . name === e ) return r = r . splice ( i , 1 ) , n ; return n } if ( e in r . map ) { for ( i = r . length ; i -- ; ) if ( r [ i ] . name === e ) { r [ i ] . value = t ; break } } else r . push ( { name : e , value : t } ) ; return r . map [ e ] = t , n } return r . map [ e ] } } , clone : function ( ) { var e = this , n = new t ( e . name , e . type ) , r , i , o , a , s ; if ( o = e . attributes ) { for ( s = [ ] , s . map = { } , r = 0 , i = o . length ; i > r ; r ++ ) a = o [ r ] , "id" !== a . name && ( s [ s . length ] = { name : a . name , value : a . value } , s . map [ a . name ] = a . value ) ; n . attributes = s } return n . value = e . value , n . shortEnded = e . shortEnded , n } , wrap : function ( e ) { var t = this ; return t . parent . insert ( e , t ) , e . append ( t ) , t } , unwrap : function ( ) { var e = this , t , n ; for ( t = e . firstChild ; t ; ) n = t . next , e . insert ( t , e , ! 0 ) , t = n ; e . remove ( ) } , remove : function ( ) { var e = this , t = e . parent , n = e . next , r = e . prev ; return t && ( t . firstChild === e ? ( t . firstChild = n , n && ( n . prev = null ) ) : r . next = n , t . lastChild === e ? ( t . lastChild = r , r && ( r . next = null ) ) : n . prev = r , e . parent = e . next = e . prev = null ) , e } , append : function ( e ) { var t = this , n ; return e . parent && e . remove ( ) , n = t . lastChild , n ? ( n . next = e , e . prev = n , t . lastChild = e ) : t . lastChild = t . firstChild = e , e . parent = t , e } , insert : function ( e , t , n ) { var r ; return e . parent && e . remove ( ) , r = t . parent || this , n ? ( t === r . firstChild ? r . firstChild = e : t . prev . next = e , e . prev = t . prev , e . next = t , t . prev = e ) : ( t === r . lastChild ? r . lastChild = e : t . next . prev = e , e . next = t . next , e . prev = t , t . next = e ) , e . parent = r , e } , getAll : function ( t ) { var n = this , r , i = [ ] ; for ( r = n . firstChild ; r ; r = e ( r , n ) ) r . name === t && i . push ( r ) ; return i } , empty : function ( ) { var t = this , n , r , i ; if ( t . firstChild ) { for ( n = [ ] , i = t . firstChild ; i ; i = e ( i , t ) ) n . push ( i ) ; for ( r = n . length ; r -- ; ) i = n [ r ] , i . parent = i . firstChild = i . lastChild = i . next = i . prev = null } return t . firstChild = t . lastChild = null , t } , isEmpty : function ( t ) { var r = this , i = r . firstChild , o , a ; if ( i ) do { if ( 1 === i . type ) { if ( i . attributes . map [ "data-mce-bogus" ] ) continue ; if ( t [ i . name ] ) return ! 1 ; for ( o = i . attributes . length ; o -- ; ) if ( a = i . attributes [ o ] . name , "name" === a || 0 === a . indexOf ( "data-mce-" ) ) return ! 1 } if ( 8 === i . type ) return ! 1 ; if ( 3 === i . type && ! n . test ( i . value ) ) return ! 1 } while ( i = e ( i , r ) ) ; return ! 0 } , walk : function ( t ) { return e ( this , null , t ) } } , t . create = function ( e , n ) { var i , o ; if ( i = new t ( e , r [ e ] || 1 ) , n ) for ( o in n ) i . attr ( o , n [ o ] ) ; return i } , t } ) , r ( x , [ p ] , function ( e ) { function t ( e , t ) { return e ? e . split ( t || " " ) : [ ] } function n ( e ) { function n ( e , n , r ) { function i ( e ) { var t = { } , n , r ; for ( n = 0 , r = e . length ; r > n ; n ++ ) t [ e [ n ] ] = { } ; return t } var o , l , c , u = arguments ; for ( r = r || [ ] , n = n || "" , "string" == typeof r && ( r = t ( r ) ) , l = 3 ; l < u . length ; l ++ ) "string" == typeof u [ l ] && ( u [ l ] = t ( u [ l ] ) ) , r . push . apply ( r , u [ l ] ) ; for ( e = t ( e ) , o = e . length ; o -- ; ) c = [ ] . concat ( s , t ( n ) ) , a [ e [ o ] ] = { attributes : i ( c ) , attributesOrder : c , children : i ( r ) } } function i ( e , n ) { var r , i , o , s ; for ( e = t ( e ) , r = e . length , n = t ( n ) ; r -- ; ) for ( i = a [ e [ r ] ] , o = 0 , s = n . length ; s > o ; o ++ ) i . attributes [ n [ o ] ] = { } , i . attributesOrder . push ( n [ o ] ) } var a = { } , s , l , c , u , d , f , p ; return r [ e ] ? r [ e ] : ( s = t ( "id accesskey class dir lang style tabindex title" ) , l = t ( "onabort onblur oncancel oncanplay oncanplaythrough onchange onclick onclose oncontextmenu oncuechange ondblclick ondrag ondragend ondragenter ondragleave ondragover ondragstart ondrop ondurationchange onemptied onended onerror onfocus oninput oninvalid onkeydown onkeypress onkeyup onload onloadeddata onloadedmetadata onloadstart onmousedown onmousemove onmouseout onmouseover onmouseup onmousewheel onpause onplay onplaying onprogress onratechange onreset onscroll onseeked onseeking onseeking onselect onshow onstalled onsubmit onsuspend ontimeupdate onvolumechange onwaiting" ) , c = t ( "address blockquote div dl fieldset form h1 h2 h3 h4 h5 h6 hr menu ol p pre table ul" ) , u = t ( " a abbr b bdo br button cite code del dfn em embed i iframe img input ins kbd label map noscript object q s sa
} var r , a , s , l , c , u , d , f = e . dom . doc , p = f . body , h , m ; if ( s = t . startContainer , l = t . startOffset , c = t . endContainer , u = t . endOffset , r = p . createTextRange ( ) , s == c && 1 == s . nodeType ) { if ( l == u && ! s . hasChildNodes ( ) ) { if ( s . canHaveHTML ) return d = s . previousSibling , d && ! d . hasChildNodes ( ) && i . isBlock ( d ) ? d . innerHTML = "" : d = null , s . innerHTML = "<span></span><span></span>" , r . moveToElementText ( s . lastChild ) , r . select ( ) , i . doc . selection . clear ( ) , s . innerHTML = "" , d && ( d . innerHTML = "" ) , void 0 ; l = i . nodeIndex ( s ) , s = s . parentNode } if ( l == u - 1 ) try { if ( m = s . childNodes [ l ] , a = p . createControlRange ( ) , a . addElement ( m ) , a . select ( ) , h = e . getRng ( ) , h . item && m === h . item ( 0 ) ) return } catch ( g ) { } } n ( ! 0 ) , n ( ) , r . select ( ) } , this . getRangeAt = n } return e } ) , r ( T , [ g ] , function ( e ) { return { BACKSPACE : 8 , DELETE : 46 , DOWN : 40 , ENTER : 13 , LEFT : 37 , RIGHT : 39 , SPACEBAR : 32 , TAB : 9 , UP : 38 , modifierPressed : function ( e ) { return e . shiftKey || e . ctrlKey || e . altKey } , metaKeyPressed : function ( t ) { return ( e . mac ? t . ctrlKey || t . metaKey : t . ctrlKey ) && ! t . altKey } } } ) , r ( R , [ T , p , g ] , function ( e , t , n ) { return function ( r , i ) { function o ( e ) { return i . settings . object _resizing === ! 1 ? ! 1 : /TABLE|IMG|DIV/ . test ( e . nodeName ) ? "false" === e . getAttribute ( "data-mce-resize" ) ? ! 1 : ! 0 : ! 1 } function a ( t ) { var n , r ; n = t . screenX - k , r = t . screenY - S , M = n * N [ 2 ] + A , H = r * N [ 3 ] + B , M = 5 > M ? 5 : M , H = 5 > H ? 5 : H , ( e . modifierPressed ( t ) || "IMG" == x . nodeName && 0 !== N [ 2 ] * N [ 3 ] ) && ( M = Math . round ( H / D ) , H = Math . round ( M * D ) ) , b . setStyles ( w , { width : M , height : H } ) , N [ 2 ] < 0 && w . clientWidth <= M && b . setStyle ( w , "left" , T + ( A - M ) ) , N [ 3 ] < 0 && w . clientHeight <= H && b . setStyle ( w , "top" , R + ( B - H ) ) , L || ( i . fire ( "ObjectResizeStart" , { target : x , width : A , height : B } ) , L = ! 0 ) } function s ( ) { function e ( e , t ) { t && ( x . style [ e ] || ! i . schema . isValid ( x . nodeName . toLowerCase ( ) , e ) ? b . setStyle ( x , e , t ) : b . setAttrib ( x , e , t ) ) } L = ! 1 , e ( "width" , M ) , e ( "height" , H ) , b . unbind ( P , "mousemove" , a ) , b . unbind ( P , "mouseup" , s ) , O != P && ( b . unbind ( O , "mousemove" , a ) , b . unbind ( O , "mouseup" , s ) ) , b . remove ( w ) , I && "TABLE" != x . nodeName || l ( x ) , i . fire ( "ObjectResized" , { target : x , width : M , height : H } ) , i . nodeChanged ( ) } function l ( e , t , n ) { var r , l , u , d , f , p = i . getBody ( ) . offsetParent || i . getBody ( ) ; r = b . getPos ( e , p ) , T = r . x , R = r . y , f = e . getBoundingClientRect ( ) , l = f . width || f . right - f . left , u = f . height || f . bottom - f . top , x != e && ( m ( ) , x = e , M = H = 0 ) , d = i . fire ( "ObjectSelected" , { target : e } ) , o ( e ) && ! d . isDefaultPrevented ( ) ? C ( _ , function ( e , r ) { function o ( t ) { L = ! 0 , k = t . screenX , S = t . screenY , A = x . clientWidth , B = x . clientHeight , D = B / A , N = e , w = x . cloneNode ( ! 0 ) , b . addClass ( w , "mce-clonedresizable" ) , w . contentEditable = ! 1 , w . unSelectabe = ! 0 , b . setStyles ( w , { left : T , top : R , margin : 0 } ) , w . removeAttribute ( "data-mce-selected" ) , i . getBody ( ) . appendChild ( w ) , b . bind ( P , "mousemove" , a ) , b . bind ( P , "mouseup" , s ) , O != P && ( b . bind ( O , "mousemove" , a ) , b . bind ( O , "mouseup" , s ) ) } var c , d ; return t ? ( r == t && o ( n ) , void 0 ) : ( c = b . get ( "mceResizeHandle" + r ) , c ? b . show ( c ) : ( d = i . getBody ( ) , c = b . add ( d , "div" , { id : "mceResizeHandle" + r , "data-mce-bogus" : ! 0 , "class" : "mce-resizehandle" , contentEditable : ! 1 , unSelectabe : ! 0 , style : "cursor:" + r + "-resize; margin:0; padding:0" } ) , b . bind ( c , "mousedown" , function ( e ) { e . preventDefault ( ) , o ( e ) } ) ) , b . setStyles ( c , { left : l * e [ 0 ] + T - c . offsetWidth / 2 , top : u * e [ 1 ] + R - c . offsetHeight / 2 } ) , void 0 ) } ) : c ( ) , x . setAttribute ( "data-mce-selected" , "1" ) } function c ( ) { var e , t ; x && x . removeAttribute ( "data-mce-selected" ) ; for ( e in _ ) t = b . get ( "mceResizeHandle" + e ) , t && ( b . unbind ( t ) , b . remove ( t ) ) } function u ( e ) { function t ( e , t ) { do if ( e === t ) return ! 0 ; while ( e = e . parentNode ) } var n ; return C ( b . select ( "img[data-mce-selected],hr[data-mce-selected]" ) , function ( e ) { e . removeAttribute ( "data-mce-selected" ) } ) , n = "mousedown" == e . type ? e . target : r . getNode ( ) , n = b . getParent ( n , I ? "table" : "table,img,hr" ) , n && ( g ( ) , t ( r . getStart ( ) , n ) && t ( r . getEnd ( ) , n ) && ( ! I || n != r . getStart ( ) && "IMG" !== r . getStart ( ) . nodeName ) ) ? ( l ( n ) , void 0 ) : ( c ( ) , void 0 ) } function d ( e , t , n ) { e && e . attachEvent && e . attachEvent ( "on" + t , n ) } function f ( e , t , n ) { e && e . detachEvent && e . detachEvent ( "on" + t , n ) } function p ( e ) { var t = e . srcElement , n , r , o , a , s , c , u ; n = t . getBoundingClientRect ( ) , c = E . clientX - n . left , u = E . clientY - n . top ; for ( r in _ ) if ( o = _ [ r ] , a = t . offsetWidth * o [ 0 ] , s = t . offsetHeight * o [ 1 ] , Math . abs ( a - c ) < 8 && Math . abs ( s - u ) < 8 ) { N = o ; break } L = ! 0 , i . getDoc ( ) . selection . empty ( ) , l ( t , r , E ) } function h ( e ) { var t = e . srcElement ; if ( t != x ) { if ( m ( ) , 0 === t . id . indexOf ( "mceResizeHandle" ) ) return e . returnValue = ! 1 , void 0 ; ( "IMG" == t . nod
return e } function f ( e , t ) { var r , a = I . getRoot ( ) ; if ( n [ 0 ] . wrapper || ( r = I . getParent ( e , n [ 0 ] . block ) ) , r || ( r = I . getParent ( 3 == e . nodeType ? e . parentNode : e , function ( e ) { return e != a && i ( e ) } ) ) , r && n [ 0 ] . wrapper && ( r = o ( r , "ul,ol" ) . reverse ( ) [ 0 ] || r ) , ! r ) for ( r = e ; r [ t ] && ! V ( r [ t ] ) && ( r = r [ t ] , ! w ( r , "br" ) ) ; ) ; return r || e } var p , h , m , g = t . startContainer , v = t . startOffset , y = t . endContainer , b = t . endOffset ; if ( 1 == g . nodeType && g . hasChildNodes ( ) && ( p = g . childNodes . length - 1 , g = g . childNodes [ v > p ? p : v ] , 3 == g . nodeType && ( v = 0 ) ) , 1 == y . nodeType && y . hasChildNodes ( ) && ( p = y . childNodes . length - 1 , y = y . childNodes [ b > p ? p : b - 1 ] , 3 == y . nodeType && ( b = y . nodeValue . length ) ) , g = c ( g ) , y = c ( y ) , ( D ( g . parentNode ) || D ( g ) ) && ( g = D ( g ) ? g : g . parentNode , g = g . nextSibling || g , 3 == g . nodeType && ( v = 0 ) ) , ( D ( y . parentNode ) || D ( y ) ) && ( y = D ( y ) ? y : y . parentNode , y = y . previousSibling || y , 3 == y . nodeType && ( b = y . length ) ) , n [ 0 ] . inline && ( t . collapsed && ( m = u ( g , v , ! 0 ) , m && ( g = m . container , v = m . offset ) , m = u ( y , b ) , m && ( y = m . container , b = m . offset ) ) , h = l ( y , b ) , h . node ) ) { for ( ; h . node && 0 === h . offset && h . node . previousSibling ; ) h = l ( h . node . previousSibling ) ; h . node && h . offset > 0 && 3 === h . node . nodeType && " " === h . node . nodeValue . charAt ( h . offset - 1 ) && h . offset > 1 && ( y = h . node , y . splitText ( h . offset - 1 ) ) } return ( n [ 0 ] . inline || n [ 0 ] . block _expand ) && ( n [ 0 ] . inline && 3 == g . nodeType && 0 !== v || ( g = s ( ! 0 ) ) , n [ 0 ] . inline && 3 == y . nodeType && b !== y . nodeValue . length || ( y = s ( ) ) ) , n [ 0 ] . selector && n [ 0 ] . expand !== K && ! n [ 0 ] . inline && ( g = d ( g , "previousSibling" ) , y = d ( y , "nextSibling" ) ) , ( n [ 0 ] . block || n [ 0 ] . selector ) && ( g = f ( g , "previousSibling" ) , y = f ( y , "nextSibling" ) , n [ 0 ] . block && ( V ( g ) || ( g = s ( ! 0 ) ) , V ( y ) || ( y = s ( ) ) ) ) , 1 == g . nodeType && ( v = q ( g ) , g = g . parentNode ) , 1 == y . nodeType && ( b = q ( y ) + 1 , y = y . parentNode ) , { startContainer : g , startOffset : v , endContainer : y , endOffset : b } } function R ( e , t , n , r ) { var i , o , a ; if ( ! x ( n , e ) ) return K ; if ( "all" != e . remove ) for ( et ( e . styles , function ( e , i ) { e = N ( E ( e , t ) , i ) , "number" == typeof i && ( i = e , r = 0 ) , ( ! r || w ( _ ( r , i ) , e ) ) && I . setStyle ( n , i , "" ) , a = 1 } ) , a && "" === I . getAttrib ( n , "style" ) && ( n . removeAttribute ( "style" ) , n . removeAttribute ( "data-mce-style" ) ) , et ( e . attributes , function ( e , i ) { var o ; if ( e = E ( e , t ) , "number" == typeof i && ( i = e , r = 0 ) , ! r || w ( I . getAttrib ( r , i ) , e ) ) { if ( "class" == i && ( e = I . getAttrib ( n , i ) , e && ( o = "" , et ( e . split ( /\s+/ ) , function ( e ) { /mce\w+/ . test ( e ) && ( o += ( o ? " " : "" ) + e ) } ) , o ) ) ) return I . setAttrib ( n , i , o ) , void 0 ; "class" == i && n . removeAttribute ( "className" ) , $ . test ( i ) && n . removeAttribute ( "data-mce-" + i ) , n . removeAttribute ( i ) } } ) , et ( e . classes , function ( e ) { e = E ( e , t ) , ( ! r || I . hasClass ( r , e ) ) && I . removeClass ( n , e ) } ) , o = I . getAttribs ( n ) , i = 0 ; i < o . length ; i ++ ) if ( 0 !== o [ i ] . nodeName . indexOf ( "_" ) ) return K ; return "none" != e . remove ? ( A ( n , e ) , G ) : void 0 } function A ( e , t ) { function n ( e , t , n ) { return e = B ( e , t , n ) , ! e || "BR" == e . nodeName || V ( e ) } var r = e . parentNode , i ; t . block && ( U ? r == I . getRoot ( ) && ( t . list _block && w ( e , t . list _block ) || et ( tt ( e . childNodes ) , function ( e ) { z ( U , e . nodeName . toLowerCase ( ) ) ? i ? i . appendChild ( e ) : i = S ( e , U ) : i = 0 } ) ) : V ( e ) && ! V ( r ) && ( n ( e , K ) || n ( e . firstChild , G , 1 ) || e . insertBefore ( I . create ( "br" ) , e . firstChild ) , n ( e , G ) || n ( e . lastChild , K , 1 ) || e . appendChild ( I . create ( "br" ) ) ) ) , t . selector && t . inline && ! w ( t . inline , e ) || I . remove ( e , 1 ) } function B ( e , t , n ) { if ( e ) for ( t = t ? "nextSibling" : "previousSibling" , e = n ? e : e [ t ] ; e ; e = e [ t ] ) if ( 1 == e . nodeType || ! k ( e ) ) return e } function D ( e ) { return e && 1 == e . nodeType && "bookmark" == e . getAttribute ( "data-mce-type" ) } function L ( e , t ) { function n ( e , t ) { function n ( e ) { var t = { } ; return et ( I . getAttribs ( e ) , function ( n ) { var r = n . nodeName . toLowerCase ( ) ; 0 !== r . indexOf ( "_" ) && "style" !== r && ( t [ r ] = I . getAttrib ( e , r ) ) } ) , t } function r ( e , t ) { var n , r ; for ( r in e ) if ( e . hasOwnProperty ( r ) ) { if ( n = t [ r ] , n === X ) return K ; if ( e [ r ] != n ) return K ; delete t [ r ] } for ( r in t ) if ( t . hasOwnProperty ( r ) ) return K ; return G } return e . nodeName != t . nodeName ? K : r ( n ( e ) , n ( t ) ) ? r ( I . parseStyle ( I . getAttrib ( e , "style" ) ) , I . parseStyle ( I . getAttrib ( t , "style" ) ) ) ? G : K : K } function r ( e , t ) { for ( i = e ; i ; i = i [ t ] ) { if ( 3 == i . nodeType && 0 !== i . nodeValue . length ) return e ; if ( 1 == i . nodeType && ! D ( i ) ) return i } return e } var i , o ; if ( e && t && ( e = r ( e , "previousSibling" ) , t = r ( t , "nextSibling" ) , n ( e , t ) ) ) { for ( i = e . nextSibling ; i && i != t ; ) o = i , i = i . nextSibling , e . appendChild ( o ) ; return I . remove ( t ) , et ( tt ( t . childNodes ) , function ( t ) { e . appendChild ( t ) } ) , e } return t } function M ( t , n ) { var i , o , a ; return i = t [ n ? "startContainer" : "endContainer" ] , o = t [ n ? "startOffset" : "endOffset" ] , 1 == i . nodeType && ( a = i . chil
} } ) , r = n . extend ( i ) , t . Collection = r , r } ) , r ( z , [ p , v ] , function ( e , t ) { return { id : function ( ) { return t . DOM . uniqueId ( ) } , createFragment : function ( e ) { return t . DOM . createFragment ( e ) } , getWindowSize : function ( ) { return t . DOM . getViewPort ( ) } , getSize : function ( e ) { return t . DOM . getSize ( e ) } , getPos : function ( e , n ) { return t . DOM . getPos ( e , n ) } , getViewPort : function ( e ) { return t . DOM . getViewPort ( e ) } , get : function ( e ) { return document . getElementById ( e ) } , addClass : function ( e , n ) { return t . DOM . addClass ( e , n ) } , removeClass : function ( e , n ) { return t . DOM . removeClass ( e , n ) } , hasClass : function ( e , n ) { return t . DOM . hasClass ( e , n ) } , toggleClass : function ( e , n , r ) { return t . DOM . toggleClass ( e , n , r ) } , css : function ( e , n , r ) { return t . DOM . setStyle ( e , n , r ) } , on : function ( e , n , r , i ) { return t . DOM . bind ( e , n , r , i ) } , off : function ( e , n , r ) { return t . DOM . unbind ( e , n , r ) } , fire : function ( e , n , r ) { return t . DOM . fire ( e , n , r ) } , innerHtml : function ( e , n ) { t . DOM . setHTML ( e , n ) } } } ) , r ( V , [ I , p , W , z ] , function ( e , t , n , r ) { var i = t . makeMap ( "focusin focusout scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave wheel keydown keypress keyup contextmenu" , " " ) , o = { } , a = "onmousewheel" in document , s = ! 1 , l = e . extend ( { Statics : { controlIdLookup : { } } , classPrefix : "mce-" , init : function ( e ) { var n = this , i , o ; if ( n . settings = e = t . extend ( { } , n . Defaults , e ) , n . _id = r . id ( ) , n . _text = n . _name = "" , n . _width = n . _height = 0 , n . _aria = { role : e . role } , i = e . classes ) for ( i = i . split ( " " ) , i . map = { } , o = i . length ; o -- ; ) i . map [ i [ o ] ] = ! 0 ; n . _classes = i || [ ] , n . visible ( ! 0 ) , t . each ( "title text width height name classes visible disabled active value" . split ( " " ) , function ( t ) { var r = e [ t ] , i ; r !== i ? n [ t ] ( r ) : n [ "_" + t ] === i && ( n [ "_" + t ] = ! 1 ) } ) , n . on ( "click" , function ( ) { return n . disabled ( ) ? ! 1 : void 0 } ) , e . classes && t . each ( e . classes . split ( " " ) , function ( e ) { n . addClass ( e ) } ) , n . settings = e , n . _borderBox = n . parseBox ( e . border ) , n . _paddingBox = n . parseBox ( e . padding ) , n . _marginBox = n . parseBox ( e . margin ) , e . hidden && n . hide ( ) } , Properties : "parent,title,text,width,height,disabled,active,name,value" , Methods : "renderHtml" , getContainerElm : function ( ) { return document . body } , getParentCtrl : function ( e ) { for ( var t ; e && ! ( t = l . controlIdLookup [ e . id ] ) ; ) e = e . parentNode ; return t } , parseBox : function ( e ) { var t , n = 10 ; if ( e ) return "number" == typeof e ? ( e = e || 0 , { top : e , left : e , bottom : e , right : e } ) : ( e = e . split ( " " ) , t = e . length , 1 === t ? e [ 1 ] = e [ 2 ] = e [ 3 ] = e [ 0 ] : 2 === t ? ( e [ 2 ] = e [ 0 ] , e [ 3 ] = e [ 1 ] ) : 3 === t && ( e [ 3 ] = e [ 1 ] ) , { top : parseInt ( e [ 0 ] , n ) || 0 , right : parseInt ( e [ 1 ] , n ) || 0 , bottom : parseInt ( e [ 2 ] , n ) || 0 , left : parseInt ( e [ 3 ] , n ) || 0 } ) } , borderBox : function ( ) { return this . _borderBox } , paddingBox : function ( ) { return this . _paddingBox } , marginBox : function ( ) { return this . _marginBox } , measureBox : function ( e , t ) { function n ( t ) { var n = document . defaultView ; return n ? ( t = t . replace ( /[A-Z]/g , function ( e ) { return "-" + e } ) , n . getComputedStyle ( e , null ) . getPropertyValue ( t ) ) : e . currentStyle [ t ] } function r ( e ) { var t = parseInt ( n ( e ) , 10 ) ; return isNaN ( t ) ? 0 : t } return { top : r ( t + "TopWidth" ) , right : r ( t + "RightWidth" ) , bottom : r ( t + "BottomWidth" ) , left : r ( t + "LeftWidth" ) } } , initLayoutRect : function ( ) { var e = this , t = e . settings , n , r , i = e . getEl ( ) , o , a , s , l , c , u , d ; n = e . _borderBox = e . _borderBox || e . measureBox ( i , "border" ) , e . _paddingBox = e . _paddingBox || e . measureBox ( i , "padding" ) , e . _marginBox = e . _marginBox || e . measureBox ( i , "margin" ) , u = t . minWidth , d = t . minHeight , s = u || i . offsetWidth , l = d || i . offsetHeight , o = t . width , a = t . height , c = t . autoResize , c = "undefined" != typeof c ? c : ! o && ! a , o = o || s , a = a || l ; var f = n . left + n . right , p = n . top + n . bottom , h = t . maxWidth || 65535 , m = t . maxHeight || 65535 ; return e . _layoutRect = r = { x : t . x || 0 , y : t . y || 0 , w : o , h : a , deltaW : f , deltaH : p , contentW : o - f , contentH : a - p , innerW : o - f , innerH : a - p , startMinWidth : u || 0 , startMinHeight : d || 0 , minW : Math . min ( s , h ) , minH : Math . min ( l , m ) , maxW : h , maxH : m , autoResize : c , scrollW : 0 } , e . _lastLayoutRect = { } , r } , layoutRect : function ( e ) { var t = this , n = t . _layoutRect , r , i , o , a , s , c ; return n || ( n = t . initLayoutRect ( ) ) , e ? ( o = n . deltaW , a = n . deltaH , e . x !== s && ( n . x = e . x ) , e . y !== s && ( n . y = e . y ) , e . minW !== s && ( n . minW = e . minW ) , e . minH !== s && ( n . minH = e . minH ) , i = e . w , i !== s && ( i = i < n . minW ? n . minW : i , i = i > n . maxW ? n . maxW : i , n . w = i , n . innerW = i - o ) , i = e . h , i !== s && ( i = i < n . minH ? n . minH : i , i = i > n . maxH ? n . maxH : i , n . h = i , n . innerH = i - a ) , i = e . innerW , i !== s && ( i = i < n . minW - o ? n . minW - o : i , i = i > n . maxW - o ? n . maxW - o : i , n . innerW = i , n . w = i + o ) , i = e . innerH , i !== s && ( i = i < n . minH - a ? n . minH - a : i , i = i > n
W . moveToBookmark ( s ) } } a . on ( "keydown" , function ( n ) { var r ; r = n . keyCode == I , c ( n ) || ! r && n . keyCode != O || e . modifierPressed ( n ) || ( n . preventDefault ( ) , t ( r ) ) } ) , a . addCommand ( "Delete" , function ( ) { t ( ) } ) } function d ( ) { function e ( e ) { var t = F . create ( "body" ) , n = e . cloneContents ( ) ; return t . appendChild ( n ) , W . serializer . serialize ( t , { format : "html" } ) } function t ( t ) { var n = e ( t ) , r = F . createRng ( ) ; r . selectNode ( a . getBody ( ) ) ; var i = e ( r ) ; return n === i } a . on ( "keydown" , function ( e ) { var n = e . keyCode , r ; if ( ! c ( e ) && ( n == I || n == O ) ) { if ( r = a . selection . isCollapsed ( ) , r && ! F . isEmpty ( a . getBody ( ) ) ) return ; if ( j && ! r ) return ; if ( ! r && ! t ( a . selection . getRng ( ) ) ) return ; e . preventDefault ( ) , a . setContent ( "" ) , a . selection . setCursorLocation ( a . getBody ( ) , 0 ) , a . nodeChanged ( ) } } ) } function f ( ) { a . on ( "keydown" , function ( t ) { ! c ( t ) && 65 == t . keyCode && e . metaKeyPressed ( t ) && ( t . preventDefault ( ) , a . execCommand ( "SelectAll" ) ) } ) } function p ( ) { a . settings . content _editable || ( F . bind ( a . getDoc ( ) , "focusin" , function ( ) { W . setRng ( W . getRng ( ) ) } ) , F . bind ( a . getDoc ( ) , "mousedown" , function ( e ) { e . target == a . getDoc ( ) . documentElement && ( a . getWin ( ) . focus ( ) , W . setRng ( W . getRng ( ) ) ) } ) ) } function h ( ) { a . on ( "keydown" , function ( e ) { if ( ! c ( e ) && e . keyCode === O && W . isCollapsed ( ) && 0 === W . getRng ( ! 0 ) . startOffset ) { var t = W . getNode ( ) , n = t . previousSibling ; n && n . nodeName && "hr" === n . nodeName . toLowerCase ( ) && ( F . remove ( n ) , e . preventDefault ( ) ) } } ) } function m ( ) { window . Range . prototype . getClientRects || a . on ( "mousedown" , function ( e ) { if ( ! c ( e ) && "HTML" === e . target . nodeName ) { var t = a . getBody ( ) ; t . blur ( ) , setTimeout ( function ( ) { t . focus ( ) } , 0 ) } } ) } function g ( ) { a . on ( "click" , function ( e ) { e = e . target , /^(IMG|HR)$/ . test ( e . nodeName ) && W . getSel ( ) . setBaseAndExtent ( e , 0 , e , 1 ) , "A" == e . nodeName && F . hasClass ( e , "mce-item-anchor" ) && W . select ( e ) , a . nodeChanged ( ) } ) } function v ( ) { function e ( ) { var e = F . getAttribs ( W . getStart ( ) . cloneNode ( ! 1 ) ) ; return function ( ) { var t = W . getStart ( ) ; t !== a . getBody ( ) && ( F . setAttrib ( t , "style" , null ) , P ( e , function ( e ) { t . setAttributeNode ( e . cloneNode ( ! 0 ) ) } ) ) } } function t ( ) { return ! W . isCollapsed ( ) && F . getParent ( W . getStart ( ) , F . isBlock ) != F . getParent ( W . getEnd ( ) , F . isBlock ) } a . on ( "keypress" , function ( n ) { var r ; return c ( n ) || 8 != n . keyCode && 46 != n . keyCode || ! t ( ) ? void 0 : ( r = e ( ) , a . getDoc ( ) . execCommand ( "delete" , ! 1 , null ) , r ( ) , n . preventDefault ( ) , ! 1 ) } ) , F . bind ( a . getDoc ( ) , "cut" , function ( n ) { var r ; ! c ( n ) && t ( ) && ( r = e ( ) , setTimeout ( function ( ) { r ( ) } , 0 ) ) } ) } function y ( ) { var e , n ; a . on ( "selectionchange" , function ( ) { n && ( clearTimeout ( n ) , n = 0 ) , n = window . setTimeout ( function ( ) { var n = W . getRng ( ) ; e && t . compareRanges ( n , e ) || ( a . nodeChanged ( ) , e = n ) } , 50 ) } ) } function b ( ) { document . body . setAttribute ( "role" , "application" ) } function C ( ) { a . on ( "keydown" , function ( e ) { if ( ! c ( e ) && e . keyCode === O && W . isCollapsed ( ) && 0 === W . getRng ( ! 0 ) . startOffset ) { var t = W . getNode ( ) . previousSibling ; if ( t && t . nodeName && "table" === t . nodeName . toLowerCase ( ) ) return e . preventDefault ( ) , ! 1 } } ) } function x ( ) { l ( ) > 7 || ( s ( "RespectVisibilityInDesign" , ! 0 ) , a . contentStyles . push ( ".mceHideBrInPre pre br {display: none}" ) , F . addClass ( a . getBody ( ) , "mceHideBrInPre" ) , V . addNodeFilter ( "pre" , function ( e ) { for ( var t = e . length , r , i , o , a ; t -- ; ) for ( r = e [ t ] . getAll ( "br" ) , i = r . length ; i -- ; ) o = r [ i ] , a = o . prev , a && 3 === a . type && "\n" != a . value . charAt ( a . value - 1 ) ? a . value += "\n" : o . parent . insert ( new n ( "#text" , 3 ) , o , ! 0 ) . value = "\n" } ) , U . addNodeFilter ( "pre" , function ( e ) { for ( var t = e . length , n , r , i , o ; t -- ; ) for ( n = e [ t ] . getAll ( "br" ) , r = n . length ; r -- ; ) i = n [ r ] , o = i . prev , o && 3 == o . type && ( o . value = o . value . replace ( /\r?\n$/ , "" ) ) } ) ) } function w ( ) { F . bind ( a . getBody ( ) , "mouseup" , function ( ) { var e , t = W . getNode ( ) ; "IMG" == t . nodeName && ( ( e = F . getStyle ( t , "width" ) ) && ( F . setAttrib ( t , "width" , e . replace ( /[^0-9%]+/g , "" ) ) , F . setStyle ( t , "width" , "" ) ) , ( e = F . getStyle ( t , "height" ) ) && ( F . setAttrib ( t , "height" , e . replace ( /[^0-9%]+/g , "" ) ) , F . setStyle ( t , "height" , "" ) ) ) } ) } function _ ( ) { a . on ( "keydown" , function ( t ) { var n , r , i , o , s , l , u , d ; if ( n = t . keyCode == I , ! c ( t ) && ( n || t . keyCode == O ) && ! e . modifierPressed ( t ) && ( r = W . getRng ( ) , i = r . startContainer , o = r . startOffset , u = r . collapsed , 3 == i . nodeType && i . nodeValue . length > 0 && ( 0 === o && ! u || u && o === ( n ? 0 : 1 ) ) ) ) { if ( l = i . previousSibling , l && "IMG" == l . nodeName ) return ; d = a . schema . getNonEmptyElements ( ) , t . preventDefault ( ) , s = F . create ( "br" , { id : "__tmp" } ) , i . parentNode . insertBefore ( s , i ) , a . getDoc ( ) . execCommand ( n ? "ForwardDelete" : "Delete" , ! 1 , null ) , i = W . get
else for ( var a = document . getElementsByTagName ( "script" ) , s = 0 ; s < a . length ; s ++ ) { var c = a [ s ] . src ; if ( /tinymce(\.jquery|)(\.min|\.dev|)\.js/ . test ( c ) ) { - 1 != c . indexOf ( ".min" ) && ( i = ".min" ) , t = c . substring ( 0 , c . lastIndexOf ( "/" ) ) ; break } } e . baseURL = new r ( n ) . toAbsolute ( t ) , e . documentBaseURL = n , e . baseURI = new r ( e . baseURL ) , e . suffix = i , e . focusManager = new l ( e ) } , init : function ( t ) { function n ( e ) { var t = e . id ; return t || ( t = e . name , t = t && ! c . get ( t ) ? e . name : c . uniqueId ( ) , e . setAttribute ( "id" , t ) ) , t } function r ( e , t , n ) { var r = e [ t ] ; if ( r ) return r . apply ( n || this , Array . prototype . slice . call ( arguments , 2 ) ) } function i ( e , t ) { return t . constructor === RegExp ? t . test ( e . className ) : c . hasClass ( e , t ) } var o = this , a = [ ] , s ; o . settings = t , c . bind ( window , "ready" , function ( ) { var l , h ; if ( r ( t , "onpageload" ) , t . types ) return d ( t . types , function ( r ) { d ( c . select ( r . selector ) , function ( i ) { var s = new e ( n ( i ) , f ( { } , t , r ) , o ) ; a . push ( s ) , s . render ( 1 ) } ) } ) , void 0 ; if ( t . selector ) return d ( c . select ( t . selector ) , function ( r ) { var i = new e ( n ( r ) , t , o ) ; a . push ( i ) , i . render ( 1 ) } ) , void 0 ; switch ( t . mode ) { case "exact" : l = t . elements || "" , l . length > 0 && d ( u ( l ) , function ( n ) { c . get ( n ) ? ( s = new e ( n , t , o ) , a . push ( s ) , s . render ( ! 0 ) ) : d ( document . forms , function ( r ) { d ( r . elements , function ( r ) { r . name === n && ( n = "mce_editor_" + p ++ , c . setAttrib ( r , "id" , n ) , s = new e ( n , t , o ) , a . push ( s ) , s . render ( 1 ) ) } ) } ) } ) ; break ; case "textareas" : case "specific_textareas" : d ( c . select ( "textarea" ) , function ( r ) { t . editor _deselector && i ( r , t . editor _deselector ) || ( ! t . editor _selector || i ( r , t . editor _selector ) ) && ( s = new e ( n ( r ) , t , o ) , a . push ( s ) , s . render ( ! 0 ) ) } ) } t . oninit && ( l = h = 0 , d ( a , function ( e ) { h ++ , e . initialized ? l ++ : e . on ( "init" , function ( ) { l ++ , l == h && r ( t , "oninit" ) } ) , l == h && r ( t , "oninit" ) } ) ) } ) } , get : function ( e ) { return e === t ? this . editors : this . editors [ e ] } , add : function ( e ) { var t = this , n = t . editors ; return n [ e . id ] = e , n . push ( e ) , t . activeEditor = e , t . fire ( "AddEditor" , { editor : e } ) , h || ( h = function ( ) { t . fire ( "BeforeUnload" ) } , c . bind ( window , "beforeunload" , h ) ) , e } , createEditor : function ( t , n ) { return this . add ( new e ( t , n , this ) ) } , remove : function ( e ) { var t = this , n , r = t . editors , i ; if ( e ) { if ( "string" == typeof e ) return e = e . selector || e , d ( c . select ( e ) , function ( e ) { t . remove ( r [ e . id ] ) } ) , void 0 ; if ( i = e , ! r [ i . id ] ) return null ; for ( delete r [ i . id ] , n = 0 ; n < r . length ; n ++ ) if ( r [ n ] == i ) { r . splice ( n , 1 ) ; break } if ( t . activeEditor == i && ( t . activeEditor = r [ 0 ] ) , i && ! i . removed ) return i . remove ( ) , i . destroy ( ) , t . fire ( "RemoveEditor" , { editor : i } ) , r . length || c . unbind ( window , "beforeunload" , h ) , i } else for ( n = r . length - 1 ; n >= 0 ; n -- ) t . remove ( r [ n ] ) } , execCommand : function ( t , n , r ) { var i = this , o = i . get ( r ) ; switch ( t ) { case "mceAddEditor" : return i . get ( r ) || new e ( r , i . settings , i ) . render ( ) , ! 0 ; case "mceRemoveEditor" : return o && o . remove ( ) , ! 0 ; case "mceToggleEditor" : return o ? ( o . isHidden ( ) ? o . show ( ) : o . hide ( ) , ! 0 ) : ( i . execCommand ( "mceAddEditor" , 0 , r ) , ! 0 ) } return i . activeEditor ? i . activeEditor . execCommand ( t , n , r ) : ! 1 } , triggerSave : function ( ) { d ( this . editors , function ( e ) { e . save ( ) } ) } , addI18n : function ( e , t ) { s . add ( e , t ) } , translate : function ( e ) { return s . translate ( e ) } } ; return f ( m , a ) , m . setup ( ) , window . tinymce = window . tinyMCE = m , m } ) , r ( lt , [ st , p ] , function ( e , t ) { var n = t . each , r = t . explode ; e . on ( "AddEditor" , function ( e ) { var t = e . editor ; t . on ( "preInit" , function ( ) { function e ( e , t ) { n ( t , function ( t , n ) { t && s . setStyle ( e , n , t ) } ) , s . rename ( e , "span" ) } function i ( e ) { s = t . dom , l . convert _fonts _to _spans && n ( s . select ( "font,u,strike" , e . node ) , function ( e ) { o [ e . nodeName . toLowerCase ( ) ] ( s , e ) } ) } var o , a , s , l = t . settings ; l . inline _styles && ( a = r ( l . font _size _legacy _values ) , o = { font : function ( t , n ) { e ( n , { backgroundColor : n . style . backgroundColor , color : n . color , fontFamily : n . face , fontSize : a [ parseInt ( n . size , 10 ) - 1 ] } ) } , u : function ( t , n ) { e ( n , { textDecoration : "underline" } ) } , strike : function ( t , n ) { e ( n , { textDecoration : "line-through" } ) } } , t . on ( "PreProcess SetContent" , i ) ) } ) } ) } ) , r ( ct , [ ] , function ( ) { return { send : function ( e ) { function t ( ) { ! e . async || 4 == n . readyState || r ++ > 1e4 ? ( e . success && 1e4 > r && 200 == n . status ? e . success . call ( e . success _scope , "" + n . responseText , n , e ) : e . error && e . error . call ( e . error _scope , r > 1e4 ? "TIMED_OUT" : "GENERAL" , n , e ) , n = null ) : setTimeout ( t , 10 ) } var n , r = 0 ; if ( e . scope = e . scope || this , e . success _scope = e . success _scope || e . scope , e . error _scope = e . error _scope || e . scope , e . async = e . async === ! 1 ? ! 1 : ! 0 , e . data = e . data || "" , n = new XMLHttpRequest ) { if ( n . overrideMimeType && n . overrideMimeTy
h += s + b } } else if ( l . w = l . minW , l . h = l . minH , e . layoutRect ( l ) , this . recalc ( e ) , null === e . _lastRect ) { var P = e . parent ( ) ; P && ( P . _lastRect = null , P . recalc ( ) ) } } } ) } ) , r ( Pt , [ yt ] , function ( e ) { return e . extend ( { renderHtml : function ( ) { var e = this ; return e . addClass ( "iframe" ) , e . canFocus = ! 1 , '<iframe id="' + e . _id + '" class="' + e . classes ( ) + '" tabindex="-1" src="' + ( e . settings . url || "javascript:''" ) + '" frameborder="0"></iframe>' } , src : function ( e ) { this . getEl ( ) . src = e } , html : function ( e , t ) { var n = this , r = this . getEl ( ) . contentWindow . document . body ; return r ? ( r . innerHTML = e , t && t ( ) ) : setTimeout ( function ( ) { n . html ( e ) } , 0 ) , this } } ) } ) , r ( Ot , [ yt ] , function ( e ) { return e . extend ( { init : function ( e ) { var t = this ; t . _super ( e ) , t . addClass ( "widget" ) , t . addClass ( "label" ) , t . canFocus = ! 1 , e . multiline && t . addClass ( "autoscroll" ) , e . strong && t . addClass ( "strong" ) } , initLayoutRect : function ( ) { var e = this , t = e . _super ( ) ; return e . settings . multiline && ( e . getEl ( ) . offsetWidth > t . maxW && ( t . minW = t . maxW , e . addClass ( "multiline" ) ) , e . getEl ( ) . style . width = t . minW + "px" , t . startMinH = t . h = t . minH = Math . min ( t . maxH , e . getEl ( ) . offsetHeight ) ) , t } , disabled : function ( e ) { var t = this , n ; return e !== n && ( t . toggleClass ( "label-disabled" , e ) , t . _rendered && ( t . getEl ( ) [ 0 ] . className = t . classes ( ) ) ) , t . _super ( e ) } , repaint : function ( ) { var e = this ; return e . settings . multiline || ( e . getEl ( ) . style . lineHeight = e . layoutRect ( ) . h + "px" ) , e . _super ( ) } , text : function ( e ) { var t = this ; return t . _rendered && e && this . innerHtml ( t . encode ( e ) ) , t . _super ( e ) } , renderHtml : function ( ) { var e = this , t = e . settings . forId ; return '<label id="' + e . _id + '" class="' + e . classes ( ) + '"' + ( t ? ' for="' + t : "" ) + '">' + e . encode ( e . _text ) + "</label>" } } ) } ) , r ( It , [ q , J ] , function ( e , t ) { return e . extend ( { Defaults : { role : "toolbar" , layout : "flow" } , init : function ( e ) { var t = this ; t . _super ( e ) , t . addClass ( "toolbar" ) } , postRender : function ( ) { var e = this ; return e . items ( ) . addClass ( "toolbar-item" ) , e . keyNav = new t ( { root : e , enableLeftRight : ! 0 } ) , e . _super ( ) } } ) } ) , r ( Ft , [ It ] , function ( e ) { return e . extend ( { Defaults : { role : "menubar" , containerCls : "menubar" , defaults : { type : "menubutton" } } } ) } ) , r ( Wt , [ bt , U , Ft ] , function ( e , t , n ) { function r ( e , t ) { for ( ; e ; ) { if ( t === e ) return ! 0 ; e = e . parentNode } return ! 1 } var i = e . extend ( { init : function ( e ) { var t = this ; t . _renderOpen = ! 0 , t . _super ( e ) , t . addClass ( "menubtn" ) , e . fixedWidth && t . addClass ( "fixed-width" ) , t . aria ( "haspopup" , ! 0 ) , t . hasPopup = ! 0 } , showMenu : function ( ) { var e = this , n = e . settings , r ; return e . menu && e . menu . visible ( ) ? e . hideMenu ( ) : ( e . menu || ( r = n . menu || [ ] , r . length ? r = { type : "menu" , items : r } : r . type = r . type || "menu" , e . menu = t . create ( r ) . parent ( e ) . renderTo ( e . getContainerElm ( ) ) , e . fire ( "createmenu" ) , e . menu . reflow ( ) , e . menu . on ( "cancel" , function ( t ) { t . control === e . menu && e . focus ( ) } ) , e . menu . on ( "show hide" , function ( t ) { t . control == e . menu && e . activeMenu ( "show" == t . type ) } ) . fire ( "show" ) , e . aria ( "expanded" , ! 0 ) ) , e . menu . show ( ) , e . menu . layoutRect ( { w : e . layoutRect ( ) . w } ) , e . menu . moveRel ( e . getEl ( ) , [ "bl-tl" , "tl-bl" ] ) , void 0 ) } , hideMenu : function ( ) { var e = this ; e . menu && ( e . menu . items ( ) . each ( function ( e ) { e . hideMenu && e . hideMenu ( ) } ) , e . menu . hide ( ) , e . aria ( "expanded" , ! 1 ) ) } , activeMenu : function ( e ) { this . toggleClass ( "active" , e ) } , renderHtml : function ( ) { var e = this , t = e . _id , r = e . classPrefix , i = e . settings . icon ? r + "ico " + r + "i-" + e . settings . icon : "" ; return e . aria ( "role" , e . parent ( ) instanceof n ? "menuitem" : "button" ) , '<div id="' + t + '" class="' + e . classes ( ) + '" tabindex="-1">' + '<button id="' + t + '-open" role="presentation" type="button" tabindex="-1">' + ( i ? '<i class="' + i + '"></i>' : "" ) + "<span>" + ( e . _text ? ( i ? " " : "" ) + e . encode ( e . _text ) : "" ) + "</span>" + ' <i class="' + r + 'caret"></i>' + "</button>" + "</div>" } , postRender : function ( ) { var e = this ; return e . on ( "click" , function ( t ) { t . control === e && r ( t . target , e . getEl ( ) ) && ( e . showMenu ( ) , t . keyboard && e . menu . items ( ) [ 0 ] . focus ( ) ) } ) , e . on ( "mouseenter" , function ( t ) { var n = t . control , r = e . parent ( ) , o ; n && r && n instanceof i && n . parent ( ) == r && ( r . items ( ) . filter ( "MenuButton" ) . each ( function ( e ) { e . hideMenu && e != n && ( e . menu && e . menu . visible ( ) && ( o = ! 0 ) , e . hideMenu ( ) ) } ) , o && ( n . focus ( ) , n . showMenu ( ) ) ) } ) , e . _super ( ) } , text : function ( e ) { var t = this , n , r ; if ( t . _rendered ) for ( r = t . getEl ( "open" ) . getElementsByTagName ( "span" ) , n = 0 ; n < r . length ; n ++ ) r [ n ] . innerHTML = t . encode ( e ) ; return this . _super ( e ) } , remove : function ( ) { this . _super ( ) , this . menu && this . menu . remove ( ) } } ) ; return i } ) , r ( zt , [ Wt ] ,