diff --git a/AppKit/CPClipView.j b/AppKit/CPClipView.j index 93f8aacd6..dd8a42c65 100644 --- a/AppKit/CPClipView.j +++ b/AppKit/CPClipView.j @@ -195,7 +195,7 @@ - (CGRect)documentVisibleRect { - return [self convertRect:[self bounds] fromView:_documentView]; + return [_documentView visibleRect]; } @end diff --git a/AppKit/CPCollectionView.j b/AppKit/CPCollectionView.j index 943c05a30..b7ff621d0 100644 --- a/AppKit/CPCollectionView.j +++ b/AppKit/CPCollectionView.j @@ -60,6 +60,8 @@ var CPCollectionViewDelegate_collectionView_acceptDrop_index_dropOperation_ @end +var HORIZONTAL_MARGIN = 2; + /*! @ingroup appkit @class CPCollectionView @@ -88,9 +90,6 @@ var CPCollectionViewDelegate_collectionView_acceptDrop_index_dropOperation_ @param indices the indices to obtain drag types @return an array of drag types (CPString) */ - -var HORIZONTAL_MARGIN = 2; - @implementation CPCollectionView : CPView { CPArray _content; diff --git a/AppKit/CPControl.j b/AppKit/CPControl.j index 91198dbef..8c7ea8958 100644 --- a/AppKit/CPControl.j +++ b/AppKit/CPControl.j @@ -42,13 +42,6 @@ @end -@typedef CPTextAlignment -CPLeftTextAlignment = 0; -CPRightTextAlignment = 1; -CPCenterTextAlignment = 2; -CPJustifiedTextAlignment = 3; -CPNaturalTextAlignment = 4; - @typedef CPControlSize CPRegularControlSize = 0; CPSmallControlSize = 1; @@ -126,6 +119,8 @@ var CPControlBlackColor = [CPColor blackColor]; CGPoint _previousTrackingLocation; CPControlSize _controlSize; + + CPWritingDirection _baseWritingDirection @accessors(property=baseWritingDirection); } + (CPDictionary)themeAttributes @@ -1016,6 +1011,49 @@ var CPControlBlackColor = [CPColor blackColor]; return [self hasThemeState:CPThemeStateHighlighted]; } + +#pragma mark - +#pragma mark Base writing direction + +/*! + Sets the initial writing direction of the receiver + @param writingDirection - It could be CPWritingDirectionNatural, CPWritingDirectionLeftToRight, CPWritingDirectionRightToLeft +*/ +- (void)setBaseWritingDirection:(CPWritingDirection)writingDirection +{ + if (writingDirection == _baseWritingDirection) + return; + + [self willChangeValueForKey:@"baseWritingDirection"]; + _baseWritingDirection = writingDirection; + [self didChangeValueForKey:@"baseWritingDirection"]; + +#if PLATFORM(DOM) + + var style; + + switch (_baseWritingDirection) + { + case CPWritingDirectionNatural: + style = "initial"; + break; + + case CPWritingDirectionLeftToRight: + style = "ltr"; + break; + + case CPWritingDirectionRightToLeft: + style = "rtl"; + break; + + default: + style = "initial"; + } + + _DOMElement.style.direction = style; +#endif +} + @end var CPControlActionKey = @"CPControlActionKey", @@ -1027,6 +1065,7 @@ var CPControlActionKey = @"CPControlActionKey", CPControlSendsActionOnEndEditingKey = @"CPControlSendsActionOnEndEditingKey", CPControlTargetKey = @"CPControlTargetKey", CPControlValueKey = @"CPControlValueKey", + CPControlBaseWrittingDirectionKey = @"CPControlBaseWrittingDirectionKey"; __Deprecated__CPImageViewImageKey = @"CPImageViewImageKey"; @@ -1055,6 +1094,8 @@ var CPControlActionKey = @"CPControlActionKey", [self setFormatter:[aCoder decodeObjectForKey:CPControlFormatterKey]]; [self setControlSize:[aCoder decodeIntForKey:CPControlControlSizeKey]]; + + [self setBaseWritingDirection:[aCoder decodeIntForKey:CPControlBaseWrittingDirectionKey]]; } return self; @@ -1089,6 +1130,9 @@ var CPControlActionKey = @"CPControlActionKey", [aCoder encodeObject:_formatter forKey:CPControlFormatterKey]; [aCoder encodeInt:_controlSize forKey:CPControlControlSizeKey]; + + [aCoder encodeInt:_baseWritingDirection forKey:CPControlBaseWrittingDirectionKey]; + } @end diff --git a/AppKit/CPDatePicker/CPDatePicker.j b/AppKit/CPDatePicker/CPDatePicker.j index e4f92138a..123ccd749 100644 --- a/AppKit/CPDatePicker/CPDatePicker.j +++ b/AppKit/CPDatePicker/CPDatePicker.j @@ -630,14 +630,6 @@ CPEraDatePickerElementFlag = 0x0100; return [[_locale objectForKey:CPLocaleCountryCode] isEqualToString:@"US"]; } -/*! Check if we are in the english format or not. Depending on the locale -*/ -- (BOOL)_isEnglishFormat -{ - return [[_locale objectForKey:CPLocaleLanguageCode] isEqualToString:@"en"]; -} - - #pragma mark - #pragma mark Key event diff --git a/AppKit/CPDatePicker/_CPDatePickerClock.j b/AppKit/CPDatePicker/_CPDatePickerClock.j index 2c3a76f56..1dc603934 100644 --- a/AppKit/CPDatePicker/_CPDatePickerClock.j +++ b/AppKit/CPDatePicker/_CPDatePickerClock.j @@ -139,7 +139,7 @@ var RADIANS = Math.PI / 180; [_minuteHandLayer setImage:[_datePicker currentValueForThemeAttribute:@"minute-hand-image"]]; [_secondHandLayer setImage:[_datePicker currentValueForThemeAttribute:@"second-hand-image"]]; - if ([_datePicker _isEnglishFormat]) + if ([_datePicker _isAmericanFormat]) { if (dateValue.getHours() > 11) [_PMAMTextField setStringValue:@"PM"] diff --git a/AppKit/CPDatePicker/_CPDatePickerTextField.j b/AppKit/CPDatePicker/_CPDatePickerTextField.j index 2f9b42b41..f940feee8 100644 --- a/AppKit/CPDatePicker/_CPDatePickerTextField.j +++ b/AppKit/CPDatePicker/_CPDatePickerTextField.j @@ -353,7 +353,7 @@ var CPZeroKeyCode = 48, if (![self isEnabled]) return; - if ([_datePicker _isEnglishFormat] && [_currentTextField dateType] == CPAMPMDateType && ([anEvent keyCode] == CPAKeyCode || [anEvent keyCode] == CPPKeyCode || [anEvent keyCode] == CPMajAKeyCode || [anEvent keyCode] == CPMajPKeyCode)) + if ([_datePicker _isAmericanFormat] && [_currentTextField dateType] == CPAMPMDateType && ([anEvent keyCode] == CPAKeyCode || [anEvent keyCode] == CPPKeyCode || [anEvent keyCode] == CPMajAKeyCode || [anEvent keyCode] == CPMajPKeyCode)) { if ([anEvent keyCode] == CPAKeyCode || [anEvent keyCode] == CPMajAKeyCode) [_currentTextField setStringValue:@"AM"]; @@ -725,7 +725,7 @@ var CPZeroKeyCode = 48, if (hour != currentHour) { - if (([_datePicker _isEnglishFormat] || [_datePicker _isAmericanFormat])) + if ([_datePicker _isAmericanFormat]) { if (![self _isAMHour]) { @@ -1050,7 +1050,7 @@ var CPZeroKeyCode = 48, - (void)_updateHiddenTextFields { var datePickerElements = [_datePicker datePickerElements], - isEnglishFormat = [_datePicker _isEnglishFormat]; + isAmericanFormat = [_datePicker _isAmericanFormat]; if (datePickerElements & CPYearMonthDatePickerElementFlag) { @@ -1083,7 +1083,7 @@ var CPZeroKeyCode = 48, [_textFieldSeparatorThree setHidden:NO]; [_textFieldSeparatorFour setHidden:YES]; - if (isEnglishFormat) + if (isAmericanFormat) [_textFieldPMAM setHidden:NO]; else [_textFieldPMAM setHidden:YES]; @@ -1115,9 +1115,9 @@ var CPZeroKeyCode = 48, verticalInset = contentInset.top - contentInset.bottom, firstTexField = _textFieldMonth, secondTextField = _textFieldDay, - isEnglishFormat = [_datePicker _isEnglishFormat]; + isAmericanFormat = [_datePicker _isAmericanFormat]; - if (!isEnglishFormat) + if (!isAmericanFormat) { firstTexField = _textFieldDay; secondTextField = _textFieldMonth; @@ -1131,7 +1131,7 @@ var CPZeroKeyCode = 48, else [secondTextField setFrameOrigin:CGPointMake(CGRectGetMaxX([_textFieldSeparatorOne frame]) + separatorContentInset.right, verticalInset)]; - if (isEnglishFormat && [secondTextField isHidden]) + if (isAmericanFormat && [secondTextField isHidden]) [_textFieldSeparatorTwo setFrameOrigin:CGPointMake(CGRectGetMaxX([firstTexField frame]) + separatorContentInset.left, verticalInset)]; else [_textFieldSeparatorTwo setFrameOrigin:CGPointMake(CGRectGetMaxX([secondTextField frame]) + separatorContentInset.left, verticalInset)]; @@ -1206,7 +1206,7 @@ var CPZeroKeyCode = 48, { var datePickerElements = [_datePicker datePickerElements]; - if ([_datePicker _isEnglishFormat]) + if ([_datePicker _isAmericanFormat]) { if (datePickerElements & CPYearMonthDayDatePickerElementFlag || datePickerElements & CPYearMonthDatePickerElementFlag) [[self superview] setFirstTextField:_textFieldMonth]; @@ -1249,9 +1249,9 @@ var CPZeroKeyCode = 48, var datePickerElements = [_datePicker datePickerElements], firstTexField = _textFieldMonth, secondTextField = _textFieldDay, - isEnglishFormat = [_datePicker _isEnglishFormat]; + isAmericanFormat = [_datePicker _isAmericanFormat]; - if (!isEnglishFormat) + if (!isAmericanFormat) { firstTexField = _textFieldDay; secondTextField = _textFieldMonth; @@ -1266,7 +1266,7 @@ var CPZeroKeyCode = 48, if (datePickerElements & CPHourMinuteSecondDatePickerElementFlag || datePickerElements & CPHourMinuteDatePickerElementFlag) [_textFieldYear setNextTextField:_textFieldHour]; - else if (isEnglishFormat || (datePickerElements & CPYearMonthDayDatePickerElementFlag) == CPYearMonthDayDatePickerElementFlag) + else if (isAmericanFormat || (datePickerElements & CPYearMonthDayDatePickerElementFlag) == CPYearMonthDayDatePickerElementFlag) [_textFieldYear setNextTextField:firstTexField]; else [_textFieldYear setNextTextField:secondTextField]; @@ -1275,7 +1275,7 @@ var CPZeroKeyCode = 48, if ((datePickerElements & CPHourMinuteSecondDatePickerElementFlag) == CPHourMinuteSecondDatePickerElementFlag) [_textFieldMinute setNextTextField:_textFieldSecond]; - else if (isEnglishFormat) + else if (isAmericanFormat) [_textFieldMinute setNextTextField:_textFieldPMAM]; else if ((datePickerElements & CPYearMonthDayDatePickerElementFlag) == CPYearMonthDayDatePickerElementFlag) [_textFieldMinute setNextTextField:firstTexField]; @@ -1284,7 +1284,7 @@ var CPZeroKeyCode = 48, else [_textFieldMinute setNextTextField:_textFieldHour]; - if (isEnglishFormat) + if (isAmericanFormat) [_textFieldSecond setNextTextField:_textFieldPMAM]; else if ((datePickerElements & CPYearMonthDayDatePickerElementFlag) == CPYearMonthDayDatePickerElementFlag) [_textFieldSecond setNextTextField:firstTexField]; @@ -1304,9 +1304,9 @@ var CPZeroKeyCode = 48, var datePickerElements = [_datePicker datePickerElements], firstTexField = _textFieldMonth, secondTextField = _textFieldDay, - isEnglishFormat = [_datePicker _isEnglishFormat]; + isAmericanFormat = [_datePicker _isAmericanFormat]; - if (!isEnglishFormat) + if (!isAmericanFormat) { firstTexField = _textFieldDay; secondTextField = _textFieldMonth; @@ -1322,14 +1322,14 @@ var CPZeroKeyCode = 48, if (datePickerElements & CPYearMonthDatePickerElementFlag) [_textFieldHour setPreviousTextField:_textFieldYear]; - else if (isEnglishFormat) + else if (isAmericanFormat) [_textFieldHour setPreviousTextField:_textFieldPMAM]; else if ((datePickerElements & CPHourMinuteSecondDatePickerElementFlag) == CPHourMinuteSecondDatePickerElementFlag) [_textFieldHour setPreviousTextField:_textFieldSecond]; else [_textFieldHour setPreviousTextField:_textFieldMinute]; - if (!isEnglishFormat) + if (!isAmericanFormat) [_textFieldYear setPreviousTextField:_textFieldMonth]; else if ((datePickerElements & CPYearMonthDayDatePickerElementFlag) == CPYearMonthDayDatePickerElementFlag) [_textFieldYear setPreviousTextField:_textFieldDay]; @@ -1338,7 +1338,7 @@ var CPZeroKeyCode = 48, [secondTextField setPreviousTextField:firstTexField]; - if (isEnglishFormat && datePickerElements & CPHourMinuteDatePickerElementFlag) + if (isAmericanFormat && datePickerElements & CPHourMinuteDatePickerElementFlag) [firstTexField setPreviousTextField:_textFieldPMAM]; else if ((datePickerElements & CPHourMinuteSecondDatePickerElementFlag) == CPHourMinuteSecondDatePickerElementFlag) [firstTexField setPreviousTextField:_textFieldSecond]; @@ -1530,7 +1530,7 @@ var CPMonthDateType = 0, } } - if (parseInt(newValue) > [self _maxNumberWithMaxDate] || ([_datePicker _isEnglishFormat] && _dateType == CPHourDateType && parseInt(newValue) > 12)) + if (parseInt(newValue) > [self _maxNumberWithMaxDate] || ([_datePicker _isAmericanFormat] && _dateType == CPHourDateType && parseInt(newValue) > 12)) return; _firstEvent = NO; @@ -1549,7 +1549,7 @@ var CPMonthDateType = 0, if ([stringValue length]) { - if ([_datePicker _isEnglishFormat] && [self dateType] == CPHourDateType) + if ([_datePicker _isAmericanFormat] && [self dateType] == CPHourDateType) { var isAMHour = [[self superview] _isAMHour]; @@ -1593,7 +1593,7 @@ var CPMonthDateType = 0, if (![objectValue length]) objectValue = [self objectValue]; - if ([_datePicker _isEnglishFormat] && [self dateType] == CPHourDateType) + if ([_datePicker _isAmericanFormat] && [self dateType] == CPHourDateType) { var isAMHour = [[self superview] _isAMHour]; @@ -1621,7 +1621,7 @@ var CPMonthDateType = 0, } else if (_dateType != CPAMPMDateType) { - if (_dateType == CPHourDateType && [_datePicker _isEnglishFormat]) + if (_dateType == CPHourDateType && [_datePicker _isAmericanFormat]) { var value = parseInt(aStringValue); diff --git a/AppKit/CPPanel.j b/AppKit/CPPanel.j index 89a8f0355..d371ea7a4 100644 --- a/AppKit/CPPanel.j +++ b/AppKit/CPPanel.j @@ -26,6 +26,8 @@ CPOKButton = 1; CPCancelButton = 0; +CPDocModalWindowMask = 1 << 6; + /*! @ingroup appkit @class CPPanel @@ -51,8 +53,6 @@ CPCancelButton = 0; @global @class CPWindow */ -CPDocModalWindowMask = 1 << 6; - @implementation CPPanel : CPWindow { BOOL _becomesKeyOnlyIfNeeded; diff --git a/AppKit/CPProgressIndicator.j b/AppKit/CPProgressIndicator.j index 3732c229b..683cc0127 100644 --- a/AppKit/CPProgressIndicator.j +++ b/AppKit/CPProgressIndicator.j @@ -86,6 +86,9 @@ var CPProgressIndicatorSpinningStyleColors = []; @"spinning-mini-gif": [CPNull null], @"spinning-small-gif": [CPNull null], @"spinning-regular-gif": [CPNull null], + @"circular-border-color": [CPNull null], + @"circular-border-size": 1, + @"circular-color": [CPNull null] }; } @@ -368,6 +371,7 @@ var CPProgressIndicatorSpinningStyleColors = []; - (void)drawBar { [self setNeedsLayout]; + [self setNeedsDisplay:YES]; } - (CPView)createEphemeralSubviewNamed:(CPString)aName @@ -413,6 +417,9 @@ var CPProgressIndicatorSpinningStyleColors = []; { if (_style == CPProgressIndicatorSpinningStyle) { + if (!_indeterminate) + return; + // This will cause the bar view to go away due to having a nil rect when _style == CPProgressIndicatorSpinningStyle. [self layoutEphemeralSubviewNamed:"bar-view" positioned:CPWindowBelow @@ -438,6 +445,54 @@ var CPProgressIndicatorSpinningStyleColors = []; [self setBackgroundColor:nil]; } +- (void)drawRect:(CGRect)aRect +{ + if (_style == CPProgressIndicatorSpinningStyle && !_indeterminate) + { + var context = [[CPGraphicsContext currentContext] graphicsPort], + rect = CGRectMakeCopy(aRect), + borderSize = [self currentValueForThemeAttribute:@"circular-border-size"]; + + rect.origin.x += borderSize; + rect.origin.y += borderSize; + rect.size.width = rect.size.width - borderSize * 2; + rect.size.height = rect.size.height - borderSize * 2; + + if ([self doubleValue] > [self minValue] && [self doubleValue] < [self maxValue]) + { + var midX = CGRectGetMidX(rect), + midY = CGRectGetMidY(rect), + endAngle = Math.PI * 2 * (([self doubleValue] - [self minValue]) / ([self maxValue] - [self minValue])) - Math.PI / 2, + radius = MIN(rect.size.width / 2, rect.size.height / 2) + + CGContextBeginPath(context); + CGContextSetLineWidth(context, borderSize); + CGContextSetFillColor(context, [self currentValueForThemeAttribute:@"circular-color"]) + CGContextMoveToPoint(context, midX, midY); + CGContextAddArc(context, midX, midY, radius, 3 * Math.PI / 2, endAngle, YES) + CGContextAddLineToPoint(context, midX, midY); + CGContextClosePath(context); + CGContextFillPath(context); + CGContextStrokePath(context); + } + else if ([self doubleValue] == [self maxValue]) + { + CGContextBeginPath(context); + CGContextSetFillColor(context, [self currentValueForThemeAttribute:@"circular-color"]) + CGContextAddEllipseInRect(context, rect); + CGContextClosePath(context); + CGContextFillPath(context); + } + + CGContextBeginPath(context); + CGContextSetStrokeColor(context , [self currentValueForThemeAttribute:@"circular-border-color"]); + CGContextSetLineWidth(context, borderSize); + CGContextAddEllipseInRect(context, rect); + CGContextClosePath(context); + CGContextStrokePath(context); + } +} + @end diff --git a/AppKit/CPRadio.j b/AppKit/CPRadio.j index 5b40fa8ed..cd5f5196d 100644 --- a/AppKit/CPRadio.j +++ b/AppKit/CPRadio.j @@ -29,6 +29,7 @@ @global CPApp +CPRadioImageOffset = 4.0; /*! @ingroup appkit @@ -67,9 +68,6 @@ option. */ - -CPRadioImageOffset = 4.0; - @implementation CPRadio : CPButton { CPRadioGroup _radioGroup; diff --git a/AppKit/CPScrollView.j b/AppKit/CPScrollView.j index 90a8c9b2a..1b34e8658 100644 --- a/AppKit/CPScrollView.j +++ b/AppKit/CPScrollView.j @@ -86,15 +86,6 @@ var _isBrowserUsingOverlayScrollers = function() #endif }; -/*! - @ingroup appkit - @class CPScrollView - - Used to display views that are too large for the viewing area. the CPScrollView - places scroll bars on the side of the view to allow the user to scroll and see the entire - contents of the view. -*/ - var TIMER_INTERVAL = 0.2, CPScrollViewDelegate_scrollViewWillScroll_ = 1 << 0, CPScrollViewDelegate_scrollViewDidScroll_ = 1 << 1, @@ -104,7 +95,14 @@ var TIMER_INTERVAL = 0.2, var CPScrollerStyleGlobal = CPScrollerStyleOverlay, CPScrollerStyleGlobalChangeNotification = @"CPScrollerStyleGlobalChangeNotification"; +/*! + @ingroup appkit + @class CPScrollView + Used to display views that are too large for the viewing area. the CPScrollView + places scroll bars on the side of the view to allow the user to scroll and see the entire + contents of the view. +*/ @implementation CPScrollView : CPView { CPClipView _contentView; diff --git a/AppKit/CPScroller.j b/AppKit/CPScroller.j index f293b34dd..98110ef5f 100644 --- a/AppKit/CPScroller.j +++ b/AppKit/CPScroller.j @@ -50,11 +50,6 @@ CPNoScrollerParts = 0; CPOnlyScrollerArrows = 1; CPAllScrollerParts = 2; -/*! - @ingroup appkit - @class CPScroller -*/ - var PARTS_ARRANGEMENT = [CPScrollerKnobSlot, CPScrollerDecrementLine, CPScrollerIncrementLine, CPScrollerKnob], NAMES_FOR_PARTS = {}, PARTS_FOR_NAMES = {}; @@ -78,6 +73,11 @@ CPThemeStateScrollViewLegacy = CPThemeState("scroller-style-legacy"); CPThemeStateScrollerKnobLight = CPThemeState("scroller-knob-light"); CPThemeStateScrollerKnobDark = CPThemeState("scroller-knob-dark"); +/*! + @ingroup appkit + @class CPScroller +*/ + @implementation CPScroller : CPControl { CPUsableScrollerParts _usableParts; diff --git a/AppKit/CPTableView.j b/AppKit/CPTableView.j index 8ea492abb..dfd3a9ec2 100644 --- a/AppKit/CPTableView.j +++ b/AppKit/CPTableView.j @@ -3593,6 +3593,9 @@ Your delegate can implement this method to avoid subclassing the tableview to ad [self setNeedsDisplay:YES]; } + if (!_isViewBased) + [self _setEditingState:NO forView:dataView]; + [self _sendDelegateWillDisplayView:dataView forTableColumn:tableColumn row:row]; return dataView; diff --git a/AppKit/CPText.j b/AppKit/CPText.j index dda60f133..bfbc25594 100644 --- a/AppKit/CPText.j +++ b/AppKit/CPText.j @@ -38,4 +38,16 @@ CPLeftTextMovement = 19; CPRightTextMovement = 20; CPUpTextMovement = 21; CPDownTextMovement = 22; -CPCancelTextMovement = 23; \ No newline at end of file +CPCancelTextMovement = 23; + +@typedef CPWritingDirection +CPWritingDirectionNatural = -1; +CPWritingDirectionLeftToRight = 0; +CPWritingDirectionRightToLeft = 1; + +@typedef CPTextAlignment +CPLeftTextAlignment = 0; +CPRightTextAlignment = 1; +CPCenterTextAlignment = 2; +CPJustifiedTextAlignment = 3; +CPNaturalTextAlignment = 4; \ No newline at end of file diff --git a/AppKit/CPTextField.j b/AppKit/CPTextField.j index ef68cfe5e..74c670605 100644 --- a/AppKit/CPTextField.j +++ b/AppKit/CPTextField.j @@ -376,7 +376,7 @@ CPTextFieldStatePlaceholder = CPThemeState("placeholder"); _sendActionOn = CPKeyUpMask | CPKeyDownMask; - [self setValue:CPLeftTextAlignment forThemeAttribute:@"alignment"]; + [self setValue:CPNaturalTextAlignment forThemeAttribute:@"alignment"]; } return self; @@ -753,6 +753,10 @@ CPTextFieldStatePlaceholder = CPThemeState("placeholder"); element.style.textAlign = "right"; break; + case CPNaturalTextAlignment: + element.style.textAlign = ""; + break; + default: element.style.textAlign = "left"; } diff --git a/AppKit/Jakefile b/AppKit/Jakefile index 70db16a3d..69f958e4c 100644 --- a/AppKit/Jakefile +++ b/AppKit/Jakefile @@ -1,8 +1,6 @@ require("../common.jake"); -checkUlimit(); - var framework = require("objective-j/jake").framework, BundleTask = require("objective-j/jake").BundleTask; diff --git a/AppKit/Themes/Aristo/ThemeDescriptors.j b/AppKit/Themes/Aristo/ThemeDescriptors.j index 0c4445137..be6830a4c 100755 --- a/AppKit/Themes/Aristo/ThemeDescriptors.j +++ b/AppKit/Themes/Aristo/ThemeDescriptors.j @@ -2999,6 +2999,24 @@ var themedButtonValues = nil, return progressBar; } ++ (CPProgressIndicator)themedCircularProgressIndicator +{ + var progressBar = [[CPProgressIndicator alloc] initWithFrame:CGRectMake(0, 0, 32, 32)]; + [progressBar setStyle:CPProgressIndicatorSpinningStyle]; + [progressBar setIndeterminate:NO]; + + var themeValues = + [ + [@"circular-border-color", [CPColor colorWithHexString:@"C7C7C7"]], + [@"circular-border-size", 1], + [@"circular-color", [CPColor colorWithHexString:@"89B5CD"]] + ]; + + [self registerThemeValues:themeValues forView:progressBar]; + + return progressBar; +} + + (CPBox)themedBox { var box = [[CPBox alloc] initWithFrame:CGRectMake(0,0,100,100)], diff --git a/AppKit/Themes/Aristo2/ThemeDescriptors.j b/AppKit/Themes/Aristo2/ThemeDescriptors.j index bd00d166f..140ebe208 100644 --- a/AppKit/Themes/Aristo2/ThemeDescriptors.j +++ b/AppKit/Themes/Aristo2/ThemeDescriptors.j @@ -688,7 +688,8 @@ var themedButtonValues = nil, [@"text-color", [CPColor blackColor], [CPThemeStateTableDataView, CPThemeStateSelectedDataView, CPThemeStateEditable, CPThemeStateFirstResponder, CPThemeStateKeyWindow]], [@"content-inset", CGInsetMake(7.0, 7.0, 5.0, 10.0), [CPThemeStateTableDataView, CPThemeStateEditable]], [@"font", [CPFont systemFontOfSize:CPFontCurrentSystemSize], [CPThemeStateTableDataView, CPThemeStateEditing]], - [@"bezel-inset", CGInsetMake(-2.0, -2.0, -2.0, -2.0), [CPThemeStateTableDataView, CPThemeStateEditing]], + [@"bezel-inset", CGInsetMake(-2.0, -2.0, -2.0, -2.0), [CPThemeStateTableDataView, CPThemeStateEditable, CPThemeStateEditing]], + [@"bezel-inset", CGInsetMake(1.0, 1.0, 1.0, 1.0), [CPThemeStateTableDataView, CPThemeStateEditable]], [@"text-color", [CPColor colorWithCalibratedWhite:125.0 / 255.0 alpha:1.0], [CPThemeStateTableDataView, CPThemeStateGroupRow]], [@"text-color", [CPColor whiteColor], [CPThemeStateTableDataView, CPThemeStateGroupRow, CPThemeStateSelectedDataView, CPThemeStateFirstResponder, CPThemeStateKeyWindow]], @@ -2499,6 +2500,24 @@ var themedButtonValues = nil, return progressBar; } ++ (CPProgressIndicator)themedCircularProgressIndicator +{ + var progressBar = [[CPProgressIndicator alloc] initWithFrame:CGRectMake(0, 0, 32, 32)]; + [progressBar setStyle:CPProgressIndicatorSpinningStyle]; + [progressBar setIndeterminate:NO]; + + var themeValues = + [ + [@"circular-border-color", [CPColor colorWithHexString:@"A0A0A0"]], + [@"circular-border-size", 1], + [@"circular-color", [CPColor colorWithHexString:@"5982DA"]] + ]; + + [self registerThemeValues:themeValues forView:progressBar]; + + return progressBar; +} + + (CPBox)themedBox { var box = [[CPBox alloc] initWithFrame:CGRectMake(0, 0, 100, 100)], diff --git a/CommonJS/bin/press b/CommonJS/bin/press index c4e6b5571..b89bb49d4 100755 --- a/CommonJS/bin/press +++ b/CommonJS/bin/press @@ -366,23 +366,38 @@ function pressEnvironment(rootPath, outputFiles, environment, options) { return {executable:includedBytes, data:dataBytes, mhtml:mhtmlBytes}; } -function pngcrushDirectory(directory) { - var directoryPath = FILE.path(directory); - var pngs = directoryPath.glob("**/*.png"); +function pngcrushDirectory(directory) +{ + var directoryPath = FILE.path(directory), + pngs = directoryPath.glob("**/*.png"); system.stderr.print("Running pngcrush on " + pngs.length + " pngs:"); - pngs.forEach(function(dstPath) { + pngs.forEach(function(dstPath) + { var tmpPath = FILE.path(dstPath+".tmp"); - var p = OS.popen(["pngcrush", "-rem", "alla", "-reduce", /*"-brute",*/ dstPath, tmpPath]); - if (p.wait()) { - CPLog.warn("pngcrush failed. Ensure it's installed and on your PATH."); + try + { + var p = OS.popen(["pngcrush", "-rem", "alla", "-reduce", /*"-brute",*/ dstPath, tmpPath]); + + if (p.wait()) + { + CPLog.warn("pngcrush failed. Ensure it's installed and on your PATH."); + } + else + { + FILE.move(tmpPath, dstPath); + system.stderr.write(".").flush(); + } } - else { - FILE.move(tmpPath, dstPath); - system.stderr.write(".").flush(); + finally + { + p.stdin.close(); + p.stdout.close(); + p.stderr.close(); } }); + system.stderr.print(""); } diff --git a/CommonJS/lib/cappuccino/fontinfo.j b/CommonJS/lib/cappuccino/fontinfo.j index beff36b9e..4fb9385a0 100644 --- a/CommonJS/lib/cappuccino/fontinfo.j +++ b/CommonJS/lib/cappuccino/fontinfo.j @@ -3,10 +3,20 @@ var OS = require("os"); exports.fontinfo = function(name, size) { - var p = OS.popen(["fontinfo", "-n", name, size || 12]); + var result; - if (p.wait() === 0) - return JSON.parse(p.stdout.read()); - else - return null; + try + { + var p = OS.popen(["fontinfo", "-n", name, size || 12]); + if (p.wait() === 0) + result = p.stdout.read(); + } + finally + { + p.stdin.close(); + p.stdout.close(); + p.stderr.close(); + } + + return result ? JSON.parse(result) : null; }; diff --git a/CommonJS/lib/cappuccino/imagesize.j b/CommonJS/lib/cappuccino/imagesize.j index c6e534bfa..2d88f8085 100644 --- a/CommonJS/lib/cappuccino/imagesize.j +++ b/CommonJS/lib/cappuccino/imagesize.j @@ -3,10 +3,20 @@ var OS = require("os"); exports.imagesize = function(path) { - var p = OS.popen(["imagesize", "-n", path]); + var result; - if (p.wait() === 0) - return JSON.parse(p.stdout.read()); - else - return null; + try + { + var p = OS.popen(["imagesize", "-n", path]); + if (p.wait() === 0) + result = p.stdout.read(); + } + finally + { + p.stdin.close(); + p.stdout.close(); + p.stderr.close(); + } + + return result ? JSON.parse(result) : null; }; diff --git a/Jakefile b/Jakefile index 56a4e30aa..9bbc5ff57 100644 --- a/Jakefile +++ b/Jakefile @@ -128,12 +128,21 @@ function generateDocs(/* boolean */ noFrame) // If the Doxygen application is installed on Mac OS X, use that if (!doxygen && executableExists("mdfind")) { - var p = OS.popen(["mdfind", "kMDItemContentType == 'com.apple.application-bundle' && kMDItemCFBundleIdentifier == 'org.doxygen'"]); - if (p.wait() === 0) + try { - var doxygenApps = p.stdout.read().split("\n"); - if (doxygenApps[0]) - doxygen = FILE.join(doxygenApps[0], "Contents/Resources/doxygen"); + var p = OS.popen(["mdfind", "kMDItemContentType == 'com.apple.application-bundle' && kMDItemCFBundleIdentifier == 'org.doxygen'"]); + if (p.wait() === 0) + { + var doxygenApps = p.stdout.read().split("\n"); + if (doxygenApps[0]) + doxygen = FILE.join(doxygenApps[0], "Contents/Resources/doxygen"); + } + } + finally + { + p.stdin.close(); + p.stdout.close(); + p.stderr.close(); } } diff --git a/Objective-J/CFHTTPRequest.js b/Objective-J/CFHTTPRequest.js index 37bdf61e8..0d34667f2 100644 --- a/Objective-J/CFHTTPRequest.js +++ b/Objective-J/CFHTTPRequest.js @@ -277,12 +277,12 @@ CFHTTPRequest.prototype.removeEventListener = function(/*String*/ anEventName, / this._eventDispatcher.removeEventListener(anEventName, anEventListener); }; -CFHTTPRequest.prototype.setWithCredentials = function(/*Boolean*/ willSendWithCredentials) +CFHTTPRequest.prototype.setWithCredentials = function(/*Boolean*/ willSendWithCredentials) { this._nativeRequest.withCredentials = willSendWithCredentials; }; -CFHTTPRequest.prototype.withCredentials = function() +CFHTTPRequest.prototype.withCredentials = function() { return this._nativeRequest.withCredentials; }; @@ -323,12 +323,21 @@ function FileRequest(/*CFURL*/ aURL, onsuccess, onfailure, onprogress) var aFilePath = aURL.toString().substring(5), OS = require("os"), gccFlags = require("objective-j").currentCompilerFlags(), - gcc = OS.popen("gcc -E -x c -P " + (gccFlags ? gccFlags : "") + " " + OS.enquote(aFilePath), { charset:"UTF-8" }), chunk, fileContents = ""; - while (chunk = gcc.stdout.read()) - fileContents += chunk; + try + { + var gcc = OS.popen("gcc -E -x c -P " + (gccFlags ? gccFlags : "") + " " + OS.enquote(aFilePath), { charset:"UTF-8" }); + while (chunk = gcc.stdout.read()) + fileContents += chunk; + } + finally + { + gcc.stdin.close(); + gcc.stdout.close(); + gcc.stderr.close(); + } if (fileContents.length > 0) { diff --git a/Objective-J/CommonJS/lib/objective-j.js b/Objective-J/CommonJS/lib/objective-j.js index 9dbf5ebd9..f3e1db5c4 100644 --- a/Objective-J/CommonJS/lib/objective-j.js +++ b/Objective-J/CommonJS/lib/objective-j.js @@ -94,6 +94,7 @@ exports.run = function(args) print(" -I, --objj-include-paths include a specific framework paths") print(" -h, --help print this help"); print(" -m, --multifiles launch objj on several files") + print(" -x, --xml specify the output format in xml.") return; } @@ -101,45 +102,57 @@ exports.run = function(args) { switch (argv[0]) { + case "--objj-include-paths": case "-I": argv.shift(); OBJJ_INCLUDE_PATHS.unshift.apply(OBJJ_INCLUDE_PATHS, argv.shift().split(":")); break; + case "--multifiles": case "-m": argv.shift(); multipleFiles = true; break + + case "-x": + case "--xml": + argv.shift(); + exports.outputFormatInXML = true; + break; } } } if (argv && argv.length > 0) { - var endCommand = false; + var endCommand = false, + errors = []; while (argv.length > 0) { - var arg0 = argv.shift(); - var mainFilePath = FILE.canonical(arg0); + var arg0 = argv.shift(), + mainFilePath = FILE.canonical(arg0); - if (multipleFiles) - { - // This is needed to process every files passed in args - // Otherwise it would stop when an error is raised or we would like to objj the other given files - try - { - exports.make_narwhal_factory(mainFilePath)(require, { }, module, system, print); - } - catch(e) - { - print("\n" + e); - } - } - else + try { exports.make_narwhal_factory(mainFilePath)(require, { }, module, system, print); } + catch(e) + { + if (exports.outputFormatInXML) + { + var dict = new CFMutableDictionary(); + dict.addValueForKey('line', e.line ? e.line : 0); + dict.addValueForKey('sourcePath', e.path ? e.path : mainFilePath); + dict.addValueForKey('message', e.message); + + errors.push(dict); + } + else + { + errors.push("\n" + e); + } + } if (typeof main === "function") { @@ -157,6 +170,14 @@ exports.run = function(args) ObjectiveJ.FileExecutable.resetFileExecutables(); objj_resetRegisterClasses(); } + + if (errors.length) + { + if (exports.outputFormatInXML) + throw CFPropertyListCreateXMLData(errors, kCFPropertyListXMLFormat_v1_0).rawString(); + else + throw errors; + } } else { @@ -229,6 +250,7 @@ function getPackage() { exports.version = function() { return getPackage()["version"]; } exports.revision = function() { return getPackage()["cappuccino-revision"]; } exports.timestamp = function() { return new Date(getPackage()["cappuccino-timestamp"]); } +exports.outputFormatInXML = false; exports.fullVersionString = function() { return sprintf("objective-j %s (%04d-%02d-%02d %s)", diff --git a/Objective-J/CommonJS/lib/objective-j/compiler.js b/Objective-J/CommonJS/lib/objective-j/compiler.js index 65079fd48..34416cde0 100644 --- a/Objective-J/CommonJS/lib/objective-j/compiler.js +++ b/Objective-J/CommonJS/lib/objective-j/compiler.js @@ -46,18 +46,39 @@ function compileWithResolvedFlags(aFilePath, objjcFlags, gccFlags, asPlainJavasc if (!shouldObjjPreprocess) { - if (OS.popen("which gcc").stdout.read().length === 0) - fileContents = FILE.read(aFilePath, { charset:"UTF-8" }); - else + try { - // GCC preprocess the file. - var gcc = OS.popen("gcc -E -x c -P " + (gccFlags ? gccFlags.join(" ") : "") + " " + OS.enquote(aFilePath), { charset:"UTF-8" }), - chunk = ""; + var p = OS.popen("which gcc"); - while (chunk = gcc.stdout.read()) - fileContents += chunk; + if (p.stdout.read().length === 0) + { + fileContents = FILE.read(aFilePath, { charset:"UTF-8" }); + } + else + { + try + { + var gcc = OS.popen("gcc -E -x c -P " + (gccFlags ? gccFlags.join(" ") : "") + " " + OS.enquote(aFilePath), { charset:"UTF-8" }), + chunk = ""; + while (chunk = gcc.stdout.read()) + fileContents += chunk; + } + finally + { + gcc.stdin.close(); + gcc.stdout.close(); + gcc.stderr.close(); + } + } } + finally + { + p.stdin.close(); + p.stdout.close(); + p.stderr.close(); + } + return fileContents; } diff --git a/Objective-J/CommonJS/lib/objective-j/jake.js b/Objective-J/CommonJS/lib/objective-j/jake.js index 7d4bc9048..b1683c037 100644 --- a/Objective-J/CommonJS/lib/objective-j/jake.js +++ b/Objective-J/CommonJS/lib/objective-j/jake.js @@ -22,7 +22,6 @@ var FILE = require("file"); - var BUNDLE_TASK = require("objective-j/jake/bundletask"); exports.BundleTask = BUNDLE_TASK.BundleTask; diff --git a/Objective-J/Jakefile b/Objective-J/Jakefile index ca5bfeda9..2c83a5562 100644 --- a/Objective-J/Jakefile +++ b/Objective-J/Jakefile @@ -40,8 +40,8 @@ $BROWSER_FILES = new FileList($BROWSER_FILE).include($OBJECTIVEJ_FILES); filedir($BUILD_BROWSER_FILE, $BROWSER_FILES, function(aTask) { - gcc($BROWSER_FILE, - $BUILD_BROWSER_FILE, + gcc($BROWSER_FILE, + $BUILD_BROWSER_FILE, environmentFlags("Browser", "ObjJ").concat($INCLUDE_FLAGS, $DEBUG_FLAGS), $CONFIGURATION !== "Debug"); }); @@ -119,11 +119,20 @@ function gcc(inputFilePath, outputFilePath, flags, compress) stream.print("Building... \0green(" + outputFilePath +"\0)"); // GCC preprocess the file. - var cmd = ["gcc", "-E", "-x", "c", "-P"].concat(flags, inputFilePath).join(" "); - var gcc = OS.popen(cmd, { charset:"UTF-8" }); + var cmd = ["gcc", "-E", "-x", "c", "-P"].concat(flags, inputFilePath).join(" "), + contents = FILE.read("header.txt", { charset : "UTF-8" }); - var contents = FILE.read("header.txt", { charset : "UTF-8" }); - contents += gcc.stdout.read(); + try + { + var gcc = OS.popen(cmd, { charset:"UTF-8" }); + contents += gcc.stdout.read(); + } + finally + { + gcc.stdin.close(); + gcc.stdout.close(); + gcc.stderr.close(); + } if (FILE.extension(inputFilePath) === ".js" && compress) contents = compressor(contents); diff --git a/Objective-J/ObjJAcornCompiler.js b/Objective-J/ObjJAcornCompiler.js index d5561fb47..fd7e0e1ec 100644 --- a/Objective-J/ObjJAcornCompiler.js +++ b/Objective-J/ObjJAcornCompiler.js @@ -394,9 +394,22 @@ var ObjJAcornCompiler = function(/*String*/ aString, /*CFURL*/ aURL, /*unsigned* #ifdef BROWSER console.log(message); #else - print(message); + if (exports.outputFormatInXML) + { + var dict = new CFMutableDictionary(); + dict.addValueForKey('line', e.line); + dict.addValueForKey('sourcePath', this.URL.path()); + dict.addValueForKey('message', message); + + print(CFPropertyListCreateXMLData([dict], kCFPropertyListXMLFormat_v1_0).rawString()); + } + else + { + print(message); + } #endif } + throw e; } @@ -434,6 +447,8 @@ exports.ObjJAcornCompiler.compileFileDependencies = function(/*String*/ aString, ObjJAcornCompiler.prototype.compilePass2 = function() { + var warnings = []; + ObjJAcornCompiler.currentCompileFile = this.URL; this.pass = 2; this.jsBuffer = new StringBuffer(); @@ -442,14 +457,32 @@ ObjJAcornCompiler.prototype.compilePass2 = function() compile(this.tokens, new Scope(null ,{ compiler: this }), pass2); for (var i = 0; i < this.warnings.length; i++) { - var message = this.prettifyMessage(this.warnings[i], "WARNING"); + var warning = this.warnings[i], + type = "WARNING"; + + var message = this.prettifyMessage(warning, type); #ifdef BROWSER console.log(message); #else - print(message); + if (exports.outputFormatInXML) + { + var dict = new CFMutableDictionary(); + dict.addValueForKey('line', warning.line) + dict.addValueForKey('sourcePath', this.URL.path()) + dict.addValueForKey('message', message) + + warnings.push(dict); + } + else + { + print(message); + } #endif } + if (warnings.length && exports.outputFormatInXML) + print(CFPropertyListCreateXMLData(warnings, kCFPropertyListXMLFormat_v1_0).rawString()); + //print(this.URL + ": " + this.jsBuffer.toString()); return this.jsBuffer.toString(); } @@ -660,9 +693,13 @@ ObjJAcornCompiler.prototype.prettifyMessage = function(/* Message */ aMessage, / ObjJAcornCompiler.prototype.error_message = function(errorMessage, node) { var pos = exports.acorn.getLineInfo(this.source, node.start), - syntaxError = {message: errorMessage, line: pos.line, column: pos.column, lineStart: pos.lineStart, lineEnd: pos.lineEnd}; + syntaxErrorData = {message: errorMessage, line: pos.line, column: pos.column, lineStart: pos.lineStart, lineEnd: pos.lineEnd}, + syntaxError = new SyntaxError(this.prettifyMessage(syntaxErrorData, "ERROR")); - return new SyntaxError(this.prettifyMessage(syntaxError, "ERROR")); + syntaxError.line = pos.line; + syntaxError.path = this.URL.path(); + + return syntaxError; } ObjJAcornCompiler.prototype.pushImport = function(url) diff --git a/README.markdown b/README.markdown index 6d9fea48c..fb9e718ec 100644 --- a/README.markdown +++ b/README.markdown @@ -1,3 +1,5 @@ +[![Build Status](https://travis-ci.org/cappuccino/cappuccino.svg?branch=master)](https://travis-ci.org/cappuccino/cappuccino) + Welcome to Cappuccino! ====================== diff --git a/Tests/AppKit/CPScrollViewTest.j b/Tests/AppKit/CPScrollViewTest.j index 320ecb263..5728f87f3 100644 --- a/Tests/AppKit/CPScrollViewTest.j +++ b/Tests/AppKit/CPScrollViewTest.j @@ -334,11 +334,49 @@ [self assert:[CPNotificationCenterHelper registeredNotificationsForObserver:scrollView] equals:[] message:@"Notications registered for the scrollView in the notification center are wrong"]; } +- (void)testDocumentVisibleRect +{ + var theWindow = [[CPWindow alloc] initWithContentRect:CGRectMake(0.0, 0.0, 1024.0, 768.0) + styleMask:CPWindowNotSizable], + windowView = [theWindow contentView], + aScrollView = [[CPScrollView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)], + aDocumentView = [[CPView alloc] initWithFrame:CGRectMake(0, 0, 200, 200)]; + + [CPScrollView setGlobalScrollerStyle:CPScrollerStyleOverlay]; + + [aScrollView setDocumentView:aDocumentView]; + [windowView addSubview:aScrollView]; + + [self assertRect:CGRectMake(0, 0, 100, 100) equals:[aScrollView documentVisibleRect] message:@"documentVisibleRect is wrong in CPScrollView"]; + + [aDocumentView setScaleSize:CGSizeMake(0.5, 0.5)]; + [self assertRect:CGRectMake(0, 0, 200, 200) equals:[aScrollView documentVisibleRect] message:@"documentVisibleRect is wrong in CPScrollView after scaling"]; + + [aDocumentView setScaleSize:CGSizeMake(1, 1)]; + [aDocumentView scrollRectToVisible:CGRectMake(120, 120, 20, 20)]; + [self assertRect:CGRectMake(40, 40, 100, 100) equals:[aScrollView documentVisibleRect] message:@"documentVisibleRect is wrong in CPScrollView"]; + + [aDocumentView setScaleSize:CGSizeMake(0.5, 0.5)]; + [self assertRect:CGRectMake(80, 80, 200, 200) equals:[aScrollView documentVisibleRect] message:@"documentVisibleRect is wrong in CPScrollView"]; +} + - (void)assertPoint:(CGPoint)expected equals:(CGPoint)actual message:(CPString)message { [self assert:expected.x equals:actual.x message:@"X: " + message]; [self assert:expected.y equals:actual.y message:@"Y: " + message]; } +- (void)assertSize:(CGSize)expected equals:(CGSize)actual message:(CPString)message +{ + [self assert:expected.width equals:actual.width message:@"Width: " + message]; + [self assert:expected.height equals:actual.height message:@"Height: " + message]; +} + +- (void)assertRect:(CGRect)expected equals:(CGRect)actual message:(CPString)message +{ + [self assertPoint:expected.origin equals:actual.origin message:message] + [self assertSize:expected.size equals:actual.size message:message] +} + @end diff --git a/Tests/Manual/CPProgressIndicator/AppController.j b/Tests/Manual/CPProgressIndicator/AppController.j index 82019f0e2..410a94614 100644 --- a/Tests/Manual/CPProgressIndicator/AppController.j +++ b/Tests/Manual/CPProgressIndicator/AppController.j @@ -7,13 +7,18 @@ */ @import - +@import +@import @implementation AppController : CPObject { CPWindow theWindow; //this "outlet" is connected automatically by the Cib @outlet CPProgressIndicator fiftyPercentBar @accessors; @outlet CPProgressIndicator hundredPercentBar @accessors; + + @outlet CPProgressIndicator twentyPercentCircular @accessors; + @outlet CPProgressIndicator fiftyPercentCircular @accessors; + @outlet CPProgressIndicator hundredPercentCircular @accessors; } - (void)applicationDidFinishLaunching:(CPNotification)aNotification @@ -31,6 +36,13 @@ [fiftyPercentBar setDoubleValue:50]; [hundredPercentBar setDoubleValue:100]; + [twentyPercentCircular setMaxValue:200]; + [twentyPercentCircular setMinValue:50]; + [twentyPercentCircular setDoubleValue:80]; + + [fiftyPercentCircular setDoubleValue:50]; + [hundredPercentCircular setDoubleValue:100]; + [theWindow center]; } diff --git a/Tests/Manual/CPProgressIndicator/Resources/MainMenu.cib b/Tests/Manual/CPProgressIndicator/Resources/MainMenu.cib index 54a1fcf7b..89bf73572 100644 --- a/Tests/Manual/CPProgressIndicator/Resources/MainMenu.cib +++ b/Tests/Manual/CPProgressIndicator/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;16E;D;K;6;CP$UIDd;2;17E;D;K;6;CP$UIDd;2;18E;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;19E;D;K;6;CP$UIDd;2;21E;D;K;6;CP$UIDd;2;23E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;1;0E;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;1;0E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;1;0E;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;1;0E;D;K;6;CP$UIDd;2;38E;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;2;21E;D;K;6;CP$UIDd;2;23E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;23E;D;K;6;CP$UIDd;2;23E;D;K;6;CP$UIDd;2;23E;D;K;6;CP$UIDd;2;23E;D;K;6;CP$UIDd;2;23E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;23E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;23E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;23E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;23E;D;K;6;CP$UIDd;2;23E;D;K;6;CP$UIDd;2;23E;D;K;6;CP$UIDd;2;37E;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;2;39E;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;2;40E;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;2;38E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;41E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;38E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;28E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;42E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;38E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;30E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;43E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;38E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;21E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;44E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;39E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;2;45E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;2;46E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;2;47E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;2;48E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;2;49E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;2;50E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;2;51E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;23E;E;D;K;10;$classnameS;6;CPViewK;8;$classesA;S;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;22E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;52E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;53E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;53E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;54E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;55E;E;D;K;10;$classnameS;11;CPTextFieldK;8;$classesA;S;11;CPTextFieldS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;23E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;52E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;56E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;23E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;58E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;59E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;55E;K;6;$afontD;K;6;CP$UIDd;2;61E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;62E;K;11;$aalignmentD;K;6;CP$UIDd;2;63E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;64E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;65E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;66E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;67E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;67E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;67E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;69E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;62E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;63E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;19;CPProgressIndicatorK;8;$classesA;S;19;CPProgressIndicatorS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;26E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;23E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;52E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;70E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;71E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;23E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;58E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;72E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;55E;K;9;_minValueD;K;6;CP$UIDd;2;52E;K;9;_maxValueD;K;6;CP$UIDd;2;73E;K;12;_doubleValueD;K;6;CP$UIDd;2;52E;K;12;_controlSizeD;K;6;CP$UIDd;2;52E;K;14;_indeterminateD;K;6;CP$UIDd;2;67E;K;6;_styleD;K;6;CP$UIDd;2;52E;K;12;_isAnimatingD;K;6;CP$UIDd;1;0E;K;26;_isDisplayedWhenStoppedSetD;K;6;CP$UIDd;1;0E;K;23;_isDisplayedWhenStoppedD;K;6;CP$UIDd;2;64E;E;D;K;6;$classD;K;6;CP$UIDd;2;26E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;23E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;52E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;74E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;71E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;23E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;58E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;72E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;55E;K;9;_minValueD;K;6;CP$UIDd;2;52E;K;9;_maxValueD;K;6;CP$UIDd;2;73E;K;12;_doubleValueD;K;6;CP$UIDd;2;52E;K;12;_controlSizeD;K;6;CP$UIDd;2;52E;K;14;_indeterminateD;K;6;CP$UIDd;2;67E;K;6;_styleD;K;6;CP$UIDd;2;52E;K;12;_isAnimatingD;K;6;CP$UIDd;1;0E;K;26;_isDisplayedWhenStoppedSetD;K;6;CP$UIDd;1;0E;K;23;_isDisplayedWhenStoppedD;K;6;CP$UIDd;2;64E;E;D;K;6;$classD;K;6;CP$UIDd;2;26E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;23E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;52E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;75E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;71E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;23E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;58E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;72E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;55E;K;9;_minValueD;K;6;CP$UIDd;2;52E;K;9;_maxValueD;K;6;CP$UIDd;2;73E;K;12;_doubleValueD;K;6;CP$UIDd;2;52E;K;12;_controlSizeD;K;6;CP$UIDd;2;52E;K;14;_indeterminateD;K;6;CP$UIDd;2;64E;K;6;_styleD;K;6;CP$UIDd;2;52E;K;12;_isAnimatingD;K;6;CP$UIDd;1;0E;K;26;_isDisplayedWhenStoppedSetD;K;6;CP$UIDd;1;0E;K;23;_isDisplayedWhenStoppedD;K;6;CP$UIDd;2;64E;E;D;K;6;$classD;K;6;CP$UIDd;2;26E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;23E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;52E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;76E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;71E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;23E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;58E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;72E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;55E;K;9;_minValueD;K;6;CP$UIDd;2;52E;K;9;_maxValueD;K;6;CP$UIDd;2;73E;K;12;_doubleValueD;K;6;CP$UIDd;2;52E;K;12;_controlSizeD;K;6;CP$UIDd;2;52E;K;14;_indeterminateD;K;6;CP$UIDd;2;67E;K;6;_styleD;K;6;CP$UIDd;2;52E;K;12;_isAnimatingD;K;6;CP$UIDd;1;0E;K;26;_isDisplayedWhenStoppedSetD;K;6;CP$UIDd;1;0E;K;23;_isDisplayedWhenStoppedD;K;6;CP$UIDd;2;64E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;23E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;52E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;77E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;23E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;58E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;59E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;55E;K;6;$afontD;K;6;CP$UIDd;2;61E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;62E;K;11;$aalignmentD;K;6;CP$UIDd;2;63E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;64E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;78E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;66E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;67E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;67E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;67E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;69E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;62E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;63E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;23E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;52E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;79E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;23E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;58E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;59E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;55E;K;6;$afontD;K;6;CP$UIDd;2;61E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;62E;K;11;$aalignmentD;K;6;CP$UIDd;2;63E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;64E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;80E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;66E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;67E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;67E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;67E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;69E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;62E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;63E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;23E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;52E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;81E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;23E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;58E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;59E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;55E;K;6;$afontD;K;6;CP$UIDd;2;61E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;62E;K;11;$aalignmentD;K;6;CP$UIDd;2;63E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;64E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;82E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;66E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;67E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;67E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;67E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;69E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;62E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;63E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;23E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;52E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;83E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;23E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;58E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;59E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;55E;K;6;$afontD;K;6;CP$UIDd;2;61E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;62E;K;11;$aalignmentD;K;6;CP$UIDd;2;63E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;64E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;84E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;66E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;67E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;67E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;67E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;69E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;62E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;63E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;26E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;23E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;52E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;85E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;86E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;23E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;58E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;72E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;55E;K;9;_minValueD;K;6;CP$UIDd;2;52E;K;9;_maxValueD;K;6;CP$UIDd;2;73E;K;12;_doubleValueD;K;6;CP$UIDd;2;52E;K;12;_controlSizeD;K;6;CP$UIDd;2;63E;K;14;_indeterminateD;K;6;CP$UIDd;2;64E;K;6;_styleD;K;6;CP$UIDd;2;63E;K;12;_isAnimatingD;K;6;CP$UIDd;1;0E;K;26;_isDisplayedWhenStoppedSetD;K;6;CP$UIDd;1;0E;K;23;_isDisplayedWhenStoppedD;K;6;CP$UIDd;2;64E;E;D;K;6;$classD;K;6;CP$UIDd;2;26E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;23E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;52E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;87E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;88E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;23E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;58E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;72E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;55E;K;9;_minValueD;K;6;CP$UIDd;2;52E;K;9;_maxValueD;K;6;CP$UIDd;2;73E;K;12;_doubleValueD;K;6;CP$UIDd;2;52E;K;12;_controlSizeD;K;6;CP$UIDd;2;62E;K;14;_indeterminateD;K;6;CP$UIDd;2;64E;K;6;_styleD;K;6;CP$UIDd;2;63E;K;12;_isAnimatingD;K;6;CP$UIDd;1;0E;K;26;_isDisplayedWhenStoppedSetD;K;6;CP$UIDd;1;0E;K;23;_isDisplayedWhenStoppedD;K;6;CP$UIDd;2;64E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;23E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;52E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;89E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;23E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;58E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;59E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;55E;K;6;$afontD;K;6;CP$UIDd;2;61E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;62E;K;11;$aalignmentD;K;6;CP$UIDd;2;63E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;64E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;90E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;66E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;67E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;67E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;67E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;69E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;62E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;63E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;91E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;21E;E;E;S;8;delegateS;15;fiftyPercentBarS;17;hundredPercentBarS;9;theWindowS;32;{10000000000000, 10000000000000}S;8;CPWindowd;10;1946157056S;24;{{335, 838}, {266, 190}}S;22;{{0, 0}, {2560, 1418}}d;1;7S;19;CPProgressIndicatord;1;0S;20;{{0, 0}, {266, 190}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;35E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;25E;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;37E;D;K;6;CP$UIDd;2;36E;E;E;S;6;normalS;21;{{20, 19}, {126, 17}}S;19;{{0, 0}, {126, 17}}d;2;36S;9;textfieldD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;13;CPFontNameKeyD;K;6;CP$UIDd;2;92E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;2;93E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;67E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;67E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;64E;E;d;1;2d;1;1T;S;19;Empty progress bar:d;4;3072F;D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;68E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;2;94E;E;S;21;{{152, 19}, {96, 20}}S;18;{{0, 0}, {96, 20}}S;18;progress-indicatord;3;100S;21;{{152, 43}, {96, 20}}S;21;{{152, 91}, {96, 20}}S;21;{{152, 67}, {96, 20}}S;21;{{20, 42}, {126, 17}}S;17;50% progress bar:S;21;{{20, 67}, {126, 17}}S;18;100% progress bar:S;21;{{20, 90}, {126, 17}}S;18;Indeterminate bar:S;22;{{20, 114}, {126, 17}}S;16;Regular spinner:S;22;{{154, 115}, {32, 32}}S;18;{{0, 0}, {32, 32}}S;22;{{154, 154}, {16, 16}}S;18;{{0, 0}, {16, 16}}S;22;{{20, 153}, {126, 17}}S;14;Small spinner:S;13;AppControllerS;28;_CPFontSystemFacePlaceholderd;2;-1D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;63E;E;E;f;18;0.6862745098039216E;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;16E;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;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;22E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;1;0E;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;1;0E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;1;0E;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;1;0E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;1;0E;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;1;0E;D;K;6;CP$UIDd;2;49E;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;2;24E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;48E;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;2;50E;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;2;51E;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;2;49E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;52E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;49E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;31E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;53E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;49E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;44E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;54E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;49E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;33E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;55E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;49E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;46E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;56E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;49E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;24E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;57E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;49E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;47E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;58E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;50E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;2;59E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;2;60E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;2;61E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;2;62E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;2;63E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;2;64E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;2;65E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;26E;E;D;K;10;$classnameS;6;CPViewK;8;$classesA;S;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;25E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;67E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;67E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;68E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;69E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;70E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;70E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;71E;E;D;K;10;$classnameS;11;CPTextFieldK;8;$classesA;S;11;CPTextFieldS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;26E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;72E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;73E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;26E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;74E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;75E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;76E;K;11;$aalignmentD;K;6;CP$UIDd;2;77E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;78E;K;6;$afontD;K;6;CP$UIDd;2;80E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;70E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;70E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;71E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;81E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;82E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;83E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;2;66E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;71E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;71E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;71E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;85E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;78E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;77E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;2;71E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;2;71E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;2;81E;E;D;K;10;$classnameS;19;CPProgressIndicatorK;8;$classesA;S;19;CPProgressIndicatorS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;26E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;86E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;87E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;26E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;74E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;88E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;69E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;70E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;70E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;71E;K;9;_minValueD;K;6;CP$UIDd;2;66E;K;9;_maxValueD;K;6;CP$UIDd;2;89E;K;12;_doubleValueD;K;6;CP$UIDd;2;66E;K;12;_controlSizeD;K;6;CP$UIDd;2;66E;K;14;_indeterminateD;K;6;CP$UIDd;2;71E;K;6;_styleD;K;6;CP$UIDd;2;66E;K;12;_isAnimatingD;K;6;CP$UIDd;1;0E;K;26;_isDisplayedWhenStoppedSetD;K;6;CP$UIDd;1;0E;K;23;_isDisplayedWhenStoppedD;K;6;CP$UIDd;2;81E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;26E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;90E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;87E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;26E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;74E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;88E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;69E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;70E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;70E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;71E;K;9;_minValueD;K;6;CP$UIDd;2;66E;K;9;_maxValueD;K;6;CP$UIDd;2;89E;K;12;_doubleValueD;K;6;CP$UIDd;2;66E;K;12;_controlSizeD;K;6;CP$UIDd;2;66E;K;14;_indeterminateD;K;6;CP$UIDd;2;71E;K;6;_styleD;K;6;CP$UIDd;2;66E;K;12;_isAnimatingD;K;6;CP$UIDd;1;0E;K;26;_isDisplayedWhenStoppedSetD;K;6;CP$UIDd;1;0E;K;23;_isDisplayedWhenStoppedD;K;6;CP$UIDd;2;81E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;26E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;91E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;87E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;26E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;74E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;88E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;69E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;70E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;70E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;71E;K;9;_minValueD;K;6;CP$UIDd;2;66E;K;9;_maxValueD;K;6;CP$UIDd;2;89E;K;12;_doubleValueD;K;6;CP$UIDd;2;66E;K;12;_controlSizeD;K;6;CP$UIDd;2;66E;K;14;_indeterminateD;K;6;CP$UIDd;2;81E;K;6;_styleD;K;6;CP$UIDd;2;66E;K;12;_isAnimatingD;K;6;CP$UIDd;1;0E;K;26;_isDisplayedWhenStoppedSetD;K;6;CP$UIDd;1;0E;K;23;_isDisplayedWhenStoppedD;K;6;CP$UIDd;2;81E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;26E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;92E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;87E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;26E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;74E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;88E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;69E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;70E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;70E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;71E;K;9;_minValueD;K;6;CP$UIDd;2;66E;K;9;_maxValueD;K;6;CP$UIDd;2;89E;K;12;_doubleValueD;K;6;CP$UIDd;2;66E;K;12;_controlSizeD;K;6;CP$UIDd;2;66E;K;14;_indeterminateD;K;6;CP$UIDd;2;71E;K;6;_styleD;K;6;CP$UIDd;2;66E;K;12;_isAnimatingD;K;6;CP$UIDd;1;0E;K;26;_isDisplayedWhenStoppedSetD;K;6;CP$UIDd;1;0E;K;23;_isDisplayedWhenStoppedD;K;6;CP$UIDd;2;81E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;26E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;93E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;73E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;26E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;74E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;75E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;76E;K;11;$aalignmentD;K;6;CP$UIDd;2;77E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;78E;K;6;$afontD;K;6;CP$UIDd;2;80E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;70E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;70E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;71E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;81E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;94E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;83E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;2;66E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;71E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;71E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;71E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;85E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;78E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;77E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;2;71E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;2;71E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;2;81E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;26E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;95E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;73E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;26E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;74E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;75E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;76E;K;11;$aalignmentD;K;6;CP$UIDd;2;77E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;78E;K;6;$afontD;K;6;CP$UIDd;2;80E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;70E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;70E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;71E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;81E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;96E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;83E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;2;66E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;71E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;71E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;71E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;85E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;78E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;77E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;2;71E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;2;71E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;2;81E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;26E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;97E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;73E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;26E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;74E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;75E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;76E;K;11;$aalignmentD;K;6;CP$UIDd;2;77E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;78E;K;6;$afontD;K;6;CP$UIDd;2;80E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;70E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;70E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;71E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;81E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;98E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;83E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;2;66E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;71E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;71E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;71E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;85E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;78E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;77E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;2;71E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;2;71E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;2;81E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;26E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;99E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;73E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;26E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;74E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;75E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;76E;K;11;$aalignmentD;K;6;CP$UIDd;2;77E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;78E;K;6;$afontD;K;6;CP$UIDd;2;80E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;70E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;70E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;71E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;81E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;100E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;83E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;2;66E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;71E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;71E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;71E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;85E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;78E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;77E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;2;71E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;2;71E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;2;81E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;26E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;101E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;102E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;26E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;74E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;88E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;69E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;70E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;70E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;71E;K;9;_minValueD;K;6;CP$UIDd;2;66E;K;9;_maxValueD;K;6;CP$UIDd;2;89E;K;12;_doubleValueD;K;6;CP$UIDd;2;66E;K;12;_controlSizeD;K;6;CP$UIDd;2;77E;K;14;_indeterminateD;K;6;CP$UIDd;2;81E;K;6;_styleD;K;6;CP$UIDd;2;77E;K;12;_isAnimatingD;K;6;CP$UIDd;1;0E;K;26;_isDisplayedWhenStoppedSetD;K;6;CP$UIDd;1;0E;K;23;_isDisplayedWhenStoppedD;K;6;CP$UIDd;2;81E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;26E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;103E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;104E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;26E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;74E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;88E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;69E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;70E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;70E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;71E;K;9;_minValueD;K;6;CP$UIDd;2;66E;K;9;_maxValueD;K;6;CP$UIDd;2;89E;K;12;_doubleValueD;K;6;CP$UIDd;2;66E;K;12;_controlSizeD;K;6;CP$UIDd;2;78E;K;14;_indeterminateD;K;6;CP$UIDd;2;81E;K;6;_styleD;K;6;CP$UIDd;2;77E;K;12;_isAnimatingD;K;6;CP$UIDd;1;0E;K;26;_isDisplayedWhenStoppedSetD;K;6;CP$UIDd;1;0E;K;23;_isDisplayedWhenStoppedD;K;6;CP$UIDd;2;81E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;26E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;105E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;73E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;26E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;74E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;75E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;76E;K;11;$aalignmentD;K;6;CP$UIDd;2;77E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;78E;K;6;$afontD;K;6;CP$UIDd;2;80E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;70E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;70E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;71E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;81E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;106E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;83E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;2;66E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;71E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;71E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;71E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;85E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;78E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;77E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;2;71E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;2;71E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;2;81E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;26E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;107E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;73E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;26E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;74E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;75E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;76E;K;11;$aalignmentD;K;6;CP$UIDd;2;77E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;78E;K;6;$afontD;K;6;CP$UIDd;2;80E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;70E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;70E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;71E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;81E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;108E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;83E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;2;66E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;71E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;71E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;71E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;85E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;78E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;77E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;2;71E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;2;71E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;2;81E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;26E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;109E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;104E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;26E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;74E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;88E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;69E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;70E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;70E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;71E;K;9;_minValueD;K;6;CP$UIDd;2;66E;K;9;_maxValueD;K;6;CP$UIDd;2;89E;K;12;_doubleValueD;K;6;CP$UIDd;2;66E;K;12;_controlSizeD;K;6;CP$UIDd;2;78E;K;14;_indeterminateD;K;6;CP$UIDd;2;71E;K;6;_styleD;K;6;CP$UIDd;2;77E;K;12;_isAnimatingD;K;6;CP$UIDd;1;0E;K;26;_isDisplayedWhenStoppedSetD;K;6;CP$UIDd;1;0E;K;23;_isDisplayedWhenStoppedD;K;6;CP$UIDd;2;81E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;26E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;110E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;73E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;26E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;74E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;75E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;76E;K;11;$aalignmentD;K;6;CP$UIDd;2;77E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;78E;K;6;$afontD;K;6;CP$UIDd;2;80E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;70E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;70E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;71E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;81E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;111E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;83E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;2;66E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;71E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;71E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;71E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;85E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;78E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;77E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;2;71E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;2;71E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;2;81E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;26E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;112E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;104E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;26E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;74E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;88E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;69E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;70E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;70E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;71E;K;9;_minValueD;K;6;CP$UIDd;2;66E;K;9;_maxValueD;K;6;CP$UIDd;2;89E;K;12;_doubleValueD;K;6;CP$UIDd;2;66E;K;12;_controlSizeD;K;6;CP$UIDd;2;78E;K;14;_indeterminateD;K;6;CP$UIDd;2;71E;K;6;_styleD;K;6;CP$UIDd;2;77E;K;12;_isAnimatingD;K;6;CP$UIDd;1;0E;K;26;_isDisplayedWhenStoppedSetD;K;6;CP$UIDd;1;0E;K;23;_isDisplayedWhenStoppedD;K;6;CP$UIDd;2;81E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;26E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;113E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;73E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;26E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;74E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;75E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;76E;K;11;$aalignmentD;K;6;CP$UIDd;2;77E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;78E;K;6;$afontD;K;6;CP$UIDd;2;80E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;70E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;70E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;71E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;81E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;114E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;83E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;2;66E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;71E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;71E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;71E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;85E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;78E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;77E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;2;71E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;2;71E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;2;81E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;26E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;115E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;104E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;26E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;74E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;88E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;69E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;70E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;70E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;71E;K;9;_minValueD;K;6;CP$UIDd;2;66E;K;9;_maxValueD;K;6;CP$UIDd;2;89E;K;12;_doubleValueD;K;6;CP$UIDd;2;66E;K;12;_controlSizeD;K;6;CP$UIDd;2;78E;K;14;_indeterminateD;K;6;CP$UIDd;2;71E;K;6;_styleD;K;6;CP$UIDd;2;77E;K;12;_isAnimatingD;K;6;CP$UIDd;1;0E;K;26;_isDisplayedWhenStoppedSetD;K;6;CP$UIDd;1;0E;K;23;_isDisplayedWhenStoppedD;K;6;CP$UIDd;2;81E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;26E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;116E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;102E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;26E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;74E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;88E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;69E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;70E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;70E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;71E;K;9;_minValueD;K;6;CP$UIDd;2;66E;K;9;_maxValueD;K;6;CP$UIDd;2;89E;K;12;_doubleValueD;K;6;CP$UIDd;2;66E;K;12;_controlSizeD;K;6;CP$UIDd;2;77E;K;14;_indeterminateD;K;6;CP$UIDd;2;71E;K;6;_styleD;K;6;CP$UIDd;2;77E;K;12;_isAnimatingD;K;6;CP$UIDd;1;0E;K;26;_isDisplayedWhenStoppedSetD;K;6;CP$UIDd;1;0E;K;23;_isDisplayedWhenStoppedD;K;6;CP$UIDd;2;81E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;26E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;117E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;73E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;26E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;74E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;75E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;76E;K;11;$aalignmentD;K;6;CP$UIDd;2;77E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;78E;K;6;$afontD;K;6;CP$UIDd;2;80E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;70E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;70E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;71E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;81E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;118E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;83E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;2;66E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;71E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;71E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;71E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;85E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;78E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;77E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;2;71E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;2;71E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;2;81E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;119E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;24E;E;E;S;8;delegateS;15;fiftyPercentBarS;20;fiftyPercentCircularS;17;hundredPercentBarS;22;hundredPercentCircularS;9;theWindowS;21;twentyPercentCircularS;32;{10000000000000, 10000000000000}S;8;CPWindowd;10;1946157056S;24;{{335, 176}, {268, 311}}S;21;{{0, 0}, {1440, 877}}d;1;7S;19;CPProgressIndicatord;1;0S;20;{{0, 0}, {268, 311}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;38E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;28E;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;40E;D;K;6;CP$UIDd;2;39E;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;48E;D;K;6;CP$UIDd;2;47E;E;E;S;6;normalS;6;{1, 1}F;S;21;{{19, 19}, {128, 17}}S;19;{{0, 0}, {128, 17}}d;2;36S;9;textfieldS;18;controlSizeRegulard;1;1d;1;2D;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;79E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;120E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;121E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;71E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;71E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;71E;E;T;S;19;Empty progress bar:d;1;4D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;84E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;122E;E;S;21;{{152, 19}, {96, 20}}S;18;{{0, 0}, {96, 20}}S;18;progress-indicatord;3;100S;21;{{152, 43}, {96, 20}}S;21;{{152, 91}, {96, 20}}S;21;{{152, 67}, {96, 20}}S;21;{{19, 42}, {128, 17}}S;17;50% progress bar:S;21;{{19, 67}, {128, 17}}S;18;100% progress bar:S;21;{{19, 90}, {128, 17}}S;18;Indeterminate bar:S;22;{{19, 114}, {128, 17}}S;16;Regular spinner:S;22;{{154, 115}, {32, 32}}S;18;{{0, 0}, {32, 32}}S;22;{{154, 154}, {16, 16}}S;18;{{0, 0}, {16, 16}}S;22;{{19, 153}, {128, 17}}S;14;Small spinner:S;22;{{19, 185}, {128, 17}}S;19;Empty circular bar:S;22;{{154, 185}, {16, 16}}S;22;{{19, 209}, {128, 17}}S;17;50% circular bar:S;22;{{154, 209}, {16, 16}}S;22;{{19, 234}, {128, 17}}S;18;100% circular bar:S;22;{{154, 234}, {16, 16}}S;22;{{154, 259}, {32, 32}}S;22;{{19, 266}, {128, 17}}S;17;20% circular bar:S;13;AppControllerS;29;.Helvetica Neue DeskInterfaced;2;13D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;2;77E;E;E;f;18;0.6862745098039216E;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/Manual/CPProgressIndicator/Resources/MainMenu.xib b/Tests/Manual/CPProgressIndicator/Resources/MainMenu.xib index 169b47bf4..772510667 100644 --- a/Tests/Manual/CPProgressIndicator/Resources/MainMenu.xib +++ b/Tests/Manual/CPProgressIndicator/Resources/MainMenu.xib @@ -1,34 +1,31 @@ - + 1050 - 11D50 - 2182 - 1138.32 - 568.00 + 14E17e + 7702 + 1348.11 + 758.70 com.apple.InterfaceBuilder.CocoaPlugin - 2182 + 7702 - - YES + + NSCustomObject + NSProgressIndicator NSTextField NSTextFieldCell - NSWindowTemplate NSView - NSProgressIndicator - NSCustomObject - - - YES + NSWindowTemplate + + com.apple.InterfaceBuilder.CocoaPlugin - + PluginDependencyRecalculationVersion - - YES + NSApplication @@ -41,7 +38,7 @@ 7 2 - {{335, 390}, {266, 190}} + {{335, 390}, {268, 311}} 1946157056 CPProgressIndicator NSWindow @@ -50,12 +47,11 @@ 256 - - YES + 268 - {{152, 151}, {96, 20}} + {{152, 272}, {96, 20}} @@ -67,7 +63,7 @@ 268 - {{152, 127}, {96, 20}} + {{152, 248}, {96, 20}} @@ -79,7 +75,7 @@ 268 - {{152, 79}, {96, 20}} + {{152, 200}, {96, 20}} @@ -90,9 +86,8 @@ - 1292 - - {{154, 43}, {32, 32}} + 268 + {{154, 164}, {32, 32}} @@ -103,7 +98,7 @@ 268 - {{152, 103}, {96, 20}} + {{152, 224}, {96, 20}} @@ -115,18 +110,18 @@ 268 - {{17, 154}, {132, 17}} + {{17, 275}, {132, 17}} _NS:1505 YES - 68288064 + 68157504 71304192 Empty progress bar: - LucidaGrande + YES 13 1044 @@ -151,18 +146,20 @@ + NO + 1 268 - {{17, 131}, {132, 17}} + {{17, 252}, {132, 17}} _NS:1505 YES - 68288064 + 68157504 71304192 50% progress bar: @@ -171,18 +168,20 @@ + NO + 1 268 - {{17, 106}, {132, 17}} + {{17, 227}, {132, 17}} _NS:1505 YES - 68288064 + 68157504 71304192 100% progress bar: @@ -191,18 +190,20 @@ + NO + 1 268 - {{17, 83}, {132, 17}} + {{17, 204}, {132, 17}} _NS:1505 YES - 68288064 + 68157504 71304192 Indeterminate bar: @@ -211,18 +212,20 @@ + NO + 1 268 - {{17, 59}, {132, 17}} + {{17, 180}, {132, 17}} _NS:1505 YES - 68288064 + 68157504 71304192 Regular spinner: @@ -231,18 +234,20 @@ + NO + 1 268 - {{17, 20}, {132, 17}} + {{17, 141}, {132, 17}} _NS:1505 YES - 68288064 + 68157504 71304192 Small spinner: @@ -251,36 +256,167 @@ + NO + 1 - 1292 - - {{154, 20}, {16, 16}} + 268 + {{154, 141}, {16, 16}} - + _NS:926 20746 100 - - {266, 190} + + + 268 + {{17, 109}, {132, 17}} + + + + _NS:1505 + YES + + 68157504 + 71304192 + Empty circular bar: + + _NS:1505 + + + + + NO + 1 + + + + 268 + {{154, 110}, {16, 16}} + + + + _NS:926 + 20744 + 100 + + + + 268 + {{17, 85}, {132, 17}} + + + + _NS:1505 + YES + + 68157504 + 71304192 + 50% circular bar: + + _NS:1505 + + + + + NO + 1 + + + + 268 + {{154, 86}, {16, 16}} + + + + _NS:926 + 20744 + 100 + + + + 268 + {{17, 60}, {132, 17}} + + + + _NS:1505 + YES + + 68157504 + 71304192 + 100% circular bar: + + _NS:1505 + + + + + NO + 1 + + + + 268 + {{154, 61}, {16, 16}} + + + + _NS:926 + 20744 + 100 + + + + 268 + {{17, 28}, {132, 17}} + + + + _NS:1505 + YES + + 68157504 + 71304192 + 20% circular bar: + + _NS:1505 + + + + + NO + 1 + + + + 268 + {{154, 20}, {32, 32}} + + + _NS:926 + 20488 + 100 + + + {268, 311} - {{0, 0}, {2560, 1418}} + {{0, 0}, {1440, 877}} {10000000000000, 10000000000000} YES AppController - + - - YES + delegate @@ -313,15 +449,36 @@ 476 - + + + hundredPercentCircular + + + + 493 + + + + fiftyPercentCircular + + + + 494 + + + + twentyPercentCircular + + + + 495 + + - - YES + 0 - - YES - + @@ -346,17 +503,15 @@ 371 - - YES + - + 372 - - YES + @@ -369,7 +524,15 @@ - + + + + + + + + + @@ -378,107 +541,34 @@ - 460 - + 486 + + + + - 461 - + 487 + - 462 - + 488 + + + + + 481 + - - 463 - - - - - 464 - - - - - 465 - - - YES - - - - - - 466 - - - - - 467 - - - YES - - - - - - 468 - - - - - 469 - - - YES - - - - - - 470 - - - - - 471 - - - YES - - - - - - 472 - - - - - 473 - - - YES - - - - - - 474 - - - 477 - - YES + - + @@ -486,142 +576,251 @@ + + 469 + + + + + + + + 470 + + + + + 464 + + + + + 483 + + + + + + + + 485 + + + + + 461 + + + + + 467 + + + + + + + + 468 + + + + + 460 + + + + + 465 + + + + + + + + 466 + + + + + 463 + + + + + 484 + + + + + 462 + + + + + 473 + + + + + + + + 474 + + + 479 - - - - YES - - YES - -1.IBPluginDependency - -2.IBPluginDependency - -3.IBPluginDependency - 371.IBPluginDependency - 371.IBWindowTemplateEditedContentRect - 371.NSWindowTemplate.visibleAtLaunch - 372.IBPluginDependency - 450.IBPluginDependency - 460.IBPluginDependency - 461.IBPluginDependency - 462.IBPluginDependency - 463.IBPluginDependency - 464.IBPluginDependency - 465.IBPluginDependency - 466.IBPluginDependency - 467.IBPluginDependency - 468.IBPluginDependency - 469.IBPluginDependency - 470.IBPluginDependency - 471.IBPluginDependency - 472.IBPluginDependency - 473.IBPluginDependency - 474.IBPluginDependency - 477.IBPluginDependency - 478.IBPluginDependency - 479.IBPluginDependency - - - YES - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - {{303, 221}, {480, 360}} - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - - - YES - - + + 480 + + + + + + + + 482 + + + + + 471 + + + + + + + + 472 + + + + + 490 + + + + + + + + 491 + + + + + 492 + + + + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + {235, 366.5} + com.apple.InterfaceBuilder.CocoaPlugin + {{303, 221}, {480, 360}} + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + - - YES - - - + - 479 + 495 - - YES + AppController NSObject - - YES - - YES - fiftyPercentBar - hundredPercentBar + + NSProgressIndicator + NSProgressIndicator + NSProgressIndicator + NSProgressIndicator + NSProgressIndicator + + + + fiftyPercentBar + NSProgressIndicator - - YES - NSProgressIndicator - NSProgressIndicator + + fiftyPercentCircular + NSProgressIndicator - - - YES - - YES - fiftyPercentBar - hundredPercentBar + + hundredPercentBar + NSProgressIndicator - - YES - - fiftyPercentBar - NSProgressIndicator - - - hundredPercentBar - NSProgressIndicator - + + hundredPercentCircular + NSProgressIndicator - + + twentyPercentCircular + NSProgressIndicator + + IBProjectSource - ./Classes/AppController.h + ../.XcodeSupport/AppController.h - + 0 IBCocoaFramework + NO com.apple.InterfaceBuilder.CocoaPlugin.macosx com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3 - + YES 3 diff --git a/Tests/Manual/CPTextFieldEditingStyleTest/AppController.j b/Tests/Manual/CPTextFieldEditingStyleTest/AppController.j index 1743b4913..60b443763 100644 --- a/Tests/Manual/CPTextFieldEditingStyleTest/AppController.j +++ b/Tests/Manual/CPTextFieldEditingStyleTest/AppController.j @@ -13,6 +13,7 @@ { @outlet CPWindow theWindow; @outlet CPTextField textField; + @outlet CPTextField rightLeftTextField; } - (void)applicationDidFinishLaunching:(CPNotification)aNotification diff --git a/Tests/Manual/CPTextFieldEditingStyleTest/Resources/MainMenu.cib b/Tests/Manual/CPTextFieldEditingStyleTest/Resources/MainMenu.cib index 16496ff10..f3a1a46ea 100644 --- a/Tests/Manual/CPTextFieldEditingStyleTest/Resources/MainMenu.cib +++ b/Tests/Manual/CPTextFieldEditingStyleTest/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;16E;D;K;6;CP$UIDd;2;17E;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;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;53E;D;K;6;CP$UIDd;2;55E;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;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;123E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;130E;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;2;55E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;2;55E;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;114E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;129E;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;131E;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;132E;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;130E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;133E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;130E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;129E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;134E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;130E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;123E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;135E;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;18E;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;136E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;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;137E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;59E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;11E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;138E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;67E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;139E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;72E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;140E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;73E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;141E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;74E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;142E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;66E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;143E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;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;144E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;75E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;145E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;70E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;146E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;63E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;53E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;147E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;108E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;148E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;107E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;149E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;82E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;150E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;85E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;151E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;81E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;152E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;97E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;153E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;84E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;154E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;83E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;155E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;96E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;156E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;78E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;157E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;89E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;158E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;93E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;159E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;79E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;160E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;98E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;161E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;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;162E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;111E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;163E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;112E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;164E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;99E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;165E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;102E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;166E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;103E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;167E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;104E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;168E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;127E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;130E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;169E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;131E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;170E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;171E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;172E;E;D;K;10;$classnameS;10;CPMenuItemK;8;$classesA;S;10;CPMenuItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;173E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;58E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;174E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;58E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;55E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;173E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;176E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;177E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;178E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;58E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;179E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;180E;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;181E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;58E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;182E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;58E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;183E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;179E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;180E;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;181E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;58E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;184E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;58E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;185E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;186E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;65E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;174E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;65E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;55E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;186E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;187E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;188E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;65E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;189E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;190E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;65E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;191E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;192E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;69E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;174E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;69E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;65E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;192E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;193E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;194E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;195E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;69E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;179E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;180E;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;181E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;65E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;196E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;65E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;197E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;198E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;65E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;199E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;200E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;65E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;201E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;202E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;203E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;65E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;204E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;77E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;174E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;77E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;55E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;204E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;205E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;206E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;77E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;207E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;208E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;77E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;209E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;202E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;179E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;180E;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;181E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;77E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;210E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;77E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;211E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;212E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;77E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;213E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;214E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;77E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;215E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;216E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;77E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;217E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;77E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;218E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;179E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;180E;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;181E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;77E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;219E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;88E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;174E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;88E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;77E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;219E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;220E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;221E;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;222E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;88E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;223E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;224E;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;225E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;88E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;226E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;227E;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;228E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;88E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;229E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;202E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;230E;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;231E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;88E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;232E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;233E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;88E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;234E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;235E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;95E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;174E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;95E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;77E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;235E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;236E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;237E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;95E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;238E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;239E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;95E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;240E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;241E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;95E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;242E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;95E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;243E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;101E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;174E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;101E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;77E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;243E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;244E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;245E;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;222E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;101E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;223E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;246E;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;225E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;101E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;226E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;247E;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;228E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;101E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;229E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;202E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;248E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;106E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;174E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;106E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;77E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;248E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;249E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;250E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;106E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;251E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;106E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;252E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;110E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;174E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;110E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;55E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;252E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;253E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;254E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;110E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;255E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;256E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;257E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;110E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;258E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;114E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;174E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;114E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;55E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;258E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;259E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;260E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;261E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;114E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;262E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;263E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;114E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;179E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;180E;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;181E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;114E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;264E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;114E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;265E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;120E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;174E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;120E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;55E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;265E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;266E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;267E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;120E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;268E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;175E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;122E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;269E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;270E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;3;271E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;272E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;3;273E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;231E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;258E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;3;125E;E;D;K;10;$classnameS;6;CPViewK;8;$classesA;S;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;124E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;274E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;275E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;275E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;276E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;277E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;278E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;278E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;181E;E;D;K;10;$classnameS;8;CPButtonK;8;$classesA;S;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;126E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;125E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;274E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;279E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;280E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;125E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;281E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;282E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;283E;K;11;$aalignmentD;K;6;CP$UIDd;3;225E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;274E;K;6;$afontD;K;6;CP$UIDd;3;285E;K;7;$aimageD;K;6;CP$UIDd;3;287E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;278E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;278E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;181E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;274E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;288E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;289E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;180E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;181E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;290E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;274E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;179E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;225E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;274E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;11;CPTextFieldK;8;$classesA;S;11;CPTextFieldS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;128E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;125E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;274E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;291E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;292E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;125E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;281E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;293E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;294E;K;11;$aalignmentD;K;6;CP$UIDd;3;288E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;225E;K;6;$afontD;K;6;CP$UIDd;3;285E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;278E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;278E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;181E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;179E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;180E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;288E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;179E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;179E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;179E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;296E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;225E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;288E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;297E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;123E;E;E;S;8;delegateS;9;textFieldS;9;theWindowS;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;10;terminate: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;12;changeStyle:S;9;AMainMenuS;11;_CPMainMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;119E;E;E;S;14;NewApplicationS;14;submenuAction:d;7;1048576S;18;_CPApplicationMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;E;E;S;20;About NewApplicationT;S;0;F;S;12;Preferences…S;1;,S;19;Quit NewApplicationS;1;qS;4;FileD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;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;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;2;70E;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;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;94E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;3;105E;E;E;S;4;UndoS;1;zS;4;RedoS;1;ZS;3;CutS;1;xS;4;CopyS;1;cS;5;PasteS;1;vS;6;DeleteS;10;Select AllS;1;aS;4;FindD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;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;2;96E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;99E;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;102E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;104E;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;107E;D;K;6;CP$UIDd;3;108E;E;E;S;14;Start SpeakingS;13;Stop SpeakingS;4;ViewD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;112E;E;E;S;12;Show ToolbarS;1;td;7;1572864S;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;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;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;121E;E;E;S;19;NewApplication HelpS;1;?S;32;{10000000000000, 10000000000000}S;8;CPWindowd;10;1879048192S;24;{{335, 128}, {480, 360}}S;21;{{0, 0}, {1440, 878}}d;1;0S;20;{{0, 0}, {480, 360}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;129E;E;E;S;6;normalS;6;{1, 1}S;22;{{136, 24}, {208, 25}}S;19;{{0, 0}, {208, 25}}d;2;36S;6;buttonS;8;borderedD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;284E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;298E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;299E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;181E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;181E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;181E;E;D;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;286E;K;4;nameD;K;6;CP$UIDd;3;300E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;301E;K;5;valueD;K;6;CP$UIDd;3;302E;E;d;1;4S;29;Change style of the textFieldd;2;14S;22;{{132, 57}, {216, 29}}S;19;{{0, 0}, {216, 29}}S;9;textfieldS;28;bezeled+editable+placeholderD;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;295E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;303E;E;S;13;AppControllerS;17;.Lucida Grande UId;2;13S;5;imageS;11;highlightedD;K;6;$classD;K;6;CP$UIDd;3;284E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;298E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;299E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;181E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;181E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;222E;D;K;6;CP$UIDd;3;222E;D;K;6;CP$UIDd;3;222E;D;K;6;CP$UIDd;3;222E;E;E;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;16E;D;K;6;CP$UIDd;2;17E;D;K;6;CP$UIDd;2;18E;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;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;54E;D;K;6;CP$UIDd;2;56E;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;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;124E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;132E;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;2;56E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;131E;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;133E;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;134E;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;132E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;135E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;132E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;131E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;136E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;132E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;130E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;137E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;132E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;124E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;138E;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;19E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;119E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;139E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;140E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;60E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;11E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;141E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;68E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;142E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;73E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;143E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;74E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;144E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;75E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;145E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;67E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;146E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;147E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;76E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;148E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;71E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;149E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;64E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;54E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;150E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;151E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;108E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;152E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;83E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;153E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;86E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;154E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;82E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;155E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;98E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;156E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;85E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;157E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;84E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;158E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;97E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;159E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;79E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;160E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;90E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;161E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;94E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;162E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;80E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;163E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;99E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;164E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;165E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;112E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;166E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;167E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;100E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;168E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;103E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;169E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;104E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;170E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;105E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;171E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;128E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;132E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;172E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;133E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;173E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;174E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;175E;E;D;K;10;$classnameS;10;CPMenuItemK;8;$classesA;S;10;CPMenuItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;176E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;59E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;177E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;59E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;56E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;178E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;176E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;179E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;180E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;181E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;59E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;182E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;183E;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;184E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;59E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;178E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;185E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;59E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;186E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;178E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;182E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;183E;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;184E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;59E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;178E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;187E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;59E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;188E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;178E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;189E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;66E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;177E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;66E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;56E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;178E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;189E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;190E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;191E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;66E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;192E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;178E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;193E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;66E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;194E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;178E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;195E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;70E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;177E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;70E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;66E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;178E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;195E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;196E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;197E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;198E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;70E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;178E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;182E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;183E;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;184E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;66E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;178E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;199E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;66E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;200E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;178E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;201E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;66E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;202E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;178E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;203E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;66E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;204E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;205E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;206E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;66E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;207E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;78E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;177E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;78E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;56E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;178E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;207E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;208E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;209E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;78E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;210E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;178E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;211E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;78E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;212E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;205E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;182E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;183E;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;184E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;78E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;178E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;213E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;78E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;214E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;178E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;215E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;78E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;216E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;178E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;217E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;78E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;218E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;178E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;219E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;78E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;178E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;220E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;78E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;221E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;178E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;182E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;183E;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;184E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;78E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;178E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;222E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;89E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;177E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;89E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;78E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;178E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;222E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;223E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;224E;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;225E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;89E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;226E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;178E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;227E;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;228E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;89E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;229E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;178E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;230E;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;231E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;89E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;232E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;205E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;233E;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;234E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;89E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;235E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;178E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;236E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;89E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;237E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;178E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;238E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;96E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;177E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;96E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;78E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;178E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;238E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;239E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;240E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;96E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;241E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;178E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;242E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;96E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;243E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;178E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;244E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;96E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;178E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;245E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;96E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;178E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;246E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;102E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;177E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;102E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;78E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;178E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;246E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;247E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;248E;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;225E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;226E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;178E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;249E;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;228E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;229E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;178E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;250E;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;231E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;232E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;205E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;251E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;107E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;177E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;107E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;78E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;178E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;251E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;252E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;253E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;107E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;178E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;254E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;107E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;178E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;255E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;111E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;177E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;111E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;56E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;178E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;255E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;256E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;257E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;111E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;258E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;259E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;260E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;111E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;178E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;261E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;115E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;177E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;115E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;56E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;178E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;261E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;262E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;263E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;264E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;115E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;265E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;178E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;266E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;115E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;178E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;182E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;183E;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;184E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;115E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;178E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;267E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;115E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;178E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;268E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;121E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;177E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;121E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;56E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;178E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;268E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;269E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;270E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;121E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;271E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;178E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;123E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;272E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;273E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;3;274E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;275E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;3;276E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;234E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;261E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;3;126E;E;D;K;10;$classnameS;6;CPViewK;8;$classesA;S;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;125E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;277E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;278E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;278E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;279E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;280E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;281E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;281E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;184E;E;D;K;10;$classnameS;8;CPButtonK;8;$classesA;S;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;127E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;126E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;277E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;282E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;283E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;126E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;284E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;285E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;286E;K;11;$aalignmentD;K;6;CP$UIDd;3;228E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;277E;K;6;$afontD;K;6;CP$UIDd;3;288E;K;7;$aimageD;K;6;CP$UIDd;3;290E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;281E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;281E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;184E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;277E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;291E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;277E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;292E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;293E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;183E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;184E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;294E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;277E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;182E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;228E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;277E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;11;CPTextFieldK;8;$classesA;S;11;CPTextFieldS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;129E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;126E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;277E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;295E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;296E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;126E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;284E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;297E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;298E;K;11;$aalignmentD;K;6;CP$UIDd;3;291E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;228E;K;6;$afontD;K;6;CP$UIDd;3;288E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;281E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;281E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;184E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;182E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;183E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;291E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;277E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;292E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;182E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;182E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;182E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;300E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;228E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;291E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;184E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;184E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;182E;E;D;K;6;$classD;K;6;CP$UIDd;3;129E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;126E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;277E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;301E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;296E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;126E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;284E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;297E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;302E;K;11;$aalignmentD;K;6;CP$UIDd;3;291E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;228E;K;6;$afontD;K;6;CP$UIDd;3;288E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;281E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;281E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;184E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;182E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;303E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;291E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;277E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;225E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;182E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;182E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;182E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;300E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;228E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;291E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;182E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;184E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;182E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;304E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;124E;E;E;S;8;delegateS;18;rightLeftTextFieldS;9;textFieldS;9;theWindowS;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;10;terminate: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;12;changeStyle:S;9;AMainMenuS;11;_CPMainMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;120E;E;E;S;14;NewApplicationS;14;submenuAction:d;7;1048576S;18;_CPApplicationMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;E;E;S;20;About NewApplicationT;S;0;F;S;12;Preferences…S;1;,S;19;Quit NewApplicationS;1;qS;4;FileD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;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;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;2;71E;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;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;95E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;106E;E;E;S;4;UndoS;1;zS;4;RedoS;1;ZS;3;CutS;1;xS;4;CopyS;1;cS;5;PasteS;1;vS;6;DeleteS;10;Select AllS;1;aS;4;FindD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;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;2;97E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;100E;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;103E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;105E;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;108E;D;K;6;CP$UIDd;3;109E;E;E;S;14;Start SpeakingS;13;Stop SpeakingS;4;ViewD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;3;113E;E;E;S;12;Show ToolbarS;1;td;7;1572864S;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;116E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;119E;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;122E;E;E;S;19;NewApplication HelpS;1;?S;32;{10000000000000, 10000000000000}S;8;CPWindowd;10;1879048192S;24;{{335, 128}, {480, 360}}S;21;{{0, 0}, {1440, 878}}d;1;0S;20;{{0, 0}, {480, 360}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;131E;E;E;S;6;normalS;6;{1, 1}S;22;{{136, 27}, {208, 25}}S;19;{{0, 0}, {208, 25}}d;2;36S;6;buttonS;27;bordered+controlSizeRegularD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;287E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;305E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;306E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;184E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;184E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;184E;E;D;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;289E;K;4;nameD;K;6;CP$UIDd;3;307E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;308E;K;5;valueD;K;6;CP$UIDd;3;309E;E;d;1;4d;2;-1S;29;Change style of the textFieldd;2;14S;22;{{132, 58}, {216, 22}}S;19;{{0, 0}, {216, 22}}S;9;textfieldS;47;bezeled+controlSizeRegular+editable+placeholderD;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;299E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;310E;E;S;23;{{132, 131}, {216, 22}}S;35;bezeled+controlSizeRegular+editableS;13;Right to LeftS;13;AppControllerS;29;.Helvetica Neue DeskInterfaced;2;13S;5;imageS;11;highlightedD;K;6;$classD;K;6;CP$UIDd;3;287E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;305E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;306E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;184E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;184E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;184E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;225E;D;K;6;CP$UIDd;3;225E;D;K;6;CP$UIDd;3;225E;D;K;6;CP$UIDd;3;225E;E;E;E;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/Manual/CPTextFieldEditingStyleTest/Resources/MainMenu.xib b/Tests/Manual/CPTextFieldEditingStyleTest/Resources/MainMenu.xib index c0c4fce32..972fddc26 100644 --- a/Tests/Manual/CPTextFieldEditingStyleTest/Resources/MainMenu.xib +++ b/Tests/Manual/CPTextFieldEditingStyleTest/Resources/MainMenu.xib @@ -1,8 +1,8 @@ - + - + @@ -11,7 +11,7 @@ - + @@ -306,11 +306,21 @@ + + + + + + + + + + diff --git a/Tests/Tools/ToolsTest.j b/Tests/Tools/ToolsTest.j index 000a05aa8..67bb7e06c 100644 --- a/Tests/Tools/ToolsTest.j +++ b/Tests/Tools/ToolsTest.j @@ -6,6 +6,11 @@ function cleanup() { if (FILE.isDirectory(dir)) FILE.rmtree(dir); }); + + ["objj2objcskeletonTestFile.h", "objj2objcskeletonTestFile.m", "objj2objcskeletonTestFile.j", "objjWarningTestFile.j", "objjErrorTestFile.j"].forEach(function(file) { + if (FILE.isFile(file)) + FILE.remove(file); + }); } @implementation ToolsTest : OJTestCase @@ -13,13 +18,22 @@ function cleanup() { } - (void)setUp +{ + cleanup(); + FILE.write("objj2objcskeletonTestFile.j", "@import \n@import \n\n\n@implementation AppController : CPObject\n{\n @outlet CPSplitView splitViewA;\n @outlet CPSplitView splitViewB;\n @outlet CPSplitView splitViewC;\n}\n\n@end"); + FILE.write("objjWarningTestFile.j", "@import @implementation AppController : CPObject{CPWindow theWindow;}@end"); + FILE.write("objjErrorTestFile.j", "@implementation AppController : CPObject{}@end"); +} + +- (void)tearDown { cleanup(); } - (void)testTools { - var status; + var status, + rootDirectory = FILE.cwd(); status = OS.system(["capp", "gen", "ToolsTestApp"].map(OS.enquote).join(" ") + " > /dev/null"); [self assert:0 equals:status message:"capp gen failed"]; @@ -33,16 +47,40 @@ function cleanup() { status = OS.system(["objj", "ToolsTestApp/AppController.j"]); [self assert:0 equals:status message:"objj failed"]; + status = OS.system(["objj", "-x", "ToolsTestApp/AppController.j"]); + [self assert:0 equals:status message:"objj failed"]; + + var p = OS.popen(["objj", "--xml", "objjErrorTestFile.j"]); + [self assert:1 equals:p.wait() message:"objj failed"]; + [self assert:"\nline1sourcePath" + rootDirectory + "/objjErrorTestFile.jmessage\ +\n@implementation AppController : CPObject{}@end\ +\n ^\ +\nERROR line 1 in file:" + rootDirectory + "/objjErrorTestFile.j: Can't find superclass CPObject\n" equals:p.stdout.read() message:"objj failed"]; + + var p = OS.popen(["objj", "-x", "objjWarningTestFile.j"]); + [self assert:0 equals:p.wait() message:"objj failed"]; + [self assert:"\nline1sourcePath" + rootDirectory + "/objjWarningTestFile.jmessage\n@import <Foundation/Foundation.j>@implementation AppController : CPObject{CPWindow theWindow;}@end\ +\n ^\ +\nWARNING line 1 in file:" + rootDirectory + "/objjWarningTestFile.j: Unknown type 'CPWindow' for ivar 'theWindow'\n" equals:p.stdout.read() message:"objj failed"]; + status = OS.system(["objj", "-m", "ToolsTestApp/AppController.j", "ToolsTestApp/AppController.j"]); [self assert:0 equals:status message:"objj failed with several files"]; status = OS.system(["objj", "-I", "ToolsTestApp/Frameworks", "ToolsTestApp/AppController.j"]); [self assert:0 equals:status message:"objj failed with options -I"]; -} -- (void)tearDown -{ - cleanup(); + status = OS.system(["objj2objcskeleton", "objj2objcskeletonTestFile.j", "."]); + [self assert:0 equals:status message:"objj2objcskeleton failed"]; + + var contentHeader = FILE.read("objj2objcskeletonTestFile.h"), + expectedHeaderResult = "#import \n#import \"xcc_general_include.h\"\n\n@interface AppController : NSObject\n\n@property (assign) IBOutlet NSSplitView* splitViewA;\n@property (assign) IBOutlet NSSplitView* splitViewB;\n@property (assign) IBOutlet NSSplitView* splitViewC;\n\n@end\n"; + + [self assert:contentHeader equals:expectedHeaderResult message:@"Header generated by objj2objcskeleton is wrong"]; + + var contentMFile = FILE.read("objj2objcskeletonTestFile.m"), + expectedMResult = "#import \"objj2objcskeletonTestFile.h\"\n\n@implementation AppController\n@end\n"; + + [self assert:contentMFile equals:expectedMResult message:@"File generated by objj2objcskeleton is wrong"]; } @end diff --git a/Tools/Jakefile b/Tools/Jakefile index b0f0b52a8..92d48b9f9 100644 --- a/Tools/Jakefile +++ b/Tools/Jakefile @@ -2,6 +2,6 @@ require("../common.jake"); // nib2cib uses fontinfo and imagesize and capp uses nib2cib -subtasks(["fontinfo", "imagesize", "nib2cib", "capp", "capp_lint", "dump_theme", "XcodeCapp"], ["build", /*"clean", "clobber"*/]); +subtasks(["fontinfo", "imagesize", "nib2cib", "objj2objcskeleton", "capp", "capp_lint", "dump_theme", "XcodeCapp"], ["build", /*"clean", "clobber"*/]); subtasks(["fontinfo", "imagesize"], ["clean", "clobber"]); diff --git a/Tools/XcodeCapp/Jakefile b/Tools/XcodeCapp/Jakefile index 764cce92f..dc08dd52c 100644 --- a/Tools/XcodeCapp/Jakefile +++ b/Tools/XcodeCapp/Jakefile @@ -13,22 +13,34 @@ task ("build", function() OS.exit(0); // No building on 10.6 - var p = OS.popen(["sw_vers", "-productVersion"]); - - if (p.wait() === 0) + try { - var versions = p.stdout.read().split("."), - majorVersion = parseInt(versions[0], 10), - minorVersion = parseInt(versions[1], 10), - buildVersion = parseInt(versions[2], 10); + var p = OS.popen(["sw_vers", "-productVersion"]); - if (majorVersion < 10 || minorVersion < 7) + if (p.wait() === 0) { - colorPrint("XcodeCapp can only be built on Mac OS X 10.7+. You can download the binary here: https://www.dropbox.com/sh/gxdgm356gyb9tqc/rFNyl8hcVG", "red"); + var versions = p.stdout.read().split("."), + majorVersion = parseInt(versions[0], 10), + minorVersion = parseInt(versions[1], 10), + buildVersion = parseInt(versions[2], 10); - OS.exit(0); + if (majorVersion < 10 || minorVersion < 7) + { + colorPrint("XcodeCapp can only be built on Mac OS X 10.7+. You can download the binary here: https://www.dropbox.com/sh/gxdgm356gyb9tqc/rFNyl8hcVG", "red"); + + p.stdin.close(); + p.stdout.close(); + p.stderr.close(); + OS.exit(0); + } } } + finally + { + p.stdin.close(); + p.stdout.close(); + p.stderr.close(); + } if (executableExists("xcodebuild")) { diff --git a/Tools/nib2cib/Converter.j b/Tools/nib2cib/Converter.j index 549a32bdf..09407a086 100644 --- a/Tools/nib2cib/Converter.j +++ b/Tools/nib2cib/Converter.j @@ -119,8 +119,19 @@ ConverterConversionException = @"ConverterConversionException"; // Compile xib or nib to make sure we have a non-new format nib. temporaryNibFilePath = FILE.join("/tmp", FILE.basename(aFilePath) + ".tmp.nib"); - if (OS.popen(["/usr/bin/ibtool", aFilePath, "--compile", temporaryNibFilePath]).wait() === 1) - [CPException raise:ConverterConversionException reason:@"Could not compile file: " + aFilePath]; + try + { + var p = OS.popen(["/usr/bin/ibtool", aFilePath, "--compile", temporaryNibFilePath]); + if (p.wait() === 1) + [CPException raise:ConverterConversionException reason:@"Could not compile file: " + aFilePath]; + } + finally + { + p.stdin.close(); + p.stdout.close(); + p.stderr.close(); + } + } else { @@ -130,8 +141,18 @@ ConverterConversionException = @"ConverterConversionException"; // Convert from binary plist to XML plist var temporaryPlistFilePath = FILE.join("/tmp", FILE.basename(aFilePath) + ".tmp.plist"); - if (OS.popen(["/usr/bin/plutil", "-convert", "xml1", temporaryNibFilePath, "-o", temporaryPlistFilePath]).wait() === 1) - [CPException raise:ConverterConversionException reason:@"Could not convert to xml plist for file: " + aFilePath]; + try + { + var p = OS.popen(["/usr/bin/plutil", "-convert", "xml1", temporaryNibFilePath, "-o", temporaryPlistFilePath]); + if (p.wait() === 1) + [CPException raise:ConverterConversionException reason:@"Could not convert to xml plist for file: " + aFilePath]; + } + finally + { + p.stdin.close(); + p.stdout.close(); + p.stderr.close(); + } if (!FILE.isReadable(temporaryPlistFilePath)) [CPException raise:ConverterConversionException reason:@"Unable to convert nib file."]; diff --git a/Tools/nib2cib/NSCell.j b/Tools/nib2cib/NSCell.j index 8be4737b8..c92566d74 100644 --- a/Tools/nib2cib/NSCell.j +++ b/Tools/nib2cib/NSCell.j @@ -31,27 +31,28 @@ @implementation NSCell : CPObject { - int _state @accessors(readonly, getter=state); - BOOL _isHighlighted @accessors(readonly, getter=isHighlighted); - BOOL _isEnabled @accessors(readonly, getter=isEnabled); - BOOL _isEditable @accessors(readonly, getter=isEditable); - BOOL _isBordered @accessors(readonly, getter=isBordered); - BOOL _isBezeled @accessors(readonly, getter=isBezeled); - BOOL _isSelectable @accessors(readonly, getter=isSelectable); - BOOL _isScrollable @accessors(readonly, getter=isScrollable); - BOOL _isContinuous @accessors(readonly, getter=isContinuous); - BOOL _scrolls @accessors(readonly, getter=scrolls); - BOOL _wraps @accessors(readonly, getter=wraps); - BOOL _truncates @accessors(readonly, getter=truncates); - BOOL _sendsActionOnEndEditing @accessors(readonly, getter=sendsActionOnEndEditing); - CPTextAlignment _alignment @accessors(readonly, getter=alignment); - CPControlSize _controlSize @accessors(readonly, getter=controlSize); - id _objectValue @accessors(readonly, getter=objectValue); - CPFont _font @accessors(readonly, getter=font); - int _lineBreakMode @accessors(readonly, getter=lineBreakMode); - CPFormatter _formatter @accessors(readonly, getter=formatter); - int _tag @accessors(readonly, getter=tag); - BOOL _usesSingleLineMode @accessors(readonly, getter=usesSingleLineMode); + int _state @accessors(readonly, getter=state); + BOOL _isHighlighted @accessors(readonly, getter=isHighlighted); + BOOL _isEnabled @accessors(readonly, getter=isEnabled); + BOOL _isEditable @accessors(readonly, getter=isEditable); + BOOL _isBordered @accessors(readonly, getter=isBordered); + BOOL _isBezeled @accessors(readonly, getter=isBezeled); + BOOL _isSelectable @accessors(readonly, getter=isSelectable); + BOOL _isScrollable @accessors(readonly, getter=isScrollable); + BOOL _isContinuous @accessors(readonly, getter=isContinuous); + BOOL _scrolls @accessors(readonly, getter=scrolls); + BOOL _wraps @accessors(readonly, getter=wraps); + BOOL _truncates @accessors(readonly, getter=truncates); + BOOL _sendsActionOnEndEditing @accessors(readonly, getter=sendsActionOnEndEditing); + CPTextAlignment _alignment @accessors(readonly, getter=alignment); + CPWritingDirection _baseWritingDirection @accessors(readonly, getter=baseWritingDirection); + CPControlSize _controlSize @accessors(readonly, getter=controlSize); + id _objectValue @accessors(readonly, getter=objectValue); + CPFont _font @accessors(readonly, getter=font); + int _lineBreakMode @accessors(readonly, getter=lineBreakMode); + CPFormatter _formatter @accessors(readonly, getter=formatter); + int _tag @accessors(readonly, getter=tag); + BOOL _usesSingleLineMode @accessors(readonly, getter=usesSingleLineMode); } - (id)initWithCoder:(CPCoder)aCoder @@ -76,6 +77,7 @@ _wraps = !(flags & 0x00100000) && !(flags & 0x00000040) ? YES : NO; _truncates = (flags & 0x00100000) && !(flags & 0x00000040) ? YES : NO; _alignment = (flags2 & 0x1c000000) >> 26; + _baseWritingDirection = ((flags2 & 0x6000) >> 13) - 1; _lineBreakMode = (flags2 & 0x0E00) >> 9; _controlSize = (flags2 & 0xE0000) >> 17; _sendsActionOnEndEditing = (flags2 & 0x00400000) ? YES : NO; diff --git a/Tools/nib2cib/NSControl.j b/Tools/nib2cib/NSControl.j index a20eb426b..0123d2b00 100644 --- a/Tools/nib2cib/NSControl.j +++ b/Tools/nib2cib/NSControl.j @@ -61,6 +61,7 @@ [self setObjectValue:[cell objectValue]]; [self setFont:[cell font]]; [self setAlignment:[cell alignment]]; + [self setBaseWritingDirection:[cell baseWritingDirection]]; [self setContinuous:[cell isContinuous]]; [self setLineBreakMode:[cell lineBreakMode]]; [self setFormatter:[cell formatter]]; diff --git a/Tools/nib2cib/main.j b/Tools/nib2cib/main.j index b5296c7b8..1bdc7aef1 100644 --- a/Tools/nib2cib/main.j +++ b/Tools/nib2cib/main.j @@ -28,27 +28,7 @@ var OS = require("os"), function main(args) { - checkUlimit(); - var nib2cib = [[Nib2Cib alloc] initWithArgs:args]; [nib2cib run]; } - -function checkUlimit() -{ - var minUlimit = 1024, - p = OS.popen(["ulimit", "-n"]); - - if (p.wait() === 0) - { - var limit = p.stdout.read().split("\n")[0]; - - if (Number(limit) < minUlimit) - { - stream.print("\0red(\0bold(WARNING:\0)\0) nib2cib may need to open more files than this terminal session currently allows (" + limit + "). Add the following line to your login configuration file (.bash_profile, .bashrc, etc.), start a new terminal session, then try again:\n"); - stream.print("ulimit -n " + minUlimit); - OS.exit(1); - } - } -} diff --git a/Tools/objj2objcskeleton/Jakefile b/Tools/objj2objcskeleton/Jakefile new file mode 100644 index 000000000..5d8bb01f0 --- /dev/null +++ b/Tools/objj2objcskeleton/Jakefile @@ -0,0 +1,9 @@ + +require ("../../common.jake"); + +var FILE = require("file"), + SYSTEM = require("system"), + path = FILE.Path(FILE.join(SYSTEM.prefix, "bin", "objj2objcskeleton")); + +sudo(["cp", "-f", "objj2objcskeleton", path]); +sudo(["chmod", "755", path]); diff --git a/Tools/objj2objcskeleton/objj2objcskeleton b/Tools/objj2objcskeleton/objj2objcskeleton new file mode 100644 index 000000000..c855c5c54 --- /dev/null +++ b/Tools/objj2objcskeleton/objj2objcskeleton @@ -0,0 +1,608 @@ +#!/usr/bin/env objj + +@import + +var FILE = require("file"), + OS = require("os"), + stream = require("narwhal/term").stream; + +function main(args) +{ + args.shift(); + + if (args.length < 1) + return printUsage(); + + parser(args); +} + +function printUsage() +{ + print("objj2objskeleton [FILE] [DESTINATION]"); + print("Convert a objective-j file to an objective-c files skeleton (.h and .m)") +} + +// Debug function to print some JS objects +function dump(obj) +{ + print(JSON.stringify(obj)); +} + +function raise(pos, message) +{ + var syntaxError = new SyntaxError(message); + syntaxError.line = pos.line; + + throw syntaxError; +} + +var errors = [], + xcc = ObjectiveJ.acorn.walk.make( + { + ClassDeclarationStatement: function(node, st, c) + { + var className = node.classname.name, + superclassname = node.superclassname ? node.superclassname.name : "", + declaredOutletsName = [], + classInfo = { + "name": className, + "category": node.categoryname ? node.categoryname.name : "", + "superClass": superclassname, + "outlets": [], + "actions": [], + "actionNames": [] + }; + + if (node.ivardeclarations) + { + for (var i = 0; i < node.ivardeclarations.length; ++i) + { + var ivarDecl = node.ivardeclarations[i], + ivarType = ivarDecl.ivartype ? ivarDecl.ivartype.name : null, + ivarName = ivarDecl.id.name, + ivarHasOutlet = ivarDecl.outlet ? "@outlet" : null; + + if (ivarHasOutlet) + { + if (declaredOutletsName.indexOf(ivarName) !== -1) + raise(ivarDecl.loc.start, "Outlet '" + ivarName + "' declared more than once"); + + declaredOutletsName.push(ivarName); + classInfo.outlets.push({"type": ivarType, "name": ivarName}); + } + } + } + + st.push(classInfo) + + for (var i = 0; i < node.body.length; ++i) + c(node.body[i], classInfo, "Statement"); + }, + + MethodDeclarationStatement: function(node, st, c) + { + var selectors = node.selectors, + arguments = node.arguments, + methodReturnType = [node.returntype ? node.returntype.name : "id"], + methodHasAction = node.action ? "IBAction" : null, + selector = selectors[0].name, + actionInfo = {"name": selector, "arguments":[]}; + + if (methodHasAction) + { + if (arguments.length == 1) + { + if (st.actionNames.indexOf(selector) !== -1) + raise(node.loc.start, "Action '" + selector + "' declared more than once"); + + st.actionNames.push(selector); + + for (var i = 0; i < arguments.length; i++) + { + var argument = arguments[i], + argumentName = argument.identifier.name, + argumentType = argument.type ? argument.type.name : null; + + actionInfo.arguments.push({"type": argumentType, "name": argumentName}); + } + + st.actions.push(actionInfo) + } + else + raise(node.loc.start, "Action methods must have exactly one parameter"); + } + } + } +); + +function compile(node, state, visitor) +{ + function c(node, st, override) + { + visitor[override || node.type](node, st, c); + } + + c(node, state); +}; + +function removeLastSlashIfNecessary(path) +{ + if (path[path.length - 1] == "/") + return path.substring(0, path.length - 1); + + return path; +} + +/* + $1 Full project source path + $2 Destination + $-n name of the cocoa files +*/ +function parser(args) +{ + try + { + var sourcePath = args.shift(), + projectBasePath = removeLastSlashIfNecessary(args.shift()), + outputDirectory = projectBasePath, + baseFilename = [sourcePath lastPathComponent], + baseFilenameWithNoExtension = args.shift() == "-n" ? args.shift() : baseFilename.substring(0, baseFilename.length - 2), + outputHeaderURL = new CFURL([outputDirectory stringByAppendingPathComponent:baseFilenameWithNoExtension + ".h"]), + outputImplementationURL = new CFURL([outputDirectory stringByAppendingPathComponent:baseFilenameWithNoExtension + ".m"]), + source = FILE.read(sourcePath, { charset: "UTF-8" }), + flags = ObjectiveJ.Preprocessor.Flags.IncludeDebugSymbols | ObjectiveJ.Preprocessor.Flags.IncludeTypeSignatures, + tokens = ObjectiveJ.acorn.parse(source, { locations:true, sourceFile:sourcePath }), + classesInformation = [], + ObjectiveCSource = "", + ObjectiveCHeader = "", + hasErrors = NO; + + compile(tokens, classesInformation, xcc); + + // dump(classesInformation) + + ObjectiveCHeader += + "#import \n" + + '#import "xcc_general_include.h"\n'; + + ObjectiveCSource += "#import \"" + outputHeaderURL.lastPathComponent() + "\"\n"; + + // Traverse each found classes + classesInformation.forEach(function(aClass) + { + // add new class definition + if (aClass.superClass) + ObjectiveCHeader += [CPString stringWithFormat:@"\n@interface %@ : %@", aClass.name, NSCompatibleClassName(aClass.superClass)]; + else + ObjectiveCHeader += [CPString stringWithFormat:@"\n@interface %@ (%@)", NSCompatibleClassName(aClass.name, NO), aClass.category]; + + // add each outlet in header + if (aClass.outlets.length > 0) + ObjectiveCHeader += "\n"; + + aClass.outlets.forEach(function(anOutlet) + { + ObjectiveCHeader += [CPString stringWithFormat:@"\n@property (assign) IBOutlet %@ %@;", NSCompatibleClassName(anOutlet.type, YES), anOutlet.name]; + }); + + if (aClass.actions.length > 0) + ObjectiveCHeader += "\n"; + + // add each action in header + aClass.actions.forEach(function(anAction) + { + ObjectiveCHeader += [CPString stringWithFormat:@"\n- (IBAction)%@:(%@)%@;", anAction.name, anAction.arguments[0].type, anAction.arguments[0].name]; + }); + + if (aClass.outlets.length > 0 || aClass.actions.length > 0) + ObjectiveCHeader += "\n"; + + ObjectiveCHeader += "\n@end\n"; + + // fill up the implementation file + ObjectiveCSource += "\n@implementation " + NSCompatibleClassName(aClass.name, NO) + "\n@end\n"; + }); + + if (ObjectiveCSource.length) + FILE.write(outputImplementationURL, ObjectiveCSource, { charset:"UTF-8" }); + + if (ObjectiveCHeader.length) + FILE.write(outputHeaderURL, ObjectiveCHeader, { charset:"UTF-8" }); + } + catch (e) + { + [errors addObject:@{ + @"message": e.message, + @"sourcePath": sourcePath, + @"line": e.line + }]; + + hasErrors = YES; + } + + if ([errors count]) + { + var plist = [CPPropertyListSerialization dataFromPropertyList:errors format:CPPropertyListXMLFormat_v1_0]; + + stream.printError([plist rawString]); + + // If there were category warnings, hasErrors is NO, so return a warning status + OS.exit(hasErrors ? 1 : 2); + } +} + +function NSCompatibleClassName(aClassName, asPointer) +{ + if (aClassName === "var" || aClassName === "id") + return "id"; + + var prefix = aClassName.substr(0, 2), + asterisk = asPointer ? "*" : ""; + + if (prefix !== "CP") + return aClassName + asterisk; + + var NSClassName = "NS" + aClassName.substr(2); + + if (NSClasses[NSClassName]) + return NSClassName + asterisk; + + if (ReplacementClasses[aClassName]) + return ReplacementClasses[aClassName] + asterisk; + + return aClassName + asterisk; +} + +var ReplacementClasses = { + "CPWebView": "WebView", + "CPRadio": "NSButtonCell", + "CPRadioGroup": "NSMatrix" + }; + +var NSClasses = { + "NSAffineTransform" : YES, + "NSAppleEventDescriptor" : YES, + "NSAppleEventManager" : YES, + "NSAppleScript" : YES, + "NSArchiver" : YES, + "NSArray" : YES, + "NSAssertionHandler" : YES, + "NSAttributedString" : YES, + "NSAutoreleasePool" : YES, + "NSBlockOperation" : YES, + "NSBundle" : YES, + "NSCache" : YES, + "NSCachedURLResponse" : YES, + "NSCalendar" : YES, + "NSCharacterSet" : YES, + "NSClassDescription" : YES, + "NSCloneCommand" : YES, + "NSCloseCommand" : YES, + "NSCoder" : YES, + "NSComparisonPredicate" : YES, + "NSCompoundPredicate" : YES, + "NSCondition" : YES, + "NSConditionLock" : YES, + "NSConnection" : YES, + "NSCountCommand" : YES, + "NSCountedSet" : YES, + "NSCreateCommand" : YES, + "NSData" : YES, + "NSDate" : YES, + "NSDateComponents" : YES, + "NSDateFormatter" : YES, + "NSDecimalNumber" : YES, + "NSDecimalNumberHandler" : YES, + "NSDeleteCommand" : YES, + "NSDeserializer" : YES, + "NSDictionary" : YES, + "NSDirectoryEnumerator" : YES, + "NSDistantObject" : YES, + "NSDistantObjectRequest" : YES, + "NSDistributedLock" : YES, + "NSDistributedNotificationCenter" : YES, + "NSEnumerator" : YES, + "NSError" : YES, + "NSException" : YES, + "NSExistsCommand" : YES, + "NSExpression" : YES, + "NSFileHandle" : YES, + "NSFileManager" : YES, + "NSFileWrapper" : YES, + "NSFormatter" : YES, + "NSGarbageCollector" : YES, + "NSGetCommand" : YES, + "NSHashTable" : YES, + "NSHost" : YES, + "NSHTTPCookie" : YES, + "NSHTTPCookieStorage" : YES, + "NSHTTPURLResponse" : YES, + "NSIndexPath" : YES, + "NSIndexSet" : YES, + "NSIndexSpecifier" : YES, + "NSInputStream" : YES, + "NSInvocation" : YES, + "NSInvocationOperation" : YES, + "NSKeyedArchiver" : YES, + "NSKeyedUnarchiver" : YES, + "NSLocale" : YES, + "NSLock" : YES, + "NSLogicalTest" : YES, + "NSMachBootstrapServer" : YES, + "NSMachPort" : YES, + "NSMapTable" : YES, + "NSMessagePort" : YES, + "NSMessagePortNameServer" : YES, + "NSMetadataItem" : YES, + "NSMetadataQuery" : YES, + "NSMetadataQueryAttributeValueTuple" : YES, + "NSMetadataQueryResultGroup" : YES, + "NSMethodSignature" : YES, + "NSMiddleSpecifier" : YES, + "NSMoveCommand" : YES, + "NSMutableArray" : YES, + "NSMutableAttributedString" : YES, + "NSMutableCharacterSet" : YES, + "NSMutableData" : YES, + "NSMutableDictionary" : YES, + "NSMutableIndexSet" : YES, + "NSMutableSet" : YES, + "NSMutableString" : YES, + "NSMutableURLRequest" : YES, + "NSNameSpecifier" : YES, + "NSNetService" : YES, + "NSNetServiceBrowser" : YES, + "NSNotification" : YES, + "NSNotificationCenter" : YES, + "NSNotificationQueue" : YES, + "NSNull" : YES, + "NSNumber" : YES, + "NSNumberFormatter" : YES, + "NSObject" : YES, + "NSOperation" : YES, + "NSOperationQueue" : YES, + "NSOrthography" : YES, + "NSOutputStream" : YES, + "NSPipe" : YES, + "NSPointerArray" : YES, + "NSPointerFunctions" : YES, + "NSPort" : YES, + "NSPortCoder" : YES, + "NSPortMessage" : YES, + "NSPortNameServer" : YES, + "NSPositionalSpecifier" : YES, + "NSPredicate" : YES, + "NSProcessInfo" : YES, + "NSPropertyListSerialization" : YES, + "NSPropertySpecifier" : YES, + "NSProtocolChecker" : YES, + "NSProxy" : YES, + "NSPurgeableData" : YES, + "NSQuitCommand" : YES, + "NSRandomSpecifier" : YES, + "NSRangeSpecifier" : YES, + "NSRecursiveLock" : YES, + "NSRelativeSpecifier" : YES, + "NSRunLoop" : YES, + "NSScanner" : YES, + "NSScriptClassDescription" : YES, + "NSScriptCoercionHandler" : YES, + "NSScriptCommand" : YES, + "NSScriptCommandDescription" : YES, + "NSScriptExecutionContext" : YES, + "NSScriptObjectSpecifier" : YES, + "NSScriptSuiteRegistry" : YES, + "NSScriptWhoseTest" : YES, + "NSSerializer" : YES, + "NSSet" : YES, + "NSSetCommand" : YES, + "NSSocketPort" : YES, + "NSSocketPortNameServer" : YES, + "NSSortDescriptor" : YES, + "NSSpecifierTest" : YES, + "NSSpellServer" : YES, + "NSStream" : YES, + "NSString" : YES, + "NSTask" : YES, + "NSTextCheckingResult" : YES, + "NSThread" : YES, + "NSTimer" : YES, + "NSTimeZone" : YES, + "NSUnarchiver" : YES, + "NSUndoManager" : YES, + "NSUniqueIDSpecifier" : YES, + "NSURL" : YES, + "NSURLAuthenticationChallenge" : YES, + "NSURLCache" : YES, + "NSURLConnection" : YES, + "NSURLCredential" : YES, + "NSURLCredentialStorage" : YES, + "NSURLDownload" : YES, + "NSURLHandle" : YES, + "NSURLProtectionSpace" : YES, + "NSURLProtocol" : YES, + "NSURLRequest" : YES, + "NSURLResponse" : YES, + "NSUserDefaults" : YES, + "NSValue" : YES, + "NSValueTransformer" : YES, + "NSWhoseSpecifier" : YES, + "NSXMLDocument" : YES, + "NSXMLDTD" : YES, + "NSXMLDTDNode" : YES, + "NSXMLElement" : YES, + "NSXMLNode" : YES, + "NSXMLParser" : YES, + "NSActionCell" : YES, + "NSAffineTransform Additions" : YES, + "NSAlert" : YES, + "NSAnimation" : YES, + "NSAnimationContext" : YES, + "NSAppleScript Additions" : YES, + "NSApplication" : YES, + "NSArrayController" : YES, + "NSATSTypesetter" : YES, + "NSAttributedString Application Kit Additions" : YES, + "NSBezierPath" : YES, + "NSBitmapImageRep" : YES, + "NSBox" : YES, + "NSBrowser" : YES, + "NSBrowserCell" : YES, + "NSBundle Additions" : YES, + "NSButton" : YES, + "NSButtonCell" : YES, + "NSCachedImageRep" : YES, + "NSCell" : YES, + "NSCIImageRep" : YES, + "NSClipView" : YES, + "NSCoder Application Kit Additions" : YES, + "NSCollectionView" : YES, + "NSCollectionViewItem" : YES, + "NSColor" : YES, + "NSColorList" : YES, + "NSColorPanel" : YES, + "NSColorPicker" : YES, + "NSColorSpace" : YES, + "NSColorWell" : YES, + "NSComboBox" : YES, + "NSComboBoxCell" : YES, + "NSControl" : YES, + "NSController" : YES, + "NSCursor" : YES, + "NSCustomImageRep" : YES, + "NSDatePicker" : YES, + "NSDatePickerCell" : YES, + "NSDictionaryController" : YES, + "NSDockTile" : YES, + "NSDocument" : YES, + "NSDocumentController" : YES, + "NSDrawer" : YES, + "NSEPSImageRep" : YES, + "NSEvent" : YES, + "NSFileWrapper" : YES, + "NSFont" : YES, + "NSFontDescriptor" : YES, + "NSFontManager" : YES, + "NSFontPanel" : YES, + "NSForm" : YES, + "NSFormCell" : YES, + "NSGlyphGenerator" : YES, + "NSGlyphInfo" : YES, + "NSGradient" : YES, + "NSGraphicsContext" : YES, + "NSHelpManager" : YES, + "NSImage" : YES, + "NSImageCell" : YES, + "NSImageRep" : YES, + "NSImageView" : YES, + "NSLayoutManager" : YES, + "NSLevelIndicator" : YES, + "NSLevelIndicatorCell" : YES, + "NSMatrix" : YES, + "NSMenu" : YES, + "NSMenuItem" : YES, + "NSMenuItemCell" : YES, + "NSMenuView" : YES, + "NSMutableAttributedString Additions" : YES, + "NSMutableParagraphStyle" : YES, + "NSNib" : YES, + "NSNibConnector" : YES, + "NSNibControlConnector" : YES, + "NSNibOutletConnector" : YES, + "NSObjectController" : YES, + "NSOpenGLContext" : YES, + "NSOpenGLLayer" : YES, + "NSOpenGLPixelBuffer" : YES, + "NSOpenGLPixelFormat" : YES, + "NSOpenGLView" : YES, + "NSOpenPanel" : YES, + "NSOutlineView" : YES, + "NSPageLayout" : YES, + "NSPanel" : YES, + "NSParagraphStyle" : YES, + "NSPasteboard" : YES, + "NSPasteboardItem" : YES, + "NSPathCell" : YES, + "NSPathComponentCell" : YES, + "NSPathControl" : YES, + "NSPDFImageRep" : YES, + "NSPersistentDocument" : YES, + "NSPICTImageRep" : YES, + "NSPopUpButton" : YES, + "NSPopUpButtonCell" : YES, + "NSPredicateEditor" : YES, + "NSPredicateEditorRowTemplate" : YES, + "NSPrinter" : YES, + "NSPrintInfo" : YES, + "NSPrintOperation" : YES, + "NSPrintPanel" : YES, + "NSProgressIndicator" : YES, + "NSResponder" : YES, + "NSRuleEditor" : YES, + "NSRulerMarker" : YES, + "NSRulerView" : YES, + "NSRunningApplication" : YES, + "NSSavePanel" : YES, + "NSScreen" : YES, + "NSScroller" : YES, + "NSScrollView" : YES, + "NSSearchField" : YES, + "NSSearchFieldCell" : YES, + "NSSecureTextField" : YES, + "NSSecureTextFieldCell" : YES, + "NSSegmentedCell" : YES, + "NSSegmentedControl" : YES, + "NSShadow" : YES, + "NSSlider" : YES, + "NSSliderCell" : YES, + "NSSound" : YES, + "NSSpeechRecognizer" : YES, + "NSSpeechSynthesizer" : YES, + "NSSpellChecker" : YES, + "NSSplitView" : YES, + "NSStatusBar" : YES, + "NSStatusItem" : YES, + "NSStepper" : YES, + "NSStepperCell" : YES, + "NSString Application Kit Additions" : YES, + "NSTableCellView" : YES, + "NSTableColumn" : YES, + "NSTableHeaderCell" : YES, + "NSTableHeaderView" : YES, + "NSTableView" : YES, + "NSTabView" : YES, + "NSTabViewItem" : YES, + "NSText" : YES, + "NSTextAttachment" : YES, + "NSTextAttachmentCell" : YES, + "NSTextBlock" : YES, + "NSTextContainer" : YES, + "NSTextField" : YES, + "NSTextFieldCell" : YES, + "NSTextInputContext" : YES, + "NSTextList" : YES, + "NSTextStorage" : YES, + "NSTextTab" : YES, + "NSTextTable" : YES, + "NSTextTableBlock" : YES, + "NSTextView" : YES, + "NSTokenField" : YES, + "NSTokenFieldCell" : YES, + "NSToolbar" : YES, + "NSToolbarItem" : YES, + "NSToolbarItemGroup" : YES, + "NSTouch" : YES, + "NSTrackingArea" : YES, + "NSTreeController" : YES, + "NSTreeNode" : YES, + "NSTypesetter" : YES, + "NSURL Additions" : YES, + "NSUserDefaultsController" : YES, + "NSView" : YES, + "NSViewAnimation" : YES, + "NSViewController" : YES, + "NSWindow" : YES, + "NSWindowController" : YES, + "NSWorkspace" : YES, + "NSPopover": YES + }; diff --git a/common.jake b/common.jake index f9a7f6569..f50b85b11 100644 --- a/common.jake +++ b/common.jake @@ -378,11 +378,20 @@ global.setPackageMetadata = function(packagePath) { var pkg = JSON.parse(FILE.read(packagePath, { charset : "UTF-8" })); - var p = OS.popen(["git", "rev-parse", "--verify", "HEAD"]); - if (p.wait() === 0) { - var sha = p.stdout.read().split("\n")[0]; - if (sha.length === 40) - pkg["cappuccino-revision"] = sha; + try + { + var p = OS.popen(["git", "rev-parse", "--verify", "HEAD"]); + if (p.wait() === 0) { + var sha = p.stdout.read().split("\n")[0]; + if (sha.length === 40) + pkg["cappuccino-revision"] = sha; + } + } + finally + { + p.stdin.close(); + p.stdout.close(); + p.stderr.close(); } pkg["cappuccino-timestamp"] = new Date().getTime(); @@ -577,31 +586,6 @@ global.colorPrint = function(/* String */ message, /* String */ color) stream.print(colorize(message, color)); }; -var minUlimit = 1024; - -global.checkUlimit = function() -{ - var ulimitPath = executableExists("ulimit"); - - if (!ulimitPath) - return; - - var p = OS.popen([ulimitPath, "-n"]); - - if (p.wait() === 0) - { - var limit = p.stdout.read().split("\n")[0]; - - if (Number(limit) < minUlimit) - { - stream.print("\0red(\0bold(ERROR:\0)\0) Cappuccino may need to open more files than this terminal session currently allows (" + limit + "). Add the following line to your login configuration file (.bash_profile, .bashrc, etc.), start a new terminal session, then try again:\n"); - stream.print("ulimit -n " + minUlimit); - OS.exit(1); - } - } -} - - // built in tasks task ("build");