From a0df3d0ab0c5252b5e2e0fd274705ede834c2276 Mon Sep 17 00:00:00 2001 From: Jason Woofenden Date: Wed, 24 Jun 2015 21:48:40 -0400 Subject: [PATCH] vanilla ckeditor-4.4.7_full --- CHANGES.md | 17 +- LICENSE.md | 2 +- adapters/jquery.js | 2 +- build-config.js | 4 +- ckeditor.js | 958 ++++++++++---------- config.js | 2 +- contents.css | 2 +- lang/af.js | 2 +- lang/ar.js | 2 +- lang/bg.js | 2 +- lang/bn.js | 2 +- lang/bs.js | 2 +- lang/ca.js | 2 +- lang/cs.js | 2 +- lang/cy.js | 2 +- lang/da.js | 2 +- lang/de.js | 2 +- lang/el.js | 2 +- lang/en-au.js | 2 +- lang/en-ca.js | 2 +- lang/en-gb.js | 2 +- lang/en.js | 2 +- lang/eo.js | 2 +- lang/es.js | 2 +- lang/et.js | 2 +- lang/eu.js | 2 +- lang/fa.js | 2 +- lang/fi.js | 2 +- lang/fo.js | 2 +- lang/fr-ca.js | 2 +- lang/fr.js | 2 +- lang/gl.js | 2 +- lang/gu.js | 2 +- lang/he.js | 2 +- lang/hi.js | 4 +- lang/hr.js | 2 +- lang/hu.js | 2 +- lang/id.js | 2 +- lang/is.js | 2 +- lang/it.js | 2 +- lang/ja.js | 2 +- lang/ka.js | 2 +- lang/km.js | 4 +- lang/ko.js | 2 +- lang/ku.js | 4 +- lang/lt.js | 2 +- lang/lv.js | 2 +- lang/mk.js | 2 +- lang/mn.js | 2 +- lang/ms.js | 2 +- lang/nb.js | 2 +- lang/nl.js | 2 +- lang/no.js | 2 +- lang/pl.js | 2 +- lang/pt-br.js | 2 +- lang/pt.js | 4 +- lang/ro.js | 2 +- lang/ru.js | 2 +- lang/si.js | 4 +- lang/sk.js | 2 +- lang/sl.js | 2 +- lang/sq.js | 4 +- lang/sr-latn.js | 2 +- lang/sr.js | 2 +- lang/sv.js | 2 +- lang/th.js | 2 +- lang/tr.js | 2 +- lang/tt.js | 4 +- lang/ug.js | 2 +- lang/uk.js | 2 +- lang/vi.js | 2 +- lang/zh-cn.js | 4 +- lang/zh.js | 2 +- plugins/a11yhelp/dialogs/a11yhelp.js | 2 +- .../a11yhelp/dialogs/lang/_translationstatus.txt | 2 +- plugins/a11yhelp/dialogs/lang/af.js | 2 +- plugins/a11yhelp/dialogs/lang/ar.js | 2 +- plugins/a11yhelp/dialogs/lang/bg.js | 2 +- plugins/a11yhelp/dialogs/lang/ca.js | 2 +- plugins/a11yhelp/dialogs/lang/cs.js | 2 +- plugins/a11yhelp/dialogs/lang/cy.js | 2 +- plugins/a11yhelp/dialogs/lang/da.js | 2 +- plugins/a11yhelp/dialogs/lang/de.js | 2 +- plugins/a11yhelp/dialogs/lang/el.js | 2 +- plugins/a11yhelp/dialogs/lang/en-gb.js | 2 +- plugins/a11yhelp/dialogs/lang/en.js | 2 +- plugins/a11yhelp/dialogs/lang/eo.js | 2 +- plugins/a11yhelp/dialogs/lang/es.js | 2 +- plugins/a11yhelp/dialogs/lang/et.js | 2 +- plugins/a11yhelp/dialogs/lang/fa.js | 4 +- plugins/a11yhelp/dialogs/lang/fi.js | 2 +- plugins/a11yhelp/dialogs/lang/fr-ca.js | 2 +- plugins/a11yhelp/dialogs/lang/fr.js | 2 +- plugins/a11yhelp/dialogs/lang/gl.js | 2 +- plugins/a11yhelp/dialogs/lang/gu.js | 2 +- plugins/a11yhelp/dialogs/lang/he.js | 2 +- plugins/a11yhelp/dialogs/lang/hi.js | 2 +- plugins/a11yhelp/dialogs/lang/hr.js | 2 +- plugins/a11yhelp/dialogs/lang/hu.js | 2 +- plugins/a11yhelp/dialogs/lang/id.js | 2 +- plugins/a11yhelp/dialogs/lang/it.js | 2 +- plugins/a11yhelp/dialogs/lang/ja.js | 2 +- plugins/a11yhelp/dialogs/lang/km.js | 2 +- plugins/a11yhelp/dialogs/lang/ko.js | 15 +- plugins/a11yhelp/dialogs/lang/ku.js | 2 +- plugins/a11yhelp/dialogs/lang/lt.js | 2 +- plugins/a11yhelp/dialogs/lang/lv.js | 2 +- plugins/a11yhelp/dialogs/lang/mk.js | 2 +- plugins/a11yhelp/dialogs/lang/mn.js | 2 +- plugins/a11yhelp/dialogs/lang/nb.js | 2 +- plugins/a11yhelp/dialogs/lang/nl.js | 2 +- plugins/a11yhelp/dialogs/lang/no.js | 2 +- plugins/a11yhelp/dialogs/lang/pl.js | 2 +- plugins/a11yhelp/dialogs/lang/pt-br.js | 2 +- plugins/a11yhelp/dialogs/lang/pt.js | 14 +- plugins/a11yhelp/dialogs/lang/ro.js | 2 +- plugins/a11yhelp/dialogs/lang/ru.js | 2 +- plugins/a11yhelp/dialogs/lang/si.js | 2 +- plugins/a11yhelp/dialogs/lang/sk.js | 2 +- plugins/a11yhelp/dialogs/lang/sl.js | 2 +- plugins/a11yhelp/dialogs/lang/sq.js | 8 +- plugins/a11yhelp/dialogs/lang/sr-latn.js | 2 +- plugins/a11yhelp/dialogs/lang/sr.js | 2 +- plugins/a11yhelp/dialogs/lang/sv.js | 2 +- plugins/a11yhelp/dialogs/lang/th.js | 2 +- plugins/a11yhelp/dialogs/lang/tr.js | 2 +- plugins/a11yhelp/dialogs/lang/tt.js | 4 +- plugins/a11yhelp/dialogs/lang/ug.js | 2 +- plugins/a11yhelp/dialogs/lang/uk.js | 2 +- plugins/a11yhelp/dialogs/lang/vi.js | 2 +- plugins/a11yhelp/dialogs/lang/zh-cn.js | 2 +- plugins/a11yhelp/dialogs/lang/zh.js | 2 +- plugins/about/dialogs/about.js | 2 +- plugins/clipboard/dialogs/paste.js | 2 +- plugins/colordialog/dialogs/colordialog.js | 6 +- plugins/dialog/dialogDefinition.js | 2 +- plugins/div/dialogs/div.js | 2 +- plugins/find/dialogs/find.js | 42 +- plugins/flash/dialogs/flash.js | 2 +- plugins/forms/dialogs/button.js | 2 +- plugins/forms/dialogs/checkbox.js | 2 +- plugins/forms/dialogs/form.js | 2 +- plugins/forms/dialogs/hiddenfield.js | 9 +- plugins/forms/dialogs/radio.js | 2 +- plugins/forms/dialogs/select.js | 6 +- plugins/forms/dialogs/textarea.js | 2 +- plugins/forms/dialogs/textfield.js | 2 +- plugins/iframe/dialogs/iframe.js | 2 +- plugins/image/dialogs/image.js | 6 +- plugins/link/dialogs/anchor.js | 2 +- plugins/link/dialogs/link.js | 2 +- plugins/liststyle/dialogs/liststyle.js | 2 +- plugins/pastefromword/filter/default.js | 2 +- plugins/smiley/dialogs/smiley.js | 2 +- .../dialogs/lang/_translationstatus.txt | 2 +- plugins/specialchar/dialogs/lang/af.js | 2 +- plugins/specialchar/dialogs/lang/ar.js | 2 +- plugins/specialchar/dialogs/lang/bg.js | 2 +- plugins/specialchar/dialogs/lang/ca.js | 2 +- plugins/specialchar/dialogs/lang/cs.js | 2 +- plugins/specialchar/dialogs/lang/cy.js | 2 +- plugins/specialchar/dialogs/lang/da.js | 2 +- plugins/specialchar/dialogs/lang/de.js | 2 +- plugins/specialchar/dialogs/lang/el.js | 2 +- plugins/specialchar/dialogs/lang/en-gb.js | 2 +- plugins/specialchar/dialogs/lang/en.js | 2 +- plugins/specialchar/dialogs/lang/eo.js | 2 +- plugins/specialchar/dialogs/lang/es.js | 2 +- plugins/specialchar/dialogs/lang/et.js | 2 +- plugins/specialchar/dialogs/lang/fa.js | 2 +- plugins/specialchar/dialogs/lang/fi.js | 2 +- plugins/specialchar/dialogs/lang/fr-ca.js | 2 +- plugins/specialchar/dialogs/lang/fr.js | 2 +- plugins/specialchar/dialogs/lang/gl.js | 2 +- plugins/specialchar/dialogs/lang/he.js | 2 +- plugins/specialchar/dialogs/lang/hr.js | 2 +- plugins/specialchar/dialogs/lang/hu.js | 2 +- plugins/specialchar/dialogs/lang/id.js | 2 +- plugins/specialchar/dialogs/lang/it.js | 2 +- plugins/specialchar/dialogs/lang/ja.js | 2 +- plugins/specialchar/dialogs/lang/km.js | 2 +- plugins/specialchar/dialogs/lang/ku.js | 2 +- plugins/specialchar/dialogs/lang/lt.js | 2 +- plugins/specialchar/dialogs/lang/lv.js | 2 +- plugins/specialchar/dialogs/lang/nb.js | 2 +- plugins/specialchar/dialogs/lang/nl.js | 2 +- plugins/specialchar/dialogs/lang/no.js | 2 +- plugins/specialchar/dialogs/lang/pl.js | 2 +- plugins/specialchar/dialogs/lang/pt-br.js | 2 +- plugins/specialchar/dialogs/lang/pt.js | 12 +- plugins/specialchar/dialogs/lang/ru.js | 2 +- plugins/specialchar/dialogs/lang/si.js | 2 +- plugins/specialchar/dialogs/lang/sk.js | 2 +- plugins/specialchar/dialogs/lang/sl.js | 2 +- plugins/specialchar/dialogs/lang/sq.js | 2 +- plugins/specialchar/dialogs/lang/sv.js | 2 +- plugins/specialchar/dialogs/lang/th.js | 2 +- plugins/specialchar/dialogs/lang/tr.js | 2 +- plugins/specialchar/dialogs/lang/tt.js | 10 +- plugins/specialchar/dialogs/lang/ug.js | 2 +- plugins/specialchar/dialogs/lang/uk.js | 2 +- plugins/specialchar/dialogs/lang/vi.js | 2 +- plugins/specialchar/dialogs/lang/zh-cn.js | 2 +- plugins/specialchar/dialogs/lang/zh.js | 2 +- plugins/specialchar/dialogs/specialchar.js | 2 +- plugins/table/dialogs/table.js | 2 +- plugins/tabletools/dialogs/tableCell.js | 2 +- plugins/templates/dialogs/templates.css | 2 +- plugins/templates/dialogs/templates.js | 2 +- plugins/templates/templates/default.js | 2 +- samples/ajax.html | 4 +- samples/api.html | 4 +- samples/appendto.html | 4 +- samples/assets/outputxhtml/outputxhtml.css | 2 +- samples/assets/posteddata.php | 4 +- samples/assets/uilanguages/languages.js | 2 +- samples/datafiltering.html | 4 +- samples/divreplace.html | 4 +- samples/index.html | 4 +- samples/inlineall.html | 4 +- samples/inlinebycode.html | 4 +- samples/inlinetextarea.html | 4 +- samples/jquery.html | 4 +- samples/plugins/dialog/assets/my_dialog.js | 4 +- samples/plugins/dialog/dialog.html | 4 +- samples/plugins/enterkey/enterkey.html | 4 +- samples/plugins/htmlwriter/outputforflash.html | 4 +- samples/plugins/htmlwriter/outputhtml.html | 4 +- samples/plugins/magicline/magicline.html | 4 +- samples/plugins/toolbar/toolbar.html | 4 +- samples/plugins/wysiwygarea/fullpage.html | 4 +- samples/readonly.html | 4 +- samples/replacebyclass.html | 4 +- samples/replacebycode.html | 4 +- samples/sample.css | 2 +- samples/sample.js | 2 +- samples/sample_posteddata.php | 2 +- samples/tabindex.html | 4 +- samples/uicolor.html | 4 +- samples/uilanguages.html | 4 +- samples/xhtmlstyle.html | 4 +- skins/moono/dialog.css | 2 +- skins/moono/dialog_ie.css | 2 +- skins/moono/dialog_ie7.css | 2 +- skins/moono/dialog_ie8.css | 2 +- skins/moono/dialog_iequirks.css | 2 +- skins/moono/editor.css | 4 +- skins/moono/editor_gecko.css | 4 +- skins/moono/editor_ie.css | 4 +- skins/moono/editor_ie7.css | 4 +- skins/moono/editor_ie8.css | 4 +- skins/moono/editor_iequirks.css | 4 +- skins/moono/readme.md | 2 +- styles.js | 2 +- 254 files changed, 845 insertions(+), 828 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index d1c3880..d927d93 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,6 +1,21 @@ CKEditor 4 Changelog ==================== +## CKEditor 4.4.7 + +Fixed Issues: + +* [#12825](http://dev.ckeditor.com/ticket/12825): Fixed: Preventing the [Table Resize](http://ckeditor.com/addon/tableresize) plugin from operating on elements outside the editor. Thanks to [Paul Martin](https://github.com/Paul-Martin)! +* [#12157](http://dev.ckeditor.com/ticket/12157): Fixed: Lost text formatting on pressing *Tab* when the [`config.tabSpaces`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-tabSpaces) configuration option value was greater than zero. +* [#12777](http://dev.ckeditor.com/ticket/12777): Fixed: The `table-layout` CSS property should be reset by skins. Thanks to [vita10gy](https://github.com/vita10gy)! +* [#12812](http://dev.ckeditor.com/ticket/12812): Fixed: An uncaught security exception is thrown when [Line Utilities](http://ckeditor.com/addon/lineutils) are used in an inline editor loaded in a cross-domain `iframe`. Thanks to [Vitaliy Zurian](https://github.com/thecatontheflat)! +* [#12735](http://dev.ckeditor.com/ticket/12735): Fixed: [`config.fillEmptyBlocks`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-fillEmptyBlocks) should only apply when outputting data. +* [#10032](http://dev.ckeditor.com/ticket/10032): Fixed: [Paste from Word](http://ckeditor.com/addon/pastefromword) filter is executed for every paste after using the button. +* [#12597](http://dev.ckeditor.com/ticket/12597): [Blink/Webkit] Fixed: Multi-byte Japanese characters entry not working properly after *Shift+Enter*. +* [#12387](http://dev.ckeditor.com/ticket/12387): Fixed: An error is thrown if a skin does not have the [`chameleon`](http://docs.ckeditor.com/#!/api/CKEDITOR.skin-method-chameleon) property defined and [`config.uiColor`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-uiColor) is defined. +* [#12747](http://dev.ckeditor.com/ticket/12747): [IE8-10] Fixed: Opening a drop-down for a specific selection when the editor is maximized results in incorrect drop-down panel position. +* [#12850](http://dev.ckeditor.com/ticket/12850): [IEQM] Fixed: An error is thrown after focusing the editor. + ## CKEditor 4.4.6 **Security Updates:** @@ -68,7 +83,7 @@ Fixed Issues: Fixed Issues: * [#12268](http://dev.ckeditor.com/ticket/12268): Cleanup of [UI Color](http://ckeditor.com/addon/uicolor) YUI styles. Thanks to [CasherWest](https://github.com/CasherWest)! -* [#12263](http://dev.ckeditor.com/ticket/12263): Fixed: [Paste from Word]((http://ckeditor.com/addon/pastefromword)) filter does not properly normalize semicolons style text. Thanks to [Alin Purcaru](https://github.com/mesmerizero)! +* [#12263](http://dev.ckeditor.com/ticket/12263): Fixed: [Paste from Word](http://ckeditor.com/addon/pastefromword) filter does not properly normalize semicolons style text. Thanks to [Alin Purcaru](https://github.com/mesmerizero)! * [#12243](http://dev.ckeditor.com/ticket/12243): Fixed: Text formatting lost when pasting from Word. Thanks to [Alin Purcaru](https://github.com/mesmerizero)! * [#111739](http://dev.ckeditor.com/ticket/11739): Fixed: `keypress` listeners should not be used in the undo manager. A complete rewrite of keyboard handling in the undo manager was made. Numerous smaller issues were fixed, among others: * [#10926](http://dev.ckeditor.com/ticket/10926): [Chrome@Android] Fixed: Typing does not record snapshots and does not fire the [`editor.change`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-change) event. diff --git a/LICENSE.md b/LICENSE.md index b6e0b9c..aad56b7 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -2,7 +2,7 @@ Software License Agreement ========================== CKEditor - The text editor for Internet - http://ckeditor.com -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved. Licensed under the terms of any of the following licenses at your choice: diff --git a/adapters/jquery.js b/adapters/jquery.js index 3ec908b..704635f 100644 --- a/adapters/jquery.js +++ b/adapters/jquery.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.md or http://ckeditor.com/license */ (function(a){CKEDITOR.config.jqueryOverrideVal="undefined"==typeof CKEDITOR.config.jqueryOverrideVal?!0:CKEDITOR.config.jqueryOverrideVal;"undefined"!=typeof a&&(a.extend(a.fn,{ckeditorGet:function(){var a=this.eq(0).data("ckeditorInstance");if(!a)throw"CKEditor is not initialized yet, use ckeditor() with a callback.";return a},ckeditor:function(g,d){if(!CKEDITOR.env.isCompatible)throw Error("The environment is incompatible.");if(!a.isFunction(g))var k=d,d=g,g=k;var i=[],d=d||{};this.each(function(){var b= diff --git a/build-config.js b/build-config.js index 29cfe7c..e6e18c4 100644 --- a/build-config.js +++ b/build-config.js @@ -1,5 +1,5 @@ /** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. + * @license Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved. * For licensing, see LICENSE.md or http://ckeditor.com/license */ @@ -34,9 +34,9 @@ var CKBUILDER_CONFIG = { 'bender-out.log', 'dev', '.DS_Store', + '.editorconfig', '.gitattributes', '.gitignore', - 'Gruntfile.js', 'gruntfile.js', '.idea', '.jscsrc', diff --git a/ckeditor.js b/ckeditor.js index 2bedfd2..ed89485 100644 --- a/ckeditor.js +++ b/ckeditor.js @@ -1,81 +1,81 @@ /* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.md or http://ckeditor.com/license */ -(function(){if(window.CKEDITOR&&window.CKEDITOR.dom)return;window.CKEDITOR||(window.CKEDITOR=function(){var a=/(^|.*[\\\/])ckeditor\.js(?:\?.*|;.*)?$/i,e={timestamp:"EAPE",version:"4.4.6",revision:"08188c4",rnd:Math.floor(900*Math.random())+100,_:{pending:[],basePathSrcPattern:a},status:"unloaded",basePath:function(){var f=window.CKEDITOR_BASEPATH||"";if(!f)for(var d=document.getElementsByTagName("script"),c=0;c=0;s--)if(m[s].priority<=l){m.splice(s+1,0,i);return{removeListener:g}}m.unshift(i)}return{removeListener:g}}, -once:function(){var a=Array.prototype.slice.call(arguments),f=a[1];a[1]=function(a){a.removeListener();return f.apply(this,arguments)};return this.on.apply(this,a)},capture:function(){CKEDITOR.event.useCapture=1;var a=this.on.apply(this,arguments);CKEDITOR.event.useCapture=0;return a},fire:function(){var a=0,f=function(){a=1},d=0,b=function(){d=1};return function(l,i,g){var m=e(this)[l],l=a,t=d;a=d=0;if(m){var s=m.listeners;if(s.length)for(var s=s.slice(0),y,p=0;p=0&&d.listeners.splice(b,1)}},removeAllListeners:function(){var a=e(this),f;for(f in a)delete a[f]},hasListeners:function(a){return(a=e(this)[a])&&a.listeners.length> -0}}}());CKEDITOR.editor||(CKEDITOR.editor=function(){CKEDITOR._.pending.push([this,arguments]);CKEDITOR.event.call(this)},CKEDITOR.editor.prototype.fire=function(a,e){a in{instanceReady:1,loaded:1}&&(this[a]=true);return CKEDITOR.event.prototype.fire.call(this,a,e,this)},CKEDITOR.editor.prototype.fireOnce=function(a,e){a in{instanceReady:1,loaded:1}&&(this[a]=true);return CKEDITOR.event.prototype.fireOnce.call(this,a,e,this)},CKEDITOR.event.implementOn(CKEDITOR.editor.prototype)); -CKEDITOR.env||(CKEDITOR.env=function(){var a=navigator.userAgent.toLowerCase(),e={ie:a.indexOf("trident/")>-1,webkit:a.indexOf(" applewebkit/")>-1,air:a.indexOf(" adobeair/")>-1,mac:a.indexOf("macintosh")>-1,quirks:document.compatMode=="BackCompat"&&(!document.documentMode||document.documentMode<10),mobile:a.indexOf("mobile")>-1,iOS:/(ipad|iphone|ipod)/.test(a),isCustomDomain:function(){if(!this.ie)return false;var a=document.domain,d=window.location.hostname;return a!=d&&a!="["+d+"]"},secure:location.protocol== -"https:"};e.gecko=navigator.product=="Gecko"&&!e.webkit&&!e.ie;if(e.webkit)a.indexOf("chrome")>-1?e.chrome=true:e.safari=true;var b=0;if(e.ie){b=e.quirks||!document.documentMode?parseFloat(a.match(/msie (\d+)/)[1]):document.documentMode;e.ie9Compat=b==9;e.ie8Compat=b==8;e.ie7Compat=b==7;e.ie6Compat=b<7||e.quirks}if(e.gecko){var c=a.match(/rv:([\d\.]+)/);if(c){c=c[1].split(".");b=c[0]*1E4+(c[1]||0)*100+(c[2]||0)*1}}e.air&&(b=parseFloat(a.match(/ adobeair\/(\d+)/)[1]));e.webkit&&(b=parseFloat(a.match(/ applewebkit\/(\d+)/)[1])); -e.version=b;e.isCompatible=e.iOS&&b>=534||!e.mobile&&(e.ie&&b>6||e.gecko&&b>=2E4||e.air&&b>=1||e.webkit&&b>=522||false);e.hidpi=window.devicePixelRatio>=2;e.needsBrFiller=e.gecko||e.webkit||e.ie&&b>10;e.needsNbspFiller=e.ie&&b<11;e.cssClass="cke_browser_"+(e.ie?"ie":e.gecko?"gecko":e.webkit?"webkit":"unknown");if(e.quirks)e.cssClass=e.cssClass+" cke_browser_quirks";if(e.ie)e.cssClass=e.cssClass+(" cke_browser_ie"+(e.quirks?"6 cke_browser_iequirks":e.version));if(e.air)e.cssClass=e.cssClass+" cke_browser_air"; -if(e.iOS)e.cssClass=e.cssClass+" cke_browser_ios";if(e.hidpi)e.cssClass=e.cssClass+" cke_hidpi";return e}()); +a);window.attachEvent("onload",a);d=!1;try{d=!window.frameElement}catch(f){}document.documentElement.doScroll&&d&&b()}}}()},b=window.CKEDITOR_GETURL;if(b){var c=f.getUrl;f.getUrl=function(a){return b.call(f,a)||c.call(f,a)}}return f}()); +CKEDITOR.event||(CKEDITOR.event=function(){},CKEDITOR.event.implementOn=function(a){var f=CKEDITOR.event.prototype,b;for(b in f)a[b]==null&&(a[b]=f[b])},CKEDITOR.event.prototype=function(){function a(a){var e=f(this);return e[a]||(e[a]=new b(a))}var f=function(a){a=a.getPrivate&&a.getPrivate()||a._||(a._={});return a.events||(a.events={})},b=function(a){this.name=a;this.listeners=[]};b.prototype={getListenerIndex:function(a){for(var e=0,d=this.listeners;e=0;s--)if(m[s].priority<=k){m.splice(s+1,0,j);return{removeListener:g}}m.unshift(j)}return{removeListener:g}}, +once:function(){var a=Array.prototype.slice.call(arguments),e=a[1];a[1]=function(a){a.removeListener();return e.apply(this,arguments)};return this.on.apply(this,a)},capture:function(){CKEDITOR.event.useCapture=1;var a=this.on.apply(this,arguments);CKEDITOR.event.useCapture=0;return a},fire:function(){var a=0,e=function(){a=1},d=0,b=function(){d=1};return function(k,j,g){var m=f(this)[k],k=a,y=d;a=d=0;if(m){var s=m.listeners;if(s.length)for(var s=s.slice(0),w,q=0;q=0&&d.listeners.splice(b,1)}},removeAllListeners:function(){var a=f(this),e;for(e in a)delete a[e]},hasListeners:function(a){return(a=f(this)[a])&&a.listeners.length> +0}}}());CKEDITOR.editor||(CKEDITOR.editor=function(){CKEDITOR._.pending.push([this,arguments]);CKEDITOR.event.call(this)},CKEDITOR.editor.prototype.fire=function(a,f){a in{instanceReady:1,loaded:1}&&(this[a]=true);return CKEDITOR.event.prototype.fire.call(this,a,f,this)},CKEDITOR.editor.prototype.fireOnce=function(a,f){a in{instanceReady:1,loaded:1}&&(this[a]=true);return CKEDITOR.event.prototype.fireOnce.call(this,a,f,this)},CKEDITOR.event.implementOn(CKEDITOR.editor.prototype)); +CKEDITOR.env||(CKEDITOR.env=function(){var a=navigator.userAgent.toLowerCase(),f={ie:a.indexOf("trident/")>-1,webkit:a.indexOf(" applewebkit/")>-1,air:a.indexOf(" adobeair/")>-1,mac:a.indexOf("macintosh")>-1,quirks:document.compatMode=="BackCompat"&&(!document.documentMode||document.documentMode<10),mobile:a.indexOf("mobile")>-1,iOS:/(ipad|iphone|ipod)/.test(a),isCustomDomain:function(){if(!this.ie)return false;var a=document.domain,d=window.location.hostname;return a!=d&&a!="["+d+"]"},secure:location.protocol== +"https:"};f.gecko=navigator.product=="Gecko"&&!f.webkit&&!f.ie;if(f.webkit)a.indexOf("chrome")>-1?f.chrome=true:f.safari=true;var b=0;if(f.ie){b=f.quirks||!document.documentMode?parseFloat(a.match(/msie (\d+)/)[1]):document.documentMode;f.ie9Compat=b==9;f.ie8Compat=b==8;f.ie7Compat=b==7;f.ie6Compat=b<7||f.quirks}if(f.gecko){var c=a.match(/rv:([\d\.]+)/);if(c){c=c[1].split(".");b=c[0]*1E4+(c[1]||0)*100+(c[2]||0)*1}}f.air&&(b=parseFloat(a.match(/ adobeair\/(\d+)/)[1]));f.webkit&&(b=parseFloat(a.match(/ applewebkit\/(\d+)/)[1])); +f.version=b;f.isCompatible=f.iOS&&b>=534||!f.mobile&&(f.ie&&b>6||f.gecko&&b>=2E4||f.air&&b>=1||f.webkit&&b>=522||false);f.hidpi=window.devicePixelRatio>=2;f.needsBrFiller=f.gecko||f.webkit||f.ie&&b>10;f.needsNbspFiller=f.ie&&b<11;f.cssClass="cke_browser_"+(f.ie?"ie":f.gecko?"gecko":f.webkit?"webkit":"unknown");if(f.quirks)f.cssClass=f.cssClass+" cke_browser_quirks";if(f.ie)f.cssClass=f.cssClass+(" cke_browser_ie"+(f.quirks?"6 cke_browser_iequirks":f.version));if(f.air)f.cssClass=f.cssClass+" cke_browser_air"; +if(f.iOS)f.cssClass=f.cssClass+" cke_browser_ios";if(f.hidpi)f.cssClass=f.cssClass+" cke_hidpi";return f}()); "unloaded"==CKEDITOR.status&&function(){CKEDITOR.event.implementOn(CKEDITOR);CKEDITOR.loadFullCore=function(){if(CKEDITOR.status!="basic_ready")CKEDITOR.loadFullCore._load=1;else{delete CKEDITOR.loadFullCore;var a=document.createElement("script");a.type="text/javascript";a.src=CKEDITOR.basePath+"ckeditor.js";document.getElementsByTagName("head")[0].appendChild(a)}};CKEDITOR.loadFullCoreTimeout=0;CKEDITOR.add=function(a){(this._.pending||(this._.pending=[])).push(a)};(function(){CKEDITOR.domReady(function(){var a= -CKEDITOR.loadFullCore,e=CKEDITOR.loadFullCoreTimeout;if(a){CKEDITOR.status="basic_ready";a&&a._load?a():e&&setTimeout(function(){CKEDITOR.loadFullCore&&CKEDITOR.loadFullCore()},e*1E3)}})})();CKEDITOR.status="basic_loaded"}();CKEDITOR.dom={}; -(function(){var a=[],e=CKEDITOR.env.gecko?"-moz-":CKEDITOR.env.webkit?"-webkit-":CKEDITOR.env.ie?"-ms-":"",b=/&/g,c=/>/g,f=/"+f+""):d.push('');return d.join("")}, -htmlEncode:function(a){return(""+a).replace(b,"&").replace(c,">").replace(f,"<")},htmlDecode:function(a){return a.replace(h,"&").replace(l,">").replace(i,"<")},htmlEncodeAttr:function(a){return a.replace(d,""").replace(f,"<").replace(c,">")},htmlDecodeAttr:function(a){return a.replace(g,'"').replace(i,"<").replace(l,">")},getNextNumber:function(){var a=0;return function(){return++a}}(),getNextId:function(){return"cke_"+this.getNextNumber()},override:function(a,f){var d=f(a);d.prototype= -a.prototype;return d},setTimeout:function(a,f,d,b,c){c||(c=window);d||(d=c);return c.setTimeout(function(){b?a.apply(d,[].concat(b)):a.apply(d)},f||0)},trim:function(){var a=/(?:^[ \t\n\r]+)|(?:[ \t\n\r]+$)/g;return function(f){return f.replace(a,"")}}(),ltrim:function(){var a=/^[ \t\n\r]+/g;return function(f){return f.replace(a,"")}}(),rtrim:function(){var a=/[ \t\n\r]+$/g;return function(f){return f.replace(a,"")}}(),indexOf:function(a,f){if(typeof f=="function")for(var d=0,b=a.length;d=0?a[d]:null},bind:function(a,f){return function(){return a.apply(f,arguments)}},createClass:function(a){var f=a.$,d=a.base,b=a.privates||a._,c=a.proto,a=a.statics;!f&&(f=function(){d&&this.base.apply(this,arguments)});if(b)var e=f,f=function(){var a=this._||(this._={}),f;for(f in b){var d=b[f];a[f]=typeof d=="function"?CKEDITOR.tools.bind(d,this):d}e.apply(this,arguments)};if(d){f.prototype= -this.prototypedCopy(d.prototype);f.prototype.constructor=f;f.base=d;f.baseProto=d.prototype;f.prototype.base=function(){this.base=d.prototype.base;d.apply(this,arguments);this.base=arguments.callee}}c&&this.extend(f.prototype,c,true);a&&this.extend(f,a,true);return f},addFunction:function(f,d){return a.push(function(){return f.apply(d||this,arguments)})-1},removeFunction:function(f){a[f]=null},callFunction:function(f){var d=a[f];return d&&d.apply(window,Array.prototype.slice.call(arguments,1))},cssLength:function(){var a= -/^-?\d+\.?\d*px$/,f;return function(d){f=CKEDITOR.tools.trim(d+"")+"px";return a.test(f)?f:d||""}}(),convertToPx:function(){var a;return function(f){if(!a){a=CKEDITOR.dom.element.createFromHtml('
',CKEDITOR.document);CKEDITOR.document.getBody().append(a)}if(!/%$/.test(f)){a.setStyle("width",f);return a.$.clientWidth}return f}}(),repeat:function(a,f){return Array(f+1).join(a)},tryThese:function(){for(var a, -f=0,d=arguments.length;f/g,e=/"+e+""):d.push('');return d.join("")}, +htmlEncode:function(a){return(""+a).replace(b,"&").replace(c,">").replace(e,"<")},htmlDecode:function(a){return a.replace(h,"&").replace(k,">").replace(j,"<")},htmlEncodeAttr:function(a){return a.replace(d,""").replace(e,"<").replace(c,">")},htmlDecodeAttr:function(a){return a.replace(g,'"').replace(j,"<").replace(k,">")},getNextNumber:function(){var a=0;return function(){return++a}}(),getNextId:function(){return"cke_"+this.getNextNumber()},override:function(a,e){var d=e(a);d.prototype= +a.prototype;return d},setTimeout:function(a,e,d,b,c){c||(c=window);d||(d=c);return c.setTimeout(function(){b?a.apply(d,[].concat(b)):a.apply(d)},e||0)},trim:function(){var a=/(?:^[ \t\n\r]+)|(?:[ \t\n\r]+$)/g;return function(e){return e.replace(a,"")}}(),ltrim:function(){var a=/^[ \t\n\r]+/g;return function(e){return e.replace(a,"")}}(),rtrim:function(){var a=/[ \t\n\r]+$/g;return function(e){return e.replace(a,"")}}(),indexOf:function(a,e){if(typeof e=="function")for(var d=0,b=a.length;d=0?a[d]:null},bind:function(a,e){return function(){return a.apply(e,arguments)}},createClass:function(a){var e=a.$,d=a.base,b=a.privates||a._,c=a.proto,a=a.statics;!e&&(e=function(){d&&this.base.apply(this,arguments)});if(b)var f=e,e=function(){var a=this._||(this._={}),e;for(e in b){var d=b[e];a[e]=typeof d=="function"?CKEDITOR.tools.bind(d,this):d}f.apply(this,arguments)};if(d){e.prototype= +this.prototypedCopy(d.prototype);e.prototype.constructor=e;e.base=d;e.baseProto=d.prototype;e.prototype.base=function(){this.base=d.prototype.base;d.apply(this,arguments);this.base=arguments.callee}}c&&this.extend(e.prototype,c,true);a&&this.extend(e,a,true);return e},addFunction:function(e,d){return a.push(function(){return e.apply(d||this,arguments)})-1},removeFunction:function(e){a[e]=null},callFunction:function(e){var d=a[e];return d&&d.apply(window,Array.prototype.slice.call(arguments,1))},cssLength:function(){var a= +/^-?\d+\.?\d*px$/,e;return function(d){e=CKEDITOR.tools.trim(d+"")+"px";return a.test(e)?e:d||""}}(),convertToPx:function(){var a;return function(e){if(!a){a=CKEDITOR.dom.element.createFromHtml('
',CKEDITOR.document);CKEDITOR.document.getBody().append(a)}if(!/%$/.test(e)){a.setStyle("width",e);return a.$.clientWidth}return e}}(),repeat:function(a,e){return Array(e+1).join(a)},tryThese:function(){for(var a, +e=0,d=arguments.length;e]*?>)|^/i,'$&\n