From 2b77b9816376d84879a2a2de952b65824b5c96f2 Mon Sep 17 00:00:00 2001 From: David Richardson Date: Sat, 24 Oct 2026 14:37:57 -0600 Subject: [PATCH 1/4] AppKit: Add RTF list and Unicode support, and preserve rich content during internal copy-paste The RTF producer and parser lacked support for text lists, failed to encode non-ASCII characters properly (\uN), and treated first-line indents (\fi) as absolute values rather than offsets relative to left indents (\li). Additionally, paste operations ingested application-generated RTF rather than the native internal archive, causing image attachments and tables to be stripped during copy-paste workflows within the application. * AppKit/CPTextView/_CPRTFProducer.j: - Implement RTF serialization for text lists using list tables, override tables, \levelmarker, \levelprepend, \lsN\ilvlK tags, and \listtext marker blocks. - Encode non-ASCII characters via \uc0\uN syntax and compute \fi indents relative to \li. - Omit image attachment characters from text runs and adjust run starting indices to accommodate list markers. * AppKit/CPTextView/_CPRTFParser.j: - Implement pre-pass parsing for list and override tables. - Assign shared text lists to items using \ls and \ilvl, extracting marker formats from \levelmarker or standard number/level definitions. - Parse \uN sequences (skipping fallback characters) and evaluate relative \fi offsets. * AppKit/CPTextView/CPTextView.j: - Configure paste handling to prioritize internal archives when clipboard RTF originates from the application, ensuring image attachments and tables survive internal copy-paste. * AppKit/CPTextView/_CPTableTextAttachment.j: - Implement keyed archiving and decoding for table headers, rows, widths, and configuration settings, reconstructing cell instances upon unarchiving. * Tests/AppKit/CPRTFTest.j: - Add comprehensive unit tests covering Unicode encoding, relative first-line indents, TextEdit and Word list interoperability, and nested list round-trip fidelity. * Tests/AppKit/CPTextAttachmentTest.j: - Add test coverage for table attachment archiving. * Tests/Manual/TextEditor/WORKLIST.md: - Mark intra-application copy and paste testing as completed. - Log external rich text exchange limitations as open items. Intra-application copy and paste now fully preserves images, tables, and lists, while RTF serialization supports Unicode and structured hierarchical lists. --- AppKit/CPTextView/CPTextView.j | 12 +- AppKit/CPTextView/_CPRTFParser.j | 357 ++++++++++++++++++++- AppKit/CPTextView/_CPRTFProducer.j | 256 ++++++++++++++- AppKit/CPTextView/_CPTableTextAttachment.j | 36 +++ Tests/AppKit/CPRTFTest.j | 138 ++++++++ Tests/AppKit/CPTextAttachmentTest.j | 11 + Tests/Manual/TextEditor/WORKLIST.md | 8 +- 7 files changed, 804 insertions(+), 14 deletions(-) create mode 100644 Tests/AppKit/CPRTFTest.j diff --git a/AppKit/CPTextView/CPTextView.j b/AppKit/CPTextView/CPTextView.j index 3d579e14d..aa9f23a6f 100644 --- a/AppKit/CPTextView/CPTextView.j +++ b/AppKit/CPTextView/CPTextView.j @@ -5040,16 +5040,20 @@ var _CPCopyPlaceholder = '-'; // Can we accept richtext? Then this is our preference (fixme: shift key to force plain text paste) if ([currentFirstResponder respondsToSelector:@selector(isRichText)] && [currentFirstResponder isRichText]) { - var richtext = nativeClipboard.getData('text/rtf'); + var richtext = nativeClipboard.getData('text/rtf'), + richData = [pasteboard stringForType:_CPASPboardType]; + // RTF that this application wrote itself, on copy, describes the text on the internal + // pasteboard. The internal archive is pasted instead: it also keeps what RTF does not + // yet carry, such as images. + if (richtext && richData && richtext === [pasteboard stringForType:CPRTFPboardType]) + richtext = [CPKeyedUnarchiver unarchiveObjectWithData:[CPData dataWithRawString:richData]]; // prefer RTF form the outside of cappuccino - if (richtext) + else if (richtext) richtext = [[_CPRTFParser new] parseRTF:richtext]; else { // If no RTF is available, try to get the internal represatation of richtext from the pasteboard - var richData = [pasteboard stringForType:_CPASPboardType]; - if (richData) richtext = [CPKeyedUnarchiver unarchiveObjectWithData:[CPData dataWithRawString:richData]]; } diff --git a/AppKit/CPTextView/_CPRTFParser.j b/AppKit/CPTextView/_CPRTFParser.j index b2e80b295..e71d7fd5f 100644 --- a/AppKit/CPTextView/_CPRTFParser.j +++ b/AppKit/CPTextView/_CPRTFParser.j @@ -25,6 +25,7 @@ @import "CPFontManager.j" @import "CPParagraphStyle.j" @import "_CPTableTextAttachment.j" +@import "CPTextList.j" @global CPLeftTextAlignment @global CPRightTextAlignment @@ -57,6 +58,209 @@ var cp1252Map = { 0x9E: 0x017E, 0x9F: 0x0178 }; +/* + The marker format names of the RTF number formats (\levelnfc). 23 is a bullet. +*/ +var _CPRTFNumberFormatNames = { + 0: "decimal", + 1: "upper-roman", + 2: "lower-roman", + 3: "upper-alpha", + 4: "lower-alpha" + }, + _CPRTFBulletFormats = { + "\u2022": "{disc}", + "\u25E6": "{circle}", + "\u25AA": "{square}", + "\u2043": "{hyphen}", + "\u25C6": "{diamond}", + "\u2713": "{check}", + "\u25A1": "{box}" + }; + +/* + Returns the index just after the group that opens with the brace at anOpenIndex in rtf. Escaped + braces, \{ and \}, do not open or close groups. +*/ +var _CPRTFGroupEnd = function(rtf, anOpenIndex) +{ + var depth = 0; + + for (var i = anOpenIndex; i < rtf.length; i++) + { + var character = rtf.charAt(i); + + if (character === "\\") + i++; + else if (character === "{") + depth++; + else if (character === "}" && --depth === 0) + return i + 1; + } + + return rtf.length; +}; + +/* + Returns the groups in rtf that open with aPattern, a regular expression that matches the + opening brace and the group's first control word. +*/ +var _CPRTFGroups = function(rtf, aPattern) +{ + var groups = [], + match; + + aPattern.lastIndex = 0; + + while ((match = aPattern.exec(rtf))) + { + var end = _CPRTFGroupEnd(rtf, match.index); + + groups.push(rtf.substring(match.index, end)); + aPattern.lastIndex = end; + } + + return groups; +}; + +/* + Decodes the text of a list level, the content of its \leveltext destination after the length + byte, into parts: strings, and numbers for the levels whose item numbers take their place. A + \'hh escape with a value below 9 is a level number; any other is a character. +*/ +var _CPRTFLevelTextParts = function(aLevelText) +{ + var parts = [], + literal = "", + i = 0; + + while (i < aLevelText.length) + { + var character = aLevelText.charAt(i); + + if (character === ";") + break; + + if (character !== "\\") + { + literal += character; + i++; + continue; + } + + var hexMatch = /^\\'([0-9a-fA-F]{2})/.exec(aLevelText.substring(i)), + unicodeMatch = /^\\u(-?\d+) ?\??/.exec(aLevelText.substring(i)), + wordMatch = /^\\[a-z]+-?\d* ?/.exec(aLevelText.substring(i)); + + if (hexMatch) + { + var value = parseInt(hexMatch[1], 16); + + if (value < 9) + { + if (literal) + parts.push(literal); + + literal = ""; + parts.push(value); + } + else + literal += String.fromCharCode(value); + + i += hexMatch[0].length; + } + else if (unicodeMatch) + { + var code = parseInt(unicodeMatch[1], 10); + + literal += String.fromCharCode(code < 0 ? code + 65536 : code); + i += unicodeMatch[0].length; + } + else if (wordMatch) + i += wordMatch[0].length; + else + { + literal += aLevelText.charAt(i + 1); + i += 2; + } + } + + if (literal) + parts.push(literal); + + return parts; +}; + +/* + Returns the definition of one list level, {format, options, start}, from its \listlevel group. + Cocoa writes the marker format in \levelmarker. For other writers, the format is made from the + number format and the level's text. +*/ +var _CPRTFListLevelDefinition = function(aLevelGroup, aLevel) +{ + var markerMatch = /\{\\\*\\levelmarker ?((?:\\.|[^\\}])*)\}/.exec(aLevelGroup), + startMatch = /\\levelstartat(-?\d+)/.exec(aLevelGroup), + numberFormatMatch = /\\levelnfc(\d+)/.exec(aLevelGroup), + levelTextMatch = /\{\\leveltext(?:\\leveltemplateid-?\d+)? ?\\'[0-9a-fA-F]{2}((?:\\.|[^\\}])*)\}/.exec(aLevelGroup), + parts = levelTextMatch ? _CPRTFLevelTextParts(levelTextMatch[1]) : [], + prepends = /\\levelprepend(?![a-z])/.test(aLevelGroup), + format = nil; + + for (var i = 0; i < parts.length; i++) + if (typeof parts[i] === "number" && parts[i] < aLevel) + prepends = YES; + + if (markerMatch) + format = markerMatch[1].replace(/\\([\\{}])/g, "$1"); + else + { + var numberFormat = numberFormatMatch ? parseInt(numberFormatMatch[1], 10) : 0; + + if (numberFormat === 23) + { + var bullet = parts.join(""); + + format = _CPRTFBulletFormats[bullet] || bullet || CPTextListMarkerDisc; + } + else + { + // The text around this level's own number. Text after an enclosing level's number + // ends that level's marker, which is prepended, so only text before any number is + // this level's prefix. Its suffix runs up to the next number. + var name = "{" + (_CPRTFNumberFormatNames[numberFormat] || "decimal") + "}", + prefix = "", + suffix = "", + found = NO, + seenEnclosingNumber = NO; + + for (var i = 0; i < parts.length; i++) + { + if (parts[i] === aLevel) + found = YES; + else if (typeof parts[i] === "number") + { + if (found) + break; + + seenEnclosingNumber = YES; + } + else if (found) + suffix += parts[i]; + else if (!seenEnclosingNumber) + prefix += parts[i]; + } + + format = prefix + name + suffix; + } + } + + return { + format: format, + options: prepends ? CPTextListPrependEnclosingMarker : 0, + start: startMatch ? parseInt(startMatch[1], 10) : 1 + }; +}; + // Hold the attributes of the current run @implementation _RTFAttribute : CPObject { @@ -76,6 +280,13 @@ var cp1252Map = { CPTabStopType _nextTabType; int superscript; float baselineOffset; + + // The first line indent, \fi, is an offset from the left indent, \li, in RTF. + float _firstLineOffset; + + // The RTF list (\lsN) and level (\ilvlN) of a list item, or 0 and 0. + int _listNumber; + int _listLevel; } - (id)init @@ -110,6 +321,9 @@ var cp1252Map = { mynew._nextTabType = _nextTabType; mynew.superscript = superscript; mynew.baselineOffset = baselineOffset; + mynew._firstLineOffset = _firstLineOffset; + mynew._listNumber = _listNumber; + mynew._listLevel = _listLevel; return mynew; } @@ -162,6 +376,9 @@ var cp1252Map = { paragraph = [[CPParagraphStyle defaultParagraphStyle] mutableCopy]; _tabChanged = NO; _nextTabType = CPLeftTabStopType; + _firstLineOffset = 0.0; + _listNumber = 0; + _listLevel = 0; } - (void)resetFont @@ -342,6 +559,17 @@ var kRgsymRtf = { CPMutableArray _tableRows; CPMutableArray _currentRow; CPString _currentCellText; + + // Text lists: the level definitions of each RTF list by its \listid, the list of each + // override by its \ls number, and the text lists made for each override, one for each level. + Object _listDefinitions; + Object _listOverrides; + Object _textListsByOverride; + + // Unicode: the number of fallback characters after each \uN (\ucN), and how many of them are + // still to be skipped. + int _unicodeFallbackCount; + int _fallbackCharactersToSkip; } - (id)init @@ -367,6 +595,13 @@ var kRgsymRtf = { _currentRow = nil; _currentCellText = ""; + _listDefinitions = {}; + _listOverrides = {}; + _textListsByOverride = {}; + + _unicodeFallbackCount = 1; + _fallbackCharactersToSkip = 0; + // Safe Initialization _currentRun = [_RTFAttribute new]; } @@ -834,16 +1069,51 @@ var kRgsymRtf = { _currentRun.fontSize = parseInt(param) / 2; break; - case "fi": // first line indent + case "fi": // first line indent, an offset from the left indent if (_currentRun) - [_currentRun.paragraph setFirstLineHeadIndent:parseInt(param) / 20.0]; + { + _currentRun._firstLineOffset = parseInt(param) / 20.0; + [_currentRun.paragraph setFirstLineHeadIndent:[_currentRun.paragraph headIndent] + _currentRun._firstLineOffset]; + } break; case "li": // left indent / head indent if (_currentRun) + { [_currentRun.paragraph setHeadIndent:parseInt(param) / 20.0]; + [_currentRun.paragraph setFirstLineHeadIndent:[_currentRun.paragraph headIndent] + _currentRun._firstLineOffset]; + } break; + case "ls": // the RTF list of a list item + if (_currentRun) + { + _currentRun._listNumber = parseInt(param); + [self _applyTextListsToCurrentRun]; + } + break; + + case "ilvl": // the level of a list item + if (_currentRun) + { + _currentRun._listLevel = parseInt(param); + [self _applyTextListsToCurrentRun]; + } + break; + + case "uc": // the number of fallback characters after each Unicode character + _unicodeFallbackCount = parseInt(param) || 0; + break; + + case "u": // a Unicode character, followed by its fallback characters + var code = parseInt(param); + + // Fallback characters are skipped only in text that is kept. + if (_curState === 0) + _fallbackCharactersToSkip = _unicodeFallbackCount; + + return String.fromCharCode(code < 0 ? code + 65536 : code); + case "ri": // right indent / tail indent if (_currentRun) [_currentRun.paragraph setTailIndent:parseInt(param) / 20.0]; @@ -932,6 +1202,76 @@ var kRgsymRtf = { return [self _translateKeyword:keyword parameter:param fParameter:fParam]; } +/* + Reads the list table and the list override table, which are destinations the parser otherwise + skips, before the text is parsed. Paragraphs then refer to the lists with \lsN and \ilvlN. +*/ +- (void)_parseListTables:(CPString)rtf +{ + var lists = _CPRTFGroups(rtf, /\{\\list(?![a-z])/g); + + for (var i = 0; i < lists.length; i++) + { + // Only the list itself has a \listid; its levels have \leveltemplateid. + var idMatch = /\\listid(-?\d+)/.exec(lists[i]), + levels = _CPRTFGroups(lists[i], /\{\\listlevel(?![a-z])/g), + definitions = []; + + if (!idMatch) + continue; + + for (var level = 0; level < levels.length; level++) + definitions.push(_CPRTFListLevelDefinition(levels[level], level)); + + _listDefinitions[idMatch[1]] = definitions; + } + + var overrides = _CPRTFGroups(rtf, /\{\\listoverride(?![a-z])/g); + + for (var i = 0; i < overrides.length; i++) + { + var idMatch = /\\listid(-?\d+)/.exec(overrides[i]), + numberMatch = /\\ls(\d+)/.exec(overrides[i]); + + if (idMatch && numberMatch) + _listOverrides[numberMatch[1]] = idMatch[1]; + } +} + +/* + Gives the current run's paragraph the text lists of its RTF list and level. The text lists of + an RTF list are made once, one for each level, so the items of a list share them and are + numbered together. +*/ +- (void)_applyTextListsToCurrentRun +{ + var listNumber = _currentRun._listNumber; + + if (!listNumber) + { + [_currentRun.paragraph setTextLists:[]]; + return; + } + + var definitions = _listDefinitions[_listOverrides[listNumber]] || [], + textLists = _textListsByOverride[listNumber]; + + if (!textLists) + textLists = _textListsByOverride[listNumber] = []; + + for (var level = 0; level <= _currentRun._listLevel; level++) + { + if (!textLists[level]) + { + var definition = definitions[level] || {format: CPTextListMarkerDisc, options: 0, start: 1}; + + textLists[level] = [[CPTextList alloc] initWithMarkerFormat:definition.format options:definition.options startingItemNumber:definition.start]; + } + } + + [_currentRun.paragraph setTextLists:textLists.slice(0, _currentRun._listLevel + 1)]; +} + - (void)_appendPlainString:(CPString) aString { if (_inTableActive) @@ -953,6 +1293,8 @@ var kRgsymRtf = { _currentParseIndex = -1; + [self _parseListTables:rtf]; + var len = rtf.length, tmp = '', ch = '', @@ -1035,7 +1377,9 @@ var kRgsymRtf = { if (_hexreturn) { // Only append decoded characters if we are in the active body state - if (ch.length > 0 && _curState === 0) + if (ch.length > 0 && _curState === 0 && _fallbackCharactersToSkip > 0) + _fallbackCharactersToSkip--; + else if (ch.length > 0 && _curState === 0) { var byteVal = parseInt(ch, 16); var unicodeVal = byteVal; @@ -1065,7 +1409,12 @@ var kRgsymRtf = { default: lastchar = 0; - if (_curState == 0) + if (_curState == 0 && _fallbackCharactersToSkip > 0) + { + // A fallback character for the Unicode character before it. + _fallbackCharactersToSkip--; + } + else if (_curState == 0) { [self _appendPlainString:tmp]; } diff --git a/AppKit/CPTextView/_CPRTFProducer.j b/AppKit/CPTextView/_CPRTFProducer.j index e0def4985..cc0281726 100644 --- a/AppKit/CPTextView/_CPRTFProducer.j +++ b/AppKit/CPTextView/_CPRTFProducer.j @@ -28,6 +28,7 @@ @import "CPGraphics.j" @import "CPFontManager.j" @import "_CPTableTextAttachment.j" +@import "CPTextList.j" @global CPForegroundColorAttributeName @global CPBackgroundColorAttributeName @@ -57,6 +58,44 @@ var PAPERSIZE = @"PaperSize", function _points2twips(a) { return (a) * 20.0; } +/* + Escapes text for RTF. Backslashes and braces are escaped, and every character outside ASCII + is written as a Unicode control word, \uN, with no fallback characters (\uc0), as Cocoa + writes it. Values above 32767 are written as negative numbers, as RTF requires. +*/ +var _CPRTFEscapeUnicode = function(aString) +{ + return aString.replace(/[^\x00-\x7f]/g, function(aCharacter) + { + var code = aCharacter.charCodeAt(0); + + return "\\uc0\\u" + (code > 32767 ? code - 65536 : code) + " "; + }); +}; + +/* + Returns aNumber as two hexadecimal digits, for the \'hh escapes of a list level's text. +*/ +var _CPRTFHexByte = function(aNumber) +{ + return ("0" + (aNumber & 0xff).toString(16)).slice(-2); +}; + +/* + The RTF number format (\levelnfc) of each marker format name. Bullets are 23. Hexadecimal and + octal have no RTF number format, so other readers show them as decimal numbers; Cocoa reads + the marker format itself from \levelmarker. +*/ +var _CPRTFLevelNumberFormats = { + "decimal": 0, + "upper-roman": 1, + "lower-roman": 2, + "upper-alpha": 3, + "upper-latin": 3, + "lower-alpha": 4, + "lower-latin": 4 + }; + @implementation _CPRTFProducer : CPObject { CPAttributedString text; @@ -68,6 +107,11 @@ function _points2twips(a) { return (a) * 20.0; } CPColor fgColor; CPColor bgColor; CPColor ulColor; + + // The outermost text lists in the text, each written as one RTF list, and for each, the text + // list of every level, as first met. + CPArray textLists; + CPArray textListLevels; } // MARK: - @@ -94,6 +138,9 @@ function _points2twips(a) { return (a) * 20.0; } fgColor = [CPColor blackColor]; bgColor= [CPColor whiteColor]; + + textLists = []; + textListLevels = []; } return self; @@ -246,6 +293,7 @@ function _points2twips(a) { return (a) * 20.0; } result = [CPString stringWithString:@"{\\rtf1\\ansi"]; result += [self fontTable]; result += [self colorTable]; + result += [self listTables]; result += [self documentAttributes]; return result; @@ -313,7 +361,8 @@ function _points2twips(a) { return (a) * 20.0; } break; } - var twips = _points2twips([paraStyle firstLineHeadIndent]); + // In RTF the first line indent is an offset from the left indent. + var twips = _points2twips([paraStyle firstLineHeadIndent] - [paraStyle headIndent]); if (twips != 0.0) headerString += [CPString stringWithFormat:@"\\fi%d", twips]; @@ -375,12 +424,165 @@ function _points2twips(a) { return (a) * 20.0; } headerString += [CPString stringWithFormat:@"\\tx%d",_points2twips([tab location])]; } + // A list item names its RTF list and its level. + var lists = [paraStyle textLists]; + + if ([lists count]) + headerString += [CPString stringWithFormat:@"\\ls%d\\ilvl%d", [self listNumberForTextLists:lists], [lists count] - 1]; + return headerString; } +// MARK: - +// MARK: Text lists + +/* + Returns the number of the RTF list for a paragraph's text lists, and records the list of each + level. Each outermost text list becomes one RTF list, with one level for each nesting depth. +*/ +- (int)listNumberForTextLists:(CPArray)someLists +{ + var index = [textLists indexOfObjectIdenticalTo:someLists[0]]; + + if (index === CPNotFound) + { + index = textLists.length; + textLists.push(someLists[0]); + textListLevels.push([]); + } + + var levels = textListLevels[index]; + + for (var level = 0; level < someLists.length; level++) + if (!levels[level]) + levels[level] = someLists[level]; + + return index + 1; +} + +/* + Returns the list table and the list override table for the text lists in the text. Each RTF + list is a hybrid list with one level for each nesting depth, and one override, \lsN, that + paragraphs refer to. +*/ +- (CPString)listTables +{ + if (!textLists.length) + return @""; + + var listTable = @"{\\*\\listtable", + overrideTable = @"{\\*\\listoverridetable"; + + for (var i = 0; i < textLists.length; i++) + { + var listNumber = i + 1, + levels = textListLevels[i]; + + listTable += "{\\list\\listtemplateid" + listNumber + "\\listhybrid"; + + for (var level = 0; level < levels.length; level++) + listTable += [self listLevelString:levels atLevel:level templateID:listNumber * 100 + level + 1]; + + listTable += "{\\listname ;}\\listid" + listNumber + "}"; + overrideTable += "{\\listoverride\\listid" + listNumber + "\\listoverridecount0\\ls" + listNumber + "}"; + } + + return listTable + "}\n" + overrideTable + "}\n"; +} + +/* + Returns the RTF definition of one list level. Cocoa reads the marker format from the + \levelmarker destination and the prepending of the enclosing marker from \levelprepend. Other + readers use the number format (\levelnfc), the starting number (\levelstartat) and the + level's text (\leveltext), in which \'0N stands for the number of level N. +*/ +- (CPString)listLevelString:(CPArray)someLevels atLevel:(int)aLevel templateID:(int)aTemplateID +{ + var list = someLevels[aLevel], + format = [list markerFormat], + match = format.match(/\{([a-z-]+)\}/), + name = match ? match[1] : "", + numberFormat = [list isOrdered] ? (_CPRTFLevelNumberFormats[name] || 0) : 23, + parts = [self levelTextParts:someLevels atLevel:aLevel], + levelText = "", + levelNumbers = "", + length = 0, + indent = 720 * (aLevel + 1); + + for (var i = 0; i < parts.length; i++) + { + var part = parts[i]; + + if (typeof part === "number") + { + length++; + levelText += "\\'" + _CPRTFHexByte(part); + levelNumbers += "\\'" + _CPRTFHexByte(length); + } + else + { + length += part.length; + levelText += _CPRTFEscapeUnicode(part.replace(/[\\{};]/g, function(aCharacter) + { + return "\\'" + _CPRTFHexByte(aCharacter.charCodeAt(0)); + })); + } + } + + return "{\\listlevel\\levelnfc" + numberFormat + "\\levelnfcn" + numberFormat + + "\\leveljc0\\leveljcn0\\levelfollow0\\levelstartat" + [list startingItemNumber] + + "\\levelspace360\\levelindent0{\\*\\levelmarker " + _CPRTFEscapeUnicode(format.replace(/([\\{}])/g, "\\$1")) + "}" + + (([list listOptions] & CPTextListPrependEnclosingMarker) ? "\\levelprepend" : "") + + "{\\leveltext\\leveltemplateid" + aTemplateID + "\\'" + _CPRTFHexByte(length) + levelText + ";}" + + "{\\levelnumbers" + levelNumbers + ";}\\fi-720\\li" + indent + "\\lin" + indent + " }"; +} + +/* + Returns the parts of a list level's text: strings, and the level numbers whose item numbers + take their place. A bullet level is its bullet. A numbered level is the text around its number, + after the enclosing level's text when the list prepends the enclosing marker. +*/ +- (CPArray)levelTextParts:(CPArray)someLevels atLevel:(int)aLevel +{ + var list = someLevels[aLevel], + format = [list markerFormat]; + + if (![list isOrdered]) + return [[list markerForItemNumber:1]]; + + var match = format.match(/\{[a-z-]+\}/), + parts = []; + + if (aLevel > 0 && ([list listOptions] & CPTextListPrependEnclosingMarker)) + parts = [self levelTextParts:someLevels atLevel:aLevel - 1]; + + if (match.index > 0) + parts.push(format.substring(0, match.index)); + + parts.push(aLevel); + + if (match.index + match[0].length < format.length) + parts.push(format.substring(match.index + match[0].length)); + + return parts; +} + - (CPString)runStringForString:(CPString) substring attributes:(CPDictionary) attributes paragraphStart:(BOOL) first +{ + return [self runStringForString:substring attributes:attributes paragraphStart:first listMarker:NO]; +} + +/* + As -runStringForString:attributes:paragraphStart:. When isListMarker is YES, the run is the + marker at the start of a list item, and is written in a \listtext group, as Cocoa writes it. + Readers that understand lists number the items themselves; others show the marker text. +*/ +- (CPString)runStringForString:(CPString) substring + attributes:(CPDictionary) attributes + paragraphStart:(BOOL) first + listMarker:(BOOL) isListMarker { var unwrap = function(obj) { if (!obj) return null; @@ -704,11 +906,18 @@ function _points2twips(a) { return (a) * 20.0; } } } + // An image attachment is not written yet, so its attachment character is left out. + substring = substring.replace(/\uFFFC/g, ''); + substring = substring.replace(/\\/g, '\\\\'); substring = substring.replace(/\n/g, '\\par\n'); substring = substring.replace(/\t/g, '\\tab '); substring = substring.replace(/{/g, '\\{'); substring = substring.replace(/}/g, '\\}'); + substring = _CPRTFEscapeUnicode(substring); + + if (isListMarker) + substring = "{\\listtext " + substring + "}"; if (!first) { @@ -752,13 +961,29 @@ function _points2twips(a) { return (a) * 20.0; } substring, runString; - attributes = [text attributesAtIndex:CPMaxRange(currRange) + var runStart = CPMaxRange(currRange); + + attributes = [text attributesAtIndex:runStart longestEffectiveRange:currRange inRange:completeRange]; + + // The longest effective range can reach back before the run's start, after a list marker + // that shares its attributes was written as a run of its own. + if (currRange.location < runStart) + currRange = CPMakeRange(runStart, CPMaxRange(currRange) - runStart); + + // A list item's marker, a tab, the marker and a tab, is written as a run of its own. + var markerLength = paragraphStart ? [self listMarkerLengthAtIndex:currRange.location attributes:attributes] : 0, + isListMarker = markerLength > 0 && markerLength <= currRange.length; + + if (isListMarker) + currRange.length = markerLength; + substring = [string substringWithRange:currRange]; runString = [self runStringForString:substring attributes:attributes - paragraphStart:paragraphStart]; + paragraphStart:paragraphStart + listMarker:isListMarker]; result += runString; @@ -772,6 +997,31 @@ function _points2twips(a) { return (a) * 20.0; } } +/* + Returns the length of the marker at the start of a list item, a tab, the marker and a tab, or + 0 when the paragraph is not a list item or does not start with a marker. +*/ +- (unsigned)listMarkerLengthAtIndex:(unsigned)anIndex attributes:(CPDictionary)attributes +{ + var string = [text string]; + + if (![[[attributes objectForKey:CPParagraphStyleAttributeName] textLists] count] || string.charAt(anIndex) !== "\t") + return 0; + + for (var i = anIndex + 1; i < string.length; i++) + { + var character = string.charAt(i); + + if (character === "\t") + return i - anIndex + 1; + + if (character === "\n") + break; + } + + return 0; +} + - (CPString)RTFDStringFromAttributedString:(CPAttributedString)aText documentAttributes:(CPDictionary)dict { diff --git a/AppKit/CPTextView/_CPTableTextAttachment.j b/AppKit/CPTextView/_CPTableTextAttachment.j index 9e7d3daed..b48fa60a4 100644 --- a/AppKit/CPTextView/_CPTableTextAttachment.j +++ b/AppKit/CPTextView/_CPTableTextAttachment.j @@ -556,3 +556,39 @@ } @end + +var _CPTableTextAttachmentHeadersKey = @"_CPTableTextAttachmentHeaders", + _CPTableTextAttachmentRowsKey = @"_CPTableTextAttachmentRows", + _CPTableTextAttachmentWidthKey = @"_CPTableTextAttachmentWidth", + _CPTableTextAttachmentIsEditableKey = @"_CPTableTextAttachmentIsEditable", + _CPTableTextAttachmentAcceptsRichTextKey = @"_CPTableTextAttachmentAcceptsRichText"; + +@implementation _CPTableTextAttachment (CPCoding) + +/* + Decodes the table from its headers, rows, width and settings, and builds its cells again. + The cells are not decoded as subviews; they are made from the decoded text. +*/ +- (id)initWithCoder:(CPCoder)aCoder +{ + return [self initWithHeaders:[aCoder decodeObjectForKey:_CPTableTextAttachmentHeadersKey] + rows:[aCoder decodeObjectForKey:_CPTableTextAttachmentRowsKey] + width:[aCoder decodeFloatForKey:_CPTableTextAttachmentWidthKey] || 500.0 + isEditable:[aCoder decodeBoolForKey:_CPTableTextAttachmentIsEditableKey] + acceptsRichText:[aCoder decodeBoolForKey:_CPTableTextAttachmentAcceptsRichTextKey]]; +} + +/* + Encodes the table's current text, including edits made in its cells, its width and its + settings. The cell views are not encoded. +*/ +- (void)encodeWithCoder:(CPCoder)aCoder +{ + [aCoder encodeObject:[self headers] forKey:_CPTableTextAttachmentHeadersKey]; + [aCoder encodeObject:[self rows] forKey:_CPTableTextAttachmentRowsKey]; + [aCoder encodeFloat:CGRectGetWidth([self frame]) forKey:_CPTableTextAttachmentWidthKey]; + [aCoder encodeBool:_isEditable forKey:_CPTableTextAttachmentIsEditableKey]; + [aCoder encodeBool:_acceptsRichText forKey:_CPTableTextAttachmentAcceptsRichTextKey]; +} + +@end diff --git a/Tests/AppKit/CPRTFTest.j b/Tests/AppKit/CPRTFTest.j new file mode 100644 index 000000000..1d310dd6d --- /dev/null +++ b/Tests/AppKit/CPRTFTest.j @@ -0,0 +1,138 @@ +@import +@import + +@implementation CPRTFTest : OJTestCase +{ + CPWindow theWindow; + CPTextView textView; +} + +- (void)setUp +{ + [[CPApplication alloc] init]; + + theWindow = [[CPWindow alloc] initWithContentRect:CGRectMake(0.0, 0.0, 1024.0, 768.0) styleMask:CPWindowNotSizable]; + textView = [[CPTextView alloc] initWithFrame:CGRectMake(0.0, 0.0, 300.0, 300.0)]; + + [textView setRichText:YES]; + [[theWindow contentView] addSubview:textView]; + [theWindow makeFirstResponder:textView]; +} + +- (CPAttributedString)roundTrip:(CPAttributedString)aString +{ + var rtf = [_CPRTFProducer produceRTF:aString documentAttributes:@{}]; + + return [[_CPRTFParser new] parseRTF:rtf]; +} + +- (CPArray)textListsAtIndex:(unsigned)anIndex ofString:(CPAttributedString)aString +{ + return [[aString attribute:CPParagraphStyleAttributeName atIndex:anIndex effectiveRange:nil] textLists]; +} + +// MARK: Unicode + +- (void)testUnicodeIsEscapedAndRead +{ + var text = @"Café — “quoted” •", + rtf = [_CPRTFProducer produceRTF:[[CPAttributedString alloc] initWithString:text] documentAttributes:@{}]; + + [self assertTrue:rtf.indexOf("\\u8212 ") !== -1 message:@"an em dash is written as \\u8212"]; + [self assertTrue:/^[\x00-\x7f]*$/.test(rtf) message:@"the RTF holds only ASCII"]; + [self assert:text equals:[[[_CPRTFParser new] parseRTF:rtf] string]]; +} + +- (void)testUnicodeFallbackCharactersAreSkipped +{ + var parsed = [[_CPRTFParser new] parseRTF:@"{\\rtf1\\ansi\\uc1 a\\u8212?b \\uc0\\u8211 c}"]; + + [self assert:@"a—b –c" equals:[parsed string]]; +} + +// MARK: Indents + +- (void)testFirstLineIndentIsRelativeToTheLeftIndent +{ + var parsed = [[_CPRTFParser new] parseRTF:@"{\\rtf1\\ansi\\pard\\li720\\fi-720 text}"], + paragraphStyle = [parsed attribute:CPParagraphStyleAttributeName atIndex:0 effectiveRange:nil]; + + [self assert:36.0 equals:[paragraphStyle headIndent]]; + [self assert:0.0 equals:[paragraphStyle firstLineHeadIndent]]; + + var style = [[CPParagraphStyle defaultParagraphStyle] mutableCopy]; + + [style setHeadIndent:36.0]; + [style setFirstLineHeadIndent:18.0]; + + var roundTripped = [self roundTrip:[[CPAttributedString alloc] initWithString:@"text" attributes:@{CPParagraphStyleAttributeName: style}]], + roundTrippedStyle = [roundTripped attribute:CPParagraphStyleAttributeName atIndex:0 effectiveRange:nil]; + + [self assert:36.0 equals:[roundTrippedStyle headIndent]]; + [self assert:18.0 equals:[roundTrippedStyle firstLineHeadIndent]]; +} + +// MARK: Lists + +- (void)testListFromTextEdit +{ + var rtf = @"{\\rtf1\\ansi\\ansicpg1252\\cocoartf2822\n" + + @"{\\fonttbl\\f0\\fswiss\\fcharset0 Helvetica;}\n" + + @"{\\colortbl;\\red255\\green255\\blue255;}\n" + + @"{\\*\\expandedcolortbl;;}\n" + + @"{\\*\\listtable{\\list\\listtemplateid1\\listhybrid{\\listlevel\\levelnfc23\\levelnfcn23\\leveljc0\\leveljcn0\\levelfollow0\\levelstartat1\\levelspace360\\levelindent0{\\*\\levelmarker \\{disc\\}}{\\leveltext\\leveltemplateid1\\'01\\uc0\\u8226 ;}{\\levelnumbers;}\\fi-360\\li720\\lin720 }{\\listname ;}\\listid1}}\n" + + @"{\\*\\listoverridetable{\\listoverride\\listid1\\listoverridecount0\\ls1}}\n" + + @"\\pard\\tx220\\tx720\\li720\\fi-720\\pardirnatural\\partightenfactor0\n" + + @"\\ls1\\ilvl0\n" + + @"\\f0\\fs24 \\cf0 {\\listtext\t\\uc0\\u8226 \t}one\\\n" + + @"{\\listtext\t\\uc0\\u8226 \t}two}", + parsed = [[_CPRTFParser new] parseRTF:rtf], + firstLists = [self textListsAtIndex:0 ofString:parsed], + secondLists = [self textListsAtIndex:[[parsed string] length] - 1 ofString:parsed]; + + [self assert:@"\t•\tone\n\t•\ttwo" equals:[parsed string]]; + [self assert:1 equals:[firstLists count]]; + [self assert:@"{disc}" equals:[firstLists[0] markerFormat]]; + [self assert:firstLists[0] equals:secondLists[0] message:@"the items of one RTF list share one text list"]; + [self assert:0.0 equals:[[parsed attribute:CPParagraphStyleAttributeName atIndex:0 effectiveRange:nil] firstLineHeadIndent]]; +} + +- (void)testListFromLevelTextWithoutMarkerFormat +{ + var rtf = @"{\\rtf1\\ansi{\\*\\listtable{\\list\\listtemplateid1{\\listlevel\\levelnfc4\\levelstartat3{\\leveltext\\'03(\\'00);}{\\levelnumbers\\'02;}}{\\listlevel\\levelnfc0{\\leveltext\\'03\\'00.\\'01;}{\\levelnumbers\\'01\\'03;}}\\listid7}}" + + @"{\\*\\listoverridetable{\\listoverride\\listid7\\listoverridecount0\\ls2}}" + + @"\\pard\\ls2\\ilvl1 item}", + lists = [self textListsAtIndex:0 ofString:[[_CPRTFParser new] parseRTF:rtf]]; + + [self assert:2 equals:[lists count]]; + [self assert:@"({lower-alpha})" equals:[lists[0] markerFormat]]; + [self assert:3 equals:[lists[0] startingItemNumber]]; + [self assert:@"{decimal}" equals:[lists[1] markerFormat]]; + [self assertTrue:([lists[1] listOptions] & CPTextListPrependEnclosingMarker) message:@"a level text with the enclosing number prepends it"]; +} + +- (void)testNestedListRoundTrip +{ + [textView setString:@"one\ntwo\nthree"]; + [textView setSelectedRange:CPMakeRange(0, 13)]; + [textView setTextList:[[CPTextList alloc] initWithMarkerFormat:@"{decimal}." options:CPTextListPrependEnclosingMarker]]; + [textView setSelectedRange:CPMakeRange([[textView string] rangeOfString:@"two"].location, 0)]; + [textView insertTab:nil]; + + var original = [textView textStorage], + rtf = [_CPRTFProducer produceRTF:original documentAttributes:@{}], + parsed = [[_CPRTFParser new] parseRTF:rtf], + nestedIndex = [[parsed string] rangeOfString:@"two"].location, + nestedLists = [self textListsAtIndex:nestedIndex ofString:parsed]; + + [self assertTrue:rtf.indexOf("{\\listtext ") !== -1 message:@"markers are written in \\listtext groups"]; + [self assertTrue:rtf.indexOf("\\levelprepend") !== -1]; + [self assert:[original string] equals:[parsed string]]; + [self assert:2 equals:[nestedLists count]]; + [self assert:@"{decimal}." equals:[nestedLists[1] markerFormat]]; + [self assertTrue:([nestedLists[1] listOptions] & CPTextListPrependEnclosingMarker)]; + [self assert:nestedLists[0] equals:[self textListsAtIndex:0 ofString:parsed][0] message:@"the nested item stays in the outer list"]; + [self assert:36.0 equals:[[parsed attribute:CPParagraphStyleAttributeName atIndex:0 effectiveRange:nil] headIndent]]; +} + +@end diff --git a/Tests/AppKit/CPTextAttachmentTest.j b/Tests/AppKit/CPTextAttachmentTest.j index 0f9ab6079..a9dc5545c 100644 --- a/Tests/AppKit/CPTextAttachmentTest.j +++ b/Tests/AppKit/CPTextAttachmentTest.j @@ -115,4 +115,15 @@ [self assert:[attachment _attachmentView] equals:[[textView textStorage] attribute:_CPAttachmentView atIndex:0 effectiveRange:nil]]; } +- (void)testTableAttachmentArchiving +{ + var table = [[_CPTableTextAttachment alloc] initWithHeaders:[@"Name", @"Value"] rows:[[@"one", @"1"], [@"two", @"2"]] width:300.0], + decoded = [CPKeyedUnarchiver unarchiveObjectWithData:[CPKeyedArchiver archivedDataWithRootObject:table]]; + + [self assertTrue:[decoded isKindOfClass:[_CPTableTextAttachment class]]]; + [self assert:@"Value" equals:[[[decoded headers] objectAtIndex:1] string]]; + [self assert:@"two" equals:[[[[decoded rows] objectAtIndex:1] objectAtIndex:0] string]]; + [self assert:CGRectGetWidth([table frame]) equals:CGRectGetWidth([decoded frame]) message:@"the table keeps its width"]; +} + @end diff --git a/Tests/Manual/TextEditor/WORKLIST.md b/Tests/Manual/TextEditor/WORKLIST.md index 94dc631dd..71b258ce6 100644 --- a/Tests/Manual/TextEditor/WORKLIST.md +++ b/Tests/Manual/TextEditor/WORKLIST.md @@ -15,9 +15,9 @@ TextEditor is a document-based test application and a tutorial. When the app use ### Text features not yet supported -- **Images in text are not fully tested or complete.** `CPTextAttachment` holds an image as one attachment character, and Edit > Insert Image… and Command-V with an image on the clipboard insert images. Not yet tested: several images inserted at once, copying, pasting and undoing an image within the document, and pasting a screenshot. Not yet implemented: dropping image files on the text view, which needs file access in the drag pasteboard (`_CPDOMDataTransferPasteboard`); pasting images with Edit > Paste from the menu, which reads plain text only; and RTF `\pict` and Markdown `![]()`, so an image is lost when text is copied to another application as RTF. -- **Tables can only be inserted from Markdown, and are not yet tested interactively.** The only source of tables is CPMarkdownParser, which builds the private `_CPTableTextAttachment`, a view in the text whose cells are text views of their own. Edit > Insert Table Example inserts a sample through it. Not yet tested: editing in a cell and what Tab does there, deleting the table and undoing, copying and pasting it within the document, narrowing the window, and Format menu commands while a cell is being edited. Known from the code: the table has no archiving, so copying it within the application may fail; nothing calls its `resizeToWidth:`, so it keeps its width of 500 points; and in the sample its right edge and the last row's bottom border are not drawn. A command to insert a table, with a fixed default size and no options, waits on these results. -- **Lists are not read from or written to RTF.** `CPTextList` and `textLists` in `CPParagraphStyle` now exist, but the RTF parser and producer do not handle `\listtable`, `\listoverridetable`, `\ls` and `\ilvl`. A list copied as RTF keeps its marker text and indents, but loses its list structure. CPMarkdownParser also writes "- item" as the literal text " • item", with no list. +- **Images in text are not fully tested or complete.** `CPTextAttachment` holds an image as one attachment character, and Edit > Insert Image… and Command-V with an image on the clipboard insert images. Not yet tested: several images inserted at once, undoing an image change, and pasting a screenshot. Not yet implemented: dropping image files on the text view, which needs file access in the drag pasteboard (`_CPDOMDataTransferPasteboard`); pasting images with Edit > Paste from the menu, which reads plain text only; and RTF `\pict` and Markdown `![]()`, so an image is lost when text is copied to another application as RTF. +- **Tables can only be inserted from Markdown, and are not yet tested interactively.** The only source of tables is CPMarkdownParser, which builds the private `_CPTableTextAttachment`, a view in the text whose cells are text views of their own. Edit > Insert Table Example inserts a sample through it. Not yet tested: what Tab does in a cell, deleting the table and undoing, narrowing the window, and Format menu commands while a cell is being edited. Known from the code: nothing calls its `resizeToWidth:`, so it keeps its width of 500 points; and in the sample its right edge and the last row's bottom border are not drawn. A command to insert a table, with a fixed default size and no options, waits on these results. +- **Rich text does not reach native applications.** The RTF producer and parser now handle lists (`\listtable`, `\listoverridetable`, `\ls`, `\ilvl`, and Cocoa's `\levelmarker`), Unicode (`\uN`) and the first line indent as an offset from the left indent, and the unit tests round-trip them. But browsers do not put `text/rtf` from a page's clipboard event on the system clipboard in a form native applications read: text copied from TextEditor with Command-C reaches native TextEdit as plain text. RTF on the clipboard works only between Cappuccino applications in the same browser. Rich text for native applications needs an HTML producer (`text/html`) for the subset the text view makes. Not yet tested: what arrives from native TextEdit with Command-V, in each browser. RTF `\pict` is not implemented. CPMarkdownParser also writes "- item" as the literal text " • item", with no list. ### Text view @@ -88,4 +88,6 @@ How the text system works, for the entries below: `CPTextView` does not use CSS - A wide image fits the text width, and scales with the window without growing beyond its natural size. At the end of the text it is not clipped, and the scroll bars follow it. - Format > Font > Bigger and Smaller (Command-+ and Command--) without a selection change the size of the text typed next, step by step, also in a blank document. - Edit > Insert Table Example: the sample table appears between the surrounding sentences, with its header row and its bold and italic cells. +- Copy and paste within TextEditor with Command-C and Command-V, in one document and between documents: images, tables, including text edited in their cells, and lists are kept. +- Table cells can be edited, as a first pass. - Builds with both the legacy toolchain and capp-build. From 91cd92f92f401c05b98602feb68a30670b491a28 Mon Sep 17 00:00:00 2001 From: David Richardson Date: Sat, 24 Oct 2026 15:34:32 -0600 Subject: [PATCH 2/4] AppKit: Correct screen positioning for rescued line fragment views and spans during edits When CPLayoutManager retained and repositioned unchanged line fragments below an edit, `_CPLineFragment` incorrectly modified attachment view frames directly and assigned an unused property to text spans. Consequently, moved views remained visually stationary on screen because subsequent layout-pass `setFrameOrigin:` calls detected matching origins, causing asynchronously loaded elements (such as pasted tables combined with images) to render at incorrect offsets until forced by a scroll or resize event. * AppKit/CPTextView/CPLayoutManager.j: - Update attachment view relocation to correctly trigger `setFrameOrigin:`. - Shift rendered text spans via their style coordinate top properties. * Tests/Manual/TextEditor/WORKLIST.md: - Mark composite paste workflows (text containing both images and tables) as tested. Attachment views and text spans now immediately track their corresponding line fragments when text is inserted or modified above them. --- AppKit/CPTextView/CPLayoutManager.j | 14 +++++++++++--- Tests/Manual/TextEditor/WORKLIST.md | 1 + 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/AppKit/CPTextView/CPLayoutManager.j b/AppKit/CPTextView/CPLayoutManager.j index 8d3572a35..dbcc6e294 100644 --- a/AppKit/CPTextView/CPLayoutManager.j +++ b/AppKit/CPTextView/CPLayoutManager.j @@ -1541,11 +1541,19 @@ var _objectsInRange = function(aList, aRange) if (verticalOffset) { + // An attachment view is moved through setFrameOrigin:, which also moves it on the + // screen. Changing its frame directly would leave it in place, because the next draw's + // setFrameOrigin: would then find it already at the new origin and do nothing. if (_runs[i].view) - _runs[i].view._frame.origin.y += verticalOffset; + { + var viewOrigin = [_runs[i].view frameOrigin]; - if (_runs[i].elem) - _runs[i].elem.top = (_runs[i].elem.top + verticalOffset) + 'px'; + [_runs[i].view setFrameOrigin:CGPointMake(viewOrigin.x, viewOrigin.y + verticalOffset)]; + } + + // A span that has been placed moves with its line. One that has not is placed when drawn. + if (_runs[i].elem && _runs[i].elem.style.top) + _runs[i].elem.style.top = (parseFloat(_runs[i].elem.style.top) + verticalOffset) + 'px'; _runs[i].DOMpatched = YES; } diff --git a/Tests/Manual/TextEditor/WORKLIST.md b/Tests/Manual/TextEditor/WORKLIST.md index 71b258ce6..d9e2ac21d 100644 --- a/Tests/Manual/TextEditor/WORKLIST.md +++ b/Tests/Manual/TextEditor/WORKLIST.md @@ -90,4 +90,5 @@ How the text system works, for the entries below: `CPTextView` does not use CSS - Edit > Insert Table Example: the sample table appears between the surrounding sentences, with its header row and its bold and italic cells. - Copy and paste within TextEditor with Command-C and Command-V, in one document and between documents: images, tables, including text edited in their cells, and lists are kept. - Table cells can be edited, as a first pass. +- Pasting text with several images and a table: the table appears in place at once, and tables, images and text below a change move with their lines. - Builds with both the legacy toolchain and capp-build. From 9b5a0fbbfbebcb9d08f2f2f84f82893508e2d42f Mon Sep 17 00:00:00 2001 From: David Richardson Date: Sat, 24 Oct 2026 15:55:54 -0600 Subject: [PATCH 3/4] AppKit: Maintain proper line height for overflowing attachments in CPTypesetter When text attachments (such as tables or wide images) exceeded container width, `CPTypesetter` correctly forced a line break following the attachment but erroneously reverted the line's height and baseline to pre-attachment metrics. Consequently, oversized attachments rendered on the baseline of preceding text, causing them to overlap and obscure content above them in narrowed viewports. * AppKit/CPTextView/CPTypesetter.j: - Update line layout logic to incorporate attachment dimensions into line height and baseline calculations when line breaks encompass overflowing attachments. * Tests/Manual/TextEditor/WORKLIST.md: - Mark wide/overflowing table layout tests as completed. Attachments and tables wider than the text container now correctly occupy their own distinct lines without overlapping preceding content. --- AppKit/CPTextView/CPTypesetter.j | 10 ++++++++++ Tests/Manual/TextEditor/WORKLIST.md | 1 + 2 files changed, 11 insertions(+) diff --git a/AppKit/CPTextView/CPTypesetter.j b/AppKit/CPTextView/CPTypesetter.j index b9e6ac6d6..3e498cbc4 100644 --- a/AppKit/CPTextView/CPTypesetter.j +++ b/AppKit/CPTextView/CPTypesetter.j @@ -510,6 +510,16 @@ var _CPTypesetterDecimalSeparator = function() if (viewSize.height > _lineHeight) _lineHeight = viewSize.height - descent + leading; + // An attachment wider than the container stays on the line it overflows, so a break + // there keeps the line's height and baseline with the attachment's size applied. + // Otherwise the attachment would be placed on the baseline of the text before it, + // and drawn above its line. + if (CPMaxRange(wrapRange) === CPMaxRange(lineRange)) + { + wrapRange._height = _lineHeight; + wrapRange._base = _lineBase; + } + ascent = viewSize.height; break; } diff --git a/Tests/Manual/TextEditor/WORKLIST.md b/Tests/Manual/TextEditor/WORKLIST.md index d9e2ac21d..3c82b4630 100644 --- a/Tests/Manual/TextEditor/WORKLIST.md +++ b/Tests/Manual/TextEditor/WORKLIST.md @@ -91,4 +91,5 @@ How the text system works, for the entries below: `CPTextView` does not use CSS - Copy and paste within TextEditor with Command-C and Command-V, in one document and between documents: images, tables, including text edited in their cells, and lists are kept. - Table cells can be edited, as a first pass. - Pasting text with several images and a table: the table appears in place at once, and tables, images and text below a change move with their lines. +- A table wider than the text stays on its own line below the text before it when the window is narrowed, and is clipped at the right edge, without a horizontal scroll bar, as in Cocoa when text wraps to the window. - Builds with both the legacy toolchain and capp-build. From dc6bebd7eb3863b8e75c5457eda6c62b7d3792a4 Mon Sep 17 00:00:00 2001 From: David Richardson Date: Sat, 24 Oct 2026 17:57:21 -0600 Subject: [PATCH 4/4] AppKit: Add magnification support to CPScrollView and zoom controls to TextEditor CPScrollView previously lacked magnification support, preventing document zooming and leaving view scaling infrastructure without practical test coverage. Additionally, views resetting to a 1.0 scale retained stale CSS transform properties, and legacy cibs compiled via nib2cib omitted explicit magnification limits, breaking zoom functionality in older archives. * AppKit/CPScrollView.j: - Implement magnification methods and properties (`magnification`, `setMagnification:`, `setMagnification:centeredAtPoint:`, `allowsMagnification`, `minMagnification`, and `maxMagnification`) modelled on NSScrollView, with keyed archiving. - Scale clip view bounds and synchronize resizing document view widths. - Define standard Cocoa default limits (0.25 and 4.0) as named constants. - Implement robust decoding validation to assign default limits to unset or invalid archive values and reject non-positive magnification inputs, ensuring full compatibility with legacy cibs. * AppKit/CPView.j: - Remove stale CSS scale styling when a view's scale factor returns to 1.0. * Tests/AppKit/CPScrollViewTest.j: - Add comprehensive unit tests covering magnification scaling, archiving, and fallback decoding for unconfigured limits. * Tests/Manual/TextEditor/DocumentWindowController.j: - Implement zoom action handlers (`zoomToLevel:`, `zoomToActualSize:`, `zoomIn:`, and `zoomOut:`) driven by menu item tag values. * Tests/Manual/TextEditor/Resources/MainMenu.xib, MainMenu.cib: - Add View menu options for Actual Size, Zoom In, Zoom Out, and explicit Zoom Levels (25% to 200%). * Tests/Manual/TextEditor/WORKLIST.md: - Mark zoom functionality as tested; log discovered scaling edge cases as open items. CPScrollView and TextEditor now support robust document magnification from 25% to 200%, validating core view scaling mechanics. --- AppKit/CPScrollView.j | 172 +++++++++++++++++- AppKit/CPView.j | 15 +- Tests/AppKit/CPScrollViewTest.j | 58 ++++++ .../TextEditor/DocumentWindowController.j | 150 ++++++++++++++- .../Manual/TextEditor/Resources/MainMenu.cib | 2 +- .../Manual/TextEditor/Resources/MainMenu.xib | 74 ++++++++ Tests/Manual/TextEditor/WORKLIST.md | 10 + 7 files changed, 474 insertions(+), 7 deletions(-) diff --git a/AppKit/CPScrollView.j b/AppKit/CPScrollView.j index 9b4e6f6b1..686343401 100644 --- a/AppKit/CPScrollView.j +++ b/AppKit/CPScrollView.j @@ -101,6 +101,15 @@ var CPScrollViewWillStartLiveScrollNotification = @"CPScrollViewWillStartLiveScr var CPScrollerStyleGlobal = CPScrollerStyleOverlay, CPScrollerStyleGlobalChangeNotification = @"CPScrollerStyleGlobalChangeNotification"; +/* + The default smallest and largest magnifications. These are not arbitrary: they are the + defaults that Apple documents for NSScrollView's minMagnification and maxMagnification, so a + scroll view behaves as in Cocoa unless its limits are set. They apply to a scroll view made in + code, and to one decoded from an archive that has no valid limits. +*/ +var CPScrollViewDefaultMinMagnification = 0.25, + CPScrollViewDefaultMaxMagnification = 4.0; + /*! @ingroup appkit @class CPScrollView @@ -148,6 +157,11 @@ var CPScrollerStyleGlobal = CPScrollerStyleOverlay, CPRulerView _verticalRuler; CPRulerView _horizontalRuler; + + // Magnification Support + BOOL _allowsMagnification; + float _minMagnification; + float _maxMagnification; } @@ -318,6 +332,10 @@ var CPScrollerStyleGlobal = CPScrollerStyleOverlay, _hasHorizontalRuler = NO; _rulersVisible = NO; + _allowsMagnification = NO; + _minMagnification = CPScrollViewDefaultMinMagnification; + _maxMagnification = CPScrollViewDefaultMaxMagnification; + _delegate = nil; _scrollTimer = nil; _implementedDelegateMethods = 0; @@ -806,6 +824,118 @@ Notifies the delegate when the scroll view has finished scrolling. } +// MARK: - +// MARK: Magnification + +/*! + Returns \c YES if the user may change the magnification. The default is \c NO. As in Cocoa, + -setMagnification: and -setMagnification:centeredAtPoint: change it in code either way. +*/ +- (BOOL)allowsMagnification +{ + return _allowsMagnification; +} + +/*! + Sets whether the user may change the magnification. +*/ +- (void)setAllowsMagnification:(BOOL)shouldAllowMagnification +{ + _allowsMagnification = !!shouldAllowMagnification; +} + +/*! + Returns the smallest magnification. The default is 0.25, as in Cocoa. +*/ +- (float)minMagnification +{ + return _minMagnification; +} + +/*! + Sets the smallest magnification. +*/ +- (void)setMinMagnification:(float)aMagnification +{ + _minMagnification = aMagnification; +} + +/*! + Returns the largest magnification. The default is 4.0, as in Cocoa. +*/ +- (float)maxMagnification +{ + return _maxMagnification; +} + +/*! + Sets the largest magnification. +*/ +- (void)setMaxMagnification:(float)aMagnification +{ + _maxMagnification = aMagnification; +} + +/*! + Returns the magnification of the document view: 1.0 at actual size, 2.0 at twice the size. +*/ +- (float)magnification +{ + var boundsWidth = CGRectGetWidth([_contentView bounds]); + + return boundsWidth ? CGRectGetWidth([_contentView frame]) / boundsWidth : 1.0; +} + +/*! + Sets the magnification, keeping the centre of the visible part of the document in place. + @param aMagnification the magnification, limited to the minimum and maximum magnification +*/ +- (void)setMagnification:(float)aMagnification +{ + var visibleRect = [_contentView bounds]; + + [self setMagnification:aMagnification centeredAtPoint:CGPointMake(CGRectGetMidX(visibleRect), CGRectGetMidY(visibleRect))]; +} + +/*! + Sets the magnification, and scrolls so that aPoint is at the centre of the visible area. As + in Cocoa, the clip view's bounds are scaled: at a magnification of 2.0 its bounds are half its + frame, so the document view is drawn at twice its size. A document view that resizes its width + with the clip view, as a text view that wraps to the window does, takes the new bounds width. + @param aMagnification the magnification, limited to the minimum and maximum magnification + @param aPoint the point in the clip view's bounds, which are the document view's coordinates, + to show at the centre +*/ +- (void)setMagnification:(float)aMagnification centeredAtPoint:(CGPoint)aPoint +{ + var magnification = MIN(MAX(aMagnification, _minMagnification), _maxMagnification), + frameSize = [_contentView frameSize]; + + /* + If the limits are not numbers, the clamp above gives NaN. The clip view's bounds would + then become NaN, which the browser ignores, and -magnification would still report 1.0, + so the zoom would silently do nothing. This happened with scroll views loaded from cibs + whose limits were never set; see -initWithCoder: and -encodeWithCoder:. A magnification + that is not a positive number is therefore ignored. + */ + if (!(magnification > 0.0) || !frameSize.width || !frameSize.height) + return; + + var boundsSize = CGSizeMake(frameSize.width / magnification, frameSize.height / magnification), + documentView = [self documentView]; + + [_contentView setBoundsSize:boundsSize]; + + // The clip view applies its scale to its element when it is marked for display. + [_contentView setNeedsDisplay:YES]; + + if ([documentView autoresizingMask] & CPViewWidthSizable) + [documentView setFrameSize:CGSizeMake(boundsSize.width, [documentView frameSize].height)]; + + [_contentView scrollToPoint:CGPointMake(aPoint.x - boundsSize.width / 2.0, aPoint.y - boundsSize.height / 2.0)]; + [self reflectScrolledClipView:_contentView]; +} + // MARK: - // MARK: Rulers @@ -1802,7 +1932,10 @@ var CPScrollViewContentViewKey = @"CPScrollViewContentView", CPScrollViewHasHRulerKey = @"CPScrollViewHasHRuler", CPScrollViewRulersVisibleKey = @"CPScrollViewRulersVisible", CPScrollViewVRulerKey = @"CPScrollViewVRuler", - CPScrollViewHRulerKey = @"CPScrollViewHRuler"; + CPScrollViewHRulerKey = @"CPScrollViewHRuler", + CPScrollViewAllowsMagnificationKey = @"CPScrollViewAllowsMagnification", + CPScrollViewMinMagnificationKey = @"CPScrollViewMinMagnification", + CPScrollViewMaxMagnificationKey = @"CPScrollViewMaxMagnification"; @implementation CPScrollView (CPCoding) @@ -1837,6 +1970,26 @@ var CPScrollViewContentViewKey = @"CPScrollViewContentView", _cornerView = [aCoder decodeObjectForKey:CPScrollViewCornerViewKey]; _bottomCornerView = [aCoder decodeObjectForKey:CPScrollViewBottomCornerViewKey]; + // Magnification decoding + _allowsMagnification = [aCoder decodeBoolForKey:CPScrollViewAllowsMagnificationKey]; + _minMagnification = [aCoder decodeFloatForKey:CPScrollViewMinMagnificationKey]; + _maxMagnification = [aCoder decodeFloatForKey:CPScrollViewMaxMagnificationKey]; + + /* + Cibs compiled by nib2cib can hold limits that are not numbers. nib2cib builds a + scroll view from a xib through NSScrollView's -NS_initWithCoder:, which does not run + -initWithFrame:, so the limits are never set; it then archives the scroll view with + -encodeWithCoder: below, which wrote the unset limits into the cib. nib2cib belongs + to the legacy toolchain, which is frozen, so the problem is handled here: a limit + that is missing or not a positive number gets the Cocoa default. Without this, a + scroll view loaded from such a cib could not change its magnification. + */ + if (!(_minMagnification > 0.0)) + _minMagnification = CPScrollViewDefaultMinMagnification; + + if (!(_maxMagnification > 0.0)) + _maxMagnification = CPScrollViewDefaultMaxMagnification; + // Ruler decoding _hasVerticalRuler = [aCoder decodeBoolForKey:CPScrollViewHasVRulerKey]; _hasHorizontalRuler = [aCoder decodeBoolForKey:CPScrollViewHasHRulerKey]; @@ -1903,6 +2056,23 @@ var CPScrollViewContentViewKey = @"CPScrollViewContentView", [aCoder encodeInt:_scrollerStyle forKey:CPScrollViewScrollerStyleKey]; [aCoder encodeInt:_scrollerKnobStyle forKey:CPScrollViewScrollerKnobStyleKey]; + // Magnification encoding + [aCoder encodeBool:_allowsMagnification forKey:CPScrollViewAllowsMagnificationKey]; + + /* + nib2cib archives scroll views with this method, after building them from a xib through + NSScrollView's -NS_initWithCoder:, which does not run -initWithFrame:. Their limits are + then unset, and writing them put values that are not numbers into the cib. nib2cib + belongs to the legacy toolchain, which is frozen, so the problem is handled here: only + limits that are positive numbers are written, and -initWithCoder: supplies the defaults + for the rest. + */ + if (_minMagnification > 0.0) + [aCoder encodeFloat:_minMagnification forKey:CPScrollViewMinMagnificationKey]; + + if (_maxMagnification > 0.0) + [aCoder encodeFloat:_maxMagnification forKey:CPScrollViewMaxMagnificationKey]; + // Ruler encoding [aCoder encodeBool:_hasVerticalRuler forKey:CPScrollViewHasVRulerKey]; [aCoder encodeBool:_hasHorizontalRuler forKey:CPScrollViewHasHRulerKey]; diff --git a/AppKit/CPView.j b/AppKit/CPView.j index 3d40bfae5..0ab28b2f2 100644 --- a/AppKit/CPView.j +++ b/AppKit/CPView.j @@ -2651,15 +2651,26 @@ setBoundsOrigin: */ - (void)_applyCSSScalingTranformations { - if (CPDOMAvailable && _isScaled) + if (!CPDOMAvailable) + return; + + var browserPropertyTransform = CPBrowserStyleProperty(@"transform"); + + if (_isScaled) { var scale = [self scaleSize], - browserPropertyTransform = CPBrowserStyleProperty(@"transform"), browserPropertyTransformOrigin = CPBrowserStyleProperty(@"transformOrigin"); self._DOMElement.style[browserPropertyTransform] = 'scale(' + scale.width + ', ' + scale.height + ')'; self._DOMElement.style[browserPropertyTransformOrigin] = '0 0'; + [self _setDisplayServerSetStyleSize:[self frameSize]]; + } + else if (self._DOMElement.style[browserPropertyTransform]) + { + // A view whose scale has returned to 1.0 drops the scale it was drawn with. + self._DOMElement.style[browserPropertyTransform] = ''; + [self _setDisplayServerSetStyleSize:[self frameSize]]; } } diff --git a/Tests/AppKit/CPScrollViewTest.j b/Tests/AppKit/CPScrollViewTest.j index 15ee3ec5c..f2d6ad3d0 100644 --- a/Tests/AppKit/CPScrollViewTest.j +++ b/Tests/AppKit/CPScrollViewTest.j @@ -28,6 +28,64 @@ [[scrollView verticalScroller] layoutSubviews]; } +- (void)testMagnification +{ + var scrollView = [[CPScrollView alloc] initWithFrame:CGRectMake(0.0, 0.0, 300.0, 200.0)], + documentView = [[CPView alloc] initWithFrame:CGRectMake(0.0, 0.0, 300.0, 600.0)]; + + [documentView setAutoresizingMask:CPViewWidthSizable]; + [scrollView setDocumentView:documentView]; + + [self assert:1.0 equals:[scrollView magnification]]; + + [scrollView setMagnification:2.0]; + [self assert:2.0 equals:[scrollView magnification]]; + [self assert:CGRectGetWidth([[scrollView contentView] bounds]) equals:CGRectGetWidth([documentView frame]) message:@"a document view that resizes its width takes the clip view's bounds width"]; + + [scrollView setMagnification:0.5]; + [self assert:0.5 equals:[scrollView magnification]]; + + [scrollView setMagnification:10.0]; + [self assert:[scrollView maxMagnification] equals:[scrollView magnification] message:@"the magnification is limited to the maximum"]; + + [scrollView setMagnification:1.0]; + [self assert:1.0 equals:[scrollView magnification]]; + [self assert:CGRectGetWidth([[scrollView contentView] frame]) equals:CGRectGetWidth([[scrollView contentView] bounds])]; +} + +- (void)testMagnificationArchiving +{ + var scrollView = [[CPScrollView alloc] initWithFrame:CGRectMake(0.0, 0.0, 300.0, 200.0)]; + + [scrollView setAllowsMagnification:YES]; + [scrollView setMinMagnification:0.5]; + [scrollView setMaxMagnification:3.0]; + + var decoded = [CPKeyedUnarchiver unarchiveObjectWithData:[CPKeyedArchiver archivedDataWithRootObject:scrollView]]; + + [self assertTrue:[decoded allowsMagnification]]; + [self assert:0.5 equals:[decoded minMagnification]]; + [self assert:3.0 equals:[decoded maxMagnification]]; +} + +- (void)testMagnificationDecodingWithoutValidLimits +{ + var scrollView = [[CPScrollView alloc] initWithFrame:CGRectMake(0.0, 0.0, 300.0, 200.0)]; + + // An archive made from a scroll view whose limits were never set, as nib2cib made before it + // set them, holds values that are not numbers. + scrollView._minMagnification = undefined; + scrollView._maxMagnification = undefined; + + var decoded = [CPKeyedUnarchiver unarchiveObjectWithData:[CPKeyedArchiver archivedDataWithRootObject:scrollView]]; + + [self assert:0.25 equals:[decoded minMagnification]]; + [self assert:4.0 equals:[decoded maxMagnification]]; + + [decoded setMagnification:0.5]; + [self assert:0.5 equals:[decoded magnification]]; +} + - (void)testBothScrollersVisible { var scrollView = [[CPScrollView alloc] initWithFrame:CGRectMake(0.0, 0.0, 100.0, 100.0)]; diff --git a/Tests/Manual/TextEditor/DocumentWindowController.j b/Tests/Manual/TextEditor/DocumentWindowController.j index e1ecd6264..3060dd764 100644 --- a/Tests/Manual/TextEditor/DocumentWindowController.j +++ b/Tests/Manual/TextEditor/DocumentWindowController.j @@ -42,6 +42,15 @@ var DocumentWindowMinimumWidth = 360.0, DocumentWindowMinimumHeight = 240.0; +/* + Orders two zoom levels, smallest first, for sorting. +*/ +function compareZoomLevels(aLevel, anotherLevel) +{ + return aLevel - anotherLevel; +} + + /*! Owns DocumentWindow.cib. The window's delegate outlet is connected to File's Owner in DocumentWindow.xib, so this controller is the window's @@ -125,6 +134,120 @@ var DocumentWindowMinimumWidth = 360.0, [textView insertText:[TableExample attributedString]]; } +/*! + Returns the scroll view that encloses the text view. + + The zoom commands do not change the text view itself. They change the + magnification of its scroll view, as TextEdit does: the scroll view + scales its clip view, which draws the text view, with everything inside + it, larger or smaller. The text wraps to the window at every + magnification, because the text view takes the width of the clip view. +*/ +- (CPScrollView)documentScrollView +{ + return [textView enclosingScrollView]; +} + +/*! + Sets the magnification to the zoom level in the sender's tag, a + percentage. Each item of View > Zoom Level sends this action, with its + level as its tag, for example 75 for 75%. +*/ +- (@action)zoomToLevel:(id)aSender +{ + [[self documentScrollView] setMagnification:[aSender tag] / 100.0]; +} + +/*! + Returns the text to actual size, a magnification of 1.0. +*/ +- (@action)zoomToActualSize:(id)aSender +{ + [[self documentScrollView] setMagnification:1.0]; +} + +/*! + Moves to the next zoom level above the current magnification. +*/ +- (@action)zoomIn:(id)aSender +{ + var level = [self zoomLevelFrom:[[self documentScrollView] magnification] direction:1]; + + if (level) + [[self documentScrollView] setMagnification:level]; +} + +/*! + Moves to the next zoom level below the current magnification. +*/ +- (@action)zoomOut:(id)aSender +{ + var level = [self zoomLevelFrom:[[self documentScrollView] magnification] direction:-1]; + + if (level) + [[self documentScrollView] setMagnification:level]; +} + +/*! + Returns the zoom levels, as magnifications in ascending order. + + The menu items of View > Zoom Level are the only definition of the + levels: each item that sends zoomToLevel: carries its level as a + percentage in its tag. Zoom In and Zoom Out step through the same items, + so adding, removing or changing an item in MainMenu.xib changes all + three commands together. +*/ +- (CPArray)zoomLevels +{ + var levels = []; + + [self collectZoomLevelsFromMenu:[CPApp mainMenu] into:levels]; + + return levels.sort(compareZoomLevels); +} + +/*! + Adds to someLevels the level of every item in aMenu, and in its + submenus, that sends zoomToLevel:. +*/ +- (void)collectZoomLevelsFromMenu:(CPMenu)aMenu into:(CPArray)someLevels +{ + var items = [aMenu itemArray], + count = [items count]; + + for (var i = 0; i < count; i++) + { + var item = items[i]; + + if ([item action] === @selector(zoomToLevel:)) + someLevels.push([item tag] / 100.0); + + if ([item hasSubmenu]) + [self collectZoomLevelsFromMenu:[item submenu] into:someLevels]; + } +} + +/*! + Returns the next zoom level above aMagnification, with a direction of 1, + or below it, with a direction of -1. Returns nil when there is none. The + comparison allows for rounding in the magnification. +*/ +- (float)zoomLevelFrom:(float)aMagnification direction:(int)aDirection +{ + var levels = [self zoomLevels], + count = levels.length; + + for (var i = 0; i < count; i++) + { + var level = levels[aDirection > 0 ? i : count - 1 - i]; + + if (aDirection > 0 ? level > aMagnification + 0.001 : level < aMagnification - 0.001) + return level; + } + + return nil; +} + /*! Keeps the window at or above its minimum size while the user resizes it. @@ -179,14 +302,35 @@ var DocumentWindowMinimumWidth = 360.0, AppKit calls this method before it shows a menu, for each item whose action reaches this controller through the responder chain. For Allow Undo, it sets the item's check mark from the active document's text - view, so the mark follows the document whose window is in front. Every - item is enabled. + view, so the mark follows the document whose window is in front. For the + zoom commands, it checks the current zoom level and disables commands + that would not change the magnification. Every other item is enabled. */ - (BOOL)validateMenuItem:(CPMenuItem)aMenuItem { - if ([aMenuItem action] === @selector(toggleAllowsUndo:)) + var action = [aMenuItem action], + magnification = [[self documentScrollView] magnification]; + + if (action === @selector(toggleAllowsUndo:)) [aMenuItem setState:[textView allowsUndo] ? CPOnState : CPOffState]; + /* + The zoom level that matches the current magnification is checked. + Zoom In and Zoom Out are disabled at the highest and lowest levels, + and Actual Size at actual size. + */ + if (action === @selector(zoomToLevel:)) + [aMenuItem setState:ABS(magnification - [aMenuItem tag] / 100.0) < 0.001 ? CPOnState : CPOffState]; + + if (action === @selector(zoomIn:)) + return !![self zoomLevelFrom:magnification direction:1]; + + if (action === @selector(zoomOut:)) + return !![self zoomLevelFrom:magnification direction:-1]; + + if (action === @selector(zoomToActualSize:)) + return ABS(magnification - 1.0) >= 0.001; + return YES; } diff --git a/Tests/Manual/TextEditor/Resources/MainMenu.cib b/Tests/Manual/TextEditor/Resources/MainMenu.cib index 2e8a2e10d..08a2b6b36 100644 --- a/Tests/Manual/TextEditor/Resources/MainMenu.cib +++ b/Tests/Manual/TextEditor/Resources/MainMenu.cib @@ -1 +1 @@ -280NPLIST;1.0;D;K;4;$topD;K;18;CPCibObjectDataKeyD;K;6;CP$UIDd;1;2E;E;K;8;$objectsA;S;5;$nullD;K;10;$classnameS;16;_CPCibObjectDataK;8;$classesA;S;16;_CPCibObjectDataS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;1E;K;28;_CPCibObjectDataNamesKeysKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibObjectDataNamesValuesKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibObjectDataClassesKeysKeyD;K;6;CP$UIDd;1;0E;K;32;_CPCibObjectDataClassesValuesKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibObjectDataConnectionsKeyD;K;6;CP$UIDd;1;4E;K;28;_CPCibObjectDataFrameworkKeyD;K;6;CP$UIDd;1;0E;K;26;_CPCibObjectDataNextOidKeyD;K;6;CP$UIDd;1;5E;K;30;_CPCibObjectDataObjectsKeysKeyD;K;6;CP$UIDd;1;6E;K;32;_CPCibObjectDataObjectsValuesKeyD;K;6;CP$UIDd;1;7E;K;26;_CPCibObjectDataOidKeysKeyD;K;6;CP$UIDd;1;8E;K;28;_CPCibObjectDataOidValuesKeyD;K;6;CP$UIDd;1;9E;K;28;_CPCibObjectDataFileOwnerKeyD;K;6;CP$UIDd;2;11E;K;33;_CPCibObjectDataVisibleWindowsKeyD;K;6;CP$UIDd;2;13E;E;D;K;10;$classnameS;7;CPArrayK;8;$classesA;S;7;CPArrayS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;15E;D;K;6;CP$UIDd;2;17E;D;K;6;CP$UIDd;2;18E;D;K;6;CP$UIDd;2;19E;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;21E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;23E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;97E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;164E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;3;169E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;3;178E;D;K;6;CP$UIDd;3;179E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;187E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;190E;D;K;6;CP$UIDd;3;191E;D;K;6;CP$UIDd;3;192E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;196E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;199E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;3;201E;D;K;6;CP$UIDd;3;202E;D;K;6;CP$UIDd;3;203E;D;K;6;CP$UIDd;3;204E;D;K;6;CP$UIDd;3;205E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;207E;D;K;6;CP$UIDd;3;208E;D;K;6;CP$UIDd;3;209E;D;K;6;CP$UIDd;3;210E;D;K;6;CP$UIDd;3;211E;D;K;6;CP$UIDd;3;212E;D;K;6;CP$UIDd;3;213E;D;K;6;CP$UIDd;3;214E;D;K;6;CP$UIDd;3;215E;D;K;6;CP$UIDd;3;216E;D;K;6;CP$UIDd;3;217E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;219E;D;K;6;CP$UIDd;3;220E;D;K;6;CP$UIDd;3;221E;D;K;6;CP$UIDd;3;222E;D;K;6;CP$UIDd;3;223E;D;K;6;CP$UIDd;3;224E;D;K;6;CP$UIDd;3;225E;D;K;6;CP$UIDd;3;226E;D;K;6;CP$UIDd;3;227E;D;K;6;CP$UIDd;3;228E;D;K;6;CP$UIDd;3;229E;D;K;6;CP$UIDd;3;230E;D;K;6;CP$UIDd;3;231E;D;K;6;CP$UIDd;3;232E;D;K;6;CP$UIDd;3;233E;D;K;6;CP$UIDd;3;234E;D;K;6;CP$UIDd;3;235E;D;K;6;CP$UIDd;3;236E;D;K;6;CP$UIDd;3;237E;D;K;6;CP$UIDd;3;238E;D;K;6;CP$UIDd;3;239E;D;K;6;CP$UIDd;3;240E;D;K;6;CP$UIDd;3;241E;D;K;6;CP$UIDd;3;242E;D;K;6;CP$UIDd;3;243E;D;K;6;CP$UIDd;3;244E;D;K;6;CP$UIDd;3;245E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;169E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;192E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;199E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;215E;D;K;6;CP$UIDd;3;216E;D;K;6;CP$UIDd;3;216E;D;K;6;CP$UIDd;3;216E;D;K;6;CP$UIDd;3;216E;D;K;6;CP$UIDd;3;216E;D;K;6;CP$UIDd;3;216E;D;K;6;CP$UIDd;3;216E;D;K;6;CP$UIDd;3;216E;D;K;6;CP$UIDd;3;216E;D;K;6;CP$UIDd;3;216E;D;K;6;CP$UIDd;3;216E;D;K;6;CP$UIDd;3;216E;D;K;6;CP$UIDd;3;216E;D;K;6;CP$UIDd;3;216E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;3;231E;D;K;6;CP$UIDd;3;232E;D;K;6;CP$UIDd;3;232E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;3;235E;D;K;6;CP$UIDd;3;236E;D;K;6;CP$UIDd;3;236E;D;K;6;CP$UIDd;3;236E;D;K;6;CP$UIDd;3;236E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;3;241E;D;K;6;CP$UIDd;3;242E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;10;$classnameS;18;_CPCibCustomObjectK;8;$classesA;S;18;_CPCibCustomObjectS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;246E;E;D;K;10;$classnameS;5;CPSetK;8;$classesA;S;5;CPSetS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;12E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;3;247E;E;D;K;10;$classnameS;20;CPCibOutletConnectorK;8;$classesA;S;20;CPCibOutletConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;11E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;244E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;248E;E;D;K;10;$classnameS;21;CPCibControlConnectorK;8;$classesA;S;21;CPCibControlConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;240E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;249E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;237E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;250E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;104E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;11E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;251E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;110E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;252E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;115E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;253E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;116E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;254E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;117E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;255E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;109E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;256E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;243E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;257E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;118E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;258E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;113E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;259E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;156E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;260E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;155E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;261E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;127E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;262E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;130E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;263E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;126E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;264E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;145E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;265E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;129E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;266E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;128E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;267E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;144E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;268E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;121E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;269E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;137E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;270E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;141E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;271E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;122E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;146E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;273E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;238E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;274E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;233E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;275E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;234E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;276E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;147E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;277E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;150E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;278E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;151E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;279E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;152E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;280E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;162E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;245E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;281E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;195E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;282E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;171E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;283E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;191E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;204E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;285E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;196E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;286E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;190E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;287E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;182E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;288E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;227E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;289E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;211E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;290E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;228E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;289E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;222E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;289E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;166E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;245E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;291E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;178E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;292E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;172E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;293E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;133E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;294E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;208E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;295E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;207E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;296E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;131E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;297E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;209E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;298E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;186E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;299E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;124E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;300E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;212E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;301E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;230E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;289E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;225E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;289E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;194E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;302E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;219E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;289E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;226E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;289E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;179E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;183E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;304E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;184E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;305E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;224E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;289E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;197E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;306E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;164E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;307E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;202E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;308E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;221E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;289E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;173E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;309E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;220E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;289E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;167E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;245E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;291E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;163E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;245E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;281E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;203E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;310E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;217E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;289E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;185E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;311E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;213E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;312E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;188E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;313E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;174E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;314E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;161E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;245E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;315E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;177E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;316E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;132E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;317E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;246E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;99E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;318E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;319E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;320E;E;D;K;10;$classnameS;10;CPMenuItemK;8;$classesA;S;10;CPMenuItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;321E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;103E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;322E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;103E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;100E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;2;99E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;321E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;327E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;328E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;329E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;103E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;330E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;331E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;332E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;103E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;333E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;103E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;334E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;335E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;108E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;322E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;108E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;100E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;2;99E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;335E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;336E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;337E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;338E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;339E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;340E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;341E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;112E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;322E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;112E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;2;99E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;341E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;342E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;343E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;344E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;112E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;330E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;331E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;332E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;345E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;346E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;347E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;348E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;349E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;350E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;352E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;353E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;120E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;322E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;120E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;100E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;2;99E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;353E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;354E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;355E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;120E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;356E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;357E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;120E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;358E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;330E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;331E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;332E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;120E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;359E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;120E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;330E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;331E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;332E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;120E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;360E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;120E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;361E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;362E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;120E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;363E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;364E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;120E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;365E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;366E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;120E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;367E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;120E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;368E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;369E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;120E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;370E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;120E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;371E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;120E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;330E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;331E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;332E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;120E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;372E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;136E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;322E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;136E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;120E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;2;99E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;372E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;373E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;374E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;375E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;136E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;376E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;377E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;378E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;136E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;379E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;380E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;381E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;136E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;382E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;383E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;384E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;136E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;385E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;386E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;136E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;387E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;388E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;143E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;322E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;143E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;120E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;2;99E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;388E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;389E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;390E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;143E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;391E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;392E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;143E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;393E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;394E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;143E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;395E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;143E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;396E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;149E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;322E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;149E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;120E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;2;99E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;396E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;397E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;398E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;375E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;149E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;376E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;399E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;378E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;149E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;379E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;400E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;381E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;149E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;382E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;401E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;154E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;322E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;154E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;120E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;2;99E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;401E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;402E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;403E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;154E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;404E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;154E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;405E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;158E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;322E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;158E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;100E;E;D;K;6;$classD;K;6;CP$UIDd;2;99E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;405E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;406E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;407E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;160E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;322E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;160E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;158E;E;D;K;6;$classD;K;6;CP$UIDd;2;99E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;407E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;408E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;409E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;410E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;160E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;411E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;412E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;378E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;160E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;413E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;414E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;375E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;160E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;415E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;416E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;160E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;417E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;330E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;331E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;332E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;160E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;418E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;381E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;160E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;419E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;420E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;421E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;160E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;422E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;330E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;331E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;332E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;160E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;423E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;170E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;322E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;170E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;160E;E;D;K;6;$classD;K;6;CP$UIDd;2;99E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;423E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;424E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;425E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;170E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;426E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;170E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;427E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;170E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;428E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;170E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;429E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;176E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;322E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;176E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;160E;E;D;K;6;$classD;K;6;CP$UIDd;2;99E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;429E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;430E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;425E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;176E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;426E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;176E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;431E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;176E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;432E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;181E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;322E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;181E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;160E;E;D;K;6;$classD;K;6;CP$UIDd;2;99E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;432E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;433E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;425E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;434E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;435E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;436E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;437E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;330E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;331E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;332E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;160E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;438E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;160E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;439E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;330E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;331E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;332E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;160E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;440E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;160E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;363E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;441E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;442E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;160E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;365E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;441E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;443E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;193E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;322E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;193E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;158E;E;D;K;6;$classD;K;6;CP$UIDd;2;99E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;443E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;444E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;445E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;193E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;446E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;447E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;193E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;448E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;449E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;193E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;450E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;193E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;451E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;330E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;331E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;332E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;193E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;452E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;200E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;322E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;200E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;193E;E;D;K;6;$classD;K;6;CP$UIDd;2;99E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;452E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;453E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;454E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;332E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;200E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;455E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;200E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;456E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;200E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;457E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;200E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;330E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;331E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;332E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;200E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;458E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;332E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;200E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;455E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;200E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;456E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;200E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;457E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;200E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;330E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;331E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;332E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;193E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;459E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;193E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;460E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;193E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;363E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;461E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;462E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;193E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;365E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;461E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;330E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;331E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;332E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;158E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;463E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;216E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;322E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;216E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;158E;E;D;K;6;$classD;K;6;CP$UIDd;2;99E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;463E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;464E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;465E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;216E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;330E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;331E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;332E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;216E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;466E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;375E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;216E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;467E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;378E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;216E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;468E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;381E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;216E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;469E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;421E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;216E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;330E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;331E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;332E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;216E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;470E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;471E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;216E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;472E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;473E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;216E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;474E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;475E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;216E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;476E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;477E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;216E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;478E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;479E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;216E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;330E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;331E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;332E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;216E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;480E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;481E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;216E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;482E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;232E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;322E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;232E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;100E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;2;99E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;482E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;483E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;484E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;232E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;411E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;441E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;485E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;232E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;486E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;236E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;322E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;236E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;100E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;2;99E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;486E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;487E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;488E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;489E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;236E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;490E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;491E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;236E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;330E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;331E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;332E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;236E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;492E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;236E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;493E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;242E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;322E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;242E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;100E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;2;99E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;493E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;494E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;495E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;324E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;325E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;242E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;496E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;497E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;498E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;8;delegateS;15;arrangeInFront:S;19;performMiniaturize:S;29;orderFrontStandardAboutPanel:S;13;openDocument:S;13;performClose:S;13;saveDocument:S;15;saveDocumentAs:S;12;newDocument:S;9;showHelp:S;22;revertDocumentToSaved:S;21;clearRecentDocuments:S;13;stopSpeaking:S;14;startSpeaking:S;5;copy:S;10;selectAll:S;4;cut:S;14;checkSpelling:S;7;delete:S;6;paste:S;15;showGuessPanel:S;5;undo:S;23;performFindPanelAction:S;29;centerSelectionInVisibleArea:S;5;redo:S;30;toggleContinuousSpellChecking:S;12;performZoom:S;19;toggleToolbarShown:S;31;runToolbarCustomizationPalette:S;22;toggleGrammarChecking:S;24;toggleSmartInsertDelete:S;33;toggleAutomaticQuoteSubstitution:S;29;toggleAutomaticLinkDetection:S;13;addFontTrait:S;12;alignCenter:S;19;useStandardKerning:S;10;pasteFont:S;36;makeBaseWritingDirectionRightToLeft:S;15;alignJustified:S;9;copyFont:S;9;unscript:S;15;changeTextList:S;12;toggleRuler:S;11;modifyFont:S;17;turnOffLigatures:S;15;turnOffKerning:S;12;insertImage:S;36;makeTextWritingDirectionLeftToRight:S;32;makeTextWritingDirectionNatural:S;17;insertLoremIpsum:S;36;makeTextWritingDirectionRightToLeft:S;14;lowerBaseline:S;17;toggleAllowsUndo:S;10;copyRuler:S;10;alignLeft:S;16;useAllLigatures:S;12;superscript:S;10;subscript:S;11;alignRight:S;10;underline:S;32;makeBaseWritingDirectionNatural:S;15;tightenKerning:S;36;makeBaseWritingDirectionLeftToRight:S;14;raiseBaseline:S;11;pasteRuler:S;21;orderFrontColorPanel:S;14;loosenKerning:S;20;orderFrontFontPanel:S;21;useStandardLigatures:S;19;insertTableExample:S;9;AMainMenuS;11;_CPMainMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;231E;D;K;6;CP$UIDd;3;235E;D;K;6;CP$UIDd;3;241E;E;E;S;22;TextEdit by CappuccinoS;14;submenuAction:D;K;10;$classnameS;20;_CPCibCustomResourceK;8;$classesA;S;20;_CPCibCustomResourceS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;323E;K;32;_CPCibCustomResourceClassNameKeyD;K;6;CP$UIDd;3;499E;K;35;_CPCibCustomResourceResourceNameKeyD;K;6;CP$UIDd;3;500E;K;33;_CPCibCustomResourcePropertiesKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;3;323E;K;32;_CPCibCustomResourceClassNameKeyD;K;6;CP$UIDd;3;499E;K;35;_CPCibCustomResourceResourceNameKeyD;K;6;CP$UIDd;3;503E;K;33;_CPCibCustomResourcePropertiesKeyD;K;6;CP$UIDd;3;504E;E;d;7;1048576S;18;_CPApplicationMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;3;106E;E;E;S;28;About TextEdit by CappuccinoT;S;0;F;S;9;Settings…S;1;,S;4;FileD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;118E;E;E;S;3;NewS;1;nS;5;Open…S;1;oS;11;Open RecentS;22;_CPRecentDocumentsMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;113E;E;E;S;10;Clear MenuS;5;CloseS;1;wS;4;SaveS;1;sS;8;Save As…S;1;Sd;7;1179648S;15;Revert to SavedS;4;EditD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;153E;E;E;S;4;UndoS;1;zS;4;RedoS;1;ZS;11;Allows UndoS;3;CutS;1;xS;4;CopyS;1;cS;5;PasteS;1;vS;6;DeleteS;10;Select AllS;1;aS;18;Insert Lorem IpsumS;20;Insert Table ExampleS;13;Insert Image…S;4;FindD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;141E;E;E;S;5;Find…d;1;1S;1;fS;9;Find Nextd;1;2S;1;gS;13;Find Previousd;1;3S;1;GS;22;Use Selection for Findd;1;7S;1;eS;17;Jump to SelectionS;1;jS;20;Spelling and GrammarD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;147E;E;E;S;14;Show Spelling…S;1;:S;14;Check SpellingS;1;;S;27;Check Spelling While TypingS;27;Check Grammar With SpellingS;13;SubstitutionsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;152E;E;E;S;16;Smart Copy/PasteS;12;Smart QuotesS;11;Smart LinksS;6;SpeechD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;3;156E;E;E;S;14;Start SpeakingS;13;Stop SpeakingS;6;FormatD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;192E;D;K;6;CP$UIDd;3;214E;D;K;6;CP$UIDd;3;215E;E;E;S;4;FontS;11;_CPFontMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;164E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;3;169E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;3;187E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;190E;D;K;6;CP$UIDd;3;191E;E;E;S;10;Show FontsS;1;tS;4;BoldS;1;bS;6;ItalicS;1;iS;9;UnderlineS;1;uS;6;BiggerS;1;+S;7;Smallerd;1;4S;1;-S;4;KernD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;174E;E;E;S;11;Use DefaultS;8;Use NoneS;7;TightenS;6;LoosenS;9;LigaturesD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;3;178E;D;K;6;CP$UIDd;3;179E;E;E;S;7;Use AllS;8;BaselineD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;186E;E;E;S;11;SuperscriptS;9;SubscriptS;5;RaiseS;5;LowerS;11;Show ColorsS;1;CS;10;Copy Styled;7;1572864S;11;Paste StyleS;4;TextD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;196E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;199E;D;K;6;CP$UIDd;3;210E;D;K;6;CP$UIDd;3;211E;D;K;6;CP$UIDd;3;212E;D;K;6;CP$UIDd;3;213E;E;E;S;10;Align LeftS;1;{S;6;CenterS;1;|S;7;JustifyS;11;Align RightS;1;}S;17;Writing DirectionD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;201E;D;K;6;CP$UIDd;3;202E;D;K;6;CP$UIDd;3;203E;D;K;6;CP$UIDd;3;204E;D;K;6;CP$UIDd;3;205E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;207E;D;K;6;CP$UIDd;3;208E;D;K;6;CP$UIDd;3;209E;E;E;S;9;ParagraphS;8; DefaultS;14; Left to RightS;14; Right to LeftS;9;SelectionS;10;Show RulerS;10;Copy Rulerd;7;1310720S;11;Paste RulerS;4;ListD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;217E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;219E;D;K;6;CP$UIDd;3;220E;D;K;6;CP$UIDd;3;221E;D;K;6;CP$UIDd;3;222E;D;K;6;CP$UIDd;3;223E;D;K;6;CP$UIDd;3;224E;D;K;6;CP$UIDd;3;225E;D;K;6;CP$UIDd;3;226E;D;K;6;CP$UIDd;3;227E;D;K;6;CP$UIDd;3;228E;D;K;6;CP$UIDd;3;229E;D;K;6;CP$UIDd;3;230E;E;E;S;4;NoneS;8;• BulletS;8;◦ CircleS;8;▪ SquareS;8;⁃ HyphenS;8;1. 2. 3.d;2;10S;8;a. b. c.d;2;11S;8;A. B. C.d;2;12S;11;i. ii. iii.d;2;13S;11;I. II. III.d;2;14S;14;1. 1.1. 1.1.1.d;2;20S;4;ViewD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;233E;D;K;6;CP$UIDd;3;234E;E;E;S;12;Show ToolbarS;18;Customize Toolbar…S;6;WindowS;14;_CPWindowsMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;237E;D;K;6;CP$UIDd;3;238E;D;K;6;CP$UIDd;3;239E;D;K;6;CP$UIDd;3;240E;E;E;S;8;MinimizeS;1;mS;4;ZoomS;18;Bring All to FrontS;4;HelpD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;243E;E;E;S;27;TextEdit by Cappuccino HelpS;1;?S;13;AppControllerS;13;CPFontManagerS;7;CPImageS;15;CPMenuCheckmarkD;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;501E;K;10;CP.objectsD;K;9;frameworkD;K;6;CP$UIDd;3;331E;K;16;bundleIdentifierD;K;6;CP$UIDd;3;331E;K;4;sizeD;K;6;CP$UIDd;3;506E;E;E;S;16;CPMenuMixedStateD;K;6;$classD;K;6;CP$UIDd;3;501E;K;10;CP.objectsD;K;9;frameworkD;K;6;CP$UIDd;3;331E;K;16;bundleIdentifierD;K;6;CP$UIDd;3;331E;K;4;sizeD;K;6;CP$UIDd;3;507E;E;E;D;K;10;$classnameS;21;_CPKeyedArchiverValueK;8;$classesA;S;21;_CPKeyedArchiverValueS;7;CPValueS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;505E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;508E;E;D;K;6;$classD;K;6;CP$UIDd;3;505E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;508E;E;S;22;{"width":0,"height":0}E;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file +280NPLIST;1.0;D;K;4;$topD;K;18;CPCibObjectDataKeyD;K;6;CP$UIDd;1;2E;E;K;8;$objectsA;S;5;$nullD;K;10;$classnameS;16;_CPCibObjectDataK;8;$classesA;S;16;_CPCibObjectDataS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;1E;K;28;_CPCibObjectDataNamesKeysKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibObjectDataNamesValuesKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibObjectDataClassesKeysKeyD;K;6;CP$UIDd;1;0E;K;32;_CPCibObjectDataClassesValuesKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibObjectDataConnectionsKeyD;K;6;CP$UIDd;1;4E;K;28;_CPCibObjectDataFrameworkKeyD;K;6;CP$UIDd;1;0E;K;26;_CPCibObjectDataNextOidKeyD;K;6;CP$UIDd;1;5E;K;30;_CPCibObjectDataObjectsKeysKeyD;K;6;CP$UIDd;1;6E;K;32;_CPCibObjectDataObjectsValuesKeyD;K;6;CP$UIDd;1;7E;K;26;_CPCibObjectDataOidKeysKeyD;K;6;CP$UIDd;1;8E;K;28;_CPCibObjectDataOidValuesKeyD;K;6;CP$UIDd;1;9E;K;28;_CPCibObjectDataFileOwnerKeyD;K;6;CP$UIDd;2;11E;K;33;_CPCibObjectDataVisibleWindowsKeyD;K;6;CP$UIDd;2;13E;E;D;K;10;$classnameS;7;CPArrayK;8;$classesA;S;7;CPArrayS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;15E;D;K;6;CP$UIDd;2;17E;D;K;6;CP$UIDd;2;18E;D;K;6;CP$UIDd;2;19E;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;21E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;23E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;108E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;164E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;3;169E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;3;178E;D;K;6;CP$UIDd;3;179E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;187E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;190E;D;K;6;CP$UIDd;3;191E;D;K;6;CP$UIDd;3;192E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;196E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;199E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;3;201E;D;K;6;CP$UIDd;3;202E;D;K;6;CP$UIDd;3;203E;D;K;6;CP$UIDd;3;204E;D;K;6;CP$UIDd;3;205E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;207E;D;K;6;CP$UIDd;3;208E;D;K;6;CP$UIDd;3;209E;D;K;6;CP$UIDd;3;210E;D;K;6;CP$UIDd;3;211E;D;K;6;CP$UIDd;3;212E;D;K;6;CP$UIDd;3;213E;D;K;6;CP$UIDd;3;214E;D;K;6;CP$UIDd;3;215E;D;K;6;CP$UIDd;3;216E;D;K;6;CP$UIDd;3;217E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;219E;D;K;6;CP$UIDd;3;220E;D;K;6;CP$UIDd;3;221E;D;K;6;CP$UIDd;3;222E;D;K;6;CP$UIDd;3;223E;D;K;6;CP$UIDd;3;224E;D;K;6;CP$UIDd;3;225E;D;K;6;CP$UIDd;3;226E;D;K;6;CP$UIDd;3;227E;D;K;6;CP$UIDd;3;228E;D;K;6;CP$UIDd;3;229E;D;K;6;CP$UIDd;3;230E;D;K;6;CP$UIDd;3;231E;D;K;6;CP$UIDd;3;232E;D;K;6;CP$UIDd;3;233E;D;K;6;CP$UIDd;3;234E;D;K;6;CP$UIDd;3;235E;D;K;6;CP$UIDd;3;236E;D;K;6;CP$UIDd;3;237E;D;K;6;CP$UIDd;3;238E;D;K;6;CP$UIDd;3;239E;D;K;6;CP$UIDd;3;240E;D;K;6;CP$UIDd;3;241E;D;K;6;CP$UIDd;3;242E;D;K;6;CP$UIDd;3;243E;D;K;6;CP$UIDd;3;244E;D;K;6;CP$UIDd;3;245E;D;K;6;CP$UIDd;3;246E;D;K;6;CP$UIDd;3;247E;D;K;6;CP$UIDd;3;248E;D;K;6;CP$UIDd;3;249E;D;K;6;CP$UIDd;3;250E;D;K;6;CP$UIDd;3;251E;D;K;6;CP$UIDd;3;252E;D;K;6;CP$UIDd;3;253E;D;K;6;CP$UIDd;3;254E;D;K;6;CP$UIDd;3;255E;D;K;6;CP$UIDd;3;256E;D;K;6;CP$UIDd;3;257E;D;K;6;CP$UIDd;3;258E;D;K;6;CP$UIDd;3;259E;D;K;6;CP$UIDd;3;260E;D;K;6;CP$UIDd;3;261E;D;K;6;CP$UIDd;3;262E;D;K;6;CP$UIDd;3;263E;D;K;6;CP$UIDd;3;264E;D;K;6;CP$UIDd;3;265E;D;K;6;CP$UIDd;3;266E;D;K;6;CP$UIDd;3;267E;D;K;6;CP$UIDd;3;268E;D;K;6;CP$UIDd;3;269E;D;K;6;CP$UIDd;3;270E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;164E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;3;169E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;187E;D;K;6;CP$UIDd;3;187E;D;K;6;CP$UIDd;3;187E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;191E;D;K;6;CP$UIDd;3;192E;D;K;6;CP$UIDd;3;192E;D;K;6;CP$UIDd;3;192E;D;K;6;CP$UIDd;3;192E;D;K;6;CP$UIDd;3;192E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;169E;D;K;6;CP$UIDd;3;203E;D;K;6;CP$UIDd;3;204E;D;K;6;CP$UIDd;3;204E;D;K;6;CP$UIDd;3;204E;D;K;6;CP$UIDd;3;204E;D;K;6;CP$UIDd;3;204E;D;K;6;CP$UIDd;3;204E;D;K;6;CP$UIDd;3;210E;D;K;6;CP$UIDd;3;211E;D;K;6;CP$UIDd;3;211E;D;K;6;CP$UIDd;3;211E;D;K;6;CP$UIDd;3;211E;D;K;6;CP$UIDd;3;211E;D;K;6;CP$UIDd;3;211E;D;K;6;CP$UIDd;3;211E;D;K;6;CP$UIDd;3;211E;D;K;6;CP$UIDd;3;211E;D;K;6;CP$UIDd;3;204E;D;K;6;CP$UIDd;3;204E;D;K;6;CP$UIDd;3;204E;D;K;6;CP$UIDd;3;204E;D;K;6;CP$UIDd;3;169E;D;K;6;CP$UIDd;3;169E;D;K;6;CP$UIDd;3;226E;D;K;6;CP$UIDd;3;227E;D;K;6;CP$UIDd;3;227E;D;K;6;CP$UIDd;3;227E;D;K;6;CP$UIDd;3;227E;D;K;6;CP$UIDd;3;227E;D;K;6;CP$UIDd;3;227E;D;K;6;CP$UIDd;3;227E;D;K;6;CP$UIDd;3;227E;D;K;6;CP$UIDd;3;227E;D;K;6;CP$UIDd;3;227E;D;K;6;CP$UIDd;3;227E;D;K;6;CP$UIDd;3;227E;D;K;6;CP$UIDd;3;227E;D;K;6;CP$UIDd;3;227E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;242E;D;K;6;CP$UIDd;3;243E;D;K;6;CP$UIDd;3;243E;D;K;6;CP$UIDd;3;243E;D;K;6;CP$UIDd;3;243E;D;K;6;CP$UIDd;3;243E;D;K;6;CP$UIDd;3;243E;D;K;6;CP$UIDd;3;243E;D;K;6;CP$UIDd;3;250E;D;K;6;CP$UIDd;3;251E;D;K;6;CP$UIDd;3;251E;D;K;6;CP$UIDd;3;251E;D;K;6;CP$UIDd;3;251E;D;K;6;CP$UIDd;3;251E;D;K;6;CP$UIDd;3;251E;D;K;6;CP$UIDd;3;251E;D;K;6;CP$UIDd;3;251E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;260E;D;K;6;CP$UIDd;3;261E;D;K;6;CP$UIDd;3;261E;D;K;6;CP$UIDd;3;261E;D;K;6;CP$UIDd;3;261E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;266E;D;K;6;CP$UIDd;3;267E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;10;$classnameS;18;_CPCibCustomObjectK;8;$classesA;S;18;_CPCibCustomObjectS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;271E;E;D;K;10;$classnameS;5;CPSetK;8;$classesA;S;5;CPSetS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;12E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;3;272E;E;D;K;10;$classnameS;20;CPCibOutletConnectorK;8;$classesA;S;20;CPCibOutletConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;11E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;269E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;273E;E;D;K;10;$classnameS;21;CPCibControlConnectorK;8;$classesA;S;21;CPCibControlConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;265E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;274E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;262E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;275E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;115E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;11E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;276E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;121E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;277E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;126E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;278E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;127E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;279E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;128E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;280E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;120E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;281E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;268E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;282E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;129E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;283E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;124E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;167E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;285E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;166E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;286E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;138E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;287E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;141E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;288E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;137E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;289E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;156E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;290E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;140E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;291E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;139E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;292E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;155E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;293E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;132E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;294E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;148E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;295E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;152E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;296E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;133E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;297E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;157E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;298E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;263E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;299E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;244E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;300E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;245E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;301E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;158E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;302E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;161E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;162E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;304E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;163E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;305E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;173E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;270E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;306E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;206E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;307E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;182E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;308E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;202E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;309E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;215E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;310E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;207E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;311E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;201E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;312E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;193E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;313E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;238E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;314E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;222E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;315E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;239E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;314E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;233E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;314E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;177E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;270E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;316E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;189E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;317E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;183E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;318E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;144E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;319E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;219E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;320E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;218E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;321E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;142E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;322E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;220E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;323E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;197E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;324E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;135E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;325E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;255E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;223E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;327E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;241E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;314E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;236E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;314E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;205E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;328E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;230E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;314E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;237E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;314E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;190E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;329E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;253E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;252E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;248E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;330E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;194E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;331E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;195E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;332E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;235E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;314E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;208E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;333E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;175E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;334E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;213E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;335E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;232E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;314E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;184E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;336E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;231E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;314E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;178E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;270E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;316E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;174E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;270E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;306E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;247E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;337E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;214E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;338E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;228E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;314E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;196E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;339E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;224E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;340E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;199E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;249E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;342E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;254E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;185E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;343E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;256E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;257E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;259E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;258E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;172E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;270E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;344E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;188E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;345E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;143E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;346E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;271E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;110E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;347E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;348E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;349E;E;D;K;10;$classnameS;10;CPMenuItemK;8;$classesA;S;10;CPMenuItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;350E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;114E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;351E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;114E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;111E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;3;110E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;350E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;356E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;357E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;358E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;114E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;359E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;360E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;361E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;114E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;362E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;114E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;363E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;364E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;119E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;351E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;119E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;111E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;3;110E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;364E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;365E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;366E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;367E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;368E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;369E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;370E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;123E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;351E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;123E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;3;110E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;370E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;371E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;372E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;373E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;123E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;359E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;360E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;361E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;374E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;375E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;376E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;377E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;378E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;379E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;380E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;381E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;382E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;131E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;351E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;131E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;111E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;3;110E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;382E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;383E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;384E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;131E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;385E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;386E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;131E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;387E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;380E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;359E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;360E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;361E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;131E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;388E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;131E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;359E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;360E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;361E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;131E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;389E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;131E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;390E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;391E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;131E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;392E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;393E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;131E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;394E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;395E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;131E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;396E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;131E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;397E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;398E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;131E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;399E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;131E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;400E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;131E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;359E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;360E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;361E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;131E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;401E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;147E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;351E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;147E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;131E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;3;110E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;401E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;402E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;403E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;404E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;147E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;405E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;406E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;407E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;147E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;408E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;409E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;410E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;147E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;411E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;380E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;412E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;413E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;147E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;414E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;415E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;147E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;416E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;417E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;154E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;351E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;154E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;131E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;3;110E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;417E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;418E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;419E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;154E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;420E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;421E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;154E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;422E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;423E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;154E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;424E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;154E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;425E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;160E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;351E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;160E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;131E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;3;110E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;425E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;426E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;427E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;404E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;160E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;405E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;428E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;407E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;160E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;408E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;429E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;410E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;160E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;411E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;380E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;430E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;165E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;351E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;165E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;131E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;3;110E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;430E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;431E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;432E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;165E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;433E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;165E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;434E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;169E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;351E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;169E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;111E;E;D;K;6;$classD;K;6;CP$UIDd;3;110E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;434E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;435E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;436E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;171E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;351E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;171E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;169E;E;D;K;6;$classD;K;6;CP$UIDd;3;110E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;436E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;437E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;438E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;439E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;171E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;440E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;441E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;407E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;171E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;442E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;443E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;404E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;171E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;444E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;445E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;171E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;446E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;359E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;360E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;361E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;171E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;447E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;410E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;171E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;448E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;449E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;450E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;171E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;451E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;359E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;360E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;361E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;171E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;452E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;181E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;351E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;181E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;171E;E;D;K;6;$classD;K;6;CP$UIDd;3;110E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;452E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;453E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;454E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;455E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;456E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;457E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;458E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;187E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;351E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;187E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;171E;E;D;K;6;$classD;K;6;CP$UIDd;3;110E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;458E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;459E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;454E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;187E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;455E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;187E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;460E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;187E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;461E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;192E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;351E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;192E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;171E;E;D;K;6;$classD;K;6;CP$UIDd;3;110E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;461E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;462E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;454E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;192E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;463E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;192E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;464E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;192E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;465E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;192E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;466E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;192E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;359E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;360E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;361E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;171E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;467E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;171E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;468E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;359E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;360E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;361E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;171E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;469E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;171E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;392E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;470E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;471E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;171E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;394E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;470E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;472E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;204E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;351E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;204E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;169E;E;D;K;6;$classD;K;6;CP$UIDd;3;110E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;472E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;473E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;474E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;204E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;475E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;476E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;204E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;477E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;478E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;204E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;479E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;204E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;480E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;359E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;360E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;361E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;204E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;481E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;211E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;351E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;211E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;204E;E;D;K;6;$classD;K;6;CP$UIDd;3;110E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;481E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;482E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;483E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;361E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;211E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;484E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;211E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;485E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;211E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;486E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;211E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;359E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;360E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;361E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;211E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;487E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;361E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;211E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;484E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;211E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;485E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;211E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;486E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;211E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;359E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;360E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;361E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;204E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;488E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;204E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;489E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;204E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;392E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;490E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;491E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;204E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;394E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;490E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;359E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;360E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;361E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;169E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;492E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;227E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;351E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;227E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;169E;E;D;K;6;$classD;K;6;CP$UIDd;3;110E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;492E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;493E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;494E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;227E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;359E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;360E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;361E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;227E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;495E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;404E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;227E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;496E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;407E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;227E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;497E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;410E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;227E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;498E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;450E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;227E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;359E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;360E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;361E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;227E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;499E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;500E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;227E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;501E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;502E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;227E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;503E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;504E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;227E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;505E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;506E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;227E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;507E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;508E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;227E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;359E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;360E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;361E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;227E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;509E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;510E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;227E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;511E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;243E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;351E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;243E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;111E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;3;110E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;511E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;512E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;513E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;243E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;440E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;470E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;514E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;243E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;359E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;360E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;361E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;243E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;515E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;243E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;516E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;380E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;517E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;243E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;518E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;380E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;519E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;243E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;363E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;380E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;520E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;251E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;351E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;251E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;243E;E;D;K;6;$classD;K;6;CP$UIDd;3;110E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;520E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;521E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;522E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;523E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;251E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;524E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;525E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;251E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;526E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;527E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;251E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;528E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;529E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;251E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;530E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;531E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;251E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;532E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;533E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;251E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;534E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;535E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;251E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;536E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;537E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;251E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;538E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;261E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;351E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;261E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;111E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;3;110E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;538E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;539E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;540E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;541E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;261E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;542E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;543E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;261E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;359E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;360E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;361E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;261E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;544E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;261E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;545E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;267E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;351E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;267E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;111E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;3;110E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;545E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;546E;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;547E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;25;CPMenuItemOnStateImageKeyD;K;6;CP$UIDd;3;353E;K;28;CPMenuItemMixedStateImageKeyD;K;6;CP$UIDd;3;354E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;267E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;548E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;549E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;550E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;8;delegateS;15;arrangeInFront:S;19;performMiniaturize:S;29;orderFrontStandardAboutPanel:S;13;openDocument:S;13;performClose:S;13;saveDocument:S;15;saveDocumentAs:S;12;newDocument:S;9;showHelp:S;22;revertDocumentToSaved:S;21;clearRecentDocuments:S;13;stopSpeaking:S;14;startSpeaking:S;5;copy:S;10;selectAll:S;4;cut:S;14;checkSpelling:S;7;delete:S;6;paste:S;15;showGuessPanel:S;5;undo:S;23;performFindPanelAction:S;29;centerSelectionInVisibleArea:S;5;redo:S;30;toggleContinuousSpellChecking:S;12;performZoom:S;19;toggleToolbarShown:S;31;runToolbarCustomizationPalette:S;22;toggleGrammarChecking:S;24;toggleSmartInsertDelete:S;33;toggleAutomaticQuoteSubstitution:S;29;toggleAutomaticLinkDetection:S;13;addFontTrait:S;12;alignCenter:S;19;useStandardKerning:S;10;pasteFont:S;36;makeBaseWritingDirectionRightToLeft:S;15;alignJustified:S;9;copyFont:S;9;unscript:S;15;changeTextList:S;12;toggleRuler:S;11;modifyFont:S;17;turnOffLigatures:S;15;turnOffKerning:S;12;insertImage:S;36;makeTextWritingDirectionLeftToRight:S;32;makeTextWritingDirectionNatural:S;17;insertLoremIpsum:S;36;makeTextWritingDirectionRightToLeft:S;14;lowerBaseline:S;17;toggleAllowsUndo:S;12;zoomToLevel:S;10;copyRuler:S;10;alignLeft:S;16;useAllLigatures:S;7;zoomIn:S;12;superscript:S;10;subscript:S;11;alignRight:S;10;underline:S;32;makeBaseWritingDirectionNatural:S;15;tightenKerning:S;17;zoomToActualSize:S;36;makeBaseWritingDirectionLeftToRight:S;14;raiseBaseline:S;11;pasteRuler:S;21;orderFrontColorPanel:S;8;zoomOut:S;14;loosenKerning:S;20;orderFrontFontPanel:S;21;useStandardLigatures:S;19;insertTableExample:S;9;AMainMenuS;11;_CPMainMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;3;242E;D;K;6;CP$UIDd;3;260E;D;K;6;CP$UIDd;3;266E;E;E;S;22;TextEdit by CappuccinoS;14;submenuAction:D;K;10;$classnameS;20;_CPCibCustomResourceK;8;$classesA;S;20;_CPCibCustomResourceS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;352E;K;32;_CPCibCustomResourceClassNameKeyD;K;6;CP$UIDd;3;551E;K;35;_CPCibCustomResourceResourceNameKeyD;K;6;CP$UIDd;3;552E;K;33;_CPCibCustomResourcePropertiesKeyD;K;6;CP$UIDd;3;554E;E;D;K;6;$classD;K;6;CP$UIDd;3;352E;K;32;_CPCibCustomResourceClassNameKeyD;K;6;CP$UIDd;3;551E;K;35;_CPCibCustomResourceResourceNameKeyD;K;6;CP$UIDd;3;555E;K;33;_CPCibCustomResourcePropertiesKeyD;K;6;CP$UIDd;3;556E;E;d;7;1048576S;18;_CPApplicationMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;3;117E;E;E;S;28;About TextEdit by CappuccinoT;S;0;F;S;9;Settings…S;1;,S;4;FileD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;129E;E;E;S;3;NewS;1;nS;5;Open…S;1;oS;11;Open RecentS;22;_CPRecentDocumentsMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;124E;E;E;S;10;Clear MenuS;5;CloseS;1;wS;4;SaveS;1;sS;8;Save As…S;1;Sd;7;1179648S;15;Revert to SavedS;4;EditD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;164E;E;E;S;4;UndoS;1;zS;4;RedoS;1;ZS;11;Allows UndoS;3;CutS;1;xS;4;CopyS;1;cS;5;PasteS;1;vS;6;DeleteS;10;Select AllS;1;aS;18;Insert Lorem IpsumS;20;Insert Table ExampleS;13;Insert Image…S;4;FindD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;152E;E;E;S;5;Find…d;1;1S;1;fS;9;Find Nextd;1;2S;1;gS;13;Find Previousd;1;3S;1;GS;22;Use Selection for Findd;1;7S;1;eS;17;Jump to SelectionS;1;jS;20;Spelling and GrammarD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;158E;E;E;S;14;Show Spelling…S;1;:S;14;Check SpellingS;1;;S;27;Check Spelling While TypingS;27;Check Grammar With SpellingS;13;SubstitutionsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;163E;E;E;S;16;Smart Copy/PasteS;12;Smart QuotesS;11;Smart LinksS;6;SpeechD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;167E;E;E;S;14;Start SpeakingS;13;Stop SpeakingS;6;FormatD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;203E;D;K;6;CP$UIDd;3;225E;D;K;6;CP$UIDd;3;226E;E;E;S;4;FontS;11;_CPFontMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;3;178E;D;K;6;CP$UIDd;3;179E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;191E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;199E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;3;201E;D;K;6;CP$UIDd;3;202E;E;E;S;10;Show FontsS;1;tS;4;BoldS;1;bS;6;ItalicS;1;iS;9;UnderlineS;1;uS;6;BiggerS;1;+S;7;Smallerd;1;4S;1;-S;4;KernD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;185E;E;E;S;11;Use DefaultS;8;Use NoneS;7;TightenS;6;LoosenS;9;LigaturesD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;190E;E;E;S;7;Use AllS;8;BaselineD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;196E;D;K;6;CP$UIDd;3;197E;E;E;S;11;SuperscriptS;9;SubscriptS;5;RaiseS;5;LowerS;11;Show ColorsS;1;CS;10;Copy Styled;7;1572864S;11;Paste StyleS;4;TextD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;205E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;207E;D;K;6;CP$UIDd;3;208E;D;K;6;CP$UIDd;3;209E;D;K;6;CP$UIDd;3;210E;D;K;6;CP$UIDd;3;221E;D;K;6;CP$UIDd;3;222E;D;K;6;CP$UIDd;3;223E;D;K;6;CP$UIDd;3;224E;E;E;S;10;Align LeftS;1;{S;6;CenterS;1;|S;7;JustifyS;11;Align RightS;1;}S;17;Writing DirectionD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;212E;D;K;6;CP$UIDd;3;213E;D;K;6;CP$UIDd;3;214E;D;K;6;CP$UIDd;3;215E;D;K;6;CP$UIDd;3;216E;D;K;6;CP$UIDd;3;217E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;219E;D;K;6;CP$UIDd;3;220E;E;E;S;9;ParagraphS;8; DefaultS;14; Left to RightS;14; Right to LeftS;9;SelectionS;10;Show RulerS;10;Copy Rulerd;7;1310720S;11;Paste RulerS;4;ListD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;228E;D;K;6;CP$UIDd;3;229E;D;K;6;CP$UIDd;3;230E;D;K;6;CP$UIDd;3;231E;D;K;6;CP$UIDd;3;232E;D;K;6;CP$UIDd;3;233E;D;K;6;CP$UIDd;3;234E;D;K;6;CP$UIDd;3;235E;D;K;6;CP$UIDd;3;236E;D;K;6;CP$UIDd;3;237E;D;K;6;CP$UIDd;3;238E;D;K;6;CP$UIDd;3;239E;D;K;6;CP$UIDd;3;240E;D;K;6;CP$UIDd;3;241E;E;E;S;4;NoneS;8;• BulletS;8;◦ CircleS;8;▪ SquareS;8;⁃ HyphenS;8;1. 2. 3.d;2;10S;8;a. b. c.d;2;11S;8;A. B. C.d;2;12S;11;i. ii. iii.d;2;13S;11;I. II. III.d;2;14S;14;1. 1.1. 1.1.1.d;2;20S;4;ViewD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;244E;D;K;6;CP$UIDd;3;245E;D;K;6;CP$UIDd;3;246E;D;K;6;CP$UIDd;3;247E;D;K;6;CP$UIDd;3;248E;D;K;6;CP$UIDd;3;249E;D;K;6;CP$UIDd;3;250E;E;E;S;12;Show ToolbarS;18;Customize Toolbar…S;11;Actual SizeS;1;0S;7;Zoom InS;1;.S;8;Zoom OutS;10;Zoom LevelD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;252E;D;K;6;CP$UIDd;3;253E;D;K;6;CP$UIDd;3;254E;D;K;6;CP$UIDd;3;255E;D;K;6;CP$UIDd;3;256E;D;K;6;CP$UIDd;3;257E;D;K;6;CP$UIDd;3;258E;D;K;6;CP$UIDd;3;259E;E;E;S;3;25%d;2;25S;3;50%d;2;50S;3;75%d;2;75S;4;100%d;3;100S;4;125%d;3;125S;4;150%d;3;150S;4;175%d;3;175S;4;200%d;3;200S;6;WindowS;14;_CPWindowsMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;262E;D;K;6;CP$UIDd;3;263E;D;K;6;CP$UIDd;3;264E;D;K;6;CP$UIDd;3;265E;E;E;S;8;MinimizeS;1;mS;4;ZoomS;18;Bring All to FrontS;4;HelpD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;268E;E;E;S;27;TextEdit by Cappuccino HelpS;1;?S;13;AppControllerS;13;CPFontManagerS;7;CPImageS;15;CPMenuCheckmarkD;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;553E;K;10;CP.objectsD;K;9;frameworkD;K;6;CP$UIDd;3;360E;K;16;bundleIdentifierD;K;6;CP$UIDd;3;360E;K;4;sizeD;K;6;CP$UIDd;3;558E;E;E;S;16;CPMenuMixedStateD;K;6;$classD;K;6;CP$UIDd;3;553E;K;10;CP.objectsD;K;9;frameworkD;K;6;CP$UIDd;3;360E;K;16;bundleIdentifierD;K;6;CP$UIDd;3;360E;K;4;sizeD;K;6;CP$UIDd;3;559E;E;E;D;K;10;$classnameS;21;_CPKeyedArchiverValueK;8;$classesA;S;21;_CPKeyedArchiverValueS;7;CPValueS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;557E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;560E;E;D;K;6;$classD;K;6;CP$UIDd;3;557E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;560E;E;S;22;{"width":0,"height":0}E;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/Manual/TextEditor/Resources/MainMenu.xib b/Tests/Manual/TextEditor/Resources/MainMenu.xib index d8d88353c..1cf601433 100644 --- a/Tests/Manual/TextEditor/Resources/MainMenu.xib +++ b/Tests/Manual/TextEditor/Resources/MainMenu.xib @@ -597,6 +597,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Tests/Manual/TextEditor/WORKLIST.md b/Tests/Manual/TextEditor/WORKLIST.md index 3c82b4630..9f3b850f7 100644 --- a/Tests/Manual/TextEditor/WORKLIST.md +++ b/Tests/Manual/TextEditor/WORKLIST.md @@ -30,6 +30,15 @@ How the text system works, for the entries below: `CPTextView` does not use CSS - **Marker appearance and vertical alignment differ from TextEdit.** The marker images, and where markers sit across the ruler, are interim until Aristo3 supplies its own; adjust them to match TextEdit then. A tab stop dragged up off the ruler follows the pointer and is clipped by the ruler's edge, as in TextEdit. Dragged down off the ruler, it stays on its line and is drawn faded until release; TextEdit's behaviour in that direction has not been checked. +### Zoom and view scaling + +View > Zoom Level, Zoom In, Zoom Out and Actual Size set the magnification of the document's scroll view, which scales its clip view's bounds. Zoom exercises CPView's scaling through the whole view hierarchy, so it is the test for scaling defects, below and above 100%. Found in the first test, under Aristo2: + +- **The ruler ignores the magnification.** Its tab stop markers follow the scaled text, but its scale and labels stay at 100%, so markers and units disagree. In Cocoa the ruler scales its units with the scroll view's magnification. +- **Autoresizing uses frame sizes, not bounds sizes.** `-[CPView resizeWithOldSuperviewSize:]` resizes a subview by the change in its superview's frame size, but a subview lives in its superview's bounds coordinates. Cocoa uses the bounds size. Under magnification, an autoresized subview changes by the wrong amount: above 100%, the text became wider than the window after it was resized. +- **Below 100%, a few points are cut off at the left.** The first letter of some lines is missing. +- **Below 100%, a grey band shows below the text.** The text view is only as tall as its text, and the clip view's background shows below it. Cocoa draws the document's background there. + ### nib2cib - **nib2cib ignores the ruler settings.** The "Uses Ruler" setting in Interface Builder does not reach the cib. `CPTextView` and `CPRulerView` also need to archive their ruler settings. @@ -92,4 +101,5 @@ How the text system works, for the entries below: `CPTextView` does not use CSS - Table cells can be edited, as a first pass. - Pasting text with several images and a table: the table appears in place at once, and tables, images and text below a change move with their lines. - A table wider than the text stays on its own line below the text before it when the window is narrowed, and is clipped at the right edge, without a horizontal scroll bar, as in Cocoa when text wraps to the window. +- View > Zoom Level, Zoom In, Zoom Out and Actual Size change the magnification below and above 100%, in the source app and in the build product; text, tables and images stay together at every level. - Builds with both the legacy toolchain and capp-build.