UNPKG

tinymce

Version:

Web based JavaScript HTML WYSIWYG editor control.

9 lines 113 kB
/** * Copyright (c) Tiny Technologies, Inc. All rights reserved. * Licensed under the LGPL or a commercial license. * For LGPL see License.txt in the project root for license information. * For commercial licenses see https://www.tiny.cloud/ * * Version: 5.3.1 (2020-05-27) */ !function(p){"use strict";var S=function(e){var n=e;return{get:function(){return n},set:function(e){n=e}}},x=function(){},b=function(e){return function(){return e}},o=function(e){return e};function y(r){for(var o=[],e=1;e<arguments.length;e++)o[e-1]=arguments[e];return function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];var t=o.concat(e);return r.apply(null,t)}}var e,n,t,r,a=function(n){return function(e){return!n(e)}},f=b(!1),i=b(!0),u=function(){return c},c=(e=function(e){return e.isNone()},{fold:function(e,n){return e()},is:f,isSome:f,isNone:i,getOr:t=function(e){return e},getOrThunk:n=function(e){return e()},getOrDie:function(e){throw new Error(e||"error: getOrDie called on none.")},getOrNull:b(null),getOrUndefined:b(undefined),or:t,orThunk:n,map:u,each:x,bind:u,exists:f,forall:i,filter:u,equals:e,equals_:e,toArray:function(){return[]},toString:b("none()")}),l=function(t){var e=b(t),n=function(){return o},r=function(e){return e(t)},o={fold:function(e,n){return n(t)},is:function(e){return t===e},isSome:i,isNone:f,getOr:e,getOrThunk:e,getOrDie:e,getOrNull:e,getOrUndefined:e,or:n,orThunk:n,map:function(e){return l(e(t))},each:function(e){e(t)},bind:r,exists:r,forall:r,filter:function(e){return e(t)?o:c},toArray:function(){return[t]},toString:function(){return"some("+t+")"},equals:function(e){return e.is(t)},equals_:function(e,n){return e.fold(f,function(e){return n(t,e)})}};return o},C={some:l,none:u,from:function(e){return null===e||e===undefined?c:l(e)}},s=tinymce.util.Tools.resolve("tinymce.PluginManager"),d=function(r){return function(e){return t=typeof(n=e),(null===n?"null":"object"==t&&(Array.prototype.isPrototypeOf(n)||n.constructor&&"Array"===n.constructor.name)?"array":"object"==t&&(String.prototype.isPrototypeOf(n)||n.constructor&&"String"===n.constructor.name)?"string":t)===r;var n,t}},m=function(n){return function(e){return typeof e===n}},g=d("string"),h=d("array"),v=m("boolean"),w=m("function"),R=m("number"),T=Array.prototype.slice,O=Array.prototype.indexOf,D=Array.prototype.push,A=function(e,n){return t=e,r=n,-1<O.call(t,r);var t,r},E=function(e,n){for(var t=0,r=e.length;t<r;t++){if(n(e[t],t))return!0}return!1},k=function(e,n){for(var t=e.length,r=new Array(t),o=0;o<t;o++){var i=e[o];r[o]=n(i,o)}return r},B=function(e,n){for(var t=0,r=e.length;t<r;t++){n(e[t],t)}},N=function(e,n){for(var t=[],r=0,o=e.length;r<o;r++){var i=e[r];n(i,r)&&t.push(i)}return t},I=function(e,n,t){return function(e,n){for(var t=e.length-1;0<=t;t--){n(e[t],t)}}(e,function(e){t=n(t,e)}),t},P=function(e,n,t){return B(e,function(e){t=n(t,e)}),t},M=function(e,n){return function(e,n,t){for(var r=0,o=e.length;r<o;r++){var i=e[r];if(n(i,r))return C.some(i);if(t(i,r))break}return C.none()}(e,n,f)},_=function(e,n){for(var t=0,r=e.length;t<r;t++){if(n(e[t],t))return C.some(t)}return C.none()},W=function(e){for(var n=[],t=0,r=e.length;t<r;++t){if(!h(e[t]))throw new Error("Arr.flatten item "+t+" was not an array, input: "+e);D.apply(n,e[t])}return n},j=function(e,n){return W(k(e,n))},z=function(e,n){for(var t=0,r=e.length;t<r;++t){if(!0!==n(e[t],t))return!1}return!0},L=function(e,n){for(var t=0;t<e.length;t++){var r=n(e[t],t);if(r.isSome())return r}return C.none()},F=Object.keys,H=Object.hasOwnProperty,q=function(e,n){for(var t=F(e),r=0,o=t.length;r<o;r++){var i=t[r];n(e[i],i)}},U=function(e,t){return V(e,function(e,n){return{k:n,v:t(e,n)}})},V=function(e,r){var o={};return q(e,function(e,n){var t=r(e,n);o[t.k]=t.v}),o},K=function(e,n){return X(e,n)?C.from(e[n]):C.none()},X=function(e,n){return H.call(e,n)},$=("undefined"!=typeof p.window?p.window:Function("return this;")(),function(e){return e.dom().nodeName.toLowerCase()}),G=function(e){return e.dom().nodeType},Y=function(n){return function(e){return G(e)===n}},J=function(e){return 8===G(e)||"#comment"===$(e)},Q=Y(1),Z=Y(3),ee=function(e,n,t){if(!(g(t)||v(t)||R(t)))throw p.console.error("Invalid call to Attr.set. Key ",n,":: Value ",t,":: Element ",e),new Error("Attribute value was not simple");e.setAttribute(n,t+"")},ne=function(e,n,t){ee(e.dom(),n,t)},te=function(e,n){var t=e.dom();q(n,function(e,n){ee(t,n,e)})},re=function(e,n){var t=e.dom().getAttribute(n);return null===t?undefined:t},oe=function(e,n){return C.from(re(e,n))},ie=function(e,n){var t=e.dom();return!(!t||!t.hasAttribute)&&t.hasAttribute(n)},ue=function(e,n){e.dom().removeAttribute(n)},ce=function(e){return P(e.dom().attributes,function(e,n){return e[n.name]=n.value,e},{})},ae=function(e,n,t){return""===n||e.length>=n.length&&e.substr(t,t+n.length)===n},le=function(e,n){return-1!==e.indexOf(n)},fe=function(e,n){return ae(e,n,0)},se=(r=/^\s+|\s+$/g,function(e){return e.replace(r,"")}),de=function(e){return e.style!==undefined&&w(e.style.getPropertyValue)},me=function(e){if(null===e||e===undefined)throw new Error("Node cannot be null or undefined");return{dom:b(e)}},ge={fromHtml:function(e,n){var t=(n||p.document).createElement("div");if(t.innerHTML=e,!t.hasChildNodes()||1<t.childNodes.length)throw p.console.error("HTML does not have a single root node",e),new Error("HTML must have a single root node");return me(t.childNodes[0])},fromTag:function(e,n){var t=(n||p.document).createElement(e);return me(t)},fromText:function(e,n){var t=(n||p.document).createTextNode(e);return me(t)},fromDom:me,fromPoint:function(e,n,t){var r=e.dom();return C.from(r.elementFromPoint(n,t)).map(me)}},pe=function(e){var n=Z(e)?e.dom().parentNode:e.dom();return n!==undefined&&null!==n&&n.ownerDocument.body.contains(n)},he=function(e){var n=e.dom().body;if(null===n||n===undefined)throw new Error("Body is not available yet");return ge.fromDom(n)},ve=function(e,n,t){if(!g(t))throw p.console.error("Invalid call to CSS.set. Property ",n,":: Value ",t,":: Element ",e),new Error("CSS value must be a string: "+t);de(e)&&e.style.setProperty(n,t)},be=function(e,n,t){var r=e.dom();ve(r,n,t)},we=function(e,n){var t=e.dom();q(n,function(e,n){ve(t,n,e)})},ye=function(e,n){var t=e.dom(),r=p.window.getComputedStyle(t).getPropertyValue(n);return""!==r||pe(e)?r:Se(t,n)},Se=function(e,n){return de(e)?e.style.getPropertyValue(n):""},xe=function(e,n){var t=e.dom(),r=Se(t,n);return C.from(r).filter(function(e){return 0<e.length})},Ce=function(e,n){var t,r,o=e.dom();r=n,de(t=o)&&t.style.removeProperty(r),oe(e,"style").map(se).is("")&&ue(e,"style")},Re=function(){return(Re=Object.assign||function(e){for(var n,t=1,r=arguments.length;t<r;t++)for(var o in n=arguments[t])Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e}).apply(this,arguments)},Te=function(t){var r,o=!1;return function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return o||(o=!0,r=t.apply(null,e)),r}},Oe=function(e,n){var t=function(e,n){for(var t=0;t<e.length;t++){var r=e[t];if(r.test(n))return r}return undefined}(e,n);if(!t)return{major:0,minor:0};var r=function(e){return Number(n.replace(t,"$"+e))};return Ae(r(1),r(2))},De=function(){return Ae(0,0)},Ae=function(e,n){return{major:e,minor:n}},Ee={nu:Ae,detect:function(e,n){var t=String(n).toLowerCase();return 0===e.length?De():Oe(e,t)},unknown:De},ke="Firefox",Be=function(e){var n=e.current,t=e.version,r=function(e){return function(){return n===e}};return{current:n,version:t,isEdge:r("Edge"),isChrome:r("Chrome"),isIE:r("IE"),isOpera:r("Opera"),isFirefox:r(ke),isSafari:r("Safari")}},Ne={unknown:function(){return Be({current:undefined,version:Ee.unknown()})},nu:Be,edge:b("Edge"),chrome:b("Chrome"),ie:b("IE"),opera:b("Opera"),firefox:b(ke),safari:b("Safari")},Ie="Windows",Pe="Android",Me="Solaris",_e="FreeBSD",We="ChromeOS",je=function(e){var n=e.current,t=e.version,r=function(e){return function(){return n===e}};return{current:n,version:t,isWindows:r(Ie),isiOS:r("iOS"),isAndroid:r(Pe),isOSX:r("OSX"),isLinux:r("Linux"),isSolaris:r(Me),isFreeBSD:r(_e),isChromeOS:r(We)}},ze={unknown:function(){return je({current:undefined,version:Ee.unknown()})},nu:je,windows:b(Ie),ios:b("iOS"),android:b(Pe),linux:b("Linux"),osx:b("OSX"),solaris:b(Me),freebsd:b(_e),chromeos:b(We)},Le=function(e,n){var t=String(n).toLowerCase();return M(e,function(e){return e.search(t)})},Fe=function(e,t){return Le(e,t).map(function(e){var n=Ee.detect(e.versionRegexes,t);return{current:e.name,version:n}})},He=function(e,t){return Le(e,t).map(function(e){var n=Ee.detect(e.versionRegexes,t);return{current:e.name,version:n}})},qe=/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,Ue=function(n){return function(e){return le(e,n)}},Ve=[{name:"Edge",versionRegexes:[/.*?edge\/ ?([0-9]+)\.([0-9]+)$/],search:function(e){return le(e,"edge/")&&le(e,"chrome")&&le(e,"safari")&&le(e,"applewebkit")}},{name:"Chrome",versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/,qe],search:function(e){return le(e,"chrome")&&!le(e,"chromeframe")}},{name:"IE",versionRegexes:[/.*?msie\ ?([0-9]+)\.([0-9]+).*/,/.*?rv:([0-9]+)\.([0-9]+).*/],search:function(e){return le(e,"msie")||le(e,"trident")}},{name:"Opera",versionRegexes:[qe,/.*?opera\/([0-9]+)\.([0-9]+).*/],search:Ue("opera")},{name:"Firefox",versionRegexes:[/.*?firefox\/\ ?([0-9]+)\.([0-9]+).*/],search:Ue("firefox")},{name:"Safari",versionRegexes:[qe,/.*?cpu os ([0-9]+)_([0-9]+).*/],search:function(e){return(le(e,"safari")||le(e,"mobile/"))&&le(e,"applewebkit")}}],Ke=[{name:"Windows",search:Ue("win"),versionRegexes:[/.*?windows\ nt\ ?([0-9]+)\.([0-9]+).*/]},{name:"iOS",search:function(e){return le(e,"iphone")||le(e,"ipad")},versionRegexes:[/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,/.*cpu os ([0-9]+)_([0-9]+).*/,/.*cpu iphone os ([0-9]+)_([0-9]+).*/]},{name:"Android",search:Ue("android"),versionRegexes:[/.*?android\ ?([0-9]+)\.([0-9]+).*/]},{name:"OSX",search:Ue("mac os x"),versionRegexes:[/.*?mac\ os\ x\ ?([0-9]+)_([0-9]+).*/]},{name:"Linux",search:Ue("linux"),versionRegexes:[]},{name:"Solaris",search:Ue("sunos"),versionRegexes:[]},{name:"FreeBSD",search:Ue("freebsd"),versionRegexes:[]},{name:"ChromeOS",search:Ue("cros"),versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/]}],Xe={browsers:b(Ve),oses:b(Ke)},$e=function(e,n){var t,r,o,i,u,c,a,l,f,s,d,m,g=Xe.browsers(),p=Xe.oses(),h=Fe(g,e).fold(Ne.unknown,Ne.nu),v=He(p,e).fold(ze.unknown,ze.nu);return{browser:h,os:v,deviceType:(r=h,o=e,i=n,u=(t=v).isiOS()&&!0===/ipad/i.test(o),c=t.isiOS()&&!u,a=t.isiOS()||t.isAndroid(),l=a||i("(pointer:coarse)"),f=u||!c&&a&&i("(min-device-width:768px)"),s=c||a&&!f,d=r.isSafari()&&t.isiOS()&&!1===/safari/i.test(o),m=!s&&!f&&!d,{isiPad:b(u),isiPhone:b(c),isTablet:b(f),isPhone:b(s),isTouch:b(l),isAndroid:t.isAndroid,isiOS:t.isiOS,isWebView:b(d),isDesktop:b(m)})}},Ge=function(e){return p.window.matchMedia(e).matches},Ye=Te(function(){return $e(p.navigator.userAgent,Ge)}),Je=function(){return Ye()},Qe=function(e,n){var t=e.dom();if(1!==t.nodeType)return!1;var r=t;if(r.matches!==undefined)return r.matches(n);if(r.msMatchesSelector!==undefined)return r.msMatchesSelector(n);if(r.webkitMatchesSelector!==undefined)return r.webkitMatchesSelector(n);if(r.mozMatchesSelector!==undefined)return r.mozMatchesSelector(n);throw new Error("Browser lacks native selectors")},Ze=function(e){return 1!==e.nodeType&&9!==e.nodeType||0===e.childElementCount},en=function(e,n){return e.dom()===n.dom()},nn=function(e,n){return t=e.dom(),r=n.dom(),o=t,i=r,u=p.Node.DOCUMENT_POSITION_CONTAINED_BY,0!=(o.compareDocumentPosition(i)&u);var t,r,o,i,u},tn=function(e,n){return Je().browser.isIE()?nn(e,n):(t=n,r=e.dom(),o=t.dom(),r!==o&&r.contains(o));var t,r,o},rn=Qe,on=function(e){return ge.fromDom(e.dom().ownerDocument)},un=function(e){return C.from(e.dom().parentNode).map(ge.fromDom)},cn=function(e,n){for(var t=w(n)?n:f,r=e.dom(),o=[];null!==r.parentNode&&r.parentNode!==undefined;){var i=r.parentNode,u=ge.fromDom(i);if(o.push(u),!0===t(u))break;r=i}return o},an=function(e){return C.from(e.dom().previousSibling).map(ge.fromDom)},ln=function(e){return C.from(e.dom().nextSibling).map(ge.fromDom)},fn=function(e){return k(e.dom().childNodes,ge.fromDom)},sn=function(e,n){var t=e.dom().childNodes;return C.from(t[n]).map(ge.fromDom)},dn=function(n,t){un(n).each(function(e){e.dom().insertBefore(t.dom(),n.dom())})},mn=function(e,n){ln(e).fold(function(){un(e).each(function(e){pn(e,n)})},function(e){dn(e,n)})},gn=function(n,t){sn(n,0).fold(function(){pn(n,t)},function(e){n.dom().insertBefore(t.dom(),e.dom())})},pn=function(e,n){e.dom().appendChild(n.dom())},hn=function(e,n){dn(e,n),pn(n,e)},vn=function(r,o){B(o,function(e,n){var t=0===n?r:o[n-1];mn(t,e)})},bn=function(n,e){B(e,function(e){pn(n,e)})},wn=function(e){e.dom().textContent="",B(fn(e),function(e){yn(e)})},yn=function(e){var n=e.dom();null!==n.parentNode&&n.parentNode.removeChild(n)},Sn=function(e){var n,t=fn(e);0<t.length&&(n=e,B(t,function(e){dn(n,e)})),yn(e)},xn=function(e,n,t){return{element:b(e),rowspan:b(n),colspan:b(t)}},Cn=function(e,n,t){return{element:b(e),cells:b(n),section:b(t)}},Rn=function(e,n){return{element:b(e),isNew:b(n)}},Tn=function(e,n){return{cells:b(e),section:b(n)}},On=function(e,n){var t=[];return B(fn(e),function(e){n(e)&&(t=t.concat([e])),t=t.concat(On(e,n))}),t},Dn=function(e,n,t){return r=function(e){return Qe(e,n)},N(cn(e,t),r);var r},An=function(e,n){return t=function(e){return Qe(e,n)},N(fn(e),t);var t},En=function(e,n){return t=n,o=(r=e)===undefined?p.document:r.dom(),Ze(o)?[]:k(o.querySelectorAll(t),ge.fromDom);var t,r,o};function kn(e,n,t,r,o){return e(t,r)?C.some(t):w(o)&&o(t)?C.none():n(t,r,o)}var Bn=function(e,n,t){for(var r=e.dom(),o=w(t)?t:b(!1);r.parentNode;){r=r.parentNode;var i=ge.fromDom(r);if(n(i))return C.some(i);if(o(i))break}return C.none()},Nn=function(e,n,t){return Bn(e,function(e){return Qe(e,n)},t)},In=function(e,n){return t=function(e){return Qe(e,n)},M(e.dom().childNodes,function(e){return t(ge.fromDom(e))}).map(ge.fromDom);var t},Pn=function(e,n){return t=n,o=(r=e)===undefined?p.document:r.dom(),Ze(o)?C.none():C.from(o.querySelector(t)).map(ge.fromDom);var t,r,o},Mn=function(e,n,t){return kn(function(e,n){return Qe(e,n)},Nn,e,n,t)},_n=function(e,n,t){return void 0===t&&(t=0),oe(e,n).map(function(e){return parseInt(e,10)}).getOr(t)},Wn=function(e,n){return _n(e,n,1)},jn=function(e){return 1<Wn(e,"colspan")},zn=function(e){return 1<Wn(e,"rowspan")},Ln=function(e,n){return parseInt(ye(e,n),10)},Fn=b(10),Hn=b(10),qn=function(e,n){return Un(e,n,b(!0))},Un=function(e,n,t){return j(fn(e),function(e){return Qe(e,n)?t(e)?[e]:[]:Un(e,n,t)})},Vn=function(e,n){return function(e,n,t){if(void 0===t&&(t=f),t(n))return C.none();if(A(e,$(n)))return C.some(n);return Nn(n,e.join(","),function(e){return Qe(e,"table")||t(e)})}(["td","th"],e,n)},Kn=function(e){return qn(e,"th,td")},Xn=function(n,e){return un(e).map(function(e){return An(e,n)})},$n=(y(Xn,"th,td"),y(Xn,"tr"),function(e,n){return Mn(e,"table",n)}),Gn=function(e){var n=qn(e,"tr");return k(n,function(e){var n=e,t=un(n).map(function(e){var n=$(e);return"tfoot"===n||"thead"===n||"tbody"===n?n:"tbody"}).getOr("tbody"),r=k(Kn(e),function(e){var n=_n(e,"rowspan",1),t=_n(e,"colspan",1);return xn(e,n,t)});return Cn(n,r,t)})},Yn=function(e,n){return e+","+n},Jn=function(e,n){var t=j(e.all,function(e){return e.cells()});return N(t,n)},Qn={generate:function(e){var d={},n=[],t=e.length,m=0;return B(e,function(e,f){var s=[];B(e.cells(),function(e){for(var n=0;d[Yn(f,n)]!==undefined;)n++;for(var t,r,o,i=(t=e.element(),r=e.rowspan(),o=e.colspan(),{element:b(t),rowspan:b(r),colspan:b(o),row:b(f),column:b(n)}),u=0;u<e.colspan();u++)for(var c=0;c<e.rowspan();c++){var a=n+u,l=Yn(f+c,a);d[l]=i,m=Math.max(m,a+1)}s.push(i)}),n.push(Cn(e.element(),s,e.section()))}),{grid:{rows:b(t),columns:b(m)},access:d,all:n}},getAt:function(e,n,t){var r=e.access[Yn(n,t)];return r!==undefined?C.some(r):C.none()},findItem:function(e,n,t){var r=Jn(e,function(e){return t(n,e.element())});return 0<r.length?C.some(r[0]):C.none()},filterItems:Jn,justCells:function(e){var n=k(e.all,function(e){return e.cells()});return W(n)}},Zn=function(e,n){var t,i,r,u,c,a,l,o,f,s,d=function(e){return Qe(e.element(),n)},m=Gn(e),g=Qn.generate(m),p=(i=d,r=(t=g).grid.columns(),u=t.grid.rows(),c=r,l=a=0,q(t.access,function(e){if(i(e)){var n=e.row(),t=n+e.rowspan()-1,r=e.column(),o=r+e.colspan()-1;n<u?u=n:a<t&&(a=t),r<c?c=r:l<o&&(l=o)}}),{minRow:u,minCol:c,maxRow:a,maxCol:l}),h="th:not("+n+"),td:not("+n+")",v=Un(e,"th,td",function(e){return Qe(e,h)});return B(v,yn),function(e,n,t,r){for(var o,i,u,c=n.grid.columns(),a=n.grid.rows(),l=0;l<a;l++)for(var f=!1,s=0;s<c;s++){if(!(l<t.minRow||l>t.maxRow||s<t.minCol||s>t.maxCol))Qn.getAt(n,l,s).filter(r).isNone()?(o=f,0,i=e[l].element(),u=ge.fromTag("td"),pn(u,ge.fromTag("br")),(o?pn:gn)(i,u)):f=!0}}(m,g,p,d),f=p,s=N(qn(o=e,"tr"),function(e){return 0===e.dom().childElementCount}),B(s,yn),f.minCol!==f.maxCol&&f.minRow!==f.maxRow||B(qn(o,"th,td"),function(e){ue(e,"rowspan"),ue(e,"colspan")}),ue(o,"width"),ue(o,"height"),Ce(o,"width"),Ce(o,"height"),e};var et=function bf(t,r){var n=function(e){return t(e)?C.from(e.dom().nodeValue):C.none()};return{get:function(e){if(!t(e))throw new Error("Can only get "+r+" value of a "+r+" node");return n(e).getOr("")},getOption:n,set:function(e,n){if(!t(e))throw new Error("Can only set raw "+r+" value of a "+r+" node");e.dom().nodeValue=n}}}(Z,"text"),nt=function(e){return et.get(e)},tt=function(e){return et.getOption(e)},rt=function(e,n){return et.set(e,n)},ot=function(e){return"img"===$(e)?1:tt(e).fold(function(){return fn(e).length},function(e){return e.length})},it=["img","br"],ut=function(e){return tt(e).filter(function(e){return 0!==e.trim().length||-1<e.indexOf("\xa0")}).isSome()||A(it,$(e))},ct=function(e){return o=ut,(i=function(e){for(var n=0;n<e.childNodes.length;n++){var t=ge.fromDom(e.childNodes[n]);if(o(t))return C.some(t);var r=i(e.childNodes[n]);if(r.isSome())return r}return C.none()})(e.dom());var o,i},at=function(e){return lt(e,ut)},lt=function(e,i){var u=function(e){for(var n=fn(e),t=n.length-1;0<=t;t--){var r=n[t];if(i(r))return C.some(r);var o=u(r);if(o.isSome())return o}return C.none()};return u(e)},ft=function(e,n){return ge.fromDom(e.dom().cloneNode(n))},st=function(e){return ft(e,!1)},dt=function(e){return ft(e,!0)},mt=function(e,n){var t,r,o,i,u=(t=e,r=n,o=ge.fromTag(r),i=ce(t),te(o,i),o),c=fn(dt(e));return bn(u,c),u},gt=function(){var e=ge.fromTag("td");return pn(e,ge.fromTag("br")),e},pt=function(e,n,t){var r=mt(e,n);return q(t,function(e,n){null===e?ue(r,n):ne(r,n,e)}),r},ht=function(e){return e},vt=function(e){return function(){return ge.fromTag("tr",e.dom())}},bt=function(d,e,m){return{row:vt(e),cell:function(e){var r,o,i,n,t,u,c,a=on(e.element()),l=ge.fromTag($(e.element()),a.dom()),f=m.getOr(["strong","em","b","i","span","font","h1","h2","h3","h4","h5","h6","p","div"]),s=0<f.length?(r=e.element(),o=l,i=f,ct(r).map(function(e){var n=i.join(","),t=Dn(e,n,function(e){return en(e,r)});return I(t,function(e,n){var t=st(n);return ue(t,"contenteditable"),pn(e,t),t},o)}).getOr(o)):l;return pn(s,ge.fromTag("br")),n=e.element(),t=l,u=n.dom(),c=t.dom(),de(u)&&de(c)&&(c.style.cssText=u.style.cssText),Ce(l,"height"),1!==e.colspan()&&Ce(e.element(),"width"),d(e.element(),l),l},replace:pt,gap:gt}},wt=function(e){return{row:vt(e),cell:gt,replace:ht,gap:gt}},yt=function(e,n){var t=n.column(),r=n.column()+n.colspan()-1,o=n.row(),i=n.row()+n.rowspan()-1;return t<=e.finishCol()&&r>=e.startCol()&&o<=e.finishRow()&&i>=e.startRow()},St=function(e,n){return n.column()>=e.startCol()&&n.column()+n.colspan()-1<=e.finishCol()&&n.row()>=e.startRow()&&n.row()+n.rowspan()-1<=e.finishRow()},xt=function(e,n){return t=Math.min(e.row(),n.row()),r=Math.min(e.column(),n.column()),o=Math.max(e.row()+e.rowspan()-1,n.row()+n.rowspan()-1),i=Math.max(e.column()+e.colspan()-1,n.column()+n.colspan()-1),{startRow:b(t),startCol:b(r),finishRow:b(o),finishCol:b(i)};var t,r,o,i},Ct=function(e,n,t){var r=Qn.findItem(e,n,en),o=Qn.findItem(e,t,en);return r.bind(function(n){return o.map(function(e){return xt(n,e)})})},Rt=function(n,e,t){return Ct(n,e,t).bind(function(e){return function(e,n){for(var t=!0,r=y(St,n),o=n.startRow();o<=n.finishRow();o++)for(var i=n.startCol();i<=n.finishCol();i++)t=t&&Qn.getAt(e,o,i).exists(r);return t?C.some(n):C.none()}(n,e)})},Tt=function(t,e,n){return Ct(t,e,n).map(function(e){var n=Qn.filterItems(t,y(yt,e));return k(n,function(e){return e.element()})})},Ot=function(e,n){return Qn.findItem(e,n,function(e,n){return tn(n,e)}).map(function(e){return e.element()})},Dt=function(u,c,a){return $n(u).bind(function(e){var r,n,o,i,t=Et(e);return r=t,n=u,o=c,i=a,Qn.findItem(r,n,en).bind(function(e){var n=0<o?e.row()+e.rowspan()-1:e.row(),t=0<i?e.column()+e.colspan()-1:e.column();return Qn.getAt(r,n+o,t+i).map(function(e){return e.element()})})})},At=function(e,n,t,r,o){var i=Et(e),u=en(e,t)?C.some(n):Ot(i,n),c=en(e,o)?C.some(r):Ot(i,r);return u.bind(function(n){return c.bind(function(e){return Tt(i,n,e)})})},Et=function(e){var n=Gn(e);return Qn.generate(n)},kt=["body","p","div","article","aside","figcaption","figure","footer","header","nav","section","ol","ul","li","table","thead","tbody","tfoot","caption","tr","td","th","h1","h2","h3","h4","h5","h6","blockquote","pre","address"];function Bt(){return{up:b({selector:Nn,closest:Mn,predicate:Bn,all:cn}),down:b({selector:En,predicate:On}),styles:b({get:ye,getRaw:xe,set:be,remove:Ce}),attrs:b({get:re,set:ne,remove:ue,copyTo:function(e,n){var t=ce(e);te(n,t)}}),insert:b({before:dn,after:mn,afterAll:vn,append:pn,appendAll:bn,prepend:gn,wrap:hn}),remove:b({unwrap:Sn,remove:yn}),create:b({nu:ge.fromTag,clone:function(e){return ge.fromDom(e.dom().cloneNode(!1))},text:ge.fromText}),query:b({comparePosition:function(e,n){return e.dom().compareDocumentPosition(n.dom())},prevSibling:an,nextSibling:ln}),property:b({children:fn,name:$,parent:un,document:function(e){return e.dom().ownerDocument},isText:Z,isComment:J,isElement:Q,getText:nt,setText:rt,isBoundary:function(e){return!!Q(e)&&("body"===$(e)||A(kt,$(e)))},isEmptyTag:function(e){return!!Q(e)&&A(["br","img","hr","input"],$(e))},isNonEditable:function(e){return Q(e)&&"false"===re(e,"contenteditable")}}),eq:en,is:rn}}var Nt=function(r,o,e,n){var t=o(r,e);return I(n,function(e,n){var t=o(r,n);return It(r,e,t)},t)},It=function(n,e,t){return e.bind(function(e){return t.filter(y(n.eq,e))})},Pt=function(e,n,t){return 0<t.length?Nt(e,n,(r=t)[0],r.slice(1)):C.none();var r},Mt=function(t,e,n,r){void 0===r&&(r=f);var o=[e].concat(t.up().all(e)),i=[n].concat(t.up().all(n)),u=function(n){return _(n,r).fold(function(){return n},function(e){return n.slice(0,e+1)})},c=u(o),a=u(i),l=M(c,function(e){return E(a,(n=e,y(t.eq,n)));var n});return{firstpath:b(c),secondpath:b(a),shared:b(l)}},_t=Bt(),Wt=function(t,e){return Pt(_t,function(e,n){return t(n)},e)},jt=function(e){return Nn(e,"table")},zt=function(l,f,s){var d=function(n){return function(e){return s!==undefined&&s(e)||en(e,n)}};return en(l,f)?C.some({boxes:C.some([l]),start:l,finish:f}):jt(l).bind(function(a){return jt(f).bind(function(i){if(en(a,i))return C.some({boxes:(o=l,u=f,c=Et(a),Tt(c,o,u)),start:l,finish:f});if(tn(a,i)){var e=0<(n=Dn(f,"td,th",d(a))).length?n[n.length-1]:f;return C.some({boxes:At(a,l,a,f,i),start:l,finish:e})}if(tn(i,a)){var n,t=0<(n=Dn(l,"td,th",d(i))).length?n[n.length-1]:l;return C.some({boxes:At(i,l,a,f,i),start:l,finish:t})}return Mt(_t,l,f,r).shared().bind(function(e){return Mn(e,"table",s).bind(function(e){var n=Dn(f,"td,th",d(e)),t=0<n.length?n[n.length-1]:f,r=Dn(l,"td,th",d(e)),o=0<r.length?r[r.length-1]:l;return C.some({boxes:At(e,l,a,f,i),start:o,finish:t})})});var r,o,u,c})})},Lt=function(e,n){var t=En(e,n);return 0<t.length?C.some(t):C.none()},Ft=function(e,n,r){return Pn(e,n).bind(function(t){return Pn(e,r).bind(function(n){return Wt(jt,[t,n]).map(function(e){return{first:b(t),last:b(n),table:b(e)}})})})},Ht=function(e,n,t,r,o){return i=o,M(e,function(e){return Qe(e,i)}).bind(function(e){return Dt(e,n,t).bind(function(e){return t=r,Nn(n=e,"table").bind(function(e){return Pn(e,t).bind(function(e){return zt(e,n).bind(function(n){return n.boxes.map(function(e){return{boxes:e,start:n.start,finish:n.finish}})})})});var n,t})});var i},qt=function(r,e,n){return Ft(r,e,n).bind(function(u){var e=function(e){return en(r,e)},n=Nn(u.first(),"thead,tfoot,tbody,table",e),t=Nn(u.last(),"thead,tfoot,tbody,table",e);return n.bind(function(i){return t.bind(function(e){return en(i,e)?(n=u.table(),t=u.first(),r=u.last(),o=Et(n),Rt(o,t,r)):C.none();var n,t,r,o})})})},Ut="data-mce-first-selected",Vt="data-mce-last-selected",Kt="td[data-mce-selected],th[data-mce-selected]",Xt="[data-mce-selected]",$t=Ut,Gt="td[data-mce-first-selected],th[data-mce-first-selected]",Yt=Vt,Jt="td[data-mce-last-selected],th[data-mce-last-selected]",Qt=/* */Object.freeze({__proto__:null,selected:"data-mce-selected",selectedSelector:Kt,attributeSelector:Xt,firstSelected:$t,firstSelectedSelector:Gt,lastSelected:Yt,lastSelectedSelector:Jt}),Zt=function(u){if(!h(u))throw new Error("cases must be an array");if(0===u.length)throw new Error("there must be at least one case");var c=[],t={};return B(u,function(e,r){var n=F(e);if(1!==n.length)throw new Error("one and only one name per case");var o=n[0],i=e[o];if(t[o]!==undefined)throw new Error("duplicate key detected:"+o);if("cata"===o)throw new Error("cannot have a case named cata (sorry)");if(!h(i))throw new Error("case arguments must be an array");c.push(o),t[o]=function(){var e=arguments.length;if(e!==i.length)throw new Error("Wrong number of arguments to case "+o+". Expected "+i.length+" ("+i+"), got "+e);for(var t=new Array(e),n=0;n<t.length;n++)t[n]=arguments[n];return{fold:function(){if(arguments.length!==u.length)throw new Error("Wrong number of arguments to fold. Expected "+u.length+", got "+arguments.length);return arguments[r].apply(null,t)},match:function(e){var n=F(e);if(c.length!==n.length)throw new Error("Wrong number of arguments to match. Expected: "+c.join(",")+"\nActual: "+n.join(","));if(!z(c,function(e){return A(n,e)}))throw new Error("Not all branches were specified when using match. Specified: "+n.join(", ")+"\nRequired: "+c.join(", "));return e[o].apply(null,t)},log:function(e){p.console.log(e,{constructors:c,constructor:o,params:t})}}}}),t},er=Zt([{none:[]},{multiple:["elements"]},{single:["selection"]}]),nr=function(e,n,t,r){return e.fold(n,t,r)},tr=er.none,rr=er.multiple,or=er.single,ir=function(e,n){return nr(n.get(),b([]),o,b([e]))},ur=function(e){return{element:b(e),mergable:C.none,unmergable:C.none,selection:b([e])}},cr=function(e,n,t){return{element:b(t),mergable:b((o=n,nr(e.get(),C.none,function(n,e){return 0===n.length?C.none():qt(o,Gt,Jt).bind(function(e){return 1<n.length?C.some({bounds:b(e),cells:b(n)}):C.none()})},C.none))),unmergable:b(0<(r=ir(t,e)).length&&z(r,function(e){return ie(e,"rowspan")&&1<parseInt(re(e,"rowspan"),10)||ie(e,"colspan")&&1<parseInt(re(e,"colspan"),10)})?C.some(r):C.none()),selection:b(ir(t,e))};var r,o},ar=function(d,e,m,g){d.on("BeforeGetContent",function(t){!0===t.selection&&nr(e.get(),x,function(e){t.preventDefault(),$n(e[0]).map(dt).map(function(e){return[Zn(e,Xt)]}).each(function(e){var n;t.content="text"===t.format?k(e,function(e){return e.dom().innerText}).join(""):(n=d,k(e,function(e){return n.selection.serializer.serialize(e.dom(),{})}).join(""))})},x)}),d.on("BeforeSetContent",function(s){!0===s.selection&&!0===s.paste&&C.from(d.dom.getParent(d.selection.getStart(),"th,td")).each(function(e){var f=ge.fromDom(e);$n(f).each(function(n){var e,t,r,o,i,u=N((e=s.content,(r=(t||p.document).createElement("div")).innerHTML=e,fn(ge.fromDom(r))),function(e){return"meta"!==$(e)});if(1===u.length&&"table"===$(u[0])){s.preventDefault();var c=ge.fromDom(d.getDoc()),a=wt(c),l=(o=f,i=u[0],{element:b(o),clipboard:b(i),generators:b(a)});m.pasteCells(n,l).each(function(e){d.selection.setRng(e),d.focus(),g.clear(n)})}})})})};function lr(r,o){var e=function(e){var n=o(e);if(n<=0||null===n){var t=ye(e,r);return parseFloat(t)||0}return n},i=function(o,e){return P(e,function(e,n){var t=ye(o,n),r=t===undefined?0:parseInt(t,10);return isNaN(r)?e:e+r},0)};return{set:function(e,n){if(!R(n)&&!n.match(/^[0-9]+$/))throw new Error(r+".set accepts only positive integer values. Value was "+n);var t=e.dom();de(t)&&(t.style[r]=n+"px")},get:e,getOuter:e,aggregate:i,max:function(e,n,t){var r=i(e,t);return r<n?n-r:0}}}var fr=lr("height",function(e){var n=e.dom();return pe(e)?n.getBoundingClientRect().height:n.offsetHeight}),sr=function(e){return fr.get(e)},dr=function(e){return fr.getOuter(e)},mr=lr("width",function(e){return e.dom().offsetWidth}),gr=function(e){return mr.get(e)},pr=function(e){return mr.getOuter(e)},hr=function(e,n,t){return r=ye(e,n),o=t,i=parseFloat(r),isNaN(i)?o:i;var r,o,i},vr=function(e){return(c=Je()).browser.isIE()||c.browser.isEdge()?(t=hr(n=e,"padding-top",0),r=hr(n,"padding-bottom",0),o=hr(n,"border-top-width",0),i=hr(n,"border-bottom-width",0),u=n.dom().getBoundingClientRect().height,"border-box"===ye(n,"box-sizing")?u:u-t-r-(o+i)):hr(e,"height",sr(e));var n,t,r,o,i,u,c},br=/(\d+(\.\d+)?)(\w|%)*/,wr=/(\d+(\.\d+)?)%/,yr=/(\d+(\.\d+)?)px|em/,Sr=function(e,n){be(e,"width",n+"px")},xr=function(e,n){be(e,"width",n+"%")},Cr=function(e,n){be(e,"height",n+"px")},Rr=function(e,n,t,r){var o,i,u,c,a,l,f,s=parseInt(e,10);return ae(l=e,f="%",l.length-f.length)&&"table"!==$(n)?(i=s,u=t,c=r,a=$n(o=n).map(function(e){var n=u(e);return Math.floor(i/100*n)}).getOr(i),c(o,a),a):s},Tr=function(e){var n,t=xe(n=e,"height").getOrThunk(function(){return vr(n)+"px"});return t?Rr(t,e,sr,Cr):sr(e)},Or=function(e){return xe(e,"width").fold(function(){return C.from(re(e,"width"))},function(e){return C.some(e)})},Dr=function(e,n){return e/n.pixelWidth()*100},Ar=function(n,t){return Or(n).fold(function(){var e=gr(n);return Dr(e,t)},function(e){return function(e,n,t){var r=wr.exec(n);if(null!==r)return parseFloat(r[1]);var o=gr(e);return Dr(o,t)}(n,e,t)})},Er=function(n,t){return Or(n).fold(function(){return gr(n)},function(e){return function(e,n,t){var r=yr.exec(n);if(null!==r)return parseInt(r[1],10);var o=wr.exec(n);if(null===o)return gr(e);var i=parseFloat(o[1]);return i/100*t.pixelWidth()}(n,e,t)})},kr=function(e){return t="rowspan",Tr(n=e)/Wn(n,t);var n,t},Br=function(e,n,t){be(e,"width",n+t)},Nr=b(wr),Ir=b(yr),Pr=function(t,r){Or(t).bind(function(e){var n=br.exec(e);return null!==n?C.some({width:b(parseFloat(n[1])),unit:b(n[3])}):C.none()}).each(function(e){var n=e.width()/2;Br(t,n,e.unit()),Br(r,n,e.unit())})},Mr=function(t,r){return{left:b(t),top:b(r),translate:function(e,n){return Mr(t+e,r+n)}}},_r=Mr,Wr=function(e,n){return e!==undefined?e:n!==undefined?n:0},jr=function(e){var n=e.dom().ownerDocument,t=n.body,r=n.defaultView,o=n.documentElement;if(t===e.dom())return _r(t.offsetLeft,t.offsetTop);var i=Wr(r.pageYOffset,o.scrollTop),u=Wr(r.pageXOffset,o.scrollLeft),c=Wr(o.clientTop,t.clientTop),a=Wr(o.clientLeft,t.clientLeft);return zr(e).translate(u-a,i-c)},zr=function(e){var n,t=e.dom(),r=t.ownerDocument.body;return r===t?_r(r.offsetLeft,r.offsetTop):pe(e)?(n=t.getBoundingClientRect(),_r(n.left,n.top)):_r(0,0)},Lr=function(e,n){return{row:e,y:n}},Fr=function(e,n){return{col:e,x:n}},Hr=function(e){return jr(e).left()+pr(e)},qr=function(e){return jr(e).left()},Ur=function(e,n){return Fr(e,qr(n))},Vr=function(e,n){return Fr(e,Hr(n))},Kr=function(e){return jr(e).top()},Xr=function(e,n){return Lr(e,Kr(n))},$r=function(e,n){return Lr(e,Kr(n)+dr(n))},Gr=function(t,n,r){if(0===r.length)return[];var e=k(r.slice(1),function(e,n){return e.map(function(e){return t(n,e)})}),o=r[r.length-1].map(function(e){return n(r.length-1,e)});return e.concat([o])},Yr={delta:o,positions:function(e){return Gr(Xr,$r,e)},edge:Kr},Jr={ltr:{delta:o,edge:qr,positions:function(e){return Gr(Ur,Vr,e)}},rtl:{delta:function(e){return-e},edge:Hr,positions:function(e){return Gr(Vr,Ur,e)}}};function Qr(n){var t=function(e){return n(e).isRtl()?Jr.rtl:Jr.ltr};return{delta:function(e,n){return t(n).delta(e,n)},edge:function(e){return t(e).edge(e)},positions:function(e,n){return t(n).positions(e,n)}}}var Zr=function(e){var n=Gn(e);return Qn.generate(n).grid},eo=function(e){for(var n=[],t=function(e){n.push(e)},r=0;r<e.length;r++)e[r].each(t);return n},no=function(e,n,t,r){t===r?ue(e,n):ne(e,n,t)},to=function(o,e){var i=[],u=[],n=function(e,n){0<e.length?function(e,n){var t=In(o,n).getOrThunk(function(){var e=ge.fromTag(n,on(o).dom());return pn(o,e),e});wn(t);var r=k(e,function(e){e.isNew()&&i.push(e.element());var n=e.element();return wn(n),B(e.cells(),function(e){e.isNew()&&u.push(e.element()),no(e.element(),"colspan",e.colspan(),1),no(e.element(),"rowspan",e.rowspan(),1),pn(n,e.element())}),n});bn(t,r)}(e,n):In(o,n).each(yn)},t=[],r=[],c=[];return B(e,function(e){switch(e.section()){case"thead":t.push(e);break;case"tbody":r.push(e);break;case"tfoot":c.push(e)}}),n(t,"thead"),n(r,"tbody"),n(c,"tfoot"),{newRows:i,newCells:u}},ro=function(e,n){var t=re(e,n);return t===undefined||""===t?[]:t.split(" ")},oo=function(e){return e.dom().classList!==undefined},io=function(e,n){return o=n,i=ro(t=e,r="class").concat([o]),ne(t,r,i.join(" ")),!0;var t,r,o,i},uo=function(e,n){return o=n,0<(i=N(ro(t=e,r="class"),function(e){return e!==o})).length?ne(t,r,i.join(" ")):ue(t,r),!1;var t,r,o,i},co=function(e,n){oo(e)?e.dom().classList.add(n):io(e,n)},ao=function(e){0===(oo(e)?e.dom().classList:ro(e,"class")).length&&ue(e,"class")},lo=function(e,n){return oo(e)&&e.dom().classList.contains(n)},fo=function(e,n){for(var t=[],r=e;r<n;r++)t.push(r);return t},so=function(r,o){if(o<0||o>=r.length-1)return C.none();var e=r[o].fold(function(){var e,n,t=(e=r.slice(0,o),(n=T.call(e,0)).reverse(),n);return L(t,function(e,n){return e.map(function(e){return{value:e,delta:n+1}})})},function(e){return C.some({value:e,delta:0})}),n=r[o+1].fold(function(){var e=r.slice(o+1);return L(e,function(e,n){return e.map(function(e){return{value:e,delta:n+1}})})},function(e){return C.some({value:e,delta:1})});return e.bind(function(t){return n.map(function(e){var n=e.delta+t.delta;return Math.abs(e.value-t.value)/n})})},mo=function(t){var e=t.grid,n=fo(0,e.columns()),r=fo(0,e.rows());return k(n,function(n){return go(function(){return j(r,function(e){return Qn.getAt(t,e,n).filter(function(e){return e.column()===n}).fold(b([]),function(e){return[e]})})},function(e){return 1===e.colspan()},function(){return Qn.getAt(t,0,n)})})},go=function(e,n,t){var r=e();return M(r,n).orThunk(function(){return C.from(r[0]).orThunk(t)}).map(function(e){return e.element()})},po=function(t){var e=t.grid,n=fo(0,e.rows()),r=fo(0,e.columns());return k(n,function(n){return go(function(){return j(r,function(e){return Qn.getAt(t,n,e).filter(function(e){return e.row()===n}).fold(b([]),function(e){return[e]})})},function(e){return 1===e.rowspan()},function(){return Qn.getAt(t,n,0)})})},ho=function(e){var n=e.replace(/\./g,"-");return{resolve:function(e){return n+"-"+e}}},vo=ho("ephox-snooker").resolve,bo=vo("resizer-bar"),wo=vo("resizer-rows"),yo=vo("resizer-cols"),So=function(e){var n=En(e.parent(),"."+bo);B(n,yn)},xo=function(t,e,r){var o=t.origin();B(e,function(e){e.each(function(e){var n=r(o,e);co(n,bo),pn(t.parent(),n)})})},Co=function(e,n,l,f){xo(e,n,function(e,n){var t,r,o,i,u,c,a=(t=n.col,r=n.x-e.left(),o=l.top()-e.top(),i=7,u=f,c=ge.fromTag("div"),we(c,{position:"absolute",left:r-i/2+"px",top:o+"px",height:u+"px",width:i+"px"}),te(c,{"data-column":t,role:"presentation"}),c);return co(a,yo),a})},Ro=function(e,n,l,f){xo(e,n,function(e,n){var t,r,o,i,u,c,a=(t=n.row,r=l.left()-e.left(),o=n.y-e.top(),i=f,u=7,c=ge.fromTag("div"),we(c,{position:"absolute",left:r+"px",top:o-u/2+"px",height:u+"px",width:i+"px"}),te(c,{"data-row":t,role:"presentation"}),c);return co(a,wo),a})},To=function(e,n,t,r){So(e);var o=Gn(n),i=Qn.generate(o);!function(e,n,t,r,o,i){var u=jr(n),c=0<t.length?o.positions(t,n):[];Ro(e,c,u,pr(n));var a=0<r.length?i.positions(r,n):[];Co(e,a,u,dr(n))}(e,n,po(i),mo(i),t,r)},Oo=function(e,n){var t=En(e.parent(),"."+bo);B(t,n)},Do=function(e){Oo(e,function(e){be(e,"display","none")})},Ao=function(e){Oo(e,function(e){be(e,"display","block")})},Eo=function(e,n,t){e.cells()[n]=t},ko=function(e,n){return Tn(n,e.section())},Bo=function(e,n){var t=e.cells(),r=k(t,n);return Tn(r,e.section())},No=function(e,n){return e.cells()[n]},Io=function(e,n){return No(e,n).element()},Po=function(e){return e.cells().length},Mo=function(e,n){if(0===e.length)return 0;var t=e[0];return _(e,function(e){return!n(t.element(),e.element())}).fold(function(){return e.length},function(e){return e})},_o=function(e,n,t,r){var o,i=e[n].cells().slice(t),u=Mo(i,r),c=(o=t,k(e,function(e){return No(e,o)}).slice(n));return{colspan:u,rowspan:Mo(c,r)}},Wo=function(a,l){var f=k(a,function(e){return k(e.cells(),function(){return!1})});return k(a,function(e,c){var n,t,r=j(e.cells(),function(e,n){if(!1!==f[c][n])return[];var t,r,o,i,u=_o(a,c,n,l);return function(e,n,t,r){for(var o=e;o<e+t;o++)for(var i=n;i<n+r;i++)f[o][i]=!0}(c,n,u.rowspan,u.colspan),[(t=e.element(),r=u.rowspan,o=u.colspan,i=e.isNew(),{element:b(t),rowspan:b(r),colspan:b(o),isNew:b(i)})]});return n=r,t=e.section(),{details:b(n),section:b(t)}})},jo=function(e,n,t){for(var r=[],o=0;o<e.grid.rows();o++){for(var i=[],u=0;u<e.grid.columns();u++){var c=Qn.getAt(e,o,u).map(function(e){return Rn(e.element(),t)}).getOrThunk(function(){return Rn(n.gap(),!0)});i.push(c)}var a=Tn(i,e.all[o].section());r.push(a)}return r},zo=function(e,c){return k(e,function(e){var n,t,r,o,i,u=(n=e.details(),L(n,function(e){return un(e.element()).map(function(e){var n=un(e).isNone();return Rn(e,n)})}).getOrThunk(function(){return Rn(c.row(),!0)}));return t=u.element(),r=e.details(),o=e.section(),i=u.isNew(),{element:b(t),cells:b(r),section:b(o),isNew:b(i)}})},Lo=function(e,n){var t=Wo(e,en);return zo(t,n)},Fo=function(e,n){return L(e.all,function(e){return M(e.cells(),function(e){return en(n,e.element())})})},Ho=function(c,a,l,f,s){return function(t,r,e,o,i){var n=Gn(r),u=Qn.generate(n);return a(u,e).map(function(e){var n=jo(u,o,!1),t=c(n,e,en,s(o)),r=Lo(t.grid(),o);return{grid:b(r),cursor:t.cursor}}).fold(function(){return C.none()},function(e){var n=to(r,e.grid());return l(r,e.grid(),i),f(r),To(t,r,Yr,i),C.some({cursor:e.cursor,newRows:b(n.newRows),newCells:b(n.newCells)})})}},qo=function(n,e){return Vn(e.element()).bind(function(e){return Fo(n,e)})},Uo=function(n,e){var t=k(e.selection(),function(e){return Vn(e).bind(function(e){return Fo(n,e)})}),r=eo(t);return 0<r.length?C.some({cells:r,generators:e.generators,clipboard:e.clipboard}):C.none()},Vo=function(n,e){var t=k(e.selection(),function(e){return Vn(e).bind(function(e){return Fo(n,e)})}),r=eo(t);return 0<r.length?C.some(r):C.none()},Ko=function(t){return{is:function(e){return t===e},isValue:i,isError:f,getOr:b(t),getOrThunk:b(t),getOrDie:b(t),or:function(e){return Ko(t)},orThunk:function(e){return Ko(t)},fold:function(e,n){return n(t)},map:function(e){return Ko(e(t))},mapError:function(e){return Ko(t)},each:function(e){e(t)},bind:function(e){return e(t)},exists:function(e){return e(t)},forall:function(e){return e(t)},toOption:function(){return C.some(t)}}},Xo=function(t){return{is:f,isValue:f,isError:i,getOr:o,getOrThunk:function(e){return e()},getOrDie:function(){return e=String(t),function(){throw new Error(e)}();var e},or:function(e){return e},orThunk:function(e){return e()},fold:function(e,n){return e(t)},map:function(e){return Xo(t)},mapError:function(e){return Xo(e(t))},each:x,bind:function(e){return Xo(t)},exists:f,forall:i,toOption:C.none}},$o={value:Ko,error:Xo,fromOption:function(e,n){return e.fold(function(){return Xo(n)},Ko)}},Go=function(e,n){return{rowDelta:0,colDelta:Po(e[0])-Po(n[0])}},Yo=function(e,n){return k(e,function(){return Rn(n.cell(),!0)})},Jo=function(n,e,t){return n.concat(function(e,n){for(var t=[],r=0;r<e;r++)t.push(n(r));return t}(e,function(e){return ko(n[n.length-1],Yo(n[n.length-1].cells(),t))}))},Qo=function(e,n,t){return k(e,function(e){return ko(e,e.cells().concat(Yo(fo(0,n),t)))})},Zo=function(e,n,t){var r=n.colDelta<0?Qo:o;return(n.rowDelta<0?Jo:o)(r(e,Math.abs(n.colDelta),t),Math.abs(n.rowDelta),t)},ei=function(e,n,t,r){for(var o=!0,i=0;i<e.length;i++)for(var u=0;u<Po(e[0]);u++){var c=t(Io(e[i],u),n);!0===c&&!1===o?Eo(e[i],u,Rn(r(),!0)):!0===c&&(o=!1)}return e},ni=function(i,t,u,c){if(0<t&&t<i.length){var e=i[t-1].cells(),n=(r=u,P(e,function(e,n){return E(e,function(e){return r(e.element(),n.element())})?e:e.concat([n])},[]));B(n,function(r){for(var o=C.none(),e=function(t){for(var e=function(n){var e=i[t].cells()[n];u(e.element(),r.element())&&(o.isNone()&&(o=C.some(c())),o.each(function(e){Eo(i[t],n,Rn(e,!0))}))},n=0;n<Po(i[0]);n++)e(n)},n=t;n<i.length;n++)e(n)})}var r;return i},ti=function(t,r,o,i,u){return function(e,n,t){if(e.row()>=n.length||e.column()>Po(n[0]))return $o.error("invalid start address out of table bounds, row: "+e.row()+", column: "+e.column());var r=n.slice(e.row()),o=r[0].cells().slice(e.column()),i=Po(t[0]),u=t.length;return $o.value({rowDelta:r.length-u,colDelta:o.length-i})}(t,r,o).map(function(e){var n=Zo(r,e,i);return function(e,n,t,r,o){for(var i,u,c,a,l,f=e.row(),s=e.column(),d=f+t.length,m=s+Po(t[0]),g=f;g<d;g++)for(var p=s;p<m;p++){c=p,l=a=void 0,a=y(o,No((i=n)[u=g],c).element()),l=i[u],1<i.length&&1<Po(l)&&(0<c&&a(Io(l,c-1))||c<l.cells().length-1&&a(Io(l,c+1))||0<u&&a(Io(i[u-1],c))||u<i.length-1&&a(Io(i[u+1],c)))&&ei(n,Io(n[g],p),o,r.cell);var h=Io(t[g-f],p-s),v=r.replace(h);Eo(n[g],p,Rn(v,!0))}return n}(t,n,o,i,u)})},ri=function(e,n,t,r,o){ni(n,e,o,r.cell);var i=Go(t,n),u=Zo(t,i,r),c=Go(n,u),a=Zo(n,c,r);return a.slice(0,e).concat(u).concat(a.slice(e,a.length))},oi=function(t,r,e,o,i){var n=t.slice(0,r),u=t.slice(r),c=Bo(t[e],function(e,n){return 0<r&&r<t.length&&o(Io(t[r-1],n),Io(t[r],n))?No(t[r],n):Rn(i(e.element(),o),!0)});return n.concat([c]).concat(u)},ii=function(e,l,f,s,d){return k(e,function(e){var n,t,r,o,i,u,c,a=0<l&&l<Po(e)&&s(Io(e,l-1),Io(e,l))?No(e,l):Rn(d(Io(e,f),s),!0);return t=l,r=a,o=(n=e).cells(),i=o.slice(0,t),u=o.slice(t),c=i.concat([r]).concat(u),ko(n,c)})},ui=function(e,t,r,o){return k(e,function(e){return Bo(e,function(e){return n=e,E(t,function(e){return r(n.element(),e.element())})?Rn(o(e.element(),r),!0):e;var n})})},ci=function(e,n,t,r){return Io(e[n],t)!==undefined&&0<n&&r(Io(e[n-1],t),Io(e[n],t))},ai=function(e,n,t){return 0<n&&t(Io(e,n-1),Io(e,n))},li=function(t,r,o,e){var n=j(t,function(e,n){return ci(t,n,r,o)||ai(e,r,o)?[]:[No(e,r)]});return ui(t,n,o,e)},fi=function(t,r,o,e){var i=t[r],n=j(i.cells(),function(e,n){return ci(t,r,n,o)||ai(i,n,o)?[]:[e]});return ui(t,n,o,e)},si=Zt([{none:[]},{only:["index"]},{left:["index","next"]},{middle:["prev","index","next"]},{right:["prev","index"]}]),di=Re({},si),mi=function(e,n,i,u){var t,r,c=e.slice(0),o=(r=n,0===(t=e).length?di.none():1===t.length?di.only(0):0===r?di.left(0,1):r===t.length-1?di.right(r-1,r):0<r&&r<t.length-1?di.middle(r-1,r,r+1):di.none()),a=function(e){return k(e,b(0))},l=b(a(c)),f=function(e,n){if(0<=i){var t=Math.max(u.minCellWidth(),c[n]-i);return a(c.slice(0,e)).concat([i,t-c[n]]).concat(a(c.slice(n+1)))}var r=Math.max(u.minCellWidth(),c[e]+i),o=c[e]-r;return a(c.slice(0,e)).concat([r-c[e],o]).concat(a(c.slice(n+1)))},s=f;return o.fold(l,function(e){return u.singleColumnWidth(c[e],i)},s,function(e,n,t){return f(n,t)},function(e,n){if(0<=i)return a(c.slice(0,n)).concat([i]);var t=Math.max(u.minCellWidth(),c[n]+i);return a(c.slice(0,n)).concat([t-c[n]])})},gi=function(e,n,t,r,o){var i=mo(e),u=k(i,function(e){return e.map(n.edge)});return k(i,function(e,n){return e.filter(a(jn)).fold(function(){var e=so(u,n);return r(e)},function(e){return t(e,o)})})},pi=function(e,n,t){return gi(e,n,Ar,function(e){return e.fold(function(){return t.minCellWidth()},function(e){return e/t.pixelWidth()*100})},t)},hi=function(e,n,t){return gi(e,n,Er,function(e){return e.getOrThunk(t.minCellWidth)},t)},vi=function(e,n){return t=n,r=kr,o=function(e){return e.getOrThunk(Hn)},i=po(e),u=k(i,function(e){return e.map(t.edge)}),k(i,function(e,n){return e.filter(a(zn)).fold(function(){var e=so(u,n);return o(e)},function(e){return r(e)})});var t,r,o,i,u},bi=function(e,n,t){for(var r=0,o=e;o<n;o++)r+=t[o]!==undefined?t[o]:0;return r},wi=function(e,t){var n=Qn.justCells(e);return k(n,function(e){var n=bi(e.column(),e.column()+e.colspan(),t);return{element:e.element(),width:n,colspan:e.colspan()}})},yi=function(e){return{width:b(e),pixelWidth:b(e),getWidths:hi,getCellDelta:o,singleColumnWidth:function(e,n){return[Math.max(Fn(),e+n)-e]},minCellWidth:Fn,setElementWidth:Sr,setTableWidth:function(e,n,t){var r=I(n,function(e,n){return e+n},0);Sr(e,r)}}},Si=function(e,n){var t,r,o,i,u=Nr().exec(n);if(null!==u)return t=u[1],r=e,o=parseFloat(t),i=gr(r),{width:b(o),pixelWidth:b(i),getWidths:pi,getCellDelta:function(e){return e/i*100},singleColumnWidth:function(e,n){return[100-e]},minCellWidth:function(){return Fn()/i*100},setElementWidth:xr,setTableWidth:function(e,n,t){xr(e,o+t/100*o)}};var c=Ir().exec(n);if(null!==c){var a=parseInt(c[1],10);return yi(a)}var l=gr(e);return yi(l)},xi=function(n){return Or(n).fold(function(){var e=gr(n);return yi(e)},function(e){return Si(n,e)})},Ci=function(e){return Qn.generate(e)},Ri=function(e){var n=Gn(e);return Ci(n)},Ti=function(e,t,r,n){var o,i,u,c,a=Ri(e),l=vi(a,n),f=k(l,function(e,n){return r===n?Math.max(t+e,Hn()):e}),s=(o=a,i=f,u=Qn.justCells(o),k(u,function(e){var n=bi(e.row(),e.row()+e.rowspan(),i);return{element:e.element,height:b(n),rowspan:e.rowspan}})),d=(c=f,k(a.all,function(e,n){return{element:e.element,height:b(c[n])}}));B(d,function(e){Cr(e.element(),e.height())}),B(s,function(e){Cr(e.element(),e.height())});var m=I(f,function(e,n){return e+n},0);Cr(e,m)},Oi=function(e){return e.slice(0).sort()},Di=function(r,o,i){if(0===o.length)throw new Error("You must specify at least one required field.");var t;return function(n,e){if(!h(e))throw new Error("The "+n+" fields must be an array. Was: "+e+".");B(e,function(e){if(!g(e))throw new Error("The value "+e+" in the "+n+" fields was not a string.")})}("required",o),t=Oi(o),M(t,function(e,n){return n<t.length-1&&e===t[n+1]}).each(function(e){throw new Error("The field: "+e+" occurs more than once in the combined fields: ["+t.join(", ")+"].")}),function(n){var t=F(n);z(o,function(e){return A(t,e)})||function(e,n){throw new Error("All required keys ("+Oi(e).join(", ")+") were not specified. Specified keys were: "+Oi(n).join(", ")+".")}(o,t),r(o,t);var e=N(o,function(e){return!i.validate(n[e],e)});return 0<e.length&&function(e,n){throw new Error("All values need to be of type: "+n+". Keys ("+Oi(e).join(", ")+") were not.")}(e,i.label),n}},Ai=function(n,e){var t=N(e,function(e){return!A(n,e)});0<t.length&&function(e){throw new Error("Unsupported keys for object: "+Oi(e).join(", "))}(t)},Ei=function(e){return Di(Ai,e,{validate:w,label:"function"})},ki=Ei(["cell","row","replace","gap"]),Bi=function(e){var n=_n(e,"colspan",1),t=_n(e,"rowspan",1);return{element:b(e),colspan:b(n),rowspan:b(t)}},Ni=function(r,o){void 0===o&&(o=Bi),ki(r);var t=S(C.none()),i=function(e){var n,t=o(e);return n=t,r.cell(n)},u=function(e){var n=i(e);return t.get().isNone()&&t.set(C.some(n)),c=C.some({item:e,replacement:n}),n},c=C.none();return{getOrInit:function(n,t){return c.fold(function(){return u(n)},function(e){return t(n,e.item)?e.replacement:u(n)})},cursor:t.get}},Ii=function(c,a){return function(r){var o=S(C.none());ki(r);var i=[],u=function(e){var n={scope:c},t=r.replace(e,a,n);return i.push({item:e,sub:t}),o.get().isNone()&&o.set(C.some(t)),t};return{replaceOrInit:function(n,t){return r=n,o=t,M(i,function(e){return o(e.item,r)}).fold(function(){return u(n)},function(e){return t(n,e.item)?e.sub:u(n)});var r,o},cursor:o.get}}},Pi=function(t){ki(t);var e=S(C.none());return{combine:function(n){return e.get().isNone()&&e.set(C.some(n)),function(){var e=t.cell({element:b(n),colspan:b(1),rowspan:b(1)});return Ce(e,"width"),Ce(n,"width"),e}},cursor:e.get}},Mi=["body","p","div","article","aside","figcaption","figure","footer","header","nav","section","ol","ul","table","thead","tfoot","tbody","caption","tr","td","th","h1","h2","h3","h4","h5","h6","blockquote","pre","address"],_i=Bt(),Wi=function(e){return n=e,t=_i.property().name(n),A(Mi,t);var n,t},ji=function(e){return n=e,t=_i.property().name(n),A(["ol","ul"],t);var n,t},zi=function(e){return n=e,A(["br","img","hr","input"],_i.property().name(n));var n},Li=function(e){var n,i=function(e){return"br"===$(e)},t=function(o){return at(o).bind(function(t){var r=ln(t).map(function(e){return!!Wi(e)||!!zi(e)&&"img"!==$(e)}).getOr(!1);return un(t).map(function(e){return!0===r||("li"===$(n=e)||Bn(n,ji).isSome())||i(t)||Wi(e)&&!en(o,e)?[]:[ge.fromTag("br")];var n})}).getOr([])},r=0===(n=j(e,function(e){var n=fn(e);return z(n,function(e){return i(e)||Z(e)&&0===nt(e).trim().length})?[]:n.concat(t(e))})).length?[ge.fromTag("br")]:n;wn(e[0]),bn(e[0],r)},Fi=function(e){0===Kn(e).length&&yn(e)},Hi=function(e,n){return{grid:b(e),cursor:b(n)}},qi=function(e,n,t){return Ui(e,n,t).orThunk(function(){return Ui(e,0,0)})},Ui=function(e,n,t){return C.from(e[n]).bind(function(e){return C.from(e.cells()[t]).bind(function(e){return C.from(e.element())})})},Vi=function(e,n,t){return Hi(e,Ui(e,n,t))},Ki=function(e){return P(e,function(e,n){return E(e,function(e){return e.row()===n.row()})?e:e.concat([n])},[]).sort(function(e,n){return e.row()-n.row()})},Xi=function(e){return P(e,function(e,n){return E(e,function(e){return e.column()===n.column()})?e:e.concat([n])},[]).sort(function(e,n){return e.column()-n.column()})},$i=function(e,n,t){var r,o=(r=t,k(e,function(e){var n=k(Kn(e),function(e){var n=_n(e,"rowspan",1),t=_n(e,"colspan",1);return xn(e,n,t)});return Cn(e,n,r.section())})),i=Qn.generate(o);return jo(i,n,!0)},Gi=function(e,n,t