@ckeditor/ckeditor5-operations-compressor 0.0.0-internal-20241017.0

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.
Files changed (56) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/LICENSE.md +26 -0
  3. package/README.md +35 -0
  4. package/dist/actioncompressor/actioncompressor.d.ts +64 -0
  5. package/dist/actioncompressor/deletingactioncompressor.d.ts +32 -0
  6. package/dist/actioncompressor/forwarddeletingactioncompressor.d.ts +32 -0
  7. package/dist/actioncompressor/typingactioncompressor.d.ts +32 -0
  8. package/dist/actioncompressor/userselectionactioncompressor.d.ts +20 -0
  9. package/dist/compressor.d.ts +49 -0
  10. package/dist/index-content.css +4 -0
  11. package/dist/index-editor.css +4 -0
  12. package/dist/index.css +4 -0
  13. package/dist/index.d.ts +9 -0
  14. package/dist/index.js +24 -0
  15. package/dist/operationcompressor/annotationmarkeroperationcompressor.d.ts +26 -0
  16. package/dist/operationcompressor/attributeoperationcompressor.d.ts +21 -0
  17. package/dist/operationcompressor/insertoperationcompressor.d.ts +21 -0
  18. package/dist/operationcompressor/markeroperationcompressor.d.ts +17 -0
  19. package/dist/operationcompressor/nooperationcompressor.d.ts +24 -0
  20. package/dist/operationcompressor/operationcompressor.d.ts +32 -0
  21. package/dist/protobuffactory.d.ts +9 -0
  22. package/dist/utils.d.ts +34 -0
  23. package/package.json +48 -0
  24. package/src/actioncompressor/actioncompressor.d.ts +60 -0
  25. package/src/actioncompressor/actioncompressor.js +23 -0
  26. package/src/actioncompressor/deletingactioncompressor.d.ts +28 -0
  27. package/src/actioncompressor/deletingactioncompressor.js +23 -0
  28. package/src/actioncompressor/forwarddeletingactioncompressor.d.ts +28 -0
  29. package/src/actioncompressor/forwarddeletingactioncompressor.js +23 -0
  30. package/src/actioncompressor/typingactioncompressor.d.ts +28 -0
  31. package/src/actioncompressor/typingactioncompressor.js +23 -0
  32. package/src/actioncompressor/userselectionactioncompressor.d.ts +16 -0
  33. package/src/actioncompressor/userselectionactioncompressor.js +23 -0
  34. package/src/compressor.d.ts +45 -0
  35. package/src/compressor.js +23 -0
  36. package/src/index.d.ts +5 -0
  37. package/src/index.js +23 -0
  38. package/src/lib/compiledmessages.d.ts +1 -0
  39. package/src/lib/compiledmessages.js +24 -0
  40. package/src/lib/protobufdescriptions.js +23 -0
  41. package/src/operationcompressor/annotationmarkeroperationcompressor.d.ts +22 -0
  42. package/src/operationcompressor/annotationmarkeroperationcompressor.js +23 -0
  43. package/src/operationcompressor/attributeoperationcompressor.d.ts +17 -0
  44. package/src/operationcompressor/attributeoperationcompressor.js +23 -0
  45. package/src/operationcompressor/insertoperationcompressor.d.ts +17 -0
  46. package/src/operationcompressor/insertoperationcompressor.js +23 -0
  47. package/src/operationcompressor/markeroperationcompressor.d.ts +13 -0
  48. package/src/operationcompressor/markeroperationcompressor.js +23 -0
  49. package/src/operationcompressor/nooperationcompressor.d.ts +20 -0
  50. package/src/operationcompressor/nooperationcompressor.js +23 -0
  51. package/src/operationcompressor/operationcompressor.d.ts +28 -0
  52. package/src/operationcompressor/operationcompressor.js +23 -0
  53. package/src/protobuffactory.d.ts +5 -0
  54. package/src/protobuffactory.js +23 -0
  55. package/src/utils.d.ts +30 -0
  56. package/src/utils.js +23 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,4 @@
