diff --git a/client/src/lib/sandboxed-mosaico-root.js b/client/src/lib/sandboxed-mosaico-root.js index c1c4f230..b86403a8 100644 --- a/client/src/lib/sandboxed-mosaico-root.js +++ b/client/src/lib/sandboxed-mosaico-root.js @@ -57,7 +57,7 @@ class MosaicoSandbox extends Component { ... */ - let html = this.viewModel.exportHTML(); + let html = this.viewModel.export(); html = juice(html); return { @@ -86,6 +86,18 @@ class MosaicoSandbox extends Component { viewModel.originalExportHTML = viewModel.exportHTML; viewModel.exportHTML = () => { let html = viewModel.originalExportHTML(); + + // Chrome workaround begin ----------------------------------------------------------------------------------- + // Chrome v. 74 (and likely other versions too) has problem with how KO sets data during export. + // As the result, the images that have been in the template from previous editing (i.e. before page refresh) + // get lost. The code below refreshes the KO binding, thus effectively reloading the images. + const isChrome = !!window.chrome && (!!window.chrome.webstore || !!window.chrome.runtime); + if (isChrome) { + ko.cleanNode(document.body); + ko.applyBindings(viewModel, document.body); + } + // Chrome workaround end ------------------------------------------------------------------------------------- + for (const portRender of window.mosaicoHTMLPostRenderers) { html = postRender(html); } diff --git a/client/src/templates/mosaico/CUD.js b/client/src/templates/mosaico/CUD.js index 531ddc96..570e9cd2 100644 --- a/client/src/templates/mosaico/CUD.js +++ b/client/src/templates/mosaico/CUD.js @@ -199,8 +199,14 @@ export default class CUD extends Component { {isEdit && typeKey && this.templateTypes[typeKey].getForm(this)} - '),r.url&&(a=''),void 0===a&&(a=t.renderHtml(e)),e.statusbar&&(s=e.statusbar.renderHtml()),'
'+o+'
'+a+"
"+s+"
"},fullscreen:function(e){var n,t,i=this,r=document.documentElement,o=i.classPrefix;if(e!=i._fullscreen)if(l(window).on("resize",function(){var e;if(i._fullscreen)if(n)i._timer||(i._timer=u.setTimeout(function(){var e=a.getWindowSize();i.moveTo(0,0).resizeTo(e.w,e.h),i._timer=0},50));else{e=(new Date).getTime();var t=a.getWindowSize();i.moveTo(0,0).resizeTo(t.w,t.h),50<(new Date).getTime()-e&&(n=!0)}}),t=i.layoutRect(),i._fullscreen=e){i._initial={x:t.x,y:t.y,w:t.w,h:t.h},i.borderBox=c.parseBox("0"),i.getEl("head").style.display="none",t.deltaH-=t.headerH+2,l([r,document.body]).addClass(o+"fullscreen"),i.classes.add("fullscreen");var s=a.getWindowSize();i.moveTo(0,0).resizeTo(s.w,s.h)}else i.borderBox=c.parseBox(i.settings.border),i.getEl("head").style.display="",t.deltaH+=t.headerH,l([r,document.body]).removeClass(o+"fullscreen"),i.classes.remove("fullscreen"),i.moveTo(i._initial.x,i._initial.y).resizeTo(i._initial.w,i._initial.h);return i.reflow()},postRender:function(){var t,n=this;setTimeout(function(){n.classes.add("in"),n.fire("open")},0),n._super(),n.statusbar&&n.statusbar.postRender(),n.focus(),this.dragHelper=new i(n._id+"-dragh",{start:function(){t={x:n.layoutRect().x,y:n.layoutRect().y}},drag:function(e){n.moveTo(t.x+e.deltaX,t.y+e.deltaY)}}),n.on("submit",function(e){e.isDefaultPrevented()||n.close()}),o.push(n),d(!0)},submit:function(){return this.fire("submit",{data:this.toJSON()})},remove:function(){var e;for(this.dragHelper.destroy(),this._super(),this.statusbar&&this.statusbar.remove(),n(this.classPrefix,!1),e=o.length;e--;)o[e]===this&&o.splice(e,1);d(0
'+this.encode(this.state.get("text"))+"
"},bindStates:function(){var t=this;return t.state.on("change:text",function(e){t.getEl().lastChild.innerHTML=t.encode(e.value)}),t._super()},repaint:function(){var e,t;e=this.getEl().style,t=this._layoutRect,e.left=t.x+"px",e.top=t.y+"px",e.zIndex=131070}})}),e("tinymce/ui/Widget",["tinymce/ui/Control","tinymce/ui/Tooltip"],function(e,t){var n,o=e.extend({init:function(i){var r=this;r._super(i),i=r.settings,r.canFocus=!0,i.tooltip&&!1!==o.tooltips&&(r.on("mouseenter",function(e){var t=r.tooltip().moveTo(-65535);if(e.control==r){var n=t.text(i.tooltip).show().testMoveRel(r.getEl(),["bc-tc","bc-tl","bc-tr"]);t.classes.toggle("tooltip-n","bc-tc"==n),t.classes.toggle("tooltip-nw","bc-tl"==n),t.classes.toggle("tooltip-ne","bc-tr"==n),t.moveRel(r.getEl(),n)}else t.hide()}),r.on("mouseleave mousedown click",function(){r.tooltip().hide()})),r.aria("label",i.ariaLabel||i.tooltip)},tooltip:function(){return n||(n=new t({type:"tooltip"})).renderTo(),n},postRender:function(){var e=this.settings;this._super(),this.parent()||!e.width&&!e.height||(this.initLayoutRect(),this.repaint()),e.autofocus&&this.focus()},bindStates:function(){var t=this;function n(e){t.aria("disabled",e),t.classes.toggle("disabled",e)}function i(e){t.aria("pressed",e),t.classes.toggle("active",e)}return t.state.on("change:disabled",function(e){n(e.value)}),t.state.on("change:active",function(e){i(e.value)}),t.state.get("disabled")&&n(!0),t.state.get("active")&&i(!0),t._super()},remove:function(){this._super(),n&&(n.remove(),n=null)}});return o}),e("tinymce/ui/Progress",["tinymce/ui/Widget"],function(e){return e.extend({Defaults:{value:0},init:function(e){this._super(e),this.classes.add("progress"),this.settings.filter||(this.settings.filter=function(e){return Math.round(e)})},renderHtml:function(){var e=this._id,t=this.classPrefix;return'
0%
'},postRender:function(){return this._super(),this.value(this.settings.value),this},bindStates:function(){var t=this;function n(e){e=t.settings.filter(e),t.getEl().lastChild.innerHTML=e+"%",t.getEl().firstChild.firstChild.style.width=e+"%"}return t.state.on("change:value",function(e){n(e.value)}),n(t.state.get("value")),t._super()}})}),e("tinymce/ui/Notification",["tinymce/ui/Control","tinymce/ui/Movable","tinymce/ui/Progress","tinymce/util/Delay"],function(e,t,n,i){return e.extend({Mixins:[t],Defaults:{classes:"widget notification"},init:function(e){var t=this;t._super(e),e.text&&t.text(e.text),e.icon&&(t.icon=e.icon),e.color&&(t.color=e.color),e.type&&t.classes.add("notification-"+e.type),e.timeout&&(e.timeout<0||0'),e.color&&(o=' style="background-color: '+e.color+'"'),e.closeButton&&(i=''),e.progressBar&&(r=e.progressBar.renderHtml()),'"},postRender:function(){var e=this;return i.setTimeout(function(){e.$el.addClass(e.classPrefix+"in")}),e._super()},bindStates:function(){var t=this;return t.state.on("change:text",function(e){t.getEl().childNodes[1].innerHTML=e.value}),t.progressBar&&t.progressBar.bindStates(),t._super()},close:function(){return this.fire("close").isDefaultPrevented()||this.remove(),this},repaint:function(){var e,t;e=this.getEl().style,t=this._layoutRect,e.left=t.x+"px",e.top=t.y+"px",e.zIndex=65534}})}),e("tinymce/NotificationManager",["tinymce/ui/Notification","tinymce/util/Delay","tinymce/util/Tools"],function(s,t,a){return function(i){var r=[];function e(){if(r.length)return r[r.length-1]}function o(){if(0r.length-1)return null;i=r[t[n]]}return i}}}),e("tinymce/util/Quirks",["tinymce/util/VK","tinymce/dom/RangeUtils","tinymce/dom/TreeWalker","tinymce/dom/NodePath","tinymce/html/Node","tinymce/html/Entities","tinymce/Env","tinymce/util/Tools","tinymce/util/Delay","tinymce/caret/CaretContainer","tinymce/caret/CaretPosition","tinymce/caret/CaretWalker"],function(N,D,R,A,P,M,I,O,B,L,H,F){return function(p){var n,r=O.each,m=p.$,f=N.BACKSPACE,g=N.DELETE,c=p.dom,s=p.selection,e=p.settings,t=p.parser,i=p.serializer,o=I.gecko,a=I.ie,l=I.webkit,u="data:text/mce-internal,",d=a?"Text":"URL";function h(e,t){try{p.getDoc().execCommand(e,!1,t)}catch(e){}}function v(){var e=p.getDoc().documentMode;return e||6}function y(e){return e.isDefaultPrevented()}function b(e){var t,n;e.dataTransfer&&(p.selection.isCollapsed()&&"IMG"==e.target.tagName&&s.select(e.target),0<(t=p.selection.getContent()).length&&(n=u+escape(p.id)+","+escape(t),e.dataTransfer.setData(d,n)))}function _(e){var t;return e.dataTransfer&&(t=e.dataTransfer.getData(d))&&0<=t.indexOf(u)?(t=t.substr(u.length).split(","),{id:unescape(t[0]),html:unescape(t[1])}):null}function x(e){p.queryCommandSupported("mceInsertClipboardContent")?p.execCommand("mceInsertClipboardContent",!1,{content:e}):p.execCommand("mceInsertContent",!1,e)}function w(){p.shortcuts.add("meta+a",null,"SelectAll")}function C(){p.on("keydown",function(e){if(!y(e)&&e.keyCode===f){if(!p.getBody().getElementsByTagName("hr").length)return;if(s.isCollapsed()&&0===s.getRng(!0).startOffset){var t=s.getNode(),n=t.previousSibling;if("HR"==t.nodeName)return c.remove(t),void e.preventDefault();n&&n.nodeName&&"hr"===n.nodeName.toLowerCase()&&(c.remove(n),e.preventDefault())}}})}function k(){p.on("keydown",function(e){if(!y(e)&&e.keyCode===f&&s.isCollapsed()&&0===s.getRng(!0).startOffset){var t=s.getNode().previousSibling;if(t&&t.nodeName&&"table"===t.nodeName.toLowerCase())return e.preventDefault(),!1}})}function T(){p.inline||(p.contentStyles.push("body {min-height: 150px}"),p.on("click",function(e){var t;if("HTML"==e.target.nodeName){if(11s.childNodes.length-1;if(!n||!i)return e;if(o&&r!=o)if(t){if(!c(r,o))return e;1==n.nodeType?"BR"==n.nodeName?e.setStartBefore(n):e.setStartAfter(n):e.setStart(n,n.data.length),1==i.nodeType?e.setEnd(i,0):e.setEndBefore(i)}else{if(!c(o,r))return e;1==i.nodeType?"BR"==i.nodeName?e.setStartBefore(i):e.setStartAfter(i):e.setStart(i,i.data.length),1==n.nodeType&&l?e.setEndAfter(n):e.setEndBefore(n)}return e}(t,e)))return!0}function l(e){var t,i,r;o(e)||(O.each(p.getBody().getElementsByTagName("*"),function(e){"SPAN"==e.tagName&&e.setAttribute("mce-data-marked",1),!e.hasAttribute("data-mce-style")&&e.hasAttribute("style")&&p.dom.setAttrib(e,"style",p.dom.getAttrib(e,"style"))}),(t=new n(function(){})).observe(p.getDoc(),{childList:!0,attributes:!0,subtree:!0,attributeFilter:["style"]}),p.getDoc().execCommand(e?"ForwardDelete":"Delete",!1,null),i=p.selection.getRng(),r=i.startContainer.parentNode,O.each(t.takeRecords(),function(e){if(h.isChildOf(e.target,p.getBody())){if("style"==e.attributeName){var t=e.target.getAttribute("data-mce-style");t?e.target.setAttribute("style",t):e.target.removeAttribute("style")}O.each(e.addedNodes,function(e){var t,n;"SPAN"!=e.nodeName||e.getAttribute("mce-data-marked")||(e==r&&(t=i.startOffset,n=e.firstChild),h.remove(e,!0),n&&(i.setStart(n,t),i.setEnd(n,t),p.selection.setRng(i)))})}}),t.disconnect(),O.each(p.dom.select("span[mce-data-marked]"),function(e){e.removeAttribute("mce-data-marked")}))}function d(e){p.undoManager.transact(function(){l(e)})}n||(e=!0,n=function(){var t,n=[];function i(e){var t=e.relatedNode||e.target;n.push({target:t,addedNodes:[t]})}function r(e){var t=e.relatedNode||e.target;n.push({target:t,attributeName:e.attrName})}this.observe=function(e){(t=e).addEventListener("DOMSubtreeModified",i,!1),t.addEventListener("DOMNodeInsertedIntoDocument",i,!1),t.addEventListener("DOMNodeInserted",i,!1),t.addEventListener("DOMAttrModified",r,!1)},this.disconnect=function(){t.removeEventListener("DOMSubtreeModified",i,!1),t.removeEventListener("DOMNodeInsertedIntoDocument",i,!1),t.removeEventListener("DOMNodeInserted",i,!1),t.removeEventListener("DOMAttrModified",r,!1)},this.takeRecords=function(){return n}}),p.on("keydown",function(e){var t=e.keyCode==g,n=e.ctrlKey||e.metaKey;if(!y(e)&&(t||e.keyCode==f)){var i=p.selection.getRng(),r=i.startContainer,o=i.startOffset;if(t&&e.shiftKey)return;if(function(e,n){var t,i,r,o,s,a,l,c,u;function d(e,t){return u=m(t).parents().filter(function(e,t){return!!p.schema.getTextInlineElements()[t.nodeName]}),r=e.cloneNode(!1),(u=O.map(u,function(e){return e=e.cloneNode(!1),r.hasChildNodes()&&e.appendChild(r.firstChild),r.appendChild(e),r.appendChild(e),e})).length?(c=h.create("br"),u[0].appendChild(c),h.replace(r,e),n.setStartBefore(c),n.setEndBefore(c),p.selection.setRng(n),c):null}function f(e){return e&&p.schema.getTextBlockElements()[e.tagName]}if(n.collapsed&&(a=n.startContainer,l=n.startOffset,f(i=h.getParent(a,h.isBlock))))if(1==a.nodeType){if((a=a.childNodes[l])&&"BR"!=a.tagName)return;if(s=e?i.nextSibling:i.previousSibling,h.isEmpty(i)&&f(s)&&h.isEmpty(s)&&d(i,a))return h.remove(s),!0}else if(3==a.nodeType){if(t=A.create(i,a),o=i.cloneNode(!0),a=A.resolve(o,t),e){if(l>=a.data.length)return;a.deleteData(l,1)}else{if(l<=0)return;a.deleteData(l-1,1)}if(h.isEmpty(o))return d(i,a)}}(t,i))return void e.preventDefault();if(!n&&i.collapsed&&3==r.nodeType&&(t?oi.clientHeight)return;t=1,(n=s(e.x,e.y))&&(c.bind(r,"mouseup",l),c.bind(r,"mousemove",a),c.getRoot().focus(),n.select())}})}()),11<=I.ie&&k(),I.ie&&(T(),w(),h("AutoUrlDetect",!1),p.on("dragstart",function(e){b(e)}),p.on("drop",function(e){if(!y(e)){var t=_(e);if(t&&t.id!=p.id){e.preventDefault();var n=D.getCaretRangeFromPoint(e.x,e.y,p.getDoc());s.setRng(n),x(t.html)}}})),o&&(E(),C(),window.Range.prototype.getClientRects||p.on("mousedown",function(e){if(!y(e)&&"HTML"===e.target.nodeName){var t=p.getBody();t.blur(),B.setEditorTimeout(p,function(){t.focus()})}}),function(){function n(){var e=c.getAttribs(s.getStart().cloneNode(!1));return function(){var t=s.getStart();t!==p.getBody()&&(c.setAttrib(t,"style",null),r(e,function(e){t.setAttributeNode(e.cloneNode(!0))}))}}function i(){return!s.isCollapsed()&&c.getParent(s.getStart(),c.isBlock)!=c.getParent(s.getEnd(),c.isBlock)}p.on("keypress",function(e){var t;if(!y(e)&&(8==e.keyCode||46==e.keyCode)&&i())return t=n(),p.getDoc().execCommand("delete",!1,null),t(),e.preventDefault(),!1}),c.bind(p.getDoc(),"cut",function(e){var t;!y(e)&&i()&&(t=n(),B.setEditorTimeout(p,function(){t()}))})}(),e.readonly||p.on("BeforeExecCommand MouseDown",function(){h("StyleWithCSS",!1),h("enableInlineTableEditing",!1),e.object_resizing||h("enableObjectResizing",!1)}),p.on("SetContent ExecCommand",function(e){"setcontent"!=e.type&&"mceInsertLink"!==e.command||r(c.select("a"),function(e){var t=e.parentNode,n=c.getRoot();if(t.lastChild===e){for(;t&&!c.isBlock(t);){if(t.parentNode.lastChild!==t||t===n)return;t=t.parentNode}c.add(t,"br",{"data-mce-bogus":1})}})}),p.contentStyles.push("img:-moz-broken {-moz-force-broken-image-icon:1;min-width:24px;min-height:24px}"),I.mac&&p.on("keydown",function(e){!N.metaKeyPressed(e)||e.shiftKey||37!=e.keyCode&&39!=e.keyCode||(e.preventDefault(),p.selection.getSel().modify("move",37==e.keyCode?"backward":"forward","lineboundary"))}),k()),{refreshContentEditable:S,isHidden:function(){var e;return o?!(e=p.selection.getSel())||!e.rangeCount||0===e.rangeCount:0}}}}),e("tinymce/EditorObservable",["tinymce/util/Observable","tinymce/dom/DOMUtils","tinymce/util/Tools"],function(e,t,n){var i,l=t.DOM;function r(e,t){return"selectionchange"==t?e.getDoc():!e.inline&&/^mouse|touch|click|contextmenu|drop|dragover|dragend/.test(t)?e.getDoc().documentElement:e.settings.event_root?(e.eventRoot||(e.eventRoot=l.select(e.settings.event_root)[0]),e.eventRoot):e.getBody()}function o(o,s){var e,t=r(o,s);function a(e){return!e.hidden&&!e.readonly}if(o.delegates||(o.delegates={}),!o.delegates[s])if(o.settings.event_root){if(i||(i={},o.editorManager.on("removeEditor",function(){var e;if(!o.editorManager.activeEditor&&i){for(e in i)o.dom.unbind(r(o,e));i=null}})),i[s])return;e=function(e){for(var t=e.target,n=o.editorManager.editors,i=n.length;i--;){var r=n[i].getBody();(r===t||l.isChildOf(t,r))&&a(n[i])&&n[i].fire(s,e)}},i[s]=e,l.bind(t,s,e)}else e=function(e){a(o)&&o.fire(s,e)},l.bind(t,s,e),o.delegates[s]=e}var s={bindPendingEventDelegates:function(){var t=this;n.each(t._pendingNativeEvents,function(e){o(t,e)})},toggleNativeEvent:function(e,t){var n=this;"focus"!=e&&"blur"!=e&&(t?n.initialized?o(n,e):n._pendingNativeEvents?n._pendingNativeEvents.push(e):n._pendingNativeEvents=[e]:n.initialized&&(n.dom.unbind(r(n,e),e,n.delegates[e]),delete n.delegates[e]))},unbindAllNativeEvents:function(){var e,t=this;if(t.delegates){for(e in t.delegates)t.dom.unbind(r(t,e),e,t.delegates[e]);delete t.delegates}t.inline||(t.getBody().onload=null,t.dom.unbind(t.getWin()),t.dom.unbind(t.getDoc())),t.dom.unbind(t.getBody()),t.dom.unbind(t.getContainer())}};return s=n.extend({},e,s)}),e("tinymce/Mode",[],function(){function n(e,t,n){try{e.getDoc().execCommand(t,!1,n)}catch(e){}}function i(e,t){e._clickBlocker&&(e._clickBlocker.unbind(),e._clickBlocker=null),t?(e._clickBlocker=function(t){var e,n;return e=t.getBody(),n=function(e){0"),a))[r.length-1]=c.extend(r[r.length-1],{func:n,scope:i||o}),c.extend(r[0],{desc:o.translate(t),subpatterns:r.slice(1)})}function i(e,t){return!!t&&(t.ctrl==e.ctrlKey&&t.meta==e.metaKey&&(t.alt==e.altKey&&t.shift==e.shiftKey&&(!!(e.keyCode==t.keyCode||e.charCode&&e.charCode==t.charCode)&&(e.preventDefault(),!0))))}function r(e){return e.func?e.func.call(e.scope):null}o.on("keyup keypress keydown",function(t){!function(e){return e.altKey||e.ctrlKey||e.metaKey}(t)&&!function(e){return"keydown"===e.type&&112<=e.keyCode&&e.keyCode<=123}(t)||t.isDefaultPrevented()||(d(s,function(e){if(i(t,e))return n=e.subpatterns.slice(0),"keydown"==t.type&&r(e),!0}),i(t,n[0])&&(1===n.length&&"keydown"==t.type&&r(n[0]),n.shift()))}),this.add=function(e,n,i,r){var t;return"string"==typeof(t=i)?i=function(){o.execCommand(t,!1,null)}:c.isArray(t)&&(i=function(){o.execCommand(t[0],t[1],t[2])}),d(f(c.trim(e.toLowerCase())),function(e){var t=l(e,n,i,r);s[t.id]=t}),!0},this.remove=function(e){var t=l(e);return!!s[t.id]&&(delete s[t.id],!0)}}}),e("tinymce/file/Uploader",["tinymce/util/Promise","tinymce/util/Tools","tinymce/util/Fun"],function(f,a,h){return function(l,s){var n={};function i(e,t,n,i){var r,o;(r=new XMLHttpRequest).open("POST",s.url),r.withCredentials=s.credentials,r.upload.onprogress=function(e){i(e.loaded/e.total*100)},r.onerror=function(){n("Image upload failed due to a XHR Transport error. Code: "+r.status)},r.onload=function(){var e;200==r.status?(e=JSON.parse(r.responseText))&&"string"==typeof e.location?t(function(e,t){return e?e.replace(/\/$/,"")+"/"+t.replace(/^\//,""):t}(s.basePath,e.location)):n("Invalid JSON: "+r.responseText):n("HTTP Error: "+r.status)},(o=new FormData).append("file",e.blob(),e.filename()),r.send(o)}function c(e,t){return{url:t,blobInfo:e,status:!0}}function u(e,t){return{url:"",blobInfo:e,status:!1,error:t}}function d(e,t){a.each(n[e],function(e){e(t)}),delete n[e]}function r(o,s,a){return l.markPending(o.blobUri()),new f(function(t){var n,e,i=function(){};try{var r=function(){n&&(n.close(),e=i)};e=function(e){e<0||100').css(n).appendTo(l),e&&s.addClass("mce-visual-caret-before"),o=h.setInterval(function(){d("div.mce-visual-caret",l).toggleClass("mce-visual-caret-hidden")},500),(i=t.ownerDocument.createRange()).setStart(a,0),i.setEnd(a,0)):(a=u.insertInline(t,e),i=t.ownerDocument.createRange(),p(a.nextSibling)?(i.setStart(a,0),i.setEnd(a,0)):(i.setStart(a,1),i.setEnd(a,1))),i},hide:c,getCss:function(){return".mce-visual-caret {position: absolute;background-color: black;background-color: currentcolor;}.mce-visual-caret-hidden {display: none;}*[data-mce-caret] {position: absolute;left: -1000px;right: auto;top: 0;margin: 0;padding: 0;}"},destroy:function(){h.clearInterval(o)}}}}),e("tinymce/dom/Dimensions",["tinymce/util/Arr","tinymce/dom/NodeType","tinymce/geom/ClientRect"],function(r,o,s){return{getClientRects:function n(t){function e(e){return r.map(e,function(e){return(e=s.clone(e)).node=t,e})}if(r.isArray(t))return r.reduce(t,function(e,t){return e.concat(n(t))},[]);if(o.isElement(t))return e(t.getClientRects());if(o.isText(t)){var i=t.ownerDocument.createRange();return i.setStart(t,0),i.setEnd(t,t.data.length),e(i.getClientRects())}}}}),e("tinymce/caret/LineWalker",["tinymce/util/Fun","tinymce/util/Arr","tinymce/dom/Dimensions","tinymce/caret/CaretCandidate","tinymce/caret/CaretUtils","tinymce/caret/CaretWalker","tinymce/caret/CaretPosition","tinymce/geom/ClientRect"],function(e,p,d,f,h,m,g,v){var t=e.curry;function n(r,o,s,e,a,t){var n,l,c=0,u=[];function i(e){var t,n,i;for(i=d.getClientRects(e),-1==r&&(i=i.reverse()),t=0;te}),isLine:t(function(e,t){return t.line===e})}}),e("tinymce/caret/LineUtils",["tinymce/util/Fun","tinymce/util/Arr","tinymce/dom/NodeType","tinymce/dom/Dimensions","tinymce/geom/ClientRect","tinymce/caret/CaretUtils","tinymce/caret/CaretCandidate"],function(e,s,t,o,n,i,r){var a=t.isContentEditableFalse,l=i.findNode,c=e.curry;function u(e,t){return Math.abs(e.left-t)}function d(e,t){return Math.abs(e.right-t)}function f(e,r){function o(e,t){return e>=t.left&&e<=t.right}return s.reduce(e,function(e,t){var n,i;return n=Math.min(u(e,r),d(e,r)),i=Math.min(u(t,r),d(t,r)),o(r,t)?t:o(r,e)?e:i==n&&a(t.node)?t:i=e.top&&n<=e.bottom}),t))&&(r=f(p(e,r),t))&&a(r.node)?function(e,t){return{node:e.node,before:u(e,t)r&&(s=t.pageX+n-r),t.pageY+i>o&&(a=t.pageY+i-o),e.style.width=n-s+"px",e.style.height=i-a+"px"}(i.ghost,n,i.width,i.height,i.maxX,i.maxY),o(e.clientX,e.clientY)}}}(a,e),r=m(a,e),o=function(e,t){return function(){g(e),e.dragging&&t.fire("dragend")}}(a,e),e.on("mousedown",n),e.on("mousemove",i),e.on("mouseup",r),t.bind(s,"mousemove",i),t.bind(s,"mouseup",o),e.on("remove",function(){t.unbind(s,"mousemove",i),t.unbind(s,"mouseup",o)})};return{init:function(e){t(e),function(n){n.on("drop",function(e){var t=void 0!==e.clientX?n.getDoc().elementFromPoint(e.clientX,e.clientY):null;(f(t)||f(n.dom.getContentEditableParent(t)))&&e.preventDefault()})}(e)}}}),e("tinymce/SelectionOverrides",["tinymce/Env","tinymce/caret/CaretWalker","tinymce/caret/CaretPosition","tinymce/caret/CaretContainer","tinymce/caret/CaretUtils","tinymce/caret/FakeCaret","tinymce/caret/LineWalker","tinymce/caret/LineUtils","tinymce/dom/NodeType","tinymce/dom/RangeUtils","tinymce/geom/ClientRect","tinymce/util/VK","tinymce/util/Fun","tinymce/util/Arr","tinymce/util/Delay","tinymce/DragDropOverrides"],function(L,H,F,z,f,a,j,W,U,e,q,V,$,K,J,Y){var X=$.curry,Q=U.isContentEditableTrue,G=U.isContentEditableFalse,Z=U.isElement,ee=f.isAfterContentEditableFalse,te=f.isBeforeContentEditableFalse,ne=e.getSelectedNode;function ie(e,t){for(;t=e(t);)if(t.isVisible())return t;return t}return function(h){var p,e,t,m=h.getBody(),l=new H(m),g=X(ie,l.next),v=X(ie,l.prev),i=new a(h.getBody(),_),y="sel-"+h.dom.uniqueId(),b=h.$;function _(e){return h.dom.isBlock(e)}function x(e){e&&h.selection.setRng(e)}function w(){return h.selection.getRng()}function r(e,t){h.selection.scrollIntoView(e,t)}function C(e,t,n){return h.fire("ShowCaret",{target:t,direction:e,before:n}).isDefaultPrevented()?null:(r(t,-1===e),i.show(n,t))}function k(e){return h.fire("BeforeObjectSelected",{target:e}).isDefaultPrevented()?null:function(e){var t=e.ownerDocument.createRange();return t.selectNode(e),t}(e)}function T(e,t){return t=f.normalizeRange(e,m,t),-1==e?F.fromRangeStart(t):F.fromRangeEnd(t)}function o(e,t,n,i){var r,o,s,a;return!i.collapsed&&(r=ne(i),G(r))?C(e,r,-1==e):(a=function(e){return z.isCaretContainerBlock(e.startContainer)}(i),n(o=T(e,i))?k(o.getNode(-1==e)):(o=t(o))?n(o)?C(e,o.getNode(-1==e),1==e):n(s=t(o))&&function(e,t){var n=f.isInSameBlock(e,t);return!(n||!U.isBr(e.getNode()))||n}(o,s)?C(e,s.getNode(-1==e),1==e):a?R(o.toRange()):null:a?i:null)}function s(e,t){var n,i,r;if(t.collapsed&&h.settings.forced_root_block){if(!(n=h.dom.getParent(t.startContainer,"PRE")))return;(1==e?g(F.fromRangeStart(t)):v(F.fromRangeStart(t)))||(r=h.dom.create(h.settings.forced_root_block),(!L.ie||11<=L.ie)&&(r.innerHTML='
'),i=r,1==e?h.$(n).after(i):h.$(n).before(i),h.selection.select(i,!0),h.selection.collapse())}}function S(e,t,n,i){var r;return(r=o(e,t,n,i))?r:(r=s(e,i))||null}function E(e,t,n){var i;return(i=function(e,t,n){var i,r,o,s,a,l,c,u,d;if(d=ne(n),i=T(e,n),r=t(m,j.isAboveLine(1),i),o=K.filter(r,j.isLine(1)),a=K.last(i.getClientRects()),te(i)&&(d=i.getNode()),ee(i)&&(d=i.getNode(!0)),!a)return null;if(l=a.left,(s=W.findClosestClientRect(o,l))&&G(s.node))return c=Math.abs(l-s.left),u=Math.abs(l-s.right),C(e,s.node,c').attr("id",y)).appendTo(h.getBody()),e=h.dom.createRng(),c===u&&L.ie?(n.empty().append('

 

').append(c),e.setStartAfter(n[0].firstChild.firstChild),e.setEndAfter(c)):(n.empty().append(" ").append(c).append(" "),e.setStart(n[0].firstChild,1),e.setEnd(n[0].lastChild,0)),n.css({top:f.getPos(t,h.getBody()).y}),n[0].focus(),(i=h.selection.getSel()).removeAllRanges(),i.addRange(e),h.$("*[data-mce-selected]").removeAttr("data-mce-selected"),t.setAttribute("data-mce-selected",1),p=t,B(),e)):null)}function O(){p&&(p.removeAttribute("data-mce-selected"),h.$("#"+y).remove(),p=null)}function B(){i.hide()}return L.ceFalse&&(function(){var t=X(S,1,g,te),n=X(S,-1,v,ee),i=X(P,1,te,ee),r=X(P,-1,ee,te),o=X(E,-1,j.upUntil),s=X(E,1,j.downUntil);function a(e,t){if(!1===e.isDefaultPrevented()){var n=t(w());n&&(e.preventDefault(),x(n))}}function l(e){for(var t=h.getBody();e&&e!=t;){if(Q(e)||G(e))return e;e=e.parentNode}return null}h.on("mouseup",function(){var e=w();e.collapsed&&x(D(e))}),h.on("click",function(e){var t;(t=l(e.target))&&(G(t)&&(e.preventDefault(),h.focus()),Q(t)&&h.dom.isChildOf(t,h.selection.getNode())&&O())}),h.on("blur NewBlock",function(){O(),B()});var e,c,u=function(e,t){var n=h.dom.getParent(e,h.dom.isBlock),i=h.dom.getParent(t,h.dom.isBlock);return n&&!function(e,t){return h.dom.getParent(e,h.dom.isBlock)===h.dom.getParent(t,h.dom.isBlock)}(n,i)&&function(e){var t=new H(e);if(!e.firstChild)return!1;var n=F.before(e.firstChild),i=t.next(n);return i&&!te(i)&&!ee(i)}(n)};function d(){var e,t=l(h.selection.getNode());Q(t)&&_(t)&&h.dom.isEmpty(t)&&(e=h.dom.create("br",{"data-mce-bogus":"1"}),h.$(t).empty().append(e),h.selection.setRng(F.before(e).toRange()))}function f(e){var t=b("*[data-mce-caret]")[0];if(t)return"compositionstart"==e.type?(e.preventDefault(),e.stopPropagation(),void N(t)):void(z.hasContent(t)&&N(t))}c=!1,(e=h).on("touchstart",function(){c=!1}),e.on("touchmove",function(){c=!0}),e.on("touchend",function(e){var t=l(e.target);G(t)&&(c||(e.preventDefault(),I(k(t))))}),h.on("mousedown",function(e){var t;if(t=l(e.target))G(t)?(e.preventDefault(),I(k(t))):function(n,i,e){return!e.collapsed&&K.reduce(e.getClientRects(),function(e,t){return e||q.containsXY(t,n,i)},!1)}(e.clientX,e.clientY,h.selection.getRng())||h.selection.placeCaretAt(e.clientX,e.clientY);else{O(),B();var n=W.closestCaret(m,e.clientX,e.clientY);n&&(u(e.target,n.node)||(e.preventDefault(),h.getBody().focus(),x(C(1,n.node,n.before))))}}),h.on("keydown",function(e){if(!V.modifierPressed(e))switch(e.keyCode){case V.RIGHT:a(e,t);break;case V.DOWN:a(e,s);break;case V.LEFT:a(e,n);break;case V.UP:a(e,o);break;case V.DELETE:a(e,i);break;case V.BACKSPACE:a(e,r);break;default:G(h.selection.getNode())&&function(e){return!(112<=e.keyCode&&e.keyCode<=123)}(e)&&e.preventDefault()}}),h.on("keyup compositionstart",function(e){f(e),function(e){var t;switch(e.keyCode){case V.DELETE:case V.BACKSPACE:t=d()}t&&e.preventDefault()}(e)},!0),h.on("cut",function(){var e=h.selection.getNode();G(e)&&J.setEditorTimeout(h,function(){x(R(A(e)))})}),h.on("getSelectionRange",function(e){var t=e.range;if(p){if(!p.parentNode)return void(p=null);(t=t.cloneRange()).selectNode(p),e.range=t}}),h.on("setSelectionRange",function(e){var t;(t=I(e.range))&&(e.range=t)}),h.on("AfterSetSelectionRange",function(e){var t=e.range;M(t)||B(),function(e){return h.dom.hasClass(e,"mce-offscreen-selection")}(t.startContainer.parentNode)||O()}),h.on("focus",function(){J.setEditorTimeout(h,function(){h.selection.setRng(R(h.selection.getRng()))},0)}),h.on("copy",function(e){var t=e.clipboardData;if(!e.isDefaultPrevented()&&e.clipboardData&&!L.ie){var n=function(){var e=h.dom.get(y);return e?e.getElementsByTagName("*")[0]:e}();n&&(e.preventDefault(),t.clearData(),t.setData("text/html",n.outerHTML),t.setData("text/plain",n.outerText))}}),Y.init(h)}(),e=h.contentStyles,t=".mce-content-body",e.push(i.getCss()),e.push(t+" .mce-offscreen-selection {position: absolute;left: -9999999999px;max-width: 1000000px;}"+t+" *[contentEditable=false] {cursor: default;}"+t+" *[contentEditable=true] {cursor: text;}")),{showBlockCaretContainer:N,hideFakeCaret:B,destroy:function(){i.destroy(),p=null}}}}),e("tinymce/util/Uuid",[],function(){var t=0;return{uuid:function(e){return e+t+++function(){var e=function(){return Math.round(4294967295*Math.random()).toString(36)};return"s"+(new Date).getTime().toString(36)+e()+e()+e()}()}}}),e("tinymce/ui/Sidebar",[],function(){return{add:function(e,t,n){var i=e.sidebars?e.sidebars:[];i.push({name:t,settings:n}),e.sidebars=i}}}),e("tinymce/Editor",["tinymce/dom/DOMUtils","tinymce/dom/DomQuery","tinymce/AddOnManager","tinymce/NodeChange","tinymce/html/Node","tinymce/dom/Serializer","tinymce/html/Serializer","tinymce/dom/Selection","tinymce/Formatter","tinymce/UndoManager","tinymce/EnterKey","tinymce/ForceBlocks","tinymce/EditorCommands","tinymce/util/URI","tinymce/dom/ScriptLoader","tinymce/dom/EventUtils","tinymce/WindowManager","tinymce/NotificationManager","tinymce/html/Schema","tinymce/html/DomParser","tinymce/util/Quirks","tinymce/Env","tinymce/util/Tools","tinymce/util/Delay","tinymce/EditorObservable","tinymce/Mode","tinymce/Shortcuts","tinymce/EditorUpload","tinymce/SelectionOverrides","tinymce/util/Uuid","tinymce/ui/Sidebar","tinymce/ErrorReporter"],function(s,a,l,c,u,d,f,h,p,m,g,v,y,b,o,e,_,x,w,C,k,T,S,E,t,n,N,D,R,r,i,A){var P=s.DOM,M=l.ThemeManager,I=l.PluginManager,O=S.extend,B=S.each,L=S.explode,H=S.inArray,F=S.trim,z=S.resolve,j=e.Event,W=T.gecko,U=T.ie;function q(e,t,n){var i,r,o,s=this;i=s.documentBaseUrl=n.documentBaseURL,r=n.baseURI,o=n.defaultSettings,t=O({id:e,theme:"modern",delta_width:0,delta_height:0,popup_css:"",plugins:"",document_base_url:i,add_form_submit_trigger:!0,submit_patch:!0,add_unload_trigger:!0,convert_urls:!0,relative_urls:!0,remove_script_host:!0,object_resizing:!0,doctype:"",visual:!0,font_size_style_values:"xx-small,x-small,small,medium,large,x-large,xx-large",font_size_legacy_values:"xx-small,small,medium,large,x-large,xx-large,300%",forced_root_block:"p",hidden_input:!0,padd_empty_editor:!0,render_ui:!0,indentation:"30px",inline_styles:!0,convert_fonts_to_spans:!0,indent:"simple",indent_before:"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,th,ul,ol,li,dl,dt,dd,area,table,thead,tfoot,tbody,tr,section,article,hgroup,aside,figure,figcaption,option,optgroup,datalist",indent_after:"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,th,ul,ol,li,dl,dt,dd,area,table,thead,tfoot,tbody,tr,section,article,hgroup,aside,figure,figcaption,option,optgroup,datalist",validate:!0,entity_encoding:"named",url_converter:s.convertURL,url_converter_scope:s,ie7_compat:!0},o,t),o&&o.external_plugins&&t.external_plugins&&(t.external_plugins=O({},o.external_plugins,t.external_plugins)),s.settings=t,l.language=t.language||"en",l.languageLoad=t.language_load,l.baseURL=n.baseURL,s.id=t.id=e,s.setDirty(!1),s.plugins={},s.documentBaseURI=new b(t.document_base_url||i,{base_uri:r}),s.baseURI=r,s.contentCSS=[],s.contentStyles=[],s.shortcuts=new N(s),s.loadedCSS={},s.editorCommands=new y(s),s.suffix=n.suffix,s.editorManager=n,s.inline=t.inline,s.settings.content_editable=s.inline,t.cache_suffix&&(T.cacheSuffix=t.cache_suffix.replace(/^[\?\&]+/,"")),!1===t.override_viewport&&(T.overrideViewPort=!1),n.fire("SetupEditor",s),s.execCallback("setup",s),s.$=a.overrideDefaults(function(){return{context:s.inline?s.getBody():s.getDoc(),element:s.getBody()}})}return O(q.prototype={render:function(){var n=this,i=n.settings,e=n.id,r=n.suffix;if(j.domLoaded){if(n.getElement()&&T.contentEditable){i.inline?n.inline=!0:(n.orgVisibility=n.getElement().style.visibility,n.getElement().style.visibility="hidden");var t=n.getElement().form||P.getParent(e,"form");t&&(n.formElement=t,i.hidden_input&&!/TEXTAREA|INPUT/i.test(n.getElement().nodeName)&&(P.insertAfter(P.create("input",{type:"hidden",name:e}),e),n.hasHiddenInput=!0),n.formEventDelegate=function(e){n.fire(e.type,e)},P.bind(t,"submit reset",n.formEventDelegate),n.on("reset",function(){n.setContent(n.startContent,{format:"raw"})}),!i.submit_patch||t.submit.nodeType||t.submit.length||t._mceOldSubmit||(t._mceOldSubmit=t.submit,t.submit=function(){return n.editorManager.triggerSave(),n.setDirty(!1),t._mceOldSubmit(t)})),n.windowManager=new _(n),n.notificationManager=new x(n),"xml"==i.encoding&&n.on("GetContent",function(e){e.save&&(e.content=P.encode(e.content))}),i.add_form_submit_trigger&&n.on("submit",function(){n.initialized&&n.save()}),i.add_unload_trigger&&(n._beforeUnload=function(){!n.initialized||n.destroyed||n.isHidden()||n.save({format:"raw",no_events:!0,set_dirty:!1})},n.editorManager.on("BeforeUnload",n._beforeUnload)),n.editorManager.add(n),function(){var e=o.ScriptLoader;if(i.language&&"en"!=i.language&&!i.language_url&&(i.language_url=n.editorManager.baseURL+"/langs/"+i.language+".js"),i.language_url&&e.add(i.language_url),i.theme&&"function"!=typeof i.theme&&"-"!=i.theme.charAt(0)&&!M.urls[i.theme]){var t=i.theme_url;t=t?n.documentBaseURI.toAbsolute(t):"themes/"+i.theme+"/theme"+r+".js",M.load(i.theme,t)}S.isArray(i.plugins)&&(i.plugins=i.plugins.join(" ")),B(i.external_plugins,function(e,t){I.load(t,e),i.plugins+=" "+t}),B(i.plugins.split(/[ ,]/),function(e){if((e=F(e))&&!I.urls[e])if("-"==e.charAt(0)){e=e.substr(1,e.length);var t=I.dependencies(e);B(t,function(e){var t={prefix:"plugins/",resource:e,suffix:"/plugin"+r+".js"};e=I.createUrl(t,e),I.load(e.resource,e)})}else I.load(e,{prefix:"plugins/",resource:e,suffix:"/plugin"+r+".js"})}),e.loadQueue(function(){n.removed||n.init()},n,function(e){A.pluginLoadError(n,e[0]),n.removed||n.init()})}()}}else P.bind(window,"ready",function e(){P.unbind(window,"ready",e),n.render()})},init:function(){var e,t,n,i,r,o,s,a,l,c,u,d=this,f=d.settings,h=d.getElement(),p=[];if(d.rtl=f.rtl_ui||d.editorManager.i18n.rtl,d.editorManager.i18n.setCode(f.language),f.aria_label=f.aria_label||P.getAttrib(h,"aria-label",d.getLang("aria.rich_text_area")),d.fire("ScriptsLoaded"),f.theme&&("function"!=typeof f.theme?(f.theme=f.theme.replace(/-/,""),o=M.get(f.theme),d.theme=new o(d,M.urls[f.theme]),d.theme.init&&d.theme.init(d,M.urls[f.theme]||d.documentBaseUrl.replace(/\/$/,""),d.$)):d.theme=f.theme),B(f.plugins.replace(/\-/g,"").split(/[ ,]/),function t(e){var n,i,r=I.get(e);if(n=I.urls[e]||d.documentBaseUrl.replace(/\/$/,""),e=F(e),r&&-1===H(p,e)){if(B(I.dependencies(e),function(e){t(e)}),d.plugins[e])return;i=new r(d,n,d.$),(d.plugins[e]=i).init&&(i.init(d,n),p.push(e))}}),f.render_ui&&d.theme&&(d.orgDisplay=h.style.display,"function"!=typeof f.theme?(e=f.width||h.style.width||h.offsetWidth,t=f.height||h.style.height||h.offsetHeight,n=f.min_height||100,(c=/^[0-9\.]+(|px)$/i).test(""+e)&&(e=Math.max(parseInt(e,10),100)),c.test(""+t)&&(t=Math.max(parseInt(t,10),n)),r=d.theme.renderUI({targetNode:h,width:e,height:t,deltaWidth:f.delta_width,deltaHeight:f.delta_height}),f.content_editable||(t=(r.iframeHeight||t)+("number"==typeof t?r.deltaHeight||0:""))",f.document_base_url!=d.documentBaseUrl&&(d.iframeHTML+=''),!T.caretAfter&&f.ie7_compat&&(d.iframeHTML+=''),d.iframeHTML+='',!/#$/.test(document.location.href))for(u=0;u',d.loadedCSS[m]=!0}-1!=(a=f.body_id||"tinymce").indexOf("=")&&(a=(a=d.getParam("body_id","","hash"))[d.id]||a),-1!=(l=f.body_class||"").indexOf("=")&&(l=(l=d.getParam("body_class","","hash"))[d.id]||""),f.content_security_policy&&(d.iframeHTML+=''),d.iframeHTML+='
';var g='javascript:(function(){document.open();document.domain="'+document.domain+'";var ed = window.parent.tinymce.get("'+d.id+'");document.write(ed.iframeHTML);document.close();ed.initContentBody(true);})()';document.domain!=location.hostname&&T.ie&&T.ie<12&&(s=g);var v=P.create("iframe",{id:d.id+"_ifr",frameBorder:"0",allowTransparency:"true",title:d.editorManager.translate("Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help"),style:{width:"100%",height:t,display:"block"}});if(v.onload=function(){v.onload=null,d.fire("load")},P.setAttrib(v,"src",s||'javascript:""'),d.contentAreaContainer=r.iframeContainer,d.iframeElement=v,i=P.add(r.iframeContainer,v),U)try{d.getDoc()}catch(e){i.src=s=g}r.editorContainer&&(P.get(r.editorContainer).style.display=d.orgDisplay,d.hidden=P.isHidden(r.editorContainer)),d.getElement().style.display="none",P.setAttrib(d.id,"aria-hidden",!0),s||d.initContentBody(),h=i=r=null},initContentBody:function(e){var t,n,a=this,i=a.settings,r=a.getElement(),o=a.getDoc();i.inline||(a.getElement().style.visibility=a.orgVisibility),e||i.content_editable||(o.open(),o.write(a.iframeHTML),o.close()),i.content_editable&&(a.on("remove",function(){var e=this.getBody();P.removeClass(e,"mce-content-body"),P.removeClass(e,"mce-edit-focus"),P.setAttrib(e,"contentEditable",null)}),P.addClass(r,"mce-content-body"),a.contentDocument=o=i.content_document||document,a.contentWindow=i.content_window||window,a.bodyElement=r,i.content_document=i.content_window=null,i.root_name=r.nodeName.toLowerCase()),(t=a.getBody()).disabled=!0,a.readonly=i.readonly,a.readonly||(a.inline&&"static"==P.getStyle(t,"position",!0)&&(t.style.position="relative"),t.contentEditable=a.getParam("content_editable_state",!0)),t.disabled=!1,a.editorUpload=new D(a),a.schema=new w(i),a.dom=new s(o,{keep_values:!0,url_converter:a.convertURL,url_converter_scope:a,hex_colors:i.force_hex_style_colors,class_filter:i.class_filter,update_styles:!0,root_element:a.inline?a.getBody():null,collect:i.content_editable,schema:a.schema,onSetAttrib:function(e){a.fire("SetAttrib",e)}}),a.parser=new C(i,a.schema),a.parser.addAttributeFilter("src,href,style,tabindex",function(e,t){for(var n,i,r,o=e.length,s=a.dom;o--;)if(i=(n=e[o]).attr(t),r="data-mce-"+t,!n.attributes.map[r]){if(0===i.indexOf("data:")||0===i.indexOf("blob:"))continue;"style"===t?((i=s.serializeStyle(s.parseStyle(i),n.name)).length||(i=null),n.attr(r,i),n.attr(t,i)):"tabindex"===t?(n.attr(r,i),n.attr(t,null)):n.attr(r,a.convertURL(i,t,n.name))}}),a.parser.addNodeFilter("script",function(e){for(var t,n,i=e.length;i--;)0!==(n=(t=e[i]).attr("type")||"no/type").indexOf("mce-")&&t.attr("type","mce-"+n)}),a.parser.addNodeFilter("#cdata",function(e){for(var t,n=e.length;n--;)(t=e[n]).type=8,t.name="#comment",t.value="[CDATA["+t.value+"]]"}),a.parser.addNodeFilter("p,h1,h2,h3,h4,h5,h6,div",function(e){for(var t,n=e.length,i=a.schema.getNonEmptyElements();n--;)(t=e[n]).isEmpty(i)&&0===t.getAll("br").length&&(t.append(new u("br",1)).shortEnded=!0)}),a.serializer=new d(i,a),a.selection=new h(a.dom,a.getWin(),a.serializer,a),a.formatter=new p(a),a.undoManager=new m(a),a.forceBlocks=new v(a),a.enterKey=new g(a),a._nodeChangeDispatcher=new c(a),a._selectionOverrides=new R(a),a.fire("PreInit"),i.browser_spellcheck||i.gecko_spellcheck||(o.body.spellcheck=!1,P.setAttrib(t,"spellcheck","false")),a.quirks=new k(a),a.fire("PostRender"),i.directionality&&(t.dir=i.directionality),i.nowrap&&(t.style.whiteSpace="nowrap"),i.protect&&a.on("BeforeSetContent",function(t){B(i.protect,function(e){t.content=t.content.replace(e,function(e){return"\x3c!--mce:protected "+escape(e)+"--\x3e"})})}),a.on("SetContent",function(){a.addVisual(a.getBody())}),i.padd_empty_editor&&a.on("PostProcess",function(e){e.content=e.content.replace(/^(]*>( | |\s|\u00a0|
|)<\/p>[\r\n]*|
[\r\n]*)$/,"")}),a.load({initial:!0,format:"html"}),a.startContent=a.getContent({format:"raw"}),a.initialized=!0,a.bindPendingEventDelegates(),a.fire("init"),a.focus(!0),a.nodeChanged({initial:!0}),a.execCallback("init_instance_callback",a),a.on("compositionstart compositionend",function(e){a.composing="compositionstart"===e.type}),0',"TABLE"==o.nodeName?e=""+i+"":/^(UL|OL)$/.test(o.nodeName)&&(e="
  • "+i+"
  • "),(n=r.settings.forced_root_block)&&r.schema.isValidChild(o.nodeName.toLowerCase(),n.toLowerCase())?(e=i,e=r.dom.createHTML(n,r.settings.forced_root_block_attrs,e)):U||e||(e='
    '),r.dom.setHTML(o,e),r.fire("SetContent",t)):("raw"!==t.format&&(e=new f({validate:r.validate},r.schema).serialize(r.parser.parse(e,{isRootContent:!0}))),t.content=F(e),r.dom.setHTML(o,t.content),t.no_events||r.fire("SetContent",t)),t.content},getContent:function(e){var t,n=this.getBody();return(e=e||{}).format=e.format||"html",e.get=!0,e.getInner=!0,e.no_events||this.fire("BeforeGetContent",e),t="raw"==e.format?S.trim(this.serializer.getTrimmedContent()):"text"==e.format?n.innerText||n.textContent:this.serializer.serialize(n,e),"text"!=e.format?e.content=F(t):e.content=t,e.no_events||this.fire("GetContent",e),e.content},insertContent:function(e,t){t&&(e=O({content:e},t)),this.execCommand("mceInsertContent",!1,e)},isDirty:function(){return!this.isNotDirty},setDirty:function(e){var t=!this.isNotDirty;this.isNotDirty=!e,e&&e!=t&&this.fire("dirty")},setMode:function(e){n.setMode(this,e)},getContainer:function(){return this.container||(this.container=P.get(this.editorContainer||this.id+"_parent")),this.container},getContentAreaContainer:function(){return this.contentAreaContainer},getElement:function(){return this.targetElm||(this.targetElm=P.get(this.id)),this.targetElm},getWin:function(){var e;return this.contentWindow||(e=this.iframeElement)&&(this.contentWindow=e.contentWindow),this.contentWindow},getDoc:function(){var e;return this.contentDocument||(e=this.getWin())&&(this.contentDocument=e.document),this.contentDocument},getBody:function(){var e=this.getDoc();return this.bodyElement||(e?e.body:null)},convertURL:function(e,t,n){var i=this.settings;return i.urlconverter_callback?this.execCallback("urlconverter_callback",e,n,!0,t):!i.convert_urls||n&&"LINK"==n.nodeName||0===e.indexOf("file:")||0===e.length?e:i.relative_urls?this.documentBaseURI.toRelative(e):e=this.documentBaseURI.toAbsolute(e,i.remove_script_host)},addVisual:function(e){var n,i=this,r=i.settings,o=i.dom;e=e||i.getBody(),i.hasVisual===ye&&(i.hasVisual=r.visual),B(o.select("table,a",e),function(e){var t;switch(e.nodeName){case"TABLE":return n=r.visual_table_class||"mce-item-table",void((t=o.getAttrib(e,"border"))&&"0"!=t||!i.hasVisual?o.removeClass(e,n):o.addClass(e,n));case"A":return void(o.getAttrib(e,"href",!1)||(t=o.getAttrib(e,"name")||e.id,n=r.visual_anchor_class||"mce-item-anchor",t&&i.hasVisual?o.addClass(e,n):o.removeClass(e,n)))}}),i.fire("VisualAid",{element:e,hasVisual:i.hasVisual})},remove:function(){var e=this;e.removed||(e.save(),e.removed=1,e.unbindAllNativeEvents(),e.hasHiddenInput&&P.remove(e.getElement().nextSibling),e.inline||(U&&U<10&&e.getDoc().execCommand("SelectAll",!1,null),P.setStyle(e.id,"display",e.orgDisplay),e.getBody().onload=null),e.fire("remove"),e.editorManager.remove(e),P.remove(e.getContainer()),e._selectionOverrides.destroy(),e.editorUpload.destroy(),e.destroy())},destroy:function(e){var t,n=this;n.destroyed||(e||n.removed?(e||(n.editorManager.off("beforeunload",n._beforeUnload),n.theme&&n.theme.destroy&&n.theme.destroy(),n.selection.destroy(),n.dom.destroy()),(t=n.formElement)&&(t._mceOldSubmit&&(t.submit=t._mceOldSubmit,t._mceOldSubmit=null),P.unbind(t,"submit reset",n.formEventDelegate)),n.contentAreaContainer=n.formElement=n.container=n.editorContainer=null,n.bodyElement=n.contentDocument=n.contentWindow=null,n.iframeElement=n.targetElm=null,n.selection&&(n.selection=n.selection.win=n.selection.dom=n.selection.dom.doc=null),n.destroyed=1):n.remove())},uploadImages:function(e){return this.editorUpload.uploadImages(e)},_scanForImages:function(){return this.editorUpload.scanForImages()}},t),q}),e("tinymce/util/I18n",["tinymce/util/Tools"],function(s){var a={},l="en";return{setCode:function(e){e&&(l=e,this.rtl=!!this.data[e]&&"rtl"===this.data[e]._dir)},getCode:function(){return l},rtl:!1,add:function(e,t){var n=a[e];for(var i in n||(a[e]=n={}),t)n[i]=t[i];this.setCode(e)},translate:function(e){var t=a[l]||{};function n(e){return s.is(e,"function")?Object.prototype.toString.call(e):i(e)?"":""+e}function i(e){return""===e||null===e||s.is(e,"undefined")}function r(e){return e=n(e),s.hasOwn(t,e)?n(t[e]):e}if(i(e))return"";if(s.is(e,"object")&&s.hasOwn(e,"raw"))return n(e.raw);if(s.is(e,"array")){var o=e.slice(1);e=r(e[0]).replace(/\{([0-9]+)\}/g,function(e,t){return s.hasOwn(o,t)?n(o[t]):e})}return r(e).replace(/{context:\w+}$/,"")},data:a}}),e("tinymce/FocusManager",["tinymce/dom/DOMUtils","tinymce/util/Delay","tinymce/Env"],function(e,t,o){var s,a,l,c=e.DOM,u=function(t,e){var n=t?t.settings.custom_ui_selector:"";return null!==c.getParent(e,function(e){return i.isEditorUIElement(e)||!!n&&t.dom.is(e,n)})};function i(r){function i(){try{return document.activeElement}catch(e){return document.body}}r.on("AddEditor",function(e){var n=e.editor;n.on("init",function(){(n.inline||o.ie)&&("onbeforedeactivate"in document&&o.ie<9?n.dom.bind(n.getBody(),"beforedeactivate",function(e){if(e.target==n.getBody())try{n.lastRng=n.selection.getRng()}catch(e){}}):n.on("nodechange mouseup keyup",function(e){var t=i();"nodechange"==e.type&&e.selectionChange||(t&&t.id==n.id+"_ifr"&&(t=n.getBody()),n.dom.isChildOf(t,n.getBody())&&(n.lastRng=n.selection.getRng()))}),o.webkit&&!s&&(s=function(){var e=r.activeEditor;if(e&&e.selection){var t=e.selection.getRng();t&&!t.collapsed&&(n.lastRng=t)}},c.bind(document,"selectionchange",s)))}),n.on("setcontent",function(){n.lastRng=null}),n.on("mousedown",function(){n.selection.lastFocusBookmark=null}),n.on("focusin",function(){var e,t=r.focusedEditor;n.selection.lastFocusBookmark&&(e=function(e,t){var n;return t.startContainer?((n=e.getDoc().createRange()).setStart(t.startContainer,t.startOffset),n.setEnd(t.endContainer,t.endOffset)):n=t,n}(n,n.selection.lastFocusBookmark),n.selection.lastFocusBookmark=null,n.selection.setRng(e)),t!=n&&(t&&t.fire("blur",{focusedEditor:n}),r.setActive(n),(r.focusedEditor=n).fire("focus",{blurredEditor:t}),n.focus(!0)),n.lastRng=null}),n.on("focusout",function(){t.setEditorTimeout(n,function(){var e=r.focusedEditor;u(n,i())||e!=n||(n.fire("blur",{focusedEditor:null}),r.focusedEditor=null,n.selection&&(n.selection.lastFocusBookmark=null))})}),a||(a=function(e){var t,n=r.activeEditor;t=e.target,n&&t.ownerDocument==document&&(n.selection&&t!=n.getBody()&&(n.selection.lastFocusBookmark=function(e,t){if(t&&t.startContainer){if(!e.isChildOf(t.startContainer,e.getRoot())||!e.isChildOf(t.endContainer,e.getRoot()))return;return{startContainer:t.startContainer,startOffset:t.startOffset,endContainer:t.endContainer,endOffset:t.endOffset}}return t}(n.dom,n.lastRng)),t==document.body||u(n,t)||r.focusedEditor!=n||(n.fire("blur",{focusedEditor:null}),r.focusedEditor=null))},c.bind(document,"focusin",a)),n.inline&&!l&&(l=function(e){var t=r.activeEditor,n=t.dom;if(t.inline&&n&&!n.isChildOf(e.target,t.getBody())){var i=t.selection.getRng();i.collapsed||(t.lastRng=i)}},c.bind(document,"mouseup",l))}),r.on("RemoveEditor",function(e){r.focusedEditor==e.editor&&(r.focusedEditor=null),r.activeEditor||(c.unbind(document,"selectionchange",s),c.unbind(document,"focusin",a),c.unbind(document,"mouseup",l),s=a=l=null)})}return i.isEditorUIElement=function(e){return-1!==e.className.toString().indexOf("mce-")},i._isUIElement=u,i}),e("tinymce/EditorManager",["tinymce/Editor","tinymce/dom/DomQuery","tinymce/dom/DOMUtils","tinymce/util/URI","tinymce/Env","tinymce/util/Tools","tinymce/util/Promise","tinymce/util/Observable","tinymce/util/I18n","tinymce/FocusManager","tinymce/AddOnManager"],function(f,h,e,l,t,p,r,n,i,c,o){var s,a,m=e.DOM,g=p.explode,v=p.each,y=p.extend,b=0,u=!1;function d(t){v(a.editors,function(e){"scroll"===t.type?e.fire("ScrollWindow",t):e.fire("ResizeWindow",t)})}function _(e,t){t!==u&&(t?h(window).on("resize scroll",d):h(window).off("resize scroll",d),u=t)}function x(e){var t,n=a.editors;delete n[e.id];for(var i=0;ii.length?null:(t=i.substring(r,n),r=n+1,t)}}(),t}),e("tinymce/Compat",["tinymce/dom/DOMUtils","tinymce/dom/EventUtils","tinymce/dom/ScriptLoader","tinymce/AddOnManager","tinymce/util/Tools","tinymce/Env"],function(e,t,n,i,r,o){var s=window.tinymce;return s.DOM=e.DOM,s.ScriptLoader=n.ScriptLoader,s.PluginManager=i.PluginManager,s.ThemeManager=i.ThemeManager,s.dom=s.dom||{},s.dom.Event=t.Event,r.each("trim isArray is toArray makeMap each map grep inArray extend create walk createNS resolve explode _addCacheSuffix".split(" "),function(e){s[e]=r[e]}),r.each("isOpera isWebKit isIE isGecko isMac".split(" "),function(e){s[e]=o[e.substr(2).toLowerCase()]}),{}}),e("tinymce/ui/Layout",["tinymce/util/Class","tinymce/util/Tools"],function(e,t){return e.extend({Defaults:{firstControlClass:"first",lastControlClass:"last"},init:function(e){this.settings=t.extend({},this.Defaults,e)},preRender:function(e){e.bodyClasses.add(this.settings.containerClass)},applyClasses:function(e){var t,n,i,r,o=this.settings;t=o.firstControlClass,n=o.lastControlClass,e.each(function(e){e.classes.remove(t).remove(n).add(o.controlClass),e.visible()&&(i||(i=e),r=e)}),i&&i.classes.add(t),r&&r.classes.add(n)},renderHtml:function(e){var t="";return this.applyClasses(e.items()),e.items().each(function(e){t+=e.renderHtml()}),t},recalc:function(){},postRender:function(){},isNative:function(){return!1}})}),e("tinymce/ui/AbsoluteLayout",["tinymce/ui/Layout"],function(e){return e.extend({Defaults:{containerClass:"abs-layout",controlClass:"abs-layout-item"},recalc:function(e){e.items().filter(":visible").each(function(e){var t=e.settings;e.layoutRect({x:t.x,y:t.y,w:t.w,h:t.h}),e.recalc&&e.recalc()})},renderHtml:function(e){return'
    '+this._super(e)}})}),e("tinymce/ui/Button",["tinymce/ui/Widget"],function(e){return e.extend({Defaults:{classes:"widget btn",role:"button"},init:function(e){var t,n=this;n._super(e),e=n.settings,t=n.settings.size,n.on("click mousedown",function(e){e.preventDefault()}),n.on("touchstart",function(e){n.fire("click",e),e.preventDefault()}),e.subtype&&n.classes.add(e.subtype),t&&n.classes.add("btn-"+t),e.icon&&n.icon(e.icon)},icon:function(e){return arguments.length?(this.state.set("icon",e),this):this.state.get("icon")},repaint:function(){var e,t=this.getEl().firstChild;t&&((e=t.style).width=e.height="100%"),this._super()},renderHtml:function(){var e,t=this._id,n=this.classPrefix,i=this.state.get("icon"),r=this.state.get("text"),o="";return e=(e=this.settings.image)?(i="none","string"!=typeof e&&(e=window.getSelection?e[0]:e[1])," style=\"background-image: url('"+e+"')\""):"",r&&(this.classes.add("btn-has-text"),o=''+this.encode(r)+""),i=i?n+"ico "+n+"i-"+i:"",'
    "},bindStates:function(){var o=this,n=o.$,i=o.classPrefix+"txt";function s(e){var t=n("span."+i,o.getEl());e?(t[0]||(n("button:first",o.getEl()).append(''),t=n("span."+i,o.getEl())),t.html(o.encode(e))):t.remove(),o.classes.toggle("btn-has-text",!!e)}return o.state.on("change:text",function(e){s(e.value)}),o.state.on("change:icon",function(e){var t=e.value,n=o.classPrefix;t=(o.settings.icon=t)?n+"ico "+n+"i-"+o.settings.icon:"";var i=o.getEl().firstChild,r=i.getElementsByTagName("i")[0];t?(r&&r==i.firstChild||(r=document.createElement("i"),i.insertBefore(r,i.firstChild)),r.className=t):r&&i.removeChild(r),s(o.state.get("text"))}),o._super()}})}),e("tinymce/ui/ButtonGroup",["tinymce/ui/Container"],function(e){return e.extend({Defaults:{defaultType:"button",role:"group"},renderHtml:function(){var e=this._layout;return this.classes.add("btn-group"),this.preRender(),e.preRender(this),'
    '+(this.settings.html||"")+e.renderHtml(this)+"
    "}})}),e("tinymce/ui/Checkbox",["tinymce/ui/Widget"],function(e){return e.extend({Defaults:{classes:"checkbox",role:"checkbox",checked:!1},init:function(e){var t=this;t._super(e),t.on("click mousedown",function(e){e.preventDefault()}),t.on("click",function(e){e.preventDefault(),t.disabled()||t.checked(!t.checked())}),t.checked(t.settings.checked)},checked:function(e){return arguments.length?(this.state.set("checked",e),this):this.state.get("checked")},value:function(e){return arguments.length?this.checked(e):this.checked()},renderHtml:function(){var e=this._id,t=this.classPrefix;return'
    '+this.encode(this.state.get("text"))+"
    "},bindStates:function(){var o=this;function t(e){o.classes.toggle("checked",e),o.aria("checked",e)}return o.state.on("change:text",function(e){o.getEl("al").firstChild.data=o.translate(e.value)}),o.state.on("change:checked change:value",function(e){o.fire("change"),t(e.value)}),o.state.on("change:icon",function(e){var t=e.value,n=o.classPrefix;if(void 0===t)return o.settings.icon;t=(o.settings.icon=t)?n+"ico "+n+"i-"+o.settings.icon:"";var i=o.getEl().firstChild,r=i.getElementsByTagName("i")[0];t?(r&&r==i.firstChild||(r=document.createElement("i"),i.insertBefore(r,i.firstChild)),r.className=t):r&&i.removeChild(r)}),o.state.get("checked")&&t(!0),o._super()}})}),e("tinymce/ui/ComboBox",["tinymce/ui/Widget","tinymce/ui/Factory","tinymce/ui/DomUtils","tinymce/dom/DomQuery","tinymce/util/VK","tinymce/util/Tools"],function(e,r,l,c,i,o){return e.extend({init:function(i){var r=this;r._super(i),i=r.settings,r.classes.add("combobox"),r.subinput=!0,r.ariaTarget="inp",i.menu=i.menu||i.values,i.menu&&(i.icon="caret"),r.on("click",function(e){var t=e.target,n=r.getEl();if(c.contains(n,t)||t==n)for(;t&&t!=n;)t.id&&-1!=t.id.indexOf("-open")&&(r.fire("action"),i.menu&&(r.showMenu(),e.aria&&r.menu.items()[0].focus())),t=t.parentNode}),r.on("keydown",function(e){var t;13==e.keyCode&&"INPUT"===e.target.nodeName&&(e.preventDefault(),r.parents().reverse().each(function(e){if(e.toJSON)return t=e,!1}),r.fire("submit",{data:t.toJSON()}))}),r.on("keyup",function(e){if("INPUT"==e.target.nodeName){var t=r.state.get("value"),n=e.target.value;n!==t&&(r.state.set("value",n),r.fire("autocomplete",e))}}),r.on("mouseover",function(e){var t=r.tooltip().moveTo(-65535);if(r.statusLevel()&&-1!==e.target.className.indexOf(r.classPrefix+"status")){var n=r.statusMessage()||"Ok",i=t.text(n).show().testMoveRel(e.target,["bc-tc","bc-tl","bc-tr"]);t.classes.toggle("tooltip-n","bc-tc"==i),t.classes.toggle("tooltip-nw","bc-tl"==i),t.classes.toggle("tooltip-ne","bc-tr"==i),t.moveRel(e.target,i)}})},statusLevel:function(e){return 0