text: ﻿/*
   Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.
   For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
  */
  (function() {
    function u() {
      return !1;
    }
    function x(a, b) {
      var c,
        d = [];
      a.filterChildren(b);
      for (c = a.children.length - 1; 0 <= c; c--)
        d.unshift(a.children[c]), a.children[c].remove();
      c = a.attributes;
      var e = a,
        g = !0,
        h;
      for (h in c)
        if (g) g = !1;
        else {
          var l = new CKEDITOR.htmlParser.element(a.name);
          l.attributes[h] = c[h];
          e.add(l);
          e = l;
          delete c[h];
        }
      for (c = 0; c < d.length; c++) e.add(d[c]);
    }
    var f,
      k,
      t,
      p,
      m = CKEDITOR.tools,
      y = ['o:p', 'xml', 'script', 'meta', 'link'],
      z = 'v:arc v:curve v:line v:oval v:polyline v:rect v:roundrect v:group'.split(
        ' ',
      ),
      w = {},
      v = 0;
    CKEDITOR.plugins.pastefromword = {};
    CKEDITOR.cleanWord = function(a, b) {
      function c(a) {
        (a.attributes['o:gfxdata'] || 'v:group' === a.parent.name) &&
          e.push(a.attributes.id);
      }
      var d = Boolean(a.match(/mso-list:\s*l\d+\s+level\d+\s+lfo\d+/)),
        e = [];
      CKEDITOR.plugins.clipboard.isCustomDataTypesSupported &&
        (a = CKEDITOR.plugins.pastefromword.styles.inliner
          .inline(a)
          .getBody()
          .getHtml());
      a = a.replace(/<!\[/g, '\x3c!--[').replace(/\]>/g, ']--\x3e');
      var g = CKEDITOR.htmlParser.fragment.fromHtml(a),
        h = {
          root: function(a) {
            a.filterChildren(p);
            CKEDITOR.plugins.pastefromword.lists.cleanup(f.createLists(a));
          },
          elementNames: [
            [/^\?xml:namespace$/, ''],
            [/^v:shapetype/, ''],
            [new RegExp(y.join('|')), ''],
          ],
          elements: {
            a: function(a) {
              if (a.attributes.name) {
                if ('_GoBack' == a.attributes.name) {
                  delete a.name;
                  return;
                }
                if (a.attributes.name.match(/^OLE_LINK\d+$/)) {
                  delete a.name;
                  return;
                }
              }
              if (a.attributes.href && a.attributes.href.match(/#.+$/)) {
                var b = a.attributes.href.match(/#(.+)$/)[1];
                w[b] = a;
              }
              a.attributes.name &&
                w[a.attributes.name] &&
                ((a = w[a.attributes.name]),
                (a.attributes.href = a.attributes.href.replace(
                  /.*#(.*)$/,
                  '#$1',
                )));
            },
            div: function(a) {
              k.createStyleStack(a, p, b);
            },
            img: function(a) {
              if (a.parent && a.parent.attributes) {
                var b = a.parent.attributes;
                (b = b.style || b.STYLE) &&
                  b.match(/mso\-list:\s?Ignore/) &&
                  (a.attributes['cke-ignored'] = !0);
              }
              k.mapStyles(a, {
                width: function(b) {
                  k.setStyle(a, 'width', b + 'px');
                },
                height: function(b) {
                  k.setStyle(a, 'height', b + 'px');
                },
              });
              a.attributes.src &&
                a.attributes.src.match(/^file:\/\//) &&
                a.attributes.alt &&
                a.attributes.alt.match(/^https?:\/\//) &&
                (a.attributes.src = a.attributes.alt);
              var b = a.attributes['v:shapes']
                  ? a.attributes['v:shapes'].split(' ')
                  : [],
                c = CKEDITOR.tools.array.every(b, function(a) {
                  return -1 < e.indexOf(a);
                });
              if (b.length && c) return !1;
            },
            p: function(a) {
              a.filterChildren(p);
              if (
                a.attributes.style &&
                a.attributes.style.match(/display:\s*none/i)
              )
                return !1;
              if (f.thisIsAListItem(b, a))
                t.isEdgeListItem(b, a) && t.cleanupEdgeListItem(a),
                  f.convertToFakeListItem(b, a),
                  m.array.reduce(
                    a.children,
                    function(a, b) {
                      'p' === b.name &&
                        (0 < a &&
                          new CKEDITOR.htmlParser.element('br').insertBefore(b),
                        b.replaceWithChildren(),
                        (a += 1));
                      return a;
                    },
                    0,
                  );
              else {
                var c = a.getAscendant(function(a) {
                    return 'ul' == a.name || 'ol' == a.name;
                  }),
                  d = m.parseCssText(a.attributes.style);
                c &&
                  !c.attributes['cke-list-level'] &&
                  d['mso-list'] &&
                  d['mso-list'].match(/level/) &&
                  (c.attributes['cke-list-level'] = d['mso-list'].match(
                    /level(\d+)/,
                  )[1]);
                b.config.enterMode == CKEDITOR.ENTER_BR &&
                  (delete a.name, a.add(new CKEDITOR.htmlParser.element('br')));
              }
              k.createStyleStack(a, p, b);
            },
            pre: function(a) {
              f.thisIsAListItem(b, a) && f.convertToFakeListItem(b, a);
              k.createStyleStack(a, p, b);
            },
  h1(a){f.thisIsAListItem(b,a)&&f.convertToFakeListItem(b,a);k.createStyleStack(a,p,b)},h2(a){f.thisIsAListItem(b,a)&&f.convertToFakeListItem(b,a);k.createStyleStack(a,p,b)},h3(a){f.thisIsAListItem(b,a)&&f.convertToFakeListItem(b,a);k.createStyleStack(a,p,b)},h4(a){f.thisIsAListItem(b,a)&&f.convertToFakeListItem(b,a);k.createStyleStack(a,p,b)},h5(a){f.thisIsAListItem(b,a)&&f.convertToFakeListItem(b,a);k.createStyleStack(a,p,b)},h6(a){f.thisIsAListItem(b,
  a)&&f.convertToFakeListItem(b,a);k.createStyleStack(a,p,b)},font(a){if(a.getHtml().match(/^\s*$/))return(new CKEDITOR.htmlParser.text(" ")).insertAfter(a),!1;b&&!0===b.config.pasteFromWordRemoveFontStyles&&a.attributes.size&&delete a.attributes.size;CKEDITOR.dtd.tr[a.parent.name]&&CKEDITOR.tools.arrayCompare(CKEDITOR.tools.objectKeys(a.attributes),["class","style"])?k.createStyleStack(a,p,b):x(a,p)},ul(a){if(d)return"li"==a.parent.name&&0===m.indexOf(a.parent.children,a)&&k.setStyle(a.parent,
  "list-style-type","none"),f.dissolveList(a),!1},li(a){t.correctLevelShift(a);d&&(a.attributes.style=k.normalizedStyles(a,b),k.pushStylesLower(a))},ol(a){if(d)return"li"==a.parent.name&&0===m.indexOf(a.parent.children,a)&&k.setStyle(a.parent,"list-style-type","none"),f.dissolveList(a),!1},span(a){a.filterChildren(p);a.attributes.style=k.normalizedStyles(a,b);if(!a.attributes.style||a.attributes.style.match(/^mso\-bookmark:OLE_LINK\d+$/)||a.getHtml().match(/^(\s|&nbsp;)+$/)){for(var c=
  a.children.length-1;0<=c;c--)a.children[c].insertAfter(a);return!1}a.attributes.style.match(/FONT-FAMILY:\s*Symbol/i)&&a.forEach(function(a){a.value=a.value.replace(/&nbsp;/g,"")},CKEDITOR.NODE_TEXT,!0);k.createStyleStack(a,p,b)},table(a){a._tdBorders={};a.filterChildren(p);var b,c=0,d;for(d in a._tdBorders)a._tdBorders[d]>c&&(c=a._tdBorders[d],b=d);k.setStyle(a,"border",b);c=(b=a.parent)&&b.parent;if(b.name&&"div"===b.name&&b.attributes.align&&1===m.objectKeys(b.attributes).length&&1===
  b.children.length){a.attributes.align=b.attributes.align;d=b.children.splice(0);a.remove();for(a=d.length-1;0<=a;a--)c.add(d[a],b.getIndex());b.remove()}},td(a){var c=a.getAscendant("table"),d=c._tdBorders,e=["border","border-top","border-right","border-bottom","border-left"],c=m.parseCssText(c.attributes.style),g=c.background||c.BACKGROUND;g&&k.setStyle(a,"background",g,!0);(c=c["background-color"]||c["BACKGROUND-COLOR"])&&k.setStyle(a,"background-color",c,!0);var c=m.parseCssText(a.attributes.style),
  h;for(h in c)g=c[h],delete c[h],c[h.toLowerCase()]=g;for(h=0;h<e.length;h++)c[e[h]]&&(g=c[e[h]],d[g]=d[g]?d[g]+1:1);k.createStyleStack(a,p,b,/margin|text\-align|padding|list\-style\-type|width|height|border|white\-space|vertical\-align|background/i)},"v:imagedata":u,"v:shape":function(a){let b=!1;if(a.getFirst("v:imagedata")===null)c(a);else{a.parent.find((c) => {"img"==c.name&&c.attributes&&c.attributes["v:shapes"]==a.attributes.id&&(b=!0)},!0);if(b)return!1;let d="";a.parent.name==="v:group"?
                  ? c(a)
                  : (a.forEach(
                      function(a) {
                        a.attributes &&
                          a.attributes.src &&
                          (d = a.attributes.src);
                      },
                      CKEDITOR.NODE_ELEMENT,
                      !0,
                    ),
                    a.filterChildren(p),
                    (a.name = 'img'),
                    (a.attributes.src = a.attributes.src || d),
                    delete a.attributes.type);
              }
            },
            style: function() {
              return !1;
            },
            object: function(a) {
              return !(!a.attributes || !a.attributes.data);
            },
          },
          attributes: {
            style: function(a, c) {
              return k.normalizedStyles(c, b) || !1;
            },
            class: function(a) {
              a = a.replace(
                /(el\d+)|(font\d+)|msonormal|msolistparagraph\w*/gi,
                '',
              );
              return '' === a ? !1 : a;
            },
            cellspacing: u,
            cellpadding: u,
            border: u,
            'v:shapes': u,
            'o:spid': u,
          },
          comment: function(a) {
            a.match(/\[if.* supportFields.*\]/) && v++;
            '[endif]' == a && (v = 0 < v ? v - 1 : 0);
            return !1;
          },
          text: function(a, b) {
            if (v) return '';
            var c = b.parent && b.parent.parent;
            return c &&
              c.attributes &&
              c.attributes.style &&
              c.attributes.style.match(/mso-list:\s*ignore/i)
              ? a.replace(/&nbsp;/g, ' ')
              : a;
          },
        };
      CKEDITOR.tools.array.forEach(z, function(a) {
        h.elements[a] = c;
      });
      p = new CKEDITOR.htmlParser.filter(h);
      var l = new CKEDITOR.htmlParser.basicWriter();
      p.applyTo(g);
      g.writeHtml(l);
      return l.getHtml();
    };
    CKEDITOR.plugins.pastefromword.styles = {
      setStyle: function(a, b, c, d) {
        var e = m.parseCssText(a.attributes.style);
        (d && e[b]) ||
          ('' === c ? delete e[b] : (e[b] = c),
          (a.attributes.style = CKEDITOR.tools.writeCssText(e)));
      },
      mapStyles: function(a, b) {
        for (var c in b)
          if (a.attributes[c]) {
            if ('function' === typeof b[c]) b[c](a.attributes[c]);
            else k.setStyle(a, b[c], a.attributes[c]);
            delete a.attributes[c];
          }
      },
      normalizedStyles: function(a, b) {
        var c = 'background-color:transparent border-image:none color:windowtext direction:ltr mso- text-indent visibility:visible div:border:none'.split(
            ' ',
          ),
          d = 'font-family font font-size color background-color line-height text-decoration'.split(
            ' ',
          ),
          e = function() {
            for (var a = [], b = 0; b < arguments.length; b++)
              arguments[b] && a.push(arguments[b]);
            return -1 !== m.indexOf(c, a.join(':'));
          },
          g = b && !0 === b.config.pasteFromWordRemoveFontStyles,
          h = m.parseCssText(a.attributes.style);
        'cke:li' == a.name &&
          h['TEXT-INDENT'] &&
          h.MARGIN &&
          ((a.attributes['cke-indentation'] = f.getElementIndentation(a)),
          (h.MARGIN = h.MARGIN.replace(
            /(([\w\.]+ ){3,3})[\d\.]+(\w+$)/,
            '$10$3',
          )));
        for (var l = m.objectKeys(h), q = 0; q < l.length; q++) {
          var n = l[q].toLowerCase(),
            r = h[l[q]],
            k = CKEDITOR.tools.indexOf;
          ((g && -1 !== k(d, n.toLowerCase())) ||
            e(null, n, r) ||
            e(null, n.replace(/\-.*$/, '-')) ||
            e(null, n) ||
            e(a.name, n, r) ||
            e(a.name, n.replace(/\-.*$/, '-')) ||
            e(a.name, n) ||
            e(r)) &&
            delete h[l[q]];
        }
        return CKEDITOR.tools.writeCssText(h);
      },
      createStyleStack: function(a, b, c, d) {
        var e = [];
        a.filterChildren(b);
        for (b = a.children.length - 1; 0 <= b; b--)
          e.unshift(a.children[b]), a.children[b].remove();
        k.sortStyles(a);
        b = m.parseCssText(k.normalizedStyles(a, c));
        c = a;
        var g = 'span' === a.name,
          h;
        for (h in b)
          if (!h.match(d || /margin|text\-align|width|border|padding/i))
            if (g) g = !1;
            else {
              var l = new CKEDITOR.htmlParser.element('span');
              l.attributes.style = h + ':' + b[h];
              c.add(l);
              c = l;
              delete b[h];
            }
        CKEDITOR.tools.isEmpty(b)
          ? delete a.attributes.style
          : (a.attributes.style = CKEDITOR.tools.writeCssText(b));
        for (b = 0; b < e.length; b++) c.add(e[b]);
      },
      sortStyles: function(a) {
        for (
          var b = ['border', 'border-bottom', 'font-size', 'background'],
            c = m.parseCssText(a.attributes.style),
            d = m.objectKeys(c),
            e = [],
            g = [],
            h = 0;
          h < d.length;
          h++
        )
          -1 !== m.indexOf(b, d[h].toLowerCase()) ? e.push(d[h]) : g.push(d[h]);
        e.sort(function(a, c) {
          var d = m.indexOf(b, a.toLowerCase()),
            e = m.indexOf(b, c.toLowerCase());
          return d - e;
        });
        d = [].concat(e, g);
        e = {};
        for (h = 0; h < d.length; h++) e[d[h]] = c[d[h]];
        a.attributes.style = CKEDITOR.tools.writeCssText(e);
      },
      pushStylesLower: function(a, b, c) {
        if (!a.attributes.style || 0 === a.children.length) return !1;
        b = b || {};
        var d = {
            'list-style-type': !0,
            width: !0,
            height: !0,
            border: !0,
            'border-': !0,
          },
          e = m.parseCssText(a.attributes.style),
          g;
        for (g in e)
          if (
            !(
              g.toLowerCase() in d ||
              d[g.toLowerCase().replace(/\-.*$/, '-')] ||
              g.toLowerCase() in b
            )
          ) {
            for (var h = !1, l = 0; l < a.children.length; l++) {
              var f = a.children[l];
              if (f.type === CKEDITOR.NODE_TEXT && c) {
                var n = new CKEDITOR.htmlParser.element('span');
                n.setHtml(f.value);
                f.replaceWith(n);
                f = n;
              }
              f.type === CKEDITOR.NODE_ELEMENT &&
                ((h = !0), k.setStyle(f, g, e[g]));
            }
            h && delete e[g];
          }
        a.attributes.style = CKEDITOR.tools.writeCssText(e);
        return !0;
      },
      inliner: {
        filtered: 'break-before break-after break-inside page-break page-break-before page-break-after page-break-inside'.split(
          ' ',
        ),
  parse(a){function b(a){var b=new CKEDITOR.dom.element("style"),c=new CKEDITOR.dom.element("iframe");c.hide();CKEDITOR.document.getBody().append(c);c.$.contentDocument.documentElement.appendChild(b.$);b.$.textContent=a;c.remove();return b.$.sheet}function c(a){var b=a.indexOf("{"),c=a.indexOf("}");return d(a.substring(b+1,c),!0)}var d=CKEDITOR.tools.parseCssText,e=CKEDITOR.plugins.pastefromword.styles.inliner.filter,g=a.is?a.$.sheet:b(a);a=[];var h;if(g)for(g=g.cssRules,h=0;h<g.length;h++)g[h].type===
  window.CSSRule.STYLE_RULE&&a.push({selector:g[h].selectorText,styles:e(c(g[h].cssText))});return a},filter(a){var b=CKEDITOR.plugins.pastefromword.styles.inliner.filtered,c=m.array.indexOf,d={},e;for(e in a)-1===c(b,e)&&(d[e]=a[e]);return d},sort(a){return a.sort(function(a){var c=CKEDITOR.tools.array.map(a,function(a){return a.selector});return function(a,b){var g=-1!==(""+a.selector).indexOf(".")?1:0,g=(-1!==(""+b.selector).indexOf(".")?1:0)-g;return 0!==g?g:c.indexOf(b.selector)-
  c.indexOf(a.selector)}}(a))},inline(a){var b=CKEDITOR.plugins.pastefromword.styles.inliner.parse,c=CKEDITOR.plugins.pastefromword.styles.inliner.sort,d=function(a){a=(new DOMParser).parseFromString(a,"text/html");return new CKEDITOR.dom.document(a)}(a);a=d.find("style");c=c(function(a){var c=[],d;for(d=0;d<a.count();d++)c=c.concat(b(a.getItem(d)));return c}(a));CKEDITOR.tools.array.forEach(c,function(a){var b=a.styles;a=d.find(a.selector);var c,f,q;for(q=0;q<a.count();q++)c=a.getItem(q),
  f=CKEDITOR.tools.parseCssText(c.getAttribute("style")),f=CKEDITOR.tools.extend({},f,b),c.setAttribute("style",CKEDITOR.tools.writeCssText(f))});return d}}};k=CKEDITOR.plugins.pastefromword.styles;CKEDITOR.plugins.pastefromword.lists={thisIsAListItem(a,b){return t.isEdgeListItem(a,b)||b.attributes.style&&b.attributes.style.match(/mso\-list:\s?l\d/)&&"li"!==b.parent.name||b.attributes["cke-dissolved"]||b.getHtml().match(/<!\-\-\[if !supportLists]\-\->/)?!0:!1},convertToFakeListItem(a,
  b){t.isDegenerateListItem(a,b)&&t.assignListLevels(a,b);this.getListItemInfo(b);if(!b.attributes["cke-dissolved"]){var c;b.forEach(function(a){!c&&"img"==a.name&&a.attributes["cke-ignored"]&&"*"==a.attributes.alt&&(c="·",a.remove())},CKEDITOR.NODE_ELEMENT);b.forEach(function(a){c||a.value.match(/^ /)||(c=a.value)},CKEDITOR.NODE_TEXT);if("undefined"==typeof c)return;b.attributes["cke-symbol"]=c.replace(/(?: |&nbsp;).*$/,"");f.removeSymbolText(b)}if(b.attributes.style){var d=m.parseCssText(b.attributes.style);
  d["margin-left"]&&(delete d["margin-left"],b.attributes.style=CKEDITOR.tools.writeCssText(d))}b.name="cke:li"},convertToRealListItems(a){var b=[];a.forEach(function(a){"cke:li"==a.name&&(a.name="li",b.push(a))},CKEDITOR.NODE_ELEMENT,!1);return b},removeSymbolText(a){var b,c=a.attributes["cke-symbol"];a.forEach(function(d){!b&&-1<d.value.indexOf(c)&&(d.value=d.value.replace(c,""),d.parent.getHtml().match(/^(\s|&nbsp;)*$/)&&(b=d.parent!==a?d.parent:null))},CKEDITOR.NODE_TEXT);b&&b.remove()},
  setListSymbol(a,b,c){c=c||1;var d=m.parseCssText(a.attributes.style);if("ol"==a.name){if(a.attributes.type||d["list-style-type"])return;var e={"[ivx]":"lower-roman","[IVX]":"upper-roman","[a-z]":"lower-alpha","[A-Z]":"upper-alpha","\\d":"decimal"},g;for(g in e)if(f.getSubsectionSymbol(b).match(new RegExp(g))){d["list-style-type"]=e[g];break}a.attributes["cke-list-style-type"]=d["list-style-type"]}else e={"·":"disc",o:"circle","§":"square"},!d["list-style-type"]&&e[b]&&(d["list-style-type"]=
  e[b]);f.setListSymbol.removeRedundancies(d,c);(a.attributes.style=CKEDITOR.tools.writeCssText(d))||delete a.attributes.style},setListStart(a){for(var b=[],c=0,d=0;d<a.children.length;d++)b.push(a.children[d].attributes["cke-symbol"]||"");b[0]||c++;switch(a.attributes["cke-list-style-type"]){case "lower-roman":case "upper-roman":a.attributes.start=f.toArabic(f.getSubsectionSymbol(b[c]))-c;break;case "lower-alpha":case "upper-alpha":a.attributes.start=f.getSubsectionSymbol(b[c]).replace(/\W/g,
  "").toLowerCase().charCodeAt(0)-96-c;break;case "decimal":a.attributes.start=parseInt(f.getSubsectionSymbol(b[c]),10)-c||1}"1"==a.attributes.start&&delete a.attributes.start;delete a.attributes["cke-list-style-type"]},numbering:{toNumber(a,b){function c(a){a=a.toUpperCase();for(var b=1,c=1;0<a.length;c*=26)b+="ABCDEFGHIJKLMNOPQRSTUVWXYZ".indexOf(a.charAt(a.length-1))*c,a=a.substr(0,a.length-1);return b}function d(a){var b=[[1E3,"M"],[900,"CM"],[500,"D"],[400,"CD"],[100,"C"],[90,"XC"],[50,
  "L"],[40,"XL"],[10,"X"],[9,"IX"],[5,"V"],[4,"IV"],[1,"I"]];a=a.toUpperCase();for(var c=b.length,d=0,f=0;f<c;++f)for(var n=b[f],r=n[1].length;a.substr(0,r)==n[1];a=a.substr(r))d+=n[0];return d}return"decimal"==b?Number(a):"upper-roman"==b||"lower-roman"==b?d(a.toUpperCase()):"lower-alpha"==b||"upper-alpha"==b?c(a):1},getStyle(a){a=a.slice(0,1);var b={i:"lower-roman",v:"lower-roman",x:"lower-roman",l:"lower-roman",m:"lower-roman",I:"upper-roman",V:"upper-roman",X:"upper-roman",L:"upper-roman",
  M:"upper-roman"}[a];b||(b="decimal",a.match(/[a-z]/)&&(b="lower-alpha"),a.match(/[A-Z]/)&&(b="upper-alpha"));return b}},getSubsectionSymbol(a){return(a.match(/([\da-zA-Z]+).?$/)||["placeholder","1"])[1]},setListDir(a){var b=0,c=0;a.forEach(function(a){"li"==a.name&&("rtl"==(a.attributes.dir||a.attributes.DIR||"").toLowerCase()?c++:b++)},CKEDITOR.ELEMENT_NODE);c>b&&(a.attributes.dir="rtl")},createList(a){return(a.attributes["cke-symbol"].match(/([\da-np-zA-NP-Z]).?/)||[])[1]?
  new CKEDITOR.htmlParser.element("ol"):new CKEDITOR.htmlParser.element("ul")},createLists(a){var b,c,d,e=f.convertToRealListItems(a);if(0===e.length)return[];var g=f.groupLists(e);for(a=0;a<g.length;a++){var h=g[a],l=h[0];for(d=0;d<h.length;d++)if(1==h[d].attributes["cke-list-level"]){l=h[d];break}var l=[f.createList(l)],k=l[0],n=[l[0]];k.insertBefore(h[0]);for(d=0;d<h.length;d++){b=h[d];for(c=b.attributes["cke-list-level"];c>l.length;){var r=f.createList(b),m=k.children;0<m.length?m[m.length-
  1].add(r):(m=new CKEDITOR.htmlParser.element("li",{style:"list-style-type:none"}),m.add(r),k.add(m));l.push(r);n.push(r);k=r;c==l.length&&f.setListSymbol(r,b.attributes["cke-symbol"],c)}for(;c<l.length;)l.pop(),k=l[l.length-1],c==l.length&&f.setListSymbol(k,b.attributes["cke-symbol"],c);b.remove();k.add(b)}l[0].children.length&&(d=l[0].children[0].attributes["cke-symbol"],!d&&1<l[0].children.length&&(d=l[0].children[1].attributes["cke-symbol"]),d&&f.setListSymbol(l[0],d));for(d=0;d<n.length;d++)f.setListStart(n[d]);
  for(d=0;d<h.length;d++)this.determineListItemValue(h[d])}return e},cleanup(a){var b=["cke-list-level","cke-symbol","cke-list-id","cke-indentation","cke-dissolved"],c,d;for(c=0;c<a.length;c++)for(d=0;d<b.length;d++)delete a[c].attributes[b[d]]},determineListItemValue(a){if("ol"===a.parent.name){var b=this.calculateValue(a),c=a.attributes["cke-symbol"].match(/[a-z0-9]+/gi),d;c&&(c=c[c.length-1],d=a.parent.attributes["cke-list-style-type"]||this.numbering.getStyle(c),c=this.numbering.toNumber(c,
  d),c!==b&&(a.attributes.value=c))}},calculateValue(a){if(!a.parent)return 1;var b=a.parent;a=a.getIndex();var c=null,d,e,g;for(g=a;0<=g&&null===c;g--)e=b.children[g],e.attributes&&void 0!==e.attributes.value&&(d=g,c=parseInt(e.attributes.value,10));null===c&&(c=void 0!==b.attributes.start?parseInt(b.attributes.start,10):1,d=0);return c+(a-d)},dissolveList(a){function b(a){return 50<=a?"l"+b(a-50):40<=a?"xl"+b(a-40):10<=a?"x"+b(a-10):9==a?"ix":5<=a?"v"+b(a-5):4==a?"iv":1<=a?"i"+b(a-
  1):""}function c(a,b){function c(b,d){return b&&b.parent?a(b.parent)?c(b.parent,d+1):c(b.parent,d):d}return c(b,0)}var d=function(a){return function(b){return b.name==a}},e=function(a){return d("ul")(a)||d("ol")(a)},g=CKEDITOR.tools.array,h=[],f,q;a.forEach(function(a){h.push(a)},CKEDITOR.NODE_ELEMENT,!1);f=g.filter(h,d("li"));var n=g.filter(h,e);g.forEach(n,function(a){var h=a.attributes.type,f=parseInt(a.attributes.start,10)||1,l=c(e,a)+1;h||(h=m.parseCssText(a.attributes.style)["list-style-type"]);
  g.forEach(g.filter(a.children,d("li")),function(c,d){var e;switch(h){case "disc":e="·";break;case "circle":e="o";break;case "square":e="§";break;case "1":case "decimal":e=f+d+".";break;case "a":case "lower-alpha":e=String.fromCharCode(97+f-1+d)+".";break;case "A":case "upper-alpha":e=String.fromCharCode(65+f-1+d)+".";break;case "i":case "lower-roman":e=b(f+d)+".";break;case "I":case "upper-roman":e=b(f+d).toUpperCase()+".";break;default:e="ul"==a.name?"·":f+d+"."}c.attributes["cke-symbol"]=e;c.attributes["cke-list-level"]=
  l})});f=g.reduce(f,function(a,b){var c=b.children[0];if(c&&c.name&&c.attributes.style&&c.attributes.style.match(/mso-list:/i)){k.pushStylesLower(b,{"list-style-type":!0,display:!0});var d=m.parseCssText(c.attributes.style,!0);k.setStyle(b,"mso-list",d["mso-list"],!0);k.setStyle(c,"mso-list","");delete b["cke-list-level"];(c=d.display?"display":d.DISPLAY?"DISPLAY":"")&&k.setStyle(b,"display",d[c],!0)}if(1===b.children.length&&e(b.children[0]))return a;b.name="p";b.attributes["cke-dissolved"]=!0;a.push(b);
  return a},[]);for(q=f.length-1;0<=q;q--)f[q].insertAfter(a);for(q=n.length-1;0<=q;q--)delete n[q].name},groupLists(a){var b,c,d=[[a[0]]],e=d[0];c=a[0];c.attributes["cke-indentation"]=c.attributes["cke-indentation"]||f.getElementIndentation(c);for(b=1;b<a.length;b++){c=a[b];var g=a[b-1];c.attributes["cke-indentation"]=c.attributes["cke-indentation"]||f.getElementIndentation(c);c.previous!==g&&(f.chopDiscontinuousLists(e,d),d.push(e=[]));e.push(c)}f.chopDiscontinuousLists(e,d);return d},chopDiscontinuousLists(a,
  b){for(var c={},d=[[]],e,g=0;g<a.length;g++){var h=c[a[g].attributes["cke-list-level"]],l=this.getListItemInfo(a[g]),k,n;h?(n=h.type.match(/alpha/)&&7==h.index?"alpha":n,n="o"==a[g].attributes["cke-symbol"]&&14==h.index?"alpha":n,k=f.getSymbolInfo(a[g].attributes["cke-symbol"],n),l=this.getListItemInfo(a[g]),(h.type!=k.type||e&&l.id!=e.id&&!this.isAListContinuation(a[g]))&&d.push([])):k=f.getSymbolInfo(a[g].attributes["cke-symbol"]);for(e=parseInt(a[g].attributes["cke-list-level"],10)+1;20>e;e++)c[e]&&
  delete c[e];c[a[g].attributes["cke-list-level"]]=k;d[d.length-1].push(a[g]);e=l}[].splice.apply(b,[].concat([m.indexOf(b,a),1],d))},isAListContinuation(a){var b=a;do if((b=b.previous)&&b.type===CKEDITOR.NODE_ELEMENT){if(void 0===b.attributes["cke-list-level"])break;if(b.attributes["cke-list-level"]===a.attributes["cke-list-level"])return b.attributes["cke-list-id"]===a.attributes["cke-list-id"]}while(b);return!1},getElementIndentation(a){a=m.parseCssText(a.attributes.style);if(a.margin||
  a.MARGIN){a.margin=a.margin||a.MARGIN;var b={styles:{margin:a.margin}};CKEDITOR.filter.transformationsTools.splitMarginShorthand(b);a["margin-left"]=b.styles["margin-left"]}return parseInt(m.convertToPx(a["margin-left"]||"0px"),10)},toArabic(a){return a.match(/[ivxl]/i)?a.match(/^l/i)?50+f.toArabic(a.slice(1)):a.match(/^lx/i)?40+f.toArabic(a.slice(1)):a.match(/^x/i)?10+f.toArabic(a.slice(1)):a.match(/^ix/i)?9+f.toArabic(a.slice(2)):a.match(/^v/i)?5+f.toArabic(a.slice(1)):a.match(/^iv/i)?
  4+f.toArabic(a.slice(2)):a.match(/^i/i)?1+f.toArabic(a.slice(1)):f.toArabic(a.slice(1)):0},getSymbolInfo(a,b){var c=a.toUpperCase()==a?"upper-":"lower-",d={"·":["disc",-1],o:["circle",-2],"§":["square",-3]};if(a in d||b&&b.match(/(disc|circle|square)/))return{index:d[a][1],type:d[a][0]};if(a.match(/\d/))return{index:a?parseInt(f.getSubsectionSymbol(a),10):0,type:"decimal"};a=a.replace(/\W/g,"").toLowerCase();return!b&&a.match(/[ivxl]+/i)||b&&"alpha"!=b||"roman"==b?{index:f.toArabic(a),type:c+
  "roman"}:a.match(/[a-z]/i)?{index:a.charCodeAt(0)-97,type:c+"alpha"}:{index:-1,type:"disc"}},getListItemInfo(a){if(void 0!==a.attributes["cke-list-id"])return{id:a.attributes["cke-list-id"],level:a.attributes["cke-list-level"]};var b=m.parseCssText(a.attributes.style)["mso-list"],c={id:"0",level:"1"};b&&(b+=" ",c.level=b.match(/level(.+?)\s+/)[1],c.id=b.match(/l(\d+?)\s+/)[1]);a.attributes["cke-list-level"]=void 0!==a.attributes["cke-list-level"]?a.attributes["cke-list-level"]:c.level;a.attributes["cke-list-id"]=
  c.id;return c}};f=CKEDITOR.plugins.pastefromword.lists;CKEDITOR.plugins.pastefromword.images={extractFromRtf(a){var b=[],c=/\{\\pict[\s\S]+?\\bliptag\-?\d+(\\blipupi\-?\d+)?(\{\\\*\\blipuid\s?[\da-fA-F]+)?[\s\}]*?/,d;a=a.match(new RegExp("(?:("+c.source+"))([\\da-fA-F\\s]+)\\}","g"));if(!a)return b;for(var e=0;e<a.length;e++)if(c.test(a[e])){if(-1!==a[e].indexOf("\\pngblip"))d="image/png";else if(-1!==a[e].indexOf("\\jpegblip"))d="image/jpeg";else continue;b.push({hex:d?a[e].replace(c,"").replace(/[^\da-fA-F]/g,
  ""):null,type:d})}return b},extractTagsFromHtml(a){for(var b=/<img[^>]+src="([^"]+)[^>]+/g,c=[],d;d=b.exec(a);)c.push(d[1]);return c}};CKEDITOR.plugins.pastefromword.heuristics={isEdgeListItem(a,b){if(!CKEDITOR.env.edge||!a.config.pasteFromWord_heuristicsEdgeList)return!1;var c="";b.forEach&&b.forEach(function(a){c+=a.value},CKEDITOR.NODE_TEXT);return c.match(/^(?: |&nbsp;)*\(?[a-zA-Z0-9]+?[\.\)](?: |&nbsp;){2,}/)?!0:t.isDegenerateListItem(a,b)},cleanupEdgeListItem(a){var b=
  !1;a.forEach(function(a){b||(a.value=a.value.replace(/^(?:&nbsp;|[\s])+/,""),a.value.length&&(b=!0))},CKEDITOR.NODE_TEXT)},isDegenerateListItem(a,b){return!!b.attributes["cke-list-level"]||b.attributes.style&&!b.attributes.style.match(/mso\-list/)&&!!b.find(function(a){if(a.type==CKEDITOR.NODE_ELEMENT&&b.name.match(/h\d/i)&&a.getHtml().match(/^[a-zA-Z0-9]+?[\.\)]$/))return!0;var d=m.parseCssText(a.attributes&&a.attributes.style,!0);if(!d)return!1;var e=d["font-family"]||"";return(d.font||
  d["font-size"]||"").match(/7pt/i)&&!!a.previous||e.match(/symbol/i)},!0).length},assignListLevels(a,b){if(!b.attributes||void 0===b.attributes["cke-list-level"]){for(var c=[f.getElementIndentation(b)],d=[b],e=[],g=CKEDITOR.tools.array,h=g.map;b.next&&b.next.attributes&&!b.next.attributes["cke-list-level"]&&t.isDegenerateListItem(a,b.next);)b=b.next,c.push(f.getElementIndentation(b)),d.push(b);var k=h(c,function(a,b){return 0===b?0:a-c[b-1]}),m=this.guessIndentationStep(g.filter(c,function(a){return 0!==
  a})),e=h(c,function(a){return Math.round(a/m)});-1!==g.indexOf(e,0)&&(e=h(e,function(a){return a+1}));g.forEach(d,function(a,b){a.attributes["cke-list-level"]=e[b]});return{indents:c,levels:e,diffs:k}}},guessIndentationStep(a){return a.length?Math.min.apply(null,a):null},correctLevelShift(a){if(this.isShifted(a)){var b=CKEDITOR.tools.array.filter(a.children,function(a){return"ul"==a.name||"ol"==a.name}),c=CKEDITOR.tools.array.reduce(b,function(a,b){return(b.children&&1==b.children.length&&
  t.isShifted(b.children[0])?[b]:b.children).concat(a)},[]);CKEDITOR.tools.array.forEach(b,function(a){a.remove()});CKEDITOR.tools.array.forEach(c,function(b){a.add(b)});delete a.name}},isShifted(a){return"li"!==a.name?!1:0===CKEDITOR.tools.array.filter(a.children,function(a){return a.name&&("ul"==a.name||"ol"==a.name||"p"==a.name&&0===a.children.length)?!1:!0}).length}};t=CKEDITOR.plugins.pastefromword.heuristics;f.setListSymbol.removeRedundancies=function(a,b){(b===1&&a["list-style-type"]==="disc"||
  a["list-style-type"]==="decimal")&&delete a["list-style-type"]};CKEDITOR.plugins.pastefromword.createAttributeStack=x;CKEDITOR.config.pasteFromWord_heuristicsEdgeList=!0})();