@ckeditor/ckeditor5-source-editing-enhanced 0.0.0-nightly-20250129.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,17 @@
1
+ {
2
+ "plugins": [
3
+ {
4
+ "name": "Source editing enhanced",
5
+ "className": "SourceEditingEnhanced",
6
+ "description": "Allows for viewing and editing the source of the document.",
7
+ "docs": "features/source-editing/source-editing-enhanced.html",
8
+ "path": "src/sourceeditingenhanced.js",
9
+ "uiComponents": [
10
+ {
11
+ "type": "Button",
12
+ "name": "sourceEditingEnhanced"
13
+ }
14
+ ]
15
+ }
16
+ ]
17
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
5
+
@@ -0,0 +1,34 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
5
+ :root{
6
+ --ck-source-editing-enhanced-height:calc(
7
+ var(--ck-dialog-max-height)
8
+ - var(--ck-form-header-height)
9
+ - 2 * var(--ck-spacing-large)
10
+ - var(--ck-ui-component-min-height)
11
+ - 2 * var(--ck-spacing-tiny) );
12
+ --ck-source-editing-enhanced-width:min(80vw, 1200px);
13
+ }
14
+
15
+ .ck.ck-code-editor{
16
+ display:flex;
17
+ align-items:stretch;
18
+ flex-direction:row;
19
+ justify-content:flex-start;
20
+ white-space:initial;
21
+ margin:0 auto;
22
+ border-bottom:1px solid var(--ck-color-base-border);
23
+ height:var(--ck-source-editing-enhanced-height);
24
+ width:var(--ck-source-editing-enhanced-width);
25
+ }
26
+
27
+ .ck.ck-code-editor .cm-editor{
28
+ flex-grow:1;
29
+ width:100%;
30
+ }
31
+
32
+ .ck.ck-code-editor .cm-editor.cm-focused{
33
+ outline:var(--ck-focus-ring);
34
+ }
package/dist/index.css ADDED
@@ -0,0 +1,56 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
5
+ /*
6
+ * What you're currently looking at is the source code of a legally protected, proprietary software.
7
+ * CKEditor 5 Collaboration is licensed under a commercial license and protected by copyright law. Where not otherwise indicated,
8
+ * all CKEditor 5 Collaboration content is authored by CKSource engineers and consists of CKSource-owned intellectual property.
9
+ *
10
+ * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
11
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
12
+ */
13
+
14
+ /*
15
+ * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
16
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
17
+ */
18
+
19
+ /**
20
+ * A visual style of focused element's border.
21
+ */
22
+
23
+ :root {
24
+ /* Keep the editor as big as possible within the limits of the dialog system geometry. */
25
+ --ck-source-editing-enhanced-height: calc(
26
+ var(--ck-dialog-max-height) /* ─▶ Total max height of the dialog */
27
+ - var(--ck-form-header-height) /* ─▶ Height of the dialog header */
28
+ - 2 * var(--ck-spacing-large) /* ─┐ */
29
+ - var(--ck-ui-component-min-height) /* ├─▶ Height of the dialog actions bar */
30
+ - 2 * var(--ck-spacing-tiny) /* ─┘ */
31
+ );
32
+ --ck-source-editing-enhanced-width: min(80vw, 1200px);
33
+ }
34
+
35
+ .ck.ck-code-editor {
36
+ display: flex;
37
+ align-items: stretch;
38
+ flex-direction: row;
39
+ justify-content: flex-start;
40
+ white-space: initial;
41
+ margin: 0 auto;
42
+ border-bottom: 1px solid var(--ck-color-base-border);
43
+ height: var(--ck-source-editing-enhanced-height);
44
+ width: var(--ck-source-editing-enhanced-width);
45
+
46
+ /* Styles of the CodeMirror editor */
47
+ }
48
+
49
+ .ck.ck-code-editor .cm-editor {
50
+ flex-grow: 1;
51
+ width: 100%;
52
+ }
53
+
54
+ .ck.ck-code-editor .cm-editor.cm-focused {
55
+ outline: var(--ck-focus-ring);
56
+ }
package/dist/index.js ADDED
@@ -0,0 +1,23 @@
1
+ /*
2
+ * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
3
+ *
4
+ *
5
+ *
6
+ *
7
+ * +---------------------------------------------------------------------------------+
8
+ * | |
9
+ * | Hello stranger! |
10
+ * | |
11
+ * | |
12
+ * | What you're currently looking at is the source code of a legally protected, |
13
+ * | proprietary software. Any attempts to deobfuscate / disassemble this code |
14
+ * | are forbidden and will result in legal consequences. |
15
+ * | |
16
+ * | |
17
+ * +---------------------------------------------------------------------------------+
18
+ *
19
+ *
20
+ *
21
+ *
22
+ */
23
+ import{Command as _0x3cc7c0,PendingActions as _0x563a9b,Plugin as _0x19c3f4,icons as _0x2429eb}from'@ckeditor/ckeditor5-core/dist/index.js';import{CKEditorError as _0x44bc4a,env as _0x295b3e,uid as _0xdecafa}from'@ckeditor/ckeditor5-utils/dist/index.js';import{View as _0x51fc98,ButtonView as _0x55d640,MenuBarMenuListItemButtonView as _0x1acc34}from'@ckeditor/ckeditor5-ui/dist/index.js';import{EditorView as _0x16714f,keymap as _0x4b990d,crosshairCursor as _0x2e8715,drawSelection as _0x5a26ea,dropCursor as _0x33fb71,lineNumbers as _0x168869,highlightActiveLine as _0x4dfe40,highlightActiveLineGutter as _0xa9df20,highlightSpecialChars as _0x5f2ac1,rectangularSelection as _0x4cd985}from'@codemirror/view';import{Compartment as _0x4b9186,Transaction as _0x4ce365}from'@codemirror/state';import{foldKeymap as _0x4265a8,bracketMatching as _0x3ad37d,foldGutter as _0x2eb557,indentOnInput as _0x2ae773,syntaxHighlighting as _0x50fb63,defaultHighlightStyle as _0x361148}from'@codemirror/language';import{defaultKeymap as _0x87a29b,historyKeymap as _0x305e8e,redo as _0x1430aa,history as _0x307655}from'@codemirror/commands';import{closeBracketsKeymap as _0x32f243,completionKeymap as _0x18b7d4,autocompletion as _0x5bb6d9,closeBrackets as _0x382b5a}from'@codemirror/autocomplete';import{html as _0x1a466e}from'@codemirror/lang-html';import{markdown as _0x4ee250}from'@codemirror/lang-markdown';function f(_0x3765c0,_0x6aee18){const t=_0x3765c0['t'];switch(_0x6aee18){case'Edit\x20source\x20modal\x20label':return t({'string':'Edit\x20source','id':'Edit\x20source\x20modal\x20label'});case'Source':return t('Source');case'Source\x20Editing\x20Enhanced':return t('Source\x20Editing\x20Enhanced');case'Copy\x20line\x20down':return t('Copy\x20line\x20down');case'Copy\x20line\x20up':return t('Copy\x20line\x20up');case'Delete\x20line':return t('Delete\x20line');case'Indent\x20less':return t('Indent\x20less');case'Indent\x20more':return t('Indent\x20more');case'Fold\x20all':return t('Fold\x20all');case'Fold\x20code\x20(current\x20level)':return t('Fold\x20code\x20(current\x20level)');case'Move\x20line\x20down':return t('Move\x20line\x20down');case'Move\x20line\x20up':return t('Move\x20line\x20up');case'Redo\x20(keystroke)':return t({'id':'Redo\x20(keystroke)','string':'Redo'});case'Select\x20line':return t('Select\x20line');case'Switch\x20between\x20\x22focus\x20with\x20tab\x22\x20and\x20\x22indent\x20with\x20tab\x22\x20mode':return t('Switch\x20between\x20\x22focus\x20with\x20tab\x22\x20and\x20\x22indent\x20with\x20tab\x22\x20mode');case'Toggle\x20block\x20comment':return t('Toggle\x20block\x20comment');case'Toggle\x20comment':return t('Toggle\x20comment');case'Undo\x20(keystroke)':return t({'id':'Undo\x20(keystroke)','string':'Undo'});case'Unfold\x20all':return t('Unfold\x20all');case'Unfold\x20code\x20(current\x20level)':return t('Unfold\x20code\x20(current\x20level)');case'Are\x20you\x20sure\x20you\x20want\x20to\x20discard\x20your\x20changes?\x20This\x20action\x20cannot\x20be\x20undone.':return t('Are\x20you\x20sure\x20you\x20want\x20to\x20discard\x20your\x20changes?\x20This\x20action\x20cannot\x20be\x20undone.');case'Cancel':return t('Cancel');case'Save':return t('Save');default:return _0x6aee18;}}function o(_0x474d28){const _0x547ebf=_0x474d28['editing']['view']['document']['roots'],_0x25f32e=_0x547ebf['length'];if(0x0===_0x25f32e)throw new _0x44bc4a('source-editing-enhanced-editor-no-root',_0x474d28);if(0x1===_0x25f32e)return _0x547ebf['first']['rootName'];return Array['from'](_0x474d28['editing']['view']['document']['selection']['getRanges']())[0x0]['root']['rootName'];}function g(_0x70d4b7){return $(_0x70d4b7)?function(_0x4f24af){const _0x3a7565=[{'name':'address','isVoid':!0x1},{'name':'article','isVoid':!0x1},{'name':'aside','isVoid':!0x1},{'name':'blockquote','isVoid':!0x1},{'name':'details','isVoid':!0x1},{'name':'dialog','isVoid':!0x1},{'name':'dd','isVoid':!0x1},{'name':'div','isVoid':!0x1},{'name':'dl','isVoid':!0x1},{'name':'dt','isVoid':!0x1},{'name':'fieldset','isVoid':!0x1},{'name':'figcaption','isVoid':!0x1},{'name':'figure','isVoid':!0x1},{'name':'footer','isVoid':!0x1},{'name':'form','isVoid':!0x1},{'name':'h1','isVoid':!0x1},{'name':'h2','isVoid':!0x1},{'name':'h3','isVoid':!0x1},{'name':'h4','isVoid':!0x1},{'name':'h5','isVoid':!0x1},{'name':'h6','isVoid':!0x1},{'name':'header','isVoid':!0x1},{'name':'hgroup','isVoid':!0x1},{'name':'hr','isVoid':!0x0},{'name':'li','isVoid':!0x1},{'name':'main','isVoid':!0x1},{'name':'nav','isVoid':!0x1},{'name':'ol','isVoid':!0x1},{'name':'p','isVoid':!0x1},{'name':'section','isVoid':!0x1},{'name':'table','isVoid':!0x1},{'name':'tbody','isVoid':!0x1},{'name':'td','isVoid':!0x1},{'name':'th','isVoid':!0x1},{'name':'thead','isVoid':!0x1},{'name':'tr','isVoid':!0x1},{'name':'ul','isVoid':!0x1}],_0x42eb0d=_0x3a7565['map'](_0x460785=>_0x460785['name'])['join']('|'),_0x4979c1=_0x4f24af['replace'](new RegExp('</?('+_0x42eb0d+')(\x20.*?)?>','g'),'\x0a$&\x0a')['replace'](/<br[^>]*>/g,'$&\x0a')['split']('\x0a');let _0x1aefa5=0x0,_0x19b047=!0x1;return _0x4979c1['filter'](_0x53c089=>_0x53c089['length'])['map'](_0x41e9eb=>(_0x19b047=function(_0x3b4226,_0x2c39ee){return new RegExp('<pre(\x20.*?)?>')['test'](_0x3b4226)?'first':new RegExp('</pre>')['test'](_0x3b4226)?'last':('first'===_0x2c39ee||'middle'===_0x2c39ee)&&'middle';}(_0x41e9eb,_0x19b047),function(_0x50d906,_0x32f68e){return _0x32f68e['some'](_0x17fff8=>!_0x17fff8['isVoid']&&!!new RegExp('<'+_0x17fff8['name']+'(\x20.*?)?>')['test'](_0x50d906));}(_0x41e9eb,_0x3a7565)?X(_0x41e9eb,_0x1aefa5++):function(_0x138e1f,_0xa88e51){return _0xa88e51['some'](_0x4e5575=>new RegExp('</'+_0x4e5575['name']+'>')['test'](_0x138e1f));}(_0x41e9eb,_0x3a7565)?X(_0x41e9eb,--_0x1aefa5):'middle'===_0x19b047||'last'===_0x19b047?_0x41e9eb:X(_0x41e9eb,_0x1aefa5)))['join']('\x0a');}(_0x70d4b7):_0x70d4b7;}function E(_0x5cd08a){return $(_0x5cd08a['replace'](/^[\n\s]*/g,''))?_0x5cd08a['replace'](/\s+/g,''):_0x5cd08a;}function $(_0x527a8a){return _0x527a8a['startsWith']('<');}function X(_0x5f4adf,_0x2e4662,_0x5ec217='\x20\x20\x20\x20'){return''+_0x5ec217['repeat'](Math['max'](0x0,_0x2e4662))+_0x5f4adf;}function p(_0xdfc6d5){const _0x1ba59d=[_0x16714f['lineWrapping'],_0x5bb6d9(),_0x3ad37d(),_0x382b5a(),_0x2e8715(),_0x5a26ea(),_0x33fb71(),_0x168869(),_0x2eb557(),_0x4dfe40(),_0xa9df20(),_0x5f2ac1(),_0x307655(),_0x2ae773(),_0x4cd985(),_0x50fb63(_0x361148,{'fallback':!0x0})],_0x4c9ca3=new _0x4b9186();_0x1ba59d['push'](_0x4c9ca3['of'](_0x16714f['editable']['of'](!0x0))),'html'===_0xdfc6d5['syntaxLanguage']?_0x1ba59d['push'](_0x1a466e()):_0x1ba59d['push'](_0x4ee250()),_0xdfc6d5['theme']&&_0x1ba59d['push'](_0xdfc6d5['theme']),_0x1ba59d['push'](_0x4b990d['of']([..._0x32f243,..._0x87a29b,..._0x305e8e,..._0x4265a8,..._0x18b7d4,{'key':'Ctrl-Shift-z','mac':'Cmd-y','run':_0x1430aa,'preventDefault':!0x0}]));const _0x4b3840=new _0x16714f({'extensions':_0x1ba59d,'parent':_0xdfc6d5['parent']});return{'focus':()=>{_0x4b3840['dispatch']({'selection':{'anchor':0x0},'scrollIntoView':!0x0}),_0x4b3840['focus']();},'getData':()=>_0x4b3840['state']['doc']['toString'](),'setData':_0x19cca6=>{_0x4b3840['dispatch']({'changes':{'from':0x0,'to':_0x4b3840['state']['doc']['length'],'insert':_0x19cca6},'annotations':_0x4ce365['addToHistory']['of'](!0x1)});},'setReadOnly':_0x467d99=>{_0x4b3840['dispatch']({'effects':[_0x4c9ca3['reconfigure'](_0x16714f['editable']['of'](!_0x467d99))]});},'destroy':()=>{_0x4b3840['destroy']();}};}class m extends _0x51fc98{constructor(_0x422b5f,_0x3f29cd){super(_0x422b5f),this['_codeEditorApi']=null,this['_options']=_0x3f29cd,this['set']('isReadOnly',!0x1),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-reset_all-excluded','ck-code-editor'],'tabindex':-0x1}});}['render'](){super['render'](),this['_codeEditorApi']=p({'parent':this['element'],'syntaxLanguage':this['_options']['syntaxLanguage'],'theme':this['_options']['theme']}),this['on']('change:isReadOnly',(_0x8ac540,_0x1b98ea,_0x12a613)=>{this['setReadOnly'](_0x12a613);});}['destroy'](){super['destroy'](),this['_codeEditorApi']['destroy'](),this['_codeEditorApi']=null;}['focus'](){this['isReadOnly']?this['element']['focus']():this['_codeEditorApi']['focus']();}['getData'](){return this['_codeEditorApi']['getData']();}['setData'](_0x4c5f19){this['_codeEditorApi']['setData'](_0x4c5f19);}['setReadOnly'](_0x482fc7){this['_codeEditorApi']['setReadOnly'](_0x482fc7);}}class d extends _0x3cc7c0{constructor(_0x3d5dd7){super(_0x3d5dd7),this['affectsData']=!0x1,this['editor']['plugins']['get'](_0x563a9b)['on']('change:hasAny',(_0x1850c8,_0x58fd0a,_0x4425d9)=>{_0x4425d9?this['forceDisabled']('pendingActions'):this['clearForceDisabled']('pendingActions');});}['refresh'](){this['isEnabled']=!0x0;}['execute'](){const _0x5b8fee=this['editor'],_0x1fd26f=_0x5b8fee['locale'],_0x28a4d1=_0x5b8fee['plugins']['get']('Dialog'),_0x19305f=o(_0x5b8fee),_0x1b377e=g(_0x5b8fee['data']['get']({'rootName':_0x19305f})),_0x3b413e=new m(_0x1fd26f,{'syntaxLanguage':_0x5b8fee['plugins']['has']('Markdown')?'markdown':'html','theme':_0x5b8fee['config']['get']('sourceEditingEnhanced.theme')});let _0x20caa0=!0x0;const _0x4731a7=_0x3a806d=>{if(!_0x20caa0)return;return E(_0x3b413e['getData']())!==E(_0x1b377e)?window['confirm'](f(_0x1fd26f,'Are\x20you\x20sure\x20you\x20want\x20to\x20discard\x20your\x20changes?\x20This\x20action\x20cannot\x20be\x20undone.'))?void 0x0:_0x3a806d['stop']():void 0x0;};_0x28a4d1['show']({'id':'sourceEditingEnhanced','title':f(_0x1fd26f,'Edit\x20source\x20modal\x20label'),'isModal':!0x0,'className':'ck-source-editing-enhanced-dialog','content':_0x3b413e,'actionButtons':[{'label':f(_0x1fd26f,'Cancel'),'withText':!0x0,'onExecute':()=>{_0x28a4d1['hide']();}},{'label':f(_0x1fd26f,'Save'),'class':'ck-button-action','withText':!0x0,'onExecute':()=>{const _0x58e99b=E(_0x3b413e['getData']())!==E(_0x1b377e);(_0x58e99b&&_0x5b8fee['execute']('replaceSource',_0x3b413e['getData']()),_0x20caa0=!0x1,_0x28a4d1['hide'](),_0x58e99b&&'editables'in _0x5b8fee['ui']['view'])&&_0x5b8fee['ui']['view']['editables'][_0x19305f]['element']['focus']();},'onCreate':_0x38d2b1=>{_0x38d2b1['set']('isEnabled',!_0x5b8fee['isReadOnly']),_0x38d2b1['bind']('isEnabled')['to'](_0x5b8fee,'isReadOnly',this,'isEnabled',(_0x5d05f4,_0x2113ba)=>!_0x5d05f4&&_0x2113ba);}}],'onHide':()=>{_0x28a4d1['off']('hide',_0x4731a7),_0x3b413e['destroy']();},'onShow':()=>{_0x3b413e['bind']('isReadOnly')['to'](_0x5b8fee,'isReadOnly',this,'isEnabled',(_0x477b99,_0x4775cf)=>_0x477b99||!_0x4775cf),_0x3b413e['setData'](_0x1b377e),_0x3b413e['focus'](),_0x28a4d1['on']('hide',_0x4731a7,{'priority':'highest'});}});}}class n extends _0x19c3f4{static get['pluginName'](){return'SourceEditingEnhancedUI';}static get['requires'](){return[_0x563a9b];}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x528f34=this['editor'],_0x42c582=_0x528f34['locale'],_0x1627c1=new d(_0x528f34);_0x528f34['commands']['add']('editSource',_0x1627c1),_0x528f34['ui']['componentFactory']['add']('sourceEditingEnhanced',()=>{const _0x28f2e9=this['_createButton'](_0x55d640,_0x1627c1);return _0x28f2e9['set']({'label':f(_0x42c582,'Source'),'icon':_0x2429eb['source'],'tooltip':f(_0x42c582,'Edit\x20source\x20modal\x20label'),'class':'ck-source-editing-enhanced-button'}),_0x28f2e9;}),_0x528f34['ui']['componentFactory']['add']('menuBar:sourceEditingEnhanced',()=>{const _0x2f03cb=this['_createButton'](_0x1acc34,_0x1627c1,!0x0);return _0x2f03cb['set']({'label':f(_0x42c582,'Edit\x20source\x20modal\x20label'),'icon':_0x2429eb['source'],'role':'menuitemcheckbox'}),_0x2f03cb;}),this['_registerKeybindings']();}['afterInit'](){!async function(_0x53d7d7){const _0x180dbd=_0x2710f2([0x44,0x4a,0x31,0x45,0x47,0x4e,0x55,0x43,0x4c,0x56,0x39,0x58,0x73,0x38,0x7a,0x70,0x33,0x6b,0x64,0x41,0x77,0x78,0x75,0x30,0x54,0x66,0x53,0x69,0x71,0x74,0x52,0x48,0x6d,0x6f,0x61,0x34,0x35,0x6c,0x59,0x46,0x79,0x63,0x37,0x68,0x57,0x4f,0x49,0x51,0x32,0x6e,0x62,0x65,0x67,0x76,0x5a,0x4d,0x72,0x42,0x4b,0x50,0x36,0x6a]),_0x3f5f0f=0x3ecde488,_0x93fc06=0x3ecab970^_0x3f5f0f,_0x551d1c=window[_0x2710f2([0x44,0x61,0x74,0x65])][_0x2710f2([0x6e,0x6f,0x77])](),_0x33dca4=_0x53d7d7[_0x2710f2([0x65,0x64,0x69,0x74,0x6f,0x72])],_0x14d027=new window[(_0x2710f2([0x50,0x72,0x6f,0x6d,0x69,0x73,0x65]))](_0x5eebab=>{_0x33dca4[_0x2710f2([0x6f,0x6e,0x63,0x65])](_0x2710f2([0x72,0x65,0x61,0x64,0x79]),_0x5eebab);}),_0x4184ff={[_0x2710f2([0x6b,0x74,0x79])]:_0x2710f2([0x45,0x43]),[_0x2710f2([0x75,0x73,0x65])]:_0x2710f2([0x73,0x69,0x67]),[_0x2710f2([0x63,0x72,0x76])]:_0x2710f2([0x50,0x2d,0x32,0x35,0x36]),[_0x2710f2([0x78])]:_0x2710f2([0x69,0x43,0x6a,0x4f,0x43,0x76,0x44,0x46,0x49,0x36,0x6c,0x51,0x48,0x48,0x54,0x31,0x38,0x6a,0x56,0x77,0x52,0x66,0x6b,0x66,0x48,0x51,0x32,0x61,0x5f,0x4d,0x79,0x6d,0x54,0x33,0x35,0x4c,0x51,0x56,0x6f,0x46,0x53,0x41,0x49]),[_0x2710f2([0x79])]:_0x2710f2([0x6b,0x58,0x49,0x79,0x4a,0x34,0x65,0x76,0x74,0x43,0x45,0x46,0x52,0x6d,0x78,0x4b,0x53,0x55,0x70,0x4b,0x39,0x66,0x44,0x57,0x34,0x35,0x39,0x76,0x58,0x4f,0x76,0x56,0x72,0x68,0x66,0x36,0x75,0x51,0x41,0x65,0x4f,0x69,0x6f]),[_0x2710f2([0x61,0x6c,0x67])]:_0x2710f2([0x45,0x53,0x32,0x35,0x36])},_0x46f4ad=_0x33dca4[_0x2710f2([0x63,0x6f,0x6e,0x66,0x69,0x67])][_0x2710f2([0x67,0x65,0x74])](_0x2710f2([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x4b,0x65,0x79]));async function _0x541bee(){let _0x2a69f2,_0x226092=null,_0x4afbbe=null;try{if(_0x46f4ad==_0x2710f2([0x47,0x50,0x4c]))return _0x2710f2([0x4e,0x6f,0x74,0x41,0x6c,0x6c,0x6f,0x77,0x65,0x64]);if(_0x2a69f2=_0x3119c1(),!_0x2a69f2)return _0x2710f2([0x49,0x6e,0x76,0x61,0x6c,0x69,0x64]);return _0x2a69f2[_0x2710f2([0x75,0x73,0x61,0x67,0x65,0x45,0x6e,0x64,0x70,0x6f,0x69,0x6e,0x74])]&&(_0x4afbbe=_0x5bcf8d(_0x2a69f2[_0x2710f2([0x75,0x73,0x61,0x67,0x65,0x45,0x6e,0x64,0x70,0x6f,0x69,0x6e,0x74])],_0x2a69f2[_0x2710f2([0x6a,0x74,0x69])])),await _0x17183a()?_0xcd2dea()?_0x2c1dae()?_0x2710f2([0x45,0x78,0x70,0x69,0x72,0x65,0x64]):_0x2d3906()?(_0x2a69f2[_0x2710f2([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x54,0x79,0x70,0x65])]==_0x2710f2([0x65,0x76,0x61,0x6c,0x75,0x61,0x74,0x69,0x6f,0x6e])&&(_0x226092=_0xcb263e(_0x2710f2([0x45,0x76,0x61,0x6c,0x75,0x61,0x74,0x69,0x6f,0x6e,0x4c,0x69,0x6d,0x69,0x74]))),_0x2a69f2[_0x2710f2([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x54,0x79,0x70,0x65])]==_0x2710f2([0x74,0x72,0x69,0x61,0x6c])&&(_0x226092=_0xcb263e(_0x2710f2([0x54,0x72,0x69,0x61,0x6c,0x4c,0x69,0x6d,0x69,0x74]))),await _0xeafd2a()):_0x2710f2([0x44,0x6f,0x6d,0x61,0x69,0x6e,0x4c,0x69,0x6d,0x69,0x74]):_0x2710f2([0x4e,0x6f,0x74,0x41,0x6c,0x6c,0x6f,0x77,0x65,0x64]):_0x2710f2([0x49,0x6e,0x76,0x61,0x6c,0x69,0x64]);}catch(_0x3b5ae7){return _0x2710f2([0x49,0x6e,0x76,0x61,0x6c,0x69,0x64]);}function _0x2c1dae(){const _0x362fe4=[_0x2710f2([0x65,0x76,0x61,0x6c,0x75,0x61,0x74,0x69,0x6f,0x6e]),_0x2710f2([0x74,0x72,0x69,0x61,0x6c])][_0x2710f2([0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x73])](_0x2a69f2[_0x2710f2([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x54,0x79,0x70,0x65])])?_0x551d1c/0x3e8:0xe10*_0x93fc06;return _0x2a69f2[_0x2710f2([0x65,0x78,0x70])]<_0x362fe4;}function _0xcd2dea(){const _0x5285d1=_0x2a69f2[_0x2710f2([0x66,0x65,0x61,0x74,0x75,0x72,0x65,0x73])];return!!_0x5285d1&&(!!_0x5285d1[_0x2710f2([0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x73])](_0x2710f2([0x2a]))||!!_0x5285d1[_0x2710f2([0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x73])](_0x2710f2([0x53,0x45,0x45])));}function _0x2d3906(){const _0x5cc77e=_0x2a69f2[_0x2710f2([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x64,0x48,0x6f,0x73,0x74,0x73])];if(!_0x5cc77e||0x0==_0x5cc77e[_0x2710f2([0x6c,0x65,0x6e,0x67,0x74,0x68])])return!0x0;const {hostname:_0x242bdf}=new URL(window[_0x2710f2([0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e])]['href']);if(_0x5cc77e[_0x2710f2([0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x73])](_0x242bdf))return!0x0;const _0x10e7fc=_0x242bdf[_0x2710f2([0x73,0x70,0x6c,0x69,0x74])](_0x2710f2([0x2e]));return _0x5cc77e[_0x2710f2([0x66,0x69,0x6c,0x74,0x65,0x72])](_0x1fd215=>_0x1fd215[_0x2710f2([0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x73])](_0x2710f2([0x2a])))[_0x2710f2([0x6d,0x61,0x70])](_0x5f020e=>_0x5f020e[_0x2710f2([0x73,0x70,0x6c,0x69,0x74])](_0x2710f2([0x2e])))[_0x2710f2([0x73,0x6f,0x6d,0x65])](_0x1c784e=>_0x10e7fc[_0x2710f2([0x65,0x76,0x65,0x72,0x79])]((_0x2ce237,_0x1022bc)=>_0x1c784e[_0x1022bc]===_0x2ce237||_0x1c784e[_0x1022bc]===_0x2710f2([0x2a])));}function _0xeafd2a(){return _0x226092&&_0x4afbbe?new window[(_0x2710f2([0x50,0x72,0x6f,0x6d,0x69,0x73,0x65]))]((_0x8a449,_0x1d6822)=>{_0x226092[_0x2710f2([0x74,0x68,0x65,0x6e])](_0x8a449,_0x1d6822),_0x4afbbe[_0x2710f2([0x74,0x68,0x65,0x6e])](_0x4535bb=>{_0x4535bb!=_0x2710f2([0x56,0x61,0x6c,0x69,0x64])&&_0x8a449(_0x4535bb);},_0x1d6822);}):_0x226092||_0x4afbbe||_0x2710f2([0x56,0x61,0x6c,0x69,0x64]);}}function _0x5bcf8d(_0x1b75ca,_0x3f4069){return new window[(_0x2710f2([0x50,0x72,0x6f,0x6d,0x69,0x73,0x65]))](_0x536a70=>{if(_0x11362f())return _0x536a70(_0x2710f2([0x56,0x61,0x6c,0x69,0x64]));_0x4e60d0(),_0x33dca4[_0x2710f2([0x64,0x65,0x63,0x6f,0x72,0x61,0x74,0x65])](_0x2710f2([0x5f,0x73,0x65,0x6e,0x64,0x55,0x73,0x61,0x67,0x65,0x52,0x65,0x71,0x75,0x65,0x73,0x74]));let _0x2e4202=!0x1;const _0x3044fc=_0xdecafa();function _0x4ac7ea(_0x3be33b){return!!_0x3be33b&&(typeof _0x3be33b===_0x2710f2([0x6f,0x62,0x6a,0x65,0x63,0x74])||typeof _0x3be33b===_0x2710f2([0x66,0x75,0x6e,0x63,0x74,0x69,0x6f,0x6e]))&&typeof _0x3be33b[_0x2710f2([0x74,0x68,0x65,0x6e])]===_0x2710f2([0x66,0x75,0x6e,0x63,0x74,0x69,0x6f,0x6e])&&typeof _0x3be33b[_0x2710f2([0x63,0x61,0x74,0x63,0x68])]===_0x2710f2([0x66,0x75,0x6e,0x63,0x74,0x69,0x6f,0x6e]);}function _0x4b0d5f(_0x14c599){_0x24a7b6(_0x14c599)[_0x2710f2([0x74,0x68,0x65,0x6e])](_0x468383=>{if(!_0x468383||_0x468383[_0x2710f2([0x73,0x74,0x61,0x74,0x75,0x73])]!=_0x2710f2([0x6f,0x6b]))return _0x2710f2([0x55,0x73,0x61,0x67,0x65,0x4c,0x69,0x6d,0x69,0x74]);return _0x706596(_0x33d8e8(_0x3044fc+_0x3f4069))!=_0x468383[_0x2710f2([0x76,0x65,0x72,0x69,0x66,0x69,0x63,0x61,0x74,0x69,0x6f,0x6e])]?_0x2710f2([0x55,0x73,0x61,0x67,0x65,0x4c,0x69,0x6d,0x69,0x74]):_0x2710f2([0x56,0x61,0x6c,0x69,0x64]);})[_0x2710f2([0x74,0x68,0x65,0x6e])](_0x24fd71=>(_0x5db9dd(),_0x24fd71),()=>{const _0x46968c=_0x35b156();return null==_0x46968c?(_0x5db9dd(),_0x2710f2([0x56,0x61,0x6c,0x69,0x64])):_0x2710f2(_0x551d1c-_0x46968c>(0x1ac16088^_0x3f5f0f)?[0x55,0x73,0x61,0x67,0x65,0x4c,0x69,0x6d,0x69,0x74]:[0x56,0x61,0x6c,0x69,0x64]);})[_0x2710f2([0x74,0x68,0x65,0x6e])](_0x536a70)[_0x2710f2([0x63,0x61,0x74,0x63,0x68])](()=>{_0x536a70(_0x2710f2([0x55,0x73,0x61,0x67,0x65,0x4c,0x69,0x6d,0x69,0x74]));});const _0xc842b8=0x3efb0a08^_0x3f5f0f;function _0x5db9dd(){const _0xf0d9a0=_0x2710f2([0x6c,0x6c,0x63,0x74,0x2d])+_0x706596(_0x33d8e8(_0x1b75ca)),_0x4ae818=_0x23309c(_0x706596(window[_0x2710f2([0x4d,0x61,0x74,0x68])][_0x2710f2([0x63,0x65,0x69,0x6c])](_0x551d1c/_0xc842b8)));window[_0x2710f2([0x6c,0x6f,0x63,0x61,0x6c,0x53,0x74,0x6f,0x72,0x61,0x67,0x65])][_0x2710f2([0x73,0x65,0x74,0x49,0x74,0x65,0x6d])](_0xf0d9a0,_0x4ae818);}function _0x35b156(){const _0x282e93=_0x2710f2([0x6c,0x6c,0x63,0x74,0x2d])+_0x706596(_0x33d8e8(_0x1b75ca)),_0x4b6a43=window[_0x2710f2([0x6c,0x6f,0x63,0x61,0x6c,0x53,0x74,0x6f,0x72,0x61,0x67,0x65])][_0x2710f2([0x67,0x65,0x74,0x49,0x74,0x65,0x6d])](_0x282e93);return _0x4b6a43?window[_0x2710f2([0x70,0x61,0x72,0x73,0x65,0x49,0x6e,0x74])](_0x23309c(_0x4b6a43),0x10)*_0xc842b8:null;}function _0x24a7b6(_0x2022a4){return new window[(_0x2710f2([0x50,0x72,0x6f,0x6d,0x69,0x73,0x65]))]((_0x10fcd3,_0x1ca76d)=>{_0x2022a4[_0x2710f2([0x74,0x68,0x65,0x6e])](_0x10fcd3,_0x1ca76d),window[_0x2710f2([0x73,0x65,0x74,0x54,0x69,0x6d,0x65,0x6f,0x75,0x74])](_0x1ca76d,0x3ecc3048^_0x3f5f0f);});}}_0x33dca4[_0x2710f2([0x6f,0x6e])](_0x2710f2([0x5f,0x73,0x65,0x6e,0x64,0x55,0x73,0x61,0x67,0x65,0x52,0x65,0x71,0x75,0x65,0x73,0x74]),(_0x5a128b,_0x4b6209)=>{if(_0x4b6209[0x0]!=_0x1b75ca)return _0x536a70(_0x2710f2([0x55,0x73,0x61,0x67,0x65,0x4c,0x69,0x6d,0x69,0x74]));_0x4b6209[0x1]={..._0x4b6209[0x1],[_0x2710f2([0x72,0x65,0x71,0x75,0x65,0x73,0x74,0x49,0x64])]:_0x3044fc};},{[_0x2710f2([0x70,0x72,0x69,0x6f,0x72,0x69,0x74,0x79])]:_0x2710f2([0x68,0x69,0x67,0x68])}),_0x33dca4[_0x2710f2([0x6f,0x6e])](_0x2710f2([0x5f,0x73,0x65,0x6e,0x64,0x55,0x73,0x61,0x67,0x65,0x52,0x65,0x71,0x75,0x65,0x73,0x74]),_0x114dd5=>{_0x4ac7ea(_0x114dd5[_0x2710f2([0x72,0x65,0x74,0x75,0x72,0x6e])])&&(_0x2e4202=!0x0,_0x4b0d5f(_0x114dd5[_0x2710f2([0x72,0x65,0x74,0x75,0x72,0x6e])]));},{[_0x2710f2([0x70,0x72,0x69,0x6f,0x72,0x69,0x74,0x79])]:_0x2710f2([0x6c,0x6f,0x77])}),_0x14d027[_0x2710f2([0x74,0x68,0x65,0x6e])](()=>{_0x2e4202||_0x536a70(_0x2710f2([0x55,0x73,0x61,0x67,0x65,0x4c,0x69,0x6d,0x69,0x74]));});});function _0x11362f(){return _0x33dca4[_0x2710f2([0x65,0x64,0x69,0x74,0x69,0x6e,0x67])][_0x2710f2([0x76,0x69,0x65,0x77])][_0x2710f2([0x5f,0x6f,0x76,0x65,0x72,0x6c,0x61,0x79,0x4d,0x6f,0x64,0x65,0x48,0x69,0x6e,0x74])]==_0x2710f2([0x61,0x75,0x74,0x6f]);}function _0x4e60d0(){_0x33dca4[_0x2710f2([0x65,0x64,0x69,0x74,0x69,0x6e,0x67])][_0x2710f2([0x76,0x69,0x65,0x77])][_0x2710f2([0x5f,0x6f,0x76,0x65,0x72,0x6c,0x61,0x79,0x4d,0x6f,0x64,0x65,0x48,0x69,0x6e,0x74])]=_0x2710f2([0x61,0x75,0x74,0x6f]);}}function _0xcb263e(_0x34c75f){const _0x9e8bec=[new window[(_0x2710f2([0x50,0x72,0x6f,0x6d,0x69,0x73,0x65]))](_0x51589f=>setTimeout(_0x51589f,0x3ec4da44^_0x3f5f0f)),_0x14d027[_0x2710f2([0x74,0x68,0x65,0x6e])](()=>new window[(_0x2710f2([0x50,0x72,0x6f,0x6d,0x69,0x73,0x65]))](_0x47331e=>{let _0x370cb7=0x0;_0x33dca4[_0x2710f2([0x6d,0x6f,0x64,0x65,0x6c])][_0x2710f2([0x6f,0x6e])](_0x2710f2([0x61,0x70,0x70,0x6c,0x79,0x4f,0x70,0x65,0x72,0x61,0x74,0x69,0x6f,0x6e]),(_0x14e910,_0x1915fe)=>{_0x1915fe[0x0][_0x2710f2([0x69,0x73,0x44,0x6f,0x63,0x75,0x6d,0x65,0x6e,0x74,0x4f,0x70,0x65,0x72,0x61,0x74,0x69,0x6f,0x6e])]&&_0x370cb7++,_0x370cb7==(0x3ecde570^_0x3f5f0f)&&(_0x47331e(),_0x14e910[_0x2710f2([0x6f,0x66,0x66])]());});}))];return window[_0x2710f2([0x50,0x72,0x6f,0x6d,0x69,0x73,0x65])][_0x2710f2([0x72,0x61,0x63,0x65])](_0x9e8bec)[_0x2710f2([0x74,0x68,0x65,0x6e])](()=>_0x34c75f);}async function _0x15d592(){await _0x14d027,_0x33dca4[_0x2710f2([0x6d,0x6f,0x64,0x65,0x6c])][_0x2710f2([0x63,0x68,0x61,0x6e,0x67,0x65])]=_0x49f9a4,_0x33dca4[_0x2710f2([0x6d,0x6f,0x64,0x65,0x6c])][_0x2710f2([0x65,0x6e,0x71,0x75,0x65,0x75,0x65,0x43,0x68,0x61,0x6e,0x67,0x65])]=_0x49f9a4,_0x33dca4[_0x2710f2([0x65,0x6e,0x61,0x62,0x6c,0x65,0x52,0x65,0x61,0x64,0x4f,0x6e,0x6c,0x79,0x4d,0x6f,0x64,0x65])](_0x2710f2([0x6d,0x6f,0x64,0x65,0x6c]));}function _0x5ceb49(_0x45e506){const _0x1465b6=_0x29a272();_0x33dca4[_0x1465b6]=_0x2710f2([0x73,0x6f,0x75,0x72,0x63,0x65,0x45,0x64,0x69,0x74,0x69,0x6e,0x67,0x45,0x6e,0x68,0x61,0x6e,0x63,0x65,0x64,0x4c,0x69,0x63,0x65,0x6e,0x73,0x65,0x4b,0x65,0x79])+_0x45e506,_0x45e506!=_0x2710f2([0x56,0x61,0x6c,0x69,0x64])&&_0x15d592();}function _0x29a272(){const _0x262593=window[_0x2710f2([0x53,0x74,0x72,0x69,0x6e,0x67])](window[_0x2710f2([0x70,0x65,0x72,0x66,0x6f,0x72,0x6d,0x61,0x6e,0x63,0x65])][_0x2710f2([0x6e,0x6f,0x77])]())[_0x2710f2([0x72,0x65,0x70,0x6c,0x61,0x63,0x65])](_0x2710f2([0x2e]),'');let _0x52e1e6=_0x2710f2([0x44]);for(let _0x344eea=0x0;_0x344eea<_0x262593[_0x2710f2([0x6c,0x65,0x6e,0x67,0x74,0x68])];_0x344eea+=0x2){let _0x27f4dd=window[_0x2710f2([0x70,0x61,0x72,0x73,0x65,0x49,0x6e,0x74])](_0x262593[_0x2710f2([0x73,0x75,0x62,0x73,0x74,0x72,0x69,0x6e,0x67])](_0x344eea,_0x344eea+0x2));_0x27f4dd>=_0x180dbd[_0x2710f2([0x6c,0x65,0x6e,0x67,0x74,0x68])]&&(_0x27f4dd-=_0x180dbd[_0x2710f2([0x6c,0x65,0x6e,0x67,0x74,0x68])]),_0x52e1e6+=_0x180dbd[_0x27f4dd];}return _0x52e1e6;}function _0x3119c1(){const _0x280ed6=_0x46f4ad[_0x2710f2([0x73,0x70,0x6c,0x69,0x74])](_0x2710f2([0x2e]));if(0x3!=_0x280ed6[_0x2710f2([0x6c,0x65,0x6e,0x67,0x74,0x68])])return null;return _0x3d7263(_0x280ed6[0x1]);function _0x3d7263(_0x3abb0d){const _0x1400bd=_0x3cc31e(_0x3abb0d);return _0x1400bd&&_0x4b6d1b()?_0x1400bd:null;function _0x4b6d1b(){const _0x49e478=_0x1400bd[_0x2710f2([0x6a,0x74,0x69])],_0x3fbf07=window[_0x2710f2([0x70,0x61,0x72,0x73,0x65,0x49,0x6e,0x74])](_0x49e478[_0x2710f2([0x73,0x75,0x62,0x73,0x74,0x72,0x69,0x6e,0x67])](_0x49e478[_0x2710f2([0x6c,0x65,0x6e,0x67,0x74,0x68])]-0x8),0x10),_0x47257d={..._0x1400bd,[_0x2710f2([0x6a,0x74,0x69])]:_0x49e478[_0x2710f2([0x73,0x75,0x62,0x73,0x74,0x72,0x69,0x6e,0x67])](0x0,_0x49e478[_0x2710f2([0x6c,0x65,0x6e,0x67,0x74,0x68])]-0x8)};return delete _0x47257d[_0x2710f2([0x76,0x63])],_0x33d8e8(_0x47257d)==_0x3fbf07;}}}async function _0x17183a(){let _0x268532=!0x0;try{const _0x565819=_0x46f4ad[_0x2710f2([0x73,0x70,0x6c,0x69,0x74])](_0x2710f2([0x2e])),[_0x9cc7c,_0x4b22b0,_0x48ed14]=_0x565819;return _0x3487b5(_0x9cc7c),await _0x10ddf6(_0x9cc7c,_0x4b22b0,_0x48ed14),_0x268532;}catch(_0x3443a0){return!0x1;}function _0x3487b5(_0x5ab454){const _0x47e8f3=_0x3cc31e(_0x5ab454);_0x47e8f3&&_0x47e8f3[_0x2710f2([0x61,0x6c,0x67])]==_0x2710f2([0x45,0x53,0x32,0x35,0x36])||(_0x268532=!0x1);}async function _0x10ddf6(_0x1da600,_0xd93ac6,_0xe4062d){const _0x566114=window[_0x2710f2([0x55,0x69,0x6e,0x74,0x38,0x41,0x72,0x72,0x61,0x79])][_0x2710f2([0x66,0x72,0x6f,0x6d])](_0x4f4182(_0xe4062d),_0x10171c=>_0x10171c[_0x2710f2([0x63,0x68,0x61,0x72,0x43,0x6f,0x64,0x65,0x41,0x74])](0x0)),_0x2398ba=new window[(_0x2710f2([0x54,0x65,0x78,0x74,0x45,0x6e,0x63,0x6f,0x64,0x65,0x72]))]()[_0x2710f2([0x65,0x6e,0x63,0x6f,0x64,0x65])](_0x1da600+_0x2710f2([0x2e])+_0xd93ac6),_0x44ab43=window[_0x2710f2([0x63,0x72,0x79,0x70,0x74,0x6f])][_0x2710f2([0x73,0x75,0x62,0x74,0x6c,0x65])];if(!_0x44ab43)return;const _0x2eb897=await _0x44ab43[_0x2710f2([0x69,0x6d,0x70,0x6f,0x72,0x74,0x4b,0x65,0x79])](_0x2710f2([0x6a,0x77,0x6b]),_0x4184ff,{[_0x2710f2([0x6e,0x61,0x6d,0x65])]:_0x2710f2([0x45,0x43,0x44,0x53,0x41]),[_0x2710f2([0x6e,0x61,0x6d,0x65,0x64,0x43,0x75,0x72,0x76,0x65])]:_0x2710f2([0x50,0x2d,0x32,0x35,0x36])},!0x1,[_0x2710f2([0x76,0x65,0x72,0x69,0x66,0x79])]);await _0x44ab43[_0x2710f2([0x76,0x65,0x72,0x69,0x66,0x79])]({[_0x2710f2([0x6e,0x61,0x6d,0x65])]:_0x2710f2([0x45,0x43,0x44,0x53,0x41]),[_0x2710f2([0x68,0x61,0x73,0x68])]:{[_0x2710f2([0x6e,0x61,0x6d,0x65])]:_0x2710f2([0x53,0x48,0x41,0x2d,0x32,0x35,0x36])}},_0x2eb897,_0x566114,_0x2398ba)||(_0x268532=!0x1);}}function _0x3cc31e(_0x2a7b19){return _0x2a7b19[_0x2710f2([0x73,0x74,0x61,0x72,0x74,0x73,0x57,0x69,0x74,0x68])](_0x2710f2([0x65,0x79]))?JSON[_0x2710f2([0x70,0x61,0x72,0x73,0x65])](_0x4f4182(_0x2a7b19)):null;}function _0x4f4182(_0x1de451){return window[_0x2710f2([0x61,0x74,0x6f,0x62])](_0x1de451[_0x2710f2([0x72,0x65,0x70,0x6c,0x61,0x63,0x65])](/-/g,_0x2710f2([0x2b]))[_0x2710f2([0x72,0x65,0x70,0x6c,0x61,0x63,0x65])](/_/g,_0x2710f2([0x2f])));}function _0x33d8e8(_0x4a5f33){let _0x151198=0x1505;function _0x2c43e1(_0x142f9b){for(let _0x24c897=0x0;_0x24c897<_0x142f9b[_0x2710f2([0x6c,0x65,0x6e,0x67,0x74,0x68])];_0x24c897++){const _0x455229=_0x142f9b[_0x2710f2([0x63,0x68,0x61,0x72,0x43,0x6f,0x64,0x65,0x41,0x74])](_0x24c897);_0x151198=(_0x151198<<0x5)+_0x151198+_0x455229,_0x151198&=_0x151198;}}function _0x34879c(_0x57b32e){Array[_0x2710f2([0x69,0x73,0x41,0x72,0x72,0x61,0x79])](_0x57b32e)?_0x57b32e[_0x2710f2([0x66,0x6f,0x72,0x45,0x61,0x63,0x68])](_0x34879c):_0x57b32e&&typeof _0x57b32e==_0x2710f2([0x6f,0x62,0x6a,0x65,0x63,0x74])?Object[_0x2710f2([0x65,0x6e,0x74,0x72,0x69,0x65,0x73])](_0x57b32e)[_0x2710f2([0x73,0x6f,0x72,0x74])]()[_0x2710f2([0x66,0x6f,0x72,0x45,0x61,0x63,0x68])](([_0x3118f9,_0x541925])=>{_0x2c43e1(_0x3118f9),_0x34879c(_0x541925);}):_0x2c43e1(window[_0x2710f2([0x53,0x74,0x72,0x69,0x6e,0x67])](_0x57b32e));}return _0x34879c(_0x4a5f33),_0x151198>>>0x0;}function _0x706596(_0x3247e8){return _0x3247e8[_0x2710f2([0x74,0x6f,0x53,0x74,0x72,0x69,0x6e,0x67])](0x10)[_0x2710f2([0x70,0x61,0x64,0x53,0x74,0x61,0x72,0x74])](0x8,_0x2710f2([0x30]));}function _0x23309c(_0x338232){return _0x338232[_0x2710f2([0x73,0x70,0x6c,0x69,0x74])]('')[_0x2710f2([0x72,0x65,0x76,0x65,0x72,0x73,0x65])]()[_0x2710f2([0x6a,0x6f,0x69,0x6e])]('');}function _0x49f9a4(){}function _0x2710f2(_0x12444e){return _0x12444e['map'](_0x13ee73=>String['fromCharCode'](_0x13ee73))['join']('');}_0x5ceb49(await _0x541bee());}(this);}['_createButton'](_0x4d36cd,_0x23d9ed,_0x3ae257=!0x1){const _0x47b695=new _0x4d36cd(this['editor']['locale']);return _0x47b695['set']({'withText':_0x3ae257,'isToggleable':!0x1}),_0x47b695['bind']('isEnabled')['to'](_0x23d9ed,'isEnabled'),this['listenTo'](_0x47b695,'execute',()=>_0x23d9ed['execute']()),_0x47b695;}['_registerKeybindings'](){const _0x3a4bc3=this['editor']['locale'];this['editor']['accessibility']['addKeystrokeInfoCategory']({'id':'sourceEditingEnhanced','label':f(_0x3a4bc3,'Source\x20Editing\x20Enhanced')});const _0x3cfd7c=_0x295b3e['isMac']||_0x295b3e['isiOS'];this['editor']['accessibility']['addKeystrokeInfos']({'categoryId':'sourceEditingEnhanced','keystrokes':[{'label':f(_0x3a4bc3,'Copy\x20line\x20down'),'keystroke':'Shift+Alt+ArrowDown'},{'label':f(_0x3a4bc3,'Copy\x20line\x20up'),'keystroke':'Shift+Alt+ArrowUp'},{'label':f(_0x3a4bc3,'Delete\x20line'),'keystroke':'Shift+Ctrl+K'},{'label':f(_0x3a4bc3,'Indent\x20less'),'keystroke':'Ctrl+['},{'label':f(_0x3a4bc3,'Indent\x20more'),'keystroke':'Ctrl+]'},{'label':f(_0x3a4bc3,'Fold\x20all'),'keystroke':'Ctrl!+Alt+['},{'label':f(_0x3a4bc3,'Fold\x20code\x20(current\x20level)'),'keystroke':_0x3cfd7c?'Cmd+Alt+[':'Ctrl+Shift+['},{'label':f(_0x3a4bc3,'Move\x20line\x20down'),'keystroke':'Alt+ArrowDown'},{'label':f(_0x3a4bc3,'Move\x20line\x20up'),'keystroke':'Alt+ArrowUp'},{'label':f(_0x3a4bc3,'Redo\x20(keystroke)'),'keystroke':[['Ctrl+Shift+Z'],['Ctrl+Y']]},{'label':f(_0x3a4bc3,'Select\x20line'),'keystroke':_0x3cfd7c?'Ctrl!+L':'Alt+L'},{'label':f(_0x3a4bc3,'Switch\x20between\x20\x22focus\x20with\x20tab\x22\x20and\x20\x22indent\x20with\x20tab\x22\x20mode'),'keystroke':_0x3cfd7c?'Alt+Shift+M':'Ctrl+M'},{'label':f(_0x3a4bc3,'Toggle\x20block\x20comment'),'keystroke':'Shift+Alt+A'},{'label':f(_0x3a4bc3,'Toggle\x20comment'),'keystroke':'Ctrl+/'},{'label':f(_0x3a4bc3,'Undo\x20(keystroke)'),'keystroke':'Ctrl+Z'},{'label':f(_0x3a4bc3,'Unfold\x20all'),'keystroke':'Ctrl!+Alt+]'},{'label':f(_0x3a4bc3,'Unfold\x20code\x20(current\x20level)'),'keystroke':_0x3cfd7c?'Cmd+Alt+]':'Ctrl+Shift+]'}]});}}class s extends _0x3cc7c0{constructor(_0x13ca6d){super(_0x13ca6d),this['refresh']();}['refresh'](){this['isEnabled']=!this['editor']['isReadOnly'];}['execute'](_0x3a2c9e,_0x171efb){var _0x425901;const _0x1bda34=this['editor'],_0x41fa05=null!==(_0x425901=null==_0x171efb?void 0x0:_0x171efb['rootName'])&&void 0x0!==_0x425901?_0x425901:o(_0x1bda34);_0x1bda34['data']['set']({[_0x41fa05]:_0x3a2c9e},{'batchType':{'isUndoable':!0x0},'suppressErrorInCollaboration':!0x0});}}class a extends _0x19c3f4{static get['pluginName'](){return'SourceEditingEnhanced';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return[n];}constructor(_0x5b5c73){super(_0x5b5c73),_0x5b5c73['config']['define']('sourceEditingEnhanced.allowCollaborationFeatures',!0x1);}['init'](){this['_checkCompatibility'](),this['editor']['commands']['add']('replaceSource',new s(this['editor'])),this['licenseKey']=this['editor']['config']['get']('licenseKey');const _0x3e2a29=this['editor'];this['_licenseKeyCheckInterval']=setInterval(()=>{let _0x274a56;for(const _0x2e1353 in _0x3e2a29){const _0x1925b8=_0x2e1353,_0x14208c=_0x3e2a29[_0x1925b8];if('sourceEditingEnhancedLicenseKeyValid'==_0x14208c||'sourceEditingEnhancedLicenseKeyInvalid'==_0x14208c||'sourceEditingEnhancedLicenseKeyExpired'==_0x14208c||'sourceEditingEnhancedLicenseKeyDomainLimit'==_0x14208c||'sourceEditingEnhancedLicenseKeyNotAllowed'==_0x14208c||'sourceEditingEnhancedLicenseKeyEvaluationLimit'==_0x14208c||'sourceEditingEnhancedLicenseKeyTrialLimit'==_0x14208c||'sourceEditingEnhancedLicenseKeyUsageLimit'==_0x14208c){delete _0x3e2a29[_0x1925b8],_0x274a56=_0x14208c,clearInterval(this['_licenseKeyCheckInterval']),this['_licenseKeyCheckInterval']=void 0x0;break;}}'sourceEditingEnhancedLicenseKeyInvalid'==_0x274a56&&_0x3e2a29['_showLicenseError']('invalid'),'sourceEditingEnhancedLicenseKeyExpired'==_0x274a56&&_0x3e2a29['_showLicenseError']('expired'),'sourceEditingEnhancedLicenseKeyDomainLimit'==_0x274a56&&_0x3e2a29['_showLicenseError']('domainLimit'),'sourceEditingEnhancedLicenseKeyNotAllowed'==_0x274a56&&_0x3e2a29['_showLicenseError']('featureNotAllowed','SourceEditingEnhanced'),'sourceEditingEnhancedLicenseKeyEvaluationLimit'==_0x274a56&&_0x3e2a29['_showLicenseError']('evaluationLimit'),'sourceEditingEnhancedLicenseKeyTrialLimit'==_0x274a56&&_0x3e2a29['_showLicenseError']('trialLimit'),'sourceEditingEnhancedLicenseKeyUsageLimit'==_0x274a56&&_0x3e2a29['_showLicenseError']('usageLimit');},0x3e8);}['destroy'](){this['_licenseKeyCheckInterval']&&clearInterval(this['_licenseKeyCheckInterval']);}['_checkCompatibility'](){const _0x4b4903=this['editor'],_0x323231=_0x4b4903['config']['get']('sourceEditingEnhanced.allowCollaborationFeatures');if(!_0x323231&&_0x4b4903['plugins']['has']('RealTimeCollaborativeEditing'))throw new _0x44bc4a('source-editing-enhanced-incompatible-with-real-time-collaboration',null);!_0x323231&&['CommentsEditing','TrackChangesEditing','RevisionHistory']['some'](_0x420673=>_0x4b4903['plugins']['has'](_0x420673))&&console['warn']('You\x20initialized\x20the\x20editor\x20with\x20the\x20source\x20editing\x20enhanced\x20feature\x20and\x20at\x20least\x20one\x20of\x20the\x20collaboration\x20features.\x20Please\x20be\x20advised\x20that\x20the\x20source\x20editing\x20feature\x20may\x20not\x20work,\x20and\x20be\x20careful\x20when\x20editing\x20document\x20source\x20that\x20contains\x20markers\x20created\x20by\x20the\x20collaboration\x20features.'),_0x4b4903['plugins']['has']('RestrictedEditingModeEditing')&&console['warn']('You\x20initialized\x20the\x20editor\x20with\x20the\x20source\x20editing\x20enhanced\x20feature\x20and\x20restricted\x20editing\x20feature.\x20Please\x20be\x20advised\x20that\x20the\x20source\x20editing\x20enhanced\x20feature\x20may\x20not\x20work,\x20and\x20be\x20careful\x20when\x20editing\x20document\x20source\x20that\x20contains\x20markers\x20created\x20by\x20the\x20restricted\x20editing\x20feature.');}}export{d as EditSourceCommand,s as ReplaceSourceCommand,a as SourceEditingEnhanced};
@@ -0,0 +1,22 @@
1
+ {
2
+ "Edit source modal label": "The accessible label of the toolbar button and menu bar button that open editor modal with editable, raw source (HTML). Additionally used as this modal title.",
3
+ "Source Editing Enhanced": "The label of Source Editing Enhanced keystrokes category in Accessibility help dialog.",
4
+ "Copy line down": "The label of \"Copy line down\" keyboard shortcut in Accessibility help dialog.",
5
+ "Copy line up": "The label of \"Copy line up\" keyboard shortcut in Accessibility help dialog.",
6
+ "Delete line": "The label of \"Delete line\" keyboard shortcut in Accessibility help dialog.",
7
+ "Indent less": "The label of \"Indent less\" keyboard shortcut in Accessibility help dialog.",
8
+ "Indent more": "The label of \"Indent more\" keyboard shortcut in Accessibility help dialog.",
9
+ "Fold all": "The label of \"Fold all\" keyboard shortcut in Accessibility help dialog.",
10
+ "Fold code (current level)": "The label of \"Fold code (current level)\" keyboard shortcut in Accessibility help dialog.",
11
+ "Move line down": "The label of \"Move line down\" keyboard shortcut in Accessibility help dialog.",
12
+ "Move line up": "The label of \"Move line up\" keyboard shortcut in Accessibility help dialog.",
13
+ "Redo (keystroke)": "The label of \"Redo\" keyboard shortcut in Accessibility help dialog.",
14
+ "Select line": "The label of \"Select line\" keyboard shortcut in Accessibility help dialog.",
15
+ "Switch between \"focus with tab\" and \"indent with tab\" mode": "The label of \"Switch between 'focus with tab' and 'indent with tab' mode\" keyboard shortcut in Accessibility help dialog.",
16
+ "Toggle block comment": "The label of \"Toggle block comment\" keyboard shortcut in Accessibility help dialog.",
17
+ "Toggle comment": "The label of \"Toggle comment\" keyboard shortcut in Accessibility help dialog.",
18
+ "Undo (keystroke)": "The label of \"Undo\" keyboard shortcut in Accessibility help dialog.",
19
+ "Unfold all": "The label of \"Unfold all\" keyboard shortcut in Accessibility help dialog.",
20
+ "Unfold code (current level)": "The label of \"Unfold code (current level)\" keyboard shortcut in Accessibility help dialog.",
21
+ "Are you sure you want to discard your changes? This action cannot be undone.": "The warning message displayed when attempting to close the Enhanced Source Code Editing modal with unsaved changes."
22
+ }
package/package.json ADDED
@@ -0,0 +1,67 @@
1
+ {
2
+ "name": "@ckeditor/ckeditor5-source-editing-enhanced",
3
+ "version": "0.0.0-nightly-20250129.1",
4
+ "description": "Source editing enhanced feature for CKEditor 5.",
5
+ "keywords": [
6
+ "ckeditor",
7
+ "ckeditor5",
8
+ "ckeditor 5",
9
+ "ckeditor5-feature",
10
+ "ckeditor5-plugin",
11
+ "ckeditor5-dll"
12
+ ],
13
+ "type": "module",
14
+ "main": "src/index.js",
15
+ "dependencies": {
16
+ "@ckeditor/ckeditor5-core": "0.0.0-nightly-20250129.1",
17
+ "@ckeditor/ckeditor5-theme-lark": "0.0.0-nightly-20250129.1",
18
+ "@ckeditor/ckeditor5-ui": "0.0.0-nightly-20250129.1",
19
+ "@ckeditor/ckeditor5-utils": "0.0.0-nightly-20250129.1",
20
+ "@codemirror/autocomplete": "6.18.4",
21
+ "@codemirror/commands": "6.8.0",
22
+ "@codemirror/lang-html": "6.4.9",
23
+ "@codemirror/lang-markdown": "6.3.2",
24
+ "@codemirror/language": "6.10.8",
25
+ "@codemirror/state": "6.5.1",
26
+ "@codemirror/view": "6.36.2",
27
+ "ckeditor5": "0.0.0-nightly-20250129.1"
28
+ },
29
+ "license": "SEE LICENSE IN LICENSE.md",
30
+ "author": "CKSource (http://cksource.com/)",
31
+ "homepage": "https://ckeditor.com/ckeditor-5",
32
+ "bugs": "https://support.ckeditor.com/hc/en-us/requests/new",
33
+ "files": [
34
+ "dist",
35
+ "lang",
36
+ "src/**/*.js",
37
+ "src/**/*.d.ts",
38
+ "theme",
39
+ "build",
40
+ "ckeditor5-metadata.json",
41
+ "CHANGELOG.md"
42
+ ],
43
+ "types": "src/index.d.ts",
44
+ "exports": {
45
+ ".": {
46
+ "types": "./src/index.d.ts",
47
+ "import": "./src/index.js",
48
+ "default": "./src/index.js"
49
+ },
50
+ "./dist/*": {
51
+ "types": "./src/index.d.ts",
52
+ "import": "./dist/*",
53
+ "default": "./dist/*"
54
+ },
55
+ "./src/*": {
56
+ "types": "./src/*.d.ts",
57
+ "import": "./src/*",
58
+ "default": "./src/*"
59
+ },
60
+ "./build/*": "./build/*",
61
+ "./lang/*": "./lang/*",
62
+ "./theme/*": "./theme/*",
63
+ "./ckeditor5-metadata.json": "./ckeditor5-metadata.json",
64
+ "./package.json": "./package.json"
65
+ },
66
+ "obfuscated": true
67
+ }
@@ -0,0 +1,22 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
5
+ import type { SourceEditingEnhanced, SourceEditingEnhancedConfig, ReplaceSourceCommand, EditSourceCommand } from './index.js';
6
+ declare module '@ckeditor/ckeditor5-core' {
7
+ interface EditorConfig {
8
+ /**
9
+ * The configuration of the source editing enhanced feature.
10
+ *
11
+ * Read more in {@link module:source-editing-enhanced/sourceeditingenhancedconfig~SourceEditingEnhancedConfig}.
12
+ */
13
+ sourceEditingEnhanced?: SourceEditingEnhancedConfig;
14
+ }
15
+ interface PluginsMap {
16
+ [SourceEditingEnhanced.pluginName]: SourceEditingEnhanced;
17
+ }
18
+ interface CommandsMap {
19
+ replaceSource: ReplaceSourceCommand;
20
+ editSource: EditSourceCommand;
21
+ }
22
+ }
@@ -0,0 +1,23 @@
1
+ /*
2
+ * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
3
+ *
4
+ *
5
+ *
6
+ *
7
+ * +---------------------------------------------------------------------------------+
8
+ * | |
9
+ * | Hello stranger! |
10
+ * | |
11
+ * | |
12
+ * | What you're currently looking at is the source code of a legally protected, |
13
+ * | proprietary software. Any attempts to deobfuscate / disassemble this code |
14
+ * | are forbidden and will result in legal consequences. |
15
+ * | |
16
+ * | |
17
+ * +---------------------------------------------------------------------------------+
18
+ *
19
+ *
20
+ *
21
+ *
22
+ */
23
+ export{};
package/src/index.d.ts ADDED
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
5
+ /**
6
+ * @module source-editing-enhanced
7
+ */
8
+ export { default as SourceEditingEnhanced } from './sourceeditingenhanced.js';
9
+ export { default as ReplaceSourceCommand } from './replacesourcecommand.js';
10
+ export { default as EditSourceCommand } from './ui/editsourcecommand.js';
11
+ export type { SourceEditingEnhancedConfig } from './sourceeditingenhancedconfig.js';
12
+ import './augmentation.js';
package/src/index.js ADDED
@@ -0,0 +1,23 @@
1
+ /*
2
+ * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
3
+ *
4
+ *
5
+ *
6
+ *
7
+ * +---------------------------------------------------------------------------------+
8
+ * | |
9
+ * | Hello stranger! |
10
+ * | |
11
+ * | |
12
+ * | What you're currently looking at is the source code of a legally protected, |
13
+ * | proprietary software. Any attempts to deobfuscate / disassemble this code |
14
+ * | are forbidden and will result in legal consequences. |
15
+ * | |
16
+ * | |
17
+ * +---------------------------------------------------------------------------------+
18
+ *
19
+ *
20
+ *
21
+ *
22
+ */
23
+ (function(_0x49dfef,_0x170c3e){var _0x522f56=_0x5c44,_0x17c23d=_0x49dfef();while(!![]){try{var _0x4377ce=parseInt(_0x522f56(0x12d))/0x1*(parseInt(_0x522f56(0x134))/0x2)+-parseInt(_0x522f56(0x131))/0x3*(parseInt(_0x522f56(0x12b))/0x4)+parseInt(_0x522f56(0x12e))/0x5+-parseInt(_0x522f56(0x136))/0x6*(-parseInt(_0x522f56(0x12c))/0x7)+-parseInt(_0x522f56(0x12a))/0x8*(-parseInt(_0x522f56(0x12f))/0x9)+parseInt(_0x522f56(0x132))/0xa*(-parseInt(_0x522f56(0x133))/0xb)+parseInt(_0x522f56(0x135))/0xc*(parseInt(_0x522f56(0x130))/0xd);if(_0x4377ce===_0x170c3e)break;else _0x17c23d['push'](_0x17c23d['shift']());}catch(_0x1d8a42){_0x17c23d['push'](_0x17c23d['shift']());}}}(_0x152f,0xac122));function _0x152f(){var _0x5a4dbd=['7igxGUp','87247igYqyn','1346040tJaZRA','477AJRHgm','195754xQbySH','54POOljf','133020orCeon','88sOEjWz','4Qqyuof','12OZyeTo','3704814qzeyyF','68376gwDacw','159556xPqHMf'];_0x152f=function(){return _0x5a4dbd;};return _0x152f();}export{default as SourceEditingEnhanced}from'./sourceeditingenhanced.js';export{default as ReplaceSourceCommand}from'./replacesourcecommand.js';export{default as EditSourceCommand}from'./ui/editsourcecommand.js';function _0x5c44(_0x5b20e8,_0x593ed7){var _0x152fca=_0x152f();return _0x5c44=function(_0x5c4433,_0x48c0c0){_0x5c4433=_0x5c4433-0x12a;var _0x2b25d7=_0x152fca[_0x5c4433];return _0x2b25d7;},_0x5c44(_0x5b20e8,_0x593ed7);}import'./augmentation.js';
@@ -0,0 +1,28 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
5
+ /**
6
+ * @module source-editing-enhanced/replacesourcecommand
7
+ * @publicApi
8
+ */
9
+ import { Command, type Editor } from 'ckeditor5/src/core.js';
10
+ /**
11
+ * The command replaces editor active root content with the provided data.
12
+ */
13
+ export default class ReplaceSourceCommand extends Command {
14
+ /**
15
+ * @inheritDoc
16
+ */
17
+ constructor(editor: Editor);
18
+ /**
19
+ * @inheritDoc
20
+ */
21
+ refresh(): void;
22
+ /**
23
+ * Executes the command.
24
+ */
25
+ execute(data: string, options?: {
26
+ rootName: string | null;
27
+ }): void;
28
+ }
@@ -0,0 +1,23 @@
1
+ /*
2
+ * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
3
+ *
4
+ *
5
+ *
6
+ *
7
+ * +---------------------------------------------------------------------------------+
8
+ * | |
9
+ * | Hello stranger! |
10
+ * | |
11
+ * | |
12
+ * | What you're currently looking at is the source code of a legally protected, |
13
+ * | proprietary software. Any attempts to deobfuscate / disassemble this code |
14
+ * | are forbidden and will result in legal consequences. |
15
+ * | |
16
+ * | |
17
+ * +---------------------------------------------------------------------------------+
18
+ *
19
+ *
20
+ *
21
+ *
22
+ */
23
+ var _0x370737=_0x152e;(function(_0x2147df,_0x4e1911){var _0x4ad55c=_0x152e,_0x5a5be4=_0x2147df();while(!![]){try{var _0x1095b5=-parseInt(_0x4ad55c(0x1ea))/0x1*(-parseInt(_0x4ad55c(0x1e7))/0x2)+-parseInt(_0x4ad55c(0x1f2))/0x3*(parseInt(_0x4ad55c(0x1e6))/0x4)+parseInt(_0x4ad55c(0x1e8))/0x5+parseInt(_0x4ad55c(0x1e9))/0x6*(parseInt(_0x4ad55c(0x1ed))/0x7)+parseInt(_0x4ad55c(0x1f5))/0x8*(parseInt(_0x4ad55c(0x1ef))/0x9)+parseInt(_0x4ad55c(0x1ee))/0xa*(-parseInt(_0x4ad55c(0x1e5))/0xb)+-parseInt(_0x4ad55c(0x1eb))/0xc;if(_0x1095b5===_0x4e1911)break;else _0x5a5be4['push'](_0x5a5be4['shift']());}catch(_0x2fe082){_0x5a5be4['push'](_0x5a5be4['shift']());}}}(_0x50f0,0xe0011));import{Command as _0x49c0bd}from'ckeditor5/src/core.js';import{getActiveRootName as _0x249ae0}from'./utils/getactiverootname.js';export default class s extends _0x49c0bd{constructor(_0x2cd638){var _0x231815=_0x152e;super(_0x2cd638),this[_0x231815(0x1f3)]();}[_0x370737(0x1f3)](){var _0x386888=_0x370737;this[_0x386888(0x1f7)]=!this[_0x386888(0x1f8)][_0x386888(0x1f1)];}[_0x370737(0x1f0)](_0x40baa6,_0x99b926){var _0x6820c6=_0x370737,_0x1c360f;const _0xd91b2d=this[_0x6820c6(0x1f8)],_0x3b614e=null!==(_0x1c360f=null==_0x99b926?void 0x0:_0x99b926[_0x6820c6(0x1f4)])&&void 0x0!==_0x1c360f?_0x1c360f:_0x249ae0(_0xd91b2d);_0xd91b2d[_0x6820c6(0x1f6)][_0x6820c6(0x1ec)]({[_0x3b614e]:_0x40baa6},{'batchType':{'isUndoable':!0x0},'suppressErrorInCollaboration':!0x0});}}function _0x152e(_0x2e6590,_0x148221){var _0x50f05c=_0x50f0();return _0x152e=function(_0x152e44,_0x3d83b0){_0x152e44=_0x152e44-0x1e5;var _0x43e49f=_0x50f05c[_0x152e44];return _0x43e49f;},_0x152e(_0x2e6590,_0x148221);}function _0x50f0(){var _0x4f1de6=['set','7630HVmSTu','1764930Olkzsi','4674141MpzUMq','execute','isReadOnly','243OWvrzl','refresh','rootName','8IaibMj','data','isEnabled','editor','66DPRYJn','79588kGMief','2671502wcEHQM','2529035pmPZON','9846zODBUI','1zcUYFE','6737532kSAILH'];_0x50f0=function(){return _0x4f1de6;};return _0x50f0();}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
5
+ /**
6
+ * @module source-editing-enhanced/sourceeditingenhanced
7
+ * @publicApi
8
+ */
9
+ import { type Editor, Plugin } from 'ckeditor5/src/core.js';
10
+ import SourceEditingEnhancedUI from './sourceeditingenhancedui.js';
11
+ import '../theme/sourceeditingenhanced.css';
12
+ /**
13
+ * The source editing enhanced feature.
14
+ *
15
+ * It provides the possibility to view and edit the source of the document in the modal window.
16
+ *
17
+ * For a detailed overview, check the
18
+ * {@glink features/source-editing/source-editing-enhanced source editing enhanced feature documentation} and the
19
+ * {@glink api/source-editing-enhanced package page}.
20
+ */
21
+ export default class SourceEditingEnhanced extends Plugin {
22
+ /**
23
+ * @inheritDoc
24
+ */
25
+ static get pluginName(): "SourceEditingEnhanced";
26
+ /**
27
+ * @inheritDoc
28
+ */
29
+ static get isOfficialPlugin(): true;
30
+ /**
31
+ * @inheritDoc
32
+ */
33
+ static get isPremiumPlugin(): true;
34
+ /**
35
+ * @inheritDoc
36
+ */
37
+ static get requires(): readonly [typeof SourceEditingEnhancedUI];
38
+ /**
39
+ * @inheritDoc
40
+ */
41
+ constructor(editor: Editor);
42
+ /**
43
+ * @inheritDoc
44
+ */
45
+ init(): void;
46
+ destroy(): void;
47
+ }
@@ -0,0 +1,23 @@
1
+ /*
2
+ * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
3
+ *
4
+ *
5
+ *
6
+ *
7
+ * +---------------------------------------------------------------------------------+
8
+ * | |
9
+ * | Hello stranger! |
10
+ * | |
11
+ * | |
12
+ * | What you're currently looking at is the source code of a legally protected, |
13
+ * | proprietary software. Any attempts to deobfuscate / disassemble this code |
14
+ * | are forbidden and will result in legal consequences. |
15
+ * | |
16
+ * | |
17
+ * +---------------------------------------------------------------------------------+
18
+ *
19
+ *
20
+ *
21
+ *
22
+ */
23
+ const _0xf1bd4=_0x86b1;(function(_0x2c3ea1,_0x286546){const _0x1952a7=_0x86b1,_0x254e9f=_0x2c3ea1();while(!![]){try{const _0x5d5f0f=-parseInt(_0x1952a7(0x19c))/0x1*(parseInt(_0x1952a7(0x17a))/0x2)+-parseInt(_0x1952a7(0x1a2))/0x3+-parseInt(_0x1952a7(0x186))/0x4*(-parseInt(_0x1952a7(0x18f))/0x5)+-parseInt(_0x1952a7(0x17b))/0x6+parseInt(_0x1952a7(0x19f))/0x7+parseInt(_0x1952a7(0x180))/0x8*(parseInt(_0x1952a7(0x187))/0x9)+parseInt(_0x1952a7(0x1a3))/0xa;if(_0x5d5f0f===_0x286546)break;else _0x254e9f['push'](_0x254e9f['shift']());}catch(_0x5f0f3a){_0x254e9f['push'](_0x254e9f['shift']());}}}(_0x1684,0x3a97d));import{Plugin as _0x909ffb}from'ckeditor5/src/core.js';import{CKEditorError as _0x49473c}from'ckeditor5/src/utils.js';import _0xd5caa0 from'./sourceeditingenhancedui.js';import _0x3dc0ca from'./replacesourcecommand.js';function _0x1684(){const _0x422d3c=['evaluationLimit','You\x20initialized\x20the\x20editor\x20with\x20the\x20source\x20editing\x20enhanced\x20feature\x20and\x20at\x20least\x20one\x20of\x20the\x20collaboration\x20features.\x20Please\x20be\x20advised\x20that\x20the\x20source\x20editing\x20feature\x20may\x20not\x20work,\x20and\x20be\x20careful\x20when\x20editing\x20document\x20source\x20that\x20contains\x20markers\x20created\x20by\x20the\x20collaboration\x20features.','RevisionHistory','4295HOWZbk','domainLimit','sourceEditingEnhancedLicenseKeyExpired','256739ljkyRd','sourceEditingEnhanced.allowCollaborationFeatures','pluginName','464244oIAiEp','7013840iLAzZw','_showLicenseError','RealTimeCollaborativeEditing','config','SourceEditingEnhanced','get','licenseKey','define','TrackChangesEditing','sourceEditingEnhancedLicenseKeyEvaluationLimit','isPremiumPlugin','warn','source-editing-enhanced-incompatible-with-real-time-collaboration','destroy','sourceEditingEnhancedLicenseKeyTrialLimit','142rfnwfG','1445298NgkANb','usageLimit','sourceEditingEnhancedLicenseKeyUsageLimit','isOfficialPlugin','some','527968ugZNbH','init','You\x20initialized\x20the\x20editor\x20with\x20the\x20source\x20editing\x20enhanced\x20feature\x20and\x20restricted\x20editing\x20feature.\x20Please\x20be\x20advised\x20that\x20the\x20source\x20editing\x20enhanced\x20feature\x20may\x20not\x20work,\x20and\x20be\x20careful\x20when\x20editing\x20document\x20source\x20that\x20contains\x20markers\x20created\x20by\x20the\x20restricted\x20editing\x20feature.','plugins','sourceEditingEnhancedLicenseKeyDomainLimit','replaceSource','4CJkavn','18zdVJPF','_checkCompatibility','add','sourceEditingEnhancedLicenseKeyValid','invalid','sourceEditingEnhancedLicenseKeyInvalid','featureNotAllowed','expired','352600GJhBDU','_licenseKeyCheckInterval','trialLimit','RestrictedEditingModeEditing','has','sourceEditingEnhancedLicenseKeyNotAllowed','CommentsEditing','requires','commands','editor'];_0x1684=function(){return _0x422d3c;};return _0x1684();}import'../theme/sourceeditingenhanced.css';function _0x86b1(_0xa9b982,_0x5029ab){const _0x168485=_0x1684();return _0x86b1=function(_0x86b15a,_0x85369b){_0x86b15a=_0x86b15a-0x171;let _0x8bd8df=_0x168485[_0x86b15a];return _0x8bd8df;},_0x86b1(_0xa9b982,_0x5029ab);}export default class a extends _0x909ffb{static get[_0xf1bd4(0x1a1)](){const _0x10b35c=_0xf1bd4;return _0x10b35c(0x1a7);}static get[_0xf1bd4(0x17e)](){return!0x0;}static get[_0xf1bd4(0x175)](){return!0x0;}static get[_0xf1bd4(0x196)](){return[_0xd5caa0];}constructor(_0x2e0ba6){const _0x7ff2a5=_0xf1bd4;super(_0x2e0ba6),_0x2e0ba6[_0x7ff2a5(0x1a6)][_0x7ff2a5(0x172)](_0x7ff2a5(0x1a0),!0x1);}[_0xf1bd4(0x181)](){const _0x21e926=_0xf1bd4;this[_0x21e926(0x188)](),this[_0x21e926(0x198)][_0x21e926(0x197)][_0x21e926(0x189)](_0x21e926(0x185),new _0x3dc0ca(this[_0x21e926(0x198)])),this[_0x21e926(0x171)]=this[_0x21e926(0x198)][_0x21e926(0x1a6)][_0x21e926(0x1a8)](_0x21e926(0x171));const _0x335bb2=this[_0x21e926(0x198)];this[_0x21e926(0x190)]=setInterval(()=>{const _0x4b129e=_0x21e926;let _0x281758;for(const _0x1573e2 in _0x335bb2){const _0x26799b=_0x1573e2,_0x48ac86=_0x335bb2[_0x26799b];if(_0x4b129e(0x18a)==_0x48ac86||_0x4b129e(0x18c)==_0x48ac86||_0x4b129e(0x19e)==_0x48ac86||_0x4b129e(0x184)==_0x48ac86||_0x4b129e(0x194)==_0x48ac86||_0x4b129e(0x174)==_0x48ac86||_0x4b129e(0x179)==_0x48ac86||_0x4b129e(0x17d)==_0x48ac86){delete _0x335bb2[_0x26799b],_0x281758=_0x48ac86,clearInterval(this[_0x4b129e(0x190)]),this[_0x4b129e(0x190)]=void 0x0;break;}}_0x4b129e(0x18c)==_0x281758&&_0x335bb2[_0x4b129e(0x1a4)](_0x4b129e(0x18b)),_0x4b129e(0x19e)==_0x281758&&_0x335bb2[_0x4b129e(0x1a4)](_0x4b129e(0x18e)),_0x4b129e(0x184)==_0x281758&&_0x335bb2[_0x4b129e(0x1a4)](_0x4b129e(0x19d)),_0x4b129e(0x194)==_0x281758&&_0x335bb2[_0x4b129e(0x1a4)](_0x4b129e(0x18d),_0x4b129e(0x1a7)),_0x4b129e(0x174)==_0x281758&&_0x335bb2[_0x4b129e(0x1a4)](_0x4b129e(0x199)),_0x4b129e(0x179)==_0x281758&&_0x335bb2[_0x4b129e(0x1a4)](_0x4b129e(0x191)),_0x4b129e(0x17d)==_0x281758&&_0x335bb2[_0x4b129e(0x1a4)](_0x4b129e(0x17c));},0x3e8);}[_0xf1bd4(0x178)](){const _0x316cc5=_0xf1bd4;this[_0x316cc5(0x190)]&&clearInterval(this[_0x316cc5(0x190)]);}[_0xf1bd4(0x188)](){const _0x467c4a=_0xf1bd4,_0x308bb5=this[_0x467c4a(0x198)],_0x5cbbd9=_0x308bb5[_0x467c4a(0x1a6)][_0x467c4a(0x1a8)](_0x467c4a(0x1a0));if(!_0x5cbbd9&&_0x308bb5[_0x467c4a(0x183)][_0x467c4a(0x193)](_0x467c4a(0x1a5)))throw new _0x49473c(_0x467c4a(0x177),null);!_0x5cbbd9&&[_0x467c4a(0x195),_0x467c4a(0x173),_0x467c4a(0x19b)][_0x467c4a(0x17f)](_0x3f3cb2=>_0x308bb5[_0x467c4a(0x183)][_0x467c4a(0x193)](_0x3f3cb2))&&console[_0x467c4a(0x176)](_0x467c4a(0x19a)),_0x308bb5[_0x467c4a(0x183)][_0x467c4a(0x193)](_0x467c4a(0x192))&&console[_0x467c4a(0x176)](_0x467c4a(0x182));}}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
5
+ import type { Extension } from '@codemirror/state';
6
+ /**
7
+ * @module source-editing-enhanced/sourceeditingenhancedconfig
8
+ * @publicApi
9
+ */
10
+ /**
11
+ * The configuration of the source editing enhanced feature.
12
+ *
13
+ * ```ts
14
+ * ClassicEditor
15
+ * .create( {
16
+ * sourceEditingEnhanced: {
17
+ * allowCollaborationFeatures: true
18
+ * }
19
+ * } )
20
+ * .then( ... )
21
+ * .catch( ... );
22
+ * ```
23
+ *
24
+ * See {@link module:core/editor/editorconfig~EditorConfig all editor options}.
25
+ */
26
+ export interface SourceEditingEnhancedConfig {
27
+ /**
28
+ * Set to `true` to enable source editing feature for real-time collaboration.
29
+ *
30
+ * Please note that source editing feature is not fully compatible with real-time collaboration and using it may lead to data loss.
31
+ * {@glink features/source-editing/source-editing-enhanced#limitations-and-incompatibilities Read more}.
32
+ *
33
+ * @default false
34
+ */
35
+ allowCollaborationFeatures?: boolean;
36
+ /**
37
+ * The theme of the source editor.
38
+ *
39
+ * {@glink features/source-editing/source-editing-enhanced#themes Read more} about themes configuration.
40
+ */
41
+ theme?: Extension;
42
+ }
@@ -0,0 +1,23 @@
1
+ /*
2
+ * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
3
+ *
4
+ *
5
+ *
6
+ *
7
+ * +---------------------------------------------------------------------------------+
8
+ * | |
9
+ * | Hello stranger! |
10
+ * | |
11
+ * | |
12
+ * | What you're currently looking at is the source code of a legally protected, |
13
+ * | proprietary software. Any attempts to deobfuscate / disassemble this code |
14
+ * | are forbidden and will result in legal consequences. |
15
+ * | |
16
+ * | |
17
+ * +---------------------------------------------------------------------------------+
18
+ *
19
+ *
20
+ *
21
+ *
22
+ */
23
+ export{};