1
+ Changelog
2
+ =========
3
+
4
+ All changes in the package are documented in https://github.com/ckeditor/ckeditor5/blob/master/CHANGELOG.md.
package/LICENSE.md ADDED
@@ -0,0 +1,26 @@
1
+ Software License Agreement
2
+ ==========================
3
+
4
+ **CKEditor&nbsp;5 operations compressor**<br>
5
+ Copyright (c) 2003–2024, [CKSource Holding sp. z o.o.](https://cksource.com) All rights reserved.
6
+
7
+ CKEditor&nbsp;5 operations compressor is licensed under a commercial license and is protected by copyright law.
8
+ For more details about available licensing options please contact us at sales@cksource.com.
9
+
10
+ Sources of Intellectual Property Included in CKEditor&nbsp;5 operations compressor
11
+ -----------------------------------------------------
12
+
13
+ Where not otherwise indicated, all CKEditor&nbsp;5 operations compressor content is authored by CKSource engineers and consists of CKSource-owned intellectual property.
14
+
15
+ The following libraries are included in CKEditor&nbsp;5 operations compressor under the [MIT license](https://opensource.org/licenses/MIT):
16
+
17
+ * Lodash - Copyright (c) JS Foundation and other contributors https://js.foundation/. Based on Underscore.js, copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors http://underscorejs.org/.
18
+
19
+ The following libraries are included in CKEditor&nbsp;5 operations compressor under the [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause):
20
+
21
+ * protobuf.js - Copyright (c) 2016, Daniel Wirtz All rights reserved.
22
+
23
+ Trademarks
24
+ ----------
25
+
26
+ **CKEditor** is a trademark of [CKSource Holding sp. z o.o.](https://cksource.com) All other brand and product names are trademarks, registered trademarks, or service marks of their respective holders.
package/README.md ADDED
@@ -0,0 +1,35 @@
1
+ # CKEditor&nbsp;5 operations compressor
2
+
3
+ [![npm version](https://badge.fury.io/js/%40ckeditor%2Fckeditor5-operations-compressor.svg)](https://www.npmjs.com/package/@ckeditor/ckeditor5-operations-compressor)
4
+
5
+ CKEditor&nbsp;5 operations compressor is a low-level API that compresses and decompresses operations to a normalized binary format to decrease network usage during real-time collaborative editing. It is required by the [CKEditor&nbsp;5 real-time collaborative editing](https://ckeditor.com/collaboration/real-time/) feature to enable collaboration in [CKEditor&nbsp;5](https://ckeditor.com/ckeditor-5/).
6
+
7
+ ## Documentation
8
+
9
+ For more information about real-time collaboration see the [CKEditor&nbsp;5 real-time collaboration documentation](https://ckeditor.com/docs/ckeditor5/latest/features/collaboration/real-time-collaboration/real-time-collaboration.html).
10
+
11
+ Also, make sure you visit the [CKEditor&nbsp;5 changelog](https://github.com/ckeditor/ckeditor5/blob/master/CHANGELOG.md) whenever a new version of the package is released.
12
+
13
+ ## Installation
14
+
15
+ ```bash
16
+ npm install ckeditor5-premium-features
17
+ ```
18
+
19
+ ## Getting support
20
+
21
+ CKEditor&nbsp;5 operations compressor comes with outstanding support from a dedicated team of customer care specialists, QA engineers and CKEditor&nbsp;5 developers. The team will gladly assist you in all aspects from setting up your account to integrating CKEditor&nbsp;5 Collaboration features with your application.
22
+
23
+ As a licensed CKEditor&nbsp;5 Collaboration features user you can report bugs and request features directly through the CKEditor Ecosystem customer dashboard.
24
+
25
+ ## License
26
+
27
+ **CKEditor&nbsp;5 operations compressor**<br>
28
+ Copyright (c) 2003–2024, [CKSource Holding sp. z o.o.](https://cksource.com) All rights reserved.
29
+
30
+ CKEditor&nbsp;5 operations compressor is licensed under a commercial license and is protected by copyright law.
31
+ For more details about available licensing options please contact us at sales@cksource.com.
32
+
33
+ ### Trademarks
34
+
35
+ **CKEditor** is a trademark of [CKSource Holding sp. z o.o.](https://cksource.com) All other brand and product names are trademarks, registered trademarks or service marks of their respective holders.
@@ -0,0 +1,64 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+ /**
6
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
8
+ */
9
+ import type { CompressedOperationsData, default as Compressor } from '../compressor.js';
10
+ /**
11
+ * * Compresses and decompresses multiple operations into the one buffer.
12
+ */
13
+ export default abstract class ActionCompressor {
14
+ constructor(id: number, context: Compressor);
15
+ /**
16
+ * Combines and compress operations from the list.
17
+ * Operations are consumed as long as match this compressor.
18
+ *
19
+ * @param result Object to which compression result should be added.
20
+ * @param operations List of operations in JSON format to compress.
21
+ * @returns `true` when operation is consumed `false` otherwise.
22
+ */
23
+ compress(result: CompressedOperationsData, operations: Array<any>): boolean;
24
+ /**
25
+ * Decompress and split compressed operations. Decompressed operations are consumed (removed from the input data).
26
+ *
27
+ * @param result Decompressed operations in JSON format.
28
+ * @param data Compressed operations data.
29
+ */
30
+ decompress(result: Array<any>, data: CompressedOperationsData): void;
31
+ /**
32
+ * Compresses single operation using a proper compressor.
33
+ *
34
+ * @param operation Operation in JSON format.
35
+ * @returns Operation JSON compressed to the binary format.
36
+ */
37
+ protected abstract _compressSingleOperation(operation: any): Uint8Array;
38
+ /**
39
+ * Decompresses combined operation using a proper compressor.
40
+ *
41
+ * @param data Data to compress.
42
+ * @returns Decompressed operation in JSON format.
43
+ */
44
+ protected abstract _decompressSingleOperation(data: CompressedOperationsData): any;
45
+ /**
46
+ * Combine next operation into the combined one.
47
+ *
48
+ * @param nextOperation Operation to combine in JSON format.
49
+ * @param combined Combined operation in JSON format.
50
+ * @returns Combined operation in JSON format.
51
+ */
52
+ protected abstract _combineNext(nextOperation: any, combined: any): any;
53
+ /**
54
+ * Split operation from combined one.
55
+ *
56
+ * @param combined Combined operation in JSON format.
57
+ * @returns Split operation in JSON format.
58
+ */
59
+ protected abstract _splitCurrent(combined: any): any;
60
+ /**
61
+ * Checks if two operations can be combined.
62
+ */
63
+ protected abstract _compareOperations(opA: any, opB: any): boolean;
64
+ }
@@ -0,0 +1,32 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+ /**
6
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
8
+ */
9
+ import ActionCompressor from './actioncompressor.js';
10
+ import type { CompressedOperationsData } from '../compressor.js';
11
+ export default class DeletingActionCompressor extends ActionCompressor {
12
+ /**
13
+ * @inheritDoc
14
+ */
15
+ protected _combineNext(nextOperation: any, combined: any): any;
16
+ /**
17
+ * @inheritDoc
18
+ */
19
+ protected _splitCurrent(combined: any): any;
20
+ /**
21
+ * @inheritDoc
22
+ */
23
+ protected _compareOperations(opA: any, opB: any): boolean;
24
+ /**
25
+ * @inheritDoc
26
+ */
27
+ protected _compressSingleOperation(operation: any): Uint8Array;
28
+ /**
29
+ * @inheritDoc
30
+ */
31
+ protected _decompressSingleOperation(data: CompressedOperationsData): any;
32
+ }
@@ -0,0 +1,32 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+ /**
6
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
8
+ */
9
+ import ActionCompressor from './actioncompressor.js';
10
+ import type { CompressedOperationsData } from '../compressor.js';
11
+ export default class ForwardDeletingActionCompressor extends ActionCompressor {
12
+ /**
13
+ * @inheritDoc
14
+ */
15
+ protected _combineNext(nextOperation: any, combined: any): any;
16
+ /**
17
+ * @inheritDoc
18
+ */
19
+ protected _splitCurrent(combined: any): any;
20
+ /**
21
+ * @inheritDoc
22
+ */
23
+ protected _compareOperations(opA: any, opB: any): boolean;
24
+ /**
25
+ * @inheritDoc
26
+ */
27
+ protected _compressSingleOperation(operation: any): Uint8Array;
28
+ /**
29
+ * @inheritDoc
30
+ */
31
+ protected _decompressSingleOperation(data: CompressedOperationsData): any;
32
+ }
@@ -0,0 +1,32 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+ /**
6
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
8
+ */
9
+ import ActionCompressor from './actioncompressor.js';
10
+ import type { CompressedOperationsData } from '../compressor.js';
11
+ export default class TypingActionCompressor extends ActionCompressor {
12
+ /**
13
+ * @inheritDocs
14
+ */
15
+ protected _combineNext(nextOperation: any, combined: any): any;
16
+ /**
17
+ * @inheritDoc
18
+ */
19
+ protected _splitCurrent(combined: any): any;
20
+ /**
21
+ * @inheritDoc
22
+ */
23
+ protected _compareOperations(opA: any, opB: any): boolean;
24
+ /**
25
+ * @inheritDoc
26
+ */
27
+ protected _compressSingleOperation(operation: any): Uint8Array;
28
+ /**
29
+ * @inheritDoc
30
+ */
31
+ protected _decompressSingleOperation(data: CompressedOperationsData): any;
32
+ }
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+ /**
6
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
8
+ */
9
+ import ActionCompressor from './actioncompressor.js';
10
+ import type { CompressedOperationsData } from '../compressor.js';
11
+ export default class UserSelectionActionCompressor extends ActionCompressor {
12
+ /**
13
+ * @inheritDoc
14
+ */
15
+ compress(result: CompressedOperationsData, operations: Array<any>): boolean;
16
+ /**
17
+ * @inheritDoc
18
+ */
19
+ decompress(result: Array<any>, data: CompressedOperationsData): void;
20
+ }
@@ -0,0 +1,49 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+ /**
6
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
8
+ */
9
+ /**
10
+ * Compresses and decompresses given set of operations in JSON format to/from the binary format using `Protocol Buffers`.
11
+ */
12
+ export default class Compressor {
13
+ constructor();
14
+ /**
15
+ * Compress given list of operations in JSON format.
16
+ *
17
+ * **Note** It tries to combine typing-like or deleting-like operations into the one buffer.
18
+ * **Note** Input data will be consumed and modified during compression process. If you need untouched data
19
+ * you need to copy it before the compression.
20
+ */
21
+ compress(operations: Array<any>): CompressedOperationsData;
22
+ /**
23
+ * Decompress given data to the list of operations in JSON format.
24
+ *
25
+ * **Note** Input data will be consumed during decompression process. If you need untouched data
26
+ * you need to copy it before the decompression.
27
+ *
28
+ * @param data Compressed operations.
29
+ * @returns List of operations in JSON format.
30
+ */
31
+ decompress(data: CompressedOperationsData): Array<any>;
32
+ }
33
+ /**
34
+ * Compressed operations data.
35
+ */
36
+ export type CompressedOperationsData = {
37
+ /**
38
+ * List of operations compressed to the binary format.
39
+ */
40
+ buffers: Array<Uint8Array>;
41
+ /**
42
+ * List of compressor identifiers. According to this types a proper compressor will be used for the decompression.
43
+ */
44
+ types: Array<number>;
45
+ /**
46
+ * Base version of the first compressed operation.
47
+ */
48
+ baseVersion: number;
49
+ };
@@ -0,0 +1,4 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
@@ -0,0 +1,4 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
package/dist/index.css ADDED
@@ -0,0 +1,4 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+ /**
6
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
8
+ */
9
+ export { default as Compressor, type CompressedOperationsData } from './compressor.js';
package/dist/index.js ADDED
@@ -0,0 +1,24 @@
1
+ /*
2
+ * Copyright (c) 2003-2024, 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{CKEditorError as _0x20e851}from'@ckeditor/ckeditor5-utils/dist/index.js';import _0x278ef8 from'protobufjs/minimal.js';import{cloneDeep as _0x5d2128,isEqual as _0x2f7ae2,isObject as _0x576835}from'lodash-es';const u=/* #__PURE__ -- @preserve */
24
+ ((()=>{var _0x2f2f77=_0x278ef8['Reader'],_0x1f2d5a=_0x278ef8['Writer'],_0x10dacb=_0x278ef8['util'],_0x13e20e=_0x278ef8['roots']['default']||(_0x278ef8['roots']['default']={});return _0x13e20e['AttributeOperation']=(function(){function _0x34e04f(_0xb6f681){if(_0xb6f681){for(var _0x2c03fb=Object['keys'](_0xb6f681),_0x5138df=0x0;_0x5138df<_0x2c03fb['length'];++_0x5138df)null!=_0xb6f681[_0x2c03fb[_0x5138df]]&&(this[_0x2c03fb[_0x5138df]]=_0xb6f681[_0x2c03fb[_0x5138df]]);}}return _0x34e04f['prototype']['range']=null,_0x34e04f['prototype']['key']='',_0x34e04f['prototype']['oldValueBoolean']=!0x1,_0x34e04f['prototype']['oldValueJson']='',_0x34e04f['prototype']['newValueBoolean']=!0x1,_0x34e04f['prototype']['newValueJson']='',_0x34e04f['prototype']['wasUndone']=!0x1,_0x34e04f['create']=function(_0xa3dc44){return new _0x34e04f(_0xa3dc44);},_0x34e04f['encode']=function(_0x4416e3,_0x3753e7){return _0x3753e7||(_0x3753e7=_0x1f2d5a['create']()),null!=_0x4416e3['range']&&Object['hasOwnProperty']['call'](_0x4416e3,'range')&&_0x13e20e['Range']['encode'](_0x4416e3['range'],_0x3753e7['uint32'](0xa)['fork']())['ldelim'](),null!=_0x4416e3['key']&&Object['hasOwnProperty']['call'](_0x4416e3,'key')&&_0x3753e7['uint32'](0x12)['string'](_0x4416e3['key']),null!=_0x4416e3['oldValueBoolean']&&Object['hasOwnProperty']['call'](_0x4416e3,'oldValueBoolean')&&_0x3753e7['uint32'](0x18)['bool'](_0x4416e3['oldValueBoolean']),null!=_0x4416e3['oldValueJson']&&Object['hasOwnProperty']['call'](_0x4416e3,'oldValueJson')&&_0x3753e7['uint32'](0x22)['string'](_0x4416e3['oldValueJson']),null!=_0x4416e3['newValueBoolean']&&Object['hasOwnProperty']['call'](_0x4416e3,'newValueBoolean')&&_0x3753e7['uint32'](0x28)['bool'](_0x4416e3['newValueBoolean']),null!=_0x4416e3['newValueJson']&&Object['hasOwnProperty']['call'](_0x4416e3,'newValueJson')&&_0x3753e7['uint32'](0x32)['string'](_0x4416e3['newValueJson']),null!=_0x4416e3['wasUndone']&&Object['hasOwnProperty']['call'](_0x4416e3,'wasUndone')&&_0x3753e7['uint32'](0x38)['bool'](_0x4416e3['wasUndone']),_0x3753e7;},_0x34e04f['encodeDelimited']=function(_0x3fc639,_0x4ad423){return this['encode'](_0x3fc639,_0x4ad423)['ldelim']();},_0x34e04f['decode']=function(_0x5ca880,_0x3af65a){_0x5ca880 instanceof _0x2f2f77||(_0x5ca880=_0x2f2f77['create'](_0x5ca880));for(var _0x9260e9=void 0x0===_0x3af65a?_0x5ca880['len']:_0x5ca880['pos']+_0x3af65a,_0x5cccba=new _0x13e20e['AttributeOperation']();_0x5ca880['pos']<_0x9260e9;){var _0x4500a6=_0x5ca880['uint32']();switch(_0x4500a6>>>0x3){case 0x1:_0x5cccba['range']=_0x13e20e['Range']['decode'](_0x5ca880,_0x5ca880['uint32']());break;case 0x2:_0x5cccba['key']=_0x5ca880['string']();break;case 0x3:_0x5cccba['oldValueBoolean']=_0x5ca880['bool']();break;case 0x4:_0x5cccba['oldValueJson']=_0x5ca880['string']();break;case 0x5:_0x5cccba['newValueBoolean']=_0x5ca880['bool']();break;case 0x6:_0x5cccba['newValueJson']=_0x5ca880['string']();break;case 0x7:_0x5cccba['wasUndone']=_0x5ca880['bool']();break;default:_0x5ca880['skipType'](0x7&_0x4500a6);}}return _0x5cccba;},_0x34e04f['decodeDelimited']=function(_0x5eb926){return _0x5eb926 instanceof _0x2f2f77||(_0x5eb926=new _0x2f2f77(_0x5eb926)),this['decode'](_0x5eb926,_0x5eb926['uint32']());},_0x34e04f['verify']=function(_0x1fd093){if('object'!=typeof _0x1fd093||null===_0x1fd093)return'object\x20expected';if(null!=_0x1fd093['range']&&_0x1fd093['hasOwnProperty']('range')){var _0x253834=_0x13e20e['Range']['verify'](_0x1fd093['range']);if(_0x253834)return'range.'+_0x253834;}return null!=_0x1fd093['key']&&_0x1fd093['hasOwnProperty']('key')&&!_0x10dacb['isString'](_0x1fd093['key'])?'key:\x20string\x20expected':null!=_0x1fd093['oldValueBoolean']&&_0x1fd093['hasOwnProperty']('oldValueBoolean')&&'boolean'!=typeof _0x1fd093['oldValueBoolean']?'oldValueBoolean:\x20boolean\x20expected':null!=_0x1fd093['oldValueJson']&&_0x1fd093['hasOwnProperty']('oldValueJson')&&!_0x10dacb['isString'](_0x1fd093['oldValueJson'])?'oldValueJson:\x20string\x20expected':null!=_0x1fd093['newValueBoolean']&&_0x1fd093['hasOwnProperty']('newValueBoolean')&&'boolean'!=typeof _0x1fd093['newValueBoolean']?'newValueBoolean:\x20boolean\x20expected':null!=_0x1fd093['newValueJson']&&_0x1fd093['hasOwnProperty']('newValueJson')&&!_0x10dacb['isString'](_0x1fd093['newValueJson'])?'newValueJson:\x20string\x20expected':null!=_0x1fd093['wasUndone']&&_0x1fd093['hasOwnProperty']('wasUndone')&&'boolean'!=typeof _0x1fd093['wasUndone']?'wasUndone:\x20boolean\x20expected':null;},_0x34e04f['fromObject']=function(_0x1efc90){if(_0x1efc90 instanceof _0x13e20e['AttributeOperation'])return _0x1efc90;var _0x19bdd0=new _0x13e20e['AttributeOperation']();if(null!=_0x1efc90['range']){if('object'!=typeof _0x1efc90['range'])throw TypeError('.AttributeOperation.range:\x20object\x20expected');_0x19bdd0['range']=_0x13e20e['Range']['fromObject'](_0x1efc90['range']);}return null!=_0x1efc90['key']&&(_0x19bdd0['key']=String(_0x1efc90['key'])),null!=_0x1efc90['oldValueBoolean']&&(_0x19bdd0['oldValueBoolean']=Boolean(_0x1efc90['oldValueBoolean'])),null!=_0x1efc90['oldValueJson']&&(_0x19bdd0['oldValueJson']=String(_0x1efc90['oldValueJson'])),null!=_0x1efc90['newValueBoolean']&&(_0x19bdd0['newValueBoolean']=Boolean(_0x1efc90['newValueBoolean'])),null!=_0x1efc90['newValueJson']&&(_0x19bdd0['newValueJson']=String(_0x1efc90['newValueJson'])),null!=_0x1efc90['wasUndone']&&(_0x19bdd0['wasUndone']=Boolean(_0x1efc90['wasUndone'])),_0x19bdd0;},_0x34e04f['toObject']=function(_0x4f4761,_0x267d20){_0x267d20||(_0x267d20={});var _0x1b728c={};return _0x267d20['defaults']&&(_0x1b728c['range']=null,_0x1b728c['key']='',_0x1b728c['oldValueBoolean']=!0x1,_0x1b728c['oldValueJson']='',_0x1b728c['newValueBoolean']=!0x1,_0x1b728c['newValueJson']='',_0x1b728c['wasUndone']=!0x1),null!=_0x4f4761['range']&&_0x4f4761['hasOwnProperty']('range')&&(_0x1b728c['range']=_0x13e20e['Range']['toObject'](_0x4f4761['range'],_0x267d20)),null!=_0x4f4761['key']&&_0x4f4761['hasOwnProperty']('key')&&(_0x1b728c['key']=_0x4f4761['key']),null!=_0x4f4761['oldValueBoolean']&&_0x4f4761['hasOwnProperty']('oldValueBoolean')&&(_0x1b728c['oldValueBoolean']=_0x4f4761['oldValueBoolean']),null!=_0x4f4761['oldValueJson']&&_0x4f4761['hasOwnProperty']('oldValueJson')&&(_0x1b728c['oldValueJson']=_0x4f4761['oldValueJson']),null!=_0x4f4761['newValueBoolean']&&_0x4f4761['hasOwnProperty']('newValueBoolean')&&(_0x1b728c['newValueBoolean']=_0x4f4761['newValueBoolean']),null!=_0x4f4761['newValueJson']&&_0x4f4761['hasOwnProperty']('newValueJson')&&(_0x1b728c['newValueJson']=_0x4f4761['newValueJson']),null!=_0x4f4761['wasUndone']&&_0x4f4761['hasOwnProperty']('wasUndone')&&(_0x1b728c['wasUndone']=_0x4f4761['wasUndone']),_0x1b728c;},_0x34e04f['prototype']['toJSON']=function(){return this['constructor']['toObject'](this,_0x278ef8['util']['toJSONOptions']);},_0x34e04f['getTypeUrl']=function(_0x174380){return void 0x0===_0x174380&&(_0x174380='type.googleapis.com'),_0x174380+'/AttributeOperation';},_0x34e04f;}()),_0x13e20e['InsertOperation']=(function(){function _0x457596(_0xf66399){if(this['nodes']=[],_0xf66399){for(var _0x5d0fd4=Object['keys'](_0xf66399),_0x3d2fce=0x0;_0x3d2fce<_0x5d0fd4['length'];++_0x3d2fce)null!=_0xf66399[_0x5d0fd4[_0x3d2fce]]&&(this[_0x5d0fd4[_0x3d2fce]]=_0xf66399[_0x5d0fd4[_0x3d2fce]]);}}return _0x457596['prototype']['position']=null,_0x457596['prototype']['nodes']=_0x10dacb['emptyArray'],_0x457596['prototype']['shouldReceiveAttributes']=!0x1,_0x457596['prototype']['wasUndone']=!0x1,_0x457596['create']=function(_0x4f9273){return new _0x457596(_0x4f9273);},_0x457596['encode']=function(_0x114ef2,_0x4fb0bb){if(_0x4fb0bb||(_0x4fb0bb=_0x1f2d5a['create']()),null!=_0x114ef2['position']&&Object['hasOwnProperty']['call'](_0x114ef2,'position')&&_0x13e20e['Position']['encode'](_0x114ef2['position'],_0x4fb0bb['uint32'](0xa)['fork']())['ldelim'](),null!=_0x114ef2['nodes']&&_0x114ef2['nodes']['length']){for(var _0x1b833b=0x0;_0x1b833b<_0x114ef2['nodes']['length'];++_0x1b833b)_0x13e20e['Element']['encode'](_0x114ef2['nodes'][_0x1b833b],_0x4fb0bb['uint32'](0x12)['fork']())['ldelim']();}return null!=_0x114ef2['shouldReceiveAttributes']&&Object['hasOwnProperty']['call'](_0x114ef2,'shouldReceiveAttributes')&&_0x4fb0bb['uint32'](0x18)['bool'](_0x114ef2['shouldReceiveAttributes']),null!=_0x114ef2['wasUndone']&&Object['hasOwnProperty']['call'](_0x114ef2,'wasUndone')&&_0x4fb0bb['uint32'](0x20)['bool'](_0x114ef2['wasUndone']),_0x4fb0bb;},_0x457596['encodeDelimited']=function(_0x413701,_0x284ec2){return this['encode'](_0x413701,_0x284ec2)['ldelim']();},_0x457596['decode']=function(_0x2cd86f,_0x151127){_0x2cd86f instanceof _0x2f2f77||(_0x2cd86f=_0x2f2f77['create'](_0x2cd86f));for(var _0x51acbf=void 0x0===_0x151127?_0x2cd86f['len']:_0x2cd86f['pos']+_0x151127,_0x27387b=new _0x13e20e['InsertOperation']();_0x2cd86f['pos']<_0x51acbf;){var _0x8c09f=_0x2cd86f['uint32']();switch(_0x8c09f>>>0x3){case 0x1:_0x27387b['position']=_0x13e20e['Position']['decode'](_0x2cd86f,_0x2cd86f['uint32']());break;case 0x2:_0x27387b['nodes']&&_0x27387b['nodes']['length']||(_0x27387b['nodes']=[]),_0x27387b['nodes']['push'](_0x13e20e['Element']['decode'](_0x2cd86f,_0x2cd86f['uint32']()));break;case 0x3:_0x27387b['shouldReceiveAttributes']=_0x2cd86f['bool']();break;case 0x4:_0x27387b['wasUndone']=_0x2cd86f['bool']();break;default:_0x2cd86f['skipType'](0x7&_0x8c09f);}}return _0x27387b;},_0x457596['decodeDelimited']=function(_0x1bc855){return _0x1bc855 instanceof _0x2f2f77||(_0x1bc855=new _0x2f2f77(_0x1bc855)),this['decode'](_0x1bc855,_0x1bc855['uint32']());},_0x457596['verify']=function(_0x395dc7){if('object'!=typeof _0x395dc7||null===_0x395dc7)return'object\x20expected';if(null!=_0x395dc7['position']&&_0x395dc7['hasOwnProperty']('position')&&(_0x20a9dd=_0x13e20e['Position']['verify'](_0x395dc7['position'])))return'position.'+_0x20a9dd;if(null!=_0x395dc7['nodes']&&_0x395dc7['hasOwnProperty']('nodes')){if(!Array['isArray'](_0x395dc7['nodes']))return'nodes:\x20array\x20expected';for(var _0x3e609e=0x0;_0x3e609e<_0x395dc7['nodes']['length'];++_0x3e609e){var _0x20a9dd;if(_0x20a9dd=_0x13e20e['Element']['verify'](_0x395dc7['nodes'][_0x3e609e]))return'nodes.'+_0x20a9dd;}}return null!=_0x395dc7['shouldReceiveAttributes']&&_0x395dc7['hasOwnProperty']('shouldReceiveAttributes')&&'boolean'!=typeof _0x395dc7['shouldReceiveAttributes']?'shouldReceiveAttributes:\x20boolean\x20expected':null!=_0x395dc7['wasUndone']&&_0x395dc7['hasOwnProperty']('wasUndone')&&'boolean'!=typeof _0x395dc7['wasUndone']?'wasUndone:\x20boolean\x20expected':null;},_0x457596['fromObject']=function(_0x1816d0){if(_0x1816d0 instanceof _0x13e20e['InsertOperation'])return _0x1816d0;var _0x587c82=new _0x13e20e['InsertOperation']();if(null!=_0x1816d0['position']){if('object'!=typeof _0x1816d0['position'])throw TypeError('.InsertOperation.position:\x20object\x20expected');_0x587c82['position']=_0x13e20e['Position']['fromObject'](_0x1816d0['position']);}if(_0x1816d0['nodes']){if(!Array['isArray'](_0x1816d0['nodes']))throw TypeError('.InsertOperation.nodes:\x20array\x20expected');_0x587c82['nodes']=[];for(var _0x29d48d=0x0;_0x29d48d<_0x1816d0['nodes']['length'];++_0x29d48d){if('object'!=typeof _0x1816d0['nodes'][_0x29d48d])throw TypeError('.InsertOperation.nodes:\x20object\x20expected');_0x587c82['nodes'][_0x29d48d]=_0x13e20e['Element']['fromObject'](_0x1816d0['nodes'][_0x29d48d]);}}return null!=_0x1816d0['shouldReceiveAttributes']&&(_0x587c82['shouldReceiveAttributes']=Boolean(_0x1816d0['shouldReceiveAttributes'])),null!=_0x1816d0['wasUndone']&&(_0x587c82['wasUndone']=Boolean(_0x1816d0['wasUndone'])),_0x587c82;},_0x457596['toObject']=function(_0xdb1d89,_0x5ef601){_0x5ef601||(_0x5ef601={});var _0x12a52c={};if((_0x5ef601['arrays']||_0x5ef601['defaults'])&&(_0x12a52c['nodes']=[]),_0x5ef601['defaults']&&(_0x12a52c['position']=null,_0x12a52c['shouldReceiveAttributes']=!0x1,_0x12a52c['wasUndone']=!0x1),null!=_0xdb1d89['position']&&_0xdb1d89['hasOwnProperty']('position')&&(_0x12a52c['position']=_0x13e20e['Position']['toObject'](_0xdb1d89['position'],_0x5ef601)),_0xdb1d89['nodes']&&_0xdb1d89['nodes']['length']){_0x12a52c['nodes']=[];for(var _0x203679=0x0;_0x203679<_0xdb1d89['nodes']['length'];++_0x203679)_0x12a52c['nodes'][_0x203679]=_0x13e20e['Element']['toObject'](_0xdb1d89['nodes'][_0x203679],_0x5ef601);}return null!=_0xdb1d89['shouldReceiveAttributes']&&_0xdb1d89['hasOwnProperty']('shouldReceiveAttributes')&&(_0x12a52c['shouldReceiveAttributes']=_0xdb1d89['shouldReceiveAttributes']),null!=_0xdb1d89['wasUndone']&&_0xdb1d89['hasOwnProperty']('wasUndone')&&(_0x12a52c['wasUndone']=_0xdb1d89['wasUndone']),_0x12a52c;},_0x457596['prototype']['toJSON']=function(){return this['constructor']['toObject'](this,_0x278ef8['util']['toJSONOptions']);},_0x457596['getTypeUrl']=function(_0x153d0d){return void 0x0===_0x153d0d&&(_0x153d0d='type.googleapis.com'),_0x153d0d+'/InsertOperation';},_0x457596;}()),_0x13e20e['MarkerOperation']=(function(){function _0x4e3fa7(_0x45207d){if(_0x45207d){for(var _0x32b050=Object['keys'](_0x45207d),_0x2329f3=0x0;_0x2329f3<_0x32b050['length'];++_0x2329f3)null!=_0x45207d[_0x32b050[_0x2329f3]]&&(this[_0x32b050[_0x2329f3]]=_0x45207d[_0x32b050[_0x2329f3]]);}}return _0x4e3fa7['prototype']['name']='',_0x4e3fa7['prototype']['oldRange']=null,_0x4e3fa7['prototype']['newRange']=null,_0x4e3fa7['prototype']['affectsData']=!0x1,_0x4e3fa7['prototype']['wasUndone']=!0x1,_0x4e3fa7['create']=function(_0x41fcfb){return new _0x4e3fa7(_0x41fcfb);},_0x4e3fa7['encode']=function(_0x3f928a,_0x2c6a0a){return _0x2c6a0a||(_0x2c6a0a=_0x1f2d5a['create']()),null!=_0x3f928a['name']&&Object['hasOwnProperty']['call'](_0x3f928a,'name')&&_0x2c6a0a['uint32'](0xa)['string'](_0x3f928a['name']),null!=_0x3f928a['oldRange']&&Object['hasOwnProperty']['call'](_0x3f928a,'oldRange')&&_0x13e20e['Range']['encode'](_0x3f928a['oldRange'],_0x2c6a0a['uint32'](0x12)['fork']())['ldelim'](),null!=_0x3f928a['newRange']&&Object['hasOwnProperty']['call'](_0x3f928a,'newRange')&&_0x13e20e['Range']['encode'](_0x3f928a['newRange'],_0x2c6a0a['uint32'](0x1a)['fork']())['ldelim'](),null!=_0x3f928a['affectsData']&&Object['hasOwnProperty']['call'](_0x3f928a,'affectsData')&&_0x2c6a0a['uint32'](0x20)['bool'](_0x3f928a['affectsData']),null!=_0x3f928a['wasUndone']&&Object['hasOwnProperty']['call'](_0x3f928a,'wasUndone')&&_0x2c6a0a['uint32'](0x28)['bool'](_0x3f928a['wasUndone']),_0x2c6a0a;},_0x4e3fa7['encodeDelimited']=function(_0x1eeeb5,_0x5bb6d7){return this['encode'](_0x1eeeb5,_0x5bb6d7)['ldelim']();},_0x4e3fa7['decode']=function(_0x4bbeef,_0x2f00e1){_0x4bbeef instanceof _0x2f2f77||(_0x4bbeef=_0x2f2f77['create'](_0x4bbeef));for(var _0x18b20d=void 0x0===_0x2f00e1?_0x4bbeef['len']:_0x4bbeef['pos']+_0x2f00e1,_0x42183f=new _0x13e20e['MarkerOperation']();_0x4bbeef['pos']<_0x18b20d;){var _0x5105ed=_0x4bbeef['uint32']();switch(_0x5105ed>>>0x3){case 0x1:_0x42183f['name']=_0x4bbeef['string']();break;case 0x2:_0x42183f['oldRange']=_0x13e20e['Range']['decode'](_0x4bbeef,_0x4bbeef['uint32']());break;case 0x3:_0x42183f['newRange']=_0x13e20e['Range']['decode'](_0x4bbeef,_0x4bbeef['uint32']());break;case 0x4:_0x42183f['affectsData']=_0x4bbeef['bool']();break;case 0x5:_0x42183f['wasUndone']=_0x4bbeef['bool']();break;default:_0x4bbeef['skipType'](0x7&_0x5105ed);}}return _0x42183f;},_0x4e3fa7['decodeDelimited']=function(_0x5dc683){return _0x5dc683 instanceof _0x2f2f77||(_0x5dc683=new _0x2f2f77(_0x5dc683)),this['decode'](_0x5dc683,_0x5dc683['uint32']());},_0x4e3fa7['verify']=function(_0x9c1308){if('object'!=typeof _0x9c1308||null===_0x9c1308)return'object\x20expected';if(null!=_0x9c1308['name']&&_0x9c1308['hasOwnProperty']('name')&&!_0x10dacb['isString'](_0x9c1308['name']))return'name:\x20string\x20expected';var _0x26109b;if(null!=_0x9c1308['oldRange']&&_0x9c1308['hasOwnProperty']('oldRange')&&(_0x26109b=_0x13e20e['Range']['verify'](_0x9c1308['oldRange'])))return'oldRange.'+_0x26109b;if(null!=_0x9c1308['newRange']&&_0x9c1308['hasOwnProperty']('newRange')&&(_0x26109b=_0x13e20e['Range']['verify'](_0x9c1308['newRange'])))return'newRange.'+_0x26109b;return null!=_0x9c1308['affectsData']&&_0x9c1308['hasOwnProperty']('affectsData')&&'boolean'!=typeof _0x9c1308['affectsData']?'affectsData:\x20boolean\x20expected':null!=_0x9c1308['wasUndone']&&_0x9c1308['hasOwnProperty']('wasUndone')&&'boolean'!=typeof _0x9c1308['wasUndone']?'wasUndone:\x20boolean\x20expected':null;},_0x4e3fa7['fromObject']=function(_0x4a87c6){if(_0x4a87c6 instanceof _0x13e20e['MarkerOperation'])return _0x4a87c6;var _0x41e527=new _0x13e20e['MarkerOperation']();if(null!=_0x4a87c6['name']&&(_0x41e527['name']=String(_0x4a87c6['name'])),null!=_0x4a87c6['oldRange']){if('object'!=typeof _0x4a87c6['oldRange'])throw TypeError('.MarkerOperation.oldRange:\x20object\x20expected');_0x41e527['oldRange']=_0x13e20e['Range']['fromObject'](_0x4a87c6['oldRange']);}if(null!=_0x4a87c6['newRange']){if('object'!=typeof _0x4a87c6['newRange'])throw TypeError('.MarkerOperation.newRange:\x20object\x20expected');_0x41e527['newRange']=_0x13e20e['Range']['fromObject'](_0x4a87c6['newRange']);}return null!=_0x4a87c6['affectsData']&&(_0x41e527['affectsData']=Boolean(_0x4a87c6['affectsData'])),null!=_0x4a87c6['wasUndone']&&(_0x41e527['wasUndone']=Boolean(_0x4a87c6['wasUndone'])),_0x41e527;},_0x4e3fa7['toObject']=function(_0x3ddbbe,_0x40c97c){_0x40c97c||(_0x40c97c={});var _0xcf2b70={};return _0x40c97c['defaults']&&(_0xcf2b70['name']='',_0xcf2b70['oldRange']=null,_0xcf2b70['newRange']=null,_0xcf2b70['affectsData']=!0x1,_0xcf2b70['wasUndone']=!0x1),null!=_0x3ddbbe['name']&&_0x3ddbbe['hasOwnProperty']('name')&&(_0xcf2b70['name']=_0x3ddbbe['name']),null!=_0x3ddbbe['oldRange']&&_0x3ddbbe['hasOwnProperty']('oldRange')&&(_0xcf2b70['oldRange']=_0x13e20e['Range']['toObject'](_0x3ddbbe['oldRange'],_0x40c97c)),null!=_0x3ddbbe['newRange']&&_0x3ddbbe['hasOwnProperty']('newRange')&&(_0xcf2b70['newRange']=_0x13e20e['Range']['toObject'](_0x3ddbbe['newRange'],_0x40c97c)),null!=_0x3ddbbe['affectsData']&&_0x3ddbbe['hasOwnProperty']('affectsData')&&(_0xcf2b70['affectsData']=_0x3ddbbe['affectsData']),null!=_0x3ddbbe['wasUndone']&&_0x3ddbbe['hasOwnProperty']('wasUndone')&&(_0xcf2b70['wasUndone']=_0x3ddbbe['wasUndone']),_0xcf2b70;},_0x4e3fa7['prototype']['toJSON']=function(){return this['constructor']['toObject'](this,_0x278ef8['util']['toJSONOptions']);},_0x4e3fa7['getTypeUrl']=function(_0x441563){return void 0x0===_0x441563&&(_0x441563='type.googleapis.com'),_0x441563+'/MarkerOperation';},_0x4e3fa7;}()),_0x13e20e['MergeOperation']=(function(){function _0x4fc882(_0x370b65){if(_0x370b65){for(var _0x526274=Object['keys'](_0x370b65),_0x57cdd9=0x0;_0x57cdd9<_0x526274['length'];++_0x57cdd9)null!=_0x370b65[_0x526274[_0x57cdd9]]&&(this[_0x526274[_0x57cdd9]]=_0x370b65[_0x526274[_0x57cdd9]]);}}return _0x4fc882['prototype']['sourcePosition']=null,_0x4fc882['prototype']['targetPosition']=null,_0x4fc882['prototype']['graveyardPosition']=null,_0x4fc882['prototype']['howMany']=0x0,_0x4fc882['prototype']['wasUndone']=!0x1,_0x4fc882['create']=function(_0x9acd08){return new _0x4fc882(_0x9acd08);},_0x4fc882['encode']=function(_0x291461,_0x401268){return _0x401268||(_0x401268=_0x1f2d5a['create']()),null!=_0x291461['sourcePosition']&&Object['hasOwnProperty']['call'](_0x291461,'sourcePosition')&&_0x13e20e['Position']['encode'](_0x291461['sourcePosition'],_0x401268['uint32'](0xa)['fork']())['ldelim'](),null!=_0x291461['targetPosition']&&Object['hasOwnProperty']['call'](_0x291461,'targetPosition')&&_0x13e20e['Position']['encode'](_0x291461['targetPosition'],_0x401268['uint32'](0x12)['fork']())['ldelim'](),null!=_0x291461['graveyardPosition']&&Object['hasOwnProperty']['call'](_0x291461,'graveyardPosition')&&_0x13e20e['Position']['encode'](_0x291461['graveyardPosition'],_0x401268['uint32'](0x1a)['fork']())['ldelim'](),null!=_0x291461['howMany']&&Object['hasOwnProperty']['call'](_0x291461,'howMany')&&_0x401268['uint32'](0x20)['uint32'](_0x291461['howMany']),null!=_0x291461['wasUndone']&&Object['hasOwnProperty']['call'](_0x291461,'wasUndone')&&_0x401268['uint32'](0x28)['bool'](_0x291461['wasUndone']),_0x401268;},_0x4fc882['encodeDelimited']=function(_0xde1c7c,_0xebbc0c){return this['encode'](_0xde1c7c,_0xebbc0c)['ldelim']();},_0x4fc882['decode']=function(_0x40724b,_0x8b2d0d){_0x40724b instanceof _0x2f2f77||(_0x40724b=_0x2f2f77['create'](_0x40724b));for(var _0x44a35e=void 0x0===_0x8b2d0d?_0x40724b['len']:_0x40724b['pos']+_0x8b2d0d,_0x5dcfa4=new _0x13e20e['MergeOperation']();_0x40724b['pos']<_0x44a35e;){var _0x1f43a3=_0x40724b['uint32']();switch(_0x1f43a3>>>0x3){case 0x1:_0x5dcfa4['sourcePosition']=_0x13e20e['Position']['decode'](_0x40724b,_0x40724b['uint32']());break;case 0x2:_0x5dcfa4['targetPosition']=_0x13e20e['Position']['decode'](_0x40724b,_0x40724b['uint32']());break;case 0x3:_0x5dcfa4['graveyardPosition']=_0x13e20e['Position']['decode'](_0x40724b,_0x40724b['uint32']());break;case 0x4:_0x5dcfa4['howMany']=_0x40724b['uint32']();break;case 0x5:_0x5dcfa4['wasUndone']=_0x40724b['bool']();break;default:_0x40724b['skipType'](0x7&_0x1f43a3);}}return _0x5dcfa4;},_0x4fc882['decodeDelimited']=function(_0x3c9bed){return _0x3c9bed instanceof _0x2f2f77||(_0x3c9bed=new _0x2f2f77(_0x3c9bed)),this['decode'](_0x3c9bed,_0x3c9bed['uint32']());},_0x4fc882['verify']=function(_0x658b25){if('object'!=typeof _0x658b25||null===_0x658b25)return'object\x20expected';var _0x119c22;if(null!=_0x658b25['sourcePosition']&&_0x658b25['hasOwnProperty']('sourcePosition')&&(_0x119c22=_0x13e20e['Position']['verify'](_0x658b25['sourcePosition'])))return'sourcePosition.'+_0x119c22;if(null!=_0x658b25['targetPosition']&&_0x658b25['hasOwnProperty']('targetPosition')&&(_0x119c22=_0x13e20e['Position']['verify'](_0x658b25['targetPosition'])))return'targetPosition.'+_0x119c22;if(null!=_0x658b25['graveyardPosition']&&_0x658b25['hasOwnProperty']('graveyardPosition')&&(_0x119c22=_0x13e20e['Position']['verify'](_0x658b25['graveyardPosition'])))return'graveyardPosition.'+_0x119c22;return null!=_0x658b25['howMany']&&_0x658b25['hasOwnProperty']('howMany')&&!_0x10dacb['isInteger'](_0x658b25['howMany'])?'howMany:\x20integer\x20expected':null!=_0x658b25['wasUndone']&&_0x658b25['hasOwnProperty']('wasUndone')&&'boolean'!=typeof _0x658b25['wasUndone']?'wasUndone:\x20boolean\x20expected':null;},_0x4fc882['fromObject']=function(_0x4a5429){if(_0x4a5429 instanceof _0x13e20e['MergeOperation'])return _0x4a5429;var _0x2d7f37=new _0x13e20e['MergeOperation']();if(null!=_0x4a5429['sourcePosition']){if('object'!=typeof _0x4a5429['sourcePosition'])throw TypeError('.MergeOperation.sourcePosition:\x20object\x20expected');_0x2d7f37['sourcePosition']=_0x13e20e['Position']['fromObject'](_0x4a5429['sourcePosition']);}if(null!=_0x4a5429['targetPosition']){if('object'!=typeof _0x4a5429['targetPosition'])throw TypeError('.MergeOperation.targetPosition:\x20object\x20expected');_0x2d7f37['targetPosition']=_0x13e20e['Position']['fromObject'](_0x4a5429['targetPosition']);}if(null!=_0x4a5429['graveyardPosition']){if('object'!=typeof _0x4a5429['graveyardPosition'])throw TypeError('.MergeOperation.graveyardPosition:\x20object\x20expected');_0x2d7f37['graveyardPosition']=_0x13e20e['Position']['fromObject'](_0x4a5429['graveyardPosition']);}return null!=_0x4a5429['howMany']&&(_0x2d7f37['howMany']=_0x4a5429['howMany']>>>0x0),null!=_0x4a5429['wasUndone']&&(_0x2d7f37['wasUndone']=Boolean(_0x4a5429['wasUndone'])),_0x2d7f37;},_0x4fc882['toObject']=function(_0x5153a7,_0x24609c){_0x24609c||(_0x24609c={});var _0x3f34ce={};return _0x24609c['defaults']&&(_0x3f34ce['sourcePosition']=null,_0x3f34ce['targetPosition']=null,_0x3f34ce['graveyardPosition']=null,_0x3f34ce['howMany']=0x0,_0x3f34ce['wasUndone']=!0x1),null!=_0x5153a7['sourcePosition']&&_0x5153a7['hasOwnProperty']('sourcePosition')&&(_0x3f34ce['sourcePosition']=_0x13e20e['Position']['toObject'](_0x5153a7['sourcePosition'],_0x24609c)),null!=_0x5153a7['targetPosition']&&_0x5153a7['hasOwnProperty']('targetPosition')&&(_0x3f34ce['targetPosition']=_0x13e20e['Position']['toObject'](_0x5153a7['targetPosition'],_0x24609c)),null!=_0x5153a7['graveyardPosition']&&_0x5153a7['hasOwnProperty']('graveyardPosition')&&(_0x3f34ce['graveyardPosition']=_0x13e20e['Position']['toObject'](_0x5153a7['graveyardPosition'],_0x24609c)),null!=_0x5153a7['howMany']&&_0x5153a7['hasOwnProperty']('howMany')&&(_0x3f34ce['howMany']=_0x5153a7['howMany']),null!=_0x5153a7['wasUndone']&&_0x5153a7['hasOwnProperty']('wasUndone')&&(_0x3f34ce['wasUndone']=_0x5153a7['wasUndone']),_0x3f34ce;},_0x4fc882['prototype']['toJSON']=function(){return this['constructor']['toObject'](this,_0x278ef8['util']['toJSONOptions']);},_0x4fc882['getTypeUrl']=function(_0x349cc0){return void 0x0===_0x349cc0&&(_0x349cc0='type.googleapis.com'),_0x349cc0+'/MergeOperation';},_0x4fc882;}()),_0x13e20e['MoveOperation']=(function(){function _0x30ae74(_0x1a3fde){if(_0x1a3fde){for(var _0x1af310=Object['keys'](_0x1a3fde),_0x89aa5e=0x0;_0x89aa5e<_0x1af310['length'];++_0x89aa5e)null!=_0x1a3fde[_0x1af310[_0x89aa5e]]&&(this[_0x1af310[_0x89aa5e]]=_0x1a3fde[_0x1af310[_0x89aa5e]]);}}return _0x30ae74['prototype']['sourcePosition']=null,_0x30ae74['prototype']['howMany']=0x0,_0x30ae74['prototype']['targetPosition']=null,_0x30ae74['prototype']['wasUndone']=!0x1,_0x30ae74['create']=function(_0x2c00f0){return new _0x30ae74(_0x2c00f0);},_0x30ae74['encode']=function(_0x46ce4b,_0x3acf7f){return _0x3acf7f||(_0x3acf7f=_0x1f2d5a['create']()),null!=_0x46ce4b['sourcePosition']&&Object['hasOwnProperty']['call'](_0x46ce4b,'sourcePosition')&&_0x13e20e['Position']['encode'](_0x46ce4b['sourcePosition'],_0x3acf7f['uint32'](0xa)['fork']())['ldelim'](),null!=_0x46ce4b['howMany']&&Object['hasOwnProperty']['call'](_0x46ce4b,'howMany')&&_0x3acf7f['uint32'](0x10)['uint32'](_0x46ce4b['howMany']),null!=_0x46ce4b['targetPosition']&&Object['hasOwnProperty']['call'](_0x46ce4b,'targetPosition')&&_0x13e20e['Position']['encode'](_0x46ce4b['targetPosition'],_0x3acf7f['uint32'](0x1a)['fork']())['ldelim'](),null!=_0x46ce4b['wasUndone']&&Object['hasOwnProperty']['call'](_0x46ce4b,'wasUndone')&&_0x3acf7f['uint32'](0x20)['bool'](_0x46ce4b['wasUndone']),_0x3acf7f;},_0x30ae74['encodeDelimited']=function(_0x907e82,_0x395c9b){return this['encode'](_0x907e82,_0x395c9b)['ldelim']();},_0x30ae74['decode']=function(_0x1b17ee,_0x52ada4){_0x1b17ee instanceof _0x2f2f77||(_0x1b17ee=_0x2f2f77['create'](_0x1b17ee));for(var _0x1c917b=void 0x0===_0x52ada4?_0x1b17ee['len']:_0x1b17ee['pos']+_0x52ada4,_0x346253=new _0x13e20e['MoveOperation']();_0x1b17ee['pos']<_0x1c917b;){var _0x2fd647=_0x1b17ee['uint32']();switch(_0x2fd647>>>0x3){case 0x1:_0x346253['sourcePosition']=_0x13e20e['Position']['decode'](_0x1b17ee,_0x1b17ee['uint32']());break;case 0x2:_0x346253['howMany']=_0x1b17ee['uint32']();break;case 0x3:_0x346253['targetPosition']=_0x13e20e['Position']['decode'](_0x1b17ee,_0x1b17ee['uint32']());break;case 0x4:_0x346253['wasUndone']=_0x1b17ee['bool']();break;default:_0x1b17ee['skipType'](0x7&_0x2fd647);}}return _0x346253;},_0x30ae74['decodeDelimited']=function(_0x50582a){return _0x50582a instanceof _0x2f2f77||(_0x50582a=new _0x2f2f77(_0x50582a)),this['decode'](_0x50582a,_0x50582a['uint32']());},_0x30ae74['verify']=function(_0x2e1e52){if('object'!=typeof _0x2e1e52||null===_0x2e1e52)return'object\x20expected';var _0x185947;if(null!=_0x2e1e52['sourcePosition']&&_0x2e1e52['hasOwnProperty']('sourcePosition')&&(_0x185947=_0x13e20e['Position']['verify'](_0x2e1e52['sourcePosition'])))return'sourcePosition.'+_0x185947;if(null!=_0x2e1e52['howMany']&&_0x2e1e52['hasOwnProperty']('howMany')&&!_0x10dacb['isInteger'](_0x2e1e52['howMany']))return'howMany:\x20integer\x20expected';if(null!=_0x2e1e52['targetPosition']&&_0x2e1e52['hasOwnProperty']('targetPosition')&&(_0x185947=_0x13e20e['Position']['verify'](_0x2e1e52['targetPosition'])))return'targetPosition.'+_0x185947;return null!=_0x2e1e52['wasUndone']&&_0x2e1e52['hasOwnProperty']('wasUndone')&&'boolean'!=typeof _0x2e1e52['wasUndone']?'wasUndone:\x20boolean\x20expected':null;},_0x30ae74['fromObject']=function(_0x916edf){if(_0x916edf instanceof _0x13e20e['MoveOperation'])return _0x916edf;var _0x16b620=new _0x13e20e['MoveOperation']();if(null!=_0x916edf['sourcePosition']){if('object'!=typeof _0x916edf['sourcePosition'])throw TypeError('.MoveOperation.sourcePosition:\x20object\x20expected');_0x16b620['sourcePosition']=_0x13e20e['Position']['fromObject'](_0x916edf['sourcePosition']);}if(null!=_0x916edf['howMany']&&(_0x16b620['howMany']=_0x916edf['howMany']>>>0x0),null!=_0x916edf['targetPosition']){if('object'!=typeof _0x916edf['targetPosition'])throw TypeError('.MoveOperation.targetPosition:\x20object\x20expected');_0x16b620['targetPosition']=_0x13e20e['Position']['fromObject'](_0x916edf['targetPosition']);}return null!=_0x916edf['wasUndone']&&(_0x16b620['wasUndone']=Boolean(_0x916edf['wasUndone'])),_0x16b620;},_0x30ae74['toObject']=function(_0x32b3cc,_0xf60849){_0xf60849||(_0xf60849={});var _0x4a08ef={};return _0xf60849['defaults']&&(_0x4a08ef['sourcePosition']=null,_0x4a08ef['howMany']=0x0,_0x4a08ef['targetPosition']=null,_0x4a08ef['wasUndone']=!0x1),null!=_0x32b3cc['sourcePosition']&&_0x32b3cc['hasOwnProperty']('sourcePosition')&&(_0x4a08ef['sourcePosition']=_0x13e20e['Position']['toObject'](_0x32b3cc['sourcePosition'],_0xf60849)),null!=_0x32b3cc['howMany']&&_0x32b3cc['hasOwnProperty']('howMany')&&(_0x4a08ef['howMany']=_0x32b3cc['howMany']),null!=_0x32b3cc['targetPosition']&&_0x32b3cc['hasOwnProperty']('targetPosition')&&(_0x4a08ef['targetPosition']=_0x13e20e['Position']['toObject'](_0x32b3cc['targetPosition'],_0xf60849)),null!=_0x32b3cc['wasUndone']&&_0x32b3cc['hasOwnProperty']('wasUndone')&&(_0x4a08ef['wasUndone']=_0x32b3cc['wasUndone']),_0x4a08ef;},_0x30ae74['prototype']['toJSON']=function(){return this['constructor']['toObject'](this,_0x278ef8['util']['toJSONOptions']);},_0x30ae74['getTypeUrl']=function(_0xf92674){return void 0x0===_0xf92674&&(_0xf92674='type.googleapis.com'),_0xf92674+'/MoveOperation';},_0x30ae74;}()),_0x13e20e['RenameOperation']=(function(){function _0x3988dd(_0x456d3d){if(_0x456d3d){for(var _0x473cbf=Object['keys'](_0x456d3d),_0x19de53=0x0;_0x19de53<_0x473cbf['length'];++_0x19de53)null!=_0x456d3d[_0x473cbf[_0x19de53]]&&(this[_0x473cbf[_0x19de53]]=_0x456d3d[_0x473cbf[_0x19de53]]);}}return _0x3988dd['prototype']['position']=null,_0x3988dd['prototype']['oldName']='',_0x3988dd['prototype']['newName']='',_0x3988dd['prototype']['wasUndone']=!0x1,_0x3988dd['create']=function(_0x7cd60b){return new _0x3988dd(_0x7cd60b);},_0x3988dd['encode']=function(_0x288992,_0x1b20bc){return _0x1b20bc||(_0x1b20bc=_0x1f2d5a['create']()),null!=_0x288992['position']&&Object['hasOwnProperty']['call'](_0x288992,'position')&&_0x13e20e['Position']['encode'](_0x288992['position'],_0x1b20bc['uint32'](0xa)['fork']())['ldelim'](),null!=_0x288992['oldName']&&Object['hasOwnProperty']['call'](_0x288992,'oldName')&&_0x1b20bc['uint32'](0x12)['string'](_0x288992['oldName']),null!=_0x288992['newName']&&Object['hasOwnProperty']['call'](_0x288992,'newName')&&_0x1b20bc['uint32'](0x1a)['string'](_0x288992['newName']),null!=_0x288992['wasUndone']&&Object['hasOwnProperty']['call'](_0x288992,'wasUndone')&&_0x1b20bc['uint32'](0x20)['bool'](_0x288992['wasUndone']),_0x1b20bc;},_0x3988dd['encodeDelimited']=function(_0x378b7b,_0x25e5e6){return this['encode'](_0x378b7b,_0x25e5e6)['ldelim']();},_0x3988dd['decode']=function(_0x1f0565,_0x9141c1){_0x1f0565 instanceof _0x2f2f77||(_0x1f0565=_0x2f2f77['create'](_0x1f0565));for(var _0x1dbd5e=void 0x0===_0x9141c1?_0x1f0565['len']:_0x1f0565['pos']+_0x9141c1,_0x4d8172=new _0x13e20e['RenameOperation']();_0x1f0565['pos']<_0x1dbd5e;){var _0xbfd605=_0x1f0565['uint32']();switch(_0xbfd605>>>0x3){case 0x1:_0x4d8172['position']=_0x13e20e['Position']['decode'](_0x1f0565,_0x1f0565['uint32']());break;case 0x2:_0x4d8172['oldName']=_0x1f0565['string']();break;case 0x3:_0x4d8172['newName']=_0x1f0565['string']();break;case 0x4:_0x4d8172['wasUndone']=_0x1f0565['bool']();break;default:_0x1f0565['skipType'](0x7&_0xbfd605);}}return _0x4d8172;},_0x3988dd['decodeDelimited']=function(_0x532074){return _0x532074 instanceof _0x2f2f77||(_0x532074=new _0x2f2f77(_0x532074)),this['decode'](_0x532074,_0x532074['uint32']());},_0x3988dd['verify']=function(_0x53d46d){if('object'!=typeof _0x53d46d||null===_0x53d46d)return'object\x20expected';if(null!=_0x53d46d['position']&&_0x53d46d['hasOwnProperty']('position')){var _0x56582e=_0x13e20e['Position']['verify'](_0x53d46d['position']);if(_0x56582e)return'position.'+_0x56582e;}return null!=_0x53d46d['oldName']&&_0x53d46d['hasOwnProperty']('oldName')&&!_0x10dacb['isString'](_0x53d46d['oldName'])?'oldName:\x20string\x20expected':null!=_0x53d46d['newName']&&_0x53d46d['hasOwnProperty']('newName')&&!_0x10dacb['isString'](_0x53d46d['newName'])?'newName:\x20string\x20expected':null!=_0x53d46d['wasUndone']&&_0x53d46d['hasOwnProperty']('wasUndone')&&'boolean'!=typeof _0x53d46d['wasUndone']?'wasUndone:\x20boolean\x20expected':null;},_0x3988dd['fromObject']=function(_0x1bdaf9){if(_0x1bdaf9 instanceof _0x13e20e['RenameOperation'])return _0x1bdaf9;var _0x1e61af=new _0x13e20e['RenameOperation']();if(null!=_0x1bdaf9['position']){if('object'!=typeof _0x1bdaf9['position'])throw TypeError('.RenameOperation.position:\x20object\x20expected');_0x1e61af['position']=_0x13e20e['Position']['fromObject'](_0x1bdaf9['position']);}return null!=_0x1bdaf9['oldName']&&(_0x1e61af['oldName']=String(_0x1bdaf9['oldName'])),null!=_0x1bdaf9['newName']&&(_0x1e61af['newName']=String(_0x1bdaf9['newName'])),null!=_0x1bdaf9['wasUndone']&&(_0x1e61af['wasUndone']=Boolean(_0x1bdaf9['wasUndone'])),_0x1e61af;},_0x3988dd['toObject']=function(_0x3e01fd,_0x2bc115){_0x2bc115||(_0x2bc115={});var _0x229daf={};return _0x2bc115['defaults']&&(_0x229daf['position']=null,_0x229daf['oldName']='',_0x229daf['newName']='',_0x229daf['wasUndone']=!0x1),null!=_0x3e01fd['position']&&_0x3e01fd['hasOwnProperty']('position')&&(_0x229daf['position']=_0x13e20e['Position']['toObject'](_0x3e01fd['position'],_0x2bc115)),null!=_0x3e01fd['oldName']&&_0x3e01fd['hasOwnProperty']('oldName')&&(_0x229daf['oldName']=_0x3e01fd['oldName']),null!=_0x3e01fd['newName']&&_0x3e01fd['hasOwnProperty']('newName')&&(_0x229daf['newName']=_0x3e01fd['newName']),null!=_0x3e01fd['wasUndone']&&_0x3e01fd['hasOwnProperty']('wasUndone')&&(_0x229daf['wasUndone']=_0x3e01fd['wasUndone']),_0x229daf;},_0x3988dd['prototype']['toJSON']=function(){return this['constructor']['toObject'](this,_0x278ef8['util']['toJSONOptions']);},_0x3988dd['getTypeUrl']=function(_0x3af470){return void 0x0===_0x3af470&&(_0x3af470='type.googleapis.com'),_0x3af470+'/RenameOperation';},_0x3988dd;}()),_0x13e20e['RootAttributeOperation']=(function(){function _0x448e8b(_0x17f35f){if(_0x17f35f){for(var _0x57233b=Object['keys'](_0x17f35f),_0x1f8b25=0x0;_0x1f8b25<_0x57233b['length'];++_0x1f8b25)null!=_0x17f35f[_0x57233b[_0x1f8b25]]&&(this[_0x57233b[_0x1f8b25]]=_0x17f35f[_0x57233b[_0x1f8b25]]);}}return _0x448e8b['prototype']['root']='',_0x448e8b['prototype']['key']='',_0x448e8b['prototype']['oldValueBoolean']=!0x1,_0x448e8b['prototype']['oldValueJson']='',_0x448e8b['prototype']['newValueBoolean']=!0x1,_0x448e8b['prototype']['newValueJson']='',_0x448e8b['prototype']['wasUndone']=!0x1,_0x448e8b['create']=function(_0x23e2d3){return new _0x448e8b(_0x23e2d3);},_0x448e8b['encode']=function(_0xec3a54,_0x44532e){return _0x44532e||(_0x44532e=_0x1f2d5a['create']()),null!=_0xec3a54['root']&&Object['hasOwnProperty']['call'](_0xec3a54,'root')&&_0x44532e['uint32'](0xa)['string'](_0xec3a54['root']),null!=_0xec3a54['key']&&Object['hasOwnProperty']['call'](_0xec3a54,'key')&&_0x44532e['uint32'](0x12)['string'](_0xec3a54['key']),null!=_0xec3a54['oldValueBoolean']&&Object['hasOwnProperty']['call'](_0xec3a54,'oldValueBoolean')&&_0x44532e['uint32'](0x18)['bool'](_0xec3a54['oldValueBoolean']),null!=_0xec3a54['oldValueJson']&&Object['hasOwnProperty']['call'](_0xec3a54,'oldValueJson')&&_0x44532e['uint32'](0x22)['string'](_0xec3a54['oldValueJson']),null!=_0xec3a54['newValueBoolean']&&Object['hasOwnProperty']['call'](_0xec3a54,'newValueBoolean')&&_0x44532e['uint32'](0x28)['bool'](_0xec3a54['newValueBoolean']),null!=_0xec3a54['newValueJson']&&Object['hasOwnProperty']['call'](_0xec3a54,'newValueJson')&&_0x44532e['uint32'](0x32)['string'](_0xec3a54['newValueJson']),null!=_0xec3a54['wasUndone']&&Object['hasOwnProperty']['call'](_0xec3a54,'wasUndone')&&_0x44532e['uint32'](0x38)['bool'](_0xec3a54['wasUndone']),_0x44532e;},_0x448e8b['encodeDelimited']=function(_0xbe18d7,_0x4e3832){return this['encode'](_0xbe18d7,_0x4e3832)['ldelim']();},_0x448e8b['decode']=function(_0x3d0b0b,_0x4f2d1a){_0x3d0b0b instanceof _0x2f2f77||(_0x3d0b0b=_0x2f2f77['create'](_0x3d0b0b));for(var _0x1886a6=void 0x0===_0x4f2d1a?_0x3d0b0b['len']:_0x3d0b0b['pos']+_0x4f2d1a,_0x1207d3=new _0x13e20e['RootAttributeOperation']();_0x3d0b0b['pos']<_0x1886a6;){var _0x4a7afe=_0x3d0b0b['uint32']();switch(_0x4a7afe>>>0x3){case 0x1:_0x1207d3['root']=_0x3d0b0b['string']();break;case 0x2:_0x1207d3['key']=_0x3d0b0b['string']();break;case 0x3:_0x1207d3['oldValueBoolean']=_0x3d0b0b['bool']();break;case 0x4:_0x1207d3['oldValueJson']=_0x3d0b0b['string']();break;case 0x5:_0x1207d3['newValueBoolean']=_0x3d0b0b['bool']();break;case 0x6:_0x1207d3['newValueJson']=_0x3d0b0b['string']();break;case 0x7:_0x1207d3['wasUndone']=_0x3d0b0b['bool']();break;default:_0x3d0b0b['skipType'](0x7&_0x4a7afe);}}return _0x1207d3;},_0x448e8b['decodeDelimited']=function(_0x4edd5b){return _0x4edd5b instanceof _0x2f2f77||(_0x4edd5b=new _0x2f2f77(_0x4edd5b)),this['decode'](_0x4edd5b,_0x4edd5b['uint32']());},_0x448e8b['verify']=function(_0x38d515){return'object'!=typeof _0x38d515||null===_0x38d515?'object\x20expected':null!=_0x38d515['root']&&_0x38d515['hasOwnProperty']('root')&&!_0x10dacb['isString'](_0x38d515['root'])?'root:\x20string\x20expected':null!=_0x38d515['key']&&_0x38d515['hasOwnProperty']('key')&&!_0x10dacb['isString'](_0x38d515['key'])?'key:\x20string\x20expected':null!=_0x38d515['oldValueBoolean']&&_0x38d515['hasOwnProperty']('oldValueBoolean')&&'boolean'!=typeof _0x38d515['oldValueBoolean']?'oldValueBoolean:\x20boolean\x20expected':null!=_0x38d515['oldValueJson']&&_0x38d515['hasOwnProperty']('oldValueJson')&&!_0x10dacb['isString'](_0x38d515['oldValueJson'])?'oldValueJson:\x20string\x20expected':null!=_0x38d515['newValueBoolean']&&_0x38d515['hasOwnProperty']('newValueBoolean')&&'boolean'!=typeof _0x38d515['newValueBoolean']?'newValueBoolean:\x20boolean\x20expected':null!=_0x38d515['newValueJson']&&_0x38d515['hasOwnProperty']('newValueJson')&&!_0x10dacb['isString'](_0x38d515['newValueJson'])?'newValueJson:\x20string\x20expected':null!=_0x38d515['wasUndone']&&_0x38d515['hasOwnProperty']('wasUndone')&&'boolean'!=typeof _0x38d515['wasUndone']?'wasUndone:\x20boolean\x20expected':null;},_0x448e8b['fromObject']=function(_0x25acd1){if(_0x25acd1 instanceof _0x13e20e['RootAttributeOperation'])return _0x25acd1;var _0xf21599=new _0x13e20e['RootAttributeOperation']();return null!=_0x25acd1['root']&&(_0xf21599['root']=String(_0x25acd1['root'])),null!=_0x25acd1['key']&&(_0xf21599['key']=String(_0x25acd1['key'])),null!=_0x25acd1['oldValueBoolean']&&(_0xf21599['oldValueBoolean']=Boolean(_0x25acd1['oldValueBoolean'])),null!=_0x25acd1['oldValueJson']&&(_0xf21599['oldValueJson']=String(_0x25acd1['oldValueJson'])),null!=_0x25acd1['newValueBoolean']&&(_0xf21599['newValueBoolean']=Boolean(_0x25acd1['newValueBoolean'])),null!=_0x25acd1['newValueJson']&&(_0xf21599['newValueJson']=String(_0x25acd1['newValueJson'])),null!=_0x25acd1['wasUndone']&&(_0xf21599['wasUndone']=Boolean(_0x25acd1['wasUndone'])),_0xf21599;},_0x448e8b['toObject']=function(_0x583f0f,_0x1c13e1){_0x1c13e1||(_0x1c13e1={});var _0x63d9f={};return _0x1c13e1['defaults']&&(_0x63d9f['root']='',_0x63d9f['key']='',_0x63d9f['oldValueBoolean']=!0x1,_0x63d9f['oldValueJson']='',_0x63d9f['newValueBoolean']=!0x1,_0x63d9f['newValueJson']='',_0x63d9f['wasUndone']=!0x1),null!=_0x583f0f['root']&&_0x583f0f['hasOwnProperty']('root')&&(_0x63d9f['root']=_0x583f0f['root']),null!=_0x583f0f['key']&&_0x583f0f['hasOwnProperty']('key')&&(_0x63d9f['key']=_0x583f0f['key']),null!=_0x583f0f['oldValueBoolean']&&_0x583f0f['hasOwnProperty']('oldValueBoolean')&&(_0x63d9f['oldValueBoolean']=_0x583f0f['oldValueBoolean']),null!=_0x583f0f['oldValueJson']&&_0x583f0f['hasOwnProperty']('oldValueJson')&&(_0x63d9f['oldValueJson']=_0x583f0f['oldValueJson']),null!=_0x583f0f['newValueBoolean']&&_0x583f0f['hasOwnProperty']('newValueBoolean')&&(_0x63d9f['newValueBoolean']=_0x583f0f['newValueBoolean']),null!=_0x583f0f['newValueJson']&&_0x583f0f['hasOwnProperty']('newValueJson')&&(_0x63d9f['newValueJson']=_0x583f0f['newValueJson']),null!=_0x583f0f['wasUndone']&&_0x583f0f['hasOwnProperty']('wasUndone')&&(_0x63d9f['wasUndone']=_0x583f0f['wasUndone']),_0x63d9f;},_0x448e8b['prototype']['toJSON']=function(){return this['constructor']['toObject'](this,_0x278ef8['util']['toJSONOptions']);},_0x448e8b['getTypeUrl']=function(_0x56a1a9){return void 0x0===_0x56a1a9&&(_0x56a1a9='type.googleapis.com'),_0x56a1a9+'/RootAttributeOperation';},_0x448e8b;}()),_0x13e20e['RootOperation']=(function(){function _0x1014ab(_0x5f3240){if(_0x5f3240){for(var _0x30fda5=Object['keys'](_0x5f3240),_0x53537a=0x0;_0x53537a<_0x30fda5['length'];++_0x53537a)null!=_0x5f3240[_0x30fda5[_0x53537a]]&&(this[_0x30fda5[_0x53537a]]=_0x5f3240[_0x30fda5[_0x53537a]]);}}return _0x1014ab['prototype']['rootName']='',_0x1014ab['prototype']['elementName']='',_0x1014ab['prototype']['isAdd']=!0x1,_0x1014ab['prototype']['wasUndone']=!0x1,_0x1014ab['create']=function(_0x3f20ea){return new _0x1014ab(_0x3f20ea);},_0x1014ab['encode']=function(_0x561da7,_0x49c8dd){return _0x49c8dd||(_0x49c8dd=_0x1f2d5a['create']()),null!=_0x561da7['rootName']&&Object['hasOwnProperty']['call'](_0x561da7,'rootName')&&_0x49c8dd['uint32'](0xa)['string'](_0x561da7['rootName']),null!=_0x561da7['elementName']&&Object['hasOwnProperty']['call'](_0x561da7,'elementName')&&_0x49c8dd['uint32'](0x12)['string'](_0x561da7['elementName']),null!=_0x561da7['isAdd']&&Object['hasOwnProperty']['call'](_0x561da7,'isAdd')&&_0x49c8dd['uint32'](0x18)['bool'](_0x561da7['isAdd']),null!=_0x561da7['wasUndone']&&Object['hasOwnProperty']['call'](_0x561da7,'wasUndone')&&_0x49c8dd['uint32'](0x20)['bool'](_0x561da7['wasUndone']),_0x49c8dd;},_0x1014ab['encodeDelimited']=function(_0x4ba288,_0x57d0db){return this['encode'](_0x4ba288,_0x57d0db)['ldelim']();},_0x1014ab['decode']=function(_0x4662a7,_0x1bd04f){_0x4662a7 instanceof _0x2f2f77||(_0x4662a7=_0x2f2f77['create'](_0x4662a7));for(var _0x38067d=void 0x0===_0x1bd04f?_0x4662a7['len']:_0x4662a7['pos']+_0x1bd04f,_0x1748e8=new _0x13e20e['RootOperation']();_0x4662a7['pos']<_0x38067d;){var _0x4ba951=_0x4662a7['uint32']();switch(_0x4ba951>>>0x3){case 0x1:_0x1748e8['rootName']=_0x4662a7['string']();break;case 0x2:_0x1748e8['elementName']=_0x4662a7['string']();break;case 0x3:_0x1748e8['isAdd']=_0x4662a7['bool']();break;case 0x4:_0x1748e8['wasUndone']=_0x4662a7['bool']();break;default:_0x4662a7['skipType'](0x7&_0x4ba951);}}return _0x1748e8;},_0x1014ab['decodeDelimited']=function(_0x366f72){return _0x366f72 instanceof _0x2f2f77||(_0x366f72=new _0x2f2f77(_0x366f72)),this['decode'](_0x366f72,_0x366f72['uint32']());},_0x1014ab['verify']=function(_0x186c50){return'object'!=typeof _0x186c50||null===_0x186c50?'object\x20expected':null!=_0x186c50['rootName']&&_0x186c50['hasOwnProperty']('rootName')&&!_0x10dacb['isString'](_0x186c50['rootName'])?'rootName:\x20string\x20expected':null!=_0x186c50['elementName']&&_0x186c50['hasOwnProperty']('elementName')&&!_0x10dacb['isString'](_0x186c50['elementName'])?'elementName:\x20string\x20expected':null!=_0x186c50['isAdd']&&_0x186c50['hasOwnProperty']('isAdd')&&'boolean'!=typeof _0x186c50['isAdd']?'isAdd:\x20boolean\x20expected':null!=_0x186c50['wasUndone']&&_0x186c50['hasOwnProperty']('wasUndone')&&'boolean'!=typeof _0x186c50['wasUndone']?'wasUndone:\x20boolean\x20expected':null;},_0x1014ab['fromObject']=function(_0x236278){if(_0x236278 instanceof _0x13e20e['RootOperation'])return _0x236278;var _0xa0d8a=new _0x13e20e['RootOperation']();return null!=_0x236278['rootName']&&(_0xa0d8a['rootName']=String(_0x236278['rootName'])),null!=_0x236278['elementName']&&(_0xa0d8a['elementName']=String(_0x236278['elementName'])),null!=_0x236278['isAdd']&&(_0xa0d8a['isAdd']=Boolean(_0x236278['isAdd'])),null!=_0x236278['wasUndone']&&(_0xa0d8a['wasUndone']=Boolean(_0x236278['wasUndone'])),_0xa0d8a;},_0x1014ab['toObject']=function(_0x256c25,_0x5bfc29){_0x5bfc29||(_0x5bfc29={});var _0xf10dcd={};return _0x5bfc29['defaults']&&(_0xf10dcd['rootName']='',_0xf10dcd['elementName']='',_0xf10dcd['isAdd']=!0x1,_0xf10dcd['wasUndone']=!0x1),null!=_0x256c25['rootName']&&_0x256c25['hasOwnProperty']('rootName')&&(_0xf10dcd['rootName']=_0x256c25['rootName']),null!=_0x256c25['elementName']&&_0x256c25['hasOwnProperty']('elementName')&&(_0xf10dcd['elementName']=_0x256c25['elementName']),null!=_0x256c25['isAdd']&&_0x256c25['hasOwnProperty']('isAdd')&&(_0xf10dcd['isAdd']=_0x256c25['isAdd']),null!=_0x256c25['wasUndone']&&_0x256c25['hasOwnProperty']('wasUndone')&&(_0xf10dcd['wasUndone']=_0x256c25['wasUndone']),_0xf10dcd;},_0x1014ab['prototype']['toJSON']=function(){return this['constructor']['toObject'](this,_0x278ef8['util']['toJSONOptions']);},_0x1014ab['getTypeUrl']=function(_0x51b4b0){return void 0x0===_0x51b4b0&&(_0x51b4b0='type.googleapis.com'),_0x51b4b0+'/RootOperation';},_0x1014ab;}()),_0x13e20e['SplitOperation']=(function(){function _0x577027(_0x1bbaa3){if(_0x1bbaa3){for(var _0x3a99a0=Object['keys'](_0x1bbaa3),_0x582760=0x0;_0x582760<_0x3a99a0['length'];++_0x582760)null!=_0x1bbaa3[_0x3a99a0[_0x582760]]&&(this[_0x3a99a0[_0x582760]]=_0x1bbaa3[_0x3a99a0[_0x582760]]);}}return _0x577027['prototype']['splitPosition']=null,_0x577027['prototype']['graveyardPosition']=null,_0x577027['prototype']['howMany']=0x0,_0x577027['prototype']['insertionPosition']=null,_0x577027['prototype']['wasUndone']=!0x1,_0x577027['create']=function(_0x27a23c){return new _0x577027(_0x27a23c);},_0x577027['encode']=function(_0x2c6e3d,_0xf93329){return _0xf93329||(_0xf93329=_0x1f2d5a['create']()),null!=_0x2c6e3d['splitPosition']&&Object['hasOwnProperty']['call'](_0x2c6e3d,'splitPosition')&&_0x13e20e['Position']['encode'](_0x2c6e3d['splitPosition'],_0xf93329['uint32'](0xa)['fork']())['ldelim'](),null!=_0x2c6e3d['graveyardPosition']&&Object['hasOwnProperty']['call'](_0x2c6e3d,'graveyardPosition')&&_0x13e20e['Position']['encode'](_0x2c6e3d['graveyardPosition'],_0xf93329['uint32'](0x12)['fork']())['ldelim'](),null!=_0x2c6e3d['howMany']&&Object['hasOwnProperty']['call'](_0x2c6e3d,'howMany')&&_0xf93329['uint32'](0x18)['uint32'](_0x2c6e3d['howMany']),null!=_0x2c6e3d['insertionPosition']&&Object['hasOwnProperty']['call'](_0x2c6e3d,'insertionPosition')&&_0x13e20e['Position']['encode'](_0x2c6e3d['insertionPosition'],_0xf93329['uint32'](0x22)['fork']())['ldelim'](),null!=_0x2c6e3d['wasUndone']&&Object['hasOwnProperty']['call'](_0x2c6e3d,'wasUndone')&&_0xf93329['uint32'](0x28)['bool'](_0x2c6e3d['wasUndone']),_0xf93329;},_0x577027['encodeDelimited']=function(_0x2b8a72,_0x1a6a7a){return this['encode'](_0x2b8a72,_0x1a6a7a)['ldelim']();},_0x577027['decode']=function(_0x346301,_0x10897e){_0x346301 instanceof _0x2f2f77||(_0x346301=_0x2f2f77['create'](_0x346301));for(var _0x52a8c6=void 0x0===_0x10897e?_0x346301['len']:_0x346301['pos']+_0x10897e,_0x5c5064=new _0x13e20e['SplitOperation']();_0x346301['pos']<_0x52a8c6;){var _0x44a90e=_0x346301['uint32']();switch(_0x44a90e>>>0x3){case 0x1:_0x5c5064['splitPosition']=_0x13e20e['Position']['decode'](_0x346301,_0x346301['uint32']());break;case 0x2:_0x5c5064['graveyardPosition']=_0x13e20e['Position']['decode'](_0x346301,_0x346301['uint32']());break;case 0x3:_0x5c5064['howMany']=_0x346301['uint32']();break;case 0x4:_0x5c5064['insertionPosition']=_0x13e20e['Position']['decode'](_0x346301,_0x346301['uint32']());break;case 0x5:_0x5c5064['wasUndone']=_0x346301['bool']();break;default:_0x346301['skipType'](0x7&_0x44a90e);}}return _0x5c5064;},_0x577027['decodeDelimited']=function(_0x102246){return _0x102246 instanceof _0x2f2f77||(_0x102246=new _0x2f2f77(_0x102246)),this['decode'](_0x102246,_0x102246['uint32']());},_0x577027['verify']=function(_0x28d544){if('object'!=typeof _0x28d544||null===_0x28d544)return'object\x20expected';var _0x475785;if(null!=_0x28d544['splitPosition']&&_0x28d544['hasOwnProperty']('splitPosition')&&(_0x475785=_0x13e20e['Position']['verify'](_0x28d544['splitPosition'])))return'splitPosition.'+_0x475785;if(null!=_0x28d544['graveyardPosition']&&_0x28d544['hasOwnProperty']('graveyardPosition')&&(_0x475785=_0x13e20e['Position']['verify'](_0x28d544['graveyardPosition'])))return'graveyardPosition.'+_0x475785;if(null!=_0x28d544['howMany']&&_0x28d544['hasOwnProperty']('howMany')&&!_0x10dacb['isInteger'](_0x28d544['howMany']))return'howMany:\x20integer\x20expected';if(null!=_0x28d544['insertionPosition']&&_0x28d544['hasOwnProperty']('insertionPosition')&&(_0x475785=_0x13e20e['Position']['verify'](_0x28d544['insertionPosition'])))return'insertionPosition.'+_0x475785;return null!=_0x28d544['wasUndone']&&_0x28d544['hasOwnProperty']('wasUndone')&&'boolean'!=typeof _0x28d544['wasUndone']?'wasUndone:\x20boolean\x20expected':null;},_0x577027['fromObject']=function(_0x300d7e){if(_0x300d7e instanceof _0x13e20e['SplitOperation'])return _0x300d7e;var _0x47d9e3=new _0x13e20e['SplitOperation']();if(null!=_0x300d7e['splitPosition']){if('object'!=typeof _0x300d7e['splitPosition'])throw TypeError('.SplitOperation.splitPosition:\x20object\x20expected');_0x47d9e3['splitPosition']=_0x13e20e['Position']['fromObject'](_0x300d7e['splitPosition']);}if(null!=_0x300d7e['graveyardPosition']){if('object'!=typeof _0x300d7e['graveyardPosition'])throw TypeError('.SplitOperation.graveyardPosition:\x20object\x20expected');_0x47d9e3['graveyardPosition']=_0x13e20e['Position']['fromObject'](_0x300d7e['graveyardPosition']);}if(null!=_0x300d7e['howMany']&&(_0x47d9e3['howMany']=_0x300d7e['howMany']>>>0x0),null!=_0x300d7e['insertionPosition']){if('object'!=typeof _0x300d7e['insertionPosition'])throw TypeError('.SplitOperation.insertionPosition:\x20object\x20expected');_0x47d9e3['insertionPosition']=_0x13e20e['Position']['fromObject'](_0x300d7e['insertionPosition']);}return null!=_0x300d7e['wasUndone']&&(_0x47d9e3['wasUndone']=Boolean(_0x300d7e['wasUndone'])),_0x47d9e3;},_0x577027['toObject']=function(_0x3d581d,_0x46d7d8){_0x46d7d8||(_0x46d7d8={});var _0x312be3={};return _0x46d7d8['defaults']&&(_0x312be3['splitPosition']=null,_0x312be3['graveyardPosition']=null,_0x312be3['howMany']=0x0,_0x312be3['insertionPosition']=null,_0x312be3['wasUndone']=!0x1),null!=_0x3d581d['splitPosition']&&_0x3d581d['hasOwnProperty']('splitPosition')&&(_0x312be3['splitPosition']=_0x13e20e['Position']['toObject'](_0x3d581d['splitPosition'],_0x46d7d8)),null!=_0x3d581d['graveyardPosition']&&_0x3d581d['hasOwnProperty']('graveyardPosition')&&(_0x312be3['graveyardPosition']=_0x13e20e['Position']['toObject'](_0x3d581d['graveyardPosition'],_0x46d7d8)),null!=_0x3d581d['howMany']&&_0x3d581d['hasOwnProperty']('howMany')&&(_0x312be3['howMany']=_0x3d581d['howMany']),null!=_0x3d581d['insertionPosition']&&_0x3d581d['hasOwnProperty']('insertionPosition')&&(_0x312be3['insertionPosition']=_0x13e20e['Position']['toObject'](_0x3d581d['insertionPosition'],_0x46d7d8)),null!=_0x3d581d['wasUndone']&&_0x3d581d['hasOwnProperty']('wasUndone')&&(_0x312be3['wasUndone']=_0x3d581d['wasUndone']),_0x312be3;},_0x577027['prototype']['toJSON']=function(){return this['constructor']['toObject'](this,_0x278ef8['util']['toJSONOptions']);},_0x577027['getTypeUrl']=function(_0x5a17d7){return void 0x0===_0x5a17d7&&(_0x5a17d7='type.googleapis.com'),_0x5a17d7+'/SplitOperation';},_0x577027;}()),_0x13e20e['Position']=(function(){function _0x63f859(_0x5df6d2){if(this['path']=[],_0x5df6d2){for(var _0x344489=Object['keys'](_0x5df6d2),_0x585ae5=0x0;_0x585ae5<_0x344489['length'];++_0x585ae5)null!=_0x5df6d2[_0x344489[_0x585ae5]]&&(this[_0x344489[_0x585ae5]]=_0x5df6d2[_0x344489[_0x585ae5]]);}}return _0x63f859['prototype']['root']='',_0x63f859['prototype']['rootMain']=!0x1,_0x63f859['prototype']['rootGraveyard']=!0x1,_0x63f859['prototype']['path']=_0x10dacb['emptyArray'],_0x63f859['prototype']['stickiness']='',_0x63f859['create']=function(_0x27ab2e){return new _0x63f859(_0x27ab2e);},_0x63f859['encode']=function(_0x244ea2,_0x54bb6c){if(_0x54bb6c||(_0x54bb6c=_0x1f2d5a['create']()),null!=_0x244ea2['root']&&Object['hasOwnProperty']['call'](_0x244ea2,'root')&&_0x54bb6c['uint32'](0xa)['string'](_0x244ea2['root']),null!=_0x244ea2['rootMain']&&Object['hasOwnProperty']['call'](_0x244ea2,'rootMain')&&_0x54bb6c['uint32'](0x10)['bool'](_0x244ea2['rootMain']),null!=_0x244ea2['rootGraveyard']&&Object['hasOwnProperty']['call'](_0x244ea2,'rootGraveyard')&&_0x54bb6c['uint32'](0x18)['bool'](_0x244ea2['rootGraveyard']),null!=_0x244ea2['path']&&_0x244ea2['path']['length']){_0x54bb6c['uint32'](0x22)['fork']();for(var _0x53c13f=0x0;_0x53c13f<_0x244ea2['path']['length'];++_0x53c13f)_0x54bb6c['uint32'](_0x244ea2['path'][_0x53c13f]);_0x54bb6c['ldelim']();}return null!=_0x244ea2['stickiness']&&Object['hasOwnProperty']['call'](_0x244ea2,'stickiness')&&_0x54bb6c['uint32'](0x2a)['string'](_0x244ea2['stickiness']),_0x54bb6c;},_0x63f859['encodeDelimited']=function(_0x579ab5,_0x2166e9){return this['encode'](_0x579ab5,_0x2166e9)['ldelim']();},_0x63f859['decode']=function(_0x3bf15a,_0xa7b08c){_0x3bf15a instanceof _0x2f2f77||(_0x3bf15a=_0x2f2f77['create'](_0x3bf15a));for(var _0x3aab2a=void 0x0===_0xa7b08c?_0x3bf15a['len']:_0x3bf15a['pos']+_0xa7b08c,_0x59635f=new _0x13e20e['Position']();_0x3bf15a['pos']<_0x3aab2a;){var _0x598760=_0x3bf15a['uint32']();switch(_0x598760>>>0x3){case 0x1:_0x59635f['root']=_0x3bf15a['string']();break;case 0x2:_0x59635f['rootMain']=_0x3bf15a['bool']();break;case 0x3:_0x59635f['rootGraveyard']=_0x3bf15a['bool']();break;case 0x4:if(_0x59635f['path']&&_0x59635f['path']['length']||(_0x59635f['path']=[]),0x2==(0x7&_0x598760)){for(var _0x56404f=_0x3bf15a['uint32']()+_0x3bf15a['pos'];_0x3bf15a['pos']<_0x56404f;)_0x59635f['path']['push'](_0x3bf15a['uint32']());}else _0x59635f['path']['push'](_0x3bf15a['uint32']());break;case 0x5:_0x59635f['stickiness']=_0x3bf15a['string']();break;default:_0x3bf15a['skipType'](0x7&_0x598760);}}return _0x59635f;},_0x63f859['decodeDelimited']=function(_0x4adeed){return _0x4adeed instanceof _0x2f2f77||(_0x4adeed=new _0x2f2f77(_0x4adeed)),this['decode'](_0x4adeed,_0x4adeed['uint32']());},_0x63f859['verify']=function(_0x11429e){if('object'!=typeof _0x11429e||null===_0x11429e)return'object\x20expected';if(null!=_0x11429e['root']&&_0x11429e['hasOwnProperty']('root')&&!_0x10dacb['isString'](_0x11429e['root']))return'root:\x20string\x20expected';if(null!=_0x11429e['rootMain']&&_0x11429e['hasOwnProperty']('rootMain')&&'boolean'!=typeof _0x11429e['rootMain'])return'rootMain:\x20boolean\x20expected';if(null!=_0x11429e['rootGraveyard']&&_0x11429e['hasOwnProperty']('rootGraveyard')&&'boolean'!=typeof _0x11429e['rootGraveyard'])return'rootGraveyard:\x20boolean\x20expected';if(null!=_0x11429e['path']&&_0x11429e['hasOwnProperty']('path')){if(!Array['isArray'](_0x11429e['path']))return'path:\x20array\x20expected';for(var _0x4b0d1e=0x0;_0x4b0d1e<_0x11429e['path']['length'];++_0x4b0d1e)if(!_0x10dacb['isInteger'](_0x11429e['path'][_0x4b0d1e]))return'path:\x20integer[]\x20expected';}return null!=_0x11429e['stickiness']&&_0x11429e['hasOwnProperty']('stickiness')&&!_0x10dacb['isString'](_0x11429e['stickiness'])?'stickiness:\x20string\x20expected':null;},_0x63f859['fromObject']=function(_0x4e743d){if(_0x4e743d instanceof _0x13e20e['Position'])return _0x4e743d;var _0x571a6d=new _0x13e20e['Position']();if(null!=_0x4e743d['root']&&(_0x571a6d['root']=String(_0x4e743d['root'])),null!=_0x4e743d['rootMain']&&(_0x571a6d['rootMain']=Boolean(_0x4e743d['rootMain'])),null!=_0x4e743d['rootGraveyard']&&(_0x571a6d['rootGraveyard']=Boolean(_0x4e743d['rootGraveyard'])),_0x4e743d['path']){if(!Array['isArray'](_0x4e743d['path']))throw TypeError('.Position.path:\x20array\x20expected');_0x571a6d['path']=[];for(var _0x13e72e=0x0;_0x13e72e<_0x4e743d['path']['length'];++_0x13e72e)_0x571a6d['path'][_0x13e72e]=_0x4e743d['path'][_0x13e72e]>>>0x0;}return null!=_0x4e743d['stickiness']&&(_0x571a6d['stickiness']=String(_0x4e743d['stickiness'])),_0x571a6d;},_0x63f859['toObject']=function(_0x48f863,_0x1de7fc){_0x1de7fc||(_0x1de7fc={});var _0x5dd307={};if((_0x1de7fc['arrays']||_0x1de7fc['defaults'])&&(_0x5dd307['path']=[]),_0x1de7fc['defaults']&&(_0x5dd307['root']='',_0x5dd307['rootMain']=!0x1,_0x5dd307['rootGraveyard']=!0x1,_0x5dd307['stickiness']=''),null!=_0x48f863['root']&&_0x48f863['hasOwnProperty']('root')&&(_0x5dd307['root']=_0x48f863['root']),null!=_0x48f863['rootMain']&&_0x48f863['hasOwnProperty']('rootMain')&&(_0x5dd307['rootMain']=_0x48f863['rootMain']),null!=_0x48f863['rootGraveyard']&&_0x48f863['hasOwnProperty']('rootGraveyard')&&(_0x5dd307['rootGraveyard']=_0x48f863['rootGraveyard']),_0x48f863['path']&&_0x48f863['path']['length']){_0x5dd307['path']=[];for(var _0x24ed8f=0x0;_0x24ed8f<_0x48f863['path']['length'];++_0x24ed8f)_0x5dd307['path'][_0x24ed8f]=_0x48f863['path'][_0x24ed8f];}return null!=_0x48f863['stickiness']&&_0x48f863['hasOwnProperty']('stickiness')&&(_0x5dd307['stickiness']=_0x48f863['stickiness']),_0x5dd307;},_0x63f859['prototype']['toJSON']=function(){return this['constructor']['toObject'](this,_0x278ef8['util']['toJSONOptions']);},_0x63f859['getTypeUrl']=function(_0x4070b6){return void 0x0===_0x4070b6&&(_0x4070b6='type.googleapis.com'),_0x4070b6+'/Position';},_0x63f859;}()),_0x13e20e['Range']=(function(){function _0x198fa6(_0x5ddbf8){if(_0x5ddbf8){for(var _0x226e5c=Object['keys'](_0x5ddbf8),_0x41cb4a=0x0;_0x41cb4a<_0x226e5c['length'];++_0x41cb4a)null!=_0x5ddbf8[_0x226e5c[_0x41cb4a]]&&(this[_0x226e5c[_0x41cb4a]]=_0x5ddbf8[_0x226e5c[_0x41cb4a]]);}}return _0x198fa6['prototype']['start']=null,_0x198fa6['prototype']['end']=null,_0x198fa6['create']=function(_0x469725){return new _0x198fa6(_0x469725);},_0x198fa6['encode']=function(_0x5f564d,_0x4b5368){return _0x4b5368||(_0x4b5368=_0x1f2d5a['create']()),null!=_0x5f564d['start']&&Object['hasOwnProperty']['call'](_0x5f564d,'start')&&_0x13e20e['Position']['encode'](_0x5f564d['start'],_0x4b5368['uint32'](0xa)['fork']())['ldelim'](),null!=_0x5f564d['end']&&Object['hasOwnProperty']['call'](_0x5f564d,'end')&&_0x13e20e['Position']['encode'](_0x5f564d['end'],_0x4b5368['uint32'](0x12)['fork']())['ldelim'](),_0x4b5368;},_0x198fa6['encodeDelimited']=function(_0xe1936a,_0xa274cc){return this['encode'](_0xe1936a,_0xa274cc)['ldelim']();},_0x198fa6['decode']=function(_0xa043a1,_0x46c3a0){_0xa043a1 instanceof _0x2f2f77||(_0xa043a1=_0x2f2f77['create'](_0xa043a1));for(var _0x39ee0b=void 0x0===_0x46c3a0?_0xa043a1['len']:_0xa043a1['pos']+_0x46c3a0,_0x320e59=new _0x13e20e['Range']();_0xa043a1['pos']<_0x39ee0b;){var _0x5de5f6=_0xa043a1['uint32']();switch(_0x5de5f6>>>0x3){case 0x1:_0x320e59['start']=_0x13e20e['Position']['decode'](_0xa043a1,_0xa043a1['uint32']());break;case 0x2:_0x320e59['end']=_0x13e20e['Position']['decode'](_0xa043a1,_0xa043a1['uint32']());break;default:_0xa043a1['skipType'](0x7&_0x5de5f6);}}return _0x320e59;},_0x198fa6['decodeDelimited']=function(_0x255d24){return _0x255d24 instanceof _0x2f2f77||(_0x255d24=new _0x2f2f77(_0x255d24)),this['decode'](_0x255d24,_0x255d24['uint32']());},_0x198fa6['verify']=function(_0x45acb7){if('object'!=typeof _0x45acb7||null===_0x45acb7)return'object\x20expected';var _0x3aabca;if(null!=_0x45acb7['start']&&_0x45acb7['hasOwnProperty']('start')&&(_0x3aabca=_0x13e20e['Position']['verify'](_0x45acb7['start'])))return'start.'+_0x3aabca;if(null!=_0x45acb7['end']&&_0x45acb7['hasOwnProperty']('end')&&(_0x3aabca=_0x13e20e['Position']['verify'](_0x45acb7['end'])))return'end.'+_0x3aabca;return null;},_0x198fa6['fromObject']=function(_0x47b867){if(_0x47b867 instanceof _0x13e20e['Range'])return _0x47b867;var _0x2cad7c=new _0x13e20e['Range']();if(null!=_0x47b867['start']){if('object'!=typeof _0x47b867['start'])throw TypeError('.Range.start:\x20object\x20expected');_0x2cad7c['start']=_0x13e20e['Position']['fromObject'](_0x47b867['start']);}if(null!=_0x47b867['end']){if('object'!=typeof _0x47b867['end'])throw TypeError('.Range.end:\x20object\x20expected');_0x2cad7c['end']=_0x13e20e['Position']['fromObject'](_0x47b867['end']);}return _0x2cad7c;},_0x198fa6['toObject']=function(_0x1afdeb,_0x1d3534){_0x1d3534||(_0x1d3534={});var _0x3dec3e={};return _0x1d3534['defaults']&&(_0x3dec3e['start']=null,_0x3dec3e['end']=null),null!=_0x1afdeb['start']&&_0x1afdeb['hasOwnProperty']('start')&&(_0x3dec3e['start']=_0x13e20e['Position']['toObject'](_0x1afdeb['start'],_0x1d3534)),null!=_0x1afdeb['end']&&_0x1afdeb['hasOwnProperty']('end')&&(_0x3dec3e['end']=_0x13e20e['Position']['toObject'](_0x1afdeb['end'],_0x1d3534)),_0x3dec3e;},_0x198fa6['prototype']['toJSON']=function(){return this['constructor']['toObject'](this,_0x278ef8['util']['toJSONOptions']);},_0x198fa6['getTypeUrl']=function(_0x36fb02){return void 0x0===_0x36fb02&&(_0x36fb02='type.googleapis.com'),_0x36fb02+'/Range';},_0x198fa6;}()),_0x13e20e['Element']=(function(){function _0x5da4b2(_0x206b41){if(this['children']=[],this['attributesBoolean']={},_0x206b41){for(var _0x31f567=Object['keys'](_0x206b41),_0x3e15be=0x0;_0x3e15be<_0x31f567['length'];++_0x3e15be)null!=_0x206b41[_0x31f567[_0x3e15be]]&&(this[_0x31f567[_0x3e15be]]=_0x206b41[_0x31f567[_0x3e15be]]);}}return _0x5da4b2['prototype']['name']='',_0x5da4b2['prototype']['children']=_0x10dacb['emptyArray'],_0x5da4b2['prototype']['data']='',_0x5da4b2['prototype']['attributesBoolean']=_0x10dacb['emptyObject'],_0x5da4b2['prototype']['attributesJson']='',_0x5da4b2['create']=function(_0x465251){return new _0x5da4b2(_0x465251);},_0x5da4b2['encode']=function(_0x3e078e,_0x381bf3){if(_0x381bf3||(_0x381bf3=_0x1f2d5a['create']()),null!=_0x3e078e['name']&&Object['hasOwnProperty']['call'](_0x3e078e,'name')&&_0x381bf3['uint32'](0xa)['string'](_0x3e078e['name']),null!=_0x3e078e['children']&&_0x3e078e['children']['length']){for(var _0x548082=0x0;_0x548082<_0x3e078e['children']['length'];++_0x548082)_0x13e20e['Element']['encode'](_0x3e078e['children'][_0x548082],_0x381bf3['uint32'](0x12)['fork']())['ldelim']();}if(null!=_0x3e078e['data']&&Object['hasOwnProperty']['call'](_0x3e078e,'data')&&_0x381bf3['uint32'](0x1a)['string'](_0x3e078e['data']),null!=_0x3e078e['attributesBoolean']&&Object['hasOwnProperty']['call'](_0x3e078e,'attributesBoolean')){var _0x53a033=Object['keys'](_0x3e078e['attributesBoolean']);for(_0x548082=0x0;_0x548082<_0x53a033['length'];++_0x548082)_0x381bf3['uint32'](0x22)['fork']()['uint32'](0xa)['string'](_0x53a033[_0x548082])['uint32'](0x10)['bool'](_0x3e078e['attributesBoolean'][_0x53a033[_0x548082]])['ldelim']();}return null!=_0x3e078e['attributesJson']&&Object['hasOwnProperty']['call'](_0x3e078e,'attributesJson')&&_0x381bf3['uint32'](0x2a)['string'](_0x3e078e['attributesJson']),_0x381bf3;},_0x5da4b2['encodeDelimited']=function(_0x1e075a,_0x2dfd22){return this['encode'](_0x1e075a,_0x2dfd22)['ldelim']();},_0x5da4b2['decode']=function(_0x5c9aef,_0x1f229c){_0x5c9aef instanceof _0x2f2f77||(_0x5c9aef=_0x2f2f77['create'](_0x5c9aef));for(var _0x4f56f3,_0x1fd89a,_0x2115ea=void 0x0===_0x1f229c?_0x5c9aef['len']:_0x5c9aef['pos']+_0x1f229c,_0x9d67ea=new _0x13e20e['Element']();_0x5c9aef['pos']<_0x2115ea;){var _0x238b55=_0x5c9aef['uint32']();switch(_0x238b55>>>0x3){case 0x1:_0x9d67ea['name']=_0x5c9aef['string']();break;case 0x2:_0x9d67ea['children']&&_0x9d67ea['children']['length']||(_0x9d67ea['children']=[]),_0x9d67ea['children']['push'](_0x13e20e['Element']['decode'](_0x5c9aef,_0x5c9aef['uint32']()));break;case 0x3:_0x9d67ea['data']=_0x5c9aef['string']();break;case 0x4:_0x9d67ea['attributesBoolean']===_0x10dacb['emptyObject']&&(_0x9d67ea['attributesBoolean']={});var _0x47f2f7=_0x5c9aef['uint32']()+_0x5c9aef['pos'];for(_0x4f56f3='',_0x1fd89a=!0x1;_0x5c9aef['pos']<_0x47f2f7;){var _0x4258e7=_0x5c9aef['uint32']();switch(_0x4258e7>>>0x3){case 0x1:_0x4f56f3=_0x5c9aef['string']();break;case 0x2:_0x1fd89a=_0x5c9aef['bool']();break;default:_0x5c9aef['skipType'](0x7&_0x4258e7);}}_0x9d67ea['attributesBoolean'][_0x4f56f3]=_0x1fd89a;break;case 0x5:_0x9d67ea['attributesJson']=_0x5c9aef['string']();break;default:_0x5c9aef['skipType'](0x7&_0x238b55);}}return _0x9d67ea;},_0x5da4b2['decodeDelimited']=function(_0x4025b2){return _0x4025b2 instanceof _0x2f2f77||(_0x4025b2=new _0x2f2f77(_0x4025b2)),this['decode'](_0x4025b2,_0x4025b2['uint32']());},_0x5da4b2['verify']=function(_0x1387b4){if('object'!=typeof _0x1387b4||null===_0x1387b4)return'object\x20expected';if(null!=_0x1387b4['name']&&_0x1387b4['hasOwnProperty']('name')&&!_0x10dacb['isString'](_0x1387b4['name']))return'name:\x20string\x20expected';if(null!=_0x1387b4['children']&&_0x1387b4['hasOwnProperty']('children')){if(!Array['isArray'](_0x1387b4['children']))return'children:\x20array\x20expected';for(var _0x5470e4=0x0;_0x5470e4<_0x1387b4['children']['length'];++_0x5470e4){var _0x4e78ee=_0x13e20e['Element']['verify'](_0x1387b4['children'][_0x5470e4]);if(_0x4e78ee)return'children.'+_0x4e78ee;}}if(null!=_0x1387b4['data']&&_0x1387b4['hasOwnProperty']('data')&&!_0x10dacb['isString'](_0x1387b4['data']))return'data:\x20string\x20expected';if(null!=_0x1387b4['attributesBoolean']&&_0x1387b4['hasOwnProperty']('attributesBoolean')){if(!_0x10dacb['isObject'](_0x1387b4['attributesBoolean']))return'attributesBoolean:\x20object\x20expected';var _0x24f2d0=Object['keys'](_0x1387b4['attributesBoolean']);for(_0x5470e4=0x0;_0x5470e4<_0x24f2d0['length'];++_0x5470e4)if('boolean'!=typeof _0x1387b4['attributesBoolean'][_0x24f2d0[_0x5470e4]])return'attributesBoolean:\x20boolean{k:string}\x20expected';}return null!=_0x1387b4['attributesJson']&&_0x1387b4['hasOwnProperty']('attributesJson')&&!_0x10dacb['isString'](_0x1387b4['attributesJson'])?'attributesJson:\x20string\x20expected':null;},_0x5da4b2['fromObject']=function(_0x73858){if(_0x73858 instanceof _0x13e20e['Element'])return _0x73858;var _0x2f75f9=new _0x13e20e['Element']();if(null!=_0x73858['name']&&(_0x2f75f9['name']=String(_0x73858['name'])),_0x73858['children']){if(!Array['isArray'](_0x73858['children']))throw TypeError('.Element.children:\x20array\x20expected');_0x2f75f9['children']=[];for(var _0x580efe=0x0;_0x580efe<_0x73858['children']['length'];++_0x580efe){if('object'!=typeof _0x73858['children'][_0x580efe])throw TypeError('.Element.children:\x20object\x20expected');_0x2f75f9['children'][_0x580efe]=_0x13e20e['Element']['fromObject'](_0x73858['children'][_0x580efe]);}}if(null!=_0x73858['data']&&(_0x2f75f9['data']=String(_0x73858['data'])),_0x73858['attributesBoolean']){if('object'!=typeof _0x73858['attributesBoolean'])throw TypeError('.Element.attributesBoolean:\x20object\x20expected');_0x2f75f9['attributesBoolean']={};var _0x38b0d7=Object['keys'](_0x73858['attributesBoolean']);for(_0x580efe=0x0;_0x580efe<_0x38b0d7['length'];++_0x580efe)_0x2f75f9['attributesBoolean'][_0x38b0d7[_0x580efe]]=Boolean(_0x73858['attributesBoolean'][_0x38b0d7[_0x580efe]]);}return null!=_0x73858['attributesJson']&&(_0x2f75f9['attributesJson']=String(_0x73858['attributesJson'])),_0x2f75f9;},_0x5da4b2['toObject']=function(_0x5dde3c,_0x5257c0){_0x5257c0||(_0x5257c0={});var _0x3d6f87,_0x221aeb={};if((_0x5257c0['arrays']||_0x5257c0['defaults'])&&(_0x221aeb['children']=[]),(_0x5257c0['objects']||_0x5257c0['defaults'])&&(_0x221aeb['attributesBoolean']={}),_0x5257c0['defaults']&&(_0x221aeb['name']='',_0x221aeb['data']='',_0x221aeb['attributesJson']=''),null!=_0x5dde3c['name']&&_0x5dde3c['hasOwnProperty']('name')&&(_0x221aeb['name']=_0x5dde3c['name']),_0x5dde3c['children']&&_0x5dde3c['children']['length']){_0x221aeb['children']=[];for(var _0x3baa84=0x0;_0x3baa84<_0x5dde3c['children']['length'];++_0x3baa84)_0x221aeb['children'][_0x3baa84]=_0x13e20e['Element']['toObject'](_0x5dde3c['children'][_0x3baa84],_0x5257c0);}if(null!=_0x5dde3c['data']&&_0x5dde3c['hasOwnProperty']('data')&&(_0x221aeb['data']=_0x5dde3c['data']),_0x5dde3c['attributesBoolean']&&(_0x3d6f87=Object['keys'](_0x5dde3c['attributesBoolean']))['length']){_0x221aeb['attributesBoolean']={};for(_0x3baa84=0x0;_0x3baa84<_0x3d6f87['length'];++_0x3baa84)_0x221aeb['attributesBoolean'][_0x3d6f87[_0x3baa84]]=_0x5dde3c['attributesBoolean'][_0x3d6f87[_0x3baa84]];}return null!=_0x5dde3c['attributesJson']&&_0x5dde3c['hasOwnProperty']('attributesJson')&&(_0x221aeb['attributesJson']=_0x5dde3c['attributesJson']),_0x221aeb;},_0x5da4b2['prototype']['toJSON']=function(){return this['constructor']['toObject'](this,_0x278ef8['util']['toJSONOptions']);},_0x5da4b2['getTypeUrl']=function(_0x4d6686){return void 0x0===_0x4d6686&&(_0x4d6686='type.googleapis.com'),_0x4d6686+'/Element';},_0x5da4b2;}()),_0x13e20e;})());class r{['_protobufRoot'];constructor(){this['_protobufRoot']=u;}['getDescriptor'](_0x511128){return new y(this['_protobufRoot'][_0x511128]);}}class y{['_protobuf'];constructor(_0x4b969e){this['_protobuf']=_0x4b969e;}['compress'](_0xd258aa){const _0xb0f291=this['_protobuf']['verify'](_0xd258aa);if(_0xb0f291)throw Error(_0xb0f291);return this['_protobuf']['encode'](this['_protobuf']['create'](_0xd258aa))['finish']();}['decompress'](_0x5c6c19){return this['_protobuf']['toObject'](this['_protobuf']['decode'](_0x5c6c19),{'oneofs':!0x0});}}function _(_0x3e943a,_0x25919c){const _0x382238=_0x5d2128(_0x3e943a);return _0x382238['path'][_0x382238['path']['length']-0x1]+=_0x25919c,_0x382238;}function O(_0x449a4e,_0x4b634a){return _0x449a4e['root']===_0x4b634a['root']&&_0x2f7ae2(_0x449a4e['path'],_0x4b634a['path']);}function $(_0x5cb8b7){P(_0x5cb8b7,_0x18d9f5=>('main'==_0x18d9f5['root']?(_0x18d9f5['rootMain']=!0x0,delete _0x18d9f5['root']):'$graveyard'==_0x18d9f5['root']&&(_0x18d9f5['rootGraveyard']=!0x0,delete _0x18d9f5['root']),_0x18d9f5));}function J(_0x597237){P(_0x597237,_0x520fb6=>(_0x520fb6['rootMain']?(_0x520fb6['root']='main',delete _0x520fb6['rootMain']):_0x520fb6['rootGraveyard']&&(_0x520fb6['root']='$graveyard',delete _0x520fb6['rootGraveyard']),_0x520fb6));}function P(_0x2311be,_0x5e0d61){for(const _0x24b3fc in _0x2311be){const _0x16bb01=_0x2311be[_0x24b3fc];'nodes'!==_0x24b3fc&&_0x576835(_0x16bb01)&&(_0x16bb01['path']&&(_0x16bb01['root']||_0x16bb01['rootMain']||_0x16bb01['rootGraveyard'])?_0x2311be[_0x24b3fc]=_0x5e0d61(_0x16bb01):P(_0x16bb01,_0x5e0d61));}return _0x2311be;}class e{['_id'];['_operationName'];['_protobufDescriptor'];constructor(_0x3647f2,_0x4973f2,_0x524686){this['_id']=_0x3647f2,this['_operationName']=_0x4973f2,this['_protobufDescriptor']=_0x524686;}['compress'](_0x165a5b,_0x288f76){const _0x20bbba=_0x288f76['shift']();return $(_0x20bbba),_0x165a5b['buffers']['push'](this['_protobufDescriptor']['compress'](_0x20bbba)),_0x165a5b['types']['push'](this['_id']),!0x0;}['decompress'](_0x49191c,_0x527ffb){_0x527ffb['types']['shift']();const _0x186b89=this['_protobufDescriptor']['decompress'](_0x527ffb['buffers']['shift']());J(_0x186b89),_0x186b89['__className']=this['_operationName'],_0x49191c['push'](_0x186b89);}}class s extends e{['compress'](_0x520ffd,_0x391243){const _0x383cce=_0x391243['shift']();return this['_serializeOneOf']('oldValue',_0x383cce),this['_serializeOneOf']('newValue',_0x383cce),$(_0x383cce),_0x520ffd['buffers']['push'](this['_protobufDescriptor']['compress'](_0x383cce)),_0x520ffd['types']['push'](this['_id']),!0x0;}['decompress'](_0x2c3b92,_0x50f6b0){const {types:_0x150fd7,buffers:_0x576446}=_0x50f6b0,_0x26888c=this['_protobufDescriptor']['decompress'](_0x576446['shift']());_0x150fd7['shift'](),this['_deserializeOneOf']('oldValue',_0x26888c),this['_deserializeOneOf']('newValue',_0x26888c),J(_0x26888c),_0x26888c['__className']=this['_operationName'],_0x2c3b92['push'](_0x26888c);}['_serializeOneOf'](_0x3c55dd,_0x50b1d6){const _0x4015fd=_0x50b1d6[_0x3c55dd];'boolean'==typeof _0x4015fd?_0x50b1d6[_0x3c55dd+'Boolean']=_0x4015fd:_0x50b1d6[_0x3c55dd+'Json']=JSON['stringify'](_0x4015fd);}['_deserializeOneOf'](_0x505752,_0x2c49a1){const _0x46f8cd=_0x505752+'Json';_0x2c49a1[_0x46f8cd]?(_0x2c49a1[_0x505752]=JSON['parse'](_0x2c49a1[_0x46f8cd]),delete _0x2c49a1[_0x46f8cd]):(_0x2c49a1[_0x505752]=_0x2c49a1[_0x505752+'Boolean'],delete _0x2c49a1[_0x505752+'Boolean']);}}class i extends e{['compress'](_0x352f63,_0x3997a6){const _0x917e46=_0x3997a6['shift']();return this['_serializeNodesAttributes'](_0x917e46['nodes']),$(_0x917e46),_0x352f63['buffers']['push'](this['_protobufDescriptor']['compress'](_0x917e46)),_0x352f63['types']['push'](this['_id']),!0x0;}['decompress'](_0x50d58b,_0x1963df){const {types:_0x4f0803,buffers:_0x5e4b25}=_0x1963df,_0xbb81fd=this['_protobufDescriptor']['decompress'](_0x5e4b25['shift']());_0x4f0803['shift'](),_0xbb81fd['nodes']||(_0xbb81fd['nodes']=[]),this['_deserializeNodesAttributes'](_0xbb81fd['nodes']),J(_0xbb81fd),_0xbb81fd['__className']=this['_operationName'],_0x50d58b['push'](_0xbb81fd);}['_serializeNodesAttributes'](_0x5e8029){for(const _0x4d04f8 of _0x5e8029){if(_0x4d04f8['attributes']){const _0xa13234=_0x4d04f8['attributes'];this['_areValuesBoolean'](_0xa13234)?_0x4d04f8['attributesBoolean']=_0xa13234:_0x4d04f8['attributesJson']=JSON['stringify'](_0xa13234);}_0x4d04f8['children']&&this['_serializeNodesAttributes'](_0x4d04f8['children']);}}['_deserializeNodesAttributes'](_0x1cc041){for(const _0x2c53e0 of _0x1cc041)(_0x2c53e0['attributesBoolean']||_0x2c53e0['attributesJson'])&&(_0x2c53e0['attributesBoolean']?(_0x2c53e0['attributes']=_0x2c53e0['attributesBoolean'],delete _0x2c53e0['attributesBoolean']):(_0x2c53e0['attributes']=JSON['parse'](_0x2c53e0['attributesJson']),delete _0x2c53e0['attributesJson'])),_0x2c53e0['children']&&this['_deserializeNodesAttributes'](_0x2c53e0['children']);}['_areValuesBoolean'](_0x526f07){return Object['keys'](_0x526f07)['every'](_0x335195=>'boolean'==typeof _0x526f07[_0x335195]);}}class n extends e{['decompress'](_0x5c39e1,_0x2c5e41){super['decompress'](_0x5c39e1,_0x2c5e41);const _0x4d312e=_0x5c39e1[_0x5c39e1['length']-0x1];_0x4d312e['oldRange']||(_0x4d312e['oldRange']=null),_0x4d312e['newRange']||(_0x4d312e['newRange']=null);}}class p extends e{['compress'](_0x1f783f,_0x3db702){return _0x3db702['shift'](),_0x1f783f['types']['push'](this['_id']),!0x0;}['decompress'](_0x291945,_0x264010){_0x264010['types']['shift'](),_0x291945['push']({'__className':this['_operationName']});}}class a extends n{['_omittedNamespace'];constructor(_0x1a2efb,_0x350a5f,_0x5d224b,_0xbdf780){super(_0x1a2efb,_0x350a5f,_0x5d224b),this['_omittedNamespace']=_0xbdf780+':';}['compress'](_0x1e6c3a,_0x223a04){return!('MarkerOperation'!=_0x223a04[0x0]['__className']||!_0x223a04[0x0]['name']['startsWith'](this['_omittedNamespace']))&&(_0x223a04[0x0]['name']=_0x223a04[0x0]['name']['replace'](new RegExp('^'+this['_omittedNamespace']),''),super['compress'](_0x1e6c3a,_0x223a04),!0x0);}['decompress'](_0x466d9f,_0x330c91){super['decompress'](_0x466d9f,_0x330c91);const _0x4b637c=_0x466d9f[_0x466d9f['length']-0x1];_0x4b637c['name']=this['_omittedNamespace']+_0x4b637c['name'];}}class b{['_id'];['_context'];constructor(_0x1f4310,_0x1766dc){this['_id']=_0x1f4310,this['_context']=_0x1766dc;}['compress'](_0x329cc3,_0x30a7cb){let _0x12c574;for(;_0x30a7cb['length']>0x1&&this['_compareOperations'](_0x30a7cb[0x0],_0x30a7cb[0x1]);)_0x12c574?(_0x12c574=this['_combineNext'](_0x30a7cb['shift'](),_0x12c574),_0x329cc3['types']['push'](0x0)):(_0x12c574=_0x5d2128(_0x30a7cb['shift']()),_0x329cc3['types']['push'](this['_id']));return!!_0x12c574&&(_0x12c574=this['_combineNext'](_0x30a7cb['shift'](),_0x12c574),_0x329cc3['types']['push'](0x0),_0x329cc3['buffers']['push'](this['_compressSingleOperation'](_0x12c574)),!0x0);}['decompress'](_0x50d63b,_0x4d1bea){const _0x148f23=this['_decompressSingleOperation'](_0x4d1bea);for(;0x0==_0x4d1bea['types'][0x0];)_0x4d1bea['types']['shift'](),_0x50d63b['push'](this['_splitCurrent'](_0x148f23));_0x50d63b['push'](_0x148f23);}}class m extends b{['_combineNext'](_0x225a66,_0x17e1f8){return _0x17e1f8['nodes'][0x0]['data']+=_0x225a66['nodes'][0x0]['data'],_0x17e1f8;}['_splitCurrent'](_0x4baa81){const _0x3ad3c0=_0x5d2128(_0x4baa81),_0x5f5527=_0x3ad3c0['nodes'][0x0],_0x505af2=_0x4baa81['nodes'][0x0],_0x2a4c25=_0x505af2['data'][Symbol['iterator']]()['next']()['value'],_0x179b6e=_0x2a4c25['length'];return _0x5f5527['data']=_0x2a4c25,_0x505af2['data']=_0x505af2['data']['substr'](_0x179b6e),_0x4baa81['position']=_(_0x4baa81['position'],_0x179b6e),_0x3ad3c0;}['_compareOperations'](_0x304263,_0x31a6bc){if(this['_checkOperation'](_0x304263)&&this['_checkOperation'](_0x31a6bc)){const _0x140485=_0x304263['nodes'][0x0]['data']['length'],_0x5e7214=O(_(_0x304263['position'],_0x140485),_0x31a6bc['position']),_0x3c174d=_0x304263['nodes'][0x0],_0x17e0ec=_0x31a6bc['nodes'][0x0];return _0x5e7214&&this['_compareAttributes'](_0x3c174d,_0x17e0ec);}return!0x1;}['_compressSingleOperation'](_0x136b23){const _0x434aa2={'types':[],'buffers':[],'baseVersion':0x0};return this['_context']['_getCompressorByName']('InsertOperation')['compress'](_0x434aa2,[_0x136b23]),_0x434aa2['buffers'][0x0];}['_decompressSingleOperation'](_0x3893ad){const _0x2ab36b=[];return this['_context']['_getCompressorByName']('InsertOperation')['decompress'](_0x2ab36b,_0x3893ad),_0x2ab36b[0x0];}['_checkOperation'](_0x4fff4e){return'InsertOperation'==_0x4fff4e['__className']&&0x1==_0x4fff4e['nodes']['length']&&_0x4fff4e['nodes'][0x0]['data']&&!_0x4fff4e['wasUndone']&&0x1==Array['from'](_0x4fff4e['nodes'][0x0]['data'])['length'];}['_compareAttributes'](_0x261f7b,_0x14058d){const _0x3b3a5d=Object['keys'](_0x261f7b['attributes']||{}),_0x11ca63=Object['keys'](_0x14058d['attributes']||{});return _0x3b3a5d['length']===_0x11ca63['length']&&_0x3b3a5d['every'](_0x52c5e6=>_0x14058d['attributes'][_0x52c5e6]&&_0x14058d['attributes'][_0x52c5e6]===_0x261f7b['attributes'][_0x52c5e6]);}}class c extends b{['_combineNext'](_0x28930,_0x253f85){return _0x253f85['howMany']++,_0x253f85['sourcePosition']=_0x5d2128(_0x28930['sourcePosition']),_0x253f85;}['_splitCurrent'](_0x46d03f){const _0x48c30c=_0x5d2128(_0x46d03f);return _0x46d03f['howMany']--,_0x48c30c['howMany']=0x1,_0x48c30c['sourcePosition']=_(_0x48c30c['sourcePosition'],_0x46d03f['howMany']),_0x48c30c;}['_compareOperations'](_0x503b2f,_0xf2c40e){return!(!this['_checkOperation'](_0x503b2f)||!this['_checkOperation'](_0xf2c40e))&&(O(_(_0x503b2f['sourcePosition'],-0x1),_0xf2c40e['sourcePosition'])&&O(_0x503b2f['targetPosition'],_0xf2c40e['targetPosition']));}['_compressSingleOperation'](_0x40ef1e){const _0xa35b5d={'types':[],'buffers':[],'baseVersion':0x0};return this['_context']['_getCompressorByName']('MoveOperation')['compress'](_0xa35b5d,[_0x40ef1e]),_0xa35b5d['buffers'][0x0];}['_decompressSingleOperation'](_0x2c1ea5){const _0x1f7fba=[];return this['_context']['_getCompressorByName']('MoveOperation')['decompress'](_0x1f7fba,_0x2c1ea5),_0x1f7fba[0x0];}['_checkOperation'](_0x102449){return'MoveOperation'==_0x102449['__className']&&'$graveyard'==_0x102449['targetPosition']['root']&&0x1==_0x102449['howMany']&&!_0x102449['wasUndone'];}}class h extends b{['_combineNext'](_0x3250d7,_0x45286f){return _0x45286f['howMany']++,_0x45286f;}['_splitCurrent'](_0x2c5302){const _0x3f6217=_0x5d2128(_0x2c5302);return _0x3f6217['howMany']=0x1,_0x2c5302['howMany']--,_0x3f6217;}['_compareOperations'](_0x3af206,_0x2aef70){return!(!this['_checkOperation'](_0x3af206)||!this['_checkOperation'](_0x2aef70))&&(O(_0x3af206['sourcePosition'],_0x2aef70['sourcePosition'])&&O(_0x3af206['targetPosition'],_0x2aef70['targetPosition']));}['_compressSingleOperation'](_0x47abf2){const _0xe3ca79={'types':[],'buffers':[],'baseVersion':0x0};return this['_context']['_getCompressorByName']('MoveOperation')['compress'](_0xe3ca79,[_0x47abf2]),_0xe3ca79['buffers'][0x0];}['_decompressSingleOperation'](_0x4647a6){const _0x322f58=[];return this['_context']['_getCompressorByName']('MoveOperation')['decompress'](_0x322f58,_0x4647a6),_0x322f58[0x0];}['_checkOperation'](_0x28c960){return'MoveOperation'==_0x28c960['__className']&&'$graveyard'==_0x28c960['targetPosition']['root']&&0x1==_0x28c960['howMany']&&!_0x28c960['wasUndone'];}}class f extends b{['compress'](_0x22be2a,_0x1de563){if(!this['_compareOperations'](_0x1de563[0x0],_0x1de563[0x1]))return!0x1;const _0x196f2d=_0x1de563['shift']();return _0x196f2d['oldRange']=null,_0x196f2d['newRange']&&O(_0x196f2d['newRange']['start'],_0x196f2d['newRange']['end'])&&(_0x196f2d['newRange']['end']=null),_0x1de563['shift'](),_0x22be2a['types']['push'](this['_id']),_0x22be2a['types']['push'](0x0),_0x22be2a['buffers']['push'](this['_compressSingleOperation'](_0x196f2d)),!0x0;}['decompress'](_0x3be203,_0x10f90a){const _0x1f2ef=this['_decompressSingleOperation'](_0x10f90a);_0x1f2ef['newRange']&&!_0x1f2ef['newRange']['end']&&(_0x1f2ef['newRange']['end']=_0x5d2128(_0x1f2ef['newRange']['start']));const _0x47a395=_0x5d2128(_0x1f2ef);_0x47a395['newRange']&&(_0x47a395['newRange']['start']['stickiness']='toNone',_0x47a395['newRange']['end']=_0x5d2128(_0x47a395['newRange']['start'])),_0x47a395['name']='user:position:'+_0x47a395['name']['split'](':')[0x2],_0x10f90a['types']['shift'](),_0x3be203['push'](_0x1f2ef),_0x3be203['push'](_0x47a395);}['_compressSingleOperation'](_0x8cac0b){const _0xe2c7a0={'types':[],'buffers':[],'baseVersion':0x0};return this['_context']['_getCompressorByName']('MarkerOperation')['compress'](_0xe2c7a0,[_0x8cac0b]),_0xe2c7a0['buffers'][0x0];}['_decompressSingleOperation'](_0x1e806f){const _0x6a31cf=[];return this['_context']['_getCompressorByName']('MarkerOperation')['decompress'](_0x6a31cf,_0x1e806f),_0x6a31cf[0x0];}['_compareOperations'](_0x18cb0e,_0x4117aa){return!(!_0x18cb0e||!_0x4117aa)&&('MarkerOperation'==_0x18cb0e['__className']&&'MarkerOperation'==_0x4117aa['__className']&&!(!_0x18cb0e['name']['startsWith']('user:')||!_0x4117aa['name']['startsWith']('user:')||_0x18cb0e['name']==_0x4117aa['name']));}}class g{['_compressorById'];['_compressorByName'];['_protobufFactory'];constructor(){this['_compressorById']=new Map(),this['_compressorByName']=new Map(),this['_protobufFactory']=new r();const _0x431fd2=this['_protobufFactory']['getDescriptor']('MarkerOperation');this['_registerCompressor'](0x1,'NoOperation',new p(0x1,'NoOperation',void 0x0)),this['_registerOperationCompressor'](0xa,'AttributeOperation',s),this['_registerOperationCompressor'](0xb,'InsertOperation',i),this['_registerOperationCompressor'](0xc,'MarkerOperation',n),this['_registerOperationCompressor'](0xd,'MergeOperation',e),this['_registerOperationCompressor'](0xe,'MoveOperation',e),this['_registerOperationCompressor'](0xf,'RenameOperation',e),this['_registerOperationCompressor'](0x10,'RootAttributeOperation',s),this['_registerOperationCompressor'](0x11,'SplitOperation',e),this['_registerCompressor'](0x12,'CommentMarkerOperation',new a(0x12,'MarkerOperation',_0x431fd2,'comment')),this['_registerCompressor'](0x13,'SuggestionMarkerOperation',new a(0x13,'MarkerOperation',_0x431fd2,'suggestion')),this['_registerOperationCompressor'](0x14,'RootOperation',e),this['_registerActionCompressor'](0x64,'TypingAction',m),this['_registerActionCompressor'](0x65,'DeletingAction',c),this['_registerActionCompressor'](0x66,'ForwardDeletingAction',h),this['_registerActionCompressor'](0x67,'UserSelectionAction',f);}['compress'](_0x3473cb){if(!_0x3473cb||!_0x3473cb[0x0])throw new _0x20e851('no-operations-provided',this);const _0x11c898={'types':[],'buffers':[],'baseVersion':_0x3473cb[0x0]['baseVersion']};for(;_0x3473cb['length'];)this['_getCompressorByName']('UserSelectionAction')['compress'](_0x11c898,_0x3473cb)||this['_getCompressorByName']('TypingAction')['compress'](_0x11c898,_0x3473cb)||this['_getCompressorByName']('DeletingAction')['compress'](_0x11c898,_0x3473cb)||this['_getCompressorByName']('ForwardDeletingAction')['compress'](_0x11c898,_0x3473cb)||this['_getCompressorByName']('CommentMarkerOperation')['compress'](_0x11c898,_0x3473cb)||this['_getCompressorByName']('SuggestionMarkerOperation')['compress'](_0x11c898,_0x3473cb)||this['_getCompressorByName'](_0x3473cb[0x0]['__className'])['compress'](_0x11c898,_0x3473cb);return _0x11c898;}['decompress'](_0x4db175){const _0x2e3a04=[];for(;_0x4db175['types']['length'];){this['_compressorById']['get'](_0x4db175['types'][0x0])['decompress'](_0x2e3a04,_0x4db175);}return _0x2e3a04['forEach']((_0x242b76,_0x5a3e4f)=>_0x242b76['baseVersion']=_0x4db175['baseVersion']+_0x5a3e4f),_0x2e3a04;}['_getCompressorByName'](_0x31155e){return this['_compressorByName']['get'](_0x31155e);}['_registerOperationCompressor'](_0x1d1193,_0x3d020f,_0x449ad8){const _0x3573b7=new _0x449ad8(_0x1d1193,_0x3d020f,this['_protobufFactory']['getDescriptor'](_0x3d020f));this['_registerCompressor'](_0x1d1193,_0x3d020f,_0x3573b7);}['_registerActionCompressor'](_0x438a38,_0x269a2a,_0x38e015){const _0x12b825=new _0x38e015(_0x438a38,this);this['_registerCompressor'](_0x438a38,_0x269a2a,_0x12b825);}['_registerCompressor'](_0x57f8fa,_0x7e8958,_0x26cc83){this['_compressorById']['set'](_0x57f8fa,_0x26cc83),this['_compressorByName']['set'](_0x7e8958,_0x26cc83);}}export{g as Compressor};