diff --git a/Import/GacUI.cpp b/Import/GacUI.cpp index a43cd2eb..17a38891 100644 --- a/Import/GacUI.cpp +++ b/Import/GacUI.cpp @@ -4085,18 +4085,17 @@ text::TextLines void TextLines::ClearMeasurement() { - for(vint i=0;iMeasureWidth(L' ') : 1); + if (tabWidth == 0) { - tabWidth=tabSpaceCount*charMeasurer->MeasureWidth(L' '); - } - if(tabWidth==0) - { - tabWidth=1; + tabWidth = 1; } + if (ownerElement) { ownerElement->InvokeOnElementStateChanged(); @@ -4133,7 +4132,7 @@ text::TextLines vint width=0; if(passwordChar) { - width=charMeasurer->MeasureWidth(passwordChar); + width = charMeasurer ? charMeasurer->MeasureWidth(passwordChar) : 1; } else if(c==L'\t') { @@ -4141,7 +4140,7 @@ text::TextLines } else { - width=charMeasurer->MeasureWidth(line.text[i]); + width = charMeasurer ? charMeasurer->MeasureWidth(line.text[i]) : 1; } offset+=width; att.rightOffset=(int)offset; @@ -4166,7 +4165,7 @@ text::TextLines vint TextLines::GetRowHeight() { - return charMeasurer->GetRowHeight(); + return charMeasurer ? charMeasurer->GetRowHeight() : 1; } vint TextLines::GetMaxWidth() @@ -4185,12 +4184,12 @@ text::TextLines vint TextLines::GetMaxHeight() { - return lines.Count()*charMeasurer->GetRowHeight(); + return lines.Count() * GetRowHeight(); } TextPos TextLines::GetTextPosFromPoint(Point point) { - vint h=charMeasurer->GetRowHeight(); + vint h = GetRowHeight(); if(point.y<0) { point.y=0; @@ -4235,7 +4234,7 @@ text::TextLines { if(IsAvailable(pos)) { - vint y=pos.row*charMeasurer->GetRowHeight(); + vint y = pos.row * GetRowHeight(); if(pos.column==0) { return Point(0, y); @@ -4262,7 +4261,7 @@ text::TextLines } else { - vint h=charMeasurer->GetRowHeight(); + vint h = GetRowHeight(); TextLine& line=lines[pos.row]; if(pos.column==line.dataLength) { @@ -5397,482 +5396,6 @@ DocumentModel } } -/*********************************************************************** -.\CONTROLS\GUIBASICCONTROLS.CPP -***********************************************************************/ - -namespace vl -{ - namespace presentation - { - namespace controls - { - using namespace elements; - using namespace compositions; - using namespace collections; - using namespace reflection::description; - -/*********************************************************************** -GuiControl::EmptyStyleController -***********************************************************************/ - - GuiControl::EmptyStyleController::EmptyStyleController() - { - boundsComposition = new GuiBoundsComposition; - boundsComposition->SetMinSizeLimitation(GuiGraphicsComposition::LimitToElementAndChildren); - } - - GuiControl::EmptyStyleController::~EmptyStyleController() - { - } - - compositions::GuiBoundsComposition* GuiControl::EmptyStyleController::GetBoundsComposition() - { - return boundsComposition; - } - - compositions::GuiGraphicsComposition* GuiControl::EmptyStyleController::GetContainerComposition() - { - return boundsComposition; - } - - void GuiControl::EmptyStyleController::SetFocusableComposition(compositions::GuiGraphicsComposition* value) - { - } - - void GuiControl::EmptyStyleController::SetText(const WString& value) - { - } - - void GuiControl::EmptyStyleController::SetFont(const FontProperties& value) - { - } - - void GuiControl::EmptyStyleController::SetVisuallyEnabled(bool value) - { - } - -/*********************************************************************** -GuiControl -***********************************************************************/ - - void GuiControl::OnChildInserted(GuiControl* control) - { - GuiControl* oldParent=control->parent; - children.Add(control); - control->parent=this; - control->OnParentChanged(oldParent, control->parent); - control->UpdateVisuallyEnabled(); - } - - void GuiControl::OnChildRemoved(GuiControl* control) - { - GuiControl* oldParent=control->parent; - control->parent=0; - children.Remove(control); - control->OnParentChanged(oldParent, control->parent); - } - - void GuiControl::OnParentChanged(GuiControl* oldParent, GuiControl* newParent) - { - OnParentLineChanged(); - } - - void GuiControl::OnParentLineChanged() - { - for(vint i=0;iOnParentLineChanged(); - } - } - - void GuiControl::OnRenderTargetChanged(elements::IGuiGraphicsRenderTarget* renderTarget) - { - RenderTargetChanged.Execute(GetNotifyEventArguments()); - } - - void GuiControl::OnBeforeReleaseGraphicsHost() - { - for(vint i=0;iOnBeforeReleaseGraphicsHost(); - } - } - - void GuiControl::UpdateVisuallyEnabled() - { - bool newValue=isEnabled && (parent==0?true:parent->GetVisuallyEnabled()); - if(isVisuallyEnabled!=newValue) - { - isVisuallyEnabled=newValue; - styleController->SetVisuallyEnabled(isVisuallyEnabled); - VisuallyEnabledChanged.Execute(GetNotifyEventArguments()); - - for(vint i=0;iUpdateVisuallyEnabled(); - } - } - } - - void GuiControl::SetFocusableComposition(compositions::GuiGraphicsComposition* value) - { - if(focusableComposition!=value) - { - focusableComposition=value; - styleController->SetFocusableComposition(focusableComposition); - } - } - - bool GuiControl::IsAltEnabled() - { - GuiControl* control = this; - while (control) - { - if (!control->GetVisible() || !control->GetEnabled()) - { - return false; - } - control = control->GetParent(); - } - - return true; - } - - bool GuiControl::IsAltAvailable() - { - return focusableComposition != 0 && alt != L""; - } - - compositions::GuiGraphicsComposition* GuiControl::GetAltComposition() - { - return boundsComposition; - } - - compositions::IGuiAltActionHost* GuiControl::GetActivatingAltHost() - { - return activatingAltHost; - } - - void GuiControl::OnActiveAlt() - { - SetFocus(); - } - - bool GuiControl::SharedPtrDestructorProc(DescriptableObject* obj, bool forceDisposing) - { - GuiControl* value=dynamic_cast(obj); - if(value->GetBoundsComposition()->GetParent()) - { - if (!forceDisposing) return false; - } - SafeDeleteControl(value); - return true; - } - - GuiControl::GuiControl(IStyleController* _styleController) - :styleController(_styleController) - ,boundsComposition(_styleController->GetBoundsComposition()) - ,focusableComposition(0) - ,eventReceiver(_styleController->GetBoundsComposition()->GetEventReceiver()) - ,isEnabled(true) - ,isVisuallyEnabled(true) - ,isVisible(true) - ,activatingAltHost(0) - ,parent(0) - ,tooltipControl(0) - ,tooltipWidth(50) - { - boundsComposition->SetAssociatedControl(this); - RenderTargetChanged.SetAssociatedComposition(boundsComposition); - VisibleChanged.SetAssociatedComposition(boundsComposition); - EnabledChanged.SetAssociatedComposition(boundsComposition); - VisuallyEnabledChanged.SetAssociatedComposition(boundsComposition); - AltChanged.SetAssociatedComposition(boundsComposition); - TextChanged.SetAssociatedComposition(boundsComposition); - FontChanged.SetAssociatedComposition(boundsComposition); - - font=GetCurrentController()->ResourceService()->GetDefaultFont(); - styleController->SetFont(font); - styleController->SetText(text); - styleController->SetVisuallyEnabled(isVisuallyEnabled); - - sharedPtrDestructorProc = &GuiControl::SharedPtrDestructorProc; - } - - GuiControl::~GuiControl() - { - if(tooltipControl) - { - // the only legal parent is the GuiApplication::sharedTooltipWindow - if(tooltipControl->GetBoundsComposition()->GetParent()) - { - tooltipControl->GetBoundsComposition()->GetParent()->RemoveChild(tooltipControl->GetBoundsComposition()); - } - delete tooltipControl; - } - if(parent || !styleController) - { - for(vint i=0;i=0;i--) - { - GuiControl* child=children[i]; - child->GetBoundsComposition()->GetParent()->RemoveChild(child->GetBoundsComposition()); - delete child; - } - delete boundsComposition; - } - } - - compositions::GuiEventArgs GuiControl::GetNotifyEventArguments() - { - return GuiEventArgs(boundsComposition); - } - - GuiControl::IStyleController* GuiControl::GetStyleController() - { - return styleController.Obj(); - } - - compositions::GuiBoundsComposition* GuiControl::GetBoundsComposition() - { - return boundsComposition; - } - - compositions::GuiGraphicsComposition* GuiControl::GetContainerComposition() - { - return styleController->GetContainerComposition(); - } - - compositions::GuiGraphicsComposition* GuiControl::GetFocusableComposition() - { - return focusableComposition; - } - - compositions::GuiGraphicsEventReceiver* GuiControl::GetEventReceiver() - { - return eventReceiver; - } - - GuiControl* GuiControl::GetParent() - { - return parent; - } - - vint GuiControl::GetChildrenCount() - { - return children.Count(); - } - - GuiControl* GuiControl::GetChild(vint index) - { - return children[index]; - } - - bool GuiControl::AddChild(GuiControl* control) - { - return GetContainerComposition()->AddChild(control->GetBoundsComposition()); - } - - bool GuiControl::HasChild(GuiControl* control) - { - return children.Contains(control); - } - - GuiControlHost* GuiControl::GetRelatedControlHost() - { - return parent?parent->GetRelatedControlHost():0; - } - - bool GuiControl::GetVisuallyEnabled() - { - return isVisuallyEnabled; - } - - bool GuiControl::GetEnabled() - { - return isEnabled; - } - - void GuiControl::SetEnabled(bool value) - { - if(isEnabled!=value) - { - isEnabled=value; - EnabledChanged.Execute(GetNotifyEventArguments()); - UpdateVisuallyEnabled(); - } - } - - bool GuiControl::GetVisible() - { - return isVisible; - } - - void GuiControl::SetVisible(bool value) - { - boundsComposition->SetVisible(value); - if(isVisible!=value) - { - isVisible=value; - VisibleChanged.Execute(GetNotifyEventArguments()); - } - } - - const WString& GuiControl::GetAlt() - { - return alt; - } - - bool GuiControl::SetAlt(const WString& value) - { - if (!IGuiAltAction::IsLegalAlt(value)) return false; - if (alt != value) - { - alt = value; - AltChanged.Execute(GetNotifyEventArguments()); - } - return true; - } - - void GuiControl::SetActivatingAltHost(compositions::IGuiAltActionHost* host) - { - activatingAltHost = host; - } - - const WString& GuiControl::GetText() - { - return text; - } - - void GuiControl::SetText(const WString& value) - { - if(text!=value) - { - text=value; - styleController->SetText(text); - TextChanged.Execute(GetNotifyEventArguments()); - } - } - - const FontProperties& GuiControl::GetFont() - { - return font; - } - - void GuiControl::SetFont(const FontProperties& value) - { - if(font!=value) - { - font=value; - styleController->SetFont(font); - FontChanged.Execute(GetNotifyEventArguments()); - } - } - - void GuiControl::SetFocus() - { - if(focusableComposition) - { - GuiGraphicsHost* host=focusableComposition->GetRelatedGraphicsHost(); - if(host) - { - host->SetFocus(focusableComposition); - } - } - } - - description::Value GuiControl::GetTag() - { - return tag; - } - - void GuiControl::SetTag(const description::Value& value) - { - tag=value; - } - - GuiControl* GuiControl::GetTooltipControl() - { - return tooltipControl; - } - - GuiControl* GuiControl::SetTooltipControl(GuiControl* value) - { - GuiControl* oldTooltipControl=tooltipControl; - tooltipControl=value; - return oldTooltipControl; - } - - vint GuiControl::GetTooltipWidth() - { - return tooltipWidth; - } - - void GuiControl::SetTooltipWidth(vint value) - { - tooltipWidth=value; - } - - bool GuiControl::DisplayTooltip(Point location) - { - if(!tooltipControl) return false; - GetApplication()->ShowTooltip(this, tooltipControl, tooltipWidth, location); - return true; - } - - void GuiControl::CloseTooltip() - { - if(GetApplication()->GetTooltipOwner()==this) - { - GetApplication()->CloseTooltip(); - } - } - - IDescriptable* GuiControl::QueryService(const WString& identifier) - { - if (identifier == IGuiAltAction::Identifier) - { - return (IGuiAltAction*)this; - } - else if (identifier == IGuiAltActionContainer::Identifier) - { - return 0; - } - else if(parent) - { - return parent->QueryService(identifier); - } - else - { - return 0; - } - } - -/*********************************************************************** -GuiCustomControl -***********************************************************************/ - - GuiCustomControl::GuiCustomControl(IStyleController* _styleController) - :GuiControl(_styleController) - { - } - - GuiCustomControl::~GuiCustomControl() - { - FinalizeAggregation(); - FinalizeInstanceRecursively(this); - } - } - } -} - /*********************************************************************** .\CONTROLS\GUILABELCONTROLS.CPP ***********************************************************************/ @@ -5892,12 +5415,27 @@ namespace vl GuiLabel ***********************************************************************/ - GuiLabel::GuiLabel(IStyleController* _styleController) - :GuiControl(_styleController) - ,styleController(_styleController) + void GuiLabel::BeforeControlTemplateUninstalled_() + { + textColorConsisted = (textColor == GetControlTemplateObject()->GetDefaultTextColor()); + } + + void GuiLabel::AfterControlTemplateInstalled_(bool initialize) + { + auto ct = GetControlTemplateObject(); + if (initialize || textColorConsisted) + { + SetTextColor(ct->GetDefaultTextColor()); + } + else + { + ct->SetTextColor(textColor); + } + } + + GuiLabel::GuiLabel(theme::ThemeName themeName) + :GuiControl(themeName) { - textColor=styleController->GetDefaultTextColor(); - styleController->SetTextColor(textColor); } GuiLabel::~GuiLabel() @@ -5911,10 +5449,10 @@ GuiLabel void GuiLabel::SetTextColor(Color value) { - if(textColor!=value) + if (textColor != value) { - textColor=value; - styleController->SetTextColor(textColor); + textColor = value; + GetControlTemplateObject()->SetTextColor(textColor); } } } @@ -6010,14 +5548,6 @@ GuiControlHost owner->DisplayTooltip(p); tooltipOpenDelay=0; - /* - When you use VS2010 to compiler this code, - you will see there is an error here. - This is due to VS2010's bug about processing [this] capture. - I don't want to do workaround in my code, but I can tell you how to do that: - - Use a variable to save the value of "this", and capture [theThisValue, owner] instead of [this, owner]. - */ tooltipCloseDelay=GetApplication()->DelayExecuteInMainThread([this, owner]() { owner->CloseTooltip(); @@ -6090,7 +5620,7 @@ GuiControlHost void GuiControlHost::Closing(bool& cancel) { - GuiRequestEventArgs arguments(GetStyleController()->GetBoundsComposition()); + GuiRequestEventArgs arguments(boundsComposition); arguments.cancel=cancel; WindowClosing.Execute(arguments); if(!arguments.handled) @@ -6110,30 +5640,30 @@ GuiControlHost SetNativeWindow(0); } - GuiControlHost::GuiControlHost(GuiControl::IStyleController* _styleController) - :GuiControl(_styleController) + GuiControlHost::GuiControlHost(theme::ThemeName themeName) + :GuiControl(themeName) { - GetStyleController()->GetBoundsComposition()->SetAlignmentToParent(Margin(0, 0, 0, 0)); + boundsComposition->SetAlignmentToParent(Margin(0, 0, 0, 0)); - WindowGotFocus.SetAssociatedComposition(GetStyleController()->GetBoundsComposition()); - WindowLostFocus.SetAssociatedComposition(GetStyleController()->GetBoundsComposition()); - WindowActivated.SetAssociatedComposition(GetStyleController()->GetBoundsComposition()); - WindowDeactivated.SetAssociatedComposition(GetStyleController()->GetBoundsComposition()); - WindowOpened.SetAssociatedComposition(GetStyleController()->GetBoundsComposition()); - WindowClosing.SetAssociatedComposition(GetStyleController()->GetBoundsComposition()); - WindowClosed.SetAssociatedComposition(GetStyleController()->GetBoundsComposition()); - WindowDestroying.SetAssociatedComposition(GetStyleController()->GetBoundsComposition()); + WindowGotFocus.SetAssociatedComposition(boundsComposition); + WindowLostFocus.SetAssociatedComposition(boundsComposition); + WindowActivated.SetAssociatedComposition(boundsComposition); + WindowDeactivated.SetAssociatedComposition(boundsComposition); + WindowOpened.SetAssociatedComposition(boundsComposition); + WindowClosing.SetAssociatedComposition(boundsComposition); + WindowClosed.SetAssociatedComposition(boundsComposition); + WindowDestroying.SetAssociatedComposition(boundsComposition); host=new GuiGraphicsHost; - host->GetMainComposition()->AddChild(GetStyleController()->GetBoundsComposition()); + host->GetMainComposition()->AddChild(boundsComposition); sharedPtrDestructorProc = 0; } GuiControlHost::~GuiControlHost() { + host->GetMainComposition()->RemoveChild(boundsComposition); FinalizeInstanceRecursively(this); OnBeforeReleaseGraphicsHost(); - styleController=0; delete host; } @@ -6483,175 +6013,78 @@ GuiControlHost return false; } -/*********************************************************************** -GuiWindow::DefaultBehaviorStyleController -***********************************************************************/ - - GuiWindow::DefaultBehaviorStyleController::DefaultBehaviorStyleController() - :window(0) - { - } - - GuiWindow::DefaultBehaviorStyleController::~DefaultBehaviorStyleController() - { - } - - void GuiWindow::DefaultBehaviorStyleController::AttachWindow(GuiWindow* _window) - { - window=_window; - } - - void GuiWindow::DefaultBehaviorStyleController::InitializeNativeWindowProperties() - { - } - - void GuiWindow::DefaultBehaviorStyleController::SetSizeState(INativeWindow::WindowSizeState value) - { - } - - bool GuiWindow::DefaultBehaviorStyleController::GetMaximizedBox() - { - if(window->GetNativeWindow()) - { - return window->GetNativeWindow()->GetMaximizedBox(); - } - else - { - return false; - } - } - - void GuiWindow::DefaultBehaviorStyleController::SetMaximizedBox(bool visible) - { - if(window->GetNativeWindow()) - { - window->GetNativeWindow()->SetMaximizedBox(visible); - } - } - - bool GuiWindow::DefaultBehaviorStyleController::GetMinimizedBox() - { - if(window->GetNativeWindow()) - { - return window->GetNativeWindow()->GetMinimizedBox(); - } - else - { - return false; - } - } - - void GuiWindow::DefaultBehaviorStyleController::SetMinimizedBox(bool visible) - { - if(window->GetNativeWindow()) - { - window->GetNativeWindow()->SetMinimizedBox(visible); - } - } - - bool GuiWindow::DefaultBehaviorStyleController::GetBorder() - { - if(window->GetNativeWindow()) - { - return window->GetNativeWindow()->GetBorder(); - } - else - { - return false; - } - } - - void GuiWindow::DefaultBehaviorStyleController::SetBorder(bool visible) - { - if(window->GetNativeWindow()) - { - window->GetNativeWindow()->SetBorder(visible); - } - } - - bool GuiWindow::DefaultBehaviorStyleController::GetSizeBox() - { - if(window->GetNativeWindow()) - { - return window->GetNativeWindow()->GetSizeBox(); - } - else - { - return false; - } - } - - void GuiWindow::DefaultBehaviorStyleController::SetSizeBox(bool visible) - { - if(window->GetNativeWindow()) - { - window->GetNativeWindow()->SetSizeBox(visible); - } - } - - bool GuiWindow::DefaultBehaviorStyleController::GetIconVisible() - { - if(window->GetNativeWindow()) - { - return window->GetNativeWindow()->GetIconVisible(); - } - else - { - return false; - } - } - - void GuiWindow::DefaultBehaviorStyleController::SetIconVisible(bool visible) - { - if(window->GetNativeWindow()) - { - window->GetNativeWindow()->SetIconVisible(visible); - } - } - - bool GuiWindow::DefaultBehaviorStyleController::GetTitleBar() - { - if(window->GetNativeWindow()) - { - return window->GetNativeWindow()->GetTitleBar(); - } - else - { - return false; - } - } - - void GuiWindow::DefaultBehaviorStyleController::SetTitleBar(bool visible) - { - if(window->GetNativeWindow()) - { - window->GetNativeWindow()->SetTitleBar(visible); - } - } - - GuiWindow::IStyleController* GuiWindow::DefaultBehaviorStyleController::CreateTooltipStyle() - { - return 0; - } - - GuiLabel::IStyleController* GuiWindow::DefaultBehaviorStyleController::CreateShortcutKeyStyle() - { - return 0; - } - /*********************************************************************** GuiWindow ***********************************************************************/ + void GuiWindow::BeforeControlTemplateUninstalled_() + { + } + + void GuiWindow::AfterControlTemplateInstalled_(bool initialize) + { + auto ct = GetControlTemplateObject(); +#define FIX_WINDOW_PROPERTY(VARIABLE, NAME) \ + switch (ct->Get ## NAME ## Option()) \ + { \ + case templates::BoolOption::AlwaysTrue: \ + VARIABLE = true; \ + break; \ + case templates::BoolOption::AlwaysFalse: \ + VARIABLE = false; \ + break; \ + } \ + + FIX_WINDOW_PROPERTY(hasMaximizedBox, MaximizedBox) + FIX_WINDOW_PROPERTY(hasMinimizedBox, MinimizedBox) + FIX_WINDOW_PROPERTY(hasBorder, Border) + FIX_WINDOW_PROPERTY(hasSizeBox, SizeBox) + FIX_WINDOW_PROPERTY(isIconVisible, IconVisible) + FIX_WINDOW_PROPERTY(hasTitleBar, TitleBar) + +#undef FIX_WINDOW_PROPERTY + ct->SetMaximizedBox(hasMaximizedBox); + ct->SetMinimizedBox(hasMinimizedBox); + ct->SetBorder(hasBorder); + ct->SetSizeBox(hasSizeBox); + ct->SetIconVisible(isIconVisible); + ct->SetTitleBar(hasTitleBar); + ct->SetMaximized(GetNativeWindow()->GetSizeState() != INativeWindow::Maximized); + SyncNativeWindowProperties(); + } + + void GuiWindow::SyncNativeWindowProperties() + { + if (auto window = GetNativeWindow()) + { + if (GetControlTemplateObject()->GetCustomFrameEnabled()) + { + window->EnableCustomFrameMode(); + window->SetBorder(false); + } + else + { + window->DisableCustomFrameMode(); + window->SetBorder(hasBorder); + } + + window->SetMaximizedBox(hasMaximizedBox); + window->SetMinimizedBox(hasMinimizedBox); + window->SetSizeBox(hasSizeBox); + window->SetIconVisible(isIconVisible); + window->SetTitleBar(hasTitleBar); + } + } + void GuiWindow::Moved() { GuiControlHost::Moved(); - styleController->SetSizeState(GetNativeWindow()->GetSizeState()); + GetControlTemplateObject()->SetMaximized(GetNativeWindow()->GetSizeState() != INativeWindow::Maximized); } void GuiWindow::OnNativeWindowChanged() { - styleController->InitializeNativeWindowProperties(); + SyncNativeWindowProperties(); GuiControlHost::OnNativeWindowChanged(); } @@ -6689,16 +6122,14 @@ GuiWindow IGuiAltActionHost::CollectAltActionsFromControl(this, actions); } - GuiWindow::GuiWindow(IStyleController* _styleController) - :GuiControlHost(_styleController) - ,styleController(_styleController) + GuiWindow::GuiWindow(theme::ThemeName themeName) + :GuiControlHost(themeName) ,previousAltHost(0) { INativeWindow* window=GetCurrentController()->WindowService()->CreateNativeWindow(); - styleController->AttachWindow(this); SetNativeWindow(window); GetApplication()->RegisterWindow(this); - ClipboardUpdated.SetAssociatedComposition(GetBoundsComposition()); + ClipboardUpdated.SetAssociatedComposition(boundsComposition); } GuiWindow::~GuiWindow() @@ -6748,65 +6179,40 @@ GuiWindow } } - bool GuiWindow::GetMaximizedBox() - { - return styleController->GetMaximizedBox(); - } +#define IMPL_WINDOW_PROPERTY(VARIABLE, NAME, CONDITION_BREAK) \ + bool GuiWindow::Get ## NAME() \ + { \ + return VARIABLE; \ + } \ + void GuiWindow::Set ## NAME(bool visible) \ + { \ + auto ct = GetControlTemplateObject(); \ + if (ct->Get ## NAME ## Option() == templates::BoolOption::Customizable) \ + { \ + VARIABLE = visible; \ + auto ct = GetControlTemplateObject(); \ + ct->Set ## NAME(visible); \ + if (auto window = GetNativeWindow()) \ + { \ + CONDITION_BREAK \ + window->Set ## NAME(visible); \ + } \ + } \ + } \ - void GuiWindow::SetMaximizedBox(bool visible) - { - styleController->SetMaximizedBox(visible); - } +#define IMPL_WINDOW_PROPERTY_EMPTY_CONDITION +#define IMPL_WINDOW_PROPERTY_BORDER_CONDITION if (ct->GetCustomFrameEnabled()) return; - bool GuiWindow::GetMinimizedBox() - { - return styleController->GetMinimizedBox(); - } + IMPL_WINDOW_PROPERTY(hasMaximizedBox, MaximizedBox, IMPL_WINDOW_PROPERTY_EMPTY_CONDITION) + IMPL_WINDOW_PROPERTY(hasMinimizedBox, MinimizedBox, IMPL_WINDOW_PROPERTY_EMPTY_CONDITION) + IMPL_WINDOW_PROPERTY(hasBorder, Border, IMPL_WINDOW_PROPERTY_BORDER_CONDITION) + IMPL_WINDOW_PROPERTY(hasSizeBox, SizeBox, IMPL_WINDOW_PROPERTY_EMPTY_CONDITION) + IMPL_WINDOW_PROPERTY(isIconVisible, IconVisible, IMPL_WINDOW_PROPERTY_EMPTY_CONDITION) + IMPL_WINDOW_PROPERTY(hasTitleBar, TitleBar, IMPL_WINDOW_PROPERTY_EMPTY_CONDITION) - void GuiWindow::SetMinimizedBox(bool visible) - { - styleController->SetMinimizedBox(visible); - } - - bool GuiWindow::GetBorder() - { - return styleController->GetBorder(); - } - - void GuiWindow::SetBorder(bool visible) - { - styleController->SetBorder(visible); - } - - bool GuiWindow::GetSizeBox() - { - return styleController->GetSizeBox(); - } - - void GuiWindow::SetSizeBox(bool visible) - { - styleController->SetSizeBox(visible); - } - - bool GuiWindow::GetIconVisible() - { - return styleController->GetIconVisible(); - } - - void GuiWindow::SetIconVisible(bool visible) - { - styleController->SetIconVisible(visible); - } - - bool GuiWindow::GetTitleBar() - { - return styleController->GetTitleBar(); - } - - void GuiWindow::SetTitleBar(bool visible) - { - styleController->SetTitleBar(visible); - } +#undef IMPL_WINDOW_PROPERTY_BORDER_CONDITION +#undef IMPL_WINDOW_PROPERTY_EMPTY_CONDITION +#undef IMPL_WINDOW_PROPERTY void GuiWindow::ShowModal(GuiWindow* owner, const Func& callback) { @@ -6871,15 +6277,14 @@ GuiPopup } } - GuiPopup::GuiPopup(IStyleController* _styleController) - :GuiWindow(_styleController) + GuiPopup::GuiPopup(theme::ThemeName themeName) + :GuiWindow(themeName) { SetMinimizedBox(false); SetMaximizedBox(false); SetSizeBox(false); SetTitleBar(false); SetShowInTaskBar(false); - GetBoundsComposition()->SetMinSizeLimitation(GuiGraphicsComposition::LimitToElementAndChildren); WindowOpened.AttachMethod(this, &GuiPopup::PopupOpened); WindowClosed.AttachMethod(this, &GuiPopup::PopupClosed); @@ -7051,12 +6456,12 @@ GuiPopup SetTemporaryContentControl(0); } - GuiTooltip::GuiTooltip(IStyleController* _styleController) - :GuiPopup(_styleController) + GuiTooltip::GuiTooltip(theme::ThemeName themeName) + :GuiPopup(themeName) ,temporaryContentControl(0) { - GetContainerComposition()->SetMinSizeLimitation(GuiGraphicsComposition::LimitToElementAndChildren); - GetContainerComposition()->SetPreferredMinSize(Size(20, 10)); + containerComposition->SetMinSizeLimitation(GuiGraphicsComposition::LimitToElementAndChildren); + containerComposition->SetPreferredMinSize(Size(20, 10)); GetCurrentController()->CallbackService()->InstallListener(this); WindowOpened.AttachMethod(this, &GuiTooltip::TooltipOpened); @@ -7070,12 +6475,12 @@ GuiPopup vint GuiTooltip::GetPreferredContentWidth() { - return GetContainerComposition()->GetPreferredMinSize().x; + return containerComposition->GetPreferredMinSize().x; } void GuiTooltip::SetPreferredContentWidth(vint value) { - GetContainerComposition()->SetPreferredMinSize(Size(value, 10)); + containerComposition->SetPreferredMinSize(Size(value, 10)); } GuiControl* GuiTooltip::GetTemporaryContentControl() @@ -7087,7 +6492,7 @@ GuiPopup { if(temporaryContentControl && HasChild(temporaryContentControl)) { - GetContainerComposition()->RemoveChild(temporaryContentControl->GetBoundsComposition()); + containerComposition->RemoveChild(temporaryContentControl->GetBoundsComposition()); temporaryContentControl=0; } temporaryContentControl=control; @@ -9115,6 +8520,16 @@ namespace vl GuiButton ***********************************************************************/ + void GuiButton::BeforeControlTemplateUninstalled_() + { + } + + void GuiButton::AfterControlTemplateInstalled_(bool initialize) + { + auto ct = GetControlTemplateObject(); + GetControlTemplateObject()->SetState(controlState); + } + void GuiButton::OnParentLineChanged() { GuiControl::OnParentLineChanged(); @@ -9159,7 +8574,7 @@ GuiButton if (controlState != newControlState) { controlState = newControlState; - styleController->Transfer(controlState); + GetControlTemplateObject()->SetState(controlState); } } @@ -9220,22 +8635,16 @@ GuiButton } } - GuiButton::GuiButton(IStyleController* _styleController) - :GuiControl(_styleController) - ,styleController(_styleController) - ,clickOnMouseUp(true) - ,mousePressing(false) - ,mouseHoving(false) - ,controlState(ButtonState::Normal) + GuiButton::GuiButton(theme::ThemeName themeName) + :GuiControl(themeName) { Clicked.SetAssociatedComposition(boundsComposition); - styleController->Transfer(ButtonState::Normal); SetFocusableComposition(boundsComposition); - GetEventReceiver()->leftButtonDown.AttachMethod(this, &GuiButton::OnLeftButtonDown); - GetEventReceiver()->leftButtonUp.AttachMethod(this, &GuiButton::OnLeftButtonUp); - GetEventReceiver()->mouseEnter.AttachMethod(this, &GuiButton::OnMouseEnter); - GetEventReceiver()->mouseLeave.AttachMethod(this, &GuiButton::OnMouseLeave); + boundsComposition->GetEventReceiver()->leftButtonDown.AttachMethod(this, &GuiButton::OnLeftButtonDown); + boundsComposition->GetEventReceiver()->leftButtonUp.AttachMethod(this, &GuiButton::OnLeftButtonUp); + boundsComposition->GetEventReceiver()->mouseEnter.AttachMethod(this, &GuiButton::OnMouseEnter); + boundsComposition->GetEventReceiver()->mouseLeave.AttachMethod(this, &GuiButton::OnMouseLeave); } GuiButton::~GuiButton() @@ -9311,6 +8720,15 @@ GuiSelectableButton::MutexGroupController GuiSelectableButton ***********************************************************************/ + void GuiSelectableButton::BeforeControlTemplateUninstalled_() + { + } + + void GuiSelectableButton::AfterControlTemplateInstalled_(bool initialize) + { + GetControlTemplateObject()->SetSelected(isSelected); + } + void GuiSelectableButton::OnClicked(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) { if(autoSelection) @@ -9319,19 +8737,14 @@ GuiSelectableButton } } - GuiSelectableButton::GuiSelectableButton(IStyleController* _styleController) - :GuiButton(_styleController) - ,styleController(_styleController) - ,groupController(0) - ,autoSelection(true) - ,isSelected(false) + GuiSelectableButton::GuiSelectableButton(theme::ThemeName themeName) + :GuiButton(themeName) { GroupControllerChanged.SetAssociatedComposition(boundsComposition); AutoSelectionChanged.SetAssociatedComposition(boundsComposition); SelectedChanged.SetAssociatedComposition(boundsComposition); Clicked.AttachMethod(this, &GuiSelectableButton::OnClicked); - styleController->SetSelected(isSelected); } GuiSelectableButton::~GuiSelectableButton() @@ -9382,11 +8795,11 @@ GuiSelectableButton void GuiSelectableButton::SetSelected(bool value) { - if(isSelected!=value) + if (isSelected != value) { - isSelected=value; - styleController->SetSelected(isSelected); - if(groupController) + isSelected = value; + GetControlTemplateObject()->SetSelected(isSelected); + if (groupController) { groupController->OnSelectedChanged(this); } @@ -9464,14 +8877,22 @@ GuiScroll::CommandExecutor GuiScroll ***********************************************************************/ - GuiScroll::GuiScroll(IStyleController* _styleController) - :GuiControl(_styleController) - ,styleController(_styleController) - ,totalSize(100) - ,pageSize(10) - ,position(0) - ,smallMove(1) - ,bigMove(10) + void GuiScroll::BeforeControlTemplateUninstalled_() + { + GetControlTemplateObject()->SetCommands(nullptr); + } + + void GuiScroll::AfterControlTemplateInstalled_(bool initialize) + { + auto ct = GetControlTemplateObject(); + ct->SetCommands(commandExecutor.Obj()); + ct->SetPageSize(pageSize); + ct->SetTotalSize(totalSize); + ct->SetPosition(position); + } + + GuiScroll::GuiScroll(theme::ThemeName themeName) + :GuiControl(themeName) { TotalSizeChanged.SetAssociatedComposition(boundsComposition); PageSizeChanged.SetAssociatedComposition(boundsComposition); @@ -9479,11 +8900,7 @@ GuiScroll SmallMoveChanged.SetAssociatedComposition(boundsComposition); BigMoveChanged.SetAssociatedComposition(boundsComposition); - commandExecutor=new CommandExecutor(this); - styleController->SetCommandExecutor(commandExecutor.Obj()); - styleController->SetPageSize(pageSize); - styleController->SetTotalSize(totalSize); - styleController->SetPosition(position); + commandExecutor = new CommandExecutor(this); } GuiScroll::~GuiScroll() @@ -9508,7 +8925,7 @@ GuiScroll { SetPosition(GetMaxPosition()); } - styleController->SetTotalSize(totalSize); + GetControlTemplateObject()->SetTotalSize(totalSize); TotalSizeChanged.Execute(GetNotifyEventArguments()); } } @@ -9527,7 +8944,7 @@ GuiScroll { SetPosition(GetMaxPosition()); } - styleController->SetPageSize(pageSize); + GetControlTemplateObject()->SetPageSize(pageSize); PageSizeChanged.Execute(GetNotifyEventArguments()); } } @@ -9548,7 +8965,7 @@ GuiScroll if(position!=newPosition) { position=newPosition; - styleController->SetPosition(position); + GetControlTemplateObject()->SetPosition(position); PositionChanged.Execute(GetNotifyEventArguments()); } } @@ -9617,8 +9034,8 @@ GuiTabPage return false; } - GuiTabPage::GuiTabPage(IStyleController* _styleController) - :GuiCustomControl(_styleController) + GuiTabPage::GuiTabPage(theme::ThemeName themeName) + :GuiCustomControl(themeName) { } @@ -9645,8 +9062,8 @@ GuiTabPageList { value->tab = tab; value->SetVisible(false); - value->GetBoundsComposition()->SetAlignmentToParent(Margin(0, 0, 0, 0)); - tab->GetContainerComposition()->AddChild(value->GetBoundsComposition()); + value->boundsComposition->SetAlignmentToParent(Margin(0, 0, 0, 0)); + tab->containerComposition->AddChild(value->boundsComposition); if (!tab->selectedPage) { @@ -9656,7 +9073,7 @@ GuiTabPageList void GuiTabPageList::BeforeRemove(vint index, GuiTabPage* const& value) { - tab->GetContainerComposition()->RemoveChild(value->GetBoundsComposition()); + tab->containerComposition->RemoveChild(value->boundsComposition); value->tab = nullptr; if (items.Count() == 0) @@ -9682,6 +9099,22 @@ GuiTabPageList GuiTab ***********************************************************************/ + void GuiTab::BeforeControlTemplateUninstalled_() + { + auto ct = GetControlTemplateObject(); + ct->SetCommands(nullptr); + ct->SetTabPages(nullptr); + ct->SetSelectedTabPage(nullptr); + } + + void GuiTab::AfterControlTemplateInstalled_(bool initialize) + { + auto ct = GetControlTemplateObject(); + ct->SetCommands(commandExecutor.Obj()); + ct->SetTabPages(tabPages.GetWrapper()); + ct->SetSelectedTabPage(selectedPage); + } + GuiTab::CommandExecutor::CommandExecutor(GuiTab* _tab) :tab(_tab) { @@ -9696,14 +9129,11 @@ GuiTab tab->SetSelectedPage(tab->GetPages().Get(index)); } - GuiTab::GuiTab(IStyleController* _styleController) - :GuiControl(_styleController) - , styleController(_styleController) + GuiTab::GuiTab(theme::ThemeName themeName) + :GuiControl(themeName) , tabPages(this) { commandExecutor = new CommandExecutor(this); - styleController->SetCommandExecutor(commandExecutor.Obj()); - styleController->SetTabPages(tabPages.GetWrapper()); } GuiTab::~GuiTab() @@ -9729,7 +9159,7 @@ GuiTab selectedPage = nullptr; } } - else if (value->tab == this) + else if (value->GetOwnerTab() == this) { if (selectedPage == value) { @@ -9742,209 +9172,74 @@ GuiTab tabPage->SetVisible(tabPage == selectedPage); } } - styleController->SetSelectedTabPage(selectedPage); + if (HasControlTemplateObject()) + { + GetControlTemplateObject()->SetSelectedTabPage(selectedPage); + } SelectedPageChanged.Execute(GetNotifyEventArguments()); return selectedPage == value; } /*********************************************************************** -GuiScrollView::StyleController +GuiScrollView::CommandExecutor ***********************************************************************/ - void GuiScrollView::StyleController::UpdateTable() - { - if(horizontalScroll->GetEnabled() || horizontalAlwaysVisible) - { - tableComposition->SetRowOption(1, GuiCellOption::AbsoluteOption(styleProvider->GetDefaultScrollSize())); - } - else - { - tableComposition->SetRowOption(1, GuiCellOption::AbsoluteOption(0)); - } - if(verticalScroll->GetEnabled() || verticalAlwaysVisible) - { - tableComposition->SetColumnOption(1, GuiCellOption::AbsoluteOption(styleProvider->GetDefaultScrollSize())); - } - else - { - tableComposition->SetColumnOption(1, GuiCellOption::AbsoluteOption(0)); - } - tableComposition->UpdateCellBounds(); - } - - GuiScrollView::StyleController::StyleController(IStyleProvider* _styleProvider) - :styleProvider(_styleProvider) - ,scrollView(0) - ,horizontalAlwaysVisible(true) - ,verticalAlwaysVisible(true) - { - horizontalScroll=new GuiScroll(styleProvider->CreateHorizontalScrollStyle()); - horizontalScroll->GetBoundsComposition()->SetAlignmentToParent(Margin(0, 0, 0, 0)); - horizontalScroll->SetEnabled(false); - verticalScroll=new GuiScroll(styleProvider->CreateVerticalScrollStyle()); - verticalScroll->GetBoundsComposition()->SetAlignmentToParent(Margin(0, 0, 0, 0)); - verticalScroll->SetEnabled(false); - - boundsComposition=new GuiBoundsComposition; - GuiGraphicsComposition* tableContainerComposition=styleProvider->InstallBackground(boundsComposition); - - tableComposition=new GuiTableComposition; - tableContainerComposition->AddChild(tableComposition); - tableComposition->SetAlignmentToParent(Margin(0, 0, 0, 0)); - tableComposition->SetRowsAndColumns(2, 2); - tableComposition->SetRowOption(0, GuiCellOption::PercentageOption(1.0)); - tableComposition->SetRowOption(1, GuiCellOption::MinSizeOption()); - tableComposition->SetColumnOption(0, GuiCellOption::PercentageOption(1.0)); - tableComposition->SetColumnOption(1, GuiCellOption::MinSizeOption()); - UpdateTable(); - { - GuiCellComposition* cell=new GuiCellComposition; - tableComposition->AddChild(cell); - cell->SetSite(1, 0, 1, 1); - cell->AddChild(horizontalScroll->GetBoundsComposition()); - } - { - GuiCellComposition* cell=new GuiCellComposition; - tableComposition->AddChild(cell); - cell->SetSite(0, 1, 1, 1); - cell->AddChild(verticalScroll->GetBoundsComposition()); - } - - containerCellComposition=new GuiCellComposition; - tableComposition->AddChild(containerCellComposition); - containerCellComposition->SetSite(0, 0, 1, 1); - - containerComposition=new GuiBoundsComposition; - containerComposition->SetAlignmentToParent(Margin(0, 0, 0, 0)); - containerCellComposition->AddChild(containerComposition); - - styleProvider->AssociateStyleController(this); - } - - GuiScrollView::StyleController::~StyleController() + GuiScrollView::CommandExecutor::CommandExecutor(GuiScrollView* _scrollView) + :scrollView(_scrollView) { } - void GuiScrollView::StyleController::SetScrollView(GuiScrollView* _scrollView) + GuiScrollView::CommandExecutor::~CommandExecutor() { - scrollView=_scrollView; } - void GuiScrollView::StyleController::AdjustView(Size fullSize) + void GuiScrollView::CommandExecutor::CalculateView() { - Size viewSize=containerComposition->GetBounds().GetSize(); - if(fullSize.x<=viewSize.x) - { - horizontalScroll->SetEnabled(false); - horizontalScroll->SetPosition(0); - } - else - { - horizontalScroll->SetEnabled(true); - horizontalScroll->SetTotalSize(fullSize.x); - horizontalScroll->SetPageSize(viewSize.x); - } - if(fullSize.y<=viewSize.y) - { - verticalScroll->SetEnabled(false); - verticalScroll->SetPosition(0); - } - else - { - verticalScroll->SetEnabled(true); - verticalScroll->SetTotalSize(fullSize.y); - verticalScroll->SetPageSize(viewSize.y); - } - UpdateTable(); - } - - GuiScrollView::IStyleProvider* GuiScrollView::StyleController::GetStyleProvider() - { - return styleProvider.Obj(); - } - - GuiScroll* GuiScrollView::StyleController::GetHorizontalScroll() - { - return horizontalScroll; - } - - GuiScroll* GuiScrollView::StyleController::GetVerticalScroll() - { - return verticalScroll; - } - - compositions::GuiTableComposition* GuiScrollView::StyleController::GetInternalTableComposition() - { - return tableComposition; - } - - compositions::GuiBoundsComposition* GuiScrollView::StyleController::GetInternalContainerComposition() - { - return containerComposition; - } - - bool GuiScrollView::StyleController::GetHorizontalAlwaysVisible() - { - return horizontalAlwaysVisible; - } - - void GuiScrollView::StyleController::SetHorizontalAlwaysVisible(bool value) - { - if(horizontalAlwaysVisible!=value) - { - horizontalAlwaysVisible=value; - scrollView->CalculateView(); - } - } - - bool GuiScrollView::StyleController::GetVerticalAlwaysVisible() - { - return verticalAlwaysVisible; - } - - void GuiScrollView::StyleController::SetVerticalAlwaysVisible(bool value) - { - if(verticalAlwaysVisible!=value) - { - verticalAlwaysVisible=value; - scrollView->CalculateView(); - } - } - - compositions::GuiBoundsComposition* GuiScrollView::StyleController::GetBoundsComposition() - { - return boundsComposition; - } - - compositions::GuiGraphicsComposition* GuiScrollView::StyleController::GetContainerComposition() - { - return containerComposition; - } - - void GuiScrollView::StyleController::SetFocusableComposition(compositions::GuiGraphicsComposition* value) - { - styleProvider->SetFocusableComposition(value); - } - - void GuiScrollView::StyleController::SetText(const WString& value) - { - styleProvider->SetText(value); - } - - void GuiScrollView::StyleController::SetFont(const FontProperties& value) - { - styleProvider->SetFont(value); - } - - void GuiScrollView::StyleController::SetVisuallyEnabled(bool value) - { - styleProvider->SetVisuallyEnabled(value); + scrollView->CalculateView(); } /*********************************************************************** GuiScrollView ***********************************************************************/ + void GuiScrollView::BeforeControlTemplateUninstalled_() + { + auto ct = GetControlTemplateObject(); + ct->SetCommands(nullptr); + ct->GetHorizontalScroll()->PositionChanged.Detach(hScrollHandler); + ct->GetVerticalScroll()->PositionChanged.Detach(vScrollHandler); + ct->GetEventReceiver()->horizontalWheel.Detach(hWheelHandler); + ct->GetEventReceiver()->verticalWheel.Detach(vWheelHandler); + + hScrollHandler = nullptr; + vScrollHandler = nullptr; + hWheelHandler = nullptr; + vWheelHandler = nullptr; + supressScrolling = false; + } + + void GuiScrollView::AfterControlTemplateInstalled_(bool initialize) + { + auto ct = GetControlTemplateObject(); + ct->SetCommands(commandExecutor.Obj()); + hScrollHandler = ct->GetHorizontalScroll()->PositionChanged.AttachMethod(this, &GuiScrollView::OnHorizontalScroll); + vScrollHandler = ct->GetVerticalScroll()->PositionChanged.AttachMethod(this, &GuiScrollView::OnVerticalScroll); + hWheelHandler = ct->GetEventReceiver()->horizontalWheel.AttachMethod(this, &GuiScrollView::OnHorizontalWheel); + vWheelHandler = ct->GetEventReceiver()->verticalWheel.AttachMethod(this, &GuiScrollView::OnVerticalWheel); + + if (initialize) + { + horizontalAlwaysVisible = ct->GetHorizontalAlwaysVisible(); + verticalAlwaysVisible = ct->GetVerticalAlwaysVisible(); + } + else + { + ct->SetHorizontalAlwaysVisible(horizontalAlwaysVisible); + ct->SetVerticalAlwaysVisible(verticalAlwaysVisible); + } + CalculateView(); + } + void GuiScrollView::OnContainerBoundsChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) { CalculateView(); @@ -9970,7 +9265,7 @@ GuiScrollView { if(!supressScrolling) { - auto scroll = styleController->GetHorizontalScroll(); + auto scroll = GetControlTemplateObject()->GetHorizontalScroll(); vint position = scroll->GetPosition(); vint move = scroll->GetSmallMove(); position -= move*arguments.wheel / 60; @@ -9982,7 +9277,7 @@ GuiScrollView { if(!supressScrolling && GetVisuallyEnabled()) { - auto scroll = styleController->GetVerticalScroll(); + auto scroll = GetControlTemplateObject()->GetVerticalScroll(); vint position = scroll->GetPosition(); vint move = scroll->GetSmallMove(); position -= move*arguments.wheel / 60; @@ -9996,30 +9291,12 @@ GuiScrollView UpdateView(viewBounds); } - void GuiScrollView::Initialize() + GuiScrollView::GuiScrollView(theme::ThemeName themeName) + :GuiControl(themeName) + , supressScrolling(false) { - styleController=dynamic_cast(GetStyleController()); - styleController->SetScrollView(this); - - styleController->GetInternalContainerComposition()->BoundsChanged.AttachMethod(this, &GuiScrollView::OnContainerBoundsChanged); - styleController->GetHorizontalScroll()->PositionChanged.AttachMethod(this, &GuiScrollView::OnHorizontalScroll); - styleController->GetVerticalScroll()->PositionChanged.AttachMethod(this, &GuiScrollView::OnVerticalScroll); - styleController->GetBoundsComposition()->GetEventReceiver()->horizontalWheel.AttachMethod(this, &GuiScrollView::OnHorizontalWheel); - styleController->GetBoundsComposition()->GetEventReceiver()->verticalWheel.AttachMethod(this, &GuiScrollView::OnVerticalWheel); - } - - GuiScrollView::GuiScrollView(StyleController* _styleController) - :GuiControl(_styleController) - ,supressScrolling(false) - { - Initialize(); - } - - GuiScrollView::GuiScrollView(IStyleProvider* styleProvider) - :GuiControl(new StyleController(styleProvider)) - ,supressScrolling(false) - { - Initialize(); + commandExecutor = new CommandExecutor(this); + containerComposition->BoundsChanged.AttachMethod(this, &GuiScrollView::OnContainerBoundsChanged); } vint GuiScrollView::GetSmallMove() @@ -10044,13 +9321,14 @@ GuiScrollView void GuiScrollView::CalculateView() { + auto ct = GetControlTemplateObject(); if(!supressScrolling) { Size fullSize = QueryFullSize(); while(true) { - styleController->AdjustView(fullSize); - styleController->AdjustView(fullSize); + ct->AdjustView(fullSize); + ct->AdjustView(fullSize); supressScrolling = true; CallUpdateView(); supressScrolling = false; @@ -10059,11 +9337,11 @@ GuiScrollView if (fullSize == newSize) { vint smallMove = GetSmallMove(); - styleController->GetHorizontalScroll()->SetSmallMove(smallMove); - styleController->GetVerticalScroll()->SetSmallMove(smallMove); + ct->GetHorizontalScroll()->SetSmallMove(smallMove); + ct->GetVerticalScroll()->SetSmallMove(smallMove); Size bigMove = GetBigMove(); - styleController->GetHorizontalScroll()->SetBigMove(bigMove.x); - styleController->GetVerticalScroll()->SetBigMove(bigMove.y); + ct->GetHorizontalScroll()->SetBigMove(bigMove.x); + ct->GetVerticalScroll()->SetBigMove(bigMove.y); break; } else @@ -10076,16 +9354,17 @@ GuiScrollView Size GuiScrollView::GetViewSize() { - Size viewSize=styleController->GetInternalContainerComposition()->GetBounds().GetSize(); + Size viewSize = GetControlTemplateObject()->GetContainerComposition()->GetBounds().GetSize(); return viewSize; } Rect GuiScrollView::GetViewBounds() { + auto ct = GetControlTemplateObject(); Point viewPosition= Point( - styleController->GetHorizontalScroll()->GetPosition(), - styleController->GetVerticalScroll()->GetPosition() + ct->GetHorizontalScroll()->GetPosition(), + ct->GetVerticalScroll()->GetPosition() ); Size viewSize=GetViewSize(); return Rect(viewPosition, viewSize); @@ -10093,79 +9372,39 @@ GuiScrollView GuiScroll* GuiScrollView::GetHorizontalScroll() { - return styleController->GetHorizontalScroll(); + return GetControlTemplateObject()->GetHorizontalScroll(); } GuiScroll* GuiScrollView::GetVerticalScroll() { - return styleController->GetVerticalScroll(); + return GetControlTemplateObject()->GetVerticalScroll(); } bool GuiScrollView::GetHorizontalAlwaysVisible() { - return styleController->GetHorizontalAlwaysVisible(); + return horizontalAlwaysVisible; } void GuiScrollView::SetHorizontalAlwaysVisible(bool value) { - styleController->SetHorizontalAlwaysVisible(value); + if (horizontalAlwaysVisible != value) + { + horizontalAlwaysVisible = value; + GetControlTemplateObject()->SetHorizontalAlwaysVisible(value); + } } bool GuiScrollView::GetVerticalAlwaysVisible() { - return styleController->GetVerticalAlwaysVisible(); + return verticalAlwaysVisible; } void GuiScrollView::SetVerticalAlwaysVisible(bool value) { - styleController->SetVerticalAlwaysVisible(value); - } - -/*********************************************************************** -GuiScrollContainer::StyleController -***********************************************************************/ - - GuiScrollContainer::StyleController::StyleController(GuiScrollView::IStyleProvider* styleProvider) - :GuiScrollView::StyleController(styleProvider) - ,extendToFullWidth(false) - { - controlContainerComposition=new GuiBoundsComposition; - controlContainerComposition->SetMinSizeLimitation(GuiGraphicsComposition::LimitToElementAndChildren); - GetInternalContainerComposition()->AddChild(controlContainerComposition); - } - - GuiScrollContainer::StyleController::~StyleController() - { - } - - compositions::GuiGraphicsComposition* GuiScrollContainer::StyleController::GetContainerComposition() - { - return controlContainerComposition; - } - - void GuiScrollContainer::StyleController::MoveContainer(Point leftTop) - { - controlContainerComposition->SetBounds(Rect(leftTop, Size(0, 0))); - } - - bool GuiScrollContainer::StyleController::GetExtendToFullWidth() - { - return extendToFullWidth; - } - - void GuiScrollContainer::StyleController::SetExtendToFullWidth(bool value) - { - if(extendToFullWidth!=value) + if (verticalAlwaysVisible != value) { - extendToFullWidth=value; - if(value) - { - controlContainerComposition->SetAlignmentToParent(Margin(0, -1, 0, -1)); - } - else - { - controlContainerComposition->SetAlignmentToParent(Margin(-1, -1, -1, -1)); - } + verticalAlwaysVisible = value; + GetControlTemplateObject()->SetVerticalAlwaysVisible(value); } } @@ -10173,28 +9412,22 @@ GuiScrollContainer::StyleController GuiScrollContainer ***********************************************************************/ - void GuiScrollContainer::OnControlContainerBoundsChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) - { - CalculateView(); - } - Size GuiScrollContainer::QueryFullSize() { - return styleController->GetContainerComposition()->GetBounds().GetSize(); + return containerComposition->GetBounds().GetSize(); } void GuiScrollContainer::UpdateView(Rect viewBounds) { - styleController->MoveContainer(Point(-viewBounds.x1, -viewBounds.y1)); + auto leftTop = Point(-viewBounds.x1, -viewBounds.y1); + containerComposition->SetBounds(Rect(leftTop, Size(0, 0))); } - GuiScrollContainer::GuiScrollContainer(GuiScrollContainer::IStyleProvider* styleProvider) - :GuiScrollView(new StyleController(styleProvider)) - ,styleController(0) + GuiScrollContainer::GuiScrollContainer(theme::ThemeName themeName) + :GuiScrollView(themeName) { - styleController=dynamic_cast(GetStyleController()); - GuiBoundsComposition* composition=dynamic_cast(styleController->GetContainerComposition()); - composition->BoundsChanged.AttachMethod(this, &GuiScrollContainer::OnControlContainerBoundsChanged); + containerComposition->SetAlignmentToParent(Margin(-1, -1, -1, -1)); + UpdateView(Rect(0, 0, 0, 0)); } GuiScrollContainer::~GuiScrollContainer() @@ -10203,12 +9436,46 @@ GuiScrollContainer bool GuiScrollContainer::GetExtendToFullWidth() { - return styleController->GetExtendToFullWidth(); + return extendToFullWidth; } void GuiScrollContainer::SetExtendToFullWidth(bool value) { - styleController->SetExtendToFullWidth(value); + if (extendToFullWidth != value) + { + extendToFullWidth = value; + auto margin = containerComposition->GetAlignmentToParent(); + if (value) + { + containerComposition->SetAlignmentToParent(Margin(0, margin.top, 0, margin.bottom)); + } + else + { + containerComposition->SetAlignmentToParent(Margin(-1, margin.top, -1, margin.bottom)); + } + } + } + + bool GuiScrollContainer::GetExtendToFullHeight() + { + return extendToFullHeight; + } + + void GuiScrollContainer::SetExtendToFullHeight(bool value) + { + if (extendToFullHeight != value) + { + extendToFullHeight = value; + auto margin = containerComposition->GetAlignmentToParent(); + if (value) + { + containerComposition->SetAlignmentToParent(Margin(margin.left, 0, margin.right, 0)); + } + else + { + containerComposition->SetAlignmentToParent(Margin(margin.left, -1, margin.right, -1)); + } + } } } } @@ -10837,6 +10104,15 @@ GuiListControl::ItemCallback GuiListControl ***********************************************************************/ + void GuiListControl::BeforeControlTemplateUninstalled_() + { + } + + void GuiListControl::AfterControlTemplateInstalled_(bool initialize) + { + callback->ClearCache(); + } + void GuiListControl::OnItemModified(vint start, vint count, vint newCount) { } @@ -10942,8 +10218,8 @@ GuiListControl { GuiItemMouseEventArgs redirectArguments; (GuiMouseEventArgs&)redirectArguments = arguments; - redirectArguments.compositionSource = GetBoundsComposition(); - redirectArguments.eventSource = GetBoundsComposition(); + redirectArguments.compositionSource = boundsComposition; + redirectArguments.eventSource = boundsComposition; redirectArguments.itemIndex = itemIndex; itemEvent.Execute(redirectArguments); arguments = redirectArguments; @@ -10960,8 +10236,8 @@ GuiListControl { GuiItemEventArgs redirectArguments; (GuiEventArgs&)redirectArguments = arguments; - redirectArguments.compositionSource = GetBoundsComposition(); - redirectArguments.eventSource = GetBoundsComposition(); + redirectArguments.compositionSource = boundsComposition; + redirectArguments.eventSource = boundsComposition; redirectArguments.itemIndex = itemIndex; itemEvent.Execute(redirectArguments); arguments = redirectArguments; @@ -11038,12 +10314,10 @@ GuiListControl #undef DETACH_ITEM_EVENT - GuiListControl::GuiListControl(IStyleProvider* _styleProvider, IItemProvider* _itemProvider, bool acceptFocus) - :GuiScrollView(_styleProvider) + GuiListControl::GuiListControl(theme::ThemeName themeName, IItemProvider* _itemProvider, bool acceptFocus) + :GuiScrollView(themeName) , itemProvider(_itemProvider) { - styleProvider = dynamic_cast(styleController->GetStyleProvider()); - FontChanged.AttachMethod(this, &GuiListControl::OnFontChanged); VisuallyEnabledChanged.AttachMethod(this, &GuiListControl::OnVisuallyEnabledChanged); @@ -11088,11 +10362,6 @@ GuiListControl itemArranger = nullptr; } - GuiListControl::IStyleProvider* GuiListControl::GetListControlStyleProvider() - { - return styleProvider; - } - GuiListControl::IItemProvider* GuiListControl::GetItemProvider() { return itemProvider.Obj(); @@ -11146,8 +10415,8 @@ GuiListControl { if (itemArranger) { - Size controlSize = GetBoundsComposition()->GetBounds().GetSize(); - Size viewSize = GetContainerComposition()->GetBounds().GetSize(); + Size controlSize = boundsComposition->GetBounds().GetSize(); + Size viewSize = containerComposition->GetBounds().GetSize(); vint x = controlSize.x - viewSize.x; vint y = controlSize.y - viewSize.y; @@ -11287,8 +10556,8 @@ GuiSelectableListControl } } - GuiSelectableListControl::GuiSelectableListControl(IStyleProvider* _styleProvider, IItemProvider* _itemProvider) - :GuiListControl(_styleProvider, _itemProvider, true) + GuiSelectableListControl::GuiSelectableListControl(theme::ThemeName themeName, IItemProvider* _itemProvider) + :GuiListControl(themeName, _itemProvider, true) ,multiSelect(false) ,selectedItemIndexStart(-1) ,selectedItemIndexEnd(-1) @@ -11568,1147 +10837,6 @@ ItemProviderBase } } -/*********************************************************************** -.\CONTROLS\TEMPLATES\GUICONTROLTEMPLATES.CPP -***********************************************************************/ - -namespace vl -{ - namespace presentation - { - namespace controls - { - using namespace reflection::description; - -/*********************************************************************** -GuiComponent -***********************************************************************/ - - GuiComponent::GuiComponent() - { - } - - GuiComponent::~GuiComponent() - { - } - - void GuiComponent::Attach(GuiInstanceRootObject* rootObject) - { - } - - void GuiComponent::Detach(GuiInstanceRootObject* rootObject) - { - } - -/*********************************************************************** -GuiInstanceRootObject -***********************************************************************/ - - GuiInstanceRootObject::GuiInstanceRootObject() - { - } - - GuiInstanceRootObject::~GuiInstanceRootObject() - { - } - - void GuiInstanceRootObject::FinalizeInstance() - { - if (!finalized) - { - finalized = true; - - FOREACH(Ptr, subscription, subscriptions) - { - subscription->Close(); - } - FOREACH(GuiComponent*, component, components) - { - component->Detach(this); - } - - subscriptions.Clear(); - for (vint i = 0; i resolver) - { - resourceResolver = resolver; - } - - Ptr GuiInstanceRootObject::ResolveResource(const WString& protocol, const WString& path, bool ensureExist) - { - Ptr object; - if (resourceResolver) - { - object = resourceResolver->ResolveResource(protocol, path); - } - if (ensureExist && !object) - { - throw ArgumentException(L"Resource \"" + protocol + L"://" + path + L"\" does not exist."); - } - return object; - } - - Ptr GuiInstanceRootObject::AddSubscription(Ptr subscription) - { - CHECK_ERROR(finalized == false, L"GuiInstanceRootObject::AddSubscription(Ptr)#Cannot add subscription after finalizing."); - if (subscriptions.Contains(subscription.Obj())) - { - return nullptr; - } - else - { - subscriptions.Add(subscription); - subscription->Open(); - subscription->Update(); - return subscription; - } - } - - void GuiInstanceRootObject::UpdateSubscriptions() - { - FOREACH(Ptr, subscription, subscriptions) - { - subscription->Update(); - } - } - - bool GuiInstanceRootObject::AddComponent(GuiComponent* component) - { - CHECK_ERROR(finalized == false, L"GuiInstanceRootObject::AddComponent(GuiComponent*>)#Cannot add component after finalizing."); - if(components.Contains(component)) - { - return false; - } - else - { - components.Add(component); - component->Attach(this); - return true; - } - } - - bool GuiInstanceRootObject::AddControlHostComponent(GuiControlHost* controlHost) - { - return AddComponent(new GuiObjectComponent(controlHost)); - } - } - namespace templates - { - using namespace collections; - using namespace controls; - using namespace compositions; - -/*********************************************************************** -GuiTemplate -***********************************************************************/ - - GuiTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) - - GuiTemplate::GuiTemplate() - :VisuallyEnabled_(true) - { - GuiTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) - } - - GuiTemplate::~GuiTemplate() - { - FinalizeInstanceRecursively(this); - } - -/*********************************************************************** -GuiControlTemplate -***********************************************************************/ - - GuiControlTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) - - GuiControlTemplate::GuiControlTemplate() - :ContainerComposition_(this) - , FocusableComposition_(0) - { - GuiControlTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) - } - - GuiControlTemplate::~GuiControlTemplate() - { - FinalizeAggregation(); - } - -/*********************************************************************** -GuiLabelTemplate -***********************************************************************/ - - GuiLabelTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) - - GuiLabelTemplate::GuiLabelTemplate() - { - GuiLabelTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) - } - - GuiLabelTemplate::~GuiLabelTemplate() - { - FinalizeAggregation(); - } - -/*********************************************************************** -GuiSinglelineTextBoxTemplate -***********************************************************************/ - - GuiSinglelineTextBoxTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) - - GuiSinglelineTextBoxTemplate::GuiSinglelineTextBoxTemplate() - { - GuiSinglelineTextBoxTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) - } - - GuiSinglelineTextBoxTemplate::~GuiSinglelineTextBoxTemplate() - { - FinalizeAggregation(); - } - -/*********************************************************************** -GuiDocumentLabelTemplate -***********************************************************************/ - - GuiDocumentLabelTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) - - GuiDocumentLabelTemplate::GuiDocumentLabelTemplate() - { - GuiDocumentLabelTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) - } - - GuiDocumentLabelTemplate::~GuiDocumentLabelTemplate() - { - FinalizeAggregation(); - } - -/*********************************************************************** -GuiMenuTemplate -***********************************************************************/ - - GuiMenuTemplate::GuiMenuTemplate() - { - } - - GuiMenuTemplate::~GuiMenuTemplate() - { - FinalizeAggregation(); - } - -/*********************************************************************** -GuiWindowTemplate -***********************************************************************/ - - GuiWindowTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) - - GuiWindowTemplate::GuiWindowTemplate() - :MaximizedBoxOption_(BoolOption::Customizable) - , MinimizedBoxOption_(BoolOption::Customizable) - , BorderOption_(BoolOption::Customizable) - , SizeBoxOption_(BoolOption::Customizable) - , IconVisibleOption_(BoolOption::Customizable) - , TitleBarOption_(BoolOption::Customizable) - , MaximizedBox_(true) - , MinimizedBox_(true) - , Border_(true) - , SizeBox_(true) - , IconVisible_(true) - , TitleBar_(true) - , CustomizedBorder_(false) - , Maximized_(false) - { - GuiWindowTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) - } - - GuiWindowTemplate::~GuiWindowTemplate() - { - FinalizeAggregation(); - } - -/*********************************************************************** -GuiButtonTemplate -***********************************************************************/ - - GuiButtonTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) - - GuiButtonTemplate::GuiButtonTemplate() - :State_(ButtonState::Normal) - { - GuiButtonTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) - } - - GuiButtonTemplate::~GuiButtonTemplate() - { - FinalizeAggregation(); - } - -/*********************************************************************** -GuiSelectableButtonTemplate -***********************************************************************/ - - GuiSelectableButtonTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) - - GuiSelectableButtonTemplate::GuiSelectableButtonTemplate() - :Selected_(false) - { - GuiSelectableButtonTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) - } - - GuiSelectableButtonTemplate::~GuiSelectableButtonTemplate() - { - FinalizeAggregation(); - } - -/*********************************************************************** -GuiToolstripButtonTemplate -***********************************************************************/ - - GuiToolstripButtonTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) - - GuiToolstripButtonTemplate::GuiToolstripButtonTemplate() - :SubMenuExisting_(false) - , SubMenuOpening_(false) - , SubMenuHost_(0) - { - GuiToolstripButtonTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) - } - - GuiToolstripButtonTemplate::~GuiToolstripButtonTemplate() - { - FinalizeAggregation(); - } - -/*********************************************************************** -GuiListViewColumnHeaderTemplate -***********************************************************************/ - - GuiListViewColumnHeaderTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) - - GuiListViewColumnHeaderTemplate::GuiListViewColumnHeaderTemplate() - :SortingState_(ColumnSortingState::NotSorted) - { - GuiListViewColumnHeaderTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) - } - - GuiListViewColumnHeaderTemplate::~GuiListViewColumnHeaderTemplate() - { - FinalizeAggregation(); - } - -/*********************************************************************** -GuiComboBoxTemplate -***********************************************************************/ - - GuiComboBoxTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) - - GuiComboBoxTemplate::GuiComboBoxTemplate() - :Commands_(0) - , TextVisible_(true) - { - GuiComboBoxTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) - } - - GuiComboBoxTemplate::~GuiComboBoxTemplate() - { - FinalizeAggregation(); - } - -/*********************************************************************** -GuiScrollTemplate -***********************************************************************/ - - GuiScrollTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) - - GuiScrollTemplate::GuiScrollTemplate() - :Commands_(0) - , TotalSize_(100) - , PageSize_(10) - , Position_(0) - { - GuiScrollTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) - } - - GuiScrollTemplate::~GuiScrollTemplate() - { - FinalizeAggregation(); - } - -/*********************************************************************** -GuiScrollViewTemplate -***********************************************************************/ - - GuiScrollViewTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) - - GuiScrollViewTemplate::GuiScrollViewTemplate() - :DefaultScrollSize_(0) - { - GuiScrollViewTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) - } - - GuiScrollViewTemplate::~GuiScrollViewTemplate() - { - FinalizeAggregation(); - } - -/*********************************************************************** -GuiMultilineTextBoxTemplate -***********************************************************************/ - - GuiMultilineTextBoxTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) - - GuiMultilineTextBoxTemplate::GuiMultilineTextBoxTemplate() - { - GuiMultilineTextBoxTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) - } - - GuiMultilineTextBoxTemplate::~GuiMultilineTextBoxTemplate() - { - FinalizeAggregation(); - } - -/*********************************************************************** -GuiTextListTemplate -***********************************************************************/ - - GuiTextListTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) - - GuiTextListTemplate::GuiTextListTemplate() - { - GuiTextListTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) - } - - GuiTextListTemplate::~GuiTextListTemplate() - { - FinalizeAggregation(); - } - -/*********************************************************************** -GuiDocumentViewerTemplate -***********************************************************************/ - - GuiDocumentViewerTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) - - GuiDocumentViewerTemplate::GuiDocumentViewerTemplate() - { - GuiDocumentViewerTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) - } - - GuiDocumentViewerTemplate::~GuiDocumentViewerTemplate() - { - FinalizeAggregation(); - } - -/*********************************************************************** -GuiListViewTemplate -***********************************************************************/ - - GuiListViewTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) - - GuiListViewTemplate::GuiListViewTemplate() - { - GuiListViewTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) - } - - GuiListViewTemplate::~GuiListViewTemplate() - { - FinalizeAggregation(); - } - -/*********************************************************************** -GuiTreeViewTemplate -***********************************************************************/ - - GuiTreeViewTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) - - GuiTreeViewTemplate::GuiTreeViewTemplate() - { - GuiTreeViewTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) - } - - GuiTreeViewTemplate::~GuiTreeViewTemplate() - { - FinalizeAggregation(); - } - -/*********************************************************************** -GuiTabTemplate -***********************************************************************/ - - GuiTabTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) - - GuiTabTemplate::GuiTabTemplate() - :SelectedTabPage_(nullptr) - { - GuiTabTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) - } - - GuiTabTemplate::~GuiTabTemplate() - { - FinalizeAggregation(); - } - -/*********************************************************************** -GuiDatePickerTemplate -***********************************************************************/ - - GuiDatePickerTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) - - GuiDatePickerTemplate::GuiDatePickerTemplate() - { - GuiDatePickerTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) - } - - GuiDatePickerTemplate::~GuiDatePickerTemplate() - { - FinalizeAggregation(); - } - -/*********************************************************************** -GuiDateComboBoxTemplate -***********************************************************************/ - - GuiDateComboBoxTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) - - GuiDateComboBoxTemplate::GuiDateComboBoxTemplate() - { - GuiDateComboBoxTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) - } - - GuiDateComboBoxTemplate::~GuiDateComboBoxTemplate() - { - FinalizeAggregation(); - } - -/*********************************************************************** -GuiListItemTemplate -***********************************************************************/ - - void GuiListItemTemplate::OnInitialize() - { - CHECK_ERROR(initialized == false, L"GuiListItemTemplate::OnInitialize()#Cannot initialize a GuiListItemTemplate twice."); - } - - GuiListItemTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) - - GuiListItemTemplate::GuiListItemTemplate() - :Selected_(false) - , Index_(0) - { - GuiListItemTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) - } - - GuiListItemTemplate::~GuiListItemTemplate() - { - FinalizeAggregation(); - } - - void GuiListItemTemplate::BeginEditListItem() - { - listControl->GetItemProvider()->PushEditing(); - } - - void GuiListItemTemplate::EndEditListItem() - { - CHECK_ERROR(listControl->GetItemProvider()->PopEditing(), L"GuiListItemTemplate::EndEditListItem()#BeginEditListItem and EndEditListItem calls are not paired."); - } - - void GuiListItemTemplate::Initialize(controls::GuiListControl* _listControl) - { - CHECK_ERROR(listControl == nullptr, L"GuiListItemTemplate::Initialize(GuiListControl*)#This function can only be called once."); - listControl = _listControl; - OnInitialize(); - } - -/*********************************************************************** -GuiTextListItemTemplate -***********************************************************************/ - - GuiTextListItemTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) - - GuiTextListItemTemplate::GuiTextListItemTemplate() - { - GuiTextListItemTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) - } - - GuiTextListItemTemplate::~GuiTextListItemTemplate() - { - FinalizeAggregation(); - } - -/*********************************************************************** -GuiTreeItemTemplate -***********************************************************************/ - - GuiTreeItemTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) - - GuiTreeItemTemplate::GuiTreeItemTemplate() - :Expanding_(false) - , Expandable_(false) - , Level_(0) - { - GuiTreeItemTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) - } - - GuiTreeItemTemplate::~GuiTreeItemTemplate() - { - FinalizeAggregation(); - } - -/*********************************************************************** -GuiGridCellTemplate -***********************************************************************/ - - GuiGridCellTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) - - GuiGridCellTemplate::GuiGridCellTemplate() - { - GuiGridCellTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) - } - - GuiGridCellTemplate::~GuiGridCellTemplate() - { - FinalizeAggregation(); - } - -/*********************************************************************** -GuiGridVisualizerTemplate -***********************************************************************/ - - GuiGridVisualizerTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) - - GuiGridVisualizerTemplate::GuiGridVisualizerTemplate() - { - GuiGridVisualizerTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) - } - - GuiGridVisualizerTemplate::~GuiGridVisualizerTemplate() - { - FinalizeAggregation(); - } - -/*********************************************************************** -GuiGridEditorTemplate -***********************************************************************/ - - GuiGridEditorTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) - - GuiGridEditorTemplate::GuiGridEditorTemplate() - :CellValueSaved_(true) - , FocusControl_(nullptr) - { - GuiGridEditorTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) - } - - GuiGridEditorTemplate::~GuiGridEditorTemplate() - { - FinalizeAggregation(); - } - } - } -} - -/*********************************************************************** -.\CONTROLS\TOOLSTRIPPACKAGE\GUIMENUCONTROLS.CPP -***********************************************************************/ - -namespace vl -{ - namespace presentation - { - namespace controls - { - using namespace compositions; - -/*********************************************************************** -IGuiMenuService -***********************************************************************/ - - const wchar_t* const IGuiMenuService::Identifier = L"vl::presentation::controls::IGuiMenuService"; - - IGuiMenuService::IGuiMenuService() - :openingMenu(0) - { - } - - void IGuiMenuService::MenuItemExecuted() - { - if(openingMenu) - { - openingMenu->Hide(); - } - if(GetParentMenuService()) - { - GetParentMenuService()->MenuItemExecuted(); - } - } - - GuiMenu* IGuiMenuService::GetOpeningMenu() - { - return openingMenu; - } - - void IGuiMenuService::MenuOpened(GuiMenu* menu) - { - if(openingMenu!=menu && openingMenu) - { - openingMenu->Hide(); - } - openingMenu=menu; - } - - void IGuiMenuService::MenuClosed(GuiMenu* menu) - { - if(openingMenu==menu) - { - openingMenu=0; - } - } - -/*********************************************************************** -GuiMenu -***********************************************************************/ - - IGuiMenuService* GuiMenu::GetParentMenuService() - { - return parentMenuService; - } - - IGuiMenuService::Direction GuiMenu::GetPreferredDirection() - { - return IGuiMenuService::Vertical; - } - - bool GuiMenu::IsActiveState() - { - return true; - } - - bool GuiMenu::IsSubMenuActivatedByMouseDown() - { - return false; - } - - void GuiMenu::MenuItemExecuted() - { - IGuiMenuService::MenuItemExecuted(); - Hide(); - } - - void GuiMenu::OnWindowOpened(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) - { - if(parentMenuService) - { - parentMenuService->MenuOpened(this); - } - } - - void GuiMenu::OnDeactivatedAltHost() - { - Hide(); - } - - void GuiMenu::MouseClickedOnOtherWindow(GuiWindow* window) - { - GuiMenu* targetMenu=dynamic_cast(window); - if(!targetMenu) - { - Hide(); - } - } - - void GuiMenu::OnWindowClosed(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) - { - if(parentMenuService) - { - parentMenuService->MenuClosed(this); - GuiMenu* openingSubMenu=GetOpeningMenu(); - if(openingSubMenu) - { - openingSubMenu->Hide(); - } - } - } - - GuiMenu::GuiMenu(IStyleController* _styleController, GuiControl* _owner) - :GuiPopup(_styleController) - ,owner(_owner) - ,parentMenuService(0) - { - GetNativeWindow()->SetAlwaysPassFocusToParent(true); - UpdateMenuService(); - WindowOpened.AttachMethod(this, &GuiMenu::OnWindowOpened); - WindowClosed.AttachMethod(this, &GuiMenu::OnWindowClosed); - } - - GuiMenu::~GuiMenu() - { - } - - void GuiMenu::UpdateMenuService() - { - if(owner) - { - parentMenuService=owner->QueryTypedService(); - } - } - - IDescriptable* GuiMenu::QueryService(const WString& identifier) - { - if(identifier==IGuiMenuService::Identifier) - { - return (IGuiMenuService*)this; - } - else - { - return GuiPopup::QueryService(identifier); - } - } - -/*********************************************************************** -GuiMenuBar -***********************************************************************/ - - IGuiMenuService* GuiMenuBar::GetParentMenuService() - { - return 0; - } - - IGuiMenuService::Direction GuiMenuBar::GetPreferredDirection() - { - return IGuiMenuService::Horizontal; - } - - bool GuiMenuBar::IsActiveState() - { - return GetOpeningMenu()!=0; - } - - bool GuiMenuBar::IsSubMenuActivatedByMouseDown() - { - return true; - } - - GuiMenuBar::GuiMenuBar(GuiControl::IStyleController* _styleController) - :GuiControl(_styleController) - { - } - - GuiMenuBar::~GuiMenuBar() - { - } - - IDescriptable* GuiMenuBar::QueryService(const WString& identifier) - { - if(identifier==IGuiMenuService::Identifier) - { - return (IGuiMenuService*)this; - } - else - { - return GuiControl::QueryService(identifier); - } - } - -/*********************************************************************** -GuiMenuButton -***********************************************************************/ - - GuiButton* GuiMenuButton::GetSubMenuHost() - { - GuiButton* button=styleController->GetSubMenuHost(); - return button?button:this; - } - - void GuiMenuButton::OpenSubMenuInternal() - { - if(!GetSubMenuOpening()) - { - if(ownerMenuService) - { - GuiMenu* openingSiblingMenu=ownerMenuService->GetOpeningMenu(); - if(openingSiblingMenu) - { - openingSiblingMenu->Hide(); - } - } - SetSubMenuOpening(true); - } - } - - void GuiMenuButton::OnParentLineChanged() - { - GuiButton::OnParentLineChanged(); - ownerMenuService=QueryTypedService(); - if(ownerMenuService) - { - SetClickOnMouseUp(!ownerMenuService->IsSubMenuActivatedByMouseDown()); - } - if(subMenu) - { - subMenu->UpdateMenuService(); - } - } - - bool GuiMenuButton::IsAltAvailable() - { - return true; - } - - compositions::IGuiAltActionHost* GuiMenuButton::GetActivatingAltHost() - { - if (subMenu) - { - return subMenu->QueryTypedService(); - } - return 0; - } - - void GuiMenuButton::OnSubMenuWindowOpened(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) - { - SubMenuOpeningChanged.Execute(GetNotifyEventArguments()); - styleController->SetSubMenuOpening(true); - } - - void GuiMenuButton::OnSubMenuWindowClosed(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) - { - SubMenuOpeningChanged.Execute(GetNotifyEventArguments()); - styleController->SetSubMenuOpening(false); - } - - void GuiMenuButton::OnMouseEnter(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) - { - if(GetVisuallyEnabled()) - { - if(cascadeAction && ownerMenuService && ownerMenuService->IsActiveState()) - { - OpenSubMenuInternal(); - } - } - } - - void GuiMenuButton::OnClicked(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) - { - if(GetVisuallyEnabled()) - { - if(GetSubMenu()) - { - OpenSubMenuInternal(); - } - else if(ownerMenuService) - { - ownerMenuService->MenuItemExecuted(); - } - } - } - - IGuiMenuService::Direction GuiMenuButton::GetSubMenuDirection() - { - return ownerMenuService?ownerMenuService->GetPreferredDirection():IGuiMenuService::Horizontal; - } - - GuiMenuButton::GuiMenuButton(IStyleController* _styleController) - :GuiSelectableButton(_styleController) - ,styleController(_styleController) - ,subMenu(0) - ,ownedSubMenu(false) - ,ownerMenuService(0) - ,cascadeAction(true) - { - SetAutoSelection(false); - SubMenuOpeningChanged.SetAssociatedComposition(boundsComposition); - ImageChanged.SetAssociatedComposition(boundsComposition); - ShortcutTextChanged.SetAssociatedComposition(boundsComposition); - GetSubMenuHost()->Clicked.AttachMethod(this, &GuiMenuButton::OnClicked); - GetSubMenuHost()->GetEventReceiver()->mouseEnter.AttachMethod(this, &GuiMenuButton::OnMouseEnter); - } - - GuiMenuButton::~GuiMenuButton() - { - if(subMenu && ownedSubMenu) - { - delete subMenu; - } - } - - Ptr GuiMenuButton::GetImage() - { - return image; - } - - void GuiMenuButton::SetImage(Ptr value) - { - if(image!=value) - { - image=value; - styleController->SetImage(image); - ImageChanged.Execute(GetNotifyEventArguments()); - } - } - - const WString& GuiMenuButton::GetShortcutText() - { - return shortcutText; - } - - void GuiMenuButton::SetShortcutText(const WString& value) - { - if(shortcutText!=value) - { - shortcutText=value; - styleController->SetShortcutText(shortcutText); - ShortcutTextChanged.Execute(GetNotifyEventArguments()); - } - } - - bool GuiMenuButton::IsSubMenuExists() - { - return subMenu!=0; - } - - GuiMenu* GuiMenuButton::GetSubMenu() - { - return subMenu; - } - - GuiMenu* GuiMenuButton::CreateSubMenu(GuiMenu::IStyleController* subMenuStyleController) - { - if(!subMenu) - { - GuiMenu* newSubMenu=new GuiMenu(subMenuStyleController?subMenuStyleController:styleController->CreateSubMenuStyleController(), this); - SetSubMenu(newSubMenu, true); - } - return subMenu; - } - - void GuiMenuButton::SetSubMenu(GuiMenu* value, bool owned) - { - if(subMenu) - { - if(ownedSubMenu) - { - delete subMenu; - } - } - subMenu=value; - ownedSubMenu=owned; - if(subMenu) - { - subMenu->WindowOpened.AttachMethod(this, &GuiMenuButton::OnSubMenuWindowOpened); - subMenu->WindowClosed.AttachMethod(this, &GuiMenuButton::OnSubMenuWindowClosed); - } - styleController->SetSubMenuExisting(subMenu!=0); - } - - void GuiMenuButton::DestroySubMenu() - { - if(subMenu) - { - if(ownedSubMenu) - { - delete subMenu; - } - subMenu=0; - ownedSubMenu=false; - styleController->SetSubMenuExisting(false); - } - } - - bool GuiMenuButton::GetOwnedSubMenu() - { - return subMenu && ownedSubMenu; - } - - bool GuiMenuButton::GetSubMenuOpening() - { - if(subMenu) - { - return subMenu->GetOpening(); - } - else - { - return false; - } - } - - void GuiMenuButton::SetSubMenuOpening(bool value) - { - if(subMenu) - { - if(value) - { - subMenu->SetClientSize(preferredMenuClientSize); - IGuiMenuService::Direction direction=GetSubMenuDirection(); - subMenu->ShowPopup(GetSubMenuHost(), direction==IGuiMenuService::Horizontal); - } - else - { - subMenu->Close(); - } - } - } - - Size GuiMenuButton::GetPreferredMenuClientSize() - { - return preferredMenuClientSize; - } - - void GuiMenuButton::SetPreferredMenuClientSize(Size value) - { - preferredMenuClientSize=value; - } - - bool GuiMenuButton::GetCascadeAction() - { - return cascadeAction; - } - - void GuiMenuButton::SetCascadeAction(bool value) - { - cascadeAction=value; - } - } - } -} - /*********************************************************************** .\CONTROLS\GUIDATETIMECONTROLS.CPP ***********************************************************************/ @@ -12724,391 +10852,72 @@ namespace vl using namespace elements; /*********************************************************************** -GuiDatePicker::StyleController +GuiDatePicker::CommandExecutor ***********************************************************************/ - vint GetDayCountForMonth(vint year, vint month) - { - bool isLeapYear=(year%100==0)?(year%400==0):(year%4==0); - switch(month) - { - case 1:case 3:case 5:case 7:case 8:case 10:case 12: - return 31; - case 4:case 6:case 9:case 11: - return 30; - default: - return isLeapYear?29:28; - } - } - - void StepPreviousMonth(vint& year, vint& month) - { - if(month==1) - { - year--; - month=12; - } - else - { - month--; - } - } - - void StepNextMonth(vint& year, vint& month) - { - if(month==12) - { - year++; - month=1; - } - else - { - month++; - } - } - - void GuiDatePicker::StyleController::SetDay(const DateTime& day, vint& index, bool currentMonth) - { - dateDays[index]=day; - GuiSolidLabelElement* label=labelDays[index]; - label->SetText(itow(day.day)); - label->SetColor(currentMonth?styleProvider->GetPrimaryTextColor():styleProvider->GetSecondaryTextColor()); - index++; - } - - void GuiDatePicker::StyleController::comboYearMonth_SelectedIndexChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) - { - if(!preventComboEvent) - { - if(comboYear->GetSelectedIndex()!=-1 && comboMonth->GetSelectedIndex()!=-1) - { - vint year=comboYear->GetSelectedIndex()+YearFirst; - vint month=comboMonth->GetSelectedIndex()+1; - SetDate(DateTime::FromDateTime(year, month, 1)); - datePicker->NotifyDateChanged(); - datePicker->DateNavigated.Execute(datePicker->GetNotifyEventArguments()); - } - } - } - - void GuiDatePicker::StyleController::buttonDay_SelectedChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) - { - if(!preventButtonEvent) - { - GuiSelectableButton* button=dynamic_cast(sender->GetRelatedControl()); - if(button->GetSelected()) - { - vint index=buttonDays.IndexOf(button); - if(index!=-1) - { - DateTime day=dateDays[index]; - if(day.year!=currentDate.year || day.month!=currentDate.month) - { - SetDate(day); - } - else - { - currentDate=day; - } - datePicker->NotifyDateChanged(); - datePicker->DateSelected.Execute(datePicker->GetNotifyEventArguments()); - } - } - } - } - - void GuiDatePicker::StyleController::DisplayMonth(vint year, vint month) - { - if(YearFirst<=year && year<=YearLast && 1<=month && month<=12) - { - preventComboEvent=true; - comboYear->SetSelectedIndex(year-YearFirst); - comboMonth->SetSelectedIndex(month-1); - preventComboEvent=false; - } - - vint yearPrev=year, yearNext=year, monthPrev=month, monthNext=month; - StepPreviousMonth(yearPrev, monthPrev); - StepNextMonth(yearNext, monthNext); - - vint countPrev=GetDayCountForMonth(yearPrev, monthPrev); - vint count=GetDayCountForMonth(year, month); - vint countNext=GetDayCountForMonth(yearNext, monthNext); - - DateTime firstDay=DateTime::FromDateTime(year, month, 1); - vint showPrev=firstDay.dayOfWeek; - if(showPrev==0) showPrev=DaysOfWeek; - vint show=count; - vint showNext=DaysOfWeek*DayRows-showPrev-show; - - vint index=0; - for(vint i=0;iSetSelected(true); - preventButtonEvent=false; - break; - } - } - } - - GuiDatePicker::StyleController::StyleController(IStyleProvider* _styleProvider) - :styleProvider(_styleProvider) - ,datePicker(0) - ,preventComboEvent(false) - ,preventButtonEvent(false) - { - GuiTableComposition* monthTable=0; - GuiTableComposition* dayTable=0; - { - listYears=styleProvider->CreateTextList(); - listYears->SetHorizontalAlwaysVisible(false); - for(vint i=YearFirst;i<=YearLast;i++) - { - listYears->GetItems().Add(new list::TextItem(itow(i))); - } - comboYear=new GuiComboBoxListControl(styleProvider->CreateComboBoxStyle(), listYears); - comboYear->GetBoundsComposition()->SetAlignmentToParent(Margin(0, 0, 2, 0)); - comboYear->SelectedIndexChanged.AttachMethod(this, &StyleController::comboYearMonth_SelectedIndexChanged); - } - { - listMonths=styleProvider->CreateTextList(); - listMonths->SetHorizontalAlwaysVisible(false); - comboMonth=new GuiComboBoxListControl(styleProvider->CreateComboBoxStyle(), listMonths); - comboMonth->GetBoundsComposition()->SetAlignmentToParent(Margin(2, 0, 0, 0)); - comboMonth->SelectedIndexChanged.AttachMethod(this, &StyleController::comboYearMonth_SelectedIndexChanged); - } - { - monthTable=new GuiTableComposition; - monthTable->SetAlignmentToParent(Margin(0, 0, 0, 0)); - monthTable->SetMinSizeLimitation(GuiGraphicsComposition::LimitToElementAndChildren); - monthTable->SetRowsAndColumns(1, 2); - monthTable->SetRowOption(0, GuiCellOption::MinSizeOption()); - monthTable->SetColumnOption(0, GuiCellOption::PercentageOption(0.5)); - monthTable->SetColumnOption(1, GuiCellOption::PercentageOption(0.5)); - { - GuiCellComposition* cell=new GuiCellComposition; - monthTable->AddChild(cell); - cell->SetSite(0, 0, 1, 1); - cell->AddChild(comboYear->GetBoundsComposition()); - } - { - GuiCellComposition* cell=new GuiCellComposition; - monthTable->AddChild(cell); - cell->SetSite(0, 1, 1, 1); - cell->AddChild(comboMonth->GetBoundsComposition()); - } - } - { - dayTable=new GuiTableComposition; - dayTable->SetMinSizeLimitation(GuiGraphicsComposition::LimitToElementAndChildren); - dayTable->SetCellPadding(4); - dayTable->SetRowsAndColumns(DayRows+DayRowStart, DaysOfWeek); - - for(vint i=0;iSetRowOption(i, GuiCellOption::MinSizeOption()); - } - for(vint i=0;iSetRowOption(i+DayRowStart, GuiCellOption::PercentageOption(1.0)); - } - for(vint i=0;iSetColumnOption(i, GuiCellOption::PercentageOption(1.0)); - } - - { - GuiCellComposition* cell=new GuiCellComposition; - dayTable->AddChild(cell); - cell->SetSite(0, 0, 1, DaysOfWeek); - cell->AddChild(monthTable); - } - - labelDaysOfWeek.Resize(7); - for(vint i=0;iAddChild(cell); - cell->SetSite(1, i, 1, 1); - - GuiSolidLabelElement* element=GuiSolidLabelElement::Create(); - element->SetAlignments(Alignment::Center, Alignment::Center); - element->SetColor(styleProvider->GetPrimaryTextColor()); - labelDaysOfWeek[i]=element; - cell->SetOwnedElement(element); - } - - buttonDays.Resize(DaysOfWeek*DayRows); - labelDays.Resize(DaysOfWeek*DayRows); - dateDays.Resize(DaysOfWeek*DayRows); - dayMutexController=new GuiSelectableButton::MutexGroupController; - for(vint i=0;iAddChild(cell); - cell->SetSite(j+DayRowStart, i, 1, 1); - - GuiSelectableButton* button=new GuiSelectableButton(styleProvider->CreateDateButtonStyle()); - button->GetBoundsComposition()->SetAlignmentToParent(Margin(0, 0, 0, 0)); - button->SetGroupController(dayMutexController.Obj()); - button->SelectedChanged.AttachMethod(this, &StyleController::buttonDay_SelectedChanged); - cell->AddChild(button->GetBoundsComposition()); - buttonDays[j*DaysOfWeek+i]=button; - - GuiSolidLabelElement* element=GuiSolidLabelElement::Create(); - element->SetAlignments(Alignment::Center, Alignment::Center); - element->SetText(L"0"); - labelDays[j*DaysOfWeek+i]=element; - - GuiBoundsComposition* elementBounds=new GuiBoundsComposition; - elementBounds->SetOwnedElement(element); - elementBounds->SetAlignmentToParent(Margin(0, 0, 0, 0)); - elementBounds->SetMinSizeLimitation(GuiGraphicsComposition::LimitToElement); - button->GetContainerComposition()->AddChild(elementBounds); - } - } - } - { - GuiSolidBackgroundElement* element=GuiSolidBackgroundElement::Create(); - element->SetColor(styleProvider->GetBackgroundColor()); - dayTable->SetOwnedElement(element); - } - - boundsComposition=dayTable; - } - - GuiDatePicker::StyleController::~StyleController() - { - delete styleProvider; - } - - compositions::GuiBoundsComposition* GuiDatePicker::StyleController::GetBoundsComposition() - { - return boundsComposition; - } - - compositions::GuiGraphicsComposition* GuiDatePicker::StyleController::GetContainerComposition() - { - return boundsComposition; - } - - void GuiDatePicker::StyleController::SetFocusableComposition(compositions::GuiGraphicsComposition* value) + GuiDatePicker::CommandExecutor::CommandExecutor(GuiDatePicker* _datePicker) + :datePicker(_datePicker) { } - void GuiDatePicker::StyleController::SetText(const WString& value) + GuiDatePicker::CommandExecutor::~CommandExecutor() { } - void GuiDatePicker::StyleController::SetFont(const FontProperties& value) + void GuiDatePicker::CommandExecutor::NotifyDateChanged() { - comboYear->SetFont(value); - listYears->SetFont(value); - comboMonth->SetFont(value); - listMonths->SetFont(value); - FOREACH(GuiSolidLabelElement*, label, From(labelDaysOfWeek).Concat(labelDays)) - { - label->SetFont(value); - } + datePicker->UpdateText(); + datePicker->DateChanged.Execute(datePicker->GetNotifyEventArguments()); } - void GuiDatePicker::StyleController::SetVisuallyEnabled(bool value) + void GuiDatePicker::CommandExecutor::NotifyDateNavigated() { - } - - void GuiDatePicker::StyleController::SetDatePicker(GuiDatePicker* _datePicker) - { - datePicker=_datePicker; + datePicker->DateNavigated.Execute(datePicker->GetNotifyEventArguments()); } - void GuiDatePicker::StyleController::SetDateLocale(const Locale& _dateLocale) + void GuiDatePicker::CommandExecutor::NotifyDateSelected() { - dateLocale=_dateLocale; - for(vint i=0;iSetText(dateLocale.GetShortDayOfWeekName(i)); - } - - listMonths->GetItems().Clear(); - for(vint i=1;i<=12;i++) - { - listMonths->GetItems().Add(new list::TextItem(dateLocale.GetLongMonthName(i))); - } - - SetDate(currentDate, true); - } - - const DateTime& GuiDatePicker::StyleController::GetDate() - { - return currentDate; - } - - void GuiDatePicker::StyleController::SetDate(const DateTime& value, bool forceUpdate) - { - if(forceUpdate || currentDate.year!=value.year || currentDate.month!=value.month || currentDate.day!=value.day) - { - currentDate=value; - DisplayMonth(value.year, value.month); - SelectDay(value.day); - } + datePicker->DateSelected.Execute(datePicker->GetNotifyEventArguments()); } /*********************************************************************** GuiDatePicker ***********************************************************************/ + void GuiDatePicker::BeforeControlTemplateUninstalled_() + { + auto ct = GetControlTemplateObject(); + ct->SetCommands(nullptr); + } + + void GuiDatePicker::AfterControlTemplateInstalled_(bool initialize) + { + auto ct = GetControlTemplateObject(); + ct->SetCommands(commandExecutor.Obj()); + ct->SetDate(date); + ct->SetDateLocale(dateLocale); + UpdateText(); + } + void GuiDatePicker::UpdateText() { - GuiControl::SetText(dateLocale.FormatDate(dateFormat, styleController->GetDate())); + GuiControl::SetText(dateLocale.FormatDate(dateFormat, date)); } - void GuiDatePicker::NotifyDateChanged() + GuiDatePicker::GuiDatePicker(theme::ThemeName themeName) + :GuiControl(themeName) { - UpdateText(); - DateChanged.Execute(GetNotifyEventArguments()); - } - - GuiDatePicker::GuiDatePicker(IStyleProvider* _styleProvider) - :GuiControl(new StyleController(_styleProvider)) - { - styleController=dynamic_cast(GetStyleController()); - styleController->SetDatePicker(this); - + commandExecutor = new CommandExecutor(this); SetDateLocale(Locale::UserDefault()); SetDate(DateTime::LocalTime()); - DateChanged.SetAssociatedComposition(GetBoundsComposition()); - DateNavigated.SetAssociatedComposition(GetBoundsComposition()); - DateSelected.SetAssociatedComposition(GetBoundsComposition()); - DateFormatChanged.SetAssociatedComposition(GetBoundsComposition()); - DateLocaleChanged.SetAssociatedComposition(GetBoundsComposition()); + DateChanged.SetAssociatedComposition(boundsComposition); + DateNavigated.SetAssociatedComposition(boundsComposition); + DateSelected.SetAssociatedComposition(boundsComposition); + DateFormatChanged.SetAssociatedComposition(boundsComposition); + DateLocaleChanged.SetAssociatedComposition(boundsComposition); - NotifyDateChanged(); + commandExecutor->NotifyDateChanged(); } GuiDatePicker::~GuiDatePicker() @@ -13117,12 +10926,16 @@ GuiDatePicker const DateTime& GuiDatePicker::GetDate() { - return styleController->GetDate(); + return date; } void GuiDatePicker::SetDate(const DateTime& value) { - styleController->SetDate(value); + if (date != value) + { + date = value; + GetControlTemplateObject()->SetDate(value); + } } const WString& GuiDatePicker::GetDateFormat() @@ -13151,7 +10964,7 @@ GuiDatePicker { dateFormat=formats[0]; } - styleController->SetDateLocale(dateLocale); + GetControlTemplateObject()->SetDateLocale(dateLocale); UpdateText(); DateFormatChanged.Execute(GetNotifyEventArguments()); @@ -13200,8 +11013,8 @@ GuiDateComboBox NotifyUpdateSelectedDate(); } - GuiDateComboBox::GuiDateComboBox(IStyleController* _styleController, GuiDatePicker* _datePicker) - :GuiComboBoxBase(_styleController) + GuiDateComboBox::GuiDateComboBox(theme::ThemeName themeName, GuiDatePicker* _datePicker) + :GuiComboBoxBase(themeName) ,datePicker(_datePicker) { SelectedDateChanged.SetAssociatedComposition(GetBoundsComposition()); @@ -13280,6 +11093,16 @@ GuiComboBoxBase::CommandExecutor GuiComboBoxBase ***********************************************************************/ + void GuiComboBoxBase::BeforeControlTemplateUninstalled_() + { + GetControlTemplateObject()->SetCommands(nullptr); + } + + void GuiComboBoxBase::AfterControlTemplateInstalled_(bool initialize) + { + GetControlTemplateObject()->SetCommands(commandExecutor.Obj()); + } + bool GuiComboBoxBase::IsAltAvailable() { return false; @@ -13292,28 +11115,25 @@ GuiComboBoxBase void GuiComboBoxBase::SelectItem() { - styleController->OnItemSelected(); ItemSelected.Execute(GetNotifyEventArguments()); } void GuiComboBoxBase::OnBoundsChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) { Size size=GetPreferredMenuClientSize(); - size.x=GetBoundsComposition()->GetBounds().Width(); + size.x=boundsComposition->GetBounds().Width(); SetPreferredMenuClientSize(size); } - GuiComboBoxBase::GuiComboBoxBase(IStyleController* _styleController) - :GuiMenuButton(_styleController) + GuiComboBoxBase::GuiComboBoxBase(theme::ThemeName themeName) + :GuiMenuButton(themeName) { - commandExecutor=new CommandExecutor(this); - styleController=dynamic_cast(GetStyleController()); - styleController->SetCommandExecutor(commandExecutor.Obj()); + commandExecutor = new CommandExecutor(this); CreateSubMenu(); SetCascadeAction(false); - GetBoundsComposition()->BoundsChanged.AttachMethod(this, &GuiComboBoxBase::OnBoundsChanged); + boundsComposition->BoundsChanged.AttachMethod(this, &GuiComboBoxBase::OnBoundsChanged); } GuiComboBoxBase::~GuiComboBoxBase() @@ -13324,6 +11144,17 @@ GuiComboBoxBase GuiComboBoxListControl ***********************************************************************/ + void GuiComboBoxListControl::BeforeControlTemplateUninstalled() + { + GuiComboBoxBase::BeforeControlTemplateUninstalled(); + } + + void GuiComboBoxListControl::AfterControlTemplateInstalled(bool initialize) + { + GuiComboBoxBase::AfterControlTemplateInstalled(initialize); + GetControlTemplateObject()->SetTextVisible(!itemStyleProperty); + } + bool GuiComboBoxListControl::IsAltAvailable() { return true; @@ -13361,7 +11192,7 @@ GuiComboBoxListControl itemStyleController->SetFont(GetFont()); itemStyleController->SetVisuallyEnabled(GetVisuallyEnabled()); itemStyleController->SetAlignmentToParent(Margin(0, 0, 0, 0)); - GetContainerComposition()->AddChild(itemStyleController); + containerComposition->AddChild(itemStyleController); } } } @@ -13433,12 +11264,10 @@ GuiComboBoxListControl SelectedIndexChanged.Execute(GetNotifyEventArguments()); } - GuiComboBoxListControl::GuiComboBoxListControl(IStyleController* _styleController, GuiSelectableListControl* _containedListControl) - :GuiComboBoxBase(_styleController) - , styleController(_styleController) + GuiComboBoxListControl::GuiComboBoxListControl(theme::ThemeName themeName, GuiSelectableListControl* _containedListControl) + :GuiComboBoxBase(themeName) , containedListControl(_containedListControl) { - styleController->SetTextVisible(true); TextChanged.AttachMethod(this, &GuiComboBoxListControl::OnTextChanged); FontChanged.AttachMethod(this, &GuiComboBoxListControl::OnFontChanged); VisuallyEnabledChanged.AttachMethod(this, &GuiComboBoxListControl::OnVisuallyEnabledChanged); @@ -13449,7 +11278,7 @@ GuiComboBoxListControl auto itemProvider = containedListControl->GetItemProvider(); - SelectedIndexChanged.SetAssociatedComposition(GetBoundsComposition()); + SelectedIndexChanged.SetAssociatedComposition(boundsComposition); containedListControl->GetBoundsComposition()->SetAlignmentToParent(Margin(0, 0, 0, 0)); GetSubMenu()->GetContainerComposition()->AddChild(containedListControl->GetBoundsComposition()); @@ -13474,7 +11303,7 @@ GuiComboBoxListControl { RemoveStyleController(); itemStyleProperty = value; - styleController->SetTextVisible(!itemStyleProperty); + GetControlTemplateObject()->SetTextVisible(!itemStyleProperty); InstallStyleController(GetSelectedIndex()); ItemTemplateChanged.Execute(GetNotifyEventArguments()); } @@ -14394,13 +12223,17 @@ GuiDocumentCommonInterface return false; } - void GuiDocumentCommonInterface::InstallDocumentViewer(GuiControl* _sender, compositions::GuiGraphicsComposition* _container) + void GuiDocumentCommonInterface::InstallDocumentViewer( + GuiControl* _sender, + compositions::GuiGraphicsComposition* _container, + compositions::GuiGraphicsComposition* eventComposition, + compositions::GuiGraphicsComposition* focusableComposition + ) { documentControl=_sender; documentElement=GuiDocumentElement::Create(); documentElement->SetCallback(this); - documentElement->SetCaretColor(caretColor); documentComposition=new GuiBoundsComposition; documentComposition->SetOwnedElement(documentElement); @@ -14414,21 +12247,22 @@ GuiDocumentCommonInterface documentComposition->GetEventReceiver()->mouseLeave.AttachMethod(this, &GuiDocumentCommonInterface::OnMouseLeave); _sender->FontChanged.AttachMethod(this, &GuiDocumentCommonInterface::OnFontChanged); - _sender->GetFocusableComposition()->GetEventReceiver()->caretNotify.AttachMethod(this, &GuiDocumentCommonInterface::OnCaretNotify); - _sender->GetFocusableComposition()->GetEventReceiver()->gotFocus.AttachMethod(this, &GuiDocumentCommonInterface::OnGotFocus); - _sender->GetFocusableComposition()->GetEventReceiver()->lostFocus.AttachMethod(this, &GuiDocumentCommonInterface::OnLostFocus); - _sender->GetFocusableComposition()->GetEventReceiver()->keyDown.AttachMethod(this, &GuiDocumentCommonInterface::OnKeyDown); - _sender->GetFocusableComposition()->GetEventReceiver()->charInput.AttachMethod(this, &GuiDocumentCommonInterface::OnCharInput); + focusableComposition->GetEventReceiver()->caretNotify.AttachMethod(this, &GuiDocumentCommonInterface::OnCaretNotify); + focusableComposition->GetEventReceiver()->gotFocus.AttachMethod(this, &GuiDocumentCommonInterface::OnGotFocus); + focusableComposition->GetEventReceiver()->lostFocus.AttachMethod(this, &GuiDocumentCommonInterface::OnLostFocus); + focusableComposition->GetEventReceiver()->keyDown.AttachMethod(this, &GuiDocumentCommonInterface::OnKeyDown); + focusableComposition->GetEventReceiver()->charInput.AttachMethod(this, &GuiDocumentCommonInterface::OnCharInput); undoRedoProcessor->Setup(documentElement, documentComposition); - ActiveHyperlinkChanged.SetAssociatedComposition(_sender->GetBoundsComposition()); - ActiveHyperlinkExecuted.SetAssociatedComposition(_sender->GetBoundsComposition()); - SelectionChanged.SetAssociatedComposition(_sender->GetBoundsComposition()); - UndoRedoChanged.SetAssociatedComposition(_sender->GetBoundsComposition()); - ModifiedChanged.SetAssociatedComposition(_sender->GetBoundsComposition()); + ActiveHyperlinkChanged.SetAssociatedComposition(eventComposition); + ActiveHyperlinkExecuted.SetAssociatedComposition(eventComposition); + SelectionChanged.SetAssociatedComposition(eventComposition); + UndoRedoChanged.SetAssociatedComposition(eventComposition); + ModifiedChanged.SetAssociatedComposition(eventComposition); undoRedoProcessor->UndoRedoChanged.Add(this, &GuiDocumentCommonInterface::InvokeUndoRedoChanged); undoRedoProcessor->ModifiedChanged.Add(this, &GuiDocumentCommonInterface::InvokeModifiedChanged); + SetDocument(new DocumentModel); } void GuiDocumentCommonInterface::SetActiveHyperlink(Ptr package) @@ -14779,14 +12613,7 @@ GuiDocumentCommonInterface //================ basic - GuiDocumentCommonInterface::GuiDocumentCommonInterface(Ptr _baselineDocument, Color _caretColor) - :baselineDocument(_baselineDocument) - ,caretColor(_caretColor) - ,documentElement(0) - ,documentComposition(0) - ,dragging(false) - ,editMode(ViewOnly) - ,documentControl(0) + GuiDocumentCommonInterface::GuiDocumentCommonInterface() { undoRedoProcessor=new GuiDocumentUndoRedoProcessor; @@ -14813,12 +12640,16 @@ GuiDocumentCommonInterface SetActiveHyperlink(0); ClearUndoRedo(); NotifyModificationSaved(); - if(value->paragraphs.Count()==0) + + if (value) { - value->paragraphs.Add(new DocumentParagraphRun); + if (value->paragraphs.Count() == 0) + { + value->paragraphs.Add(new DocumentParagraphRun); + } + MergeBaselineAndDefaultFont(value); } - MergeBaselineAndDefaultFont(value); documentElement->SetDocument(value); } @@ -15299,6 +13130,21 @@ GuiDocumentCommonInterface GuiDocumentViewer ***********************************************************************/ + void GuiDocumentViewer::BeforeControlTemplateUninstalled_() + { + } + + void GuiDocumentViewer::AfterControlTemplateInstalled_(bool initialize) + { + auto ct = GetControlTemplateObject(); + baselineDocument = ct->GetBaselineDocument(); + if (documentElement) + { + documentElement->SetCaretColor(ct->GetCaretColor()); + SetDocument(GetDocument()); + } + } + Point GuiDocumentViewer::GetDocumentViewPosition() { return GetViewBounds().LeftTop(); @@ -15320,15 +13166,13 @@ GuiDocumentViewer GetVerticalScroll()->SetPosition(viewBounds.y1+offset); } - GuiDocumentViewer::GuiDocumentViewer(GuiDocumentViewer::IStyleProvider* styleProvider) - :GuiScrollContainer(styleProvider) - , GuiDocumentCommonInterface(styleProvider->GetBaselineDocument(), styleProvider->GetCaretColor()) + GuiDocumentViewer::GuiDocumentViewer(theme::ThemeName themeName) + :GuiScrollContainer(themeName) { SetExtendToFullWidth(true); SetHorizontalAlwaysVisible(false); - SetFocusableComposition(GetBoundsComposition()); - InstallDocumentViewer(this, GetContainerComposition()); - SetDocument(new DocumentModel); + SetFocusableComposition(boundsComposition); + InstallDocumentViewer(this, containerComposition, boundsComposition, focusableComposition); } GuiDocumentViewer::~GuiDocumentViewer() @@ -15351,14 +13195,26 @@ GuiDocumentViewer GuiDocumentLabel ***********************************************************************/ - GuiDocumentLabel::GuiDocumentLabel(GuiDocumentLabel::IStyleController* styleController) - :GuiControl(styleController) - , GuiDocumentCommonInterface(styleController->GetBaselineDocument(), styleController->GetCaretColor()) + void GuiDocumentLabel::BeforeControlTemplateUninstalled_() { - GetContainerComposition()->SetMinSizeLimitation(GuiGraphicsComposition::LimitToElementAndChildren); - SetFocusableComposition(GetBoundsComposition()); - InstallDocumentViewer(this, GetContainerComposition()); - SetDocument(new DocumentModel); + } + + void GuiDocumentLabel::AfterControlTemplateInstalled_(bool initialize) + { + auto ct = GetControlTemplateObject(); + baselineDocument = ct->GetBaselineDocument(); + if (documentElement) + { + documentElement->SetCaretColor(ct->GetCaretColor()); + SetDocument(GetDocument()); + } + } + + GuiDocumentLabel::GuiDocumentLabel(theme::ThemeName themeName) + :GuiControl(themeName) + { + SetFocusableComposition(boundsComposition); + InstallDocumentViewer(this, containerComposition, boundsComposition, focusableComposition); } GuiDocumentLabel::~GuiDocumentLabel() @@ -15867,20 +13723,25 @@ GuiTextBoxCommonInterface } } - void GuiTextBoxCommonInterface::Install(elements::GuiColorizedTextElement* _textElement, compositions::GuiGraphicsComposition* _textComposition, GuiControl* _textControl) + void GuiTextBoxCommonInterface::Install( + elements::GuiColorizedTextElement* _textElement, + compositions::GuiGraphicsComposition* _textComposition, + GuiControl* _textControl, + compositions::GuiGraphicsComposition* eventComposition, + compositions::GuiGraphicsComposition* focusableComposition + ) { textElement=_textElement; textComposition=_textComposition; textControl=_textControl; textComposition->SetAssociatedCursor(GetCurrentController()->ResourceService()->GetSystemCursor(INativeCursor::IBeam)); - SelectionChanged.SetAssociatedComposition(textControl->GetBoundsComposition()); - UndoRedoChanged.SetAssociatedComposition(textControl->GetBoundsComposition()); - ModifiedChanged.SetAssociatedComposition(textControl->GetBoundsComposition()); + SelectionChanged.SetAssociatedComposition(eventComposition); + UndoRedoChanged.SetAssociatedComposition(eventComposition); + ModifiedChanged.SetAssociatedComposition(eventComposition); undoRedoProcessor->UndoRedoChanged.Add(this, &GuiTextBoxCommonInterface::InvokeUndoRedoChanged); undoRedoProcessor->ModifiedChanged.Add(this, &GuiTextBoxCommonInterface::InvokeModifiedChanged); - GuiGraphicsComposition* focusableComposition=textControl->GetFocusableComposition(); focusableComposition->GetEventReceiver()->gotFocus.AttachMethod(this, &GuiTextBoxCommonInterface::OnGotFocus); focusableComposition->GetEventReceiver()->lostFocus.AttachMethod(this, &GuiTextBoxCommonInterface::OnLostFocus); focusableComposition->GetEventReceiver()->caretNotify.AttachMethod(this, &GuiTextBoxCommonInterface::OnCaretNotify); @@ -16332,91 +14193,7 @@ namespace vl using namespace elements; using namespace elements::text; using namespace compositions; - -/*********************************************************************** -GuiMultilineTextBox::StyleController -***********************************************************************/ - - GuiMultilineTextBox::StyleController::StyleController(GuiScrollView::IStyleProvider* styleProvider) - :GuiScrollView::StyleController(styleProvider) - ,textElement(0) - ,textComposition(0) - ,textBox(0) - { - textElement=GuiColorizedTextElement::Create(); - - textComposition=new GuiBoundsComposition; - textComposition->SetAlignmentToParent(Margin(0, 0, 0, 0)); - textComposition->SetOwnedElement(textElement); - - GetInternalContainerComposition()->AddChild(textComposition); - } - - GuiMultilineTextBox::StyleController::~StyleController() - { - } - - void GuiMultilineTextBox::StyleController::Initialize(GuiMultilineTextBox* control) - { - textBox=control; - } - - elements::GuiColorizedTextElement* GuiMultilineTextBox::StyleController::GetTextElement() - { - return textElement; - } - - compositions::GuiGraphicsComposition* GuiMultilineTextBox::StyleController::GetTextComposition() - { - return textComposition; - } - - void GuiMultilineTextBox::StyleController::SetViewPosition(Point value) - { - textElement->SetViewPosition(value); - } - - void GuiMultilineTextBox::StyleController::SetFocusableComposition(compositions::GuiGraphicsComposition* value) - { - GuiScrollView::StyleController::SetFocusableComposition(value); - textBox->Install(textElement, textComposition, scrollView); - if(!textBox->GetCallback()) - { - if(!defaultCallback) - { - defaultCallback=new TextElementOperatorCallback(dynamic_cast(scrollView)); - } - textBox->SetCallback(defaultCallback.Obj()); - } - } - - WString GuiMultilineTextBox::StyleController::GetText() - { - return textElement->GetLines().GetText(); - } - - void GuiMultilineTextBox::StyleController::SetText(const WString& value) - { - if(textBox) - { - textBox->UnsafeSetText(value); - } - textElement->SetCaretBegin(TextPos(0, 0)); - textElement->SetCaretEnd(TextPos(0, 0)); - GuiScrollView::StyleController::SetText(value); - } - - void GuiMultilineTextBox::StyleController::SetFont(const FontProperties& value) - { - textElement->SetFont(value); - GuiScrollView::StyleController::SetFont(value); - } - - void GuiMultilineTextBox::StyleController::SetVisuallyEnabled(bool value) - { - textElement->SetVisuallyEnabled(value); - GuiScrollView::StyleController::SetVisuallyEnabled(value); - } + using namespace collections; /*********************************************************************** GuiMultilineTextBox::DefaultTextElementOperatorCallback @@ -16424,11 +14201,10 @@ GuiMultilineTextBox::DefaultTextElementOperatorCallback GuiMultilineTextBox::TextElementOperatorCallback::TextElementOperatorCallback(GuiMultilineTextBox* _textControl) :GuiTextBoxCommonInterface::DefaultCallback( - dynamic_cast(_textControl->GetStyleController())->GetTextElement(), - dynamic_cast(_textControl->GetStyleController())->GetTextComposition() + _textControl->textElement, + _textControl->textComposition ) ,textControl(_textControl) - ,textController(dynamic_cast(_textControl->GetStyleController())) { } @@ -16469,19 +14245,70 @@ GuiMultilineTextBox::DefaultTextElementOperatorCallback return TextMargin; } +/*********************************************************************** +GuiMultilineTextBox::CommandExecutor +***********************************************************************/ + + GuiMultilineTextBox::CommandExecutor::CommandExecutor(GuiMultilineTextBox* _textBox) + :textBox(_textBox) + { + } + + GuiMultilineTextBox::CommandExecutor::~CommandExecutor() + { + } + + void GuiMultilineTextBox::CommandExecutor::UnsafeSetText(const WString& value) + { + textBox->UnsafeSetText(value); + } + /*********************************************************************** GuiMultilineTextBox ***********************************************************************/ + void GuiMultilineTextBox::BeforeControlTemplateUninstalled_() + { + auto ct = GetControlTemplateObject(); + ct->SetCommands(nullptr); + } + + void GuiMultilineTextBox::AfterControlTemplateInstalled_(bool initialize) + { + auto ct = GetControlTemplateObject(); + Array colors(1); + colors[0] = ct->GetTextColor(); + textElement->SetColors(colors); + textElement->SetCaretColor(ct->GetCaretColor()); + ct->SetCommands(commandExecutor.Obj()); + } + void GuiMultilineTextBox::CalculateViewAndSetScroll() { + auto ct = GetControlTemplateObject(); CalculateView(); - vint smallMove=styleController->GetTextElement()->GetLines().GetRowHeight(); - vint bigMove=smallMove*5; - styleController->GetHorizontalScroll()->SetSmallMove(smallMove); - styleController->GetHorizontalScroll()->SetBigMove(bigMove); - styleController->GetVerticalScroll()->SetSmallMove(smallMove); - styleController->GetVerticalScroll()->SetBigMove(bigMove); + vint smallMove = textElement->GetLines().GetRowHeight(); + vint bigMove = smallMove * 5; + ct->GetHorizontalScroll()->SetSmallMove(smallMove); + ct->GetHorizontalScroll()->SetBigMove(bigMove); + ct->GetVerticalScroll()->SetSmallMove(smallMove); + ct->GetVerticalScroll()->SetBigMove(bigMove); + } + + void GuiMultilineTextBox::OnVisuallyEnabledChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) + { + textElement->SetVisuallyEnabled(GetVisuallyEnabled()); + } + + Size GuiMultilineTextBox::QueryFullSize() + { + text::TextLines& lines = textElement->GetLines(); + return Size(lines.GetMaxWidth() + TextMargin * 2, lines.GetMaxHeight() + TextMargin * 2); + } + + void GuiMultilineTextBox::UpdateView(Rect viewBounds) + { + textElement->SetViewPosition(viewBounds.LeftTop() - Size(TextMargin, TextMargin)); } void GuiMultilineTextBox::OnRenderTargetChanged(elements::IGuiGraphicsRenderTarget* renderTarget) @@ -16490,17 +14317,6 @@ GuiMultilineTextBox GuiScrollView::OnRenderTargetChanged(renderTarget); } - Size GuiMultilineTextBox::QueryFullSize() - { - text::TextLines& lines=styleController->GetTextElement()->GetLines(); - return Size(lines.GetMaxWidth()+TextMargin*2, lines.GetMaxHeight()+TextMargin*2); - } - - void GuiMultilineTextBox::UpdateView(Rect viewBounds) - { - styleController->SetViewPosition(viewBounds.LeftTop()-Size(TextMargin, TextMargin)); - } - void GuiMultilineTextBox::OnBoundsMouseButtonDown(compositions::GuiGraphicsComposition* sender, compositions::GuiMouseEventArgs& arguments) { if(GetVisuallyEnabled()) @@ -16509,13 +14325,25 @@ GuiMultilineTextBox } } - GuiMultilineTextBox::GuiMultilineTextBox(GuiMultilineTextBox::IStyleProvider* styleProvider) - :GuiScrollView(new StyleController(styleProvider)) + GuiMultilineTextBox::GuiMultilineTextBox(theme::ThemeName themeName) + :GuiScrollView(themeName) { - styleController=dynamic_cast(GetStyleController()); - styleController->Initialize(this); - SetFocusableComposition(boundsComposition); + textElement = GuiColorizedTextElement::Create(); + textElement->SetFont(GetFont()); + textComposition = new GuiBoundsComposition; + textComposition->SetAlignmentToParent(Margin(0, 0, 0, 0)); + textComposition->SetOwnedElement(textElement); + containerComposition->AddChild(textComposition); + + callback = new TextElementOperatorCallback(this); + commandExecutor = new CommandExecutor(this); + + SetFocusableComposition(boundsComposition); + Install(textElement, textComposition, this, boundsComposition, focusableComposition); + SetCallback(callback.Obj()); + + VisuallyEnabledChanged.AttachMethod(this, &GuiMultilineTextBox::OnVisuallyEnabledChanged); boundsComposition->GetEventReceiver()->leftButtonDown.AttachMethod(this, &GuiMultilineTextBox::OnBoundsMouseButtonDown); boundsComposition->GetEventReceiver()->middleButtonDown.AttachMethod(this, &GuiMultilineTextBox::OnBoundsMouseButtonDown); boundsComposition->GetEventReceiver()->rightButtonDown.AttachMethod(this, &GuiMultilineTextBox::OnBoundsMouseButtonDown); @@ -16527,139 +14355,23 @@ GuiMultilineTextBox const WString& GuiMultilineTextBox::GetText() { - text=styleController->GetText(); + text = textElement->GetLines().GetText(); return text; } void GuiMultilineTextBox::SetText(const WString& value) { - text=styleController->GetText(); - GuiScrollView::SetText(value); + UnsafeSetText(value); + textElement->SetCaretBegin(TextPos(0, 0)); + textElement->SetCaretEnd(TextPos(0, 0)); CalculateView(); } void GuiMultilineTextBox::SetFont(const FontProperties& value) { - GuiScrollView::SetFont(value); - CalculateViewAndSetScroll(); - } - -/*********************************************************************** -GuiSinglelineTextBox::StyleController -***********************************************************************/ - - GuiSinglelineTextBox::StyleController::StyleController(IStyleProvider* _styleProvider) - :styleProvider(_styleProvider) - ,boundsComposition(0) - ,containerComposition(0) - ,textBox(0) - ,textElement(0) - ,textComposition(0) - { - boundsComposition=new GuiBoundsComposition; - boundsComposition->SetMinSizeLimitation(GuiGraphicsComposition::LimitToElementAndChildren); - containerComposition=styleProvider->InstallBackground(boundsComposition); - - textElement=GuiColorizedTextElement::Create(); - textElement->SetViewPosition(Point(-TextMargin, -TextMargin)); - - textCompositionTable=new GuiTableComposition; - textCompositionTable->SetMinSizeLimitation(GuiGraphicsComposition::LimitToElementAndChildren); - textCompositionTable->SetAlignmentToParent(Margin(0, 0, 0, 0)); - textCompositionTable->SetRowsAndColumns(3, 1); - textCompositionTable->SetRowOption(0, GuiCellOption::PercentageOption(0.5)); - textCompositionTable->SetRowOption(1, GuiCellOption::AbsoluteOption(0)); - textCompositionTable->SetRowOption(2, GuiCellOption::PercentageOption(0.5)); - textCompositionTable->SetColumnOption(0, GuiCellOption::PercentageOption(1.0)); - containerComposition->AddChild(textCompositionTable); - - textComposition=new GuiCellComposition; - textComposition->SetOwnedElement(textElement); - textCompositionTable->AddChild(textComposition); - textComposition->SetSite(1, 0, 1, 1); - - styleProvider->AssociateStyleController(this); - } - - GuiSinglelineTextBox::StyleController::~StyleController() - { - } - - void GuiSinglelineTextBox::StyleController::SetTextBox(GuiSinglelineTextBox* control) - { - textBox=control; - } - - void GuiSinglelineTextBox::StyleController::RearrangeTextElement() - { - textCompositionTable->SetRowOption(1, GuiCellOption::AbsoluteOption(textElement->GetLines().GetRowHeight() + 2 * TextMargin)); - } - - compositions::GuiBoundsComposition* GuiSinglelineTextBox::StyleController::GetBoundsComposition() - { - return boundsComposition; - } - - compositions::GuiGraphicsComposition* GuiSinglelineTextBox::StyleController::GetContainerComposition() - { - return containerComposition; - } - - void GuiSinglelineTextBox::StyleController::SetFocusableComposition(compositions::GuiGraphicsComposition* value) - { - styleProvider->SetFocusableComposition(value); - textBox->Install(textElement, textComposition, textBox); - if(!textBox->GetCallback()) - { - if(!defaultCallback) - { - defaultCallback=new TextElementOperatorCallback(textBox); - } - textBox->SetCallback(defaultCallback.Obj()); - } - } - - WString GuiSinglelineTextBox::StyleController::GetText() - { - return textElement->GetLines().GetText(); - } - - void GuiSinglelineTextBox::StyleController::SetText(const WString& value) - { - if(textBox) - { - textBox->UnsafeSetText(value); - } - textElement->SetCaretBegin(TextPos(0, 0)); - textElement->SetCaretEnd(TextPos(0, 0)); - styleProvider->SetText(value); - } - - void GuiSinglelineTextBox::StyleController::SetFont(const FontProperties& value) - { + GuiControl::SetFont(value); textElement->SetFont(value); - styleProvider->SetFont(value); - } - - void GuiSinglelineTextBox::StyleController::SetVisuallyEnabled(bool value) - { - textElement->SetVisuallyEnabled(value); - styleProvider->SetVisuallyEnabled(value); - } - - elements::GuiColorizedTextElement* GuiSinglelineTextBox::StyleController::GetTextElement() - { - return textElement; - } - - compositions::GuiGraphicsComposition* GuiSinglelineTextBox::StyleController::GetTextComposition() - { - return textComposition; - } - - void GuiSinglelineTextBox::StyleController::SetViewPosition(Point value) - { - textElement->SetViewPosition(value); + CalculateViewAndSetScroll(); } /*********************************************************************** @@ -16668,11 +14380,9 @@ GuiSinglelineTextBox::DefaultTextElementOperatorCallback GuiSinglelineTextBox::TextElementOperatorCallback::TextElementOperatorCallback(GuiSinglelineTextBox* _textControl) :GuiTextBoxCommonInterface::DefaultCallback( - dynamic_cast(_textControl->GetStyleController())->GetTextElement(), - dynamic_cast(_textControl->GetStyleController())->GetTextComposition() + _textControl->textElement, + _textControl->textComposition ) - ,textControl(_textControl) - ,textController(dynamic_cast(_textControl->GetStyleController())) { } @@ -16736,10 +14446,37 @@ GuiSinglelineTextBox::DefaultTextElementOperatorCallback GuiSinglelineTextBox ***********************************************************************/ + void GuiSinglelineTextBox::BeforeControlTemplateUninstalled_() + { + } + + void GuiSinglelineTextBox::AfterControlTemplateInstalled_(bool initialize) + { + auto ct = GetControlTemplateObject(); + Array colors(1); + colors[0] = ct->GetTextColor(); + textElement->SetColors(colors); + textElement->SetCaretColor(ct->GetCaretColor()); + } + + void GuiSinglelineTextBox::RearrangeTextElement() + { + textCompositionTable->SetRowOption( + 1, + GuiCellOption::AbsoluteOption( + textElement->GetLines().GetRowHeight() + 2 * TextMargin) + ); + } + void GuiSinglelineTextBox::OnRenderTargetChanged(elements::IGuiGraphicsRenderTarget* renderTarget) { GuiControl::OnRenderTargetChanged(renderTarget); - styleController->RearrangeTextElement(); + RearrangeTextElement(); + } + + void GuiSinglelineTextBox::OnVisuallyEnabledChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) + { + textElement->SetVisuallyEnabled(GetVisuallyEnabled()); } void GuiSinglelineTextBox::OnBoundsMouseButtonDown(compositions::GuiGraphicsComposition* sender, compositions::GuiMouseEventArgs& arguments) @@ -16750,13 +14487,34 @@ GuiSinglelineTextBox } } - GuiSinglelineTextBox::GuiSinglelineTextBox(GuiSinglelineTextBox::IStyleProvider* styleProvider) - :GuiControl(new StyleController(styleProvider)) + GuiSinglelineTextBox::GuiSinglelineTextBox(theme::ThemeName themeName) + :GuiControl(themeName) { - styleController=dynamic_cast(GetStyleController()); - styleController->SetTextBox(this); - SetFocusableComposition(boundsComposition); + textElement = GuiColorizedTextElement::Create(); + textElement->SetFont(GetFont()); + textElement->SetViewPosition(Point(-GuiSinglelineTextBox::TextMargin, -GuiSinglelineTextBox::TextMargin)); + textCompositionTable = new GuiTableComposition; + textCompositionTable->SetMinSizeLimitation(GuiGraphicsComposition::LimitToElementAndChildren); + textCompositionTable->SetAlignmentToParent(Margin(0, 0, 0, 0)); + textCompositionTable->SetRowsAndColumns(3, 1); + textCompositionTable->SetRowOption(0, GuiCellOption::PercentageOption(0.5)); + textCompositionTable->SetRowOption(1, GuiCellOption::AbsoluteOption(0)); + textCompositionTable->SetRowOption(2, GuiCellOption::PercentageOption(0.5)); + textCompositionTable->SetColumnOption(0, GuiCellOption::PercentageOption(1.0)); + containerComposition->AddChild(textCompositionTable); + + textComposition = new GuiCellComposition; + textComposition->SetOwnedElement(textElement); + textCompositionTable->AddChild(textComposition); + textComposition->SetSite(1, 0, 1, 1); + + callback = new TextElementOperatorCallback(this); + SetFocusableComposition(boundsComposition); + Install(textElement, textComposition, this, boundsComposition, focusableComposition); + SetCallback(callback.Obj()); + + VisuallyEnabledChanged.AttachMethod(this, &GuiSinglelineTextBox::OnVisuallyEnabledChanged); boundsComposition->GetEventReceiver()->leftButtonDown.AttachMethod(this, &GuiSinglelineTextBox::OnBoundsMouseButtonDown); boundsComposition->GetEventReceiver()->middleButtonDown.AttachMethod(this, &GuiSinglelineTextBox::OnBoundsMouseButtonDown); boundsComposition->GetEventReceiver()->rightButtonDown.AttachMethod(this, &GuiSinglelineTextBox::OnBoundsMouseButtonDown); @@ -16768,29 +14526,32 @@ GuiSinglelineTextBox const WString& GuiSinglelineTextBox::GetText() { - text=styleController->GetText(); + text = textElement->GetLines().GetText(); return text; } void GuiSinglelineTextBox::SetText(const WString& value) { - GuiControl::SetText(value); + UnsafeSetText(value); + textElement->SetCaretBegin(TextPos(0, 0)); + textElement->SetCaretEnd(TextPos(0, 0)); } void GuiSinglelineTextBox::SetFont(const FontProperties& value) { GuiControl::SetFont(value); - styleController->RearrangeTextElement(); + textElement->SetFont(value); + RearrangeTextElement(); } wchar_t GuiSinglelineTextBox::GetPasswordChar() { - return styleController->GetTextElement()->GetPasswordChar(); + return textElement->GetPasswordChar(); } void GuiSinglelineTextBox::SetPasswordChar(wchar_t value) { - styleController->GetTextElement()->SetPasswordChar(value); + textElement->SetPasswordChar(value); } } } @@ -17688,8 +15449,8 @@ DataProvider GuiBindableDataGrid ***********************************************************************/ - GuiBindableDataGrid::GuiBindableDataGrid(IStyleProvider* _styleProvider, const description::Value& _viewModelContext) - :GuiVirtualDataGrid(_styleProvider, new list::DataProvider(_viewModelContext)) + GuiBindableDataGrid::GuiBindableDataGrid(theme::ThemeName themeName, const description::Value& _viewModelContext) + :GuiVirtualDataGrid(themeName, new list::DataProvider(_viewModelContext)) { dataProvider = dynamic_cast(GetItemProvider()); } @@ -17782,7 +15543,7 @@ GuiBindableDataGrid } /*********************************************************************** -.\CONTROLS\LISTCONTROLPACKAGE\GUILISTVIEWCONTROLS.CPP +.\CONTROLS\LISTCONTROLPACKAGE\GUIBINDABLELISTCONTROLS.CPP ***********************************************************************/ namespace vl @@ -17791,873 +15552,1505 @@ namespace vl { namespace controls { - using namespace elements; - using namespace compositions; using namespace collections; + using namespace list; + using namespace tree; using namespace reflection::description; + using namespace templates; /*********************************************************************** -GuiListViewColumnHeader +GuiBindableTextList::ItemSource ***********************************************************************/ + + GuiBindableTextList::ItemSource::ItemSource() + { + } + + GuiBindableTextList::ItemSource::~ItemSource() + { + SetItemSource(nullptr); + } + + Ptr GuiBindableTextList::ItemSource::GetItemSource() + { + return itemSource; + } + + void GuiBindableTextList::ItemSource::SetItemSource(Ptr _itemSource) + { + vint oldCount = 0; + if (itemSource) + { + oldCount = itemSource->GetCount(); + } + if (itemChangedEventHandler) + { + auto ol = itemSource.Cast(); + ol->ItemChanged.Remove(itemChangedEventHandler); + } + + itemSource = nullptr; + itemChangedEventHandler = nullptr; + + if (_itemSource) + { + if (auto ol = _itemSource.Cast()) + { + itemSource = ol; + itemChangedEventHandler = ol->ItemChanged.Add([this](vint start, vint oldCount, vint newCount) + { + InvokeOnItemModified(start, oldCount, newCount); + }); + } + else if (auto rl = _itemSource.Cast()) + { + itemSource = rl; + } + else + { + itemSource = IValueList::Create(GetLazyList(_itemSource)); + } + } + + InvokeOnItemModified(0, oldCount, itemSource ? itemSource->GetCount() : 0); + } + + description::Value GuiBindableTextList::ItemSource::Get(vint index) + { + if (!itemSource) return Value(); + return itemSource->Get(index); + } + + void GuiBindableTextList::ItemSource::UpdateBindingProperties() + { + InvokeOnItemModified(0, Count(), Count()); + } + + // ===================== GuiListControl::IItemProvider ===================== - GuiListViewColumnHeader::GuiListViewColumnHeader(IStyleController* _styleController) - :GuiMenuButton(_styleController) - ,styleController(_styleController) + vint GuiBindableTextList::ItemSource::Count() { - styleController->SetColumnSortingState(columnSortingState); + if (!itemSource) return 0; + return itemSource->GetCount(); } - GuiListViewColumnHeader::~GuiListViewColumnHeader() + WString GuiBindableTextList::ItemSource::GetTextValue(vint itemIndex) + { + if (itemSource) + { + if (0 <= itemIndex && itemIndex < itemSource->GetCount()) + { + return ReadProperty(itemSource->Get(itemIndex), textProperty); + } + } + return L""; + } + + IDescriptable* GuiBindableTextList::ItemSource::RequestView(const WString& identifier) + { + if (identifier == ITextItemView::Identifier) + { + return (ITextItemView*)this; + } + else + { + return 0; + } + } + + // ===================== GuiListControl::IItemBindingView ===================== + + description::Value GuiBindableTextList::ItemSource::GetBindingValue(vint itemIndex) + { + if (itemSource) + { + if (0 <= itemIndex && itemIndex < itemSource->GetCount()) + { + return itemSource->Get(itemIndex); + } + } + return Value(); + } + + // ===================== list::TextItemStyleProvider::ITextItemView ===================== + + bool GuiBindableTextList::ItemSource::GetChecked(vint itemIndex) + { + if (itemSource) + { + if (0 <= itemIndex && itemIndex < itemSource->GetCount()) + { + return ReadProperty(itemSource->Get(itemIndex), checkedProperty); + } + } + return false; + } + + void GuiBindableTextList::ItemSource::SetChecked(vint itemIndex, bool value) + { + if (itemSource) + { + if (0 <= itemIndex && itemIndex < itemSource->GetCount()) + { + auto thisValue = itemSource->Get(itemIndex); + WriteProperty(thisValue, checkedProperty, value); + InvokeOnItemModified(itemIndex, 1, 1); + } + } + } + +/*********************************************************************** +GuiBindableTextList +***********************************************************************/ + + GuiBindableTextList::GuiBindableTextList(theme::ThemeName themeName) + :GuiVirtualTextList(themeName, new ItemSource) + { + itemSource = dynamic_cast(GetItemProvider()); + + TextPropertyChanged.SetAssociatedComposition(boundsComposition); + TextPropertyChanged.SetAssociatedComposition(boundsComposition); + } + + GuiBindableTextList::~GuiBindableTextList() { } - bool GuiListViewColumnHeader::IsAltAvailable() + Ptr GuiBindableTextList::GetItemSource() { + return itemSource->GetItemSource(); + } + + void GuiBindableTextList::SetItemSource(Ptr _itemSource) + { + itemSource->SetItemSource(_itemSource); + } + + ItemProperty GuiBindableTextList::GetTextProperty() + { + return itemSource->textProperty; + } + + void GuiBindableTextList::SetTextProperty(const ItemProperty& value) + { + if (itemSource->textProperty != value) + { + itemSource->textProperty = value; + itemSource->UpdateBindingProperties(); + TextPropertyChanged.Execute(GetNotifyEventArguments()); + } + } + + WritableItemProperty GuiBindableTextList::GetCheckedProperty() + { + return itemSource->checkedProperty; + } + + void GuiBindableTextList::SetCheckedProperty(const WritableItemProperty& value) + { + if (itemSource->checkedProperty != value) + { + itemSource->checkedProperty = value; + itemSource->UpdateBindingProperties(); + CheckedPropertyChanged.Execute(GetNotifyEventArguments()); + } + } + + description::Value GuiBindableTextList::GetSelectedItem() + { + vint index = GetSelectedItemIndex(); + if (index == -1) return Value(); + return itemSource->Get(index); + } + +/*********************************************************************** +GuiBindableListView::ItemSource +***********************************************************************/ + + GuiBindableListView::ItemSource::ItemSource() + :columns(this) + , dataColumns(this) + { + } + + GuiBindableListView::ItemSource::~ItemSource() + { + SetItemSource(nullptr); + } + + Ptr GuiBindableListView::ItemSource::GetItemSource() + { + return itemSource; + } + + void GuiBindableListView::ItemSource::SetItemSource(Ptr _itemSource) + { + vint oldCount = 0; + if (itemSource) + { + oldCount = itemSource->GetCount(); + } + if (itemChangedEventHandler) + { + auto ol = itemSource.Cast(); + ol->ItemChanged.Remove(itemChangedEventHandler); + } + + itemSource = nullptr; + itemChangedEventHandler = nullptr; + + if (_itemSource) + { + if (auto ol = _itemSource.Cast()) + { + itemSource = ol; + itemChangedEventHandler = ol->ItemChanged.Add([this](vint start, vint oldCount, vint newCount) + { + InvokeOnItemModified(start, oldCount, newCount); + }); + } + else if (auto rl = _itemSource.Cast()) + { + itemSource = rl; + } + else + { + itemSource = IValueList::Create(GetLazyList(_itemSource)); + } + } + + InvokeOnItemModified(0, oldCount, itemSource ? itemSource->GetCount() : 0); + } + + description::Value GuiBindableListView::ItemSource::Get(vint index) + { + if (!itemSource) return Value(); + return itemSource->Get(index); + } + + void GuiBindableListView::ItemSource::UpdateBindingProperties() + { + InvokeOnItemModified(0, Count(), Count()); + } + + bool GuiBindableListView::ItemSource::NotifyUpdate(vint start, vint count) + { + if (!itemSource) return false; + if (start<0 || start >= itemSource->GetCount() || count <= 0 || start + count > itemSource->GetCount()) + { + return false; + } + else + { + InvokeOnItemModified(start, count, count); + return true; + } + } + + list::ListViewDataColumns& GuiBindableListView::ItemSource::GetDataColumns() + { + return dataColumns; + } + + list::ListViewColumns& GuiBindableListView::ItemSource::GetColumns() + { + return columns; + } + + // ===================== list::IListViewItemProvider ===================== + + void GuiBindableListView::ItemSource::NotifyAllItemsUpdate() + { + NotifyUpdate(0, Count()); + } + + void GuiBindableListView::ItemSource::NotifyAllColumnsUpdate() + { + for (vint i = 0; i < columnItemViewCallbacks.Count(); i++) + { + columnItemViewCallbacks[i]->OnColumnChanged(); + } + } + + // ===================== GuiListControl::IItemProvider ===================== + + vint GuiBindableListView::ItemSource::Count() + { + if (!itemSource) return 0; + return itemSource->GetCount(); + } + + WString GuiBindableListView::ItemSource::GetTextValue(vint itemIndex) + { + return GetText(itemIndex); + } + + description::Value GuiBindableListView::ItemSource::GetBindingValue(vint itemIndex) + { + if (itemSource) + { + if (0 <= itemIndex && itemIndex < itemSource->GetCount()) + { + return itemSource->Get(itemIndex); + } + } + return Value(); + } + + IDescriptable* GuiBindableListView::ItemSource::RequestView(const WString& identifier) + { + if (identifier == IListViewItemView::Identifier) + { + return (IListViewItemView*)this; + } + else if (identifier == ListViewColumnItemArranger::IColumnItemView::Identifier) + { + return (ListViewColumnItemArranger::IColumnItemView*)this; + } + else + { + return 0; + } + } + + // ===================== list::ListViewItemStyleProvider::IListViewItemView ===================== + + Ptr GuiBindableListView::ItemSource::GetSmallImage(vint itemIndex) + { + if (itemSource) + { + if (0 <= itemIndex && itemIndex < itemSource->GetCount()) + { + return ReadProperty(itemSource->Get(itemIndex), smallImageProperty); + } + } + return nullptr; + } + + Ptr GuiBindableListView::ItemSource::GetLargeImage(vint itemIndex) + { + if (itemSource) + { + if (0 <= itemIndex && itemIndex < itemSource->GetCount()) + { + return ReadProperty(itemSource->Get(itemIndex), largeImageProperty); + } + } + return nullptr; + } + + WString GuiBindableListView::ItemSource::GetText(vint itemIndex) + { + if (itemSource) + { + if (0 <= itemIndex && itemIndex < itemSource->GetCount() && columns.Count()>0) + { + return ReadProperty(itemSource->Get(itemIndex), columns[0]->GetTextProperty()); + } + } + return L""; + } + + WString GuiBindableListView::ItemSource::GetSubItem(vint itemIndex, vint index) + { + if (itemSource) + { + if (0 <= itemIndex && itemIndex < itemSource->GetCount() && 0 <= index && index < columns.Count() - 1) + { + return ReadProperty(itemSource->Get(itemIndex), columns[index + 1]->GetTextProperty()); + } + } + return L""; + } + + vint GuiBindableListView::ItemSource::GetDataColumnCount() + { + return dataColumns.Count(); + } + + vint GuiBindableListView::ItemSource::GetDataColumn(vint index) + { + return dataColumns[index]; + } + + vint GuiBindableListView::ItemSource::GetColumnCount() + { + return columns.Count(); + } + + WString GuiBindableListView::ItemSource::GetColumnText(vint index) + { + if (index < 0 || index >= columns.Count()) + { + return L""; + } + else + { + return columns[index]->GetText(); + } + } + + // ===================== list::ListViewColumnItemArranger::IColumnItemView ===================== + + bool GuiBindableListView::ItemSource::AttachCallback(ListViewColumnItemArranger::IColumnItemViewCallback* value) + { + if(columnItemViewCallbacks.Contains(value)) + { + return false; + } + else + { + columnItemViewCallbacks.Add(value); + return true; + } + } + + bool GuiBindableListView::ItemSource::DetachCallback(ListViewColumnItemArranger::IColumnItemViewCallback* value) + { + vint index = columnItemViewCallbacks.IndexOf(value); + if (index == -1) + { + return false; + } + else + { + columnItemViewCallbacks.Remove(value); + return true; + } + } + + vint GuiBindableListView::ItemSource::GetColumnSize(vint index) + { + if (index < 0 || index >= columns.Count()) + { + return 0; + } + else + { + return columns[index]->GetSize(); + } + } + + void GuiBindableListView::ItemSource::SetColumnSize(vint index, vint value) + { + if (index >= 0 && index < columns.Count()) + { + columns[index]->SetSize(value); + } + } + + GuiMenu* GuiBindableListView::ItemSource::GetDropdownPopup(vint index) + { + if (index < 0 || index >= columns.Count()) + { + return 0; + } + else + { + return columns[index]->GetDropdownPopup(); + } + } + + ColumnSortingState GuiBindableListView::ItemSource::GetSortingState(vint index) + { + if (index < 0 || index >= columns.Count()) + { + return ColumnSortingState::NotSorted; + } + else + { + return columns[index]->GetSortingState(); + } + } + +/*********************************************************************** +GuiBindableListView +***********************************************************************/ + + GuiBindableListView::GuiBindableListView(theme::ThemeName themeName) + :GuiVirtualListView(themeName, new ItemSource) + { + itemSource = dynamic_cast(GetItemProvider()); + + LargeImagePropertyChanged.SetAssociatedComposition(boundsComposition); + SmallImagePropertyChanged.SetAssociatedComposition(boundsComposition); + } + + GuiBindableListView::~GuiBindableListView() + { + } + + list::ListViewDataColumns& GuiBindableListView::GetDataColumns() + { + return itemSource->GetDataColumns(); + } + + list::ListViewColumns& GuiBindableListView::GetColumns() + { + return itemSource->GetColumns(); + } + + Ptr GuiBindableListView::GetItemSource() + { + return itemSource->GetItemSource(); + } + + void GuiBindableListView::SetItemSource(Ptr _itemSource) + { + itemSource->SetItemSource(_itemSource); + } + + ItemProperty> GuiBindableListView::GetLargeImageProperty() + { + return itemSource->largeImageProperty; + } + + void GuiBindableListView::SetLargeImageProperty(const ItemProperty>& value) + { + if (itemSource->largeImageProperty != value) + { + itemSource->largeImageProperty = value; + itemSource->UpdateBindingProperties(); + LargeImagePropertyChanged.Execute(GetNotifyEventArguments()); + } + } + + ItemProperty> GuiBindableListView::GetSmallImageProperty() + { + return itemSource->smallImageProperty; + } + + void GuiBindableListView::SetSmallImageProperty(const ItemProperty>& value) + { + if (itemSource->smallImageProperty != value) + { + itemSource->smallImageProperty = value; + itemSource->UpdateBindingProperties(); + SmallImagePropertyChanged.Execute(GetNotifyEventArguments()); + } + } + + description::Value GuiBindableListView::GetSelectedItem() + { + vint index = GetSelectedItemIndex(); + if (index == -1) return Value(); + return itemSource->Get(index); + } + +/*********************************************************************** +GuiBindableTreeView::ItemSourceNode +***********************************************************************/ + + void GuiBindableTreeView::ItemSourceNode::PrepareChildren() + { + if (!childrenVirtualList) + { + if (auto value = ReadProperty(itemSource, rootProvider->childrenProperty)) + { + if (auto ol = value.Cast()) + { + itemChangedEventHandler = ol->ItemChanged.Add([this](vint start, vint oldCount, vint newCount) + { + callback->OnBeforeItemModified(this, start, oldCount, newCount); + children.RemoveRange(start, oldCount); + for (vint i = 0; i < newCount; i++) + { + Value value = childrenVirtualList->Get(start + i); + auto node = new ItemSourceNode(value, this); + children.Insert(start + i, node); + } + callback->OnAfterItemModified(this, start, oldCount, newCount); + }); + childrenVirtualList = ol; + } + else if (auto rl = value.Cast()) + { + childrenVirtualList = rl; + } + else + { + childrenVirtualList = IValueList::Create(GetLazyList(value)); + } + } + + if (!childrenVirtualList) + { + childrenVirtualList = IValueList::Create(); + } + + vint count = childrenVirtualList->GetCount(); + for (vint i = 0; i < count; i++) + { + Value value = childrenVirtualList->Get(i); + auto node = new ItemSourceNode(value, this); + children.Add(node); + } + } + } + + void GuiBindableTreeView::ItemSourceNode::UnprepareChildren() + { + if (itemChangedEventHandler) + { + auto ol = childrenVirtualList.Cast(); + ol->ItemChanged.Remove(itemChangedEventHandler); + itemChangedEventHandler = nullptr; + } + childrenVirtualList = nullptr; + FOREACH(Ptr, node, children) + { + node->UnprepareChildren(); + } + children.Clear(); + } + + GuiBindableTreeView::ItemSourceNode::ItemSourceNode(const description::Value& _itemSource, ItemSourceNode* _parent) + :itemSource(_itemSource) + , rootProvider(_parent->rootProvider) + , parent(_parent) + , callback(_parent->callback) + { + } + + GuiBindableTreeView::ItemSourceNode::ItemSourceNode(ItemSource* _rootProvider) + :rootProvider(_rootProvider) + , parent(nullptr) + , callback(_rootProvider) + { + } + + GuiBindableTreeView::ItemSourceNode::~ItemSourceNode() + { + SetItemSource(Value()); + } + + description::Value GuiBindableTreeView::ItemSourceNode::GetItemSource() + { + return itemSource; + } + + void GuiBindableTreeView::ItemSourceNode::SetItemSource(const description::Value& _itemSource) + { + vint oldCount = GetChildCount(); + UnprepareChildren(); + itemSource = _itemSource; + vint newCount = GetChildCount(); + callback->OnBeforeItemModified(this, 0, oldCount, newCount); + callback->OnAfterItemModified(this, 0, oldCount, newCount); + } + + bool GuiBindableTreeView::ItemSourceNode::GetExpanding() + { + return this == rootProvider->rootNode.Obj() ? true : expanding; + } + + void GuiBindableTreeView::ItemSourceNode::SetExpanding(bool value) + { + if (this != rootProvider->rootNode.Obj() && expanding != value) + { + expanding = value; + if (expanding) + { + callback->OnItemExpanded(this); + } + else + { + callback->OnItemCollapsed(this); + } + } + } + + vint GuiBindableTreeView::ItemSourceNode::CalculateTotalVisibleNodes() + { + if (!GetExpanding()) + { + return 1; + } + + PrepareChildren(); + vint count = 1; + FOREACH(Ptr, child, children) + { + count += child->CalculateTotalVisibleNodes(); + } + return count; + } + + vint GuiBindableTreeView::ItemSourceNode::GetChildCount() + { + PrepareChildren(); + return children.Count(); + } + + tree::INodeProvider* GuiBindableTreeView::ItemSourceNode::GetParent() + { + return parent; + } + + tree::INodeProvider* GuiBindableTreeView::ItemSourceNode::GetChild(vint index) + { + PrepareChildren(); + if (0 <= index && index < children.Count()) + { + return children[index].Obj(); + } + return 0; + } + + void GuiBindableTreeView::ItemSourceNode::Increase() + { + } + + void GuiBindableTreeView::ItemSourceNode::Release() + { + } + +/*********************************************************************** +GuiBindableTreeView::ItemSource +***********************************************************************/ + + GuiBindableTreeView::ItemSource::ItemSource() + { + rootNode = new ItemSourceNode(this); + } + + GuiBindableTreeView::ItemSource::~ItemSource() + { + } + + description::Value GuiBindableTreeView::ItemSource::GetItemSource() + { + return rootNode->GetItemSource(); + } + + void GuiBindableTreeView::ItemSource::SetItemSource(const description::Value& _itemSource) + { + rootNode->SetItemSource(_itemSource); + } + + void GuiBindableTreeView::ItemSource::UpdateBindingProperties(bool updateChildrenProperty) + { + vint oldCount = rootNode->GetChildCount(); + if (updateChildrenProperty) + { + rootNode->UnprepareChildren(); + } + vint newCount = rootNode->GetChildCount(); + OnBeforeItemModified(rootNode.Obj(), 0, oldCount, newCount); + OnAfterItemModified(rootNode.Obj(), 0, oldCount, newCount); + } + + // ===================== tree::INodeRootProvider ===================== + + tree::INodeProvider* GuiBindableTreeView::ItemSource::GetRootNode() + { + return rootNode.Obj(); + } + + WString GuiBindableTreeView::ItemSource::GetTextValue(tree::INodeProvider* node) + { + return ReadProperty(GetBindingValue(node), textProperty); + } + + description::Value GuiBindableTreeView::ItemSource::GetBindingValue(tree::INodeProvider* node) + { + if (auto itemSourceNode = dynamic_cast(node)) + { + return itemSourceNode->GetItemSource(); + } + return Value(); + } + + IDescriptable* GuiBindableTreeView::ItemSource::RequestView(const WString& identifier) + { + if(identifier==ITreeViewItemView::Identifier) + { + return (ITreeViewItemView*)this; + } + else + { + return 0; + } + } + + // ===================== tree::ITreeViewItemView ===================== + + Ptr GuiBindableTreeView::ItemSource::GetNodeImage(tree::INodeProvider* node) + { + if (auto itemSourceNode = dynamic_cast(node)) + { + return ReadProperty(itemSourceNode->GetItemSource(), imageProperty); + } + return nullptr; + } + +/*********************************************************************** +GuiBindableTreeView +***********************************************************************/ + + GuiBindableTreeView::GuiBindableTreeView(theme::ThemeName themeName) + :GuiVirtualTreeView(themeName, new ItemSource) + { + itemSource = dynamic_cast(GetNodeRootProvider()); + + TextPropertyChanged.SetAssociatedComposition(boundsComposition); + ImagePropertyChanged.SetAssociatedComposition(boundsComposition); + ChildrenPropertyChanged.SetAssociatedComposition(boundsComposition); + } + + GuiBindableTreeView::~GuiBindableTreeView() + { + } + + description::Value GuiBindableTreeView::GetItemSource() + { + return itemSource->GetItemSource(); + } + + void GuiBindableTreeView::SetItemSource(description::Value _itemSource) + { + itemSource->SetItemSource(_itemSource); + } + + ItemProperty GuiBindableTreeView::GetTextProperty() + { + return itemSource->textProperty; + } + + void GuiBindableTreeView::SetTextProperty(const ItemProperty& value) + { + if (itemSource->textProperty != value) + { + itemSource->textProperty = value; + itemSource->UpdateBindingProperties(false); + TextPropertyChanged.Execute(GetNotifyEventArguments()); + } + } + + ItemProperty> GuiBindableTreeView::GetImageProperty() + { + return itemSource->imageProperty; + } + + void GuiBindableTreeView::SetImageProperty(const ItemProperty>& value) + { + if (itemSource->imageProperty != value) + { + itemSource->imageProperty = value; + itemSource->UpdateBindingProperties(false); + ImagePropertyChanged.Execute(GetNotifyEventArguments()); + } + } + + ItemProperty> GuiBindableTreeView::GetChildrenProperty() + { + return itemSource->childrenProperty; + } + + void GuiBindableTreeView::SetChildrenProperty(const ItemProperty>& value) + { + if (itemSource->childrenProperty != value) + { + itemSource->childrenProperty = value; + itemSource->UpdateBindingProperties(true); + ChildrenPropertyChanged.Execute(GetNotifyEventArguments()); + } + } + + description::Value GuiBindableTreeView::GetSelectedItem() + { + vint index = GetSelectedItemIndex(); + if (index == -1) return Value(); + + Value result; + if (auto node = nodeItemView->RequestNode(index)) + { + if (auto itemSourceNode = dynamic_cast(node)) + { + result = itemSourceNode->GetItemSource(); + } + nodeItemView->ReleaseNode(node); + } + return result; + } + } + } +} + + +/*********************************************************************** +.\CONTROLS\LISTCONTROLPACKAGE\GUIDATAGRIDCONTROLS.CPP +***********************************************************************/ + +namespace vl +{ + namespace presentation + { + namespace controls + { + namespace list + { + using namespace compositions; + using namespace collections; + using namespace description; + using namespace templates; + + const wchar_t* const IDataGridView::Identifier = L"vl::presentation::controls::list::IDataGridView"; + +/*********************************************************************** +DefaultDataGridItemTemplate +***********************************************************************/ + + IDataVisualizerFactory* DefaultDataGridItemTemplate::GetDataVisualizerFactory(vint row, vint column) + { + if (auto dataGrid = dynamic_cast(listControl)) + { + if (auto factory = dataGrid->dataGridView->GetCellDataVisualizerFactory(row, column)) + { + return factory; + } + + if (column == 0) + { + return dataGrid->defaultMainColumnVisualizerFactory.Obj(); + } + else + { + return dataGrid->defaultSubColumnVisualizerFactory.Obj(); + } + + } + + return nullptr; + } + + IDataEditorFactory* DefaultDataGridItemTemplate::GetDataEditorFactory(vint row, vint column) + { + if (auto dataGrid = dynamic_cast(listControl)) + { + return dataGrid->dataGridView->GetCellDataEditorFactory(row, column); + } + return nullptr; + } + + vint DefaultDataGridItemTemplate::GetCellColumnIndex(compositions::GuiGraphicsComposition* composition) + { + for (vint i = 0; i < textTable->GetColumns(); i++) + { + auto cell = textTable->GetSitedCell(0, i); + if (composition == cell) + { + return i; + } + } + return -1; + } + + void DefaultDataGridItemTemplate::OnCellButtonUp(compositions::GuiGraphicsComposition* sender, bool openEditor) + { + if (auto dataGrid = dynamic_cast(listControl)) + { + vint index = GetCellColumnIndex(sender); + if (index != -1) + { + if (currentEditor && dataGrid->GetSelectedCell().column == index) + { + return; + } + + vint currentRow = GetIndex(); + dataGrid->StartEdit(currentRow, index); + } + } + } + + bool DefaultDataGridItemTemplate::IsInEditor(compositions::GuiMouseEventArgs& arguments) + { + if (auto dataGrid = dynamic_cast(listControl)) + { + if (!dataGrid->currentEditor) return false; + auto editorComposition = dataGrid->currentEditor->GetTemplate(); + auto currentComposition = arguments.eventSource; + + while (currentComposition) + { + if (currentComposition == editorComposition) + { + arguments.handled = true; + return true; + } + else if (currentComposition == this) + { + break; + } + else + { + currentComposition = currentComposition->GetParent(); + } + } + + } + return false; + } + + void DefaultDataGridItemTemplate::OnCellButtonDown(compositions::GuiGraphicsComposition* sender, compositions::GuiMouseEventArgs& arguments) + { + IsInEditor(arguments); + } + + void DefaultDataGridItemTemplate::OnCellLeftButtonUp(compositions::GuiGraphicsComposition* sender, compositions::GuiMouseEventArgs& arguments) + { + if (auto dataGrid = dynamic_cast(listControl)) + { + if (!IsInEditor(arguments)) + { + if (dataGrid->GetVisuallyEnabled()) + { + OnCellButtonUp(sender, true); + } + } + } + } + + void DefaultDataGridItemTemplate::OnCellRightButtonUp(compositions::GuiGraphicsComposition* sender, compositions::GuiMouseEventArgs& arguments) + { + if (auto dataGrid = dynamic_cast(listControl)) + { + if (!IsInEditor(arguments)) + { + if (dataGrid->GetVisuallyEnabled()) + { + OnCellButtonUp(sender, false); + } + } + } + } + + void DefaultDataGridItemTemplate::OnColumnChanged() + { + UpdateSubItemSize(); + } + + void DefaultDataGridItemTemplate::OnInitialize() + { + DefaultListViewItemTemplate::OnInitialize(); + { + textTable = new GuiTableComposition; + textTable->SetAlignmentToParent(Margin(0, 0, 0, 0)); + textTable->SetRowsAndColumns(1, 1); + textTable->SetRowOption(0, GuiCellOption::MinSizeOption()); + textTable->SetColumnOption(0, GuiCellOption::AbsoluteOption(0)); + AddChild(textTable); + } + + if (auto dataGrid = dynamic_cast(listControl)) + { + vint columnCount = dataGrid->listViewItemView->GetColumnCount(); + vint itemIndex = GetIndex(); + + dataVisualizers.Resize(columnCount); + for (vint i = 0; i < dataVisualizers.Count(); i++) + { + auto factory = GetDataVisualizerFactory(itemIndex, i); + dataVisualizers[i] = factory->CreateVisualizer(dataGrid); + } + + textTable->SetRowsAndColumns(1, columnCount); + for (vint i = 0; i < columnCount; i++) + { + auto cell = new GuiCellComposition; + textTable->AddChild(cell); + cell->SetSite(0, i, 1, 1); + cell->GetEventReceiver()->leftButtonDown.AttachMethod(this, &DefaultDataGridItemTemplate::OnCellButtonDown); + cell->GetEventReceiver()->rightButtonDown.AttachMethod(this, &DefaultDataGridItemTemplate::OnCellButtonDown); + cell->GetEventReceiver()->leftButtonUp.AttachMethod(this, &DefaultDataGridItemTemplate::OnCellLeftButtonUp); + cell->GetEventReceiver()->rightButtonUp.AttachMethod(this, &DefaultDataGridItemTemplate::OnCellRightButtonUp); + + auto composition = dataVisualizers[i]->GetTemplate(); + composition->SetAlignmentToParent(Margin(0, 0, 0, 0)); + cell->AddChild(composition); + } + + for (vint i = 0; i < dataVisualizers.Count(); i++) + { + dataVisualizers[i]->BeforeVisualizeCell(dataGrid->GetItemProvider(), itemIndex, i); + } + + GridPos selectedCell = dataGrid->GetSelectedCell(); + if (selectedCell.row == itemIndex) + { + NotifySelectCell(selectedCell.column); + } + else + { + NotifySelectCell(-1); + } + UpdateSubItemSize(); + } + + SelectedChanged.AttachMethod(this, &DefaultDataGridItemTemplate::OnSelectedChanged); + FontChanged.AttachMethod(this, &DefaultDataGridItemTemplate::OnFontChanged); + + SelectedChanged.Execute(compositions::GuiEventArgs(this)); + FontChanged.Execute(compositions::GuiEventArgs(this)); + } + + void DefaultDataGridItemTemplate::OnSelectedChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) + { + if (!GetSelected()) + { + NotifySelectCell(-1); + } + } + + void DefaultDataGridItemTemplate::OnFontChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) + { + FOREACH(Ptr, visualizer, dataVisualizers) + { + visualizer->GetTemplate()->SetFont(GetFont()); + } + if (currentEditor) + { + currentEditor->GetTemplate()->SetFont(GetFont()); + } + } + + DefaultDataGridItemTemplate::DefaultDataGridItemTemplate() + { + } + + DefaultDataGridItemTemplate::~DefaultDataGridItemTemplate() + { + FOREACH(Ptr, visualizer, dataVisualizers) + { + visualizer->NotifyDeletedTemplate(); + } + if (currentEditor) + { + currentEditor->NotifyDeletedTemplate(); + } + } + + void DefaultDataGridItemTemplate::UpdateSubItemSize() + { + if (auto dataGrid = dynamic_cast(listControl)) + { + vint columnCount = dataGrid->listViewItemView->GetColumnCount(); + if (columnCount > textTable->GetColumns()) + { + columnCount = textTable->GetColumns(); + } + for (vint i = 0; i < columnCount; i++) + { + textTable->SetColumnOption(i, GuiCellOption::AbsoluteOption(dataGrid->columnItemView->GetColumnSize(i))); + } + textTable->UpdateCellBounds(); + } + } + + bool DefaultDataGridItemTemplate::IsEditorOpened() + { + return currentEditor != nullptr; + } + + void DefaultDataGridItemTemplate::NotifyOpenEditor(vint column, IDataEditor* editor) + { + currentEditor = editor; + if (currentEditor) + { + auto cell = textTable->GetSitedCell(0, column); + auto* editorBounds = currentEditor->GetTemplate(); + if (editorBounds->GetParent() && editorBounds->GetParent() != cell) + { + editorBounds->GetParent()->RemoveChild(editorBounds); + } + editorBounds->SetAlignmentToParent(Margin(0, 0, 0, 0)); + cell->AddChild(editorBounds); + if (auto focusControl = currentEditor->GetTemplate()->GetFocusControl()) + { + focusControl->SetFocus(); + } + } + } + + void DefaultDataGridItemTemplate::NotifyCloseEditor() + { + if (currentEditor) + { + auto composition = currentEditor->GetTemplate(); + if (composition->GetParent()) + { + composition->GetParent()->RemoveChild(composition); + } + currentEditor = nullptr; + } + } + + void DefaultDataGridItemTemplate::NotifySelectCell(vint column) + { + for (vint i = 0; i < dataVisualizers.Count(); i++) + { + dataVisualizers[i]->SetSelected(i == column); + } + } + + void DefaultDataGridItemTemplate::NotifyCellEdited() + { + for (vint i = 0; i < dataVisualizers.Count(); i++) + { + dataVisualizers[i]->BeforeVisualizeCell(listControl->GetItemProvider(), GetIndex(), i); + } + } + } + +/*********************************************************************** +GuiVirtualDataGrid (Editor) +***********************************************************************/ + + using namespace list; + + void GuiVirtualDataGrid::OnItemModified(vint start, vint count, vint newCount) + { + GuiVirtualListView::OnItemModified(start, count, newCount); + if(!GetItemProvider()->IsEditing()) + { + StopEdit(false); + } + } + + void GuiVirtualDataGrid::OnStyleUninstalled(ItemStyle* style) + { + GuiVirtualListView::OnStyleUninstalled(style); + if (auto itemStyle = dynamic_cast(style)) + { + if (itemStyle->IsEditorOpened()) + { + itemStyle->NotifyCloseEditor(); + currentEditor = nullptr; + currentEditorPos = { -1,-1 }; + } + } + } + + void GuiVirtualDataGrid::NotifyCloseEditor() + { + if (currentEditorPos.row != -1 && GetArranger()) + { + auto style = GetArranger()->GetVisibleStyle(currentEditorPos.row); + if (auto itemStyle = dynamic_cast(style)) + { + itemStyle->NotifyCloseEditor(); + } + } + } + + void GuiVirtualDataGrid::NotifySelectCell(vint row, vint column) + { + selectedCell = { row, column }; + SelectedCellChanged.Execute(GetNotifyEventArguments()); + + auto style = GetArranger()->GetVisibleStyle(row); + if (auto itemStyle = dynamic_cast(style)) + { + itemStyle->NotifySelectCell(column); + } + } + + bool GuiVirtualDataGrid::StartEdit(vint row, vint column) + { + StopEdit(true); + NotifySelectCell(row, column); + + auto style = GetArranger()->GetVisibleStyle(row); + if (auto itemStyle = dynamic_cast(style)) + { + if (auto factory = dataGridView->GetCellDataEditorFactory(row, column)) + { + currentEditorOpeningEditor = true; + currentEditorPos = { row,column }; + currentEditor = factory->CreateEditor(this); + currentEditor->BeforeEditCell(GetItemProvider(), row, column); + itemStyle->NotifyOpenEditor(column, currentEditor.Obj()); + currentEditorOpeningEditor = false; + return true; + } + } return false; } - ColumnSortingState GuiListViewColumnHeader::GetColumnSortingState() + void GuiVirtualDataGrid::StopEdit(bool forOpenNewEditor) { - return columnSortingState; - } - - void GuiListViewColumnHeader::SetColumnSortingState(ColumnSortingState value) - { - if(columnSortingState!=value) + if (GetItemProvider()->IsEditing()) { - columnSortingState=value; - styleController->SetColumnSortingState(columnSortingState); + NotifyCloseEditor(); } + else + { + if (currentEditorPos != GridPos{-1, -1}) + { + if (currentEditor) + { + NotifyCloseEditor(); + } + if (!forOpenNewEditor) + { + NotifySelectCell(-1, -1); + } + } + } + currentEditor = nullptr; + currentEditorPos = { -1,-1 }; } /*********************************************************************** -GuiListViewBase +GuiVirtualDataGrid (IDataGridContext) ***********************************************************************/ - GuiListViewBase::GuiListViewBase(IStyleProvider* _styleProvider, GuiListControl::IItemProvider* _itemProvider) - :GuiSelectableListControl(_styleProvider, _itemProvider) - ,styleProvider(0) + templates::GuiListViewTemplate* GuiVirtualDataGrid::GetListViewControlTemplate() { - styleProvider=dynamic_cast(styleController->GetStyleProvider()); - ColumnClicked.SetAssociatedComposition(boundsComposition); + return GetControlTemplateObject(); } - GuiListViewBase::~GuiListViewBase() + description::Value GuiVirtualDataGrid::GetViewModelContext() { + return dataGridView->GetViewModelContext(); } - GuiListViewBase::IStyleProvider* GuiListViewBase::GetListViewStyleProvider() + void GuiVirtualDataGrid::RequestSaveData() { - return styleProvider; - } - - namespace list - { - - const wchar_t* const IListViewItemView::Identifier = L"vl::presentation::controls::list::IListViewItemView"; - -/*********************************************************************** -ListViewColumnItemArranger::ColumnItemViewCallback -***********************************************************************/ - - ListViewColumnItemArranger::ColumnItemViewCallback::ColumnItemViewCallback(ListViewColumnItemArranger* _arranger) - :arranger(_arranger) + if (currentEditor && !currentEditorOpeningEditor) { - } - - ListViewColumnItemArranger::ColumnItemViewCallback::~ColumnItemViewCallback() - { - } - - void ListViewColumnItemArranger::ColumnItemViewCallback::OnColumnChanged() - { - arranger->RebuildColumns(); - FOREACH(ItemStyleRecord, style, arranger->visibleStyles) + GuiControl* focusedControl = nullptr; + if (auto controlHost = GetRelatedControlHost()) { - if (auto callback = dynamic_cast(style.key)) + if (auto graphicsHost = controlHost->GetGraphicsHost()) { - callback->OnColumnChanged(); - } - } - } - -/*********************************************************************** -ListViewColumnItemArranger -***********************************************************************/ - - const wchar_t* const ListViewColumnItemArranger::IColumnItemView::Identifier = L"vl::presentation::controls::list::ListViewColumnItemArranger::IColumnItemView"; - - void ListViewColumnItemArranger::ColumnClicked(vint index, compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) - { - GuiItemEventArgs args(listView->ColumnClicked.GetAssociatedComposition()); - args.itemIndex=index; - listView->ColumnClicked.Execute(args); - } - - void ListViewColumnItemArranger::ColumnBoundsChanged(vint index, compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) - { - GuiBoundsComposition* buttonBounds=columnHeaderButtons[index]->GetBoundsComposition(); - vint size=buttonBounds->GetBounds().Width(); - if(size>columnItemView->GetColumnSize(index)) - { - columnItemView->SetColumnSize(index, size); - } - } - - void ListViewColumnItemArranger::ColumnHeaderSplitterLeftButtonDown(compositions::GuiGraphicsComposition* sender, compositions::GuiMouseEventArgs& arguments) - { - if(listView->GetVisuallyEnabled()) - { - arguments.handled=true; - splitterDragging=true; - splitterLatestX=arguments.x; - } - } - - void ListViewColumnItemArranger::ColumnHeaderSplitterLeftButtonUp(compositions::GuiGraphicsComposition* sender, compositions::GuiMouseEventArgs& arguments) - { - if(listView->GetVisuallyEnabled()) - { - arguments.handled=true; - splitterDragging=false; - splitterLatestX=0; - } - } - - void ListViewColumnItemArranger::ColumnHeaderSplitterMouseMove(compositions::GuiGraphicsComposition* sender, compositions::GuiMouseEventArgs& arguments) - { - if(splitterDragging) - { - vint offset=arguments.x-splitterLatestX; - vint index=columnHeaderSplitters.IndexOf(dynamic_cast(sender)); - if(index!=-1) - { - GuiBoundsComposition* buttonBounds=columnHeaderButtons[index]->GetBoundsComposition(); - Rect bounds=buttonBounds->GetBounds(); - Rect newBounds(bounds.LeftTop(), Size(bounds.Width()+offset, bounds.Height())); - buttonBounds->SetBounds(newBounds); - - vint finalSize=buttonBounds->GetBounds().Width(); - columnItemView->SetColumnSize(index, finalSize); - } - } - } - - void ListViewColumnItemArranger::RearrangeItemBounds() - { - FixedHeightItemArranger::RearrangeItemBounds(); - vint count = columnHeaders->GetParent()->Children().Count(); - columnHeaders->GetParent()->MoveChild(columnHeaders, count - 1); - columnHeaders->SetBounds(Rect(Point(-viewBounds.Left(), 0), Size(0, 0))); - } - - vint ListViewColumnItemArranger::GetWidth() - { - vint width=columnHeaders->GetBounds().Width()-SplitterWidth; - if(widthGetBounds().Height(); - } - - Size ListViewColumnItemArranger::OnCalculateTotalSize() - { - Size size=FixedHeightItemArranger::OnCalculateTotalSize(); - size.x+=SplitterWidth; - return size; - } - - void ListViewColumnItemArranger::DeleteColumnButtons() - { - for(vint i=columnHeaders->GetStackItems().Count()-1;i>=0;i--) - { - GuiStackItemComposition* item=columnHeaders->GetStackItems().Get(i); - columnHeaders->RemoveChild(item); - - GuiControl* button=item->Children().Get(0)->GetAssociatedControl(); - if(button) - { - item->RemoveChild(button->GetBoundsComposition()); - delete button; - } - delete item; - } - columnHeaderButtons.Clear(); - columnHeaderSplitters.Clear(); - } - - void ListViewColumnItemArranger::RebuildColumns() - { - if (columnItemView && columnHeaderButtons.Count() == listViewItemView->GetColumnCount()) - { - for (vint i = 0; i < listViewItemView->GetColumnCount(); i++) - { - GuiListViewColumnHeader* button = columnHeaderButtons[i]; - button->SetText(listViewItemView->GetColumnText(i)); - button->SetSubMenu(columnItemView->GetDropdownPopup(i), false); - button->SetColumnSortingState(columnItemView->GetSortingState(i)); - button->GetBoundsComposition()->SetBounds(Rect(Point(0, 0), Size(columnItemView->GetColumnSize(i), 0))); - } - } - else - { - DeleteColumnButtons(); - if (columnItemView && listViewItemView) - { - for (vint i = 0; i < listViewItemView->GetColumnCount(); i++) + if (auto focusComposition = graphicsHost->GetFocusedComposition()) { - GuiBoundsComposition* splitterComposition = new GuiBoundsComposition; - splitterComposition->SetAlignmentToParent(Margin(0, 0, 0, 0)); - splitterComposition->SetAssociatedCursor(GetCurrentController()->ResourceService()->GetSystemCursor(INativeCursor::SizeWE)); - splitterComposition->SetAlignmentToParent(Margin(0, 0, -1, 0)); - splitterComposition->SetPreferredMinSize(Size(SplitterWidth, 0)); - columnHeaderSplitters.Add(splitterComposition); - - splitterComposition->GetEventReceiver()->leftButtonDown.AttachMethod(this, &ListViewColumnItemArranger::ColumnHeaderSplitterLeftButtonDown); - splitterComposition->GetEventReceiver()->leftButtonUp.AttachMethod(this, &ListViewColumnItemArranger::ColumnHeaderSplitterLeftButtonUp); - splitterComposition->GetEventReceiver()->mouseMove.AttachMethod(this, &ListViewColumnItemArranger::ColumnHeaderSplitterMouseMove); - } - for (vint i = 0; i < listViewItemView->GetColumnCount(); i++) - { - GuiListViewColumnHeader* button = new GuiListViewColumnHeader(styleProvider->CreateColumnStyle()); - button->SetText(listViewItemView->GetColumnText(i)); - button->SetSubMenu(columnItemView->GetDropdownPopup(i), false); - button->SetColumnSortingState(columnItemView->GetSortingState(i)); - button->GetBoundsComposition()->SetBounds(Rect(Point(0, 0), Size(columnItemView->GetColumnSize(i), 0))); - button->Clicked.AttachLambda(Curry(Func(this, &ListViewColumnItemArranger::ColumnClicked))(i)); - button->GetBoundsComposition()->BoundsChanged.AttachLambda(Curry(Func(this, &ListViewColumnItemArranger::ColumnBoundsChanged))(i)); - columnHeaderButtons.Add(button); - if (i > 0) - { - button->GetContainerComposition()->AddChild(columnHeaderSplitters[i - 1]); - } - - GuiStackItemComposition* item = new GuiStackItemComposition; - item->SetMinSizeLimitation(GuiGraphicsComposition::LimitToElementAndChildren); - item->AddChild(button->GetBoundsComposition()); - columnHeaders->AddChild(item); - } - if (listViewItemView->GetColumnCount() > 0) - { - GuiBoundsComposition* splitterComposition = columnHeaderSplitters[listViewItemView->GetColumnCount() - 1]; - - GuiStackItemComposition* item = new GuiStackItemComposition; - item->SetMinSizeLimitation(GuiGraphicsComposition::LimitToElementAndChildren); - item->AddChild(splitterComposition); - columnHeaders->AddChild(item); + focusedControl = focusComposition->GetRelatedControl(); } } } - callback->OnTotalSizeChanged(); - } - ListViewColumnItemArranger::ListViewColumnItemArranger() - { - columnHeaders = new GuiStackComposition; - columnHeaders->SetMinSizeLimitation(GuiGraphicsComposition::LimitToElementAndChildren); - columnItemViewCallback = new ColumnItemViewCallback(this); - } + GetItemProvider()->PushEditing(); + dataGridView->SetBindingCellValue(currentEditorPos.row, currentEditorPos.column, currentEditor->GetTemplate()->GetCellValue()); + GetItemProvider()->PopEditing(); - ListViewColumnItemArranger::~ListViewColumnItemArranger() - { - if(!columnHeaders->GetParent()) + auto style = GetArranger()->GetVisibleStyle(currentEditorPos.row); + if (auto itemStyle = dynamic_cast(style)) { - DeleteColumnButtons(); - delete columnHeaders; + itemStyle->NotifyCellEdited(); } - } - void ListViewColumnItemArranger::AttachListControl(GuiListControl* value) - { - FixedHeightItemArranger::AttachListControl(value); - listView = dynamic_cast(value); - if (listView) + if (currentEditor && focusedControl) { - styleProvider = listView->GetListViewStyleProvider(); - listView->GetContainerComposition()->AddChild(columnHeaders); - listViewItemView = dynamic_cast(listView->GetItemProvider()->RequestView(IListViewItemView::Identifier)); - columnItemView = dynamic_cast(listView->GetItemProvider()->RequestView(IColumnItemView::Identifier)); - if (columnItemView) - { - columnItemView->AttachCallback(columnItemViewCallback.Obj()); - RebuildColumns(); - } + focusedControl->SetFocus(); } } - - void ListViewColumnItemArranger::DetachListControl() - { - if (listView) - { - if (columnItemView) - { - columnItemView->DetachCallback(columnItemViewCallback.Obj()); - columnItemView = nullptr; - } - listViewItemView = nullptr; - listView->GetContainerComposition()->RemoveChild(columnHeaders); - styleProvider = nullptr; - listView = nullptr; - } - FixedHeightItemArranger::DetachListControl(); - } - -/*********************************************************************** -ListViewSubItems -***********************************************************************/ - - void ListViewSubItems::NotifyUpdateInternal(vint start, vint count, vint newCount) - { - owner->NotifyUpdate(); - } - -/*********************************************************************** -ListViewItem -***********************************************************************/ - - void ListViewItem::NotifyUpdate() - { - if (owner) - { - vint index = owner->IndexOf(this); - owner->NotifyUpdateInternal(index, 1, 1); - } - } - - ListViewItem::ListViewItem() - :owner(0) - { - subItems.owner = this; - } - - ListViewSubItems& ListViewItem::GetSubItems() - { - return subItems; - } - - Ptr ListViewItem::GetSmallImage() - { - return smallImage; - } - - void ListViewItem::SetSmallImage(Ptr value) - { - smallImage = value; - NotifyUpdate(); - } - - Ptr ListViewItem::GetLargeImage() - { - return largeImage; - } - - void ListViewItem::SetLargeImage(Ptr value) - { - largeImage = value; - NotifyUpdate(); - } - - const WString& ListViewItem::GetText() - { - return text; - } - - void ListViewItem::SetText(const WString& value) - { - text = value; - NotifyUpdate(); - } - - description::Value ListViewItem::GetTag() - { - return tag; - } - - void ListViewItem::SetTag(const description::Value& value) - { - tag = value; - NotifyUpdate(); - } - -/*********************************************************************** -ListViewColumn -***********************************************************************/ - - void ListViewColumn::NotifyUpdate(bool affectItem) - { - if (owner) - { - vint index = owner->IndexOf(this); - owner->NotifyColumnUpdated(index, affectItem); - } - } - - ListViewColumn::ListViewColumn(const WString& _text, vint _size) - :text(_text) - ,size(_size) - { - } - - ListViewColumn::~ListViewColumn() - { - if (dropdownPopup && ownPopup) - { - SafeDeleteControl(dropdownPopup); - } - } - - const WString& ListViewColumn::GetText() - { - return text; - } - - void ListViewColumn::SetText(const WString& value) - { - if (text != value) - { - text = value; - NotifyUpdate(false); - } - } - - ItemProperty ListViewColumn::GetTextProperty() - { - return textProperty; - } - - void ListViewColumn::SetTextProperty(const ItemProperty& value) - { - textProperty = value; - NotifyUpdate(true); - } - - vint ListViewColumn::GetSize() - { - return size; - } - - void ListViewColumn::SetSize(vint value) - { - if (size != value) - { - size = value; - NotifyUpdate(false); - } - } - - bool ListViewColumn::GetOwnPopup() - { - return ownPopup; - } - - void ListViewColumn::SetOwnPopup(bool value) - { - ownPopup = value; - } - - GuiMenu* ListViewColumn::GetDropdownPopup() - { - return dropdownPopup; - } - - void ListViewColumn::SetDropdownPopup(GuiMenu* value) - { - if (dropdownPopup != value) - { - dropdownPopup = value; - NotifyUpdate(false); - } - } - - ColumnSortingState ListViewColumn::GetSortingState() - { - return sortingState; - } - - void ListViewColumn::SetSortingState(ColumnSortingState value) - { - if (sortingState != value) - { - sortingState = value; - NotifyUpdate(false); - } - } - -/*********************************************************************** -ListViewDataColumns -***********************************************************************/ - - void ListViewDataColumns::NotifyUpdateInternal(vint start, vint count, vint newCount) - { - itemProvider->NotifyAllItemsUpdate(); - } - - ListViewDataColumns::ListViewDataColumns(IListViewItemProvider* _itemProvider) - :itemProvider(_itemProvider) - { - } - - ListViewDataColumns::~ListViewDataColumns() - { - } - -/*********************************************************************** -ListViewColumns -***********************************************************************/ - - void ListViewColumns::NotifyColumnUpdated(vint column, bool affectItem) - { - affectItemFlag = affectItem; - NotifyUpdate(column, 1); - affectItemFlag = true; - } - - void ListViewColumns::AfterInsert(vint index, const Ptr& value) - { - collections::ObservableListBase>::AfterInsert(index, value); - value->owner = this; - } - - void ListViewColumns::BeforeRemove(vint index, const Ptr& value) - { - value->owner = 0; - collections::ObservableListBase>::BeforeRemove(index, value); - } - - void ListViewColumns::NotifyUpdateInternal(vint start, vint count, vint newCount) - { - itemProvider->NotifyAllColumnsUpdate(); - if (affectItemFlag) - { - itemProvider->NotifyAllItemsUpdate(); - } - } - - ListViewColumns::ListViewColumns(IListViewItemProvider* _itemProvider) - :itemProvider(_itemProvider) - { - } - - ListViewColumns::~ListViewColumns() - { - } - -/*********************************************************************** -ListViewItemProvider -***********************************************************************/ - - void ListViewItemProvider::AfterInsert(vint index, const Ptr& value) - { - ListProvider>::AfterInsert(index, value); - value->owner = this; - } - - void ListViewItemProvider::BeforeRemove(vint index, const Ptr& value) - { - value->owner = 0; - ListProvider>::AfterInsert(index, value); - } - - void ListViewItemProvider::NotifyAllItemsUpdate() - { - NotifyUpdate(0, Count()); - } - - void ListViewItemProvider::NotifyAllColumnsUpdate() - { - for (vint i = 0; i < columnItemViewCallbacks.Count(); i++) - { - columnItemViewCallbacks[i]->OnColumnChanged(); - } - } - - Ptr ListViewItemProvider::GetSmallImage(vint itemIndex) - { - return Get(itemIndex)->smallImage; - } - - Ptr ListViewItemProvider::GetLargeImage(vint itemIndex) - { - return Get(itemIndex)->largeImage; - } - - WString ListViewItemProvider::GetText(vint itemIndex) - { - return Get(itemIndex)->text; - } - - WString ListViewItemProvider::GetSubItem(vint itemIndex, vint index) - { - Ptr item=Get(itemIndex); - if(index<0 || index>=item->GetSubItems().Count()) - { - return L""; - } - else - { - return item->GetSubItems()[index]; - } - } - - vint ListViewItemProvider::GetDataColumnCount() - { - return dataColumns.Count(); - } - - vint ListViewItemProvider::GetDataColumn(vint index) - { - return dataColumns[index]; - } - - vint ListViewItemProvider::GetColumnCount() - { - return columns.Count(); - } - - WString ListViewItemProvider::GetColumnText(vint index) - { - if (index<0 || index >= columns.Count()) - { - return L""; - } - else - { - return columns[index]->GetText(); - } - } - - bool ListViewItemProvider::AttachCallback(ListViewColumnItemArranger::IColumnItemViewCallback* value) - { - if(columnItemViewCallbacks.Contains(value)) - { - return false; - } - else - { - columnItemViewCallbacks.Add(value); - return true; - } - } - - bool ListViewItemProvider::DetachCallback(ListViewColumnItemArranger::IColumnItemViewCallback* value) - { - vint index=columnItemViewCallbacks.IndexOf(value); - if(index==-1) - { - return false; - } - else - { - columnItemViewCallbacks.Remove(value); - return true; - } - } - - vint ListViewItemProvider::GetColumnSize(vint index) - { - if(index<0 || index>=columns.Count()) - { - return 0; - } - else - { - return columns[index]->GetSize(); - } - } - - void ListViewItemProvider::SetColumnSize(vint index, vint value) - { - if(index>=0 && indexSetSize(value); - } - } - - GuiMenu* ListViewItemProvider::GetDropdownPopup(vint index) - { - if(index<0 || index>=columns.Count()) - { - return 0; - } - else - { - return columns[index]->GetDropdownPopup(); - } - } - - ColumnSortingState ListViewItemProvider::GetSortingState(vint index) - { - if (index < 0 || index >= columns.Count()) - { - return ColumnSortingState::NotSorted; - } - else - { - return columns[index]->GetSortingState(); - } - } - - WString ListViewItemProvider::GetTextValue(vint itemIndex) - { - return GetText(itemIndex); - } - - description::Value ListViewItemProvider::GetBindingValue(vint itemIndex) - { - return Value::From(Get(itemIndex)); - } - - ListViewItemProvider::ListViewItemProvider() - :columns(this) - , dataColumns(this) - { - } - - ListViewItemProvider::~ListViewItemProvider() - { - } - - IDescriptable* ListViewItemProvider::RequestView(const WString& identifier) - { - if (identifier == IListViewItemView::Identifier) - { - return (IListViewItemView*)this; - } - else if (identifier == ListViewColumnItemArranger::IColumnItemView::Identifier) - { - return (ListViewColumnItemArranger::IColumnItemView*)this; - } - else - { - return 0; - } - } - - ListViewDataColumns& ListViewItemProvider::GetDataColumns() - { - return dataColumns; - } - - ListViewColumns& ListViewItemProvider::GetColumns() - { - return columns; - } } /*********************************************************************** -GuiListView +GuiVirtualDataGrid ***********************************************************************/ - void GuiVirtualListView::OnStyleInstalled(vint itemIndex, ItemStyle* style) + void GuiVirtualDataGrid::OnColumnClicked(compositions::GuiGraphicsComposition* sender, compositions::GuiItemEventArgs& arguments) { - GuiListViewBase::OnStyleInstalled(itemIndex, style); - } - - void GuiVirtualListView::OnItemTemplateChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) - { - view = ListViewView::Unknown; - } - - GuiVirtualListView::GuiVirtualListView(IStyleProvider* _styleProvider, GuiListControl::IItemProvider* _itemProvider) - :GuiListViewBase(_styleProvider, _itemProvider) - { - SetView(ListViewView::Detail); - } - - GuiVirtualListView::~GuiVirtualListView() - { - } - - ListViewView GuiVirtualListView::GetView() - { - return view; - } - - void GuiVirtualListView::SetView(ListViewView _view) - { - switch (_view) + if(dataGridView->IsColumnSortable(arguments.itemIndex)) { - case ListViewView::BigIcon: - SetStyleAndArranger( - [](const Value&) { return new list::BigIconListViewItemTemplate; }, - new list::FixedSizeMultiColumnItemArranger - ); - break; - case ListViewView::SmallIcon: - SetStyleAndArranger( - [](const Value&) { return new list::SmallIconListViewItemTemplate; }, - new list::FixedSizeMultiColumnItemArranger - ); - break; - case ListViewView::List: - SetStyleAndArranger( - [](const Value&) { return new list::ListListViewItemTemplate; }, - new list::FixedHeightMultiColumnItemArranger - ); - break; - case ListViewView::Tile: - SetStyleAndArranger( - [](const Value&) { return new list::TileListViewItemTemplate; }, - new list::FixedSizeMultiColumnItemArranger - ); - break; - case ListViewView::Information: - SetStyleAndArranger( - [](const Value&) { return new list::InformationListViewItemTemplate; }, - new list::FixedHeightItemArranger - ); - break; - case ListViewView::Detail: - SetStyleAndArranger( - [](const Value&) { return new list::DetailListViewItemTemplate; }, - new list::ListViewColumnItemArranger - ); - break; - default:; + switch(columnItemView->GetSortingState(arguments.itemIndex)) + { + case ColumnSortingState::NotSorted: + dataGridView->SortByColumn(arguments.itemIndex, true); + break; + case ColumnSortingState::Ascending: + dataGridView->SortByColumn(arguments.itemIndex, false); + break; + case ColumnSortingState::Descending: + dataGridView->SortByColumn(-1, false); + break; + } } - view = _view; } -/*********************************************************************** -GuiListView -***********************************************************************/ - - GuiListView::GuiListView(IStyleProvider* _styleProvider) - :GuiVirtualListView(_styleProvider, new list::ListViewItemProvider) + GuiVirtualDataGrid::GuiVirtualDataGrid(theme::ThemeName themeName, GuiListControl::IItemProvider* _itemProvider) + :GuiVirtualListView(themeName, _itemProvider) { - items=dynamic_cast(itemProvider.Obj()); + listViewItemView = dynamic_cast(_itemProvider->RequestView(IListViewItemView::Identifier)); + columnItemView = dynamic_cast(_itemProvider->RequestView(ListViewColumnItemArranger::IColumnItemView::Identifier)); + dataGridView = dynamic_cast(_itemProvider->RequestView(IDataGridView::Identifier)); + + { + auto mainProperty = [](const Value&) { return new MainColumnVisualizerTemplate; }; + auto subProperty = [](const Value&) { return new SubColumnVisualizerTemplate; }; + auto cellBorderProperty = [](const Value&) { return new CellBorderVisualizerTemplate; }; + + auto mainFactory = MakePtr(mainProperty); + auto subFactory = MakePtr(subProperty); + defaultMainColumnVisualizerFactory = MakePtr(cellBorderProperty, mainFactory); + defaultSubColumnVisualizerFactory = MakePtr(cellBorderProperty, subFactory); + } + + CHECK_ERROR(listViewItemView != nullptr, L"GuiVirtualDataGrid::GuiVirtualDataGrid(IStyleController*, GuiListControl::IItemProvider*)#Missing IListViewItemView from item provider."); + CHECK_ERROR(columnItemView != nullptr, L"GuiVirtualDataGrid::GuiVirtualDataGrid(IStyleController*, GuiListControl::IItemProvider*)#Missing ListViewColumnItemArranger::IColumnItemView from item provider."); + CHECK_ERROR(dataGridView != nullptr, L"GuiVirtualDataGrid::GuiVirtualDataGrid(IStyleController*, GuiListControl::IItemProvider*)#Missing IDataGridView from item provider."); + + SetViewToDefault(); + ColumnClicked.AttachMethod(this, &GuiVirtualDataGrid::OnColumnClicked); + SelectedCellChanged.SetAssociatedComposition(boundsComposition); } - GuiListView::~GuiListView() + GuiVirtualDataGrid::~GuiVirtualDataGrid() { } - list::ListViewItemProvider& GuiListView::GetItems() + GuiListControl::IItemProvider* GuiVirtualDataGrid::GetItemProvider() { - return *items; + return GuiVirtualListView::GetItemProvider(); } - list::ListViewDataColumns& GuiListView::GetDataColumns() + void GuiVirtualDataGrid::SetViewToDefault() { - return items->GetDataColumns(); + SetStyleAndArranger( + [](const Value&) { return new list::DefaultDataGridItemTemplate; }, + new list::ListViewColumnItemArranger + ); } - list::ListViewColumns& GuiListView::GetColumns() + GridPos GuiVirtualDataGrid::GetSelectedCell() { - return items->GetColumns(); + return selectedCell; } - Ptr GuiListView::GetSelectedItem() + void GuiVirtualDataGrid::SetSelectedCell(const GridPos& value) { - vint index = GetSelectedItemIndex(); - if (index == -1) return 0; - return items->Get(index); + if (selectedCell == value) + { + return; + } + + bool validPos = 0 <= value.row && value.row < GetItemProvider()->Count() && 0 <= value.column && value.column < listViewItemView->GetColumnCount(); + StopEdit(true); + + if (validPos) + { + NotifySelectCell(value.row, value.column); + } + else + { + NotifySelectCell(-1, -1); + } + + if (validPos) + { + EnsureItemVisible(value.row); + ClearSelection(); + SetSelected(value.row, true); + StartEdit(value.row, value.column); + } + else + { + ClearSelection(); + } } } } @@ -18739,7 +17132,6 @@ BigIconListViewItemTemplate if (auto listView = dynamic_cast(listControl)) { - auto styleProvider = listView->GetListViewStyleProvider(); auto itemIndex = GetIndex(); if (auto view = dynamic_cast(listView->GetItemProvider()->RequestView(IListViewItemView::Identifier))) { @@ -18753,7 +17145,7 @@ BigIconListViewItemTemplate image->SetImage(nullptr); } text->SetText(view->GetText(itemIndex)); - text->SetColor(styleProvider->GetPrimaryTextColor()); + text->SetColor(listView->GetControlTemplateObject()->GetPrimaryTextColor()); } } @@ -18818,7 +17210,6 @@ SmallIconListViewItemTemplate if (auto listView = dynamic_cast(listControl)) { - auto styleProvider = listView->GetListViewStyleProvider(); auto itemIndex = GetIndex(); if (auto view = dynamic_cast(listView->GetItemProvider()->RequestView(IListViewItemView::Identifier))) { @@ -18832,7 +17223,7 @@ SmallIconListViewItemTemplate image->SetImage(nullptr); } text->SetText(view->GetText(itemIndex)); - text->SetColor(styleProvider->GetPrimaryTextColor()); + text->SetColor(listView->GetControlTemplateObject()->GetPrimaryTextColor()); } } @@ -18896,7 +17287,6 @@ ListListViewItemTemplate if (auto listView = dynamic_cast(listControl)) { - auto styleProvider = listView->GetListViewStyleProvider(); auto itemIndex = GetIndex(); if (auto view = dynamic_cast(listView->GetItemProvider()->RequestView(IListViewItemView::Identifier))) { @@ -18910,7 +17300,7 @@ ListListViewItemTemplate image->SetImage(nullptr); } text->SetText(view->GetText(itemIndex)); - text->SetColor(styleProvider->GetPrimaryTextColor()); + text->SetColor(listView->GetControlTemplateObject()->GetPrimaryTextColor()); } } @@ -19006,7 +17396,6 @@ TileListViewItemTemplate if (auto listView = dynamic_cast(listControl)) { - auto styleProvider = listView->GetListViewStyleProvider(); auto itemIndex = GetIndex(); if (auto view = dynamic_cast(listView->GetItemProvider()->RequestView(IListViewItemView::Identifier))) { @@ -19020,7 +17409,7 @@ TileListViewItemTemplate image->SetImage(nullptr); } text->SetText(view->GetText(itemIndex)); - text->SetColor(styleProvider->GetPrimaryTextColor()); + text->SetColor(listView->GetControlTemplateObject()->GetPrimaryTextColor()); vint dataColumnCount = view->GetDataColumnCount(); ResetTextTable(dataColumnCount + 1); @@ -19029,7 +17418,7 @@ TileListViewItemTemplate { dataTexts[i] = CreateTextElement(i + 1); dataTexts[i]->SetText(view->GetSubItem(itemIndex, view->GetDataColumn(i))); - dataTexts[i]->SetColor(styleProvider->GetSecondaryTextColor()); + dataTexts[i]->SetColor(listView->GetControlTemplateObject()->GetSecondaryTextColor()); } } } @@ -19122,7 +17511,6 @@ InformationListViewItemTemplate if (auto listView = dynamic_cast(listControl)) { - auto styleProvider = listView->GetListViewStyleProvider(); auto itemIndex = GetIndex(); if (auto view = dynamic_cast(listView->GetItemProvider()->RequestView(IListViewItemView::Identifier))) { @@ -19136,8 +17524,8 @@ InformationListViewItemTemplate image->SetImage(nullptr); } text->SetText(view->GetText(itemIndex)); - text->SetColor(styleProvider->GetPrimaryTextColor()); - bottomLine->SetColor(styleProvider->GetItemSeparatorColor()); + text->SetColor(listView->GetControlTemplateObject()->GetPrimaryTextColor()); + bottomLine->SetColor(listView->GetControlTemplateObject()->GetItemSeparatorColor()); vint dataColumnCount = view->GetDataColumnCount(); columnTexts.Resize(dataColumnCount); @@ -19173,7 +17561,7 @@ InformationListViewItemTemplate columnTexts[i] = GuiSolidLabelElement::Create(); columnTexts[i]->SetText(view->GetColumnText(view->GetDataColumn(i) + 1) + L": "); - columnTexts[i]->SetColor(styleProvider->GetSecondaryTextColor()); + columnTexts[i]->SetColor(listView->GetControlTemplateObject()->GetSecondaryTextColor()); cell->SetOwnedElement(columnTexts[i]); } { @@ -19184,7 +17572,7 @@ InformationListViewItemTemplate dataTexts[i]= GuiSolidLabelElement::Create(); dataTexts[i]->SetEllipse(true); dataTexts[i]->SetText(view->GetSubItem(itemIndex, view->GetDataColumn(i))); - dataTexts[i]->SetColor(styleProvider->GetPrimaryTextColor()); + dataTexts[i]->SetColor(listView->GetControlTemplateObject()->GetPrimaryTextColor()); cell->SetOwnedElement(dataTexts[i]); } } @@ -19279,7 +17667,6 @@ DetailListViewItemTemplate if (auto listView = dynamic_cast(listControl)) { - auto styleProvider = listView->GetListViewStyleProvider(); auto itemIndex = GetIndex(); if (auto view = dynamic_cast(listView->GetItemProvider()->RequestView(IListViewItemView::Identifier))) { @@ -19293,7 +17680,7 @@ DetailListViewItemTemplate image->SetImage(0); } text->SetText(view->GetText(itemIndex)); - text->SetColor(styleProvider->GetPrimaryTextColor()); + text->SetColor(listView->GetControlTemplateObject()->GetPrimaryTextColor()); vint columnCount = view->GetColumnCount() - 1; subItems.Resize(columnCount); @@ -19310,7 +17697,7 @@ DetailListViewItemTemplate subItems[i]->SetFont(text->GetFont()); subItems[i]->SetEllipse(true); subItems[i]->SetText(view->GetSubItem(itemIndex, i)); - subItems[i]->SetColor(styleProvider->GetSecondaryTextColor()); + subItems[i]->SetColor(listView->GetControlTemplateObject()->GetSecondaryTextColor()); cell->SetOwnedElement(subItems[i]); } OnColumnChanged(); @@ -19557,17 +17944,14 @@ GuiApplication if(!sharedTooltipControl) { - GuiWindow::IStyleController* tooltipStyle = 0; + sharedTooltipControl = new GuiTooltip(theme::ThemeName::Tooltip); if (ownerWindow) { - tooltipStyle = dynamic_cast(ownerWindow->GetStyleController())->CreateTooltipStyle(); + if (auto tooltipStyle = ownerWindow->GetControlTemplateObject()->GetTooltipTemplate()) + { + sharedTooltipControl->SetControlTemplate(tooltipStyle); + } } - if (!tooltipStyle) - { - tooltipStyle = GetCurrentTheme()->CreateTooltipStyle(); - } - - sharedTooltipControl=new GuiTooltip(tooltipStyle); sharedTooltipControl->GetBoundsComposition()->GetEventReceiver()->mouseEnter.AttachMethod(this, &GuiApplication::TooltipMouseEnter); sharedTooltipControl->GetBoundsComposition()->GetEventReceiver()->mouseLeave.AttachMethod(this, &GuiApplication::TooltipMouseLeave); } @@ -19892,6 +18276,962 @@ void GuiApplicationMain() vl::presentation::controls::GuiApplicationInitialize(); } +/*********************************************************************** +.\CONTROLS\GUIBASICCONTROLS.CPP +***********************************************************************/ + +namespace vl +{ + namespace presentation + { + namespace controls + { + using namespace elements; + using namespace compositions; + using namespace collections; + using namespace reflection::description; + +/*********************************************************************** +GuiControl +***********************************************************************/ + + void GuiControl::BeforeControlTemplateUninstalled() + { + } + + void GuiControl::AfterControlTemplateInstalled(bool initialize) + { + controlTemplateObject->SetText(text); + controlTemplateObject->SetFont(font); + controlTemplateObject->SetVisuallyEnabled(isVisuallyEnabled); + controlTemplateObject->SetFocusableComposition(focusableComposition); + } + + void GuiControl::CheckAndStoreControlTemplate(templates::GuiControlTemplate* value) + { + controlTemplateObject = value; + } + + void GuiControl::EnsureControlTemplateExists() + { + if (!controlTemplateObject) + { + RebuildControlTemplate(); + } + } + + void GuiControl::RebuildControlTemplate() + { + bool initialize = controlTemplateObject == nullptr; + if (controlTemplateObject) + { + BeforeControlTemplateUninstalled(); + containerComposition->GetParent()->RemoveChild(containerComposition); + boundsComposition->AddChild(containerComposition); + SafeDeleteComposition(controlTemplateObject); + controlTemplateObject = nullptr; + } + + if (controlTemplate) + { + CheckAndStoreControlTemplate(controlTemplate({})); + } + else + { + CheckAndStoreControlTemplate(theme::GetCurrentTheme()->CreateStyle(controlThemeName)({})); + } + + if (controlTemplateObject) + { + controlTemplateObject->Initialize(); + controlTemplateObject->SetAlignmentToParent(Margin(0, 0, 0, 0)); + + containerComposition->GetParent()->RemoveChild(containerComposition); + boundsComposition->AddChild(controlTemplateObject); + controlTemplateObject->GetContainerComposition()->AddChild(containerComposition); + AfterControlTemplateInstalled(initialize); + } + } + + void GuiControl::OnChildInserted(GuiControl* control) + { + GuiControl* oldParent=control->parent; + children.Add(control); + control->parent=this; + control->OnParentChanged(oldParent, control->parent); + control->UpdateVisuallyEnabled(); + } + + void GuiControl::OnChildRemoved(GuiControl* control) + { + GuiControl* oldParent=control->parent; + control->parent=0; + children.Remove(control); + control->OnParentChanged(oldParent, control->parent); + } + + void GuiControl::OnParentChanged(GuiControl* oldParent, GuiControl* newParent) + { + OnParentLineChanged(); + } + + void GuiControl::OnParentLineChanged() + { + for(vint i=0;iOnParentLineChanged(); + } + } + + void GuiControl::OnRenderTargetChanged(elements::IGuiGraphicsRenderTarget* renderTarget) + { + RenderTargetChanged.Execute(GetNotifyEventArguments()); + } + + void GuiControl::OnBeforeReleaseGraphicsHost() + { + for(vint i=0;iOnBeforeReleaseGraphicsHost(); + } + } + + void GuiControl::UpdateVisuallyEnabled() + { + bool newValue = isEnabled && (parent == 0 ? true : parent->GetVisuallyEnabled()); + if (isVisuallyEnabled != newValue) + { + isVisuallyEnabled = newValue; + if (controlTemplateObject) + { + controlTemplateObject->SetVisuallyEnabled(isVisuallyEnabled); + } + VisuallyEnabledChanged.Execute(GetNotifyEventArguments()); + + for (vint i = 0; i < children.Count(); i++) + { + children[i]->UpdateVisuallyEnabled(); + } + } + } + + void GuiControl::SetFocusableComposition(compositions::GuiGraphicsComposition* value) + { + if (focusableComposition != value) + { + focusableComposition = value; + if (controlTemplateObject) + { + controlTemplateObject->SetFocusableComposition(focusableComposition); + } + } + } + + bool GuiControl::IsAltEnabled() + { + GuiControl* control = this; + while (control) + { + if (!control->GetVisible() || !control->GetEnabled()) + { + return false; + } + control = control->GetParent(); + } + + return true; + } + + bool GuiControl::IsAltAvailable() + { + return focusableComposition != 0 && alt != L""; + } + + compositions::GuiGraphicsComposition* GuiControl::GetAltComposition() + { + return boundsComposition; + } + + compositions::IGuiAltActionHost* GuiControl::GetActivatingAltHost() + { + return activatingAltHost; + } + + void GuiControl::OnActiveAlt() + { + SetFocus(); + } + + bool GuiControl::SharedPtrDestructorProc(DescriptableObject* obj, bool forceDisposing) + { + GuiControl* value=dynamic_cast(obj); + if(value->GetBoundsComposition()->GetParent()) + { + if (!forceDisposing) return false; + } + SafeDeleteControl(value); + return true; + } + + GuiControl::GuiControl(theme::ThemeName themeName) + :controlThemeName(themeName) + { + { + boundsComposition = new GuiBoundsComposition; + boundsComposition->SetAssociatedControl(this); + boundsComposition->SetMinSizeLimitation(GuiGraphicsComposition::LimitToElementAndChildren); + + containerComposition = new GuiBoundsComposition; + containerComposition->SetMinSizeLimitation(GuiGraphicsComposition::LimitToElementAndChildren); + containerComposition->SetAlignmentToParent(Margin(0, 0, 0, 0)); + + boundsComposition->AddChild(containerComposition); + } + { + ControlTemplateChanged.SetAssociatedComposition(boundsComposition); + RenderTargetChanged.SetAssociatedComposition(boundsComposition); + VisibleChanged.SetAssociatedComposition(boundsComposition); + EnabledChanged.SetAssociatedComposition(boundsComposition); + VisuallyEnabledChanged.SetAssociatedComposition(boundsComposition); + AltChanged.SetAssociatedComposition(boundsComposition); + TextChanged.SetAssociatedComposition(boundsComposition); + FontChanged.SetAssociatedComposition(boundsComposition); + } + font = GetCurrentController()->ResourceService()->GetDefaultFont(); + sharedPtrDestructorProc = &GuiControl::SharedPtrDestructorProc; + } + + GuiControl::~GuiControl() + { + // prevent a root bounds composition from notifying its dead controls + if (!parent) + { + NotifyFinalizeInstance(boundsComposition); + } + + if (tooltipControl) + { + // the only legal parent is the GuiApplication::sharedTooltipWindow + if (tooltipControl->GetBoundsComposition()->GetParent()) + { + tooltipControl->GetBoundsComposition()->GetParent()->RemoveChild(tooltipControl->GetBoundsComposition()); + } + delete tooltipControl; + } + + for (vint i = 0; i < children.Count(); i++) + { + delete children[i]; + } + children.Clear(); + + // let the root control of a control tree delete the whole composition tree + if (!parent) + { + delete boundsComposition; + } + } + + compositions::GuiEventArgs GuiControl::GetNotifyEventArguments() + { + return GuiEventArgs(boundsComposition); + } + + GuiControl::ControlTemplatePropertyType GuiControl::GetControlTemplate() + { + return controlTemplate; + } + + void GuiControl::SetControlTemplate(const ControlTemplatePropertyType& value) + { + controlTemplate = value; + RebuildControlTemplate(); + ControlTemplateChanged.Execute(GetNotifyEventArguments()); + } + + templates::GuiControlTemplate* GuiControl::GetControlTemplateObject() + { + EnsureControlTemplateExists(); + return controlTemplateObject; + } + + compositions::GuiBoundsComposition* GuiControl::GetBoundsComposition() + { + EnsureControlTemplateExists(); + return boundsComposition; + } + + compositions::GuiGraphicsComposition* GuiControl::GetContainerComposition() + { + EnsureControlTemplateExists(); + return containerComposition; + } + + compositions::GuiGraphicsComposition* GuiControl::GetFocusableComposition() + { + EnsureControlTemplateExists(); + return focusableComposition; + } + + GuiControl* GuiControl::GetParent() + { + return parent; + } + + vint GuiControl::GetChildrenCount() + { + return children.Count(); + } + + GuiControl* GuiControl::GetChild(vint index) + { + return children[index]; + } + + bool GuiControl::AddChild(GuiControl* control) + { + return GetContainerComposition()->AddChild(control->GetBoundsComposition()); + } + + bool GuiControl::HasChild(GuiControl* control) + { + return children.Contains(control); + } + + GuiControlHost* GuiControl::GetRelatedControlHost() + { + return parent?parent->GetRelatedControlHost():0; + } + + bool GuiControl::GetVisuallyEnabled() + { + return isVisuallyEnabled; + } + + bool GuiControl::GetEnabled() + { + return isEnabled; + } + + void GuiControl::SetEnabled(bool value) + { + if(isEnabled!=value) + { + isEnabled=value; + EnabledChanged.Execute(GetNotifyEventArguments()); + UpdateVisuallyEnabled(); + } + } + + bool GuiControl::GetVisible() + { + return isVisible; + } + + void GuiControl::SetVisible(bool value) + { + boundsComposition->SetVisible(value); + if(isVisible!=value) + { + isVisible=value; + VisibleChanged.Execute(GetNotifyEventArguments()); + } + } + + const WString& GuiControl::GetAlt() + { + return alt; + } + + bool GuiControl::SetAlt(const WString& value) + { + if (!IGuiAltAction::IsLegalAlt(value)) return false; + if (alt != value) + { + alt = value; + AltChanged.Execute(GetNotifyEventArguments()); + } + return true; + } + + void GuiControl::SetActivatingAltHost(compositions::IGuiAltActionHost* host) + { + activatingAltHost = host; + } + + const WString& GuiControl::GetText() + { + return text; + } + + void GuiControl::SetText(const WString& value) + { + if (text != value) + { + text = value; + if (controlTemplateObject) + { + controlTemplateObject->SetText(text); + } + TextChanged.Execute(GetNotifyEventArguments()); + } + } + + const FontProperties& GuiControl::GetFont() + { + return font; + } + + void GuiControl::SetFont(const FontProperties& value) + { + if (font != value) + { + font = value; + if (controlTemplateObject) + { + controlTemplateObject->SetFont(font); + } + FontChanged.Execute(GetNotifyEventArguments()); + } + } + + void GuiControl::SetFocus() + { + if(focusableComposition) + { + GuiGraphicsHost* host=focusableComposition->GetRelatedGraphicsHost(); + if(host) + { + host->SetFocus(focusableComposition); + } + } + } + + description::Value GuiControl::GetTag() + { + return tag; + } + + void GuiControl::SetTag(const description::Value& value) + { + tag=value; + } + + GuiControl* GuiControl::GetTooltipControl() + { + return tooltipControl; + } + + GuiControl* GuiControl::SetTooltipControl(GuiControl* value) + { + GuiControl* oldTooltipControl=tooltipControl; + tooltipControl=value; + return oldTooltipControl; + } + + vint GuiControl::GetTooltipWidth() + { + return tooltipWidth; + } + + void GuiControl::SetTooltipWidth(vint value) + { + tooltipWidth=value; + } + + bool GuiControl::DisplayTooltip(Point location) + { + if(!tooltipControl) return false; + GetApplication()->ShowTooltip(this, tooltipControl, tooltipWidth, location); + return true; + } + + void GuiControl::CloseTooltip() + { + if(GetApplication()->GetTooltipOwner()==this) + { + GetApplication()->CloseTooltip(); + } + } + + IDescriptable* GuiControl::QueryService(const WString& identifier) + { + if (identifier == IGuiAltAction::Identifier) + { + return (IGuiAltAction*)this; + } + else if (identifier == IGuiAltActionContainer::Identifier) + { + return 0; + } + else if(parent) + { + return parent->QueryService(identifier); + } + else + { + return 0; + } + } + +/*********************************************************************** +GuiCustomControl +***********************************************************************/ + + GuiCustomControl::GuiCustomControl(theme::ThemeName themeName) + :GuiControl(themeName) + { + } + + GuiCustomControl::~GuiCustomControl() + { + FinalizeAggregation(); + FinalizeInstanceRecursively(this); + } + } + } +} + +/*********************************************************************** +.\CONTROLS\LISTCONTROLPACKAGE\GUIDATAGRIDEXTENSIONS.CPP +***********************************************************************/ + +namespace vl +{ + namespace presentation + { + namespace controls + { + namespace list + { + using namespace compositions; + using namespace elements; + using namespace theme; + using namespace templates; + +/*********************************************************************** +DataVisualizerBase +***********************************************************************/ + + DataVisualizerBase::DataVisualizerBase() + { + } + + DataVisualizerBase::~DataVisualizerBase() + { + if (visualizerTemplate) + { + SafeDeleteComposition(visualizerTemplate); + } + } + + IDataVisualizerFactory* DataVisualizerBase::GetFactory() + { + return factory; + } + + templates::GuiGridVisualizerTemplate* DataVisualizerBase::GetTemplate() + { + return visualizerTemplate; + } + + void DataVisualizerBase::NotifyDeletedTemplate() + { + visualizerTemplate = nullptr; + } + + void DataVisualizerBase::BeforeVisualizeCell(GuiListControl::IItemProvider* itemProvider, vint row, vint column) + { + if (auto listViewItemView = dynamic_cast(dataGridContext->GetItemProvider()->RequestView(IListViewItemView::Identifier))) + { + auto style = dataGridContext->GetListViewControlTemplate(); + visualizerTemplate->SetPrimaryTextColor(style->GetPrimaryTextColor()); + visualizerTemplate->SetSecondaryTextColor(style->GetSecondaryTextColor()); + visualizerTemplate->SetItemSeparatorColor(style->GetItemSeparatorColor()); + + visualizerTemplate->SetLargeImage(listViewItemView->GetLargeImage(row)); + visualizerTemplate->SetSmallImage(listViewItemView->GetSmallImage(row)); + visualizerTemplate->SetText(column == 0 ? listViewItemView->GetText(row) : listViewItemView->GetSubItem(row, column - 1)); + } + if (auto dataGridView = dynamic_cast(dataGridContext->GetItemProvider()->RequestView(IDataGridView::Identifier))) + { + visualizerTemplate->SetRowValue(itemProvider->GetBindingValue(row)); + visualizerTemplate->SetCellValue(dataGridView->GetBindingCellValue(row, column)); + } + } + + void DataVisualizerBase::SetSelected(bool value) + { + if (visualizerTemplate) + { + visualizerTemplate->SetSelected(value); + } + } + +/*********************************************************************** +DataVisualizerFactory +***********************************************************************/ + + DataVisualizerFactory::ItemTemplate* DataVisualizerFactory::CreateItemTemplate(controls::list::IDataGridContext* dataGridContext) + { + ItemTemplate* itemTemplate = templateFactory(dataGridContext->GetViewModelContext()); + CHECK_ERROR(itemTemplate, L"DataVisualizerFactory::CreateItemTemplate(IDataGridContext*)#An instance of GuiGridEditorTemplate is expected."); + if (decoratedFactory) + { + auto childTemplate = decoratedFactory->CreateItemTemplate(dataGridContext); + childTemplate->SetAlignmentToParent(Margin(0, 0, 0, 0)); + itemTemplate->GetContainerComposition()->AddChild(childTemplate); + +#define FORWARD_EVENT(NAME)\ + itemTemplate->NAME##Changed.AttachLambda([=](GuiGraphicsComposition* sender, GuiEventArgs& arguments)\ + {\ + childTemplate->Set##NAME(itemTemplate->Get##NAME());\ + });\ + +#define FORWARD_EVENT_IMPL(CLASS, TYPE, NAME) FORWARD_EVENT(NAME) + + GuiTemplate_PROPERTIES(FORWARD_EVENT_IMPL) + GuiControlTemplate_PROPERTIES(FORWARD_EVENT_IMPL) + GuiGridCellTemplate_PROPERTIES(FORWARD_EVENT_IMPL) + GuiGridVisualizerTemplate_PROPERTIES(FORWARD_EVENT_IMPL) + +#undef FORWARD_EVENT_IMPL +#undef FORWARD_EVENT + } + return itemTemplate; + } + + DataVisualizerFactory::DataVisualizerFactory(TemplateProperty _templateFactory, Ptr _decoratedFactory) + :templateFactory(_templateFactory) + , decoratedFactory(_decoratedFactory) + { + } + + DataVisualizerFactory::~DataVisualizerFactory() + { + } + + Ptr DataVisualizerFactory::CreateVisualizer(controls::list::IDataGridContext* dataGridContext) + { + auto dataVisualizer = MakePtr(); + dataVisualizer->factory = this; + dataVisualizer->dataGridContext = dataGridContext; + dataVisualizer->visualizerTemplate = CreateItemTemplate(dataGridContext); + + return dataVisualizer; + } + +/*********************************************************************** +DataEditorBase +***********************************************************************/ + + void DataEditorBase::OnCellValueChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) + { + dataGridContext->RequestSaveData(); + } + + DataEditorBase::DataEditorBase() + { + } + + DataEditorBase::~DataEditorBase() + { + if (editorTemplate) + { + SafeDeleteComposition(editorTemplate); + } + } + + IDataEditorFactory* DataEditorBase::GetFactory() + { + return factory; + } + + templates::GuiGridEditorTemplate* DataEditorBase::GetTemplate() + { + return editorTemplate; + } + + void DataEditorBase::NotifyDeletedTemplate() + { + editorTemplate = nullptr; + } + + void DataEditorBase::BeforeEditCell(GuiListControl::IItemProvider* itemProvider, vint row, vint column) + { + if (auto listViewItemView = dynamic_cast(dataGridContext->GetItemProvider()->RequestView(IListViewItemView::Identifier))) + { + auto style = dataGridContext->GetListViewControlTemplate(); + editorTemplate->SetPrimaryTextColor(style->GetPrimaryTextColor()); + editorTemplate->SetSecondaryTextColor(style->GetSecondaryTextColor()); + editorTemplate->SetItemSeparatorColor(style->GetItemSeparatorColor()); + + editorTemplate->SetLargeImage(listViewItemView->GetLargeImage(row)); + editorTemplate->SetSmallImage(listViewItemView->GetSmallImage(row)); + editorTemplate->SetText(column == 0 ? listViewItemView->GetText(row) : listViewItemView->GetSubItem(row, column - 1)); + } + if (auto dataGridView = dynamic_cast(dataGridContext->GetItemProvider()->RequestView(IDataGridView::Identifier))) + { + editorTemplate->SetRowValue(itemProvider->GetBindingValue(row)); + editorTemplate->SetCellValue(dataGridView->GetBindingCellValue(row, column)); + } + editorTemplate->CellValueChanged.AttachMethod(this, &DataEditorBase::OnCellValueChanged); + } + + bool DataEditorBase::GetCellValueSaved() + { + if (editorTemplate) + { + return editorTemplate->GetCellValueSaved(); + } + return true; + } + +/*********************************************************************** +DataEditorFactory +***********************************************************************/ + + DataEditorFactory::DataEditorFactory(TemplateProperty _templateFactory) + :templateFactory(_templateFactory) + { + } + + DataEditorFactory::~DataEditorFactory() + { + } + + Ptr DataEditorFactory::CreateEditor(controls::list::IDataGridContext* dataGridContext) + { + auto editor = MakePtr(); + editor->factory = this; + editor->dataGridContext = dataGridContext; + + ItemTemplate* itemTemplate = templateFactory(dataGridContext->GetViewModelContext()); + CHECK_ERROR(itemTemplate, L"DataEditorFactory::CreateEditor(IDataGridContext*)#An instance of GuiGridEditorTemplate is expected."); + editor->editorTemplate = itemTemplate; + return editor; + } + +/*********************************************************************** +MainColumnVisualizerTemplate +***********************************************************************/ + + void MainColumnVisualizerTemplate::OnTextChanged(GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) + { + text->SetText(GetText()); + } + + void MainColumnVisualizerTemplate::OnFontChanged(GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) + { + text->SetFont(GetFont()); + } + + void MainColumnVisualizerTemplate::OnTextColorChanged(GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) + { + text->SetColor(GetPrimaryTextColor()); + } + + void MainColumnVisualizerTemplate::OnSmallImageChanged(GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) + { + auto imageData = GetSmallImage(); + if (imageData) + { + image->SetImage(imageData->GetImage(), imageData->GetFrameIndex()); + } + else + { + image->SetImage(nullptr); + } + } + + MainColumnVisualizerTemplate::MainColumnVisualizerTemplate() + { + GuiTableComposition* table = new GuiTableComposition; + table->SetMinSizeLimitation(GuiGraphicsComposition::LimitToElementAndChildren); + table->SetRowsAndColumns(3, 2); + table->SetRowOption(0, GuiCellOption::PercentageOption(0.5)); + table->SetRowOption(1, GuiCellOption::MinSizeOption()); + table->SetRowOption(2, GuiCellOption::PercentageOption(0.5)); + table->SetColumnOption(0, GuiCellOption::MinSizeOption()); + table->SetColumnOption(1, GuiCellOption::PercentageOption(1.0)); + table->SetCellPadding(2); + { + GuiCellComposition* cell = new GuiCellComposition; + table->AddChild(cell); + cell->SetSite(1, 0, 1, 1); + cell->SetPreferredMinSize(Size(16, 16)); + + image = GuiImageFrameElement::Create(); + image->SetStretch(true); + cell->SetOwnedElement(image); + } + { + GuiCellComposition* cell = new GuiCellComposition; + table->AddChild(cell); + cell->SetSite(0, 1, 3, 1); + cell->SetMargin(Margin(0, 0, 8, 0)); + + text = GuiSolidLabelElement::Create(); + text->SetAlignments(Alignment::Left, Alignment::Center); + text->SetEllipse(true); + cell->SetOwnedElement(text); + } + table->SetAlignmentToParent(Margin(0, 0, 0, 0)); + + SetMinSizeLimitation(GuiGraphicsComposition::LimitToElementAndChildren); + AddChild(table); + + TextChanged.AttachMethod(this, &MainColumnVisualizerTemplate::OnTextChanged); + FontChanged.AttachMethod(this, &MainColumnVisualizerTemplate::OnFontChanged); + PrimaryTextColorChanged.AttachMethod(this, &MainColumnVisualizerTemplate::OnTextColorChanged); + SmallImageChanged.AttachMethod(this, &MainColumnVisualizerTemplate::OnSmallImageChanged); + + TextChanged.Execute(compositions::GuiEventArgs(this)); + FontChanged.Execute(compositions::GuiEventArgs(this)); + PrimaryTextColorChanged.Execute(compositions::GuiEventArgs(this)); + SmallImageChanged.Execute(compositions::GuiEventArgs(this)); + } + + MainColumnVisualizerTemplate::~MainColumnVisualizerTemplate() + { + } + +/*********************************************************************** +SubColumnVisualizerTemplate +***********************************************************************/ + + void SubColumnVisualizerTemplate::OnTextChanged(GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) + { + text->SetText(GetText()); + } + + void SubColumnVisualizerTemplate::OnFontChanged(GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) + { + text->SetFont(GetFont()); + } + + void SubColumnVisualizerTemplate::OnTextColorChanged(GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) + { + text->SetColor(GetSecondaryTextColor()); + } + + void SubColumnVisualizerTemplate::Initialize(bool fixTextColor) + { + text = GuiSolidLabelElement::Create(); + text->SetVerticalAlignment(Alignment::Center); + + SetMinSizeLimitation(GuiGraphicsComposition::LimitToElementAndChildren); + SetMargin(Margin(8, 0, 8, 0)); + SetOwnedElement(text); + + TextChanged.AttachMethod(this, &SubColumnVisualizerTemplate::OnTextChanged); + FontChanged.AttachMethod(this, &SubColumnVisualizerTemplate::OnFontChanged); + if (!fixTextColor) + { + SecondaryTextColorChanged.AttachMethod(this, &SubColumnVisualizerTemplate::OnTextColorChanged); + } + + TextChanged.Execute(compositions::GuiEventArgs(this)); + FontChanged.Execute(compositions::GuiEventArgs(this)); + if (!fixTextColor) + { + SecondaryTextColorChanged.Execute(compositions::GuiEventArgs(this)); + } + } + + SubColumnVisualizerTemplate::SubColumnVisualizerTemplate(bool fixTextColor) + { + Initialize(fixTextColor); + } + + SubColumnVisualizerTemplate::SubColumnVisualizerTemplate() + { + Initialize(false); + } + + SubColumnVisualizerTemplate::~SubColumnVisualizerTemplate() + { + } + +/*********************************************************************** +HyperlinkVisualizerTemplate +***********************************************************************/ + + void HyperlinkVisualizerTemplate::label_MouseEnter(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) + { + FontProperties font = text->GetFont(); + font.underline = true; + text->SetFont(font); + } + + void HyperlinkVisualizerTemplate::label_MouseLeave(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) + { + FontProperties font = text->GetFont(); + font.underline = false; + text->SetFont(font); + } + + HyperlinkVisualizerTemplate::HyperlinkVisualizerTemplate() + :SubColumnVisualizerTemplate(true) + { + text->SetColor(Color(0, 0, 255)); + text->SetEllipse(true); + GetEventReceiver()->mouseEnter.AttachMethod(this, &HyperlinkVisualizerTemplate::label_MouseEnter); + GetEventReceiver()->mouseLeave.AttachMethod(this, &HyperlinkVisualizerTemplate::label_MouseLeave); + SetAssociatedCursor(GetCurrentController()->ResourceService()->GetSystemCursor(INativeCursor::Hand)); + } + + HyperlinkVisualizerTemplate::~HyperlinkVisualizerTemplate() + { + } + +/*********************************************************************** +CellBorderVisualizerTemplate +***********************************************************************/ + + void CellBorderVisualizerTemplate::OnItemSeparatorColorChanged(GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) + { + border1->SetColor(GetItemSeparatorColor()); + border2->SetColor(GetItemSeparatorColor()); + } + + CellBorderVisualizerTemplate::CellBorderVisualizerTemplate() + { + GuiBoundsComposition* bounds1 = nullptr; + GuiBoundsComposition* bounds2 = nullptr; + { + border1 = GuiSolidBorderElement::Create(); + + bounds1 = new GuiBoundsComposition; + bounds1->SetOwnedElement(border1); + bounds1->SetAlignmentToParent(Margin(-1, 0, 0, 0)); + } + { + border2 = GuiSolidBorderElement::Create(); + + bounds2 = new GuiBoundsComposition; + bounds2->SetOwnedElement(border2); + bounds2->SetAlignmentToParent(Margin(0, -1, 0, 0)); + } + + SetAlignmentToParent(Margin(0, 0, 1, 1)); + SetMinSizeLimitation(GuiGraphicsComposition::LimitToElementAndChildren); + AddChild(bounds1); + AddChild(bounds2); + + ItemSeparatorColorChanged.AttachMethod(this, &CellBorderVisualizerTemplate::OnItemSeparatorColorChanged); + + ItemSeparatorColorChanged.Execute(compositions::GuiEventArgs(this)); + } + + CellBorderVisualizerTemplate::~CellBorderVisualizerTemplate() + { + } + } + } + } +} + /*********************************************************************** .\CONTROLS\LISTCONTROLPACKAGE\GUILISTCONTROLITEMARRANGERS.CPP ***********************************************************************/ @@ -19945,12 +19285,11 @@ RangedItemArrangerBase GuiSelectableButton* backgroundButton = nullptr; if (listControl->GetDisplayItemBackground()) { - auto style = listControl->GetListControlStyleProvider()->CreateItemBackground(); - if (!style) + backgroundButton = new GuiSelectableButton(theme::ThemeName::ListItemBackground); + if (auto style = listControl->GetControlTemplateObject()->GetBackgroundTemplate()) { - style = theme::GetCurrentTheme()->CreateListItemBackgroundStyle(); + backgroundButton->SetControlTemplate(style); } - backgroundButton = new GuiSelectableButton(style); backgroundButton->SetAutoSelection(false); } @@ -20805,6 +20144,895 @@ FixedHeightMultiColumnItemArranger } } +/*********************************************************************** +.\CONTROLS\LISTCONTROLPACKAGE\GUILISTVIEWCONTROLS.CPP +***********************************************************************/ + +namespace vl +{ + namespace presentation + { + namespace controls + { + using namespace elements; + using namespace compositions; + using namespace collections; + using namespace reflection::description; + +/*********************************************************************** +GuiListViewColumnHeader +***********************************************************************/ + + void GuiListViewColumnHeader::BeforeControlTemplateUninstalled_() + { + } + + void GuiListViewColumnHeader::AfterControlTemplateInstalled_(bool initialize) + { + GetControlTemplateObject()->SetSortingState(columnSortingState); + } + + GuiListViewColumnHeader::GuiListViewColumnHeader(theme::ThemeName themeName) + :GuiMenuButton(themeName) + { + } + + GuiListViewColumnHeader::~GuiListViewColumnHeader() + { + } + + bool GuiListViewColumnHeader::IsAltAvailable() + { + return false; + } + + ColumnSortingState GuiListViewColumnHeader::GetColumnSortingState() + { + return columnSortingState; + } + + void GuiListViewColumnHeader::SetColumnSortingState(ColumnSortingState value) + { + if (columnSortingState != value) + { + columnSortingState = value; + GetControlTemplateObject()->SetSortingState(columnSortingState); + } + } + +/*********************************************************************** +GuiListViewBase +***********************************************************************/ + + void GuiListViewBase::BeforeControlTemplateUninstalled_() + { + } + + void GuiListViewBase::AfterControlTemplateInstalled_(bool initialize) + { + } + + GuiListViewBase::GuiListViewBase(theme::ThemeName themeName, GuiListControl::IItemProvider* _itemProvider) + :GuiSelectableListControl(themeName, _itemProvider) + { + ColumnClicked.SetAssociatedComposition(boundsComposition); + } + + GuiListViewBase::~GuiListViewBase() + { + } + + namespace list + { + + const wchar_t* const IListViewItemView::Identifier = L"vl::presentation::controls::list::IListViewItemView"; + +/*********************************************************************** +ListViewColumnItemArranger::ColumnItemViewCallback +***********************************************************************/ + + ListViewColumnItemArranger::ColumnItemViewCallback::ColumnItemViewCallback(ListViewColumnItemArranger* _arranger) + :arranger(_arranger) + { + } + + ListViewColumnItemArranger::ColumnItemViewCallback::~ColumnItemViewCallback() + { + } + + void ListViewColumnItemArranger::ColumnItemViewCallback::OnColumnChanged() + { + arranger->RebuildColumns(); + FOREACH(ItemStyleRecord, style, arranger->visibleStyles) + { + if (auto callback = dynamic_cast(style.key)) + { + callback->OnColumnChanged(); + } + } + } + +/*********************************************************************** +ListViewColumnItemArranger +***********************************************************************/ + + const wchar_t* const ListViewColumnItemArranger::IColumnItemView::Identifier = L"vl::presentation::controls::list::ListViewColumnItemArranger::IColumnItemView"; + + void ListViewColumnItemArranger::ColumnClicked(vint index, compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) + { + GuiItemEventArgs args(listView->ColumnClicked.GetAssociatedComposition()); + args.itemIndex=index; + listView->ColumnClicked.Execute(args); + } + + void ListViewColumnItemArranger::ColumnBoundsChanged(vint index, compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) + { + GuiBoundsComposition* buttonBounds=columnHeaderButtons[index]->GetBoundsComposition(); + vint size=buttonBounds->GetBounds().Width(); + if(size>columnItemView->GetColumnSize(index)) + { + columnItemView->SetColumnSize(index, size); + } + } + + void ListViewColumnItemArranger::ColumnHeaderSplitterLeftButtonDown(compositions::GuiGraphicsComposition* sender, compositions::GuiMouseEventArgs& arguments) + { + if(listView->GetVisuallyEnabled()) + { + arguments.handled=true; + splitterDragging=true; + splitterLatestX=arguments.x; + } + } + + void ListViewColumnItemArranger::ColumnHeaderSplitterLeftButtonUp(compositions::GuiGraphicsComposition* sender, compositions::GuiMouseEventArgs& arguments) + { + if(listView->GetVisuallyEnabled()) + { + arguments.handled=true; + splitterDragging=false; + splitterLatestX=0; + } + } + + void ListViewColumnItemArranger::ColumnHeaderSplitterMouseMove(compositions::GuiGraphicsComposition* sender, compositions::GuiMouseEventArgs& arguments) + { + if(splitterDragging) + { + vint offset=arguments.x-splitterLatestX; + vint index=columnHeaderSplitters.IndexOf(dynamic_cast(sender)); + if(index!=-1) + { + GuiBoundsComposition* buttonBounds=columnHeaderButtons[index]->GetBoundsComposition(); + Rect bounds=buttonBounds->GetBounds(); + Rect newBounds(bounds.LeftTop(), Size(bounds.Width()+offset, bounds.Height())); + buttonBounds->SetBounds(newBounds); + + vint finalSize=buttonBounds->GetBounds().Width(); + columnItemView->SetColumnSize(index, finalSize); + } + } + } + + void ListViewColumnItemArranger::RearrangeItemBounds() + { + FixedHeightItemArranger::RearrangeItemBounds(); + vint count = columnHeaders->GetParent()->Children().Count(); + columnHeaders->GetParent()->MoveChild(columnHeaders, count - 1); + columnHeaders->SetBounds(Rect(Point(-viewBounds.Left(), 0), Size(0, 0))); + } + + vint ListViewColumnItemArranger::GetWidth() + { + vint width=columnHeaders->GetBounds().Width()-SplitterWidth; + if(widthGetBounds().Height(); + } + + Size ListViewColumnItemArranger::OnCalculateTotalSize() + { + Size size=FixedHeightItemArranger::OnCalculateTotalSize(); + size.x+=SplitterWidth; + return size; + } + + void ListViewColumnItemArranger::DeleteColumnButtons() + { + for(vint i=columnHeaders->GetStackItems().Count()-1;i>=0;i--) + { + GuiStackItemComposition* item=columnHeaders->GetStackItems().Get(i); + columnHeaders->RemoveChild(item); + + GuiControl* button=item->Children().Get(0)->GetAssociatedControl(); + if(button) + { + item->RemoveChild(button->GetBoundsComposition()); + delete button; + } + delete item; + } + columnHeaderButtons.Clear(); + columnHeaderSplitters.Clear(); + } + + void ListViewColumnItemArranger::RebuildColumns() + { + if (columnItemView && columnHeaderButtons.Count() == listViewItemView->GetColumnCount()) + { + for (vint i = 0; i < listViewItemView->GetColumnCount(); i++) + { + GuiListViewColumnHeader* button = columnHeaderButtons[i]; + button->SetText(listViewItemView->GetColumnText(i)); + button->SetSubMenu(columnItemView->GetDropdownPopup(i), false); + button->SetColumnSortingState(columnItemView->GetSortingState(i)); + button->GetBoundsComposition()->SetBounds(Rect(Point(0, 0), Size(columnItemView->GetColumnSize(i), 0))); + } + } + else + { + DeleteColumnButtons(); + if (columnItemView && listViewItemView) + { + for (vint i = 0; i < listViewItemView->GetColumnCount(); i++) + { + GuiBoundsComposition* splitterComposition = new GuiBoundsComposition; + splitterComposition->SetAlignmentToParent(Margin(0, 0, 0, 0)); + splitterComposition->SetAssociatedCursor(GetCurrentController()->ResourceService()->GetSystemCursor(INativeCursor::SizeWE)); + splitterComposition->SetAlignmentToParent(Margin(0, 0, -1, 0)); + splitterComposition->SetPreferredMinSize(Size(SplitterWidth, 0)); + columnHeaderSplitters.Add(splitterComposition); + + splitterComposition->GetEventReceiver()->leftButtonDown.AttachMethod(this, &ListViewColumnItemArranger::ColumnHeaderSplitterLeftButtonDown); + splitterComposition->GetEventReceiver()->leftButtonUp.AttachMethod(this, &ListViewColumnItemArranger::ColumnHeaderSplitterLeftButtonUp); + splitterComposition->GetEventReceiver()->mouseMove.AttachMethod(this, &ListViewColumnItemArranger::ColumnHeaderSplitterMouseMove); + } + for (vint i = 0; i < listViewItemView->GetColumnCount(); i++) + { + GuiListViewColumnHeader* button = new GuiListViewColumnHeader(theme::ThemeName::Unknown); + button->SetControlTemplate(listView->GetControlTemplateObject()->GetColumnHeaderTemplate()); + button->SetText(listViewItemView->GetColumnText(i)); + button->SetSubMenu(columnItemView->GetDropdownPopup(i), false); + button->SetColumnSortingState(columnItemView->GetSortingState(i)); + button->GetBoundsComposition()->SetBounds(Rect(Point(0, 0), Size(columnItemView->GetColumnSize(i), 0))); + button->Clicked.AttachLambda(Curry(Func(this, &ListViewColumnItemArranger::ColumnClicked))(i)); + button->GetBoundsComposition()->BoundsChanged.AttachLambda(Curry(Func(this, &ListViewColumnItemArranger::ColumnBoundsChanged))(i)); + columnHeaderButtons.Add(button); + if (i > 0) + { + button->GetContainerComposition()->AddChild(columnHeaderSplitters[i - 1]); + } + + GuiStackItemComposition* item = new GuiStackItemComposition; + item->SetMinSizeLimitation(GuiGraphicsComposition::LimitToElementAndChildren); + item->AddChild(button->GetBoundsComposition()); + columnHeaders->AddChild(item); + } + if (listViewItemView->GetColumnCount() > 0) + { + GuiBoundsComposition* splitterComposition = columnHeaderSplitters[listViewItemView->GetColumnCount() - 1]; + + GuiStackItemComposition* item = new GuiStackItemComposition; + item->SetMinSizeLimitation(GuiGraphicsComposition::LimitToElementAndChildren); + item->AddChild(splitterComposition); + columnHeaders->AddChild(item); + } + } + } + callback->OnTotalSizeChanged(); + } + + ListViewColumnItemArranger::ListViewColumnItemArranger() + { + columnHeaders = new GuiStackComposition; + columnHeaders->SetMinSizeLimitation(GuiGraphicsComposition::LimitToElementAndChildren); + columnItemViewCallback = new ColumnItemViewCallback(this); + } + + ListViewColumnItemArranger::~ListViewColumnItemArranger() + { + if(!columnHeaders->GetParent()) + { + DeleteColumnButtons(); + delete columnHeaders; + } + } + + void ListViewColumnItemArranger::AttachListControl(GuiListControl* value) + { + FixedHeightItemArranger::AttachListControl(value); + listView = dynamic_cast(value); + if (listView) + { + listView->GetContainerComposition()->AddChild(columnHeaders); + listViewItemView = dynamic_cast(listView->GetItemProvider()->RequestView(IListViewItemView::Identifier)); + columnItemView = dynamic_cast(listView->GetItemProvider()->RequestView(IColumnItemView::Identifier)); + if (columnItemView) + { + columnItemView->AttachCallback(columnItemViewCallback.Obj()); + RebuildColumns(); + } + } + } + + void ListViewColumnItemArranger::DetachListControl() + { + if (listView) + { + if (columnItemView) + { + columnItemView->DetachCallback(columnItemViewCallback.Obj()); + columnItemView = nullptr; + } + listViewItemView = nullptr; + listView->GetContainerComposition()->RemoveChild(columnHeaders); + listView = nullptr; + } + FixedHeightItemArranger::DetachListControl(); + } + +/*********************************************************************** +ListViewSubItems +***********************************************************************/ + + void ListViewSubItems::NotifyUpdateInternal(vint start, vint count, vint newCount) + { + owner->NotifyUpdate(); + } + +/*********************************************************************** +ListViewItem +***********************************************************************/ + + void ListViewItem::NotifyUpdate() + { + if (owner) + { + vint index = owner->IndexOf(this); + owner->NotifyUpdateInternal(index, 1, 1); + } + } + + ListViewItem::ListViewItem() + :owner(0) + { + subItems.owner = this; + } + + ListViewSubItems& ListViewItem::GetSubItems() + { + return subItems; + } + + Ptr ListViewItem::GetSmallImage() + { + return smallImage; + } + + void ListViewItem::SetSmallImage(Ptr value) + { + smallImage = value; + NotifyUpdate(); + } + + Ptr ListViewItem::GetLargeImage() + { + return largeImage; + } + + void ListViewItem::SetLargeImage(Ptr value) + { + largeImage = value; + NotifyUpdate(); + } + + const WString& ListViewItem::GetText() + { + return text; + } + + void ListViewItem::SetText(const WString& value) + { + text = value; + NotifyUpdate(); + } + + description::Value ListViewItem::GetTag() + { + return tag; + } + + void ListViewItem::SetTag(const description::Value& value) + { + tag = value; + NotifyUpdate(); + } + +/*********************************************************************** +ListViewColumn +***********************************************************************/ + + void ListViewColumn::NotifyUpdate(bool affectItem) + { + if (owner) + { + vint index = owner->IndexOf(this); + owner->NotifyColumnUpdated(index, affectItem); + } + } + + ListViewColumn::ListViewColumn(const WString& _text, vint _size) + :text(_text) + ,size(_size) + { + } + + ListViewColumn::~ListViewColumn() + { + if (dropdownPopup && ownPopup) + { + SafeDeleteControl(dropdownPopup); + } + } + + const WString& ListViewColumn::GetText() + { + return text; + } + + void ListViewColumn::SetText(const WString& value) + { + if (text != value) + { + text = value; + NotifyUpdate(false); + } + } + + ItemProperty ListViewColumn::GetTextProperty() + { + return textProperty; + } + + void ListViewColumn::SetTextProperty(const ItemProperty& value) + { + textProperty = value; + NotifyUpdate(true); + } + + vint ListViewColumn::GetSize() + { + return size; + } + + void ListViewColumn::SetSize(vint value) + { + if (size != value) + { + size = value; + NotifyUpdate(false); + } + } + + bool ListViewColumn::GetOwnPopup() + { + return ownPopup; + } + + void ListViewColumn::SetOwnPopup(bool value) + { + ownPopup = value; + } + + GuiMenu* ListViewColumn::GetDropdownPopup() + { + return dropdownPopup; + } + + void ListViewColumn::SetDropdownPopup(GuiMenu* value) + { + if (dropdownPopup != value) + { + dropdownPopup = value; + NotifyUpdate(false); + } + } + + ColumnSortingState ListViewColumn::GetSortingState() + { + return sortingState; + } + + void ListViewColumn::SetSortingState(ColumnSortingState value) + { + if (sortingState != value) + { + sortingState = value; + NotifyUpdate(false); + } + } + +/*********************************************************************** +ListViewDataColumns +***********************************************************************/ + + void ListViewDataColumns::NotifyUpdateInternal(vint start, vint count, vint newCount) + { + itemProvider->NotifyAllItemsUpdate(); + } + + ListViewDataColumns::ListViewDataColumns(IListViewItemProvider* _itemProvider) + :itemProvider(_itemProvider) + { + } + + ListViewDataColumns::~ListViewDataColumns() + { + } + +/*********************************************************************** +ListViewColumns +***********************************************************************/ + + void ListViewColumns::NotifyColumnUpdated(vint column, bool affectItem) + { + affectItemFlag = affectItem; + NotifyUpdate(column, 1); + affectItemFlag = true; + } + + void ListViewColumns::AfterInsert(vint index, const Ptr& value) + { + collections::ObservableListBase>::AfterInsert(index, value); + value->owner = this; + } + + void ListViewColumns::BeforeRemove(vint index, const Ptr& value) + { + value->owner = 0; + collections::ObservableListBase>::BeforeRemove(index, value); + } + + void ListViewColumns::NotifyUpdateInternal(vint start, vint count, vint newCount) + { + itemProvider->NotifyAllColumnsUpdate(); + if (affectItemFlag) + { + itemProvider->NotifyAllItemsUpdate(); + } + } + + ListViewColumns::ListViewColumns(IListViewItemProvider* _itemProvider) + :itemProvider(_itemProvider) + { + } + + ListViewColumns::~ListViewColumns() + { + } + +/*********************************************************************** +ListViewItemProvider +***********************************************************************/ + + void ListViewItemProvider::AfterInsert(vint index, const Ptr& value) + { + ListProvider>::AfterInsert(index, value); + value->owner = this; + } + + void ListViewItemProvider::BeforeRemove(vint index, const Ptr& value) + { + value->owner = 0; + ListProvider>::AfterInsert(index, value); + } + + void ListViewItemProvider::NotifyAllItemsUpdate() + { + NotifyUpdate(0, Count()); + } + + void ListViewItemProvider::NotifyAllColumnsUpdate() + { + for (vint i = 0; i < columnItemViewCallbacks.Count(); i++) + { + columnItemViewCallbacks[i]->OnColumnChanged(); + } + } + + Ptr ListViewItemProvider::GetSmallImage(vint itemIndex) + { + return Get(itemIndex)->smallImage; + } + + Ptr ListViewItemProvider::GetLargeImage(vint itemIndex) + { + return Get(itemIndex)->largeImage; + } + + WString ListViewItemProvider::GetText(vint itemIndex) + { + return Get(itemIndex)->text; + } + + WString ListViewItemProvider::GetSubItem(vint itemIndex, vint index) + { + Ptr item=Get(itemIndex); + if(index<0 || index>=item->GetSubItems().Count()) + { + return L""; + } + else + { + return item->GetSubItems()[index]; + } + } + + vint ListViewItemProvider::GetDataColumnCount() + { + return dataColumns.Count(); + } + + vint ListViewItemProvider::GetDataColumn(vint index) + { + return dataColumns[index]; + } + + vint ListViewItemProvider::GetColumnCount() + { + return columns.Count(); + } + + WString ListViewItemProvider::GetColumnText(vint index) + { + if (index<0 || index >= columns.Count()) + { + return L""; + } + else + { + return columns[index]->GetText(); + } + } + + bool ListViewItemProvider::AttachCallback(ListViewColumnItemArranger::IColumnItemViewCallback* value) + { + if(columnItemViewCallbacks.Contains(value)) + { + return false; + } + else + { + columnItemViewCallbacks.Add(value); + return true; + } + } + + bool ListViewItemProvider::DetachCallback(ListViewColumnItemArranger::IColumnItemViewCallback* value) + { + vint index=columnItemViewCallbacks.IndexOf(value); + if(index==-1) + { + return false; + } + else + { + columnItemViewCallbacks.Remove(value); + return true; + } + } + + vint ListViewItemProvider::GetColumnSize(vint index) + { + if(index<0 || index>=columns.Count()) + { + return 0; + } + else + { + return columns[index]->GetSize(); + } + } + + void ListViewItemProvider::SetColumnSize(vint index, vint value) + { + if(index>=0 && indexSetSize(value); + } + } + + GuiMenu* ListViewItemProvider::GetDropdownPopup(vint index) + { + if(index<0 || index>=columns.Count()) + { + return 0; + } + else + { + return columns[index]->GetDropdownPopup(); + } + } + + ColumnSortingState ListViewItemProvider::GetSortingState(vint index) + { + if (index < 0 || index >= columns.Count()) + { + return ColumnSortingState::NotSorted; + } + else + { + return columns[index]->GetSortingState(); + } + } + + WString ListViewItemProvider::GetTextValue(vint itemIndex) + { + return GetText(itemIndex); + } + + description::Value ListViewItemProvider::GetBindingValue(vint itemIndex) + { + return Value::From(Get(itemIndex)); + } + + ListViewItemProvider::ListViewItemProvider() + :columns(this) + , dataColumns(this) + { + } + + ListViewItemProvider::~ListViewItemProvider() + { + } + + IDescriptable* ListViewItemProvider::RequestView(const WString& identifier) + { + if (identifier == IListViewItemView::Identifier) + { + return (IListViewItemView*)this; + } + else if (identifier == ListViewColumnItemArranger::IColumnItemView::Identifier) + { + return (ListViewColumnItemArranger::IColumnItemView*)this; + } + else + { + return 0; + } + } + + ListViewDataColumns& ListViewItemProvider::GetDataColumns() + { + return dataColumns; + } + + ListViewColumns& ListViewItemProvider::GetColumns() + { + return columns; + } + } + +/*********************************************************************** +GuiListView +***********************************************************************/ + + void GuiVirtualListView::OnStyleInstalled(vint itemIndex, ItemStyle* style) + { + GuiListViewBase::OnStyleInstalled(itemIndex, style); + } + + void GuiVirtualListView::OnItemTemplateChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) + { + view = ListViewView::Unknown; + } + + GuiVirtualListView::GuiVirtualListView(theme::ThemeName themeName, GuiListControl::IItemProvider* _itemProvider) + :GuiListViewBase(themeName, _itemProvider) + { + SetView(ListViewView::Detail); + } + + GuiVirtualListView::~GuiVirtualListView() + { + } + + ListViewView GuiVirtualListView::GetView() + { + return view; + } + + void GuiVirtualListView::SetView(ListViewView _view) + { + switch (_view) + { + case ListViewView::BigIcon: + SetStyleAndArranger( + [](const Value&) { return new list::BigIconListViewItemTemplate; }, + new list::FixedSizeMultiColumnItemArranger + ); + break; + case ListViewView::SmallIcon: + SetStyleAndArranger( + [](const Value&) { return new list::SmallIconListViewItemTemplate; }, + new list::FixedSizeMultiColumnItemArranger + ); + break; + case ListViewView::List: + SetStyleAndArranger( + [](const Value&) { return new list::ListListViewItemTemplate; }, + new list::FixedHeightMultiColumnItemArranger + ); + break; + case ListViewView::Tile: + SetStyleAndArranger( + [](const Value&) { return new list::TileListViewItemTemplate; }, + new list::FixedSizeMultiColumnItemArranger + ); + break; + case ListViewView::Information: + SetStyleAndArranger( + [](const Value&) { return new list::InformationListViewItemTemplate; }, + new list::FixedHeightItemArranger + ); + break; + case ListViewView::Detail: + SetStyleAndArranger( + [](const Value&) { return new list::DetailListViewItemTemplate; }, + new list::ListViewColumnItemArranger + ); + break; + default:; + } + view = _view; + } + +/*********************************************************************** +GuiListView +***********************************************************************/ + + GuiListView::GuiListView(theme::ThemeName themeName) + :GuiVirtualListView(themeName, new list::ListViewItemProvider) + { + items=dynamic_cast(itemProvider.Obj()); + } + + GuiListView::~GuiListView() + { + } + + list::ListViewItemProvider& GuiListView::GetItems() + { + return *items; + } + + list::ListViewDataColumns& GuiListView::GetDataColumns() + { + return items->GetDataColumns(); + } + + list::ListViewColumns& GuiListView::GetColumns() + { + return items->GetColumns(); + } + + Ptr GuiListView::GetSelectedItem() + { + vint index = GetSelectedItemIndex(); + if (index == -1) return 0; + return items->Get(index); + } + } + } +} + /*********************************************************************** .\CONTROLS\LISTCONTROLPACKAGE\GUITEXTLISTCONTROLS.CPP ***********************************************************************/ @@ -20828,9 +21056,9 @@ namespace vl DefaultTextListItemTemplate ***********************************************************************/ - DefaultTextListItemTemplate::BulletStyle* DefaultTextListItemTemplate::CreateBulletStyle() + TemplateProperty DefaultTextListItemTemplate::CreateBulletStyle() { - return nullptr; + return {}; } void DefaultTextListItemTemplate::OnInitialize() @@ -20847,7 +21075,8 @@ DefaultTextListItemTemplate if (auto bulletStyleController = CreateBulletStyle()) { - bulletButton = new GuiSelectableButton(bulletStyleController); + bulletButton = new GuiSelectableButton(theme::ThemeName::Unknown); + bulletButton->SetControlTemplate(bulletStyleController); bulletButton->GetBoundsComposition()->SetAlignmentToParent(Margin(0, 0, 0, 0)); bulletButton->SelectedChanged.AttachMethod(this, &DefaultTextListItemTemplate::OnBulletSelectedChanged); @@ -20940,28 +21169,28 @@ DefaultTextListItemTemplate DefaultCheckTextListItemTemplate ***********************************************************************/ - DefaultTextListItemTemplate::BulletStyle* DefaultCheckTextListItemTemplate::CreateBulletStyle() + TemplateProperty DefaultCheckTextListItemTemplate::CreateBulletStyle() { if (auto textList = dynamic_cast(listControl)) { - auto style = textList->GetTextListStyleProvider()->CreateCheckBulletStyle(); + auto style = textList->GetControlTemplateObject()->GetCheckBulletTemplate(); if (style) return style; } - return theme::GetCurrentTheme()->CreateCheckTextListItemStyle(); + return theme::GetCurrentTheme()->CreateStyle(theme::ThemeName::CheckTextListItem); } /*********************************************************************** DefaultRadioTextListItemTemplate ***********************************************************************/ - DefaultTextListItemTemplate::BulletStyle* DefaultRadioTextListItemTemplate::CreateBulletStyle() + TemplateProperty DefaultRadioTextListItemTemplate::CreateBulletStyle() { if (auto textList = dynamic_cast(listControl)) { - auto style = textList->GetTextListStyleProvider()->CreateRadioBulletStyle(); + auto style = textList->GetControlTemplateObject()->GetCheckBulletTemplate(); if (style) return style; } - return theme::GetCurrentTheme()->CreateRadioTextListItemStyle(); + return theme::GetCurrentTheme()->CreateStyle(theme::ThemeName::RadioTextListItem); } /*********************************************************************** @@ -21097,12 +21326,20 @@ TextItemProvider GuiTextList ***********************************************************************/ + void GuiVirtualTextList::BeforeControlTemplateUninstalled_() + { + } + + void GuiVirtualTextList::AfterControlTemplateInstalled_(bool initialize) + { + } + void GuiVirtualTextList::OnStyleInstalled(vint itemIndex, ItemStyle* style) { GuiSelectableListControl::OnStyleInstalled(itemIndex, style); if (auto textItemStyle = dynamic_cast(style)) { - textItemStyle->SetTextColor(styleProvider->GetTextColor()); + textItemStyle->SetTextColor(GetControlTemplateObject()->GetTextColor()); if (auto textItemView = dynamic_cast(itemProvider->RequestView(list::ITextItemView::Identifier))) { textItemStyle->SetChecked(textItemView->GetChecked(itemIndex)); @@ -21115,13 +21352,12 @@ GuiTextList view = TextListView::Unknown; } - GuiVirtualTextList::GuiVirtualTextList(IStyleProvider* _styleProvider, GuiListControl::IItemProvider* _itemProvider) - :GuiSelectableListControl(_styleProvider, _itemProvider) + GuiVirtualTextList::GuiVirtualTextList(theme::ThemeName themeName, GuiListControl::IItemProvider* _itemProvider) + :GuiSelectableListControl(themeName, _itemProvider) { ItemTemplateChanged.AttachMethod(this, &GuiVirtualTextList::OnItemTemplateChanged); ItemChecked.SetAssociatedComposition(boundsComposition); - styleProvider = dynamic_cast(styleController->GetStyleProvider()); SetView(TextListView::Text); } @@ -21129,11 +21365,6 @@ GuiTextList { } - GuiVirtualTextList::IStyleProvider* GuiVirtualTextList::GetTextListStyleProvider() - { - return styleProvider; - } - TextListView GuiVirtualTextList::GetView() { return view; @@ -21170,8 +21401,8 @@ GuiTextList GuiTextList ***********************************************************************/ - GuiTextList::GuiTextList(IStyleProvider* _styleProvider) - :GuiVirtualTextList(_styleProvider, new list::TextItemProvider) + GuiTextList::GuiTextList(theme::ThemeName themeName) + :GuiVirtualTextList(themeName, new list::TextItemProvider) { items=dynamic_cast(itemProvider.Obj()); items->listControl=this; @@ -21799,6 +22030,14 @@ MemoryNodeRootProvider GuiVirtualTreeListControl ***********************************************************************/ + void GuiVirtualTreeListControl::BeforeControlTemplateUninstalled_() + { + } + + void GuiVirtualTreeListControl::AfterControlTemplateInstalled_(bool initialize) + { + } + void GuiVirtualTreeListControl::OnAttached(tree::INodeRootProvider* provider) { } @@ -21874,8 +22113,8 @@ GuiVirtualTreeListControl } } - GuiVirtualTreeListControl::GuiVirtualTreeListControl(IStyleProvider* _styleProvider, Ptr _nodeRootProvider) - :GuiSelectableListControl(_styleProvider, new tree::NodeItemProvider(_nodeRootProvider)) + GuiVirtualTreeListControl::GuiVirtualTreeListControl(theme::ThemeName themeName, Ptr _nodeRootProvider) + :GuiSelectableListControl(themeName, new tree::NodeItemProvider(_nodeRootProvider)) { nodeItemProvider = dynamic_cast(GetItemProvider()); nodeItemView = dynamic_cast(GetItemProvider()->RequestView(tree::INodeItemView::Identifier)); @@ -22088,13 +22327,13 @@ GuiVirtualTreeView GuiVirtualTreeListControl::OnItemCollapsed(node); SetStyleExpanding(node, false); } - + void GuiVirtualTreeView::OnStyleInstalled(vint itemIndex, ItemStyle* style) { GuiVirtualTreeListControl::OnStyleInstalled(itemIndex, style); if (auto treeItemStyle = dynamic_cast(style)) { - treeItemStyle->SetTextColor(styleProvider->GetTextColor()); + treeItemStyle->SetTextColor(GetControlTemplateObject()->GetTextColor()); if (treeViewItemView) { @@ -22119,10 +22358,9 @@ GuiVirtualTreeView } } - GuiVirtualTreeView::GuiVirtualTreeView(IStyleProvider* _styleProvider, Ptr _nodeRootProvider) - :GuiVirtualTreeListControl(_styleProvider, _nodeRootProvider) + GuiVirtualTreeView::GuiVirtualTreeView(theme::ThemeName themeName, Ptr _nodeRootProvider) + :GuiVirtualTreeListControl(themeName, _nodeRootProvider) { - styleProvider = dynamic_cast(styleController->GetStyleProvider()); treeViewItemView = dynamic_cast(GetNodeRootProvider()->RequestView(tree::ITreeViewItemView::Identifier)); SetStyleAndArranger( [](const Value&) { return new tree::DefaultTreeItemTemplate; }, @@ -22134,17 +22372,12 @@ GuiVirtualTreeView { } - GuiVirtualTreeView::IStyleProvider* GuiVirtualTreeView::GetTreeViewStyleProvider() - { - return styleProvider; - } - /*********************************************************************** GuiTreeView ***********************************************************************/ - GuiTreeView::GuiTreeView(IStyleProvider* _styleProvider) - :GuiVirtualTreeView(_styleProvider, new tree::TreeViewItemRootProvider) + GuiTreeView::GuiTreeView(theme::ThemeName themeName) + :GuiVirtualTreeView(themeName, new tree::TreeViewItemRootProvider) { nodes = nodeItemProvider->GetRoot().Cast(); } @@ -22206,19 +22439,17 @@ DefaultTreeItemTemplate cell->SetSite(0, 1, 3, 1); cell->SetPreferredMinSize(Size(16, 16)); - GuiSelectableButton::IStyleController* expandingStyle = nullptr; + expandingButton = new GuiSelectableButton(theme::ThemeName::TreeItemExpander); if (auto treeView = dynamic_cast(listControl)) { - expandingStyle = treeView->GetTreeViewStyleProvider()->CreateItemExpandingDecorator(); - if (!expandingStyle) + if (auto expanderStyle = treeView->GetControlTemplateObject()->GetExpandingDecoratorTemplate()) { - expandingStyle = theme::GetCurrentTheme()->CreateTreeItemExpanderStyle(); + expandingButton->SetControlTemplate(expanderStyle); } } - expandingButton = new GuiSelectableButton(expandingStyle); expandingButton->SetAutoSelection(false); expandingButton->GetBoundsComposition()->SetAlignmentToParent(Margin(0, 0, 0, 0)); - expandingButton->GetEventReceiver()->leftButtonDoubleClick.AttachMethod(this, &DefaultTreeItemTemplate::OnExpandingButtonDoubleClick); + expandingButton->GetBoundsComposition()->GetEventReceiver()->leftButtonDoubleClick.AttachMethod(this, &DefaultTreeItemTemplate::OnExpandingButtonDoubleClick); expandingButton->Clicked.AttachMethod(this, &DefaultTreeItemTemplate::OnExpandingButtonClicked); cell->AddChild(expandingButton->GetBoundsComposition()); } @@ -22343,6 +22574,1344 @@ DefaultTreeItemTemplate } } +/*********************************************************************** +.\CONTROLS\STYLES\GUITHEMESTYLEFACTORY.CPP +***********************************************************************/ + +namespace vl +{ + namespace presentation + { + namespace theme + { + using namespace collections; + using namespace controls; + using namespace templates; + + class Theme : public Object, public virtual theme::ITheme + { + public: + Dictionary> templates; + ThemeTemplates* first = nullptr; + ThemeTemplates* last = nullptr; + + bool RegisterTheme(const WString& name, Ptr theme) + { + CHECK_ERROR(theme->previous == nullptr, L"vl::presentation::theme::RegisterTheme(const WString&, Ptr)#Theme object has been registered"); + CHECK_ERROR(theme->next == nullptr, L"vl::presentation::theme::RegisterTheme(const WString&, Ptr)#Theme object has been registered"); + + if (templates.Keys().Contains(name)) + { + return false; + } + templates.Add(name, theme); + + if (last) + { + last->next = theme.Obj(); + } + theme->previous = last; + last = theme.Obj(); + + return true; + } + + Ptr UnregisterTheme(const WString& name) + { + vint index = templates.Keys().IndexOf(name); + if (index == -1) + { + return nullptr; + } + + auto themeTemplates = templates.Values().Get(index); + + if (themeTemplates->previous) + { + themeTemplates->previous->next = themeTemplates->next; + } + else + { + first = themeTemplates->next; + } + + if (themeTemplates->next) + { + themeTemplates->next->previous = themeTemplates->previous; + + } + else + { + last = themeTemplates->previous; + } + + templates.Remove(name); + return themeTemplates; + } + + TemplateProperty CreateStyle(ThemeName themeName)override + { + switch (themeName) + { +#define GUI_DEFINE_ITEM_PROPERTY(TEMPLATE, CONTROL) \ + case ThemeName::CONTROL:\ + {\ + auto current = last;\ + while (current) \ + {\ + if (current->CONTROL)\ + {\ + return current->CONTROL; \ + }\ + current = current->previous;\ + }\ + throw Exception(L"Control template for \"" L ## #CONTROL L"\" is not defined.");\ + }\ + + GUI_CONTROL_TEMPLATE_TYPES(GUI_DEFINE_ITEM_PROPERTY) +#undef GUI_DEFINE_ITEM_PROPERTY + default: + CHECK_FAIL(L"vl::presentation::theme::ITheme::CreateStyle(ThemeName)#Unknown theme name."); + } + } + }; + + ThemeTemplates::~ThemeTemplates() + { + FinalizeAggregation(); + } + + Theme* currentTheme = nullptr; + + ITheme* GetCurrentTheme() + { + return currentTheme; + } + + void InitializeTheme() + { + CHECK_ERROR(currentTheme == nullptr, L"vl::presentation::theme::InitializeTheme()#Theme has already been initialized"); + currentTheme = new Theme; + } + + void FinalizeTheme() + { + CHECK_ERROR(currentTheme != nullptr, L"vl::presentation::theme::FinalizeTheme()#Theme has not been initialized"); + delete currentTheme; + currentTheme = nullptr; + } + + bool RegisterTheme(const WString& name, Ptr theme) + { + CHECK_ERROR(currentTheme != nullptr, L"vl::presentation::theme::RegisterTheme(const WString&, Ptr)#Theme has already been initialized"); + return currentTheme->RegisterTheme(name, theme); + } + + Ptr UnregisterTheme(const WString& name) + { + CHECK_ERROR(currentTheme != nullptr, L"vl::presentation::theme::UnregisterTheme(const WString&)#Theme has already been initialized"); + return currentTheme->UnregisterTheme(name); + } + } + } +} + +/*********************************************************************** +.\CONTROLS\TEMPLATES\GUICONTROLTEMPLATES.CPP +***********************************************************************/ + +namespace vl +{ + namespace presentation + { + namespace controls + { + using namespace reflection::description; + +/*********************************************************************** +GuiComponent +***********************************************************************/ + + GuiComponent::GuiComponent() + { + } + + GuiComponent::~GuiComponent() + { + } + + void GuiComponent::Attach(GuiInstanceRootObject* rootObject) + { + } + + void GuiComponent::Detach(GuiInstanceRootObject* rootObject) + { + } + +/*********************************************************************** +GuiInstanceRootObject +***********************************************************************/ + + GuiInstanceRootObject::GuiInstanceRootObject() + { + } + + GuiInstanceRootObject::~GuiInstanceRootObject() + { + } + + void GuiInstanceRootObject::FinalizeInstance() + { + if (!finalized) + { + finalized = true; + + FOREACH(Ptr, subscription, subscriptions) + { + subscription->Close(); + } + FOREACH(GuiComponent*, component, components) + { + component->Detach(this); + } + + subscriptions.Clear(); + for (vint i = 0; i resolver) + { + resourceResolver = resolver; + } + + Ptr GuiInstanceRootObject::ResolveResource(const WString& protocol, const WString& path, bool ensureExist) + { + Ptr object; + if (resourceResolver) + { + object = resourceResolver->ResolveResource(protocol, path); + } + if (ensureExist && !object) + { + throw ArgumentException(L"Resource \"" + protocol + L"://" + path + L"\" does not exist."); + } + return object; + } + + Ptr GuiInstanceRootObject::AddSubscription(Ptr subscription) + { + CHECK_ERROR(finalized == false, L"GuiInstanceRootObject::AddSubscription(Ptr)#Cannot add subscription after finalizing."); + if (subscriptions.Contains(subscription.Obj())) + { + return nullptr; + } + else + { + subscriptions.Add(subscription); + subscription->Open(); + subscription->Update(); + return subscription; + } + } + + void GuiInstanceRootObject::UpdateSubscriptions() + { + FOREACH(Ptr, subscription, subscriptions) + { + subscription->Update(); + } + } + + bool GuiInstanceRootObject::AddComponent(GuiComponent* component) + { + CHECK_ERROR(finalized == false, L"GuiInstanceRootObject::AddComponent(GuiComponent*>)#Cannot add component after finalizing."); + if(components.Contains(component)) + { + return false; + } + else + { + components.Add(component); + component->Attach(this); + return true; + } + } + + bool GuiInstanceRootObject::AddControlHostComponent(GuiControlHost* controlHost) + { + return AddComponent(new GuiObjectComponent(controlHost)); + } + } + namespace templates + { + using namespace collections; + using namespace controls; + using namespace compositions; + using namespace elements; + +/*********************************************************************** +GuiTemplate +***********************************************************************/ + + GuiTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) + + GuiTemplate::GuiTemplate() + :VisuallyEnabled_(true) + { + GuiTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) + } + + GuiTemplate::~GuiTemplate() + { + FinalizeInstanceRecursively(this); + } + +/*********************************************************************** +GuiControlTemplate +***********************************************************************/ + + GuiControlTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) + + GuiControlTemplate::GuiControlTemplate() + :ContainerComposition_(this) + , FocusableComposition_(0) + { + GuiControlTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) + } + + GuiControlTemplate::~GuiControlTemplate() + { + FinalizeAggregation(); + } + + void GuiControlTemplate::Initialize() + { + } + +/*********************************************************************** +GuiLabelTemplate +***********************************************************************/ + + GuiLabelTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) + + GuiLabelTemplate::GuiLabelTemplate() + { + GuiLabelTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) + } + + GuiLabelTemplate::~GuiLabelTemplate() + { + FinalizeAggregation(); + } + +/*********************************************************************** +GuiSinglelineTextBoxTemplate +***********************************************************************/ + + GuiSinglelineTextBoxTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) + + GuiSinglelineTextBoxTemplate::GuiSinglelineTextBoxTemplate() + { + GuiSinglelineTextBoxTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) + } + + GuiSinglelineTextBoxTemplate::~GuiSinglelineTextBoxTemplate() + { + FinalizeAggregation(); + } + +/*********************************************************************** +GuiDocumentLabelTemplate +***********************************************************************/ + + GuiDocumentLabelTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) + + GuiDocumentLabelTemplate::GuiDocumentLabelTemplate() + { + GuiDocumentLabelTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) + } + + GuiDocumentLabelTemplate::~GuiDocumentLabelTemplate() + { + FinalizeAggregation(); + } + +/*********************************************************************** +GuiMenuTemplate +***********************************************************************/ + + GuiMenuTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) + + GuiMenuTemplate::GuiMenuTemplate() + { + GuiMenuTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) + } + + GuiMenuTemplate::~GuiMenuTemplate() + { + FinalizeAggregation(); + } + +/*********************************************************************** +GuiWindowTemplate +***********************************************************************/ + + GuiWindowTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) + + GuiWindowTemplate::GuiWindowTemplate() + :MaximizedBoxOption_(BoolOption::Customizable) + , MinimizedBoxOption_(BoolOption::Customizable) + , BorderOption_(BoolOption::Customizable) + , SizeBoxOption_(BoolOption::Customizable) + , IconVisibleOption_(BoolOption::Customizable) + , TitleBarOption_(BoolOption::Customizable) + , MaximizedBox_(true) + , MinimizedBox_(true) + , Border_(true) + , SizeBox_(true) + , IconVisible_(true) + , TitleBar_(true) + , CustomizedBorder_(false) + , Maximized_(false) + , CustomFrameEnabled_(true) + { + GuiWindowTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) + } + + GuiWindowTemplate::~GuiWindowTemplate() + { + FinalizeAggregation(); + } + +/*********************************************************************** +GuiButtonTemplate +***********************************************************************/ + + GuiButtonTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) + + GuiButtonTemplate::GuiButtonTemplate() + :State_(ButtonState::Normal) + { + GuiButtonTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) + } + + GuiButtonTemplate::~GuiButtonTemplate() + { + FinalizeAggregation(); + } + +/*********************************************************************** +GuiSelectableButtonTemplate +***********************************************************************/ + + GuiSelectableButtonTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) + + GuiSelectableButtonTemplate::GuiSelectableButtonTemplate() + :Selected_(false) + { + GuiSelectableButtonTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) + } + + GuiSelectableButtonTemplate::~GuiSelectableButtonTemplate() + { + FinalizeAggregation(); + } + +/*********************************************************************** +GuiToolstripButtonTemplate +***********************************************************************/ + + GuiToolstripButtonTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) + + GuiToolstripButtonTemplate::GuiToolstripButtonTemplate() + :SubMenuExisting_(false) + , SubMenuOpening_(false) + , SubMenuHost_(0) + { + GuiToolstripButtonTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) + } + + GuiToolstripButtonTemplate::~GuiToolstripButtonTemplate() + { + FinalizeAggregation(); + } + +/*********************************************************************** +GuiListViewColumnHeaderTemplate +***********************************************************************/ + + GuiListViewColumnHeaderTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) + + GuiListViewColumnHeaderTemplate::GuiListViewColumnHeaderTemplate() + :SortingState_(ColumnSortingState::NotSorted) + { + GuiListViewColumnHeaderTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) + } + + GuiListViewColumnHeaderTemplate::~GuiListViewColumnHeaderTemplate() + { + FinalizeAggregation(); + } + +/*********************************************************************** +GuiComboBoxTemplate +***********************************************************************/ + + GuiComboBoxTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) + + GuiComboBoxTemplate::GuiComboBoxTemplate() + :Commands_(nullptr) + , TextVisible_(true) + { + GuiComboBoxTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) + } + + GuiComboBoxTemplate::~GuiComboBoxTemplate() + { + FinalizeAggregation(); + } + +/*********************************************************************** +GuiScrollTemplate +***********************************************************************/ + + GuiScrollTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) + + GuiScrollTemplate::GuiScrollTemplate() + :Commands_(nullptr) + , TotalSize_(100) + , PageSize_(10) + , Position_(0) + { + GuiScrollTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) + } + + GuiScrollTemplate::~GuiScrollTemplate() + { + FinalizeAggregation(); + } + +/*********************************************************************** +GuiScrollViewTemplate +***********************************************************************/ + + void GuiScrollViewTemplate::UpdateTable() + { + if (horizontalScroll->GetEnabled() || horizontalAlwaysVisible) + { + tableComposition->SetRowOption(1, GuiCellOption::AbsoluteOption(GetDefaultScrollSize())); + } + else + { + tableComposition->SetRowOption(1, GuiCellOption::AbsoluteOption(0)); + } + if (verticalScroll->GetEnabled() || verticalAlwaysVisible) + { + tableComposition->SetColumnOption(1, GuiCellOption::AbsoluteOption(GetDefaultScrollSize())); + } + else + { + tableComposition->SetColumnOption(1, GuiCellOption::AbsoluteOption(0)); + } + tableComposition->UpdateCellBounds(); + } + + GuiScrollViewTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) + + GuiScrollViewTemplate::GuiScrollViewTemplate() + :DefaultScrollSize_(0) + , Commands_(nullptr) + { + GuiScrollViewTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) + } + + GuiScrollViewTemplate::~GuiScrollViewTemplate() + { + FinalizeAggregation(); + } + + void GuiScrollViewTemplate::AdjustView(Size fullSize) + { + Size viewSize = containerComposition->GetBounds().GetSize(); + if (fullSize.x <= viewSize.x) + { + horizontalScroll->SetEnabled(false); + horizontalScroll->SetPosition(0); + } + else + { + horizontalScroll->SetEnabled(true); + horizontalScroll->SetTotalSize(fullSize.x); + horizontalScroll->SetPageSize(viewSize.x); + } + if (fullSize.y <= viewSize.y) + { + verticalScroll->SetEnabled(false); + verticalScroll->SetPosition(0); + } + else + { + verticalScroll->SetEnabled(true); + verticalScroll->SetTotalSize(fullSize.y); + verticalScroll->SetPageSize(viewSize.y); + } + UpdateTable(); + } + + GuiScroll* GuiScrollViewTemplate::GetHorizontalScroll() + { + return horizontalScroll; + } + + GuiScroll* GuiScrollViewTemplate::GetVerticalScroll() + { + return verticalScroll; + } + + bool GuiScrollViewTemplate::GetHorizontalAlwaysVisible() + { + return horizontalAlwaysVisible; + } + + void GuiScrollViewTemplate::SetHorizontalAlwaysVisible(bool value) + { + if (horizontalAlwaysVisible != value) + { + horizontalAlwaysVisible = value; + Commands_->CalculateView(); + } + } + + bool GuiScrollViewTemplate::GetVerticalAlwaysVisible() + { + return verticalAlwaysVisible; + } + + void GuiScrollViewTemplate::SetVerticalAlwaysVisible(bool value) + { + if (verticalAlwaysVisible != value) + { + verticalAlwaysVisible = value; + Commands_->CalculateView(); + } + } + + void GuiScrollViewTemplate::Initialize() + { + SetMinSizeLimitation(GuiGraphicsComposition::LimitToElementAndChildren); + + horizontalScroll = new GuiScroll(theme::ThemeName::HScroll); + horizontalScroll->SetControlTemplate(GetHScrollTemplate()); + horizontalScroll->GetBoundsComposition()->SetAlignmentToParent(Margin(0, 0, 0, 0)); + horizontalScroll->SetEnabled(false); + verticalScroll = new GuiScroll(theme::ThemeName::HScroll); + verticalScroll->SetControlTemplate(GetVScrollTemplate()); + verticalScroll->GetBoundsComposition()->SetAlignmentToParent(Margin(0, 0, 0, 0)); + verticalScroll->SetEnabled(false); + + tableComposition = new GuiTableComposition; + AddChild(tableComposition); + tableComposition->SetAlignmentToParent(Margin(0, 0, 0, 0)); + tableComposition->SetRowsAndColumns(2, 2); + tableComposition->SetRowOption(0, GuiCellOption::PercentageOption(1.0)); + tableComposition->SetRowOption(1, GuiCellOption::MinSizeOption()); + tableComposition->SetColumnOption(0, GuiCellOption::PercentageOption(1.0)); + tableComposition->SetColumnOption(1, GuiCellOption::MinSizeOption()); + UpdateTable(); + { + GuiCellComposition* cell = new GuiCellComposition; + tableComposition->AddChild(cell); + cell->SetSite(1, 0, 1, 1); + cell->AddChild(horizontalScroll->GetBoundsComposition()); + } + { + GuiCellComposition* cell = new GuiCellComposition; + tableComposition->AddChild(cell); + cell->SetSite(0, 1, 1, 1); + cell->AddChild(verticalScroll->GetBoundsComposition()); + } + + containerCellComposition = new GuiCellComposition; + tableComposition->AddChild(containerCellComposition); + containerCellComposition->SetSite(0, 0, 1, 1); + + containerComposition = new GuiBoundsComposition; + containerComposition->SetAlignmentToParent(Margin(0, 0, 0, 0)); + containerCellComposition->AddChild(containerComposition); + SetContainerComposition(containerComposition); + } + +/*********************************************************************** +GuiMultilineTextBoxTemplate +***********************************************************************/ + + GuiMultilineTextBoxTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) + + GuiMultilineTextBoxTemplate::GuiMultilineTextBoxTemplate() + :Commands_(nullptr) + { + GuiMultilineTextBoxTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) + } + + GuiMultilineTextBoxTemplate::~GuiMultilineTextBoxTemplate() + { + FinalizeAggregation(); + } + +/*********************************************************************** +GuiListControlTemplate +***********************************************************************/ + + GuiListControlTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) + + GuiListControlTemplate::GuiListControlTemplate() + { + GuiListControlTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) + } + + GuiListControlTemplate::~GuiListControlTemplate() + { + FinalizeAggregation(); + } + +/*********************************************************************** +GuiTextListTemplate +***********************************************************************/ + + GuiTextListTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) + + GuiTextListTemplate::GuiTextListTemplate() + { + GuiTextListTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) + } + + GuiTextListTemplate::~GuiTextListTemplate() + { + FinalizeAggregation(); + } + +/*********************************************************************** +GuiDocumentViewerTemplate +***********************************************************************/ + + GuiDocumentViewerTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) + + GuiDocumentViewerTemplate::GuiDocumentViewerTemplate() + { + GuiDocumentViewerTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) + } + + GuiDocumentViewerTemplate::~GuiDocumentViewerTemplate() + { + FinalizeAggregation(); + } + +/*********************************************************************** +GuiListViewTemplate +***********************************************************************/ + + GuiListViewTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) + + GuiListViewTemplate::GuiListViewTemplate() + { + GuiListViewTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) + } + + GuiListViewTemplate::~GuiListViewTemplate() + { + FinalizeAggregation(); + } + +/*********************************************************************** +GuiTreeViewTemplate +***********************************************************************/ + + GuiTreeViewTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) + + GuiTreeViewTemplate::GuiTreeViewTemplate() + { + GuiTreeViewTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) + } + + GuiTreeViewTemplate::~GuiTreeViewTemplate() + { + FinalizeAggregation(); + } + +/*********************************************************************** +GuiTabTemplate +***********************************************************************/ + + GuiTabTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) + + GuiTabTemplate::GuiTabTemplate() + :Commands_(nullptr) + , SelectedTabPage_(nullptr) + { + GuiTabTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) + } + + GuiTabTemplate::~GuiTabTemplate() + { + FinalizeAggregation(); + } + +/*********************************************************************** +GuiDatePickerTemplate +***********************************************************************/ + + vint GetDayCountForMonth(vint year, vint month) + { + bool isLeapYear = (year % 100 == 0) ? (year % 400 == 0) : (year % 4 == 0); + switch (month) + { + case 1:case 3:case 5:case 7:case 8:case 10:case 12: + return 31; + case 4:case 6:case 9:case 11: + return 30; + default: + return isLeapYear ? 29 : 28; + } + } + + void StepPreviousMonth(vint& year, vint& month) + { + if (month == 1) + { + year--; + month = 12; + } + else + { + month--; + } + } + + void StepNextMonth(vint& year, vint& month) + { + if (month == 12) + { + year++; + month = 1; + } + else + { + month++; + } + } + + void GuiDatePickerTemplate::SetDay(const DateTime& day, vint& index, bool currentMonth) + { + dateDays[index] = day; + GuiSolidLabelElement* label = labelDays[index]; + label->SetText(itow(day.day)); + label->SetColor(currentMonth ? GetPrimaryTextColor() : GetSecondaryTextColor()); + index++; + } + + void GuiDatePickerTemplate::comboYearMonth_SelectedIndexChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) + { + if (!preventComboEvent) + { + if (comboYear->GetSelectedIndex() != -1 && comboMonth->GetSelectedIndex() != -1) + { + vint year = comboYear->GetSelectedIndex() + YearFirst; + vint month = comboMonth->GetSelectedIndex() + 1; + SetDate(DateTime::FromDateTime(year, month, 1)); + Commands_->NotifyDateChanged(); + Commands_->NotifyDateNavigated(); + } + } + } + + void GuiDatePickerTemplate::buttonDay_SelectedChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) + { + if (!preventButtonEvent) + { + GuiSelectableButton* button = dynamic_cast(sender->GetRelatedControl()); + if (button->GetSelected()) + { + vint index = buttonDays.IndexOf(button); + if (index != -1) + { + DateTime day = dateDays[index]; + if (day.year != currentDate.year || day.month != currentDate.month) + { + SetDate(day); + } + else + { + currentDate = day; + } + Commands_->NotifyDateChanged(); + Commands_->NotifyDateSelected(); + } + } + } + } + + void GuiDatePickerTemplate::DisplayMonth(vint year, vint month) + { + if (YearFirst <= year && year <= YearLast && 1 <= month && month <= 12) + { + preventComboEvent = true; + comboYear->SetSelectedIndex(year - YearFirst); + comboMonth->SetSelectedIndex(month - 1); + preventComboEvent = false; + } + + vint yearPrev = year, yearNext = year, monthPrev = month, monthNext = month; + StepPreviousMonth(yearPrev, monthPrev); + StepNextMonth(yearNext, monthNext); + + vint countPrev = GetDayCountForMonth(yearPrev, monthPrev); + vint count = GetDayCountForMonth(year, month); + vint countNext = GetDayCountForMonth(yearNext, monthNext); + + DateTime firstDay = DateTime::FromDateTime(year, month, 1); + vint showPrev = firstDay.dayOfWeek; + if (showPrev == 0) showPrev = DaysOfWeek; + vint show = count; + vint showNext = DaysOfWeek*DayRows - showPrev - show; + + vint index = 0; + for (vint i = 0; i < showPrev; i++) + { + DateTime day = DateTime::FromDateTime(yearPrev, monthPrev, countPrev - (showPrev - i - 1)); + SetDay(day, index, false); + } + for (vint i = 0; i < show; i++) + { + DateTime day = DateTime::FromDateTime(year, month, i + 1); + SetDay(day, index, true); + } + for (vint i = 0; i < showNext; i++) + { + DateTime day = DateTime::FromDateTime(yearNext, monthNext, i + 1); + SetDay(day, index, false); + } + } + + void GuiDatePickerTemplate::SelectDay(vint day) + { + for (vint i = 0; i < dateDays.Count(); i++) + { + const DateTime& dt = dateDays[i]; + if (dt.year == currentDate.year && dt.month == currentDate.month && dt.day == day) + { + preventButtonEvent = true; + buttonDays[i]->SetSelected(true); + preventButtonEvent = false; + break; + } + } + } + + void GuiDatePickerTemplate::OnFontChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) + { + auto value = GetFont(); + comboYear->SetFont(value); + listYears->SetFont(value); + comboMonth->SetFont(value); + listMonths->SetFont(value); + FOREACH(GuiSolidLabelElement*, label, From(labelDaysOfWeek).Concat(labelDays)) + { + label->SetFont(value); + } + } + + void GuiDatePickerTemplate::UpdateData(const DateTime& value, bool forceUpdate) + { + bool dateChanged = currentDate.year != value.year || currentDate.month != value.month || currentDate.day != value.day; + + if (forceUpdate || dateChanged) + { + currentDate = value; + DisplayMonth(value.year, value.month); + SelectDay(value.day); + } + + if (dateChanged) + { + GuiEventArgs arguments(this); + DateChanged.Execute(arguments); + } + } + + GuiDatePickerTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) + + GuiDatePickerTemplate::GuiDatePickerTemplate() + :Commands_(nullptr) + , preventComboEvent(false) + , preventButtonEvent(false) + { + CommandsChanged.SetAssociatedComposition(this); + DateLocaleChanged.SetAssociatedComposition(this); + DateChanged.SetAssociatedComposition(this); + GuiDatePickerTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) + } + + GuiDatePickerTemplate::~GuiDatePickerTemplate() + { + FinalizeAggregation(); + } + + const Locale& GuiDatePickerTemplate::GetDateLocale() + { + return dateLocale; + } + + void GuiDatePickerTemplate::SetDateLocale(const Locale& value) + { + if (dateLocale != value) + { + dateLocale = value; + for (vint i = 0; i < DaysOfWeek; i++) + { + labelDaysOfWeek[i]->SetText(dateLocale.GetShortDayOfWeekName(i)); + } + + listMonths->GetItems().Clear(); + for (vint i = 1; i <= 12; i++) + { + listMonths->GetItems().Add(new list::TextItem(dateLocale.GetLongMonthName(i))); + } + + UpdateData(currentDate, true); + + GuiEventArgs arguments(this); + DateLocaleChanged.Execute(arguments); + } + } + + const DateTime& GuiDatePickerTemplate::GetDate() + { + return currentDate; + } + + void GuiDatePickerTemplate::SetDate(const DateTime& value) + { + UpdateData(value, false); + } + + void GuiDatePickerTemplate::Initialize() + { + GuiTableComposition* monthTable = 0; + GuiTableComposition* dayTable = 0; + { + listYears = new GuiTextList(theme::ThemeName::TextList); + listYears->SetControlTemplate(GetDateTextListTemplate()); + listYears->SetHorizontalAlwaysVisible(false); + for (vint i = YearFirst; i <= YearLast; i++) + { + listYears->GetItems().Add(new list::TextItem(itow(i))); + } + comboYear = new GuiComboBoxListControl(theme::ThemeName::ComboBox, listYears); + comboYear->SetControlTemplate(GetDateComboBoxTemplate()); + comboYear->GetBoundsComposition()->SetAlignmentToParent(Margin(0, 0, 2, 0)); + comboYear->SelectedIndexChanged.AttachMethod(this, &GuiDatePickerTemplate::comboYearMonth_SelectedIndexChanged); + } + { + listMonths = new GuiTextList(theme::ThemeName::TextList); + listMonths->SetControlTemplate(GetDateTextListTemplate()); + listMonths->SetHorizontalAlwaysVisible(false); + comboMonth = new GuiComboBoxListControl(theme::ThemeName::ComboBox, listMonths); + comboMonth->SetControlTemplate(GetDateComboBoxTemplate()); + comboMonth->GetBoundsComposition()->SetAlignmentToParent(Margin(2, 0, 0, 0)); + comboMonth->SelectedIndexChanged.AttachMethod(this, &GuiDatePickerTemplate::comboYearMonth_SelectedIndexChanged); + } + { + monthTable = new GuiTableComposition; + monthTable->SetAlignmentToParent(Margin(0, 0, 0, 0)); + monthTable->SetMinSizeLimitation(GuiGraphicsComposition::LimitToElementAndChildren); + monthTable->SetRowsAndColumns(1, 2); + monthTable->SetRowOption(0, GuiCellOption::MinSizeOption()); + monthTable->SetColumnOption(0, GuiCellOption::PercentageOption(0.5)); + monthTable->SetColumnOption(1, GuiCellOption::PercentageOption(0.5)); + { + GuiCellComposition* cell = new GuiCellComposition; + monthTable->AddChild(cell); + cell->SetSite(0, 0, 1, 1); + cell->AddChild(comboYear->GetBoundsComposition()); + } + { + GuiCellComposition* cell = new GuiCellComposition; + monthTable->AddChild(cell); + cell->SetSite(0, 1, 1, 1); + cell->AddChild(comboMonth->GetBoundsComposition()); + } + } + { + dayTable = new GuiTableComposition; + dayTable->SetMinSizeLimitation(GuiGraphicsComposition::LimitToElementAndChildren); + dayTable->SetCellPadding(4); + dayTable->SetRowsAndColumns(DayRows + DayRowStart, DaysOfWeek); + + for (vint i = 0; i < DayRowStart; i++) + { + dayTable->SetRowOption(i, GuiCellOption::MinSizeOption()); + } + for (vint i = 0; i < DayRows; i++) + { + dayTable->SetRowOption(i + DayRowStart, GuiCellOption::PercentageOption(1.0)); + } + for (vint i = 0; i < DaysOfWeek; i++) + { + dayTable->SetColumnOption(i, GuiCellOption::PercentageOption(1.0)); + } + + { + GuiCellComposition* cell = new GuiCellComposition; + dayTable->AddChild(cell); + cell->SetSite(0, 0, 1, DaysOfWeek); + cell->AddChild(monthTable); + } + + labelDaysOfWeek.Resize(7); + for (vint i = 0; i < DaysOfWeek; i++) + { + GuiCellComposition* cell = new GuiCellComposition; + dayTable->AddChild(cell); + cell->SetSite(1, i, 1, 1); + + GuiSolidLabelElement* element = GuiSolidLabelElement::Create(); + element->SetAlignments(Alignment::Center, Alignment::Center); + element->SetColor(GetPrimaryTextColor()); + labelDaysOfWeek[i] = element; + cell->SetOwnedElement(element); + } + + buttonDays.Resize(DaysOfWeek*DayRows); + labelDays.Resize(DaysOfWeek*DayRows); + dateDays.Resize(DaysOfWeek*DayRows); + + auto dayMutexController = new GuiSelectableButton::MutexGroupController; + AddComponent(dayMutexController); + + for (vint i = 0; i < DaysOfWeek; i++) + { + for (vint j = 0; j < DayRows; j++) + { + GuiCellComposition* cell = new GuiCellComposition; + dayTable->AddChild(cell); + cell->SetSite(j + DayRowStart, i, 1, 1); + + GuiSelectableButton* button = new GuiSelectableButton(theme::ThemeName::CheckBox); + button->SetControlTemplate(GetDateButtonTemplate()); + button->GetBoundsComposition()->SetAlignmentToParent(Margin(0, 0, 0, 0)); + button->SetGroupController(dayMutexController); + button->SelectedChanged.AttachMethod(this, &GuiDatePickerTemplate::buttonDay_SelectedChanged); + cell->AddChild(button->GetBoundsComposition()); + buttonDays[j*DaysOfWeek + i] = button; + + GuiSolidLabelElement* element = GuiSolidLabelElement::Create(); + element->SetAlignments(Alignment::Center, Alignment::Center); + element->SetText(L"0"); + labelDays[j*DaysOfWeek + i] = element; + + GuiBoundsComposition* elementBounds = new GuiBoundsComposition; + elementBounds->SetOwnedElement(element); + elementBounds->SetAlignmentToParent(Margin(0, 0, 0, 0)); + elementBounds->SetMinSizeLimitation(GuiGraphicsComposition::LimitToElement); + button->GetContainerComposition()->AddChild(elementBounds); + } + } + } + { + GuiSolidBackgroundElement* element = GuiSolidBackgroundElement::Create(); + element->SetColor(GetBackgroundColor()); + dayTable->SetOwnedElement(element); + } + + dayTable->SetAlignmentToParent(Margin(0, 0, 0, 0)); + AddChild(dayTable); + + SetMinSizeLimitation(GuiGraphicsComposition::LimitToElementAndChildren); + SetContainerComposition(this); + } + +/*********************************************************************** +GuiDateComboBoxTemplate +***********************************************************************/ + + GuiDateComboBoxTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) + + GuiDateComboBoxTemplate::GuiDateComboBoxTemplate() + { + GuiDateComboBoxTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) + } + + GuiDateComboBoxTemplate::~GuiDateComboBoxTemplate() + { + FinalizeAggregation(); + } + +/*********************************************************************** +GuiListItemTemplate +***********************************************************************/ + + void GuiListItemTemplate::OnInitialize() + { + CHECK_ERROR(initialized == false, L"GuiListItemTemplate::OnInitialize()#Cannot initialize a GuiListItemTemplate twice."); + } + + GuiListItemTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) + + GuiListItemTemplate::GuiListItemTemplate() + :Selected_(false) + , Index_(0) + { + GuiListItemTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) + } + + GuiListItemTemplate::~GuiListItemTemplate() + { + FinalizeAggregation(); + } + + void GuiListItemTemplate::BeginEditListItem() + { + listControl->GetItemProvider()->PushEditing(); + } + + void GuiListItemTemplate::EndEditListItem() + { + CHECK_ERROR(listControl->GetItemProvider()->PopEditing(), L"GuiListItemTemplate::EndEditListItem()#BeginEditListItem and EndEditListItem calls are not paired."); + } + + void GuiListItemTemplate::Initialize(controls::GuiListControl* _listControl) + { + CHECK_ERROR(listControl == nullptr, L"GuiListItemTemplate::Initialize(GuiListControl*)#This function can only be called once."); + listControl = _listControl; + OnInitialize(); + } + +/*********************************************************************** +GuiTextListItemTemplate +***********************************************************************/ + + GuiTextListItemTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) + + GuiTextListItemTemplate::GuiTextListItemTemplate() + { + GuiTextListItemTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) + } + + GuiTextListItemTemplate::~GuiTextListItemTemplate() + { + FinalizeAggregation(); + } + +/*********************************************************************** +GuiTreeItemTemplate +***********************************************************************/ + + GuiTreeItemTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) + + GuiTreeItemTemplate::GuiTreeItemTemplate() + :Expanding_(false) + , Expandable_(false) + , Level_(0) + { + GuiTreeItemTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) + } + + GuiTreeItemTemplate::~GuiTreeItemTemplate() + { + FinalizeAggregation(); + } + +/*********************************************************************** +GuiGridCellTemplate +***********************************************************************/ + + GuiGridCellTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) + + GuiGridCellTemplate::GuiGridCellTemplate() + { + GuiGridCellTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) + } + + GuiGridCellTemplate::~GuiGridCellTemplate() + { + FinalizeAggregation(); + } + +/*********************************************************************** +GuiGridVisualizerTemplate +***********************************************************************/ + + GuiGridVisualizerTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) + + GuiGridVisualizerTemplate::GuiGridVisualizerTemplate() + { + GuiGridVisualizerTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) + } + + GuiGridVisualizerTemplate::~GuiGridVisualizerTemplate() + { + FinalizeAggregation(); + } + +/*********************************************************************** +GuiGridEditorTemplate +***********************************************************************/ + + GuiGridEditorTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_IMPL) + + GuiGridEditorTemplate::GuiGridEditorTemplate() + :CellValueSaved_(true) + , FocusControl_(nullptr) + { + GuiGridEditorTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_EVENT_INIT) + } + + GuiGridEditorTemplate::~GuiGridEditorTemplate() + { + FinalizeAggregation(); + } + } + } +} + /*********************************************************************** .\CONTROLS\TEXTEDITORPACKAGE\EDITORCALLBACK\GUITEXTAUTOCOMPLETE.CPP ***********************************************************************/ @@ -22359,9 +23928,13 @@ namespace vl GuiTextBoxAutoCompleteBase::TextListControlProvider ***********************************************************************/ - GuiTextBoxAutoCompleteBase::TextListControlProvider::TextListControlProvider(GuiTextList::IStyleProvider* styleProvider) + GuiTextBoxAutoCompleteBase::TextListControlProvider::TextListControlProvider(TemplateProperty controlTemplate) { - autoCompleteList = new GuiTextList(styleProvider ? styleProvider : theme::GetCurrentTheme()->CreateTextListStyle()); + autoCompleteList = new GuiTextList(theme::ThemeName::TextList); + if (controlTemplate) + { + autoCompleteList->SetControlTemplate(controlTemplate); + } autoCompleteList->SetHorizontalAlwaysVisible(false); autoCompleteList->SetVerticalAlwaysVisible(false); } @@ -22417,9 +23990,9 @@ GuiTextBoxAutoCompleteBase GuiTextBoxAutoCompleteBase::GuiTextBoxAutoCompleteBase(Ptr _autoCompleteControlProvider) :element(0) - ,elementModifyLock(0) - ,ownerComposition(0) - ,autoCompleteControlProvider(_autoCompleteControlProvider) + , elementModifyLock(0) + , ownerComposition(0) + , autoCompleteControlProvider(_autoCompleteControlProvider) { if (!autoCompleteControlProvider) { @@ -22427,7 +24000,7 @@ GuiTextBoxAutoCompleteBase } autoCompleteControlProvider->GetAutoCompleteControl()->GetBoundsComposition()->SetAlignmentToParent(Margin(0, 0, 0, 0)); - autoCompletePopup = new GuiPopup(theme::GetCurrentTheme()->CreateMenuStyle()); + autoCompletePopup = new GuiPopup(theme::ThemeName::Menu); autoCompletePopup->AddChild(autoCompleteControlProvider->GetAutoCompleteControl()); } @@ -22658,6 +24231,499 @@ GuiTextBoxAutoCompleteBase } } +/*********************************************************************** +.\CONTROLS\TOOLSTRIPPACKAGE\GUIMENUCONTROLS.CPP +***********************************************************************/ + +namespace vl +{ + namespace presentation + { + namespace controls + { + using namespace compositions; + +/*********************************************************************** +IGuiMenuService +***********************************************************************/ + + const wchar_t* const IGuiMenuService::Identifier = L"vl::presentation::controls::IGuiMenuService"; + + IGuiMenuService::IGuiMenuService() + :openingMenu(0) + { + } + + void IGuiMenuService::MenuItemExecuted() + { + if(openingMenu) + { + openingMenu->Hide(); + } + if(GetParentMenuService()) + { + GetParentMenuService()->MenuItemExecuted(); + } + } + + GuiMenu* IGuiMenuService::GetOpeningMenu() + { + return openingMenu; + } + + void IGuiMenuService::MenuOpened(GuiMenu* menu) + { + if(openingMenu!=menu && openingMenu) + { + openingMenu->Hide(); + } + openingMenu=menu; + } + + void IGuiMenuService::MenuClosed(GuiMenu* menu) + { + if(openingMenu==menu) + { + openingMenu=0; + } + } + +/*********************************************************************** +GuiMenu +***********************************************************************/ + + void GuiMenu::BeforeControlTemplateUninstalled_() + { + } + + void GuiMenu::AfterControlTemplateInstalled_(bool initialize) + { + } + + IGuiMenuService* GuiMenu::GetParentMenuService() + { + return parentMenuService; + } + + IGuiMenuService::Direction GuiMenu::GetPreferredDirection() + { + return IGuiMenuService::Vertical; + } + + bool GuiMenu::IsActiveState() + { + return true; + } + + bool GuiMenu::IsSubMenuActivatedByMouseDown() + { + return false; + } + + void GuiMenu::MenuItemExecuted() + { + IGuiMenuService::MenuItemExecuted(); + Hide(); + } + + void GuiMenu::OnWindowOpened(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) + { + if(parentMenuService) + { + parentMenuService->MenuOpened(this); + } + } + + void GuiMenu::OnDeactivatedAltHost() + { + Hide(); + } + + void GuiMenu::MouseClickedOnOtherWindow(GuiWindow* window) + { + GuiMenu* targetMenu=dynamic_cast(window); + if(!targetMenu) + { + Hide(); + } + } + + void GuiMenu::OnWindowClosed(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) + { + if(parentMenuService) + { + parentMenuService->MenuClosed(this); + GuiMenu* openingSubMenu=GetOpeningMenu(); + if(openingSubMenu) + { + openingSubMenu->Hide(); + } + } + } + + GuiMenu::GuiMenu(theme::ThemeName themeName, GuiControl* _owner) + :GuiPopup(themeName) + , owner(_owner) + , parentMenuService(0) + { + GetNativeWindow()->SetAlwaysPassFocusToParent(true); + UpdateMenuService(); + WindowOpened.AttachMethod(this, &GuiMenu::OnWindowOpened); + WindowClosed.AttachMethod(this, &GuiMenu::OnWindowClosed); + } + + GuiMenu::~GuiMenu() + { + } + + void GuiMenu::UpdateMenuService() + { + if(owner) + { + parentMenuService=owner->QueryTypedService(); + } + } + + IDescriptable* GuiMenu::QueryService(const WString& identifier) + { + if(identifier==IGuiMenuService::Identifier) + { + return (IGuiMenuService*)this; + } + else + { + return GuiPopup::QueryService(identifier); + } + } + +/*********************************************************************** +GuiMenuBar +***********************************************************************/ + + IGuiMenuService* GuiMenuBar::GetParentMenuService() + { + return 0; + } + + IGuiMenuService::Direction GuiMenuBar::GetPreferredDirection() + { + return IGuiMenuService::Horizontal; + } + + bool GuiMenuBar::IsActiveState() + { + return GetOpeningMenu()!=0; + } + + bool GuiMenuBar::IsSubMenuActivatedByMouseDown() + { + return true; + } + + GuiMenuBar::GuiMenuBar(theme::ThemeName themeName) + :GuiControl(themeName) + { + } + + GuiMenuBar::~GuiMenuBar() + { + } + + IDescriptable* GuiMenuBar::QueryService(const WString& identifier) + { + if(identifier==IGuiMenuService::Identifier) + { + return (IGuiMenuService*)this; + } + else + { + return GuiControl::QueryService(identifier); + } + } + +/*********************************************************************** +GuiMenuButton +***********************************************************************/ + + void GuiMenuButton::BeforeControlTemplateUninstalled_() + { + auto host = GetSubMenuHost(); + host->Clicked.Detach(hostClickedHandler); + host->GetBoundsComposition()->GetEventReceiver()->mouseEnter.Detach(hostMouseEnterHandler); + + hostClickedHandler = nullptr; + hostMouseEnterHandler = nullptr; + } + + void GuiMenuButton::AfterControlTemplateInstalled_(bool initialize) + { + auto ct = GetControlTemplateObject(); + auto host = GetSubMenuHost(); + + ct->SetSubMenuOpening(GetSubMenuOpening()); + ct->SetImage(image); + ct->SetShortcutText(shortcutText); + ct->SetSubMenuExisting(subMenu != nullptr); + + hostClickedHandler = host->Clicked.AttachMethod(this, &GuiMenuButton::OnClicked); + hostMouseEnterHandler = host->GetBoundsComposition()->GetEventReceiver()->mouseEnter.AttachMethod(this, &GuiMenuButton::OnMouseEnter); + } + + GuiButton* GuiMenuButton::GetSubMenuHost() + { + GuiButton* button = GetControlTemplateObject()->GetSubMenuHost(); + return button ? button : this; + } + + void GuiMenuButton::OpenSubMenuInternal() + { + if(!GetSubMenuOpening()) + { + if(ownerMenuService) + { + GuiMenu* openingSiblingMenu=ownerMenuService->GetOpeningMenu(); + if(openingSiblingMenu) + { + openingSiblingMenu->Hide(); + } + } + SetSubMenuOpening(true); + } + } + + void GuiMenuButton::OnParentLineChanged() + { + GuiButton::OnParentLineChanged(); + ownerMenuService=QueryTypedService(); + if(ownerMenuService) + { + SetClickOnMouseUp(!ownerMenuService->IsSubMenuActivatedByMouseDown()); + } + if(subMenu) + { + subMenu->UpdateMenuService(); + } + } + + bool GuiMenuButton::IsAltAvailable() + { + return true; + } + + compositions::IGuiAltActionHost* GuiMenuButton::GetActivatingAltHost() + { + if (subMenu) + { + return subMenu->QueryTypedService(); + } + return 0; + } + + void GuiMenuButton::OnSubMenuWindowOpened(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) + { + SubMenuOpeningChanged.Execute(GetNotifyEventArguments()); + GetControlTemplateObject()->SetSubMenuOpening(true); + } + + void GuiMenuButton::OnSubMenuWindowClosed(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) + { + SubMenuOpeningChanged.Execute(GetNotifyEventArguments()); + GetControlTemplateObject()->SetSubMenuOpening(false); + } + + void GuiMenuButton::OnMouseEnter(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) + { + if(GetVisuallyEnabled()) + { + if(cascadeAction && ownerMenuService && ownerMenuService->IsActiveState()) + { + OpenSubMenuInternal(); + } + } + } + + void GuiMenuButton::OnClicked(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) + { + if(GetVisuallyEnabled()) + { + if(GetSubMenu()) + { + OpenSubMenuInternal(); + } + else if(ownerMenuService) + { + ownerMenuService->MenuItemExecuted(); + } + } + } + + IGuiMenuService::Direction GuiMenuButton::GetSubMenuDirection() + { + return ownerMenuService?ownerMenuService->GetPreferredDirection():IGuiMenuService::Horizontal; + } + + GuiMenuButton::GuiMenuButton(theme::ThemeName themeName) + :GuiSelectableButton(themeName) + ,subMenu(0) + ,ownedSubMenu(false) + ,ownerMenuService(0) + ,cascadeAction(true) + { + SetAutoSelection(false); + SubMenuOpeningChanged.SetAssociatedComposition(boundsComposition); + ImageChanged.SetAssociatedComposition(boundsComposition); + ShortcutTextChanged.SetAssociatedComposition(boundsComposition); + } + + GuiMenuButton::~GuiMenuButton() + { + if(subMenu && ownedSubMenu) + { + delete subMenu; + } + } + + Ptr GuiMenuButton::GetImage() + { + return image; + } + + void GuiMenuButton::SetImage(Ptr value) + { + if (image != value) + { + image = value; + GetControlTemplateObject()->SetImage(image); + ImageChanged.Execute(GetNotifyEventArguments()); + } + } + + const WString& GuiMenuButton::GetShortcutText() + { + return shortcutText; + } + + void GuiMenuButton::SetShortcutText(const WString& value) + { + if (shortcutText != value) + { + shortcutText = value; + GetControlTemplateObject()->SetShortcutText(shortcutText); + ShortcutTextChanged.Execute(GetNotifyEventArguments()); + } + } + + bool GuiMenuButton::IsSubMenuExists() + { + return subMenu!=0; + } + + GuiMenu* GuiMenuButton::GetSubMenu() + { + return subMenu; + } + + GuiMenu* GuiMenuButton::CreateSubMenu(TemplateProperty subMenuTemplate) + { + if (!subMenu) + { + GuiMenu* newSubMenu = new GuiMenu(theme::ThemeName::Menu, this); + newSubMenu->SetControlTemplate(subMenuTemplate ? subMenuTemplate : GetControlTemplateObject()->GetSubMenuTemplate()); + SetSubMenu(newSubMenu, true); + } + return subMenu; + } + + void GuiMenuButton::SetSubMenu(GuiMenu* value, bool owned) + { + if(subMenu) + { + if(ownedSubMenu) + { + delete subMenu; + } + } + subMenu=value; + ownedSubMenu=owned; + if(subMenu) + { + subMenu->WindowOpened.AttachMethod(this, &GuiMenuButton::OnSubMenuWindowOpened); + subMenu->WindowClosed.AttachMethod(this, &GuiMenuButton::OnSubMenuWindowClosed); + } + GetControlTemplateObject()->SetSubMenuExisting(subMenu != nullptr); + } + + void GuiMenuButton::DestroySubMenu() + { + if(subMenu) + { + if(ownedSubMenu) + { + delete subMenu; + } + subMenu=0; + ownedSubMenu=false; + GetControlTemplateObject()->SetSubMenuExisting(false); + } + } + + bool GuiMenuButton::GetOwnedSubMenu() + { + return subMenu && ownedSubMenu; + } + + bool GuiMenuButton::GetSubMenuOpening() + { + if(subMenu) + { + return subMenu->GetOpening(); + } + else + { + return false; + } + } + + void GuiMenuButton::SetSubMenuOpening(bool value) + { + if(subMenu) + { + if(value) + { + subMenu->SetClientSize(preferredMenuClientSize); + IGuiMenuService::Direction direction=GetSubMenuDirection(); + subMenu->ShowPopup(GetSubMenuHost(), direction==IGuiMenuService::Horizontal); + } + else + { + subMenu->Close(); + } + } + } + + Size GuiMenuButton::GetPreferredMenuClientSize() + { + return preferredMenuClientSize; + } + + void GuiMenuButton::SetPreferredMenuClientSize(Size value) + { + preferredMenuClientSize=value; + } + + bool GuiMenuButton::GetCascadeAction() + { + return cascadeAction; + } + + void GuiMenuButton::SetCascadeAction(bool value) + { + cascadeAction=value; + } + } + } +} + /*********************************************************************** .\CONTROLS\TOOLSTRIPPACKAGE\GUITOOLSTRIPMENU.CPP ***********************************************************************/ @@ -22743,210 +24809,6 @@ GuiToolstripCollection { } -/*********************************************************************** -GuiToolstripBuilder -***********************************************************************/ - - GuiToolstripBuilder::GuiToolstripBuilder(Environment _environment, GuiToolstripCollection* _toolstripItems) - :environment(_environment) - ,toolstripItems(_toolstripItems) - ,previousBuilder(0) - ,theme(0) - ,lastCreatedButton(0) - { - } - - GuiToolstripBuilder::~GuiToolstripBuilder() - { - } - - GuiToolstripBuilder* GuiToolstripBuilder::Button(Ptr image, const WString& text, GuiToolstripButton** result) - { - lastCreatedButton=0; - switch(environment) - { - case Menu: - lastCreatedButton=new GuiToolstripButton(theme->CreateMenuItemButtonStyle()); - break; - case MenuBar: - lastCreatedButton=new GuiToolstripButton(theme->CreateMenuBarButtonStyle()); - break; - case ToolBar: - lastCreatedButton=new GuiToolstripButton(theme->CreateToolBarButtonStyle()); - break; - } - if(lastCreatedButton) - { - lastCreatedButton->SetImage(image); - lastCreatedButton->SetText(text); - if(result) - { - *result=lastCreatedButton; - } - toolstripItems->Add(lastCreatedButton); - } - return this; - } - - GuiToolstripBuilder* GuiToolstripBuilder::Button(GuiToolstripCommand* command, GuiToolstripButton** result) - { - lastCreatedButton=0; - switch(environment) - { - case Menu: - lastCreatedButton=new GuiToolstripButton(theme->CreateMenuItemButtonStyle()); - break; - case MenuBar: - lastCreatedButton=new GuiToolstripButton(theme->CreateMenuBarButtonStyle()); - break; - case ToolBar: - lastCreatedButton=new GuiToolstripButton(theme->CreateToolBarButtonStyle()); - break; - } - if(lastCreatedButton) - { - lastCreatedButton->SetCommand(command); - if(result) - { - *result=lastCreatedButton; - } - toolstripItems->Add(lastCreatedButton); - } - return this; - } - - GuiToolstripBuilder* GuiToolstripBuilder::DropdownButton(Ptr image, const WString& text, GuiToolstripButton** result) - { - lastCreatedButton=0; - switch(environment) - { - case ToolBar: - lastCreatedButton=new GuiToolstripButton(theme->CreateToolBarDropdownButtonStyle()); - break; - default:; - } - if(lastCreatedButton) - { - lastCreatedButton->SetImage(image); - lastCreatedButton->SetText(text); - if(result) - { - *result=lastCreatedButton; - } - toolstripItems->Add(lastCreatedButton); - } - return this; - } - - GuiToolstripBuilder* GuiToolstripBuilder::DropdownButton(GuiToolstripCommand* command, GuiToolstripButton** result) - { - lastCreatedButton=0; - switch(environment) - { - case ToolBar: - lastCreatedButton=new GuiToolstripButton(theme->CreateToolBarDropdownButtonStyle()); - break; - default:; - } - if(lastCreatedButton) - { - lastCreatedButton->SetCommand(command); - if(result) - { - *result=lastCreatedButton; - } - toolstripItems->Add(lastCreatedButton); - } - return this; - } - - GuiToolstripBuilder* GuiToolstripBuilder::SplitButton(Ptr image, const WString& text, GuiToolstripButton** result) - { - lastCreatedButton=0; - switch(environment) - { - case ToolBar: - lastCreatedButton=new GuiToolstripButton(theme->CreateToolBarSplitButtonStyle()); - break; - default:; - } - if(lastCreatedButton) - { - lastCreatedButton->SetImage(image); - lastCreatedButton->SetText(text); - if(result) - { - *result=lastCreatedButton; - } - toolstripItems->Add(lastCreatedButton); - } - return this; - } - - GuiToolstripBuilder* GuiToolstripBuilder::SplitButton(GuiToolstripCommand* command, GuiToolstripButton** result) - { - lastCreatedButton=0; - switch(environment) - { - case ToolBar: - lastCreatedButton=new GuiToolstripButton(theme->CreateToolBarSplitButtonStyle()); - break; - default:; - } - if(lastCreatedButton) - { - lastCreatedButton->SetCommand(command); - if(result) - { - *result=lastCreatedButton; - } - toolstripItems->Add(lastCreatedButton); - } - return this; - } - - GuiToolstripBuilder* GuiToolstripBuilder::Splitter() - { - lastCreatedButton=0; - switch(environment) - { - case Menu: - toolstripItems->Add(new GuiControl(theme->CreateMenuSplitterStyle())); - break; - case ToolBar: - toolstripItems->Add(new GuiControl(theme->CreateToolBarSplitterStyle())); - break; - default:; - } - return this; - } - - GuiToolstripBuilder* GuiToolstripBuilder::Control(GuiControl* control) - { - toolstripItems->Add(control); - return this; - } - - GuiToolstripBuilder* GuiToolstripBuilder::BeginSubMenu() - { - if(lastCreatedButton) - { - lastCreatedButton->CreateToolstripSubMenu(); - GuiToolstripMenu* menu=lastCreatedButton->GetToolstripSubMenu(); - if(menu) - { - menu->GetBuilder()->previousBuilder=this; - return menu->GetBuilder(); - } - } - return 0; - } - - GuiToolstripBuilder* GuiToolstripBuilder::EndSubMenu() - { - return previousBuilder; - } - /*********************************************************************** GuiToolstripMenu ***********************************************************************/ @@ -22956,13 +24818,13 @@ GuiToolstripMenu sharedSizeRootComposition->ForceCalculateSizeImmediately(); } - GuiToolstripMenu::GuiToolstripMenu(IStyleController* _styleController, GuiControl* _owner) - :GuiMenu(_styleController, _owner) + GuiToolstripMenu::GuiToolstripMenu(theme::ThemeName themeName, GuiControl* _owner) + :GuiMenu(themeName, _owner) { sharedSizeRootComposition = new GuiSharedSizeRootComposition(); sharedSizeRootComposition->SetAlignmentToParent(Margin(0, 0, 0, 0)); sharedSizeRootComposition->SetMinSizeLimitation(GuiGraphicsComposition::LimitToElementAndChildren); - GetContainerComposition()->AddChild(sharedSizeRootComposition); + containerComposition->AddChild(sharedSizeRootComposition); stackComposition=new GuiStackComposition; stackComposition->SetDirection(GuiStackComposition::Vertical); @@ -22971,7 +24833,6 @@ GuiToolstripMenu sharedSizeRootComposition->AddChild(stackComposition); toolstripItems = new GuiToolstripCollection(this, stackComposition); - builder = new GuiToolstripBuilder(GuiToolstripBuilder::Menu, toolstripItems.Obj()); } GuiToolstripMenu::~GuiToolstripMenu() @@ -22983,27 +24844,20 @@ GuiToolstripMenu return *toolstripItems.Obj(); } - GuiToolstripBuilder* GuiToolstripMenu::GetBuilder(theme::ITheme* themeObject) - { - builder->theme=themeObject?themeObject:theme::GetCurrentTheme(); - return builder.Obj(); - } - /*********************************************************************** GuiToolstripMenuBar ***********************************************************************/ - GuiToolstripMenuBar::GuiToolstripMenuBar(IStyleController* _styleController) - :GuiMenuBar(_styleController) + GuiToolstripMenuBar::GuiToolstripMenuBar(theme::ThemeName themeName) + :GuiMenuBar(themeName) { stackComposition=new GuiStackComposition; stackComposition->SetDirection(GuiStackComposition::Horizontal); stackComposition->SetAlignmentToParent(Margin(0, 0, 0, 0)); stackComposition->SetMinSizeLimitation(GuiGraphicsComposition::LimitToElementAndChildren); - GetContainerComposition()->AddChild(stackComposition); + containerComposition->AddChild(stackComposition); toolstripItems=new GuiToolstripCollection(0, stackComposition); - builder=new GuiToolstripBuilder(GuiToolstripBuilder::MenuBar, toolstripItems.Obj()); } GuiToolstripMenuBar::~GuiToolstripMenuBar() @@ -23015,27 +24869,20 @@ GuiToolstripMenuBar return *toolstripItems.Obj(); } - GuiToolstripBuilder* GuiToolstripMenuBar::GetBuilder(theme::ITheme* themeObject) - { - builder->theme=themeObject?themeObject:theme::GetCurrentTheme(); - return builder.Obj(); - } - /*********************************************************************** GuiToolstripToolBar ***********************************************************************/ - GuiToolstripToolBar::GuiToolstripToolBar(IStyleController* _styleController) - :GuiControl(_styleController) + GuiToolstripToolBar::GuiToolstripToolBar(theme::ThemeName themeName) + :GuiControl(themeName) { stackComposition=new GuiStackComposition; stackComposition->SetDirection(GuiStackComposition::Horizontal); stackComposition->SetAlignmentToParent(Margin(0, 0, 0, 0)); stackComposition->SetMinSizeLimitation(GuiGraphicsComposition::LimitToElementAndChildren); - GetContainerComposition()->AddChild(stackComposition); + containerComposition->AddChild(stackComposition); toolstripItems=new GuiToolstripCollection(0, stackComposition); - builder=new GuiToolstripBuilder(GuiToolstripBuilder::ToolBar, toolstripItems.Obj()); } GuiToolstripToolBar::~GuiToolstripToolBar() @@ -23047,12 +24894,6 @@ GuiToolstripToolBar return *toolstripItems.Obj(); } - GuiToolstripBuilder* GuiToolstripToolBar::GetBuilder(theme::ITheme* themeObject) - { - builder->theme=themeObject?themeObject:theme::GetCurrentTheme(); - return builder.Obj(); - } - /*********************************************************************** GuiToolstripButton ***********************************************************************/ @@ -23097,8 +24938,8 @@ GuiToolstripButton UpdateCommandContent(); } - GuiToolstripButton::GuiToolstripButton(IStyleController* _styleController) - :GuiMenuButton(_styleController) + GuiToolstripButton::GuiToolstripButton(theme::ThemeName themeName) + :GuiMenuButton(themeName) ,command(0) { Clicked.AttachMethod(this, &GuiToolstripButton::OnClicked); @@ -23141,16 +24982,24 @@ GuiToolstripButton { if (!GetSubMenu()) { - CreateToolstripSubMenu(); + CreateToolstripSubMenu({}); } return dynamic_cast(GetSubMenu()); } - void GuiToolstripButton::CreateToolstripSubMenu(GuiToolstripMenu::IStyleController* subMenuStyleController) + void GuiToolstripButton::CreateToolstripSubMenu(TemplateProperty subMenuTemplate) { - if(!subMenu) + if (!subMenu) { - GuiToolstripMenu* newSubMenu=new GuiToolstripMenu(subMenuStyleController?subMenuStyleController:styleController->CreateSubMenuStyleController(), this); + auto newSubMenu = new GuiToolstripMenu(theme::ThemeName::Menu, this); + if (subMenuTemplate) + { + newSubMenu->SetControlTemplate(subMenuTemplate); + } + else + { + newSubMenu->SetControlTemplate(GetControlTemplateObject()->GetSubMenuTemplate()); + } SetSubMenu(newSubMenu, true); } } @@ -23397,15 +25246,16 @@ GuiGraphicsHost count = currentActiveAltActions.Count(); auto window = dynamic_cast(currentAltHost->GetAltComposition()->GetRelatedControlHost()); - auto windowStyle = dynamic_cast(window->GetStyleController()); for (vint i = 0; i < count; i++) { auto key = currentActiveAltActions.Keys()[i]; auto composition = currentActiveAltActions.Values()[i]->GetAltComposition(); - auto labelStyle = windowStyle->CreateShortcutKeyStyle(); - if (!labelStyle)labelStyle = GetCurrentTheme()->CreateShortcutKeyStyle(); - auto label = new GuiLabel(labelStyle); + auto label = new GuiLabel(theme::ThemeName::ShortcutKey); + if (auto labelStyle = window->GetControlTemplateObject()->GetShortcutKeyTemplate()) + { + label->SetControlTemplate(labelStyle); + } label->SetText(key); composition->AddChild(label->GetBoundsComposition()); currentActiveAltTitles.Add(key, label); @@ -24347,3327 +26197,6 @@ GuiShortcutKeyManager } } -/*********************************************************************** -.\CONTROLS\LISTCONTROLPACKAGE\GUIBINDABLELISTCONTROLS.CPP -***********************************************************************/ - -namespace vl -{ - namespace presentation - { - namespace controls - { - using namespace collections; - using namespace list; - using namespace tree; - using namespace reflection::description; - using namespace templates; - -/*********************************************************************** -GuiBindableTextList::ItemSource -***********************************************************************/ - - GuiBindableTextList::ItemSource::ItemSource() - { - } - - GuiBindableTextList::ItemSource::~ItemSource() - { - SetItemSource(nullptr); - } - - Ptr GuiBindableTextList::ItemSource::GetItemSource() - { - return itemSource; - } - - void GuiBindableTextList::ItemSource::SetItemSource(Ptr _itemSource) - { - vint oldCount = 0; - if (itemSource) - { - oldCount = itemSource->GetCount(); - } - if (itemChangedEventHandler) - { - auto ol = itemSource.Cast(); - ol->ItemChanged.Remove(itemChangedEventHandler); - } - - itemSource = nullptr; - itemChangedEventHandler = nullptr; - - if (_itemSource) - { - if (auto ol = _itemSource.Cast()) - { - itemSource = ol; - itemChangedEventHandler = ol->ItemChanged.Add([this](vint start, vint oldCount, vint newCount) - { - InvokeOnItemModified(start, oldCount, newCount); - }); - } - else if (auto rl = _itemSource.Cast()) - { - itemSource = rl; - } - else - { - itemSource = IValueList::Create(GetLazyList(_itemSource)); - } - } - - InvokeOnItemModified(0, oldCount, itemSource ? itemSource->GetCount() : 0); - } - - description::Value GuiBindableTextList::ItemSource::Get(vint index) - { - if (!itemSource) return Value(); - return itemSource->Get(index); - } - - void GuiBindableTextList::ItemSource::UpdateBindingProperties() - { - InvokeOnItemModified(0, Count(), Count()); - } - - // ===================== GuiListControl::IItemProvider ===================== - - vint GuiBindableTextList::ItemSource::Count() - { - if (!itemSource) return 0; - return itemSource->GetCount(); - } - - WString GuiBindableTextList::ItemSource::GetTextValue(vint itemIndex) - { - if (itemSource) - { - if (0 <= itemIndex && itemIndex < itemSource->GetCount()) - { - return ReadProperty(itemSource->Get(itemIndex), textProperty); - } - } - return L""; - } - - IDescriptable* GuiBindableTextList::ItemSource::RequestView(const WString& identifier) - { - if (identifier == ITextItemView::Identifier) - { - return (ITextItemView*)this; - } - else - { - return 0; - } - } - - // ===================== GuiListControl::IItemBindingView ===================== - - description::Value GuiBindableTextList::ItemSource::GetBindingValue(vint itemIndex) - { - if (itemSource) - { - if (0 <= itemIndex && itemIndex < itemSource->GetCount()) - { - return itemSource->Get(itemIndex); - } - } - return Value(); - } - - // ===================== list::TextItemStyleProvider::ITextItemView ===================== - - bool GuiBindableTextList::ItemSource::GetChecked(vint itemIndex) - { - if (itemSource) - { - if (0 <= itemIndex && itemIndex < itemSource->GetCount()) - { - return ReadProperty(itemSource->Get(itemIndex), checkedProperty); - } - } - return false; - } - - void GuiBindableTextList::ItemSource::SetChecked(vint itemIndex, bool value) - { - if (itemSource) - { - if (0 <= itemIndex && itemIndex < itemSource->GetCount()) - { - auto thisValue = itemSource->Get(itemIndex); - WriteProperty(thisValue, checkedProperty, value); - InvokeOnItemModified(itemIndex, 1, 1); - } - } - } - -/*********************************************************************** -GuiBindableTextList -***********************************************************************/ - - GuiBindableTextList::GuiBindableTextList(IStyleProvider* _styleProvider) - :GuiVirtualTextList(_styleProvider, new ItemSource) - { - itemSource = dynamic_cast(GetItemProvider()); - - TextPropertyChanged.SetAssociatedComposition(boundsComposition); - TextPropertyChanged.SetAssociatedComposition(boundsComposition); - } - - GuiBindableTextList::~GuiBindableTextList() - { - } - - Ptr GuiBindableTextList::GetItemSource() - { - return itemSource->GetItemSource(); - } - - void GuiBindableTextList::SetItemSource(Ptr _itemSource) - { - itemSource->SetItemSource(_itemSource); - } - - ItemProperty GuiBindableTextList::GetTextProperty() - { - return itemSource->textProperty; - } - - void GuiBindableTextList::SetTextProperty(const ItemProperty& value) - { - if (itemSource->textProperty != value) - { - itemSource->textProperty = value; - itemSource->UpdateBindingProperties(); - TextPropertyChanged.Execute(GetNotifyEventArguments()); - } - } - - WritableItemProperty GuiBindableTextList::GetCheckedProperty() - { - return itemSource->checkedProperty; - } - - void GuiBindableTextList::SetCheckedProperty(const WritableItemProperty& value) - { - if (itemSource->checkedProperty != value) - { - itemSource->checkedProperty = value; - itemSource->UpdateBindingProperties(); - CheckedPropertyChanged.Execute(GetNotifyEventArguments()); - } - } - - description::Value GuiBindableTextList::GetSelectedItem() - { - vint index = GetSelectedItemIndex(); - if (index == -1) return Value(); - return itemSource->Get(index); - } - -/*********************************************************************** -GuiBindableListView::ItemSource -***********************************************************************/ - - GuiBindableListView::ItemSource::ItemSource() - :columns(this) - , dataColumns(this) - { - } - - GuiBindableListView::ItemSource::~ItemSource() - { - SetItemSource(nullptr); - } - - Ptr GuiBindableListView::ItemSource::GetItemSource() - { - return itemSource; - } - - void GuiBindableListView::ItemSource::SetItemSource(Ptr _itemSource) - { - vint oldCount = 0; - if (itemSource) - { - oldCount = itemSource->GetCount(); - } - if (itemChangedEventHandler) - { - auto ol = itemSource.Cast(); - ol->ItemChanged.Remove(itemChangedEventHandler); - } - - itemSource = nullptr; - itemChangedEventHandler = nullptr; - - if (_itemSource) - { - if (auto ol = _itemSource.Cast()) - { - itemSource = ol; - itemChangedEventHandler = ol->ItemChanged.Add([this](vint start, vint oldCount, vint newCount) - { - InvokeOnItemModified(start, oldCount, newCount); - }); - } - else if (auto rl = _itemSource.Cast()) - { - itemSource = rl; - } - else - { - itemSource = IValueList::Create(GetLazyList(_itemSource)); - } - } - - InvokeOnItemModified(0, oldCount, itemSource ? itemSource->GetCount() : 0); - } - - description::Value GuiBindableListView::ItemSource::Get(vint index) - { - if (!itemSource) return Value(); - return itemSource->Get(index); - } - - void GuiBindableListView::ItemSource::UpdateBindingProperties() - { - InvokeOnItemModified(0, Count(), Count()); - } - - bool GuiBindableListView::ItemSource::NotifyUpdate(vint start, vint count) - { - if (!itemSource) return false; - if (start<0 || start >= itemSource->GetCount() || count <= 0 || start + count > itemSource->GetCount()) - { - return false; - } - else - { - InvokeOnItemModified(start, count, count); - return true; - } - } - - list::ListViewDataColumns& GuiBindableListView::ItemSource::GetDataColumns() - { - return dataColumns; - } - - list::ListViewColumns& GuiBindableListView::ItemSource::GetColumns() - { - return columns; - } - - // ===================== list::IListViewItemProvider ===================== - - void GuiBindableListView::ItemSource::NotifyAllItemsUpdate() - { - NotifyUpdate(0, Count()); - } - - void GuiBindableListView::ItemSource::NotifyAllColumnsUpdate() - { - for (vint i = 0; i < columnItemViewCallbacks.Count(); i++) - { - columnItemViewCallbacks[i]->OnColumnChanged(); - } - } - - // ===================== GuiListControl::IItemProvider ===================== - - vint GuiBindableListView::ItemSource::Count() - { - if (!itemSource) return 0; - return itemSource->GetCount(); - } - - WString GuiBindableListView::ItemSource::GetTextValue(vint itemIndex) - { - return GetText(itemIndex); - } - - description::Value GuiBindableListView::ItemSource::GetBindingValue(vint itemIndex) - { - if (itemSource) - { - if (0 <= itemIndex && itemIndex < itemSource->GetCount()) - { - return itemSource->Get(itemIndex); - } - } - return Value(); - } - - IDescriptable* GuiBindableListView::ItemSource::RequestView(const WString& identifier) - { - if (identifier == IListViewItemView::Identifier) - { - return (IListViewItemView*)this; - } - else if (identifier == ListViewColumnItemArranger::IColumnItemView::Identifier) - { - return (ListViewColumnItemArranger::IColumnItemView*)this; - } - else - { - return 0; - } - } - - // ===================== list::ListViewItemStyleProvider::IListViewItemView ===================== - - Ptr GuiBindableListView::ItemSource::GetSmallImage(vint itemIndex) - { - if (itemSource) - { - if (0 <= itemIndex && itemIndex < itemSource->GetCount()) - { - return ReadProperty(itemSource->Get(itemIndex), smallImageProperty); - } - } - return nullptr; - } - - Ptr GuiBindableListView::ItemSource::GetLargeImage(vint itemIndex) - { - if (itemSource) - { - if (0 <= itemIndex && itemIndex < itemSource->GetCount()) - { - return ReadProperty(itemSource->Get(itemIndex), largeImageProperty); - } - } - return nullptr; - } - - WString GuiBindableListView::ItemSource::GetText(vint itemIndex) - { - if (itemSource) - { - if (0 <= itemIndex && itemIndex < itemSource->GetCount() && columns.Count()>0) - { - return ReadProperty(itemSource->Get(itemIndex), columns[0]->GetTextProperty()); - } - } - return L""; - } - - WString GuiBindableListView::ItemSource::GetSubItem(vint itemIndex, vint index) - { - if (itemSource) - { - if (0 <= itemIndex && itemIndex < itemSource->GetCount() && 0 <= index && index < columns.Count() - 1) - { - return ReadProperty(itemSource->Get(itemIndex), columns[index + 1]->GetTextProperty()); - } - } - return L""; - } - - vint GuiBindableListView::ItemSource::GetDataColumnCount() - { - return dataColumns.Count(); - } - - vint GuiBindableListView::ItemSource::GetDataColumn(vint index) - { - return dataColumns[index]; - } - - vint GuiBindableListView::ItemSource::GetColumnCount() - { - return columns.Count(); - } - - WString GuiBindableListView::ItemSource::GetColumnText(vint index) - { - if (index < 0 || index >= columns.Count()) - { - return L""; - } - else - { - return columns[index]->GetText(); - } - } - - // ===================== list::ListViewColumnItemArranger::IColumnItemView ===================== - - bool GuiBindableListView::ItemSource::AttachCallback(ListViewColumnItemArranger::IColumnItemViewCallback* value) - { - if(columnItemViewCallbacks.Contains(value)) - { - return false; - } - else - { - columnItemViewCallbacks.Add(value); - return true; - } - } - - bool GuiBindableListView::ItemSource::DetachCallback(ListViewColumnItemArranger::IColumnItemViewCallback* value) - { - vint index = columnItemViewCallbacks.IndexOf(value); - if (index == -1) - { - return false; - } - else - { - columnItemViewCallbacks.Remove(value); - return true; - } - } - - vint GuiBindableListView::ItemSource::GetColumnSize(vint index) - { - if (index < 0 || index >= columns.Count()) - { - return 0; - } - else - { - return columns[index]->GetSize(); - } - } - - void GuiBindableListView::ItemSource::SetColumnSize(vint index, vint value) - { - if (index >= 0 && index < columns.Count()) - { - columns[index]->SetSize(value); - } - } - - GuiMenu* GuiBindableListView::ItemSource::GetDropdownPopup(vint index) - { - if (index < 0 || index >= columns.Count()) - { - return 0; - } - else - { - return columns[index]->GetDropdownPopup(); - } - } - - ColumnSortingState GuiBindableListView::ItemSource::GetSortingState(vint index) - { - if (index < 0 || index >= columns.Count()) - { - return ColumnSortingState::NotSorted; - } - else - { - return columns[index]->GetSortingState(); - } - } - -/*********************************************************************** -GuiBindableListView -***********************************************************************/ - - GuiBindableListView::GuiBindableListView(IStyleProvider* _styleProvider) - :GuiVirtualListView(_styleProvider, new ItemSource) - { - itemSource = dynamic_cast(GetItemProvider()); - - LargeImagePropertyChanged.SetAssociatedComposition(boundsComposition); - SmallImagePropertyChanged.SetAssociatedComposition(boundsComposition); - } - - GuiBindableListView::~GuiBindableListView() - { - } - - list::ListViewDataColumns& GuiBindableListView::GetDataColumns() - { - return itemSource->GetDataColumns(); - } - - list::ListViewColumns& GuiBindableListView::GetColumns() - { - return itemSource->GetColumns(); - } - - Ptr GuiBindableListView::GetItemSource() - { - return itemSource->GetItemSource(); - } - - void GuiBindableListView::SetItemSource(Ptr _itemSource) - { - itemSource->SetItemSource(_itemSource); - } - - ItemProperty> GuiBindableListView::GetLargeImageProperty() - { - return itemSource->largeImageProperty; - } - - void GuiBindableListView::SetLargeImageProperty(const ItemProperty>& value) - { - if (itemSource->largeImageProperty != value) - { - itemSource->largeImageProperty = value; - itemSource->UpdateBindingProperties(); - LargeImagePropertyChanged.Execute(GetNotifyEventArguments()); - } - } - - ItemProperty> GuiBindableListView::GetSmallImageProperty() - { - return itemSource->smallImageProperty; - } - - void GuiBindableListView::SetSmallImageProperty(const ItemProperty>& value) - { - if (itemSource->smallImageProperty != value) - { - itemSource->smallImageProperty = value; - itemSource->UpdateBindingProperties(); - SmallImagePropertyChanged.Execute(GetNotifyEventArguments()); - } - } - - description::Value GuiBindableListView::GetSelectedItem() - { - vint index = GetSelectedItemIndex(); - if (index == -1) return Value(); - return itemSource->Get(index); - } - -/*********************************************************************** -GuiBindableTreeView::ItemSourceNode -***********************************************************************/ - - void GuiBindableTreeView::ItemSourceNode::PrepareChildren() - { - if (!childrenVirtualList) - { - if (auto value = ReadProperty(itemSource, rootProvider->childrenProperty)) - { - if (auto ol = value.Cast()) - { - itemChangedEventHandler = ol->ItemChanged.Add([this](vint start, vint oldCount, vint newCount) - { - callback->OnBeforeItemModified(this, start, oldCount, newCount); - children.RemoveRange(start, oldCount); - for (vint i = 0; i < newCount; i++) - { - Value value = childrenVirtualList->Get(start + i); - auto node = new ItemSourceNode(value, this); - children.Insert(start + i, node); - } - callback->OnAfterItemModified(this, start, oldCount, newCount); - }); - childrenVirtualList = ol; - } - else if (auto rl = value.Cast()) - { - childrenVirtualList = rl; - } - else - { - childrenVirtualList = IValueList::Create(GetLazyList(value)); - } - } - - if (!childrenVirtualList) - { - childrenVirtualList = IValueList::Create(); - } - - vint count = childrenVirtualList->GetCount(); - for (vint i = 0; i < count; i++) - { - Value value = childrenVirtualList->Get(i); - auto node = new ItemSourceNode(value, this); - children.Add(node); - } - } - } - - void GuiBindableTreeView::ItemSourceNode::UnprepareChildren() - { - if (itemChangedEventHandler) - { - auto ol = childrenVirtualList.Cast(); - ol->ItemChanged.Remove(itemChangedEventHandler); - itemChangedEventHandler = nullptr; - } - childrenVirtualList = nullptr; - FOREACH(Ptr, node, children) - { - node->UnprepareChildren(); - } - children.Clear(); - } - - GuiBindableTreeView::ItemSourceNode::ItemSourceNode(const description::Value& _itemSource, ItemSourceNode* _parent) - :itemSource(_itemSource) - , rootProvider(_parent->rootProvider) - , parent(_parent) - , callback(_parent->callback) - { - } - - GuiBindableTreeView::ItemSourceNode::ItemSourceNode(ItemSource* _rootProvider) - :rootProvider(_rootProvider) - , parent(nullptr) - , callback(_rootProvider) - { - } - - GuiBindableTreeView::ItemSourceNode::~ItemSourceNode() - { - SetItemSource(Value()); - } - - description::Value GuiBindableTreeView::ItemSourceNode::GetItemSource() - { - return itemSource; - } - - void GuiBindableTreeView::ItemSourceNode::SetItemSource(const description::Value& _itemSource) - { - vint oldCount = GetChildCount(); - UnprepareChildren(); - itemSource = _itemSource; - vint newCount = GetChildCount(); - callback->OnBeforeItemModified(this, 0, oldCount, newCount); - callback->OnAfterItemModified(this, 0, oldCount, newCount); - } - - bool GuiBindableTreeView::ItemSourceNode::GetExpanding() - { - return this == rootProvider->rootNode.Obj() ? true : expanding; - } - - void GuiBindableTreeView::ItemSourceNode::SetExpanding(bool value) - { - if (this != rootProvider->rootNode.Obj() && expanding != value) - { - expanding = value; - if (expanding) - { - callback->OnItemExpanded(this); - } - else - { - callback->OnItemCollapsed(this); - } - } - } - - vint GuiBindableTreeView::ItemSourceNode::CalculateTotalVisibleNodes() - { - if (!GetExpanding()) - { - return 1; - } - - PrepareChildren(); - vint count = 1; - FOREACH(Ptr, child, children) - { - count += child->CalculateTotalVisibleNodes(); - } - return count; - } - - vint GuiBindableTreeView::ItemSourceNode::GetChildCount() - { - PrepareChildren(); - return children.Count(); - } - - tree::INodeProvider* GuiBindableTreeView::ItemSourceNode::GetParent() - { - return parent; - } - - tree::INodeProvider* GuiBindableTreeView::ItemSourceNode::GetChild(vint index) - { - PrepareChildren(); - if (0 <= index && index < children.Count()) - { - return children[index].Obj(); - } - return 0; - } - - void GuiBindableTreeView::ItemSourceNode::Increase() - { - } - - void GuiBindableTreeView::ItemSourceNode::Release() - { - } - -/*********************************************************************** -GuiBindableTreeView::ItemSource -***********************************************************************/ - - GuiBindableTreeView::ItemSource::ItemSource() - { - rootNode = new ItemSourceNode(this); - } - - GuiBindableTreeView::ItemSource::~ItemSource() - { - } - - description::Value GuiBindableTreeView::ItemSource::GetItemSource() - { - return rootNode->GetItemSource(); - } - - void GuiBindableTreeView::ItemSource::SetItemSource(const description::Value& _itemSource) - { - rootNode->SetItemSource(_itemSource); - } - - void GuiBindableTreeView::ItemSource::UpdateBindingProperties(bool updateChildrenProperty) - { - vint oldCount = rootNode->GetChildCount(); - if (updateChildrenProperty) - { - rootNode->UnprepareChildren(); - } - vint newCount = rootNode->GetChildCount(); - OnBeforeItemModified(rootNode.Obj(), 0, oldCount, newCount); - OnAfterItemModified(rootNode.Obj(), 0, oldCount, newCount); - } - - // ===================== tree::INodeRootProvider ===================== - - tree::INodeProvider* GuiBindableTreeView::ItemSource::GetRootNode() - { - return rootNode.Obj(); - } - - WString GuiBindableTreeView::ItemSource::GetTextValue(tree::INodeProvider* node) - { - return ReadProperty(GetBindingValue(node), textProperty); - } - - description::Value GuiBindableTreeView::ItemSource::GetBindingValue(tree::INodeProvider* node) - { - if (auto itemSourceNode = dynamic_cast(node)) - { - return itemSourceNode->GetItemSource(); - } - return Value(); - } - - IDescriptable* GuiBindableTreeView::ItemSource::RequestView(const WString& identifier) - { - if(identifier==ITreeViewItemView::Identifier) - { - return (ITreeViewItemView*)this; - } - else - { - return 0; - } - } - - // ===================== tree::ITreeViewItemView ===================== - - Ptr GuiBindableTreeView::ItemSource::GetNodeImage(tree::INodeProvider* node) - { - if (auto itemSourceNode = dynamic_cast(node)) - { - return ReadProperty(itemSourceNode->GetItemSource(), imageProperty); - } - return nullptr; - } - -/*********************************************************************** -GuiBindableTreeView -***********************************************************************/ - - GuiBindableTreeView::GuiBindableTreeView(IStyleProvider* _styleProvider) - :GuiVirtualTreeView(_styleProvider, new ItemSource) - { - itemSource = dynamic_cast(GetNodeRootProvider()); - - TextPropertyChanged.SetAssociatedComposition(boundsComposition); - ImagePropertyChanged.SetAssociatedComposition(boundsComposition); - ChildrenPropertyChanged.SetAssociatedComposition(boundsComposition); - } - - GuiBindableTreeView::~GuiBindableTreeView() - { - } - - description::Value GuiBindableTreeView::GetItemSource() - { - return itemSource->GetItemSource(); - } - - void GuiBindableTreeView::SetItemSource(description::Value _itemSource) - { - itemSource->SetItemSource(_itemSource); - } - - ItemProperty GuiBindableTreeView::GetTextProperty() - { - return itemSource->textProperty; - } - - void GuiBindableTreeView::SetTextProperty(const ItemProperty& value) - { - if (itemSource->textProperty != value) - { - itemSource->textProperty = value; - itemSource->UpdateBindingProperties(false); - TextPropertyChanged.Execute(GetNotifyEventArguments()); - } - } - - ItemProperty> GuiBindableTreeView::GetImageProperty() - { - return itemSource->imageProperty; - } - - void GuiBindableTreeView::SetImageProperty(const ItemProperty>& value) - { - if (itemSource->imageProperty != value) - { - itemSource->imageProperty = value; - itemSource->UpdateBindingProperties(false); - ImagePropertyChanged.Execute(GetNotifyEventArguments()); - } - } - - ItemProperty> GuiBindableTreeView::GetChildrenProperty() - { - return itemSource->childrenProperty; - } - - void GuiBindableTreeView::SetChildrenProperty(const ItemProperty>& value) - { - if (itemSource->childrenProperty != value) - { - itemSource->childrenProperty = value; - itemSource->UpdateBindingProperties(true); - ChildrenPropertyChanged.Execute(GetNotifyEventArguments()); - } - } - - description::Value GuiBindableTreeView::GetSelectedItem() - { - vint index = GetSelectedItemIndex(); - if (index == -1) return Value(); - - Value result; - if (auto node = nodeItemView->RequestNode(index)) - { - if (auto itemSourceNode = dynamic_cast(node)) - { - result = itemSourceNode->GetItemSource(); - } - nodeItemView->ReleaseNode(node); - } - return result; - } - } - } -} - - -/*********************************************************************** -.\CONTROLS\LISTCONTROLPACKAGE\GUIDATAGRIDCONTROLS.CPP -***********************************************************************/ - -namespace vl -{ - namespace presentation - { - namespace controls - { - namespace list - { - using namespace compositions; - using namespace collections; - using namespace description; - using namespace templates; - - const wchar_t* const IDataGridView::Identifier = L"vl::presentation::controls::list::IDataGridView"; - -/*********************************************************************** -DefaultDataGridItemTemplate -***********************************************************************/ - - IDataVisualizerFactory* DefaultDataGridItemTemplate::GetDataVisualizerFactory(vint row, vint column) - { - if (auto dataGrid = dynamic_cast(listControl)) - { - if (auto factory = dataGrid->dataGridView->GetCellDataVisualizerFactory(row, column)) - { - return factory; - } - - if (column == 0) - { - return dataGrid->defaultMainColumnVisualizerFactory.Obj(); - } - else - { - return dataGrid->defaultSubColumnVisualizerFactory.Obj(); - } - - } - - return nullptr; - } - - IDataEditorFactory* DefaultDataGridItemTemplate::GetDataEditorFactory(vint row, vint column) - { - if (auto dataGrid = dynamic_cast(listControl)) - { - return dataGrid->dataGridView->GetCellDataEditorFactory(row, column); - } - return nullptr; - } - - vint DefaultDataGridItemTemplate::GetCellColumnIndex(compositions::GuiGraphicsComposition* composition) - { - for (vint i = 0; i < textTable->GetColumns(); i++) - { - auto cell = textTable->GetSitedCell(0, i); - if (composition == cell) - { - return i; - } - } - return -1; - } - - void DefaultDataGridItemTemplate::OnCellButtonUp(compositions::GuiGraphicsComposition* sender, bool openEditor) - { - if (auto dataGrid = dynamic_cast(listControl)) - { - vint index = GetCellColumnIndex(sender); - if (index != -1) - { - if (currentEditor && dataGrid->GetSelectedCell().column == index) - { - return; - } - - vint currentRow = GetIndex(); - dataGrid->StartEdit(currentRow, index); - } - } - } - - bool DefaultDataGridItemTemplate::IsInEditor(compositions::GuiMouseEventArgs& arguments) - { - if (auto dataGrid = dynamic_cast(listControl)) - { - if (!dataGrid->currentEditor) return false; - auto editorComposition = dataGrid->currentEditor->GetTemplate(); - auto currentComposition = arguments.eventSource; - - while (currentComposition) - { - if (currentComposition == editorComposition) - { - arguments.handled = true; - return true; - } - else if (currentComposition == this) - { - break; - } - else - { - currentComposition = currentComposition->GetParent(); - } - } - - } - return false; - } - - void DefaultDataGridItemTemplate::OnCellButtonDown(compositions::GuiGraphicsComposition* sender, compositions::GuiMouseEventArgs& arguments) - { - IsInEditor(arguments); - } - - void DefaultDataGridItemTemplate::OnCellLeftButtonUp(compositions::GuiGraphicsComposition* sender, compositions::GuiMouseEventArgs& arguments) - { - if (auto dataGrid = dynamic_cast(listControl)) - { - if (!IsInEditor(arguments)) - { - if (dataGrid->GetVisuallyEnabled()) - { - OnCellButtonUp(sender, true); - } - } - } - } - - void DefaultDataGridItemTemplate::OnCellRightButtonUp(compositions::GuiGraphicsComposition* sender, compositions::GuiMouseEventArgs& arguments) - { - if (auto dataGrid = dynamic_cast(listControl)) - { - if (!IsInEditor(arguments)) - { - if (dataGrid->GetVisuallyEnabled()) - { - OnCellButtonUp(sender, false); - } - } - } - } - - void DefaultDataGridItemTemplate::OnColumnChanged() - { - UpdateSubItemSize(); - } - - void DefaultDataGridItemTemplate::OnInitialize() - { - DefaultListViewItemTemplate::OnInitialize(); - { - textTable = new GuiTableComposition; - textTable->SetAlignmentToParent(Margin(0, 0, 0, 0)); - textTable->SetRowsAndColumns(1, 1); - textTable->SetRowOption(0, GuiCellOption::MinSizeOption()); - textTable->SetColumnOption(0, GuiCellOption::AbsoluteOption(0)); - AddChild(textTable); - } - - if (auto dataGrid = dynamic_cast(listControl)) - { - vint columnCount = dataGrid->listViewItemView->GetColumnCount(); - vint itemIndex = GetIndex(); - - dataVisualizers.Resize(columnCount); - for (vint i = 0; i < dataVisualizers.Count(); i++) - { - auto factory = GetDataVisualizerFactory(itemIndex, i); - dataVisualizers[i] = factory->CreateVisualizer(dataGrid); - } - - textTable->SetRowsAndColumns(1, columnCount); - for (vint i = 0; i < columnCount; i++) - { - auto cell = new GuiCellComposition; - textTable->AddChild(cell); - cell->SetSite(0, i, 1, 1); - cell->GetEventReceiver()->leftButtonDown.AttachMethod(this, &DefaultDataGridItemTemplate::OnCellButtonDown); - cell->GetEventReceiver()->rightButtonDown.AttachMethod(this, &DefaultDataGridItemTemplate::OnCellButtonDown); - cell->GetEventReceiver()->leftButtonUp.AttachMethod(this, &DefaultDataGridItemTemplate::OnCellLeftButtonUp); - cell->GetEventReceiver()->rightButtonUp.AttachMethod(this, &DefaultDataGridItemTemplate::OnCellRightButtonUp); - - auto composition = dataVisualizers[i]->GetTemplate(); - composition->SetAlignmentToParent(Margin(0, 0, 0, 0)); - cell->AddChild(composition); - } - - for (vint i = 0; i < dataVisualizers.Count(); i++) - { - dataVisualizers[i]->BeforeVisualizeCell(dataGrid->GetItemProvider(), itemIndex, i); - } - - GridPos selectedCell = dataGrid->GetSelectedCell(); - if (selectedCell.row == itemIndex) - { - NotifySelectCell(selectedCell.column); - } - else - { - NotifySelectCell(-1); - } - UpdateSubItemSize(); - } - - SelectedChanged.AttachMethod(this, &DefaultDataGridItemTemplate::OnSelectedChanged); - FontChanged.AttachMethod(this, &DefaultDataGridItemTemplate::OnFontChanged); - - SelectedChanged.Execute(compositions::GuiEventArgs(this)); - FontChanged.Execute(compositions::GuiEventArgs(this)); - } - - void DefaultDataGridItemTemplate::OnSelectedChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) - { - if (!GetSelected()) - { - NotifySelectCell(-1); - } - } - - void DefaultDataGridItemTemplate::OnFontChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) - { - FOREACH(Ptr, visualizer, dataVisualizers) - { - visualizer->GetTemplate()->SetFont(GetFont()); - } - if (currentEditor) - { - currentEditor->GetTemplate()->SetFont(GetFont()); - } - } - - DefaultDataGridItemTemplate::DefaultDataGridItemTemplate() - { - } - - DefaultDataGridItemTemplate::~DefaultDataGridItemTemplate() - { - FOREACH(Ptr, visualizer, dataVisualizers) - { - visualizer->NotifyDeletedTemplate(); - } - if (currentEditor) - { - currentEditor->NotifyDeletedTemplate(); - } - } - - void DefaultDataGridItemTemplate::UpdateSubItemSize() - { - if (auto dataGrid = dynamic_cast(listControl)) - { - vint columnCount = dataGrid->listViewItemView->GetColumnCount(); - if (columnCount > textTable->GetColumns()) - { - columnCount = textTable->GetColumns(); - } - for (vint i = 0; i < columnCount; i++) - { - textTable->SetColumnOption(i, GuiCellOption::AbsoluteOption(dataGrid->columnItemView->GetColumnSize(i))); - } - textTable->UpdateCellBounds(); - } - } - - bool DefaultDataGridItemTemplate::IsEditorOpened() - { - return currentEditor != nullptr; - } - - void DefaultDataGridItemTemplate::NotifyOpenEditor(vint column, IDataEditor* editor) - { - currentEditor = editor; - if (currentEditor) - { - auto cell = textTable->GetSitedCell(0, column); - auto* editorBounds = currentEditor->GetTemplate(); - if (editorBounds->GetParent() && editorBounds->GetParent() != cell) - { - editorBounds->GetParent()->RemoveChild(editorBounds); - } - editorBounds->SetAlignmentToParent(Margin(0, 0, 0, 0)); - cell->AddChild(editorBounds); - if (auto focusControl = currentEditor->GetTemplate()->GetFocusControl()) - { - focusControl->SetFocus(); - } - } - } - - void DefaultDataGridItemTemplate::NotifyCloseEditor() - { - if (currentEditor) - { - auto composition = currentEditor->GetTemplate(); - if (composition->GetParent()) - { - composition->GetParent()->RemoveChild(composition); - } - currentEditor = nullptr; - } - } - - void DefaultDataGridItemTemplate::NotifySelectCell(vint column) - { - for (vint i = 0; i < dataVisualizers.Count(); i++) - { - dataVisualizers[i]->SetSelected(i == column); - } - } - - void DefaultDataGridItemTemplate::NotifyCellEdited() - { - for (vint i = 0; i < dataVisualizers.Count(); i++) - { - dataVisualizers[i]->BeforeVisualizeCell(listControl->GetItemProvider(), GetIndex(), i); - } - } - } - -/*********************************************************************** -GuiVirtualDataGrid (Editor) -***********************************************************************/ - - using namespace list; - - void GuiVirtualDataGrid::OnItemModified(vint start, vint count, vint newCount) - { - GuiVirtualListView::OnItemModified(start, count, newCount); - if(!GetItemProvider()->IsEditing()) - { - StopEdit(false); - } - } - - void GuiVirtualDataGrid::OnStyleUninstalled(ItemStyle* style) - { - GuiVirtualListView::OnStyleUninstalled(style); - if (auto itemStyle = dynamic_cast(style)) - { - if (itemStyle->IsEditorOpened()) - { - itemStyle->NotifyCloseEditor(); - currentEditor = nullptr; - currentEditorPos = { -1,-1 }; - } - } - } - - void GuiVirtualDataGrid::NotifyCloseEditor() - { - if (currentEditorPos.row != -1 && GetArranger()) - { - auto style = GetArranger()->GetVisibleStyle(currentEditorPos.row); - if (auto itemStyle = dynamic_cast(style)) - { - itemStyle->NotifyCloseEditor(); - } - } - } - - void GuiVirtualDataGrid::NotifySelectCell(vint row, vint column) - { - selectedCell = { row, column }; - SelectedCellChanged.Execute(GetNotifyEventArguments()); - - auto style = GetArranger()->GetVisibleStyle(row); - if (auto itemStyle = dynamic_cast(style)) - { - itemStyle->NotifySelectCell(column); - } - } - - bool GuiVirtualDataGrid::StartEdit(vint row, vint column) - { - StopEdit(true); - NotifySelectCell(row, column); - - auto style = GetArranger()->GetVisibleStyle(row); - if (auto itemStyle = dynamic_cast(style)) - { - if (auto factory = dataGridView->GetCellDataEditorFactory(row, column)) - { - currentEditorOpeningEditor = true; - currentEditorPos = { row,column }; - currentEditor = factory->CreateEditor(this); - currentEditor->BeforeEditCell(GetItemProvider(), row, column); - itemStyle->NotifyOpenEditor(column, currentEditor.Obj()); - currentEditorOpeningEditor = false; - return true; - } - } - return false; - } - - void GuiVirtualDataGrid::StopEdit(bool forOpenNewEditor) - { - if (GetItemProvider()->IsEditing()) - { - NotifyCloseEditor(); - } - else - { - if (currentEditorPos != GridPos{-1, -1}) - { - if (currentEditor) - { - NotifyCloseEditor(); - } - if (!forOpenNewEditor) - { - NotifySelectCell(-1, -1); - } - } - } - currentEditor = nullptr; - currentEditorPos = { -1,-1 }; - } - -/*********************************************************************** -GuiVirtualDataGrid (IDataGridContext) -***********************************************************************/ - - GuiListViewBase::IStyleProvider* GuiVirtualDataGrid::GetListViewStyleProvider() - { - return GuiVirtualListView::GetListViewStyleProvider(); - } - - description::Value GuiVirtualDataGrid::GetViewModelContext() - { - return dataGridView->GetViewModelContext(); - } - - void GuiVirtualDataGrid::RequestSaveData() - { - if (currentEditor && !currentEditorOpeningEditor) - { - GuiControl* focusedControl = nullptr; - if (auto controlHost = GetRelatedControlHost()) - { - if (auto graphicsHost = controlHost->GetGraphicsHost()) - { - if (auto focusComposition = graphicsHost->GetFocusedComposition()) - { - focusedControl = focusComposition->GetRelatedControl(); - } - } - } - - GetItemProvider()->PushEditing(); - dataGridView->SetBindingCellValue(currentEditorPos.row, currentEditorPos.column, currentEditor->GetTemplate()->GetCellValue()); - GetItemProvider()->PopEditing(); - - auto style = GetArranger()->GetVisibleStyle(currentEditorPos.row); - if (auto itemStyle = dynamic_cast(style)) - { - itemStyle->NotifyCellEdited(); - } - - if (currentEditor && focusedControl) - { - focusedControl->SetFocus(); - } - } - } - -/*********************************************************************** -GuiVirtualDataGrid -***********************************************************************/ - - void GuiVirtualDataGrid::OnColumnClicked(compositions::GuiGraphicsComposition* sender, compositions::GuiItemEventArgs& arguments) - { - if(dataGridView->IsColumnSortable(arguments.itemIndex)) - { - switch(columnItemView->GetSortingState(arguments.itemIndex)) - { - case ColumnSortingState::NotSorted: - dataGridView->SortByColumn(arguments.itemIndex, true); - break; - case ColumnSortingState::Ascending: - dataGridView->SortByColumn(arguments.itemIndex, false); - break; - case ColumnSortingState::Descending: - dataGridView->SortByColumn(-1, false); - break; - } - } - } - - GuiVirtualDataGrid::GuiVirtualDataGrid(IStyleProvider* _styleProvider, GuiListControl::IItemProvider* _itemProvider) - :GuiVirtualListView(_styleProvider, _itemProvider) - { - listViewItemView = dynamic_cast(_itemProvider->RequestView(IListViewItemView::Identifier)); - columnItemView = dynamic_cast(_itemProvider->RequestView(ListViewColumnItemArranger::IColumnItemView::Identifier)); - dataGridView = dynamic_cast(_itemProvider->RequestView(IDataGridView::Identifier)); - - { - auto mainProperty = [](const Value&) { return new MainColumnVisualizerTemplate; }; - auto subProperty = [](const Value&) { return new SubColumnVisualizerTemplate; }; - auto cellBorderProperty = [](const Value&) { return new CellBorderVisualizerTemplate; }; - - auto mainFactory = MakePtr(mainProperty); - auto subFactory = MakePtr(subProperty); - defaultMainColumnVisualizerFactory = MakePtr(cellBorderProperty, mainFactory); - defaultSubColumnVisualizerFactory = MakePtr(cellBorderProperty, subFactory); - } - - CHECK_ERROR(listViewItemView != nullptr, L"GuiVirtualDataGrid::GuiVirtualDataGrid(IStyleProvider*, GuiListControl::IItemProvider*)#Missing IListViewItemView from item provider."); - CHECK_ERROR(columnItemView != nullptr, L"GuiVirtualDataGrid::GuiVirtualDataGrid(IStyleProvider*, GuiListControl::IItemProvider*)#Missing ListViewColumnItemArranger::IColumnItemView from item provider."); - CHECK_ERROR(dataGridView != nullptr, L"GuiVirtualDataGrid::GuiVirtualDataGrid(IStyleProvider*, GuiListControl::IItemProvider*)#Missing IDataGridView from item provider."); - - SetViewToDefault(); - ColumnClicked.AttachMethod(this, &GuiVirtualDataGrid::OnColumnClicked); - SelectedCellChanged.SetAssociatedComposition(GetBoundsComposition()); - } - - GuiVirtualDataGrid::~GuiVirtualDataGrid() - { - } - - GuiListControl::IItemProvider* GuiVirtualDataGrid::GetItemProvider() - { - return GuiVirtualListView::GetItemProvider(); - } - - void GuiVirtualDataGrid::SetViewToDefault() - { - SetStyleAndArranger( - [](const Value&) { return new list::DefaultDataGridItemTemplate; }, - new list::ListViewColumnItemArranger - ); - } - - GridPos GuiVirtualDataGrid::GetSelectedCell() - { - return selectedCell; - } - - void GuiVirtualDataGrid::SetSelectedCell(const GridPos& value) - { - if (selectedCell == value) - { - return; - } - - bool validPos = 0 <= value.row && value.row < GetItemProvider()->Count() && 0 <= value.column && value.column < listViewItemView->GetColumnCount(); - StopEdit(true); - - if (validPos) - { - NotifySelectCell(value.row, value.column); - } - else - { - NotifySelectCell(-1, -1); - } - - if (validPos) - { - EnsureItemVisible(value.row); - ClearSelection(); - SetSelected(value.row, true); - StartEdit(value.row, value.column); - } - else - { - ClearSelection(); - } - } - } - } -} - -/*********************************************************************** -.\CONTROLS\LISTCONTROLPACKAGE\GUIDATAGRIDEXTENSIONS.CPP -***********************************************************************/ - -namespace vl -{ - namespace presentation - { - namespace controls - { - namespace list - { - using namespace compositions; - using namespace elements; - using namespace theme; - using namespace templates; - -/*********************************************************************** -DataVisualizerBase -***********************************************************************/ - - DataVisualizerBase::DataVisualizerBase() - { - } - - DataVisualizerBase::~DataVisualizerBase() - { - if (visualizerTemplate) - { - SafeDeleteComposition(visualizerTemplate); - } - } - - IDataVisualizerFactory* DataVisualizerBase::GetFactory() - { - return factory; - } - - templates::GuiGridVisualizerTemplate* DataVisualizerBase::GetTemplate() - { - return visualizerTemplate; - } - - void DataVisualizerBase::NotifyDeletedTemplate() - { - visualizerTemplate = nullptr; - } - - void DataVisualizerBase::BeforeVisualizeCell(GuiListControl::IItemProvider* itemProvider, vint row, vint column) - { - if (auto listViewItemView = dynamic_cast(dataGridContext->GetItemProvider()->RequestView(IListViewItemView::Identifier))) - { - auto styleProvider = dataGridContext->GetListViewStyleProvider(); - visualizerTemplate->SetPrimaryTextColor(styleProvider->GetPrimaryTextColor()); - visualizerTemplate->SetSecondaryTextColor(styleProvider->GetSecondaryTextColor()); - visualizerTemplate->SetItemSeparatorColor(styleProvider->GetItemSeparatorColor()); - - visualizerTemplate->SetLargeImage(listViewItemView->GetLargeImage(row)); - visualizerTemplate->SetSmallImage(listViewItemView->GetSmallImage(row)); - visualizerTemplate->SetText(column == 0 ? listViewItemView->GetText(row) : listViewItemView->GetSubItem(row, column - 1)); - } - if (auto dataGridView = dynamic_cast(dataGridContext->GetItemProvider()->RequestView(IDataGridView::Identifier))) - { - visualizerTemplate->SetRowValue(itemProvider->GetBindingValue(row)); - visualizerTemplate->SetCellValue(dataGridView->GetBindingCellValue(row, column)); - } - } - - void DataVisualizerBase::SetSelected(bool value) - { - if (visualizerTemplate) - { - visualizerTemplate->SetSelected(value); - } - } - -/*********************************************************************** -DataVisualizerFactory -***********************************************************************/ - - DataVisualizerFactory::ItemTemplate* DataVisualizerFactory::CreateItemTemplate(controls::list::IDataGridContext* dataGridContext) - { - ItemTemplate* itemTemplate = templateFactory(dataGridContext->GetViewModelContext()); - CHECK_ERROR(itemTemplate, L"DataVisualizerFactory::CreateItemTemplate(IDataGridContext*)#An instance of GuiGridEditorTemplate is expected."); - if (decoratedFactory) - { - auto childTemplate = decoratedFactory->CreateItemTemplate(dataGridContext); - childTemplate->SetAlignmentToParent(Margin(0, 0, 0, 0)); - itemTemplate->GetContainerComposition()->AddChild(childTemplate); - -#define FORWARD_EVENT(NAME)\ - itemTemplate->NAME##Changed.AttachLambda([=](GuiGraphicsComposition* sender, GuiEventArgs& arguments)\ - {\ - childTemplate->Set##NAME(itemTemplate->Get##NAME());\ - });\ - -#define FORWARD_EVENT_IMPL(CLASS, TYPE, NAME) FORWARD_EVENT(NAME) - - GuiTemplate_PROPERTIES(FORWARD_EVENT_IMPL) - GuiControlTemplate_PROPERTIES(FORWARD_EVENT_IMPL) - GuiGridCellTemplate_PROPERTIES(FORWARD_EVENT_IMPL) - GuiGridVisualizerTemplate_PROPERTIES(FORWARD_EVENT_IMPL) - -#undef FORWARD_EVENT_IMPL -#undef FORWARD_EVENT - } - return itemTemplate; - } - - DataVisualizerFactory::DataVisualizerFactory(TemplateProperty _templateFactory, Ptr _decoratedFactory) - :templateFactory(_templateFactory) - , decoratedFactory(_decoratedFactory) - { - } - - DataVisualizerFactory::~DataVisualizerFactory() - { - } - - Ptr DataVisualizerFactory::CreateVisualizer(controls::list::IDataGridContext* dataGridContext) - { - auto dataVisualizer = MakePtr(); - dataVisualizer->factory = this; - dataVisualizer->dataGridContext = dataGridContext; - dataVisualizer->visualizerTemplate = CreateItemTemplate(dataGridContext); - - return dataVisualizer; - } - -/*********************************************************************** -DataEditorBase -***********************************************************************/ - - void DataEditorBase::OnCellValueChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) - { - dataGridContext->RequestSaveData(); - } - - DataEditorBase::DataEditorBase() - { - } - - DataEditorBase::~DataEditorBase() - { - if (editorTemplate) - { - SafeDeleteComposition(editorTemplate); - } - } - - IDataEditorFactory* DataEditorBase::GetFactory() - { - return factory; - } - - templates::GuiGridEditorTemplate* DataEditorBase::GetTemplate() - { - return editorTemplate; - } - - void DataEditorBase::NotifyDeletedTemplate() - { - editorTemplate = nullptr; - } - - void DataEditorBase::BeforeEditCell(GuiListControl::IItemProvider* itemProvider, vint row, vint column) - { - if (auto listViewItemView = dynamic_cast(dataGridContext->GetItemProvider()->RequestView(IListViewItemView::Identifier))) - { - auto styleProvider = dataGridContext->GetListViewStyleProvider(); - editorTemplate->SetPrimaryTextColor(styleProvider->GetPrimaryTextColor()); - editorTemplate->SetSecondaryTextColor(styleProvider->GetSecondaryTextColor()); - editorTemplate->SetItemSeparatorColor(styleProvider->GetItemSeparatorColor()); - - editorTemplate->SetLargeImage(listViewItemView->GetLargeImage(row)); - editorTemplate->SetSmallImage(listViewItemView->GetSmallImage(row)); - editorTemplate->SetText(column == 0 ? listViewItemView->GetText(row) : listViewItemView->GetSubItem(row, column - 1)); - } - if (auto dataGridView = dynamic_cast(dataGridContext->GetItemProvider()->RequestView(IDataGridView::Identifier))) - { - editorTemplate->SetRowValue(itemProvider->GetBindingValue(row)); - editorTemplate->SetCellValue(dataGridView->GetBindingCellValue(row, column)); - } - editorTemplate->CellValueChanged.AttachMethod(this, &DataEditorBase::OnCellValueChanged); - } - - bool DataEditorBase::GetCellValueSaved() - { - if (editorTemplate) - { - return editorTemplate->GetCellValueSaved(); - } - return true; - } - -/*********************************************************************** -DataEditorFactory -***********************************************************************/ - - DataEditorFactory::DataEditorFactory(TemplateProperty _templateFactory) - :templateFactory(_templateFactory) - { - } - - DataEditorFactory::~DataEditorFactory() - { - } - - Ptr DataEditorFactory::CreateEditor(controls::list::IDataGridContext* dataGridContext) - { - auto editor = MakePtr(); - editor->factory = this; - editor->dataGridContext = dataGridContext; - - ItemTemplate* itemTemplate = templateFactory(dataGridContext->GetViewModelContext()); - CHECK_ERROR(itemTemplate, L"DataEditorFactory::CreateEditor(IDataGridContext*)#An instance of GuiGridEditorTemplate is expected."); - editor->editorTemplate = itemTemplate; - return editor; - } - -/*********************************************************************** -MainColumnVisualizerTemplate -***********************************************************************/ - - void MainColumnVisualizerTemplate::OnTextChanged(GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) - { - text->SetText(GetText()); - } - - void MainColumnVisualizerTemplate::OnFontChanged(GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) - { - text->SetFont(GetFont()); - } - - void MainColumnVisualizerTemplate::OnTextColorChanged(GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) - { - text->SetColor(GetPrimaryTextColor()); - } - - void MainColumnVisualizerTemplate::OnSmallImageChanged(GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) - { - auto imageData = GetSmallImage(); - if (imageData) - { - image->SetImage(imageData->GetImage(), imageData->GetFrameIndex()); - } - else - { - image->SetImage(nullptr); - } - } - - MainColumnVisualizerTemplate::MainColumnVisualizerTemplate() - { - GuiTableComposition* table = new GuiTableComposition; - table->SetMinSizeLimitation(GuiGraphicsComposition::LimitToElementAndChildren); - table->SetRowsAndColumns(3, 2); - table->SetRowOption(0, GuiCellOption::PercentageOption(0.5)); - table->SetRowOption(1, GuiCellOption::MinSizeOption()); - table->SetRowOption(2, GuiCellOption::PercentageOption(0.5)); - table->SetColumnOption(0, GuiCellOption::MinSizeOption()); - table->SetColumnOption(1, GuiCellOption::PercentageOption(1.0)); - table->SetCellPadding(2); - { - GuiCellComposition* cell = new GuiCellComposition; - table->AddChild(cell); - cell->SetSite(1, 0, 1, 1); - cell->SetPreferredMinSize(Size(16, 16)); - - image = GuiImageFrameElement::Create(); - image->SetStretch(true); - cell->SetOwnedElement(image); - } - { - GuiCellComposition* cell = new GuiCellComposition; - table->AddChild(cell); - cell->SetSite(0, 1, 3, 1); - cell->SetMargin(Margin(0, 0, 8, 0)); - - text = GuiSolidLabelElement::Create(); - text->SetAlignments(Alignment::Left, Alignment::Center); - text->SetEllipse(true); - cell->SetOwnedElement(text); - } - table->SetAlignmentToParent(Margin(0, 0, 0, 0)); - - SetMinSizeLimitation(GuiGraphicsComposition::LimitToElementAndChildren); - AddChild(table); - - TextChanged.AttachMethod(this, &MainColumnVisualizerTemplate::OnTextChanged); - FontChanged.AttachMethod(this, &MainColumnVisualizerTemplate::OnFontChanged); - PrimaryTextColorChanged.AttachMethod(this, &MainColumnVisualizerTemplate::OnTextColorChanged); - SmallImageChanged.AttachMethod(this, &MainColumnVisualizerTemplate::OnSmallImageChanged); - - TextChanged.Execute(compositions::GuiEventArgs(this)); - FontChanged.Execute(compositions::GuiEventArgs(this)); - PrimaryTextColorChanged.Execute(compositions::GuiEventArgs(this)); - SmallImageChanged.Execute(compositions::GuiEventArgs(this)); - } - - MainColumnVisualizerTemplate::~MainColumnVisualizerTemplate() - { - } - -/*********************************************************************** -SubColumnVisualizerTemplate -***********************************************************************/ - - void SubColumnVisualizerTemplate::OnTextChanged(GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) - { - text->SetText(GetText()); - } - - void SubColumnVisualizerTemplate::OnFontChanged(GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) - { - text->SetFont(GetFont()); - } - - void SubColumnVisualizerTemplate::OnTextColorChanged(GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) - { - text->SetColor(GetSecondaryTextColor()); - } - - void SubColumnVisualizerTemplate::Initialize(bool fixTextColor) - { - text = GuiSolidLabelElement::Create(); - text->SetVerticalAlignment(Alignment::Center); - - SetMinSizeLimitation(GuiGraphicsComposition::LimitToElementAndChildren); - SetMargin(Margin(8, 0, 8, 0)); - SetOwnedElement(text); - - TextChanged.AttachMethod(this, &SubColumnVisualizerTemplate::OnTextChanged); - FontChanged.AttachMethod(this, &SubColumnVisualizerTemplate::OnFontChanged); - if (!fixTextColor) - { - SecondaryTextColorChanged.AttachMethod(this, &SubColumnVisualizerTemplate::OnTextColorChanged); - } - - TextChanged.Execute(compositions::GuiEventArgs(this)); - FontChanged.Execute(compositions::GuiEventArgs(this)); - if (!fixTextColor) - { - SecondaryTextColorChanged.Execute(compositions::GuiEventArgs(this)); - } - } - - SubColumnVisualizerTemplate::SubColumnVisualizerTemplate(bool fixTextColor) - { - Initialize(fixTextColor); - } - - SubColumnVisualizerTemplate::SubColumnVisualizerTemplate() - { - Initialize(false); - } - - SubColumnVisualizerTemplate::~SubColumnVisualizerTemplate() - { - } - -/*********************************************************************** -HyperlinkVisualizerTemplate -***********************************************************************/ - - void HyperlinkVisualizerTemplate::label_MouseEnter(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) - { - FontProperties font = text->GetFont(); - font.underline = true; - text->SetFont(font); - } - - void HyperlinkVisualizerTemplate::label_MouseLeave(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) - { - FontProperties font = text->GetFont(); - font.underline = false; - text->SetFont(font); - } - - HyperlinkVisualizerTemplate::HyperlinkVisualizerTemplate() - :SubColumnVisualizerTemplate(true) - { - text->SetColor(Color(0, 0, 255)); - text->SetEllipse(true); - GetEventReceiver()->mouseEnter.AttachMethod(this, &HyperlinkVisualizerTemplate::label_MouseEnter); - GetEventReceiver()->mouseLeave.AttachMethod(this, &HyperlinkVisualizerTemplate::label_MouseLeave); - SetAssociatedCursor(GetCurrentController()->ResourceService()->GetSystemCursor(INativeCursor::Hand)); - } - - HyperlinkVisualizerTemplate::~HyperlinkVisualizerTemplate() - { - } - -/*********************************************************************** -CellBorderVisualizerTemplate -***********************************************************************/ - - void CellBorderVisualizerTemplate::OnItemSeparatorColorChanged(GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments) - { - border1->SetColor(GetItemSeparatorColor()); - border2->SetColor(GetItemSeparatorColor()); - } - - CellBorderVisualizerTemplate::CellBorderVisualizerTemplate() - { - GuiBoundsComposition* bounds1 = nullptr; - GuiBoundsComposition* bounds2 = nullptr; - { - border1 = GuiSolidBorderElement::Create(); - - bounds1 = new GuiBoundsComposition; - bounds1->SetOwnedElement(border1); - bounds1->SetAlignmentToParent(Margin(-1, 0, 0, 0)); - } - { - border2 = GuiSolidBorderElement::Create(); - - bounds2 = new GuiBoundsComposition; - bounds2->SetOwnedElement(border2); - bounds2->SetAlignmentToParent(Margin(0, -1, 0, 0)); - } - - SetAlignmentToParent(Margin(0, 0, 1, 1)); - SetMinSizeLimitation(GuiGraphicsComposition::LimitToElementAndChildren); - AddChild(bounds1); - AddChild(bounds2); - - ItemSeparatorColorChanged.AttachMethod(this, &CellBorderVisualizerTemplate::OnItemSeparatorColorChanged); - - ItemSeparatorColorChanged.Execute(compositions::GuiEventArgs(this)); - } - - CellBorderVisualizerTemplate::~CellBorderVisualizerTemplate() - { - } - } - } - } -} - -/*********************************************************************** -.\CONTROLS\STYLES\GUITHEMESTYLEFACTORY.CPP -***********************************************************************/ - -namespace vl -{ - namespace presentation - { - namespace theme - { - using namespace collections; - using namespace controls; - using namespace templates; - - class Theme : public Object, public virtual theme::ITheme - { - public: - Dictionary> templates; - ThemeTemplates* first = nullptr; - ThemeTemplates* last = nullptr; - - bool RegisterTheme(const WString& name, Ptr theme) - { - CHECK_ERROR(theme->previous == nullptr, L"vl::presentation::theme::RegisterTheme(const WString&, Ptr)#Theme object has been registered"); - CHECK_ERROR(theme->next == nullptr, L"vl::presentation::theme::RegisterTheme(const WString&, Ptr)#Theme object has been registered"); - - if (templates.Keys().Contains(name)) - { - return false; - } - templates.Add(name, theme); - - if (last) - { - last->next = theme.Obj(); - } - theme->previous = last; - last = theme.Obj(); - - return true; - } - - Ptr UnregisterTheme(const WString& name) - { - vint index = templates.Keys().IndexOf(name); - if (index == -1) - { - return nullptr; - } - - auto themeTemplates = templates.Values().Get(index); - - if (themeTemplates->previous) - { - themeTemplates->previous->next = themeTemplates->next; - } - else - { - first = themeTemplates->next; - } - - if (themeTemplates->next) - { - themeTemplates->next->previous = themeTemplates->previous; - - } - else - { - last = themeTemplates->previous; - } - - templates.Remove(name); - return themeTemplates; - } - -#define SP(TYPE, NAME)\ - auto current = last;\ - while (current) \ - {\ - if (current->NAME)\ - {\ - return new TYPE##_StyleProvider([=](auto _)\ - {\ - return current->NAME(description::Value());\ - });\ - }\ - current = current->previous;\ - }\ - throw Exception(L"Control template for \"" L ## #NAME L"\" is not defined.");\ - - GuiWindow::IStyleController* CreateWindowStyle()override - { - SP(GuiWindowTemplate, window); - } - - GuiCustomControl::IStyleController* CreateCustomControlStyle()override - { - SP(GuiControlTemplate, customControl); - } - - GuiTooltip::IStyleController* CreateTooltipStyle()override - { - SP(GuiWindowTemplate, tooltip); - } - - GuiLabel::IStyleController* CreateLabelStyle()override - { - SP(GuiLabelTemplate, label); - } - - GuiLabel::IStyleController* CreateShortcutKeyStyle()override - { - SP(GuiLabelTemplate, shortcutKey); - } - - GuiScrollContainer::IStyleProvider* CreateScrollContainerStyle()override - { - SP(GuiScrollViewTemplate, scrollView); - } - - GuiControl::IStyleController* CreateGroupBoxStyle()override - { - SP(GuiControlTemplate, groupBox); - } - - GuiTab::IStyleController* CreateTabStyle()override - { - SP(GuiTabTemplate, tab); - } - - GuiComboBoxListControl::IStyleController* CreateComboBoxStyle()override - { - SP(GuiComboBoxTemplate, comboBox); - } - - GuiScrollView::IStyleProvider* CreateMultilineTextBoxStyle()override - { - SP(GuiMultilineTextBoxTemplate, multilineTextBox); - } - - GuiSinglelineTextBox::IStyleProvider* CreateTextBoxStyle()override - { - SP(GuiSinglelineTextBoxTemplate, singlelineTextBox); - } - - GuiDocumentViewer::IStyleProvider* CreateDocumentViewerStyle()override - { - SP(GuiDocumentViewerTemplate, documentViewer); - } - - GuiDocumentLabel::IStyleController* CreateDocumentLabelStyle()override - { - SP(GuiDocumentLabelTemplate, documentLabel); - } - - GuiDocumentLabel::IStyleController* CreateDocumentTextBoxStyle()override - { - SP(GuiDocumentLabelTemplate, documentTextBox); - } - - GuiListView::IStyleProvider* CreateListViewStyle()override - { - SP(GuiListViewTemplate, listView); - } - - GuiTreeView::IStyleProvider* CreateTreeViewStyle()override - { - SP(GuiTreeViewTemplate, treeView); - } - - GuiSelectableButton::IStyleController* CreateListItemBackgroundStyle()override - { - SP(GuiSelectableButtonTemplate, listItemBackground); - } - - GuiSelectableButton::IStyleController* CreateTreeItemExpanderStyle()override - { - SP(GuiSelectableButtonTemplate, treeItemExpander); - } - - GuiToolstripMenu::IStyleController* CreateMenuStyle()override - { - SP(GuiMenuTemplate, menu); - } - - GuiToolstripMenuBar::IStyleController* CreateMenuBarStyle()override - { - SP(GuiControlTemplate, menuBar); - } - - GuiControl::IStyleController* CreateMenuSplitterStyle()override - { - SP(GuiControlTemplate, menuSplitter); - } - - GuiToolstripButton::IStyleController* CreateMenuBarButtonStyle()override - { - SP(GuiToolstripButtonTemplate, menuBarButton); - } - - GuiToolstripButton::IStyleController* CreateMenuItemButtonStyle()override - { - SP(GuiToolstripButtonTemplate, menuItemButton); - } - - GuiToolstripToolBar::IStyleController* CreateToolBarStyle()override - { - SP(GuiControlTemplate, toolBar); - } - - GuiToolstripButton::IStyleController* CreateToolBarButtonStyle()override - { - SP(GuiToolstripButtonTemplate, toolBarButton); - } - - GuiToolstripButton::IStyleController* CreateToolBarDropdownButtonStyle()override - { - SP(GuiToolstripButtonTemplate, toolBarDropdownButton); - } - - GuiToolstripButton::IStyleController* CreateToolBarSplitButtonStyle()override - { - SP(GuiToolstripButtonTemplate, toolBarSplitButton); - } - - GuiControl::IStyleController* CreateToolBarSplitterStyle()override - { - SP(GuiControlTemplate, toolBarSplitter); - } - - GuiButton::IStyleController* CreateButtonStyle()override - { - SP(GuiButtonTemplate, button); - } - - GuiSelectableButton::IStyleController* CreateCheckBoxStyle()override - { - SP(GuiSelectableButtonTemplate, checkBox); - } - - GuiSelectableButton::IStyleController* CreateRadioButtonStyle()override - { - SP(GuiSelectableButtonTemplate, radioButton); - } - - GuiDatePicker::IStyleProvider* CreateDatePickerStyle()override - { - SP(GuiDatePickerTemplate, datePicker); - } - - GuiScroll::IStyleController* CreateHScrollStyle()override - { - SP(GuiScrollTemplate, hScroll); - } - - GuiScroll::IStyleController* CreateVScrollStyle()override - { - SP(GuiScrollTemplate, vScroll); - } - - GuiScroll::IStyleController* CreateHTrackerStyle()override - { - SP(GuiScrollTemplate, hTracker); - } - - GuiScroll::IStyleController* CreateVTrackerStyle()override - { - SP(GuiScrollTemplate, vTracker); - } - - GuiScroll::IStyleController* CreateProgressBarStyle()override - { - SP(GuiScrollTemplate, progressBar); - } - - GuiVirtualTextList::IStyleProvider* CreateTextListStyle()override - { - SP(GuiTextListTemplate, textList); - } - - GuiSelectableButton::IStyleController* CreateCheckTextListItemStyle()override - { - SP(GuiSelectableButtonTemplate, listItemBackground); - } - - GuiSelectableButton::IStyleController* CreateRadioTextListItemStyle()override - { - SP(GuiSelectableButtonTemplate, treeItemExpander); - } - -#undef SP - }; - - ThemeTemplates::~ThemeTemplates() - { - FinalizeAggregation(); - } - - Theme* currentTheme = nullptr; - - ITheme* GetCurrentTheme() - { - return currentTheme; - } - - void InitializeTheme() - { - CHECK_ERROR(currentTheme == nullptr, L"vl::presentation::theme::InitializeTheme()#Theme has already been initialized"); - currentTheme = new Theme; - } - - void FinalizeTheme() - { - CHECK_ERROR(currentTheme != nullptr, L"vl::presentation::theme::FinalizeTheme()#Theme has not been initialized"); - delete currentTheme; - currentTheme = nullptr; - } - - bool RegisterTheme(const WString& name, Ptr theme) - { - CHECK_ERROR(currentTheme != nullptr, L"vl::presentation::theme::RegisterTheme(const WString&, Ptr)#Theme has already been initialized"); - return currentTheme->RegisterTheme(name, theme); - } - - Ptr UnregisterTheme(const WString& name) - { - CHECK_ERROR(currentTheme != nullptr, L"vl::presentation::theme::UnregisterTheme(const WString&)#Theme has already been initialized"); - return currentTheme->UnregisterTheme(name); - } - - namespace g - { - controls::GuiWindow* NewWindow() - { - return new controls::GuiWindow(GetCurrentTheme()->CreateWindowStyle()); - } - - controls::GuiCustomControl* NewCustomControl() - { - return new controls::GuiCustomControl(GetCurrentTheme()->CreateCustomControlStyle()); - } - - controls::GuiLabel* NewLabel() - { - return new controls::GuiLabel(GetCurrentTheme()->CreateLabelStyle()); - } - - controls::GuiScrollContainer* NewScrollContainer() - { - return new controls::GuiScrollContainer(GetCurrentTheme()->CreateScrollContainerStyle()); - } - - controls::GuiControl* NewGroupBox() - { - return new controls::GuiControl(GetCurrentTheme()->CreateGroupBoxStyle()); - } - - controls::GuiTab* NewTab() - { - return new controls::GuiTab(GetCurrentTheme()->CreateTabStyle()); - } - - controls::GuiTabPage* NewTabPage() - { - return new controls::GuiTabPage(GetCurrentTheme()->CreateCustomControlStyle()); - } - - controls::GuiComboBoxListControl* NewComboBox(controls::GuiSelectableListControl* containedListControl) - { - return new controls::GuiComboBoxListControl(GetCurrentTheme()->CreateComboBoxStyle(), containedListControl); - } - - controls::GuiMultilineTextBox* NewMultilineTextBox() - { - return new controls::GuiMultilineTextBox(GetCurrentTheme()->CreateMultilineTextBoxStyle()); - } - - controls::GuiSinglelineTextBox* NewTextBox() - { - return new controls::GuiSinglelineTextBox(GetCurrentTheme()->CreateTextBoxStyle()); - } - - controls::GuiDocumentViewer* NewDocumentViewer() - { - return new controls::GuiDocumentViewer(GetCurrentTheme()->CreateDocumentViewerStyle()); - } - - controls::GuiDocumentLabel* NewDocumentLabel() - { - return new controls::GuiDocumentLabel(GetCurrentTheme()->CreateDocumentLabelStyle()); - } - - controls::GuiDocumentLabel* NewDocumentTextBox() - { - return new controls::GuiDocumentLabel(GetCurrentTheme()->CreateDocumentTextBoxStyle()); - } - - controls::GuiListView* NewListView() - { - controls::GuiListView* listview=new controls::GuiListView(GetCurrentTheme()->CreateListViewStyle()); - return listview; - } - - controls::GuiTreeView* NewTreeView() - { - return new controls::GuiTreeView(GetCurrentTheme()->CreateTreeViewStyle()); - } - - controls::GuiToolstripMenu* NewMenu(controls::GuiControl* owner) - { - return new controls::GuiToolstripMenu(GetCurrentTheme()->CreateMenuStyle(), owner); - } - - controls::GuiToolstripMenuBar* NewMenuBar() - { - return new controls::GuiToolstripMenuBar(GetCurrentTheme()->CreateMenuBarStyle()); - } - - controls::GuiControl* NewMenuSplitter() - { - return new controls::GuiControl(GetCurrentTheme()->CreateMenuSplitterStyle()); - } - - controls::GuiToolstripButton* NewMenuBarButton() - { - return new controls::GuiToolstripButton(GetCurrentTheme()->CreateMenuBarButtonStyle()); - } - - controls::GuiToolstripButton* NewMenuItemButton() - { - return new controls::GuiToolstripButton(GetCurrentTheme()->CreateMenuItemButtonStyle()); - } - - controls::GuiToolstripToolBar* NewToolBar() - { - return new controls::GuiToolstripToolBar(GetCurrentTheme()->CreateToolBarStyle()); - } - - controls::GuiToolstripButton* NewToolBarButton() - { - return new controls::GuiToolstripButton(GetCurrentTheme()->CreateToolBarButtonStyle()); - } - - controls::GuiToolstripButton* NewToolBarDropdownButton() - { - return new controls::GuiToolstripButton(GetCurrentTheme()->CreateToolBarDropdownButtonStyle()); - } - - controls::GuiToolstripButton* NewToolBarSplitButton() - { - return new controls::GuiToolstripButton(GetCurrentTheme()->CreateToolBarSplitButtonStyle()); - } - - controls::GuiControl* NewToolBarSplitter() - { - return new controls::GuiControl(GetCurrentTheme()->CreateToolBarSplitterStyle()); - } - - controls::GuiButton* NewButton() - { - return new controls::GuiButton(GetCurrentTheme()->CreateButtonStyle()); - } - - controls::GuiSelectableButton* NewCheckBox() - { - return new controls::GuiSelectableButton(GetCurrentTheme()->CreateCheckBoxStyle()); - } - - controls::GuiSelectableButton* NewRadioButton() - { - return new controls::GuiSelectableButton(GetCurrentTheme()->CreateRadioButtonStyle()); - } - - controls::GuiDatePicker* NewDatePicker() - { - return new controls::GuiDatePicker(GetCurrentTheme()->CreateDatePickerStyle()); - } - - controls::GuiDateComboBox* NewDateComboBox() - { - return new controls::GuiDateComboBox(GetCurrentTheme()->CreateComboBoxStyle(), NewDatePicker()); - } - - controls::GuiScroll* NewHScroll() - { - return new controls::GuiScroll(GetCurrentTheme()->CreateHScrollStyle()); - } - - controls::GuiScroll* NewVScroll() - { - return new controls::GuiScroll(GetCurrentTheme()->CreateVScrollStyle()); - } - - controls::GuiScroll* NewHTracker() - { - controls::GuiScroll* scroll=new controls::GuiScroll(GetCurrentTheme()->CreateHTrackerStyle()); - scroll->SetPageSize(0); - return scroll; - } - - controls::GuiScroll* NewVTracker() - { - controls::GuiScroll* scroll=new controls::GuiScroll(GetCurrentTheme()->CreateVTrackerStyle()); - scroll->SetPageSize(0); - return scroll; - } - - controls::GuiScroll* NewProgressBar() - { - controls::GuiScroll* scroll=new controls::GuiScroll(GetCurrentTheme()->CreateProgressBarStyle()); - scroll->SetPageSize(0); - return scroll; - } - - controls::GuiTextList* NewTextList() - { - return new controls::GuiTextList(GetCurrentTheme()->CreateTextListStyle()); - } - } - } - } -} - -/*********************************************************************** -.\CONTROLS\TEMPLATES\GUICONTROLTEMPLATESTYLES.CPP -***********************************************************************/ - -namespace vl -{ - namespace presentation - { - namespace templates - { - using namespace compositions; - using namespace elements; - using namespace controls; - using namespace controls::list; - using namespace reflection::description; - using namespace collections; - -#define GET_FACTORY_FROM_TEMPLATE(TEMPLATE, PROPERTY)\ - return new TEMPLATE##_StyleProvider(controlTemplate->Get##PROPERTY());\ - -#define GET_FACTORY_FROM_TEMPLATE_OPT(TEMPLATE, PROPERTY)\ - if (!controlTemplate->Get##PROPERTY())\ - {\ - return nullptr;\ - }\ - GET_FACTORY_FROM_TEMPLATE(TEMPLATE, PROPERTY)\ - -/*********************************************************************** -GuiControlTemplate_StyleProvider -***********************************************************************/ - - GuiControlTemplate_StyleProvider::GuiControlTemplate_StyleProvider(TemplateProperty factory, description::Value viewModel) - :associatedStyleController(0) - , controlTemplate(factory(viewModel)) - { - CHECK_ERROR(controlTemplate, L"GuiControlTemplate_StyleProvider::GuiControlTemplate_StyleProvider()#An instance of GuiControlTemplate is expected."); - } - - GuiControlTemplate_StyleProvider::~GuiControlTemplate_StyleProvider() - { - } - - compositions::GuiBoundsComposition* GuiControlTemplate_StyleProvider::GetBoundsComposition() - { - return controlTemplate; - } - - compositions::GuiGraphicsComposition* GuiControlTemplate_StyleProvider::GetContainerComposition() - { - return controlTemplate->GetContainerComposition(); - } - - void GuiControlTemplate_StyleProvider::AssociateStyleController(controls::GuiControl::IStyleController* controller) - { - associatedStyleController = controller; - } - - void GuiControlTemplate_StyleProvider::SetFocusableComposition(compositions::GuiGraphicsComposition* value) - { - controlTemplate->SetFocusableComposition(value); - } - - void GuiControlTemplate_StyleProvider::SetText(const WString& value) - { - controlTemplate->SetText(value); - } - - void GuiControlTemplate_StyleProvider::SetFont(const FontProperties& value) - { - controlTemplate->SetFont(value); - } - - void GuiControlTemplate_StyleProvider::SetVisuallyEnabled(bool value) - { - controlTemplate->SetVisuallyEnabled(value); - } - -/*********************************************************************** -GuiLabelTemplate_StyleProvider -***********************************************************************/ - - GuiLabelTemplate_StyleProvider::GuiLabelTemplate_StyleProvider(TemplateProperty factory) - :GuiControlTemplate_StyleProvider(factory) - { - if (!(controlTemplate = dynamic_cast(GetBoundsComposition()))) - { - CHECK_FAIL(L"GuiLabelTemplate_StyleProvider::GuiLabelTemplate_StyleProvider()#An instance of GuiLabelTemplate is expected."); - } - } - - GuiLabelTemplate_StyleProvider::~GuiLabelTemplate_StyleProvider() - { - } - - Color GuiLabelTemplate_StyleProvider::GetDefaultTextColor() - { - return controlTemplate->GetDefaultTextColor(); - } - - void GuiLabelTemplate_StyleProvider::SetTextColor(Color value) - { - controlTemplate->SetTextColor(value); - } - -/*********************************************************************** -GuiSinglelineTextBoxTemplate_StyleProvider -***********************************************************************/ - - GuiSinglelineTextBoxTemplate_StyleProvider::GuiSinglelineTextBoxTemplate_StyleProvider(TemplateProperty factory) - :GuiControlTemplate_StyleProvider(factory) - { - if (!(controlTemplate = dynamic_cast(GetBoundsComposition()))) - { - CHECK_FAIL(L"GuiSinglelineTextBoxTemplate_StyleProvider::GuiSinglelineTextBoxTemplate_StyleProvider()#An instance of GuiSinglelineTextBoxTemplate is expected."); - } - } - - GuiSinglelineTextBoxTemplate_StyleProvider::~GuiSinglelineTextBoxTemplate_StyleProvider() - { - } - - void GuiSinglelineTextBoxTemplate_StyleProvider::SetFocusableComposition(compositions::GuiGraphicsComposition* value) - { - GuiControlTemplate_StyleProvider::SetFocusableComposition(value); - if (auto style = dynamic_cast(associatedStyleController)) - { - auto element = style->GetTextElement(); - Array colors(1); - colors[0] = controlTemplate->GetTextColor(); - element->SetColors(colors); - element->SetCaretColor(controlTemplate->GetCaretColor()); - } - } - - compositions::GuiGraphicsComposition* GuiSinglelineTextBoxTemplate_StyleProvider::InstallBackground(compositions::GuiBoundsComposition* boundsComposition) - { - controlTemplate->SetAlignmentToParent(Margin(0, 0, 0, 0)); - boundsComposition->AddChild(controlTemplate); - return controlTemplate->GetContainerComposition(); - } - -/*********************************************************************** -GuiDocumentLabelTemplate_StyleProvider -***********************************************************************/ - - GuiDocumentLabelTemplate_StyleProvider::GuiDocumentLabelTemplate_StyleProvider(TemplateProperty factory) - :GuiControlTemplate_StyleProvider(factory) - { - if (!(controlTemplate = dynamic_cast(GetBoundsComposition()))) - { - CHECK_FAIL(L"GuiDocumentLabelTemplate_StyleProvider::GuiDocumentLabelTemplate_StyleProvider()#An instance of GuiDocumentLabelTemplate is expected."); - } - } - - GuiDocumentLabelTemplate_StyleProvider::~GuiDocumentLabelTemplate_StyleProvider() - { - } - - Ptr GuiDocumentLabelTemplate_StyleProvider::GetBaselineDocument() - { - return controlTemplate->GetBaselineDocument(); - } - - Color GuiDocumentLabelTemplate_StyleProvider::GetCaretColor() - { - return controlTemplate->GetCaretColor(); - } - -/*********************************************************************** -GuiMenuTemplate_StyleProvider -***********************************************************************/ - - GuiMenuTemplate_StyleProvider::GuiMenuTemplate_StyleProvider(TemplateProperty factory) - :GuiControlTemplate_StyleProvider(factory) - { - } - - GuiMenuTemplate_StyleProvider::~GuiMenuTemplate_StyleProvider() - { - } - -/*********************************************************************** -GuiWindowTemplate_StyleProvider -***********************************************************************/ - - GuiWindowTemplate_StyleProvider::GuiWindowTemplate_StyleProvider(TemplateProperty factory) - :GuiControlTemplate_StyleProvider(factory) - , window(0) - { - if (!(controlTemplate = dynamic_cast(GetBoundsComposition()))) - { - CHECK_FAIL(L"GuiWindowTemplate_StyleProvider::GuiWindowTemplate_StyleProvider()#An instance of GuiWindowTemplate is expected."); - } - } - - GuiWindowTemplate_StyleProvider::~GuiWindowTemplate_StyleProvider() - { - } - - void GuiWindowTemplate_StyleProvider::AttachWindow(GuiWindow* _window) - { - window = _window; - } - - void GuiWindowTemplate_StyleProvider::InitializeNativeWindowProperties() - { - if (window && window->GetNativeWindow()) - { - window->GetNativeWindow()->EnableCustomFrameMode(); - window->GetNativeWindow()->SetBorder(false); - } - } - - void GuiWindowTemplate_StyleProvider::SetSizeState(INativeWindow::WindowSizeState value) - { - controlTemplate->SetMaximized(value == INativeWindow::Maximized); - } - -#define WINDOW_TEMPLATE_GET(PROPERTY)\ - switch (controlTemplate->Get##PROPERTY##Option())\ - {\ - case BoolOption::AlwaysTrue: return true;\ - case BoolOption::AlwaysFalse: return false;\ - default: return controlTemplate->Get##PROPERTY();\ - }\ - -#define WINDOW_TEMPLATE_SET(PROPERTY)\ - if (controlTemplate->Get##PROPERTY##Option() == BoolOption::Customizable)\ - {\ - controlTemplate->Set##PROPERTY(visible);\ - if (!controlTemplate->GetCustomizedBorder() && window && window->GetNativeWindow())\ - {\ - window->GetNativeWindow()->Set##PROPERTY(visible);\ - }\ - }\ - - bool GuiWindowTemplate_StyleProvider::GetMaximizedBox() - { - WINDOW_TEMPLATE_GET(MaximizedBox); - } - - void GuiWindowTemplate_StyleProvider::SetMaximizedBox(bool visible) - { - WINDOW_TEMPLATE_SET(MaximizedBox); - } - - bool GuiWindowTemplate_StyleProvider::GetMinimizedBox() - { - WINDOW_TEMPLATE_GET(MinimizedBox); - } - - void GuiWindowTemplate_StyleProvider::SetMinimizedBox(bool visible) - { - WINDOW_TEMPLATE_SET(MinimizedBox); - } - - bool GuiWindowTemplate_StyleProvider::GetBorder() - { - WINDOW_TEMPLATE_GET(Border); - } - - void GuiWindowTemplate_StyleProvider::SetBorder(bool visible) - { - WINDOW_TEMPLATE_SET(Border); - } - - bool GuiWindowTemplate_StyleProvider::GetSizeBox() - { - WINDOW_TEMPLATE_GET(SizeBox); - } - - void GuiWindowTemplate_StyleProvider::SetSizeBox(bool visible) - { - WINDOW_TEMPLATE_SET(SizeBox); - } - - bool GuiWindowTemplate_StyleProvider::GetIconVisible() - { - WINDOW_TEMPLATE_GET(IconVisible); - } - - void GuiWindowTemplate_StyleProvider::SetIconVisible(bool visible) - { - WINDOW_TEMPLATE_SET(IconVisible); - } - - bool GuiWindowTemplate_StyleProvider::GetTitleBar() - { - WINDOW_TEMPLATE_GET(TitleBar); - } - - void GuiWindowTemplate_StyleProvider::SetTitleBar(bool visible) - { - WINDOW_TEMPLATE_SET(TitleBar); - } - - controls::GuiWindow::IStyleController* GuiWindowTemplate_StyleProvider::CreateTooltipStyle() - { - GET_FACTORY_FROM_TEMPLATE_OPT(GuiWindowTemplate, TooltipTemplate); - } - - controls::GuiLabel::IStyleController* GuiWindowTemplate_StyleProvider::CreateShortcutKeyStyle() - { - GET_FACTORY_FROM_TEMPLATE_OPT(GuiLabelTemplate, ShortcutKeyTemplate); - } - -#undef WINDOW_TEMPLATE_GET -#undef WINDOW_TEMPLATE_SET - -/*********************************************************************** -GuiButtonTemplate_StyleProvider -***********************************************************************/ - - GuiButtonTemplate_StyleProvider::GuiButtonTemplate_StyleProvider(TemplateProperty factory) - :GuiControlTemplate_StyleProvider(factory) - { - if (!(controlTemplate = dynamic_cast(GetBoundsComposition()))) - { - CHECK_FAIL(L"GuiButtonTemplate_StyleProvider::GuiButtonTemplate_StyleProvider()#An instance of GuiButtonTemplate is expected."); - } - } - - GuiButtonTemplate_StyleProvider::~GuiButtonTemplate_StyleProvider() - { - } - - void GuiButtonTemplate_StyleProvider::Transfer(controls::ButtonState value) - { - controlTemplate->SetState(value); - } - -/*********************************************************************** -GuiSelectableButtonTemplate_StyleProvider -***********************************************************************/ - - GuiSelectableButtonTemplate_StyleProvider::GuiSelectableButtonTemplate_StyleProvider(TemplateProperty factory) - :GuiButtonTemplate_StyleProvider(factory) - { - if (!(controlTemplate = dynamic_cast(GetBoundsComposition()))) - { - CHECK_FAIL(L"GuiButtonTemplate_StyleProvider::GuiButtonTemplate_StyleProvider()#An instance of GuiSelectableButtonTemplate is expected."); - } - } - - GuiSelectableButtonTemplate_StyleProvider::~GuiSelectableButtonTemplate_StyleProvider() - { - } - - void GuiSelectableButtonTemplate_StyleProvider::SetSelected(bool value) - { - controlTemplate->SetSelected(value); - } - -/*********************************************************************** -GuiToolstripButtonTemplate_StyleProvider -***********************************************************************/ - - GuiToolstripButtonTemplate_StyleProvider::GuiToolstripButtonTemplate_StyleProvider(TemplateProperty factory) - :GuiSelectableButtonTemplate_StyleProvider(factory) - { - if (!(controlTemplate = dynamic_cast(GetBoundsComposition()))) - { - CHECK_FAIL(L"GuiButtonTemplate_StyleProvider::GuiButtonTemplate_StyleProvider()#An instance of GuiToolstripButtonTemplate is expected."); - } - } - - GuiToolstripButtonTemplate_StyleProvider::~GuiToolstripButtonTemplate_StyleProvider() - { - } - - controls::GuiMenu::IStyleController* GuiToolstripButtonTemplate_StyleProvider::CreateSubMenuStyleController() - { - GET_FACTORY_FROM_TEMPLATE(GuiMenuTemplate, SubMenuTemplate); - } - - void GuiToolstripButtonTemplate_StyleProvider::SetSubMenuExisting(bool value) - { - controlTemplate->SetSubMenuExisting(value); - } - - void GuiToolstripButtonTemplate_StyleProvider::SetSubMenuOpening(bool value) - { - controlTemplate->SetSubMenuOpening(value); - } - - controls::GuiButton* GuiToolstripButtonTemplate_StyleProvider::GetSubMenuHost() - { - return controlTemplate->GetSubMenuHost(); - } - - void GuiToolstripButtonTemplate_StyleProvider::SetImage(Ptr value) - { - controlTemplate->SetImage(value); - } - - void GuiToolstripButtonTemplate_StyleProvider::SetShortcutText(const WString& value) - { - controlTemplate->SetShortcutText(value); - } - -/*********************************************************************** -GuiListViewColumnHeaderTemplate_StyleProvider -***********************************************************************/ - - GuiListViewColumnHeaderTemplate_StyleProvider::GuiListViewColumnHeaderTemplate_StyleProvider(TemplateProperty factory) - :GuiToolstripButtonTemplate_StyleProvider(factory) - { - if (!(controlTemplate = dynamic_cast(GetBoundsComposition()))) - { - CHECK_FAIL(L"GuiListViewColumnHeaderTemplate_StyleProvider::GuiListViewColumnHeaderTemplate_StyleProvider()#An instance of GuiListViewColumnHeaderTemplate is expected."); - } - } - - GuiListViewColumnHeaderTemplate_StyleProvider::~GuiListViewColumnHeaderTemplate_StyleProvider() - { - } - - void GuiListViewColumnHeaderTemplate_StyleProvider::SetColumnSortingState(controls::ColumnSortingState value) - { - controlTemplate->SetSortingState(value); - } - -/*********************************************************************** -GuiComboBoxTemplate_StyleProvider -***********************************************************************/ - - GuiComboBoxTemplate_StyleProvider::GuiComboBoxTemplate_StyleProvider(TemplateProperty factory) - :GuiToolstripButtonTemplate_StyleProvider(factory) - { - if (!(controlTemplate = dynamic_cast(GetBoundsComposition()))) - { - CHECK_FAIL(L"GuiComboBoxTemplate_StyleProvider::GuiComboBoxTemplate_StyleProvider()#An instance of GuiComboBoxTemplate is expected."); - } - } - - GuiComboBoxTemplate_StyleProvider::~GuiComboBoxTemplate_StyleProvider() - { - } - - void GuiComboBoxTemplate_StyleProvider::SetCommandExecutor(controls::IComboBoxCommandExecutor* value) - { - controlTemplate->SetCommands(value); - } - - void GuiComboBoxTemplate_StyleProvider::OnItemSelected() - { - } - - void GuiComboBoxTemplate_StyleProvider::SetTextVisible(bool value) - { - controlTemplate->SetTextVisible(value); - } - -/*********************************************************************** -GuiScrollTemplate_StyleProvider -***********************************************************************/ - - GuiScrollTemplate_StyleProvider::GuiScrollTemplate_StyleProvider(TemplateProperty factory) - :GuiControlTemplate_StyleProvider(factory) - { - if (!(controlTemplate = dynamic_cast(GetBoundsComposition()))) - { - CHECK_FAIL(L"GuiButtonTemplate_StyleProvider::GuiButtonTemplate_StyleProvider()#An instance of GuiScrollTemplate is expected."); - } - } - - GuiScrollTemplate_StyleProvider::~GuiScrollTemplate_StyleProvider() - { - } - - void GuiScrollTemplate_StyleProvider::SetCommandExecutor(controls::IScrollCommandExecutor* value) - { - controlTemplate->SetCommands(value); - } - - void GuiScrollTemplate_StyleProvider::SetTotalSize(vint value) - { - controlTemplate->SetTotalSize(value); - } - - void GuiScrollTemplate_StyleProvider::SetPageSize(vint value) - { - controlTemplate->SetPageSize(value); - } - - void GuiScrollTemplate_StyleProvider::SetPosition(vint value) - { - controlTemplate->SetPosition(value); - } - -/*********************************************************************** -GuiScrollViewTemplate_StyleProvider -***********************************************************************/ - - GuiScrollViewTemplate_StyleProvider::GuiScrollViewTemplate_StyleProvider(TemplateProperty factory) - :GuiControlTemplate_StyleProvider(factory) - { - if (!(controlTemplate = dynamic_cast(GetBoundsComposition()))) - { - CHECK_FAIL(L"GuiScrollViewTemplate_StyleProvider::GuiScrollViewTemplate_StyleProvider()#An instance of GuiScrollViewTemplate is expected."); - } - } - - GuiScrollViewTemplate_StyleProvider::~GuiScrollViewTemplate_StyleProvider() - { - } - - controls::GuiScroll::IStyleController* GuiScrollViewTemplate_StyleProvider::CreateHorizontalScrollStyle() - { - GET_FACTORY_FROM_TEMPLATE(GuiScrollTemplate, HScrollTemplate); - } - - controls::GuiScroll::IStyleController* GuiScrollViewTemplate_StyleProvider::CreateVerticalScrollStyle() - { - GET_FACTORY_FROM_TEMPLATE(GuiScrollTemplate, VScrollTemplate); - } - - vint GuiScrollViewTemplate_StyleProvider::GetDefaultScrollSize() - { - return controlTemplate->GetDefaultScrollSize(); - } - - compositions::GuiGraphicsComposition* GuiScrollViewTemplate_StyleProvider::InstallBackground(compositions::GuiBoundsComposition* boundsComposition) - { - controlTemplate->SetAlignmentToParent(Margin(0, 0, 0, 0)); - boundsComposition->AddChild(controlTemplate); - return controlTemplate->GetContainerComposition(); - } - -/*********************************************************************** -GuiSinglelineTextBoxTemplate_StyleProvider -***********************************************************************/ - - GuiMultilineTextBoxTemplate_StyleProvider::GuiMultilineTextBoxTemplate_StyleProvider(TemplateProperty factory) - :GuiScrollViewTemplate_StyleProvider(factory) - { - if (!(controlTemplate = dynamic_cast(GetBoundsComposition()))) - { - CHECK_FAIL(L"GuiMultilineTextBoxTemplate_StyleProvider::GuiMultilineTextBoxTemplate_StyleProvider()#An instance of GuiMultilineTextBoxTemplate is expected."); - } - } - - GuiMultilineTextBoxTemplate_StyleProvider::~GuiMultilineTextBoxTemplate_StyleProvider() - { - } - - void GuiMultilineTextBoxTemplate_StyleProvider::SetFocusableComposition(compositions::GuiGraphicsComposition* value) - { - GuiScrollViewTemplate_StyleProvider::SetFocusableComposition(value); - if (auto style = dynamic_cast(associatedStyleController)) - { - auto element = style->GetTextElement(); - Array colors(1); - colors[0] = controlTemplate->GetTextColor(); - element->SetColors(colors); - element->SetCaretColor(controlTemplate->GetCaretColor()); - } - } - -/*********************************************************************** -GuiDocumentViewerTemplate_StyleProvider -***********************************************************************/ - - GuiDocumentViewerTemplate_StyleProvider::GuiDocumentViewerTemplate_StyleProvider(TemplateProperty factory) - :GuiScrollViewTemplate_StyleProvider(factory) - { - if (!(controlTemplate = dynamic_cast(GetBoundsComposition()))) - { - CHECK_FAIL(L"GuiDocumentViewerTemplate_StyleProvider::GuiDocumentViewerTemplate_StyleProvider()#An instance of GuiDocumentViewerTemplate is expected."); - } - } - - GuiDocumentViewerTemplate_StyleProvider::~GuiDocumentViewerTemplate_StyleProvider() - { - } - - Ptr GuiDocumentViewerTemplate_StyleProvider::GetBaselineDocument() - { - return controlTemplate->GetBaselineDocument(); - } - - Color GuiDocumentViewerTemplate_StyleProvider::GetCaretColor() - { - return controlTemplate->GetCaretColor(); - } - -/*********************************************************************** -GuiTextListTemplate_StyleProvider -***********************************************************************/ - - GuiTextListTemplate_StyleProvider::GuiTextListTemplate_StyleProvider(TemplateProperty factory) - :GuiScrollViewTemplate_StyleProvider(factory) - { - if (!(controlTemplate = dynamic_cast(GetBoundsComposition()))) - { - CHECK_FAIL(L"GuiTextListTemplate_StyleProvider::GuiTextListTemplate_StyleProvider()#An instance of GuiTextListTemplate is expected."); - } - } - - GuiTextListTemplate_StyleProvider::~GuiTextListTemplate_StyleProvider() - { - } - - Color GuiTextListTemplate_StyleProvider::GetTextColor() - { - return controlTemplate->GetTextColor(); - } - - controls::GuiSelectableButton::IStyleController* GuiTextListTemplate_StyleProvider::CreateItemBackground() - { - GET_FACTORY_FROM_TEMPLATE_OPT(GuiSelectableButtonTemplate, BackgroundTemplate); - } - - controls::GuiSelectableButton::IStyleController* GuiTextListTemplate_StyleProvider::CreateCheckBulletStyle() - { - GET_FACTORY_FROM_TEMPLATE_OPT(GuiSelectableButtonTemplate, CheckBulletTemplate); - } - - controls::GuiSelectableButton::IStyleController* GuiTextListTemplate_StyleProvider::CreateRadioBulletStyle() - { - GET_FACTORY_FROM_TEMPLATE_OPT(GuiSelectableButtonTemplate, RadioBulletTemplate); - } - -/*********************************************************************** -GuiListViewTemplate_StyleProvider -***********************************************************************/ - - GuiListViewTemplate_StyleProvider::GuiListViewTemplate_StyleProvider(TemplateProperty factory) - :GuiScrollViewTemplate_StyleProvider(factory) - { - if (!(controlTemplate = dynamic_cast(GetBoundsComposition()))) - { - CHECK_FAIL(L"GuiListViewTemplate_StyleProvider::GuiListViewTemplate_StyleProvider()#An instance of GuiListViewTemplate is expected."); - } - } - - GuiListViewTemplate_StyleProvider::~GuiListViewTemplate_StyleProvider() - { - } - - controls::GuiSelectableButton::IStyleController* GuiListViewTemplate_StyleProvider::CreateItemBackground() - { - GET_FACTORY_FROM_TEMPLATE_OPT(GuiSelectableButtonTemplate, BackgroundTemplate); - } - - controls::GuiListViewColumnHeader::IStyleController* GuiListViewTemplate_StyleProvider::CreateColumnStyle() - { - GET_FACTORY_FROM_TEMPLATE(GuiListViewColumnHeaderTemplate, ColumnHeaderTemplate); - } - - Color GuiListViewTemplate_StyleProvider::GetPrimaryTextColor() - { - return controlTemplate->GetPrimaryTextColor(); - } - - Color GuiListViewTemplate_StyleProvider::GetSecondaryTextColor() - { - return controlTemplate->GetSecondaryTextColor(); - } - - Color GuiListViewTemplate_StyleProvider::GetItemSeparatorColor() - { - return controlTemplate->GetItemSeparatorColor(); - } - -/*********************************************************************** -GuiTreeViewTemplate_StyleProvider -***********************************************************************/ - - GuiTreeViewTemplate_StyleProvider::GuiTreeViewTemplate_StyleProvider(TemplateProperty factory) - :GuiScrollViewTemplate_StyleProvider(factory) - { - if (!(controlTemplate = dynamic_cast(GetBoundsComposition()))) - { - CHECK_FAIL(L"GuiTreeViewTemplate_StyleProvider::GuiTreeViewTemplate_StyleProvider()#An instance of GuiTreeViewTemplate is expected."); - } - } - - GuiTreeViewTemplate_StyleProvider::~GuiTreeViewTemplate_StyleProvider() - { - } - - controls::GuiSelectableButton::IStyleController* GuiTreeViewTemplate_StyleProvider::CreateItemBackground() - { - GET_FACTORY_FROM_TEMPLATE_OPT(GuiSelectableButtonTemplate, BackgroundTemplate); - } - - controls::GuiSelectableButton::IStyleController* GuiTreeViewTemplate_StyleProvider::CreateItemExpandingDecorator() - { - GET_FACTORY_FROM_TEMPLATE_OPT(GuiSelectableButtonTemplate, ExpandingDecoratorTemplate); - } - - Color GuiTreeViewTemplate_StyleProvider::GetTextColor() - { - return controlTemplate->GetTextColor(); - } - -/*********************************************************************** -GuiTabTemplate_StyleProvider -***********************************************************************/ - - GuiTabTemplate_StyleProvider::GuiTabTemplate_StyleProvider(TemplateProperty factory) - :GuiControlTemplate_StyleProvider(factory) - { - if (!(controlTemplate = dynamic_cast(GetBoundsComposition()))) - { - CHECK_FAIL(L"GuiTabTemplate_StyleProvider::GuiTabTemplate_StyleProvider()#An instance of GuiTabTemplate is expected."); - } - } - - GuiTabTemplate_StyleProvider::~GuiTabTemplate_StyleProvider() - { - } - - void GuiTabTemplate_StyleProvider::SetCommandExecutor(controls::ITabCommandExecutor* value) - { - controlTemplate->SetCommands(value); - } - - void GuiTabTemplate_StyleProvider::SetTabPages(Ptr value) - { - controlTemplate->SetTabPages(value); - } - - void GuiTabTemplate_StyleProvider::SetSelectedTabPage(controls::GuiTabPage* value) - { - controlTemplate->SetSelectedTabPage(value); - } - -/*********************************************************************** -GuiDatePickerTemplate_StyleProvider -***********************************************************************/ - - GuiDatePickerTemplate_StyleProvider::GuiDatePickerTemplate_StyleProvider(TemplateProperty factory) - :GuiControlTemplate_StyleProvider(factory) - { - if (!(controlTemplate = dynamic_cast(GetBoundsComposition()))) - { - CHECK_FAIL(L"GuiDatePickerTemplate_StyleProvider::GuiDatePickerTemplate_StyleProvider()#An instance of GuiDatePickerTemplate is expected."); - } - } - - GuiDatePickerTemplate_StyleProvider::~GuiDatePickerTemplate_StyleProvider() - { - delete controlTemplate; - } - - controls::GuiSelectableButton::IStyleController* GuiDatePickerTemplate_StyleProvider::CreateDateButtonStyle() - { - GET_FACTORY_FROM_TEMPLATE(GuiSelectableButtonTemplate, DateButtonTemplate); - } - - GuiTextListTemplate_StyleProvider* GuiDatePickerTemplate_StyleProvider::CreateTextListStyle() - { - GET_FACTORY_FROM_TEMPLATE(GuiTextListTemplate, DateTextListTemplate); - } - - controls::GuiTextList* GuiDatePickerTemplate_StyleProvider::CreateTextList() - { - auto style = CreateTextListStyle(); - return new GuiTextList(style); - } - - controls::GuiComboBoxListControl::IStyleController* GuiDatePickerTemplate_StyleProvider::CreateComboBoxStyle() - { - GET_FACTORY_FROM_TEMPLATE(GuiComboBoxTemplate, DateComboBoxTemplate); - } - - Color GuiDatePickerTemplate_StyleProvider::GetBackgroundColor() - { - return controlTemplate->GetBackgroundColor(); - } - - Color GuiDatePickerTemplate_StyleProvider::GetPrimaryTextColor() - { - return controlTemplate->GetPrimaryTextColor(); - } - - Color GuiDatePickerTemplate_StyleProvider::GetSecondaryTextColor() - { - return controlTemplate->GetSecondaryTextColor(); - } - -/*********************************************************************** -GuiDateComboBoxTemplate_StyleProvider -***********************************************************************/ - - GuiDateComboBoxTemplate_StyleProvider::GuiDateComboBoxTemplate_StyleProvider(TemplateProperty factory) - :GuiComboBoxTemplate_StyleProvider(factory) - { - if (!(controlTemplate = dynamic_cast(GetBoundsComposition()))) - { - CHECK_FAIL(L"GuiDateComboBoxTemplate_StyleProvider::GuiDateComboBoxTemplate_StyleProvider()#An instance of GuiDateComboBoxTemplate is expected."); - } - } - - GuiDateComboBoxTemplate_StyleProvider::~GuiDateComboBoxTemplate_StyleProvider() - { - } - - controls::GuiDatePicker* GuiDateComboBoxTemplate_StyleProvider::CreateArgument() - { - return new GuiDatePicker(CreateDatePickerStyle()); - } - - controls::GuiDatePicker::IStyleProvider* GuiDateComboBoxTemplate_StyleProvider::CreateDatePickerStyle() - { - GET_FACTORY_FROM_TEMPLATE(GuiDatePickerTemplate, DatePickerTemplate); - } - -/*********************************************************************** -Helper Functions -***********************************************************************/ - - void SplitBySemicolon(const WString& input, collections::List& fragments) - { - const wchar_t* attValue = input.Buffer(); - while(*attValue) - { - // split the value by ';' - const wchar_t* attSemicolon = wcschr(attValue, L';'); - WString pattern; - if(attSemicolon) - { - pattern = WString(attValue, vint(attSemicolon - attValue)); - attValue = attSemicolon + 1; - } - else - { - vint len = wcslen(attValue); - pattern = WString(attValue, len); - attValue += len; - } - - fragments.Add(pattern); - } - } - } - } -} - -#undef GET_FACTORY_FROM_TEMPLATE -#undef GET_FACTORY_FROM_TEMPLATE_OPT - /*********************************************************************** .\CONTROLS\TEXTEDITORPACKAGE\LANGUAGESERVICE\GUILANGUAGEAUTOCOMPLETE.CPP ***********************************************************************/ diff --git a/Import/GacUI.h b/Import/GacUI.h index ac8d857b..2855577a 100644 --- a/Import/GacUI.h +++ b/Import/GacUI.h @@ -7967,10 +7967,14 @@ namespace vl { namespace controls { + class GuiSelectableButton; class GuiListControl; + class GuiComboBoxListControl; + class GuiTextList; class GuiControlHost; class GuiCustomControl; class GuiTabPage; + class GuiScroll; /// The visual state for button. enum class ButtonState @@ -7994,6 +7998,15 @@ namespace vl Descending, }; + /// A command executor for the combo box to change the control state. + class ITextBoxCommandExecutor : public virtual IDescriptable, public Description + { + public: + /// Override the text content in the control. + /// The new text content. + virtual void UnsafeSetText(const WString& value) = 0; + }; + /// A command executor for the combo box to change the control state. class IComboBoxCommandExecutor : public virtual IDescriptable, public Description { @@ -8035,6 +8048,26 @@ namespace vl virtual void ShowTab(vint index) = 0; }; + /// A command executor for the style controller to change the control state. + class IDatePickerCommandExecutor : public virtual IDescriptable, public Description + { + public: + /// Called when the date has been changed. + virtual void NotifyDateChanged() = 0; + /// Called when navigated to a date. + virtual void NotifyDateNavigated() = 0; + /// Called when selected a date. + virtual void NotifyDateSelected() = 0; + }; + + /// A command executor for the style controller to change the control state. + class IScrollViewCommandExecutor : public virtual IDescriptable, public Description + { + public: + /// Called when the size of the content has been changed. + virtual void CalculateView() = 0; + }; + class GuiInstanceRootObject; /// @@ -8160,6 +8193,8 @@ Control Template public: GuiControlTemplate(); ~GuiControlTemplate(); + + virtual void Initialize(); #define GuiControlTemplate_PROPERTIES(F)\ F(GuiControlTemplate, compositions::GuiGraphicsComposition*, ContainerComposition)\ @@ -8168,6 +8203,10 @@ Control Template GuiControlTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_DECL) }; +/*********************************************************************** +Basic Controls +***********************************************************************/ + class GuiLabelTemplate :public GuiControlTemplate, public AggregatableDescription { public: @@ -8207,12 +8246,9 @@ Control Template GuiDocumentLabelTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_DECL) }; - class GuiMenuTemplate : public GuiControlTemplate, public AggregatableDescription - { - public: - GuiMenuTemplate(); - ~GuiMenuTemplate(); - }; +/*********************************************************************** +Window +***********************************************************************/ enum class BoolOption { @@ -8243,11 +8279,27 @@ Control Template F(GuiWindowTemplate, bool, CustomizedBorder)\ F(GuiWindowTemplate, bool, Maximized)\ F(GuiWindowTemplate, TemplateProperty, TooltipTemplate)\ - F(GuiWindowTemplate, TemplateProperty, ShortcutKeyTemplate) + F(GuiWindowTemplate, TemplateProperty, ShortcutKeyTemplate)\ + F(GuiWindowTemplate, bool, CustomFrameEnabled) GuiWindowTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_DECL) }; + class GuiMenuTemplate : public GuiWindowTemplate, public AggregatableDescription + { + public: + GuiMenuTemplate(); + ~GuiMenuTemplate(); + +#define GuiMenuTemplate_PROPERTIES(F) + + GuiMenuTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_DECL) + }; + +/*********************************************************************** +Button Controls +***********************************************************************/ + class GuiButtonTemplate : public GuiControlTemplate, public AggregatableDescription { public: @@ -8272,6 +8324,10 @@ Control Template GuiSelectableButtonTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_DECL) }; +/*********************************************************************** +Toolstrip Controls +***********************************************************************/ + class GuiToolstripButtonTemplate : public GuiSelectableButtonTemplate, public AggregatableDescription { public: @@ -8314,6 +8370,10 @@ Control Template GuiComboBoxTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_DECL) }; +/*********************************************************************** +Scroll Controls +***********************************************************************/ + class GuiScrollTemplate : public GuiControlTemplate, public AggregatableDescription { public: @@ -8329,8 +8389,22 @@ Control Template GuiScrollTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_DECL) }; +/*********************************************************************** +Scrollable Controls +***********************************************************************/ + class GuiScrollViewTemplate : public GuiControlTemplate, public AggregatableDescription { + protected: + controls::GuiScroll* horizontalScroll = nullptr; + controls::GuiScroll* verticalScroll = nullptr; + compositions::GuiTableComposition* tableComposition = nullptr; + compositions::GuiCellComposition* containerCellComposition = nullptr; + compositions::GuiBoundsComposition* containerComposition = nullptr; + bool horizontalAlwaysVisible = true; + bool verticalAlwaysVisible = true; + + void UpdateTable(); public: GuiScrollViewTemplate(); ~GuiScrollViewTemplate(); @@ -8339,17 +8413,35 @@ Control Template F(GuiScrollViewTemplate, TemplateProperty, HScrollTemplate)\ F(GuiScrollViewTemplate, TemplateProperty, VScrollTemplate)\ F(GuiScrollViewTemplate, vint, DefaultScrollSize)\ + F(GuiScrollViewTemplate, controls::IScrollViewCommandExecutor*, Commands)\ GuiScrollViewTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_DECL) + + void AdjustView(Size fullSize); + + controls::GuiScroll* GetHorizontalScroll(); + controls::GuiScroll* GetVerticalScroll(); + + bool GetHorizontalAlwaysVisible(); + void SetHorizontalAlwaysVisible(bool value); + bool GetVerticalAlwaysVisible(); + void SetVerticalAlwaysVisible(bool value); + + void Initialize()override; }; class GuiMultilineTextBoxTemplate : public GuiScrollViewTemplate, public AggregatableDescription { + protected: + elements::GuiColorizedTextElement* textElement; + compositions::GuiBoundsComposition* textComposition; + public: GuiMultilineTextBoxTemplate(); ~GuiMultilineTextBoxTemplate(); #define GuiMultilineTextBoxTemplate_PROPERTIES(F)\ + F(GuiMultilineTextBoxTemplate, controls::ITextBoxCommandExecutor*, Commands)\ F(GuiMultilineTextBoxTemplate, elements::text::ColorEntry, TextColor)\ F(GuiMultilineTextBoxTemplate, Color, CaretColor)\ @@ -8369,7 +8461,23 @@ Control Template GuiDocumentViewerTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_DECL) }; - class GuiTextListTemplate : public GuiScrollViewTemplate, public AggregatableDescription +/*********************************************************************** +List Controls +***********************************************************************/ + + class GuiListControlTemplate : public GuiScrollViewTemplate, public Description + { + public: + GuiListControlTemplate(); + ~GuiListControlTemplate(); + +#define GuiListControlTemplate_PROPERTIES(F)\ + F(GuiListControlTemplate, TemplateProperty, BackgroundTemplate)\ + + GuiListControlTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_DECL) + }; + + class GuiTextListTemplate : public GuiListControlTemplate, public AggregatableDescription { public: GuiTextListTemplate(); @@ -8377,21 +8485,19 @@ Control Template #define GuiTextListTemplate_PROPERTIES(F)\ F(GuiTextListTemplate, Color, TextColor)\ - F(GuiTextListTemplate, TemplateProperty, BackgroundTemplate)\ F(GuiTextListTemplate, TemplateProperty, CheckBulletTemplate)\ F(GuiTextListTemplate, TemplateProperty, RadioBulletTemplate)\ GuiTextListTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_DECL) }; - class GuiListViewTemplate : public GuiScrollViewTemplate, public AggregatableDescription + class GuiListViewTemplate : public GuiListControlTemplate, public AggregatableDescription { public: GuiListViewTemplate(); ~GuiListViewTemplate(); #define GuiListViewTemplate_PROPERTIES(F)\ - F(GuiListViewTemplate, TemplateProperty, BackgroundTemplate)\ F(GuiListViewTemplate, TemplateProperty, ColumnHeaderTemplate)\ F(GuiListViewTemplate, Color, PrimaryTextColor)\ F(GuiListViewTemplate, Color, SecondaryTextColor)\ @@ -8400,20 +8506,23 @@ Control Template GuiListViewTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_DECL) }; - class GuiTreeViewTemplate : public GuiScrollViewTemplate, public AggregatableDescription + class GuiTreeViewTemplate : public GuiListControlTemplate, public AggregatableDescription { public: GuiTreeViewTemplate(); ~GuiTreeViewTemplate(); #define GuiTreeViewTemplate_PROPERTIES(F)\ - F(GuiTreeViewTemplate, TemplateProperty, BackgroundTemplate)\ F(GuiTreeViewTemplate, TemplateProperty, ExpandingDecoratorTemplate)\ F(GuiTreeViewTemplate, Color, TextColor)\ GuiTreeViewTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_DECL) }; +/*********************************************************************** +Tab Controls +***********************************************************************/ + class GuiTabTemplate : public GuiControlTemplate, public AggregatableDescription { public: @@ -8428,13 +8537,48 @@ Control Template GuiTabTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_DECL) }; +/*********************************************************************** +Date Controls +***********************************************************************/ + class GuiDatePickerTemplate : public GuiControlTemplate, public AggregatableDescription { + protected: + static const vint DaysOfWeek = 7; + static const vint DayRows = 6; + static const vint DayRowStart = 2; + static const vint YearFirst = 1900; + static const vint YearLast = 2099; + + DateTime currentDate; + Locale dateLocale; + bool preventComboEvent; + bool preventButtonEvent; + + controls::GuiComboBoxListControl* comboYear; + controls::GuiTextList* listYears; + controls::GuiComboBoxListControl* comboMonth; + controls::GuiTextList* listMonths; + collections::Array labelDaysOfWeek; + collections::Array buttonDays; + collections::Array labelDays; + collections::Array dateDays; + + void SetDay(const DateTime& day, vint& index, bool currentMonth); + void DisplayMonth(vint year, vint month); + void SelectDay(vint day); + + void comboYearMonth_SelectedIndexChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments); + void buttonDay_SelectedChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments); + void OnFontChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments); + void UpdateData(const DateTime& value, bool forceUpdate); + public: GuiDatePickerTemplate(); ~GuiDatePickerTemplate(); #define GuiDatePickerTemplate_PROPERTIES(F)\ + F(GuiDatePickerTemplate, controls::IDatePickerCommandExecutor*, Commands)\ F(GuiDatePickerTemplate, TemplateProperty, DateButtonTemplate)\ F(GuiDatePickerTemplate, TemplateProperty, DateTextListTemplate)\ F(GuiDatePickerTemplate, TemplateProperty, DateComboBoxTemplate)\ @@ -8443,6 +8587,16 @@ Control Template F(GuiDatePickerTemplate, Color, SecondaryTextColor)\ GuiDatePickerTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_DECL) + + compositions::GuiNotifyEvent DateLocaleChanged; + compositions::GuiNotifyEvent DateChanged; + + const Locale& GetDateLocale(); + void SetDateLocale(const Locale& value); + const DateTime& GetDate(); + void SetDate(const DateTime& value); + + void Initialize()override; }; class GuiDateComboBoxTemplate : public GuiComboBoxTemplate, public AggregatableDescription @@ -8970,6 +9124,10 @@ namespace vl { namespace presentation { + namespace theme + { + enum class ThemeName; + } namespace controls { @@ -8987,95 +9145,39 @@ Basic Construction class GuiControl : public Object, protected compositions::IGuiAltAction, public Description { friend class compositions::GuiGraphicsComposition; - typedef collections::List ControlList; - public: - /// - /// Represents a style for a control. A style is something like a skin, but contains some default action handlers. - /// - class IStyleController : public virtual IDescriptable, public Description - { - public: - /// Get the bounds composition. A bounds composition represents all visible contents of a control. - /// The bounds composition. - virtual compositions::GuiBoundsComposition* GetBoundsComposition()=0; - /// Get the container composition. A container composition is where to place all bounds compositions for child controls. - /// The container composition. - virtual compositions::GuiGraphicsComposition* GetContainerComposition()=0; - /// Set the focusable composition. A focusable composition is the composition to be focused when the control is focused. - /// The focusable composition. - virtual void SetFocusableComposition(compositions::GuiGraphicsComposition* value)=0; - /// Set the text to display on the control. - /// The text to display. - virtual void SetText(const WString& value)=0; - /// Set the font to render the text. - /// The font to render the text. - virtual void SetFont(const FontProperties& value)=0; - /// Set the enableing state to affect the rendering of the control. - /// The enableing state. - virtual void SetVisuallyEnabled(bool value)=0; - }; - /// - /// An empty style for . - /// - class EmptyStyleController : public Object, public virtual IStyleController, public Description - { - protected: - compositions::GuiBoundsComposition* boundsComposition; - public: - EmptyStyleController(); - ~EmptyStyleController(); + using ControlList = collections::List; + using ControlTemplatePropertyType = TemplateProperty; + private: + theme::ThemeName controlThemeName; + ControlTemplatePropertyType controlTemplate; + templates::GuiControlTemplate* controlTemplateObject = nullptr; - compositions::GuiBoundsComposition* GetBoundsComposition()override; - compositions::GuiGraphicsComposition* GetContainerComposition()override; - void SetFocusableComposition(compositions::GuiGraphicsComposition* value)override; - void SetText(const WString& value)override; - void SetFont(const FontProperties& value)override; - void SetVisuallyEnabled(bool value)override; - }; - - /// - /// A style provider is a callback interface for some control that already provides a style controller, but the controller need callbacks to create sub compositions or handle actions. - /// - class IStyleProvider : public virtual IDescriptable, public Description - { - public: - /// Called when a style provider is associated with a style controller. - /// The style controller that is associated. - virtual void AssociateStyleController(IStyleController* controller)=0; - /// Set the focusable composition. A focusable composition is the composition to be focused when the control is focused. - /// The focusable composition. - virtual void SetFocusableComposition(compositions::GuiGraphicsComposition* value)=0; - /// Set the text to display on the control. - /// The text to display. - virtual void SetText(const WString& value)=0; - /// Set the font to render the text. - /// The font to render the text. - virtual void SetFont(const FontProperties& value)=0; - /// Set the enableing state to affect the rendering of the control. - /// The enableing state. - virtual void SetVisuallyEnabled(bool value)=0; - }; protected: - Ptr styleController; - compositions::GuiBoundsComposition* boundsComposition; - compositions::GuiGraphicsComposition* focusableComposition; - compositions::GuiGraphicsEventReceiver* eventReceiver; + compositions::GuiBoundsComposition* boundsComposition = nullptr; + compositions::GuiBoundsComposition* containerComposition = nullptr; + compositions::GuiGraphicsComposition* focusableComposition = nullptr; + compositions::GuiGraphicsEventReceiver* eventReceiver = nullptr; - bool isEnabled; - bool isVisuallyEnabled; - bool isVisible; + bool isEnabled = true; + bool isVisuallyEnabled = true; + bool isVisible = true; WString alt; WString text; FontProperties font; - compositions::IGuiAltActionHost* activatingAltHost; + compositions::IGuiAltActionHost* activatingAltHost = nullptr; - GuiControl* parent; + GuiControl* parent = nullptr; ControlList children; description::Value tag; - GuiControl* tooltipControl; - vint tooltipWidth; + GuiControl* tooltipControl = nullptr; + vint tooltipWidth = 0; + virtual void BeforeControlTemplateUninstalled(); + virtual void AfterControlTemplateInstalled(bool initialize); + virtual void CheckAndStoreControlTemplate(templates::GuiControlTemplate* value); + virtual void EnsureControlTemplateExists(); + virtual void RebuildControlTemplate(); virtual void OnChildInserted(GuiControl* control); virtual void OnChildRemoved(GuiControl* control); virtual void OnParentChanged(GuiControl* oldParent, GuiControl* newParent); @@ -9094,11 +9196,15 @@ Basic Construction static bool SharedPtrDestructorProc(DescriptableObject* obj, bool forceDisposing); public: + using ControlTemplateType = templates::GuiControlTemplate; + /// Create a control with a specified style controller. - /// The style controller. - GuiControl(IStyleController* _styleController); + /// The theme name for retriving a default control template. + GuiControl(theme::ThemeName themeName); ~GuiControl(); + /// Control template changed event. This event will be raised when the control template is changed. + compositions::GuiNotifyEvent ControlTemplateChanged; /// Render target changed event. This event will be raised when the render target of the control is changed. compositions::GuiNotifyEvent RenderTargetChanged; /// Visible event. This event will be raised when the visibility state of the control is changed. @@ -9120,9 +9226,15 @@ Basic Construction /// A function to create the argument for notify events that raised by itself. /// The created argument. compositions::GuiEventArgs GetNotifyEventArguments(); + /// Get the associated control template. + /// The control template. + ControlTemplatePropertyType GetControlTemplate(); + /// Set the associated control template. + /// The control template. + void SetControlTemplate(const ControlTemplatePropertyType& value); /// Get the associated style controller. /// The associated style controller. - IStyleController* GetStyleController(); + templates::GuiControlTemplate* GetControlTemplateObject(); /// Get the bounds composition for the control. The value is from . /// The bounds composition. compositions::GuiBoundsComposition* GetBoundsComposition(); @@ -9132,9 +9244,6 @@ Basic Construction /// Get the focusable composition for the control. A focusable composition is the composition to be focused when the control is focused. /// The focusable composition. compositions::GuiGraphicsComposition* GetFocusableComposition(); - /// Get the event receiver from the bounds composition. - /// The event receiver. - compositions::GuiGraphicsEventReceiver* GetEventReceiver(); /// Get the parent control. /// The parent control. GuiControl* GetParent(); @@ -9240,8 +9349,8 @@ Basic Construction { public: /// Create a control with a specified style controller. - /// The style controller. - GuiCustomControl(IStyleController* _styleController); + /// The theme name for retriving a default control template. + GuiCustomControl(theme::ThemeName themeName); ~GuiCustomControl(); }; @@ -9260,6 +9369,50 @@ Basic Construction { } }; + +#define GUI_GENERATE_CONTROL_TEMPLATE_OBJECT_NAME_3(UNIQUE) controlTemplateObject ## UNIQUE +#define GUI_GENERATE_CONTROL_TEMPLATE_OBJECT_NAME_2(UNIQUE) GUI_GENERATE_CONTROL_TEMPLATE_OBJECT_NAME_3(UNIQUE) +#define GUI_GENERATE_CONTROL_TEMPLATE_OBJECT_NAME GUI_GENERATE_CONTROL_TEMPLATE_OBJECT_NAME_2(__LINE__) + +#define GUI_SPECIFY_CONTROL_TEMPLATE_TYPE_2(TEMPLATE, BASE_TYPE, NAME) \ + public: \ + using ControlTemplateType = templates::Gui##TEMPLATE; \ + private: \ + templates::Gui##TEMPLATE* NAME = nullptr; \ + void BeforeControlTemplateUninstalled_(); \ + void AfterControlTemplateInstalled_(bool initialize); \ + protected: \ + void BeforeControlTemplateUninstalled()override \ + {\ + BeforeControlTemplateUninstalled_(); \ + BASE_TYPE::BeforeControlTemplateUninstalled(); \ + }\ + void AfterControlTemplateInstalled(bool initialize)override \ + {\ + BASE_TYPE::AfterControlTemplateInstalled(initialize); \ + AfterControlTemplateInstalled_(initialize); \ + }\ + void CheckAndStoreControlTemplate(templates::GuiControlTemplate* value)override \ + { \ + auto ct = dynamic_cast(value); \ + CHECK_ERROR(ct, L"The assigned control template is not vl::presentation::templates::Gui" L ## # TEMPLATE L"."); \ + NAME = ct; \ + BASE_TYPE::CheckAndStoreControlTemplate(value); \ + } \ + bool HasControlTemplateObject() \ + { \ + return NAME != nullptr; \ + } \ + public: \ + templates::Gui##TEMPLATE* GetControlTemplateObject() \ + { \ + EnsureControlTemplateExists(); \ + return NAME; \ + } \ + private: \ + +#define GUI_SPECIFY_CONTROL_TEMPLATE_TYPE(TEMPLATE, BASE_TYPE) GUI_SPECIFY_CONTROL_TEMPLATE_TYPE_2(TEMPLATE, BASE_TYPE, GUI_GENERATE_CONTROL_TEMPLATE_OBJECT_NAME) + } } } @@ -9296,21 +9449,12 @@ Buttons /// A control with 3 phases state transffering when mouse click happens. class GuiButton : public GuiControl, public Description { - public: - /// Style controller interface for . - class IStyleController : virtual public GuiControl::IStyleController, public Description - { - public: - /// Called when the control state changed. - /// The new control state. - virtual void Transfer(ButtonState value) = 0; - }; + GUI_SPECIFY_CONTROL_TEMPLATE_TYPE(ButtonTemplate, GuiControl) protected: - IStyleController* styleController; - bool clickOnMouseUp; - bool mousePressing; - bool mouseHoving; - ButtonState controlState; + bool clickOnMouseUp = true; + bool mousePressing = false; + bool mouseHoving = false; + ButtonState controlState = ButtonState::Normal; void OnParentLineChanged()override; void OnActiveAlt()override; @@ -9321,8 +9465,8 @@ Buttons void OnMouseLeave(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments); public: /// Create a control with a specified style controller. - /// The style controller. - GuiButton(IStyleController* _styleController); + /// The theme name for retriving a default control template. + GuiButton(theme::ThemeName themeName); ~GuiButton(); /// Mouse click event. @@ -9339,16 +9483,8 @@ Buttons /// A with a selection state. class GuiSelectableButton : public GuiButton, public Description { + GUI_SPECIFY_CONTROL_TEMPLATE_TYPE(SelectableButtonTemplate, GuiButton) public: - /// Style controller interface for . - class IStyleController : public virtual GuiButton::IStyleController, public Description - { - public: - /// Called when the selection state changed. - /// The new control state. - virtual void SetSelected(bool value) = 0; - }; - /// Selection group controller. Control the selection state of all attached button. class GroupController : public GuiComponent, public Description { @@ -9382,16 +9518,15 @@ Buttons }; protected: - IStyleController* styleController; - GroupController* groupController; - bool autoSelection; - bool isSelected; + GroupController* groupController = nullptr; + bool autoSelection = true; + bool isSelected = false; void OnClicked(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments); public: /// Create a control with a specified style controller. - /// The style controller. - GuiSelectableButton(IStyleController* _styleController); + /// The theme name for retriving a default control template. + GuiSelectableButton(theme::ThemeName themeName); ~GuiSelectableButton(); /// Group controller changed event. @@ -9788,25 +9923,15 @@ Label /// A control to display a text. class GuiLabel : public GuiControl, public Description { - public: - /// Style controller interface for . - class IStyleController : virtual public GuiControl::IStyleController, public Description - { - public: - /// Get the default text color. - /// The default text color. - virtual Color GetDefaultTextColor() = 0; - /// Called when the text color changed. - /// The new text color. - virtual void SetTextColor(Color value) = 0; - }; + GUI_SPECIFY_CONTROL_TEMPLATE_TYPE(LabelTemplate, GuiControl) protected: Color textColor; - IStyleController* styleController; + bool textColorConsisted = true; + public: /// Create a control with a specified style controller. - /// The style controller. - GuiLabel(IStyleController* _styleController); + /// The theme name for retriving a default control template. + GuiLabel(theme::ThemeName themeName); ~GuiLabel(); /// Get the text color. @@ -9853,24 +9978,7 @@ Scrolls /// A scroll control, which represents a one dimension sub range of a whole range. class GuiScroll : public GuiControl, public Description { - public: - /// Style controller interface for . - class IStyleController : public virtual GuiControl::IStyleController, public Description - { - public: - /// Called when the command executor is changed. - /// The command executor. - virtual void SetCommandExecutor(IScrollCommandExecutor* value)=0; - /// Called when the total size is changed. - /// The total size. - virtual void SetTotalSize(vint value)=0; - /// Called when the page size is changed. - /// The page size. - virtual void SetPageSize(vint value)=0; - /// Called when the position is changed. - /// The position. - virtual void SetPosition(vint value)=0; - }; + GUI_SPECIFY_CONTROL_TEMPLATE_TYPE(ScrollTemplate, GuiControl) protected: class CommandExecutor : public Object, public IScrollCommandExecutor { @@ -9890,17 +9998,16 @@ Scrolls void SetPosition(vint value)override; }; - IStyleController* styleController; Ptr commandExecutor; - vint totalSize; - vint pageSize; - vint position; - vint smallMove; - vint bigMove; + vint totalSize = 100; + vint pageSize = 10; + vint position = 0; + vint smallMove = 1; + vint bigMove = 10; public: /// Create a control with a specified style controller. - /// The style controller. - GuiScroll(IStyleController* _styleController); + /// The theme name for retriving a default control template. + GuiScroll(theme::ThemeName themeName); ~GuiScroll(); /// Total size changed event. @@ -9991,15 +10098,14 @@ Tab Control class GuiTabPage : public GuiCustomControl, public AggregatableDescription { friend class GuiTabPageList; - friend class GuiTab; protected: GuiTab* tab = nullptr; bool IsAltAvailable()override; public: /// Create a tab page control with a specified style controller. - /// The style controller. - GuiTabPage(IStyleController* _styleController); + /// The theme name for retriving a default control template. + GuiTabPage(theme::ThemeName themeName); ~GuiTabPage(); GuiTab* GetOwnerTab(); @@ -10021,24 +10127,8 @@ Tab Control /// Represents a container with multiple named tabs. class GuiTab : public GuiControl, public Description { - friend class GuiTabPage; + GUI_SPECIFY_CONTROL_TEMPLATE_TYPE(TabTemplate, GuiControl) friend class GuiTabPageList; - public: - - /// Style controller interface for . - class IStyleController : public virtual GuiControl::IStyleController, public Description - { - public: - /// Called when the command executor is changed. - /// The command executor. - virtual void SetCommandExecutor(ITabCommandExecutor* value) = 0; - /// Called when the tab page list is changed. - /// The tab page list. - virtual void SetTabPages(Ptr value) = 0; - /// Render a tab header at the specified position as selected. - /// The specified position. - virtual void SetSelectedTabPage(GuiTabPage* value) = 0; - }; protected: class CommandExecutor : public Object, public ITabCommandExecutor { @@ -10052,13 +10142,12 @@ Tab Control }; Ptr commandExecutor; - IStyleController* styleController = nullptr; GuiTabPageList tabPages; GuiTabPage* selectedPage = nullptr; public: /// Create a control with a specified style controller. - /// The style controller. - GuiTab(IStyleController* _styleController); + /// The theme name for retriving a default control template. + GuiTab(theme::ThemeName themeName); ~GuiTab(); /// Selected page changed event. @@ -10084,92 +10173,30 @@ Scroll View /// A control with a vertical scroll bar and a horizontal scroll bar to perform partial viewing. class GuiScrollView : public GuiControl, public Description { - public: - /// Style provider interface for . - class IStyleProvider : public virtual GuiControl::IStyleProvider, public Description - { - public: - /// Create a control style for the horizontal scroll bar. - /// The created control style for the horizontal scroll bar. - virtual GuiScroll::IStyleController* CreateHorizontalScrollStyle()=0; - /// Create a control style for the vertical scroll bar. - /// The created control style for the vertical scroll bar. - virtual GuiScroll::IStyleController* CreateVerticalScrollStyle()=0; - /// Get the default scroll size for scroll bars, width for vertical, height for horizontal. - /// The default scroll size. - virtual vint GetDefaultScrollSize()=0; - /// Called when the control begins to initialize. The control pass the bounds composition, and the style provider can put background compositions and elements on it, and return a container composition to contain content and scroll bars. - /// A container composition to contain content and scroll bars - /// The bounds composition to install background. - virtual compositions::GuiGraphicsComposition* InstallBackground(compositions::GuiBoundsComposition* boundsComposition)=0; - }; - - /// Style controller for . - class StyleController : public Object, public GuiControl::IStyleController, public Description + GUI_SPECIFY_CONTROL_TEMPLATE_TYPE(ScrollViewTemplate, GuiControl) + + using IEventHandler = compositions::IGuiGraphicsEventHandler; + protected: + class CommandExecutor : public Object, public IScrollViewCommandExecutor { protected: - Ptr styleProvider; - GuiScrollView* scrollView; - GuiScroll* horizontalScroll; - GuiScroll* verticalScroll; - compositions::GuiBoundsComposition* boundsComposition; - compositions::GuiTableComposition* tableComposition; - compositions::GuiCellComposition* containerCellComposition; - compositions::GuiBoundsComposition* containerComposition; - bool horizontalAlwaysVisible; - bool verticalAlwaysVisible; + GuiScrollView* scrollView; - void UpdateTable(); public: - /// Create a style controller with a specified style provider. - /// The style provider. - StyleController(IStyleProvider* _styleProvider); - ~StyleController(); + CommandExecutor(GuiScrollView* _scrollView); + ~CommandExecutor(); - /// Called when the style controller is attched to a . - /// The scroll view control that attached to. - void SetScrollView(GuiScrollView* _scrollView); - /// Called when the view size of the scroll view changed. Scroll bars will be adjusted. - /// The view size. - void AdjustView(Size fullSize); - /// Get the attached style provider. - /// The attached style provider. - IStyleProvider* GetStyleProvider(); - - /// Get the horizontal scroll control. - /// The horizontal scroll control. - GuiScroll* GetHorizontalScroll(); - /// Get the vertical scroll control. - /// The vertical scroll control. - GuiScroll* GetVerticalScroll(); - - compositions::GuiTableComposition* GetInternalTableComposition(); - compositions::GuiBoundsComposition* GetInternalContainerComposition(); - - /// Test is the horizontal scroll bar always visible even the content doesn't exceed the view bounds. - /// Returns true if the horizontal scroll bar always visible even the content doesn't exceed the view bounds - bool GetHorizontalAlwaysVisible(); - /// Set is the horizontal scroll bar always visible even the content doesn't exceed the view bounds. - /// Set to true if the horizontal scroll bar always visible even the content doesn't exceed the view bounds - void SetHorizontalAlwaysVisible(bool value); - /// Test is the vertical scroll bar always visible even the content doesn't exceed the view bounds. - /// Returns true if the vertical scroll bar always visible even the content doesn't exceed the view bounds - bool GetVerticalAlwaysVisible(); - /// Set is the vertical scroll bar always visible even the content doesn't exceed the view bounds. - /// Set to true if the vertical scroll bar always visible even the content doesn't exceed the view bounds - void SetVerticalAlwaysVisible(bool value); - - compositions::GuiBoundsComposition* GetBoundsComposition()override; - compositions::GuiGraphicsComposition* GetContainerComposition()override; - void SetFocusableComposition(compositions::GuiGraphicsComposition* value)override; - void SetText(const WString& value)override; - void SetFont(const FontProperties& value)override; - void SetVisuallyEnabled(bool value)override; + void CalculateView()override; }; - protected: - StyleController* styleController; + Ptr commandExecutor; bool supressScrolling; + Ptr hScrollHandler; + Ptr vScrollHandler; + Ptr hWheelHandler; + Ptr vWheelHandler; + bool horizontalAlwaysVisible = true; + bool verticalAlwaysVisible = true; void OnContainerBoundsChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments); void OnHorizontalScroll(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments); @@ -10177,7 +10204,6 @@ Scroll View void OnHorizontalWheel(compositions::GuiGraphicsComposition* sender, compositions::GuiMouseEventArgs& arguments); void OnVerticalWheel(compositions::GuiGraphicsComposition* sender, compositions::GuiMouseEventArgs& arguments); void CallUpdateView(); - void Initialize(); /// Calculate the full size of the content. /// The full size of the content. @@ -10192,13 +10218,10 @@ Scroll View /// The big move of the scroll bar. virtual Size GetBigMove(); - /// Create a control with a specified style controller. - /// The style controller. - GuiScrollView(StyleController* _styleController); public: /// Create a control with a specified style provider. - /// The style provider. - GuiScrollView(IStyleProvider* styleProvider); + /// The theme name for retriving a default control template. + GuiScrollView(theme::ThemeName themeName); ~GuiScrollView(); virtual void SetFont(const FontProperties& value); @@ -10235,42 +10258,16 @@ Scroll View /// A control container with a vertical scroll bar and a horizontal scroll bar to perform partial viewing. When controls are added, removed, moved or resized, the scroll bars will adjust automatically. class GuiScrollContainer : public GuiScrollView, public Description { - public: - /// Style controller for . - class StyleController : public GuiScrollView::StyleController, public Description - { - protected: - compositions::GuiBoundsComposition* controlContainerComposition; - bool extendToFullWidth; - public: - /// Create a style controller with a specified style provider. - /// The style provider. - StyleController(GuiScrollView::IStyleProvider* styleProvider); - ~StyleController(); - - compositions::GuiGraphicsComposition* GetContainerComposition()override; - /// Update sub controls using a specified left-top position of the view bounds. - /// The specified left-top position of the view bounds. - void MoveContainer(Point leftTop); - - /// Test does the content container always extend its width to fill the scroll container. - /// Return true if the content container always extend its width to fill the scroll container. - bool GetExtendToFullWidth(); - /// Set does the content container always extend its width to fill the scroll container. - /// Set to true if the content container always extend its width to fill the scroll container. - void SetExtendToFullWidth(bool value); - }; - protected: - StyleController* styleController; + bool extendToFullWidth = false; + bool extendToFullHeight = false; - void OnControlContainerBoundsChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments); Size QueryFullSize()override; void UpdateView(Rect viewBounds)override; public: /// Create a control with a specified style provider. - /// The style provider. - GuiScrollContainer(GuiScrollContainer::IStyleProvider* styleProvider); + /// The theme name for retriving a default control template. + GuiScrollContainer(theme::ThemeName themeName); ~GuiScrollContainer(); /// Test does the content container always extend its width to fill the scroll container. @@ -10279,6 +10276,13 @@ Scroll View /// Set does the content container always extend its width to fill the scroll container. /// Set to true if the content container always extend its width to fill the scroll container. void SetExtendToFullWidth(bool value); + + /// Test does the content container always extend its height to fill the scroll container. + /// Return true if the content container always extend its height to fill the scroll container. + bool GetExtendToFullHeight(); + /// Set does the content container always extend its height to fill the scroll container. + /// Set to true if the content container always extend its height to fill the scroll container. + void SetExtendToFullHeight(bool value); }; } } @@ -10348,8 +10352,8 @@ Control Host void Destroying()override; public: /// Create a control with a specified style controller. - /// The style controller. - GuiControlHost(GuiControl::IStyleController* _styleController); + /// The theme name for retriving a default control template. + GuiControlHost(theme::ThemeName themeName); ~GuiControlHost(); /// Window got focus event. @@ -10494,125 +10498,18 @@ Window /// class GuiWindow : public GuiControlHost, protected compositions::IGuiAltActionHost, public AggregatableDescription { + GUI_SPECIFY_CONTROL_TEMPLATE_TYPE(WindowTemplate, GuiControlHost) friend class GuiApplication; - public: - /// Style controller interface for . - class IStyleController : virtual public GuiControl::IStyleController, public Description - { - public: - /// Called when the style controller is attached to the window. - /// The window. - virtual void AttachWindow(GuiWindow* _window)=0; - /// Initialize visual properties of the window. This callback is for some window template that don't need the standard window border. - virtual void InitializeNativeWindowProperties()=0; - /// - /// Update the size state. - /// - /// The new border size. - virtual void SetSizeState(INativeWindow::WindowSizeState value)=0; - /// - /// Test is the maximize box visible. - /// - /// Returns true if the maximize box is visible. - virtual bool GetMaximizedBox()=0; - /// - /// Make the maximize box visible or invisible. - /// - /// True to make the maximize box visible. - virtual void SetMaximizedBox(bool visible)=0; - /// - /// Test is the minimize box visible. - /// - /// Returns true if the minimize box is visible. - virtual bool GetMinimizedBox()=0; - /// - /// Make the minimize box visible or invisible. - /// - /// True to make the minimize box visible. - virtual void SetMinimizedBox(bool visible)=0; - /// - /// Test is the border visible. - /// - /// Returns true if the border is visible. - virtual bool GetBorder()=0; - /// - /// Make the border visible or invisible. - /// - /// True to make the border visible. - virtual void SetBorder(bool visible)=0; - /// - /// Test is the size box visible. - /// - /// Returns true if the size box is visible. - virtual bool GetSizeBox()=0; - /// - /// Make the size box visible or invisible. - /// - /// True to make the size box visible. - virtual void SetSizeBox(bool visible)=0; - /// - /// Test is the icon visible. - /// - /// Returns true if the icon is visible. - virtual bool GetIconVisible()=0; - /// - /// Make the icon visible or invisible. - /// - /// True to make the icon visible. - virtual void SetIconVisible(bool visible)=0; - /// - /// Test is the title bar visible. - /// - /// Returns true if the title bar is visible. - virtual bool GetTitleBar()=0; - /// - /// Make the title bar visible or invisible. - /// - /// True to make the title bar visible. - virtual void SetTitleBar(bool visible)=0; - /// - /// Create a control style for tooltip control. - /// - /// Returns the control style. Returns null for default control style. - virtual IStyleController* CreateTooltipStyle() = 0; - /// - /// Create a control style for shortcut key label control. - /// - /// Returns the control style. Returns null for default control style. - virtual GuiLabel::IStyleController* CreateShortcutKeyStyle() = 0; - }; - - /// Style controller with default behavior for . - class DefaultBehaviorStyleController : virtual public IStyleController - { - protected: - GuiWindow* window; - public: - DefaultBehaviorStyleController(); - ~DefaultBehaviorStyleController(); - - void AttachWindow(GuiWindow* _window)override; - void InitializeNativeWindowProperties()override; - void SetSizeState(INativeWindow::WindowSizeState value)override; - bool GetMaximizedBox()override; - void SetMaximizedBox(bool visible)override; - bool GetMinimizedBox()override; - void SetMinimizedBox(bool visible)override; - bool GetBorder()override; - void SetBorder(bool visible)override; - bool GetSizeBox()override; - void SetSizeBox(bool visible)override; - bool GetIconVisible()override; - void SetIconVisible(bool visible)override; - bool GetTitleBar()override; - void SetTitleBar(bool visible)override; - IStyleController* CreateTooltipStyle()override; - GuiLabel::IStyleController* CreateShortcutKeyStyle()override; - }; protected: - IStyleController* styleController; compositions::IGuiAltActionHost* previousAltHost; + bool hasMaximizedBox = true; + bool hasMinimizedBox = true; + bool hasBorder = true; + bool hasSizeBox = true; + bool isIconVisible = true; + bool hasTitleBar = true; + void SyncNativeWindowProperties(); void Moved()override; void OnNativeWindowChanged()override; void OnVisualStatusChanged()override; @@ -10625,8 +10522,8 @@ Window void CollectAltActions(collections::Group& actions)override; public: /// Create a control with a specified style controller. - /// The style controller. - GuiWindow(IStyleController* _styleController); + /// The theme name for retriving a default control template. + GuiWindow(theme::ThemeName themeName); ~GuiWindow(); IDescriptable* QueryService(const WString& identifier)override; @@ -10731,8 +10628,8 @@ Window void PopupClosed(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments); public: /// Create a control with a specified style controller. - /// The style controller. - GuiPopup(IStyleController* _styleController); + /// The theme name for retriving a default control template. + GuiPopup(theme::ThemeName themeName); ~GuiPopup(); /// Test will the whole popup window be in the screen if the popup's left-top position is set to a specified value. @@ -10769,8 +10666,8 @@ Window void TooltipClosed(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments); public: /// Create a control with a specified style controller. - /// The style controller. - GuiTooltip(IStyleController* _styleController); + /// The theme name for retriving a default control template. + GuiTooltip(theme::ThemeName themeName); ~GuiTooltip(); /// Get the preferred content width. @@ -11047,21 +10944,13 @@ List Control /// Represents a list control. A list control automatically read data sources and creates corresponding data item control from the item template. class GuiListControl : public GuiScrollView, public Description { + GUI_SPECIFY_CONTROL_TEMPLATE_TYPE(ListControlTemplate, GuiScrollView) public: class IItemProvider; using ItemStyle = templates::GuiListItemTemplate; using ItemStyleProperty = TemplateProperty; - /// Style provider interface for . - class IStyleProvider : public virtual GuiScrollView::IStyleProvider, public Description - { - public: - /// Create a style controller for an item background. The selection state is used to render the selection state of an item. - /// The created style controller for an item background. - virtual GuiSelectableButton::IStyleController* CreateItemBackground() = 0; - }; - //----------------------------------------------------------- // Callback Interfaces //----------------------------------------------------------- @@ -11251,7 +11140,6 @@ List Control // State management //----------------------------------------------------------- - IStyleProvider* styleProvider; Ptr callback; Ptr itemProvider; ItemStyleProperty itemStyleProperty; @@ -11304,10 +11192,10 @@ List Control void DetachItemEvents(ItemStyle* style); public: /// Create a control with a specified style provider. - /// The style provider. + /// The theme name for retriving a default control template. /// The item provider as a data source. /// Set to true if the list control is allowed to have a keyboard focus. - GuiListControl(IStyleProvider* _styleProvider, IItemProvider* _itemProvider, bool acceptFocus=false); + GuiListControl(theme::ThemeName themeName, IItemProvider* _itemProvider, bool acceptFocus=false); ~GuiListControl(); /// Style provider changed event. @@ -11344,9 +11232,6 @@ List Control /// Item mouse leave event. compositions::GuiItemNotifyEvent ItemMouseLeave; - /// Get the style provider for this control. - /// The style provider for this control. - IStyleProvider* GetListControlStyleProvider(); /// Get the item provider. /// The item provider. virtual IItemProvider* GetItemProvider(); @@ -11413,9 +11298,9 @@ Selectable List Control void OnKeyDown(compositions::GuiGraphicsComposition* sender, compositions::GuiKeyEventArgs& arguments); public: /// Create a control with a specified style provider. - /// The style provider. + /// The theme name for retriving a default control template. /// The item provider as a data source. - GuiSelectableListControl(IStyleProvider* _styleProvider, IItemProvider* _itemProvider); + GuiSelectableListControl(theme::ThemeName themeName, IItemProvider* _itemProvider); ~GuiSelectableListControl(); /// Selection changed event. @@ -11732,13 +11617,13 @@ DefaultTextListItemTemplate class DefaultTextListItemTemplate : public templates::GuiTextListItemTemplate { protected: - using BulletStyle = GuiSelectableButton::IStyleController; + using BulletStyle = templates::GuiControlTemplate; GuiSelectableButton* bulletButton = nullptr; elements::GuiSolidLabelElement* textElement = nullptr; bool supressEdit = false; - virtual BulletStyle* CreateBulletStyle(); + virtual TemplateProperty CreateBulletStyle(); void OnInitialize()override; void OnFontChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments); void OnTextChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments); @@ -11753,14 +11638,14 @@ DefaultTextListItemTemplate class DefaultCheckTextListItemTemplate : public DefaultTextListItemTemplate { protected: - BulletStyle* CreateBulletStyle()override; + TemplateProperty CreateBulletStyle()override; public: }; class DefaultRadioTextListItemTemplate : public DefaultTextListItemTemplate { protected: - BulletStyle* CreateBulletStyle()override; + TemplateProperty CreateBulletStyle()override; public: }; @@ -11847,40 +11732,21 @@ GuiVirtualTextList /// Text list control in virtual mode. class GuiVirtualTextList : public GuiSelectableListControl, public Description { - public: - /// Style provider interface for . - class IStyleProvider : public virtual GuiSelectableListControl::IStyleProvider, public Description - { - public: - /// Get the text color. - /// The text color. - virtual Color GetTextColor()=0; - /// Create a style controller for displaying a check box in front of a text item. - /// The created style controller for displaying a check box in front of a text item. - virtual GuiSelectableButton::IStyleController* CreateCheckBulletStyle() = 0; - /// Create a style controller for displaying a radio button in front of a text item. - /// The created style controller for displaying a radio button in front of a text item. - virtual GuiSelectableButton::IStyleController* CreateRadioBulletStyle() = 0; - }; + GUI_SPECIFY_CONTROL_TEMPLATE_TYPE(TextListTemplate, GuiSelectableListControl) protected: - IStyleProvider* styleProvider; TextListView view = TextListView::Unknown; void OnStyleInstalled(vint itemIndex, ItemStyle* style)override; void OnItemTemplateChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments); public: /// Create a Text list control in virtual mode. - /// The style provider for this control. + /// The control template for this control. /// The item provider for this control. - GuiVirtualTextList(IStyleProvider* _styleProvider, GuiListControl::IItemProvider* _itemProvider); + GuiVirtualTextList(theme::ThemeName themeName, GuiListControl::IItemProvider* _itemProvider); ~GuiVirtualTextList(); /// Item checked changed event. compositions::GuiItemNotifyEvent ItemChecked; - - /// Get the style provider for this control. - /// The style provider for this control. - IStyleProvider* GetTextListStyleProvider(); /// Get the current view. /// The current view. After [M:vl.presentation.controls.GuiListControl.SetItemTemplate] is called, the current view is reset to Unknown. @@ -11901,8 +11767,8 @@ GuiTextList list::TextItemProvider* items; public: /// Create a Text list control. - /// The style provider for this control. - GuiTextList(IStyleProvider* _styleProvider); + /// The control template for this control. + GuiTextList(theme::ThemeName themeName); ~GuiTextList(); /// Get all text items. @@ -12243,6 +12109,7 @@ GuiVirtualTreeListControl /// Tree list control in virtual node. class GuiVirtualTreeListControl : public GuiSelectableListControl, protected virtual tree::INodeProviderCallback, public Description { + GUI_SPECIFY_CONTROL_TEMPLATE_TYPE(TreeViewTemplate, GuiSelectableListControl) protected: void OnAttached(tree::INodeRootProvider* provider)override; void OnBeforeItemModified(tree::INodeProvider* parentNode, vint start, vint count, vint newCount)override; @@ -12259,9 +12126,9 @@ GuiVirtualTreeListControl void OnNodeLeftButtonDoubleClick(compositions::GuiGraphicsComposition* sender, compositions::GuiNodeMouseEventArgs& arguments); public: /// Create a tree list control in virtual mode. - /// The style provider for this control. + /// The control template for this control. /// The node root provider for this control. - GuiVirtualTreeListControl(IStyleProvider* _styleProvider, Ptr _nodeRootProvider); + GuiVirtualTreeListControl(theme::ThemeName themeName, Ptr _nodeRootProvider); ~GuiVirtualTreeListControl(); /// Node left mouse button down event. @@ -12378,20 +12245,7 @@ GuiVirtualTreeView /// Tree view control in virtual mode. class GuiVirtualTreeView : public GuiVirtualTreeListControl, public Description { - public: - /// Style provider interface for . - class IStyleProvider : public virtual GuiVirtualTreeListControl::IStyleProvider, public Description - { - public: - /// Create a style controller for an item expanding decorator. The selection state is used to render the expanding state of a node - /// The created style controller for an item expanding decorator. - virtual GuiSelectableButton::IStyleController* CreateItemExpandingDecorator()=0; - /// Get the text color. - /// The text color. - virtual Color GetTextColor()=0; - }; protected: - IStyleProvider* styleProvider = nullptr; tree::ITreeViewItemView* treeViewItemView = nullptr; templates::GuiTreeItemTemplate* GetStyleFromNode(tree::INodeProvider* node); @@ -12403,14 +12257,10 @@ GuiVirtualTreeView void OnStyleInstalled(vint itemIndex, ItemStyle* style)override; public: /// Create a tree view control in virtual mode. A [T:vl.presentation.controls.tree.TreeViewNodeItemStyleProvider] is created as a node item style provider by default. - /// The style provider for this control. + /// The control template for this control. /// The node root provider for this control. - GuiVirtualTreeView(IStyleProvider* _styleProvider, Ptr _nodeRootProvider); + GuiVirtualTreeView(theme::ThemeName themeName, Ptr _nodeRootProvider); ~GuiVirtualTreeView(); - - /// Get the style provider for this control. - /// The style provider for this control. - IStyleProvider* GetTreeViewStyleProvider(); }; /*********************************************************************** @@ -12424,8 +12274,8 @@ GuiTreeView Ptr nodes; public: /// Create a tree view control. - /// The style provider for this control. - GuiTreeView(IStyleProvider* _styleProvider); + /// The control template for this control. + GuiTreeView(theme::ThemeName themeName); ~GuiTreeView(); /// Get the as a node root providerl. @@ -12683,7 +12533,7 @@ GuiTextBoxAutoCompleteBase GuiTextList* autoCompleteList; public: - TextListControlProvider(GuiTextList::IStyleProvider* styleProvider = nullptr); + TextListControlProvider(TemplateProperty controlTemplate = {}); ~TextListControlProvider(); GuiControl* GetAutoCompleteControl()override; @@ -13152,14 +13002,13 @@ GuiDocumentCommonInterface }; protected: Ptr baselineDocument; - Color caretColor; DocumentItemMap documentItems; - GuiControl* documentControl; - elements::GuiDocumentElement* documentElement; - compositions::GuiBoundsComposition* documentComposition; + GuiControl* documentControl = nullptr; + elements::GuiDocumentElement* documentElement = nullptr; + compositions::GuiBoundsComposition* documentComposition = nullptr; Ptr activeHyperlinks; - bool dragging; - EditMode editMode; + bool dragging = false; + EditMode editMode = EditMode::ViewOnly; Ptr undoRedoProcessor; Ptr internalShortcutKeyManager; @@ -13170,7 +13019,7 @@ GuiDocumentCommonInterface void UpdateCaretPoint(); void Move(TextPos caret, bool shift, bool frontSide); bool ProcessKey(vint code, bool shift, bool ctrl); - void InstallDocumentViewer(GuiControl* _sender, compositions::GuiGraphicsComposition* _container); + void InstallDocumentViewer(GuiControl* _sender, compositions::GuiGraphicsComposition* _container, compositions::GuiGraphicsComposition* eventComposition, compositions::GuiGraphicsComposition* focusableComposition); void SetActiveHyperlink(Ptr package); void ActivateActiveHyperlink(bool activate); void AddShortcutCommand(vint key, const Func& eventHandler); @@ -13198,7 +13047,7 @@ GuiDocumentCommonInterface void OnFinishRender()override; Size OnRenderEmbeddedObject(const WString& name, const Rect& location)override; public: - GuiDocumentCommonInterface(Ptr _baselineDocument, Color _caretColor = {}); + GuiDocumentCommonInterface(); ~GuiDocumentCommonInterface(); /// Active hyperlink changed event. @@ -13425,26 +13274,15 @@ GuiDocumentViewer /// Scrollable document viewer for displaying . class GuiDocumentViewer : public GuiScrollContainer, public GuiDocumentCommonInterface, public Description { - public: - /// Style provider interface for . - class IStyleProvider : public virtual GuiScrollContainer::IStyleProvider, public Description - { - public: - /// Get a baseline document for customize default styles. - /// The baseline document. - virtual Ptr GetBaselineDocument() = 0; - /// Get the caret color. - /// The caret color. - virtual Color GetCaretColor() = 0; - }; + GUI_SPECIFY_CONTROL_TEMPLATE_TYPE(DocumentViewerTemplate, GuiScrollContainer) protected: Point GetDocumentViewPosition()override; void EnsureRectVisible(Rect bounds)override; public: /// Create a control with a specified style provider. - /// The style provider. - GuiDocumentViewer(GuiDocumentViewer::IStyleProvider* styleProvider); + /// The theme name for retriving a default control template. + GuiDocumentViewer(theme::ThemeName themeName); ~GuiDocumentViewer(); const WString& GetText()override; @@ -13458,22 +13296,11 @@ GuiDocumentViewer /// Static document viewer for displaying . class GuiDocumentLabel : public GuiControl, public GuiDocumentCommonInterface, public Description { - public: - /// Style controller interface for . - class IStyleController : public virtual GuiControl::IStyleController, public Description - { - public: - /// Get a baseline document for customize default styles. - /// The baseline document. - virtual Ptr GetBaselineDocument() = 0; - /// Get the caret color. - /// The caret color. - virtual Color GetCaretColor() = 0; - }; + GUI_SPECIFY_CONTROL_TEMPLATE_TYPE(DocumentLabelTemplate, GuiControl) public: /// Create a control with a specified style controller. - /// The style controller. - GuiDocumentLabel(GuiDocumentLabel::IStyleController* styleController); + /// The theme name for retriving a default control template. + GuiDocumentLabel(theme::ThemeName themeName); ~GuiDocumentLabel(); const WString& GetText()override; @@ -13585,7 +13412,7 @@ Common Interface protected: - void Install(elements::GuiColorizedTextElement* _textElement, compositions::GuiGraphicsComposition* _textComposition, GuiControl* _textControl); + void Install(elements::GuiColorizedTextElement* _textElement, compositions::GuiGraphicsComposition* _textComposition, GuiControl* _textControl, compositions::GuiGraphicsComposition* eventComposition, compositions::GuiGraphicsComposition* focusableComposition); ICallback* GetCallback(); void SetCallback(ICallback* value); bool AttachTextEditCallback(Ptr value); @@ -13789,31 +13616,20 @@ MultilineTextBox /// Multiline text box control. class GuiMultilineTextBox : public GuiScrollView, public GuiTextBoxCommonInterface, public Description { + GUI_SPECIFY_CONTROL_TEMPLATE_TYPE(MultilineTextBoxTemplate, GuiScrollView) public: static const vint TextMargin=3; - class StyleController : public GuiScrollView::StyleController, public Description + class CommandExecutor : public Object, public ITextBoxCommandExecutor { protected: - elements::GuiColorizedTextElement* textElement; - compositions::GuiBoundsComposition* textComposition; - GuiMultilineTextBox* textBox; - Ptr defaultCallback; + GuiMultilineTextBox* textBox; public: - StyleController(GuiScrollView::IStyleProvider* styleProvider); - ~StyleController(); + CommandExecutor(GuiMultilineTextBox* _textBox); + ~CommandExecutor(); - void Initialize(GuiMultilineTextBox* control); - elements::GuiColorizedTextElement* GetTextElement(); - compositions::GuiGraphicsComposition* GetTextComposition(); - void SetViewPosition(Point value); - void SetFocusableComposition(compositions::GuiGraphicsComposition* value)override; - - WString GetText(); - void SetText(const WString& value)override; - void SetFont(const FontProperties& value)override; - void SetVisuallyEnabled(bool value)override; + void UnsafeSetText(const WString& value)override; }; protected: @@ -13821,7 +13637,6 @@ MultilineTextBox { protected: GuiMultilineTextBox* textControl; - StyleController* textController; public: TextElementOperatorCallback(GuiMultilineTextBox* _textControl); @@ -13831,17 +13646,21 @@ MultilineTextBox }; protected: - StyleController* styleController; + Ptr callback; + Ptr commandExecutor; + elements::GuiColorizedTextElement* textElement = nullptr; + compositions::GuiBoundsComposition* textComposition = nullptr; void CalculateViewAndSetScroll(); void OnRenderTargetChanged(elements::IGuiGraphicsRenderTarget* renderTarget)override; Size QueryFullSize()override; void UpdateView(Rect viewBounds)override; + void OnVisuallyEnabledChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments); void OnBoundsMouseButtonDown(compositions::GuiGraphicsComposition* sender, compositions::GuiMouseEventArgs& arguments); public: /// Create a control with a specified style provider. - /// The style provider. - GuiMultilineTextBox(GuiMultilineTextBox::IStyleProvider* styleProvider); + /// The theme name for retriving a default control template. + GuiMultilineTextBox(theme::ThemeName themeName); ~GuiMultilineTextBox(); const WString& GetText()override; @@ -13856,58 +13675,13 @@ SinglelineTextBox /// Single text box control. class GuiSinglelineTextBox : public GuiControl, public GuiTextBoxCommonInterface, public Description { + GUI_SPECIFY_CONTROL_TEMPLATE_TYPE(SinglelineTextBoxTemplate, GuiControl) public: - static const vint TextMargin=3; - - /// Style controller interface for . - class IStyleProvider : public virtual GuiControl::IStyleProvider, public Description - { - public: - /// Create a background in the specified background container composition. - /// The container composition. If the style does not have a inner composition to be the container composition, just return the background argument. - /// The background container composition. - virtual compositions::GuiGraphicsComposition* InstallBackground(compositions::GuiBoundsComposition* background)=0; - }; - - class StyleController : public Object, public GuiControl::IStyleController, public Description - { - protected: - Ptr styleProvider; - compositions::GuiBoundsComposition* boundsComposition; - compositions::GuiGraphicsComposition* containerComposition; - - GuiSinglelineTextBox* textBox; - elements::GuiColorizedTextElement* textElement; - compositions::GuiTableComposition* textCompositionTable; - compositions::GuiCellComposition* textComposition; - Ptr defaultCallback; - - public: - StyleController(IStyleProvider* _styleProvider); - ~StyleController(); - - void SetTextBox(GuiSinglelineTextBox* control); - void RearrangeTextElement(); - compositions::GuiBoundsComposition* GetBoundsComposition(); - compositions::GuiGraphicsComposition* GetContainerComposition(); - void SetFocusableComposition(compositions::GuiGraphicsComposition* value); - - WString GetText(); - void SetText(const WString& value); - void SetFont(const FontProperties& value); - void SetVisuallyEnabled(bool value); - - elements::GuiColorizedTextElement* GetTextElement(); - compositions::GuiGraphicsComposition* GetTextComposition(); - void SetViewPosition(Point value); - }; + static const vint TextMargin=2; protected: class TextElementOperatorCallback : public GuiTextBoxCommonInterface::DefaultCallback, public Description { - protected: - GuiSinglelineTextBox* textControl; - StyleController* textController; public: TextElementOperatorCallback(GuiSinglelineTextBox* _textControl); @@ -13916,20 +13690,27 @@ SinglelineTextBox void ScrollToView(Point point)override; vint GetTextMargin()override; }; + protected: - StyleController* styleController; + Ptr callback; + elements::GuiColorizedTextElement* textElement = nullptr; + compositions::GuiTableComposition* textCompositionTable = nullptr; + compositions::GuiCellComposition* textComposition = nullptr; + void RearrangeTextElement(); void OnRenderTargetChanged(elements::IGuiGraphicsRenderTarget* renderTarget)override; + void OnVisuallyEnabledChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments); void OnBoundsMouseButtonDown(compositions::GuiGraphicsComposition* sender, compositions::GuiMouseEventArgs& arguments); public: /// Create a control with a specified style provider. - /// The style provider. - GuiSinglelineTextBox(GuiSinglelineTextBox::IStyleProvider* styleProvider); + /// The theme name for retriving a default control template. + GuiSinglelineTextBox(theme::ThemeName themeName); ~GuiSinglelineTextBox(); const WString& GetText()override; void SetText(const WString& value)override; void SetFont(const FontProperties& value)override; + /// /// Get the password mode displaying character. /// @@ -14586,6 +14367,7 @@ Menu /// Popup menu. class GuiMenu : public GuiPopup, private IGuiMenuService, public Description { + GUI_SPECIFY_CONTROL_TEMPLATE_TYPE(MenuTemplate, GuiPopup) private: IGuiMenuService* parentMenuService; @@ -14603,9 +14385,9 @@ Menu void OnWindowClosed(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments); public: /// Create a control with a specified style controller. - /// The style controller. + /// The theme name for retriving a default control template. /// The owner menu item of the parent menu. - GuiMenu(IStyleController* _styleController, GuiControl* _owner); + GuiMenu(theme::ThemeName themeName, GuiControl* _owner); ~GuiMenu(); /// Update the reference to the parent . This function is not required to call outside the menu or menu item control. @@ -14623,8 +14405,8 @@ Menu bool IsSubMenuActivatedByMouseDown()override; public: /// Create a control with a specified style controller. - /// The style controller. - GuiMenuBar(GuiControl::IStyleController* _styleController); + /// The theme name for retriving a default control template. + GuiMenuBar(theme::ThemeName themeName); ~GuiMenuBar(); IDescriptable* QueryService(const WString& identifier)override; @@ -14637,32 +14419,12 @@ MenuButton /// Menu item. class GuiMenuButton : public GuiSelectableButton, public Description { - public: - /// Style controller interface for . - class IStyleController : public virtual GuiSelectableButton::IStyleController, public Description - { - public: - /// Create a style controller for the sub menu. - /// The style controller for the sub menu. - virtual GuiMenu::IStyleController* CreateSubMenuStyleController()=0; - /// Notify that the sub menu is created or destroyed. - /// Set to true if the sub menu is created. - virtual void SetSubMenuExisting(bool value)=0; - /// Notify that the sub menu is opened or closed. - /// Set to true if the sub menu is opened. - virtual void SetSubMenuOpening(bool value)=0; - /// Get the button control that is expected to be associated with a sub menu. - /// The button control that is expected to be associated with a sub menu. Returns null means that the sub menu will be directly associated to the menu button. - virtual GuiButton* GetSubMenuHost()=0; - /// Notify that the image for the menu button is changed. - /// The image for the menu button. - virtual void SetImage(Ptr value)=0; - /// Notify that the shortcut key text for the menu button is changed. - /// The shortcut key text for the menu button. - virtual void SetShortcutText(const WString& value)=0; - }; + GUI_SPECIFY_CONTROL_TEMPLATE_TYPE(ToolstripButtonTemplate, GuiSelectableButton) + + using IEventHandler = compositions::IGuiGraphicsEventHandler; protected: - IStyleController* styleController; + Ptr hostClickedHandler; + Ptr hostMouseEnterHandler; Ptr image; WString shortcutText; GuiMenu* subMenu; @@ -14685,8 +14447,8 @@ MenuButton virtual IGuiMenuService::Direction GetSubMenuDirection(); public: /// Create a control with a specified style controller. - /// The style controller. - GuiMenuButton(IStyleController* _styleController); + /// The theme name for retriving a default control template. + GuiMenuButton(theme::ThemeName themeName); ~GuiMenuButton(); /// Sub menu opening changed event. @@ -14717,8 +14479,8 @@ MenuButton GuiMenu* GetSubMenu(); /// Create the sub menu if necessary. The created sub menu is owned by this menu button. /// The created sub menu. - /// The style controller for the sub menu. If this argument is null, it will call for a style controller. - GuiMenu* CreateSubMenu(GuiMenu::IStyleController* subMenuStyleController=0); + /// The style controller for the sub menu. Set to null to use the default control template. + GuiMenu* CreateSubMenu(TemplateProperty subMenuTemplate = {}); /// Associate a sub menu if there is no sub menu binded in this menu button. The associated sub menu is not owned by this menu button if the "owned" argument is set to false. /// The sub menu to associate. /// Set to true if the menu is expected to be owned. @@ -14780,24 +14542,14 @@ namespace vl ///List view column header control for detailed view. class GuiListViewColumnHeader : public GuiMenuButton, public Description { - public: - /// Style provider for . - class IStyleController : public virtual GuiMenuButton::IStyleController, public Description - { - public: - /// Notify that the column sorting state is changed. - /// The new column sorting state. - virtual void SetColumnSortingState(ColumnSortingState value)=0; - }; - + GUI_SPECIFY_CONTROL_TEMPLATE_TYPE(ListViewColumnHeaderTemplate, GuiMenuButton) protected: - IStyleController* styleController = nullptr; ColumnSortingState columnSortingState = ColumnSortingState::NotSorted; public: /// Create a control with a specified style controller. - /// The style controller. - GuiListViewColumnHeader(IStyleController* _styleController); + /// The theme name for retriving a default control template. + GuiListViewColumnHeader(theme::ThemeName themeName); ~GuiListViewColumnHeader(); bool IsAltAvailable()override; @@ -14813,41 +14565,16 @@ namespace vl /// List view base control. All list view controls inherit from this class. is suggested to be the base class of item style providers for list view control. class GuiListViewBase : public GuiSelectableListControl, public Description { - public: - /// Style provider for . - class IStyleProvider : public virtual GuiSelectableListControl::IStyleProvider, public Description - { - public: - /// Create a style controller for a column header. - /// The created style controller for a column header. - virtual GuiListViewColumnHeader::IStyleController* CreateColumnStyle()=0; - /// Get the primary text color. - /// The primary text color. - virtual Color GetPrimaryTextColor()=0; - /// Get the secondary text color. - /// The secondary text color. - virtual Color GetSecondaryTextColor()=0; - /// Get the item peparator text color. - /// The item peparator text color. - virtual Color GetItemSeparatorColor()=0; - }; - - protected: - IStyleProvider* styleProvider; - + GUI_SPECIFY_CONTROL_TEMPLATE_TYPE(ListViewTemplate, GuiSelectableListControl) public: /// Create a list view base control. - /// The style provider for this control. + /// The control template for this control. /// The item provider for this control. - GuiListViewBase(IStyleProvider* _styleProvider, GuiListControl::IItemProvider* _itemProvider); + GuiListViewBase(theme::ThemeName themeName, GuiListControl::IItemProvider* _itemProvider); ~GuiListViewBase(); /// Column clicked event. compositions::GuiItemNotifyEvent ColumnClicked; - - /// Get the associated style provider. - /// The style provider. - IStyleProvider* GetListViewStyleProvider(); }; /*********************************************************************** @@ -14965,7 +14692,6 @@ ListViewColumnItemArranger }; GuiListViewBase* listView = nullptr; - GuiListViewBase::IStyleProvider* styleProvider = nullptr; IListViewItemView* listViewItemView = nullptr; IColumnItemView* columnItemView = nullptr; Ptr columnItemViewCallback; @@ -15245,9 +14971,9 @@ GuiVirtualListView void OnItemTemplateChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments); public: /// Create a list view control in virtual mode. - /// The style provider for this control. + /// The control template for this control. /// The item provider for this control. - GuiVirtualListView(IStyleProvider* _styleProvider, GuiListControl::IItemProvider* _itemProvider); + GuiVirtualListView(theme::ThemeName themeName, GuiListControl::IItemProvider* _itemProvider); ~GuiVirtualListView(); /// Get the current view. @@ -15269,8 +14995,8 @@ GuiListView list::ListViewItemProvider* items; public: /// Create a list view control. - /// The style provider for this control. - GuiListView(IStyleProvider* _styleProvider); + /// The control template for this control. + GuiListView(theme::ThemeName themeName); ~GuiListView(); /// Get all list view items. @@ -15322,17 +15048,7 @@ ComboBox Base /// The base class of combo box control. class GuiComboBoxBase : public GuiMenuButton, public Description { - public: - /// Style controller interface for . - class IStyleController : public virtual GuiMenuButton::IStyleController, public Description - { - public: - /// Called when the command executor is changed. - /// The command executor. - virtual void SetCommandExecutor(IComboBoxCommandExecutor* value)=0; - /// Notify that an item is selected. - virtual void OnItemSelected()=0; - }; + GUI_SPECIFY_CONTROL_TEMPLATE_TYPE(ComboBoxTemplate, GuiMenuButton) protected: class CommandExecutor : public Object, public virtual IComboBoxCommandExecutor @@ -15348,7 +15064,6 @@ ComboBox Base }; Ptr commandExecutor; - IStyleController* styleController; bool IsAltAvailable()override; IGuiMenuService::Direction GetSubMenuDirection()override; @@ -15356,8 +15071,8 @@ ComboBox Base void OnBoundsChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments); public: /// Create a control with a specified style controller. - /// The style controller. - GuiComboBoxBase(IStyleController* _styleController); + /// The theme name for retriving a default control template. + GuiComboBoxBase(theme::ThemeName themeName); ~GuiComboBoxBase(); /// Item selected event. @@ -15374,21 +15089,14 @@ ComboBox with GuiListControl public: using ItemStyleProperty = TemplateProperty; - /// Style controller interface for . - class IStyleController : public virtual GuiComboBoxBase::IStyleController, public Description - { - public: - /// Indicate that if the combo box need to display text. - /// Set to true to display text. - virtual void SetTextVisible(bool value) = 0; - }; - protected: - IStyleController* styleController = nullptr; GuiSelectableListControl* containedListControl = nullptr; ItemStyleProperty itemStyleProperty; templates::GuiTemplate* itemStyleController = nullptr; + + void BeforeControlTemplateUninstalled()override; + void AfterControlTemplateInstalled(bool initialize)override; bool IsAltAvailable()override; void OnActiveAlt()override; void RemoveStyleController(); @@ -15401,9 +15109,9 @@ ComboBox with GuiListControl void OnListControlSelectionChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments); public: /// Create a control with a specified style controller and a list control that will be put in the popup control to show all items. - /// The style controller. + /// The theme name for retriving a default control template. /// The list controller. - GuiComboBoxListControl(IStyleController* _styleController, GuiSelectableListControl* _containedListControl); + GuiComboBoxListControl(theme::ThemeName themeName, GuiSelectableListControl* _containedListControl); ~GuiComboBoxListControl(); /// Style provider changed event. @@ -15471,104 +15179,31 @@ DatePicker /// Date picker control that display a calendar. class GuiDatePicker : public GuiControl, public Description { - public: - /// Style provider interface for . - class IStyleProvider : public virtual GuiControl::IStyleProvider, public Description - { - public: - /// Create a style for date button for choosing "day". - /// The created style. - virtual GuiSelectableButton::IStyleController* CreateDateButtonStyle()=0; - /// Create a text list for candidate "year" and "month". - /// The created control. - virtual GuiTextList* CreateTextList()=0; - /// Create a combo box style for "year" and "month". - /// The created style. - virtual GuiComboBoxListControl::IStyleController* CreateComboBoxStyle()=0; - - /// Get the color for background. - /// The color. - virtual Color GetBackgroundColor()=0; - /// Get the color for "day" that in the current month. - /// The color. - virtual Color GetPrimaryTextColor()=0; - /// Get the color for "day" that not in the current month. - /// The color. - virtual Color GetSecondaryTextColor()=0; - }; - - /// Style controller for . - class StyleController : public Object, public virtual GuiControl::IStyleController, public Description + GUI_SPECIFY_CONTROL_TEMPLATE_TYPE(DatePickerTemplate, GuiControl) + protected: + class CommandExecutor : public Object, public IDatePickerCommandExecutor { protected: - static const vint DaysOfWeek=7; - static const vint DayRows=6; - static const vint DayRowStart=2; - static const vint YearFirst=1900; - static const vint YearLast=2099; - - IStyleProvider* styleProvider; GuiDatePicker* datePicker; - DateTime currentDate; - Locale dateLocale; - compositions::GuiTableComposition* boundsComposition; - bool preventComboEvent; - bool preventButtonEvent; - - GuiComboBoxListControl* comboYear; - GuiTextList* listYears; - GuiComboBoxListControl* comboMonth; - GuiTextList* listMonths; - collections::Array labelDaysOfWeek; - collections::Array buttonDays; - collections::Array labelDays; - collections::Array dateDays; - Ptr dayMutexController; - - void SetDay(const DateTime& day, vint& index, bool currentMonth); - void DisplayMonth(vint year, vint month); - void SelectDay(vint day); - void comboYearMonth_SelectedIndexChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments); - void buttonDay_SelectedChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments); public: - /// Create a style controller with a specified style provider. - /// The style provider. - StyleController(IStyleProvider* _styleProvider); - ~StyleController(); + CommandExecutor(GuiDatePicker* _datePicker); + ~CommandExecutor(); - compositions::GuiBoundsComposition* GetBoundsComposition()override; - compositions::GuiGraphicsComposition* GetContainerComposition()override; - void SetFocusableComposition(compositions::GuiGraphicsComposition* value)override; - void SetText(const WString& value)override; - void SetFont(const FontProperties& value)override; - void SetVisuallyEnabled(bool value)override; - - /// Set the data picker that owns this style controller. - /// The date picker. - void SetDatePicker(GuiDatePicker* _datePicker); - /// Set the locale to display texts. - /// The locale. - void SetDateLocale(const Locale& _dateLocale); - /// Get the displayed date. - /// The date. - const DateTime& GetDate(); - /// Display a date. - /// The date. - /// Set to true to refill all data in the control whatever cached or not. - void SetDate(const DateTime& value, bool forceUpdate=false); + void NotifyDateChanged()override; + void NotifyDateNavigated()override; + void NotifyDateSelected()override; }; - protected: - StyleController* styleController; + Ptr commandExecutor; + DateTime date; WString dateFormat; Locale dateLocale; void UpdateText(); - void NotifyDateChanged(); public: /// Create a control with a specified style provider. - /// The style provider. - GuiDatePicker(IStyleProvider* _styleProvider); + /// The theme name for retriving a default control template. + GuiDatePicker(theme::ThemeName themeName); ~GuiDatePicker(); /// Date changed event. @@ -15623,9 +15258,9 @@ DateComboBox void datePicker_DateSelected(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments); public: /// Create a control with a specified style provider. - /// The style provider. + /// The theme name for retriving a default control template. /// The date picker control to show in the popup. - GuiDateComboBox(IStyleController* _styleController, GuiDatePicker* _datePicker); + GuiDateComboBox(theme::ThemeName themeName, GuiDatePicker* _datePicker); ~GuiDateComboBox(); /// Selected data changed event. @@ -15684,7 +15319,7 @@ Datagrid Interfaces { public: virtual GuiListControl::IItemProvider* GetItemProvider() = 0; - virtual GuiListViewBase::IStyleProvider* GetListViewStyleProvider() = 0; + virtual templates::GuiListViewTemplate* GetListViewControlTemplate() = 0; virtual description::Value GetViewModelContext() = 0; virtual void RequestSaveData() = 0; }; @@ -15695,8 +15330,7 @@ Datagrid Interfaces public: /// Create a data visualizer. /// The created data visualizer. - /// The font for the list view control. - /// The style provider for the list view control. + /// Context information of the data grid. virtual Ptr CreateVisualizer(IDataGridContext* dataGridContext) = 0; }; @@ -16219,16 +15853,15 @@ GuiVirtualDataGrid void OnColumnClicked(compositions::GuiGraphicsComposition* sender, compositions::GuiItemEventArgs& arguments); public: - - GuiListViewBase::IStyleProvider* GetListViewStyleProvider()override; + templates::GuiListViewTemplate* GetListViewControlTemplate()override; description::Value GetViewModelContext()override; void RequestSaveData()override; public: /// Create a data grid control in virtual mode. - /// The style provider for this control. + /// The control template for this control. /// The item provider for this control. - GuiVirtualDataGrid(IStyleProvider* _styleProvider, GuiListControl::IItemProvider* _itemProvider); + GuiVirtualDataGrid(theme::ThemeName themeName, GuiListControl::IItemProvider* _itemProvider); ~GuiVirtualDataGrid(); /// Selected cell changed event. @@ -16687,9 +16320,9 @@ GuiBindableDataGrid public: /// Create a bindable Data grid control. - /// The style provider for this control. + /// The control template for this control. /// The view mode context, which will be passed to every visualizers and editors in this grid. - GuiBindableDataGrid(IStyleProvider* _styleProvider, const description::Value& _viewModelContext = description::Value()); + GuiBindableDataGrid(theme::ThemeName themeName, const description::Value& _viewModelContext = description::Value()); ~GuiBindableDataGrid(); /// Get all data columns indices in columns. @@ -16880,9 +16513,9 @@ GuiBindableTextList public: /// Create a bindable Text list control. - /// The style provider for this control. + /// The control template for this control. /// The factory object to create the control styles for bullet before a text item. - GuiBindableTextList(IStyleProvider* _styleProvider); + GuiBindableTextList(theme::ThemeName themeName); ~GuiBindableTextList(); /// Text property name changed event. @@ -16993,8 +16626,8 @@ GuiBindableListView public: /// Create a bindable List view control. - /// The style provider for this control. - GuiBindableListView(IStyleProvider* _styleProvider); + /// The control template for this control. + GuiBindableListView(theme::ThemeName themeName); ~GuiBindableListView(); /// Get all data columns indices in columns. @@ -17124,8 +16757,8 @@ GuiBindableTreeView public: /// Create a bindable Tree view control. - /// The style provider for this control. - GuiBindableTreeView(IStyleProvider* _styleProvider); + /// The control template for this control. + GuiBindableTreeView(theme::ThemeName themeName); ~GuiBindableTreeView(); /// Text property name changed event. @@ -17341,84 +16974,6 @@ Toolstrip Item Collection ~GuiToolstripCollection(); }; -/*********************************************************************** -Toolstrip Builder Facade -***********************************************************************/ - - class GuiToolstripButton; - - /// Toolstrip builder. - class GuiToolstripBuilder : public Object - { - friend class GuiToolstripMenu; - friend class GuiToolstripMenuBar; - friend class GuiToolstripToolBar; - protected: - enum Environment - { - Menu, - MenuBar, - ToolBar, - }; - - Environment environment; - GuiToolstripCollection* toolstripItems; - GuiToolstripBuilder* previousBuilder; - theme::ITheme* theme; - GuiToolstripButton* lastCreatedButton; - - GuiToolstripBuilder(Environment _environment, GuiToolstripCollection* _toolstripItems); - public: - ~GuiToolstripBuilder(); - - /// Create a button. - /// The current builder for continuing builder actions. - /// The image for the created control. - /// The text for the created control. - /// The created control. - GuiToolstripBuilder* Button(Ptr image, const WString& text, GuiToolstripButton** result=0); - /// Create a button. - /// The current builder for continuing builder actions. - /// The command for the created control. - /// The created control. - GuiToolstripBuilder* Button(GuiToolstripCommand* command, GuiToolstripButton** result=0); - /// Create a dropdown button. - /// The current builder for continuing builder actions. - /// The image for the created control. - /// The text for the created control. - /// The created control. - GuiToolstripBuilder* DropdownButton(Ptr image, const WString& text, GuiToolstripButton** result=0); - /// Create a dropdown button. - /// The current builder for continuing builder actions. - /// The command for the created control. - /// The created control. - GuiToolstripBuilder* DropdownButton(GuiToolstripCommand* command, GuiToolstripButton** result=0); - /// Create a split button. - /// The current builder for continuing builder actions. - /// The image for the created control. - /// The text for the created control. - /// The created control. - GuiToolstripBuilder* SplitButton(Ptr image, const WString& text, GuiToolstripButton** result=0); - /// Create a split button. - /// The current builder for continuing builder actions. - /// The command for the created control. - /// The created control. - GuiToolstripBuilder* SplitButton(GuiToolstripCommand* command, GuiToolstripButton** result=0); - /// Create a splitter. - /// The current builder for continuing builder actions. - GuiToolstripBuilder* Splitter(); - /// Install a control. - /// The current builder for continuing builder actions. - /// The control to install. - GuiToolstripBuilder* Control(GuiControl* control); - /// Begin create sub menu. - /// The builder of the last created control's sub menu for continuing builder actions. - GuiToolstripBuilder* BeginSubMenu(); - /// End create sub menu. - /// The parent builder for continuing builder actions. - GuiToolstripBuilder* EndSubMenu(); - }; - /*********************************************************************** Toolstrip Container ***********************************************************************/ @@ -17430,23 +16985,18 @@ Toolstrip Container compositions::GuiSharedSizeRootComposition* sharedSizeRootComposition; compositions::GuiStackComposition* stackComposition; Ptr toolstripItems; - Ptr builder; void UpdateLayout()override; public: /// Create a control with a specified style controller. - /// The style controller. + /// The theme name for retriving a default control template. /// The owner menu item of the parent menu. - GuiToolstripMenu(IStyleController* _styleController, GuiControl* _owner); + GuiToolstripMenu(theme::ThemeName themeName, GuiControl* _owner); ~GuiToolstripMenu(); /// Get all managed child controls ordered by their positions. /// All managed child controls. GuiToolstripCollection& GetToolstripItems(); - /// Get the builder facade. - /// The builder facade. - /// The theme to use. If this argument is null, the current theme will be used. - GuiToolstripBuilder* GetBuilder(theme::ITheme* themeObject=0); }; /// Toolstrip menu bar. @@ -17455,21 +17005,16 @@ Toolstrip Container protected: compositions::GuiStackComposition* stackComposition; Ptr toolstripItems; - Ptr builder; public: /// Create a control with a specified style controller. - /// The style controller. - GuiToolstripMenuBar(IStyleController* _styleController); + /// The theme name for retriving a default control template. + GuiToolstripMenuBar(theme::ThemeName themeName); ~GuiToolstripMenuBar(); /// Get all managed child controls ordered by their positions. /// All managed child controls. GuiToolstripCollection& GetToolstripItems(); - /// Get the builder facade. - /// The builder facade. - /// The theme to use. If this argument is null, the current theme will be used. - GuiToolstripBuilder* GetBuilder(theme::ITheme* themeObject=0); }; /// Toolstrip tool bar. @@ -17478,21 +17023,16 @@ Toolstrip Container protected: compositions::GuiStackComposition* stackComposition; Ptr toolstripItems; - Ptr builder; public: /// Create a control with a specified style controller. - /// The style controller. - GuiToolstripToolBar(IStyleController* _styleController); + /// The theme name for retriving a default control template. + GuiToolstripToolBar(theme::ThemeName themeName); ~GuiToolstripToolBar(); /// Get all managed child controls ordered by their positions. /// All managed child controls. GuiToolstripCollection& GetToolstripItems(); - /// Get the builder facade. - /// The builder facade. - /// The theme to use. If this argument is null, the current theme will be used. - GuiToolstripBuilder* GetBuilder(theme::ITheme* themeObject=0); }; /*********************************************************************** @@ -17511,8 +17051,8 @@ Toolstrip Component void OnCommandDescriptionChanged(compositions::GuiGraphicsComposition* sender, compositions::GuiEventArgs& arguments); public: /// Create a control with a specified style controller. - /// The style controller. - GuiToolstripButton(IStyleController* _styleController); + /// The theme name for retriving a default control template. + GuiToolstripButton(theme::ThemeName themeName); ~GuiToolstripButton(); /// Get the attached . @@ -17530,8 +17070,8 @@ Toolstrip Component /// The toolstrip sub menu. GuiToolstripMenu* EnsureToolstripSubMenu(); /// Create the toolstrip sub menu if necessary. The created toolstrip sub menu is owned by this menu button. - /// The style controller for the toolstrip sub menu. If this argument is null, it will call for a style controller. - void CreateToolstripSubMenu(GuiToolstripMenu::IStyleController* subMenuStyleController=0); + /// The style controller for the toolstrip sub menu. Set to null to use the default control template. + void CreateToolstripSubMenu(TemplateProperty subMenuTemplate); }; } } @@ -17576,134 +17116,61 @@ namespace vl { namespace theme { +#define GUI_CONTROL_TEMPLATE_TYPES(F) \ + F(WindowTemplate, Window) \ + F(ControlTemplate, CustomControl) \ + F(WindowTemplate, Tooltip) \ + F(LabelTemplate, Label) \ + F(LabelTemplate, ShortcutKey) \ + F(ScrollViewTemplate, ScrollView) \ + F(ControlTemplate, GroupBox) \ + F(TabTemplate, Tab) \ + F(ComboBoxTemplate, ComboBox) \ + F(MultilineTextBoxTemplate, MultilineTextBox) \ + F(SinglelineTextBoxTemplate, SinglelineTextBox) \ + F(DocumentViewerTemplate, DocumentViewer) \ + F(DocumentLabelTemplate, DocumentLabel) \ + F(DocumentLabelTemplate, DocumentTextBox) \ + F(ListViewTemplate, ListView) \ + F(TreeViewTemplate, TreeView) \ + F(TextListTemplate, TextList) \ + F(SelectableButtonTemplate, ListItemBackground) \ + F(SelectableButtonTemplate, TreeItemExpander) \ + F(SelectableButtonTemplate, CheckTextListItem) \ + F(SelectableButtonTemplate, RadioTextListItem) \ + F(MenuTemplate, Menu) \ + F(ControlTemplate, MenuBar) \ + F(ControlTemplate, MenuSplitter) \ + F(ToolstripButtonTemplate, MenuBarButton) \ + F(ToolstripButtonTemplate, MenuItemButton) \ + F(ControlTemplate, ToolstripToolBar) \ + F(ToolstripButtonTemplate, ToolstripButton) \ + F(ToolstripButtonTemplate, ToolstripDropdownButton) \ + F(ToolstripButtonTemplate, ToolstripSplitButton) \ + F(ControlTemplate, ToolstripSplitter) \ + F(ButtonTemplate, Button) \ + F(SelectableButtonTemplate, CheckBox) \ + F(SelectableButtonTemplate, RadioButton) \ + F(DatePickerTemplate, DatePicker) \ + F(ScrollTemplate, HScroll) \ + F(ScrollTemplate, VScroll) \ + F(ScrollTemplate, HTracker) \ + F(ScrollTemplate, VTracker) \ + F(ScrollTemplate, ProgressBar) \ + + enum class ThemeName + { + Unknown, +#define GUI_DEFINE_THEME_NAME(TEMPLATE, CONTROL) CONTROL, + GUI_CONTROL_TEMPLATE_TYPES(GUI_DEFINE_THEME_NAME) +#undef GUI_DEFINE_THEME_NAME + }; + /// Theme interface. A theme creates appropriate style controllers or style providers for default controls. Call [M:vl.presentation.theme.GetCurrentTheme] to access this interface. class ITheme : public virtual IDescriptable, public Description { public: - /// Create a style for window. - /// The created style. - virtual controls::GuiWindow::IStyleController* CreateWindowStyle()=0; - /// Create a style for a user customizable control. - /// The created style. - virtual controls::GuiCustomControl::IStyleController* CreateCustomControlStyle() = 0; - /// Create a style for tooltip. - /// The created style. - virtual controls::GuiTooltip::IStyleController* CreateTooltipStyle()=0; - /// Create a style for label. - /// The created style. - virtual controls::GuiLabel::IStyleController* CreateLabelStyle()=0; - /// Create a style for label displaying Alt-combined shortcut key. - /// The created style. - virtual controls::GuiLabel::IStyleController* CreateShortcutKeyStyle()=0; - /// Create a style for scrollable control containers. - /// The created style. - virtual controls::GuiScrollContainer::IStyleProvider* CreateScrollContainerStyle()=0; - /// Create a style for group box. - /// The created style. - virtual controls::GuiControl::IStyleController* CreateGroupBoxStyle()=0; - /// Create a style for tab. - /// The created style. - virtual controls::GuiTab::IStyleController* CreateTabStyle()=0; - /// Create a style for combo box. - /// The created style. - virtual controls::GuiComboBoxListControl::IStyleController* CreateComboBoxStyle()=0; - /// Create a style for multiline text box. - /// The created style. - virtual controls::GuiScrollView::IStyleProvider* CreateMultilineTextBoxStyle()=0; - /// Create a style for singleline text box. - /// The created style. - virtual controls::GuiSinglelineTextBox::IStyleProvider* CreateTextBoxStyle()=0; - /// Create a style for document viewer. - /// The created style. - virtual controls::GuiDocumentViewer::IStyleProvider* CreateDocumentViewerStyle()=0; - /// Create a style for document label. - /// The created style. - virtual controls::GuiDocumentLabel::IStyleController* CreateDocumentLabelStyle()=0; - /// Create a style for document text box. - /// The created style. - virtual controls::GuiDocumentLabel::IStyleController* CreateDocumentTextBoxStyle()=0; - /// Create a style for list view. - /// The created style. - virtual controls::GuiListView::IStyleProvider* CreateListViewStyle()=0; - /// Create a style for tree view. - /// The created style. - virtual controls::GuiTreeView::IStyleProvider* CreateTreeViewStyle()=0; - /// Create a style for selectable list control item background. - /// The created style. - virtual controls::GuiSelectableButton::IStyleController* CreateListItemBackgroundStyle()=0; - /// Create a style for tree list control item expander. - /// The created style. - virtual controls::GuiSelectableButton::IStyleController* CreateTreeItemExpanderStyle()=0; - - /// Create a style for menu. - /// The created style. - virtual controls::GuiToolstripMenu::IStyleController* CreateMenuStyle()=0; - /// Create a style for menu bar. - /// The created style. - virtual controls::GuiToolstripMenuBar::IStyleController* CreateMenuBarStyle()=0; - /// Create a style for menu splitter. - /// The created style. - virtual controls::GuiControl::IStyleController* CreateMenuSplitterStyle()=0; - /// Create a style for menu bar button. - /// The created style. - virtual controls::GuiToolstripButton::IStyleController* CreateMenuBarButtonStyle()=0; - /// Create a style for menu button. - /// The created style. - virtual controls::GuiToolstripButton::IStyleController* CreateMenuItemButtonStyle()=0; - /// Create a style for toolbar. - /// The created style. - virtual controls::GuiToolstripToolBar::IStyleController* CreateToolBarStyle()=0; - /// Create a style for toolbar button. - /// The created style. - virtual controls::GuiToolstripButton::IStyleController* CreateToolBarButtonStyle()=0; - /// Create a style for toolbar dropdown button. - /// The created style. - virtual controls::GuiToolstripButton::IStyleController* CreateToolBarDropdownButtonStyle()=0; - /// Create a style for toolbar split button. - /// The created style. - virtual controls::GuiToolstripButton::IStyleController* CreateToolBarSplitButtonStyle()=0; - /// Create a style for toolbar. - /// The created style. - virtual controls::GuiControl::IStyleController* CreateToolBarSplitterStyle()=0; - - /// Create a style for button. - /// The created style. - virtual controls::GuiButton::IStyleController* CreateButtonStyle()=0; - /// Create a style for check box. - /// The created style. - virtual controls::GuiSelectableButton::IStyleController* CreateCheckBoxStyle()=0; - /// Create a style for radio button. - /// The created style. - virtual controls::GuiSelectableButton::IStyleController* CreateRadioButtonStyle()=0; - /// Create a style for date picker. - /// The created style. - virtual controls::GuiDatePicker::IStyleProvider* CreateDatePickerStyle()=0; - - /// Create a style for horizontal scroll. - /// The created style. - virtual controls::GuiScroll::IStyleController* CreateHScrollStyle()=0; - /// Create a style for vertical scroll. - /// The created style. - virtual controls::GuiScroll::IStyleController* CreateVScrollStyle()=0; - /// Create a style for horizontal tracker. - /// The created style. - virtual controls::GuiScroll::IStyleController* CreateHTrackerStyle()=0; - /// Create a style for vertical tracker. - /// The created style. - virtual controls::GuiScroll::IStyleController* CreateVTrackerStyle()=0; - /// Create a style for progress bar. - /// The created style. - virtual controls::GuiScroll::IStyleController* CreateProgressBarStyle()=0; - - /// Create a style for text list. - /// The created style. - virtual controls::GuiVirtualTextList::IStyleProvider* CreateTextListStyle()=0; - /// Create a style for check text list item. - /// The created style. - virtual controls::GuiSelectableButton::IStyleController* CreateCheckTextListItemStyle()=0; - /// Create a style for radio text list item. - /// The created style. - virtual controls::GuiSelectableButton::IStyleController* CreateRadioTextListItemStyle()=0; + virtual TemplateProperty CreateStyle(ThemeName themeName) = 0; }; class Theme; @@ -17719,46 +17186,9 @@ namespace vl public: ~ThemeTemplates(); - TemplateProperty window; - TemplateProperty customControl; - TemplateProperty tooltip; - TemplateProperty label; - TemplateProperty shortcutKey; - TemplateProperty scrollView; - TemplateProperty groupBox; - TemplateProperty tab; - TemplateProperty comboBox; - TemplateProperty multilineTextBox; - TemplateProperty singlelineTextBox; - TemplateProperty documentViewer; - TemplateProperty documentLabel; - TemplateProperty documentTextBox; - TemplateProperty listView; - TemplateProperty treeView; - TemplateProperty textList; - TemplateProperty listItemBackground; - TemplateProperty treeItemExpander; - TemplateProperty checkTextListItem; - TemplateProperty radioTextListItem; - TemplateProperty menu; - TemplateProperty menuBar; - TemplateProperty menuSplitter; - TemplateProperty menuBarButton; - TemplateProperty menuItemButton; - TemplateProperty toolBar; - TemplateProperty toolBarButton; - TemplateProperty toolBarDropdownButton; - TemplateProperty toolBarSplitButton; - TemplateProperty toolBarSplitter; - TemplateProperty button; - TemplateProperty checkBox; - TemplateProperty radioButton; - TemplateProperty datePicker; - TemplateProperty hScroll; - TemplateProperty vScroll; - TemplateProperty hTracker; - TemplateProperty vTracker; - TemplateProperty progressBar; +#define GUI_DEFINE_ITEM_PROPERTY(TEMPLATE, CONTROL) TemplateProperty CONTROL; + GUI_CONTROL_TEMPLATE_TYPES(GUI_DEFINE_ITEM_PROPERTY) +#undef GUI_DEFINE_ITEM_PROPERTY }; /// Get the current theme style factory object. The default theme is [T:vl.presentation.win7.Win7Theme]. Call [M:vl.presentation.theme.SetCurrentTheme] to change the default theme. @@ -17774,533 +17204,6 @@ namespace vl /// The registered object. Returns null if it does not exist. /// The name of the theme. extern Ptr UnregisterTheme(const WString& name); - - namespace g - { - /// Create a window. - /// The created control. - extern controls::GuiWindow* NewWindow(); - /// Create a user customizable control. - /// The created control. - extern controls::GuiCustomControl* NewCustomControl(); - /// Create a label. - /// The created control. - extern controls::GuiLabel* NewLabel(); - /// Create a scroll container. - /// The created control. - extern controls::GuiScrollContainer* NewScrollContainer(); - /// Create a group box. - /// The created control. - extern controls::GuiControl* NewGroupBox(); - /// Create a tab. - /// The created control. - extern controls::GuiTab* NewTab(); - /// Create a tab page. - /// The created control. - extern controls::GuiTabPage* NewTabPage(); - /// Create a combo box. - /// The created control. - /// A list control to put in the popup control to show all items. - extern controls::GuiComboBoxListControl* NewComboBox(controls::GuiSelectableListControl* containedListControl); - /// Create a multiline text box. - /// The created control. - extern controls::GuiMultilineTextBox* NewMultilineTextBox(); - /// Create a singline text box. - /// The created control. - extern controls::GuiSinglelineTextBox* NewTextBox(); - /// Create a document viewer. - /// The created control. - extern controls::GuiDocumentViewer* NewDocumentViewer(); - /// Create a document label. - /// The created control. - extern controls::GuiDocumentLabel* NewDocumentLabel(); - /// Create a document label. - /// The created control. - extern controls::GuiDocumentLabel* NewDocumentTextBox(); - /// Create a list view. - /// The created control. - extern controls::GuiListView* NewListView(); - /// Create a tree view. - /// The created control. - extern controls::GuiTreeView* NewTreeView(); - - /// Create a menu. - /// The created control. - /// The owner menu item of the parent menu. - extern controls::GuiToolstripMenu* NewMenu(controls::GuiControl* owner); - /// Create a menu bar. - /// The created control. - extern controls::GuiToolstripMenuBar* NewMenuBar(); - /// Create a menu splitter. - /// The created control. - extern controls::GuiControl* NewMenuSplitter(); - /// Create a menu bar button. - /// The created control. - extern controls::GuiToolstripButton* NewMenuBarButton(); - /// Create a menu item button. - /// The created control. - extern controls::GuiToolstripButton* NewMenuItemButton(); - /// Create a toolbar. - /// The created control. - extern controls::GuiToolstripToolBar* NewToolBar(); - /// Create a toolbar button. - /// The created control. - extern controls::GuiToolstripButton* NewToolBarButton(); - /// Create a toolbar dropdown button. - /// The created control. - extern controls::GuiToolstripButton* NewToolBarDropdownButton(); - /// Create a toolbar split button. - /// The created control. - extern controls::GuiToolstripButton* NewToolBarSplitButton(); - /// Create a toolbar splitter. - /// The created control. - extern controls::GuiControl* NewToolBarSplitter(); - - /// Create a button. - /// The created control. - extern controls::GuiButton* NewButton(); - /// Create a check box. - /// The created control. - extern controls::GuiSelectableButton* NewCheckBox(); - /// Create a radio box. - /// The created control. - extern controls::GuiSelectableButton* NewRadioButton(); - /// Create a date picker. - /// The created control. - extern controls::GuiDatePicker* NewDatePicker(); - /// Create a date combo box. - /// The created control. - extern controls::GuiDateComboBox* NewDateComboBox(); - - /// Create a horizontal scroll. - /// The created control. - extern controls::GuiScroll* NewHScroll(); - /// Create a vertical scroll. - /// The created control. - extern controls::GuiScroll* NewVScroll(); - /// Create a horizontal tracker (slide bar). - /// The created control. - extern controls::GuiScroll* NewHTracker(); - /// Create a vertical tracker (slide bar). - /// The created control. - extern controls::GuiScroll* NewVTracker(); - /// Create a progress bar. - /// The created control. - extern controls::GuiScroll* NewProgressBar(); - - /// Create a text list. - /// The created control. - extern controls::GuiTextList* NewTextList(); - } - } - } -} - -#endif - -/*********************************************************************** -.\CONTROLS\TEMPLATES\GUICONTROLTEMPLATESTYLES.H -***********************************************************************/ -/*********************************************************************** -Vczh Library++ 3.0 -Developer: Zihan Chen(vczh) -GacUI::Template System - -Interfaces: -***********************************************************************/ - -#ifndef VCZH_PRESENTATION_CONTROLS_TEMPLATES_GUICONTROLTEMPLATESTYLES -#define VCZH_PRESENTATION_CONTROLS_TEMPLATES_GUICONTROLTEMPLATESTYLES - - -namespace vl -{ - namespace presentation - { - namespace templates - { -#pragma warning(push) -#pragma warning(disable:4250) - -/*********************************************************************** -Control Template -***********************************************************************/ - - class GuiControlTemplate_StyleProvider - : public Object - , public virtual controls::GuiControl::IStyleController - , public virtual controls::GuiControl::IStyleProvider - , public Description - { - protected: - controls::GuiControl::IStyleController* associatedStyleController; - GuiControlTemplate* controlTemplate; - - public: - GuiControlTemplate_StyleProvider(TemplateProperty factory, description::Value viewModel = description::Value()); - ~GuiControlTemplate_StyleProvider(); - - compositions::GuiBoundsComposition* GetBoundsComposition()override; - compositions::GuiGraphicsComposition* GetContainerComposition()override; - void AssociateStyleController(controls::GuiControl::IStyleController* controller)override; - void SetFocusableComposition(compositions::GuiGraphicsComposition* value)override; - void SetText(const WString& value)override; - void SetFont(const FontProperties& value)override; - void SetVisuallyEnabled(bool value)override; - }; - - class GuiLabelTemplate_StyleProvider - : public GuiControlTemplate_StyleProvider - , public controls::GuiLabel::IStyleController - , public Description - { - protected: - GuiLabelTemplate* controlTemplate; - - public: - GuiLabelTemplate_StyleProvider(TemplateProperty factory); - ~GuiLabelTemplate_StyleProvider(); - - Color GetDefaultTextColor()override; - void SetTextColor(Color value)override; - }; - - class GuiSinglelineTextBoxTemplate_StyleProvider - : public GuiControlTemplate_StyleProvider - , public virtual controls::GuiSinglelineTextBox::IStyleProvider - , public Description - { - protected: - GuiSinglelineTextBoxTemplate* controlTemplate; - - public: - GuiSinglelineTextBoxTemplate_StyleProvider(TemplateProperty factory); - ~GuiSinglelineTextBoxTemplate_StyleProvider(); - - void SetFocusableComposition(compositions::GuiGraphicsComposition* value)override; - compositions::GuiGraphicsComposition* InstallBackground(compositions::GuiBoundsComposition* boundsComposition)override; - }; - - class GuiDocumentLabelTemplate_StyleProvider - : public GuiControlTemplate_StyleProvider - , public virtual controls::GuiDocumentLabel::IStyleController - , public Description - { - protected: - GuiDocumentLabelTemplate* controlTemplate; - - public: - GuiDocumentLabelTemplate_StyleProvider(TemplateProperty factory); - ~GuiDocumentLabelTemplate_StyleProvider(); - - Ptr GetBaselineDocument()override; - Color GetCaretColor()override; - }; - - class GuiMenuTemplate_StyleProvider - : public GuiControlTemplate_StyleProvider - , public controls::GuiWindow::DefaultBehaviorStyleController - , public Description - { - public: - GuiMenuTemplate_StyleProvider(TemplateProperty factory); - ~GuiMenuTemplate_StyleProvider(); - }; - - class GuiWindowTemplate_StyleProvider - : public GuiControlTemplate_StyleProvider - , public controls::GuiWindow::IStyleController - , public Description - { - protected: - GuiWindowTemplate* controlTemplate; - controls::GuiWindow* window; - - public: - GuiWindowTemplate_StyleProvider(TemplateProperty factory); - ~GuiWindowTemplate_StyleProvider(); - - void AttachWindow(controls::GuiWindow* _window)override; - void InitializeNativeWindowProperties()override; - void SetSizeState(INativeWindow::WindowSizeState value)override; - bool GetMaximizedBox()override; - void SetMaximizedBox(bool visible)override; - bool GetMinimizedBox()override; - void SetMinimizedBox(bool visible)override; - bool GetBorder()override; - void SetBorder(bool visible)override; - bool GetSizeBox()override; - void SetSizeBox(bool visible)override; - bool GetIconVisible()override; - void SetIconVisible(bool visible)override; - bool GetTitleBar()override; - void SetTitleBar(bool visible)override; - controls::GuiWindow::IStyleController* CreateTooltipStyle()override; - controls::GuiLabel::IStyleController* CreateShortcutKeyStyle()override; - }; - - class GuiButtonTemplate_StyleProvider - : public GuiControlTemplate_StyleProvider - , public virtual controls::GuiButton::IStyleController - , public Description - { - protected: - GuiButtonTemplate* controlTemplate; - - public: - GuiButtonTemplate_StyleProvider(TemplateProperty factory); - ~GuiButtonTemplate_StyleProvider(); - - void Transfer(controls::ButtonState value)override; - }; - - class GuiSelectableButtonTemplate_StyleProvider - : public GuiButtonTemplate_StyleProvider - , public virtual controls::GuiSelectableButton::IStyleController - , public Description - { - protected: - GuiSelectableButtonTemplate* controlTemplate; - - public: - GuiSelectableButtonTemplate_StyleProvider(TemplateProperty factory); - ~GuiSelectableButtonTemplate_StyleProvider(); - - void SetSelected(bool value)override; - }; - - class GuiToolstripButtonTemplate_StyleProvider - : public GuiSelectableButtonTemplate_StyleProvider - , public virtual controls::GuiMenuButton::IStyleController - , public Description - { - protected: - GuiToolstripButtonTemplate* controlTemplate; - - public: - GuiToolstripButtonTemplate_StyleProvider(TemplateProperty factory); - ~GuiToolstripButtonTemplate_StyleProvider(); - - controls::GuiMenu::IStyleController* CreateSubMenuStyleController()override; - void SetSubMenuExisting(bool value)override; - void SetSubMenuOpening(bool value)override; - controls::GuiButton* GetSubMenuHost()override; - void SetImage(Ptr value)override; - void SetShortcutText(const WString& value)override; - }; - - class GuiListViewColumnHeaderTemplate_StyleProvider - : public GuiToolstripButtonTemplate_StyleProvider - , public virtual controls::GuiListViewColumnHeader::IStyleController - , public Description - { - protected: - GuiListViewColumnHeaderTemplate* controlTemplate; - - public: - GuiListViewColumnHeaderTemplate_StyleProvider(TemplateProperty factory); - ~GuiListViewColumnHeaderTemplate_StyleProvider(); - - void SetColumnSortingState(controls::ColumnSortingState value)override; - }; - - class GuiComboBoxTemplate_StyleProvider - : public GuiToolstripButtonTemplate_StyleProvider - , public virtual controls::GuiComboBoxListControl::IStyleController - , public Description - { - protected: - GuiComboBoxTemplate* controlTemplate; - - public: - GuiComboBoxTemplate_StyleProvider(TemplateProperty factory); - ~GuiComboBoxTemplate_StyleProvider(); - - void SetCommandExecutor(controls::IComboBoxCommandExecutor* value)override; - void OnItemSelected()override; - void SetTextVisible(bool value)override; - }; - - class GuiScrollTemplate_StyleProvider - : public GuiControlTemplate_StyleProvider - , public virtual controls::GuiScroll::IStyleController - , public Description - { - protected: - GuiScrollTemplate* controlTemplate; - - public: - GuiScrollTemplate_StyleProvider(TemplateProperty factory); - ~GuiScrollTemplate_StyleProvider(); - - void SetCommandExecutor(controls::IScrollCommandExecutor* value)override; - void SetTotalSize(vint value)override; - void SetPageSize(vint value)override; - void SetPosition(vint value)override; - }; - - class GuiScrollViewTemplate_StyleProvider - : public GuiControlTemplate_StyleProvider - , public virtual controls::GuiScrollView::IStyleProvider - , public Description - { - protected: - GuiScrollViewTemplate* controlTemplate; - - public: - GuiScrollViewTemplate_StyleProvider(TemplateProperty factory); - ~GuiScrollViewTemplate_StyleProvider(); - - controls::GuiScroll::IStyleController* CreateHorizontalScrollStyle()override; - controls::GuiScroll::IStyleController* CreateVerticalScrollStyle()override; - vint GetDefaultScrollSize()override; - compositions::GuiGraphicsComposition* InstallBackground(compositions::GuiBoundsComposition* boundsComposition)override; - }; - - class GuiMultilineTextBoxTemplate_StyleProvider - : public GuiScrollViewTemplate_StyleProvider - , public Description - { - protected: - GuiMultilineTextBoxTemplate* controlTemplate; - - public: - GuiMultilineTextBoxTemplate_StyleProvider(TemplateProperty factory); - ~GuiMultilineTextBoxTemplate_StyleProvider(); - - void SetFocusableComposition(compositions::GuiGraphicsComposition* value)override; - }; - - class GuiDocumentViewerTemplate_StyleProvider - : public GuiScrollViewTemplate_StyleProvider - , public virtual controls::GuiDocumentViewer::IStyleProvider - , public Description - { - protected: - GuiDocumentViewerTemplate* controlTemplate; - - public: - GuiDocumentViewerTemplate_StyleProvider(TemplateProperty factory); - ~GuiDocumentViewerTemplate_StyleProvider(); - - Ptr GetBaselineDocument()override; - Color GetCaretColor()override; - }; - - class GuiTextListTemplate_StyleProvider - : public GuiScrollViewTemplate_StyleProvider - , public virtual controls::GuiVirtualTextList::IStyleProvider - , public Description - { - protected: - GuiTextListTemplate* controlTemplate; - - public: - GuiTextListTemplate_StyleProvider(TemplateProperty factory); - ~GuiTextListTemplate_StyleProvider(); - - Color GetTextColor()override; - controls::GuiSelectableButton::IStyleController* CreateItemBackground()override; - controls::GuiSelectableButton::IStyleController* CreateCheckBulletStyle()override; - controls::GuiSelectableButton::IStyleController* CreateRadioBulletStyle()override; - }; - - class GuiListViewTemplate_StyleProvider - : public GuiScrollViewTemplate_StyleProvider - , public virtual controls::GuiListViewBase::IStyleProvider - , public Description - { - protected: - GuiListViewTemplate* controlTemplate; - - public: - GuiListViewTemplate_StyleProvider(TemplateProperty factory); - ~GuiListViewTemplate_StyleProvider(); - - controls::GuiSelectableButton::IStyleController* CreateItemBackground()override; - controls::GuiListViewColumnHeader::IStyleController* CreateColumnStyle()override; - Color GetPrimaryTextColor()override; - Color GetSecondaryTextColor()override; - Color GetItemSeparatorColor()override; - }; - - class GuiTreeViewTemplate_StyleProvider - : public GuiScrollViewTemplate_StyleProvider - , public virtual controls::GuiVirtualTreeView::IStyleProvider - , public Description - { - protected: - GuiTreeViewTemplate* controlTemplate; - - public: - GuiTreeViewTemplate_StyleProvider(TemplateProperty factory); - ~GuiTreeViewTemplate_StyleProvider(); - - controls::GuiSelectableButton::IStyleController* CreateItemBackground()override; - controls::GuiSelectableButton::IStyleController* CreateItemExpandingDecorator()override; - Color GetTextColor()override; - }; - - class GuiTabTemplate_StyleProvider - : public GuiControlTemplate_StyleProvider - , public virtual controls::GuiTab::IStyleController - , public Description - { - protected: - GuiTabTemplate* controlTemplate; - - public: - GuiTabTemplate_StyleProvider(TemplateProperty factory); - ~GuiTabTemplate_StyleProvider(); - - void SetCommandExecutor(controls::ITabCommandExecutor* value)override; - void SetTabPages(Ptr value)override; - void SetSelectedTabPage(controls::GuiTabPage* value)override; - }; - - class GuiDatePickerTemplate_StyleProvider - : public GuiControlTemplate_StyleProvider - , public virtual controls::GuiDatePicker::IStyleProvider - , public Description - { - protected: - GuiDatePickerTemplate* controlTemplate; - - public: - GuiDatePickerTemplate_StyleProvider(TemplateProperty factory); - ~GuiDatePickerTemplate_StyleProvider(); - - controls::GuiSelectableButton::IStyleController* CreateDateButtonStyle()override; - GuiTextListTemplate_StyleProvider* CreateTextListStyle(); - controls::GuiTextList* CreateTextList()override; - controls::GuiComboBoxListControl::IStyleController* CreateComboBoxStyle()override; - Color GetBackgroundColor()override; - Color GetPrimaryTextColor()override; - Color GetSecondaryTextColor()override; - }; - - class GuiDateComboBoxTemplate_StyleProvider - : public GuiComboBoxTemplate_StyleProvider - , public Description - { - protected: - GuiDateComboBoxTemplate* controlTemplate; - - public: - GuiDateComboBoxTemplate_StyleProvider(TemplateProperty factory); - ~GuiDateComboBoxTemplate_StyleProvider(); - - controls::GuiDatePicker* CreateArgument(); - controls::GuiDatePicker::IStyleProvider* CreateDatePickerStyle(); - }; - -/*********************************************************************** -Helper Functions -***********************************************************************/ - - extern void SplitBySemicolon(const WString& input, collections::List& fragments); - -#pragma warning(pop) } } } diff --git a/Import/GacUICompiler.cpp b/Import/GacUICompiler.cpp index bec18573..7bfd302f 100644 --- a/Import/GacUICompiler.cpp +++ b/Import/GacUICompiler.cpp @@ -456,3540 +456,6 @@ GuiInstanceSharedScript } } -/*********************************************************************** -.\INSTANCEQUERY\GUIINSTANCEQUERY.CPP -***********************************************************************/ - -namespace vl -{ - namespace presentation - { - using namespace collections; - -/*********************************************************************** -ExecuteQueryVisitor -***********************************************************************/ - - class ExecuteQueryVisitor : public Object, public GuiIqQuery::IVisitor - { - public: - Ptr context; - List>& input; - List>& output; - - ExecuteQueryVisitor(Ptr _context, List>& _input, List>& _output) - :context(_context), input(_input), output(_output) - { - } - - static bool TestCtor(GuiIqPrimaryQuery* node, GlobalStringKey attribute, Ptr ctor) - { - if (node->attributeNameOption == GuiIqNameOption::Specified && node->attributeName.value != attribute.ToString()) - { - return false; - } - if (node->typeNameOption == GuiIqNameOption::Specified && node->typeName.value != ctor->typeName.ToString()) - { - return false; - } - if (node->referenceName.value != L"") - { - bool instanceName = ctor->instanceName != GlobalStringKey::Empty && node->referenceName.value == ctor->instanceName.ToString(); - bool styleName = ctor->styleName && node->referenceName.value == ctor->styleName.Value(); - return instanceName || styleName; - } - return true; - } - - void Traverse(GuiIqPrimaryQuery* node, Ptr setter) - { - if (setter) - { - FOREACH_INDEXER(GlobalStringKey, attribute, index, setter->setters.Keys()) - { - auto setterValue = setter->setters.Values()[index]; - FOREACH(Ptr, value, setterValue->values) - { - if (auto ctor = value.Cast()) - { - if (TestCtor(node, attribute, ctor)) - { - output.Add(ctor); - } - } - if (node->childOption == GuiIqChildOption::Indirect) - { - if (auto setter = value.Cast()) - { - Traverse(node, setter); - } - } - } - } - } - else - { - if (TestCtor(node, GlobalStringKey::Empty, context->instance)) - { - output.Add(context->instance); - } - if (node->childOption == GuiIqChildOption::Indirect) - { - Traverse(node, context->instance); - } - } - } - - void Visit(GuiIqPrimaryQuery* node)override - { - auto inputExists = &input; - if (inputExists) - { - FOREACH(Ptr, setter, input) - { - Traverse(node, setter); - } - } - else - { - Traverse(node, 0); - } - } - - void Visit(GuiIqCascadeQuery* node)override - { - List> temp; - ExecuteQuery(node->parent, context, input, temp); - ExecuteQuery(node->child, context, temp, output); - } - - void Visit(GuiIqSetQuery* node)override - { - List> first, second; - ExecuteQuery(node->first, context, input, first); - ExecuteQuery(node->second, context, input, second); - - switch (node->op) - { - case GuiIqBinaryOperator::ExclusiveOr: - CopyFrom(output, From(first).Except(second).Union(From(second).Except(second))); - break; - case GuiIqBinaryOperator::Intersect: - CopyFrom(output, From(first).Intersect(second)); - break; - case GuiIqBinaryOperator::Union: - CopyFrom(output, From(first).Union(second)); - break; - case GuiIqBinaryOperator::Substract: - CopyFrom(output, From(first).Except(second)); - break; - } - } - }; - -/*********************************************************************** -ExecuteQuery -***********************************************************************/ - - void ExecuteQuery(Ptr query, Ptr context, collections::List>& input, collections::List>& output) - { - ExecuteQueryVisitor visitor(context, input, output); - query->Accept(&visitor); - } - - void ExecuteQuery(Ptr query, Ptr context, collections::List>& output) - { - ExecuteQuery(query, context, *(List>*)0, output); - } - -/*********************************************************************** -ApplyStyle -***********************************************************************/ - - void ApplyStyleInternal(Ptr src, Ptr dst) - { - FOREACH_INDEXER(GlobalStringKey, attribute, srcIndex, src->setters.Keys()) - { - auto srcValue = src->setters.Values()[srcIndex]; - vint dstIndex = dst->setters.Keys().IndexOf(attribute); - if (dstIndex == -1) - { - dst->setters.Add(attribute, srcValue); - } - else - { - auto dstValue = dst->setters.Values()[dstIndex]; - if (srcValue->binding == dstValue->binding) - { - if (srcValue->binding == GlobalStringKey::_Set) - { - ApplyStyleInternal(srcValue->values[0].Cast(), dstValue->values[0].Cast()); - } - else - { - CopyFrom(dstValue->values, srcValue->values, true); - } - } - } - } - - FOREACH_INDEXER(GlobalStringKey, eventName, srcIndex, src->eventHandlers.Keys()) - { - if (!dst->eventHandlers.Keys().Contains(eventName)) - { - auto srcValue = src->eventHandlers.Values()[srcIndex]; - dst->eventHandlers.Add(eventName, srcValue); - } - } - - FOREACH_INDEXER(GlobalStringKey, varName, srcIndex, src->environmentVariables.Keys()) - { - if (!dst->environmentVariables.Keys().Contains(varName)) - { - auto srcValue = src->environmentVariables.Values()[srcIndex]; - dst->environmentVariables.Add(varName, srcValue); - } - } - } - - void ApplyStyle(Ptr style, Ptr ctor) - { - ApplyStyleInternal(style->setter->Clone().Cast(), ctor); - } - -/*********************************************************************** -GuiIqPrint -***********************************************************************/ - - class GuiIqPrintVisitor : public Object, public GuiIqQuery::IVisitor - { - public: - stream::StreamWriter& writer; - - GuiIqPrintVisitor(stream::StreamWriter& _writer) - :writer(_writer) - { - } - - void Visit(GuiIqPrimaryQuery* node)override - { - switch (node->childOption) - { - case GuiIqChildOption::Direct: - writer.WriteString(L"/"); - break; - case GuiIqChildOption::Indirect: - writer.WriteString(L"//"); - break; - } - - if (node->attributeNameOption == GuiIqNameOption::Specified) - { - writer.WriteChar(L'@'); - writer.WriteString(node->attributeName.value); - writer.WriteChar(L':'); - } - - if (node->typeNameOption == GuiIqNameOption::Specified) - { - writer.WriteString(node->typeName.value); - } - else - { - writer.WriteChar(L'*'); - } - - if (node->referenceName.value != L"") - { - writer.WriteChar(L'.'); - writer.WriteString(node->referenceName.value); - } - } - - void Visit(GuiIqCascadeQuery* node)override - { - node->parent->Accept(this); - node->child->Accept(this); - } - - void Visit(GuiIqSetQuery* node)override - { - writer.WriteChar(L'('); - node->first->Accept(this); - switch (node->op) - { - case GuiIqBinaryOperator::ExclusiveOr: - writer.WriteString(L" ^ "); - break; - case GuiIqBinaryOperator::Intersect: - writer.WriteString(L" * "); - break; - case GuiIqBinaryOperator::Union: - writer.WriteString(L" + "); - break; - case GuiIqBinaryOperator::Substract: - writer.WriteString(L" - "); - break; - } - node->second->Accept(this); - writer.WriteChar(L')'); - } - }; - - void GuiIqPrint(Ptr query, stream::StreamWriter& writer) - { - GuiIqPrintVisitor visitor(writer); - query->Accept(&visitor); - } - } -} - - -/*********************************************************************** -.\INSTANCEQUERY\GUIINSTANCEQUERY_AST.CPP -***********************************************************************/ -/*********************************************************************** -Vczh Library++ 3.0 -Developer: Zihan Chen(vczh) -Parser::GuiInstanceQuery_Parser.parser.txt - -This file is generated by: Vczh Parser Generator -***********************************************************************/ - - -namespace vl -{ - namespace presentation - { -/*********************************************************************** -Visitor Pattern Implementation -***********************************************************************/ - - void GuiIqPrimaryQuery::Accept(GuiIqQuery::IVisitor* visitor) - { - visitor->Visit(this); - } - - void GuiIqCascadeQuery::Accept(GuiIqQuery::IVisitor* visitor) - { - visitor->Visit(this); - } - - void GuiIqSetQuery::Accept(GuiIqQuery::IVisitor* visitor) - { - visitor->Visit(this); - } - - } -} -namespace vl -{ - namespace reflection - { - namespace description - { -#ifndef VCZH_DEBUG_NO_REFLECTION - using namespace vl::presentation; - -#define PARSING_TOKEN_FIELD(NAME)\ - CLASS_MEMBER_EXTERNALMETHOD_TEMPLATE(get_##NAME, NO_PARAMETER, vl::WString(ClassType::*)(), [](ClassType* node) { return node->NAME.value; }, L"*", L"*")\ - CLASS_MEMBER_EXTERNALMETHOD_TEMPLATE(set_##NAME, { L"value" }, void(ClassType::*)(const vl::WString&), [](ClassType* node, const vl::WString& value) { node->NAME.value = value; }, L"*", L"*")\ - CLASS_MEMBER_PROPERTY_REFERENCETEMPLATE(NAME, get_##NAME, set_##NAME, L"$This->$Name.value")\ - - IMPL_TYPE_INFO_RENAME(vl::presentation::GuiIqQuery, presentation::GuiIqQuery) - IMPL_TYPE_INFO_RENAME(vl::presentation::GuiIqNameOption, presentation::GuiIqNameOption) - IMPL_TYPE_INFO_RENAME(vl::presentation::GuiIqChildOption, presentation::GuiIqChildOption) - IMPL_TYPE_INFO_RENAME(vl::presentation::GuiIqPrimaryQuery, presentation::GuiIqPrimaryQuery) - IMPL_TYPE_INFO_RENAME(vl::presentation::GuiIqCascadeQuery, presentation::GuiIqCascadeQuery) - IMPL_TYPE_INFO_RENAME(vl::presentation::GuiIqBinaryOperator, presentation::GuiIqBinaryOperator) - IMPL_TYPE_INFO_RENAME(vl::presentation::GuiIqSetQuery, presentation::GuiIqSetQuery) - IMPL_TYPE_INFO_RENAME(vl::presentation::GuiIqQuery::IVisitor, presentation::GuiIqQuery::IVisitor) - - BEGIN_CLASS_MEMBER(GuiIqQuery) - CLASS_MEMBER_METHOD_OVERLOAD(Accept, {L"visitor"}, void(GuiIqQuery::*)(GuiIqQuery::IVisitor* visitor)) - END_CLASS_MEMBER(GuiIqQuery) - - BEGIN_ENUM_ITEM(GuiIqNameOption) - ENUM_ITEM_NAMESPACE(GuiIqNameOption) - ENUM_NAMESPACE_ITEM(Specified) - ENUM_NAMESPACE_ITEM(Any) - END_ENUM_ITEM(GuiIqNameOption) - - BEGIN_ENUM_ITEM(GuiIqChildOption) - ENUM_ITEM_NAMESPACE(GuiIqChildOption) - ENUM_NAMESPACE_ITEM(Direct) - ENUM_NAMESPACE_ITEM(Indirect) - END_ENUM_ITEM(GuiIqChildOption) - - BEGIN_CLASS_MEMBER(GuiIqPrimaryQuery) - CLASS_MEMBER_BASE(GuiIqQuery) - - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - - CLASS_MEMBER_FIELD(childOption) - CLASS_MEMBER_FIELD(attributeNameOption) - PARSING_TOKEN_FIELD(attributeName) - CLASS_MEMBER_FIELD(typeNameOption) - PARSING_TOKEN_FIELD(typeName) - PARSING_TOKEN_FIELD(referenceName) - END_CLASS_MEMBER(GuiIqPrimaryQuery) - - BEGIN_CLASS_MEMBER(GuiIqCascadeQuery) - CLASS_MEMBER_BASE(GuiIqQuery) - - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - - CLASS_MEMBER_FIELD(parent) - CLASS_MEMBER_FIELD(child) - END_CLASS_MEMBER(GuiIqCascadeQuery) - - BEGIN_ENUM_ITEM(GuiIqBinaryOperator) - ENUM_ITEM_NAMESPACE(GuiIqBinaryOperator) - ENUM_NAMESPACE_ITEM(ExclusiveOr) - ENUM_NAMESPACE_ITEM(Intersect) - ENUM_NAMESPACE_ITEM(Union) - ENUM_NAMESPACE_ITEM(Substract) - END_ENUM_ITEM(GuiIqBinaryOperator) - - BEGIN_CLASS_MEMBER(GuiIqSetQuery) - CLASS_MEMBER_BASE(GuiIqQuery) - - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - - CLASS_MEMBER_FIELD(first) - CLASS_MEMBER_FIELD(second) - CLASS_MEMBER_FIELD(op) - END_CLASS_MEMBER(GuiIqSetQuery) - - BEGIN_INTERFACE_MEMBER(GuiIqQuery::IVisitor) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(GuiIqQuery::IVisitor::*)(GuiIqPrimaryQuery* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(GuiIqQuery::IVisitor::*)(GuiIqCascadeQuery* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(GuiIqQuery::IVisitor::*)(GuiIqSetQuery* node)) - END_INTERFACE_MEMBER(GuiIqQuery) - -#undef PARSING_TOKEN_FIELD - - class GuiIqTypeLoader : public vl::Object, public ITypeLoader - { - public: - void Load(ITypeManager* manager) - { - ADD_TYPE_INFO(vl::presentation::GuiIqQuery) - ADD_TYPE_INFO(vl::presentation::GuiIqNameOption) - ADD_TYPE_INFO(vl::presentation::GuiIqChildOption) - ADD_TYPE_INFO(vl::presentation::GuiIqPrimaryQuery) - ADD_TYPE_INFO(vl::presentation::GuiIqCascadeQuery) - ADD_TYPE_INFO(vl::presentation::GuiIqBinaryOperator) - ADD_TYPE_INFO(vl::presentation::GuiIqSetQuery) - ADD_TYPE_INFO(vl::presentation::GuiIqQuery::IVisitor) - } - - void Unload(ITypeManager* manager) - { - } - }; -#endif - - bool GuiIqLoadTypes() - { -#ifndef VCZH_DEBUG_NO_REFLECTION - ITypeManager* manager=GetGlobalTypeManager(); - if(manager) - { - Ptr loader=new GuiIqTypeLoader; - return manager->AddTypeLoader(loader); - } -#endif - return false; - } - } - } -} - - -/*********************************************************************** -.\INSTANCEQUERY\GUIINSTANCEQUERY_PARSER.CPP -***********************************************************************/ -/*********************************************************************** -Vczh Library++ 3.0 -Developer: Zihan Chen(vczh) -Parser::GuiInstanceQuery_Parser.parser.txt - -This file is generated by: Vczh Parser Generator -***********************************************************************/ - - -namespace vl -{ - namespace presentation - { -/*********************************************************************** -ParserText -***********************************************************************/ - -const wchar_t parserTextBuffer[] = -L"\r\n" L"" -L"\r\n" L"class Query" -L"\r\n" L"{" -L"\r\n" L"}" -L"\r\n" L"" -L"\r\n" L"enum NameOption" -L"\r\n" L"{" -L"\r\n" L"\tSpecified," -L"\r\n" L"\tAny," -L"\r\n" L"}" -L"\r\n" L"" -L"\r\n" L"enum ChildOption" -L"\r\n" L"{" -L"\r\n" L"\tDirect," -L"\r\n" L"\tIndirect," -L"\r\n" L"}" -L"\r\n" L"" -L"\r\n" L"class PrimaryQuery : Query" -L"\r\n" L"{" -L"\r\n" L"\tChildOption\t\tchildOption;" -L"\r\n" L"\tNameOption\t\tattributeNameOption;" -L"\r\n" L"\ttoken\t\t\tattributeName;" -L"\r\n" L"\tNameOption\t\ttypeNameOption;" -L"\r\n" L"\ttoken\t\t\ttypeName;" -L"\r\n" L"\ttoken\t\t\treferenceName;" -L"\r\n" L"}" -L"\r\n" L"" -L"\r\n" L"class CascadeQuery : Query" -L"\r\n" L"{" -L"\r\n" L"\tQuery\t\t\tparent;" -L"\r\n" L"\tQuery\t\t\tchild;" -L"\r\n" L"}" -L"\r\n" L"" -L"\r\n" L"enum BinaryOperator" -L"\r\n" L"{" -L"\r\n" L"\tExclusiveOr," -L"\r\n" L"\tIntersect," -L"\r\n" L"\tUnion," -L"\r\n" L"\tSubstract," -L"\r\n" L"}" -L"\r\n" L"" -L"\r\n" L"class SetQuery : Query" -L"\r\n" L"{" -L"\r\n" L"\tQuery\t\t\tfirst;" -L"\r\n" L"\tQuery\t\t\tsecond;" -L"\r\n" L"\tBinaryOperator\top;" -L"\r\n" L"}" -L"\r\n" L"" -L"\r\n" L"token INDIRECT = \"////\";" -L"\r\n" L"token DIRECT = \"//\";" -L"\r\n" L"token NAME = \"[a-zA-Z_][a-zA-Z0-9]*\";" -L"\r\n" L"token WILDCARD = \"/*\";" -L"\r\n" L"token OPEN = \"/(\";" -L"\r\n" L"token CLOSE = \"/)\";" -L"\r\n" L"token XOR = \"/^\";" -L"\r\n" L"token INTERSECT = \"/*\";" -L"\r\n" L"token UNION = \"/+\";" -L"\r\n" L"token SUBSTRACT = \"-\";" -L"\r\n" L"token ATTRIBUTE = \"@\";" -L"\r\n" L"token COLON = \":\";" -L"\r\n" L"token DOT = \".\";" -L"\r\n" L"" -L"\r\n" L"discardtoken SPACE = \"/s+\";" -L"\r\n" L"" -L"\r\n" L"rule PrimaryQuery QPrimaryFragment" -L"\r\n" L"\t=\t(" -L"\r\n" L"\t\t\t(NAME : typeName with {typeNameOption=\"Specified\"})" -L"\r\n" L"\t\t\t| (\"*\" with {typeNameOption=\"Any\"})" -L"\r\n" L"\t\t)" -L"\r\n" L"\t\t[\".\" NAME : referenceName] as PrimaryQuery" -L"\r\n" L"\t;" -L"\r\n" L"" -L"\r\n" L"rule PrimaryQuery QPrimaryAttributed" -L"\r\n" L"\t= !QPrimaryFragment with {attributeNameOption=\"Any\"}" -L"\r\n" L"\t= \"@\" [NAME : attributeName] \":\" !QPrimaryFragment with {attributeNameOption=\"Specified\"}" -L"\r\n" L"\t;" -L"\r\n" L"" -L"\r\n" L"rule PrimaryQuery QPrimary" -L"\r\n" L"\t= (\"/\" with {childOption=\"Direct\"}) !QPrimaryAttributed" -L"\r\n" L"\t= (\"//\" with {childOption=\"Indirect\"}) !QPrimaryAttributed" -L"\r\n" L"\t= \"(\" !QueryRoot \")\"" -L"\r\n" L"\t;" -L"\r\n" L"" -L"\r\n" L"rule Query Query0" -L"\r\n" L"\t= !QPrimary" -L"\r\n" L"\t= Query0 : parent QPrimary : child as CascadeQuery;" -L"\r\n" L"" -L"\r\n" L"rule Query Query1" -L"\r\n" L"\t= !Query0" -L"\r\n" L"\t= Query1 : first \"^\" Query0 : second as SetQuery with {op=\"ExclusiveOr\"}" -L"\r\n" L"\t= Query1 : first \"*\" Query0 : second as SetQuery with {op=\"Intersect\"}" -L"\r\n" L"\t;" -L"\r\n" L"\t" -L"\r\n" L"rule Query Query2" -L"\r\n" L"\t= !Query1" -L"\r\n" L"\t= Query2 : first \"+\" Query1 : second as SetQuery with {op=\"Union\"}" -L"\r\n" L"\t= Query2 : first \"-\" Query1 : second as SetQuery with {op=\"Substract\"}" -L"\r\n" L"\t;" -L"\r\n" L"" -L"\r\n" L"rule Query QueryRoot" -L"\r\n" L"\t= !Query2" -L"\r\n" L"\t;" -; - - vl::WString GuiIqGetParserTextBuffer() - { - return parserTextBuffer; - } - -/*********************************************************************** -SerializedTable -***********************************************************************/ - -const vint parserBufferLength = 5788; // 27819 bytes before compressing -const vint parserBufferBlock = 1024; -const vint parserBufferRemain = 668; -const vint parserBufferRows = 6; -const char* parserBuffer[] = { -"\x00\x00\x81\x81\x84\x02\x81\x80\x07\x82\x00\x87\x80\x83\x21\x33\x3B\x31\x30\x64\x65\x11\x35\x35\x32\x39\x3D\x7F\x18\x99\x98\x8A\x85\x84\x8C\x28\x39\x69\x6D\x21\x36\x83\x8D\x8B\x8A\x8D\x19\x85\x08\x80\x0A\x90\x81\x92\x8B\x28\x99\x88\x0B\x93\x98\x83\x29\x32\x74\x2F\xA7\x91\x9B\x03\x94\x8E\x81\x1C\x8C\x8E\x90\x82\x8C\x8A\x8B\x96\x05\xC8\xA3\x28\x39\x34\x34\x33\x98\x1B\xBE\x81\x82\xAF\x81\x8A\x9C\x03\x2B\xD8\x80\x90\x33\x95\x32\x36\x3A\x50\xFF\x7F\x86\x81\x87\x8D\x91\x91\x79\x3A\x8D\x0B\x9B\xB0\x81\x30\x3A\x74\x20\xA2\x35\x34\x3D\x32\x27\x30\x6D\x65\x21\xA3\xB9\x85\xB0\x90\x91\x24\xC6\xB9\x33\x0B\x94\xC2\xB6\xB8\x72\xF4\xB6\xB8\xB5\x37\x24\x38\x3A\x69\x6F\x2E\x3B\xB2\xA8\x82\xB2\xC0\x69\x82\xFD\x88\x8B\xC8\x03\xA5\xA6\x64\x0E\xD0\xD2\xC4\xC8\x86\x8F\xBF\x68\xEA\xAC\xA1\x82\x3D\x32\x33\x8A\x5E\xE3\x0B\xD9\xB5\xD5\x8E\xBF\xB3\x81\xA6\xB5\x85\x8B\xDC\x39\x3C\x38\xB3\xFA\x90\xBC\xB0\x07\xD0\xDD\xCC\x26\x8E\x2B\x8A\xE0\x86\xDC\xE1\xBB\x79\xA2\xD1\xD3\xC0\xAB\xDE\x81\xDD\x37\xB9\x82\xC8\xA2\x80\xA6\x33\x34\x72\x73\x20\xB5\xE4\x99\x81\xEC\x9D\x02\x2B\xA9\xE0\x8F\x30\x39\xB0\xEB\x01\xD8\xF8\x97\xA9\xA9\x83\x39\x32\x63\x12\xCF\xB0\xA1\x0B\x97\x17\x95\xFD\x6B\x42\x83\x4A\x61\x61\x53\x80\x81\x05\xB1\x47\x80\x42\x09\x8A\x8B\x82\x40\x0D\xA8\x40\x7C\x40\xBB\x49\x1E\x10\x11\x49\x12\x15\x13\x10\x54\x04\x48\x42\x87\x00\x2F\x02\x8B\x7F\x08\xB1\x4A\x55\x41\x27\x98\x8A\x84\x87\xEB\x45\x4D\x8A\x88\x01\x25\x88\x48\x88\x02\x60\x8E\x11\x10\x4D\x05\x15\x07\x4A\x3B\x80\x4B\x15\x18\x2D\x3A\x11\x11\x0B\x5A\x1F\x1D\x17\x8F\x41\x83\x9A\x14\x0C\x2D\x39\x0D\x16\x0A\x2D\x90\x84\x78\x42\xBB\x57\x19\x10\x13\x44\x03\x11\x12\x14\x44\x11\x91\x43\x8B\x2A\x03\x02\x8E\x46\x34\x83\x41\x43\x13\x50\x05\x1E\x12\x97\x00\x6F\x88\x09\x99\x00\x61\x5C\x75\x40\x48\x43\x1C\x13\x13\x53\x05\x1C\x98\x00\x2F\xA9\x03\x9D\x9C\x50\x62\x98\x42\xA0\x00\x18\x1F\x12\x14\x7B\xAF\x8E\x17\x89\x52\xB1\x49\x03\x4A\x8F\x80\x46\x84\x15\x45\x12\x19\x9C\x8B\xEA\x41\x4F\x0A\x0A\x07\x23\x99\x4B\x4A\x48\x55\x1E\x11\x12\x4F\x2B\x99\xA4\x40\x2F\x2B\x03\x84\x00\x61\x51\xA5\x42\xAB\x53\x15\x12\x13\x14\x54\x12\x11\x10\x87\x31\x88\x49\xAC\x00\x2D\x2E\xAD\xA0\x4A\xBE\x81\x4E\xA9\x10\x54\x35\xA9\x12\x10\x55\x14\xAB\xAE\x40\xBB\x80\x1A\x02\xA7\x18\x7F\x9C\x4B\x54\x4F\x37\x9E\x13\xB2\x01\x7B\xAA\x0D\x67\xBF\x9A\x44\xA2\x40\x84\x84\x1F\x10\x15\xD8\x80\x4B\xAE\x0B\xC4\x61\x55\xBB\xB4\x08\x48\x53\x14\x14\xB7\x85\x1F\xB5\x40\x84\xAF\x03\x1F\x0A\x6D\x45\x41\x58\x89\x28\xB5\x7E\x4A\x60\x32\x10\x0B\x4A\xC0\xFF\xA6\x42\x0E\x0B\x52\x2F\x1F\x18\x1D\x53\x34\x13\x48\x1D\xDC\x81\x4D\x64\x10\x20\x24\x0C\x0E\x4E\x32\x3E\x0C\xA1\x40\x27\x98\xC4\x70\x47\x18\xEE\x0D\xC3\xC3\xCF\x88\x45\xC8\x00\x14\xD7\xC0\xC2\x0F\xAB\xBB\x61\x17\x65\x68\x67\xC2\x43\xC9\x2F\xE8\x66\x46\x0B\x31\x15\x2B\x4A\xCE\x00\x57\xC0\xCE\x45\x3E\x3A\x00\x08\x0A\x20\x22\x0F\x0A\x08\x14\xF7\x19\x18\x1D\x68\x20\x0B\x1C\x08\x9F\x4E\x52\x76\x64\x20\x3D\x05\xD0\x11\xE0\x78\x74\x1E\x08\x20\x3D\x10\x09\x0A\x20\x21\x05\xCF\x71\x41\x08\x69\x1B\x5C\x75\x64\x1D\x02\x02\x3E\xF6\xC9\x1D\xD0\x43\xC5\xD2\x88\xD2\x20\x0A\xDC\xD2\xD3\x50\xCC\x52\xD7\x63\xD3\x55\xD5\xD1\x12\x6E\x24\x19\xD7\x18\x5B\xDD\xDF\xD5\xD8\x63\xD8\x65\xD9\x5C\x67\xCA\x64\x19\xCB\x01\x49\xE1\xCF\x4A\x34\xFF\xC9\x1E\x0B\x32\x1F\x0B\x4A\xE6\x3D\xD2\xE0\xD2\xD0\x22\x28\x04\xDE\xD8\x82\x49\xCB\xC1\xD1\x29\x22\x04\xC1\x41\xAB\xDE\xE9\x1E\x11\x72\x21\x17\x19\x5E\x5F\x52\x0B\x4A\xED\x2E\x56\xE0\xEE\xEC\xB4\xF4\x18\xCD\x2A\x2B\x40\xFD\xE6\xEE\xB1\xF3\xEE\x54\x1D\x70\xC4\xD4\xD3\x8D\x39\xA0\x02\xD2\x73\xC1\x75\xDB\xD1\xD3\x4F\xD0\xF0\x75\x63\x7C\xD4\xD6\xD6\x08\x53\x00\x73\x19\x1A\xDF\x65\x14\x18\xD7\x5E\xE0\xDC\x1D\xDC\x22\x2A\x0C\xD6\xDD\xD4\xE0\x06\xF4\x63\x53\xEE\x1E\xDE\x08\x41\x2E\x19\x1C\xF9\x87\xE9\x04\xC7\x16\x45\xEE\x0C\xD4\xF3\x45\x0E\x78\x08\x2D\x3F\x35\xD6\x2E\x0A\x36\xD7\x60\x05\x17\x20\x0D\x20\x10\x16\x72\x27\xAB\x62\x21\xEB\x44\x7C\x77\xE3\x78\x75\x20\x17\x8E\x77\xEE\x46\x7F\x2A\xCC\x42\x7D\x20\x1F\x8D\x6F\x71\x1B\x8D\x77\xE4\x71\x68\x80\x02\x8F\x7D\x5E\x52\x77\x6F\xEA\x7F\x31\x38\xF1\x73\x7D\xF7\x78\x30\x7D\x34\x22\x78\x7F\xE6\x68\x7E\xFA\x2C\x8D\x7C\x15\x98\x7B\x34\xF2\x7B\x79\xFD\x77\x76\x70", -"\xB0\x7A\x78\x04\xFC\x62\x06\xFF\x20\x08\x84\xA1\x44\x80\x36\x07\x91\x7B\x02\x8D\x8F\x80\xC1\x17\x82\x20\x19\x96\x73\xE2\x09\x39\x6C\x0A\x2B\x26\x8B\xB9\x6E\x6F\x16\x8D\x79\x6C\xCC\x74\x0B\x25\x67\x83\x7A\x18\xE6\x68\x6C\xF1\x70\x68\x69\x74\x7C\x7D\x13\x8C\x8C\x8C\xC5\x09\x83\x81\x22\x1A\x04\xD7\x62\x64\x82\x0E\xB4\x0C\x87\x78\x6F\x2C\xE3\x6D\x87\x7B\x18\x9B\x7B\x86\xDF\x61\x7F\xF8\x5D\x61\x83\x80\x13\x86\x6D\x24\x96\x83\xED\x11\x7D\x8F\xDE\x6E\x03\x06\x1F\x82\x21\x08\x9A\x85\x79\x12\x82\x6A\x79\x4C\x98\x45\x00\xCF\x7F\x85\x04\xAC\x78\x6F\x3E\x86\x91\xD1\x08\x95\x87\x1B\x85\x88\x04\xE7\x64\x69\xFA\x6B\x73\x7A\x54\xA5\x90\x7E\xD9\x61\x89\xD1\x43\x88\x87\xC3\x49\x8E\x7F\x14\x73\x8F\x13\x86\x88\x80\xC6\x0A\x84\x81\x73\x0E\x82\xDB\x10\x83\x60\x4A\x90\x95\x93\xC7\x78\x03\x4A\x52\x91\x8D\x11\x90\x9D\x83\xA6\x74\x0D\x11\x01\x7D\x47\x82\x1D\x9E\x62\x9C\x95\x83\x57\x3E\x00\x04\x20\x17\x89\x20\x59\x8B\x8F\x20\x8E\x70\x8D\x82\x2D\x9E\x75\x63\x8D\x8C\x19\x38\x63\x19\x95\x35\x9A\x8D\x64\x75\x8D\xDA\x70\x6C\x8F\x67\xA2\x9C\x0E\x49\x75\x97\xD3\x02\x9C\x8A\x18\xB9\x93\x7E\xBC\x9D\x6B\xDA\x22\x8A\x70\x7D\xAE\x88\x74\x40\x1C\x6A\x1C\xA2\x92\x80\x82\xA4\x8A\x8A\x45\x7A\x8C\xE2\x15\x97\x79\x80\xAD\x84\x8E\xEB\x95\x2D\x21\x87\xA7\x90\xEF\x6D\x93\x91\x7D\x07\x9C\x40\x69\x99\x9F\x90\xA2\x7D\x9D\x02\x2F\x9E\x16\x8E\xA3\x9E\x1A\x29\x8D\x20\x37\xAC\xA0\x5A\x71\x9E\x71\x37\x91\xA0\x89\xA1\x8D\x7A\xD0\x16\xA4\x90\x63\xB8\x8A\x8F\x14\x7D\x9E\x35\xFF\x90\x91\x81\x8E\xA3\xA4\x40\x92\x86\x49\x8A\x94\x7C\x95\x80\x04\xA5\x0D\xAE\xA4\x19\x30\xA1\x20\x99\xAA\x9D\xA0\xF3\x93\x07\x4D\x82\x29\xA6\x78\xB4\xA6\xA7\x12\xA1\xAB\x28\xA0\xA5\xA1\x3B\x94\x61\x8F\x7B\x81\x9E\x1F\xCD\xAC\xAD\x8B\x90\xAD\x6F\x25\xB4\x84\x55\x8C\x9D\x99\x6A\x98\x31\x92\xB5\x73\x92\x5F\xE8\x20\xB0\xDF\x75\x01\x93\x01\x3B\x90\x47\xE3\x9F\x93\x13\x94\xA4\x94\xCF\x26\x9B\x29\xAE\x81\xB3\xE8\x24\xA3\x95\x53\xB6\x84\x4A\x87\x71\x97\xA2\x7B\x83\xB2\xEE\x77\x96\x65\xD1\xA2\x88\xFB\x7D\x90\x6C\xBF\x9F\x7F\x63\x83\x8E\x34\x28\x85\x9B\x85\x53\x89\x99\x15\xA6\x20\x08\xC8\x43\xB6\x22\x32\x61\x21\xE5\x6E\x67\x92\x5B\x2B\x26\xB7\xF8\x98\x32\x09\xC6\x64\x97\x8F\x91\x69\x34\x97\xA2\x04\xD6\x2D\x34\x71\x5E\x8A\xA9\xAB\x60\xA0\x0B\x42\xAE\x73\xB9\xB9\x74\xAF\xB8\xAA\x82\x04\xE0\x02\x7C\xB9\xC2\x65\x7B\xA3\x5F\xB7\xA0\x19\x52\xBC\x6C\xEA\xA0\x72\x74\x88\x65\x76\xC2\x7F\x82\x05\xD4\x66\x9A\xB0\x00\x06\xAE\x56\x9A\x0B\x24\xFA\xB7\xB1\x0F\x3C\xA5\x8D\x36\xDB\x94\x0D\x0B\x2B\x26\xBF\x00\x20\x9F\x4C\xDA\xA4\x9D\xDA\xA5\x3F\xBE\x8D\x80\x23\x23\xC7\x38\x61\xF5\xBC\xB9\x5F\x02\x39\x5E\x80\xEE\x65\xC1\x8D\x40\x25\x63\x82\x30\x06\x6D\xF1\xB9\xC3\x4B\x91\x0B\x25\x1F\xDD\x71\x86\xF0\x6A\x26\x18\x02\x84\x2B\x06\x9F\x8E\xEB\x02\x87\xB8\x64\xA0\x04\x2A\x44\x3A\x24\x79\xAA\x66\x24\x18\x3C\x9E\x75\x40\x16\xC0\x00\x18\xC5\xC7\x0D\xE5\xC0\x73\x3B\x0B\x25\x90\xA2\xC5\xC6\x12\xD9\xC7\xC4\x5D\x3F\x28\x08\x2B\xC2\x69\x16\xCD\x80\xC6\x56\x22\x31\x8E\xFE\x5C\xC3\x1E\xC7\xC5\xCA\x16\x30\x04\xCE\x43\xC5\x20\x2E\xF4\xC1\xCB\x46\xD5\xC4\x92\xA9\xC4\x62\x26\xF9\x68\x34\x2E\xD0\xC9\x51\x26\x2A\xC6\x1E\xD9\xCC\x39\x05\x30\xCF\x8F\xFB\xB1\x71\x88\x40\x25\x33\xE0\x83\xC5\x39\xED\xC1\x72\xC1\x31\x06\xC7\x7E\xCE\x04\x0D\x3E\x1B\x24\x42\xC4\xCE\x22\x31\x01\xCC\xA2\x82\x8F\x3B\xF0\x2C\xBB\x87\x25\xC2\x83\x7D\x79\x31\x70\x17\xE7\x3A\x30\x74\xAD\x3F\xFC\x00\x75\x2F\xF0\x1A\x6C\x7C\x33\xDA\x25\xA2\xC2\x64\x75\x1A\xE1\xD6\xCF\x8A\xD9\x0D\x0C\x0C\xD0\x3C\xF1\x05\x6E\x0B\x5C\x71\xD2\xD0\x13\xDA\x3E\x4B\xF3\x38\xD3\xA0\xBA\xD3\xF6\x45\x08\x0F\x31\x2C\x0D\x0E\x73\x09\x0E\x1D\x0D\x32\x0E\x50\xFC\xCD\x60\x88\xC0\xD2\x49\x31\x07\x92\x55\x2B\x26\xD9\x87\xCA\xD5\xAA\xAB\xD2\x69\x46\xEE\xD2\x04\xB0\xCB\xCB\x91\xB3\xD8\x3F\x5A\xCD\x87\xD2\xB4\xB9\xD0\x1C\x73\x7C\xD6\x5F\xC0\xDA\xD8\xC4\xC4\x7F\x74\xA8\xD2\x68\x51\xEC\xD6\xD1\x9E\xB1\xD7\xB6\xA0\x04\xD7\x4A\xDF\xDF\xD6\xE1\xD9\xD7\xB8\xDB\x7C\xD3\x8A\x13\xD6\xBB\xC7\xD8\xC9\x1E\x32\x0A\xD8\x8B\x07\x61\x06\xB8\x0B\x25\xC2\xD1\xD9\x62\x52\xE2\xD7\xD4\x06\x69\xD6\x0C\x6F\xD7\xDB\x15\x32\xDB\xD9\x92\xDD\xDA\xBD\xC9\x90\xDC\x8B\x22\xDB\x7E\x55\x0E\x0F\x74\x20\xDB\xDD\x88\xED\xD8\x60\x14\xEC\xBD\x0B\x17\xEB\xD0\x6E", -"\xD4\xD4\x0C\xB6\xDA\x3A\x49\x1F\xE7\x91\x3A\x22\x0A\x3C\xB1\x6D\xB9\xD7\x53\xC8\x20\x37\xC3\xE5\xE0\x03\xE2\xD0\x29\x2B\x23\xE8\x86\xD2\xE1\xE5\x45\x6B\xE6\xB6\x98\xEE\xE4\x6F\xDC\xE0\xDF\x16\x3E\xA1\xFB\x3A\xDB\x94\x9B\xF8\xE1\x0C\x3A\xFD\x0D\xC9\x86\xE7\xE9\x6A\xED\xD4\xBD\x16\xEB\xE9\xCB\xF4\xDA\xE2\x98\xF7\xDA\xE6\x51\xF4\xE5\xD1\x21\xE3\xE5\xAE\x41\xE2\xD4\x40\xEC\xD9\x0C\x50\xD5\x20\xBA\xDF\xCA\xDA\x27\xEC\xE8\x08\x56\xD0\xA1\x78\xE2\xE9\x0F\x26\xCD\xEB\xC6\xA0\x0D\xE3\x3C\x2A\xEA\xBB\x5F\x3E\xDF\xA7\x8A\xA5\xBC\x76\xFF\xEC\xDA\x7B\xFF\xEB\x5B\xD9\xD2\xD6\xB2\xEF\xE1\xE6\x3A\x27\xF1\xB9\xBF\xD1\xD9\x61\xCF\x0D\xD8\x6E\xF4\xCA\xA8\xF0\xC2\x20\x39\xC1\xD4\xCE\x64\x16\xCC\x00\x78\xC7\xEF\x44\xFB\xCA\xF4\x00\x60\xEB\xC1\x32\x05\xE9\x82\x35\xF7\xEE\x0D\xFF\xEF\xC4\xDE\xEE\xD1\xB7\xA1\xEE\xDD\x82\xE6\xEF\xD3\xE8\xE6\xF0\x7D\xE0\xE2\xE4\x92\x2A\xDD\xE3\xA6\xEA\xF7\x94\xEF\xAA\xE9\xC0\xF6\xF2\xD3\x84\xF0\xEB\xE2\xC2\xA0\x04\x54\xFC\x7A\xD5\xF1\x28\xEA\x80\xF0\xF6\x60\xA4\xE1\x22\xE9\x86\x6D\xC1\x85\x7C\xBA\xF5\xAC\xF8\x61\x81\xC1\x50\x20\x57\x7A\x21\x9B\xE8\xFD\xCE\x49\x59\x98\x67\x6E\x82\x25\x9B\x77\xF9\x9B\x8D\x80\x6C\xE7\x7E\x48\xDA\xD5\x71\x78\x39\x74\x72\x10\x76\x72\x6A\xD3\x68\x74\xD8\x64\x37\x95\x75\x6F\xC2\x74\x7D\xC4\x7A\x79\xBD\x6C\x79\xE8\x6F\x79\xCA\x7D\x7A\x07\x8C\x7B\xD7\x6A\x3E\x65\x63\x6F\x0C\x88\x79\xB8\x67\x7D\xD9\x7D\x6F\x9E\x69\x75\x6F\x71\x7B\x57\x61\x32\x33\x05\x7B\x02\x17\x7B\xEA\x79\x77\x06\x78\x80\x2B\x7B\x81\x7A\x7D\x81\x67\x79\x79\xC6\x75\x73\x37\x7C\x7D\x59\x7B\x75\x03\x7D\x75\x91\x70\x6F\x22\x06\x71\x32\x83\x76\x34\x83\x7C\x36\x80\x82\xFB\x6B\x76\xC8\x7E\x06\xE4\x3C\x7E\x00\x0E\x7E\xEA\x5B\x30\x01\x25\x10\x53\x8F\x7E\xEB\x55\x7E\xDA\x41\x38\xE1\x70\x10\x70\x69\x67\xF3\x7B\x5E\x05\x6E\x63\x96\x39\x5B\x00\x1B\x5B\x0C\x64\x03\x9C\x35\x10\x69\x8A\x53\x9F\x35\x34\xE8\x55\x6A\x16\x19\x4D\x6F\x59\x3A\x4E\x80\x85\x5F\x8B\x30\x86\x15\x10\x79\x86\x85\x0B\x38\x85\x23\x32\x07\x74\x0B\x85\x00\x00\x67\x14\x3E\x85\x71\x80\x86\x75\x82\x7F\x87\x8B\x30\x0F\x0B\x12\x8D\x8F\x7F\xF4\x7F\x87\x74\x00\x61\x01\x19\x2F\x29\x3C\x87\xC8\x32\x86\x6E\x36\x55\x58\x58\x16\x7E\x8E\x30\x80\x84\x89\x00\x16\x89\x15\x3C\x86\x6F\x3A\x89\xC7\x12\x88\x72\x66\x39\x22\x30\x8A\x74\x0F\x31\x01\x17\x89\x96\x3A\x31\xDF\x79\x65\x09\x60\x00\xAD\x3D\x61\xD9\x42\x89\xF1\x70\x10\x85\x87\x77\x36\x65\x82\x35\x60\x8B\xFF\x7A\x65\x92\x84\x86\x00\x07\x32\x97\x83\x62\xC2\x88\x68\xB7\x89\x8B\xCB\x6F\x89\x0F\x3D\x8B\x28\x35\x8A\x06\x8D\x8C\xAA\x64\x8C\x02\x7C\x6C\xC7\x84\x39\xB1\x80\x02\x16\x8F\x8C\xCE\x4B\x54\x7E\x46\x5F\x05\x16\x8E\x72\x56\x49\xBB\x8E\x8A\xF6\x71\x10\xDD\x4F\x8B\xE9\x87\x3C\x3E\x02\x8E\xF7\x55\x58\x16\x0B\x12\xF7\x85\x8F\xD7\x4E\x3B\x92\x8C\x55\x00\x1D\x4E\xB2\x8E\x4F\x7E\x4E\x03\x9C\x83\x8E\xD0\x52\x5E\x1C\x0B\x12\x09\x97\x5F\xF9\x52\x3E\xD2\x80\x88\x00\x65\x10\x11\x90\x8F\x03\x60\x56\x04\x90\x5F\xF2\x50\x56\xD4\x45\x10\x1B\x99\x91\xE2\x5D\x8A\x0F\x39\x8F\x05\x12\x92\x01\x9D\x52\x16\x94\x8F\xF1\x5B\x58\x74\x05\x90\xFA\x8F\x4F\x82\x68\x58\x00\x1A\x58\x02\x9E\x49\x71\x3B\x3C\xAB\x5E\x43\x74\x59\x4A\xC9\x5C\x4A\x7B\x5F\x5D\x9D\x53\x4B\x39\x92\x5A\x3F\x48\x57\xBB\x46\x5A\xAF\x48\x5A\xFD\x3A\x5A\x42\x5C\x5A\x05\x41\x1B\x18\x54\x45\xCB\x42\x65\x2C\x99\x92\xE1\x52\x4F\xFE\x80\x00\x5E\x56\x92\x1F\x95\x03\xF7\x45\x10\x5D\x96\x8A\x0D\x94\x06\x68\x50\x54\x73\x44\x54\x76\x46\x54\x19\x51\x57\x2A\x94\x57\x66\x92\x52\xB8\x44\x5A\x98\x5A\x57\x9A\x54\x72\xE5\x55\x91\xE2\x57\x63\x6B\x90\x5A\x6D\x96\x50\x70\x94\x3F\x46\x9D\x07\x40\x0D\x29\x3D\x75\x8B\x03\x72\x2D\x48\x1A\x13\x0F\x2D\x2D\x19\x19\x88\x90\x8B\x5E\x86\x9A\x88\x79\x02\x20\x21\x00\x2D\xFF\x08\x8A\x98\x1A\x8D\xB3\x56\x11\x02\x23\x02\x94\x98\x8D\x30\x0F\x98\xFF\x72\x20\x25\x0D\x99\x84\x91\x03\xA0\x92\x70\x02\x27\x02\x94\x98\x92\xF1\x8F\x15\x98\x91\x95\x26\x12\x20\x29\x04\x99\x53\x9E\x91\xF2\x4F\x9A\xC7\x18\x98\x2B\x1B\x02\x94\x9F\x01\xF3\x2C\x2A\xEB\x2F\x0F\x02\x2B\x2E\x89\x95\x9C\xC6\x91\x27\xC1\x90\x27\x7C\x27\x9C\x2B\x1A\x9C\xD2\x24\x9C\xC6\x98\x8D\x32\x02\x2D\x28\x0C\x9C\x83\x97\x9D\xDB\x82\x2D\x26\x06\x9D\xFE\x7D\x9D\x25\x6A\x9C\x02\x24\x8D\xD8\x59\x4B\x1B\x6B\x5D\x83\x34\x07\x96\x98\x16", -"\xFF\x01\x9C\xD2\x2B\x27\xC7\x9E\x9C\x2B\x10\x9D\xC5\x92\x9D\xD4\x9C\x9D\x02\x18\x8D\xA6\x9B\x12\xDB\x96\x9F\x17\x64\x98\x30\x00\x9E\x2B\x12\x9E\x7A\x38\x5C\x40\x41\x70\xCB\x5A\x35\xE9\x9A\x99\xC0\x94\x20\xAB\x2F\x9B\xCC\x9E\xA0\xCF\x9C\x9F\xFD\x98\x9D\x18\x35\x9F\x12\xA8\x9F\xDA\x92\xA1\x3B\x6E\x9F\xC5\x9B\x9E\x04\x2A\x63\x00\xA5\x9C\x10\xA7\x2A\xFC\x99\xA0\x79\x02\x2D\x2C\x0A\xA1\xB5\x96\x97\xF2\x42\x9F\xBC\x17\x65\x3E\x42\x20\xAC\x9A\x92\x1E\xAC\x20\x82\x99\x14\x1A\xAB\x27\xED\x9A\xA1\x26\xA8\xA2\x2A\xA8\x91\x2C\xAE\x38\x0C\x21\x9C\x82\x8A\x63\xC7\x9B\x2E\x3B\xA2\xA1\x26\xA3\xA4\x04\x2A\x9C\xEE\x91\x9D\xA0\x2B\x12\x0E\xA7\x9C\x3D\xAB\x12\x22\x0A\xA1\x8C\x92\x70\xD9\x41\xA1\x17\xA4\x98\xD3\x9B\x12\xD5\x9D\xA5\x14\xAE\x67\x19\xA2\xA6\xDE\x99\x61\x21\xA5\x10\x02\xA0\x1A\xF1\x35\x9E\x81\x37\x9E\x26\xA5\xA3\xFA\x29\xA4\xFC\x9A\x63\xD2\x23\xA5\xC6\x95\xA5\x08\x17\xA5\x12\xA9\xA5\x98\x8C\xA5\x75\xAE\xA5\x16\xA1\xA8\x63\xAB\x6C\x65\xA4\xA8\x67\xA5\x63\x69\xA2\x10\x6B\xAB\x37\x05\xA4\x65\x07\xA4\x38\x4B\xAB\xA0\x0C\x2D\xA0\x1A\xA7\x9A\xE0\x2C\xA3\x27\x86\x39\xD2\x2C\xA7\xFC\x9E\xA7\x51\x84\x07\x80\xA6\x9F\xF4\x90\xA6\x1A\xA8\xA1\xFA\x97\xAA\x1C\xA2\x20\x72\xA0\x21\xEB\x2B\x2A\xC7\x9F\xA4\xC5\x98\x9B\x98\x1A\x9B\x08\x13\xA3\x33\x97\x3C\x8B\xA2\x7E\xCB\x11\x10\x3A\x90\x44\x59\xAC\x93\x9A\x58\xAB\xE4\x8D\x3B\xFF\x0B\x27\xC7\xA0\x29\xCA\xAC\xA4\x1F\x24\xA2\xAE\xA1\xA5\x08\x18\xAC\xAF\xA2\xA5\x04\x2B\x2E\xEB\x29\x86\xCF\xA8\x10\x4E\x82\x8A\x94\xA6\x1B\x08\x1E\x01\xD5\xAB\x1A\xDF\xA1\xAE\x08\x17\xA3\x02\x1D\x01\xE4\xA5\x10\xC8\x88\xAE\xBA\x2B\x12\x29\xAD\x2E\x1A\xA4\xAB\xA9\x12\x18\x32\xAD\x57\x54\x95\xAC\xBA\xA6\x9C\xAA\x8E\xAB\x42\x91\x3F\xC1\xA9\x59\xE2\x34\xAC\x7F\x5B\x8F\x3A\x6F\xAE\xFC\x92\xB0\x84\x5B\x8F\x78\xA2\xA1\x2B\xA5\x95\x8E\x3B\xAB\x00\x19\x87\x02\x19\x87\x7B\x97\x57\x92\x1E\xA0\x84\x23\x44\x0D\xBA\x95\xF2\x49\xAC\xDA\xAB\xAC\xFA\x26\xAD\x9B\x39\xAE\x40\x1B\x12\xE0\xAC\xAC\xAF\x22\xAE\x21\xBA\xB2\x02\x17\xB2\x2B\xB5\xAE\x2B\x1C\xAE\x2F\xBA\xAE\x31\xB4\xB2\x66\x21\xAD\x36\xB0\x10\x74\xA9\xAD\x2F\xA3\x28\xF1\x9E\x8D\xF0\xA2\xA1\xF2\xA9\x1B\x0A\xA7\xAB\xF6\xAD\x9A\x74\x00\xB1\x83\x8D\xAB\xCD\x1D\xAF\xB9\x4F\xAF\x72\x91\xB0\x47\xBA\x92\x3A\x68\x8C\xC7\x98\xB0\x16\x15\x58\x0B\xBC\x9F\x1B\xB7\x90\xF2\x4A\xB4\x12\xB1\x10\x14\xBF\x54\x6F\x93\x1D\x50\xB9\x48\x9A\x5D\xB5\x3B\x54\x53\x89\x9D\xAA\x01\x1F\x0F\xB7\x86\xAE\xD9\x29\xB3\x1B\xA6\x1A\xC6\x9B\x2E\x4A\xBB\xAF\x4D\xB5\x59\x43\x92\x19\x67\xB7\x52\x58\xBF\x3A\xFB\x8D\xAD\x3C\xB7\x1D\x39\xA1\xAF\x95\x10\x00\x99\x91\x99\xF6\xA2\x41\x06\x99\xB0\xFF\x49\xB7\x4C\xB0\x00\xBF\xA3\x1D\x18\xB1\x10\x43\x41\xB8\x85\x5E\xB1\xFA\x2B\x27\x59\xA5\xB8\xC2\x2C\xB2\x6F\xBB\x2E\xDC\xAE\xB2\xA0\xBD\x17\xE3\xA8\xB2\x02\x12\xB7\x00\x12\xB3\xA7\xB9\x8C\x35\xBA\xBA\x73\xB8\x10\x19\x04\xB7\x4E\xA4\xB7\x3B\xB3\xBA\x57\x69\xA9\xED\xA8\x10\x06\xBD\x1D\x88\xB6\xB7\x96\x10\x9B\x45\xBC\x3A\x53\xB9\xAB\x5F\x12\xB9\x08\x10\x67\x95\xB7\xB1\xD4\xA0\x10\x99\xB7\xBC\xF8\xAF\x15\x05\xBA\xA1\x9A\xBA\xB0\x1A\xA2\x20\x6A\xB6\x11\x61\x90\xB6\x85\x11\x10\x15\xB5\xB6\xCE\xBE\xB3\xD0\xB6\x3F\xDB\xB8\x5F\x34\x5C\xB9\x02\x1F\xB9\xBA\xBD\xBB\x05\x1B\x01\x74\xBB\xAD\x74\xB4\x1C\xA6\xBD\xBE\x05\x15\xBA\x74\xBC\xBA\x00\x0E\xBA\xF6\xB3\x33\xB1\xB3\xB3\x35\x2E\xAC\xFD\xB4\x27\x02\xC8\x9C\xBB\xB4\x2F\x3F\xB6\x32\xD0\xAC\x9F\x43\xB8\x1C\xC5\xBE\xB8\x46\xBD\x92\x7E\x4A\xBC\x71\x6C\xAF\x7C\xB1\x3F\x97\xB5\xBE\x79\x07\xBD\xFF\x45\xB5\xD6\xB2\xBD\x03\xBF\x4F\x5B\xB6\x9F\xE7\xBD\xBD\xC6\x91\xB6\x11\xB0\xBE\x64\xB3\x5A\x66\xB0\xB2\xC2\xA2\x3E\x25\xCC\xB6\x0F\x2E\xB6\x71\x21\xB7\x09\xC0\xC0\x1C\x39\xB8\x0F\x28\xB7\xFA\xA3\xB9\xCD\xBE\x06\x19\xC0\x00\xD1\xB1\xC1\xF7\xA1\xC2\x7E\x42\xBB\x71\x2A\x63\xAA\x77\xA4\x37\xCF\x20\xDC\xA9\x2F\xE1\xB9\x17\xDA\xB0\xA4\x0E\xB9\x36\xAC\xA1\x9C\x8F\x84\xB3\xD9\xBD\xB6\xC1\x9A\x63\xC4\x1C\xC4\xEE\xBE\xC4\x2A\xB3\x4C\x4E\x97\x3D\xF5\xA4\xC4\x48\xBB\xC5\x03\xC6\xC0\xCB\xBA\xC6\x38\xC1\x27\x7B\x2C\xAD\xC3\x95\xC0\xCB\x98\x9D\x02\x12\xAB\x89\x91\xC3\x5A\x53\xC2\xDC\x93\xA9\xD6\x94\xC3\xAC\x20\xA2\x87\xB1\xB4\x5A\xCC\xB5\x54\xCC\xB1\x8E\x3E\xA2\x86\xB4\x25\x16\xC1\x1C\x67\xC6\xBC\x12\xC6\xAC\xC1\x9A\xBF\xD2", -"\x20\xC6\x38\xAA\xC0\x0C\xB7\xC8\x5E\xB2\xA4\x1A\xA0\xC8\xFF\x09\xC5\xFE\xBE\xC6\x6F\xC4\xB8\xF1\x1A\xA1\x8A\xCB\x20\x0D\xC6\xAB\x90\xCB\xCA\x48\xBA\xBE\x6F\xBE\xB9\x77\xBE\xAE\xCD\x91\xBC\xDE\xAA\xB8\xC4\xBC\xB8\x44\xC0\xC1\x45\xC0\xB9\x7E\x45\xBD\x12\xAC\xC1\x7E\x4C\xC7\xD6\x9A\xC7\x60\x5E\xBD\x08\x13\xB6\x2E\x56\xB1\x40\xCF\xBC\x42\xC6\xBE\x9A\xCB\xB6\x5A\x5E\xCA\xED\x71\xCB\x98\xC5\x10\x4A\xB2\x20\xA9\xC4\xAF\x8D\xBE\x48\x8F\xB9\xB5\x04\xB0\xB4\x07\xB0\xC2\xBC\xCD\x3B\xC2\xCC\x9C\xC4\xC2\x5E\xC6\xCA\x87\x2A\xC9\xCC\xE2\xBE\x06\x7F\xBA\x48\xE7\xC2\x4F\xC6\x9E\xC9\xEB\x20\xCA\x6E\xC2\xCD\xAC\x2B\x27\xB7\x83\xC7\x08\x1B\x9F\x2E\x24\x65\x02\x1E\xCF\xF6\x96\xA2\xE5\xC7\x9C\x9E\x98\xCF\x53\x8B\xC3\xF0\x57\xC7\x00\xD8\x4E\x9A\xAC\xC8\xF7\x57\xCA\x3A\xBB\xC0\xC7\x52\x20\x9E\x92\xCA\xFC\x94\xCF\xDF\xB8\xD1\xF9\xC4\x20\x7B\x27\x95\x3A\x60\xC8\xEB\x20\xBF\x48\xCF\x84\xA2\xBC\xC6\xB5\xCD\xB2\x74\xB8\xBF\x25\xDA\xBF\xFC\xB8\xD2\xA1\xC5\x10\x2F\xD0\x00\xEB\x21\xA6\xFF\xC6\xC7\x01\x16\xD3\xA4\xAE\x9F\x05\xD0\xA5\x85\xA8\x68\xF8\xCD\x8E\x13\xA3\xCA\xD7\xA1\xBF\x27\xD4\xCA\xA8\xB5\x10\xF5\xB0\xD3\x95\x86\xB2\xF9\xBF\xBF\xAF\xBB\xAE\x4D\xC1\x10\x33\xDB\x27\x3A\x63\xD3\x06\xDE\x9F\x12\xD5\xB7\xDD\x9C\x80\x16\xD5\x9A\x9E\xCE\xA0\x56\x5E\xA0\x80\xC7\xBB\x25\xD9\xBB\x4C\xD4\x21\xCC\xCF\x20\x7B\x2A\xBF\x02\xDC\x9D\x9E\x9B\xD5\x01\x78\x62\xC7\x3F\xD5\x3F\xD0\x78\x1D\xA1\x9C\xEB\x28\xC2\xCC\x9B\xD5\xD8\xC9\xB8\x6A\x6A\xCA\xF7\x9E\x9F\xF8\xC8\xCF\x20\xD4\xB7\x23\xD6\xD4\x08\x1C\xAD\x80\xC4\xBF\x2B\xDE\xD4\x2D\xD0\xD5\x6B\xC0\xBB\x08\x13\xD3\x35\xDB\xD6\xDC\x9A\x8D\x81\xDA\xCD\x38\xD3\xD4\x25\x6A\x63\x3A\xD0\xD7\x3C\xDC\xD1\x5C\xD3\xD8\xFF\x71\x03\x41\xDD\xD0\x69\xD0\x00\x2C\xD4\xD4\x23\xB5\xD2\xF2\xB5\xD2\x8E\xD1\xD9\x95\xD4\xB7\x52\xD1\xC6\x54\xD8\xD9\xD6\x9A\xD9\x0D\x15\x15\x6B\x6F\xC0\x39\xC7\xD7\x30\x07\xD5\xAA\xA2\xDC\x72\xD4\x65\x5E\xDA\xDA\x5C\xD2\x6A\x61\xDB\xD0\x08\xC5\xD2\x66\xD3\xCA\x68\xD8\xD4\x00\x06\xA9\x22\xA4\xCB\x25\xBB\x10\xBD\xD1\x63\x9C\xDD\x9D\xA6\xD2\x70\x30\x0E\xD6\xC5\xD9\xA8\x59\x67\xDC\xD8\x94\xD7\x5F\x16\xD7\xE4\xD8\xD7\xC7\x9E\xC9\xD1\xD6\x9F\x3A\xAE\xDC\xD6\x9E\x99\x4A\xBD\xA8\x04\xA3\x1D\x6E\xAC\x5D\x08\xAB\xA9\x6E\x3E\xC9\xD3\xD1\xAB\x0B\xC8\x45\xE3\xDF\xDD\xDF\x96\x9C\xF6\xD1\x3F\x06\xA0\xA7\xFC\xD7\x1C\xAB\xD5\x99\xBA\xDD\xD7\x01\xEE\xD0\x66\xA4\xE0\x19\x6A\xC6\x1A\xD4\xBB\xA4\xD5\xD8\x7B\x21\x91\x01\xC5\xD2\x89\xD0\xDB\x47\xDD\xD8\x90\xD3\xCA\xAD\xDC\x2C\x23\xEC\xD0\x9D\xD0\x00\x4B\xDC\x9C\xF8\x96\xDE\x5D\xD5\x76\xEA\xD4\xE1\x06\x38\xCF\x22\x9D\xE1\xAE\xD8\x10\x24\xD3\xCA\xB1\xD3\xCA\xB3\xD4\xE2\x27\xE3\xBB\x05\x1B\x2E\x56\xD3\xD5\xF3\xD5\x9A\x3D\xD3\x9F\x5E\xAD\xDC\x08\x1B\x91\x28\xE3\xCA\x2E\xD6\xDB\x92\xD7\x20\x6D\xD6\xAA\x13\xE1\xDC\xDB\x8B\xD5\xA7\x9C\x77\x31\xE6\xE5\xA2\x69\xD7\x74\xB5\xBB\x1C\xDA\xE1\xFF\x53\xCB\x1E\xEB\x12\x39\xEF\xBA\x3B\xEF\xBA\x3D\xEF\xBA\x25\xE0\xE4\x2A\xD8\xB3\x29\xEB\xE2\x59\xD7\xD7\x31\x0E\xE2\xDF\xD9\xDC\x29\xEE\x73\x32\x04\xE3\x64\xE7\xE3\x6A\x8A\xD8\xF7\xB3\xBF\x3F\xEB\xDA\x6D\xE6\x2E\x44\xE5\xC7\xDE\xDE\xE6\xA2\xD4\xE7\x47\xE9\x98\xD2\x9A\xE4\x1C\x94\xC7\x80\xCF\xE4\x25\xD7\xDB\x89\x93\xE5\x08\x11\xDA\x45\xE4\xE7\x58\xEB\xC0\x5A\xEA\xDC\x3E\x71\x03\x5E\xE5\xD2\x67\xE7\xCF\xC1\x9B\x27\x0B\x97\xD3\x7E\xE2\x10\xD8\xA3\xD9\x69\xEA\xE8\x00\x1E\xA9\x4D\xEF\xDD\x02\x12\xEB\x8B\xEB\xDE\x32\x0D\xE8\x0F\x20\xAA\x77\x80\x16\xC1\x9E\xA0\xE6\x83\xEB\x93\xDB\xE6\x93\xD5\xE8\x03\x28\xE9\x41\xE3\xE0\x5C\xE0\x30\x9D\xE4\xC8\x9F\xE9\xE7\x90\x92\x03\xA3\xE3\xCA\xA5\xE6\xE1\xA7\xEA\x90\x92\xE2\xB2\x08\x1D\xEA\xAB\xDF\xEA\x86\xEB\xA7\x74\xCA\x63\xB6\xEB\xE9\xB8\xEA\xEB\x0B\x2C\xEB\x8B\x8E\xEB\x04\x20\xEC\xD9\xEA\xC3\x01\x1B\xE2\x80\xC6\xEC\x02\x28\xEC\x26\xE5\xE5\x9E\xDC\xEC\xC6\x99\xE5\x5F\x7B\xE5\xF7\xE6\x30\xF6\x9E\xC9\x94\xEC\x9F\x78\xCF\x20\x1B\x65\x78\xFC\xEB\xDC\x7E\x6A\xB4\x89\x21\x10\xED\x19\xA5\x22\x8F\x6F\xF8\x9D\xE0\x96\xE0\xDF\x0F\xDD\xB3\x00\x06\xF0\xA0\xE0\x99\x31\x0A\xF0\x24\xAD\x1E\xD4\x8B\x79\xE7\x6E\x79\x72\x01\xF1\xA4\xD3\xD9\x62\x13\xE8\xCC\x93\xF0\x0B\x25\xF0\xD5\x77\xF0\x7A\xEC\xF1\x70\xE0\x00\xED\x17\x9A\x6C\x72\x19\x8F\xE1\x9C\xF2\xE6\x9C\x2A\xF7\x20\x2C\xF4\x7C\x2E\xF1", -"\xED\x30\xFA\xEA\x0D\xFE\xC2\xDB\x79\x73\x74\x02\x9D\x19\xDA\xD7\xAF\xD8\xD1\x9E\xCB\x27\x20\x04\xCD\x05\x1E\xA0\x43\xE4\xBE\x9F\xA0\xB2\x98\x86\xEE\x3C\xFB\xE0\x98\x1F\xC7\xC9\x94\xC7\xC7\x93\xA2\xB5\xD6\xEF\x08\xF6\xA8\xA9\xA2\xF6\x3E\x7F\x9F\x06\xE1\xA0\x01\x13\x9E\x40\x49\xDF\x0A\xE0\xD1\xBB\xC0\x13\xEC\x9E\xF5\xC6\x90\xF6\x32\xDA\xEC\xFD\xE8\x68\x87\xAB\xD3\xC2\xD5\xDF\x6A\xF0\x10\x6C\xF3\x1D\x09\xED\x5D\x93\xAE\xC9\xD6\xD2\xF0\x11\xED\xBA\x78\xF3\xF6\x7A\xF5\xF6\x88\xA2\xE3\x59\x63\xC3\x5D\xF1\xF3\xF6\x90\x9F\xA9\xBF\xF8\xCB\xE6\x30\x83\xAC\xF7\xEB\xD9\x9F\xFD\xCB\xF8\x67\xFE\xF7\x9C\x1B\xF6\x03\xAD\xA6\x57\x66\x9E\x84\xFA\xF5\xEA\x93\xF7\x94\xFC\x9D\x96\xFA\xD4\xA0\xF1\xED\x9B\xF7\xEB\x90\xFA\x6A\x7B\xF4\xFB\x99\xF9\x65\xA2\xFA\xA6\xA4\xFC\xA6\xB9\x43\xF8\xFB\xD0\xF7\xAE\x3D\xE0\x87\xF6\x9F\x76\xFF\xE6\x98\xF9\xF7\x85\x94\xE5\xC9\xFC\xF8\xB6\xFE\xF8\x9C\xF5\xFB\x30\x05\xF2\x0D\xEE\xED\x25\xFE\xC9\x02\x23\xEE\xD4\xF2\xF9\x4D\xA4\xF7\xC5\x98\xA9\x01\x1A\xFD\xC7\x98\xEE\x79\x0B\xA5\x87\xE3\xE7\xB8\xE3\xFB\xE4\xE5\xFB\x9E\xF5\x10\x6F\xDB\xFE\xB9\xF0\x78\xBB\xFC\xA8\xBD\xFE\xA8\xF8\xD7\xFA\x6F\xA9\xFA\xC2\xF6\x39\xFE\xDE\xFD\x89\x90\xFE\xB1\x70\x4B\x56\x7B\x50\x53\xAA\x38\x7E\xF2\x7F\x52\x99\x71\xF6\x67\x6D\xDB\x70\xFF\x4A\x7C\xDA\x65\x4E\x07\x77\xF7\x50\x55\xB7\x76\xF1\x43\x7C\x75\x6E\x70\x54\x7D\xF2\x49\x7C\x00\x02\xFE\x46\x4C\xF9\x66\x7F\xB8\x6D\x01\x8E\x7E\x04\x85\x10\x1A\x74\x8B\x65\x4D\x0C\x87\x04\x82\x6F\x2B\x64\x20\x02\x10\x09\x1B\x7E\xCC\x4E\xBD\x7E\x7E\x85\x6D\xAC\x10\x83\xDF\x7E\x0C\xA5\x7C\x3C\x78\x7E\xFD\x62\xA9\x2A\x7E\xDC\x64\x10\xFF\x68\xEA\x76\x71\x07\x11\x01\x8F\x54\x76\x51\x54\xE8\x4E\x07\x8C\x5C\xC3\x7F\xE0\x57\x7D\x70\x42\x10\xEF\x78\x06\x87\x10\x19\x8D\xFA\x56\x4D\x7C\x7F\x7C\x66\x78\x32\x4F\x81\xC4\x45\x04\xF7\x7C\xDC\x68\x7D\xC1\x7D\x02\xBC\x7E\xD6\x7A\xEA\x14\x78\x21\x61\x68\x0A\x80\xBC\x73\x7E\x89\x15\xFF\x77\x6E\xCD\x73\x80\xFA\x7A\x0C\xAE\x1A\xE2\x7D\x04\xC2\x80\x01\x78\x82\xCD\x7F\xEC\x6C\x80\x06\x12\x20\x26\x82\x14\x9B\x83\xFA\x17\xBD\x5C\x4F\xE3\x79\xD3\x69\x82\xA8\x29\x81\xE8\x7A\xFA\x6B\x83\x3B\x3D\x06\xA6\x7F\x17\x99\x7F\x61\x83\x91\x71\x7B\x8B\x04\x06\xC2\x76\x75\x44\x84\x00\x0E\x0F\xBE\x69\xCE\x78\x08\x9B\x86\x22\x89\x7B\xA3\x78\xF0\x79\x80\x23\x8D\x9D\x48\x81\xE1\x61\x4E\xC5\x7C\x3B\x57\x83\x12\x86\x08\xE4\x50\xF4\x66\x80\xCE\x7B\xFA\x74\x5A\xE1\x4B\x12\x2A\x03\x1F\x8D\x6F\x5D\x65\xCF\x76\x4E\x6D\x79\x98\x1B\x31\x8C\x5B\x66\x0A\x35\x9B\x42\x5D\x7F\x20\xF0\x1B\x80\xF5\x78\x7E\xB2\x67\x16\x93\x76\x08\x12\xC8\x12\x53\x2A\x82\x08\xBF\x5C\x3B\x71\x67\x44\x69\xA7\x30\x52\x50\x4F\x64\xBA\x65\x95\x53\x64\x63\x86\x07\x93\x6A\xEF\x5F\x51\x08\x0D\x13\x5C\x5E\x19\x6F\xBA\x7F\x05\x91\x4A\x86\xA2\x60", -}; - - void GuiIqGetParserBuffer(vl::stream::MemoryStream& stream) - { - vl::stream::MemoryStream compressedStream; - for (vint i = 0; i < parserBufferRows; i++) - { - vint size = i == parserBufferRows - 1 ? parserBufferRemain : parserBufferBlock; - compressedStream.Write((void*)parserBuffer[i], size); - } - compressedStream.SeekFromBegin(0); - vl::stream::LzwDecoder decoder; - vl::stream::DecoderStream decoderStream(compressedStream, decoder); - vl::collections::Array buffer(65536); - while (true) - { - vl::vint size = decoderStream.Read(&buffer[0], 65536); - if (size == 0) break; - stream.Write(&buffer[0], size); - } - stream.SeekFromBegin(0); - } -/*********************************************************************** -Unescaping Function Foward Declarations -***********************************************************************/ - -/*********************************************************************** -Parsing Tree Conversion Driver Implementation -***********************************************************************/ - - class GuiIqTreeConverter : public vl::parsing::ParsingTreeConverter - { - public: - using vl::parsing::ParsingTreeConverter::SetMember; - - bool SetMember(GuiIqNameOption& member, vl::Ptr node, const TokenList& tokens) - { - vl::Ptr token=node.Cast(); - if(token) - { - if(token->GetValue()==L"Specified") { member=GuiIqNameOption::Specified; return true; } - else if(token->GetValue()==L"Any") { member=GuiIqNameOption::Any; return true; } - else { member=GuiIqNameOption::Specified; return false; } - } - member=GuiIqNameOption::Specified; - return false; - } - - bool SetMember(GuiIqChildOption& member, vl::Ptr node, const TokenList& tokens) - { - vl::Ptr token=node.Cast(); - if(token) - { - if(token->GetValue()==L"Direct") { member=GuiIqChildOption::Direct; return true; } - else if(token->GetValue()==L"Indirect") { member=GuiIqChildOption::Indirect; return true; } - else { member=GuiIqChildOption::Direct; return false; } - } - member=GuiIqChildOption::Direct; - return false; - } - - bool SetMember(GuiIqBinaryOperator& member, vl::Ptr node, const TokenList& tokens) - { - vl::Ptr token=node.Cast(); - if(token) - { - if(token->GetValue()==L"ExclusiveOr") { member=GuiIqBinaryOperator::ExclusiveOr; return true; } - else if(token->GetValue()==L"Intersect") { member=GuiIqBinaryOperator::Intersect; return true; } - else if(token->GetValue()==L"Union") { member=GuiIqBinaryOperator::Union; return true; } - else if(token->GetValue()==L"Substract") { member=GuiIqBinaryOperator::Substract; return true; } - else { member=GuiIqBinaryOperator::ExclusiveOr; return false; } - } - member=GuiIqBinaryOperator::ExclusiveOr; - return false; - } - - void Fill(vl::Ptr tree, vl::Ptr obj, const TokenList& tokens) - { - } - - void Fill(vl::Ptr tree, vl::Ptr obj, const TokenList& tokens) - { - SetMember(tree->childOption, obj->GetMember(L"childOption"), tokens); - SetMember(tree->attributeNameOption, obj->GetMember(L"attributeNameOption"), tokens); - SetMember(tree->attributeName, obj->GetMember(L"attributeName"), tokens); - SetMember(tree->typeNameOption, obj->GetMember(L"typeNameOption"), tokens); - SetMember(tree->typeName, obj->GetMember(L"typeName"), tokens); - SetMember(tree->referenceName, obj->GetMember(L"referenceName"), tokens); - } - - void Fill(vl::Ptr tree, vl::Ptr obj, const TokenList& tokens) - { - SetMember(tree->parent, obj->GetMember(L"parent"), tokens); - SetMember(tree->child, obj->GetMember(L"child"), tokens); - } - - void Fill(vl::Ptr tree, vl::Ptr obj, const TokenList& tokens) - { - SetMember(tree->first, obj->GetMember(L"first"), tokens); - SetMember(tree->second, obj->GetMember(L"second"), tokens); - SetMember(tree->op, obj->GetMember(L"op"), tokens); - } - - vl::Ptr ConvertClass(vl::Ptr obj, const TokenList& tokens)override - { - if(obj->GetType()==L"PrimaryQuery") - { - vl::Ptr tree = new GuiIqPrimaryQuery; - vl::collections::CopyFrom(tree->creatorRules, obj->GetCreatorRules()); - Fill(tree, obj, tokens); - Fill(tree.Cast(), obj, tokens); - return tree; - } - else if(obj->GetType()==L"CascadeQuery") - { - vl::Ptr tree = new GuiIqCascadeQuery; - vl::collections::CopyFrom(tree->creatorRules, obj->GetCreatorRules()); - Fill(tree, obj, tokens); - Fill(tree.Cast(), obj, tokens); - return tree; - } - else if(obj->GetType()==L"SetQuery") - { - vl::Ptr tree = new GuiIqSetQuery; - vl::collections::CopyFrom(tree->creatorRules, obj->GetCreatorRules()); - Fill(tree, obj, tokens); - Fill(tree.Cast(), obj, tokens); - return tree; - } - else - return 0; - } - }; - - vl::Ptr GuiIqConvertParsingTreeNode(vl::Ptr node, const vl::collections::List& tokens) - { - GuiIqTreeConverter converter; - vl::Ptr tree; - converter.SetMember(tree, node, tokens); - return tree; - } - -/*********************************************************************** -Parsing Tree Conversion Implementation -***********************************************************************/ - - vl::Ptr GuiIqPrimaryQuery::Convert(vl::Ptr node, const vl::collections::List& tokens) - { - return GuiIqConvertParsingTreeNode(node, tokens).Cast(); - } - - vl::Ptr GuiIqCascadeQuery::Convert(vl::Ptr node, const vl::collections::List& tokens) - { - return GuiIqConvertParsingTreeNode(node, tokens).Cast(); - } - - vl::Ptr GuiIqSetQuery::Convert(vl::Ptr node, const vl::collections::List& tokens) - { - return GuiIqConvertParsingTreeNode(node, tokens).Cast(); - } - -/*********************************************************************** -Parser Function -***********************************************************************/ - - vl::Ptr GuiIqParseAsParsingTreeNode(const vl::WString& input, vl::Ptr table, vl::collections::List>& errors, vl::vint codeIndex) - { - vl::parsing::tabling::ParsingState state(input, table, codeIndex); - state.Reset(L"QueryRoot"); - vl::Ptr parser=vl::parsing::tabling::CreateStrictParser(table); - vl::Ptr node=parser->Parse(state, errors); - return node; - } - - vl::Ptr GuiIqParseAsParsingTreeNode(const vl::WString& input, vl::Ptr table, vl::vint codeIndex) - { - vl::collections::List> errors; - return GuiIqParseAsParsingTreeNode(input, table, errors, codeIndex); - } - - vl::Ptr GuiIqParse(const vl::WString& input, vl::Ptr table, vl::collections::List>& errors, vl::vint codeIndex) - { - vl::parsing::tabling::ParsingState state(input, table, codeIndex); - state.Reset(L"QueryRoot"); - vl::Ptr parser=vl::parsing::tabling::CreateStrictParser(table); - vl::Ptr node=parser->Parse(state, errors); - if(node && errors.Count()==0) - { - return GuiIqConvertParsingTreeNode(node, state.GetTokens()).Cast(); - } - return 0; - } - - vl::Ptr GuiIqParse(const vl::WString& input, vl::Ptr table, vl::vint codeIndex) - { - vl::collections::List> errors; - return GuiIqParse(input, table, errors, codeIndex); - } - -/*********************************************************************** -Table Generation -***********************************************************************/ - - vl::Ptr GuiIqLoadTable() - { - vl::stream::MemoryStream stream; - GuiIqGetParserBuffer(stream); - vl::Ptr table=new vl::parsing::tabling::ParsingTable(stream); - table->Initialize(); - return table; - } - - } -} - - -/*********************************************************************** -.\GUIINSTANCELOADER.CPP -***********************************************************************/ - -namespace vl -{ - namespace presentation - { - using namespace collections; - using namespace parsing; - using namespace parsing::xml; - using namespace parsing::tabling; - using namespace controls; - using namespace regex; - using namespace reflection::description; - using namespace stream; - using namespace workflow; - using namespace workflow::analyzer; - using namespace workflow::typeimpl; - -/*********************************************************************** -GuiInstancePropertyInfo -***********************************************************************/ - - Ptr GuiInstancePropertyInfo::Unsupported() - { - return new GuiInstancePropertyInfo; - } - - Ptr GuiInstancePropertyInfo::Assign(Ptr typeInfo) - { - auto info = MakePtr(); - info->support = SupportAssign; - if (typeInfo) info->acceptableTypes.Add(typeInfo); - return info; - } - - Ptr GuiInstancePropertyInfo::AssignWithParent(Ptr typeInfo) - { - auto info = Assign(typeInfo); - info->mergability = MergeWithParent; - return info; - } - - Ptr GuiInstancePropertyInfo::Collection(Ptr typeInfo) - { - auto info = Assign(typeInfo); - info->support = SupportCollection; - return info; - } - - Ptr GuiInstancePropertyInfo::CollectionWithParent(Ptr typeInfo) - { - auto info = Collection(typeInfo); - info->mergability = MergeWithParent; - return info; - } - - Ptr GuiInstancePropertyInfo::Set(Ptr typeInfo) - { - auto info = MakePtr(); - info->support = SupportSet; - if (typeInfo) info->acceptableTypes.Add(typeInfo); - return info; - } - - Ptr GuiInstancePropertyInfo::Array(Ptr typeInfo) - { - auto info = MakePtr(); - info->support = SupportArray; - if (typeInfo) info->acceptableTypes.Add(typeInfo); - return info; - } - -/*********************************************************************** -IGuiInstanceLoader -***********************************************************************/ - - void IGuiInstanceLoader::ClearReflectionCache() - { - } - - void IGuiInstanceLoader::GetRequiredPropertyNames(const TypeInfo& typeInfo, collections::List& propertyNames) - { - } - - void IGuiInstanceLoader::GetPropertyNames(const TypeInfo& typeInfo, collections::List& propertyNames) - { - } - - void IGuiInstanceLoader::GetPairedProperties(const PropertyInfo& propertyInfo, collections::List& propertyNames) - { - } - - Ptr IGuiInstanceLoader::GetPropertyType(const PropertyInfo& propertyInfo) - { - return nullptr; - } - - bool IGuiInstanceLoader::CanCreate(const TypeInfo& typeInfo) - { - return false; - } - - Ptr IGuiInstanceLoader::CreateRootInstance(GuiResourcePrecompileContext& precompileContext, types::ResolvingResult& resolvingResult, const TypeInfo& typeInfo, ArgumentMap& arguments, GuiResourceError::List& errors) - { - CHECK_FAIL(L"IGuiInstanceLoader::CreateControlTemplateArgument(types::ResolvingResult&, const TypeInfo&, Ptr, collections::List&)#This function is not implemented."); - } - - Ptr IGuiInstanceLoader::InitializeRootInstance(GuiResourcePrecompileContext& precompileContext, types::ResolvingResult& resolvingResult, const TypeInfo& typeInfo, GlobalStringKey variableName, ArgumentMap& arguments, GuiResourceError::List& errors) - { - return nullptr; - } - - Ptr IGuiInstanceLoader::CreateInstance(GuiResourcePrecompileContext& precompileContext, types::ResolvingResult& resolvingResult, const TypeInfo& typeInfo, GlobalStringKey variableName, ArgumentMap& arguments, GuiResourceTextPos tagPosition, GuiResourceError::List& errors) - { - CHECK_FAIL(L"IGuiInstanceLoader::CreateInstance(types::ResolvingResult&, const TypeInfo&, GlobalStringKey, ArgumentMap&, collections::List&)#This function is not implemented."); - } - - Ptr IGuiInstanceLoader::AssignParameters(GuiResourcePrecompileContext& precompileContext, types::ResolvingResult& resolvingResult, const TypeInfo& typeInfo, GlobalStringKey variableName, ArgumentMap& arguments, GuiResourceTextPos attPosition, GuiResourceError::List& errors) - { - CHECK_FAIL(L"IGuiInstanceLoader::AssignParameters(types::ResolvingResult&, const TypeInfo&, GlobalStringKey, ArgumentMap&, collections::List&)#This function is not implemented."); - } - - Ptr IGuiInstanceLoader::GetParameter(GuiResourcePrecompileContext& precompileContext, types::ResolvingResult& resolvingResult, const PropertyInfo& propertyInfo, GlobalStringKey variableName, GuiResourceTextPos attPosition, GuiResourceError::List& errors) - { - CHECK_FAIL(L"IGuiInstanceLoader::GetParameter(types::ResolvingResult&, const PropertyInfo&, GlobalStringKey, collections::List&)#This function is not implemented."); - } - -/*********************************************************************** -GuiInstanceContext::ElementName Parser -***********************************************************************/ - - class GuiInstanceContextElementNameParser : public Object, public IGuiParser - { - typedef GuiInstanceContext::ElementName ElementName; - public: - Regex regexElementName; - - GuiInstanceContextElementNameParser() - :regexElementName(L"(([a-zA-Z_]/w*):)?(([a-zA-Z_]/w*).)?([a-zA-Z_]/w*)(-([a-zA-Z_]/w*))?") - { - } - - Ptr ParseInternal(const WString& text, collections::List>& errors)override - { - Ptr match = regexElementName.MatchHead(text); - if (!match || match->Result().Length() != text.Length()) - { - errors.Add(MakePtr(L"Failed to parse an element name \"" + text + L"\".")); - return nullptr; - } - - Ptr elementName = new ElementName; - if (match->Groups().Keys().Contains(L"namespaceName")) - { - elementName->namespaceName = match->Groups()[L"namespaceName"][0].Value(); - } - if (match->Groups().Keys().Contains(L"category")) - { - elementName->category = match->Groups()[L"category"][0].Value(); - } - if (match->Groups().Keys().Contains(L"name")) - { - elementName->name = match->Groups()[L"name"][0].Value(); - } - if (match->Groups().Keys().Contains(L"binding")) - { - elementName->binding = match->Groups()[L"binding"][0].Value(); - } - return elementName; - } - }; - -/*********************************************************************** -GuiDefaultInstanceLoader -***********************************************************************/ - -#define CTOR_PARAM_PREFIX\ - static const wchar_t Prefix[] = L"";\ - static const vint PrefixLength = (vint)sizeof(Prefix) / sizeof(*Prefix) - 1;\ - -#define CTOR_PARAM_NAME(NAME) (NAME).Right((NAME).Length() - PrefixLength) - - class GuiDefaultInstanceLoader : public Object, public IGuiInstanceLoader - { - protected: - typedef Tuple FieldKey; - typedef Tuple, IPropertyInfo*> PropertyType; - - Dictionary propertyTypes; - Dictionary defaultConstructors; - Dictionary instanceConstructors; - public: - IMethodInfo* GetDefaultConstructor(ITypeDescriptor* typeDescriptor) - { - IMethodInfo* ctor = nullptr; - vint index = defaultConstructors.Keys().IndexOf(typeDescriptor); - if (index == -1) - { - if (auto ctors = typeDescriptor->GetConstructorGroup()) - { - vint count = ctors->GetMethodCount(); - for (vint i = 0; i < count; i++) - { - IMethodInfo* method = ctors->GetMethod(i); - if (method->GetParameterCount() == 0) - { - ctor = method; - break; - } - } - } - defaultConstructors.Add(typeDescriptor, ctor); - } - else - { - ctor = defaultConstructors.Values()[index]; - } - return ctor; - } - - IMethodInfo* GetInstanceConstructor(ITypeDescriptor* typeDescriptor) - { - CTOR_PARAM_PREFIX - - IMethodInfo* ctor = nullptr; - vint index = instanceConstructors.Keys().IndexOf(typeDescriptor); - if (index == -1) - { - if (dynamic_cast(typeDescriptor)) - { - if (auto group = typeDescriptor->GetConstructorGroup()) - { - if (group->GetMethodCount() == 1) - { - auto method = group->GetMethod(0); - vint count = method->GetParameterCount(); - for (vint i = 0; i < count; i++) - { - const auto& name = method->GetParameter(i)->GetName(); - if (name.Length() <= PrefixLength || name.Left(PrefixLength) != Prefix) - { - goto FINISHED; - } - - if (!typeDescriptor->GetPropertyByName(CTOR_PARAM_NAME(name), false)) - { - goto FINISHED; - } - } - ctor = method; - } - } - } - FINISHED: - instanceConstructors.Add(typeDescriptor, ctor); - } - else - { - ctor = instanceConstructors.Values()[index]; - } - return ctor; - } - - GlobalStringKey GetTypeName()override - { - return GlobalStringKey::Empty; - } - - void ClearReflectionCache()override - { - propertyTypes.Clear(); - defaultConstructors.Clear(); - instanceConstructors.Clear(); - } - - //*********************************************************************************** - - ITypeInfo* ProcessGenericType(ITypeInfo* propType, bool& readableList, bool& writableList, bool& collectionType) - { - readableList = false; - writableList = false; - collectionType = false; - if (propType->GetDecorator() == ITypeInfo::SharedPtr && propType->GetElementType()->GetDecorator() == ITypeInfo::Generic) - { - auto genericType = propType->GetElementType(); - if (genericType->GetTypeDescriptor() == description::GetTypeDescriptor()) - { - readableList = true; - writableList = true; - collectionType = true; - return genericType->GetGenericArgument(0); - } - else if (genericType->GetTypeDescriptor() == description::GetTypeDescriptor()) - { - readableList = true; - writableList = true; - collectionType = true; - return genericType->GetGenericArgument(0); - } - else if (genericType->GetTypeDescriptor() == description::GetTypeDescriptor()) - { - collectionType = true; - return genericType->GetGenericArgument(0); - } - else if (genericType->GetTypeDescriptor() == description::GetTypeDescriptor()) - { - readableList = true; - collectionType = true; - return genericType->GetGenericArgument(0); - } - else if (genericType->GetTypeDescriptor() == description::GetTypeDescriptor()) - { - readableList = true; - collectionType = true; - return genericType->GetGenericArgument(0); - } - else if (genericType->GetTypeDescriptor() == description::GetTypeDescriptor()) - { - collectionType = true; - return nullptr; - } - else if (genericType->GetTypeDescriptor() == description::GetTypeDescriptor()) - { - collectionType = true; - return nullptr; - } - } - return propType; - } - - ITypeInfo* GetPropertyReflectionTypeInfo(const PropertyInfo& propertyInfo, GuiInstancePropertyInfo::Support& support) - { - support = GuiInstancePropertyInfo::NotSupport; - IPropertyInfo* prop = propertyInfo.typeInfo.typeInfo->GetTypeDescriptor()->GetPropertyByName(propertyInfo.propertyName.ToString(), true); - if (prop) - { - ITypeInfo* propType = prop->GetReturn(); - bool readableList = false; - bool writableList = false; - bool collectionType = false; - auto propValueType = ProcessGenericType(propType, readableList, writableList, collectionType); - - if (prop->IsWritable()) - { - if (collectionType) - { - if (readableList) - { - support = GuiInstancePropertyInfo::SupportArray; - return propValueType; - } - } - else - { - support = GuiInstancePropertyInfo::SupportAssign; - return propValueType; - } - } - else if (prop->IsReadable()) - { - if (collectionType) - { - if (writableList) - { - support = GuiInstancePropertyInfo::SupportCollection; - return propValueType; - } - } - else - { - if (propType->GetDecorator() == ITypeInfo::SharedPtr || propType->GetDecorator() == ITypeInfo::RawPtr) - { - if (propType->GetElementType()->GetDecorator() != ITypeInfo::Generic) - { - support = GuiInstancePropertyInfo::SupportSet; - return propValueType; - } - } - } - } - } - return nullptr; - } - - void CollectPropertyNames(const TypeInfo& typeInfo, ITypeDescriptor* typeDescriptor, collections::List& propertyNames) - { - vint propertyCount = typeDescriptor->GetPropertyCount(); - for (vint i = 0; i < propertyCount; i++) - { - GlobalStringKey propertyName = GlobalStringKey::Get(typeDescriptor->GetProperty(i)->GetName()); - if (!propertyNames.Contains(propertyName)) - { - auto info = GetPropertyType(PropertyInfo(typeInfo, propertyName)); - if (info && info->support != GuiInstancePropertyInfo::NotSupport) - { - propertyNames.Add(propertyName); - } - } - } - - vint parentCount = typeDescriptor->GetBaseTypeDescriptorCount(); - for (vint i = 0; i < parentCount; i++) - { - CollectPropertyNames(typeInfo, typeDescriptor->GetBaseTypeDescriptor(i), propertyNames); - } - } - - //*********************************************************************************** - - void GetRequiredPropertyNames(const TypeInfo& typeInfo, collections::List& propertyNames)override - { - if (CanCreate(typeInfo)) - { - CTOR_PARAM_PREFIX - - if (auto ctor = GetInstanceConstructor(typeInfo.typeInfo->GetTypeDescriptor())) - { - vint count = ctor->GetParameterCount(); - for (vint i = 0; i < count; i++) - { - const auto& name = ctor->GetParameter(i)->GetName(); - propertyNames.Add(GlobalStringKey::Get(CTOR_PARAM_NAME(name))); - } - } - } - } - - void GetPropertyNames(const TypeInfo& typeInfo, collections::List& propertyNames)override - { - GetRequiredPropertyNames(typeInfo, propertyNames); - CollectPropertyNames(typeInfo, typeInfo.typeInfo->GetTypeDescriptor(), propertyNames); - } - - PropertyType GetPropertyTypeCached(const PropertyInfo& propertyInfo) - { - CTOR_PARAM_PREFIX - - FieldKey key(propertyInfo.typeInfo.typeInfo->GetTypeDescriptor(), propertyInfo.propertyName); - vint index = propertyTypes.Keys().IndexOf(key); - if (index == -1) - { - GuiInstancePropertyInfo::Support support = GuiInstancePropertyInfo::NotSupport; - if (ITypeInfo* propType = GetPropertyReflectionTypeInfo(propertyInfo, support)) - { - Ptr result = new GuiInstancePropertyInfo; - result->support = support; - result->acceptableTypes.Add(CopyTypeInfo(propType)); - - if (auto ctor = GetInstanceConstructor(propertyInfo.typeInfo.typeInfo->GetTypeDescriptor())) - { - vint count = ctor->GetParameterCount(); - for (vint i = 0; i < count; i++) - { - const auto& name = ctor->GetParameter(i)->GetName(); - if (CTOR_PARAM_NAME(name) == propertyInfo.propertyName.ToString()) - { - result->usage = GuiInstancePropertyInfo::ConstructorArgument; - result->bindability = GuiInstancePropertyInfo::Bindable; - } - } - } - - IPropertyInfo* prop = propertyInfo.typeInfo.typeInfo->GetTypeDescriptor()->GetPropertyByName(propertyInfo.propertyName.ToString(), true); - PropertyType value(result, prop); - propertyTypes.Add(key, value); - return value; - } - else - { - PropertyType value(GuiInstancePropertyInfo::Unsupported(), 0); - propertyTypes.Add(key, value); - return value; - } - } - else - { - return propertyTypes.Values()[index]; - } - } - - Ptr GetPropertyType(const PropertyInfo& propertyInfo)override - { - return GetPropertyTypeCached(propertyInfo).f0; - } - - //*********************************************************************************** - - bool CanCreate(const TypeInfo& typeInfo)override - { - return - GetDefaultConstructor(typeInfo.typeInfo->GetTypeDescriptor()) != nullptr || - GetInstanceConstructor(typeInfo.typeInfo->GetTypeDescriptor()) != nullptr; - } - - Ptr CreateInstance(GuiResourcePrecompileContext& precompileContext, types::ResolvingResult& resolvingResult, const TypeInfo& typeInfo, GlobalStringKey variableName, ArgumentMap& arguments, GuiResourceTextPos tagPosition, GuiResourceError::List& errors)override - { - CTOR_PARAM_PREFIX - auto defaultCtor = GetDefaultConstructor(typeInfo.typeInfo->GetTypeDescriptor()); - auto instanceCtor = GetInstanceConstructor(typeInfo.typeInfo->GetTypeDescriptor()); - - auto create = MakePtr(); - if (defaultCtor) - { - create->type = GetTypeFromTypeInfo(defaultCtor->GetReturn()); - } - else - { - create->type = GetTypeFromTypeInfo(instanceCtor->GetReturn()); - - vint count = instanceCtor->GetParameterCount(); - for (vint i = 0; i < count; i++) - { - const auto& name = instanceCtor->GetParameter(i)->GetName(); - auto key = GlobalStringKey::Get(CTOR_PARAM_NAME(name)); - - vint index = arguments.Keys().IndexOf(key); - if (index == -1) - { - return nullptr; - } - else - { - create->arguments.Add(arguments.GetByIndex(index)[0].expression); - } - } - } - - auto refValue = MakePtr(); - refValue->name.value = variableName.ToString(); - - auto assign = MakePtr(); - assign->op = WfBinaryOperator::Assign; - assign->first = refValue; - assign->second = create; - - auto stat = MakePtr(); - stat->expression = assign; - return stat; - } - - Ptr AssignParameters(GuiResourcePrecompileContext& precompileContext, types::ResolvingResult& resolvingResult, const TypeInfo& typeInfo, GlobalStringKey variableName, ArgumentMap& arguments, GuiResourceTextPos attPosition, GuiResourceError::List& errors)override - { - auto block = MakePtr(); - - FOREACH_INDEXER(GlobalStringKey, prop, index, arguments.Keys()) - { - PropertyType propertyType = GetPropertyTypeCached(PropertyInfo(typeInfo, prop)); - if (propertyType.f1) - { - switch (propertyType.f0->support) - { - case GuiInstancePropertyInfo::SupportCollection: - { - const auto& values = arguments.GetByIndex(index); - if (values.Count() > 0) - { - { - auto refValue = MakePtr(); - refValue->name.value = variableName.ToString(); - - auto refProp = MakePtr(); - refProp->parent = refValue; - refProp->name.value = prop.ToString(); - - auto varDesc = MakePtr(); - varDesc->name.value = L""; - varDesc->expression = refProp; - - auto stat = MakePtr(); - stat->variable = varDesc; - block->statements.Add(stat); - } - - for (vint i = 0; i < values.Count(); i++) - { - auto refCollection = MakePtr(); - refCollection->name.value = L""; - - auto refAdd = MakePtr(); - refAdd->parent = refCollection; - refAdd->name.value = L"Add"; - - auto call = MakePtr(); - call->function = refAdd; - call->arguments.Add(values[i].expression); - - auto stat = MakePtr(); - stat->expression = call; - block->statements.Add(stat); - } - } - } - break; - case GuiInstancePropertyInfo::SupportArray: - { - auto refArray = MakePtr(); - FOREACH(ArgumentInfo, item, arguments.GetByIndex(index)) - { - auto argument = MakePtr(); - argument->key = item.expression; - refArray->arguments.Add(argument); - } - - auto refValue = MakePtr(); - refValue->name.value = variableName.ToString(); - - auto refProp = MakePtr(); - refProp->parent = refValue; - refProp->name.value = prop.ToString(); - - auto assign = MakePtr(); - assign->op = WfBinaryOperator::Assign; - assign->first = refProp; - assign->second = refArray; - - auto stat = MakePtr(); - stat->expression = assign; - block->statements.Add(stat); - } - break; - case GuiInstancePropertyInfo::SupportAssign: - { - auto& propertyValue = arguments.GetByIndex(index)[0]; - if (propertyValue.expression) - { - - auto refValue = MakePtr(); - refValue->name.value = variableName.ToString(); - - auto refProp = MakePtr(); - refProp->parent = refValue; - refProp->name.value = prop.ToString(); - - auto assign = MakePtr(); - assign->op = WfBinaryOperator::Assign; - assign->first = refProp; - assign->second = propertyValue.expression; - - auto stat = MakePtr(); - stat->expression = assign; - block->statements.Add(stat); - } - } - break; - default: - errors.Add(GuiResourceError({ resolvingResult.resource }, attPosition, - L"Precompile: Property \"" + - prop.ToString() + - L"\" of type \"" + - typeInfo.typeName.ToString() + - L"\" is not assignable.")); - } - } - } - - if (block->statements.Count() > 0) - { - return block; - } - return nullptr; - } - - Ptr GetParameter(GuiResourcePrecompileContext& precompileContext, types::ResolvingResult& resolvingResult, const PropertyInfo& propertyInfo, GlobalStringKey variableName, GuiResourceTextPos attPosition, GuiResourceError::List& errors)override - { - auto refValue = MakePtr(); - refValue->name.value = variableName.ToString(); - - auto refProp = MakePtr(); - refProp->parent = refValue; - refProp->name.value = propertyInfo.propertyName.ToString(); - - return refProp; - } - }; -#undef CTOR_PARAM_NAME -#undef CTOR_PARAM_PREFIX - -/*********************************************************************** -GuiInstanceLoaderManager -***********************************************************************/ - - IGuiInstanceLoaderManager* instanceLoaderManager = 0; - - IGuiInstanceLoaderManager* GetInstanceLoaderManager() - { - return instanceLoaderManager; - } - - class GuiInstanceLoaderManager : public Object, public IGuiInstanceLoaderManager, public IGuiPlugin - { - protected: - typedef Dictionary> BinderMap; - typedef Dictionary> EventBinderMap; - typedef List> DeserializerList; - - struct VirtualTypeInfo - { - GlobalStringKey typeName; - ITypeDescriptor* typeDescriptor = nullptr; - GlobalStringKey parentTypeName; // for virtual type only - Ptr loader; - - List parentTypes; // all direct or indirect base types that does not has a type info - List parentTypeInfos; // type infos for all registered direct or indirect base types - }; - - typedef Dictionary> VirtualTypeInfoMap; - - Ptr rootLoader; - BinderMap binders; - EventBinderMap eventBinders; - DeserializerList deserializers; - VirtualTypeInfoMap typeInfos; - - bool IsTypeExists(GlobalStringKey name) - { - return GetGlobalTypeManager()->GetTypeDescriptor(name.ToString()) != 0 || typeInfos.Keys().Contains(name); - } - - void FindParentTypeInfos(Ptr typeInfo, ITypeDescriptor* searchType) - { - if (searchType != typeInfo->typeDescriptor) - { - vint index = typeInfos.Keys().IndexOf(GlobalStringKey::Get(searchType->GetTypeName())); - if (index == -1) - { - typeInfo->parentTypes.Add(searchType); - } - else - { - typeInfo->parentTypeInfos.Add(typeInfos.Values()[index].Obj()); - return; - } - } - - vint count = searchType->GetBaseTypeDescriptorCount(); - for (vint i = 0; i < count; i++) - { - ITypeDescriptor* baseType = searchType->GetBaseTypeDescriptor(i); - FindParentTypeInfos(typeInfo, baseType); - } - } - - void FillParentTypeInfos(Ptr typeInfo) - { - if (typeInfo->parentTypeName != GlobalStringKey::Empty) - { - typeInfo->typeDescriptor = nullptr; - } - typeInfo->parentTypes.Clear(); - typeInfo->parentTypeInfos.Clear(); - - ITypeDescriptor* searchType = typeInfo->typeDescriptor; - if (!searchType) - { - vint index = typeInfos.Keys().IndexOf(typeInfo->parentTypeName); - if (index == -1) - { - searchType = GetGlobalTypeManager()->GetTypeDescriptor(typeInfo->parentTypeName.ToString()); - typeInfo->typeDescriptor = searchType; - typeInfo->parentTypes.Add(searchType); - } - else - { - VirtualTypeInfo* parentTypeInfo = typeInfos.Values()[index].Obj(); - typeInfo->typeDescriptor = parentTypeInfo->typeDescriptor; - typeInfo->parentTypeInfos.Add(parentTypeInfo); - return; - } - } - - if (searchType) - { - FindParentTypeInfos(typeInfo, searchType); - } - } - - IGuiInstanceLoader* GetLoaderFromType(ITypeDescriptor* typeDescriptor) - { - vint index = typeInfos.Keys().IndexOf(GlobalStringKey::Get(typeDescriptor->GetTypeName())); - if (index == -1) - { - vint count = typeDescriptor->GetBaseTypeDescriptorCount(); - for (vint i = 0; i < count; i++) - { - ITypeDescriptor* baseType = typeDescriptor->GetBaseTypeDescriptor(i); - IGuiInstanceLoader* loader = GetLoaderFromType(baseType); - if (loader) return loader; - } - return 0; - } - else - { - return typeInfos.Values()[index]->loader.Obj(); - } - } - public: - GuiInstanceLoaderManager() - { - rootLoader = new GuiDefaultInstanceLoader; - } - - GUI_PLUGIN_NAME(GacUI_Instance) - { - GUI_PLUGIN_DEPEND(GacUI_Parser); - } - - void Load()override - { - instanceLoaderManager = this; - IGuiParserManager* manager = GetParserManager(); - manager->SetParser(L"INSTANCE-ELEMENT-NAME", new GuiInstanceContextElementNameParser); - } - - void Unload()override - { - instanceLoaderManager = nullptr; - } - - bool AddInstanceBinder(Ptr binder)override - { - if (binders.Keys().Contains(binder->GetBindingName())) return false; - binders.Add(binder->GetBindingName(), binder); - return true; - } - - IGuiInstanceBinder* GetInstanceBinder(GlobalStringKey bindingName)override - { - vint index = binders.Keys().IndexOf(bindingName); - return index == -1 ? nullptr : binders.Values()[index].Obj(); - } - - bool AddInstanceEventBinder(Ptr binder)override - { - if (eventBinders.Keys().Contains(binder->GetBindingName())) return false; - eventBinders.Add(binder->GetBindingName(), binder); - return true; - } - - IGuiInstanceEventBinder* GetInstanceEventBinder(GlobalStringKey bindingName)override - { - vint index = eventBinders.Keys().IndexOf(bindingName); - return index == -1 ? nullptr : eventBinders.Values()[index].Obj(); - } - - bool AddInstanceDeserializer(Ptr deserializer)override - { - if (deserializers.Contains(deserializer.Obj())) return false; - deserializers.Add(deserializer); - return true; - } - - IGuiInstanceDeserializer* GetInstanceDeserializer(description::ITypeInfo* typeInfo)override - { - FOREACH(Ptr, deserializer, deserializers) - { - if (deserializer->CanDeserialize(typeInfo)) - { - return deserializer.Obj(); - } - } - return nullptr; - } - - bool CreateVirtualType(GlobalStringKey parentType, Ptr loader)override - { - if (IsTypeExists(loader->GetTypeName()) || !IsTypeExists(parentType)) return false; - - Ptr typeInfo = new VirtualTypeInfo; - typeInfo->typeName = loader->GetTypeName(); - typeInfo->parentTypeName = parentType; - typeInfo->loader = loader; - typeInfos.Add(loader->GetTypeName(), typeInfo); - FillParentTypeInfos(typeInfo); - - return true; - } - - bool SetLoader(Ptr loader)override - { - vint index = typeInfos.Keys().IndexOf(loader->GetTypeName()); - if (index != -1) return false; - - ITypeDescriptor* typeDescriptor = GetGlobalTypeManager()->GetTypeDescriptor(loader->GetTypeName().ToString()); - if (typeDescriptor == 0) return false; - - Ptr typeInfo = new VirtualTypeInfo; - typeInfo->typeName = loader->GetTypeName(); - typeInfo->typeDescriptor = typeDescriptor; - typeInfo->loader = loader; - typeInfos.Add(typeInfo->typeName, typeInfo); - FillParentTypeInfos(typeInfo); - - FOREACH(Ptr, derived, typeInfos.Values()) - { - if (derived->parentTypes.Contains(typeInfo->typeDescriptor)) - { - FillParentTypeInfos(derived); - } - } - - return true; - } - - IGuiInstanceLoader* GetLoader(GlobalStringKey typeName)override - { - vint index = typeInfos.Keys().IndexOf(typeName); - if (index != -1) - { - return typeInfos.Values()[index]->loader.Obj(); - } - - ITypeDescriptor* typeDescriptor = GetGlobalTypeManager()->GetTypeDescriptor(typeName.ToString()); - if (typeDescriptor) - { - IGuiInstanceLoader* loader = GetLoaderFromType(typeDescriptor); - return loader ? loader : rootLoader.Obj(); - } - return 0; - } - - IGuiInstanceLoader* GetParentLoader(IGuiInstanceLoader* loader)override - { - vint index = typeInfos.Keys().IndexOf(loader->GetTypeName()); - if (index != -1) - { - Ptr typeInfo = typeInfos.Values()[index]; - if (typeInfo->parentTypeInfos.Count() > 0) - { - return typeInfo->parentTypeInfos[0]->loader.Obj(); - } - return rootLoader.Obj(); - } - return 0; - } - - Ptr GetTypeInfoForType(GlobalStringKey typeName)override - { - vint index = typeInfos.Keys().IndexOf(typeName); - auto td = index == -1 - ? GetGlobalTypeManager()->GetTypeDescriptor(typeName.ToString()) - : typeInfos.Values()[index]->typeDescriptor; - if (!td) return nullptr; - - if (auto ctor = td->GetConstructorGroup()) - { - return CopyTypeInfo(ctor->GetMethod(0)->GetReturn()); - } - else - { - return MakePtr(MakePtr(td, TypeInfoHint::Normal)); - } - } - - void GetVirtualTypes(collections::List& typeNames)override - { - for (vint i = 0; i < typeInfos.Count(); i++) - { - if (typeInfos.Values()[i]->parentTypeName != GlobalStringKey::Empty) - { - typeNames.Add(typeInfos.Keys()[i]); - } - } - } - - GlobalStringKey GetParentTypeForVirtualType(GlobalStringKey virtualType)override - { - vint index = typeInfos.Keys().IndexOf(virtualType); - if (index != -1) - { - auto typeInfo = typeInfos.Values()[index]; - return typeInfo->parentTypeName; - } - return GlobalStringKey::Empty; - } - - void ClearReflectionCache()override - { - rootLoader->ClearReflectionCache(); - FOREACH(Ptr, info, typeInfos.Values()) - { - info->loader->ClearReflectionCache(); - } - } - }; - GUI_REGISTER_PLUGIN(GuiInstanceLoaderManager) - } -} - - -/*********************************************************************** -.\GUIINSTANCELOADER_PREDEFINEDINSTANCEBINDERS.CPP -***********************************************************************/ - -namespace vl -{ - namespace presentation - { - using namespace collections; - using namespace reflection::description; - using namespace parsing; - using namespace workflow; - using namespace workflow::analyzer; - using namespace workflow::runtime; - using namespace controls; - using namespace stream; - -/*********************************************************************** -GuiResourceInstanceBinder (uri) -***********************************************************************/ - - class GuiResourceInstanceBinder : public Object, public IGuiInstanceBinder - { - public: - GlobalStringKey GetBindingName()override - { - return GlobalStringKey::_Uri; - } - - bool ApplicableToConstructorArgument()override - { - return true; - } - - bool RequirePropertyExist()override - { - return false; - } - - Ptr GenerateConstructorArgument(GuiResourcePrecompileContext& precompileContext, types::ResolvingResult& resolvingResult, IGuiInstanceLoader* loader, const IGuiInstanceLoader::PropertyInfo& prop, Ptr propInfo, const WString& code, GuiResourceTextPos position, GuiResourceError::List& errors)override - { - WString protocol, path; - if (!IsResourceUrl(code, protocol, path)) - { - errors.Add(GuiResourceError({ resolvingResult.resource }, position, L"Precompile: \"" + code + L"\" is not a valid resource uri.")); - return nullptr; - } - else - { - return Workflow_GetUriProperty(precompileContext, resolvingResult, loader, prop, propInfo, protocol, path, position, errors); - } - } - - Ptr GenerateInstallStatement(GuiResourcePrecompileContext& precompileContext, types::ResolvingResult& resolvingResult, GlobalStringKey variableName, description::IPropertyInfo* propertyInfo, IGuiInstanceLoader* loader, const IGuiInstanceLoader::PropertyInfo& prop, Ptr propInfo, const WString& code, GuiResourceTextPos position, GuiResourceError::List& errors)override - { - WString protocol, path; - if (!IsResourceUrl(code, protocol, path)) - { - errors.Add(GuiResourceError({ resolvingResult.resource }, position, L"Precompile: \"" + code + L"\" is not a valid resource uri.")); - return nullptr; - } - else - { - return Workflow_InstallUriProperty(precompileContext, resolvingResult, variableName, loader, prop, propInfo, protocol, path, position, errors); - } - } - }; - -/*********************************************************************** -GuiReferenceInstanceBinder (ref) -***********************************************************************/ - - class GuiReferenceInstanceBinder : public Object, public IGuiInstanceBinder - { - public: - GlobalStringKey GetBindingName()override - { - return GlobalStringKey::_Ref; - } - - bool ApplicableToConstructorArgument()override - { - return false; - } - - bool RequirePropertyExist()override - { - return false; - } - - Ptr GenerateConstructorArgument(GuiResourcePrecompileContext& precompileContext, types::ResolvingResult& resolvingResult, IGuiInstanceLoader* loader, const IGuiInstanceLoader::PropertyInfo& prop, Ptr propInfo, const WString& code, GuiResourceTextPos position, GuiResourceError::List& errors)override - { - CHECK_FAIL(L"GuiReferenceInstanceBinder::GenerateConstructorArgument()#This binder does not support binding to constructor arguments. Please call ApplicableToConstructorArgument() to determine before calling this function."); - } - - Ptr GenerateInstallStatement(GuiResourcePrecompileContext& precompileContext, types::ResolvingResult& resolvingResult, GlobalStringKey variableName, description::IPropertyInfo* propertyInfo, IGuiInstanceLoader* loader, const IGuiInstanceLoader::PropertyInfo& prop, Ptr propInfo, const WString& code, GuiResourceTextPos position, GuiResourceError::List& errors)override - { - auto expression = MakePtr(); - expression->name.value = code; - return Workflow_InstallEvalProperty(precompileContext, resolvingResult, variableName, loader, prop, propInfo, expression, position, errors); - } - }; - -/*********************************************************************** -GuiEvalInstanceBinder (eval) -***********************************************************************/ - - class GuiEvalInstanceBinder : public Object, public IGuiInstanceBinder - { - public: - GlobalStringKey GetBindingName()override - { - return GlobalStringKey::_Eval; - } - - bool ApplicableToConstructorArgument()override - { - return true; - } - - bool RequirePropertyExist()override - { - return false; - } - - Ptr GenerateConstructorArgument(GuiResourcePrecompileContext& precompileContext, types::ResolvingResult& resolvingResult, IGuiInstanceLoader* loader, const IGuiInstanceLoader::PropertyInfo& prop, Ptr propInfo, const WString& code, GuiResourceTextPos position, GuiResourceError::List& errors)override - { - return Workflow_ParseExpression(precompileContext, { resolvingResult.resource }, code, position, errors); - } - - Ptr GenerateInstallStatement(GuiResourcePrecompileContext& precompileContext, types::ResolvingResult& resolvingResult, GlobalStringKey variableName, description::IPropertyInfo* propertyInfo, IGuiInstanceLoader* loader, const IGuiInstanceLoader::PropertyInfo& prop, Ptr propInfo, const WString& code, GuiResourceTextPos position, GuiResourceError::List& errors)override - { - if(auto expression = Workflow_ParseExpression(precompileContext, { resolvingResult.resource }, code, position, errors)) - { - return Workflow_InstallEvalProperty(precompileContext, resolvingResult, variableName, loader, prop, propInfo, expression, position, errors); - } - return nullptr; - } - }; - -/*********************************************************************** -GuiBindInstanceBinder (bind) -***********************************************************************/ - - class GuiBindInstanceBinder : public Object, public IGuiInstanceBinder - { - public: - GlobalStringKey GetBindingName()override - { - return GlobalStringKey::_Bind; - } - - bool ApplicableToConstructorArgument()override - { - return false; - } - - bool RequirePropertyExist()override - { - return true; - } - - Ptr GenerateConstructorArgument(GuiResourcePrecompileContext& precompileContext, types::ResolvingResult& resolvingResult, IGuiInstanceLoader* loader, const IGuiInstanceLoader::PropertyInfo& prop, Ptr propInfo, const WString& code, GuiResourceTextPos position, GuiResourceError::List& errors)override - { - CHECK_FAIL(L"GuiBindInstanceBinder::GenerateConstructorArgument()#This binder does not support binding to constructor arguments. Please call ApplicableToConstructorArgument() to determine before calling this function."); - } - - Ptr GenerateInstallStatement(GuiResourcePrecompileContext& precompileContext, types::ResolvingResult& resolvingResult, GlobalStringKey variableName, description::IPropertyInfo* propertyInfo, IGuiInstanceLoader* loader, const IGuiInstanceLoader::PropertyInfo& prop, Ptr propInfo, const WString& code, GuiResourceTextPos position, GuiResourceError::List& errors)override - { - if(auto expression = Workflow_ParseExpression(precompileContext, { resolvingResult.resource }, code, position, errors)) - { - auto inferExpr = MakePtr(); - inferExpr->expression = expression; - inferExpr->type = GetTypeFromTypeInfo(propertyInfo->GetReturn()); - - auto bindExpr = MakePtr(); - bindExpr->expression = inferExpr; - - return Workflow_InstallBindProperty(precompileContext, resolvingResult, variableName, propertyInfo, bindExpr); - } - return nullptr; - } - }; - -/*********************************************************************** -GuiFormatInstanceBinder (format) -***********************************************************************/ - - class GuiFormatInstanceBinder : public Object, public IGuiInstanceBinder - { - public: - GlobalStringKey GetBindingName()override - { - return GlobalStringKey::_Format; - } - - bool ApplicableToConstructorArgument()override - { - return false; - } - - bool RequirePropertyExist()override - { - return true; - } - - Ptr GenerateConstructorArgument(GuiResourcePrecompileContext& precompileContext, types::ResolvingResult& resolvingResult, IGuiInstanceLoader* loader, const IGuiInstanceLoader::PropertyInfo& prop, Ptr propInfo, const WString& code, GuiResourceTextPos position, GuiResourceError::List& errors)override - { - CHECK_FAIL(L"GuiFormatInstanceBinder::GenerateConstructorArgument()#This binder does not support binding to constructor arguments. Please call ApplicableToConstructorArgument() to determine before calling this function."); - } - - Ptr GenerateInstallStatement(GuiResourcePrecompileContext& precompileContext, types::ResolvingResult& resolvingResult, GlobalStringKey variableName, description::IPropertyInfo* propertyInfo, IGuiInstanceLoader* loader, const IGuiInstanceLoader::PropertyInfo& prop, Ptr propInfo, const WString& code, GuiResourceTextPos position, GuiResourceError::List& errors)override - { - if (auto expression = Workflow_ParseExpression(precompileContext, { resolvingResult.resource }, L"bind($\"" + code + L"\")", position, errors, { 0,7 })) // bind($" - { - return Workflow_InstallBindProperty(precompileContext, resolvingResult, variableName, propertyInfo, expression); - } - return nullptr; - } - }; - -/*********************************************************************** -GuiEvalInstanceEventBinder (eval) -***********************************************************************/ - - class GuiEvalInstanceEventBinder : public Object, public IGuiInstanceEventBinder - { - public: - GlobalStringKey GetBindingName()override - { - return GlobalStringKey::_Eval; - } - - Ptr GenerateInstallStatement(GuiResourcePrecompileContext& precompileContext, types::ResolvingResult& resolvingResult, GlobalStringKey variableName, description::IEventInfo* eventInfo, const WString& code, GuiResourceTextPos position, GuiResourceError::List& errors)override - { - bool coroutine = false; - { - auto reading = code.Buffer(); - while (true) - { - switch (*reading) - { - case ' ': - case '\t': - case '\r': - case '\n': - reading++; - break; - default: - goto BEGIN_TESTING; - } - } - BEGIN_TESTING: - coroutine = *reading == '$'; - } - - auto parseFunction = coroutine ? &Workflow_ParseCoProviderStatement : &Workflow_ParseStatement; - if (auto statement = parseFunction(precompileContext, { resolvingResult.resource }, code, position, errors, { 0,0 })) - { - return Workflow_InstallEvalEvent(precompileContext, resolvingResult, variableName, eventInfo, statement); - } - return nullptr; - } - }; - -/*********************************************************************** -GuiPredefinedInstanceBindersPlugin -***********************************************************************/ - - class GuiPredefinedInstanceBindersPlugin : public Object, public IGuiPlugin - { - public: - - GUI_PLUGIN_NAME(GacUI_Compiler_ParsersAndBinders) - { - GUI_PLUGIN_DEPEND(GacUI_Parser); - GUI_PLUGIN_DEPEND(GacUI_Res_ResourceResolver); - GUI_PLUGIN_DEPEND(GacUI_Instance); - GUI_PLUGIN_DEPEND(GacUI_Instance_Reflection); - } - - void Load()override - { - WfLoadTypes(); - GuiIqLoadTypes(); - { - IGuiParserManager* manager = GetParserManager(); - manager->SetParsingTable(L"WORKFLOW", &WfLoadTable); - manager->SetTableParser(L"WORKFLOW", L"WORKFLOW-TYPE", &WfParseType); - manager->SetTableParser(L"WORKFLOW", L"WORKFLOW-EXPRESSION", &WfParseExpression); - manager->SetTableParser(L"WORKFLOW", L"WORKFLOW-STATEMENT", &WfParseStatement); - manager->SetTableParser(L"WORKFLOW", L"WORKFLOW-COPROVIDER-STATEMENT", &WfParseCoProviderStatement); - manager->SetTableParser(L"WORKFLOW", L"WORKFLOW-DECLARATION", &WfParseDeclaration); - manager->SetTableParser(L"WORKFLOW", L"WORKFLOW-MODULE", &WfParseModule); - manager->SetParsingTable(L"INSTANCE-QUERY", &GuiIqLoadTable); - manager->SetTableParser(L"INSTANCE-QUERY", L"INSTANCE-QUERY", &GuiIqParse); - } - { - IGuiInstanceLoaderManager* manager=GetInstanceLoaderManager(); - - manager->AddInstanceBinder(new GuiResourceInstanceBinder); - manager->AddInstanceBinder(new GuiReferenceInstanceBinder); - manager->AddInstanceBinder(new GuiEvalInstanceBinder); - manager->AddInstanceEventBinder(new GuiEvalInstanceEventBinder); - manager->AddInstanceBinder(new GuiBindInstanceBinder); - manager->AddInstanceBinder(new GuiFormatInstanceBinder); - } - } - - void Unload()override - { - } - }; - GUI_REGISTER_PLUGIN(GuiPredefinedInstanceBindersPlugin) - } -} - - -/*********************************************************************** -.\GUIINSTANCELOADER_PREDEFINEDINSTANCEDESERIALIZERS.CPP -***********************************************************************/ - -namespace vl -{ - namespace presentation - { - using namespace collections; - using namespace reflection::description; - using namespace workflow; - using namespace workflow::analyzer; - using namespace controls; - using namespace controls::list; - using namespace templates; - -/*********************************************************************** -GuiTemplatePropertyDeserializer -***********************************************************************/ - - class GuiTemplatePropertyDeserializer : public Object, public IGuiInstanceDeserializer - { - protected: - Ptr stringType; - - bool IsTemplatePropertyType(ITypeInfo* propType) - { - if (propType->GetDecorator() == ITypeInfo::SharedPtr) - { - auto genericType = propType->GetElementType(); - if (genericType->GetDecorator() == ITypeInfo::Generic && genericType->GetGenericArgumentCount() == 2) - { - if (genericType->GetElementType()->GetTypeDescriptor() == description::GetTypeDescriptor()) - { - if (genericType->GetGenericArgument(1)->GetTypeDescriptor() == description::GetTypeDescriptor()) - { - auto returnType = genericType->GetGenericArgument(0); - if (returnType->GetDecorator() == ITypeInfo::RawPtr) - { - if (returnType->GetElementType()->GetTypeDescriptor()->CanConvertTo(description::GetTypeDescriptor())) - { - return true; - } - } - } - } - } - } - return false; - } - - bool IsDataVisualizerFactoryType(ITypeInfo* propType) - { - return propType->GetDecorator() == ITypeInfo::SharedPtr && propType->GetTypeDescriptor() == description::GetTypeDescriptor(); - } - - bool IsDataEditorFactoryType(ITypeInfo* propType) - { - return propType->GetDecorator() == ITypeInfo::SharedPtr && propType->GetTypeDescriptor() == description::GetTypeDescriptor(); - } - - public: - GuiTemplatePropertyDeserializer() - { - stringType = TypeInfoRetriver::CreateTypeInfo(); - } - - bool CanDeserialize(description::ITypeInfo* typeInfo)override - { - return IsTemplatePropertyType(typeInfo) || IsDataVisualizerFactoryType(typeInfo) || IsDataEditorFactoryType(typeInfo); - } - - description::ITypeInfo* DeserializeAs(description::ITypeInfo* typeInfo)override - { - return stringType.Obj(); - } - - static void GetItemTemplateType( - types::ResolvingResult& resolvingResult, - WString typeNamesString, - List& tds, - GuiResourceTextPos tagPosition, - GuiResourceError::List& errors - ) - { - List typeNames; - SplitBySemicolon(typeNamesString, typeNames); - if (typeNames.Count() == 0) - { - errors.Add(GuiResourceError({ resolvingResult.resource }, tagPosition, - L"Precompile: Template list \"" + - typeNamesString + - L"\" cannot be empty.")); - } - - FOREACH(WString, controlTemplateName, typeNames) - { - auto controlTemplateTd = description::GetTypeDescriptor(controlTemplateName); - if (!controlTemplateTd) - { - auto index = INVLOC.FindFirst(controlTemplateName, L":", Locale::None); - GlobalStringKey namespaceName; - auto typeName = controlTemplateName; - if (index.key != -1) - { - namespaceName = GlobalStringKey::Get(controlTemplateName.Left(index.key)); - typeName = controlTemplateName.Right(controlTemplateName.Length() - index.key - index.value); - } - - auto source = FindInstanceLoadingSource(resolvingResult.context, namespaceName, typeName); - if (auto typeInfo = GetInstanceLoaderManager()->GetTypeInfoForType(source.typeName)) - { - controlTemplateTd = typeInfo->GetTypeDescriptor(); - } - } - if (controlTemplateTd) - { - tds.Add(controlTemplateTd); - } - else - { - errors.Add(GuiResourceError({ resolvingResult.resource }, tagPosition, - L"Precompile: Type \"" + - controlTemplateName + - L"\" does not exist.")); - continue; - } - } - } - - static Ptr CreateTemplateFactory( - types::ResolvingResult& resolvingResult, - List& controlTemplateTds, - ITypeInfo* templateType, - GuiResourceTextPos tagPosition, - GuiResourceError::List& errors - ) - { - auto funcCreateTemplate = MakePtr(); - funcCreateTemplate->anonymity = WfFunctionAnonymity::Anonymous; - funcCreateTemplate->returnType = GetTypeFromTypeInfo(templateType); - - auto argViewModel = MakePtr(); - argViewModel->type = GetTypeFromTypeInfo(TypeInfoRetriver::CreateTypeInfo().Obj()); - argViewModel->name.value = L""; - funcCreateTemplate->arguments.Add(argViewModel); - - auto block = MakePtr(); - funcCreateTemplate->statement = block; - - ITypeDescriptor* stopControlTemplateTd = nullptr; - FOREACH(ITypeDescriptor*, controlTemplateTd, controlTemplateTds) - { - if (!controlTemplateTd->CanConvertTo(templateType->GetTypeDescriptor())) - { - errors.Add(GuiResourceError({ resolvingResult.resource }, tagPosition, - L"Precompile: Type \"" + - controlTemplateTd->GetTypeName() + - L"\" cannot be used here because it requires \"" + - templateType->GetTypeDescriptor()->GetTypeName() + - L"\" or its derived classes.")); - } - - if (stopControlTemplateTd) - { - errors.Add(GuiResourceError({ resolvingResult.resource }, tagPosition, - L"Precompile: Type \"" + - controlTemplateTd->GetTypeName() + - L"\" will never be tried, because \"" + - stopControlTemplateTd->GetTypeName() + - L"\", which is listed before, has a default constructor. So whatever the view model is, it will be the last choice.")); - continue; - } - - ITypeInfo* viewModelType = nullptr; - { - auto ctors = controlTemplateTd->GetConstructorGroup(); - if (!ctors || ctors->GetMethodCount() != 1) - { - errors.Add(GuiResourceError({ resolvingResult.resource }, tagPosition, - L"Precompile: To use type \"" + - controlTemplateTd->GetTypeName() + - L"\" as a control template or item template, it should have exactly one constructor.")); - continue; - } - - auto ctor = ctors->GetMethod(0); - if (ctor->GetParameterCount() > 1) - { - errors.Add(GuiResourceError({ resolvingResult.resource }, tagPosition, - L"Precompile: To use type \"" + - controlTemplateTd->GetTypeName() + - L"\" as a control template or item template, its constructor cannot have more than one parameter.")); - continue; - } - - if (ctor->GetParameterCount() != 0) - { - viewModelType = ctor->GetParameter(0)->GetType(); - } - } - - if (!viewModelType) - { - stopControlTemplateTd = controlTemplateTd; - } - - auto subBlock = MakePtr(); - block->statements.Add(subBlock); - - Ptr controlTemplateType; - { - auto elementType = MakePtr(controlTemplateTd, TypeInfoHint::Normal); - auto pointerType = MakePtr(elementType); - - controlTemplateType = pointerType; - } - - Ptr returnStatBlock; - if (viewModelType) - { - auto refViewModel = MakePtr(); - refViewModel->name.value = L""; - - auto condition = MakePtr(); - condition->test = WfTypeTesting::IsType; - condition->expression = refViewModel; - condition->type = GetTypeFromTypeInfo(viewModelType); - - auto ifStat = MakePtr(); - subBlock->statements.Add(ifStat); - ifStat->expression = condition; - - returnStatBlock = MakePtr(); - ifStat->trueBranch = returnStatBlock; - } - else - { - returnStatBlock = subBlock; - } - - { - auto createControlTemplate = MakePtr(); - createControlTemplate->type = GetTypeFromTypeInfo(controlTemplateType.Obj()); - if (viewModelType) - { - auto refViewModel = MakePtr(); - refViewModel->name.value = L""; - - auto cast = MakePtr(); - cast->strategy = WfTypeCastingStrategy::Strong; - cast->expression = refViewModel; - cast->type = GetTypeFromTypeInfo(viewModelType); - createControlTemplate->arguments.Add(cast); - } - - auto returnStat = MakePtr(); - returnStat->expression = createControlTemplate; - returnStatBlock->statements.Add(returnStat); - } - } - - if (!stopControlTemplateTd) - { - auto value = MakePtr(); - value->value.value = L"Cannot find a matched control template to create."; - - auto raiseStat = MakePtr(); - raiseStat->expression = value; - - block->statements.Add(raiseStat); - } - - auto expr = MakePtr(); - expr->function = funcCreateTemplate; - return expr; - } - - static Ptr CreateDataVisualizerFactory( - types::ResolvingResult& resolvingResult, - List& controlTemplateTds, - GuiResourceTextPos tagPosition, - GuiResourceError::List& errors - ) - { - auto templateType = TypeInfoRetriver::CreateTypeInfo(); - Ptr previousFactory; - FOREACH_INDEXER(ITypeDescriptor*, controlTemplateTd, index, controlTemplateTds) - { - List tds; - tds.Add(controlTemplateTd); - auto refFactory = CreateTemplateFactory(resolvingResult, tds, templateType.Obj(), tagPosition, errors); - auto createStyle = MakePtr(); - createStyle->type = GetTypeFromTypeInfo(TypeInfoRetriver>::CreateTypeInfo().Obj()); - createStyle->arguments.Add(refFactory); - - if (index > 0) - { - createStyle->arguments.Add(previousFactory); - } - else - { - auto nullExpr = MakePtr(); - nullExpr->value = WfLiteralValue::Null; - createStyle->arguments.Add(nullExpr); - } - previousFactory = createStyle; - } - return previousFactory; - } - - static Ptr CreateDataEditorFactory( - types::ResolvingResult& resolvingResult, - List& controlTemplateTds, - GuiResourceTextPos tagPosition, - GuiResourceError::List& errors - ) - { - auto templateType = TypeInfoRetriver::CreateTypeInfo(); - auto refFactory = CreateTemplateFactory(resolvingResult, controlTemplateTds, templateType.Obj(), tagPosition, errors); - auto createStyle = MakePtr(); - createStyle->type = GetTypeFromTypeInfo(TypeInfoRetriver>::CreateTypeInfo().Obj()); - createStyle->arguments.Add(refFactory); - return createStyle; - } - - Ptr Deserialize(GuiResourcePrecompileContext& precompileContext, types::ResolvingResult& resolvingResult, description::ITypeInfo* typeInfo, Ptr valueExpression, GuiResourceTextPos tagPosition, GuiResourceError::List& errors)override - { - auto stringExpr = valueExpression.Cast(); - - List tds; - GetItemTemplateType(resolvingResult, stringExpr->value.value, tds, tagPosition, errors); - - if (IsDataVisualizerFactoryType(typeInfo)) - { - return CreateDataVisualizerFactory(resolvingResult, tds, tagPosition, errors); - } - else if (IsDataEditorFactoryType(typeInfo)) - { - return CreateDataEditorFactory(resolvingResult, tds, tagPosition, errors); - } - else - { - auto templateType = typeInfo->GetElementType()->GetGenericArgument(0); - return CreateTemplateFactory(resolvingResult, tds, templateType, tagPosition, errors); - } - } - }; - -/*********************************************************************** -GuiItemPropertyDeserializer -***********************************************************************/ - - class GuiItemPropertyDeserializer : public Object, public IGuiInstanceDeserializer - { - protected: - Ptr stringType; - - bool IsItemPropertyType(ITypeInfo* propType) - { - if (propType->GetDecorator() == ITypeInfo::SharedPtr) - { - auto genericType = propType->GetElementType(); - if (genericType->GetDecorator() == ITypeInfo::Generic && genericType->GetGenericArgumentCount() == 2) - { - if (genericType->GetElementType()->GetTypeDescriptor() == description::GetTypeDescriptor()) - { - if (genericType->GetGenericArgument(1)->GetTypeDescriptor() == description::GetTypeDescriptor()) - { - return true; - } - } - } - } - return false; - } - - bool IsWritableItemPropertyType(ITypeInfo* propType) - { - if (propType->GetDecorator() == ITypeInfo::SharedPtr) - { - auto genericType = propType->GetElementType(); - if (genericType->GetDecorator() == ITypeInfo::Generic && genericType->GetGenericArgumentCount() == 4) - { - if (genericType->GetElementType()->GetTypeDescriptor() == description::GetTypeDescriptor()) - { - if (genericType->GetGenericArgument(1)->GetTypeDescriptor() == description::GetTypeDescriptor() - && genericType->GetGenericArgument(3)->GetTypeDescriptor() == description::GetTypeDescriptor()) - { - if (IsSameType(genericType->GetGenericArgument(0), genericType->GetGenericArgument(2))) - { - return true; - } - } - } - } - } - return false; - } - - public: - GuiItemPropertyDeserializer() - { - stringType = TypeInfoRetriver::CreateTypeInfo(); - } - - bool CanDeserialize(description::ITypeInfo* typeInfo)override - { - return IsItemPropertyType(typeInfo) || IsWritableItemPropertyType(typeInfo); - } - - description::ITypeInfo* DeserializeAs(description::ITypeInfo* typeInfo)override - { - return stringType.Obj(); - } - - Ptr Deserialize(GuiResourcePrecompileContext& precompileContext, types::ResolvingResult& resolvingResult, description::ITypeInfo* typeInfo, Ptr valueExpression, GuiResourceTextPos tagPosition, GuiResourceError::List& errors)override - { - auto stringExpr = valueExpression.Cast(); - Ptr propertyExpression; - { - propertyExpression = Workflow_ParseExpression(precompileContext, { resolvingResult.resource }, stringExpr->value.value, tagPosition, errors); - if (!propertyExpression) - { - return nullptr; - } - }; - - vint indexItemType = resolvingResult.envVars.Keys().IndexOf(GlobalStringKey::Get(L"ItemType")); - if (indexItemType == -1) - { - auto error - = L"Precompile: env.ItemType must be specified before deserializing \"" - + stringExpr->value.value - + L"\" to value of type \"" - + typeInfo->GetTypeFriendlyName() - + L"\"."; - errors.Add(GuiResourceError({ resolvingResult.resource }, tagPosition, error)); - return nullptr; - } - - Ptr itemType; - { - const auto& values = resolvingResult.envVars.GetByIndex(indexItemType); - auto itemTypeValue = values[values.Count() - 1]; - - itemType = Workflow_ParseType(precompileContext, { resolvingResult.resource }, itemTypeValue->value, itemTypeValue->valuePosition, errors); - if (!itemType) - { - return nullptr; - } - }; - - vint indexItemName = resolvingResult.envVars.Keys().IndexOf(GlobalStringKey::Get(L"ItemName")); - WString itemName(L"item", false); - if (indexItemName != -1) - { - const auto& values = resolvingResult.envVars.GetByIndex(indexItemName); - itemName = values[values.Count() - 1]->value; - } - - if (auto refExpr = propertyExpression.Cast()) - { - if (refExpr->name.value != itemName) - { - auto refItem = MakePtr(); - refItem->name.value = itemName; - - auto member = MakePtr(); - member->parent = refItem; - member->name.value = refExpr->name.value; - - propertyExpression = member; - } - } - - bool isWritableItemProperty = IsWritableItemPropertyType(typeInfo); - - auto funcDecl = MakePtr(); - ITypeInfo* acceptValueType = nullptr; - funcDecl->anonymity = WfFunctionAnonymity::Anonymous; - { - auto genericType = typeInfo->GetElementType(); - funcDecl->returnType = GetTypeFromTypeInfo(genericType->GetGenericArgument(0)); - { - auto argument = MakePtr(); - argument->name.value = L""; - argument->type = GetTypeFromTypeInfo(genericType->GetGenericArgument(1)); - funcDecl->arguments.Add(argument); - } - - if (isWritableItemProperty) - { - { - auto argument = MakePtr(); - argument->name.value = L""; - argument->type = GetTypeFromTypeInfo((acceptValueType = genericType->GetGenericArgument(2))); - funcDecl->arguments.Add(argument); - } - { - auto argument = MakePtr(); - argument->name.value = L""; - argument->type = GetTypeFromTypeInfo(genericType->GetGenericArgument(3)); - funcDecl->arguments.Add(argument); - } - } - } - - auto funcBlock = MakePtr(); - funcDecl->statement = funcBlock; - - { - auto refItem = MakePtr(); - refItem->name.value = L""; - - auto refCast = MakePtr(); - refCast->strategy = WfTypeCastingStrategy::Strong; - refCast->type = itemType; - refCast->expression = refItem; - - auto varDecl = MakePtr(); - varDecl->name.value = itemName; - varDecl->expression = refCast; - - auto varStat = MakePtr(); - varStat->variable = varDecl; - funcBlock->statements.Add(varStat); - } - - Ptr returnStat; - { - returnStat = MakePtr(); - returnStat->expression = propertyExpression; - } - - if (isWritableItemProperty) - { - auto ifStat = MakePtr(); - funcBlock->statements.Add(ifStat); - { - auto refUpdate = MakePtr(); - refUpdate->name.value = L""; - - ifStat->expression = refUpdate; - } - { - auto block = MakePtr(); - ifStat->trueBranch = block; - - { - auto refValue = MakePtr(); - refValue->name.value = L""; - - auto assignExpr = MakePtr(); - assignExpr->op = WfBinaryOperator::Assign; - assignExpr->first = CopyExpression(propertyExpression); - - if (acceptValueType->GetTypeDescriptor()->GetTypeDescriptorFlags() == TypeDescriptorFlags::Object) - { - auto castExpr = MakePtr(); - castExpr->strategy = WfTypeCastingStrategy::Strong; - castExpr->expression = refValue; - assignExpr->second = castExpr; - } - else - { - assignExpr->second = refValue; - } - - auto stat = MakePtr(); - stat->expression = assignExpr; - block->statements.Add(stat); - } - { - auto returnStat = MakePtr(); - block->statements.Add(returnStat); - - auto returnType = typeInfo->GetElementType()->GetGenericArgument(0); - returnStat->expression = CreateDefaultValue(returnType); - } - } - { - auto block = MakePtr(); - ifStat->falseBranch = block; - - block->statements.Add(returnStat); - } - } - else - { - funcBlock->statements.Add(returnStat); - } - - auto funcExpr = MakePtr(); - funcExpr->function = funcDecl; - return funcExpr; - } - }; - -/*********************************************************************** -GuiDataProcessorDeserializer -***********************************************************************/ - - class GuiDataProcessorDeserializer : public Object, public IGuiInstanceDeserializer - { - protected: - Ptr stringType; - - public: - GuiDataProcessorDeserializer() - { - stringType = TypeInfoRetriver::CreateTypeInfo(); - } - - bool CanDeserialize(description::ITypeInfo* typeInfo)override - { - return typeInfo->GetTypeDescriptor() == description::GetTypeDescriptor() - || typeInfo->GetTypeDescriptor() == description::GetTypeDescriptor(); - } - - description::ITypeInfo* DeserializeAs(description::ITypeInfo* typeInfo)override - { - return stringType.Obj(); - } - - Ptr Deserialize(GuiResourcePrecompileContext& precompileContext, types::ResolvingResult& resolvingResult, description::ITypeInfo* typeInfo, Ptr valueExpression, GuiResourceTextPos tagPosition, GuiResourceError::List& errors)override - { - auto stringExpr = valueExpression.Cast(); - Ptr propertyExpression; - { - propertyExpression = Workflow_ParseExpression(precompileContext, { resolvingResult.resource }, stringExpr->value.value, tagPosition, errors); - if (!propertyExpression) - { - return nullptr; - } - }; - - vint indexItemType = resolvingResult.envVars.Keys().IndexOf(GlobalStringKey::Get(L"ItemType")); - if (indexItemType == -1) - { - auto error - = L"Precompile: env.ItemType must be specified before deserializing \"" - + stringExpr->value.value - + L"\" to value of type \"" - + typeInfo->GetTypeFriendlyName() - + L"\"."; - errors.Add(GuiResourceError({ resolvingResult.resource }, tagPosition, error)); - return nullptr; - } - - Ptr itemType; - { - const auto& values = resolvingResult.envVars.GetByIndex(indexItemType); - auto itemTypeValue = values[values.Count() - 1]; - - itemType = Workflow_ParseType(precompileContext, { resolvingResult.resource }, itemTypeValue->value, itemTypeValue->valuePosition, errors); - if (!itemType) - { - return nullptr; - } - }; - - auto newExpr = MakePtr(); - newExpr->type = GetTypeFromTypeInfo(typeInfo); - { - auto decl = MakePtr(); - newExpr->declarations.Add(decl); - decl->classMember = MakePtr(); - decl->classMember->kind = WfClassMemberKind::Override; - decl->name.value = L"SetCallback"; - decl->returnType = GetTypeFromTypeInfo(TypeInfoRetriver::CreateTypeInfo().Obj()); - { - auto argument = MakePtr(); - argument->type = GetTypeFromTypeInfo(TypeInfoRetriver::CreateTypeInfo().Obj()); - argument->name.value = L"value"; - decl->arguments.Add(argument); - } - - auto block = MakePtr(); - decl->statement = block; - } - { - auto decl = MakePtr(); - newExpr->declarations.Add(decl); - decl->classMember = MakePtr(); - decl->classMember->kind = WfClassMemberKind::Override; - - List argumentNames; - if (typeInfo->GetTypeDescriptor() == description::GetTypeDescriptor()) - { - decl->name.value = L"Filter"; - decl->returnType = GetTypeFromTypeInfo(TypeInfoRetriver::CreateTypeInfo().Obj()); - argumentNames.Add(L""); - } - else - { - decl->name.value = L"Compare"; - decl->returnType = GetTypeFromTypeInfo(TypeInfoRetriver::CreateTypeInfo().Obj()); - argumentNames.Add(L""); - argumentNames.Add(L""); - } - - FOREACH(WString, name, argumentNames) - { - auto argument = MakePtr(); - argument->type = GetTypeFromTypeInfo(TypeInfoRetriver::CreateTypeInfo().Obj()); - argument->name.value = name; - decl->arguments.Add(argument); - } - - auto block = MakePtr(); - decl->statement = block; - - auto inferExpr = MakePtr(); - inferExpr->expression = propertyExpression; - { - auto funcType = MakePtr(); - inferExpr->type = funcType; - - funcType->result = CopyType(decl->returnType); - for (vint i = 0; i < decl->arguments.Count(); i++) - { - funcType->arguments.Add(CopyType(itemType)); - } - } - - auto callExpr = MakePtr(); - callExpr->function = inferExpr; - FOREACH_INDEXER(WString, name, index, argumentNames) - { - auto refExpr = MakePtr(); - refExpr->name.value = name; - - auto castExpr = MakePtr(); - castExpr->strategy = WfTypeCastingStrategy::Strong; - castExpr->type = (index == 0 ? itemType : CopyType(itemType)); - castExpr->expression = refExpr; - - callExpr->arguments.Add(castExpr); - } - - auto stat = MakePtr(); - stat->expression = callExpr; - block->statements.Add(stat); - } - return newExpr; - } - }; - -/*********************************************************************** -GuiPredefinedInstanceDeserializersPlugin -***********************************************************************/ - - class GuiPredefinedInstanceDeserializersPlugin : public Object, public IGuiPlugin - { - public: - - GUI_PLUGIN_NAME(GacUI_Instance_Deserializers) - { - GUI_PLUGIN_DEPEND(GacUI_Instance); - } - - void Load()override - { - IGuiInstanceLoaderManager* manager = GetInstanceLoaderManager(); - manager->AddInstanceDeserializer(new GuiTemplatePropertyDeserializer); - manager->AddInstanceDeserializer(new GuiItemPropertyDeserializer); - manager->AddInstanceDeserializer(new GuiDataProcessorDeserializer); - } - - void Unload()override - { - } - }; - GUI_REGISTER_PLUGIN(GuiPredefinedInstanceDeserializersPlugin) - } -} - - -/*********************************************************************** -.\GUIINSTANCELOADER_PREDEFINEDTYPERESOLVERS.CPP -***********************************************************************/ - -namespace vl -{ - namespace presentation - { - using namespace parsing; - using namespace parsing::xml; - using namespace workflow; - using namespace workflow::analyzer; - using namespace workflow::emitter; - using namespace workflow::runtime; - using namespace reflection::description; - using namespace collections; - using namespace stream; - - using namespace controls; - - class WorkflowVirtualScriptPositionVisitor : public traverse_visitor::ModuleVisitor - { - public: - GuiResourcePrecompileContext& context; - Ptr sp; - - WorkflowVirtualScriptPositionVisitor(GuiResourcePrecompileContext& _context) - :context(_context) - { - sp = Workflow_GetScriptPosition(context); - } - - void Visit(WfVirtualExpression* node)override - { - traverse_visitor::ExpressionVisitor::Visit(node); - vint index = sp->nodePositions.Keys().IndexOf(node); - if (index != -1) - { - auto record = sp->nodePositions.Values()[index]; - Workflow_RecordScriptPosition(context, record.position, node->expandedExpression, record.availableAfter); - } - } - - void Visit(WfVirtualStatement* node)override - { - traverse_visitor::StatementVisitor::Visit(node); - vint index = sp->nodePositions.Keys().IndexOf(node); - if (index != -1) - { - auto record = sp->nodePositions.Values()[index]; - Workflow_RecordScriptPosition(context, record.position, node->expandedStatement, record.availableAfter); - } - } - - void Visit(WfVirtualDeclaration* node)override - { - traverse_visitor::DeclarationVisitor::Visit(node); - vint index = sp->nodePositions.Keys().IndexOf(node); - if (index != -1) - { - auto record = sp->nodePositions.Values()[index]; - FOREACH(Ptr, decl, node->expandedDeclarations) - { - Workflow_RecordScriptPosition(context, record.position, decl, record.availableAfter); - } - } - } - }; - - Ptr Workflow_GetModule(GuiResourcePrecompileContext& context, const WString& path) - { - return context.targetFolder->GetValueByPath(path).Cast(); - } - - void Workflow_AddModule(GuiResourcePrecompileContext& context, const WString& path, Ptr module, GuiInstanceCompiledWorkflow::AssemblyType assemblyType, GuiResourceTextPos tagPosition) - { - auto compiled = Workflow_GetModule(context, path); - if (!compiled) - { - compiled = new GuiInstanceCompiledWorkflow; - compiled->type = assemblyType; - context.targetFolder->CreateValueByPath(path, L"Workflow", compiled); - } - else - { - CHECK_ERROR(compiled->type == assemblyType, L"Workflow_AddModule(GuiResourcePrecompiledContext&, const WString&, GuiInstanceCompiledWorkflow::AssemblyType)#Unexpected assembly type."); - } - - if (compiled) - { - GuiInstanceCompiledWorkflow::ModuleRecord record; - record.module = module; - record.position = tagPosition; - record.shared = assemblyType == GuiInstanceCompiledWorkflow::Shared; - compiled->modules.Add(record); - } - } - - void Workflow_GenerateAssembly(GuiResourcePrecompileContext& context, const WString& path, GuiResourceError::List& errors, bool keepMetadata, IWfCompilerCallback* compilerCallback) - { - auto compiled = Workflow_GetModule(context, path); - if (!compiled) - { - return; - } - - if (!compiled->assembly) - { - List codes; - auto manager = Workflow_GetSharedManager(); - manager->Clear(false, true); - - auto addCode = [&codes](TextReader& reader) - { - vint row = 0; - WString code; - while (!reader.IsEnd()) - { - auto rowHeader = itow(++row); - while (rowHeader.Length() < 6) - { - rowHeader = L" " + rowHeader; - } - code += rowHeader + L" : " + reader.ReadLine() + L"\r\n"; - } - codes.Add(code); - }; - - for (vint i = 0; i < compiled->modules.Count(); i++) - { - manager->AddModule(compiled->modules[i].module); - } - - if (manager->errors.Count() == 0) - { - manager->Rebuild(true, compilerCallback); - } - - if (manager->errors.Count() == 0) - { - compiled->assembly = GenerateAssembly(manager, compilerCallback); - compiled->Initialize(true); - } - else - { - WorkflowVirtualScriptPositionVisitor visitor(context); - for (vint i = 0; i < compiled->modules.Count(); i++) - { - auto module = compiled->modules[i]; - visitor.VisitField(module.module.Obj()); - Workflow_RecordScriptPosition(context, module.position, module.module); - } - - auto sp = Workflow_GetScriptPosition(context); - for (vint i = 0; i < manager->errors.Count(); i++) - { - auto error = manager->errors[i]; - errors.Add({ sp->nodePositions[error->parsingTree].computedPosition, error->errorMessage }); - } - } - - if (keepMetadata) - { - compiled->metadata = Workflow_TransferSharedManager(); - } - else - { - manager->Clear(false, true); - } - } - } - -/*********************************************************************** -Shared Script Type Resolver (Script) -***********************************************************************/ - -#define Path_Shared L"Workflow/Shared" -#define Path_TemporaryClass L"Workflow/TemporaryClass" -#define Path_InstanceClass L"Workflow/InstanceClass" - - class GuiResourceSharedScriptTypeResolver - : public Object - , public IGuiResourceTypeResolver - , private IGuiResourceTypeResolver_Precompile - , private IGuiResourceTypeResolver_IndirectLoad - { - public: - WString GetType()override - { - return L"Script"; - } - - bool XmlSerializable()override - { - return true; - } - - bool StreamSerializable()override - { - return false; - } - - WString GetPreloadType()override - { - return L"Xml"; - } - - bool IsDelayLoad()override - { - return false; - } - - vint GetMaxPassIndex()override - { - return Workflow_Max; - } - - PassSupport GetPassSupport(vint passIndex)override - { - switch (passIndex) - { - case Workflow_Collect: - return PerResource; - case Workflow_Compile: - return PerPass; - default: - return NotSupported; - } - } - - void PerResourcePrecompile(Ptr resource, GuiResourcePrecompileContext& context, GuiResourceError::List& errors)override - { - switch (context.passIndex) - { - case Workflow_Collect: - { - if (auto obj = resource->GetContent().Cast()) - { - if (obj->language == L"Workflow") - { - if (auto module = Workflow_ParseModule(context, obj->codePosition.originalLocation, obj->code, obj->codePosition, errors)) - { - Workflow_AddModule(context, Path_Shared, module, GuiInstanceCompiledWorkflow::Shared, obj->codePosition); - } - } - } - } - break; - } - } - - void PerPassPrecompile(GuiResourcePrecompileContext& context, GuiResourceError::List& errors)override - { - switch (context.passIndex) - { - case Workflow_Compile: - Workflow_GenerateAssembly(context, Path_Shared, errors, false, context.compilerCallback); - break; - } - } - - IGuiResourceTypeResolver_Precompile* Precompile()override - { - return this; - } - - IGuiResourceTypeResolver_IndirectLoad* IndirectLoad()override - { - return this; - } - - Ptr Serialize(Ptr resource, Ptr content)override - { - if (auto obj = content.Cast()) - { - return obj->SaveToXml(); - } - return nullptr; - } - - Ptr ResolveResource(Ptr resource, Ptr resolver, GuiResourceError::List& errors)override - { - Ptr xml = resource->GetContent().Cast(); - if (xml) - { - auto schema = GuiInstanceSharedScript::LoadFromXml(resource, xml, errors); - return schema; - } - return 0; - } - }; - -/*********************************************************************** -Instance Type Resolver (Instance) -***********************************************************************/ - - class GuiResourceInstanceTypeResolver - : public Object - , public IGuiResourceTypeResolver - , private IGuiResourceTypeResolver_Precompile - , private IGuiResourceTypeResolver_IndirectLoad - { - public: - WString GetType()override - { - return L"Instance"; - } - - bool XmlSerializable()override - { - return true; - } - - bool StreamSerializable()override - { - return false; - } - - WString GetPreloadType()override - { - return L"Xml"; - } - - bool IsDelayLoad()override - { - return false; - } - - vint GetMaxPassIndex()override - { - return Instance_Max; - } - - PassSupport GetPassSupport(vint passIndex)override - { - switch (passIndex) - { - case Instance_CollectInstanceTypes: - case Instance_CollectEventHandlers: - case Instance_GenerateInstanceClass: - return PerResource; - case Instance_CompileInstanceTypes: - case Instance_CompileEventHandlers: - case Instance_CompileInstanceClass: - return PerPass; - default: - return NotSupported; - } - } - -#define ENSURE_ASSEMBLY_EXISTS(PATH)\ - if (auto compiled = Workflow_GetModule(context, PATH))\ - {\ - if (!compiled->assembly)\ - {\ - break;\ - }\ - }\ - else\ - {\ - break;\ - }\ - -#define UNLOAD_ASSEMBLY(PATH)\ - if (auto compiled = Workflow_GetModule(context, PATH))\ - {\ - compiled->context = nullptr;\ - }\ - -#define DELETE_ASSEMBLY(PATH)\ - if (auto compiled = Workflow_GetModule(context, PATH))\ - {\ - compiled->context = nullptr;\ - compiled->assembly = nullptr;\ - }\ - - void PerResourcePrecompile(Ptr resource, GuiResourcePrecompileContext& context, GuiResourceError::List& errors)override - { - switch (context.passIndex) - { - case Instance_CollectEventHandlers: - ENSURE_ASSEMBLY_EXISTS(Path_TemporaryClass) - case Instance_CollectInstanceTypes: - { - if (auto obj = resource->GetContent().Cast()) - { - if (obj->className == L"") - { - errors.Add(GuiResourceError({ resource }, obj->tagPosition, - L"Precompile: Instance \"" + - (obj->instance->typeNamespace == GlobalStringKey::Empty - ? obj->instance->typeName.ToString() - : obj->instance->typeNamespace.ToString() + L":" + obj->instance->typeName.ToString() - ) + - L"\" should have the class name specified in the ref.Class attribute.")); - } - - obj->ApplyStyles(resource, context.resolver, errors); - - types::ResolvingResult resolvingResult; - resolvingResult.resource = resource; - resolvingResult.context = obj; - if (auto module = Workflow_GenerateInstanceClass(context, L"" + obj->className, resolvingResult, errors, context.passIndex)) - { - Workflow_AddModule(context, Path_TemporaryClass, module, GuiInstanceCompiledWorkflow::TemporaryClass, obj->tagPosition); - } - - if (context.passIndex == Instance_CollectInstanceTypes) - { - auto record = context.targetFolder->GetValueByPath(L"ClassNameRecord").Cast(); - if (!record) - { - record = MakePtr(); - context.targetFolder->CreateValueByPath(L"ClassNameRecord", L"ClassNameRecord", record); - } - record->classNames.Add(obj->className); - } - } - } - break; - case Instance_GenerateInstanceClass: - { - ENSURE_ASSEMBLY_EXISTS(Path_TemporaryClass) - if (auto obj = resource->GetContent().Cast()) - { - vint previousErrorCount = errors.Count(); - - types::ResolvingResult resolvingResult; - resolvingResult.resource = resource; - resolvingResult.context = obj; - resolvingResult.rootTypeInfo = Workflow_CollectReferences(context, resolvingResult, errors); - - if (errors.Count() == previousErrorCount) - { - if (auto ctorModule = Workflow_PrecompileInstanceContext(context, L"" + obj->className, resolvingResult, errors)) - { - if (auto instanceModule = Workflow_GenerateInstanceClass(context, L"" + obj->className, resolvingResult, errors, context.passIndex)) - { - Workflow_AddModule(context, Path_InstanceClass, ctorModule, GuiInstanceCompiledWorkflow::InstanceClass, obj->tagPosition); - Workflow_AddModule(context, Path_InstanceClass, instanceModule, GuiInstanceCompiledWorkflow::InstanceClass, obj->tagPosition); - } - } - } - } - } - break; - } - } - - void PerPassPrecompile(GuiResourcePrecompileContext& context, GuiResourceError::List& errors)override - { - WString path; - switch (context.passIndex) - { - case Instance_CompileInstanceTypes: - DELETE_ASSEMBLY(Path_Shared) - path = Path_TemporaryClass; - break; - case Instance_CompileEventHandlers: - DELETE_ASSEMBLY(Path_TemporaryClass) - path = Path_TemporaryClass; - break; - case Instance_CompileInstanceClass: - UNLOAD_ASSEMBLY(Path_TemporaryClass) - path = Path_InstanceClass; - break; - default: - return; - } - - auto sharedCompiled = Workflow_GetModule(context, Path_Shared); - auto compiled = Workflow_GetModule(context, path); - if (sharedCompiled && compiled) - { - CopyFrom( - compiled->modules, - From(sharedCompiled->modules) - .Where([](const GuiInstanceCompiledWorkflow::ModuleRecord& module) - { - return module.shared; - }), - true - ); - } - - switch (context.passIndex) - { - case Instance_CompileInstanceTypes: - Workflow_GenerateAssembly(context, path, errors, false, context.compilerCallback); - compiled->modules.Clear(); - break; - case Instance_CompileEventHandlers: - Workflow_GenerateAssembly(context, path, errors, false, context.compilerCallback); - break; - case Instance_CompileInstanceClass: - Workflow_GenerateAssembly(context, path, errors, true, context.compilerCallback); - break; - default:; - } - Workflow_ClearScriptPosition(context); - GetInstanceLoaderManager()->ClearReflectionCache(); - } - -#undef DELETE_ASSEMBLY -#undef UNLOAD_ASSEMBLY -#undef ENSURE_ASSEMBLY_EXISTS - - IGuiResourceTypeResolver_Precompile* Precompile()override - { - return this; - } - - IGuiResourceTypeResolver_IndirectLoad* IndirectLoad()override - { - return this; - } - - Ptr Serialize(Ptr resource, Ptr content)override - { - if (auto obj = content.Cast()) - { - return obj->SaveToXml(); - } - return 0; - } - - Ptr ResolveResource(Ptr resource, Ptr resolver, GuiResourceError::List& errors)override - { - Ptr xml = resource->GetContent().Cast(); - if (xml) - { - Ptr context = GuiInstanceContext::LoadFromXml(resource, xml, errors); - return context; - } - return 0; - } - }; - -#undef Path_Shared -#undef Path_TemporaryClass -#undef Path_InstanceClass - -/*********************************************************************** -Instance Style Type Resolver (InstanceStyle) -***********************************************************************/ - - class GuiResourceInstanceStyleResolver - : public Object - , public IGuiResourceTypeResolver - , private IGuiResourceTypeResolver_IndirectLoad - { - public: - WString GetType()override - { - return L"InstanceStyle"; - } - - bool XmlSerializable()override - { - return true; - } - - bool StreamSerializable()override - { - return false; - } - - WString GetPreloadType()override - { - return L"Xml"; - } - - bool IsDelayLoad()override - { - return false; - } - - IGuiResourceTypeResolver_IndirectLoad* IndirectLoad()override - { - return this; - } - - Ptr Serialize(Ptr resource, Ptr content)override - { - if (auto obj = content.Cast()) - { - return obj->SaveToXml(); - } - return 0; - } - - Ptr ResolveResource(Ptr resource, Ptr resolver, GuiResourceError::List& errors)override - { - Ptr xml = resource->GetContent().Cast(); - if (xml) - { - auto context = GuiInstanceStyleContext::LoadFromXml(resource, xml, errors); - return context; - } - return 0; - } - }; - -/*********************************************************************** -Plugin -***********************************************************************/ - - class GuiCompilerTypeResolversPlugin : public Object, public IGuiPlugin - { - public: - - GUI_PLUGIN_NAME(GacUI_Compiler_InstanceTypeResolvers) - { - GUI_PLUGIN_DEPEND(GacUI_Res_ResourceResolver); - } - - void Load()override - { - IGuiResourceResolverManager* manager = GetResourceResolverManager(); - manager->SetTypeResolver(new GuiResourceInstanceTypeResolver); - manager->SetTypeResolver(new GuiResourceInstanceStyleResolver); - manager->SetTypeResolver(new GuiResourceSharedScriptTypeResolver); - } - - void Unload()override - { - } - }; - GUI_REGISTER_PLUGIN(GuiCompilerTypeResolversPlugin) - } -} - - /*********************************************************************** .\GUIINSTANCEREPRESENTATION.CPP ***********************************************************************/ @@ -4990,6 +1456,3617 @@ GuiInstanceStyleContext } } +/*********************************************************************** +.\INSTANCEQUERY\GUIINSTANCEQUERY.CPP +***********************************************************************/ + +namespace vl +{ + namespace presentation + { + using namespace collections; + +/*********************************************************************** +ExecuteQueryVisitor +***********************************************************************/ + + class ExecuteQueryVisitor : public Object, public GuiIqQuery::IVisitor + { + public: + Ptr context; + List>& input; + List>& output; + + ExecuteQueryVisitor(Ptr _context, List>& _input, List>& _output) + :context(_context), input(_input), output(_output) + { + } + + static bool TestCtor(GuiIqPrimaryQuery* node, GlobalStringKey attribute, Ptr ctor) + { + if (node->attributeNameOption == GuiIqNameOption::Specified && node->attributeName.value != attribute.ToString()) + { + return false; + } + if (node->typeNameOption == GuiIqNameOption::Specified && node->typeName.value != ctor->typeName.ToString()) + { + return false; + } + if (node->referenceName.value != L"") + { + bool instanceName = ctor->instanceName != GlobalStringKey::Empty && node->referenceName.value == ctor->instanceName.ToString(); + bool styleName = ctor->styleName && node->referenceName.value == ctor->styleName.Value(); + return instanceName || styleName; + } + return true; + } + + void Traverse(GuiIqPrimaryQuery* node, Ptr setter) + { + if (setter) + { + FOREACH_INDEXER(GlobalStringKey, attribute, index, setter->setters.Keys()) + { + auto setterValue = setter->setters.Values()[index]; + FOREACH(Ptr, value, setterValue->values) + { + if (auto ctor = value.Cast()) + { + if (TestCtor(node, attribute, ctor)) + { + output.Add(ctor); + } + } + if (node->childOption == GuiIqChildOption::Indirect) + { + if (auto setter = value.Cast()) + { + Traverse(node, setter); + } + } + } + } + } + else + { + if (TestCtor(node, GlobalStringKey::Empty, context->instance)) + { + output.Add(context->instance); + } + if (node->childOption == GuiIqChildOption::Indirect) + { + Traverse(node, context->instance); + } + } + } + + void Visit(GuiIqPrimaryQuery* node)override + { + auto inputExists = &input; + if (inputExists) + { + FOREACH(Ptr, setter, input) + { + Traverse(node, setter); + } + } + else + { + Traverse(node, 0); + } + } + + void Visit(GuiIqCascadeQuery* node)override + { + List> temp; + ExecuteQuery(node->parent, context, input, temp); + ExecuteQuery(node->child, context, temp, output); + } + + void Visit(GuiIqSetQuery* node)override + { + List> first, second; + ExecuteQuery(node->first, context, input, first); + ExecuteQuery(node->second, context, input, second); + + switch (node->op) + { + case GuiIqBinaryOperator::ExclusiveOr: + CopyFrom(output, From(first).Except(second).Union(From(second).Except(second))); + break; + case GuiIqBinaryOperator::Intersect: + CopyFrom(output, From(first).Intersect(second)); + break; + case GuiIqBinaryOperator::Union: + CopyFrom(output, From(first).Union(second)); + break; + case GuiIqBinaryOperator::Substract: + CopyFrom(output, From(first).Except(second)); + break; + } + } + }; + +/*********************************************************************** +ExecuteQuery +***********************************************************************/ + + void ExecuteQuery(Ptr query, Ptr context, collections::List>& input, collections::List>& output) + { + ExecuteQueryVisitor visitor(context, input, output); + query->Accept(&visitor); + } + + void ExecuteQuery(Ptr query, Ptr context, collections::List>& output) + { + ExecuteQuery(query, context, *(List>*)0, output); + } + +/*********************************************************************** +ApplyStyle +***********************************************************************/ + + void ApplyStyleInternal(Ptr src, Ptr dst) + { + FOREACH_INDEXER(GlobalStringKey, attribute, srcIndex, src->setters.Keys()) + { + auto srcValue = src->setters.Values()[srcIndex]; + vint dstIndex = dst->setters.Keys().IndexOf(attribute); + if (dstIndex == -1) + { + dst->setters.Add(attribute, srcValue); + } + else + { + auto dstValue = dst->setters.Values()[dstIndex]; + if (srcValue->binding == dstValue->binding) + { + if (srcValue->binding == GlobalStringKey::_Set) + { + ApplyStyleInternal(srcValue->values[0].Cast(), dstValue->values[0].Cast()); + } + else + { + CopyFrom(dstValue->values, srcValue->values, true); + } + } + } + } + + FOREACH_INDEXER(GlobalStringKey, eventName, srcIndex, src->eventHandlers.Keys()) + { + if (!dst->eventHandlers.Keys().Contains(eventName)) + { + auto srcValue = src->eventHandlers.Values()[srcIndex]; + dst->eventHandlers.Add(eventName, srcValue); + } + } + + FOREACH_INDEXER(GlobalStringKey, varName, srcIndex, src->environmentVariables.Keys()) + { + if (!dst->environmentVariables.Keys().Contains(varName)) + { + auto srcValue = src->environmentVariables.Values()[srcIndex]; + dst->environmentVariables.Add(varName, srcValue); + } + } + } + + void ApplyStyle(Ptr style, Ptr ctor) + { + ApplyStyleInternal(style->setter->Clone().Cast(), ctor); + } + +/*********************************************************************** +GuiIqPrint +***********************************************************************/ + + class GuiIqPrintVisitor : public Object, public GuiIqQuery::IVisitor + { + public: + stream::StreamWriter& writer; + + GuiIqPrintVisitor(stream::StreamWriter& _writer) + :writer(_writer) + { + } + + void Visit(GuiIqPrimaryQuery* node)override + { + switch (node->childOption) + { + case GuiIqChildOption::Direct: + writer.WriteString(L"/"); + break; + case GuiIqChildOption::Indirect: + writer.WriteString(L"//"); + break; + } + + if (node->attributeNameOption == GuiIqNameOption::Specified) + { + writer.WriteChar(L'@'); + writer.WriteString(node->attributeName.value); + writer.WriteChar(L':'); + } + + if (node->typeNameOption == GuiIqNameOption::Specified) + { + writer.WriteString(node->typeName.value); + } + else + { + writer.WriteChar(L'*'); + } + + if (node->referenceName.value != L"") + { + writer.WriteChar(L'.'); + writer.WriteString(node->referenceName.value); + } + } + + void Visit(GuiIqCascadeQuery* node)override + { + node->parent->Accept(this); + node->child->Accept(this); + } + + void Visit(GuiIqSetQuery* node)override + { + writer.WriteChar(L'('); + node->first->Accept(this); + switch (node->op) + { + case GuiIqBinaryOperator::ExclusiveOr: + writer.WriteString(L" ^ "); + break; + case GuiIqBinaryOperator::Intersect: + writer.WriteString(L" * "); + break; + case GuiIqBinaryOperator::Union: + writer.WriteString(L" + "); + break; + case GuiIqBinaryOperator::Substract: + writer.WriteString(L" - "); + break; + } + node->second->Accept(this); + writer.WriteChar(L')'); + } + }; + + void GuiIqPrint(Ptr query, stream::StreamWriter& writer) + { + GuiIqPrintVisitor visitor(writer); + query->Accept(&visitor); + } + } +} + + +/*********************************************************************** +.\INSTANCEQUERY\GUIINSTANCEQUERY_AST.CPP +***********************************************************************/ +/*********************************************************************** +Vczh Library++ 3.0 +Developer: Zihan Chen(vczh) +Parser::GuiInstanceQuery_Parser.parser.txt + +This file is generated by: Vczh Parser Generator +***********************************************************************/ + + +namespace vl +{ + namespace presentation + { +/*********************************************************************** +Visitor Pattern Implementation +***********************************************************************/ + + void GuiIqPrimaryQuery::Accept(GuiIqQuery::IVisitor* visitor) + { + visitor->Visit(this); + } + + void GuiIqCascadeQuery::Accept(GuiIqQuery::IVisitor* visitor) + { + visitor->Visit(this); + } + + void GuiIqSetQuery::Accept(GuiIqQuery::IVisitor* visitor) + { + visitor->Visit(this); + } + + } +} +namespace vl +{ + namespace reflection + { + namespace description + { +#ifndef VCZH_DEBUG_NO_REFLECTION + using namespace vl::presentation; + +#define PARSING_TOKEN_FIELD(NAME)\ + CLASS_MEMBER_EXTERNALMETHOD_TEMPLATE(get_##NAME, NO_PARAMETER, vl::WString(ClassType::*)(), [](ClassType* node) { return node->NAME.value; }, L"*", L"*")\ + CLASS_MEMBER_EXTERNALMETHOD_TEMPLATE(set_##NAME, { L"value" }, void(ClassType::*)(const vl::WString&), [](ClassType* node, const vl::WString& value) { node->NAME.value = value; }, L"*", L"*")\ + CLASS_MEMBER_PROPERTY_REFERENCETEMPLATE(NAME, get_##NAME, set_##NAME, L"$This->$Name.value")\ + + IMPL_TYPE_INFO_RENAME(vl::presentation::GuiIqQuery, presentation::GuiIqQuery) + IMPL_TYPE_INFO_RENAME(vl::presentation::GuiIqNameOption, presentation::GuiIqNameOption) + IMPL_TYPE_INFO_RENAME(vl::presentation::GuiIqChildOption, presentation::GuiIqChildOption) + IMPL_TYPE_INFO_RENAME(vl::presentation::GuiIqPrimaryQuery, presentation::GuiIqPrimaryQuery) + IMPL_TYPE_INFO_RENAME(vl::presentation::GuiIqCascadeQuery, presentation::GuiIqCascadeQuery) + IMPL_TYPE_INFO_RENAME(vl::presentation::GuiIqBinaryOperator, presentation::GuiIqBinaryOperator) + IMPL_TYPE_INFO_RENAME(vl::presentation::GuiIqSetQuery, presentation::GuiIqSetQuery) + IMPL_TYPE_INFO_RENAME(vl::presentation::GuiIqQuery::IVisitor, presentation::GuiIqQuery::IVisitor) + + BEGIN_CLASS_MEMBER(GuiIqQuery) + CLASS_MEMBER_METHOD_OVERLOAD(Accept, {L"visitor"}, void(GuiIqQuery::*)(GuiIqQuery::IVisitor* visitor)) + END_CLASS_MEMBER(GuiIqQuery) + + BEGIN_ENUM_ITEM(GuiIqNameOption) + ENUM_ITEM_NAMESPACE(GuiIqNameOption) + ENUM_NAMESPACE_ITEM(Specified) + ENUM_NAMESPACE_ITEM(Any) + END_ENUM_ITEM(GuiIqNameOption) + + BEGIN_ENUM_ITEM(GuiIqChildOption) + ENUM_ITEM_NAMESPACE(GuiIqChildOption) + ENUM_NAMESPACE_ITEM(Direct) + ENUM_NAMESPACE_ITEM(Indirect) + END_ENUM_ITEM(GuiIqChildOption) + + BEGIN_CLASS_MEMBER(GuiIqPrimaryQuery) + CLASS_MEMBER_BASE(GuiIqQuery) + + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + + CLASS_MEMBER_FIELD(childOption) + CLASS_MEMBER_FIELD(attributeNameOption) + PARSING_TOKEN_FIELD(attributeName) + CLASS_MEMBER_FIELD(typeNameOption) + PARSING_TOKEN_FIELD(typeName) + PARSING_TOKEN_FIELD(referenceName) + END_CLASS_MEMBER(GuiIqPrimaryQuery) + + BEGIN_CLASS_MEMBER(GuiIqCascadeQuery) + CLASS_MEMBER_BASE(GuiIqQuery) + + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + + CLASS_MEMBER_FIELD(parent) + CLASS_MEMBER_FIELD(child) + END_CLASS_MEMBER(GuiIqCascadeQuery) + + BEGIN_ENUM_ITEM(GuiIqBinaryOperator) + ENUM_ITEM_NAMESPACE(GuiIqBinaryOperator) + ENUM_NAMESPACE_ITEM(ExclusiveOr) + ENUM_NAMESPACE_ITEM(Intersect) + ENUM_NAMESPACE_ITEM(Union) + ENUM_NAMESPACE_ITEM(Substract) + END_ENUM_ITEM(GuiIqBinaryOperator) + + BEGIN_CLASS_MEMBER(GuiIqSetQuery) + CLASS_MEMBER_BASE(GuiIqQuery) + + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + + CLASS_MEMBER_FIELD(first) + CLASS_MEMBER_FIELD(second) + CLASS_MEMBER_FIELD(op) + END_CLASS_MEMBER(GuiIqSetQuery) + + BEGIN_INTERFACE_MEMBER(GuiIqQuery::IVisitor) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(GuiIqQuery::IVisitor::*)(GuiIqPrimaryQuery* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(GuiIqQuery::IVisitor::*)(GuiIqCascadeQuery* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(GuiIqQuery::IVisitor::*)(GuiIqSetQuery* node)) + END_INTERFACE_MEMBER(GuiIqQuery) + +#undef PARSING_TOKEN_FIELD + + class GuiIqTypeLoader : public vl::Object, public ITypeLoader + { + public: + void Load(ITypeManager* manager) + { + ADD_TYPE_INFO(vl::presentation::GuiIqQuery) + ADD_TYPE_INFO(vl::presentation::GuiIqNameOption) + ADD_TYPE_INFO(vl::presentation::GuiIqChildOption) + ADD_TYPE_INFO(vl::presentation::GuiIqPrimaryQuery) + ADD_TYPE_INFO(vl::presentation::GuiIqCascadeQuery) + ADD_TYPE_INFO(vl::presentation::GuiIqBinaryOperator) + ADD_TYPE_INFO(vl::presentation::GuiIqSetQuery) + ADD_TYPE_INFO(vl::presentation::GuiIqQuery::IVisitor) + } + + void Unload(ITypeManager* manager) + { + } + }; +#endif + + bool GuiIqLoadTypes() + { +#ifndef VCZH_DEBUG_NO_REFLECTION + ITypeManager* manager=GetGlobalTypeManager(); + if(manager) + { + Ptr loader=new GuiIqTypeLoader; + return manager->AddTypeLoader(loader); + } +#endif + return false; + } + } + } +} + + +/*********************************************************************** +.\INSTANCEQUERY\GUIINSTANCEQUERY_PARSER.CPP +***********************************************************************/ +/*********************************************************************** +Vczh Library++ 3.0 +Developer: Zihan Chen(vczh) +Parser::GuiInstanceQuery_Parser.parser.txt + +This file is generated by: Vczh Parser Generator +***********************************************************************/ + + +namespace vl +{ + namespace presentation + { +/*********************************************************************** +ParserText +***********************************************************************/ + +const wchar_t parserTextBuffer[] = +L"\r\n" L"" +L"\r\n" L"class Query" +L"\r\n" L"{" +L"\r\n" L"}" +L"\r\n" L"" +L"\r\n" L"enum NameOption" +L"\r\n" L"{" +L"\r\n" L"\tSpecified," +L"\r\n" L"\tAny," +L"\r\n" L"}" +L"\r\n" L"" +L"\r\n" L"enum ChildOption" +L"\r\n" L"{" +L"\r\n" L"\tDirect," +L"\r\n" L"\tIndirect," +L"\r\n" L"}" +L"\r\n" L"" +L"\r\n" L"class PrimaryQuery : Query" +L"\r\n" L"{" +L"\r\n" L"\tChildOption\t\tchildOption;" +L"\r\n" L"\tNameOption\t\tattributeNameOption;" +L"\r\n" L"\ttoken\t\t\tattributeName;" +L"\r\n" L"\tNameOption\t\ttypeNameOption;" +L"\r\n" L"\ttoken\t\t\ttypeName;" +L"\r\n" L"\ttoken\t\t\treferenceName;" +L"\r\n" L"}" +L"\r\n" L"" +L"\r\n" L"class CascadeQuery : Query" +L"\r\n" L"{" +L"\r\n" L"\tQuery\t\t\tparent;" +L"\r\n" L"\tQuery\t\t\tchild;" +L"\r\n" L"}" +L"\r\n" L"" +L"\r\n" L"enum BinaryOperator" +L"\r\n" L"{" +L"\r\n" L"\tExclusiveOr," +L"\r\n" L"\tIntersect," +L"\r\n" L"\tUnion," +L"\r\n" L"\tSubstract," +L"\r\n" L"}" +L"\r\n" L"" +L"\r\n" L"class SetQuery : Query" +L"\r\n" L"{" +L"\r\n" L"\tQuery\t\t\tfirst;" +L"\r\n" L"\tQuery\t\t\tsecond;" +L"\r\n" L"\tBinaryOperator\top;" +L"\r\n" L"}" +L"\r\n" L"" +L"\r\n" L"token INDIRECT = \"////\";" +L"\r\n" L"token DIRECT = \"//\";" +L"\r\n" L"token NAME = \"[a-zA-Z_][a-zA-Z0-9]*\";" +L"\r\n" L"token WILDCARD = \"/*\";" +L"\r\n" L"token OPEN = \"/(\";" +L"\r\n" L"token CLOSE = \"/)\";" +L"\r\n" L"token XOR = \"/^\";" +L"\r\n" L"token INTERSECT = \"/*\";" +L"\r\n" L"token UNION = \"/+\";" +L"\r\n" L"token SUBSTRACT = \"-\";" +L"\r\n" L"token ATTRIBUTE = \"@\";" +L"\r\n" L"token COLON = \":\";" +L"\r\n" L"token DOT = \".\";" +L"\r\n" L"" +L"\r\n" L"discardtoken SPACE = \"/s+\";" +L"\r\n" L"" +L"\r\n" L"rule PrimaryQuery QPrimaryFragment" +L"\r\n" L"\t=\t(" +L"\r\n" L"\t\t\t(NAME : typeName with {typeNameOption=\"Specified\"})" +L"\r\n" L"\t\t\t| (\"*\" with {typeNameOption=\"Any\"})" +L"\r\n" L"\t\t)" +L"\r\n" L"\t\t[\".\" NAME : referenceName] as PrimaryQuery" +L"\r\n" L"\t;" +L"\r\n" L"" +L"\r\n" L"rule PrimaryQuery QPrimaryAttributed" +L"\r\n" L"\t= !QPrimaryFragment with {attributeNameOption=\"Any\"}" +L"\r\n" L"\t= \"@\" [NAME : attributeName] \":\" !QPrimaryFragment with {attributeNameOption=\"Specified\"}" +L"\r\n" L"\t;" +L"\r\n" L"" +L"\r\n" L"rule PrimaryQuery QPrimary" +L"\r\n" L"\t= (\"/\" with {childOption=\"Direct\"}) !QPrimaryAttributed" +L"\r\n" L"\t= (\"//\" with {childOption=\"Indirect\"}) !QPrimaryAttributed" +L"\r\n" L"\t= \"(\" !QueryRoot \")\"" +L"\r\n" L"\t;" +L"\r\n" L"" +L"\r\n" L"rule Query Query0" +L"\r\n" L"\t= !QPrimary" +L"\r\n" L"\t= Query0 : parent QPrimary : child as CascadeQuery;" +L"\r\n" L"" +L"\r\n" L"rule Query Query1" +L"\r\n" L"\t= !Query0" +L"\r\n" L"\t= Query1 : first \"^\" Query0 : second as SetQuery with {op=\"ExclusiveOr\"}" +L"\r\n" L"\t= Query1 : first \"*\" Query0 : second as SetQuery with {op=\"Intersect\"}" +L"\r\n" L"\t;" +L"\r\n" L"\t" +L"\r\n" L"rule Query Query2" +L"\r\n" L"\t= !Query1" +L"\r\n" L"\t= Query2 : first \"+\" Query1 : second as SetQuery with {op=\"Union\"}" +L"\r\n" L"\t= Query2 : first \"-\" Query1 : second as SetQuery with {op=\"Substract\"}" +L"\r\n" L"\t;" +L"\r\n" L"" +L"\r\n" L"rule Query QueryRoot" +L"\r\n" L"\t= !Query2" +L"\r\n" L"\t;" +; + + vl::WString GuiIqGetParserTextBuffer() + { + return parserTextBuffer; + } + +/*********************************************************************** +SerializedTable +***********************************************************************/ + +const vint parserBufferLength = 5817; // 27819 bytes before compressing +const vint parserBufferBlock = 1024; +const vint parserBufferRemain = 697; +const vint parserBufferRows = 6; +const char* parserBuffer[] = { +"\x00\x00\x81\x81\x84\x02\x81\x80\x07\x82\x00\x87\x80\x83\x21\x33\x3B\x31\x30\x64\x65\x11\x35\x35\x32\x39\x3D\x7F\x18\x99\x98\x8A\x85\x84\x8C\x28\x39\x69\x6D\x21\x36\x83\x8D\x8B\x8A\x8D\x19\x85\x08\x80\x0A\x90\x81\x92\x8B\x28\x99\x88\x0B\x93\x98\x83\x29\x32\x74\x2F\xA7\x91\x9B\x03\x94\x8E\x81\x1C\x8C\x8E\x90\x82\x8C\x8A\x8B\x96\x05\xC8\xA3\x28\x39\x34\x34\x33\x98\x1B\xBE\x81\x82\xAF\x81\x8A\x9C\x03\x2B\xD8\x80\x90\x33\x95\x32\x36\x3A\x50\xFF\x7F\x86\x81\x87\x8D\x91\x91\x79\x3A\x8D\x0B\x9B\xB0\x81\x30\x3A\x74\x20\xA2\x35\x34\x3D\x32\x27\x30\x6D\x65\x21\xA3\xB9\x85\xB0\x90\x91\x24\xC6\xB9\x33\x0B\x94\xC2\xB6\xB8\x72\xF4\xB6\xB8\xB5\x37\x24\x38\x3A\x69\x6F\x2E\x3B\xB2\xA8\x82\xB2\xC0\x69\x82\xFD\x88\x8B\xC8\x03\xA5\xA6\x64\x0E\xD0\xD2\xC4\xC8\x86\x8F\xBF\x68\xEA\xAC\xA1\x82\x3D\x32\x33\x8A\x5E\xE3\x0B\xD9\xB5\xD5\x8E\xBF\xB3\x81\xA6\xB5\x85\x8B\xDC\x39\x3C\x38\xB3\xFA\x90\xBC\xB0\x07\xD0\xDD\xCC\x26\x8E\x2B\x8A\xE0\x86\xDC\xE1\xBB\x79\xA2\xD1\xD3\xC0\xAB\xDE\x81\xDD\x37\xB9\x82\xC8\xA2\x80\xA6\x33\x34\x72\x73\x20\xB5\xE4\x99\x81\xEC\x9D\x02\x2B\xA9\xE0\x8F\x30\x39\xB0\xEB\x01\xD8\xF8\x97\xA9\xA9\x83\x39\x32\x63\x12\xCF\xB0\xA1\x0B\x97\x17\x95\xFD\x6B\x42\x83\x4A\x61\x61\x53\x80\x81\x05\xB1\x47\x80\x42\x09\x8A\x8B\x82\x40\x0D\xA8\x40\x7C\x40\xBB\x49\x1E\x10\x11\x49\x12\x15\x13\x10\x54\x04\x48\x42\x87\x00\x2F\x02\x8B\x7F\x08\xB1\x4A\x55\x41\x27\x98\x8A\x84\x87\xEB\x45\x4D\x8A\x88\x01\x25\x88\x48\x88\x02\x60\x8E\x11\x10\x4D\x05\x15\x07\x4A\x3B\x80\x4B\x15\x18\x2D\x3A\x11\x11\x0B\x5A\x1F\x1D\x17\x8F\x41\x83\x9A\x14\x0C\x2D\x39\x0D\x16\x0A\x2D\x90\x84\x78\x42\xBB\x57\x19\x10\x13\x44\x03\x11\x12\x14\x44\x11\x91\x43\x8B\x2A\x03\x02\x8E\x46\x34\x83\x41\x43\x13\x50\x05\x1E\x12\x97\x00\x6F\x88\x09\x99\x00\x61\x5C\x75\x40\x48\x43\x1C\x13\x13\x53\x05\x1C\x98\x00\x2F\xA9\x03\x9D\x9C\x50\x62\x98\x42\xA0\x00\x18\x1F\x12\x14\x7B\xAF\x8E\x17\x89\x52\xB1\x49\x03\x4A\x8F\x80\x46\x84\x15\x45\x12\x19\x9C\x8B\xEA\x41\x4F\x0A\x0A\x07\x23\x99\x4B\x4A\x48\x55\x1E\x11\x12\x4F\x2B\x99\xA4\x40\x2F\x2B\x03\x84\x00\x61\x51\xA5\x42\xAB\x53\x15\x12\x13\x14\x54\x12\x11\x10\x87\x31\x88\x49\xAC\x00\x2D\x2E\xAD\xA0\x4A\xBE\x81\x4E\xA9\x10\x54\x35\xA9\x12\x10\x55\x14\xAB\xAE\x40\xBB\x80\x1A\x02\xA7\x18\x7F\x9C\x4B\x54\x4F\x37\x9E\x13\xB2\x01\x7B\xAA\x0D\x67\xBF\x9A\x44\xA2\x40\x84\x84\x1F\x10\x15\xD8\x80\x4B\xAE\x0B\xC4\x61\x55\xBB\xB4\x08\x48\x53\x14\x14\xB7\x85\x1F\xB5\x40\x84\xAF\x03\x1F\x0A\x6D\x45\x41\x58\x89\x05\x50\x0B\x4A\xBF\x2E\x57\x68\x5A\x11\x72\x21\x17\x19\x5E\x5F\x5A\x0B\x4A\xC2\x01\xE8\x66\x44\xC1\x06\xC8\xC4\x1E\x0B\x52\x2F\x1F\x18\x1D\x53\x34\x13\x48\x1D\x3D\x85\x4D\xC4\x10\x20\x24\x0C\x0D\x14\x02\xCF\xC5\xC3\xC1\x5E\x74\x1E\x0C\xC0\xFD\x81\x44\xCA\xC3\x79\x10\xC8\xCB\x57\x16\x2B\x45\xCD\xC3\xC7\x72\xC2\xC6\x0B\x19\xDB\xC4\x07\x4A\x3F\xC0\x40\xCB\xC8\x25\xF1\xC7\xCA\xC4\x2B\xFF\xBE\xC9\xD1\x3A\xE9\xC2\x07\x4A\x4F\xF8\xC8\x65\xD3\x5F\x6E\x01\x0D\x2A\x2B\x58\xD0\x40\xD1\x30\xD4\xDA\xCA\x0E\x20\x28\x01\xD8\x08\x37\xB9\x80\x08\xD8\xCE\x41\x70\x0B\x1D\x69\x34\x18\x18\x08\x7B\x20\x09\xD8\x74\x8D\x4F\x63\x74\x08\x3D\x20\x02\x0B\x14\xC0\x63\x19\x1B\x77\x65\x24\x12\x08\x08\x7D\x20\x09\x08\x08\x7C\x23\xD2\x0A\x0A\x83\xEC\xDE\xD8\xDC\x72\xFF\x61\x72\x74\x92\x78\xDA\xDD\x10\x6E\x39\x13\xE1\xE1\x87\xE9\x00\xCB\x16\x7A\xEE\x03\xE1\xD9\x45\x27\xD0\x09\x6B\xAF\x6D\x6E\x1A\x6C\x74\xE0\x0D\x14\x08\x0D\x60\x05\xD2\x4E\x2C\xC2\x4C\xCB\xCB\x39\xC7\xDE\xD0\xD4\x4B\xDD\xDA\xED\xD5\x32\x1A\xD5\x42\xF0\x5C\xF9\xE1\xC5\xCA\x3E\x20\xD2\xDA\xD8\xA4\xE6\xE3\xDC\x63\x6B\xED\xDF\xD9\xDC\xCF\xD1\x76\xDD\xE5\x79\xFB\xDD\xDF\xDF\x69\x01\xEB\xE6\xE1\x88\xCA\xEC\xE1\xF4\x8F\xD4\xF2\xE4\xDD\x94\xEE\x16\xE6\x08\x98\xDA\xE4\xE0\xF8\x9E\xE0\x00\xEA\x08\xA2\xE4\xD8\x8D\xE9\x60\xE8\xE0\x6F\xEA\x6A\xEF\xE1\xEF\xEC\x82\x35\x75\x40\x37\x7C\x69\xDF\x74\x09\x6A\x05\x28\x80\xEE\x53\x66\x80\x17\x33\x02\x78\x02\x24\x7B\x02\x83\x66\x81\xE4\x63\x6C\x79\xF7\x6E\x7B\xF9\x50\x7E\x71\xE9\x51\x77\x39\x8C\x29\x7F\xFA\x7C\x68\x3E\xEE\x5E\x7F\x7D\x87\x69\x72\xD8\x0B\x7D\x70\xE9\x50\x75\x7A\x75\x63\x36\xFA\x59\x7D\x7D\xEF\x5D\x72\x7E\xA1\x62\x04\xC8\x4D\x79\x7E\xD7\x3B\x7C\x75\xD0\x7E\x7F\x1C\x32\x70\x66", +"\xDA\x4A\x6A\x6A\x14\x87\x7B\x57\x18\x0B\x24\x26\x88\x8E\x64\x4A\x93\x61\xC5\x17\x65\x08\x37\x24\x0D\x63\x02\x3D\x62\xC8\x13\x80\x8B\x99\x6A\x60\x04\x40\x08\x82\x40\x0A\x85\x69\x20\x08\x31\x0D\x73\x35\x2C\x19\x41\x65\x20\x36\x9C\x89\x0F\x66\x91\x2C\x1A\x8A\x34\x0C\xAB\x43\x1B\x25\x77\x9B\x6B\x1B\xF1\x89\x30\x35\x96\x81\x04\x6F\x9E\x68\xC8\x1D\x80\x73\xB7\x32\x89\x8D\x93\x77\x7B\x0C\x97\x79\x73\xCD\x4D\x02\x01\xC5\x78\x30\x1F\xF3\x8E\x8E\xB0\x7A\x83\x70\xA0\x7C\x84\xEC\x67\x88\x91\xD6\x6F\x72\x04\x3A\x03\x70\x20\x85\x81\x8B\x41\xAE\x81\x6E\x86\x9D\x8D\x22\xB2\x83\x85\xED\x40\x72\x70\x84\x62\x80\x40\x04\x8E\x77\x28\xA2\x89\x20\x64\x95\x96\x17\xAE\x05\x06\x08\x81\x22\x82\xA4\x9E\x8A\x05\xCB\x76\x7E\xB3\x68\x6B\x83\x79\x24\x7E\x07\xB0\x82\x85\xEC\x64\x86\x6F\xAF\x96\x85\xF8\x2B\x83\x7C\x42\xA6\x78\x84\xD6\x6C\x94\x0D\x8D\x98\x84\xF0\x73\x7D\x7E\x9A\x9A\x7E\xEA\x40\x89\x98\x21\x84\x8F\x38\x3A\x21\x8C\xEF\x4F\x80\x8E\x4E\xB4\x8C\x61\x05\x30\x9F\x1E\xEE\x9A\x8C\x8A\x56\x64\x0E\x55\x84\x0F\x05\x2B\x2B\x9E\x80\x1B\x8D\x8C\xF4\x81\x72\x0F\x60\x8B\x55\xDD\x2F\x8F\x59\x08\x28\xA0\x00\x6F\x8E\x80\x5B\x2B\x26\xA1\x7A\x85\x6B\x30\xFA\x62\x45\x16\xA5\x78\x04\x9F\x2E\x29\x33\xFA\x69\x08\x2B\xA0\x38\x3F\x74\x12\x9B\x28\xB0\x63\x92\x44\xA4\x08\x08\x8F\x91\x90\x5A\x13\xA2\x05\x17\x16\xA6\x83\x19\xA1\x36\x22\xEB\x74\x09\x8F\xA3\x09\xA4\xDD\x83\xA7\x71\x25\xA4\x8E\x94\x90\x97\x8D\x16\x82\x04\x0A\x22\x9A\x27\x29\xB4\x0A\x6F\x29\x1A\x84\xA3\x01\x27\x44\x9D\x30\x05\xA0\x2E\x62\x30\x0C\x56\x61\x0B\x95\x15\xAA\x8F\x52\xBF\x8F\x1B\xBE\xA3\x65\xAC\xA0\x6E\xA9\xA6\x7C\x2A\xEA\x47\xAF\x8C\xD3\x71\xA0\x76\x43\x94\x28\x51\x69\x9B\xA8\x80\x0D\xAA\xAA\x50\xAE\x26\x54\x8E\x8B\x07\x95\x35\xA8\xAB\x26\x30\x06\x05\xE0\xA0\x6C\xB1\xA9\x60\x04\x65\xA0\x6F\x59\xB1\x7A\xAC\xAB\x02\x30\x08\x71\xAB\xA1\xD1\x32\x90\x00\x5A\x87\x3E\x9E\x54\x96\x89\xBE\x02\x29\x5F\x7F\xB0\x63\xA0\x40\x0D\xAC\x00\x6F\xA9\xAF\xC4\x8E\xAE\x05\x32\x17\xAD\x41\x22\xBD\xAB\xBC\xBB\xAA\xAA\x61\xBD\x2B\x57\x20\x61\xB0\x8C\x8C\x2E\x29\x68\xA0\x05\x61\xC5\x26\x24\xCD\x9C\xB6\x22\x30\x0C\x39\x41\x3A\xBF\xB2\xA3\xB9\x9C\x5B\x01\x3D\x33\x16\xD9\xA0\x8C\xDB\x91\xAE\x24\x31\x1E\xB2\x60\x31\x0E\x04\x1A\x3E\x13\x25\xCF\xB8\xAE\x45\x31\x07\xB4\xE4\xA6\x77\x3B\xE1\x27\xAA\x08\x5E\x03\x70\xBE\xA0\x07\x3E\xF9\x36\x89\x6C\xE7\x32\x30\x65\x90\x75\x3D\xEB\x65\x08\x1E\x63\x0C\x0D\x3A\x33\x09\x0D\x76\x0D\x32\x1C\x1B\x7C\xAA\x9D\x14\xB8\x6C\x80\x92\xA9\x7D\xCB\xB5\xBB\xE9\x97\xB8\x3C\xE2\x3A\x6F\xF8\x5E\xB0\xBC\xFD\x23\xBB\x3E\xE5\xB6\x98\x08\x68\xB9\x7B\x8E\xB5\x29\x3C\x20\xB4\xBE\x71\xF2\xA8\xB8\xE5\x88\xBE\x81\xAA\x0B\x25\x86\xD2\xB9\x0F\xFB\x80\xB3\xB9\xFF\xB9\xBA\xDE\x5C\xBF\xC3\xBC\xA6\x75\xC0\xE2\xB1\x74\x79\xA6\x26\x95\x8B\x8C\xC2\x6F\xEA\xAC\xBE\x7B\xF0\xB2\xBE\x47\xBF\xA4\xBF\x5F\xA0\xC4\xD8\x58\xB1\xC0\x16\xA5\xC0\xB7\x27\xD8\x3E\x81\xAA\xC8\xC0\x16\xE6\xB9\x6E\x2F\xC2\x06\x83\x95\x20\xBC\x9C\xBD\x0E\xB3\x45\x6A\xA2\x40\x0A\xAC\xA1\x18\x15\x13\x25\x57\xD1\xA3\x65\xCA\x74\xA2\x97\xAD\xC0\xA6\xAF\xB2\xA6\x36\x9C\xAE\xA3\xD6\x37\xA2\xA4\xF3\x87\x90\x1D\xA9\xA0\xA8\x2E\xED\xA2\x87\x47\xCE\xB4\x68\x1B\xA2\x05\x9A\xA6\xCE\xC9\xE0\x7A\xA6\x24\x81\xA4\x0C\x28\xF0\x62\xCA\x01\x34\xC9\xD1\x20\xBF\x03\x95\x05\xD2\xCB\xC7\x21\xAB\x50\xA0\x69\xBE\x93\x06\xA8\xA9\x22\x13\xC3\x42\xCB\xB6\xC3\xE9\x96\x6B\xC3\x05\x38\xD1\x69\xD3\xBD\xBF\x0E\xE1\xC2\x3C\x20\x7E\xC4\x81\xC2\xC9\xC5\x21\xAB\xC6\x22\x71\xC9\xCB\x92\x90\xC7\xCC\xC2\x6C\xC8\xC7\x3F\xDE\xD3\x8E\x80\xC4\x0F\x50\xE4\xC3\xD4\xE1\xA4\x0F\x81\xDA\x36\x25\x54\xF0\x09\xBD\xEB\xAD\xBF\x7B\xF1\xBF\x09\xF9\x84\x72\xD2\xF6\xBA\xB6\x40\x3C\xBB\xB8\xC8\xB8\x9E\x8A\xC0\xA0\x22\x70\x9B\xDD\xC2\xCC\x88\xDA\x30\x32\x15\xD1\x1E\x32\x0D\xB8\x5C\x2B\x26\xDB\x1C\xD2\x05\xA7\xB2\x0F\xD2\xED\xAB\x05\xBB\x3A\xDF\xB8\xA9\xBA\xD4\xC8\x5E\xE8\xD2\xC1\x49\xD5\x0A\x1B\x53\x34\xBF\x57\xE6\x22\xDC\x39\xD7\xDD\xB9\xFA\x6D\x04\x74\xD6\xB8\x6C\x28\xCC\xDE\xA9\xC5\xCF\xDD\x53\x8B\xC7\xD7\xCE\x95\x0E\x18\x62\x35\x61\x56\xFD\x0B\xBF\xF7\xDA\xAB\x72\x99\xB5\x3E\x0A\xD6\x21\xDB\xE5\x36\xE3\xB6\x8E\x84\x15\x95\x1D\xE1\xDC\xE3\xDB\xDE\x08\x7D\xD1\xD7\x18\x01\xC9\xD7\xBB\xC9\x9E\xAF\xA3\x8A\xE0\x86", +"\xE1\x0E\xE1\xF6\xD7\xE1\xC8\xB3\xD2\xC4\x11\x27\xDD\xE4\x27\xE3\xCB\xC0\xEE\xD9\x0F\x2F\xE7\xB8\xE1\x7A\x72\xDC\xBD\x84\x77\x96\x80\x39\x93\xA7\x7C\xCC\x8E\x40\x6E\x80\xA0\x35\xF5\x9A\x06\x74\x0B\x25\xD4\x88\xDB\xCE\xA7\xC2\xA6\x92\x40\x10\xCD\x26\x99\x80\x6D\x54\x94\x95\x7F\x7A\x61\x94\x08\x7A\xC9\x88\x2F\xB1\xCE\xEB\x9D\x81\x87\x4C\xCE\x9E\x95\xEE\x70\x95\x0F\xD7\xD5\xC1\xC6\x93\xD7\xC2\x19\x18\xD2\x20\x9A\xD6\xBD\xA7\xA6\xE4\xE7\x1E\xDC\xBC\xB5\xA8\xA0\xE3\xBA\xA9\xE9\xC0\x83\xC9\xC9\xC6\xC2\xD4\xC5\xB1\xB6\xC4\xDA\x0F\xF6\xBA\xE4\x8C\x60\xF2\x89\x82\xF8\xE5\x76\xFA\x23\xE5\x0D\xDF\x28\x93\x91\xC7\xD9\x8A\xF4\xEF\xE2\xDA\xDC\xD9\x0C\x1F\xE5\x20\xD2\xD4\xD8\xDF\xB1\xC4\xDD\xDF\xB5\xDC\xDE\x7F\xFE\xBC\xF2\x3A\xE0\x07\xA9\xF9\x08\xF2\xBD\x53\x0D\xE5\x71\x2F\xE6\x93\xB1\xEB\xDB\x99\xE0\x04\xC7\xAC\xF6\xE6\xEB\xB2\xDA\xDD\xCA\xFB\xE7\xF2\xF0\xC0\xEA\x08\x42\xE2\x33\xCD\x71\xEF\xE2\xCA\xC1\x20\xB3\xF7\xDE\xD9\xDF\xAB\x23\xDA\x3A\x22\xDC\x18\xC1\x50\x20\x57\x45\xAF\x9E\xD1\xC0\x01\x67\x5F\xF7\x62\xAB\x58\x89\x20\x1D\x74\xDA\x51\x92\xE7\xDE\x75\x88\x27\xE8\x55\xEA\x97\x1A\xC0\x6D\x76\xA4\xD6\xED\x8E\x34\x13\xE9\x41\x7A\xFA\xA4\x8B\x3C\xA5\x92\x7A\x39\x75\x38\x4A\x49\x68\x7A\x18\x9E\x41\x76\x70\x64\x76\x5D\x42\x31\x67\x71\x50\xE8\x3B\x76\xB6\x7D\x76\x27\x4D\x07\x45\x70\x00\xF0\x78\x16\xFF\x71\x38\x4A\x71\x10\x4C\x74\x52\x7C\x6E\x40\xFA\x72\x10\xFC\x79\x66\xF2\x71\x54\x02\x8B\x75\xC6\x4B\x49\x56\x7E\x49\xA1\x62\x76\x0A\x86\x34\x51\x4D\x80\x2B\x8A\x76\x63\x6A\x3D\x25\x41\x4D\x9D\x78\x10\xB7\x5B\x6D\xA1\x70\x5A\xA4\x72\x10\xA6\x79\x7D\xBE\x70\x7C\xAD\x72\x79\xAF\x75\x7C\xB1\x73\x7B\xB5\x7B\x37\xB8\x7D\x70\xBB\x77\x63\x11\x79\x6F\x17\x72\x72\xE7\x66\x84\xC4\x71\x70\x84\x7D\x6B\xC9\x7B\x3E\xCC\x7E\x06\x9B\x3C\x7D\x00\x0E\x7D\x82\x16\x54\x01\x25\x10\x65\x84\x7E\x52\x47\x4F\xF9\x41\x7D\x00\x1A\x5B\xC3\x5E\x68\xF7\x48\x59\x7E\x67\x1C\x80\x60\x10\x82\x60\x33\xCD\x57\x68\x05\x1A\x87\xFD\x79\x07\x8A\x64\x54\x63\x87\x4F\xA1\x69\x54\xCF\x79\x07\x30\x0C\x58\xB7\x33\x57\x46\x5D\x33\x72\x04\x07\xE1\x7D\x19\x20\x3F\x86\xB8\x5E\x03\x85\x80\x03\xC4\x1C\x11\x9F\x5C\x88\x74\x05\x87\x00\x0A\x50\x43\x3E\x54\x94\x8E\x79\xF6\x58\x88\xC7\x56\x69\x8B\x8A\x31\x8D\x8F\x88\x01\x11\x89\x8D\x71\x8A\x3A\x85\x8A\x1D\x67\x89\xB0\x8C\x5C\x9A\x8C\x89\x9E\x80\x02\xAD\x85\x88\x32\x04\x8A\x1A\x7C\x6D\xA7\x8B\x31\xAA\x82\x34\x21\x37\x7A\xAE\x88\x22\xB0\x82\x03\xB2\x8D\x8B\x3C\x38\x8A\x9B\x8B\x12\xB7\x84\x8C\x60\x82\x86\x70\x87\x31\x86\x15\x10\xD5\x88\x86\xCE\x6A\x89\x6C\x80\x00\xBA\x5C\x8A\x68\x8E\x03\xD1\x80\x8B\x46\x5F\x00\x2B\x14\x8E\x1A\x76\x54\xCB\x8B\x31\x93\x51\x10\xF9\x2F\x89\x81\x87\x31\x3E\x05\x81\x17\x8E\x7F\x7C\x6C\x01\x2B\x16\x8F\xEC\x49\x81\x75\x4F\x8B\x8D\x8D\x4F\x05\x1E\x8F\xDE\x8D\x74\x25\x82\x8F\xF5\x71\x7F\x5F\x74\x06\x4E\x45\x10\x09\x94\x82\x07\x99\x8E\x8D\x87\x33\x05\x10\x91\x9F\x82\x90\x07\x9E\x03\x73\x88\x19\x04\x9C\x4E\xD9\x8C\x8C\xEB\x80\x10\xED\x83\x8C\x40\x57\x91\x68\x1B\x8D\xBC\x53\x68\x9A\x89\x8C\x00\x03\x91\x97\x5C\x8B\x8A\x5A\x4B\x12\x39\x91\x2D\x96\x3C\xBB\x44\x03\xBE\x40\x10\xC0\x4E\x92\xC8\x3C\x65\x18\x49\x82\x30\x41\x67\xCC\x40\x81\x36\x80\x4D\x6E\x72\x4D\x2A\x42\x60\x2F\x5F\x42\xC8\x41\x43\x77\x3B\x4D\xEE\x3C\x39\xDE\x49\x43\xC5\x48\x3F\xA7\x3E\x43\xE3\x40\x76\xFF\x35\x44\x87\x50\x93\x0C\x96\x52\x1B\x80\x10\x1D\x86\x7F\xF2\x7C\x4B\x79\x45\x10\x63\x9D\x87\xFA\x86\x82\x98\x41\x95\xA6\x35\x80\x75\x17\x80\xA0\x44\x54\xC1\x4C\x80\x0A\x6C\x96\xAB\x4B\x94\x11\x87\x83\x43\x94\x38\xF5\x54\x91\x26\x5A\x55\x71\x9F\x57\x73\x9E\x80\x34\x86\x97\xEC\x3C\x4D\x0F\x7D\x29\x08\x1C\x92\x81\x46\x40\x28\x90\x40\x26\x1F\x20\xDD\x29\x11\x95\x82\x2D\x48\x1A\x13\x02\x21\x02\xD0\x2F\x0F\x85\x81\x03\x94\x90\x8B\x02\x23\x02\x99\x9A\x8B\x9D\x9A\x71\x02\x25\x02\x99\x91\x8E\xE7\x87\x4F\xA3\x9F\x79\x79\x02\x20\x27\x09\x99\x5A\x9C\x97\x74\x4D\x98\x58\x9F\x98\x2B\x19\x02\x99\x92\x92\x16\x14\x9B\xE8\x42\x18\x02\x2B\x02\x99\x9F\x01\xF3\x2C\x2A\xEB\x2F\x0F\x02\x2B\x2E\x90\x99\x9C\xCA\x90\x21\xC5\x9A\x59\x7B\x2B\x9C\xEB\x28\x9C\x73\x77\x1D\x01\x10\x43\x02\x2A\x98\x7F\x9F\x15\xFF\x05\x9C\x88\x95\x10\xC3\x9B\x9C\xE0\x91\x27\xC5\x9B\x2E\xD2\x2B\x9C\xCF\x9A\x9C\xBC\x98\x19", +"\x96\x97\x44\x2D\x3C\x4E\x5E\x30\x27\x03\x24\x92\xD5\x99\x94\xE9\x38\x9A\x00\x0F\x4C\x26\x44\x06\xD8\x98\x93\xDA\x9B\x27\xFF\x0B\x27\x9A\x50\x86\xDB\x9B\x12\xF0\x95\x86\xCC\x90\x2A\x00\x24\x20\xEB\x2B\x2A\x15\x83\xA0\x08\x1D\x91\x00\x0E\x01\x0A\xA5\x19\x05\x12\xA1\x0C\x2B\x2E\xDD\x92\x10\x09\x97\xA0\x09\x5D\x44\x13\xAA\x2B\xF4\x77\xA1\x90\x23\xA2\x20\xA8\x10\x2A\x08\xA0\xE1\x90\x14\x14\xAE\x98\x16\x17\x9D\xEC\x9B\x98\x51\x40\x9F\x02\x22\x9F\xCD\x14\x9F\x8A\x46\x9F\xF8\x9F\x4A\xFB\x92\x93\x12\x3A\x59\x27\xA9\xA2\x03\x4F\xA2\xD9\x94\x07\xDF\x90\xA4\x63\x4B\x4E\x31\x96\x90\x26\x52\xA3\x85\x1D\xA4\x87\x13\x83\xD9\x43\x1D\xDF\x94\x28\xED\x31\x9B\x1E\x87\x7F\xFF\x9E\x79\x02\x12\xA0\xEB\x24\x1C\x16\xAA\x2F\xEB\x20\xA1\x5F\xAC\xA1\x05\x1C\x89\x1B\xA1\x10\x0E\xA5\x10\xEB\x2A\x87\x64\xAB\xA5\x24\xA0\xA6\x2B\x19\xA1\x01\x17\xA6\xE2\x94\xA0\x09\xA2\xA2\xED\x27\xA7\x70\xA4\x25\x48\xAC\x2C\xF7\x88\xA2\x46\xA9\x9E\xA9\x1E\x9B\xEC\x96\x3B\x05\x95\x76\x12\x3C\xA4\x08\x14\xA3\x00\x0F\x93\x32\x48\xA3\x12\x8A\x9F\x42\xAC\x9F\x74\x0A\x59\xF8\x86\xA4\x3B\xAC\x40\x51\x45\xA4\x46\xA6\x74\x48\xAB\x95\x74\x4A\xA8\xD6\x8E\xA4\x00\x04\x97\x0F\x8F\xA8\x6F\xA9\xA3\x6E\x76\xA5\x60\x97\x90\x90\x99\xA6\x10\x2C\x58\xF0\x93\x9E\x5A\xA1\x10\x72\xA7\x20\xEB\x22\xAA\xCB\x6B\x1C\xF3\x98\x4D\x4A\x92\x19\x90\xA8\x97\x81\x39\xA9\x88\xA9\x32\xC4\x9F\xA1\x49\x1D\xA9\x7C\x2A\xAC\x82\xA9\x1B\x2D\xA5\xA8\x41\xAE\x9E\x06\x4A\xAB\xD2\x7C\xAB\x35\xAE\xAB\xE9\x33\xA5\x01\x1D\x3E\xC4\xAB\x80\x29\x39\xA5\x0C\x20\xA0\x6F\xAD\xA6\xD9\x2B\x30\xC8\xAE\xA6\x08\x1C\xA5\x71\xAE\xA1\x78\xA5\xA6\xEC\xAB\xA7\xB6\x18\x10\x63\xA8\xA6\x61\xAB\x12\xF3\xA5\xA7\x1F\x2A\xA7\xE4\xA0\x10\xD2\x26\xA0\xF4\xA3\x9D\xB8\x4B\x12\xEB\x2F\xA3\xC9\xAD\xA9\xCD\xA8\x1C\xCF\xA9\x98\x93\xAC\xA3\x29\x34\xAD\x6D\x86\xAD\x8D\xA6\xA3\x32\x4A\xAD\x00\x1C\xAD\x0B\xBA\xA9\x5E\x4E\xA3\xCA\xAD\xAD\x30\x8E\x45\x9C\xAD\xA9\xAC\xAA\xA4\xA1\xAA\x9C\xD5\x82\x10\xD5\x86\xAA\x83\x92\x19\x14\xB0\x00\x55\xAF\xA9\xB2\x9A\x46\xE0\xA6\x8C\xE9\xA7\xAE\xE5\xA6\x1A\x34\xBE\x91\xF6\xA7\xB3\x61\x83\xAE\xFF\xA6\xB3\xF2\xAA\xB3\xB7\xA0\x00\x74\xA7\xAC\x1D\xA8\x10\x43\xB0\xAB\x66\x28\x10\xFE\xA8\xAF\x05\xB6\x86\x3A\xBC\xA0\x02\xBF\xA7\x79\xA6\xB0\x2B\xA5\x9B\x09\xBD\x9E\x58\xB0\xA3\x5E\x4E\xB0\xDC\x80\xB1\x8E\xA2\xA5\x2B\x14\xA5\x99\x3C\xB1\x5E\x36\xA9\x1B\xB7\xB1\xC5\xAF\x15\x1F\xB6\xA4\x21\xB8\x81\x7C\x6C\xB5\x25\xB1\x10\x27\xB2\x98\x51\xA0\xAC\xA9\xA1\xA9\x6D\xB4\x8F\xF7\x7F\xAA\xC5\x92\xAB\x51\xBD\xAE\x02\x1A\x59\x41\xB7\x9C\x76\xA9\x9C\x8C\xAF\xB5\x2A\xB1\xB6\xDB\xA3\xB6\x68\xBE\xAD\x5F\x10\xB8\x68\xA2\xB8\xCA\xA1\x9D\xCA\x90\xA1\xF9\x22\x4E\xB1\x11\x1C\x2E\xAA\xB0\xD2\xA1\x45\xCA\xA0\xAF\xFB\xA0\x00\xAB\x2F\xB9\x48\xB1\x27\x7B\x20\x86\x84\xBA\xB4\xA7\x22\xB3\x4E\xB0\xB2\x2E\xB7\xA5\xF2\x7B\xB6\x40\xAA\x9B\xAD\x99\x9C\xA5\xB4\xB4\x4D\xB0\xA4\xD2\x99\x9C\x07\xBB\x9E\x9C\xB9\xB5\x43\xA1\xB3\x10\x22\xAE\xC9\x93\xB0\x85\xB1\xA8\x55\xBD\x9B\xB6\x9F\xBB\x86\xAD\xB9\x19\xBB\x12\x04\xB0\xA4\x64\xB6\x40\xB2\xB9\xA2\x79\xBD\x4E\xF7\x70\xB7\xA4\xA8\xB2\x75\xBE\x06\x2B\xBD\xB2\xEF\x77\xA8\x7A\xB2\x7F\xC2\xBC\x54\xCA\x9B\x2E\x97\xA5\x23\xCC\xA9\xBC\xEA\x94\xA8\xCC\xB1\xAD\x49\xA9\xB6\x95\xA2\xB5\x98\xAD\xB8\x1D\xB2\x31\xD5\xB1\x9E\xD7\xBA\x8F\xDA\xB8\x10\x73\xB0\xA5\xBF\xAE\x06\xC1\xA2\x94\x81\x3B\xBF\x7C\x6F\xB9\x02\x27\xBB\xB7\xB4\x1C\xA4\xBE\x9F\x7B\x2C\x89\xA9\xB5\x10\x22\x0B\xBA\x81\xBB\x12\x13\xCD\xA9\xB4\xB9\xBF\xE0\x95\x89\xE5\xB2\x6D\xE7\xBB\x1A\x08\x14\xBC\x05\x10\xA1\xCB\x94\xBB\xBB\xB9\xBB\x74\x21\x10\x31\x52\x20\x95\x8A\x9C\x0A\xCB\x2E\xDB\x8D\xC0\x04\x2B\x27\xE6\x8C\xBA\xA1\xB6\x9F\xA1\xB2\xA6\x3A\xBB\xA6\x3A\xBE\xA5\x40\xBF\xAE\xA1\xB6\xA6\x7F\xB5\x10\x24\x04\xC1\xE6\xB8\x10\x45\xCD\xA9\x95\x8A\xC1\xCB\x9B\x99\x1D\xCD\x58\xB5\xAC\xB4\x7E\xA8\x10\xF0\x47\xC3\x3C\xB2\xC5\x64\x1F\xB3\x90\xB8\xB3\x5A\xC0\xBA\xB6\xA0\xC4\x3D\xBE\xAE\x46\xB3\xC4\x1A\xA6\xC4\x6E\x50\xC6\xE1\x95\x89\x27\xC5\xC1\xAF\x80\x10\x01\x7C\xC2\xA2\x8B\x5C\x0A\xCF\x9D\x10\xAF\x9D\xB7\xB5\xA0\x3A\xBD\xAF\x4F\xBD\xA7\x0B\x2B\x27\x41\xB7\xC1\x46\xAA\xC6\xCA\x92\x69\x7E\x5F\xB8\x51\xCB\x59\xB0\x80\x03\xB6\xB4\xAB\x8B\xA3\xB9\xEB\xBE\xB3\x00\x03\x5B\xBE\xB6\xC3\x47", +"\xCC\x9A\x30\x0F\xC4\x4F\xC5\xC3\x6C\xCE\xC5\xE6\x21\xA2\x9C\xCB\xB3\x33\xBB\xC5\xC5\x19\xB3\xA2\xCA\xC3\xA2\xC1\xB4\x47\xBB\x2E\x42\xC5\xA2\x44\xCA\xB8\x54\xB0\xC9\x92\xCE\xBE\x94\xC7\xC6\x1A\x70\x03\x9A\x59\xC4\x81\xC1\xC7\x79\x5C\xC4\x83\xCA\xCB\xD3\x5F\xC4\x8C\x5A\x59\xB7\xBB\x2E\x55\xC1\xC6\xE8\xAF\x2A\x3D\xC4\xCA\x9F\xC6\xCA\x9F\xC8\xCA\x3A\xBB\xCA\x6A\xA8\xC6\x00\x0C\xCB\x90\xCA\xA2\x0B\x1D\x10\x55\x14\x5B\x57\xBB\xC9\x9B\xCE\x54\x9A\x53\xB4\x4D\xCE\xCB\x86\x8B\xC6\x95\xCB\xC9\x6F\xC7\xC8\x3B\x81\x03\x73\xC0\xC2\xDE\x9A\xB3\x78\xC2\xCA\x7A\xC2\xCA\x50\xB9\x9C\xD4\xC1\xAF\xF6\xC1\xCB\xCB\xB3\xCB\x88\xC5\xCB\x7F\xCA\xAC\x82\xC9\x9C\x84\xCA\x5A\x21\x8C\xCD\x95\xCE\x54\x08\xC3\x20\x0A\xCF\xCE\x46\xAB\x27\xD2\x24\xC2\xBD\xCD\xC6\x96\xCC\xB5\xC1\x8E\x19\x61\x69\x3E\x89\x5D\x51\x64\x06\x53\x74\x04\xBB\x0A\xC1\xCF\x0B\xD0\xA8\x94\x5E\xCF\xE2\xC0\x03\x12\xD7\x7D\x2A\xC5\xD1\x8A\x42\x69\x76\x60\x52\xB4\xB8\xC5\x71\x23\xCF\x46\xA4\x9E\xEC\xC0\xA4\x2D\xC8\xC0\x2F\xCE\xC9\x07\xD6\xBA\x33\xCC\x23\xC7\xB1\xBA\x3C\xC2\xCA\x38\xC6\xCC\x59\xC5\xA1\x3A\xBC\xCC\x53\xC5\x10\x26\x06\xC6\xFB\xC8\xD4\x22\xD0\xD1\xF6\x55\xCF\x0F\x2A\x8B\x4F\xC0\x91\xEA\xB2\xCA\xC4\xCA\xB3\x41\xDE\xD2\xA3\xCD\xC5\x39\xCA\xCC\x47\xD2\x10\xF7\xAB\xAC\x10\xD0\xD6\x4D\xDC\xBA\xF6\x54\xCE\xB4\xCC\xBA\xE7\xC3\xD6\x05\xD8\x6D\xEB\xCE\xBF\x4A\xD7\xBB\xCE\xC2\xCA\xD0\xCF\x20\x7E\xCB\x12\xB8\xC4\xD3\xE2\xC1\x03\x68\xDC\x2E\x4D\xB0\x7C\x70\xCE\xD4\xCB\x5B\xC8\x3A\xBD\x95\x36\xDE\xC0\x3C\xD9\xAF\x56\xD6\xAE\x40\xD7\xC5\xB8\xB6\xCD\x44\xD5\xCA\x5E\xD5\xB3\x4C\xD1\xC2\x87\xC9\xD4\x4A\xCB\xD7\x50\xDB\x20\x52\xDB\x27\x54\xD9\xB4\x9F\xCF\xD3\x9F\xC9\xD5\x8F\xD3\xD4\x64\xD2\xD9\x5C\xD4\xD9\xA7\xDE\x22\x87\xC1\xD6\xE1\xC2\xD8\xC8\x5D\xD7\x92\x6B\xD6\xFA\xCB\x83\x32\x0F\xD6\xA3\xA6\xD9\xA7\xC2\xCD\xB7\xB5\xD7\x7D\xCB\xAE\x48\xC5\xD6\xDD\xCB\x5C\x7D\xDB\x9A\x80\xD8\xCE\xB3\x89\xA2\x0A\xCE\x9C\xCA\xAF\x9D\x1E\xD3\xBB\x73\x7F\x46\xD2\x21\xBD\xD6\xBF\xBA\xAD\xA6\x52\x7D\xD9\x58\xD6\x90\xAD\xB3\x42\xBE\xF7\xBF\xAD\xDC\x9E\xCA\x1F\xD3\xB5\xAD\xB6\xA4\xB4\xB3\xDD\xCA\xA6\xC0\x7B\xBF\xC9\xFF\x0B\x8D\xFE\x8A\xBB\x20\xD1\x10\x4B\xB0\x9E\x2D\xDC\xDE\x0A\xDA\xD7\xE4\xD7\xA4\x18\xC1\xDD\x45\x32\x2D\x28\x0A\xAC\xF6\x98\x86\xD2\x28\xD9\xB9\xC0\xDB\x17\x72\x2D\x79\xD9\xA2\x9B\x92\x2D\x80\xC8\xDF\x66\xD2\x55\x25\xDC\x19\x27\xD3\x67\x8A\x47\xD1\x65\x6C\xD2\xFC\xD0\x33\x1D\xDA\xAF\x0A\xE1\xDF\x9E\xAB\xDF\x7C\xAC\x4E\xFE\xD0\xE0\x6F\xA2\xE0\x2B\x14\xE0\x0E\xE3\xDC\xF7\x68\xE0\xC2\xDD\xD6\xC8\x5C\xE0\x2D\xE9\xD6\x4E\x51\xE1\x05\x1D\x19\x31\x59\x3E\x2A\xDA\xD1\xF5\xDA\xC0\x30\xD0\xA4\xAB\x9A\xDF\xE6\xD9\xE1\xC7\x13\xE2\x9D\xA1\xE0\xEF\x84\x07\x03\xE1\xE3\x4B\xD9\x7D\x2C\xE9\xD9\x06\xED\x61\x30\xEE\xE4\x0F\xE9\x57\x2E\xC1\xDE\x63\xCD\xA9\xE7\x99\x9C\x89\x53\x7B\x81\xD3\xE5\xD3\x5C\xB5\x89\x21\x10\xED\x16\x9F\xAB\x6D\x64\x9B\x9A\xD5\xFF\x0E\xDB\xE1\x99\xE5\x90\x9B\xE5\x04\x75\xBB\x6C\xD2\xE3\xCB\x50\xE6\xAB\xBD\x1E\x13\xD8\x78\x33\x64\x6C\x72\x07\xE6\xCA\xA7\xD3\x54\xC9\xD3\xA1\xBF\xC4\x1B\x01\xD7\x94\xB8\x10\x6C\xA2\xD4\xDD\x7E\xD8\xEB\x2F\xDF\xBA\xDA\xCF\x8C\xE5\xE0\x5E\xEB\x6D\x9B\xD7\x20\x46\xE3\x8D\x60\x15\x9C\xDF\x99\x01\x84\xE4\xA1\xAB\xDD\xD5\xA9\xD7\x20\x77\xD8\x10\x28\xED\xE1\x4F\xE2\x03\xC5\xD0\xA8\xC7\xD1\xE7\x4B\xE8\x6D\x84\xD2\xCA\xC5\xC7\xD0\x0A\xCB\x27\x83\xED\xE8\x3E\xD6\x68\x58\xDA\xE8\x2B\x1F\xE8\x02\x12\xC2\x02\x1A\xEB\xA4\xE1\xE9\x32\x03\xE9\x03\x25\xE9\x16\x16\x54\xB8\xD2\x10\x9A\xE4\xEB\x88\xEB\xD5\x91\xDB\xCC\x93\xD0\xEA\xC0\xD5\xD9\x90\xEA\xE2\x17\x77\xEA\xE4\xD9\xEA\xB5\xD7\x8C\xCA\xDD\x9C\x2B\x1D\x01\x8E\xCC\xCA\x0F\x26\xB9\x01\x1C\xBD\x65\x02\x20\xEA\xD2\x7F\x09\xC5\x9C\x9A\xC1\x10\xE9\xB0\xE8\x81\xE7\xDF\x29\xAE\xDC\xD2\xCF\xDA\x91\xEC\x99\x16\xCA\xE4\x3B\x84\xD2\xCA\x93\xD1\x37\xE5\xE1\x73\x78\xD1\x3A\xE2\xE4\x98\x1B\xE1\xAA\xBD\xA9\xF2\xE7\xE5\xD3\xEE\xE2\xD3\x51\xE5\x09\xF2\xE7\x79\x54\xE3\x02\x16\xE3\x28\xD2\x43\x39\xE7\x67\x3B\xE5\x9C\x3D\xE9\xA2\x0C\xD3\xEF\x0F\xD5\xEF\x0C\xF9\xE2\x0A\xF6\x88\x40\xAA\xC0\x3E\xC8\xE5\xCA\xAE\xE6\x3C\x7D\xE5\xD4\xEB\x6D\x74\xED\xE8\xED\x1B\x9A\x5D\x82\xD5\xC5\x96\xD4\x1A\xF7\xF2\x73\x7C\xE5\xC8\xDD\x8B\x2D\xFC\xDA\xEC\x10\x07\x38\xAD", +"\x84\xBA\x7A\x8B\x46\xAE\xE7\x7B\x8E\xEE\x68\xEB\x27\x20\x0F\xC1\xE1\xBA\xEC\x69\xD0\xE4\x40\xA4\xEC\x79\x06\x54\xC2\xE2\x20\xF5\xD1\x9E\xCB\xDA\xD4\xE6\x9E\xE1\x00\x0D\xEE\xFA\xB6\xDD\x22\xBA\x46\xD9\xD3\x77\xDB\xDF\xBE\xDD\xDE\xBC\x12\x3A\xC0\x41\xB2\xEC\x32\xD8\x10\x5C\xF0\x9E\xE7\xEE\xAA\x7D\xEA\xEE\xF4\xB6\xF4\xCB\xEF\x0F\xF0\xE1\x9E\xF0\x92\x2D\xAE\xDD\xF1\x2B\xF2\x03\x4D\xED\xF0\xAB\xEF\xE2\xF7\xE2\xE5\x2B\xFA\xEF\xC9\x9C\xEF\x13\xF3\x1D\x16\xE9\xD1\x16\xF2\xF0\x68\x14\xF0\xE5\xD0\xA4\x79\xFF\xEC\x1B\xC2\xCE\x7E\xF8\xD7\xF8\xE3\x8B\x1F\xFF\xEB\x85\xF0\xF1\xC1\x53\xE1\x1A\x59\xD2\x9E\x7B\xD2\x37\x57\xF1\x04\x29\xF1\xE1\x97\xF0\xCD\xE0\xF2\x0E\xF7\xE0\x98\xF4\xF8\x21\xF6\xEF\x08\x1D\xE0\x9C\xF1\xF2\x8A\xC4\xF7\x68\xE4\xDA\x74\xFA\xC0\x02\x24\xFB\xB8\xFD\xEA\xFA\x27\xF7\xE0\x9B\xF1\xB3\xF9\xF9\xB5\xCE\xF9\x1E\xC0\x10\xFD\xE2\x43\x8B\xF1\xF0\x21\xE1\xBF\x30\x15\x9C\xCF\xD5\xF3\xF9\xD1\x10\xBE\xF5\xF9\x4F\xE6\xF8\x90\x98\xF8\x14\xE4\xF1\xA3\xFE\xFC\xBC\x1E\xDD\x68\xE8\xFA\xE0\x9B\xF6\x12\xC6\xFC\x96\xC9\xEE\x04\x22\x20\x09\xEF\xFB\x7C\xB4\x20\xC2\xFB\x9C\xAA\xF2\x10\xED\xF8\xFD\x1E\xF3\xF8\x80\xF9\xEF\xC8\xF2\x7E\xA0\xF2\x66\x8A\xFF\xEF\x17\x75\xF4\x4E\x7D\xE8\x74\x20\x53\x7D\xEA\x7A\x7A\xF5\x7C\xDE\x6B\x78\xD9\x77\xFE\x30\x7D\xEB\x66\x44\xFB\x7A\xE2\x5D\x7F\xE9\x05\xF1\x18\x73\xF3\x6F\x23\xE3\x7C\x8F\x6B\x72\x04\x88\xFE\x76\x2F\xE6\x69\x63\x23\x6A\xFD\x4C\x10\x01\x13\xEA\x6E\x7F\x83\x09\x68\x1C\x70\xEF\x5A\x7B\x12\x86\xFF\x7D\x7B\xDF\x6C\x7D\x81\x7B\xE1\x78\x7E\x18\x8A\xFF\x7B\x76\x49\x6A\x7E\x89\x7A\x32\x0D\x7F\xC6\x77\x01\xC5\x18\xE4\x62\x08\xF3\x6B\x39\x53\x7C\x51\x7D\x01\xD8\x37\x0B\x95\x7D\x0F\x84\x01\x82\x09\xEB\x7A\x00\xB6\x7D\x04\x9D\x7F\x38\x77\xFB\x7C\x81\xF0\x7C\x4E\x19\x83\xD2\x66\x52\xF3\x79\x20\x2C\x81\x26\x8F\x00\x97\x7D\x70\x6E\x80\x31\x80\xCA\x73\x80\x24\x81\x06\xB7\x7E\x28\x66\x4E\xB9\x76\x04\x8B\x4E\x14\x85\xF0\x46\x53\x8F\x61\x08\xBE\x71\x3C\x50\x7A\xA3\x29\xE4\x60\x82\x6D\x67\x82\x20\x87\xC9\x4A\x82\xEB\x75\x04\x8F\x7A\x0D\x92\x70\x38\x83\x02\xBA\x80\x00\x8C\xF8\x16\x80\x15\x90\x7E\x17\x0A\xFA\x69\x80\xF0\x4F\x06\x80\x09\x1C\x80\x4F\x73\x82\x35\x67\x71\x3E\x8E\xFA\x5F\x81\xFE\x7A\x7C\x63\x81\x0F\x91\x74\xED\x7F\x20\x5C\x7D\xE8\x7E\x7E\x10\x6C\xF4\x5B\x69\x01\x85\xBB\x3C\x72\x06\x80\x4F\x43\x85\x20\x0F\x85\xE5\x41\x09\x97\x19\x1D\x97\x84\xBD\x40\x0F\xAD\x81\xD8\x7F\x01\xB3\x87\x03\x86\x83\xEC\x6A\x40\x14\x6E\x35\x87\x02\xDC\x74\xD3\x63\x7E\x5A\x7B\x17\xAE\x7A\xAF\x7E\xB6\x77\x3D\xD8\x6F\x7E\x63\x78\x6B\x4D\x5E\x44\x8E\x35\x68\x7A\x78\x70\x6F\xD5\x78\x20\x02\x87\xE5\x4F\xF6\x26\x2B\x19\x8E\x6F\xBF\x7C\xF7\x6B\x08\x16\x0C\x0B\xC0\x7C\x84\x11\x7F\x4A\x7D\x20\x0F\x83\x40\x8F\x09\xFF\x7F\xF3\x60\x78\x53\x84\x3A\x6C\x27\x1F\x82\xDF\x5F\x76\x38\x9F\x83\x35\x70\x0A\xA2\x7D\x50\x80\xFE\x6A\x84\x22\x96\x82\x09\x25\x1B\xA6\x80", +}; + + void GuiIqGetParserBuffer(vl::stream::MemoryStream& stream) + { + vl::stream::MemoryStream compressedStream; + for (vint i = 0; i < parserBufferRows; i++) + { + vint size = i == parserBufferRows - 1 ? parserBufferRemain : parserBufferBlock; + compressedStream.Write((void*)parserBuffer[i], size); + } + compressedStream.SeekFromBegin(0); + vl::stream::LzwDecoder decoder; + vl::stream::DecoderStream decoderStream(compressedStream, decoder); + vl::collections::Array buffer(65536); + while (true) + { + vl::vint size = decoderStream.Read(&buffer[0], 65536); + if (size == 0) break; + stream.Write(&buffer[0], size); + } + stream.SeekFromBegin(0); + } +/*********************************************************************** +Unescaping Function Foward Declarations +***********************************************************************/ + +/*********************************************************************** +Parsing Tree Conversion Driver Implementation +***********************************************************************/ + + class GuiIqTreeConverter : public vl::parsing::ParsingTreeConverter + { + public: + using vl::parsing::ParsingTreeConverter::SetMember; + + bool SetMember(GuiIqNameOption& member, vl::Ptr node, const TokenList& tokens) + { + vl::Ptr token=node.Cast(); + if(token) + { + if(token->GetValue()==L"Specified") { member=GuiIqNameOption::Specified; return true; } + else if(token->GetValue()==L"Any") { member=GuiIqNameOption::Any; return true; } + else { member=GuiIqNameOption::Specified; return false; } + } + member=GuiIqNameOption::Specified; + return false; + } + + bool SetMember(GuiIqChildOption& member, vl::Ptr node, const TokenList& tokens) + { + vl::Ptr token=node.Cast(); + if(token) + { + if(token->GetValue()==L"Direct") { member=GuiIqChildOption::Direct; return true; } + else if(token->GetValue()==L"Indirect") { member=GuiIqChildOption::Indirect; return true; } + else { member=GuiIqChildOption::Direct; return false; } + } + member=GuiIqChildOption::Direct; + return false; + } + + bool SetMember(GuiIqBinaryOperator& member, vl::Ptr node, const TokenList& tokens) + { + vl::Ptr token=node.Cast(); + if(token) + { + if(token->GetValue()==L"ExclusiveOr") { member=GuiIqBinaryOperator::ExclusiveOr; return true; } + else if(token->GetValue()==L"Intersect") { member=GuiIqBinaryOperator::Intersect; return true; } + else if(token->GetValue()==L"Union") { member=GuiIqBinaryOperator::Union; return true; } + else if(token->GetValue()==L"Substract") { member=GuiIqBinaryOperator::Substract; return true; } + else { member=GuiIqBinaryOperator::ExclusiveOr; return false; } + } + member=GuiIqBinaryOperator::ExclusiveOr; + return false; + } + + void Fill(vl::Ptr tree, vl::Ptr obj, const TokenList& tokens) + { + } + + void Fill(vl::Ptr tree, vl::Ptr obj, const TokenList& tokens) + { + SetMember(tree->childOption, obj->GetMember(L"childOption"), tokens); + SetMember(tree->attributeNameOption, obj->GetMember(L"attributeNameOption"), tokens); + SetMember(tree->attributeName, obj->GetMember(L"attributeName"), tokens); + SetMember(tree->typeNameOption, obj->GetMember(L"typeNameOption"), tokens); + SetMember(tree->typeName, obj->GetMember(L"typeName"), tokens); + SetMember(tree->referenceName, obj->GetMember(L"referenceName"), tokens); + } + + void Fill(vl::Ptr tree, vl::Ptr obj, const TokenList& tokens) + { + SetMember(tree->parent, obj->GetMember(L"parent"), tokens); + SetMember(tree->child, obj->GetMember(L"child"), tokens); + } + + void Fill(vl::Ptr tree, vl::Ptr obj, const TokenList& tokens) + { + SetMember(tree->first, obj->GetMember(L"first"), tokens); + SetMember(tree->second, obj->GetMember(L"second"), tokens); + SetMember(tree->op, obj->GetMember(L"op"), tokens); + } + + vl::Ptr ConvertClass(vl::Ptr obj, const TokenList& tokens)override + { + if(obj->GetType()==L"PrimaryQuery") + { + vl::Ptr tree = new GuiIqPrimaryQuery; + vl::collections::CopyFrom(tree->creatorRules, obj->GetCreatorRules()); + Fill(tree, obj, tokens); + Fill(tree.Cast(), obj, tokens); + return tree; + } + else if(obj->GetType()==L"CascadeQuery") + { + vl::Ptr tree = new GuiIqCascadeQuery; + vl::collections::CopyFrom(tree->creatorRules, obj->GetCreatorRules()); + Fill(tree, obj, tokens); + Fill(tree.Cast(), obj, tokens); + return tree; + } + else if(obj->GetType()==L"SetQuery") + { + vl::Ptr tree = new GuiIqSetQuery; + vl::collections::CopyFrom(tree->creatorRules, obj->GetCreatorRules()); + Fill(tree, obj, tokens); + Fill(tree.Cast(), obj, tokens); + return tree; + } + else + return 0; + } + }; + + vl::Ptr GuiIqConvertParsingTreeNode(vl::Ptr node, const vl::collections::List& tokens) + { + GuiIqTreeConverter converter; + vl::Ptr tree; + converter.SetMember(tree, node, tokens); + return tree; + } + +/*********************************************************************** +Parsing Tree Conversion Implementation +***********************************************************************/ + + vl::Ptr GuiIqPrimaryQuery::Convert(vl::Ptr node, const vl::collections::List& tokens) + { + return GuiIqConvertParsingTreeNode(node, tokens).Cast(); + } + + vl::Ptr GuiIqCascadeQuery::Convert(vl::Ptr node, const vl::collections::List& tokens) + { + return GuiIqConvertParsingTreeNode(node, tokens).Cast(); + } + + vl::Ptr GuiIqSetQuery::Convert(vl::Ptr node, const vl::collections::List& tokens) + { + return GuiIqConvertParsingTreeNode(node, tokens).Cast(); + } + +/*********************************************************************** +Parser Function +***********************************************************************/ + + vl::Ptr GuiIqParseAsParsingTreeNode(const vl::WString& input, vl::Ptr table, vl::collections::List>& errors, vl::vint codeIndex) + { + vl::parsing::tabling::ParsingState state(input, table, codeIndex); + state.Reset(L"QueryRoot"); + vl::Ptr parser=vl::parsing::tabling::CreateStrictParser(table); + vl::Ptr node=parser->Parse(state, errors); + return node; + } + + vl::Ptr GuiIqParseAsParsingTreeNode(const vl::WString& input, vl::Ptr table, vl::vint codeIndex) + { + vl::collections::List> errors; + return GuiIqParseAsParsingTreeNode(input, table, errors, codeIndex); + } + + vl::Ptr GuiIqParse(const vl::WString& input, vl::Ptr table, vl::collections::List>& errors, vl::vint codeIndex) + { + vl::parsing::tabling::ParsingState state(input, table, codeIndex); + state.Reset(L"QueryRoot"); + vl::Ptr parser=vl::parsing::tabling::CreateStrictParser(table); + vl::Ptr node=parser->Parse(state, errors); + if(node && errors.Count()==0) + { + return GuiIqConvertParsingTreeNode(node, state.GetTokens()).Cast(); + } + return 0; + } + + vl::Ptr GuiIqParse(const vl::WString& input, vl::Ptr table, vl::vint codeIndex) + { + vl::collections::List> errors; + return GuiIqParse(input, table, errors, codeIndex); + } + +/*********************************************************************** +Table Generation +***********************************************************************/ + + vl::Ptr GuiIqLoadTable() + { + vl::stream::MemoryStream stream; + GuiIqGetParserBuffer(stream); + vl::Ptr table=new vl::parsing::tabling::ParsingTable(stream); + table->Initialize(); + return table; + } + + } +} + + +/*********************************************************************** +.\GUIINSTANCELOADER.CPP +***********************************************************************/ + +namespace vl +{ + namespace presentation + { + using namespace collections; + using namespace parsing; + using namespace parsing::xml; + using namespace parsing::tabling; + using namespace controls; + using namespace regex; + using namespace reflection::description; + using namespace stream; + using namespace workflow; + using namespace workflow::analyzer; + using namespace workflow::typeimpl; + +/*********************************************************************** +GuiInstancePropertyInfo +***********************************************************************/ + + Ptr GuiInstancePropertyInfo::Unsupported() + { + return new GuiInstancePropertyInfo; + } + + Ptr GuiInstancePropertyInfo::Assign(Ptr typeInfo) + { + auto info = MakePtr(); + info->support = SupportAssign; + if (typeInfo) info->acceptableTypes.Add(typeInfo); + return info; + } + + Ptr GuiInstancePropertyInfo::AssignWithParent(Ptr typeInfo) + { + auto info = Assign(typeInfo); + info->mergability = MergeWithParent; + return info; + } + + Ptr GuiInstancePropertyInfo::Collection(Ptr typeInfo) + { + auto info = Assign(typeInfo); + info->support = SupportCollection; + return info; + } + + Ptr GuiInstancePropertyInfo::CollectionWithParent(Ptr typeInfo) + { + auto info = Collection(typeInfo); + info->mergability = MergeWithParent; + return info; + } + + Ptr GuiInstancePropertyInfo::Set(Ptr typeInfo) + { + auto info = MakePtr(); + info->support = SupportSet; + if (typeInfo) info->acceptableTypes.Add(typeInfo); + return info; + } + + Ptr GuiInstancePropertyInfo::Array(Ptr typeInfo) + { + auto info = MakePtr(); + info->support = SupportArray; + if (typeInfo) info->acceptableTypes.Add(typeInfo); + return info; + } + +/*********************************************************************** +IGuiInstanceLoader +***********************************************************************/ + + void IGuiInstanceLoader::ClearReflectionCache() + { + } + + void IGuiInstanceLoader::GetRequiredPropertyNames(const TypeInfo& typeInfo, collections::List& propertyNames) + { + } + + void IGuiInstanceLoader::GetPropertyNames(const TypeInfo& typeInfo, collections::List& propertyNames) + { + } + + void IGuiInstanceLoader::GetPairedProperties(const PropertyInfo& propertyInfo, collections::List& propertyNames) + { + } + + Ptr IGuiInstanceLoader::GetPropertyType(const PropertyInfo& propertyInfo) + { + return nullptr; + } + + bool IGuiInstanceLoader::CanCreate(const TypeInfo& typeInfo) + { + return false; + } + + Ptr IGuiInstanceLoader::CreateRootInstance(GuiResourcePrecompileContext& precompileContext, types::ResolvingResult& resolvingResult, const TypeInfo& typeInfo, ArgumentMap& arguments, GuiResourceError::List& errors) + { + CHECK_FAIL(L"IGuiInstanceLoader::CreateControlTemplateArgument(types::ResolvingResult&, const TypeInfo&, Ptr, collections::List&)#This function is not implemented."); + } + + Ptr IGuiInstanceLoader::InitializeRootInstance(GuiResourcePrecompileContext& precompileContext, types::ResolvingResult& resolvingResult, const TypeInfo& typeInfo, GlobalStringKey variableName, ArgumentMap& arguments, GuiResourceError::List& errors) + { + return nullptr; + } + + Ptr IGuiInstanceLoader::CreateInstance(GuiResourcePrecompileContext& precompileContext, types::ResolvingResult& resolvingResult, const TypeInfo& typeInfo, GlobalStringKey variableName, ArgumentMap& arguments, GuiResourceTextPos tagPosition, GuiResourceError::List& errors) + { + CHECK_FAIL(L"IGuiInstanceLoader::CreateInstance(types::ResolvingResult&, const TypeInfo&, GlobalStringKey, ArgumentMap&, collections::List&)#This function is not implemented."); + } + + Ptr IGuiInstanceLoader::AssignParameters(GuiResourcePrecompileContext& precompileContext, types::ResolvingResult& resolvingResult, const TypeInfo& typeInfo, GlobalStringKey variableName, ArgumentMap& arguments, GuiResourceTextPos attPosition, GuiResourceError::List& errors) + { + CHECK_FAIL(L"IGuiInstanceLoader::AssignParameters(types::ResolvingResult&, const TypeInfo&, GlobalStringKey, ArgumentMap&, collections::List&)#This function is not implemented."); + } + + Ptr IGuiInstanceLoader::GetParameter(GuiResourcePrecompileContext& precompileContext, types::ResolvingResult& resolvingResult, const PropertyInfo& propertyInfo, GlobalStringKey variableName, GuiResourceTextPos attPosition, GuiResourceError::List& errors) + { + CHECK_FAIL(L"IGuiInstanceLoader::GetParameter(types::ResolvingResult&, const PropertyInfo&, GlobalStringKey, collections::List&)#This function is not implemented."); + } + +/*********************************************************************** +GuiInstanceContext::ElementName Parser +***********************************************************************/ + + class GuiInstanceContextElementNameParser : public Object, public IGuiParser + { + typedef GuiInstanceContext::ElementName ElementName; + public: + Regex regexElementName; + + GuiInstanceContextElementNameParser() + :regexElementName(L"(([a-zA-Z_]/w*):)?(([a-zA-Z_]/w*).)?([a-zA-Z_]/w*)(-([a-zA-Z_]/w*))?") + { + } + + Ptr ParseInternal(const WString& text, collections::List>& errors)override + { + Ptr match = regexElementName.MatchHead(text); + if (!match || match->Result().Length() != text.Length()) + { + errors.Add(MakePtr(L"Failed to parse an element name \"" + text + L"\".")); + return nullptr; + } + + Ptr elementName = new ElementName; + if (match->Groups().Keys().Contains(L"namespaceName")) + { + elementName->namespaceName = match->Groups()[L"namespaceName"][0].Value(); + } + if (match->Groups().Keys().Contains(L"category")) + { + elementName->category = match->Groups()[L"category"][0].Value(); + } + if (match->Groups().Keys().Contains(L"name")) + { + elementName->name = match->Groups()[L"name"][0].Value(); + } + if (match->Groups().Keys().Contains(L"binding")) + { + elementName->binding = match->Groups()[L"binding"][0].Value(); + } + return elementName; + } + }; + +/*********************************************************************** +GuiDefaultInstanceLoader +***********************************************************************/ + +#define CTOR_PARAM_PREFIX\ + static const wchar_t Prefix[] = L"";\ + static const vint PrefixLength = (vint)sizeof(Prefix) / sizeof(*Prefix) - 1;\ + +#define CTOR_PARAM_NAME(NAME) (NAME).Right((NAME).Length() - PrefixLength) + + class GuiDefaultInstanceLoader : public Object, public IGuiInstanceLoader + { + protected: + typedef Tuple FieldKey; + typedef Tuple, IPropertyInfo*> PropertyType; + + Dictionary propertyTypes; + Dictionary defaultConstructors; + Dictionary instanceConstructors; + public: + IMethodInfo* GetDefaultConstructor(ITypeDescriptor* typeDescriptor) + { + IMethodInfo* ctor = nullptr; + vint index = defaultConstructors.Keys().IndexOf(typeDescriptor); + if (index == -1) + { + if (auto ctors = typeDescriptor->GetConstructorGroup()) + { + vint count = ctors->GetMethodCount(); + for (vint i = 0; i < count; i++) + { + IMethodInfo* method = ctors->GetMethod(i); + if (method->GetParameterCount() == 0) + { + ctor = method; + break; + } + } + } + defaultConstructors.Add(typeDescriptor, ctor); + } + else + { + ctor = defaultConstructors.Values()[index]; + } + return ctor; + } + + IMethodInfo* GetInstanceConstructor(ITypeDescriptor* typeDescriptor) + { + CTOR_PARAM_PREFIX + + IMethodInfo* ctor = nullptr; + vint index = instanceConstructors.Keys().IndexOf(typeDescriptor); + if (index == -1) + { + if (dynamic_cast(typeDescriptor)) + { + if (auto group = typeDescriptor->GetConstructorGroup()) + { + if (group->GetMethodCount() == 1) + { + auto method = group->GetMethod(0); + vint count = method->GetParameterCount(); + for (vint i = 0; i < count; i++) + { + const auto& name = method->GetParameter(i)->GetName(); + if (name.Length() <= PrefixLength || name.Left(PrefixLength) != Prefix) + { + goto FINISHED; + } + + if (!typeDescriptor->GetPropertyByName(CTOR_PARAM_NAME(name), false)) + { + goto FINISHED; + } + } + ctor = method; + } + } + } + FINISHED: + instanceConstructors.Add(typeDescriptor, ctor); + } + else + { + ctor = instanceConstructors.Values()[index]; + } + return ctor; + } + + GlobalStringKey GetTypeName()override + { + return GlobalStringKey::Empty; + } + + void ClearReflectionCache()override + { + propertyTypes.Clear(); + defaultConstructors.Clear(); + instanceConstructors.Clear(); + } + + //*********************************************************************************** + + ITypeInfo* ProcessGenericType(ITypeInfo* propType, bool& readableList, bool& writableList, bool& collectionType) + { + readableList = false; + writableList = false; + collectionType = false; + if (propType->GetDecorator() == ITypeInfo::SharedPtr && propType->GetElementType()->GetDecorator() == ITypeInfo::Generic) + { + auto genericType = propType->GetElementType(); + if (genericType->GetTypeDescriptor() == description::GetTypeDescriptor()) + { + readableList = true; + writableList = true; + collectionType = true; + return genericType->GetGenericArgument(0); + } + else if (genericType->GetTypeDescriptor() == description::GetTypeDescriptor()) + { + readableList = true; + writableList = true; + collectionType = true; + return genericType->GetGenericArgument(0); + } + else if (genericType->GetTypeDescriptor() == description::GetTypeDescriptor()) + { + collectionType = true; + return genericType->GetGenericArgument(0); + } + else if (genericType->GetTypeDescriptor() == description::GetTypeDescriptor()) + { + readableList = true; + collectionType = true; + return genericType->GetGenericArgument(0); + } + else if (genericType->GetTypeDescriptor() == description::GetTypeDescriptor()) + { + readableList = true; + collectionType = true; + return genericType->GetGenericArgument(0); + } + else if (genericType->GetTypeDescriptor() == description::GetTypeDescriptor()) + { + collectionType = true; + return nullptr; + } + else if (genericType->GetTypeDescriptor() == description::GetTypeDescriptor()) + { + collectionType = true; + return nullptr; + } + } + return propType; + } + + ITypeInfo* GetPropertyReflectionTypeInfo(const PropertyInfo& propertyInfo, GuiInstancePropertyInfo::Support& support) + { + support = GuiInstancePropertyInfo::NotSupport; + IPropertyInfo* prop = propertyInfo.typeInfo.typeInfo->GetTypeDescriptor()->GetPropertyByName(propertyInfo.propertyName.ToString(), true); + if (prop) + { + ITypeInfo* propType = prop->GetReturn(); + bool readableList = false; + bool writableList = false; + bool collectionType = false; + auto propValueType = ProcessGenericType(propType, readableList, writableList, collectionType); + + if (prop->IsWritable()) + { + if (collectionType) + { + if (readableList) + { + support = GuiInstancePropertyInfo::SupportArray; + return propValueType; + } + } + else + { + support = GuiInstancePropertyInfo::SupportAssign; + return propValueType; + } + } + else if (prop->IsReadable()) + { + if (collectionType) + { + if (writableList) + { + support = GuiInstancePropertyInfo::SupportCollection; + return propValueType; + } + } + else + { + if (propType->GetDecorator() == ITypeInfo::SharedPtr || propType->GetDecorator() == ITypeInfo::RawPtr) + { + if (propType->GetElementType()->GetDecorator() != ITypeInfo::Generic) + { + support = GuiInstancePropertyInfo::SupportSet; + return propValueType; + } + } + } + } + } + return nullptr; + } + + void CollectPropertyNames(const TypeInfo& typeInfo, ITypeDescriptor* typeDescriptor, collections::List& propertyNames) + { + vint propertyCount = typeDescriptor->GetPropertyCount(); + for (vint i = 0; i < propertyCount; i++) + { + GlobalStringKey propertyName = GlobalStringKey::Get(typeDescriptor->GetProperty(i)->GetName()); + if (!propertyNames.Contains(propertyName)) + { + auto info = GetPropertyType(PropertyInfo(typeInfo, propertyName)); + if (info && info->support != GuiInstancePropertyInfo::NotSupport) + { + propertyNames.Add(propertyName); + } + } + } + + vint parentCount = typeDescriptor->GetBaseTypeDescriptorCount(); + for (vint i = 0; i < parentCount; i++) + { + CollectPropertyNames(typeInfo, typeDescriptor->GetBaseTypeDescriptor(i), propertyNames); + } + } + + //*********************************************************************************** + + void GetRequiredPropertyNames(const TypeInfo& typeInfo, collections::List& propertyNames)override + { + if (CanCreate(typeInfo)) + { + CTOR_PARAM_PREFIX + + if (auto ctor = GetInstanceConstructor(typeInfo.typeInfo->GetTypeDescriptor())) + { + vint count = ctor->GetParameterCount(); + for (vint i = 0; i < count; i++) + { + const auto& name = ctor->GetParameter(i)->GetName(); + propertyNames.Add(GlobalStringKey::Get(CTOR_PARAM_NAME(name))); + } + } + } + } + + void GetPropertyNames(const TypeInfo& typeInfo, collections::List& propertyNames)override + { + GetRequiredPropertyNames(typeInfo, propertyNames); + CollectPropertyNames(typeInfo, typeInfo.typeInfo->GetTypeDescriptor(), propertyNames); + } + + PropertyType GetPropertyTypeCached(const PropertyInfo& propertyInfo) + { + CTOR_PARAM_PREFIX + + FieldKey key(propertyInfo.typeInfo.typeInfo->GetTypeDescriptor(), propertyInfo.propertyName); + vint index = propertyTypes.Keys().IndexOf(key); + if (index == -1) + { + GuiInstancePropertyInfo::Support support = GuiInstancePropertyInfo::NotSupport; + if (ITypeInfo* propType = GetPropertyReflectionTypeInfo(propertyInfo, support)) + { + Ptr result = new GuiInstancePropertyInfo; + result->support = support; + result->acceptableTypes.Add(CopyTypeInfo(propType)); + + if (auto ctor = GetInstanceConstructor(propertyInfo.typeInfo.typeInfo->GetTypeDescriptor())) + { + vint count = ctor->GetParameterCount(); + for (vint i = 0; i < count; i++) + { + const auto& name = ctor->GetParameter(i)->GetName(); + if (CTOR_PARAM_NAME(name) == propertyInfo.propertyName.ToString()) + { + result->usage = GuiInstancePropertyInfo::ConstructorArgument; + result->bindability = GuiInstancePropertyInfo::Bindable; + } + } + } + + IPropertyInfo* prop = propertyInfo.typeInfo.typeInfo->GetTypeDescriptor()->GetPropertyByName(propertyInfo.propertyName.ToString(), true); + PropertyType value(result, prop); + propertyTypes.Add(key, value); + return value; + } + else + { + PropertyType value(GuiInstancePropertyInfo::Unsupported(), 0); + propertyTypes.Add(key, value); + return value; + } + } + else + { + return propertyTypes.Values()[index]; + } + } + + Ptr GetPropertyType(const PropertyInfo& propertyInfo)override + { + return GetPropertyTypeCached(propertyInfo).f0; + } + + //*********************************************************************************** + + bool CanCreate(const TypeInfo& typeInfo)override + { + return + GetDefaultConstructor(typeInfo.typeInfo->GetTypeDescriptor()) != nullptr || + GetInstanceConstructor(typeInfo.typeInfo->GetTypeDescriptor()) != nullptr; + } + + Ptr CreateInstance(GuiResourcePrecompileContext& precompileContext, types::ResolvingResult& resolvingResult, const TypeInfo& typeInfo, GlobalStringKey variableName, ArgumentMap& arguments, GuiResourceTextPos tagPosition, GuiResourceError::List& errors)override + { + CTOR_PARAM_PREFIX + auto defaultCtor = GetDefaultConstructor(typeInfo.typeInfo->GetTypeDescriptor()); + auto instanceCtor = GetInstanceConstructor(typeInfo.typeInfo->GetTypeDescriptor()); + + auto create = MakePtr(); + if (defaultCtor) + { + create->type = GetTypeFromTypeInfo(defaultCtor->GetReturn()); + } + else + { + create->type = GetTypeFromTypeInfo(instanceCtor->GetReturn()); + + vint count = instanceCtor->GetParameterCount(); + for (vint i = 0; i < count; i++) + { + const auto& name = instanceCtor->GetParameter(i)->GetName(); + auto key = GlobalStringKey::Get(CTOR_PARAM_NAME(name)); + + vint index = arguments.Keys().IndexOf(key); + if (index == -1) + { + return nullptr; + } + else + { + create->arguments.Add(arguments.GetByIndex(index)[0].expression); + } + } + } + + auto refValue = MakePtr(); + refValue->name.value = variableName.ToString(); + + auto assign = MakePtr(); + assign->op = WfBinaryOperator::Assign; + assign->first = refValue; + assign->second = create; + + auto stat = MakePtr(); + stat->expression = assign; + return stat; + } + + Ptr AssignParameters(GuiResourcePrecompileContext& precompileContext, types::ResolvingResult& resolvingResult, const TypeInfo& typeInfo, GlobalStringKey variableName, ArgumentMap& arguments, GuiResourceTextPos attPosition, GuiResourceError::List& errors)override + { + auto block = MakePtr(); + + FOREACH_INDEXER(GlobalStringKey, prop, index, arguments.Keys()) + { + PropertyType propertyType = GetPropertyTypeCached(PropertyInfo(typeInfo, prop)); + if (propertyType.f1) + { + switch (propertyType.f0->support) + { + case GuiInstancePropertyInfo::SupportCollection: + { + const auto& values = arguments.GetByIndex(index); + if (values.Count() > 0) + { + { + auto refValue = MakePtr(); + refValue->name.value = variableName.ToString(); + + auto refProp = MakePtr(); + refProp->parent = refValue; + refProp->name.value = prop.ToString(); + + auto varDesc = MakePtr(); + varDesc->name.value = L""; + varDesc->expression = refProp; + + auto stat = MakePtr(); + stat->variable = varDesc; + block->statements.Add(stat); + } + + for (vint i = 0; i < values.Count(); i++) + { + auto refCollection = MakePtr(); + refCollection->name.value = L""; + + auto refAdd = MakePtr(); + refAdd->parent = refCollection; + refAdd->name.value = L"Add"; + + auto call = MakePtr(); + call->function = refAdd; + call->arguments.Add(values[i].expression); + + auto stat = MakePtr(); + stat->expression = call; + block->statements.Add(stat); + } + } + } + break; + case GuiInstancePropertyInfo::SupportArray: + { + auto refArray = MakePtr(); + FOREACH(ArgumentInfo, item, arguments.GetByIndex(index)) + { + auto argument = MakePtr(); + argument->key = item.expression; + refArray->arguments.Add(argument); + } + + auto refValue = MakePtr(); + refValue->name.value = variableName.ToString(); + + auto refProp = MakePtr(); + refProp->parent = refValue; + refProp->name.value = prop.ToString(); + + auto assign = MakePtr(); + assign->op = WfBinaryOperator::Assign; + assign->first = refProp; + assign->second = refArray; + + auto stat = MakePtr(); + stat->expression = assign; + block->statements.Add(stat); + } + break; + case GuiInstancePropertyInfo::SupportAssign: + { + auto& propertyValue = arguments.GetByIndex(index)[0]; + if (propertyValue.expression) + { + auto refValue = MakePtr(); + refValue->name.value = variableName.ToString(); + + auto refProp = MakePtr(); + refProp->parent = refValue; + refProp->name.value = prop.ToString(); + + auto assign = MakePtr(); + assign->op = WfBinaryOperator::Assign; + assign->first = refProp; + assign->second = propertyValue.expression; + + auto stat = MakePtr(); + stat->expression = assign; + block->statements.Add(stat); + } + } + break; + default: + errors.Add(GuiResourceError({ resolvingResult.resource }, attPosition, + L"Precompile: Property \"" + + prop.ToString() + + L"\" of type \"" + + typeInfo.typeName.ToString() + + L"\" is not assignable.")); + } + } + } + + if (block->statements.Count() > 0) + { + return block; + } + return nullptr; + } + + Ptr GetParameter(GuiResourcePrecompileContext& precompileContext, types::ResolvingResult& resolvingResult, const PropertyInfo& propertyInfo, GlobalStringKey variableName, GuiResourceTextPos attPosition, GuiResourceError::List& errors)override + { + auto refValue = MakePtr(); + refValue->name.value = variableName.ToString(); + + auto refProp = MakePtr(); + refProp->parent = refValue; + refProp->name.value = propertyInfo.propertyName.ToString(); + + return refProp; + } + }; +#undef CTOR_PARAM_NAME +#undef CTOR_PARAM_PREFIX + +/*********************************************************************** +GuiInstanceLoaderManager +***********************************************************************/ + + IGuiInstanceLoaderManager* instanceLoaderManager = 0; + + IGuiInstanceLoaderManager* GetInstanceLoaderManager() + { + return instanceLoaderManager; + } + + class GuiInstanceLoaderManager : public Object, public IGuiInstanceLoaderManager, public IGuiPlugin + { + protected: + typedef Dictionary> BinderMap; + typedef Dictionary> EventBinderMap; + typedef List> DeserializerList; + + struct VirtualTypeInfo + { + GlobalStringKey typeName; + ITypeDescriptor* typeDescriptor = nullptr; + GlobalStringKey parentTypeName; // for virtual type only + Ptr loader; + + List parentTypes; // all direct or indirect base types that does not has a type info + List parentTypeInfos; // type infos for all registered direct or indirect base types + }; + + typedef Dictionary> VirtualTypeInfoMap; + + Ptr rootLoader; + BinderMap binders; + EventBinderMap eventBinders; + DeserializerList deserializers; + VirtualTypeInfoMap typeInfos; + + bool IsTypeExists(GlobalStringKey name) + { + return GetGlobalTypeManager()->GetTypeDescriptor(name.ToString()) != 0 || typeInfos.Keys().Contains(name); + } + + void FindParentTypeInfos(Ptr typeInfo, ITypeDescriptor* searchType) + { + if (searchType != typeInfo->typeDescriptor) + { + vint index = typeInfos.Keys().IndexOf(GlobalStringKey::Get(searchType->GetTypeName())); + if (index == -1) + { + typeInfo->parentTypes.Add(searchType); + } + else + { + typeInfo->parentTypeInfos.Add(typeInfos.Values()[index].Obj()); + return; + } + } + + vint count = searchType->GetBaseTypeDescriptorCount(); + for (vint i = 0; i < count; i++) + { + ITypeDescriptor* baseType = searchType->GetBaseTypeDescriptor(i); + FindParentTypeInfos(typeInfo, baseType); + } + } + + void FillParentTypeInfos(Ptr typeInfo) + { + if (typeInfo->parentTypeName != GlobalStringKey::Empty) + { + typeInfo->typeDescriptor = nullptr; + } + typeInfo->parentTypes.Clear(); + typeInfo->parentTypeInfos.Clear(); + + ITypeDescriptor* searchType = typeInfo->typeDescriptor; + if (!searchType) + { + vint index = typeInfos.Keys().IndexOf(typeInfo->parentTypeName); + if (index == -1) + { + searchType = GetGlobalTypeManager()->GetTypeDescriptor(typeInfo->parentTypeName.ToString()); + typeInfo->typeDescriptor = searchType; + typeInfo->parentTypes.Add(searchType); + } + else + { + VirtualTypeInfo* parentTypeInfo = typeInfos.Values()[index].Obj(); + typeInfo->typeDescriptor = parentTypeInfo->typeDescriptor; + typeInfo->parentTypeInfos.Add(parentTypeInfo); + return; + } + } + + if (searchType) + { + FindParentTypeInfos(typeInfo, searchType); + } + } + + IGuiInstanceLoader* GetLoaderFromType(ITypeDescriptor* typeDescriptor) + { + vint index = typeInfos.Keys().IndexOf(GlobalStringKey::Get(typeDescriptor->GetTypeName())); + if (index == -1) + { + vint count = typeDescriptor->GetBaseTypeDescriptorCount(); + for (vint i = 0; i < count; i++) + { + ITypeDescriptor* baseType = typeDescriptor->GetBaseTypeDescriptor(i); + IGuiInstanceLoader* loader = GetLoaderFromType(baseType); + if (loader) return loader; + } + return 0; + } + else + { + return typeInfos.Values()[index]->loader.Obj(); + } + } + public: + GuiInstanceLoaderManager() + { + rootLoader = new GuiDefaultInstanceLoader; + } + + GUI_PLUGIN_NAME(GacUI_Instance) + { + GUI_PLUGIN_DEPEND(GacUI_Parser); + } + + void Load()override + { + instanceLoaderManager = this; + IGuiParserManager* manager = GetParserManager(); + manager->SetParser(L"INSTANCE-ELEMENT-NAME", new GuiInstanceContextElementNameParser); + } + + void Unload()override + { + instanceLoaderManager = nullptr; + } + + bool AddInstanceBinder(Ptr binder)override + { + if (binders.Keys().Contains(binder->GetBindingName())) return false; + binders.Add(binder->GetBindingName(), binder); + return true; + } + + IGuiInstanceBinder* GetInstanceBinder(GlobalStringKey bindingName)override + { + vint index = binders.Keys().IndexOf(bindingName); + return index == -1 ? nullptr : binders.Values()[index].Obj(); + } + + bool AddInstanceEventBinder(Ptr binder)override + { + if (eventBinders.Keys().Contains(binder->GetBindingName())) return false; + eventBinders.Add(binder->GetBindingName(), binder); + return true; + } + + IGuiInstanceEventBinder* GetInstanceEventBinder(GlobalStringKey bindingName)override + { + vint index = eventBinders.Keys().IndexOf(bindingName); + return index == -1 ? nullptr : eventBinders.Values()[index].Obj(); + } + + bool AddInstanceDeserializer(Ptr deserializer)override + { + if (deserializers.Contains(deserializer.Obj())) return false; + deserializers.Add(deserializer); + return true; + } + + IGuiInstanceDeserializer* GetInstanceDeserializer(const IGuiInstanceLoader::PropertyInfo& propertyInfo, description::ITypeInfo* typeInfo)override + { + FOREACH(Ptr, deserializer, deserializers) + { + if (deserializer->CanDeserialize(propertyInfo, typeInfo)) + { + return deserializer.Obj(); + } + } + return nullptr; + } + + bool CreateVirtualType(GlobalStringKey parentType, Ptr loader)override + { + if (IsTypeExists(loader->GetTypeName()) || !IsTypeExists(parentType)) return false; + + Ptr typeInfo = new VirtualTypeInfo; + typeInfo->typeName = loader->GetTypeName(); + typeInfo->parentTypeName = parentType; + typeInfo->loader = loader; + typeInfos.Add(loader->GetTypeName(), typeInfo); + FillParentTypeInfos(typeInfo); + + return true; + } + + bool SetLoader(Ptr loader)override + { + vint index = typeInfos.Keys().IndexOf(loader->GetTypeName()); + if (index != -1) return false; + + ITypeDescriptor* typeDescriptor = GetGlobalTypeManager()->GetTypeDescriptor(loader->GetTypeName().ToString()); + if (typeDescriptor == 0) return false; + + Ptr typeInfo = new VirtualTypeInfo; + typeInfo->typeName = loader->GetTypeName(); + typeInfo->typeDescriptor = typeDescriptor; + typeInfo->loader = loader; + typeInfos.Add(typeInfo->typeName, typeInfo); + FillParentTypeInfos(typeInfo); + + FOREACH(Ptr, derived, typeInfos.Values()) + { + if (derived->parentTypes.Contains(typeInfo->typeDescriptor)) + { + FillParentTypeInfos(derived); + } + } + + return true; + } + + IGuiInstanceLoader* GetLoader(GlobalStringKey typeName)override + { + vint index = typeInfos.Keys().IndexOf(typeName); + if (index != -1) + { + return typeInfos.Values()[index]->loader.Obj(); + } + + ITypeDescriptor* typeDescriptor = GetGlobalTypeManager()->GetTypeDescriptor(typeName.ToString()); + if (typeDescriptor) + { + IGuiInstanceLoader* loader = GetLoaderFromType(typeDescriptor); + return loader ? loader : rootLoader.Obj(); + } + return 0; + } + + IGuiInstanceLoader* GetParentLoader(IGuiInstanceLoader* loader)override + { + vint index = typeInfos.Keys().IndexOf(loader->GetTypeName()); + if (index != -1) + { + Ptr typeInfo = typeInfos.Values()[index]; + if (typeInfo->parentTypeInfos.Count() > 0) + { + return typeInfo->parentTypeInfos[0]->loader.Obj(); + } + return rootLoader.Obj(); + } + return 0; + } + + Ptr GetTypeInfoForType(GlobalStringKey typeName)override + { + vint index = typeInfos.Keys().IndexOf(typeName); + auto td = index == -1 + ? GetGlobalTypeManager()->GetTypeDescriptor(typeName.ToString()) + : typeInfos.Values()[index]->typeDescriptor; + if (!td) return nullptr; + + if (auto ctor = td->GetConstructorGroup()) + { + return CopyTypeInfo(ctor->GetMethod(0)->GetReturn()); + } + else + { + return MakePtr(MakePtr(td, TypeInfoHint::Normal)); + } + } + + void GetVirtualTypes(collections::List& typeNames)override + { + for (vint i = 0; i < typeInfos.Count(); i++) + { + if (typeInfos.Values()[i]->parentTypeName != GlobalStringKey::Empty) + { + typeNames.Add(typeInfos.Keys()[i]); + } + } + } + + GlobalStringKey GetParentTypeForVirtualType(GlobalStringKey virtualType)override + { + vint index = typeInfos.Keys().IndexOf(virtualType); + if (index != -1) + { + auto typeInfo = typeInfos.Values()[index]; + return typeInfo->parentTypeName; + } + return GlobalStringKey::Empty; + } + + void ClearReflectionCache()override + { + rootLoader->ClearReflectionCache(); + FOREACH(Ptr, info, typeInfos.Values()) + { + info->loader->ClearReflectionCache(); + } + } + }; + GUI_REGISTER_PLUGIN(GuiInstanceLoaderManager) + +/*********************************************************************** +Helper Functions +***********************************************************************/ + + void SplitBySemicolon(const WString& input, collections::List& fragments) + { + const wchar_t* attValue = input.Buffer(); + while(*attValue) + { + // split the value by ';' + const wchar_t* attSemicolon = wcschr(attValue, L';'); + WString pattern; + if(attSemicolon) + { + pattern = WString(attValue, vint(attSemicolon - attValue)); + attValue = attSemicolon + 1; + } + else + { + vint len = wcslen(attValue); + pattern = WString(attValue, len); + attValue += len; + } + + fragments.Add(pattern); + } + } + } +} + + +/*********************************************************************** +.\GUIINSTANCELOADER_PREDEFINEDINSTANCEBINDERS.CPP +***********************************************************************/ + +namespace vl +{ + namespace presentation + { + using namespace collections; + using namespace reflection::description; + using namespace parsing; + using namespace workflow; + using namespace workflow::analyzer; + using namespace workflow::runtime; + using namespace controls; + using namespace stream; + +/*********************************************************************** +GuiResourceInstanceBinder (uri) +***********************************************************************/ + + class GuiResourceInstanceBinder : public Object, public IGuiInstanceBinder + { + public: + GlobalStringKey GetBindingName()override + { + return GlobalStringKey::_Uri; + } + + bool ApplicableToConstructorArgument()override + { + return true; + } + + bool RequirePropertyExist()override + { + return false; + } + + Ptr GenerateConstructorArgument(GuiResourcePrecompileContext& precompileContext, types::ResolvingResult& resolvingResult, IGuiInstanceLoader* loader, const IGuiInstanceLoader::PropertyInfo& prop, Ptr propInfo, const WString& code, GuiResourceTextPos position, GuiResourceError::List& errors)override + { + WString protocol, path; + if (!IsResourceUrl(code, protocol, path)) + { + errors.Add(GuiResourceError({ resolvingResult.resource }, position, L"Precompile: \"" + code + L"\" is not a valid resource uri.")); + return nullptr; + } + else + { + return Workflow_GetUriProperty(precompileContext, resolvingResult, loader, prop, propInfo, protocol, path, position, errors); + } + } + + Ptr GenerateInstallStatement(GuiResourcePrecompileContext& precompileContext, types::ResolvingResult& resolvingResult, GlobalStringKey variableName, description::IPropertyInfo* propertyInfo, IGuiInstanceLoader* loader, const IGuiInstanceLoader::PropertyInfo& prop, Ptr propInfo, const WString& code, GuiResourceTextPos position, GuiResourceError::List& errors)override + { + WString protocol, path; + if (!IsResourceUrl(code, protocol, path)) + { + errors.Add(GuiResourceError({ resolvingResult.resource }, position, L"Precompile: \"" + code + L"\" is not a valid resource uri.")); + return nullptr; + } + else + { + return Workflow_InstallUriProperty(precompileContext, resolvingResult, variableName, loader, prop, propInfo, protocol, path, position, errors); + } + } + }; + +/*********************************************************************** +GuiReferenceInstanceBinder (ref) +***********************************************************************/ + + class GuiReferenceInstanceBinder : public Object, public IGuiInstanceBinder + { + public: + GlobalStringKey GetBindingName()override + { + return GlobalStringKey::_Ref; + } + + bool ApplicableToConstructorArgument()override + { + return false; + } + + bool RequirePropertyExist()override + { + return false; + } + + Ptr GenerateConstructorArgument(GuiResourcePrecompileContext& precompileContext, types::ResolvingResult& resolvingResult, IGuiInstanceLoader* loader, const IGuiInstanceLoader::PropertyInfo& prop, Ptr propInfo, const WString& code, GuiResourceTextPos position, GuiResourceError::List& errors)override + { + CHECK_FAIL(L"GuiReferenceInstanceBinder::GenerateConstructorArgument()#This binder does not support binding to constructor arguments. Please call ApplicableToConstructorArgument() to determine before calling this function."); + } + + Ptr GenerateInstallStatement(GuiResourcePrecompileContext& precompileContext, types::ResolvingResult& resolvingResult, GlobalStringKey variableName, description::IPropertyInfo* propertyInfo, IGuiInstanceLoader* loader, const IGuiInstanceLoader::PropertyInfo& prop, Ptr propInfo, const WString& code, GuiResourceTextPos position, GuiResourceError::List& errors)override + { + auto expression = MakePtr(); + expression->name.value = code; + return Workflow_InstallEvalProperty(precompileContext, resolvingResult, variableName, loader, prop, propInfo, expression, position, errors); + } + }; + +/*********************************************************************** +GuiEvalInstanceBinder (eval) +***********************************************************************/ + + class GuiEvalInstanceBinder : public Object, public IGuiInstanceBinder + { + public: + GlobalStringKey GetBindingName()override + { + return GlobalStringKey::_Eval; + } + + bool ApplicableToConstructorArgument()override + { + return true; + } + + bool RequirePropertyExist()override + { + return false; + } + + Ptr GenerateConstructorArgument(GuiResourcePrecompileContext& precompileContext, types::ResolvingResult& resolvingResult, IGuiInstanceLoader* loader, const IGuiInstanceLoader::PropertyInfo& prop, Ptr propInfo, const WString& code, GuiResourceTextPos position, GuiResourceError::List& errors)override + { + return Workflow_ParseExpression(precompileContext, { resolvingResult.resource }, code, position, errors); + } + + Ptr GenerateInstallStatement(GuiResourcePrecompileContext& precompileContext, types::ResolvingResult& resolvingResult, GlobalStringKey variableName, description::IPropertyInfo* propertyInfo, IGuiInstanceLoader* loader, const IGuiInstanceLoader::PropertyInfo& prop, Ptr propInfo, const WString& code, GuiResourceTextPos position, GuiResourceError::List& errors)override + { + if(auto expression = Workflow_ParseExpression(precompileContext, { resolvingResult.resource }, code, position, errors)) + { + return Workflow_InstallEvalProperty(precompileContext, resolvingResult, variableName, loader, prop, propInfo, expression, position, errors); + } + return nullptr; + } + }; + +/*********************************************************************** +GuiBindInstanceBinder (bind) +***********************************************************************/ + + class GuiBindInstanceBinder : public Object, public IGuiInstanceBinder + { + public: + GlobalStringKey GetBindingName()override + { + return GlobalStringKey::_Bind; + } + + bool ApplicableToConstructorArgument()override + { + return false; + } + + bool RequirePropertyExist()override + { + return true; + } + + Ptr GenerateConstructorArgument(GuiResourcePrecompileContext& precompileContext, types::ResolvingResult& resolvingResult, IGuiInstanceLoader* loader, const IGuiInstanceLoader::PropertyInfo& prop, Ptr propInfo, const WString& code, GuiResourceTextPos position, GuiResourceError::List& errors)override + { + CHECK_FAIL(L"GuiBindInstanceBinder::GenerateConstructorArgument()#This binder does not support binding to constructor arguments. Please call ApplicableToConstructorArgument() to determine before calling this function."); + } + + Ptr GenerateInstallStatement(GuiResourcePrecompileContext& precompileContext, types::ResolvingResult& resolvingResult, GlobalStringKey variableName, description::IPropertyInfo* propertyInfo, IGuiInstanceLoader* loader, const IGuiInstanceLoader::PropertyInfo& prop, Ptr propInfo, const WString& code, GuiResourceTextPos position, GuiResourceError::List& errors)override + { + if(auto expression = Workflow_ParseExpression(precompileContext, { resolvingResult.resource }, code, position, errors)) + { + auto inferExpr = MakePtr(); + inferExpr->expression = expression; + inferExpr->type = GetTypeFromTypeInfo(propertyInfo->GetReturn()); + + auto bindExpr = MakePtr(); + bindExpr->expression = inferExpr; + + return Workflow_InstallBindProperty(precompileContext, resolvingResult, variableName, propertyInfo, bindExpr); + } + return nullptr; + } + }; + +/*********************************************************************** +GuiFormatInstanceBinder (format) +***********************************************************************/ + + class GuiFormatInstanceBinder : public Object, public IGuiInstanceBinder + { + public: + GlobalStringKey GetBindingName()override + { + return GlobalStringKey::_Format; + } + + bool ApplicableToConstructorArgument()override + { + return false; + } + + bool RequirePropertyExist()override + { + return true; + } + + Ptr GenerateConstructorArgument(GuiResourcePrecompileContext& precompileContext, types::ResolvingResult& resolvingResult, IGuiInstanceLoader* loader, const IGuiInstanceLoader::PropertyInfo& prop, Ptr propInfo, const WString& code, GuiResourceTextPos position, GuiResourceError::List& errors)override + { + CHECK_FAIL(L"GuiFormatInstanceBinder::GenerateConstructorArgument()#This binder does not support binding to constructor arguments. Please call ApplicableToConstructorArgument() to determine before calling this function."); + } + + Ptr GenerateInstallStatement(GuiResourcePrecompileContext& precompileContext, types::ResolvingResult& resolvingResult, GlobalStringKey variableName, description::IPropertyInfo* propertyInfo, IGuiInstanceLoader* loader, const IGuiInstanceLoader::PropertyInfo& prop, Ptr propInfo, const WString& code, GuiResourceTextPos position, GuiResourceError::List& errors)override + { + if (auto expression = Workflow_ParseExpression(precompileContext, { resolvingResult.resource }, L"bind($\"" + code + L"\")", position, errors, { 0,7 })) // bind($" + { + return Workflow_InstallBindProperty(precompileContext, resolvingResult, variableName, propertyInfo, expression); + } + return nullptr; + } + }; + +/*********************************************************************** +GuiEvalInstanceEventBinder (eval) +***********************************************************************/ + + class GuiEvalInstanceEventBinder : public Object, public IGuiInstanceEventBinder + { + public: + GlobalStringKey GetBindingName()override + { + return GlobalStringKey::_Eval; + } + + Ptr GenerateInstallStatement(GuiResourcePrecompileContext& precompileContext, types::ResolvingResult& resolvingResult, GlobalStringKey variableName, description::IEventInfo* eventInfo, const WString& code, GuiResourceTextPos position, GuiResourceError::List& errors)override + { + bool coroutine = false; + { + auto reading = code.Buffer(); + while (true) + { + switch (*reading) + { + case ' ': + case '\t': + case '\r': + case '\n': + reading++; + break; + default: + goto BEGIN_TESTING; + } + } + BEGIN_TESTING: + coroutine = *reading == '$'; + } + + auto parseFunction = coroutine ? &Workflow_ParseCoProviderStatement : &Workflow_ParseStatement; + if (auto statement = parseFunction(precompileContext, { resolvingResult.resource }, code, position, errors, { 0,0 })) + { + return Workflow_InstallEvalEvent(precompileContext, resolvingResult, variableName, eventInfo, statement); + } + return nullptr; + } + }; + +/*********************************************************************** +GuiPredefinedInstanceBindersPlugin +***********************************************************************/ + + class GuiPredefinedInstanceBindersPlugin : public Object, public IGuiPlugin + { + public: + + GUI_PLUGIN_NAME(GacUI_Compiler_ParsersAndBinders) + { + GUI_PLUGIN_DEPEND(GacUI_Parser); + GUI_PLUGIN_DEPEND(GacUI_Res_ResourceResolver); + GUI_PLUGIN_DEPEND(GacUI_Instance); + GUI_PLUGIN_DEPEND(GacUI_Instance_Reflection); + } + + void Load()override + { + WfLoadTypes(); + GuiIqLoadTypes(); + { + IGuiParserManager* manager = GetParserManager(); + manager->SetParsingTable(L"WORKFLOW", &WfLoadTable); + manager->SetTableParser(L"WORKFLOW", L"WORKFLOW-TYPE", &WfParseType); + manager->SetTableParser(L"WORKFLOW", L"WORKFLOW-EXPRESSION", &WfParseExpression); + manager->SetTableParser(L"WORKFLOW", L"WORKFLOW-STATEMENT", &WfParseStatement); + manager->SetTableParser(L"WORKFLOW", L"WORKFLOW-COPROVIDER-STATEMENT", &WfParseCoProviderStatement); + manager->SetTableParser(L"WORKFLOW", L"WORKFLOW-DECLARATION", &WfParseDeclaration); + manager->SetTableParser(L"WORKFLOW", L"WORKFLOW-MODULE", &WfParseModule); + manager->SetParsingTable(L"INSTANCE-QUERY", &GuiIqLoadTable); + manager->SetTableParser(L"INSTANCE-QUERY", L"INSTANCE-QUERY", &GuiIqParse); + } + { + IGuiInstanceLoaderManager* manager=GetInstanceLoaderManager(); + + manager->AddInstanceBinder(new GuiResourceInstanceBinder); + manager->AddInstanceBinder(new GuiReferenceInstanceBinder); + manager->AddInstanceBinder(new GuiEvalInstanceBinder); + manager->AddInstanceEventBinder(new GuiEvalInstanceEventBinder); + manager->AddInstanceBinder(new GuiBindInstanceBinder); + manager->AddInstanceBinder(new GuiFormatInstanceBinder); + } + } + + void Unload()override + { + } + }; + GUI_REGISTER_PLUGIN(GuiPredefinedInstanceBindersPlugin) + } +} + + +/*********************************************************************** +.\GUIINSTANCELOADER_PREDEFINEDINSTANCEDESERIALIZERS.CPP +***********************************************************************/ + +namespace vl +{ + namespace presentation + { + using namespace collections; + using namespace reflection::description; + using namespace workflow; + using namespace workflow::analyzer; + using namespace controls; + using namespace controls::list; + using namespace templates; + +/*********************************************************************** +GuiTemplatePropertyDeserializer +***********************************************************************/ + + class GuiTemplatePropertyDeserializer : public Object, public IGuiInstanceDeserializer + { + protected: + Ptr stringType; + + bool IsTemplatePropertyType(ITypeInfo* propType) + { + if (propType->GetDecorator() == ITypeInfo::SharedPtr) + { + auto genericType = propType->GetElementType(); + if (genericType->GetDecorator() == ITypeInfo::Generic && genericType->GetGenericArgumentCount() == 2) + { + if (genericType->GetElementType()->GetTypeDescriptor() == description::GetTypeDescriptor()) + { + if (genericType->GetGenericArgument(1)->GetTypeDescriptor() == description::GetTypeDescriptor()) + { + auto returnType = genericType->GetGenericArgument(0); + if (returnType->GetDecorator() == ITypeInfo::RawPtr) + { + if (returnType->GetElementType()->GetTypeDescriptor()->CanConvertTo(description::GetTypeDescriptor())) + { + return true; + } + } + } + } + } + } + return false; + } + + bool IsDataVisualizerFactoryType(ITypeInfo* propType) + { + return propType->GetDecorator() == ITypeInfo::SharedPtr && propType->GetTypeDescriptor() == description::GetTypeDescriptor(); + } + + bool IsDataEditorFactoryType(ITypeInfo* propType) + { + return propType->GetDecorator() == ITypeInfo::SharedPtr && propType->GetTypeDescriptor() == description::GetTypeDescriptor(); + } + + public: + GuiTemplatePropertyDeserializer() + { + stringType = TypeInfoRetriver::CreateTypeInfo(); + } + + bool CanDeserialize(const IGuiInstanceLoader::PropertyInfo& propertyInfo, description::ITypeInfo* typeInfo)override + { + return IsTemplatePropertyType(typeInfo) || IsDataVisualizerFactoryType(typeInfo) || IsDataEditorFactoryType(typeInfo); + } + + description::ITypeInfo* DeserializeAs(const IGuiInstanceLoader::PropertyInfo& propertyInfo, description::ITypeInfo* typeInfo)override + { + return stringType.Obj(); + } + + static void GetItemTemplateType( + types::ResolvingResult& resolvingResult, + WString typeNamesString, + List& tds, + GuiResourceTextPos tagPosition, + GuiResourceError::List& errors + ) + { + List typeNames; + SplitBySemicolon(typeNamesString, typeNames); + if (typeNames.Count() == 0) + { + errors.Add(GuiResourceError({ resolvingResult.resource }, tagPosition, + L"Precompile: Template list \"" + + typeNamesString + + L"\" cannot be empty.")); + } + + FOREACH(WString, controlTemplateName, typeNames) + { + auto controlTemplateTd = description::GetTypeDescriptor(controlTemplateName); + if (!controlTemplateTd) + { + auto index = INVLOC.FindFirst(controlTemplateName, L":", Locale::None); + GlobalStringKey namespaceName; + auto typeName = controlTemplateName; + if (index.key != -1) + { + namespaceName = GlobalStringKey::Get(controlTemplateName.Left(index.key)); + typeName = controlTemplateName.Right(controlTemplateName.Length() - index.key - index.value); + } + + auto source = FindInstanceLoadingSource(resolvingResult.context, namespaceName, typeName); + if (auto typeInfo = GetInstanceLoaderManager()->GetTypeInfoForType(source.typeName)) + { + controlTemplateTd = typeInfo->GetTypeDescriptor(); + } + } + if (controlTemplateTd) + { + tds.Add(controlTemplateTd); + } + else + { + errors.Add(GuiResourceError({ resolvingResult.resource }, tagPosition, + L"Precompile: Type \"" + + controlTemplateName + + L"\" does not exist.")); + continue; + } + } + } + + static Ptr CreateTemplateFactory( + types::ResolvingResult& resolvingResult, + List& controlTemplateTds, + ITypeInfo* returnTemplateType, + ITypeInfo* expectedTemplateType, + GuiResourceTextPos tagPosition, + GuiResourceError::List& errors + ) + { + auto funcCreateTemplate = MakePtr(); + funcCreateTemplate->anonymity = WfFunctionAnonymity::Anonymous; + funcCreateTemplate->returnType = GetTypeFromTypeInfo(returnTemplateType); + + auto argViewModel = MakePtr(); + argViewModel->type = GetTypeFromTypeInfo(TypeInfoRetriver::CreateTypeInfo().Obj()); + argViewModel->name.value = L""; + funcCreateTemplate->arguments.Add(argViewModel); + + auto block = MakePtr(); + funcCreateTemplate->statement = block; + + ITypeDescriptor* stopControlTemplateTd = nullptr; + FOREACH(ITypeDescriptor*, controlTemplateTd, controlTemplateTds) + { + if (!controlTemplateTd->CanConvertTo(expectedTemplateType->GetTypeDescriptor())) + { + errors.Add(GuiResourceError({ resolvingResult.resource }, tagPosition, + L"Precompile: Type \"" + + controlTemplateTd->GetTypeName() + + L"\" cannot be used here because it requires \"" + + expectedTemplateType->GetTypeDescriptor()->GetTypeName() + + L"\" or its derived classes.")); + } + + if (stopControlTemplateTd) + { + errors.Add(GuiResourceError({ resolvingResult.resource }, tagPosition, + L"Precompile: Type \"" + + controlTemplateTd->GetTypeName() + + L"\" will never be tried, because \"" + + stopControlTemplateTd->GetTypeName() + + L"\", which is listed before, has a default constructor. So whatever the view model is, it will be the last choice.")); + continue; + } + + ITypeInfo* viewModelType = nullptr; + { + auto ctors = controlTemplateTd->GetConstructorGroup(); + if (!ctors || ctors->GetMethodCount() != 1) + { + errors.Add(GuiResourceError({ resolvingResult.resource }, tagPosition, + L"Precompile: To use type \"" + + controlTemplateTd->GetTypeName() + + L"\" as a control template or item template, it should have exactly one constructor.")); + continue; + } + + auto ctor = ctors->GetMethod(0); + if (ctor->GetParameterCount() > 1) + { + errors.Add(GuiResourceError({ resolvingResult.resource }, tagPosition, + L"Precompile: To use type \"" + + controlTemplateTd->GetTypeName() + + L"\" as a control template or item template, its constructor cannot have more than one parameter.")); + continue; + } + + if (ctor->GetParameterCount() != 0) + { + viewModelType = ctor->GetParameter(0)->GetType(); + } + } + + if (!viewModelType) + { + stopControlTemplateTd = controlTemplateTd; + } + + auto subBlock = MakePtr(); + block->statements.Add(subBlock); + + Ptr controlTemplateType; + { + auto elementType = MakePtr(controlTemplateTd, TypeInfoHint::Normal); + auto pointerType = MakePtr(elementType); + + controlTemplateType = pointerType; + } + + Ptr returnStatBlock; + if (viewModelType) + { + auto refViewModel = MakePtr(); + refViewModel->name.value = L""; + + auto condition = MakePtr(); + condition->test = WfTypeTesting::IsType; + condition->expression = refViewModel; + condition->type = GetTypeFromTypeInfo(viewModelType); + + auto ifStat = MakePtr(); + subBlock->statements.Add(ifStat); + ifStat->expression = condition; + + returnStatBlock = MakePtr(); + ifStat->trueBranch = returnStatBlock; + } + else + { + returnStatBlock = subBlock; + } + + { + auto createControlTemplate = MakePtr(); + createControlTemplate->type = GetTypeFromTypeInfo(controlTemplateType.Obj()); + if (viewModelType) + { + auto refViewModel = MakePtr(); + refViewModel->name.value = L""; + + auto cast = MakePtr(); + cast->strategy = WfTypeCastingStrategy::Strong; + cast->expression = refViewModel; + cast->type = GetTypeFromTypeInfo(viewModelType); + createControlTemplate->arguments.Add(cast); + } + + auto returnStat = MakePtr(); + returnStat->expression = createControlTemplate; + returnStatBlock->statements.Add(returnStat); + } + } + + if (!stopControlTemplateTd) + { + auto value = MakePtr(); + value->value.value = L"Cannot find a matched control template to create."; + + auto raiseStat = MakePtr(); + raiseStat->expression = value; + + block->statements.Add(raiseStat); + } + + auto expr = MakePtr(); + expr->function = funcCreateTemplate; + return expr; + } + + static Ptr CreateDataVisualizerFactory( + types::ResolvingResult& resolvingResult, + List& controlTemplateTds, + GuiResourceTextPos tagPosition, + GuiResourceError::List& errors + ) + { + auto templateType = TypeInfoRetriver::CreateTypeInfo(); + Ptr previousFactory; + FOREACH_INDEXER(ITypeDescriptor*, controlTemplateTd, index, controlTemplateTds) + { + List tds; + tds.Add(controlTemplateTd); + auto refFactory = CreateTemplateFactory(resolvingResult, tds, templateType.Obj(), templateType.Obj(), tagPosition, errors); + auto createStyle = MakePtr(); + createStyle->type = GetTypeFromTypeInfo(TypeInfoRetriver>::CreateTypeInfo().Obj()); + createStyle->arguments.Add(refFactory); + + if (index > 0) + { + createStyle->arguments.Add(previousFactory); + } + else + { + auto nullExpr = MakePtr(); + nullExpr->value = WfLiteralValue::Null; + createStyle->arguments.Add(nullExpr); + } + previousFactory = createStyle; + } + return previousFactory; + } + + static Ptr CreateDataEditorFactory( + types::ResolvingResult& resolvingResult, + List& controlTemplateTds, + GuiResourceTextPos tagPosition, + GuiResourceError::List& errors + ) + { + auto templateType = TypeInfoRetriver::CreateTypeInfo(); + auto refFactory = CreateTemplateFactory(resolvingResult, controlTemplateTds, templateType.Obj(), templateType.Obj(), tagPosition, errors); + auto createStyle = MakePtr(); + createStyle->type = GetTypeFromTypeInfo(TypeInfoRetriver>::CreateTypeInfo().Obj()); + createStyle->arguments.Add(refFactory); + return createStyle; + } + + Ptr Deserialize( + GuiResourcePrecompileContext& precompileContext, + types::ResolvingResult& resolvingResult, + const IGuiInstanceLoader::PropertyInfo& propertyInfo, + description::ITypeInfo* typeInfo, + Ptr valueExpression, + GuiResourceTextPos tagPosition, + GuiResourceError::List& errors + )override + { + auto stringExpr = valueExpression.Cast(); + + List tds; + GetItemTemplateType(resolvingResult, stringExpr->value.value, tds, tagPosition, errors); + + if (IsDataVisualizerFactoryType(typeInfo)) + { + return CreateDataVisualizerFactory(resolvingResult, tds, tagPosition, errors); + } + else if (IsDataEditorFactoryType(typeInfo)) + { + return CreateDataEditorFactory(resolvingResult, tds, tagPosition, errors); + } + else + { + auto returnTemplateType = typeInfo->GetElementType()->GetGenericArgument(0); + auto expectedTemplateType = returnTemplateType; + if (propertyInfo.propertyName == GlobalStringKey::_ControlTemplate) + { + auto td = propertyInfo.typeInfo.typeInfo->GetTypeDescriptor(); + if (td != nullptr && td->CanConvertTo(description::GetTypeDescriptor())) + { + auto methodGroup = td->GetMethodGroupByName(L"GetControlTemplateObject", true); + vint count = methodGroup->GetMethodCount(); + for (vint i = 0; i < count; i++) + { + auto methodInfo = methodGroup->GetMethod(i); + if (methodInfo->GetParameterCount() == 0) + { + auto returnType = methodInfo->GetReturn(); + if (returnType->GetDecorator() == ITypeInfo::RawPtr) + { + if (returnType->GetTypeDescriptor()->CanConvertTo(description::GetTypeDescriptor())) + { + expectedTemplateType = returnType; + } + } + } + } + } + } + return CreateTemplateFactory(resolvingResult, tds, returnTemplateType, expectedTemplateType, tagPosition, errors); + } + } + }; + +/*********************************************************************** +GuiItemPropertyDeserializer +***********************************************************************/ + + class GuiItemPropertyDeserializer : public Object, public IGuiInstanceDeserializer + { + protected: + Ptr stringType; + + bool IsItemPropertyType(ITypeInfo* propType) + { + if (propType->GetDecorator() == ITypeInfo::SharedPtr) + { + auto genericType = propType->GetElementType(); + if (genericType->GetDecorator() == ITypeInfo::Generic && genericType->GetGenericArgumentCount() == 2) + { + if (genericType->GetElementType()->GetTypeDescriptor() == description::GetTypeDescriptor()) + { + if (genericType->GetGenericArgument(1)->GetTypeDescriptor() == description::GetTypeDescriptor()) + { + return true; + } + } + } + } + return false; + } + + bool IsWritableItemPropertyType(ITypeInfo* propType) + { + if (propType->GetDecorator() == ITypeInfo::SharedPtr) + { + auto genericType = propType->GetElementType(); + if (genericType->GetDecorator() == ITypeInfo::Generic && genericType->GetGenericArgumentCount() == 4) + { + if (genericType->GetElementType()->GetTypeDescriptor() == description::GetTypeDescriptor()) + { + if (genericType->GetGenericArgument(1)->GetTypeDescriptor() == description::GetTypeDescriptor() + && genericType->GetGenericArgument(3)->GetTypeDescriptor() == description::GetTypeDescriptor()) + { + if (IsSameType(genericType->GetGenericArgument(0), genericType->GetGenericArgument(2))) + { + return true; + } + } + } + } + } + return false; + } + + public: + GuiItemPropertyDeserializer() + { + stringType = TypeInfoRetriver::CreateTypeInfo(); + } + + bool CanDeserialize(const IGuiInstanceLoader::PropertyInfo& propertyInfo, description::ITypeInfo* typeInfo)override + { + return IsItemPropertyType(typeInfo) || IsWritableItemPropertyType(typeInfo); + } + + description::ITypeInfo* DeserializeAs(const IGuiInstanceLoader::PropertyInfo& propertyInfo, description::ITypeInfo* typeInfo)override + { + return stringType.Obj(); + } + + Ptr Deserialize( + GuiResourcePrecompileContext& precompileContext, + types::ResolvingResult& resolvingResult, + const IGuiInstanceLoader::PropertyInfo& propertyInfo, + description::ITypeInfo* typeInfo, + Ptr valueExpression, + GuiResourceTextPos tagPosition, + GuiResourceError::List& errors + )override + { + auto stringExpr = valueExpression.Cast(); + Ptr propertyExpression; + { + propertyExpression = Workflow_ParseExpression(precompileContext, { resolvingResult.resource }, stringExpr->value.value, tagPosition, errors); + if (!propertyExpression) + { + return nullptr; + } + }; + + vint indexItemType = resolvingResult.envVars.Keys().IndexOf(GlobalStringKey::Get(L"ItemType")); + if (indexItemType == -1) + { + auto error + = L"Precompile: env.ItemType must be specified before deserializing \"" + + stringExpr->value.value + + L"\" to value of type \"" + + typeInfo->GetTypeFriendlyName() + + L"\"."; + errors.Add(GuiResourceError({ resolvingResult.resource }, tagPosition, error)); + return nullptr; + } + + Ptr itemType; + { + const auto& values = resolvingResult.envVars.GetByIndex(indexItemType); + auto itemTypeValue = values[values.Count() - 1]; + + itemType = Workflow_ParseType(precompileContext, { resolvingResult.resource }, itemTypeValue->value, itemTypeValue->valuePosition, errors); + if (!itemType) + { + return nullptr; + } + }; + + vint indexItemName = resolvingResult.envVars.Keys().IndexOf(GlobalStringKey::Get(L"ItemName")); + WString itemName(L"item", false); + if (indexItemName != -1) + { + const auto& values = resolvingResult.envVars.GetByIndex(indexItemName); + itemName = values[values.Count() - 1]->value; + } + + if (auto refExpr = propertyExpression.Cast()) + { + if (refExpr->name.value != itemName) + { + auto refItem = MakePtr(); + refItem->name.value = itemName; + + auto member = MakePtr(); + member->parent = refItem; + member->name.value = refExpr->name.value; + + propertyExpression = member; + } + } + + bool isWritableItemProperty = IsWritableItemPropertyType(typeInfo); + + auto funcDecl = MakePtr(); + ITypeInfo* acceptValueType = nullptr; + funcDecl->anonymity = WfFunctionAnonymity::Anonymous; + { + auto genericType = typeInfo->GetElementType(); + funcDecl->returnType = GetTypeFromTypeInfo(genericType->GetGenericArgument(0)); + { + auto argument = MakePtr(); + argument->name.value = L""; + argument->type = GetTypeFromTypeInfo(genericType->GetGenericArgument(1)); + funcDecl->arguments.Add(argument); + } + + if (isWritableItemProperty) + { + { + auto argument = MakePtr(); + argument->name.value = L""; + argument->type = GetTypeFromTypeInfo((acceptValueType = genericType->GetGenericArgument(2))); + funcDecl->arguments.Add(argument); + } + { + auto argument = MakePtr(); + argument->name.value = L""; + argument->type = GetTypeFromTypeInfo(genericType->GetGenericArgument(3)); + funcDecl->arguments.Add(argument); + } + } + } + + auto funcBlock = MakePtr(); + funcDecl->statement = funcBlock; + + { + auto refItem = MakePtr(); + refItem->name.value = L""; + + auto refCast = MakePtr(); + refCast->strategy = WfTypeCastingStrategy::Strong; + refCast->type = itemType; + refCast->expression = refItem; + + auto varDecl = MakePtr(); + varDecl->name.value = itemName; + varDecl->expression = refCast; + + auto varStat = MakePtr(); + varStat->variable = varDecl; + funcBlock->statements.Add(varStat); + } + + Ptr returnStat; + { + returnStat = MakePtr(); + returnStat->expression = propertyExpression; + } + + if (isWritableItemProperty) + { + auto ifStat = MakePtr(); + funcBlock->statements.Add(ifStat); + { + auto refUpdate = MakePtr(); + refUpdate->name.value = L""; + + ifStat->expression = refUpdate; + } + { + auto block = MakePtr(); + ifStat->trueBranch = block; + + { + auto refValue = MakePtr(); + refValue->name.value = L""; + + auto assignExpr = MakePtr(); + assignExpr->op = WfBinaryOperator::Assign; + assignExpr->first = CopyExpression(propertyExpression); + + if (acceptValueType->GetTypeDescriptor()->GetTypeDescriptorFlags() == TypeDescriptorFlags::Object) + { + auto castExpr = MakePtr(); + castExpr->strategy = WfTypeCastingStrategy::Strong; + castExpr->expression = refValue; + assignExpr->second = castExpr; + } + else + { + assignExpr->second = refValue; + } + + auto stat = MakePtr(); + stat->expression = assignExpr; + block->statements.Add(stat); + } + { + auto returnStat = MakePtr(); + block->statements.Add(returnStat); + + auto returnType = typeInfo->GetElementType()->GetGenericArgument(0); + returnStat->expression = CreateDefaultValue(returnType); + } + } + { + auto block = MakePtr(); + ifStat->falseBranch = block; + + block->statements.Add(returnStat); + } + } + else + { + funcBlock->statements.Add(returnStat); + } + + auto funcExpr = MakePtr(); + funcExpr->function = funcDecl; + return funcExpr; + } + }; + +/*********************************************************************** +GuiDataProcessorDeserializer +***********************************************************************/ + + class GuiDataProcessorDeserializer : public Object, public IGuiInstanceDeserializer + { + protected: + Ptr stringType; + + public: + GuiDataProcessorDeserializer() + { + stringType = TypeInfoRetriver::CreateTypeInfo(); + } + + bool CanDeserialize(const IGuiInstanceLoader::PropertyInfo& propertyInfo, description::ITypeInfo* typeInfo)override + { + return typeInfo->GetTypeDescriptor() == description::GetTypeDescriptor() + || typeInfo->GetTypeDescriptor() == description::GetTypeDescriptor(); + } + + description::ITypeInfo* DeserializeAs(const IGuiInstanceLoader::PropertyInfo& propertyInfo, description::ITypeInfo* typeInfo)override + { + return stringType.Obj(); + } + + Ptr Deserialize( + GuiResourcePrecompileContext& precompileContext, + types::ResolvingResult& resolvingResult, + const IGuiInstanceLoader::PropertyInfo& propertyInfo, + description::ITypeInfo* typeInfo, + Ptr valueExpression, + GuiResourceTextPos tagPosition, + GuiResourceError::List& errors + )override + { + auto stringExpr = valueExpression.Cast(); + Ptr propertyExpression; + { + propertyExpression = Workflow_ParseExpression(precompileContext, { resolvingResult.resource }, stringExpr->value.value, tagPosition, errors); + if (!propertyExpression) + { + return nullptr; + } + }; + + vint indexItemType = resolvingResult.envVars.Keys().IndexOf(GlobalStringKey::Get(L"ItemType")); + if (indexItemType == -1) + { + auto error + = L"Precompile: env.ItemType must be specified before deserializing \"" + + stringExpr->value.value + + L"\" to value of type \"" + + typeInfo->GetTypeFriendlyName() + + L"\"."; + errors.Add(GuiResourceError({ resolvingResult.resource }, tagPosition, error)); + return nullptr; + } + + Ptr itemType; + { + const auto& values = resolvingResult.envVars.GetByIndex(indexItemType); + auto itemTypeValue = values[values.Count() - 1]; + + itemType = Workflow_ParseType(precompileContext, { resolvingResult.resource }, itemTypeValue->value, itemTypeValue->valuePosition, errors); + if (!itemType) + { + return nullptr; + } + }; + + auto newExpr = MakePtr(); + newExpr->type = GetTypeFromTypeInfo(typeInfo); + { + auto decl = MakePtr(); + newExpr->declarations.Add(decl); + decl->classMember = MakePtr(); + decl->classMember->kind = WfClassMemberKind::Override; + decl->name.value = L"SetCallback"; + decl->returnType = GetTypeFromTypeInfo(TypeInfoRetriver::CreateTypeInfo().Obj()); + { + auto argument = MakePtr(); + argument->type = GetTypeFromTypeInfo(TypeInfoRetriver::CreateTypeInfo().Obj()); + argument->name.value = L"value"; + decl->arguments.Add(argument); + } + + auto block = MakePtr(); + decl->statement = block; + } + { + auto decl = MakePtr(); + newExpr->declarations.Add(decl); + decl->classMember = MakePtr(); + decl->classMember->kind = WfClassMemberKind::Override; + + List argumentNames; + if (typeInfo->GetTypeDescriptor() == description::GetTypeDescriptor()) + { + decl->name.value = L"Filter"; + decl->returnType = GetTypeFromTypeInfo(TypeInfoRetriver::CreateTypeInfo().Obj()); + argumentNames.Add(L""); + } + else + { + decl->name.value = L"Compare"; + decl->returnType = GetTypeFromTypeInfo(TypeInfoRetriver::CreateTypeInfo().Obj()); + argumentNames.Add(L""); + argumentNames.Add(L""); + } + + FOREACH(WString, name, argumentNames) + { + auto argument = MakePtr(); + argument->type = GetTypeFromTypeInfo(TypeInfoRetriver::CreateTypeInfo().Obj()); + argument->name.value = name; + decl->arguments.Add(argument); + } + + auto block = MakePtr(); + decl->statement = block; + + auto inferExpr = MakePtr(); + inferExpr->expression = propertyExpression; + { + auto funcType = MakePtr(); + inferExpr->type = funcType; + + funcType->result = CopyType(decl->returnType); + for (vint i = 0; i < decl->arguments.Count(); i++) + { + funcType->arguments.Add(CopyType(itemType)); + } + } + + auto callExpr = MakePtr(); + callExpr->function = inferExpr; + FOREACH_INDEXER(WString, name, index, argumentNames) + { + auto refExpr = MakePtr(); + refExpr->name.value = name; + + auto castExpr = MakePtr(); + castExpr->strategy = WfTypeCastingStrategy::Strong; + castExpr->type = (index == 0 ? itemType : CopyType(itemType)); + castExpr->expression = refExpr; + + callExpr->arguments.Add(castExpr); + } + + auto stat = MakePtr(); + stat->expression = callExpr; + block->statements.Add(stat); + } + return newExpr; + } + }; + +/*********************************************************************** +GuiPredefinedInstanceDeserializersPlugin +***********************************************************************/ + + class GuiPredefinedInstanceDeserializersPlugin : public Object, public IGuiPlugin + { + public: + + GUI_PLUGIN_NAME(GacUI_Instance_Deserializers) + { + GUI_PLUGIN_DEPEND(GacUI_Instance); + } + + void Load()override + { + IGuiInstanceLoaderManager* manager = GetInstanceLoaderManager(); + manager->AddInstanceDeserializer(new GuiTemplatePropertyDeserializer); + manager->AddInstanceDeserializer(new GuiItemPropertyDeserializer); + manager->AddInstanceDeserializer(new GuiDataProcessorDeserializer); + } + + void Unload()override + { + } + }; + GUI_REGISTER_PLUGIN(GuiPredefinedInstanceDeserializersPlugin) + } +} + + +/*********************************************************************** +.\GUIINSTANCELOADER_PREDEFINEDTYPERESOLVERS.CPP +***********************************************************************/ + +namespace vl +{ + namespace presentation + { + using namespace parsing; + using namespace parsing::xml; + using namespace workflow; + using namespace workflow::analyzer; + using namespace workflow::emitter; + using namespace workflow::runtime; + using namespace reflection::description; + using namespace collections; + using namespace stream; + + using namespace controls; + + class WorkflowVirtualScriptPositionVisitor : public traverse_visitor::ModuleVisitor + { + public: + GuiResourcePrecompileContext& context; + Ptr sp; + + WorkflowVirtualScriptPositionVisitor(GuiResourcePrecompileContext& _context) + :context(_context) + { + sp = Workflow_GetScriptPosition(context); + } + + void Visit(WfVirtualExpression* node)override + { + traverse_visitor::ExpressionVisitor::Visit(node); + vint index = sp->nodePositions.Keys().IndexOf(node); + if (index != -1) + { + auto record = sp->nodePositions.Values()[index]; + Workflow_RecordScriptPosition(context, record.position, node->expandedExpression, record.availableAfter); + } + } + + void Visit(WfVirtualStatement* node)override + { + traverse_visitor::StatementVisitor::Visit(node); + vint index = sp->nodePositions.Keys().IndexOf(node); + if (index != -1) + { + auto record = sp->nodePositions.Values()[index]; + Workflow_RecordScriptPosition(context, record.position, node->expandedStatement, record.availableAfter); + } + } + + void Visit(WfVirtualDeclaration* node)override + { + traverse_visitor::DeclarationVisitor::Visit(node); + vint index = sp->nodePositions.Keys().IndexOf(node); + if (index != -1) + { + auto record = sp->nodePositions.Values()[index]; + FOREACH(Ptr, decl, node->expandedDeclarations) + { + Workflow_RecordScriptPosition(context, record.position, decl, record.availableAfter); + } + } + } + }; + + Ptr Workflow_GetModule(GuiResourcePrecompileContext& context, const WString& path) + { + return context.targetFolder->GetValueByPath(path).Cast(); + } + + void Workflow_AddModule(GuiResourcePrecompileContext& context, const WString& path, Ptr module, GuiInstanceCompiledWorkflow::AssemblyType assemblyType, GuiResourceTextPos tagPosition) + { + auto compiled = Workflow_GetModule(context, path); + if (!compiled) + { + compiled = new GuiInstanceCompiledWorkflow; + compiled->type = assemblyType; + context.targetFolder->CreateValueByPath(path, L"Workflow", compiled); + } + else + { + CHECK_ERROR(compiled->type == assemblyType, L"Workflow_AddModule(GuiResourcePrecompiledContext&, const WString&, GuiInstanceCompiledWorkflow::AssemblyType)#Unexpected assembly type."); + } + + if (compiled) + { + GuiInstanceCompiledWorkflow::ModuleRecord record; + record.module = module; + record.position = tagPosition; + record.shared = assemblyType == GuiInstanceCompiledWorkflow::Shared; + compiled->modules.Add(record); + } + } + + void Workflow_GenerateAssembly(GuiResourcePrecompileContext& context, const WString& path, GuiResourceError::List& errors, bool keepMetadata, IWfCompilerCallback* compilerCallback) + { + auto compiled = Workflow_GetModule(context, path); + if (!compiled) + { + return; + } + + if (!compiled->assembly) + { + List codes; + auto manager = Workflow_GetSharedManager(); + manager->Clear(false, true); + + auto addCode = [&codes](TextReader& reader) + { + vint row = 0; + WString code; + while (!reader.IsEnd()) + { + auto rowHeader = itow(++row); + while (rowHeader.Length() < 6) + { + rowHeader = L" " + rowHeader; + } + code += rowHeader + L" : " + reader.ReadLine() + L"\r\n"; + } + codes.Add(code); + }; + + for (vint i = 0; i < compiled->modules.Count(); i++) + { + manager->AddModule(compiled->modules[i].module); + } + + if (manager->errors.Count() == 0) + { + manager->Rebuild(true, compilerCallback); + } + + if (manager->errors.Count() == 0) + { + compiled->assembly = GenerateAssembly(manager, compilerCallback); + compiled->Initialize(true); + } + else + { + WorkflowVirtualScriptPositionVisitor visitor(context); + for (vint i = 0; i < compiled->modules.Count(); i++) + { + auto module = compiled->modules[i]; + visitor.VisitField(module.module.Obj()); + Workflow_RecordScriptPosition(context, module.position, module.module); + } + + auto sp = Workflow_GetScriptPosition(context); + for (vint i = 0; i < manager->errors.Count(); i++) + { + auto error = manager->errors[i]; + errors.Add({ sp->nodePositions[error->parsingTree].computedPosition, error->errorMessage }); + } + } + + if (keepMetadata) + { + compiled->metadata = Workflow_TransferSharedManager(); + } + else + { + manager->Clear(false, true); + } + } + } + +/*********************************************************************** +Shared Script Type Resolver (Script) +***********************************************************************/ + +#define Path_Shared L"Workflow/Shared" +#define Path_TemporaryClass L"Workflow/TemporaryClass" +#define Path_InstanceClass L"Workflow/InstanceClass" + + class GuiResourceSharedScriptTypeResolver + : public Object + , public IGuiResourceTypeResolver + , private IGuiResourceTypeResolver_Precompile + , private IGuiResourceTypeResolver_IndirectLoad + { + public: + WString GetType()override + { + return L"Script"; + } + + bool XmlSerializable()override + { + return true; + } + + bool StreamSerializable()override + { + return false; + } + + WString GetPreloadType()override + { + return L"Xml"; + } + + bool IsDelayLoad()override + { + return false; + } + + vint GetMaxPassIndex()override + { + return Workflow_Max; + } + + PassSupport GetPassSupport(vint passIndex)override + { + switch (passIndex) + { + case Workflow_Collect: + return PerResource; + case Workflow_Compile: + return PerPass; + default: + return NotSupported; + } + } + + void PerResourcePrecompile(Ptr resource, GuiResourcePrecompileContext& context, GuiResourceError::List& errors)override + { + switch (context.passIndex) + { + case Workflow_Collect: + { + if (auto obj = resource->GetContent().Cast()) + { + if (obj->language == L"Workflow") + { + if (auto module = Workflow_ParseModule(context, obj->codePosition.originalLocation, obj->code, obj->codePosition, errors)) + { + Workflow_AddModule(context, Path_Shared, module, GuiInstanceCompiledWorkflow::Shared, obj->codePosition); + } + } + } + } + break; + } + } + + void PerPassPrecompile(GuiResourcePrecompileContext& context, GuiResourceError::List& errors)override + { + switch (context.passIndex) + { + case Workflow_Compile: + Workflow_GenerateAssembly(context, Path_Shared, errors, false, context.compilerCallback); + break; + } + } + + IGuiResourceTypeResolver_Precompile* Precompile()override + { + return this; + } + + IGuiResourceTypeResolver_IndirectLoad* IndirectLoad()override + { + return this; + } + + Ptr Serialize(Ptr resource, Ptr content)override + { + if (auto obj = content.Cast()) + { + return obj->SaveToXml(); + } + return nullptr; + } + + Ptr ResolveResource(Ptr resource, Ptr resolver, GuiResourceError::List& errors)override + { + Ptr xml = resource->GetContent().Cast(); + if (xml) + { + auto schema = GuiInstanceSharedScript::LoadFromXml(resource, xml, errors); + return schema; + } + return 0; + } + }; + +/*********************************************************************** +Instance Type Resolver (Instance) +***********************************************************************/ + + class GuiResourceInstanceTypeResolver + : public Object + , public IGuiResourceTypeResolver + , private IGuiResourceTypeResolver_Precompile + , private IGuiResourceTypeResolver_IndirectLoad + { + public: + WString GetType()override + { + return L"Instance"; + } + + bool XmlSerializable()override + { + return true; + } + + bool StreamSerializable()override + { + return false; + } + + WString GetPreloadType()override + { + return L"Xml"; + } + + bool IsDelayLoad()override + { + return false; + } + + vint GetMaxPassIndex()override + { + return Instance_Max; + } + + PassSupport GetPassSupport(vint passIndex)override + { + switch (passIndex) + { + case Instance_CollectInstanceTypes: + case Instance_CollectEventHandlers: + case Instance_GenerateInstanceClass: + return PerResource; + case Instance_CompileInstanceTypes: + case Instance_CompileEventHandlers: + case Instance_CompileInstanceClass: + return PerPass; + default: + return NotSupported; + } + } + +#define ENSURE_ASSEMBLY_EXISTS(PATH)\ + if (auto compiled = Workflow_GetModule(context, PATH))\ + {\ + if (!compiled->assembly)\ + {\ + break;\ + }\ + }\ + else\ + {\ + break;\ + }\ + +#define UNLOAD_ASSEMBLY(PATH)\ + if (auto compiled = Workflow_GetModule(context, PATH))\ + {\ + compiled->context = nullptr;\ + }\ + +#define DELETE_ASSEMBLY(PATH)\ + if (auto compiled = Workflow_GetModule(context, PATH))\ + {\ + compiled->context = nullptr;\ + compiled->assembly = nullptr;\ + }\ + + void PerResourcePrecompile(Ptr resource, GuiResourcePrecompileContext& context, GuiResourceError::List& errors)override + { + switch (context.passIndex) + { + case Instance_CollectEventHandlers: + ENSURE_ASSEMBLY_EXISTS(Path_TemporaryClass) + case Instance_CollectInstanceTypes: + { + if (auto obj = resource->GetContent().Cast()) + { + if (obj->className == L"") + { + errors.Add(GuiResourceError({ resource }, obj->tagPosition, + L"Precompile: Instance \"" + + (obj->instance->typeNamespace == GlobalStringKey::Empty + ? obj->instance->typeName.ToString() + : obj->instance->typeNamespace.ToString() + L":" + obj->instance->typeName.ToString() + ) + + L"\" should have the class name specified in the ref.Class attribute.")); + } + + obj->ApplyStyles(resource, context.resolver, errors); + + types::ResolvingResult resolvingResult; + resolvingResult.resource = resource; + resolvingResult.context = obj; + if (auto module = Workflow_GenerateInstanceClass(context, L"" + obj->className, resolvingResult, errors, context.passIndex)) + { + Workflow_AddModule(context, Path_TemporaryClass, module, GuiInstanceCompiledWorkflow::TemporaryClass, obj->tagPosition); + } + + if (context.passIndex == Instance_CollectInstanceTypes) + { + auto record = context.targetFolder->GetValueByPath(L"ClassNameRecord").Cast(); + if (!record) + { + record = MakePtr(); + context.targetFolder->CreateValueByPath(L"ClassNameRecord", L"ClassNameRecord", record); + } + record->classNames.Add(obj->className); + } + } + } + break; + case Instance_GenerateInstanceClass: + { + ENSURE_ASSEMBLY_EXISTS(Path_TemporaryClass) + if (auto obj = resource->GetContent().Cast()) + { + vint previousErrorCount = errors.Count(); + + types::ResolvingResult resolvingResult; + resolvingResult.resource = resource; + resolvingResult.context = obj; + resolvingResult.rootTypeInfo = Workflow_CollectReferences(context, resolvingResult, errors); + + if (errors.Count() == previousErrorCount) + { + if (auto ctorModule = Workflow_PrecompileInstanceContext(context, L"" + obj->className, resolvingResult, errors)) + { + if (auto instanceModule = Workflow_GenerateInstanceClass(context, L"" + obj->className, resolvingResult, errors, context.passIndex)) + { + Workflow_AddModule(context, Path_InstanceClass, ctorModule, GuiInstanceCompiledWorkflow::InstanceClass, obj->tagPosition); + Workflow_AddModule(context, Path_InstanceClass, instanceModule, GuiInstanceCompiledWorkflow::InstanceClass, obj->tagPosition); + } + } + } + } + } + break; + } + } + + void PerPassPrecompile(GuiResourcePrecompileContext& context, GuiResourceError::List& errors)override + { + WString path; + switch (context.passIndex) + { + case Instance_CompileInstanceTypes: + DELETE_ASSEMBLY(Path_Shared) + path = Path_TemporaryClass; + break; + case Instance_CompileEventHandlers: + DELETE_ASSEMBLY(Path_TemporaryClass) + path = Path_TemporaryClass; + break; + case Instance_CompileInstanceClass: + UNLOAD_ASSEMBLY(Path_TemporaryClass) + path = Path_InstanceClass; + break; + default: + return; + } + + auto sharedCompiled = Workflow_GetModule(context, Path_Shared); + auto compiled = Workflow_GetModule(context, path); + if (sharedCompiled && compiled) + { + CopyFrom( + compiled->modules, + From(sharedCompiled->modules) + .Where([](const GuiInstanceCompiledWorkflow::ModuleRecord& module) + { + return module.shared; + }), + true + ); + } + + switch (context.passIndex) + { + case Instance_CompileInstanceTypes: + Workflow_GenerateAssembly(context, path, errors, false, context.compilerCallback); + compiled->modules.Clear(); + break; + case Instance_CompileEventHandlers: + Workflow_GenerateAssembly(context, path, errors, false, context.compilerCallback); + break; + case Instance_CompileInstanceClass: + Workflow_GenerateAssembly(context, path, errors, true, context.compilerCallback); + break; + default:; + } + Workflow_ClearScriptPosition(context); + GetInstanceLoaderManager()->ClearReflectionCache(); + } + +#undef DELETE_ASSEMBLY +#undef UNLOAD_ASSEMBLY +#undef ENSURE_ASSEMBLY_EXISTS + + IGuiResourceTypeResolver_Precompile* Precompile()override + { + return this; + } + + IGuiResourceTypeResolver_IndirectLoad* IndirectLoad()override + { + return this; + } + + Ptr Serialize(Ptr resource, Ptr content)override + { + if (auto obj = content.Cast()) + { + return obj->SaveToXml(); + } + return 0; + } + + Ptr ResolveResource(Ptr resource, Ptr resolver, GuiResourceError::List& errors)override + { + Ptr xml = resource->GetContent().Cast(); + if (xml) + { + Ptr context = GuiInstanceContext::LoadFromXml(resource, xml, errors); + return context; + } + return 0; + } + }; + +#undef Path_Shared +#undef Path_TemporaryClass +#undef Path_InstanceClass + +/*********************************************************************** +Instance Style Type Resolver (InstanceStyle) +***********************************************************************/ + + class GuiResourceInstanceStyleResolver + : public Object + , public IGuiResourceTypeResolver + , private IGuiResourceTypeResolver_IndirectLoad + { + public: + WString GetType()override + { + return L"InstanceStyle"; + } + + bool XmlSerializable()override + { + return true; + } + + bool StreamSerializable()override + { + return false; + } + + WString GetPreloadType()override + { + return L"Xml"; + } + + bool IsDelayLoad()override + { + return false; + } + + IGuiResourceTypeResolver_IndirectLoad* IndirectLoad()override + { + return this; + } + + Ptr Serialize(Ptr resource, Ptr content)override + { + if (auto obj = content.Cast()) + { + return obj->SaveToXml(); + } + return 0; + } + + Ptr ResolveResource(Ptr resource, Ptr resolver, GuiResourceError::List& errors)override + { + Ptr xml = resource->GetContent().Cast(); + if (xml) + { + auto context = GuiInstanceStyleContext::LoadFromXml(resource, xml, errors); + return context; + } + return 0; + } + }; + +/*********************************************************************** +Plugin +***********************************************************************/ + + class GuiCompilerTypeResolversPlugin : public Object, public IGuiPlugin + { + public: + + GUI_PLUGIN_NAME(GacUI_Compiler_InstanceTypeResolvers) + { + GUI_PLUGIN_DEPEND(GacUI_Res_ResourceResolver); + } + + void Load()override + { + IGuiResourceResolverManager* manager = GetResourceResolverManager(); + manager->SetTypeResolver(new GuiResourceInstanceTypeResolver); + manager->SetTypeResolver(new GuiResourceInstanceStyleResolver); + manager->SetTypeResolver(new GuiResourceSharedScriptTypeResolver); + } + + void Unload()override + { + } + }; + GUI_REGISTER_PLUGIN(GuiCompilerTypeResolversPlugin) + } +} + + /*********************************************************************** .\WORKFLOWCODEGEN\GUIINSTANCELOADER_WORKFLOWCODEGEN.CPP ***********************************************************************/ @@ -5413,7 +5490,7 @@ Workflow_GenerateInstanceClass auto parseClassMembers = [&](const WString& code, const WString& name, List>& memberDecls, GuiResourceTextPos position) { WString wrappedCode = L"module parse_members; class Class {\r\n" + code + L"\r\n}"; - if(auto module = Workflow_ParseModule(precompileContext, { resolvingResult.resource }, wrappedCode, position, errors, { 1,0 })) + if (auto module = Workflow_ParseModule(precompileContext, { resolvingResult.resource }, wrappedCode, position, errors, { 1,0 })) { CopyFrom(memberDecls, module->declarations[0].Cast()->declarations); } @@ -5508,18 +5585,39 @@ Workflow_GenerateInstanceClass { WString classNameTail; Ptr parameterTypeInfo; - if (auto paramTd = GetTypeDescriptor(parameter->className.ToString())) { - parameterTypeInfo = Workflow_GetSuggestedParameterType(paramTd); - switch (parameterTypeInfo->GetDecorator()) + auto paramTd = GetTypeDescriptor(parameter->className.ToString()); + if (!paramTd) { - case ITypeInfo::RawPtr: classNameTail = L"*"; break; - case ITypeInfo::SharedPtr: classNameTail = L"^"; break; - default:; + auto source = FindInstanceLoadingSource(resolvingResult.context, {}, parameter->className.ToString()); + if (auto typeInfo = GetInstanceLoaderManager()->GetTypeInfoForType(source.typeName)) + { + paramTd = typeInfo->GetTypeDescriptor(); + } + } + + if (paramTd) + { + parameterTypeInfo = Workflow_GetSuggestedParameterType(paramTd); + switch (parameterTypeInfo->GetDecorator()) + { + case ITypeInfo::RawPtr: classNameTail = L"*"; break; + case ITypeInfo::SharedPtr: classNameTail = L"^"; break; + default:; + } } } - if (auto type = Workflow_ParseType(precompileContext, { resolvingResult.resource }, parameter->className.ToString() + classNameTail, parameter->classPosition, errors)) + vint errorCount = errors.Count(); + auto type = Workflow_ParseType(precompileContext, { resolvingResult.resource }, parameter->className.ToString() + classNameTail, parameter->classPosition, errors); + if (beforePrecompile && !parameterTypeInfo && errorCount == errors.Count()) + { + if (!type || type.Cast() || type.Cast() || type.Cast()) + { + type = Workflow_ParseType(precompileContext, { resolvingResult.resource }, parameter->className.ToString() + L"*", parameter->classPosition, errors); + } + } + if (type) { if (!beforePrecompile) { @@ -6015,9 +6113,9 @@ WorkflowReferenceNamesVisitor ITypeDescriptor* td = nullptr; { auto typeInfo = candidate.info->acceptableTypes[0]; - if (auto deserializer = GetInstanceLoaderManager()->GetInstanceDeserializer(typeInfo.Obj())) + if (auto deserializer = GetInstanceLoaderManager()->GetInstanceDeserializer(propertyInfo, typeInfo.Obj())) { - td = deserializer->DeserializeAs(typeInfo.Obj())->GetTypeDescriptor(); + td = deserializer->DeserializeAs(propertyInfo, typeInfo.Obj())->GetTypeDescriptor(); } else { @@ -6828,6 +6926,7 @@ WorkflowGenerateCreatingVisitor IGuiInstanceLoader::ArgumentInfo GetArgumentInfo(GuiResourceTextPos attPosition, GuiValueRepr* repr) { + IGuiInstanceLoader::PropertyInfo propertyInfo; Ptr typeInfo = nullptr; bool serializable = false; WString textValue; @@ -6836,7 +6935,10 @@ WorkflowGenerateCreatingVisitor if (auto text = dynamic_cast(repr)) { - typeInfo = resolvingResult.propertyResolvings[repr].info->acceptableTypes[0]; + auto resolving = resolvingResult.propertyResolvings[repr]; + propertyInfo = resolving.propertyInfo; + typeInfo = resolving.info->acceptableTypes[0]; + serializable = true; textValue = text->text; textValuePosition = text->tagPosition; @@ -6845,7 +6947,9 @@ WorkflowGenerateCreatingVisitor { if (ctor->instanceName == GlobalStringKey::Empty) { - typeInfo = resolvingResult.propertyResolvings[repr].info->acceptableTypes[0]; + auto resolving = resolvingResult.propertyResolvings[repr]; + propertyInfo = resolving.propertyInfo; + typeInfo = resolving.info->acceptableTypes[0]; } else { @@ -6867,12 +6971,12 @@ WorkflowGenerateCreatingVisitor if (serializable) { - if (auto deserializer = GetInstanceLoaderManager()->GetInstanceDeserializer(typeInfo.Obj())) + if (auto deserializer = GetInstanceLoaderManager()->GetInstanceDeserializer(propertyInfo, typeInfo.Obj())) { - auto typeInfoAs = deserializer->DeserializeAs(typeInfo.Obj()); + auto typeInfoAs = deserializer->DeserializeAs(propertyInfo, typeInfo.Obj()); if (auto expression = Workflow_ParseTextValue(precompileContext, typeInfoAs->GetTypeDescriptor(), { resolvingResult.resource }, textValue, textValuePosition, errors)) { - argumentInfo.expression = deserializer->Deserialize(precompileContext, resolvingResult, typeInfo.Obj(), expression, textValuePosition, errors); + argumentInfo.expression = deserializer->Deserialize(precompileContext, resolvingResult, propertyInfo, typeInfo.Obj(), expression, textValuePosition, errors); } } else @@ -8898,8 +9002,8 @@ GuiDocumentInstanceLoaderBase using PropertyInfo = IGuiInstanceLoader::PropertyInfo; using ArgumentMap = IGuiInstanceLoader::ArgumentMap; - GuiDocumentInstanceLoaderBase(const WString& _typeName, const WString& _styleMethod) - :TBaseType(_typeName, _styleMethod) + GuiDocumentInstanceLoaderBase(const WString& _typeName, theme::ThemeName themeName) + :TBaseType(_typeName, themeName) { } @@ -8956,12 +9060,12 @@ GuiDocumentInstanceLoaderBase GuiDocumentViewerInstanceLoader ***********************************************************************/ -#define BASE_TYPE GuiTemplateControlInstanceLoader +#define BASE_TYPE GuiTemplateControlInstanceLoader class GuiDocumentViewerInstanceLoader : public GuiDocumentInstanceLoaderBase { public: GuiDocumentViewerInstanceLoader() - :GuiDocumentInstanceLoaderBase(description::TypeInfo::content.typeName, L"CreateDocumentViewerStyle") + :GuiDocumentInstanceLoaderBase(description::TypeInfo::content.typeName, theme::ThemeName::DocumentViewer) { } }; @@ -8971,12 +9075,12 @@ GuiDocumentViewerInstanceLoader GuiDocumentLabelInstanceLoader ***********************************************************************/ -#define BASE_TYPE GuiTemplateControlInstanceLoader +#define BASE_TYPE GuiTemplateControlInstanceLoader class GuiDocumentLabelInstanceLoader : public GuiDocumentInstanceLoaderBase { public: GuiDocumentLabelInstanceLoader() - :GuiDocumentInstanceLoaderBase(description::TypeInfo::content.typeName, L"CreateDocumentLabelStyle") + :GuiDocumentInstanceLoaderBase(description::TypeInfo::content.typeName, theme::ThemeName::DocumentLabel) { } }; @@ -9040,7 +9144,7 @@ namespace vl GuiComboBoxInstanceLoader ***********************************************************************/ -#define BASE_TYPE GuiTemplateControlInstanceLoader +#define BASE_TYPE GuiTemplateControlInstanceLoader class GuiComboBoxInstanceLoader : public BASE_TYPE { protected: @@ -9056,7 +9160,7 @@ GuiComboBoxInstanceLoader } public: GuiComboBoxInstanceLoader() - :BASE_TYPE(L"presentation::controls::GuiComboBox", L"CreateComboBoxStyle") + :BASE_TYPE(L"presentation::controls::GuiComboBox", theme::ThemeName::ComboBox) { _ListControl = GlobalStringKey::Get(L"ListControl"); } @@ -9093,7 +9197,7 @@ GuiComboBoxInstanceLoader GuiTreeViewInstanceLoader ***********************************************************************/ -#define BASE_TYPE GuiTemplateControlInstanceLoader +#define BASE_TYPE GuiTemplateControlInstanceLoader template class GuiTreeViewInstanceLoaderBase : public BASE_TYPE { @@ -9103,7 +9207,7 @@ GuiTreeViewInstanceLoader public: GuiTreeViewInstanceLoaderBase(bool _bindable) - :BASE_TYPE(description::TypeInfo::content.typeName, L"CreateTreeViewStyle") + :BASE_TYPE(description::TypeInfo::content.typeName, theme::ThemeName::TreeView) , bindable(_bindable) { _Nodes = GlobalStringKey::Get(L"Nodes"); @@ -9393,7 +9497,7 @@ GuiTreeNodeInstanceLoader GuiBindableDataGridInstanceLoader ***********************************************************************/ -#define BASE_TYPE GuiTemplateControlInstanceLoader +#define BASE_TYPE GuiTemplateControlInstanceLoader class GuiBindableDataGridInstanceLoader : public BASE_TYPE { protected: @@ -9416,7 +9520,7 @@ GuiBindableDataGridInstanceLoader } public: GuiBindableDataGridInstanceLoader() - :BASE_TYPE(description::TypeInfo::content.typeName, L"CreateListViewStyle") + :BASE_TYPE(description::TypeInfo::content.typeName, theme::ThemeName::ListView) { typeName = GlobalStringKey::Get(description::TypeInfo::content.typeName); _ViewModelContext = GlobalStringKey::Get(L"ViewModelContext"); @@ -9674,14 +9778,12 @@ GuiPredefinedInstanceLoadersPlugin Ptr CreateStandardDataPicker(IGuiInstanceLoader::ArgumentMap&) { - using TControl = GuiDatePicker; - using TControlStyle = GuiDateComboBoxTemplate_StyleProvider; - using TTemplate = GuiDatePickerTemplate; + using TLoader = GuiTemplateControlInstanceLoader; - auto controlType = TypeInfoRetriver::CreateTypeInfo(); + auto controlType = TypeInfoRetriver::CreateTypeInfo(); auto createControl = MakePtr(); createControl->type = GetTypeFromTypeInfo(controlType.Obj()); - createControl->arguments.Add(GuiTemplateControlInstanceLoader::CreateIThemeCall(L"CreateDatePickerStyle")); + createControl->arguments.Add(TLoader::CreateThemeName(theme::ThemeName::DatePicker)); return createControl; } @@ -9729,79 +9831,75 @@ GuiPredefinedInstanceLoadersPlugin #ifndef VCZH_DEBUG_NO_REFLECTION IGuiInstanceLoaderManager* manager=GetInstanceLoaderManager(); - #define ADD_VIRTUAL_TYPE_LOADER(TYPENAME, LOADER)\ - manager->CreateVirtualType(\ - GlobalStringKey::Get(description::TypeInfo::content.typeName),\ - new LOADER\ - ) - - #define ADD_TEMPLATE_CONTROL(TYPENAME, STYLE_METHOD, TEMPLATE)\ + #define ADD_TEMPLATE_CONTROL(TYPENAME, THEME_NAME)\ manager->SetLoader(\ - new GuiTemplateControlInstanceLoader(\ + new GuiTemplateControlInstanceLoader(\ L"presentation::controls::" L ## #TYPENAME,\ - L ## #STYLE_METHOD\ + theme::ThemeName::THEME_NAME\ )\ ) - #define ADD_TEMPLATE_CONTROL_2(TYPENAME, STYLE_METHOD, ARGUMENT_FUNCTION, TEMPLATE)\ + #define ADD_TEMPLATE_CONTROL_2(TYPENAME, THEME_NAME, ARGUMENT_FUNCTION)\ manager->SetLoader(\ - new GuiTemplateControlInstanceLoader(\ + new GuiTemplateControlInstanceLoader(\ L"presentation::controls::" L ## #TYPENAME,\ - L ## #STYLE_METHOD,\ - ARGUMENT_FUNCTION\ + theme::ThemeName::THEME_NAME,\ + ARGUMENT_FUNCTION,\ + nullptr\ )\ ) - #define ADD_VIRTUAL_CONTROL(VIRTUALTYPENAME, TYPENAME, STYLE_METHOD, TEMPLATE)\ + #define ADD_VIRTUAL_CONTROL(VIRTUALTYPENAME, TYPENAME, THEME_NAME)\ manager->CreateVirtualType(GlobalStringKey::Get(description::TypeInfo::content.typeName),\ - new GuiTemplateControlInstanceLoader(\ + new GuiTemplateControlInstanceLoader(\ L"presentation::controls::Gui" L ## #VIRTUALTYPENAME,\ - L ## #STYLE_METHOD\ + theme::ThemeName::THEME_NAME\ )\ ) - #define ADD_VIRTUAL_CONTROL_F(VIRTUALTYPENAME, TYPENAME, STYLE_METHOD, TEMPLATE, INIT_FUNCTION)\ + #define ADD_VIRTUAL_CONTROL_F(VIRTUALTYPENAME, TYPENAME, THEME_NAME, INIT_FUNCTION)\ manager->CreateVirtualType(GlobalStringKey::Get(description::TypeInfo::content.typeName),\ - new GuiTemplateControlInstanceLoader(\ + new GuiTemplateControlInstanceLoader(\ L"presentation::controls::Gui" L ## #VIRTUALTYPENAME,\ - L ## #STYLE_METHOD,\ + theme::ThemeName::THEME_NAME,\ + nullptr,\ INIT_FUNCTION\ )\ ) manager->SetLoader(new GuiControlInstanceLoader); - ADD_TEMPLATE_CONTROL ( GuiCustomControl, CreateCustomControlStyle, GuiControlTemplate ); - ADD_TEMPLATE_CONTROL ( GuiLabel, CreateLabelStyle, GuiLabelTemplate ); - ADD_TEMPLATE_CONTROL ( GuiButton, CreateButtonStyle, GuiButtonTemplate ); - ADD_TEMPLATE_CONTROL ( GuiTabPage, CreateCustomControlStyle, GuiControlTemplate ); - ADD_TEMPLATE_CONTROL ( GuiTab, CreateTabStyle, GuiTabTemplate ); - ADD_TEMPLATE_CONTROL ( GuiScrollContainer, CreateScrollContainerStyle, GuiScrollViewTemplate ); - ADD_TEMPLATE_CONTROL ( GuiWindow, CreateWindowStyle, GuiWindowTemplate ); - ADD_TEMPLATE_CONTROL ( GuiTextList, CreateTextListStyle, GuiTextListTemplate ); - ADD_TEMPLATE_CONTROL ( GuiBindableTextList, CreateTextListStyle, GuiTextListTemplate ); - ADD_TEMPLATE_CONTROL ( GuiListView, CreateListViewStyle, GuiListViewTemplate); - ADD_TEMPLATE_CONTROL ( GuiBindableListView, CreateListViewStyle, GuiListViewTemplate); - ADD_TEMPLATE_CONTROL ( GuiMultilineTextBox, CreateMultilineTextBoxStyle, GuiMultilineTextBoxTemplate ); - ADD_TEMPLATE_CONTROL ( GuiSinglelineTextBox, CreateTextBoxStyle, GuiSinglelineTextBoxTemplate ); - ADD_TEMPLATE_CONTROL ( GuiDatePicker, CreateDatePickerStyle, GuiDatePickerTemplate ); - ADD_TEMPLATE_CONTROL_2 ( GuiDateComboBox, CreateComboBoxStyle, CreateStandardDataPicker, GuiDateComboBoxTemplate ); + ADD_TEMPLATE_CONTROL ( GuiCustomControl, CustomControl ); + ADD_TEMPLATE_CONTROL ( GuiLabel, Label ); + ADD_TEMPLATE_CONTROL ( GuiButton, Button ); + ADD_TEMPLATE_CONTROL ( GuiTabPage, CustomControl ); + ADD_TEMPLATE_CONTROL ( GuiTab, Tab ); + ADD_TEMPLATE_CONTROL ( GuiScrollContainer, ScrollView ); + ADD_TEMPLATE_CONTROL ( GuiWindow, Window ); + ADD_TEMPLATE_CONTROL ( GuiTextList, TextList ); + ADD_TEMPLATE_CONTROL ( GuiBindableTextList, TextList ); + ADD_TEMPLATE_CONTROL ( GuiListView, ListView ); + ADD_TEMPLATE_CONTROL ( GuiBindableListView, ListView ); + ADD_TEMPLATE_CONTROL ( GuiMultilineTextBox, MultilineTextBox ); + ADD_TEMPLATE_CONTROL ( GuiSinglelineTextBox, SinglelineTextBox ); + ADD_TEMPLATE_CONTROL ( GuiDatePicker, DatePicker ); + ADD_TEMPLATE_CONTROL_2 ( GuiDateComboBox, ComboBox, CreateStandardDataPicker ); - ADD_VIRTUAL_CONTROL (GroupBox, GuiControl, CreateGroupBoxStyle, GuiControlTemplate ); - ADD_VIRTUAL_CONTROL (MenuSplitter, GuiControl, CreateMenuSplitterStyle, GuiControlTemplate ); - ADD_VIRTUAL_CONTROL (MenuBarButton, GuiToolstripButton, CreateMenuBarButtonStyle, GuiToolstripButtonTemplate ); - ADD_VIRTUAL_CONTROL (MenuItemButton, GuiToolstripButton, CreateMenuItemButtonStyle, GuiToolstripButtonTemplate ); - ADD_VIRTUAL_CONTROL (ToolstripDropdownButton, GuiToolstripButton, CreateToolBarDropdownButtonStyle, GuiToolstripButtonTemplate ); - ADD_VIRTUAL_CONTROL (ToolstripSplitButton, GuiToolstripButton, CreateToolBarSplitButtonStyle, GuiToolstripButtonTemplate ); - ADD_VIRTUAL_CONTROL (ToolstripSplitter, GuiControl, CreateToolBarSplitterStyle, GuiControlTemplate ); - ADD_VIRTUAL_CONTROL (CheckBox, GuiSelectableButton, CreateCheckBoxStyle, GuiSelectableButtonTemplate ); - ADD_VIRTUAL_CONTROL (RadioButton, GuiSelectableButton, CreateRadioButtonStyle, GuiSelectableButtonTemplate ); - ADD_VIRTUAL_CONTROL (HScroll, GuiScroll, CreateHScrollStyle, GuiScrollTemplate ); - ADD_VIRTUAL_CONTROL (VScroll, GuiScroll, CreateVScrollStyle, GuiScrollTemplate ); - ADD_VIRTUAL_CONTROL (DocumentTextBox, GuiDocumentLabel, CreateDocumentTextBoxStyle, GuiDocumentLabelTemplate ); - ADD_VIRTUAL_CONTROL_F (HTracker, GuiScroll, CreateHTrackerStyle, GuiScrollTemplate, InitializeTrackerProgressBar); - ADD_VIRTUAL_CONTROL_F (VTracker, GuiScroll, CreateVTrackerStyle, GuiScrollTemplate, InitializeTrackerProgressBar); - ADD_VIRTUAL_CONTROL_F (ProgressBar, GuiScroll, CreateProgressBarStyle, GuiScrollTemplate, InitializeTrackerProgressBar); + ADD_VIRTUAL_CONTROL (GroupBox, GuiControl, GroupBox ); + ADD_VIRTUAL_CONTROL (MenuSplitter, GuiControl, MenuSplitter ); + ADD_VIRTUAL_CONTROL (MenuBarButton, GuiToolstripButton, MenuBarButton ); + ADD_VIRTUAL_CONTROL (MenuItemButton, GuiToolstripButton, MenuItemButton ); + ADD_VIRTUAL_CONTROL (ToolstripDropdownButton, GuiToolstripButton, ToolstripDropdownButton ); + ADD_VIRTUAL_CONTROL (ToolstripSplitButton, GuiToolstripButton, ToolstripSplitButton ); + ADD_VIRTUAL_CONTROL (ToolstripSplitter, GuiControl, ToolstripSplitter ); + ADD_VIRTUAL_CONTROL (CheckBox, GuiSelectableButton, CheckBox ); + ADD_VIRTUAL_CONTROL (RadioButton, GuiSelectableButton, RadioButton ); + ADD_VIRTUAL_CONTROL (HScroll, GuiScroll, HScroll ); + ADD_VIRTUAL_CONTROL (VScroll, GuiScroll, VScroll ); + ADD_VIRTUAL_CONTROL (DocumentTextBox, GuiDocumentLabel, DocumentTextBox ); + ADD_VIRTUAL_CONTROL_F (HTracker, GuiScroll, HTracker, InitializeTrackerProgressBar); + ADD_VIRTUAL_CONTROL_F (VTracker, GuiScroll, VTracker, InitializeTrackerProgressBar); + ADD_VIRTUAL_CONTROL_F (ProgressBar, GuiScroll, ProgressBar, InitializeTrackerProgressBar); LoadToolstripControls(manager); LoadListControls(manager); @@ -9809,7 +9907,6 @@ GuiPredefinedInstanceLoadersPlugin LoadCompositions(manager); LoadTemplates(manager); - #undef ADD_VIRTUAL_TYPE_LOADER #undef ADD_TEMPLATE_CONTROL #undef ADD_TEMPLATE_CONTROL_2 #undef ADD_VIRTUAL_CONTROL @@ -9983,13 +10080,13 @@ GuiToolstripInstanceLoaderBase using ArgumentMap = IGuiInstanceLoader::ArgumentMap; using PropertyInfo = IGuiInstanceLoader::PropertyInfo; - GuiToolstripInstanceLoaderBase(const WString& _typeName, const WString& _styleMethod, Ptr(*_argumentFunction)(ArgumentMap&)) - :TBaseType(_typeName, _styleMethod, _argumentFunction) + GuiToolstripInstanceLoaderBase(const WString& _typeName, theme::ThemeName themeName, Ptr(*_argumentFunction)(ArgumentMap&)) + :TBaseType(_typeName, themeName, _argumentFunction) { } - GuiToolstripInstanceLoaderBase(const WString& _typeName, const WString& _styleMethod) - :TBaseType(_typeName, _styleMethod) + GuiToolstripInstanceLoaderBase(const WString& _typeName, theme::ThemeName themeName) + :TBaseType(_typeName, themeName) { } @@ -10025,7 +10122,7 @@ GuiToolstripInstanceLoaderBase GuiToolstripMenuInstanceLoader ***********************************************************************/ -#define BASE_TYPE GuiTemplateControlInstanceLoader +#define BASE_TYPE GuiTemplateControlInstanceLoader class GuiToolstripMenuInstanceLoader : public GuiToolstripInstanceLoaderBase { public: @@ -10037,7 +10134,7 @@ GuiToolstripMenuInstanceLoader } public: GuiToolstripMenuInstanceLoader() - :GuiToolstripInstanceLoaderBase(description::TypeInfo::content.typeName, L"CreateMenuStyle", ArgumentFunction) + :GuiToolstripInstanceLoaderBase(description::TypeInfo::content.typeName, theme::ThemeName::Menu, ArgumentFunction) { } }; @@ -10047,12 +10144,12 @@ GuiToolstripMenuInstanceLoader GuiToolstripMenuBarInstanceLoader ***********************************************************************/ -#define BASE_TYPE GuiTemplateControlInstanceLoader +#define BASE_TYPE GuiTemplateControlInstanceLoader class GuiToolstripMenuBarInstanceLoader : public GuiToolstripInstanceLoaderBase { public: GuiToolstripMenuBarInstanceLoader() - :GuiToolstripInstanceLoaderBase(description::TypeInfo::content.typeName, L"CreateMenuBarStyle") + :GuiToolstripInstanceLoaderBase(description::TypeInfo::content.typeName, theme::ThemeName::MenuBar) { } }; @@ -10062,12 +10159,12 @@ GuiToolstripMenuBarInstanceLoader GuiToolstripToolBarInstanceLoader ***********************************************************************/ -#define BASE_TYPE GuiTemplateControlInstanceLoader +#define BASE_TYPE GuiTemplateControlInstanceLoader class GuiToolstripToolBarInstanceLoader : public GuiToolstripInstanceLoaderBase { public: GuiToolstripToolBarInstanceLoader() - :GuiToolstripInstanceLoaderBase(description::TypeInfo::content.typeName, L"CreateToolBarStyle") + :GuiToolstripInstanceLoaderBase(description::TypeInfo::content.typeName, theme::ThemeName::ToolstripToolBar) { } }; @@ -10077,7 +10174,7 @@ GuiToolstripToolBarInstanceLoader GuiToolstripButtonInstanceLoader ***********************************************************************/ -#define BASE_TYPE GuiTemplateControlInstanceLoader +#define BASE_TYPE GuiTemplateControlInstanceLoader class GuiToolstripButtonInstanceLoader : public BASE_TYPE { protected: @@ -10085,7 +10182,7 @@ GuiToolstripButtonInstanceLoader public: GuiToolstripButtonInstanceLoader() - :BASE_TYPE(description::TypeInfo::content.typeName, L"CreateToolBarButtonStyle") + :BASE_TYPE(description::TypeInfo::content.typeName, theme::ThemeName::ToolstripButton) { _SubMenu = GlobalStringKey::Get(L"SubMenu"); } diff --git a/Import/GacUICompiler.h b/Import/GacUICompiler.h index 13af8a99..607dc6bf 100644 --- a/Import/GacUICompiler.h +++ b/Import/GacUICompiler.h @@ -798,9 +798,9 @@ Instance Binder class IGuiInstanceDeserializer : public IDescriptable, public Description { public: - virtual bool CanDeserialize(description::ITypeInfo* typeInfo) = 0; - virtual description::ITypeInfo* DeserializeAs(description::ITypeInfo* typeInfo) = 0; - virtual Ptr Deserialize(GuiResourcePrecompileContext& precompileContext, types::ResolvingResult& resolvingResult, description::ITypeInfo* typeInfo, Ptr valueExpression, GuiResourceTextPos tagPosition, GuiResourceError::List& errors) = 0; + virtual bool CanDeserialize(const IGuiInstanceLoader::PropertyInfo& propertyInfo, description::ITypeInfo* typeInfo) = 0; + virtual description::ITypeInfo* DeserializeAs(const IGuiInstanceLoader::PropertyInfo& propertyInfo, description::ITypeInfo* typeInfo) = 0; + virtual Ptr Deserialize(GuiResourcePrecompileContext& precompileContext, types::ResolvingResult& resolvingResult, const IGuiInstanceLoader::PropertyInfo& propertyInfo, description::ITypeInfo* typeInfo, Ptr valueExpression, GuiResourceTextPos tagPosition, GuiResourceError::List& errors) = 0; }; /*********************************************************************** @@ -810,24 +810,30 @@ Instance Loader Manager class IGuiInstanceLoaderManager : public IDescriptable, public Description { public: - virtual bool AddInstanceBinder(Ptr binder) = 0; - virtual IGuiInstanceBinder* GetInstanceBinder(GlobalStringKey bindingName) = 0; - virtual bool AddInstanceEventBinder(Ptr binder) = 0; - virtual IGuiInstanceEventBinder* GetInstanceEventBinder(GlobalStringKey bindingName) = 0; - virtual bool AddInstanceDeserializer(Ptr deserializer) = 0; - virtual IGuiInstanceDeserializer* GetInstanceDeserializer(description::ITypeInfo* typeInfo) = 0; + virtual bool AddInstanceBinder(Ptr binder) = 0; + virtual IGuiInstanceBinder* GetInstanceBinder(GlobalStringKey bindingName) = 0; + virtual bool AddInstanceEventBinder(Ptr binder) = 0; + virtual IGuiInstanceEventBinder* GetInstanceEventBinder(GlobalStringKey bindingName) = 0; + virtual bool AddInstanceDeserializer(Ptr deserializer) = 0; + virtual IGuiInstanceDeserializer* GetInstanceDeserializer(const IGuiInstanceLoader::PropertyInfo& propertyInfo, description::ITypeInfo* typeInfo) = 0; - virtual bool CreateVirtualType(GlobalStringKey parentType, Ptr loader) = 0; - virtual bool SetLoader(Ptr loader) = 0; - virtual IGuiInstanceLoader* GetLoader(GlobalStringKey typeName) = 0; - virtual IGuiInstanceLoader* GetParentLoader(IGuiInstanceLoader* loader) = 0; - virtual Ptr GetTypeInfoForType(GlobalStringKey typeName) = 0; - virtual void GetVirtualTypes(collections::List& typeNames) = 0; - virtual GlobalStringKey GetParentTypeForVirtualType(GlobalStringKey virtualType) = 0; - virtual void ClearReflectionCache() = 0; + virtual bool CreateVirtualType(GlobalStringKey parentType, Ptr loader) = 0; + virtual bool SetLoader(Ptr loader) = 0; + virtual IGuiInstanceLoader* GetLoader(GlobalStringKey typeName) = 0; + virtual IGuiInstanceLoader* GetParentLoader(IGuiInstanceLoader* loader) = 0; + virtual Ptr GetTypeInfoForType(GlobalStringKey typeName) = 0; + virtual void GetVirtualTypes(collections::List& typeNames) = 0; + virtual GlobalStringKey GetParentTypeForVirtualType(GlobalStringKey virtualType) = 0; + virtual void ClearReflectionCache() = 0; }; extern IGuiInstanceLoaderManager* GetInstanceLoaderManager(); + +/*********************************************************************** +Helper Functions +***********************************************************************/ + + extern void SplitBySemicolon(const WString& input, collections::List& fragments); } } @@ -1045,107 +1051,57 @@ namespace vl GuiVrtualTypeInstanceLoader ***********************************************************************/ - template + template class GuiTemplateControlInstanceLoader : public Object, public IGuiInstanceLoader { - typedef Ptr ArgumentRawFunctionType(ArgumentMap&); - typedef void InitRawFunctionType(const WString&, Ptr); - typedef Func ArgumentFunctionType; - typedef Func InitFunctionType; + typedef Ptr ArgumentRawFunctionType(ArgumentMap&); + typedef void InitRawFunctionType(const WString&, Ptr); + typedef Func ArgumentFunctionType; + typedef Func InitFunctionType; protected: GlobalStringKey typeName; - WString styleMethod; + theme::ThemeName themeName; ArgumentFunctionType argumentFunction; InitFunctionType initFunction; virtual void AddAdditionalArguments(types::ResolvingResult& resolvingResult, const TypeInfo& typeInfo, GlobalStringKey variableName, ArgumentMap& arguments, GuiResourceError::List& errors, Ptr createControl) { } - - virtual void PrepareAdditionalArgumentsAfterCreation(types::ResolvingResult& resolvingResult, const TypeInfo& typeInfo, GlobalStringKey variableName, ArgumentMap& arguments, GuiResourceError::List& errors, Ptr block) - { - } public: - - static Ptr CreateIThemeCall(const WString& method) + static Ptr CreateThemeName(theme::ThemeName themeName) { - auto refPresentation = MakePtr(); - refPresentation->name.value = L"presentation"; + auto presentationExpr = MakePtr(); + presentationExpr->name.value = L"presentation"; - auto refTheme = MakePtr(); - refTheme->parent = refPresentation; - refTheme->name.value = L"theme"; + auto themeExpr = MakePtr(); + themeExpr->parent = presentationExpr; + themeExpr->name.value = L"theme"; - auto refITheme = MakePtr(); - refITheme->parent = refTheme; - refITheme->name.value = L"ITheme"; + auto themeNameExpr = MakePtr(); + themeNameExpr->parent = themeExpr; + themeNameExpr->name.value = L"ThemeName"; - auto refGetCurrentTheme = MakePtr(); - refGetCurrentTheme->parent = refITheme; - refGetCurrentTheme->name.value = L"GetCurrentTheme"; - - auto call = MakePtr(); - call->function = refGetCurrentTheme; - - auto refStyleMethod = MakePtr(); - refStyleMethod->parent = call; - refStyleMethod->name.value = method; - - auto createStyle = MakePtr(); - createStyle->function = refStyleMethod; - return createStyle; - } - - static Ptr CreateStyleMethodArgument(const WString& method, ArgumentMap& arguments) - { - vint indexControlTemplate = arguments.Keys().IndexOf(GlobalStringKey::_ControlTemplate); - if (indexControlTemplate != -1) + auto refExpr = MakePtr(); + refExpr->parent = themeNameExpr; + switch (themeName) { - auto refControlStyle = MakePtr(); - refControlStyle->name.value = L""; - - auto refCreateArgument = MakePtr(); - refCreateArgument->parent = refControlStyle; - refCreateArgument->name.value = L"CreateArgument"; - - auto call = MakePtr(); - call->function = refCreateArgument; - - return call; - } - else - { - return CreateIThemeCall(method); +#define THEME_NAME_CASE(TEMPLATE, CONTROL) case theme::ThemeName::CONTROL: refExpr->name.value = L ## #CONTROL; break; + GUI_CONTROL_TEMPLATE_TYPES(THEME_NAME_CASE) +#undef THEME_NAME_CASE + default: + CHECK_FAIL(L"GuiTemplateControlInstanceLoader::CreateThemeName()#Unknown theme name."); } + return refExpr; } public: - GuiTemplateControlInstanceLoader(const WString& _typeName, const WString& _styleMethod) + GuiTemplateControlInstanceLoader(const WString& _typeName, theme::ThemeName _themeName, ArgumentRawFunctionType* _argumentFunction = nullptr, InitRawFunctionType* _initFunction = nullptr) :typeName(GlobalStringKey::Get(_typeName)) - , styleMethod(_styleMethod) - { - } - - GuiTemplateControlInstanceLoader(const WString& _typeName, const WString& _styleMethod, WString argumentStyleMethod) - :typeName(GlobalStringKey::Get(_typeName)) - , styleMethod(_styleMethod) - , argumentFunction([argumentStyleMethod](ArgumentMap& arguments){return CreateStyleMethodArgument(argumentStyleMethod, arguments);}) - { - } - - GuiTemplateControlInstanceLoader(const WString& _typeName, const WString& _styleMethod, ArgumentRawFunctionType* _argumentFunction) - :typeName(GlobalStringKey::Get(_typeName)) - , styleMethod(_styleMethod) - , argumentFunction(_argumentFunction) - { - } - - GuiTemplateControlInstanceLoader(const WString& _typeName, const WString& _styleMethod, InitRawFunctionType* _initFunction) - :typeName(GlobalStringKey::Get(_typeName)) - , styleMethod(_styleMethod) - , initFunction(_initFunction) + , themeName(_themeName) { + if (_argumentFunction) argumentFunction = _argumentFunction; + if (_initFunction) initFunction = _initFunction; } GlobalStringKey GetTypeName()override @@ -1153,91 +1109,30 @@ GuiVrtualTypeInstanceLoader return typeName; } - void GetPropertyNames(const TypeInfo& typeInfo, collections::List& propertyNames)override - { - if (CanCreate(typeInfo)) - { - propertyNames.Add(GlobalStringKey::_ControlTemplate); - } - } - - Ptr GetPropertyType(const PropertyInfo& propertyInfo)override - { - if (propertyInfo.propertyName == GlobalStringKey::_ControlTemplate) - { - auto info = GuiInstancePropertyInfo::Assign(TypeInfoRetriver>::CreateTypeInfo()); - info->usage = GuiInstancePropertyInfo::ConstructorArgument; - return info; - } - return 0; - } - bool CanCreate(const TypeInfo& typeInfo)override { return typeName == typeInfo.typeName; } - Ptr CreateInstance_ControlTemplate(types::ResolvingResult& resolvingResult, const TypeInfo& typeInfo, ArgumentMap& arguments, GuiResourceError::List& errors) - { - auto index = arguments.Keys().IndexOf(GlobalStringKey::_ControlTemplate); - if (index != -1) - { - auto argument = arguments.GetByIndex(index)[0]; - - auto createStyle = MakePtr(); - createStyle->type = GetTypeFromTypeInfo(TypeInfoRetriver::CreateTypeInfo().Obj()); - createStyle->arguments.Add(argument.expression); - - return createStyle; - } - return CreateIThemeCall(styleMethod); - } - Ptr CreateRootInstance(GuiResourcePrecompileContext& precompileContext, types::ResolvingResult& resolvingResult, const TypeInfo& typeInfo, ArgumentMap& arguments, GuiResourceError::List& errors)override { - if (auto createStyleExpr = CreateInstance_ControlTemplate(resolvingResult, typeInfo, arguments, errors)) - { - auto createControl = MakePtr(); - createControl->type = GetTypeFromTypeInfo(TypeInfoRetriver::CreateTypeInfo().Obj()); - createControl->arguments.Add(createStyleExpr); - return createControl; - } - return nullptr; + auto createControl = MakePtr(); + createControl->type = GetTypeFromTypeInfo(TypeInfoRetriver::CreateTypeInfo().Obj()); + createControl->arguments.Add(CreateThemeName(themeName)); + return createControl; } Ptr CreateInstance(GuiResourcePrecompileContext& precompileContext, types::ResolvingResult& resolvingResult, const TypeInfo& typeInfo, GlobalStringKey variableName, ArgumentMap& arguments, GuiResourceTextPos tagPosition, GuiResourceError::List& errors)override { - CHECK_ERROR(CanCreate(typeInfo), L"GuiTemplateControlInstanceLoader::CreateInstance# Wrong type info is provided."); - vint indexControlTemplate = arguments.Keys().IndexOf(GlobalStringKey::_ControlTemplate); + CHECK_ERROR(CanCreate(typeInfo), L"GuiTemplateControlInstanceLoader::CreateInstance()#Wrong type info is provided."); - auto createStyleExpr = CreateInstance_ControlTemplate(resolvingResult, typeInfo, arguments, errors); - if (!createStyleExpr) - { - return nullptr; - } - auto block = MakePtr(); - { - auto varTemplate = MakePtr(); - varTemplate->name.value = L""; - varTemplate->expression = createStyleExpr; - - auto varStat = MakePtr(); - varStat->variable = varTemplate; - block->statements.Add(varStat); - } - { auto controlType = TypeInfoRetriver::CreateTypeInfo(); auto createControl = MakePtr(); createControl->type = GetTypeFromTypeInfo(controlType.Obj()); - { - auto refControlStyle = MakePtr(); - refControlStyle->name.value = L""; - - createControl->arguments.Add(refControlStyle); - } + createControl->arguments.Add(CreateThemeName(themeName)); if (argumentFunction) { @@ -1258,7 +1153,6 @@ GuiVrtualTypeInstanceLoader block->statements.Add(assignStat); } - PrepareAdditionalArgumentsAfterCreation(resolvingResult, typeInfo, variableName, arguments, errors, block); if (initFunction) { initFunction(variableName.ToString(), block); diff --git a/Import/GacUIReflection.cpp b/Import/GacUIReflection.cpp index 41fac7c5..5cc14c83 100644 --- a/Import/GacUIReflection.cpp +++ b/Import/GacUIReflection.cpp @@ -1283,14 +1283,26 @@ Type Declaration #define _ , -#define CONTROL_CONSTRUCTOR_CONTROLLER(CONTROL)\ - CLASS_MEMBER_CONSTRUCTOR(CONTROL*(CONTROL::IStyleController*), {L"styleController"}) +#define CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE_INHERITANCE(CONTROL)\ + CLASS_MEMBER_CONSTRUCTOR(CONTROL*(ThemeName), {L"themeName"})\ -#define CONTROL_CONSTRUCTOR_DEFAULT(CONTROL, CONSTRUCTOR)\ - CLASS_MEMBER_EXTERNALCTOR(CONTROL*(), NO_PARAMETER, CONSTRUCTOR) +#define CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE(CONTROL)\ + CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE_INHERITANCE(CONTROL)\ + CLASS_MEMBER_PROPERTY_READONLY_FAST(ControlTemplateObject)\ -#define CONTROL_CONSTRUCTOR_PROVIDER(CONTROL)\ - CLASS_MEMBER_CONSTRUCTOR(CONTROL*(CONTROL::IStyleProvider*), {L"styleProvider"}) +#define CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE_INHERITANCE_2(CONTROL, TYPE2, PARAM2)\ + CLASS_MEMBER_CONSTRUCTOR(CONTROL*(ThemeName, TYPE2), {L"themeName" _ L ## #PARAM2 })\ + +#define CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE_2(CONTROL, TYPE2, PARAM2)\ + CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE_INHERITANCE_2(CONTROL, TYPE2, PARAM2)\ + CLASS_MEMBER_PROPERTY_READONLY_FAST(ControlTemplateObject)\ + +#define CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE_INHERITANCE_3(CONTROL, TYPE2, PARAM2, TYPE3, PARAM3)\ + CLASS_MEMBER_CONSTRUCTOR(CONTROL*(ThemeName, TYPE2, TYPE3), {L"themeName" _ L ## #PARAM2 _ L ## #PARAM3})\ + +#define CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE_3(CONTROL, TYPE2, PARAM2, TYPE3, PARAM3)\ + CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE_INHERITANCE_3(CONTROL, TYPE2, PARAM2, TYPE3, PARAM3)\ + CLASS_MEMBER_PROPERTY_READONLY_FAST(ControlTemplateObject)\ #define INTERFACE_IDENTIFIER(INTERFACE)\ CLASS_MEMBER_STATIC_EXTERNALMETHOD(GetIdentifier, NO_PARAMETER, WString(*)(), vl::reflection::description::Interface_GetIdentifier<::INTERFACE>) @@ -1315,101 +1327,27 @@ Type Declaration CLASS_MEMBER_METHOD(DelayExecuteInMainThread, {L"proc" _ L"milliseconds"}) END_CLASS_MEMBER(GuiApplication) + BEGIN_ENUM_ITEM(ThemeName) +#define GUI_DEFINE_THEME_NAME(TEMPLATE, CONTROL) ENUM_CLASS_ITEM(CONTROL) + GUI_CONTROL_TEMPLATE_TYPES(GUI_DEFINE_THEME_NAME) +#undef GUI_DEFINE_THEME_NAME + END_ENUM_ITEM(ThemeName) + BEGIN_INTERFACE_MEMBER_NOPROXY(ITheme) CLASS_MEMBER_STATIC_EXTERNALMETHOD(GetCurrentTheme, NO_PARAMETER, ITheme*(*)(), vl::presentation::theme::GetCurrentTheme) CLASS_MEMBER_STATIC_EXTERNALMETHOD(RegisterTheme, {L"name" _ L"theme"}, bool(*)(const WString&, Ptr), vl::presentation::theme::RegisterTheme) CLASS_MEMBER_STATIC_EXTERNALMETHOD(UnrgisterTheme, {L"name"}, Ptr(*)(const WString&), vl::presentation::theme::UnregisterTheme) - CLASS_MEMBER_METHOD(CreateWindowStyle, NO_PARAMETER) - CLASS_MEMBER_METHOD(CreateCustomControlStyle, NO_PARAMETER) - CLASS_MEMBER_METHOD(CreateTooltipStyle, NO_PARAMETER) - CLASS_MEMBER_METHOD(CreateLabelStyle, NO_PARAMETER) - CLASS_MEMBER_METHOD(CreateShortcutKeyStyle, NO_PARAMETER) - CLASS_MEMBER_METHOD(CreateScrollContainerStyle, NO_PARAMETER) - CLASS_MEMBER_METHOD(CreateGroupBoxStyle, NO_PARAMETER) - CLASS_MEMBER_METHOD(CreateTabStyle, NO_PARAMETER) - CLASS_MEMBER_METHOD(CreateComboBoxStyle, NO_PARAMETER) - CLASS_MEMBER_METHOD(CreateMultilineTextBoxStyle, NO_PARAMETER) - CLASS_MEMBER_METHOD(CreateTextBoxStyle, NO_PARAMETER) - CLASS_MEMBER_METHOD(CreateDocumentViewerStyle, NO_PARAMETER) - CLASS_MEMBER_METHOD(CreateDocumentLabelStyle, NO_PARAMETER) - CLASS_MEMBER_METHOD(CreateDocumentTextBoxStyle, NO_PARAMETER) - CLASS_MEMBER_METHOD(CreateListViewStyle, NO_PARAMETER) - CLASS_MEMBER_METHOD(CreateTreeViewStyle, NO_PARAMETER) - CLASS_MEMBER_METHOD(CreateListItemBackgroundStyle, NO_PARAMETER) - CLASS_MEMBER_METHOD(CreateTreeItemExpanderStyle, NO_PARAMETER) - - CLASS_MEMBER_METHOD(CreateMenuStyle, NO_PARAMETER) - CLASS_MEMBER_METHOD(CreateMenuBarStyle, NO_PARAMETER) - CLASS_MEMBER_METHOD(CreateMenuSplitterStyle, NO_PARAMETER) - CLASS_MEMBER_METHOD(CreateMenuBarButtonStyle, NO_PARAMETER) - CLASS_MEMBER_METHOD(CreateMenuItemButtonStyle, NO_PARAMETER) - CLASS_MEMBER_METHOD(CreateToolBarStyle, NO_PARAMETER) - CLASS_MEMBER_METHOD(CreateToolBarButtonStyle, NO_PARAMETER) - CLASS_MEMBER_METHOD(CreateToolBarDropdownButtonStyle, NO_PARAMETER) - CLASS_MEMBER_METHOD(CreateToolBarSplitButtonStyle, NO_PARAMETER) - CLASS_MEMBER_METHOD(CreateToolBarSplitterStyle, NO_PARAMETER) - - CLASS_MEMBER_METHOD(CreateButtonStyle, NO_PARAMETER) - CLASS_MEMBER_METHOD(CreateCheckBoxStyle, NO_PARAMETER) - CLASS_MEMBER_METHOD(CreateRadioButtonStyle, NO_PARAMETER) - CLASS_MEMBER_METHOD(CreateDatePickerStyle, NO_PARAMETER) - - CLASS_MEMBER_METHOD(CreateHScrollStyle, NO_PARAMETER) - CLASS_MEMBER_METHOD(CreateVScrollStyle, NO_PARAMETER) - CLASS_MEMBER_METHOD(CreateHTrackerStyle, NO_PARAMETER) - CLASS_MEMBER_METHOD(CreateVTrackerStyle, NO_PARAMETER) - CLASS_MEMBER_METHOD(CreateProgressBarStyle, NO_PARAMETER) - - CLASS_MEMBER_METHOD(CreateTextListStyle, NO_PARAMETER) - CLASS_MEMBER_METHOD(CreateCheckTextListItemStyle, NO_PARAMETER) - CLASS_MEMBER_METHOD(CreateRadioTextListItemStyle, NO_PARAMETER) + CLASS_MEMBER_METHOD(CreateStyle, {L"themeName"}) END_INTERFACE_MEMBER(ITheme) BEGIN_CLASS_MEMBER(ThemeTemplates) CLASS_MEMBER_BASE(GuiInstanceRootObject) CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(window) - CLASS_MEMBER_FIELD(customControl) - CLASS_MEMBER_FIELD(tooltip) - CLASS_MEMBER_FIELD(label) - CLASS_MEMBER_FIELD(shortcutKey) - CLASS_MEMBER_FIELD(scrollView) - CLASS_MEMBER_FIELD(groupBox) - CLASS_MEMBER_FIELD(tab) - CLASS_MEMBER_FIELD(comboBox) - CLASS_MEMBER_FIELD(multilineTextBox) - CLASS_MEMBER_FIELD(singlelineTextBox) - CLASS_MEMBER_FIELD(documentViewer) - CLASS_MEMBER_FIELD(documentLabel) - CLASS_MEMBER_FIELD(documentTextBox) - CLASS_MEMBER_FIELD(listView) - CLASS_MEMBER_FIELD(treeView) - CLASS_MEMBER_FIELD(textList) - CLASS_MEMBER_FIELD(listItemBackground) - CLASS_MEMBER_FIELD(treeItemExpander) - CLASS_MEMBER_FIELD(checkTextListItem) - CLASS_MEMBER_FIELD(radioTextListItem) - CLASS_MEMBER_FIELD(menu) - CLASS_MEMBER_FIELD(menuBar) - CLASS_MEMBER_FIELD(menuSplitter) - CLASS_MEMBER_FIELD(menuBarButton) - CLASS_MEMBER_FIELD(menuItemButton) - CLASS_MEMBER_FIELD(toolBar) - CLASS_MEMBER_FIELD(toolBarButton) - CLASS_MEMBER_FIELD(toolBarDropdownButton) - CLASS_MEMBER_FIELD(toolBarSplitButton) - CLASS_MEMBER_FIELD(toolBarSplitter) - CLASS_MEMBER_FIELD(button) - CLASS_MEMBER_FIELD(checkBox) - CLASS_MEMBER_FIELD(radioButton) - CLASS_MEMBER_FIELD(datePicker) - CLASS_MEMBER_FIELD(hScroll) - CLASS_MEMBER_FIELD(vScroll) - CLASS_MEMBER_FIELD(hTracker) - CLASS_MEMBER_FIELD(vTracker) - CLASS_MEMBER_FIELD(progressBar) +#define GUI_DEFINE_ITEM_PROPERTY(TEMPLATE, CONTROL) CLASS_MEMBER_FIELD(CONTROL) + GUI_CONTROL_TEMPLATE_TYPES(GUI_DEFINE_ITEM_PROPERTY) +#undef GUI_DEFINE_ITEM_PROPERTY END_CLASS_MEMBER(ThemeTemplates) BEGIN_CLASS_MEMBER(GuiDialogBase) @@ -1484,10 +1422,10 @@ Type Declaration END_CLASS_MEMBER(GuiSaveFileDialog) BEGIN_CLASS_MEMBER(GuiControl) - CLASS_MEMBER_CONSTRUCTOR(GuiControl*(GuiControl::IStyleController*), {L"styleController"}) + CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE(GuiControl) CLASS_MEMBER_GUIEVENT(RenderTargetChanged) - CLASS_MEMBER_PROPERTY_READONLY_FAST(StyleController) + CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(ControlTemplate) CLASS_MEMBER_PROPERTY_READONLY_FAST(BoundsComposition) CLASS_MEMBER_PROPERTY_READONLY_FAST(ContainerComposition) CLASS_MEMBER_PROPERTY_READONLY_FAST(FocusableComposition) @@ -1514,73 +1452,37 @@ Type Declaration CLASS_MEMBER_METHOD_OVERLOAD(QueryService, {L"identifier"}, IDescriptable*(GuiControl::*)(const WString&)) END_CLASS_MEMBER(GuiControl) - BEGIN_INTERFACE_MEMBER_NOPROXY(GuiControl::IStyleController) - CLASS_MEMBER_METHOD(GetBoundsComposition, NO_PARAMETER) - CLASS_MEMBER_METHOD(GetContainerComposition, NO_PARAMETER) - CLASS_MEMBER_METHOD(SetFocusableComposition, {L"value"}) - CLASS_MEMBER_METHOD(SetText, {L"value"}) - CLASS_MEMBER_METHOD(SetFont, {L"value"}) - CLASS_MEMBER_METHOD(SetVisuallyEnabled, {L"value"}) - END_INTERFACE_MEMBER(GuiControl::IStyleController) - - BEGIN_INTERFACE_MEMBER_NOPROXY(GuiControl::IStyleProvider) - CLASS_MEMBER_METHOD(AssociateStyleController, {L"controller"}) - CLASS_MEMBER_METHOD(SetFocusableComposition, {L"value"}) - CLASS_MEMBER_METHOD(SetText, {L"value"}) - CLASS_MEMBER_METHOD(SetFont, {L"value"}) - CLASS_MEMBER_METHOD(SetVisuallyEnabled, {L"value"}) - END_INTERFACE_MEMBER(GuiControl::IStyleProvider) - BEGIN_CLASS_MEMBER(GuiCustomControl) CLASS_MEMBER_BASE(GuiControl) CLASS_MEMBER_BASE(GuiInstanceRootObject) - CONTROL_CONSTRUCTOR_CONTROLLER(GuiCustomControl) + CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE(GuiCustomControl) END_CLASS_MEMBER(GuiCustomControl) BEGIN_CLASS_MEMBER(GuiLabel) CLASS_MEMBER_BASE(GuiControl) - CONTROL_CONSTRUCTOR_CONTROLLER(GuiLabel) + CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE(GuiLabel) CLASS_MEMBER_PROPERTY_FAST(TextColor) END_CLASS_MEMBER(GuiLabel) - BEGIN_INTERFACE_MEMBER_NOPROXY(GuiLabel::IStyleController) - CLASS_MEMBER_BASE(GuiControl::IStyleController) - - CLASS_MEMBER_METHOD(GetDefaultTextColor, NO_PARAMETER) - CLASS_MEMBER_METHOD(SetTextColor, {L"value"}) - END_INTERFACE_MEMBER(GuiLabel::IStyleController) - BEGIN_CLASS_MEMBER(GuiButton) CLASS_MEMBER_BASE(GuiControl) - CONTROL_CONSTRUCTOR_CONTROLLER(GuiButton) + CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE(GuiButton) CLASS_MEMBER_GUIEVENT(Clicked) CLASS_MEMBER_PROPERTY_FAST(ClickOnMouseUp) END_CLASS_MEMBER(GuiButton) - BEGIN_INTERFACE_MEMBER_NOPROXY(GuiButton::IStyleController) - CLASS_MEMBER_BASE(GuiControl::IStyleController) - - CLASS_MEMBER_METHOD(Transfer, {L"value"}) - END_INTERFACE_MEMBER(GuiButton::IStyleController) - BEGIN_CLASS_MEMBER(GuiSelectableButton) CLASS_MEMBER_BASE(GuiButton) - CONTROL_CONSTRUCTOR_CONTROLLER(GuiSelectableButton) + CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE(GuiSelectableButton) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(GroupController) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(AutoSelection) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(Selected) END_CLASS_MEMBER(GuiSelectableButton) - BEGIN_INTERFACE_MEMBER_NOPROXY(GuiSelectableButton::IStyleController) - CLASS_MEMBER_BASE(GuiButton::IStyleController) - - CLASS_MEMBER_METHOD(SetSelected, {L"value"}) - END_INTERFACE_MEMBER(GuiSelectableButton::IStyleController) - BEGIN_CLASS_MEMBER(GuiSelectableButton::GroupController) CLASS_MEMBER_BASE(GuiComponent) @@ -1596,7 +1498,7 @@ Type Declaration BEGIN_CLASS_MEMBER(GuiScroll) CLASS_MEMBER_BASE(GuiControl) - CONTROL_CONSTRUCTOR_CONTROLLER(GuiScroll) + CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE(GuiScroll) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(TotalSize) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(PageSize) @@ -1607,41 +1509,22 @@ Type Declaration CLASS_MEMBER_PROPERTY_READONLY_FAST(MaxPosition) END_CLASS_MEMBER(GuiScroll) - BEGIN_INTERFACE_MEMBER_NOPROXY(GuiScroll::IStyleController) - CLASS_MEMBER_BASE(GuiControl::IStyleController) - - CLASS_MEMBER_METHOD(SetCommandExecutor, {L"value"}) - CLASS_MEMBER_METHOD(SetTotalSize, {L"value"}) - CLASS_MEMBER_METHOD(SetPageSize, {L"value"}) - CLASS_MEMBER_METHOD(SetPosition, {L"value"}) - END_INTERFACE_MEMBER(GuiScroll::IStyleController) - BEGIN_CLASS_MEMBER(GuiTabPage) CLASS_MEMBER_BASE(GuiCustomControl) - CONTROL_CONSTRUCTOR_CONTROLLER(GuiTabPage) - CONTROL_CONSTRUCTOR_DEFAULT(GuiTabPage, vl::presentation::theme::g::NewTabPage) + CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE(GuiTabPage) CLASS_MEMBER_PROPERTY_READONLY_FAST(OwnerTab) END_CLASS_MEMBER(GuiTabPage) BEGIN_CLASS_MEMBER(GuiTab) CLASS_MEMBER_BASE(GuiControl) - CONTROL_CONSTRUCTOR_CONTROLLER(GuiTab) - CONTROL_CONSTRUCTOR_DEFAULT(GuiTab, vl::presentation::theme::g::NewTab) + CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE(GuiTab) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(SelectedPage) CLASS_MEMBER_PROPERTY_READONLY_FAST(Pages) END_CLASS_MEMBER(GuiTab) - BEGIN_INTERFACE_MEMBER_NOPROXY(GuiTab::IStyleController) - CLASS_MEMBER_BASE(GuiControl::IStyleController) - - CLASS_MEMBER_METHOD(SetCommandExecutor, {L"value"}) - CLASS_MEMBER_METHOD(SetTabPages, { L"value" }) - CLASS_MEMBER_METHOD(SetSelectedTabPage, { L"value" }) - END_INTERFACE_MEMBER(GuiTab::IStyleController) - BEGIN_CLASS_MEMBER(GuiScrollView) CLASS_MEMBER_BASE(GuiControl) @@ -1655,26 +1538,18 @@ Type Declaration CLASS_MEMBER_METHOD(CalculateView, NO_PARAMETER) END_CLASS_MEMBER(GuiScrollView) - BEGIN_INTERFACE_MEMBER_NOPROXY(GuiScrollView::IStyleProvider) - CLASS_MEMBER_BASE(GuiControl::IStyleProvider) - - CLASS_MEMBER_METHOD(CreateHorizontalScrollStyle, NO_PARAMETER) - CLASS_MEMBER_METHOD(CreateVerticalScrollStyle, NO_PARAMETER) - CLASS_MEMBER_METHOD(GetDefaultScrollSize, NO_PARAMETER) - CLASS_MEMBER_METHOD(InstallBackground, {L"boundsComposition"}) - END_INTERFACE_MEMBER(GuiScrollView::IStyleProvider) - BEGIN_CLASS_MEMBER(GuiScrollContainer) CLASS_MEMBER_BASE(GuiScrollView) - CONTROL_CONSTRUCTOR_PROVIDER(GuiScrollContainer) + CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE(GuiScrollContainer) CLASS_MEMBER_PROPERTY_FAST(ExtendToFullWidth) + CLASS_MEMBER_PROPERTY_FAST(ExtendToFullHeight) END_CLASS_MEMBER(GuiScrollContainer) BEGIN_CLASS_MEMBER(GuiControlHost) CLASS_MEMBER_BASE(GuiControl) CLASS_MEMBER_BASE(GuiInstanceRootObject) - CLASS_MEMBER_CONSTRUCTOR(GuiControlHost*(GuiControl::IStyleController*), {L"styleController"}) + CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE(GuiControlHost) CLASS_MEMBER_GUIEVENT(WindowGotFocus) CLASS_MEMBER_GUIEVENT(WindowLostFocus) @@ -1712,7 +1587,7 @@ Type Declaration BEGIN_CLASS_MEMBER(GuiWindow) CLASS_MEMBER_BASE(GuiControlHost) - CONTROL_CONSTRUCTOR_CONTROLLER(GuiWindow) + CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE(GuiWindow) CLASS_MEMBER_GUIEVENT(ClipboardUpdated) @@ -1730,27 +1605,9 @@ Type Declaration CLASS_MEMBER_METHOD(ShowModalAsync, { L"owner" }) END_CLASS_MEMBER(GuiWindow) - BEGIN_INTERFACE_MEMBER_NOPROXY(GuiWindow::IStyleController) - CLASS_MEMBER_BASE(GuiControl::IStyleController) - - CLASS_MEMBER_METHOD(AttachWindow, {L"window"}) - CLASS_MEMBER_METHOD(InitializeNativeWindowProperties, NO_PARAMETER) - CLASS_MEMBER_METHOD(SetSizeState, {L"value"}) - - CLASS_MEMBER_PROPERTY_FAST(MaximizedBox) - CLASS_MEMBER_PROPERTY_FAST(MinimizedBox) - CLASS_MEMBER_PROPERTY_FAST(Border) - CLASS_MEMBER_PROPERTY_FAST(SizeBox) - CLASS_MEMBER_PROPERTY_FAST(IconVisible) - CLASS_MEMBER_PROPERTY_FAST(TitleBar) - - CLASS_MEMBER_METHOD(CreateTooltipStyle, NO_PARAMETER) - CLASS_MEMBER_METHOD(CreateShortcutKeyStyle, NO_PARAMETER) - END_INTERFACE_MEMBER(GuiWindow::IStyleController) - BEGIN_CLASS_MEMBER(GuiPopup) CLASS_MEMBER_BASE(GuiWindow) - CONTROL_CONSTRUCTOR_CONTROLLER(GuiPopup) + CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE(GuiPopup) CLASS_MEMBER_METHOD(IsClippedByScreen, {L"location"}) CLASS_MEMBER_METHOD_OVERLOAD(ShowPopup, {L"location" _ L"screen"}, void(GuiPopup::*)(Point _ INativeScreen*)) @@ -1760,7 +1617,7 @@ Type Declaration BEGIN_CLASS_MEMBER(GuiTooltip) CLASS_MEMBER_BASE(GuiPopup) - CONTROL_CONSTRUCTOR_CONTROLLER(GuiTooltip) + CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE(GuiTooltip) CLASS_MEMBER_PROPERTY_FAST(PreferredContentWidth) CLASS_MEMBER_PROPERTY_FAST(TemporaryContentControl) @@ -1768,7 +1625,7 @@ Type Declaration BEGIN_CLASS_MEMBER(GuiListControl) CLASS_MEMBER_BASE(GuiScrollView) - CLASS_MEMBER_CONSTRUCTOR(GuiListControl*(GuiListControl::IStyleProvider* _ GuiListControl::IItemProvider* _ bool), {L"styleProvider" _ L"itemProvider" _ L"acceptFocus"}) + CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE_3(GuiListControl, GuiListControl::IItemProvider*, itemProvider, bool, acceptFocus) CLASS_MEMBER_GUIEVENT(AdoptedSizeInvalidated) CLASS_MEMBER_GUIEVENT(ItemLeftButtonDown) @@ -1784,7 +1641,6 @@ Type Declaration CLASS_MEMBER_GUIEVENT(ItemMouseEnter) CLASS_MEMBER_GUIEVENT(ItemMouseLeave) - CLASS_MEMBER_PROPERTY_READONLY_FAST(ListControlStyleProvider) CLASS_MEMBER_PROPERTY_READONLY_FAST(ItemProvider) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(ItemTemplate) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(Arranger) @@ -1795,12 +1651,6 @@ Type Declaration CLASS_MEMBER_METHOD(GetAdoptedSize, {L"expectedSize"}) END_CLASS_MEMBER(GuiListControl) - BEGIN_INTERFACE_MEMBER_NOPROXY(GuiListControl::IStyleProvider) - CLASS_MEMBER_BASE(GuiScrollView::IStyleProvider) - - CLASS_MEMBER_METHOD(CreateItemBackground, NO_PARAMETER) - END_INTERFACE_MEMBER(GuiListControl::IStyleProvider) - BEGIN_INTERFACE_MEMBER(GuiListControl::IItemProviderCallback) CLASS_MEMBER_BASE(IDescriptable) @@ -1853,7 +1703,7 @@ Type Declaration BEGIN_CLASS_MEMBER(GuiSelectableListControl) CLASS_MEMBER_BASE(GuiListControl) - CLASS_MEMBER_CONSTRUCTOR(GuiSelectableListControl*(GuiSelectableListControl::IStyleProvider* _ GuiSelectableListControl::IItemProvider*), {L"styleProvider" _ L"itemProvider"}) + CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE_INHERITANCE_2(GuiSelectableListControl, GuiListControl::IItemProvider*, itemProvider) CLASS_MEMBER_GUIEVENT(SelectionChanged) @@ -1917,24 +1767,15 @@ Type Declaration BEGIN_CLASS_MEMBER(GuiVirtualTextList) CLASS_MEMBER_BASE(GuiSelectableListControl) - CLASS_MEMBER_CONSTRUCTOR(GuiVirtualTextList*(GuiVirtualTextList::IStyleProvider* _ GuiListControl::IItemProvider*), {L"styleProvider" _ L"itemProvider"}) + CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE_2(GuiVirtualTextList, GuiListControl::IItemProvider*, L"itemProvider") CLASS_MEMBER_GUIEVENT(ItemChecked) - CLASS_MEMBER_PROPERTY_READONLY_FAST(TextListStyleProvider) CLASS_MEMBER_PROPERTY_FAST(View) END_CLASS_MEMBER(GuiVirtualTextList) - BEGIN_INTERFACE_MEMBER_NOPROXY(GuiVirtualTextList::IStyleProvider) - CLASS_MEMBER_BASE(GuiSelectableListControl::IStyleProvider) - - CLASS_MEMBER_PROPERTY_READONLY_FAST(TextColor) - CLASS_MEMBER_METHOD(CreateCheckBulletStyle, NO_PARAMETER) - CLASS_MEMBER_METHOD(CreateRadioBulletStyle, NO_PARAMETER) - END_INTERFACE_MEMBER(GuiVirtualTextList::IStyleProvider) - BEGIN_CLASS_MEMBER(GuiTextList) CLASS_MEMBER_BASE(GuiVirtualTextList) - CLASS_MEMBER_CONSTRUCTOR(GuiTextList*(GuiVirtualTextList::IStyleProvider*), { L"styleProvider" }) + CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE_INHERITANCE(GuiTextList) CLASS_MEMBER_PROPERTY_READONLY_FAST(Items) CLASS_MEMBER_PROPERTY_EVENT_READONLY_FAST(SelectedItem, SelectionChanged) @@ -1942,36 +1783,18 @@ Type Declaration BEGIN_CLASS_MEMBER(GuiListViewColumnHeader) CLASS_MEMBER_BASE(GuiMenuButton) - CONTROL_CONSTRUCTOR_CONTROLLER(GuiListViewColumnHeader) + CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE(GuiListViewColumnHeader) CLASS_MEMBER_PROPERTY_FAST(ColumnSortingState) END_CLASS_MEMBER(GuiListViewColumnHeader) - BEGIN_INTERFACE_MEMBER_NOPROXY(GuiListViewColumnHeader::IStyleController) - CLASS_MEMBER_BASE(GuiMenuButton::IStyleController) - - CLASS_MEMBER_METHOD(SetColumnSortingState, {L"value"}) - END_INTERFACE_MEMBER(GuiListViewColumnHeader::IStyleController) - BEGIN_CLASS_MEMBER(GuiListViewBase) CLASS_MEMBER_BASE(GuiSelectableListControl) - CLASS_MEMBER_CONSTRUCTOR(GuiListViewBase*(GuiListViewBase::IStyleProvider* _ GuiListControl::IItemProvider*), {L"styleProvider" _ L"itemProvider"}) + CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE_2(GuiListViewBase, GuiListControl::IItemProvider*, itemProvider) CLASS_MEMBER_GUIEVENT(ColumnClicked) - - CLASS_MEMBER_METHOD(GetListViewStyleProvider, NO_PARAMETER) END_CLASS_MEMBER(GuiListViewBase) - BEGIN_INTERFACE_MEMBER_NOPROXY(GuiListViewBase::IStyleProvider) - CLASS_MEMBER_BASE(GuiSelectableListControl::IStyleProvider) - - CLASS_MEMBER_PROPERTY_READONLY_FAST(PrimaryTextColor) - CLASS_MEMBER_PROPERTY_READONLY_FAST(SecondaryTextColor) - CLASS_MEMBER_PROPERTY_READONLY_FAST(ItemSeparatorColor) - - CLASS_MEMBER_METHOD(CreateColumnStyle, NO_PARAMETER) - END_INTERFACE_MEMBER(GuiListViewBase::IStyleProvider) - BEGIN_INTERFACE_MEMBER(IListViewItemView) INTERFACE_IDENTIFIER(vl::presentation::controls::list::IListViewItemView) @@ -2041,14 +1864,14 @@ Type Declaration BEGIN_CLASS_MEMBER(GuiVirtualListView) CLASS_MEMBER_BASE(GuiListViewBase) - CLASS_MEMBER_CONSTRUCTOR(GuiVirtualListView*(GuiVirtualListView::IStyleProvider*, GuiListControl::IItemProvider*), { L"styleProvider" _ L"itemProvider" }) + CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE_INHERITANCE_2(GuiVirtualListView, GuiListControl::IItemProvider*, itemProvider) CLASS_MEMBER_PROPERTY_FAST(View) END_CLASS_MEMBER(GuiVirtualListView) BEGIN_CLASS_MEMBER(GuiListView) CLASS_MEMBER_BASE(GuiVirtualListView) - CONTROL_CONSTRUCTOR_PROVIDER(GuiListView) + CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE(GuiListView) CLASS_MEMBER_PROPERTY_READONLY_FAST(DataColumns) CLASS_MEMBER_PROPERTY_READONLY_FAST(Columns) @@ -2077,7 +1900,7 @@ Type Declaration BEGIN_CLASS_MEMBER(GuiMenu) CLASS_MEMBER_BASE(GuiPopup) - CLASS_MEMBER_CONSTRUCTOR(GuiMenu*(GuiMenu::IStyleController* _ GuiControl*), {L"styleController" _ L"owner"}) + CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE_2(GuiMenu, GuiControl*, owner) CLASS_MEMBER_METHOD(UpdateMenuService, NO_PARAMETER) CLASS_MEMBER_METHOD(QueryService, {L"identifier"}) @@ -2085,12 +1908,12 @@ Type Declaration BEGIN_CLASS_MEMBER(GuiMenuBar) CLASS_MEMBER_BASE(GuiControl) - CONTROL_CONSTRUCTOR_CONTROLLER(GuiMenuBar) + CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE(GuiMenuBar) END_CLASS_MEMBER(GuiMenuBar) BEGIN_CLASS_MEMBER(GuiMenuButton) CLASS_MEMBER_BASE(GuiSelectableButton) - CONTROL_CONSTRUCTOR_CONTROLLER(GuiMenuButton) + CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE(GuiMenuButton) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(Image) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(ShortcutText) @@ -2105,17 +1928,6 @@ Type Declaration CLASS_MEMBER_METHOD(SetSubMenu, {L"value" _ L"owned"}) END_CLASS_MEMBER(GuiMenuButton) - BEGIN_INTERFACE_MEMBER_NOPROXY(GuiMenuButton::IStyleController) - CLASS_MEMBER_BASE(GuiSelectableButton::IStyleController) - - CLASS_MEMBER_METHOD(CreateSubMenuStyleController, NO_PARAMETER) - CLASS_MEMBER_METHOD(SetSubMenuExisting, {L"value"}) - CLASS_MEMBER_METHOD(SetSubMenuOpening, {L"value"}) - CLASS_MEMBER_METHOD(GetSubMenuHost, NO_PARAMETER) - CLASS_MEMBER_METHOD(SetImage, {L"value"}) - CLASS_MEMBER_METHOD(SetShortcutText, {L"value"}) - END_INTERFACE_MEMBER(GuiMenuButton::IStyleController) - BEGIN_INTERFACE_MEMBER_NOPROXY(INodeProviderCallback) CLASS_MEMBER_BASE(IDescriptable) @@ -2188,7 +2000,7 @@ Type Declaration BEGIN_CLASS_MEMBER(GuiVirtualTreeListControl) CLASS_MEMBER_BASE(GuiSelectableListControl) - CLASS_MEMBER_CONSTRUCTOR(GuiVirtualTreeListControl*(GuiVirtualTreeListControl::IStyleProvider* _ Ptr), {L"styleProvider" _ L"rootNodeProvider"}) + CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE_2(GuiVirtualTreeListControl, Ptr, rootNodeProvider) CLASS_MEMBER_GUIEVENT(NodeLeftButtonDown) CLASS_MEMBER_GUIEVENT(NodeLeftButtonUp) @@ -2235,22 +2047,13 @@ Type Declaration BEGIN_CLASS_MEMBER(GuiVirtualTreeView) CLASS_MEMBER_BASE(GuiVirtualTreeListControl) - CLASS_MEMBER_CONSTRUCTOR(GuiVirtualTreeView*(GuiVirtualTreeView::IStyleProvider* _ Ptr), {L"styleProvider" _ L"rootNodeProvider"}) + CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE_INHERITANCE_2(GuiVirtualTreeView, Ptr, rootNodeProvider) - CLASS_MEMBER_PROPERTY_READONLY_FAST(TreeViewStyleProvider) END_CLASS_MEMBER(GuiVirtualTreeView) - BEGIN_INTERFACE_MEMBER_NOPROXY(GuiVirtualTreeView::IStyleProvider) - CLASS_MEMBER_BASE(GuiVirtualTreeListControl::IStyleProvider) - - CLASS_MEMBER_PROPERTY_READONLY_FAST(TextColor) - - CLASS_MEMBER_METHOD(CreateItemExpandingDecorator, NO_PARAMETER) - END_INTERFACE_MEMBER(GuiVirtualTreeView::IStyleProvider) - BEGIN_CLASS_MEMBER(GuiTreeView) CLASS_MEMBER_BASE(GuiVirtualTreeView) - CONTROL_CONSTRUCTOR_PROVIDER(GuiTreeView) + CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE_INHERITANCE(GuiTreeView) CLASS_MEMBER_METHOD_RENAME(GetNodes, Nodes, NO_PARAMETER) CLASS_MEMBER_PROPERTY_READONLY(Nodes, GetNodes) @@ -2259,21 +2062,14 @@ Type Declaration BEGIN_CLASS_MEMBER(GuiComboBoxBase) CLASS_MEMBER_BASE(GuiMenuButton) - CONTROL_CONSTRUCTOR_CONTROLLER(GuiComboBoxBase) + CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE(GuiComboBoxBase) CLASS_MEMBER_GUIEVENT(ItemSelected) END_CLASS_MEMBER(GuiComboBoxBase) - BEGIN_INTERFACE_MEMBER_NOPROXY(GuiComboBoxBase::IStyleController) - CLASS_MEMBER_BASE(GuiMenuButton::IStyleController) - - CLASS_MEMBER_METHOD(SetCommandExecutor, {L"value"}) - CLASS_MEMBER_METHOD(OnItemSelected, NO_PARAMETER) - END_INTERFACE_MEMBER(GuiComboBoxBase::IStyleController) - BEGIN_CLASS_MEMBER(GuiComboBoxListControl) CLASS_MEMBER_BASE(GuiComboBoxBase) - CLASS_MEMBER_CONSTRUCTOR(GuiComboBoxListControl*(GuiComboBoxListControl::IStyleController* _ GuiSelectableListControl*), {L"styleController" _ L"containedListControl"}) + CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE_INHERITANCE_2(GuiComboBoxListControl, GuiSelectableListControl*, containedListControl) CLASS_MEMBER_PROPERTY_READONLY_FAST(ContainedListControl) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(ItemTemplate) @@ -2282,12 +2078,6 @@ Type Declaration CLASS_MEMBER_PROPERTY_READONLY_FAST(ItemProvider) END_CLASS_MEMBER(GuiComboBoxListControl) - BEGIN_INTERFACE_MEMBER_NOPROXY(GuiComboBoxListControl::IStyleController) - CLASS_MEMBER_BASE(GuiComboBoxBase::IStyleController) - - CLASS_MEMBER_METHOD(SetTextVisible, {L"value"}) - END_INTERFACE_MEMBER(GuiComboBoxListControl::IStyleController) - BEGIN_CLASS_MEMBER(GuiToolstripCommand) CLASS_MEMBER_BASE(GuiComponent) CLASS_MEMBER_CONSTRUCTOR(GuiToolstripCommand*(), NO_PARAMETER) @@ -2305,28 +2095,28 @@ Type Declaration BEGIN_CLASS_MEMBER(GuiToolstripMenu) CLASS_MEMBER_BASE(GuiMenu) - CLASS_MEMBER_CONSTRUCTOR(GuiToolstripMenu*(GuiToolstripMenu::IStyleController* _ GuiControl*), {L"styleController" _ L"owner"}) + CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE_INHERITANCE_2(GuiToolstripMenu, GuiControl*, owner) CLASS_MEMBER_PROPERTY_READONLY_FAST(ToolstripItems) END_CLASS_MEMBER(GuiToolstripMenu) BEGIN_CLASS_MEMBER(GuiToolstripMenuBar) CLASS_MEMBER_BASE(GuiMenuBar) - CONTROL_CONSTRUCTOR_CONTROLLER(GuiToolstripMenuBar) + CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE(GuiToolstripMenuBar) CLASS_MEMBER_PROPERTY_READONLY_FAST(ToolstripItems) END_CLASS_MEMBER(GuiToolstripMenuBar) BEGIN_CLASS_MEMBER(GuiToolstripToolBar) CLASS_MEMBER_BASE(GuiControl) - CONTROL_CONSTRUCTOR_CONTROLLER(GuiToolstripToolBar) + CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE(GuiToolstripToolBar) CLASS_MEMBER_PROPERTY_READONLY_FAST(ToolstripItems) END_CLASS_MEMBER(GuiToolstripToolBar) BEGIN_CLASS_MEMBER(GuiToolstripButton) CLASS_MEMBER_BASE(GuiMenuButton) - CONTROL_CONSTRUCTOR_CONTROLLER(GuiToolstripButton) + CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE(GuiToolstripButton) CLASS_MEMBER_PROPERTY_FAST(Command) CLASS_MEMBER_PROPERTY_READONLY_FAST(ToolstripSubMenu) @@ -2405,28 +2195,15 @@ Type Declaration BEGIN_CLASS_MEMBER(GuiDocumentViewer) CLASS_MEMBER_BASE(GuiScrollContainer) CLASS_MEMBER_BASE(GuiDocumentCommonInterface) - CONTROL_CONSTRUCTOR_PROVIDER(GuiDocumentViewer) + CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE(GuiDocumentViewer) END_CLASS_MEMBER(GuiDocumentViewer) - BEGIN_INTERFACE_MEMBER_NOPROXY(GuiDocumentViewer::IStyleProvider) - CLASS_MEMBER_BASE(GuiScrollContainer::IStyleProvider) - - CLASS_MEMBER_PROPERTY_READONLY_FAST(BaselineDocument) - CLASS_MEMBER_PROPERTY_READONLY_FAST(CaretColor) - END_INTERFACE_MEMBER(GuiDocumentViewer::IStyleProvider) - BEGIN_CLASS_MEMBER(GuiDocumentLabel) CLASS_MEMBER_BASE(GuiControl) CLASS_MEMBER_BASE(GuiDocumentCommonInterface) - CONTROL_CONSTRUCTOR_CONTROLLER(GuiDocumentLabel) + CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE(GuiDocumentLabel) END_CLASS_MEMBER(GuiDocumentLabel) - BEGIN_INTERFACE_MEMBER_NOPROXY(GuiDocumentLabel::IStyleController) - CLASS_MEMBER_BASE(GuiControl::IStyleController) - - CLASS_MEMBER_PROPERTY_READONLY_FAST(BaselineDocument) - END_INTERFACE_MEMBER(GuiDocumentLabel::IStyleProvider) - BEGIN_CLASS_MEMBER(GuiTextBoxCommonInterface) CLASS_MEMBER_GUIEVENT(SelectionChanged) CLASS_MEMBER_GUIEVENT(UndoRedoChanged) @@ -2471,28 +2248,22 @@ Type Declaration BEGIN_CLASS_MEMBER(GuiMultilineTextBox) CLASS_MEMBER_BASE(GuiScrollView) CLASS_MEMBER_BASE(GuiTextBoxCommonInterface) - CONTROL_CONSTRUCTOR_PROVIDER(GuiMultilineTextBox) + CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE(GuiMultilineTextBox) END_CLASS_MEMBER(GuiMultilineTextBox) BEGIN_CLASS_MEMBER(GuiSinglelineTextBox) CLASS_MEMBER_BASE(GuiControl) CLASS_MEMBER_BASE(GuiTextBoxCommonInterface) - CONTROL_CONSTRUCTOR_PROVIDER(GuiSinglelineTextBox) + CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE(GuiSinglelineTextBox) CLASS_MEMBER_PROPERTY_FAST(PasswordChar) END_CLASS_MEMBER(GuiSinglelineTextBox) - BEGIN_INTERFACE_MEMBER_NOPROXY(GuiSinglelineTextBox::IStyleProvider) - CLASS_MEMBER_BASE(GuiControl::IStyleProvider) - - CLASS_MEMBER_METHOD(InstallBackground, {L"background"}) - END_INTERFACE_MEMBER(GuiSinglelineTextBox::IStyleProvider) - BEGIN_INTERFACE_MEMBER(IDataGridContext) CLASS_MEMBER_BASE(IDescriptable) CLASS_MEMBER_PROPERTY_READONLY_FAST(ItemProvider) - CLASS_MEMBER_PROPERTY_READONLY_FAST(ListViewStyleProvider) + CLASS_MEMBER_PROPERTY_READONLY_FAST(ListViewControlTemplate) CLASS_MEMBER_PROPERTY_READONLY_FAST(ViewModelContext) CLASS_MEMBER_METHOD(RequestSaveData, NO_PARAMETER) END_INTERFACE_MEMBER(IDataGridContext) @@ -2548,7 +2319,7 @@ Type Declaration BEGIN_CLASS_MEMBER(GuiVirtualDataGrid) CLASS_MEMBER_BASE(GuiVirtualListView) - CLASS_MEMBER_CONSTRUCTOR(GuiVirtualDataGrid*(GuiVirtualListView::IStyleProvider* _ GuiListControl::IItemProvider*), {L"styleProvider" _ L"itemProvider"}) + CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE_INHERITANCE_2(GuiVirtualDataGrid, GuiListControl::IItemProvider*, itemProvider) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(SelectedCell) @@ -2597,7 +2368,7 @@ Type Declaration BEGIN_CLASS_MEMBER(GuiDatePicker) CLASS_MEMBER_BASE(GuiControl) - CONTROL_CONSTRUCTOR_PROVIDER(GuiDatePicker) + CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE(GuiDatePicker) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(Date) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(DateFormat) @@ -2607,21 +2378,9 @@ Type Declaration CLASS_MEMBER_GUIEVENT(DateNavigated); END_CLASS_MEMBER(GuiDatePicker) - BEGIN_INTERFACE_MEMBER_NOPROXY(GuiDatePicker::IStyleProvider) - CLASS_MEMBER_BASE(GuiControl::IStyleProvider) - - CLASS_MEMBER_PROPERTY_READONLY_FAST(BackgroundColor) - CLASS_MEMBER_PROPERTY_READONLY_FAST(PrimaryTextColor) - CLASS_MEMBER_PROPERTY_READONLY_FAST(SecondaryTextColor) - - CLASS_MEMBER_METHOD(CreateDateButtonStyle, NO_PARAMETER) - CLASS_MEMBER_METHOD(CreateTextList, NO_PARAMETER) - CLASS_MEMBER_METHOD(CreateComboBoxStyle, NO_PARAMETER) - END_INTERFACE_MEMBER(GuiDatePicker::IStyleProvider) - BEGIN_CLASS_MEMBER(GuiDateComboBox) CLASS_MEMBER_BASE(GuiComboBoxBase) - CLASS_MEMBER_CONSTRUCTOR(GuiDateComboBox*(GuiDateComboBox::IStyleController* _ GuiDatePicker*), {L"styleController" _ L"datePicker"}) + CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE_INHERITANCE_2(GuiDateComboBox, GuiDatePicker*, datePicker) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(SelectedDate) CLASS_MEMBER_PROPERTY_READONLY_FAST(DatePicker) @@ -2629,7 +2388,7 @@ Type Declaration BEGIN_CLASS_MEMBER(GuiBindableTextList) CLASS_MEMBER_BASE(GuiVirtualTextList) - CLASS_MEMBER_CONSTRUCTOR(GuiBindableTextList*(GuiBindableTextList::IStyleProvider*), {L"styleProvider"}) + CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE_INHERITANCE(GuiBindableTextList) CLASS_MEMBER_PROPERTY_FAST(ItemSource) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(TextProperty) @@ -2639,7 +2398,7 @@ Type Declaration BEGIN_CLASS_MEMBER(GuiBindableListView) CLASS_MEMBER_BASE(GuiVirtualListView) - CLASS_MEMBER_CONSTRUCTOR(GuiBindableListView*(GuiBindableListView::IStyleProvider*), {L"styleProvider"}) + CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE_INHERITANCE(GuiBindableListView) CLASS_MEMBER_PROPERTY_READONLY_FAST(DataColumns) CLASS_MEMBER_PROPERTY_READONLY_FAST(Columns) @@ -2651,7 +2410,7 @@ Type Declaration BEGIN_CLASS_MEMBER(GuiBindableTreeView) CLASS_MEMBER_BASE(GuiVirtualTreeView) - CLASS_MEMBER_CONSTRUCTOR(GuiBindableTreeView*(GuiBindableTreeView::IStyleProvider*), {L"styleProvider"}) + CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE_INHERITANCE(GuiBindableTreeView) CLASS_MEMBER_PROPERTY_FAST(ItemSource) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(TextProperty) @@ -2757,7 +2516,7 @@ Type Declaration BEGIN_CLASS_MEMBER(GuiBindableDataGrid) CLASS_MEMBER_BASE(GuiVirtualDataGrid) - CLASS_MEMBER_CONSTRUCTOR(GuiBindableDataGrid*(GuiBindableDataGrid::IStyleProvider*, const Value&), {L"styleProvider" _ L"viewModelContext"}) + CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE_INHERITANCE_2(GuiBindableDataGrid, const Value&, viewModelContext) CLASS_MEMBER_PROPERTY_READONLY_FAST(DataColumns) CLASS_MEMBER_PROPERTY_READONLY_FAST(Columns) @@ -2770,7 +2529,7 @@ Type Declaration END_CLASS_MEMBER(GuiBindableDataGrid) #undef INTERFACE_IDENTIFIER -#undef CONTROL_CONSTRUCTOR_CONTROLLER +#undef CONTROL_CONSTRUCTOR_CONTROLT_TEMPLATE #undef INTERFACE_EXTERNALCTOR #undef _ @@ -3339,11 +3098,17 @@ Type Declaration ENUM_CLASS_ITEM(Customizable) END_ENUM_ITEM(BoolOption) - BEGIN_CLASS_MEMBER(IComboBoxCommandExecutor) + BEGIN_INTERFACE_MEMBER_NOPROXY(ITextBoxCommandExecutor) + CLASS_MEMBER_BASE(IDescriptable) + + CLASS_MEMBER_METHOD(UnsafeSetText, { L"value" }) + END_INTERFACE_MEMBER(ITextBoxCommandExecutor) + + BEGIN_INTERFACE_MEMBER_NOPROXY(IComboBoxCommandExecutor) CLASS_MEMBER_BASE(IDescriptable) CLASS_MEMBER_METHOD(SelectItem, NO_PARAMETER) - END_CLASS_MEMBER(IComboBoxCommandExecutor) + END_INTERFACE_MEMBER(IComboBoxCommandExecutor) BEGIN_INTERFACE_MEMBER_NOPROXY(IScrollCommandExecutor) CLASS_MEMBER_METHOD(SmallDecrease, NO_PARAMETER) @@ -3360,6 +3125,18 @@ Type Declaration CLASS_MEMBER_METHOD(ShowTab, { L"index" }) END_INTERFACE_MEMBER(ITabCommandExecutor) + BEGIN_INTERFACE_MEMBER_NOPROXY(IDatePickerCommandExecutor) + CLASS_MEMBER_BASE(IDescriptable) + CLASS_MEMBER_METHOD(NotifyDateChanged, NO_PARAMETER) + CLASS_MEMBER_METHOD(NotifyDateNavigated, NO_PARAMETER) + CLASS_MEMBER_METHOD(NotifyDateSelected, NO_PARAMETER) + END_INTERFACE_MEMBER(IDatePickerCommandExecutor) + + BEGIN_INTERFACE_MEMBER_NOPROXY(IScrollViewCommandExecutor) + CLASS_MEMBER_BASE(IDescriptable) + CLASS_MEMBER_METHOD(CalculateView, NO_PARAMETER) + END_INTERFACE_MEMBER(IScrollViewCommandExecutor) + BEGIN_CLASS_MEMBER(GuiComponent) END_CLASS_MEMBER(GuiComponent) @@ -3385,339 +3162,66 @@ Type Declaration GuiTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION) END_CLASS_MEMBER(GuiTemplate) - BEGIN_CLASS_MEMBER(GuiControlTemplate) - CLASS_MEMBER_BASE(GuiTemplate) - CLASS_MEMBER_CONSTRUCTOR(GuiControlTemplate*(), NO_PARAMETER) +#define GUI_CONTROL_TEMPLATE(NAME, BASE)\ + BEGIN_CLASS_MEMBER(NAME)\ + CLASS_MEMBER_BASE(BASE)\ + CLASS_MEMBER_CONSTRUCTOR(NAME*(), NO_PARAMETER)\ + NAME ## _PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION)\ + CLASS_MEMBER_METHOD(Initialize, NO_PARAMETER)\ + END_CLASS_MEMBER(NAME)\ - GuiControlTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION) - END_CLASS_MEMBER(GuiControlTemplate) - - BEGIN_CLASS_MEMBER(GuiLabelTemplate) - CLASS_MEMBER_BASE(GuiControlTemplate) - CLASS_MEMBER_CONSTRUCTOR(GuiLabelTemplate*(), NO_PARAMETER) - - GuiLabelTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION) - END_CLASS_MEMBER(GuiLabelTemplate) - - BEGIN_CLASS_MEMBER(GuiSinglelineTextBoxTemplate) - CLASS_MEMBER_BASE(GuiControlTemplate) - CLASS_MEMBER_CONSTRUCTOR(GuiSinglelineTextBoxTemplate*(), NO_PARAMETER) - - GuiSinglelineTextBoxTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION) - END_CLASS_MEMBER(GuiSinglelineTextBoxTemplate) - - BEGIN_CLASS_MEMBER(GuiDocumentLabelTemplate) - CLASS_MEMBER_BASE(GuiControlTemplate) - CLASS_MEMBER_CONSTRUCTOR(GuiDocumentLabelTemplate*(), NO_PARAMETER) - - GuiDocumentLabelTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION) - END_CLASS_MEMBER(GuiDocumentLabelTemplate) - - BEGIN_CLASS_MEMBER(GuiMultilineTextBoxTemplate) - CLASS_MEMBER_BASE(GuiScrollViewTemplate) - CLASS_MEMBER_CONSTRUCTOR(GuiMultilineTextBoxTemplate*(), NO_PARAMETER) - - GuiMultilineTextBoxTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION) - END_CLASS_MEMBER(GuiMultilineTextBoxTemplate) - - BEGIN_CLASS_MEMBER(GuiDocumentViewerTemplate) - CLASS_MEMBER_BASE(GuiScrollViewTemplate) - CLASS_MEMBER_CONSTRUCTOR(GuiDocumentViewerTemplate*(), NO_PARAMETER) - - GuiDocumentViewerTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION) - END_CLASS_MEMBER(GuiDocumentViewerTemplate) - - BEGIN_CLASS_MEMBER(GuiMenuTemplate) - CLASS_MEMBER_BASE(GuiControlTemplate) - CLASS_MEMBER_CONSTRUCTOR(GuiMenuTemplate*(), NO_PARAMETER) - END_CLASS_MEMBER(GuiMenuTemplate) - - BEGIN_CLASS_MEMBER(GuiWindowTemplate) - CLASS_MEMBER_BASE(GuiControlTemplate) - CLASS_MEMBER_CONSTRUCTOR(GuiWindowTemplate*(), NO_PARAMETER) - - GuiWindowTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION) - END_CLASS_MEMBER(GuiWindowTemplate) - - BEGIN_CLASS_MEMBER(GuiButtonTemplate) - CLASS_MEMBER_BASE(GuiControlTemplate) - CLASS_MEMBER_CONSTRUCTOR(GuiButtonTemplate*(), NO_PARAMETER) - - GuiButtonTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION) - END_CLASS_MEMBER(GuiButtonTemplate) - - BEGIN_CLASS_MEMBER(GuiSelectableButtonTemplate) - CLASS_MEMBER_BASE(GuiButtonTemplate) - CLASS_MEMBER_CONSTRUCTOR(GuiSelectableButtonTemplate*(), NO_PARAMETER) - - GuiSelectableButtonTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION) - END_CLASS_MEMBER(GuiSelectableButtonTemplate) - - BEGIN_CLASS_MEMBER(GuiToolstripButtonTemplate) - CLASS_MEMBER_BASE(GuiSelectableButtonTemplate) - CLASS_MEMBER_CONSTRUCTOR(GuiToolstripButtonTemplate*(), NO_PARAMETER) - - GuiToolstripButtonTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION) - END_CLASS_MEMBER(GuiToolstripButtonTemplate) - - BEGIN_CLASS_MEMBER(GuiListViewColumnHeaderTemplate) - CLASS_MEMBER_BASE(GuiToolstripButtonTemplate) - CLASS_MEMBER_CONSTRUCTOR(GuiListViewColumnHeaderTemplate*(), NO_PARAMETER) - - GuiListViewColumnHeaderTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION) - END_CLASS_MEMBER(GuiListViewColumnHeaderTemplate) - - BEGIN_CLASS_MEMBER(GuiComboBoxTemplate) - CLASS_MEMBER_BASE(GuiToolstripButtonTemplate) - CLASS_MEMBER_CONSTRUCTOR(GuiComboBoxTemplate*(), NO_PARAMETER) - - GuiComboBoxTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION) - END_CLASS_MEMBER(GuiComboBoxTemplate) - - BEGIN_CLASS_MEMBER(GuiScrollTemplate) - CLASS_MEMBER_BASE(GuiControlTemplate) - CLASS_MEMBER_CONSTRUCTOR(GuiScrollTemplate*(), NO_PARAMETER) - - GuiScrollTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION) - END_CLASS_MEMBER(GuiScrollTemplate) + GUI_CONTROL_TEMPLATE(GuiControlTemplate, GuiTemplate) + GUI_CONTROL_TEMPLATE(GuiLabelTemplate, GuiControlTemplate) + GUI_CONTROL_TEMPLATE(GuiSinglelineTextBoxTemplate, GuiControlTemplate) + GUI_CONTROL_TEMPLATE(GuiDocumentLabelTemplate, GuiControlTemplate) + GUI_CONTROL_TEMPLATE(GuiMultilineTextBoxTemplate, GuiScrollViewTemplate) + GUI_CONTROL_TEMPLATE(GuiDocumentViewerTemplate, GuiScrollViewTemplate) + GUI_CONTROL_TEMPLATE(GuiMenuTemplate, GuiWindowTemplate) + GUI_CONTROL_TEMPLATE(GuiWindowTemplate, GuiControlTemplate) + GUI_CONTROL_TEMPLATE(GuiButtonTemplate, GuiControlTemplate) + GUI_CONTROL_TEMPLATE(GuiSelectableButtonTemplate, GuiButtonTemplate) + GUI_CONTROL_TEMPLATE(GuiToolstripButtonTemplate, GuiSelectableButtonTemplate) + GUI_CONTROL_TEMPLATE(GuiListViewColumnHeaderTemplate, GuiToolstripButtonTemplate) + GUI_CONTROL_TEMPLATE(GuiComboBoxTemplate, GuiToolstripButtonTemplate) + GUI_CONTROL_TEMPLATE(GuiScrollTemplate, GuiControlTemplate) BEGIN_CLASS_MEMBER(GuiScrollViewTemplate) CLASS_MEMBER_BASE(GuiControlTemplate) CLASS_MEMBER_CONSTRUCTOR(GuiScrollViewTemplate*(), NO_PARAMETER) GuiScrollViewTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION) + + CLASS_MEMBER_METHOD(AdjustView, {L"fullSize"}) + CLASS_MEMBER_PROPERTY_READONLY_FAST(HorizontalScroll) + CLASS_MEMBER_PROPERTY_READONLY_FAST(VerticalScroll) + CLASS_MEMBER_PROPERTY_FAST(HorizontalAlwaysVisible) + CLASS_MEMBER_PROPERTY_FAST(VerticalAlwaysVisible) END_CLASS_MEMBER(GuiScrollViewTemplate) - BEGIN_CLASS_MEMBER(GuiTextListTemplate) - CLASS_MEMBER_BASE(GuiScrollViewTemplate) - CLASS_MEMBER_CONSTRUCTOR(GuiTextListTemplate*(), NO_PARAMETER) - - GuiTextListTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION) - END_CLASS_MEMBER(GuiTextListTemplate) - - BEGIN_CLASS_MEMBER(GuiListViewTemplate) - CLASS_MEMBER_BASE(GuiScrollViewTemplate) - CLASS_MEMBER_CONSTRUCTOR(GuiListViewTemplate*(), NO_PARAMETER) - - GuiListViewTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION) - END_CLASS_MEMBER(GuiListViewTemplate) - - BEGIN_CLASS_MEMBER(GuiTreeViewTemplate) - CLASS_MEMBER_BASE(GuiScrollViewTemplate) - CLASS_MEMBER_CONSTRUCTOR(GuiTreeViewTemplate*(), NO_PARAMETER) - - GuiTreeViewTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION) - END_CLASS_MEMBER(GuiTreeViewTemplate) - - BEGIN_CLASS_MEMBER(GuiTabTemplate) - CLASS_MEMBER_BASE(GuiControlTemplate) - CLASS_MEMBER_CONSTRUCTOR(GuiTabTemplate*(), NO_PARAMETER) - - GuiTabTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION) - END_CLASS_MEMBER(GuiTabTemplate) + GUI_CONTROL_TEMPLATE(GuiListControlTemplate, GuiScrollViewTemplate) + GUI_CONTROL_TEMPLATE(GuiTextListTemplate, GuiListControlTemplate) + GUI_CONTROL_TEMPLATE(GuiListViewTemplate, GuiListControlTemplate) + GUI_CONTROL_TEMPLATE(GuiTreeViewTemplate, GuiListControlTemplate) + GUI_CONTROL_TEMPLATE(GuiTabTemplate, GuiControlTemplate) BEGIN_CLASS_MEMBER(GuiDatePickerTemplate) CLASS_MEMBER_BASE(GuiControlTemplate) CLASS_MEMBER_CONSTRUCTOR(GuiDatePickerTemplate*(), NO_PARAMETER) GuiDatePickerTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION) + CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(DateLocale) + CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(Date) END_CLASS_MEMBER(GuiDatePickerTemplate) - BEGIN_CLASS_MEMBER(GuiDateComboBoxTemplate) - CLASS_MEMBER_BASE(GuiComboBoxTemplate) - CLASS_MEMBER_CONSTRUCTOR(GuiDateComboBoxTemplate*(), NO_PARAMETER) - - GuiDateComboBoxTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION) - END_CLASS_MEMBER(GuiDateComboBoxTemplate) - - BEGIN_CLASS_MEMBER(GuiListItemTemplate) - CLASS_MEMBER_BASE(GuiTemplate) - CLASS_MEMBER_CONSTRUCTOR(GuiListItemTemplate*(), NO_PARAMETER) - - GuiListItemTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION) - END_CLASS_MEMBER(GuiListItemTemplate) - - BEGIN_CLASS_MEMBER(GuiTextListItemTemplate) - CLASS_MEMBER_BASE(GuiListItemTemplate) - CLASS_MEMBER_CONSTRUCTOR(GuiTextListItemTemplate*(), NO_PARAMETER) - - GuiTextListItemTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION) - END_CLASS_MEMBER(GuiTextListItemTemplate) - - BEGIN_CLASS_MEMBER(GuiTreeItemTemplate) - CLASS_MEMBER_BASE(GuiTextListItemTemplate) - CLASS_MEMBER_CONSTRUCTOR(GuiTreeItemTemplate*(), NO_PARAMETER) - - GuiTreeItemTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION) - END_CLASS_MEMBER(GuiTreeItemTemplate) - - BEGIN_CLASS_MEMBER(GuiGridCellTemplate) - CLASS_MEMBER_BASE(GuiControlTemplate) - CLASS_MEMBER_CONSTRUCTOR(GuiGridCellTemplate*(), NO_PARAMETER) - - GuiGridCellTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION) - END_CLASS_MEMBER(GuiGridCellTemplate) - - BEGIN_CLASS_MEMBER(GuiGridVisualizerTemplate) - CLASS_MEMBER_BASE(GuiGridCellTemplate) - CLASS_MEMBER_CONSTRUCTOR(GuiGridVisualizerTemplate*(), NO_PARAMETER) - - GuiGridVisualizerTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION) - END_CLASS_MEMBER(GuiGridVisualizerTemplate) - - BEGIN_CLASS_MEMBER(GuiGridEditorTemplate) - CLASS_MEMBER_BASE(GuiGridCellTemplate) - CLASS_MEMBER_CONSTRUCTOR(GuiGridEditorTemplate*(), NO_PARAMETER) - - GuiGridEditorTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION) - END_CLASS_MEMBER(GuiGridEditorTemplate) - - BEGIN_CLASS_MEMBER(GuiControlTemplate_StyleProvider) - CLASS_MEMBER_BASE(GuiControl::IStyleController) - CLASS_MEMBER_BASE(GuiControl::IStyleProvider) - - CLASS_MEMBER_CONSTRUCTOR(GuiControlTemplate_StyleProvider*(TemplateProperty), { L"factory" }) - END_CLASS_MEMBER(GuiControlTemplate_StyleProvider) - - BEGIN_CLASS_MEMBER(GuiLabelTemplate_StyleProvider) - CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider) - CLASS_MEMBER_BASE(GuiLabel::IStyleController) - - CLASS_MEMBER_CONSTRUCTOR(GuiLabelTemplate_StyleProvider*(TemplateProperty), { L"factory" }) - END_CLASS_MEMBER(GuiLabelTemplate_StyleProvider) - - BEGIN_CLASS_MEMBER(GuiSinglelineTextBoxTemplate_StyleProvider) - CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider) - CLASS_MEMBER_BASE(GuiSinglelineTextBox::IStyleProvider) - - CLASS_MEMBER_CONSTRUCTOR(GuiSinglelineTextBoxTemplate_StyleProvider*(TemplateProperty), { L"factory" }) - END_CLASS_MEMBER(GuiSinglelineTextBoxTemplate_StyleProvider) - - BEGIN_CLASS_MEMBER(GuiDocumentLabelTemplate_StyleProvider) - CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider) - CLASS_MEMBER_BASE(GuiDocumentLabel::IStyleController) - - CLASS_MEMBER_CONSTRUCTOR(GuiDocumentLabelTemplate_StyleProvider*(TemplateProperty), { L"factory" }) - END_CLASS_MEMBER(GuiDocumentLabelTemplate_StyleProvider) - - BEGIN_CLASS_MEMBER(GuiMultilineTextBoxTemplate_StyleProvider) - CLASS_MEMBER_BASE(GuiScrollViewTemplate_StyleProvider) - - CLASS_MEMBER_CONSTRUCTOR(GuiMultilineTextBoxTemplate_StyleProvider*(TemplateProperty), { L"factory" }) - END_CLASS_MEMBER(GuiMultilineTextBoxTemplate_StyleProvider) - - BEGIN_CLASS_MEMBER(GuiDocumentViewerTemplate_StyleProvider) - CLASS_MEMBER_BASE(GuiScrollViewTemplate_StyleProvider) - CLASS_MEMBER_BASE(GuiDocumentViewer::IStyleProvider) - - CLASS_MEMBER_CONSTRUCTOR(GuiDocumentViewerTemplate_StyleProvider*(TemplateProperty), { L"factory" }) - END_CLASS_MEMBER(GuiDocumentViewerTemplate_StyleProvider) - - BEGIN_CLASS_MEMBER(GuiMenuTemplate_StyleProvider) - CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider) - CLASS_MEMBER_BASE(GuiWindow::IStyleController) - - CLASS_MEMBER_CONSTRUCTOR(GuiMenuTemplate_StyleProvider*(TemplateProperty), { L"factory" }) - END_CLASS_MEMBER(GuiMenuTemplate_StyleProvider) - - BEGIN_CLASS_MEMBER(GuiWindowTemplate_StyleProvider) - CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider) - CLASS_MEMBER_BASE(GuiWindow::IStyleController) - - CLASS_MEMBER_CONSTRUCTOR(GuiWindowTemplate_StyleProvider*(TemplateProperty), { L"factory" }) - END_CLASS_MEMBER(GuiWindowTemplate_StyleProvider) - - BEGIN_CLASS_MEMBER(GuiButtonTemplate_StyleProvider) - CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider) - CLASS_MEMBER_BASE(GuiButton::IStyleController) - - CLASS_MEMBER_CONSTRUCTOR(GuiButtonTemplate_StyleProvider*(TemplateProperty), { L"factory" }) - END_CLASS_MEMBER(GuiButtonTemplate_StyleProvider) - - BEGIN_CLASS_MEMBER(GuiSelectableButtonTemplate_StyleProvider) - CLASS_MEMBER_BASE(GuiButtonTemplate_StyleProvider) - CLASS_MEMBER_BASE(GuiSelectableButton::IStyleController) - - CLASS_MEMBER_CONSTRUCTOR(GuiSelectableButtonTemplate_StyleProvider*(TemplateProperty), { L"factory" }) - END_CLASS_MEMBER(GuiSelectableButtonTemplate_StyleProvider) - - BEGIN_CLASS_MEMBER(GuiToolstripButtonTemplate_StyleProvider) - CLASS_MEMBER_BASE(GuiButtonTemplate_StyleProvider) - CLASS_MEMBER_BASE(GuiMenuButton::IStyleController) - - CLASS_MEMBER_CONSTRUCTOR(GuiToolstripButtonTemplate_StyleProvider*(TemplateProperty), { L"factory" }) - END_CLASS_MEMBER(GuiToolstripButtonTemplate_StyleProvider) - - BEGIN_CLASS_MEMBER(GuiListViewColumnHeaderTemplate_StyleProvider) - CLASS_MEMBER_BASE(GuiToolstripButtonTemplate_StyleProvider) - CLASS_MEMBER_BASE(GuiListViewColumnHeader::IStyleController) - - CLASS_MEMBER_CONSTRUCTOR(GuiListViewColumnHeaderTemplate_StyleProvider*(TemplateProperty), { L"factory" }) - END_CLASS_MEMBER(GuiListViewColumnHeaderTemplate_StyleProvider) - - BEGIN_CLASS_MEMBER(GuiComboBoxTemplate_StyleProvider) - CLASS_MEMBER_BASE(GuiToolstripButtonTemplate_StyleProvider) - CLASS_MEMBER_BASE(GuiComboBoxListControl::IStyleController) - - CLASS_MEMBER_CONSTRUCTOR(GuiComboBoxTemplate_StyleProvider*(TemplateProperty), { L"factory" }) - END_CLASS_MEMBER(GuiComboBoxTemplate_StyleProvider) - - BEGIN_CLASS_MEMBER(GuiDatePickerTemplate_StyleProvider) - CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider) - CLASS_MEMBER_BASE(GuiDatePicker::IStyleProvider) - - CLASS_MEMBER_CONSTRUCTOR(GuiDatePickerTemplate_StyleProvider*(TemplateProperty), { L"factory" }) - END_CLASS_MEMBER(GuiDatePickerTemplate_StyleProvider) - - BEGIN_CLASS_MEMBER(GuiDateComboBoxTemplate_StyleProvider) - CLASS_MEMBER_BASE(GuiComboBoxTemplate_StyleProvider) - - CLASS_MEMBER_CONSTRUCTOR(GuiDateComboBoxTemplate_StyleProvider*(TemplateProperty), { L"factory" }) - CLASS_MEMBER_METHOD(CreateArgument, NO_PARAMETER) - END_CLASS_MEMBER(GuiDateComboBoxTemplate_StyleProvider) - - BEGIN_CLASS_MEMBER(GuiScrollTemplate_StyleProvider) - CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider) - CLASS_MEMBER_BASE(GuiScroll::IStyleController) - - CLASS_MEMBER_CONSTRUCTOR(GuiScrollTemplate_StyleProvider*(TemplateProperty), { L"factory" }) - END_CLASS_MEMBER(GuiScrollTemplate_StyleProvider) - - BEGIN_CLASS_MEMBER(GuiScrollViewTemplate_StyleProvider) - CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider) - CLASS_MEMBER_BASE(GuiScrollView::IStyleProvider) - - CLASS_MEMBER_CONSTRUCTOR(GuiScrollViewTemplate_StyleProvider*(TemplateProperty), { L"factory" }) - END_CLASS_MEMBER(GuiScrollViewTemplate_StyleProvider) - - BEGIN_CLASS_MEMBER(GuiTextListTemplate_StyleProvider) - CLASS_MEMBER_BASE(GuiScrollViewTemplate_StyleProvider) - CLASS_MEMBER_BASE(GuiVirtualTextList::IStyleProvider) - - CLASS_MEMBER_CONSTRUCTOR(GuiTextListTemplate_StyleProvider*(TemplateProperty), { L"factory" }) - END_CLASS_MEMBER(GuiTextListTemplate_StyleProvider) - - BEGIN_CLASS_MEMBER(GuiListViewTemplate_StyleProvider) - CLASS_MEMBER_BASE(GuiScrollViewTemplate_StyleProvider) - CLASS_MEMBER_BASE(GuiListViewBase::IStyleProvider) - - CLASS_MEMBER_CONSTRUCTOR(GuiListViewTemplate_StyleProvider*(TemplateProperty), { L"factory" }) - END_CLASS_MEMBER(GuiListViewTemplate_StyleProvider) - - BEGIN_CLASS_MEMBER(GuiTreeViewTemplate_StyleProvider) - CLASS_MEMBER_BASE(GuiScrollViewTemplate_StyleProvider) - CLASS_MEMBER_BASE(GuiVirtualTreeView::IStyleProvider) - - CLASS_MEMBER_CONSTRUCTOR(GuiTreeViewTemplate_StyleProvider*(TemplateProperty), { L"factory" }) - END_CLASS_MEMBER(GuiTreeViewTemplate_StyleProvider) - - BEGIN_CLASS_MEMBER(GuiTabTemplate_StyleProvider) - CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider) - CLASS_MEMBER_BASE(GuiTab::IStyleController) - - CLASS_MEMBER_CONSTRUCTOR(GuiTabTemplate_StyleProvider*(TemplateProperty), { L"factory" }) - END_CLASS_MEMBER(GuiTabTemplate_StyleProvider) + GUI_CONTROL_TEMPLATE(GuiDateComboBoxTemplate, GuiComboBoxTemplate) + GUI_CONTROL_TEMPLATE(GuiListItemTemplate, GuiTemplate) + GUI_CONTROL_TEMPLATE(GuiTextListItemTemplate, GuiListItemTemplate) + GUI_CONTROL_TEMPLATE(GuiTreeItemTemplate, GuiTextListItemTemplate) + GUI_CONTROL_TEMPLATE(GuiGridCellTemplate, GuiControlTemplate) + GUI_CONTROL_TEMPLATE(GuiGridVisualizerTemplate, GuiGridCellTemplate) + GUI_CONTROL_TEMPLATE(GuiGridEditorTemplate, GuiGridCellTemplate) +#undef GUI_CONTROL_TEMPLATE #undef GUI_TEMPLATE_PROPERTY_REFLECTION #undef _ diff --git a/Import/GacUIReflection.h b/Import/GacUIReflection.h index b4ac7cf0..68518613 100644 --- a/Import/GacUIReflection.h +++ b/Import/GacUIReflection.h @@ -257,9 +257,12 @@ Type List (Templates) F(presentation::controls::ButtonState)\ F(presentation::controls::ColumnSortingState)\ F(presentation::templates::BoolOption)\ + F(presentation::controls::ITextBoxCommandExecutor)\ F(presentation::controls::IComboBoxCommandExecutor)\ F(presentation::controls::IScrollCommandExecutor)\ F(presentation::controls::ITabCommandExecutor)\ + F(presentation::controls::IDatePickerCommandExecutor)\ + F(presentation::controls::IScrollViewCommandExecutor)\ F(presentation::controls::GuiComponent)\ F(presentation::controls::GuiInstanceRootObject)\ F(presentation::templates::GuiTemplate)\ @@ -278,6 +281,7 @@ Type List (Templates) F(presentation::templates::GuiComboBoxTemplate)\ F(presentation::templates::GuiScrollTemplate)\ F(presentation::templates::GuiScrollViewTemplate)\ + F(presentation::templates::GuiListControlTemplate)\ F(presentation::templates::GuiTextListTemplate)\ F(presentation::templates::GuiListViewTemplate)\ F(presentation::templates::GuiTreeViewTemplate)\ @@ -290,27 +294,6 @@ Type List (Templates) F(presentation::templates::GuiGridCellTemplate)\ F(presentation::templates::GuiGridVisualizerTemplate)\ F(presentation::templates::GuiGridEditorTemplate)\ - F(presentation::templates::GuiControlTemplate_StyleProvider)\ - F(presentation::templates::GuiLabelTemplate_StyleProvider)\ - F(presentation::templates::GuiSinglelineTextBoxTemplate_StyleProvider)\ - F(presentation::templates::GuiDocumentLabelTemplate_StyleProvider)\ - F(presentation::templates::GuiMultilineTextBoxTemplate_StyleProvider)\ - F(presentation::templates::GuiDocumentViewerTemplate_StyleProvider)\ - F(presentation::templates::GuiMenuTemplate_StyleProvider)\ - F(presentation::templates::GuiWindowTemplate_StyleProvider)\ - F(presentation::templates::GuiButtonTemplate_StyleProvider)\ - F(presentation::templates::GuiSelectableButtonTemplate_StyleProvider)\ - F(presentation::templates::GuiToolstripButtonTemplate_StyleProvider)\ - F(presentation::templates::GuiListViewColumnHeaderTemplate_StyleProvider)\ - F(presentation::templates::GuiComboBoxTemplate_StyleProvider)\ - F(presentation::templates::GuiDatePickerTemplate_StyleProvider)\ - F(presentation::templates::GuiDateComboBoxTemplate_StyleProvider)\ - F(presentation::templates::GuiScrollTemplate_StyleProvider)\ - F(presentation::templates::GuiScrollViewTemplate_StyleProvider)\ - F(presentation::templates::GuiTextListTemplate_StyleProvider)\ - F(presentation::templates::GuiListViewTemplate_StyleProvider)\ - F(presentation::templates::GuiTreeViewTemplate_StyleProvider)\ - F(presentation::templates::GuiTabTemplate_StyleProvider)\ /*********************************************************************** Type List (Controls) @@ -318,6 +301,7 @@ Type List (Controls) #define GUIREFLECTIONCONTROLS_TYPELIST(F)\ F(presentation::controls::GuiApplication)\ + F(presentation::theme::ThemeName)\ F(presentation::theme::ITheme)\ F(presentation::theme::ThemeTemplates)\ F(presentation::controls::GuiDialogBase)\ @@ -328,32 +312,22 @@ Type List (Controls) F(presentation::controls::GuiOpenFileDialog)\ F(presentation::controls::GuiSaveFileDialog)\ F(presentation::controls::GuiControl)\ - F(presentation::controls::GuiControl::IStyleController)\ - F(presentation::controls::GuiControl::IStyleProvider)\ F(presentation::controls::GuiCustomControl)\ F(presentation::controls::GuiLabel)\ - F(presentation::controls::GuiLabel::IStyleController)\ F(presentation::controls::GuiButton)\ - F(presentation::controls::GuiButton::IStyleController)\ F(presentation::controls::GuiSelectableButton)\ - F(presentation::controls::GuiSelectableButton::IStyleController)\ F(presentation::controls::GuiSelectableButton::GroupController)\ F(presentation::controls::GuiSelectableButton::MutexGroupController)\ F(presentation::controls::GuiScroll)\ - F(presentation::controls::GuiScroll::IStyleController)\ F(presentation::controls::GuiTabPage)\ F(presentation::controls::GuiTab)\ - F(presentation::controls::GuiTab::IStyleController)\ F(presentation::controls::GuiScrollView)\ - F(presentation::controls::GuiScrollView::IStyleProvider)\ F(presentation::controls::GuiScrollContainer)\ F(presentation::controls::GuiControlHost)\ F(presentation::controls::GuiWindow)\ - F(presentation::controls::GuiWindow::IStyleController)\ F(presentation::controls::GuiPopup)\ F(presentation::controls::GuiTooltip)\ F(presentation::controls::GuiListControl)\ - F(presentation::controls::GuiListControl::IStyleProvider)\ F(presentation::controls::GuiListControl::IItemProviderCallback)\ F(presentation::controls::GuiListControl::IItemArrangerCallback)\ F(presentation::controls::GuiListControl::IItemProvider)\ @@ -368,12 +342,9 @@ Type List (Controls) F(presentation::controls::list::TextItem)\ F(presentation::controls::TextListView)\ F(presentation::controls::GuiVirtualTextList)\ - F(presentation::controls::GuiVirtualTextList::IStyleProvider)\ F(presentation::controls::GuiTextList)\ F(presentation::controls::GuiListViewColumnHeader)\ - F(presentation::controls::GuiListViewColumnHeader::IStyleController)\ F(presentation::controls::GuiListViewBase)\ - F(presentation::controls::GuiListViewBase::IStyleProvider)\ F(presentation::controls::list::IListViewItemView)\ F(presentation::controls::list::ListViewColumnItemArranger)\ F(presentation::controls::list::ListViewColumnItemArranger::IColumnItemViewCallback)\ @@ -388,7 +359,6 @@ Type List (Controls) F(presentation::controls::GuiMenu)\ F(presentation::controls::GuiMenuBar)\ F(presentation::controls::GuiMenuButton)\ - F(presentation::controls::GuiMenuButton::IStyleController)\ F(presentation::controls::tree::INodeProviderCallback)\ F(presentation::controls::tree::INodeProvider)\ F(presentation::controls::tree::INodeRootProvider)\ @@ -401,12 +371,9 @@ Type List (Controls) F(presentation::controls::tree::TreeViewItem)\ F(presentation::controls::tree::TreeViewItemRootProvider)\ F(presentation::controls::GuiVirtualTreeView)\ - F(presentation::controls::GuiVirtualTreeView::IStyleProvider)\ F(presentation::controls::GuiTreeView)\ F(presentation::controls::GuiComboBoxBase)\ - F(presentation::controls::GuiComboBoxBase::IStyleController)\ F(presentation::controls::GuiComboBoxListControl)\ - F(presentation::controls::GuiComboBoxListControl::IStyleController)\ F(presentation::controls::GuiToolstripCommand)\ F(presentation::controls::GuiToolstripMenu)\ F(presentation::controls::GuiToolstripMenuBar)\ @@ -416,13 +383,10 @@ Type List (Controls) F(presentation::controls::GuiDocumentCommonInterface)\ F(presentation::controls::GuiDocumentCommonInterface::EditMode)\ F(presentation::controls::GuiDocumentViewer)\ - F(presentation::controls::GuiDocumentViewer::IStyleProvider)\ F(presentation::controls::GuiDocumentLabel)\ - F(presentation::controls::GuiDocumentLabel::IStyleController)\ F(presentation::controls::GuiTextBoxCommonInterface)\ F(presentation::controls::GuiMultilineTextBox)\ F(presentation::controls::GuiSinglelineTextBox)\ - F(presentation::controls::GuiSinglelineTextBox::IStyleProvider)\ F(presentation::controls::list::IDataGridContext)\ F(presentation::controls::list::IDataVisualizerFactory)\ F(presentation::controls::list::IDataVisualizer)\ @@ -439,7 +403,6 @@ Type List (Controls) F(presentation::controls::list::HyperlinkVisualizerTemplate)\ F(presentation::controls::list::CellBorderVisualizerTemplate)\ F(presentation::controls::GuiDatePicker)\ - F(presentation::controls::GuiDatePicker::IStyleProvider)\ F(presentation::controls::GuiDateComboBox)\ F(presentation::controls::GuiBindableTextList)\ F(presentation::controls::GuiBindableListView)\ @@ -1050,9 +1013,9 @@ Interface Proxy (Controls) INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetItemProvider); } - presentation::controls::GuiListViewBase::IStyleProvider* GetListViewStyleProvider()override + presentation::templates::GuiListViewTemplate* GetListViewControlTemplate()override { - INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetListViewStyleProvider); + INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetListViewControlTemplate); } presentation::description::Value GetViewModelContext()override diff --git a/Import/Import.bat b/Import/Import.bat deleted file mode 100644 index 66e1396b..00000000 --- a/Import/Import.bat +++ /dev/null @@ -1,11 +0,0 @@ -pushd %~dp0 -mkdir Skins -mkdir Skins\DarkSkin -copy ..\..\Vlpp\Release\*.h . -copy ..\..\Vlpp\Release\*.cpp . -copy ..\..\Workflow\Release\*.h . -copy ..\..\Workflow\Release\*.cpp . -copy ..\..\GacUI\Release\Gac*.h . -copy ..\..\GacUI\Release\Gac*.cpp . -copy ..\..\GacUI\Release\DarkSkin* .\Skins\DarkSkin\ -popd \ No newline at end of file diff --git a/Import/Vlpp.cpp b/Import/Vlpp.cpp index ca71a446..b540c2c6 100644 --- a/Import/Vlpp.cpp +++ b/Import/Vlpp.cpp @@ -13266,15 +13266,15 @@ L"\r\n" L"\t;" SerializedTable ***********************************************************************/ -const vint parserBufferLength = 3779; // 17748 bytes before compressing +const vint parserBufferLength = 3792; // 17748 bytes before compressing const vint parserBufferBlock = 1024; -const vint parserBufferRemain = 707; +const vint parserBufferRemain = 720; const vint parserBufferRows = 4; const char* parserBuffer[] = { -"\x00\x0B\x00\x02\x83\x80\x07\x7D\x00\x82\x03\xFF\x45\x08\x82\x83\x86\x81\x21\x6F\x6C\x2F\x32\x37\x84\x86\x02\x86\x00\x17\x82\x93\x24\x3A\x39\x34\x37\x67\x06\x98\x8A\x88\x8E\x84\x00\x88\x12\x94\x98\x87\x0B\x93\x81\x20\x3A\x74\x4E\x21\x2D\x35\x32\x90\x86\x92\x0C\xA6\xA8\x93\x85\x88\x84\x96\x86\x3F\x80\x0B\x25\x39\x3F\x3B\x88\x32\x36\x88\xB8\x88\x8A\x99\x88\x9F\x96\x40\x83\x83\xA5\xA7\xA1\xA4\x83\xA5\x04\xCD\xA9\x9D\x94\x81\xA1\xAE\xA9\x44\xC6\xB2\x28\xAC\xA9\x86\x93\xAC\x03\xBB\xAA\x8C\x88\x00\x8D\xB6\x81\x42\x6F\x35\x2E\x34\x31\x32\x39\x3C\x56\xE6\xA5\x89\xBE\xA3\xB4\x85\xB7\x7F\x83\xB1\xB3\xB5\xBF\xB9\xBC\x81\x58\x83\x9A\xAF\xAC\xB6\xB6\xC0\xB9\x74\xF6\xB8\xA5\xB8\xC7\xB2\xC4\xBE\x5B\x8E\xCD\xD0\xB0\xCD\xC3\xC9\x91\x96\x8D\x98\xCC\xC8\x82\x8D\xD3\x81\x4E\x75\x2D\x22\x35\x32\x3B\xC3\x82\x0C\x18\xB1\xCF\x8F\x36\x34\x3B\x32\x78\x74\x2A\xB8\x80\x06\xAF\xCB\x9C\x2E\xF2\x32\x21\x38\xBF\x7E\xE3\xE3\xFF\x3E\xC2\x81\xAC\x21\x37\xDB\xE1\x6C\x48\xC8\xE4\x08\x8C\xEA\x80\x27\x6F\x64\x35\x92\xE6\xE6\xD0\x82\xD3\xA9\xAB\xED\xDC\xED\xE8\x8E\xD3\x27\x62\x6A\x25\x23\x34\x3C\xF3\x7F\x80\x0C\xF0\xC0\x08\xFA\xF4\xF6\x23\x34\x65\x6C\x08\xA4\xFE\xEB\x82\xD2\x8E\x1E\x60\x4E\x7A\x72\x00\x21\x65\x81\x70\xC3\x79\x16\x82\x49\xCE\x65\x1D\x1B\x1C\x03\x90\x50\x01\x73\xCF\x61\x1C\x1B\x82\x03\x76\x16\x85\x1D\xDB\x5C\x7D\x7E\x40\xE0\x6A\x6C\x6A\x1C\x04\x81\x53\x19\x6D\xB7\x76\x6E\x7B\x87\x19\x43\x44\x7F\x7A\x74\x2C\x86\x6A\x19\xF8\x7A\x70\x84\x79\xF2\x44\x42\x7F\x8B\xF6\x75\x84\x1A\x75\x08\x40\x9E\x1B\x4C\x65\x14\x60\x40\x46\x3B\xA9\x70\x8F\x7D\xF9\x64\x18\x86\x40\x1A\xAC\x1C\x87\x8A\xE6\x43\x40\x83\x47\x67\x25\x83\x43\x89\xB6\x65\x16\x6C\x6F\x0F\x18\x44\x08\x46\x61\xBC\x66\x9A\x52\xEE\x64\x77\x9B\x4D\x69\x9C\x7B\x98\x9A\x6D\x88\x7F\x9B\x55\x71\x88\x79\x00\x46\x77\x82\x44\x16\x14\x55\x05\x16\x15\x10\x4C\x3D\x90\x90\x41\x40\x9D\x4C\x84\x6F\x02\x18\x4A\x02\xA2\x03\x46\x10\xA3\x14\x7E\x80\xAD\x9F\x93\x00\x26\x16\x87\x1C\x45\x98\x43\x00\x9E\x9C\x97\x75\x14\x13\x4C\x3F\x91\xA1\x11\x83\x83\x42\x91\x1D\x6C\x2C\x19\xA0\x43\xA5\x8B\x72\x87\x13\x42\x0A\x1F\x10\x14\x45\x0E\x1B\xA8\x42\xB7\x9C\x1B\x1F\xA6\xC0\x5B\x61\x62\x40\xB0\x8A\x13\x10\x13\x4F\x10\xA7\xAC\x41\xB9\xBD\x1D\xA9\x8B\x51\x4D\xB0\x01\x10\x52\x12\x13\xAD\xAD\xC7\x83\x49\xAF\x16\x06\x84\x80\x60\x41\x80\x50\xB2\x17\xB0\xC5\x85\x15\xB6\x40\xB9\x9D\x1C\x8B\xB6\xBF\x4C\x59\x5B\x13\x4D\x0D\x11\x12\x91\x3D\x6C\x04\x82\x7B\x94\x83\x1F\x10\xB1\x4E\x30\xB3\x42\x0E\xE8\x88\x6C\x7D\x95\x9E\x8D\x12\x11\x11\x52\x1F\x08\x46\xC1\x02\x5B\x1C\x15\x0B\x5D\x3F\x0C\x14\x19\x2B\x28\x0E\x0B\xC3\x2B\x29\x0F\x0C\x0A\x5B\x25\x15\x11\x17\x5B\x2B\x0B\xC1\xC3\x14\xD6\xC9\x9C\x42\x23\xDF\x70\xC0\x00\x53\x3B\x99\x12\x13\x47\x1B\x08\x46\xCB\x02\x62\x08\xC6\x17\x5C\x1C\x12\x09\x17\x7C\x35\xCB\x16\x17\x75\x38\xC5\xCD\x1D\x0F\xFB\x14\x0D\x1F\x29\x2A\x02\x0B\xA2\x0C\x48\xD8\x42\x91\x94\x93\x10\x15\x10\x43\x05\x1C\xAC\x42\x53\xDC\x13\x1F\x0A\x39\x89\x44\x7B\x98\x16\x67\xCA\x10\x93\xFA\x50\x08\x46\xD8\x02\x5F\xDE\x8E\x0B\x52\x2F\x1F\x18\x1D\x1C\x76\x54\x1D\xD6\x02\x72\x70\x10\x08\x24\x3C\x06\xD9\x93\x3E\x32\x83\x43\xDD\xFA\x73\x68\x42\xDF\x7C\xE4\x1E\x09\xDB\x72\x34\x1A\xD0\x41\x4A\xF3\xD6\xDC\xD8\x64\x39\xDE\xD4\xE3\xFD\x80\x00\x61\xE0\x2E\x31\x0A\x0C\x46\x97\xC2\x4B\xE2\x8F\x3E\x3A\x00\x09\xCA\x52\x2B\xC7\x10\x08\x9E\xC3\x94\x4F\xDC\x22\x3A\x02\x08\x08\x4A\x16\x1B\x85\x19\xA4\xE0\x01\x94\x87\x20\x21\x13\x1C\x08\x3C\xB4\x1C\xE2\xDE\x65\xD0\xEA\x64\x00\x94\xF2\x09\xE4\x42\xC3\xDB\xE8\xDE\xE7\xA0\xE2\xE1\xEE\xE9\xB0\xE9\xE2\x0B\xDC\xAD\xEF\xE1\xEF\xEC\xB0\xF6\xE8\xEE\x92\x3D\x8D\x91\xE7\xE4\x14\xAD\x66\x87\xE1\x03\x4A\xDA\x11\xF7\xD0\x55\xEA\x3C\x46\xE7\xDA\xE3\xF9\x83\xD0\x5D\xE0\x0A\x08\x6E\x28\xAC\x1B\xEA\xD6\xE4\xF6\x87\xDC\x77\x0E\x78\x18\x08\x7B\x32\xE2\xF5\x0F\xEF\x69\x35\xAA\x2B\x7D\x0F\x06\x0A\x06\x6E\xF6\x6C\x0E\xFB\x22\x06\x52\x36\x18\x54\x7E\xB7\x69\x80\xFE\x7A\x7C\x7E\xFF\x52\x48\x76\x00\x82\x06\x11\x17\x55\x0C\x02\x86\x80\x81\xEC\x76\x42\xFB\x4E\x05\x0A\x81\x44\x61\x76\x5C\x49\x44\x1D\x35\x77\x77\xF0\x23\x40\x08\x1F\x8B\x7D\x85\x0A\x88\x78\x95\x6C\x60\x85\x28\x5E\x4B\x0A\xD6\x77\x4A\x90\x30\x87\x80\x32\x9E\x78\x0D\xEF\x76\x51", -"\x0E\xAC\x80\x04\x12\x80\x05\xFE\x74\x0B\x7F\xFE\x54\x78\x04\x19\x94\x0A\x1C\x1C\x44\x80\x2D\x65\x69\x77\x25\x63\x23\xC8\x32\x58\x7A\x3A\x15\x71\x09\x18\x20\x8E\xFA\x39\x7B\x81\x3D\x0F\x78\x04\x5B\x0C\x74\xE3\x31\x74\x47\x26\x77\x75\x7F\x22\x0C\x07\xEA\x01\x7C\x8C\x1F\x77\x75\x0F\x20\x1D\x0B\xFB\x7D\x00\x83\xEB\x75\x39\x46\x5E\x61\x0A\x70\x44\x3B\x7B\xBD\x42\x91\x41\x95\x65\x08\x46\x0A\x9A\x7D\x43\x84\x3B\x81\x5B\x07\x8D\x1A\xD1\x77\x83\xD8\x4D\x47\x41\x15\x91\x8F\x1C\xAE\x75\x92\xCF\x57\x97\x8E\x79\x8F\x7D\x17\x7D\x8E\x91\x3C\x05\x95\x6C\x09\x84\x6C\x42\x2A\x91\x89\xF2\x69\x6B\x6D\x45\x14\x2D\x03\x18\x23\x96\x81\x35\x6D\x95\x22\x80\x04\x10\x3C\x70\x78\x4E\x9C\x47\x94\xBD\x8F\x75\xE5\x3D\x08\x22\x62\xAA\x7E\x97\x65\x0E\x7D\x08\x4A\x05\x95\x1F\xB6\x68\x99\xCA\x98\x94\x1B\x4E\x94\x92\x0E\x51\x99\x77\x40\x16\x88\xF0\x58\x8D\x53\x6D\x9D\x8E\x05\x32\x02\x8C\x42\x62\x96\x6E\x32\x9E\x72\x04\x66\x88\x8E\x1A\xBE\x45\x8E\x37\x99\x92\x8E\xEB\x8D\x49\x3B\xB6\x40\x04\x3C\xBA\x8A\x04\x7C\x87\x88\x36\xBC\x9C\x99\x41\xA6\x97\x77\xFD\x88\x93\x0C\x0C\x98\x20\x82\xB6\x6D\x94\x90\x8B\x77\x24\xC8\x96\x93\xDB\x18\x90\x8E\xF0\x95\x98\xEC\x1E\x9E\xA0\x50\xB7\x9B\x94\x47\x8D\x98\x3F\xBE\x7E\x56\xCA\x73\x03\x78\x04\x25\x79\xE0\x6E\x79\x79\x1B\xA5\x74\x48\xEF\x6A\x74\xEB\x0C\xAE\x73\x27\x96\x79\x77\x8C\x7B\x95\x20\xFE\x90\x99\x80\x84\x38\x9C\x8C\x18\x21\x4E\x8D\x9E\x9F\x84\xAA\x9A\xA2\x0D\xAE\x43\x1C\x73\x60\xA3\x4D\x92\x7C\xA2\x42\xB5\x9D\x28\xB7\x64\x94\x7F\xB1\x80\xA1\xE7\x91\x93\x4F\xAC\xA0\x05\x4F\xBA\x95\xA8\x2B\xA7\xA9\x55\x95\xAA\xA9\x8B\x8D\xA9\x41\xFC\x88\x9A\x03\x18\x23\xAD\xB2\x48\x98\x6D\x6A\x74\x0D\x2C\xE4\x00\x6F\x23\x76\x97\x99\xAF\x7E\x06\x2E\xDA\x9C\x8B\x3F\xA5\x48\x21\x77\xB5\xAC\x8C\x68\xA0\x96\xBA\x3E\x6C\x20\x7E\x77\x94\x19\xBA\x94\x52\x25\x2F\x94\x0E\x74\xA7\xB1\xE5\x25\x08\x22\xC6\xAA\x7F\xB0\xD7\x9D\x88\x35\x90\xBE\x73\x65\x9A\xA3\xA6\x09\x45\xAC\x42\x1A\xB6\xA7\x3C\x3C\xAA\xAD\x74\x2D\xAE\x7C\x37\x98\xA0\x5D\x9B\xA6\x47\x9A\xA4\x20\x67\x8C\x7F\xB3\xB5\xA2\xB3\x20\xB7\x8C\x72\x5C\xD9\x92\x42\xBD\xAC\x39\x8B\x02\x3B\x89\xEE\x2E\x05\x06\x4A\x18\x26\xB7\x63\x9D\x89\x19\x8A\xA1\x9E\xFD\x33\x9C\x0C\xB7\x60\x08\x56\xF4\x8E\x73\x36\xB4\x9E\x9E\x7B\x9D\x8D\xEE\x31\x86\x9D\xF7\x69\x9B\x92\x6B\x8D\xBA\x1D\xC4\xAF\x7D\x88\x99\xB8\x04\xCE\xA8\xB9\x57\xD1\xBA\x9F\x2E\xBC\x9D\x94\x35\xA5\x96\x0B\x34\x04\xA0\x82\x06\xA5\xB3\x3E\xAB\xA2\x56\xD6\xA5\xA8\xE8\x54\xAE\xAA\xD0\xAC\xA9\x46\xFE\x95\xB1\xC3\xB5\x90\x21\xFF\xA6\xB1\x5A\xAD\xB4\x2E\xF0\x42\x22\x69\xB7\x90\xB3\x5C\xB5\xBC\x9A\x86\x3A\xB7\x9B\x33\x02\x9C\x41\x64\x96\xB6\x3A\x03\xBF\xA7\xDF\xA1\xBF\x1B\xDD\xB7\x8C\xE6\xA0\xBE\x8E\xE3\xB8\x9E\x74\xDD\x84\xAF\xDC\x51\x00\x23\x27\xD7\x8B\x37\x87\xB4\x70\x3A\x3F\xAB\x20\x7E\x73\x6E\x60\xC2\xB5\xC5\x2E\xBF\xBC\x20\x01\xDB\xB5\x8B\xAF\xB2\x20\xC5\x55\xC6\x07\x35\xA9\x82\x04\x18\x23\xC8\x54\xA1\x84\x0D\x9F\xAD\xC7\x8D\x83\x2F\xBE\x19\xE0\x83\x86\x40\xC0\xA1\x02\xA9\xB3\x20\xCE\x89\x83\x70\x74\x0E\x6F\x8B\x82\x21\xC6\x10\x0F\xCA\x88\x8E\x7D\x69\xD9\x25\x9A\x94\x82\x2C\x92\xBD\x2C\xD9\xC9\xE1\x3C\xC0\x00\x27\xF0\xBF\xBC\xFE\x9B\xC8\x00\x00\x7A\xBD\x16\xC6\xC0\x00\x89\x7E\xCB\x9B\xDE\x68\x99\x32\xC3\x24\x95\x67\xA9\xCE\xDB\x6C\xCE\xCC\x68\xA1\xAF\x75\x72\xC0\x73\x59\xF6\xCC\x51\x1E\xFA\xC8\x9A\xFD\xA9\xAF\x5D\x84\x29\xAE\xC5\x82\xD5\x70\x77\xD9\xCD\x82\xE9\xAE\x07\x48\xEB\x6C\xCD\x02\xCB\x6C\x96\xEE\x68\xB6\x00\x23\x66\xC7\x90\xA7\xB6\xF6\x00\xAC\xB4\x1A\x20\xA3\x5F\x03\x26\x7A\x7E\x24\xA6\x87\xD1\x67\xA4\x26\x29\xA6\xA9\x27\x96\x84\x77\x97\x9D\x89\xA6\x35\xDF\x8D\xA9\x8F\xCF\x8F\xF5\x92\xC3\x20\x14\xD5\xB8\x3A\xC4\xBE\xC2\x0D\xEF\x9B\x8E\x19\xC0\xC5\x7E\xF9\x9E\xD7\x3F\x80\x09\xC8\x47\xD9\xD3\xDE\x57\xC2\x07\xF4\x48\x26\xDB\x5F\xCD\x7F\x39\x8D\x8F\x81\x23\x89\x82\x89\x14\x8E\x8B\xFF\x6F\x7B\x82\x07\x86\x8D\x0F\xD4\x89\x83\x02\xF1\x73\x80\x73\xC7\xC8\xDD\x4C\x95\x83\x13\x99\x82\x81\xF9\x75\x99\xDE\x47\xC3\x85\x09\x83\x62\x0A\x1C\x9D\x4E\x36\x47\x8E\x85\x6B\x00\xE0\xCB\x1A\xA1\x76\xA4\x20\x09\x86\x0E\xC7\x8D\x87\x33\x0C\xE0\xCC\xE7\x85\x89\x1F\xE7\xDB\x89\x26\xBC\xD0\x83\xEF\x72\x88\x15\xFF\xD0\xCF\x04\x69\xBE\x9F\xBC\xAD\xBF\x40\x6F\xB0\xAB\xF7", -"\x52\xAA\xBE\xBB\xD4\xBC\x87\xD9\xA1\xE6\xAE\xB9\xB8\xA3\xD6\x77\xB2\x98\xA7\x3D\x76\x1F\x6C\xC8\xA6\x3E\x53\x4E\xD6\x5C\x31\xD8\x18\x7C\x91\x77\xBC\x36\x03\x48\x64\x38\xDB\x19\x8B\x58\x48\xD8\x3A\x38\x6F\x18\x0B\xE8\x0F\x58\xB4\x38\x94\x45\x94\x6F\x1A\x05\xEA\xE9\x07\xD7\x82\x4F\xE8\x35\x76\x65\x0C\x36\x0E\x1D\xE8\x39\x9E\xD4\x0D\xD8\xD7\x33\xEC\xDE\x1E\x07\xEC\xC7\x3C\x03\xB8\x2F\x3F\x1E\xDE\x06\x4A\xE8\x78\xF9\xEF\x48\x46\x4F\x1E\x2A\xE4\x5A\xEF\x0C\x3A\x5E\xD0\xEB\xE0\x00\xE6\x7C\x32\xD5\xFA\x2F\x4C\xDD\xF2\xC3\x6A\xC0\xF9\xEC\xEE\x84\xEE\xF0\x00\x4B\x56\x41\xC6\xCE\xF0\xF1\x4E\x58\x21\x07\x12\xFE\x3E\x3E\xEF\x73\x59\xBC\x34\x50\xF5\x04\xF2\xE5\x32\x0D\xEA\x88\x79\xFA\x99\x02\xBC\x37\xF4\xE8\x34\xEE\x40\xA0\xF8\xEC\xE5\x9A\x5C\xF2\x10\x4F\x76\x47\x06\x5B\xF1\xED\xDF\xEC\x43\xD8\xFD\x52\x5D\x50\x4F\x74\xA5\x6D\xD8\x53\xD6\xD6\x41\xF5\x12\x4B\xF7\xEF\x5C\x5B\xDB\x23\xF4\xEC\x45\xBE\xF3\x4F\xEC\x8C\x26\xF2\xC0\xD8\xF1\xF7\xB5\xEC\x58\xCF\xC1\x90\xEC\xBC\xE2\xF7\xF3\xD5\x28\x36\xFC\x46\xFC\x0C\xE4\xCE\x5A\xF9\xBE\x4C\xFA\x91\xB3\x84\xEE\x02\x46\x41\xEF\xE3\x47\x40\xF5\xD9\xF7\xFA\xCD\xF4\xFE\xF3\x17\x85\x20\xDF\xA5\xDC\x44\xF8\xFB\x2B\xFE\xBB\x77\x7B\x4D\x28\x7D\x01\x8B\x73\x12\x59\x10\x7C\x7B\x64\x02\x11\x7D\x6F\x23\x7D\x54\x37\x7F\x06\x8C\x38\x04\x8C\x79\xBC\x79\x29\x42\x7A\x4D\x12\x7F\x25\xCB\x73\x10\xDC\x37\x64\x79\x7C\x4B\x0A\x72\x07\xAC\x72\x65\xCE\x7C\x77\x7E\x73\x79\xD9\x7E\x80\x04\x15\x7D\x7A\x75\x7F\x0C\x1A\x7B\x14\x88\x7F\x1C\x27\x77\x12\x2F\x15\x02\x19\x81\x74\x03\x82\x1D\x58\x7E\x73\x2C\x4B\x15\x7A\x83\xBF\x20\x3C\xAB\x74\x77\x46\x24\x20\xD9\x7A\x7F\x23\x11\x7F\x91\x36\x77\xF6\x7C\x10\xF1\x7C\x22\x30\x82\x79\xE4\x7C\x82\x47\x85\x81\x92\x74\x77\x91\x35\x6A\x47\x8A\x14\x26\x88\x11\xF1\x7E\x7F\xBF\x78\x16\xB5\x75\x74\xEC\x14\x83\xAC\x21\x7E\x02\x16\x78\x27\x36\x32\x3D\x7D\x24\x57\x1C\x77\x91\x7E\x78\x2A\x8D\x79\x05\x8B\x7D\x9D\x53\x81\x92\x75\x81\x0C\x89\x2E\x62\x80\x00\xA3\x78\x86\x00\x05\x7A\xE4\x76\x7E\x3E\x13\x10\x3C\x8A\x7E\x41\x82\x4D\xAF\x70\x88\x92\x73\x87\xB6\x75\x87\x6C\x80\x3C\xA5\x48\x87\x97\x72\x83\x65\x0B\x87\xA2\x1F\x7B\xD4\x33\x7C\x1C\x43\x88\x78\x7A\x7A\x1E\x8B\x81\x02\x1D\x81\xEC\x7C\x77\xD0\x79\x82\xFF\x7B\x7D\x79\x87\x75\x0A\x2D\x84\x31\x86\x80\xC8\x48\x89\xF2\x70\x7C\x7E\x80\x7E\x67\x87\x1D\xE3\x74\x82\x33\x44\x88\x36\x83\x21\xA1\x89\x7E\x1C\x8D\x7C\xA5\x83\x12\xEE\x79\x7D\xF1\x76\x20\xFD\x78\x77\x25\x78\x75\xAE\x8B\x8A\xB0\x8F\x3A\x48\x87\x13\xFC\x76\x8C\xA9\x81\x89\xCE\x86\x87\x93\x8D\x8C\x95\x8F\x8C\x17\x44\x77\xDA\x6B\x85\x7B\x73\x12\x0A\x88\x82\xB5\x7E\x88\xDA\x77\x8D\x91\x87\x87\xDA\x86\x7D\x96\x86\x86\x85\x8E\x2C\x38\x80\x84\x88\x82\x4D\x1F\x87\x32\x21\x82\x8F\xC1\x8B\x7E\x42\x44\x77\x27\x82\x8B\xBC\x16\x8E\xC9\x82\x74\xCB\x8D\x8A\x2F\x80\x81\x76\x88\x4C\xEE\x8D\x8B\xBD\x81\x8F\xA2\x82\x39\xC2\x88\x7A\xCA\x87\x32\x3F\x8D\x90\xA4\x80\x91\x42\x74\x84\xB4\x40\x8E\x4A\x1C\x82\xFF\x01\x7F\x72\x6C\x84\x0C\x13\x01\x5E\x8B\x86\x03\x12\x92\x90\x84\x87\xDC\x7C\x21\x5F\x85\x8D\xE9\x2F\x49\x87\x7C\x8A\x1D\x92\x1B\x78\x76\x24\x2C\x2F\x84\x24\x9C\x8E\xDC\x8A\x92\xDE\x79\x8A\x2E\x97\x93\xDA\x7D\x59\x31\x91\x1F\x33\x94\x7B\x4E\x8E\x93\x54\x81\x91\x39\x96\x81\x73\x2F\x7D\xF9\x7E\x93\xA6\x11\x38\x73\x28\x91\x0C\x17\x82\x79\x79\x90\x6B\x27\x74\x5D\x4C\x1B\x64\x8D\x1E\xF1\x71\x94\x78\x53\x94\x0C\x18\x30\x0F\x87\x92\x8F\x83\x1F\x59\x95\x83\x03\x11\x14\x15\x6C\x22\x62\x92\x79\x5B\x97\x94\xB5\x79\x76\x5E\x98\x88\x6F\x26\x24\x51\x83\x10\x70\x9D\x83\x27\x38\x74\x68\x9E\x2A\x2A\x6F\x47\x50\x89\x7D\x6F\x9A\x91\xD6\x88\x92\x07\x8A\x78\x7C\x76\x24\x7E\x60\x78\x56\x97\x26\x59\x7E\x4F\x2F\x96\x80\xA5\x43\x97\x09\x11\x7F\x93\x6B\x26\x46\x2D\x96\x78\x99\x7D\x8F\x99\x20\x91\x98\x8D\xFE\x4C\x96\x06\x99\x8E\xA5\x49\x97\x92\x72\x97\x4A\x80\x96\x08\x17\x97\x02\x16\x9A\x6B\x2D\x99\xC4\x1F\x99\xA4\x91\x9A\xEB\x8D\x82\xAC\x8E\x9A\x38\x97\x90\xD0\x88\x98\xE1\x8C\x10\x29\x6C\x79\x8D\x96\x26\x3F\x7F\x6B\x41\x7E\x94\x7B\x3C\x38\x94\x98\x18\xF1\x75\x64\x73\x26\x24\x15\x04\x94\x9C\x73\x9C\x7F\x4C\x38\xB2\x96\x98\xBB\x38\x11\xCF\x94\x96\x3F\x9C\x38\x2B\x9B\x73\x91\x8A\x61\x5A\x9C\x60\x5D\x49\x9C\x00\x0C\x9C\x75\x9C\x92\xAD\x99\x7D", -"\xD2\x9B\x24\xC5\x9E\x9D\xD6\x9E\x23\x2C\x2F\x7E\x48\x96\x87\xDC\x93\x9F\xDF\x96\x47\xE1\x9E\x2C\x15\x65\x7B\xDE\x8D\x68\x84\x91\x8D\x4A\x1D\x56\x26\x9F\x9F\x04\xAF\x86\xBD\x98\x10\x14\x05\xA0\x0A\xAE\x78\x58\x8D\x4D\x04\xA4\x77\x6D\x59\x9D\x0B\xA8\x80\x23\x11\x87\x80\x76\x8E\x03\xA8\x8E\x86\x99\x8D\x05\x9A\x9D\x4F\x91\x8B\x3B\x9A\x89\xB6\x81\x24\x03\x12\x88\xBA\x86\x91\x73\x20\x8A\xBB\x84\x91\x0F\x9E\x7A\x7C\x70\x7B\xA8\x81\x86\x25\x93\x9A\x1B\xAC\x5F\xB5\x95\x8F\x49\x92\x8B\x4C\x9C\x21\x9C\x8E\x6E\x9E\x87\x81\xC9\x7F\x8B\x41\x83\x8F\x09\x4F\x7C\x8C\x82\x87\xE8\x90\x00\x19\xAB\x8D\xA0\x99\x20\x94\x89\x9B\xE9\x80\xA2\x42\x7B\xA3\x97\x80\x88\xFD\x6F\xA3\x29\xA1\xA4\x2B\xA0\x8C\xA3\x8D\xA2\x16\x2D\x7E\x49\xA0\x86\xB4\x84\x10\x4B\xA0\xA5\x35\xAE\xA4\x37\xA6\x9F\x86\x98\x4C\x00\xA7\x15\xD3\x85\x7B\xC7\x88\x11\x65\xA6\x9B\x92\x96\xA3\x1D\xAF\x8A\xBA\x9D\x94\x6D\xA9\x10\xE3\x8E\x8F\x47\xA9\x89\x08\x13\xA7\x38\xAD\xA4\xCC\x87\xA7\x1A\xA5\x96\x12\x51\x9C\x18\x89\x43\x1A\x8C\xA5\x0E\x9A\x8F\xD0\x13\xA8\x91\x87\x8F\x2C\xA0\xA9\x5F\xAD\x85\xB7\x8C\x79\x18\xA4\xA3\x88\xAC\xA1\xAB\x9C\xA9\x3F\x98\x90\x9F\x82\x21\x0C\x9E\xA8\x15\x91\xA9\x6A\xA5\x96\x13\x96\xAA\x5E\xA5\x7E\x84\x9C\x8F\x23\x90\xA7\x49\xA2\xA1\x6E\x92\x9E\x7F\x41\x9C\x84\x7A\x86\xEE\x98\xA8\xC8\x9C\x77\xBC\x17\x01\x13\xA0\x78\x60\xA2\xA3\x0B\xA4\x77\xBC\x19\x01\xC1\xA7\x91\x70\x8F\xA7\x7A\x71\x7F\x3A\xA9\x8A\x7F\x89\xA9\x26\xAB\x83\x42\xAF\x26\x2A\xA8\xA2\x74\x99\x8F\x42\x85\x82\xA0\x1C\xAC\x62\xA4\x28\x21\xA4\x8B\x9B\x89\x8A\xC4\x76\x7A\x27\xA8\xAA\x40\xA7\x7E\xD5\xAA\xAD\x44\xAC\xAD\x37\x17\x8A\xB2\xA9\xA9\x6F\x24\xA5\x84\x77\xA5\xE7\xA7\x7C\xA3\xAA\xAE\x5B\xA3\xA4\xDA\xA4\x8F\x5C\x82\x8E\xDE\xA8\x77\xF1\x7A\xA8\xA4\xAC\xA8\x39\x85\xA9\xDB\xAB\xAF\x6F\x20\x82\x22\x2D\x1A\xF8\x8D\xA5\x96\xA1\x1D\x98\xA4\xA2\xF1\xAB\x34\xF9\xAF\x8E\x00\x05\xAA\xFC\xA0\xB1\x09\xB8\xAD\x57\x92\x91\x1D\x18\x25\x0F\xBF\xA8\x1D\xBE\xA2\x23\x1C\x1B\x30\x39\xAC\x8F\x7B\x7F\x3E\x9F\x9F\xC6\xA9\xA6\x2A\xB4\xA1\x37\x16\xA1\x7A\x7C\x82\x4F\xA4\xA7\x79\xAD\x7B\xE1\xAD\x87\xD1\xA4\xB1\x81\x83\x45\xE6\xA4\xAD\x0A\xBB\x26\xD7\xA8\xAE\x1B\xB4\xB2\x8A\x8F\xA2\x01\xB2\x74\x36\xB0\xB3\x7A\x99\xA3\x3B\xB9\x2E\xE3\xAF\x7B\xE5\xA8\xA5\xD6\xAA\xA5\x1E\xBC\xB1\xED\xA3\x8C\xEF\xAB\xB4\x73\x2D\xB4\x86\xAC\xA4\x51\xA3\xA2\xF3\xA0\xAD\x64\xB6\x2A\xE2\x79\x2A\x56\xB4\xB4\x58\xB6\xB4\xD9\xAC\xB1\x49\xB4\x8C\x61\xAA\x9A\x7D\x84\x10\xAC\x98\xB3\x63\xB9\x7F\x74\x7F\xA6\xC0\x99\xA4\x77\xB2\xA9\x6B\xAB\x9B\x7B\xA8\x18\x7D\xA9\x7D\x60\xBF\xA9\x1E\xAB\x37\xA2\xA9\xAE\x18\xBA\xB1\x6F\xB8\xB4\x87\x8F\xB1\x3B\x74\xA9\xAC\xA1\xB1\xB0\xA2\xAF\x8E\x77\xB8\x76\xB0\xAA\x1F\xAF\x3A\x04\xB0\x8F\x06\xB3\xB2\xA7\xA8\xAF\x02\x90\xB2\x01\x27\x06\xA2\xBD\xAA\x2F\xB1\x96\x31\xBA\xAC\x72\xB4\xAC\x7A\x7C\x34\x07\x3C\x99\xA9\x81\x6A\x39\x8B\xB7\x2D\xB4\xB7\x7C\x83\x10\x9A\x90\x78\x69\x7D\xBA\xE0\x80", +"\x00\x0B\x00\x02\x83\x80\x07\x7D\x00\x82\x03\xFF\x45\x08\x82\x83\x86\x81\x21\x6F\x6C\x2F\x32\x37\x84\x86\x02\x86\x00\x17\x82\x93\x24\x3A\x39\x34\x37\x67\x06\x98\x8A\x88\x8E\x84\x00\x88\x12\x94\x98\x87\x0B\x93\x81\x20\x3A\x74\x4E\x21\x2D\x35\x32\x90\x86\x92\x0C\xA6\xA8\x93\x85\x88\x84\x96\x86\x3F\x80\x0B\x25\x39\x3F\x3B\x88\x32\x36\x88\xB8\x88\x8A\x99\x88\x9F\x96\x40\x83\x83\xA5\xA7\xA1\xA4\x83\xA5\x04\xCD\xA9\x9D\x94\x81\xA1\xAE\xA9\x44\xC6\xB2\x28\xAC\xA9\x86\x93\xAC\x03\xBB\xAA\x8C\x88\x00\x8D\xB6\x81\x42\x6F\x35\x2E\x34\x31\x32\x39\x3C\x56\xE6\xA5\x89\xBE\xA3\xB4\x85\xB7\x7F\x83\xB1\xB3\xB5\xBF\xB9\xBC\x81\x58\x83\x9A\xAF\xAC\xB6\xB6\xC0\xB9\x74\xF6\xB8\xA5\xB8\xC7\xB2\xC4\xBE\x5B\x8E\xCD\xD0\xB0\xCD\xC3\xC9\x91\x96\x8D\x98\xCC\xC8\x82\x8D\xD3\x81\x4E\x75\x2D\x22\x35\x32\x3B\xC3\x82\x0C\x18\xB1\xCF\x8F\x36\x34\x3B\x32\x78\x74\x2A\xB8\x80\x06\xAF\xCB\x9C\x2E\xF2\x32\x21\x38\xBF\x7E\xE3\xE3\xFF\x3E\xC2\x81\xAC\x21\x37\xDB\xE1\x6C\x48\xC8\xE4\x08\x8C\xEA\x80\x27\x6F\x64\x35\x92\xE6\xE6\xD0\x82\xD3\xA9\xAB\xED\xDC\xED\xE8\x8E\xD3\x27\x62\x6A\x25\x23\x34\x3C\xF3\x7F\x80\x0C\xF0\xC0\x08\xFA\xF4\xF6\x23\x34\x65\x6C\x08\xA4\xFE\xEB\x82\xD2\x8E\x1E\x60\x4E\x7A\x72\x00\x21\x65\x81\x70\xC3\x79\x16\x82\x49\xCE\x65\x1D\x1B\x1C\x03\x90\x50\x01\x73\xCF\x61\x1C\x1B\x82\x03\x76\x16\x85\x1D\xDB\x5C\x7D\x7E\x40\xE0\x6A\x6C\x6A\x1C\x04\x81\x53\x19\x6D\xB7\x76\x6E\x7B\x87\x19\x43\x44\x7F\x7A\x74\x2C\x86\x6A\x19\xF8\x7A\x70\x84\x79\xF2\x44\x42\x7F\x8B\xF6\x75\x84\x1A\x75\x08\x40\x9E\x1B\x4C\x65\x14\x60\x40\x46\x3B\xA9\x70\x8F\x7D\xF9\x64\x18\x86\x40\x1A\xAC\x1C\x87\x8A\xE6\x43\x40\x83\x47\x67\x25\x83\x43\x89\xB6\x65\x16\x6C\x6F\x0F\x18\x44\x08\x46\x61\xBC\x66\x9A\x52\xEE\x64\x77\x9B\x4D\x69\x9C\x7B\x98\x9A\x6D\x88\x7F\x9B\x55\x71\x88\x79\x00\x46\x77\x82\x44\x16\x14\x55\x05\x16\x15\x10\x4C\x3D\x90\x90\x41\x40\x9D\x4C\x84\x6F\x02\x18\x4A\x02\xA2\x03\x46\x10\xA3\x14\x7E\x80\xAD\x9F\x93\x00\x26\x16\x87\x1C\x45\x98\x43\x00\x9E\x9C\x97\x75\x14\x13\x4C\x3F\x91\xA1\x11\x83\x83\x42\x91\x1D\x6C\x2C\x19\xA0\x43\xA5\x8B\x72\x87\x13\x42\x0A\x1F\x10\x14\x45\x0E\x1B\xA8\x42\xB7\x9C\x1B\x1F\xA6\xC0\x5B\x61\x62\x40\xB0\x8A\x13\x10\x13\x4F\x10\xA7\xAC\x41\xB9\xBD\x1D\xA9\x8B\x51\x4D\xB0\x01\x10\x52\x12\x13\xAD\xAD\xC7\x83\x49\xAF\x16\x06\x84\x80\x60\x41\x80\x50\xB2\x17\xB0\xC5\x85\x15\xB6\x40\xB9\x9D\x1C\x8B\xB6\xBF\x4C\x59\x5B\x13\x4D\x0D\x11\x12\x91\x3D\x6C\x04\x82\x7B\x94\x83\x1F\x10\xB1\x4E\x30\xB3\x42\x0E\xE8\x88\x6C\x7D\x95\x9E\x8D\x12\x11\x11\x52\x1F\x08\x46\xC1\x02\x5B\x1C\x15\x0B\x5D\x3F\x0C\x14\x19\x2B\x28\x0E\x0B\xC3\x2B\x29\x0F\x0C\x0A\x5B\x25\x15\x11\x17\x5B\x2B\x0B\xC1\xC3\x14\xD6\xC9\x9C\x42\x23\xDF\x70\xC0\x00\x53\x3B\x99\x12\x13\x47\x1B\x08\x46\xCB\x02\x62\x08\xC6\x17\x5C\x1C\x12\x09\x17\x7C\x35\xCB\x16\x17\x75\x38\xC5\xCD\x1D\x0F\xFB\x14\x0D\x1F\x29\x2A\x02\x0B\xA2\x0C\x48\xD8\x42\x91\x94\x93\x10\x15\x10\x43\x05\x1C\xAC\x42\x53\xDC\x13\x1F\x0A\x39\x89\x44\x7B\x98\xCE\x9F\x52\x42\xAC\x4A\xAC\x71\x04\x46\x63\xDF\xDC\x8C\x1D\x2E\x12\x1F\x1B\x1B\x74\x1C\x46\x5C\x1D\xB3\x48\x41\xDC\x10\x20\x24\x0C\x0C\xD8\xF5\x74\x1E\x0E\x96\x66\xE1\xD4\x1D\x03\x18\x40\xED\xDD\xDE\x2E\x2E\xD2\x1C\x1D\x59\xC2\x42\x7C\xDD\x77\xE7\xDB\xDE\x84\x78\xF0\x85\xCB\x40\x23\xD1\xEC\x7A\x0B\x31\x09\x18\x46\xE6\x02\x4D\xEE\xDE\x0F\x3A\x20\x02\x0B\x1E\x22\x34\xDB\x14\x08\x4A\x0C\x9A\x7C\x08\xA1\xF4\x8D\x93\x1C\x20\x3B\x12\xE8\x0B\x22\x28\xEA\xE8\x19\xAC\xE0\x0E\xEA\x8D\x20\x3D\x10\x09\x17\xA2\xFD\x15\xED\x18\xB0\xE7\xDC\xDC\x00\x96\xF4\x13\xE6\x40\x95\xE7\xDE\x0A\x0C\x9C\xC8\x41\xF6\xE7\x79\xE0\xE2\xE8\xE9\x20\x27\xE9\xEA\x8F\xB9\xFB\xE4\x18\xEC\xB2\xE2\x04\xEE\xED\xDC\xED\xEE\x8C\xEC\xBE\xC0\xF2\x0A\xF0\x20\x04\xF0\x0B\xD9\x40\x32\x83\x43\xF6\x4D\xBD\xB0\x00\x60\xF4\xFA\x78\xE6\x0E\x18\x7C\xFD\xE5\xFE\x64\x16\x79\xCA\x52\x0B\x65\x23\x39\x73\x48\x34\x34\x6E\x08\x3A\x05\x76\x25\x16\x0B\x43\x65\x19\x75\x94\x1C\x4D\x7D\xE2\x7E\x6F\x76\xC7\x69\x79\x99\x08\x2B\x83\xE4\x69\x6B\x6D\x74\x05\x08\x5D\x71\x64\x21\xB8\x76\x69\x79\x3E\x00\x05\xFC\x27\x6E\x80\x08\xB6\x78\x7F\x0F\x92\x49\x19\x18\x7D\x06\x8C\x35\x87\x7F\x31\x9C\x42\xF5\x21\x0A\x08\x0A\x6D\x36\x42\x40\x0D\x02\x02\x77\x69\x87", +"\x32\x3B\x81\x79\x41\x83\x89\x0B\xB2\x87\x89\x20\x02\x3C\x38\x40\x14\x52\x12\x6A\x6C\x6D\x0C\x94\x88\x6D\x31\x05\x04\x46\x5A\x8F\x7F\x2B\x8D\x8F\x89\x79\x09\x8B\xDD\x5E\x81\x74\x1E\xB0\x7A\x7E\x5F\x77\x77\x0B\xF3\x77\x77\xE7\x7E\x78\x21\x6F\x97\x6F\xED\x02\x8A\x64\x96\x47\x84\x48\xA2\x6C\x80\xDD\x4B\x84\x83\xD0\x53\x81\x82\xEE\x67\x6F\xED\x68\x88\x78\x35\x9A\x35\x90\x3E\x4E\x07\x0C\x6F\x84\x21\x38\x80\x84\x8E\x04\x96\x8D\xE8\x08\x81\x83\x05\x8D\x85\x88\x12\x90\x81\x05\xEF\x77\x82\x1F\x6B\x86\x22\xF3\x65\x8A\x03\x18\x23\x95\xAF\x45\x8F\x83\x6C\x62\x84\x19\x09\x77\x48\x81\x27\x85\x88\x29\x9F\x93\x69\x5F\x6E\x89\x04\x6B\x8C\x96\x60\x8E\x05\x0D\x0C\x18\x22\x5E\xBF\x7D\x96\xC4\x36\x7A\x08\x5B\x05\x76\xED\x58\x91\x74\x0D\x4F\x42\x0A\xE1\x73\x7C\x3E\x91\x80\x99\xB7\x2A\x99\xFA\x22\x7D\x0B\xE1\x70\x70\x98\x79\x02\x8B\xDD\x58\x92\x98\x62\x99\x78\x75\xC7\x80\x05\x32\xF3\x04\x6E\x66\x97\x92\x93\xD0\x8E\x40\xFA\x3F\x74\x9A\x6B\xA0\x00\x9B\x52\x97\x8A\xE0\x08\x23\x9F\x29\xA0\x80\x95\x21\x94\x2E\xD2\x04\x2A\x69\x13\x9E\x8A\x85\xB7\x88\x7A\x0F\xD0\x3B\x9F\x81\x0A\x6D\x87\x0D\x50\x38\xE6\x7A\x18\x22\x86\xBF\x7B\xA0\x16\x56\x7A\x13\x55\x02\x60\x82\x79\x74\x4B\x29\x54\x0F\x26\xE1\x33\x44\x31\x88\xA5\x42\x6C\x02\x9A\xA1\x65\x0E\x9C\x88\xAC\x0C\x6E\x77\x0E\x38\x1A\x31\x70\x05\x3F\xA0\x05\x07\xA2\x74\x0A\x1C\x1C\x45\x77\x3E\x1A\x9F\xA3\x3F\x81\xA5\xE8\x03\x85\x81\x8B\xA8\x46\x4B\x1A\xAE\x7F\x95\x20\x2E\xA2\x93\x82\x9E\x52\x6C\x18\x51\x49\x89\xA0\x88\x10\x29\xA4\x0E\x2B\xB2\x76\x4B\xB0\xA2\x04\x23\x17\x54\xA4\xBD\x77\xA6\x51\xA1\x72\x04\x37\x28\x54\x0D\x4B\xA0\xA4\x4A\xAA\xAC\xA5\xA9\xA2\x71\x35\xA9\x55\xA4\x21\xCA\x08\x9B\x80\xAC\xA9\x97\x31\x05\x08\x46\x72\xAF\x96\x30\x9D\x9D\x74\xDF\x8E\x99\xEE\x63\x9C\xA4\xF1\x67\x9A\x86\x7B\xB1\x9B\x3A\xEA\x75\x9B\x4D\x98\x99\x83\x67\x6B\x78\x00\x4D\x7E\x6E\x5D\x94\x10\x23\x8F\xBF\x7E\xE3\x5C\xA8\x7A\xED\x77\x75\x7B\xE7\x6B\x9B\xEC\x0D\x87\xB2\xF3\x6F\x75\x77\xEC\x8B\x7E\x3B\xE7\x67\xA7\xC9\x97\x7D\x98\xE4\x6D\x48\x66\xAF\x75\x9D\xCD\xA9\xB3\x75\x9E\xBC\x77\x34\xA2\xBB\x93\xB3\x6B\xAF\x76\xA5\x88\x21\x6E\x80\x88\x9E\x55\xAC\x92\x3E\x27\x93\x8E\x0A\xEB\xAD\xAD\x43\xAF\xA9\x41\xCF\x74\xAC\x42\x4A\xBB\x9A\xBB\x9C\xAE\x9B\xC6\x88\x9E\x38\x82\xBD\xAF\x66\xA1\x9C\xAF\xB3\xA5\xB2\xFB\x58\x92\x96\x93\x78\x96\x96\xC6\xB8\x9A\x22\xCA\xB4\x20\xE6\x87\xB9\x98\xCF\xA8\xB6\x5E\xE9\x9A\x98\x73\xBB\x8F\xBA\xD4\xB9\xBA\x3B\xC5\xBE\x56\x9C\x90\x38\x02\x18\x38\xBF\xD7\x26\xAD\xB6\xBA\x33\x9C\x20\xF3\x87\x86\x51\xAA\x88\xB0\xBF\x4A\xB4\xB1\x84\x73\x05\xF4\x04\x23\x7A\x14\x94\xB2\xBD\x9D\xBA\x75\x66\xEE\xBF\xB4\xDC\x71\xB7\x7B\xA0\xAA\x7C\xFB\x01\x9E\x6E\xE2\xA0\x89\xB7\x04\x3B\xB6\x78\xD7\x8E\xB6\x24\x43\x27\x84\xDC\x83\xB8\x0B\xB7\x7A\xBE\x84\x2D\xC4\xB7\x57\x86\x70\xE2\x26\xC2\x20\xBA\x41\xBE\x47\x3E\x17\xB6\x8F\x24\x83\x21\xB8\x7C\xB2\xC6\x05\xA2\x22\xD2\x0C\x7F\x91\xB5\x85\x8D\xC5\x04\x2F\xC7\x29\xB1\xC4\x0F\xB7\x7F\xB3\x20\x36\xC4\x88\x04\xB9\xCC\x85\x22\xBC\xC2\x20\x3E\xC7\x94\x90\x8C\x55\xC6\x10\x12\xCC\x89\x1E\xC9\x40\x92\x83\x2F\xC5\x11\xE0\x82\xC6\x4F\xDD\xC8\x8A\xF6\xA1\xCC\xE2\x17\xC8\x00\x3E\xC2\xBF\x96\xC9\x60\xCA\x2F\xE7\xB9\x0F\x3E\x0E\xAE\x49\x92\x08\x22\x3E\xFB\xBC\xA9\x6C\x18\x9E\x8C\xFF\xB3\x21\x79\x91\xCE\xBE\x11\xBA\xCC\xA0\xA0\xC3\x21\xDD\xBC\xBA\xC6\x6F\xD3\x6E\x9D\xC6\xA1\x9E\x10\x9B\x84\x20\x1D\x97\x8A\xA0\xCD\xC7\x71\x20\xC0\x03\xC8\x75\x63\x8C\x08\xBE\x05\xD2\xB6\x69\xC8\x79\x9A\xD2\xC7\x81\xF5\xC2\xD4\xB6\x4F\x76\x59\xC9\x6B\xD7\xE0\x30\x4E\x04\x1A\x0B\xC3\x20\x0D\xC6\xB7\xE8\x10\xC5\x7C\x09\xDF\xB6\x9C\x15\xCB\xB6\x6C\xA1\xBB\xC2\x0B\xB9\x6D\xBB\xFE\x2C\x8E\x8F\x6E\xAD\x8C\x1A\x0C\x93\x5F\x03\x32\x8C\x8E\xBB\xA5\x8E\x03\x93\x90\x8F\x96\x80\x9E\x74\xAE\xAC\xC3\xBC\x77\x70\xD9\x20\x53\x7C\x7D\xBF\x58\x78\xF1\xB4\x04\xBC\x03\x26\xBC\x37\xE9\xB9\xAE\xF8\xAA\x9D\xBA\x7F\xBD\x8F\x74\xEF\xD2\xBE\xC3\xA0\x88\x08\x8A\xC0\xA6\xA7\x87\xAC\xBE\x19\x0E\xA0\x21\xFF\xD7\x6F\x56\xA2\x73\xA5\xB0\xB9\xA6\xA9\x64\xB2\xAA\x26\xD4\xA2\xA6\x9A\xBD\x75\xA8\x80\xD0\x91\x4F\xA1\x78\xA2\xA0\x9B\x93\xA8\x67\x10\xE0\x48\x92\xA4\xA3\x81\x52\x0E\xA7\x5D\x56\x37\x46\xA2\x4D\x34\x8D\xF9\xA7\xA8\x57\xA6\xE0\x74\x08\xE0\xAB\xB2", +"\x8B\xE2\x74\x56\xA9\xA8\x56\xFD\x06\xE4\xE8\x02\x9E\xAB\x69\xBB\x92\x49\xAC\xE1\xAB\x96\xAF\xE2\x04\x68\xA0\xAF\xC3\xAC\x45\xC1\xBC\x44\x97\x6C\x73\x5A\x6A\x87\x2B\xCE\x47\x53\xC2\x96\x47\xBC\x36\x03\x48\x7F\x50\x94\x53\x90\x83\x59\x40\x58\x3A\x76\x3C\x38\x03\xA9\xCB\xED\xEA\xE5\xC0\x8C\xA5\x58\x9C\x36\x0D\x1E\xEA\x3A\xF9\xD9\xA4\xD6\xA8\x39\x3B\x32\x3C\x34\x03\x67\xE8\x39\xA9\xF4\x0B\xED\xEB\x2D\xEC\x37\x1E\x11\xEF\x71\x1C\x03\x5D\xD7\x3F\x1C\x37\x46\x49\xEA\xE0\x83\xFE\xEE\x02\x63\x5B\xF0\x88\xE3\x26\x91\x7F\x16\x7F\xA9\x49\xF2\xF0\x7E\xEC\xD2\x40\x4B\x53\xF1\xC3\xC6\x47\xF0\x83\xE5\xE8\x8C\x01\xF5\x3B\xCE\xC2\x24\x92\xBC\x3A\xC5\x93\x05\x2B\xF0\xA6\x4F\xF4\x20\x9C\xE9\xEB\xD1\xFE\x6C\x36\xCD\xEC\x3F\x1F\x87\xF0\xF6\x84\x6F\x46\x48\x84\x54\x6F\xF4\xC9\xC0\xEC\xD2\xB3\xF3\x21\xA0\x09\x7C\x45\xB6\xE7\xF6\xEB\xF4\x0E\xF0\xDC\xFD\x52\x5D\x5F\x77\x8A\xEC\xE0\xE4\xF6\x8C\x19\x02\x53\xC6\xEC\x5B\x2C\xF3\x3C\xF4\xDE\xEE\x53\xD6\xEC\x2C\x47\xF3\xC6\xF3\xF9\xE2\xD1\xF9\xF7\xD3\xEE\x9B\xF7\xFE\xEF\xCC\xFB\x5F\xF9\xF1\x7E\xE6\x4A\xA7\xE3\xFE\xFB\x82\x07\xF4\x95\x80\xFD\xCC\x46\x07\xFC\x44\x3F\xF8\xF6\xC8\x10\x98\xF3\x5E\x47\xF3\x9D\xD0\xEC\x80\x9B\xCB\x78\x10\xF0\x78\x11\x46\x22\x79\x00\x04\x7F\xA4\x41\x7D\xF8\x72\x43\xFA\x77\x7C\x68\x12\x10\xFD\x77\x32\xDE\x51\x76\x09\x21\x80\x04\x1A\x58\xF1\x7E\x2B\xC8\x22\x81\x03\x16\x7E\x82\x7B\x80\x1C\x29\x7A\xC8\x73\x82\x7F\x4E\x7F\x60\x70\x40\x73\x29\x7E\xB2\x17\x7E\xD1\x7E\x77\xCB\x24\x68\x89\x7B\x2C\x06\x2E\x81\xAA\x7C\x74\x4D\x26\x20\xDB\x77\x7F\x55\x67\x75\x82\x74\x29\x7F\x45\x77\x00\x0D\x70\x65\x09\x76\xD0\x19\x79\x12\x26\x52\xBC\x14\x84\x16\x2E\x77\x06\x20\x83\x88\x72\x83\x87\x47\x7A\xA2\x7A\x1F\x38\x8A\x80\x3B\x82\x43\x94\x7B\x7F\x24\x80\x41\x94\x21\x73\x98\x2A\x84\x6C\x06\x84\xCE\x28\x84\x51\x8D\x81\xF3\x36\x52\x7E\x7C\x22\x4E\x83\x78\x50\x8A\x81\x8F\x73\x85\x4E\x2E\x7C\x56\x87\x82\x45\x49\x85\x0E\x89\x2E\x3F\x8E\x79\x00\x01\x74\x60\x82\x86\x3E\x13\x10\x64\x8E\x86\x02\x18\x3F\x68\x8B\x78\x86\x71\x7D\x96\x75\x86\x89\x70\x87\x55\x86\x7C\x20\x8E\x76\x7E\x7A\x58\x06\x85\x79\x5A\x8C\x2D\x73\x81\x7E\xB7\x3D\x88\x3A\x84\x87\x10\x49\x10\x8B\x7E\x84\x6B\x82\x78\x6D\x84\x6E\x52\x86\x83\x54\x82\x87\x8E\x87\x85\x21\x82\x78\xC7\x35\x71\x5F\x2A\x88\xF7\x37\x86\x80\x63\x78\x84\x4C\x51\xAD\x19\x84\xC6\x55\x88\x23\x16\x80\xA1\x89\x74\xA3\x86\x89\xA9\x87\x82\x99\x88\x8A\x9B\x81\x7E\x45\x42\x82\x5E\x3F\x87\x02\x1E\x8A\x74\x08\x8B\xF5\x51\x88\x73\x24\x48\x18\x7E\x8C\xE4\x68\x68\x61\x8A\x82\x0C\x13\x66\x89\x78\x8C\x6B\x2E\x74\x9D\x43\x7A\x1C\x81\x6E\x69\x4E\x23\x16\x89\x10\x87\x77\x69\x6B\x26\x24\x14\x00\x7D\xC6\x7E\x8D\xDE\x60\x75\xE1\x82\x7D\x00\x4C\x22\xEB\x81\x8C\x98\x8E\x23\x0D\x83\x7D\x13\x8E\x3D\x73\x0D\x7A\x90\x37\x36\xE5\x82\x10\xE8\x87\x26\x46\x27\x78\xED\x73\x78\xEE\x8B\x24\xF0\x8C\x7C\xE0\x73\x8F\xF3\x77\x89\x13\x80\x40\xF9\x83\x81\xFB\x87\x3E\xFE\x80\x6B\xBB\x7C\x82\x66\x2E\x77\x9E\x65\x36\x1A\x98\x18\x8B\x7C\x4A\xF6\x7F\x91\x8F\x78\x8D\x08\x13\x01\x24\x90\x92\x23\x18\x80\x49\x76\x24\x39\x8B\x81\x0C\x92\x10\x2F\x9F\x78\x60\x87\x90\x10\x9D\x90\x45\x44\x78\x8B\x7F\x82\xD1\x7F\x8B\x8D\x67\x93\xE2\x84\x81\xC4\x1A\x89\xA5\x8C\x89\x58\x8D\x83\x5A\x89\x87\xAC\x23\x10\x42\x8D\x87\xAC\x87\x84\xB3\x80\x8B\x84\x80\x68\x4C\x81\x38\x3D\x95\x89\x3F\x96\x8F\x11\x90\x4F\xC4\x85\x94\xC6\x8C\x83\x49\x7E\x83\x5C\x8A\x85\x5E\x83\x84\xB9\x81\x95\x49\x77\x3C\xD0\x80\x8C\xD5\x8A\x8B\x37\x1A\x86\x57\x97\x87\x02\x13\x89\x1F\x8F\x7F\x62\x7D\x95\x6F\x8A\x8A\x65\x06\x87\x23\x8F\x80\x00\x0A\x94\x41\x28\x1A\x5F\x5E\x94\x69\x90\x95\x20\x54\x8D\x6C\x96\x8D\x85\x7F\x90\xC6\x79\x88\x0C\x14\x97\x35\x87\x82\x5C\x9C\x10\x33\x9B\x88\x7A\x94\x7A\x23\x12\x89\x88\x88\x95\x73\x90\x94\xF2\x83\x99\x08\x15\x99\x88\x7F\x88\x1C\x94\x36\x29\x9E\x89\x23\x10\x8A\x71\x9D\x97\x59\x95\x8C\x5B\x97\x97\x94\x9E\x99\xA6\x1E\x4C\xDC\x87\x7D\xCA\x80\x00\xCC\x88\x98\x66\x8F\x67\x87\x95\x97\x60\x76\x8B\x72\x0A\x9B\x83\x82\x8B\x20\x51\x79\x56\x96\x7C\x3E\x9D\x99\x5A\x9D\x90\xA0\x94\x10\xA2\x94\x8B\x7A\x95\x9B\xBD\x12\x21\xB9\x92\x95\xC4\x99\x53\xD0\x90\x76\xD3\x86\x9D\xBC\x98\x9D\x8A\x73\x12\x8D\x77\x9A\x2A\x97\x13\xAC\x45\x8F\xE2\x9A\x93\xDF\x9C\x10", +"\x15\x01\x7D\xD2\x9C\x1B\x63\x70\x46\x26\x81\x7E\x00\x81\x7B\x87\x74\x20\x19\x88\x10\xC1\x73\x10\x36\x91\x96\x5A\x84\x76\xF1\x83\x9B\xD8\x40\x7C\xB2\x92\x6E\x60\x4B\x9F\xB8\x73\x77\x01\x92\x7D\xCD\x71\x9B\x0C\x16\xA0\x6F\x2F\x9E\x09\x21\x9F\xAF\x99\x20\xDA\x73\xA0\xDF\x54\x1C\x0E\xA9\x97\x46\x97\x28\x90\x7B\x93\xC7\x98\x7B\xC9\x90\x00\x23\x9A\xA1\xF2\x90\x9B\xA1\x96\xA1\xC8\x35\x87\x48\x97\x7C\x80\x94\x28\x4C\x93\x53\x66\x9F\x8C\x68\x93\x27\x6A\x93\xA3\x6C\x99\x98\x6E\x9A\x14\x4D\x8B\x9A\x7E\x94\x10\x23\xA6\x99\x92\x96\xA2\xCE\x98\xA2\xCE\x4C\x97\x3D\xA8\x87\x63\x97\x7C\x65\x94\x98\x34\xA6\x98\xDE\x92\x88\xB1\x8D\x9D\xD0\x19\x86\x1F\xA7\x7A\x21\xAF\xA3\xA3\x96\x97\x09\x24\x94\x24\xA1\x91\x2A\xAC\x9F\x2C\xA0\x96\x81\x97\x1D\x83\x97\x96\xBD\x95\x98\x63\x86\xA3\xBB\x9D\x96\x54\x96\x88\x8C\x98\x7B\x8E\x98\x10\x58\xA9\x9D\x25\xAB\xA5\x78\x90\xA4\x5F\x92\x43\x98\x97\x13\x9A\x9D\x98\x9C\x92\xA2\x44\xAD\x9C\x03\x1F\x9C\xBE\x99\xA7\x1C\xAB\xA7\x4A\x1A\x9A\xC8\x9F\xA7\x73\xA5\xA8\x13\xA3\x94\x77\xA9\xA5\x1B\xA9\x29\x68\xA7\x9B\xD5\x90\xA5\x53\x97\xA6\xD1\x87\x32\xC0\x92\x9C\x51\xA2\x50\x6D\xAB\x8B\x55\xAF\x78\x57\xA1\xA8\x42\xA3\xA8\x44\xA7\x8C\x4F\x9E\x2C\x97\xA4\x8A\x6B\xA6\x8D\x74\xA3\x81\xDB\x98\xA9\xD7\x95\x84\x1F\x96\x9C\x4B\x9E\xA7\x72\x90\x00\xE6\x92\x7C\xFF\x8E\x37\xD2\x90\x84\xA0\x7F\x9F\xCA\x60\x8E\x29\x8B\x78\xBC\x17\x01\xE7\x9C\x82\xB8\xA3\xA6\xB8\x7A\x2F\xBE\x8A\x87\xC3\xA1\x93\xF2\x87\x3B\x7E\x7C\x1B\x84\xAB\xAC\x37\x1E\xA1\x0C\x1D\x8B\x73\x2D\x7E\x5C\xA8\xA7\x5E\xA2\xA6\x0F\xA9\x94\xE4\xA6\x2A\x2F\xAC\x21\x4C\xAF\x26\x35\xAA\xA9\x37\xAF\xAA\x39\xA7\x15\x3B\xA6\x7C\xE0\xA1\xA9\xB1\xA8\x93\xE7\xA7\x26\x62\x92\x43\x5D\x87\x55\xEB\xAB\x26\xED\xAF\xA4\xAE\xA3\x9C\x52\xAB\x84\x8B\x70\x97\xF4\xAF\xA7\xD9\xAB\xA9\x93\xA6\xA4\xE9\x2E\x97\x2D\xA8\xAE\x64\xA9\x2A\xFF\xA7\x26\x01\xB6\xAB\xB4\xA5\xB0\xD1\x1E\xA6\x0C\x13\x91\xE9\x8A\xB0\xA9\xAD\x89\x91\x89\x80\xC6\x76\x7A\x0C\xAE\x9A\xF8\xAA\xA7\xE3\x99\xA8\xA3\xA9\x78\xF5\xA7\xB2\x5E\x93\xAE\x32\x42\x9D\xAD\x8F\x53\xAF\x89\xB1\xA0\xAE\xAE\x6B\x25\x8B\x24\x71\x9C\xDC\x99\xB3\x39\x5D\xAC\x00\x61\x7D\x2F\xB7\xA2\xCB\x91\x94\xB4\x9B\xAA\x96\xA6\xB3\xCD\x8F\xB3\xB0\xAE\xA8\xE0\x73\xAB\x03\xBF\xA9\x8A\x98\xAC\x2F\x3A\xAD\x25\x9B\x78\x7D\xAB\xAC\xD7\xA8\x11\x1D\x08\xB5\xC7\xA3\x12\x3C\x9A\xAB\xCE\xA5\xAE\x61\xA7\x94\xB9\xA1\x84\x30\xA5\xB1\x66\x27\xB1\x16\x2E\xA9\x99\xA1\xB4\x8B\x73\xAF\x70\xAA\x87\x66\xBB\x85\xFC\xA4\x96\xFE\xA6\xA6\x02\xBC\xAE\x4E\xA8\xB1\x53\xB1\xB7\x53\xA7\xB0\x2D\xB8\x78\x87\x7E\xB0\xA2\x17\xB6\x1C\x20\x84\x7C\x8C\xB7\x80\xBE\xB7\x69\xAA\xB3\x04\xBC\xA6\x3A\xBE\x77\x8A\xA5\xB7\x0C\x14\xB3\xD4\x9C\xB4\x70\xB5\xAB\x6F\xB0\xB5\x41\x9D\xA9\x4E\xB1\xAF\x09\x1C\x8B\x9B\x99\xB9\x4A\xB9\x8C\xAD\xAF\xAE\x93\xBF\xB4\x91\x93\x7D\x52\xBC\xBA\x54\xB4\xBA\x88\x1C\x1B\xF9\x90\xB6\x67\x2B\x98\x1D\xBC\x9E\x7F\xA7\xBB\x88\x73\x77\x88\xA7\x15\x5B\xB7\x7A\x26\xB8\x9F\xD1\x70\xBC\xB8\xBC\x82", }; void JsonGetParserBuffer(vl::stream::MemoryStream& stream) @@ -21884,16 +21884,16 @@ L"\r\n" L"rule Document XDocument = {XInstruction:prologs | XComment:prologs} XE SerializedTable ***********************************************************************/ -const vint parserBufferLength = 4442; // 18926 bytes before compressing +const vint parserBufferLength = 4436; // 18926 bytes before compressing const vint parserBufferBlock = 1024; -const vint parserBufferRemain = 346; +const vint parserBufferRemain = 340; const vint parserBufferRows = 5; const char* parserBuffer[] = { -"\x00\x0E\x00\x02\x83\x80\x07\x7D\x00\x82\x03\xFF\x45\x08\x82\x83\x86\x81\x21\x6F\x6C\x2F\x32\x37\x84\x87\x02\x86\x00\x17\x82\x94\x21\x37\x32\x27\x30\x6D\x65\x06\x98\x8A\x80\x8E\x86\x00\x10\x92\x94\x98\x8A\x88\x85\x96\x8E\x1E\xA0\xA2\x95\x88\x85\x90\x87\x93\x29\x93\xB4\x84\x8D\x94\x9F\x81\x20\x74\x74\x1F\x81\x93\x94\x86\x9A\x84\x38\x91\xBA\x98\x88\x04\xA7\x9F\xA0\x56\x61\x2C\x35\x33\x9C\x93\x92\x82\x49\xAA\xBB\x83\x8D\x9C\xAF\x80\x98\x43\xD5\x86\xB7\xA3\x81\xAF\xA4\x86\x4D\xE8\x83\x82\x2F\x35\x3A\x36\x32\x61\x72\x39\x25\xA5\x9C\xB1\x87\x81\x39\xAB\xAA\xBB\xB0\x04\xB6\xB6\xB8\x72\xF4\x84\x87\xA8\xA8\xBE\xA4\xBD\x08\xE9\x89\xCB\xBD\xB7\xB5\xB9\xB9\x5B\x82\x84\xC5\xB6\xC2\xAE\xA6\xBE\x7E\x8E\xC1\xD1\xC5\x86\xB8\x00\xB3\x88\x84\x8A\xC2\xDC\xC7\xBF\xC6\xC1\x09\x9E\xE0\xDC\xC3\xD3\x82\xC5\xCC\x80\x90\xE4\x8C\x08\x8C\xDB\x87\x37\x6E\x74\x25\x38\x34\x39\xBC\x8D\x82\x9C\xFF\x76\xC8\x83\xE0\x89\xDD\xDD\xBD\x87\xFF\xC8\xD2\xCA\xD5\xCB\xB3\x2E\xAC\x86\xCD\x31\x91\xDD\xD6\x81\x09\x18\x99\xE2\x80\xA4\x3A\x39\x34\x62\x75\x3A\xDF\x74\xF5\xF0\xF2\xE7\x0F\xC4\x21\x34\x31\x36\xF2\xF3\xAE\x02\xAD\x90\x94\xE5\x31\xDE\xF7\xF2\xD7\x80\x0A\xC4\x2F\x33\x31\x3B\xEA\x74\x37\x74\x78\x7C\x19\x43\x45\x10\x1B\x65\x00\x82\x83\x3F\x0B\x18\x4D\x82\x40\x49\x2E\x13\x1E\x77\x75\x23\x14\x1D\x1A\xB8\x4B\x84\x00\x46\x1B\x82\x4E\x13\x1B\x64\x22\x42\x81\x87\x08\x64\x84\x14\x72\x0B\x8D\x0A\x77\x8A\xDC\x41\x5F\x75\x78\xBA\x64\x84\x40\x89\x6E\x32\x42\x00\x8B\x08\x5B\x70\x01\x77\x2F\xA2\x75\x18\x7A\x00\x36\x12\x54\x55\x03\x26\x46\x91\x7A\xEB\x61\x14\x81\x4B\x63\x38\x6A\x6E\x7D\x02\x8B\x93\x74\x80\x52\x82\x4D\x93\x71\x50\xB7\x79\x7F\x7E\xFD\x7F\x75\x7C\x1D\x55\x80\x00\x1E\x1C\x4A\x67\x13\x1F\x82\x5B\x83\x4C\x7E\x7F\x00\x8F\x88\x42\x9B\x64\xAF\x14\x1F\x81\x09\x9F\x9B\x81\x98\x74\x80\x8A\x00\x46\x7B\x82\x4B\x7A\x77\xE0\x7E\x87\x99\x94\xD2\x42\x49\x9F\x97\x6E\x84\x4E\x9B\x18\x12\x73\x19\x1A\x1B\x31\x61\x4C\x64\x9E\x08\x80\x82\x8F\x40\x34\xB2\x4F\x6C\xA5\x75\x96\x77\x64\x00\x73\x35\x12\x1B\x87\x21\x83\xA7\x7D\xA2\x03\x6E\x91\x87\x84\x72\x15\x87\x84\x6E\x7D\x88\x41\xAF\x9F\x3D\xBA\x66\xAA\x7B\xA8\x82\x4A\xAA\x84\x14\x96\x88\x86\x1B\x97\x82\x49\xA5\x48\xC1\x80\x05\xB2\x89\xC8\x61\x97\x97\x93\x01\x82\x80\x04\x46\x31\x18\x4F\xB3\x6F\xD4\xB5\x4B\x82\x80\xD5\x86\x57\xB7\x7D\xD9\x96\xBB\xB6\x79\xDD\x83\x6F\xB6\x79\xD3\x88\x45\xB9\x12\x4E\x13\x14\x16\x14\x55\x03\x14\x15\x12\x4F\x0E\x1F\x17\x13\x50\x05\x1E\x13\xB1\x03\x6F\x0C\x0F\x0B\x3F\x3F\x6E\x65\x04\x18\x40\xC0\x85\xBA\xEB\xAD\xBF\xB9\xBC\x5F\x03\x1C\x13\x13\x53\x05\x18\xBE\x40\xFC\xAF\x0E\x0C\x67\x06\x18\x44\x06\xC5\x78\x4F\x1D\x10\x14\x4C\x05\x18\x17\x17\x45\x1D\xCD\x12\xBD\x54\x33\xB5\xBF\xBD\x1C\xB9\xBB\xBF\x0B\x37\x96\x48\xC4\x43\x17\xC2\x43\x14\xBA\x47\x1D\xC0\xCA\xC8\x24\xC9\xCB\xC1\xC3\x0F\xC0\x0F\x0B\xCF\x3E\x05\x9C\x5C\x41\xC3\x44\xD6\x80\xCE\x4E\x25\xC4\xBE\xBD\x2D\xC8\x4D\xD2\xBE\xC5\xBA\x84\x42\x8A\x0C\x54\xD0\x01\xC8\x45\x23\xC9\xD2\xCE\x0C\xC5\x1D\xD0\x41\x4F\xFE\x0E\x65\xAC\x85\x77\x46\x81\x14\x55\x01\x1C\x13\xD7\x03\x4F\xDD\x0D\xC5\xDA\xB7\x7D\xCE\x13\x41\x23\xC2\xC0\x42\x77\xDB\x11\x19\x0B\x7A\x01\x1D\x0A\x16\x30\x2D\x09\x0E\x0E\x2E\x1F\x1F\x09\x0B\x5D\x2B\x04\x81\xAE\xFA\x5F\xA1\x10\x15\x54\x16\x1A\xD9\x15\x45\x13\x08\x46\xE5\x02\x62\x0B\x16\x17\x3C\x3E\x02\x09\x17\x2A\x22\x0C\x1F\x09\x9B\xDD\xE7\x08\xE8\x27\x39\x75\xD2\x57\x2E\xCF\x4A\xC6\xD6\x54\x22\x08\x46\xEC\x10\xFB\xB1\x09\x0B\x2D\x28\x0B\xE7\xE1\x3E\x1D\x1C\x1D\x0B\xBB\xED\x0D\xEF\xEF\xC0\xDE\x1D\xED\x0A\x2A\x38\xE2\xC6\xD4\x03\x56\xD5\xD8\x52\x78\x44\x1F\xE1\x10\x2C\x18\x45\xF5\xED\x2F\x21\x0F\x0B\x16\x43\x12\xF4\x15\x10\xDB\xFA\xEE\x17\x0B\x5D\x3E\xE4\xFB\xEE\xE5\xFC\x14\xFB\xF9\xC6\xDD\x18\xF3\xFA\x5D\x12\xC4\xD9\x42\x23\xA9\xCB\x46\xC7\x54\x24\x08\x46\xFE\x02\x62\xFD\xE5\x0F\x22\x07\x04\x08\x2F\x02\x0F\x17\x2E\x0F\x05\xEC\x3C\x6E\xDF\x00\x72\x70\xC2\x46\x70\x71\x29\x0B\x04\x1F\x22\x77\x04\xC6\x4B\x44\x33\x40\x53\x08\x14\x41\x03\x09\x22\x02\x68\x21\x1F\x8F\x07\x1C\x2B\x0B\x74\xC9\x02\x41\x5A\x0C\x30\x6C\x42\x2A\x88\x0B\xEE\x49\x4D\x5C\x04\x25\x5D\x0B\xEA\x3C\x3C\x17\x12\x0F\x0D\x72\x53\x08\x7B\x72\x04\x0E\xC6\x6E\x48\x08\x20\x04\x04\x0F\x33\x89\x48", -"\x1F\x2A\x84\x20\x2C\x8E\x84\x7B\x25\x80\x01\xE1\x04\x8D\x86\x3A\x91\x2C\x1D\x73\x72\x21\x58\x40\x8B\x88\x4A\x81\x0E\x11\x98\x29\x88\x1A\xA1\x09\x4D\x02\x2F\x89\x18\x2E\x01\x07\x11\x18\x26\x8C\x02\x38\x8A\x17\xBE\x0A\x06\x10\x1D\x7B\x7A\x20\x0D\x8F\xB2\x5F\x40\x05\x30\x33\x0E\x8D\x5E\x80\x0B\x11\x83\x2D\x8B\x24\x41\x24\x21\x7F\x80\x02\x18\xB6\x88\x87\x39\x6F\x2E\x87\x03\x22\x8A\x18\xBE\x00\x04\x20\x20\x8A\x90\x53\x02\x54\xA9\x65\x04\x8A\x00\x31\x50\x0B\x91\x83\x54\x88\x65\x04\x8D\x1A\x18\x26\x93\x69\x98\x92\x24\x9B\x9C\x8C\x10\x21\x00\x0B\x27\x5C\x34\x08\x7C\x06\x94\x31\xAB\x95\x95\xF3\x20\x43\x2B\xA7\x97\x51\xDC\x0E\x97\x53\x58\x15\x97\x14\xFC\x43\x21\x5C\x95\x57\x4B\x2E\x13\x06\x03\x11\x33\x99\x50\xBA\x95\x94\x22\x1C\x06\x08\x20\x04\x6F\x91\x71\x88\x04\x35\x41\x24\x08\x7B\x00\x04\x2C\x3C\x41\x50\xBA\x2F\x98\xAD\x58\x95\x0D\x3B\xBD\x08\x04\x28\x00\x06\x08\x12\x6B\x98\x56\xA2\x06\x73\x40\x94\x9A\x28\x9A\x91\x45\x67\xA1\x54\x9D\xDD\x80\x07\x37\xC9\x9F\x05\x65\x8D\x9D\x08\xCF\x8C\x53\x1B\x0E\x50\x53\xB0\x22\x9E\x73\x20\x09\x05\x1D\xF7\x8A\x97\x06\x0A\x03\x88\xC7\x8D\x8D\x32\xF6\x95\x6E\x7C\xAD\x89\x9A\x65\x13\x99\x35\xD7\x90\x47\x88\xAD\x8B\x9B\x15\xBE\x98\x38\xE2\x94\x9D\x57\xA7\x9B\x99\x40\x0A\x9D\x26\x93\x9E\x9D\x51\xA5\x52\x9E\xE2\x9B\x5C\x43\xCE\x92\x8F\x46\x4F\x51\x52\x11\xBF\xA1\x40\x83\xA0\x04\x5D\x8F\x93\x9D\x93\x90\x87\x40\x32\x83\xA5\x4D\x84\x92\x4E\x45\x0F\x2E\xF3\x4D\x79\x91\x21\xBD\xA1\x44\x8C\x97\x94\x5F\x3E\x9D\x53\x5D\x8C\x27\x92\xBA\x8E\x06\x0D\x06\x18\x22\xAA\x86\x9F\x97\xB9\x28\x9A\x32\xCC\x9D\xA1\x67\x90\xA2\xA2\xD6\x8E\x44\x37\xDA\x92\xAD\x8C\xA8\xA1\x9C\xE3\x80\xA2\x39\x80\xA2\xA4\x93\x96\xA0\x04\xEF\x93\x92\x46\xF4\x92\x04\x20\xB7\x99\x9F\x2E\xBD\x9E\x4C\x7F\x9B\x98\x81\xB6\x8D\xA6\x58\xB4\x0C\x90\x28\x99\x59\x42\x42\x91\x95\x74\x04\x8C\x16\x18\x2B\xB1\x50\x88\xB5\x94\x77\xB2\x8E\x93\x74\x8C\x95\x22\x28\x6A\x6D\xF9\x93\xB1\x6E\x2F\x9F\x71\xC8\x53\x76\xA1\x20\x13\x8F\x66\xAC\x94\x0A\xFC\x59\xB0\x4B\x74\x14\xA4\x62\xCA\xAB\x31\x30\xB1\x97\x4B\x95\x97\x93\x6B\xB9\x34\x8D\x14\x18\x26\xB6\xA1\x93\xB4\x1D\x25\x93\x09\xD7\x64\x67\xB4\xCC\x54\xA6\x6E\xAC\xB4\x35\x30\xBA\x91\xB6\xBD\x91\xA9\x0C\x56\xA8\x20\xE6\x88\xA1\xB0\x5A\xB5\xAC\x57\xAC\xA0\x9B\xBD\xAA\x9C\xA2\x3E\x44\xAC\xA0\x66\xAF\x9A\xB4\x9D\xA3\xAD\xCB\x8D\xAC\x3C\xA5\xA0\x9F\xB9\xAA\xA3\xBA\xA0\xBA\x9C\x3F\xB0\xAC\xAF\x99\xBF\xAE\xA6\xB8\x87\xB8\x2F\xC6\xB1\xB0\x17\x37\x04\xB9\x04\x2E\xB8\x53\x80\x41\xBA\xF4\x9E\xAE\xBA\x13\xA5\xAD\x76\x97\xA2\xC0\x5B\x67\xAC\xA3\x6A\xAD\xBE\x78\xA4\xAD\x8D\xB8\x9B\x96\xBC\xF5\x9E\xBD\x4B\xFB\x9F\xA5\xB0\x00\x8A\xA6\x7E\xA4\xA1\x60\x83\xB8\xB1\xA1\x82\x26\x6A\x84\xBC\x37\x4F\x86\x94\x0C\xE4\x82\x22\x91\x8F\xAD\x93\x4D\xBA\xBA\xA6\x81\x32\x82\xB7\x23\xC1\xA8\x19\x1E\xC0\x00\xAB\x4A\x92\xB7\x49\xAC\x78\x76\x3D\x9B\x4C\x2F\x79\x30\x91\x61\x9D\xC4\x80\x2E\x02\x06\x30\x18\x26\xC8\xA1\x82\xCB\x97\x25\x91\xA5\x6A\xAB\x55\x57\xAF\x4E\x0F\x33\xE3\x45\x4D\x3B\xAC\x95\x85\x6F\x14\x3F\x66\xED\x84\xCA\x89\x26\x48\xA5\xFB\xB4\x8D\x1B\xF1\x43\x4F\xC0\xB4\xA2\xC9\x9E\x4B\xAA\x7C\xCF\xA9\xB9\xFA\xB4\x05\x98\x08\x30\xCF\x73\xCD\xAD\xBF\xC8\x95\xBA\x9A\x4D\xC1\xAF\x76\x83\xC5\x8F\x02\xF1\x9D\xBB\x08\xC5\x9E\x82\xD5\x97\xA9\xB7\x8E\xC7\xA4\xF3\x87\xBE\x9D\xEA\xB5\xC3\xBD\x98\xC4\xA6\x05\xA7\xA1\x98\xD9\xAA\xA1\xAD\xB6\xC8\xA2\xE9\x81\xC3\x9E\xD9\x94\xC1\x4D\xFF\xCB\xA3\x69\xA2\xD2\x4C\x8B\xCB\x92\xF2\xB2\xA8\xA5\x74\xB2\xC1\x68\xF9\xAC\xBD\x47\xEF\xB9\xB0\x37\xAB\xCE\xAC\x6D\xCD\xA8\x22\xF8\xBB\x20\xFA\xA9\xA1\x4A\xAB\xA0\xB5\xAF\x97\xBE\xCF\xDA\xB5\x57\xA7\xDE\xB9\xC1\x51\xC4\xD6\xAD\xA6\xCF\xC0\xAA\x8A\xDD\xAB\x09\xEB\xBE\x9F\xAE\xDA\xC1\x53\xC0\x0C\x88\x27\x8F\xCD\x55\xBE\x58\x35\x20\x84\x21\x90\x2C\x17\xDE\x55\xBF\x44\x8D\x14\x18\x23\xDD\x50\x9F\xD9\xDB\x6E\x1A\xAB\x0F\x52\xB7\xD2\x00\xFA\xCA\xD8\xC1\xDC\x9B\x5C\xBF\x00\xA1\xBF\xA7\xD9\xCA\x26\xC2\x90\x76\xBA\x35\xDB\x5E\xBB\xDC\x93\x31\x1C\x04\x46\x02\xE1\x95\x7F\xD0\xB5\xD9\x77\xC5\x0F\x85\x80\x80\x05\xCE\x92\x74\x09\x94\x6F\x9A\x90\x53\x21\xA3\xBF\xBF\xD9\xD6\x81\xAD\xC4\x00\x32\x81\xAB\x1B\x80\xAA\xA8\x18\x36\xC7\x9C\xFC\xBD\x90\x1D\xC0\x02\x47\x58\x08\xCD\x0F\x8E\x4C\xC7\x2E", -"\x43\xC9\x06\x48\xC8\x21\xCC\xC3\x8A\xE5\x52\xAA\x9F\xDE\xBF\x53\xC8\x99\x5E\xC6\xCB\x6A\xBA\xB2\xE7\x55\xC0\xCE\x2E\xCF\x94\xCD\xA1\xFF\xAA\xE5\xD4\xD5\x35\x2F\xB8\xEA\xDA\x8C\x1D\xDC\xE9\x6E\x01\x98\x29\x18\x23\xEA\x73\xFC\x50\xDB\x51\xCA\xDC\xAF\xFF\xB8\xCF\x5F\xDE\xD1\xDE\xDC\xA2\x9C\xBD\xCB\x96\xDF\xAB\xE0\xD8\x37\x06\xA3\x88\xD4\xDA\xEA\xD4\x4C\xE0\xAF\xDF\x60\xE2\x50\xAA\xE3\xE4\xA6\xA8\xF9\xDF\xDD\xDC\x9D\xDD\x18\xFF\xD4\xC8\x82\xC8\x26\xEF\x43\x86\xE1\x1B\xED\xD2\x9A\x11\x00\x80\x88\x0E\xFF\xB2\xC4\xC3\x45\xE3\x3B\xBF\xDE\xE4\x28\xEA\xE7\xDD\x04\x27\x6F\x94\xEE\xE0\x98\x1E\xE4\xC7\xB6\x83\x21\x90\x45\xB5\xE5\x91\x7A\xE2\x90\xD4\x9B\xF2\x21\xA7\xE6\xE8\xDD\x44\xC5\xDC\x42\x2A\xFA\xED\xD3\xD9\xED\xD2\xEB\xCD\xEE\xBB\xF0\xED\xD2\x61\xF3\xDD\xDE\x77\x90\xE8\x10\x77\xEF\xDF\xD0\xF8\xED\xA2\xC1\x9E\xEC\x41\x00\xFF\xF6\x1F\x47\xE4\xBA\x5F\xA6\xF3\x32\x89\xF0\xE2\xD0\x93\xE4\x2A\x34\xBF\xDD\xD2\x8C\x26\xDA\xD7\xFF\x51\x66\x08\x38\xFA\xB7\xD6\xF8\x37\x18\xEF\x2B\xF2\x03\x37\x6E\x22\xEB\xED\x90\xDE\xFE\xCA\x02\x18\x28\xFF\xDE\xFE\xCE\xFA\x32\x0F\x00\x23\xEF\xE7\xC5\xE0\xFE\xC9\xA8\x8C\xCD\xAA\xFD\x08\x38\xFF\xA4\x89\xB9\xF3\x28\xBC\x84\xC6\x56\x30\x44\x8A\x47\x4C\xF6\x70\x20\xA4\x70\x10\xB4\x63\x64\xFE\x74\x07\xA1\x77\x45\xFB\x72\x36\x47\x27\x58\xC8\x11\x7F\x08\x14\x81\x21\x6C\x7F\x85\x4B\x80\xF9\x62\x80\x43\x4F\x58\x1C\x68\x1C\x40\x62\x81\x22\x6B\x80\x90\x73\x10\x0E\x8F\x58\xE6\x7E\x69\xD8\x74\x10\xDA\x7C\x77\xFD\x7B\x43\x74\x04\x81\x04\x14\x81\x1C\x85\x7C\xBA\x1E\x03\x29\x82\x6C\x1A\x72\x43\x7C\x7B\x80\x07\x81\x48\x0E\x86\x70\xBE\x70\x75\x16\x08\x11\x45\x81\x46\x50\x73\x62\x0B\x80\x7E\x02\x17\x37\x35\x8B\x76\x43\x8C\x7D\x6E\x08\x7F\x04\x1A\x7F\x49\x8B\x80\x3B\x86\x82\x20\x0D\x7A\xAC\x27\x76\xE9\x6B\x62\x59\x60\x20\x54\x83\x10\xFA\x70\x63\x2F\x82\x45\x00\x8A\x85\x37\x61\x86\x4B\x60\x86\x5A\x64\x07\x3F\x8D\x4B\x30\x6B\x80\x0D\x8B\x85\x58\x6F\x86\x3E\x05\x82\x41\x67\x79\xB9\x18\x39\x08\x1E\x87\x96\x7C\x26\x98\x79\x81\x30\x81\x87\x02\x15\x83\x35\x7A\x87\x82\x4A\x72\x32\x83\x10\x16\x8A\x72\x2E\x0B\x80\x69\x87\x88\x76\x85\x73\x37\x55\x68\x63\x82\x10\xFA\x75\x68\x4A\x80\x83\x93\x80\x00\x35\x85\x68\x3E\x07\x89\x6E\x56\x88\x90\x4E\x56\x91\x80\x83\x75\x86\x54\x6E\x5B\x45\x29\x42\x87\x5E\x4B\x62\x5E\x44\x64\x68\x48\x10\xB5\x8A\x46\x45\x4D\x46\x6F\x4F\x3D\xC0\x54\x47\x7F\x59\x45\xC4\x5E\x1A\x09\x80\x5B\xF3\x52\x48\x51\x55\x03\xB7\x62\x10\xB9\x60\x5D\x95\x6B\x75\x0F\x53\x7B\xC0\x65\x7B\xF2\x67\x60\xA1\x6E\x51\x6C\x57\x6C\xE3\x5D\x60\x6E\x50\x61\xCE\x8B\x6A\x14\x6A\x57\x85\x70\x50\x19\x60\x58\xD3\x6F\x81\xBC\x11\x26\x17\x84\x64\x8D\x58\x10\xEB\x8D\x81\xC8\x17\x7C\xE9\x5A\x59\xA9\x55\x59\x97\x5C\x04\xBD\x83\x5A\x0D\x70\x39\x0F\x71\x71\x92\x58\x5A\xAF\x45\x5A\xA8\x47\x8F\xA9\x5F\x57\xAB\x59\x83\x79\x7A\x74\xEB\x7E\x69\x2E\x04\x03\xC2\x73\x10\xC4\x72\x78\xB2\x75\x78\x0C\x7C\x7C\xFC\x80\x02\xCF\x7D\x78\x0D\x7E\x67\xD3\x74\x1C\x4B\x72\x85\xA6\x8B\x7D\x5D\x88\x7A\x34\x0A\x7A\x04\x1C\x7A\x20\x90\x65\xBF\x2C\x76\x84\x71\x51\x5E\x70\x6F\xD2\x81\x76\x22\x04\x77\x65\x71\x92\x51\x61\x8C\x02\x1A\x18\x77\x8A\x27\xC5\x89\x93\xC0\x42\x03\xB8\x58\x10\x3F\x98\x45\x6C\x84\x69\x6E\x4E\x5B\x49\x32\x90\xC2\x53\x94\x74\x00\x04\x8A\x81\x88\x3E\x6B\x72\x0C\x1E\x26\x4E\x93\x64\x33\x01\x73\x04\x13\x73\x53\x9B\x64\x6D\x47\x73\x52\x80\x74\x3C\x7F\x4A\x3C\x9B\x65\x20\x0D\x65\x6F\x0F\x65\xDF\x4B\x7F\x44\x75\x48\x46\x77\x47\x48\x79\x1F\x7B\x42\x10\x7D\x4C\x1E\x40\x29\x45\xE1\x24\x3F\x5A\x21\x5F\x81\x5C\x29\x00\x2F\x1B\x1C\x04\x12\x02\x26\x8E\x74\x0D\x33\x88\x5F\x1B\x1E\x0E\x97\xF7\x16\x90\x15\x5A\x88\xFF\x6F\x1B\x20\x06\x98\xEE\x11\x85\x34\x9F\x2B\x21\x80\x75\xBF\x14\x3B\xDE\x2E\x1E\x6E\x84\x25\x86\x5A\x5B\xBF\x1C\x3F\x97\x96\x1E\x4D\x9A\x72\x8F\x4A\x72\xBF\x16\x02\x8E\x96\x1E\xA4\x80\x4F\x73\x3B\x49\xBF\x18\x02\xA7\x95\x1E\x10\x0F\x41\x09\x11\x1C\xBF\x1C\x19\x75\x97\x9B\xB8\x9B\x1C\xC1\x17\x80\x6C\x39\x9B\x00\x0C\x19\xB6\x96\x58\x3E\x16\x25\xF2\x8F\x1B\x6F\x90\x00\x71\x91\x06\x92\x11\x1C\x9C\x12\x9B\xBE\x9F\x9B\xCF\x9F\x3C\xCF\x34\x97\x5C\x45\x9D\xAE\x5E\x45\xCC\x15\x10\xBD\x96\x2C\xB7\x9C\x19\x3F\x94\x10\xCE\x9E\x9B\x73\x9E\x45\xC6\x96\x9D\x82\x49\x45\xC7\x9F\x9D", -"\xCF\x97\x9C\xC9\x91\x9E\xD1\x9D\x5A\xF0\x98\x53\xAC\x9F\x9E\xBA\x94\x12\x14\x34\x9F\xD4\x29\x9D\xFF\x0B\x9D\x9E\x15\x9B\x11\x80\x36\xE6\x92\x9D\xCF\x99\x9A\x93\x4B\x9D\xBF\x1F\x48\x87\x6D\x4D\x07\xA8\x97\x4D\x5F\x9C\xFA\x97\x9C\x04\x28\x9F\xCB\x94\x12\xF9\x15\x49\xB8\x9C\x9F\xFF\x93\xA0\x0C\xA0\x20\x9E\x1A\x9E\xBE\x94\xA0\xAC\x9A\x9F\x95\x49\x1F\xB8\x9E\x9E\x40\x21\x9D\x05\x8F\x25\x1D\xA8\x9F\x20\xA1\x22\xC1\x9D\x3A\xD1\x14\x9C\xA8\x5E\x2F\x11\x87\x81\xFA\x9C\x38\x24\xA7\x9B\x26\xA9\xA1\x1F\xAB\xA1\x2A\xA7\x5B\x2C\xA8\x4B\x85\x6F\xA2\x31\xA5\xA4\xA2\x54\x07\x34\xA6\x36\x61\x48\x58\xFA\x9C\x44\x39\xA5\x97\x3B\xAA\xA4\xEF\x99\xA2\xB9\x1B\xA2\xF4\x9D\xA2\x65\x04\xA4\xC3\x96\xA4\xC5\x9C\xA3\x9F\x1D\x4B\x4C\xA1\x1C\x34\x66\x72\x25\xAE\xA5\xFD\x97\x9B\x54\xA2\x58\x40\xA7\xA5\x42\xAE\x56\x5A\xAC\x3A\x5C\xA3\xA3\x9F\x25\x5C\xE7\x9A\x94\xFA\x9C\x9B\xF8\x91\xA5\xD0\x3C\xA6\x6A\x6B\x61\x6B\xA3\xA5\x6D\xA0\x4F\x6F\xA1\x1F\x86\x57\xA4\xE5\x9F\x8A\xD7\x99\x24\xFA\x9D\x88\x37\x99\xA7\x66\xA1\xA4\x7D\xAD\x54\x56\xA0\xA8\x4B\x53\xA4\xB7\x9A\x2C\x5D\xA2\xA5\xCF\x37\x81\x12\xA3\x9B\x24\x11\x82\xD1\x90\x9C\xB7\x91\x82\x8C\x60\x8E\x65\x0B\xA0\x91\xAB\x97\x83\x1C\x9C\x08\x9F\x9E\x83\xA4\x2D\x82\x98\x1C\x49\xAB\xA7\x22\x81\x20\xC1\x1B\x9D\xC5\x2E\x9F\x0C\x1E\xA1\x00\x0E\x9E\xB8\x91\xAB\xBC\x13\xAB\x9B\xA8\x58\xE9\x98\x9F\x80\x9E\xAB\x90\xA1\x9F\x85\x65\x97\xFA\x9C\x19\x34\x68\x9B\xAF\xAB\x29\x9B\x9A\x94\xA8\xA1\x9F\xBA\x5F\x0F\xEE\x9B\x9F\xF6\x31\x2E\xDE\x98\x11\xC8\xA5\x97\x61\x2C\x99\x73\xA2\x8C\xAE\x5A\x94\xC5\xAC\xA7\xD6\xAA\x94\xDF\xA4\xA9\xCA\xAE\x56\xDA\xA0\x48\xDD\x98\x11\x27\x0E\xAD\xF8\x91\xAE\xD4\xA3\xAE\x8D\xA5\xAE\x6F\x87\x9C\xF3\xA8\xAE\x74\xA1\x96\x74\x06\xA0\xC2\x90\xA7\x64\x96\x26\xBF\x11\x9A\x7C\x81\x20\xDB\x97\x80\xBA\xA1\x67\xF4\xA4\x9F\xF6\xAF\x86\xD5\xAF\xAF\xBA\x57\x9C\x0C\xB8\xA6\xB8\x4A\x5B\x02\xB0\xA3\x5B\xA5\xB0\x73\x07\xB0\x38\x29\x95\xB9\x12\xA1\x37\xA0\x7F\xF8\x92\xAA\x75\x9D\x33\x10\x53\xB1\xE4\xA6\x8C\x81\x51\x2E\xFA\x96\x72\x1A\x7D\xA9\x34\xB7\x9B\xFA\x95\x2C\x4C\x89\x9B\x18\x4E\x74\xF8\x98\xB0\x82\x83\xB2\x13\xA6\x14\x15\xA7\xB2\x5E\xA7\xB1\x75\x9E\xB3\x4F\x9B\xAA\x24\x13\xA6\xF8\x98\xA1\xF0\xA4\x9F\x48\xB0\x20\xAF\xA8\xA9\x72\xA3\x34\x2D\xB0\xB0\xF9\x91\x1C\x04\x23\xB3\x24\xB1\x1C\x26\x77\xA6\xF8\x95\xB2\x0C\x19\x89\xB9\x9E\xB4\x15\x89\xAC\xFF\xAA\x4B\xAF\xAA\xB2\x9A\x25\x8C\x04\x17\x49\x8B\x9A\xB4\x46\x1C\x19\x7E\x81\xAA\xF5\xA6\x58\xBA\x4C\xB2\xF9\xAE\xB2\x4D\x58\xAD\x24\x18\xAB\xF1\xAB\xAB\x0F\xBF\x9E\x7A\x9F\x25\x7A\xBD\x38\xF4\x5D\x54\xE7\xAC\xAE\x69\xB1\x58\xEB\xA8\xA2\x81\xA3\x49\xEF\xA9\x7D\x81\xB8\x10\xFD\xA0\x42\x77\xB0\xA3\x79\xB8\xAF\x88\xBC\xB7\x00\x2C\xAF\x68\xB7\xB5\x6A\xB3\xAA\x2C\x72\x10\x45\x7F\xB2\x38\x24\x10\x91\x79\xB0\x93\xBC\x82\x95\xBC\x6D\x83\xB1\x9D\x85\xB0\xB4\x56\xBB\xB7\xFB\x76\xB1\xA1\xB6\xBB\xA3\xB5\x97\x21\x87\xBA\x0D\xA9\xBA\x03\x1B\xBA\x3F\xB8\xA4\x61\xB1\x1C\x8C\x35\x01\x44\xBC\x10\x6B\xBB\xAD\x2B\xBD\xAA\x46\x38\x84\x52\x8C\xAC\xC1\x15\x49\x47\x85\xB3\x5D\xB6\x9F\x18\x17\x01\xC9\xBC\xB8\x2D\xB4\x9A\xC0\xBB\x63\x7B\x83\xBC\x0E\xA1\x1C\x9E\x18\x01\xD6\xB5\x9F\x46\x1C\x38\x64\xB7\xA1\x5E\xA8\xBC\xF4\x90\x99\x28\x98\x1B\xCB\xBC\x10\xC3\x27\xAA\x6E\xB3\x10\x70\xBE\x67\xB8\x9D\xA4\x18\x19\x01\xDB\xB4\x10\xAF\xA0\x24\x17\x9F\x1B\x88\x9E\x23\xD1\x9D\xAC\x18\x1A\x01\xFF\xBF\x9C\x93\x91\xBD\xCE\xB3\x10\xD5\x71\x99\x19\x2B\x9D\xAD\xBC\x79\xAF\xB3\x10\x97\xB0\x9E\xF8\x9D\xC0\x12\xCE\x06\xBF\x10\xBF\x58\x7F\x2B\xA0\xBF\xBE\xAD\xA7\x92\x21\xC8\x1B\x1B\xB5\xA4\x1D\xBB\x73\x65\x9F\xB1\xDF\xB7\x72\x2D\x73\xBC\x15\xC5\x7A\x17\xC4\xC3\x0C\x1F\xB8\xD9\x2C\xC1\xF1\xBE\xC1\x0F\xC2\x10\x11\xCB\xC3\xB8\xB4\xC2\xD4\x7D\x91\x1D\xC9\xC2\x5B\xAB\xC2\x55\x60\xB2\x0C\x12\xBC\x49\xB0\xB3\xAC\xAC\x10\x1B\x0B\xC0\xBE\x9A\x98\xFA\xB7\xBF\x55\x4E\x6F\x7E\x63\xC3\xDA\x98\x11\xEE\xBC\xAD\x5C\xC1\xBB\xCF\x94\xC5\x9E\x64\xC0\x3B\x9F\x6F\xC7\x9D\xC5\xD1\x95\xC0\xBA\x16\xC4\xF8\xB5\x8C\x18\x52\x28\x1F\xC5\xC2\x50\x7A\xC5\x8C\xA4\x2D\x9C\x15\xC7\x38\xC5\x2D\x62\xC2\x6C\x64\xCC\x66\x09\x92\x6C\xC7\x95\xC7\xB8\x9A\xC6\x65\x0C\xC6\x57\xCE\xC7\x00\x0F\xC6\xB6\x27\xB8\x38\x9B\xB9\xE7\xB2\xBD\x24\x1F\x1B\x1D\x0F\xC8\xD7", -"\xB2\xB4\x56\xC4\xC9\xC0\x11\xC9\x18\x1F\x01\x98\xC5\xC9\x35\x13\xA2\x52\xC0\x9D\xE0\xA5\xA8\x99\xA4\xAB\xC3\xA8\x22\xC6\xBC\xB9\xD0\xA8\x11\x53\xB4\xCA\x55\xB6\xCA\x94\x1B\xA4\xA8\xC3\x1B\xAA\xC5\xC3\xA2\xC1\x2E\x54\xBC\x2C\xC2\xA1\xCB\xB5\xA1\xB4\x35\x15\xC7\x4F\xAE\xC5\xCA\xB7\xA9\xAE\xCA\xCB\x8F\xA2\xCB\xBC\x1A\x9F\xBF\x11\x02\x9D\xCE\xC9\x83\x1A\xBE\xA1\xC3\xBF\x25\x23\x10\xCD\xB8\xC8\x6F\xB8\xC5\x63\xCE\xA9\x46\x1F\x1B\xB5\x8D\xCC\x4E\xC4\x12\x38\xBE\xCD\xD8\xBB\xCD\x18\x15\x02\xE2\xC5\xBC\x4B\xBF\xC2\xAB\xC3\xCC\xA3\xC0\xA3\x86\xAC\xB9\x38\x92\xAE\xCA\xC2\xAF\xE7\xCF\xCD\x46\x11\xCE\xF4\x9B\xB3\x0C\x19\xC1\x61\xC1\xB2\xDE\xB9\xC9\x96\xC6\xCD\xCF\x9A\xCF\x96\xBD\xB3\xFE\xC9\xB0\x72\xB5\x13\x4C\xB4\x9F\x66\xB4\x10\xFC\xC3\xC5\x07\xD3\xBC\xAD\xCE\xCE\xA5\xC4\xA7\x14\xB7\xAF\xF3\xC2\xB8\xF5\xC6\xB3\xC1\x13\xB4\xF9\xCE\xA5\xBC\xA8\x9B\x58\xA0\xD0\x9F\xC5\xCB\x75\x9D\xD0\x03\x11\xD2\x18\xB5\xA9\x6E\xA4\xCC\x14\xDF\xCA\x02\xA7\x17\xC8\xC6\xAB\x9F\xA6\xD2\xE1\x28\xD2\x02\x1A\xD2\x75\x98\xA5\x13\xD1\xA7\xC6\xCA\xA9\xBC\xC6\xA3\xC1\x1E\xA4\x4D\xB0\xD2\xB9\xBD\xB9\xF2\x9E\xA2\x2E\xDE\xD3\x86\xB7\xCC\xB5\xAA\x9F\x0B\xDF\x9E\x38\xD0\x00\x3A\xD1\x2E\x3C\xDB\xD4\x5B\xAF\xCE\xB5\xB8\xD4\xD7\xAB\x9B\x18\x16\xC8\xD4\x23\xD5\x55\xDD\x2D\x57\xDD\xCE\x4C\xD4\xBB\x2B\x46\x9E\x62\x4B\xA8\x36\xDD\x2D\x62\xD7\xD4\x38\x96\xA9\x66\xD9\xD5\x15\xDC\xCB\xA7\xC1\xAC\x1B\xD9\xD7\x98\xC0", +"\x00\x0E\x00\x02\x83\x80\x07\x7D\x00\x82\x03\xFF\x45\x08\x82\x83\x86\x81\x21\x6F\x6C\x2F\x32\x37\x84\x87\x02\x86\x00\x17\x82\x81\x24\x3C\x3A\x27\x30\x6D\x65\x06\x98\x8A\x80\x8E\x86\x00\x10\x92\x94\x98\x88\x04\x97\x80\x8E\x74\x56\x21\x2C\x35\x3A\x91\x8A\x84\x25\x8C\xA7\x89\x93\x8F\x98\x82\x8D\x08\xC0\x94\x21\x37\x37\x8D\x91\x91\x0C\xB9\x88\x9B\x91\x8D\x9C\x8C\xA0\x3F\x83\x83\xA5\xA0\x96\x98\x93\x93\x04\xCC\xAA\x9E\x93\x80\xA9\xAE\xA9\x44\xC6\x96\xA9\xA8\xAB\x82\xAC\xA7\x0C\xAD\xA9\xA3\x82\x27\x35\x3A\x37\x64\x61\x32\x39\x38\xA0\x9D\xB3\x86\x03\xBC\xAB\x8B\xBC\xB8\x01\xB7\xB7\x71\xF3\xB5\xA4\x8A\xA1\xAD\xBD\xA6\x7B\x88\xAA\xAA\xCC\xB6\xB4\xB8\xB9\x74\xDC\x82\x85\xC6\xB7\xC3\xAC\x97\x7D\xFF\x8F\xC2\xC2\xCD\x83\xBA\x00\x67\x89\xC4\x8B\xC3\xD5\xC4\xC0\xC8\x83\x89\x9F\xC1\xDD\xCC\xD3\x81\xC5\x9A\x81\xD1\xC4\x9C\x00\x8D\xDB\x87\x6F\x6E\x34\x25\x38\x3C\x3A\xBC\x8C\x05\x9D\xFF\x77\xD8\x84\xE0\x88\xDD\xBC\xBE\xC8\xC0\xE9\xD3\xCB\xD4\xCB\x68\xC1\x8F\xA7\xCD\x31\x92\xDC\xD7\x02\x89\x18\x9A\xEB\x8D\x8E\x39\x34\x62\x75\x3B\xDF\x74\xF5\xF0\xF3\xE7\x0F\xC4\x21\x34\x31\x36\xF2\xF2\xAF\x02\xC0\x90\x95\xE5\x32\xDE\xF7\xF2\xD8\x80\x0B\xC4\x2F\x33\x31\x3A\xEB\x74\x37\x74\x78\x7C\x19\x43\x45\x10\x1B\x65\x00\x82\x83\x3F\x0B\x18\x4D\x82\x40\x49\x2E\x13\x1C\x1D\x72\x35\x13\x18\x1D\x69\x39\x6B\x80\x01\x18\x5C\x82\x42\x13\x6F\x24\x12\x4A\x80\x1E\x88\x45\x88\x15\xC9\x4B\x8D\x03\x76\x2C\x9D\x74\x84\x78\xE2\x65\x15\x88\x41\x25\xAE\x15\x54\x70\xDC\x48\x49\x8C\x4C\xDF\x61\x7B\x6C\x7A\x00\x36\x13\x4D\x4D\x9D\x40\x93\x12\x7A\xEC\x44\x80\x53\x18\xB9\x7B\x66\x7E\x80\x4A\x94\x70\x81\x94\x02\x4C\x98\x73\x93\xF7\x79\x7B\x7D\x7F\xFF\x75\x74\x1C\x95\x00\x30\x12\x1D\x53\x67\x33\x1B\x82\x96\x03\x7C\x7E\x7C\x80\x0F\x88\x4D\x9B\x98\x6F\x34\x17\x81\x82\x5E\x8B\x80\x9B\x9C\x00\x8A\x08\x46\x9E\x02\x6B\x7F\x8A\x8F\x65\x26\x90\x97\x74\x02\x78\x9E\x95\x9B\x04\x6D\x93\x1A\x44\x73\x29\x1E\x18\x55\x21\x43\x04\xA2\x74\x85\x88\x80\x83\x8C\x03\x75\x85\x56\x00\x93\x91\x55\xA4\x9D\xD7\x58\x60\x03\x1C\x75\x22\x10\x8A\x88\x82\xB7\x78\xA3\x40\x6D\x91\x83\x85\x85\x17\x99\x8E\x18\x9F\x08\x74\xAE\x9D\x8F\x31\xA9\xAE\x7B\xAA\x02\x6D\xA2\x84\x85\x16\x98\x89\x6C\xA6\x02\x5A\xA1\x48\xB1\x00\x08\xB7\x89\x72\x60\x96\x9E\x91\x80\x02\x90\x08\x45\x0C\x18\x52\xB0\x73\xB5\x38\x4B\x82\x80\xB6\x49\x5A\xB7\x7C\xB7\xD9\x9E\xB6\x78\xB8\x84\x62\xB6\x7A\xB5\x08\x68\xB9\x12\x13\x53\x14\x12\x15\x15\x43\x14\x19\x13\x13\x4E\x1F\x1F\x10\x14\x45\x0E\x1A\xB3\x40\x2F\x3C\x0F\x0B\x0F\xC0\x5F\x61\x04\x46\x03\xD0\x8C\xBA\xBB\xF0\xB2\xB4\xBF\x17\x43\x0C\x1F\x13\x14\x45\x3B\xB2\x43\xBF\x2F\x3E\x0D\x66\x01\x18\x54\x09\xC5\x5E\x4F\x0D\x10\x14\x13\x45\x18\x1F\x15\x11\x20\xCD\x19\xBC\x15\xF6\xB8\xBA\xBD\x87\xFC\xBE\xBF\x08\xA7\x16\x5B\xCC\x42\xC6\x02\x53\x1B\xBB\x11\x20\xE3\xC5\xCB\xC9\x0C\xCE\xC0\xC6\xC4\x00\x2F\x02\xD2\x0F\x92\xBD\x54\x40\x71\x47\xC6\x8B\xCE\x13\x28\xF7\xB9\xBC\xCC\x08\x50\xDD\xBC\xB2\x39\x84\x4B\x88\x43\x57\xC0\x04\xC9\x11\x26\xCC\xDD\xCF\xC3\x45\x10\xD4\x42\xD4\x3E\x1F\x64\xAE\x61\x3A\x46\x81\x15\x15\x41\x0C\x12\xDB\x40\x52\xFD\x08\xC5\xB7\xF7\x40\xDE\x11\x10\x26\xC5\xC8\x42\xDE\x5B\x21\x1D\x0A\x1E\x41\x2D\x0A\x14\x0C\x2D\x39\x0A\x0E\x0B\x5F\x2F\x0D\x09\x17\x2B\x04\x8C\xAE\x7E\xA2\x81\x14\x14\x15\x56\x2D\xD5\x15\x11\x13\x18\x49\xE6\x40\x22\x1B\x1E\x14\x0F\x3E\x22\x0D\x16\x0A\x22\x3C\x17\x0A\xE7\xA0\xE7\x03\xEB\x09\xF9\x48\xDF\x55\xCC\x0F\x5D\xCD\xD4\x15\x22\x18\x45\xEF\xC4\xFE\xA1\x0D\x09\x0B\x28\x1E\xEA\xE2\x0F\x5D\x3C\x1D\x0A\xEF\x2D\x00\xF2\xF3\xF0\x5E\x00\xF9\x0A\x0A\xBB\xD5\xC5\xD7\x40\x59\xE8\xDB\x51\x5E\x44\x12\xE1\x10\x0B\x18\x58\xF8\xEF\x0B\x21\x2F\x0B\x17\x91\xD6\xDE\xFD\xEE\x17\x2F\x1D\x11\xF1\xF9\xBE\xE6\xFC\x1D\xF9\xE8\xC9\xFD\x17\xF2\xEC\xDD\x15\xC7\xD9\x09\x64\x8C\xCA\x40\x54\x21\xC4\x14\x09\x18\x7C\xF2\x43\xF8\xA0\x7D\x06\x08\x27\x00\x05\x17\x32\x0F\x05\x6E\x0F\x04\x7B\x7F\x61\x71\xC1\x45\x77\x70\x89\x6B\x71\x0A\x2B\x0C\x0F\xD2\x67\x07\x71\x0B\x45\x4A\x49\x03\x23\x0A\x28\x01\x0B\x08\x45\x05\x68\x42\x22\x8F\x05\x39\x2B\x06\x75\x93\x22\x40\xB5\x0C\x2F\x79\xEC\x03\x20\x0B\x6A\x5D\x4A\x6E\x1B\x78\x20\x1A\xB0\x84\x4B\x00\x4E\x06\x14\x6F\x01\x4F\x29\x2C\x3A\x0E\x74\x01\x20\x43\x42\x80\x00", +"\x20\x20\x04\x04\x3C\x17\x87\x9A\x5E\x4E\x07\x16\x80\x01\x47\x4A\x92\x84\x1D\x0F\x08\x22\x2A\x82\x21\x8A\x39\x9E\x86\x5C\x74\x01\x7A\xE8\x43\x26\x88\x49\x91\x84\x80\x3E\x08\x4D\x2B\x86\x52\x37\xF4\x62\x20\xAD\x58\x07\x8C\x3A\x2E\x01\x06\x86\x18\x21\x1C\x82\x29\x89\x36\xBE\x02\x07\x20\x02\x04\x0F\x22\x06\x89\xBB\x66\x60\x04\x78\x96\x45\x48\x20\x0B\x0E\x10\x18\x0C\x47\x30\x5B\x34\x20\xA0\x07\x57\x44\x81\x50\x04\x7D\x00\x04\x0A\x79\x85\x62\x11\x20\x04\x0F\x79\x81\x74\x21\x86\x93\x0B\x52\x67\x55\x0C\x8B\x84\x56\xA9\x21\x4F\x91\x48\xBA\x8F\x05\x96\x9E\x8D\x11\x0B\x9B\x51\x37\x0D\x57\x51\x62\x39\x92\x25\xA9\x0C\x91\x39\x20\x05\x8D\x28\x80\x00\x71\x58\x0E\x54\x60\x71\x51\x37\x44\x84\x20\x11\xBC\x9F\x56\x58\x42\x5E\x0D\x6F\x91\x08\x46\x4A\x94\x8E\x62\xAF\x51\x58\xB2\x57\x8D\x1E\xBC\x0F\x06\x3E\xA0\x02\x95\x8B\x82\x90\x28\x85\x97\x90\xEF\x0E\x93\x91\x8D\x80\x52\x2D\xA6\x9F\x06\x4D\xA1\x0E\x96\xBD\x86\x9A\xAC\x65\x80\x00\x2C\x33\x39\x4F\x7B\x4F\x87\x3B\xDE\x4F\x8D\x14\x18\x26\x9E\xCD\x93\x9E\x6E\x52\x93\x08\xD9\x67\x64\x95\x4D\x5E\x49\x2D\xA0\x0A\x9E\x3A\x00\x0C\x9D\x6C\x96\x52\x97\x69\x80\x01\x35\xAD\x8E\x05\x33\x0E\x02\x64\x12\xAD\x98\x3B\xB8\x8A\x8F\xA9\x98\x6F\x2A\x81\x95\x2A\x10\x00\x0C\x9B\x88\x80\x50\x38\xDE\x92\x9C\x48\x92\x94\x92\x9A\x98\x92\x08\x1A\x9C\x9B\x4E\xA3\x92\x44\xA1\x9E\x90\x29\xE3\x93\x9A\x54\x97\x9A\xA3\xAC\x8C\x52\xA3\x10\x50\x95\x95\xB3\x93\xA0\x6D\x8D\x02\x02\x75\x8A\xA1\x7D\x97\xA3\x8F\x37\xBF\x8C\x47\xA1\x26\x88\x90\xA4\xA1\x46\x23\xBF\x4D\xAE\x26\xA3\x92\x11\x15\x97\x92\xB2\x9B\x90\x16\x2E\xAF\x93\x98\xAF\xA5\x94\x35\xB9\xA2\x52\xA0\x0D\x95\x57\xBC\xA1\xAB\xB4\x87\x9F\x2D\xC5\xA4\x0F\x5C\xBB\x91\x9D\xD0\x80\x98\x46\x43\x90\xAF\x5F\x88\x9B\x06\xA4\x18\x21\x5E\xCD\x95\xAF\x63\x92\x9A\x8F\xD5\x89\xAB\x46\xA0\x0A\x9A\x8F\x8E\xAA\xAA\x8A\x98\x8D\x38\xD3\xA4\x9C\x73\xA8\x9D\x98\x71\xAE\x0E\x50\xC9\x8D\xAF\x68\x87\xA9\xB0\xD8\x8B\xA9\x19\x4D\xA6\x91\x90\x90\xAA\xB1\x4F\xBB\x34\x4D\xA2\x05\x9C\x4B\xAA\xAD\xB2\xB9\x2E\x88\x14\xE2\x87\x50\x07\x6F\x84\xB5\xBA\x2E\x06\x0C\x60\x08\x22\xDA\x8D\x98\xB6\x74\x12\x9B\x47\x86\x98\xB4\x37\x0B\x92\x4C\x64\x56\x94\x26\xEE\x9F\x0C\xFA\x3A\x37\xB7\x63\x52\x21\x99\x26\xA9\xA0\x50\x74\x0B\x91\x70\x52\x4C\x5B\x83\xA8\xB6\x84\x85\xA0\x5D\x04\x28\x5C\x71\xC6\xBE\x8D\x1D\xB1\x4D\x08\x70\x3D\x8A\x40\x59\x68\x89\xED\xA3\x8E\xA3\x08\xBC\xA8\x29\x8C\xAB\x8C\xF5\xA2\x47\x8D\x35\x18\x21\x7C\xCD\x9E\xBD\x32\x12\x99\x04\x58\x08\x45\x6F\x58\xA8\xBF\x23\x6B\x39\x0C\xFC\xA6\xBE\x40\x98\x98\xBF\x36\x87\xA2\x54\xCD\xB0\x9C\x43\x0E\xAC\xAC\x17\x36\x04\xA2\x08\x30\xC0\x51\xCE\xBF\xAE\xA4\x99\xB4\xB0\x1D\xA7\xB0\xAE\x09\xBC\x91\xD0\xA0\xAD\xAA\x57\xAA\xA6\x26\xBB\xBB\xAA\x99\xB0\xA0\x8F\xA2\x9F\x93\x68\xFE\x52\xAD\xC1\xA5\xAB\xA7\xB1\x9E\xA4\x08\x69\xA6\x97\xA0\x83\xA9\xC1\x4C\x87\xA9\x8B\xD9\x99\xC3\xCE\x9E\xC1\xAA\x1B\xDF\xC0\x4A\x96\x92\xC4\x6B\xAD\xA6\xC4\xA0\x88\xC4\x92\xAB\xC6\xA7\x0B\xEF\xC0\x96\x1D\xB2\xC4\x8D\xEB\xAE\xB8\x84\xAD\x8C\xBD\x2F\x8F\xA2\x0C\x73\x88\x20\x2E\xD3\xC3\x8C\x3A\xC2\xB0\x8F\x83\x9A\xC3\x6F\xA0\xB0\xB1\x42\xD6\xA9\x4A\xD9\xA7\xC9\xAF\x9E\xAA\xC5\x26\xA7\x97\x8E\xF8\x8F\xC9\xB3\x92\xC8\xA8\x6C\xA0\x08\x96\xD7\x8E\xB3\xDD\x2E\xAF\x85\x7D\xC5\x0F\x1B\xBC\x08\x22\x42\xCD\x99\xD0\xD2\x97\xC2\x36\xC6\x82\x04\x01\xA0\x02\x72\x94\x76\x73\x60\xC2\x44\x26\x50\xAA\xA9\xD0\x7F\xD7\x89\x6F\xC1\x93\x20\xBA\x90\xB6\xAE\xB2\xAC\x98\x42\x22\xD4\xB3\x4F\xFE\xAF\xB2\x73\xD8\xC0\x99\xBE\xC8\xCC\x20\xCE\x93\xB4\xA5\xA3\xA1\x6F\x87\xCD\x2F\x12\xDF\xA8\xBB\x03\x3A\xB9\x7D\xBA\x8C\x86\x39\x61\xB8\x23\xE4\xA9\x89\x7D\xBE\x08\xBC\x04\xD7\xC9\x9E\x66\x8D\xC1\x0D\x5C\xC4\x20\x2F\xF8\xC6\xA8\xD3\x89\xD5\x61\xE5\xC2\xA5\x33\xC1\xCC\xA6\x20\xCB\xCE\x8C\xED\xCD\xAA\x25\xDF\xAC\xC9\xD6\x8E\xCA\x4E\xD0\xC3\x91\x3B\xEA\xAD\x8D\x40\x59\xBC\xB3\x13\x5A\xDD\xDE\x2F\x88\x0B\x18\x30\xDD\x33\xFA\xB9\xB6\x3C\x8E\xC9\xA0\xC7\xB8\x91\x11\x6B\x6D\x6C\x80\x97\x4F\xB9\x98\x90\xD1\xE5\x4C\x07\x72\x7F\xCF\x58\xAB\xF9\x79\xBE\xC1\x82\xAA\xAC\x7A\xC0\x0B\x6E\x08\x30\xE2\x3B\xC8\x41\x0C\xEB\x94\xE7\x8D\x23\x18\x21\xC6\xF9\x94\xE2\x7E\x95\x7C\x0A\x41\x0B\xE3\x71\xEA\xAE\xBE\xF6\x00\x0A\xB5\xAF\xB8\x85\x6B\x8C\x2D\x4C\x2C", +"\xB4\x99\x06\xB6\xA8\x21\xCC\xE1\x8A\xE4\x68\xDC\x9D\xB7\xC8\xA1\xB8\x56\x82\xC7\xB8\x3C\x80\xBA\xB9\x34\xAF\xDB\x73\xF8\x81\xBB\x36\x94\xBD\xE6\x06\xB6\xC8\x5B\xB8\xD2\x20\xED\x8F\xA6\xBB\xBE\xC4\x0E\x78\x80\x01\xD8\xA1\xC4\xDA\xCF\xC8\xCD\x9C\xA6\xB6\x30\xD0\x0F\xF2\xB6\xD0\x08\x20\xED\x12\x88\xD6\xDE\x9C\x9A\xB1\x8F\x02\x86\x8A\xC0\x92\xDB\x90\x4A\xF5\x23\xA0\x5B\xEC\x23\x5B\xA6\xD2\x56\x9A\x48\x26\xEE\xCE\x9E\x97\x31\xBC\xDF\xBA\xB8\x3A\x6C\x20\x7A\x65\xBD\x6F\xD7\xEA\xE8\xE7\xBB\xCD\x9D\x0F\xB7\x04\xB3\x83\x2E\xD8\x8B\x91\xDA\xCC\x67\xF4\xDB\x67\x9D\xC8\xCC\x6C\xC3\xC8\xAB\xDB\xDC\x90\x92\xEF\xC3\xA7\x38\xEC\xC0\xF2\x64\xA3\xDC\x4F\x8C\xDA\x93\x29\xE8\xDB\x83\x57\x94\xDF\xD4\xD9\x6D\xDD\xEE\xBD\xD0\xBC\x64\x07\xF1\x79\xF4\xD7\xEA\x88\xC4\x22\xE2\x25\xE1\x0C\xA7\x82\x23\x99\xDC\xFC\xE9\xEA\x8F\x6D\x4D\x79\xB9\xF7\xEA\x94\xD7\x88\xB7\x7F\xE3\x22\xDE\x2E\xE1\xB6\xA8\xF0\xF3\xF7\x00\x23\x21\x79\xB8\xB7\xEB\xC3\xDD\x98\xCD\x99\xDA\xEA\xD7\xB3\x00\xEC\x82\x22\xEF\xFA\x41\xC9\xD2\xD9\xAA\xDD\xA6\x47\xEB\xEC\xE0\x93\xC3\x4A\xA5\xB6\x91\xD0\xAC\xCB\xC5\xEB\x68\xD2\x00\x46\x72\xFC\xCE\xAF\xCE\xF8\x2E\x56\x88\x21\xFE\xE5\xB8\xD0\x8F\x96\xF9\xD0\x76\x74\x10\x78\x71\x68\xBF\x7A\x45\x40\x49\x7F\x04\x19\x7F\x46\x4C\x7F\x1E\x6E\x03\xFF\x7E\x61\x4C\x70\x00\xDA\x54\x80\x06\x81\x44\x73\x5F\x45\x20\x03\x76\x0D\x89\x6E\xF4\x68\x80\x03\x19\x7F\xAD\x75\x80\x3F\x44\x07\x87\x7B\x80\x49\x44\x7B\x1C\x89\x1C\xC1\x7F\x42\xF4\x6E\x02\x15\x86\x7C\x45\x49\x81\xAD\x7E\x03\xB6\x73\x10\xB8\x74\x71\x11\x8A\x5D\xBE\x70\x75\x15\x8B\x82\x02\x16\x82\x13\x7F\x5F\x34\x88\x11\x37\x8F\x5F\xD9\x71\x84\xEC\x1E\x82\x23\x85\x82\x32\x84\x7C\xD6\x55\x5C\x00\x24\x7F\x08\x12\x85\x3C\x7E\x7A\x3D\x43\x82\xAB\x78\x81\xC3\x70\x85\x4C\x4F\x84\xDC\x50\x7D\xBD\x7C\x85\xB1\x55\x81\xD9\x70\x46\x55\x84\x46\xC6\x6C\x56\x52\x84\x10\x54\x8F\x74\xBD\x65\x81\x59\x8F\x83\x47\x4F\x65\x5D\x89\x86\xCE\x50\x86\x59\x6D\x60\x64\x8C\x75\x72\x84\x87\xFB\x49\x5E\x48\x6B\x86\x03\x14\x85\xBB\x6C\x83\x58\x80\x6C\x5A\x82\x6C\x48\x68\x86\xB5\x65\x5F\x78\x87\x45\xBB\x6B\x87\x72\x78\x81\x8A\x8F\x55\x3E\x07\x84\xBD\x56\x01\x18\x1A\x89\x9A\x64\x77\xB9\x12\x82\x5B\x49\x7C\x02\x1A\x37\x40\x83\x78\x98\x8E\x89\x6E\x02\x88\x02\x14\x85\xBD\x5A\x84\x5B\x49\x83\x94\x89\x77\xEA\x49\x1B\x4D\x4D\x22\xED\x48\x5B\x3E\x87\x8B\x48\x70\x51\x31\x74\x10\x33\x7C\x7C\xF5\x6A\x55\x38\x7E\x73\xC9\x5F\x06\xCB\x53\x5C\x05\x59\x73\x40\x7C\x5C\x46\x74\x74\xAF\x73\x5D\x6A\x58\x5B\xEE\x75\x2B\xF0\x71\x64\x47\x84\x80\x34\x0D\x7D\x03\x1F\x7D\x64\x70\x7A\x85\x5D\x68\x96\x47\x7E\x05\x78\x47\x6E\x7B\x7E\x8F\x6E\x61\x40\x09\x82\xBD\x10\x26\x21\x82\x03\xF2\x68\x10\xEF\x87\x82\xC9\x12\x7E\x63\x5E\x2C\x03\x67\x4B\xFC\x6C\x04\x22\x70\x70\x8F\x63\x39\x03\x73\x8E\x64\x58\x6F\xFC\x89\x70\x54\x0B\x8F\x03\x5E\x70\x35\x82\x10\x45\x8C\x1E\x16\x7F\x5F\xB2\x5B\x71\x08\x10\x91\x49\x44\x7C\x78\x40\x3E\x20\x76\x90\x24\x74\x71\xB4\x6C\x18\x57\x45\x50\xD6\x75\x50\xB2\x58\x4F\x08\x12\x92\x13\x92\x86\xC1\x8D\x4F\x4D\x03\x3B\x18\x96\x4B\x05\x5B\x91\xA5\x19\x6C\x86\x79\x75\x42\x7E\x02\x34\x0B\x78\x02\x1D\x78\x6C\x55\x61\xD2\x6D\x63\xE0\x76\x66\x94\x77\x6D\x54\x57\x79\x45\x6A\x55\xF5\x5C\x79\xA8\x2E\x79\x4D\x63\x7E\x75\x61\x63\xA5\x78\x67\xCE\x50\x04\xA7\x8F\x4C\x76\x5F\x88\xED\x4D\x8A\x34\x02\x6A\x04\x14\x6A\xB2\x81\x59\x15\x68\x59\xE3\x73\x6D\xAC\x61\x64\xAE\x65\x52\x8D\x56\x5A\x8F\x52\x95\xC7\x4E\x92\x03\x10\x83\xC0\x8C\x4E\xB8\x54\x2E\xF5\x37\x1F\x0F\x88\x66\x30\x81\x68\xC0\x1C\x01\x24\x12\x20\xEA\x84\x07\x40\x34\x6F\xC0\x1E\x01\x79\x97\x1F\x09\x90\x00\x0B\x91\x06\x46\x24\x71\xC0\x10\x02\x81\x9E\x1E\x5E\x83\x25\x93\x25\x50\xC0\x17\x3B\xE1\x2C\x98\x76\x8E\x98\xB0\x3A\x35\x6C\x50\x1C\xFE\x33\x99\xE6\x10\x88\x5F\x56\x37\xA4\x40\x1C\x26\x0B\x98\xE6\x11\x95\x7A\x72\x2B\xB9\x8D\x5B\xC0\x18\x02\xA4\x95\x1E\x10\x02\x42\x09\x12\x1C\xC0\x1D\x19\x70\x95\x9B\x70\x9D\x1C\x05\x18\x2C\xB0\x96\x9B\x03\x1A\x41\x0C\x14\x9B\xB5\x9C\x96\x6F\x93\x19\xC2\x19\x1F\x6F\x3C\x9B\x00\x0E\x9B\x08\x10\x9C\x70\x92\x9C\x48\x74\x18\xC2\x13\x75\xC8\x26\x9B\xC7\x90\x1A\x18\x1C\x9C\xE4\x2E\x9C\x4B\x4A\x1B\xD8\x9E\x29\x94\x20\x00\xF6\x8A\x1B\xC0\x1D\x98\x5E\x24\x2E\xB8\x9C\x20\xA8\x78\x9C", +"\xBD\x97\x9D\xB5\x90\x34\xDA\x43\x9E\x95\x95\x9E\xB7\x92\x1C\x8F\x33\x98\xB6\x9D\x19\xDD\x99\x29\xF7\x30\x00\xEF\x9C\x87\xC5\x1F\x42\xAA\x90\x9D\x24\x1D\x1A\xEA\x94\x10\xF9\x98\x2D\x60\x20\x99\xA2\x2F\x92\xED\x45\x50\xFF\x0B\x9B\x93\x15\x9D\x4E\x43\x9B\x18\x17\x02\x18\x10\xA1\xBC\x99\xA0\x26\x90\x9F\xB5\x65\x50\x83\x96\xA1\x05\xA2\x10\xE4\x9A\x1B\x18\xA1\xA2\xAF\x18\x60\xF5\x5F\x0F\xD5\x94\x20\x14\xA7\x99\x04\x15\xA2\xB5\x9A\xA1\xDC\x5C\xA1\x1C\x9D\xA0\x26\x93\x98\x2C\xA5\x9B\x23\xA4\x07\xD5\x90\x1C\x60\x2F\x73\xC6\x83\x07\x38\x26\x8B\xC0\x8A\xA2\x9D\x2C\x2D\xF8\x97\xA1\x26\xA5\x20\x97\x9A\xA0\x46\x37\xA2\x1D\x97\xA3\xEC\x96\xA2\x3B\xAD\xA3\x47\xA1\x1F\x03\x10\xA4\x65\x23\xA4\x2C\x49\x72\xDB\x94\x07\x05\xA7\x9E\x8E\x3B\xA4\xD7\x27\x9E\x4E\x4C\x50\x64\xA1\x1C\x24\x1F\x38\xB9\x44\x9D\xE9\x92\x3D\x05\xA5\x78\x00\x27\xA0\xC9\x2B\x9F\xFD\x9F\x7E\x78\xAA\x7D\x68\x65\xA6\xC2\x1F\x19\x53\x79\xA6\x02\xA9\x14\x6C\xAB\xA4\xD5\x9F\x19\xF6\x95\x9B\xA6\x93\x8B\x6E\x04\xA7\xEE\x97\x23\x59\x74\x10\x6B\x46\x97\x03\xA4\x12\xBA\x9B\xA4\xCA\x9E\x9D\x05\xAA\x9D\x52\x41\x9B\x24\x16\x9C\x96\xAF\xA6\xAF\x31\xA2\x9A\xA0\x20\x81\xA8\x13\xD2\x94\xA8\xA0\xA8\xA5\x26\xA3\xAA\x5E\x24\xA7\xCD\x22\x90\x34\xAC\xA0\x55\x8A\x9E\xE7\x9D\x19\xD0\x74\xA6\xE7\x95\x9D\x68\xA3\xA5\xD4\x8C\x10\xD5\x93\x98\xBB\xA0\x97\x9E\x9F\x49\x56\xAF\xA4\x22\xA3\x10\x29\x63\x53\xB1\xA0\xA5\x88\x79\x99\xC8\x97\x9E\x83\x9E\x81\x80\xAA\xA6\x49\x1E\xA9\x26\xA5\xA8\x8F\xAA\x9E\x72\xAE\x25\x9F\x10\xA2\x21\xA3\xAC\xA1\x97\x9E\x0C\x51\x81\xB6\x98\xA1\x66\x3B\xA4\xDB\xAA\x1B\xDD\xA8\xAE\x28\xA8\x64\xAE\xA3\x29\xE1\x90\xA6\xA9\xA6\x9D\xA9\x79\x22\xF4\x95\x2D\x4B\xA6\xAE\xD9\xA8\x9C\xE9\xA4\x07\xEB\xA4\xA5\xED\xAF\x55\xEF\xA7\x99\xF1\xA1\x30\xE9\x9D\x7A\xE7\x99\x4B\xE4\xA5\x9B\xFA\xA9\xA7\x71\xA1\x9F\xEA\xA5\xA1\xEC\xAD\x88\xEE\xA1\xA3\xF0\xA0\xAB\xF3\xA7\x12\x08\xB1\x9D\xFB\x95\xA0\x0D\xBD\xAB\xDF\xA0\xB1\xFE\xA2\xB1\x00\xB4\xB1\x02\xB6\xB1\x04\xB8\xB1\xC6\xA0\x39\x51\xAC\x5D\xE7\x90\x7D\xA2\x8C\x9B\x1F\xB0\xA9\x13\xB5\xA3\x42\x7F\xAF\x21\xB6\xB2\x9F\x43\xB0\xDF\x95\xB0\x44\x8F\xB3\x1D\x94\x71\xE7\x92\xAD\x12\x89\xAF\xF3\xA1\xAC\xE4\x2D\xAF\x38\xBF\xB0\x3A\xB4\x4A\x3C\xBE\x9D\x3E\xB9\x36\x52\xBD\x4E\x7E\x95\xAB\x9A\x3F\xA9\x26\xA7\x27\xCE\xAB\xB2\x8B\x12\x74\x0F\xA4\x12\x12\xA5\x9B\x9D\x1E\xAD\x2F\xAB\xA4\x5A\xBE\x5C\xCB\xA7\xAC\x30\x90\x20\x1F\xA5\xB3\xB2\xAD\x46\x30\xA5\xB2\x36\xB9\xA2\xD5\x9A\x8A\xD7\x2D\x19\x04\x21\xB7\xE4\x27\xB6\xA4\xAB\xA0\xCC\xA2\x74\x38\xAE\xB6\x7F\xBD\x46\x74\xA9\x8B\x45\x7B\xB5\x3A\x24\xA4\xB8\x56\xA4\x0C\x16\xB7\x2D\xAB\x9C\x4A\xA9\xB5\x93\x2D\x46\x69\xBC\xB2\xCD\xAE\x5C\x83\x94\xA7\x95\xBD\xB5\x84\xB5\x9B\x86\xBF\x8C\x68\xB6\x8B\x04\x1B\x5A\xCF\x96\xA2\xE2\xA2\x33\xD3\xAC\x1C\xC2\x1D\x19\x15\x08\xB5\x21\xA9\x9A\xA8\x80\x1C\x89\xA1\x59\x8C\xB8\x13\x2B\xA2\xB6\x57\xA0\x00\x7A\xB0\x2E\xB0\xB8\x96\xB2\x22\xBB\xFE\x9B\x95\x76\x51\xB8\x26\xA3\xBB\x76\x55\xAC\xDF\x9E\x9D\x5A\xA2\xA4\xA2\xBB\x96\x5E\xA2\x45\xB5\xB8\xA9\x48\xAC\xAB\x65\xB6\xA2\xBD\xB7\x9A\xB9\x10\xBC\x93\x8D\x89\xBE\xB9\x1B\x99\xBB\xA4\xC6\xB7\x4C\xC8\xB2\xBD\xAA\xA1\x26\xC5\x8B\xA5\xCD\xBE\x42\xC7\x75\xBA\xA9\xB8\x2D\xE7\x9F\x38\x9C\x81\xA2\x49\xA0\x97\xB9\x8B\x94\x8E\xAC\xB5\x79\x81\xBA\x9C\xA9\x14\x9D\x17\x01\xAE\xB5\xA0\x7D\x99\x1C\x06\xB3\xB5\x1B\xB0\xB6\xE9\xB7\xB7\x24\xB3\x42\x4B\xA1\xC0\xBD\x13\xC0\xD3\x35\xAF\xBD\x1D\xB6\x26\xAB\x97\xBB\xBA\xAD\x01\xBF\x49\xF3\x93\xA9\x0C\x18\x01\xFF\xBA\x9E\x87\x9F\x5F\xC0\x13\x98\x85\x99\xAB\x07\xCF\xB8\x04\x14\xB6\x03\x15\xC1\xD8\x2F\xC1\xEC\x11\xC2\x40\xBD\xA0\x14\x72\xC1\x21\xA2\xC2\xF2\x44\x71\x2A\xCC\x9B\xE0\xA2\x22\x19\xCC\xBF\x18\x19\x01\x1D\xCC\xAF\xA2\x23\x9C\x5D\xA3\xC4\xBA\x8F\xA5\xED\xB6\x9E\xC2\x19\x4B\x1A\x0F\xC3\xC9\x95\x9B\x40\x25\x8E\xC0\x13\x97\x41\x69\xBA\x66\xAE\x5A\x47\xC7\xC5\xB8\xAB\xBA\x18\x1B\x01\x4C\xC6\x9B\x75\x9E\x61\x51\xC2\x93\x81\x61\xBD\x09\x1F\xAB\xB8\xBC\x10\x83\x97\xC3\x5C\xA9\xB8\x2E\x23\xC5\xFB\xAD\x50\xD5\x8E\x48\x34\xC6\xA2\x52\xCE\x48\xE3\xB3\x10\x87\x7B\x58\xA2\x5A\xBD\xFF\x9C\xBD\xD8\xBE\x06\x64\xC8\x17\x70\x97\xA9\x29\xCB\xA4\x5F\xCB\xA7\x6F\xC1\xA9\x1E\x63\x98\x9F\x16\x9B\x75\xC0\x28\x77\xCA\x46\x59\x7A\xC7\x81", +"\x2B\xB9\xF9\xBD\xB7\xD3\xA7\x9E\xC0\x1D\x01\x58\xC9\xA6\xEF\xBE\x9F\x05\xA3\xBF\xE4\x2D\xA8\x21\x11\xC6\x79\xAD\x93\x80\x25\xAA\x84\x10\x1C\x1F\x0D\xC9\x4B\xA7\xBA\x0C\x1B\xB0\x83\xC4\xBD\xDC\x2F\xAA\xFF\x6E\xC0\xD2\x35\xC0\x82\xA8\xAF\x26\xA2\xCA\xE0\x26\xCB\xCF\x28\xCB\x95\x10\xC1\x01\x29\xC4\xBC\xC2\xBF\xB4\xC8\xA0\x17\xB7\xCB\x19\xBC\x82\x02\xC4\xAD\x38\x14\xB4\xB2\xC4\x2E\xBE\xC5\xCB\xCB\xC1\xCC\xCD\xC4\xCC\x9A\xC8\x11\x21\x0E\xCA\x80\xAF\xB2\x04\x3C\xC4\x4F\xB1\xAA\x51\xB1\x71\x2F\xC8\x84\x61\x00\xCD\xAB\xCA\x71\xDE\xC9\xC5\x24\x17\xAA\xBD\xC9\xCC\xD7\x20\xCC\xF2\x98\xBF\x2D\xBD\xB7\xDB\xCC\x10\x25\x0D\xCE\xCF\xA5\x9C\x18\x11\xC9\xEE\xC9\x14\xC0\x18\xC2\xFC\xC0\x2E\xE7\x96\xAD\xC8\xC3\xB5\x27\xC2\xB8\x6A\xBD\x4E\xF5\x5A\xCE\x09\x13\xAE\xA8\xAA\xD0\x03\x14\xD0\x38\xC7\xC1\x4E\xB8\xB2\x3D\xBA\xB2\x0F\xCD\xD1\xBA\xC8\x13\x8F\x33\xCD\xE0\x28\xAD\x0C\x16\xD1\xB6\x99\xC3\x65\x03\xCE\xE5\xB5\xCE\x70\xA3\xCC\x54\xB6\xAF\xB4\x17\xCC\x05\xA4\xD2\x08\x16\xD2\x3A\xA8\xD1\x22\x2A\xD2\x4C\xA0\x9E\x1C\xDD\xD2\x82\xCF\xD2\xBD\x17\x9E\xF0\xC1\xA2\x34\xDB\xD0\x72\xB2\xAB\xF5\x5A\xD3\x4B\x2D\xD3\xCC\xA2\xAB\x0E\xA2\x1C\x30\xB3\xD1\x1D\xD6\xD4\x39\xB3\xB7\x15\xB0\x97\xF4\xC2\x9E\x2F\xC7\x7B\x35\xCF\x5F\x43\xB2\xD3\xEA\x95\xD4\x15\xDC\xD0\x96\xB6\x6B\x3B\xBA\xD1\x50\xBC\xD4\x3F\xD9\xCB\xF4\x69\xCF\x23\x95\xD0\x06\xD2\x1C\x95\xA0\xD7\x74\xD5\xD7\x9D\xC0", }; void XmlGetParserBuffer(vl::stream::MemoryStream& stream) diff --git a/Import/VlppWorkflowCompiler.cpp b/Import/VlppWorkflowCompiler.cpp index eb21ddc0..d738702d 100644 --- a/Import/VlppWorkflowCompiler.cpp +++ b/Import/VlppWorkflowCompiler.cpp @@ -7075,9 +7075,9 @@ L"\r\n" L"\t;" SerializedTable ***********************************************************************/ -const vint parserBufferLength = 166148; // 1879317 bytes before compressing +const vint parserBufferLength = 166114; // 1881398 bytes before compressing const vint parserBufferBlock = 1024; -const vint parserBufferRemain = 260; +const vint parserBufferRemain = 226; const vint parserBufferRows = 163; const char* parserBuffer[] = { "\xFF\x00\x01\x82\x81\x82\x33\x82\x81\x0A\x06\x81\x88\x81\x81\x24\x38\x3B\x30\x63\x68\x05\x36\x35\x36\x34\x3B\x22\x78\x70\x32\x25\x33\x3B\x39\x35\x37\x6E\x7F\x62\x83\x92\x91\x05\x84\x00\x26\x8C\x8E\x92\x39\x32\x31\x3A\x3A\x65\x24\xA4\x97\x07\x94\x98\x87\x97\x6F\x50\x32\x2F\x30\x3D\x32\x38\x3A\x79\x44\x25\x23\x3C\x31\x32\x39\x30\x74\x1F\xA1\x92\x92\x93\x0B\x92\xA7\x01\xC2\x21\x33\x35\x33\x20\x91\x39\x74\x72\x35\x23\x34\x3F\x36\x39\x21\x61\x6C\x2C\x2C\xA2\x90\x0B\x92\xB3\x51\xE9\x2E\x26\xA9\x38\x8E\x8C\x8E\x1E\xA0\xA4\xBF\x7E\x07\x91\xBB\xB4\x6E\x64\x2E\xBB\x8D\x8A\xA7\xB9\xBB\x06\x80\xC2\x2C\x3F\x33\x33\x35\x29\x0F\xB0\xAD\x35\x84\x3F\xBE\xBA\x81\x42\x1B\xA1\x27\xC9\xC5\x33\xC4\x8B\x8E\x89\x80\xC0\xB2\xB3\xBC\xB8\xBF\x64\x9E\x27\x82\xD1\x80\xB0\xAC\x29\x1C\xF5\x2C\x34\x39\x26\x8A\x9E\x33\x10\xE5\x02\xA4\xA6\xA0\xA4\xD0\xA6\x0F\x27\xB9\xC5\xD8\x31\x34\x36\xBD\x19\xFC\xB1\xAB\xAC\xA1\x96\x82\xE3\x43\x3D\xFF\xD4\x29\x3D\x9F\xB8\xB4\x06\xD0\xC3\x25\xAD\x8B\xD9\xA3\xA3\x49\xF2\xA4\xAB\x07\x94\xED\xD2\xEA\x73\x4D\x16\xC2\x3E\x9B\xB8\xA8\x83\xE7\xD6\x8F\x3D\x98\xEE\xAC\xC4\xA4\x96\x8C\xCF\xE7\xB2\x86\xA8\x29\x30\x75\x54\xAF\xEA\xC2\xFC\xB3\xF3\x81\xE9\x79\x4B\x4E\x1D\x69\x24\x1E\x4F\x7E\xF1\x58\x6E\x7F\x53\xF5\x57\x59\x57\x56\x5D\x72\x11\x12\x1C\x67\x35\x17\x65\x63\x64\x56\x07\x4A\x86\xA5\x4E\x8A\x54\x57\x5E\x56\x75\x6D\x76\xC4\x72\x4B\x42\x41\x27\x96\x5E\x18\x56\x1F\x91\x8E\x65\x5F\xDA\x4C\x51\x07\x49\x33\x9D\x86\x46\x5A\x75\x25\x18\x83\x85\x73\x52\x07\x4A\x8F\x1D\xBB\x4F\x4A\x5A\x3A\x95\x6C\x8F\x76\xDD\x42\x42\x88\x76\xB7\x72\x4B\x6E\x41\x4F\x82\x5C\x19\x19\x30\x7B\x8D\x7C\x53\x27\x83\x47\x8A\x50\x2C\x90\x81\x8B\x50\xD7\x76\x61\x8E\x89\x27\x5B\x94\x94\x44\x12\x54\x46\x47\x8B\xC3\x73\x5F\x93\x40\x4F\x85\x1E\x1A\x85\x4B\xA2\x95\x88\x49\x08\x27\x49\x9D\x40\x72\x96\x89\x12\x62\x73\x54\x07\x4A\xA0\x7C\xB3\x9D\x1B\x9F\x96\x6D\x60\x4E\x1C\x54\x5C\x5D\x90\x49\x80\x43\x40\x61\x9F\x8B\x47\x52\x1B\x94\xCC\x4E\x74\x58\x74\x03\x50\x73\x44\x63\x75\xA4\x83\x5E\x06\x27\x64\xAC\x9D\x46\x43\x70\x44\x19\xA6\x55\x53\x57\x45\x70\x9F\x63\x94\x4A\x02\x27\x74\xA7\xAB\x5B\x30\xB7\x93\x4B\x7F\x02\x67\x7C\x9A\x52\x56\x8A\x8C\x50\x90\x06\x44\xB6\x10\x61\xB6\x6E\x17\x1B\xAF\xB2\xA3\x4C\xA6\x40\xD0\x46\x1E\x55\x11\x68\x81\xB8\x84\x53\xCF\x81\x41\xB6\x57\x6D\x08\x5C\xB2\xAE\x65\x74\x71\x42\x11\x75\x2E\x1E\xA0\x48\x13\x95\x87\x90\x53\xBC\x81\x47\x78\xB9\xE6\xA4\x81\xAB\xA3\x23\x44\xB3\x42\xB1\xE5\xA7\xBE\x1B\xB7\x73\x4C\x07\x4A\xBF\xE3\xB9\xB4\x88\xAB\xFD\xBF\xB2\x41\x12\x66\x3C\xB8\x91\x42\xDE\x40\x08\xC2\xB5\x6E\xBA\x67\xC2\x1B\x66\x3E\x4A\xC2\x8C\x34\x93\xC0\x4F\x19\x16\xF0\xA9\xAF\x5C\x0D\x27\x41\xC9\x40\x4C\x14\x97\xC6\x4C\x0D\xC3\x4D\xC1\xC9\x74\x16\x16\x51\x1A\x61\x17\xA1\x4C\x59\x35\x86\x45\xCC\x13\x69\x0B\xA1\x5B\xC9\x24\x47\x07\x4A\xCF\x01\x4D\x11\x18\x1C\x04\xDB\xA2\xB8\x00\xE2\x6D\x14\x7A\x1C\x3C\xFB\xAC\x81\xD0\x69\x38\x1A\x5A\x69\xAF\xB8\xAD\x98\x59\x06\x27\x49\xD5\xD0\x6F\x24\x1A\x6B\xCC\xEC\x8F\xD8\xD1\xD7\x5F\xD5\x1E\x46\xB2\x46\x07\x57\x1B\xBA\x4E\x92\xCC\xD6\xD7\x53\xA6\xDA\x5B\x19\x88\xAD\x13\x5E\x4D\x06\x78\xDD\x10\xD9\x71\xE7\xD7\x1A\x13\x61\x0B\x69\xD9\x18\x6B\xD7\x9D\xD9\x42\x4F\xBB\xD0\xDD\x19\x72\xCA\xB7\x7C\x1D\x68\x33\x5B\x07\x49\x93\xEF\xD5\xDA\xDF\x57\x3E\x64\x18\x58\x72\x24\x13\xE1\xE1\xC2\xB2\x44\xA2\x41\xA3\xC0\xEB\x63\x1C\x70\x31\x63\xBD\xB3\x22\x76\xB2\x40\xB1\x4E\x25\x17\x1F\x74\x53\x73\x1D\xD2\x48\x1C\x86\x49\xED\xEC\xB3\xDE\x5F\x1B\x90\x6E\x25\x17\xEF\x3F\xB9\xC3\x4B\xEE\xEC\x8A\xAF\x61\x6F\xF0\x00\xC6\x4D\xF2\x13\xAA\x45\x52\xCD\xD1\xC3\xBF\x82\x43\x13\x62\x14\x52\x1E\x1D\x31\xD3\x98\xCC\x56\xD4\xF2\x45\xCF\x40\x35\xD8\xFA\xF4\x45\xC3\xF8\xD3\x40\xDE\x4F\x1D\xEE\x4D\x19\x64\x0C\x11\xE2\x18\x64\x21\x13\xF1\x96\x07\x57\xFE\xFB\x46\x64\x26\xE2\xF2\xC7\x57\x6C\x29\xA4\x02\x20\x30\x9D\x30\x7D\x0C\x66\x04\x4B\xAA\x4D\x30\x6C\x99\x2D\x58\x00\xE7\x3A\x24\x4F\x3E\x20\x29\xD5\x60\x5F\x1F\xEA\x62\x20\xDE\x52\x01\x0D\x34\x14\x28\x23\x63\x05\x0C\x1C\x24\x40\x62\xB2\x2F\x4A\x20\x4F\x5C\x82\xB2\x7F\x76\x6A\x7A\x62\x23\x80\x01\x20\x30\x07\xF7\x00\x0B\x37\x2A\x2B\x51\xE1\x64\x27\x03\xE7\x38\x35\x8A\x5B\x26\x5C\x2C\x82\x3A\x0B\xFF\x13\x64", @@ -7086,163 +7086,163 @@ const char* parserBuffer[] = { "\x10\x7E\x93\xA2\x2C\x9D\x06\x31\x10\xE8\x90\x4D\x0E\x80\x1B\x6C\x04\x15\x91\x13\x5B\x11\x1E\x47\xCE\x37\x30\xCF\x43\x62\x08\x9F\x20\x65\x07\x9F\xE6\x21\x39\x05\x8A\x32\xFC\x9D\x91\x2B\x8F\x91\x65\x94\x12\x0E\x8F\x30\x74\x73\x9F\x61\x16\x9F\x47\x13\xA0\x15\x84\x8E\xF0\x96\x06\xD6\x2F\x97\x05\xAA\x57\x07\xA2\x93\x2B\x80\xA0\x02\xA9\x9F\x1B\xAC\x58\x1D\xA2\x78\x85\x96\x7E\x8F\x42\x4E\xAD\x1E\x43\x07\x99\xA0\x38\x60\x87\x84\x80\x9F\x14\x3D\x31\x23\x67\xA2\xDC\x54\x12\x47\x9A\x31\x65\x0C\x31\x00\x83\x62\x75\x80\x00\x6C\x9B\x92\x32\x19\x89\x01\x15\x44\x2C\x3D\xA2\xDB\x82\x52\x2F\xA4\x12\x44\xA0\x00\x46\xA6\x32\x01\x86\x95\x5F\x74\x4F\x53\x2D\x80\x11\x8C\x32\xF3\x4C\x4E\x1A\xAC\x14\x0E\x88\xA5\x2F\x3C\x4E\x3F\xA1\xA4\xDF\x69\xA3\x24\x38\x87\x47\x1C\x06\x6A\x98\x55\x02\x1A\x92\xDF\x68\x8C\x01\x1C\x75\x42\x34\x34\x0C\x4A\x79\x06\x14\xA7\x6B\x0C\x79\x73\x1E\xA6\x00\x00\xA7\x43\x3C\x2A\x61\xAB\xA6\xAA\x7D\xA6\x3F\x32\x10\x71\xAC\x2A\x0E\x87\x07\x2C\x1F\x10\x62\x0E\x1B\x92\x90\x98\x84\xAA\x7D\xDF\x2B\xA5\x66\x9B\x95\x91\x60\x6D\xE2\x91\x10\xD4\x66\x38\x3A\x42\x36\x4D\x01\x35\x53\x36\x90\xD0\x41\x96\x4A\xA9\x3A\xB1\x67\x4E\x9C\xAE\xA9\x6E\x08\x8F\xD0\x4E\x91\x4B\xAE\x34\x87\x7D\xA9\x52\x39\xAA\xA0\xA5\xA3\xED\x86\x98\x73\x13\x8B\x19\x6A\x38\x5F\x36\x9E\x02\x1C\x71\x9A\x5F\x89\xB7\xA7\xA9\x63\x3B\x38\x08\x9D\x06\x7C\x3F\x67\x37\xA3\x12\xB8\xA4\xA8\xC7\xA2\xA9\x24\x1B\xAC\x96\x33\x25\x7F\xA8\xA9\x48\x18\x06\x7A\x82\x4E\xBA\xAD\x37\x73\x35\x37\x42\x76\x06\x6A\x35\x7B\xB8\x50\x57\xCC\xAB\x38\x8D\x3F\x37\xD0\x5F\x39\x17\x2E\xAC\x4C\x48\xAD\xC7\xA5\xAE\x8F\x38\x06\xD3\xA0\x00\x78\x8D\x06\xD0\x79\x8B\x02\x1E\x3F\xA8\x3B\x6B\xBF\xAF\x6E\x49\xAC\x82\xA5\x97\x97\x55\x44\x4D\x01\x18\xAF\xA9\x37\x66\xAB\x96\xA0\xD8\x7E\x9A\x37\x88\x8B\x02\xB0\x00\x04\xBA\xAF\xCB\x5E\x06\xBC\xA1\x10\xBE\xA1\xB1\xF5\xAD\xB0\x0F\xB6\xB0\xEC\x88\x81\xB7\x99\x9C\x09\x10\x3B\xB2\x3C\x6E\x9C\x43\x62\xD9\x9B\x99\x74\x00\x7D\xA2\xAE\xB0\x21\xB0\x1E\x91\xA5\xAB\x28\xA3\x12\xE8\x70\x00\xC7\x3D\x3B\x42\x2D\x45\x41\x40\x96\xCA\x99\x77\xFE\x8D\xAA\xB8\x33\x7C\xBC\x36\x15\x35\xB4\x24\x2D\xBC\xB1\xAD\x8F\x8E\xE7\x7E\xB3\x21\xBE\x3B\xC0\x37\xB3\xB9\x27\x9C\xCC\x8C\x7D\xBA\x37\xAF\xC8\x3A\x69\xCB\x30\x4D\x13\xB0\x00\x15\xB9\x58\xD0\x71\xB3\x33\xB8\x68\x55\xB4\xAB\x44\xB0\x00\xB6\xAE\x9E\x7F\x47\xAF\xD1\x3C\x4E\xAC\x2A\xA7\xCA\x80\x6A\x9A\xA5\x2F\xCA\x93\x5A\xDB\x3C\x4E\xDF\x34\x07\x69\xB3\xA8\x22\x5C\xB6\xE9\x63\x12\x64\xA0\x00\x70\xB8\x3E\x18\x62\xAC\x23\x55\x8D\xE2\x30\x50\x7D\xBC\xB4\xC3\x1C\xAA\x23\x63\x17\x7B\xB5\xB8\x43\xBF\x87\x45\xB1\x8C\x38\xA4\xB8\xD9\x34\x5A\x86\xBA\x14\x0E\x8F\x06\x93\xBB\x3D\xC8\xA3\xA6\x92\xB7\x3E\x95\xB0\x12\xD0\xA0\x00\x99\xA9\xB7\x22\x13\x5D\xFA\x30\x78\xF0\x32\x3F\x4A\x35\x3F\x8D\xB8\x88\x04\x1D\x35\x93\x94\x12\x41\x87\xBA\xEF\x3D\x3F\xD0\x5D\xBA\xB6\x9F\xB8\xDF\x68\x64\x02\x16\x40\x06\x29\x40\xC1\x30\x91\xEA\xAE\x76\x1A\x97\x59\x86\x5C\x9B\xC0\x5C\x8D\x76\x90\x7D\x88\x96\xBC\xAB\x5B\xAF\x03\x76\xA1\x12\x86\x8E\xB7\x87\x9A\xBD\x2D\xBB\xBC\x57\xBC\x02\x71\xBA\x1C\x3E\x10\x09\x74\x99\xC5\xB9\xBD\xCF\xB1\xB1\xC3\xBF\x0F\xCD\xB2\xBE\xCA\x59\x58\xA1\xB4\x15\xDE\xBF\x86\x9B\xA7\x78\xCE\xB9\xBE\x76\x26\xA3\xB8\x90\xBF\xE8\xB6\x41\x7B\xBC\xA6\xC9\x13\x5B\x1C\x3A\x17\x51\x81\xAE\x94\x51\x10\x1C\x4E\x41\xFF\x31\x42\x23\x40\x2C\x1E\xAD\xAF\x0A\xA3\x44\x7B\x80\x00\x2A\x4C\x31\x69\xA3\x60\x02\x14\x1E\x67\x0A\x16\x1A\x81\x87\x0E\xCC\xBF\x9F\xBE\x06\x4D\xA5\x44\x14\xCA\x16\x42\x0F\x3B\x79\x1C\x16\x17\xC1\xA3\x19\xCB\x42\xDF\x24\xA7\x03\x14\xA7\x15\x12\x88\x5F\x8B\x81\x27\xC0\xC1\xF2\x91\x81\x2D\xC1\xC2\xE5\x25\x3F\xB9\x42\x65\x04\x42\x10\x33\x47\x46\x64\x65\xB7\x09\x1B\xB6\x4F\xB6\xBD\xEE\x2C\xC3\x08\x49\x44\x21\x48\xBB\xF8\x5D\xB1\x64\x1D\xC1\x46\xCE\x43\x15\x11\x42\xDB\x6D\x8E\xAE\x80\xA3\x28\x46\xC4\xC0\x93\x45\x09\xC3\x9A\x09\x9C\xB3\xFF\x06\xAF\x01\x19\x45\x74\xBC\x45\xDF\x4E\x9F\x2B\x84\x93\x53\x2A\x2F\xD3\x49\x10\x58\x4A\x45\x64\xC5\x47\x23\x6A\xB6\x22\x88\xB7\xFA\x70\xC6\x00\x02\xC6\xDD\x45\x92\x4A\xCF\x6B\x02\x1D\x56\xFA\x7B\xB7\x63\x45\x46\x64\x0E\xC3\x38\x47\x8C\x76\xB9\x90\x74\xCE\xA8\x61\xCB\x56\x70\xCC\x62\xF1\xAC\xA6\x8A\xB0\x50\x81\x4C\x47\xA2", "\x9D\x9B\xA4\x9D\x8D\x00\xB3\xB8\x09\x1A\x47\x2D\x20\x81\xD2\xBD\x86\xD5\xBA\xC9\x36\x32\x10\x93\xC4\x07\x16\x42\xC7\x01\x1B\x18\x6E\x80\x7D\x80\xC2\x5E\xB5\x9B\xC4\xBA\xBA\x9F\xB6\x44\xCA\xE2\x51\x69\x74\x93\x89\xB2\xCA\x71\xB4\xCD\x22\x91\x65\xBE\x57\xB5\xCA\xBD\xCE\xB2\xC9\xA2\x12\x08\x93\x49\x74\x0C\x48\x7E\x68\xB8\x24\x84\x16\xC5\xCA\x48\xC7\xC8\x06\x8D\x4E\xB4\x59\x9B\x6C\xE2\x46\xCC\x54\x9C\x76\x57\xBF\x53\x12\xA8\x9F\x68\x09\xC9\x29\xA0\xC3\xD6\xC5\x49\x74\x7E\xC4\x14\xB8\x40\xF8\x1B\x1A\x21\xA4\xA0\x2F\xC8\xC1\xE1\xC6\x94\x00\x5A\xB3\x4A\x9E\x78\x83\x87\xC5\x61\xCE\xCC\xD7\xC0\x82\x2E\xA9\xB8\x50\xB6\x3C\xA1\x43\x4A\xFC\x47\x4A\x69\x09\x4A\xD0\x45\xBE\x38\x9D\x4A\xAF\x4C\x06\x00\xD4\x90\x3D\x1E\xCB\xEF\x90\x00\xB8\x4A\x4B\x74\x7C\xBB\x05\x78\x14\xF7\xC3\xCD\xFF\x07\xB5\x0F\xD6\x2D\x38\x90\xBC\xF5\x50\xD1\x47\x84\xB6\xFB\x99\x49\xB9\x49\xA1\x54\xC6\xB4\x24\x18\xD1\x23\xD4\x77\x29\xBA\x11\x6F\x00\x13\x03\x94\x06\x0B\x53\xBB\xC0\x4D\x13\xC7\x4D\xC8\x33\x6A\xCC\x0B\x90\x84\x26\x87\x8F\xAE\x25\xC6\x2C\x64\x91\x57\x99\x15\x17\x92\x85\xC4\x43\xD3\x11\x9A\xC7\x03\xD2\xCC\xDF\x61\x8F\x02\x1C\x4C\x0C\x4E\x4C\xDF\x28\xA4\x5C\xCB\xC0\x9E\x46\xC7\xCD\x46\x06\xD8\x49\xD4\x61\xB3\xB6\x58\x2B\xD3\x0C\x49\xC7\x3E\xD7\xD3\xF9\xCB\xCC\x5D\xD0\x83\x0E\xDF\xD5\x6F\xC6\x92\x60\xBE\xB8\x62\xBC\x45\x44\xDD\x7F\xDB\x40\xD6\x36\xD7\x6C\x4A\xD5\xC2\xF4\xC3\x4E\x16\x6F\x2D\x10\x66\x10\x7B\xD2\x61\xF3\xCE\x44\x02\x14\x4E\x00\x60\x4D\xA8\xC0\x00\x85\x59\x62\x9D\x97\xBD\xF2\x4F\xA5\x32\x38\xBC\x36\x6A\xBC\x0C\x89\xD8\x45\xCB\xD8\xEB\x4D\xD8\x07\xBC\xA1\x09\xBD\x57\x0B\xB4\xC4\x10\x49\x4E\x8C\xD3\x25\x8E\xD1\x64\x62\x9A\xCF\x9C\xD7\x1E\x59\xA6\xD9\x1B\xBC\xD6\x55\xCF\xBE\x1A\x97\xDA\xA0\xDD\x83\x75\xDF\x4F\x9B\xCE\xD9\x95\xD3\x25\xD6\x20\xD4\x53\xAC\x4E\x1E\xB5\x2C\xE9\x43\x50\xFC\x41\xDA\x0A\x88\xC9\x28\xBA\x9C\x08\x54\x50\x61\x1E\xC9\xAC\x99\xD9\x34\x71\xCA\x24\x19\xB2\xC5\xDF\xDB\x02\x76\xC7\xF0\xC2\x6B\x02\x73\xDC\x1F\xBD\xDB\x09\x5D\x4F\xB0\xD1\xB6\xAB\xDA\xB7\x00\x5F\xDC\x3B\x31\xAA\x39\xB3\x96\x06\x5B\x95\xE0\xDC\x06\xEE\xC3\xDB\xA3\xA9\x62\xF1\xCF\xD1\x39\x6A\x19\x02\x1F\x50\xBE\x1F\x81\x17\x22\x74\xEB\x99\x33\x43\x42\xD1\x0E\x50\x51\x8C\x76\x95\x58\x9D\xB6\x22\x1E\x06\x27\x10\x04\x7B\xDD\x6D\x27\x17\xE0\x07\xE3\x17\x73\x18\xE0\x27\x1A\xE0\x64\x1C\xE0\x09\x1E\xE0\x4C\x10\xE1\x06\x12\xE1\x32\x1A\xC2\x02\x14\xA7\x45\x08\x05\x50\x05\xE0\x02\x1B\xD7\x2F\x0E\x05\x09\xE4\x16\x18\xE1\x10\x74\xA1\x04\x44\x04\x04\x1E\xE1\x10\x20\xEB\x02\x01\x0D\xE0\x24\xE9\x79\xA4\xC5\x05\x42\x0F\xE2\x09\x16\xE3\x00\x0D\x02\x2B\xE0\x00\x73\x15\xE2\x00\x04\xA7\x4D\x05\x05\x4C\x0B\xE3\x20\xEA\x02\x3E\xED\xE3\x32\xEC\x81\x49\x06\x05\x44\xE2\x10\x2F\x0F\x02\xBE\x68\xE4\x09\x10\xE4\x4F\x04\x04\x38\xE3\x10\x38\xE5\x02\x3F\xA3\x17\xF1\xA5\x05\x4E\x09\x04\x4F\x0E\x04\x57\xE2\x10\x38\xE6\x02\xB3\x89\xCB\xD4\x97\x30\x4E\x04\x05\x45\x02\x05\x53\x05\x04\x43\x04\x05\x60\xEE\x04\x4D\xE1\x10\x2F\x0C\x07\x7A\xA3\x17\x75\xE0\x00\x4C\x05\x04\x2E\x7F\x02\x3C\x0F\x02\x3D\x0C\x88\x7A\xEF\x60\x02\x17\x04\x7E\xED\x8E\x2F\x0E\x03\x82\xEC\x64\x85\xE9\x10\x7B\xDC\x04\x54\x0B\xE7\x80\xE0\x64\x8F\xEC\xD7\x87\xE3\xE9\x86\xE6\xE7\x3E\x0D\x68\x97\xE3\x10\x7B\xD5\x04\x51\x0F\xE7\x3D\x02\xE8\xDD\x9F\xE9\x1F\xE7\xAF\x89\xE1\xB6\x2F\x01\x02\x82\xED\xA4\xC1\xA9\x10\x19\x61\x04\x53\x03\x05\x49\x07\x04\x74\xEB\xE9\x00\x02\xE8\x2E\x65\xA1\xC9\xDE\x92\x41\x09\x04\x7D\xE4\x04\x5F\x04\x05\x48\x05\x04\x4E\x0F\xE7\x3F\x0F\x02\x3F\x00\x49\x20\x32\x32\x02\x11\x05\x55\x05\x04\x53\x02\xE7\x61\xEF\x05\x4D\x01\x04\x52\x0B\x04\x94\xEF\x03\x70\x46\xD7\x80\xD1\xC6\x43\x0F\x04\x50\x05\x04\x5F\x04\x04\x45\x0C\x04\x49\x0D\x04\x49\x0C\xE6\x52\x0B\xE7\x3A\x0A\x03\x76\x7C\xE5\x28\x98\x78\x4F\x0C\x04\x61\xE3\xE6\x01\x18\xE3\x3A\x0A\x8F\x51\x56\x7F\xA4\xC5\x04\xEC\xE3\xEE\xF8\xE2\xE6\x27\x18\xE3\x3B\x0F\x40\xF4\xEB\x96\xF5\x1F\x04\x4D\x09\xED\xFA\xE0\x00\x38\xEC\x02\xC8\x72\xE5\x75\xAA\x24\x4F\x04\x05\x11\xF8\xE3\x2E\x0C\x7F\x85\x4B\x82\xE4\xE8\xEC\x5F\x0A\xED\x52\x01\x04\x59\x04\xE9\x5B\x01\xB3\xBE\xE8\xB0\x88\x78\xEF\x6F\xE3\xF2\x52\x05\xF2\x27\xFA\xEB\x2F\x0D\x05\xC5\x5F\xF1\xFD\xA1\xF2\x4E\x0F\x05\x42\x05\xF2\x43\x05", "\x04\x94\xEB\x07\x18\x00\xE3\x5C\xA1\x81\x43\x0E\xF2\xE6\xED\xF3\x41\x0F\xF3\x94\xED\x07\x19\x04\xF4\x32\x17\xB5\x3A\xFC\xF3\x3E\xFB\x04\x45\x0A\xE9\x90\xEE\xE4\x28\x0C\xD4\x01\x1F\xEC\x09\x15\x44\x47\xFF\x04\x2F\xFA\xF4\x43\x06\xF5\x58\xF8\xE9\x76\xE9\x02\x95\x35\xE1\x64\x1B\xE7\x41\x0A\xF1\x07\xF2\x10\x40\x0C\x01\x50\xF4\x12\x42\x74\x05\x59\x05\xEE\x5F\x06\x05\x4F\x09\x04\x44\x0E\x72\x76\x06\x43\x64\x0D\x01\x75\xF3\x12\x0E\x88\xF7\x7A\xFF\x04\x42\x0A\x04\x70\xE4\x05\xA1\xB8\xB9\x6A\x09\x2A\xA4\x6A\xC3\x31\x41\x4A\x79\xF6\xEE\x49\x0B\xE6\x6D\xE6\x04\x4B\xF5\x04\x42\x7C\x89\x89\x6F\x01\x85\xF2\x12\x40\xD8\xF8\x98\xFB\xE6\x3E\xE4\xA7\x37\x40\x02\xA3\xF0\x6E\x56\x96\xFA\x5F\x05\x05\x99\xF4\x05\x2E\x75\x07\x37\x41\x02\xAD\xF8\x90\xB0\xF6\x04\xF8\xEF\xF6\xF1\xA6\x06\x24\x92\x02\xAD\xF7\xF8\x97\xF7\xEE\x4F\x04\xE3\x7D\xE1\xBA\x64\x0F\x3B\x32\x33\x02\xC3\xF1\x81\xB0\xF5\xED\x52\x09\xF9\x47\x0B\xBE\x8C\xC7\x06\x24\x0D\xFA\x77\xF5\xFC\x43\x08\x04\xDA\xEE\x72\x11\x16\x14\x25\x0A\xFD\xAF\xF5\xFC\x42\x0F\x04\xF7\xEE\x72\x62\x0F\x06\x6F\x0C\x06\x26\x0D\xFA\xE4\xC0\x00\x56\xF9\x05\x57\x0F\x04\x52\x04\xEC\xE3\xEE\x04\xD5\xE1\xAF\xE3\x74\x07\x27\x0F\xFC\xD2\x5B\xFE\x75\x7F\xFB\x7F\x05\x53\x00\x12\x0C\x02\xA9\x7A\x20\x33\x02\x34\x0C\x06\x28\x00\x00\x9F\x75\x02\x86\xFE\x44\x76\x03\x82\x05\x09\x81\x45\x48\x03\x72\x01\x05\x0F\x80\x96\x71\x01\x84\x80\x16\x16\x7F\x16\x80\x00\x38\x02\xAF\x0A\x02\x1B\x80\x66\x72\x7F\x45\x04\xFE\x52\x81\x91\x7E\x04\x44\x01\x08\x89\x31\x2B\x01\xF7\x6B\x41\x0E\x84\xEC\x76\x7F\x9E\x7E\x0A\x2C\x06\x04\xA4\x51\x80\x04\x03\xDF\x02\x13\x19\x78\x21\x86\x31\x74\x03\x16\x0D\xFA\x57\x59\x0F\x8E\x02\x42\x74\x09\x04\x3D\xE8\x1E\x02\x45\x81\x43\x7D\x81\xC6\x71\x09\x13\x03\xC2\x4B\x49\x2F\x02\x13\x85\x5B\x3C\x81\x05\x83\x80\x62\x74\x05\x52\x03\xB4\x65\x4C\x5A\x0D\x0C\x30\x00\xF8\x70\xED\x59\x82\x0A\x84\x80\x9C\x7C\x09\x2F\x73\xDF\x71\xA1\x65\x01\x0C\x1A\x81\x8E\x32\x20\x3D\x81\x3E\x74\x05\x21\x83\x94\x14\x03\x32\x02\x06\xBD\x57\x1E\x89\xF9\x7B\x72\x5A\x13\x01\x64\x87\xEB\x72\x82\x2D\x8B\x02\xA5\x7A\x13\x08\x74\xF1\x53\x42\x5C\x18\x1A\x00\x07\x8D\x1B\x11\x85\x02\x57\x01\x08\xB2\x1D\x1A\x0A\x07\xDC\x61\x0F\x8F\x02\x46\x07\x06\xA6\x02\x1B\x05\x09\x96\x64\x0A\x87\x83\xC4\x74\xD6\x7B\x73\xA9\x07\x03\x1D\x85\xF2\x46\x83\x5B\x87\x0B\x12\x82\x3F\x83\x07\x38\x03\x15\x81\x69\x9F\x81\x15\x83\x02\x5A\x74\xFB\x6D\x46\x36\x74\x03\x39\x07\x15\xB3\x64\x54\x8B\x02\xC6\x02\x97\x63\x02\x2E\x38\x3A\x63\x02\x1D\x0D\xFA\x7A\x6C\x14\x97\x7C\x98\x81\x74\x46\x4D\x37\x06\x06\x3B\x02\x2E\x9A\x65\xBC\x84\x00\xA6\x7C\xFA\x5C\x03\x4F\x85\x9A\x71\x86\xC4\x72\x08\x19\x7D\xBF\x7D\x8E\x0B\x55\x5E\x1D\x01\xAD\x7D\x81\x57\x84\x21\x0F\xE6\x52\x02\x15\x05\x02\x85\x68\x73\x5E\x5C\x1F\x06\x0A\x8F\x6C\x36\x9F\x02\x61\x77\x06\xAE\x03\x1F\x05\x0C\x8D\x29\x0F\x8F\x7B\x54\x03\xE9\x48\x03\xD0\x5A\x56\x68\x10\x10\x15\x87\xF0\x6F\x1D\xA8\x77\x7C\x8D\xFD\x4A\x7F\x99\x11\x08\x41\x05\x11\x83\x84\x50\x8B\xF7\x5A\x75\x08\x9F\x3A\x42\x01\x10\x86\x23\x85\x89\x0A\xBD\x79\x11\x01\x02\x4B\x01\x5E\x62\x02\xC9\x0B\x06\x43\x01\xEB\x78\x49\x3D\x81\xFF\x72\x72\x24\x85\x04\x40\x68\xC4\x3D\x22\x39\x14\x08\x00\x88\x10\x3F\x0E\xD2\x03\xD5\x75\x02\x52\x06\x09\x21\x5D\xDF\x41\x45\x7B\x17\x4A\x93\x32\x02\x89\xDD\x57\x7B\x22\x06\x10\xF7\x81\x19\x06\x02\x12\x8D\xB3\x14\x89\x42\x81\xEC\x6B\x81\xBD\x67\x0A\x04\x67\x08\x2D\x86\xD1\x6F\x0E\xC9\x01\x26\x9A\x75\xA7\x20\x09\x16\x86\xEF\x43\x14\x84\x81\xBA\x6F\x73\x2E\x3F\xD3\x14\x0B\x24\x07\x13\xBB\x63\x3B\x93\x02\x57\x05\xDD\x45\x88\x61\x53\x07\x76\x64\x1A\x0A\x02\x53\x8D\x79\x21\x88\x5A\x7B\xEA\x6C\x6A\x36\x65\x03\x4B\x01\x1C\xA2\x27\x1E\x88\xEE\x1C\x7E\x90\x74\x02\x85\x6F\x77\x67\x66\x3A\x0C\x04\x41\x8A\x26\x55\x8A\xC4\x77\x0A\x08\x02\x61\x75\x04\x71\x57\x1D\x10\x28\x4D\x02\x21\xAF\x86\x23\x00\x02\xC9\x73\x73\x5E\x0A\x4E\x07\x23\x87\x1B\x1E\x8E\x12\xE7\x86\x9B\x65\x02\x44\x00\xA8\x5B\x08\x8A\x0D\x89\x64\x03\x13\x0A\x8C\xB1\x83\x05\x9D\x83\x2C\x01\x02\xD9\x09\x1E\x10\x02\x7E\x8D\x48\x40\x8D\x2F\x03\x0B\xD4\x01\xF7\x7C\x7F\x14\x68\x0D\x11\x02\xB9\x80\xC3\x3D\x82\x11\x19\x7C\x41\x04\x09\x0C\x03\x2C\x05\xD8\x1C\x6A\x58\x19\x03\x52\x01\x35\x8E\x53\xD5\x87", -"\xF4\x34\x77\x14\x1C\x7F\xE0\x0B\x0A\x29\x8B\xD5\x88\xEC\x55\x01\x13\x19\x8A\x86\x14\x0A\x12\x8D\xAD\x46\x1B\xCC\x01\x10\x08\x74\x48\x85\x09\x00\x6A\xE0\x74\x38\x15\x0A\x85\x15\x02\x5D\x8D\xF2\x5F\x8B\x2E\x85\x05\x71\x72\xF5\x6D\x11\x56\x03\x39\xAF\x86\x28\x02\x05\x64\x76\xCB\x2C\x69\x70\x07\x0A\x02\x8F\x22\x2D\x03\xC5\x03\x39\x8B\x73\xF1\x51\x70\x56\x08\x2C\x01\x1E\xAF\x33\x6A\x95\x76\x6F\x79\x09\x03\x02\xEB\x76\x1B\x63\x01\x16\x13\x8E\x2D\x4F\x12\x96\x8D\xE9\x78\xEE\x40\x6A\xDF\x3E\x09\x2C\x0E\x40\x1A\x03\xF9\x8B\x1A\xD5\x02\xAD\x67\x84\xF1\x51\x3F\x33\x1B\x2D\x0D\xFA\x7B\x5B\x11\x81\x02\x4D\x04\xDA\x50\x03\xCE\x72\x74\x5E\x35\xBE\x41\x21\x5C\x05\x3F\x80\x0D\x1E\x8D\x04\x55\x72\x90\x7C\x89\xC2\x56\x58\x4B\x1D\x2E\x0A\x1E\xA1\x8C\x01\x9E\x72\xED\x75\xF6\x6E\x03\x9C\x12\xE2\x11\x70\x6C\x4A\x6C\xF6\x75\x3D\x95\x03\x91\x86\xEE\x63\x76\x90\x84\x92\x0E\x47\x05\x24\x01\xCF\x21\xB4\x41\x1F\x17\x14\x8D\x18\x66\x48\x87\x7E\x22\x9F\x05\x23\x92\x85\x88\x87\x87\x62\x49\xA9\x1C\xB3\x30\x06\x2D\x7C\x62\x52\x92\x43\x91\xF3\x67\x7C\x77\x7C\xF9\x3F\x79\x92\x84\x01\xA0\x79\x36\x21\x03\xD6\x79\xB2\x60\x90\x95\x81\x79\x25\x7C\x0A\x36\x7E\x84\x4A\x24\xDB\x01\x10\x0D\x01\x5A\x05\x0B\x2F\x01\x3B\x0A\x02\x05\x0A\x8F\x8F\x6F\x2C\x89\x48\x93\x92\x31\x95\x00\xB7\x75\xAE\x79\x7A\x76\x73\x49\xAD\x7C\x97\x3E\x04\x20\x91\x11\x17\x5A\x5B\x01\x0C\x2D\x00\x3D\x07\x27\xDA\x03\x17\x1A\x93\x7C\x94\x0C\x35\x90\x09\x8D\xE6\x18\x8E\x0F\x8E\x94\x40\x6D\x4E\xB0\x01\x16\x09\x03\x5D\x02\x0A\x05\x03\xAD\x79\x5E\x7C\x7D\x27\x0F\xF6\x05\x6F\x0B\x04\x03\x2B\x06\x05\x2F\x95\x15\x06\x06\x2D\x7D\x61\x73\x7D\x45\x00\xD1\x55\x80\xC7\x83\x2B\xE7\x01\xEB\x61\x5D\xD2\x7C\xFA\x78\x7D\x84\x03\x2C\x80\x03\x09\x08\x01\x5B\x06\x0B\x27\x00\x2E\x0C\x05\x5D\x00\x1F\x0C\x96\x5C\x06\x05\x29\x00\x15\x07\x02\x7C\x02\x08\x08\x96\x5E\x02\x04\x0C\x96\x67\x90\x2D\xD2\x96\x0A\x02\x01\x68\x05\x46\x8C\x8C\x29\x09\xED\x54\x01\xB0\x87\x84\xE3\x79\x21\x29\x97\x5D\x74\x02\x28\x03\xB1\x89\x96\xCB\x95\x59\x8F\x96\x66\x9E\x2D\xD5\x97\xB5\x89\x96\xDA\x92\x5E\x9D\x97\x69\x92\x02\x29\x01\x1A\x0D\x7D\x3B\x71\x5E\x53\x03\x11\x9F\xF3\x21\x83\x0B\x13\x03\x2B\x02\x0D\x36\x95\x43\x63\xEE\x0F\x78\xB2\x74\x02\x4F\x79\x21\x11\x99\x5D\x7F\xE4\x2A\x00\xB6\x8A\x01\xCE\x97\x05\x2A\x01\x15\x09\x2C\xCF\x71\x17\x13\x96\x1A\x9B\x05\x0F\x73\x35\x0D\xFA\x04\x70\x16\x90\x85\x5F\x06\x4B\x75\x6D\x32\x0C\xB5\x02\x09\xCA\x94\x12\xAE\x6D\x0C\x2E\x00\x29\x0C\xFE\x74\x03\x7B\x1F\x09\x7B\x58\x08\x20\x00\x12\x0C\x03\x2F\x99\xCB\x1F\x6C\x65\x06\x07\x17\x5A\x9F\x91\x33\xA9\x58\xD1\x80\x9A\x2E\x07\x66\xB4\x02\x9C\x4A\x33\xBD\x9A\xCA\x94\x52\x41\x9B\x68\x8F\x9A\x76\x2A\xDF\x47\x9B\xCA\x8E\x01\x31\x06\x23\x89\x08\xAD\x90\x00\x4E\x98\xCC\x80\x9A\x3E\x02\x07\x20\x01\x46\x91\x22\xA0\x02\xD8\x9E\x36\x3A\x9A\x04\x3D\x00\x11\x00\x02\x5F\x03\xB7\x06\x9B\x20\x04\x4D\x60\x01\xA9\x00\x02\x53\x9A\xCC\x12\x9A\x5F\x9B\x65\x95\x9A\xBB\x93\x25\x2E\x02\x0C\x1C\x9A\x03\x0C\x6B\x9E\x9B\x9F\x9B\x32\xE1\x9B\xD8\x8E\x94\x70\x9E\xDB\x20\x00\xB5\x92\x02\x3A\x9A\xDB\x90\x26\x70\x9A\x6E\xB4\x9A\xBE\x95\x06\x71\x7F\xE3\x90\x03\x3A\x09\x0D\x11\x4D\xA4\x04\x11\x38\x4B\xE5\x99\x9C\x9B\x99\x0D\x14\x08\x17\x04\x03\x39\x03\x0A\x18\x23\xA7\x99\x20\x3D\x98\xB7\x00\x3A\xF8\x6C\x45\x06\x9C\x9F\x9C\x25\x21\x9C\x8A\x00\x37\xD4\x6A\x1B\x0B\x9C\xCC\x84\x6D\x85\x76\x06\x20\x37\x86\x4F\xDC\x93\x03\x20\x03\x45\x74\x50\x16\x30\x04\x0D\x02\x02\x0B\x9D\x19\x0D\x75\x9C\x9D\xA0\x92\x36\xB1\x9E\xE6\x8E\x9D\x65\x05\x76\x90\x9C\x14\x00\x02\x54\x9E\xF5\x8B\x9C\x1E\x24\x6D\x8E\x66\x34\x00\x02\x7B\x00\x08\x1E\x63\x20\x05\x07\x0B\x9D\x24\x03\x07\x2C\x14\xDB\x9D\x03\x20\x01\x05\x20\x00\x3E\x05\x3D\xD8\x9F\x1C\x0C\x9B\x22\x02\x08\x9A\x9F\x9C\x1C\x3D\xDE\x9C\xF8\x82\x9F\x22\x04\x7C\x8E\x03\x96\x66\x3E\xA0\x00\xFA\x8A\x9F\xEA\x9B\x77\xBD\x09\xDE\x9C\x3B\xF4\x98\xAB\x12\x6B\x6A\x6C\xC5\x29\x9F\xF5\x9D\x3E\xA2\x01\xF6\x8B\x9C\x73\x12\x2C\x2C\x9A\x03\xA8\xD6\x5E\x27\x5C\x63\x0E\x20\x03\x7B\x9D\x9F\xEF\x9C\x45\x61\x9F\xF8\x93\x03\xD0\x1A\x82\xBE\x9F\x05\xAC\x3E\xD4\x9E\x03\xAF\x9F\x10\xA5\xA5\x70\x9F\x08\xAC\x06\x13\xA0\xF0\x87\xA0\x69\x6F\x6D\x9A\xA0\xFB\x9D\x41\xF8\x9E\xFE\x8D\x69\x21\xA5\x85\xA3", -"\xA0\x00\xA5\x3C\xC7\x9E\xF3\x93\x9D\xCC\x9D\x6D\xAC\x9C\xD9\x90\x3D\xF0\x99\x81\x38\x0A\x8B\x9B\x0B\x3A\x9D\xB7\x92\x36\x9C\x31\x5E\x0B\x9C\x5D\x06\x85\xA0\x00\xFF\x29\xD7\x50\x26\xCE\x93\xA1\x20\x04\x27\x1E\xA1\xFC\x94\x5B\x78\x03\xF9\x86\x9E\xC8\x98\x73\x84\xA3\xE5\x90\x3B\xC3\xA3\xF3\x8B\x9E\xB5\x9C\x8E\x6D\x9E\x13\xAA\x16\x73\x9C\xE4\x1B\xA0\xF7\x9B\x7C\xAE\x03\xF3\x94\x42\x8D\xA2\xFC\x98\x9E\x73\xA1\x83\xB4\x9E\x38\xA5\x43\x8B\x9F\xFE\x83\x33\x74\xA0\x80\x82\xA2\xC8\x92\x36\xE8\x60\x50\x5F\x9D\x20\x00\x8F\x71\xA0\x2B\xA0\x46\xBF\xA0\xF4\x85\xA3\xC9\x9B\x8C\xA2\x9D\xE8\x92\x36\xB6\x9F\x1A\xB7\xA4\x27\xA6\x8D\xB5\x9E\x0E\xA8\x44\xB6\xA1\xF9\x8C\x20\x81\xA4\x81\xAC\xA2\x14\xA1\x3F\xAA\xA2\x1E\xAF\xA3\x34\xA5\x93\x9F\xA1\x3F\xAD\x3F\xFF\x9F\x02\xA2\xA0\x94\xA7\x7B\x85\xA1\x17\xA5\x41\xC8\x6B\x88\x35\xA3\xA3\xA3\x85\x91\x1E\x29\xA0\x43\x96\xA1\x02\xB3\x31\xA7\xA3\x93\xB1\xA3\xFC\x90\x42\xBB\xA7\x0E\xA2\xA5\xEE\x9B\x85\xA6\xA5\xF8\x96\x4C\x94\xA1\x4F\x08\xA0\x32\xA3\x8F\xA9\xA4\x3A\x0B\x45\xB7\xA0\x1D\x19\xA1\xA1\xA1\x05\x3D\xA1\x30\xAA\x3C\x93\xA4\x24\xA2\xA3\x67\xA3\x92\x92\x9F\x5B\xA7\x3D\xD7\x9D\x26\xA1\xA6\x7C\xA2\x95\x84\xA7\x56\xA8\x4B\xC9\xA5\x0A\xB4\x03\x9A\xA1\x9D\x94\xA6\x4F\xAC\x4A\xA0\xA7\x31\xA1\xA0\xAC\x14\x80\x83\xA0\x67\xAC\x4D\x0B\xA7\x2D\xAA\x9F\x25\xA6\x9D\x8C\xA6\x11\xAC\x4F\xD0\xA4\xE4\x98\xA2\xC3\xA2\x7F\x86\xA6\x57\xA1\x50\xE7\xA5\x29\xB0\xA7\x10\xA5\x99\xB4\xA5\x67\xAE\x4F\x8A\xA0\x42\xBD\xA3\xC4\xA7\x8F\x98\xA7\x7B\xAB\x4D\x8E\xA4\x19\xAD\x9E\x66\xA0\x88\xA3\xA6\x05\xA2\x02\x53\x0A\xEE\x99\xA7\x62\x9E\x77\xBC\xA7\x9A\x6F\x4B\xB9\x17\x15\xB2\xA6\x20\x06\x22\x5B\x19\x3C\x0B\x45\xD7\x01\x19\x13\x0C\x5F\xA6\x87\xA1\xA9\x47\xA2\x36\xA2\x03\x32\x86\x03\xF0\x98\x05\x27\xA8\xDE\x99\x52\xBC\x9D\xBF\x9C\xA5\x4F\x68\xAB\x4C\x21\x6F\x1D\x51\xBB\xAB\x47\xA3\xA4\xE0\xA2\xA4\x95\xA4\xC8\x95\x52\xA4\xA7\xB7\x88\xA4\xF4\x47\xA5\x7C\x68\x89\x46\x45\xE8\xA6\xF7\x92\xA9\x3B\x54\xA6\xB8\x9E\x9B\xA8\x53\xFE\x9D\x23\xAE\xAA\xDE\xA5\xA7\x86\x4D\xA0\xAB\x44\x84\xA4\x08\x16\xA4\x47\xA8\x91\x97\x6B\xA8\x6C\x48\xBA\xA9\x24\xA1\xA7\xAF\x98\xA4\xB7\xAA\xA9\xA0\x02\x23\x5C\x35\xA2\x01\x2E\x04\x6D\xA4\x9B\x22\x09\x38\xD0\x2C\x22\xB5\x54\x75\xAC\x9B\x92\xA5\xBC\xA0\x55\xDD\xA4\xED\x82\x9B\x7E\xAB\x71\xB1\x76\xC1\xA8\x38\xE7\x9A\x61\xB4\x9B\xCE\x37\x37\x0C\xAB\xB3\xAB\x57\xBC\xA9\x63\xAB\xAC\xB1\xA2\x18\xA4\x11\xC5\x92\x54\xA0\x03\x16\x10\xAA\x0A\xA2\x6C\x83\x41\x22\x3B\x41\xA2\x00\x0B\x0D\xAB\xB7\xA2\xB5\x9A\x4F\x93\x53\x42\xDD\x03\xE2\x89\x01\x52\xA4\xBC\x1B\xAC\xBB\xA1\x55\x9E\xAE\x47\xA2\xA7\x90\xA8\xDD\x3F\xAB\xC0\xA8\x3B\x99\x5C\x45\x0C\xAB\xA8\xA8\x98\x93\xAB\x5B\xA7\x5A\xA2\x00\x48\x10\xAD\xA9\xAF\xAD\xA4\x28\xE0\x9E\x3D\xAE\xAC\x74\xAA\xAE\xD2\xAB\xBD\x35\xAD\xDB\xA2\x45\x8C\x5D\x57\xB8\xA2\xEA\x84\x72\x79\xA6\xFC\x93\x05\x1A\x9C\x1C\x13\x12\x85\x59\xA7\x8A\xAC\xBC\xA1\x44\xF1\x9E\xEC\x03\xAA\x03\xA5\xA8\x83\xA0\x11\x0B\x07\x6C\x9A\xF7\x98\x76\xDA\x3E\x82\x30\x9B\xAC\x56\x27\x40\x9C\xFA\x82\x01\x7D\x02\x8A\xBC\x1C\xAF\x59\xC4\x09\xAF\x6F\xAC\xAC\x07\xB1\x96\x91\xAC\xC0\xA0\x3F\xE1\xAE\xE6\x50\x9F\x26\xAF\x70\xA5\x9A\xCB\xAB\x18\x24\xAF\x75\xB9\x15\x23\xA8\x98\x8D\xAF\xE7\xA9\x5C\x98\xB1\x25\xB3\xAE\xAD\xAF\xB5\x9D\xB0\x0C\xAF\x61\xDA\xAC\xFA\x96\xAD\x71\xAC\x6E\x9E\xAF\x11\x3F\x52\xA8\xA5\x16\xA6\xAE\x9B\x5B\x8B\x98\x08\x98\x01\x6B\x69\xAE\x59\xBC\xAD\x8E\xAD\xBD\xBD\x87\x88\x08\x5C\x97\x9D\x74\xBA\x8F\x7F\xAA\xC4\xBE\xB0\xEC\xA2\x5A\xCA\x08\x77\xA8\xA4\x29\x2B\xA3\x24\x29\xDD\xAB\x5E\xC0\xA2\xE1\x82\x01\x93\xAA\xC2\x84\xAC\x0A\xB1\x3D\x86\xA2\x3F\x70\x25\x01\x6C\x2C\x4A\x0B\xA6\xAD\x59\xCF\xAA\x08\x06\x10\x4B\x45\xC7\x8C\xA3\xEC\xA6\x11\x0B\x9E\x90\xA3\xB3\x5B\x44\x0C\x1D\x43\x23\xB4\x37\xC2\x09\x15\x4B\xB2\x06\xB0\xAD\x8C\xAC\x11\x04\x9F\x54\x0A\x14\xB8\x19\x3A\x18\x4D\x5F\xAE\x98\xA2\x37\xF8\x9E\x11\x0D\x83\xEA\xA9\xC1\x8F\xB2\x16\xA7\x67\xE6\x51\x78\x6C\xB1\x5E\xA9\x6E\x81\x55\x2D\xAB\x51\xFD\x00\x67\xBD\xAD\x5E\xB0\x40\x45\xB5\x3C\xBC\x54\x89\xB5\x9F\xAB\x9C\xB8\x21\x47\x01\xB4\x39\xBD\x5E\xCA\xA3\x88\xA6\xB2\x62\x9B\xFD\x64\x02\x9A\xA2\x02\x51\xA0\x22\xAD\x1F\xA8\x59\x7E\x33\x1E\xD6\x51\x67\xDD\xB1\x5A\xA1\x9E\x9A", -"\x7A\x57\x91\x9D\x45\xB4\x37\xC9\x1C\x8F\x4C\xB2\x82\xB2\x6C\x9C\x94\x97\x84\xEC\x03\xAD\x61\xB5\xB0\x2A\xB3\x7F\x30\x1E\xFF\x18\x6B\x9C\xB7\x93\xB0\x1C\x0F\xA6\x80\x9B\x25\x62\xBE\x6A\x8C\xAE\xAF\xB4\xB2\x88\xA0\x89\x3F\x21\x02\xBC\x62\x8F\xB5\x8E\xB0\x9D\xD6\x4E\x88\xB0\x4A\x44\xA6\x9D\x4C\xB4\xA4\xAF\xB5\xE7\x97\x08\x33\xB5\xB6\x48\x48\xF3\x21\x58\x6E\xA9\xD6\xB0\xB4\x86\x9D\x55\x9F\xF6\x63\xB5\x8E\x1C\xB6\x24\x4F\xDC\x83\x0E\x2E\xBF\x6D\xF3\xB1\xF0\x17\x03\xF0\xA9\x96\xBE\x9D\x6B\x9C\x36\xA7\xAF\x90\xBE\xB0\x73\x9B\xB6\x94\xAE\x33\xB7\x61\xA4\xB1\xC0\xA6\x59\xFE\xA8\x04\x28\xB0\xDC\xA8\x48\xBF\x58\xCB\x4D\xB5\xF5\xB5\xBD\xB7\x82\xDD\x94\x39\xB3\xB7\xCA\x83\xB8\xD6\xAD\x6D\x95\xB8\xB1\x99\xDB\x32\x19\xC2\xAE\xA0\x79\xA4\xDF\x9F\xB4\x90\x09\x61\x98\xB1\x8A\xA0\x9E\x47\x50\xE2\x97\xB7\x9E\xAA\x08\xE5\x00\xDB\x86\xA7\xA5\xA8\x8B\x9F\x60\x37\x06\xC3\x23\x61\x2E\x32\xB1\x78\x04\x28\x1A\x91\xE3\xA7\x4C\x8D\xAA\xA7\xB2\xB9\x3B\x50\x84\x62\x60\x1C\x62\x56\xF2\xA2\xCE\xBE\x08\x3C\xBE\x95\x81\xA1\x31\xB3\x73\x84\xBB\xC8\xB7\x9D\x95\xA7\x89\xA6\xA6\x86\xB8\x45\xB5\x63\xD0\xAC\x0B\x38\xBF\xE8\x93\xA5\x50\xAD\x50\xA6\xB5\xD5\xB9\x0B\x35\xBC\xE8\x95\xA6\x73\x1B\x55\x48\xBA\xCB\xB7\xA7\xD1\xB2\x83\x5E\xB7\x95\xBB\x38\xAD\xBB\xCB\xAD\xA0\x31\xB8\xA6\xB3\xB9\xB0\xB8\x75\xF8\x9C\x08\x25\xBB\x5B\xBD\xE7\x8D\xA1\x9F\xB2\x77\xC1\xB8\xCD\xB7\xBA\x37\xBE\x86\xA4\xBB\x9D\xB7\x76\xCA\xBB\xD3\xB0\x9B\x4D\xB9\xE3\xBF\xB6\x83\xBD\xC2\x18\xA4\xD5\xB0\xA9\x56\xBF\x86\x75\xBB\xC5\x97\x77\x84\xBC\xD7\xAD\xA0\x5E\xB8\xF2\xA0\xBA\xC0\xB5\x74\xDC\xA2\xD6\xA9\xBA\x0B\xA2\x7D\xB4\x9B\x07\x6B\xC1\x74\xB4\xDB\xB4\xAF\xF6\xAD\x6D\x83\x03\x08\x18\xAE\x0C\x0C\xDC\x8B\xAD\xB4\xAF\xBF\x81\xB0\x44\xAA\x7B\x73\x2F\x66\xA5\x83\x00\x01\xC1\x8D\x61\x04\xB8\x35\xEF\x7D\x42\x1E\xBD\x5D\x99\xD7\x96\xB0\x9D\x91\x02\x0B\xBE\x91\xA7\xAA\x96\x9C\xD3\xBB\xBC\x4E\xBE\x37\xCA\x89\x42\x0E\xBE\xC1\xBE\xD8\xBD\xA8\x25\xAE\x38\xCC\xB8\xEC\x50\xA2\xDD\xAA\xD8\xAA\xB5\xD5\x56\x3F\x51\x50\xC0\x61\x08\x5F\x06\x3A\x4E\x41\xF0\xB0\x97\x58\x99\x09\x1A\x77\xE7\xBA\x75\xA4\xBF\xE8\x4F\x64\xC2\x85\xE3\x97\xA4\xCF\xB0\x04\x0A\x9C\x91\xB8\x45\xB3\x2F\x63\x5B\x9C\x9D\xBE\x7F\x24\x03\xCB\xB6\x42\xF1\xBA\x8B\xB6\xBF\x6E\x00\x32\x52\x4D\x2D\xA1\x04\x0E\x4D\x00\xC6\x56\xF9\x09\x9B\xA6\xAD\xB6\x96\x9D\x03\x4C\x35\xB2\xAD\x08\xB9\xC4\xBA\x9D\x06\xC3\x5B\xAF\xBE\xC0\xBB\xAE\x71\xA8\xCA\xB9\xB6\xB8\x94\x13\xC1\x4C\xEF\x94\x9E\x3C\x7C\x30\x06\x0C\xB8\x9F\xDF\x65\xB0\xFB\x8C\x8D\xA9\x2F\xEF\x3E\x08\x12\xC4\x77\x0C\xA2\x08\x1B\x01\x6C\x9A\xF4\x80\x9E\xEB\x46\x41\x49\xBD\xB3\xA5\x03\x9E\x9C\xF9\xB4\x01\x19\x02\x01\x7A\x75\x0F\xCA\xBF\xD2\xBB\x71\x93\xB8\x8D\xB9\x37\xD0\x9A\xC5\xB0\x9A\x18\xBF\xB5\x8E\x9D\x8D\xBA\x68\x97\xBB\x08\xA0\xB9\x62\xB6\xAD\xB0\xAA\x86\xB3\x39\xD0\x53\x88\x29\xB7\xEC\xAF\xC9\x93\xB9\x25\xC5\x84\xEC\x27\x11\xCC\x27\x49\xC4\xE2\x9D\xC2\x99\x1F\x85\x9E\xBB\x13\xCD\xA3\x16\xB7\xF0\x8B\xAE\x92\xA4\x85\xA8\xBA\x15\xCC\x31\x36\xC1\xE2\x8B\xBF\x1B\xCE\x02\x3C\xC2\x0F\xD6\x71\x4D\xB6\xB3\xA2\x00\xB7\xBA\x33\xB0\xB9\x3C\xBE\x9E\x73\xBC\xF3\x99\xBA\xBC\xB0\x7A\x80\xAB\xDE\xBF\xC3\x20\x01\x10\xD2\xBD\xC0\xB6\x74\x84\xC5\xE1\xA1\xBD\x6A\xC1\x11\xFE\xBA\xA7\xB6\x7C\xA4\xB9\xD4\xA4\x03\x8E\xB8\x11\xD1\xBC\x9B\xBD\x79\x95\xBE\xD9\xBC\xBF\xD8\xB9\xD1\x9B\xC4\xB1\xB2\x78\x9F\xBF\x23\xC2\xA4\xA3\xBA\xED\x90\x27\x38\xC9\x63\xF3\xC1\xC4\xA4\x9D\xA2\x07\x24\x31\xC4\x20\xC7\x83\xCF\xB1\x7D\xBA\x99\xF7\xAB\xF5\x9E\x0B\xD6\xB5\x66\x90\xC1\xE9\x3F\xB8\xB3\xB8\xB3\xBF\x3F\x6F\x18\x85\xCE\xB1\x4F\xB5\xAF\x20\x00\x08\x39\xC4\xD6\xBF\xAD\x2E\xBE\x2F\xC5\x3A\x4F\xC1\x18\xC0\x9F\xDA\xB2\x7A\x44\xC4\xEE\xBA\xBD\xE2\x24\xF7\xB5\x00\x76\x07\x12\x5C\xC4\x2D\xD1\xB8\x83\xB7\xBD\x8E\x9C\x94\xA2\x4B\xF3\xAD\x69\xBE\xB7\x63\xB0\xF6\xA1\xC3\x48\xCA\x8E\x98\xC1\x1B\xC3\x9B\x2B\x5D\x76\x04\xC6\x1C\xBA\x6E\xBD\xAB\xBD\xAF\xBF\xB0\xA2\x9F\x91\x9E\xD4\xBB\x41\xF8\xAE\x1B\x5A\xAF\x62\x9C\xBF\xA4\x10\x60\xC2\x60\xD3\x5A\xAE\x34\xB6\x70\xC7\x1A\xDC\xB5\x1C\xC4\x87\xB1\x02\x0D\x10\xBE\x03\x08\xFA\xB9\xC3\x48\xBC\x40\x39\x9D\xDA\x85\xAD\xF9\xC2\xBE\xBB\xC7\x77\xC7\xD5\x59\x6B\x15\xCA\xC8\x37\xC4\x21\xEF\xC5\x18\x07\x03\x72\x8D\x42", -"\x06\xC9\xD1\xBD\x16\xEA\xAA\x50\xA7\x91\x85\xB8\xA8\xAF\xAB\x54\xAC\x23\xC9\xAA\xBA\xAF\x91\x82\x84\xF8\xAB\xC8\x47\x1C\xF7\xB1\x00\x1C\x0A\x30\x89\x09\x4F\xC9\xC9\xE0\xC5\xA7\xBB\xB0\x34\x0F\x7E\xA2\xB9\x25\xD0\xBA\x64\xB1\xC8\xAE\xC8\x4B\xC0\x02\x45\xB0\xC9\xA7\xB9\x20\x01\xC9\x8C\x43\x8E\x25\x93\x93\x8B\x4D\xC1\xC9\x39\xCC\xF9\xB1\x01\x1C\x0F\x2F\x89\x09\x57\xC0\xCA\xA7\xB8\xCC\xA8\x13\xA2\xC8\x91\xE3\xB0\x90\xB4\xC4\x68\xB1\xC5\x2B\xB2\xA8\xCE\x66\xAA\x28\x9C\xB5\xCA\x42\x8F\x2A\xD1\xB8\x91\xC9\x63\xFE\x98\x0C\x15\x86\x09\x08\x2F\xE0\xCB\x7A\xC2\x59\xBA\x03\xFB\xB1\xBF\x8A\x9E\xCA\xAE\x25\x7F\x61\x4B\x79\x46\x72\x5B\x7B\xBE\x6F\xD0\xAC\x30\x3B\x68\x98\xD9\x6F\xB7\x18\x9A\x66\x02\xDF\x51\xCC\xF5\xB7\xDE\x5F\x17\xBA\xB6\x7F\xE5\x91\xDC\xAE\xB7\x2A\xB3\x83\xDC\x16\xB7\x06\xB0\x95\xC8\x9A\x0F\xB2\x6F\x8B\x7F\xE9\xC3\x51\xC5\xB9\x18\xA0\x2A\xD4\xA2\x2D\xB0\x12\x1D\xA9\x68\xC3\x31\xE1\xC0\xDF\xAD\x9A\x72\xCB\x6F\xA5\xAE\x08\x1A\x90\xCA\x13\x29\xC8\xCB\x29\xC2\x45\xB0\x57\xA7\x5C\xAA\xD5\xB6\x87\xAF\xCC\x16\x3F\x64\xCB\x92\xD2\x56\x59\xFD\xB1\x0D\xC0\xCC\xC3\xA1\x57\xB6\xAD\x08\xDC\x31\x2C\xC2\xF0\x0D\xB9\xA4\x5D\x24\xA5\xBE\xD1\x83\xCE\x33\x34\x31\xD8\xCF\x5C\x1E\x37\xA8\x8D\x42\x1E\xCE\xC1\xBB\x3B\xC3\x0F\xD1\xC1\x63\x64\xCA\x6E\xC8\xCD\xC7\xBF\x1D\xEB\xCC\xC3\xC7\xDD\x60\xBE\x78\xCC\x35\x0D\x5D\x31\xC6\x6E\x3D\xB3\x62\x75\xC1\xB8\x89\x08\xF7\xC9\x3C\xC9\xCC\xFA\xC4\x9C\xBD\xAA\x71\xD5\xCE\xEF\xBD\xB9\xA5\xAD\xE5\xC5\x61\xCD\xCD\xDB\x9B\x31\x23\xC5\x89\xAD\xC0\xBA\x9F\xB3\x47\xCE\xD0\x42\x6F\xED\xC9\xF7\xAF\xCE\x90\x0A\x9D\xFB\xCF\x63\xD4\x01\x5F\xCB\x20\x1F\xCB\x9E\x93\xA1\xEE\x01\x6C\xD8\xC7\xB4\xCE\xA8\xB6\xCC\xDC\xC7\x06\x67\xCF\x1A\xC0\xA6\x50\xCE\x37\xF2\x54\xE0\xCE\xC8\x75\x77\xE5\x90\x01\x85\x6F\x45\xD8\x9A\x6E\x07\x12\x34\xD3\x37\xD0\x01\x83\xB2\x85\x95\xBF\x8C\x00\x03\x70\x9B\x61\x6F\xA2\x74\x9A\xB0\x4C\x31\x5B\xA0\x5E\xF0\x00\xA3\xA6\xA5\x8E\xB4\xB7\xB8\xD1\x9E\xAD\x02\x78\xC6\x5B\x1D\xD1\x62\x9F\x47\xD8\xC5\x20\xD5\x45\xC4\xD0\x4C\xBA\xA2\xF8\x99\x76\x27\x02\xDB\x09\x74\x8F\xB7\x92\xCB\x9C\x2B\x06\x49\xFC\xD0\x1F\xDD\x73\x40\xD0\xF0\x82\xD2\x17\x36\x4A\xEE\xB0\x2C\xDB\x38\xB5\x22\x47\x0B\x9E\xE7\x99\x5E\x6F\xD1\x18\xDF\xA4\xFE\x9A\x32\x07\x09\x77\xD7\x46\xCF\xB3\x5B\x80\xA2\xC4\xA9\x39\xD1\x9E\x2F\xD0\x3D\xE4\xB9\x95\xAD\xD3\x17\xA2\x91\xB8\xA2\x60\xAF\x0C\x1D\xBD\x39\x20\x12\x25\xD3\x8D\xA1\xA3\x5F\xD2\x04\x3C\xD3\xB4\x97\x55\x81\xD7\x89\xD8\xB0\x74\x99\xAB\xAA\x15\xAD\xAF\x95\x18\xB0\xA2\xC2\x6A\x33\xAB\x8B\x8C\xD5\xDC\xC6\x56\xA0\xCA\x1C\xD9\xC6\xCC\xBE\x06\x31\x04\x7D\x7B\xAA\xDF\xC4\xDB\xA9\xB0\x70\x9E\xAF\xA9\x9A\xE2\xAE\x5C\xB0\xB0\x84\xA8\xA1\x04\xD3\x1F\xE5\xCA\x29\xC0\x39\x9B\xB1\x1E\xA7\xCD\x25\xB4\xB5\x95\xAF\x33\xB2\x85\xA0\xB3\x89\xAC\xB3\xC0\x9B\xC5\x96\xA9\x2B\xD0\x63\xE3\xAC\xE5\xB8\x03\x34\xB2\xC5\x36\xB1\x24\xD3\x91\xAF\xB4\xAC\xC1\xAE\xD5\x33\x56\xCD\xB0\x5B\xD6\x9A\xE6\xC9\xAF\xD8\x9D\xBF\xD6\x2C\xE0\xB1\x61\xD6\xA2\xC9\xC9\xC2\xAB\xB8\xDD\xA8\xC6\x91\xA7\x35\xDD\xAC\xBC\x9C\x79\xA6\xAF\xE8\xAC\x5B\xCE\xB4\x53\xDD\x8A\xA8\xD4\x1D\xD7\x01\x80\x07\x24\x39\xD6\x57\xDC\x97\xD7\xD5\x53\xD0\x4B\x2D\xCB\x01\xC0\xD7\x83\xBF\x8B\x92\xC0\x3B\xD7\xC0\xC7\xD0\x2A\xFA\xAD\x55\xC4\xAF\xA0\xAE\x2B\xD5\xCB\x38\x05\x2F\x89\x08\x89\xDB\x97\xD9\xC2\x5E\xB1\xB8\xB1\xD2\xB8\x9A\xD6\x29\xBF\x6B\x9C\xCC\x08\x08\xAC\x70\xCF\x2F\xB2\xCB\x7A\xD0\xC3\x3C\xBD\x0E\x14\xD8\x03\x0C\x62\xD5\xD6\x04\xBC\x69\x99\xD9\xB6\xDD\xCB\x94\xAB\xC2\xB2\xBF\xCB\xA3\x8D\xC5\x36\x35\xD6\xC9\xB9\xB8\x27\xDB\x4A\x9D\xC0\x03\x02\x71\x42\x1E\xD9\x15\xDE\x18\xDF\xAC\xF6\xA6\x44\xFA\x24\x56\x09\x9B\x9E\xB3\x60\xCE\xA2\x4C\xC5\x6A\xD2\xA0\x15\xA3\x6C\x6A\xD3\x93\xAC\xD2\x2E\xA6\x20\x5E\xA1\xA9\xD8\xD9\x09\xB4\x2E\xE0\xAC\xAC\x91\x03\x25\x07\x49\x1E\xDA\xFC\xD6\x62\xC3\xDA\xBE\xAB\x8C\x17\x11\x1F\xCD\xA0\x68\xC7\xA2\xAA\xA7\xD6\x00\x8A\x8F\xA8\xFC\x89\xDB\x30\xAB\x98\xBF\xA2\xB6\xD8\x76\x83\xDA\x21\xBA\x17\xE5\xB6\x8D\x7E\xA5\x9B\xD6\x95\xB9\xD8\x56\xDB\xD9\x5A\xCA\x06\x33\x8D\x84\x03\xB8\xC1\xDA\x6F\xAD\xD9\x97\xD3\xDE\xB8\x9C\xA0\xA3\x9B\xFE\xD2\x4A\xA0\x9E\xC2\x9D\x47\x49\xC8\xAC\xDA\xB3\xAD\x4A\x4E\xD3\x01\x3E\x02\xDF\x59\xDD\xB0\xD2\xB4", -"\xFE\xD6\xED\x87\xDB\xE5\xA6\x9D\xAA\xDB\x79\xAF\x41\xEC\xA6\x21\xD9\xA5\xEF\xA0\x11\xC9\xA8\x10\xAC\x3F\xF6\xA6\xE1\xB9\xC8\x7F\xD2\xAE\xB5\xA4\x79\xB6\x64\xA7\xDE\x40\xA4\xB4\xB2\xDC\xA2\xBB\xDB\x83\xA1\xB7\x98\xAA\x42\xA2\xA1\x0C\xA8\x6D\xE4\xA5\x3B\xA3\x50\xBA\xA1\x41\xB5\xA8\xC0\xA3\x74\xD5\xA6\xD6\xD7\x4D\x8B\xA9\xE8\xAC\xC5\xA0\xAA\x6B\xEC\xAE\xAC\x94\x03\x72\x03\x49\x16\xDE\x9C\xDF\x70\xF7\xC0\x41\xDE\x06\x69\x99\x84\xB0\xDD\x8F\xD8\x04\x1C\xD4\xDA\xD4\x72\x9F\xD4\x76\x01\xAB\x35\xAF\xA6\xAB\x03\x2F\xAD\xB0\xEC\xAE\xF4\xC0\xA2\x58\x9D\x06\x00\xDB\x81\x00\xB4\xAB\xD9\x10\xBE\xDC\x5D\xAD\xAA\xB0\x9F\xAB\xA9\xA9\x82\x4B\xA6\xC5\x48\x2C\xD1\x79\xF0\xA9\x44\xDD\x79\xE4\xAB\xFA\xD7\xDA\x7D\xD9\xC1\xB2\x68\xBF\xDF\x8A\xB4\x99\x4B\x72\x13\x64\x01\x65\x7C\x98\x41\xB9\x8C\xF2\xD3\x93\xD4\xD3\x3C\xD6\x05\x36\x00\x61\x0A\xEF\x1C\xE2\x9E\xDD\xA9\x7C\xD5\x71\xF1\xAF\xD8\xD6\xA9\xB0\xCB\x2D\xA4\xD4\xBB\xD9\x6A\xDB\xA0\x02\xE2\xAA\xD9\x09\xA3\xC7\x9F\xF4\xB1\x52\xE1\xE0\x11\x05\xA9\xCF\xD0\xF7\xD8\xAA\xFE\xDA\xA1\x47\x6B\x75\xDB\x49\xAC\xE0\x79\xAE\xE1\xA4\xD5\x0F\x31\xE1\x27\xBD\xA4\xD0\xA8\x94\xD9\xA2\x65\xD3\x4A\xE7\xD3\x2A\xDB\xAC\xEB\xD2\x91\xD9\xD2\x3B\x54\x4B\xC5\xBD\x21\xED\x53\xE1\xD2\x11\xE4\xD3\x4B\x3E\x4C\xE0\x00\x34\xDC\xC3\x9B\xA3\xD4\xCE\xD3\xD0\x98\x86\xDE\xD2\xC3\x95\x7C\x9C\xB4\x15\xE9\xDD\x57\xE1\x4A\xC9\xE2\x44\xAC\xC5\xBC\xDE\x13\xE7\xD2\x10\xAA\x88\xC2\x3B\xF5\xBA\x2F\x63\xBE\x75\x55\xC3\xE9\xBE\x20\x39\xE3\x9E\x96\x9D\x6D\xBD\xBE\x0F\xBB\xD4\x99\x57\xE9\xC3\xFA\xB6\x80\x82\xC0\x50\x0C\xB4\xD0\x2D\x34\xC1\xDF\xFE\xB8\x88\x80\xC2\x21\xFD\xBC\x05\xC7\xFE\xBF\x1C\x14\xAA\x74\xBA\x9A\xBF\xB4\xC0\x26\x5E\x02\xD1\xC0\x72\xDC\x80\x82\x4D\x05\xCF\xC6\x26\xB2\xE1\x87\xB2\x0D\xC2\xC2\xB1\xA5\x07\xD7\x4E\x1F\xC7\x40\xE2\xC1\x35\x01\x9D\xEC\x38\x03\xA8\xC1\x12\x22\x05\xF2\x03\x56\xE9\x7F\x2E\xC0\x0C\xCB\xA0\x74\x9C\x06\xC6\x4E\xAB\x44\xC7\x8C\x35\x04\x5D\xE5\x4A\x0E\x6F\xB9\xE3\x81\x0B\xC7\xC0\xE4\x48\x1E\xE3\xE6\x10\x90\xDC\xD8\x2A\xB1\xB0\x84\xE7\xFD\xA3\xC0\x59\xD1\x91\xED\xDA\xFF\xBB\x49\x8E\xE4\xFE\xA4\xC0\x85\xE0\x01\xD4\xE4\x48\xC7\xC9\x9E\xE5\x26\xE0\xE5\xC2\xD4\x12\xD8\xE5\xD2\x3A\xC9\x85\xD9\xC2\xCC\xB8\xA4\xE0\x76\xE7\xE5\x7C\xA0\x82\x88\xD0\x2B\xEA\xD0\xD2\xCF\x04\xC9\x3C\xBF\x32\x77\x33\xE4\x3C\xEE\xE5\xEC\x9F\x05\xF1\xC0\x6E\xBA\x98\x02\x38\xF4\xCE\xDF\x59\xCC\x0E\xF2\x01\x19\x06\x02\x2B\x71\x41\xF9\xDE\x5E\xB6\xED\x98\xA4\x6A\xEB\x41\x8A\xC4\x27\xC3\xC4\x96\xBA\xEF\xA6\xA0\xBE\xBE\x62\x8E\xE8\x29\xCD\xC4\x11\xED\x92\xD1\xC5\xC4\xB4\xAC\xB1\xAF\x5B\xB2\xBA\x0D\xA7\xF1\xAE\xB1\x51\xC3\x79\xA2\x02\x27\xD9\xBB\x8B\xE1\x14\xDF\xBA\x32\x04\x77\x8C\xC6\xE7\xAE\xC4\x0A\xC1\x15\xE8\x61\x55\xC4\x8F\xE2\xDB\x1E\xDA\x60\xCA\xE4\xFE\xBD\xBB\x0A\x6F\x77\x8B\xC5\x27\xD9\xB9\x30\xEA\xA2\xC9\xA2\x44\xC6\xD1\xA5\xE9\x6B\x06\xC5\xD9\xA3\x47\xDE\xE8\x8E\xE5\xAE\x8D\xBF\xD4\xBA\xC4\x9B\xBE\xA7\xD0\xE9\x4F\xC2\xD4\xCD\xDA\x28\xD1\xEA\x0F\xED\x14\xC1\xEA\xC3\xB2\xD3\xB2\x62\x8F\x4E\xD1\xAC\x10\xA8\x70\xA4\xEA\xDF\x02\x75\x41\x59\xEA\xBF\xAC\x10\x76\xA4\xC7\xB2\xDE\x7A\xA2\x01\xB6\x85\xB7\x64\x24\x7F\x04\x65\x34\x2C\x40\x1D\xA9\x5A\xFD\xA9\xEB\x7D\xFD\x52\xA2\xDF\x58\x40\x0A\x20\xAB\x0D\xB1\x9B\xA2\x71\xB8\x9F\x10\x6A\xD7\x8F\xD4\x2C\xAA\xEB\x7E\xD4\xAD\xE5\xB2\x11\x0F\x03\x02\xB3\xD9\x46\x46\x3D\x0E\xAE\xCC\x20\x64\xE3\x06\x48\xAE\xBF\xA4\xC7\xED\xC4\x93\xF0\xDD\x76\xC7\xCE\xF0\x9E\x5F\xC5\xE5\x1C\xC4\x3C\x7C\xE7\xE8\x4F\xD7\x8D\xA7\x5D\xEB\x9C\xE1\x7A\x0E\x3B\xEA\xFE\x1D\xD7\xC1\x5F\x5F\xE9\xB4\x82\xEB\x71\xBB\x5E\xD5\xE6\xD8\xA7\xEE\x20\xE3\xBD\x47\x63\xDA\x9B\x5C\xC9\xED\x13\x08\xEF\x08\xEA\xEC\x7F\xAC\x7F\xC0\x9F\x1E\x66\x43\x3F\x61\x5D\xE6\xED\x93\xED\x79\xA4\xC6\xB9\x92\x02\x1E\xB7\x65\xFE\xD3\x77\x54\xA6\xA8\xB0\x53\xB4\x37\x85\x55\x5D\xE9\xB4\x88\x51\x67\x31\x18\x46\x57\xC8\xE3\xA9\xA2\x4C\x27\x81\xB7\xB4\xF0\xDD\x05\xB1\x65\xB7\xED\xCD\xC3\x37\xC7\xEE\x87\xA7\xEC\x49\xDE\x20\x1B\xC0\xC7\xAB\xB4\xCD\xE9\x39\xF0\xDD\xE8\xE2\xCA\xD6\xE9\x75\xFD\x53\xD7\xE8\x8B\x99\xEE\x45\x5C\xDD\x9D\xBC\x6A\x01\x03\xCB\x7E\x0D\x2C\x03\x3C\x01\xDE\xC9\xED\x71\xBE\x5C\xEE\xEF\xAD\xAA\xA3\xF8\xE1\x8A\xAA\xB2\x71\xB2\x5B\x1E\x24\x6E\x69\xEF", -"\x9E\x92\xDE\xEB\xEB\x82\xE8\xC6\x00\xB2\x8A\x84\x46\x4B\x18\x29\x13\xF3\x61\xFD\xA9\xE5\xED\xB2\xB3\xD8\x60\xBF\x42\xD7\xB0\x42\x71\x25\xA5\xEA\xBD\xC6\xF0\x11\x01\xF8\x05\x13\x6A\xE7\x20\xC0\x5A\x87\xC0\xED\x0D\xA1\xDB\xA2\x02\x15\x02\x7C\x05\xF5\xB7\xFD\xA8\xC8\x79\x2A\x2F\xF3\xEF\x5E\xEB\xF9\xE8\xA6\xB5\xF0\xEC\x11\xF9\x5C\x09\x8E\xED\xAF\xB6\x7E\x22\x3E\xF1\xD6\xE2\xE3\xB0\xEE\x61\xB8\x9F\xB2\x7A\xC9\xF5\xED\x15\xF7\x43\x4B\xF1\x8C\xF0\x48\x33\xF6\x7B\xB5\xF0\x45\x17\xE4\xCF\xB3\xF2\x75\x03\x32\x1E\xCA\xC0\xF3\xC8\xEE\xE4\x95\xB0\xFE\x84\x02\xCC\x7B\x4A\x1D\xF3\x9E\xA0\xFC\x6F\x00\x52\x02\xF3\xAE\xE9\xC8\xEE\xB1\x1A\xF7\x2C\x6E\xF1\x1C\xE8\xEE\x3A\xF0\x8F\x87\xC9\xB3\xB4\x37\xFC\xEB\x95\xEF\xED\x58\xA3\xCB\xD4\x5B\x10\x2B\xE6\x8B\x9C\x8B\x13\x1B\x70\xF5\xC9\xC1\xF5\x27\xFB\x38\xE6\xB5\x10\xF2\xD3\x40\x65\xEB\x2E\x98\x56\x18\x35\xA4\x99\x42\x16\xF4\xC1\xBB\xBD\xEE\xBF\x80\xDF\xDC\xA3\xE1\x66\xF4\xC4\x98\xE8\x61\xF5\xEE\x74\xEF\xD9\xEA\xE6\x68\xF9\xE5\xE0\x4C\x81\x10\xF4\x43\x61\xC4\x13\xF4\x03\x2E\x01\x37\x01\x21\x89\x08\x59\xF9\xE9\xAB\xF2\x83\xA7\xAE\xE3\xC1\xB1\xCB\xF0\x4F\xB6\xDF\xC9\xD7\x83\xF2\x19\x73\x5E\x4F\x60\xEA\x56\xF2\xE9\xE0\xBC\xA5\xF8\x01\x9A\x91\x21\x09\xF7\x5A\xF9\xE7\xEC\xED\xC4\x3D\xD3\x23\xE4\xB9\xCE\xEE\xD0\xE2\x36\xF4\xEF\x74\xFD\xCD\xF8\xEB\x80\xBA\xEF\xEF\xEB\xA8\x08\x69\x77\xEB\x9C\xFF\xE9\xC0\xC3\xF1\x38\xD3\xEC\xBD\x0A\x58\xF4\xF4\x31\x00\x06\x0D\x83\x84\x0B\xEE\xCC\xF5\x7B\xB3\xAC\x3A\x9E\xBC\xE2\xDE\x13\xF9\xD0\x10\x4B\xAA\xE6\xF7\xCE\x4B\xAC\xF1\x01\x18\x03\xF4\x09\x09\xBF\xEE\xF7\x4F\xB2\xA8\x84\xBF\x7C\xC8\x7C\xED\xDC\x10\xAF\xDF\xD0\x9D\x0E\xF8\x00\x88\xC7\xE8\x02\x0A\xFD\xC7\xB6\x15\xCC\x71\xFC\xB7\x5C\xF3\xC2\xFB\xB6\x4C\xD6\x26\x4A\xAD\x27\x3C\xDB\xB8\xCC\xC0\xB9\xB0\xC2\xEB\x9E\x75\xC1\x07\x28\xC9\x81\x08\x92\x8F\xFB\x4A\xDD\x09\x6C\xAA\xA9\xFF\xB1\x98\xC8\x54\x98\xF8\x4D\xD3\xDC\x09\xE5\x72\xE0\x47\x8E\xFB\xB5\xB4\x00\x0C\x1F\xC9\x03\x0F\x27\xE6\xF9\xC5\x93\x94\xA9\xF9\x24\xC7\xCB\x8A\xBB\xCC\x8E\xCB\xDB\x90\x95\xD2\xCA\x15\x4C\xD8\x94\xDF\x6F\xD6\xDC\x1D\xC1\x03\x19\xD2\x40\x1B\xD0\xC2\xBF\xCB\x87\x88\xA2\xC3\x7C\xBF\xF8\x49\x28\xCB\x6E\xA9\xCD\xAB\xCB\x77\xCD\x96\xCA\xB1\x13\x50\xD0\xBC\x6E\x3D\xD6\xD0\x68\x2C\xF5\x00\x02\x32\x32\xCF\x05\x28\x9A\x33\x99\x9A\x90\xC1\xA6\x5D\x40\x13\xE0\x1D\xD6\x07\x09\xC7\x7F\xE7\xF0\x81\xEB\x2B\xD6\x01\x30\x06\x1C\x04\x52\xBD\xF8\xD0\xD6\xD4\xE2\xC6\xE1\x0A\xA1\x74\xE8\xDC\xE5\xDE\x49\xA6\xDC\x32\xAE\xA8\x77\xA4\xF0\xEB\xA5\xD6\xD8\xF2\xF5\xD9\x88\xDB\xA7\x13\xAD\x9F\xA9\xE0\x05\xA6\xBB\x88\xFE\x44\xA2\xDF\xB3\xDE\x50\xE5\xDF\xDE\xDB\xB6\xC5\xA4\xF0\xCD\xA7\x88\xFB\x99\xB8\xDD\xE3\xD3\xF9\x82\xE2\x8B\xAB\xDD\x1A\xAE\x79\xFC\xA1\x62\xCA\xBD\x98\xDA\xD8\x87\xA2\x7F\xA9\x69\xE3\xB3\xA5\xDD\xE0\xC0\x9F\xD3\xC3\xD2\x4D\xE2\x6A\xCF\xE2\x39\xA5\xB5\xE2\xE1\x4D\xFD\xDC\x7F\xF8\xB8\xD8\xA4\xB8\xD7\xFA\xBE\xDD\x1E\xA9\xE9\x6E\xD8\x8F\xAA\xDC\x8C\xA3\xB7\xC7\xFC\x24\xD6\xDB\xED\x79\x8D\x63\xAC\xBA\x9A\x48\xA5\xFC\xBA\xBF\xFD\xAD\xF9\xC7\xB7\xE0\xE7\xAC\xB8\xE0\xDF\x2C\xA1\x9E\x33\x52\x72\xF3\x30\xD3\xBD\xAF\xC1\xFC\x55\xBF\xDE\x8F\xFE\x63\xE3\xDE\xCD\xF7\x3B\xE6\xDF\x45\x49\xDF\x65\xAA\x88\xEC\xFC\x8A\xCD\x13\x39\x9E\x69\xC9\xFF\xC8\xD0\xF3\xD8\xF8\x8F\xC4\x3C\xF3\xFE\xDF\xFB\xDE\x89\x6F\xF1\x51\x61\x74\x70\x1A\x79\x0E\x70\x91\x2A\x2A\x2A\x73\x57\x50\xAA\x68\x6F\x63\x56\xFA\x6E\xFB\x7B\x7C\x3E\x56\x3D\x56\x94\x5E\x6B\xB7\x50\x54\x63\x57\x50\x13\x6B\x5D\xF9\x70\x00\xBD\x55\xC2\x57\xE2\x44\x5C\x72\x7B\x20\x6D\xFF\x78\xFD\x4F\x55\xFE\x68\x79\x7F\xD9\x72\x7B\x99\x54\x6B\x6D\xBD\x7E\x7F\x2C\x6F\x06\x83\xF4\x69\x61\xE8\x62\x5B\x5F\xE9\x41\x7D\x32\x82\xA8\x78\xAE\x74\x5E\x55\x19\x70\x6B\xF3\x65\x80\x1D\x80\x83\x57\xE0\x54\x2E\x51\x62\x47\x76\x49\x7E\x6A\x4D\x77\xB8\x68\xF5\x42\x81\xC6\x6B\xA8\x79\xAE\x5E\x2E\x5D\x72\xF7\x47\xEB\x71\x58\xEF\x69\x1B\x07\x5E\x65\x01\xD3\x68\xF9\x76\xD3\x77\x63\xD4\x79\xEC\x6C\x8F\x77\x57\x91\x18\x40\x60\x02\x02\x64\x9F\x21\x34\x65\x90\x77\x01\x04\x59\xE9\x5C\x02\xB7\x6F\x7F\x7F\x82\x54\xAB\x4F\x81\xB7\x69\xCC\x63\x65\x63\x78\xBA\x69\x53\x7F\xAD\x4E\x57\xE1\x69\xB1\x6A\x5D\x5A\x76\xE2\x69\x28\x77\x03\x8E\x78\x4C\x82\x1B\x72\xB5\x6D", -"\x6B\x03\x52\xDD\x50\xAD\x6D\x30\xF0\x0D\x15\x87\x06\x8F\x59\x3D\x7D\xB7\x66\x07\x8B\x76\x1D\x75\x74\x5F\x02\x85\x7D\x0E\x06\x5B\x6F\xF5\x7A\x80\x51\x7D\x88\x72\xB3\x41\x66\x25\x7B\x60\x68\x65\x42\x34\x94\x81\x10\x62\xF5\x61\x59\x8A\x80\x12\x8D\xD6\x4D\x82\xD8\x56\xD6\x7B\x82\x6C\x65\x53\x7F\xD1\x7D\x09\xAA\x64\x20\x01\xF1\x5D\xA1\x56\x81\x42\x6C\x9D\x50\x68\x48\x52\x78\x5B\xD2\x1C\x9F\x66\x7E\x9B\x53\xA5\x52\x02\x3F\x59\xF5\x27\x14\x77\x08\xB6\x63\x97\x7D\x2D\x87\xA6\x0D\x81\x8A\x58\xB9\x59\xA5\x4B\x54\xB0\x82\x1E\x62\x69\x74\x82\x86\x5B\x2D\x8E\xA9\x7C\x59\x8B\x58\xFE\x49\x69\x7E\x82\x23\x83\xAB\x5C\xE0\x43\x6C\xA2\x58\xA9\x54\xDD\x49\x6B\xDA\x5E\xEA\x24\x3F\x1D\x5F\xAB\x81\x50\x60\x6B\x6C\x39\xB2\x5B\x7B\x74\x6E\x75\x5A\xAE\x07\xAD\x5A\x72\x7C\x65\xBB\x5A\xA7\x42\xEF\x68\x5A\xB5\x2C\xB1\x5B\x0E\xB6\x74\xA5\x55\x19\x7C\xF2\x49\x83\x91\x5B\x26\x1C\x4B\x4B\x5B\xF3\x82\xD0\x62\xEF\x52\x5B\x51\x32\x19\x85\x0D\x88\x58\xD9\x5B\xEB\x7B\x6D\x68\x7A\xD1\x25\x06\x82\xB6\x5A\x66\xE6\x83\xBB\x54\xFD\x57\x3F\x0A\x86\xD0\x6C\x6E\x54\x01\x9B\x64\xBC\x56\xE7\x64\x6F\x2B\x83\x40\x8D\x5E\x58\x81\xDE\x7E\x39\x62\xDF\x69\x63\x17\x60\x1E\x85\x03\x91\x60\x9D\x77\x74\x63\x3B\x0F\x5C\xE1\x83\xE9\x53\x84\x56\x4D\x46\x63\x7B\x7E\x84\x5A\x76\x4C\x61\xC7\x55\xA5\x27\x61\x21\x5F\xAE\x62\x04\xAC\x7C\xB4\x83\x1B\x63\xFE\x7F\x82\x6D\x5C\x4E\x7B\xD0\x44\x75\x7E\x5D\x4B\x7F\xD3\x48\x75\x55\x74\x45\x7B\x49\x45\x75\x2E\x77\x51\x7B\xD5\x4F\x7F\x4C\x5F\x24\x64\x03\x82\x81\x20\x76\x09\x52\xD2\x5B\x52\x24\x76\x4B\x77\xD2\x45\x62\x87\x7D\xE6\x53\xD2\x58\x75\x17\x77\x4B\x79\xD1\x50\x62\x5D\x76\x40\x80\x01\x88\x63\xCB\x63\x2E\x6D\x8C\x7D\x62\x04\x6C\x34\x62\x7B\x79\x56\xC3\x62\x15\x57\x9D\x63\x7D\x23\x19\x85\x6E\x98\x6A\x7D\x36\x00\x78\x63\x10\x20\x67\x1C\x68\x5C\x8D\x9F\x4B\x4E\xA4\x66\xCF\x73\xB0\x7C\x66\x88\x53\x7A\x60\xF6\x77\x0B\x2E\x4D\x87\x62\x17\xB3\x67\x8F\x67\x0D\x09\x9F\x43\x04\xF9\x65\x5E\x83\x17\xB0\x66\xFE\x64\x93\x4F\x3B\x08\x67\x0B\x63\xC4\x7B\xCC\x70\x81\x47\x5A\x73\x6E\xCE\x74\x72\x17\x0A\x49\x80\xB4\x13\x86\x0F\x6B\x88\x11\xBA\x0F\x67\x86\x06\x58\x7E\xCE\x58\x4D\x82\x03\x49\x09\x1A\xAA\x5F\xEE\x72\x2D\x6F\x7E\x77\x57\xD6\x08\x67\x81\xCA\x59\x78\x81\x87\x2A\x76\x2D\x0D\x52\xAD\x87\x31\x6C\x36\x4A\x63\x6D\x4D\x6C\x87\xCF\x79\x1F\x04\x65\x6D\x8C\x63\x16\x0B\x16\x70\x8F\x68\xC1\x70\x01\xEA\x79\x0D\x0E\x27\x46\x04\xCB\x84\xA4\x6B\xA7\x6E\x0A\xFB\x6E\x98\x68\x1C\xB7\x70\xFD\x6D\x4F\x0A\x55\x40\x70\x9D\x68\x06\x5E\xFE\x61\x6A\x3F\x73\x4E\x01\xC4\x74\x7D\xD0\x4F\xC7\x73\x49\x7E\x4D\xAA\x68\xAB\x68\x87\x42\x5F\x3C\x81\xB5\x1E\x01\x85\x65\x6C\x80\xCF\x78\xAB\x62\x78\xF3\x5E\x4D\x8B\xF2\x4C\x57\xE0\x69\x11\x87\x07\x87\x81\x3F\x59\x12\x8B\x07\xBE\x7A\x7D\x81\x02\x8F\x62\x5E\x2E\xCE\x6A\x49\x73\x08\xB5\x58\xF2\x68\x4F\x89\x1E\xAD\x75\x81\x55\xDA\x4D\x1E\x93\x80\xBC\x68\x7D\x84\x07\xB6\x87\xE1\x73\x53\x89\x1F\xBA\x81\xF9\x7E\xB2\x68\x0B\x9E\x71\x80\x81\xF4\x41\x05\x93\x81\xD3\x68\x78\x8B\x3C\x62\x87\xA3\x4E\x0C\x08\xAF\x7A\x6B\x0E\x7C\x7A\x8F\xF7\x4F\x82\x02\x7E\xC0\x60\x12\x9B\x72\xF8\x84\x76\x5C\xD9\x4A\x81\x38\x81\x67\x08\xF4\x71\x7C\x4A\x7F\xCC\x7C\x7B\x72\x00\x11\x6F\x49\x0A\xB2\x66\x88\x1B\x82\x1A\x8F\x97\x70\x87\x34\x6F\xC7\x60\xA9\x33\x88\x1C\x7D\xD6\x66\xF7\x75\x65\x32\x03\xC9\x6A\x23\xA5\x88\x41\x63\x81\x8B\xD8\x70\x7B\x97\x84\x26\x80\x02\x29\x80\x1B\x7E\xC8\x64\xF3\x40\x74\x80\x6C\x1D\x63\x03\x3D\x6C\x27\x05\xFD\x6C\x23\xAE\x7E\x4D\x66\xD1\x61\xFB\x52\x87\xD1\x54\xED\x7D\xEB\x53\x51\x0B\x19\x9A\x69\xFB\x5E\x71\xBB\x7C\xD5\x61\x5B\x2C\x6F\x49\x7F\x5C\x67\x24\x9B\x6D\x33\x01\x0C\x0C\x04\x3A\x3B\x77\x89\xDF\x7D\x02\xA0\x89\xC2\x7E\x39\x54\xFC\x42\x53\xC6\x7D\xDB\x64\xBC\x7F\x89\xF2\x50\x1C\x74\xB7\x5A\x74\xD0\x7D\x4D\x28\xB7\x54\x7F\x7A\x6E\x2D\x50\x87\x5A\x84\xDF\x52\xF6\x75\x49\x6A\x51\x7E\x89\x1E\x5A\xF8\x5C\x51\x82\x8B\x32\x54\x28\x93\x53\x86\x8A\xF3\x7C\x43\x51\x62\x77\x6F\xF4\x70\x3C\x55\x7F\x8E\x8B\x8C\x1E\x21\x93\x52\x20\x8A\xCC\x43\x03\x32\x00\x60\x6E\x41\x0D\x2A\xBB\x80\xC1\x7C\xA5\x88\xB6\x56\x8A\x9C\x7C\xE9\x68\x29\x95\x75\xF2\x4D\xDA\x4B\x29\x9C\x52\xB6\x89\xF3\x7A\x80\x49\x8A\xD2\x7E\x91\x5C\x28\xA3\x31\xD6\x7F\x70\x07\x2A\x9D\x4E\x73", -"\x8B\xF4\x63\x03\x33\x00\x85\x6F\x40\x05\xB8\x70\x8A\x1B\x80\x5C\x56\x91\x59\x81\xE1\x6D\xE4\x65\x25\xAA\x46\x23\x6D\xF4\x69\x2C\xB0\x6F\x33\x00\x0D\x0E\x07\x2B\x38\xDF\x8A\x9E\x88\x06\x91\x8B\xD3\x4F\x25\x53\xF8\x75\x8A\xCB\x6E\xE1\x7D\x50\x4F\x50\xC9\x7F\xA5\x86\x4D\x46\x7E\xDA\x50\xB5\x8F\xFD\x7D\x52\xA5\x88\x86\x55\xF9\x6C\x8B\xA3\x7D\xE4\x76\x50\x7E\x87\xA8\x7E\xEA\x77\xF8\x78\x8B\xA2\x7F\xE5\x74\x2F\x98\x84\x89\x58\xEA\x78\x43\x7E\x8B\x29\x02\x81\x86\xFE\x64\x53\xE6\x8A\xE8\x68\x2E\x85\x7E\xAE\x6C\xE8\x70\x30\x90\x54\xEE\x88\xF3\x60\x2F\x94\x7C\xFA\x5B\xBC\x89\xF9\x6D\x54\x18\x53\xBD\x83\xBC\x42\x8C\x1B\x8C\x31\x8D\x2F\x9F\x7E\x1E\x8E\x32\x50\x51\x45\x6F\x2D\x7E\xE4\x75\x2F\x9A\x87\x0F\x8F\xE2\x7D\xBC\x64\x8C\xE9\x4F\xB1\x88\x83\x5B\x8B\x09\x7F\x0C\x05\x03\x3E\x02\x25\x38\xCE\x82\x2E\x91\x8A\xA0\x57\x0D\x72\xF8\x4E\x8C\xC5\x7D\xE7\x7A\x2E\x82\x6F\x45\x65\xE2\x7D\x32\x99\x54\x8C\x7F\x29\x6F\x4A\x78\x7F\xA4\x7F\xCA\x85\xBB\x7F\x8B\x1F\x8C\x41\x5A\x2F\x88\x6F\xCF\x81\xD0\x86\x2B\xBF\x6E\x3A\x50\xF2\x73\x31\xBA\x52\x52\x8E\xFE\x7A\x32\x84\x8C\x15\x8D\xEA\x70\x33\x89\x8C\x90\x8B\xC5\x62\x29\x80\x7E\xC0\x53\xCF\x87\x4E\x55\x8C\x43\x8C\xEA\x6D\x2E\x87\x8D\xEF\x89\xC4\x82\x48\x5D\x84\xEA\x7D\xC8\x80\x39\x65\x8C\x11\x55\xD7\x83\x30\xAC\x7F\x05\x8E\xEF\x6E\xF9\x59\x8D\x12\x8F\xFB\x49\x36\x44\x6F\xF9\x8A\xD7\x8B\x2F\xAB\x89\x9C\x88\x3D\x57\x30\xA3\x8D\x0A\x8C\xB9\x8C\x30\xA1\x6E\x6B\x8C\xDC\x8F\x49\x4D\x7E\x5A\x8F\xF0\x66\x4A\x61\x8D\x49\x8F\xAF\x8C\x34\x93\x8D\xC5\x8B\xD3\x8B\x2E\x82\x8E\x79\x8E\xF1\x6C\x39\x8E\x8D\x9B\x7E\xD5\x8B\xBC\x4D\x5A\x81\x8E\xC9\x8C\x35\xA2\x8E\x86\x8C\xD5\x8C\x32\xA6\x8E\x8A\x8F\xCB\x80\x38\x80\x50\x32\x8D\xAA\x85\x87\x76\x00\xD8\x6E\x41\x09\x3B\x90\x8B\x7C\x8B\xF9\x70\x3A\xB4\x8D\xB9\x6F\x51\x30\x36\x83\x70\x0B\x82\xA2\x60\xFF\x47\x70\xF3\x69\x9C\x8E\xF1\x74\x8C\x20\x7F\x0C\x07\x03\x33\x6F\x06\x3B\xCE\x86\x36\xBD\x8C\x01\x83\x53\x66\x52\x54\x6A\x05\x82\x75\x8F\xBF\x74\x34\xB3\x28\xE2\x81\x53\x45\x8F\x05\x72\x03\x8E\x3F\x45\x87\xC8\x85\x1C\x6A\xEE\x4E\x70\x17\x05\x5E\x08\x90\x13\x70\x4F\x6A\xDC\x70\x04\x24\x8F\x30\x6B\x21\x32\xA3\x73\x00\xA8\x02\xBE\x35\x3F\x9F\x70\x68\x71\x09\x72\xA5\x6C\x71\x4C\x73\xF8\x79\x68\x53\x6D\x7F\x53\xA6\x5C\xA3\x4F\x87\x58\x05\x82\x7E\x3B\x65\x70\x96\x50\x0A\x74\x3A\x9D\x6F\x89\x5A\x0F\x7D\xE8\x40\x71\x8E\x68\xB5\x6F\xA2\x44\x90\x27\x8D\x0D\x73\xA6\x55\x8F\xB7\x4D\x75\x8F\x90\x1C\x6A\x95\x5B\x76\x8C\x00\x8F\x90\xDE\x85\x04\x93\xC6\x4C\x69\xB0\x57\x11\x7B\x3F\x94\x69\x50\x6C\xF1\x4F\x3F\xAD\x89\x5A\x6A\x14\x72\x40\x88\x87\x4F\x5A\x15\x7A\x3F\xAB\x71\x28\x90\xEE\x7E\x3F\x85\x69\x5B\x50\x18\x70\xA7\x63\x8F\x2E\x6A\x5B\x01\x03\x07\x87\x31\x00\xD6\x4B\xEC\x43\x04\xCB\x79\x18\x51\x03\x24\x71\x2F\x68\xBD\x57\x44\x97\x6C\x31\x01\xD1\x66\x60\x0B\x4E\x6F\x75\x09\x74\xFB\x74\x4D\xB7\x7E\x9A\x87\x21\x8E\x81\x6D\x8A\x5B\x00\xC3\x64\x8F\x3F\x92\xFC\x8E\x43\xA4\x4E\xC1\x45\x42\x01\x46\x80\x65\x4B\x90\x54\x5D\x44\xAF\x7E\x62\x88\x14\x95\x42\xA4\x60\x43\x05\x87\x11\x18\xA9\x89\x1D\x93\x95\x69\x45\x99\x04\xE7\x4F\x1C\x72\x7E\x7F\x72\x77\x71\x0D\x03\xCC\x42\x04\xC5\x71\x1F\x7C\xE6\x7F\x71\xF0\x5C\x90\x85\xA0\x4C\x74\xDE\x4E\x35\x70\xCD\x7E\x51\xD2\x71\x55\x74\x48\xB3\x4D\xD9\x73\x21\x92\x02\x11\x72\x07\x63\x24\x7A\x80\x5D\x73\xD1\x26\x03\x65\xCE\x50\x63\x9A\x77\x38\x7D\x19\xA0\x73\xB1\x5E\x12\x89\x36\x65\x7A\xE4\x63\x3A\x79\xCA\x64\x86\xEF\x73\xF7\x81\xCF\x6A\x5E\x29\x61\x3D\x72\x1B\xA6\x60\x8B\x4F\x2D\x72\x83\x60\x00\xBA\x73\xC8\x1B\xB7\x06\x73\x71\x27\x6C\x58\x98\x34\x92\x0E\x60\xD6\x4B\x1C\x83\x04\xCD\x84\x2E\x93\x5B\x46\x4E\xF7\x54\x4E\x16\x97\x2F\x5E\x93\x23\x08\x59\xAB\x5F\x92\x06\x93\xF7\x7A\x49\xBF\x18\x2B\x23\xC8\x3D\x82\x03\x4D\xC2\x91\x55\x18\x35\x4F\x49\x09\x04\x35\x91\x7C\x51\x93\x4A\x17\x93\x50\x04\x3F\x88\x32\x6F\x4F\x1B\x31\x02\x15\x92\x56\x1B\x8D\xB1\x55\x86\xF2\x84\x76\x5C\xDC\x4C\x5C\xB6\x54\xDD\x48\x4D\xB0\x04\x76\x90\x5C\x26\xC7\x65\x5F\x34\x03\x1E\x91\x10\x3D\x91\x70\x24\x65\x7A\xCC\x42\x72\x3A\x77\xFF\x5D\x48\x9F\x7B\x22\x02\xFE\x53\xCD\x4D\x72\xFB\x90\x24\x79\xCD\x52\x92\x1C\x56\xC0\x6B\x4C\xA8\x85\x33\x82\x90\x57\x50\x8F\x60\x69\x84\x85\x89\x81\x60\x92\x7E\x6A\x28", -"\x93\x40\x6D\x73\xAB\x73\x2A\x94\x4D\x72\x73\xA9\x90\xE0\x16\x51\xB6\x72\xFB\x70\x42\x8A\x9A\x23\x1C\x6F\x87\x63\x8B\x98\x71\x67\x1D\x6A\x0B\x08\x03\x0E\x7D\x01\x04\xD4\x71\xF7\x76\x63\xEF\x56\xBC\x84\xE6\x62\x5C\xB7\x66\xDF\x02\x07\x95\x80\xEF\x62\x8A\x68\x00\xB0\x7C\x45\x8A\xCC\x79\x97\x17\x89\xF0\x6E\x0C\x0E\x2D\xA7\x04\x7E\x00\x93\x8C\x0A\xAE\x57\xB2\x64\xDD\x8C\xE9\x47\x6C\x2C\x8A\x84\x8E\x22\xB6\x80\xF9\x7E\xC3\x52\x8F\x44\x89\x56\x8A\x91\x89\x25\xAF\x62\x32\x01\x0D\x0C\x06\x27\x04\x57\x96\xF4\x80\x41\x6D\x94\x46\x97\xE2\x44\x16\xAD\x4D\x5D\x82\xC0\x1B\x5F\x55\x37\x62\x82\x49\x85\x06\x97\x8B\xC3\x45\xB6\x88\x25\x8B\x7D\x74\x61\x0D\x01\x03\x01\x00\x2B\x38\x5C\x9A\x55\x91\x80\xF5\x7E\xC4\x78\x91\x69\x7F\x69\x4F\xC5\x74\x05\x99\x7C\x1B\x30\x4F\x84\x57\xA7\x5D\x0C\x8B\x4D\x88\x68\x56\x80\x33\x64\x06\x84\xD3\x50\x80\x89\x81\x60\x93\x21\x8C\x82\xE5\x6B\xD0\x79\x57\x92\x51\x46\x7F\x5B\x6F\x28\x90\x80\x62\x64\x8F\x51\x0A\x8B\x96\x4A\x65\x24\x66\x0A\xB2\x01\x8F\x94\x22\x5D\xF5\x53\x65\xD9\x86\x52\x0E\x57\xAB\x84\x31\x84\xD0\x4B\x8E\x6C\x84\x5E\x62\x4B\x88\x84\x74\x84\x41\x83\x7C\x8A\x42\x90\x65\x29\x5F\x57\x7C\xF0\x32\x65\xF1\x8D\xAB\x74\x5B\xA4\x4E\xB5\x49\x42\x09\x5B\x80\x65\x32\x70\x74\x8E\x52\xA5\x01\x4A\x77\x11\x79\x40\x91\x7E\x2C\x54\x31\x8E\x40\xA2\x00\xA3\x69\x04\x97\xEF\x65\x01\x31\x68\xA5\x72\x03\x16\x41\x09\x04\x74\x90\xF0\x4A\x77\xBA\x79\xFE\x18\x3D\xA9\x5D\x34\x11\x71\x75\xC8\x3D\x04\xCB\x95\x73\x9F\xEA\x6B\x8A\x27\x05\x1E\x48\xD6\x46\x78\xB0\x6C\x70\x79\x36\x6F\x75\xD4\x7D\x5C\x76\x46\x1A\x97\x74\x74\x77\x95\xEE\x4C\x97\xF2\x8C\xA5\x74\x03\x04\x41\x09\x04\x7D\x93\x5D\x99\x81\xE6\x97\xE2\x4D\xD8\x4D\x5C\x8F\x75\x87\x7E\x5E\xB3\x96\xB9\x5D\xA4\x79\x85\x2E\x7A\x3D\x06\x0B\x05\x03\x00\x42\x09\x04\x82\x97\x5F\xA5\x97\x74\x31\xDA\x48\xE1\x52\x63\x20\x03\x86\x78\xB6\x2A\x7A\xEF\x96\x77\x95\x60\xB6\x00\x29\x49\x42\x09\x61\x8B\x98\xCB\x75\xA0\x28\xB4\x72\x77\xE4\x62\xB5\x75\xFB\x5F\x6C\xD9\x79\xF4\x4B\xED\x5A\x77\xDD\x7A\x23\x97\x05\x1C\x7B\x6A\x78\x0F\x90\x60\xB0\x52\x16\x9A\xCC\x49\x03\x1C\x42\x09\x04\x8D\x9C\x61\xBE\x69\xB2\x68\xCC\x61\x25\x81\x89\x29\x82\xB0\x7F\x62\xA1\x75\xF9\x78\xBA\x71\xEB\x67\x04\xB4\x78\x85\x76\xEB\x5C\x6B\x0C\x9A\x75\x93\xD4\x63\x98\x7D\x2C\x84\x70\x3E\x14\x98\x3F\x98\x03\x17\xEE\x6F\x7A\x3B\x67\x10\x9D\xAB\x25\x88\xEB\x75\xFF\x39\xE0\x6C\x29\x1F\x9A\xC0\x61\x62\x9C\x1E\xF5\x77\x36\x84\x62\xB2\x29\xDA\x78\x4C\x5B\xDF\x5B\x77\xDE\x7A\x7F\x77\x53\x62\x7B\x04\x7A\x8B\x9A\xA6\x06\x7B\x52\x99\x90\x9F\xEA\x72\x00\x30\x03\xBF\x73\x10\x3F\x7B\x46\x99\xB3\x75\x0F\xB0\x52\x8F\x97\x72\x96\x39\x54\x7A\xE8\x8C\x04\x7B\x3E\xB9\x99\x41\x4D\x05\x7F\x5E\x93\x99\x05\x9A\x0C\x06\x03\x18\x03\x27\x04\xA3\x93\x5E\x8D\x7B\xEE\x5C\x0C\x89\x05\xAD\x63\xBC\x86\xE2\x51\xEA\x64\x84\x30\x89\x3A\x71\x4A\xA7\x7A\x33\x61\xAA\x7D\x13\x38\x79\xED\x55\xA4\x92\x72\x5D\x7A\xB1\x52\x3A\x68\x8B\x60\x7A\x7E\x6B\x8B\x87\x03\x9A\x9A\x11\x94\xA7\x90\x4B\x9E\x9A\x56\x17\xA1\x92\x67\x89\x9A\x32\x01\x01\x0A\xEF\x36\x9A\x8F\x99\x7B\x5D\x1E\x89\x99\x9D\x85\x7C\x79\x36\x62\x99\x4D\x98\xB0\x71\xE1\x6C\x0A\xA0\x9A\x6F\x71\x4B\x52\x7B\x20\x98\x74\x70\x66\x9D\x01\xBF\x98\xB6\x74\x66\xA6\x98\x66\x98\xB7\x7D\xDF\x75\x54\x2C\x99\xE1\x55\x6C\xA0\x70\xED\x75\x16\x88\x6C\x9E\x99\xCA\x9A\x74\x7D\x6C\x87\x56\x25\x98\x76\x72\x6D\xA9\x99\x5B\x51\xB8\x70\x12\x23\x7B\xFE\x4C\x42\x2C\x1A\x60\x07\x21\x33\xA8\x53\x34\x62\x2C\xED\x99\x1E\x05\x87\x4A\x00\xFA\x38\xBD\x9A\x7E\x70\x9B\xB0\x2E\xE1\x4D\x5C\x50\x94\x23\x73\xF2\x1B\xB9\x33\x01\xA7\x9A\xA5\x9E\xA7\x7E\x9B\xFD\x18\x06\x6F\x55\xBE\x63\x4B\x0E\x17\x80\x06\x97\x05\x65\x94\x66\x51\x70\x23\x1C\x8D\x50\xBE\x93\x6A\x7A\x9B\xE1\x91\x16\x84\x70\x8C\x10\xC0\x4D\xA5\x92\x64\x64\x63\x17\x9D\x4F\x07\xAE\x5E\x95\xA9\x5C\xC2\x9E\x13\x0A\x9C\x64\x97\x5A\x84\x7B\x4F\x9C\xD0\x2E\xE5\x40\xCC\x1A\x1F\xBB\x5F\xCA\x9E\x86\x24\x4E\x3D\x4A\x41\x01\x73\xBD\x4C\x2E\x9F\xD2\x00\x4C\xAD\x4D\xEB\x91\xA9\x95\x4C\xA8\x4F\xF8\x90\xBF\x99\x31\xAF\x94\xB7\x73\x43\x8C\xCB\x1A\x1F\x73\x71\xCC\x43\x7E\x71\x4C\x06\x99\x56\x96\x10\x0A\x9D\x1C\x68\xD8\x4D\x53\x5F\x1D\xE2\x90\xB4\x5B\x6F\x89\x93\x03\x50\xB3\x9B\x38\x6B\x4D\x3F\x7C\x55\x51\x74", -"\x80\x4F\x31\x4E\x05\x11\x02\x6A\x42\x66\x02\x9C\x68\x30\x2E\x00\x39\x03\x2C\x07\x12\x26\x9D\xEA\x5C\xC2\x0F\x64\x67\x12\x96\x77\xE2\x40\x75\xBB\x98\x05\x6A\xCF\x9A\x8F\x69\x4D\x58\x9E\x73\x64\x01\xAC\x61\xBA\x4F\x66\x89\x52\x61\x41\xE9\x31\x65\x8A\x15\x67\x5D\x14\x94\x74\x6F\xFA\x6D\x41\x7D\x9F\x09\x68\x30\x06\x51\x84\x9F\x84\x21\x11\x0B\x50\xE9\x90\xE4\x68\xA1\x23\x33\xD7\x62\x5C\x18\x5C\x35\x15\xBB\x5E\xE4\x95\x5D\x18\x16\xA4\x4F\x9A\x49\x10\x1A\x9E\xD7\x90\x61\x15\x57\x0F\x59\xF0\x45\xD4\x98\x19\xAC\x9A\x15\x7F\x75\x7D\x5C\x58\x9D\x7F\x84\xE4\x46\x5B\x45\x5F\x41\x00\x14\x0A\x22\x0F\x16\xA3\x87\x4A\x12\xD6\x6B\x14\xB0\x7A\x37\x07\x12\x36\x9E\x40\x60\x49\x1F\x64\x40\x59\xA2\x9D\x7C\x89\x6C\x9E\x7A\x17\x62\xC6\x99\xE0\x6A\x9A\xA3\x73\xD6\x91\x61\x99\x23\x10\x9E\x4E\x5A\x7B\xBD\x54\xBC\x9C\xDC\x91\x07\x9C\x9B\xC0\x9C\xC2\x51\x70\x9B\x9C\xA9\x98\x53\x99\x81\x46\x9F\x2B\x14\x66\x27\x5E\x2E\x4C\x77\x92\xF4\x24\x4B\xA4\x9D\xF2\x90\x00\x04\x4F\xAC\x5F\x7F\x91\x32\x71\x48\x97\x82\xCC\x67\x22\x96\x48\xBC\x93\xFE\x92\x22\x90\x50\x8F\x73\xFC\x90\x24\x90\x99\x04\x94\x86\x5C\x25\x9A\x2F\x16\x92\x9C\x93\x69\x9B\x50\x97\x92\x0E\x94\xA9\x79\xE0\x52\x94\xC0\x95\xFB\x44\x4A\x9B\x94\x18\x95\x2C\x7A\x4A\xBF\x86\x9D\x85\x3E\x7E\x4A\xA3\x76\x1F\x94\xF4\x23\xC7\x71\x2F\xE3\x5D\xFC\x24\x3A\x55\x02\x27\x04\x05\xAA\x7E\x71\x2F\xA0\x9C\x5D\x1D\x7B\x8C\x67\x72\x9E\x46\x6E\x60\xA2\x9E\xDD\x2F\xA2\x05\x19\xA2\x58\xF1\x5C\xFB\x22\x82\xB6\x56\x53\x9F\x65\x8A\xBF\x1B\x21\xFD\x2F\x4A\x15\xDF\x50\x98\xF1\x2F\xF1\x11\x9F\x5F\x19\xE4\x25\x19\x8D\x32\x60\x5F\x34\xA0\xAE\x18\x6A\x0A\x0F\x21\x10\xE9\x48\x08\x27\x04\x3F\xA3\xBD\x92\x67\x35\xA0\x83\x79\x7B\x58\x26\x45\xA1\x1B\xA1\xDC\x99\xE0\x5D\x9C\x01\xA2\x08\x0C\x03\x09\x78\xC0\x75\x3E\x52\x02\x3E\x00\xF0\x4E\xF1\x99\x83\xB4\x19\x45\xA2\x0C\xAC\xC6\x2E\x4C\x57\xA1\xAE\x1C\x83\xAC\x4C\xC3\x1C\x6B\x43\x84\xBA\xA0\x65\x82\x06\x71\x84\x86\x04\x67\xA1\xCF\x4D\x85\xBB\xA0\x76\x19\x08\x15\x9C\x69\x49\x84\x7A\xF3\x95\x71\xB0\x6E\x4C\xA3\xE2\x4F\x84\xB8\x97\x74\x33\x6B\x73\x85\x95\xA1\xB9\x57\x18\xA8\x85\xBB\x79\xF8\x2C\x40\x1E\x4B\xA6\x2C\xB7\x93\x42\x94\x3A\x7B\x92\x13\x31\x89\x8B\x50\xB7\x9C\xCE\x93\xBF\x24\x4C\xBF\x2B\x09\x5D\xCF\x94\x75\x9E\x6C\x0B\x94\x10\x0C\x98\x70\x17\xD4\x62\xF3\x12\x16\x37\xA0\xB9\x5C\x26\xAF\x7F\x24\x17\x58\x4F\xBE\x66\x10\x22\xA2\x3D\x4E\x27\xAB\x7E\x22\x1E\xE4\x16\xB1\x93\x77\x92\x9A\x03\x6D\x42\x95\xAE\x44\x9F\xAA\x66\x9F\x19\x89\x9E\x05\xE4\x17\x72\x98\x68\xB2\x4C\x31\x03\x0C\x08\xE9\x43\x04\x98\x78\xA1\x96\x4F\x95\x7D\xA4\x98\xFF\x91\x21\x94\x9F\xD1\x9E\x39\x79\x69\x9D\xA0\x20\x00\x5F\x02\x66\x0C\xA0\x03\x0C\x03\x11\x52\x88\x86\xD0\x13\x02\x78\xF6\x4A\x66\x33\x18\xD6\x40\x03\x0B\x86\x02\x05\x63\x83\x8D\x8E\x83\xE3\x65\x64\x8E\xA0\x41\x0F\xC9\x66\xC8\x57\x4C\x99\x86\xAA\x72\xE0\x96\x4A\xAE\x72\x0C\x68\x75\x60\x1A\x81\x0F\x96\x2A\xAC\x3E\x32\x6E\x73\xA6\x87\x2A\x7E\x37\x7F\x43\x09\x04\x3D\xA1\x7C\x79\x86\x20\x9D\x3F\x6E\x1B\xA7\xA3\xC0\x85\xC3\x96\xFB\x76\x86\x74\x1C\x10\x05\x74\x80\x4D\x47\x9C\xD2\x41\x03\x0A\x9D\x03\x04\xD3\x9B\xF7\x0E\x9D\x6E\x9E\x51\x0C\x4D\xAF\x81\x8A\x4D\x0A\xA0\x3C\xA8\x58\xA8\x9F\xDD\x98\xA2\x46\x9F\x5D\x9D\x25\x37\x0A\x79\x5E\xD6\x0B\xD0\x46\x2D\x3E\x4D\x8E\x02\xBE\x31\x92\xAA\x5F\xD6\x0B\x68\x6C\x11\x45\x65\xC6\x9D\x64\x0A\xBE\x77\x86\x3E\x51\x49\xAD\x53\x46\x08\x3E\x47\x4C\x9F\x5A\x86\x9F\x1D\x21\x95\x03\xCE\x2D\xA4\x74\x1F\x9E\x60\x12\x28\x44\x2E\x5D\xDA\x46\x85\xBB\xA4\x38\x08\x7D\x3C\x18\x0D\x52\x2E\xA5\xDB\x50\x45\x12\x11\x1F\x85\x83\x8A\x40\x56\x9D\xFA\x71\xB4\x57\x94\x9A\x31\x82\x1C\x51\xA9\x93\xAC\x5C\x1D\x12\x9D\x5A\x22\x8A\xA5\xC0\x50\x53\xA6\x7C\x83\x30\x1F\x11\xCE\x52\x42\x24\x10\x37\xA4\xCD\x93\x95\x99\x9D\x83\x94\xF6\x90\x4D\x08\x28\xFD\x29\x01\x44\x77\x1E\xA4\x74\x1D\x1D\x61\x17\x49\x04\x6F\xA5\xF0\x55\x94\xBB\x61\x4F\xA5\x80\x64\x96\x8B\xA5\xAD\x92\x14\x58\x1A\x19\x31\x68\xA4\x17\x3A\x96\x82\x1E\x6C\xA6\xE0\x14\x3A\x4C\x7C\x01\x06\x44\x6F\x97\xAC\x1D\x5E\x7B\x32\x20\x13\x24\x89\xD8\x54\x5C\x54\x93\x8A\xA6\x42\xA6\x45\x0A\x6E\x9D\xA4\x0D\x37\x61\xA9\x7F\x06\x98\x63\x93\x40\x03\x46\xA2\xA5\x82\x1F\x93\x58\x14\x76\x59\x96\x73\x5D\xA9\x95\xB9\xA5", -"\x69\x5C\x01\x30\x42\x1F\xA5\x08\x32\xE0\x1F\x75\x88\x0C\x62\x9E\x19\x08\x35\x68\x9D\x06\x04\x6C\xAD\x33\x6A\x9D\x3D\x54\xDB\x97\x54\xAC\x78\x0E\xA6\x1C\xA4\x7A\xBF\x9C\xFB\x61\xDD\x92\x9A\xA6\x5C\x0C\x5F\x00\xAB\x77\xB9\x08\x7D\x9D\x73\x5F\x77\xAF\x5D\xC2\xA5\x53\x69\x78\x9C\x33\xAF\x73\xE1\x93\x78\xBD\x82\x7D\x9E\xFA\x4D\x78\x81\x4F\x8F\x9E\xE0\x13\x99\xAB\xA5\x95\xA7\x47\xA6\x03\x1C\x48\x09\x04\x77\xA2\x97\xA3\xA5\x22\x03\x61\x43\xDF\x26\x67\xA0\x89\x87\x18\xDF\x0F\x65\xC1\xA6\xDE\x9C\x8F\x9D\x86\x74\x4E\x7C\x36\xDB\x1B\x31\x9E\x42\x65\xA7\x21\x01\xA6\x6C\x1C\xAC\x70\x0A\x27\x04\xF7\xA4\x49\xA0\x9E\xA6\x46\xF8\x62\x7A\xAC\xD2\x2E\x34\xAA\x09\x6C\x8D\x5C\x5E\x93\x96\x96\x38\xA2\x48\x9B\x64\x79\x9D\x45\x95\x48\x71\x46\xB1\x84\x0A\xAB\x38\x7E\x46\xE8\x99\x72\xA0\xA1\x9E\x34\xAE\x73\x74\xA9\xD1\x34\x1D\xB3\x93\x79\x36\x2D\x37\x92\x1A\xA9\x5B\xA1\x03\x33\x62\x06\x04\x88\xAE\x18\xB3\x67\x73\xA5\x59\x44\x49\x24\xA7\xA9\x9C\x4D\x90\x3F\x47\x9C\xE1\x31\x23\x10\x37\x6F\x45\xE9\x30\x47\x03\x42\x4D\x57\x7A\x46\x98\x1E\xD9\x49\xA8\xE6\xA1\x8D\xA8\xCE\x0A\x9E\xDC\x4C\x8A\x50\x61\xAD\x33\x18\xAA\x20\xAD\xA1\x82\x1E\x1C\xAB\x7E\x6F\x91\xB2\x00\xD0\x03\x49\x09\xA4\x94\x66\x46\xA8\x78\xA6\x06\x1E\x05\xE4\xA6\x20\x75\x29\x88\x62\x3E\x27\x46\x08\xB7\x59\x69\x9E\x67\xEC\x8F\x2F\xA1\x5C\x9B\x46\x4F\x04\x15\x25\x66\x58\x51\x95\xA7\x48\x78\x4F\xA8\x04\x67\x4F\xA5\xBF\x8A\x63\x59\xA8\x89\x9E\x78\xA8\x09\x6B\x7A\xAE\x7A\x79\x72\x4D\x26\x38\x32\x78\x19\xA8\x4D\xA8\x91\xA2\x36\x1B\xA3\x1F\xA7\x0C\x0D\x2A\x83\x04\xAF\x88\x9E\xA3\x96\x8D\x57\x50\x9D\xBC\x72\xE2\x5F\x1D\xFE\x0F\xD5\x9C\x36\x76\x56\x6E\x48\xA1\x40\x27\x6F\x3D\xF6\x3C\x99\x65\xA8\xB1\x80\x1E\x76\x2B\xA8\x54\x86\xA3\x28\x5B\x4F\xA7\x75\x0C\x1D\xE9\x37\x28\x32\xF6\x59\x37\x1B\xAB\x9D\xA3\xA4\xB5\xA7\x34\x03\x9E\xA2\x10\x3D\xA9\x9F\xA9\xFE\x14\x71\xB8\xA6\xB4\x75\xFC\x54\xA8\x8C\x67\xBE\xA5\xA2\xAE\x04\x26\x3B\x8B\xAA\x9C\x42\x05\x0E\xAA\xD0\x15\x68\xAD\x8A\xA1\x84\x2D\x88\xC0\x50\x8B\x96\xAA\x3D\x1D\x84\x04\x99\xA7\x4C\x28\x62\xB5\x05\x35\x56\x05\x1F\xA5\x0C\x08\x16\x49\x04\xC7\xA9\xF0\x54\xAC\xA0\xA7\x24\x03\x96\x40\x9A\x8D\x50\xB7\x73\x09\x6A\x9E\xA5\x60\xD4\x53\x2B\x96\x1F\x38\x07\xFA\x04\xE4\x9A\x3C\x9A\x8B\x53\x95\x5D\x64\x03\x37\x00\xAD\x6A\x41\x01\xAE\xBC\x8E\x67\x8E\x8F\x8F\x03\x8F\x58\xDE\x6F\x7B\x88\x7E\x83\x92\x32\xA6\x86\x55\x1F\x96\x7D\xF7\x86\x52\x90\x70\x40\x59\x1F\x9C\x54\x66\x21\x95\x8D\x7F\x80\x80\x8E\xAE\x4F\x6B\xD1\x69\x21\x85\x20\xA5\x8D\x63\x6D\x11\x58\xAD\x48\x88\xDB\x68\x82\x71\xB0\x69\xA8\x0A\x50\x11\x80\xAF\x83\xA3\x10\x89\x27\x9B\x1F\xA0\x00\xF7\xAB\xEB\x89\xAF\xA2\x57\xFB\xA8\x72\x90\xAF\x54\x81\x05\x8A\xC1\x71\x1E\x8C\x8F\xE3\x85\x0D\x08\xA3\x5A\x6E\xE7\x85\x93\x8B\x30\x81\x7E\x0D\x8D\xE4\x80\x3B\xA5\x6E\x72\x8C\xD4\x8A\x3A\xBD\x8D\x9D\x7D\x3D\x54\x39\x8F\x7F\x9B\x8D\xEB\x8D\x39\xA4\x5C\x78\x8C\xCA\x81\x3C\x87\x8E\x57\x90\xAF\x87\x3A\xBE\x8B\x9F\x8E\xEA\x83\x38\xA0\x8C\xBA\x6F\x02\x9C\xB2\x97\x8D\xCC\x6C\xEA\x80\x40\x5C\x91\x40\x92\xDF\x49\x99\xBC\x30\x42\x94\x1C\x05\x46\x97\x4E\x67\x91\x98\x86\x60\x27\x97\x6B\x91\x13\x5D\x46\x9A\x71\x55\x90\x31\x83\xB5\x5A\x91\x6E\x9A\x04\x32\x97\x71\x00\x71\x61\x10\x91\x68\xAA\x8F\x2B\x20\xFB\x89\x11\x07\x91\x86\x9B\x8B\x9E\x16\x32\x00\xC7\x86\x0C\x08\x35\x4C\x00\xFA\x38\xDC\xAF\x8D\x72\x00\x48\x92\x0F\x94\x6F\x74\xAD\x17\x6E\x0C\x0E\x44\x88\x51\x04\x82\x19\x9C\x46\xAB\x27\x6F\x91\xFF\x88\xAF\xAC\x89\x5B\x51\x13\x0A\x1A\x0F\x80\x97\x4C\xDE\xA0\x55\x7A\xAD\x68\x93\x13\x92\x02\x2F\x00\xB0\x55\xD4\xA3\x45\xB6\x7E\x70\x92\x1F\x84\xB8\xA7\x79\xA2\x4C\xE2\xAB\xB6\x9F\x53\x8C\xAE\xD4\xAC\xB7\xA5\x00\x91\xAF\xDF\xAE\x46\x94\x91\x95\xAE\x7F\x83\xB5\x4A\x0E\x5B\x91\x0F\x99\x11\x2C\xAD\x5E\x93\xEA\xA4\x3A\x7A\x03\x27\x04\xEC\xA3\xB7\x9C\xAE\x7B\xAF\x5F\x50\xB9\xBE\xAD\x56\xAC\xE0\xA4\xBA\x82\xAE\x8A\x6C\x0E\x98\xB9\xB6\x01\x2F\x92\xE2\xA9\xB8\xB5\xAE\x8B\x4C\xE8\xA8\xBB\xB1\x54\x57\xAE\x12\x78\x26\xBC\xAE\x5B\x5B\x0A\x95\xB8\x9D\x0D\xC1\xAC\xED\xAD\xB8\xBC\xAD\x16\x92\xD3\xA2\xBA\x98\xAD\xA5\xAE\x0A\x9E\xBB\x8B\x4E\x86\xAD\xD6\x8D\x4E\x91\x27\xEF\x91\x74\x20\xEB\x61\x9F\xE3\x9E\xBE\x0F\x8B\x97\x4F\xF8\x92\xFA\x91\x50\x88\x72\x8B\x06", -"\x22\x70\xFA\x6A\xAF\xF0\x9E\x40\x92\xC9\x49\x60\x68\x5E\xFD\x94\x22\x38\x9F\x0D\x94\xC3\xAD\xC9\x55\x92\x9F\x71\xFE\xAE\xB0\xA3\x72\x7E\x64\xC6\x81\xDA\x59\x31\xEC\x71\x39\xAD\xA6\x94\xAB\xAF\x73\x3C\x72\xCB\x44\xA0\xA4\xA7\x2B\x91\x4B\x90\x2F\xB3\x93\x42\x95\x88\x9E\x73\xA5\x1D\x1D\x68\x88\x84\x04\x8A\xA0\x05\xB7\x21\x0C\xA2\x39\x9F\x23\xA2\xDC\x06\x93\x07\xA9\x38\x92\xC0\x9A\x64\xCC\xA0\x5F\x23\x5B\x6A\x9B\x39\x9C\x34\x9D\x82\x3E\x4D\xD6\x93\x40\x06\x4D\xBD\x4C\x39\x9E\x36\x92\x7A\x9E\x93\x3B\x2A\x50\x18\x4C\xB2\xA1\x02\x69\xB9\x67\x4E\x87\xAA\x48\x59\x0B\x2F\x8C\xA9\x7D\x23\x1A\x34\xA5\x52\xBB\x7B\x28\x96\xBC\x25\x22\xAB\x94\x5B\x95\x51\x98\xFF\x56\x86\x31\x94\xA2\x7F\x9B\xA9\x66\x35\x94\xAA\x27\x53\xA6\x8A\x1A\xAF\x87\x8C\xB1\xA3\x4E\x34\x01\x0D\x01\x54\x89\x04\x5B\xB2\xE1\x6E\x65\x5C\x84\x4B\xB1\x8A\x80\xA9\x91\x57\x92\xAB\xAD\xA8\x69\x8F\xAC\x4E\x95\x47\x08\x56\x85\x11\x52\x94\x5B\x9F\x8A\x74\x00\x36\x02\x36\x07\x12\x32\xB1\x73\x94\x18\xBE\xB8\x46\x55\xB7\x61\x3F\x61\x56\xA3\x1C\x63\x97\xC8\x11\x1C\xA9\xA3\x64\x81\x11\xA3\x8F\x50\x80\x76\xB1\xE9\x93\x5F\x48\x63\xBC\x86\xC8\x94\x84\x10\x2F\x7D\xB0\xF4\x2F\xC7\x80\x4F\x03\x5A\x20\xB7\x92\x11\x99\xF8\x79\x42\x0F\x52\x3A\x7B\x07\x9B\x49\x0A\x60\xBE\xA2\xD4\x97\x6F\x77\xE1\x45\x65\x10\x9A\x84\x90\xD9\x71\x9A\x94\xB1\x19\x07\x8B\x98\x4D\x18\x9B\x49\x0B\x61\x9C\xB2\xDA\x98\x7C\x74\x7D\x50\x9F\xB1\x52\x88\x97\x26\x96\x77\x65\x9A\x8B\x57\x66\xA9\x98\xFC\x93\x8A\x98\x62\xAD\x98\x7D\x02\x2D\xA3\x6B\xB8\xA2\x33\x9B\x49\x06\x63\xAC\xB2\xE3\x75\x0F\x80\x25\xA8\x80\xDA\x18\x94\x9F\x66\x81\x98\x71\x9A\x25\xB4\x60\xB2\x4C\x03\x76\x95\x94\xB1\x18\x99\x2B\x7A\x96\x9D\xCA\xA4\x5B\xBE\x98\x2C\xB0\x37\x72\xB2\x62\x98\x2D\xB0\x6D\xB6\xB2\xE3\x9A\x23\x96\x6E\x82\x78\x6D\x99\x2F\xB2\x6B\x8E\xB3\x70\x99\x81\x91\x03\x32\x00\x49\x01\x1D\x2D\xCE\xB9\x9A\x86\x4F\x3F\x89\xDB\x41\x84\x29\x78\x31\xB6\xE1\x75\x72\x8C\x76\x63\x72\x16\x13\x98\x91\x77\xB5\x9C\x17\xAC\x3F\xAC\x8E\x9F\x73\xE6\x5F\xB3\x81\x74\xA3\x72\x02\x04\x76\x59\x8C\x6F\x77\xBF\x77\xB3\xBD\x9A\x70\x70\x02\x04\x77\x9C\x21\x3D\xBF\xE1\x68\x76\x71\x75\xA2\x70\x91\x25\x79\x1A\x8A\x6C\x75\xD1\xBE\x4F\x0A\xB7\x2F\xA3\x6A\x93\x9A\xB8\xAA\xC0\x95\x8C\xAA\x85\xC7\xA3\xFF\x9E\x6A\x96\x27\x12\xB5\x85\x75\x5D\xBD\x9A\xE8\x97\xA8\x8A\x5E\x83\x32\xEC\x96\x1C\x09\xD2\x87\x99\x08\x78\x1E\xA8\xCF\xBC\x7A\xC0\x9B\xAF\x7E\x3D\x03\x9B\x1E\x7A\x4A\xB3\xC2\x66\x80\x49\xA2\xC7\x6D\x63\xBD\xB4\xD5\xB1\xB6\x90\xBB\x5B\x9B\xC1\xA1\xB5\x7B\x6C\xA3\x98\xDE\xB2\xB8\x98\x62\x93\x9B\x64\xAB\x9A\x97\x6E\xA5\xB3\x1D\xB5\x27\xB7\x6C\xAE\xB2\xBF\x9D\x2C\xBB\xD4\xB3\xB2\xE1\x9B\x89\x9C\xDF\x64\x9B\xDE\x77\x2E\xB4\x0D\xB6\xB3\x2B\xB5\x5B\x7F\x60\x9A\x78\x86\x09\x31\x2E\x5F\x80\x97\xFE\xB2\xC8\x55\x7C\x52\xA1\xB8\x55\x55\xBA\x63\xB2\x7B\x06\x34\x61\x69\x65\x73\xB4\xCD\x78\x1C\xAC\xE7\x40\x4F\x02\xB5\x9C\x75\xCB\x85\xB4\x66\x7A\x1C\x5B\xE7\x48\xAE\xEB\x75\x8B\x75\x9A\x7D\x79\xAC\x77\x9F\x7C\x3B\x4B\x7A\x81\xB6\x8D\x78\xE3\x5C\xB4\x6D\xB4\x8F\x76\xE4\x48\x52\x7D\xB6\x0E\x78\xD1\x9B\x51\x44\x79\x8F\x70\xD9\xAA\x78\xCD\x79\x92\x70\x51\x48\xB6\x30\x7B\x40\xB7\xD9\x90\x79\x5C\x7B\x66\xBC\xCA\xB4\x59\xC1\x3C\x65\xB9\xD8\xA2\xB6\x8C\xB5\x46\xBB\x0B\xA9\xB6\xF2\x7C\x67\xBD\x5E\x55\x79\xAA\xB5\x68\xBE\xD7\x84\xB4\x34\x7A\x41\xB5\xDA\xB1\xB6\xA7\xB7\x97\x71\xE6\x75\xB6\x3F\x7B\x6D\xB3\xDA\x8B\x4E\x68\x78\x98\x7C\xCB\xB2\xB5\x22\x03\xA1\x74\xAA\x60\xB6\xC1\xB6\x65\xBD\xDA\xAD\x70\x74\x11\x04\x9F\x3E\xA7\xB3\x30\x17\x33\xBE\x37\x74\x00\xBB\xA0\x20\x24\xCD\x90\x9A\x80\x93\x47\xBB\xD9\x61\xB4\x4A\x60\x48\xB7\xC6\x80\xB0\x26\xB6\x0E\xA5\xC2\xA0\x04\x3E\x9B\x32\xB0\x4B\x67\xB2\x32\x01\x0C\x09\xDD\xA6\x1C\xDB\xB5\xA8\x9D\xDD\xA7\x63\xE2\xB5\xC1\x6A\xD9\x57\x9A\x94\xA8\x77\x57\xC3\xA6\x7A\xE6\xB6\x47\x9D\x8C\xBD\x04\xEA\x9A\xC4\x99\x07\x2F\x9B\xEC\x98\xEC\x28\x35\x76\x9B\x87\x13\x79\x82\xE0\xA7\xAA\x01\xB2\xC5\x9C\x6F\x18\x9C\x06\x6C\x1D\xAF\xE0\x9E\x9C\x06\x9D\xC8\x9B\xC7\x8C\xB2\x01\x65\xC9\x9B\x38\x50\x98\x22\x2D\x0D\x6E\x43\x4B\xB8\x62\x4E\x44\xAC\x71\x93\xB8\x32\xA8\xB9\x63\xC2\x89\x62\x24\xB9\xBD\xA7\x70\x97\xB8\x11\x2D\x23\xB6\xB1\x3E\xA3\x53\x88\xCA\x91\xB1\x01\xB8\x05\xBA\xBB\x95", -"\x99\x82\xB8\x7E\x4C\x82\xB8\x56\x0A\xB8\x35\xB9\x1E\x0C\xE0\x8B\xA1\x29\xB9\x84\xB3\xE2\x94\x05\x05\x9D\xC2\x69\xC7\x9C\x81\xF9\x56\x58\x99\xE1\xBE\xB1\x30\xB9\x87\xBE\xCF\x5F\xB8\x3D\xBB\x8F\xBE\xE0\x84\xB9\x10\xBB\x7D\xB3\x70\x81\xB9\x46\xBB\x6E\x88\xE4\xBF\x63\x4A\xBB\x17\x8A\xE1\xB4\x86\x0E\x9E\xC8\x19\x72\x97\x63\x35\x9E\x4F\x0D\x72\xB5\x32\xDA\x1E\x81\x91\x73\x83\x04\x33\x9E\x5A\xA3\x74\xAE\x21\x1C\xB1\x0B\x2E\xC1\x8B\x2F\x20\xB3\xBA\xAB\x8F\x48\xA3\xFB\x5A\xF1\x95\xE6\x9C\x96\x03\xA7\xCA\x45\x90\x97\x4D\x34\x00\x42\xA2\x10\x0A\xA4\x31\x4F\x93\x5F\x76\x82\x72\x22\xBB\x1D\xB5\x75\x86\xAA\x2A\x7D\x63\xAA\x75\x92\x51\x19\xA7\xC8\x1B\x9A\xA6\x01\xA3\x87\xD8\x9B\xCE\xB0\xA6\x03\x06\x6C\xA0\x76\xAB\x9D\x76\x95\x38\xA7\xE8\xA1\xB0\xBB\xA6\x3E\x66\xA8\x8A\x5C\x8D\xBB\xBC\xA8\x13\x89\xA7\x20\x28\x8F\xAE\x77\xBD\x82\xC8\xA6\x7A\xA5\x67\x41\x28\xAA\xBA\xE1\x96\x06\x08\x9E\xD0\xA6\xAA\xB2\x9D\x88\x52\x0E\x29\x54\xA1\x79\x9E\x9E\x98\x15\xE5\x9C\xEB\x86\x16\x06\x98\xE7\x93\x10\x1C\x9E\x30\xB3\xAF\xB0\x14\x19\xA0\x3C\x05\x50\xB3\x87\xB8\x7F\xA7\x9C\x63\xA6\xEA\xB7\x52\xAB\x9F\xC8\x3E\x7A\xA0\x16\x67\x03\x1C\x7D\x7A\xAF\x9E\xA1\x17\xF8\x57\xED\x94\xBB\x58\x4C\x08\x0B\xE2\x1E\xBB\xEA\x5F\xB6\xB4\x31\x21\x16\xAE\x85\xDA\x40\x61\x96\x9E\x31\xA2\x58\x98\x45\x50\x1C\x8F\x15\x78\x14\x6D\xA2\xB5\x74\x53\xBA\xB4\xED\x85\x2E\x98\xB6\x4E\xB6\x6D\xBE\x50\xE2\xBB\x63\x1E\x1A\xA8\x76\xD9\x99\xC6\x59\xFC\x75\x6A\x06\xAF\x86\xB0\x59\x86\xBB\xF2\x2F\x68\x52\xEF\xA3\xBB\x90\x16\x83\x05\x6E\x92\xB5\xE4\xB1\xBC\xB0\x53\x6C\xBB\xA1\x14\xBD\xB8\xA5\xB4\x01\xC1\x98\x2F\xBD\x48\x79\xBB\xE4\xBA\x6E\x8C\xEF\x8F\x7B\xE6\xBB\xC0\xB3\x79\xBD\x16\xEA\xBB\xC3\xB4\xED\xAE\xBB\x51\xB4\x80\x73\xD5\x8E\xBC\x2E\x58\xC4\xB2\x5A\x30\x58\xF5\xBB\xF9\x00\xDE\x46\x76\x18\xBF\x19\x0B\xEF\xBF\xBB\x6C\x81\xC7\xB8\x64\x44\xBC\xFA\x57\xC1\xBD\xEE\x8A\xBC\x61\xB6\xA2\x2C\xCB\x89\x5A\x2A\xBE\xC4\xBE\x47\x6D\x34\x15\xBD\xE1\x56\xED\x93\xBB\x08\xBE\xB6\xB8\xF4\x8F\x16\x7E\x4E\x29\x0A\xEF\x0E\xBD\xE1\xBB\xD2\xB9\xF1\xA0\x9C\x69\x4E\x35\xB0\xE6\x80\x4F\xE8\xBB\xFD\x21\xF2\xA9\xBC\x23\xBC\xCF\xB0\xEE\x4C\xBC\xE8\x98\xFA\x4A\xF3\x91\xBC\x2C\xBC\xFE\x45\xF4\x81\x5A\x31\xBD\xB9\xB8\xC6\x40\xBC\x40\x82\xC0\xB7\xF3\x9F\xBC\xDA\x2C\x1F\xB3\xF6\x89\xBC\x11\x1F\xBB\xBE\xF3\x8F\x62\x73\xBE\xD0\xBD\x4F\x84\xBD\xF6\xB8\xDA\xB2\xF5\xB2\xBC\xBA\x85\xD5\xBD\xEF\xA2\x58\x34\xBC\xB7\x67\xF5\x91\x65\x38\xBF\xD6\xBB\x49\x6A\xBC\x24\xBF\xD7\xB6\xF2\x8D\xBC\x23\x51\xDE\xB5\xF6\x83\xBD\x14\xBD\xDF\xBE\x3F\x71\x9E\x24\x17\xEC\x94\x52\x06\x98\xD0\x8D\x2B\x2C\x24\x8B\x9F\x8B\x4D\xF3\x99\xBE\x99\xB5\xC2\xA0\x6D\x56\xE2\xB5\xB7\x24\xB7\xAA\x98\x7D\x88\x9F\xD0\x2C\xE6\xBC\x18\x1A\xBE\x8C\x04\xE9\x4D\xF9\xAF\x1C\x9F\xBC\x63\x0B\x7B\xA4\x14\xCA\xBA\x77\xB8\xDF\x98\x92\xA8\x9B\x48\xBD\x7F\xA8\xA4\x1A\x78\xEB\xB1\xB1\x1F\xAF\xFA\x0B\xD0\x47\xC7\x69\x7B\xE4\xAF\x79\x8E\x47\x8F\xA8\x80\x90\xFA\xA0\xEA\xB0\xAF\x07\x62\x23\x9D\x7E\x88\x7F\xD0\xBF\x23\x78\xCD\x73\xAF\xDB\x72\x20\x56\xBF\xA6\xB0\xDF\x72\xFF\xAA\x7F\x9A\xB0\xCE\x62\xF7\xBE\x8E\x77\xA8\x59\x80\x00\xA2\x80\x93\xAB\x2D\x61\x01\xAA\x78\x2B\x60\x08\xA2\xEB\x5A\x80\x9D\x94\x9D\x99\x74\x26\x41\x00\x01\xE3\x5E\x02\xB5\xCF\x56\x4E\xF6\xBC\xE0\x18\x35\x74\x48\x09\x04\xFF\xBA\xAC\x99\x94\x3E\x06\xE1\x46\x42\x64\x00\x6C\x4C\xFB\x4E\xAA\xB0\xAA\xE5\x39\x9C\x4D\xA8\x90\x5B\xF1\x89\x72\xA8\xC0\x82\x63\x06\xA3\xE2\x14\x77\x0F\xA0\xE8\x2D\x04\xA8\xBE\x06\x98\x16\xA2\x41\x09\x01\xFD\x4C\x18\xA1\x4F\x51\x7A\xBA\xA6\x78\xB8\x1E\xBF\x90\xB0\x4D\x21\xA3\x0A\x6D\x5C\x64\xA0\x22\x7A\x09\xAB\x82\x4E\xA8\xA4\x72\xAA\xA1\xA8\x3B\x2F\x2B\x12\xFF\x2E\x7A\x7E\xA8\xAB\x75\x72\x1A\x85\xA4\x0E\x5C\xA2\x1F\xAE\x85\xAD\xA1\x60\xA2\xFC\x19\x7B\x6B\xA1\x65\xA1\x0D\x07\x86\x83\x04\x69\xA2\x18\xA7\x6B\x3F\xA1\x5F\xA3\x1B\xA8\x84\xA0\xC0\x40\xB8\x95\xB3\x5F\x4F\xA1\x27\xB9\x14\xA6\x54\x54\xA1\xA4\xA4\x66\x5A\x03\xEC\xA1\xAA\x1B\xC8\x1C\x98\x40\xC1\x45\xA0\x27\xA6\x04\xD7\x1A\x44\xA3\x9E\x70\xEB\x43\xC1\x02\x05\x11\xCC\x05\xFB\x79\x4A\xC3\x60\xBC\x04\xD3\xB9\x31\x5A\x13\xA0\x85\xB9\xA1\x53\xC0\xF0\xB8\x03\x87\xC1\x3B\xC1\x16\xCE\x80\xBC\x72\xDD\x9F\xAF\x3F\x7D\x91\x6C\x2B\x3B\x90\x3A\x7E\x4B", -"\xBF\x74\x59\xF3\xBD\x3E\x63\xBE\x89\x5B\xFA\x99\x7F\x49\x92\xD4\xBF\xFB\x91\xFD\xB1\x9F\x03\x94\xFD\xA5\x7F\xBB\xAF\xF7\x9D\xFF\xA4\x69\x99\x92\xE0\xBC\x42\x96\x7D\xBE\x9F\xE5\xBF\x53\xA5\xC0\x8E\xC0\xE9\xBC\x2A\x91\x01\xEC\xBF\x6E\xA8\x2B\x9D\x94\x8E\xB0\xFD\x71\xF2\x9C\xC7\x75\x93\xE5\x9D\x65\x77\x7E\x90\xA4\xE9\x9E\x22\xC6\xFD\x91\x73\xED\xAF\x3F\x95\x08\xEB\xAF\xF8\x4E\xFC\x9A\xCD\x53\x92\x90\xC3\xFD\xA2\x09\xC2\x5C\xD3\x9F\x04\x65\x09\xCC\x94\xB0\xA0\x26\xC6\xEA\x44\xB0\xA3\x90\xFA\xB7\x4A\xB0\x72\xEB\xBE\x3D\x71\x0A\xD7\x94\x0D\xB3\x79\xBE\x06\x01\xA2\xEA\x35\xEE\x5B\x50\x93\x4C\x03\x07\xC4\x43\x88\x95\xB0\x63\xAC\x19\x0C\x89\x93\x70\x8B\xA1\x32\x6F\x6E\xBF\x1F\xC3\xAB\xFF\x16\x52\xBE\x02\x2B\x38\x39\xC7\x6F\xBF\x1F\x02\xC2\x1D\x5D\x52\x87\xBC\x43\x21\x80\x81\xC8\x32\x75\x59\x06\xA0\x8D\x52\xBD\xAD\xEC\xC3\xEB\x11\x20\xBD\x30\xF1\xC0\xDA\x5E\xDD\xBB\x9F\xF9\x9D\x32\x64\x09\xFC\xAF\xDD\xBD\x30\xC1\x8E\xA5\x7A\xA6\xA3\x10\x24\x5E\x08\x5E\xB2\xA3\x27\xAF\x7C\x11\xB8\x05\xC7\xEB\x17\x10\xE1\x5A\x09\xC7\x29\xAA\x89\xB5\x27\xDB\x54\x27\xC2\x9D\x42\x63\x12\xC5\xF5\x19\x72\x9F\xB8\xE8\xC2\xD8\x46\x4E\x58\x81\xF5\xC3\xEE\x1E\x0E\xEF\xB4\x50\x01\x3E\xC8\xFC\x58\x81\xF4\xC2\xC8\xB9\x11\xF2\xB4\x15\xAC\x3E\xC4\xDB\x46\x5E\xFB\xC3\x2F\xC5\xFA\x80\x9C\x11\xB8\x3F\xC2\xFE\xA5\x84\x12\xA5\x43\xCB\x7B\x0F\xC4\x28\xB8\xF3\x1B\x12\xE4\x17\xA7\x96\x4E\xC3\x5F\x3C\xC4\xFE\x9B\x2C\xA4\x5F\x22\x05\x1F\x9E\x45\xC8\x8E\x93\x63\xFF\x1F\x0D\xC7\x45\x2F\xA3\x11\xC6\x41\xC5\x5F\x1E\xC1\x42\xC4\x2A\xA5\x5F\x3E\x4D\xA2\xA3\x40\x04\x8A\xBC\x3C\x51\xC6\x43\xC5\x5F\x2A\xA2\x24\xB2\x65\x83\xC6\x8B\x95\x49\x94\x29\x8A\xAB\x97\xC2\x4E\x6D\x57\xCB\x13\xF5\x17\x3F\xB0\x35\xA9\x2B\x02\xB1\x7A\x85\x35\xAB\xCE\x98\xA3\x01\x06\x36\xA8\xC4\xA2\x00\xFF\x67\x3A\xA7\x76\x79\xB0\xBA\xA4\x3A\x9E\x38\x46\xC3\x4B\xC4\x3C\x64\xB3\x3A\xC5\xDF\x0B\x37\xC2\xAC\x8D\x14\xC1\xA9\x5B\xA2\x03\x09\xAB\x03\x05\xB2\xAA\x86\xAF\x01\x73\xA5\xB3\xA8\xAD\x80\x9E\xA4\xA6\xB4\xAA\xA0\x8B\xC3\xB8\x70\x53\xC5\x76\x19\xAB\x82\x1C\xFD\xBF\xCB\x79\xBF\x3E\x04\xFE\xB0\x00\xF2\x01\x7E\x4E\xFF\xB3\x10\x3E\xBF\x8F\xC7\x27\xC2\x07\x29\xC3\x78\xC5\x01\xC3\x25\xB6\x3F\x83\x4B\xAB\xA0\x0F\x49\xC0\x8C\xAB\xAC\xAC\x00\xC6\xB0\xA5\x93\x03\xCA\x19\xC9\xC3\xD6\x08\x10\x03\x1A\xAE\x73\x55\x4F\x69\x89\x0D\xCE\x20\x13\x71\x6B\x89\x8C\x53\xBA\xAD\xA6\x49\x98\xE9\x82\x04\x9A\xB8\x6D\xA8\x3D\x5D\xBA\x95\x87\xA7\xB6\xE7\x8B\xBB\x8A\xB9\x6F\xAC\xC3\x88\xAC\x28\x69\x7A\xA7\x19\xE9\xBA\xDC\x31\x68\xA2\x02\x07\xA7\xE7\xBF\x65\xCF\xEA\x85\x9E\x6D\x4E\x73\xAA\x9C\xB5\xBA\xCC\xA7\xAD\xB5\x6B\x55\xA7\x6C\x1F\xA4\xB5\xE9\xAE\xA6\xB9\xA3\x72\xC1\x10\x0D\xC7\x66\x00\xA7\xBD\x76\xA8\xAA\xB9\xBD\x08\xC3\x5F\x7E\xA6\xD8\xC4\x70\xAC\xA6\xA5\x92\xDC\xC7\x80\x2B\xEA\x96\xA5\x81\x9D\x9B\xA3\x1E\xF1\xBA\xE5\xC7\xAC\xBF\x9C\x9B\x33\x02\xCA\x7A\xCE\x78\xBD\xC6\xE3\x5D\x8B\xAE\x67\x2A\x9C\x66\x45\x23\x14\x3A\x52\x47\x09\x04\x86\xC2\x97\x95\xC8\x7E\x18\x01\x97\x76\x7D\xC7\xA9\x64\x41\xC7\x19\xFA\xC6\x89\x50\x87\xC4\x15\x00\x01\xD7\xA6\xAE\xB8\xB5\x45\xAB\x30\x01\x0D\x05\xE2\x2E\xC8\xFA\xA5\x67\xA8\xD7\x67\xA4\x55\xC2\xED\x7C\x11\x7D\xC6\x52\xA6\x8C\xCD\x0A\xA4\x92\x1D\x57\x5C\xA7\x12\x41\xA5\x7C\xA0\xED\x50\x94\xB3\x09\x91\xA4\x1D\x0D\x23\xE0\xA7\x30\xA6\x07\x2D\xAE\xA6\x5C\x8F\xA6\x4F\x48\x23\xF8\xA4\x3A\xCB\x42\xAB\x32\x65\x61\x53\x08\x22\x51\x33\x4F\xC9\x9C\xA4\x62\xAC\x72\x75\xA5\x57\xA6\x60\x98\x97\x8D\xA5\xB8\x74\x5F\xA1\x90\xB9\xC8\x5A\xC9\x4F\x84\xC0\x09\xA5\x5E\xCB\x68\xA0\x26\xC3\x77\x55\xA5\x01\x38\x9A\xA0\x04\x58\xCA\x7C\xA6\xFB\xA2\x4D\xC5\x5C\xC2\x07\x24\xFA\xC8\x3E\x55\x2E\x1F\x1F\xF1\x6A\x3B\x04\x80\xAD\xDE\x2E\x72\x03\xA9\x6C\x48\x5C\x78\x93\xDA\xC6\x39\xA4\xA0\xB2\xA9\x15\xA9\x65\x83\xA1\xBB\xC9\x68\x93\x5A\x0F\x1B\x4D\xA8\x72\x55\x4A\x3D\x19\xE4\xC9\xA6\xA9\x4F\x52\x9E\xAD\x98\x8A\x94\x76\x57\xDF\x23\x56\x71\x56\x52\xC5\xCB\x6D\xA7\xFC\x37\x98\xC0\x25\xE5\xC9\x20\xCB\xF1\x56\x96\xA3\x18\x71\xC9\x51\xAE\x0A\xB5\xA9\x6C\x1F\x9D\xC5\x26\xC5\x5F\xCB\xA9\x67\xC9\x22\xD8\x33\xD9\xA5\x5B\xA9\x03\x39\xA7\x06\x04\xAE\xC9\x25\xD5\xCA\x8B\x4C\x7F\xA8\x1B\xFC\xC9\x2D\x37\x43\x2D\x1B\xD5\x86\x87\xCB\xA0\xC0\xEA\x85\xCA\x6D", -"\xAB\xA1\xC0\x29\xCD\x57\x8B\xCB\xAF\xCD\x28\xDD\x34\x90\xCA\x01\x52\x29\xEC\x1D\xB3\xC9\xFE\x14\x9F\x97\xA6\x31\x03\x31\x0B\xE2\x1A\xCB\x31\xC8\xA9\xC1\x33\x54\xC9\x1E\x6F\x95\xC2\x2A\xFB\xCA\x1B\xB0\xB6\x97\x23\x04\xC9\x41\xC8\x46\xCC\x93\xA9\xCA\xE0\xA7\x29\x78\x26\xEE\x96\x6A\xCB\x56\xAF\x94\xAC\xCB\x78\xCB\x46\x42\x3E\xAB\xC9\x53\x53\x8D\xC3\x2E\xF2\xC9\x16\x05\x62\xA1\x93\x8F\xB1\xA6\xCA\x14\x55\x93\x85\xC9\xAE\xC8\xAF\xC7\xD3\x67\xC9\x5D\xC8\xBC\xC8\x61\x55\xAA\x7A\xA5\x9B\xC7\x9A\x87\x30\x70\xCB\xBE\xC3\x97\x97\xCA\x80\x95\x39\x90\x70\x5B\xCA\x6B\xAA\xB3\xC8\x19\xE0\xCA\xF3\x34\xBD\xC5\x26\xF9\xC9\x6D\x99\x72\xAF\x9F\x82\xCB\x2D\x61\xA0\xCF\xCC\x06\xCB\xD3\xC5\xA7\xCA\x9E\x8A\xCB\x2D\x60\x0B\xCD\x2C\xD2\xA8\xFF\x17\xA3\xCD\x32\xD1\xCA\x14\xAA\x75\x94\x29\xE5\xCB\x00\xCF\x53\x67\x2A\xEC\x18\xBD\xC5\xB5\xC7\x21\x2A\x9C\x1E\xA8\x0E\x08\x2B\xC3\x04\xBA\xC8\xBF\xC4\x07\x07\x5B\x7A\xCA\xC6\xC3\x32\xEF\x34\x02\xA8\x6A\x72\x28\xCA\x67\xC7\xC8\xA3\xC0\x02\x2C\xCC\xD2\x66\xD5\x9C\x2C\xF1\xCC\x11\xAA\xAB\xB8\x35\xF5\xCC\x9D\x86\x85\xA3\x2D\xF9\x1F\x74\xA8\xA7\xA4\x77\x07\x86\xFC\x11\xB1\xA9\x03\x1B\x00\x2B\x38\xDA\xCC\xA4\xA2\xCD\x78\xCA\x89\xA7\x32\xD7\x96\x8E\xBA\x8A\xA9\x8F\xB0\x86\x26\xC9\x2C\x50\xA3\xBC\xA8\x32\xA8\xFA\x44\xA3\xA6\x33\x36\xAB\x1C\xAA\x9E\xBA\xA8\x74\x01\xDF\x94\x03\xE5\x5B\x66\x45\x9C\xC5\xAA\xB8\xCC\x74\x58\x94\xA0\x35\xD3\xC7\x53\xA9\xA2\x52\xA6\x97\xA9\x43\xBD\x57\x21\x16\x2D\x6D\x68\x60\x5D\xA6\xA6\xB0\x0F\x54\xAB\x4F\x20\x39\xE2\x00\x65\xAA\x97\xA8\x39\xF5\x6D\x69\xA9\xF4\x77\x48\x6A\xCC\x23\xCB\x82\x6D\x99\x53\x25\x88\xCA\xCD\xC2\x9C\x6C\xCA\xBC\xC8\xA0\xA9\x9B\xAE\xC0\x60\x1C\xAB\xAC\xC3\x87\xC0\xB3\xC5\x9B\x35\x1B\xF4\xAA\x15\x5B\x58\xC7\x16\xE5\xC5\xAF\xA2\xF5\x9C\xAB\x8B\x1D\xBE\xA9\x40\xA1\x36\xE4\xA8\x63\xCC\x49\x9C\x3A\xD7\x08\x7E\x4F\x0C\x00\xA2\x83\x04\x22\xAA\x9F\xAD\x36\xE6\x45\xAD\x95\xDC\xC8\x77\xB3\xCD\xBD\x85\xDD\xCF\xA2\xBE\x19\x31\xA9\xC2\x5B\x37\xF0\x06\x7D\xCD\x3A\x7F\x37\xFC\xCD\x3B\xA8\x73\xAC\x94\xBF\xA8\x85\xCC\x76\xA0\xAC\x86\xC5\xE1\xC3\x4A\xC0\xEB\x5E\x01\xFA\x38\xFB\xC7\x0E\xEB\xC4\xE9\xC2\x09\x50\x12\xEA\xC4\xED\xC1\xC5\xAF\x0E\xE6\x11\x26\xC4\xE8\x78\x12\xD7\x55\x21\xC7\x7C\x17\x0F\xE1\x01\x34\x11\xFE\xC2\x48\x71\xC4\x00\xC4\x39\x7D\x0F\xFF\xC3\x91\xC1\x40\xC8\x16\xD5\x86\x04\xC6\x5A\xC3\x14\xF5\x17\x08\xC6\x4F\xC2\x15\xC8\xC5\x0C\xC6\x03\xD6\x15\xE2\x05\x11\xD1\x7C\x1F\x13\xCB\xC4\xC7\x6A\xA7\xCC\x9E\x8C\xC5\x2B\xC7\xFC\xB3\x7E\x5C\x09\xAF\x1E\xE5\x44\x42\xFB\x1E\x7E\x4E\x4A\x49\x10\x2A\xD0\xC1\x5F\x09\xD3\x5F\x3E\xCB\x4A\xCA\xC6\xC4\x22\xEE\xD0\x3C\x23\xC8\x12\x90\xBC\x72\x46\x9F\x2F\x78\x74\xB2\x00\x82\xB9\x40\x04\xE8\x8C\xA4\xF8\xC6\xF3\x9E\x1D\xFA\xC7\xD1\x4C\x45\xAB\x24\xE9\x66\x18\xA4\xD0\x4E\x75\x8E\x46\x60\x9D\x72\xC2\x03\x32\xC7\x00\x00\x7D\xC6\x1F\xC0\xA3\x0D\xA5\xAA\xA0\xEA\x84\xD1\xA3\xBA\xDD\x98\x95\xBE\xC7\x1A\xCD\x80\xCB\x78\x86\xA7\xAC\xB9\x78\xC6\x8E\x87\xC8\xCC\xA6\xAC\xB4\xEB\x8C\xC8\x8B\x9E\x83\xC4\x9D\xBD\xA5\xF1\xA7\xAF\xA8\x32\x5F\xA4\x38\x02\x77\xA3\x10\x1E\xA7\xE4\xCB\x9C\xCB\x38\x54\xCC\x7E\x85\xE8\xC9\x17\x27\xA7\x44\x7C\xB2\xC9\x1B\xE6\xCE\x20\x02\x7B\xA5\x24\xC3\xCF\x65\xCC\xDD\x15\xA4\xAC\xCD\xF5\xA5\x0D\x0B\x3C\xC2\x04\xCD\xCF\xE1\xC6\x47\xC9\xB7\xD0\xCD\xD5\x75\x2A\xE8\xA7\x2B\xA9\xC8\x92\x21\xD4\x05\xD7\xCC\x1A\xDD\xCD\x1A\xCF\x8B\x4C\xE0\xC4\xFE\x89\xA7\x80\xCE\xE0\xCE\xF6\x94\x7F\xE5\xCF\x9C\xA2\xA4\x87\xCF\x8C\x07\x21\xD4\x3C\xC2\xA6\x36\x03\x92\xA6\x10\x2E\xD2\x23\xA9\x21\xD8\x27\xCF\xA9\xB4\x76\x65\x82\xA5\xB3\x8A\x99\xCE\x95\xA3\x5A\x58\xA9\x92\xCE\x96\xAB\x2E\x9C\xA9\x81\x2D\x67\x49\x4B\xE3\xA9\x5F\xBF\xE5\xCE\xBE\xB3\x8D\xA1\xCE\xA2\x8C\x29\xFE\xD1\x1B\x94\x9C\xA8\x3A\xD9\xAA\xE4\x0D\x61\x88\x4A\xD6\x04\xAA\xD2\x2C\xD5\x9F\xB7\x00\xA2\xA9\x40\x04\xAA\x93\xD3\x47\xCD\x88\xB5\x45\xE2\x9E\xAB\xAB\x62\x04\x77\xB3\xCE\xB0\xC5\x98\x42\x1B\xF1\xAA\x0B\xC0\x12\x7F\xA8\x93\xAA\xBC\xBE\xBC\xA6\x70\x7B\xAA\x6C\x87\xA5\xA1\x3C\xEA\xC8\x34\x8A\x9C\x8D\xAD\x9B\x6D\x35\x00\x0E\x05\x51\x09\x04\xFB\xD2\x17\xBF\xFF\x60\x89\xE6\xA8\xDB\xBF\x60\x6E\x87\x23\xC0\xB4\x59\x29\xCF\xBB\x09\xAF\xBB\xAF\x17\x86\x81\xEE\xD3\x4B\x64\xAF\xA3\xBF\xA7\x5A\xBA", -"\x66\xB9\x8E\x81\x19\x88\xCE\x5D\xAF\x9E\x46\x19\xAF\xB6\xAB\x56\xB6\x88\xCC\x5D\x0D\x07\x03\x0E\x03\x27\x04\x48\xDA\x55\x8E\x89\xC3\x55\xC1\xAD\xF6\x96\x86\x93\xD3\xED\x4A\xB0\x8B\xD4\xF1\xAA\x59\xCC\x78\x7A\x87\x15\x8A\x44\xD6\xBA\x95\xD4\x1B\x89\xBC\x65\xD3\xA6\xB3\x6A\xAF\xD9\xA9\xB4\xB3\x00\x4B\xAE\x00\x3D\xB4\x8F\xAD\x3E\x90\xF1\xAE\xD6\x52\x87\x47\x73\xE4\xAB\xBC\xA9\x90\x39\xAF\xD6\xA4\x47\x9D\xAD\xA8\x1E\xCB\x4B\xB6\xAD\xAD\x7E\x4E\xEC\xA6\x10\x12\xD5\x61\x52\xF0\xAB\xB6\xB5\xAE\x69\x4E\xF1\xA0\xB5\x97\xAF\xCA\xAD\xD6\xA3\x51\xC8\x71\xCF\xAE\x22\x7F\x68\x56\xD5\xAB\xAC\x56\xDB\x38\x77\xAE\x5B\xD5\xEE\xA3\xBA\x94\xAE\xCC\xAD\xE9\x8A\xFB\x5B\x51\x44\x01\xE6\xA6\xD8\x5B\xAE\x79\xAE\x59\xDD\xB7\xA9\xD5\xC8\xAE\xEE\xAC\x56\xC8\xD5\x83\xAC\x16\x95\xB8\x87\xAE\x4C\xD6\x1D\x2E\x54\xEB\xAE\x71\x62\xDB\xA9\x0D\xC3\x9A\x89\xAE\xFB\x84\x3E\xB3\x00\xC7\x87\x0C\x04\x3A\x68\x01\xFA\x38\x64\xDF\x8D\x58\x6E\x17\x6F\x0C\x02\x54\xC5\x71\xC3\xAE\x5A\xD8\xBD\xAD\xD5\xED\x7E\x1C\x92\xAA\x60\x79\x9A\xAD\x46\x04\x59\xFB\xC8\x6B\xAC\xBD\x53\x5A\xD7\x4E\x96\xD7\xF4\xAF\x57\x72\x90\x57\xD6\x66\xDD\x55\xD9\xAF\x49\xD5\x9B\x81\x04\x24\x01\x8A\x72\x69\xDF\x4D\x69\xD6\x9E\xAF\x5F\x56\x2D\x4B\xAE\x5C\xD5\xE0\xAC\x57\xD2\xAC\x97\xAE\x60\xBE\x39\xD3\xB6\xBC\xB4\x6A\xD7\x5B\xC2\xD5\x26\x00\x6C\x5D\xB9\x86\xD5\x5E\xD6\xE9\xAD\x26\xA4\x13\x4A\x05\xEA\xA9\x53\xF0\x01\x8C\xD5\xEB\xA4\x5D\xF5\x61\x56\x02\xBE\x39\x5D\xD3\xD6\xC7\xD6\x6A\xD0\xA6\x4A\xD7\xBD\xD7\xEE\xAF\x5B\xCD\xAF\xDB\xAF\x23\x94\x5B\xEF\x90\xA7\xD6\x5B\x08\x5B\xF0\x7E\x8B\x4C\x66\xDD\x5A\xF9\xD5\x6B\xD7\x51\xD6\x43\xAE\x54\xCE\xAC\x79\x50\x5A\xF3\xD5\xA2\xD5\x77\xD9\x5B\xCB\x4E\xC9\xD4\x6F\xDE\x5A\xFE\xD6\xF3\xD5\xEF\xAE\x59\xD0\x79\x3B\x48\x87\x52\x41\xAA\xD7\xFA\xD4\x7B\xD2\x02\x3B\xD6\x99\xD4\x7C\xDB\x59\xE3\xD7\xAD\x65\x7D\xD2\x5C\xDD\x22\xC4\xD4\x0A\xBF\x4C\x95\xA6\x39\x9D\x1D\x6D\xC2\xAE\x4C\x25\x89\x0C\xBD\x53\x5B\x93\x97\x84\x0D\xB1\x54\x37\x5C\x1A\x62\xA0\xA3\x1D\xFC\xC5\x03\x6F\x0E\xB2\xCA\x6A\x93\x3E\xB3\x61\x6D\xA1\x70\xC5\x22\x96\x5C\xC3\x03\x05\xB1\x2A\x95\x5C\xC9\x2B\x1F\x68\xBF\x95\x1A\x6D\xC4\xB9\x66\xA5\xB8\xE3\x58\x13\x95\x77\x52\xB1\xF7\x82\xD6\x29\xA5\x19\x2D\x19\x03\x34\x45\xD9\x90\x67\x49\x0B\x5B\xBD\x4C\x45\xDB\xA0\x50\x5D\x27\x48\x3D\xA6\x6E\xA7\x70\xA4\x9C\x4C\xBA\xC9\x9C\xA0\x4F\xD9\x05\x2E\xA2\x1D\xFA\x82\x2B\x6E\x4D\xE6\xB9\xEF\x74\x9E\x31\x03\xEC\xBE\x25\xAB\x14\xB7\xBC\x63\x05\x50\xE3\x9E\xF4\xB7\x77\xBC\x3B\xE8\xBE\xBF\xBD\x8D\xC7\x7C\xAB\x23\x77\xC3\xF7\x59\x7B\x50\xA0\xBF\x72\x04\xA1\x03\x19\xC0\x03\x07\x06\xC5\x25\x68\x2F\xC8\xB8\x1C\x07\x66\xF3\x5F\x58\xD0\x3F\x61\x7F\x65\xC0\xB3\x73\x09\xC2\x7A\xAA\xC0\xB3\x70\x0B\xC7\x02\x83\xAA\x2F\xC0\x0B\xA9\x4A\x17\x7D\x83\xCC\x62\xB6\x03\xD8\x1C\x37\xB8\x38\xC8\x18\xC6\xC5\x58\x4E\x39\xC6\x10\x1A\xDA\x8F\xC4\xFC\xCE\x11\xEA\xC3\xB2\x65\xFF\xC2\x7A\x23\xC4\x82\x31\x49\xCF\x12\xFA\xCF\xF3\xC0\xFF\xC4\x3F\xF6\xC3\x2D\xC4\x00\xD6\x6A\xC9\x75\xAC\xA2\x4D\xC5\xC6\xB2\xDA\x0B\xD1\x4E\xC6\x41\xD3\xC4\x19\xD2\x51\xC0\x14\xD5\xD0\x12\xD2\x57\xC8\x41\xD0\xC4\xBD\xDB\x5A\xC4\x41\xDD\xD0\x80\xC7\xA7\xC0\x42\xC3\x21\x1E\xB9\xA7\xD3\x84\x31\xCF\x49\xB0\x22\x6D\xFF\x22\xC4\xF6\xCC\x49\xC2\x40\xC7\x7E\xF7\x63\x75\x92\x6A\xD1\x08\xFF\xCD\x00\xD7\x6A\xC3\xD0\x69\xD8\xAD\xDB\x66\xD7\xC3\x9B\x93\x4D\xC0\x23\xB6\xDA\xC1\xDB\x03\xDF\x6B\xFD\xC4\x1A\xD3\x04\xD4\x11\xDA\x76\x55\xC4\xAE\xD0\x6C\xE9\xDB\xBE\xD8\x45\xC4\x6C\xE5\xCE\x17\xC7\xB1\xDF\x7A\x08\x37\x2C\x3F\xB9\x3B\x83\x11\x08\x26\xD3\xBE\xDE\x15\x18\x4D\x2C\xD3\x40\x0C\x42\xFD\x4C\x34\xD1\x84\x00\x43\xCB\xA6\x7F\xC4\xBD\xD1\x18\xC5\xDC\x1A\xC5\xC4\x23\x1A\xA2\x2C\x62\x76\xC8\x23\xA3\x75\x68\x25\x8A\xC8\x2B\xA7\x60\x07\x7F\xDA\x61\x50\x2B\xFD\xB8\x89\x59\x20\x2B\x45\x62\x2C\x28\xBF\xE2\xBF\x7F\x01\x88\xE4\x11\x73\xB2\x56\xD0\xB9\xB5\x0F\xDA\x98\x84\xA6\xD8\xAC\xC1\x85\x5B\x71\xF5\x0E\xF1\x99\xC7\xD1\x63\x23\x5D\x6A\xC2\xD8\xBB\x6A\xD0\xDB\x81\x81\xA3\x72\x6D\xEF\xC4\x0F\xDC\x78\x01\x71\xE0\x07\x7E\x4D\xEE\x83\x10\x3B\x8E\xEB\x99\xCA\xD5\x9B\xAB\xDC\xBA\xA7\x55\x5F\x72\xDD\x04\x31\xDC\x16\x5E\x71\xC2\x5E\x35\xDC\xD0\xB3\x72\xED\xDA\xDA\xD8\xB9\x7A\xB6\x86\x0A\x74\x6A\xA1\x08\x35", -"\x7A\x01\x27\x04\xD7\xD0\x84\x46\x0A\xBB\x9E\xA1\x09\x71\xC5\x68\xC8\x62\xDB\x47\x89\x0A\x06\x41\x00\xDC\x43\xAF\x03\x5C\x66\xDF\x28\x26\x19\x29\xDD\x62\x4F\xDA\xD0\xE3\xAA\x21\x72\xBC\x4C\x5F\x74\xD1\xCE\xDD\x09\xD6\x86\xC1\x58\xDD\x5E\x92\xD6\xD2\x03\x13\x02\x27\x04\xE0\xDF\x75\xD6\x08\xED\x5D\x51\x0C\x31\x22\xDD\x2C\xDF\x38\x9C\x8F\x6D\xDD\xAA\x23\xDB\xDA\x76\xCA\x06\x6C\xDF\x2E\x2E\x78\xF1\xDD\x90\xDF\x08\x57\x5F\x52\xDE\x6D\x02\x10\x0F\x78\xF9\x21\x73\xDE\x21\x2A\xF8\x9B\x50\x77\xDF\x6B\xB4\x38\x27\x4F\x31\x69\x29\x33\xC7\x65\x32\x58\x4F\x81\x49\x10\x2A\xDE\xDF\xA5\x8B\x0F\x64\x5F\x1F\x63\xDF\x3E\x6C\xA2\xA8\xB9\x6E\x20\xDC\x4A\xCA\x0B\x0D\x8F\xB1\x22\x5E\xCA\x11\x37\x33\xA3\x15\xC6\x83\xA1\xA1\x67\xC3\x17\xA8\x35\x64\xC1\x01\x06\x19\xCE\x7B\xC5\xA1\x69\xC3\x17\xA1\x7B\xD4\xC7\xFD\x98\x89\xB6\x87\xAF\xC1\xF9\x1E\x14\xA4\x05\xF8\xCB\xC1\xDC\x0F\xC6\x41\x04\xB8\x0A\x2E\x1B\x23\xAC\x94\x2F\x3E\x07\xF0\xD0\x84\x95\xDC\xDC\xDF\x6A\xCD\x53\x6B\x1D\x69\x02\x2A\xC1\xE6\x9A\x36\x6E\x21\x96\x70\x02\x21\xDE\xFB\x05\xF9\xD1\x68\x62\x2C\x91\x1B\x93\x5F\x20\x72\x01\x11\x4B\x5E\xB1\xE3\x99\xDF\x4B\x0E\xFA\xD1\x7A\xCF\x01\x9C\x45\xFD\xD0\x27\x89\x70\x59\xBD\x72\x1E\xEB\xB0\xBD\x40\x04\xD6\x42\xEC\x8E\x19\x1D\xD8\xC1\xBD\x67\xCB\xDF\xA1\xB8\x09\xBD\xEC\xB9\xCC\xB7\x4D\xB4\xB1\xF3\xBE\xB2\xE8\xB0\x33\xB9\x68\xB5\x00\xEF\xB4\x00\x0D\x8B\x93\xB4\x81\xC2\xF9\x9A\xFB\x95\x9F\xDF\xDB\xEE\xBD\x66\xE5\xD8\x99\xC1\x7F\xB1\xFF\xBA\x0B\xAC\x08\x8D\xB0\x73\xF0\x2E\xD8\xDC\xD3\xD6\xE0\xB4\x00\x84\x03\x49\x01\x83\xF7\x9B\x51\xBA\x37\xDD\x80\xE8\xDB\x05\x9E\x95\xBD\x7C\xCE\xC1\x79\xCD\x7D\x7B\xE2\x89\xB9\x7C\xB3\x92\xBE\xC8\x8D\xB9\x32\xB9\x62\x10\x04\x25\xDE\xE2\x17\xE9\xD2\x5E\x24\x4E\xB4\x03\x49\x0D\x84\xFA\xA7\xAE\xDF\xF8\xD2\x5E\x39\xBE\x88\xB0\x6C\x84\x7B\xCB\x0D\xB6\xDE\xF6\x19\x7B\xE5\x32\xC9\xDA\x9B\xB0\x21\x2F\xDE\x53\xE2\x94\xDF\x1A\xBD\x86\x57\xE0\x28\xC7\x7B\xDE\xA9\x30\xB8\x17\xEE\xCF\x64\xB9\x65\xE2\x1C\x02\x8D\xBB\xB9\x6B\x7F\x03\x79\x17\x12\x70\x62\xA7\x9B\xB6\x73\x89\x63\x47\xBC\xB6\xB7\x06\x0A\xBD\x7A\xE1\x1D\x60\xEE\x86\x04\x7F\xE0\x0C\xBF\xF7\xB3\xBC\xE7\xB9\xE2\xB6\x43\xD2\xDD\x08\xBD\xE3\xB2\x02\x3A\xB2\x77\xBD\xC8\xDB\x41\x41\xBD\x93\xBE\x08\x07\xF6\xB0\xBC\x83\xE2\xC6\xBE\xEC\x45\x90\x4E\x5D\xE1\xB5\xD3\x87\xBE\x01\xE2\x75\x12\x70\x2A\xDF\x8C\xBE\xD7\xBC\x39\xE0\xBD\xE5\xB0\x22\xEF\x58\x3A\xBD\x7F\x53\x24\xE2\x41\xA9\xBD\x96\xE2\xD5\xB5\x88\xC4\xE0\x05\xBC\x79\xDA\x12\xFB\xBC\x75\xBD\xC9\xBC\x66\x8E\xE2\xDE\x4C\x24\xEE\xB9\x2D\xBC\xA4\x17\xCB\xBB\x8A\xD5\xE2\xF9\xA2\x26\xE7\x52\xEF\xE2\x97\x9D\xDC\xB0\xBD\x20\xE2\x5D\xBD\x2D\xEB\x38\x4C\xE2\xBE\xE2\x29\xE4\xF6\xBB\xE2\x13\xBE\x2A\xE9\x87\xD4\xBB\x7C\xE0\xB7\xB4\x03\x24\x00\xFA\x38\x36\xE1\xF5\xBA\xE1\x33\xBD\xAE\x87\xAE\xBC\x5C\x9C\xE2\x21\xEC\xC8\xB3\xBD\x8A\xE0\x33\xEF\xDB\xB6\xDC\x5C\xBC\xC2\xB8\x8A\xFC\xBD\x2E\xBF\x39\xE7\xF1\x80\xE3\xFC\x63\x25\xE7\x32\x84\xBE\xDE\xE2\x40\xD0\x8E\xC4\xE3\xE9\xB9\xDD\xD9\x8E\xF4\xE2\xEA\x53\x38\xB1\xF6\x8E\xE3\x2B\xBC\x34\xE4\xF9\x92\xE3\xBC\x71\xCC\xB5\x8D\xC8\xBC\x06\x9B\x25\x07\x12\x0A\xE4\xDB\xE0\xB5\xB3\xF3\x9A\x99\x69\x4C\x3D\xEB\x4C\x4B\x88\xF8\xE2\xD6\xBA\x8F\xE2\xDC\x89\xE2\x28\xEE\x8F\xE5\xE2\x92\xBE\x40\xEB\xF7\x95\xBE\xED\xE0\x2F\xBE\xFA\x96\x04\xB0\xBE\x45\x0A\xC1\x62\xD9\xB5\xBD\xBF\xCC\x7C\xB8\xBE\xBA\xA5\x9A\xD2\x82\xFA\xAF\x6A\xD9\x7E\xB7\x7D\x81\xBF\x70\xD9\xC4\x27\x43\xF2\xD9\xB4\x91\x04\xB5\x7E\x59\xC3\xFA\x34\x37\xC5\x4F\x89\x63\x76\x9A\x40\x0F\xEF\x4A\xB2\x16\x11\x3A\x35\xF6\x67\x7D\x2C\xB9\x62\x19\xCE\x18\x4D\x1A\xCB\x40\x0A\x21\xFD\x4C\x49\xE6\x9D\x09\xCE\x08\x91\xD6\x25\x47\x51\x95\xE4\x08\x53\xE4\x9D\xC3\xF2\x04\xBC\x37\xE6\x34\x20\x7E\x74\xD9\xDE\x9E\x04\xA6\x03\x38\xD9\x02\x06\x9E\xDD\x01\xCB\x4E\x1F\xC2\x24\xA9\x63\xC2\xDA\x22\x78\xA1\xDE\x1D\xE8\xC0\x32\x6C\xA2\xD2\xCA\x69\xA0\x2E\xC1\x5B\x20\x03\xED\xA0\x90\xDB\x28\xDC\xD7\x96\xE4\xD0\x2F\x16\xC7\x7C\xFB\x79\x5E\xC1\xF5\xD9\x68\x26\x94\xC4\xDC\x00\x06\x7C\xF4\xC1\x58\xC1\x6C\x09\x7C\xFC\xC0\xF9\xC5\x13\xCD\x06\xF7\xA1\xBC\x98\x63\x02\x7D\xE9\xCB\xD3\x63\x5F\xEF\x85\xB3\xBF\xC4\xBE\x2F\x7E\x7D\xB7\x71\x36\x01\xF2\xBF\x07\xE8\xC2\xCC\xBE\xF9\x9E\xFC\xA9\xCC", -"\xD5\xBF\x35\x70\x0B\xDF\xCE\x89\xC3\x2C\xC1\xBF\x97\xBF\x91\x92\x23\xCC\xCD\x79\xC2\xDC\xBE\x01\xD2\xFE\xA7\xBE\xE0\xD9\xF8\xB2\x10\xCC\xDF\xA6\x72\x26\xC5\x0C\xCA\xDC\xB5\x72\xFA\xB4\xCF\x5A\x94\xED\xBE\x28\xCB\x80\xBE\xB7\xBB\x24\xA5\xD7\x3E\xD6\xDA\x01\x47\x0F\xC2\x0E\xF5\x00\xEE\xCE\xCC\x9A\xE0\x9D\xC4\x98\x53\xFC\xC9\x8E\xF5\xCF\x39\xDC\x72\x9B\x73\xF2\xC3\xB2\x65\x4A\xC3\x9D\xEC\xDA\xD5\xE6\x4B\xCA\x80\x44\xD0\x09\xD2\x6C\xEE\x8A\x8E\x4E\xDE\xDA\x4C\xEC\x70\x64\xDB\xF0\xDA\xB0\xDC\x06\x39\xDA\x0A\xC4\x05\xDC\x6E\xF7\xDA\xB4\xA0\x04\xDF\x6E\xFA\xDA\x1C\xD2\x28\x7E\x41\xEF\xA9\xF6\xD9\x0A\x23\x72\x1F\xC3\x2B\xC5\xFA\xC3\x84\x30\x9C\xED\xCF\x73\xEE\x69\xD1\xE7\xEB\xC3\xCD\xDE\x3F\xD1\xDB\xA5\xDB\xB4\xDD\x50\x7B\xCF\xCE\xDB\xD4\xDD\x9D\xEE\xDA\xD3\xDA\xFA\x40\x9E\xFA\xC2\x0A\xD3\xB7\xD5\x9E\xE9\xBE\xFA\xB4\x03\xD9\x77\xB0\xE7\x47\xC7\x7A\xE3\x9F\xED\xE7\xEB\xD8\x25\x6D\x6E\xF1\xE7\xE7\xD9\x51\xC0\xA2\xC9\xC5\xC5\xDB\x07\xD3\x25\x8D\xC5\xBC\xDF\x16\xA0\x7E\x63\xE8\x1D\xE8\x55\xCC\xA1\xE0\xA2\x33\x01\x56\xC2\x10\x1B\xC5\x30\xE9\x2A\xA6\xD5\xA2\xBA\xDE\xB7\x8A\x86\xDF\xB9\xAA\xEF\xD3\x02\xD4\x45\xB3\xE8\xF5\x14\x10\x06\x18\xC5\xCF\x2E\xEA\x72\xEF\x91\x99\xC3\x7B\x2F\x04\x71\x2B\xC8\xA6\xC9\x61\xFD\xB3\x1A\xF7\x92\xA0\xC4\x69\xC9\x0D\xF8\x24\x4E\xEB\x68\xCE\x3E\xAE\xC7\x5C\xDA\xA5\xB0\x03\x10\xD1\x52\xD1\x6D\xA0\x1D\xEE\xCE\x56\xD1\xCA\xC1\x68\xFC\xC7\x16\xA4\x17\xD8\xEA\xBC\x9D\xAA\xB8\x18\xDF\xAC\x85\xC8\xA5\x90\x19\xD2\x20\xE6\xD1\x0B\xC8\xAC\xB9\x1E\xEB\xD8\x0F\xC8\xDD\x13\xE9\xA3\x5F\x63\x9D\x36\xC0\xD4\x13\x70\x6A\x9D\x94\xEF\xCB\x57\xD2\x65\x03\x2D\x94\xA8\xF1\xE1\xE9\x8C\x19\x08\xA5\xF4\x9C\x75\xCE\xFB\x84\x48\xCA\x14\x48\xE8\x0E\xCB\xA9\xAB\xD2\xF5\xA6\x43\x66\x04\x3A\x3B\x97\xEB\xDA\xC4\xA9\xC6\xCC\x6E\xCD\x81\xA6\x31\xFE\xD8\x72\xCC\xEA\x57\x6A\x85\x40\xD6\xCF\x82\xAA\x49\xFD\xE0\xDB\xCF\x5E\x4F\x49\xDF\xCF\xDC\xCD\xF8\xC2\x20\xD1\xDA\xA3\x89\x29\xDC\x76\x0D\x52\x8E\xD2\x4A\xE6\xE8\x51\xD2\x07\xD4\xA8\xE3\x3D\xFC\x63\x89\xB0\xA1\xE9\x49\xF6\xE9\x03\x28\xAA\xED\x49\xE0\xCF\x27\x8E\x88\xC9\xA3\x84\xEB\xA2\xD3\xE1\xB0\xA4\x96\xA7\xCD\x92\xB5\x06\x34\x4B\xE9\x6C\x7D\x5E\x0D\xC0\x13\x70\x25\xA5\x32\x6E\x33\xC3\xA5\x6C\xE2\x60\xAB\xCE\x83\xCD\x02\x05\xD1\xC3\x97\xBE\xCA\x22\xCD\x9F\xC4\x32\xD2\x67\x26\xCC\x8F\x51\xB0\x44\xCA\x52\xCC\xD5\xC9\x28\xD7\xCD\x8E\xC9\xD6\xC2\x1E\xDB\xCD\xD1\xCB\x0B\x5F\x35\xF3\x25\xCD\xEA\xB6\xA9\xC0\x45\xAB\x33\x00\xB7\xE1\x10\x1E\xEB\xFB\xA5\xD2\xC1\xAE\xC1\xCB\x4C\xCD\xC9\xCE\x34\xEF\xCD\x06\xA9\xCA\xCC\x4C\xCB\xA8\xCF\x33\xB2\xCF\xA0\x9B\xCD\xFD\xA7\xBB\xED\xAE\xDC\xCD\x33\xC0\xCD\xC0\x4D\xE1\x11\xD2\xD0\x22\xD9\x7F\x14\xC3\x02\x06\x35\xC5\xAB\xF4\x01\x88\xE8\x04\x7B\x0D\xF1\xD2\x90\xE9\x67\xA0\x94\xE7\x04\x43\xE7\xFD\xC4\xDD\x23\x1C\x46\xE5\x43\x2C\x91\xAF\xB4\x45\xE4\x8F\xA8\x35\x5D\x02\xFA\x38\xCC\xE4\x92\xAC\xEC\x02\x1D\x56\xEB\x23\xF1\x2F\x3D\xC8\xCD\xE8\xB2\xFC\xA8\x48\x90\xC3\xDC\x59\x84\xA5\x3A\xEC\xF4\x26\xB3\xCB\xDD\x00\x9C\xD0\xE2\xC8\x2D\xEC\xDC\x30\x12\x96\x14\xF9\xEC\x47\xED\xCD\xEC\xB3\xDA\xE5\x45\xD8\xD3\xEC\x3F\x08\xED\x03\x28\x12\x91\x33\x52\xED\xB5\x16\xD3\xE9\xB4\xDA\xE5\x2B\x14\xD6\xE7\xB2\xC2\xED\x4F\xEF\x8E\xC2\x98\xF1\x06\x5E\xEC\xD5\xE1\x11\x08\x91\xA5\x31\xD9\xEA\xB5\xD5\xED\x5C\xEE\xA1\x06\xA4\xD5\xDA\x2B\xC7\x16\xC2\x0E\xCC\xE9\x00\x15\x96\xE0\x3F\xC2\xEA\xDE\x9E\xCF\xE7\x4B\xBE\xEC\x1D\xED\x5E\x0B\xA8\xFA\xDB\xCB\xD8\x1E\xE8\x43\xC4\xA4\x3A\xD0\xD2\x43\x03\x3D\xD0\x00\x03\x0F\xD5\x38\x4F\x9D\xAF\xCD\x08\xB3\x75\xA7\xB8\xBE\x4E\x11\xD0\x81\xEE\xD9\x91\xB8\xF4\x28\x1C\xEE\x68\x63\x9F\x0C\x00\xA6\xE5\x88\xCE\xC6\x03\x53\xA6\xDF\xD3\x89\xDE\x41\xD7\xA6\xD7\xC7\x69\xE8\x14\xB2\x35\xDE\xD1\xDC\x4E\x9B\xE4\x19\xD2\xA8\xCB\xA7\x9C\xE9\x20\xE7\xD1\xC0\xE9\x1A\xD8\xA7\xEB\xD1\x41\xA9\x34\xCE\x3C\xEC\x1D\xD5\xD1\xC8\xE5\x9F\xB9\x00\xAE\xD3\x40\x00\x4B\xF7\xEE\x06\xCC\x2D\xD8\x32\xED\xDC\x01\xA1\xE3\xC1\xA6\x9A\xCE\xBB\xD0\xDE\xD3\x39\xD5\x75\x95\xCD\x97\xA2\x4C\xCE\xCE\xC8\xEE\x91\x51\xD5\x86\xD3\x68\xAA\x5B\x5A\xA6\x94\xD2\x32\xD0\x20\xD3\x94\x3B\x24\x6C\x1F\xA3\xE8\xDE\x11\xEA\x4F\xC7\xA4\xE6\x4D\xD8\xCB\x30\x01\x36\xD0\x00\x1B\xD3\x16\xEC\xCE\xC4\xA6\xE0\xD3\x46\x05", -"\xA1\xAC\x38\x64\xBA\xAF\xC7\x91\x4A\xA8\xB4\xC6\xB2\xA8\xEE\xC1\x3D\x7A\xCE\x41\xEB\xB7\xDE\xA3\xD8\xE8\xD4\xDD\xD2\x1D\xAB\xBF\x1C\xF4\xD1\x4E\x95\x23\xBB\x94\xBC\x5E\x0D\x06\x03\x3D\xD3\x03\x05\x3F\xD4\xAE\x94\x8F\x1C\x82\x7A\x8E\x03\xB6\xE3\x80\x95\x84\x53\x8E\xB9\xEA\x0E\xD7\x1C\x8C\x61\x6C\xD4\x30\xE5\x1E\x8C\x5A\x65\x84\x7C\x80\xE5\x2A\xB5\xB4\xD4\xFC\xA8\x21\x88\x51\xF7\xD4\xE4\x8C\xEB\xA6\x5B\x8C\x70\x6E\xAF\x0C\x02\x55\xC3\x04\x54\xD5\x62\xD5\x57\xDE\xD7\x22\x00\xE8\xAA\xD4\x52\xAE\xC9\xAC\x80\xD6\x45\xBD\xD5\x60\xD4\xFE\x48\xBA\xB8\xD7\x70\x00\x59\xDD\xC3\xC2\xD5\x90\xAF\x0C\xF1\x5E\xFB\xD5\x01\xDB\xA1\x63\x60\xC4\xB7\x72\xD7\x81\xDB\xBA\x92\xAF\xFB\xD4\x01\x82\xC4\xFF\xD7\xE2\xD5\x11\xFE\x56\xC1\xD7\x22\x01\xF7\xA6\x75\xEA\xB7\xEA\xD5\x63\xD8\x35\x5B\xD7\x06\x04\x17\xF1\x46\x69\xD7\xA2\xD6\x5D\xDC\x5A\xE5\xD5\x50\xF0\x11\xF7\xC3\xC0\xD7\x7E\xD5\x2D\xC7\x5E\xFC\xF0\x60\xF0\x75\xD6\x57\xFD\xD7\x0D\xD8\x73\xD0\x5B\xF8\xF0\x53\x6C\x74\xD6\x60\xCF\x5A\x6D\xF3\x7A\xD2\x26\xA9\x4D\x0C\xDB\x7B\xD2\xC7\xDC\xD6\x12\xD8\x17\x5B\x28\x3E\x22\xE8\xD5\x82\xDB\xC7\xED\xD7\xE0\xD5\x19\xF2\x5F\xE7\xF1\x46\xF3\x1B\x76\x5F\xE2\x01\x57\xF2\xD7\xAC\xC0\x73\x00\x71\x62\x63\xD7\x58\xE5\xAD\x5F\xF2\x62\xDA\xBA\xB0\x01\x34\x03\x71\x84\x03\x18\x4D\xBC\x03\x49\x01\xCA\xDF\x63\x34\x01\xDD\xA2\x5A\xF4\x5B\xA5\xF3\xC5\x64\x03\x02\xD5\x0B\x42\x0E\x58\x5A\xC3\xF1\x8B\xF2\xD6\xAD\x26\xA3\x11\x09\xB7\xA3\x59\xCA\xD0\x55\xAB\xF0\x0C\xFB\x00\x74\x76\xAF\xF2\x22\xFD\x5C\xDE\x8F\x53\x6F\x18\x1F\x12\xD3\xB7\xD3\xD5\x27\xF6\x5D\xDF\xF2\x34\x02\x2A\x07\x12\x0A\xF3\xA4\xF3\x37\x59\xCB\xCD\xF1\xAD\xF0\x6C\x58\x5B\xFF\xF1\x10\xD8\x03\x95\x5E\xF4\xF2\x2F\x93\x2D\xF7\x39\x4F\xF3\x0A\xDB\x2E\xF2\xCD\xF0\xF2\xBF\xF3\x0D\x97\xC4\xD6\xE7\x2F\xC6\x85\xDF\xAF\x2A\xB0\xFF\x28\xE9\x4B\x61\xE0\x5F\x1D\xD9\x0B\x22\xC3\xA1\xD8\x40\x14\x38\x9D\x02\xC7\xA8\xDE\xC7\xA7\xEF\x92\x6A\xD8\xD3\xA5\xCE\x9A\x6E\x85\xD9\x47\xD8\x96\xD1\x1B\x3E\x4D\xBB\x97\x40\x0B\x64\xFE\x40\xFE\xF2\x1B\xA6\x8F\x45\xF4\x67\x5F\x04\xF3\x65\xDD\xB9\x0B\x9F\x8A\x00\xE3\x85\xD9\x16\x13\x48\xE4\x07\x25\xE4\x1C\xEE\x0C\x08\x92\xF9\x9E\x8F\xD2\xE8\xB4\xCF\xEC\xA2\x2F\xE6\xE9\xBD\xFB\xA5\x9A\x0B\xD0\xBE\xC9\x7D\xBB\x72\x38\xE4\x58\xEA\x07\xD2\xA0\x32\x00\x59\xE1\x10\x26\xE5\x7C\xDA\x07\xCA\x81\x82\xD1\xB8\xE4\x8F\xE8\x8C\x43\xDA\x54\x0A\x08\xA6\x68\xD7\x86\x72\xE6\xA2\xDC\xBE\xF6\xE5\x8E\xDA\x0C\xC5\x66\x70\xEA\x20\x01\x3E\xE0\xBD\x3C\xE7\x43\x22\x7F\xEF\x7A\x3E\x4D\xCD\xE4\x9B\xB2\xA0\xCB\xDB\x9F\xDA\xFC\xC5\xA0\xDB\xE7\x38\xDE\x6B\xB6\xB2\xEF\xDA\xB8\x89\xAA\xDD\xA0\xEB\xC4\xD9\xD8\x55\xF0\x13\xE2\xB1\xB0\xE4\xBA\x0B\x0B\xD6\xE8\x32\xC5\x3F\xC8\x13\xFE\xCD\x44\xE9\x89\xE5\xD6\xE1\xE8\x8A\x5D\x8E\xE2\x9F\xE8\xDB\xF4\xE7\xB0\xD6\x9F\xE9\xE8\xF8\xE7\x8A\xE1\x42\xC6\xE7\x28\x4C\xFA\xC7\x69\xE2\xC3\x33\x01\x52\xF2\x10\x0D\xE7\xCA\xDB\xEB\x1C\x6C\xC4\x95\x57\xF4\x75\xE2\xD5\xD7\xE7\x55\xF5\x76\xEA\x6A\xD0\xF5\x07\xEB\x83\xE5\x75\xC5\x94\x13\xE9\x6C\xE1\x6E\xF3\xDA\x61\xF6\xB8\xD7\x03\xA8\xE7\x6D\xF6\x87\xEC\xD6\xE7\xE8\xBC\xD9\x7A\xE6\x6E\xD6\xF6\x26\xEB\x06\xDE\xD6\xDA\x86\xBC\xE6\x8A\xE6\x14\xD1\xF4\x5C\xD8\xC4\xD9\xEF\x52\xDC\x33\x00\x14\x0A\xEF\x2A\xF6\x34\xE2\xD1\xD8\xDA\x58\xDC\x30\xF4\xD1\xED\x74\xF6\xDD\x33\xDC\xFE\x40\x72\xD1\xBE\x06\xEB\xA8\xD5\xB1\xA5\xDC\x4C\x7B\xC9\xDA\x86\xA0\x07\x2A\xDE\x1A\xC3\x8E\xB2\xF6\xD7\x5E\xD3\xD5\xDB\xD3\xD8\x89\x18\x2E\xE3\x35\xCE\xE8\x83\xF5\x82\xEF\x12\xD1\x9C\xC0\xF7\xD1\xD2\xDC\xE0\xBA\xDF\x4B\xC0\x72\xE0\xB2\xDC\x4F\x50\xD4\xDA\x7C\xF8\xF6\x88\xF6\x6E\xFA\xD8\xDA\xF5\x3D\xDD\xED\x0F\x73\xF5\x0E\xA4\x4E\xD0\xDE\x9B\x20\xDF\xAE\xF4\xC8\x53\xDD\xF6\xB9\xD7\x94\x71\xF3\x6A\x58\xF7\x98\x62\x76\xFC\x98\xDC\xF7\x18\xE6\x60\xF5\x6E\x90\xE8\x2F\xC7\xDE\xD6\x21\x19\xDD\x16\x09\x1D\x6E\x75\xC6\x04\xFF\xF7\xEA\x40\x76\xCC\x9F\x62\xDC\x4C\xFB\x78\xD8\xDE\x70\xDC\x08\x02\x77\xD7\xDE\x67\xDF\xE4\xDA\xE0\xD5\xDE\x56\xD8\xF0\x44\x77\xE3\xE3\xB4\xF5\x76\xFA\xBC\xFA\xDD\x3D\x90\xDF\xD7\xC2\xCC\xDE\xA4\x4E\xE0\xD6\x10\x1E\xF8\x02\xF8\xE1\xDC\xE6\x46\xDE\xDE\x45\x1B\x01\xD4\x9F\xA0\x42\x51\x83\xFD\x06\x09\xF8\x0B\xF9\x8A\xFE\x76\xEB\xF8\x9B\xDC\xBD\x26\x79\xEE\xF8\x8D\xDD\xE6\xD1", -"\xE3\xF9\xDE\x13\xF9\x8B\xB6\xDC\xD6\xF8\xA2\xDD\x04\x98\x84\xED\x08\x4A\xE1\x8B\x0E\x37\x6C\xDE\x03\x04\xEB\xD5\x87\xDF\xE1\x52\xE1\x8B\x07\xE2\xD4\xCF\x5E\xE0\x57\x01\x69\x19\xE1\xAB\x31\x1A\xEB\x7B\xDA\xC1\xBD\xDC\x62\xEF\x7B\xFE\xC0\x5F\xC3\xA9\x15\x86\xB2\x00\x85\xE7\x61\xE0\x06\xE4\xA1\xC8\xDE\x7F\x6A\xD7\x8B\xF9\x37\xE1\x1D\xAE\x06\xF6\xB4\xA1\x19\x1C\xCE\x66\xE3\xED\x1A\x2C\xF4\x26\x34\x57\xE5\xF0\x65\x92\xE4\x94\xC2\x1C\x75\x61\x06\xEB\x81\xF0\xF9\xC7\x72\xD8\x41\x4C\xB2\xB9\xAA\x57\xCE\x92\xB0\x70\xDF\xDA\x1F\x8B\xA1\x7E\xF0\xEF\xC5\x5C\x9E\xF4\x73\x7C\xA8\x2D\xE3\x72\x3E\x13\x1B\xC1\xE1\xDD\xDF\xE4\x06\x0D\xE9\xBF\xF4\xFE\xD1\x00\xF3\x7D\xBB\xB8\x2C\xE3\x80\xC5\xE3\x05\xE2\x0C\x07\x80\xF1\x1B\x09\xE0\x2C\xEB\x80\xC6\xF8\x58\xD3\x03\xE9\x52\xE2\x72\xAC\x9F\xDF\xBA\x82\xEE\xE0\xA3\x5A\xD1\x48\xE3\x99\xC3\xD3\xE9\xA4\xF8\xEA\xFE\xB8\xC9\x61\x78\xFD\x11\x23\xF7\x1D\x06\x81\x9C\xDA\xC6\x04\xB7\xFA\xAB\xF3\x07\x17\xDC\xB5\x0E\xB2\xBE\xDE\xF9\x01\xFA\xDF\x71\xF2\x02\x37\xF6\xE8\xE1\x7D\xFC\x9D\xEE\xB6\xBC\xF7\x95\x7F\x7E\xD1\xF7\x7A\x7B\x76\xF2\xC8\x7F\xFA\xC1\xF8\x8F\xF5\x06\x8A\xF7\xCF\xD9\x62\xFD\xDC\xF0\xC3\xCF\xF4\xCA\xDD\x11\x01\xF7\xCE\xF8\x75\xFC\x36\x50\xFB\xF0\xF4\xCD\xDB\xDD\xC5\xFB\x8F\xE0\x73\xF7\xDF\xCB\xF6\x7D\x03\x8F\xF0\x21\x01\xF9\x10\x09\x1D\x64\xE4\xC2\x04\x46\xF9\x93\xFD\x4D\xC6\x7A\x61\xE0\x3E\x93\x7B\xF6\xE1\x66\xE2\x16\xE2\xE5\xDD\x32\x9F\xE0\xD0\xC8\xEF\xF2\x01\x67\xBB\xBF\xF8\x35\x6B\xB9\x7B\xF5\x89\x8B\xE7\xB1\xB9\x8E\xA1\x9F\xF0\x89\xB5\xB9\xC4\xEF\x7E\xBB\xC4\xBA\xB9\x6D\xE3\x34\xE8\xF0\xB3\x92\x31\xBE\xA3\xFD\x93\xC2\xE2\xDC\xE0\xA5\xF8\xB5\x5D\xE2\xBD\xB9\x36\x6C\xF1\xC0\xBB\x36\x03\xA6\xF3\x74\x1D\xFA\x98\xFA\x8F\xBE\xD2\xC9\xBB\x6B\xC0\xF0\x82\xEA\xE5\xEE\x46\x5A\x04\xEF\xF7\x9D\xE5\x8C\x24\xF8\x56\x90\xFF\x72\x15\xFF\x0D\x0C\x90\xC6\x04\x37\xFC\xC6\xFE\x90\xED\xE2\x83\xBD\xD1\x83\x91\xC6\xBE\x15\xE7\xA4\xD7\x91\xE5\xFB\x19\xE6\x32\xE3\x8A\xCF\xBE\xFF\xE1\x47\xE4\xB9\x30\x71\xAA\xE2\x44\xF5\x35\x74\x9E\xC3\xC5\x04\x2C\x3E\xBA\x9E\x23\xEE\xBF\x7E\x32\x46\xFA\x7D\x9F\x49\x0C\xFA\x20\x5F\x58\xFE\xCB\xE9\x0D\xC4\x3E\x09\x04\xD8\xF0\x00\x13\x70\x5D\xFD\xD2\xE9\x8C\x6F\xF9\x40\xE1\x5F\xE1\x9F\x46\xFA\x58\x4D\x2E\x07\x12\x2E\xFD\xEA\x5E\xA1\xF8\xF0\xD8\x32\x73\xB8\x03\x23\x42\x45\x5F\x26\xEE\xD9\xE8\x06\x16\xE5\x69\xFD\xC4\x23\xF7\xC3\x93\x0A\xFF\x07\xBA\x37\xEA\x5E\x83\xF9\x21\x53\xE8\xD1\xBB\x65\xFF\x80\x2F\xB6\xC0\xAB\x16\x11\xD5\x46\x41\x20\xA4\x27\x06\x23\x05\x22\x96\x10\x7F\xFD\x55\x15\xF7\xEC\x19\x77\xFF\x9C\xFB\xB3\xDD\xC7\x8D\x50\xE5\xFA\xE7\xF8\x9C\x7C\xFB\xDC\x4E\xE7\xF8\xFD\x41\xED\xC4\x29\xCE\x30\xFC\x99\x27\x57\xE5\x01\xF5\xD9\x17\xC3\x0D\x0A\xD2\xC0\x00\x2C\xF5\x72\x1F\xE9\xEA\xE5\xC0\x8C\x5B\xE2\xB3\x44\xDA\x23\xA3\x99\xD9\xD3\xDA\xE8\x2A\xA1\xA3\xDA\xC1\x3E\xF4\xD4\x50\x50\xF2\xD4\xC3\xBF\xBC\x72\x49\xF9\x6F\xD2\xA0\x38\x03\xEB\xF1\xFB\xDF\x9E\x27\xFE\x9F\xD9\xF2\xCB\xB1\x33\xF5\x5B\xE5\xD3\xE6\xC0\x4E\x5D\x09\xA3\xFD\xC9\xDA\x1A\xE9\xE8\xE5\x0C\xB9\x08\x77\xE7\xA3\xD1\xB1\xC7\xBE\xC3\xFD\x62\x14\x01\xC9\x17\x16\xC1\x72\x14\x76\x8A\xFF\x25\x8B\x59\xE2\x02\x29\xE5\x57\xD3\x24\xA9\x8F\xB4\xF4\xED\x2D\xEE\xF8\xD3\xD7\xFF\x73\xE5\xC5\x95\x97\xDC\xFF\x3D\xF6\x0B\xA2\xFC\xFC\xE5\x36\xE6\x5F\xE6\xE5\xC5\xA1\x74\x1F\x84\x01\x00\x87\x07\x66\x99\x7C\x81\x4E\xFA\x18\x76\x01\x03\x89\x26\x93\x75\x00\x89\x68\x0E\x1F\x44\xF5\x2F\x0F\x46\x7A\x14\x6A\x0D\x02\xD3\x63\x10\x1C\xB4\x68\x60\x03\x74\x1F\x63\xA7\x7A\xB1\x79\xAA\x72\xAA\x24\xEC\x67\xC4\x56\x7A\x88\x70\xFB\x78\x99\x50\xBF\x7F\x9D\x7D\xB6\x51\xF6\x10\x7B\x05\x69\xC7\x79\xAD\x6A\x84\x57\xA0\x27\xEB\x6C\xE7\x1E\x7B\x68\x7A\x21\x2E\x5A\x7E\xAC\x75\x6E\x77\xA0\x72\xDB\x6F\x7A\xA1\x7B\xB8\x7B\x68\x7F\xC9\x5D\xD7\x7B\x3D\x3F\xF5\x52\x73\x1B\x80\x6B\x7D\x07\x86\xB9\x78\x9D\x71\x0E\x61\x00\xC7\x7D\xE7\x7C\xAD\x78\x24\x35\xB1\x7E\xD5\x75\xD0\x7F\xE8\x0A\x2F\x17\x75\x36\x6C\x65\x78\x44\x7F\x02\x8A\xB7\x61\x61\x7F\x62\x2E\x81\x0F\x74\x0C\x80\x45\x79\x03\x85\xB3\x18\xC4\x48\x6D\x2D\x74\x49\x75\x27\x57\xAC\x73\x00\x83\x08\x03\x00\xDC\x62\x35\x81\x89\x63\x01\x87\x24\x0A\x00\x85\x45\x67\xF5\x0E\x80\x70\x77\xA2\x7B\x5D\x7A\x7D\x69\x03\x14\x00\x82\x04", -"\x16\x80\x46\x63\x1F\x82\x06\x84\xE8\x72\x02\x9A\xB9\x44\x01\x85\x7B\x46\x81\x6B\x6D\xF9\x0F\xBB\x71\xA1\x71\xB5\x67\x00\xE0\x5B\xBE\x61\x14\x82\x6D\x73\x05\x8E\x3D\x79\x02\x97\xF6\x5B\x80\xBD\x61\x16\x81\x1A\x84\x44\x7C\xD9\x67\xEB\x5C\x01\xE6\x51\x24\x65\x1D\x82\x29\x67\x02\x8C\xD4\x64\xD0\x61\xDA\x39\x7B\xD8\x6C\x04\x74\xB6\x7D\x08\x8B\x38\x27\xEC\x41\x01\xDE\x7B\xAE\x5A\xEF\x72\x3E\x66\x04\x8A\x08\x96\x84\x60\xF5\x2D\x81\xC0\x60\x46\x81\x03\x6B\x12\x8D\xA1\x75\x02\xB1\xDB\x19\x4E\xEF\x72\x5A\x80\x51\x66\x12\x85\x11\x70\xEB\x5E\x01\xF9\x73\x33\x10\x59\x4B\x29\x69\x7D\x7C\x18\x04\x9B\x7A\xEE\x58\x65\x38\x01\x45\x69\x40\x05\x91\x6C\x4D\x6F\xBD\x78\xEA\x76\x79\x4C\x32\xC0\x43\x16\x45\x7A\x64\x49\x0E\x51\x66\xEA\x31\x77\x9B\x69\x19\x57\xB0\x75\x55\x70\x4F\x3B\x6F\x6C\xEA\x7B\x22\xC9\x74\xF2\x64\x25\x0E\x5A\x01\x21\x75\x9B\x54\xC8\x55\x81\x7E\x0C\xA6\x73\x49\x07\x29\x74\xAA\x68\x07\x94\x05\x1E\x64\xCE\x5C\x5D\x74\x8A\x36\x58\x77\xC0\x40\xA4\x44\xEA\x57\x75\x16\x02\xA0\x66\xB6\x75\x06\x0A\xAF\x60\x00\x3C\xEB\x78\x64\xE0\x74\xFF\x52\xB8\x71\x60\x74\xAE\x63\xD8\x5E\xEA\x0C\x70\x07\x77\xA9\x64\x83\x53\x66\x6C\xAE\x7D\x68\x12\xCD\x13\x54\xF1\x74\xF1\x37\xBC\x74\x31\x01\x94\x61\x08\x25\xEC\x25\x7F\x4A\x72\x55\x5E\xD6\x7E\x65\x29\xF7\x6B\xDB\x51\x04\x0E\x7D\x62\x7F\x81\x02\xD8\x7C\x5A\x78\x11\x92\xCA\x7C\xEC\x47\x63\x4C\x68\xD6\x50\xE6\x76\x35\x55\x03\x1B\xDC\x69\x9D\x75\x63\x62\x75\xFB\x62\x74\x65\xE1\x71\xD3\x61\x8B\x68\xE9\x5B\x68\xA6\x77\x2E\x68\x9B\x74\x39\x5A\xBA\x6D\x75\x62\xC7\x2D\x77\x8B\x4E\x3A\x77\x79\x62\x93\x6C\x78\x58\x75\x6C\xC7\x60\x66\xC3\x81\x4D\x77\x85\x06\x18\x8F\xBD\x7A\xD6\x4A\xCF\x7A\x1D\xA2\x01\xF3\x43\xC6\x75\xFD\x2A\x38\x65\xD8\x44\xEF\x43\x3F\xB4\x44\x17\x2F\xE3\x61\x79\x7B\xF7\x5D\xA5\x54\xCE\x40\x69\xD4\x76\xE8\x76\x2E\x6A\x7A\x75\x4C\x7E\x9C\x47\xD3\x69\x27\x3D\x6D\x97\x33\xF5\x75\x8F\x62\x35\x64\x91\x5B\xEF\x15\x1A\x43\x53\xD5\x64\x31\x86\x56\x79\x38\x75\xA5\x43\x68\x21\x58\xC6\x76\x98\x2B\x56\x84\x2C\x8D\x15\x99\xBB\x5F\x05\xF0\x27\xCE\x77\x33\x56\x58\x84\x98\x63\x8A\x61\x0B\x88\x8A\x49\x69\xC1\x44\xEC\x77\x7D\x77\x17\x80\x4B\x51\x53\x53\xEC\x79\x08\x15\x76\xA5\x81\x31\x86\x78\x63\x17\x9C\xD8\x71\x00\x34\x00\xBD\x76\x81\x03\xEF\x73\x2A\x8C\xE6\x35\x0A\xB7\x05\x8C\x67\xB8\x69\xC1\x83\xE6\x63\x7F\x2E\x15\x8C\xDE\x73\x51\x69\x26\x81\x83\xCF\x67\xF1\x73\x2C\x84\x72\x33\xDE\x66\x05\xD5\x77\x1E\x3B\xB5\x83\x91\x2B\x31\x84\x4D\x2E\xA6\x44\x25\x29\x67\x3F\x67\x2A\x58\xAA\x47\x8A\x52\x33\x36\x01\x39\x00\x08\x78\x02\x02\x05\x7B\x97\x45\x5C\x5D\x03\x4B\x03\x46\xBE\x12\x78\xCF\x5F\x78\x81\x05\x7E\x41\x47\xC1\x7A\xE0\x5E\xF4\x0D\x6A\xD1\x80\x98\x6A\xBD\x52\xA6\x60\xCC\x60\xE1\x42\x88\x17\x6A\xD3\x35\xC5\x6A\x16\x7A\x06\x0C\xC5\x63\x08\x1E\xF1\x46\x6B\x95\x6B\xCB\x6A\x74\x43\xB9\x65\xC3\x71\xE2\x4C\xF2\x53\x78\x69\x79\x46\x3F\x7D\x6A\x89\x74\x5D\x66\xE4\x4E\xAE\x61\x34\x4A\x3A\xF2\x82\x5E\x69\x96\x7F\x55\x73\xDA\x33\xD6\x3E\x7B\xE0\x82\xA8\x2A\x1E\x7E\x71\x56\x2D\x31\x0F\xA0\xF3\x73\x78\x68\x79\x1C\x7B\x84\x6C\x90\x7C\xC6\x6E\x0F\xBC\xAD\x49\x6B\xFE\x82\x5F\x78\x80\x85\x91\x7F\x56\x64\xB0\x51\xD7\x01\x6B\x40\x15\xC1\x68\x27\x7E\x93\x7E\x37\x2C\xE6\x46\x04\x16\x84\x61\x28\x6D\x7A\x5B\x04\x9B\x77\xC8\x69\x6E\x58\x40\x5F\x79\x0A\x84\x40\x7B\x35\x7F\x43\x8C\xC3\x7A\x10\x99\x04\x1C\x84\x53\x56\x43\x3C\x03\x20\x44\x8E\x60\x6F\xAD\x62\x08\xE3\x79\xD8\x78\x08\x87\x55\x0B\x9B\x71\x87\x3F\xE4\x57\xF2\x7D\x15\x66\x56\x4E\x7A\x26\x7B\xBA\x65\x03\x07\x0E\x75\x00\x24\x27\x06\x01\x15\x1D\x90\x87\x1B\x35\x03\x1F\xA6\x35\x00\x42\x6A\x3C\x01\x8A\x53\x89\x87\x3F\x8F\x22\x8E\xE4\x4B\x4E\x7D\x1C\xA1\x6A\x38\x01\x91\x87\x62\x37\x24\x90\xE1\x54\xC1\x5B\x79\x4C\x85\x6A\x79\x20\x7F\x08\x04\x05\x11\x12\x93\x09\xD0\x2A\x55\x85\x26\x79\x0F\x02\x49\x8C\xC9\x79\x12\x92\xF1\x1D\x6B\x4E\x84\x93\x39\x14\x06\x4B\x86\x24\x88\x12\xB0\x56\x4F\x79\xD4\x79\x33\x85\x20\x7A\xD2\x1C\x26\x9C\xDA\x67\x08\xF4\x2D\x5F\x85\xCB\x25\x98\x82\xC1\x6E\x03\x04\x13\xB0\x09\xE5\x83\x66\x78\x59\x7B\x16\x28\xD1\x15\x27\x80\x13\x82\xD5\x21\x00\x7E\x84\x33\x87\x79\x80\x4D\x8D\x20\x9E\xA3\x05\x01\x52\x6B\x58\x79\x8C\x01\x8F\x86\xBA\x6F\x23\x93\x01\x34\x03\x7A\x1D\x97\x84", -"\x22\x85\x9B\x86\x4A\x8F\x26\x8A\x14\xB1\x91\x69\x84\x5C\x85\x17\x49\x9E\x86\x2D\x0B\x27\x89\x23\x4E\xA1\x09\x85\x21\x85\x6A\x7A\xFA\x6B\x6A\x30\x25\x9C\xE1\x63\x0A\x92\x85\x42\x6B\x31\x85\xA7\x81\x55\x87\x26\x8B\x15\x99\x91\x6B\x84\xAE\x85\x4D\x85\x13\x78\x32\x7B\x21\x9E\x14\xBB\x59\x69\x84\x74\x85\x5C\x84\x95\x82\xA8\x6D\x27\x93\x15\xAD\x08\xB6\x78\x9F\x85\x46\x86\x08\x04\x50\x82\x2C\x86\x14\xB0\xF0\x08\x85\xC6\x85\x38\x87\xA2\x86\x56\x8C\x68\x2F\x14\xA9\x9B\x4D\x49\x29\x58\x0C\x6F\x0A\x5D\x06\x0B\xCE\x79\xBD\x2D\xF3\x7F\x15\xEF\x79\xF8\x2E\x88\x6A\x9E\x7B\x68\x67\xB1\x52\xD2\x63\x2C\xF8\x79\x1E\x5B\xBF\x16\xDF\x72\x48\x0C\x39\x59\x63\x70\x70\x32\x00\x82\x7D\x40\x05\xCD\x57\xF0\x62\x9B\x09\xB2\x1D\x58\x81\x7E\x3A\x5C\xCF\x4D\xFD\x7B\x96\x70\xF8\x7F\xFB\x6A\x4D\x98\x6E\x21\x03\xD0\x21\x60\x8E\x37\x2B\x05\x27\x04\x06\x86\x83\x6F\x1A\x7E\x10\x06\x70\x27\x2F\x81\xFD\x75\x25\x76\x7E\xFB\x85\x94\x65\x45\x52\xC5\x7A\x28\x0A\xBB\x64\x19\x3E\x11\x61\x41\xEA\x29\x1F\x7C\x62\x88\x16\x5C\x44\x18\x0C\x8C\x4E\xFF\x2A\x11\x2D\xA6\x32\xC5\x71\xEE\x72\xEF\x5F\x0C\xC7\x3F\x00\x86\x15\x7D\x10\x03\x60\x8A\x32\x9E\x9B\x36\x01\x27\x02\x2F\x87\x84\x85\xDD\x01\x08\x0C\x30\x9B\xF3\x49\xFC\x22\x7F\x0B\x7F\x88\x87\x55\x87\x7D\x78\x2B\x25\x07\x72\x5F\x16\x04\x58\x71\x8C\x2F\xC8\x87\xC5\x75\x32\x92\xED\x0E\x08\x33\x0B\x71\x38\x9D\x70\x2C\x83\x82\x50\x0B\x9E\x9B\x17\xB0\x00\x00\xBD\x49\x45\x52\xBD\x86\x66\x84\xF7\x79\x17\x90\x0C\xCF\x7F\xD5\x62\x67\x62\x03\x36\x9C\x78\xC9\x06\x9A\x19\xD8\x2C\x7D\xE2\x09\x09\x39\x0C\x5F\xEC\x77\x98\x26\xF4\x4C\x66\x6C\x7E\x32\x00\x94\x36\x40\x03\x47\x42\xF7\x73\x1A\xA0\xFE\x37\x86\x0F\x86\xCC\x7C\xFA\x24\xF4\x7D\xB4\x7B\xFC\x43\x28\x68\x7E\x5C\x5C\x2A\x7E\x9C\x7C\xED\x78\xDD\x47\x09\x37\xF9\x7D\x7E\x89\x0B\x9A\x87\xDB\x85\x6A\x88\x33\x82\xFC\x7F\xF9\x05\x7F\x53\x67\xC3\x7F\x8E\x61\xF1\x71\x11\x03\x9A\x0D\xFE\x08\x63\x8F\x7F\x18\x00\x50\x21\x21\x03\x39\x8D\xA1\x42\x1C\x02\x87\x8D\x50\xC2\x85\xDC\x85\xAD\x09\xF9\x7D\x08\xB6\x0D\x8D\x87\x95\x53\xC7\x85\x72\x72\xDF\x63\x72\x15\xC3\x15\x0E\x83\x02\x95\x86\x82\x6F\xE5\x86\x6D\x89\x39\x80\xFC\x45\x0E\xFA\x85\x8B\x86\xC0\x86\x49\x84\x9B\x1B\xCF\x68\xE8\x7D\xF3\x27\x07\x59\x6D\x3A\x32\x48\x6E\x20\x0B\x3B\x8C\xB2\x48\xF4\x4E\x6C\xB8\x87\xD8\x00\x15\x73\x0C\x74\x3A\x98\x70\x5E\xB9\x55\x6C\x7A\x73\xB1\x24\x42\x7D\x0B\x7D\x64\x67\xE8\x41\x0F\xF1\x50\xF6\x7C\x2D\x5D\xDB\x24\xCA\x63\x84\x71\xF0\x4A\x0F\xCF\x87\x5A\x6C\x87\x6C\x97\x6A\xF6\x4F\x65\x7B\x7C\x73\x00\x17\x7A\xD1\x2E\xD0\x5F\x77\x64\x25\x73\xFA\x56\x55\x5D\xF4\x27\x4B\xE7\x86\x88\x6A\x48\x7A\xF8\x52\xFE\x65\xFE\x6B\xFE\x61\x72\x17\x61\x19\x00\xFA\x7F\x02\x5D\xD2\x68\xCB\x6F\xF4\x12\x51\x90\x76\x11\x63\x65\x40\xF7\x77\xD3\x76\xFE\x71\xFF\x3A\x7A\xBD\x7E\x9E\x7B\xEF\x7A\xFF\x79\x3C\x81\xFF\x76\x09\x7A\x7B\x6D\x00\xFE\x79\x1B\x06\xC0\x4F\xDF\x63\x08\x01\xF8\x0C\x6F\x61\x6E\x0B\x07\xF0\x85\xFA\x2A\x32\x97\xF1\x7D\x63\x08\x7C\x16\x88\xEB\x85\x8E\x79\xB1\x05\x34\x9D\x0B\x8B\xEF\x38\x6A\x58\x78\x0D\x7D\xB1\x39\x67\x3A\x75\x76\x01\x1E\xF8\x03\x02\x20\x7C\x08\x8B\x88\x7D\x3B\x25\xE0\x71\x1E\x94\x10\xAF\x7C\x2C\x7D\xCA\x6C\x83\x78\x86\x89\x41\x97\x20\xAA\xF8\x1A\x6F\x94\x6E\xCE\x6E\x06\x8E\xF3\x63\xF4\x7E\x9E\x21\xDE\x47\x05\xA3\x6E\xFF\x26\xFF\x7F\xCB\x78\x04\x7C\x81\x41\xE6\x0C\x80\xFF\x79\x19\x01\x97\x7D\xE2\x68\x44\x86\xE8\x4B\x4E\x47\x50\xEB\x7B\x9D\x85\x83\x5A\xC2\x5C\x83\x6F\xBE\x68\xF9\x12\x73\x6A\x7C\xEA\x6D\x13\x89\x7B\x89\x58\x16\x9C\x1F\xFC\x40\x02\x97\x7C\x09\x53\x0C\x02\xE4\x74\xEC\x5B\xCA\x5E\xFA\x4D\x7F\x8D\x73\xFC\x87\x00\x2B\xE5\x78\x13\x8D\xF9\x7B\xC8\x31\x5E\xB2\x7D\x39\x03\xF6\x6C\xBC\x71\xF5\x72\x5E\x0E\xE9\x40\x7B\xC9\x30\x75\x7C\x57\x01\xE0\x7D\xEE\x79\x86\x57\x2D\x54\x75\xE2\x0A\xF7\x44\xBB\x86\xC9\x7E\x2E\x85\xD9\x30\xE1\x79\x7A\x27\x02\x7A\x85\x1B\x75\xF2\x7A\x54\x17\xFC\x5C\x0E\xBA\x86\x8A\x6F\x29\x8B\xC3\x7A\x8A\x2B\xE7\x5E\x22\x84\xBC\x52\x51\x5F\x88\x79\x4D\x36\x64\x0E\x76\x46\x85\xF9\x6E\x8F\x78\x86\x09\x4E\x81\x0F\x51\x77\xEA\x72\x3B\x84\x11\x0E\xFA\x6E\x3E\x63\x7E\xA8\x71\x29\x8A\x29\x0E\x3E\x51\xD1\x19\x2B\x65\x00\x73\x39\x57\x88\xE9\x26\x16\x07\x12\x14\x25\xB1\xFD\x47\x15\x7F\x7A\x19\x27\xD7\x00", -"\x11\x3A\x4B\x8B\x6B\x61\xD5\x3B\x89\x55\x3B\x72\x05\xCE\x04\x97\x87\xAC\x04\xB9\x7B\x48\x71\x38\x90\x30\x7C\x4B\x2D\x3F\xBE\x2E\xAE\x15\x56\x19\x6C\x10\x07\x09\x2F\x44\x58\xF5\x87\xC5\x58\x3E\x35\xEE\x07\x2B\x0E\x87\x61\x81\xF0\x75\xEE\x2F\xF1\x74\xB7\x71\x86\x53\x70\x14\x7F\x82\x77\x92\x78\xFA\x13\x68\x26\x67\x70\x01\x33\x0F\xC1\x2F\xEA\x7E\xF6\x7E\x99\x76\xFD\x76\xFB\x6F\x03\x7C\x0F\xD5\x7F\x29\x60\xFA\x7E\xD5\x66\xFE\x7C\x68\x62\x20\xB1\xC0\x04\x88\xE0\x7E\xFE\x7D\xFB\x82\x9C\x89\x5C\x04\x27\x97\xC0\x7B\x3D\xE7\x88\x0E\x61\xFD\x83\xFD\x77\x3F\x9C\x17\xB5\xFE\x51\x7F\xB7\x7E\xFA\x7D\xFF\x81\x9E\x8F\x3F\x9C\xFD\x77\xFF\x55\x02\xF9\x7E\x48\x6E\xCD\x5A\xD2\x6E\x89\x65\x42\x2E\x0F\xC9\x0B\xB3\x48\x09\x50\x4F\x75\xA1\x03\xC1\x38\x40\x49\x63\x5E\x77\xD6\x04\xA6\x83\x91\x57\x43\x52\x8B\x27\x62\x4D\x03\xE3\x6F\xCF\x81\x23\x69\xC6\x63\x1A\x8D\x0E\x8F\x66\x16\x03\x8A\x82\xA7\x74\x4E\x6A\xD4\x3C\x1B\x87\xA3\x49\xB8\x47\xEB\x5C\x81\xE1\x80\x4A\x8A\xAC\x70\x9F\x19\x96\x57\x0D\x59\xEB\x15\x75\x36\x01\x7E\x83\x3F\x87\x63\x61\x10\x97\x8C\x4B\xCD\x01\x54\x02\x76\x49\x37\xD3\x66\x2A\x8D\xB1\x3D\x2C\x49\xA7\x6A\x75\xB5\x38\x97\x64\xC3\x72\x63\x60\x11\x93\x99\x52\xCB\x10\x76\x97\x0F\x94\x81\xD8\x4B\x25\x80\xEB\x2E\x09\x81\x5F\x1D\x77\x6C\x4E\x49\x4D\x10\x68\x7F\x8B\x96\x77\x09\xA9\xC9\x6A\x74\xEA\x52\xD4\x77\x80\x63\x75\x7E\xEA\x40\x0A\x9C\x4F\x42\x82\x72\x74\xD9\x77\x74\x51\xD7\x5C\x76\x04\x1F\x46\xF3\x1B\x7C\x1B\x85\x3A\x32\x85\x83\x20\x08\x21\x9B\xE6\x4E\xF3\x2C\x79\x1F\x84\xA5\x3B\x34\x78\x50\x84\x1F\x8E\xAE\x5D\x00\xD9\x7D\x19\x85\xBF\x8A\x2E\x7B\x45\x82\x58\x9E\x15\x86\x16\xE4\x2B\x2B\x84\x19\x86\x84\x83\x52\x88\x57\x92\x14\x98\x4D\x19\x85\x06\x02\xCC\x89\x18\x2F\x55\x82\x25\x96\xAB\x7C\x0A\xCB\x84\xB4\x85\x45\x87\x9C\x85\x4B\x8D\x2C\x9A\x13\x9E\x16\xA8\x85\xC7\x84\xF3\x82\xA0\x80\x7F\x2D\x2A\x8C\x0F\x9C\x16\xA5\x85\x29\x85\x3D\x50\x2E\x7E\xB1\x80\xCC\x6D\x13\x61\x0A\xA5\x8B\xA4\x84\xBB\x69\xB1\x83\xB6\x81\x5A\x8B\x2D\x8B\x4E\x4C\x85\xAE\x8A\x5D\x84\xEC\x3C\xEE\x48\x5A\x92\x16\xBE\x16\xEA\x84\xA2\x84\xE1\x89\x87\x80\x5A\x8C\x5B\x89\x2D\x81\x0A\xF5\x83\x2C\x48\x6B\x84\x08\x8A\x92\x7A\x27\x91\xC3\x3F\x08\xB7\x84\x5C\x19\x1C\x85\x91\x81\x6D\x51\x29\x90\x03\x36\x00\x47\x43\x36\x01\x24\x6E\x6E\x4D\x69\x56\x03\x06\xE5\x52\x09\xF4\x2D\xE5\x8B\x8B\x36\x0D\x02\xA8\x63\x02\x3C\xE5\x79\x16\xBD\x8B\xD0\x8B\x2D\x28\x16\x02\x71\x62\xC4\x24\x1F\x5F\x17\xD6\x6B\xE1\x8A\x1A\x01\x53\x71\x94\x04\x5E\x9F\xA6\x2B\x17\xB0\x78\xED\x8A\xD8\x29\x98\x86\xB8\x8F\x2B\x8A\x16\xB3\x17\xE5\x79\xCD\x49\x80\x84\xCB\x87\xC5\x72\x04\x18\x9A\x08\x0C\x86\x02\x0F\x8D\x10\x7E\xC2\x84\x91\x80\x13\x0E\x24\xBD\xE0\x13\x78\x13\x87\x17\x7D\xC5\x81\xEE\x67\x31\x80\x4A\x18\x5C\x1B\x86\x1A\x8D\x8E\x85\x87\x8A\x5F\x0F\x71\x22\x19\x92\xF8\x24\x86\x3B\x7D\xF8\x7B\x80\x80\x28\x17\x3E\x29\x19\xB0\x10\x8B\x8C\x35\x7D\x20\x00\xD6\x21\x66\x86\x10\x14\x31\x92\x18\xB3\x86\x14\x8C\x9D\x4D\xCE\x86\xC0\x78\x75\x5D\x19\xAD\x39\x09\x27\x40\x87\x53\x42\x89\x89\xC2\x48\x62\x95\xF0\x6A\x18\xC3\x7D\x47\x86\x29\x3D\x1F\x05\x76\x88\x3D\x97\x1D\x9C\x04\x39\x87\x34\x01\x80\x7A\x40\x03\xA0\x7D\x3C\x90\xA0\x08\xF4\x43\x87\xFD\x31\x69\x8A\xD6\x17\xA1\x7B\x3C\x9F\xC4\x6E\x12\xC7\x15\xBB\x2E\x59\x8A\x1F\x8D\xA1\x14\xF6\x78\x25\x96\xEB\x75\x75\x01\x79\xA8\x49\xB1\x57\x06\x02\x54\x86\xF8\x7D\xEB\x21\x66\x02\x82\x80\x74\x52\x8D\x20\x8A\x54\x84\xD8\x5F\x06\xBB\x86\x71\x5A\x8D\x64\x54\x8D\x6B\x6A\x28\x73\x2A\xB0\xCC\x0F\x76\x11\x83\x0B\x56\xE0\x0C\x7C\x44\x59\x83\x21\xBA\x09\xFE\x26\x98\x8B\x81\x02\x66\x8A\x4F\x8A\x5C\x8E\x5C\x49\x09\xD2\x43\x7F\x85\xF9\x81\x38\x7C\x8E\x7D\x26\x4D\x2D\x8F\x5A\x2F\x8B\xC4\x84\x48\x8C\x6D\x89\xB6\x63\x28\x84\x2D\x81\x17\xC3\x85\x30\x78\x59\x86\x52\x39\xD2\x81\x5F\x73\x34\x81\x08\xDB\x56\xB8\x85\x4F\x8E\xB3\x83\x57\x8A\x69\x90\x2F\x8F\x16\xCF\x84\x9E\x8D\x4B\x8D\xA3\x8C\x6F\x55\x2C\x83\x35\x9B\x1A\x94\x8D\x83\x84\xE9\x8A\xAC\x88\xD4\x8D\xC4\x70\x16\xB6\x1A\xAE\x8D\xB5\x8B\x6A\x85\x24\x7D\xA9\x62\x97\x37\x01\x07\x87\x37\x00\xB8\x4A\x25\x6D\xD3\x57\x06\x0F\x4D\x37\x01\x02\xD5\x29\x0C\xB0\x2B\xFF\x8A\x73\x8D\xB0\x81\x6C\x95\x85\x79\x05\x51\x84\xCC\x8C\x3B\x86\x77\x8C\x98\x7D\x5D\x86", -"\x36\x96\xD7\x48\x8D\x33\x01\xFD\x89\x26\x0B\xD9\x8D\x6C\x8F\x36\x97\x1B\xD0\x2A\xD2\x8C\x02\x8C\xA2\x2D\xBC\x65\x80\x2A\xE4\x36\x17\xE0\x8B\x7E\x26\x71\x8E\x43\x1D\xBF\x8A\x5E\x96\xAB\x41\x18\xAB\x8D\xEA\x8D\x6A\x8F\xE2\x27\xC0\x83\x6C\x82\xAC\x72\x65\x36\x00\x71\x31\xF0\x88\x76\x8E\x13\x29\x23\x85\x2F\xA7\x19\xE9\x52\x0A\x8D\xCA\x50\xC1\x83\x06\x08\x05\x1A\x77\x0D\x1C\xB2\x86\x8A\x03\x85\x87\xE7\x7D\x75\x86\xF9\x76\x1A\xB2\x0D\xBA\x53\x6B\x27\x17\x89\x8D\x7B\xC3\x8A\xE0\x63\x31\x83\x64\x2D\x2B\x20\x8D\x8D\x8E\x88\x8B\x90\x7E\x61\x8F\xC2\x03\x19\x98\x6F\x1D\x89\x5E\x10\x8B\x8B\xAE\x67\x43\x99\x31\x96\x18\x91\x51\xA0\x5D\x0C\x8E\xC8\x8C\xA1\x4E\x31\x85\x39\x9A\x0C\xCE\x34\x1C\x86\x9A\x8E\xC7\x89\x0C\x41\x32\x88\x6B\x44\x0D\xA9\x8C\xE2\x7C\x0A\x6C\x89\x05\xC5\x89\x60\x8A\x19\xB0\x18\xB3\x86\x75\x30\x1A\x8F\x40\x06\xC6\x8C\x78\x78\x31\x93\x1C\xF8\x85\xAF\x87\xAB\x84\x3E\x49\xE3\x83\x0E\x59\x95\x3F\x18\xE7\x26\x41\x8D\x59\x3A\xD0\x87\xC4\x8F\x73\x86\x32\x9F\xDC\x49\x8C\x71\x38\x26\x8F\x93\x89\x36\x06\x34\x28\xB2\x60\x0D\xB0\x18\x13\x39\x26\x6C\x77\x8C\xBA\x8E\x16\x1E\x36\x95\x16\xF0\x00\xC8\x8D\x18\x02\xBC\x8C\x1D\x8D\x76\x85\x37\xAA\xD6\x5E\x37\xE7\x8D\xCB\x25\xBA\x8C\xB0\x86\x6A\x8C\x10\x94\xF1\x6D\x8D\xFD\x8D\x08\x85\xB1\x89\x0E\x38\x6C\x83\x38\x9B\xA4\x39\x84\xCC\x8D\xB5\x8C\xB1\x8C\x81\x38\x03\x07\x0E\x78\x00\x42\x48\x27\x03\x22\x4B\xE5\x20\x07\x06\x5E\x97\x01\x34\x5B\x14\x8F\x17\x36\x1C\x02\x50\x6A\x71\x67\x39\x2E\x36\x80\x1B\x9C\x8D\x66\x5F\x61\x78\xF9\x45\xF1\x86\x5D\x6F\x3C\xB4\x00\x3D\x6A\x0E\x19\xA6\x54\xE6\x88\xAA\x2A\x79\x90\xE1\x5C\x1E\xED\x8E\xB7\x8C\x01\x6D\x9A\x85\x7D\x01\x78\x93\x11\xAE\x05\x77\x8B\x6F\x8F\xF0\x89\xB8\x8B\x1D\x84\x6F\x88\x37\xAC\x17\xD0\x54\x4A\x3B\x01\x8C\xDF\x8B\x41\x88\x1E\x82\x10\xA2\x00\x7C\x8D\xFE\x27\xA3\x8C\x2F\x16\x22\x0F\xF4\x79\x39\x94\x6F\x27\x02\x8C\x20\x88\x8D\xA2\x06\x56\x72\xEF\x38\xBC\x6A\x1C\xFA\x05\x28\x65\xA2\x8F\x8B\x8A\xE1\x8D\x32\x94\x01\x0A\x1D\xEB\x14\x4C\x44\x95\x86\xCB\x8E\xE2\x8F\x48\x98\x38\xAC\x4D\x3E\x8C\xB6\x63\x9F\x85\xFA\x6E\xE9\x23\x34\x95\xF1\x5D\x10\xE1\x0B\x48\x87\xDA\x8E\x84\x86\xED\x86\x68\x8D\x3B\xB1\x1B\xBC\x8F\xDF\x31\x6C\x8C\x54\x2E\xF3\x8D\xC4\x70\x36\x8A\x75\x7B\x8E\x92\x8C\xE2\x8C\xA3\x87\xEF\x87\x6E\x93\x2E\x8B\x1E\x93\x8F\x8E\x8E\xA5\x57\x49\x03\x33\x53\x79\x9F\xA6\x2D\x1E\xB9\x6B\x0A\x44\xF7\x89\x46\x04\xFF\x89\x6F\x80\x3D\x8B\x4E\x34\x8F\x92\x8A\xB9\x30\x0E\x01\x0E\x3F\x78\x86\x3C\xAE\x43\x29\x89\x0D\x90\xC5\x8E\xBF\x8C\x81\x39\x03\x07\x0E\x79\x00\x58\x26\x88\x76\x85\x52\x5B\x01\x07\x06\x5E\x98\x01\x34\x5B\x2C\x90\x17\x37\x1C\x02\x50\x6F\x07\x0B\x5F\x53\x3C\xB1\x1E\xFE\x8E\xE9\x83\x5D\x41\x07\x0B\x4A\x0B\x2A\x1D\x66\x07\x7F\x5C\x8D\x6C\x8F\x8C\x01\x09\x96\xBA\x67\x82\x94\x01\x13\x48\x09\x02\x47\x90\xA0\x30\x0C\x90\xAA\x22\x83\x90\xE1\x74\x20\xB0\x2B\x0F\x91\x0A\x90\x7D\x6D\xBC\x6F\x67\x33\x6F\x3D\x20\x95\x02\x44\x8E\x84\x8F\x0D\x8A\xF9\x86\x19\x0D\x30\xB6\x00\x0F\x8E\x06\x02\x30\x93\x8D\x89\xE2\x83\x7E\x91\x3A\x97\x1C\xD3\x8E\x4B\x29\x9C\x8E\xC5\x84\xE4\x84\x62\x9E\x87\x4B\x4E\x21\x8E\x75\x06\x8E\x8D\xCD\x8D\x0D\x9D\x73\x98\xAA\x05\x19\xAE\x2C\xA1\x6F\xEB\x8F\xD0\x8C\xE5\x8C\x60\x85\x43\x9B\x0E\x97\x8C\x31\x8F\x34\x91\x88\x8A\xE7\x8C\x86\x83\xC8\x01\x9C\x70\x90\xCB\x8E\x42\x93\x70\x6F\xE3\x85\x87\x8D\x3F\xB5\x0D\x29\x8E\x3B\x8E\x03\x6C\x17\x97\x50\x06\x11\x0C\xCC\x16\x1F\xA6\x72\xDD\x88\x4D\x54\x08\x97\x12\x97\x34\x67\x38\xBE\xA5\x08\x7C\x93\x90\x19\x8D\x0D\x07\xFB\x89\x92\x01\x3F\xB0\x10\xFE\x90\x7E\x7C\x34\x91\xD5\x8E\x67\x86\x8B\x02\x32\xBE\x1C\xB5\x7C\xD1\x7D\x23\x8C\xFC\x8A\xC9\x83\x7A\x89\x40\xBC\xD4\x0B\x90\xAA\x8E\x07\x93\xE6\x8A\xB5\x3A\xD4\x34\x40\x83\x1F\xCD\x84\xCA\x84\x0C\x92\x01\x93\x04\x97\x39\x23\x42\xAF\x1D\xA7\x90\x32\x01\x24\x93\x40\x01\x09\x91\x46\x2B\x42\x85\x23\xF6\x6A\x4F\x90\xD6\x8F\x0D\x95\xF8\x83\xB5\x35\x42\xBC\x20\x9A\x09\x58\x91\x0C\x90\x09\x91\x0E\x37\x82\x9E\x40\x8C\x45\x1B\x91\x42\x90\xF7\x45\xEC\x4F\x6C\x50\x03\x13\x3D\x64\x23\xD8\x26\x70\x01\x93\x01\x3A\x97\x1B\x39\xEE\x26\x2F\xB9\x00\x4A\x48\x5F\x35\x67\x91\x21\x2E\x3C\x5C\x29\x75\x41\xBE\x90\x47\x38\x6A\x8B\x74\x3B\x3D\x90\x76\x7D\x77\x4B\x8F\x4C\x55\x63", -"\x91\x4E\x57\x72\x93\x97\x6F\x1C\x92\x03\x06\x8D\x42\x04\x28\x63\x50\x57\x78\x93\x0A\x97\x45\x54\x8F\x8D\x5E\x79\xB3\x66\x48\xF8\x91\x9D\x82\x80\x62\x1F\x94\x8E\x9C\x47\xAA\xBA\x7E\x91\xAB\x14\xED\x8E\xC2\x83\x12\x9D\x60\x94\x01\x0F\x18\x83\x02\x11\x8D\xA6\x8C\x19\x97\xE9\x8E\x30\x89\x45\x81\x22\xB4\x7C\x71\x91\x91\x8F\x22\x91\x63\x8F\x86\x82\x44\xB3\x1C\xEB\x90\x2B\x92\x90\x84\xFB\x8C\xEB\x80\x8B\x90\x44\x85\x22\x8F\x84\xC3\x90\xC1\x8C\x09\x8B\xBF\x7D\x77\x7D\xEF\x78\x00\x76\x01\x27\x02\xA0\x91\xC2\x81\x82\x86\xE2\x62\xC3\x68\x24\xE8\x6E\x16\x89\x44\x58\x06\x89\x87\x82\xE3\x7B\x21\xB3\x21\x3D\x88\xEB\x6E\x61\x7C\x69\x86\x2F\x8C\x87\x8D\x03\x04\x25\xD8\x8C\x22\x92\x07\x7F\xDA\x6B\x54\x7B\x94\x8F\xF0\x7A\x10\xC9\x87\x1B\x88\x3B\x05\x07\x8B\x2A\x9F\x41\x88\x20\x8A\x10\xB0\x3D\x28\x00\x7D\x1D\x5A\x93\x28\x9B\x42\x87\xBC\x52\x10\xC6\x92\x59\x92\x18\x7C\x53\x94\x26\x63\x43\x91\x31\xB5\x10\xF5\x92\x75\x06\x1C\x8A\x57\x95\x29\x90\x96\x9C\x21\x94\xF8\x78\x90\xC2\x7C\x20\x8A\x08\x4A\xA7\x23\xE0\x6F\x50\x64\xF8\x2D\x88\xA0\x5D\xB2\x6D\x57\x92\xEE\x6A\x94\x95\x20\xB3\x25\xB3\x7C\x71\x92\xBD\x92\xDC\x6E\x29\x9D\x87\x1F\xBC\x7E\x10\x81\x93\x86\x6F\x2C\x93\x27\x92\x65\x86\x34\x28\xF0\x4E\xFA\x2D\x7D\x71\x92\x9A\x86\x08\x92\x27\x95\x8C\x86\x41\xB5\x61\x4A\x91\x02\x02\x66\x91\x31\x97\x9B\x2D\x84\x8D\xE2\x4F\x21\xCA\x3A\x51\x91\x5F\x92\x96\x84\x0A\x9B\x83\x96\x47\x3E\x20\xE7\x27\x00\x93\x74\x3F\xD3\x7F\x1C\x95\x47\x9F\x75\x39\x08\xED\x91\xB1\x7D\xED\x84\x39\x96\x1C\x91\x90\x84\x9D\x06\x24\x81\x02\x08\x93\x7B\x90\x6B\x94\x21\x9B\x47\x75\x47\x91\xAE\x11\x92\xC4\x52\x1E\x57\x7E\x5B\x1F\x95\xA7\x7D\x47\x8E\x9E\x6D\x51\x1A\x0C\x09\x85\xBA\x3C\x38\x99\xEE\x3A\xE0\x07\x27\x80\x00\xC9\x92\x72\x93\x72\x93\x1E\x9D\x9C\x87\xBE\x36\x23\x95\x92\xC3\x52\x6C\x83\x1C\x54\x3A\x93\x14\x8A\x4F\x98\x24\xAC\x2C\xB9\x93\x18\x00\x77\x91\x88\x47\x90\x58\x2A\x7F\xD4\x65\x48\xF6\x41\x80\x92\x12\x48\xA8\x68\x9E\x82\x13\x91\xAE\x34\x78\x01\x90\x60\x93\xDF\x8D\x2F\x07\x06\x1F\x41\xB1\x27\xF3\x93\x7E\x26\xFE\x21\x42\x02\x41\x94\x46\x5C\x4F\x81\x24\xF6\x6A\x64\x85\x7D\x3F\x34\x93\x00\x99\x83\x81\x02\x04\x28\xC7\x3F\xB9\x92\x81\x91\x05\x71\x21\x95\x87\x3F\x4E\xA1\x27\x81\x92\xE3\x93\xE5\x79\x79\x97\x29\x3D\xD8\x33\xE1\x50\x27\xEA\x93\x14\x93\x07\x95\x75\x97\x22\x97\x9D\x93\x64\x61\x10\x96\x04\xB3\x4E\xAD\x6D\xBA\x3F\x84\x82\x10\x09\x21\x94\x0A\x05\x6F\x2C\x89\xB7\x91\xF4\x87\x28\x9A\x95\x92\x21\xBC\x28\xF2\x92\x7B\x93\x68\x88\x5E\x91\xE2\x85\x43\x87\x7C\x61\x25\x86\x5E\x5E\x8E\x3F\x2D\x66\x97\x5A\x8A\x85\x8C\x30\x9D\x26\xB7\x88\x9F\x93\xB0\x87\x18\x95\x0B\x9B\x23\x8F\x51\x89\x10\xBD\x92\x0B\x89\x1C\x03\x03\x02\xDF\x1B\xA5\x8C\x4B\x86\x26\xB9\x94\x45\x93\x1D\x95\x68\x96\x82\x83\xA4\x9D\x51\x9F\x25\xE5\x94\x36\x7D\xC7\x90\x65\x93\xFE\x5D\x41\x82\x4C\x9B\x5A\x05\x93\xDF\x62\xC4\x91\xCA\x62\x31\x9E\x98\x81\x52\xB6\x10\xB4\x88\x6A\x95\xBE\x93\x53\x97\x18\x73\x96\x99\x52\x78\x26\xC2\x93\x01\x92\xEE\x91\x72\x46\x43\x9F\x53\x6A\x48\x82\x21\xCC\x93\xEC\x12\xF3\x93\x73\x95\x77\x22\x91\x8B\x3C\x64\xE0\x09\x92\x16\x92\xE6\x53\x7B\x94\xC5\x03\x7E\x2B\x63\x52\x08\xAC\x0C\x58\x26\x54\x89\x18\x2B\x2F\x49\x9F\x9B\xF7\x3E\xC6\x00\x95\xFB\x3D\xDD\x92\xD3\x52\x6C\x51\xAD\x64\x03\x04\xC7\x46\x48\x68\x57\x4F\x96\x3B\x57\x6B\x52\x9F\x83\x48\xA3\x2A\xA4\x27\x0C\x95\x81\x00\x83\x90\x55\x9F\x4D\x29\xF7\x31\x0A\xFF\x93\x13\x94\x6A\x85\x2D\x67\x42\x9F\xA7\x8B\x55\x8C\x70\x7B\x3D\x08\x94\x86\x8F\x49\x03\x56\x90\xB5\x4E\x50\xB6\x2A\xA1\x8D\xD2\x42\x09\x97\xE7\x88\xD7\x8B\xAB\x9E\x08\x05\x28\xF2\x8F\x37\x32\x43\x05\xF2\x2A\xEB\x6E\x8D\x86\x24\x2C\x8F\x60\x6E\xDE\x61\xCA\x50\xE5\x23\x6F\x23\x86\x3D\x9B\x33\x00\x00\x27\xF5\x03\x12\x44\xE5\x21\x9E\x57\x92\x89\xB1\x74\x5A\x6E\x30\x84\x26\xA8\x24\x10\x05\x2D\x6C\x8D\x51\xF3\x62\x01\xDB\x51\x8F\x33\x1C\x03\x2E\x07\x24\x03\xAF\x9A\xD4\x40\xB1\x7B\x42\x22\x01\xBE\x40\xDC\x60\xA1\x6E\x3F\x4A\xCD\x31\x18\x03\x59\xF0\x94\xD1\x30\x4B\x4A\x89\x59\x35\x90\x29\x64\x68\x2A\x8A\x11\x6D\x14\x35\x90\x69\x80\x39\x2B\x15\x1D\x7C\x06\xFE\x26\x31\x00\xE0\x2F\x40\x00\xF8\x20\x01\x5B\x33\x55\x5A\x05\x3E\x1A\x6B\xBA\x3F\x3D\x6B\x7A\x34\x03\x18\x01\x37\x02\x27\x02\x1F\x97\x91", -"\x6B\x89\x46\x54\x82\xFB\x2E\xAB\x0B\x6D\x5F\x4D\xAA\x8B\xF8\x8A\xE0\x2D\xF7\x3C\xC3\x67\xBD\x25\x2C\xCB\x3A\xB0\x16\x94\x94\x37\x41\xD5\x2E\x0D\x4C\xB5\x21\x6C\x58\x45\x3C\x4B\x8D\x57\xC6\x90\x7E\x34\x03\x14\x01\x3F\x60\x45\x05\x21\x57\xA1\x4A\x42\x3E\x0F\x39\x68\x28\x0A\x43\x85\x4B\x42\x95\x3E\xA3\x41\x43\x39\x28\x42\x88\x3A\xEA\x1F\x85\x48\x69\x6E\x2B\x99\x2D\x44\x75\xA9\x31\x15\x47\xB2\x2B\x74\x42\x42\x53\x3A\x94\x38\xE8\x3A\x2B\x44\x15\x5C\x0A\x46\x75\x03\x2F\x54\x3A\xAE\x38\x9B\x63\xA6\x37\xB3\x89\x2B\x79\x2C\xD6\x58\x3B\x97\x84\x3E\x0D\x07\x06\x02\x00\x1A\x77\x2D\x2D\xA2\x96\x2E\x41\x6D\x2D\x8F\x73\x24\x45\xB0\x22\x3E\x6C\xD3\x6D\x6C\x56\x60\x19\x47\x15\x30\x60\x5E\xAF\x28\x11\x6F\xCB\x64\x62\xBF\x31\x48\x82\x19\x5E\x3C\x7D\x87\x5A\x5B\xB8\x94\x51\x4A\x3A\x4A\x67\x12\x5A\x48\x7E\x35\x03\x12\x01\x38\x7C\x02\x02\x3A\x3F\xA8\x3D\x62\x48\x1A\x8B\x9B\x24\x29\x13\x2D\x91\x31\x8F\x41\x77\x31\x64\x4B\x12\x47\xB8\x98\x59\xAD\xB1\x1C\x6A\x6D\x4B\x19\x6F\x49\x00\xEA\x3E\x09\x55\x2C\x54\x7D\x14\x78\xD1\x82\xC6\x03\xE5\x93\x60\x3B\x59\x59\xFF\x1F\x96\x2A\x41\x9D\x96\xB3\x97\xE7\x94\x80\x7D\x51\x76\x01\x3E\x03\x27\x02\xB7\x97\x3A\x58\x57\x49\x8C\x5F\xB7\x9B\x9D\x41\x2E\x91\x5C\xFB\x76\xBC\x94\x24\x59\x1E\x3A\xC6\x47\x2C\x51\x7D\x05\x59\xBC\x52\x56\x51\xF0\x94\xB5\x26\xB7\x83\x5C\xBC\xEF\x6F\x31\x69\x59\x91\x15\xEC\x94\x8D\x59\xB8\x89\x47\x0B\x2E\xEA\x96\x76\x31\x8F\x15\xD0\x92\x1C\x47\xD3\x2B\x21\x39\x74\x0B\x49\x46\x97\xAC\x94\x56\x46\xE7\x20\x14\x5C\xE9\x18\x2D\xCE\x96\x61\x96\xA6\x41\xD4\x96\x29\x4E\x52\x6E\xA8\x79\x05\x20\x37\x56\x96\xCD\x2C\x4B\x3D\x69\x9F\xAC\x24\x0A\x48\x7F\x5C\x96\x1B\x29\xAA\x41\xE7\x2A\x29\x4F\xB4\x99\x8C\x4F\xB4\x2A\x31\x65\x96\xEA\x97\x00\x7A\x71\x97\xB6\x83\x0F\x76\x00\x35\x00\xBB\x87\x81\x01\xEF\x83\x38\x8C\xC0\x61\xA8\x4B\x88\x14\x97\xDC\x36\xEF\x61\x73\x83\x11\x4F\x1C\x8D\x5F\xA9\x2E\x9B\x78\x30\x45\x0E\x7A\xE6\x17\x83\x7A\xAF\x55\xCE\x65\x57\x52\x40\x36\x6B\xB6\x5D\xF2\x45\x9E\x6B\x3C\x49\x5B\xA0\x7C\x37\x00\x30\x00\xE0\x81\x40\x02\x38\x82\xB2\x5D\x11\x45\x07\xA6\x6A\x03\x6A\xFD\x35\x4B\x70\x61\x9C\x40\x4B\xA9\x4E\x07\xA7\x4B\x37\x98\x88\x6A\x06\x9E\x6F\x13\x53\x7D\x60\xAE\xB6\x33\x2C\x22\x79\x0E\x46\x6E\x80\x59\x46\xC2\x83\x0F\x77\x00\x32\x00\x9E\x00\x7D\x1D\x12\x98\x6E\x90\x50\x6F\x61\x9F\xE3\x15\x66\x34\x99\xCA\x43\x04\x9A\x14\x4C\xBC\x82\x09\x54\x31\xFF\x57\xD3\x83\xFE\x41\x75\x86\x87\x92\xAA\x37\x58\x5D\x88\x7C\x96\x69\x40\x27\x98\x04\x79\x7A\x6C\xAF\x98\xB0\x36\x30\x94\x98\x74\x92\x20\x76\x43\x6A\x3A\x8F\x8E\x31\x58\x78\x20\xFF\x43\x14\x56\x0F\x9A\x17\x99\xA3\x64\xC2\x9C\x56\x6E\xB1\x75\x32\x37\x01\x19\x00\x31\x02\xDF\x1B\xC7\x8C\x62\x84\x07\x8E\x78\xC6\x83\x4D\x70\x72\x84\x34\x71\xC5\x87\x63\x97\x31\xE9\x98\xD0\x83\xCA\x96\xF0\x90\x62\x54\x1D\x89\xAA\x56\x07\xC0\x98\x04\x45\x9B\x69\xE3\x45\x89\x90\xC8\x90\x61\xA0\xE3\x03\x99\x3B\x86\x08\x98\x06\x4A\x8A\x95\x07\x47\x64\xAE\x21\x89\x99\xB5\x26\x36\x9B\x12\x46\x83\x75\x1F\x8F\x64\x83\x88\x52\x35\x74\x99\x22\x46\x2E\x32\x0E\x0C\x8B\x34\x03\x3B\x5E\x2B\x99\xAD\x99\x2D\x7B\x49\x01\x3D\x27\x6F\x4C\xC6\x04\x0E\x38\x66\x03\x37\xE8\x3B\x10\x6A\x87\x5B\x68\x33\x4E\x46\xC5\x0E\x30\xF8\x5E\x5B\x98\xE8\x06\x95\x99\x8D\x30\x65\xA7\x85\x1C\x76\x34\x00\x5A\x99\x17\x7D\xE2\x62\xCC\x98\x65\xA3\x59\x74\x3B\x12\x52\x74\x85\x2F\x9A\x48\x6B\x12\x6E\xC0\x1E\xC6\x5E\x4F\xDF\x05\x5B\x4B\x63\x37\x4A\x77\x34\x19\x11\x84\x67\x61\x89\x5E\x72\x09\x34\xE1\x76\xFB\x48\x74\x56\x01\x29\x20\xC7\x58\x40\x69\x99\x83\x38\x49\xD1\x56\xC8\x45\xA2\x63\xBA\x29\x6A\x3E\x52\x48\x5E\x12\x6A\xE0\x07\xB9\x6F\x31\x63\x9D\x34\x00\x5E\x8B\xD9\x50\x4C\x87\x39\x62\x13\x8D\xDC\x6B\x13\xE5\x8A\xA4\x77\x36\x89\xC2\x91\x21\x8A\x56\x9D\x09\xA2\xD1\x06\x64\x6E\x8B\xE6\x52\x82\x65\x3D\x91\x9D\x53\xDD\x74\x15\xF9\x0F\x96\x88\x4B\x7E\xC7\x7C\xE0\x50\xEB\x24\x23\xA4\xFC\x69\x89\x05\x8B\x7F\x9A\xCA\x7F\x9D\x9C\xF2\x64\xB9\x16\x9D\x25\x7D\x7A\x71\x72\x82\x3B\x85\x72\x24\xE6\x55\x9B\x77\x1F\x99\x64\x06\x7F\x46\x74\x08\x3E\xCF\x04\xC3\x9E\x06\x9D\x01\xB5\x83\xB1\x75\x91\x98\x3E\x84\x0E\x0A\x0F\x95\xD4\x71\x00\x72\x68\x02\x02\x3A\x6A\xD1\x67\xC9\x28\x47\x7B\x57\x86\x5C\x18\x66\x03\x9B\xB6\x80\x20\x6A\x90", -"\x6F\x18\x97\x3B\x11\x06\xE3\x77\x4B\x82\xCA\x82\x64\x86\x24\x71\x03\x15\x01\x39\x89\x06\x02\x4F\x9A\x90\x75\x53\x85\x4C\x6B\xBE\x7D\xFD\x71\xCE\x05\x34\xAD\x55\x72\x6B\x9B\x24\x7E\x79\x4E\x72\x3A\x06\x56\x78\x77\x2F\x33\x49\x62\x1A\x9C\x29\x30\x4F\x62\x92\x72\xD3\x00\x78\xB3\x74\xB9\x83\x52\x9B\xDE\x75\xD5\x90\x9D\x6E\xEF\x59\x9A\xF2\x77\x73\x68\x57\x99\xFD\x8E\xD5\x99\x9D\x77\x2D\xC5\x0C\x82\x97\xE5\x94\x16\x9F\x77\x68\x75\x05\x6A\xB5\x0C\x40\x77\x17\x05\xDC\x77\x54\x9F\x32\x59\x0C\x85\x29\xB6\x2B\xC7\x81\x88\x67\x4E\x77\xE9\x92\x93\x98\x36\x54\xAF\x59\x60\x2C\x54\xA5\x74\x98\x88\x36\x82\x58\x73\x53\x8A\xD5\x7E\xCD\x17\x63\xA1\x68\x55\x5C\x50\x7B\x59\x7D\xBD\x69\x0A\x88\x35\x93\x83\x72\x7D\x8D\x74\xD6\x27\x06\x09\x19\x81\x08\x1B\x06\xA7\x8A\x0F\x54\xCF\x82\xB2\x59\x2F\x8A\x15\x91\xDE\x6D\x06\x97\x7C\x7F\x82\xA3\x51\x58\x83\x35\x84\x18\x9D\x9C\x4F\xEF\x2F\x37\x88\x82\xA0\x12\x53\x8E\x17\x80\xD3\x8D\x0C\x8F\xD3\x60\x77\xAF\x0A\xA8\x62\x2E\x83\x2A\x61\x86\x53\x01\xAC\x01\x1A\x38\x6F\x96\xBE\x1B\x79\x46\xB8\x90\x16\x7A\x02\x69\xD9\x7A\x9A\xB8\x81\xB1\x98\x52\x37\x36\x73\xA4\x63\x6E\xA2\x05\x38\x43\x6F\x81\x1D\x75\x58\x67\xB9\x94\xB7\x85\x3A\x39\x35\xDD\x9B\x8B\x98\xE3\x98\xD7\x86\x2E\x18\xCE\x78\x64\x30\x7A\x5D\x85\x2F\x58\x8A\x8D\x36\x4F\xC3\x63\xC3\x51\xE7\x64\xD8\x65\x85\x57\x82\x14\x6E\x34\x9D\x2D\x1D\x59\x59\xE7\x57\xD8\x40\x55\x94\x26\xC6\x30\xE5\x26\xD1\x70\xE9\x68\x2D\x72\x0C\x02\x89\x43\x99\x99\x45\x11\x99\x44\x42\x03\x1F\x59\xB7\x0B\x5B\x97\x2A\x42\x2A\x06\x18\x31\x5D\x99\x5A\x4D\xC2\x08\x61\x02\x97\xA5\x4A\x27\x33\x7F\x2D\x72\x6C\xD8\x80\x0C\x55\x61\x21\x4B\x20\x03\xD1\x4A\x82\x9C\x08\x3C\xE0\x84\xC3\x2A\x96\x60\x30\x9F\x98\x21\x2D\x84\x9B\xB5\x43\xE1\x95\x09\x51\x31\xB0\x4B\x3A\x43\x86\x95\x80\x9E\x76\x45\x03\x15\x01\x06\x38\xAF\x07\x08\x9C\xBE\x31\xF7\x94\x63\x0F\xBD\x85\x5F\x82\x5D\x52\x3A\x82\x40\xFB\x94\xE8\x3A\x69\x90\x88\x2C\x5A\xB8\x38\x98\x3A\xE9\x96\xA8\x97\x52\x3C\x7D\x9A\x1C\x91\x06\x95\x2D\xF1\x2A\x57\x96\xFA\x96\x80\x42\xC7\x95\xF9\x38\x5F\x9E\x4F\x7A\x97\x63\x2E\x26\x9E\xFF\x94\xF4\x26\xA9\x97\x5E\xA8\x2D\xF7\x98\xF8\x69\x1C\x02\x8D\x71\x20\x0B\x15\x6D\x61\xA0\x89\x7E\x96\x09\x66\xC0\x95\x3B\x69\xBC\x5E\xBC\x8B\x64\x8B\x6C\x01\x98\x12\x85\x12\x98\x96\x9B\x7A\x36\x03\x11\x01\x0F\x2E\x81\x02\x91\x96\x4F\x43\xE4\x95\x61\x54\x70\x29\x0B\x8C\x65\x19\x97\x90\x4B\x48\x42\xD7\x3C\x2A\x33\xBD\x89\x73\xB6\x31\xA0\x97\x77\x3E\x19\x00\x8D\x6D\x69\x51\x96\x33\xFA\x24\x31\xAF\x6A\xA3\x41\x22\x9C\x52\x35\x75\x98\x0A\x4F\xB3\x1C\x2E\xD4\x58\x19\x96\x9D\x97\x9A\x98\x7E\x36\x03\x1F\x29\x5C\xB1\x04\x9D\x32\x9C\xE4\x94\x8F\x74\xBB\x91\xA9\x48\x04\xB6\x39\xD3\x9B\x42\x75\xE1\x97\x49\x47\xA9\x48\xE6\x96\x72\xBB\x06\x83\x9C\xBD\x82\x1C\x03\x12\x9E\x20\x0B\xEA\x8B\xE0\x44\x6D\x03\x56\x8B\x3B\x40\x9B\x49\x6D\xC2\x96\xC1\x67\x0D\x8B\xAC\x15\x98\x0D\x57\x7A\x55\x1B\x9D\x91\x94\xC7\x76\x0E\x9F\x30\x9C\x44\xFF\x54\x57\x9C\x5F\x2E\x81\x96\xF8\x54\x75\x8C\x07\x9D\x99\x98\x4B\x2B\x83\xAD\x9A\xD7\x93\xCA\x9B\x60\xA5\x32\xDC\x98\x35\x6A\x8C\x56\x24\x9B\xC5\x9F\xB0\x97\x01\x31\x00\x7D\x98\x06\x02\x6C\x9E\xB0\x9A\x60\x5D\xC0\x64\x58\x4F\x31\xED\x40\x33\x99\xC9\x74\x11\x47\xD3\x91\xCA\x8D\xA9\x79\x3A\xBA\x98\xFC\x42\x52\x99\x0F\x99\x8E\x9F\xC3\x87\x65\xBE\xAB\x12\x99\x60\x98\x17\x99\x25\x9F\xDB\x94\x50\x61\x77\xA3\xFA\x06\x99\xC9\x9C\x09\x30\xB9\x99\x58\x38\xC5\x9B\x75\x9A\x31\x8E\x99\xD0\x9D\x10\x79\x24\x9A\x84\x91\xCC\x86\x0B\x77\x32\x8C\x03\xAF\x99\x66\x99\xEC\x5C\x3B\x83\xCB\x8C\x66\x86\x3C\xC3\x99\xDF\x29\xE8\x28\x34\x9C\x05\x86\xAE\x84\xB7\x3E\x32\xFF\x0F\xC0\x99\x6B\x32\x31\x9F\xE0\x96\x11\x12\x46\x5B\x3C\xC3\x99\x8E\x7C\x4E\x8B\xC7\x9B\x83\x50\xCE\x91\xF9\x62\x33\xFE\x5C\x85\x77\xAB\x27\x0D\x07\x9C\x94\x99\x29\x67\xBE\x33\xF1\x9B\x35\x83\xD8\x36\xE4\x73\xD4\x78\x2F\x75\xDC\x76\xE4\x75\x99\xEA\x5B\xB1\x4E\x0D\x01\x9F\x9B\xE9\x51\x09\xA2\x15\xEA\x99\xA2\x76\x76\x8A\x59\x8A\x61\x66\xBA\x76\x29\xAD\xA9\x05\x9A\xA1\x5F\x30\x68\x9C\x71\x52\x9E\xBA\x60\x3B\x4C\x3D\xF2\x8A\x46\x82\x72\x83\xA0\x76\x1C\x85\xD2\x83\x69\xB5\x61\x73\x8E\x29\x9B\x91\x98\x3C\x83\x72\x7F\xA8\x9C\x6D\x84\xCE\x32\x9A\x68\x8D\x59\x77\x4F\x88\x5B\x64\x03\x18\x69", -"\x81\x04\x3A\x9A\x13\x66\x88\x0B\xA1\x9A\x2D\x8D\x90\x94\xA4\x46\x3D\xFF\x68\xF5\x6D\x40\x69\xA8\x66\x94\x66\xBB\x7B\xD8\x62\x14\x9E\x54\x5D\x37\xAF\x36\x49\x8D\x32\x87\xAA\x40\x7A\x8D\x61\x6F\x9A\xE4\x69\xB8\x98\x02\x66\x76\x65\xBF\x6A\xE3\x2B\xD3\x65\x9C\x0C\x57\x7D\x9E\x64\x7B\xCD\x7E\xBF\x60\x9E\x68\x35\xC8\x82\x75\x9E\x6E\x6B\xDD\x9A\x5B\x72\x03\x0A\x06\x80\x00\x4C\x81\x7C\x9E\x94\x8B\x89\x56\xA7\x9B\x1C\x98\x3B\x68\xF8\x74\x66\x23\x9B\x5F\x75\xF6\x62\x1B\x85\xD9\x9D\x9E\x74\x03\xA5\x49\x99\x9A\xF1\x65\xF2\x84\xB3\x90\xF9\x9A\x44\x80\x36\xA0\x9B\xEF\x94\xD1\x98\x9D\x4D\xB4\x90\x00\x07\x6D\x99\x3E\xA9\x9B\x76\x83\xD5\x99\x68\x84\xB6\x93\x1A\x9E\x53\xA6\x06\x80\x83\xC1\x68\xC1\x80\xEF\x9C\x2B\x86\xDB\x82\x0C\xB8\x36\xD6\x77\xA2\x66\xBC\x37\x51\x2F\xED\x9D\x4C\x67\x9D\x77\x06\xA1\x8A\xF1\x32\xE3\x9A\x8C\x76\xBA\x97\xDC\x94\x01\x1B\x39\x80\x00\x38\x75\xEC\x9B\x5A\x74\xD3\x94\xC6\x5E\x74\xB7\x35\xFD\x9D\x69\x62\xEA\x9F\x78\x9D\xAA\x05\xDE\x96\x4B\x26\x94\x68\x9B\xDF\x84\x4C\x19\xB8\x82\xC4\x33\x2E\x8F\x6F\x8A\xBB\x72\x9B\x6E\x2B\x74\x84\x8B\x6F\x5F\x15\x3C\x34\x76\xA8\x3A\xA4\x27\x5C\x7D\xEF\x6F\x5C\x4C\xB4\x4D\xAD\x97\x6A\x6F\x84\x14\x31\x23\x9C\x10\x9D\x89\x98\x45\x5D\xD1\x8C\x0B\xB9\x84\x18\x9C\x6E\x01\x3E\x5C\xD4\x21\x43\x58\x34\x3B\x28\x89\xE7\x70\x3E\x60\x26\x8D\x7D\x1D\x9B\xA3\x64\xBB\x8D\x2B\x74\x00\x4B\x88\xFB\x9F\x0D\x9E\x7F\x9D\x4A\x6F\xE1\x86\xC3\x30\x84\x7D\x9F\xE0\x65\x8F\x2C\x85\x9A\xD1\x9B\xFD\x2F\xC7\x31\x96\x2C\x0C\xEC\x95\x6F\x05\x19\x82\x20\x07\x06\x85\x29\x68\x8F\x4A\x26\xA8\x88\x9D\x24\xDC\x3E\xC6\x63\x9E\x29\x81\x90\x13\x15\x82\x00\x01\xA1\x71\x49\x4A\x69\x2C\x89\x4D\x9A\x01\x2C\xB0\x33\x32\x46\x54\x88\xEF\x2F\x05\xAF\x10\x1F\x09\x29\x2C\x32\xA0\x0F\x3E\x99\x46\x36\x9C\x0E\x3A\x34\x39\x99\x20\x00\x0F\x3E\xF0\x46\x57\x33\xF9\x45\x66\x2A\x34\x28\x48\x08\x41\x93\x48\xF0\x47\x4A\x95\x06\x3A\x69\x22\x74\x1E\x81\xAD\x8F\x5C\x48\xAE\x30\x52\x95\x4B\x1D\x0A\xAB\x82\x17\x82\xBE\x90\x3E\x00\x5C\x48\x2D\xA2\xD3\x51\x69\x25\x04\xB4\x03\x1D\x41\xCF\xA0\x50\x56\x34\xA3\x26\x7A\x06\x0E\x8A\x26\xAC\x54\x41\xED\xA0\x56\xA1\x9D\x25\x55\x6A\x0E\xA3\x5D\x72\x01\x2A\x41\xEE\x56\x5C\xA0\xAB\x12\x17\xA3\x89\x74\x3E\x57\x01\x2E\x62\x05\x8F\x77\xA0\xA3\x00\x1D\x01\x0F\xA8\x78\x9C\x83\x9D\x1B\xEA\xA0\xC8\x8D\x40\xA2\x9C\x6B\x10\xA0\x77\x8E\x84\x81\x21\xF0\x00\x38\x00\x57\x31\x07\x91\x11\xAF\x13\x0C\x84\xA1\x51\x14\x8F\xA3\x8E\x35\xA3\xE3\x8A\x12\xA1\xCE\x94\x84\xA0\x42\x9B\x79\x5A\x94\x7B\x34\x1C\x05\x1B\x9C\x09\xAB\x84\xA5\x41\xFA\xA0\xAB\x92\xF2\x45\x0E\x02\x0D\xA7\x82\x84\x85\xA6\x3C\x94\xA1\x2C\x91\x0C\x96\x48\x35\x3B\x94\x04\xAA\x84\x8E\x20\x66\xA0\xE2\x93\x0C\x97\xC0\x87\x1C\x94\x06\xBD\x57\x14\x42\xED\x91\xCB\x4B\xDD\x2C\xA0\x4D\x15\xAE\x09\xA7\xEC\x0B\x97\x63\x2F\x94\x3C\x5B\xA1\xEA\x78\x00\x0E\x03\xA9\xEB\x05\x3C\xAC\x99\xC7\x98\x21\xA3\xC8\x99\xF6\x5D\x0B\xA6\x82\x8A\x27\x57\xA0\xDB\xA1\x7E\x67\x35\xA5\x95\x94\xA5\x6A\x78\xA6\xE4\x4D\xA0\x00\x0A\x1F\xA1\x38\xA7\x68\x67\xEA\x73\x03\x31\x9B\x0C\x7D\x2B\x71\x51\x2C\xA2\x72\x69\x2D\xC0\x00\x87\x91\xB9\x6D\xA1\xF1\x4C\xCF\x24\x8E\x5A\x69\x2A\xDF\x0A\x87\x91\xB9\x08\x88\xCB\x2E\x6A\x94\x33\xA7\x15\xA7\xAD\x84\xBC\x48\x10\x95\x95\x5A\x6E\x69\xA3\xF6\x49\x20\x0E\x05\xA0\xBB\x6A\x41\xAC\x0C\xD2\x51\x6D\x99\x2B\xA4\x69\x20\x0B\xB6\xCC\x0F\x44\xB3\x0C\xB3\x49\xC7\x30\x3D\xA2\x9C\x04\x09\xA4\xCE\x07\xE9\x02\x0F\x81\x72\xC8\x61\x5B\x55\x1B\xA5\x77\x09\x87\xB0\x42\xCF\x74\xA6\x55\x8F\xA0\xDB\x0A\xD5\x72\x12\xA2\x4C\x4A\x4D\x14\xA2\x8F\x63\x92\x52\x94\x72\x35\x6E\xF1\x83\x8D\x73\x43\xED\xA0\x14\xA3\x2C\x76\x6A\x65\xD3\x1F\x19\x63\x8D\x73\x92\x55\x74\x6C\xA0\x45\xA1\x3D\xA0\x0E\xA5\xA5\x7E\x01\x3A\x11\xA5\xA2\xB6\x76\xD4\x6C\x49\xA7\x6A\x17\x05\xA5\x65\x06\x45\xF2\x47\xA5\x19\x41\x88\xC7\x72\x69\x2F\x0B\xB0\x83\x8E\x45\xBF\x63\xAB\x38\xCF\x26\x70\x65\x15\xA5\x15\xA5\x8E\x6B\x72\x3E\x00\x58\xA2\x1E\x0F\xD0\x27\x34\x45\x0C\xBC\x62\x3E\x40\xAD\x43\x52\xA3\x48\x0E\x10\xA0\x0E\x74\x12\xA7\x82\xB0\x42\x87\x7E\x69\xA2\xED\x0E\xA1\x75\x0D\x71\x14\xB8\x99\x26\x44\xC7\x7C\x84\x88\x38\x5E\xC4\x7F\xB1\x07\x4B\x55\xF8\x64\x44\xFD\xA1\xB0\xA1\xB4\x5F\x5E\xA1\xB4\x05\x79\x5F\x7B\x75\x45\xB4\x9A", -"\xB8\x2E\x1F\xA2\x60\xA3\x70\x7B\x32\x3C\x50\x4D\x40\xAD\xA1\x80\xA2\x08\xA1\xE1\x22\x01\xAC\x4E\x1B\xBD\x08\x9D\x4A\x26\xF1\x1E\x1F\xA1\xA1\x5B\xD2\x56\x39\x3D\xD3\x6D\x42\xC0\x1A\x57\xA0\xB5\x4F\xA4\x5B\x8E\x33\x76\x4A\x9A\x05\x36\x3E\xA0\x6A\x4F\x38\x8A\x3E\xA0\xE8\x64\x12\xBD\x8A\xBA\xFA\x60\xA2\xA5\x7A\xF0\x01\xA2\x7F\x30\xA9\x07\xAF\x8D\x91\x34\xA5\x7E\x42\xA1\x4C\x8B\x4D\xA2\x11\xAE\x16\xA2\x1B\x8A\xE0\x37\xA3\xF1\x17\xBE\xA0\x45\x98\x1D\xA1\x0D\x6A\x8C\x8A\xE0\x38\xA0\x17\x83\xBA\x84\xD8\x74\x9B\x12\xFC\x09\x08\x0D\x47\xAB\x76\xCA\xA2\xD3\x7E\xD7\x7D\x15\xA1\x12\x82\x08\x22\xFD\x4D\xA2\x25\x82\xAC\x70\xCF\x70\x39\xAC\x11\x99\x8E\x8A\x05\x69\x19\xA4\x0C\x2E\x0D\x01\x26\x3B\xA0\x12\x0B\xCA\x4A\x4D\x2B\xA0\x01\x03\x01\x82\x0F\xA6\x73\x8B\x1C\xB5\xDA\x6E\x18\x8A\x86\x96\x90\x28\x94\x49\xA3\x28\xA5\x10\xB3\x30\xAF\x47\xF9\x92\x39\x30\x28\x94\x3F\xA5\xA1\x0D\x10\xBD\x43\xA2\x34\xAE\x8A\x7E\x0D\x37\x72\x49\x9C\x24\xA9\x13\xAC\xD4\x5A\x3D\xFF\xA3\xC8\x18\xAA\x03\x2C\x4F\x50\x7B\x11\xB0\x61\x2B\x47\x8D\x75\x12\x7B\x1C\x33\xE6\x5D\x35\xA1\x81\x06\x83\xBA\x9E\x12\x7A\x03\x87\xCD\x5D\x59\xA6\x13\x2E\x05\xBA\x3D\x59\xE6\x4A\x02\x4C\x86\x7D\x07\x6E\xA7\x27\x01\x19\xA7\x85\x6C\x5F\x1F\xA4\x20\x03\xDD\x2F\x1D\x38\x33\xA9\x18\xB0\x83\xBD\x71\x63\x7F\x75\x0B\x5B\x4A\x46\x88\x32\xAC\x1F\xB0\x85\x98\xA0\x30\xA4\x1D\x7F\x92\x36\x04\x54\x45\xA8\xB3\x3E\x81\x98\xA0\x77\xA3\x68\x6F\xF8\xA0\x0C\x8B\x44\xA4\xCC\x8E\x90\x95\x44\xE2\x8F\x40\xA5\xB7\x6D\x7E\xA3\x48\xAB\x1F\xA9\xCE\x7D\x47\xB1\x8C\x3E\x01\x21\x8A\x96\x7D\x08\x51\x1E\xB9\x81\x7F\xFF\x62\x60\x24\xA2\x04\x80\x00\x03\x62\x20\x0E\xBB\x22\x91\x49\xD5\x7C\x44\x89\x3A\x61\x6C\x03\x94\x88\x83\x5B\x22\x87\x46\xDC\xA3\x0C\xA2\xA2\xA2\x97\xA1\x3E\x9B\x0B\xA2\x83\xB6\x4C\x6D\xA0\xAE\xA3\x62\x94\x6C\xA6\x57\x95\xAC\x83\x86\xAF\x2A\x9B\xA4\x1B\x53\x63\xA3\x11\x4B\xA6\x9C\x98\x30\xD6\x63\x41\xED\xA0\xF4\xA3\x3A\x69\xBF\x63\xA6\x9E\x39\x3F\x48\x4D\x49\x81\x25\xEB\xA3\x9C\x50\x48\x8C\xEE\x0B\xF6\x03\x08\x2B\x3D\x2F\x9F\x98\x91\x56\xA1\x0F\xA0\x16\xA3\x15\x8B\x94\x82\x1E\x42\xA0\xA2\x9A\xA5\x27\x02\x3A\x33\xAD\x0C\x82\x3B\x90\xD9\x0C\x33\x66\x8F\x56\xA1\xA0\xA4\xA0\x78\x3D\x9E\x01\x1E\x4A\xD9\x6C\x9E\x26\x24\x6F\xA1\xA0\x27\x24\x0D\xB0\x83\x8D\xD9\x4A\x86\xE1\x73\x0B\x05\xA3\xA2\x20\x0F\x28\xA6\x44\x64\x44\x93\xA5\x3E\x72\x58\x82\x0F\x00\x56\xA4\xA1\x65\x3D\x02\x41\x86\x51\x9A\xA4\x13\x12\x0F\xA3\x11\x57\x89\x47\xEB\x55\x49\xAF\x74\x67\x7A\x22\xA6\x96\xA4\x4B\xA0\x0B\xAC\x6E\x85\x4B\xD4\x9F\x64\xA5\x31\x80\xF5\x9F\x4C\xA4\xB2\x72\x7B\x30\x41\xCC\x9B\xE3\x9E\xA5\x08\x63\x37\x6B\x82\x2A\xBC\x88\x81\x46\xEE\x79\xD9\xA4\x98\x02\xE7\x21\xC3\x6B\x2A\xBE\x8A\x2D\x4A\xB0\x58\xEE\x79\x07\x83\xEE\x09\x24\xAA\x3E\x64\x89\x8E\x41\xF6\x76\xCB\x6C\x75\xA7\x7C\x0C\x25\xAA\x3E\x6F\x89\x87\x0D\x6A\xA1\xE8\x61\x11\x6A\xBF\x6E\x0D\x76\x82\x00\xDC\x47\xF5\x04\xA4\xF7\xA4\x58\xA2\xCF\x74\x27\xA9\xB7\x7B\x97\xB3\x92\x7C\x76\x0D\xA4\x0C\x1A\x0F\xA3\x60\xA3\x89\x8A\x14\x1E\xC1\x1C\x91\x44\xA5\x77\xA7\x94\x94\x12\x97\x34\x6D\x98\x96\x04\x4F\x94\x83\x91\xC3\xA0\x4C\xA1\x2E\x9A\x28\x16\x84\x87\x20\xEA\x6B\xAE\x30\x4B\x7B\x40\xA6\x18\xA5\x11\xB9\xAF\x4B\xD6\x6A\xA0\x8E\x6A\x85\xA1\x93\x09\x4D\xA9\xC9\x76\x2B\xAE\x62\x36\x84\x23\xA6\xB3\xA1\xC9\xA2\x47\x86\x57\x8A\x83\x9F\xF2\x2A\xA6\xC6\x02\x4A\xA1\x29\x7C\xD0\x8E\x8A\x37\x2E\xB1\x4C\x9C\xA4\x33\xA7\x22\x84\xA1\x8A\x0D\xAF\x23\x98\x99\x96\x4B\x9B\x8B\x1E\xA6\x62\x93\xED\x8E\x15\x32\x70\x9F\x99\xB9\x49\xB3\xA6\xE5\x8A\xFB\x8A\x1A\xA1\xBC\x86\x34\xAC\x99\xBA\x1D\xCF\xA2\x1B\x7D\x57\x8B\x2C\x4A\xCC\x8D\x0A\xAC\x8A\xB0\x42\xAF\x89\x58\xA6\x43\x8F\x2B\x8E\x72\x22\x4B\x94\x8A\x95\x48\xF0\xA0\x60\xA7\x2F\x8F\xE2\x01\x96\x87\xAC\x18\x9A\x2E\x01\x7A\x1D\x6F\xA7\x5B\x8B\xE2\x01\x97\x87\xAC\x04\x26\x8B\x0E\x01\x44\xAF\x89\xB6\x36\x30\x8C\x62\x40\x53\x3D\x25\x90\x81\x0B\x27\xD0\x6A\x64\x8B\xA7\x42\x99\x81\x72\x4D\x26\xAF\x51\x41\x2B\xD0\x88\xC8\x92\x96\x8D\xBF\x23\x42\x36\x26\x8B\x0E\x0D\x29\x60\xA7\xA6\x7B\xE2\x26\x6F\xA6\x37\xBF\x1A\x38\x4D\xF5\xA6\xC1\x89\x63\x89\xE5\xA6\x97\x8E\x20\x82\x9C\xA8\x05\xBA\x53\xCB\x89\xB6\x26\xE1\xA4\x7B\x28\x38\xB6\x56\x0A\x4E\x8C\x7A\x1A\x5C\xC7\xA7", -"\xD7\x02\x6D\xAF\x35\x0C\x9B\x8B\x0E\x7E\x26\xB6\x88\x83\x01\xEC\xA0\x2A\x78\x4B\x92\x9C\xA2\x00\x14\xA7\x89\x2C\xBF\xA7\xE5\xA3\x71\x0A\x37\xBA\x9C\xB9\x4E\xC5\x89\xBB\x7A\xDF\xA6\xE1\x2B\x82\x71\x3A\xB1\x7D\x3E\x0D\x6F\x15\xCF\x88\xD3\xA4\xFA\x27\xBE\x2B\x38\xAC\x44\x87\x56\x47\x15\xAC\xA7\x29\x06\xEB\xA7\x6B\x0C\xF9\x50\x9B\xA7\x87\x11\xA7\x98\x28\xDC\xA4\x16\x2A\x77\xA5\xB1\x59\x9B\x99\x4E\xC3\x89\xBF\xA7\xBB\xA5\xF0\xA0\x7C\xA3\x3C\xA0\x75\x77\x72\x09\x59\xA3\xA7\xE4\xA5\xC2\x2C\x79\xA8\x3A\xA8\x1E\xAA\x4E\xD3\x04\x90\xA7\xDA\xA5\xF6\xA0\x73\xAB\x3D\xA0\x9E\x95\xE7\x5E\xA7\xC8\x3F\xBD\xA7\xE6\xA7\x6F\xA2\x02\x01\x9C\x8A\x60\x04\xA7\xA3\x75\xF4\xA5\xE9\xA3\x7D\xA3\x3D\x8D\x9F\x95\x0F\xCF\xA7\xC4\x15\x66\x4B\xE8\xA3\x68\x23\x3A\xB8\x9A\x3A\x02\x27\x02\x0F\xA8\xF5\x2F\xE8\xA7\xC9\x27\xB0\x8E\x9C\x25\x2B\x0F\x91\x8F\x93\xEA\x29\x94\x2E\x78\xAB\xAD\x0A\x0C\x05\x29\xC6\x4F\xAF\x89\xD1\xA5\x23\x2B\x82\xAD\x53\x27\x58\xA2\x4E\xFE\x06\x18\xA8\x3B\x96\x06\xAB\x8A\x87\x41\xBE\xA0\xB9\x29\xF8\x65\x21\xA9\xE3\xA5\xB5\x15\x6A\x25\xAE\x0D\x65\x9E\x4E\x35\xA8\xC7\x98\x74\x92\x3A\x95\x44\x48\x43\xBC\x78\xB3\xFB\x7D\x56\xEF\xA6\xC6\x04\xE6\x02\x73\x0C\x39\x1E\x1C\x07\x33\x9D\x2A\x3D\xA8\x88\x9E\xD8\x20\x04\x4D\xAE\x1E\x1B\x3E\x0F\x2D\x99\xD9\x8F\xB4\x51\x0B\xAE\x32\x0C\x40\xA8\xA1\x8A\x06\x58\x26\xB8\x01\x93\x01\x16\xAA\x82\xA6\x45\xB6\x0C\x30\x4E\x49\xA8\xE1\x6C\x6F\x16\x0F\xA9\x8D\x9C\x41\xA8\x1B\x07\x33\xC6\x28\xC7\x99\x84\x2D\x10\xAB\x8A\xAD\x06\x03\xA1\x9D\x51\xD6\x92\xCD\x26\x30\xA9\xF8\x5A\x8C\xA3\xCC\x91\x6E\xA5\x51\xE7\x00\xAD\x98\x34\xAB\x18\xAD\x71\xA0\x3C\x31\xA1\x9D\x50\x96\x03\x34\xA8\xBF\x05\x2B\x9E\x0B\x62\x47\xB1\x94\xB2\xE1\x64\x00\x88\x13\x09\x39\x21\xAD\x13\x91\x45\xBE\x4B\x4B\x50\x95\x53\x0D\xA8\x1A\x01\x04\xAE\x20\x03\x49\xBD\x99\x24\x50\x8B\x27\x26\xA9\x3B\xA9\x0A\xAC\x31\x9B\x42\xBA\x9D\x2C\x51\x9F\xA8\xBD\x33\x26\xAB\xDC\x07\x5D\x1E\x46\xA3\xA5\x95\x2B\x14\xA8\x32\x4B\x13\xAB\x1F\xAD\x0D\x07\xE3\x61\x38\x5B\x50\x9F\xA9\x2F\xA8\x10\xAA\x28\xAE\x71\x05\xAD\x0A\x37\x6C\x51\xC6\x26\x6C\xA9\x28\x94\xDA\x8E\x92\xAF\x46\xAE\x1F\x76\x52\xB2\xA8\x90\x07\x2A\xAA\x29\xA8\x72\x0E\x37\x3B\x30\x43\x04\x2B\x59\x77\xA9\x77\x14\x2A\xAE\x89\x5A\x49\xAE\xA1\xAA\x50\xBA\x4C\xCD\xA8\xCB\x00\x28\xA8\x81\xA7\x39\x03\xA6\xBB\xFD\x3F\xA9\xD6\xA8\x5C\xA8\x30\xA8\x0D\x0A\x4B\xB8\x60\x0A\x52\xDB\xA9\xBE\xA8\x05\xAB\x36\xAC\x31\x3D\x40\xB3\x8F\x9E\x4B\xDF\xA9\xD6\xA8\x53\xA6\x38\xAE\x9A\xA7\x43\xBB\xA6\x87\x46\x80\xA3\xBC\xA9\x74\xA8\x9A\xA1\xF7\x2C\x38\x84\xCA\x27\x04\x4F\xA3\x9A\x7F\xF6\xA3\x47\x84\x24\xA5\x1D\xA1\x08\x17\x47\xDF\xA6\xAB\x89\xF2\xA3\x76\xA5\x5A\xAC\xF5\x61\xA8\x87\xFA\x5C\x19\xC7\xA4\x7A\xAA\x41\xAE\x3C\xAD\x06\xA8\x8F\x80\x00\x6A\xA3\x68\xA7\x85\xA8\xCF\x70\x94\x83\x72\x42\x38\x0E\x54\xE7\x80\x6C\x7E\x92\xA1\x0C\xA0\xA0\xA9\x37\x90\x5E\x3E\x00\x14\xAA\x8B\x59\x88\x17\x3C\xA9\x9F\xA1\xB1\x07\x8C\x93\x4A\xAA\x89\x1D\xAA\xBF\x7C\x36\xAA\x59\x05\x37\x04\xA7\xAF\x51\xC4\xA4\xA3\xA4\x36\xAA\x3A\xAA\x8A\xAF\x46\xAD\xA7\xAB\x52\xEF\xA9\x35\xA5\x78\xA8\x4B\xAA\x31\x02\x34\x37\x71\x61\xDF\x01\x73\x8D\x7C\x77\xA6\x49\xA7\x8E\x82\xE9\x6B\x8D\x49\xFA\x11\x0D\xAA\x7D\x46\x7E\xBD\xA3\x2B\x1E\x0F\xA5\xAA\xBE\x00\x01\xA9\x73\x07\x56\x9B\x48\xAB\x91\xA4\x24\xA8\x4C\x17\x41\x8B\xA9\x4F\xAA\xC4\x63\x22\xAE\xA5\xA1\x55\xB9\xA1\x8A\x4D\x6E\xA2\x3A\xAA\x3C\xAB\x31\x9D\xA7\xAC\xF8\x62\x38\x1E\xC1\x5C\x89\xAD\xA0\x89\xA5\xF1\x86\xEF\x78\x4D\x80\x29\x47\x66\x0F\x7F\x4B\xAB\x96\x13\xC2\xA7\x72\x88\x37\x3D\x70\x93\x09\x5C\x95\x76\xAA\x99\x24\x0D\x00\x5C\x95\x1A\x02\x57\xBD\x3F\xE4\x95\x12\x86\x5E\x9B\x39\x40\x5D\x97\xB5\x76\x81\xB1\x85\x4A\x9A\xF7\x95\x6A\x51\x0D\x03\x32\x36\x10\x0C\xAC\x92\x35\x96\x33\x62\x27\x71\x25\x66\x35\x0B\x24\xFD\x15\x08\x4E\xD3\x69\x12\xA0\x32\x1A\xA0\x2B\x88\xAF\x35\x9E\x3C\x7C\x91\x03\xBF\x6C\x6C\x6A\x15\x42\x6B\x32\xB3\xA9\xE7\x6F\x22\x92\x86\x4B\x16\xE1\x51\x3B\x8E\xE2\x68\x9D\x49\xBD\x71\x7B\x8D\x68\x55\x33\xB8\x2D\xBB\x62\xA6\x9B\xBB\x90\x3F\x39\xA4\x85\x40\xF9\x3F\x36\x4A\x21\x6C\xBA\x2A\xE3\x96\x0E\xA5\x92\x98\x30\x2C\x23\xBD\xAA\xEC\x69\xC3\x9D\x96\x9F\xF0\x8E\x66\xAE\x55\x13\x9E\x29\x95\xE8\x2A\xDC\x27\xE2\x95", -"\xCD\x93\xAD\x0D\x52\xF1\x53\x02\x5D\x44\x7D\xBC\x4E\xC0\x43\x83\x66\x08\x15\x57\xBA\x7D\xF1\x4C\x29\x5C\x15\x8F\xDF\x42\xE4\x57\x72\x7C\xE0\x2A\x5C\x16\x5C\x83\xAA\x8B\x5B\xCB\x86\x3D\x8E\x72\x76\xD0\x08\x88\x31\x95\xFE\x7B\xBE\x3D\x4B\x90\x25\x01\x59\x70\x29\xA5\x7C\x58\x93\xC5\x92\x8F\x93\x4C\x9F\x42\xA1\x65\x7E\x25\xBA\x7C\x49\x94\xD8\x9A\x69\x5A\x85\x8F\xA5\x8E\x4B\xA1\x29\x89\x93\x2E\x93\x99\x84\x99\x97\x47\x91\x43\x87\x53\xBF\x28\x92\x93\x10\x7C\x3D\x95\x65\x90\x2A\x9F\x43\x8B\x52\x82\x71\x2A\xA2\xF9\x0F\x70\x61\x9E\x54\x31\x62\x10\x0E\x8C\x49\xC6\x78\x64\x92\x62\xB3\x0F\xDB\x2D\x29\x56\x19\x78\x04\xAD\x60\x56\x55\x39\x03\xC9\x60\x84\x65\x27\xAA\x1A\x62\x8D\x6A\xC6\x1D\x94\x27\x02\x84\x91\x51\xA7\xD3\x6D\x1A\x6C\xA0\x34\xCE\x68\x69\xE9\x8E\xC5\x25\x00\x2E\xEB\x90\x01\x7C\x8D\x41\xA4\x47\xA2\xEC\x7C\xAE\x02\x81\x4F\xDD\x71\x10\x11\xF7\x4E\x45\xC9\x7C\x10\x04\x2C\x8E\x15\x77\xDF\x70\xE5\x78\xBD\x7B\xFB\x10\x04\xF3\x5F\xB0\xA1\x69\x41\xDF\x37\x1A\x53\x01\x36\xA3\x03\x02\xF6\x51\x52\x53\x57\xA2\xE3\x56\x85\x72\xCE\x01\xE7\x1D\x49\x87\x5E\x77\x38\x8E\x64\x0D\x7F\xEF\x7C\x23\xB9\x45\xCB\x06\x1A\x38\x79\x84\x00\x02\x91\x8F\xEF\x68\x45\xBB\x18\xB4\x7F\x93\x89\x72\x2D\x1B\x70\xF5\x7B\x10\xB9\xBD\x33\xFC\x5E\x4F\x15\x7F\xF5\x8B\xB7\x58\xC2\x0A\xF3\x68\x78\x44\xE2\x1E\x5E\x25\x7F\x9C\x5F\x2C\x71\xB4\x05\x8E\x75\x36\x54\xFB\x73\x5D\x91\x70\x55\x71\x47\x2C\x15\x71\x8C\x76\x7A\x52\xE4\x27\x46\x14\x72\x3C\xAE\x01\x88\x49\x9B\x8F\x7C\xB3\x9A\xE4\x24\x71\x7F\xAC\x75\x71\x24\x71\x15\x76\xF9\x45\xAE\x44\x5A\xF1\x71\xAE\x70\x45\xAE\x3E\x8A\x2C\x94\x8E\x6F\xB4\x88\xFD\x1C\x72\x7B\xAD\x80\x73\xD2\x7E\xEC\x55\x69\xA3\xB4\xB0\xE3\x18\x3C\xC4\x37\x44\xAF\xDB\x59\xCF\xA6\x99\x82\x51\xBC\xE3\x36\x45\xE6\x71\x9F\x5E\xD2\x7A\x73\x1C\xF4\x65\xB5\x94\x46\xB2\x06\x7F\x5C\xA8\x26\x49\x4C\xE5\x91\x9E\x2E\x79\xA5\xE9\x30\x9E\x37\x71\xC8\x74\x47\x9A\xA0\x94\xF4\x29\xA2\x6B\x4C\x73\x5F\x5C\x74\x3A\xA6\xA5\x59\x06\x0C\xF3\x80\x2B\x9F\xEE\x63\x8A\x06\x8B\x25\x5B\xD0\x9A\x7A\x69\x1D\x67\xDD\x4D\x2A\xA9\x77\x49\x9E\x02\x64\x55\x89\xA1\x90\x57\x89\x68\xAA\xD1\x0F\x9A\x66\x37\x38\x88\xAD\x7B\x0E\x0A\xC1\x37\xF5\x77\x85\x3C\x5C\xE9\x7B\x31\x7E\x1C\x57\xD7\x76\x93\x83\xF7\x47\x01\x9C\x80\x90\x8B\x3F\x81\x71\x6E\xE2\x60\xC2\x30\xED\x4F\xFB\x45\x6E\xAF\x7D\xF7\x8C\x6C\x7C\xDC\x79\x8B\x66\xF7\x44\xD8\x26\x6E\x88\x56\x7A\xAD\xB3\x7B\xBE\x78\x4F\x4A\xBA\x78\x5B\xEE\xA1\xC5\x7B\xFC\xAA\x20\x7E\xDD\xA2\x08\x8C\x89\x44\x02\xC3\x79\x49\xA5\xCC\x6C\x47\x96\xC0\x4F\x91\x82\x08\x21\x24\x81\x86\x66\xAC\xC3\x86\x2A\x94\x63\xAA\x92\x82\x3A\xAC\x24\x8B\x6C\x01\xAD\x44\x90\x4C\x96\xE3\xA2\x93\x9B\x3A\x84\x19\xDD\x8E\x80\x92\x69\x7D\x24\x97\x07\x98\x20\xB0\x66\x13\xC8\x55\x9E\x00\xA4\xAA\x02\x81\x48\xEB\x94\x92\x4A\x69\x8E\xCD\x56\x52\x34\x9F\xD3\x9D\xF3\x9D\x44\x63\xD2\x8A\x55\x99\x27\xB7\x32\x5E\x6D\x0D\x94\xED\x48\x07\x00\x3E\x8B\x9D\x22\x0F\x9A\x7A\x84\x98\x6D\x5B\x01\x6F\xA3\x73\x13\x6A\x1F\xAB\xBE\x35\x72\x46\x70\x14\xA6\xC4\x15\x32\x57\xFC\x51\x01\x1E\xE6\x41\x2F\x80\x61\x48\x4F\x68\x71\x93\x9E\x0A\x66\xCD\x48\x92\x31\x61\xEE\x4E\xD5\x73\x22\x62\x7E\x5D\x9A\x79\x7E\x4B\x50\x5B\x5F\x4D\x80\xF1\x70\x22\x85\xAB\x75\x4B\x4E\x02\x8F\x2F\x9F\x69\x9B\x4C\x62\x63\x44\x4D\xB5\xA8\xCF\x3E\x84\x49\xC3\x0C\x58\xA3\x60\x67\x60\x66\x77\xA2\x85\x57\x1E\x27\xA6\xFF\x6B\x59\x01\x8B\x3D\x6E\xEC\x78\x8D\x88\x35\x8D\x67\xAF\xFF\x52\x7F\xF1\x7F\x85\x89\x5C\x72\x9E\x8E\x50\x95\x27\xB8\xFF\x03\x88\x79\x73\x7C\x8A\xD0\x7F\x18\x71\x71\xAB\x19\x9C\x1F\xC3\xA4\x36\x00\x52\x90\x00\x04\xE9\x88\xE0\x79\xB8\xB0\x0E\xAA\x91\xE8\x8E\x20\x8D\xED\x6E\xE4\xA8\x72\x80\x3A\xB6\xF6\x60\x8E\x30\x38\x29\xA5\x18\x67\x0B\x57\x44\x97\x92\x82\xDF\x39\x00\x18\xA0\x65\x56\x97\xA2\xCC\x7B\x04\x68\xB3\x9E\x57\x8F\x73\xD0\x6F\x34\x7F\x7C\x2B\xFA\x66\x85\x5B\x22\xB3\xBF\x16\xA5\x6C\x0F\xC9\x9D\x7D\x52\x06\x02\x03\x0A\x9B\x46\x04\x46\xAF\x52\x9B\x12\x55\x4A\x8C\xEB\x98\xCE\x30\x6C\xA1\x3E\xD7\x81\xA3\x9F\xC1\x7D\xE9\x9B\x35\x0B\xAA\x78\x6C\x88\xEB\x1A\x9B\xAB\x9F\x9D\x8A\xD9\x34\x56\x78\xDA\x95\x0B\x83\xEF\x63\x49\xAC\x9B\x4D\x2B\x5E\x87\xB5\x9E\x41\x9E\xA5\x61\x06\x96\x67\xAF\x82\xD1\x80\xF1\x99\xF8\x98\x9A\x6A\x5F\xB1", -"\x06\xC9\x9F\xCB\x68\xA1\x99\xDC\x9F\x2D\x88\x1B\x8A\x5D\x9C\x5F\xB7\x9F\x6D\x9A\x46\x6F\x55\x9E\x3A\x62\xCA\x2F\xB1\xB3\x35\xF6\x77\x61\x9C\xDF\x97\x98\x9D\x77\x63\xDE\x5D\xDF\x67\x35\x81\x0F\xAD\x65\x53\xA5\x6C\x06\xC9\x80\x65\x66\x30\x52\x19\x81\x02\x54\x8D\xDF\x86\xF3\x83\xEC\x80\x3D\x80\xB0\x99\x19\x86\xA8\xD4\x89\xE4\x84\x44\x7F\x13\x7C\x2B\xAE\xEC\x69\xD2\x77\x54\x86\x50\xE5\x43\x49\x01\x6A\x8F\x0B\x7E\xBC\x92\x1D\xD1\xAD\x59\x86\xE2\x71\xDA\xAE\x6C\x3F\x2C\xBA\xEC\x76\x00\xD3\x9F\x2E\xB0\x35\x81\x0D\x07\xFA\x99\xFD\x94\x7E\x8D\x37\xB5\x33\xBD\x97\xFC\x77\x13\x86\x82\x90\xEA\x85\xC0\xAA\x67\x67\x7A\xCF\xAB\x8D\x52\x7A\x98\x26\x05\xFE\x92\x26\x76\x00\x68\x9F\xE1\x5C\x77\x78\x7B\x98\x9E\x7F\x4D\x4E\x7F\xB8\xB0\x1E\xAB\x48\x32\xF9\x9C\xD6\x5D\x05\x1B\xF8\x75\xEB\x7F\x1F\x2F\x99\xE2\x61\x74\x3E\x5E\x7B\x5E\x8B\xD4\x7E\xEB\x76\x4E\xC0\x80\x7C\x80\x24\x81\xBC\xAB\x14\x80\x08\x85\x05\x81\xF6\x62\xB0\xE0\x3C\x12\x83\x2A\x82\xBE\x31\x05\x90\xC9\x6D\x61\xE0\x9F\xBC\x7E\x34\x81\x0C\xB4\x12\x86\x0B\x8A\xCF\x41\xC5\x0E\x81\x9D\x7A\x2B\x81\x2F\x87\xA5\x94\xCD\x80\x03\xB6\xD0\x7A\xA5\x43\x11\x7E\x6F\x7F\x73\x06\x01\x70\x6A\x12\x13\xFE\x7B\xA5\x07\x6F\x0F\x64\x8D\xA8\x78\x2E\xB3\x73\x7F\x56\x4C\xF4\x00\xCD\x8F\x8C\xA6\x4F\x48\xFA\x86\x8A\x93\x39\x80\x56\xD7\x82\x8E\x91\x44\x91\x4C\x95\x7B\x31\x3D\xB0\x25\xBC\x72\x32\x89\x33\x01\xD8\xA7\x40\x03\x76\xA8\xED\x12\x9F\xA6\x53\x5A\xA7\x7D\xA6\xFB\xA6\x6B\x58\x7F\xA0\xFA\x3A\x9F\xA1\x4F\x96\xA7\xE3\xA6\xCF\xA6\xFA\x24\x70\xAD\x8F\x22\xA0\x9C\x80\x09\xA7\xCB\xA7\x02\xA9\x10\x77\x78\x87\x40\xA1\xA2\x81\x61\x9F\x90\xC9\xA9\x6A\x16\x30\xAC\x96\xA4\x4C\xB3\x01\x06\x53\x82\x02\xC8\xA9\x4B\xAB\x8E\x6E\x51\x31\x4D\xAC\xA5\x99\x50\xD0\xA9\xB0\xA8\x3B\x97\x7F\x2A\x96\xA4\xAE\x1B\xA6\xBF\x62\xDF\x91\xCD\xB1\x61\xB0\xDD\x07\x8A\xA2\x03\x06\x7B\x80\x00\x3A\x9A\x32\xAB\x38\xAA\x20\xAF\x8C\xAF\xFA\x29\xA3\xB5\x62\xE3\xB1\x3E\xA8\x3D\xA9\x1D\xAC\x8F\xAF\xB1\x33\xA5\x9B\x63\x96\x03\x55\xB1\x5D\x23\x0F\x61\xFC\x63\x47\x88\xBF\x60\x59\xF9\x9F\x09\x02\x33\x61\xF8\x68\x0C\x75\x20\x39\xAD\x03\xFA\x26\xAF\x0F\x49\x7E\xB3\x7E\xA8\xD0\x70\xE7\x5B\xF1\x3D\xDF\x72\x0E\xFE\xB1\xA2\xA9\x07\x8C\xFF\x60\x21\x28\xC8\x9C\xB4\x50\xAA\x66\xA8\x1F\xAA\x4D\xA9\x22\xB0\xF2\x92\x01\x2B\x23\x86\x02\x17\xB3\xB0\xA9\x2B\x9F\x12\xB3\x4E\x4B\xA3\x8E\x51\xE7\x15\x47\xA9\x52\xA8\x45\xB0\x71\x6E\xD0\x5E\xA3\x8A\x0B\x19\x07\xBF\x03\x22\xA8\x14\xAD\x14\x27\x32\x32\xC7\x9B\x40\xE5\x00\x5D\x15\xFE\x9C\x85\x1B\x20\x0B\xDB\x04\x0C\x62\xEF\x6E\x62\x87\x17\x15\x13\xB7\x07\xC0\x17\x0A\x1A\x77\x1E\x3D\x13\xA0\x40\x28\x84\x13\x4E\xB7\x24\x09\x0A\x1E\xC9\xA4\x05\x70\x47\x42\xB2\x68\x0B\x81\x1B\x15\x06\x94\xAC\x0A\x1C\x91\x49\xB2\x23\x0D\x03\x1D\x2B\x05\x29\xB2\x13\x05\xE1\x50\x65\xAC\x0C\x07\x1D\x57\x00\x55\xB4\x24\x05\x08\xB7\xCA\xB3\x18\x07\x1C\xE1\x54\x9A\xB3\x51\xB3\x93\x78\x03\x1E\xCA\xB9\x0A\x07\x1C\xB3\x01\xAD\xB3\x48\x02\x16\xA6\x96\xA3\x0E\x07\x38\x35\x01\x6A\xB2\x91\x01\x86\x95\x2D\xBA\x14\x07\x70\x37\x02\x71\xB2\xFF\x01\xE5\x4A\xCB\x0C\x55\x07\xE0\x19\x05\x38\x65\xE3\xA1\xC7\x99\x2F\x24\xC6\x9B\xB6\x27\xE0\x1B\x05\x38\x65\xF8\xA1\xB0\x16\x9C\x12\x79\xA8\x7A\x17\xE0\x1D\x05\x38\x65\x80\xA2\x60\x11\xFB\xA9\x62\x0F\xC0\x1F\x0B\x18\xCB\x97\x44\xB9\x05\x74\xB2\x90\x03\x81\x19\x18\x08\x97\xB0\xB0\xB5\x37\x56\x12\xD6\x05\x03\x1F\x30\x06\x32\xB4\x62\xA9\x86\x42\x1D\x21\xB3\x27\x03\x62\x00\x5E\xB7\x28\xAD\xCA\x1C\xF7\x63\x1C\x07\x1C\xC7\x00\xBC\xB2\x92\xAB\x0D\x07\x9A\xB4\x3B\x07\x38\x49\x01\x7F\xB2\x2E\xAD\xBB\x86\x0D\x1F\xCB\x0D\xC3\x47\x38\x4B\x01\x78\xB3\xC1\xA3\x19\x00\x95\x89\x49\x96\x20\x07\x38\x4D\x01\xC1\xB2\xC6\xA0\xD4\x20\x31\x16\xF3\x93\xCC\xA7\x04\x4F\x01\x78\xB3\x3D\x75\x04\x10\xDC\xAC\x18\x07\x70\x11\x03\x32\xB3\xB1\xA3\xDA\x06\x62\xB5\x08\x76\x27\x07\x70\x13\x03\x39\xB3\x1B\x7E\x82\x5C\x71\xB2\x1C\x71\xB1\x07\x70\x15\x03\x78\xB2\x23\xAA\xF6\xA2\x74\xA4\x9B\x1E\x80\x06\xCE\xA7\x04\x57\x01\x87\xB2\x8D\x91\x5E\x90\xA8\x18\x79\x67\x70\x19\x03\x24\xB3\xDE\x4F\x7B\x83\x0A\x14\x50\x77\xE0\x1B\x06\x18\x67\xF4\xA4\x2B\x0A\x9C\x13\x48\x7F\x35\xB7\x12\x1D\x06\x09\x67\xB8\x72\xD6\x13\xE1\x11\x29\x64\x31\xB7\x12\x1F\x06\x07\x68\xE1\x99\x82", -"\xAF\x18\xA6\xD8\x03\xD1\xA5\x97\xA7\x09\x21\x03\x71\xB3\x4D\x95\x18\x8C\x7D\xB2\xC5\x77\xE0\x03\x07\x38\x65\xAA\xAF\x60\x7D\x3D\x3D\x42\xAC\xCD\x7C\x45\x9D\xCE\xA7\x04\x65\x01\xFF\xB3\x9F\xAF\xAF\x91\x06\x09\x99\xB3\x7D\x40\x00\x67\x01\x18\xB4\xBF\x51\x7F\x1A\xCE\x68\x9A\xA9\x08\x29\x03\x78\xB2\xC0\xAF\xFC\x0D\x6D\xB2\xF0\x07\xE0\x0B\x07\x31\x68\xF1\x53\x45\x6C\x3B\x1B\x06\xB4\x40\xB9\x10\x0D\x07\x38\x68\x82\x51\x0B\x4A\xA1\x13\x2F\x67\xC0\x1F\x0E\x1F\xD0\x91\x3F\xE7\x7A\x88\x12\xE3\x9B\x81\x19\x1E\x0F\xA3\xA2\xC2\xB9\x9C\x42\x0E\x39\x4F\x03\x1F\x3C\x05\x33\xB1\x07\x8F\x3D\x1C\xA2\x1A\x81\x0C\xB5\x84\x01\x3D\x00\x3F\xBA\x07\x7E\xD9\x4B\x70\x0D\xB1\x02\x0F\x03\x1F\x3D\x04\x4B\xB0\xAC\x5C\x44\xB6\x31\x1C\x91\x9B\xB1\x03\x1D\x3E\x07\x31\xBB\xC9\x73\x01\x2D\x68\x87\x1C\xFB\x00\x3A\xB5\x31\x7F\x4E\xB7\x12\x1D\x07\x3A\x69\xDD\x8B\x35\x00\x3E\xB5\x84\x1F\x4F\xB7\x09\xB6\x01\x02\x6A\x86\x02\x72\x4A\xB6\x1C\x53\x05\x13\xB1\xBA\x0F\x25\x87\x38\x03\x00\x2B\x1C\x9C\x1E\x23\xAB\x9B\xAD\xC0\x06\xC9\xA7\x01\x6F\x15\x07\x1C\x08\x01\xA4\xB4\x2C\x03\x52\xB5\xA7\xAD\x67\xE9\xB4\x3F\x05\x4D\xB5\xF5\x01\x42\x34\x52\xA9\x2C\x1F\x6A\xC4\xB4\xA4\x06\x51\xB6\x4C\x03\xA5\xAF\x8E\xAD\x03\x15\x6A\xEE\xB1\x75\x07\x03\x1E\x05\x02\x55\xB7\xD2\x1E\xA9\x85\x55\x8E\x10\x04\xB3\xA5\x07\x81\x18\x03\x04\xAB\xA3\x09\x10\x64\xE2\xAA\x3E\xA8\xC4\x12\xA5\xB5\x95\x97\xE0\x1A\x00\x3D\x6A\xA2\x02\x6D\xAA\xE8\x17\xA9\xB1\x4C\xB6\x10\x1C\x00\x07\x6B\xFF\x01\x80\x01\x7B\x03\xA0\xB5\xC1\x17\xE0\x11\x78\x33\x64\xD7\xB5\xD8\xB5\x6C\xB6\xB6\xB3\x5B\xBC\xAD\xBD\xD6\x9E\x6B\xDF\xB5\xE0\xB5\x70\xB4\xB6\xB7\x1F\x01\xF1\x1F\x07\x34\xC5\x00\x00\x3B\x1D\x6C\xB7\xC6\x18\x5B\xB0\x95\x07\x70\x35\x55\xB1\x26\xE0\xB4\x72\xB5\x83\x1A\x1F\x1E\xE3\x02\xD7\xB6\x6B\xF7\xB5\xF8\xB5\x6B\xB6\xBC\xB1\xC2\x1F\xA3\x1C\x3F\x19\x6B\x90\x09\x3F\x15\x7A\xB4\xB6\xB7\x5D\xB0\x34\x3F\x51\x1E\x70\x5E\xB5\x97\xB3\xE1\x03\x8F\x10\x1D\x06\xAD\xB7\xD6\xB1\x27\xBF\x14\xB8\x01\x86\xB7\x4C\xB1\x43\x9F\xA3\x16\x05\x12\x6C\x94\x1C\xB2\xA1\x1F\x14\x2D\x07\x62\xB0\xE1\x03\x3D\xBF\x28\x32\x01\x1C\xB6\x06\x1D\x21\xA7\x47\x12\x00\x09\xD7\x97\x6B\xF6\x8B\x3F\x14\x74\xB7\xB7\xB4\xD0\x8F\xA3\x1E\x07\x21\x6C\x88\x1C\x76\x8B\x1F\x14\x3F\x07\x65\xB7\xE0\x0B\xAC\x7F\x28\x30\x01\x34\xB7\x7A\x1F\x25\xA5\xD6\x47\x12\x0E\x05\x39\x6C\x80\x4C\x97\xA1\x37\x20\xB6\xB5\x81\x1D\xC6\x31\xCA\xBA\x6C\x9F\xA6\x3C\x34\x5F\x0F\x81\x1F\x06\x20\x07\x00\x6A\x3A\x90\x13\x29\xF0\x47\x7D\xB5\x85\x1B\x16\x1E\xAF\xA3\xDA\x87\x6D\xA6\x1C\xE0\xB4\x82\xB7\xCA\x26\x60\xBF\xB3\xBF\x75\x39\xDB\x11\x18\x02\x02\x86\xB7\xB7\xB7\x61\xBA\x45\xBD\xDA\x92\x1B\x20\x95\x30\x01\x8A\xB6\xD9\xB3\xF1\x87\x09\xB9\x01\x1A\x6C\xEB\xB6\x23\x91\x4B\xA0\x0E\x07\x63\xB0\xB7\xBA\x49\x97\x42\xB7\x00\x24\xB6\x93\xB7\x4C\xB0\x65\xBB\xB4\xAB\xD9\x9B\xF2\x35\x00\x2D\xB7\xBA\xB5\xCC\xB7\x24\x03\xB3\xBE\xDB\x93\xD7\x33\x00\x37\xB6\xC1\xB7\x1C\xA7\x47\x1E\xB3\xA6\xDC\x9D\x17\xC2\xB6\xD7\xB4\xA2\xB4\x67\x6D\x66\xBB\xC9\x70\x01\x0A\x6D\xBA\x1D\xA0\x1C\x81\x00\x4F\x00\xA8\x1D\x42\x4B\x9E\x30\x8F\x7A\xB5\xE5\xB4\xFE\x0C\x1C\x0F\x5F\xB7\xB5\xBF\x71\x19\x6D\xDA\x95\xFD\x9E\xAE\xB7\xB7\xB1\x61\xBA\x14\x0B\xD8\xB5\x6D\xE4\xB6\x09\x03\x88\xB7\xD8\xB0\x6D\xBA\xB6\xAE\xDC\xAD\x6D\xEF\xB6\xB6\xB6\xA4\xB4\x26\xA4\x6E\xB9\xBB\xAA\x9A\x93\x20\xF9\xB6\xBD\xB6\xD2\x93\xED\x89\x65\xBA\xB7\xB8\xD8\xBF\x6D\x81\xB7\xC1\xB6\xDB\x8F\x89\x82\x66\xBA\xB8\xA7\xDC\x89\x6E\xC9\xB7\x12\x84\x9E\xB5\x42\x05\x71\xBE\xAD\xBC\x22\x7F\x28\x2C\x01\xCD\xB7\xEE\x8B\x18\x20\x5B\xBC\x89\x55\x6B\x5B\x82\x2A\x40\x07\x1C\x99\x44\x4D\xB5\x5C\xB5\xF6\x33\x45\x24\x6E\xC0\xB6\x19\x1D\xD3\xB4\x7E\x99\x75\xB7\x12\x07\xD8\x9D\x6B\xAC\xB7\x20\x02\xD7\xB7\xEC\xB0\x40\xB7\xB6\x51\x01\x10\x6C\xAF\xB7\xB4\xB7\x5A\x89\xF6\xB7\x76\xBE\x84\x7B\xDF\xBA\x6E\xF3\xB6\x27\x02\x90\xB4\xF4\xB5\xD8\x80\xBC\xB5\xDE\x9B\xF2\x36\x00\xC4\xB7\x01\xB8\x03\x38\x70\xB8\xBB\x9E\xDF\xBE\x6E\x9C\x79\xCC\xB6\x05\xB8\x6A\x6F\x79\xB6\xC0\xBD\x83\x8C\x6E\x8E\xB8\xC2\xB7\xB3\x57\xF5\xB0\x83\xBA\xBC\xA8\x0E\x59\x6B\xA8\x89\xF0\x40\xFE\x05\xCD\x90\x1C\x48\x95\xB8\xBD\x02\xF0\x11\x2E\x3C\x1D\x72\xB6\x43\xA8\xC8\x09\xAD\xAE\x31\x01\x6C\xEA\xB7\x28\x26\xCA\x26\xEA", -"\xB0\x61\xBF\xCB\x20\xDB\x81\x04\x62\xB6\xDE\xB4\xD8\xB6\x41\x02\x76\xB9\xC3\xB9\xDF\x89\x04\x16\xB6\x12\xB9\x15\x90\xEE\xB5\x82\xBD\x5D\x80\xE0\x89\x04\x02\xB8\x44\xB9\xBB\xB5\x01\xBD\x5B\xBC\xB7\xB8\xDC\x9B\x6B\xAC\xB6\x0D\xB9\x20\xBB\xF2\xB4\x70\xBC\xC1\xB2\x10\x88\x6E\xA7\x02\x38\xB6\x29\xB9\x0F\x7F\x82\xBA\xC5\xB6\xDF\xA7\x04\x58\xB7\x5A\xB9\x31\x22\xD4\xB4\x26\xB4\x6A\x09\xD9\x98\x6B\xAE\xB8\x8E\x23\x6E\xB6\xD6\xB0\x6A\x23\xC3\xAF\xDF\xB5\x70\xAE\x94\x03\x02\x1C\xB9\xB7\xB2\x87\xB3\x10\x1C\xE1\xB3\x71\xBE\xB8\xB2\xA7\x2A\xBA\x5C\x36\x6D\xBD\xBF\xBA\xE2\x86\x71\x86\x02\x48\xB8\x26\xBB\x26\x78\x6F\xBF\x60\x05\xDE\x9D\x6C\x87\xB8\x09\xB9\x24\xBA\xEE\xB4\x81\xB9\x10\x0E\xD9\x9A\x71\xB4\x00\x11\xB8\x45\xBB\x03\xBF\x8A\xB9\x10\x19\xE2\x92\x72\x99\xB8\x5B\xB9\x9E\xB6\x1E\xBF\x57\x9B\xC1\xA1\xE3\x9B\x6B\xE3\xB8\x02\x03\x7F\x00\xE4\xB1\x09\x1F\xAD\xA0\xD8\xA9\x71\xDC\xB5\x6B\xB8\x30\x15\xFB\xB5\x6E\xB0\xBF\xAE\x03\x32\x6F\xBD\xB8\xF4\xB7\x51\x97\xFD\xB3\x7E\xBA\xA2\xA9\x48\xB5\x6E\x97\xB9\x1D\xB8\x3E\xB9\x42\x03\x63\xBE\xC7\xBC\xDD\xB8\x72\xF3\x8F\x4B\xB8\x6E\xB5\x13\xB8\x51\x22\xC8\xBC\x11\x88\x6F\xBF\xB9\x72\x32\x48\xB8\x15\xBA\x8B\xB4\xC9\xA6\x08\x16\x72\xC5\xB9\xDD\x8A\xE9\xB6\x41\x04\x7A\xB0\xCD\xA1\xDA\xA7\x6F\x98\x18\x45\xB7\x12\xB8\xFA\xB7\x81\xB6\xB9\xB8\xD6\x8C\x6D\xA1\x20\x7F\x29\xA8\xB5\xB9\xB2\xBC\x4C\xD6\x1D\xD6\xB0\x11\x2F\xB8\xDF\xB5\x54\xBA\xCC\x05\x8D\xBC\xAD\xAD\xE5\xAF\x72\xF7\xB8\xB1\xB9\x7D\x3F\x2C\xB8\x96\xB5\xCB\xB7\x47\xB7\x72\xD5\xB9\xBA\xB6\x5D\xBA\x41\x04\x97\xB8\xCC\xAC\x3C\xBE\x72\xF8\xB9\x0F\xB8\x42\xB8\xA4\x1E\x90\xB2\xB2\xA8\xE4\xBD\x6D\xFD\xB9\x7A\x85\x63\xB8\x40\xB8\x93\xBA\xCC\xA9\x08\x05\x6E\x88\xBA\xEA\x6A\x0A\xBB\x42\xBD\x83\xB2\xCD\xA3\x08\x14\x73\xC2\xB9\x9B\x78\x2F\xB9\x42\x00\x8C\xB0\xD1\xA9\xDA\x98\x6B\x8F\x19\x81\x14\x46\x25\xF4\x02\x7C\xB8\xAD\xBB\x5B\x02\x83\x38\xB2\x15\xB4\x9C\x37\x09\xB9\xC7\x20\xCA\xBD\x7A\x0A\x98\x2E\x17\xDE\xB4\x53\xBB\x94\x18\x86\xBE\x92\xB2\xE1\xAB\x72\xAB\xB7\x6F\xB8\xD9\x4A\x41\x02\x8E\xBC\xAD\xB4\xE3\x82\x04\x76\xB8\x3D\xBA\x3C\xBB\x28\xB3\x93\xB5\x8C\x83\xE2\x93\x74\x92\x84\x7F\xB9\x81\x01\x20\xB8\xA3\xB3\x5D\x62\xE8\xBC\x35\x04\xBA\x30\xB6\x83\xBA\x13\xBA\x5B\xB0\xC5\xAD\xE4\x84\x75\x9B\x84\x91\xB9\xA3\xBA\x5C\x35\x99\xB3\x10\x0F\xE6\x8C\x75\xD1\xB9\x5C\xB9\x8E\xBA\xD3\x55\x93\xB2\xD6\xBB\xDE\x97\x6B\xFA\x1B\x9A\x08\x0F\x0B\x50\xB2\xA5\xB8\xB8\x97\xC1\x2D\x74\xBC\x1C\xD1\x8F\x72\xB8\xB7\xB7\x9C\xB7\xCA\xBB\xD6\xAA\x73\xD2\x15\x37\xBA\x1A\xB8\x36\x98\x8E\xB1\xB6\xB8\xDF\xB1\x73\x9A\xBA\x3B\xB8\xBF\xB9\x3D\xBC\x1C\x97\xCF\xBF\xEA\xBC\x6F\xBB\xB9\x57\xBB\x8C\x01\x52\xBA\x20\x0B\xD4\xAF\xE2\x83\x72\xC1\xB9\x8E\xBB\xE9\x68\x02\xBF\xA0\xBA\xD5\xAB\xE0\x8A\x74\x86\xBB\xBA\xB7\x86\xBA\x41\x07\xA1\xB5\xD9\xB3\xE0\x98\x71\x89\xBB\x99\xB9\xE9\xB4\x68\xB8\xB0\xB3\x10\x1C\xE8\x9D\x76\xCF\x34\x97\xB7\x6D\xBA\x4E\x94\x4D\x1B\x97\xA1\x83\x24\x74\xD7\xB5\x26\xBB\x66\x43\x5A\xBD\x6F\x3B\xD2\xA0\xAD\x2F\x75\xFF\x01\x94\x21\xB0\x16\x39\xBD\x74\xB2\xB0\xB7\xD6\xB7\x75\xA4\x59\x06\x02\xF7\xB5\x3B\xB9\xA7\xBD\xA2\x29\x08\x3C\x74\xDB\xB5\x3E\xBB\x80\x00\x50\xB8\xB9\xB2\xD4\xA2\x08\x00\x71\xE2\xBA\xFA\xB9\x81\x00\x3F\xBF\xB4\xBA\xD8\xBF\xE7\x98\x76\x81\xBA\x90\xBA\xAA\xBA\x54\xBC\x98\xB7\xDD\xB8\xE4\x8C\x72\x86\x02\x8E\xB8\xB1\xBA\x66\xBB\x20\x0C\xD9\xBD\xEE\x9D\x70\xDC\xBA\x02\x02\xAF\xB9\x64\xB8\xAC\xBA\xC9\xBD\xE2\xA4\x75\xD4\xBB\xC8\x43\xD4\xBB\x32\x5A\x92\x7C\xA6\x0A\x95\x2D\x41\x2F\xBB\x33\xB3\xD8\xB8\xA5\x2A\x29\xB6\xC2\xAD\xEB\x91\x5C\x37\xBB\x36\x4D\x9E\x08\xB8\xB0\x8D\xB3\xD3\xA9\xE7\xA8\x6E\xF9\xAA\xEC\xB9\x6D\xB6\x3B\xBF\x24\x07\xDC\xBA\xD6\x89\x77\x80\x00\xCB\xBA\x07\xBD\x73\xB9\x20\x0F\xDC\xB0\xEF\x91\x77\x82\x02\xD3\xBA\xF3\xB8\x52\xBE\xBA\xBB\xDE\xAA\xE2\x85\x72\xDA\xB8\x93\xBB\xA9\xB9\xB6\xB5\xAA\xB0\xDE\xA0\xED\xA3\x77\x82\x02\xE5\xBB\x0E\xBE\xEE\xB0\xBD\xB1\x10\x0A\xEF\x9A\x77\x96\xB8\xED\xBA\xB1\xB8\x69\xBA\x20\x06\xDA\xBA\xF0\xB4\x96\x29\xB8\x0D\x1C\x57\x22\x9C\x6D\x5B\xB4\xE0\xB7\x78\x06\x78\xEB\xB7\x08\xBD\xBC\xBA\x1B\xBB\xAF\xBA\xD3\xB1\xE3\x82\x76\xE7\xB6\xAC\x95\x79\xB8\x3C\xBB\xB0\xB1\x90\x85\xEC\xAA\x78\x8F\xB8\x17\xBD\x80\x01\x86\xBF\xC9\xB8\xC9", -"\xAB\xEC\x81\x04\x0D\xBB\x2F\xBD\x6E\x8D\x76\xBB\xC4\xBB\xDD\xA8\x7B\x30\x77\xDF\xBB\x03\x03\xF0\xB8\x7C\xBF\xC4\xB1\x10\x09\xF1\x99\x79\x97\xA1\x2C\xBC\x00\x02\x8B\xBC\xCB\xB0\xE3\xA2\xED\xAE\x77\xDF\xB8\xA0\xBA\x18\x03\x3F\x03\xC7\x1F\x0F\x19\x85\x12\x2F\x3C\xBC\xBC\xBA\x9A\xB8\x34\x21\xF7\x26\xD3\xA9\x08\x02\x77\x8A\xBC\xC4\xBB\x19\x0F\x3B\xB9\xA8\xBF\xD7\xAA\xF2\x84\x7A\xCC\xBC\xE9\x3C\x27\xBF\x99\xB9\x9F\xB6\xD4\xB6\xF1\xBE\x73\x81\xB8\xA0\xBA\xA7\xB8\xA8\x18\xAA\xB4\xB9\xB2\xEC\x89\x72\xDF\xBC\x97\xBA\x2A\xBD\x07\xBC\xCC\xB0\x00\x06\xF3\xAC\x79\xDD\x8B\x69\xBD\x35\xBF\x47\xBB\x71\xB1\xE3\xB0\xEF\xB3\x78\x81\x02\x35\xBC\x4D\xBE\x84\x82\xCE\xB6\xE7\xA2\x03\x9D\x6B\xB2\xBA\x3E\xBC\x6F\xB7\x6F\xB9\xC1\xBA\xAD\xAB\xF0\x86\x77\xC7\xBC\xE6\x0C\xED\x93\xA9\xB8\xC2\xB8\xEB\xB0\x3A\x1A\x27\xE9\xB6\xFA\xB6\x2D\xB9\x94\xB8\x00\x03\xE5\xAB\xF4\x8F\x70\xD6\xBC\x00\x00\x2C\xBF\xA7\xBE\xC3\xB3\xD0\xA0\xF1\x97\x7A\x8E\xBD\x09\xBB\x28\xBA\x78\xB9\xAB\xB0\xED\xB1\xE8\x9F\x76\xDA\xB8\x15\xBA\x81\x03\x45\xBA\xD5\xBF\xB5\x4F\xEF\x95\x7B\xBC\x34\x3F\x14\x55\x01\xDD\xB7\xB5\xB7\xDB\xA0\x87\x3E\xC0\x5D\xB5\x4D\x14\x74\xBA\xAC\xBF\xC0\xB1\x33\x34\xF5\x99\x6B\xB6\xBD\x3B\xBB\x5E\xBC\x2D\x12\xD7\xB6\xE8\xAC\xEE\xB1\x73\xC0\xBD\x3F\xB8\xD0\xBB\xB0\xBD\xD8\xBB\xEC\xBF\xDF\x9C\x78\xC6\xBD\x98\xB8\x49\xBF\x87\x1C\xD2\xB5\xBA\xBD\xE0\xA1\x78\xDC\xBB\xDC\xBC\xCB\xBA\xB4\xBB\xCC\xB4\xED\xA9\xF8\x9E\x76\x95\xB9\xA0\xBB\x6C\xBD\x40\x03\xDB\xB0\xF0\xBD\xE0\xB1\x00\x37\xBB\xEC\x21\x13\x7B\xAB\xB9\xCF\xBF\xE3\xB1\xE1\xAC\x6F\xFE\xBC\xAC\xB9\x40\xBD\xAE\x03\xD0\xB6\xEF\xA8\xF4\xBB\x7A\x91\xBC\xD9\xB4\x8A\xB5\xB0\xB8\xBA\xBD\xE8\xAE\xF8\xAE\x05\x48\xBD\xCA\xBD\x51\xBD\x53\xBB\xCB\xB2\xF3\xBD\x2E\x87\x7C\xDE\xBC\xDF\xBC\x29\x85\xA6\xBD\xE2\xB2\x21\x9C\xF4\x9E\x7A\xB5\xBE\x68\xBC\x89\xB9\xCE\xBA\xE2\xB0\x00\x14\xF8\xBD\x7B\x8F\xB8\xBB\xBD\x54\xBC\xCF\xBC\xB6\x41\xEE\xA3\xF7\x81\x38\xB7\xBB\xF4\x21\x96\xB0\xB7\xB5\xC7\xBB\xC2\x1A\xF3\x97\x43\x7C\xBC\x1F\xBF\xE0\xB9\xC8\xBC\xC8\xB5\xDC\xB1\xF7\xB4\x72\xC8\xBC\x2B\xB5\x7A\xBE\x84\xBF\xDE\xBA\xE8\xA7\xFA\x98\x72\xFB\xBD\xA0\xBA\x98\xBD\xA4\xBC\xE6\xB7\xB2\xBD\xF2\x99\x6E\xE2\xBA\x60\xBC\x81\x02\x98\xB9\xE7\xBE\xF3\xA0\xED\xA1\x7A\x91\xBE\x61\xBA\x53\xBE\xB7\xBE\xE5\xBC\xA3\x37\xED\x8F\x59\xD6\x44\x78\xBC\xD5\xB9\x6F\xBB\x26\xB3\xEB\xA2\xF2\x83\x77\xDC\xBE\x82\xBC\x06\xBE\xBC\xB9\xC3\x05\xAC\x82\xFB\xA9\x7C\x93\xBC\x00\x01\x0A\xBD\xCE\xB8\xED\xBD\xCB\xB0\xF4\x9A\x71\x82\xBE\x2C\x1C\x82\xBE\x6A\xBE\xE0\xBF\xEC\xBC\xFB\xBA\x7C\x8B\xBE\x74\xBF\x86\xBF\xD2\xBB\x92\x72\xF4\xBE\xFC\x84\x7D\xC6\xBE\x40\xBE\xDD\xB5\xD2\xB9\xCE\xB7\xDB\xB4\xF5\x36\x64\xB1\xBA\x1C\xBF\x75\xBC\x90\xBD\xDD\xB6\xF8\xA0\xF4\x88\x7E\xA3\xBE\x8A\xBF\xAF\xBD\xAE\xB9\xC9\xB5\xB6\xBA\xFD\xBE\x7A\xDF\x56\xF8\xBD\x3C\xBA\xB0\xBD\xE5\xB3\xFA\xB3\x3C\xBF\x7B\xE6\xBE\x1D\xB8\xCC\xBC\xBA\xB2\xF3\xB3\xDF\xBA\xDD\xB7\x7C\xEF\xBE\x98\xBC\xD0\xBE\xE7\xBD\xEE\xBC\xCC\xA5\xFD\x85\x7F\xEB\x56\x79\xBF\x9C\xBF\xEA\xB9\x8C\xBD\xF4\xBF\xD6\xA4\x74\xB7\xBB\x85\xB0\xF1\x22\xB7\xB4\xEA\xB9\xBE\xBD\xF8\xB5\x74\xD9\xBE\x03\x03\x3F\xBD\xAD\xBA\xE4\xBA\xB0\xB9\xFD\xB4\x73\xE0\xBE\x8D\xBF\xDE\xBF\xFB\xBB\xF7\xBF\xAB\x81\xFE\x83\x75\xC3\xBF\x7D\xB8\xB1\xBA\xDA\xBF\xF2\xBC\xF6\xBB\xDB\xAE\x7D\xA9\x1D\x70\xBF\x9D\xBC\xF2\xBD\xE7\xB2\xFA\xA3\x00\xDB\x75\xD6\xBF\x06\xC0\x14\x79\xF6\xBE\xF3\xBB\xFD\xA5\xEB\xB7\x76\xC5\x00\xE2\x09\xC0\xBD\xF3\xB8\x6B\xB6\xFE\xBB\xF3\xAF\x64\xEE\xBD\xD8\xB4\x78\xBE\x91\xBE\xF7\xB3\xEF\xBC\xFD\xB1\x6E\x8B\xBF\xBF\xBD\xB2\xBD\xEA\xB8\xCA\xB4\xFC\xA9\x00\xC6\x7F\x96\xBF\x62\xBA\xE5\xBD\xC9\xB6\xD9\xB4\xD9\xB9\xF9\xB1\x7D\x81\x02\x73\xBF\xE9\xBD\x01\xC3\x04\xC8\xC9\xB7\xFB\x98\x7B\x8B\xC0\xD7\xBE\x0D\xB8\x9C\xBE\x93\xB8\xAF\xB7\xED\xA3\x01\x62\x06\x1B\xBE\xC1\xBE\xD5\xBC\x2A\x20\x7E\x3D\xF3\x9A\x7D\xB8\xBA\xB7\xBF\xF6\xBF\xAD\xBC\x03\xCC\xF8\xBE\x21\x67\x7C\xA0\xC0\xC0\xBE\x11\xC1\xDB\xBB\xBA\x64\xF9\xBA\xFF\x87\x7F\xB4\xC0\xC9\xBF\xFE\xBE\xF1\xB6\xD2\xBD\x02\xDE\xFC\xAF\x80\x80\x00\x31\xC1\x1C\xC0\x04\xBB\x99\xB2\xD6\xB6\x01\xE2\x75\xA7\xBF\xA3\xBB\xBD\xBE\x18\xC6\xFE\xB2\x10\x02\xF7\x9E\x7F\x81\x9C\xE3\xB7\x06\x1F\xB9\xB2\xBE\xB4\xE1\x14\xEB\x85\x78", -"\xB2\xBF\x1E\xBF\x20\xBC\xC8\xB8\x09\xCA\x07\x76\xE1\x80\x00\x0D\xBC\x8F\xBF\x42\xBE\xFC\xBB\xC9\xB0\xFF\xB6\xE7\xAB\x7C\x96\xBC\x25\xC0\x2C\xC3\x86\xB8\x05\xC0\xDF\xAA\x01\xCC\x7F\x92\x79\x85\xB5\xCE\xBE\x18\xC7\x0B\xC1\x06\xC6\x01\xD8\x75\xE4\xC0\xF0\xBA\x33\xC0\x7C\xB8\x0D\xCF\xE6\xBB\xE8\xB1\x79\xB4\xB6\xED\xB5\xFE\xBA\xE7\x94\xD3\x29\xAD\xA8\x4C\x00\x84\x40\x08\xB3\xBA\x8E\x3D\x6D\xBC\xBD\x27\xDB\xA5\x62\x74\x81\x90\x1C\x76\xC1\x58\xBE\x1A\xBC\xDD\xB5\xB0\xB5\xFD\xAB\x7F\xC9\xC0\xAD\xB6\xF7\xBC\x21\xC4\xFE\xB1\xFF\xBF\x00\xCC\x81\xA1\xC0\x87\xC1\xC9\xBD\x22\xC3\x0A\xC5\xC4\xB7\x02\xC4\x83\xCC\xBD\x4F\xBA\x16\xC2\x88\xBA\x11\xC2\x97\x34\x04\xE6\x78\xB3\xC0\xC7\xC1\x15\xBC\x02\xC4\x19\xCA\x00\xC5\xF5\x9A\x7F\xEA\xC0\x96\xC0\x1E\x34\x28\xC5\xA4\x1B\x18\x01\xDF\xB0\x81\xD8\xB5\x0B\x39\x10\xBB\xB0\x2F\x76\x1C\xDF\xAC\xEB\xA3\x82\xEE\xBA\xE5\xB5\x37\x9C\x1F\x1F\x5B\xB1\x0B\xD5\xFA\x95\x80\xD7\xBE\x17\xC0\x5B\xC3\xBB\xBC\xFD\xB9\x0B\xCB\x02\xF3\x7F\xBF\xBF\x61\xBF\x41\xC3\xA1\xBD\x10\xC4\xD8\xA1\x06\xDE\x7E\xD5\xC0\xF0\xBB\xFD\xBD\x0A\xC2\x0B\xC7\xC8\xBC\x02\xCB\x83\xD1\xC1\x0F\xB8\x67\xC3\x23\xB8\x1A\xCE\xFF\xAE\xDE\x97\x7B\xE7\xC0\x38\xC1\x6C\xC3\x58\xBB\x07\xC5\xD6\xB4\xD9\xA0\x74\xED\x12\xDE\xC1\x48\x9F\xF2\x21\x5B\xB9\xB2\x15\xF3\x09\x0B\x1C\x46\x29\xBA\xDA\xBA\x7F\xBC\xA5\xB5\xAE\xB9\xC0\x6F\x82\x8C\x1C\xED\xC1\xF2\xBC\x1E\xC7\xFC\xBA\x07\xC7\x02\xFA\x75\xFD\xC0\x7C\xBB\x1B\xB8\x14\xC1\x1F\xCE\x0B\xD7\x07\xDD\x80\xF5\xBF\x52\xC1\x86\xC1\x77\x88\x20\xC9\xF3\xA2\x08\xCD\x82\x84\xC2\x05\xBA\x83\xC0\xC2\xBB\x12\xC2\x00\xD4\x06\xDB\xF3\x0C\xC2\x5B\xC0\x50\xBF\x34\xC0\x21\xC8\xC9\xBC\x04\xF2\x78\xD8\xC1\x46\xC3\x27\x36\x45\xC5\xDE\x1C\xA6\x19\x08\xC0\x65\xD0\x27\xD9\xB5\xBD\x16\xAD\x2B\x78\x2F\x95\xA2\x05\xF2\x2E\x9C\x2D\xB7\xBA\xC4\x77\x49\xC0\xC1\x19\x12\xD4\x00\xEB\x84\x96\xC0\x46\xC1\xF4\xBF\xD6\xB8\x26\xC5\xE4\xBD\xEB\xBF\x82\x9E\xC0\x81\xBB\xB7\xC0\x4E\xC6\x1F\xC2\x06\xDC\x09\xDE\x7E\xBE\xC2\x39\xBE\x47\xC2\x32\xC3\x28\xC2\x11\xCA\x08\xD3\x7B\x98\xC1\x39\xBE\x4D\xC3\xD0\xB9\x22\xC1\x15\xDA\x01\xDE\x82\xE1\xB8\x53\xC2\x00\x4D\x55\xC6\x2B\xC2\xC0\x88\xE1\x98\x6B\xB8\x12\x8E\x3C\x90\xC2\x66\xB4\x31\xCE\xE7\x8C\x05\xE5\x6B\xED\x00\x00\x0B\x6E\xB6\xDD\x0A\xDD\xB3\x0B\xD3\xFD\xB5\x82\xFB\xC0\x2F\xC3\xAF\xB5\x4C\xC7\x0F\xC3\x13\xDD\x05\xF1\x85\xB6\xC2\x4D\xC1\x7E\xC1\xBE\xB8\xFF\xB8\xD8\xB5\xFC\x87\x71\xEB\xBE\x1F\xBC\xB1\xBB\xF3\xB8\x00\xC1\xFD\xB6\xEA\x8B\x84\x80\xC3\x9E\xBE\xC1\xC2\xE9\xBC\x30\xCC\x14\xD6\xF8\x90\x85\xBD\xC3\xAB\xBD\xEE\xBE\xB7\xB2\x66\x49\x18\xCB\x66\x4B\x86\x91\x34\xAF\xBF\x1F\xA2\x36\xBB\x26\xB2\x95\x18\xAC\x86\x6D\xC8\xC3\xAF\x07\xA3\x98\x4A\xBA\x33\xB7\xDB\xB1\x78\x05\x4B\x3D\xC0\xE5\xB5\x1D\x1F\x73\xA4\xC2\x11\xF1\x0A\xFA\xBB\x38\x33\x11\x4A\xBF\x6C\xB6\xCC\x43\xF0\xB0\xDF\xB2\xF3\x96\x3A\x3E\x1C\xC5\x0B\x6C\xB7\x8E\x1A\x4F\x1E\x06\xC3\x0E\xC1\x38\xB4\xB6\xA1\x16\xBF\x2A\x55\xC3\x15\xC0\x44\x3F\x07\x3E\x38\x38\xA0\xEA\xC3\x43\x18\x5F\x8E\xE9\xBA\x11\xD3\xA4\x34\x6C\xDB\x23\x70\x13\xF9\xC3\x48\xC6\xB6\xBE\xE3\x1A\x92\xB9\x87\x9A\xBE\x6D\xC0\xFE\xC3\x55\xC3\x79\x20\x1F\xC2\x56\x32\x87\x94\xC3\xA6\x9D\xD2\x0A\x8F\x1D\xEC\x37\x20\xC3\x21\xBB\x87\xEF\xC0\xFD\xC2\x8A\x01\x83\xC6\x57\x9F\x20\xC6\x07\xDF\x85\xEE\xBA\x3E\x1D\x59\xA7\xB6\xB3\x3D\xCB\xCC\x6A\x10\xF4\x87\xD0\x27\xC5\xC2\x49\x78\xEC\x3A\x40\xC7\x0E\xDF\xEF\xBE\x38\x0E\xAA\x15\xC5\x01\x4D\x42\x05\x3D\xC8\xEE\xAF\x0F\xD8\x6B\x85\x1B\xC0\x3A\x16\xC7\x87\xC6\x45\xC7\x12\x1D\xA7\x9A\x6B\xA4\xC4\x33\xC4\x13\xC7\x80\xC4\xBD\x24\xB3\xB8\x69\x27\x65\x90\xC4\x05\x98\x09\xC5\xAD\x0F\x5B\xB0\x24\xD7\x10\x82\x89\xAD\xC4\x39\x2D\x22\xC7\x58\x1D\x2B\xCE\x21\xCD\x0C\xEC\x74\xBE\x1C\xA2\x1E\x26\xC6\x7E\xC1\x41\xC8\x21\xCB\x10\xFE\x87\xD8\xB5\x46\xC4\xB7\xB0\x92\xC1\xC1\x26\x1F\xDB\x08\x9A\x89\x88\xC4\x01\x02\x1A\xC4\xB7\xB4\x38\xC0\x26\xD3\x12\xC7\x89\xD5\xC4\x95\xC2\x20\x29\xBE\xB3\x4E\xC4\x27\xDE\xD6\xB7\x76\xFD\xB5\xE0\xB4\x58\xBC\x24\xC3\x4D\xC1\xE0\x98\x00\xD7\x6B\x9A\xC0\x6E\xC2\xD4\xC0\xBD\xBA\x1F\xC5\xF2\xBC\x07\xCD\x79\xF4\xC2\x12\xC2\xBB\xC2\x18\xC0\x2F\xCE\xF9\xBA\x0B\xF2\x86\x92\xC1\x7D\xC3\xA2\xC0\x70\xC1\x99\xB8\x14\xC5\x08\xCA\x85\x8F\xC2\x9B\xC0", -"\xDE\xC2\x4E\xC6\x9A\xB6\xB5\xB0\x61\x19\x73\xD4\xC4\x13\xC0\x4C\xB9\x37\xBF\x5A\xBC\xB4\xAE\xDA\xAF\x01\x6F\x34\x50\xB7\xCA\xB7\x6D\xBC\x6A\xB9\x27\xC5\xF8\xA0\x6B\xB2\x46\x7E\xC5\x99\xB0\xA0\xC2\x26\xC2\x17\xC6\x0D\xF5\x71\xA5\xC3\x86\xC1\xD5\xC0\xCB\xB9\xFF\xB1\x10\xC6\x06\xDB\x8A\xBA\xB7\x8E\xC4\xF8\xBB\x6C\xC4\xC5\x1A\xC5\xBE\x0B\xCC\x7C\xB8\xC3\x62\xC0\xDD\xC2\x18\xC6\x29\xC6\xEA\xB7\xE6\xA6\x30\x1F\xC5\x6F\xC5\x50\xC5\x07\xBB\x54\xC3\x93\xA5\x15\xCE\x27\x1D\xB7\xA9\xC5\xE9\x6A\x59\xB8\xC2\x17\xDB\xA2\xDD\xAD\x8A\x9B\xBF\xAF\xC5\x3E\xC6\x3C\xC1\x03\xC4\x0F\xD1\xDF\xBA\x82\xFB\xC1\xBC\xC0\x27\xC2\xE3\xB8\x5B\xBA\xF2\xBA\x15\xC8\x82\xBC\xC5\x3D\xC2\x5F\xC5\x52\xC0\x19\xC3\xE9\xBB\x0B\xF8\x7C\xDE\xC0\x92\xC5\x5F\xC7\x03\xBC\xFA\xB5\x06\xCB\x0A\xFA\x8B\xCD\xC2\x9A\xC5\x79\xC6\xEA\xBF\x37\xCF\x2F\xD3\x16\xD9\x6B\xDD\xB7\xF4\x3D\xC2\x31\x39\xC2\x24\xC0\x25\xC0\xAD\x31\x81\x91\x1C\xE5\xB7\x6F\xC6\xB4\xC1\x5C\xC9\x21\xC0\xEE\xAA\x85\xFC\xC0\xA2\xC3\xB6\xC0\xAD\xC2\x50\xC0\x17\xD7\x15\xF5\x8A\xB9\xC5\xC2\xBF\x5D\xC5\x6B\xC6\x0A\xCC\x08\xD9\x0B\xC0\x85\xD1\xBA\x42\xC3\x7B\xC4\x51\xC2\xFA\xB2\x06\xDC\x17\xD9\x82\xFE\xC5\x02\xC7\x07\xB8\xB3\xC7\x1A\xC4\x11\xC5\x0F\xDF\x70\xB9\x0B\x7C\x17\x6E\x43\xAA\x2C\x84\xB0\x2A\xCA\x05\xC3\x89\xF2\xC4\xB7\xBB\x15\xBB\x80\xBE\x55\xCD\x25\xC7\x11\xDE\x6E\xE3\xC5\x7F\xC5\x72\xC6\x2B\xBF\x5C\xC5\x28\xC9\x17\xF5\x6F\xEB\xC5\x0E\xB6\xC8\xBE\xE4\xBF\x1F\xC3\x0C\xC5\x18\xCB\x82\xAF\xC3\xFC\xBF\xD8\xC2\xB0\xC0\x52\xC5\x18\xDF\xFC\xB6\x86\xFF\xC2\x0E\xBA\xBB\xBC\xCC\xC6\x52\xCB\xB3\xA1\x18\xE4\x8D\x83\xC6\x35\xC7\x9C\xBE\x18\xBD\x5C\xB5\xC6\xA3\x1A\xE0\x8B\xC5\xC6\x3F\xC6\xE8\x25\xAC\xC4\xC2\x13\x2B\xC4\x0D\xDF\x8C\xCF\xC6\x84\xC5\xB1\xBC\xA2\xBC\x0D\xC4\xE1\xBA\xF7\x95\x8D\xB1\xC6\x55\xBC\x79\xC7\xD9\xC0\xBB\xBA\x35\xD9\xF9\x83\x8B\xAA\xB6\x01\xC0\x96\xC6\x44\xC6\x65\xC1\x18\xC3\x1B\xC1\x85\xEC\xBB\x6E\xBD\xA7\xC1\xDA\xC6\xF3\xBB\x2D\xC0\xDD\x8D\x38\x23\xB9\x53\x10\xD8\xBF\xDB\xC6\x3D\xC5\x31\xD3\x1B\xD0\x38\x75\xC6\x80\xC0\x76\xC4\xA8\x97\x09\xC7\x37\xC7\x14\xEE\x8B\xC2\xC1\xF0\xC5\xBB\xC2\xE0\xC7\x71\xC4\x2F\xC3\xF8\xB6\x8B\xD0\xBF\x2E\xC1\x7C\xC4\xE0\xC3\xD3\xB5\x29\xCC\x1D\xD2\x83\x98\xC5\x83\xC2\x6B\xC0\x03\xC6\x59\xC7\xD7\x10\x16\xE2\x89\x9B\xC7\x2F\x35\xB1\xC3\x37\xBE\x31\x21\xCE\xAA\x15\xE3\x73\xED\x11\xBB\xBB\xCD\xC5\x8D\xC5\x73\xC8\x34\xD2\x15\xCA\x8D\xA4\xBE\x7A\xC6\x43\xC6\x3C\xB9\x6F\xC1\x08\xDB\x1B\xF9\x84\xB3\xC7\x12\x84\x45\xC6\x44\xC4\x51\xC2\x06\xC1\x16\xC6\x8E\xDC\xC6\x93\xC4\x85\xBF\xD7\xC7\x58\xC1\x36\xD5\xFE\xB8\x8E\xBB\xC3\xBA\xC6\x31\xC1\x03\xC5\x3C\xC3\x16\xD7\x08\xF9\x08\x22\xBA\xD7\x9B\x6F\xC0\x6C\xB8\xA0\x07\xD2\xAD\x57\x93\x86\xF0\xC4\x11\xC5\x98\x01\xB9\xB7\xA5\xB9\xBB\x1A\x1C\xD3\x8C\xF0\xC6\x0D\xC6\xF6\x2A\xE7\xC4\xC1\x10\x3A\xD8\x15\xF8\x8D\xB5\xC2\xBB\xC0\x7C\xC2\x2D\xB8\x51\xCD\x35\xDA\x1E\xDD\x8D\xDC\xC7\x12\xC2\xEF\xC6\xE7\xBF\x70\xCF\x08\xCC\xDB\x8B\x72\xB2\xC7\x83\xC6\x86\xB9\xED\xC0\x65\xC7\x29\xD0\xF8\xB7\x80\xE9\xC7\x12\xC3\xF5\xC6\xDA\xC5\x85\xBD\x50\x09\xEB\x92\x2F\xBD\xC6\x80\xBF\xB8\xC7\xF2\x27\xB6\xB1\xD7\xB0\xE9\x89\x8F\xFF\xC7\x9C\xC6\x2F\xC4\x45\x03\x80\xC8\xE0\x05\x20\xE5\x8E\xD3\xC7\x08\xC8\x74\xC6\x02\xC8\x64\xC7\xFF\xA2\x19\xFB\x73\xE9\xBE\xAB\xC6\x0E\xC9\xEB\xC1\xF3\xBF\x3A\xD4\x0D\xF1\x8E\x8A\xC7\x5D\xC6\xC6\xC5\x6E\xC6\x71\xC2\x44\xDA\xDD\xB3\x8C\x8C\xC0\x04\xC6\xEC\xC4\x6D\x4D\x7D\xC4\x15\xC1\xE9\xAD\x23\x53\x41\xF8\xBA\x0A\x1E\x7E\xBE\x16\x49\x0A\xC9\x21\xC1\x90\xF5\xC3\xE5\xB5\xDC\xBA\x5C\xBB\x5B\xB5\x16\xD6\xDB\xBC\x89\xCC\xC7\xA0\xC3\x21\xBC\x5B\xC5\xEB\xBB\x01\xDC\x18\xF4\x84\xA7\xC3\x09\xC9\x9B\xC3\x02\xCF\x74\xC4\x35\xC9\x1D\xCB\x8A\xC1\xC8\x95\xBC\x2D\xBD\xE1\xC3\x82\xC0\x3E\xD6\x1A\xCD\x83\x98\xC8\xB6\xC7\x7D\xC7\x06\xC9\x8F\xC1\xF4\xA7\x1F\xCB\x8B\xE6\xC6\x81\xC8\x4C\xBA\x08\xCC\x72\xC4\x45\xCA\x0C\xC1\x2A\x76\xBB\xBD\x41\x2C\xC8\x84\x1B\x8B\xC3\x0C\x4B\x18\xFE\x8C\xDF\xC8\xD0\x26\x00\xBE\x73\x12\x02\xCB\x27\xD1\xDB\xA7\x91\xB2\xC8\x16\xC6\x81\x02\xFA\xBB\x1E\xC8\x0B\xC6\x17\xF6\x83\xF1\xC8\xA9\xC2\x59\xB8\xF5\xC2\x74\xC4\xF6\xAC\x20\xE1\x8F\xC5\xBA\x76\xC9\xED\xC4\x1E\xCC\x68\xCC\xC0\x32\x20\xE2\x81\x94\xC8\xC5\xC4\x40\xC9\x13\xCA", -"\x90\xC8\x2C\xD2\x08\xCA\x8B\x92\xC2\x4F\xC8\xF5\xC5\x14\xC9\x83\xC6\x30\xD7\xED\xBA\x78\xE1\x99\x9C\xC8\x0B\xCA\x27\xCB\x5B\xB0\x2B\xCD\x1E\xF4\x8D\xCF\xC7\x4C\xC7\xE8\xC6\xD3\xC2\x95\xC9\x43\xCD\x1A\xFB\x90\xAA\xC3\x21\xC7\x77\xC7\xC8\xC5\x57\xC5\x32\xCD\x14\xE7\x8C\x84\xC9\xCE\xBF\x3E\xCA\x14\xCA\x7C\xC5\xE2\xB7\x0D\xE5\x8F\xFD\xC5\x86\xC8\x60\xC8\x22\xCB\x97\xCA\x48\xC3\x26\xC9\x92\xD3\xC5\x73\xBD\x06\x1D\xAB\xBC\xE5\x19\x4C\xCB\x26\xE6\x91\xCC\xC9\xE2\xC5\x34\xCB\xE1\xBB\x8D\xC9\xF8\xA7\x25\xFA\x90\xF2\xC8\xEA\xC5\x55\xC9\xD4\xC5\x95\xC4\x47\xD5\x0B\xFF\x8D\xC4\xC9\x57\xC6\x40\xB8\x6C\xC5\xD9\xBF\x28\xDD\x02\xEB\x8C\xE3\xC7\xA1\xBF\x5E\xC9\xD7\xC7\x97\xCD\x35\xC1\x26\xE1\x90\xEE\xC9\xEC\xC8\x78\xCB\x3C\xC9\xB8\x95\xCA\xB4\x25\xCB\x8F\xA0\xC9\x34\xC9\x03\x1E\x0D\xCE\x8D\xC6\x2B\xDF\xE9\x86\x90\xA6\xC7\xD9\xC8\xD4\xC7\x36\xC9\x5E\xCD\x4D\xDD\x1E\xDF\x93\xB4\xC9\x7A\x8E\x71\xC8\x42\xCF\x8F\xC8\x44\xCF\x25\xD7\x82\xE7\xC9\x2F\xC7\x74\xC9\x45\xCB\x9D\xC0\x4E\xC8\xFA\x98\x94\xBD\xCA\xA2\xC4\xE1\xC3\x47\xCE\x68\xC3\x49\x21\xE5\xA5\x6B\xE6\xBD\x51\x16\x00\xCB\x3D\xCB\xA9\xC2\x1E\xD9\x27\xEE\x84\xEA\xC8\x19\xC6\x36\xC9\xA0\xC0\x95\xC3\x28\xD5\x26\xD2\x93\xD7\xC9\x28\xCB\x1E\xCA\x36\xCF\x87\xCE\x1A\xCA\x28\xD9\x8D\x8C\xCA\x5B\xC6\x87\xC9\xA4\xC5\xA6\xCE\x47\xCC\xE0\x0A\x91\xC9\xC5\x4C\xC8\xA0\xC8\x45\xBC\xA7\xC0\x53\xDE\x21\x58\x7C\xDB\xC4\xDB\xB4\x3D\xC6\x32\xCA\x5B\xBD\x4C\xDA\x27\xF6\x7E\xFC\xC9\xB8\xBE\x7F\xCA\x35\xC8\xA0\xC7\x40\xD0\x23\xFF\x93\xA9\xC9\x89\xBC\x57\xC9\x59\xC8\x96\xCB\x52\xCA\x1D\xED\x94\x91\xC8\x2F\xCA\xE0\xC7\xF0\xB2\xAC\xCD\x35\xC6\x16\xD1\x94\xB8\xCA\x8D\xC6\x9D\xCA\x4D\xCB\x75\x5C\x56\xCA\x2C\xC6\x86\x86\x02\xE1\xC3\xAE\xC4\xDF\xC0\x00\x0A\x26\xD8\x27\xD5\x8C\xD0\xBE\x0D\x1B\x7A\xCB\x52\xCE\x8C\xB7\xAD\xB5\x2B\xCF\x95\xFB\xC9\x51\xCB\x7E\xCA\xD7\xBC\xA4\xC1\x50\xD6\x2A\xD5\x8F\xD2\xC7\x9B\xCB\xA9\xC6\x41\xC9\x96\xCF\x40\xD3\x25\xD6\x96\xF0\x8E\x89\xCA\x18\xC9\x4C\xCC\xB1\xC3\x59\xDE\x1A\xE5\x93\xE0\xC6\x9B\xBA\xB1\xC6\x64\xCB\xB0\xC8\xFD\xA0\x21\xDD\x8D\x8B\xC9\x6B\xC0\xBF\xBE\x57\xC4\x84\xCA\x3C\xDF\x24\xC4\x95\xB3\xC8\xCE\xC9\xCF\xC4\x34\xCA\xAF\xC7\x55\xDC\x2B\xD4\x93\xFE\xCA\x7B\xCA\xC0\xC9\x6C\xCE\x6F\xC4\x5B\xDD\x2D\xD0\x90\xDD\xC6\xB6\xC8\x89\xC0\x2E\xC9\x71\xC0\x51\xD2\x01\xD2\x94\xBD\xCB\x14\xCB\xDE\xCA\x45\xCF\xB8\xCF\x53\xCD\x2B\xFD\x7D\xE5\xB5\xAE\xBF\xE8\xC1\x47\xCD\xB9\xCE\x59\xC0\x29\xD1\x97\x84\xC8\xD3\xCB\xD5\xC8\x55\xCD\x63\xC6\x52\xD7\x21\xDB\x97\xAC\xC3\x5C\xCA\x92\xC4\xD6\xC3\x20\xCB\x47\xD7\x25\xF2\x94\xEF\xC9\x93\x8A\x5D\xCA\x5A\xCC\x00\xC7\x5E\xC4\x2E\xE2\xD6\x69\xCA\xEE\xCB\xD0\xBB\x34\xB9\x0D\xC3\x39\xCB\x03\xC2\x95\xCE\xCB\x2A\xC9\xA2\xC8\x8E\xB9\xC2\x11\xFE\xBE\x8F\x1F\x6B\xE4\xBF\xF6\xC9\xA6\xC8\x1A\xCF\xB4\xC7\x57\xC9\x2D\xF9\x95\xFA\xCB\x7F\xCB\xAA\xC8\x76\xCD\xBA\xCA\x5D\xD7\x1E\xF3\x94\xA4\x90\x07\xCA\x04\xCE\x06\x96\xB6\xCA\x5B\xCD\x3B\xB9\x96\x9D\xC9\x98\xB9\xF1\xC9\x6D\xC7\xB7\xC4\x3E\xC1\x2E\xE6\x8F\x9E\xC8\x10\xC2\xE3\xC9\x6F\xC8\xB9\xC2\x11\xD2\xF3\xA5\x6B\x90\xC0\x30\x18\xD1\xC9\xBC\x13\xA8\xC9\x61\xD0\x2E\xF6\x95\xB7\xC1\x78\xCA\x25\xC0\x8A\xC9\xBB\xCA\x62\xDE\x18\xEC\x96\xD8\xC9\x5A\xCA\x95\xC9\x80\xCC\x9B\xC3\x60\xDF\x09\xC5\x98\xE2\xCB\x07\xCD\x8C\xC9\x82\xCC\xAC\xC3\x4E\xC7\x0A\xCD\x98\xE5\xCC\xD6\xBC\x20\xCD\xA6\xC2\xC8\xCE\x60\xD3\x08\xC7\x86\xE5\xBA\xF9\xB4\x1F\xC0\x10\xC4\x5B\xB2\x57\xC1\x31\xD8\x6B\xA6\xCB\x17\xC7\xD0\xC3\x09\x27\x28\x30\x3D\xCF\x2D\xD3\x93\xB8\xC8\x2B\xCC\x3F\xCC\x56\xC9\xB0\xC5\x50\xC9\x14\xF1\x98\xE2\xCC\x33\xCD\xC3\xC8\x78\xCF\xC6\xC3\x57\xDC\xFC\xBC\x96\xED\xCC\x8E\xCA\xF3\xC8\x64\xCB\x89\xC3\x5C\xC8\x33\xD4\x96\xEC\xCC\x96\xCC\x37\xCC\x66\xC9\xCE\xB7\x61\xD5\x2F\xCF\x97\xA8\x25\x46\xCA\x39\xC0\xF2\xC3\xAE\xBE\x51\xD8\x30\xD8\x92\xC7\xC6\x4F\xCC\x52\xC9\x94\xCD\x1E\xC3\x65\xCC\x31\xD5\x99\xFD\xCB\x57\xCD\xAC\xCA\x73\xBC\xBB\xC5\x58\xD7\x23\xCA\x9A\xBD\xCB\xE1\xCB\xAE\xC6\x8E\xCF\x88\xC5\x5E\xCD\x19\xC3\x92\x91\xCC\xE9\xCB\x36\xCF\x7A\xCB\xC8\xCD\x5E\xD7\x2D\xF0\x00\x5B\xC1\xDC\x1A\xE8\x0A\x8E\xC6\x4A\xCE\x30\xD8\xD6\xA6\x82\xF3\x59\xA8\xC0\x4B\xCA\x17\xCB\x47\xC4\x12\xCD\x70\x2E\x82\xE0\xB5\x65\xC8\xD2\xCB\x4C\xB0\xCF\xC2\x4A\xCB", -"\x0B\xE6\x98\xD2\xCC\x6D\xC9\xFD\xCB\x1B\xCE\xCA\xC2\x6E\xD3\x23\xE9\x94\xF5\xC8\xB5\xCC\x59\xCB\xAD\xCD\xCD\xC9\x6B\xDD\x2D\xFB\x9A\xF8\xC5\x64\xCD\x17\xCE\x99\xCB\xD2\xC8\x56\xD5\x34\xF2\x9B\xC5\xCB\x91\xC6\xBD\xBD\x85\xCD\xC8\xC8\x6C\xCA\x6D\x0A\x9B\xE3\xC4\xA4\xC0\x70\xC2\x09\x12\x1C\xC6\xBB\x0B\x0C\x1D\x91\xB8\x96\x9F\xCD\xDB\xBA\x3A\xC3\x2C\xC9\xA9\xA5\x35\xDE\x9A\xCD\xCC\xA1\xC9\x80\x03\x28\xCC\x5C\xC5\x4A\xCB\x1A\xD4\x97\x82\xCD\xD6\xCA\x40\xCC\xB9\xC9\xC5\xC1\x05\xC2\x2C\xD9\x9A\x8E\xC8\xDE\xCA\x1A\xCC\x8E\xC9\x0B\xCF\x65\xDA\x35\xE1\x99\x8B\xCC\x34\xCB\x5E\xCF\xE2\xC7\xD7\xC7\x5B\xC1\x36\xD9\x9A\xC3\xCD\x6D\xCC\x22\xCE\x66\xC9\x45\xCB\x78\x87\x0E\xCC\x8C\xD4\xCD\xCD\xCD\x6B\xB5\x47\xC1\xDE\x2C\xFE\x2B\x36\xF1\x89\x99\xC9\x25\xC3\x51\xCC\x19\xCE\xE1\xC4\x57\xCE\x2A\xF9\x99\xD0\xCA\x7B\xCC\x3F\xC1\xE8\xC3\xA0\xC6\xF2\xB0\x1A\xD3\x6C\xD2\xC6\xB4\xCD\x2D\xCC\x4B\xCD\xCB\xC6\x32\xC5\x39\xEE\x9B\xA7\xCE\x11\xCD\x48\xCE\xAF\xCF\xCC\xC7\x6F\xCF\x30\xF6\x9B\xB2\xCC\xD5\xC1\x7C\xCC\xCD\xC7\xCD\xC5\x1E\xD4\x39\xE3\x20\xB6\xCE\x97\xC8\x9C\xCC\x7B\x29\x2B\xC0\x50\x1B\x0A\xE2\x7F\x51\xC5\x69\xCE\x66\xCE\x65\xC5\xC1\x12\x16\xD8\x36\xC4\x9D\xA2\xCC\xF6\xCB\x54\xCC\xC5\xCB\xD5\xC6\x4A\xCD\x35\xD8\x9C\x80\xCB\xA4\xC7\x58\xCC\xA1\xCF\xDC\xC3\x5B\xC9\x37\xF5\x96\xEB\xCD\x99\xCD\x76\xCD\x9B\xCF\xDD\xCF\x50\xDC\x31\xCF\x96\xBE\xCC\xE8\xC8\x35\xCD\xEE\xC2\xEC\xC0\x45\xDB\x37\xF3\x9C\xD4\xC1\x68\xCF\x69\xCE\xDC\xCA\x4E\xCF\x18\xC7\x1A\x11\x86\x87\xCE\x66\x97\x84\xCF\x65\xC1\x33\xCC\xAD\xBB\x0C\xE5\x6E\xF8\xCE\x9F\xCD\x90\xC9\x04\x17\xDB\xCC\x6A\xC1\x37\xDC\x9C\xE3\xCD\xB0\xCD\x72\xCC\x0F\xCB\xD6\xC0\x60\xD2\xEE\x80\x91\x88\xCF\x5D\xCE\xDC\xCA\xD5\xCB\xF1\xC8\x75\xD7\x2D\xDA\x9D\xAB\xCE\x5C\xCE\xB0\xCF\xC3\xBE\x99\xB8\xF7\xB8\x34\xF9\x9E\xB2\xCE\xBD\xCB\xCD\xC9\x67\xCD\xE8\xC5\x31\xC6\x3B\xEB\x76\x81\x15\x07\x1C\xC3\xAB\x72\xC5\x0E\xC7\x96\x1E\xCC\x08\x40\xD1\xCF\x2E\x6C\xD2\xA8\xF4\x47\x4E\xC6\x82\x01\x02\xE1\x8A\xE6\xB7\x77\xCC\xA3\xCD\xB7\xC8\x63\xC9\x74\xC3\x0D\xCB\x9D\xCF\xCE\x82\xC0\xD7\xC8\x2B\xCE\x7A\xCE\x71\xD9\x3D\xE0\x9C\xED\xCC\xDF\xCA\x5C\xCC\xA3\xCE\x9E\xCE\x68\xC7\x08\xD0\x9A\x8A\xCC\x11\xCD\xB3\xCA\x2F\xC8\xC2\xC7\x5B\xD0\x39\xD9\x9A\x98\xC7\x10\x1C\xC9\xB5\x35\x78\xE5\xCC\xC0\x34\x16\xD4\x38\x56\xC5\x15\x71\xA7\xB6\x93\xCA\x7B\xBB\x2A\xDD\x3E\xF4\x99\xA5\xB7\xE0\xCF\xD2\xCA\xF8\xCA\xE2\xCE\x6D\xC5\x3F\xDA\x8C\xF6\xC6\x82\xCF\xC0\xCE\xEC\xC8\xCB\xC4\x7B\xDE\x21\xF6\x9E\xDD\xCA\x4A\xBB\x85\xC9\x32\xC5\xA1\xC6\x7F\xD9\x34\xFF\x9E\xC9\xC8\x2C\xCF\x1A\xCE\xD7\xCA\xF2\xC8\x3E\xD4\x3C\xEA\x8F\xBC\xC7\xE1\x1C\xBC\x1B\x00\xD1\xC2\xC6\x80\xD0\x70\x08\xA0\xD5\x5B\x03\x17\x28\x38\xAA\xCA\x7B\xB6\x39\xD1\x70\x1E\x8B\xF3\xCB\xDF\xCE\x8A\xC5\xDE\xCC\xC4\xC0\x65\xCC\x3D\xFD\x9D\xAE\xCF\x54\xCC\xFE\xCA\x72\xBF\xA4\xC3\x78\xD9\x32\xE8\x9B\xD2\xCE\x86\xCA\xAA\xCE\x37\xCB\xF7\xC9\x69\xCC\x3C\xE3\x95\xAA\xCE\x28\xD1\xE0\xCC\xA2\xCC\xF4\xBF\x75\xDB\x42\xC9\xAE\x15\xCB\x2A\xD0\x4D\xCD\x69\xB9\xCE\xB7\x30\xC3\x3E\x1E\x6F\xA7\x3C\x59\x2C\xD0\xCC\x7E\xBF\xB6\xB1\x31\xC0\x42\xF8\x98\x91\xD0\xDB\xCD\x09\xD0\x00\x03\xE2\xC9\x34\xD5\x38\xFD\x99\xEB\xCF\xD2\xC6\x0D\xD3\xEB\xCE\xDC\xCE\x84\xC5\x3C\xD0\xA1\xB6\xCD\x52\xD0\x97\xC8\x15\xD1\xF7\xC6\x85\xCD\x2C\xF8\x9F\xB7\xCB\xFA\xCF\x89\xC8\xFF\xC9\x0C\xDE\x7F\xC7\x3E\xC5\x9B\xE1\xD0\x95\xC6\x08\x1C\x08\xBA\x67\xCC\x7D\x2A\x43\xF0\x81\xC1\xC6\x2B\x10\x25\xCE\xB0\x14\xC9\xC7\x6A\xD9\x16\xC4\xA1\xAA\xCD\x46\xD0\x8B\xCE\xDF\xC8\x0F\xDF\x67\xDA\x43\xC9\xA1\xF3\xC2\x85\xCD\x06\xCB\xA1\xCC\x00\xD7\x02\xC1\x44\xC8\x96\x83\xD1\xC2\xCF\xC5\xC9\x09\xD1\xF7\xC7\x82\xDD\x2D\xC9\xA2\xE8\xCB\x8B\xD1\x91\xCD\xF4\xB0\x0C\xDA\x8B\xDD\xF6\x96\x9E\xC9\xCF\x1B\xCD\x0A\x1D\xDB\xC7\xC3\xC0\x81\xC2\x42\xE9\x9E\xF7\xCB\x35\xC9\xFC\xC8\x12\xD6\xD5\xCA\x84\xDC\xF5\xBE\x97\xAE\xCC\xB1\xD0\x21\x93\x2A\xD1\xC2\xC1\x7F\xCC\x37\xF3\x9F\xA3\xCB\x12\x85\x42\xD1\x6F\xCD\x16\xDD\x66\xD7\x45\xED\x99\xAE\xCE\xB9\xCF\x46\xD1\x34\xD2\x0C\xD4\xE3\xA4\x43\xDA\x6B\xB7\xBB\x00\xD0\xB8\x1A\x1B\xD3\xAE\xC0\x87\xD4\x70\x1C\x9B\x94\xD0\xE4\xCF\x1D\x20\x03\x3A\xAA\xCB\x31\xDB\x40\xD7\x97\x9B\xCE\xA7\xD0\x3E\xD1\x07\xD3\xAB\xCF\x81\xC2\x30\xDE\x95\x84", -"\xCC\x60\xCB\xEF\xC7\xA3\xCE\x04\xD7\x88\xC1\x43\xDE\xA3\x99\xCD\xE0\xD1\x71\xD2\x38\xD6\x0B\xDE\x43\x50\x41\xD1\x12\x01\x1B\x93\xB6\x1A\xD2\xF0\xC2\xD7\x1C\x13\x00\xE7\xAD\x34\x62\xB9\x0D\x1C\x72\xBA\x0B\xCC\xD4\xCA\xDA\xAD\x47\xD0\x38\x6F\xD1\x73\xD1\x0A\xD2\x3C\xD4\xCF\xC1\x4D\xDF\x3B\xEF\x9A\xCB\xD0\xCF\xD1\xF6\xCF\x38\xD7\xFD\xC9\x69\xD5\x46\xC9\x9E\xD7\xD1\xC3\xB8\x95\xC7\x15\xD6\xF1\xC2\x69\xD0\x3C\xF9\x94\xAC\xD0\x87\xC8\xE3\xCF\x38\xD0\xF9\xCD\x66\xD5\x41\xE0\x9D\xAC\xBB\xED\x11\x1C\x2A\x24\xCC\xC1\x14\x49\xD3\x0E\xEE\x68\xB2\x46\xB7\xBA\xFE\xC4\x2C\x1E\x7F\xCF\x86\xC6\x46\xD0\x9C\xAA\xCF\x77\xBC\x0B\xD0\x3D\xD0\x03\xD6\x8F\xDA\x38\xF1\x9E\xFB\xD0\xB3\xCF\xBE\xC5\xED\xC8\xC3\xB7\x7B\xCE\x45\xCB\x9A\xB0\xD1\x0C\xD3\x8C\x02\x36\xD7\xFE\xC1\x6F\xC3\x47\xC7\xA4\xB9\xCF\x09\xD3\xB0\xD2\x84\xCE\xA2\xB4\x61\xC4\x3B\xE3\x90\xE7\xB8\x25\xC8\x7E\x43\x73\xC7\xE6\xCB\x79\xC0\x3A\xCD\x38\x2D\xC8\xFD\xC7\x17\xC9\x53\xD2\xA9\xC5\x97\xDB\x41\xC7\x9D\xA8\xCB\x52\xD2\xD5\xCB\x32\xD6\x24\xDD\x8C\xC8\xF9\xA4\xA2\x83\xCD\xFF\xCA\x0F\xD0\x57\xD0\x04\xDC\xD8\xA2\x41\xF5\x8B\xA4\xD0\x7C\xC2\x43\xD1\x59\xD2\x2D\xD7\x96\xC3\x47\xE9\xA5\xAC\xD1\xF8\xCD\x09\xCD\x27\xC3\xD3\xC1\xC6\xAD\x24\xC6\x87\xD6\xC8\x61\x16\x2C\xCA\xFC\xC1\xBF\xB4\x3F\xD2\xED\x92\x9B\x88\xCE\x10\xCF\xDB\xBA\x18\xCB\x23\xD3\x74\xDD\x48\xCE\xA5\x9D\xD1\x0B\xD1\xBF\xD1\x89\xC9\x30\xD7\x62\xC3\x4C\xC7\xA6\x99\xCE\xA6\xD0\x66\xD0\x2A\xD4\xF0\xC6\x68\xDD\x2E\xF0\x9F\xA2\xCE\x8D\xCC\x60\xB8\x58\xD0\x33\xD2\x96\xDD\x3D\xE1\xA1\xDC\xD1\x99\xCD\xCA\xD2\x5A\xD7\x32\xD1\x61\xCB\x48\xC4\xA7\xE4\xD1\xA8\xBD\x38\xBE\x67\xD4\xBE\xBF\x48\xD5\x77\x3C\x82\x54\x02\x43\xD2\x04\x1D\x51\xD6\x7E\xC7\x94\xCF\xFA\xA5\x6B\x81\xBC\x58\x0C\xB7\xC5\x10\xD4\x2F\xDF\x73\xDE\x4B\xE3\x9F\xFA\xCC\x23\xD2\xA5\xCC\x13\xD1\x37\xD4\x98\xDB\x4D\xFD\xA1\xBD\xD3\x86\xCF\x90\xCC\xEE\xCB\x1C\xDA\x78\xD5\x42\xC6\xA7\xBD\xD1\xE4\xC9\x30\xBF\x33\xC2\x0B\xDF\x9C\xCC\x4E\xFD\x9F\xBC\xD1\xC1\xD2\x5F\xD2\x5B\xD4\x72\xC1\x8C\xD4\xC9\x87\x93\xA6\x9E\x9A\xD0\x5F\x94\x27\xD2\xED\xC0\x44\x30\x4A\xDE\x6D\xB4\xD3\xE0\xCD\xA9\xC8\x56\xD5\xAF\xC8\x8F\xDA\x4D\xFA\xA3\xDA\xD2\x8A\xD2\x29\xBD\x57\xD7\x1F\xDE\x65\xC1\x48\xFC\x91\x83\xD2\xB4\xD1\x82\xD0\x7E\xD3\xDE\xC6\x93\xD1\x2C\xF8\xA4\xEA\xC9\x3A\xD2\xB5\xD0\x4F\xD1\xD3\xC2\xE7\xB4\xF3\x9B\x94\xF2\xD1\x09\xD4\x15\xB7\x82\xD5\x2F\xDE\x89\xD2\x4D\xC5\xA1\x90\xD4\xAD\xCE\x09\xD5\x3E\xD5\xB5\xC1\x68\xD7\x4D\xED\x98\xAA\xD2\x6A\xD2\x96\xD1\xEE\xCE\x25\xD9\x7B\xD5\x4F\xC4\xA2\xF7\xD3\x01\xD5\xFC\xD2\xDC\xBB\x3F\xD4\x6F\xDB\x3F\xDD\xA1\xCF\xD3\xCE\xD3\x08\xCF\x8A\xD1\xF7\xCC\xEA\xAD\x58\x1E\x9F\xFB\xD2\x31\xC9\x63\xD2\xDE\xCD\x0E\xDC\x77\xC2\x45\xF6\xA6\xCC\xCE\x79\xD0\xA7\xCC\x85\x1D\x5D\xCC\x9B\xCA\x45\xFE\xA6\xAD\xD2\xC0\xD2\xFA\xCE\x70\xD6\x43\xD6\x60\xC0\x51\xE3\xA3\xC8\xD3\xB9\xCE\xE5\xD1\x7F\xD1\x17\xD9\xA4\xDF\x42\xE9\xA8\xCF\xD3\x53\xD5\x71\xD2\xF2\xCF\x49\xCC\xA0\xD8\x0A\xDD\x3D\x47\xCA\xC3\x0F\x05\xD7\x8F\x16\x23\xDC\xE0\x00\x49\xF4\xA1\xCE\xC7\x76\xD1\x92\xD2\x8F\xD7\x24\xDE\x8C\xC2\x3C\xC9\xA6\xFC\xD1\x8B\xD2\x7F\xD1\x08\xD7\xAB\xC3\x82\xC1\x2B\xF3\xA2\xEF\xD4\x22\xD5\x3A\xD7\x4D\xCD\x44\xD4\x69\xC7\x51\xFB\x94\xF7\xD4\x52\xD5\xB7\xC8\x9A\xC2\x5B\xB5\x67\xD7\x09\xF3\xA8\xE5\xD3\x35\xD5\xF3\xD0\xD2\xC9\x3D\xD6\x7E\xCB\x4F\xE2\xA9\x90\x1C\x64\xD5\xF7\xD2\x99\xD1\x3E\xDF\x9B\xD3\x4F\xEA\xA5\xC6\xD4\xE3\xD1\xB1\xD0\x41\xD3\x32\xDF\x9C\xD2\x53\xC0\x9B\xF4\xD4\x6A\xD4\xB9\x31\x94\xD7\xB6\xC9\xA7\xCA\x4B\xFB\xA9\xE4\xD3\xF9\xC6\xD0\xCA\xD4\xBB\x5B\xB0\x62\xC6\x55\xE6\x9A\xFD\xD4\xE6\xD2\x78\xD0\x7A\xD1\x0E\x22\x97\x33\x4A\xE7\x9F\xE3\xD4\xA3\xC7\x57\xD4\x83\x19\x56\xDB\x8F\xDA\x32\xFD\xA3\xDC\xCC\x1C\xD5\xAA\xCC\x9B\xD0\xCC\xCE\xA6\xCA\x4B\xF0\xA9\xE6\xD2\x29\xD1\x11\xD5\x9A\xCC\xF8\xCF\x41\xCE\x41\xD7\x94\xBF\xD1\x3D\xD2\xE5\xCA\x87\xC4\xB9\xC3\x9E\xD9\x52\xCF\xA5\xC8\xD1\x22\xCA\x65\xD2\x8E\xD6\x42\xDC\xA3\xD5\x50\xED\xA7\x97\xD4\x91\xBF\xA8\xCF\xB7\xD3\xEA\xC1\xAE\xD3\x42\xE3\xAB\xA6\xCE\xE5\xD5\xE7\xD3\xB9\xD4\x32\xD9\xAE\xDA\x54\xEB\xA0\xEC\xD5\x41\xCC\x77\xD4\x7B\xC8\x5E\xDC\xA2\xCD\xFD\x8A\x27\x57\xD4\xEC\xD1\xD7\xD0\xB4\xD1\x55\xD2\xAD\xCB\x55\xD4\xAB\xF3\xD1\x82\xD3\x7D", -"\xD7\xBF\xD5\x5F\xD7\x95\xDB\x51\xDC\xA0\x98\xD4\x90\xD4\x0D\xD4\x63\xD7\xCA\xBE\x98\xCE\x1D\xD0\xA6\xB2\xD2\x92\xD2\x2C\xD2\x2D\xD5\x61\xD1\xAC\xDC\x42\xDE\xAA\xEA\xCB\x00\xD5\x9A\xD4\xD4\x57\x11\xDA\xAE\xC0\xF7\xA5\x88\xC8\xD5\x49\xC4\x50\xCC\xF8\xBD\xA1\x01\xA3\xC0\xFB\xA7\xAA\xF9\xC7\x0E\xD4\x7A\xC8\x8E\xD7\x08\xD2\xB2\xCB\x54\xC5\xA6\xCC\xD0\x8F\xD4\x6F\xD5\xA4\xD0\x5C\xD3\xA9\xC0\x48\xD5\xAA\x82\xD2\x97\xD4\x73\xD5\xA6\xD2\x67\xDB\xA9\xC4\xEF\x82\x97\xB7\xD6\xC2\xCD\x9C\xD4\x36\xD2\x40\xDC\x99\xCE\x00\xC7\x99\x91\xC0\x53\xBF\x62\xD0\xD0\xD1\xC1\x29\xB4\xC7\x81\x21\xA2\xF7\xD0\x60\xD5\x52\xD2\xB6\xD0\xC1\x1C\xAD\xC8\x59\xD2\xAD\xAA\xD6\x92\xD5\xC6\xD0\xA5\xD7\x31\xD6\xA9\xD1\x4C\xDB\xA3\xDB\xD6\x63\xD6\xB3\xC8\xCD\xD1\x70\xD3\x7C\xDD\xEA\x85\x9F\x92\xD6\xC4\xCC\x8A\xD4\x95\xD1\xCE\xC5\xAE\xBF\x01\xC7\x1E\x18\xD6\xF6\xC8\x42\xD4\x82\x1E\x50\xD2\x92\xDF\x58\xE4\xA4\x97\xCE\x4E\xD6\xD8\xCC\x4A\xD6\x51\xD0\x8D\xC1\x52\xD3\xA3\xB7\xCB\x44\xD4\xFA\xD0\x4C\xD7\xFF\xB4\x2C\xC4\x2F\xF4\xA4\xDB\xCE\x4D\xD4\x45\xD3\x93\xD5\x39\xD2\xB6\xD6\xDE\x8A\xAE\xFA\xD4\x9D\xCC\xE6\xCC\x28\xCF\x61\xC5\xE1\x13\x03\xF6\x9D\xAE\xD3\x6B\xD6\x4E\x2D\xDB\xD0\x46\xDB\xB4\xDE\x52\xCD\xAD\xF1\xD6\x83\xCC\xF6\xD1\xE6\xD0\x60\xD2\x5B\xD0\x4F\xFF\xA1\xEA\xCD\x5E\xD2\xF9\xCF\x70\xD1\xC2\xCA\xAB\xC1\x51\xFC\xAA\xF9\xCF\x83\xD6\x9B\xB7\xEA\xD7\x3F\xD0\xAA\xC4\x56\xFC\xAC\x8E\xD6\xC8\x43\x7E\xCC\x4C\xBE\xDB\x0E\x73\xD9\x1F\xE5\x82\xE2\x06\xA7\xC0\x84\x30\x0A\xC8\x35\xD0\x9B\xDA\x1F\xD6\x9B\xC2\xCE\xDA\xB5\x32\xCA\xE4\xD5\x7B\xD1\xB4\xDB\x5D\xDF\xAC\xEF\xD6\x8A\xD4\xE0\xD4\x6E\xD3\x6E\xD7\xE0\x15\x5B\xC1\xAC\xDB\xD2\x78\xD6\xAA\xD6\xDE\xD6\x6A\xDC\xB7\xD8\x5A\xFE\xAD\xE4\xD2\x32\xD7\x6E\xD1\xF4\xD5\x4E\xB0\xAC\xC4\x5C\xD9\xA6\xEC\xD2\x9B\xD3\x31\xD0\x62\xC4\x5D\xBC\x0D\xC0\x35\xF8\x8F\xC1\xD6\xD9\xB5\x70\xC2\xF6\x2A\x1E\x43\x97\xD1\x3B\xE8\xAA\xA5\x0B\xE9\xC0\xF4\xD5\xB6\xB2\x7D\xDA\xB1\xD4\x51\xF1\xA6\xAA\xD5\x80\xD2\x56\xD7\x05\xD7\x5A\xD0\xAB\xD9\x56\xC2\x94\xE8\xCF\xEC\xCF\x54\xD1\x6F\xCA\x48\xD3\x8E\xC1\x5D\xF7\xAA\xA3\xD7\x29\xC6\xD8\xC4\xBC\xC9\x80\xD9\x9C\xC3\x60\xCE\x84\xE0\xD6\x2F\xCF\xD6\xD5\x46\xBF\x7A\xDC\xB5\xDA\x06\xD8\x9E\xD0\xCF\x00\xCF\x1B\x30\x47\xC2\x39\x1E\x11\xCB\x20\x6C\xAF\xE4\xC4\x41\xCE\xDD\xB8\x47\xD5\x5E\xD7\xB4\xCD\x5F\xF8\xAB\xAB\xCF\xBD\xD6\xB8\xD4\x0A\xD9\x4C\xD7\xC2\xD8\x56\xC4\x94\xE5\xD4\x2B\xD9\xCF\xD5\x18\xD6\x85\xDF\x9C\xD8\x55\xEA\xA5\xCD\xD7\x98\xD5\xE7\xD4\x22\xD6\x86\xDD\x41\xD0\x58\xEB\x99\x88\xD7\x31\xCE\x1E\xDA\x01\xDE\x87\xD1\x3E\xD9\x3C\xE4\xAF\x9B\xD6\x14\x02\xB6\xCD\x34\x66\xED\xC6\x89\xDF\x2C\xE5\x6B\xF5\xCE\xEC\xC0\xB5\xD6\xBD\xD5\x7C\xDE\xBE\xC3\x29\xD5\xA5\xC2\xD7\xF2\xD7\x1F\xD6\x0A\xDD\xCD\xCC\xC2\xCA\x4B\xDC\xB1\x91\xCC\x5E\xD9\xE7\xD0\x18\xDA\x6B\xD2\xC6\xC6\x48\xE4\xB1\x85\xC9\x38\xD9\x70\xD2\x0E\xDB\xBA\x65\xAC\xCF\x4E\xC7\x9B\xBF\xD8\x18\xC3\x20\xDA\x63\xC7\x5A\xB0\x19\xD0\x08\x67\xA6\xA1\xCF\xA9\xD3\xD1\xCD\x34\x62\x33\xCA\xC7\xCD\x62\xEC\xAD\xCF\xD8\x51\xD2\x11\xDA\xB5\xD6\x55\xD5\xC5\xC5\x61\xD7\xB1\xB2\xD5\x59\xD9\x33\xD7\x90\xD1\x4D\xDB\xC6\xDA\x3D\xC7\xAC\xD7\xCE\x09\xD7\xAC\xCC\xE0\xD3\x70\xB9\xBA\xD8\x45\xD3\xAF\x8C\xD1\x93\xD9\xC7\xB6\x1A\xD8\x7E\x41\xBB\xC8\x3D\xD0\x9C\xCE\xCF\x62\x14\xEC\xCC\xA9\xB5\x43\x3B\xC1\xD5\x3E\xD2\xCE\x57\xCF\x17\xD6\xF9\xCA\x84\x32\xFB\xC3\x27\xD7\xED\xA4\x1A\x4E\x1F\x75\xC5\x6C\xDA\x36\xDC\x76\xD4\x93\xA7\xD7\x99\x3F\x5F\xB5\xEB\xB5\x6B\xB5\x28\xC3\xC7\xB3\x0D\xB4\x25\x5B\xB3\xE7\xD9\xE8\xD9\x02\xD5\x28\xBF\x5C\xB5\x41\xC6\x22\xF3\x95\x8C\x11\xC6\xD9\xF2\xD6\xF6\xD5\x7F\xCC\xBD\xC1\x2D\xE8\x85\xB2\xB2\xD5\xD8\xF2\xB7\x49\x03\x5D\x2D\xAD\xB1\x78\x23\x85\xF1\x1F\x46\x96\xA1\x0C\xFF\x96\xEC\x24\xEE\xAC\x1B\xFB\xB3\xE0\xB5\xFE\xD9\xF0\xCC\xCE\x31\xA0\xD6\x95\x17\x0A\x64\x34\x95\xC6\xE9\xD9\x88\xD9\x83\x1D\x5C\xB8\x27\xD9\x63\xEA\x76\xAC\xB8\x0A\xDB\x21\xD3\x40\x04\x17\x0C\xA7\xCC\x63\x6B\x43\xFD\xD8\xFA\xD5\x7A\xD3\x84\xD7\x1E\xD5\xB2\xDC\x57\xE7\xAC\xF7\xD7\x19\xD4\x62\xBF\x86\xD5\x6A\xDD\xA1\xD7\x5A\xDF\xA8\xD9\xD6\x0A\xD7\x5D\xDB\x26\x7E\x57\xDD\x72\xC5\x60\xE5\xF0\x41\xD9\x9C\xC5\xC8\xB6\x38\x0E\x77\xC1\x12\xDD\x59\xF1\x77\xDE\xB9\x14\xD3\xA6\xB6\x73\x12\x01", -"\xD1\x71\xC2\x15\xCD\xA0\xE6\x1A\x7A\xD3\xB9\xC8\x46\xDA\x02\xD3\x62\xDB\x68\xDD\xB4\xDC\x50\xBD\xAA\x90\xD9\xA2\xD0\x73\xD1\xC8\xCC\x54\xC6\xA6\xD5\xDA\x1D\xCF\x41\xDB\xC7\xCA\x8B\xDE\xD3\xC7\x64\xF7\x96\x89\xD9\xCC\xD6\x24\xD5\x0F\xDE\xB7\xCA\x9F\xC6\x27\xDC\xAA\xF5\xCD\x91\xD8\x85\xD0\x4E\xDA\xF5\xBE\x90\xCF\x12\x3C\xB4\xF7\xC7\x90\xD1\x89\xD0\x31\xBB\x73\xB7\x2D\xDA\x41\xDC\xAC\xA2\xC5\x3D\xD1\x0A\x1F\x0F\xD6\x5B\xB5\x46\xCB\x6A\xF1\xA1\xCD\xDA\x02\x02\x8E\xDB\xDA\xD7\xA3\xD8\xCA\xCF\x50\xEA\xB2\xA1\xD6\x22\xDA\x93\xD4\x49\xDB\x73\xD5\x95\xD1\x5A\xCF\xA1\x83\xD6\x51\xD1\x82\xD6\x20\xD7\x96\xDC\x7B\xD9\x65\xFE\x9E\xB2\xDA\xC5\x79\x47\xDB\xED\xC1\xAD\xDA\x96\xC3\x56\xE1\xA1\x95\xD9\x34\xD1\x32\xD2\x0F\x67\x0C\xD5\xEF\x35\x63\xF3\xAE\xA1\xCD\x10\xC7\x4D\xD3\x12\xD8\xC7\xCE\xD7\xCE\x47\xF2\xA1\x82\xDB\x7B\xD8\xD9\x94\x61\xDB\x4B\xD8\xA8\xDD\x52\xD2\xB1\xD6\xD8\x4D\xCF\x56\xDB\xB6\xD0\xEA\xC8\xBF\xCA\x69\xEB\xAC\xC9\xBD\x2D\xD6\x22\xCB\xCB\xD2\x86\xDD\x78\xC5\x6B\xC0\x97\xDE\xD6\x3F\xCC\x33\xDB\xE4\xCA\x33\xD2\x39\xC3\x50\xEB\x81\xB7\xC6\xE2\x15\x80\x00\xC1\xCB\x84\xB6\xDA\xDF\x34\xEA\xB3\xDD\x1E\x42\xC7\x75\xD2\x3D\xCD\xB5\xDF\x91\xCF\x6D\xCF\xB5\xB8\x50\x51\xDB\xC2\xDA\xD2\xD7\xB0\xD5\x9B\xDF\x5D\xD3\xB1\xF2\xD6\xBA\xDA\xBA\xD4\x6F\xD9\xA5\xDC\xEF\xA7\x3C\xC9\xAF\xD6\xD1\xCB\xD7\xDB\xCB\x22\xD9\xA6\xDD\xC8\xDE\x69\xF4\xB4\xE1\xD0\xFE\xD2\x60\xD9\xF5\xD7\xB3\xD3\xCC\xC6\x1E\xCD\x38\x3E\xC4\x0C\xCF\xB8\x1F\xB7\xB3\x81\x36\x14\x75\x6E\xE1\xB2\x8D\x1C\xC3\xD0\xA6\xD2\x52\xDD\x83\xD7\xC1\xC5\x6A\xF0\xB6\xA6\xD9\xB3\xDB\x4F\xD3\xDE\xC8\x7E\xD4\xD5\xC7\x6F\xC1\xAF\xF4\xD7\xAA\xDA\xC4\xD1\xE7\xD7\x39\xD5\xC8\xCF\x4E\xDE\xB5\xE1\xD0\x60\xDA\xF9\xDA\x58\xDD\x96\xDB\xB0\xDD\x55\xDA\xB6\x93\xB9\x36\xDA\x52\xBC\x1A\xDF\xFF\xCD\xDF\xDA\x16\xDF\x72\xE5\xB5\xE9\xD1\xAA\xB4\x27\xDD\x74\xBC\xDD\xC5\x54\xDE\xB7\x83\xDB\xE1\xDA\xDA\xDB\x33\xCB\xAA\xD3\x8A\xD8\x6A\xDA\xAE\x8D\xD5\x8D\xDB\x0D\xDD\x84\xCD\xC3\xD4\x8D\xD4\x65\xE3\x6C\xF1\xDB\x61\xD1\xF9\xDA\x2E\xDD\xBE\xD8\xBD\xD7\x6F\xFE\xB4\xF9\xDB\x3E\xDA\xCF\xDA\x4F\xD9\x1D\xD8\xE0\x02\x40\xE7\x09\x96\xD9\x72\xDA\x2F\xBD\x45\xD4\x78\xC7\x91\xDE\x6F\xD1\x38\x1A\xD2\x79\xD3\xD2\xCC\x8D\xDC\xC1\xD8\xB4\xC2\xE5\x5F\xB7\xBF\x60\x39\xDC\x09\xDC\x97\xD4\xC2\xDD\xE3\xD6\x70\xF3\xAF\xE9\xDB\xF5\xD7\xF5\xD9\xCA\xD6\xB7\xD9\xB7\xCC\x59\xFB\xAD\xAE\xD6\x7D\xD6\x98\xD7\xDF\xD4\xC9\xD3\xD6\xCE\x72\xD8\xAF\xD0\xDC\xD8\xD6\x29\xDC\xF6\xD0\xB4\xD6\x6C\xD3\x4E\xF5\x9C\xA0\xD3\x6C\x1A\xA1\xD3\x68\xD2\x8B\xC5\x9A\xDB\xEF\x95\xB0\x9A\xCF\x0D\xDD\xA4\xD2\x06\xDD\xF3\xC7\xD1\xC4\x73\xCE\xB1\x89\x02\x0F\xDD\x67\xD6\x47\xD9\xCD\xD6\xA3\xC0\x45\xD1\xB1\xF1\xD7\x6E\xDC\xC0\xCC\x86\xDA\x41\xDF\x67\xCE\x6C\xFE\xA1\x90\xDB\x80\xD0\xC9\xDB\x2B\xD4\xB2\xD6\x9F\xD6\x6C\xC7\xA7\x98\xDB\xDD\x8A\x3F\xDF\x58\xD8\xD0\xD3\xD6\xC2\x74\xE3\xB5\x84\xDD\x90\xD0\x7A\xD4\xAB\xA6\x84\xC6\xE0\xC5\x5F\xEC\x90\x93\xDD\xF3\xC7\x4A\xDD\xEE\xD7\x06\x3F\xA3\x19\x74\xCF\x9C\x9E\x97\x11\xDD\x4E\xDF\x84\xDF\xD3\xD5\xE1\xD8\x6D\xD4\xB1\xEA\xCF\x3E\xDC\xE2\xD6\xC0\xD3\x6A\xD4\xB0\xCC\x69\xE2\xAB\xAE\xDA\x6D\xD4\x98\xDB\x92\xDC\x86\xD1\xA7\xC7\x71\xF5\x80\xA9\xDC\x6D\xBC\xE6\xDA\xBE\xCE\xB9\xD5\x64\xC6\x74\xE7\x9D\x88\xDD\x30\xBA\xD1\xD0\x44\xDD\xA4\xBD\xE8\xDC\x22\xDF\xB2\xC8\xD2\x61\xC8\x60\xDC\x69\xD2\xD8\xD1\xDB\xDE\x60\xCE\xB8\xE7\xDC\xC0\xAB\xE2\xA8\x63\x02\xAA\xD6\xDB\xC0\x75\xCE\xBB\xE8\xDB\xD0\xDD\x50\xDC\x30\xC2\xAB\xDE\x7E\xDC\x6A\xD8\xAF\x9F\xDC\x3E\xDB\x10\xDD\x92\xDB\xC4\xD4\xE2\xA6\x6E\xFD\x98\xC8\xDB\x91\xCE\xE5\xD9\x0B\xD2\xDC\xD3\x76\xC5\x5B\xEC\x8F\x98\xD9\x39\x04\x48\xC8\x76\xD3\xD1\xD3\x49\xCD\x77\xD5\x92\x8F\xDD\x6F\xD8\x7B\xDE\x26\xCD\x02\x70\xB9\xCB\x2A\xF5\xB8\x93\xD7\x37\xDD\x7A\xDC\x54\xDA\xDF\xD6\x11\x1C\x77\xEC\xB9\xDF\xD4\x02\xDF\xA7\xD5\x4A\xD4\xE0\xDB\x92\xC6\x78\xE3\xB5\x88\xDE\xD8\xD6\x85\xDE\x4F\xDA\xC9\xD7\xD9\xDC\x73\xF5\xB2\xB2\xDD\xB5\xD8\x5A\xDD\x2D\xDE\xD6\xD5\xCB\xD8\x75\xFE\xB4\xEB\xC6\x39\xBC\xAB\x11\xC9\xDF\x47\x17\xF2\xC7\x62\xFA\xAE\xE6\xDC\x38\xDC\x96\xDE\xE9\x0A\xBC\xDE\xB6\xCC\x76\xED\xB9\xFF\xDD\x17\xDC\x38\xDD\x86\xD9\xE3\xC6\xEA\xC6\x5E\xE8\xBA\xC8\xD7\xAA\xDD\xAF\xD0\xAB\xDF\x48\xDE\xEA\xDE\x69", -"\xE5\xB8\xD0\xD7\xFC\xD3\x5F\xD7\x2F\xD9\xCA\xDB\xD6\xDE\x29\xEF\xAE\xC6\xD5\xF1\xC9\x08\x1F\x8B\xD7\x7D\xDF\x80\xD4\x77\xE6\xB2\xCF\xDE\x98\xDC\x7C\xDD\xB2\xD8\x84\xD3\x9B\xC4\x6F\xD1\xA8\x89\xDB\x26\xDB\xC5\xD8\x90\xDB\xA4\xDD\x84\xDD\x56\xCF\xB6\xD4\xDD\x91\xDA\x6B\xDE\xC1\xD0\xDB\xD4\xAE\xDA\x76\xFD\xBC\xDC\xDD\xE8\xD5\xB4\xDD\x4D\xDB\xED\xD1\xE8\xCD\x7B\xED\x93\xEF\xDE\x96\xD9\x3A\xBE\x95\xD3\xB5\xDB\xE0\xC3\x76\xD1\x5C\x45\xDD\x7A\xDE\x4E\xDC\xDF\xDF\x46\xDE\xF7\xD9\x51\xC0\xBE\xA3\xD6\x14\xD5\x92\xD8\xEA\xDA\xD6\xC6\xB7\xC7\x7C\xF9\xAF\xD5\xDD\xFB\xD7\x96\xD9\xFF\xD7\xA5\xDF\xBF\xDB\x55\xD0\xBE\x8C\xD6\x92\xDE\xFC\xD8\xB8\xD8\x72\xC4\xF1\xD5\x3C\xE4\xBB\x9A\xCB\xC5\xD9\x8C\xDA\x75\xDF\x4F\xDD\xE0\x08\x2A\xFC\x33\x44\xD1\x76\xDE\x4D\xDD\x83\xD8\xF4\xD1\xF5\xD8\x86\xBE\x50\xAE\xDE\x56\xDE\x98\xDC\xD6\xDF\xCD\xD1\xF0\xD3\x7E\xC2\xB2\xD8\xD8\x84\xD8\x9B\xDD\x2D\xD8\xE7\xD3\xD6\xDA\x79\xD8\xAF\xBC\xDE\xAF\xDC\x9F\xDC\x2F\xDF\xAC\xDE\xA4\xDC\x6C\xD0\xA9\x96\xDF\x16\xBE\x51\xD6\x85\xC4\xF3\xDB\xDD\xD6\x74\xE7\xB2\xF9\xDE\xCD\xDF\x56\x98\xF4\xDD\xF4\xDC\xB4\xC7\x7D\xC3\xAF\xA4\xD6\x8C\xDA\xC2\xDD\xD7\xDB\x56\xD7\xBC\xCE\x6F\xE1\xBD\xCA\xD7\x63\xDF\x5C\xD4\xC3\xDF\x78\xB2\xFE\xD3\x69\xDE\xBB\xE7\xBB\xBB\xDF\xB2\xC7\x7E\xDB\xCA\xDD\xE2\xDA\xDE\x81\xBF\xCC\xDA\xA0\xC8\x65\xD4\x2C\x23\xE9\xD9\x89\xCA\x7E\xE5\xB9\xF0\xDF\x2A\xDE\xF0\xDA\xD4\xDB\xFE\xD6\xB9\xCA\x4F\xF7\x90\x80\xD9\x31\xDE\xF7\xD2\xE1\xDF\xD4\xD8\xF8\xC9\x75\xCA\xBE\x93\xDB\x8C\xDE\x84\xD6\xE3\xD9\xFC\xD7\xFB\xC6\x71\xF9\xBE\xCF\xDC\x09\xE0\x27\xC8\xFA\xDA\x3B\x9D\x00\xF7\x84\x86\x99\x8D\x1C\x7F\xBF\x37\xDA\x43\xD4\xE9\xDE\xFE\xD8\x7B\xC6\x04\x46\xDD\xB2\xD6\x55\x9A\xE8\xDD\x63\xD1\xC2\xDD\x80\xED\xAA\x9F\xE0\xA3\xDC\x19\xD5\xA9\xDA\xC8\xD7\x5B\xC4\x72\xE0\xAE\xC6\xDC\x8F\xBA\x24\xDF\xCE\xDB\x00\xE6\xCC\xA5\x80\xD9\xB6\xAF\xE0\x7F\xDD\x18\xE2\xCC\xC3\x06\xE4\xB6\xCA\x60\xE6\xAD\x8D\x1C\xF1\xCA\x13\x0F\xED\xD1\x54\xCD\xF4\xDA\x64\xF9\x58\x4C\xDF\x19\xE0\x34\xDF\x06\xE4\xEA\xDC\xBB\xD4\x7F\xFE\xAE\xF6\xDF\xD1\xDC\xFC\xDF\xE0\xDA\xB1\xD5\xF8\xCD\x7D\xE4\xC0\xAF\xDF\x89\xDF\xD8\xDF\xB5\xDB\xF6\xD9\xED\xD5\x7D\xCE\xAF\xAD\xE0\x68\xDF\x5E\xDB\x37\xD2\x0B\xE0\x30\xCB\x80\xC3\xBA\xB5\xE0\xBA\xB7\x63\xD5\x1A\xE1\xC1\x24\xFC\xDC\x30\xC4\xAD\xF5\xDE\x64\xE1\x1E\xE0\xB1\xD8\xEA\xDB\x08\xFB\x7B\xC4\xC1\xFD\xDE\x46\xE1\x11\xD8\x2B\xDD\xFA\xDE\xCA\xC9\x61\xD8\xBF\xDB\xDA\xB2\xD9\x16\xD8\x14\xE3\xE6\xB2\x05\xFF\x7E\xD4\xC1\x80\xB5\xB0\xDD\x4B\xA0\xD0\xDA\x7A\xD6\xFE\xCC\x5D\xC6\xC2\xB7\xDD\x88\xE0\x6E\xBB\x03\xC0\x6D\xD1\x57\xC3\x73\xDE\xBE\xE7\xE0\x94\xE0\x08\xDF\x10\xE1\x24\xD1\x8F\xD9\x84\xEB\xB2\xC8\xE0\x5A\xDE\x52\xDE\x86\xD8\x48\xDC\xE1\xDA\x7E\xDE\x6C\xB6\xD5\x5D\xD8\x18\xDA\xCD\xBF\x14\xE7\x09\xA7\x7B\xE3\xB1\xD8\xE0\xB3\xDC\x42\xE3\x5A\xCF\x15\xE5\xF4\xD1\x85\xF8\xB5\xD8\xC3\x0D\x1C\xC7\xD6\x46\x11\xA9\xDD\xFE\xD7\x85\xE0\x56\x68\xE0\xBA\xE1\x35\xE2\x8E\xDA\xBA\xCC\xE3\xD2\x7E\xDD\xC2\xCF\xDD\x3D\xD5\x38\xE3\x49\xDD\x78\xDC\xFF\xDF\x7A\xFE\xBF\xA7\xE0\xAB\xDD\x14\xE0\x2E\xDB\x05\xE6\xF6\xC9\x85\xD9\x76\x87\xE0\x56\xB8\x69\xE3\x2E\xD4\x1A\xEE\xBA\xDF\x7D\xC9\x9F\x8F\xE0\x7F\xDB\xD3\xD9\x23\xE5\x76\xD2\xEF\xCC\x74\xC9\xBF\xC7\xDD\x70\xD9\x7B\xDD\xFC\xDF\x98\x9C\x01\xED\x18\x17\xAE\xD7\xDE\xE7\xE0\x80\xDD\x3A\xE1\x04\xE2\xED\xDD\x6D\xED\xB7\xF2\xD3\xEF\xDB\x97\xD1\x29\xE3\xAC\xD0\xFE\xD5\x87\xD6\xC1\xB1\xDD\xF8\xE1\x03\xC0\xE5\xDD\xD6\xDC\x05\xFC\xE4\x98\xBE\xB4\xD0\xF3\xD9\xA5\xD1\x3D\xDF\x81\xDC\x08\xEE\x36\xE0\xAF\xD0\xCD\xE2\xD6\xB8\xCC\xA4\xD9\x59\xD5\xAE\xB7\x36\xDF\x6B\xA6\xCF\xFD\x15\xBB\xDF\x24\xE0\x03\xE1\x0E\xEE\x7E\xC3\x33\x8D\xE2\x97\x94\xC4\xD8\x55\xD4\xF0\xD0\x02\xF6\x7E\xC3\xBC\x9F\xE1\x05\xDF\x50\xE2\x21\xDB\x14\xEA\x47\xC1\x80\xDF\xB1\xCC\xE1\x17\xC9\x8F\xE2\x2A\xE1\x24\xE6\xB3\xD2\x78\xF9\xA4\xAB\xDC\x8E\xD1\x93\xE2\xB1\xC9\x25\xEB\x0E\xCE\x47\x1D\x83\xE6\xE0\x39\xCF\x99\xB2\x04\xD9\xD5\x24\xC1\xD3\x3E\xF3\xC4\xC1\xD6\x0A\xCF\x82\xE1\xC7\xDF\x20\xE1\x04\xF7\x57\xFC\xC4\x96\xE0\x6A\xE0\x9F\xE3\x85\x00\x28\xE5\xAD\xC2\x8A\xE4\xB0\xBB\xDB\xE9\xCF\x89\xE2\x51\xE1\xAB\xD8\x14\xF5\x79\xCA\xC5\x9E\xDC\x4C\xE3\x21\xCB\xF2\xBD\x88\xC5\xBA\xDB\x31\xCE\xBC\x8F\xCF", -"\x10\xDF\x9B\xD2\x55\xE0\x45\xD8\x15\xFB\x49\xD6\xC3\xD3\xC5\xC8\xD8\x40\x15\x26\xDC\x25\xE1\x70\xDA\x39\xC4\xB1\xBC\xCE\x92\xC3\xEE\xD2\x1D\xDD\xC1\x16\x12\xC0\xD7\xB8\xC4\xDC\x18\x3A\xE3\xCF\xDD\x2E\xE0\x2E\xE9\xEF\xD2\x8B\xFB\xBB\xEC\xE0\x74\xDE\x37\xE3\x6D\xD9\x22\xE9\xF5\xDC\x84\xF8\xC5\x9E\xE1\xB0\xD9\xEC\xDF\x5F\xE5\xC8\xD8\x0C\xE8\x64\xCA\xC3\x91\xC1\x65\xDE\xEC\xD6\x33\xE6\x91\xD0\x0D\xE1\x7A\xFA\xC3\xC2\xD5\x25\xE3\x9D\xD6\x56\xE0\x12\xD1\x19\xE9\x49\x00\xB1\x94\xE3\x42\xD8\x76\xDF\x1C\xD9\x1D\x4C\x15\xD2\x89\xE1\xBC\x91\xDD\x77\xD8\xB5\xE0\x51\xD6\x16\xEB\x08\xFE\x81\xCE\xB5\x8B\xE2\xCF\xDE\xD4\xE2\x1F\xDC\x28\xE9\x04\xE6\x5A\xCB\xC1\xC4\xE1\x43\xDC\x63\xE0\x59\xB1\x30\xE0\x2C\xD7\x8D\xE1\x93\xB9\xE3\x63\xDB\xDD\xE2\x7D\xDC\x2A\xE5\xB8\xC9\xEF\x87\xAE\xBD\xDF\xC2\xC9\xE1\xE3\xD1\xDD\x38\xEB\x79\xA7\x8E\xF4\xA5\x8D\xDC\xCD\xD9\xAD\x13\xE7\xCF\xDD\xDE\x9D\xCD\x70\x18\x86\xA3\xD9\xDC\xB4\x7D\x10\x0F\xE6\x1B\xE2\x40\xC3\x8D\xC8\xC4\x9B\xDD\xE2\xE0\x35\xDD\x6D\xDF\xE5\xD6\xDE\xDB\x8B\xFF\xB8\xD7\xDA\x14\xE3\xAC\xD0\x4A\xDB\xCE\xD7\x11\xF5\x55\xD9\xC4\xC5\xD4\xE6\xE3\x07\xB9\x47\xE2\x37\xE6\x0F\xFC\x25\xC2\xC2\x88\xD2\xBF\xE3\xB0\xCC\x7C\xE7\x5D\xDE\x0F\xFD\x49\xC0\xC4\xAE\xDB\xCD\xCE\x8C\xDE\x03\xD9\xEC\x3C\x22\xEA\x0E\xE3\xAF\xE4\xC2\xCE\xD8\xE7\xC2\x59\xE2\x0C\xEB\xCC\xD4\x66\xDD\x6B\xDD\xC5\x27\x03\x12\x23\x99\xC1\x54\xCD\x68\x11\x67\xC9\xC4\xF9\xE3\x2D\x12\xD2\xD8\x8A\x3C\x81\x0C\x8A\xDC\xCB\x93\xB4\x88\xDC\x27\x03\x18\x20\x38\xDD\x74\xBD\x23\xE2\x7E\xD0\x9C\x83\xE2\x34\xB3\xEB\xC2\x40\x02\x62\x9C\xAD\xBE\x71\x3F\x28\x4D\xE4\x10\xE1\x4F\xCF\x58\xC0\x2A\x1E\x72\x17\xF1\x05\x08\x4B\x4B\xBA\xDC\x73\xA5\x65\x58\x22\x15\x24\xE1\x26\x25\x6B\xDB\xC3\x53\xE4\x70\xB6\x95\xE0\x8A\xD7\x20\xED\x70\xDB\xC9\x8D\xD8\xA1\x17\xCC\x58\x57\x00\x4C\xE0\x97\xC9\xCE\x63\xC9\xC6\xE4\xC0\xC6\x82\x05\xB9\xB0\x9B\xD6\x10\x14\x92\xDB\x6B\xEB\xE4\xA9\xD9\xB6\xE1\xF9\xD7\x4D\xE9\x6C\xCB\x0C\x02\xB4\xC5\x50\x74\xE5\xB3\xB9\x43\x0F\x4E\xE4\x24\xF0\x29\xFA\xC9\x8D\x1C\xDF\xD9\x3E\xE6\x9A\xE4\x49\xE2\x09\xF1\xB8\x04\xCA\xFE\xCD\x8B\x03\x10\x22\xA2\x01\x51\xE3\x93\xBA\x6F\x0C\xCA\xBD\x02\x65\xE4\xE7\x01\xB9\xB4\x9F\xD9\x26\xFF\xD6\x80\xCA\x86\xDB\x82\xE5\x84\xE3\xA5\xE3\x7B\xD0\x5D\x0E\x39\x11\x79\x53\xDE\xA5\x59\x30\xE6\xF8\xBF\x53\xEB\x22\xE3\x51\xCF\xCA\x91\x1C\x7E\xE4\x00\x01\xAE\xE1\x5B\xB7\x2A\xE3\x6F\xE9\xCA\xF6\xDD\xAB\xE4\x7A\xD8\x74\x0A\x55\x24\x92\x1C\x94\xD4\x38\x1E\xE5\xAB\x5B\xDB\x59\xA8\xE6\x7C\xD1\xE1\x1F\x7F\x3F\x5E\x13\xE5\xAA\xBA\x2C\xE5\x40\xE2\x4B\xEC\xC0\xC5\x94\xE5\x01\x21\x17\xC5\x5B\x75\xBB\x7B\x4A\x56\xEE\x61\xC0\x00\x34\xCA\xCB\xE5\xB7\xBA\x07\x23\xB3\xE6\x54\xE4\x29\xE4\x90\xC0\x51\x41\xE5\x2A\xE2\xE8\x08\xB0\x27\xFA\x16\x2C\xF0\x70\x08\xCB\xB6\x5B\x3A\x38\x70\xE5\xB9\xB2\x03\x23\x2E\xFE\xD6\xBD\xCA\xD5\xDE\x6D\xE5\xFC\xC4\xBA\xE5\x2B\xEE\x6D\x0E\x39\x33\x76\x6D\xE5\x0C\x1D\x77\xE6\xC9\x68\x4F\xEA\x5B\xD7\x95\xD5\x38\x3A\xE4\x92\xE4\x72\xE5\xB4\xE5\x52\xE9\x63\x3B\x97\xC9\x1B\x2E\x0E\x08\x5A\x80\xE4\x82\x1A\x60\xED\xDB\x64\x98\xF6\xCA\xE6\xE4\x0D\x1C\x25\xE6\x41\x04\x5E\xEE\xAD\xB1\x78\x17\xC9\x8C\xE6\x61\xE3\xBC\xD8\x4D\xB1\xE3\xB6\x10\x0E\x96\xDD\xCC\xE5\xE5\xD5\xE3\xE4\xE3\x75\xDC\xC7\x11\x11\x29\x08\x22\xCB\xA7\xE6\x0B\xE6\x73\xE6\x9F\xD3\x9B\xD7\xDB\xA7\xD7\xBB\xCA\xD8\xB5\xF7\xE5\x36\xE3\xAF\xE5\xC1\xDC\x15\xE9\x36\x0B\xCB\xBE\xE4\x47\x08\x98\xE3\xE6\x17\x67\xEA\xCD\xD6\x66\xE7\x04\x39\x20\x12\xDB\xA4\xE6\xD2\xE1\x5B\xB6\x34\xF5\x2F\x48\xB4\xE0\xB5\xD1\xA5\x0B\x43\x88\x0D\xD7\xDF\x23\xEB\x9A\xD6\xCD\xF6\xC4\x06\xDA\x76\x3F\xD5\xE3\x6B\xEC\x35\xF0\x92\xE1\x72\xA4\x0D\xD2\x4B\xAE\xE6\xD8\xE3\x6C\xE4\x36\xF3\xC9\xB5\xCC\xD2\xE3\x08\x1D\x70\xDB\x4C\xB3\x9C\xD7\x1F\xFE\x5E\xD5\x38\x65\xB5\x11\x1F\x48\xD2\xB8\xB7\xB6\xBB\xE3\x14\x72\xC2\xB8\xCE\xC4\x7C\xC3\x59\x13\xF2\xCB\x88\xD5\x23\xF1\xB1\x79\x0A\x64\xC3\xA4\xE3\xCA\xE1\xD9\xE3\x70\xEC\xB8\xC8\x92\xC9\x04\x60\xDC\xDB\xB5\xBA\xB5\xB7\xE4\x55\xA2\x18\x40\x79\xFB\x23\x59\xCF\x7E\xE7\xDF\xC4\xE1\xE3\x6C\xE8\x89\xC9\x08\x38\xA5\x89\xE7\xA5\xB7\x07\x08\xDF\xE5\x45\xEC\xCC\xCD\x9A\xC6\x04\x4A\xD2\x93\xE7\xD0\xE6\xC8\xE1\x94\xBC\x7F\x08\x98\xDD\x6B\x81\x26\x9B\xDF\x6D\xB6", -"\xF4\xCF\x45\xED\x70\xDB\x4A\x02\xC9\xF7\x5A\x8D\xE5\x3C\xE5\xEC\xE7\x6D\xE6\x38\xE6\x08\x1A\xCC\xFD\xD9\xA5\xB6\xE4\x0F\xE6\xE1\x39\xCC\xCC\xCB\x99\xFF\x03\x52\xE4\x01\x03\x9B\xE7\xB5\xB1\x67\xE9\x7C\x00\xD7\xAB\xCE\xF4\x1A\xE2\xD9\x06\xD9\x97\xE2\xF0\x12\x31\xE7\x70\x14\xCC\x8A\x5B\xA0\xE4\x47\xE4\xC6\xE1\xC2\x18\x26\xE1\x9E\xD0\xCB\xA1\xC5\xBA\xE6\x6C\xB7\xF1\xE3\x38\x0E\x30\xF7\x4D\x31\xC9\xE2\x00\x45\x3C\x58\xE6\x7A\x5E\x62\xEE\x2E\xEB\x94\xC9\xCB\xF1\xE5\xD2\xE6\x51\xE5\x83\x1C\x4F\xE3\xB1\x97\x9E\xF8\x98\xD9\xE7\x96\xE3\xBE\xE4\x34\x53\xAD\x14\xE1\x10\x4A\x07\xCA\xFB\x3C\xCD\xE7\x47\xE3\xAC\xE7\x7C\xE4\x26\xE9\x9F\xCC\xCB\x95\x1C\x91\xE5\xF6\xE6\xC2\xE0\x7B\xE6\x3C\xF0\x9C\xF3\xCF\xAC\x0C\xDD\xE6\xDD\x16\xA6\xE5\xE5\xDB\x2D\xF5\x93\xC1\x4A\x5F\xE5\xFE\xE7\xDB\xB8\xA9\xE6\x7A\xE3\x40\xEF\x9F\xC5\xD0\xF2\xE7\x89\xAA\xE4\xE7\xDA\xE2\x79\xED\x8E\x0F\x95\xF9\xCF\xC9\x73\xAC\xA4\x08\xEA\xEC\xE2\x7D\xE8\x2B\xE7\x09\x02\xCF\xB3\xB2\xC4\xE6\xF8\xE7\x4C\xB3\x7B\xED\x6B\x15\x96\xD8\xCA\xC5\xDA\x57\x0B\x22\xDB\x07\xE9\x50\x21\x42\xFC\x9F\xE4\xCF\xBA\xD6\x06\xE6\x9A\xB2\xC9\xE2\x80\xE6\x2F\xF9\x9D\xD7\xD0\x9C\xE7\xDA\xCF\x04\xEA\x57\xE7\x5A\xE2\xAC\x19\x96\xF8\x75\xB1\xE5\x0E\xE9\x1A\xE8\xBC\xE5\x7F\xE3\x42\xFF\x9F\xF4\x64\xAF\xE6\x3C\xE9\x6E\xB5\x0A\xEF\x87\xEC\x3B\xE1\xA2\xEE\xD0\xAC\xE5\x8B\x03\x75\xE5\x74\x5B\x86\xEC\x2A\xAA\xA2\xC3\xCC\xB3\xE7\x17\xE6\x12\xE9\x85\x1C\x63\xE1\x45\xF5\x92\xFE\xD0\xDF\xB5\x2C\xE8\xE6\x0B\x15\xEA\x58\xEB\x18\x1E\x97\xF1\x75\x5C\xE8\xE6\xA4\x2F\xE9\xC5\xE0\x8C\xE5\xA7\xD9\xA1\xE1\x72\xA6\xE7\xA5\xE5\x1E\xEA\x6A\xBA\x85\xE4\xE1\x09\xA3\xE4\x1C\x6B\xE8\xE9\xE5\x36\xE9\x3B\x11\x62\xED\x40\xEA\x94\xF6\xC9\xB6\xE8\x74\xE8\x1C\xEB\xF4\xE5\xC2\x17\x3B\xE2\x08\x24\xD1\xDC\xB5\x1E\xE7\xD4\xE6\xB6\xB6\x8F\xEF\xE2\xCD\x70\x24\xCC\x83\x02\x3B\xE8\x48\xEB\x19\xEE\x5B\xB4\x49\xFE\x9A\xDD\x3D\x2D\xE6\x06\x02\x28\xEA\x26\xEB\x8F\xE4\x45\xF2\x66\xEE\xC8\xCE\xE3\xF9\xD8\x51\xCD\xBD\xE2\x8A\xEB\x49\xFD\xD6\xBE\xD1\xBD\xE6\xB7\x12\xA2\xE5\x96\xE6\x4A\x41\xBE\xC3\x9A\xFE\xCF\x8C\x1C\xDC\xCE\xA4\xDA\x19\xEA\xB5\xB2\xE3\xDD\x49\xED\xB5\x90\xD2\x33\xD1\x42\xDC\x50\xDB\xAE\xD2\xD4\xC9\x40\xE7\x8A\xF2\xC6\x5E\xDD\xA9\xB6\x03\xD7\x4F\xE5\xBA\xBD\xA5\xEC\xA8\xBF\xE9\x01\x03\xB7\xDA\x8B\xB0\x7E\x49\xE5\xD0\xFE\xB4\xB5\x95\x70\xD8\xC5\x0F\xD8\x37\xBB\x74\xED\xF5\x1B\x6B\xEC\xD2\xBC\xE9\xE0\xB4\x62\xDA\x7C\xE0\x7B\xD2\x37\xE8\x70\x08\x8C\x9A\x41\x68\xD0\x4E\x43\x8C\xE0\x94\xD5\xBE\xDC\x66\xE1\x72\xED\xD0\x7A\xE9\x50\xC6\x33\xEC\x4A\xDF\x18\xEB\xF5\x90\xB7\x81\x18\x39\xC6\x9A\x97\xCE\xC4\x6A\xE6\xEF\xDE\x9D\xD9\xB7\xDE\xB5\xA8\xE6\x5D\xE8\xE5\xC5\x9E\xE7\xE3\xBE\x9C\xF8\x98\xB1\xC4\x73\xCB\x79\xE8\xEC\xD3\x9C\xE3\xD6\xC5\xA7\xF8\xD2\xB0\xDC\xCB\xE8\x6D\xB4\xF1\xE2\xA1\xE6\xAC\xD0\xA6\xF2\xA0\xD7\xDC\x12\xD3\x61\xEA\x96\xD8\x0E\x06\x91\xC2\x9F\xF6\xC0\xB7\xBB\x88\xE7\xAE\xE1\xB7\xB6\xD7\x05\xD1\xC5\xEB\x84\xD4\x85\xD0\xE6\xDD\xE7\xCD\x5B\x10\x7E\xCC\x06\x19\x4E\xC7\x38\x5B\xD3\xFC\xE8\xE8\xE1\x83\x18\x74\xE1\xE0\xD7\x03\xF8\x98\x94\xEA\x96\xD9\x93\xEB\x8B\x34\x5B\xE0\x18\x1C\x75\xFC\xC7\x9B\xE3\x11\x1D\xCB\xE6\x48\xEC\x5B\xB4\x52\xF1\xA8\xC5\x99\xBA\xEA\xA8\xBA\x15\xE5\x6B\xB9\x47\x0E\x52\xE4\x3D\xD0\x06\xE5\x14\x8E\xDD\x75\xE8\xBC\xDD\xC1\x1B\x9A\xC1\x73\xDB\x6B\xC5\xEA\x02\xEA\x0B\xCC\x43\xED\x96\xDE\x93\xDB\x42\xF5\x77\xD6\xD3\xF7\xBA\x8E\xDF\x74\xE1\x1A\x65\x3F\xD1\xA9\xF4\xC4\x8D\x1C\xE0\xD3\x3D\x0C\xB8\xB1\xA0\xE9\x83\x1C\xFE\x9B\xD5\x9F\xB7\xC6\xC8\xA5\xDC\xB7\xB4\xAD\xE4\xCA\xA6\xA9\xEF\xD5\xAA\xC5\x2E\xD4\x36\xE7\x8F\xC5\x99\xE1\x4E\xF5\xDC\x88\xD5\xFD\xBE\x73\xDE\x3E\xE8\x84\x1B\xA2\xED\x57\xFA\x16\xFF\xD5\xC8\x43\x27\xE5\xEE\xDB\xBA\xDE\x77\xE6\xFC\xD8\x3D\x0F\xCD\xE0\xE9\x61\xB8\xF5\xDE\x8C\xC1\x9E\xE7\x53\xE5\xAC\xCE\xC0\xF7\xEA\x86\xEB\x9F\xD5\xCA\xE7\xBF\xB5\xAE\xB1\xFA\x93\xC0\xF3\xEA\x7C\xEA\xB7\xE9\x89\xE5\x62\xD5\xAE\xB9\x81\xEC\xD3\xFB\xEA\x90\xEA\xBB\xEB\x68\xEC\x4A\xD6\xB1\xD0\x0E\xCC\xD3\xA9\xEB\xE5\xC3\xC3\xEA\x22\xE1\x34\xE9\x63\x3E\xA4\xFC\x38\x1D\xCC\x2E\x0C\x84\xEA\x3D\xC8\xA7\xE4\x83\xD2\xAD\xF3\xC2\xC9\xCC\xA0\xEA\xD8\xEA\xDA\xC2\xB6\xE5\x38\xF1\x70\x1A\xC3\xB1\x13\xDF\xE8\x79\xEA\x65\xEE\x06\xE2", -"\x5B\xE9\xAC\xF6\xB8\x8B\xEB\xBE\xE6\xDB\xD7\xB7\xB0\xAB\xED\x56\xEA\xAD\xD6\xBC\xEA\xC6\xB0\xE8\xDD\x16\xD3\xDA\x65\xE3\x93\xAF\x36\xD0\x31\x51\xCD\x8E\xE7\xA9\xE9\x84\x1E\x26\xEE\xAD\xB4\xAE\xF5\xD5\xB1\xEB\x98\xEA\xED\xB5\x76\xEB\x88\xEB\x5D\xFB\x64\xE2\xC5\x83\xCE\x13\xD8\x72\xC1\x78\xED\x3F\xE1\xE1\x0B\x38\xE0\x6B\xE6\xEB\x99\xC6\xF4\xEB\x6A\xEA\x4F\xD4\x1F\xEE\x63\xE7\xD6\xFD\xE9\xDA\xE7\xCB\xE3\x45\x45\xE7\xC0\x16\xF3\x3B\xD1\x38\x1D\xE3\xD3\xEB\xD0\xEA\x75\xEE\x0B\xE5\x76\xCA\x91\xED\xD7\xB5\xEB\xCA\xE2\x4D\x90\x1D\xDF\xA7\xE1\x01\xF1\x8E\xCA\xB1\xD7\xEA\x0A\xEC\xFD\xEB\x75\xEC\x72\xCD\x5F\xF6\x8F\xD6\xB0\xEE\xE6\x33\xDC\xFD\xE2\x27\xDB\xBE\xE0\x54\xF5\x70\x3F\xC7\x9A\x91\x95\xBB\xF3\xEB\x70\xE9\xBD\xEC\x5C\xFA\xAC\xF4\xD6\xA0\x2B\x1D\xED\xC9\xE0\x8B\xE5\x8A\xE1\x39\xFD\x69\xF0\x82\xB1\xE4\x9F\x32\xC7\xE5\x27\xEC\x76\xE1\xE1\x1A\x53\x15\xD5\xA3\xC4\x50\xE6\x95\x76\xA6\x32\x87\x33\xC5\x48\xA5\xD4\xD3\xD8\xB5\x40\x1A\x02\x3A\x16\xED\x51\x3F\xB9\xB4\x70\x38\xC8\x89\x02\x78\xE8\x20\xEE\x6A\xB9\x66\x15\x64\xC0\x92\xF3\x7C\x2F\xE7\xE8\xE7\x26\xE9\x82\x19\x6B\xE6\x3B\xEF\xAC\xE1\x8A\xD4\xEC\x9A\xCA\xDB\xEB\xEF\xE6\x84\xEE\x3E\xF3\x2B\xE0\xD9\xC9\xCF\x42\xE9\x7E\xE5\x3B\x16\x4B\xE4\x06\x10\xA3\xE2\x7F\xF2\xE8\xD0\xE7\x5A\xE5\x1D\xEB\x91\xE4\x93\xB5\x9E\xFA\xCA\xE5\xEC\xF6\xC9\x33\xED\x4F\xD1\xCD\xEA\x2E\xE2\x56\x32\xC9\x9E\xEA\x07\x91\x1B\xEB\xC4\xE6\x7C\xEB\x44\xE2\xB4\xCB\x97\x37\xBB\xEC\xE7\x3C\xE9\x72\xE8\xC7\xCA\x67\xEC\x51\xFC\xD9\x86\xE5\x56\x13\x32\x42\x9B\xEB\x71\xE2\x26\xE8\xA4\xD1\xCF\xCD\xE8\xB7\xBB\x00\xEA\xA2\xEB\x97\xEF\x65\xEB\xAE\xC9\xC2\x8F\xED\x65\x01\x05\xE8\xA0\xEC\x18\x92\x68\xEE\x9E\xC4\xDA\xDF\xE8\x97\xED\x82\xE4\x9D\xE9\x94\xB3\x41\xF7\xB3\xD5\xD0\xE6\xEC\x9E\xEC\x6E\xB8\xA8\xEE\x55\xEB\x29\xE5\xA4\xDD\xCA\xA7\xED\x73\xE9\x54\xED\x18\xEE\x89\xE1\xCA\xB9\x95\xE7\xD0\x94\x1C\xC4\xE7\x46\xEC\x95\xD0\xD4\xE4\x2C\xF6\xF3\x13\xDA\xCF\xE7\x03\x5A\x79\xE5\x83\x19\x93\xE4\x41\xF4\xAC\xF0\xDA\x9D\xD3\x80\xE8\x7E\xE5\x9F\xEE\x57\x96\x44\xF0\xA1\xCF\xB3\x3C\xEA\xD8\x17\x42\xED\x22\xEC\x70\xD6\x47\xFD\x7A\x22\xD2\xCD\xED\x8B\xED\x67\xED\x59\xB8\xD4\xEA\x45\xF3\x1B\x07\xDB\xB8\xED\x71\xEC\x65\xED\x84\x1F\x91\xE0\x6E\xFC\xB4\xCC\xDA\xB1\xED\xA2\xC5\x59\xED\x3B\x17\x5F\xE6\x6B\xE7\x96\xE8\xDB\xC9\xED\x11\xE9\x72\xB5\x94\xEE\xD5\xEE\x6C\xF9\xB3\xF0\xDB\xD3\xC5\xF2\xED\xB0\x14\x21\xE8\x89\xE6\x48\xEF\xA0\xD6\xDA\xF2\xEC\x8A\xE8\x31\xE8\x4D\xB5\x91\xE1\x10\x0C\xB7\xDA\x6B\x91\xE9\xE7\xBD\xB7\xD0\xD3\xE5\x5C\xB7\x49\xE2\x08\x0C\xDB\x8F\xEE\xA5\xB6\x61\xEE\x9E\xD0\xB5\xD5\xE1\x00\xA5\xC3\x04\x5F\xED\x18\xEF\x29\xEF\xBF\xEE\x9E\xE7\xCE\xC7\x9B\xEB\xD2\xEE\xED\xE2\xED\x06\xED\xF2\xE6\x5A\xE2\x4B\xF3\x96\xF4\xD2\xC2\xE6\x86\xED\x7A\xEF\xDC\xE5\x5C\xBA\x25\xA9\xAB\xE2\xCE\xB7\xEE\xE1\xB4\x83\xEA\x40\x04\x25\xB8\x73\xFD\xB9\xDC\xD3\xBC\x1C\x5A\xA5\x03\xD7\x28\xEC\xAF\xD7\x34\x01\x01\x6F\xC8\xCD\xEA\x3E\xEF\xA2\xE5\xE8\xB7\x24\x03\xF7\xCA\xD7\x92\x8C\xA6\x18\x54\x44\x0A\xEF\xF0\xD9\xE9\xE4\x39\xFA\x67\xC9\x04\x44\x21\x3B\xE4\xD6\xD0\x82\x1C\x69\xB1\xAF\x0D\x0D\x15\x6D\x48\xEE\x2D\x13\x99\x3D\xDF\x88\xAE\xDF\x61\xF0\x60\xD4\xDD\xE7\xEE\xEE\xE9\xAE\x1D\x3A\xD2\x2F\x39\xCD\xD7\xED\xBC\xDC\x83\x02\xCE\x21\xAC\xEC\xB7\xB6\x8E\x14\x2A\x58\x08\x4F\xD8\xA0\x2B\x42\xE8\x3F\x1B\x9E\x1D\x35\x00\x76\xE8\xBB\xF4\xCC\xE5\xB5\x58\xEE\x83\x01\x63\xE8\x73\xEA\xDD\xCF\x48\xF2\x28\x2C\x14\x52\xEF\x27\xE6\xDF\xEE\x6A\xE1\xF7\xD5\x70\x2C\xDD\x82\x02\x15\xEE\x29\xEE\xB7\xB3\x81\x3B\x37\x59\x8C\xF7\xDD\xEC\x2B\x79\xEE\x2E\x09\xE8\x14\x7C\x24\x6C\x4F\xFA\x8F\xDE\x81\x02\x9E\xEB\xC5\xEE\xE8\xEE\x77\xE1\x77\xE6\x08\x26\xD6\xBA\xEB\xDA\xB4\xCA\xEC\x76\x46\xEE\xE5\x60\xE7\x97\xC8\xD9\xCE\x13\x04\x38\x97\x0E\x01\x3D\xEF\xE3\x7A\xF7\xD7\xB7\x76\xA5\xEF\x03\x03\x30\xE1\xED\xEB\xF7\xE7\x35\xF5\x0E\xE7\x04\x1E\xEE\xB6\xEF\x2D\x1F\x8E\x1D\xC3\xC5\xAD\xA9\x1F\xDF\x87\xFC\xE1\x95\xB6\xC0\xE4\x03\xC5\xF1\xE3\x10\x08\x32\xF3\x64\x91\x1E\x4F\x70\x99\xD3\x2C\x11\xFA\xEA\x72\xE1\x81\xCB\x6D\x78\xD4\xCC\xEF\x70\x97\xB5\xB1\xE2\x11\x19\x39\x9B\xE7\x04\x5D\xEF\x15\xC3\x36\xC6\x02\x1F\x93\xD1\xB5\xBB\x71\x3C\x55\xE9\xE6\x27\x03\x1F\xEC\xE2\xC2\x09\xE1\x10\x0A\xBF\xFC", -"\x9B\xE2\xEF\x53\x1A\xF2\xEC\x5E\xEF\x24\x07\x7E\xE5\xBE\xD9\xD5\xC7\xEF\x59\xEB\xF7\xEF\xB5\xB1\x1D\x29\xC4\x36\x64\xFC\xDE\xFE\xEE\xB7\xBB\x2C\xC6\x41\x07\x74\x83\x74\xFA\xBA\xC7\x38\x02\x10\x01\x4A\x2C\xB5\x23\x63\x0E\x02\x75\xB7\xED\x9B\xFD\x06\x02\x52\x22\xB9\xEE\x3D\xC9\xD1\xEB\xAD\xB2\xBA\xBF\x28\x70\x01\x75\xB7\x0E\xB3\x0A\xB5\x3A\xB5\x7B\xE6\xB9\xC6\x04\x04\x53\xA8\xEB\x50\xC4\x05\xF2\x5B\xB2\x75\xAB\xAF\xEB\xC4\xA8\xEC\x14\x76\xF0\x2F\x42\x4F\xEF\xE5\x3B\xE3\x08\x1C\x45\x7F\xEF\x49\xE7\x5C\xE9\x75\xEC\x02\xEA\x2E\x20\x99\xC5\xC8\xE3\xE1\xF8\xCB\x72\xE1\x83\xE4\x35\xE4\xFD\xDA\x8B\xFC\xE0\xD7\xDF\xB1\xE2\x50\xE0\xAD\xD0\x4D\xD5\x1B\xFF\x6A\xD9\xC8\xB9\xCC\x50\xE3\x84\xC1\x87\xE2\x83\xCD\x1B\xEC\x85\xCB\xC6\x9F\xD5\x8D\xE2\x15\xD6\x45\xEA\x9A\xE8\xE5\xDA\xA8\xD6\xD3\xC5\xE9\x38\xD0\x6F\xE7\x31\xE9\x5A\xD6\xD4\xC5\xD7\xAC\x8A\x85\xEF\x3F\x15\x56\xEC\xD0\xE3\xF9\xDA\x1D\xE1\x69\xC3\xC5\xF4\xE0\x45\xE3\x1F\xF3\x51\xE1\x08\xF9\x14\xE3\xC2\xF3\xB2\xC5\xF0\x20\xDD\x23\xF1\xFD\xCE\x0F\xE1\xC6\xC0\x84\xCF\xC3\x9F\xE4\x68\xD3\x10\xE6\x9D\xD1\x0A\xF8\xA7\xD3\xC2\xD1\xA4\xC2\xE9\xA4\xC5\xA0\xD8\xE7\xB6\xAE\xDA\x4D\xF7\x86\xCE\xD9\xCB\xEE\x5B\x12\x1A\xF2\x1E\x3E\x06\xFD\xA0\xC5\xC3\xFA\xE0\xF0\xE0\x11\xE5\xD4\xDD\xFE\xDC\x0E\xEB\xFF\xD1\x65\xEE\xE1\xA2\xE1\x70\xF1\x84\xDE\x1C\xF1\x1B\xD9\x84\xFE\xEE\x8B\xE1\xB4\xC7\x4D\xF0\x02\xDB\x48\xE3\xE8\xD1\x1C\xFE\x21\x44\xD7\xDC\xB7\x66\xD1\x84\xC5\x1A\xD1\xF1\xED\x4E\xFC\xB8\xF4\x64\xF0\xE9\x8A\xF0\x62\x38\x23\xF0\x99\xE8\x83\xE9\x46\xCF\xE2\xE7\xF0\x81\xDE\xAB\xD3\x24\xF1\x17\xF5\x89\xF2\x8D\xD7\xE2\xCB\xE2\x99\xF1\x9C\xDF\x26\xF7\xDF\x8D\x89\xFD\xE0\xAA\xC7\xCD\xDC\xEC\xE3\x75\xD6\xE1\xD5\x5D\xD3\x22\xF3\x58\xFB\xD7\x95\xEA\xD8\xB5\x49\xD2\x3E\xED\x12\xDC\x8A\xFF\x91\xD5\xCE\xA0\xE3\x69\xD6\xD5\xBA\x18\xF6\x49\xEC\xC7\xCE\xC4\xFD\xBB\xCD\xDD\x6A\xF0\x99\xDC\xE7\xD0\x3C\xED\x04\xE2\x8F\xD3\xD7\x5C\xDF\xB5\xD8\xEF\xDC\x47\xE5\x18\xF3\x66\xD6\xC3\xFC\xC6\xF8\xF0\x96\xD2\x3D\xF3\x01\xDA\xDB\xBD\x96\xDB\xB0\xCF\xB7\xBA\xEE\x76\xCD\x82\xEC\x8E\xCB\x1B\xF3\x4B\xFD\xC6\xF5\xE2\xF9\xD5\xB7\xF1\xBB\xE2\x7A\xD9\x2F\xEE\xAF\xD7\x7F\xEB\xC3\xD3\xDD\x78\xE0\x13\xE2\x1E\xE3\xF1\xDC\x07\xED\x7C\xF4\xE1\x8C\xD9\xEE\xF1\xF5\xE1\x28\xF7\x86\xDF\x84\xF8\x59\xC8\xDF\x94\xD9\xA7\xF1\x89\xEF\xE5\xC6\xA8\xED\x29\xC1\x15\xFC\xE3\xAE\xEE\xFE\xF0\x05\xE7\x8E\xDF\x1B\xF0\x11\xEF\x8D\xE8\xC3\x85\xF2\xEA\xE0\xD6\xDF\x84\xE7\x6E\xD4\xE7\xDA\x5F\xF6\xB9\xFC\xD7\x78\xDC\xFF\xD6\x9E\xD8\x80\xD7\xBA\xC0\x3E\xF0\xE3\xCB\xD3\xF2\xF1\x4B\xCC\x1F\xF2\x4A\xDE\x87\xE1\xA6\xF1\xB5\xD6\xF0\xB4\xC3\x2D\xDF\x1D\xC5\x78\xCA\x2D\xC0\xA9\xE8\xCD\xAD\xE7\x1E\xF3\x59\xF0\x17\xF7\x50\xD3\x92\xEC\x90\xD0\xE2\x8E\xE4\x25\xCB\x5D\xF3\xEA\xDD\x0E\xEB\x92\xEE\x7D\xED\xE4\xB0\xDF\x2F\xF2\xD9\xDD\x4C\xF4\xF6\xD3\x93\xF6\x7D\xF5\xE4\xD9\xD0\x37\xF3\x39\xD7\x28\xF7\xA6\xD7\x91\xE2\x66\xEC\xD8\x9F\xED\x4A\xEB\xA0\xD3\x48\xBA\xAC\xEA\x9D\xDE\x78\xC6\xA5\x97\xEF\x60\xC9\x99\xEB\x51\xF4\x16\xEB\x54\xDF\xC8\xE8\xC8\x9A\xDA\xA3\xDE\x4F\xDE\x6A\xE6\xDF\xD1\x8E\xEF\x90\xD0\xAD\xCC\xE0\x61\xD0\x27\xE3\x16\xDC\x3C\xE4\x38\xCE\x8A\xCA\xB2\xEC\xF1\x29\xCF\xAF\xF3\xCC\xD3\x22\xF5\xC6\xCB\xC6\xD1\xAC\xCD\xF1\x89\xD7\x67\xF2\xFF\xE9\x89\xE6\x2E\xBE\xA9\xE4\xD8\x95\xEC\x77\xD3\xB9\xF1\x22\xF3\xAE\xC6\x97\xEA\xAC\xF8\xE5\x97\xE1\xA4\xDE\x5F\xE2\x5D\xE3\x13\xEE\x83\xE6\xC9\xDF\xC7\xB4\xDE\x9E\xD7\xD9\xE3\x13\xE1\x18\xFD\xFD\xC3\xC6\xCC\x70\x1B\xE4\xE9\xE3\x4F\xF0\x83\xC9\x2C\xFA\xF6\xCD\x85\xD4\xAF\xBB\xF2\xD6\xD7\xB3\xF2\xAC\xE9\x2D\xF1\x9A\xCE\xED\xAC\xE5\xAF\xEA\x6E\xF2\xEE\xD0\x5C\xF6\x2E\xD1\xE1\x0A\xBF\xF5\xD4\xE1\xEE\x9C\xF2\xA5\xF3\x5D\xDC\x29\xF4\x0E\xE4\xC9\xE6\xC3\xA6\xF3\xAD\xE3\xD2\xF3\x40\xF0\x36\xE3\x02\xFE\x7A\xE5\xC0\xE0\xDE\xF0\xE0\xB1\xDE\x3C\xE5\xB2\xD4\x0F\xFC\x90\xD2\xC5\xF7\xE1\x8C\xF2\x48\xD9\x45\xF1\x6C\xD5\x96\xE1\xDA\xB2\xD6\xA9\xEA\x62\x14\x8D\xDF\x43\xDA\x20\xE3\xEF\xDA\x44\xA5\xD5\xD5\xF1\x22\xDF\xEF\xD3\x26\xC9\x1B\xF9\x94\xF2\x99\xCB\xE5\x95\xD7\x0E\xE2\x0F\xE1\x06\xD5\x3B\xE4\xFF\xB0\x2D\xC0\xE6\xBE\xDA\x82\xF3\xAE\xD8\x61\xF1\xE0\xBE\x9A\xFB\x2D\xDD\xE7\xB1\xF3\xDF\xF2\x0F\xE4\xF9\xDA\x75\xD6\x9B\xFA\x6F\xF8\xE6\xFC\xDB\xBA", -"\xF2\xBC\xD9\x5C\xEC\x9C\xDC\xAC\xC5\xDD\x9D\xE6\xCF\xEB\x9F\xF2\x5E\xE3\xB4\xD1\x3F\xF7\x04\xFB\xCF\xC1\xC3\xEC\xEF\x5C\xDF\xFF\xF0\xF6\xD1\x40\xF7\xF0\xC3\xD0\xE4\x9C\x86\xF3\x61\xDA\xF4\xE0\x89\xDA\x36\xF4\x29\xC1\xCF\xDB\xB6\xE3\xF3\x39\xD9\xF2\xF0\xDA\xC2\x32\xF4\x83\xD9\xBE\xDD\x3D\x73\xDE\xD2\xE4\x7B\xEE\x36\xF2\x39\xF5\x88\xEC\xCE\xF9\xE0\xCE\xF3\x3B\xF0\xE8\xF1\x0F\xF0\x25\xF1\x89\xEA\xC9\xEC\xC3\x96\xF1\xFD\xDE\x8C\xE3\xFF\xD8\xBE\xD8\xA2\xE2\x71\xEA\xE8\x8D\xDE\x4B\xD4\xB3\xD9\x62\xE6\x44\xD0\xA3\xF2\x64\xF2\xE8\xEE\xDE\x34\xF4\x63\xCE\xE6\xD9\x49\x71\x8B\xFC\x23\x7C\xE8\xC5\xDA\x3E\xF4\x5B\xF0\x90\xF7\x29\xFD\x97\xF1\xCA\xF3\xC1\xBC\xF1\x22\xF5\xB1\xD8\x89\xF7\xE6\xD6\xA2\xEB\x53\xDB\xE7\xAD\xDD\x07\xF5\x15\xF5\x82\xF4\x09\xF4\x9B\xF3\x7C\xCD\xE8\xEC\xDE\x57\xF5\xCB\xDD\x96\xF0\x12\xDE\x5C\xE8\x79\xCB\xD6\xE5\xBD\x81\xD5\x67\xD5\x18\xF7\x4B\xF4\x17\xE0\x59\xE5\xB7\xE4\xF4\x42\xF4\x51\xDF\x87\xF6\x3B\xE3\x0C\xE8\xCD\xC5\xC3\xAA\xF3\x83\xF2\xD6\xF1\x3A\xF5\x40\xF2\x8B\xCF\xC8\xF4\xB7\x91\xF2\xC8\xF0\x17\xF4\x8A\xDB\x2C\xFA\xE2\xD0\xCC\xF1\x9C\x92\xEB\xC9\x11\xA7\xED\x72\xF6\x3E\xFB\x9C\xF8\xCF\xC1\xC5\x87\xF5\xB8\xF1\xA9\xF1\x1A\xF1\x51\xFB\x86\xF5\xCE\xED\xC3\xD7\xF3\xEF\xE1\x85\xF0\x0A\xE5\x21\xFA\x02\xF6\xD4\xDB\xBB\x8A\xF3\x02\xD8\x4D\xF7\xB7\xDC\x53\xF1\xEE\xC8\x60\xCD\xB7\xF6\xF1\x47\xEA\x17\xED\xE0\xE0\x1D\xCD\xE0\x01\xBD\xFB\x79\xC5\xD6\x5E\xF4\x52\xF5\x8F\xF6\x54\xF5\x17\xE8\xD5\xC2\xE4\xF1\xDC\x04\xF2\xD5\xDE\x41\xF6\x48\xF8\x90\xF7\xCA\xF9\xC1\xD9\xF2\x7B\xE1\xAD\xF1\x1F\xE5\x2B\xFF\x07\xF8\xD5\xF5\xB0\xBA\xF5\x08\xE0\x5E\xF4\xEF\xDE\x57\xF3\xEE\xC0\xD6\xDA\x96\xF2\xD5\x37\xCE\x6E\xE7\xA0\xF2\x59\xF0\xA6\xEC\xD6\xC6\xEA\xFF\xDE\xA9\xF5\x69\xF6\x2E\xF7\x4C\xF3\x95\xFD\xC5\xC2\xE1\xC9\xF4\x16\xE5\x25\xF6\x46\xE5\x49\xFB\xF0\xCF\xD2\xC4\xC0\x98\xF5\x7D\xDD\x64\xF3\xC3\xD6\x31\xF7\xC6\xDE\xD4\xEC\xB8\x91\xF4\xF0\xC8\xF8\xC9\x34\xDD\x16\xEB\xA3\xEC\xD7\xC5\xEA\x8F\xE2\xCF\xF3\xE9\xF3\x49\xF2\x5A\xF9\x92\xF4\xCA\xC7\xE9\xBE\xF1\xF8\xF4\x22\xF3\x85\xE2\x74\xDB\x11\xF5\x65\xF0\xE6\xF2\xF4\x00\xF7\x9F\xDE\xC0\xF4\xBA\x69\x93\xEB\x4B\xF4\xE3\x89\xD8\xE5\xD0\xD1\xE8\xDE\xE3\xB3\xE0\x61\xE3\x5A\xE0\xD0\xF4\xF3\xFB\xF0\x42\xF6\x37\xF6\x29\xF1\xAF\xF5\xD8\xEB\xEA\x92\xF6\xA7\xF3\xBE\xE1\x6A\xF7\x17\xF0\x18\xF2\xD4\xC7\xB9\xFC\xF5\x53\xE0\x7F\xF5\x15\xE1\x64\xF3\xFE\xD3\xD2\xDD\xAA\xD5\xF4\x6A\xDB\x3C\xF6\x6F\xC0\x61\xFB\xEA\xBF\xAD\xD8\x30\x48\xF5\xF3\x48\x99\xF7\x3F\xF2\xAF\xEC\xA1\xFA\x84\xC0\xC3\xAE\xE3\x38\xF7\x46\xF6\xCE\xF7\x51\xFC\xB3\xF4\x8D\xDB\xEC\xAF\xD8\x1D\xF7\x98\xD0\x71\xDB\x26\xD7\x18\xF5\x49\xC6\xED\xE8\xDA\x48\xF7\xCE\xD9\x29\xF7\xB2\xCC\x60\xF2\xB8\xF6\x6B\xF2\xCC\x8F\xD6\x48\xE1\xCC\xF6\x61\xF3\xB3\xF1\x7E\xC1\xE9\xD9\xF6\x43\xF4\x8A\xF5\x91\xF6\x62\xF5\xAD\xF5\x90\xDA\xEC\xFA\xF5\x18\xE5\xB0\xF4\xE9\xD3\xFD\xEC\x6B\xDE\xD6\xDD\xBB\xE0\xF5\xF9\xE0\x71\xF6\x02\xE7\x41\xFC\x00\xEC\xDA\xCC\x7D\xC2\xF5\xF9\xE4\xB3\xEE\x98\xEA\xBA\xE4\x74\xED\xD8\xEC\xEC\xDF\xE1\x75\xF7\xBD\xF0\x38\xF4\x55\xF2\x8E\xE1\x72\xE4\xE3\x81\xF3\xE6\xF1\x62\xC2\xCF\xF1\x0A\xE0\xB4\xE6\x85\xC2\xED\xA8\xE1\x73\xF4\x50\xF1\x9D\xF2\xF7\xDA\xB8\xF2\x81\xCA\xED\xB4\xE0\x8E\xF7\x02\xD2\x09\xF7\xDF\xC8\x1C\xEE\xAF\xD4\x38\x5E\xEB\x48\x19\x0D\x1B\x70\xF3\x85\xC5\x13\xFA\xCC\xC8\xE7\xF6\xC9\x17\xF4\x3F\xF5\x86\xF1\x4C\xF0\x90\xE3\xD3\xF5\xEC\xFB\xF6\x37\xF6\x68\xF4\x75\xF6\x0E\xE6\x9D\xE9\xC8\xD8\xE7\xB2\xF5\xF1\xE0\x5A\xF7\x3C\xE6\x56\xFF\xF8\xC6\xDC\xD1\xBE\xAB\xF7\x30\xE1\xD6\xF7\x16\xE7\x75\xFD\x05\xE9\xD9\xE1\xDF\xAB\xEE\x2F\xE9\xDD\xF6\x86\xCF\x5A\xB3\x16\xF1\x07\x72\xD7\xD2\xEA\xF4\xEB\x0A\x1E\x7D\xEE\xA2\xD5\x9F\xF7\xDC\xF7\xE0\xA2\xF2\xCD\xF2\x9A\xF7\xB3\xF3\xEB\xDA\xA8\xF8\xDA\xCA\xEF\xFE\xF3\x9F\xF6\x00\xF5\xE8\xF2\x6E\xBD\xA6\xE4\xE0\x82\xEE\xB1\xD8\xEE\xD9\xE2\xD9\x94\xF7\xB8\xD8\xE2\xBF\x5A\xE9\xED\xE7\xDF\xDC\xF6\x93\xE3\x9E\xF3\x3E\xEE\x60\xED\xBD\xF3\xCC\xAB\xE8\x02\xED\x8F\xC2\x59\xE8\x2D\xE9\xC4\xC3\x23\xE9\xAF\x96\xF4\x52\xF6\xF8\xF7\x8F\xF2\x7E\xF4\x9A\xE4\xD2\xD0\xE5\x92\xE4\x17\xF7\x7B\xF6\x3B\xE2\x49\xF9\x9D\xE0\x80\xEF\xE9\xE4\xDE\x71\xF4\x28\xF4\x0C\xC4\x49\xDB\xA0\xFE\x65\xF7\xE9\x95\xDF\x09\xF8\xE1\xE3\x02", -"\xFC\x9C\xE1\x63\xF9\x11\x22\xEF\xF1\xD8\x11\xED\x68\x6A\x8C\x13\x63\x0D\x1C\xF2\x9C\xE5\xDD\xC8\xD8\x74\xCE\xDF\xF7\xCC\x3B\x6E\xFE\xBE\xED\xC4\xD3\xED\x81\xE5\x55\xF7\x5F\xE2\x87\xF6\x7E\xF4\xBF\xED\xD5\xCC\xEF\xAF\xF5\xCE\xF7\x58\xF4\xB6\xF4\x21\xFA\xAD\xEE\xC8\xDC\xEB\xF5\xF0\xD6\xF6\xDC\xDC\xF6\xF1\x0B\xEA\xBD\xE5\x84\xCC\xEE\x87\xE1\xB1\xF7\x17\x35\x0D\xF8\xE1\xEF\x5F\xF8\x8F\xD4\xBA\xAD\x12\xFB\xE3\xCB\xF2\xE8\xCE\x3F\xEE\x54\xFA\xD6\x9F\xC6\xB2\xF1\x74\xF7\x23\xF8\xAA\xE1\x89\xF3\x9A\xF7\xDA\xD2\xE7\xF7\xF7\x39\xF6\x36\xF2\x5F\xE5\x6B\xFB\x9A\xFF\xDA\xC9\xC3\xFF\xF7\xCB\xE1\xD3\xF5\x33\xE4\x45\xF2\xB8\xC8\xDC\xE2\xC4\xAF\xF8\x24\xE3\x18\xFA\x29\xF1\x8C\xFF\xA4\x3D\xD3\xF7\xF0\xE5\x00\x63\xF8\x65\xD8\x10\xED\xC6\xE4\x76\xF7\xB1\xDB\x25\x68\x12\x39\xED\x75\xE8\x25\xEE\xF7\xEB\xA0\x94\x13\xFF\x03\x3E\xC4\x36\xF5\xE7\x10\xB6\xB1\xE2\x12\x0F\x0E\x5B\x9B\xBD\xA5\xF9\x12\xB8\x56\x07\x7A\xEE\x30\x17\xE0\x0D\xC1\x95\xF6\x21\xF9\x62\xAC\xFB\xEE\x41\x02\x07\x06\xCA\xE2\x86\xC0\x00\x34\xF9\xA9\xF8\x06\x0B\x2A\xFB\xDB\xE3\xE9\x41\xE5\xC7\x63\x8C\x1C\x71\xE7\x5A\xF8\x88\xF7\x92\xD8\xD0\xAA\xE5\xD1\xDB\xF9\x0B\xBA\xED\xB3\xE2\xBC\x7C\x02\x1B\xE3\x1D\x16\xB2\xF2\x83\x02\x2D\x00\x61\xF8\xA3\xF1\xC7\x14\xD4\xA6\xE6\xE0\xEF\xB0\xBA\xAC\xF9\x31\xC5\x26\x89\x94\xF7\x5C\xF0\x70\x11\x3C\x2C\x00\xD2\xF9\xFE\xF2\x40\x00\x9C\xF9\xCB\xFD\x09\x3F\x87\xCE\x13\x4C\x51\x56\xF8\x98\xA3\x4A\xAB\xE7\x21\xE5\xCF\x0D\xCF\xF9\x8E\xE9\x70\xF8\x3E\xC3\x20\x09\x02\x15\xE6\xFA\xF2\xC7\xF9\x7D\x19\x6D\xEC\x8E\xA6\xB0\x01\xCA\xFD\x92\x1B\xDF\xA7\x02\x6B\x92\xE9\xEC\x40\xFE\x9E\xFD\x13\x14\xF4\xA5\x2C\x3F\x31\x78\xF9\x1D\xC9\x14\x13\xC7\x1F\x9D\x90\xE7\xC1\x04\x65\x01\x22\xBD\x59\x10\x44\xFD\x9C\xF0\xC9\xF8\xE7\xC1\x04\x59\xF9\x14\xF5\x95\xA7\xC9\x98\x6A\x21\xCA\xFF\xB5\xE4\x39\x27\x02\xC8\x01\xBA\xBA\xB3\xD1\x20\x01\xD2\xF4\xE8\xDB\x88\xAA\xB4\xCA\x51\xD5\x01\xCB\xEC\xC2\x17\xB5\x08\x69\x5B\xDB\x87\xED\x3B\x1C\x69\x58\xFA\xE9\x21\x07\xF3\x63\xDB\xF3\x22\x35\xFA\xD0\xBC\x6B\xFB\x82\xE7\x04\x22\x05\x69\xE6\xEE\x1A\x6B\xF9\xAB\xAE\x1E\x61\x3F\xFB\x94\xF7\x12\x12\x04\x11\xF4\xC5\xFA\x23\xEF\x74\x59\x19\x06\xA0\xF6\x95\x0A\xC7\x09\xF4\x80\xCA\x0B\xFB\x93\x02\x37\xB6\xA1\xF0\x00\x0A\x04\x07\xF5\x89\x02\x56\xFA\x8A\xF8\x53\xFA\xCE\x6C\x84\x53\x03\x07\x38\x08\xB3\xA3\x2D\x50\xF8\x8F\xAB\xA6\xF8\x86\x57\xEA\xE5\xF5\xDA\xFA\xD8\xB5\x83\xF9\xD1\x08\x5C\xEB\xE3\x08\x4D\x80\xF3\xA7\x02\x86\x00\xF4\xD7\x2C\x11\xAE\xF6\xD2\xF8\x99\xCE\x46\x51\x3B\x2B\xFA\x08\x1D\x61\x1E\x9B\x5B\x2C\xE3\x0B\xC7\x2A\x61\x59\x40\x02\xA0\x1B\x46\x70\xA6\xF7\x12\x0E\xEB\xE4\xF5\x83\x02\xD5\xAA\xAD\xEF\x2C\x11\xB1\xF9\xD3\xF7\xE7\xC3\xCF\xF7\xFA\x9C\x0F\xBC\xF8\x83\x1B\xAF\xF5\x62\x5D\xEB\xCB\xBB\xF2\xD1\xB7\x59\xFE\x38\x50\x19\xD6\xA6\x6D\xEA\xEA\xE1\xF2\xE4\xF8\x77\xE7\x81\x01\x17\x5E\xA6\xF0\x54\x49\xEA\xD6\xE0\x15\xFA\xD7\xF9\xFE\xC4\x46\xF8\x05\xFF\x54\xF2\x86\x7F\xC2\x21\xF9\x22\x7E\xAA\xF9\x1F\x06\xAC\xF3\x10\x13\xED\xF5\xF5\xD7\xB5\x08\x12\x00\x53\x01\xF0\x0F\x60\x97\x02\xEB\xC4\xF5\x89\x02\xBE\x24\xEF\xEC\x70\xFE\xB4\xF0\x4B\x3B\xEA\xE1\x33\xCE\xFA\x11\xE9\x1D\x1F\x58\xC1\xE2\x16\x5A\xF8\xBF\xE6\xDE\xC4\xFB\x3A\xFB\xFA\xE6\x52\x1F\x91\xF1\xCA\xEB\xEE\xE7\x04\x11\xEF\x84\xF6\x71\xF9\x40\x00\xBB\xF6\x02\xD1\xEE\xD0\x38\x74\x17\xD4\xFA\xE5\xFB\x6F\xFA\xF0\xE4\xDB\xE2\x08\x03\xDE\xC5\xBF\xDE\xFA\x06\x1C\x78\xFE\x81\xFB\x42\xDB\x71\x09\x46\x7F\xF9\x09\x02\xA4\xE6\x2C\xC2\xBB\xF0\x00\x12\xEF\xDD\x76\xE9\xFB\x08\x1D\xF5\xF9\xED\xF0\xC2\xE7\xAD\xB6\x6A\x09\x55\x7C\x3F\x47\xEF\xA7\xBF\x8E\x1B\xE4\x3E\xCD\xE9\x92\xE5\xF7\x81\x02\x0C\xEE\xF4\xFB\x9C\x14\x4E\xC4\xD8\xE9\x08\x0A\x33\xDC\xC3\x27\x02\x87\xEE\x73\xFC\x9E\xF0\xDD\xEE\xEC\xE5\x95\xFE\xEB\x0D\xFC\x83\x00\x78\x20\xBE\xF1\x4A\xE7\xF0\xC0\x00\x20\xEE\xDD\xFA\x0B\xFC\x85\x18\x47\xC4\xC7\x0C\xEB\xDF\xDF\xE3\xFB\xC7\xDE\x0B\xFB\x2C\x12\xE3\xEE\x85\xD8\xEF\xC7\x38\x7A\xFB\xB9\xDC\x81\xCE\x59\x1B\xFD\x36\x79\xF9\xA8\xD7\x6B\xC9\xEC\xE0\x47\x25\xEE\xB2\x05\xFC\xE7\x12\x14\xB0\xAF\xF5\xDC\xF4\x01\xF9\x91\xF9\xF1\xE7\xB6\xFB\x41\xFB\x6A\x1B\xDB\xFE\xE8\xA1\xF8\xB5\x87\x8F\xF8\x55\xE3\xE1\xF8\x97\xCA\xF8\xE6\xF9\x16\xFA\xB1\x17\xB6\xE8\x29\xDB\xE3", -"\x11\x4B\x50\xF8\x81\xE5\x4D\xFC\x9D\xE5\x88\xF8\xCA\xF9\xDA\xEB\x4A\xEB\xF6\xBF\xF8\x60\xC3\x33\x1E\x8F\x1F\x33\x22\x81\xFB\x53\x10\x50\x84\xFA\xA8\xFB\x99\xB0\x89\xF9\xFF\x00\x2E\xFE\x71\x36\x85\x41\xEB\xEB\xDF\x80\x02\x2E\x00\xCD\xF4\xB3\xAB\xF3\xD7\x08\x6D\xFC\x27\x03\x66\x44\x9C\xFB\xB2\xE3\x10\x13\xF3\xC4\xF9\xA3\xFC\x87\x19\x1C\xC5\x04\xEE\xC7\x18\x7A\x88\xBD\xFA\x29\x7E\xFC\xC5\xF8\x11\xFE\x5E\xF9\xD0\xF5\xE2\xE3\xF4\xE7\x04\x4A\x23\x65\xFD\x43\xFC\x9D\xFD\x81\xF8\x69\xFE\x71\x32\x1B\x86\xFD\x67\xFD\x3F\xFD\x5F\xF5\x43\xCA\x6A\xFE\xE9\xF0\xE0\x93\xE7\xF8\xF0\x00\x01\x70\xFF\xD3\xF4\x38\xEF\xB2\xC6\x04\x7B\xED\xA8\xEF\x1F\x14\x88\xFE\x28\xC5\x6A\xE7\x1A\x17\xD9\xAA\xF1\x59\xED\x4E\xFC\x19\xF9\xD4\xF9\xE0\xEE\xBA\xEA\x76\xAB\xFD\xAF\xC8\x23\xE7\x6D\xB8\x78\xEC\x6F\xE1\xB7\xF6\x93\xB8\xFD\x83\xCB\x29\x19\x97\xFA\xDA\xE2\x48\xE1\x5B\x2C\xD9\xE7\xED\x87\xE8\x6D\xEE\xA7\xFF\xD0\xE7\x26\xE4\xB3\xEF\xDA\xBF\xFD\x15\xFD\x85\x19\x94\xFE\xDB\x0F\x3D\xE1\x9F\xC8\xFB\x86\xEE\xCA\xFC\x32\xF8\xB3\xFB\x7D\xEE\xEC\xFD\xB7\xCB\x95\xC0\xFD\x65\xCC\x61\xFD\x91\xFF\x85\xE7\x3F\xFF\x42\x57\xFB\xF0\xEC\xF8\xEC\x4C\xED\xB9\xB2\xD3\xED\x6E\xEF\xAD\xE1\x8A\xE0\xFD\xF2\xCC\x71\xFE\x74\xFE\x5A\xE2\x6A\xE7\xF7\xD5\xDA\xD9\xFD\xEA\xED\x0A\x1D\xAB\xEE\xA3\xFC\xE0\x04\x9E\xF0\xFB\xC2\xCF\xF2\xFD\xEF\xF8\x07\xE9\x6C\x1E\x41\xF2\xB9\xC1\xCC\xF7\xED\xCA\xE5\x7C\xED\x83\x1E\xD7\xE8\x67\xFF\xF6\xD1\xFB\xCB\x0A\xD3\xFD\x61\xE6\x75\xD5\x58\xE6\xF0\xE3\xB4\xC9\xFB\xA8\xED\xDA\xFD\xF7\x4B\x6D\xBF\xE2\xEC\xEF\xE8\x70\x3E\xFB\x8F\xFE\xE4\xED\x22\xE9\x9A\x3D\xB3\xF7\xDA\xF8\xB6\xC1\x04\x22\xE8\xB2\xFD\x70\xE5\xB7\xFE\xD7\xFE\xF0\xF4\xE8\xE1\xFC\xBE\x95\x91\xC2\x7B\xFF\xFE\xE0\xDF\xFA\xF0\xEB\xB7\xEB\xFC\xA8\xEE\xD0\xFC\x97\xFD\xC4\xFD\xD8\xFC\xD6\x14\xB7\xC4\xDC\xB7\xED\x17\xFF\x5C\xED\xC6\xFD\x94\x57\xDB\xBB\xB7\xDD\xFC\x8F\xB5\xA5\xB7\x7F\xFD\x8B\xFC\x81\x01\x70\xEC\x6B\x03\xDC\xE3\xE7\xDB\xEC\x53\xED\xD0\xF9\xDD\xE5\xF3\xEC\xA4\xD1\xF8\xDE\xEC\x38\xCC\xA5\xFE\x64\xFC\x5B\xC4\x71\xE7\x09\x17\xDC\xB6\xFD\xEF\xFD\x87\xFE\x2B\xF1\x94\xB0\x7C\xE1\x08\x1A\xFD\xA1\xFB\x73\xCB\xB3\xFE\x96\xED\xE4\xE5\xAE\xB6\x99\xCD\xFC\xAA\xFD\x0F\xFF\xD9\xF7\x57\xE3\xED\xFD\x8F\xE6\x5B\xB5\xD2\xB1\xEE\x3F\xFF\x6F\xB6\xA9\xFB\x20\x08\xEA\xE0\xCA\xF6\x93\x8E\xEE\x5B\xFC\xD0\xFA\xAB\xFB\xA7\x48\x65\xEC\xA2\xF2\xFA\xDB\xEC\x2D\xF0\x81\x01\xAD\xF8\xC5\xF3\x57\xC0\xFC\xEC\xFA\x8D\xE5\xBB\xFD\x9B\xFE\xBB\xF8\xC7\xCE\xF8\xF9\xF5\xCC\xFD\xBB\xFE\x10\xFE\x63\xFC\xF3\xE5\xE2\xF2\xF5\xF8\xF6\xD8\xFC\xF9\xFD\x75\xEC\xC9\xFE\x44\xED\x74\xB5\xF9\xE1\xF6\xD7\xFE\xC3\xFD\xC9\x0D\x6A\xFD\xAA\x02\xE6\xFD\x2D\xE8\xF9\xFB\xDA\x88\xED\xA2\xFE\x5E\xE4\xE9\xF8\xE4\xF8\xF9\xE5\xF7\xFC\xC0\x2C\xFF\x05\x09\x83\xEC\xE8\xF9\x94\xBC\xEE\xFD\xF5\xF8\xFC\xCB\xCA\xA5\xFF\x70\xFF\xE9\xFB\xDC\xF8\x45\xE1\xB5\xCE\x46\x35\xED\x79\xFF\xF2\xE7\xD4\xF9\xDD\xF9\xF2\xE3\x95\xF1\xFE\xF6\xFA\xAA\xBB\xE0\xFD\xBC\xFB\xF8\xF3\xEF\xEF\xA1\xF4\xDA\x8C\xE8\xC9\xFF\x83\xFF\xF2\xF9\xE1\xFA\xEE\xEB\xF8\xCF\xFF\x8F\xFB\xD1\xFE\xDA\xFC\xEA\xFF\x36\x15\x6C\xE8\x0A\x38\xFE\xD9\xED\x9F\xFF\xAA\xFE\x0E\xEF\xFB\xF8\x42\xF3\xFD\xFA\xFC\xE3\xFF\xBA\x16\x6C\xE7\xC8\xFF\xFC\xF7\xF2\xFA\xFD\xEA\xFF\xA1\xB9\x20\xEF\xA3\xFE\x48\xFF\x47\x12\xFD\xE0\xF8\xD4\xFF\x82\xFE\xD6\x72\xE5\x76\x3B\x7E\x9C\x7F\xFA\x73\xAD\x7F\xF6\x7F\xDD\x7F\x36\x7F\x27\x77\x93\x7F\x8D\x7F\xE2\x7F\xC4\x7F\x6C\x74\x99\x7F\x3D\x7F\x6F\x74\x04\x80\x2F\x7B\x33\x7F\xE9\x7F\x08\x80\x07\x73\xEC\x7F\xC0\x76\xEE\x7F\x89\x7E\xD2\x7E\xF0\x7F\x43\x74\x10\x73\x00\x2D\xF4\x7F\xDE\x72\x07\x80\xCD\x7F\x19\x73\x57\x7F\x4B\x72\xE1\x7F\x14\x7D\x95\x74\x11\x0E\xD8\x7D\x5F\x7F\x8C\x7F\x7F\x7F\x62\x7F\x62\x76\x65\x7F\x1F\x7E\x58\x7F\x0C\x80\x2A\x80\x6C\x7F\xAA\x74\x09\x73\xDE\x7E\xFC\x7F\x71\x7F\x98\x7F\x5B\x7F\xEC\x6B\x77\x7F\x2F\x7D\x13\x80\xA4\x7E\x7A\x7F\x6D\x7F\x19\x80\x05\x7E\x37\x0E\x3E\x80\xB7\x74\x33\x77\x0D\x0E\xA5\x73\x6B\x75\xA5\x5B\x8B\x7F\x96\x7F\x9E\x7E\x48\x79\xAF\x7E\xE8\x74\xF5\x1E\x78\x7F\x50\x7F\x9E\x7E\xB4\x7E\x35\x80\xF6\x64\x51\x80\xA6\x7F\xD1\x73\x91\x7F\x0A\x80\xA3\x7F\xAA\x5D\x5E\x80\xC2\x7F\x1D\x80\x0E\x80\x81\x74\x10\x80\x30\x5D\xC7\x7E\x43\x80\x5D\x74\xF7\x7E\x16", -"\x80\x25\x80\xD4\x73\x47\x80\xFD\x7E\x50\x80\x0D\x80\xD5\x7F\xC5\x7F\xAA\x7F\x73\x72\x6D\x80\x71\x74\x6F\x80\x42\x7F\xBB\x7F\x5D\x0F\x23\x78\xFA\x7F\x36\x75\x73\x65\x65\x80\xD3\x7F\x67\x80\x77\x80\x0F\x80\xB6\x7F\x89\x06\x22\x80\xAE\x7F\x73\x76\x0A\x77\xBC\x7F\x73\x80\x1E\x7F\x75\x80\xEF\x7F\x68\x80\xC4\x7E\xC6\x7F\x77\x60\xC8\x7F\x59\x80\x82\x7F\x14\x80\x06\x80\x34\x7F\x17\x80\x34\x59\xFB\x7E\x6F\x7F\x06\x7E\x94\x80\x88\x80\x69\x80\xD7\x7F\xA3\x76\xA4\x49\xAD\x7E\x9C\x80\xB9\x7F\x9E\x80\x71\x80\x15\x0E\x0C\x7F\xCF\x7E\x4B\x65\x85\x80\xFE\x7F\x87\x80\x00\x80\x2F\x74\xE5\x7F\xA8\x80\x33\x42\xAA\x80\x34\x74\x7D\x80\x54\x7F\x9F\x80\xA1\x5C\x1C\x7F\xA2\x80\x09\x01\xB3\x80\x4B\x7F\xB5\x80\xEA\x7D\x70\x72\x22\x7F\xC6\x2D\x24\x7F\xB0\x14\x26\x7F\x23\x80\xAD\x80\xAF\x7F\xE5\x5A\xF9\x7F\xC2\x80\x5D\x76\xA4\x80\xB6\x80\x78\x80\xC2\x0A\x31\x7F\x7B\x80\x6F\x76\xBD\x80\xCC\x7F\xD0\x80\x0D\x0E\x0E\x77\x82\x80\xF3\x7D\x5D\x80\x76\x80\xD6\x80\x0F\x80\x6E\x74\x46\x01\x8C\x80\x24\x80\xDE\x80\x11\x0E\x46\x7F\xD3\x80\x03\x01\xC4\x80\x96\x7D\x1E\x80\x6A\x76\x02\x77\x21\x80\xDA\x80\x94\x76\x15\x80\x7E\x80\xF7\x7F\x5D\x0F\x09\x7E\xFD\x7F\x87\x7D\x84\x80\x31\x80\x1A\x79\x2C\x80\x5E\x7F\x5C\x80\xB2\x80\x00\x81\xB7\x5D\x33\x80\x6A\x7F\x88\x5A\x93\x80\x1C\x80\x9B\x80\x6F\x7B\x46\x80\x62\x80\xB2\x7F\x64\x80\x3D\x80\xF2\x80\xB4\x7B\x87\x7F\xDC\x78\x76\x7F\x30\x77\x42\x80\xD9\x7F\xDC\x5A\x7B\x7F\x02\x01\x7D\x7F\x81\x78\xAA\x5D\xF6\x7D\xC3\x7A\xB6\x7B\x96\x7C\x41\x72\xB0\x7E\x86\x7F\xBB\x76\x88\x7F\x11\x0E\xA4\x06\xF0\x80\x68\x7F\xF6\x64\x22\x81\x91\x7B\x2D\x71\x61\x80\x3A\x80\x2C\x7F\x3F\x0A\x30\x81\x3B\x73\xFA\x72\x98\x7F\xCB\x73\x5F\x72\xF6\x80\xC8\x76\xDC\x7F\xAE\x80\xA1\x7F\x10\x81\xD0\x7F\xA1\x62\x37\x81\x63\x78\x39\x81\x14\x81\x59\x74\x7E\x76\xE0\x73\xAB\x7F\x3D\x81\x08\x7F\xB1\x7E\xEB\x80\x15\x0E\x81\x80\xEE\x80\xE3\x7C\x5F\x7A\xA0\x76\x8A\x80\xB1\x01\xE9\x80\xCF\x80\x8E\x80\xBC\x76\x5D\x0F\xBD\x7F\xE1\x80\xEE\x60\x44\x81\x55\x81\x98\x7F\xF5\x7E\x4D\x81\xDB\x7F\x4F\x81\x5B\x81\x12\x74\x91\x80\x48\x7F\x21\x81\x62\x81\x48\x81\x6A\x80\xFD\x63\x05\x7F\x1B\x81\x9D\x7F\xE8\x7E\x3F\x81\x50\x81\x34\x59\xB0\x80\x3B\x80\x47\x73\x6D\x81\x95\x80\xC9\x06\xB8\x80\x59\x81\x70\x80\x76\x81\xC0\x80\x6A\x81\xFB\x7F\x7A\x81\xEC\x7A\x2F\x7F\x2A\x5A\xD5\x76\x7F\x81\xF9\x80\xBF\x80\xDE\x76\x83\x81\x83\x80\x2F\x81\x7B\x81\xA5\x80\x96\x80\x02\x80\x67\x00\x8A\x81\xBE\x80\x40\x81\xA1\x5C\xE0\x80\x53\x81\x01\x01\x45\x81\x17\x81\xC0\x72\x3A\x81\xF3\x76\x12\x80\x72\x81\x05\x80\xAC\x80\x80\x81\x68\x81\xFA\x76\x8E\x81\xE2\x80\x4B\x65\x9D\x81\x75\x7F\x9F\x81\x6E\x81\x20\x80\xED\x0F\x96\x81\xDD\x80\xA7\x81\x26\x80\x09\x01\xFD\x80\x54\x7D\x36\x81\x5F\x7A\x2B\x80\x15\x0E\x2D\x80\x04\x81\xB9\x81\xEC\x7A\x63\x7F\x9F\x74\x00\x7D\xBE\x81\x85\x81\x45\x7C\x0F\x7C\x6D\x77\x0F\x81\x34\x81\xBF\x7F\xBF\x81\xC6\x81\x0C\x62\x4A\x80\x74\x7F\x20\x79\x18\x81\xDF\x75\x52\x0C\x1A\x81\x9A\x80\x0F\x75\x0D\x0E\x25\x75\x5D\x7A\x01\x01\xF6\x25\x2F\x76\xEF\x7B\xCA\x6E\x6B\x6E\x76\x7B\x88\x7A\x78\x7B\xF5\x7B\x77\x7C\x4D\x7C\x7C\x71\x7A\x7C\x3B\x7B\x19\x7B\x6F\x78\x7E\x7C\xB6\x71\x80\x7C\xB8\x71\x29\x7C\xFF\x7A\x59\x7C\x2E\x70\x5B\x7C\xD1\x70\x5D\x7C\xD3\x70\x5F\x7C\xB7\x6E\x3D\x79\x18\x75\x80\x78\xD5\x62\x82\x78\x43\x6D\x5B\x78\x77\x6D\x09\x7B\x0D\x0E\x5F\x78\x0A\x6E\xF6\x64\xDC\x81\x23\x81\xB8\x70\x72\x7C\xBE\x72\x74\x7C\xCE\x7A\x1D\x7C\x7A\x7B\x1F\x7C\x07\x79\x16\x71\x2B\x6D\xD0\x7B\xDA\x79\xD2\x7B\xDC\x79\xD4\x7B\x2C\x70\xF2\x81\x81\x70\x2D\x7C\x83\x70\xF6\x81\xFB\x70\xF8\x81\x45\x6F\xFA\x81\x8B\x42\x55\x78\x20\x81\x1B\x75\x83\x78\x5B\x1A\x5C\x78\x06\x63\x66\x73\x88\x78\xBF\x7B\xA4\x6A\xA5\x5B\x07\x82\x31\x81\xD6\x71\x79\x79\x97\x7D\xA2\x79\x0D\x82\x76\x7C\x1E\x7C\x65\x7A\x20\x7C\x7D\x7B\x13\x82\x53\x7C\xB3\x7A\x55\x7C\xB5\x7A\x57\x7C\x10\x79\x1A\x82\x77\x78\x1C\x82\x20\x72\x1E\x82\xC0\x71\x8A\x7C\x6C\x7B\xDE\x7B\x36\x63\xA8\x78\xA3\x6D\x27\x81\x13\x7C\x2D\x71\x62\x76\xB0\x78\x72\x7B\x73\x65\x30\x82\x38\x81\x97\x6E\x1A\x7C\x62\x7A\x1C\x7C\x37\x82\x0F\x82\x39\x82\x11\x82\xEC\x6D\x3C\x82\xC0\x6D\x77\x6E\xC2\x6D\x79\x6E\x63\x7B\x31\x6B\x43\x82\xEF\x78\x45\x82\x79\x78\x47\x82\x22\x72\xE4\x7A\x15\x6F\x6D", -"\x7B\x04\x6A\xD1\x78\x38\x63\xD3\x6D\xFB\x74\xF0\x79\xF8\x71\xD7\x78\x9E\x10\x50\x7B\x39\x0E\x19\x7C\xDF\x81\x3B\x7D\x9A\x7B\x25\x79\xE3\x81\x56\x6D\x7F\x79\xF9\x7B\x23\x7A\xFB\x7B\xFE\x5E\xA3\x7B\xA4\x70\xA5\x7B\xEB\x78\x82\x7C\x51\x71\x44\x7B\x06\x70\x86\x7C\x55\x71\x04\x7B\xCB\x6D\x6E\x82\xBE\x6F\xE6\x7A\xC0\x68\xA1\x7E\xDA\x66\x3A\x7A\xA1\x62\x56\x82\x46\x81\x58\x82\x7D\x82\x4D\x79\xE1\x81\xC7\x7B\x10\x82\x82\x6F\x10\x72\xA3\x82\x7C\x7B\x12\x82\xBF\x6D\x31\x5F\x26\x7C\x16\x82\x70\x7A\x18\x82\x1E\x71\x8E\x82\x57\x70\xF4\x81\xBE\x71\x6C\x82\x7B\x78\x06\x7B\x59\x71\x33\x7C\x0D\x75\xBB\x81\x34\x59\x31\x6E\xA2\x7A\x06\x82\x7C\x82\x33\x82\xE0\x81\x7F\x82\x11\x7B\x4F\x7D\xE4\x81\x38\x82\x9C\x7B\x22\x70\x4F\x7C\x48\x7A\x23\x7C\xF9\x7A\x25\x7C\x4C\x7A\x27\x7C\x02\x70\x8C\x82\x4A\x78\xA9\x7B\xB3\x79\x6A\x82\xF1\x78\xB4\x82\xF3\x78\x13\x5F\xA3\x5D\x22\x82\xA0\x67\x47\x76\x25\x82\x57\x78\x1D\x75\x18\x69\x5F\x6E\x42\x7C\x3B\x25\x38\x66\x9C\x82\x9E\x81\x64\x78\x0A\x82\x4E\x7E\x0C\x82\xF0\x7A\xF3\x7B\xB6\x7C\xC5\x82\x5D\x82\xC7\x82\x15\x71\x60\x82\xA9\x82\xC1\x6D\x83\x71\xC3\x6D\x41\x7E\x67\x82\x65\x7B\xA8\x6B\xD5\x82\x38\x79\xD7\x82\x3A\x79\xB6\x82\x8E\x71\x8C\x7C\x1E\x5D\x6D\x6C\xE8\x6E\xFD\x63\x8A\x6E\xD0\x75\x06\x71\xEE\x79\xA6\x69\x6A\x7C\x07\x6E\x11\x0E\x34\x75\xBD\x82\x4B\x65\xE6\x82\xAD\x81\xE8\x82\x59\x82\xC5\x7B\x5B\x82\x4B\x7C\xE5\x81\xEE\x82\x4E\x7C\x55\x79\x77\x70\xD6\x7A\x0A\x79\x3D\x82\xD1\x7B\x3F\x82\xD3\x7B\x41\x82\x97\x7A\x68\x82\x12\x79\xB2\x82\x4E\x78\x92\x82\x13\x6F\x94\x82\xF1\x71\xB8\x82\x5C\x75\xCD\x80\x96\x79\xE8\x7B\x25\x76\x34\x59\x42\x75\xC7\x79\x43\x7C\x55\x82\xBF\x82\xA0\x79\x7A\x79\x35\x82\xEC\x82\x0E\x82\x52\x79\xF2\x7A\xF6\x7A\x6D\x78\xEA\x81\x98\x78\xEC\x81\x46\x78\xEE\x81\xE7\x71\xF0\x81\x43\x7B\x26\x83\x99\x7A\x28\x83\xA2\x78\x88\x7C\xA4\x78\x49\x82\xD0\x69\x00\x00\x99\x65\x68\x76\xBC\x79\x6C\x0D\xEA\x6E\xEC\x79\x09\x83\x3A\x7C\x7C\x0E\x0B\x83\x32\x83\x98\x79\xC5\x79\xE3\x82\x04\x4C\xE5\x82\x39\x83\x1A\x7A\x1E\x6B\xEB\x82\xA6\x6F\xA2\x82\x5E\x82\xA4\x82\x83\x82\x8E\x7A\xE1\x71\x90\x7A\x02\x7A\x88\x82\x4D\x71\xCF\x82\x4F\x71\xD1\x82\x9E\x78\xD3\x82\x2D\x7A\x4D\x83\x14\x79\x2A\x83\x57\x71\x00\x83\x2A\x6A\xE7\x79\x2A\x72\xEA\x79\xB4\x77\xAD\x7D\x5B\x83\xEF\x79\x0C\x83\xBE\x6E\xF2\x79\x24\x6F\x30\x7B\x38\x83\x71\x7C\x15\x83\x54\x7B\xA7\x7A\x3D\x83\x5C\x82\x3F\x83\x15\x7B\x41\x83\x7B\x7C\x43\x83\xC0\x78\x45\x83\x71\x78\x47\x83\x1A\x72\x88\x79\x4A\x6A\x2B\x7C\x52\x7A\x05\x7C\xC9\x6D\x7B\x83\x8C\x71\x7D\x83\x78\x6A\xC4\x75\x13\x7A\xC8\x64\x8A\x83\xBE\x82\x8C\x83\x9F\x82\xF1\x7B\xA1\x82\xED\x82\x20\x7A\xEF\x82\x92\x83\x7B\x7B\x94\x83\xE9\x81\xCB\x82\x7F\x7B\xCD\x82\xFB\x7A\x73\x83\x87\x79\x75\x83\xC6\x78\x84\x7C\x24\x6A\x67\x7B\xE5\x6F\x07\x7C\xAE\x70\x20\x82\xFD\x70\x96\x82\xF1\x6A\x79\x75\x81\x72\xEA\x7A\x27\x01\x12\x83\xD1\x81\xF6\x6E\x0F\x7B\xFA\x79\x7F\x6C\xFC\x79\xF3\x7C\x79\x7C\xAE\x7A\xCA\x82\xB0\x7A\x24\x7C\x14\x82\xAB\x82\x22\x83\x17\x82\x24\x83\xB7\x7A\xFA\x82\x36\x79\xFC\x82\x62\x79\x4F\x83\x64\x79\xC4\x83\x3B\x6C\x02\x83\xC8\x21\x5B\x7A\xAE\x5E\x54\x82\xAA\x83\xCD\x81\xA5\x7A\xBD\x70\x67\x83\xF5\x6F\x69\x83\xF1\x82\x72\x70\xA5\x82\x6A\x83\xA7\x82\xF3\x82\x75\x6E\x62\x82\x30\x79\x64\x82\x32\x79\x66\x82\x7B\x6E\xB0\x82\x20\x71\x90\x82\xED\x71\x2D\x5E\xEF\x71\x2C\x83\x24\x72\xC6\x83\x2C\x6A\x8E\x7C\xEC\x7D\xE3\x7B\x80\x7A\x11\x77\x08\x71\x3F\x0A\xCC\x83\x77\x79\x5A\x6A\x8D\x83\x48\x7C\x8F\x83\x68\x83\xAF\x83\xD3\x7C\xB1\x83\xF4\x7A\x40\x83\x69\x7A\xB5\x6C\x6B\x7A\xDB\x6F\xFD\x7B\xB5\x64\x94\x7A\xC5\x69\xBC\x83\xED\x78\x4B\x83\x01\x7B\x02\x84\xCA\x78\xEE\x71\xCC\x78\x06\x84\xC7\x65\xA0\x7A\x6F\x0A\x10\x83\x10\x84\x64\x83\xC4\x7B\x8E\x83\xCD\x7A\x90\x83\x18\x83\xC6\x82\x81\x82\xE7\x81\xD5\x83\x18\x7B\xB6\x83\xEB\x81\x80\x7B\x1C\x7B\x8A\x82\x1E\x7B\x9C\x83\xD1\x5E\x00\x84\x53\x71\x29\x84\x03\x7B\x2B\x84\x8F\x79\x2D\x84\x91\x79\x08\x84\xF4\x74\x90\x7B\x57\x82\x40\x7C\x11\x0E\xC6\x7A\x57\x5F\x7A\x82\x11\x84\x9E\x79\x13\x84\xAC\x83\x1B\x7C\xAE\x83\x3E\x83\x1B\x84\x93\x83\x1D\x84\x19\x5B\x6F\x83\x25\x7A\x71\x83\x82\x71\x2B\x60\xF7\x82\x85\x71\x85\x7B\xDF\x83\x60\x79\xE1\x83\xB5\x79\xC2\x83\xB7\x79\xA4", -"\x83\x52\x6A\xBE\x75\xA5\x75\xCB\x65\x94\x79\xEC\x83\xDD\x81\x46\x7C\x14\x84\x73\x7C\x16\x84\xF1\x83\x18\x84\xF4\x7D\x1A\x84\xF5\x83\xF3\x83\x5F\x82\x14\x72\x61\x82\xAA\x82\xCE\x82\xAC\x82\x28\x7C\xAE\x82\xDE\x79\x46\x84\xE0\x79\x79\x83\x8D\x79\x4A\x84\x05\x7B\x4C\x84\x69\x6C\xE7\x83\x37\x70\x11\x0E\xBA\x77\xFA\x08\x3B\x70\xCB\x83\x33\x84\xEE\x7A\x10\x7B\x77\x7B\xC4\x82\x82\x82\x33\x6F\x5B\x7B\x6E\x83\x7C\x7C\x91\x7A\x98\x83\x9A\x78\x9A\x83\x48\x78\x25\x84\x89\x79\x6A\x84\x8B\x79\x8D\x84\xE2\x79\xA2\x83\x50\x78\x70\x84\xB9\x79\x2E\x83\xE2\x74\x41\x62\xC0\x81\xBE\x73\xB8\x75\xE2\x69\x63\x83\xAB\x83\xC0\x82\x7E\x82\x3C\x83\x17\x84\x5D\x84\x80\x84\x3A\x84\xC8\x82\x1C\x83\xCD\x7B\x1E\x83\xCF\x7B\x20\x83\x15\x82\xDB\x83\xAD\x82\xDD\x83\xD5\x7B\xAB\x84\xB9\x7A\xAD\x84\x2F\x7A\xAF\x84\x16\x79\xE5\x83\x18\x79\x93\x84\x4E\x7B\x26\x0C\x56\x84\x9A\x84\xEF\x83\x7B\x84\x6F\x70\xF2\x83\xC2\x84\x66\x7A\xC1\x84\x9E\x84\x3B\x84\xC9\x82\x3D\x84\xD7\x83\xCC\x82\xD9\x83\x86\x84\xCA\x84\x88\x84\xCC\x84\x19\x82\xCE\x84\xDF\x7A\xD0\x84\x9B\x7A\xE3\x83\x9D\x7A\x91\x84\x07\x7B\xB3\x84\x95\x5B\xC5\x75\x15\x0E\xDD\x7C\x93\x0D\x05\x82\x11\x83\xDA\x84\x1B\x7A\xDC\x84\xAB\x71\x81\x84\x6B\x83\xA0\x84\xE8\x81\x5C\x7B\x96\x83\x3D\x7B\xA5\x84\xC2\x78\xA7\x84\x73\x78\xEC\x84\xAF\x82\x27\x84\x22\x7B\x48\x84\x24\x7B\xFE\x82\x26\x7B\xD9\x82\x28\x7B\xD1\x69\x2A\x7B\x17\x62\xED\x83\x38\x7C\x93\x7B\x61\x83\xD6\x4B\x9B\x82\xFE\x84\x66\x83\x00\x85\x7C\x79\x02\x85\xF3\x7A\xE1\x84\xE6\x81\xC3\x84\x21\x7C\x42\x83\x3E\x84\x44\x83\x40\x84\x60\x7B\x42\x84\x62\x7B\xF8\x82\xFF\x83\x0F\x85\x45\x7B\xA0\x83\x11\x6F\xD2\x84\xE4\x79\xD4\x84\x66\x79\xF6\x84\xDA\x62\x72\x7F\x64\x7C\x82\x83\x9D\x0D\x87\x07\xB5\x74\x50\x82\x60\x61\xBD\x7B\x17\x76\x17\x7C\xAA\x5D\x57\x84\x18\x7A\x59\x84\xBC\x84\xA0\x82\xC2\x82\x9D\x84\x27\x85\xE0\x84\x6C\x83\xA1\x84\xE5\x78\x62\x84\x6C\x7A\x64\x84\xE5\x71\x0B\x85\x9C\x78\xA9\x84\x9D\x83\x60\x60\x2C\x7C\xC0\x83\x0C\x7A\x6E\x84\x0E\x7A\xB1\x84\x10\x7A\x3B\x85\xEA\x75\xCF\x81\x6D\x73\x92\x7B\xEF\x75\x66\x0D\x04\x67\x65\x71\x01\x7E\x33\x83\xA1\x5C\xEB\x7B\x95\x7B\x1F\x85\xBB\x84\x3A\x83\x34\x82\xF0\x83\xDD\x84\x7D\x84\xD3\x83\xD1\x79\x39\x84\xE2\x84\x28\x85\x3B\x82\xF4\x82\x63\x82\xF6\x82\x65\x82\x31\x85\x34\x79\xEE\x84\x87\x7B\xF0\x84\xBB\x7A\xF2\x84\xBD\x7A\x27\x7B\xBF\x7A\x70\x82\x6B\x60\x91\x7C\x0B\x84\x1B\x85\x10\x7C\x11\x1A\x45\x6C\xAC\x77\xFB\x7D\xB6\x5D\x15\x7C\x06\x78\x67\x7C\xBA\x84\x1A\x85\xED\x7A\xDB\x84\x36\x84\xBF\x84\x91\x83\x5E\x84\xB3\x83\x60\x84\xA8\x50\x86\x82\xC7\x5E\x21\x84\x9D\x47\x23\x84\xDE\x45\x44\x84\xA4\x42\xBE\x83\x5D\x6B\x35\x85\x8A\x71\x37\x85\x31\x7A\x39\x85\xE6\x79\x93\x84\x90\x85\x97\x85\x6B\x67\x39\x7C\x29\x78\x0E\x03\xCC\x71\x6F\x67\x3E\x7C\xCA\x7C\x44\x85\x41\x7C\x46\x85\x56\x76\x8B\x83\x9D\x85\xCF\x83\x1D\x7A\xD1\x83\x8B\x7A\x7E\x84\x1B\x83\x29\x85\x95\x83\x2B\x85\x97\x83\x2D\x85\x7F\x7C\x2F\x85\x83\x7B\xED\x6C\x20\x7B\x33\x85\x8F\x82\x88\x85\xE1\x7A\x8A\x85\xE3\x7A\x8C\x85\xE5\x7A\x8E\x85\xFA\x77\x17\x7E\x1E\x76\xC1\x85\xDC\x75\xD4\x67\x22\x76\xD1\x2D\x43\x85\xC4\x7A\x11\x0E\x27\x76\x5B\x83\xA4\x6C\x48\x85\x20\x85\x45\x70\x77\x85\x01\x85\xDF\x84\xF4\x83\x52\x85\x05\x85\xA2\x84\x07\x85\x5E\x7B\xD2\x85\xED\x81\xD4\x85\x00\x7C\x68\x84\x33\x6C\xD8\x85\xB1\x82\x6C\x84\x76\x7A\x61\x85\x78\x7A\xB5\x85\x33\x7A\x4E\x84\x0B\x75\xB5\x84\x9D\x85\xB8\x85\x33\x76\xA6\x74\xBD\x73\x21\x76\x2D\x09\x98\x7C\xD0\x6C\xAE\x75\x8F\x73\x37\x59\xC2\x79\x69\x77\x3C\x0E\xD9\x81\xEB\x83\x4B\x65\xED\x1E\x77\x84\xB4\x78\x79\x84\x0B\x82\x22\x85\x9B\x7B\xF4\x85\x92\x78\xA3\x85\xA6\x82\xB4\x83\x06\x85\xD0\x85\x08\x85\xFB\x85\x46\x83\xFD\x85\x81\x7C\x49\x83\xA8\x7B\x8B\x84\x0A\x7A\x5F\x85\x2E\x7C\x05\x86\x30\x7C\x07\x86\x48\x5F\xDB\x82\xF2\x77\xDA\x62\xD5\x74\x41\x79\x58\x78\x02\x5E\x27\x7F\x00\x82\x85\x78\x02\x82\x11\x0E\x04\x82\xDA\x81\x00\x00\x1E\x86\x08\x82\x98\x7B\xE9\x82\x3A\x73\xF2\x85\x23\x85\x25\x86\x03\x85\xE3\x78\x6D\x83\x54\x85\xA3\x84\x70\x83\x09\x85\xAD\x79\x59\x85\xC4\x78\x5B\x85\x45\x84\x01\x86\x01\x84\xDA\x85\x89\x7B\xDC\x85\x8B\x7B\x63\x85\x53\x6E\x3B\x86\x8E\x73\xDD\x82\xFD\x81\xC4\x74\x27\x82\x52\x1C\x4D\x76\x87\x78\x4D\x80\x83", -"\x7F\x0C\x7B\xA1\x62\x4A\x86\x31\x82\x3B\x71\x21\x86\xEA\x82\x23\x86\x80\x82\x7D\x85\x51\x85\x04\x85\x3C\x84\x22\x7C\xE6\x84\xB7\x83\xE8\x84\xB9\x83\x87\x84\xD0\x82\x31\x86\x83\x7C\x77\x83\x85\x7C\x60\x86\x87\x7C\x37\x86\x89\x7C\x39\x86\x7A\x7A\x09\x86\xD0\x78\xD7\x5A\xE7\x74\x07\x0D\xA5\x6D\x76\x82\x20\x76\xBE\x73\x53\x82\x71\x86\x38\x66\x73\x86\x51\x84\x32\x82\x75\x85\xC1\x82\xBE\x84\x7C\x84\xC0\x84\xF6\x85\x7D\x86\x2A\x85\x7F\x86\x3F\x84\xB8\x83\x81\x7B\x2F\x86\xEF\x81\x89\x84\x08\x7A\x33\x86\x74\x7A\x03\x86\xAC\x7B\x62\x86\xAE\x7B\x8D\x86\x4B\x7B\x65\x85\x36\x70\xF7\x74\xA7\x05\xD2\x6D\x94\x68\xDF\x20\xE9\x85\x28\x5C\x78\x82\x1B\x29\x7A\x82\x9B\x86\x9D\x82\xEF\x6F\x76\x86\x4E\x86\x78\x86\xC3\x82\x50\x85\xF5\x85\x7C\x86\xE4\x84\x7E\x86\x51\x7C\xD8\x83\xC8\x84\xDA\x83\xFC\x83\x5C\x79\xFE\x83\x85\x85\x03\x7C\x0F\x6F\xB1\x85\x54\x7A\xB3\x85\x56\x7A\xB4\x86\xB0\x7B\xB6\x86\x89\x70\xBE\x73\x09\x6E\xC1\x86\xF0\x85\x98\x70\x4F\x86\x24\x86\x7A\x86\xCA\x86\x53\x86\x53\x85\xA0\x7B\x55\x85\x20\x84\x57\x85\x85\x79\xBA\x83\x29\x7A\x85\x86\x8D\x82\x5E\x86\x47\x84\x89\x86\x91\x82\x8F\x84\x93\x82\xDE\x85\x6F\x82\x4B\x82\x6E\x7B\x3F\x77\xA2\x5C\x1C\x79\x3A\x6D\xAA\x5D\xC2\x86\xE7\x82\x17\x70\xC5\x86\xA9\x71\xA0\x86\x78\x85\xA2\x86\xCB\x86\xC4\x84\x50\x7C\xC6\x84\x52\x7C\xFA\x83\x5A\x79\xD2\x86\xDB\x7A\xD4\x86\x5E\x79\x86\x85\xD7\x7B\xB0\x86\xD9\x7B\xB2\x86\xDB\x7B\xDC\x86\x5F\x2B\x66\x86\xEB\x74\x68\x86\x07\x68\x41\x6D\xE0\x82\xC9\x74\x34\x59\x21\x75\x36\x83\xE4\x82\x73\x65\x03\x87\x13\x83\x05\x87\x5A\x84\x5A\x82\x5C\x84\xA2\x85\x26\x85\x1A\x83\xE3\x84\x0C\x87\xD6\x83\xCE\x86\xE7\x84\xD0\x86\xE9\x84\x12\x87\x56\x7C\x14\x87\xDD\x7A\x16\x87\x5A\x7C\x18\x87\x5C\x7C\x1A\x87\x5E\x7C\x64\x86\x60\x7C\xDE\x86\xBB\x79\x04\x83\x2B\x75\x6A\x79\xF1\x63\x08\x83\x6B\x71\x0A\x83\x51\x75\x6E\x85\x5F\x83\x15\x0E\x0F\x83\x60\x78\x27\x01\x2A\x87\xCD\x83\x14\x83\x2D\x87\x16\x83\x2F\x87\x38\x84\xF0\x82\x51\x86\xF7\x83\x83\x84\x80\x85\xFB\x83\x82\x85\xFD\x83\x84\x85\x15\x87\xD6\x86\x88\x71\xD8\x86\x47\x7B\xDA\x86\x49\x7B\x1C\x87\x0A\x7C\x8F\x86\x93\x79\xFA\x78\x95\x79\x72\x69\x5E\x83\x6B\x7C\x41\x75\x1D\x85\x65\x64\x56\x87\x12\x84\x6E\x71\x06\x87\xDB\x71\x68\x78\xD2\x83\x42\x7E\x40\x78\xA4\x86\xCF\x85\xA6\x86\x2C\x85\xA8\x86\x41\x84\xF0\x86\x4E\x7A\xF2\x86\xD2\x82\xAE\x86\xAA\x7B\x40\x87\xF5\x81\x42\x87\xF7\x81\x44\x87\xB0\x70\x93\x84\xE8\x79\x92\x71\xEF\x63\x57\x64\xBE\x79\x4C\x87\x63\x75\x4E\x87\xEE\x6E\x86\x83\x09\x71\xAA\x69\x77\x87\xA5\x5B\x79\x87\x58\x84\x7B\x87\x59\x87\x35\x84\xEF\x7A\xA1\x85\x5C\x87\xB2\x83\x28\x86\xA5\x85\x54\x60\xA7\x85\x81\x63\xEE\x86\x04\x7A\x5A\x86\xAF\x79\xAD\x85\x92\x42\xAF\x85\x53\x5C\xF6\x86\x03\x84\x6A\x5E\x05\x84\xFA\x86\x95\x82\xE0\x85\x9A\x65\x95\x87\xC6\x71\x6D\x09\x81\x83\xBF\x79\x6D\x7C\x37\x03\x5D\x83\x50\x87\x75\x87\x15\x0E\x36\x77\xF0\x6C\x75\x84\x1D\x86\xE3\x86\xA1\x79\xE5\x86\x79\x86\xC9\x86\x26\x86\x31\x87\xB0\x83\xCD\x85\x7F\x85\xF9\x83\x85\x84\x82\x86\xEA\x84\x84\x86\xAC\x86\xD7\x85\x3E\x87\xF3\x81\x8E\x87\xB3\x82\x90\x87\x1F\x82\x92\x87\xD5\x70\x93\x84\xBE\x73\x42\x77\x6D\x56\xE2\x86\x74\x85\x65\x83\xF1\x85\xC7\x86\x4F\x85\x32\x87\x7E\x79\x0B\x87\xCE\x85\xB5\x83\x84\x87\xD1\x85\x86\x87\x2E\x85\x88\x87\xFD\x7A\x8A\x87\x76\x83\x8C\x87\xD4\x82\x35\x86\x1D\x82\xE5\x87\x48\x82\x6D\x87\x32\x7C\x6F\x87\x35\x7A\xC8\x83\xA8\x72\xCA\x83\x5A\x73\xEE\x87\x34\x84\x15\x84\xA0\x85\xA1\x86\x30\x87\xA3\x86\xCC\x86\xA5\x86\x36\x87\x80\x86\x38\x87\xDC\x87\x3A\x87\x40\x82\x3C\x87\x58\x7C\xE1\x87\x1B\x82\x02\x88\x46\x82\x04\x88\x6D\x82\xBD\x87\x2D\x83\x08\x88\x5A\x7A\x81\x75\x31\x84\x55\x87\xD0\x87\x3B\x83\xD2\x87\xC8\x86\xF3\x87\x7B\x86\xE9\x86\xF7\x85\x55\x86\xF9\x85\x7D\x7C\x2D\x86\x99\x83\xAA\x86\x48\x83\xDF\x87\x2A\x7C\x5D\x85\x9F\x83\x65\x5E\x06\x7C\x6B\x87\x6A\x7B\x51\x83\x46\x6F\xE4\x74\x0A\x84\xB9\x85\x9C\x67\x8C\x75\x81\x7A\x0F\x84\x2B\x88\x0E\x88\x9B\x84\xD0\x83\xDC\x71\xCB\x85\x7A\x85\x21\x7A\x84\x82\x6A\x7A\xAF\x87\x1D\x5C\xE8\x78\x3F\x7B\xFC\x87\x41\x7B\xFE\x87\xBD\x83\x87\x86\xBF\x83\x69\x87\x68\x7B\x41\x88\x08\x7C\x06\x88\x6E\x65\x5D\x7F\xA3\x6A\x98\x84\x0D\x88\xC7\x85\x99\x7B\x08\x87\xF3\x85\xE7\x86\xD5\x87\x14", -"\x88\x34\x87\xE5\x84\x17\x88\xA7\x86\x81\x86\xA9\x86\x5A\x88\xA6\x7B\x5C\x88\x26\x84\x1F\x88\x44\x82\x21\x88\x6B\x82\x23\x88\xB5\x82\xF4\x84\xB7\x82\x27\x88\x7C\x7A\x50\x84\xC3\x86\xC2\x85\x53\x84\xF6\x6C\x15\x7A\x02\x87\x2C\x88\x76\x85\xF1\x87\xE2\x81\x6E\x88\x52\x86\x9E\x7B\x54\x86\xEB\x86\x56\x86\x63\x84\x58\x86\x93\x7A\xB3\x87\x06\x7A\x3B\x88\xF1\x81\x7B\x88\x69\x82\x7D\x88\xD6\x82\x7F\x88\xD8\x82\x45\x5F\xF5\x78\xBF\x87\xC9\x67\xE8\x7A\x69\x67\x0C\x88\x06\x01\xA3\x87\x4A\x85\xA5\x87\x4C\x85\xAD\x83\x4E\x85\x8F\x88\xD4\x87\x91\x88\xFA\x6F\xAD\x87\x3B\x61\x56\x88\x09\x65\xFA\x87\xD3\x85\x77\x88\x8B\x82\x79\x88\xAA\x84\x67\x87\x66\x7B\x60\x88\xC1\x83\x62\x88\xC3\x83\xE7\x87\xC5\x83\xA5\x88\xF1\x6A\x0A\x7B\x15\x86\x68\x88\xAA\x88\x8C\x88\x9F\x86\x2E\x88\xF2\x87\xD7\x87\x9D\x7B\xB4\x88\x54\x88\x1E\x84\xB7\x88\x89\x66\x97\x88\x59\x88\x83\x86\x74\x83\xBD\x88\x5C\x85\x95\x60\x6B\x84\x9F\x88\xFD\x82\xA1\x88\xFF\x82\x81\x88\x01\x83\x46\x87\x41\x65\x85\x88\x04\x87\x66\x77\x2E\x7B\xBC\x80\x8A\x88\x72\x86\xCD\x88\xBD\x84\xCF\x88\xB1\x88\x30\x88\xE8\x86\x92\x88\xEA\x86\xFA\x7B\xEC\x86\xC7\x70\xD8\x88\xA4\x7B\xBB\x88\x43\x84\x5C\x86\xAE\x85\x5E\x88\xB0\x85\x3F\x88\xA1\x83\xF8\x86\x2B\x83\x25\x88\x07\x84\xC7\x88\xA4\x75\x0D\x0E\xCE\x77\xD8\x84\xA9\x83\xCF\x87\x4D\x88\x9F\x85\xA8\x87\x12\x88\xAA\x87\x27\x86\xF6\x83\x29\x86\xF8\x85\x2B\x86\xFA\x85\xB9\x88\xFC\x85\xFC\x88\x30\x85\xFF\x85\x02\x7C\x9E\x83\x04\x7C\x02\x89\x36\x85\x04\x89\x7C\x83\xE4\x88\x7E\x83\xE9\x87\xD8\x70\xC6\x75\x73\x66\x99\x86\x29\x87\xEF\x88\x4D\x85\x6C\x88\x50\x86\x90\x88\x25\x85\x70\x88\xF6\x87\x2A\x86\xF8\x87\x2C\x86\x1A\x89\x2E\x86\x1C\x89\xD5\x85\xB9\x64\x00\x89\xB8\x87\xE3\x87\x29\x83\x24\x89\xA3\x83\x26\x89\xA5\x83\x93\x84\x46\x88\x68\x85\x51\x82\xD1\x75\xA1\x87\x8B\x88\x0F\x89\xFF\x84\x11\x88\x09\x87\x13\x88\xF5\x87\xD9\x87\x2E\x79\x10\x87\xD9\x7A\x1B\x88\x23\x83\x1D\x88\x42\x82\x9D\x88\x27\x83\x40\x89\x4E\x83\x8B\x86\x50\x83\x64\x88\x4A\x82\x17\x85\xDF\x7B\x7C\x81\xB1\x74\x91\x85\x0D\x81\xC8\x75\x40\x12\x42\x85\x95\x86\x14\x7C\xE7\x6B\xC4\x85\x9B\x85\x2D\x89\x4D\x89\x21\x85\x4F\x89\x6D\x88\xB2\x88\x33\x89\x52\x89\xA8\x82\xDA\x87\xF5\x82\x66\x84\x83\x85\x1E\x89\x64\x7B\xBF\x88\xFB\x82\xE0\x88\xE2\x83\x5F\x89\xE4\x83\xC5\x88\xE6\x83\xE6\x88\x90\x71\x67\x85\x60\x7E\xE5\x85\x10\x0E\xE5\x7B\xFC\x03\x6D\x85\xA8\x74\xE2\x75\xEA\x7B\x4B\x89\xEE\x88\x72\x89\xF0\x87\x74\x89\x31\x89\x76\x89\xC9\x7B\x76\x89\x16\x89\x34\x88\x18\x89\x36\x88\x39\x89\x38\x88\x3B\x89\xFE\x85\xD9\x7D\x1F\x89\x3D\x88\x21\x89\x9D\x5E\x40\x88\x42\x89\xB0\x84\x44\x89\x71\x84\xB7\x85\x94\x7E\x48\x89\x82\x73\x7D\x74\x11\x7C\x46\x6C\x67\x89\xB7\x5D\x08\x76\x72\x85\x9A\x86\x2E\x89\xAF\x88\x30\x89\xE6\x86\x9A\x89\x7F\x87\xF6\x6B\x35\x89\x17\x89\x37\x89\x19\x89\x75\x88\x87\x87\xDA\x88\xBB\x83\xDC\x88\x5D\x86\x5B\x89\x4C\x83\x5D\x89\x7A\x83\xAB\x89\xD3\x84\x86\x89\xD5\x84\x88\x89\xAB\x5E\x0D\x86\x8B\x89\x24\x81\x9B\x87\x5B\x83\x13\x76\x9E\x87\xF1\x79\xC3\x85\x16\x7C\xC5\x85\xF6\x64\xAB\x88\xC2\x7B\x4B\x85\x9E\x86\xF0\x88\x8E\x88\xDE\x84\x32\x89\x9B\x89\xF3\x88\x82\x84\x2C\x79\x7E\x7B\x74\x88\x19\x88\x76\x88\xC8\x89\xF1\x86\x9B\x88\x4A\x83\xCC\x89\x28\x84\xB9\x87\x2A\x84\x04\x84\x2C\x84\x06\x89\xCE\x78\x83\x88\x0C\x7C\x48\x87\x36\x7C\x67\x89\xE0\x89\x1E\x85\x69\x7C\x74\x87\x0D\x83\x26\x76\x6D\x7C\x72\x6C\x95\x89\x6A\x88\x4D\x86\x07\x87\xF1\x88\xE8\x89\xBF\x89\x51\x88\x80\x87\xD8\x87\x79\x89\x54\x89\xDB\x87\xF1\x89\xDD\x87\xDB\x88\xF4\x89\x32\x86\xF4\x86\x8C\x84\xCE\x89\x8E\x84\xFA\x89\x4B\x84\xFC\x89\x4D\x84\x08\x89\x4F\x84\x0B\x86\x1F\x86\xCE\x81\x00\x8A\x64\x7C\x3B\x76\xCC\x61\x38\x76\x14\x86\x0E\x86\x34\x72\xD3\x6C\x94\x7C\xDB\x67\x14\x6D\x00\x87\x33\x59\xA5\x6A\x61\x73\x4B\x86\xDE\x81\xAE\x88\x5B\x84\xB0\x88\x10\x8A\xEB\x89\xB3\x88\x94\x78\xB5\x88\x87\x5D\x35\x88\xA4\x84\x37\x88\xA6\x84\x39\x88\x9B\x83\xFE\x88\xB6\x87\x3E\x89\x63\x60\xF8\x89\x49\x84\x21\x8A\x90\x84\x23\x8A\x31\x67\x1E\x87\x2F\x72\x20\x87\x36\x68\xFE\x81\xC6\x74\xA8\x62\x44\x86\x4D\x7B\x5E\x78\x36\x8A\x14\x0E\x38\x8A\xBB\x89\x3D\x8A\xBD\x89\xD3\x87\x40\x8A\x77\x89\x32\x88\x82\x87\xF7\x87\x73\x88\x85\x87\xC6\x89\xFB\x87\xF2\x89\x89", -"\x87\x1B\x8A\x86\x86\x00\x88\x78\x83\x1F\x8A\xAE\x84\xD0\x89\x38\x85\xD2\x89\x8F\x5B\x55\x8A\x46\x76\x95\x5B\x3E\x86\x85\x71\xD7\x74\x59\x78\xD9\x74\xCB\x80\x4F\x1A\xFE\x86\xDE\x74\x1C\x86\x3F\x0A\x39\x8A\x74\x86\xA2\x71\x0D\x8A\x7D\x87\xB9\x78\xEA\x89\xD1\x88\x7E\x85\x15\x8A\x58\x79\x55\x89\x54\x7C\x57\x89\xDC\x83\x59\x89\x25\x83\xF6\x89\x10\x85\x4F\x8A\x12\x85\xE2\x88\x14\x85\xA3\x88\x16\x85\x53\x83\xE6\x68\x91\x86\xA9\x78\x56\x80\x0A\x63\xDC\x89\x66\x7C\x52\x82\x5B\x6F\xCB\x88\x03\x01\x89\x8A\x9C\x86\x75\x86\xA6\x87\x10\x88\x11\x89\x50\x89\x13\x89\xD6\x87\x19\x84\x14\x8A\xF8\x83\x16\x8A\x7B\x89\xD6\x85\x1D\x89\xA5\x89\x7F\x89\x20\x89\xD7\x86\x22\x89\xB2\x85\x77\x8A\xB4\x85\x79\x8A\xB6\x85\xD4\x89\x37\x5E\x72\x82\xD1\x6D\xF9\x74\xB5\x0B\xD4\x6D\x6C\x89\x8C\x70\xBF\x86\x1F\x48\x7A\x82\xAE\x8A\x86\x88\xB0\x8A\x3C\x8A\x2E\x87\x3E\x8A\x79\x85\x13\x8A\xD2\x88\x42\x8A\xD4\x88\x61\x84\x95\x88\x56\x85\xFA\x88\x89\x82\xA3\x89\x30\x86\x71\x8A\xF3\x86\x9A\x8A\x34\x85\xC2\x8A\xD9\x86\xC4\x8A\xDB\x86\xC6\x8A\x08\x86\x25\x8A\x1B\x77\x98\x82\xB9\x84\x73\x65\xD4\x8A\xE9\x88\xC4\x86\xB1\x8A\x7A\x84\x98\x89\xBE\x89\x66\x8A\x8F\x8A\xB7\x8A\x33\x87\xC2\x89\x9E\x89\xC4\x89\xA0\x89\x6D\x8A\xBA\x88\x6F\x8A\xFD\x87\xE6\x8A\x8B\x87\x1D\x8A\x34\x86\xC1\x88\x60\x85\xC3\x88\x6F\x84\xAD\x89\xB2\x84\xFE\x89\xE4\x74\xBA\x82\xA1\x5C\xBC\x82\x54\x87\xD1\x25\x62\x8A\xD8\x8A\x64\x8A\x2F\x88\x90\x8A\x31\x88\xF5\x88\x33\x88\x94\x88\x45\x8A\x57\x86\x47\x8A\x0A\x85\x49\x8A\xA8\x84\xCA\x89\xFF\x88\x73\x8A\x88\x86\x75\x8A\xD1\x84\xEC\x8A\x6C\x87\xEE\x8A\x3A\x86\x1D\x79\xCF\x62\x7F\x78\x3F\x79\xDE\x82\x3F\x86\x23\x87\x45\x79\xC7\x63\x6F\x89\x11\x86\x38\x66\xF5\x8A\x2B\x87\x9E\x82\xD7\x8A\x5A\x87\xD9\x8A\x0A\x87\x68\x8A\x15\x88\x83\x87\x6B\x8A\xF9\x87\x04\x8B\x1B\x89\x06\x8B\x5B\x88\x08\x8B\xFF\x87\x0A\x8B\xAF\x86\x82\x89\x6D\x84\x0E\x8B\x62\x85\x10\x8B\x64\x85\x12\x8B\x0D\x75\xC1\x87\xF5\x71\x49\x87\x61\x0B\x07\x83\x59\x83\x4D\x87\x84\x83\xC8\x87\x91\x89\xE9\x7B\x34\x59\x53\x87\xFC\x84\x88\x8A\x19\x8B\x42\x8B\x1B\x8B\xD0\x88\xFE\x8A\xF4\x87\x45\x8B\x71\x88\xCD\x86\x0E\x87\xCF\x86\x94\x8A\x3E\x82\x96\x8A\xCB\x84\x98\x8A\xDE\x83\x80\x89\xE0\x83\x52\x8B\x04\x86\x54\x8B\x06\x86\x30\x8B\x8E\x86\xF0\x8A\x90\x86\x40\x7F\x81\x12\x31\x83\xC9\x87\x07\x8A\x34\x83\x94\x89\x3D\x8B\x69\x8B\xA7\x87\x9C\x84\xF2\x88\x1D\x8B\xF4\x88\xD3\x88\x93\x88\xF7\x88\xE0\x8A\xED\x86\xE2\x8A\x72\x83\x4C\x8B\x78\x88\x4E\x8B\x5D\x88\x2A\x8B\x5F\x88\xEA\x8A\x6A\x87\x2E\x8B\x42\x88\x61\x89\x52\x83\x54\x83\x7B\x76\x56\x83\xE9\x6E\x99\x87\x5F\x8B\xD9\x89\xBC\x85\x85\x83\x06\x8A\x87\x83\x54\x75\x8A\x8B\xF4\x8A\x8C\x8B\xB2\x8A\x8E\x8B\x3F\x8A\x90\x8B\x6F\x88\x78\x89\xB9\x8A\x93\x8A\x17\x8A\xC7\x89\x19\x8A\xC9\x89\x9B\x8B\x7A\x88\x7A\x8B\xDF\x88\x0C\x8B\x36\x86\x7E\x8B\x38\x86\x80\x8B\xB5\x86\x58\x8B\x5C\x75\x5A\x8B\x5F\x75\x00\x26\xD7\x69\xEB\x79\x53\x77\xED\x79\x61\x8B\x4F\x87\x63\x8B\x6F\x85\x5D\x0F\xCC\x87\xF3\x8A\xF6\x64\x3E\x8B\x57\x87\x2C\x87\x41\x8B\x8D\x8B\x4F\x88\x7E\x87\x12\x8A\xC1\x89\x53\x89\xBB\x8B\xBB\x8A\x84\x71\xBE\x8A\xF9\x82\xC2\x8B\xAC\x84\x2C\x8B\xF1\x84\x84\x89\xF3\x84\x53\x8A\xF5\x84\xCA\x8B\x70\x75\xE5\x5A\xEB\x87\x1A\x7D\xD3\x8A\xB3\x8B\xF9\x8A\xB3\x8A\x75\x89\xFC\x8A\xC0\x89\x72\x6E\xED\x89\x84\x84\xE6\x8B\x67\x84\xE8\x8B\x32\x85\xE8\x8A\xD9\x85\xEC\x8B\x89\x85\xEE\x8B\x8B\x85\x15\x85\x8D\x85\xFC\x86\x94\x63\xA1\x7C\xE9\x83\xBE\x72\xA9\x88\xAD\x8A\xF8\x8B\x22\x86\xFA\x8A\x65\x8A\xB7\x8B\x41\x8A\x68\x7A\xDE\x8A\xA6\x85\xF8\x88\xE3\x71\xB1\x87\x27\x7A\xE4\x8A\xAB\x86\x0D\x85\x8A\x84\x50\x8B\x8D\x87\x7C\x8B\xB1\x86\x09\x8C\xDD\x85\x0B\x8C\xDF\x85\x0D\x8C\xC9\x65\x29\x88\x17\x8B\x06\x01\xDB\x8B\x7A\x87\x21\x79\xF8\x8A\x15\x8C\xFA\x8B\x99\x89\xFC\x8B\xE2\x8B\xFE\x8B\x56\x79\xEE\x89\x6C\x8A\xF0\x89\xBD\x8B\x76\x8B\xEB\x84\x78\x8B\xCD\x84\xEA\x8B\xCF\x84\x07\x8C\xDB\x85\x29\x8C\x63\x86\x56\x8B\x8D\x7B\xC8\x8A\x05\x68\x47\x89\xD7\x89\xFC\x7D\x0D\x84\x49\x65\xB1\x6D\x68\x8B\x96\x89\xE4\x86\xE7\x89\xDA\x8A\x0F\x5E\xB6\x8A\xCC\x85\xFF\x8A\xE4\x8B\xD7\x7A\x74\x8B\x21\x83\x41\x8C\xDE\x87\x23\x8C\xAD\x86\x25\x8C\x01\x88\xC4\x8B\x03\x88\x49\x8C\xB3\x86\xC8\x8B\xDA\x49\x2F\x84\x66\x7E\x30", -"\x8C\x13\x8C\x56\x8C\xD1\x87\x58\x8C\x44\x8B\x1F\x8B\x69\x8A\x36\x89\x48\x8B\x38\x89\x4A\x8B\x3A\x89\x99\x8B\xBC\x88\xC0\x8B\xBE\x88\xC0\x8A\x68\x87\x9F\x8B\x61\x88\xA1\x8B\x63\x88\x6C\x8C\xDD\x7B\x63\x89\x1A\x76\x19\x85\x28\x8A\x93\x14\x12\x70\xF2\x58\xF7\x8B\x72\x8C\x2D\x88\x74\x8C\x51\x89\x6F\x8B\x00\x8B\x21\x8B\x9F\x89\x46\x8A\xA1\x89\x48\x8A\x21\x8C\x3A\x88\x64\x8C\xE0\x87\x45\x8C\xEF\x84\x47\x8C\x61\x86\x6A\x8C\x1B\x87\x87\x8C\x6E\x87\x82\x8B\x99\x6F\x73\x84\xF3\x6A\xCE\x87\x55\x8C\x0C\x8A\x7C\x87\x66\x78\x59\x8C\x26\x6C\x4C\x7C\x66\x8A\x9D\x89\x97\x8C\x02\x8B\x99\x8C\x7B\x8C\xA2\x89\x7D\x8C\xFD\x88\x28\x8B\x4C\x8A\x9D\x8B\x01\x89\xA9\x89\x03\x89\x51\x8A\xF9\x86\x2B\x8C\xFB\x86\x89\x8C\x6A\x63\xAD\x75\x30\x8A\x2E\x82\xAA\x5D\x32\x8C\xA4\x87\x34\x8C\xDE\x8B\xB4\x8B\xE0\x8B\x8E\x8A\xFD\x8B\xAF\x6C\x77\x8C\xC3\x89\x79\x8C\xC5\x89\x3F\x8C\x6E\x8A\xBE\x8B\xF3\x89\x9E\x8C\x3C\x88\xDE\x88\xEB\x8B\x27\x8C\x19\x87\xA4\x8C\x43\x87\x4B\x8C\x45\x87\xF2\x8B\x7E\x75\xE8\x88\x3F\x8B\x32\x81\xE5\x5A\xB8\x84\xC8\x6F\xA1\x62\xCD\x8C\xAC\x88\xCF\x8C\xE5\x89\x2F\x89\x0F\x8A\xB1\x8C\xD1\x7A\xAB\x87\x15\x89\x43\x8A\x8C\x5E\x1D\x8C\xE7\x78\xA9\x85\x36\x66\x99\x88\x95\x7A\xDE\x8C\x9C\x88\xA0\x8C\x87\x85\xA2\x8C\x8A\x86\xC6\x8B\x8C\x86\xA6\x8C\x07\x88\xA8\x8C\x35\x7A\x67\x6B\xC0\x75\xED\x88\x8B\x8B\x91\x8C\x8D\x88\x16\x8C\x1C\x8B\x6D\x8B\x1E\x8B\x92\x8B\xF6\x88\x85\x82\xFD\x8C\xA2\x7B\x97\x8B\x65\x84\xBC\x8A\x3C\x89\xA6\x6B\x05\x8C\x02\x86\xE2\x8C\x41\x87\xE4\x8C\x91\x87\xE6\x8C\x93\x87\x4D\x8C\x3B\x75\x29\x89\xF9\x84\x2B\x89\xCB\x8C\xF0\x8C\x14\x8C\x77\x86\x15\x8D\x6C\x8B\x5C\x8C\x6E\x8B\x76\x8C\x46\x8B\x6A\x8A\x72\x8B\x37\x87\x60\x8C\xC9\x84\x62\x8C\x1A\x8A\x03\x8D\xF5\x89\x05\x8D\x17\x87\x25\x8D\x8F\x87\x27\x8D\xE6\x87\x29\x8D\xE8\x87\x2B\x8D\x8D\x7C\xEA\x8C\xDC\x8B\x69\x85\x1E\x78\x9A\x85\x3C\x8B\xB2\x8B\x13\x8D\xCE\x88\x93\x8C\xB5\x8A\x34\x89\x5E\x8C\x1F\x83\x3D\x8D\xD1\x86\x63\x87\xD3\x86\x65\x87\x3D\x87\x43\x8D\x3F\x87\x45\x8D\xE4\x87\x47\x8D\x05\x88\x0B\x8D\x8B\x7C\x4B\x8D\x6C\x6C\x65\x89\xDA\x75\x02\x8A\x2E\x71\x41\x85\x42\x73\xBD\x86\xD5\x66\xE3\x75\xB1\x8B\xDA\x8B\x32\x8D\xC6\x86\x34\x8D\x8F\x8B\x17\x8D\x91\x8B\xDD\x8A\x93\x8B\x1B\x8D\x95\x8B\xF9\x88\x24\x8B\x59\x86\x26\x8B\x0C\x85\x43\x8C\xED\x84\x61\x8D\xE2\x87\x63\x8D\x41\x89\xC3\x8C\x05\x89\xC5\x8C\xBE\x87\x2D\x8C\xE1\x85\x92\x81\x3E\x73\x6D\x8D\xE4\x7B\xF0\x75\x64\x71\xE7\x7B\x87\x8B\xAF\x8B\xF5\x75\x74\x8D\x4B\x65\xF1\x8C\xE3\x89\xAD\x88\xF4\x8C\xBC\x89\xF6\x8C\x75\x8C\x19\x8D\x20\x8B\x94\x8B\x22\x8B\x96\x88\x81\x8D\x98\x88\x83\x8D\x5A\x85\xBD\x8C\x64\x6D\x87\x8D\x20\x88\x68\x8C\x22\x88\x65\x8D\x24\x88\x8D\x8D\x26\x88\x0D\x8D\x5B\x71\xB0\x89\x50\x8C\x21\x73\x10\x0E\x3B\x67\x03\x76\x35\x7E\x47\x88\xC4\x79\x15\x0E\xB8\x89\xDC\x70\x9C\x8D\x76\x8D\x0E\x8A\x56\x8D\xCA\x85\xB3\x8C\x18\x8C\x5F\x87\xFF\x8B\x61\x87\x11\x87\x5D\x8D\x13\x87\x5F\x8D\x1E\x88\xAF\x8D\x7C\x88\xB1\x8D\x7E\x88\xB3\x8D\x80\x88\xF0\x8B\x82\x88\xB7\x8D\xC4\x71\xB9\x8D\xE4\x85\xD8\x89\x6D\x79\xCB\x71\x3C\x7C\xBF\x85\x36\x76\xCF\x71\x67\x75\x11\x0E\x78\x6C\xB9\x89\x53\x8D\xAE\x8C\x35\x8C\x33\x8D\x37\x8C\xFB\x8A\xCB\x8D\xFD\x8A\x36\x8D\xF2\x82\x60\x87\x7A\x89\x81\x85\x7C\x89\x64\x87\x7E\x89\xE9\x8B\x81\x8C\xC0\x88\x83\x8C\xC2\x88\x85\x8C\xC4\x88\x49\x8D\xC6\x88\x8F\x8D\x97\x67\x2A\x8A\x8F\x7C\x03\x8A\x72\x04\x23\x76\xAE\x8B\x9F\x87\xA2\x6C\xAC\x7D\x6E\x7C\xA5\x5B\x9D\x8D\x8F\x7C\xC8\x85\x56\x7B\x57\x8D\xB9\x8B\xF5\x8D\xBA\x8A\xF7\x8D\x20\x8D\xA4\x89\x1A\x8E\x1C\x8A\x23\x8D\x5F\x86\x07\x8D\xF7\x86\x8B\x8D\x25\x89\xDA\x8D\xE5\x88\xE8\x8C\x99\x75\x27\x8A\x3A\x8A\x40\x14\xD6\x89\xD2\x6C\x34\x76\x07\x74\xAC\x73\x70\x86\x1E\x85\x13\x86\xA0\x67\x2C\x8A\x44\x80\xA9\x74\xD3\x5A\xC4\x12\x9E\x7C\xD9\x61\xF7\x54\x2F\x80\xA2\x8A\xC2\x7D\xCA\x8B\xE3\x61\x0C\x7E\xAA\x62\xE7\x61\x38\x63\xA7\x73\x70\x65\x9C\x65\xF8\x6E\x9C\x16\x27\x7D\x60\x5F\x9C\x7E\xBA\x8D\xAC\x60\xF7\x61\x4F\x80\xA3\x6A\x7B\x73\xF6\x8A\x49\x8E\xAF\x77\x15\x38\x43\x1F\xD4\x7D\x05\x62\x50\x8E\x71\x7E\x47\x8E\xEC\x7A\x4A\x8E\xF4\x5F\x4C\x8E\xDF\x8D\x57\x62\x2A\x3B\x45\x8E\x51\x8E\x48\x8E\x37\x18\x5E\x8E\xF8\x60\x60\x8E\xE6\x8D\x68\x71\x21\x62\x5A\x8E\x7C\x7E\x5C", -"\x62\x0C\x86\xD4\x60\x2B\x62\xB6\x89\x2F\x62\x6E\x8E\xA1\x7A\x28\x8E\x8A\x8A\x51\x62\x37\x62\x8C\x7E\x6C\x7E\x74\x8E\x3D\x62\x76\x8E\x30\x84\x78\x8E\xAF\x8A\x11\x17\x52\x62\xE3\x77\xA8\x8A\xC9\x6A\x3E\x0E\xA4\x06\x98\x7E\x82\x8E\xD5\x8A\x84\x8E\xF0\x77\x9E\x10\xB6\x13\x58\x8E\x27\x01\x02\x78\x64\x8E\x5B\x8E\x52\x8E\xEB\x8C\x54\x8E\xB8\x7D\x6E\x62\xC0\x85\x6B\x8E\x64\x62\x3E\x0E\x0F\x78\x95\x8E\x6F\x8E\x69\x62\x66\x8E\x8E\x8E\x9A\x8E\x86\x8E\x0B\x8E\x00\x76\x35\x8E\x39\x8E\xD8\x81\x5F\x8A\x01\x68\xA5\x5B\x21\x75\xBB\x73\x0F\x86\xDA\x67\x13\x8E\x4A\x7C\xC9\x8D\x19\x83\xCB\x8D\xB5\x8C\xA6\x8D\x98\x8C\x23\x8B\x9A\x8C\x25\x8B\x9C\x8C\x4A\x8A\xAD\x8D\xC7\x78\xF7\x89\x20\x8E\xBA\x87\xA2\x5E\xD1\x89\x02\x8E\x19\x5D\x7B\x8A\x9C\x8E\xCB\x8B\x7E\x7F\xEB\x77\x80\x8A\x41\x86\x5A\x78\x5B\x8A\x83\x8A\xEF\x65\x03\x82\xAD\x8E\x0C\x0E\xA5\x6A\xB0\x8E\x01\x76\x18\x74\x46\x69\xB4\x8E\x75\x7C\x15\x8E\x95\x8C\x59\x8D\xC7\x84\x5B\x8D\x39\x87\xD0\x8D\x3B\x87\xD2\x8D\x5A\x89\xD4\x8D\x9E\x88\xD6\x8D\xA0\x88\xD8\x8D\xA2\x88\xA8\x5F\x43\x66\xCA\x8E\xE5\x8D\xCC\x8E\x36\x8B\x7F\x8A\x40\x86\xE1\x69\x39\x68\x28\x82\x01\x82\x24\x77\x6E\x86\x3E\x68\x30\x8E\xAC\x8A\x02\x01\xD9\x8E\xF1\x73\x93\x7C\x2E\x8E\xA8\x7A\x0F\x88\xF9\x8B\xB5\x8B\xF7\x8C\xB9\x6D\xCA\x8D\x7A\x8D\xEC\x89\x3C\x8C\x00\x8C\x19\x8E\xE7\x8B\x1C\x8E\x72\x8A\x66\x8C\x74\x8A\x89\x8D\x5E\x89\x09\x8D\x60\x89\x67\x8D\x62\x89\x3D\x8E\x70\x66\x4D\x82\x53\x8C\x85\x7F\x71\x8D\x61\x71\x6C\x68\xAB\x8A\x32\x8B\x73\x65\x01\x8F\x93\x85\x03\x8F\x19\x74\xF0\x7A\x06\x8F\x36\x8C\x08\x8F\xA3\x8D\x7C\x8D\x1A\x8D\x55\x88\x1C\x8D\xFC\x7B\x1F\x8C\x6E\x7A\xBB\x8C\xBD\x8A\x12\x8F\xE7\x8A\xE9\x8E\x5C\x89\x16\x8F\xCF\x89\x22\x8E\x43\x89\x24\x8E\x27\x89\x69\x8D\x1E\x5C\xCA\x8A\xF8\x74\x74\x82\xD4\x78\x87\x8E\x10\x6C\xD1\x8A\xDF\x48\x7A\x82\x27\x8F\xB3\x89\xDB\x8E\xDC\x69\xDD\x8E\x36\x82\xDF\x8E\x38\x8D\x70\x8B\x16\x88\x3B\x8D\x18\x88\xE3\x8E\x1A\x88\xE5\x8E\x1C\x88\xE7\x8E\x99\x8A\x3B\x8F\xCD\x89\x3D\x8F\x20\x8A\xBB\x87\xFB\x89\xB5\x8D\x07\x89\x04\x8E\x97\x82\x5C\x76\x07\x75\xAC\x8C\xE1\x25\xA5\x74\x31\x8A\xA7\x74\x2B\x8F\x4E\x88\xC9\x85\x50\x88\x0B\x8F\xF3\x8D\x3A\x82\x92\x8A\x5F\x8C\xBC\x8B\xDB\x8C\x3F\x8D\xBF\x8B\x41\x8D\x1D\x8E\x60\x8F\xC3\x8E\x62\x8F\x76\x8A\x3F\x8F\xAC\x89\x41\x8F\x45\x89\x43\x8F\x0E\x75\x08\x0E\xE8\x68\xD6\x8E\x55\x6E\xAF\x8E\x6E\x8F\x16\x86\x32\x8A\x04\x8F\x71\x8F\x10\x89\x2E\x8F\x94\x8C\x55\x8F\x96\x8C\xBA\x8E\xB7\x8C\xBC\x8E\xB9\x8C\x9B\x8C\x37\x8F\x21\x8D\x86\x71\x80\x8F\x9B\x8A\xC4\x8E\xF9\x89\x64\x8F\x22\x8A\x66\x8F\xC7\x65\xF1\x8E\x95\x7C\x59\x8B\xCD\x8E\x7D\x0D\x1C\x75\x5C\x6E\xB9\x80\x5D\x8A\x19\x69\x9B\x8D\x3F\x0A\x4E\x8F\xBC\x8D\x06\x74\x2A\x8F\x68\x83\x2C\x8F\xEE\x8D\x95\x8F\x54\x8F\xA4\x8D\xD6\x8C\x01\x8B\xD8\x8C\x03\x8B\xDA\x8C\x05\x8B\xDC\x8C\x70\x8A\x7E\x8F\x13\x8F\x1E\x8E\xF5\x86\xA3\x8F\x50\x8A\xA5\x8F\x52\x8A\xA7\x8F\x24\x8A\x68\x8F\xA6\x8B\x2A\x8A\x2C\x75\x3F\x85\x30\x75\xCF\x8A\x87\x88\x52\x87\x1D\x85\xD8\x8E\x8F\x8F\xC4\x02\x70\x8F\xB9\x8F\x72\x8F\x14\x8E\xB6\x8E\x7C\x85\x9C\x89\xFB\x8C\x24\x60\x33\x8F\x87\x82\x1E\x8D\x58\x85\xAB\x8D\x5B\x86\xC1\x8E\xB7\x87\x4E\x8A\xCB\x8F\x9D\x8A\xED\x8E\xE3\x88\x86\x8F\xAE\x89\x88\x8F\x30\x83\x73\x87\x98\x8D\x0C\x8E\x99\x79\x3B\x8B\x2D\x8A\xAA\x5D\xB5\x8F\x0C\x0E\x7E\x74\x52\x8F\x37\x84\xE2\x8F\x5D\x87\x32\x89\xB9\x8E\x7E\x8D\xA7\x8D\xE1\x8A\xA9\x8D\xD9\x88\xC5\x8F\x07\x8B\xC7\x8F\x3A\x8F\xFC\x8D\x81\x89\xEB\x8E\xE1\x88\xF2\x8F\x9F\x8A\xEF\x8E\x92\x84\x88\x8F\xCC\x8B\x05\x83\x4B\x69\x58\x83\xD1\x8B\x5A\x83\xAC\x8B\x62\x8B\xCB\x8E\x92\x89\x34\x59\xC6\x79\x63\x70\x38\x66\xFF\x8F\x08\x0E\x01\x90\x6B\x88\xA2\x8D\x96\x8F\xBE\x8F\x39\x8D\x78\x8C\x58\x8F\xEF\x89\x5A\x8F\x18\x8A\x7C\x8F\xDD\x8C\x85\x8D\x0E\x85\xC9\x8F\x1E\x8A\x82\x8F\x2D\x8B\x84\x8F\xC7\x8E\xF4\x8F\x11\x8B\xDC\x8D\x47\x6F\x1A\x90\xC3\x87\x60\x75\x91\x64\xC5\x87\x00\x72\xAD\x7D\xAD\x8B\xF9\x8F\xDD\x89\x11\x0E\xD8\x8B\xEF\x8C\x27\x90\xDC\x8F\xD2\x61\x51\x8F\x2B\x90\xC8\x8D\x74\x8F\xB7\x8E\x0C\x8F\xD4\x7A\x78\x8F\x5A\x8D\x7A\x8F\xC4\x8F\x35\x90\xC6\x8F\x37\x90\x24\x8C\x39\x90\x0B\x8B\xFE\x8D\x0D\x8B\x00\x8E\x0F\x8B\x3F\x90\x57\x8B\x41\x90\x13\x8B\xA7\x83\x08\x6A\x0D\x89\xB4\x8F\x51", -"\x90\x17\x86\x7E\x60\xBA\x8F\x77\x8D\xEF\x8D\x17\x8C\x58\x90\x67\x8A\x97\x8F\xE1\x8E\x0F\x87\x5C\x90\x4B\x8B\x0D\x90\x4D\x8B\x0F\x90\x09\x8B\x62\x90\x51\x8B\x13\x90\x83\x89\x18\x8F\x85\x89\xC8\x8E\xD3\x89\x26\x8E\x0C\x68\x0A\x88\x11\x8C\x6C\x8F\x87\x73\x70\x90\x91\x8F\xB8\x8F\xF1\x83\x73\x90\xC7\x8D\x78\x8D\xB6\x8B\x77\x90\xF2\x8D\x52\x88\x81\x87\x2F\x90\xD7\x8C\x31\x90\x3E\x8C\x33\x90\x40\x8C\x5C\x8F\x58\x89\x5E\x8F\x79\x8B\x11\x90\x7B\x8B\x84\x90\x53\x8B\x66\x90\x55\x8B\x68\x90\x4C\x8C\x8A\x90\x1F\x75\x2F\x8C\x67\x8B\x6D\x8F\x68\x74\xB7\x8F\xDC\x8E\x54\x90\x96\x90\x09\x8F\x13\x7B\xF9\x8C\x24\x85\x07\x90\x32\x8F\x7F\x8D\x1E\x8C\xE9\x8F\xEF\x86\x9E\x8F\x1B\x8E\x3D\x89\xBF\x8C\x3F\x89\x3B\x90\xED\x8B\x86\x90\xEF\x8B\xCF\x8F\x18\x90\xAE\x90\x89\x70\x4F\x8C\x61\x8E\x39\x67\x52\x8C\x29\x7E\x82\x6A\xB2\x90\x9C\x74\xB4\x90\x53\x90\x8C\x8A\xB0\x8C\x2F\x8F\x1A\x8C\x7D\x8D\xBD\x90\x09\x90\x96\x8B\x0B\x90\xFB\x88\xC2\x90\xE5\x8A\x80\x90\x4F\x8B\x82\x90\x26\x8C\xA8\x90\x7D\x8B\xAA\x90\x7F\x8B\x88\x90\x8F\x5B\x6E\x8C\x7A\x0A\xFF\x8E\x01\x01\x28\x90\x92\x7C\x2D\x8E\x92\x90\xDD\x84\x94\x90\x8D\x8A\xAA\x7A\xD4\x8C\xCB\x7B\x56\x8F\x47\x8B\x9E\x90\x49\x8B\xC3\x8F\x7D\x90\x5E\x90\x0E\x90\x60\x90\x65\x8C\xE7\x90\x67\x8C\x64\x90\xC5\x8B\xEB\x90\xC7\x8B\xED\x90\xC7\x8A\xCD\x90\xDC\x5C\xCF\x90\x9D\x8E\xD8\x8F\x34\x59\x54\x84\x44\x60\xE3\x5F\x8E\x8F\xB3\x90\x50\x8F\x72\x90\xE0\x8F\xB5\x8E\x56\x90\xE3\x8F\xB4\x8C\xE5\x8F\x67\x5F\xD6\x88\x8F\x5E\xC0\x90\xB2\x87\xEB\x8F\xB4\x87\x4B\x8A\xAE\x8D\xA6\x90\xC3\x8B\x09\x91\x69\x8C\xC9\x90\x0A\x8C\xA0\x8A\x0C\x8C\xC7\x8C\x0E\x8C\xAA\x8C\xE9\x7A\x8E\x90\x06\x01\xF3\x90\x0B\x7B\x90\x8F\xDE\x8F\x93\x90\x1C\x91\xDE\x8E\x04\x90\xBA\x90\x5E\x87\xBC\x90\xD5\x88\xE7\x8F\xA8\x85\x35\x8F\xFE\x7B\x27\x91\x9A\x88\xE5\x90\x9C\x8B\x14\x8F\x2B\x8B\xC7\x90\x08\x8C\x2F\x91\x2A\x8C\x31\x91\x2C\x8C\x33\x91\xC9\x65\xC9\x88\xCA\x8C\xF1\x90\x00\x00\x39\x91\x15\x86\xDD\x8F\x1D\x1A\x02\x90\xA9\x87\x40\x91\x14\x89\xBB\x90\x21\x91\xB9\x5C\x23\x91\xAD\x68\xE1\x90\xE3\x8A\xE3\x90\x22\x8C\x05\x91\x9F\x8C\x2B\x91\xE1\x8C\xE9\x90\x28\x8C\x51\x91\x4A\x8C\xAC\x90\xE7\x8C\x6A\x90\x0D\x75\x11\x91\x65\x7C\x6E\x73\xEB\x88\x6E\x80\x11\x8D\x26\x8F\x90\x90\x3C\x91\xF7\x90\x3E\x91\x53\x8F\x61\x91\x5B\x8C\x9A\x90\xB8\x8A\x17\x8E\xE5\x8B\x10\x8F\x02\x8C\x39\x8F\x81\x90\xA1\x8F\xE9\x8A\xC1\x8C\x23\x89\x3D\x90\x78\x8A\x0D\x91\xEF\x8A\xD1\x8F\x09\x89\x11\x0E\x0B\x89\x77\x0D\x4D\x8F\x7F\x91\x5E\x91\xB6\x90\x75\x90\x16\x8D\x76\x8F\xB8\x8B\xE0\x8E\x5A\x90\xE2\x8E\x7C\x90\x7C\x8C\x7E\x90\x9A\x8B\x4B\x91\xC1\x8B\x6E\x91\x46\x8C\x4F\x91\x48\x8C\x72\x91\x6B\x8C\x94\x91\x58\x7A\x0F\x91\x86\x78\x0E\x81\xD9\x70\x2F\x8D\x59\x91\x5B\x91\xCA\x8C\x5D\x91\xB3\x8E\x9E\x91\xBC\x8F\x84\x91\x58\x8D\xA4\x91\x7B\x90\x01\x8C\x7D\x89\x03\x8C\xD5\x86\xAC\x91\xA1\x8C\xAE\x91\xA3\x8C\xB0\x91\xA5\x8C\xB2\x91\x81\x8B\x96\x91\x26\x8A\x2B\x7B\x8C\x8C\x92\x85\x50\x8D\x56\x75\x47\x85\xA1\x62\xBA\x91\xAF\x5F\xF5\x90\xB5\x90\xD9\x90\x01\x79\xDB\x90\xF5\x7A\x64\x91\xD9\x63\x66\x91\x2F\x5F\xFF\x8C\xBF\x5B\x01\x8D\x24\x84\xED\x8F\x4D\x8A\xAB\x70\x17\x8F\x0B\x91\x0A\x8D\xCE\x91\xC9\x8B\x76\x91\x5C\x75\x3D\x85\x07\x8E\x6E\x8D\x1A\x09\x6B\x89\x49\x8F\x52\x84\x15\x0E\xE4\x75\xC4\x8D\x6F\x90\x19\x91\x29\x8F\xDC\x91\xAF\x8C\xDE\x91\x2D\x90\x30\x8F\xA5\x8D\x08\x90\xBB\x8E\xA8\x8D\xBD\x8E\x82\x8D\xBF\x8E\x27\x8B\x7F\x8C\xDD\x88\x5E\x85\x70\x91\xE3\x8C\xCC\x91\xE5\x8C\x74\x91\x2A\x8D\xB4\x91\x89\x89\x6E\x81\xF4\x91\x94\x8D\x6B\x85\xF1\x75\x06\x67\xD7\x8F\xEA\x85\x93\x89\xFC\x8F\xE6\x85\xD8\x91\x9C\x91\xBD\x91\xDD\x91\xC6\x7B\xB8\x90\x12\x71\x1F\x91\xB8\x8E\xE1\x91\x7B\x5C\xE3\x91\xD5\x5D\x47\x91\x22\x84\xE7\x91\xAC\x85\x29\x91\xC2\x8E\xA2\x8F\xCA\x91\x08\x8D\xED\x91\x19\x8F\xEF\x91\xDD\x86\x16\x92\xD5\x89\xDE\x8D\x12\x91\x8C\x89\x00\x90\xB4\x89\x96\x85\xB1\x89\x1F\x92\x34\x59\xC3\x8D\xEC\x6F\x4B\x65\xD9\x91\x2C\x8E\xB2\x8E\x33\x8A\x5F\x91\x12\x89\xC0\x91\x16\x8E\xCD\x8D\xF6\x8D\x62\x87\xF8\x8D\x5E\x8D\xFA\x8D\x04\x8C\x8E\x91\x06\x8C\x37\x92\x21\x8E\xCD\x8F\xC4\x8C\x53\x91\xC6\x8C\x1C\x8F\xD5\x77\xE3\x64\xFE\x75\xD5\x8F\x6D\x67\xBE\x85\x21\x8F\x06\x76\x15\x0E\xE9\x8D\xFC\x91\xD5\x90\xAE\x74\xD7", -"\x90\x1B\x91\x94\x8F\xD2\x8C\xFA\x90\x3A\x8C\xD5\x8C\x9C\x90\xC0\x8F\xFF\x90\x7A\x8C\x01\x91\xA7\x91\x03\x91\x7F\x90\x6C\x91\xDF\x8C\x0F\x92\x2D\x91\xB2\x8D\x12\x92\x28\x8D\x14\x92\x4A\x8D\x3D\x92\xB4\x25\x2B\x8E\x40\x92\xE0\x8D\x54\x80\x3B\x25\x05\x8A\x4B\x90\x32\x75\xEB\x85\x09\x8A\xBB\x85\xF6\x64\x4B\x92\x31\x8A\xDB\x91\xD8\x90\x01\x92\x27\x92\xDF\x91\x1C\x84\x1B\x8C\xAE\x87\x45\x91\xB0\x87\x25\x91\x20\x8C\x6A\x91\x9D\x8C\x7F\x92\x04\x8D\xC8\x91\x06\x8D\x5C\x92\xC5\x8E\xBC\x87\xCB\x90\xF1\x8B\xF1\x91\xB4\x84\xD2\x91\x29\x8E\x28\x62\x3F\x92\x90\x8F\x98\x92\xA0\x67\x8D\x92\x04\x4C\x32\x8E\x9F\x6C\x34\x8E\xAA\x8E\x37\x72\xC9\x81\x8C\x21\x04\x81\xF3\x91\x3A\x91\xBC\x91\x33\x8A\xD7\x81\xFC\x5A\x8C\x8F\xB8\x92\x4B\x65\x42\x75\xFF\x6A\xEE\x1C\x3F\x0A\xEA\x00\x75\x5B\x33\x4D\x4F\x92\xB4\x8A\x51\x92\xA3\x91\xBA\x8B\x79\x8F\xC4\x91\xF9\x8D\xC6\x91\x66\x87\xA8\x92\x44\x8D\x10\x92\x26\x8D\x84\x92\x48\x8D\x86\x92\x5C\x24\xA9\x8F\xD3\x74\x7D\x8A\xAC\x8F\x9A\x5B\xF6\x8E\x6A\x75\x42\x86\xD2\x8E\xE1\x82\xCA\x74\xF9\x77\x70\x89\xF6\x64\xCB\x92\xC3\x6B\xCD\x92\x27\x01\xCF\x92\xDF\x5A\xD1\x92\xBE\x91\x73\x92\xF2\x7A\x99\x90\xDB\x8A\x91\x8A\xD6\x92\x5B\x90\xD8\x92\x57\x92\xDA\x92\x60\x8D\xDC\x92\x62\x8D\xDE\x92\x46\x8D\xE0\x92\x66\x8D\x3B\x92\x1D\x87\x25\x8F\x31\x68\x54\x78\x36\x7E\x69\x86\x26\x82\x75\x6D\xF9\x8E\x5C\x8A\xC9\x8A\xFC\x8E\x7A\x6D\xFE\x8E\xF0\x92\xCA\x92\xE0\x5A\xB3\x59\xCE\x92\xD0\x92\x61\x4F\xF9\x07\xD2\x92\xFB\x8B\xF1\x8D\xFB\x90\xF8\x7B\xDD\x90\x44\x91\xBE\x90\xFE\x8C\x30\x92\xAA\x85\x32\x92\x1F\x7B\x80\x92\x3E\x88\x90\x91\xC3\x8A\x92\x91\xC5\x8A\x0B\x93\xA7\x8C\xD0\x91\x1B\x77\x1E\x8F\x29\x7E\x20\x8F\x1E\x92\xEE\x75\x23\x8F\xB6\x7C\x03\x8A\x3F\x0A\xF2\x92\xD1\x6E\xF4\x92\x09\x01\xF6\x92\xDE\x5A\xF8\x92\x26\x92\x17\x83\xD4\x92\x79\x90\xC2\x91\x73\x8B\xA6\x91\xBA\x8C\xA8\x91\x7E\x8C\xAA\x91\x80\x8C\xA7\x89\xC1\x8A\x31\x93\xEB\x8A\x33\x93\xED\x8A\x35\x93\x0C\x8D\x37\x93\x83\x8B\x14\x0E\xD2\x78\xCD\x8A\x75\x82\xF8\x91\xA4\x60\x0F\x8C\x0E\x55\x42\x93\x11\x93\x38\x66\x67\x93\x50\x79\x44\x93\x06\x01\x46\x93\xDD\x5A\x33\x4D\xFF\x00\xFF\x74\x48\x86\x6A\x93\x65\x7A\x6C\x93\x03\x01\x6E\x93\xDC\x5A\x48\x93\x9A\x92\x4A\x93\x1E\x91\x05\x90\xE4\x8F\x9E\x92\xB6\x88\xA0\x92\x57\x88\xE5\x91\xB6\x6C\x0B\x92\x84\x8D\xA4\x90\x44\x8C\x05\x93\x88\x8D\x07\x93\x64\x8D\x09\x93\xB4\x8D\x60\x92\x8E\x8D\x55\x91\x45\x66\xB7\x5D\x3E\x62\x45\x2C\x39\x77\x6A\x8F\x73\x65\x59\x91\x74\x93\xF1\x82\x76\x93\x02\x01\x78\x93\xDB\x5A\x7A\x93\xED\x8D\x74\x90\xBF\x91\x7D\x93\x41\x91\x06\x90\x2C\x92\x30\x66\x82\x93\xB8\x88\x9C\x8F\xBE\x8E\xA4\x92\xC0\x8E\x0D\x92\xCB\x89\x5A\x92\x24\x8D\x8C\x93\x8A\x8D\x5E\x92\x8C\x8D\x90\x93\xB6\x8D\x5D\x93\x70\x87\xE3\x5A\x10\x75\xEF\x92\x52\x8D\xF1\x92\x1C\x93\x5C\x36\x9D\x93\x01\x01\x9F\x93\xDA\x5A\xA1\x93\xD0\x8C\x07\x8F\xFA\x92\x36\x7B\x25\x93\xD4\x83\x77\x92\xB6\x8C\xC1\x8F\xB8\x8C\x7B\x92\x50\x93\x7D\x92\xA9\x91\xA6\x92\x42\x8D\x8A\x93\xB0\x8D\x82\x92\xD7\x8D\x8E\x93\xD9\x8D\xAD\x92\xC7\x67\xE4\x92\x24\x82\x68\x93\x37\x8B\xAF\x8F\xED\x92\x25\x87\x1D\x85\x6F\x7C\x02\x01\x9B\x93\xDF\x84\xC3\x93\x00\x00\xC5\x93\xD9\x5A\xC7\x93\xA0\x8D\x63\x8A\x2C\x90\xBD\x8F\x04\x92\xBF\x8F\xCF\x93\x79\x92\xD9\x8C\xA0\x90\x7B\x8F\xA2\x90\x97\x8A\x88\x93\x86\x8D\xD8\x93\xD5\x8D\xDA\x93\xEC\x8E\xDC\x93\xEE\x8E\xA4\x88\xBA\x93\x10\x93\x64\x92\x1B\x90\x5D\x71\x5E\x8B\x1E\x90\x60\x8B\x20\x90\xD4\x8B\x22\x90\x64\x8B\xA1\x5C\x66\x8B\x6D\x92\x96\x73\xC1\x93\x74\x52\xEC\x93\xEE\x93\x8F\x8E\x42\x58\xC4\x21\xF9\x92\x73\x8F\xE1\x8B\x75\x8F\x86\x91\x5D\x8C\x4D\x93\x3C\x8D\x4F\x93\x9D\x8F\x51\x93\xBC\x8C\xB0\x93\x29\x8B\x4D\x91\x9E\x8B\x57\x93\xA0\x8B\x59\x93\x2F\x8B\x5B\x93\x68\x8D\x88\x92\x05\x68\xF7\x8F\x6A\x5D\x3C\x93\x72\x8D\x15\x0E\x35\x83\x9E\x71\xA5\x5B\xEA\x93\x7A\x86\x19\x94\x1F\x93\x3D\x45\x74\x07\x22\x93\x38\x8C\x24\x93\x75\x92\xFC\x90\x98\x8F\x06\x92\x9A\x8F\x08\x92\xAC\x93\x0A\x92\xAE\x93\x0C\x92\x53\x93\x0E\x92\x30\x93\x3F\x5F\x0A\x91\x30\x94\xA2\x8B\x1A\x8F\xA4\x8B\xD2\x69\xA7\x8B\xFD\x63\x1D\x90\x8A\x77\xC1\x6E\x9C\x87\x1F\x6F\xA8\x8E\x91\x92\x15\x0E\x25\x90\x37\x71\x3D\x94\x17\x94\xB5\x5C\x40\x94\xF7\x92\x20\x93\x73\x71\x1E\x94\xE1\x8F\xA5", -"\x93\x62\x91\x42\x91\xA8\x93\x84\x65\xDF\x90\x80\x8D\x09\x92\xAA\x8D\x86\x93\xAC\x8D\x2A\x94\xBE\x8C\x2C\x94\xC0\x8C\x54\x94\x2E\x91\x39\x92\x87\x90\xE2\x92\x87\x89\x34\x94\xC1\x63\x80\x83\x45\x90\x1B\x6F\x9A\x87\xE1\x8D\x60\x94\x6F\x79\xB6\x89\x88\x83\x59\x78\x73\x93\x68\x94\xF0\x5F\x6A\x94\x47\x93\x6C\x94\xA7\x71\x49\x93\x5B\x87\x4B\x93\x2E\x90\xFD\x90\x3A\x8D\x3D\x8C\x00\x91\xFA\x93\x5D\x90\xFC\x93\x77\x8B\xFE\x93\x38\x90\xB2\x93\x1F\x8E\xAA\x92\xA4\x8F\xC6\x8E\x93\x91\x83\x94\x89\x90\xAF\x92\xF7\x84\x6C\x90\xD3\x50\x91\x94\xB5\x62\x94\x94\x6F\x93\x96\x94\xD8\x7F\x7B\x93\x99\x94\x70\x94\x85\x91\xFD\x92\xF4\x8D\x53\x92\x18\x8E\x55\x92\x8C\x91\x50\x94\xD6\x93\x7F\x8F\x00\x94\xEA\x8E\x02\x94\x14\x90\x04\x94\xF3\x8F\xDE\x93\x25\x8E\xAE\x94\x45\x79\x8C\x90\x4E\x7E\x9A\x93\x92\x94\xBC\x60\xB4\x94\x79\x93\xB6\x94\xA8\x80\xF8\x90\xDA\x90\x03\x92\xDC\x90\x31\x8F\x28\x93\x75\x94\xBF\x90\x68\x91\x98\x8B\x28\x94\x38\x8F\xC4\x90\x7D\x94\xC6\x90\xB4\x93\xEC\x91\x56\x94\x86\x8C\x32\x94\x1B\x8F\xA5\x8B\x15\x6B\xB0\x90\x15\x94\x06\x01\x3E\x94\x50\x85\xD4\x94\xA0\x93\xD6\x94\x44\x94\xF0\x8D\x98\x90\xCC\x93\x5A\x7B\x05\x92\xDE\x90\x07\x92\x0A\x90\x77\x94\x0C\x90\xD4\x93\x52\x93\xC3\x94\xC8\x8F\xA6\x94\xCA\x8F\xA8\x94\xCC\x8F\xAA\x94\x34\x93\xAC\x94\x3A\x85\x85\x94\x4C\x8D\x8C\x8E\x53\x8E\x2A\x73\xD2\x90\x8E\x75\x4F\x90\x73\x65\xF2\x94\x30\x88\xF4\x94\xC6\x93\xF6\x94\x6E\x94\x1D\x91\x20\x94\x57\x90\xA1\x91\x59\x90\xFF\x92\xA5\x91\x01\x93\xD1\x8D\x58\x92\xC7\x91\x55\x93\x82\x8C\x2E\x94\x84\x8C\xE9\x94\x01\x8E\x0C\x95\x41\x5B\xEF\x90\x26\x90\x16\x95\xD2\x94\x0A\x64\x19\x95\xEF\x93\x1B\x95\x98\x94\x43\x8B\xDA\x94\xE0\x91\x80\x93\x44\x8A\xFE\x94\xE0\x90\x00\x95\xE2\x90\xE2\x94\x9F\x8F\x69\x84\x06\x95\x3A\x90\xE7\x94\x3E\x8F\xB6\x93\x23\x8E\xCB\x94\x42\x8F\x0E\x95\x3E\x6B\x10\x95\x98\x8E\x46\x92\xA1\x5C\x15\x91\xDD\x09\xD1\x94\xB3\x94\xAB\x1C\x1E\x93\x6B\x94\x42\x94\x83\x46\x1C\x95\x3F\x91\xBA\x94\xC1\x91\x22\x95\xC3\x91\x8A\x91\xC5\x91\xC1\x94\x4C\x91\x07\x91\x15\x8F\x47\x95\x63\x8F\x0A\x95\x5A\x93\x2E\x95\x95\x91\x92\x93\xE7\x7A\x35\x91\xA8\x88\x0D\x93\x1B\x93\x56\x95\x3C\x06\x58\x95\x95\x94\x5A\x95\x75\x45\x5C\x95\x83\x91\x5E\x95\x52\x92\x0E\x8F\xCE\x8D\x56\x89\xA2\x94\x42\x8C\xA4\x94\x61\x90\x45\x95\x63\x90\x2A\x95\xFF\x8D\x2C\x95\x67\x90\x4B\x95\x87\x8F\x4D\x95\xE8\x83\x57\x91\xDA\x91\x49\x92\x41\x93\x33\x95\x72\x64\x35\x95\x1B\x94\xC0\x58\x1D\x94\x38\x95\x6B\x8B\x79\x8D\x20\x95\x78\x90\x9B\x94\x49\x94\xFD\x94\x4B\x94\xFF\x94\x4D\x94\x78\x94\x4F\x94\x87\x93\x26\x95\xDB\x92\x28\x95\xFD\x8D\x87\x95\x65\x90\x89\x95\xAB\x90\x8B\x95\xF5\x8F\x8D\x95\xB3\x75\xB2\x92\x1B\x61\xB7\x84\x05\x80\x55\x95\x24\x65\x95\x95\xA6\x8E\x32\x5A\x43\x94\x7A\x95\x03\x90\x7C\x95\xD5\x92\x88\x91\xD7\x92\x62\x95\xD9\x92\x64\x95\xAB\x91\xA9\x95\x12\x90\xC7\x94\x85\x90\x81\x94\xCA\x90\xB8\x93\x67\x8F\x6E\x95\xA6\x88\x0F\x8D\x4F\x7B\x87\x8A\x94\x58\x74\x95\x86\x01\x76\x95\xB5\x94\x78\x95\x21\x93\xBD\x95\x60\x91\xBF\x95\x4C\x93\x60\x95\x4E\x93\x24\x95\xE6\x8E\xA7\x95\x04\x93\xC7\x95\xA7\x90\xC9\x95\xA9\x90\xAD\x95\xEC\x90\x6C\x95\xB3\x91\xCD\x94\x8B\x90\x0D\x0E\x04\x78\x70\x4E\x80\x8E\x73\x95\xB8\x95\x57\x95\xF5\x92\x41\x94\xBB\x95\x47\x08\xF0\x95\x62\x0B\xF2\x95\x92\x95\xD5\x95\x6B\x00\xD7\x95\xD5\x94\xD9\x95\x3C\x02\xE5\x5A\x20\x78\x19\x38\xA9\x7E\xD4\x95\xF4\x95\x3C\x06\xCD\x80\x2A\x29\x93\x01\x35\x5A\xD8\x78\x97\x95\x8E\x07\xE5\x5A\x11\x78\x06\x01\x06\x96\xCD\x8E\xFD\x95\x09\x96\x86\x01\x0A\x8A\x5B\x83\x2A\x02\xEB\x32\xB6\x59\x15\x70\x10\x96\x47\x08\xE5\x5A\x2F\x78\x4B\x27\xC4\x81\x16\x94\xFE\x95\xB7\x5D\x3E\x7E\x00\x00\xEC\x85\x05\x78\x32\x95\x27\x96\xE5\x5A\x56\x7E\xD1\x23\x30\x73\xA1\x62\x17\x95\x1D\x8B\xEE\x1C\xB7\x5D\x4A\x7E\x86\x0D\xFC\x95\x08\x96\xE5\x66\xB9\x95\x33\x59\x33\x4D\xBE\x73\xE0\x77\x43\x37\x3A\x96\x26\x96\x18\x96\xFF\x95\xF6\x95\x59\x95\xF8\x95\x6C\x07\x62\x76\x7A\x7E\x98\x0A\x25\x96\xF1\x94\x93\x95\x8C\x5F\x36\x96\xE5\x5A\xA8\x47\x5E\x7D\x65\x7E\x17\x96\x3C\x96\xF5\x95\x45\x93\xF7\x95\x6D\x34\xB6\x59\xB7\x5D\xF2\x46\x71\x00\x4E\x96\x03\x01\x34\x96\x17\x8D\xEE\x1C\xFE\x86\xFA\x84\x40\x85\xEA\x8D\xC0\x93\xFE\x95\x00\x96\xF5\x94\x02\x96\x97\x94\xB8", -"\x94\x39\x95\xF4\x93\xDB\x94\xFC\x94\xDD\x94\x3E\x95\x76\x94\xA3\x95\x01\x95\x81\x95\x63\x8C\x04\x95\x10\x90\xE5\x95\x2C\x91\xAB\x95\x55\x94\x49\x95\x40\x8F\xAF\x95\x40\x90\x07\x94\xC6\x66\x78\x91\x23\x90\xA1\x5C\x32\x7D\x9A\x57\x07\x96\x44\x96\x58\x96\x75\x95\x47\x96\x77\x95\x49\x96\x6C\x7E\xB7\x5D\x0F\x58\x00\x00\x75\x00\x9B\x81\x00\x00\x63\x96\xF3\x8D\x3D\x96\x14\x0E\x33\x4D\x68\x8E\x37\x61\x75\x4D\x64\x7C\x39\x5A\x77\x7E\xD5\x91\x4B\x69\xEE\x85\x33\x96\x50\x96\xEF\x28\x59\x96\x6D\x93\x5B\x96\x1C\x94\xBC\x95\x99\x95\xF3\x93\x9A\x94\xF5\x93\xCE\x93\x99\x8F\xD0\x93\x9B\x8F\xD2\x93\x27\x94\x02\x95\x29\x94\x51\x94\xB1\x93\xC5\x94\x3C\x8F\x68\x95\x83\x8F\x82\x96\x85\x8F\x84\x96\x69\x90\x86\x96\xDD\x8D\x18\x92\x93\x8D\xDD\x75\x2F\x71\xD3\x81\xBA\x7B\x8E\x94\x6E\x89\xDF\x89\x94\x92\xF3\x95\x8F\x96\xD6\x95\x91\x96\xD8\x95\x93\x96\x6D\x94\xB1\x96\x55\x90\x1E\x95\x2A\x92\x77\x90\x43\x91\xDF\x8A\xDE\x94\x2A\x93\xA2\x92\x36\x8F\x42\x95\xC3\x90\x22\x8D\x85\x95\x83\x90\xE7\x95\xEA\x90\xE9\x95\x0C\x91\xEB\x95\xCF\x91\xCF\x95\x3D\x69\xC2\x92\xC0\x8D\xB4\x95\x1A\x92\xD5\x75\x6C\x85\x97\x8D\xD5\x8B\x51\x87\x34\x59\x71\x85\xA8\x96\x69\x93\xAA\x96\x2F\x3A\xAC\x96\x77\x93\xAE\x96\x20\x96\x79\x95\xDA\x96\xB7\x90\x9C\x92\x5F\x84\x3C\x95\xFC\x8C\x29\x93\x1D\x8D\xE0\x94\x1F\x8D\x11\x8F\xE4\x94\x66\x95\x4E\x91\xC1\x96\x3C\x90\xC3\x96\x3E\x90\xC5\x96\xAD\x90\xED\x95\x36\x70\x8A\x92\x79\x91\x69\x85\x4F\x8F\x2C\x72\x95\x85\x04\x76\xF3\x96\x8D\x8C\x99\x85\xD6\x91\x1A\x96\x2D\x96\x45\x96\x6C\x96\x1A\x95\x6E\x96\xB7\x94\xA2\x93\x95\x90\x9F\x91\x35\x8D\x22\x94\x37\x8D\x9E\x95\x7A\x90\xE0\x95\xC3\x95\x02\x93\xC5\x95\x54\x93\xE0\x8C\xAD\x91\x14\x97\xC8\x90\xCB\x95\x30\x91\x17\x90\xAE\x92\xC7\x96\xFF\x89\xE2\x85\x32\x76\x4D\x8E\x48\x88\xD2\x8B\xBC\x85\xDB\x89\x62\x94\xE7\x8D\x6B\x92\xE7\x93\x67\x94\x6B\x96\xD6\x96\x01\x96\xD8\x96\x6F\x96\x2E\x97\xF9\x90\xFB\x92\xFA\x94\x53\x88\x27\x93\xE0\x96\x76\x96\xDF\x94\x40\x95\x69\x91\xE5\x96\xE4\x90\x7C\x96\x8D\x91\xBF\x96\x61\x8F\x3D\x97\x50\x91\x3F\x97\x52\x91\x41\x97\xDB\x8D\x43\x97\x34\x7C\xB4\x92\x3F\x85\x9D\x6C\xE8\x85\x38\x94\x98\x85\x6C\x7C\x48\x90\x93\x74\x50\x97\x29\x97\x52\x97\x6D\x96\x54\x97\x2D\x97\xC8\x93\x2D\x8F\xCA\x93\xC8\x7B\x59\x97\x9B\x90\x9C\x94\x30\x90\x9E\x94\x7A\x92\xA0\x94\x02\x91\x7A\x96\x40\x8D\x63\x97\xE6\x90\xE8\x96\xE8\x90\xEA\x96\x71\x91\x69\x97\x73\x91\x18\x97\x75\x91\x6D\x97\x77\x91\x4D\x8D\x33\x8C\x09\x71\x1C\x97\xBC\x92\x28\x61\x2E\x8A\x33\x8E\x70\x92\x96\x64\x32\x78\x2A\x76\x0B\x80\xF6\x64\xEE\x77\x61\x76\x72\x95\x6E\x6D\x34\x8B\x42\x90\xE7\x92\x11\x06\xE9\x92\x8D\x08\xBD\x0B\x43\x86\xD3\x8E\x8E\x95\xD5\x8E\xBE\x93\xED\x7F\xAA\x5D\xA6\x97\xC0\x68\xA8\x97\xC0\x74\xFB\x81\x35\x8B\xE2\x93\xF5\x8E\x6B\x86\x29\x82\xFB\x8E\x5C\x7F\x6F\x86\x9B\x79\xA4\x97\x4B\x65\xB8\x97\x26\x72\x28\x89\xA4\x8A\x4E\x82\xA6\x8A\xAB\x78\x63\x93\xDC\x75\x3E\x93\x20\x7A\x11\x81\xA1\x62\xC8\x97\x09\x84\xCA\x97\x33\x59\x60\x93\x22\x5C\x62\x93\x4C\x97\x4A\x8F\x2A\x5C\x1F\x96\x21\x78\x38\x66\xD5\x97\xD1\x91\x1A\x97\xDF\x86\xF2\x8A\x56\x96\xE9\x77\xC4\x7D\x0F\x95\xB1\x95\x14\x8B\x6A\x77\xC8\x92\x84\x81\x09\x01\xE2\x97\x38\x93\x01\x87\xD8\x5C\xAA\x97\xE4\x74\x7E\x8A\xCE\x8E\xAE\x8F\x43\x79\x5D\x6E\x39\x8B\xB2\x8F\x21\x92\xE5\x80\xA5\x97\xE9\x97\x4E\x95\xB1\x95\x43\x90\x97\x87\x5D\x8B\x6B\x79\x8A\x94\xC0\x79\x64\x75\x21\x90\xF2\x8E\x89\x96\x2E\x5D\x1D\x85\xC4\x73\xF1\x97\xC6\x6A\x19\x79\x84\x8B\xBB\x6E\xF8\x8F\xF9\x96\xCA\x87\x89\x8B\xFE\x97\xC7\x80\xB7\x97\x01\x98\x88\x75\x94\x87\x5B\x94\x1C\x90\xA9\x8B\x0D\x94\xAB\x8B\x49\x90\x0B\x98\xAA\x8F\x1D\x97\xF9\x91\x24\x90\x1D\x85\xF8\x75\xED\x77\x1D\x98\x9B\x65\xED\x94\xC3\x76\x87\x94\xCE\x8B\x61\x75\x08\x98\xC6\x87\x6B\x43\x26\x98\x9A\x71\xFA\x96\xA1\x5C\x4E\x90\x00\x75\xA5\x5B\x11\x98\x39\x75\xE9\x87\xB0\x94\xEC\x87\x7B\x7E\x73\x65\x3F\x98\xBD\x75\xD6\x84\xCF\x94\x5A\x7E\x16\x96\xE8\x97\x18\x85\x96\x97\x5C\x75\x10\x8C\x1C\x65\x79\x81\xF0\x97\x2E\x98\xCD\x75\x98\x97\xCE\x8C\x55\x73\x49\x88\x0E\x84\x21\x77\xD4\x97\x2E\x98\x30\x95\xB1\x80\x3F\x0A\x46\x98\x87\x96\x46\x89\x56\x98\xF2\x8C\xFA\x8F\x88\x88\xCB\x6A\xE0\x97\x45\x98\x54\x98\xD6\x84\x70\x95\xD3\x66\x8D\x96\x06", -"\x01\x61\x98\x84\x88\x88\x8F\xC9\x8C\x90\x95\xC6\x97\x60\x98\x6B\x98\x88\x8F\x88\x96\xDF\x60\x7B\x91\x7C\x80\x92\x77\xE1\x97\x78\x98\xB1\x95\xD7\x84\x9A\x91\x44\x98\x00\x98\x4D\x98\xF0\x96\xCF\x74\x2D\x8D\x34\x59\x67\x96\x9A\x73\x43\x81\x7F\x98\x86\x98\x62\x92\x2B\x76\x4F\x95\x4E\x8D\x49\x89\xA6\x96\x43\x75\x18\x76\x1C\x98\x8F\x98\x30\x98\xFC\x75\x8A\x89\xD0\x90\xBA\x85\xD7\x5A\xB8\x7B\xBA\x1D\x69\x92\x71\x79\x73\x8D\x1A\x98\xF9\x7D\x3E\x98\x80\x98\xE4\x97\xDC\x5C\xF2\x96\x45\x92\x8C\x92\x11\x75\x27\x02\xF7\x96\x1D\x92\xCF\x97\x9C\x75\x0D\x0E\xFC\x96\x44\x75\xA7\x98\x99\x98\x9F\x60\x6F\x97\x47\x90\xBB\x91\x9F\x09\x98\x71\xA2\x98\xC1\x8D\x47\x92\x2B\x98\xB7\x98\x0B\x76\x4E\x98\xF0\x23\x1C\x97\x66\x92\xE2\x8D\x3B\x0A\x3D\x7C\x0C\x98\x12\x94\x5D\x0F\x6C\x92\xB6\x98\x98\x98\xC4\x98\x87\x98\x54\x6A\xC7\x98\xBB\x98\x37\x83\x04\x4C\x8F\x92\x17\x98\x88\x8B\xA1\x5C\x2B\x96\x83\x83\x8E\x5E\x03\x01\x71\x98\x47\x6F\x55\x98\x92\x98\x99\x97\xF6\x6E\x9B\x97\xA0\x97\x8E\x73\xC9\x92\xDB\x02\xCF\x6C\x9F\x97\x1A\x91\x9F\x6C\x37\x77\x07\x81\x27\x01\x77\x00\xAA\x8E\xA2\x97\xF9\x75\xD3\x95\x09\x01\x6F\x77\xB3\x95\xEE\x83\x4E\x89\x30\x97\x9B\x95\x32\x97\x18\x8D\xB4\x96\x84\x97\x9D\x90\x86\x97\xF9\x93\x26\x94\xAD\x93\x61\x97\x6B\x91\x83\x95\x06\x91\x8E\x97\x08\x91\x80\x96\x80\x94\xEC\x96\xEE\x91\xEE\x96\x16\x5F\xE0\x93\x08\x94\x58\x8A\x6A\x86\xFF\x81\xEC\x92\x24\x87\xA1\x5C\x47\x86\xF7\x98\x06\x01\xF9\x98\x79\x8E\x4C\x86\x70\x96\x9A\x95\x97\x90\x9C\x95\xFC\x92\xE3\x8B\x24\x94\x59\x8F\x06\x99\x4E\x94\x08\x99\xA5\x92\x0A\x99\x6D\x91\x7E\x96\x6F\x91\x90\x97\x11\x92\x92\x97\xB1\x91\x12\x99\xDA\x49\x14\x99\xFC\x81\x21\x87\x17\x99\xD8\x74\x84\x78\xB2\x97\x89\x8F\x19\x86\xFB\x07\x19\x93\xF3\x97\x38\x66\x1F\x99\x83\x8E\x09\x82\x22\x99\xB2\x96\xDD\x95\x34\x97\x28\x99\x32\x90\x2A\x99\xA4\x95\x2C\x99\xAF\x93\xBD\x96\x2B\x94\x12\x97\x2D\x94\x7F\x94\x83\x92\x34\x99\xCD\x91\x36\x99\x88\x8C\x90\x98\x71\x82\xCB\x97\x1F\x8F\x4F\x82\x73\x97\x9E\x98\x97\x86\x24\x8F\x43\x99\x73\x65\x45\x99\x8D\x8E\x47\x99\x56\x97\xD9\x94\x72\x96\x3B\x95\x5B\x97\x1C\x8C\x0C\x97\x34\x8F\xE3\x96\x48\x91\x79\x94\xEC\x8F\x7B\x94\x2A\x91\x30\x99\x3C\x97\x32\x99\xDF\x92\x58\x99\x13\x92\x94\x97\x15\x92\xA9\x98\xB5\x91\x5F\x93\x73\x82\xBB\x86\x36\x4B\xDC\x97\xD0\x8A\xDE\x97\x39\x71\x6E\x90\x27\x01\x67\x99\x11\x95\x8B\x8A\x48\x99\xDB\x96\xD3\x8C\x47\x94\x26\x93\xDC\x94\x5C\x97\xA1\x95\x3F\x95\x78\x96\x41\x95\xBB\x96\xE3\x94\xE7\x96\x65\x97\x81\x8F\x67\x97\xAF\x91\x7C\x99\x85\x92\x7E\x99\x87\x92\x80\x99\xC5\x64\x98\x93\xF9\x78\x14\x98\x66\x99\xC6\x8D\x57\x97\xCB\x93\x92\x99\xCD\x93\x02\x99\x78\x92\x04\x99\xC2\x8F\x88\x97\x7C\x92\x8A\x97\x7D\x8F\x8C\x97\x65\x95\x0C\x99\x67\x95\x7A\x99\x08\x93\xA1\x99\xE1\x92\xA3\x99\x03\x8E\xD3\x98\x7A\x6A\x01\x78\x1D\x85\x8A\x73\xFA\x0D\x67\x4E\x86\x99\xB2\x89\x17\x93\xBB\x82\xEE\x97\x10\x8D\x4B\x65\x8C\x99\x50\x95\x8E\x99\x6A\x99\x02\x92\x6C\x99\x9D\x92\x6E\x99\x9F\x92\x70\x99\xE8\x8F\x0E\x97\xEA\x8F\x74\x99\x28\x91\xE9\x91\xC5\x90\xEF\x8F\x08\x95\xF1\x8F\xC9\x94\x16\x90\xDA\x82\xBA\x97\xD1\x74\xF5\x97\xAB\x8F\xF4\x8E\xF8\x97\x38\x8B\x0C\x68\x3A\x8B\xD1\x96\xBF\x93\xCF\x99\xAB\x99\x6B\x99\xB3\x96\x73\x96\xF6\x93\xB6\x96\xF8\x93\xB3\x99\x4E\x99\x79\x96\x56\x92\x25\x95\x03\x93\xD3\x8D\x9D\x99\x36\x92\x9F\x99\xCB\x91\xBE\x99\x0A\x93\x5A\x99\x36\x93\xC2\x99\xC6\x6A\x04\x98\x6F\x81\x4B\x69\x0C\x94\x5E\x94\x49\x97\x25\x98\x10\x94\xCC\x98\xD6\x8B\x3C\x0E\x14\x94\x1D\x99\x03\x01\xD0\x99\x93\x98\x9D\x86\xEF\x87\x57\x8C\x07\x97\x3A\x95\xD6\x99\x94\x99\x6F\x99\xE1\x96\x0D\x97\x5F\x97\xE1\x94\x9A\x99\x43\x95\x00\x86\x54\x99\x7E\x94\xAA\x89\x10\x99\x3A\x92\x07\x9A\x5C\x93\x09\x9A\xBB\x93\x9A\x82\x15\x98\x37\x94\xB2\x98\x39\x94\x19\x98\xF0\x99\xFD\x8F\xA1\x62\x19\x9A\xE5\x98\x58\x87\x7E\x97\xBB\x8F\x80\x97\xA6\x82\x26\x99\x3B\x8C\x1D\x83\xB2\x99\xD1\x93\xB4\x99\xD3\x93\xB6\x99\x36\x90\x2E\x99\x2F\x93\xA8\x89\x56\x99\xDB\x93\x05\x9A\x8F\x93\x6B\x97\xCC\x94\xC5\x98\xE6\x92\xD3\x8F\x98\x87\x4C\x75\xD6\x98\xBC\x85\xD3\x8B\x9D\x87\xC9\x99\x51\x95\x5D\x0F\x65\x94\x69\x96\xF2\x99\x54\x8D\xE6\x89\x1E\x9A\xD5\x99\x09\x97\xD7\x99\x81\x93\xD9\x99\x46\x91\x72\x99\x31\x92\x49\x91\x02", -"\x8D\xB8\x99\xC6\x95\x3B\x97\xC9\x91\x03\x9A\x38\x92\x2D\x9A\x82\x94\xC0\x99\x84\x94\xA5\x99\xAB\x5E\x0B\x9A\xC4\x87\x35\x98\x76\x97\xC7\x87\x12\x9A\x27\x98\x0D\x98\x3C\x0E\x3C\x98\x7A\x82\x3C\x9A\x57\x98\xCE\x83\xDB\x95\x50\x92\x4A\x99\x01\x99\x9F\x95\x75\x96\x96\x99\x77\x96\xB9\x96\x07\x99\x27\x9A\xE6\x96\xA0\x8F\x01\x9A\x8F\x91\x4F\x9A\x03\x94\x51\x9A\xDD\x93\xCD\x95\xFD\x89\x7B\x9A\x05\x75\xF4\x8B\x72\x75\x7D\x91\xF6\x64\x88\x9A\x65\x98\x8A\x9A\x06\x97\xFD\x98\x24\x99\xFF\x98\x7B\x8D\xF6\x99\xB5\x96\x4A\x94\xB7\x96\x4C\x94\x93\x9A\x2B\x99\x95\x9A\x62\x97\x4C\x9A\xA7\x92\x78\x99\x74\x9A\xBC\x99\x8D\x93\x9C\x9A\x05\x94\xA1\x8A\x9A\x98\x70\x6F\x49\x98\x07\x87\x12\x8C\x3B\x77\xF3\x99\xD4\x99\xF5\x99\x6D\x99\x21\x9A\xD8\x99\x23\x9A\x71\x99\xDB\x99\xC1\x90\x50\x99\xC2\x94\xB7\x9A\xD7\x93\xB9\x9A\xA9\x92\x75\x9A\x5D\x92\x6A\x95\x31\x94\x2F\x9A\x33\x94\xA0\x9A\x05\x68\x50\x98\x3F\x7D\x70\x8C\xC5\x9A\x64\x9A\xF5\x8C\x90\x99\x74\x92\x21\x94\xBC\x94\x77\x8F\xDF\x95\x25\x94\xE1\x95\x5D\x8F\xE3\x95\x00\x9A\xD4\x9A\xDD\x92\xBB\x9A\xB5\x93\xD8\x9A\x57\x94\xEB\x94\x59\x94\x8F\x98\x97\x8E\x1A\x9A\x12\x95\x80\x6A\x5A\x98\x3E\x72\x3F\x0A\xA6\x9A\x9E\x8D\xF3\x8C\x1C\x9A\x73\x8C\x66\x9A\xC8\x9A\x20\x9A\x74\x96\x95\x99\xB1\x9A\xA2\x95\xB3\x9A\x4F\x99\xB5\x9A\x09\x99\xED\x9A\xE8\x8E\x98\x9A\x5B\x92\xD6\x9A\xAB\x92\x65\x8F\x9E\x9A\x43\x66\x5E\x98\xB1\x90\xF8\x98\xC6\x9A\x9B\x92\x1F\x9A\x68\x9A\xCA\x9A\x6A\x9A\xCC\x9A\xDA\x99\x25\x9A\x0F\x97\x8B\x91\x11\x97\xBA\x99\x13\x97\xF1\x9A\xE8\x94\x16\x97\xAB\x94\x79\x9A\xAD\x94\x55\x9A\x27\x8E\xB1\x92\x20\x99\x6A\x92\x14\x91\x89\x88\xDA\x5A\xCD\x6A\xFF\x9A\x12\x8E\x8B\x9A\xD3\x92\x8D\x9A\xAE\x9A\xB0\x99\xF7\x93\x46\x9A\xB8\x96\x48\x9A\xBA\x96\x4A\x9A\x5F\x90\xD2\x9A\xC4\x94\xEF\x9A\x06\x93\x29\x9B\x48\x95\xF3\x9A\xEA\x94\xDA\x9A\xEC\x94\xAC\x5F\x6D\x98\x3A\x70\x37\x91\x18\x9A\x1B\x9B\x7C\x93\xDC\x96\x7E\x93\x20\x91\x0A\x97\xE6\x8F\x6B\x9A\xA1\x92\xCE\x9A\x26\x91\xDD\x99\x4A\x91\x71\x9A\x3A\x97\x81\x92\x0E\x99\x57\x99\x77\x9A\xCC\x95\x53\x9A\x4C\x95\xDC\x9A\x2F\x1A\x74\x98\x4C\x92\x2C\x89\xA5\x9A\x55\x9B\xB9\x94\x57\x9B\xA6\x93\x7F\x93\x69\x9A\x3D\x95\x91\x9A\x5E\x97\x98\x99\x60\x97\x0D\x9B\x2D\x99\x0F\x9B\x5F\x8F\x11\x9B\xB3\x93\x4A\x9B\x69\x95\xAC\x92\x16\x9B\xCC\x90\x6B\x9B\xEA\x97\x8B\x8C\xFA\x98\x38\x7C\x7C\x98\xDB\x80\xA4\x9A\x63\x9A\xEC\x8D\x3F\x9A\xA3\x93\x41\x9A\xF6\x83\x43\x9A\x76\x92\x3E\x9B\xF8\x99\x40\x9B\xB2\x9A\x42\x9B\x94\x9A\x44\x9B\x04\x91\x46\x9B\x05\x95\x80\x9B\xA7\x94\x13\x9B\xA9\x94\x84\x9B\x69\x9B\x8C\x95\x87\x9B\xD4\x8E\x98\x91\x74\x79\xC4\x9A\x01\x01\x38\x9B\x67\x89\xF7\x94\x76\x90\x25\x99\x82\x97\x87\x91\xBE\x94\x89\x91\xC0\x94\x10\x97\x9C\x99\x48\x9B\x8B\x93\x82\x9B\xC2\x96\x4C\x9B\x2D\x95\x2D\x9B\x0D\x95\xA8\x9B\x44\x8F\xB6\x77\x8D\x6B\xB8\x91\x72\x95\xFE\x9A\x71\x9B\x71\x96\x05\x9B\x1E\x9B\x07\x9B\x22\x9A\x5D\x97\xE2\x96\x5E\x9B\xA3\x92\xD0\x9A\xA6\x95\xFF\x99\x10\x9B\xBA\x9B\xD9\x93\x65\x9B\x50\x9A\x67\x9B\x40\x97\x06\x94\x31\x9A\x47\x98\xE4\x98\x89\x9A\xA9\x8A\x4A\x89\xA5\x98\xC9\x92\xC8\x9B\xE2\x9A\xA1\x8D\xE4\x9A\x58\x97\xAE\x99\xFB\x94\xF7\x99\xB0\x9A\xF9\x99\x47\x9A\xFB\x99\x99\x99\x9D\x9B\x7E\x92\x9F\x9B\x7D\x96\x73\x9A\xD5\x9A\xBC\x9B\x15\x97\xBE\x9B\x8A\x95\x85\x9B\x42\x97\xDE\x9B\xB8\x8D\xC9\x96\x23\x97\x92\x85\xB7\x7B\xCC\x96\xB9\x7B\xBF\x98\xBC\x7B\xD0\x96\x51\x8D\x3A\x9A\x44\x99\xC9\x9B\x23\x99\x28\x92\x7B\x85\x58\x9B\x2B\x92\x5A\x9B\x22\x91\xAA\x93\xD7\x88\xD1\x9B\xE4\x96\x7C\x9B\x51\x99\x62\x9B\x52\x94\x4E\x9A\x2C\x9A\x2B\x9B\x0B\x95\xC0\x9B\x0E\x91\xC2\x9B\xC4\x7C\x6B\x8D\xEC\x75\xCA\x96\x14\x0E\x8E\x89\xE3\x60\xB1\x98\x5E\x9A\xB3\x98\x9A\x8D\xE4\x9B\x30\x8E\xE6\x9B\x90\x9B\xF1\x93\x1A\x8B\x49\x99\x73\x9B\x71\x94\xA7\x93\x13\x9C\x65\x91\x15\x9C\x24\x91\x17\x9C\x73\x99\xA5\x95\x7A\x94\x52\x99\x7C\x94\x2A\x9A\xE6\x94\xF9\x9B\x3E\x97\xDB\x9B\x6A\x97\xDD\x9B\x5C\x99\x8F\x85\xBA\x98\x7F\x9A\xBC\x98\xE3\x02\xBE\x98\x61\x99\xA3\x98\xC2\x8D\xB3\x8F\x8B\x99\x0D\x9C\x35\x9C\x91\x99\xE6\x9A\x27\x99\xE9\x9A\x29\x99\xEB\x9A\xA3\x90\x7E\x9B\xA5\x90\xD7\x9B\x01\x94\xD9\x9B\x9B\x9A\x47\x9C\x93\x97\xFD\x9B\x6C\x97\xFF\x9B\xC8\x96\x45\x97\x01\x8A\x02\x9C\x68\x89\x5B\x9A\x4A", -"\x97\x68\x92\x51\x9C\xC0\x98\xA1\x5C\xCF\x98\xAD\x69\x3B\x9A\x56\x9C\xE9\x9B\xAD\x99\x59\x9C\x44\x9A\xC5\x84\x99\x9B\x0A\x9B\x9B\x9B\xB4\x9A\xF3\x9B\xD5\x93\xF5\x9B\x64\x97\x61\x9C\xC6\x94\x63\x9C\xC8\x94\xBD\x9A\xCA\x94\x67\x9C\x54\x9A\x69\x9C\x44\x97\x09\x94\x46\x97\x9D\x98\x48\x97\x22\x92\x33\x1F\xD9\x98\x11\x94\x14\x9A\xFF\x00\xDD\x98\x46\x4D\x66\x94\xAA\x5D\xAE\x9B\x6D\x9C\xB0\x9B\xA0\x91\xAC\x9A\xA2\x91\xDE\x95\xC1\x95\x00\x93\x37\x97\xFE\x99\x39\x97\x1C\x9C\x56\x93\x9A\x9A\x89\x9C\x65\x9C\x35\x99\x21\x9C\x6D\x95\x4A\x9C\xC1\x7A\xE0\x9B\xA7\x9A\x3C\x73\xB4\x92\x9C\x97\x30\x72\x97\x7C\xD6\x67\xED\x98\xFF\x91\x18\x86\xBD\x92\x45\x80\x39\x80\x0A\x9C\x57\x7E\x0A\x81\x01\x9C\xAC\x98\xFC\x7D\xBF\x9C\x4C\x80\x11\x0E\x94\x7B\xB8\x73\x49\x80\xC5\x9C\x47\x97\xC7\x81\x3C\x76\x15\x0E\x1B\x86\x6F\x9B\x4B\x65\x81\x77\xD3\x91\x9E\x85\xFC\x98\xA4\x93\x36\x9C\xBB\x94\x5A\x9C\xA5\x9C\x23\x95\xA7\x9C\xE2\x95\xD5\x9B\x7F\x9B\x86\x9C\xC0\x96\x45\x9C\x68\x97\xAE\x9C\x59\x99\xB0\x9C\x31\x8B\x65\x99\x0E\x93\xE9\x99\xF3\x8E\xBE\x97\xF8\x97\xA6\x62\x19\x99\xFC\x97\x46\x86\xCD\x99\xD2\x95\xF6\x64\xD6\x9C\x8A\x9B\xD8\x9C\x73\x89\xAA\x9A\x0F\x9C\x79\x7B\x74\x9B\x59\x9B\x76\x9B\x0B\x97\x21\x9B\x6C\x9A\x3D\x9C\x6E\x9A\x60\x9B\x70\x9A\x84\x9C\x8D\x97\xA1\x9B\x07\x95\xA3\x9B\x09\x95\xA5\x9B\xE6\x99\xEC\x9C\x86\x77\x17\x75\x23\x82\x15\x99\x0C\x0E\x37\x68\xD0\x8E\x82\x8A\x6D\x86\xC3\x97\xFD\x8E\xC5\x97\x30\x8D\x38\x66\xF9\x9C\x32\x9B\x78\x84\xD3\x99\x1C\x9B\x67\x9A\xA4\x85\x39\x9C\xE2\x91\x3B\x9C\x67\x91\x23\x9B\xDC\x99\x3F\x9C\x75\x99\x41\x9C\x77\x99\xF7\x9B\xF0\x9A\x88\x9C\xCA\x95\xE8\x9C\x7D\x99\x8C\x9C\x6A\x9B\x2F\x9B\x3C\x68\x39\x93\x14\x95\x0E\x0D\x60\x99\x36\x9A\x22\x8F\x56\x77\xD2\x97\xC7\x9B\x27\x01\x21\x9D\x46\x99\x21\x99\x24\x9D\x56\x9B\x58\x9C\x1F\x95\xA2\x9C\x21\x95\xDE\x9C\x61\x95\xB7\x9B\x25\x9B\xB9\x9B\x32\x9D\x49\x9B\x34\x9D\xE8\x95\x1F\x9C\x6B\x95\xEA\x9C\xEF\x96\xB2\x9C\xA7\x97\xD7\x5A\xD9\x97\xA9\x0B\xDB\x97\x90\x92\xDE\x6B\x4B\x8F\x65\x70\x9C\x80\x3F\x0A\x46\x9D\x68\x99\x48\x9D\x91\x9B\x2F\x97\xDA\x9C\x4B\x9D\xDD\x96\x9C\x95\xDF\x96\xCE\x9B\x78\x9B\xD0\x9B\x2C\x9D\xCF\x9A\x19\x9C\xD1\x9A\x5F\x9C\x89\x93\xE4\x9C\x66\x97\xE6\x9C\xA0\x99\x36\x9D\xA2\x99\x38\x9D\xA7\x9B\x3A\x9D\xB7\x86\xE6\x97\x17\x91\xAA\x5D\x68\x9D\x8D\x99\x69\x99\x6B\x9D\xAC\x99\x81\x97\xEB\x9B\x5A\x97\x1F\x9B\x77\x9B\x09\x9B\x97\x99\x0B\x9B\xFC\x99\xA9\x9C\x61\x9B\x0A\x9D\xB9\x99\x0C\x9D\x46\x95\x7D\x9D\x04\x9A\x7F\x9D\xBF\x99\x81\x9D\xB0\x95\x23\x9C\xEC\x97\x3C\x0E\x16\x8B\x19\x9B\xB3\x7C\x78\x9C\x04\x9B\x3C\x9B\xC9\x9A\xCD\x9B\xCB\x9A\xCF\x9B\x24\x9A\x7A\x9B\x26\x9A\x82\x9C\x03\x95\x98\x9D\x72\x9A\x64\x9B\xAC\x9C\x35\x9D\x58\x9D\xD9\x9A\x5A\x9D\x13\x99\xE7\x99\x14\x9D\xDC\x82\x56\x9A\xF0\x9C\xAD\x8F\xED\x99\x1F\x75\xEF\x99\xC2\x9C\x25\x81\x20\x9D\xA8\x9D\xFD\x9C\x08\x97\x27\x9D\x02\x9D\x5B\x9B\x04\x9D\x5D\x9B\x75\x9D\x5F\x9B\x2E\x9D\xDE\x99\x76\x99\x35\x92\x99\x9A\x1E\x9C\xFB\x9B\xAE\x95\xA0\x9D\x85\x96\x8E\x9C\xF6\x97\x20\x98\x0B\x94\x07\x98\xAA\x8B\x8B\x94\x5C\x9A\x61\x94\x62\x9D\x6D\x89\x0E\x83\xDA\x8F\xA5\x5B\x88\x9D\xD1\x99\x8A\x9D\x33\x9C\x6A\x8B\x57\x9C\xE5\x9A\x4C\x9D\xE7\x9A\x0D\x8F\x45\x9A\x0F\x8F\x51\x9D\x63\x95\x26\x9B\x9A\x9D\x86\x95\xB7\x9D\x57\x9D\xD9\x9D\xEA\x95\xBB\x9D\x3C\x92\xA2\x9D\xCE\x87\x3D\x75\x16\x98\x97\x9C\x3A\x98\x5D\x0F\x3B\x94\xEC\x7B\xC8\x9D\xE7\x9B\xF2\x93\x79\x9C\x8D\x9D\x7B\x9C\x96\x9B\x8F\x9A\x08\x9B\xEF\x9B\x41\x9B\xF1\x9B\x7B\x9B\xB2\x9D\xBC\x96\x1B\x9C\xBE\x96\x7B\x9D\x9E\x99\x9C\x9D\x76\x9A\xB9\x9D\xF4\x9A\x4E\x9B\xF6\x9A\xE3\x76\xDF\x9D\x4C\x05\x5D\x94\xAD\x78\x5F\x94\xE4\x9D\x8D\x94\x6D\x9C\xA0\x87\x2F\x9C\x1E\x9D\x67\x9D\xC9\x9D\x6D\x9D\xF1\x9D\x6F\x9D\x4D\x9D\xCC\x8D\x7E\x95\x54\x92\xCF\x8D\xFD\x99\xE1\x9C\x96\x9D\x53\x99\x27\x9B\x55\x99\xD8\x9D\x10\x9D\xBF\x9A\x5A\x94\x2A\x8A\x7E\x9A\xE2\x9D\x09\x98\x8C\x94\xBE\x9C\xC6\x9C\x74\x97\x4D\x90\xF3\x79\x8E\x9B\x30\x9E\x0C\x9E\x34\x9C\x0E\x9E\x42\x9A\xB3\x9B\x23\x94\x5B\x9C\x4D\x99\x5D\x9C\xFD\x93\x79\x9D\xFF\x93\x1C\x9E\x02\x9A\x1E\x9E\xD7\x9A\x41\x9E\x32\x91\x5C\x9D\x69\x8F\x49\x6F\x19\x7D\xAC\x9B\xB7\x7C\x31\x9E\x93\x9B\x24\x85\x95\x9B\x48\x94\x35\x97\xEA\x9A\xE0\x9C\xEC", -"\x9A\xE2\x9C\x60\x9C\x54\x9D\xBB\x9B\x56\x9D\xEB\x96\x20\x9E\x4D\x9B\x00\x9E\x5B\x99\xC0\x9A\x99\x6F\xC2\x9A\x39\x7A\xCA\x7F\xA1\x62\xEB\x9D\xF9\x9A\xD2\x99\x8B\x9D\xF4\x99\xAA\x9D\x06\x9B\xED\x9B\xA0\x95\x92\x9D\x92\x9A\x80\x9C\x0C\x9B\x18\x9E\x9B\x99\x97\x9A\x5C\x9E\xD7\x9D\xC2\x8C\x77\x9E\xBF\x9B\xDB\x9D\xC6\x96\xDD\x9D\x0D\x75\xDE\x9A\x43\x7E\xA6\x9D\x03\x01\x81\x9E\x3D\x9A\xDD\x8B\xEE\x9D\xDF\x8B\x1F\x94\x6E\x9D\x11\x9C\xDE\x96\x73\x94\x42\x5C\x2A\x9D\xE4\x91\x2B\x93\x00\x8D\x6F\x9A\xE8\x91\xD5\x9D\xEE\x8F\xEB\x91\x4B\x9B\x60\x9E\x54\x91\x62\x9E\xC9\x97\xB4\x9C\x00\x9B\x58\x98\x13\x95\xE9\x07\x1A\x6B\x4F\x9E\x32\x9C\x02\x9B\x92\x8C\xA9\x9D\xDB\x9C\x5F\x95\x4F\x9D\x36\x97\xF7\x9D\xC4\x95\xF9\x9D\x91\x9E\x12\x9B\x5E\x9E\x14\x9B\xA6\x8F\x96\x9E\x53\x6E\x18\x9B\x48\x86\x9E\x9E\xE1\x9B\xA0\x9E\xBF\x9E\x14\x8D\xCA\x9D\x1D\x9B\xCC\x9D\x90\x9D\x03\x9D\xAE\x9D\xCD\x9A\xD1\x9D\xD2\x9B\x77\x9D\xD4\x9B\x3C\x9E\x42\x9C\x3E\x9E\x2B\x9A\x93\x9E\xFE\x9D\xED\x96\x79\x9E\x08\x9A\xB5\x9E\xD6\x97\xB7\x9E\xD4\x7D\x9D\x75\x35\x9B\x66\x9E\xD2\x9E\xB5\x9C\xD4\x9E\xD8\x94\xC7\x9A\x86\x9E\xCC\x9B\x88\x9E\x90\x9A\x8A\x9E\x79\x9B\x94\x9D\xF2\x9B\x3A\x9E\x70\x9E\xE2\x9E\x31\x9D\xB6\x9D\x40\x9E\x15\x9B\xA6\x9B\xA1\x9D\x83\x9D\x89\x70\xA7\x88\x6E\x98\x53\x9B\x02\x01\xF2\x9E\xB8\x9E\xA8\x9A\x8F\x99\xC1\x9E\xA4\x9E\x00\x9D\x12\x9C\xCD\x9D\x14\x9C\x5C\x9B\x83\x93\xAB\x9E\xE6\x91\xAD\x9E\x33\x92\xDF\x99\xE5\x94\xE1\x99\x0E\x9D\xE3\x99\x8A\x9C\xE5\x99\x42\x9E\x91\x75\x8F\x95\x6E\x9B\x1F\x9D\x73\x65\x0E\x9F\x39\x9B\xA9\x9A\x32\x9E\xEA\x9B\x10\x9E\x6C\x9E\x4C\x99\x9F\x90\x16\x9E\xB1\x9D\xFF\x9E\x5E\x9C\x71\x9E\x7A\x9D\x73\x9E\xD8\x9B\xFC\x9D\x76\x9E\xE7\x9E\x11\x99\xE9\x9E\x30\x9A\xEB\x9E\xE3\x97\x70\x8E\xD7\x9C\x62\x76\xEE\x8C\x86\x9D\x80\x9E\x68\x9E\xA3\x9E\x33\x9E\xA5\x9E\x70\x9D\xA7\x9E\xD2\x68\xA9\x9E\x2F\x92\x6D\x9A\x2C\x93\x1C\x9F\x2E\x93\xB8\x9A\x3A\x9F\x62\x9C\x3C\x9F\x91\x97\x9E\x9D\x06\x9A\x40\x9F\xDB\x9A\x08\x9F\xB2\x70\xD1\x95\x0C\x89\x4E\x9E\x45\x9D\x4A\x9F\x6F\x94\xC2\x9E\x7D\x95\xF5\x9D\x7F\x95\x95\x8A\x8E\x9E\x28\x9A\xA6\x89\x58\x9F\x87\x9C\x5A\x9F\x33\x99\x5C\x9F\x52\x9A\x49\x9C\x7B\x9E\xA1\x6D\x89\x98\xA1\x5C\x8B\x98\x2A\x88\x57\x77\x66\x9F\x1D\x95\x13\x9F\x37\x9C\x75\x9B\xDA\x9E\xCE\x9D\xDC\x9E\x22\x9B\xB0\x9D\x24\x9B\xF8\x9D\x53\x9D\x03\x9F\xE6\x9E\xB3\x9E\x61\x92\x77\x9F\x62\x98\xED\x9E\xCA\x96\x95\x98\x27\x87\x62\x83\x2A\x9F\x7E\x9F\x5D\x95\x68\x9F\xC0\x95\xB5\x9B\xC2\x95\xC6\x9E\x38\x97\xC8\x9E\x70\x9F\xE5\x9C\x75\x9E\x5B\x9F\x94\x9E\xFC\x9B\x06\x9F\xDC\x9D\x42\x9F\x9B\x98\xCE\x9C\x92\x9C\xD0\x9C\x0C\x0E\xA0\x98\x01\x21\x07\x9C\x24\x97\x09\x9C\x26\x97\x1A\x93\xBD\x9E\xD7\x9C\xA0\x9C\x31\x97\xF3\x9D\x19\x8C\xAB\x9D\xF9\x9E\x13\x9E\x7E\x9C\x93\x9D\x8C\x9E\x95\x9D\xB8\x9B\x90\x9E\xA0\x9F\x7C\x9D\xA2\x9F\x73\x9F\xA4\x9F\xDA\x9D\xA6\x9F\x97\x9E\xA8\x9F\xC6\x6A\xAB\x98\xCF\x9C\xF4\x96\x6A\x85\xF6\x96\x1C\x92\xCE\x96\x2C\x9E\x19\x6C\x2E\x9E\x2D\x82\xB5\x9F\xFA\x9C\xB7\x9F\xFE\x98\xB9\x9F\x9D\x95\x8E\x9A\x6D\x9E\x5C\x9C\x6F\x9E\x37\x9F\x01\x9F\xD6\x9D\xCA\x9E\xC6\x9F\x7B\x99\x74\x9F\x9D\x9A\xCA\x9F\x19\x97\x60\x9F\xA2\x62\xD5\x98\x4D\x9C\x75\x98\x90\x8F\x21\x97\xBF\x8D\x4A\x9E\x33\x9B\xA1\x5C\x48\x92\x76\x9C\x0B\x9E\xBE\x9E\xF5\x9E\x25\x9D\xCB\x9B\xD9\x9E\xAC\x9D\x20\x9B\x85\x9F\x05\x9D\xDE\x9E\x18\x9C\x6D\x9F\x96\x9A\x44\x95\xFA\x9D\xE9\x96\xE7\x9F\xBD\x99\xE9\x9F\xBE\x9A\x61\x9E\x8F\x9F\x6A\x9C\x90\x9C\x6C\x9C\xF5\x9F\x93\x9C\x0E\x94\xAD\x7D\x4B\x97\xE6\x9D\x29\x98\x74\x9C\x54\x9C\x7D\x9F\x50\x9E\xEF\x9D\x52\x9E\x94\x9B\x54\x9E\xFE\x92\xC4\x9E\x6E\x9E\x9D\x9F\xA8\x9C\x9F\x9F\x8B\x9F\x91\x91\xC8\x9F\xFF\x9D\xCE\x9E\x95\x97\x98\x9E\xF2\x91\x4C\x9C\x46\x9E\x30\x8E\x09\x8E\x72\x97\x40\x9D\xF6\x9F\x5D\x0F\x9A\x9C\x76\x07\x27\x97\xF8\x9C\x97\x9F\x7B\x95\x99\x9F\xA4\x9C\x9B\x9F\xA6\x9C\x26\xA0\x3B\x9E\x28\xA0\x53\x94\x04\x9F\xCD\x9E\xEB\x9F\x2E\xA0\xCC\x9F\x40\x98\x91\x9F\x6D\x9C\xE7\x98\xEE\x98\xE9\x98\x33\xA0\x9F\x09\xBB\x9C\xBB\x92\xE8\x98\xD3\x67\xF5\x98\x45\x0D\x9C\x9E\x02\x01\xB8\x77\xDA\x9F\x3A\x9B\x23\x93\xF9\x94\x8E\x9D\x83\x97\x12\x9E\x72\x9D\xFB\x9E\x74\x9D\x87\x9F\x2D\x9D\xD3\x9B\x40\x9C\x1A\x9E\x3D\x9E\x09\xA0\x8F\x97\x0B\xA0\xBC", -"\x9A\x0D\xA0\x8B\x9C\x49\xA0\xF9\x81\xBD\x9D\x0F\x93\x39\x99\x16\x99\x12\x93\x5A\x8A\x20\x86\xC4\x9D\xB4\x97\x33\x78\x17\x9A\x5B\xA0\x3D\xA0\xBE\x95\x3F\xA0\x4B\x99\x56\x9E\x33\x9F\x58\x9E\xA3\x94\x5A\x9E\xA5\x94\x6D\xA0\x0D\x99\x72\x9F\xE8\x9F\x2B\xA0\xE8\x9E\x2D\xA0\x74\xA0\x12\x9D\xA9\x97\x3E\x79\xAB\x97\xEB\x99\xAD\x8F\xC0\x97\xFA\x8E\x16\x93\x1C\x9D\x18\x93\x1E\x9D\x59\x91\x5C\xA0\x22\x9D\x7B\xA0\x84\x9E\xF6\x9E\x83\xA0\xDF\x9F\x32\x9F\x9F\x94\x34\x9F\x88\x9F\xC7\x9E\x8A\x9F\x46\xA0\x8C\x9F\x05\x9F\x76\x9F\xA3\x8A\x33\x59\x92\x86\x76\x2D\xEA\x74\x19\xA0\x82\x73\xD1\x97\xD3\x7C\x9F\xA0\x81\xA0\xDC\x95\xA5\xA0\x3D\x9B\x63\xA0\xAD\x9D\x73\x9D\xAF\x9D\xFD\x9E\x17\x9E\x36\x9F\x59\x9E\x38\x9F\x5B\x9E\xC4\x9F\x1D\x9E\x6F\xA0\xF2\x9A\x8D\x9F\x91\x93\x4B\xA0\x78\x9F\x5E\x9D\x83\x99\xD3\x78\xBC\x86\x72\x9C\x1B\x61\x64\x9D\xD9\x8B\x4B\x65\xA0\xA0\x47\x9D\x3B\x8A\xA1\x9E\xD1\x8C\x4B\x9F\x2F\x9F\xF2\x9D\xDD\x9C\x41\xA0\xDF\x9C\x43\xA0\x00\x9F\x45\xA0\x1D\x9C\xAE\xA0\x48\xA0\xB0\xA0\x9E\x5C\x85\x9D\x7A\x82\xDA\xA0\x69\x9D\xDC\xA0\xD5\x9E\x55\x8D\x12\x9F\x4C\x9F\x14\x9F\xA6\x9E\x28\x9D\x2D\x92\x51\x9F\xBB\x5B\x1A\x9F\x85\x93\xD3\x9D\x97\x9D\x89\xA0\x84\x95\x8B\xA0\xBB\x99\xCB\xA0\x2A\x9B\x3E\x9F\x2E\x9A\x5E\x9F\x4F\x9B\x3C\x60\x01\x81\x15\x0E\xA5\x9D\x48\x86\xEF\xA0\x89\x9D\x6A\x9D\xDD\xA0\xC9\x93\xDF\xA0\x7A\x9C\xE1\xA0\x7C\x9C\x0D\x87\xBE\x9F\x8B\x9E\xA9\xA0\x68\xA0\xE0\x9E\x6A\xA0\xB4\x9D\x63\x9B\xAD\xA0\x2A\xA0\x06\xA1\x78\x9A\x91\xA0\x21\x82\x75\xA0\xEE\x9C\x57\x8A\x17\x9D\x22\x87\xE4\x93\x1A\x99\x5D\x0F\x26\x87\x31\x95\xF6\x64\x0F\xA1\xEC\x9D\x11\xA1\xF2\xA0\x65\x9A\xD7\x9E\x26\x9D\xAC\x87\xF8\xA0\xA9\x93\x18\x9F\xAB\x93\xC3\xA0\x35\x9F\x01\x9F\x56\x9F\xD3\x9A\xC9\xA0\x5D\x9E\x04\xA1\xB2\x9E\xAF\xA0\x25\x9F\x24\x9E\x57\x9A\x06\x98\x4B\x87\x32\xA0\x80\x9A\x37\x98\x82\x9A\x39\x98\x18\x98\x13\x94\xE9\x9D\xAA\x5D\x32\xA1\x82\x9E\xED\x9D\x35\xA1\xE3\x9A\xF4\xA0\xE0\xA0\x34\x9E\xDD\x9F\x71\x9D\xC0\xA0\x65\xA0\xC2\xA0\xC0\x9F\xFE\x9E\x40\xA1\xB5\x87\x02\x9F\x21\xA1\x32\x93\x8F\xA0\x3F\x9F\x25\xA1\xC1\x99\xCF\xA0\xC6\x66\x36\x94\x27\x64\xDA\x98\x99\x8D\x3A\x94\x1C\xA0\x06\x01\x56\xA1\x9F\x9E\x40\x8B\x12\xA1\x7F\x97\x14\xA1\x0F\x9E\x16\xA1\x11\x9E\xE0\x9F\x57\x9E\xE2\x9F\xC6\xA0\xE4\x9F\xB0\x9E\x23\x7B\x42\x6F\x24\xA1\x73\xA0\xA4\x99\xED\x9F\x00\x77\x25\x9E\xA1\x04\x22\x98\x0F\x9A\x1F\x90\x11\x9A\x5D\x9A\xB6\xA0\x5F\x9A\x3C\x0E\x61\x9A\xF0\x94\x70\x77\xBB\xA0\x8C\x9A\xBD\xA0\xBB\x9F\xAF\x9A\x89\x9E\x14\x9E\x9A\x9B\x1B\xA1\x76\x9D\x06\xA0\xB6\x9A\x00\xA1\x0B\x99\x02\xA1\x28\x9B\x45\xA1\x83\x9B\x47\xA1\x0F\xA0\x43\x9E\x6B\x9C\x24\x7F\xCF\x8B\xC8\x98\x48\x9E\xB0\x9F\x18\x6C\x68\x75\x4D\x9E\x36\x9B\xA5\x5B\x77\xA1\xD3\x9E\x79\xA1\x59\xA1\xE8\x9B\x5B\xA1\x15\xA1\x5D\xA1\xE2\xA0\x37\x9E\xBF\x94\x39\x9E\x65\xA1\x34\x92\x85\xA1\x11\x85\x87\xA1\x68\x9B\xEB\xA0\x70\x66\x42\x98\xF6\x8B\x8A\x99\x09\x01\xBA\xA1\xF3\x9E\xBC\xA1\xFC\x9F\x4A\x9D\xF5\xA0\x81\x9F\x01\x9D\x83\x9F\x17\x9F\xCF\x9D\x19\x9F\x53\x9F\xAC\x9E\x08\x9D\xAE\x9E\x30\x9D\xE5\x9F\x81\x9B\xAA\xA1\xBD\x9B\xCD\xA0\xB9\x93\x2F\xA0\x3C\x7E\x72\x6F\x7A\x75\x66\x9E\xD2\xA1\x0F\x9F\x3E\x9A\x7A\xA1\x40\x9A\x7C\xA1\x53\x9E\x61\xA0\xB4\x9B\xC3\xA1\xB6\x9B\xC5\xA1\xC2\x9F\x08\xA0\xC9\x9E\xE4\xA1\x8D\xA0\x0C\xA0\x6A\xA1\x07\xA1\x6C\xA1\x7A\x9A\x8B\xA1\x4D\x7B\xEF\x94\x7F\xA0\x01\x01\xEE\xA1\x2C\x9F\x11\x9F\x37\xA1\xFE\x9F\x39\xA1\x16\x9F\x3A\x9C\x3C\xA1\x16\x9C\x04\xA0\x3E\x9C\x69\xA0\x2F\x9D\x6B\xA0\xE3\x9E\xA8\xA1\x3F\x9E\xE9\xA0\xCE\x8F\x02\xA2\x2E\x9B\xE9\xA1\xE9\x8C\x4D\xA0\x14\xA0\x33\x73\xBA\x9E\x32\x0B\xBC\x9E\x27\x01\x09\xA2\xAF\x9B\x5E\xA0\x45\x94\x60\xA0\x30\x9F\x93\x99\x00\xA0\x91\x9D\xA0\xA1\x7F\x9C\xA2\xA1\xD2\x9D\x15\xA2\xD4\x9D\xE2\xA1\xC8\xA1\x9C\x8A\xCA\xA1\xDC\x9B\x5D\x5C\xD0\x9E\x07\xA2\x00\x00\x28\xA2\x9F\x9C\x2A\xA2\xF8\x94\xB2\x9B\xF5\xA1\x55\x9E\x24\xA0\xE1\x9F\xE5\xA0\xE3\x9F\xE7\xA0\xAB\x9C\x47\xA0\x1C\xA2\x89\xA1\x6D\xA1\x10\xA0\xE2\x98\x64\x98\xEF\xA1\x4D\x97\x34\x9B\x68\x98\xED\xA1\x9A\xA1\x3B\x9B\x9C\xA1\x87\x9E\x9E\xA1\xFA\x9E\x31\xA2\xBF\x9F\x33\xA2\xDF\x9E\xA4\xA1\x0E\x9B\xC7\xA0\x8A\xA0\xFC\xA1\xA2\x9B\xCB\x9E\xA4\x9B\xAC\xA1\xB4\x9E\x51\xA2\xE4\x74\x0A\x9F\x52", -"\x9B\x71\x87\x31\xA1\x59\xA2\x5F\xA0\x44\xA2\x2D\xA2\xAF\x99\xBF\xA0\x01\xA0\xC1\xA0\xDD\x9E\x67\xA0\xA3\xA1\xC5\xA0\x88\xA0\x65\xA2\x01\xA1\x67\xA2\x0D\x9D\x69\xA2\x0F\x9D\x6B\xA2\x8E\x9F\x50\x9B\x60\x70\x3A\x91\xBA\xA0\x1E\xA0\xA2\x9E\x67\x9F\x80\x9F\xDC\x9C\x17\xA1\x35\x87\x5F\xA2\x1A\xA1\x87\xA0\x82\x95\xA6\xA1\x2F\x99\x43\xA1\x92\x9E\x22\xA1\xE7\xA1\xCE\x95\x6E\xA1\x72\x98\x31\x9B\xDB\xA0\x9C\x67\x8C\x9B\xF7\x80\xB8\xA1\x55\xA1\x73\xA2\x2B\xA2\x75\xA2\x7E\xA1\x31\x9F\x85\xA0\xA8\xA0\x95\xA2\x7B\x96\x1F\xA1\xAA\x9C\x29\x95\xFE\xA1\x70\xA0\x00\xA2\x88\xA1\xCC\xA1\xE5\x61\x82\x98\x31\x68\xEE\xA0\xA7\xA2\x43\xA2\x35\x9E\x6B\x9E\x2E\xA2\xBC\x9F\x64\xA0\x93\xA2\xFC\x9E\x63\xA1\xC4\xA0\xC6\xA1\x1E\x9F\x43\x9C\x20\x9F\x84\xA2\x22\x9F\x71\xA0\x24\x9F\xAD\xA1\x0A\xA1\xB6\x91\x2A\x89\x71\x7B\xD4\x9C\x3F\x0A\x40\xA2\x22\xA2\xF7\x79\x72\x92\xF3\xA1\x21\xA0\x45\xA2\x23\xA0\xE3\xA0\x50\x9D\xF9\xA1\x52\x9D\xC3\x9F\x29\xA0\x69\xA1\x23\xA1\xCB\xA1\x48\xA1\x8A\x8C\x44\x9F\xFA\x9C\x40\x99\xCB\x9C\x91\x95\x27\xA2\xBC\xA2\xB1\x9B\xBE\xA2\x22\xA0\xBD\x94\xF7\xA1\x9C\x9F\xE0\xA2\x89\x9F\xE2\xA2\x68\xA1\x58\x93\xB5\xA2\xE6\xA2\xCF\xA2\x64\x89\x91\x8D\x66\x89\x6D\x9C\xDF\x6B\x6F\x8D\xCD\x96\xB4\xA1\x5C\x81\x3C\x0E\xFB\x91\xED\xA2\xD1\xA1\xEF\xA2\xA1\x9C\xDD\x9F\xBF\xA2\x77\xA2\x80\xA1\x86\xA0\x82\xA1\x7F\xA2\x84\xA1\xEA\x91\x86\xA1\x25\x7B\x44\x6F\x50\xA2\xB9\x98\xAA\x9F\x8B\x92\xC7\x9C\x28\x9C\x95\x8D\xE6\x7B\x2B\x9C\x94\xA1\x2D\x9C\x20\x92\x39\x9A\x94\x9C\x73\x65\xD6\xA2\xCF\x9F\xFB\x98\xFC\x9C\x2E\x9F\xC0\xA1\x4D\x9F\x35\x9E\x5F\xA1\x79\xA2\x61\xA1\x7B\xA2\x3E\xA1\xAA\xA0\x9E\x9F\xAC\xA0\xE8\xA0\x9B\xA2\x86\xA2\xCE\xA0\x6D\xA2\x0D\x75\xEF\x9F\x4D\xA1\x4E\x9C\x2E\x09\x50\x9C\x36\xA0\x52\x9C\xC1\x98\xD7\x9F\xD7\x98\xD9\xA0\x0B\xA3\xB8\x9F\x5A\x8C\xC3\x9E\xDE\xA2\xC5\x9E\xF6\xA2\xAB\xA0\xF8\xA2\x38\xA3\xE4\xA2\x9C\xA2\x9F\x9A\x04\xA2\x89\x92\x31\xA0\x23\x98\xE3\x9D\x70\x9C\xE3\x8D\x05\xA3\x61\x61\x75\xA1\x99\xA1\x8C\xA2\xDE\xA0\x8E\xA2\xD7\xA1\x90\xA2\x7F\xA1\xA7\xA0\x87\x97\x61\xA2\x05\xA0\x7E\xA2\x96\xA2\x80\xA2\xA7\xA1\x82\xA2\x9B\x9D\xE5\xA1\xFA\x9B\x54\xA3\xD0\x8F\x1F\xA2\x3C\x85\x58\xA3\x90\xA1\xC7\x9D\x8E\x92\x0A\x8E\x22\xA3\x37\x9A\xDC\x98\x93\x92\x29\x9E\x27\xA3\x49\xA3\xDC\x9F\x4B\xA3\x69\x9F\x7D\x9C\xF6\x9D\x4F\xA3\x36\xA3\x51\xA3\x4C\xA2\x1B\xA2\x5F\x92\x4F\xA2\x03\xA2\x75\xA3\x97\x75\x21\xA2\x29\xA3\x1A\x62\xB7\x9C\x56\xA0\x2F\x8E\x1E\x9D\xEB\x98\x32\x72\x2F\x72\xB8\x9C\x5C\x73\x6E\x77\xEE\xA2\x65\x7E\xD9\x5A\x74\x77\x8D\x22\x44\x92\x93\xA3\x0C\x9A\xA6\x98\x5B\x0D\x5C\x04\xF1\x0A\xCD\x1F\x3F\x85\x38\x77\x1D\x81\x01\x01\x1F\x81\xF0\x9C\x3F\x0A\xE7\x7D\xF0\xA0\x15\xA0\x9D\x97\xAE\x73\x27\x81\x58\x80\xD4\x45\x82\x76\x5B\x80\x28\x80\xA1\x62\xB3\xA3\x10\xA1\xBA\x85\x33\x81\x65\x74\x76\x98\x27\x01\xBF\xA3\x33\xA1\x98\x77\xA0\x81\x9A\x7F\x3C\x81\xA3\x81\xAB\x80\xE8\x7F\x8B\x81\x98\x81\x5D\x0F\x76\x76\x5F\x81\x2A\x61\x38\x66\xC6\xA3\x57\xA1\x78\x77\x98\x7F\x79\x80\xB0\x8F\x4A\x7D\xCD\x80\x8D\x80\x09\x77\x06\xA3\xFF\x00\x52\x81\x5F\x98\xC5\xA3\x91\x81\xFF\x97\x96\x80\x57\x81\x21\x04\xB2\x81\x75\x81\xB4\x81\x11\x0E\x5E\x81\x99\x96\xD6\xA3\x78\xA1\x09\x16\xA0\x76\x64\x81\xCC\xA3\xEC\x88\x9D\x80\xA6\x81\xDF\xA3\x69\x81\x42\x81\xE0\x7F\xBE\xA3\xE5\xA3\x1B\x98\xD6\x7F\x1D\x74\x99\x80\xBA\xA3\x51\x7F\xA4\x81\xCE\xA3\x97\x81\x81\x81\x5D\x0F\x78\x81\x35\x81\xE4\xA3\x86\x81\x98\x7F\x7E\x81\x65\x81\x9E\x7F\xCF\xA3\x08\xA4\x3C\x0E\xC1\x80\xE3\xA3\x09\x01\xF0\xA3\xBB\xA1\xF2\xA3\xD9\xA3\xC9\x80\xDA\x72\xF5\xA3\x7C\x91\xF7\xA3\x12\xA4\xEC\xA3\x15\x0E\xD2\x80\x16\xA4\xE4\x7D\x0D\xA4\x6E\x81\x94\x81\xEA\xA3\x67\x81\xF9\xA3\xF3\x72\xA9\x81\x60\x81\xD5\xA3\xFE\xA3\xA7\xA3\x00\xA4\x61\x0B\x3E\x7F\xD6\x81\x03\x9E\x06\xA4\xB3\x81\x2C\xA4\x0D\x0E\xED\x80\x25\xA4\x03\x01\x18\xA4\xD3\xA1\x1A\xA4\xAF\x81\x83\x74\xF5\x80\x1E\xA4\x7D\x98\x20\xA4\x07\xA4\x22\xA4\x0B\x77\x27\x80\x32\x96\x30\xA4\xB6\x84\x0B\xA1\x23\x73\x03\x81\xBD\xA3\x4D\xA4\x9D\x85\xC1\x81\x2C\x73\xC3\x81\x52\xA4\x73\x65\x3F\xA4\x54\xA2\x1E\x97\x75\x62\x95\x98\xD3\xA3\x66\x61\x53\xA4\xD7\x9C\xCE\x9F\x5B\x81\x9D\x82\x41\x80\xCB\x7E\xF6\x80\xC6\x92\x9D\xA0\xA7\x7E\x43\x96\x06\x01\xDC\x7D\xC0\xA3\xB5", -"\xA3\xB9\x9C\x26\x81\xCD\x97\x2B\xA4\xDC\x76\xDB\x76\xBC\xA3\x4C\xA4\x73\x65\x6E\xA4\xC7\xA3\xA2\xA2\xE5\x5A\xBC\x7E\x5F\xA4\xA6\x5B\xAA\x5D\x7A\xA4\xD7\xA3\xC8\xA3\x42\xA4\xCA\xA3\x6D\x76\x10\xA4\x74\x81\x74\xA4\xDB\x7E\x72\x80\xFB\xA3\xB6\x97\xA1\x62\x82\xA4\xF1\xA3\x9C\x16\x87\x81\x60\x5F\x7F\x76\x2A\xA4\x28\x81\x49\xA4\xA1\x5C\xE2\xA3\x52\x98\x6D\xA4\x31\xA4\x2F\x7E\x0D\x6C\xE8\xA3\xCB\x80\xBB\x80\x1F\xA4\xA5\x81\x21\xA4\x3A\xA4\xED\xA3\x2E\xA4\xD4\xA3\x79\xA4\x9D\xA4\xE8\x6B\xC9\x06\xF4\xA3\x36\xA4\x71\xA2\x47\xA4\x39\xA4\x75\xA4\x8F\x80\x5D\x0F\xA1\x80\x3D\xA4\x90\x77\xAB\xA4\x46\x85\x0F\x73\x01\xA4\x7D\x97\xA4\x76\x04\xA4\xCD\xA3\xF5\x7F\x5A\x81\xA6\xA4\xAF\x80\xA8\xA4\x60\xA4\xAA\xA4\x27\xA4\x25\x9C\xDE\x06\x0F\xA4\x45\xA4\x8D\x9B\xB1\xA4\xEB\xA3\xC3\xA4\xEB\x7F\x8D\xA4\x1A\x80\x81\xA4\xB9\xA4\x16\x7C\xA9\x7F\x1C\xA4\x47\x74\xAF\xA4\xA9\x99\xF8\x80\x48\xA4\xD0\xA4\xF8\x7F\xC5\xA4\x80\xA4\x8F\xA4\xD5\xA4\x5A\x77\xD7\xA4\x30\x7F\xEC\x72\x88\xA4\xDC\x80\xCF\xA4\xB3\xA4\xE0\xA3\x9A\x81\xB7\xA4\xDB\x7D\xE3\xA4\xD6\x91\xBB\xA4\x34\xA4\xA2\x81\xDA\xA4\x33\x9A\xE9\xA4\x8A\xA4\x1A\x7F\xA8\x81\xD2\xA4\x83\x75\xA5\x5B\x90\xA4\x19\xA4\x92\xA4\xC9\xA3\x4E\x7F\x44\xA4\xF5\xA4\x7F\x9E\x89\xA4\x97\xA4\xDE\xA4\xFB\x80\x4B\xA4\xCC\x9C\xE2\xA4\x4E\xA4\xBC\x93\x96\x74\x51\xA4\x78\xA4\xF6\x64\xFE\xA4\x40\xA4\x95\x71\xF1\x98\x2E\x73\x61\x96\xB8\xA4\x0D\xA5\xC8\x81\xC1\x9C\x9B\x76\xC4\xA3\x09\x01\x13\xA5\x5B\xA4\x09\x16\x63\xA4\xDF\xA3\x65\xA4\x19\x81\x67\xA4\xCC\xA4\x11\x6D\x0F\x8C\xE9\x68\x20\xA5\x2A\x7A\xEA\x68\xD5\x75\x95\x77\x05\xA3\x99\x77\x58\x01\x02\x6D\x16\x23\x0C\x04\x48\x69\xE9\x68\x78\x00\xAB\x8E\xE2\x82\x46\xA3\x41\x7E\x32\xA5\x74\x00\x9B\x77\x7F\x23\x3F\x85\xAA\x77\x41\x2B\xA4\xA3\xAB\x9F\xD0\x9F\xA4\x7E\xAE\xA3\x00\x00\xB0\xA3\x3A\x99\xA1\x62\xA7\x77\x6F\xA4\xAC\x9F\x71\xA4\x55\x80\x93\x86\x43\x72\x27\xA5\x04\xA5\x62\x76\x2C\x81\x18\xA5\x0C\x51\xBA\x81\xBE\x73\x7E\xA4\x99\x96\x4E\xA5\x7B\xA4\xD0\x13\x4D\x7F\x6B\x80\x9B\x7F\x28\xA5\x3E\x81\xF8\xA4\x44\x7F\xCD\x7E\xFB\xA4\x74\x80\xAA\x5D\x5F\xA5\x83\xA4\xAE\x77\x28\xA4\x4A\x81\xD6\x7E\xE8\xA4\xDC\xA4\xB2\xA4\x8B\xA4\x51\x81\xE0\xA4\xC4\x73\x6D\xA5\x91\xA4\x37\x18\x56\x81\x91\x76\x88\x72\x73\xA5\xCE\xA4\x67\xA5\x9A\x80\x99\x76\x78\xA5\xA5\x5B\x7A\xA5\xFF\xA4\x7C\xA5\x63\x81\xC7\x7F\xBD\xA4\xA9\x80\xBF\xA4\xF6\xA3\xA4\xA4\xDD\xA4\xEB\xA4\xFA\xA3\xCA\x81\x1E\xA5\xCF\x7D\xC8\xA4\xFF\xA2\xBA\x0B\xA7\x80\x96\xA4\xB9\xA3\x81\x76\xAB\x76\x09\xA4\x85\xA5\x6C\xA5\xF0\xA4\xA7\x96\x0F\x80\xCB\xA4\x56\xA5\x16\x7F\x11\xA4\x91\xA5\x76\xA5\xD1\xA4\x94\xA5\x63\x80\x4D\xA5\xA2\xA5\x96\x98\x93\x81\xD8\xA4\xA1\xA4\x8E\xA5\xA3\xA4\x38\xA4\xEA\xA4\xAA\xA5\xDF\xA4\x6A\xA5\x92\x80\xA1\xA5\x97\xA5\xE6\xA3\xE5\xA4\x2A\x5A\xD9\x80\x65\xA5\x4E\x81\x07\xA5\x92\xA5\x2D\xA4\xBA\xA5\x6B\x81\xAE\xA5\xBD\xA5\xFF\xA3\xC5\x7F\xE7\x80\x72\x00\x9B\xA5\xD5\x81\x03\xA4\xB4\xA4\x3C\x0E\x3C\xA4\x9B\xA4\x50\x56\xAF\xA5\x5C\x72\x43\xA4\xB1\x81\x80\xA5\x90\xA5\x75\xA5\xF9\xA4\xB5\x81\x1B\x73\x59\xA5\xD4\x50\x5B\xA5\x4F\xA4\xA1\x5C\xBD\x81\x58\xA4\xF6\x64\x87\xA5\x14\xA5\xFA\x9A\x0D\x0E\x08\x81\xE1\xA5\xE9\xA5\x21\xA5\xCA\x99\x3A\xA5\x04\x71\xC7\xA5\xEF\x97\x96\xA5\x71\x8E\x1B\xA3\xEB\xA4\x25\xA5\xCD\x96\x9C\xA5\xBE\xA4\x53\x80\x55\xA4\xFF\x00\x7A\x0A\x94\x9F\xBE\x8A\x63\x61\x38\x7E\xE7\x1B\x8A\x1A\xB2\x77\xEA\x1B\x3F\x85\xD1\x52\x43\x76\x07\x20\xBA\x55\x06\x9E\x59\xA3\xC8\x9C\x11\xA6\x12\x6D\x9C\x7C\x06\x01\x33\x80\x39\x77\xC2\x77\x27\x01\xC4\x77\x2E\x81\xB8\x93\x59\x7E\x1D\xA2\xDA\x5B\xCA\x77\xEA\x63\xA1\x7C\x99\x91\x4B\x7E\xD2\x5D\x1E\x7E\xD4\x77\xD8\x75\x99\x6B\xD7\x77\xA1\x6A\xE6\x77\x3C\x8E\x41\x96\x41\x7E\xB3\x08\x2E\xA6\x1C\x76\x96\x95\xDF\x48\x91\x8E\x09\x88\xF4\x77\x3C\x8E\xEA\x77\x1D\xA6\xE1\x98\x6E\x97\xBA\x95\x90\x8E\x3C\x86\xEE\x95\x5B\x13\x3C\x8E\xFC\x07\x1D\xA6\xBC\x75\x00\x9C\x6A\x7E\x87\x0C\x52\x1A\x32\x9A\x12\xA6\x1C\x81\x70\x73\x5D\x37\x9E\x7C\x74\x5E\x3B\x0E\x7B\x00\x3C\x8E\x2E\x5E\x1D\xA6\xE5\xA2\x94\x6C\x20\xA6\xC0\x64\xA1\x7C\x7C\x00\x3C\x8E\xEA\x00\x1E\x7E\x5D\xA6\x5D\x5C\xA0\x96\x1B\x06\xC9\x2B\x50\x6A\xB7\x5D\x3E\x0E\x79\x00\xF2\x95\x7A\x0A\x8E\xA3\x94\x6C\xF4\x71\x73\x8E\xC4\x6A\x4B\xA6\xC0", -"\x9C\x37\x8E\x00\x3E\xF2\x95\x08\x8E\x15\x06\x95\xA0\x83\x6E\xF7\x97\xC2\x9D\x8E\x11\x6E\x01\x5C\x24\x0F\x8C\x51\xA6\x53\xA6\xFA\x0E\x02\xA6\x38\x09\x63\x77\xE5\x92\x94\x6C\x78\xA6\xE8\x92\x21\x10\x7B\xA6\x19\x5D\xB3\x08\x56\xA6\x8F\x5B\x58\xA6\x15\x65\x5A\xA6\x5C\xA6\x9B\x8D\xFD\x05\x02\x48\x78\x6A\x86\xA6\xAD\x97\x88\xA6\x19\x01\x5C\x24\xB3\x08\x5F\xA6\x32\x5E\x61\xA6\x0A\x10\x63\xA6\xCD\x69\x65\xA6\x27\x01\x67\xA6\x09\x76\x0A\x9E\x3B\x25\x83\xA6\x95\xA6\xAC\x97\x86\x0D\xF9\x97\xB1\x5E\x89\xA6\x94\x6C\x69\xA6\xA3\x5D\x6C\xA6\x62\x22\x7D\x78\x6F\xA6\x31\x78\xE5\x5A\x31\x0B\xB6\x7D\xB5\xA6\x64\x73\xB7\x5D\x31\x0B\xA3\x7D\xBA\xA6\xBF\xA6\xB6\xA6\x1C\xA5\x01\x01\x7F\x00\xC1\x92\x55\x8E\x59\x78\xED\x4F\xA4\xA6\x89\x99\xC0\x58\x59\x5A\x2C\x78\x11\x0E\x94\x8E\x9F\x09\x04\x81\x63\x61\x08\x78\xF1\x2B\xAA\xA3\x89\x1C\x0D\x78\xE5\x5A\xA0\x8E\x02\x01\x13\x96\xA1\x8E\x73\x65\x23\x96\xDD\x5A\x16\x78\x27\x01\x18\x78\x9C\x9C\xAE\x4F\x2B\x78\x1D\x78\xBF\x92\x0D\x1F\xE7\x97\x09\x01\xDE\xA6\xDC\x5A\x25\x78\x9C\x98\xDE\x98\xAD\x7D\xB5\x39\x16\x01\xCD\xA6\xC2\x68\x24\x22\xC0\xA6\x62\x73\xA1\x7E\x81\x00\xF6\xA6\x9D\xA3\x88\x99\x06\x01\xAB\x21\xFA\xA6\xF7\xA6\xE5\x5A\xCF\xA6\xA3\xA5\xFF\xA6\xE4\xA5\x5D\x0F\xD3\x9C\xAD\xA5\x38\x66\x31\xA6\xCF\x6D\x27\xA1\x76\xA6\xEA\x99\xC1\x9D\xE8\x92\xF2\x9C\xA2\xA0\x61\x9F\x7D\xA0\xA3\x97\x08\xA7\x73\x65\x0A\xA7\x55\x76\x0C\xA7\xBC\x97\x96\xA0\x0F\xA7\xAD\x97\x99\xA0\x15\x93\x35\x94\x2B\x82\xC4\x97\x2D\x82\xD3\x97\x09\xA7\xA8\x98\x56\xA3\x21\xA7\x5E\x99\x3A\x93\x3F\x9D\x2C\x9C\xC7\x9C\xB8\xA0\xF4\x7D\x25\xA7\x17\xA7\x27\xA7\x90\xA3\xB7\x86\x45\x8F\xB9\x86\xCC\x8A\xDA\x97\x48\x8F\x2D\xA7\x0E\x63\xD7\xA0\xE9\xA6\x06\x01\x18\xA7\xC0\x6F\x41\x98\xA7\x99\x4C\x65\x4B\x98\x09\x01\x40\xA7\xFF\x70\xD7\x97\xFE\x86\x0D\xA1\xCB\x81\x27\x7E\xD0\xA2\x60\x8A\x3B\x6D\x28\xA1\xC0\x9D\x4C\xA5\xDF\x82\x2C\xA1\xF4\x9C\x15\x0E\x2F\xA1\xA5\xA6\xA1\x62\x47\xA7\xB6\x9E\x03\x98\x8D\xA1\x03\x0B\xE1\x9D\x10\xA6\x36\x98\x50\x75\x93\xA1\x72\xA1\x66\x98\xD9\x8F\x3C\xA5\xC6\xA4\xF6\x64\x5B\xA7\xEC\x9E\xEB\x97\x37\xA4\x99\x04\x05\x9E\x13\x9A\x07\x9E\x70\x5D\xC2\x98\xAA\x5D\x6B\xA7\x43\x9F\x34\xA7\x68\x79\x4A\xA1\x57\x83\x8F\xA1\x28\x9E\x10\x9A\x9B\x9C\x5C\x83\x50\xA1\xEE\x9E\xB0\x8B\x68\xA7\xB0\xA5\x3F\x0A\x76\xA7\x0A\x86\x5D\xA7\x44\x9E\x88\x94\xD0\x8B\x78\xA3\x24\x98\x7F\xA7\x4A\x90\x65\xA7\x4C\x90\xCB\x87\xB7\xA1\x6F\x98\x03\x01\x87\xA7\x12\x98\x42\xA7\x64\x9E\xA8\x83\x7E\x98\x32\xA7\xB8\x98\x91\x75\x7D\x9E\x6C\xA4\x96\xA7\x33\xA7\x9E\xA2\x47\x6F\x9A\x9E\x82\x75\x6B\xA5\x5A\xA7\xA3\xA7\x3C\xA3\x5C\x75\x7A\x98\x7F\x7A\xFB\x9A\x53\x8C\x0B\xA5\x26\xA7\x26\x9F\x0F\xA5\x67\x88\x8D\x98\x9D\xA7\xD2\x98\xA4\xA7\x45\x88\x53\xA2\x82\xA7\x67\x98\x9F\x75\x9C\xA7\x6A\xA7\xAA\xA7\x88\xA2\x11\x0E\xA6\x75\x4D\x0A\x95\xA7\xF7\x0A\xC1\xA7\xB3\xA7\x95\x84\x8A\xA2\xB6\xA7\xC0\xA7\x9E\xA7\xB8\xA7\xF8\x9A\x7B\xA5\x8E\x61\xA3\xA2\xB9\x75\x45\xA7\x3F\xA7\xC8\xA7\x5F\x70\xAA\x9B\xCE\x99\xC6\xA7\x03\x0B\xD7\xA7\x4C\x82\xC4\x9B\xB7\x91\xD3\xA2\x16\xA7\xCD\xA7\xB8\xA7\xAB\xA7\xB0\x92\x89\x9B\xA1\xA0\xD0\x9F\x93\x9F\xF7\x75\xA5\x5B\x97\xA7\x4C\xA0\xB1\x95\x23\xA5\x28\x98\xF1\xA5\x08\x0E\xAE\x9F\xE0\x75\x3B\xA7\x37\xA0\x07\xA3\x74\xA7\xA9\xA7\xCE\xA7\x63\x92\xBE\xA5\x00\xA3\xD7\xA2\xE3\x7B\xD1\x9F\x75\x75\xB0\x98\xD4\x9F\xFF\xA7\xB5\xA1\x2E\x9C\x25\xA3\xE6\xA3\x86\xA7\xDD\xA7\x28\xA6\x06\x8E\x27\x9C\xB6\x8F\x94\x85\x42\xA3\xF6\xA7\x44\xA3\xF7\x9F\xF9\xA7\xB2\xA7\xE4\xA7\x1A\xA3\xAF\xA1\x19\x92\x7E\xA7\x35\x03\x18\xA0\x91\xA7\x63\x94\x34\x59\x75\x9C\xDA\x5A\x2C\x98\x0E\x0B\x0B\xA8\x32\xA6\x0D\xA8\x01\xA3\x1A\x93\x34\xA0\x45\xA5\x1C\xA3\x4B\x9E\x08\x8A\x76\x97\x09\x60\xA2\xA7\xFB\xA7\x91\x98\xA0\xA2\xB4\xA3\xB3\x92\x27\xA8\x40\xA3\x80\x91\x74\xA6\xE3\x02\x54\xA0\x3A\x76\x96\xA3\xCE\x71\xB7\x5D\x7A\x0A\x7F\xA4\xC6\x99\x0D\x05\x10\x2D\xC6\x1D\x55\xA5\xD1\xA5\x6E\x9C\xFA\xA6\xB7\x5D\xBE\x06\x42\xA8\x3C\x94\xD1\x30\x53\x3D\x31\x2D\xFC\xA5\x8D\xA5\xFE\xA5\x04\xA7\x58\x73\x0D\x0E\xC8\x07\x4D\xA8\xEF\x60\x16\x91\x39\x14\xFC\x2C\x43\x7F\xA6\xA5\x55\xA8\xFE\x86\x0E\x55\x83\x00\x60\xA8\x4A\x73\x2F\xA7\x01\x01\x8C\x7D\x64\xA8\x1B\xA5\x1D\x9D\x06\x01\x85\x00\x04\x81\xD9\x5A\x42", -"\x07\x43\x2D\x47\xA8\x9D\xA5\x54\xA8\x69\xA8\xD1\x9C\xAF\x78\x85\x7D\x6E\xA8\xDA\x8E\x2C\x72\x45\x2F\xC1\x1E\xD0\xA5\x73\xA8\x49\xA8\x04\xA7\x66\xA8\x00\x00\x74\x7D\x75\xA8\x8C\x77\x01\xA7\x27\x01\x87\x00\x85\xA8\x8A\xA8\x65\xA8\xE5\x5A\x38\x50\x85\x39\x36\x8E\x15\x0E\x02\xA7\x00\x00\x89\x00\x8B\xA8\x4A\x77\x0D\x0E\x22\x62\xBE\x7F\x95\xA8\xF8\x84\x34\x59\x38\x50\x59\x7D\x5D\xA4\xFC\xA6\x03\x01\x8B\x00\x9A\xA8\xF2\xA5\x34\x59\xC5\x05\x8C\x00\xA3\xA8\x90\xA8\x34\x59\xFA\x08\x8D\x00\xA8\xA8\x96\xA8\x11\x0E\xFA\x08\x92\x3F\xAD\xA8\x9F\xA8\xF3\x5A\x27\x01\x8F\x00\x13\xA6\x74\x5E\x0E\x55\x90\x00\xEB\xA7\xAA\x5D\xCE\x7C\xF6\x8A\x99\x44\xB8\x86\x1A\x04\xA8\x05\x14\x5A\x27\x98\xC2\x59\x7E\x7D\x6C\x08\xC9\x38\x58\x01\x9B\x7D\xD5\x26\xC5\xA8\xE9\x88\xBA\x38\x94\x0B\x08\x09\x45\x2F\xC2\x59\x71\x93\x27\x01\x91\x00\xE1\xA5\xBD\xA8\xEB\x8C\xBF\xA8\x9A\xA8\xB7\x5D\x38\x50\x46\x7D\x38\x80\xCE\xA6\x81\x37\xB2\xA8\x97\x93\x0D\x0E\xC5\x05\x94\x00\xF3\xA6\x34\x59\x66\x93\xE1\xA5\xB1\x7D\x69\x7D\xBC\x7D\xD1\x09\xFF\x77\x95\x96\x15\x28\xA1\xA7\x08\x38\xDF\x5A\xED\xA6\xF8\xA5\x33\x51\xC9\x30\xB7\x5D\xA3\x7E\x79\x36\xE9\xA8\xE0\x5A\x52\x57\xAE\xA8\x15\x0E\x0E\x55\x96\x00\xE1\xA8\xE7\x68\xE5\x5A\x2E\x06\x38\x7D\x02\xA9\xD1\xA2\x15\x0E\x90\x04\x98\x00\x07\xA9\x0E\xA5\x71\xA6\x03\x01\x9A\x00\x79\xA8\xF1\x99\x81\x09\xB0\x40\x47\x9E\x5B\x83\xF1\xA6\x8D\x01\x18\xA6\x09\x01\x9B\x00\x3C\x8E\xF3\x00\x22\x7D\x3A\xA8\xCB\x09\xBD\x52\x77\x7E\x62\xA7\xAE\x7D\xB0\x40\xB3\x08\x1D\xA9\xE3\xA6\x16\xA9\x0B\x25\xC6\x7D\x26\x4F\xC8\x7D\x68\x98\xCD\x03\x9C\x40\xAF\x07\xA1\x7C\x1B\xA9\x1C\x7E\x03\x01\xD5\x00\x1E\xA9\x29\xA8\x9F\x09\x4B\x5A\x23\xA9\x17\xA9\xB3\x08\x36\xA9\x28\xA9\xBC\x85\x17\xA9\x2B\xA9\xD3\x50\x2D\xA9\xBE\xA7\x16\x91\x30\xA9\xBB\x07\xA1\x7C\x99\x00\x3C\x8E\xD4\x00\x37\xA9\x12\xA9\x39\xA9\x14\xA9\x3B\xA9\x0B\x25\xB3\x08\x4C\xA9\x3F\xA9\xF0\xA6\x2A\xA9\xEB\xA8\x72\x36\x44\xA9\x6D\x90\x6D\x56\xB4\x24\x49\xA9\x3C\x8E\xEB\xA6\x03\xA7\xD7\x91\x33\x1F\xE5\xA6\x4E\xA1\x2A\x78\xBF\x30\xB3\x08\x60\xA9\x0F\x8E\xB6\x3B\x57\xA9\xD7\x5A\x6A\x7D\xEB\x05\xBB\x7D\x08\x5A\x70\x09\xD2\xA6\x4D\x7D\x01\x25\xD5\xA6\xED\x2B\x0D\x78\x3B\x0E\x4A\xA9\x34\xA9\x02\x01\x23\x78\x81\xA6\x6F\x09\x50\xA9\x65\xA9\x24\xA9\xB1\x52\x8C\x01\xB3\x08\x23\x78\x3B\xA0\x7F\xA7\x41\xA9\x58\xA9\xC7\x7D\x02\x17\x70\xA9\x10\x5A\xD6\x09\x73\xA9\x59\xA9\x09\x78\x56\x09\xB6\x30\x93\x1C\xFD\xA8\x0C\xA9\xE2\xA8\x2B\x81\x27\x01\x9C\x00\x97\xA9\xA3\x9D\x41\x99\x50\x76\xF1\xA8\x01\x01\xF9\xA8\x8D\x7D\x74\xA8\x47\xA3\xAC\x04\xB8\xA3\x7E\xA8\xFD\xA5\xB3\x7E\x43\xA7\x2D\x81\xCD\x9C\xA1\x62\xA2\xA9\x0E\x5F\xDD\x76\x3C\x0E\x92\xA8\x94\xA8\xA4\xA8\xA1\x5C\x5D\xA5\xEE\xA4\xA2\x7E\xE4\x80\xCB\xA5\xE6\x80\x6B\x76\x64\xA5\x5F\xA8\x05\xA4\xC1\xA4\xF8\xA3\xC5\xA5\x0D\x0E\xD2\xA3\x99\x96\xAF\xA9\x4F\x7E\xA6\xA3\x9E\xA4\x01\x80\x71\xA5\x4C\x81\xC2\xA5\x66\x81\xC4\xA5\xB8\xA5\x80\x80\xA0\xA5\xAE\xA9\xBA\xA9\x32\xA4\xC5\x7F\xA0\xA4\xCF\xA5\x72\xA8\xA9\xA9\x84\xA5\xF4\xA5\x8F\x81\x4B\x65\xC7\xA9\x81\x7F\xF3\xA3\x8B\xA5\xDB\xA3\x25\x7F\x6E\xA7\xCE\x80\xC2\xA9\xD1\xA9\x3C\x0E\xB6\xA4\xD5\xA5\x02\x01\xE0\xA9\x8F\x7F\xC6\x80\xD6\xA9\xBC\xA9\x04\x7F\x02\xA4\x7F\xA8\xDD\xA3\xEA\x80\x98\xA4\x9F\xA5\xDD\xA9\xAA\x81\x3F\x0A\xEE\xA9\x52\x80\xC9\xA9\xAC\xA4\xE4\x7F\x13\x7F\xC6\x76\xDB\xA5\xB6\xA5\x82\xA5\x48\xA8\x1B\x7F\xD3\xA9\x38\x66\xFD\xA9\x5F\x80\xFF\xA9\xBA\xA4\xDE\x73\xB2\xA5\xD9\xA9\x5E\xA8\x07\xAA\xD1\x80\x09\xAA\x73\x65\x0B\xAA\x66\x80\x0D\xAA\xD6\xA4\x0F\xAA\xE6\xA4\x5B\x74\x04\xAA\xC1\xA9\xA5\xA4\xC3\xA9\x09\x80\xAC\xA5\x31\xA7\xF6\x64\x17\xAA\x86\x80\x19\xAA\xE4\xA4\xB7\x09\xCD\xA5\x11\xAA\x7F\x80\xD3\xA5\x15\xAA\x25\xAA\xD5\xA9\xCA\xA9\x33\xA4\x02\xA5\xDA\xA5\xCE\xA9\xA8\xA5\xDD\xA5\x68\xA5\xDF\xA5\x14\x7E\xE7\xA5\xDF\xA9\x00\x81\x0D\xA9\xBC\x81\x10\xA5\xB1\xA7\x16\xAA\x06\x81\xE5\x5A\xED\xA5\x3C\xAA\xFC\xA9\x3E\xAA\x6A\xA8\xF3\xA5\x23\xAA\xCC\xA7\x3D\xAA\x9A\x7E\xBB\xA9\x69\x80\x3F\x80\x48\x62\x66\xA4\x12\xAA\xF5\xA9\xE6\xA8\xA1\x5C\x92\xA8\x9D\x00\x02\xA9\x14\xA6\x44\x33\x11\xA9\xDB\xA4\xDD\x72\x5A\x56\x1E\x96\x18\x95\xAB\x1C\xFF\x00\xFE\x0E\x3B\x0E\xA4\x00\x5C\xA6\xFA\x0E\x8E\xA6\xC0\xA4\x00\x00\x61\xAA\x3C\x5A\xF3", -"\x94\xAB\x1C\x9B\xA6\xA5\x61\xEE\x1C\x6B\xAA\x3E\x96\xD6\x94\xA1\x7C\xA8\x00\x3C\x8E\xA1\x00\x80\xA6\xD8\xA0\x82\x01\x00\x29\x6F\xAA\x63\xAA\x3C\x06\xB3\x08\x7B\xAA\xFE\x95\x34\x5B\xD2\x0C\x1C\x78\x81\xA9\x90\x52\x74\x00\x1F\xA9\xF4\x57\x0E\x96\xED\x85\x40\xA9\x1B\x3B\xA1\x7C\xA6\x00\x3C\x8E\xAB\x4E\x2F\xA4\x0D\x89\x7E\xAA\xC3\x21\x62\xAA\x35\x96\x71\xAA\x27\x01\x95\xAA\x7B\x68\xEE\x1C\x86\xAA\xFE\x0D\x9A\xAA\x79\x82\xAF\x96\x47\x08\x3B\x0E\xA3\x00\x3C\x8E\x32\x3B\xAA\x81\x0B\x96\x7F\xAA\x4A\x96\x70\xAA\x82\xAA\x27\x01\xAA\xAA\xD4\x96\x6B\x00\xA1\xAA\x72\x36\xD4\x2A\x1F\xA0\xE0\x17\x84\x3A\xA1\x7C\xA1\x00\x3C\x8E\x9C\x00\x6A\xAA\x7D\xAA\x90\x01\xAD\xAA\x7D\x8E\x81\xAA\x86\x01\xB3\x08\xBE\xAA\x85\xAA\x33\xA6\x86\x04\xA8\x3B\xC8\xA5\x60\x81\x60\x27\xA1\x7C\xA7\x00\x3C\x8E\x56\x0E\xDE\xA9\xAC\xAA\x99\xAA\x80\xAA\x9B\xAA\xB0\xAA\x2B\x34\x73\xAA\xAB\x1C\x34\x5B\xFA\x0D\x7B\x46\x88\xAA\x0F\x96\xD8\x58\x10\x03\x3B\x0E\xA9\x00\x3C\x8E\x38\x00\xBF\xAA\x15\x95\xE2\x5F\x6E\xAA\xAE\xAA\xC4\xAA\x6B\x00\xB3\x08\xE6\xAA\xC8\xAA\x3F\x8B\xA9\x4F\x03\x0A\x15\xA9\x90\xAA\xDC\x34\xA1\x7C\x7B\x45\x48\x80\xED\x55\xD3\xAA\xE6\xA9\xEA\xAA\xC3\xAA\xD7\xAA\xC5\xAA\xBA\x01\xDA\xAA\x3C\x06\xB5\xAA\xE1\x4C\xB7\xAA\x35\x9B\x2F\xA9\x46\x31\x92\xAA\x3C\x8E\xE0\x00\x4D\xA9\x5F\xAA\x98\xAA\x86\x01\x8E\xAA\x9C\x96\x9C\xAA\x09\x01\x0C\xAB\xF0\xAA\x0B\x9C\x3B\x25\x55\x45\xD6\xAA\xA4\xAA\x04\x97\xCC\x08\x3B\x0E\x96\x4F\x54\x7D\x74\x2C\xAB\xAA\xFC\xAA\xC2\xAA\x22\xA9\xEC\xAA\xB3\x08\x21\xAB\xB3\xAA\x34\x5B\x10\x0A\xE8\x31\xF3\xAA\x22\x7D\x74\x0A\xCE\xAA\x3B\x0E\xF8\xAA\x24\xA6\x02\x01\xD6\x00\x0D\xAB\xF6\xA4\xE9\xAA\x24\xAB\xDF\xAA\x64\x96\x13\xAB\x06\x01\x35\xAB\x16\xAB\x14\x0E\x87\xAA\xF2\xA6\x07\xAB\x5C\x28\xFF\x07\xA1\x7C\x15\x57\x33\xAB\x01\x01\xBF\x00\x36\xAB\x05\xA5\xE6\x52\xFD\xAA\x25\xAB\xFF\xAA\xED\xAA\x27\x01\x4A\xAB\x3F\xAB\x10\x0E\x41\xAB\x8B\xAA\x8D\x8B\x3E\x3B\xA1\x7C\x3A\xA0\x1B\xA6\x5A\xAA\x84\xA7\xFA\x0D\x4E\xAB\x3A\xAB\x12\xAB\xD8\xAA\x06\x01\x5D\xAB\x45\x96\x04\xAB\x26\x4F\x06\xAB\x5C\x91\x52\x90\xB7\x92\x4A\x88\x25\xA2\x39\x68\x83\x31\x4B\x0B\xBC\x9C\xB6\x92\xD2\x04\x3B\x0E\x9F\x00\x3C\x8E\xAF\x3F\x75\xAA\xB5\xA5\x51\x01\x39\xAB\x42\xAB\x26\xAB\xF0\xA8\x54\xAB\x0C\x0E\x56\xAB\xB8\xAA\xCA\x39\xAA\x31\xA1\x7C\x9E\x00\x3C\x8E\x9A\x57\x79\xAB\x46\xA4\x0F\xAB\x3D\x06\xEB\xAA\x50\xAB\xB3\x08\x8C\x96\xF3\x92\xDB\xAA\x8A\xA9\x68\xAB\xA3\xAA\xC7\x7A\x16\x60\x28\x51\x3C\x02\x3B\x0E\xE6\x3B\x54\x7D\x60\x96\xFB\xAA\xB0\xA4\x8C\xAB\x11\xAB\xFF\x98\xEE\x1C\xB3\x08\x9E\xAB\x66\xAB\x7A\xA8\xAF\x5F\x47\x45\x7F\x32\xFE\xAA\x1B\xAB\xE1\xAA\x8E\x07\x3B\x0E\xE5\xA8\x7B\xA9\x9C\x3E\x9F\xAB\x0E\xAB\xC1\xAA\xD5\xAA\x8E\xAB\x3B\xAB\x63\xAB\xC3\x2E\xFF\x96\x9D\x28\x93\xAB\x6D\xA9\xA2\xAA\x1A\xAB\xB1\x94\xE5\x6C\xD6\x09\x5A\xAB\x3C\x8E\x0F\x04\x02\xA6\x5F\xAB\x7C\xAB\x57\xAB\x7E\xAB\xE1\xA7\xCC\x92\xBE\xAB\x33\x59\x82\xAB\xC3\x92\x6B\xAB\xEF\x98\x6D\xAB\x33\x0B\x9F\x21\x71\xAB\x55\xA0\x50\xA0\xEB\x74\x9C\xA9\xBF\xA6\x95\x98\xAC\x00\xC5\xA6\xF8\xA5\xB7\x56\x53\x02\x79\x9F\x5D\x0F\xC5\x05\x93\xAA\xDC\xAB\x0E\xA9\xA1\x5C\x07\xA7\x59\x91\x88\x3B\x36\x95\x2C\x97\xD7\x94\x82\x91\x82\xA0\x8F\xA2\x4C\xA3\xF4\xA2\x42\xA0\x88\xA3\x27\xA0\x37\xA3\x8B\xA3\x39\xA3\xEA\xA0\x5D\x5C\x38\x99\xBD\x97\x53\xA7\x3F\x86\x11\xA7\xC1\x97\xB4\x25\x47\x6D\x7E\xA0\xD4\xA2\xF6\x49\x48\x96\x5C\x96\x5B\x95\x2D\x9F\x69\x9E\x5E\x87\x0E\xA3\xEC\x9B\x5D\xA2\xBD\x9F\x87\xA3\x80\x95\x6B\xA3\xAF\xA2\x97\xA2\x4D\x9A\xFA\xAB\x53\xA3\x3A\xA3\x2F\x68\x1A\xA7\x15\x9D\x77\xA0\x2A\xA1\x3B\x99\x81\x8A\x3D\x99\x1B\x9D\x69\xA4\x34\x59\x86\x8A\x07\xAC\x09\x01\xED\xAB\xC9\xAA\x1C\x41\xB0\x96\x0B\xA2\x2C\xA3\x7D\xA1\xC1\xA1\x91\xA2\x72\x88\xC3\xA2\x66\xA0\x34\xA3\x1C\xA1\x63\xA2\x7D\x9B\x6D\xA3\x98\xA2\xE3\xA2\xFA\xA2\x8C\xA6\x66\x9C\x6A\xA6\xC1\x9B\x28\xA7\x2C\x8D\x2A\xA7\x3D\x9D\x3B\x93\x43\xA3\x58\x61\xB7\x5D\xE6\xAB\x5E\xAA\x4F\xA7\x30\x0C\x7B\x29\x35\x11\xA2\xAB\x4C\x8F\xA5\xAA\xAE\xAA\x82\xA8\xEB\x6B\x74\x79\x3F\x0A\x2A\xAC\x3D\xA6\x52\xAC\xDA\x95\x0C\xAC\xDA\xA2\x6A\x9E\xF2\xA2\xE8\x9A\x47\xA2\x81\xA1\x49\xA2\x83\xA1\x4B\xA2\xB2\xA2\x4D\xA2\x8D\xA3\xB7\xA2\xFD\x86\x92\x68\xD2\xA0\x61\x93\x3A\xA7\x7C\xA3\x3C", -"\xA7\xA0\xA8\xC0\x86\xD0\xA1\x24\x96\x09\xAC\x5A\xAC\xD9\x96\x2E\xAC\x0D\xAC\xE9\x89\x5F\xAC\xF4\x9D\x86\xA3\x6B\x9F\x75\x8B\x38\xAC\x1A\x9C\xB0\xA2\x1B\x9E\x99\xA2\xE6\x9F\xB3\xA2\xCC\xA0\x1B\xAC\x9D\xA2\xE5\xA7\xAF\x94\x43\xA7\x99\x82\x4C\xAB\xF6\x64\x58\xAC\x76\xAA\xEF\xAB\xDB\x9F\xAB\x9A\x0D\xA3\x7B\xAC\x4E\x9D\x4D\xA3\x25\xA0\xF7\xAB\x44\xA0\xF9\xAB\x66\xAC\x8C\xA3\xB7\x93\x40\xAC\x22\x9C\x42\xAC\x84\x8A\x03\xA9\x1B\x79\xB5\x97\x4C\xAC\xA1\x62\x90\xAC\x9E\x96\x37\x95\x78\xAC\x5D\xAC\x0E\xAC\x96\xAC\x36\x9E\x6A\x9F\x38\x9E\x14\xAC\xC7\xA2\xAF\x9E\x15\xA3\xC9\xA1\x17\xA3\x6B\x7B\x4E\x2B\xFE\xAB\x1C\xA7\x00\xAC\xF5\x8E\xC3\x9D\x09\x9F\xC5\x9D\xB3\x9F\xF1\x99\x57\xAC\xE0\x5A\xF0\x93\xBD\xA1\x0D\x9E\xBF\xA1\x30\xAC\x2E\xA3\x5E\xA1\x4F\x9F\xAB\x50\x2E\x92\xFB\xA0\xDE\xA1\x1B\x9F\xE0\xA1\x1D\x9F\xB5\xAC\xE0\x99\xB1\x9E\xAB\xA1\xFC\xAB\xFD\xA2\x17\x6F\x7A\xA7\x30\x5D\x0E\x9A\x7D\xA7\x91\xA1\x8F\xA7\x38\x98\xBC\xA7\x67\xA7\x08\xA8\xD7\x8E\xA5\x5B\xA9\xAC\x10\x0E\xC6\xAC\xD5\xA1\x72\x9B\xF3\xAB\x85\xA3\x18\xA1\x13\xAC\x6C\x9F\x15\xAC\x8B\x97\x82\xAC\x6C\xA0\x6F\xA3\xFB\x9D\x67\xAC\x9F\xAC\x69\xAC\x5D\x99\xB5\xAB\x6F\xA7\x35\x9A\x12\xA8\x73\x9C\x08\x9E\x5F\xA3\x83\x2E\xC5\xAC\xAB\xAC\x49\x9D\xEC\xAC\x64\xA3\xF4\xAB\xB1\xAC\xC4\xA1\xB3\xAC\xFA\xA1\x29\x9A\xE4\x9E\x44\x9C\x71\xA3\x46\x9C\xFB\xA2\x3B\xA2\xDA\xAC\x6A\x63\x0B\x9A\x4B\x75\x8C\xA7\xDF\xAC\x16\xA0\xE1\xAC\x81\xA7\xCF\x96\x60\x83\x84\xA7\x65\x64\xE8\xAC\x0C\x0E\xEA\xAC\xF1\xAB\xBC\xA0\xED\xAC\x9A\x9F\xF5\xAB\xE4\xA0\x9A\xAC\xE6\xA0\x9C\xAC\xAA\x95\x86\xAC\x05\xA1\x73\xA3\x86\x9B\xA2\xAC\x03\x83\xAF\xA1\x45\x9E\x61\xA7\x81\xA9\x90\xA7\x0F\xA6\xDB\x98\xD7\x8B\x94\xA7\x0C\x9F\x3E\x34\x04\xAD\x92\xAC\x42\xA2\xF0\xA2\x95\xAC\xDC\xA2\xF3\xA2\x0A\xAD\xF8\xA1\x0C\xAD\xE1\xA2\xFB\xA1\x84\xAC\xFD\xA1\xF8\xAC\x4A\x95\x1E\xA6\xA1\xAC\x78\xA7\xDB\x74\xCE\xA1\x4C\x06\x66\x9E\x22\xAD\x08\x0E\x24\xAD\xD9\xA2\x63\xA3\x5C\xA1\xCB\xAC\xC2\xA1\x47\xAD\xF5\xA2\x49\xAD\xF7\xA2\x4B\xAD\x3C\xAC\x2F\x94\x13\xAD\x48\x9C\xE7\xA2\xC8\x8C\xA0\xA7\xE8\xAA\x4B\x65\x57\xAD\x5F\x7D\x05\xAD\xA3\xA0\xFD\x9F\xF7\x9E\xFF\x9F\xC1\xA2\x60\xA1\x34\xAC\x62\xA1\x69\xA3\x14\xA2\x1D\xA1\x16\xA2\xF4\xAC\x18\xA2\xF6\xAC\x0A\xA0\x2F\xAD\x46\xA1\xD9\xAC\x6C\xA2\xAC\x5F\x06\xA2\x28\xAC\x74\xAC\x92\x96\x0A\xAC\x05\x97\xAC\xAC\x5B\xAD\x2D\xA3\xF6\xA0\x4E\x9F\x3A\xA1\x74\x94\x02\xA0\xD0\x9D\x7C\xA2\x34\xA2\x7A\xAD\x36\xA2\x17\xA2\x67\xA1\x52\xA3\x3D\xAC\x31\xAD\xFE\x9B\xB9\xA7\x97\x97\x92\xA3\x46\xA5\x0C\x84\xAF\xA7\xD3\x90\x82\x7A\x08\xAC\x88\xAD\x76\xAC\x55\x97\x70\xAD\xD6\xA1\x5C\xAD\x8E\xAD\x2F\xA3\xCD\xAC\x1F\x84\x94\xA2\x12\xA3\x6C\xA3\x14\xA3\xD6\xAC\x16\xA3\x13\x85\x18\xA3\x19\x5D\x3D\xA2\x86\xAD\x09\x29\x40\xAD\x7C\x97\xF0\xAB\x5A\xAD\x7F\x9F\x08\xAD\xEE\xAC\x92\xA2\x19\xA1\xC4\xA2\x78\xAD\x07\x9D\xFE\xA0\x09\x9D\x17\xAC\x57\x9F\x64\xAD\x2B\x95\x66\xAD\x3F\xAC\xFA\xAC\x5A\x75\xA0\xAD\x2C\xA8\xF7\xA7\xFF\x00\x53\x95\xD8\xA0\xC4\xAC\x75\xAC\x1C\xAB\x77\xAC\x06\xAD\xCA\x9B\x72\xAD\x0E\xA2\xDA\xA1\x10\xA2\xDC\xA1\x3D\xA1\xC5\xA2\x3F\xA1\x0D\xAD\x6F\x9F\xCD\xAD\x88\x95\xCF\xAD\xAF\x9C\x50\xAD\xB1\x9C\x8A\xAC\x56\xA7\x34\x59\xC4\xA7\xD8\xAD\xA6\xAD\xD7\x96\x89\xAD\x5B\xAC\x8B\xAD\xC1\xAD\xAC\xAD\xD8\xA1\x15\x9F\xE1\xAD\x29\x9D\x11\xA2\x3C\x9C\x13\xA2\xC8\xAD\x35\xA2\xFF\xA0\x3A\xAC\x18\xAC\x9D\xAC\xFB\xAB\x4E\xA2\xD1\xAD\x93\x93\x27\x9F\x97\x92\x3E\xA2\x6D\xAD\xDF\x97\x86\x04\x46\x33\x93\xAC\xFE\x9C\x7F\x84\x09\xAD\x7D\xAC\xB2\xAC\xF1\xAC\xB4\xAC\x37\xA2\xB6\xAC\x39\xA2\xB8\xAC\x43\x88\xE3\x98\x34\xA8\x4F\xA5\xB4\x95\xD3\xA7\xF3\xAD\x29\xAC\xBD\xAD\xF6\xAD\xDC\xAD\xAA\xAD\x07\xAD\xFA\xAD\x65\xA3\xAB\xA2\x61\xAC\x11\xA3\x63\xAC\x13\xA3\x65\xAC\x2E\xAD\x4E\xAD\x83\x96\xED\xAD\xEC\x95\x33\xAD\xB3\x97\xD9\xA7\xF7\x9C\xA5\xA2\xA8\xAC\x27\xAE\xA8\xAD\x8C\xA5\xEB\xAC\xDE\xAD\x5B\xA2\xF8\x9E\x11\xAC\xC2\xA2\xC5\xAD\x35\xAC\xE5\xAD\x35\xA3\xF8\xAB\x8A\xA3\x07\xAE\x1A\xAC\x82\xAD\x87\xA2\x4E\xA7\x98\xA9\x2E\x8D\xCD\xAB\x44\x9D\x26\xAE\xDA\xAD\xAE\xAB\x0B\xAC\xF8\xAD\x98\x9F\x27\xAD\x40\xA0\x29\xAD\xDF\xA2\x61\xAD\x50\xA3\x63\xAD\xF9\xA2\x65\xAD\x3E\xAC\xEC\xAD\xA0\xAC\xEE\xAD\x9C\x66\xBB\xA7\x92\x9F\xE7\xA6\x61\xA9\x40\x93\xF4", -"\xAD\x53\x97\x28\xAE\xA9\xAD\xF1\xA1\x92\x9B\xAD\xAC\x7A\xAC\x45\xAD\x60\xAC\x98\xAC\x48\xA2\x2B\xAD\x4A\xA2\x2D\xAD\xC8\x95\x11\xAD\xE7\x9C\xEB\xAD\xE9\x9C\x37\xAE\x5B\x9D\xEF\xAD\x66\x85\xF8\xA5\x3F\x85\xF4\xA7\x31\x71\x3A\xAD\x73\xA1\x34\x59\x08\xA3\xF9\x9F\x73\x65\x0F\xAE\xCA\xA6\x59\xAE\x8A\xAD\xDD\xAD\x0E\x9C\xCB\x9D\xE0\xAD\x2F\xA2\xDB\x9E\x7A\xA2\x86\x9F\x36\xAC\x7D\xA2\x1A\xAE\x98\xAD\xE3\xA1\x68\xA2\x80\xAE\x7E\x9D\x82\xAE\x37\x9D\x68\xAE\x38\xAE\x52\xAD\xEE\x9F\xEE\xA6\xF1\xA7\x41\x92\x08\x0E\x29\x9C\x05\x67\x04\xA8\xA5\xA3\x69\x71\x20\xAD\xE7\xAC\x3F\xAE\xDB\xAD\x73\xAE\xC7\xAC\x51\x9E\xC9\xAC\xF4\xA1\x76\xA2\x10\xAC\x97\x9B\xEE\x9B\x48\xAE\x77\xAD\xAE\xA2\xF3\xAC\xCB\xAD\x42\xA1\xE9\xAD\xAC\x95\xA6\xAE\x80\x9D\xA8\xAE\x85\xAE\x18\xA8\x12\xA0\x3E\x85\x5A\x9A\x0D\xAE\x31\x8A\xF3\x9F\x5D\xA3\x25\x97\x6E\xAE\xB4\x9F\x70\xAE\x7B\x97\x72\xAE\x41\xAE\x25\xAD\x9B\xA1\x5D\xAE\x84\xA0\x2F\xAE\xAD\xA2\xB2\xAD\x16\xAC\x05\xAE\xCC\xAD\x64\xAE\xCE\xAD\x66\xAE\x83\xAE\xCC\xAE\xF0\x91\x39\xAE\x24\x9C\xCF\xAE\x1A\xA8\xE0\xAC\x1C\xA8\x71\x9C\x47\xAC\x08\x9C\xE8\x8D\x02\xAD\x3F\xAD\x58\xAE\x11\xAE\x98\x95\x5B\xAE\x3E\xA0\xDF\xAE\xA6\xA0\xAC\xA2\x68\xA3\xC4\xAE\xB7\x99\x7C\xAD\x99\xAD\x19\xAC\x9B\xAD\x88\xAC\x55\xA3\xAA\xAE\x17\x92\x19\xA8\x0E\xA8\xB6\xA3\x68\x7C\x7B\xA3\x1E\xA8\x55\xA2\x7E\xA3\x2F\xA8\xD2\x96\xD9\xAD\xA7\xAD\xB8\xAE\xDC\xAE\xC0\xAD\x5C\xAE\xC2\xAD\x28\xAD\x5F\xAD\xF6\xAB\x61\xAE\x89\xA3\x63\xAE\x9A\xAD\x65\xAE\x9C\xAD\x68\x9C\x9E\xAD\xAC\xA7\x6B\xAE\x4E\xA0\x95\xA3\xDA\xAB\x97\xA3\x2D\x82\x99\xA3\x99\x7C\x9B\xA3\x3E\xA8\x3E\x7C\x58\xA0\x2E\xA5\x48\x86\x9A\x9C\xEE\xAB\xBE\xAD\x13\xAE\x98\xAE\xFA\x8C\x90\xAD\xA8\x9E\xFF\xAD\x2B\x9D\x94\xAD\x62\xA2\xF2\xAC\x03\xAF\xC6\xAE\x47\x9B\x4C\xAD\xA3\xAE\x80\xAD\xD8\xAC\x09\xAE\xFD\xAB\x1D\xAC\xBF\x9D\x3D\x86\xAA\xA6\xCF\x8E\xF7\x8E\xD1\x8E\x12\xA7\x5D\x78\x14\xA7\xF6\x98\xBB\xAD\x02\x01\x37\xAF\x2B\xAC\xB9\xAA\x2D\xAC\x96\xAE\xF0\x9D\x2C\xAE\x16\xAE\xEF\xAC\x7E\xAC\x61\x8C\x80\xAC\x78\x9D\xE5\xAE\xC7\xAE\xE7\xAE\xEA\xAD\xE9\xAE\xA7\xAE\x11\x9D\x37\x8A\x50\xA7\x0D\xA7\xEF\x9C\xBD\xAC\xF1\x9C\x13\x93\x6C\x86\xF7\x84\x22\xA7\x6B\xA8\x47\xA3\x59\x91\x5A\xAF\x59\xAC\x18\xAF\xBF\xAD\xD9\x9C\x79\xAC\x11\x8A\xBE\xAE\x8F\x9D\x9A\xAE\x84\x9F\x9C\xAE\x03\xA0\x41\xAF\x6A\xA3\xA0\xAE\x04\xAF\xA2\xAE\x83\xA2\xA4\xAE\x9D\x9D\xCA\xAE\x9F\x9D\xEB\xAE\x01\x9E\xED\xAE\xA2\x6D\x5F\x99\x73\xA4\xE0\x5B\x6C\xAE\x0D\x0E\x98\x86\x29\x9F\xF6\x64\x7B\xAF\x91\xAC\x39\xAF\x42\xAD\x0C\xA3\x84\xA3\x1D\xAF\x17\xAE\x0B\xAD\x19\xAE\xE7\xAD\xBF\x8A\x7E\xAD\x6E\xA0\x49\xAF\xE6\xA1\x08\xAF\x74\xA3\x27\xAF\x24\xAC\x6B\xAC\xCB\x8A\x47\x8F\xD4\xA0\xF4\xAE\x45\x65\x3D\xA7\x48\x9F\x38\x66\x9E\xAF\xAA\xAC\x41\xAD\x5C\xAC\x8C\xAD\xCA\xAC\xAD\xAD\xCC\xAC\x3D\xAF\x50\x9F\x3F\xAF\xAA\x9E\xD1\xAC\xFD\xA0\x03\xAE\xCA\xAD\x67\xAF\x46\xAF\xC8\xAE\x81\x96\x6B\xAF\xCB\xAE\x0A\xAE\x61\x76\xED\xA0\x73\xAC\x03\x01\xBB\xAF\xE9\xAC\x6F\xAD\x74\xAE\x6C\x9D\x80\xAF\x39\x8C\x82\xAF\x62\xA0\x10\xA3\xE2\xAE\x31\xAE\xB3\xAD\x33\xAE\x7F\xAE\xAC\xAF\x72\xA3\xAE\xAF\x32\xAD\x0A\xAF\xC2\x97\x4A\xA7\xF6\x9C\x63\x9F\x4B\x65\xD6\xAF\x23\xAD\xD8\xAF\xBA\xAE\x83\xAB\x2F\xAC\xBD\xAE\xAA\xA2\xC0\xA2\x46\xAE\x75\xAD\xC2\xAE\x33\xA3\x4A\xAE\x37\xAC\x43\xAF\x4B\x9A\x45\xAF\xA0\x9B\xAA\xAF\x8C\xA0\x35\xAE\xC4\x96\x84\xAE\xBC\x9D\x93\xA0\xBB\x97\x1E\xAC\xFF\xAB\x78\xA0\x54\xA7\xFA\x97\xE4\xA9\x6C\x9B\xC1\xAC\xD7\xAE\xC3\xAC\x27\x01\xEF\xAF\x58\xAD\xF1\xAF\x42\xAE\x97\xAE\xD8\x9E\x99\xAE\x74\xAD\x31\xA3\x76\xAD\xFB\xAF\xC7\xAD\x54\x9F\xD3\xAC\x41\xA1\xCC\xAF\x69\xAF\xC9\xAE\xCF\xAF\x91\xAF\xD1\xAF\x55\x83\xDC\xAC\x06\x83\x60\xA7\x8D\xA7\x5A\xA3\x92\xA1\xE5\x9D\x11\xAF\xE7\x9D\xE4\xAC\xC6\x9D\xE6\xAC\xAA\x5D\x15\xB0\x6E\xAD\xBD\xAF\xFC\xAE\xF2\xAB\x1C\xAF\x5E\xAE\x1E\xAF\x2A\xAD\x20\xAF\x4C\xAE\x22\xAF\x06\xAF\x24\xAF\xE7\xAF\x9D\xAD\x86\xAE\x35\xA7\xA0\xAB\xA1\x04\x70\xA7\x83\x9A\xCD\x98\x73\xA7\xB5\xAE\x37\xB0\xB7\xAE\x94\xAE\xF7\xAD\x5E\xAF\x20\xA0\x5E\xAC\x78\xAE\x7C\xAC\x62\xAF\x18\xAE\x7F\xAC\xFE\xAF\x45\x9B\x00\xB0\xF6\x9B\xCD\xAF\x0F\x99\x90\xAF\x5D\x9F\x06\xB0\x93\xAF\xE9\xAF\x53\x64\x5E\xA7\x0E\x0D\x7C\xA7\x58\x98\x1B\xA8\x4F\xA1\x64\xA7\x8C", -"\xAE\x66\xA7\x2A\x98\x50\xB0\xA1\x62\x38\xB0\x10\xAE\x2C\xAC\x5A\xAE\x55\xB0\xBC\xAE\xDB\xA2\xDD\xAF\xF6\xA1\x3F\xB0\x60\xAE\xA7\xAF\x4A\xAD\x0E\xAD\x19\xA2\xE5\x9E\x08\xAE\x68\xAC\x68\xAD\x8C\x64\x32\x98\xCB\x2C\xB1\xA1\xD1\xAE\x7F\xA7\x2A\x9E\x49\x9E\xB3\xAE\x8F\x94\xD0\x8E\x7A\x82\x75\xB0\x93\xAE\xFA\xAE\x5D\xAF\x2A\xAE\x43\xAE\xFE\xAE\xBE\xA0\xDF\xAF\x01\xAF\xE3\xAE\xC5\xAE\xCB\xAF\x01\xB0\x47\xAF\x8D\xAF\xE5\xAF\x12\xAD\x27\xB0\x64\xB0\x92\xAF\x7A\x9E\x64\x68\x54\xAD\x25\xAE\x06\x01\x94\xB0\xE0\xAA\x96\xB0\x78\xB0\x98\xB0\x19\xB0\x38\xA1\x3C\xAF\x0F\xA2\xFE\xAD\xE3\xAD\x12\xA2\x88\xAF\x79\xAD\x65\xAF\xE1\x9E\xE3\xAF\xE6\x95\x8E\xAF\x1F\x9E\xA6\xB0\x75\x9F\x87\xB0\xC9\x65\x6A\xAD\xB9\xAF\x73\x65\xAE\xB0\xAD\xAB\xB0\xB0\x95\xAE\xB2\xB0\x5F\xAF\x8D\xAD\xFB\xAD\xF7\xA0\xB6\xB0\xF9\xA0\xC5\xAF\x52\x9F\x06\x9D\x21\xB0\xC9\xAD\xE1\xA1\xA1\xAE\x38\xA2\xF0\x8F\x3A\xA2\x67\xAD\x15\xAD\x0E\x8C\x85\xAD\x9C\xAF\xEE\xAF\x52\xB0\xCB\xB0\x54\xB0\xCD\xB0\x56\xB0\xAE\xAC\x58\xB0\x97\xAC\x5F\xAE\x4E\xA3\x41\xB0\x9B\xAC\x4D\xAE\x34\xAE\x9E\xAC\x4F\xAD\xA8\xB0\xEA\x9E\x48\xB0\xCE\x90\x29\xAF\x05\xA8\x0E\x6C\x24\xA2\x2C\x7E\x3A\x62\x3F\x0A\xC9\xB0\x72\xAC\x7D\xAF\x3A\xAF\x1A\xB0\xB5\xB0\xFD\xAD\xD3\xB0\xB8\xB0\x00\xAE\xBA\xB0\x02\xAE\x96\xAD\x04\xAE\xB4\xAD\x1F\x9F\xD7\xAC\xAD\xAF\x50\xAE\xCB\x77\x66\x88\x5B\x8E\x7A\xAF\xE4\xB0\x77\xB0\xCC\xB0\xD9\xAF\x8C\x9D\xF5\xAF\x31\xAC\x66\xA3\x00\xAF\x05\x99\x02\xAF\xFF\xAF\xA0\xB0\x60\xB0\x25\xB0\xCE\xAF\x25\xAF\x8D\x9C\xB0\xAF\x20\xA2\x21\xAE\x60\xA5\xF5\xAE\x15\x0E\xD7\xAD\x6B\xAD\xFE\xB0\x16\xB1\x5C\xAF\xB1\xB0\x19\xB1\x85\x9E\x44\xAE\x73\xAD\xF8\xAF\x1D\xB0\xFA\xAF\x9D\xAE\xFC\xAF\x9F\xAE\xA8\xAF\xFB\x8D\x02\xB0\x03\xA1\xA4\xB0\x81\xAE\xC2\xB0\xEA\x9F\x29\xB0\xC8\x88\x38\x70\x74\x84\xB0\xA4\x30\xB1\xF9\xAE\x17\xB1\xE6\xB0\x34\xB1\xA4\xA0\x9A\xB0\x9D\xA1\xC0\xAE\x9F\xA1\x3A\xB1\x87\xAF\x9E\xAE\x95\xAD\xBC\xB0\x1E\xA1\x5F\xB0\x85\x9C\xA2\xB0\x70\xA3\x42\xB1\xA5\xAE\x44\xB1\x0E\xA0\x83\xAD\xC9\xA7\x15\x0E\x96\x84\x7C\x9F\xAD\xB0\x31\xB1\x1C\x29\x97\xB0\x4F\xB1\x71\xAD\x36\xB1\x1B\xB0\x38\xB1\x30\xA2\x55\xB1\x93\xAD\x57\xB1\x42\xAF\x8A\xAF\x5B\xB1\x0B\x9D\x40\xB1\xA9\xA1\x5F\xB1\x8F\xAF\x61\xB1\x72\xA0\x46\xB1\x6C\xA7\xE7\xA7\xA1\xA2\x7E\x6A\x24\xAE\x2F\xB1\x14\xB0\x69\xB1\x12\xAE\xA1\xAF\x4A\xA3\xB2\x8C\xF6\xAF\x0F\xA3\x67\xA3\x1F\xB1\x9E\xB0\x44\xAF\x22\xB1\x5C\xB1\x61\xB0\x66\x9B\x63\xB0\xC3\xB0\xDF\xB0\x56\x91\x0A\x89\xAB\x9B\x3E\xAD\x2A\x96\x87\xB1\xFB\xAE\x79\xB0\x0C\xA2\xDF\xAD\x04\xB1\x84\xAF\xDB\xA1\x92\xAD\xDD\xA1\xD6\xB0\xDF\xA1\xD8\xB0\xD4\xAC\x1B\xAE\xB5\xAD\xB7\xAC\xB7\xAD\xB9\xAC\x44\x88\xB9\x82\xE4\xAB\x3C\x0E\x7B\x9F\xE0\x9A\xA9\x0C\x9E\xB1\x6B\xB1\xF2\xAF\x8D\xA2\xF9\xAD\xCF\xB0\x2D\xAE\xF7\xAF\x53\xB1\x5E\xA2\x72\xB1\xA7\xB1\x01\xAE\xD7\xB0\xC9\xAF\xD9\xB0\x8B\xAF\xDB\xB0\xE2\x99\xDD\xB0\xD0\xAD\xC4\xB0\xB3\x9C\x2A\xB1\x6E\xA5\x0F\x7C\xEA\xA7\xA6\xA6\x9D\xAF\xB8\xB1\x33\xB1\xBA\xB1\x62\xA3\xBC\xB1\xC0\xAF\xD0\xB0\x8F\xAD\xD2\xB0\x3B\xA1\x07\xB1\x40\xAF\x74\xB1\x89\xAF\x3E\xB1\x59\x92\x83\xB0\x10\xAD\x7B\xB1\xC1\xB0\x26\xB1\x39\x9D\x67\xB0\xB2\x7B\xAC\xAE\x89\xAE\x05\x9C\xA1\x98\xD5\xA0\xB1\x9F\xA4\x98\xE5\xAC\x51\xA5\xC8\xB0\xD5\xB1\x18\xB1\xD7\xB1\x13\xA1\xBF\xAF\x1B\xB1\x5D\xAD\x32\xAC\x71\x8B\xC2\xB1\xE4\xAD\x20\xB0\xA9\xB1\xC6\xB1\xAB\xB1\xDA\xB0\x1C\xAE\xDC\xB0\x1E\xAE\xA3\x8B\xB1\xB1\x30\xA0\x88\xAE\x8C\xB0\xB0\xAE\x90\x89\x70\xB0\x92\xA7\xFB\x96\xF7\xAE\x9D\xB1\x4C\xB1\x32\xB1\xF8\xB1\x18\xB0\xCE\xB0\xDA\xB1\xBE\xB1\x8D\xB1\x1E\xB1\xFA\x99\x20\xB1\x5E\xB0\x92\xB1\x78\xB1\x5D\xB1\xF7\xAC\xF2\xB0\x36\xAE\xF4\xB0\x41\x9F\xF6\xB0\xAA\x98\x77\xA3\x1A\xAD\x42\x92\x10\xA8\xBE\x8D\xD5\xAE\x9C\x71\x14\xB2\xFF\xB0\xD2\x8A\x40\xAE\x7E\xAF\x2B\xA3\xDB\xAF\x46\x94\x7C\xB0\x46\xA2\x7A\xAE\x62\xAC\x7C\xAE\x64\xAC\x7E\xAE\xBF\xB0\xE7\xB1\x5F\x9E\x46\xB0\x26\xAF\x2A\xB2\xAB\xAE\x37\xA8\xA5\xA3\x87\xA9\xF2\xAE\x5C\xA3\xF1\xB1\x06\xA8\x4E\x97\x73\xB0\xBA\xAF\xF7\xB1\x4E\xB1\xF9\xB1\x7B\xA1\xFB\xB1\x7B\xB0\x8C\xB1\xBF\xAE\x78\xA2\x71\xB1\xF0\xAC\x5C\xB0\x76\xB1\x22\xB2\x99\x9D\x79\xB1\x1A\xA2\x85\xB0\xF9\xAC\xCD\xB1\x05\x8E\x0C\xAF\x28\xA8\x4E\xA9\x8B\x0C\x35\xA0\xFF\xAC\x2C\xB1\x34\x59\x39", -"\xA0\x4E\xA8\x74\xB0\x53\xB2\x29\xAE\x6C\xB1\xAB\xAD\xBD\xB1\x61\xAF\xC4\xAD\x5D\xB2\x64\xAF\x5D\xB0\x9E\x9B\x77\xB1\x61\xB2\x24\xB2\x7F\xAD\x04\xB0\x17\x97\x65\xB0\xA9\xB0\xF7\x9A\xA4\x8E\x7A\x8E\x49\xB2\x28\x9F\xC4\x92\x92\x8F\xF2\x8E\xEA\x98\x53\xA0\xEC\x98\xD9\xAB\xBD\x9C\xA9\x60\x34\xAF\x45\xA6\x3C\xAE\x3F\x0A\x2E\x5A\x5B\xAF\x6A\xB1\xD6\xB1\x19\xB2\xE8\xB0\x77\xAE\x3B\xB2\xDD\xA2\xEC\xB0\x99\xAC\xEE\xB0\x2C\xAD\xF0\xB0\xE4\xAF\x82\xB2\x2C\x9B\x84\xB2\xBF\x4A\xBB\xAC\xDE\x9D\x97\xA0\x10\xA7\x18\x99\x54\xAF\x45\x86\xEE\x92\x06\xAC\xE2\xB0\x97\xB2\x73\xB2\xB9\xAE\x9C\xB2\x7A\xB0\x57\xB0\x9F\xB2\x46\xAD\xA5\xAF\x48\xAD\x80\xB0\x62\xAD\x82\xB0\x62\xB2\x84\xB0\x4F\xAE\x4B\xAF\x32\x5E\xAB\xB2\x0E\xA7\x72\xAF\x98\xA0\x74\xAF\x03\xAC\x29\xA7\x9C\xA0\x26\xAC\x42\x99\x6E\xAF\xAA\x5D\x98\xB2\x7C\xAF\x53\xB0\x74\xB2\x55\xB2\xF2\xA1\x57\xB2\xBA\xB2\x59\xB2\x83\xAF\x1C\xB0\x5C\xB2\x63\xAF\x3E\x8D\x59\xB1\x7B\xAD\x7E\xB2\xB5\x9D\x24\xB1\x62\xB0\x7D\xB1\xCE\xA2\x63\xB1\x1D\x8F\x44\xAC\xBB\x9E\x99\x04\x2C\xA7\x6F\xAC\x6B\x67\x49\xAC\x27\x01\xE7\xAB\x11\xA5\xDA\x5A\xA8\x44\x5C\x29\x6E\x32\x10\x33\x50\x29\xB8\xAB\x00\xB1\xD5\xB2\x1C\x78\x54\xAC\x67\xB1\xF4\x1B\xB6\xB2\x19\xAF\x7F\xAF\x76\xAE\x81\xAF\xDB\xB2\xDE\xAF\x8E\xB1\x1F\xB2\x90\xB1\x21\xB1\x0D\xB1\xC9\xA2\x0F\xB1\xE6\xAF\x11\xB1\xE8\xA1\x28\xB1\x2E\x6E\x36\xA7\xC1\xA8\xBA\x86\xD3\xA0\x85\x99\xEF\xB2\x40\x63\x71\xAC\x35\xB2\x64\x9F\x3F\x1B\x02\xB3\x37\xB2\x97\x89\xA1\xB1\x6E\xB1\xA3\xB1\xDD\xB2\x9B\xAE\x32\xA3\x3B\xB1\x02\xB2\xD2\xAC\xAA\xB1\x23\xB0\xA1\xB0\x94\xB1\xDA\x9B\x96\xB1\x45\xB1\x66\xB2\x63\x9E\x99\xA9\xAA\x5D\x66\x9E\xD3\xB2\x9F\xAF\xDB\xAE\x21\xB3\x1D\x9A\x23\xB3\x51\xB1\x5C\xA2\xC0\xB1\x12\xAC\xDF\xB2\x5C\x8D\x7C\xB2\xF4\x9B\xE3\xB2\x20\xA1\x23\xAF\xE8\xAE\xE9\xB1\x82\x9D\xEB\xB1\x43\xAC\x3F\xAA\xCC\x99\xA6\xAC\xAE\x8E\xD2\xB2\x20\xB3\x02\xB1\xB4\xB0\x63\x91\xC3\xAF\xCE\xAC\xFA\xA0\x58\x88\x64\xA1\xE3\xB1\x27\x95\x80\xB2\xAB\xAF\xA7\xB2\x20\x9C\xA9\xB2\x50\x2B\xC7\xB2\x71\xAF\x0C\xB0\xE3\x93\x0E\xB0\xE5\x93\xA1\x5C\x58\xA7\x62\x9A\xB5\xB2\x16\xB2\x9A\xB2\x18\xB2\xDD\xAE\x5A\xA2\x3E\xB3\x45\xAE\x40\xB3\x47\xAE\x7A\xB2\xE0\xB2\x44\xB3\x83\x9C\x46\xB3\xB1\xA2\xF1\xB0\x64\xB2\xF3\xB0\x7F\xB1\x31\x98\x2B\xB0\x0D\x9A\x2D\xB0\x2D\xB2\x2F\xB0\x1C\xAD\x6F\xB0\x71\xA7\x52\xA1\x0E\x98\x84\xA7\xA5\x6A\x38\xB3\xBC\xAF\xA0\xAF\xBE\xAF\xD9\xB1\xFC\xB1\xC1\xAF\x5E\xAD\xBD\xB2\x60\xAD\xBF\xB2\x62\xAE\xC1\xB2\x5E\xB3\x03\xB0\x26\xB2\x05\xB0\x28\xB2\x5F\x9F\x4C\xB3\xA3\xAC\x4A\xB0\xFD\xAC\x71\xA1\x11\xB2\x1F\xA8\xA1\x5C\x09\x9E\x6C\xB3\x5D\x22\x53\xB3\x89\xB1\x83\xA3\x8B\xB1\x1C\xB1\x2E\xAE\x3D\xB2\x30\xAE\x3F\xB2\x32\xAE\x41\xB2\x7F\x96\x43\xB2\xCC\x9E\xC5\xB2\xE9\xB2\xDB\xAC\xAF\xA1\x18\xAD\xB2\xA1\x8E\xB0\x31\xB2\x1F\xAD\xF4\xB1\xE5\x9B\xAB\xB3\x6E\xB3\x88\xB1\x91\xB3\x1B\xAF\x60\xAF\xC3\xAD\x33\xAC\x00\xB2\xB9\xB0\xE1\xB1\xBB\xB0\x79\xB3\xB3\x9D\x7B\xB3\x83\xAC\x2F\xB3\x64\x9C\x31\xB3\x62\xB1\x51\xAE\x49\xA1\x35\xAD\x8B\xA7\xBF\xB3\x0F\x94\x88\xB3\x4D\xB0\x98\x9C\x86\x9A\xD4\xAF\x31\x96\xF5\xAD\x36\xB2\x54\xB3\x0D\xA2\x25\xB3\x70\xB1\x27\xB3\x1E\xB0\x29\xB3\x20\xB2\x7D\xB2\x60\xB2\xE4\xB2\x48\xB3\x6A\xAF\x4A\xB3\x07\x9F\xA1\xB3\x3C\x1A\xEA\x87\xA3\x9A\x3D\xAE\x38\x66\x8E\xB3\xD7\xAF\x3A\xB0\xA0\xB1\xF4\xAF\x58\xB2\xB0\xB3\xBF\xB1\x5B\xB2\xEB\xB3\xCD\xB3\x08\xB1\xCF\xB3\x0A\xB1\xE1\xB2\x97\xAD\xC8\xB1\x07\xB2\xCA\xB1\x09\xB2\x58\x94\x0B\xB2\xEA\xA1\x15\x0E\x38\x7A\xAC\xB0\x01\xB3\xC6\xB3\x9F\xB1\xE7\xB0\xB9\xB2\xE9\xB0\xBB\xB2\x79\xAE\xA1\xB2\x7B\xAE\xA3\xB2\x7D\xAE\xA5\xB2\x42\xB2\x60\xB3\x59\x9D\x62\xB3\xA0\xB3\x13\xB3\x0C\x68\xE1\xB0\x59\x91\xFC\xB3\xF0\xAF\xFE\xB3\x19\xB4\x3D\xB3\x3D\xB0\xE0\xAE\xB2\xB3\xE0\xAF\xB4\xB3\xE2\xAF\xB6\xB3\x31\x99\xC0\xB0\x44\xB2\x11\xB3\x89\xAC\x6A\xAE\xD3\xAD\xAD\xAE\x9B\x6C\xFB\xB0\x26\xA2\x1F\xB3\x17\xB4\xB9\xB1\xB8\xB2\x30\xB4\xCA\xB3\xA4\xAF\x5A\xB0\xA6\xAF\x5E\xB2\x5C\xB3\xA8\x95\x9B\xB3\x41\xB1\x24\xB4\xBA\x9D\x26\xB4\x67\x2B\xBA\xAD\xB4\xB2\xC5\xB3\x17\xAF\xFD\xB2\x03\xB3\x38\xB2\x05\xB3\xDC\xAF\x07\xB3\x7D\xB0\x96\xB3\x1F\xAF\x98\xB3\x21\xAF\x9A\xB3\xD5\xB3\xAD\x9C\xD7\xB3\x7E\xB1\x33\xB3\x5C\xA7\x81\xB1\x35\xA8\x6E\xB2\x52\x95\xF0\x9E\x9C", -"\xB1\x2C\xB4\x16\xB0\x2E\xB4\x75\xB2\x2B\xAE\x77\xB2\xCB\xB3\xFF\xB1\x77\xB3\x43\xB3\x5F\xB2\x0D\xB3\x0F\xAD\xCA\xA2\x39\xB4\xB9\xB3\x86\xB0\x98\xB1\x0B\xAE\x48\xB1\xAB\x8C\x4A\xB1\x57\xB4\xE5\xB3\x01\xB1\xAD\xB3\x94\xAC\xA3\xAF\x3E\xB0\x60\xB4\x40\xB0\x62\xB4\x42\xB0\x64\xB4\xE5\xB2\x95\xB1\xE7\xB2\xB8\xAD\x1E\xA2\x28\xB4\x7C\xA0\xCA\xA7\xCA\x88\x56\xAE\x06\x01\x71\xB4\x39\xB0\x90\xB3\x3B\xB0\x26\xAD\x31\xB4\xFF\xAE\xE1\xAE\x9D\xB0\xE1\xAF\xE4\xAE\x7C\xB4\xE5\xB1\x7E\xB4\xB8\xB3\x6A\xA2\x3B\xB4\x09\xAF\x98\xB4\xF7\xB0\x3E\xB4\xDF\x5F\xED\x8C\xB6\x95\x70\xB4\xAC\xB3\xC8\xB3\xFD\xAE\xA3\xB4\x9B\xB0\x09\xB3\xF0\x9B\xEE\xB3\x45\xB3\xF0\xB3\x47\xB3\x44\xB0\x49\xB3\x45\xB2\x27\xB1\x47\xB2\xB1\xB2\x34\x59\x23\xA6\x13\x9D\x7A\x82\x9E\xB4\x76\xB0\x17\xB2\x54\xB2\x46\xB4\x00\xB4\xDA\xB2\x02\xB4\x1D\xB2\xA5\xB4\x8F\xB1\xA7\xB4\x9F\xB0\xA9\xB4\xC2\xB2\xE6\xB1\x51\xB4\x21\x9E\x08\xA1\x23\x9E\xDE\xA7\x08\xA9\x8A\x98\xC6\x9B\x12\x9D\x6D\xB3\x58\xB4\xE5\xB0\xD6\xB2\xD0\xB4\x39\xB2\x2C\xA2\x5E\xB4\x3C\xB2\x1E\xB4\x3E\xB2\x20\xB4\x40\xB2\x22\xB4\xB7\xB3\xDC\xB4\x78\x9E\x53\xB4\xDF\xB4\x33\xA8\x6B\xB4\x22\xAE\x00\xA8\xD2\xB1\xAA\xB3\x43\xB4\xE6\xB4\x4D\xB1\xE8\xB4\x71\xB3\x74\xA2\xF1\xA2\xEA\xB0\xB0\xAC\x8E\xB4\x7F\xB0\x4C\xB4\x81\xB0\xE8\xAD\x93\xB4\x30\xB3\x95\xB4\xB0\xB1\xB2\x75\xF0\xA7\xEE\xB1\x03\xA3\x06\x9C\x4E\xB2\xE0\xA3\x8F\xAE\x62\xA9\x73\x65\xCC\xB4\x95\xB0\x00\xB5\xB7\xB2\x02\xB5\xA8\xA2\x04\xB5\x1C\xB4\x59\xB0\x79\xB2\x42\xB3\xE4\x8E\xD1\xB3\x19\x9E\x0C\xB4\xAD\xB1\x1D\xAE\xAF\xB1\x1F\xAE\xAF\x89\x0D\xB2\xF0\x9F\x57\xAF\x2E\xA5\x03\xA8\xC1\xB3\x24\xA3\x35\xB0\xF5\xB1\xF6\x64\x1A\xB5\xAF\xB0\x1C\xB5\x5A\xB4\x22\xB3\xD1\xB4\x1B\xB4\xEC\xB4\xA0\xB2\x7E\xB0\xED\xB0\x90\xB4\xEF\xB0\x43\xB0\x4E\xAE\x07\xAF\xAE\xB4\xAF\xAF\xC6\xB4\x3E\x92\x89\xB2\xD4\xAD\x70\xA4\xF4\x90\xD2\x6C\xD4\xAE\x15\xB5\xB7\x89\x14\xB2\x38\xB5\xCA\xB0\x3A\xB5\x3B\xB3\x03\x9B\x47\xB4\x76\xB4\x49\xB4\x23\xB5\x5B\xB0\x7B\xB2\x7B\xB4\xBE\xB0\xF3\xB4\x9D\xB3\x83\xB2\x9F\xB3\x09\xA1\xFE\xA2\x2F\x66\x65\x92\x8C\xB0\x5A\x61\xF3\xAE\x6D\xB2\xF2\xB1\x50\xB2\xC3\xB3\x30\x9C\x87\xB4\x71\xAE\xE6\xB3\x8A\xB4\x14\xAE\x9F\x84\x5C\xB5\xCC\xB3\x79\xB4\x25\xB5\x60\xB5\x37\xB4\x79\x99\x7F\xB4\xAD\xB4\xBA\xB3\xD9\xB3\xFC\xA7\x3F\x69\xE3\x85\x4D\xB5\x50\xA5\x8E\xB2\x6B\xB2\x2B\xA8\x3F\xB4\x7D\xA3\x38\xA0\x7F\xA3\x7E\xA7\xE5\xB4\x88\xB4\x59\xB4\x58\xB5\xC0\x9E\x5A\xB5\x1B\xB2\x78\xB2\x79\xB5\x24\xB5\x5B\x8F\x26\xB5\x8F\x9E\x45\xB5\x7D\xB3\xC4\xB2\x81\xB4\xBB\xB3\xF8\xB4\xE9\xA2\xE8\xA7\x5F\x62\x4C\xB5\xB5\x92\x4D\x92\x8C\xB2\x27\x98\x88\xB5\x5C\x09\x9A\xA3\xA8\x74\x9C\xA3\x56\xA8\x35\xB3\x06\x01\xAD\x00\xE8\xAB\x53\xAE\x64\x5C\x3D\x5B\xB4\xB5\xB0\xB5\xFF\xA8\x3B\x96\x2C\x96\xF6\x64\xA6\xAB\x91\xB5\xE7\xB4\x61\xAB\xA3\xA8\xA1\x7E\xAF\x00\xB8\xB5\x70\xA6\xF4\xA6\x95\x5C\xC5\xB5\x55\xA8\x95\x98\xB1\x00\xE0\xAB\x47\xA6\x27\x3C\xE1\x34\xA3\x96\x9E\x4D\x88\x4D\xC1\xB5\xFF\xA5\xEB\xAB\x9C\xB4\x03\x01\x98\x96\x55\xA9\x88\xA9\x1B\x3B\xE7\xB3\xA2\xB1\x56\xB3\xDD\xB1\x91\xAD\x86\xAF\x73\xB1\x3C\xB1\x58\xB1\x9B\xB5\x6E\x9F\xA9\xAF\x4F\xB4\x7A\xB1\xF4\xB4\x95\x9E\x65\xB5\xBA\xAC\x4D\xAF\x3F\xA6\x36\x70\x96\xA6\xAB\xA6\x02\xAC\x9A\xA0\xDD\x9A\x5E\x8A\x50\xB3\x36\xB0\xA1\x62\xD9\xB5\xDE\x5A\xA4\x96\x1D\xB5\x1A\xAF\xB9\xB4\x48\xB4\x8D\xB4\x4A\xB4\xBE\xB2\x09\xB5\xC0\xB2\x0B\xB5\xF2\xB3\x26\xB0\xF4\xB3\x6E\xA6\xEF\xB5\x67\x86\x52\xA7\x66\xB3\xBF\x97\xCB\xB2\xF5\xB5\x4D\xB3\x25\xAC\xA4\x73\xD0\xB2\xA7\xAC\x38\x66\xFB\xB5\xFD\x96\xF5\xAA\x95\x41\xDD\xB5\x24\xB3\xDF\xB5\x05\xB1\xDE\xB1\xA6\xB1\x01\xB2\xBE\xB4\x7A\xB3\xC0\xB4\x7C\xB3\xA6\xB2\x63\xB5\xA8\xB2\xED\xB5\x11\xB4\x76\xAF\xEB\xB2\x6E\xAB\x3E\x9D\x97\xAF\x05\xA3\xBE\x73\xC5\x05\x79\xAA\x3C\xAA\x02\xA3\x1A\x09\x3C\x07\x8E\x4F\x08\x58\xAC\xAB\x6F\x9C\xF0\xA6\x1B\x3B\xAA\x8A\x3F\x93\xD7\xB5\x02\x01\x19\xB6\x62\x6E\x91\x4F\x1C\xB6\x75\xB5\x3B\xAF\x1F\xB6\xA4\xB1\xE2\xAD\x22\xB6\xCE\xB3\xE4\xB5\x75\xB1\x4D\xB4\xE4\x95\xE9\xB5\x63\xB2\x9F\xB5\x65\xB2\x82\xB4\x5D\x9D\xD8\x97\x6C\xAC\x39\xA7\xB5\xAF\x6D\xB5\x71\x6C\xB8\xAF\x7A\x82\x44\xB6\xDB\x5A\xFD\xB5\x3B\xB5\x3C\xB3\x3D\xB5\x9E\xB2\x3F\xB5\xBC\xB2\x03\xB6\x97\xB3\x05\xB6\x99\xB3\x07\xB6\xC2\xB4\xF3", -"\xB3\xC4\xB4\xEA\xB1\xB0\xB4\x53\xAD\x8C\xAC\x15\xB4\x43\xB6\x71\xB2\x16\xA9\xDC\xB5\x48\xB6\x03\xB1\x4A\xB6\x26\xB3\x85\xAF\x28\xB3\x56\xB1\x4F\xB6\xE2\xB1\x0A\xB5\xE8\xB5\x65\xB4\xB8\x9D\x0E\xB5\x2C\xB5\xF6\x8F\xA4\xAC\x11\x0E\x4B\xA7\x58\xAF\x01\x01\x61\xB6\x6A\xA9\xAE\x4F\x7A\xB6\xB8\xB4\x3C\xB0\x01\xB6\x32\xB4\xEE\xB4\xB3\xB3\xF0\xB4\xB5\xB3\xF2\xB4\x38\xB4\xAC\xB4\x85\xA2\x48\xB5\x54\x8A\x0C\xB6\x1F\x87\x0E\xB6\x20\xAC\x1B\x75\xBF\xAC\x13\xA7\x3B\xA5\x70\xB5\x2F\x9E\x27\x01\x90\xB6\x4B\xB2\x52\x90\x18\xB4\x74\xB4\x99\xB0\xBA\xB4\x52\xB1\x04\xB4\x7F\xB6\xEC\xB3\x81\xB6\x2A\xB3\xC8\xAF\x0B\xB1\xCA\xAF\xD9\xB4\x53\xB6\xC3\xB2\x47\xB5\x81\xB5\x3B\xA3\xAE\xA1\xCF\xAE\xD4\x8F\x6A\xB5\xC1\x79\x33\xB5\x65\x8B\x54\xA1\xFA\xB5\x78\xB6\x1B\xB6\x6B\x4D\x1D\xB6\x73\xB3\x37\xB1\x75\xB3\xF9\xAF\x7A\xB5\x9A\xB5\x7C\xB5\x9C\xB6\x7E\xB5\x9E\xB6\xCC\xA2\x67\xB4\xE8\xB2\x82\xB5\x6A\xAC\xDA\x7F\x85\x8B\x4C\xB0\x51\xA1\x3B\xAD\x4F\xB0\xAA\xB6\xD8\x9F\xAC\xB6\xCC\xB6\x3E\xB6\xDC\x34\xCF\xB6\xB3\xB6\x3F\xB3\xB5\xB6\xA5\xB1\xE2\xB5\xC3\xB1\x09\xB1\xC5\xB1\xBB\xB6\xC7\xB1\xD3\xB3\xF5\xAC\xBE\xB6\xDB\xB4\x29\xB6\x61\xB3\x2B\xB6\x7F\x83\x82\xB3\x5D\x71\x27\x9E\x6C\xB0\xF1\xAE\x6E\xB0\x31\xB0\xA6\xB3\x12\xAF\x60\x9A\x14\xB2\xAD\xB6\xD2\x96\x7F\x4D\x93\xB6\xA1\xB4\xDE\xAE\xEC\xB6\x74\xB3\xEE\xB6\x4C\xB6\xF0\xB6\x23\xB6\x0B\xB3\x21\xB2\xBD\xB6\x86\xB6\xFD\x9D\x0A\xB6\xCB\x9F\x4A\xB5\x68\xB0\x8A\xA7\x33\x98\x46\x90\x2F\xB5\xEF\xA6\x87\xB3\x04\xB7\x89\xB3\xE3\xB6\xFF\x00\xE2\xB3\x1E\xB3\x06\x01\x09\xB7\x80\xA3\xE9\xB6\x47\xB6\x94\xB6\xA2\xB4\x96\xB6\xA4\xB4\x33\xB4\xA6\xB4\x35\xB4\xA8\xB4\x61\xB5\x9D\xB6\xEB\xB5\xA5\x9F\x80\xB3\xF1\x8A\xA2\x9A\x65\x9E\x9C\xB1\x2B\xB7\x6D\xB0\x17\x86\xB0\xB6\xD7\xB2\x75\xAE\xD9\xB2\x3E\xB5\xD3\xB4\x5A\xB2\x9C\xB0\xD6\xB4\x35\xB7\xD8\xB4\x37\xB7\xD8\xB6\x39\xB7\xC9\x9F\x3B\xB7\xC1\x9A\xF2\x64\xEC\xA1\x3F\xB7\xE8\xB6\xDB\xB5\xEA\xB6\x7B\xB6\x55\xB3\x72\x94\x57\xB3\xB0\xAD\xC6\xAD\x24\xB6\xD2\xB3\x26\xB6\xD4\xB3\x0C\xB5\xD6\xB3\x88\xB6\x0A\xB2\xBE\x75\x2A\xB4\x42\xB6\x8F\xB6\x57\xB7\x0B\xB7\x59\xB7\x2F\xB7\x0E\xB7\x31\xB7\xBB\xB4\x1E\xB2\xBD\xB4\x15\xB7\xEF\xB3\x17\xB7\x64\xB7\x66\xB4\x66\xB7\x10\xB4\x20\xAE\xF9\xB4\x2B\xB1\xA2\xAD\xC5\x6F\x6D\xAB\xFD\x9A\xE7\xB6\xDA\xB5\x6D\xB7\x2E\xB7\x0D\xB7\x72\xB3\x0F\xB7\xD1\xB6\x11\xB7\xB7\xB0\x4D\xB6\x07\xB4\x82\xB6\xD0\xB3\xD6\xB6\x9D\xB5\x28\xB6\x7E\xB3\x27\xB2\xA3\x5D\x55\xB4\x59\x91\x40\xB7\x02\xB7\x42\xB7\x45\xB4\x1E\xB5\xBD\xA2\x44\xAD\x21\xB5\xEB\xB0\x41\xB5\xA2\xB2\x43\xB5\xA4\xB2\x92\xB7\x23\xB4\xFA\xB6\x25\xB4\xFC\xB6\x63\x98\xB2\xB4\x4E\xB0\xD6\xAD\x6F\xB4\x86\xB4\x09\x01\x99\xB7\x1B\xAD\x85\xB7\xCE\xB6\x5A\xB7\xE8\xB3\x7D\xB6\xEA\xB3\xB6\xB6\x06\xB4\xE0\xB1\x8F\xB7\x09\xB4\xE6\xB5\x07\xA0\x92\xB4\x08\xB6\x25\xB1\x71\xB6\x4B\xB3\x73\xB6\x55\xAF\xC3\xA7\x49\xB1\x5F\xAA\x3F\x0A\xB2\xB7\x8E\xA7\xB4\xB7\x9F\x4D\x64\xB6\x59\xB5\x66\xB6\x06\xB3\x48\xB7\xDC\xB2\xB9\xB7\xEF\xB6\x80\xB6\xE3\xB5\xB9\xB6\xEA\x78\x27\xB5\xF6\xB6\x7D\xAD\xF8\xB6\xAB\xB4\x50\xB7\x2C\xA0\xAA\xB7\x73\x98\x0C\xAE\xA7\xB5\x8E\xB6\x97\x96\x6C\xB7\xAF\xB6\x9C\xB7\xFF\xB5\x95\xB6\x5B\xB5\x02\xB6\x5D\xB5\x4B\xB4\x5F\xB5\x51\xB6\xEE\x9A\xDF\xB7\x0F\xB3\xA5\xB0\x1A\xB7\xEC\x9F\xF6\xB3\x1E\x98\xAC\xB7\xEB\x6E\x84\xB1\xC7\xB0\xF6\x64\xCC\xB7\x86\xB3\xCE\xB7\xD3\xB5\xD0\xB7\x94\xB5\xD2\xB7\x5D\xB4\xD4\xB7\x08\xB3\x73\xB7\x15\x9E\x60\xB7\xDC\xB7\x62\xB7\xF7\xB6\x18\xB7\x3D\x9F\xF8\xB7\x4A\xA0\x1C\xB7\xF6\xB5\x9A\xB1\xDA\xA7\x56\xB7\x84\xB7\xEA\xB7\x9B\xB2\x9D\xB7\x43\xAD\x8C\xB4\x97\xB6\xA2\xB7\x1F\xB4\xA4\xB7\x21\xB4\xA6\xB7\x62\xB5\x94\xB7\x9E\xB3\x52\xB7\x4A\xA6\xF1\x5A\xC5\x9B\x55\xAE\xE4\xB4\x83\xB7\xFC\xB5\xD2\xB5\x83\x4D\x01\xB5\xEC\xB7\x30\xB7\xEE\xB7\x20\xB8\x07\xB5\x42\xB5\x6C\xB6\x63\xB4\x6E\xB6\x46\xB5\x45\xB0\xA0\xB6\x47\xB0\x3D\xB4\xCF\xB1\xD1\xA7\x2E\xA7\x6D\xAE\xB0\xA5\x6F\xAE\xB1\xB7\xE9\xB7\x9B\xB7\x1C\xB8\x34\xB8\x70\xB7\x36\xB8\x32\xB7\x98\xB6\x34\xB4\x9A\xB6\x36\xB4\xD7\xB6\xBA\x9A\x7F\xB5\x9F\xB6\xC1\xB6\x12\xB3\x15\xB8\x62\x7C\xED\xB1\x8C\xB0\x8A\xAE\xB2\xAE\xA1\xAD\x4F\xB2\x8E\xAE\x08\xB7\x49\xB8\x91\x90\x04\xB8\x93\xB5\xD6\x9E\x07\xB8\x3A\xB2\x68\xB6\x1D\xB4\x21\xB8\xEF\xB4\x23\xB8\xF1", -"\xB4\x25\xB8\x38\xB7\xA8\xB7\x52\xB4\xE3\xB7\xEF\xA7\x5C\xB8\x21\xB7\x35\xAF\x99\x63\x32\xB5\x52\xB5\xD6\x9F\xE5\xB6\x47\xA3\xCB\xB7\x64\xB8\x8A\xAA\xEB\xB6\x71\xB7\xB4\xB6\x4A\xB7\x0A\xB3\xD7\xB4\x91\xB1\x77\xB7\xC2\xB7\xE6\xB2\x13\xB8\x7F\x99\xED\xAE\x3E\xA3\x37\xAD\x40\xA3\x51\xB5\xB6\xAF\x61\xB8\x14\xA8\x51\xB2\x73\x65\x01\xB8\xF4\xAA\x2D\xB7\xB5\xB7\x6F\xB7\x88\xB7\x84\xB8\xED\xB6\x86\xB8\x74\xB7\x88\xB8\x0C\xB3\x4E\xB7\x55\xB8\xD9\xB6\xCB\xB1\x67\xAE\x29\xB8\x28\x71\x2C\xB2\x01\xB7\xB3\xB7\x3A\x0A\xEA\x20\x94\xB8\xE0\xA3\x21\xA8\x47\xB8\x2A\xB7\x81\xB8\x0C\xB7\xFF\xB3\xEA\xB4\xA9\xA2\x09\xB8\x5F\xB4\x6A\xB6\x61\xB4\x3A\xB8\x91\xB4\x3C\xB8\x9E\xB5\xC0\xB6\xA0\xB5\xDD\xB6\x26\xA8\x68\xB2\xF9\xB0\x1F\xA9\x96\x9C\x25\xB7\x8D\xAE\x13\xAF\x0E\x8E\x87\xA9\x80\xB8\x1A\xB8\x4A\xB8\x70\xB3\x4C\xB8\x9E\xB8\x4E\xB8\x72\xB7\xD5\xB4\x87\xB8\x4C\xB7\x89\xB8\xA5\xB8\xF8\x9B\x56\xB8\xDA\xB6\x7A\xB7\xF5\x9A\x2C\xB6\x30\x9B\x7D\xB7\xD0\xB1\x29\x8A\xC7\xB8\xF1\x9F\x8B\xB2\xF6\x90\x8C\xAA\x3C\xA8\x9A\x7C\x32\xAF\x8D\xB2\xFE\x86\xC5\x05\x87\xAB\xFE\xA8\xE7\xA8\xBB\xB5\x84\x77\xA1\x62\x91\xAB\xBE\x5D\x95\x36\x50\xAC\x95\xA8\xA1\x7E\x50\x34\x65\x73\xB7\x77\x01\x5C\xC9\xB5\xCE\xB2\x6A\xB3\x1D\x85\xE2\x7D\x1E\x80\x7E\x0C\x34\xA5\x62\x23\x2D\x75\x0E\xB2\x5E\x0D\x44\xA5\x22\x97\xC8\xB8\x49\x77\x4B\xA8\x4E\x38\x02\xB9\x14\xB9\x40\x99\x11\x0F\xA2\x58\xB6\x77\x50\xA6\x20\x4B\x3C\x8E\x66\x5E\x1D\xA6\xD9\xB6\x32\x00\x8A\xAB\x96\x69\xA1\x7C\x5B\x54\xCF\x77\x24\x3B\xF2\x7C\x42\x7E\x18\x00\x11\x5F\x9E\xA6\x15\x09\xA0\xA6\x2D\x67\xA2\xA6\x09\x01\xB5\x00\x68\xA6\xB7\xAD\xB2\xA6\x06\x06\x50\x6A\xAD\xA8\x5C\xAA\xCE\x5D\x4F\xA6\x0D\x0E\x3B\x0E\x21\x4B\x25\xB9\xF4\x66\x1E\xB9\x11\x5F\x21\xB9\xCB\x69\x23\xB9\x3C\x8E\x29\xB9\x3E\x8E\x77\x26\x2A\xB9\x29\xA6\x2D\xB9\xF8\x6D\x2F\xB9\x06\x01\x31\xB9\x91\x7E\x33\xB9\x72\x8E\xB3\xA6\xCD\x69\x15\xB9\x40\x99\x4E\x80\x3E\xA7\xB5\x7D\xFC\xA8\xEC\xA8\xFA\x02\x1F\xA9\x85\x7F\x52\xA8\xBA\x80\x76\xA4\xAB\xA9\xE1\xA5\xB9\xA6\xDF\xA6\x5B\xB9\x24\x02\x62\x76\xB7\xA9\xEC\xA9\x01\x01\x64\xB9\xEC\xA6\x66\xB9\x2D\x74\x85\xA4\x6C\x0D\x6C\x80\x36\xAA\x06\xA5\x5F\xB9\xCF\x2C\xB7\x5D\xC5\xA9\xB8\xA9\x6C\xB9\x15\x78\x6E\xB9\x6A\x74\x70\xA5\xBE\x4A\x95\xA4\x1E\xAA\xE7\xA9\x20\xAA\xE9\xA9\xE1\xA3\x2F\xAA\x4B\x65\x7A\xB9\x24\x78\x7C\xB9\x7F\x74\x6E\x81\xD8\xA9\x81\xB9\xDE\xA3\x21\xAA\x00\x74\x86\xB9\x3F\x0A\x88\xB9\x6F\xA8\x8A\xB9\xE2\xA9\x98\x80\x8C\xA5\x60\xB9\xA4\xA9\x8B\xAB\x05\xAA\xD0\xA9\xDE\xA5\x11\x0E\xEB\xA9\x0B\xA4\x09\x01\x94\xB9\x94\xAB\xC3\xAB\x72\xA9\x01\xA5\x30\x5D\x71\x81\xBF\xA9\x6C\xAA\x8F\xB9\x84\xB9\x0A\xA4\x4C\xA7\xA3\xB9\x5A\xB9\x71\xA9\xD1\x09\xC4\x76\x02\xAA\xE6\x7F\x8E\xB9\xF7\xA9\x08\xA5\x14\xA4\x92\xB9\x27\x01\xA4\xB9\xBF\xAB\xB3\xB9\xFA\x02\x93\xA4\xF4\x5F\x89\x81\xB8\xB9\xC2\xA4\x90\xB9\x4F\x74\xBC\xB9\xB1\xB9\xF3\xA8\x96\xB9\x1B\xA4\x1C\xAA\xE6\x76\xC5\xB9\xE8\xA9\x9F\xB9\x63\x74\xC9\xB9\x06\x01\xBE\xB9\xD0\xAB\xCC\xB9\x70\xB9\x30\x5D\x35\xA4\x48\xA8\xF6\xA9\xC6\xB9\x84\xB9\xD4\xA5\xA2\xB9\xD5\xB9\xB2\xB9\x8E\xA9\xA7\xB9\xD9\xB9\xFD\x63\x4F\x7F\xDC\xB9\xE6\xA9\xAD\xB9\xD2\xB9\x4A\xA4\xB6\x81\x63\xB9\xE3\xB9\x26\x4F\xE6\x6C\x8B\xB6\x40\xAA\x09\x01\x2E\x80\xB2\xAB\x87\xB9\xF0\xB9\xA6\xB9\xED\xA8\x32\x80\x57\xA4\xF4\xB2\x93\xB9\xF9\xB9\x5C\xA9\xD6\x09\xE8\x6C\x5E\xA4\x99\x96\xD6\xB9\x40\xAB\x8A\xB9\xF0\xA7\x93\x76\xF1\x0F\x54\xAA\x52\xAA\x05\xA7\x3C\x0E\x57\xB9\x3D\x98\xAA\x5D\xBE\xA6\x62\xB6\x48\x5A\x3A\xA9\x6A\xB2\x30\xB6\x53\xA5\xB0\x73\xDA\xA9\x53\xA8\xAA\xA9\x89\x7F\x08\x7E\xE1\xA5\x13\xBA\x91\xB6\x29\xA9\x3A\xA9\xC2\xA3\x1D\xA5\xE2\xA7\x4B\x65\x21\xBA\xAE\xB6\x66\xA9\xB0\x40\x62\xA5\xFD\x63\x72\xB9\xAB\xB9\x8F\xA5\x9D\xB9\x75\xB9\x9E\x7D\x69\xA5\x4C\xAA\xFC\xA3\x38\x66\x29\xBA\x0A\xB7\xDC\x27\xBF\x30\xC2\xB9\xF8\x60\x80\xB9\x73\xB9\xF7\xA4\x9E\xB9\x39\xAA\x11\x0E\x9A\xA4\xE1\xB9\xA2\x7D\x81\xB8\x0B\x25\x7D\xA5\x72\x36\x92\x76\xD0\xB9\x83\xB9\xEC\xB9\x90\x80\xFA\xA9\x96\xAA\xF6\x64\x39\xBA\x2C\xB7\x88\xA9\x49\xBA\x8A\xA5\x98\xB9\x0F\xB0\xA2\xA4\x9C\xB9\x1F\xAA\xA9\xA5\x4F\xBA\xB5\xA4\xD4\xB9\x47\xBA\xD1\xB8\x82\xA9\x21\xA9\x7E\x09\xA8\xB9\x70\x81\xF4\xA9\xA9\xA9\xDD\xB9\xD1\xB9\x43\xBA\xC4\xA4\x51\xBA\xA9", -"\xA4\x53\xBA\x48\xBA\x3C\xBA\x0E\xA4\xB6\xB9\x5A\xBA\xB4\xA5\x5C\xBA\x82\xB9\x5E\xBA\x6D\xBA\xAB\xA5\xC3\xA3\x27\xBA\x3F\x0A\x54\xBA\x41\xB7\x64\xBA\x1E\x58\x84\x09\xCD\xB9\x88\x81\xF3\x7F\x4D\xBA\x7A\xBA\x83\xA5\x14\xAA\x6F\xBA\x69\xA7\x28\xBA\x72\xBA\x2C\xBA\x85\xBA\x60\x5F\xC1\xA5\x30\xBA\x7A\xAB\x79\xBA\x38\xAA\x8A\xBA\xDF\x80\x61\xBA\x02\x01\x80\xBA\x9A\xB7\x82\xBA\x1B\x78\x84\xBA\xE6\xB9\x4B\x69\xDB\xB9\x56\xAA\xA3\xB3\x96\xBA\xB7\xA5\x5F\xBA\x2E\xAA\x8C\xBA\xE1\xA4\x38\xBA\x8F\xBA\x83\xA9\xA0\xBA\xC9\xA4\xAD\x72\xD9\xA5\x6C\x00\x2C\xAA\xFA\x80\x3C\x0E\xFC\x80\x20\xBA\xAD\xBA\x65\xBA\x7D\xAB\x4E\xB3\xE5\xA5\x41\xAA\xBC\xB5\x8E\xBA\x63\xBA\x17\xA9\xFF\xA5\x46\xAA\xFE\xB9\xA5\x7D\xC1\xBA\x64\xA9\xF3\xB8\xEB\x6C\x9A\xBA\x01\x01\x9C\xBA\xAE\xB8\x2B\xBA\xAE\xBA\x74\x00\x09\xBA\xF6\x80\x0B\xBA\x26\xA5\x55\xAA\x6A\xBA\xE1\xB4\xA1\x5C\x31\x0B\x70\x3F\x55\xB9\xB5\xA6\xB7\x5D\xDD\x42\x93\x54\x42\xAA\xDB\x5A\xC2\x5A\x0B\x4B\x2F\x8A\xE8\xB8\xD3\xAB\x51\xA0\x8A\x8F\x35\x8A\xF8\xB5\x8D\x8F\xAA\x5D\xF9\xA6\x61\xA3\xFA\xB1\x92\xB3\x01\xB4\xFD\xB1\x1D\xB1\xD8\xB8\xA2\xB8\xDA\xB8\xA4\xB8\x7D\xB5\xA6\xB8\xE1\xB7\x90\xA0\x2B\xB6\x64\xB3\x29\xA1\x5B\x77\x59\x8A\x59\x78\x44\x6D\x69\xB3\x5D\x0F\x1C\x99\xE7\xB7\xEE\xBA\xFB\x9F\x1D\xB8\xA2\xAF\xAF\xB3\xF3\xBA\xB1\xB3\x50\xB8\x34\xB7\x52\xB8\x36\xB7\xF9\xBA\xDD\xB8\xA7\xB8\x0F\xB4\xE1\xB8\xFE\xBA\xA4\xB6\x00\xBB\x21\xAC\x19\x9D\x23\xAC\x2D\xB6\x03\xB9\xDD\x74\x16\xB6\x51\xB3\xA1\x62\x08\xBB\xB6\x9F\xB6\xB7\xDE\xB5\x5C\xB7\xE0\xB5\x3E\xAF\xDF\xB1\xC6\xAF\xA8\xB1\x2B\xB3\x04\xB2\x2D\xB3\x23\xB1\x8B\xB8\x94\xB4\x8D\xB8\x8A\xA1\xFA\xB7\x3F\x99\xB0\xA7\x45\xAC\xEE\xB2\x32\xB0\x94\x98\x42\x9D\xB9\xA0\x6A\xB7\x00\x00\x24\xBB\x5D\xA0\x9D\xB8\x03\xB5\x9F\xB7\x6B\xB8\x22\xB5\x98\xB5\x5E\xB5\x78\xB3\x91\xB7\xC1\xB7\x6F\xB6\x09\xB6\xC4\xB7\xF5\xB3\xC6\xB7\x2A\x82\xD1\xA0\xB3\xAF\x84\x99\x3C\x63\x3B\xBB\x64\x93\x1C\xB3\x51\xAC\x29\xB7\x03\x01\x41\xBB\xA4\xB5\xCB\x7A\xD4\xB8\x44\xBB\x1F\xB8\x4F\xB8\x6D\xB8\x99\xB6\x6F\xB8\x9B\xB6\x71\xB8\x4F\xB7\x73\xB8\xDD\xB4\xF6\xB4\xE2\xB8\x3C\x68\xD3\xAF\x5B\xBB\x02\x01\x5D\xBB\x82\xB1\xD8\xA2\x04\xB3\x46\xB7\x67\xB6\xBB\xB8\xED\xB4\x64\xBB\x51\xB8\x66\xBB\x53\xB8\x68\xBB\xFA\xBA\x6A\xBB\xF5\xB4\x75\xB8\x23\x9C\xC4\x99\x84\xA7\x8A\x73\x29\x0B\xD1\x4B\x32\xB6\x0E\xBA\xFF\x86\xEB\xBA\x07\x0E\xA5\x6A\x72\xBB\x6C\xB4\x2A\xA3\x3C\xB5\xB9\xB8\x20\xB5\x46\xBB\xA1\xB7\x38\xB8\xA3\xB7\xBF\xB8\x44\xB5\x4C\xBB\x3D\xB8\xC3\xB4\x3F\xB8\xDF\x93\xA2\xB6\x56\x8A\x19\xBB\x62\x65\x79\xA6\x68\xB3\x2D\xA1\x3C\x0E\x6B\xB3\x98\xA1\x71\xBB\x82\xA3\x8B\xB4\x0C\xBB\x94\xB3\xFE\xB1\x57\x8F\xBB\xB7\x2C\xBB\xC4\xB1\x03\xB2\xF4\xB6\x05\xB2\x28\xB5\x0E\xB1\xB6\xAD\x9E\x8A\x96\xB4\x41\xAC\x36\xBB\x17\xAD\x4A\x87\x0B\xB9\x78\xB8\xD6\x8F\xB1\xB8\x92\x6E\x8C\xB3\xA5\x5B\x8F\xBB\xFA\xB4\x5F\xBB\x75\xBB\xF1\xBA\xD2\xB4\x0D\xBB\x03\xB4\xA1\xB8\x0C\xB8\x75\xB7\xBF\xB4\x8A\xB8\x4D\xBB\xC3\xB7\x9E\xBB\xC5\xB4\xB1\xA0\x37\xAB\xDD\x72\x86\x8B\x57\xBB\x95\xA1\xFF\x00\xA9\xB3\xA9\xBB\x01\x01\xC7\xBB\x7E\xB7\xC9\xBB\x5B\xB4\x76\xBB\xD3\xB7\xCD\xBB\xD4\xB4\x33\xB7\x4B\xB7\x11\xBB\x4D\xB7\x13\xBB\x33\x9D\x15\xBB\x2B\xB5\x67\xB7\x1F\x98\xFE\xB6\x26\x9E\x6B\xB0\xA9\x8E\x81\xBA\x39\xAD\xCB\xB8\x71\xB0\xA1\x5C\x97\xA1\x09\xA3\x06\x01\xE2\xBB\xE5\xB8\x91\xBB\x65\xB6\x93\xBB\x45\xBB\x78\xBB\x40\xB5\x97\xBB\x22\xB8\x99\xBB\xA5\xB7\x9B\xBB\xC2\xB8\x3E\xB8\x58\xB8\x3C\xB4\xD0\x76\x1E\xB7\x8A\xB0\x34\x98\x3F\xA3\x8F\xAA\x30\xB0\x2B\x9E\xF9\xB0\x23\x6F\x90\x94\xE3\xB3\xE1\xBB\xAB\xBB\x76\xB5\xDC\x8A\xD7\xB8\xEA\xBB\xD9\xB8\xEC\xBB\xDB\xB8\xEE\xBB\x55\x9D\xF0\xBB\xBA\xBB\x0F\xB5\x99\xA7\x11\x0E\xF5\x8B\x55\xAD\x9C\xB1\x00\xBC\x43\xB8\x34\xA1\xE9\xB4\x5C\xB4\x6A\xB8\x06\xBC\x69\xB6\xF0\xB7\x04\xB6\xF2\xB7\x84\xB6\x3F\xB1\xF5\xB7\xB9\xBB\x15\x90\xBB\xBB\x51\xAD\x51\xBB\x4D\x7B\xC6\xB0\x7A\x82\x30\xBC\x88\xA5\x83\x9E\xB1\xB6\xB3\xB0\xB7\xB7\x28\xBB\x20\xB6\xE1\xB5\xD8\xB7\xF1\xB6\x08\xB4\xF3\xB6\x0A\xB4\x0C\xB1\xDC\xB8\xEF\xBB\xFB\xBA\x6B\xA1\x82\xBB\xED\xAE\xA6\xA7\x00\xB3\xAA\xBB\xEF\xBA\x56\xB2\xCB\xBB\x47\xB7\xE8\xBB\x49\xB7\xBC\xB4\xD0\xBB\xA3\xB8\x16\xB7\x55\xBC\x27\xBC\x57\xBC\x01\xA2\x59\xBC\x36\xBB\xAD\xA7\x02\x71\x41", -"\xB4\x4A\x65\x3F\x0A\x46\xBC\xEA\xA5\x48\xBC\x44\xB7\xDA\xAF\x34\xBC\xEB\xB4\x36\xBC\x6C\xB8\x08\xBC\x6E\xB8\x0A\xBC\x24\xB8\x0C\xBC\x93\xB7\x55\xB6\x7F\xB3\x3C\xA2\x13\xB1\xA2\x8E\x56\xB4\x09\x01\x73\xBC\xF0\xA5\xD6\x8A\x49\xBC\x1A\xB2\x93\xB3\xDB\xB1\xAE\xAD\x5D\xB7\xCF\xAC\x5A\xB3\xC6\xA2\xF3\xB7\xD6\x9B\x3D\xBC\xAE\xB1\x29\xBC\x89\xB6\xB1\x95\x6E\xBC\x8A\xB3\x3C\x0E\x2E\xB1\xFF\xB7\x4B\x65\x89\xBC\x0A\xA2\xB8\xB8\x78\xBC\xBA\xB8\x62\xBC\xD5\xB7\xD2\xB6\x39\xB1\xD4\xB6\x34\x90\x53\xBC\xBC\xB6\x68\xBC\x74\x9E\x28\xBC\x3F\xBC\x2A\xBC\xE4\xB7\x84\xB4\x36\x91\xB0\xB7\xFF\xBB\x1E\xBC\x49\xB6\x4C\xBC\x4B\xB6\x8C\xB7\x13\xB7\x4E\xB6\xDA\xB7\xAB\x85\x30\xBB\x93\xB1\x78\xB7\x87\xB6\x34\xBB\x19\xA3\x64\xB1\x34\x59\x66\xB1\xB6\xB1\x40\xBB\xB9\xBC\x7C\xB6\xBB\xBC\x7E\xB6\xD7\xB7\xB7\xB6\xD9\xB7\x0D\xB8\x9C\xB5\x80\xBC\xA7\xB7\x27\xB8\x64\xB5\xAA\xB8\x90\x9F\x42\xB8\x47\xBC\x2D\x7B\xB4\xB4\x9C\x80\x66\x9E\xA2\xBC\x29\xA2\x43\xBB\x1F\xB5\x05\xBC\xA7\xBC\x0A\xB8\xF5\xBA\x65\xBC\xF7\xBA\x67\xBC\x26\xBC\xB0\xBC\x6A\xBC\xB6\xA2\x69\xB4\x97\x91\x15\x0E\xC9\xB4\x90\x04\xE1\xBC\xCD\xBC\x5B\xB7\x38\x9C\x29\xBB\xC4\xAF\x2B\xBB\xD5\xB0\xB3\xBB\x2E\xBB\xB5\xBB\xC2\xBC\x23\xB2\x11\xB8\xA3\x9F\xE0\xB8\x22\x9E\x6D\xBB\x49\xB0\xD8\xBA\x5D\x0F\xB5\xB1\x5A\xA0\x1D\xBC\x5E\xBC\xD8\xB2\x60\xBC\x77\xBB\xE7\xBC\xBC\xB8\x38\xBC\x6B\xB6\x3A\xBC\x06\xB6\x85\xB6\xC4\xBC\x19\xB7\x4F\xBB\xA7\x9F\x5A\xB8\x88\x9B\xA3\xB5\x73\xBB\xFB\xB4\x45\xB8\x7E\xA9\xED\xBA\xF7\xBC\x4B\xBC\xF9\xBC\x4D\xBC\x2A\xBB\x8D\xB7\xBC\xB7\xC0\xBC\x2D\x93\x66\xA1\x8C\xAF\x5E\xB1\xEF\xBC\xFC\xA2\xA1\xB5\xC6\xB8\x98\xA5\x26\x9C\x69\xB2\xCB\x96\x13\xB5\xF0\xB1\xC3\xBB\x45\x85\x7E\xB8\x28\x87\xF6\x64\xE2\xBC\x41\xA2\xE4\xBC\x9E\xB7\x62\xBB\x21\xBC\x0F\xBB\xEB\xBB\x7C\xBB\x12\xBB\x54\xB8\x14\xBB\x31\xBD\x14\xAD\x33\xBD\x4B\x9C\x2E\xB5\x15\xBC\x30\xB5\xAF\x98\xD3\x9F\xC8\xB6\x70\x85\x14\xB2\x40\xBD\xF9\xB0\x83\xB8\xD6\xB8\x85\xB8\x64\xBC\xA1\xA1\xD4\xBC\xE7\xB5\x3C\xBC\x03\xBD\xC7\x9F\x05\xBD\xDE\xB4\x07\xBD\x89\x70\x90\xB8\x2E\xB0\x4F\xB5\xD3\xAE\x11\xA8\x1A\xB3\x00\xAD\x3C\x0E\xF8\x9F\x18\xB5\x3F\xBD\x25\xBD\x27\xBB\x27\xBD\xBC\xBC\x06\xB1\x2A\xBD\xB2\xBB\xF2\xB6\xB4\xBB\xAD\xBC\xF5\xB6\x0F\xB8\xDE\xB7\x62\xBD\x8E\xA0\x64\xBD\x6C\xBB\x10\xB5\xAC\xB8\xF7\xBB\x9D\xBA\x1D\xA8\x05\xB7\x33\xB0\x20\xA8\x57\xBD\x73\xBD\x1E\xB6\xCF\xBC\xD6\xB7\x12\xB7\x4F\xBC\x14\xB7\x66\xBC\x76\xB7\xAF\xBC\x3B\x9F\x4C\xBD\xDE\xB0\x4E\xBD\x90\x8D\x68\xB5\x85\xB5\x8B\xB5\xBB\x8D\x0E\xAF\x95\x9C\x10\xAF\x89\xBD\x1A\xA0\x8D\xB5\x14\xAF\x55\xBA\x72\xBC\x8D\xBD\xD0\xB6\x6F\xB1\xA9\xBC\xDE\xB2\x49\xBB\x7A\xB4\x95\xBC\xE3\x9C\x97\xBC\x2A\xB5\x99\xBC\xF2\xBB\x79\x98\xF8\xB0\xA5\xA3\x4F\xA0\x92\xB2\xD4\xAB\x98\xA3\x8F\xB2\xAD\xB5\xCB\x8E\xAF\xB5\x4C\xA6\xFF\x6D\xC5\x99\xE0\x5A\x9C\x28\x91\x2C\x7B\x1E\x89\xBB\x0E\x78\x27\x01\xDB\xA6\x84\x98\x4B\x65\xFE\xA6\x25\xBB\x17\x05\xD6\x85\x20\x55\xEE\x59\x0F\x8C\x23\x78\xC0\x00\xA6\x7D\x03\x01\xCE\xBD\x42\xBB\x28\x02\xD1\xBD\x65\x43\x06\x55\x3F\x0A\xD8\x00\x75\x5B\xE9\x59\xE4\x51\x07\x55\x03\x0A\x42\x74\x81\x08\xA0\xA4\x71\x44\x63\x61\x0D\x0C\xD5\x3E\xA8\x40\xA7\x59\x3B\x37\x71\x44\x85\xB9\x09\x01\xC1\x00\x99\x96\xD9\xBD\x5E\xBB\x45\x6D\x15\x00\xDC\xBD\xA4\x5A\x86\x3E\xDF\xBD\xE1\xBD\x04\x55\xD0\x51\x53\x3B\x1E\x41\xE7\x5A\xFE\x86\x73\x6F\xBE\x00\xF4\xBD\x64\x83\xF8\xBD\xFE\x91\xC9\x61\xFB\xBD\x8D\x26\xFD\xBD\x56\x3F\xB9\xAA\xE3\xBD\xE9\x0C\x40\x99\xD8\x7D\xF0\x90\x4D\xAA\x3F\x0A\xF5\xBD\x20\xBD\x85\x78\x08\xBE\xD6\x90\xFA\xBD\xDE\xBD\x4F\x01\xD6\x85\x9D\x5A\x12\x55\xDC\x0C\x47\x72\x11\x0E\xFA\x95\xEA\x60\x24\xAA\xCD\xBD\x07\xBE\xF9\xBD\x2D\x72\x0B\xBE\x09\x01\xE0\xBD\xDF\x5A\xE2\xBD\xD1\x51\x19\x41\x22\xBE\x62\x76\x29\x96\x53\xAB\x6A\xB9\x00\x00\x17\xBE\x90\xBB\x19\xBE\x2A\xBE\x0A\xBE\x1D\xBE\x2D\xBE\x0D\xBE\x06\x01\xC9\x51\x00\xBE\x9F\x43\x02\xBE\x40\x99\x04\x7E\x01\x01\xD6\xBD\x0A\x5C\xD8\xBD\x29\xBE\x09\xBE\xA6\x74\x2C\xBE\x06\x01\x2E\xBE\xDE\x5A\x30\xBE\x43\xBE\xFA\x54\x68\x00\xE6\xBD\x31\x06\xF1\x0A\x22\x0B\xE9\xBD\xBD\x9D\xEC\xBD\xA1\x40\x3D\x01\x42\x07\xC9\x3E\x0A\x04\xF0\xBD\xE5\x5A\xB1\x4A\xA2\x64\x06\xBE\xEE\x87\x1A\xBE\x6F\x92\x1C\xBE\x29\x55\x89\x05\xFC\xBD\x2F\xBE\xFE", -"\xBD\xE3\x51\x31\xBE\xB3\x43\x14\x0A\xE5\x5A\x63\x7D\xC3\x00\x67\xBE\xBE\x9E\x69\xBE\x01\x72\xDD\xBD\x6C\xBE\x07\x44\x0C\xBE\x6F\xBE\x0E\xBE\xFF\xBD\x59\x3B\x44\xBE\xB7\x5D\x86\x7D\xC4\x00\x78\xBE\xCF\xBD\xDB\xBD\x4D\xBE\x6F\x8F\x4F\xBE\x03\x01\x51\xBE\xDD\x5A\x53\xBE\x83\xBE\x55\xBE\x0F\x8C\xDE\x58\xBD\x00\x88\xBE\xDA\xBD\x5A\x02\x3C\xBE\x4E\xBE\x3E\xBE\x50\xBE\x40\xBE\x77\x26\xDD\x51\x72\xBE\xDA\x51\xDC\x0C\xFF\x00\xDE\x58\xC7\x00\x97\xBE\xF6\xBD\xFD\x5A\x9A\xBE\x8C\xBE\x9C\xBE\x00\x02\x1F\xBE\x70\xBE\xF5\x54\xB7\x5D\xBF\x7C\x00\x00\xA3\x3C\x37\xBE\x39\xBE\xC8\xBB\xF7\xBD\xAA\xBE\x3B\x91\x8D\xBE\x02\x01\x8F\xBE\xDC\x5A\x91\xBE\x5F\x3B\xEB\x59\x74\xBE\x0D\x0E\xDF\x49\xC6\x00\xBB\xA8\xA1\x62\xB6\xBE\xE3\xBB\xB8\xBE\x8B\xBE\xBA\xBE\x06\x55\x57\xBE\x79\x01\xEB\x72\x05\x12\x47\x55\xDA\x07\x94\xB5\xB9\x5A\x3E\x01\xEE\x5A\xB6\x5A\xF6\x58\xE5\x01\xE5\x5A\x62\x56\xC5\xBE\x59\xA7\x38\x66\xC8\xBE\x01\xBC\x3B\xBE\xCB\xBE\xDD\x8F\x86\x3E\xCE\xBE\x64\x00\x40\x0D\x0C\x59\xF4\x37\x72\x07\xD2\xBE\x6E\x08\xD4\xBE\xE1\x37\xD7\xBE\xE7\x33\xEF\xBE\xB7\x5D\xFE\x7C\x06\x01\xF5\x4A\xB5\xBE\x4C\xBE\x1B\xBE\x2B\xBE\xAC\xBE\xBC\xBE\x9E\xBE\x42\x39\xA0\xBE\x54\xBE\xC1\xBE\x11\x01\x40\x99\x08\x77\xC5\x00\xA7\xBE\x18\xBE\xCA\xBE\xF9\xBE\x3D\xBE\x7D\xBE\x24\x02\x6E\xBE\x52\xBE\x70\xBE\xEA\x59\x32\xBE\x2D\xAB\x57\xAA\x5D\x0F\x3E\x62\x59\xA8\xA0\xBC\x93\x02\x69\x2D\x1C\x1E\xB6\x74\xD0\x81\x64\xA8\x49\xA5\x4B\xA5\x0F\xB6\x4B\x65\x68\xA8\xC8\xA9\x5D\xB9\xA7\xA9\x1B\xBA\x9A\xB9\xB5\x72\xB7\x5D\x98\xA8\x7F\xA4\x06\xB9\x36\xA1\x99\x7D\x69\x26\xCA\xA8\x62\x2D\x93\x76\x94\x7D\xCF\x26\x44\x73\x77\xA4\xE1\xBA\x21\xBF\x31\x80\x25\xBA\xED\x7E\x7E\xBA\x32\x38\x31\xAA\x00\xAA\x99\xA5\xBD\xA9\xCB\xA3\x94\xBA\x78\xBA\xEB\xB9\x7B\xBA\xA1\x5C\x78\xB9\x37\xBE\x22\xBF\xE1\xA9\x91\xBA\xF4\x5F\x3F\xBA\x43\xBF\xCD\xA4\xDC\xA5\xA7\xBA\x46\xBF\xD2\xA9\xAA\xBA\xC4\x73\x4A\xBF\xEF\xA9\x28\xAA\xF1\xA4\xB7\x09\x8D\xB9\x40\xBA\x74\xA5\x52\xBF\x98\xBA\xA7\xA4\x55\xBF\xA5\x5B\x57\xBF\xFE\xA9\x97\xB9\xB1\x5E\x69\xBA\x1C\xBA\x6B\xBA\x4E\xBA\x53\xBF\xEA\xA9\xCB\xBA\x00\x00\x64\xBF\x0C\xAA\x2D\xBA\x4B\x69\xAA\xB9\xE9\xB9\xA5\xBA\x45\xBF\x60\xBF\x6E\xBA\x36\xBA\x8E\xA4\x38\x66\x70\xBF\x18\xAA\xB5\xB9\xCE\x8B\x14\x7F\x5D\xBF\x81\xA5\x42\xBA\x78\xBF\x7C\xBA\x26\xBA\x27\xBE\x3F\x0A\x7D\xBF\x27\xAA\x3D\xBA\x37\x61\xC4\xB9\x82\xBF\x51\xBF\x06\xAA\x7F\xA8\x2A\x7F\x62\xBF\xAA\x5D\x8A\xBF\xB4\x80\x59\xBF\x61\xA9\xBF\xA5\x92\xBA\xE7\xA4\x8F\xBF\x32\xBA\xA8\xA9\x1C\xBA\xB7\x5D\xED\xA4\x49\xBF\x3E\xBF\x0E\xAA\x40\xBF\xF3\xA4\xE8\x80\x88\xBA\x97\xBA\x13\xAA\x3B\xA4\x6E\xBF\x96\xBF\xC5\x80\x98\xBF\xB0\xA5\xF2\xA4\x34\xAA\xB3\xBA\xA9\xBF\x5F\xBF\xAB\xBF\x11\x0E\xB7\xBA\x47\xAA\x3D\xBF\x37\x80\x8A\xBB\xE6\xA5\xC5\xBA\x09\x01\xAE\xBF\xB2\x74\x16\xA5\x1D\x7E\xBA\xBF\xC0\xBF\x49\xAA\xB3\xA8\xCA\x9C\xAD\xBF\x13\x81\xB0\xBA\x73\x7F\x16\x81\x3F\x8B\x0C\xBA\x4B\x80\x37\xB9\x45\xB8\x16\xBF\x58\x0E\xAC\xAE\x93\x76\x14\xB6\x20\xBB\x9F\xA9\x58\xB9\x02\x01\x84\xA8\xF7\x7D\x77\xBA\x95\x9F\x04\x4C\x5E\xB9\x9F\xBF\x27\xBF\x76\xA8\xA1\x5C\x2A\xBF\xF2\x95\xC6\xA8\xD2\x0B\x2E\xBF\x92\x09\x82\x7D\xA4\x38\x32\xBF\x87\x0C\x7C\x7D\x4B\x80\x36\xBF\xBF\xBA\x3F\x0A\xDD\xBF\xA3\xA9\x42\x6B\x7D\xA4\x6E\xBF\xF6\xBF\xB0\xA9\xFF\x7F\x50\xAA\x96\x80\x3B\x81\x87\xA4\x9D\xBF\x5D\xBA\xAA\xBF\x92\xBF\x35\xBA\x7D\xBA\x88\xBF\x70\x7D\xA4\xBF\x1A\xAA\xF1\x7F\xCC\xA9\x7A\x80\x02\xC0\xA6\xBA\x91\xBF\xDB\xA9\x7B\x72\xFA\xBF\x0A\xC0\x29\xAA\xBA\x0B\x5C\xBF\x4F\xBF\xA4\xA2\x90\xBF\x84\xBF\xB7\xBF\x91\xB9\x94\xBF\xA1\x62\xFB\xBF\xC8\xA9\x66\xBF\x60\x81\x68\xBF\xE4\xBF\xEA\xB9\xB9\xB9\xC7\xB9\xAC\x76\x14\xC0\xD5\x80\xFE\xBF\xB2\xBF\xA9\xB9\x25\xC0\xD7\x76\x27\xC0\xDE\xB9\xA8\xBA\xFF\x00\xAF\xB9\x95\xA5\x03\x01\x21\xC0\x4B\xBF\x6E\x81\xA5\xA5\x75\xBF\xFC\xAC\x10\xC0\x1C\xC0\x05\xC0\xCB\x76\x2B\xC0\x0C\x81\x8C\xBF\x19\x06\x8E\xBF\x19\xC0\x66\xA5\x40\xC0\x12\xC0\x0D\x0E\x24\xA4\x37\xBE\x39\xC0\x58\xBF\x45\xC0\xBB\x0C\xCF\xB9\x0F\xC0\x77\xBF\x1D\xC0\x34\x59\xA2\xBF\x46\xBA\xDC\xBF\x15\xC0\x5A\xBF\xA6\xBF\x11\x80\xA8\xBF\x54\xC0\x28\xC0\xDF\xB9\x43\xC0\xDE\xBF\xF0\xA9\x32\xAA\xCC\xA5\xB2\xBA\xB4\xBA\x8C\x81\xB6\xBA\x0A\xA5\xF4\xBF\x09\xC0\xBC\xBF\xBC", -"\xBA\x5D\x0F\xBE\xBF\x37\xBF\xF5\xBF\x44\xAA\xEC\xA5\xFD\xB9\x73\xC0\x6E\xC0\x0C\x81\x03\xBA\xD3\xBF\x99\x96\x4F\xC0\xFE\xA9\xD2\xBA\x28\xA5\xD4\xBA\xFB\xA5\xE3\xBF\x31\xC0\x16\xB9\xC3\x4A\x9E\x7C\xA0\x7C\x3B\x0E\x96\x96\x54\x7D\xA8\x7C\x02\x7D\x09\x01\x8D\xC0\x64\xC0\x69\x7E\x35\xBD\x5F\x7E\x51\x98\xDA\x44\x72\x58\xAF\x7C\x3B\x0E\xB1\x7C\x1B\xA6\xB8\x7C\x8E\xC0\xB3\x7C\x93\x7E\x07\xB9\xBC\x7C\x5A\x45\xBE\x7C\x3C\x8E\xEE\xAE\x7E\x89\xB3\x08\xA5\xC0\xC8\xA9\xBB\x7C\x9E\x7E\x71\x51\xE7\x08\xCD\x7C\x3C\x8E\xD1\x7C\x47\xB9\x02\x01\xB0\xC0\x0C\x81\xAA\xC0\xD0\xAE\xE1\x59\xB0\x38\xDC\x7C\x3C\x8E\xE4\x7C\x9D\xC0\x03\x01\xBB\xC0\x91\xC0\xE7\x7C\x15\x38\xE9\x7C\x92\x74\xA3\x03\x59\x3E\x41\x7D\x89\x06\xEE\x7C\x3C\x8E\xF5\x7C\xB1\xC0\x0D\x77\x9F\xC0\x25\x9C\x94\xC0\x43\x98\x5C\xA9\xF1\x0B\x43\x7D\xF7\xB9\x01\x7D\xA4\x7D\x2E\x73\x68\x7E\x42\xA9\x6D\x56\x5A\xA9\x76\x8F\x51\x7D\xFD\x2F\x3C\x8E\x13\x7D\xBC\xC0\x02\x01\xE0\xC0\xBF\xC0\x51\x7E\xCF\xC0\xCF\xA1\x5C\xA9\x31\x13\x1D\x7D\x3C\x8E\x25\x7D\xAA\x81\xB3\x08\xEC\xC0\xE4\xC0\x3E\x6E\x29\x7D\xCB\xAB\xCE\xBF\x84\x5F\x0D\x0D\x2E\x7D\x26\xBF\x76\xB9\x31\x7D\x3C\x8E\x06\xA9\xBE\x8A\x37\x7D\xCB\xBF\x5A\xA1\x88\x0C\xD1\x37\xDB\x76\x20\x5A\x45\x44\xC7\xC0\x3B\x0E\xF4\xBE\xC3\x9C\x03\x01\xDD\xA8\xE1\xC0\x01\x01\x0B\xC1\x91\xC0\xD9\xC0\x1A\x7D\xDB\xC0\xAC\x9A\xDD\xC0\x06\x01\x53\x7D\x1B\xA6\x9E\xA8\xD6\xC0\x06\x01\x18\xC1\xF7\xBF\x10\xC1\xC6\x01\x5D\x7D\x9F\xB4\xD0\x55\x3D\x2E\xBE\x7D\xF7\xB9\x85\x39\x1D\xA6\x8F\xA8\x58\xBF\x1D\xC1\x9A\x09\x08\x7D\xC9\x7D\x78\xA8\xF7\xB9\x21\xC0\xBE\x06\x73\x7D\xFF\xC0\xFC\xA4\x77\x60\x78\x7D\xD1\xBF\xCE\xB5\x23\x44\xF1\xBF\x4D\x74\xE9\xBF\xBF\x0E\xEB\xBF\x81\x7D\xCE\x09\x83\x7D\x1A\x7F\x6D\x7D\x3C\x8E\x22\xBF\x30\xC1\xBB\xBF\xB4\xC0\x4D\xAA\x76\x0A\x91\x7D\x36\xC1\x80\x7E\x27\x3C\x39\xC1\xB2\x7E\x3B\xC1\x2C\x0F\x3D\xC1\x79\x00\x30\xBF\x77\x2F\x19\x7E\x03\x01\x49\xA8\x11\x0F\x21\xBA\x1D\xA6\xCD\xBA\x97\xBF\xB5\xC0\x9A\xB8\x56\xBA\xAF\x7D\x3B\x0E\xEA\xA8\xAD\xA9\x59\xB9\xCB\xC0\x00\x00\x06\xBA\x27\xAA\x85\x8E\x5C\x0C\xBA\x7D\xF9\xB3\xC6\x01\x5D\xA9\x3B\x0E\x63\x7D\x54\x7D\xC7\xA9\x1D\xA6\x26\xAA\x97\xBF\x29\xC1\xB3\x07\x08\x17\x26\x7E\xA5\x98\xCC\x7D\x1E\x7E\xEF\xA5\xCB\x72\x5E\xC1\xB6\x89\x2C\xBF\x09\xC1\x19\xA5\x0C\xC1\x00\x00\x2C\xA5\xFE\x73\x80\xC1\x2C\x9E\x82\xC1\xF9\xAA\x3E\xA4\x1E\x7E\x5A\xA4\x7F\xC1\xE5\xC0\x53\x7E\x02\x7E\x27\x01\xEF\x7D\x3E\xB9\x06\x01\x37\x81\x3E\x0E\xB3\x08\xAC\x81\x0C\xAA\x89\xC1\x10\xB9\xFD\x7D\x0D\x0B\x1D\x19\x4B\x15\x52\xB5\x03\x7E\x3C\x8E\x09\x7E\x1D\xA6\xAC\xA9\xB2\x7E\x42\xB9\x7A\xC1\xCB\x4C\xF7\xB9\x12\x7E\x5B\x6F\xB7\x81\x88\xC1\xB4\x92\x56\xC1\x81\x0D\x3C\x8E\x20\x77\x1D\xA6\x09\x81\xBB\x76\x75\x7E\x7C\x8E\x4F\xAB\xAF\x7F\x3B\x0E\x97\xA7\x11\x0F\x31\x0B\x45\xC1\xFC\x9A\x58\xBF\x9D\xC1\x47\x6F\x11\x6C\x0D\xB9\xC2\x23\x0F\xB9\xBC\xAC\x10\x0E\x05\xA6\x17\x09\x3A\x7E\x95\x81\xF3\x77\xC8\x2A\x3C\x8E\xC8\x07\x1D\xA6\xA7\xA7\xAF\xBF\xC5\xC1\x8A\xB2\xE7\xBA\x24\x08\x3B\x0E\x38\x96\x54\x7D\x8D\x06\x1D\xA6\x7E\x9E\x5D\xC1\x91\xC1\xAB\xC0\x93\xC1\x70\x29\x3C\x8E\xDF\xC1\x5B\x6F\xE1\xC1\xD7\xC1\xE3\xC1\xB6\xC0\x11\x70\x62\x7E\x27\x01\x64\x7E\x11\xBA\x5B\x8E\x88\x7E\xF0\xC0\x37\xC1\x93\x75\x82\x7E\x95\x7E\x27\x01\x6F\x7E\xBF\xA7\x6F\x8C\x94\x54\xCD\xC0\x4C\xC1\x23\x44\xF8\xC1\x29\x7F\x3E\x0E\x4C\x96\x69\x98\x81\x8E\xFE\xC1\x4F\xAA\x08\x0E\x76\x7E\xD4\xB5\x87\x76\x84\x7E\x32\xB9\x09\x01\xF4\xC1\xF7\xBF\xBA\xC1\x27\x3C\x02\xC2\xAF\x7F\x3E\x0E\x90\x7E\xF2\xC1\x86\xBC\x11\xC2\xFC\xBF\x5C\x7E\xE7\xB8\x68\x81\x96\x7E\x0F\xC2\x08\xC2\x47\xC1\x3E\x6E\x6A\x8E\xF9\xA5\xDC\xBA\xBE\x73\x10\xBA\xDC\xA6\xF6\x64\x27\xC1\xFE\xA9\x24\xBF\x97\xAF\x33\xBA\xE5\xA9\xE9\xAB\x5D\x0F\x58\xA5\xC5\xBF\x67\x7D\x7A\xC0\x5C\xA5\x6E\xBF\x2C\xC2\x71\xBF\x67\xBA\x4B\x69\x2F\xBA\x3D\xC0\xD9\xBB\x1B\xC0\x30\xC2\xB0\x14\x77\xB9\x39\xC2\x5B\xC0\x99\xBF\x1B\xAA\x2A\x5A\x4E\xBF\x3F\xC2\x8E\xAC\x83\xBF\x42\xC2\xB1\xA9\xF1\xBD\x7A\xBF\xD3\xA4\xA1\x62\x3A\xC2\x7E\xBF\xB5\x7F\x7E\xA5\xF8\x73\xB5\xBF\x11\xC0\xA0\xBF\xEB\x7E\x45\xC2\x2C\xC0\xF1\xA9\x69\x80\xAE\xA4\x4B\xC2\xDF\xB6\x74\xB9\x84\xC0\x34\xBA\x0D\x0E\xA1\xB9\xB0\xB9\x36\xC2\x91\xC0\x72\xBF\x5D\x71\x74\xBF\xA4\xBA\x3E", -"\xC0\x55\xC0\x41\xC0\x25\x74\x1F\xC0\x38\x66\x54\xC2\x8B\xBF\x74\xBA\x80\xBF\x03\xAA\x60\xC0\x33\xC0\x6C\xBF\xFF\x00\x15\xA4\x37\xBE\x76\xC2\x97\xBF\x51\xC0\x1C\x08\x87\xBA\x7B\xC2\x6C\xBA\x85\xBF\xB9\xA5\x51\xC2\x33\xC1\x53\xC2\x46\xC2\xB1\xBF\x48\xC2\x9B\xBF\x1D\xAA\x86\xC2\x6B\xBF\x88\xC2\x5D\x0F\x58\xC0\x69\xC2\x44\x30\x8D\xC2\xD8\xA5\xA7\xBF\xCE\xA5\x59\xC2\x4A\xC0\x5B\xC2\xAC\xBF\x74\xC2\x73\x65\x81\xC2\xAF\xBF\x6C\xC2\x4C\x05\xE8\xB9\x6F\xC2\x40\xC2\x9E\xBF\xF8\xC0\x66\xC2\xB8\xBF\x6C\xC0\xF6\xB8\x75\xC2\xC7\xBF\xCB\x99\xBD\xBA\xF5\xB9\xE1\xA5\xA3\xC2\xC2\xBF\x45\xAA\x77\xC0\x6D\xC0\xF9\x58\xB1\xC2\xA9\xA8\xCA\xBA\xA1\xC2\x2B\xC2\x32\xC1\x2D\xC0\xFE\xA7\x29\x81\xE9\x88\xD0\xBF\x1C\xBF\xC6\xB5\x34\x59\x31\x0B\xEF\xC0\x27\xC2\xE9\xBA\x23\xA7\x7C\x7F\xA0\xA9\x55\x7D\x87\xB1\x02\x2E\x2E\xC2\x19\xBA\x5A\xC2\x26\xC0\x32\xC2\x3C\x0E\x34\xC2\xBF\xBF\x1A\xC1\xD2\xC2\x3D\x2E\x68\xB9\x6E\xBF\x1B\xC1\xDA\xAE\x42\x58\x02\x2E\xA5\xC2\xE9\x04\xBE\xA9\x62\xC2\xA7\xA5\x64\xC2\xAB\xC2\xA7\x7D\x44\xC2\xBF\xC2\x4B\x65\xE1\xC2\x2B\x97\x7E\x29\xE4\xC2\x4C\xBF\x3E\xBA\x4B\x81\x0E\xC0\x48\xC0\xC3\xA5\x4E\xC2\x9E\xA5\x3C\x0E\x45\xBA\x97\xC2\x02\x01\xF0\xC2\x38\xAF\x21\xC1\xF1\x50\x79\x00\x4A\xBA\xE1\x4C\x4C\xBA\x92\xC2\x89\xBA\x56\xC0\x50\xBA\x8A\xC2\xA8\xA7\x38\x66\x00\xC3\x99\xB2\x07\x57\xF1\x26\x23\xC0\x2A\x61\x30\xC0\xDC\xA3\x32\xC0\x87\xC2\x0A\xC3\x60\xBA\xEE\xC2\x3F\x0A\x0F\xC3\xD4\xB2\x11\xAE\xF3\xC2\xA1\xBA\x6D\xC2\x15\xC3\x31\xC2\x70\xC2\x61\xC0\x34\xC0\x36\xC0\x3C\xBF\x58\x7D\xDD\xC2\x03\xC3\x7F\xBF\x8A\xB0\x81\xBF\xF8\xC2\xCF\xA9\xFA\xC2\xD2\xA5\x7E\xC2\xE0\xC2\x2B\xC3\xAF\x3E\x83\xC2\x0F\x08\x85\xC2\x30\xC3\x37\xAA\xB6\xBF\x72\xC2\x23\xA4\x35\xC3\xC6\xB3\x20\xC3\xCC\xBF\x44\x74\xCE\xB9\x03\x80\x08\xC3\x04\xC0\x4B\xC0\x22\xAA\x07\xC0\x15\xBE\x27\x01\x1D\xC3\x39\xB3\xE3\xC2\x3D\x2E\xE5\xC2\xBC\x01\x5F\xC0\x3B\xC3\xEA\xC2\xD6\xBA\x9F\xC2\xEC\x80\x40\xC3\xFF\xB4\x38\x28\x51\xC3\x3C\xC2\x5D\x71\xA7\xC2\xD7\xBA\x76\xBF\x26\xC3\x7D\xC2\xB9\xBF\xDB\xC2\x03\x01\x4E\xC3\x8F\xB3\x02\xC3\xAF\x3E\x9D\xA9\x72\xC0\xBA\xC2\xDC\xC2\x41\xC3\xDE\xC2\xFC\xB9\x17\xA5\x35\xC2\x67\xC3\x36\xC3\x08\x57\xA3\x16\x7B\xC0\xC2\xA6\x99\xA8\x29\xC3\x6F\xC3\x5B\xC3\xF3\x58\x03\xC3\x80\xC0\x19\xC0\x82\xC0\xB9\x7B\x32\xC3\x80\xA8\x9D\xA9\x3E\x62\xC9\x00\x4A\xAA\x34\x59\xD9\xA6\x01\x01\xCB\xBD\xFC\xC1\x3F\x0A\xA2\xA8\x70\xC3\x03\xC3\xA9\xBE\xE3\xBE\xA4\x44\x0B\xBF\x15\x5A\xD4\xBD\x27\x01\x49\xBE\xFD\x5C\xA1\xA8\x76\xC3\xF1\x26\x94\xC3\x09\xBF\x9B\xBE\x97\xC3\xF1\x83\xBD\xBE\xDB\x5A\xBF\xBE\x7A\x3F\xE6\xBE\xE8\xBD\xD9\x59\x1D\x01\xEA\xBD\xE2\x07\xCC\x3D\xEE\xBD\xCE\x3D\xF0\xBD\x23\x78\xF3\xBD\xB8\xA9\x91\xC3\x7E\xC3\x11\xC3\xB0\x0B\xA0\xC3\x6A\xBE\xFA\xBE\xA3\xC3\xDD\x84\xA5\xC3\xDA\x5A\xA7\xC3\x01\xBE\xB9\xB5\x34\x59\x04\xBE\x99\x96\xB6\xC3\xBF\xB5\x5C\x28\x3D\x2E\xBA\xC3\x7B\xBE\x6B\xBE\xA1\x44\x23\x07\x0D\xBF\x90\xBE\x0F\xBF\x10\xBE\x3C\x2A\x12\xBE\x46\x8E\x08\xC0\x09\x01\xC7\xC3\x73\xB5\xC0\x58\x02\x2E\xCB\xC3\xAA\x73\x7C\xBE\xCE\xC3\xD0\x0B\x3F\x0A\x13\x00\xAE\xBE\x81\xBE\xA5\x5A\x73\xBE\x02\xBF\xD8\xC2\xFF\x00\x25\xBE\xC6\xC3\x9E\xC3\xB9\xC3\x65\x02\xB9\xBE\xE4\xBE\xFB\xBE\x01\x01\xBF\xC3\xD9\x5A\xC1\xC3\x44\xBE\xFF\xA5\x35\xBE\xEC\xC3\x92\xC3\xAF\x3E\xDD\xC3\x77\x97\xCD\xC3\x15\x55\xCF\xC3\x7F\xBE\x0E\xBF\xE5\xC3\x10\xBF\xE7\xC3\x45\xBE\xFF\xA5\x47\xBE\x00\x00\x9B\xC3\x29\x76\x02\x01\xD9\xC3\xE2\xC2\xDB\xC3\xCA\xC3\xEF\xC3\x95\xC3\x05\x55\xBD\xC3\xD0\xC3\xBE\xBE\xD2\xC3\xA1\xBE\xDF\x51\x3C\x2A\xE6\xBE\x59\xBE\xE0\x01\x5B\xBE\x08\xB0\x05\x07\xAF\xC3\x56\x09\x61\xBE\xC1\x0B\x63\xBE\x0D\x0E\x65\xBE\x12\x67\xFA\xC3\xB7\xC3\xDC\xC3\x12\xC4\xA1\xC3\xAB\xBE\x15\xC4\x02\xC4\xD1\xC3\x04\xC4\xD3\xC3\xA3\xBE\x75\xBE\x27\x01\x77\xBE\xB5\xC3\xED\xC3\xA3\x16\xFD\xC3\xB1\x8E\x2F\xC4\xE0\xC3\x11\x0B\x16\xC4\xA6\xC3\x18\xC4\x00\xBF\x11\xBF\xF9\x09\xE5\x5A\x86\xBE\x2A\xC4\xC8\xC3\x5C\xC3\x93\xC3\x2D\xC4\xBB\xC3\x0A\xBF\x3F\xC4\x6D\xBE\x31\xC4\x17\xC4\x33\xC4\x19\xC4\x02\x55\xA3\xBE\x74\x5E\x95\xBE\x49\xC4\xDA\xC3\xD8\x58\x2C\xC4\xD0\xBD\x13\xC4\x0A\x55\x30\xC4\x3F\xBE\x80\xBE\x41\xBE\xFF\xBE\x92\xBE\x01\xBF\x91\x03\xA5\xBE\x5A\xC4\x0F\xC4\x5C\xC4\x11\xC4\x5E\xC4\x2E\xC4\xCC", -"\xBE\x61\xC4\xE8\x01\xE4\xC3\x64\xC4\x14\xC4\x50\xC4\x06\xC4\xB1\xBE\xA2\x3C\x6A\xC4\xF1\xC2\x6A\xC3\x77\xC3\x79\x00\x3C\xC4\xA8\xAB\xA2\xC3\x76\xC4\x0C\xBF\x52\xC4\x42\xC4\x54\xC4\x44\xC4\x77\xC4\xE5\x5A\xC4\xBE\xC6\xBE\x38\x66\x0E\xC4\x7B\xC4\x50\xC3\x4C\xC4\x6E\xC4\x4E\xC4\x81\xC4\x00\xC4\xD0\x0B\xE6\xBE\xD0\xBE\x49\x01\x63\x00\xEC\xBE\xBA\x5A\xD6\x9E\xD5\xBE\xE6\x3D\x97\xAB\xF0\x60\x9D\xC4\xB7\x5D\xDC\xBE\x8B\xC4\x73\x65\x8D\xC4\x01\xC3\x8F\xC4\xFC\xC3\x4D\xC4\xCC\xC3\xBC\xC3\x82\xC4\x6F\xB9\x25\x9C\x81\x08\xE8\xBE\x07\x59\x06\x02\x9A\xC4\xD6\xBE\x9C\xC4\xEF\xBE\x43\xAB\x4B\xC4\xD9\xBE\xD6\x1B\xF3\xBE\xF4\x4A\x7A\xC4\xA7\xC4\x10\xC4\x90\xC4\x8A\xBE\x6F\xC4\xF1\xC3\x71\xC4\x8E\xBE\xFD\xBE\x16\x41\x65\xC4\xC0\xBE\x45\xC4\x8B\x21\xB7\x5D\x04\xBF\xBE\xC4\x10\xC3\x5D\xC4\xC2\xC4\x92\xC4\x3E\xC4\x94\xC4\x40\xC4\x84\xC4\xC0\xC3\x43\xC4\x66\xC4\xCB\xC4\xCD\xC2\xD8\xC2\xCB\x00\x4B\xAC\x10\x0E\xBD\x59\xFF\x3E\x47\x6C\x7B\x2E\x74\x73\x78\x1A\x3C\x8E\x79\x1A\x22\xAB\xF9\xB8\x27\x13\x7B\x2E\xE3\xC4\x6D\x38\xB3\x08\xE8\xC4\xA6\x6C\x7B\x2E\x94\x5E\x85\x0D\x67\x38\x8C\x02\x07\x0E\x47\x51\x0C\xA9\x94\xB2\x5C\xBC\x01\x01\xAC\xA8\xCB\xB9\x38\x39\xB4\x5F\x42\xBD\x1E\xB8\xAD\xBB\x8F\xBC\xC2\xAF\xFA\xBC\x58\xB3\xD4\xB0\xD0\xAC\x2D\xBB\xBA\xB6\x7C\xBD\xB6\xBB\xDD\xB7\x05\xAF\x9C\xBB\x70\xB6\xD6\xBB\x52\x78\xA0\xBB\x7C\x8A\x4F\xAF\xAD\xB2\x1E\xA7\xAF\xB2\xCC\xB2\x10\xB0\x56\xAF\x59\xA0\x48\x86\xFD\xC4\xDE\x5A\xE2\xAB\xFB\x9C\x92\xBB\xA5\xBC\x94\xBB\x7A\xBC\x47\xBB\x78\xB4\x99\xB5\xAC\xBC\xBF\xB7\xA5\xA1\x7E\xBD\x0F\xC5\x0D\xBC\x9D\xBB\x0F\xBC\xA8\x8F\x14\xC5\xCB\x8E\xFF\xBA\xA3\xBB\xAE\xB2\x3C\x99\x14\x93\x3E\x99\x85\x8A\x21\xBB\xF9\xB5\x38\x66\x1F\xC5\x65\xB9\xFF\xC4\x9F\x61\x87\xB7\x61\xBB\x03\xC5\x1C\xB2\x63\xBC\x0B\xB8\x5E\xBD\xD1\xBB\x25\xB6\xD3\xBB\x10\xC5\x4E\xBB\x12\xC5\xC5\xB7\x1D\xBD\xF7\xB3\x3C\x9D\xEC\xB2\x18\xBA\xB4\xA0\x98\xAF\x37\xBD\xFF\xB2\xCB\xBC\x3F\xC5\x6D\xB9\x41\xC5\x5B\x5B\x26\xBB\x8E\xBD\x75\xBD\xD0\xBC\x91\xBD\xD2\xBC\x50\xBC\xBD\xB7\x52\xBC\x2B\xC5\x64\xA2\x4C\xC5\x2F\xC5\x11\xC5\x31\xC5\x49\xB5\xD8\xBB\xB2\xAF\x46\x8F\x55\xBB\x32\xB6\x5F\xB6\x1C\xBC\x00\x00\x5B\xC5\x7B\xB9\x5D\xC5\x6C\x5C\x5F\xC5\xAA\xBD\xE9\xB3\xAC\xBD\x05\xB4\xAB\xBC\xA1\x90\x68\xC5\x39\xAC\x6A\xC5\x81\xBC\xC3\xB8\x56\xB6\x9A\xBD\xD2\xAF\x75\xB6\x85\xB1\x09\x01\x77\xC5\x89\xB9\x79\xC5\xAA\x5C\x01\xC5\x0B\xBB\xF8\x8C\x04\xC5\x95\xB3\xBD\xB8\x8F\xB4\x7E\xBC\x70\xB8\xD6\xBC\x26\xB8\x82\xBC\x95\xB7\xF1\xBC\x8B\x6B\xF3\xB9\x4F\xB3\xB3\xB2\x59\x91\x8D\xC5\x95\xB9\x8F\xC5\x1D\xA4\x43\xC5\xE5\xBC\x44\xBD\x5C\xBD\x48\xC5\x32\xA2\x5F\xBD\xC0\xB7\xC1\xB8\x85\xC5\x0E\xBC\xC4\xB8\xBB\x63\x33\xC5\xF2\x8E\x35\xC5\x22\x5E\xA4\xBB\xB1\x5E\x44\x79\xEE\x99\xFD\x97\x3D\xBD\xE0\xBF\x4B\x65\xA4\xC5\xA5\xB9\xE8\xC0\x42\xC5\xA4\xBC\xE6\xBB\x08\xB8\x12\xBD\x79\xBB\x7C\xBC\x65\xBB\x98\xC5\x67\xBB\x9A\xC5\x72\xB8\xD8\xBC\x2A\xB6\xDA\xBC\x0B\xB0\x84\xB5\x5C\x8B\x89\x6E\x84\xB3\xAD\xB8\xCD\xB7\x03\xB7\x18\xBC\x90\xB0\x72\x79\xC5\xBB\xAA\x5D\xC1\xC5\xBF\xB9\x10\x5A\x00\xC5\xA8\xC5\x43\xBD\x45\xC5\x97\xB5\x28\xC5\xAE\xBD\x7B\xB5\xB0\xBD\x72\x9E\x80\xBD\xFF\xA1\x82\xBD\x6C\xBC\x42\xBC\x9B\xA0\xA9\xC2\xA4\xB3\x55\xBD\x01\xAD\x97\xB8\xF6\x64\xE0\xC5\xD7\xB9\xA6\xC5\xD9\xA4\xC5\xC5\x10\xBD\xE7\xBB\xAE\xBB\xF4\xBA\x22\xBC\xF6\xBA\x24\xBC\xF8\xBA\x4A\xBD\x56\xBC\x80\xBB\xEC\xB5\xD2\xC5\xCB\xC1\xD4\xC5\x05\x98\x7B\xA7\x59\x9A\xC1\xBB\xC7\xB6\x7C\xB8\x83\xA7\xBE\xC5\x1E\x85\x3E\xC5\x00\xBA\x1A\x7D\x52\x32\x7A\xC5\x91\xC5\x8A\xB1\x93\xC5\x46\xC5\xA8\xBC\x8B\xB7\x77\xBD\xBE\xBC\x8E\xB7\x2C\xBD\x55\x9F\x2E\xBD\xC9\xB1\x21\x9F\xA8\xB8\xEA\xAE\x0A\xC6\xAC\xB2\xDB\xB3\x1F\xB7\x89\x94\x51\xBD\x22\xB7\x81\x9A\xDF\xB3\xE2\xB6\xCC\xB8\x3C\xAD\x89\x83\x70\xBB\xFC\xC4\x17\xC6\x6E\xC1\xE3\xC5\xFD\xC5\xC9\xB3\x5B\xBD\xA0\xB8\x5D\xBD\xAD\xC5\x4A\xC5\x61\xB7\x84\xC5\xD7\xBC\x9C\xC5\x28\xB8\x9E\xC5\x3C\xB7\x9A\xA7\x5B\xA9\xFA\xB3\x73\x65\xF9\xC5\x07\xBA\xFB\xC5\x22\xC5\x03\xBC\x24\xC5\xE6\xBC\x00\xC6\x0E\xBB\x7A\xBB\x10\xBB\x48\xBD\xED\xBB\x06\xC6\x69\xBC\x08\xC6\x3A\xB7\x49\xC6\x53\xB7\xEB\xA1\xC9\x83\x9C\xB1\x4F\xC6\x55\xAB\xCA\x59\x90\xC5\xE4\xC5\x02\xC5\x1D\xC6\xE7\xC5\xB0\xBB\x80\xC5\xFB\x93\x82", -"\xC5\x81\xAC\x0E\xC5\x2F\xBD\x25\xB2\xD0\xC5\xFB\xB6\x2B\xC6\x99\x9E\x69\xB7\x2E\xB8\x8C\xC5\x3A\xC6\x85\x21\xC4\xC5\x2F\xB4\x69\xB8\x79\xBC\xC8\xC5\x07\xBC\x96\xC5\x08\xB5\x16\xBD\x6D\xB6\x18\xBD\x32\xBB\x0D\xB5\xC6\xBC\x8F\xA3\xF1\xC5\x4E\x8C\xB7\xBD\x60\xB8\xFA\xB0\xA3\xAD\x3D\x9D\xD4\x90\x7B\xC6\xFE\xC4\xE2\xC5\x7E\xC6\x8C\xBC\x9D\xB2\xFF\xC5\x94\xC5\xAF\xBB\xFE\x90\xB1\xBB\xFD\xBC\x7A\xBD\xFF\xBC\x0C\xC5\x01\xBD\x7F\xB2\xED\xC5\xB4\xA2\xEF\xC5\x96\xB7\x85\xBC\x77\x8E\x0C\xBD\x76\xC5\x7C\xC6\xEE\x19\x98\xC6\x76\xBC\x1A\xB1\xF2\xBA\x56\xC6\xCE\xBB\x41\xC6\x60\xA2\xAE\xC5\x2C\xC5\x45\xC6\x9B\xC5\x86\xC5\x83\xBC\x57\xB6\x48\xA7\xFC\xB7\x72\xA7\xAE\xB7\x57\xA2\x64\xC6\xAE\xC6\x1B\x7D\x68\xC6\x3D\xC6\x00\xB6\x3F\xC6\x10\xB7\xCF\xBB\x49\xC5\x94\xBD\xD2\xBB\x96\xBD\x59\x9F\x98\xBD\xCC\xB1\xBE\xC6\x47\xB1\xC8\xB7\x85\xB4\xCA\xB7\x27\x01\x65\xC6\x81\xAB\x67\xC6\xA7\xC5\xC8\xC6\xED\xB7\x96\xB5\x77\xB4\x6D\xC6\x29\xC5\x81\xC5\x4B\xBB\xB0\xC5\x46\xC6\xBC\xC6\x9D\xC5\xD4\xC6\xF2\xBC\xC9\xBC\xCB\xA7\x7A\xC6\x06\x01\xDA\xC6\x08\x0E\x21\xC5\x5A\xBD\xE0\xC6\x78\xB5\xE8\xC5\xF1\xB7\x4A\xBB\xEB\xC5\x39\x9F\xA6\xC6\x87\xAC\x4F\xC5\x50\xBB\x51\xC5\xFB\xB7\xDC\xBC\x74\xBC\xDE\xBC\x0D\x0E\x47\x9F\x7A\x82\xF0\xC6\x8D\xA9\xF1\xB9\x3C\xC6\x7F\xC6\x04\xBC\xAA\xC5\x40\xC6\xAC\xC5\xB7\xC6\x43\xC6\x0E\xB8\xBA\xC6\xCF\xC5\x47\xC6\xD9\xBC\x60\xC6\xA9\x8C\x17\xB8\x3C\xAE\x66\x9E\x07\xC7\x6D\xC1\x7D\xC6\x5E\xC5\x1B\xC6\xAE\xB3\x6B\xC6\xE1\xC6\x9E\xC6\x6E\xC6\xA1\x94\x70\xC6\x66\xAF\x13\xC7\x69\xBB\x75\xC6\xA9\xB7\x77\xC6\x2F\x83\xB3\xB1\xFF\x00\x0B\xBD\x1E\xC5\xC5\xC6\x19\xC6\xC7\xC6\x0B\xC7\x54\xC6\x0D\xC7\xCB\xC6\xB6\xC6\xB1\xAD\xCE\xC6\x4B\xC5\xD0\xC6\x71\x9F\xD2\xC6\xA9\xB8\x17\xC7\xDF\x9B\x01\xC7\x8A\xBC\x3D\x93\x22\xBD\x30\xA1\xC0\xC5\x33\xC7\x0A\xC7\x99\xC6\x1A\xB4\x11\xBD\xB4\xC6\xE9\xBB\x46\xBD\x23\xBC\x5A\xC6\x25\xBC\x5C\xC6\xEE\xBC\x5E\xC6\x51\xB7\x42\xC7\x46\xA6\x35\xBD\x27\x78\x4A\xB2\xF5\x91\xB1\x09\xF7\x91\x5D\xB6\x16\xB5\x14\xB2\x1C\xC7\x19\x7D\x3B\xC6\xB0\xC6\x33\xBC\xC6\xC5\x35\xBC\x82\xC6\x37\xBC\x48\xBB\xF7\xC6\xAF\xBD\x3B\xBC\xE4\xB1\xDA\xB4\xE0\xB7\x57\xC7\xE2\xB7\x2D\xC7\xC6\x98\x77\xB8\x30\xC6\x79\xB8\x59\xA0\x7B\xB8\x3B\xBD\xB4\x98\x63\xC7\x4A\xC7\x67\xC7\x0A\xBB\x1C\xC6\x0A\x8F\x95\xBB\x06\xB5\x84\xC6\x39\xB8\x86\xC6\x3B\xB8\x88\xC6\xD4\xBB\x8C\xB8\x1B\xBD\x1B\xB7\xCE\xAE\x9C\xBD\x91\x9C\x86\xB5\x47\xA5\x0F\xA8\x20\x97\x6C\xBD\xDC\xBB\x23\xA3\x45\xA3\x14\xC6\x65\x64\x64\xC7\x9B\xA7\x18\xC6\x4B\xC7\xB1\xC6\x35\xB1\x7C\xC5\xB8\xB7\x7E\xC5\xBA\xB7\x25\xC7\x89\x97\x27\xC7\xBD\xB0\xED\xBC\x97\xBD\x74\xC7\xFC\xBA\x76\xC7\x95\x5B\x68\xBD\x85\xB3\x5F\xC1\x4C\xB2\xCA\x98\xE4\x8D\xE0\xB3\xC1\xC6\xB3\xB8\xD8\xAE\x95\xC6\x20\xC5\xDC\xC6\xFC\xC5\x36\xC7\x69\xC7\x81\xC6\x4F\xC7\x47\xC5\xE9\xBC\xCD\xC6\xEB\xBC\x95\xBD\xAB\xC7\xD1\xC6\xAD\xC7\x58\xBC\xAF\xC7\x76\xA3\xA6\xB5\x70\x97\x9E\x67\xA2\xBD\xFA\xBB\x12\xB2\xCD\xB8\x16\xBC\x22\xBA\x4E\xC6\x80\xC7\x1F\xC7\x69\xC6\x92\xC5\x84\xC7\x26\xC5\x96\xBB\x87\xC7\x98\xBB\x89\xC7\xC0\xB8\x8B\xC7\x4D\xC5\xD5\xBB\x6D\xC5\xE8\xAF\x8D\xC6\x2F\x1A\x9C\xBC\xC7\x6C\x2B\xAF\xBA\xBD\xE8\xBA\x2E\xAF\xBD\xBD\x30\xAF\xAE\xB5\xEE\xB8\x64\x77\xFA\xC4\xCB\xBC\xB1\xA8\xDE\x7E\x2F\xAB\x2A\x41\x20\xC7\xAC\xBB\x22\xC7\xF5\xC6\xE2\xC6\xE9\xC5\xD5\xB6\xF9\xC6\xC8\xA0\xFB\xC6\x30\xAD\x8E\xC7\x65\x86\xB5\xC5\x27\x98\xB7\xC5\x7C\x61\xCA\xB2\x7A\xA0\x1A\xC5\x4F\x1A\x05\xAC\x15\xA7\x59\x91\xF7\xC7\x2C\x7F\xF9\xC7\x5B\x45\xFB\xC7\x1F\xBC\x33\x97\x63\xBB\xCA\xC5\x7B\xBB\xCC\xC5\x7D\xBB\xCE\xC5\x2A\xC7\x15\xC7\xD1\xC5\x4C\xAF\x20\xC4\xBE\x9D\xF0\xB5\x79\xA7\x1D\xA7\xF3\xB5\x11\xB6\x20\xA7\x13\xB6\xDC\xC4\x6A\xA4\x79\xAF\x3F\xBB\x13\xC8\xBF\x7F\x15\xC8\xF3\xC6\x8E\xBC\x1E\xC6\xE8\xBC\x02\xC6\xEA\xBC\x04\xC6\xEC\xBC\x55\xC7\xAC\xC7\x2B\xC7\x74\xB8\xCC\xC7\x3B\x9D\x2E\xB6\xB9\x03\x46\xAC\x61\xC7\x40\x99\x9B\xAF\x12\xC8\x0D\x7F\x33\xC8\x7B\xC5\x89\xB7\xAB\xBD\x20\xC6\x21\xB6\x22\xC6\x2B\xBD\xB8\xC6\x69\xC5\x3E\xC7\xA1\x9F\xB1\xBC\xE4\x99\x40\xBC\x69\xAE\x52\xAE\x0C\x0E\x5F\x9D\xDB\x17\x5C\xB6\x6D\xBD\xD6\xA0\x59\xBB\x65\x9D\xF6\xA3\x3F\x0A\x31\xC8\xC6\x97\x4A\xC8\x17\xC8\xBA\xBC\x61\xC5\x90\xBD\xBD\xBC\x92\xBD\xBF\xBC\x52\xC8\x83", -"\xC5\x54\xC8\xC5\x9F\x56\xC8\x23\x9F\x58\xC8\xA9\xAE\xE8\xC7\x84\x8A\x6F\xBB\x4D\xC6\xF6\x64\x65\xC8\x27\xBA\x67\xC8\xDA\xC7\x83\xC7\xB9\x90\x9C\xC6\x01\xC6\x51\xC7\x03\xC6\x53\xC7\x05\xC6\x7E\xBB\x4B\xBD\xCA\xC7\x6B\xBC\x40\xC8\x08\xBD\xEB\xAF\x8C\xBB\x56\xAC\x91\x3F\x49\xC8\x2E\x13\xFA\xC7\x7F\xC8\x21\xC7\xDC\xC7\x6B\xC7\x7B\xBC\xDF\xC7\x09\xBC\xE1\xC7\x9A\xBB\xE6\xC6\xBB\xC6\xB2\xC5\x87\xC5\xDA\x5F\x18\xBB\x16\xC5\x28\xC8\x42\x79\xBA\xC5\xFB\x97\xBC\xC5\xA9\xB6\x35\xB5\xC4\xB3\x09\x01\x7C\xC8\x27\xBE\x7E\xC8\xDE\xC6\x35\xB8\xF4\xC6\xEF\xB7\x6D\xC7\x39\xBC\xF8\xC6\x70\xC7\x5D\xB3\x04\xC8\x81\xAD\xE6\xC7\x40\xB8\x11\xBC\xBD\xB3\xBF\xBB\xDD\xB3\x17\xBC\x8F\xB0\x90\xC6\xC4\xBB\x14\xC6\xA5\x6A\xAE\xC8\x48\xC1\x93\xC8\x16\xC8\x95\xC8\xFC\xC7\x97\xC8\xC2\xC7\x1F\xC6\xCC\xC6\x42\xC6\x3C\xC7\x44\xC6\x71\xC8\xCA\xA0\x73\xC8\xCD\xA2\x75\xC8\xCD\xAE\x5A\xC8\xE9\xC2\x72\x87\xFE\xAC\x5F\xC8\x6E\xB5\x38\x9A\xAB\xC8\x71\xB5\xAD\xC8\x92\xC8\xE0\x17\x94\xC8\xB1\xC8\x4D\xB8\xB3\xC8\x37\xB8\x9A\xC8\x7D\xBC\x9C\xC8\x0B\xBC\x9E\xC8\x14\xC7\xE8\xC6\x48\xC6\xEA\xC6\x81\xB3\xBF\xC8\xBD\x79\x0F\xC6\x79\xC7\xC2\xBB\x61\xC7\x2D\x9E\x9B\xC7\xA5\x5B\xC8\xC8\x37\xBA\x2A\x61\x4D\x34\x4B\xC8\x9F\xB8\x39\xC7\x0F\xC7\x3B\xC7\xC6\xC7\xCF\xC6\xC8\xC7\x3F\xC7\x8A\xC8\xF0\xBC\xF4\xC8\x7A\x6A\x7D\x9A\xDC\xB3\xC6\xB6\x0A\x98\x1D\xAD\xD5\x9F\xB6\xA1\x37\xC6\x7A\xC8\x4B\x65\xFF\xC8\x7B\xBF\x01\xC9\xE7\xC8\xBF\xC7\xFE\xC5\xC7\xC5\xCF\xC8\x37\xC8\x84\xC8\x39\xC8\x86\xC8\x3B\xC8\x88\xC8\x07\xC6\x3E\xC8\x6B\xBB\xF0\xC5\xFF\xC6\x48\x6F\x2C\xBC\xF9\xB3\x66\x9E\x1A\xC9\x52\xC2\xCD\xAA\x1D\xC9\x4C\xC7\x95\xB5\x35\xC8\x6C\xC6\x24\xC7\xE3\xC6\x6F\xC6\xE5\xC6\xE3\xC7\x6B\xC5\x4E\xC5\xBC\xC8\x46\xB2\xAC\x5F\x44\xBC\x75\xC5\x31\xC9\x8B\xC2\x33\xC9\xCB\xC8\xE8\xC8\xD5\xB8\xEA\xC8\x1A\xC8\xEC\xC8\xCB\xC5\xEE\xC8\x7F\xBC\xF0\xC8\x20\xC8\xF2\xC8\x16\xC7\x0E\xC9\x70\x6F\x79\xC6\xD1\xB2\xA1\x62\x45\xC9\x0D\xC3\x1C\xC9\x48\xC9\x1E\xC9\x3E\xC6\x4B\xC9\x45\xBD\x58\xC6\x47\xBD\x1D\xC8\x49\xBD\x27\xC9\x5D\xC6\x29\xC9\x81\xBB\x8C\xC8\xB1\xB4\x44\xC7\x19\x92\x70\xBC\x54\x8C\x91\xC8\xB1\x80\xB0\xC8\x5E\xC9\xC9\xC6\x60\xC9\xAB\xC5\xC4\xC7\xD2\xC8\x08\xC9\x3D\xC7\x0A\xC9\x55\xC8\x40\xC7\x2A\xC6\x84\xBC\xB4\xA7\x14\xB1\x30\xC8\xE5\xC8\xB9\x17\x34\xC9\xA1\xC7\x50\xB1\x4C\xC8\x7D\xC5\x4E\xC8\x4E\xBC\x64\xC5\x93\xBD\x79\xC9\xD4\xC8\x7B\xC9\x72\xC8\x7D\xC9\x6C\xAF\x59\xC7\x9F\xA2\xE4\xB8\x31\xBC\xD5\xAD\x9F\xBC\x7A\x82\x5A\xC9\xBB\xA5\xB1\x5E\x02\xC9\x68\xC8\xCE\xBC\x6A\xC8\xA5\xC7\xD1\xBC\x9F\xC6\x09\xC5\xFE\xBC\x0B\xC5\xA9\xC7\x5A\xB1\x2D\xC5\x73\xC6\x81\xB2\x0C\xC9\x32\xBD\xC5\xB8\x99\xB1\xD6\xC6\xB6\xBC\xD8\xC6\xE4\xC8\x71\xC9\xCA\xC8\x34\xC8\xB3\xC6\x82\xC8\x57\xC6\x1B\xC8\x59\xC6\x64\xC9\x5B\xC6\x66\xC9\x56\xC7\x68\xC9\x09\xC6\x94\xC9\xA5\xA7\xE5\xB7\x97\x84\x82\xC9\xB5\xC9\xE6\xC8\x5D\xC9\x35\xC9\x80\xC6\xA6\xBC\x21\xC9\x13\xBD\xB5\xC8\x15\xBD\xB7\xC8\x17\xBD\x61\xBD\x19\xBD\x12\xB8\x06\xC8\x14\xB8\x41\xB8\x96\xC9\xDD\xBC\xCD\x66\xFE\xB7\x9A\xC9\x83\xC9\x9E\xC9\xCC\xC8\x18\xC8\x00\x99\x61\xC9\xBB\xC9\x63\xC9\x4F\xC9\x99\xC5\x51\xC9\x7F\xBB\xC1\xC9\x5F\xC6\x55\xC9\x18\xC7\x3B\xAE\xED\xAF\x30\xC9\xDF\xC9\x85\xC9\x68\xC7\x1F\xC9\x6A\xC7\xCE\xC9\xC9\xC5\x4D\xC9\x1C\xC8\xE7\xC9\xCD\xC5\xE9\xC9\x89\xC8\xEB\xC9\x58\xC7\xED\xC9\xD0\xA0\x09\xBD\xB4\xB1\xE3\xB4\x58\xC9\x38\x66\x9B\xC9\xCC\xAA\x5C\xC9\xB7\xC9\xCC\xBB\xF7\xC9\x83\xC6\x14\xBD\xBE\xB8\xFB\xC9\x1E\xC8\xFD\xC9\x28\xC9\x21\xC8\x76\xC6\xC3\xC9\xBA\xA7\xC0\xC6\xD1\x8B\xFC\xB4\xE0\xBB\x00\x00\x08\xCA\x2E\xAB\xB6\xC9\x03\xC9\xCA\xC6\x8A\xB7\xD1\xC8\x10\xC7\xD3\xC8\x12\xC7\xD5\xC8\x44\xA1\xD7\xC8\xDB\xB6\xD9\xC8\xEC\xAE\x36\xBB\x11\xB5\x5D\xB8\xEF\xB1\xAF\x9F\x12\xC6\xF3\xB1\xE2\xC8\xAB\xB6\xB4\xC9\xF8\xC7\x20\xCA\x9F\xC9\xF8\xBC\x82\x9F\x76\xBD\x4F\xC8\x6D\xC8\x23\xC6\x6F\xC8\x71\xC6\xAA\xC9\x27\xC6\xCB\xA2\x29\xC6\x93\xC9\x01\xCA\x5A\xC7\xFD\xA7\x6C\x8D\x37\xBD\x1E\xA3\x1B\x92\x96\x8D\x21\xA3\x98\xC7\x8C\xB5\x3C\x0E\xB5\x98\x90\xAE\x7B\xC8\xF2\xC9\xCA\xC9\x86\xC9\x6D\xB1\xA3\xC7\x8F\xBD\xA2\xC9\x63\xC5\xA4\xC9\x93\xBC\xE6\xAD\xB8\xC8\x4E\xB4\xBA\xC8\x4A\xAF\xB3\xC5\x59\xB8\x90\xC7\x0C\xC6\xED\xC1\x91\xB8\xE6\xBA\x4F\x9C\x30\xB2\x33\xCA\x53", -"\x9C\xF7\xC5\x19\xC9\x57\xCA\x0B\xCA\x61\xBC\x0D\xCA\x6C\xC7\xF6\xC6\xB6\xC8\x6F\xC7\xD3\xC9\x71\xC7\xB2\xBD\x08\xB2\xF1\xBB\x7B\xB7\x2D\xB5\x1E\xC2\x93\xC7\x00\xA8\x87\xBD\x6C\xB5\xDF\xC8\x95\xB8\xCE\x98\x14\xB2\x1E\xCA\xDE\xA9\x72\xC9\xCB\xC9\x0C\xC7\xE6\xC5\x23\xC7\x9D\x94\xA7\xC7\xB5\x99\xA8\xC9\xE2\xB2\x43\xCA\x0D\xB4\x28\xC6\x16\xBB\x06\xBD\x84\xBD\xCE\xC7\x8C\xB0\x71\x97\x8A\xB5\x84\x9A\x99\x9C\x8E\xB5\xE0\xAC\x64\xC8\x73\xCA\x21\xCA\x75\xC9\x0E\xC7\x77\xC9\x25\xCA\x8E\xC9\x27\xCA\x90\xC9\xD6\xC8\x92\xC9\xD0\xAF\x17\xCA\x9F\xAD\x6C\xC9\x67\x89\xB9\xBD\x73\xAB\xEE\xC7\xA5\xA9\xF0\xC7\xE5\xBA\xD9\xC1\x71\x90\xA1\x97\xEA\xBA\xA2\xC5\x3F\xBB\xB6\xA8\x6B\x6B\x99\x44\x74\xCA\x4E\xC7\xB9\xC9\xB5\xC6\x06\xC9\x5F\xB7\x11\xC7\xD5\xBC\x13\xCA\x67\xC9\x15\xCA\x2C\xC7\x23\xC8\x06\xCA\xBD\x63\x51\xA7\xA4\xC8\xC9\xB2\x37\xC5\x02\xBB\xB1\x97\x04\xBB\x3C\x0E\x06\xBB\x87\xBC\x06\x01\xC2\xCA\x8B\x70\xC4\xCA\xA7\xCA\x37\xC9\x91\xCA\x85\x97\x93\xCA\x49\x9A\x95\xCA\x0B\xB4\x72\xC6\x44\xCA\xDE\xB8\x46\xCA\xB1\xCA\xC6\xB2\x08\xC8\x84\xA6\xDA\x5B\xF2\xB5\x51\xAF\xEA\x92\x2A\x0B\x39\xC5\xB1\xAF\x2A\x81\x2E\xC8\x3E\xBD\xDD\xCA\x03\x01\xDF\xCA\xA6\x6C\xE1\xCA\x3A\xCA\x26\xBD\x3C\xCA\x62\xC5\x6C\xC8\x8C\xC9\x6E\xC8\xCB\xCA\x60\xBD\x7C\xCA\x64\xCA\x10\xB1\x40\xC9\xD7\xBB\xDB\xC8\xB2\x5A\xA5\x8A\xD5\xC2\x57\xC5\x9E\xC1\x63\x99\x41\xB6\xEE\xC6\xFD\xCA\xEE\x6F\x00\xCB\xE1\xC9\x69\xC8\x03\xCB\x6B\xC8\x21\xC6\x3F\xCA\x51\xC8\x08\xCB\xAF\xC5\x3D\xC9\xB1\xC5\x30\xC5\x66\xCA\x10\xBC\xEA\xB2\x59\xB6\x54\xBB\x18\xB3\x56\xBB\xA3\xBD\x58\xBB\x0D\x0E\x72\x93\x75\xC5\xFE\xCA\xA4\x71\x1A\xCB\x49\xC9\x44\xC5\xFD\xC7\xB4\xC8\x78\xCA\xD1\xC9\x7A\xCA\x87\xC6\xD4\xC9\x89\xC6\x65\xB7\x8B\xC6\x97\xB4\x2C\xC9\xE0\x86\xA7\x67\x9C\xB1\x33\xCB\x31\x81\x35\xCB\x73\xC9\xDF\xC6\xE3\xCA\xFE\xC7\x39\xC9\x00\xC8\x2A\xC5\x3C\xC9\x3E\xCB\x8C\xC7\x33\xBB\xD7\xC9\x8E\xB8\x36\xBB\x9D\xA9\x8D\xB6\xFC\xCA\x02\x01\x47\xCB\x51\x84\x49\xCB\x8E\xCA\x37\xC7\x90\xCA\x4D\xCB\x92\xCA\x3A\xC9\x26\xC7\x51\xCB\x0A\xCB\xD5\xC9\x04\xBD\x41\xCB\x7A\x8A\xF0\xCA\xE1\x93\xD6\xCA\x97\xA6\x55\xA7\xA9\xC8\x57\xA7\x14\xB2\x5C\xCB\xC3\x86\x5E\xCB\x59\xCA\x76\xB2\xA8\xCA\x05\xC9\xAA\xCA\x07\xC9\x3A\xC8\xC7\xC7\x3C\xC8\xC9\xC7\xFF\xC9\x75\xC7\xB2\xCA\x65\xB3\x69\xCA\xC5\xB6\x10\xC6\x13\xC9\x33\xC6\xE3\xAC\xC9\xB6\xDE\xC5\xA1\x62\x74\xCB\xBE\xA8\x04\x2F\xC5\xCA\x9B\xC6\x36\xC8\xCF\xC9\x3A\xCB\x10\xCA\xD2\xC9\x3D\xCB\x67\xCB\x3F\xCB\x79\xB7\x6A\xCB\x41\xBC\x43\xCB\xE6\xA9\xDB\xBB\x2E\xCB\xDD\xBB\xDF\xBB\xFE\xBB\x18\xCB\xC3\xCA\x90\xCB\xE2\xCA\xB8\xC9\x93\xCB\xF8\xC9\x0F\xCA\x97\xC5\x11\xCA\x65\xC9\x1F\xC8\xEA\xC9\xCF\xCA\x3F\xC8\x83\xCB\x0A\xC8\x30\x64\x40\x69\xF7\xC8\x19\xAD\xD8\xC5\x02\xB8\xDA\xC5\xC3\xC8\x83\xCA\x88\xCA\x96\xA1\x73\xCB\x19\xCB\xA7\xCB\x01\xCB\x74\xBD\x1D\xCB\x5D\xCA\x05\xCB\x5F\xCA\x84\x93\xDB\xB7\xCC\xCA\x24\xCB\xE7\xC6\xA0\xC8\xBD\xC6\x88\xC5\x2A\xB0\x2D\xC6\x13\xBC\x20\xB7\xF9\xC8\x11\xC6\x7D\xC7\x4C\x9E\x17\xC9\x66\x9E\x8E\xCB\xD8\xA8\xC3\xCB\x1B\xCB\xA0\xC9\xC6\xCB\x8A\xC9\x29\xBD\x50\xC8\x79\xBD\x51\xBC\x7B\xBD\xE8\xCA\x54\xBC\xAE\xCA\x29\xCA\xB0\xCA\x28\xB0\xB4\xCB\x8B\xAC\x4B\xC6\xC2\xAB\x38\xC6\x00\x00\xDC\xCB\x93\x98\x76\xCB\xF4\xC9\x5F\xC9\x4C\xCB\x39\xCB\xFF\xC7\x6E\xC7\xEA\xC5\x62\xCA\x52\xB6\x0B\xCB\x10\xB3\x0D\xCB\x72\xB6\x2C\xC9\x0F\x8C\x14\xB4\x8B\xC5\xDE\xCA\xC2\xCB\xB0\x38\x91\xCB\x20\xC9\xC7\xCA\x50\xC7\x62\xC9\x52\xC7\xBD\xC9\x54\xC7\xBF\xC9\x3D\xC8\xB2\xCB\x2A\xC9\x6A\xC9\xB2\x70\x57\xC9\x17\xB6\x73\x65\xF4\xCB\xF1\xA3\xF6\xCB\x82\xC7\x96\xC8\x81\xC8\xAA\xCB\x0E\xCA\xD0\xC9\x96\xCB\x3C\xCB\x8A\xC7\x52\xCB\xE4\xC7\x8D\xC7\xFD\xC6\x1C\xBD\xD9\xC9\x1F\xBD\x3A\xBE\x91\xC6\x80\xB7\xC3\xC1\x75\x7F\x3F\x0A\x1C\xCC\x19\xA4\x1E\xCC\x60\xBB\xA9\xC5\x61\xCB\xFA\xCB\x4E\xCB\xFC\xCB\x01\xC8\xFE\xCB\xF4\xB7\x00\xCC\xF7\xB7\x55\xCB\x45\x6F\x97\xB7\xC1\xCA\x09\xCC\x25\x3F\x0B\xCC\xF6\xC9\x0D\xCC\xC3\xC7\x38\xC8\xC5\xC7\x7D\xCB\x09\xC9\x7F\xCB\x0B\xC9\x81\xCB\xAE\xC7\xEE\xCB\xE3\xB8\x2E\xCC\xB7\xBE\x8E\x8C\x9F\xC4\x18\xC9\x34\xCC\x47\xCC\xF1\x0B\x49\xCC\xC1\xC7\x4B\xCC\xD0\xC8\x3A\xC7\xCA\xCA\x26\xCA\xCC\xCB\x28\xCC\x3E\xC9\xE5\xC7\x27\xCB\xAF\xB4\x04\xCC\x51\x9B\xA7\x75\xDB\xCB\x5D", -"\xCC\xE8\x0B\x5F\xCC\xCD\xC9\x61\xCC\x22\xC9\x0F\xCC\x85\xC8\x11\xCC\x87\xC8\xB0\xCB\xFE\xC9\x15\xCC\x69\xC9\x55\xCC\x71\xCB\xEC\xC6\x9B\xB4\x17\xCB\x5B\xCB\x70\xCC\xC9\x05\x72\xCC\x25\xC5\x98\xC8\x27\xC5\xFB\xCB\x79\xCA\xFD\xCB\x7B\xCA\xB9\xC8\x68\xCB\x63\xBD\x9C\xCB\x59\xC8\xCF\xA7\x87\xB2\xDC\xC9\xDF\xBC\xF6\xA3\x6F\xCC\xA6\xCB\x0A\xCC\xA8\xCB\x0C\xCA\x74\xCC\x94\xCB\x8A\xCC\x3B\xCB\x8C\xCC\x98\xCB\x8E\xCC\x9A\xCB\xC5\xBC\x43\xCC\xC7\xBC\xD8\xA7\xF3\xBC\x9B\xB1\xB7\xBC\xA5\xCB\xE0\xCA\xDE\xCB\x36\xCB\x39\xCC\x38\xCB\xEB\xC8\xAC\xCB\x85\xC6\x97\xCB\x27\xCC\x99\xCB\x53\xCB\x8A\xC6\xA6\xCC\x8C\xC6\x9E\xCB\xDF\xA7\xD2\xA2\xDB\x70\x3E\xA2\x35\xCC\x40\xA4\x37\xCC\xCA\xBB\xF8\xCB\xA9\xCB\x38\xC9\x63\xCB\x4F\xCB\xE4\xC6\x02\xC8\x66\xA2\x7D\xCA\x0E\xB4\x7F\xCA\xE1\xB8\x7C\xB7\x57\xCC\xC9\xBE\xEB\xA2\xC1\xCB\x99\xCC\x48\xCC\x9B\xCC\x75\xCA\x9D\xCC\xAB\xCB\x24\xCC\xAD\xCB\xB5\xCC\xE2\xC7\x67\xCC\x25\xCB\x6C\xC5\x6A\xCC\x6E\xC5\x0B\x6C\x50\xBD\x6B\xCA\x40\x12\x5F\xC7\x70\x8D\x6F\xCA\x62\xB8\x71\xCA\x5C\xCC\xD6\xCC\x5E\xCC\xD8\xCC\xC6\xCA\x22\xCC\x77\xCA\x9F\xCC\x25\xCC\xA1\xCC\xB6\xCC\xA3\xCC\xB8\xCC\x40\xCB\xBA\xCC\x42\xCB\x68\xCA\x5F\xC2\x96\x80\xF0\xAE\x8D\x89\x1F\xA3\x8F\x89\xF8\x96\xA1\xCB\x99\xC7\x56\xBD\xED\xCC\xB5\xA8\x84\xCC\x75\x05\x86\xCC\x55\xC6\xDA\xCC\x23\xCC\x95\xCB\xDD\xCC\x26\xCC\xDF\xCC\xB7\xCC\x29\xCC\x54\xCB\x2B\xCC\x8F\xC7\xE5\xCC\x82\xCA\x9E\xBD\x62\x99\x1F\x97\xAF\x5F\x93\xB8\xFB\xC8\xD6\xAE\x46\xB8\xBA\xC7\x08\xCC\xEF\xCC\x71\xCC\xF1\xCC\x92\xCB\xC7\xCC\xE5\xCA\x64\xCB\xA8\xC7\x66\xCB\xF9\xCC\x16\xCD\xB9\xCC\x18\xCD\xF9\xB7\x77\xC8\x6A\x8D\xEF\xAE\x0D\xAF\xBB\xCB\x3B\x7C\xB5\xC7\xF5\xC5\x3C\x0E\xB9\xC7\x13\xB0\x09\x01\xC1\xCC\x21\xA5\xC3\xCC\xE5\xBB\xF5\xC9\x60\xCC\xF3\xCC\x99\xC8\xB3\xCC\x88\xC7\xDE\xCC\x9D\xC8\xCD\xCB\x9F\xC8\x26\xCB\xA1\xC8\xC2\xB6\x1A\xCD\x36\xCD\x4C\xCA\x79\xA3\xD8\x98\xD1\xC7\xB7\xC7\x9D\xBC\xA2\xCA\xA6\xBD\x8F\xB5\x0A\xCD\x26\xCD\x85\xCC\x28\xCD\x0C\xCC\x46\xCD\x89\xCC\x3C\xCC\x8B\xCC\x3E\xCC\x8D\xCC\x63\xCA\x8F\xCC\x81\xBD\x91\xCC\x76\xC8\x2C\xC9\xEA\xC7\xF2\x6C\xEC\xC7\xB7\xCA\xDB\xAB\x52\xA0\x3B\xA8\x90\xB2\x3D\xA8\x2C\xAF\xA8\x74\xC3\xC3\xA1\x5C\x3E\x62\xCC\x00\xCC\xC2\x19\xB9\x3A\xAA\x02\x01\xBA\xA8\xB1\x80\xC0\xA8\x82\x05\xC2\xA8\x9B\x56\x67\xB9\x1D\xC7\x32\x3F\x7F\x2F\x50\xC1\x27\x10\xA1\x38\x11\x07\xED\xBF\x9F\x56\xCC\xA8\x3F\x8B\xCE\xA8\x9A\x0B\xD0\xA8\xF6\x2E\xD2\xA8\x09\x7E\x09\x4C\xC8\xBF\x0C\xA1\x27\x01\xCD\x00\x0D\x7F\xFF\x6C\xB8\x17\x92\xCD\x14\x01\xF1\x0F\x94\x56\x21\x39\x9E\x58\x38\x39\x31\x2F\x8A\xCD\xF2\x68\x8C\xCD\xC9\xA8\xCE\x09\x9C\x7D\xC2\x59\x82\xCD\xC6\x05\x84\xCD\x93\x57\xE5\x59\x87\xCD\x6E\x56\x7F\x2F\xBF\x9C\x1E\xBF\xD0\xC2\x0E\xC1\x58\x69\x24\x05\xD4\xC2\x56\xC5\x85\xC3\xF9\xCA\xB6\xB5\xC3\x80\xE1\xA5\xBA\xCD\x3B\x6A\xBC\xCD\x38\xC2\x1B\xC3\x48\x7D\x1F\x63\x24\x05\x52\xC3\x01\x05\xE7\xC2\xA8\xC2\x4C\xC2\x41\xC2\x65\xC2\xEC\xC2\x06\xC0\x87\xBF\x4C\xC3\x09\x01\xC4\xCD\xFC\x6A\xCB\xCD\xF4\xC2\x37\x61\x4A\xC2\xCF\xCD\x63\xC2\x41\xBA\x85\xC3\xB0\x7F\xC8\xCD\xD7\xCD\xBC\xAB\x5D\x36\x66\xBA\x8C\xB9\x57\xC2\xE6\x7E\x9D\xC2\xE1\xCD\x5C\xC2\xE3\xCD\x06\x01\xD8\xCD\x23\x6B\xDA\xCD\x6E\x81\x61\xC2\xDE\xCD\xDC\xC8\x5E\xBF\xD6\xC2\x76\xB9\xCE\x7F\xEE\xCD\x0A\xC1\xE5\xCD\x2B\x05\xCC\xCD\x6E\xC2\x61\xC3\x25\xC3\x7C\xC2\x94\xC2\x3C\x0E\x28\xC3\xD7\xC3\xEF\xCD\xFD\xCD\xF2\xCD\x43\xC3\x3C\xC0\xF5\xCD\x73\x81\xE0\xCD\xD2\xCD\x43\xC2\xE5\x5A\x7F\xC2\x59\xC0\x0D\xC1\x09\xCE\xE7\xCD\x43\xC3\xF2\x7F\xCA\x80\x69\xC0\xD0\xA3\x3C\x0E\x4D\xC0\x14\xCE\x00\x00\xF0\xCD\xF7\x6F\x0A\xCE\x5B\xC7\xD3\x76\xC0\xA5\x9C\xBF\x55\xC3\x0F\xCE\xEB\xC2\x11\xCE\x99\xBA\xFB\xCD\x02\x01\x21\xCE\x71\x70\x23\xCE\x4A\xCA\x1F\x80\xA1\x81\x54\xC3\xE8\xC2\x0E\xCE\xF7\xCD\x9E\xC2\x27\xBF\x45\x7F\x6E\xBF\x2F\xCE\x11\x72\x31\xCE\xC2\xC2\x5D\xC0\x30\x5D\x60\xC3\x69\xBF\x17\xC3\x93\xC2\x19\xC3\x6B\xC0\xEE\xB9\x74\xC3\x2E\xCE\x16\xCE\xBB\xBA\xFE\x86\x6D\xC3\xAF\xC2\x73\x65\x3D\xCE\x1F\x7C\xC6\xCD\xBE\x73\xC4\xBA\x78\xC0\xE4\xCD\xCA\xCD\xD4\xB5\x9B\xA8\xBE\xC2\x0C\xC3\x9C\xC9\x38\x66\x52\xCE\x39\x82\x24\x05\x81\xC3\x36\xCE\x53\xAA\xD5\xBA\x0D\xBA\xA0\xC5\xA1\x5C\xC5\x05\xCF\x00\xB8\xB5\x38\xB9\xA6\x4D\xDF\xC4\xAD", -"\x9F\xB9\x09\x0B\x5A\xB3\xCD\x65\xC7\x3B\xBA\xD1\x09\x7D\xA6\x27\x01\xD1\x00\xC6\xAB\x2B\x0E\x42\xB9\x0A\x5A\xF2\x2F\xA0\x5A\x74\xCE\xCF\xBA\x24\x02\xB3\x08\xE3\xC3\x96\xC6\xF1\xB9\xD6\x09\xAA\xC1\xFE\xBD\x9F\xBE\x75\xC4\xD5\xC4\xCB\xC4\xD5\x7D\x3C\x8E\xCB\x67\x02\xA6\x7D\xCE\x0D\x28\x73\xCE\x9E\xC7\x6E\xC1\xD6\x09\x7A\x73\x75\x5B\xF4\xA8\x33\x59\x00\x62\xFB\xB9\x53\xCD\x2E\xB2\x20\x97\x70\x09\x89\xBB\x7C\xCD\xE5\xBF\xD8\x6D\xF5\xB8\x5B\x98\x38\x66\xAF\x3F\x06\xB8\x55\x3A\xA3\xCE\xA1\x73\x95\x98\xD2\x00\xCD\xB5\x0E\x72\x84\x36\x08\xC7\xE5\x6C\xF1\x0B\x03\xCA\x9E\xA9\x6B\xA4\xDB\xBF\x01\x01\xFC\xC0\xA1\xA3\x40\x7D\x21\x5A\x5F\x28\xBD\xCD\xDF\x5B\xBF\xCD\x23\xBE\xC7\xB5\xD4\x80\x66\xC3\x02\x01\xBB\xCE\xD8\x5A\x04\xC1\x62\x52\x21\x04\xDF\xC2\x2D\xCE\xBA\xCE\xE0\x5A\xCA\xCE\x89\x39\x21\x04\xCC\xCD\x3E\xC2\x0D\xCE\xC0\xA9\x3F\xC0\xEC\xCD\xC4\xA9\x6E\xBF\xC8\xCE\x9F\xC1\x72\x3E\x24\x5A\x38\xC3\xDD\xCD\x01\xCE\xF3\xC5\xD8\xCE\x10\xCE\x4F\xC2\xFD\xC2\x37\xC0\xC7\xCE\xD0\xCE\xBD\xCE\x05\xC1\xB1\x01\x05\xC3\x26\x4F\x07\xC3\x28\xCE\x38\xCE\xD9\xCE\x61\xBF\x5D\xCE\x09\xCA\xF6\x64\xDC\xCE\x33\x59\xD1\xCE\x65\x20\x13\xC3\x66\x61\x23\xC3\xCC\x80\x45\xCE\x09\xC3\x3E\xC3\xA0\x80\xDB\xCE\xEA\xCE\xDE\xCE\x5B\x44\xFF\xCD\xFE\xCE\x5B\xBA\x50\xBF\xAA\xC2\x57\xC3\x3A\xCE\xE5\x5A\x06\xCE\xD6\xCD\x38\x3F\x05\xCF\xEF\x4A\xDF\xCE\x78\xC2\x2E\xC3\x7A\xC2\xF1\xCE\x4D\xC2\xE5\xCE\xFB\xC2\x34\xC3\xCE\xCE\x00\x00\xF8\xCE\x14\x0E\xFA\xCE\x45\x28\x38\xC3\x47\xC0\x64\xCE\xAC\xB9\x63\xC3\x04\xCE\xFF\x00\x1E\xCE\xFE\xC2\xCF\xCE\xDF\x5A\x22\xCF\x7B\x1E\x38\xC3\x93\xBA\x26\xCF\x31\xBA\x03\xC0\x3D\xC3\x49\xC3\xD3\xB9\x1E\xCF\x20\xCF\x10\x0E\x2F\xCF\x5F\x28\xCC\xCD\xA3\xBA\xE2\xCE\xD0\xCD\x0C\xCF\x2D\xAA\xFF\x00\xE0\xB9\x2C\xCF\x1F\xCF\x13\xCF\x96\xC0\x15\xCF\x21\xC3\xA6\xC2\x03\xA5\x33\xCF\x95\xBA\x71\xC2\x37\xCF\xED\xB9\xE0\xA5\x4A\xCE\x2D\xCF\xDE\x5A\x3C\xCF\x3C\x30\x6C\xC3\xBE\xBA\x50\xCE\xF7\xCE\x48\xCF\x51\x98\xC5\xC0\xBE\xCE\x58\xCF\x72\xC3\xC4\xBF\xC6\xCE\x55\xCF\xDD\x5A\x57\xCF\x89\x06\x79\xC3\xC9\xBF\x39\xCF\x5D\xCF\xDF\x9A\x04\x40\xAE\x57\x3C\x30\x63\xCE\xD6\xCE\x0F\x6C\xC6\xC2\xF4\xC0\xB5\xB5\x69\xCE\x27\x01\xD3\x00\xAC\xCE\x1F\xBB\x3C\x0E\x38\x50\x54\xA9\x13\xBF\xB2\xA9\x27\x01\xFA\x95\x7A\xCF\xC2\xB5\x8D\xA8\x27\x01\x3E\xA9\x7F\xCF\xFF\x00\x92\xA8\x3E\xAB\xF9\xC4\xBF\xCA\x11\xC8\x3F\xBB\x9B\xA9\x2E\xCF\x4F\x5A\xD4\x4F\x0D\xCD\x38\xC7\x23\xCA\x63\xCC\x49\xAE\x24\xC6\x22\xB0\x26\xC6\x98\xCA\x45\xCA\x9A\xCA\x65\xBD\xA3\xC8\xF2\xCA\x50\xAF\xAE\x97\x2F\x05\x03\xBB\xA6\xBB\xFF\x00\xDC\xCA\x59\x91\x90\xCF\x56\xCF\x92\xCF\x73\x58\x1D\x3A\x94\xCF\x3A\xCC\xB2\xCC\xDC\xCC\xB4\xCC\x13\xCD\x4B\xCD\xE0\xCC\xCE\xCB\x4E\xCD\xD0\xCB\xA2\xC8\x6C\xCB\x16\x9D\x1A\xBB\x79\xA0\x22\xAC\xF7\xCA\x1E\xBB\xD8\xBF\x0F\xBA\x3C\xC5\xEC\xBA\xA1\x62\xAA\xCF\x66\xCF\xAC\xCF\x95\x3D\xAF\xCF\xB1\xCC\x4C\xC9\x48\xCD\xE0\xC7\x4A\xCD\xEF\xC8\x4C\xCD\xF1\xC8\xCF\xCB\xE9\xC6\xD1\xCB\xBE\x74\x53\xC5\x2F\xB6\x44\xC8\x87\xCA\x2B\x72\x59\xC5\xAC\xC6\xC7\xCF\x73\x77\xC9\xCF\x20\x3A\xCB\xCF\xCE\xC8\x0F\xCD\xF4\xCC\x63\xCD\xA0\xCC\x65\xCD\xA2\xCC\x67\xCD\xA4\xCC\x1A\xBD\x32\xCD\xD8\xC9\x0F\xCB\x44\x8E\x16\xB3\x38\xA7\x60\x9D\x6E\xAC\x51\xCA\x70\xAC\x30\xCB\xDF\x97\x66\x9E\xDF\xCF\xDB\x5A\xAE\x7C\xE2\xCF\x5F\xCD\x4A\xCC\x61\xCD\xDE\xC7\xCE\xCF\x9B\xC8\xD0\xCF\x50\xC9\xD2\xCF\x52\xC9\xD4\xCF\xF3\xC8\xD6\xCF\xCF\x74\x79\xC8\xFA\xCF\x6C\xCF\x9B\x9E\x97\xC0\xFE\xCF\xC4\xCB\x60\xC5\xE1\xCB\x24\xCA\x7C\xCB\x25\xC9\x7E\xCB\x13\xCC\x80\xCB\x7C\xCC\xC2\xC9\x48\xCA\x90\x68\x84\xBB\x06\x01\xD7\x00\x5D\x73\x8B\x8F\x8F\xC8\xCE\x99\x3F\x0A\xFB\xCF\xDA\x5A\xFD\xCF\x30\x40\xE3\xCF\x21\xCC\x2A\xCD\x03\x99\xE6\xCA\x43\x9B\xE8\xCB\xAE\xBC\xEA\xCB\x9A\xA2\x1C\xD0\xEC\xC9\xCD\x62\xBB\xCF\x1F\xAC\xBD\xCF\x0D\xB0\xA7\xC8\x0F\xB0\x0F\xC8\x11\xB0\x23\xCD\x3E\xCD\x06\x01\x28\xD0\xBC\xCE\x72\x3E\xC6\x4D\x2C\xD0\x29\x92\x88\xCC\x02\xD0\xB2\xCF\x49\xCD\xB4\xCF\xD1\xCF\xB6\xCF\x4D\xCD\xE2\xCC\x4F\xCD\x67\xCA\xBE\xC8\xC4\xB6\xC0\xC8\x12\xC9\xB3\xA1\xEB\xCC\x53\xA1\x8C\xCB\x38\x66\x44\xD0\xC9\xCE\xE1\xCF\x2B\xD0\xFF\xCF\x45\xCD\x2E\xD0\xB1\x99\x30\xD0\x9C\x9B\x32\xD0\x7D\xBD\x29\xC7\xB1\xCB\x53\xC9\x22\xC8\x1E\xD0\xC6\xC1\x9F", -"\xCB\xE1\xB6\x8A\xCB\xA8\xB3\x14\xB2\x5E\xD0\xDD\xCE\xEF\x4A\x47\xD0\x62\xD0\x73\xCC\x01\xD0\x86\xC7\x03\xD0\xED\xC8\x05\xD0\xE8\xC9\x07\xD0\x6B\xD0\x09\xD0\x54\xC9\x0B\xD0\xF5\xC8\x56\xD0\xB8\xCB\xC1\xC8\x23\xB7\xDB\xC5\xC4\xC8\xF1\x6E\x09\xCD\x09\x01\x75\xD0\xF9\xCE\x60\xD0\xEA\x36\x48\xD0\x10\x9C\x76\xCA\x47\xCD\x4C\xD0\xCF\xCF\x4E\xD0\x06\xD0\x50\xD0\xD3\xCF\xB8\xCF\xD5\xCF\xAF\xC9\xE5\x6E\x89\xB0\x92\x3C\x8B\xB0\x87\xCB\x59\xD0\xD8\xCB\x93\xA7\xDA\xCB\x9C\xB1\x90\xD0\x21\xCF\x92\xD0\xF1\x36\x94\xD0\xFF\x9C\xE5\xCF\x97\xD0\x11\xCD\xB3\xCF\xF7\xCC\x14\xCD\x2F\xCD\x68\xCC\x2A\xCC\x02\xCC\x50\xC5\xAA\xB0\x3D\xB7\x9E\xC7\x0E\xD0\x91\xCF\x46\xD0\x67\x3D\xAF\xD0\x15\xAE\xE4\xCA\x2F\xD0\x2C\xCD\x94\xCA\x2E\xCD\xEB\xCF\xFA\xCC\x9B\xCB\xFC\xCC\xBC\xBB\x34\xCD\xE8\x83\x43\xC9\xF2\xCB\xAB\xD0\x3B\xCF\xAD\xD0\xEA\x39\xC3\xD0\x77\xB5\x3B\xCC\xC8\xCC\x3D\xCC\x50\xCB\xCB\xCC\x81\xA2\xCD\xCC\x99\xCA\xCF\xCC\x9B\xCA\xD6\x84\x19\xCC\x22\xBB\x5D\xD0\x0F\xD0\xC4\xC0\x78\xD0\x13\xD0\x5B\xCA\xA1\xC9\xE2\xCB\xFB\xBC\x78\xBD\xA0\xC6\xE6\xCB\xA2\xC6\x68\xD0\x0D\xC5\x97\xCA\x29\xB5\x7E\xCA\xB4\xBD\x80\xCA\xB6\xBD\x19\xCA\x5E\x94\x6E\xC9\x94\xC6\x43\xD0\xE7\xD0\xC2\x4D\xAD\xCF\xB5\x28\x79\xD0\x87\xCC\x96\xD0\x62\xCD\xDA\xD0\x64\xCD\xDC\xD0\x3F\xCC\x96\xBC\x41\xCC\x43\xB1\x6A\xCD\x8A\x64\x45\xCC\x82\xCC\x01\x01\xD3\xD0\x0C\x0E\x2A\xD0\x93\xD0\x04\xD1\x0E\xCD\x7B\xD0\x30\xA3\xAD\xBD\xDB\xD0\xCA\xCC\x0B\xD1\xB1\xBD\x0D\xD1\x60\xB1\x0F\xD1\x2D\xCA\xCF\xD0\xB2\x95\xF6\xBD\x59\xCC\x55\x84\x75\xC5\x14\xD1\x08\x0E\x16\xD1\xAE\xD0\x18\xD1\x95\xCF\x4D\xC8\x16\xD0\x64\xCC\xAC\xCA\x66\xCC\x15\xCD\xB8\xD0\x17\xCD\xBA\xD0\xFE\xC6\xC2\xA7\x15\x0E\xF2\xAD\x07\xCC\x03\x01\x2B\xD1\xEA\x7C\xC1\xD0\x93\xCF\x2F\xD1\xB0\xCF\xCD\xCF\x98\xD0\x04\xD0\x9A\xD0\x80\xD0\x9C\xD0\x08\xD0\x9E\xD0\x0A\xD0\xA0\xD0\x6F\x95\x89\xA2\x81\xCC\xD2\xCA\xF6\x64\x40\xD1\xC3\xC0\x01\xD1\xCA\xCF\x44\xD1\xCC\xCF\xE4\xC9\xF9\xC9\xBC\xC9\xAE\xCB\xBE\xC9\x7A\xCC\x14\xCA\x6C\xD0\x16\xCA\x6E\xD0\x18\xCA\xB4\xCA\x28\xA8\xDD\xC9\x2A\xD1\x00\xD1\xC8\x52\x43\xD1\xEA\xD0\x88\xC9\xA4\xC7\xED\xD0\x07\xC5\xFC\xBC\xA5\xC9\xA1\xC6\xA7\xC9\xC9\xD0\xFF\xCB\x68\xCD\xEE\xC5\x23\xD1\x66\xB0\x25\xD1\xB9\xA2\xCA\xB4\x69\xD1\xC0\xD0\x77\xD0\xC2\xD0\x59\xD1\xE4\xCF\x1A\xD1\xAF\xAD\x92\xBC\xCA\xCB\xC1\xBC\x9B\xCF\xF6\xD0\xCE\xCC\xF8\xD0\xD0\xCC\x49\xA7\x76\xCF\x0A\xBD\x05\xCA\x1A\xCC\x54\xD1\x6A\xD1\xD2\x52\x02\xD1\xF5\x05\xD7\xD0\x20\xBC\x76\xC9\x4D\xCC\x78\xC9\x4F\xCC\x7A\xC9\x51\xCC\x7C\xC9\xAD\xC9\x4D\xBD\x4F\xD1\xBF\xC6\x66\xD1\x14\xCB\x1B\xCA\xA4\xCB\x02\x01\x55\xD1\x40\x7E\x6D\xCF\x11\xD0\x61\xD0\x6D\xD1\x04\xC9\x96\xCF\xC9\xCA\x98\xCF\x41\xCA\x28\xC7\x28\xCA\x35\xD0\x62\xD1\xD0\xCA\x64\xD1\x3D\xA3\x78\xC7\xE7\xCC\xFB\x84\xE9\xCC\x04\xA3\x5A\xD0\x5D\x0F\x17\xB5\xB4\xB8\x3F\xD1\x95\xD1\xAE\xD1\x17\xD1\xB0\xD1\x22\xCA\x31\xD1\x97\xCF\xC3\xAE\x22\xCB\xB9\xC6\xB7\xD1\x85\xAC\xEC\xCB\xA7\xB0\x17\xCC\x48\xB2\x43\xC3\x01\xCD\x0C\x0E\x0F\xB2\x05\xCD\xD2\xC7\xA7\xB3\x5D\x0F\x54\xCA\x71\xBD\x4B\x65\xAB\xD1\xEA\x83\xAD\xD1\xE9\xD0\xDF\xCB\x3B\xCA\xD9\xA1\x3D\xCA\x8B\xC9\xC9\xCB\xFC\xA0\xCB\xCB\x09\xCB\xB7\xD0\xE1\xCC\x3F\xC9\xE3\xCC\xE7\xC7\x2C\xC9\xB1\xC7\xBA\xCB\x6A\xBD\xF2\x9F\x97\xC7\x06\xCD\x52\xCA\xFF\x00\x70\xBD\xC5\xD1\xAA\xD1\xC7\xD1\xE5\xD1\xAF\xCC\xE5\xC5\x5A\xD1\x9B\xD1\x23\xC9\x4E\xCC\x18\xD0\x50\xCC\x1A\xD0\x52\xCC\x36\xD0\x00\xCA\x85\xD0\xA9\x9F\x1B\xCD\x89\xD0\xB4\xC7\xB0\xB8\x21\xCD\xDE\x89\x35\xCA\xE6\xB6\x8F\xD0\x00\xD2\x82\xD1\xCA\xD1\x79\xCB\xB2\xD1\x7B\xCB\x33\xD1\x9E\xD1\x8F\xC9\xA0\xD1\x91\xC9\xA2\xD1\x99\xBD\xA4\xD1\xF1\x96\x85\xBD\xE2\x9B\x26\xA3\x55\xCD\x6C\xB2\xDB\xCF\xB7\x5D\x70\xB2\xDA\xB5\x27\xD0\x19\xD2\x6C\xD1\xE6\xD1\x02\xCB\xE8\xD1\x04\xCB\x1F\xCB\x06\xCB\x40\xCA\xCF\xD1\x53\xC8\x34\xD0\xD2\xD1\x24\xD2\xD3\xC6\x0E\xD2\x98\xA7\xFB\xD0\x6E\xCD\xA6\xB5\xC0\xBD\xEF\xC7\x73\xCD\xBE\xBD\xF2\x8E\x46\xD2\x8A\xBB\xE8\xA8\x54\xCF\x00\x00\x65\xAB\xD3\xC4\x3B\x91\x10\x86\xF4\x98\x4D\xA6\x2D\xBE\x6F\xCE\x36\xB5\x1E\x85\xD7\x2A\x66\x07\x50\xAC\x9E\x59\xF2\x01\x3A\x8E\x09\x01\x68\xAA\xF7\xB9\xC5\x93\x42\xB9\x8A\x59\x21\x56\x5B\xD2\x96\xAB\x29\xD1\xA0\xC4\x2D\x51\x6C\x07\x72\xAA\x5A\xA8\x08\xAB\x6B", -"\xD2\xF9\x07\x88\xCE\x1B\xB5\xCE\xB4\xBC\xC1\xFC\xB8\x55\xD2\x06\x01\xD9\x00\x57\xD2\x07\x0E\x82\x59\xAA\x31\x50\xAC\xF6\xA8\xBF\x39\xDA\xBE\x3B\xB9\x27\x01\xB1\xAB\x96\xC1\xBB\xAB\xB4\xAB\x04\x9C\x87\x07\x55\x3A\x7E\xD2\xA5\x59\x80\xD2\x72\x00\xB3\x08\x63\xC1\x36\xA1\xC8\x30\x8D\xD2\x67\xAB\xD3\x50\x69\xAB\x95\xCE\x75\xCE\x5C\xB9\x83\xCF\x4B\xA6\x6D\xCE\x00\x00\xDB\x00\x7A\xD2\xA7\x87\xD4\x59\x4D\xCE\x70\xBA\xE1\xA4\x30\xAB\x82\xD2\x60\xD2\x69\xAA\x87\xD2\xBE\xA1\x0E\x03\x47\x41\x75\xD2\x8D\xBA\x15\xC8\x6D\xD2\x38\xCA\xC9\xC9\x72\xD2\x39\xB5\x74\xD2\xF2\x01\x1E\xAB\x3C\x8E\x28\xAB\xA3\xD2\x94\xB5\xA1\xD2\xF3\xC0\x52\xBA\xA4\xD2\x08\x03\x27\xAB\x57\xCA\x2A\xAB\x11\x08\x71\x45\x02\xBE\x93\x2E\x30\x78\xB7\x5D\x95\xC1\x03\x01\xB9\xD2\xAD\xA3\x77\xD2\x03\x01\x9E\xD2\x36\xB6\xD6\x9E\xBC\xD2\xF6\xCE\xBF\xD2\x66\x00\x77\xCE\xA7\xD2\x62\xD2\xE7\xAA\xFC\x98\xD3\xD2\x1F\xCA\xC9\xC9\xB0\xD2\x14\xC8\xCA\xC8\xB3\xD2\x56\xB5\xB5\xD2\x98\x01\xB7\xD2\xF7\xB9\xCC\xD2\xAB\xBA\x22\xB3\xDC\xD2\x8C\xCA\xCA\xC8\xC1\xD2\xC8\xC9\x84\xC9\x8C\x55\x36\xA1\xC5\xD2\xD4\xD2\x15\xC8\xB2\xA8\x9C\xD2\x36\x1A\xF4\xB2\xBF\xC4\xDF\x48\xFC\x59\x8D\x8B\xBA\xAA\x5F\xD2\x06\x01\xDD\x00\x3C\x8E\x01\xD3\xA9\xD2\x2D\xB4\x5C\x0C\xFC\xD2\xB4\x8B\x84\x3A\xB3\x08\x03\xD3\xD9\x9C\x84\x3A\x94\x5E\xD9\x0C\xD8\x33\x78\x33\x55\x96\x89\xAA\x3F\xB6\xD2\xBF\xC3\xCE\x03\x01\xB8\x27\x5B\xCE\x5D\x0F\x3B\x0E\xEA\x93\x11\x0F\x42\x75\x1D\xA6\x9B\x96\x1D\xB3\x92\xB5\x94\x5E\x08\x09\xD4\x2A\x12\xD3\x50\xAB\xF6\xD2\xCE\xD2\x02\x01\x18\xD3\x37\xBF\xD9\x5A\x28\x0D\x58\x45\xBD\xD2\xFC\xB2\xC0\xB5\x98\x01\xFF\xD2\x62\x96\x3C\x8E\x42\x75\x42\xB9\x2E\xD3\x50\xAC\x33\x4D\xB3\x08\x20\xD3\x5A\xBB\x22\xD3\x99\xB2\x25\xD3\x3F\x94\xAB\x1C\xC8\x9C\xB7\x5D\x1B\x7E\x06\x01\xDF\x00\xB5\xA9\x5D\x0F\x0F\x7E\x02\x01\x15\xAB\xF9\xD2\x03\x5B\x0D\x0D\x82\x46\xFB\xB2\x21\xD3\x32\xD3\x30\xD3\x9D\xA9\x11\x0F\x2B\xD3\xBD\xCC\x15\x0E\x1B\xD3\x36\xD3\x1E\x7E\x3D\xD3\x33\x4D\x23\xD3\x2B\x08\x41\xD3\xAF\xAA\x19\x96\x15\xD3\xD8\xC2\x58\xD3\x5B\xCF\xDA\x5A\x39\xD3\x68\xD2\x3E\xD3\x54\xD3\xE5\xC4\x8E\x96\x8C\xC1\xE9\x93\x4B\xAB\x0C\x0E\x6A\xD3\xC1\xAB\x53\xD3\x57\xB5\x3C\xD3\x20\xB3\x60\xD3\xFD\x0A\x62\xD3\xEC\xAA\x11\xA6\xB7\x5D\x4B\xD3\x01\x01\x4D\xD3\x2C\xD3\x4F\xD3\x27\x13\x51\xD3\x3C\xB6\x76\xD3\xE4\xD2\x55\xD3\x68\xCE\xB6\x75\x2A\x4C\xC9\x9C\x5A\xD3\x27\x01\x61\xD2\x85\xD2\x9E\x93\x27\xB9\xDF\xD2\x45\xB6\x92\xB6\xDC\x34\xE2\xD2\x31\xD3\x57\xB5\x9A\xD2\xFF\xA5\x3E\x62\x35\xB6\x4E\xD3\x24\xC8\xAC\x4F\xAD\xD2\x8D\xB0\xCD\xB6\xCF\xB7\x8A\xD3\xEE\xA8\x29\xD3\x01\x01\xE3\x00\x9F\xD2\x5A\x98\xEA\x07\x7E\x58\xCC\x5A\x8F\x8C\x98\xAB\x45\xAB\x34\xD3\x02\x01\xE2\x00\x3C\x8E\xBF\xC3\x42\xB9\x5F\x5A\x2C\x3A\xA8\x5A\xB1\xD3\x6A\xD2\x2B\x31\xB3\x08\xF4\xC3\x84\xD3\x56\x58\x2B\x31\x99\xD3\xC8\xC4\x86\xC4\xDA\xC4\x06\xC4\x28\xD3\x16\xD3\x02\x01\xE4\x00\xAC\xD3\xB3\xB2\x42\x08\xF7\x36\x7F\xCE\x07\x8F\x59\xAB\xB4\xD3\x01\x01\xB6\xD3\xF7\xB9\xB8\xD3\xE0\x5A\x67\x5A\xFB\x52\xEE\x59\xB4\x8B\x3E\x3B\xC0\xD3\x9B\x84\x3E\x3B\xC5\xD3\x39\x50\xD9\xC4\xCA\xC4\xC9\xD3\x55\xB9\xB7\x5D\xAB\xA8\xC9\xBA\x5D\x0F\x31\x0B\xE3\xC0\xC5\xB5\xF5\xC7\xAC\xC6\xB3\xB5\xEF\xD2\xE0\xC9\x02\xD2\x6A\xC6\x84\xD1\x64\xD0\x3F\x9B\x66\xD0\x81\x9C\xF3\xD0\xA4\xC6\xF1\xB3\xCB\xD0\xA5\xCC\xEE\xCF\x92\xA0\x53\xD1\x13\x9D\x76\xA0\xD3\xC5\x3B\xD0\x01\xAC\x19\xC5\x12\xB6\x3F\xD0\x1C\xC5\x7A\xC7\x5A\xCB\x01\x01\xF2\xD3\xB1\xD2\xF0\xD2\x99\xD1\x19\xC8\x5B\xD1\x7D\xD0\x4E\xC9\x7F\xD0\xFC\xC9\x81\xD0\x7B\xCC\xB9\xD1\xB3\xCB\xEF\xCA\x24\xC8\x05\xD4\x0B\xC6\x07\xD4\x10\xB6\x38\xC5\x75\xAF\x14\xB3\xB2\xC2\xD9\xBF\x24\xA7\x3F\xBB\x10\xD4\xE0\xD2\xC9\xC9\x13\xD4\xE3\xC9\x05\xD2\x76\xCC\x24\xC9\x78\xCC\x26\xC9\x60\xD1\xCE\xCA\x1C\xD4\x16\xCC\x7E\xCC\x8D\xC8\x10\x0E\xB3\xA0\xDF\x5B\xA2\xCE\x15\xCB\x43\x9D\x12\xD1\x00\x00\x2B\xD4\x32\xC8\x39\xCA\x34\xD2\xC5\xCB\x36\xD2\x1E\xCB\x3E\xCA\x39\xD2\x21\xCB\x65\xCC\xEE\xD1\xCA\xD0\x30\xCD\xFB\xCC\x01\xD4\x35\xBB\x25\xD1\xAF\xCD\xEC\x03\x72\xC5\x15\xB5\xFE\x74\xF9\xCF\x9C\xB1\x43\xD4\x66\xC8\x45\xD4\xF5\xD3\xDB\xC7\x2D\xD0\xC5\xD0\x65\xD0\xC7\xD0\xE7\xCA\x76\xD1\x40\xCC\x78\xD1\xA7\xC6\x7A\xD1\x85\xB2\xCD\xA1\x8A\xC5\xA0\xBC\x3F\x0A\x5C", -"\xD4\x7D\xC8\x5E\xD4\x4A\xCB\xB2\xC8\xF9\xCB\xB1\xCF\xB3\xD0\x4D\xD0\xB5\xD0\xB5\xCF\x36\xD1\xF0\xD1\x69\xCC\x53\xD0\x28\xCB\xE0\xB4\x8E\xC8\xC0\xCA\x41\xD4\x70\xD4\xAF\xC8\x72\xD4\x5F\xCB\xC0\xC7\x7A\xD0\xF8\xD3\x98\x9B\xFA\xD3\x8D\x9E\xFC\xD3\x8A\xD1\xB8\xBB\x98\xBC\xB2\xBC\x43\x88\xA0\xCF\xF1\xB5\xA2\xCF\xA7\xB6\xC7\xB7\x72\xCB\x8E\xD0\xB2\xB5\xA6\xCA\x1B\xD2\x75\xD4\x46\xD1\x77\xD4\x99\xD0\x79\xD4\x4F\xD0\x7B\xD4\xB7\xCF\x52\xD0\xB9\xCF\x50\xCD\xDA\xB3\x87\xD0\xD6\xC5\x4C\xA1\xBE\xD1\xA4\xD3\xC2\xC8\x3B\xCD\xFF\x00\x16\x9A\xE7\xB7\x84\xD4\xC9\xC8\x2D\xD4\x83\xD1\x61\xD4\x62\xCB\x2B\xCD\xC9\xCC\x3B\xC9\xDD\xD0\x6E\xA3\xDF\xD0\x9D\xCF\xE1\xD0\x65\xBD\x13\x98\xE3\xCE\xA0\xCB\xDC\xD1\x06\xB7\xE4\xB6\x16\xD2\x7F\xB8\x27\x01\xB4\xD4\x00\xC9\x66\x61\xF4\xD3\x73\xD4\xE9\xC8\x9E\xD4\x15\xD4\x47\xD1\x7E\xD0\x49\xD1\x19\xD4\x4B\xD1\x82\xD0\x4D\xD1\x84\xD0\x26\xD2\x8E\x76\x69\xB0\x00\xB7\x86\xBD\xCE\xBA\x80\xA7\x89\xCB\x1E\xAD\x64\x94\x14\xB2\xCC\xD4\x1B\xC9\xCE\xD4\xF3\xC9\x1F\xCC\xCD\xC8\xB8\xD4\xD9\xD0\xBA\xD4\x1D\xD1\xBC\xD4\x1F\xD1\xEC\xC5\x68\xD4\xFC\xC6\x39\xD1\x2C\xCC\x55\xD0\x91\xC7\x19\x6F\x11\xC9\xA5\xD0\xC0\xB3\xC2\xD1\x85\x9A\x3D\xAD\xAB\xCC\x02\x01\xE7\xD4\x32\xC9\x0A\xCA\xB7\xD4\x49\xD0\x06\xD1\x4B\xD0\xA0\xD4\x48\xD1\xA2\xD4\x9B\xD0\xA4\xD4\x51\xD0\xF1\xD1\x7E\xD4\x6B\xCC\xBC\xD0\xF0\xCB\xD0\xC0\x5B\xCC\xCB\xD4\x9C\xD4\x46\xD4\x14\xD0\x48\xD4\xC7\xCB\x38\xD2\xEB\xD1\xC7\xAF\xED\xD1\x23\xCB\xD8\xD4\x1B\xD4\x83\xD0\x6D\xD0\x41\xD2\x7C\x9E\x54\xB7\x63\xC6\x01\xD5\x0F\xD4\x18\xD5\x5F\xD4\x80\xC8\x07\xD5\xB1\xD0\x07\xD1\xEF\xD4\x09\xD1\x1E\xD1\x66\xCD\x77\xD1\xEC\xCF\xD6\xC9\x52\xD4\xA7\xCC\xB8\xA2\xE4\xD0\x3D\xC5\x73\x65\x03\xD5\x46\xC9\x05\xD5\x9D\xD4\xC6\xCC\x62\xD4\xF9\xD3\x64\xD4\x31\xD0\x66\xD4\x0C\xD1\xF4\xD4\x05\xC8\x39\xD5\xBB\xCC\x2D\xCC\xA3\x8E\x4E\xA4\xFD\xD0\xA5\xAD\x09\x01\x3F\xD5\x5B\xC9\xE9\xD4\x58\xCA\xF7\xCB\x74\xC9\xD2\xD4\x30\xD4\xE5\xC9\x10\xCC\x5E\xD1\x12\xCC\x35\xD4\xC0\xC9\x0C\xD2\x82\xCB\x32\x5E\x11\xD1\x03\xD4\x6F\xD4\x2C\xD5\xD0\xD4\x4A\xC9\x5A\xD5\xA9\xCA\x9C\xD1\xAB\xCA\x20\xD2\xAD\xCA\x22\xD2\xAF\xCA\x3F\xD2\x41\xC7\xBB\xD1\x28\xAF\x43\xD2\xFB\xBB\x5D\x0F\x99\xC9\x75\xC5\x54\xD5\x5E\xCE\x41\xD5\x19\xD5\xEB\xD0\x15\xD0\xCD\xD1\x1F\xB0\xB5\xD1\xAA\xC7\x71\xD5\xEB\xCB\x73\xD5\x7E\xC9\x75\xD5\xDA\xCA\xFF\x00\x3D\xD1\x6E\xD4\x17\xD5\xF3\xD3\xEA\xD4\x38\xCC\x03\xD2\xF7\xD3\x44\xD5\x8B\xD4\x46\xD5\x67\xD0\x48\xD5\x20\xD1\x4A\xD5\xBB\xC8\xF2\xD1\xBD\xC8\xA8\xCC\x80\xCC\x58\x91\x2A\xD4\x68\xD5\x87\xD4\x44\xCD\x89\xD4\x95\xD5\xC1\xAE\x8C\xD4\xC1\x9F\xF2\xD4\xFA\xC6\x9B\xD5\x65\xCA\x11\xD5\xE4\xCC\x93\xCC\xB6\x84\x68\xD1\xF2\xCB\x7C\xD5\xF4\xD2\x86\xD4\x77\xCB\x75\xB4\x1C\xD2\xCC\xD1\xB3\xD1\xCE\xD1\x4D\xD4\x21\xD5\x0E\xD5\x9D\xD0\xA6\xD4\x9F\xD0\xA8\xD4\xB8\xA2\x62\x9F\x83\x98\xB4\xD5\xA3\xD5\xB8\xD5\xB2\xB6\xB1\xD1\xBB\xD5\x1E\xD2\xB4\xD1\x3B\xD2\x70\xC8\x3D\xD2\x4D\xAD\x88\xD5\x47\xCA\x26\xD5\x0E\x8D\xEF\x95\x27\x01\xE6\x00\xCD\xD2\xE0\xA7\xBF\xCC\xB3\xD4\xC9\xD5\x58\xD5\x4B\xCB\x43\xD5\xB9\xD4\xC6\xD0\xBB\xD4\x65\xCB\xBD\xD4\x3B\xAC\xAD\xD5\x0C\xCB\x9D\xD5\x41\xC9\x86\xB2\x0D\xA5\xA8\xD1\x55\xCA\x4B\x65\xB5\xD5\xDD\xD2\x12\xD4\x06\xD5\x95\xD0\x30\xD5\x09\xD5\xF5\xCC\x12\xCD\x0C\xD5\x4A\xD1\xC0\xD5\x4C\xD1\xC2\xD5\x4E\xD1\xC4\xD5\x0C\xA8\xD7\xD1\x37\xCD\x7B\xD2\x31\xCA\xF5\xA7\x2D\xD2\x3C\xBD\xC9\xD4\xFB\xCA\x67\xD5\x90\xD5\x57\xD5\xEB\xD4\xE2\xC9\xAD\x9A\x5B\xD5\x5C\xD1\xE6\xC9\x18\xD4\x12\xCA\x1A\xD4\x61\xD1\x24\xD5\x63\xD1\xD6\xD5\x49\xCA\x40\xCE\x36\xBD\x14\xCB\x4D\xCA\xD2\x9F\x4F\xCA\x5F\xB8\xBE\xCB\xE0\xA3\xDF\xD1\xFE\xD1\x2B\xD5\x0D\xD6\x2E\xD4\x11\xD6\x6C\xD5\x06\xD2\x9D\xD1\x08\xD2\x9F\xD1\x0A\xD2\xA1\xD1\x53\xCC\xCB\xC7\x39\xD4\x67\xBD\x28\xD2\x96\x86\x1E\xCD\x50\xB5\xF9\xD1\xC6\xD4\x8A\xBD\x96\xB8\xFD\xC8\xAA\x5D\xF2\xD5\xEC\xD2\xB6\xD4\x42\xD5\x9C\xCC\x85\xD1\x91\xBC\x59\xB3\x88\xD1\x2D\xBD\xC7\xA1\x9C\xCF\xEC\xCA\x9E\xCF\x83\xBD\x81\xCA\x52\xCD\x1F\xD6\xE1\xD4\x88\xBD\x3C\xD6\xA4\xBD\x3C\xCD\xE6\xD4\xDF\xD5\x0F\xD6\x1C\xCB\x1B\xD5\x70\xD1\x5E\xB7\xCF\xD5\xBE\xD5\xD0\xD1\xD2\xD5\x48\xAF\xD3\xD1\x97\xB1\x1B\xD6\x11\xA0\xF9\xD4\x6A\xCA\x69\xBD\x72\xCD\x77\x0C\x56\xCD\x34\xC6\x78\xD5\x3C", -"\x0E\x2F\xD2\x30\xB8\x40\xD6\x59\xD6\x92\xD5\xF6\xD3\xED\xD4\x76\xD4\xF9\xD5\xB4\xD0\xE9\xCF\xF8\xCC\x4F\xD4\x37\xD1\x31\xCD\xF6\xD4\x19\xCD\xB1\xD5\xF7\xA5\x1B\xCD\x4B\xD2\xFB\xCA\x2F\xAF\xBB\xCA\xD2\xAE\x52\xD2\x36\x72\xD5\xB5\xEC\xAF\xC7\xD5\x4B\x65\xAE\x00\xB7\xB4\x7F\xD5\x6E\xD1\x5C\xCA\x5D\xD6\x87\xD1\xEC\xD1\x89\xD1\x4B\xD6\x8B\xD1\xE0\xD0\x8D\xD1\x06\xBD\x94\xD4\x27\xC8\x6E\xCB\x29\xC8\x0D\xC8\x0A\xD4\xA9\x9B\xB2\xB2\x8E\xCF\x41\xD4\x90\xD6\x44\xB4\x4B\xB8\xC4\xCC\x59\xD5\xE2\xD5\xEE\xD4\xE4\xD5\xF0\xD4\xE6\xD5\xAB\xD5\x03\xC8\xE9\xD5\x01\xCC\xEB\xD5\x3B\x69\x9E\xD6\x47\x87\xA5\xC8\xA3\xCF\x52\x0B\xC0\xCF\x26\xD4\x7B\xCF\xB7\xCE\x2F\xC8\xA7\xD6\x91\xD6\x2D\xD5\x20\xCC\x2F\xD5\x46\xD6\x06\xC5\x5E\xD6\xBD\xD5\x34\xD1\x4E\xD4\x36\xD5\xFF\xD3\xED\xCF\x80\xD6\x33\xCD\xBC\xCC\xB2\xA0\x11\xCB\x56\xC5\x3E\xD4\xDD\xCF\x48\x86\xA8\xD6\xB7\xC3\x43\xB7\xE0\xD5\x74\xD4\xAD\xD6\x78\xD6\xE7\xCF\xF6\xCC\x7B\xD6\xB6\xD0\x7D\xD6\x7C\xD4\xB9\xD0\xB6\xD6\x03\xCC\x6F\xC5\x5B\xC8\x5A\xB6\xF4\xCF\x5E\xC8\xF6\xCF\xF0\xB2\x61\xC8\x76\xB6\x13\x5F\xC3\xD6\x69\xD5\x37\xCB\x94\xD5\xE3\xD5\x63\xD4\xE5\xD5\x2D\xCD\xE7\xD5\x06\xAE\x7E\xD6\x51\xD4\xD0\xD6\xEF\xCF\x6C\xD4\x1E\xBA\x44\xA7\x2A\xD5\x45\x5F\xF3\xD6\xA4\xD5\xC5\xCC\x45\xD6\x8A\xD4\xA8\xD5\x97\xD5\xFB\xD3\x99\xD5\xF3\xD4\x37\xD5\x69\xCB\xCD\xD0\x9D\xCB\xE9\xD6\xBF\xD6\x59\xCB\x59\x91\xD9\xD6\x4A\xC4\x6F\xB3\xCF\xB4\x5A\xD6\xE0\xCB\x5C\xD6\x32\xD1\x5F\xD6\xCB\xD6\xBF\xD5\xEF\xD1\xA5\xD4\x10\xD5\xA7\xD4\x1C\xAC\x1F\xD4\xD4\xCA\xA1\xCF\x17\xC5\xAB\xA6\x97\xD4\xC7\xB4\x04\xB9\x9A\xD4\x16\x5D\x06\xD7\xCA\xD5\x4A\xBC\x47\xD4\xFC\xAD\xE9\xD1\xE3\xCB\x20\xCB\xE5\xCB\x66\xC5\xE7\xCB\x0E\xD7\xAC\xD5\x10\xD7\x90\xCC\x12\xD7\x92\xCC\xBC\xB3\xAA\xD4\xDD\xAC\xD7\xC5\xE0\xD4\xD9\xC5\x63\xA7\x24\xB7\x57\xCD\x26\xB7\xB2\xD4\x0E\xD4\x05\xD7\xA9\xD6\xD3\xB8\xAB\xD6\xE1\xD5\x09\xD7\xA7\xD5\x54\xB1\xA9\xD5\x5B\xB3\xB2\xD6\xCC\xCC\x21\xD1\x7C\xB1\x6A\xD4\xF5\xB0\x14\xD7\x37\xCE\xDA\xBB\x71\xD0\xE4\xD4\xE1\xC8\xC2\xAC\x17\xAB\xF6\x64\x18\xD7\x5B\xC4\x54\xD3\x2A\xD6\xA3\x9C\xDF\xD6\x08\xD1\xE8\xCF\x0A\xD1\x35\xD5\x67\xD4\x3F\xD7\x69\xCD\x41\xD7\x6B\xCD\xC3\xB6\x68\xD6\xBE\xB3\x58\xD0\xFD\xD4\xA7\xD0\x72\xB0\x3F\xD6\xA1\x62\x68\xD7\x6B\xC4\x6A\xD7\xF5\xD5\xB0\xD0\xC7\xD6\x28\xBD\xEE\xD0\xE4\xCB\xF0\xD0\x3B\xD7\xF2\xD0\x3D\xD7\xB3\xD6\x73\xD7\x79\xD1\x75\xD7\xDA\xC8\xA9\xD4\x68\xD6\x36\xAD\x6A\xD6\x38\xAD\xE2\xAC\x63\xD7\x3B\x98\x00\xD5\xB3\xC9\xD3\x5C\x32\xD7\xDC\xD6\xD1\xD4\xDE\xD6\x9F\xD4\x79\xD6\x78\xD4\xE2\xD6\x7A\xD4\x23\xD7\x0F\xD5\x7D\xD4\x26\xD7\x7F\xD4\x23\x64\xAB\xB0\x3E\xD1\xDA\x5E\x9D\xD7\x1C\xD7\xE7\xD1\x36\xD7\x37\xD2\x4A\xD4\x1E\xD5\x0A\xC5\x20\xD5\x61\xD6\x86\xD5\xB8\xD1\x19\xD6\xBA\xD1\x66\xD6\xA5\xA7\xD1\xD0\x16\xD5\xD3\x5B\xAF\xD7\x75\xD6\x60\xD4\xC6\xD6\x0A\xD7\x56\xD7\x0C\xD7\x8D\xD4\x8C\xD7\x5A\xD7\xB4\xD6\x42\xCC\x4C\xD5\xFD\xCC\x91\x75\x3C\xD5\xC5\xCF\x38\x66\x80\xD7\x8E\xC4\x89\xB4\x44\xD6\xD9\xCC\x85\xD7\x37\xD7\x87\xD7\x39\xD7\x89\xD7\x99\xCF\x2C\xB3\x8F\xD4\x0E\xB3\x3E\xBC\x57\xC8\xB3\xBC\x9B\xBC\x8F\xC6\x24\xD6\xFF\xA5\xE7\x7D\xFC\xB0\x5E\x61\x8C\x5B\xC2\xD7\x52\xD7\xDD\xD6\x54\xD7\xF7\xD6\x45\xD5\xF9\xD6\xC8\xD0\xFB\xD6\xE6\xAE\x8E\xD7\x69\xD4\x90\xD7\xE9\x6F\xAA\xC6\x07\xC2\xD8\xD6\xED\xD7\x43\xCD\x08\xD7\xD8\xD7\xC6\xD7\xC1\xB1\x57\xD7\x94\xBC\x59\xD7\xDE\xD0\x5B\xD7\xE8\xB1\xF9\xD7\x7B\xD1\x6C\xCD\xE6\xD7\x1C\xCD\x13\xA8\x79\xD5\xAF\xB7\x9B\xD7\x31\xD7\x50\xD7\x1B\xD7\xC3\xD7\x2E\xD5\xF6\xD5\xD9\xD7\xB3\xD7\xEA\xD1\x04\xD8\x61\xCA\x71\xD7\x49\xD5\xF7\xD7\xF5\xD4\xE7\xD6\xBB\xD0\xC8\xBC\xA1\x5C\x8D\xD5\x7A\x82\xD4\xD7\xFA\xD2\x82\xD7\xD7\xD7\xF2\xCC\x02\xD8\x41\xB3\xF3\xD7\x65\xD4\xF5\xD7\x68\xAF\x20\xD8\x4B\xD5\xFF\xD6\x56\xCB\x7C\xD1\xC5\xC9\xFB\xC4\x4F\xD7\xDA\xD6\xEB\xB7\xEE\xD7\x9F\xD7\xF0\xD7\xAE\xD6\xF8\xD6\xB0\xD6\xFA\xD6\x06\xD8\xBE\xD4\x08\xD8\x3A\xB4\x35\xD8\x53\xD4\x0C\xD8\x77\xD5\x00\x76\xB3\xD5\xC0\xD7\x9C\xD7\x14\xD8\x33\xB8\x3D\xD8\x6A\xD5\xA0\xD7\xD3\xD4\x0A\xD5\xD5\xD4\xFB\xD5\xD7\xD4\xFD\xD5\xD9\xD4\xFF\xD5\xDB\xD4\x01\xD6\x34\x91\x19\xC7\xF0\xC9\x9C\xB1\x28\xD8\x10\xC3\xDB\xD6\xB0\xD7\x35\xD2\xB2\xD7\x49\xD4\x1B\xD8\xC8\xD7\xAA\xD5\x1E\xD8\x9A\xD5\x33\xD8\x9C", -"\xD5\xAF\xD5\xF3\xD1\x5F\xD7\xBE\x92\xDC\xD5\x69\x89\xE7\xB7\x63\xD8\x1E\xC3\x57\xB5\x6B\xD7\xBA\x9F\x2C\xD6\x31\xD4\x07\xD2\x33\xD4\x19\xD0\x60\xD5\x14\xCC\x37\xD4\x7D\xCC\x8A\xD5\x29\xB1\xDA\xC9\x02\xC7\x41\x9D\x7A\xC3\x23\xBD\x7F\xD7\xFE\xD7\x23\xC5\x88\xD4\x05\xD1\xF7\xD5\x7C\xD0\xD4\xD4\x17\xD4\xD6\xD4\x16\xD6\x22\xD5\x18\xD6\xDA\xD4\x25\xD5\xDC\xD4\xD4\x98\xBD\xD1\x95\xD7\xDD\xD5\x68\x96\x60\xC7\x08\xD6\xB2\x9F\x12\xB0\x66\xD7\x8F\xD6\x8E\xD8\x53\xC6\x90\xD8\x19\xD1\x2D\xD8\x76\xB3\x6B\xD8\x58\xD7\x6D\xD8\x0F\xD7\xCE\xD6\x38\xD5\x48\xD8\x3A\xD5\x02\xD6\x24\xCE\xCD\xBF\x5D\xC7\xF5\x96\x02\xA8\x54\xBD\xFE\xD4\xFF\x00\x26\xD6\x24\xCD\x13\xD8\x3B\xD8\xAA\xD6\xFF\xD7\xAC\xD6\x3F\xD8\x6D\xD7\x32\xD5\x6F\xD7\x34\xD5\xEA\xCF\xCD\xD6\x50\xD4\xCC\xD0\xCE\xD7\xCE\xD0\xF4\xD1\x37\xD6\x5C\xA4\x9F\xCE\x1F\xCD\x3B\xD6\x4B\xD7\x35\xC6\x6F\xBD\x14\xB2\x78\xD8\x4F\xC3\xD6\xD7\x92\xD6\xCC\xD5\x89\xC9\x1F\xD7\xCA\xD6\x6F\xD5\x35\xD1\xA6\xD7\xC1\xD5\x25\xD7\xC3\xD5\x54\xD0\x67\xB5\x69\xCA\xD8\xD1\x38\xCD\xBD\x85\x4D\xB2\x7C\xD7\x1B\xA0\x30\xD7\xAE\xD7\x50\xD8\xFE\xB5\x52\xD8\xF5\xD6\x77\xD6\xA1\xD7\xE0\xD6\xFA\xD5\xA4\xD7\xA3\xD4\xE5\xD8\xFE\xD5\xE7\xD8\x00\xD6\xE9\xD8\x83\xB5\x5E\x75\x9D\xBD\xCF\xC7\xE7\x85\xA0\xCA\xAD\xB7\x71\xD6\x1A\xB6\x67\xD7\xA8\xD8\xD1\xB7\x8F\xCA\x04\xD2\x7D\xD8\x5C\xD5\x77\xCC\x5E\xD5\x79\xCC\xCD\xCA\x61\xD5\x84\xD8\x1D\xD0\xBD\xD7\x65\xD1\x88\xD8\x45\xC7\x88\xB2\x84\xD6\xF3\xC7\x9E\xB4\xCD\x61\xF1\xC7\xBF\xBD\x20\xD9\xA4\xCE\x1A\x86\x8D\xD6\xBA\xA2\x73\x65\xC4\xB5\xC1\xBA\xB7\xB8\xF4\xD6\xB0\xCC\xF6\xD6\x40\xD8\xF2\xD7\x42\xD8\xF4\xD7\x44\xD8\xE8\xD5\x6F\xD8\xAE\xD5\xA9\xD7\x32\xC5\x28\xD7\x70\xAF\xB5\xCB\x63\x7B\x0C\xC8\xD8\xCA\xF3\x9C\x7F\xCC\x1B\x99\x28\xD9\x7E\xD1\xF6\x64\x2B\xD9\x72\xD6\x97\xD3\x86\xB7\xC4\xD6\xEC\xD4\xC5\xD7\x55\xD7\x03\xD8\xAE\xD8\x05\xD8\xB0\xD8\x3E\xD7\xB2\xD8\x11\xD7\xCF\xD8\x39\x6D\x03\xD4\x94\xA0\x1B\xA7\x2C\xC6\xA0\xD6\xF4\xCA\xAF\x97\xF8\x8E\x25\xD4\x41\xC8\xBF\xD6\x27\xAC\x4E\xD7\x47\xD9\x0B\xD9\x58\xB7\x4A\xD9\x2E\xD9\x93\xD5\xF8\xD8\x55\xD8\xA2\xD7\xA1\xD4\xFC\xD8\x0D\xD5\xFE\xD8\x5B\xD8\x00\xD9\x5D\xD8\x02\xD9\xDE\xB6\xE6\x74\xD4\xD6\x3D\xD4\x58\xD4\xFF\xA5\x47\xC8\x3F\xBB\x65\xD9\x96\xD3\x79\xB6\x6E\xB7\xDE\xD8\xCB\xD1\xE0\xD8\x82\xD5\xED\xB3\xD0\xD5\x42\xCA\x6A\xD0\x23\xD5\x9A\xD8\x1A\xD6\x9C\xD8\xF2\x97\x2A\xCB\x71\xC5\x2C\xCB\x73\xC5\xF0\xD6\xAD\xD7\x01\x01\x7E\xD9\x14\xBA\x46\xB6\x9C\xB8\x82\xD9\xBA\xD5\x84\xD9\xBC\xD5\x83\xD5\x87\xD9\xB6\xD1\x62\xD6\xA3\xB0\x64\xD6\x32\xB3\x86\xD8\x2E\x6E\x0D\xD0\x9C\xB1\x96\xD9\xD6\xC7\x9B\xB8\xA6\xD3\x7B\xD8\xDE\x9F\x6C\xD9\xFA\xD8\x7A\xD6\x70\xD7\xCB\xD8\x72\xD7\x54\xD9\x40\xD7\x56\xD9\x42\xD7\x76\xD9\xC2\xCF\x8B\xBB\x82\xD4\x66\xD5\x27\x01\xA9\xD9\x2A\xBA\x65\xB8\x32\xB8\xF5\xD8\xC4\xD8\x53\xD7\x01\xD8\x4E\xD9\x2E\xD8\x33\xD9\x30\xD8\x35\xD9\xFC\xD6\xE5\xD6\x38\xD1\x22\xD8\x3C\x79\x39\xD0\x06\xD4\x36\xC5\x6F\xCB\xA5\xBB\xF0\xAD\x2F\xD7\x7E\xD7\x38\x66\xBF\xD9\x3A\xBA\xD2\xB8\x15\xD8\xF6\xD8\x2F\xD9\x6B\xD9\x12\xD6\x16\xD4\xFA\xC9\x15\xD6\xAF\xCB\x16\xD9\x83\xD8\xBB\xD7\x1D\xD4\x1A\xD9\xC8\xB2\x78\xD7\x57\xD0\xFC\xD4\xDE\xB3\x4A\xD7\x6E\xD6\xD3\xC7\x8B\xB3\xC6\xC8\xA5\x5B\xDA\xD9\x55\xBA\x03\xB8\xC2\xD9\x05\xB8\x68\xB8\x0F\xD9\x30\xD9\xC7\xD8\xAF\xD6\x33\xD5\xF1\xD4\x52\xD9\x8D\xD7\xB5\xD9\x74\xD7\xB7\xD9\x76\xD7\xF0\xCF\x6C\xAA\xC5\xD4\xD7\xD8\x6F\xD6\xDE\xBB\x14\xB2\xF6\xD9\x81\xBA\x82\xB8\x83\xD7\xC4\xD0\xF1\xD7\x96\xD5\x2F\xD8\x47\xD5\x31\xD8\x24\xB0\x37\xD9\xEA\xD5\x71\xD8\x9E\xD5\x43\xD7\xEC\xD9\x88\xD0\x7A\xD7\xEF\xD9\x8B\xD0\x24\xD6\xFC\xC8\x0A\xD6\xBF\xC5\x3F\x0A\x0F\xDA\x9D\xBA\x11\xDA\x2B\xD8\x29\xCD\xC7\xD9\xAD\xD8\x16\xDA\x98\xD5\x18\xDA\x2E\xB3\xCC\xD7\x0E\xD1\x0A\xD8\x6B\xD4\x1E\xDA\x69\xCA\x94\xD7\xB2\xC7\x23\xA9\xF9\xBB\x0B\xDA\xF2\xD9\xFF\xD4\xA9\xD0\x04\xD7\x29\xDA\xE1\xD4\x2B\xDA\x9A\xD9\x6B\xD5\x7A\xCB\x6D\xD5\x17\xD0\x80\xD8\x09\xD2\x82\xD8\x1B\xD0\x18\xD9\x37\xD0\x8D\xD9\x15\x75\xAC\xD7\x8E\xD5\x09\x01\x43\xDA\x48\xD7\xC1\xD9\x65\xD8\x16\xD8\xC5\xD6\x18\xD8\xAC\xD8\xD3\xB6\x50\xD9\x1D\xD8\xB3\xD9\x1F\xD8\x04\xDA\x8F\xD7\x06\xDA\x91\xD7\xB8\xA2\xBF\xD7\x66\x9E\x56\xDA\xED\xD8\x45\xDA\x4B\xD9\x10\xD6\x6C\xD7\xF9", -"\xD8\x6E\xD7\xE1\xD6\xB2\xD9\x7C\xD6\xCC\xD8\xFD\xD6\xCE\xD8\xB4\xD8\x4D\xD5\xD0\xD7\x92\x74\x59\x91\x6A\xDA\xB3\xC7\x1B\xB8\x51\xD7\xC4\xD9\xEF\xD7\xC6\xD9\x14\xDA\x0B\xD7\x30\xDA\x0D\xD7\x32\xDA\x31\xBB\x63\xDA\xF8\xD7\x65\xDA\x24\xD1\x4A\xD8\xA6\xD1\xB9\xD8\x51\xD5\x4B\x88\x55\xDA\xB6\xB8\x81\xD9\x6D\xDA\x5B\xD6\x68\xD8\x1C\xD5\xB4\xD7\x1C\xD8\x4B\xAE\xA5\xD7\xE4\xD6\x24\xD7\xA8\xD7\xE8\xD8\x21\x64\x65\xD5\x93\xD1\x4B\x65\x7D\xDA\x3B\xA9\x2D\xD9\x07\xD7\xC5\xD8\x83\xDA\x31\xD9\x15\xDA\xC9\xD9\x17\xDA\xCB\xD9\xF6\xD7\x8A\xDA\x21\xD8\x1C\xDA\xEC\xD5\x82\xD6\xD7\x9C\x28\xD1\x16\x91\x7A\x82\xA6\xDA\x13\xD3\x95\xDA\x69\xD9\x76\xD6\x4D\xD9\x84\xDA\xC7\xD7\x86\xDA\xC9\xD7\x88\xDA\xC3\xBC\x1A\xDA\xB5\xD6\xB4\xDA\x0E\xCB\x9F\xD5\x25\xD8\xC9\xB7\xD9\xBB\x28\xDA\x94\xDA\x68\xD9\xA9\xDA\xC5\xD9\x2C\xD8\x2E\xDA\x5E\xDA\xC3\xDA\x6C\xD8\x61\xDA\x6E\xD8\xB2\xDA\x34\xD8\xCF\xD9\xF7\xD4\xCB\xDA\x5D\x0F\xCA\xBC\xAC\xC6\xBB\xDA\x0E\x8E\xF8\xD9\x59\xDA\xDE\xD9\x6A\xD9\xC0\xDA\xAC\xDA\x85\xDA\xAE\xDA\x31\xDA\xB0\xDA\x32\xD8\xDB\xDA\x70\xD8\x39\xD9\xB0\xD5\xE8\xA2\x4F\xD5\x54\xA4\xB5\x95\xE0\xBC\xA8\xD9\xD0\xDA\x99\xD9\x96\xDA\x1D\xD7\x98\xDA\x95\xD6\x48\xD6\x97\xD6\x4A\xD6\xC8\xA2\x7D\xB4\xF6\xB7\x35\xDA\x8C\xDA\x0B\xD8\x3B\xD1\xC8\xB4\xAA\xCC\x12\xD8\x02\x01\xE3\xDA\xD5\xC7\xE5\xDA\x3C\xD8\x81\xDA\x3E\xD8\xAB\xDA\xFE\xD9\x41\xD8\x00\xDA\xB1\xD6\x02\xDA\xCB\xD7\xC7\xDA\xCD\xD7\x78\xDA\xCF\xD7\x29\xCB\x8E\xD3\xE2\xB4\x2D\xB8\xBD\xD9\x93\xDA\x2C\xD9\xBD\xDA\xD2\xDA\x82\xDA\xD4\xDA\xC1\xDA\x4F\xD9\xD7\xDA\xAF\xD8\xD9\xDA\xB1\xD8\xCD\xD8\x00\xD4\x1D\xDB\xD0\xD8\x4E\xD5\x5C\x8E\xF6\xDA\x1C\x85\xF2\xD8\x95\xD9\xFA\xDA\xAC\xD9\x12\xDA\xD8\xD0\x15\xDB\x32\xD9\x17\xDB\x43\xD8\x19\xDB\x07\xD8\x34\xDA\x22\xD1\x36\xDA\x5E\xD7\x51\xCD\x32\xCE\x5C\xC7\x90\xC6\x37\xB6\xC0\xD1\x14\xB5\xF0\xD8\xC3\xD1\x0E\xDA\x3A\xDB\x66\xB8\xAD\xD9\x0F\xAC\x62\xCC\x9D\xD9\x86\xD9\x60\xD6\x3C\xD2\xB9\xD7\x3E\xD2\x33\xD6\x8B\xC8\x35\xD6\x2B\xB2\xE6\xCC\x9F\xD8\x15\xA7\x53\xBD\x22\xD6\xB0\xD4\xBF\xD8\x42\xD0\x03\x01\x0E\xDB\x3D\xB6\x67\xD9\xFB\xDA\xBE\xDA\xC4\xD7\x5C\xDA\xD5\xDA\xAA\xBC\x5F\xDA\x9C\xDA\xFD\xD8\x9E\xDA\xA7\xD7\xE6\xD6\xC9\xDA\xE8\xD6\x48\xDB\xEB\xD8\x04\xD6\xD2\xAB\x6D\xCA\x12\x7C\xBD\xD8\xFD\xD1\xC0\xD8\x0D\xDB\x52\xDB\xF9\xD9\x67\xB8\xF3\xA0\x36\xC9\x54\xD8\xE1\xD9\x94\xD8\xE3\xD9\x96\xD8\xE5\xD9\x17\xD6\x36\xD4\xE8\xD9\x38\xD4\xA5\xD9\x87\xAE\x10\xD2\x21\xDA\x17\xA0\x86\xCA\xEE\xD6\x0F\xD8\x57\xD6\x38\xDB\x00\x00\x6A\xDB\x31\xC6\x7F\xDA\xDD\xD9\x12\xDB\x53\xD8\xC6\xD8\x70\xDA\xC8\xD8\x72\xDA\xCA\xD8\x74\xDA\xB4\xD9\x30\xDB\xCF\xD6\xDD\xDA\x81\xD6\x03\xD9\x04\x68\x69\xB5\x78\xB8\x9F\xCA\xCA\xC1\x8C\xD0\x75\x97\xCE\xB8\x15\xAF\xBE\xD9\x85\xDB\xE6\xDA\xA3\xDB\xF7\xD8\xE9\xDA\x3E\xDB\xAD\xDA\x40\xDB\x34\xD9\x42\xDB\x45\xD8\x44\xDB\x5C\xD7\x46\xDB\x29\xB2\x34\xDB\xD0\xA7\xDB\xC9\x44\x62\x6F\xCD\xA8\xB5\xEA\xB8\x38\xA9\x48\xD2\x23\xD9\x4A\xD2\x25\xD9\x76\xD2\x7A\xC3\xE7\x00\xB0\xCE\x49\xDB\x15\x81\x0F\xDB\xA1\xDB\xA3\xD3\x70\xC0\x3C\x0E\xFA\x08\xE8\x00\x9C\xD3\x4A\xA8\x45\xB8\xE9\x00\xD9\xDB\x1D\xD6\x4A\xDB\xE7\xD7\x2D\xC8\x34\x59\xD6\xB5\x41\xD4\xFE\xB8\xB7\xBE\x54\xDB\xAF\xAC\x1B\xD1\x7F\xC5\x73\xDB\xFD\xAF\xCA\xD7\x43\xDB\x1B\xDB\x06\xDB\x32\xDB\x57\xD9\xA4\xDA\x59\xD9\x0A\xB0\x21\xD4\xD3\xD9\xA1\xD6\x40\xD9\xB0\xB2\xB1\x8F\xF5\x9C\x25\xD0\x96\xB2\x67\x27\xA9\xBD\x93\xD6\xEC\xD0\xE1\xD8\x9E\xD9\x59\xDB\xD1\xD5\x5B\xDB\xD3\xD5\x5D\xDB\x0D\xC9\x38\xD0\x3B\xD9\x5A\xD9\xEB\xD9\xA5\xB6\x57\x78\x1F\xA7\x3A\xC5\x77\xAF\xFA\xCA\xBF\xC5\x59\x91\xEF\xDB\xC9\xBE\xF1\xDB\x05\xB5\xF3\xDB\xA6\xC7\xF5\xDB\x3D\xB1\xEE\xDA\x19\xDA\xF0\xDA\x38\xD9\xA1\xDA\x12\xD5\x08\xDA\x38\xBB\x54\xC5\xDA\xCF\x9A\xDB\xD1\xB1\x3D\xBB\x30\xA7\x3F\xBB\x21\xDC\xE1\xBE\x52\xC6\x0E\xD9\x60\xCB\x10\xD9\x48\xDA\x2D\xD6\x6E\xD5\x2F\xD6\x21\xD2\x31\xD6\x23\xD2\x13\xDC\xAE\xC9\x5E\xD8\x0B\xA7\x53\xBB\x90\xD9\x6D\xAC\xED\xD6\xFA\xD1\xF7\xCF\x11\x0E\x31\xCB\xF2\xCB\x38\xDC\x97\xC9\x23\x9D\x6E\xDB\x17\xD8\x84\xD7\x5D\xDA\x72\xDB\x2C\xDB\x51\xD9\x2E\xDB\x53\xD9\xAC\xDB\xB3\xD8\xAE\xDB\xD1\xD6\x13\xD5\xB1\xB5\x6B\x8F\x04\xD7\x52\xDC\xCC\xDB\x54\xDC\x27\xDB\x13\xDB\x29\xDB\xEA\xDA\xC2\xDA\xEC\xDA\x87\xDA\x29", -"\xDC\x33\xDA\xF9\xDB\x45\xDB\x07\xDB\x37\xDA\xB9\xD9\xEB\xDB\x15\x8B\x44\xD9\xA5\x6A\x66\xDC\x89\xD8\xF1\xA0\x9E\xD7\xA4\xDB\x14\xDB\xA6\xDB\xFF\xD9\xC9\xD8\x01\xDA\x5C\xDC\x03\xDA\x5E\xDC\x55\xD9\xFB\xDB\x6C\x6D\xD1\xD9\x00\xDC\xB8\xC5\x87\xA6\x70\xCB\x99\xB4\x99\xD4\xD8\xD9\x73\x65\x7B\xDC\x1D\xD9\x32\xBC\x66\xD8\x35\xD7\xD1\xB0\x86\xD7\x71\xD1\xEF\xD0\x73\xD1\xF1\xD0\x75\xD1\xC5\xDA\x02\xBD\xC6\xDB\x09\xD8\x74\xDC\x47\xDB\x92\xD7\x85\xCB\xED\xD9\xD6\xCB\x88\xCB\xF0\xD9\x72\xD0\xF3\xD9\x26\xDA\x45\xD9\x4B\x65\x94\xDC\xA3\xBC\x55\xDC\x5B\xDA\x57\xDC\x71\xDB\x1C\xD1\xC2\xDB\xCA\xD9\xC4\xDB\x36\xD9\x2B\xDC\x1B\xDA\xF2\xDA\x72\xD8\x2F\xDC\x95\xBA\x0A\xDA\xF1\xD9\xDD\xD1\xC8\xD4\x65\xD7\x2A\xD2\xB0\xDC\x0A\xDC\xDF\xD8\x6F\xD1\x0D\xDC\x58\xDB\x21\xD7\xB8\xD7\x43\xDC\x72\xD5\x45\xDC\xA3\xD1\x47\xDC\xA1\xD0\xF4\xBB\x8E\xA1\xF8\xC8\xAD\xD4\xFA\xC8\xA3\xD8\xC2\xB3\xAE\xDC\x65\x64\xB1\xDC\xE3\xBC\x46\xDA\x8A\xDB\x11\xD9\x13\xD6\x5D\xD5\xE4\xD9\x5F\xD1\xE6\xD9\x4E\xDA\x92\xDB\x85\xD8\xEA\xD9\x84\xCB\x04\xD9\x44\x90\x2E\xC6\xB9\xCB\x47\xD7\xED\xD8\x3D\xDA\xC3\xDC\xC7\xD4\x27\xB7\x9A\xD7\xCE\xDA\x09\xDC\x0E\xBD\x45\xB7\xA5\xD5\x91\xD8\x19\xD8\x69\xD8\x38\xD7\x4B\xD4\x3A\xD7\xDE\xD7\x2F\xBB\xE0\xD7\x04\xDB\xE2\xD7\x74\xC8\xE4\xD7\xA2\x9D\x53\xDA\x7A\x82\xDF\xDC\x41\xBD\xE1\xDC\xA5\xDB\xAF\xD9\x71\xDA\xFB\xD8\x73\xDA\xE3\xD6\x75\xDA\xCD\xD9\x7F\xD6\x60\xDC\x00\xD7\x67\xDA\x28\xD5\x0B\x88\x9C\xB1\x0E\xDD\x59\xBD\x3C\xDB\x9A\xD1\xE3\xDC\xE2\xD9\x5D\xD1\xE6\xDC\x5F\xD5\xE8\xDC\x0B\xD2\x4F\xDA\x0D\xD2\x51\xDA\x99\x6F\xD1\xD7\x8D\xBB\xA5\x5B\x20\xDD\xA5\xA3\x23\xDC\xA0\xB7\x93\xD8\x56\xD8\x95\xD8\x58\xD8\x97\xD8\x5A\xD8\x8A\xD9\x5C\xD8\x9B\xD8\xD4\xDC\x41\xA7\x4B\xD8\xA9\x8A\x91\xDA\xA9\x72\x3F\x0A\x32\xDD\x90\xC6\x34\xDD\x85\xC7\x25\xDC\xA3\xC9\x9B\xDA\xF6\xDB\xA0\xDC\xA5\xC6\xA2\xDC\x47\xD8\x1A\xDD\xB7\x6E\xA3\xDA\xE5\xD0\x93\xDC\xC9\xDC\x83\xD9\xCB\xDC\x85\xD9\xB8\xB6\x84\xD5\xA9\xC9\x89\xD9\x99\xD8\x3D\xDD\x8C\xD9\x3F\xDD\xA5\xD1\x1C\xD9\xAC\xDC\x9E\xBC\x11\xD8\xF9\xDC\x09\x01\x46\xDD\x24\xD6\x48\xDD\xDD\xC7\x36\xDD\x6D\xD9\x0B\xD5\x6F\xD9\xFC\xD5\x71\xD9\x3C\xDD\x73\xD9\x3E\xDD\x75\xD9\x5F\xD8\xB1\xC9\x71\x95\x65\xDC\x57\xDD\x9B\xD9\x59\xDD\x57\xDB\x5B\xDD\x9F\xD9\x85\xD5\xD0\xDC\x87\xD5\xD2\xDC\x25\xD2\x62\xDD\xD5\xC6\x65\xB1\xED\xC6\x23\xDB\xB1\x29\x7C\xDD\x47\xDA\x1D\xD2\x49\xDA\x1F\xD2\x41\xDC\x70\xD5\x83\xDD\xBA\xD7\x8B\xD9\xBC\xD7\x2D\xDD\x43\xC7\x64\xDD\x6D\x8D\x4D\xD8\x66\x9E\x6A\xDD\x0E\xD8\x54\xAF\x7E\xDC\xBE\xDB\x70\xDB\x2A\xDB\xC8\xD9\xB8\xDC\xAF\xDA\xBA\xDC\xCC\xD9\x9F\xDA\x78\xDB\xBE\xDC\x1D\xDA\xC8\x8C\xC6\xD5\x29\xD9\x51\xDC\x8D\xDD\xE2\xDC\x3E\xDC\x7E\xD8\x2E\xD6\x4B\xDA\x30\xD6\x4D\xDA\x2A\xDD\xEA\xDC\x19\xD9\x98\xDD\x6F\xA1\x2F\xC7\x31\xC7\x3E\xA2\x9E\xDD\x94\x6B\x5A\xDA\x4C\xD9\xA3\xDD\x6C\xDC\x2B\xDB\x6E\xDC\xC4\xDA\x70\xDC\x89\xDA\x87\xDC\xB6\xD9\x89\xDC\x07\xDA\xB6\xDA\xEA\xA2\xFF\xA5\xEC\xA2\xF0\xD5\x45\xDD\xB2\xDD\x11\xDD\x8B\xDB\x37\xDD\x8D\xDB\x39\xDD\x8F\xDB\x98\xD8\x91\xDB\x96\xDD\xE9\xD9\xBD\xDD\x67\xD6\xE8\xDB\xDB\xDB\x4B\xDB\x5E\xC7\x6A\x89\xEA\xCC\x4F\xDB\xF8\xA7\x9D\xDB\xC2\xDD\x72\x68\xA1\xDD\xDF\xD9\xBF\xDB\x81\xDC\x16\xDB\x83\xDC\x18\xDB\x85\xDC\x1A\xDB\xBC\xDC\xC8\xDA\xAC\xDD\xB5\xDA\xB0\xDB\x3F\xBF\x1E\xD6\xB9\xD8\x01\xA8\x7A\xB8\xBC\xD8\xEA\xDD\xBE\xD8\x14\xB2\xED\xDD\x80\x6D\x69\xDC\x7F\xDC\x6B\xDC\xC0\xDB\xEB\xDA\xA6\xDD\xED\xDA\xA8\xDD\xB1\xDA\xCD\xDD\x05\xDA\xCF\xDD\x66\xDA\xB6\xD8\x68\xD6\xEC\xD8\xF7\xD1\x23\x09\x6E\xCA\x03\xDE\x82\xDB\x68\xDB\xCC\x31\xD7\xDD\x80\xDC\x12\xDD\xA7\xDB\x14\xDD\xA9\xDB\x16\xDD\xAB\xDB\x76\xDA\x31\xDB\x52\xDD\x49\xD8\xFE\xCC\xB1\xDB\x05\xD9\x97\xDB\x7F\xA7\x54\xD6\x3E\xDA\xC4\xDC\xFF\x00\x3D\xCD\xA6\xD8\xD6\xDD\xFB\xDC\x77\xBC\xAA\xD8\x30\xD1\x9C\xD9\xCE\xD5\xE2\xD8\x92\xDD\xE4\xD8\x76\xDB\xE6\xD8\xA0\xDA\x01\xD9\xAA\xD7\x34\xBD\x16\xDE\x7D\xDB\xBC\xBD\x89\xB5\xB5\xDB\x24\xDA\x0D\x8E\xD5\xC7\xCF\xB8\xFA\xDC\x09\xBB\xC4\xDD\x6E\xDA\x7C\xD8\xB4\xDD\x12\xD9\x32\xD4\x14\xD9\x34\xD4\x29\xDD\x32\xD6\x62\xD5\x54\xCC\x94\xDB\x2D\x76\x41\xDD\xF9\x63\xB6\xCA\xCF\xDB\x23\xDA\x58\xD2\x87\xD6\x72\xAB\x62\xDE\x8F\xB0\xF0\xD3\x1F\xCE\x27\xA6\xB4\xC5\x16\xDC\xFF\xDB\x5B\xD9\x20", -"\xBF\x3F\xD9\xD0\x8E\xA5\xCF\xD6\xD9\x05\xBB\x44\xD9\xC4\x73\x6B\xDE\x27\xD7\x58\xD9\x09\xB0\x4E\xAF\x2A\xD7\xBA\xD6\x1B\xDC\xF8\xCA\xCB\xD3\x28\xD4\xC1\xD6\xE8\xD4\x4B\x65\x78\xDE\x44\xDE\x48\xDC\xD3\xD6\xCC\x97\x12\xCB\xD6\xD6\x35\xDC\x52\x88\x07\xCE\x25\xA6\x5F\xDB\x81\x99\x70\xC5\x37\xA7\xB4\xAF\x19\xB3\x33\xDC\x60\xC8\xF8\xCF\x93\xAE\xDB\xA7\xC4\x5E\x1D\x98\x66\xBD\x74\xB6\x02\xD7\x8D\xAC\x19\xDC\x73\x65\x86\xDE\x2E\xDC\x1F\xDB\x1D\xDC\xA1\xC5\xA6\xD6\x84\xDE\x1A\x5B\x9D\xDE\xB8\xD6\xF1\x76\x96\xD4\x8F\xDC\xC0\xAC\xBD\xC5\xAE\xDC\x23\xA8\xA4\xDE\xF3\xDA\x16\xAD\x69\xB0\xDE\xAC\xF6\xD1\x3C\xDA\x97\xD7\x15\xC9\xE8\x9D\x84\xA7\x77\xDE\x9D\xDE\xC3\xD4\x41\xCF\xF4\xC5\xBD\xD8\xA3\xCB\x97\x98\xA1\x62\xB5\xDE\xBF\xDC\xA6\xDC\xEE\xDC\x0D\xC6\xA8\x8B\xD8\xDC\x62\xDB\x6B\xDB\x32\xC6\xAB\xDC\x98\xD7\x07\xB7\x84\xA7\xB4\xDE\xC1\xDE\xF3\xBB\xD3\xCB\xA3\xD0\x14\xBC\xD9\xDC\xD7\xCB\x14\xD2\xD9\xCB\x1B\xBC\x8F\xC3\x13\xB9\x91\xDE\xA6\x99\x14\xD5\xE7\xC0\x06\xC2\x85\xDE\xD8\xDE\x73\x98\x68\xDA\xD5\xA7\x90\xDE\x5D\xDE\x09\x9F\x2F\xDD\xF5\xA5\xEE\xDE\xEC\xDC\xE6\xA7\xD2\xCC\x39\xDC\xE8\xD7\x81\xB7\x3C\x8E\xAB\xDE\x7F\xC9\x02\x81\xB5\xA7\xCD\xD4\xE9\xDE\xE4\xDE\xC1\x61\x0D\xD8\xA1\xCA\x7A\xD5\xE2\xDE\xBB\x5C\xEA\xDE\x81\x98\x6D\xCC\xC5\xA7\xED\xDE\x18\x5E\x08\xDF\x83\xBB\x38\xD8\xB8\xA9\xC9\xDE\xAD\xDD\x03\x75\x03\xDF\x7B\x98\x96\xCC\x1F\xA4\x9B\xDE\x12\xDF\xFB\xDD\xAE\xDD\x60\xD8\x8E\xD6\x19\xDF\x0E\xDF\x94\xAF\xBF\xDD\x92\xD1\x40\xD5\xF6\x64\x1A\xDF\xCA\xDA\xF4\xDA\x35\xDB\x45\x9F\xD3\xDD\x15\xA8\xA3\xDE\x20\xDF\x2E\xCA\x9E\xD8\x3B\xDA\xE1\xA7\x3C\x04\xE9\xDD\xDF\xDE\xFA\x91\x2C\xDF\x25\xDF\x2E\xDF\x25\xD1\x2F\xCA\x78\xB8\xDA\xD1\x50\xCA\x4D\xDC\xD5\xAD\x67\xDB\x95\x80\xFB\xDE\xEF\xDE\x60\xDB\x96\xDB\x78\xB8\xBD\x8D\x80\xDB\x1B\xDE\x37\xDF\x00\xDF\x44\xDF\xD6\xD1\x51\xD6\xFF\xDD\x85\xCA\xEF\xD8\x35\xDF\x8B\xBD\xD6\xDE\xA5\x5B\x26\xDF\x7A\xDB\xEA\xD8\xCC\xDE\x69\xD6\x31\xDF\x47\xD2\x6C\xD6\x2C\xD2\x97\xDE\xE0\xC8\xD4\xC7\x6B\xDB\x30\xA8\x0D\xDF\x01\xDF\x8F\x7B\x5F\xDE\x41\x6B\x61\xDE\x6F\x8F\x53\xD2\xC7\xDC\x65\xDE\x91\xB2\x70\xCD\xE3\x6B\x40\xA8\xF5\x92\x73\xA6\xD1\xDB\x6D\xAA\x94\xA6\xCD\x69\xF3\xCA\xAC\xA6\x60\x81\xDD\x2B\x25\x3C\xB7\x5D\x8C\x08\x9C\xA6\x2A\xC2\xE0\xD1\x93\xA6\x29\xD7\x3B\x5B\x79\xDF\x21\x10\x71\x35\x76\x00\x7D\xDF\xE5\x5A\x4C\x06\x80\xDF\xCC\xBD\x1F\xA9\xA8\xA6\x78\xDF\xAF\xDE\x77\x60\x8A\x03\x25\x3C\xE3\xDB\x48\xA5\xA9\xD3\x00\x00\xDE\x18\x71\x66\x1A\xB9\x45\x5A\x3C\x8E\x61\x60\x1D\xA6\xDF\xB7\x33\x00\xE3\xD3\x76\x45\xA1\x7C\xEE\x00\x3C\x8E\x3B\x00\x94\xD3\x27\xA2\x76\x5F\x2B\xB9\x57\x09\x4B\xB9\xF6\x6D\x4D\xB9\x03\x01\xEB\x00\x21\xC2\xCA\xB1\x34\xB9\x58\x01\xFD\x69\x65\xD3\x26\xD9\x9A\xDF\x3D\x60\x9C\xDF\x06\x01\xED\x00\x9E\xDF\xA9\xDF\xE0\x99\xA2\xDF\x41\x8E\xC5\x3C\xA5\xDF\xA7\xDF\xC0\xDF\x76\xA1\xAB\xDF\x4A\xB9\xEB\x09\xBD\x6A\xB0\xDF\x02\x01\xB2\xDF\x50\xB9\x39\xA2\xB5\xDF\x8A\xD3\x8B\x35\x96\xDF\xC8\xD2\x45\xB8\xEF\x00\xE7\xDB\xFF\xCC\x92\x8D\x73\xD2\x6E\x56\x2D\x08\xBA\xD9\xED\xDB\x8B\xDD\x7D\x7E\x24\x92\x4E\x92\x22\xDD\x14\xD4\xD9\xDD\x6F\xDD\x57\xD8\x71\xDD\x59\xD8\x73\xDD\x5F\xDD\x75\xDD\x61\xDD\x79\xDE\xFD\xDB\x7B\xDE\x26\xC8\xB9\xD6\x5C\xD9\xBB\xD6\xEB\x92\x04\xDC\x04\xAC\xF7\xB5\xBC\xD9\xA4\xDA\x3F\x0A\xE0\xBA\xAB\xC4\x70\xDF\x05\x8F\x97\xDC\x1A\xD5\xFE\xDA\xCC\xDC\x80\xDD\x0F\xDC\x88\xD9\xD1\xD1\x12\xDC\x5B\xDE\x34\xD6\x1E\xD4\x7A\xDE\xE8\x99\x3C\xD9\xA2\xBB\x8D\xDC\x18\xC5\x24\xD4\x0E\xC8\x52\xC5\x27\xD4\xC3\xCF\x9E\xA0\x3F\xBB\xFE\xDF\xDE\xC3\x76\xCD\x93\x8F\xE7\xDA\xBF\xDA\xC6\xDD\x0B\xDE\x6D\xDC\x0D\xDE\x6F\xDC\x0F\xDE\xEF\xDA\x11\xDE\x64\xDA\x13\xDE\x8D\xDA\x73\xD8\xAD\xD3\xFD\x0C\x31\xB6\x7A\xD9\x40\xB6\x40\xD4\xE1\xDF\x02\x01\x1B\xE0\xFE\xC3\xED\xC7\x53\x69\xEF\xDD\xE8\xDA\x21\xE0\xF2\xDD\x3F\xDB\xF4\xDD\x41\xDB\xF6\xDD\xF8\xDB\xF8\xDD\x1C\xDB\x29\xDE\xB5\xD8\xFB\xAC\x82\x99\x2B\xCB\x4B\xDC\x96\xDE\x3F\xDF\x1B\xB3\x99\xDE\xE0\xAA\x66\x9E\x35\xE0\x3D\xC4\x8A\xD6\xE4\xDF\x2C\xDA\x60\xCD\x58\xDC\xB7\xDC\x3E\xE0\xC3\xDB\x40\xE0\xC5\xDB\x72\xDC\xC7\xDB\xA4\xDC\xC9\xDB\xEC\xA0\x6D\xD4\x7A\x82\x50\xE0\x80\xC4\x6B\xDF\x25\x92\x10\xDD\x20\xDE\xE7\xDF\xB0\xD9\xA3\xD7\x15\xDD\x9D\xDA\x17\xDD\xAA\xDD\xCE", -"\xD9\x79\xDB\x23\xD8\xA6\xDE\x17\xE0\xBB\xD9\xA9\xDE\xFC\xDF\x10\x54\xE3\xDF\xA9\xB5\x81\x91\x51\xDE\x97\xDA\x99\xDC\xDA\xD7\x9B\xDC\x88\xD7\x9D\xDC\x8A\xD7\x9F\xDC\xCB\xDD\xC6\xDA\x42\xE0\xFA\xDB\x44\xE0\xC9\x8E\x8B\xDC\x6F\xDE\xA2\xDE\xBE\xAC\xB0\xDE\xA8\xB6\x91\xDC\xDD\xDC\xA5\x5B\x63\xE0\x02\x8F\x00\xE0\x1E\xE0\xBD\xDB\xF0\xDD\x3B\xE0\x21\xDE\x82\xDC\xA8\xDB\x84\xDC\xAA\xDB\x62\xDA\x28\xE0\x8B\xDA\x2A\xE0\x08\xDB\xF8\xD4\xA7\xDC\x4B\xA1\xC0\xBB\xA9\xDC\xA6\xD0\x53\xDF\x5B\xD0\xF4\xD9\xAA\x5D\x94\xE0\x28\x8F\x96\xE0\xDF\x8F\x7C\xE0\xFD\xDA\x7E\xE0\x1A\xD8\x01\xDD\xB5\xD7\xA6\xC9\xB7\xD7\x5A\xDB\x94\xDD\x5C\xDB\x0B\xE0\x5E\xDB\x4D\xDF\x52\xBB\x3E\xC0\xC2\xDC\x65\xDD\x0D\xDA\x9D\xDB\xAF\xE0\x39\xD6\x65\xE0\x53\xE0\x67\xE0\x0A\xDE\x3C\xE0\xC1\xDB\x58\xE0\xB9\xDC\x5A\xE0\xBB\xDC\xA1\xE0\xB3\xDA\xFA\xDD\x27\xDF\xB7\xDE\xD6\xDC\x22\x0D\xCF\xDE\x5C\xDF\xDC\xDB\x49\xD7\x63\xDE\xA1\xCA\xFD\xBB\xD5\xDD\x78\xE0\x5F\xC4\x80\x91\x6C\xDD\x4A\xD0\x6E\xDD\x6A\xE0\x6E\xD9\x6C\xE0\x75\xDB\x6E\xE0\x77\xDB\x70\xE0\xD5\xE0\x58\xDF\x38\xDA\x5A\xDF\x3A\xDA\xBA\xDE\x96\xD7\x14\xC9\x19\xBC\x91\xB0\x52\xAF\x62\xE0\x79\xE0\xF6\x90\xE5\xE0\x08\xD5\xE7\xE0\x13\xDD\xB1\xD9\x24\xDE\x6D\xE0\x26\xDE\x18\xDD\xFE\xD6\x89\xE0\x1E\xDB\x36\x63\x0C\xDD\x75\xC5\xC7\xE0\x95\xC7\xB1\xE0\x3D\x91\xB3\xE0\xB1\xD7\xB5\xE0\x00\xDD\xDB\xD7\x02\xDD\xDD\xD7\x5C\xDD\x96\xCA\x5E\xDD\xDF\xDD\x60\xDD\x97\xDD\x87\xDD\x15\x6B\xEC\xDE\x04\xD7\x0C\xE1\xD4\xD8\x67\xDE\x71\x92\x1F\xE0\x6F\xDB\xB5\xDC\xA4\xDD\x2F\xDA\xC9\xDD\xD8\xDA\x9F\xE0\xDA\xDA\xD3\xE0\xDC\xDA\x71\xE0\x3A\xD1\x7A\xDA\xAC\xD1\x4E\xD7\x21\xE1\x29\x90\x20\xD9\xFD\xE0\x92\xD8\x4A\xDD\x5E\xCA\x4C\xDD\x28\xDC\x26\xE0\x2A\xDC\x2E\xE1\xF1\xDA\x2D\xDC\xB6\xDE\x14\xDF\x68\xDF\x51\x82\x43\xDD\x82\xB7\x10\xC2\xFB\xE0\x00\x92\xFC\xDA\x11\xE1\xDC\xB1\x9A\xDC\xC9\xD6\x0E\xDC\xCE\xDC\xBB\xE0\xB9\xDD\x5A\xDE\x2B\xDD\x63\xD5\xA6\x5E\x54\xDD\x3D\xD5\xF6\x64\x35\xE1\x18\xDE\xDA\xC1\x42\x71\x39\xE0\x20\xE0\x27\xE1\xC7\xDD\xA5\xDD\xCF\xE0\xA7\xDD\xD1\xE0\xA9\xDD\xED\xE0\x19\xDD\x30\xE1\xDE\xDA\x28\xDF\xCB\xDB\x7C\xDC\x9B\xDB\xC2\xC6\x45\xA9\x4F\xE0\x4A\xE1\x99\x92\x4C\xE1\x67\xD8\x12\xE1\x99\xDA\x6A\xD8\x5A\xDC\x60\xDA\x2C\xE1\x2F\xDB\x27\xDE\xAD\xDB\x6B\xE1\xAF\xDB\x1C\xDF\x79\xDD\x0B\x9F\x20\xE1\x74\xE1\x24\xE1\x98\xE0\x3A\xE0\x62\xE1\x22\xE0\xC8\xDD\x24\xE0\xCA\xDD\x3E\xE1\x71\xDC\x87\xE0\x73\xDC\xA3\xE0\x75\xDC\x78\xDD\x89\xDD\x52\xD1\x77\xE0\x49\xE1\xE3\xE0\x9D\x91\x54\xE0\x00\xD0\x56\xE0\xF4\xDB\x7B\xE1\x74\xDB\x70\xD9\x40\xDE\xFF\xD8\x42\xDE\x74\xD9\x87\xDE\xCE\xB1\x9A\xDD\x67\xD1\x17\xDF\x46\xA4\x73\xE1\x9B\xE1\x66\xE0\x76\xE1\x98\xDC\x4E\xE1\x7F\xE0\x50\xE1\xCD\xDC\xE3\xD8\xCC\xD6\x04\xE1\x6F\xE0\x6A\xE1\xEF\xE0\x72\xE0\xC5\xD5\x1D\xDF\xB0\xDD\x4E\xD8\xE2\xDF\xAF\xE1\xCA\xE0\xB1\xE1\x03\xE0\x78\xE1\xFF\xDA\x08\xC5\x60\xCA\xA2\xE1\x72\xDD\xA4\xE1\x72\xD9\xA6\xE1\x76\xDD\xA8\xE1\x58\xB6\x20\xDB\x7A\x9F\x23\xDF\x5A\xE1\x4B\x65\x5C\xE1\x7E\xDB\xC1\xD9\x88\xE1\x8F\xD8\xFD\xDC\xAB\xD8\xB6\xDC\xA0\xE1\x2A\xE1\x2D\xDB\x7D\xE1\x5D\xDC\x7F\xE1\x5F\xDC\x81\xE1\x61\xDC\xED\xD5\x36\xDB\xE3\x9B\x92\xDC\x5B\xE1\x87\xE1\xA3\x61\x60\xE1\x26\xE1\x13\xDA\x63\xE1\x29\xE1\x8E\xE1\x2B\xE1\x25\xDE\xA0\xE0\xE5\xE1\x88\xDC\x07\xE1\x33\xDB\x7B\xDB\xDA\xDF\xC3\xC2\xE6\xDD\x9F\x98\x06\xD6\x8B\xAE\x55\xD6\x13\x91\xA1\x5C\xC4\xD1\x83\xDB\x72\x7E\xEE\xE1\x17\x68\xF0\xE1\x56\xDC\xF2\xE1\x8C\xE1\x64\xE1\x9D\xE0\xF5\xDD\xE3\xE1\x86\xDC\xF9\xE1\xCE\xDD\xFB\xE1\x13\xD7\xFD\xE1\x66\xC0\x0F\x80\x17\xDE\xAE\x98\xB4\x0B\x04\xCD\x3E\xDF\x04\xE2\xDD\xBB\x41\xDF\xC7\xDC\xFD\xDF\x0A\xE2\x38\xE0\x02\xE0\x80\xD5\x1E\xD7\x5A\xDD\xD3\xBC\x81\xDD\x5D\xDD\x09\xE0\x63\xD6\xD4\xD5\xEE\xCA\xF4\xDE\xB0\xC7\xD2\xD8\x49\x89\xC8\xE0\xF8\xD1\x1A\xDE\xAB\xE0\x5D\x0F\x1C\xDE\x35\xDE\xE2\xE0\xC3\xC4\x5E\xE1\x01\xE0\x10\xE1\x77\xE1\xB3\xE1\xB6\xE0\x14\xE1\xB8\xE0\x74\xD1\xBA\xE0\x10\xDC\xBC\xE0\x0A\xE0\x56\xE1\x5C\xDE\x33\xE2\xCD\xC7\x46\xDF\xA9\xE0\xDA\x89\x99\xDB\x4B\xE0\x6E\xBD\x33\xDE\x14\xB2\xD8\xE1\x6A\xAB\xBD\xCA\x0B\xE2\x28\xE2\x0B\xDC\x81\xD5\x7F\xDD\x2C\xE2\x07\xE0\xA0\xD9\x11\xDC\x30\xE2\x85\xDD\x40\xD2\xE2\xDD\x8F\x9C\x46\xDE\x9E\xCE\x64\xDE\x52\xC0\x4A\xDE\x9F\xDD\x6D", -"\xB4\xA5\xBD\xB8\xDB\xA7\xBD\x3E\xE2\x51\xD2\xE9\xB8\x4B\xE1\xB3\xDC\xC5\xDD\x8B\xE1\xCD\xE0\x0C\xDE\x65\xE1\x0E\xDE\x67\xE1\x10\xDE\x15\xE2\x12\xDE\x17\xE2\xB8\xD9\x44\xE1\x8F\xDA\x90\xC6\x6A\xDF\x52\xE0\x7A\xE0\xEB\xB8\x74\xCD\xED\xB8\x1D\xE0\xEF\xB8\x81\xA8\x45\xB8\xF0\x00\xD9\xDF\x1A\xE2\x51\xAA\xCD\xB4\xB9\x17\x45\x36\xE1\xA8\x95\x98\xF1\x00\x93\xE2\xFD\xDD\xE9\xDB\xE7\x9A\x54\xCE\xA8\xA8\x95\x98\xF2\x00\x9C\xE2\xA5\xBF\xFE\xDD\xF1\xCB\x18\xC6\xB5\xCE\xBF\xD6\x7A\x0A\xF4\x00\x83\x73\xA1\x7E\x27\xA9\xF4\xB2\xAD\xC3\x30\x0C\x5D\xBE\x83\x40\xA5\xCD\xE1\x4C\x53\x3D\x59\x01\xF2\x52\xA2\x07\xB8\xDF\xF4\xB8\x6F\xD3\x68\xD3\x3F\x0A\x36\xBE\x2B\xA3\x3E\x3B\xD5\xDF\x23\xD0\x45\xB8\xF5\x00\xA4\xE2\x0B\xC0\xA6\xE2\xFF\x98\x22\x0B\x99\xE2\x45\xB8\x42\x49\xF4\xB2\xF0\xA7\x71\x44\xCC\xE2\x7A\xC3\xD2\x5A\x3C\xAA\x71\xCF\x4A\x53\x86\x02\xD2\xE2\x6A\xCF\x06\x01\xF8\x00\xC7\xE2\x16\xC0\xC9\xE2\x06\x6C\xD8\xE2\xCA\xD3\xDA\xE2\x03\x01\xF9\x00\xDD\xE2\x5C\xC0\xDF\xE2\xF8\xC4\xE2\xE2\x4B\xAA\x2C\x3C\xE6\xE2\x47\xC2\x4B\xCA\xE3\xD1\x10\xD0\x24\x5A\xE9\xC3\x11\x0F\xFC\x00\x3A\xB9\x11\x0E\x3B\x0E\xFB\x00\x42\xA6\x2B\x0E\x44\xA6\xD6\x85\xB4\xC4\x72\x00\xC3\xD2\x9F\x0C\xB7\xC4\x5A\xE2\x60\xC4\xAD\xC4\x72\x01\xF8\xE2\x3C\x8E\xDA\x38\x85\xC1\x09\xE3\x9D\x61\x75\x3D\xE1\x37\x00\xE3\xBF\x0E\xA0\x0C\xB5\xC4\x03\xE3\xE6\xC3\x86\xCD\xC3\xE2\xBB\x77\x95\x98\xFD\x00\xED\xE2\x8E\xC2\xEF\xE2\x3F\x7C\xD9\xA8\x90\xD1\x18\xE0\xB8\xCE\x19\xC2\x73\x65\xCB\xC2\x1C\xC2\x80\xA8\x05\x0D\x25\xBF\x0D\xCF\x85\xC0\x26\xD9\xA3\x06\xA3\x80\x64\xCF\x00\x00\x24\xE3\x23\xBF\xC7\xCD\xF5\xCE\xF2\xDE\x02\x01\x30\xE3\x3A\xC0\x43\xC3\x00\xC0\x1B\xCE\x13\xA4\xFF\x00\x48\xBF\x1F\xCE\x36\xE3\x50\xC0\xDB\xCD\x19\x06\xE1\xCE\x44\xCE\x62\xC3\x03\xCE\x47\xCE\x50\xC2\x4B\xC3\xFF\xDE\x3F\x0A\x3F\xE3\x65\xBF\x56\xC2\x4B\xBA\x7F\xA5\x47\xC3\x36\xCF\x58\xC3\x1E\xC0\x33\xE3\xDE\xA9\x4B\xE3\x99\xC2\x0D\x6C\xF4\xCD\x40\xCF\xDF\xCD\xF2\xCE\x1B\xCF\x33\xC3\x68\xC2\xE8\xCE\x24\x7D\x58\xE3\xD6\x72\x9A\xA5\xEB\xCD\x5E\xE3\xE0\xA3\x10\xCF\x4A\xE3\x20\x7D\x63\xE3\xB7\x80\x75\xBA\x3A\xE3\xF8\xA9\xBB\xB9\x1E\xCF\x4C\xE3\x3B\xC2\x7E\xB9\x86\xBA\x1A\xCE\x66\xE3\x2A\xCE\x4F\xC2\x2B\xCF\x61\xE3\x2F\xE3\x6C\xE3\xD7\x80\x45\xC3\xD0\xC1\x51\xE3\xF8\xCD\xAC\xC2\x38\xCF\x55\xE3\xFB\xA9\x6B\xE3\x5E\xC2\x94\xE2\xFF\xBF\x34\xCE\x9C\xC2\x82\xE3\x39\xCE\xF9\xCD\xA0\xC2\x86\xE3\xBE\xD2\x57\xE3\x89\xE3\x9D\xE2\xB1\xBA\xF4\x80\x35\xAA\x19\xCF\xD1\xCD\x79\xE3\x1C\xCF\x65\xC3\x57\xCE\x06\x01\x73\xE3\x18\xAA\x59\xCF\xB4\xC2\x4E\xD2\xA1\xE3\x27\xAA\xC3\xBA\xB9\xC2\xBE\xE2\x88\xE3\x37\xC2\x88\xCF\x6E\x7F\xB8\xA9\xA6\xE3\xE2\xC1\xF8\xA5\x0A\xBA\xB8\x17\x74\xCF\xC4\xC2\x86\xC0\x8D\x5C\xCE\xD3\xB9\xCA\x16\x07\x2C\x07\xB0\xD3\x9A\xD3\xB9\xC4\x7D\xC4\x6E\xD3\x15\x0E\x3C\x8E\xC6\xE2\x04\xD3\x6C\xE2\xBB\xE3\x73\x00\xDD\xD3\xB4\xD2\x7F\xC3\xAF\x3E\xB3\x08\xC4\xE3\x2B\xC4\x3D\x2E\xE3\xD3\xD1\xE2\xE3\xDB\x94\x93\x54\x7D\xD3\xE1\x5D\x0F\x8C\xC3\x00\x00\x8E\xC3\xE8\xDE\x3F\x0A\xF0\xC4\xDC\x5A\x47\x51\x3F\x0A\xCC\x00\xF8\x6E\xEC\xC4\xE6\xA6\x7A\xC3\x01\x00\x75\x5B\x74\x75\x02\x01\xDD\xE3\xDB\x5A\x47\x51\x3B\xDF\xF7\x3A\xBE\x59\xDC\xAB\x9C\xD2\xC9\x4D\xBB\xDF\xA6\xD2\x75\x0A\x2F\x5B\x11\x0F\x88\x00\xC7\xDF\x44\x30\x99\xCE\x05\x39\x7F\x2F\xE3\xD3\xC0\x51\xE8\x0B\xA1\x7C\x03\x00\xF6\xE3\x27\x01\xDD\x42\x1D\xA6\xD7\xA8\xFA\xC5\x10\x5A\x31\x2F\xFE\xE3\x95\x3E\x25\x3F\x16\xE3\xEB\xD3\x56\xA4\x09\x01\x80\xCD\x60\xA8\xDB\xA8\xBE\x04\x8A\x73\xFF\xA6\x9C\xD2\xB8\x26\xA0\xD3\xA6\xD8\x9E\x02\xEC\x43\x26\x5A\xF3\x88\x51\x08\xD5\xD3\x00\x00\xD7\xD3\x92\xD3\xF3\xC3\xDA\xD2\xC4\x8D\x1C\xE4\x50\x57\x1E\xE4\x90\x8B\x24\x05\xE0\xD3\x59\xCE\x59\x45\x73\x62\xF6\xC3\x55\xBE\x0E\xE4\x35\x8E\x9C\xD2\x06\x00\x16\xE4\xC7\x92\xF7\xE2\x7A\x02\x03\xE4\x61\x3F\xFB\xE2\x5B\x6F\x1D\x00\x73\xC4\x8A\xCE\x04\xE3\x8C\xCE\x06\xC4\xE3\xD3\xC9\x5A\x11\x0B\xA1\x7C\x07\x00\x3B\xE4\xD2\xC4\x2F\xA6\xAA\xC4\x85\xC4\x74\xC4\x42\xE4\x21\x55\xCB\xC4\xE3\xD3\xD2\xBD\x02\x07\xA1\x7C\x08\x00\x4A\xE4\x13\x4B\xF9\xE3\x53\x72\xC7\xC4\xE4\xD3\x8B\xCE\x51\xE4\x44\xE4\x74\x62\x46\xE4\x89\x05\x48\xE4\x58\xE4\x02\x01\x0B\xE3\x4C\xE4\x09\x01\x67\xE4\x4E\xE4\x41\xE4\x14\xE3\x1A\xC4\xDC\x0C\x53", -"\xE4\xDF\xC3\x43\xE4\xA2\x02\xEB\x61\x65\xE4\x01\x01\xF9\xE2\x66\xC1\x77\xE4\x03\xC4\x4F\xE4\x6D\xE4\x56\xC4\x03\x0A\x70\xE4\xFF\xC3\x5F\xE4\x15\xE3\x27\xC2\xBC\xA6\xB5\x02\x37\xE4\xE9\xC3\x38\x50\x09\x00\x86\xE4\xC0\xCD\x79\xCD\xDD\x01\x8A\xE4\x12\xA6\x9C\xD2\x72\x2B\x1A\xE4\x14\x0E\x23\x5A\xBE\x57\xD2\xD3\xDA\x44\x49\xCF\x5B\x44\xC1\xE3\x03\x01\x23\xE4\x83\xC1\x25\xE4\xC5\xE3\x07\x0E\x94\xE4\x6F\xCF\x76\x30\x94\xCE\x97\xE4\x5E\xCF\x24\x5A\x2D\xE4\xAB\xCF\x06\xCF\xA2\xE4\xB1\x01\xE3\xD3\x31\xE4\x67\xC4\x16\xE3\xC9\xBD\x09\x01\xDA\xE3\x9B\xDE\x7E\xCF\x40\xC5\xE4\xB9\xD1\x09\x17\x78\x19\x78\x15\xBA\x80\xA9\xA2\x77\x95\x98\x20\x78\xB4\xE4\x33\xC7\xD6\x09\xF0\xA7\x1A\x78\x6D\x57\xA5\x07\x69\xCF\x15\x0E\xD8\xE3\xB3\xE4\x0C\xDF\x01\x01\x87\xCF\x0C\xE3\x2E\x59\x46\x31\xB9\xE4\xC7\xBA\x16\xBA\xBD\xE4\x45\xB8\xBF\xE4\xCB\xE4\x00\x00\xCD\xE4\xA8\x5C\x5D\x5A\xBB\x07\xC3\xE4\xBB\xE4\xD0\xBA\x59\xD3\xC9\xC2\x22\x03\x8E\xE4\x81\xDE\x3C\x0E\x4D\xD2\x2E\xE3\x8B\xCF\xCE\xE4\xB2\xD3\x2B\x31\x44\xD3\x98\xDF\x0E\x00\x75\x5B\x8A\x73\x51\x5A\x67\x3D\x41\xD1\x81\xD1\xD4\x4F\x9A\xE4\x28\x04\x75\xE4\x4E\x0A\x26\xE4\xDC\x5A\xF1\xE4\xD4\x4F\xF3\xE4\x96\xC0\xC6\x4D\xB3\x08\x0D\x00\x75\x5B\x2D\xD1\xEA\x39\x94\x5E\x76\x0C\x79\x58\xB7\x40\xF0\xBE\xC3\xD3\x43\x08\x33\xE4\x0D\xE5\xBC\x77\x4B\x8F\x3D\xD3\x10\x77\x06\x01\xE8\xD2\x85\xD4\xC9\xC9\xFB\xA6\x0D\x0E\x38\x96\x6F\x00\xE1\xA5\x14\xE5\xB5\xD4\xF0\xD2\x0E\xE5\xB0\xE4\xE5\x5A\x9E\xD3\xB9\xE3\x8E\xD6\x92\x04\xDA\x57\xD4\xB5\x63\xB6\xA7\xD3\x13\xA6\xE5\x5A\xF1\xC1\xE4\x03\xEF\xE4\xA5\x5B\x0B\xD3\x66\xD9\x10\xDB\x21\x96\x0D\x0E\xFB\xC1\x71\x04\xE3\xE4\x1F\xE5\xB6\xCE\xA4\x06\x2F\x4E\x9A\xD2\x10\xE5\xE1\xA5\x82\xD3\x69\xD7\x9B\xD3\x38\xE5\x5B\x73\x9C\xD2\x13\x00\x37\xE5\xFF\x00\x51\x0E\x3B\x0E\x57\xE4\xF7\xB9\x3F\xE4\x66\xC1\x4C\xE5\x7A\xE4\x6C\xE4\x05\xC4\xA2\xBE\x7E\xE4\x61\xE4\xA1\x43\x55\xE4\x74\xE4\xF7\xB9\x7A\xBE\xA6\xC0\x4D\xE4\xD8\xC4\xC7\xD3\xE6\xD3\x52\xE5\x11\x01\x7F\xE4\xAC\xC4\x72\xE4\x7E\x01\x49\xE5\xF8\xE4\xE1\x27\x1D\xA6\xE1\x27\xF5\xC3\xE5\xD3\x7A\x3F\x45\xE4\x55\xE5\x23\x07\x64\xE4\xF7\xB9\x23\x00\x5A\xE4\x01\x01\x72\xE5\x63\xC4\x50\xE5\x34\xC4\x53\xE5\x73\x62\x54\xE4\xBC\xD3\x42\xE5\x7D\xE5\x55\x77\xCE\xC2\x1E\x81\xD0\xC2\xEE\xD3\x78\xC5\x97\xC6\x2B\x13\xC0\xCE\xE9\x74\x8F\xE3\x16\xC3\xE9\xC3\xDA\xC2\x9F\xE3\x03\x01\x83\xE5\x8E\xC5\x85\xE5\x50\x13\xCD\xCE\x92\xE3\xA3\xD2\x3F\x0A\x8F\xE5\xA5\xC5\x91\xE5\x5A\x0A\x5E\xC3\x4C\x05\xD5\xCE\x5B\xE3\xF6\xCD\x1A\xCF\x9C\xE3\x33\xC3\x3D\xE3\x46\xCF\x97\xE5\xC2\xC5\x9F\xC7\x40\x13\xE0\xCE\xF6\xC2\x76\xBA\x9B\xB9\x0B\xCF\x35\xCF\x83\xE3\xD3\xCD\xDC\x7E\x1E\xCF\xA5\xE5\xE1\xC5\x09\xC7\xA8\xE5\x4E\xE3\x06\xC3\x50\xE3\x9A\xE3\x42\xCF\xB5\xBA\xFF\x00\xEE\xA3\xB8\xA9\xB3\xE5\x08\xE4\xB5\xE5\x2B\x13\xFC\xCE\xE1\xA4\x09\xCF\xDF\xBF\x1A\xC0\xBB\xE5\x6A\xC0\xFF\x00\x60\xE3\x7C\xC3\x8E\xE5\xD8\xC7\x50\x13\x08\xCF\x99\xB9\x2A\xE3\xE3\xCE\x50\xCF\x53\xE3\x77\x81\x6E\xBF\xC0\xE5\x50\xC6\x99\xE5\x32\x03\x2D\xC3\xA3\xD0\x2F\xC3\x4E\xCF\x44\xBF\x28\xCF\x47\xE3\x13\xCE\xA4\xE5\xCF\xE5\x9A\xE5\x75\xE3\x60\x5F\x25\xCF\x72\xCF\x34\xCF\xE4\xCE\xA1\xE5\xE0\xA3\x7B\xE3\xCD\xE5\xE2\xC0\xE6\xE5\xDC\xE5\x41\xE3\x6D\xE2\x81\xE3\xBA\xE5\xAE\xE5\x89\xE5\xB0\xE5\x4A\xC3\xD5\xCD\x6A\xE3\x09\x01\xD9\xE5\x66\xC6\x51\xC6\x3E\xCF\xF4\xA4\xE0\xE5\xAD\xE5\xED\xE5\x29\xE3\x84\xE3\x34\x59\x45\xCF\x7C\xE3\x00\xE6\xDB\xC6\x02\xE6\x9B\xE5\x90\x01\x4D\xCF\xEB\xE5\x4F\xCF\xE2\xE5\x02\xCF\xA1\x5C\x9E\xE3\x6E\xC3\xCE\xE5\x85\xCE\xE5\x6C\xF0\x5A\x8B\xD3\x3C\x0E\x4F\xCE\xA7\xCE\x73\x65\x0D\xE6\xF1\xC6\xBD\xC7\x30\xCC\x11\x0E\x56\xCE\x19\xE6\xF2\xE5\x1B\xE6\xC3\xC5\x86\xE5\xDE\xA8\xEB\xE2\xFD\xE5\xAA\xDE\x27\x5A\xF3\xE5\x53\x02\xD6\xE2\x44\xE3\x4E\x8D\xB5\xE3\x64\xA4\xEA\xE2\xDD\x6C\x83\x02\x2E\xE5\x64\xC1\xDA\xDB\xB8\xD8\xA3\xD2\xF5\xD2\xAD\xA3\x74\x5E\x45\x99\x15\x00\x3D\xE6\xF4\xB1\x3D\x09\xAE\x4D\x6E\x00\xA1\x0B\x64\x49\x6C\x00\x28\xE5\xFF\x00\x45\x99\x16\x00\x37\xE5\x7E\xE5\x8B\xE4\x5D\x0F\x96\x96\x99\xB8\x1B\xA6\xAC\xDF\xA2\x96\x7E\xDA\xDC\xD9\xDE\xDB\x2F\xC7\xA4\x06\x17\x00\x53\xE6\x7E\xD3\x8D\xCF\x30\xB5\xD9\x5A\x23\xA8\x8D\xDF\xE7\xE1\x83\x6E\xAD\xDE\x8C\xA1\x2B\xD7\x5D\xD9\xA4\xCF\xD9", -"\xCA\xA6\xCF\xA8\xCF\xD1\x76\xCE\x92\x1D\x98\x2C\xCA\x37\x99\x8B\xE0\x18\xDC\x22\xD4\x73\xAF\x14\xE0\xA3\xD6\xC3\x9B\x62\xD9\xC4\xCF\x8A\xE3\x74\xE6\xC8\xDB\x27\xB4\xD2\xD6\x14\x0E\x3C\xD4\x88\xE5\x8C\xDE\x9A\xAF\x64\x99\x42\xDF\x73\xDF\x83\xE6\x66\xB5\x80\xD4\x93\xDE\xF2\xCF\x95\xDE\x2D\xCB\x21\xE2\xBE\x86\x93\xD9\x37\xBE\x68\xE6\xBC\xE1\x31\xE1\x01\xD7\x63\xDC\x99\x93\x11\xCF\x77\x93\x75\xE6\x0A\xDD\x21\xDF\x8A\xBB\x16\xD7\x73\xE6\x8D\xE6\x5E\xE0\x0D\x69\x78\xE6\xED\xDC\x01\xDC\xA6\xC8\x60\x81\xBB\xC5\x90\xDC\xE6\x93\x84\xA7\x4B\x66\x9E\x93\xA1\xE6\x9A\xBC\x23\x9C\xBE\xBB\xA7\xE0\x11\xD2\xBC\xCB\xB0\xD4\x4D\xD7\x66\xE6\xA5\x5B\x99\xE6\x42\xE1\xCA\xDE\x90\xE6\x5C\xE3\x61\xD7\xDE\xC8\x60\xDF\xBF\xCB\xC5\xE0\x14\xC6\xB3\xE6\xC4\x93\xB5\xE6\xB5\xBD\x89\xA7\xF6\xC8\x0E\xC6\xF1\xDC\x29\xD2\xE1\xD4\xF4\xDC\xC4\xE0\xE0\xE0\xA3\x5F\xA0\xE6\x8E\xE6\xF7\xB4\x88\xB0\x12\xBC\xDB\xDE\xD5\xCB\xDD\xDE\xAA\xDC\xDE\xE0\xAD\xB7\x28\xB7\xF1\xE5\xCC\xE6\xDA\xE6\x9E\xDE\x12\x7A\xBD\xD0\x4C\xC6\x8F\xDE\xB4\xE6\xE7\xE6\xBE\x75\x1F\xE1\x31\xE6\x45\x93\xCD\xE6\xF9\xD0\x81\x98\xF1\xDE\x46\x85\x82\xE6\xA8\xE6\x8F\xE6\xA2\xB5\xF5\xDA\x2A\xDF\x59\x98\x30\xDC\xDB\xE3\xA7\xE6\x94\xE1\xBF\x4A\x59\xE1\xFF\xCC\xF8\xE6\x02\xE7\x5F\xE0\xD1\xDD\x27\xD1\xEF\x9E\xC3\xC6\xFE\xE5\x6D\x93\xF3\xE6\x8E\xD1\xB4\xBC\x84\xE1\x70\xA2\xF1\xE6\x0E\xE7\xEE\xE6\x6C\x98\x51\xD1\xA1\xD5\xC3\x7E\x06\xE7\x83\xE2\xD0\xDD\x6D\xE1\x94\xCC\xC1\xA3\xAC\xE1\xCD\xA4\xEC\xE6\xE6\xE6\xF9\xE6\xDB\xE6\xB0\xC9\xA9\xCC\x18\xB8\x0D\xE7\xD9\xE6\x25\xE7\xE8\xE6\xC1\xE0\xD6\xE3\x04\xCA\x22\xDB\x92\x81\x1B\xE7\x69\xE6\x36\xD8\x8E\xDA\xAA\xE1\xA7\xD1\x47\xC7\x4A\xBE\xED\xE6\x2C\xE7\x9C\xCA\x03\xD6\x6B\xE2\x05\xD6\x39\xBD\x32\xCA\x03\xDE\x07\xE2\xE1\x63\x2B\xE7\x07\xE7\x84\xE6\x2B\xDE\x96\xE3\x40\xE6\xEA\xDB\xBA\xD8\x01\xDE\x65\xDB\xBD\xD8\x23\xE2\x2F\x66\x46\xE7\x1C\xE7\x14\xDE\x45\xDE\x7C\xDB\x3F\xE7\xD9\xE1\x20\xCD\xDB\xDC\x70\xCA\xCA\xE6\xBF\xE6\x0F\xE7\xE2\xD0\x88\x8F\xF5\xD1\xF2\xDC\x5C\xE6\xEE\xD8\x3A\xCD\xBD\xD8\x34\xDE\xE3\x64\x53\xE7\x34\xE7\x2A\xDE\x19\xE2\xB4\x64\xB2\xDB\x79\xC7\xB4\xDB\xF4\x9F\xDC\xC5\x92\x92\x5A\xCD\xD3\x6F\x33\xE7\x9A\xE6\x6C\xE1\xFB\xE6\x29\xDF\xFA\x9C\x88\xE2\x76\xE2\xBD\xCB\xC6\xE3\xAC\xB5\xD3\xDB\x27\x98\x34\x8E\x34\xAF\x46\xB9\x22\xE3\xF0\xD5\x83\xDF\x10\xE0\x87\x5B\x86\xDF\x8E\x11\xF7\x41\x8B\x35\x10\xC8\x42\x39\xE7\xE3\x48\xC7\x89\xE7\x17\xDC\x41\x6F\x8C\xE7\x77\x60\x53\x00\x60\x1E\xD4\xDF\x62\x76\x40\x06\x86\xE7\x81\xDF\x8F\xDF\x77\xDF\x2D\x67\x79\xDF\x5D\x0E\x05\x36\xDD\x84\xE7\x5D\xB7\x5D\x8D\x06\x9E\xE7\x8E\xDF\x75\xDF\x90\xDF\xA2\xE7\xA2\xCF\xB6\x7F\xBE\x08\x9B\xE7\x54\xE6\xF0\x98\x98\xDF\x1A\x00\x46\xE5\xBC\xDF\x8E\x52\xF8\xE4\xA5\x89\x1D\xA6\x2D\xC5\x34\x00\xA3\xDF\x7F\x5B\xA1\x7C\x1C\x00\xF8\xE4\x45\x00\x73\xE5\x1B\x09\x26\x5E\xAC\xDF\x2A\xA6\xBE\x67\xCD\xDF\x09\x40\x92\xE7\xA3\x6A\xF5\xB7\xD2\xDF\xBD\x6A\xBB\xE2\x55\xA4\xB6\xE7\xD5\x6C\xB8\xE7\xB4\x52\xBA\xE7\x3D\xE4\x3F\x93\x01\x9F\xBE\xE7\xC3\xDF\x80\x5A\xC1\xE7\xC3\xE7\xC5\xE7\xC4\xE7\x8F\x5C\xC8\xE7\xAE\xDF\xBA\x71\xCB\xE7\x5B\x52\xCD\xE7\x5B\x8E\xCF\xE7\x52\xB9\x35\xB9\xF9\x67\xD2\xE7\xB6\x75\x22\x00\x47\xE6\xB6\xE4\x26\x4F\xCC\xA6\xDC\xDF\x43\x58\x31\x01\xDF\x0E\x3B\x0E\x26\x00\xF8\xE4\x4E\xE5\xBE\xD2\x98\xE5\xF4\xE7\xDE\xDF\x96\xE2\xF7\xE7\xB3\x08\xFD\xE7\x40\xE5\x32\x3F\x2D\x08\x7A\xD3\x5C\x0C\x7F\x48\x26\xD3\xBD\xD3\x46\xA9\x7D\x04\x3B\x0E\x69\xE5\x1B\xA6\x05\xE8\x8D\xBA\xFF\xE7\xD3\x50\xF5\xE7\xCA\xE3\x03\xE8\x3D\x62\xD6\x85\xE1\x52\x4B\x7D\x99\xB2\x0B\xE8\x0A\xE5\x2E\x59\x0F\xE8\x27\x01\x75\xE5\x24\xE4\xFD\x07\x7B\xCE\xC5\xC6\x17\xE8\xE3\xD2\xDD\xDF\xFF\x0A\x54\x5B\x1B\xE8\xD8\x42\x08\xE8\x1E\xE8\x93\x08\x5D\xE1\x5E\xE4\x22\xE8\x69\xE4\xF8\xE4\x59\xE5\xE9\xD2\x84\xE5\x00\xE8\xFF\x0A\x20\xC1\x56\x5A\x2D\x08\x2D\xE8\xC6\xB3\x39\x27\x09\xE8\x9E\x10\x1F\xE8\xD9\xE1\x7C\xE4\x21\x01\x3B\x0E\x21\x00\xF8\xE4\xE2\xA6\xE9\xC4\xC1\xE5\x16\xE8\x01\xE8\xF6\xE7\x39\x27\xB3\x08\x4C\xE8\x19\xD7\xF7\xE7\x43\xE8\x1B\x29\x45\xE8\x89\xAA\x0B\x25\xA1\x7C\x20\x00\xF8\xE4\xE4\x00\xFA\xE4\x3A\xE8\x4F\xE8\x3C\xE8\x02\xE8\x52\xE8\x27\x01\x5F\xE8\x41\xE8\x30\xE8\x79\xD8\x97\x0C\xCB\x0B\x3D\xE8\xC0\x58\x08\x3E\xA1", -"\x7C\x1F\x00\xF8\xE4\xDA\x00\x60\xE8\x90\xE5\x3B\xE8\x98\x0C\x6D\xE8\xD8\x58\x65\xE8\x09\x01\x73\xE8\x68\xE8\xFF\x0A\x57\xE8\x1F\x48\x59\xE8\x18\xE8\x01\x43\xA1\x7C\x1E\x00\xF8\xE4\xE1\xE3\x9F\xE4\xB4\xCD\x29\xE8\xBE\xE3\x2B\xE8\x98\x0C\xB3\x08\x87\xE8\xB7\xC3\x42\xE8\x31\xE8\x90\x28\xED\xC4\xFF\x3E\x1D\x7D\xF8\xE4\xFB\xE7\x88\xE8\x80\xCE\x00\x00\x8A\xE8\x88\xD3\x8C\xE8\x76\x09\xB3\x08\x98\xE8\x90\xE8\x69\xE8\xDC\xD8\xDF\x48\x81\xE8\x0D\xE8\x2F\xA9\x35\xE8\x7A\x1C\x66\xE5\x74\xE8\x15\xE8\x6D\x56\x9C\xE8\x6C\xD3\x2E\x13\x7A\xE8\xAA\xE8\x7D\xE8\x98\x0C\x7F\xE8\xA5\xE8\x32\xE8\xB8\xC4\xDB\x44\x56\xE5\x27\x01\x6A\xE4\xFE\x80\x6F\x1F\xAC\xE8\xA6\xE5\x47\x05\x63\xE8\x51\xE8\x3F\xE8\xBC\xE8\x03\x97\x79\xE8\xA3\xE8\x69\xC3\x58\xE8\xB8\xE8\x13\xE3\x86\x3E\xA1\x7C\x24\xE8\x9D\xE4\x00\x00\xD0\xE8\xBA\xD2\xC1\xE8\x53\x05\xC3\xE8\x18\xE8\xB2\xE8\x03\x01\xD3\xE8\x81\xD7\xB1\xE8\xC9\xE8\xFD\xB3\x0A\xE8\xCC\xE8\x38\xA8\xCE\xE8\x49\xE8\xF8\xE4\x4A\xE8\x99\xE8\x97\xD2\x2A\x01\xD7\xE8\x2A\xE8\x19\xE8\xC4\x12\xC7\xE8\x11\xAE\x91\xE8\x6A\xE8\xFE\x0A\xC2\x0D\x64\xE7\x17\xA9\x5C\xE8\xF8\xE4\x5D\xE8\xE7\xE8\x4C\xC6\xC2\xE8\x77\xE8\x64\xE8\xC5\xE8\x09\x01\xF8\xE8\xA2\xE8\x7E\xE8\x92\xE8\xF3\xE8\x02\xE8\x6F\xE8\x3B\x0E\x71\xE8\xF7\xB9\x08\xE9\x4D\xE8\xDA\xE5\x76\xE8\x76\x09\x78\xE8\xEF\xE8\xFE\xE8\x06\x01\x0A\xE9\x55\xE8\xF0\xE8\xA4\xE8\xC1\x0D\x6C\xE8\x05\xE9\x37\x44\x84\xE8\xF8\xE4\x85\xE8\xF9\xE8\xA7\xE2\xFB\xE8\x0E\xE9\xFD\xE8\x2C\xE8\xA3\x01\xEE\xE8\xDD\xE8\x02\xE9\xF1\xE8\xA6\xE8\xCA\x7C\xE3\xE3\x2F\xE7\x2C\xE3\x61\x3F\x62\xE6\x84\xCF\x4D\xE0\x98\x74\x2F\xE9\x3A\xE6\x5F\x73\x03\x7D\x7A\xCF\x84\xE4\xB6\x81\x33\xE9\x9C\xA9\x20\xD0\x03\x01\xE8\xE4\xE0\xE4\xA1\x5C\xC9\xE4\xD0\xC2\xAF\xE2\xE9\xE4\xBE\xD3\x43\x08\xD1\xE4\x48\xD9\x23\xBA\xBC\xE4\x8B\x77\xBE\xE4\x42\xE9\x43\x60\x6F\xD2\x2B\x31\xDD\xE4\x6B\xA9\xD3\xE4\x49\xD3\xD9\xC2\x27\x01\x43\xE9\xBF\xBA\xB1\xE2\x18\x0C\xB3\xE2\x0E\x57\x44\xC3\x2A\x5A\x2E\x31\xB9\xE2\x11\x02\x8A\xA8\x38\xE9\x7D\xC3\x8D\xE5\x02\x01\xCE\xE3\xE5\x66\xCB\xE2\x40\x99\x0E\x55\xA6\xC4\xFA\xDE\x27\x01\x67\xE9\x7B\x68\x69\xE9\x6F\xA6\x72\xDF\x62\x5A\xE8\xBF\x5C\xBE\xCC\x3D\xA1\x0B\x2E\x31\x1F\xC4\xAF\xC4\x31\x06\xAA\xC3\x74\x52\x71\xE9\xCC\xC2\x4B\x8F\x2A\x00\x3A\xE9\xDA\xA8\x59\xBB\x2E\x0E\x20\xE5\x31\xE9\xE9\xE3\x9C\xD3\x63\xE9\xBD\xC0\x83\xE9\x0E\xE5\x04\xE7\x62\x65\x3F\x0A\x79\xE4\x75\xE2\x96\xC3\x05\xE3\xDD\x84\x84\xCE\x4F\xE5\xFE\xBE\x34\xE8\xC2\xC3\x3F\xE9\x5D\x0F\x69\xC4\xB9\xCE\x00\x00\x92\xE9\xFF\xDF\x93\xC4\x81\xE4\x68\x83\x97\xE9\x32\xC4\x7B\xE4\xF5\x54\xB3\xE7\x8B\xE9\xB2\xC0\x8D\xE9\xB3\xE7\xC1\xA6\xD8\xC2\x2E\x00\x46\xE5\x21\xE4\x9C\xE4\x70\xD3\x9E\xE4\x85\xC1\xC1\xD3\xD1\x6E\x22\x0B\xAD\xE4\x6B\xE5\x9B\xE9\xA1\xE2\x98\xDF\x2F\x00\xF2\xE7\x7F\xD9\xBC\x85\x6A\x38\x7C\xE5\xFC\xD7\xAB\xC6\xF2\x3E\xF6\xE4\xD6\xD3\xB7\xD3\xC0\xE8\xF7\xD9\xBB\x0C\x48\x56\x96\xE4\xAB\xC6\x93\x75\xF2\x3E\xA8\xE4\xDD\x5A\x47\x51\xBB\xE9\x5D\xE5\x7A\x3F\xA3\xCE\xAB\xE9\x01\x01\xA8\xC0\xAE\xE9\x17\xE3\x98\xDF\x6F\x25\xBD\xC2\x1A\xD3\x78\xCE\x7A\xCE\x66\xC1\xA6\xE9\x34\xCB\x04\x2F\xD7\xE9\xA8\xE9\x21\xBE\x12\xBF\xDE\xE9\xBE\x73\xE9\x68\x9C\xCD\xB1\x80\x9E\xCD\x38\x1B\xA0\xCD\xD2\xE6\x03\x0B\xEC\x38\xBD\x38\x32\x03\x90\xCD\x36\xA1\xAA\xCD\x13\x3D\x3F\xC1\xA4\x38\xAE\xCD\x15\xB3\x83\xCD\xBA\x05\xAC\x56\xC5\xE9\xE7\xDE\x6E\xC1\x31\x2F\xEE\xE9\x7C\xCD\x9C\xD2\x32\x00\xB7\xE7\xF4\xE3\x9D\xC3\xF7\xB9\x8D\xC4\x1D\xA6\x6C\xE9\x95\xE0\xA3\xE9\x16\x04\x0E\xD3\x0D\x0D\x0D\x3D\x0C\xE8\x8B\xE8\xB8\xC3\x61\x7D\x3B\x0E\xE0\xBE\xD5\xBF\x09\x01\x17\xBE\x1D\xA6\x20\xEA\x0D\xE1\x16\xEA\x02\x07\x18\xEA\x27\x13\x1A\xEA\x1C\xE2\x69\xA8\x9C\xD2\x34\x00\x46\xE5\x47\x0E\x3B\x0E\x33\x00\xF8\xE4\x07\x00\xD9\xE7\x20\x7A\x35\xEA\x6E\xD2\x2E\x13\x17\xEA\xC2\xD3\xF2\x58\x2B\xEA\x46\x8E\x5C\x07\xA5\x58\x8B\x03\xA1\x7C\x33\xEA\xF7\xB9\x44\xEA\x85\xC1\x46\xEA\x44\xE9\x0E\xE8\x28\xEA\x3C\xEA\x7B\x5E\x3E\xEA\xA3\x6A\x40\xEA\xAF\x44\xA1\x7C\x27\x00\xF8\xE4\x53\xEA\x66\xC1\x55\xEA\x67\x61\xF0\x60\x3B\xEA\xEA\xC4\xB0\x10\x4E\xEA\x18\xE8\x98\xE2\x0A\xEA\xAD\xCE\x45\xB8\x35\x00\xC1\xE9\xFB\x0E\x4A\xB9\xED\x0B\xB3\xCE\xD1\xC0\xE8\x0B\xD9\xE2\x2F\xE6\x01\x01\x36\x00\x64\xEA\x12", -"\x0F\xDB\xD9\x5B\x8B\x8F\x57\xF7\x44\xA0\xE2\xFA\xE8\x2E\x13\xA9\xE2\xB7\xE3\x1E\x99\x6F\xEA\x4C\xDB\x40\x12\xC3\xA8\x2E\x5A\xFB\x7C\x40\x01\xC9\xE9\x22\xE4\xCB\xE9\x1E\xE9\xBF\xD1\x7D\xEA\x85\xCD\xF2\x8E\x80\xEA\x79\x00\xD4\xE9\x5C\xC5\x10\x5A\xF1\x0B\xEA\xE9\x77\xE5\x55\xC4\xE4\xBD\xE8\xC3\x60\xEA\xB7\xCD\x2C\x82\xCF\xC2\xB8\xA9\x02\xE5\x39\xEA\x38\x28\xFF\x07\x3F\x0A\x90\xC0\xE0\xCF\x42\xD1\x97\xD1\x62\x01\x87\xE5\x57\x80\x67\xE3\x55\xE6\x55\xE9\xC2\xCD\x9F\xE9\x9A\xEA\x58\xEA\x46\xA9\xD0\xE4\x27\x01\x9F\xEA\xFC\xCF\xD5\xD0\x9B\x3D\x93\xE5\x49\xE3\x8C\xE6\x5F\x0F\x75\x5B\x60\xE9\x5E\x01\x9E\xEA\x03\xE5\xB2\xEA\x36\x40\xD4\xCE\xCE\xCD\x9E\xE5\x60\xD7\x9B\xE3\x08\xE6\xFB\xE5\x15\x0E\xA3\xE5\xC7\xDE\x38\x66\xAB\xEA\x49\xEA\x4F\xE9\x46\xE9\xAF\xEA\xBC\xEA\xA1\xEA\x95\x3D\xA9\xE5\x72\xA5\x8E\xE3\xF3\xCE\x77\xA5\xAA\xBA\x23\xA8\xCA\xEA\xDA\xE4\xC7\x39\x2B\x31\xBB\xEA\x80\xD1\xFF\xE4\x67\x3D\xEE\xCE\xD3\x50\xF0\xCE\x05\xE6\xC8\xE5\xF9\xE5\xD5\xEA\x34\x59\xBE\xE5\xE5\x75\xA5\x5B\xD9\xEA\x76\x5D\xDB\xE4\xF3\x05\xDD\xEA\xA9\xE4\xF4\xE4\xA2\xEA\xF6\x05\x58\xBA\x67\xBF\xD2\xE5\x8A\xE5\x02\xCE\x18\xC3\x16\xE6\x1A\xC3\x94\xE5\x61\xA9\x3F\x0A\xEC\xEA\x69\xD3\xEE\xEA\xA2\x07\xF0\xEA\xC8\xCF\xD0\xEA\x20\x3A\xD1\xE5\xAB\xE5\x80\xA8\x49\xC0\xE7\xEA\xBD\x76\xE0\xA4\xD8\xEA\xB8\xEA\x02\xEB\x11\x02\x04\xEB\xA0\xEA\xF2\xEA\xD1\xEA\x16\xCF\xDE\xE5\x18\xCF\xE4\xEA\x0B\xEB\x67\xE3\x08\xAA\xD7\xEA\xEB\xEA\x10\xEB\xDB\xEA\xCD\xEA\x8F\xC0\xCF\xEA\x15\xEB\x07\xEB\xF5\xE5\x84\xC2\x77\xE3\xD4\xEA\x1C\xEB\x8B\xBA\xFD\xEA\x85\xA7\xE2\xE4\x9B\xEA\xCA\x39\xDC\xEA\xCE\xEA\xDE\xEA\x5E\xCF\xC6\x4D\x31\xCF\x27\xCE\x1A\xEB\xF9\xC2\x2B\xEB\x2C\xCE\x2D\xEB\x0F\xEB\x30\xEB\x47\xA9\xEF\xEA\x33\xEB\xF1\xEA\xDF\xEA\xD4\x4F\x03\xE6\x35\xCE\x13\xE6\xE1\xE5\x46\xE3\xFB\xEA\xA9\xBA\x3D\xEB\x1F\xEB\x3F\xEB\xAE\xEA\x23\xEB\x34\xEB\xE4\xD1\xE0\xEA\x10\xE6\x51\x01\x12\xE6\xC1\xEA\xD7\xCE\xD5\xE5\x0E\xCF\x7E\xCD\x0D\x77\xD0\xC2\x00\xEB\x2D\xD3\x11\xEB\xBA\xEA\x42\xEB\x05\xEB\x25\xEB\x30\x40\xA3\xE3\x25\x73\x5E\xEB\x20\xEB\x0B\xE5\xAF\x07\x13\xEB\xB1\xEA\x06\xEB\x66\xEB\x62\xCF\x1F\x77\x69\xEB\x4F\xEB\x9D\xEA\x63\xEB\x14\xEB\x44\xEB\xF3\xEA\xC7\xE4\x3B\xE6\x1E\xEB\xAA\x5D\x5F\xEB\x4C\xEA\x45\xE9\x6C\xEB\x76\xEB\x6E\xEB\x65\xEB\xEA\x36\x35\xE6\xD7\xC2\x37\xE6\x66\xCE\x4B\xC1\x8A\xE9\x85\xCF\xB7\xEA\x8A\xC3\xA1\x5C\xE6\xE4\x65\xE9\x4E\x04\x6A\xEB\xCF\xE4\xFF\x07\xD6\xDB\x11\x0E\x31\x0B\xEF\xAA\x02\xB9\x69\xDE\x3E\xA2\x11\x00\x9B\x84\x84\x3A\x38\xE1\xFF\xDC\x79\xE1\xB7\xE0\x3C\xE1\xE5\xB5\xF7\xDB\x5B\xE0\x92\xE1\x5D\xE0\x47\xE7\x67\x2B\x6B\xE6\x7C\x9A\xA2\xCF\xF4\xB5\x2B\xC8\x0B\xD4\x06\xDC\xFB\xDF\x55\xDD\xF6\x64\x9D\xEB\x94\x8F\x9F\xEB\xE5\xDF\x2F\xD4\x24\xDD\x8C\xDB\x26\xDD\x8E\xDB\xE7\xDC\x90\xDB\x17\xD9\xBB\xDD\x50\xDA\x6C\xDE\x0E\xE0\x25\xC8\x0D\xB6\xD5\xCA\x70\xDE\xD7\xCA\x1C\xBB\xBD\xD6\x61\xD9\xBA\xD9\x63\xD9\x59\x91\xB6\xEB\x0C\xD3\x75\x33\xA0\xEB\x9F\xE1\x26\xDC\xA1\xE1\x4D\xDD\x85\xE0\xA1\xDC\x5C\xE0\xA3\xDC\xAA\xEB\x26\xE7\x19\xA7\x42\xC8\x2E\xE0\x8B\xDE\x30\xE0\x3F\xD4\x3E\xBB\x41\xD4\xD1\xEB\x2B\xA3\xB8\xEB\x9D\xE1\x63\xD0\xDF\xE1\xD6\xEB\xE1\xE1\x5B\xDC\x13\xE2\xF7\xDD\x40\xE1\x2C\xDC\x43\xDE\xA5\xDE\xC3\xE6\x08\x0E\x5C\xC8\xCE\x8A\xB1\xB8\x59\xD4\x9A\xDE\x9C\xB1\xE7\xEB\x3C\xB5\xE9\xEB\xCB\xE0\x2D\xDA\x28\xE1\xD6\xDA\xEE\xEB\x7C\xE1\xF7\xE1\x2D\xE1\x81\xE2\x29\xE0\x54\xE7\x2B\xE0\x60\xE0\xA0\xDE\xF1\xD6\x77\x07\x9E\xEB\xD3\xEB\xB9\xEB\x2B\xD6\x54\xDE\xE4\xDC\x13\xD9\x27\xDD\x15\xD9\xC0\xEB\xE7\xD9\xE0\xDD\x93\xDB\x4F\xE2\xCD\xEB\xA7\xDE\x78\xDC\x07\xDC\xED\xAF\x3F\x0A\xFE\xEB\x65\xB6\x00\xEC\xC5\xE1\x29\xE2\x04\xE0\x2B\xE2\x65\xC5\x04\xDD\x00\xBD\x06\xDD\xAA\xB4\x05\xDB\x93\xE1\x0B\xEC\x77\xE6\x6D\xDE\x7C\xDE\x95\xD4\x6D\xE6\x7A\xDF\x2A\x61\xAF\xE6\xB1\xDE\xAA\xC8\xC6\xDC\x54\xCD\x4B\x65\x25\xEC\xD1\xB7\x27\xEC\x78\xE2\x52\xDE\xAE\xD9\x69\xE0\x00\xE1\x6B\xE0\x02\xE1\xEB\xE0\xB9\xE1\x69\xE1\x06\xE1\x6B\xE7\x45\xE0\x6B\x60\xB8\xE6\xAB\xD4\xA8\xE0\xE0\xE6\xAA\xE0\x5B\xE7\x8B\xCB\xAD\xE0\xA1\x62\x41\xEC\x06\xB8\x43\xEC\x08\xDE\xA2\xDD\x7A\xE2\x9B\xE0\xF3\xDD\x11\xE2\x3F\xE0\xF0\xEB\x41\xE0\xF2\xEB\xBD\xDC\xC1\xE6\x13\xDF\x88\xDE\xC4\xD4\x62\xD7\xBD\xDE\x74\xA1\x9D", -"\xDB\x5B\xEC\x68\xB8\x5D\xEC\x33\xD7\x8D\xBC\xB3\xDD\x8F\xDD\x3F\xDC\x4A\xDA\x57\xDE\x81\xD8\x59\xDE\x44\xDC\xBE\xE0\x14\xDC\x68\xE2\x8C\xE0\x5A\xDF\x79\xD7\xEE\xD9\xAF\xD4\xBD\xD8\xD7\xE6\x27\xD6\x10\xEC\xB7\xEB\x12\xEC\xEA\xEB\xA6\xD5\x03\xEC\x59\xDC\x05\xEC\xCB\xE1\xEB\xDF\xCD\xE1\x74\xDD\xCF\xE1\xEF\xDF\xD1\xE1\xD2\xCB\xCF\xAE\xF3\xE0\x63\xE7\xBB\xDE\xF6\xE0\x73\xE7\xA8\xD0\xE1\xDE\xC1\xE1\x61\x04\x11\xEC\x23\x4D\xD4\xEB\xEC\xEB\x4B\xDD\x27\xDC\xA5\xEB\x4E\xDD\xFE\xD3\x67\xEC\xF9\xDD\x69\xEC\x1B\xDF\x04\x6A\x0A\xE1\xF2\xCB\x71\xEC\x88\xDB\x2D\x45\x09\x52\x3A\xDC\x06\xB8\xFC\xD9\xE0\xD9\xBB\xEB\xDA\xDD\xBD\xEB\xDC\xDD\xBF\xEB\xDE\xDD\xC1\xEB\x1C\xEC\xEB\xDC\x80\xEC\x99\x9E\xF0\xE6\x68\xDD\x36\x03\xA3\xEC\x31\x57\xB7\xEC\xFB\xD9\x3C\xDC\xFD\xD9\x7B\xE2\x23\xE0\x7D\xE2\x25\xE0\x7F\xE2\x27\xE0\x09\xEC\xA2\xE0\x33\xEC\x95\xE1\x2E\x8C\x7B\xDA\x3F\xBB\xB3\xEC\x91\xD2\x73\xEC\x0C\xE2\xB4\xDC\x0E\xE2\xCF\xEC\x8D\xE1\xD1\xEC\x8F\xE1\xD3\xEC\x3F\xE1\xD5\xEC\xD4\xE0\xAE\xEC\xD6\xE0\x85\xE2\x37\xE7\x90\xDA\x92\xC6\x54\xC5\xFE\xD0\x2D\xE5\x8A\xEC\xA4\xEC\x13\xEC\x6F\xDA\x61\xEC\x3D\xE0\x63\xEC\x59\xE0\x65\xEC\xA7\xEB\xAC\xEC\x43\xE0\x4F\xEC\xB9\xAD\xFB\xD7\xFD\xC1\x48\x86\xDC\xEC\x00\xC1\xB5\xEC\x2E\x57\x54\x01\xA5\xEC\x8E\xEC\x57\xE0\xF9\xEC\xD0\xE0\xFB\xEC\xD2\xE0\xE8\xEC\x2F\xE1\x78\xE7\x82\xE1\xEC\xEC\xF6\xDE\x53\xDC\x56\xE2\x05\xDF\xA1\xEC\x79\x04\xC9\xEC\xB6\xEC\x09\xED\xF3\xE1\x04\xEC\xF5\xE1\xE2\xE1\x07\xEC\x7E\xE1\x05\xE1\x77\xDA\xD7\xEC\xA5\xDC\xBE\xE1\x12\xE7\x6E\xCC\xFD\xEB\x1B\xED\x07\xED\xCB\xEC\xB4\xEC\xB9\xEC\xF1\xDD\xF7\xEC\xCE\xE0\x0C\xED\x66\xE1\x0E\xED\x68\xE1\x41\xDE\xAB\xDD\xEA\xEC\xF0\xE0\x83\xE1\x97\xE1\x19\xE7\x33\xE0\x1A\xED\xF3\xEC\xCA\xEC\x1D\xED\x0F\xE2\xF4\xE1\xE4\xEC\xF6\xE1\x03\xE1\xF8\xE1\x24\xED\x28\xDE\xFF\xEC\x08\xE1\x7A\xE7\x6E\xE1\x95\xDC\x20\xE7\x04\xC7\xB5\xB4\x04\xD7\x04\xED\xAA\xD2\x06\xED\x8D\x04\x43\xED\xE2\xEC\x10\xE2\x23\xDE\x9E\xE0\x22\xED\xE4\xE1\x4A\xED\x80\xE1\x12\xED\xE8\xE1\xDF\xDA\x3C\x0E\xF4\xBC\x0F\xEC\x55\xED\xC8\xAC\x1C\x29\x8B\xEC\x01\xEC\x55\xE0\xA6\xEC\x3B\xE1\xA8\xEC\x50\xB6\xD9\xEB\x4F\xDD\xDB\xEB\x51\xDD\x4C\xED\xFC\xE1\x73\xE0\xC8\xC2\xD4\xE1\x31\xE7\xB4\xEB\x40\xEC\x2C\xED\x58\xED\xF5\xEC\x53\xDE\x77\xEC\xB5\xDD\x40\xDC\xB7\xDD\x42\xDC\x54\xE1\x7D\xEC\x4D\xE2\x0C\xE0\x1E\xEC\x5E\xDE\x86\xE2\x4C\xE7\xEB\xE1\x92\xE0\xAA\x5D\x68\xED\xBB\xAE\x6A\xED\xF4\xEC\x8C\xEC\xFE\xDC\xD5\xEB\xA7\xEC\xD7\xEB\x3D\xE1\xE6\xEC\x91\xE1\xFD\xEC\x88\xE0\x76\xED\x18\xE2\x59\xDF\x8A\xE3\xDB\xDF\x52\xD6\x70\xCE\x41\xE7\x07\xD6\xC7\xE6\x62\xC7\x70\xEC\x7E\xED\x7E\x06\x59\xED\x32\xED\x7C\xE2\x34\xED\x7E\xE2\x36\xED\x80\xE2\x60\xED\xE6\xE1\x62\xED\x1B\xDD\x15\xDE\xE4\xDD\x4B\xE7\x6F\xE2\x84\xCA\x02\xCD\x4E\xCA\x20\xA3\x23\xD6\xBC\xED\xC8\xE6\x51\xE7\xA0\xBD\x73\x65\x92\xED\xF3\xAF\xDE\xEC\x5D\xE2\xCA\xDC\x94\xD6\x05\xE0\x61\xE2\x52\xE1\x4A\xE2\x87\xED\xD1\xDC\x7E\xEC\x46\xDC\x77\xDD\x4F\xBD\x51\xE2\xAD\xD4\x48\xDF\xB5\x89\x6E\xEC\x9A\xC7\x90\xED\x5A\xEC\xAC\xED\x08\xED\x80\xED\x46\xEC\xBB\xEC\xE8\xDF\x38\xDD\xEA\xDF\x3A\xDD\xEC\xDF\x1A\xE1\xEE\xDF\x1C\xE1\xD5\xED\x9B\xBD\x57\xE7\xA5\xED\xED\xD8\x30\xDE\xF5\xDC\x3D\xD6\x89\xCA\xAB\xED\x41\xED\x1C\xED\xE1\xED\x55\xDB\x75\xCC\x55\xDE\x7F\xD8\x7A\xEC\x4C\xDA\x7C\xEC\xD2\xED\x89\xED\xBF\xE0\x8B\xED\x36\xD6\x9D\xCA\xB3\xDB\xD0\xC7\x5F\xDF\x55\xE2\x70\xE2\x70\xD6\xA3\xCA\x1B\xAD\x24\xEC\xDF\xED\x2E\xED\x91\xD2\x30\xED\x9A\xE0\x47\xEC\x22\xDE\x01\xE1\x5D\xED\x48\xED\x08\xEC\xB5\xED\xFA\xE1\xA0\xED\x84\xE2\xD2\xAD\x8D\xED\xC2\xED\x92\xC0\x6A\xE2\x38\xA8\x6C\xDF\x3F\xEC\x6E\xDF\x75\xCD\x37\xE0\x2D\xAF\xE4\xDB\x7A\xC3\x39\x00\x6F\xEA\xF0\xA7\x3F\x96\x96\xDF\xDB\xE9\xB7\x7C\xAD\xE9\x8F\xE4\x64\xE6\x1D\xC5\x3E\xA2\x46\xE6\x25\xDB\xD1\xDA\x74\xEC\x9A\xC6\x6D\xED\x0A\xED\xE0\xE1\x20\xED\xEF\xEB\x5E\xED\x14\xE2\x1A\xEE\x16\xE2\x1C\xEE\xEB\x9C\xC5\xEB\x20\xD4\x81\xEC\xAC\xE6\xF6\xDF\x53\xAF\x15\xE0\x3A\xAE\xA5\xD6\x65\xE6\x3F\xBB\x38\xEE\x48\xE9\xA5\xD3\x53\xDB\xF8\xED\xF2\xDB\x86\xD1\x00\xDB\x1F\xD5\x98\xD6\x03\xDB\x30\xEC\x08\xDD\xD8\xC8\xB0\xB1\xAC\xEB\x1D\xB7\x7E\xDE\x2A\xC8\x1C\xDC\x74\xE0\xCF\xEB\x52\xEE\xBA\xE4\x98\xD9\x3B\xDB\x96\xED\xDE\xE1\x3E\xEE\xED", -"\xEB\x40\xEE\x06\xEC\x18\xEE\x23\xED\xBA\xE1\x4E\xEC\xB7\xED\x35\xE7\x2C\xE0\xFF\xE6\x43\xC8\x3A\xBB\x09\xEE\x21\xBD\x8A\xE6\x16\xCB\x3F\xED\xFD\x07\x6A\xEE\x49\xD9\x6D\xDB\x5E\xEC\x99\xE0\x60\xEC\x14\xEE\x9C\xE0\x5C\xED\x12\xE2\x42\xEE\xF1\xEB\x10\xED\x41\xE1\xF4\xEB\x43\xE1\x6B\xEC\x91\xE6\x03\xEA\xF3\xCF\x5D\xC8\x4A\xE0\x95\xE6\xB5\x75\x74\xC5\xF2\xCB\x53\xEE\x31\xE5\xDD\xDB\xC3\xD9\xDC\xE1\x00\xD8\xCC\xE0\xAF\xED\xD0\xEC\xB1\xED\xD2\xEC\xB3\xED\xD4\xEC\x44\xEE\x82\xE2\x46\xEE\x55\xE7\xF7\x78\x61\xE0\x75\xC5\x9D\xEE\xC2\xE9\xAB\xD9\x56\xEE\x6D\xEE\x3A\xDE\x7E\xDD\x3C\xDE\x51\xE1\xB7\xE1\x22\xD7\x93\xEC\xED\xDF\x95\xEC\xEB\xED\x97\xEC\xD7\xCF\xA4\xE6\x79\xDC\xCD\x74\x83\xEE\x80\xD9\x3A\xEE\xDF\xEC\x79\xE2\xE1\xEC\xA4\xEE\xE3\xEC\xA6\xEE\xE5\xEC\xA8\xEE\xE7\xEC\xAA\xEE\x0A\xEC\xAC\xEE\x07\xB0\x48\xEE\x84\xDF\x9F\xD6\xC9\xEB\xD4\xD9\x3D\xD0\x8B\xD5\xA8\xBB\xA9\xD1\x0A\x01\xC5\xEE\x55\xEE\x86\xDB\xAE\xED\x89\xEE\x62\xEC\x8B\xEE\x64\xEC\x8D\xEE\x66\xEC\x8F\xEE\xF3\xEB\xA7\xE1\xF5\xEB\xD7\xE0\xD0\xE6\x45\xD7\xAC\xD4\xD0\xDE\xA0\xDB\xDD\xE0\x7F\xE7\xA1\xCA\xBD\xE6\x69\xEE\x39\xEE\x85\xEE\x3B\xEE\x4D\xC7\x02\xEC\x1E\xED\x8F\xEC\x71\xEE\x91\xEC\xE7\xED\xBC\xEE\xE9\xED\xBE\xEE\xE1\xDD\x1D\xE1\x9F\xC5\xA5\xBA\xC3\xE0\xD4\xDE\xC5\xDC\xA5\xD8\x24\xE2\x65\x02\xDF\xEE\xB3\xEE\xE1\xEE\x57\xEE\x24\xDC\x59\xEE\xC9\xE1\x49\xD6\x25\xC6\x99\xD6\x90\xD4\xB3\xBD\x92\xD4\xCE\xE6\xB7\xE6\xDE\xD4\xF6\xBB\xD3\xE6\x57\xDA\xD5\xE6\x0A\xEF\xB8\x5D\x14\xB2\xB1\xEE\x97\xD9\x84\xEE\x6C\xEE\x6C\xED\x9E\xE1\x6E\xED\xC8\xCB\xA4\xEB\x71\xED\x90\xE1\xCC\xDD\xE9\xEE\x68\xEC\x91\xEE\xC2\xE6\xED\xEE\x99\xEC\xFB\xD4\x52\xE2\x22\xDA\xF4\xEE\xE3\xE6\xF8\xDC\x4C\xC2\xFD\x5A\x0F\xEF\x6C\xDB\x29\xEF\x28\xEC\x5E\xE2\x2A\xE2\x60\xE2\x2C\xEC\x17\xE1\xE9\xCA\xF5\xD0\x19\xEF\xF7\xD0\x1B\xEF\xF4\xE6\x0B\xDD\xEA\xE6\xA7\xE2\x66\x9E\x26\xEF\xAA\xD9\x41\xEF\xB4\xEE\x2A\xEF\xEB\xEB\x6F\xEE\x99\xED\x90\xEC\xD8\xEB\x30\xEF\x86\xE0\x9E\xED\x32\xEC\xD3\xEE\xA4\xE0\x0E\x60\xC6\xEC\x3E\xEF\x0E\xEF\xF8\xEE\x42\xEF\x44\xEC\x7D\xE0\x44\xE2\x13\xE1\x80\xE0\xDC\xD7\x82\xE0\x2D\xEC\xA3\xC6\x2F\xEC\x72\xC7\x31\xEC\xA9\xEB\x26\xED\x08\xE7\x3B\xD5\xDA\xEC\x41\xD4\x53\xEF\xC0\xD9\x6C\xDA\x69\xEF\xB4\xE0\x6B\xEF\xA2\xEB\x46\xE2\x2E\xEF\x83\xB6\x5D\xEF\xDA\xEB\xA8\xEB\xDC\xEB\x76\xEF\x48\xE7\xE9\xE1\xFD\xE6\x47\xE1\x17\x81\x3F\xEF\x67\xEF\x56\xEF\x43\xEF\xCB\xED\x0C\xDC\x2B\xEC\x8D\xC9\xBA\xEE\xCF\xDC\xD1\xED\x84\xDD\xD3\xED\xD3\xDC\x21\xA6\x01\xED\x14\xBE\x7A\xEF\x40\xEF\x32\xE5\x80\xDA\xA1\xEE\xAA\xDA\xA3\xEE\xE3\xEE\xF8\xEC\xE5\xEE\xFA\xEC\xE7\xEE\xFC\xEC\x32\xEF\xAD\xEC\x34\xEF\x6A\xEC\xA9\xE1\x15\xED\x67\xDC\x17\xED\x67\xDD\x65\xEF\x17\x05\xA1\xEF\x9F\xEE\xFA\xD9\x2F\xED\xCD\xEC\xBA\xEC\x15\xEC\x25\xDD\x14\xD6\xBE\xEB\x28\xDD\x1A\xEC\xE9\xDC\xC2\xEC\xBC\xDD\x06\xEF\xC3\x99\x0A\xDF\x0F\xEC\x7B\xEF\x71\xEA\x7D\xEF\x86\xEE\x8A\xE1\xCA\xEE\xA7\xEF\x33\xED\xA9\xEF\x0D\xED\xAB\xEF\x0F\xED\xD1\xEE\xD6\xEC\x61\xEF\xD8\xEC\x83\xB4\x9A\xB4\x3E\xED\x99\xE1\x28\x02\xB8\xEF\x5D\xE6\xA0\xEE\xA9\xD8\xDD\xE1\xB6\xEE\xCC\xED\x95\xEF\x07\xCB\x62\xE2\x82\xDD\x99\xEF\x95\xDD\x1B\xE1\x05\xEF\xEC\xED\x40\xDD\x1F\xEE\xB3\xB4\x52\xED\xF8\xDA\x04\xD7\xCB\xEF\xCD\xE9\xE1\xEF\xBA\xEF\x11\xEE\xBC\xEF\x31\xED\xD1\xEF\xB0\xED\xD3\xEF\x35\xED\xD5\xEF\x37\xED\xA5\xE1\x39\xED\xAF\xEF\xAF\xEC\x27\xE7\x0A\xDB\x29\xE7\x0C\xDB\xDE\xEE\x90\xEF\x11\xEF\xB5\xEE\x45\xD1\xCB\xEE\x5B\xED\x16\xEE\x8C\xEE\x73\xEE\x5F\xED\x75\xEE\x25\xED\xD9\xEF\x27\xED\x76\xDC\xC1\xBD\xBE\xCC\x76\xD8\x4E\xD7\xF6\xEF\x10\xDA\xA8\xDA\xFA\xEE\x89\xDB\xD8\xDD\xE3\xED\xE8\xE0\x70\xDD\xEA\xE0\xA3\xE1\xEC\xE0\x38\xED\xEE\xE0\x3A\xED\xBD\xE1\x4E\xED\x1F\xE7\x48\x97\xEF\xD5\xE0\xD1\x8F\xEF\x54\xEE\x10\xEF\xBC\xDB\xA4\xEF\xD3\xDA\xFC\xEE\x44\xED\x1F\xED\x46\xED\x21\xED\x14\xF0\x43\xEE\x16\xF0\x4B\xED\x77\xEE\x6C\xE7\xA2\xED\x4A\xE7\x5B\xDF\xF4\xE0\xA0\xD8\x33\xDF\xC1\xD1\x43\xE7\x25\xEF\xE0\xEF\x58\xDA\x11\xDB\x38\xF0\x28\xDB\x3A\xF0\x5A\xED\x45\xED\xCD\xEE\x47\xED\x4B\xEC\x49\xED\x41\xF0\x61\xED\x2D\xF0\x9B\xE6\xFC\xDD\xA5\xE2\x9E\xE2\x42\xA5\x03\xCD\x2A\x9C\xC1\xED\xA1\xCA\xC4\xED\x58\xD2\x34\xF0\x9E\xEE\xF8\xEF\x87\xDB\xFA\xEF\x39\xDE\x0F\xF0\xFD\xEF\xA5", -"\xEE\xFF\xEF\xB2\xED\x01\xF0\xB4\xED\x5A\xF0\xB6\xED\x5C\xF0\x79\xE7\x56\xE7\x5A\xDF\x2C\xEA\x92\xB8\xD6\xD8\xF2\xED\x56\xD6\xFC\xD1\x4D\xF0\x0C\xF0\x37\xF0\xE3\xEF\xA2\xEE\x53\xF0\x10\xF0\x55\xF0\x71\xF0\xA7\xEE\x73\xF0\xA9\xEE\x75\xF0\x1B\xEE\x43\xF0\x50\xEC\xED\xED\x7A\xF0\x47\xDE\xE4\xDA\xAF\xB8\xCB\x98\x31\xDE\xF6\xDC\x68\xE7\x3F\xEC\x68\xF0\xB2\xEE\x55\xEF\x0D\xF0\x57\xEF\x8D\xEC\xFD\xEE\x0B\xED\x89\xF0\xCE\xEE\x8B\xF0\xD0\xEE\x8D\xF0\x45\xEE\x8F\xF0\x79\xDA\x45\xF0\x9B\x63\x6F\xE7\xAD\xD4\x71\xE7\xB0\xD4\x0A\xD9\x9C\xF0\x9B\xF0\x27\xEF\xC6\xEE\xF9\xEE\xC8\xEE\x45\xEC\xF9\xED\x9E\xCC\x26\xF0\xE9\xDF\x28\xF0\xCC\xE1\x2A\xF0\x03\xF0\x2C\xF0\x05\xF0\xEB\xEC\x1E\xEE\xED\xEC\x87\xE2\xCE\xDB\xC9\xE0\x8A\xE2\x75\xDF\xBA\x92\x27\xEE\x0E\xE1\x55\xB5\x54\x77\xB7\x5D\x18\xC2\x5A\x02\x6F\xEA\x90\xA9\xE1\x4C\xE3\x57\x6E\x00\xED\xBF\xC6\x34\x28\xE5\x54\xE9\x79\x59\xC3\xEE\xAA\x5D\x61\xE6\x37\xDE\xB2\xC6\x24\xF0\xBE\xEF\xBC\xEB\xC0\xEF\xBE\xEC\xC2\xEF\xC0\xEC\x1B\xEC\xED\xEF\x1D\xEC\xBA\xCF\x35\xEC\xF3\xDF\xAE\xDE\x38\xEC\xAF\xEB\x3E\x99\x90\xE7\x36\xEE\xE7\xB7\xDF\xF0\x50\xDE\x25\xE1\x0D\xE2\x3D\xDB\x54\xF0\x3C\xF0\x56\xF0\x3E\xF0\x58\xF0\x19\xEE\xA7\xF0\xAB\xEE\xA9\xF0\x94\x6C\x62\xEE\x28\x75\xAE\xEB\x65\xEE\x80\xDE\xE9\xC3\x68\xEE\x41\xD4\xF6\xF0\x89\xBE\x92\xEF\x58\xDD\xE6\xEF\x46\xEF\x96\xEF\x3E\xDE\xB8\xE1\x59\xF0\x4D\xEC\x17\xF0\x03\xF1\x77\xED\xF6\xEB\x10\xCB\x8A\xDE\xD5\xD6\xE3\xEB\xD7\xD6\x3E\xA2\x0D\xF1\x98\xBE\x7E\xEF\x4D\xE1\x90\xBC\xC8\xD6\x96\xD6\x5B\xEE\x02\xDB\xD5\xAC\x4B\xEF\x8C\xD1\x4D\xEF\x10\xE7\x6D\xA7\x49\xDC\x94\xDE\x57\xD4\xFA\xEB\x9B\xEE\x19\xED\xC6\x05\x30\xF0\xA0\xDD\xCA\xED\x10\xF1\x94\xEF\x12\xF1\xE8\xEF\xCF\xED\x08\xE0\xA1\xD9\x30\xBD\x31\xE2\xED\xCB\xC0\xE0\xF6\x74\xA7\xD9\x04\xD7\x22\xF1\xA8\xBE\x12\xEF\x35\xDD\x3A\xE1\x2D\xEF\x70\xED\x84\xEF\x9C\xED\x31\xEF\xD7\xEF\xE9\xEC\xC2\xF0\x3B\xED\x46\xE0\x20\xEC\xED\x97\x22\xEC\x8E\xD6\x3F\x0A\x49\xF1\x07\xBF\xE2\xEE\x25\xF0\x48\xEC\xE9\xE0\x4A\xEC\x29\xF0\x4C\xEC\x2B\xF0\xBB\xE1\x77\xF0\x9F\x6D\x05\xF1\x86\x94\x38\xEC\x2D\xD7\x05\xDC\x91\xE0\x3E\xEC\xC5\xED\xF6\x64\x5D\xF1\x2F\xCC\x5F\xF1\xE3\xF0\xBC\xEC\xE5\xF0\xE6\xED\xDD\xDD\x3B\xDD\xBD\xEE\x04\xF0\xEB\xEE\x92\xEE\xD5\xDC\xEE\xEE\x2C\xB0\xF0\xEE\xDB\xE0\xD1\xDE\xBB\xE6\xBD\xD8\xF6\xEE\x0C\xF1\x38\xF1\x74\xBB\x89\xE1\x61\xE1\xD0\xEF\x60\xF1\x15\xEE\x49\xEC\x17\xEE\xFF\xF0\x74\xEE\x17\xF1\x42\xF0\x68\xF1\x63\xED\x1B\xF1\xD7\xCE\x09\xEF\xDB\xED\x73\xD0\x9D\xDB\x73\xF1\xF0\xDB\x4B\xF1\x49\xDD\x14\xEF\x72\xD1\xCA\xE1\x5C\xEF\x51\xF1\x5E\xEF\xAD\xEF\xFE\xEC\x19\xF1\xA1\xED\xF1\xE0\x2C\xDE\xD5\xC5\xCE\xDE\xF6\xE9\xD3\xD8\xF3\xDC\xBC\xDE\xF7\xE0\x13\xC6\xDD\xED\x38\x66\x9F\xF1\x22\xDC\xA1\xF1\x6D\xDD\x4D\xF1\x1D\xD5\x83\xEF\x90\xB7\xAA\xEC\xC1\xB4\x5F\xEF\x75\xEF\x18\xF0\x77\xEF\x36\xEF\x93\xD7\x38\xEF\x55\xEC\x7B\xD7\x3A\xE2\x40\xDA\xA0\xEC\x66\x9E\xB9\xF1\x39\xDC\x75\xF1\x82\xED\xFB\xED\xB6\xDD\xFD\xED\xB8\xDD\xFF\xED\x9A\xEF\x01\xEE\x7F\xEC\xC7\xEF\x52\xDA\x50\xEF\x15\xD5\xCF\xF1\x8A\xF1\x02\xBC\x3B\xDC\x6D\xF0\x3D\xDC\xD3\xF1\x16\xEC\x56\xDE\x18\xEC\x58\xDE\xC3\xEF\xBA\xDD\xC5\xEF\xC3\xEB\xEF\xEF\xA6\x88\x64\xEF\xC4\xE6\x5C\xF1\xE1\xF1\xE4\xBB\x51\xF0\x6A\xDC\x86\xF0\x6F\xF0\xCC\xEE\xA3\xF0\x57\xF0\x64\xF1\x16\xF1\x66\xF1\x76\xEE\x97\xF1\xB8\xED\xE0\xB0\x79\xEF\x81\xEE\xD0\xF1\x16\xED\x8B\xF1\xF6\xF1\x09\xDE\xF8\xF1\x8F\xF1\x8A\xEE\x12\xF0\xE6\xEE\x3F\xF0\x8E\xEE\x53\xF1\x11\xED\x01\xF2\x78\xEE\x8B\xEF\xD2\xDD\xFE\xE6\xA4\xAD\x92\xDA\x79\x03\xF4\xF1\x10\xEE\x05\xED\x12\xEE\x88\xEE\x0C\xF2\xE4\xEE\x0E\xF2\xAA\xEF\x10\xF2\xE8\xEE\x12\xF2\x90\xEE\x7E\xF1\x9F\x7A\x9E\xEF\x39\xD8\x06\xF2\xB3\xEF\x08\xF2\x84\xF0\xA5\xEF\x0B\xF2\x76\xF1\xE4\xED\xDB\xDD\x79\xF1\xBF\xEC\x7B\xF1\x03\xEF\x7D\xF1\xD0\xE1\xEC\xEE\x14\xED\xFC\xE6\xFA\x9C\xB8\xDA\x54\x95\x9C\xB1\x2D\xF2\x6F\xE1\x39\xF1\x42\xE2\xB2\xE1\x26\xF1\x4F\xE1\x28\xF1\xB6\xD7\x5C\xEE\x2B\xF1\xE1\xD7\x91\xD4\xE3\xD7\xB6\xE6\x5A\xBC\xC9\xEF\x94\xD9\x37\xF1\xE0\xF0\xA2\xC7\x44\xEF\x2A\xEC\x3D\xF1\x3A\xD2\xE9\xEF\x2E\xE2\x41\xF1\x74\xC6\x9B\xEF\x86\xDD\xEF\xF1\x88\xDD\xA0\xD5\xF1\x9F\x59\x91\x43\xF2\x50\xED\x68\xDC\x22\xF0\xCC\xC9\x97\xED\x2C\xEF\xBE\xF1\x4F\xF1\xC0", -"\xF1\x72\xED\xAB\xEC\xA9\xF1\x9F\xED\xAB\xF1\x1D\xEE\xB1\xEF\x3E\xF2\xF6\xBD\x46\x9F\x53\xED\x0A\xF0\x55\xF2\xF7\xF0\x8C\xF1\xF1\xE1\xFA\xF0\x87\xF0\xFC\xF0\xFB\xF1\xFE\xF0\xFD\xF1\x00\xF1\x95\xF1\x5B\xF0\x55\xF1\x2E\xF0\x96\xE1\x08\xF0\x1A\xC7\x42\xF2\x1C\xF2\xD2\xF1\xCD\xD5\x90\xDD\x20\xD7\x97\xEF\x53\xE1\xD8\xF1\xEC\xEF\xEA\xED\xEE\xEF\xC0\xEE\x88\x98\x9C\xE9\x30\xE7\xA0\xD8\x66\xF2\x90\xF2\xBB\xF1\xE6\xE0\xBD\xF1\x9A\xDA\x6F\xF2\xBE\xB7\xA6\xEB\xD6\xEF\x01\xF1\xD2\xEE\x75\xF2\x1D\xE7\x2F\xF0\xEE\xD5\x39\xE7\xFD\xB4\x1B\xF2\x56\xF2\x87\xC9\x93\xEF\x5F\xE2\xB8\xEE\xB6\xE1\x14\xF1\xBB\xEE\xBF\xF0\xCE\xE1\x3A\xF2\x96\xEC\x3C\xF2\xD6\xED\xB7\xD8\x47\xF0\x9B\xEC\x32\xDF\x4F\x0C\x4E\xDB\xCC\xF1\xFF\x00\x44\xE7\x3D\xE2\x70\x05\xA1\xF2\x0E\xF0\xE5\xF1\x92\xF2\x78\xEC\x91\xDD\x85\xED\x93\xDD\xEB\xEF\xBD\xE0\xDA\xF1\xD4\xED\x9B\xF2\x9D\xD8\x61\xDB\x84\xF1\xF4\xF0\x31\xB5\x02\xDE\xC7\xF2\x66\xF0\xAC\xC8\xB2\xF2\x7E\xF2\x09\xF2\x5F\xEC\x8E\xF1\x33\xF2\xBB\xF0\xE5\xED\xBD\xF0\x92\xEC\xBB\xF2\x94\xEC\xBD\xF2\xBF\xEE\xBF\xF2\x91\xF0\xAE\xF1\x13\xA0\x50\xDF\x26\xEA\x6B\xBD\x39\xE2\x57\xEC\x3E\xD6\xB7\xF1\x73\x65\x67\xF2\xB2\xDC\xCE\xEF\x8D\xF1\x81\xF2\xF9\xF1\x11\xF0\x91\xF1\x13\xF0\x93\xF1\x15\xF0\x88\xF2\x76\xF0\x8A\xF2\x5D\xF0\xB9\xED\x92\xF0\x58\xE7\x81\xA9\xF1\xED\xC4\xE0\x99\xF0\x71\xF1\x4B\x65\xFC\xF2\xE0\xDC\x0F\xF1\x7D\xDD\x11\xF1\xB7\xF2\x06\xE0\x3F\xF1\x63\xE2\x4B\xE2\x65\xE2\x60\xF2\x67\xE2\xDC\xF1\x96\x6C\x62\xE7\x20\xEF\x80\xE7\xCA\xB8\x97\xF0\xF3\xED\x0B\xEE\x75\xE7\x0D\xEE\x35\x01\xCC\xF2\x9F\xF0\x6C\xF2\x59\xEF\x6F\xED\x9A\xED\xA9\xEC\x71\xF2\xC2\xF1\x73\xF2\x60\xEF\xAC\xF2\xAD\xEE\x77\xF2\x7B\xE7\xF6\xBD\x7D\xE7\x40\xE2\xCB\x8E\xAB\xB5\xCB\xF0\x8D\xE2\x28\xEE\x70\x67\x9B\xEB\x09\x5F\x48\xB9\x43\xF1\xD4\xD1\xD1\xCA\xF1\xDF\x0F\xE0\x95\xE7\x3D\xD9\x41\x7E\x71\xDE\x52\xAF\x73\xDE\x42\xD9\x75\xDE\x5A\xF1\x35\x6B\x47\xF3\x66\xE2\x74\xD5\x15\xDC\xD5\xEE\x8A\xE7\x7D\xDE\xF5\xDF\x7F\xDE\xC1\xCF\x77\xDC\x82\xDE\xFB\xCA\x64\xDF\x16\x41\xA3\xD9\xD8\xB3\x21\xF3\x02\xCA\x86\xE6\x78\xD9\x88\xE6\x1F\xF1\x8D\xDE\x42\x7E\x64\xF3\x39\x50\x66\xF3\x68\xB4\x45\xF1\xF2\xC5\x94\xEE\xB0\xCD\x17\xB3\x49\xE0\x94\xE6\x27\xF3\x87\x99\x88\xE9\x21\xD3\xBE\xE6\xAA\x5D\xAA\xE7\xC2\xEB\x2C\xDD\x68\xF3\x6F\xA1\x47\xF1\xB6\xEA\x41\xBE\x72\xF3\xDC\xB6\x84\xF3\x31\x7E\xC2\xEE\x55\xF3\x81\x6B\x57\xF3\x1F\xF3\x59\xF3\xEC\xF0\x5B\xF3\x4D\xF3\x11\xE0\x0B\xC8\x8E\xDC\xD5\xD9\x53\xF3\xA7\xBB\x1D\x85\xB3\x08\x3F\x0A\x81\xF3\xED\xF1\x83\xF3\x62\xF2\xDD\xD4\xD8\xE0\x0E\x0B\x46\xD7\x24\xF3\x64\xE7\x22\xEF\x9C\xF1\xAD\xDC\x70\xF1\x5B\x68\x90\xF3\xD6\xF2\x9C\xEF\xD8\xF2\x8E\xD9\x6C\xEC\xC6\xE6\x7D\xEE\xC8\xE6\xC6\xDE\xD5\x65\x9E\xF3\x89\xF3\x76\xE6\xDA\xEF\xC0\x87\x1E\xEF\xDA\xE0\x48\xF0\xDC\xE0\xE2\xD4\xD3\xDE\xAA\xF3\xC0\xCB\x84\xA7\x9D\xF3\x26\xB9\x48\xF3\x65\xD6\xC4\xEC\xAB\xE6\x6E\xE7\xD5\x69\xF0\xDC\xBA\xE6\xF3\xEE\xB0\xD4\xE4\xE6\x7F\xF3\xA1\x62\x9F\xF3\xEA\xF0\xC3\xEC\x8B\xF3\xC6\xC1\xB1\xEC\x22\xA8\xA5\x5B\xD6\xF3\x99\xF2\xEB\xF0\xD9\xF3\x6E\xA2\xF1\xF1\x05\xE7\xC8\xF3\x58\xF3\x89\xD5\x03\xEE\x18\xCC\x04\xF2\x69\xE7\x91\xE7\xC9\xF3\xA4\xD9\xE8\xF3\xE7\x88\x45\xE1\x15\xA5\xEF\xEC\x2F\xB6\x1F\xCE\xDE\xF3\x04\xEF\xE0\xF3\x9D\xEF\x80\xC9\x86\xBC\x70\xF3\xF6\xF3\xEE\xF2\x9A\xF2\xF0\xF2\xF0\xEF\xC5\xF0\x4B\xDE\xC5\x7A\xB5\xEF\xFE\xBF\xB9\xF3\xED\xF3\x67\xF3\xA2\xF3\xAC\x75\x53\xF2\xEA\xEA\x80\xF3\xBA\xF3\xA2\xE6\x36\xBB\x6D\x9B\x89\xD6\xFC\xF3\x0F\xF4\x51\xF2\x6D\xBC\x15\xDF\xFD\xB7\x21\xE7\xA4\xA2\xD4\xF3\x38\x66\xFD\xF3\xC1\xF0\x29\xF2\xB0\xEF\x50\xD1\xEF\xC9\x1E\xDF\xA6\xE6\xFE\x1E\x15\xF4\x1C\xEF\xA3\xE6\xB6\xCE\xC0\xDD\x46\xF3\xEC\xF3\xE6\xF3\xD5\xD5\xCB\xF3\xF5\xDE\x78\xF2\x07\xBF\xD4\xCC\xC6\xF3\xDD\xF3\x27\xF4\x4E\xEF\x8F\xB8\x30\xDF\xC0\xF3\xE8\xCC\xE8\xDD\x4B\xF0\xC7\xF2\xC9\xF2\x76\xE7\xE5\xF3\x91\xF3\xE7\xF3\x30\xF4\x34\xE2\xDA\xF2\x3B\xF4\xDC\xF2\x64\xDB\xC0\xED\x66\xDB\x9C\xF3\x36\xF4\x08\xF4\x73\xF3\xEF\xF3\x0B\xAF\x4F\xDF\x00\xE2\xB0\xE0\x3A\xD6\xF7\xF2\xA9\xED\x53\xB5\x35\xF4\x0E\xF4\x4F\xF4\x8A\xF3\x0A\xF4\x0F\xD2\x53\xF4\x8E\xED\x51\xDF\x66\xE7\x03\xDE\x11\xF3\x78\x7B\x07\xF4\x2E\xF4\x32\xE2\x45\xF4\x50\xE2\x60\xF4\x20\xEE\xC9\xB8\x6D\xD6\xC4", -"\xE0\xB1\xF0\xEB\xE3\x4E\xF4\x68\xF4\x44\xF1\x51\xF4\x02\xDF\xF1\xF3\x67\x8E\xC7\xF0\x89\xE2\xD0\xDB\x17\xBA\x41\xF3\x31\xAF\x8E\xE2\xAA\xB5\x88\xCF\x37\x81\xA8\xDF\xA0\xA3\xAC\xE7\xA1\xE7\x06\x69\x97\xE7\xB1\x5E\xB4\x3C\xA4\xDF\xE5\x5A\x56\x82\x84\xF4\x87\xE7\x82\xDF\x75\xA6\x95\xF3\xC5\x3C\x89\xF4\x60\x81\xC2\x3C\x76\x45\x95\xEA\x1B\xF0\x26\xD9\x3D\x00\x0E\xEA\x39\xE4\x1F\xA5\xF8\xE4\xFD\x99\x1D\xA6\xF3\xD0\x30\x32\x73\x62\xF6\x45\xA1\x7C\x3F\x00\xF8\xE4\x51\x00\xC5\xE7\xAA\xF4\xC5\x62\xE4\xE7\xCB\xDF\xCC\x6B\xE7\xE7\x3C\x00\xE9\xE7\xFB\xF3\xE4\x9F\xD0\xE7\x59\x67\xEF\xE7\x2B\x73\x9C\xF4\xD5\xE7\x0F\xEA\x90\x77\xA0\xF4\x36\xEA\xD3\x7C\xA3\xF4\xBF\xE7\x92\x5D\xA7\xF4\xA9\xF4\xAB\xF4\xA0\x5D\x63\xEA\xCA\xDF\x1D\x06\x8A\x6C\xB1\xF4\xB3\xF4\xD1\xE9\xA1\xAE\xB6\xF4\xBE\x67\x07\xA9\x45\xF3\x4E\xD7\x1D\x00\x25\xE9\x07\xE8\xFF\x0A\x91\xF2\x3B\xDE\x93\xF2\x3D\xDE\xD2\xF2\x3F\xDE\xEC\xF2\x7C\xF1\x1F\xF4\x3B\xF2\xF0\x8E\xAA\xE6\x4E\xF3\x7E\x89\x50\xF3\xF5\xCA\x52\xF3\xB0\xE6\x43\xD9\x8E\xF3\xA5\x6A\xD5\xF4\xB4\xE8\x76\x09\xD9\xF4\xB7\xEE\xDB\xF4\xB9\xEE\xB9\xF2\x98\xEF\x97\xF2\xD5\xF2\x82\xF3\x57\xE1\x93\xF3\x4B\xF3\xC6\xEB\xA3\xB6\xC8\xEB\x8D\xE0\x7B\xE6\xBF\xCF\x60\xD9\x3A\xD4\xA7\xEA\xC0\xD6\x63\xF3\x3F\xBB\xEE\xF4\x01\xE9\x98\x0C\xF1\xF4\x18\xF3\xF3\xF4\xB8\xF2\xDD\xF4\x15\xF1\x87\xF2\xFF\xF1\x18\xF1\x14\xF2\x44\xF0\x99\xF1\x2D\xE0\xED\xB2\x2F\xE0\xFA\xEB\x7B\xD9\x8B\xE6\xDE\xEF\x22\x41\xD6\xF4\x9E\xE8\x55\x05\x0C\xF5\x3C\xF1\x19\xF3\xCE\xED\x95\xF2\xD0\xED\xF7\xF4\x4C\xE2\xF9\xF4\x4E\xE2\x6A\xF4\x1F\xEC\xEA\xD6\x48\xE0\x5B\xB6\x98\xEE\x7B\xF3\x2F\xCB\x4F\xDC\x5A\xD4\x04\xD7\x09\xF5\x14\xE9\x2D\x08\x23\xF5\xB6\xF2\x0E\xF5\x1A\xF3\x27\xF5\x40\xF1\x64\xE2\xA2\xD9\x5C\xF4\xBB\xF3\x19\xF0\xB0\xEC\xAF\xEE\xF2\xCB\x38\xF5\x06\xE8\x21\xF5\x4A\x05\x3B\xF5\x45\xEF\x25\xF5\x47\xEF\x2D\xE2\x18\xE1\x2F\xE2\x42\xF5\x74\xF4\x49\xF3\x74\xF3\xCD\xB2\x81\xD4\x76\xE0\x7C\xED\x3F\x0A\x49\xF5\xDC\xE8\xD7\xF4\x0B\xF5\xA2\xF2\xFE\xE0\xA4\xF2\x7A\xE1\x5B\xEF\x9B\xED\xCF\xEE\x9D\xED\x36\xF3\xC4\xF1\x38\xF3\xD4\xEE\xFC\xF4\x49\xEE\x79\xE6\x4B\xEE\x6D\xF1\xF9\xDF\xB2\xDE\xAC\xF3\xE1\xF2\x1F\xF5\xEF\xF4\x22\xF5\x61\xF5\x39\xE1\xA3\xF1\x9C\xDC\xA5\xF1\x66\xF5\xA5\xF0\x68\xF5\x27\xF2\xEA\xEE\xE2\xF4\x35\xEF\xDC\xE6\x81\xF1\x83\xB3\x83\xF1\x48\xF4\xAE\xD4\x8A\xD0\x3B\xEF\x98\x9C\x88\xF1\x81\xEE\x5D\xF5\xD5\xD7\xC8\xE8\xD8\xF4\x79\xF5\xA1\xEB\xC8\xE1\xA4\xF1\x16\xEF\x9A\xCF\x18\xEF\x4E\xF2\x1A\xEF\x50\xF2\x28\xF4\x57\xCB\x70\xD0\xB4\xF3\x99\xEE\x2D\xA8\x64\xD7\x0C\xEF\x9A\xF0\x3D\x62\x20\xF5\xF7\xE7\x4D\xF5\x59\xF2\x4F\xF5\x13\xF1\x10\xF5\xBA\xF2\x65\xF1\xC0\xF0\x67\xF1\x09\xF3\x78\xF0\x51\xEC\xBE\xF3\xB1\xF1\x36\xE2\xD4\xE6\xB4\xF1\x9E\xEC\x7D\xD7\xFA\xF2\xF6\x64\x90\xF5\x29\xD8\x26\xE9\x60\xF5\xCD\xF2\xCE\xEC\x82\xF2\xFE\xEE\x3D\xF0\x41\xEE\x25\xF2\xAC\xEF\x81\xF5\x33\xEF\x20\xF4\x06\xF0\x80\xF1\x37\xEF\xCF\xF3\x2E\xDE\xD2\xDE\xE2\xE6\xE1\xB3\x3D\xEF\xF2\xF1\xA7\xF5\x77\xF5\x4C\xF5\x94\xF5\x98\xED\x31\xF3\x65\xF5\x33\xF3\x85\xEF\x73\xED\x87\xEF\x75\xED\x6B\xF5\x62\xEF\x09\xE1\xDE\xF1\xE7\xDE\x66\x9E\xBF\xF5\x10\xC3\x39\x27\xAA\xF5\xC7\xE1\xCD\xED\x50\xF5\x5C\xF2\x52\xF5\x5E\xF2\xAC\xC9\x55\xF5\xCA\xF3\xE1\xF3\xC5\xEC\x1D\xDD\x8D\x90\x37\xF5\xA8\xF5\xEC\xF5\xDB\xF5\x6D\xF2\xA5\xF2\x32\xF3\x2F\xEF\xA7\xF1\x86\xEF\xC3\xF1\x88\xEF\xC5\xF1\x8A\xEF\x0E\x60\xF6\xE6\x08\xDC\x2E\xE9\xD9\xF5\x30\x01\xED\xF5\x80\xEF\x96\xF5\x7C\xF5\x98\xF5\xDF\xD7\x9A\xF5\x07\xDD\x4F\xF2\x09\xDD\x16\xF4\x25\xD1\x6D\xCD\xB9\x9E\xF3\xF3\xEA\xD7\x1E\x62\x5C\xF5\xFC\xF5\x3A\xF5\xFE\xF5\x30\xF3\x4E\xF1\x01\xF6\x50\xF1\x67\xF5\x52\xF1\xAA\xF2\xD8\xEF\xE4\xF5\x5F\x2B\x8F\xE9\x90\xC8\x0C\xF6\x0A\xF5\xF0\xF4\x23\xF6\xA1\xF0\x3F\xEE\xC7\xF5\x72\xEE\x05\xF3\x40\xF0\x07\xF3\x8E\xF0\x15\xF5\x90\xF0\x01\xF4\xB2\xEF\x44\xF2\x0A\xEE\x71\xE1\x0D\xE8\xE9\xF5\x21\xF6\x93\xF5\xC3\xF5\xBD\xEF\xE6\xF1\xBF\xEF\xE5\xDC\xC1\xEF\x19\xEC\xE8\xF0\xC4\xEF\xD7\xF3\xC6\xEF\x5E\xF4\x70\x6F\x0C\xF4\x7A\x82\xEA\xF5\xF1\xE8\xA9\xF5\x33\xF6\x3B\xF0\xC6\xF5\xFD\xF0\xC8\xF5\x38\xF6\x11\xF2\x2A\xF6\x54\xF1\xCD\xF5\xC3\xF0\xDB\xEF\x3D\xED\x65\xF2\x08\xF5\x45\xF6\xC2\xF5\x2E\xF3\x6E\xEE\x34\xF6\x70\xEE\x36\xF6\x00\xEF\x7A", -"\xF1\xE8\xED\xC1\xEC\x50\xF6\xEE\xF1\xB1\xF3\x42\xD2\xF1\xEF\x16\xDF\xF3\xEF\x97\xCC\x9C\xB1\x56\xF6\x16\xE9\xC1\xF5\x32\xF6\x47\xF6\xFC\xEF\x21\xF2\xA8\xEF\x23\xF2\xD4\xEF\xC9\xF5\xA9\xF2\x3A\xF6\xA8\xF0\x3C\xF6\xAA\xF0\x28\xED\x28\xE7\x8E\xF2\xFB\xF5\x0D\xF6\x1D\xF2\x56\xED\x1F\xF2\xE6\xF2\x49\xF6\xE4\xF0\x4B\xF6\xE6\xF0\x4D\xF6\x38\xF2\x72\xF6\xDF\xF3\xD8\xF3\x52\xF6\x2A\xB8\x79\xED\x91\xD1\x7B\xED\xD6\xE1\x20\xF6\x90\xF6\x0F\xF6\x48\xF2\xB4\xE1\x4A\xF2\xB9\xE0\x4C\xF2\xAC\xB1\x2C\xF1\x9B\xD6\x2E\xF1\x60\xE7\xE5\xD7\x78\xF4\x46\xC7\x8B\xD8\x48\xC7\xA4\xF6\x31\xF6\x78\xF5\x80\xF6\x13\xEE\x82\xF6\xD2\xEF\x84\xF6\x00\xF0\x86\xF6\x02\xF0\xBC\xF2\xE1\xF4\xBE\xF2\x7F\xF1\x67\xB2\xC1\xF2\x7B\xF0\x1D\xF0\x4A\xF0\xC6\xF2\xF8\xF2\x50\xDB\x9D\xDB\x7C\xF6\xCA\xE8\xCB\xA6\x22\xF6\xB9\xF6\x20\xF2\xE7\xF2\x61\xF1\x27\xF0\x63\xF1\xBE\xF0\xB0\xF5\xC1\xF6\xB2\xF5\x62\xF6\x56\xF1\xC0\xF2\x3F\xE6\xC2\xF2\xA7\xF3\x1D\xE2\x78\xF3\x1F\xE2\x64\xF0\xAD\xB7\xE0\xF2\xE3\xC8\x06\x01\xCE\xF6\xDF\xE8\xF1\x29\xFD\xF5\xD2\xF6\x94\xF6\xCF\xF2\x83\xED\x79\xEC\xE9\xF1\x7B\xEC\xEB\xF1\x55\xE1\x2B\xF5\x8A\xED\x2D\xF5\x1B\x97\x35\xE2\xF2\xA7\x33\xE8\x41\xA3\x57\xF4\xB5\xF3\xE0\xA3\x3C\xE2\x0D\xEF\x30\xF6\x39\xF5\x46\xF6\x6A\xF6\xE5\xEF\x24\xF5\x3D\xF5\x26\xF5\xF5\xF4\x96\xF2\xF5\xF6\x88\xED\xF7\xF6\x02\xEE\xF9\xF6\x04\xEE\xD7\xED\xF1\xEE\x8A\xF5\x12\xD2\x96\xF0\x7E\xF0\x05\xE2\xF4\xED\xEC\xE1\x4B\x65\xEA\xF6\x05\xD3\xEC\xF6\xD1\xF6\x07\xF7\x6E\xF0\xBB\xF6\xFE\xEF\xBD\xF6\x72\xF0\xBF\xF6\x74\xF0\x88\xF6\x02\xF1\x8A\xF6\x4D\xED\x79\xF0\xF2\xF2\xE0\xF6\x38\xD6\x25\xEE\xF6\xE5\xB0\xF0\x0C\xEE\x8E\xA7\xB6\xF6\x05\xF7\x69\xF6\x16\xF3\x8E\xDD\xF0\xF6\xD4\xF1\x84\xED\xD6\xF1\x86\xED\x29\xF5\x1E\xF3\xAF\xF3\x61\xF2\x75\xF6\xEE\xA7\x02\xF4\x20\xEE\x3D\xF3\x5B\xE2\x71\xCD\x48\xDE\x81\xE7\x88\xD6\xE6\xB7\x7B\xF4\x63\xDE\x1F\xE3\xFF\x00\x41\xE9\x4E\xD2\x1D\xE9\x8B\x70\x2B\xE9\xD4\xE4\xE5\xE3\x2D\xEE\x3A\xF4\x6C\x2C\x58\xF7\x8E\xEB\xD7\xE3\xCA\xBD\xE1\xA5\x13\xE9\x4A\xF5\x91\x49\xDF\xE9\x7A\xC3\x40\x00\x5B\xF7\xF8\xA5\x11\x57\x16\xA6\x19\xD3\x3C\x0E\x54\xF7\x2E\xE3\x00\xE9\x55\xE8\x08\x3E\x66\xF7\xE3\xE2\x28\x05\x69\xF7\x3E\xE7\x82\xE8\x2A\x43\x7A\xEB\x40\xE9\x61\xF7\x4E\xD2\xE6\xE8\x35\xF0\x60\xC1\x4A\xE9\x00\x78\xD5\xE4\x1A\xE3\x6C\x73\xC1\xF3\xC2\xBA\x42\xE5\xB1\xE4\x10\x78\xE1\xA5\xDB\xE8\x36\xE0\x4F\xC4\x63\xE5\x93\x61\x99\xC3\x09\x01\x0B\xC4\xD0\x98\x22\x78\x75\x5B\x7B\xE5\xE1\xC3\xD7\xC4\x6A\xE5\xD8\xE9\x01\xBE\xA9\xC3\xE9\xCD\x3C\x30\x7A\xE9\xFC\xF4\x5B\xE9\xD8\x09\xA0\x59\xEF\xBD\xAB\xC3\x6E\x05\xB3\xC3\xD0\xC2\x8D\xF7\x51\xE0\xC4\xC4\x95\xE9\x41\xC4\x5C\xE5\x7B\xE4\x51\xE5\x6E\xE4\xED\xE9\x1E\xE6\x9A\x9E\x05\xBE\x9F\xE9\xAB\xF7\x64\xE0\x70\xC4\xAE\xF7\x9A\xF7\xD8\x5A\xAE\xE4\xDB\xC4\xBF\xD6\xEB\xC3\xB8\xF7\x97\xF7\x71\xE4\xA4\xE9\xA4\xC3\x5C\xE4\x42\xBE\xC8\xD3\x5F\xE5\xF9\x19\x28\x96\x52\xAB\xAA\xF7\xC4\xF7\x80\xE4\x16\x04\xAF\xF7\x9B\xF7\xB1\xF7\x78\xE5\x94\xEA\x61\xF3\x3C\x0E\x09\xC4\x94\xF7\xC8\xEA\x73\x65\xB9\xF7\x15\xEA\xD4\xC4\xC6\xF7\xBE\xC3\xC8\xF7\xC9\xC4\xA8\xC3\x51\x7E\x81\x08\x1D\xC4\xB5\x03\xA1\xF7\x7C\xED\x4F\x02\xA3\xF7\x0C\x04\x60\xBE\xB4\x05\x57\x1E\x26\xC4\x11\x0E\x28\xC4\x73\x68\xCF\xF7\xE3\xE0\xBB\xBE\xB6\xE9\xA7\xE9\x91\xEA\x87\xC4\xCB\xF7\xB7\x5D\x76\xBE\xF6\xF7\x3F\xE2\x9A\xE9\x01\xC4\x62\xC4\x98\xE9\xC6\xD3\x82\xBE\x5E\xE5\xB3\xF7\x46\xC4\x0D\x0E\x48\xC4\xC3\xF7\xF7\xF7\xF2\xC3\x00\x00\xB8\xE9\x33\x59\xBF\xF7\x88\xC4\x0D\x0E\x59\xC4\x0D\xF8\x01\xF8\x50\xE4\xD2\xF7\xBD\xF7\xD7\x5A\x13\xF8\xFD\xF7\xE5\x5A\xB2\xBE\xB4\xBE\x81\xDF\x3F\x0A\xDE\xF7\x55\xF4\xE0\xF7\x1A\xF8\x04\xF8\xFA\xF7\x99\xE9\x07\xF8\xD9\xE9\x62\x76\x08\xC1\x02\x01\xF6\xBE\x22\xF8\x23\xE8\xD0\xF7\x62\xE5\xE1\xF7\xD3\xF7\xBE\xF7\xBC\xE9\xF7\xC3\xFF\xA5\xCE\xC4\x17\xF8\x93\xE9\x02\xF8\x99\xF7\x28\xF8\x53\xC4\xD5\xF7\x92\xEA\x11\xBE\x29\xA5\xD8\xA6\x7D\xF7\x2E\xE3\xBD\xE8\xAC\xF7\x94\xE9\x90\xF7\xCE\xF0\x05\xF5\x13\xBE\xD0\xC2\x49\xF8\xBA\xF7\xAD\xF7\x4C\xF8\xE2\xC3\x40\xE4\x2A\xF8\x47\xE8\x44\xF8\xB6\xCE\x9E\xE9\x90\xF4\x3F\x0A\x51\xF8\xDF\xF7\xBB\xF7\x54\xF8\x1E\xBE\x76\xE5\x57\xF8\xA9\xE9\xB7\x5D\x8A\xC4\xB8\xA9\x5E\xF8\x25\xF8\x60\xF8\xE1\xF7\x96\xC4\xD8\x80\x89\x01\xE5", -"\x37\xFE\xE2\xEE\xBE\x45\x55\x20\xE8\x98\xAB\xE1\x37\xA2\xC4\x27\x01\xDD\xBE\x37\xBE\x69\xF8\x37\xE2\x53\xF8\x6C\xF8\xE6\xF7\x31\x06\xB1\xC4\x0D\x59\xB3\xC4\xD8\xBE\x8A\x3E\x9E\xC4\x69\xED\x9D\xC4\x74\xF8\xA0\xC4\x02\xE3\x86\xA8\x0D\x0E\x6F\xF7\x91\xEB\xE2\x27\x93\xEB\x16\x60\xD3\xBD\x74\x5E\xD5\xBD\xA4\xC4\xC0\x7B\x91\xF8\x59\xEA\x74\x08\x1B\xF8\x12\xF8\x38\xF8\x55\xBE\x9E\xF7\x4F\xE3\x7B\x1E\xEA\xF7\xD6\xE1\xEC\xF7\x22\xC4\x34\x5A\xA6\xF7\x7E\xE9\xE0\x01\x48\xE3\x02\x01\xB4\xC3\x5C\xF8\xFB\x6C\x98\xF8\x4A\xEA\x03\xF8\x9D\xBE\x63\xF8\x06\xF8\x71\xBE\xFC\xF7\x09\xF8\x07\xC4\xBF\xD6\xC5\xC3\x9F\xE9\x11\xE8\x5B\xEA\x21\xE8\x9A\xF8\x40\xF8\x6B\xE4\x57\xF8\xB2\xF7\x7D\xE4\xD7\xF7\x05\xF5\xC2\xF7\xAD\xF8\xEA\x12\xAF\xF8\xA8\xE8\xBF\xF8\xB2\xF8\x05\xF8\x5D\xE4\x2B\xF8\xBD\xE9\xCD\xF7\x09\x01\xC0\xE2\xCC\xBD\x61\x78\xCA\xF8\x3A\xEA\xCC\xF8\xC6\xC4\xB3\xF8\xCF\xF8\xB5\xF8\xCA\xF7\xB7\xF8\x74\xE0\xDA\xF7\x96\xF8\x75\x79\xD7\xF8\xE0\x17\x27\xF8\xCD\xF8\x29\xF8\xB4\xF8\xC3\xF8\x93\xEA\x56\xBE\x7F\xF8\x79\x01\xE8\xF7\x1D\x01\xA2\xF8\xD2\xD7\x77\x0D\xED\xF7\x5F\xBE\x23\xC4\xF0\xF7\x62\xBE\xA7\xF7\xB7\x5D\xF4\xF7\xC2\x00\xD0\xC2\xBC\xF8\xF5\xC0\x65\x55\xB1\xF8\xDA\xF8\xCE\xF8\xC9\xF7\x08\xF8\xC4\xF8\x91\x03\x36\xC4\x09\x01\x38\xC4\xC8\xF8\xB3\xE8\xAC\xEA\xCB\xF8\x01\xF9\xFC\xBE\xDB\xF8\x04\xF9\x7A\x3F\x85\xBE\x27\x01\x87\xBE\xBB\xF8\xE4\xF8\xBA\xE8\x0F\xF9\xF9\xF7\x41\xF8\xFB\xF7\xDE\xF8\x06\xF9\xB7\x5D\x16\xF8\x0B\xF9\xC4\x1C\x18\xF9\x6B\x55\x51\xC4\xC0\xF8\xB0\xF7\x1D\xF9\x05\xF9\xEB\xF8\x78\xC4\x98\x6E\xFD\xF8\x24\xF9\xE6\xF8\x02\xF9\xE8\xF8\xDC\xF8\xEA\xF8\x59\xF8\xBC\xC4\x09\x01\x30\xF8\xD5\xF8\xAE\xF8\x3F\xEB\x30\xF9\x10\xF9\x03\xF9\xE4\xF7\xBD\xE9\xBE\x73\x3B\xF8\x22\xF9\x7C\x24\x2F\xF9\xD9\xF8\x3D\xF9\x32\xF9\x12\xF9\x40\xF9\x2E\xE6\x8B\xC3\x47\xF8\x8F\xF8\xA1\xE8\xCB\xEA\xD8\xF8\x06\xEA\x78\xCD\x71\xC0\xD6\xC3\xD7\xE4\x4F\xF9\xDA\xEA\x28\x13\x3C\xF9\xEE\x02\x56\xF8\xB4\xF8\xA9\xE9\x9D\xF2\xA4\xBE\x27\x01\xA6\xBE\x9F\xE9\x57\xF9\xED\xEA\x00\xF9\x3F\xF8\x72\xC4\x11\xF9\x4B\xF8\xE1\xF7\x59\xF8\x8C\xF8\x11\x0E\x3E\x62\x35\x0E\x99\xCD\x4C\xF9\xB2\xE4\xD0\xC2\x57\xEA\x55\xE8\x45\x36\x5C\xF5\xFD\xE2\x6E\xE5\x0C\x5A\x92\xF7\x06\x01\xDB\xF7\xD8\xE6\x16\x77\xA8\xF5\x77\xF9\x1A\xE8\x3B\xF9\x46\xF9\x1B\xF9\xC1\xF8\xE9\xF8\xD6\xF7\xEC\xF8\x1E\x80\xE7\xBD\x9F\xF7\x89\x06\xF1\xF8\x30\xDD\xB2\xE2\xA5\xF8\xB6\xE2\xA7\xF8\xB5\x5C\x22\x0B\xAA\xF8\x01\x01\xAC\xF8\x1F\xCE\x75\xF9\x64\xF7\x82\xF9\x3C\xE4\x84\xF9\x1A\xF9\x10\xF8\xE3\xF7\x0F\xBE\x43\xF8\xD4\xC3\x74\xD8\x62\xC6\x9B\x36\x99\x96\x9B\xF9\x5E\xF5\x97\xE2\x08\x3D\x78\xF9\x9F\xF9\x67\xF9\x31\xF9\x1C\xF9\xC2\xF8\x89\xF9\xD5\xC3\xFE\xDE\x14\xE7\x32\xE9\xC6\xB3\x9D\xF9\xE9\xF6\x79\xF9\x66\xF9\xD6\xC4\xEE\x05\x5C\xF9\xDC\xF8\x5E\xF9\x2B\xE3\xC7\xF8\x9A\xF9\x81\xF9\xAD\xF9\x83\xF9\x0D\xF9\x51\xF9\xB0\xF9\x47\xF9\xB2\xF9\x88\xF9\xA4\xF9\x33\xBE\xBE\x73\xF9\xC3\xB8\xA9\xAA\xF9\x91\xF5\x11\xAE\xBA\xF9\x22\x41\xBC\xF9\x59\xF9\x85\xF9\xA1\xF9\x69\xF9\xA3\xF9\xB6\xF8\x06\xF9\xE0\xF8\x9A\xC3\xD7\xBD\x80\xF9\xB9\xF9\xC7\xF9\x9E\xF9\xC9\xF9\xE5\xF8\xDB\xF9\x11\xF8\x14\x0E\x1D\xF8\xB7\xF8\x1C\xC4\xF5\x0E\x5A\xBE\xA7\xF7\x59\xE9\x26\x0C\xF4\xF8\xB5\xE2\x26\x4F\x24\xC4\xF0\x03\xF2\xF7\x15\x0E\xFB\xF8\xA9\xF9\xC6\xF9\xD8\x43\xAE\xF9\xE8\xF9\x19\xF9\xCB\xF9\x86\xF9\x28\xF9\xB3\xF9\xCF\xF9\xC2\xBE\x11\x0E\xFF\xF7\xD3\xF9\xFE\xF9\x14\x58\x45\x6D\x13\xE8\x01\xEB\xBD\xF9\x26\xF9\xE7\xF8\xCD\xF9\x33\xF9\x89\xF9\x14\xF9\x09\x01\x16\xF9\x37\xBE\xD4\xF9\xC0\xF5\xE0\x17\xD7\xF9\xD6\x51\xD9\xF9\xBE\xF8\xA0\xF9\xEB\xF9\x10\x0E\xED\xF9\x1F\xF9\x58\xC4\x27\x01\x96\xBE\x0B\xFA\xE5\xF9\xFF\xF9\xC8\xF9\x50\xF9\xE9\xF9\x22\xFA\xA2\xF9\xD0\xF8\x84\xBE\x5B\xF8\xC5\xF9\x2B\xFA\x0D\xFA\x00\xFA\x2E\xFA\x02\xFA\xBE\xF9\x68\xF9\x3E\xF9\x3E\xF8\x67\xC4\x2C\xF9\x3F\x70\xFD\xF9\x36\xFA\x50\x36\x38\xFA\x58\xF9\x21\xFA\x03\xFA\xDC\xF9\x3D\xFA\x32\xFA\x32\xE4\x2D\xF8\xBD\xC4\x2A\xFA\xB7\xC3\x1E\xFA\xFE\x54\x20\xFA\x92\xF8\xEA\xF9\x31\xFA\xDD\xF8\x2A\xF9\x6C\xF9\xCD\xC4\xA9\x59\x42\xFA\x50\xFA\xE6\xF9\xBB\xF9\xAF\xF9\x3B\xFA\xB1\xF9\x87\xF9\x15\xFA\x07\xFA\xC5\xF8\x52\xF7\x29\xC2\x39\xF9\xD7\xC0\x2E\xE4\x29\xE5\x4C\xF7\xE2\xBF\xEE\xE5\x05", -"\xF5\x8C\xE5\x29\xE6\x66\x7F\xB8\x62\x20\xE4\x0D\x0E\x92\xA8\x34\x4A\x5F\xF9\x69\xB9\x1F\xCE\xD5\xC0\xBB\xCD\x17\xCE\xC1\xF2\x39\xE3\x78\xE3\xC4\xEA\x2B\xCE\x8C\xA4\x2D\xEB\xFE\x7E\x74\xFA\x7E\xFA\xDF\xF6\xDA\xA3\x6F\xE3\xBA\xB9\x97\xF9\x7B\xC3\x23\xE7\x1F\x7E\x87\xFA\xAF\xBA\xC1\xF2\x18\xC0\x39\xEB\x31\xC3\x3B\xEB\xF4\xCE\xB5\xEA\x04\xD5\xBF\x7E\x91\xFA\x83\x07\xF5\xEA\x24\xC0\xF7\xEA\x24\xC3\xD4\xE5\x15\xE6\x51\xCF\x2A\xC0\x1E\xCF\x7C\xFA\xC5\xCD\x88\xFA\xBA\xED\xA6\xA3\x4C\x05\x00\xCE\x36\xE6\xA2\xFA\x4A\xEB\xA4\xFA\xF9\xA9\x85\xFA\x49\x7F\x9C\xFA\xDD\xE5\x8B\x47\x32\x74\x81\xFA\x43\xCF\xE4\xE5\x7C\xE3\xA7\xFA\xD9\xCD\xA9\xFA\xFE\xE1\x0C\xC0\xD4\x76\x3A\xC3\x95\xFA\x3C\xC3\xAF\xE5\x83\xFA\x3F\xC3\xA6\xFA\xB5\xFA\x27\xEB\x5E\xDF\x53\xC0\xF8\xE5\x07\xE6\x43\xCF\x96\xC2\xBC\xFA\xCA\xFA\x4B\xCF\xC4\x06\x47\xEB\x58\xEB\x27\xCF\xB0\xFA\xD6\xE5\x77\x74\x6E\xBF\xBD\xFA\xF1\xCD\xBF\xFA\xA3\xED\x2A\xAA\x68\xC0\xB9\xFA\xBC\xE5\x18\xE6\xAA\xE3\x6A\xFA\xAC\x65\x75\xEA\x58\xF1\x1F\xE6\x5A\xCF\x21\xE6\x9B\xFA\x6B\xFA\xA8\xE3\x73\xC3\x2E\xE3\xDD\xFA\x22\xCE\x5A\xCE\x2F\xC7\xAE\xE3\x37\xBE\xF3\xFA\x30\xCE\x8C\x01\x86\xEB\xD3\xE5\xBB\xA1\x38\xE6\x24\xA5\x2C\xE9\x68\xFA\x06\xDF\x1B\x73\xFB\xE3\xFC\x44\x75\x05\xA4\xEA\x54\xA5\x82\xFA\xBB\xA3\x62\xB9\x4E\xD2\xCA\xC0\xBC\xC7\x06\xFB\x98\x05\xB4\xEA\x30\xE6\x9A\xFA\xC0\x7F\x05\xFB\x8E\xEA\xE8\x0B\xBF\xEA\x42\xBF\xC4\xFA\x56\xC3\x43\xCF\xC7\xEA\xE5\xE6\x00\x00\x0E\xFB\xF3\xE7\xB4\xCE\x18\xFB\xCB\xFA\x43\xE3\x87\xEB\xAF\xFA\xFA\xEA\xB1\xFA\xFC\xC2\x6E\xBF\x21\xFB\x8D\xEA\xF1\xB9\xF1\x0B\xE1\xEA\x6D\x56\xE3\xEA\x48\xEB\x06\xE6\x5A\xEB\x90\xE3\x98\xFA\x13\xFB\x24\xDF\x15\xFB\x2B\xE6\xA8\xE2\x24\xFB\xF3\xCD\xE3\xA9\x8B\xFA\x29\xC0\xFC\xEA\x99\xFA\x3A\xFB\xFC\x7F\x16\xFB\x2F\xFB\x3E\xFB\x38\xE3\xBC\xA4\x09\xEB\x6A\xBF\x01\xCF\x2A\xFB\x35\xC0\x2C\xFB\x47\xFB\x23\xFB\xC9\x05\xB6\xFA\x23\x48\xB8\xFA\x2A\xEB\xEE\xE5\x1D\xEB\xB3\xFA\xD1\x7F\x52\xFB\x69\xEA\x54\xFB\xCB\xFA\xEA\xE5\xD7\xFA\xEC\xE5\x36\xFB\x09\xE6\x89\xC2\x44\xFB\x55\xD5\x3B\xFB\x0F\xFB\x17\xFB\x5F\xFB\xE8\xE5\xF4\x5F\x32\xCF\x34\xFB\xE5\xEA\xCF\xFA\xBC\xE5\xD1\xFA\x1F\xFB\x2D\xFB\x61\xE8\x5E\xFB\x75\x05\x46\xEB\x8D\xE3\xCE\xFA\x64\xFB\xC5\xEA\x0A\xE6\x51\xFB\x3C\xFB\x6E\xC1\x30\xFB\x55\xEB\x6D\xAA\x57\xEB\xAE\xFA\xC3\xDE\x72\xFB\xCA\xE5\xE5\xFA\xED\xFA\x69\xFB\x22\xFB\x78\xFB\x11\xFB\xB5\xF7\x20\xE6\x60\x7F\x94\x7F\x5D\xFB\x3D\xFB\xC9\x05\xF0\xFA\x63\xCF\x8F\xF8\x76\xFB\x75\xE8\x53\xFB\x07\xFB\x4B\xF9\x5C\xCE\x67\xFB\x7D\xD5\x7F\x7F\x95\xFB\x82\xFB\xE8\x0B\xFC\xFA\xF8\xEA\x78\xA1\xFF\xFA\x26\xC2\x88\xCF\x8E\xF8\x69\xFA\xA7\x7E\x57\x5D\x86\x02\x3F\x0A\x67\xE8\xB7\xC3\x73\xF7\xE4\xE3\x75\xF7\x0C\x01\xCD\xF4\xF6\x64\x82\xE9\x41\x5C\x86\x02\x2E\xEE\xF2\x59\x68\x37\x7B\xF7\x60\xF7\x73\xF9\x9F\xE9\x86\xE9\x10\x5D\xB1\xFB\x66\xE8\xA8\xF5\xB5\xFB\xA3\x77\x95\x98\x41\x00\xB9\xFB\xB2\x80\xB0\xFB\x16\x02\xBE\xFB\x19\x5A\x33\x43\xB6\xCE\x02\xFB\x00\xE7\xF1\x7D\x24\xEB\x98\xE4\xAB\xE4\xCC\xCE\x75\xDF\x6E\xFA\x0A\xFB\x61\xB9\x02\xD7\xA8\xC1\x21\xEA\x44\x81\xD9\xFB\xA6\xE4\x5B\x44\x12\xFB\x3B\xBF\x8F\xFA\xBE\xC0\x77\xEB\xE6\xFB\xDB\xFB\xB0\xBF\x9A\xC2\x71\xB9\xC0\xEA\x87\xFB\xC4\xE6\xC3\xEA\x1D\xFB\x6E\xBF\xEB\xFB\x83\xEB\xDA\xFB\x61\x52\xD2\xCE\xEF\xFB\xC8\x80\x7F\xB9\xAA\xE5\x41\xFB\x84\xB9\xE7\xCE\x1F\xFB\xF8\xFB\x29\xD0\xEB\xCE\xCB\xCE\xFD\xFB\xD6\x72\x94\xFA\x70\xFB\x1B\xEB\x59\xFB\xED\xCD\x5B\xFB\xE4\xFB\x52\xEB\xF1\xE2\x07\xCF\x9E\xFA\x14\xC3\xA0\xFA\xFF\xCE\x45\xE3\x29\xFB\xDA\xFA\x43\xFB\x39\xFB\x68\xFB\x36\x81\xE5\xFB\xAD\xD1\x4A\xCF\x4A\xFB\xF3\xA9\x17\xFC\x0A\xCF\x71\xFB\x7D\xFB\xC7\xFA\xD7\xE5\x1E\xCF\x05\xFC\x45\xD0\x14\xCF\x14\xFC\x3B\xC0\x6E\xE3\xE3\xFA\xCA\xE5\xBB\xFA\x04\xFC\x20\xFC\x13\xFC\xEE\xFB\x24\xCF\xC3\xFA\x0C\xFC\x3A\xEB\x0E\xFC\x4C\xC0\xF7\xFB\x36\xFC\xC4\xC0\x22\xFC\xC1\xF2\x29\xA4\x32\xFC\x1C\xCE\xFF\x00\x74\xFB\xEA\xFB\x40\xFC\x56\x52\xFB\xFB\xFB\xCE\x84\xFB\x3F\xCF\xF3\xFB\x9F\xE5\xF5\xFB\xBC\xE5\x0B\xE6\x35\xFC\x12\xFC\x41\xFC\x2F\xFC\x23\xFC\xB3\xBF\x01\xFC\x34\xC0\x8B\xFB\x93\xFB\x73\x65\x2C\xFC\x5F\xD0\xAA\xE4\x4C\xFC\x45\x28\x67\xEB\x98\x74\xE1\xA5\x60\xFC\x76\xD0\xFA\xFB\xEC\x7C\xBF\xCE\x71\xEB\x02\x01\xB8\xC1\x1F", -"\x7D\x21\x81\x4A\xFC\x65\x52\xEE\xFB\xC1\xFB\x3C\x0E\xF7\xFA\x1F\xCE\x68\xFC\x91\xD0\x62\xFC\x6B\xFC\x70\xCF\xD6\xBF\xD3\xBA\xB4\xE3\x89\xEB\xC7\xC2\xA6\xF9\x1E\xDC\x4A\xA5\xD0\xC2\xB3\xC0\xFF\xCA\x04\x2F\x08\xFB\x1A\xBA\xDF\xFB\x5A\x80\x0C\xFB\x2E\xE3\x87\xFC\xE8\xE9\xB0\x38\xE8\xFB\x8E\xFA\x9F\xE6\xAC\xE9\x5D\xCD\x79\xFB\x84\xFB\x9D\xE5\x50\xFC\xC2\xEA\xC9\xE5\x46\xFC\x1E\xFB\x8F\xFA\x90\xFC\x48\xCB\x04\x2F\xD2\xEA\xCD\xA9\x7C\xFB\xA3\xFA\x1B\xFC\x2B\xFB\x1E\xCF\xA1\xFC\x5D\xCB\xA3\xFC\xB7\xE5\xEF\xCE\xB9\xE5\x1B\xFB\x29\xCE\x8C\xFC\xE0\xA3\xE9\xEA\x1F\xCE\xAB\xFC\x75\xCB\xAD\xFC\x3F\xFB\x59\xBA\x5B\xFC\x7D\xC2\xCC\xE5\xA0\xFC\xF8\x6E\x99\x44\x08\xEB\xBC\xFC\x29\xCF\x69\xE3\xB7\xF9\x96\xFC\xAD\xCC\xB0\x38\x55\xFB\x3A\x49\x57\xFB\xA6\xFC\xD9\xFA\x5B\xEB\xCD\x72\x6E\xBF\xB7\xFC\x8F\xCB\xC9\xFC\x60\xFB\x3A\xFC\x62\xFB\x14\xE6\xCE\xFC\x37\xFB\xC8\xFA\x10\xFC\xE5\x82\xC0\xFC\xB9\xFC\x18\xCE\x6E\xF8\x91\xC2\xCD\xFC\x1A\xFC\xCF\xFC\x85\xE3\xA1\xFB\xD4\xD2\x10\x84\xDE\xFC\xD4\xFC\xD4\xFA\x53\xC3\x7B\xFB\xB1\xFC\x5D\xE3\x3D\xFC\x59\xC3\xAA\xFC\xEA\xFC\x25\x3F\xCC\xCD\x43\xCE\x27\xFB\x88\xFB\x28\xFC\x4F\xC2\x5D\xFC\x6D\xE9\xF5\x25\xF4\xFC\x78\xEA\xDF\xDB\xFF\x00\x92\xFB\xFD\xFC\x06\x01\xD2\xFC\xDD\xCB\x92\xFC\x6D\xFC\x66\x7F\xE1\xA5\x06\xFD\xF5\xCB\x89\xFC\x9F\xFB\x5D\x0F\x77\xFC\x46\xCF\x0C\xFD\x1D\xCC\x04\x2F\xA7\xFB\xA1\xFA\xFE\xFA\x81\xFC\x75\xCF\x99\xF4\x34\xEE\x80\xE5\xAF\xA3\xD0\xC2\xDD\xE9\xF6\x8A\x5E\xF7\x32\xF7\x19\xF5\x12\xCB\xC2\xCE\x8B\xE5\x2D\xE3\x8F\xF8\x20\xFD\xEB\x8C\xE3\xE3\x3A\xBF\x94\xFC\x2A\xE7\x02\x01\x2A\xFD\x93\x98\x7B\x2E\x19\xFB\x01\xC0\xE3\xFC\x46\xCE\x4B\xEB\x3C\xE3\x6E\xBF\x31\xFD\xF1\xA3\x33\xFD\x25\xFB\x00\xFC\x45\xFC\x3B\xE3\x03\xFC\x8F\xFA\x3B\xFD\x19\xA4\x3D\xFD\xE8\xCD\xA0\xF8\xEA\xCD\x58\xFB\xB3\xFC\xDC\xA9\xDC\xFC\x73\x65\x44\xFD\x40\xA4\x46\xFD\x43\xC3\x5A\xE3\x9B\xFC\x59\xEB\xA7\xFC\xE5\xFC\x03\xCF\x1E\xCF\x4F\xFD\x21\xA5\x51\xFD\x7F\xFA\x4B\xFB\xC3\xFC\x47\xE3\xC5\xFC\x14\xFB\x3F\x0A\x5A\xFD\x94\xE8\xBB\x59\x4B\x03\xCA\xFC\x31\x74\xDF\xE5\x3B\xFC\x96\xFA\xF1\xFC\x15\x0E\x34\xFC\x43\xFD\xE2\xE3\x6D\x38\x39\xFC\x29\xEB\x36\xFD\x4E\xFB\xA8\xFC\x2A\xCF\x3A\xFD\x71\xFD\xFF\x3E\x37\xEB\xE2\xFC\xEF\xFC\xA0\xE5\x4B\xFD\xC6\xA5\x4D\xFD\xF6\x64\x64\xFD\x63\x62\x5C\xFD\xDF\xF6\x2B\xAA\x40\xFD\x70\xE3\x44\xCF\x79\xFD\x6B\x6B\x86\xFD\xAA\xFA\xB0\x81\xB4\xBF\x4A\xFD\x43\xCF\xFC\xFC\xF7\xB9\x63\xFD\x7A\xFD\x66\xFD\x12\xE3\x01\xFD\x03\xFD\x95\xFD\x27\x01\x84\xFD\x2C\x71\x2B\xE9\xC3\xBF\x72\xEB\x4E\xD2\x9E\xFD\x48\x89\x22\xFD\xDB\xF0\x11\xFD\x7C\xE3\xA4\xFD\x3F\x7C\x7B\x2E\x16\xFD\x18\xFC\x88\xEB\x83\xC0\x6F\xFA\x1B\xFD\x4B\xE9\x98\xDF\x43\x00\x7B\xEA\x99\x6B\x8E\x5A\x3F\xEA\x57\x3F\xC7\x0A\xE2\xE9\x6E\xF7\x4D\xF9\xAE\xFB\x03\x01\x48\xEA\xDE\xE3\xF2\x23\xAF\x44\x45\xFA\x65\xF9\xDA\xF9\x04\x5A\x7C\xF9\x03\x01\x7E\xF9\x70\xF3\xC1\xFD\x72\xF4\x59\x53\xC7\x0A\xC5\xFD\x10\xFA\xC7\xFD\x48\xFA\x23\xFA\x0C\x0E\x25\xFA\xEB\xF8\x9F\xF8\xB8\xE5\xA1\xF8\xF2\xF9\x76\xE9\x58\x3D\xEE\xF7\xA5\xF7\xB1\xC3\xF9\xF8\xA9\xF7\xB8\xA9\xCD\xFD\xDA\x5A\x9D\x58\xD1\xFD\x60\xEB\x11\xFA\x7E\xBE\x27\xF9\xD4\xF7\x29\xF9\x2C\xF8\x9A\xF4\xC4\xC3\x27\x01\xB7\xF7\x37\xBE\xE5\xFD\xD9\x5A\xE7\xFD\x2D\xFA\x46\xFA\x54\xFA\x30\xFA\xDD\xF9\x4B\xFA\xAF\xE4\xFF\xA5\x4F\xF8\xE4\xFD\x75\x5B\xF7\xFD\xE7\xF9\x39\xFA\x25\xF9\xEB\xFD\x3C\xFA\x48\xF9\x6A\xF9\xEF\xFD\x40\x99\xC4\xF9\x46\xCF\xF5\xFD\x7B\x8E\xCF\xFD\x8B\x03\xE8\xFD\x7F\xEB\xB0\xF8\xD4\xFD\x56\xFA\x34\xF9\xA5\xF9\xD1\xF9\xCE\xF7\x01\xFE\xDF\x5A\x03\xFE\x5F\xFA\x01\xFA\x06\xFE\x83\xC4\xEC\xFD\x37\xF8\x9C\xF7\x39\xF8\xBA\xD9\xE1\xF8\x3A\xE7\x01\x01\x0F\xFE\xFB\x77\xC3\xFD\xD0\xFD\xF8\xFD\xC6\xFD\x47\xFA\x61\xFA\xCC\xF9\x63\xFA\x49\xF9\x44\xBE\xEF\xF9\x00\x26\xF1\xF9\xA8\xF8\xB5\x03\xF3\xF9\xF3\xF8\x92\xF9\xF7\xF9\xF7\xF8\x25\xC4\xF9\xF8\x64\xBE\xED\x5B\x99\x96\x2B\xFE\xF6\xC1\xC7\xE9\xC4\xFD\x2F\xFE\xD2\xFD\x31\xFE\x12\xFA\x62\xFA\x05\xFA\xCE\xF9\xDF\xF9\x2B\xF9\x08\xF9\x06\x01\x0A\xF9\x1F\xCE\x46\xFE\x00\xC2\xD2\xE9\x49\xFE\x04\xFE\xF9\xFD\x99\xF8\xFB\xFD\x4A\xFA\x57\xFA\x13\xF9\x47\xC4\x15\xF9\x45\xFE\x02\xFE\x2D\xFE\x12\xFE\x4A\xFE\xE9\xFD\xD3\xFD\x32\xFE\x04\xFA\xED\xFD\x06\xFA\x51\xFE\xE9", -"\x0C\x94\xBE\x28\xFA\x64\xFE\x1D\xFE\x66\xFE\x5F\x03\x13\xFE\xBD\xF8\xFA\xFD\x16\xFE\xFC\xFD\x60\xFE\x01\xBE\x60\xF9\x09\x01\x62\xF9\xF4\xFD\x65\xFE\x11\xFE\x76\xFE\x68\xFE\x14\xFE\x0E\xF9\x48\xFA\xE7\xE9\x34\xFE\x0A\xFE\x7D\xFE\x1F\xF8\x79\xC4\x1C\xFE\xDE\x5A\x1E\xFE\xD8\xF9\x60\xFA\x4D\xFE\x33\xFE\x4F\xFE\x64\xFA\x6F\xFE\x19\xFE\x36\xF9\xF5\xBE\x73\xFE\x90\xFE\x75\xFE\xBE\xC7\x52\xFA\x93\xFE\x07\xFE\x4E\xFE\x6D\xFE\x50\xFE\x1E\xF9\xEB\xF8\x03\xBF\x5B\xFA\x8F\xFE\xD5\xE9\x9E\xFE\x0E\xFA\x53\xFA\x5D\xFE\x7A\xFE\x5F\xFE\x18\xFE\xD0\xF9\xD5\xDF\x31\xEE\x3A\x2E\x5F\xF7\x3C\x0E\x3E\x62\x0B\x00\x33\xEE\x85\xA8\xD4\xE3\x0C\x03\xBB\xFE\xB2\xFD\x00\xA7\x7D\xF3\x9A\x96\xE1\xA5\x99\xEB\x69\xF0\x4F\xF0\x75\xD3\x30\xE9\xDF\xA8\xD9\xAA\xDA\xE9\x97\xEA\x81\xE5\x9F\xE9\x9C\xC0\x2C\xD4\x1E\xE5\xDD\xFB\x28\xE3\x5B\x7F\xF3\xBF\xE6\xFA\x9E\xC0\x0D\xD6\x93\xFC\x7F\xA4\xC4\x73\xD0\xFE\x44\xD4\xC9\xC9\x34\xFD\x5F\xFD\x38\xFD\x9F\xFC\x95\xFC\x01\x01\xDD\xFE\x5D\xD4\xDF\xFE\x3E\xFD\xD3\xEA\x75\xFD\x48\xC3\x77\xFD\x42\xFD\xE4\xFE\x32\xEE\x0D\xD6\x31\xFB\x1A\x7D\x33\xFB\xD7\xFC\x49\xEB\xE4\xFC\xDA\xFC\xE8\xEA\x6E\xBF\xE6\xFE\x71\xD4\xE8\xFE\xBA\xFC\xF6\xEA\x4C\xFB\x00\xCF\xEC\xFE\x57\xFD\xA5\xFA\x82\xFD\xD5\x9C\x75\x5B\x93\x2E\xC2\xFC\x89\xFD\x8C\xFA\x61\xFD\x45\xFB\x45\x9D\x07\xFF\x5A\x45\x68\xFD\xBD\x98\x19\xEB\x6B\xFD\xC5\xFA\xFA\xE5\x29\xFC\x82\x81\x1E\xCF\xFB\xFE\x15\xE5\xF0\xD2\x73\xFD\xDD\xC6\x14\xFF\x1C\xFB\xBC\xE5\xF0\xE5\x8F\xFA\x1A\xFF\x1D\xE5\x60\x27\x7C\xFD\xCD\xFA\x7E\xFD\x52\xFC\xCA\xE5\x48\xFC\xEF\xFE\x24\xFF\xFF\xDE\x15\xC8\x7A\xFB\xE1\xFE\x4F\xFB\x54\xFC\x23\xFF\x0F\xFF\x77\x60\x26\xFF\x84\xFB\xF7\xFC\xFD\xFA\xF4\xFB\x9D\xFC\x3B\xE3\x94\xFD\x25\xE8\x67\x9D\x36\xFF\x9D\xC9\x08\x03\x65\xFC\x16\x77\xE1\xA5\x2E\xFF\x84\xDE\x42\xE6\x55\xCE\xA9\xE3\x8C\xFB\x41\xFF\xD9\xFE\x0F\xFD\x76\xFC\xFA\xFE\x42\xFF\x47\xC9\xAD\xFD\x26\xFC\x83\xC3\xBA\x1D\x26\xFD\xE4\xE4\xDC\xF0\x8E\xF3\xC7\xF3\xD1\xA1\x46\xD8\x80\xB4\x07\xF6\xAB\xEB\xE4\xF4\x96\xF3\x32\x69\xE7\xF4\x5E\xD9\x4D\xEE\x7D\xE6\x94\x84\x50\xEE\xDC\xF2\x18\x67\xD5\xA2\x5F\xFF\x80\xB5\x89\xEF\x62\xFF\xED\xF0\xC7\xEB\x5D\xF3\xD8\xEE\x02\xDC\xCB\xEB\x03\xF5\xDF\x86\xEA\xFA\x06\xF5\x1F\xDC\xB7\x69\x6E\xFF\x50\xDD\x60\xFF\x2C\xF6\x45\xF5\x93\xEE\x0C\x0E\x87\xE6\x94\x86\x1B\xF5\x31\xE0\xE5\xEB\x6E\x6E\x7F\xFF\x74\xED\x81\xFF\x2C\xF7\x1A\xF1\x1A\xF0\xF8\x74\x32\xF1\x91\xD9\x58\xD4\x35\xF1\x70\xF3\x8F\xF4\xE2\xF5\x8E\xFF\xB3\xF5\x13\xED\xAE\xEE\x0E\xEC\x29\xFE\x3F\xA2\x6F\xFF\x57\xB8\x71\xFF\xDE\xEB\xD2\xE1\x7B\xFF\xA5\xE6\xF2\x6B\x8C\xFF\x99\xFF\x70\xFF\x61\xFF\xEE\xB5\x73\xFF\xFE\xF4\x75\xFF\x00\xF5\xB9\xC5\xAE\xE6\xA8\xC8\xEA\xF4\x2E\xA1\x1D\x85\x7A\x0A\xA9\xFF\x05\xF6\xE3\xF5\x8F\xFF\xAC\xF1\xC7\xF1\xA6\xE0\x53\xEC\xD0\xF3\xC2\xF3\xD4\xF5\xC1\xC6\x8E\xF5\x41\xF4\x5E\xFF\x80\xFF\xAB\xFF\x82\xFF\xC6\xF1\x57\xF1\x3C\xFF\xC4\xDE\x03\xDE\xB7\xF3\xF6\xFD\xB9\xA1\xA1\xFF\xDF\xB8\x5D\xD7\xCB\xFF\xB5\xF5\xA4\xF3\xDF\xD4\xE1\xF6\xF5\xE0\xE3\xD4\xC4\xF3\x24\xEF\x84\xA7\xB8\xFF\xAA\xDF\xC8\xFF\xA2\xFF\xAC\xFF\x2D\xE7\xAD\xEB\xDD\xE6\xB7\xFA\xDC\xDE\x15\xF7\xDA\xDC\x58\xF4\xF8\xE0\xF5\xCA\x0C\xC4\x08\xA2\xD3\xFF\xED\xCA\x75\xF4\x12\xF7\x9F\xDE\x2E\xC9\x3E\xB7\x45\xE7\x5B\xA0\xF1\xFF\x4E\xD6\x2B\xC9\x42\xC9\xF9\xF5\xD0\x94\xD4\x60\x70\x77\x7A\xFF\x41\x53\x6F\xB2\x63\x87\x4A\xC1\x7B\x34\x3F\xDC\x7F\x69\xF5\x06\xEC\x4A\xFF\x68\xB0\x7E\x71\x70\xAA\x69\x87\x7A\x71\x7C\x08\x00\xCB\xEB\x6E\xBE\x7C\xB6\x78\x7D\x3B\x45\x78\x07\x31\x08\x80\x60\xF6\x13\xE4\x5B\xFE\x78\x8C\x7E\x2A\x7D\xB3\x40\x90\x79\xF1\x7C\xF0\xFF\x62\xFF\x54\xFF\x76\x38\x71\x71\x74\x27\x69\xB3\x6C\xA9\x73\xF9\xFF\x22\x00\xB2\xFF\x76\xAA\x76\x47\x7A\xAE\x78\xF7\x76\x33\x7B\xA8\xFF\x61\xFF\x4D\xFE\x69\xFE\x7C\xFB\x7E\x4E\x7A\x8F\x7A\x19\x7A\x2F\xCC\x7A\xE4\x74\xBF\x65\x2B\x31\x00\x82\x05\x83\xFE\x7F\xEA\x68\x2E\xD7\x5D\x1E\x26\xB5\x7F\xFC\x78\xF9\x7A\xF7\x7E\xE6\x7E\x0A\x80\x0A\xF3\x4C\xFF\x60\xDA\x7E\x94\x7D\x01\x7D\xED\x7E\x0C\x80\xD5\x7F\xE3\xFF\x0B\x00\xBA\x9B\x7D\x91\x7B\x33\x7B\x86\x7B\xCA\x6F\xEF\x7F\xD2\xFF\x3E\x00\x83\x00\x9C\xFF\x7D\x76\x77\x0B\x79\x79\x6F\x30\x7A\x10\x0E\x5E\x70\x70\x52\x60\xA2\x7B\xE8\x3D\x2A\x52\x00\x80\x4E\x6B\xC2\xD4", -"\x50\xAC\x5F\xDB\x67\xB6\x72\xD5\x5E\x43\x73\x18\x78\x26\x7A\x58\x00\xE6\x00\x9A\x01\x88\x03\x84\x00\x86\x0E\x5D\x81\x77\xBC\x63\xD9\xED\x08\xB2\x58\x72\x42\xB8\x75\x06\x81\x54\x31\x11\x81\x04\x80\xBB\xFF\x1B\x00\x82\xC8\x7E\xB6\x7E\xDE\x74\x5E\x7B\x95\x6D\x87\x79\x23\xEF\x65\xE8\x77\x13\x79\x02\x83\x03\x81\x0A\x81\x0D\x81\x56\x79\x2E\xF7\x4D\xE7\x52\x1E\x6D\xA3\x75\xF7\x6E\x64\x79\xC6\x7B\xEE\x5D\x71\xF4\x5A\xB5\x0C\x22\x18\x00\x8A\x72\x7B\x55\x7B\x23\x81\x9C\x79\x37\x00\xD5\x00\xAF\x30\x69\xBA\x7A\x1D\x73\xB7\x5D\xD7\x6E\x3F\x7A\xF2\xC7\x00\xE9\x4E\xCE\x57\xED\x2D\x9D\x02\xFC\x70\x24\x7A\xD0\x73\xD6\xEE\x09\xC2\x39\x7D\x7B\x73\x0D\xE7\x04\xD0\x23\x6D\x2F\x26\x05\xAE\x00\x9F\xCF\x46\xD2\x71\x05\x8E\xDD\x2B\x16\x82\xAE\x06\x44\x08\xC0\xE7\x04\x52\x67\x04\x19\x05\x8B\x7A\x77\x42\x5D\xEB\x73\xE3\x34\xBE\x00\xC4\xB9\x12\x3A\x16\x05\x85\xAE\x28\x92\x00\x31\x80\xFE\x60\xB0\x00\xDC\xE6\x4D\xC3\x29\x06\x8E\xE5\x2C\x4B\x20\x33\x81\x06\x07\x70\x04\x4F\x01\xA8\x7B\x71\x06\x83\x49\x78\x50\x2C\x35\x80\xE8\x2F\xA2\x0E\x57\x01\x91\x38\x16\x3B\x0A\x0D\x80\xF5\x38\x37\x80\x37\x6F\xE9\x71\x5F\x01\xB4\x86\x2F\x55\x14\x68\x20\xD8\x7F\xD2\x38\x4E\x69\x49\x00\x1D\xE9\x4F\x4E\x74\x1C\x28\x4F\x70\xCB\x2D\x87\x53\x5C\x5B\x36\x00\x42\xE9\x5D\x1B\x21\xE5\x37\x04\x00\x9F\x70\xDC\x07\xC2\x60\xFF\x00\xC2\xC5\x2E\xD2\x6A\xA6\x78\xC8\x37\xFC\x70\x12\x00\xE7\x7D\x7A\x0A\x7C\xA7\x50\xD3\x69\x72\x38\x4B\x7F\xAD\x2D\x3C\x81\x42\x7A\xC6\x00\x87\xE9\x7B\xBC\x35\xA4\x7A\x12\x37\xC0\x22\x29\x7A\xEB\x73\xE3\x02\x75\x01\xBC\xA9\x53\x8E\x5E\x51\x47\x18\x83\x44\x80\xC9\x6F\xB1\x5E\x16\x02\x87\x70\x33\x45\x08\x0F\x82\x1F\x83\xDD\x2C\x7E\x80\xFE\x00\x9B\x02\xA2\x69\x54\x3C\x78\x0E\x86\x63\x3C\x45\x80\xB3\x30\x22\x01\x92\xBB\x33\x22\x01\x08\x86\x38\x33\x20\x81\x5E\x01\x2E\x36\x06\x01\xF5\xB6\x0C\x62\x62\xBB\x32\x11\x87\xFB\x37\x4B\x81\x70\x52\x31\x01\xB6\xBE\x09\x04\x80\x0A\x5B\x10\x83\xE7\x34\xFA\x69\x72\x2D\xFA\x08\x4A\x00\x3F\xFA\x6D\x51\x78\x14\x87\x24\x03\x12\x01\xA5\x80\xBD\x92\x1C\xA5\x4F\x35\x23\x9C\x69\xC6\x79\x0A\x4F\x90\x2D\xDE\x71\x9D\xE8\x24\xA5\x0D\xE8\x62\x54\x74\x9B\x70\x69\x55\x92\x7C\xFF\x73\x61\xFC\x62\x80\x17\x05\x84\x25\x7C\xA1\x75\xC8\x18\xA3\x75\xD5\x7C\x5A\x01\xD0\x6C\x10\xAA\x6E\xF3\x76\xEA\x7C\x2D\x7E\x3B\x81\xA8\x80\x59\xBB\x11\xCA\x65\x6E\x32\x56\x52\x8C\x6A\x6A\x68\x95\x68\x56\x47\x8E\xF3\x60\xFF\x49\x04\x05\x07\x8E\x64\x7C\x3D\x7B\x9C\x7B\xD0\x79\x21\x64\x6A\xE2\x49\xD5\x30\x87\x79\x40\x68\x76\x74\xA9\x6A\x9A\x2C\x72\xE6\x2C\xFC\x6A\x76\x3C\x0B\x8A\x69\x79\x1D\x78\xA7\x7B\x28\x7B\x81\x01\xE3\xFE\x7F\xD3\x7A\x33\x76\xF6\x7F\xA5\x02\x46\x4E\xB0\x79\x05\xF5\x0B\xE2\x47\xF9\x76\x27\x3C\x18\x81\xCE\x7A\x63\x81\xFB\x79\x9D\xF6\x45\xEE\x69\xCD\x7B\xA1\x6B\x36\x7F\xF0\x7D\x11\x64\x8E\x7A\x80\xEE\x58\xFC\x73\x95\x3D\x0C\x82\xF0\x73\xD3\x78\x68\x80\xC8\x80\x00\xF4\x39\x2F\x71\xC4\x72\x34\x73\x13\x7D\x08\x66\xE5\x7E\xBF\x7F\xC3\x00\xC7\xE9\x6B\x2B\x6A\x51\x68\x6A\x66\xEC\x6D\x0D\x4A\xC3\x79\xC6\xFF\x06\x02\x2C\x06\x9F\xA6\x79\x23\x7A\xD8\x7B\xBB\x78\x62\x7B\xB2\x01\x81\xFA\x67\xFE\x7B\x0C\x8B\x54\x33\x38\x81\xB6\x7B\x76\x79\xC6\x01\xFF\xE7\x63\xD3\x6E\xFD\x71\xBA\x5B\x32\x80\x5C\x7B\x47\x70\x98\xD4\x31\xCD\x54\x18\x7B\x04\x89\x1B\x83\xAA\x7A\x50\x79\xFA\x7A\xEE\xF3\x74\xFF\x6F\xC3\x66\xAC\x70\xDE\x48\xB1\x7B\xB0\x78\x4A\x78\xD1\xF3\x07\xE3\x77\xFE\x65\xDD\x2E\x1C\x86\x3F\x79\x6C\x7A\x00\x79\x82\x00\x95\xE4\x78\xB5\x7C\xE4\x7E\xFC\x7F\x58\x78\xF4\x7E\x63\x53\x38\x66\x6D\x03\x92\xD4\x6F\x0F\x84\x51\x79\x3E\x82\x45\x7A\xDF\x7F\x82\xEC\x58\x34\x77\xD6\x7C\xB7\x7C\xC9\x74\xFB\x7D\x6D\x78\x6E\x6E\x74\xF5\x37\x43\x7F\x28\x1A\x0F\x84\x19\x7B\xA2\x7A\x65\x78\xFF\x80\x3D\xF6\x18\xD9\x48\xC7\x71\xAE\x74\xC8\x73\xB1\x7A\xF4\x78\xEB\x7A\x66\xF4\x5D\x03\xB3\xD7\x7F\x9A\x53\x54\x78\x82\x78\x15\x6B\xED\x79\x4E\x00\xFB\x02\xBA\x06\x8C\xB2\x6C\x1B\x85\xFA\x7C\x03\x81\xB4\x56\xFE\xFF\x4A\x30\x71\x00\x82\x11\x8E\x1D\x87\x4B\x7B\xD0\x7A\x90\x79\x9E\xF6\x35\xF4\x06\x00\x8E\xA6\x7C\x19\x83\x44\x82\xA6\x6A\x60\x6A\x74\x00\xDC\x00\x89\x9C\x76\x02\x88\x21\x7B\xD2\x63\x37\x4D\x34\x04\x36\x02\xAD\xED\x78\x08\x8F\xB5\x75\xD6\x5E\xC5\x7B\xA8\x35\x05\x81\x41\x02\x9B\xEB\x4C\xBD", -"\x7D\xAC\x78\x43\x7F\x82\x7A\xAC\x7B\xFD\x68\x18\xED\x21\x04\x82\x07\x89\x12\x86\x61\x7C\xB3\x78\x86\x7A\xCF\x7A\x37\xD8\x35\x79\x7A\x75\x6B\xFC\x7A\x21\x81\xA8\x7B\x77\x81\x21\x7A\x2F\xF4\x77\xEB\x4F\x61\x50\xF8\x6D\xE9\x7B\x31\x80\x95\x80\x2F\x77\x17\xF6\x60\xDC\x59\xD8\x76\x39\x7F\x63\x78\x4D\x7B\x60\x58\x0D\x7A\xD4\xA7\x2B\x04\x93\x09\x8D\x11\x84\x5F\x78\x4C\x81\x1A\x7A\x31\x81\x8B\xD5\x43\x00\xB6\x84\x28\x12\x84\x27\x84\x43\x80\x78\x81\x04\x7A\xA2\x01\xBE\xBB\x5F\xE5\x6B\xA1\x76\xDE\x7C\x3D\x83\x99\x81\xB9\x77\x5F\xEE\x2B\x94\x5E\x08\x8C\x13\x88\x03\x87\xD6\x5C\x0D\x7B\xED\x80\x86\x02\xFD\x04\x9C\xCE\x5F\x13\x80\x45\x7A\x3C\x82\x14\x7B\x35\x80\x93\xF0\x48\xED\x45\xCB\x7A\xE9\x5F\x43\x7D\xA3\x40\x77\x80\x16\x81\x1B\x02\x93\x05\xB6\x09\x93\xFF\x78\x27\x86\x88\x78\xDE\x7A\x43\x80\xAF\xAE\x62\xE0\x71\xBA\x50\x03\x80\x29\x86\x4C\x82\xA4\x80\x28\x5A\x1D\x02\xEB\x04\x89\x9D\x6C\x85\x7D\xE2\x6F\xE8\x6F\x90\x48\x37\x71\xA1\xCA\x7C\x00\x8C\x38\x1F\x14\x83\x27\x81\x54\x80\xAC\x80\x4A\x81\x5D\xF4\x01\x05\xA3\x77\x6C\x98\x7F\xDE\x74\xEC\x70\x22\x81\xEE\x7F\x8A\x00\x8A\x04\x9D\x09\x9D\x98\x74\x55\x7B\x54\x80\x0B\x80\x4B\x81\x4B\xB5\x14\xEE\x5B\xCB\x75\x30\x6A\x37\x50\xC1\x76\x68\x7B\xEA\x56\x99\x00\xAD\xD1\x4D\x07\x87\x14\x8F\x4B\x6D\xC9\x6B\x16\x80\x20\x80\x77\xF4\x77\xEC\x69\xC8\x25\x92\x65\xBD\x6D\x8F\x78\x3B\x5D\x3F\x7A\x43\xF3\x6E\xB2\x1C\x4A\x66\x78\x0B\xF9\x6C\x97\x7A\x74\x36\x7C\x72\xC5\x5E\x1D\x4C\x64\x26\x77\x01\x06\x12\x87\x7F\x2D\x28\x3E\x73\x2B\xB5\xE9\x00\x00\x1C\x01\x05\x3E\x7B\x2F\x87\xF2\x2E\x4D\x80\x99\x3E\xDB\x6F\x67\xCF\x4D\x01\x08\x08\x8C\x1E\x6D\x28\x81\xCE\x37\x86\x80\xDC\x77\x4E\xF7\x67\x03\x96\x61\x70\x2C\x37\x27\x83\x89\x06\x77\x7C\x83\x5C\x57\xA5\x46\x04\x0F\x02\x00\x2F\x82\x25\x83\x09\x72\x49\x7A\x2D\x01\x85\xA1\x0E\x0C\x88\x29\x00\x31\x85\xA9\x2F\xF4\x3B\x48\x2F\xF5\x02\xC7\xBD\x37\x0B\x98\x27\x7D\x2F\x84\xE3\x78\x4B\x80\x86\x81\x01\x5D\x1B\x06\x8C\x04\x1D\x18\x8D\x6D\x23\x16\x05\xC9\x81\x46\x30\xFF\x02\x9E\xDC\x02\x0C\x9A\x09\x83\x79\x70\x63\x80\xCA\x81\x80\x2F\x2A\x03\x9B\xD1\x6C\x0C\x97\xDB\x2A\xA7\x02\xFB\x5A\xC1\x81\xEE\x37\xDE\xE9\x37\xBB\x1B\x1A\x4C\xA5\x7F\x16\x87\xA3\x71\x25\x4C\x29\x00\xCE\xFB\x3F\x14\x0A\x05\x86\x9E\x51\x30\x20\xFE\x53\x23\x2C\xC6\x67\x32\xB2\x09\x02\x13\x01\x17\xBB\x7E\x20\x3D\x15\x26\x21\x7C\x58\x74\xD1\x4A\x30\x88\x32\xF6\x77\xED\x2E\xAA\x44\x26\x81\xD1\x80\xA8\x7F\x6F\x5D\x5D\x83\x3D\x35\x7E\xA4\x76\x10\x07\x0A\x00\x3E\x72\xD9\x32\x1D\xA6\x70\xA2\x78\x00\x01\x19\x87\xF6\x29\x94\x3C\x18\x25\x68\x74\x21\xEE\x7D\x81\x67\x04\x11\x1B\x8B\x3D\x31\x66\x83\x90\x37\xF3\x73\x55\x00\x04\x06\x89\x87\x7F\x19\x8B\xFD\x30\x61\x83\x2C\x26\x85\x81\xBB\x00\xD2\x01\xBF\x6F\x2A\x07\x85\x18\x3D\x7D\x03\xE8\x22\x89\x81\x24\x1F\x67\x06\x96\x0C\x89\x92\x47\x32\x86\x1D\x7B\x15\x44\xC2\x81\xEB\x77\x06\x07\xA4\x65\x33\x45\x0A\x36\x84\x6D\x81\x2E\x2E\xB7\x81\xF8\xE4\x71\x06\xBB\x04\x87\x35\x5D\x13\x87\xE6\x34\xE4\x81\xBD\x06\x92\x03\xE7\xF1\x33\x22\x14\x1B\x8F\x40\x36\x6E\x81\x13\x38\xBC\x81\x34\x03\x9C\x02\x8D\x0E\x94\xFB\x72\xB7\x2F\x73\x82\xFE\x01\x5A\x24\x59\xB3\x7C\x06\xA3\x1E\x32\xA6\x75\xE3\x75\x81\x69\xB6\x2C\x5E\x81\xCE\x22\x20\xBB\x3D\x4F\x75\x99\x72\x01\x82\x35\x7B\x27\x80\xB6\x7A\xEB\xF7\x72\xBF\x6C\x0E\x97\x76\x71\xFB\x7A\x79\x75\xD4\x78\x38\x73\x74\xDE\x5B\x95\x44\x65\x78\x1D\x81\xED\x02\x77\x82\xDC\x77\x6E\x81\x25\x02\xE7\xCD\x42\x06\x94\x69\x5E\x35\x78\x21\x78\x66\x80\xAD\x7F\x9A\x01\x94\x1C\x0C\x0F\x81\x08\x04\x34\x80\xBC\x7A\x9C\x79\xDE\x81\x74\xF2\x3F\x07\xA5\xD7\x71\xFC\x79\x21\x79\xFB\x64\x9F\x77\x6B\x81\x31\xF0\x6E\xE6\x55\xB1\x57\x48\x6F\xA3\x05\x7B\x83\x80\x7B\xF0\x7A\x46\x00\xB4\x00\x90\x08\x8B\xB4\x74\x3E\x82\xFE\x67\xE4\x7F\xBC\x79\x92\xD9\x42\xFD\x62\x21\x66\xE4\x5D\x3E\x86\x79\x81\x85\x7A\x34\x81\x56\x02\xEA\x04\x98\x09\x83\x5A\x60\x1C\x85\x0F\x80\x8E\x32\xF7\x81\x28\xF6\x28\xE3\x60\x0F\x97\x99\x72\x3E\x84\x77\x79\x72\x81\xAC\x7A\x51\xEE\x37\xFC\x25\x6E\x28\x20\x8F\x57\x79\xC5\x79\x27\x81\x15\x7B\x0D\x04\xAA\x65\x52\x06\x90\xFD\x74\x19\x80\x73\x7A\xB6\x76\xD3\x67\xDC\xEE\x77\xF6\x4B\x95\x34\x20\x88\x72\x7C\x11\x7B\x05\x83\x30\x7B\x83\xF5\x21\xE8\x52\x08\x9F\xFD\x7F\xEE", -"\x74\x8A\x76\xFA\x7E\x6F\x6F\xCB\xF6\x15\x34\x5E\x0A\x93\x20\x8E\x3F\x85\xCB\x74\xA2\x81\x34\x81\x8A\x02\xB2\x05\x80\x73\x78\xD3\x5B\x19\x7F\x40\x83\x1B\x76\x0A\x63\x4C\x06\x7D\x07\x81\xC7\x67\xB1\x59\x01\x80\x45\x79\x0A\x82\xE7\x7A\xBD\xF3\x58\xFF\x5F\xBC\x71\xB9\x71\xF2\x72\xB7\x7A\xED\x6C\x04\x81\xA5\xF5\x0E\xCC\x61\x8A\x24\x21\x8E\x65\x7E\x44\x79\x11\x82\xC1\x7A\xC3\xF6\x04\xEB\x57\xFF\x7A\xF6\x68\xFE\x7F\xDB\x73\x0B\x83\x70\x73\x8C\xF5\x41\x8D\x53\xCF\x70\xF0\x73\x45\x85\x86\x81\x93\x79\x2A\x81\x4B\x02\xD7\x04\x8D\x09\x9F\x10\x87\x5E\x7E\x85\x5E\x62\x81\x32\x82\x43\x04\xE3\x6E\x4D\x02\x83\x01\x8C\x73\x70\x09\x4D\x8A\x81\x61\x4D\x64\x04\x87\x08\xA6\x11\x8C\xB5\x7A\x24\x85\x25\x78\x93\x81\x97\x78\x83\xBB\x33\x04\xAE\xFF\x73\x2B\x34\x45\x86\x50\x79\x83\x80\xFE\x80\x0F\x02\xC8\x00\xB4\xD6\x7A\x99\x7F\xD4\x75\x2D\x67\x03\x81\x0B\x80\x79\x7E\x7B\x08\x86\xC8\x57\x11\x8E\x2D\x81\x47\x81\xAA\x62\xFD\x79\x34\x02\x9A\x01\xB4\x10\x91\x23\x80\x81\x5B\x0E\x80\x91\x81\x3A\x80\x23\x9C\x1B\xEC\x7F\x68\x62\xB2\x7A\xC5\x61\xFA\x7E\x6A\x2F\x42\x82\xD8\xF6\x6E\x03\x9A\xDB\x70\x0F\x8A\x48\x84\xF3\x7C\x99\x7B\xF8\x56\x27\x00\x93\xFB\x1B\x12\x94\x99\x74\x44\x87\x84\x82\x06\x81\x56\x82\x1C\x00\x8C\xE5\x61\x72\x21\xD7\x6D\xAD\x2B\x7B\x80\x00\x00\x54\x82\xEB\xF2\x4F\x03\xA0\xD3\x7B\xB6\x77\x44\x83\xCC\x79\x28\x81\x46\x82\x9B\xDD\x70\x04\xA0\x6B\x3A\x0B\x86\x10\x00\x98\x81\xC0\x76\xE2\x80\xAE\x01\xFE\xE7\x78\xCF\x62\x16\x84\x9C\x67\x37\x73\x2B\x6E\x53\x82\x70\x04\xB4\x09\xB2\x11\x90\x02\x84\x47\x85\x7B\x75\xF9\x7F\xBA\x79\x2B\xB8\x75\xB0\x7C\xD0\x7B\xD6\x2E\x4B\x86\x99\x80\x9C\x7B\xD6\x80\x9F\x01\xD2\x09\xA1\x06\x91\x0D\x8A\x46\x5D\x4D\x82\x06\x54\x19\x78\xDA\x02\xC2\x08\x9A\x13\x9D\x24\x83\x47\x83\x05\x82\x7D\x7B\x18\x81\x1C\xD6\x40\xF5\x5F\x8B\x72\xA8\x56\x1F\x4C\xE6\x6D\x0C\x82\x64\x79\x1D\x85\x41\x08\x91\x12\x9C\x24\x8F\xD7\x5E\x93\x83\x1F\x82\x58\x7B\x23\x9C\x6D\xC7\x6D\x52\x7D\xF9\x65\x6E\x78\x93\x4F\xB9\x7B\x8C\x3E\xF2\x04\xDE\x07\xBC\x0E\x97\x22\x8C\x5C\x7D\x98\x81\xB7\x7B\x78\x79\x92\x00\xF3\xE5\x54\xD1\x7C\xC3\x72\xF1\x79\xE9\x6F\xB1\x78\x5D\x81\x24\xE6\x27\x09\x92\x12\x97\xDD\x5D\x47\x86\xD5\x7B\x41\x83\x34\x80\x61\xE7\x7B\xED\x6E\xBA\x46\x16\x84\x25\x70\x7D\x82\x95\x71\x64\x81\x10\x05\x83\x0A\xB3\x13\x85\x28\x85\x4F\x87\x07\x82\x6F\x81\x2D\x5C\x77\x00\xAE\xE1\x47\xB8\x7A\x03\x81\x6C\x61\x5B\x83\x8C\x53\x88\x82\xEF\x03\xDF\x07\x94\x14\x93\x00\x86\x51\x83\x51\x78\x31\x78\x77\x82\xB5\xCA\x7A\xE8\x7E\x9D\x6C\x5B\x5C\x74\x78\x15\x80\x49\x6C\x55\x80\xBE\x73\x11\x1E\x1A\x01\x16\xED\x75\x15\x85\xED\x64\x9C\x2C\x92\x2B\x2E\x5A\x0F\xB1\x02\xAA\x79\x02\x08\x4F\x73\x69\x83\x42\x74\x6A\x68\x49\x3A\x57\x0A\xA7\x0C\x29\xC4\x76\x94\x54\x13\x27\x2C\x04\xAF\x82\x05\xFE\x1C\x91\x14\x7A\x31\x7F\x03\x87\x23\x20\x0F\x43\x74\xA7\x1A\x37\x44\x37\xD2\x4C\xAE\x75\x08\x60\x15\x84\x08\x43\x34\x7B\x78\x82\xEB\x40\x48\xDE\x69\x2F\x7E\x12\x8E\x22\x80\xE2\x7B\x76\x78\xF8\x6F\xC1\x03\xCC\xE6\x59\x0C\x84\xFB\x7E\x93\x6E\x78\x80\x3A\x7A\xE4\x81\x9A\xF3\x27\x9F\x44\x65\x62\x28\x89\x21\x1A\xAF\x83\x0C\x68\xBE\x82\x75\x02\xAF\x04\x92\xCE\x64\x5E\x7D\x56\x7C\x17\x80\x9B\x72\x32\x77\x7C\xE6\x06\x03\xBE\x99\x6E\x5E\x70\x68\x71\x7F\x5B\x8F\x04\xAF\x81\xAE\xF5\x76\xE9\x4E\xDC\x60\x70\x7E\x57\x87\x5A\x78\x3B\x82\x4E\x79\x89\xDE\x16\x5F\x62\xAF\x68\xFC\x74\xBE\x76\x86\x6C\x6D\x73\xB9\x32\xA0\x05\xBF\xEE\x53\xCB\x61\xBA\x7D\x2C\x82\xB2\x80\x11\x7B\x52\x81\xBE\xD6\x47\xC0\x4A\x71\x71\xA9\x7A\x37\x7F\x12\x82\xA5\x72\xFD\x81\xE0\x5A\x3E\x09\xB1\x16\x93\xB7\x7E\xDF\x73\xB4\x81\x76\x79\xD2\x82\xB0\xF3\x27\x0B\x8B\xAE\x25\x20\x8B\x2B\x85\x74\x2F\x70\x82\x26\x7B\xEA\xF1\x7D\x02\xB6\xDB\x60\x9D\x7A\x4F\x78\xB7\x82\x4B\x7B\x8A\x6B\x8B\x05\xCE\x0B\x8E\x16\x89\x83\x6F\x2A\x82\xBD\x59\xAC\x80\x05\x59\xD3\x03\xBF\xDA\x2C\xC5\x78\x0E\x81\x04\x83\x73\x78\xE1\x52\x20\x03\x9F\x05\xDB\x0B\xB4\x43\x79\x08\x71\x4D\x81\x3A\x83\x34\x82\xE5\x82\x0F\xC9\x38\xBD\x66\xCE\x6C\x22\x83\x1B\x7D\x93\x77\x13\x82\x1A\x58\x09\x02\xB1\x0A\x8D\x16\x91\xAA\x79\xF4\x74\xBD\x81\x3A\x82\xF7\x82\xEB\x04\xC8\x03\x81\xBB\x62\x06\x7D\xC6\x76\x87\x80\x69\x7B\x20\x68\xA4\xE8\x69\x0B\xBC\x17\x9B\x2B\x8C\x2C\x87\x4B\x82\x6D", -"\x83\x30\x81\xF8\x04\xD2\xB3\x59\x14\x8B\xD5\x77\xCD\x6B\x40\x83\x4A\x83\x02\x81\xC3\xF3\x06\x0C\xBC\xEF\x5D\x28\x48\x5E\x81\xAF\x83\x82\x83\xC7\x82\x0D\x06\xFD\x0A\x94\x17\x8C\xA9\x76\x5D\x87\x86\x74\x17\x82\xAB\x7D\xE9\xFF\x53\x05\xAB\xFF\x60\xB8\x7A\xC1\x5A\x12\x58\xB7\x2C\xE1\x82\xEA\x05\xBB\x07\xB5\x12\x8E\x10\x89\x28\x78\x97\x83\x20\x81\x2A\x3B\x20\x02\xF8\x03\xB0\x16\x91\x31\x8F\x3C\x87\x0C\x83\x27\x82\x1D\x81\x1C\xDD\x27\xF3\x7A\xD7\x7B\x74\x6A\x5D\x87\xC3\x80\x77\x82\x5F\x81\xDE\x05\xC0\x05\x84\xD5\x76\xFE\x73\x39\x4A\x90\x83\xB9\x6E\x05\x83\xF1\xF5\x7D\x0B\x9D\x17\x94\xB2\x5F\x60\x87\x4E\x81\x84\x82\x29\x51\x4F\x02\xD1\x21\x4F\x12\x85\x13\x81\x2A\x37\xB9\x80\xA6\x7B\xE8\x82\x8D\x01\xCF\xEC\x4F\x06\x94\xB3\x7E\x42\x46\x02\x82\xDA\x7C\x1C\x33\x5E\x06\xB6\xE4\x67\xC3\x61\x33\x8E\x17\x83\xCC\x80\x60\x80\xF8\x82\x76\xF6\x47\xEE\x44\x7C\x65\xA0\x78\xE0\x00\xC6\x82\x91\x83\xF5\x82\x53\x06\xBF\x6D\x48\x17\x84\xBA\x70\x67\x86\x3D\x66\x09\x81\x6B\x63\xDA\x03\xC5\x0C\x91\x19\x8C\x30\x84\x2D\x7A\xA5\x7B\x88\x82\x7C\x7B\x25\x06\xBC\xD8\x65\xD9\x68\xF9\x48\x57\x83\xBF\x83\xA0\x82\x10\x83\x85\x06\xC2\xEE\x7B\x19\x90\x11\x84\x4D\x83\x23\x6C\x52\x83\xD5\x70\x79\xF6\x18\xBE\x7A\x18\x96\x27\x39\x66\x82\x5D\x7B\x33\x82\x61\x82\xC5\x01\xC4\x09\x99\x11\x8A\x21\x83\x26\x79\x94\x2E\x9E\x81\x5E\x82\x82\x06\x9B\xE6\x6A\xBF\x74\x2D\x8E\x60\x83\xD2\x83\x64\x83\x2B\x83\x13\x8B\x22\xBE\x62\xDA\x61\x29\x8D\x65\x84\xC7\x83\xFF\x81\x1B\x82\x01\x04\xB9\x08\x83\x10\x8A\xDE\x6C\x21\x7F\x51\x82\x2B\x6F\x0E\x83\x8E\x06\xAA\x0D\x9D\xC9\x70\x2C\x8E\x27\x86\x59\x83\x3D\x83\x4A\x83\xBC\xD1\x47\xE8\x67\x07\x9A\x14\x82\xC0\x06\x9F\x80\xFB\x7E\x52\x6C\x08\x06\xCF\xED\x4B\x95\x3D\x34\x87\x6D\x79\x98\x82\x2A\x82\xE8\x80\xA2\x06\xC7\x03\x9A\x11\x98\x28\x8E\x05\x83\xB7\x75\x18\x79\xDF\x76\xE4\xF6\x2C\x05\xBF\x1A\x89\x35\x8F\x53\x7C\x63\x79\xA4\x83\xDA\x82\xAE\x06\xB7\x0B\xB0\x1A\x89\x36\x82\x2D\x81\xB1\x79\x1E\x80\x5C\x81\xAD\xB7\x20\x0A\xB8\xA1\x70\x32\x82\x6C\x82\xBE\x78\xB1\x82\x51\x81\x55\x06\xA4\x05\xAB\x1B\x8C\x90\x5D\x6E\x83\xD9\x81\x61\x79\x9C\x66\x13\xD2\x7F\x09\xB0\x14\x80\x57\x54\x6F\x85\xDC\x83\xAA\x82\xE3\x82\x98\xF2\x2F\x03\xA4\x19\x82\x30\x8C\xA2\x33\x64\x78\x7D\x83\xD5\x5A\x96\x00\xF0\xE8\x75\xDC\x7A\x58\x45\x70\x84\xE1\x78\x4A\x7A\x84\x83\xF8\xF4\x07\x0D\x91\xDC\x69\x34\x80\x11\x48\x83\x78\x28\x32\x52\x80\x39\xA8\x4A\xE1\x67\x0B\x89\x05\x89\x2E\x87\x51\x71\x1D\x7F\x7F\x00\x72\x73\x2F\x06\x9F\x0D\x88\x7C\x61\xF1\x03\x0B\x2F\xDC\x38\x8C\x80\xB9\x17\x78\xC9\x51\x78\x3D\x30\x5B\x4B\x4A\x16\x29\xF4\x70\xB4\x2D\xFD\x7C\x32\x0E\x85\x9F\x75\x39\x88\x0A\x2C\x52\x69\x9B\x2A\xA0\x26\x2E\x5A\x19\x94\x27\x9F\x7D\x02\x0A\x37\x87\x29\x72\xEC\x80\x54\x28\x7E\x03\x89\x02\x2E\x1C\x86\x07\x81\x38\x85\x1B\x81\xDB\x2D\xBC\x6F\x08\x09\x56\x91\x36\x26\x35\x08\x02\x0B\x28\x71\x82\xCB\x08\x9D\x83\x71\xCA\x2B\x07\xAF\xFE\x6F\x3A\x82\xFA\x61\xEA\x81\x6D\x25\x2B\x24\xA6\xE7\x59\xC7\x33\x22\x1C\x39\x84\x05\x37\xE6\x83\xBD\x2F\x9C\x83\xF7\xB9\x11\xBC\x1B\x0E\x84\x60\x2E\x11\x83\x44\x3C\xD4\x83\x15\x04\x52\x07\xE0\x0E\xB2\x42\x23\x3B\x8A\xEF\x2E\xE7\x82\x46\x3E\xA0\x83\x06\x90\x43\x0E\xA9\x0E\x8B\x09\x86\x33\x86\x71\x81\xF6\x31\xB7\x83\xFD\x0A\x71\x0E\x98\x23\x21\x3B\x8B\xC7\x2A\x4F\x05\x97\x6B\xA3\x83\x54\x60\x34\x6B\x68\x9E\x7D\xF1\x3B\x14\x84\x82\x73\xE6\x13\xBA\x82\x2B\x07\xB5\xEF\x51\x3C\x04\x03\x00\x38\x82\x82\x81\x05\x1D\xFA\x2C\x19\xE9\x30\x88\x26\xFB\x40\x6A\x03\x8B\x26\x15\x2B\xF4\x7C\xB4\x1B\x47\xE5\x6E\x05\x92\x20\x18\x27\x73\x06\x03\x71\x80\x39\x82\xE7\x04\x98\x07\xF6\xCF\x48\xF8\x1B\x3C\x8E\x9C\x05\xF3\x81\xE5\x2B\x59\x04\xA5\x07\xCC\x06\xAA\x0C\x34\xF4\x21\xAF\x03\xED\x18\x66\x34\x43\x01\xEE\x7C\x78\xC9\x62\x01\x06\x3D\x8A\x49\x87\xF2\x80\x87\x2D\xCC\x83\x31\x46\x2C\x0F\x95\xE0\x0E\x3D\x8F\xBB\x7F\xED\x1B\x2C\x05\xDD\x83\xB2\x07\xB0\x88\x34\x1E\x95\x77\x06\x7B\x85\xAD\x30\xEE\x83\x1D\x07\xB1\x07\xA5\xD0\x45\xEF\x6E\xE5\x6B\xA1\x2F\xC5\x1F\x5B\x83\xAC\x81\xC1\x07\xED\xF1\x67\xFB\x4D\x3D\x80\x76\x27\xF5\x81\x92\x39\xE4\x7D\xB3\x07\xD4\xC1\x0D\x1F\x8A\x2C\x3F\x7C\x83\x04\x2C\x3E\x73\xDD\x7D\xAD\x02\xD9\xF0\x29\x1E\x99\xBB\x7A\x79\x82\xFB\x80\xE7\x83\xEE\x83\xC5", -"\x07\xAB\x7C\x33\x22\x08\x3F\x82\x77\x79\xFC\x81\xF8\x31\xF1\x83\x35\x66\x61\xC5\x5B\xA9\x55\x1D\x85\x29\x5D\x75\x57\x8F\x04\x95\x83\x6E\xF6\x26\xE3\x49\x10\x84\xB0\x70\x08\x87\x08\x81\x51\x82\xE8\x6C\xD4\x01\x95\x8A\x5C\x10\x8B\x72\x71\x0F\x7B\xB1\x69\x62\x81\x04\x83\xAA\x2C\x3F\xE3\x67\xCA\x64\x28\x8E\x52\x63\x81\x82\x5A\x7B\x0C\x82\x63\xB3\x1B\x08\xA6\x18\x95\x1E\x89\x59\x86\xCC\x77\x9F\x73\x0C\x70\xD4\xB2\x7F\x0F\x92\x20\x87\x2B\x68\x2A\x78\xD8\x78\xB6\x82\x56\x82\x07\x08\x8B\x09\xA5\xFE\x65\xFC\x75\x1A\x87\x54\x47\x69\x81\xC4\x7F\xAE\x05\x90\x10\x9A\x98\x03\x41\x8C\x73\x6C\x02\x87\x6A\x65\x62\x83\xF9\x06\xCF\x05\x9C\x1C\x92\xF4\x6F\x52\x7B\xB7\x80\xBB\x6A\x99\x7A\xBE\x05\x9A\xDD\x57\x9A\x6E\xDC\x7B\x54\x30\x00\x84\x97\x7B\x1B\x7B\x86\x04\x86\xE6\x74\x18\x88\x98\x76\x63\x82\x3E\x82\x79\x7A\xCF\x7F\x67\x06\xF3\xCA\x06\x21\x84\x94\x7D\x65\x79\x09\x85\x8E\x7B\x25\x84\x3B\xF6\x73\x07\xAD\xDC\x64\xFC\x78\x5D\x86\x71\x78\xB0\x82\x83\x00\x53\x08\xA6\xEE\x4A\xC2\x65\x21\x86\x0A\x7E\x96\x82\x11\x83\x51\x83\x9F\xBB\x09\x10\xB4\x14\x64\x2C\x8F\x34\x7E\x83\x83\xEC\x7E\x1F\x68\x87\x01\xD7\xB3\x6E\x72\x6D\x34\x02\x82\x86\x54\x78\x09\x84\x1B\x84\xBB\x01\xB7\xE8\x40\x12\x8D\x77\x52\xC5\x75\x85\x81\xF0\x7F\xD4\x79\x1A\x06\xAB\xE7\x51\x11\x92\xA3\x51\x2A\x31\x0C\x87\xC0\x79\x07\x79\x55\x04\xCA\xEB\x43\x15\x9E\x1D\x8A\x85\x80\xF2\x7E\x12\x80\xFA\x80\x0E\x0D\x05\x0C\xBB\xD6\x7D\x8C\x74\x61\x64\x0E\x85\x04\x84\x3B\x84\x35\x08\xB3\x0A\x95\x20\x8B\x44\x81\x3E\x85\x11\x85\xEF\x7F\xC2\x7A\x44\xD7\x5C\x28\x4B\x11\x92\x8D\x78\x3A\x7E\x89\x83\x00\x7A\x28\x82\xD1\x06\xBC\x13\x75\x21\x86\xB1\x70\x27\x7A\xA2\x83\x8C\x82\x44\x82\x35\x06\xA9\x10\xAE\x12\x89\x22\x87\x62\x83\x99\x7D\x8A\x83\xC4\x7A\x2B\x06\xAE\x0A\x81\xD9\x63\x23\x8F\x5A\x86\x9E\x32\x21\x84\xB1\x78\x92\xF1\x56\x10\x9F\xD9\x66\x43\x88\x45\x82\xDB\x80\xA9\x82\x06\x68\x6D\x04\x97\x8C\x6B\x22\x9E\xAE\x72\x60\x7B\x00\x84\xFC\x81\x02\x84\xF2\x03\xCD\x10\xBF\x07\x8E\x60\x43\x3E\x78\x4D\x75\x11\x84\x1A\x84\x8B\xD7\x78\x10\xA4\x08\x9A\x43\x88\x50\x82\x8B\x5E\x93\x83\x2F\x84\xC7\x54\x58\x11\x84\x82\x6E\x45\x8B\x4D\x81\x7E\x82\x23\x80\x4F\x84\x36\x00\xE3\xBA\x57\x1A\x9E\x0C\x6D\xF8\x76\xF2\x81\x21\x84\x71\x84\x49\xE2\x40\xEA\x61\x18\x91\x2C\x89\x6E\x80\xC2\x82\xA8\x6C\x33\x83\x91\xB5\x4B\x11\xBF\xBB\x62\x40\x85\x41\x82\x81\x80\x27\x84\x06\x82\xE8\x08\x90\x01\x87\x15\x8D\x14\x89\xEC\x5F\x03\x80\xCF\x7C\x7D\x84\x01\x08\xFE\xEA\x64\x21\x80\xAC\x7F\x8F\x87\x02\x85\x40\x84\x50\x80\xD0\x95\x5A\x04\x85\x86\x6E\x42\x7E\x8B\x80\x1E\x87\xAA\x7B\x49\x82\x42\x02\x95\x09\xBF\x18\x80\x17\x8E\x02\x83\xD1\x83\x04\x7B\x9F\x82\x97\x08\xAC\x11\x93\x20\x9A\x44\x87\x83\x80\xDF\x81\x3D\x84\x2B\x83\xC8\x06\xF6\xAA\x62\x0B\x87\x6D\x3C\xD9\x6E\xB4\x70\x42\x85\x23\x84\x6F\xF6\x37\xE4\x5E\x06\x82\x33\x8A\x70\x87\xCD\x80\xC3\x83\x05\x7A\xD6\x04\xF5\x79\x6E\x24\x81\x49\x8C\x8C\x87\xC4\x79\x3F\x84\x02\x84\x16\x08\x8A\x00\x98\x20\x87\x11\x8F\x88\x83\x90\x7D\xC8\x6D\x4F\x79\x20\x09\xB3\x10\x98\x22\x99\x46\x84\x92\x81\x0F\x87\x77\x83\x35\x82\x8C\x02\xA2\x01\x8E\x0A\x97\x02\x85\x89\x85\x74\x2F\x2F\x84\x6B\x7B\xC1\x08\xA9\x09\xBB\x07\x8B\x25\x8D\x1F\x82\x1A\x85\x84\x81\x13\x69\xCA\x06\xDA\xFF\x49\xC1\x7B\x14\x82\x74\x75\x53\x80\xE1\x52\x4B\x84\x4A\x09\xA2\x12\xB7\x21\x8D\x4A\x8B\x8D\x87\x29\x87\x1E\x85\x97\x6F\x61\x09\x8F\x0E\xA2\xDB\x76\x74\x70\x21\x5A\x17\x85\xD8\x6E\xEF\x68\x1D\x85\x68\x12\xA0\x21\x96\x48\x8A\x12\x7C\x8F\x80\x1A\x82\x3F\x82\x6A\x04\xEF\x12\xBA\x7C\x6A\x29\x8D\x8A\x4B\x60\x72\xD6\x73\x67\x83\x07\x76\x79\x12\x96\x25\x9C\x4B\x87\xF1\x76\x86\x80\xF4\x80\x6E\x84\x28\x05\xF6\x00\xBD\x1B\x82\x4B\x81\x3C\x7F\x58\x81\x20\x84\xCE\x6D\x55\x09\xAA\xBB\x17\x25\x9C\x85\x75\x6D\x87\xD3\x83\xB5\x83\x61\x82\x28\x08\xE8\x10\x86\x13\x89\x3E\x3E\x70\x84\x14\x87\x9A\x6B\x88\x83\x23\xEF\x3E\x0A\xB8\xF9\x75\x48\x8B\x94\x83\x1C\x85\x50\x83\x89\x82\xC4\x08\x95\x0A\xA2\x26\x97\x28\x87\x4C\x84\x43\x78\xC8\x82\x12\x77\x12\xF3\x26\xDC\x42\xCD\x6D\x86\x70\xDF\x79\x94\x2F\x03\x02\xD2\x81\x91\x07\xA2\xE7\x1C\x4A\x71\x97\x66\x7B\x38\xA9\x73\x49\x00\x35\x00\xF8\xE4\x0D\xBC\x1D\x98\x45\x62\x74\xD6\x7F\xF7\x07\x54\x5C\x7E\x45\xA1\x7C\x69\x00\x09", -"\x27\x85\x3E\x7C\x9C\x86\xEC\x82\xC9\x2F\x50\x3E\x92\x35\x25\xD0\x6F\x01\x05\x3E\x7B\x9D\x86\xBF\x33\xC3\x70\x96\x07\xF3\xD2\x1C\x13\x61\xF2\x27\x03\x08\x4F\x74\x56\x56\x59\x60\xF3\x84\x8E\x6A\x6A\x82\x5E\x42\x0B\x56\x5C\x99\x40\x30\x75\xB9\x2C\xE4\x03\xE8\x09\xEC\x9C\x58\x7E\x6D\x03\x05\x79\x84\xC8\x82\xEF\x82\xEB\x83\xC0\x07\xF9\x92\x26\xFB\x57\x5A\x0A\x87\x22\x29\x03\xDA\x7A\xAB\x83\x3E\x34\x78\xC9\x6C\x01\x1C\x3D\x87\x3B\x80\xF5\x83\xEF\x82\xD5\x83\x37\x44\x7B\x13\x8D\x34\x1D\x4F\x8C\xAF\x03\x33\x24\x83\x23\x59\x04\x03\x0A\xC9\x0F\x8A\x0C\x2B\x3E\x80\x60\x10\xFF\x82\xBA\x35\xF2\x83\x29\xAC\x24\x0F\x84\x28\x9B\x34\x87\xF6\x7B\xFD\x83\x3A\x75\x80\x21\x0A\x0A\xA7\x26\x0C\x28\x94\x31\x01\x7F\x82\x08\x00\xEC\x82\xF0\x83\x0C\x46\x14\x14\x8B\xB3\x16\x50\x8A\xA9\x32\xFF\x80\x4F\x73\x90\x72\x5D\x22\x4E\xF7\x6D\xE1\x7E\x55\x2D\x64\x70\x81\x22\x45\x3B\x23\x25\xB6\xC5\x19\x7C\x16\x08\x02\xB3\x3D\xBA\x7B\x60\x7C\x2F\x12\xE8\x7D\x6D\x00\x32\xF7\x68\x28\x91\x31\x24\x77\x7C\x4D\x77\x26\x75\xA4\x81\xE6\x07\xBC\xF7\x51\xEF\x6C\x75\x55\x79\x2F\x81\x73\x27\x3F\x18\x85\x65\x7E\x66\x7D\x6E\x1C\x02\x4C\x26\xA3\x85\xB7\x4C\x8E\x85\x04\x64\x3A\x0A\xFF\xE3\x0F\x30\x5D\x51\x87\xBD\x7E\x20\x01\xF4\x83\xD3\x2E\xC7\xFB\x7B\xD0\x43\x29\x99\x4B\x23\x75\x7E\xB7\x7E\x8F\x85\x87\x03\x40\x0A\xC2\x14\x92\x28\x94\xDE\x7D\x81\x3C\xCE\x2F\xB9\x2C\xB4\x7B\x9F\xE9\x5F\x14\x95\x7B\x3D\xDD\x7C\xA4\x85\x44\x86\xB9\x2C\x22\x13\x48\x0A\x89\x02\x32\x29\x8E\xF9\x24\xA7\x82\xED\x79\xFC\x82\xDD\x3B\x97\xA9\x77\x0A\xB4\x08\x5F\x51\x00\x9C\x86\xD2\x7B\x05\x76\xE8\x82\xF4\xF6\x52\x0B\x8F\xDC\x7A\x38\x8F\x57\x81\x32\x82\x1A\x85\x1C\x85\xD6\x01\x92\xC0\x77\xFD\x67\x1E\x81\x94\x6D\xF6\x7E\xF2\x80\xC7\x79\x7A\x09\xD7\x82\x6F\xD7\x6D\xAD\x72\x5B\x86\x9B\x78\xA8\x83\xF6\x82\xD9\x06\xD2\x03\xA1\xDA\x4F\x54\x88\xA5\x81\x52\x87\xE5\x79\x09\x70\x02\xF5\x4E\xDC\x77\xEC\x42\xB3\x39\x3D\x82\x15\x87\xDC\x81\x4D\x85\x3E\xF1\x06\x0E\x83\x1B\x93\x47\x88\x83\x87\x24\x86\xBE\x83\x94\x84\x09\xF1\x55\x57\x61\xAF\x7E\x88\x7C\x5A\x80\x24\x78\x26\x38\x42\x85\xB0\x0A\xDB\xE4\x75\x1B\x92\x32\x88\x64\x84\xCA\x82\xAD\x84\x1D\x84\xFB\x06\xB9\x15\x8B\x2B\x57\x1F\x8C\x5B\x81\x7F\x81\x4D\x7A\xFE\x75\x21\x08\xAF\x15\xA7\xBF\x62\x56\x82\xAB\x86\xDE\x80\xAD\x84\x93\x84\x8C\x0A\xA6\x0B\xB7\x24\x8A\x32\x6D\x69\x70\x35\x4E\xB4\x82\x60\x85\xD3\x0A\xCC\xA8\x43\x2B\x84\x34\x8C\x6A\x82\xC4\x83\x5F\x81\xEA\x82\xC9\x0A\xD7\x07\xBA\x66\x6B\x0E\x8F\x92\x40\x5C\x86\x96\x78\x71\x85\xD5\x0A\xC4\x15\xB7\x1B\x9F\x15\x86\x6C\x81\x3C\x80\x65\x83\xC0\x82\xFD\xF4\x55\x03\x8B\x20\x92\x54\x8D\x6A\x72\x87\x74\xED\x7E\x45\x83\xDA\x01\xAE\xB9\x5D\x27\x0E\x57\x8C\x5A\x79\x56\x86\xC5\x82\x79\x84\xE7\x06\xAD\x0D\x99\x2B\x89\x2E\x8B\xAD\x82\x41\x4E\x7C\x82\xF3\x80\x94\x09\xFF\x0D\x82\xFF\x61\x23\x88\xD5\x65\xF8\x7E\xAB\x85\x84\x00\x85\x0A\xF7\xE2\x57\xDA\x6A\x33\x89\x69\x7B\x26\x85\x9B\x83\x9A\x84\xE8\x0A\xB8\x15\xAA\x2B\x9A\x8C\x72\x89\x87\xBE\x83\x81\x82\x01\x53\x03\x0B\xD2\x15\xAF\x2B\x83\xE8\x66\x6B\x86\x31\x86\x8F\x83\x93\x82\xA0\x04\xFC\x10\xB6\xD6\x7F\x43\x86\x8A\x80\xC4\x75\x89\x6D\xFC\x82\x45\xA9\x04\x16\x8A\xDC\x70\xAF\x73\xAE\x80\xD2\x81\xB9\x84\x7A\x84\x0B\x0B\xFC\x0C\x8D\x2C\x8D\x5B\x63\x21\x84\x7A\x67\x8B\x62\xE5\x78\x3A\xEF\x17\x04\x81\x69\x72\x41\x86\x10\x01\x63\x84\x8D\x79\x5E\x76\x1C\x0B\xE0\x0C\x9E\x2C\x93\x2E\x87\xAE\x84\xC4\x81\xBA\x84\xD3\x6C\xC9\x08\xD8\x5C\x7A\x2C\x90\x96\x74\x29\x7F\x60\x86\xB9\x83\x9F\x85\xB5\x0A\xC1\x16\x94\x1A\x9D\x33\x86\x63\x52\xC8\x83\xFF\x7F\x68\x85\x18\x0B\xC1\x15\xB0\x2B\x9E\x5A\x87\x70\x82\x51\x84\x69\x82\xB1\x85\xAF\x06\xA2\x16\x85\xE5\x2E\x32\x89\xA9\x82\x04\x06\xDA\x84\x96\x85\x77\x06\xB2\x0C\xA5\x23\x90\x46\x87\x8E\x86\x2B\x84\xFD\x80\x2A\x80\xC8\x04\xE9\x64\x6D\x23\x94\x48\x8B\x54\x36\x69\x84\xBA\x79\x1A\x79\x9E\x06\xE7\x09\x90\x13\x9F\x2F\x81\xAA\x87\xBD\x83\xC5\x4C\x7C\x84\x45\x70\x5B\x16\xB1\xDB\x71\x96\x7D\xA9\x81\xA2\x7B\x21\x82\xAE\x84\x89\x04\xB2\x11\xB9\x12\x83\x48\x82\x95\x85\x20\x87\xC2\x72\xB9\x70\x49\x09\xCD\x16\xB7\x2D\x96\x08\x79\xB7\x85\xC7\x82\x41\x83\xC0\x84\xDD\x08\x91\xE8\x54\xD9\x7B\x22\x62\xB9\x85\xE7\x7A\xBC\x7A\x44\x85\xC5\x05\xEE\x16\x87\x17\x90\x5B\x8A", -"\x6E\x82\x6E\x85\x62\x82\x5E\x82\x91\x0B\xAA\x16\x85\x2C\x94\x56\x8C\xB6\x83\x56\x85\xC2\x84\x73\x85\x6E\x06\xA1\x16\xA4\x2D\x9B\xE6\x52\x67\x80\xCF\x7A\x23\x39\x1D\x80\xDF\x0A\xBA\x17\xBB\x2C\x9C\x54\x84\x5C\x87\x3A\x78\xC6\x82\x43\x83\x55\x0B\x88\x0D\x97\x2D\x89\x2C\x87\x6A\x84\x75\x86\xF2\x84\xAE\x85\xDC\xF4\x15\x17\xAF\xD6\x7F\x4C\x81\x6A\x81\x34\x86\x31\x84\x24\x82\x0F\x04\xD2\xEE\x44\x0A\x9B\x19\x4D\xBA\x87\x3C\x78\x7F\x77\xE6\x85\x40\xF7\x4F\x17\x92\x1A\x94\x5D\x86\x8F\x83\x78\x85\x65\x65\x75\x84\xFF\xDD\x70\x09\x94\xF8\x65\x5F\x8A\x64\x7F\x50\x87\x97\x83\x44\x85\x6C\x06\xD4\x16\x81\x2F\x96\x5A\x86\xBB\x82\xDF\x79\x5C\x84\xD3\x84\xC4\xF2\x4D\x0D\xBE\xD0\x7F\x27\x84\x06\x83\x6E\x69\xE9\x2C\xC3\x85\xD5\xF6\x1C\x13\x99\x25\x96\x36\x8B\x95\x87\x04\x85\x57\x84\xCD\x85\x37\x06\xC5\xED\x58\x0A\x8D\x98\x7F\x3C\x6E\x0D\x83\xAA\x80\xA8\x73\x1D\x85\x29\x16\xA9\x2D\x81\x57\x88\xB7\x87\xD1\x83\x91\x83\x79\x85\x49\x06\xF5\x15\x80\x0A\x8E\x5F\x89\x26\x75\x10\x83\x46\x83\x7A\x79\x38\xE2\x1E\x0A\xBF\x13\x92\x37\x85\xB3\x4C\x7E\x86\xA1\x84\xF4\x78\xB0\x0B\xCE\x17\xB2\x2E\x89\x38\x8A\x4E\x80\x36\x83\xD0\x85\x55\x5C\x39\x05\xDF\x08\x92\xD8\x2D\x29\x83\x53\x7D\x7B\x5F\xC0\x83\x06\x74\x2E\x0C\x9A\x16\xB6\x2F\x91\x5A\x88\xBF\x83\x6A\x87\xA2\x85\xE8\x85\x1B\x07\xD3\x17\xBE\x2F\x93\x4C\x82\x97\x84\xE9\x78\x6A\x85\xEE\x7F\xAA\x09\xD1\x03\x41\x31\x8F\x5A\x88\x17\x79\x71\x86\x4C\x84\x74\x82\x34\x09\xB5\x18\x8B\x1C\x9B\x36\x85\x9B\x85\xCB\x46\x52\x82\x9F\x79\x26\x07\xBA\xC7\x4D\xDD\x66\xF3\x68\x0C\x7C\x8F\x78\xB3\x7F\x06\x07\x31\x0B\x5D\x13\x8A\x1E\x98\xFC\x64\x9C\x80\x6D\x69\x9A\x7E\x79\x2C\xF1\x09\x0E\xE7\x02\x1D\x86\x4E\x8E\x93\x0B\x3A\x85\xA1\x75\x5C\x6D\x7B\x5E\x71\x18\xAB\xD3\x39\x50\x23\x8B\x04\x39\x84\xDF\x81\xF8\x24\xD1\x09\xF6\x18\x9F\x15\x86\x60\x82\xA2\x85\x3F\x07\x1E\x86\xB4\x2D\x7D\x0C\xD0\xD6\x16\x27\x99\x43\x38\x9D\x80\x9F\x72\x1A\x86\xB0\x80\xAB\x09\x96\x22\x7A\x31\x8F\x91\x3C\xC7\x87\x24\x03\x23\x86\xFD\x37\xDF\x09\xA7\x20\x21\x27\x94\x65\x43\x9E\x85\x3C\x84\x73\x75\x7F\x7C\xB0\x10\x13\x19\xA8\xD2\x35\x64\x87\xE9\x08\x6A\x36\x7A\x85\x8D\x14\xEC\x09\xB4\x19\x74\xA4\x76\xAD\x31\x07\x02\x1E\x80\x4D\x2D\x1D\x07\x70\x00\x78\xC9\x6A\x7F\x3D\x30\x54\x09\x49\x3E\x27\xF8\x69\x56\x2E\xA1\x7C\x7F\xC5\x77\xE7\x53\x03\x05\x7C\x74\x97\x87\x07\x38\xD3\x81\xF1\x8D\x5C\x75\x69\x4F\x67\x09\x0E\xCB\x82\x98\x84\xFF\x82\x21\x5A\x14\x96\x70\x10\x55\xD6\x63\x5D\x8F\xF6\x75\x65\x87\x19\x82\x00\x82\x69\x04\x82\x08\x90\xD0\x41\x2F\x8D\x55\x3C\x01\x85\x61\x80\x79\x78\xFA\xDF\x5A\xEA\x65\x61\x5F\x51\x01\x9F\x83\x93\x4B\x32\x86\x0E\x86\xA4\x0B\x9E\x18\xB8\x19\x85\x56\x8A\x67\x84\x7D\x84\x4A\x84\x9D\x6C\x94\xF3\x03\x0B\xA6\x2A\x85\xFB\x76\x58\x87\xEC\x7F\x65\x81\xDC\x82\xD8\xF7\x7C\xFE\x54\x0B\x9A\x90\x7C\x8B\x12\x99\x84\x77\x7B\x12\x7B\x3D\x09\xAD\x11\xAF\x26\x8F\x45\x88\xB9\x81\x16\x87\x6C\x84\xA3\x82\xDF\xEB\x29\x0B\xAB\x9C\x5A\xA8\x7F\x82\x85\xB5\x82\xA3\x6E\xC7\x77\x7E\x43\x76\x19\xBF\xD7\x64\xAB\x7B\x8F\x82\x21\x85\x22\x85\x43\x7B\x58\x08\x89\xED\x4F\x24\x8C\x60\x73\x1F\x81\xFE\x65\xA5\x77\x49\x73\xCE\x0A\xBA\x6B\x50\x2B\x80\x65\x88\x63\x35\x9B\x85\x40\x4D\x6F\x86\x2B\x0B\xE1\x19\xBD\x2C\x9F\x60\x87\xAD\x84\x5E\x85\x0E\x85\x63\x83\x24\x0C\xEB\x20\x47\xD5\x6B\xF2\x73\x57\x36\xA3\x85\xCF\x4C\x90\x86\xBB\x0B\xEB\x16\xA1\x16\x8D\xB8\x73\xC3\x81\xE3\x80\x12\x87\x46\x85\x29\x0D\xB2\x63\x4D\xCE\x73\x5D\x7B\xCD\x81\xA1\x87\xC2\x42\x98\x86\xCB\x0B\x86\x16\xB3\x34\x97\x38\x85\xD3\x80\x7A\x87\xFE\x84\xE9\x85\x8E\x0A\xE9\x19\xB7\x0C\x97\x2C\x85\xFF\x69\xAE\x7A\x05\x5D\x1E\x76\x83\x08\xE0\xAE\x5C\x33\x8A\x68\x84\x62\x7E\x4D\x7A\x5A\x85\x4C\x84\xE4\x08\xF4\x09\x9C\x13\x96\x27\x86\xAF\x82\x89\x84\xF1\x81\x00\x81\xB9\xE6\x52\xEB\x46\xC6\x63\xF0\x66\xB1\x85\xA7\x85\x29\x87\x9F\x86\xF7\x0C\xD6\x1A\xB9\x33\x83\x49\x89\xD5\x84\xA6\x83\x56\x86\x9B\x82\x57\xF5\x2C\x90\x4D\xFF\x71\x44\x81\x5A\x7D\x87\x87\x41\x66\xFB\x62\x14\xC6\x4D\xD5\x2E\x34\x92\x8A\x50\xD4\x80\x7B\x84\x3D\x7B\xA1\x86\x08\x0B\xE0\x16\x98\x2B\x97\x69\x8A\xAD\x84\x8B\x87\x0A\x82\xB0\x86\xD1\xE6\x34\x16\xB6\x17\x87\x45\x85\x4E\x6E\x6B\x55\xE9\x2D\xBD\x86\x3F\xB3\x7D\x1A\x93\x2E\x9D\x5A\x80\xD8\x87\x6B\x86", -"\xFA\x84\x74\x83\xE6\x0C\xB7\x15\xB9\x34\x8C\x9E\x74\x2B\x87\x9D\x6E\xD1\x84\x0B\x83\x85\x09\xE8\x03\x93\x2C\x8A\x5A\x8E\x1C\x7B\x7E\x86\x4F\x87\xB7\x45\x92\x0D\xAE\x17\x94\x2E\x88\x5F\x83\x5B\x87\xB2\x86\xC2\x84\xC2\x86\x0C\x0B\x86\x1B\xBE\xD2\x39\x31\x81\xC9\x83\xAA\x84\x5A\x87\x85\x86\xA3\xEB\x2D\x13\xB1\x23\x96\x6C\x85\xD4\x83\x7D\x84\x6C\x86\xA1\x85\xB2\x0D\x9E\xC2\x77\x11\x8A\x0F\x64\x56\x86\xB6\x84\x6A\x87\xB4\x86\x00\xF6\x6B\x1A\xAB\x25\x8D\x6B\x8B\x89\x81\x36\x84\x51\x83\x7F\x86\x49\x00\xD9\xD9\x73\x84\x68\x0A\x79\xCC\x87\xB6\x85\x55\x87\xE4\x86\x0D\x0D\xDF\xEB\x7B\x33\x9B\x5B\x81\x94\x81\x10\x82\xDF\x85\x2D\x84\x8C\x04\xBD\x0D\xA2\xD9\x29\xBF\x60\xAE\x2D\x6E\x86\xC9\x02\xAA\x86\x6C\xF6\x5A\xDE\x59\x37\x8D\x46\x8F\x93\x87\x19\x85\x77\x86\x03\x84\xD0\x0D\xC4\xD5\x06\x09\x97\x39\x36\xDC\x85\xEA\x45\x6A\x86\xF3\x85\xD5\xF1\x2C\x1B\x9E\x2A\x9C\x5E\x80\xAA\x86\x7B\x86\xA8\x85\x63\x84\x77\xA7\x1D\x17\xB9\x70\x66\x48\x8C\xAA\x75\xBE\x86\x37\x86\xE4\x86\x0C\x0D\x89\x12\x9A\x37\x8E\x46\x82\x54\x86\xB9\x84\x23\x85\xEF\x86\x8E\x08\x87\xE0\x4C\x6B\x60\x34\x80\x4E\x67\xB1\x84\x7A\x86\x2D\x7B\xA2\xF0\x62\x10\xA4\xC2\x6B\x48\x86\x41\x81\xA2\x87\xCA\x7B\x89\x86\xE3\x03\xBA\x09\xA0\x6B\x6A\xEC\x69\x79\x4E\xC0\x87\x47\x86\x04\x87\xB9\x0D\xD7\x1A\x8C\x25\x8C\x6E\x85\x92\x86\xA4\x87\xB1\x84\x94\x86\x37\x0C\xC4\x17\xB0\x2F\x86\xEF\x6D\x92\x85\xB6\x87\x69\x86\xFB\x86\x28\x0E\x82\xDF\x7A\x36\x97\x48\x84\x52\x87\x2F\x86\x49\x82\xD4\x85\x91\x09\x8F\xBE\x79\x24\x83\x02\x36\xE2\x87\xA5\x85\x8E\x87\xB6\x77\x15\xE1\x4D\x19\xA5\x2E\x97\x35\x8F\x98\x86\x2D\x85\xEA\x84\x2A\x6A\xB2\x06\xC8\x12\xB3\x30\x77\x71\x87\xE0\x80\xB7\x86\x8E\x86\x15\x87\xAE\x09\x8C\x1C\xB0\x26\x9E\x70\x8E\x09\x80\xC4\x86\x03\x83\x76\x82\x04\x09\xF7\xBD\x54\x25\x8E\xE5\x6A\xD7\x87\xC2\x87\x3E\x79\x2D\x7B\x54\x08\xC8\x10\x9A\x25\x97\x5C\x8E\xC0\x81\x73\x85\x7C\x87\x59\x84\xA4\x09\xDC\xEE\x51\x2C\x86\x54\x7B\x4F\x42\x14\x6C\x62\x84\x9B\x6F\x8E\x0D\xAA\xBB\x10\x36\x94\x9B\x57\xDF\x85\x7E\x84\x0C\x87\xFB\x85\xB1\x0B\xF9\x17\x87\x31\x87\x6A\x89\xC4\x85\x7F\x87\xC4\x7A\x63\x7B\x99\x02\xED\x00\xA3\xDB\x6F\x03\x88\xC1\x81\xCF\x85\xA8\x31\x3D\x87\xD1\xB6\x7D\x1C\xAF\x30\x87\x5F\x81\xC3\x81\x7D\x85\x6F\x86\xCC\x86\xBF\x0D\xE3\x16\xB1\x38\x83\x16\x8F\x72\x7C\x0D\x81\xA2\x6B\x0C\x6F\x2A\x0C\xF7\x1C\x9C\xB7\x78\x59\x8F\x41\x55\xC8\x84\x5F\x87\x23\x87\xB5\xE1\x3E\xEA\x7D\x2E\x96\x56\x8F\xBB\x80\x68\x85\xA6\x87\xB8\x85\x9B\x0D\xF7\x8E\x79\x30\x8A\x31\x87\x26\x4A\xEA\x6E\xC0\x83\x8E\x42\x65\x0E\xD6\x1B\xA9\x37\x9D\xAE\x7B\xDE\x86\x27\x84\x87\x86\x7F\x84\x0E\x0E\x9D\x11\x90\x38\x9F\x44\x84\x08\x84\x58\x80\xAA\x80\x88\x83\x6F\xF4\x29\x13\x93\x1C\x90\xCC\x7F\xE8\x86\xCC\x85\x71\x7B\x0C\x87\x87\x08\xA4\xE4\x4F\x34\x86\x41\x80\x9A\x87\x81\x87\x9B\x87\xCD\x85\xE1\x0D\xDE\x18\xA4\x0B\x90\x2A\x82\x72\x84\x51\x70\xBA\x80\xDE\x84\x2F\xC7\x3E\xC4\x31\x4D\x30\xA4\x72\xA5\x85\x1D\x04\x95\x85\x2C\x85\x37\x0A\x92\xB3\x2A\x90\x77\x50\x8B\xA3\x86\x77\x38\x97\x85\x4D\x6F\x11\x0A\xC6\xF7\x56\x08\x1F\x51\x0C\x87\x74\x76\x7D\x5C\x82\xDB\x7D\x46\x0A\xF0\x14\x83\xE5\x61\x50\x8A\xA4\x84\x3E\x85\x9D\x85\xCF\x83\x5D\x48\x68\x57\x5C\x4A\x71\xD6\x5C\xDB\x79\x94\x3D\x57\x80\x5F\x74\x5F\x01\xE8\xC8\x53\xE8\x7C\x53\x86\x21\x03\x2D\x81\xA9\x7E\x2C\x7D\x19\xFE\x6B\xD4\x6C\x6F\x64\xCA\x69\xEE\x2E\x92\x86\xB3\x87\x80\x79\x88\xF0\x1A\x1C\xBC\xC7\x6B\x73\x8A\x84\x80\x16\x84\x13\x84\x08\x86\x02\xD4\x15\x0B\x82\x0E\x94\xFF\x66\xF7\x7E\xCD\x70\xEC\x4B\x4A\x85\x00\x0B\xEB\xE9\x7C\x34\x98\xF5\x4F\xA3\x07\x92\x87\x89\x86\x2B\x87\x48\x0E\xC7\xC4\x5E\x72\x7B\x6D\x8D\xB6\x82\xD0\x87\xDB\x85\x57\x87\xB5\x0B\xE8\x19\xA2\x3C\x8E\x3A\x8F\xD5\x86\x9A\x85\x07\x84\x65\x85\xFF\xA5\x2D\x15\xA6\x35\x86\x08\x0E\xF2\x86\xC8\x84\xCC\x87\x54\x87\x0B\xF7\x15\x1B\xB5\x3C\x86\x62\x87\xF3\x84\xD0\x84\x4E\x87\x4D\x87\x6F\xD0\x60\xD7\x64\xF4\x7C\x55\x85\xD0\x86\x57\x84\x51\x6E\x8B\x87\xBA\x0E\x98\x1C\xB5\xD8\x70\x49\x8C\x8F\x87\xD7\x84\x50\x85\x86\x84\x42\x09\xDE\x1C\x83\xFE\x61\x68\x8A\x5B\x84\x59\x87\x0F\x85\xDE\x82\x07\x8E\x37\x03\xB6\x38\x89\x08\x05\xF4\x87\xD4\x87\xD1\x87\x54\x7B\x48\xE2\x3C\x1C\xAA\x2B\x6D\x4B\x8A\x64\x83\x51\x82\x18\x6E\x62\x67", -"\x64\xDC\x1C\x1A\xB3\x95\x2D\x7B\x81\xD9\x80\xD5\x84\xDC\x87\x99\x87\x72\x0F\xCA\xDE\x65\x14\x83\x12\x80\xB3\x80\xC8\x81\xFD\x80\xA0\x4C\xEC\x0A\xD7\x30\x6D\x3C\x97\x78\x84\x72\x78\x0E\x7A\xC6\x87\x42\x79\x1C\x0F\xD7\x10\x9E\x3C\x99\x42\x83\xEC\x82\x91\x6C\xA9\x85\x78\x65\x1B\x08\xA5\x1E\xB9\xB0\x66\x0B\x3B\xC3\x70\x12\x71\xC0\x84\x52\x87\x46\xA4\x0B\x1F\x99\x3D\x87\x73\x80\xED\x80\x18\x84\xC1\x78\x61\x84\x56\x04\xC1\x1D\x80\x24\x95\x7C\x82\x90\x87\xB9\x7B\x87\x6C\xE0\x7F\x62\x0D\xE9\x03\xA4\x35\x9D\x28\x45\xF1\x84\xED\x84\xE3\x86\x6A\x7B\x90\xF1\x26\x1F\x88\x22\x88\x7D\x8A\x88\x82\xF5\x86\x43\x84\xD6\x87\x10\x09\x83\x0C\xB3\xCE\x65\x9D\x56\x97\x86\x76\x78\xAE\x87\xD2\x2D\x7C\x0F\xFC\x1C\xBE\x3D\x9A\x72\x7B\x24\x7D\x2F\x84\x46\x85\xC1\x87\x1A\x09\x85\x1F\x9C\x24\x86\x88\x7A\x44\x87\x77\x7A\xBF\x82\x79\x77\xA3\x0D\x86\xD9\x47\x3F\x8A\xED\x29\xFC\x81\xD2\x87\xF2\x87\x8A\x77\x01\xDB\x0D\x13\x8F\x33\x98\x35\x81\xCD\x82\xD7\x80\x54\x85\xBB\x6B\x39\xDA\x49\xE3\x7A\x30\x8B\x8E\x7F\x4F\x84\x17\x86\xDE\x86\x7B\x32\xDD\x0F\xAB\x7B\x52\x3A\x82\x62\x8F\xE7\x84\x88\x85\xA0\x86\xA6\x87\xB3\x0B\xB8\x1E\xAD\x2F\x90\x7A\x8A\xD2\x86\xDC\x6E\x1B\x83\xF7\x87\x4B\x65\x71\x1F\xBD\x15\x73\x7F\x84\xC5\x83\x63\x86\x15\x87\x35\x83\xF8\x0F\xB4\x18\x80\x18\x96\x61\x81\xDC\x84\xB5\x39\x35\x85\x16\x86\x58\x0F\xC7\x1B\xAF\x3D\x8C\x7E\x8A\x6A\x7E\xF9\x85\x8F\x86\x68\x86\x80\x09\xD2\x19\x82\x26\x84\x60\x6E\x64\x85\xF6\x84\xD1\x87\xDB\x87\x95\xF6\x74\x1F\x94\x3A\x80\x74\x82\xC3\x86\xE6\x85\xFE\x86\xA7\x87\x85\x0D\x80\x1C\x88\x9E\x45\x5E\x8E\x7A\x51\x86\x67\xBF\x72\xF2\x85\x11\x10\xB8\x1C\x93\x40\x80\x7F\x89\x12\x7A\xFC\x86\x5F\x84\x0C\x88\x3F\x0E\x9A\x20\x86\xF4\x53\x6F\x89\x76\x32\xF4\x86\x04\x89\xEB\x86\x09\x0E\xDC\x1E\x8E\x34\x9C\x7D\x80\xD1\x83\xF2\x86\x44\x86\xE0\x87\x14\x0D\x8D\x00\x9E\x00\x9F\x5C\x83\x64\x7E\xB4\x86\xED\x87\xD1\x87\xCF\x0E\xDB\x1E\xA9\x39\x91\x49\x88\x00\x88\x8B\x87\xC7\x84\x2D\x86\x36\x09\x8D\x20\x88\xBF\x72\x48\x83\x71\x74\xA5\x3C\xF2\x86\x10\x88\x3C\xF7\x78\x1B\xBE\xDC\x7A\x6F\x86\xB9\x85\xE3\x85\x3F\x87\x8F\x87\xD7\x0E\x91\x18\x91\x24\x8F\x01\x8C\x68\x80\xA1\x87\x13\x89\x1F\x88\xBB\x0E\xF8\x19\xBD\x3A\x9A\x67\x8A\xE5\x84\x9F\x85\x9B\x86\x7F\x86\xDF\x0B\xA3\x13\xA0\x39\x82\x70\x87\x20\x7A\xC3\x31\x8D\x86\x00\x88\x3E\x10\xB2\x20\x80\x41\x89\x71\x8A\xDC\x80\xAB\x87\x76\x86\xAD\x86\xE6\x08\xDD\x09\xA3\xFE\x7F\x26\x8F\xD4\x85\xD1\x79\x18\x6D\xB5\x87\x1F\x10\xD0\x20\x98\x3C\x83\x94\x7F\xF8\x85\x0A\x85\xE4\x87\x61\x84\x5C\x0E\x98\x08\xA2\x3D\x8C\x32\x8B\x82\x83\x09\x80\xCC\x63\xEA\x70\x2C\x0F\xB1\x20\x95\x39\x83\x84\x87\xE5\x85\x10\x8B\x8A\x87\x43\x88\x6E\x0D\x89\x21\x9C\x35\x83\x61\x8C\xFF\x83\x56\x64\x0B\x88\xF6\x3C\xF2\x0B\x84\xAE\x42\x40\x84\x3D\x64\x00\x8F\x70\x84\xD4\x85\x03\x88\x1D\x0B\xD6\x20\xBA\x2F\x80\x59\x8C\xBF\x81\xD6\x86\xA9\x80\x44\x87\x14\x0C\xCC\x0D\x8E\x30\x0E\x36\x8C\x62\x81\xC1\x68\xE8\x87\x66\x52\x81\x10\xA3\x21\xB1\x41\x8A\x6B\x83\x07\x8C\xAD\x84\x2A\x89\xE6\x86\x99\x10\xA8\x08\xA9\x41\x8E\x42\x8B\x30\x78\x5C\x7C\xC7\x71\x13\x86\xD9\xD1\x2A\x05\xB5\x25\x96\x6B\x8B\x1F\x6F\xA1\x83\x18\x64\x51\x88\x2F\x0F\xA4\x21\xB1\x3C\x8C\x4C\x89\x59\x7E\x65\x87\xE9\x84\x1D\x88\x41\x0E\xB9\xE8\x73\x3A\x8E\x37\x87\x2B\x82\xEE\x72\xC9\x85\x7C\x79\xC7\x10\xA4\x45\x49\x43\x81\x87\x8B\x0C\x88\xBB\x86\x82\x86\xF6\x86\x5E\x0F\xEE\x1B\xA0\x3D\x9E\x6E\x80\xF2\x83\x1A\x85\xB1\x87\x4E\x87\x89\x0E\xD8\x1F\x96\x26\x93\x44\x8B\x71\x7C\xCC\x87\x17\x88\x49\x88\x8D\x0F\xFA\xE3\x55\x42\x8A\x73\x8C\xC0\x84\xCD\x85\xB5\x86\x37\x87\x79\x10\xB4\x13\xB1\x39\x8B\x87\x87\xFD\x83\x9E\x84\x81\x45\x64\x87\x50\x0C\xCB\x1D\xAF\xD8\x71\x84\x80\x07\x8A\xEB\x85\x9B\x7A\x21\x88\x0B\x0E\xED\x1B\x8D\x38\x91\x86\x87\x4B\x85\x1F\x8B\x57\x84\xC0\x58\x33\x0E\xA4\xAC\x77\x26\x8B\xB4\x6B\x41\x72\x57\x64\x19\x86\xA8\x7B\xC2\x79\x1C\xA5\x45\x02\x06\x2A\x7B\x6F\x39\x94\x3D\x85\x4A\x1F\x73\xC4\x93\x74\xD0\x55\x4E\x70\x91\x73\x1C\x07\x94\x87\x07\x25\x1A\x53\xF6\xE7\x7B\x71\x6F\x34\x5E\x15\x07\x96\x13\x6D\x68\xDC\x49\x1D\x07\x83\x00\x78\xC9\x40\xC1\x3D\x30\x50\x04\x38\x97\x74\x34\x02\x9A\x2D\x21\x10\x35\x82\x6C\xC4\x2B\x87\x21\xCA\x3A\x59\x69\xBE\x80\xA8\x17\x85\xC1\x58\x22", -"\xA3\x6E\x7E\x89\x84\x63\x53\x34\x61\xE4\x1E\x7C\x72\x51\x41\x66\x82\x61\x45\x92\xC2\x67\x17\x63\xE8\x00\x63\x54\xAB\x68\x6B\xD1\x73\xD5\x61\xF2\x2B\x04\x08\x4F\x77\x13\x01\xF1\x72\xB7\x88\xD4\xB8\x65\x22\x92\x04\x76\xB8\x79\xFB\x75\x31\x03\x8E\x06\x42\x00\xF8\xE4\x19\x01\x05\x9F\x7A\x8B\x84\x8D\x5D\x34\x85\x69\x39\x56\x26\xA1\x7C\x02\x01\x38\x93\x78\x04\x05\x7C\x74\x30\x89\x5C\x89\xCC\x35\xF4\x2A\x61\xFB\x27\x04\x01\x04\x08\x4F\x77\x12\x01\xF1\x72\xC7\x88\x87\x11\xBE\xDC\x09\x46\x81\x0C\x6D\x9B\x58\x9F\x72\x25\x01\xE2\x73\x97\x11\x91\x23\x84\x2E\x88\x2F\x07\x16\x8A\x31\x60\x65\x61\xBB\x55\xC5\xE7\x15\x01\x31\xCD\x53\x10\x63\x42\x23\xB3\x12\x62\x89\x84\x00\x56\x11\xDE\x02\x94\x02\x05\x3E\x7B\x1A\x8D\x2F\x88\x87\x85\x2C\x03\x9D\xCE\x19\x78\x7B\x38\x1A\x03\x08\x4F\x73\x12\x01\xF1\x72\xDB\x88\x9A\x11\x8C\xD2\x43\xA5\x5D\x8C\x82\x1B\x88\xA8\x10\x3E\x72\x49\x00\xC5\xE7\x40\x23\xAE\x46\x8F\xF9\x72\x82\x07\x26\x80\x65\x89\x9F\x66\xFC\xE7\x45\xCF\x5E\xDC\x73\x6C\x77\x94\x0C\xE3\x48\x07\x75\x50\x3E\x80\x00\x78\xC9\x5D\xC5\x7D\x30\x54\x31\x78\x3B\x5B\x8C\x02\xAE\x88\x37\x06\x43\x77\x7B\x38\x0D\x04\x07\x83\x75\xF8\x73\x07\x78\x0F\x79\x4F\x11\x99\x65\x6B\x05\x34\x47\x71\xA9\x53\xC7\x05\x22\x00\x7C\x72\x41\xEC\x1D\x4C\x47\xB7\x7B\x8D\x57\x1D\x89\x53\x58\x50\x89\x83\x47\xBA\xAA\x3B\x1C\x36\x01\x18\x27\x75\x03\x75\xC3\x51\x96\x70\x78\x5D\xED\x11\xF1\xD1\x6F\x47\x8C\x53\x65\x0A\x81\x71\x07\x8E\x07\x3F\x00\xF8\xE4\x50\x68\x1D\x98\x5E\xEC\x6D\xCA\x28\x3B\x8B\x68\x07\x7D\x64\x3B\x0E\x0C\x01\x38\x93\x69\xCD\x6D\x61\x57\x73\x6C\x8E\x6E\x16\x03\x06\x12\xA3\x15\x2B\xD3\x2F\x32\x7B\xE3\x02\x11\x00\x3E\x72\xEA\x6B\x1D\xA6\x5B\xB1\x60\x47\x83\x31\x06\x77\x86\x38\x00\xDE\x82\x01\x74\xE2\xAA\x08\x51\x78\x93\x70\xA3\x6D\x61\x51\xC8\x68\x7E\x89\x5C\x01\x11\x12\xDD\x18\x0E\xCE\x3D\xE5\x3B\xE3\x03\x24\x15\x09\x74\x14\x68\x1D\xA6\x62\xA3\x5F\xF1\x53\x31\x02\x17\x8C\x37\x89\x29\x73\xA9\x75\xF5\xE4\x3B\x1C\x38\x8F\x77\xCF\x5C\xB5\x65\xC3\x50\x50\x67\xF9\x57\xDF\x02\x29\x24\xBB\x47\x8A\xE6\x3B\xCD\x3B\xC7\x07\x21\x00\x7C\x72\x7C\xC8\x1D\x4C\x4B\x2A\x67\x91\x8D\x13\x8E\x3D\x8B\x27\x36\x16\x89\x70\x7D\x78\xC9\x4D\x16\x7D\x30\x5D\x79\x63\x46\x88\x8A\x88\x27\x89\x8E\x73\x21\x8A\x61\xF2\x3D\x03\x08\x4F\x72\x6E\x5D\x87\x52\xAC\x5E\x56\x12\xC3\x03\x35\x48\x99\x0B\x67\x1C\x8E\x20\x00\x5B\x89\xFB\x5C\x90\xB6\x1D\x4C\x58\x99\x76\x8E\x89\x2B\x03\x4C\x8B\x4A\x60\x5E\x6D\x95\x41\x36\x22\xBC\x38\x53\x7D\x19\x19\x62\xAE\x58\x4F\x88\xA5\x00\x42\x12\x9F\xD9\x2F\xB8\x73\x0D\x85\xE9\x77\x5E\x5B\xC3\x18\xB0\x14\xC8\xFE\x47\x22\xBE\x0D\x3C\x71\x4A\xC9\x4D\x4E\x89\x42\x00\x1A\x59\x0F\x12\xF9\x23\xBD\xD9\x72\x90\x8F\x22\x3B\x4F\x89\xF1\x75\x81\x19\x3A\xD3\x77\x54\x7B\x38\x17\x89\x84\xCC\x4F\xB0\x56\xAF\x68\x08\x85\xE5\x0D\xCA\xC6\x39\x49\x8E\x9C\x3E\x28\x8C\x9F\x7A\x13\x56\x29\x02\x91\x12\xEF\x57\x4E\x3A\x77\xCF\x5A\x0D\x55\xC3\x50\xCA\x51\x87\x5E\x8A\x12\xD2\x0D\x86\x12\x03\x8F\x85\x26\x8B\x20\x00\x1E\x00\x7C\x72\x46\x9D\x1D\x4C\x6B\x7C\x4C\x8F\x87\x25\x8E\xC7\x35\xF2\x73\xDE\x88\x09\x01\x34\x23\xB7\xE7\x45\xCA\x4D\x61\x56\x93\x4C\x93\x88\xA5\x00\x6E\x12\xEB\xFA\x2D\x4A\x8B\x53\x08\x4F\x71\xA4\x39\x87\x52\x4B\x49\x89\x12\xB5\x25\x8B\x4A\x8A\x91\x8B\x9B\x83\x24\x70\xDD\x55\x93\x00\x7C\x00\x78\xC9\x6E\x2A\x5D\x30\x51\xE1\x44\x56\x89\x93\x89\xF0\x31\x40\x16\x27\x23\x86\x04\x1B\x03\x08\x4F\x73\xD3\x41\x87\x52\xF1\x44\x40\x12\xE1\x23\x98\x4B\x89\xD7\x74\xA2\x6E\xBD\x3F\x2B\x60\x0F\x3F\x49\x85\x4C\x23\x81\x49\x98\x92\x88\x20\x8B\xD4\x52\x59\x72\x0F\x3F\xC1\x7B\x61\x25\x9C\x48\x94\x06\x33\x73\x0A\x5B\x8A\xAB\x88\x7C\x72\xB3\x08\x1D\x4C\x6B\x0F\x9F\x95\x80\x12\x03\xBD\x39\x36\x10\x7B\x89\x02\x01\x77\x00\x38\x93\x64\xD9\x2B\xF5\x31\xD4\x6E\xBA\x88\x68\x02\x0B\xE4\x1F\xCB\x3B\x38\x15\x03\x08\x4F\x76\xC7\x05\x87\x52\xA1\x5C\x05\x12\xB4\x25\x7F\x76\x21\x4E\x8B\x6B\x50\xF3\x6D\x2B\x86\x88\x80\x2D\x11\xF8\x02\x30\xBD\x51\x4F\x29\xF7\x69\x74\x06\x85\x24\x67\x25\x4B\xE6\x23\xC7\x00\x28\x82\x5D\x02\xCB\x83\x43\x85\x44\x80\x77\x4E\x1C\x13\xA2\x9F\x5E\x4C\x97\x50\x21\x9F\x23\x16\x05\x2D\x87\xD1\x31\xB7\x0C\xCA\xC6\x39\x32\x98\x27\x75\xCC\x85\xB7\x79\x47\x81\xCE\x81\x0D\xA3\x1D\x26\x82\x2B\x1F\x98", -"\x81\x5A\x01\x64\x8B\x5F\x2F\x59\x04\x35\x13\xC4\xE2\x00\x33\x98\x84\x40\x35\x80\x87\x73\xCA\x86\xA9\x86\xC4\x0C\xDD\x08\x78\xC2\x78\x72\x77\x64\x6C\x06\x89\xF3\x86\x1B\x88\xCF\x0F\xBE\x1C\x84\x3E\x80\x72\x8C\xB6\x5C\x9A\x85\xDE\x6F\x06\x84\x71\xE6\x44\xB2\x4D\xAB\x21\x9A\x86\xC3\x4B\x69\x8B\xC4\x77\xA6\x89\x97\xF5\x61\x1F\xA5\x43\x83\x7F\x8D\xE4\x85\xEE\x87\x24\x6A\x0D\x84\x3D\x0F\xFC\x15\x8C\xB9\x6F\x67\x87\x5D\x82\x21\x79\x67\x82\xB3\x4E\x49\x13\xA2\x0B\x5E\x4D\x8C\x8A\x7B\x57\x79\x10\x71\x5F\x7B\x90\x88\xF9\x10\xA3\x22\x86\x41\x9F\x70\x88\x04\x89\xC4\x84\x17\x84\x8E\x78\xAA\x05\xD4\x1E\x9B\x3F\x66\x42\x6D\x51\x7E\xF6\x76\x41\x00\xAE\x89\x80\x9F\x73\x26\xA2\xC6\x60\x9B\x82\x61\x7A\x6C\x88\x85\x7A\x73\x88\x35\x05\xDF\x05\xB7\x14\x82\x9D\x5F\x98\x6E\xEC\x87\xA5\x76\xB4\x87\x02\x8A\x6A\x1E\x92\x31\x91\x9B\x83\x91\x42\x71\x88\x6F\x79\xBA\x89\x6E\xEF\x77\x26\xB8\x43\x93\x76\x89\x72\x7C\x24\x8B\x19\x85\x88\x88\x00\x0D\x89\x8B\x50\x21\x91\x67\x7A\x00\x0A\x69\x8A\xDA\x77\x53\x7B\x45\xE2\x63\x21\xBB\x38\x96\x80\x83\xF7\x84\x92\x81\xF4\x81\x3A\x82\x8A\xB6\x3B\x1A\x9A\x33\x9F\x2C\x7F\xA3\x00\x71\x8B\x75\x50\xCF\x89\xA3\xF2\x20\x27\x89\x39\x82\x9D\x8E\xEB\x84\x74\x8A\x09\x82\xD3\x89\xC5\x08\xFF\x1B\xA9\x21\x8A\x6A\x8E\x77\x83\xCC\x75\x53\x86\xF2\x82\x6E\xF1\x1F\x1F\x91\x35\x9B\x88\x83\x10\x06\x77\x8A\x7E\x56\xE0\x89\x62\xF5\x42\x27\xB2\x3C\x83\x04\x74\xF3\x86\x77\x86\x60\x86\x17\x87\x99\x0D\xC8\x15\x86\x3A\x84\x79\x8C\x42\x82\x30\x7A\x0B\x82\x5A\x87\x60\x04\xBC\xCD\x5B\x3F\x81\x15\x36\x3D\x8F\x19\x58\xF6\x88\xBD\x7A\x8C\x13\xF6\x26\x93\xD8\x65\xE8\x6C\xE4\x87\x65\x84\xD5\x88\xC3\x87\x45\x09\x89\xB4\x65\x2C\x8C\x6C\x87\xB2\x81\x07\x6D\xFB\x88\xED\x58\xEF\x13\xB5\x21\x89\x30\x89\x97\x7D\x99\x82\x71\x87\xA7\x84\xC6\x85\xFE\x0D\x8E\x17\x9A\x41\x8E\x58\x85\xFD\x80\xB4\x85\xC7\x51\xDC\x7A\x8B\x0D\xB6\x16\x8D\x42\x79\x62\x78\x63\x37\x7F\x8A\x23\x5F\x00\x8A\xDF\x0F\xE1\x26\xB5\x40\x83\x9B\x87\x03\x8C\xFC\x85\x06\x88\xF3\x87\x1B\x10\xE8\x1F\xB2\x83\x6A\x7F\x88\x3E\x8E\x8A\x76\xA8\x87\xCC\x6B\x4B\x0B\xA5\x1C\x9C\x4E\x81\x8B\x48\x41\x8B\x06\x8A\x06\x8B\xA7\x89\x1C\x14\xD1\x26\xB8\x40\x93\x9A\x88\x0E\x89\x66\x87\xD5\x64\xDA\x86\x9B\x13\x89\x02\x16\x50\x98\x4D\x6D\x42\x8A\x1C\x88\xD2\x86\x9E\x85\xF1\x0A\xE4\x15\xAE\x36\x80\x5E\x8C\x0B\x88\xA9\x86\x2F\x88\x67\x4A\xC3\x0D\xC8\x19\x95\x4F\x8E\x9D\x8F\xF7\x70\x76\x88\xDB\x77\x1F\x8A\xCC\x0B\x95\x1D\xAD\x36\x97\x74\x8F\xDA\x80\x05\x89\x6C\x86\x15\x88\x56\xC9\x6A\xE7\x46\x4E\x8B\xA2\x82\x37\x8F\x75\x89\x41\x63\x24\x79\x14\x10\xF1\x1E\xB4\x4E\x82\x7C\x82\x35\x89\xFA\x87\xFD\x89\xE9\x87\xE9\xC7\x1E\x0E\x93\xDD\x23\x5C\x8E\x05\x8A\xB5\x2F\x0E\x8A\x4E\x66\x3D\x14\xF5\x21\x81\x41\x93\x82\x8D\xF5\x86\x78\x89\x19\x84\xE4\x89\xB2\x09\xA8\x27\xA1\xAA\x30\x5C\x82\xBF\x67\x8D\x89\x36\x67\x38\x8A\x1E\x11\xEA\x1B\xB7\x43\x85\x9E\x84\x04\x8C\xDA\x85\xF7\x84\x6B\x87\x7A\x14\xAA\x10\xAA\x23\x81\x73\x8D\x07\x88\xD9\x71\x94\x80\x37\x88\x87\x13\xCC\x28\xA5\xC4\x7F\xA2\x88\x6A\x79\x8C\x88\xE0\x87\x31\x8A\xFE\x05\xD9\x18\x8B\x40\x9B\x62\x88\x45\x8E\xCF\x80\x2C\x82\x0A\x87\x43\x0F\xDC\x28\x9D\x4E\x9E\xA2\x85\x59\x66\xCF\x87\x08\x88\xFB\x87\x25\x10\x89\x20\xB6\x34\x96\xA2\x80\xDC\x85\x93\x8B\x75\x6A\x36\x88\x1F\x09\x84\xAE\x7E\x51\x86\x56\x60\x48\x8C\xF4\x86\x14\x89\x85\x88\x54\x10\xB9\x21\x8B\x2E\x9A\xA4\x8D\xB8\x81\xC0\x83\x02\x8A\xA3\x7B\x29\x11\x94\x01\xBF\x41\x8A\xA1\x8A\x43\x8A\x92\x8B\x90\x70\x27\x8A\x81\xEF\x32\x27\x98\x39\x9D\x9E\x8C\xEA\x87\x7B\x89\x08\x87\x93\x86\x5D\x0D\xE3\x27\x99\x07\x86\x35\x8B\xB0\x6C\x98\x89\x24\x8B\x2E\x8A\x4D\x14\x94\x29\xB1\x4E\x90\xA2\x82\xD4\x82\x7B\x86\x68\x82\x2A\x8A\x44\x14\xD8\x20\x82\x2F\x8D\x85\x8E\x72\x63\x50\x80\x28\x88\xA4\x89\xC5\x14\xD8\x29\x93\x52\x85\xA5\x83\xE9\x81\xBF\x86\x14\x8B\xFD\x86\x0D\x0C\x8F\x22\xB8\x41\x8A\x9E\x8A\x07\x88\x25\x88\x23\x8A\x17\x79\x7E\xEE\x37\xF7\x69\x22\x83\xB5\x7B\x42\x88\x8E\x49\x2D\x8B\x28\x88\x1F\x11\xF4\x28\x83\x41\x97\x84\x89\xFA\x80\x8F\x8B\x73\x87\x44\x8A\x70\x0E\xE0\x12\xA7\x0A\x98\x86\x83\x7F\x52\x40\x71\x43\x83\x60\x63\x05\x0C\xF2\xF1\x76\x93\x33\xA5\x8B\x69\x67\x9F\x8B\x24\x88\x34\x87\xB8\x14\xF5\x28\x85\x52\x85\x9D\x8B\x37\x8D\xCB", -"\x85\xDF\x89\x2F\x87\x0D\x07\xF2\x1C\x8D\x31\x95\x60\x8B\xE8\x87\x82\x87\x80\x6E\x6F\x88\x23\xEC\x7D\x29\x9D\x4D\x84\xA5\x8D\x69\x63\x80\x88\xE2\x85\x02\x8A\x57\x0C\xBB\x29\x97\x41\x9B\xA4\x89\x05\x8E\x95\x89\x3E\x82\x80\x88\xC1\x10\xBC\x95\x7E\xDB\x61\x75\x85\x0C\x89\x6A\x80\x05\x8B\xB9\x32\x14\x15\x8C\x98\x56\x54\x89\x88\x82\x30\x7A\xF7\x86\xB4\x87\x8D\x8A\xC7\x13\x9D\x2A\x9A\x42\x9F\xA8\x83\xF6\x82\x82\x86\x09\x86\x30\x80\x87\x00\xBC\x18\x81\x21\x83\xAD\x71\x8F\x6F\xA7\x8B\x44\x8A\x63\x8A\x47\xF2\x5A\x29\x8F\x51\x9F\x7B\x8C\x3D\x89\xF0\x85\x26\x8B\x99\x8A\xBD\x14\x8C\x20\xB6\x54\x9C\x74\x83\x61\x86\xD3\x86\x45\x88\x15\x54\xF0\x06\x98\x39\x51\x31\x83\xB8\x77\x4D\x8B\x94\x89\x36\x8A\x76\x8A\x22\x10\xEE\x29\xA4\x40\x96\x74\x86\x02\x8A\x01\x89\x58\x8A\x4E\x8A\xE0\x0B\xFB\x20\x81\x2E\x99\x87\x5B\x12\x8D\x58\x49\xB7\x87\x24\x69\x83\xE7\x65\x05\xAB\x32\x8B\x99\x30\x09\x04\xAA\x82\x4D\x50\xCA\x09\x64\x05\xAF\x52\x54\x4E\x02\x54\x71\x09\x00\x9F\x70\x23\x04\x88\x89\x57\x0A\x78\xD9\x2E\xA4\x4E\x99\x04\x39\x0B\x16\x05\xF3\x43\x48\x86\x8A\x15\xFD\x9F\x25\x45\x92\x09\x1C\x11\x06\xAC\x88\x45\x5C\x9E\x74\x63\xDF\x03\x9F\x60\x56\x81\x08\x06\x37\x3E\x3D\x87\x25\x55\x8E\x42\x3B\xE9\x73\x0A\x8A\x04\x70\x3C\x80\x29\x75\xC1\x04\x0E\x28\xDC\x88\x88\xCF\x12\x51\x42\x98\x43\x42\x59\x9C\x18\x39\x4F\xE0\x88\xB1\x74\xAA\x15\x82\x02\x2D\x46\x92\x24\x7E\xDB\x75\xBA\x3B\xE6\x24\x3E\x27\xB7\x15\x8D\x02\xB8\x40\x22\x8D\x81\x2D\x6D\xE9\x71\x16\x51\xD7\x25\x92\x25\x41\x2B\xBE\xA6\x6E\xAD\x87\x12\x01\x33\x89\x6C\x8B\xE1\x5E\x5F\xC4\x08\x77\x63\xAF\x78\xAD\x87\x5A\x8C\xF0\x53\x62\x61\xB4\x76\xFA\x4B\x07\xE5\x26\x62\x1F\x29\x4D\xC0\x04\xCA\x24\x0C\x71\xD1\x8A\xFB\x14\xFA\xCC\x68\x36\x7F\x58\x39\x5D\x8D\xA1\x34\x50\x0E\xC2\x0B\xDC\x15\xE2\x09\x1E\x57\x8C\x2D\x89\xEC\x79\x12\x55\x41\x5C\xB4\x39\x97\x0B\x19\x44\x31\x3F\x1F\x75\x21\xC2\x22\x73\x05\xF0\x7E\x37\x26\xDC\x10\x9F\x7B\x6F\x1C\x67\xBF\x30\x19\x8B\x11\x54\x78\x8A\x01\x53\xD7\x15\x93\xDB\x4F\x81\x0C\x15\x0D\xC0\x00\x92\x24\x2A\x26\xCF\x05\xF7\x15\xBC\x9D\x00\xDC\x68\x7C\x67\x7E\x3E\x30\x8A\x72\x5B\xDC\x8A\xBA\xCE\x03\xD3\x7F\x57\x95\x4B\x78\xB8\x6B\xC0\x8A\x4D\x52\xDC\x0B\xF4\x15\xD2\x9D\x14\x2E\x09\xB0\x8F\xEF\x21\xB5\x76\x7F\x8A\x08\x8B\x00\x00\x0E\x2C\x8E\x29\x92\xAD\x84\x61\x8E\x26\x52\x85\x8B\x9E\x00\x05\x16\xEE\x9D\x23\xF0\x1B\xB0\x81\xFB\x84\x6F\x06\x82\x8B\xE2\x87\x86\xC3\x11\x72\x58\x7E\x7A\x04\x06\x58\x88\x51\x68\x8E\x5B\xC1\x2C\x26\x0B\x47\xD8\x14\x45\x81\x21\x77\xF2\x31\xE2\x04\x90\x02\x3E\x67\x48\x07\x4D\xAB\x39\x58\x83\x13\x3B\x0E\x2B\x16\x07\xFE\x80\x65\x3E\xEB\x50\x41\x25\xAF\xA5\x41\x88\x80\x94\x49\x66\x04\x5F\x89\x35\x86\xE4\xE4\x34\x2C\x85\x57\x98\xE9\x57\x63\x8A\xC8\x8A\x31\x72\x22\x8B\xBD\x55\x02\xD5\x7D\x58\x9F\xBE\x40\x64\x89\x51\x68\x8E\x8B\x2B\x8B\x53\x11\xBD\xAB\x06\x59\x8E\x7F\x39\x64\x8D\x1A\x74\x5E\x61\x37\x89\xC5\x02\x94\x26\x8F\xC3\x65\xD7\x25\x5C\x03\x13\x00\x6B\x8A\xEA\x8A\xCA\xFE\x43\xA0\x6F\x59\x9D\x5E\x58\x8B\x57\x24\x02\x04\x73\x91\x3A\xA5\x5B\x3B\x24\x88\xF3\x6D\x20\x72\xA0\x77\x6E\x7B\x26\x74\xF2\x2C\xCE\x59\x1A\xD1\x52\xBB\x1A\xC3\x13\x5E\x8D\xB1\x01\xD1\x1F\xD5\x66\x15\x38\x2D\x9B\x7C\x8F\x64\xB4\x8D\x8C\x50\xD0\x2A\xE7\x04\xCA\x66\xA4\xCD\x52\x51\x4E\x54\x35\x46\x5E\x24\x6A\xCF\x88\x22\x7E\x84\x7E\x70\x16\x95\x1C\x31\x2C\x12\x55\x58\x53\x70\xBC\x8A\xA7\x54\x37\x86\xE6\xA9\x44\x9A\x06\x45\x96\xA6\x49\x69\x8D\x14\x57\x49\x01\xCF\x69\x54\x01\xD4\x2C\xB1\x26\x19\xB1\x5D\xD7\x23\x6D\x6B\x93\x72\x10\x8B\x70\x11\x9D\x2D\x87\xA2\x49\x08\x00\x0A\x03\xCE\x8A\xBD\x52\xF0\x8A\x84\xAA\x72\x0A\x8C\x57\x89\x08\x03\x16\x8B\xC4\x8B\x7B\x2C\x07\x72\xE0\x15\xA3\x01\x36\x5A\x8A\xB3\x82\x75\x78\x07\x2B\x65\x8B\x8A\x89\x0D\x0E\x45\x32\x64\x02\x03\xB6\x85\x84\x78\x2F\x83\xD1\x88\xEA\x89\x2E\xCE\x2D\xE6\x7A\xDC\x76\x63\x71\x06\x8E\x94\x8A\x5C\x8A\x54\x8A\x74\x15\xAA\x29\x86\x35\x85\xA2\x85\xE8\x82\xE7\x84\xBE\x84\xB7\x7A\x9C\x0D\xEC\x19\xA8\x2A\x92\xF3\x68\x58\x86\x52\x86\x62\x82\x76\x7A\xA5\x5B\x42\x23\xA3\xCB\x77\x93\x87\x1F\x7D\xC7\x76\x1C\x8A\x42\x88\xCD\x10\xCB\x1B\x8F\x43\x8D\x71\x8F\x4C\x8F\xC5\x85\x34\x8A\x6F\x8B\xA3\xF8\x42\x07\x9B\x1D\x89\x9B\x87\xAA\x83\x52\x85\xBD\x64\xB6", -"\x89\x04\xF5\x58\x07\xAF\x4D\x8B\xB0\x7F\xDE\x62\xDA\x88\x49\x79\x63\x8A\x5A\x15\xC9\x29\x9C\x53\x9C\x5D\x8A\xF4\x86\x7B\x8B\x10\x8A\x57\x87\xAC\x14\x9A\x1D\xBF\x52\x83\x0D\x8C\x82\x85\x23\x79\x5E\x6D\x5E\x85\xEA\x03\xB9\xB0\x6A\x5B\x8E\x88\x77\x70\x89\xAB\x88\x5C\x8B\x02\x88\x43\x0C\xB8\x21\x92\x2D\x9A\x85\x83\xE8\x84\xDB\x8B\xD3\x87\x89\x8B\x82\x02\x95\x27\xB4\x06\x94\xFC\x74\x13\x7B\x08\x85\x5D\x63\x8D\x8B\x23\xF1\x7E\xE5\x40\xCA\x63\xE9\x68\xFB\x85\x41\x79\xB4\x87\x42\x7B\x76\x14\x8C\x12\xBE\x3E\x81\x7B\x8C\x54\x8C\x13\x88\xCD\x58\xBC\x87\x9E\xE6\x04\xAE\x70\x5C\x8A\x8A\x7E\x6E\x78\x60\x78\x51\x8B\x8C\x87\x37\x17\xBE\xED\x79\x5C\x9D\x70\x8A\x54\x8A\x1A\x88\x42\x8A\x6C\x87\x9D\x10\xEB\x15\x9D\xC3\x61\x15\x33\x74\x8E\x2B\x79\x96\x7A\x5B\x8A\x01\x15\x99\x2A\x83\x54\x8D\x88\x86\x06\x8F\x0E\x88\x1A\x89\xA7\x8B\x6A\xE6\x68\x26\xA4\x4F\x9D\x20\x89\xED\x77\x0D\x87\xB6\x76\x0A\x59\x55\x17\xF4\xE2\x57\x5D\x80\xA8\x82\x48\x88\x24\x8B\xE8\x88\xA4\x8A\x77\x14\xCD\x2E\xA5\x44\x93\x86\x8E\x0F\x8E\xF5\x85\xF9\x89\xC3\x7A\xE7\x13\xB8\x11\xB0\x10\x87\xA1\x82\x88\x81\xBC\x88\xB3\x87\x2F\x67\x06\x17\xB2\x2E\xB9\xC3\x74\xB9\x81\x02\x88\xE4\x89\xFD\x86\x91\x8B\x45\x0C\xA4\x2E\x8D\x3D\x86\xB9\x89\x02\x89\xAF\x88\x6A\x83\xE1\x87\xB0\xD4\x77\x03\x9D\x78\x6D\x08\x61\x78\x8A\x4D\x7B\xA4\x7A\xA3\x8B\x35\x17\xA2\xE4\x49\x5D\x87\xB9\x7B\x74\x88\xD8\x86\x41\x8B\x07\x87\x26\x11\xFF\x16\x9B\x11\x81\x45\x81\x82\x4E\xFA\x87\x9C\x86\xBA\x88\xB2\x0F\xC7\xE5\x47\xB2\x68\x10\x70\xE2\x65\xF2\x8B\x2D\x78\x96\x8A\x83\xC8\x13\x1B\x99\x2F\x84\x83\x8B\xBD\x81\x9E\x8B\x21\x8A\x88\x88\xF4\x14\x92\x22\x92\x3F\x55\x45\x81\x43\x3F\x16\x85\x45\x89\x5C\x84\xF9\x15\xD5\x5B\x6E\x3F\x87\x66\x7B\x5A\x8B\x56\x7A\x96\x64\x2C\x79\xEE\xF5\x60\x19\x8A\x39\x82\x67\x8A\xB7\x80\x11\x88\xDF\x84\x45\x88\xE4\xFF\x26\x07\x59\x2D\x94\xD2\x65\x70\x8E\xF8\x88\xDE\x65\x9D\x7B\xDA\xF4\x7E\x1A\x8F\xD4\x7E\xA6\x84\xD3\x85\xAE\x8B\x2A\x8A\xC6\x8B\x57\x14\x8E\x2F\x8E\x40\x89\xA2\x84\x25\x79\xED\x88\x68\x79\xA2\x8B\x84\x17\xD5\x2D\xAD\x53\x83\x83\x8F\x4E\x8D\x0C\x8A\xE4\x87\x33\x88\x94\x0F\xA1\x2F\xA0\x37\x87\xD7\x3E\x64\x85\x54\x36\xF9\x8A\xDD\x78\xE8\x17\xE6\xBF\x47\x5D\x94\x84\x8B\x79\x8B\x0C\x85\xE7\x8B\xAF\x87\x3B\x17\xFC\x21\xB4\x5D\x87\x89\x81\xE0\x83\xAF\x8A\x3B\x76\x17\x88\xE5\x03\xD4\x1B\x85\x5F\x8B\xB7\x83\x1E\x7C\xFC\x77\xC8\x7B\xCC\x8B\x83\xF6\x7D\x2F\x9B\x38\x9F\xBF\x8A\x0F\x89\x00\x8C\x7C\x86\xB0\x8B\x53\xDD\x7C\x28\x8E\x5D\x77\xBF\x81\x1D\x7B\xED\x8B\x45\x8B\xD2\x87\x58\x09\xA7\x1F\x84\x54\x9D\x7D\x8F\x79\x8A\xD8\x86\xFC\x8B\x08\x87\xD9\x0E\xCB\x20\x84\xD0\x6C\x38\x7C\x27\x7C\x03\x8D\x23\x8B\x48\x7B\x69\xED\x6B\xE4\x6B\xD9\x61\xA4\x8C\xEB\x83\x90\x88\x1D\x88\x91\x88\x5B\x0E\xF2\x2E\xA7\x4E\x99\xBD\x89\x3A\x8B\x0D\x8B\x9F\x82\xD9\x64\xC4\x17\xD1\x2D\x96\x5F\x99\xAD\x68\x7D\x8A\x9E\x7A\xF6\x8A\x55\x87\x0D\x17\xCD\x29\x8F\x5C\x81\x5B\x8A\xFF\x87\x9C\x84\x39\x8B\xC5\x6A\xB8\x0B\xE7\x6F\x6E\x60\x98\xA7\x85\x1F\x7C\xDD\x8A\x82\x78\x77\x8B\x34\x18\xF2\x20\xB6\x60\x8E\x86\x85\x07\x8C\xBB\x87\x3E\x89\x0B\x8C\x3C\x18\xD1\x1B\xA9\x60\x8A\xF9\x63\x4C\x8B\x8B\x8A\x10\x8C\x06\x8C\x4E\x11\xE4\xE3\x44\xD7\x7F\xC0\x87\x4B\x8A\x02\x8F\xC6\x86\xAE\x8B\xEF\x17\xDE\x2E\xB1\x5F\x83\xC0\x82\x7A\x8F\x95\x80\x35\x8B\x04\x78\x41\x18\x94\x2F\x83\x61\x8B\xAE\x6B\x13\x7C\xA7\x7B\x11\x8D\xA4\x87\xDC\x17\xC4\x1A\x9E\x5F\x9B\xB6\x82\x4E\x8D\x17\x8B\x13\x8D\x91\x85\xBD\x09\xA1\xED\x52\x39\x81\x74\x73\x85\x88\xC8\x7A\x78\x79\x34\x8C\x0E\x18\xCE\xE5\x59\x5F\x92\xBD\x8F\xD7\x81\x10\x8D\x60\x87\x25\x8C\x83\x0D\x91\x2E\xB0\x3A\x87\xC4\x86\xC5\x67\x9E\x8A\x23\x8C\xEA\x48\xB0\xF2\x1C\x94\x4D\x62\x8E\x13\x8F\x22\x7D\x01\x8D\x21\x78\x2C\x8C\x58\x17\xED\x2E\x82\x54\x98\x9B\x84\x81\x8A\x6F\x88\xFC\x8B\x23\x88\x27\x18\xC4\x1D\x9C\x1B\x88\x16\x70\x06\x78\x46\x67\x69\x77\x01\x71\xC1\x17\xF0\xC2\x51\x54\x95\xAB\x77\x86\x8C\xE3\x8A\xE0\x8A\x70\x76\x98\x17\x85\x2F\xB6\x42\x95\x62\x80\x53\x8D\x0A\x8A\x4C\x8B\x5D\x88\x85\x18\xC6\x28\x9C\x62\x95\xDC\x60\x0C\x89\xCD\x89\x56\x3A\x25\x7A\xE1\x06\x8D\x1D\x9C\xDC\x7F\x51\x03\x8A\x8D\x5F\x7A\xE5\x8B\xFD\x77\xBA\xF6\x10\x30\xBC\xDA\x6E\xC3\x80\xF9\x80\x0E\x8C\x26\x88\x1D\x8C\xC9\x13\x8A", -"\x28\xA3\x55\x85\x61\x86\xEC\x84\xA1\x89\xBF\x7B\xC3\x84\x3D\x15\x89\x13\x9D\x6E\x75\xC6\x85\x31\x7D\xE3\x8A\x71\x70\x08\x7B\xCC\x0C\xC4\x27\xB7\x60\x99\x9B\x89\x83\x8F\x15\x8C\xDF\x89\x58\x8C\xE9\x08\x8A\x2A\xAC\xD1\x61\xFE\x73\x10\x8F\x1D\x89\x41\x89\x78\x88\x65\x64\x6C\x31\x8F\x74\x73\xB6\x82\x0E\x7A\x18\x8E\x4B\x8B\x5B\x88\xC5\x18\xBA\x29\x87\x50\x9C\xA5\x89\x40\x8E\x97\x8B\x38\x8C\x1E\x53\x4C\x0C\x80\x18\x9D\x7D\x6F\x62\x87\x99\x81\xAB\x66\x9C\x71\xAD\x66\xD7\xCD\x2E\x2F\xBA\xC4\x77\x98\x79\x70\x7F\x0F\x8C\x10\x8B\x55\x87\xF2\x0A\xA5\x1A\xB5\x5B\x81\x9F\x80\xE3\x80\xE5\x8B\xFB\x84\x4F\x8C\xA4\x18\xA5\x6B\x5F\x64\x7C\x76\x86\x2E\x86\xDB\x84\xC9\x82\x70\x87\x8C\xD6\x68\x2D\xAA\x76\x30\xAD\x8E\x8B\x8F\x1A\x8E\x1A\x8C\x24\x7B\xEA\x17\xF1\x2A\xAC\x5F\x93\xAB\x83\x45\x8B\x10\x8E\x6F\x86\x4D\x8C\x39\x0F\xD3\x03\x8C\x4F\x83\x1E\x83\x76\x8E\xE7\x87\x00\x6E\x55\x85\xF3\xF0\x36\x07\xBF\xEC\x54\xC9\x81\x73\x8E\x26\x8D\x24\x8D\x35\x8C\xFB\x17\x98\x2A\x9C\x63\x96\x84\x8E\x8D\x8D\xA0\x88\x38\x8D\x3C\x8A\x61\x18\x8B\x6C\x57\x3E\x84\x5A\x85\x3C\x83\xDC\x8A\xD4\x56\x80\x8B\x7A\xFF\x67\xDC\x43\x5C\x89\xA9\x89\x10\x04\x29\x8C\xD1\x8A\x91\x7B\x92\x18\xC6\x30\x94\x62\x9B\xBE\x84\x7B\x8F\x9B\x8A\x4F\x8C\x4C\x87\x40\x19\xFB\x1F\xA6\x64\x91\x7A\x82\xD0\x81\x67\x5C\x41\x86\xE5\x8A\x56\x0F\xD9\x22\x66\x65\x96\xBA\x89\x7F\x8A\x77\x76\x36\x8D\x92\x7B\x53\x19\x8C\x22\x9E\x26\x96\xBD\x8D\xDF\x80\x91\x89\x56\x8D\x84\x8A\x8F\x17\xF6\xE6\x56\x51\x6C\xB9\x86\x1B\x86\xE5\x8A\xFC\x65\xBD\x8C\x6A\x17\xFD\x32\x94\xB0\x66\xC8\x89\xFB\x81\x04\x8F\xEE\x87\x11\x8C\x45\x10\xF6\x31\x9E\x54\x98\xC7\x8D\xFA\x82\x75\x89\xB7\x85\x81\x6B\x7C\xF2\x10\x33\xA7\x5F\x88\xCB\x80\x95\x8F\x2F\x8E\xE3\x87\xC0\x8C\xB9\x14\xA3\x2E\x87\x63\x85\xB9\x89\x8C\x8D\xDB\x8B\x32\x8D\x80\x8B\x52\x17\xB2\x32\xA1\x8A\x22\xCD\x88\x7F\x8C\x34\x8C\x4E\x8D\x49\x8C\xAA\x0D\x94\x1B\x96\x62\x9C\x6D\x8F\x96\x8D\x8A\x88\xF8\x8B\x56\x8A\xCB\x13\xBB\x1E\xAA\x33\x9B\x57\x8D\x6F\x8D\x5F\x84\xE7\x87\x7F\x85\x9E\x0F\xF2\x10\x80\x64\x85\xDD\x24\x9B\x8D\x03\x8E\x64\x8C\x7B\x76\x6C\x18\xD9\x2E\xA8\x66\x9A\xA8\x88\x99\x8E\x90\x89\x61\x8C\xDC\x8B\xE2\x18\xE2\x2F\xB1\x17\x84\x9D\x79\xEB\x6F\xF7\x8B\xDE\x8B\x74\x8C\xF8\x05\xD3\x27\xA6\x40\x61\xBC\x1A\x91\x8E\x48\x7B\x3B\x8C\x64\x8A\x11\xF6\x72\x27\x8E\x4E\x94\x9F\x80\x39\x8F\xAD\x86\xE4\x89\xB8\x86\x94\x13\x90\x2F\x85\x7B\x74\x90\x5D\x9C\x8F\x05\x8E\xA9\x7B\x84\x8B\xE9\x19\xA1\x27\xB3\x4F\x8E\x61\x75\x3F\x8F\x1C\x88\x08\x8B\x27\x87\x2C\xC9\x7D\x10\xA2\x22\x86\xBD\x83\x52\x89\x78\x78\x20\x84\x82\x88\xC5\xF3\x53\x31\xA4\x67\x9B\xC3\x84\x73\x6F\x3C\x8C\x7E\x8D\x78\x8C\xFB\x19\xF1\xDE\x7D\x67\x91\x9C\x86\x49\x83\x72\x88\xF5\x81\xA2\x85\xDE\xE6\x47\x16\xAB\x3F\x89\x5A\x8D\x8B\x6B\xF8\x8A\x19\x8D\x80\x00\xF5\x19\xD4\x30\xB0\x60\x87\x98\x87\x93\x89\xD0\x7A\x69\x8C\x85\x88\xD3\x19\xDB\x2E\x83\x66\x8E\x88\x87\x7B\x8B\x9E\x89\x76\x8D\x7A\x8A\xCB\x05\xD3\x2F\xBA\x09\x41\xD1\x8F\x89\x8B\x44\x8E\xBC\x89\xA7\x8C\xB7\x19\xEA\x32\xB9\x66\x93\xBD\x8D\x7E\x8D\xF6\x88\x8B\x8D\xEB\x8C\x2E\x1A\x8E\x32\x9A\x67\x81\x33\x63\x41\x5D\xEA\x58\xC1\x6A\x1A\x8D\x29\x19\xD5\x30\xA6\x62\x91\x91\x78\x8A\x8C\xED\x89\x0D\x8C\xB7\x8B\x84\x14\xD5\x33\x9C\x54\x9A\xCC\x8B\x54\x8C\x33\x8D\xF0\x86\x77\x4A\x5A\x14\xFC\x29\xA5\x65\x85\xCF\x88\x0F\x78\x18\x8D\xFA\x8A\xDC\x8C\x62\x10\xAF\x17\xBC\x64\x90\xA7\x8F\xA3\x88\x81\x8A\x61\x8D\x17\x8D\xBA\x17\xF6\x29\xBC\x41\x82\xD1\x88\xEF\x6A\x86\x65\x0E\x8B\x0F\x1F\x5C\x1A\xFF\xE4\x43\x5E\x9A\xBF\x87\xA2\x8D\xA8\x8A\x65\x8D\xA3\x8A\x52\x1A\xC9\x2A\x94\x69\x8E\xBA\x87\x98\x8F\xD9\x4E\x06\x8C\xBD\x8C\x71\x1A\xE4\xE5\x47\xBA\x6F\xB7\x70\xA6\x8E\xDA\x8B\x4E\x8C\x6C\x8B\x3D\x19\xDA\x2D\xBF\x64\x9F\xCD\x82\x71\x8F\x21\x8E\x2B\x89\x60\x8A\x73\x06\xAC\x30\xB9\x61\x80\x00\x08\xA4\x8E\x1A\x8F\xEB\x8B\xB7\x8A\x2D\x15\x95\x33\x8A\x30\x82\xC1\x85\x95\x8C\x04\x8F\x55\x8D\x83\x8A\x7D\x1A\xEA\x20\xA5\x1A\x9D\x7A\x06\x82\x6D\xAE\x61\xA5\x8D\x76\x8C\xBF\x18\xC9\xDD\x41\x63\x99\xC9\x86\x78\x8F\x94\x88\xE2\x8B\xFB\x87\x8A\x17\xA7\x20\x8C\x6A\x9B\xC4\x83\x97\x8E\x4D\x50\x99\x80\x24\x43\xA7\x1A\x83\x32\xAE\x63\x89\x61\x79\x7C\x89\xA4\x87\xF2\x8B\x91\x86\xE3\x0C\xA0\x18\x86\x2B\x84", -"\xC9\x87\x6F\x8F\x35\x8F\x5A\x65\x57\x88\xC3\x6F\x65\x30\x97\xD7\x7B\xD2\x8C\xA0\x8D\x8E\x75\x41\x8C\x56\x8D\xC3\x18\x86\x20\x89\x64\x8A\xCD\x8B\x90\x88\xAC\x89\x43\x8C\xB1\x8A\x43\x1A\x9E\x29\xB7\x61\x8E\xB4\x71\x9A\x89\x50\x8E\x15\x8D\x72\x79\xAB\x1A\x85\x35\xAB\x5F\x82\xD3\x88\xA8\x8C\x4C\x8D\xD7\x8A\x79\x8A\x5F\x17\xA1\x35\x94\x43\x99\x9F\x8D\x99\x53\x7C\x87\x52\x8C\x6F\x8D\x4B\x1A\xB9\xE0\x4D\x69\x91\xCE\x8A\x8A\x8A\xEB\x88\x2B\x8C\xB8\x8B\x3A\x17\xA5\x30\xAB\x3E\x96\xD2\x89\x04\x8D\x03\x81\xBF\x73\xC7\x76\xCB\x19\xB3\x32\xB0\x6B\x90\xC4\x87\x8A\x8B\xE5\x76\x0F\x8A\xAE\x8A\x70\xEF\x0E\xA9\x53\x68\x8E\xCF\x85\xA1\x88\x3E\x8D\x4D\x67\x09\x86\xCE\x18\xE3\x12\x82\x30\x8A\xB6\x7C\x77\x8B\xBD\x6E\x82\x8C\x66\x8D\x68\x18\xCC\xD9\x65\x68\x99\xC6\x84\x99\x8E\xE6\x8A\x51\x8A\x9C\x8B\xF8\x1A\xCC\x2E\xBB\x69\x93\xBB\x88\x81\x8D\xEE\x8A\x53\x8A\x7D\x82\xB5\x18\xBC\xBE\x5A\x43\x9B\x8E\x69\x8B\x8E\x4A\x70\x4A\x8B\x05\x6B\x0B\x1A\x99\x36\xBB\xBE\x7B\xD8\x83\x6D\x7D\x63\x8E\xE6\x8B\x8F\x8D\x4A\x17\xA1\x36\x9E\x5E\x9F\xD4\x80\x7A\x8C\x0E\x8F\xFC\x8B\x89\x88\x11\x19\xB8\xEB\x62\x84\x76\x97\x7C\x53\x88\xC6\x89\x16\x7B\x8B\x8D\x70\x1A\xCD\x35\xBC\xB8\x66\xD8\x8F\x6E\x8D\x14\x89\xBC\x8A\x43\x88\x5D\x18\xCE\x2F\xAF\x37\x91\x46\x8C\xAF\x8E\x6F\x8B\x2C\x8C\xFC\x34\xAD\xF0\x1B\x34\x98\x6E\x76\x75\x85\xB1\x8F\x4A\x71\xE7\x6D\x5C\x8D\x21\xDD\x4F\x33\x81\xB6\x70\xD6\x87\x90\x8C\x18\x8F\x02\x87\x15\x8D\xE7\x1A\xAD\x34\xA9\x6B\x88\xD3\x8D\x83\x8A\x1F\x8E\x88\x77\x63\x87\xA7\x09\x98\x22\x95\x64\x8B\xAB\x8B\x32\x78\x63\x8D\x4D\x8D\x4B\x8D\xEB\x14\x99\x35\x9E\x6C\x97\xD3\x80\xB2\x89\x4F\x8D\xDC\x8B\x91\x8D\x3B\x18\xEC\x36\xA2\x61\x9D\x62\x83\x68\x6C\x8D\x79\xA1\x6B\xDF\x62\xBA\x09\xDF\x1D\x8E\x4B\x95\x60\x32\xA8\x81\x88\x6B\x6E\x8B\xBB\x8D\x1B\x19\xC5\x30\x8D\xD4\x7E\xC8\x81\x45\x8B\x4C\x8E\xFB\x8B\x6F\x8C\x80\x1B\xE1\x31\x82\x69\x97\xB5\x62\x76\x8B\x3C\x80\x07\x85\xA3\x8C\x69\xFF\x49\x32\xBD\x1F\x9B\x8A\x73\x28\x6B\x60\x8E\xC6\x8C\x1C\x8D\x26\x1A\xB6\x36\x91\x60\x98\xD9\x8C\x79\x8A\x67\x8C\x00\x8C\x7D\x8D\xBF\x0F\xD5\x36\x8C\x4C\x5B\xCA\x8C\xFB\x66\x28\x8C\xDE\x7E\x55\x85\x3B\xC5\x20\x10\x81\xBA\x6F\xDC\x8D\x94\x88\x6F\x8C\xC2\x8B\x8F\x8B\xD1\x1A\xA1\x2E\x93\x6B\x89\xBC\x8B\x9A\x8B\xF1\x89\x6B\x8D\x93\x8B\x8E\x1A\xE5\x29\xB5\x65\x91\xE1\x67\x3E\x85\x65\x8D\xFA\x53\x8C\x8B\xCB\xBC\x3C\x37\xA7\x65\x84\xC8\x88\x06\x71\x2A\x8C\x08\x8D\x4D\x8D\x97\x19\x9D\x35\x99\x66\x92\xC3\x80\x8B\x8E\x67\x8C\x0A\x8D\xA8\x8B\x16\x0D\xFE\x2C\x98\x34\x95\xFC\x7E\x98\x8E\x26\x7A\xF4\x8C\xBE\x8C\xB6\x19\xA9\x37\xA4\x6D\x9A\xD4\x84\x40\x8F\x6C\x8E\x01\x8A\xFE\x86\x66\x1A\xD8\x33\x9B\x6E\x89\xD3\x81\xA3\x8B\x75\x89\x5D\x63\xF3\x8D\x91\x19\xE9\x37\x9C\x6C\x8B\xDF\x8B\xB7\x88\x7B\x8C\x9E\x8C\xED\x8D\xD6\x19\xF1\x37\x81\x69\x98\xD6\x80\xA3\x8A\x76\x7A\xE9\x7F\xA9\x8B\x38\x66\x78\x37\xA3\x66\x94\xDE\x86\xFA\x76\x7A\x8D\x1B\x8C\xD6\x8D\xFE\x17\xAE\x37\x95\x60\x90\xDD\x8C\x73\x8A\x76\x8E\x06\x82\xDA\x8D\x3A\xD0\x57\x03\x99\xCE\x66\xB7\x81\x42\x83\x06\x79\xE9\x8C\xA5\x8D\xFB\xEE\x73\x35\x8E\x70\x92\xCE\x80\xC1\x8B\x02\x8E\x04\x8E\x57\x8C\xDC\x1B\xF7\x31\x9E\x6F\x92\xC5\x84\x8B\x84\xF4\x89\x79\x81\xBC\x8B\xDE\x19\xE9\x27\xAA\x07\x9C\x82\x63\x57\x32\x81\x8D\x6D\x8C\x06\x8E\x32\xF2\x2A\x37\x9B\x63\x85\xE1\x8F\x86\x88\x6D\x8D\x1C\x8C\x74\x8D\x73\x18\xA5\x36\x84\x60\x86\xE0\x83\xD7\x85\x87\x80\x82\x8D\x64\x73\x36\x13\xBF\x14\x36\x70\x8E\xCE\x8A\xBF\x8D\x66\x8C\xFF\x8D\x9B\x8D\x7C\x1B\xB9\x36\xBE\x6D\x99\xD7\x8C\xB3\x8E\x04\x8F\x0A\x8F\x7C\x8C\xA3\xF3\x64\x03\xB5\xEF\x44\xD0\x82\x91\x8E\x40\x8D\xCD\x85\x6F\x70\x14\xB2\x4B\x38\xB6\x67\x9E\xC0\x83\xC2\x8D\x5E\x8D\x8A\x8D\x7B\x8D\x53\x1C\xA2\x36\xA9\x70\x9B\xCC\x87\xC5\x8D\x33\x8F\x61\x87\x97\x7B\x9A\xEC\x27\x2F\x80\x5F\x93\xAA\x82\x7C\x88\x43\x80\x3A\x8A\x83\x00\x62\x1C\xA2\x34\xB7\x67\x80\xDE\x85\xB6\x8A\x5A\x8E\xFB\x8D\x98\x8A\xD5\x1A\xC8\x31\xB4\x54\x83\xA7\x85\xAB\x89\x57\x40\x0E\x8B\x49\x8D\x79\x1C\xB5\x34\xBB\x71\x9A\xDB\x80\xC5\x8E\x7F\x8D\xDF\x8C\x00\x8E\x53\x1A\xEB\x38\x95\x69\x8D\xE3\x87\xA5\x8B\xFC\x8A\xD9\x84\x15\x81\x7C\xF2\x09\x39\x89\x69\x96\xD1\x86\x2D\x8A\x0A\x7A\x08\x8F\x3A\x8D\x48\x17\xBC\x38\x9D\x63\x9E\xE1\x88\xB9\x8A", -"\x92\x8C\x9F\x8C\xC1\x8D\x8A\x14\xF1\xD5\x35\x5F\x85\xDD\x2A\xC9\x8E\x52\x8D\xE4\x8C\x6A\x8B\xE2\x1A\xBA\x32\xA4\x6B\x8F\xD5\x89\x4A\x89\x56\x8E\x5D\x8B\x6B\x8D\x78\x15\x85\x38\xB1\x19\x90\xD4\x82\x3F\x34\x8D\x8A\xE2\x87\x0F\x8E\x32\x1B\xEC\xE0\x68\x6E\x9B\xDF\x81\xCB\x8D\x55\x8F\xB5\x8A\x5A\x8E\xD9\x16\xB6\x39\x9F\x5F\x87\xDE\x8D\x78\x8B\x27\x34\x0F\x88\xD2\x8D\x09\x01\x2D\x39\xA8\x6A\x8E\xCA\x85\xB0\x88\xEB\x75\xD3\x8C\x65\x8A\xA6\x10\xD9\x1C\xB8\x60\x96\x83\x80\xC4\x8D\x7B\x8E\x10\x8F\x3A\x8C\x84\x1B\xB7\xB5\x4C\x41\x85\x25\x8C\x19\x5A\x9A\x8E\xAE\x8D\x54\x8D\x43\x15\xA0\x39\xBC\x5F\x82\xE5\x84\x95\x8C\x94\x8E\x55\x8D\xCC\x8D\x58\x19\xA8\x39\x88\x66\x98\x49\x89\xD2\x73\xE1\x6C\xC1\x6A\x73\x8E\x61\x1B\xCD\x38\x84\x6A\x9A\xD1\x81\xA6\x8B\xB5\x85\x8F\x8C\xB7\x8C\x8A\x1A\xF0\x32\xB3\x6A\x81\xCA\x85\xC8\x8B\x4C\x80\xC6\x72\x18\x80\xBB\x1B\xA6\x37\xB3\x6C\x83\xE6\x8E\xC4\x8D\x98\x8D\xF0\x8D\xC3\x8B\xC3\x1B\xB0\x35\x85\x6F\x92\xD5\x8C\xCC\x89\xFC\x8A\x2E\x8E\x60\x8A\x28\x19\xF4\x23\x4A\x6B\x9C\x9D\x80\xCC\x88\x72\x8E\x79\x8C\x5E\x8D\xF0\x18\xCA\x2F\xB2\x63\x9C\xC2\x8B\xCD\x8E\x0B\x8E\x05\x8C\xAA\x8D\x94\x1C\xFD\x35\xA2\x38\x85\x6B\x75\x4D\x8F\x43\x8C\x00\x00\x7C\x8E\x33\xDD\x64\x38\xAA\x73\x92\xCA\x8C\xCE\x8A\x30\x8F\xFB\x8C\xC2\x8C\x02\x1C\xEB\x36\xB3\x6F\x8D\xDB\x89\x98\x89\x9C\x80\x07\x79\x71\x82\x4E\xD7\x30\x3A\x87\x75\x72\xE9\x8A\xC3\x88\x30\x8D\x4D\x8F\xD4\x8C\xC4\x1B\x81\x39\xAC\x66\x83\xE4\x86\x88\x8D\xA0\x8D\x0C\x7B\x35\x8D\x35\x1A\xBE\x0D\x81\x6C\x81\x15\x32\xD4\x8B\xAD\x6C\x51\x8F\x27\x8E\xAB\x1B\xD1\x38\xAD\x6E\x89\xE3\x8B\xB3\x88\x9E\x8C\xA8\x8C\x79\x8E\x50\x17\xC0\x36\x8D\x63\x90\xDB\x81\xC0\x83\x18\x8B\x00\x87\xAE\x8D\xBB\x18\xE8\xED\x43\x04\x15\xEA\x80\xE2\x73\x91\x8D\xEC\x8B\x1D\x8D\x95\x18\xED\x32\x9D\x5F\x81\xE8\x8E\x9B\x8D\xA2\x8C\x70\x8D\x8B\x8E\x38\x0C\x8B\x2A\x90\x55\x89\x15\x80\x6E\x84\xD1\x87\x49\x8B\x30\x8E\x0A\x1D\xC2\x39\x95\x73\x80\x85\x79\x85\x8C\x19\x8B\x16\x8C\x79\x8B\x51\x1B\xA9\x21\x8F\x5F\x8B\x85\x85\x29\x83\x07\x87\xA5\x81\xA7\x8A\x94\x00\xDF\xF0\x60\x3A\x9A\x6E\x75\x91\x8C\x85\x86\x8D\x64\x3C\x8E\x81\x1D\x9B\x24\x8C\x74\x9B\xE7\x83\xB9\x8B\x2D\x8C\x12\x8D\xDD\x8C\x4B\x0F\xCA\x39\x84\x62\x8C\xEA\x8A\x8C\x8E\xA9\x8F\x2F\x89\xB7\x8D\xE6\x18\xA3\x52\x7D\x63\x9C\x9F\x85\x55\x89\x89\x8D\x47\x8F\xDE\x8D\xAF\x1C\xCF\x35\x8E\x74\x9D\xE3\x82\xBC\x8F\x8F\x8E\x31\x8C\xA5\x8E\xC6\x1B\xA4\x3B\xAE\x66\x86\xED\x8B\x46\x78\xB5\x8F\x5E\x8E\x64\x87\xD6\x02\xCE\x37\xB7\x25\x89\x99\x77\x91\x8C\x54\x67\x6B\x8F\xE9\x8D\xBB\x1A\xC8\x2F\xA1\x74\x9E\xD5\x83\xD2\x88\xB1\x8D\x49\x8E\xA9\x8D\x5F\x18\xA8\x3A\x9F\x73\x9F\xD9\x8A\x57\x8E\x36\x87\x17\x86\xA5\x7B\x29\xEE\x06\xAD\x6E\x44\x8F\xFB\x6B\xB8\x8F\x0A\x53\x31\x87\x65\x5E\xC4\x15\xC1\x39\x9A\x76\x83\xEC\x8F\x32\x7F\x9A\x8F\xC2\x8A\x99\x86\xA0\x1D\x8E\x2E\xA0\x53\x90\xB8\x83\xD0\x8A\x2E\x8F\xFF\x32\xAB\x89\x07\xF1\x22\xAD\x5A\x16\x8A\xFB\x78\x18\x80\x81\x8F\x5C\x33\xF0\x8E\x1E\x1D\xDD\x34\xAA\x6A\x9F\xD2\x8C\xCF\x8E\x50\x8F\x2C\x8F\x88\x8E\xB5\x1C\x93\x3A\xB7\x72\x87\xD3\x8B\xD3\x88\x01\x87\x50\x8D\x7D\x8B\x45\x19\xEA\x26\x9F\xCD\x70\x67\x89\x19\x83\x2C\x8C\x34\x8E\x0D\x18\x99\x1D\x92\xED\x58\x63\x8D\xE8\x8D\xDF\x8B\x5C\x8E\x3F\x8E\xCB\x8D\x3E\x1A\xE9\x36\x80\x69\x9A\xE9\x84\xC0\x8C\x7E\x8C\x11\x8F\xBB\x6C\x16\x17\xEC\xE6\x58\x5C\x9F\x73\x72\x03\x76\xA3\x79\x59\x1D\x08\x8F\x31\x18\x97\x2F\xBC\x77\x9D\xEC\x80\xD7\x8C\x2D\x8F\x3F\x8F\xB9\x8E\xA2\x1D\x8B\x35\xB6\x75\x8D\xD4\x89\xAD\x8C\xE2\x8B\xFD\x75\x75\x6B\x97\x13\x99\x1A\xBC\x8A\x6E\x02\x7C\x19\x58\xBF\x8C\x6C\x8F\x8F\x8E\xCA\x1D\xE8\x33\x90\x68\x8B\xCF\x8C\x9F\x8D\x3D\x8E\x2A\x88\xB8\x86\x2D\x00\xBF\x03\xAB\x34\x86\xF3\x4E\xE3\x88\xB9\x8C\x3A\x8E\xD8\x8B\xBA\xC9\x7D\x39\xBA\x66\x92\xEB\x82\x88\x8C\xAE\x8D\x38\x8A\xDD\x8E\xC8\x1B\xB5\x3C\xA9\x5C\x90\x20\x8C\xF6\x7F\x67\x5D\x93\x8E\xF4\x8D\x38\x1C\x9F\x39\x85\x75\x87\xCD\x87\xD4\x8C\x3A\x8C\x24\x8E\x3D\x8D\xA6\x1C\xA4\x36\xAA\x6B\x86\x09\x58\xC1\x8A\xC2\x81\x71\x8D\xCD\x87\xE1\xA4\x1D\x1F\x93\x53\x96\xFD\x7D\xB9\x6F\xCB\x8D\xFE\x8D\x30\x8F\x4C\x1B\x85\x3B\xB6\x43\x90\xD2\x83\x8F\x8D\x15\x8D\x3D\x8D\x34\x8F\x81\x1B\x85\x3C\xA9\x72\x99\xE2\x8E\xC2\x8C\xA9\x01\x77\x8C", -"\x39\x8E\xDF\x19\xC6\x36\xBB\x8F\x2A\xB6\x58\xEA\x60\xC5\x8C\x89\x8D\xCD\x8E\xE1\x1A\x95\x3C\xB2\x72\x97\xF0\x85\xAE\x8F\x72\x8F\x3B\x8E\x40\x8F\x9A\x1B\x9D\x3C\xBC\x74\x87\x78\x74\x60\x85\xAE\x84\x1D\x8E\xB8\x70\x92\x17\xCA\xE5\x50\x78\x80\xE1\x83\x02\x7D\x7A\x8F\x4C\x8F\xEB\x8D\xED\x1B\x9C\x35\xAE\x73\x9E\xD4\x8E\xD5\x8D\x67\x8F\x74\x8F\xEF\x8D\x6F\x1C\x93\x0C\x83\xB2\x79\x79\x75\xC8\x73\xC0\x6F\xEA\x8B\xC9\x8B\xB0\x3F\x0E\x3D\xB7\x68\x84\xEF\x83\x83\x89\x15\x8F\x93\x8D\x55\x8C\x6F\x17\xDC\x3A\xAF\x6E\x95\xE2\x8B\xAF\x89\xA5\x8E\xD5\x8D\x16\x8E\x18\x1A\xDD\x08\x9A\x68\x85\xA1\x8C\xFE\x85\x6B\x8E\x87\x8D\x65\x8D\xA3\x1E\xE2\x3B\x92\x78\x94\xD9\x8C\xD9\x8D\x23\x8E\x67\x8E\x40\x8C\x54\x1E\x97\x31\xAB\x77\x8C\xC2\x81\x97\x8E\x09\x8C\x6F\x8E\xB7\x5D\x32\x1A\xF5\x8A\x76\x79\x8B\xE0\x89\xDC\x8D\x56\x7A\x53\x7B\xA0\x86\x0C\x17\xE9\x3B\x8A\x61\x9B\xF6\x89\x89\x8D\xBD\x8E\xB7\x8F\xE4\x8D\x12\xB4\x71\xFB\x69\x54\x7C\x93\x73\xEE\x8F\x86\x8D\xB9\x8F\x3E\x8C\xE7\x1E\x94\x37\x9D\x53\x99\xF6\x8C\x9B\x8E\xCA\x8C\x7B\x8F\x19\x8F\xB4\x1A\xF0\x3D\xAA\x8A\x2B\xE5\x8A\xDA\x2D\xDE\x8C\x13\x8E\x3C\x8F\xD6\x1C\xFA\x3C\xB3\x51\x96\xD7\x81\xEC\x8F\xCC\x8F\xDF\x8C\x4C\x8F\xF1\x1C\x82\x3D\xB3\x73\x8B\x81\x8C\xCB\x8D\x05\x89\x84\x06\xF2\x86\x71\xBC\x15\x50\x3A\x7A\x9D\xE4\x8D\x6E\x89\xCF\x8E\xAF\x8E\x2D\x8C\x7C\x1E\xA4\x3A\xB4\x63\x9C\xE6\x8A\xB6\x89\x88\x8F\x9A\x8E\x3E\x53\x7F\x1A\xDE\x3C\x9B\x7C\x8C\x93\x82\xAF\x8E\xE3\x8E\x93\x8C\x90\x8F\xC0\x1E\xD1\x34\x8E\x7C\x94\xE2\x8D\xEA\x8E\x8A\x8F\xAB\x8E\x16\x8E\x8B\x14\xD0\x3A\x9B\x72\x84\x70\x8A\x27\x46\xE0\x8F\x18\x8E\xB1\x8D\xE2\xED\x27\x3D\x8F\x70\x9A\xEA\x81\xC1\x8A\xD8\x8F\x04\x8E\x62\x8F\xB1\x1B\xC6\x3D\xA0\x54\x94\xE7\x8F\x83\x8B\x4B\x83\xA4\x8C\x9F\x8F\x7A\x1C\xD7\x3A\xB3\x76\x8C\xDF\x8F\x52\x8E\xB6\x8E\x42\x8C\xF8\x8D\x0C\x19\x84\x3C\x9A\x7A\x83\xDC\x8E\x83\x8C\x4C\x79\x1B\x89\x20\x6A\x50\x1F\x8A\x39\x92\x7D\x92\xF4\x86\xCC\x8F\x50\x8C\x32\x8F\x44\x8D\x31\x1E\x82\x3A\x80\x7C\x84\xE8\x82\xF0\x8D\x13\x8E\xCE\x8E\x8D\x8E\xCA\x04\xD4\xE4\x61\x7D\x9B\xE4\x8E\xD6\x89\xCA\x8E\x7F\x8E\x4A\x8F\x67\x1F\xE6\x35\xBF\x70\x85\xF9\x8E\xCD\x8F\xE4\x8C\x38\x8F\xAE\x8F\xDB\x1A\x8F\x21\xB4\x7B\x8B\xF9\x8C\x2F\x8F\x0A\x8E\xCB\x8E\x7A\x8D\xBF\x1E\x8C\x3E\xB2\x7C\x8B\xF5\x8B\xBD\x8D\x9B\x8E\x0A\x8F\x9B\x8F\x58\x1C\x9C\x3D\xAC\xA4\x6E\xD7\x80\xF6\x8C\xF0\x8D\x98\x88\x4F\x8E\x87\x1F\xE5\x38\x89\x7E\x87\xE3\x8D\xF0\x8C\xF1\x8D\x00\x8F\xAC\x8F\xF2\x1B\xDB\x3E\x83\x7A\x85\xC0\x82\xDE\x87\x66\x6C\xD2\x8D\x3C\x1B\x96\x1F\xA8\x25\x8C\x69\x99\xFC\x82\xF4\x8C\x84\x8C\xD1\x8E\x13\x8E\x46\x1F\xA8\x38\x8E\x7E\x8C\xE3\x80\xF9\x8E\x8D\x8E\xDB\x8C\x55\x7D\x66\x15\xE2\x00\xBD\x62\x69\xEB\x87\xD9\x88\xF5\x8C\xA9\x8E\x19\x8C\x08\xF7\x7E\x30\x97\x7B\x9F\xC8\x89\x84\x89\x24\x8D\xAB\x86\x6E\x8F\xEE\x1E\x9A\x1B\x86\x6B\x85\xFA\x63\xD6\x89\xB5\x8F\x33\x8C\x0B\x86\xDB\x10\x9F\x3D\xAE\x6C\x94\x90\x53\xF7\x8E\x95\x8C\x90\x8E\x73\x8F\xAB\xF5\x68\x3D\xA8\x77\x9C\xF7\x81\xDA\x8A\xC0\x8F\x32\x8E\x2C\x8F\xCD\x1C\x9E\x3C\x8D\x7F\x44\x4C\x8F\x40\x8B\x68\x8D\x0A\x86\xCA\x8E\x47\x1C\x96\x3B\x97\x48\x71\xF6\x89\xDF\x8A\x4E\x8E\x97\x8C\x3A\x8D\x63\x1E\xA8\x34\xA5\x79\x8A\xD1\x87\xD3\x8D\x4C\x8C\xE8\x8F\x01\x8E\xB9\x1C\xE2\x3F\xA2\xCC\x64\xFF\x8A\x5F\x8C\xA5\x80\xD7\x8C\xF0\x8C\x54\xDF\x27\x3F\xA7\x78\x9F\xFD\x8A\xE2\x88\xFE\x8C\x56\x8F\x1D\x8E\xAF\x1F\xBD\x38\xB5\x7F\x9A\xF0\x89\xD3\x8E\xE4\x8C\x58\x8E\x51\x8D\x21\x15\x94\x22\xA7\x5E\x8F\x85\x7D\x8B\x6C\x6E\x8E\xCD\x7A\x8D\x8F\x04\x20\x93\x3C\x95\x7B\x82\xFE\x8D\xE2\x8F\xB3\x8C\xF7\x8E\xF5\x8E\xBD\x19\xD7\x3C\xB7\x55\x95\xA9\x8A\xE5\x8F\x24\x8F\xDB\x8F\xA4\x82\xDB\x0E\xA5\x0E\x81\xD2\x6D\x2A\x83\x72\x87\xA9\x82\x0A\x90\x1A\x45\xCE\x16\xBB\x27\xBF\x5D\x93\x2B\x3E\x5C\x8D\xFD\x8E\xA0\x8D\xE7\x77\x91\x1E\xAC\x3C\x92\x79\x9C\xD1\x88\xE1\x88\xA0\x8D\xDA\x8F\xBA\x8E\xE0\x1F\x96\x3A\x93\x14\x6D\xF3\x8C\xC8\x6F\xCD\x8C\xD6\x89\xE4\x81\xE7\x16\xCF\x2D\xA3\x67\x89\x08\x05\x03\x97\xC7\x8E\x7E\x8F\x74\x8E\xF1\x1F\xF6\x34\x8E\x72\x92\xE2\x83\xF3\x8A\x8D\x8F\xEC\x8F\x49\x8E\xB5\x1F\x8A\xC9\x30\x77\x84\x0C\x8F\xF3\x80\x11\x8D\xD0\x86\x07\x8F\xC0\xE1\x3F\x14\x0D\x81\x8E\xF2\x84\xCD\x8B\xF5\x8D\xC2\x8F\x8F\x8F\x86\x1D", -"\xA1\x3E\x8E\x77\x83\xF9\x86\xD2\x8C\x82\x8E\x00\x8D\x2C\x90\x2A\x1D\xFF\x26\xBA\x2A\x93\x7A\x87\x71\x8D\xEA\x84\xF4\x8C\x56\x63\x63\x20\xE0\x3C\xB7\x7B\x9C\xC8\x8C\x01\x93\x07\x91\x5C\x8F\x17\x8F\x55\x1E\xBF\x40\xA2\x80\x98\xE5\x84\x02\x90\xAF\x8F\x96\x8E\xC5\x8C\x16\x0C\xF9\xD7\x4D\x66\x80\x2E\x84\x25\x79\x0F\x93\x9D\x8F\x3D\x90\x92\x1B\xD6\x3D\x9D\x80\x98\xF6\x80\x08\x92\xDB\x8D\x08\x91\x7F\x8F\x41\x20\xF7\x3A\xBA\x7F\x81\x6D\x3C\x5C\x84\xA3\x8C\x13\x91\xD4\x8F\xFC\xDC\x3C\x3D\x81\x7F\x99\xF7\x83\xFC\x8D\x72\x8D\xA5\x8F\x0C\x8F\x7B\x1F\x9B\x3C\x8E\x80\x92\xF8\x81\xD6\x8A\xF8\x87\x01\x8E\xD9\x8C\x38\x66\x0E\x41\xA4\x7B\x8F\xF2\x88\xA9\x8F\xAD\x8E\x1F\x90\x17\x8F\x3D\x20\xB0\x3C\x9E\x7F\x83\xED\x83\x02\x94\x90\x8F\x7B\x8F\xCE\x8D\x4C\x0D\x9A\x1F\x8E\x35\x9B\x28\x60\xD5\x86\xEF\x8A\x5A\x8E\x81\x00\xB2\x20\xF6\x3D\xB4\x82\x99\xDB\x86\x0B\x97\xEE\x8F\x94\x8F\x4A\x90\xFD\x1E\x82\x41\x98\x82\x9D\x05\x9D\xD4\x8D\xED\x8C\x71\x8C\xDB\x65\x0A\x94\x06\x3D\xB3\x17\x9D\xE2\x82\xB1\x87\x40\x8E\x3F\x8C\x19\x82\x34\x1C\xF6\xC9\x09\x83\x87\xF8\x80\x09\x90\x96\x8C\xD9\x8F\x87\x8E\xAE\x1A\x80\x3C\x89\x73\x9B\x05\x92\xE3\x89\x13\x90\x8D\x8E\x43\x90\x8C\xF3\x1D\x3D\x84\x3F\x82\xEE\x86\xFC\x85\x73\x6F\x38\x91\x9F\x8F\xFA\x1C\xB9\x40\x92\x82\x97\x05\x9E\x01\x90\x1A\x91\xF7\x8E\xDC\x8E\x14\x1D\xEE\x41\x81\x7C\x85\x01\x95\x04\x90\x1B\x93\x6B\x79\x01\x8D\x0E\x14\xFD\x3F\x98\x18\x83\xFE\x78\xD5\x67\xD6\x8E\xA8\x8F\x81\x00\xF7\x20\xD1\x3E\x80\x7D\x99\x85\x7B\xCD\x63\xD2\x8F\x33\x91\x5C\x90\x81\x20\xEC\x41\xAA\x7D\x82\x08\x9C\xF6\x8C\x20\x92\x92\x77\x09\x83\x71\x1C\x85\x34\x9D\x83\x9F\xE2\x8C\xF3\x71\x85\x8A\x4B\x8F\x88\x90\x62\x1F\x93\x42\x8C\x4D\x87\x89\x76\x49\x8D\xAB\x88\x26\x8B\x3C\x83\xF9\xB6\x66\x26\xBB\x1A\x8D\x60\x76\xFF\x7E\x17\x68\x67\x58\x94\x90\x74\x1F\xE3\x3E\xBA\x80\x8E\x06\x9C\x03\x97\x14\x92\x0F\x90\x8D\x90\x40\x20\xD4\x41\xA5\x76\x96\x06\x9F\x51\x3F\x01\x88\xDC\x89\x4F\x90\x19\x20\xD4\x3D\xBA\x83\x9D\x03\x9C\x13\x97\x0F\x90\x46\x90\x4B\x90\xFE\x1E\xC8\x3F\xAB\x7D\x8E\xEF\x8E\x11\x90\xCF\x61\x96\x8C\x89\x8A\x4B\x65\x38\x42\x96\x7F\x8F\x02\x90\xE5\x88\x59\x65\x4C\x87\x0E\x86\xC0\x1A\xCD\x2F\x8A\x76\x93\xDA\x8D\xB7\x86\x82\x8E\xCF\x8B\xEA\x8E\x0E\x00\x88\x30\xBE\x08\x94\x67\x88\x0C\x90\x14\x91\xB2\x89\x96\x8F\x67\x20\xAF\x3E\xA9\x81\x91\xF9\x8D\xE7\x8F\x84\x8F\x9F\x8F\x2B\x90\xA7\x1C\xAC\x41\x83\xBA\x2F\xE6\x81\x06\x95\xB9\x8A\x5B\x91\x70\x78\xA6\x1E\xD1\x40\xA1\x72\x89\x00\x93\xCA\x8B\x01\x91\x2A\x91\x06\x90\x7D\x1F\x8F\x40\xAB\x6B\x9C\x5C\x86\x80\x8F\x1B\x90\x29\x83\x34\x69\x36\xF1\x5A\x42\x93\x73\x9E\xDD\x8E\x71\x8C\x91\x8D\x56\x8F\x29\x90\x5B\x1D\xD5\x40\x9D\x75\x90\xF8\x8F\xD5\x8A\x2F\x93\x62\x90\x3B\x8C\xA4\x1A\xB1\x09\x9E\x82\x86\x08\x02\x19\x97\x9C\x8D\x19\x90\xB8\x90\x84\x1D\xE8\x40\xBB\x79\x94\x0B\x92\xF2\x8E\xCF\x8C\xC9\x8E\x55\x90\x89\x21\x9E\x43\xA6\x6C\x80\xFC\x83\xE2\x80\x33\x73\x56\x7A\xBF\x90\x49\x21\x90\x3D\xAB\x78\x9B\x07\x9D\x14\x90\x17\x92\x4F\x90\x5D\x90\x00\x21\x83\x3C\xA1\x7E\x99\xFF\x8B\xE9\x8C\xE2\x8D\x46\x8F\x64\x82\x99\x06\xAD\xC3\x77\x84\x9F\x0B\x97\x25\x78\xFB\x8D\xAF\x8D\xAF\x90\x22\x0D\xC1\x28\xBE\x2C\x98\xC4\x80\x3E\x8D\x09\x8E\xF2\x8F\x6F\x8F\xE6\x16\xD5\x17\xB2\x2F\x65\x0D\x99\xCF\x88\xE1\x8D\x6A\x90\xB9\x90\xAB\x21\x8A\x3F\xB5\x85\x91\xFD\x87\x17\x94\xEF\x8F\xE3\x8E\xBF\x8F\xD4\x1D\xBD\x3A\x9E\x42\x94\xFC\x81\xE8\x74\x3B\x91\x4C\x8E\x95\x90\x5F\x13\xAC\x42\x8E\x4D\x95\x80\x80\x35\x8F\x02\x8A\x07\x8B\x1C\x88\xFF\x19\xE9\x21\x8E\x09\x8B\x49\x8A\xA1\x61\x14\x8D\xB7\x76\x00\x00\xEE\x21\xC3\x3A\xB0\x87\x94\x9B\x81\x3F\x8A\x3F\x8C\x91\x8E\x09\x8D\x46\x1E\x8B\x3B\x88\x79\x90\x16\x87\x35\x57\x7F\x86\xD0\x8D\x86\x8A\xB7\x18\x8F\x2A\x98\x35\x7C\xFD\x8B\xFE\x88\x22\x90\x73\x90\x5A\x79\xF8\x1E\xD9\x3F\xBA\x7B\x89\xF7\x8F\x01\x93\xDD\x8F\x25\x90\xA9\x90\x1C\x21\xD4\x42\xB0\x83\x84\xC7\x86\x0D\x8B\x9F\x80\x43\x5D\xBE\x8E\x26\x15\xDF\xE5\x54\xC8\x41\x10\x96\xD5\x8B\x40\x93\xE2\x88\xF9\x90\x2F\x14\xF4\x43\xB1\x50\x96\x0F\x95\x36\x8A\x84\x85\x63\x8E\xAF\x86\xCC\x1F\xBE\x3B\x91\x76\x8A\xC3\x73\xD9\x8C\xA7\x80\x56\x66\xF5\x8F\xCA\xD4\x48\x42\x92\x7B\x89\xF1\x8A\x01\x93\x29\x90\x29\x91\x49\x90\xC4\x1F\xEA\x3D\x86\x7F", -"\x8E\xA6\x83\xAC\x8E\x3A\x92\xF8\x89\x23\x8A\xCC\x18\xBA\x44\xBC\x63\x92\xAA\x80\x31\x7B\x45\x93\x85\x91\xE3\x8B\xCE\x21\xCB\x3B\x90\x87\x9F\xD5\x82\x1D\x94\xA4\x87\xF1\x8F\x76\x8F\x53\x21\xEF\x3D\x95\x85\x9C\x37\x8B\x8F\x8E\x53\x67\x4E\x83\xB4\x8A\x3D\x05\x9A\x22\xB6\x5D\x42\x03\x97\x25\x97\xFA\x8A\x39\x91\x9D\x90\x16\x1E\x97\x42\xBF\x86\x99\x08\x91\x1C\x97\xFB\x8E\x50\x91\xDD\x8E\x44\x21\xC7\x35\x95\x7C\x9F\x38\x87\xDD\x8D\x3F\x8B\xD2\x7B\x53\x80\x2D\x20\xD4\xB7\x6C\x64\x82\xB3\x30\xFE\x6E\xC4\x8D\x84\x8B\xDC\x90\xA2\x20\x8F\x30\x82\x86\x8B\xE7\x84\x18\x95\x9D\x8E\x61\x91\x52\x8E\x78\x21\xEA\x3C\x8A\x86\x8C\xF3\x87\xE0\x8A\x5F\x85\xE6\x87\xAE\x8C\xFE\x16\xE7\xFE\x69\xD3\x69\x79\x84\x35\x7A\x09\x90\xC1\x8B\x81\x00\xFD\x15\xB6\x40\x9F\x6B\x83\xD4\x86\x24\x92\x43\x91\x29\x91\x7D\x8F\xFE\x20\xA0\x40\x91\x85\x80\x13\x91\x22\x92\x4C\x90\xE7\x8C\x22\x90\x1F\x21\xC6\x40\x96\x0F\x8C\xF0\x82\x70\x8A\x77\x8E\xA1\x91\x8F\x67\x6D\x22\xC4\x30\xAF\x89\x9C\x0D\x91\x27\x95\x27\x91\xDE\x8E\x4B\x8F\xAC\x1E\x9C\x43\xAE\x7A\x88\x0F\x90\xEB\x8E\x15\x91\xC5\x8B\xC0\x89\x75\x20\xF8\x32\xB7\x81\x88\x32\x41\x2A\x96\x09\x92\xFB\x8F\xFD\x8E\x06\x20\xD3\x3E\xBD\x6F\x89\xF5\x89\xBD\x8E\xF3\x8D\x24\x8F\x48\x91\x81\x1E\xA2\x3F\x93\x7C\x9E\x9A\x48\x08\x95\xA4\x8A\x22\x91\xC1\x89\x9A\x13\x93\x35\x8D\x8B\x84\x03\x94\x19\x96\x41\x8C\x1F\x8E\xAA\x8F\x08\x19\xD6\x3E\x94\x6B\x98\xFA\x86\xAD\x8A\xEB\x8C\x71\x90\xAE\x8F\xB3\x0D\xCB\x3C\x9C\xC6\x43\x17\x9A\x07\x93\x19\x93\xEF\x8C\xCB\x90\x08\x20\x98\x43\x85\x7D\x9A\x0C\x93\xEC\x8D\xE6\x8D\xB1\x8E\x38\x90\xC7\x1E\xE1\x17\xB4\x81\x69\x7C\x8A\xA5\x88\xE7\x1D\xAE\x90\x3E\x8C\x7C\x20\xC7\x44\xBC\x83\x94\x04\x9F\x14\x91\x1A\x90\x50\x91\x41\x90\xEE\x22\x85\x41\x83\x81\x95\x14\x9A\x80\x87\x52\x90\xD9\x8A\x96\x6B\xD0\x13\x9D\x12\x92\x4F\x86\x06\x9D\xFB\x8F\xD8\x67\xC1\x91\x06\x8D\x20\x1D\xC2\x3C\xA2\x74\x91\xD0\x8A\xB0\x89\x41\x90\x59\x90\xE8\x8B\x52\x00\xA4\xFF\x71\x7A\x9D\x6C\x8D\xEC\x6E\x7C\x8A\x62\x86\x03\x81\x47\x1C\xE5\x1A\x98\x85\x9F\x51\x04\x2F\x97\x11\x92\xBD\x91\xCA\x90\xCD\x20\xBD\x45\x8E\x85\x93\x13\x90\x15\x92\x1A\x90\x88\x91\x3B\x91\x59\x1E\xA3\x44\xB1\x1A\x88\x78\x7B\x3F\x8A\x82\x8B\xFE\x46\x01\x90\x87\x22\xC3\x44\x8F\x7A\x89\x14\x99\x96\x88\x4E\x92\x45\x90\x5F\x91\xEA\x20\xE8\x3E\x8F\x8C\x93\x06\x94\x08\x96\x17\x93\x98\x91\x72\x7A\x81\x6B\x37\x97\x49\x36\x8D\xB1\x8E\x0D\x94\xB5\x8D\xB5\x6E\xA4\x91\xB8\x22\x88\x45\xA6\x81\x9F\x0E\x98\xF8\x88\xE6\x8E\x78\x91\xD6\x90\x76\x21\xAF\x43\x88\x86\x87\x0F\x93\x29\x93\x88\x8C\x03\x8A\xDE\x8B\x9F\x09\x3E\x2F\x88\x7A\x92\xE1\x83\xE0\x6F\xD9\x8F\x68\x90\x50\x91\x1F\x23\xCE\x35\x81\x86\x87\x00\x96\xD4\x8D\x51\x92\x4D\x8E\x40\x8E\xEC\x22\x82\x39\x80\x8D\x81\xFF\x85\x1C\x95\x3B\x7A\xFF\x87\x07\x76\x35\x23\xB3\x41\xA7\x86\x98\xFC\x81\x17\x95\x6C\x93\x5C\x91\xB3\x91\x6B\x20\xAE\x43\xAD\x81\x88\xFA\x85\xC1\x8A\xE9\x8D\x53\x8A\xF8\x78\xE4\x17\xD4\x2F\xB8\x8D\x82\x1B\x98\x1A\x95\xBC\x8E\xC2\x8E\x78\x8B\x87\x1D\xD0\x36\x8F\x77\x83\x0B\x91\xDD\x8D\x2C\x92\xE5\x91\xB3\x90\x58\x1A\xD3\x1B\xBF\xEC\x49\x1C\x9A\x0C\x93\x71\x91\xC7\x8F\xC6\x91\x9A\x1F\xE6\x46\x9C\x7E\x8B\xFC\x8F\x28\x97\xD2\x8C\xB6\x91\x4C\x8F\xEF\x22\xA3\x3F\x86\x87\x87\x01\x92\xB8\x83\xCB\x80\xEB\x89\xA4\x91\xA2\x22\xF1\x35\x8C\x8E\x84\x1B\x91\x3B\x97\x71\x93\xEC\x91\xF1\x90\xFC\x22\xC7\x3E\xBE\x8B\x89\xFA\x80\x30\x95\xC5\x79\xCA\x8F\x20\x6A\xAC\x23\xE4\x41\xB7\x8C\x86\x17\x98\x2F\x95\x6F\x92\xBE\x90\xD8\x8F\xC9\x23\xB2\x3F\xA6\x87\x94\xFD\x84\x2C\x90\xE7\x8C\x5A\x90\x15\x8C\xBD\xA7\x4D\x20\x84\x5C\x71\x1E\x98\x0F\x96\x3B\x92\xE7\x90\xD5\x90\x0B\x1F\xC7\x47\xA8\x8D\x84\x0F\x9A\x36\x97\xFE\x8C\x87\x8F\xDC\x91\xDB\x22\xDA\x35\xA1\x86\x80\xA5\x87\x37\x96\x63\x90\xE7\x91\xE1\x91\xE7\x23\xE0\x43\xA9\x8F\x93\xFF\x88\xC6\x89\x7B\x91\x79\x90\xD8\x90\x6C\x23\xB2\x43\xAE\x8D\x92\x1F\x9C\xE3\x01\x0A\x8E\xD3\x6A\xF2\x91\x12\x21\xF9\x41\xBB\x86\x8C\x0A\x9A\x33\x96\x37\x93\xAF\x90\x54\x90\x90\x22\xDB\x47\x98\x81\x9D\x1E\x91\xF9\x8B\x77\x91\x63\x90\xF5\x6D\x1B\x1D\xF7\x38\x9B\x8E\x8A\x1A\x9B\xEB\x8B\x6C\x91\xFE\x90\xC7\x91\xE1\x21\xEA\x47\x91\x8E\x89\x1B\x93\x39\x93\x79\x91\xE5\x91\xE6\x91\x97\x23\xA3\x35\xAC\x74\x98\xC3\x8E\xD2", -"\x88\x81\x91\x4A\x90\x05\x92\xD1\x22\xE7\x41\xB4\x76\x90\xE8\x8A\x2E\x91\xA9\x8D\xE0\x91\xA5\x8E\x83\x23\xC2\x40\x85\x8E\x9F\xB4\x73\x95\x7C\x09\x80\x50\x8F\xAC\x48\x2E\x24\xB9\x42\xAE\x88\x9F\x9C\x85\x20\x93\x78\x88\xC9\x91\x12\x84\xD7\x22\x92\x48\xB9\x85\x9A\x16\x9D\x0A\x92\x4D\x8F\x05\x93\x1D\x91\xB1\x10\x8F\x42\xB6\x8F\x9C\x20\x9C\xF1\x8E\xF0\x8C\xEC\x91\xD6\x8F\x66\x1C\xFC\x47\x9D\x7E\x95\x1D\x91\x2C\x97\x76\x91\xC4\x8E\x26\x92\x10\x20\xD9\xE5\x7A\x75\x9B\x11\x96\x63\x8D\x69\x6C\xA7\x80\x02\x86\x14\xB2\x41\x48\x9B\x85\x8F\x16\x90\x05\x94\x6F\x90\x99\x8E\xBF\x91\x48\x1D\x92\x3A\xB5\x89\x9C\x05\x95\x35\x95\x1A\x93\xD5\x91\xD3\x8E\xB8\x1F\xCC\x2C\x8C\x14\x82\x37\x83\xD5\x88\xC7\x32\x1A\x93\xC9\x90\xB1\x1D\xFB\x46\x92\x8B\x8D\xE4\x84\x2D\x97\x7F\x8E\xB5\x90\x34\x8F\x5E\x24\x9D\x43\xA0\x91\x9F\x0C\x97\xB2\x88\xA7\x89\xC4\x8C\xFE\x88\xE8\x18\x8A\x3D\xBE\x54\x8E\xED\x84\xD3\x39\x6F\x93\xD2\x8D\x2B\x92\x8B\x22\xB4\x3A\xB0\x91\x86\xF3\x87\x48\x97\xE1\x8D\x22\x93\x61\x91\x6D\x23\xFF\x3E\xB7\x7E\x85\xC7\x8F\xDB\x8A\xB5\x8C\x95\x91\x44\x80\x69\x24\x96\x49\xA1\x70\x8C\xFD\x89\x49\x90\xD5\x8D\xD5\x8E\x55\x8F\x5C\x24\x8D\x3F\x8A\x91\x92\x14\x92\x40\x92\x94\x91\x04\x91\xA0\x8D\x04\x02\xCE\x18\xB2\x6D\x87\xE2\x86\x01\x96\x70\x58\xCD\x90\x55\x92\xA5\x1E\x8D\x38\x98\x91\x9B\xFC\x8A\x45\x94\x76\x90\xE0\x90\x9C\x8E\xEE\x23\xAB\x41\x8B\x92\x93\x0D\x9F\x3D\x92\x8C\x51\x9F\x91\x90\x83\x2D\x19\x80\x2B\xAE\x68\x24\x3C\x7F\xDD\x8C\xD5\x62\x88\x8A\x67\x91\x37\x20\xFF\xE5\x4B\x90\x8A\x18\x9D\x1B\x95\x1F\x91\xC3\x91\x7F\x90\x37\x24\xB9\x3B\xB9\x90\x9A\x04\x94\x6B\x50\x56\x93\x5B\x7A\x05\x8F\xD7\x0C\x8E\x10\xB6\x77\x96\x27\x37\x4D\x94\x5C\x91\x20\x92\x61\x92\xAD\x24\xC3\x3E\x97\x8F\x8A\x00\x97\x4C\x96\xFE\x8D\xBB\x91\xE1\x90\x12\x23\xE5\x49\x94\x8C\x8B\x43\x8B\xCE\x85\xB0\x82\x57\x8D\x7F\x8B\x1D\xBB\x34\x45\xAE\x4D\x96\x15\x97\x1B\x91\x21\x01\x3B\x93\x7A\x91\xAE\x23\xD6\x48\x84\x8F\x83\x26\x92\x3B\x95\x98\x90\xF2\x91\x4E\x92\x34\x1F\xC2\x45\xB6\x7C\x94\x20\x96\xFB\x8A\x3D\x90\xE0\x89\x81\x86\xAB\x05\xF6\x40\xA4\x78\x8A\xFC\x77\x2B\x97\xA0\x92\xCD\x91\x84\x92\xE0\x1A\xDB\x49\xA6\x8A\x88\x12\x96\x0A\x97\x81\x93\x4F\x91\x39\x92\xED\x20\xE3\x49\xAF\x83\x9B\x04\x97\x08\x95\x07\x86\xE5\x89\x6F\x91\x1E\x16\xE1\x45\xAE\x74\x9E\x28\x9A\x38\x95\x5C\x91\xC8\x91\x07\x8D\x23\x23\x87\x44\xA5\x8C\x84\x9B\x86\x3F\x8D\x86\x88\xFE\x89\xCE\x7F\x9F\x19\x86\x26\x9A\x90\x82\x08\x04\x53\x95\x75\x92\x4D\x93\x20\x8F\x38\x25\xCC\x3B\x87\x91\x9A\x46\x86\x3B\x88\x32\x86\x0D\x8A\x28\x87\xBA\x13\x91\x08\x81\xBA\x65\x2A\x92\x3D\x90\xA4\x90\xA9\x90\x91\x92\xCF\x21\xDA\x3F\xA0\x85\x9D\x12\x91\xAC\x8A\x24\x8D\x93\x91\x6E\x8F\xD7\x21\xBF\x41\xA6\x93\x81\xB7\x8E\x4F\x90\x63\x93\x06\x8E\x4E\x91\xE6\x05\xE0\x46\x94\x95\x85\x1F\x95\x0E\x92\xB6\x8E\x0C\x92\x74\x91\x66\x1B\xB0\x49\xB5\x93\x8C\x00\x99\x4C\x91\x36\x93\x32\x93\x01\x92\xB5\x1B\xB2\x3D\xA8\x72\x68\x5A\x85\xEB\x8F\x58\x7A\xCC\x91\x19\x90\xEC\x24\xC0\x49\x80\x7F\x8A\x14\x9E\x46\x92\xFE\x8F\x26\x92\xFA\x8F\x73\x25\x87\x43\xB5\x95\x81\x20\x97\x57\x96\x96\x92\xE4\x8E\xC4\x7D\x46\x1C\x8E\x43\xA1\x7A\x8C\xAB\x83\x10\x03\xAD\x91\x02\x92\xF3\x91\xBD\x1E\xFA\x47\xA0\x8E\x8A\x03\x92\x3A\x94\x0D\x90\x74\x8F\x93\x8E\xA6\x23\xA8\x48\xA8\x8E\x86\x84\x6F\xFA\x80\x36\x7B\xCB\x91\x0C\x83\x47\x1C\x8E\x42\x94\x96\x84\x2A\x92\x58\x95\x00\x92\x5F\x8D\x78\x92\xAE\x1F\xF3\x49\x85\x86\x89\x2C\x91\x41\x90\x80\x90\xF7\x91\x50\x92\xE9\x21\xA4\x4B\xA9\x3F\x94\x10\x84\xEB\x8E\x42\x81\x87\x8C\x3B\x8E\x05\x80\x3F\x14\x16\x96\x8F\x21\x98\x59\x93\x14\x93\x48\x93\x85\x91\x49\x22\x9D\x44\x8B\x89\x94\x0E\x93\x92\x8E\x49\x91\x49\x8D\x3C\x91\xF5\xFF\x15\x1C\x2D\xF0\x4F\x60\x73\x5C\x92\x88\x90\x0C\x93\xD7\x92\x85\x25\xD2\x40\x85\x92\x8F\xE4\x80\x51\x96\x0A\x93\x2C\x93\x6C\x91\xF0\x23\xCD\x48\x96\x72\x85\xD2\x83\xEF\x8B\x52\x8D\x75\x93\x35\x92\xD9\x24\xB3\x2E\xB1\x90\x8E\x1A\x95\xF6\x8F\xBF\x8D\x0D\x92\x39\x92\xE1\x24\x81\x42\xAA\x94\x83\x08\x92\x34\x96\x2A\x92\xEA\x91\x20\x6A\xE7\x25\x80\x49\x97\x7F\x99\x10\x99\x55\x93\x43\x93\xF6\x8F\x54\x91\x1E\x22\xAB\x45\x95\x87\x80\x2B\x9F\x24\x93\xF9\x8C\xFC\x78\xFE\x90\xFC\xD0\x3E\x47\x92\x55\x66\x08\x09\x5F\x96\x34\x93\x51", -"\x93\x2C\x91\x22\x23\xCA\x4A\xBA\x94\x88\x22\x98\x48\x97\xBB\x90\xEE\x91\x7C\x92\x7B\x14\x98\x09\x86\xA7\x67\xBF\x5D\x60\x95\x3B\x91\x5B\x92\x41\x92\x6F\x25\xD3\x45\xAF\x92\x95\x16\x91\x4B\x97\xF3\x8F\x3D\x92\xFC\x8F\x18\x26\xBA\x47\xBB\x72\x87\x0E\x9D\xFD\x7F\x91\x88\xC1\x6B\x0E\x93\xEF\x21\xD7\x4B\x93\x66\x99\x2E\x93\x18\x92\xB6\x92\xA3\x90\xDA\x92\xB6\x23\x96\x4C\x9F\x91\x81\x2F\x91\x46\x93\x0B\x89\x3D\x8E\xEA\x92\xAD\x25\xC5\x44\x98\x95\x9A\x12\x9A\x55\x91\x3A\x90\x48\x8C\x21\x8A\xEC\x1E\x83\x4C\x89\x7F\x85\x30\x98\x1D\x90\xAD\x93\x3F\x00\x03\x92\x59\x91\x30\x4C\x82\x88\x92\x31\x90\x9D\x8D\x78\x91\x08\x92\x87\x92\xEB\x23\xFE\x47\xAD\x8F\x87\x31\x9F\x3E\x91\xC5\x91\xFC\x91\xCC\x6E\x7B\x22\xC9\x35\xB1\x7D\x9A\x1C\x9C\x5A\x97\x7E\x93\xEB\x91\x85\x92\xB0\x25\xD9\x48\x87\x96\x9D\x1F\x9D\x5D\x93\x33\x93\x27\x93\x89\x92\xB8\x25\xC5\x45\xAB\x1B\x61\xFC\x84\x42\x7F\xC5\x91\x90\x92\xA5\x90\x43\x26\x91\x4C\x9B\x89\x8D\xEE\x8D\x59\x92\x72\x93\x67\x92\x37\x90\x60\x18\xF1\x4C\x9E\x8F\x96\x28\x96\x94\x82\xAF\x77\x22\x8D\x8E\x92\x77\x26\xBA\x43\xAB\x97\x9C\x15\x9F\x34\x93\x67\x92\x49\x92\xE0\x90\xF1\x25\xC2\x43\xA8\x98\x96\x1A\x95\x5F\x92\x25\x84\xB2\x8D\x07\x4D\x51\x24\xAB\x4B\x81\x04\x12\x32\x9D\x22\x94\xCA\x93\xD8\x8D\x41\x92\x97\x21\xDB\x4B\x94\x81\x8D\x33\x9D\x2F\x92\xA2\x93\xBF\x90\x8A\x92\x95\x1C\xDF\xE8\x50\x6C\x84\xEB\x82\xB1\x8E\xAC\x8C\xC5\x8C\x00\x90\x06\xE2\x14\x64\x5C\x9A\x8D\xEB\x8A\x13\x94\xD1\x91\x7B\x92\xBC\x8F\x51\x23\xFA\x3E\xB5\x96\x8B\x1B\x97\x5B\x95\x96\x91\x6E\x92\x55\x93\x79\x24\xB9\x2A\x89\xD1\x70\xFE\x8C\xB2\x8A\xFA\x8D\x90\x7B\x97\x8D\x27\xDA\x27\x02\x33\x9A\x83\xEE\x6C\x15\x95\x16\x92\xDD\x8F\x06\x92\xDE\x24\xBC\x46\x8E\x8C\x88\x29\x9B\x11\x93\xBE\x91\x47\x91\x4A\x93\xB2\x0E\xB8\x49\x97\x18\x86\x4C\x8D\x07\x7C\x18\x70\x90\x90\x98\x8D\x06\x25\x89\x4D\x8C\x8D\x85\xCD\x89\x66\x94\x98\x93\x9A\x93\x2D\x92\x38\x26\xDD\x48\xBA\x98\x8A\x24\x9C\x63\x94\x91\x92\x58\x8E\x29\x91\x2D\x16\xAB\x3B\x86\x8D\x96\x77\x5D\xB9\x6B\xD9\x92\x7B\x6F\x77\x92\x39\x1C\xB4\x4C\x8C\x8A\x96\x31\x9F\x37\x97\xB6\x8D\xA4\x92\x3B\x91\x75\x24\xC3\x42\xB7\x91\x9D\xED\x80\xD9\x8E\x20\x6F\xC3\x57\xE0\x8E\xC6\x26\xC3\x3B\x96\x64\x8D\xF2\x69\xBB\x69\xDC\x92\x99\x92\x85\x92\x1F\x24\xD6\x4C\xBB\x8F\x87\x37\x96\x4C\x96\xDF\x90\x32\x92\x2E\x93\xCA\x24\xED\x4D\x8C\x93\x8E\x22\x96\xDD\x89\x05\x90\x4C\x8D\x8C\x89\x63\x0C\xDC\x3B\xA5\x31\x9B\x2E\x6D\xB8\x89\xD0\x77\x93\x8B\x9E\x38\xF2\x6F\x35\x4D\x8C\x90\x8D\x34\x9E\x40\x91\xD7\x90\xB0\x90\x59\x92\xB6\x25\x93\x48\x82\x9A\x96\x7C\x8B\x4F\x90\x52\x87\x35\x91\xB2\x92\x26\x0F\xF7\xBF\x48\x65\x99\x66\x82\x55\x97\x56\x93\xC9\x92\xD2\x38\x96\x70\x56\x4A\xB8\x80\x99\x33\x99\x54\x93\xCF\x93\x52\x92\xB6\x84\x4D\x25\xCE\x1C\x9F\x3E\x60\x06\x96\xFE\x78\xB3\x81\xAA\x85\xB4\x7F\xB9\x1B\xA9\xA8\x41\x51\x7F\x39\x91\x13\x41\xE8\x93\x83\x92\xFE\x92\x44\x26\xFE\x4B\x9B\x95\x87\x32\x93\x1D\x91\xC9\x91\x73\x92\x02\x93\xCF\x25\x83\x4E\xAD\x4D\x93\x03\x95\x55\x61\x59\x92\x87\x8A\xD4\x80\x25\x1E\x85\x4A\x86\x04\x14\x3A\x91\x45\x46\xEA\x90\xBE\x92\x31\x8F\xFA\x26\x9A\x49\xBC\x9B\x91\x23\x91\xE0\x8C\xDA\x91\x50\x91\x80\x93\x78\x22\xE2\x4E\xB0\x66\x81\xDF\x8B\x98\x88\x7F\x80\xF9\x8C\x46\x90\x64\x26\x81\x02\x2C\x9D\x83\x36\x4E\x76\x93\xBF\x91\xC2\x91\xE3\x92\xDD\x24\x8C\x46\x92\x9B\x80\x27\x97\x71\x92\x70\x90\xDE\x93\xA0\x91\x2C\x25\xB9\xDD\x1D\x82\x83\x2A\x92\x78\x91\xF4\x35\x82\x39\xE2\x92\x84\x25\xA0\x4D\xB9\x8B\x82\x35\x99\x19\x94\xD4\x92\xF2\x90\x53\x93\xCC\x23\xA8\x4D\xB1\x81\x84\x7B\x8F\x0A\x96\x53\x90\x59\x8D\xB5\x93\x96\x27\xA6\xE3\x39\xBF\x63\xEF\x8E\x41\x91\xB3\x90\x08\x93\x89\x93\x73\x27\x9C\x49\xA5\x98\x89\x22\x91\x73\x93\x89\x92\xC6\x93\x71\x49\x4C\x27\xCE\x27\x82\x83\x99\x18\x9D\x08\x8B\x63\x93\xDA\x83\xA5\x32\x83\x27\xF6\x15\x45\x9E\x8D\x36\x9C\x0C\x97\xD9\x90\xCB\x93\x68\x93\x8F\x26\xF4\x44\xBF\x9B\x94\x23\x91\x31\x94\xD2\x91\xE4\x93\x82\x90\x58\x1B\xD9\x41\xA6\x2D\x10\x58\x82\x12\x90\xFB\x85\xD7\x91\x79\x93\xE1\x19\x9C\x46\x9F\x8A\x82\x08\x01\x7C\x93\x9D\x47\xF0\x92\x36\x92\x5D\x21\x8E\x98\x64\x94\x88\x15\x9F\x4D\x92\x55\x92\xCF\x90\x56\x91\xD6\x26\xA2\x44\x8F\x9F\x83\x1A\x92\x0F\x91\xF2\x88\x85\x59\xEE\x93\x93", -"\x98\x5F\x4F\xA9\x97\x93\xD3\x88\x5D\x92\xF3\x92\xF5\x90\xCE\x93\xFB\x22\x9E\x4F\x9A\x8F\x95\x3D\x94\x4B\x95\xB1\x93\xAF\x93\xB7\x91\x85\x1E\x95\x0C\xA7\x96\x8C\x08\x96\x72\x5A\xB5\x92\x69\x7B\x84\x00\xF0\x27\xF1\x47\x72\x9F\x83\x15\x93\x74\x93\xD1\x93\xCA\x93\x5B\x93\x72\x22\xC9\x4F\xBD\x8C\x93\x1A\x9F\x33\x97\xF1\x90\xE1\x90\x78\x91\x84\x1E\xC9\x3D\xA8\x18\x9E\x22\x8C\xEC\x8C\x43\x8D\xDD\x90\xE0\x92\x47\x21\xA8\x4F\x98\xC7\x3F\x89\x3A\x72\x94\x9B\x90\xB4\x92\xC5\x93\x12\x28\xD3\x4D\x8B\x9F\x89\x29\x96\x81\x92\x87\x90\x06\x95\xFA\x8D\x35\x21\xEB\xCD\x5C\xC6\x49\x40\x99\x41\x53\x01\x96\xF0\x91\x33\x93\x11\x27\x8C\x4A\x86\x8F\x98\x32\x93\x42\x94\x7D\x91\x09\x92\xD0\x93\x27\x24\xA2\x4F\x81\x8C\x87\x1E\x49\x39\x92\x4F\x40\x0D\x94\x20\x52\x36\x28\x84\x36\xAD\x9E\x86\x2E\x9D\x5F\x97\x54\x90\x87\x90\x00\x93\xCB\x25\xDE\x4E\x9F\x95\x8B\x32\x91\x76\x90\xDB\x93\xC0\x8F\xAB\x90\x80\x25\xC0\x4F\xA9\x9E\x89\x39\x93\x44\x91\x78\x89\x11\x93\xED\x89\x09\x1B\x94\x4C\x9E\x92\x8B\x37\x90\x4A\x96\xD7\x92\x9C\x92\xD2\x8F\x69\x21\x97\x3E\xB9\x7B\x73\x72\x88\x80\x93\x0B\x94\x43\x39\x12\x94\x88\x27\xA7\x50\x89\x97\x90\x42\x98\x64\x97\x43\x90\xFA\x93\x16\x94\xE4\x24\x99\x4C\xBD\x7B\x61\x4C\x63\x75\x96\x0D\x95\x76\x39\x2E\x94\xD9\x13\xDF\x50\xA4\x43\x8F\x9C\x8C\x53\x96\x3F\x8D\x6F\x80\x87\x8D\x00\xC7\x17\x4D\x98\x63\x6F\x0C\x98\xC7\x82\x7E\x67\x11\x95\x90\x52\x49\x28\xA7\x37\xA3\x9B\x99\xD1\x8C\x5E\x90\x1D\x93\x31\x8E\x97\x93\x10\x24\xB9\x4C\xBC\x9F\x80\x2F\x9E\x65\x92\xBC\x92\x8F\x93\xA6\x8F\x13\x09\x93\x35\x8F\xA2\x9A\xB1\x8B\x0B\x3F\xEA\x93\xE1\x93\x26\x94\xE3\x27\xCF\x50\xA5\x9F\x81\x30\x97\x7E\x92\xC9\x91\x98\x91\xB0\x92\x7A\x27\xCE\x4C\x90\x99\x9F\xD9\x53\x8A\x90\xCB\x8B\xE5\x93\x0F\x93\xF0\x24\xF1\x4E\xAE\x92\x89\x17\x92\x57\x96\xE2\x92\x3D\x92\xC7\x93\xCD\x27\xF6\x48\x96\xA1\x8E\xFB\x8F\x44\x92\xFE\x77\xF1\x84\x3D\x7B\x04\xD7\x35\x51\xA1\x59\x97\x45\x93\x3D\x97\xA6\x93\xB9\x90\x11\x93\xBC\x28\xA4\x4C\xA9\x9B\x90\x39\x9C\x6B\x92\xE6\x92\x19\x95\x41\x93\x4C\x1F\x8D\xE5\x42\x7E\x82\x45\x9E\x87\x94\x04\x94\x20\x94\xF8\x89\x30\x22\x8D\x27\x9B\x50\x84\x44\x9D\x41\x8D\x46\x90\x34\x8A\x56\x88\x4D\x26\xDB\xE9\x11\x39\x8D\x02\x84\x8B\x95\x1B\x95\x14\x6C\xF0\x93\xCE\x26\xDE\x42\x85\x99\x9C\x12\x9C\x75\x96\x4B\x90\x93\x91\x72\x86\xCE\x25\xC5\x35\xA9\xA3\x87\x30\x9A\x88\x94\x0D\x59\xA6\x93\x03\x94\x22\x28\x95\xE1\x25\xA2\x8F\x3B\x9C\x4A\x92\x17\x96\x3C\x92\xFC\x93\xD8\x23\xFA\x4F\xBF\x8F\x95\x46\x96\x7B\x95\x13\x95\x8F\x93\xF1\x8F\x0E\x22\xB9\x49\xAD\x9A\x96\x73\x80\x6B\x94\xD9\x78\xD8\x90\x65\x94\x48\x89\x11\x51\x8B\x74\x93\x44\x9A\xBE\x8E\xFE\x93\x1B\x93\xD8\x93\x88\x25\xBE\x51\xB4\x95\x98\x38\x96\x57\x97\xF6\x92\x63\x92\x60\x93\x28\x1B\xDF\x00\xA4\x91\x9D\xAD\x8B\x8B\x6F\xE9\x73\x5F\x8F\xCE\x6D\x18\x29\xBF\xF8\x1A\xA4\x82\xEC\x8B\x84\x91\xF3\x91\x88\x92\x42\x92\x23\x26\x86\x49\xB3\x9E\x95\x30\x9B\x89\x97\xC2\x92\xF3\x93\x1D\x92\x79\x1D\xE5\x44\xB6\x0A\x8F\x91\x55\xB4\x8C\x1E\x91\xC0\x7B\xF7\x93\xEE\x28\xE2\xDF\x77\xA0\x90\x38\x9E\x7A\x92\xE2\x93\x66\x92\xD6\x90\x3D\x28\xDA\x4C\xBF\xA0\x8F\x33\x97\x6A\x93\xE6\x91\x45\x92\x31\x92\x42\x29\xBD\x4B\x97\xDC\x76\x3D\x69\x70\x90\xD9\x73\x0F\x86\x70\x93\x01\x29\xA8\x4E\xAF\xA1\x9F\x46\x92\x40\x88\xAE\x92\x1F\x8F\x5E\x94\x57\x1F\x8D\x4F\xB8\x90\x98\x43\x9B\x52\x90\x28\x97\x4D\x8B\xB2\x8A\x4C\x16\x94\x40\x83\x78\x7D\x25\x9F\x15\x67\x47\x05\x4C\x94\x24\x8B\x03\x29\x86\x4F\x91\x82\x8F\x40\x96\x89\x96\xEC\x8C\x26\x95\x93\x92\x2B\x28\xD5\x4D\xAC\xA5\x94\x2F\x9B\x7E\x97\x51\x8C\x8B\x92\xBE\x8A\xCF\x24\xB8\x13\x80\x9E\x6E\x2A\x82\x28\x97\x05\x90\xED\x80\x72\x72\xA5\x00\x35\x2C\xA1\x01\x82\x1B\x0D\x9C\x2B\xDD\x87\x47\x74\x8F\x63\x1C\x7D\x30\x0E\xB3\xCB\x51\x46\x75\x3C\x49\xD2\x64\x65\x95\x79\x26\x06\xEA\x21\x8A\x7B\x44\x9C\xDC\x7C\x62\x70\x6A\x08\x30\x61\x2C\x3C\x9C\x15\xD7\x0F\x9A\x5C\x7E\x32\x71\x98\x52\x5C\x19\xA0\x88\x49\x89\x27\x01\x07\x1E\x94\xF5\x39\x9E\x6F\xAD\x2C\x39\x2C\x68\x94\xAC\x80\x07\xEA\x18\x53\xAC\x13\x07\x0B\x84\x9A\x97\xB4\x73\xCA\x08\x87\x87\x97\xFE\x6D\x02\x91\x3C\x9A\xB5\x8F\xAC\x87\xC9\x4A\x93\x69\x63\x55\x11\xD4\x60\x4E\x12\x3C\x8F\x5C\x76\xEA\x66\x8B\x7E\x3D\x32\x4E\x8B\x26\xEC\x75\x66\x0B", -"\xA7\x85\x75\x6D\x2B\x75\xE9\x7D\xA7\x54\xD4\x7A\x42\x11\x97\xBF\x71\x80\x9D\x39\x9A\x76\x93\x20\x01\xAC\x8A\x63\x7F\xCD\xEF\x42\x4E\x9A\x93\x8E\x40\x96\x82\x97\xF8\x90\x0A\x95\xBF\x94\x90\x26\xEA\x52\xA2\x93\x83\x4C\x97\x6D\x93\x62\x92\x70\x8D\xA5\x86\x4D\x27\x9F\x37\xA4\x5B\x88\x79\x89\x9C\x8D\x53\x92\x0C\x90\x68\x8B\x01\x01\x5F\x53\x9C\xC2\x62\x7D\x72\xBA\x6B\xFE\x93\xFB\x8F\xFA\x93\x37\x29\xA1\x4D\xB9\xA4\x9C\x2E\x9B\x93\x93\x0C\x95\x4F\x95\x1D\x93\x0E\x29\xA1\x1E\x9F\x5B\x96\x2C\x81\x9F\x92\xF3\x87\x82\x8F\xB1\x93\x56\xB9\x60\x40\xAF\x72\x7F\x51\x0A\x9F\x94\x16\x78\xB8\x77\x41\x78\x4B\x29\xA1\x4A\xA4\xA7\x91\x43\x96\x9E\x93\x0E\x97\x2A\x95\x28\x94\x76\x28\xAE\x51\xAD\x8A\x90\x45\x93\x8C\x90\x42\x96\x9E\x77\x5D\x85\x66\x27\x8B\x2C\xA8\x9D\x9C\x28\x9D\x9D\x92\x20\x01\x85\x94\xAA\x77\xFC\x29\xEF\x51\xBE\xA7\x90\x16\x90\xA0\x95\x12\x97\x0C\x93\x74\x90\xEF\x25\xF5\x4E\x81\xA6\x97\x3B\x91\x8C\x92\xE0\x91\x89\x95\xBD\x93\xCB\x0A\xAB\x2E\xBE\x9D\x8D\xB9\x80\x78\x92\x4F\x43\x8B\x94\xBE\x77\x21\xF0\x26\x51\xBB\xA5\x85\x4F\x90\x81\x90\x6A\x91\x8E\x95\x75\x90\x76\x27\x90\x46\xB8\x93\x9F\x49\x9F\x82\x94\x5B\x84\xD0\x8A\x6F\x85\x2E\x1D\xC7\x54\x8C\xBF\x69\x52\x94\x90\x90\x93\x92\x41\x95\xD8\x92\x08\x29\xF4\x49\xA2\xA4\x8A\x2C\x94\x92\x94\xB1\x92\x49\x95\xFF\x93\x3C\x24\xF1\x19\x84\x8C\x93\x19\x97\x12\x02\x4B\x97\xFD\x77\x63\x7F\xA3\xEF\x0C\x50\xA3\xA7\x95\x51\x96\x6B\x95\x2F\x96\x7B\x92\xB4\x94\xEB\x22\xEA\x53\xB2\x97\x8C\x4F\x9A\x7E\x92\x9F\x93\x7B\x95\xE6\x89\xD4\x0F\xBA\xAD\x43\x83\x91\x5D\x7F\x16\x7A\x3C\x8D\x85\x90\x17\x95\x4E\xF0\x61\x53\x8A\xA9\x9B\x15\x9C\x97\x97\x46\x97\x25\x95\x27\x95\x52\x23\xD1\x54\x94\x8D\x9D\x51\x99\x77\x97\x47\x94\xBF\x8A\x83\x90\x2D\x23\xF8\x2E\x83\xA0\x94\x58\x8C\x74\x6C\xD1\x8F\x5C\x32\x37\x95\x20\xF0\x26\xB6\x62\xA7\x8A\x2F\x94\xA7\x95\x51\x96\x59\x95\xDA\x8E\x78\x2A\xB6\x48\xBA\xA9\x92\x34\x9D\x65\x94\x4A\x96\x8A\x93\x34\x95\xFA\x13\x9E\x3D\x84\x83\x73\x2C\x90\x90\x96\x3B\x95\xA2\x94\x2E\x95\x7A\x29\x8C\x55\x8C\xA9\x96\x53\x98\x6B\x90\x52\x96\xAE\x92\x4D\x94\x0C\x29\xFD\x4F\xA7\xA9\x87\x43\x9B\x9D\x8A\x8B\x8E\x00\x94\xAE\x91\x24\x21\x98\x39\x46\xA0\x92\x98\x74\xA1\x97\x56\x96\xA8\x95\x45\x95\x6E\x25\xB6\x54\xA7\xAA\x94\x21\x99\xAA\x90\xBE\x93\xAA\x94\x80\x93\x94\x2A\x90\x4F\xAE\xA5\x8E\xF3\x88\xA9\x90\x36\x52\xDC\x91\xEA\x93\xA8\x17\xD9\x1F\x9F\xA0\x86\x09\x90\xED\x8E\x56\x96\x20\x78\x28\x78\x72\x2A\xA4\x55\xB3\x98\x9E\x48\x96\x58\x90\x24\x94\x9B\x93\x02\x95\x11\x25\xD4\x52\xA1\x9E\x96\x4A\x99\x6A\x96\x70\x91\x0C\x95\xA8\x77\x9C\xB1\x20\x55\xAA\x68\x78\x55\x94\x7C\x97\x5E\x91\xCE\x91\x0E\x95\x25\x25\xE8\x53\x8A\x9F\x97\x56\x9C\x7C\x93\x4A\x96\x30\x95\xC2\x94\x4F\x98\x46\x42\x9F\x43\x89\x08\x0A\xAF\x94\x48\x6C\xBF\x94\x78\x94\xC5\x27\xF2\x51\x9A\x9D\x86\x32\x95\xFC\x8D\x0E\x96\x80\x93\xAF\x93\x54\x28\xFA\x51\x90\x97\x86\x6A\x34\xF0\x89\x54\x31\xC3\x95\x2B\x6D\x8A\x2A\xDD\x54\xA8\x99\x9F\x52\x9A\x66\x96\x5D\x94\xBA\x93\x31\x95\xBB\x26\x8B\x4B\xBD\x9A\x9E\x3F\x94\xAC\x93\xC5\x90\xEF\x90\x76\x84\x0A\x26\xEC\x42\xB9\xA7\x8E\x56\x97\xEC\x72\x64\x95\x0E\x95\x72\x93\x0D\x25\x94\x4E\x8F\x94\x90\x57\x9E\x5D\x97\x40\x94\xBB\x93\x04\x95\x44\xCC\x4F\x47\x81\xBA\x7F\x58\x9B\xA6\x6F\x61\x97\x8C\x95\x36\x92\xEC\x2A\xDA\x4B\x83\xA8\x83\x35\x9C\xB3\x96\xCD\x90\x19\x94\x38\x93\xD7\x28\x95\x48\xAE\xAC\x85\x46\x9D\x7A\x5E\xC5\x90\x9F\x78\xA2\x95\xE4\x11\xCF\x55\xB6\xAC\x8D\x4A\x9A\x83\x97\xCA\x92\xCE\x95\x2C\x93\x0A\x29\xDB\x4C\x80\xA3\x86\x58\x9E\xA3\x90\x61\x97\x62\x6B\x52\x8D\xF2\xCB\x58\x56\xA7\x6A\x7A\x5A\x99\xAB\x91\x5A\x95\x9D\x94\x47\x95\x7E\x29\xBE\x55\xAF\x9C\x86\x31\x93\xB6\x93\xD2\x93\xC1\x95\x6D\x95\xD5\x04\xB0\x29\x8F\xDD\x79\x8A\x4A\xB6\x90\x4E\x8A\x2D\x79\xAD\x95\x4C\x28\xD9\x4E\x8E\xA1\x9F\x2F\x9F\xA1\x96\x62\x95\x2B\x94\x8C\x95\xAF\x28\xCC\x4C\x9B\xAC\x93\x16\x32\x4A\x86\x8C\x3D\x06\x93\xE0\x92\x6D\x2A\xB4\x56\xBF\xAD\x8D\x5B\x90\x62\x92\x5A\x94\x34\x95\xB8\x92\xD2\x28\xA8\x56\x80\xAB\x8A\x59\x96\x8D\x94\x65\x94\x36\x95\x4F\x94\xDA\x28\xF5\x4C\x97\xAD\x92\x5C\x98\xF6\x75\x19\x94\x52\x93\x67\x94\x38\x29\xD1\x51\xBA\xA4\x93\x46\x94\xB7\x93\x2D\x95\xB6\x95\x0B\x94\xAF\x2A\xB6\x3C\xBD\x90\x9F\x84\x83", -"\x6B\x81\x0B\x95\xB3\x95\x73\x95\xC3\xD8\x47\x56\xA1\x9F\x8C\x62\x63\xB1\x94\x1E\x95\xC5\x95\xAE\x93\x21\x2A\x88\x57\xA3\xA8\x8A\x5C\x91\x8B\x95\xE3\x81\x96\x82\xB1\x4C\xFF\x28\xCC\x55\x91\xAE\x98\x5D\x91\xA7\x91\x43\x97\x55\x93\x0D\x95\xA8\x28\xC8\x4B\x81\xAC\x92\x5B\x99\x89\x92\xDD\x92\xCF\x95\x32\x94\x9E\x2B\xD2\x56\xBB\x7F\x91\x48\x9B\x6D\x93\x22\x94\x31\x88\x49\x92\x34\xCA\x7D\x48\x9F\xAA\x84\x5D\x91\xF9\x70\x17\x95\xBE\x93\xA4\x95\x35\x26\xE1\x54\xB3\x96\x9A\x5C\x96\xBD\x91\x58\x94\x27\x94\x57\x95\x5F\x26\xEF\x52\x9D\x1B\x90\xB9\x7C\x0D\x93\xD8\x91\x49\x8B\xE8\x8F\xC4\xE0\x48\x4D\x96\x44\x97\x5D\x90\x78\x79\x46\x96\x52\x94\x25\x94\x9D\x23\xDC\x56\xB8\xAC\x9B\x41\x9F\xB5\x91\x2A\x95\xD8\x95\xA9\x94\x4F\x2B\xD5\x52\x91\xAD\x97\x4A\x98\x92\x96\x91\x90\xAB\x92\x48\x92\xDD\x26\xA3\xDE\x5F\x9B\x89\x36\x9C\xB0\x94\x7C\x96\x27\x78\xCC\x93\x4D\x23\xEF\x56\x93\xAB\x98\x51\x95\xAD\x92\x47\x94\xC1\x94\x16\x94\xAF\x2B\xAE\x50\xB1\xAE\x92\x5F\x9D\xAD\x96\xAC\x8B\x5A\x5B\xFF\x8F\xE0\x2B\xEF\x6A\x54\x92\x86\x08\x0D\xB7\x92\xB4\x85\xC8\x94\xCA\x95\xB9\x28\xE8\x57\xBB\x9B\x8A\x5F\x97\x63\x94\x7D\x94\x35\x94\xCE\x95\x0D\x29\xF0\x57\x9E\xA2\x90\x48\x9A\x6D\x91\xB4\x86\x18\x86\x8A\x8C\xBC\x24\xEA\x44\x8E\x38\x5C\x5F\x90\x9E\x96\x68\x95\xBA\x94\xFA\x93\xEB\x2A\x81\x54\x9B\x9E\x8B\x5A\x9D\x79\x95\x69\x95\xA9\x92\x79\x95\x41\x28\xF4\x55\xA3\x9E\x81\xE7\x8C\x77\x71\x31\x94\x4B\x89\xB6\x6F\xDB\x1D\xCC\xE1\x5D\x77\x99\xEE\x81\x86\x55\x40\x2C\xB0\x8B\xB8\x80\xE1\xA5\x39\x2D\x85\xB1\x9C\xA6\x12\x97\x75\x9A\x90\x92\x43\x5E\x8B\xEC\xFB\x38\x24\xB3\xAB\x75\xFB\x82\xB1\x93\x70\x97\xD6\x93\xDF\x95\xF6\x28\xCC\x4B\x93\xA1\x89\x5C\x95\x85\x96\x3D\x97\x82\x95\x91\x87\x9E\x1B\x8E\x54\xA9\x93\x99\x9A\x80\x0B\x93\xAE\x30\x1A\x97\xFC\x7D\x35\xEB\x1A\xA4\x5E\x9A\x81\xFA\x83\xC0\x96\x6B\x96\xC9\x95\x8A\x93\x69\x29\xBF\x51\xAE\xAE\x84\x5B\x95\xA9\x96\x8E\x95\xBE\x8A\xC1\x82\xF0\x29\xBA\x4F\x98\x8A\x99\x39\x96\xAF\x61\xEF\x7E\x3A\x94\xB1\x8C\x04\x25\x85\x46\x8C\xCF\x12\xE3\x76\x19\x68\x2B\x68\x59\x95\x0C\x8A\xE2\x28\xB0\x28\xA4\xA3\x92\xA1\x87\x1F\x94\x86\x89\x7E\x91\xA7\x92\x85\xE6\x24\x03\xA1\x78\x86\x0D\x8A\x2C\x93\xA3\x91\x0C\x85\x5B\x91\x7F\x2C\x86\xF8\x6F\xAD\x69\x8E\x63\xC8\x94\x22\x90\x44\x67\x26\x95\x8E\x26\x82\x56\x93\xA0\x92\x54\x95\x81\x91\x84\x95\x1E\x95\x11\x96\xF1\x20\xE5\x1E\x82\xA9\x8D\x56\x8F\x77\x95\x38\x95\xEB\x54\x33\x4F\xB1\x2C\xAD\xF8\x78\xAD\x7E\x64\x95\xCB\x93\x25\x90\x18\x8B\xF9\x90\x62\x14\xF5\x43\xB5\x4E\x99\x48\x87\x3B\x8E\x9B\x82\xF4\x8A\xFB\x8D\xF2\xCB\x49\x59\xA1\x05\x8B\x66\x92\x01\x6D\x99\x95\x7C\x91\x67\x96\x31\x22\xD1\x59\xB3\x88\x93\x66\x90\xFD\x85\x9A\x97\x22\x88\x61\x6F\x03\x23\xEB\x49\x8B\x95\x3A\x66\x95\x55\x80\x02\x69\x80\x68\xF3\x95\x70\x27\xB2\x58\xB2\x9D\x94\x61\x9D\x6F\x91\x91\x97\x48\x95\xBA\x95\xAD\x2A\xF7\x56\x86\x78\x9F\x53\x94\x94\x89\x8F\x97\x24\x96\x38\x8F\x74\x0A\x72\x3C\xA5\x17\x9F\x07\x0D\xC1\x88\x91\x74\x3B\x96\x3D\x7E\x84\xEB\x2E\xA2\x5F\xB2\x8E\xA1\x81\xCA\x92\x46\x93\x28\x96\x1A\x91\x3D\x25\xA7\x59\xBF\x94\x96\xBB\x88\xD8\x86\x0F\x84\xB2\x95\x08\x8A\xF5\xEE\x1E\x55\xB6\x93\x27\x68\x9C\x0A\x6B\x96\x96\x42\x96\x6F\x96\x04\x22\xE1\x51\xAA\x67\x83\x47\x9C\x9E\x8D\x10\x94\x85\x8D\x8D\x84\x16\x1A\x9B\x0B\x90\x96\x85\x1A\x91\xAA\x64\x56\x96\xF2\x94\x5E\x8B\x9C\x2C\xC8\xA3\x5F\xB4\x98\x60\x94\x6E\x94\x64\x96\xB9\x93\x43\x96\x3B\x2B\xAC\x57\xB4\x9E\x8E\x5F\x9E\x93\x92\x9F\x94\x30\x96\xE8\x93\x49\x6A\x5A\x46\xA6\x96\x97\x68\x90\x33\x96\x31\x93\xB2\x95\x33\x78\xB2\x18\x31\x5A\xAF\xB3\x86\x5D\x90\x61\x95\xE8\x93\x3C\x94\x3E\x93\xA7\x10\x89\x3B\x90\x43\x94\x1C\x9F\x06\x92\x08\x97\xD2\x8F\x62\x95\xD0\xF5\x1F\x1B\x9B\xAA\x84\x6D\x8E\x62\x81\x9B\x96\x52\x96\x41\x96\x34\x2D\x94\x51\x9A\xB0\x97\x5C\x97\x96\x91\x73\x96\x3D\x96\x32\x95\xF8\x2C\x99\x4E\x80\xAD\x98\x2B\x95\x38\x79\xDC\x8E\x57\x96\x2B\x7E\x57\xD1\x5D\x59\xA1\xB5\x9D\x48\x9A\xC4\x97\xFE\x90\x13\x97\xFC\x93\x4E\x2C\x9F\x4F\x90\xB1\x95\x6A\x92\xC5\x93\x08\x96\x70\x87\x4B\x8E\x78\x04\x84\xAE\x5C\xB4\x80\x2B\x89\xD0\x96\x1A\x68\x1C\x95\xE8\x95\x89\x27\x9E\x54\x8B\x9E\x86\x3F\x94\x81\x97\x0E\x96\x2F\x97\xB6\x94\x55\x2A\xD9\x28\xB7\x97\x81\x74\x73\xD8\x95\x22\x69", -"\xAF\x75\x89\x18\x6C\x2C\xE2\x4F\x92\xAF\x84\x3F\x9B\xD8\x94\x15\x95\x63\x96\x11\x95\xE9\x27\xAE\x45\xA6\xAD\x87\xC4\x61\x66\x91\xC1\x92\x5A\x90\x78\x76\x0B\x26\x9B\x59\xB0\xB5\x89\x8B\x8C\xCC\x93\xAE\x94\x31\x8F\xBA\x96\x1F\x29\xF4\x59\xB4\x9D\x90\x52\x9B\xA3\x92\x4A\x96\xDD\x95\xB2\x95\x15\x00\x9A\x4C\x82\xB4\x7E\x11\x55\xD9\x94\x25\x6B\x65\x96\x4A\x20\x99\x2D\xBC\x57\xAE\xB1\x94\x58\x9A\x24\x96\x70\x97\x67\x96\xE1\x95\xA1\x2D\xA4\x54\xA3\xB6\x84\x46\x9C\x21\x7C\xE7\x8D\x5D\x63\xDE\x96\xFE\xE4\x01\x59\xB3\x48\x6E\x6D\x94\xE1\x8E\x72\x95\xEA\x94\xCC\x95\xAB\x2B\xB6\x58\xAD\xAE\x8B\x4F\x9F\xD8\x94\x30\x94\xDE\x94\x5B\x8D\x5C\x10\xAA\xDA\x42\xB6\x9F\x6A\x93\xDD\x90\x9E\x95\x41\x94\x79\x96\xBB\x28\xD8\x5B\x84\xA8\x9A\x69\x9C\x93\x94\xA7\x94\x82\x94\x1D\x96\x0F\x29\x84\x48\x8F\x99\x84\x71\x8D\xA2\x93\x19\x20\x79\x97\x35\x96\x87\x2D\x82\x57\xA9\xA2\x84\x5C\x9D\xD9\x90\x44\x97\xC5\x95\x39\x96\xC3\x2B\xF5\x58\x9F\xB7\x86\x4C\x9F\xB2\x95\xEB\x63\xE3\x95\x10\x94\xAA\x2D\xC3\xD6\x52\xB7\x98\x6F\x9B\xD0\x97\x60\x8D\x4B\x91\x30\x94\x4C\x25\xD4\x59\x8E\x95\x93\x68\x92\x42\x7E\x11\x8A\xE8\x95\x49\x8D\xD0\x2D\xE8\x22\x9D\xB2\x92\x6B\x96\xDE\x96\x4B\x94\x7A\x97\x83\x94\x77\x2D\x89\x52\xB9\xB5\x9B\x3F\x9E\xDE\x97\x67\x94\x7C\x96\x77\x93\xC6\x22\xEB\x43\xA7\x53\x98\x4F\x97\xF9\x27\xBE\x95\x6B\x97\x0E\x97\x23\x2B\x9F\x5C\xA0\xA9\x81\x71\x92\xA6\x97\xAC\x95\xCA\x95\x32\x95\x2B\x2B\xC3\x55\x9F\xAE\x93\x5A\x95\xFA\x88\x60\x8E\xA1\x95\x20\x91\x21\x2A\x2E\x5C\x9C\xB8\x8C\x6A\x98\x75\x92\xCF\x93\x53\x97\xA3\x93\x2C\x0E\xCE\x12\xB2\x84\x87\x7F\x8D\x05\x84\x16\x8E\x4A\x94\x7E\x82\x66\x24\xE5\x12\xA8\x91\x9D\xDC\x69\xE1\x93\x26\x70\x3A\x68\xB0\x96\x30\x2E\xB7\x56\xB6\xB4\x99\x59\x98\xD3\x90\x6C\x97\x88\x97\x85\x94\x38\x2C\xC2\x55\xAB\xB5\x87\x49\x9C\xC3\x95\xF9\x8D\x29\x93\xE7\x8F\xF7\x2B\xC5\x4D\xB9\xAF\x94\x90\x55\xE5\x90\x5E\x73\x95\x97\xF2\x96\x44\x2E\xA7\x51\xBA\xB7\x9B\x6C\x9A\x8A\x95\xBF\x96\x71\x96\x5E\x96\x8E\x2D\x8C\x59\x9A\xAB\x91\x6C\x9B\xBD\x95\x87\x95\xF9\x8E\x9B\x70\x44\x29\xE8\x3F\x8E\x86\x93\x60\x9B\xBF\x91\xA9\x97\x6A\x97\x0D\x97\xAF\xD1\x20\x5A\xAF\x88\x80\x67\x9D\xD0\x92\x9C\x97\x43\x96\x72\x96\x65\x14\xE6\x59\x91\x5F\x8A\x03\x85\x70\x91\xDE\x93\x29\x92\x64\x81\x6C\x2E\xC2\x5C\x89\xBA\x94\x6E\x9B\x01\x93\x57\x94\xDC\x95\x3B\x95\x66\x2D\xF9\x54\x8A\xB2\x9C\x6E\x9A\xE7\x90\x76\x95\xFC\x94\xB2\x8A\x2C\x23\xF4\x57\x8F\x88\x80\xEE\x8E\x23\x96\xE4\x58\x5D\x95\x36\x3E\x3F\x0A\x6D\x5C\xB7\x48\x8E\x67\x98\xE5\x91\xCE\x97\x92\x94\x0E\x95\xB8\x2C\xAD\x4E\x94\xAF\x80\x4C\x9F\xC1\x92\x30\x95\x77\x97\xF6\x94\x03\x2E\x96\x4D\xA5\xB6\x84\x92\x6B\x92\x8E\x31\x97\x5F\x8A\xC1\x73\xD3\x24\xA5\xB2\x5C\x4A\x71\x3F\x73\x65\x8A\x37\x8A\x2B\x74\x28\x74\xD8\xE8\x2D\x10\x3F\x03\x19\x3F\x76\x42\x3C\xFF\x73\x09\x75\xC0\x7D\xD6\xE8\x7C\xD1\x44\xA3\x63\x49\x7B\xE5\x78\x2D\x81\x45\x74\x55\x89\x90\x0D\x6C\x0C\x09\x56\x8A\xCE\x77\x44\x70\x02\x76\xB5\x97\x3B\x86\x58\x5A\x50\x5D\xAB\xA3\x79\x46\x7F\xA1\x78\xD2\x7A\x2D\x75\x8B\x74\x0C\x08\x63\x5D\xAF\xE8\x70\x5E\x0F\x8C\x77\x06\x77\xB5\x97\x28\x84\xCF\x2E\xEA\xD1\x5C\xA8\x6C\x77\x9A\x10\x06\x05\x75\x5A\x15\x6F\x97\xEB\xF6\x4B\xD1\x53\xA2\x66\x42\x73\x8E\x76\x18\x74\x56\x73\x7B\x97\x44\x08\xA0\xD2\x55\x15\x0A\x4D\x9C\x8E\x73\x89\x72\xB7\x96\x6F\x74\x1F\xF7\x02\x5E\x84\xA4\x6D\x46\x76\x50\x29\x94\x3F\xDF\x7B\x68\x74\x54\xE8\x54\xD1\x7D\x22\x9A\xE8\x3F\x8A\x74\x03\x77\x14\x74\x34\x7B\x76\x09\x6F\x5D\xA1\xBB\x8D\x2B\x04\x8F\x73\x0B\x77\x8E\x07\xB8\x7B\xF9\x02\xB3\xF7\x50\x32\x9B\x8C\x89\xED\x91\x24\x77\xB6\x97\x46\x74\xC8\xFB\x6E\x5D\x83\xA4\x78\x48\x78\xA0\x80\x86\x20\x1C\x74\x39\x74\x9F\x0C\xCE\x5D\x9C\xBC\x8A\x77\x9B\xEF\x91\x22\x77\xB2\x68\x90\x97\x55\x05\x22\x5E\xAB\xA1\x71\x77\x99\x9F\x81\xE2\x23\x46\x75\xFB\x5C\x8F\xE8\x2B\x5E\xBA\xBC\x8A\x78\x9A\x54\x04\xE1\x94\xBF\x96\x00\x00\x49\x2F\xE4\xEE\x40\xBC\x91\x78\x90\x88\x71\x1C\x77\x6A\x7F\x36\x1C\x96\xE8\x77\x73\x64\xE5\x79\x41\x7D\x9B\x94\xE9\x94\x4C\x00\xA7\x97\x3E\x2F\xDB\xC8\x72\xBC\x88\x49\x76\xF5\x92\x8B\x67\xA1\x7F\x72\x97\x3A\xF9\x25\xD0\x61\x9F\x02\xCA\x59\xEE\x92\xDF\x95\x56\x81\xA7\x97\xFE\xF8\x60\x5D\x9F\xD5\x61\x79\x93\xF3\x94\xE8\x97\x64\x8B\x79\x97", -"\x68\x2F\xB6\xD0\x77\xE7\x5D\x45\x7C\xF6\x93\x32\x54\xCF\x97\xB7\x97\x61\x2F\xBF\xD1\x63\xBD\x8B\x96\x89\x92\x77\xD3\x87\xA2\x7F\xB7\x72\x3B\x0E\x24\xF0\x63\xEF\x7A\x46\x79\xF3\x91\xC0\x71\x38\x27\x8E\x97\x2F\xE8\x5C\x5D\x86\x04\x0A\x7C\x91\xF0\x90\xDA\x7B\x49\x74\xC2\x97\x65\x2F\x86\x5F\xBE\xE8\x63\x23\x74\x8E\x77\x3E\x5F\xC5\x96\x8D\x97\x2C\x2F\xE9\xD1\x5A\xBB\x91\x76\x92\xF9\x93\x20\x03\xE7\x97\x87\x97\x97\x2F\xF2\x5E\xB2\xA3\x74\x79\x9E\xC2\x96\xE4\x96\xD6\x1F\x7B\x74\x8D\x2F\xD2\x08\x8D\xA4\x6B\x78\x92\x92\x70\xE6\x97\x3F\x74\xA0\x97\x4A\x05\x42\x5E\xAB\xBE\x96\x7B\x9C\x7E\x81\xC6\x23\xCD\x97\x84\x74\xB1\x2F\xB4\x0D\xB3\xBE\x8D\x7A\x95\xFB\x97\x13\x77\xA4\x46\xDC\x97\x30\x01\x3A\x5F\x85\xBE\x98\x1A\x8B\x93\x22\x61\x23\xD1\x97\x12\x74\x56\xF7\x4A\x5E\x8E\xBE\x83\x7E\x9F\xF5\x95\xF8\x95\x55\x03\x59\x04\xD1\x2F\xD2\x5E\x90\xBC\x84\x44\x84\x84\x71\xF3\x94\x0A\x4C\xD3\x7E\xAC\xCE\x21\xFD\x1A\x45\x9F\xD5\x5D\x29\x47\x04\x2A\x72\x8A\x62\x8B\x85\x26\x86\x4E\x6A\xB3\x9F\x51\x03\xFE\x96\x9D\x90\x0C\x97\xF3\x95\xB0\x2D\xED\x55\xB2\xB6\x92\x3D\x9C\xDE\x96\x40\x95\x89\x96\xEC\x95\x3A\x2E\xB4\x4E\xBC\xB3\x88\xF0\x8E\xCF\x97\x62\x90\x25\x97\x4D\x91\xF5\x29\x97\x15\xA6\x9E\x8F\xF0\x83\x10\x05\xFD\x94\x42\x92\x68\x95\x95\x2B\xE3\x5A\x97\xB7\x85\x6B\x99\xDD\x96\xC6\x97\xE6\x94\x1C\x97\x9D\x2B\xF9\x5F\x87\xB9\x7B\x7F\x96\x29\x97\x52\x94\xCE\x93\xB5\x89\x01\x25\xA6\x54\xAC\x2A\x92\x50\x95\xAA\x36\x00\x9B\x47\x92\x04\x98\x31\x2C\xF1\x5F\x8A\xAD\x8A\x5D\x9B\xDE\x92\xBB\x97\x4E\x97\x30\x97\xEF\x2B\xBE\x5A\xA7\xBA\x94\xCB\x8A\x36\x7B\x95\x96\x0B\x85\x56\x96\xA9\x6D\x29\x03\xB5\xB7\x80\x00\x0E\x01\x9D\xA6\x90\xE0\x94\x9B\x94\xD6\x2D\x82\x54\xA4\xC0\x8C\x5A\x95\xFF\x91\x5E\x95\x02\x97\x79\x95\x0B\x2C\xF5\x55\xB0\xAA\x92\xFC\x73\xCC\x97\xEC\x86\x8E\x8E\xE6\x94\x1B\x0D\x93\x35\xB5\xC0\x86\x2A\x97\x03\x99\x83\x96\xA9\x94\xB2\x96\xA8\x2A\xA1\x5D\xAA\xAA\x83\x75\x9B\xA7\x97\xD7\x95\x9F\x94\x3E\x97\x9C\x20\xF2\x45\x84\x5C\x6B\x82\x95\x55\x90\x04\x98\xFC\x97\x1C\x98\x4B\x2C\xBB\x60\x8D\xB1\x9D\x81\x9D\xB3\x97\xFE\x94\xD4\x95\xEC\x95\x0C\x2C\xDC\x45\xA9\xB3\x9D\x63\x96\x4F\x34\x0B\x98\x5B\x92\x5B\x97\xBA\x2A\xB8\x5D\xBC\xAA\x91\x40\x9A\xCB\x92\x05\x95\xAF\x96\x1E\x95\xA5\x2E\xA2\x58\xA9\xC5\x79\x3D\x91\xA8\x97\x79\x8B\x59\x93\x00\x98\x04\x2D\x94\x64\x6E\xC1\x97\x2C\x99\xE5\x92\x80\x97\x96\x96\x02\x96\x5D\x2E\x86\x58\x9F\xB9\x82\x5B\x9B\xC8\x97\xB6\x95\x23\x97\x60\x97\x58\x23\xEE\xC7\x14\x18\x9F\x3A\x54\x7D\x95\x7E\x95\xB8\x95\xEB\x93\x19\x2D\xE1\x41\x8B\x95\x23\x84\x94\x5C\x95\x10\x99\xE0\x94\x23\x97\xBD\x2B\xD0\x5A\x9A\x73\x9E\x2C\x94\x3A\x90\xB4\x90\xCA\x91\xA1\x84\x53\x00\xF2\x40\xB1\xAA\x93\x07\x9D\x95\x90\x7C\x52\x4B\x96\xA4\x96\x09\x01\x1C\x61\x96\x97\x9C\x74\x95\x2A\x90\xB1\x96\x1C\x95\xE9\x95\x1D\x2C\xB4\x5B\xB7\xC1\x96\x6D\x99\xCF\x90\xB7\x94\x16\x99\x0C\x8E\x7A\x25\xA0\xB4\x55\x08\x93\xAE\x7C\xA9\x93\x11\x97\x51\x96\x5E\x8C\x01\x01\x32\x61\xA8\x97\x87\x62\x9F\x9F\x91\x89\x94\x18\x98\xBB\x96\x62\x30\xF8\x5A\xA4\xC1\x8E\x5A\x97\xBD\x97\x0C\x9A\x04\x98\x21\x98\x79\x25\xA9\x5D\xA1\x84\x96\x84\x93\xC7\x8C\x18\x72\xDD\x90\xCA\x93\x34\x30\xE2\x4D\xB5\xA4\x8E\x82\x9E\xE9\x93\x83\x97\xA3\x95\x5C\x98\x91\x2A\xB5\x5B\x93\xAA\x99\x83\x9F\xCB\x93\x05\x99\xFF\x87\x7B\x95\xDF\xF1\x1C\x63\x4A\xC3\x9A\x2F\x9D\xAF\x90\x67\x92\xF1\x93\x5C\x97\xC8\x27\xF5\x60\x8C\x9E\x94\x82\x9C\xAA\x92\xAD\x97\x89\x97\x8D\x93\xE3\x25\xF2\x3D\x9E\x74\x7B\x82\x92\x0E\x99\x80\x97\x27\x98\xA7\x96\xA1\x30\xC8\x5C\xB3\x5B\x8A\x72\x96\x23\x91\x58\x80\x94\x91\x57\x48\x58\x28\xAC\x5C\xB3\xC3\x8E\x30\x9D\x04\x9D\xA6\x96\x8C\x97\x92\x95\xF3\x2F\xA1\x52\x8E\xC0\x8D\x5F\x98\x02\x9D\xA7\x96\x2F\x99\x9F\x96\x96\x06\x87\x53\x87\x60\x8A\x43\x9E\xA6\x8E\x9A\x89\x01\x99\x82\x98\xF8\x23\x86\x61\x97\xC4\x97\x69\x99\x11\x9F\x5D\x97\x34\x99\x27\x96\x3F\x30\xD1\x58\x81\xC1\x9A\xBF\x6A\xDB\x97\xF3\x75\xA0\x77\x89\x98\x1E\x26\xF0\x60\xAE\xAD\x8F\x82\x9B\x00\x99\x0A\x99\x03\x98\x51\x97\xF7\x2C\x8D\x61\xBD\xC2\x8F\x84\x9F\x0B\x9E\x04\x90\xD5\x94\x4C\x4E\x56\x2B\xCA\x60\xA8\xC4\x98\x41\x9A\x12\x9A\x04\x99\xFA\x94\x1A\x97\xEB\x2B\x9B\x62\xB7\xB0\x90\x80\x99\xC3\x92\x05\x9B\x0E\x96\xF9\x96\x68\x2B\xB6\xE2", -"\x78\xC4\x91\x31\x94\x0B\x9C\xE8\x90\xEA\x94\x1D\x98\xEA\x2D\xBC\x60\xA6\xC0\x8D\x6F\x9D\x11\x9F\xBD\x96\x55\x99\xF8\x96\xAF\x14\x9E\x12\xBB\xAD\x9F\xD9\x5B\x15\x9B\xCA\x91\x57\x98\xE8\x95\x73\x2E\x89\x5B\xB8\xC2\x92\x82\x96\xAD\x94\x1F\x98\xB6\x94\x76\x98\x90\x2D\xA0\x62\x84\xB8\x87\x8A\x9C\x92\x83\xCC\x92\x9E\x41\xB6\x98\x9D\x26\xEF\x62\xA5\xAA\x85\x87\x90\x05\x9C\x5A\x94\x5D\x98\x0F\x96\x76\x31\x85\x56\x8E\xC2\x9B\x73\x9A\x17\x9E\xA0\x8F\x08\x7A\xE0\x70\x66\x9E\x00\x63\xB4\x9A\x8D\x70\x96\xDE\x88\x61\x8E\x33\x87\x72\x94\x11\x2D\x87\x51\x89\x79\x92\x6B\x8A\xE2\x95\x76\x96\x44\x99\xA5\x98\x4C\x29\x87\x62\x9F\xC5\x81\x83\x91\x16\x9B\x0C\x9B\x58\x98\xFB\x97\x65\x31\xA6\x5C\xA7\xC5\x88\x71\x9C\x71\x97\x55\x78\xAD\x7A\x8E\x80\xEC\x2F\xA0\x63\x9A\xA8\x83\x8C\x92\x07\x9F\xD3\x95\xAF\x94\x74\x98\xBF\x2A\x9C\x62\x94\xC5\x82\x73\x9F\x0F\x9C\xAD\x94\xAA\x96\x27\x97\xDE\x06\xB6\x31\xBD\x13\x87\xEB\x85\x91\x96\x62\x8F\x0A\x97\x93\x98\x0F\x27\xB3\x63\x8E\xC3\x8A\x80\x90\x16\x9C\x01\x99\x09\x98\xA9\x98\xDB\x2D\xD5\x60\xB8\xC5\x9E\x6E\x95\x14\x9C\x44\x92\x11\x78\xB3\x8A\x7B\x24\xD2\x31\x87\xC7\x82\x08\x02\x19\x9C\xD9\x90\xC4\x94\x7F\x95\xF7\x30\xF3\x60\x8E\xA9\x98\x8D\x93\xB7\x97\x04\x9B\x6E\x99\x14\x98\x1F\x31\xEE\x61\xAC\x1B\x99\x4A\x98\xDD\x75\x1D\x88\x2C\x6A\x42\x97\x65\x64\x5D\x63\xB7\x9B\x8F\x7F\x91\xCF\x96\x29\x9B\x0C\x96\xA8\x98\x35\x2C\xD0\x63\xA6\xC7\x89\x6B\x95\x92\x93\xCC\x94\x9A\x95\xA0\x94\xF0\x26\xC3\x61\x95\xC2\x7C\x4A\x95\x25\x95\x73\x6E\x7C\x99\x03\x6F\xA3\x2A\xC8\x58\x95\x99\x9D\x5A\x90\x7B\x95\x25\x9B\xC9\x94\xFD\x98\x64\x31\xE7\x63\x9E\xC4\x84\x8A\x9D\x18\x99\xDB\x90\x7B\x99\x8A\x7B\x72\x29\xC7\xE5\x6F\xBA\x8B\x13\x92\x2F\x5A\x36\x9B\xF3\x94\xDA\x98\xB6\x30\x80\x56\x9C\xB6\x89\x41\x9B\x0F\x99\x28\x98\xA9\x97\xC5\x98\xA6\x2E\xD7\x62\xA0\x99\x82\x89\x96\x0C\x7E\xE3\x93\x16\x97\xBB\x66\x6B\xD6\x0C\x53\x81\x56\x8A\x05\x87\xDB\x2F\xC0\x07\xFD\x10\xF4\x97\x52\xF7\x4E\x0C\x81\xF4\x73\x45\x90\xEA\x3C\x05\x5F\xA1\x93\x97\x63\x1B\x32\xB2\xD2\x3D\x55\x89\x86\x71\x4D\x90\xD9\x95\xBF\x7A\xC0\x48\x35\x32\x8D\xB0\x43\x8B\x69\x2A\x53\xBA\x2C\xC7\x45\xE5\x56\x8C\x92\x82\x13\xE7\x4E\xB0\x20\x87\x68\x87\x9F\x5D\x8A\x69\x22\x91\xB0\x4E\x31\x25\xE5\x37\xAC\xA4\x61\x37\x43\x54\x70\x08\x68\x80\x8A\xB4\x39\x92\x30\x86\x97\x5A\xA5\x83\x6B\x8E\x57\x90\xBA\x8B\xC5\x5F\x25\x58\xB2\x2A\xA3\xDE\x6F\xC2\x82\x2B\x32\xA0\x8D\xF4\x89\x42\x91\x8E\x66\x10\x14\xC5\x5A\x9E\x8D\x89\xD0\x8E\xCA\x69\xC0\x88\x1C\x8E\x12\x8A\x7A\x17\xF4\x46\x87\xCB\x7F\x86\x9A\xB8\x5B\xBA\x93\x2E\x7A\xC0\x96\xC4\x0D\xE3\xB5\x0E\x19\x92\x28\x7D\x8F\x97\x7E\x5C\x5F\x90\x38\x75\xAA\x5D\x7C\x62\x98\x35\x69\x8A\x99\x88\x8C\xC7\x05\x56\x98\xA9\x7B\x3C\x32\xC0\xFE\x6A\x51\x8A\xBC\x37\xE0\x93\xEF\x7E\x76\x91\x52\x3F\x3E\x32\xEC\x51\x9C\xF6\x67\x5E\x99\x3E\x87\x35\x98\x24\x7A\x85\x82\x15\xF7\x3A\x3F\x8C\xC1\x76\xAE\x8B\x61\x55\x44\x91\xCA\x8D\xBC\x63\xD9\x31\xAF\x52\x94\x18\x7B\x71\x0E\x17\x8A\x22\x94\x04\x97\x7F\x7B\x29\x2C\xA3\x1D\xBF\xB8\x81\xF2\x3D\x2A\x9D\x7B\x95\x65\x85\x4B\x97\x15\x19\xDF\x52\xBE\x25\x55\x95\x9E\xC3\x92\xBB\x8D\x92\x6E\x77\x88\x73\x32\x8B\x4E\xA1\x56\x8F\xE9\x7C\x22\x9A\x25\x8A\x15\x96\xBF\x8A\x45\x32\xCE\xEE\x48\xF9\x25\xD7\x27\xE0\x03\xF5\x53\x67\x8A\x33\x96\xC5\x00\xB5\x4E\xA5\x2A\x97\x39\x9D\x86\x87\x9F\x92\xA6\x91\x72\x8B\x4E\x26\x8F\x10\xB2\xBD\x5B\x02\x9E\x74\x97\x76\x8C\xD4\x93\xBD\x7F\x42\x0F\xFA\xCC\x68\xB3\x80\xF1\x88\x2C\x92\xC4\x8E\x46\x93\x18\x98\x69\x27\x80\xEA\x63\xCB\x87\x70\x08\xBF\x70\x4B\x9B\x82\x8A\x99\x92\x5E\x01\xD7\x59\x81\x95\x81\x2F\x59\xCA\x93\x0D\x9B\x00\x99\x4B\x51\xAF\xDC\x7E\xB7\x51\xB2\x9D\x83\x9B\x7B\x97\x0F\x9B\x9C\x8F\xB4\x92\xAE\xDC\x44\xE7\x01\x68\x8F\x58\x80\xC3\x8B\x6E\x92\x09\x8B\xE2\x98\xB1\xD4\x6F\x2B\xAA\x76\x35\x97\x91\xC5\x78\x4D\x98\x2B\x99\x59\x95\x0F\x98\x25\xB7\x03\xCC\x8D\xA0\x8B\xD5\x92\xFB\x87\xAF\x6E\x89\x99\x22\x14\xF7\x64\xBC\x96\x9C\x2B\x9E\x5B\x93\x5C\x95\x69\x87\x4D\x99\xEB\x97\x07\x39\xB9\x0B\x8F\x37\x75\x84\x92\x4E\x7C\x5F\x68\x27\x83\xE8\xE3\x7B\x43\x85\xCA\x82\xEA\x61\xB3\x94\x25\x74\x80\x7F\x7D\x87\x1A\xF6\x13\x65\x8B\xA2\x8C\x94\x91\x2F\x9F\xE2\x73\x8F\x92\x27\x69\x6C\xCC\x07\x3A\x9F\x7D\x91\x1D", -"\x5B\x7A\x58\xC1\x91\x2B\x3D\x4A\x99\x8B\x2F\xF3\xCA\x39\xCC\x8F\x8C\x97\x4D\x84\xA0\x7E\x80\x4E\x73\x8A\x9E\x31\xFC\xC2\x11\x33\x65\x96\x90\x45\x96\x3F\x90\xDF\x71\x68\x6C\xDC\x2B\xBD\x65\xB4\x39\x81\xC5\x6F\xBD\x96\x28\x95\x2B\x31\x88\x99\x0B\x33\xB3\x05\x80\xC7\x8A\x75\x9E\x2A\x9A\xD1\x84\x5D\x84\x35\x97\x23\xEF\x7A\x57\x82\xCC\x9A\x9A\x91\x7D\x93\x12\x83\x4F\x43\x77\x83\xC0\x32\xD8\x4F\xB2\xCA\x9A\x3E\x93\x39\x74\xD2\x94\x29\x93\x95\x94\x51\x15\xA8\x58\x96\xCD\x96\xB0\x34\x61\x63\x6C\x99\x93\x97\xB2\x99\x1A\x05\xE7\x5C\x93\x64\x9B\x25\x9E\x18\x91\x48\x9A\xD6\x3B\xA5\x99\x05\x2E\xAD\x64\x85\xBB\x9F\x38\x98\xC5\x92\x7A\x6E\xB2\x98\x90\x6C\x49\x32\xA0\x04\x4F\xCB\x9B\x4E\x9D\xE5\x8C\x58\x99\xD5\x88\x3E\x98\x6B\xF1\x5D\x65\x94\x2A\x98\xFF\x6D\x7B\x92\xE5\x87\x7D\x94\xAB\x71\x67\x13\xE3\x4A\x98\x8D\x98\xE8\x4F\x95\x89\x03\x98\x90\x95\x2F\x90\x99\x2C\xA2\xF7\x4F\x5A\x68\xA3\x81\x9F\x8A\x95\x95\xB9\x98\x56\x96\x52\x32\x86\x1A\xAF\xCD\x6F\xF7\x74\xE1\x92\x60\x93\x8D\x8E\x98\x7A\x46\x30\xC5\x59\x9A\x34\x9C\xF1\x8B\x9E\x4E\xEE\x84\x4D\x91\x2B\x95\xA0\x19\xF2\x5E\x76\xCE\x95\x68\x85\x50\x7B\x4D\x94\x3A\x7F\xCC\x99\xD2\x32\x98\x1F\x96\xC0\x95\x96\x96\x56\x97\x83\x80\x12\x91\x82\x96\x25\xF4\x4C\x5C\x8B\x7B\x6F\xB9\x72\x26\x9C\x63\x98\x31\x98\xF5\x89\x17\x33\xAA\xBB\x2D\xCE\x89\x71\x90\x89\x81\xB2\x91\xB0\x99\x35\x99\xE8\x6B\x3B\x67\xAD\xC6\x61\x86\x9B\x35\x92\x40\x99\xEA\x8B\x7F\x82\xC7\x30\xD9\x67\xBA\x10\x8B\x9E\x90\x12\x90\x4F\x99\x0C\x8F\x83\x99\xB1\x32\xA8\x28\x9F\xCC\x9C\x99\x93\x13\x94\xD3\x72\x74\x93\x97\x64\xD7\xE4\x53\x67\xBF\xB5\x84\x2F\x93\x10\x9C\x7D\x9A\xF2\x98\xBC\x77\x93\x2D\xE2\xFA\x63\xCF\x8A\x82\x8C\xF8\x75\x65\x9A\x73\x95\xD1\x99\xFC\xDE\x74\x73\x7C\xA1\x86\xE6\x7A\x1F\x91\x66\x98\xA7\x98\xDA\x77\x92\x1A\xA0\x7E\x5A\xCF\x9C\x69\x7F\x49\x88\x08\x8E\x02\x9B\xFD\x99\x0C\x34\xBB\x09\xB4\xB7\x9E\xE0\x70\x41\x98\x70\x86\x78\x86\xA0\x99\x41\x7E\x0B\x68\xAB\x74\x9F\x07\x07\x29\x9B\xD3\x6E\xFC\x99\xC7\x92\x3E\x1D\xD4\x5C\x7F\xC8\x94\xA0\x9D\x3E\x9C\x7F\x9B\x85\x78\x1F\x97\x6C\x33\xD6\x23\x5A\xD0\x9F\x87\x87\x1D\x9C\xC9\x8A\xA8\x98\xB3\x84\x14\xC6\x23\x50\x5F\xD0\x8D\x60\x9D\x42\x9A\xD8\x91\x03\x6A\x68\x8C\x7E\x1D\xAA\x44\x95\x7D\x72\x9E\x94\x3A\x9F\x61\x8D\xA5\x97\xA1\x94\x96\xC7\x30\x65\xB3\xCD\x93\x24\x91\x0F\x8A\x86\x99\x0F\x9B\xEC\x35\xFC\x1F\xF0\x64\xB1\xCD\x83\xA3\x77\x2C\x7A\x57\x9A\xCB\x75\x12\x9A\xD5\x10\xF0\x52\xB6\xD0\x99\x90\x9F\x4F\x86\x6F\x99\x92\x35\x10\x8A\x16\xF2\x3C\xE6\x47\xCB\x84\x92\x90\x72\x92\x46\x99\xB2\x96\x1A\x99\xCC\x32\xA3\xF1\x0B\xCE\x86\x9A\x87\x39\x9E\x82\x3F\x82\x91\x7B\x85\x8F\x2C\xF9\x15\x95\x8C\x83\x9E\x96\x4E\x7D\x9D\x87\x9B\x72\xFA\x94\xFF\x32\xC9\x40\xA5\xD1\x9F\x9B\x9F\x9E\x8A\x6B\x78\x05\x99\x35\x9A\x09\x1E\xB2\x45\x9D\x81\x82\x28\x9B\x32\x71\x5C\x99\xA0\x73\x3A\x9A\x0C\x22\xD8\xEA\x66\xCE\x90\x92\x99\xA2\x90\xC6\x88\xE1\x88\x19\x98\x06\xF4\x00\x69\x8E\x76\x8A\x7F\x5D\x2D\x96\xD2\x74\x4C\x93\x77\x99\x5A\x32\xEF\xFD\x5A\xC6\x81\xA4\x9B\x53\x3B\xF2\x90\xCD\x70\x9F\x92\x47\x34\xAB\x15\xAB\x8C\x7E\x9D\x92\x3E\x9D\x61\x8E\x1D\x9B\x3B\x96\x3C\x0F\xF9\x68\xA2\x5B\x85\x9E\x96\x76\x88\x84\x81\x47\x43\x65\x73\x12\x2D\x99\x69\xAD\xC9\x8F\xE1\x85\x31\x9B\xF6\x87\x0E\x9B\x50\x31\x93\x34\x8B\x69\xA0\x13\x8D\x98\x95\x1F\x87\x9F\x80\xF6\x98\xFA\x32\xA9\x34\xA9\x5A\x95\x33\x9C\x9E\x93\xD4\x96\x7B\x9A\xB8\x94\xD5\x8B\xA7\x34\xA5\xB7\x31\xD2\x98\x11\x9D\xFF\x92\x63\x9A\x56\x96\xA2\x96\xA8\x25\x8E\x43\xBC\xC9\x98\x9C\x9E\x49\x9C\x92\x98\x1E\x64\xB7\x96\x1F\xFB\x43\x69\x92\x53\x90\x27\x3A\xB0\x95\x6D\x99\x33\x9A\x59\x9A\xDD\x9A\x4E\x0C\xA3\xA0\x52\xA6\x9F\x10\x9A\x4F\x90\xD3\x99\x82\x36\xA7\x2D\xF4\xE7\x7F\xF6\x67\xA3\x81\x40\x98\x8A\x52\x6D\x7C\x99\x73\x8A\x34\xC4\x69\x8C\xAE\x92\x99\x9C\xA0\x6C\x66\x9A\xE8\x99\x33\x9A\xEA\x34\xD1\x27\x93\x38\x8E\xA0\x94\x42\x98\xA5\x94\x22\x94\xFA\x8E\x12\x34\xB6\x43\x89\xD2\x97\xA6\x91\x4F\x9F\xEC\x6E\xCF\x99\xAA\x39\x18\x34\x8D\x75\x70\xD3\x93\xA6\x92\x4F\x9A\x08\x81\x4B\x8F\x7A\x9A\xD2\x0F\xBA\x69\xAD\xDD\x74\x5D\x93\x42\x9C\x7C\x78\x3F\x9A\x82\x9A\xFE\x34\xAB\x66\x96\x1A\x49\x5E\x9D\x3A\x7C\x9C\x9B\x3D\x9A\x50\x99\xD3\x02\xAF\x68\x93\xB9\x9D\x3A\x7A\xDA\x2C\x9B", -"\x9A\x81\x93\xC7\x8E\x29\x29\xC1\x63\xAA\x6C\x88\x11\x98\xBF\x91\x6C\x99\x30\x9B\x8E\x9A\x26\x02\xA9\x61\x97\x6D\x81\x6A\x95\x2B\x80\x0F\x82\x7B\x99\xC0\x6D\x27\x35\xB0\x69\xA9\xD4\x8A\x19\x93\x4A\x96\x81\x96\xF3\x8E\xD1\x86\xF2\x26\xA1\x95\x4E\xD1\x88\xA5\x9E\x51\x9B\x1F\x94\x48\x9A\x9B\x9A\x7A\x33\xBF\x58\xBC\xCD\x81\x96\x96\x45\x9A\x0A\x47\x40\x9B\x6E\x9A\xC6\x2B\xFF\x69\xA6\x63\x5B\xA2\x96\xC6\x85\x70\x99\xC8\x92\x2D\x96\x23\x27\xDC\xD3\x09\xCE\x89\x6D\x43\x46\x9A\x9A\x4D\x76\x82\xD5\x2E\x10\x2E\xC8\x4E\x92\xB8\x8A\x3A\x9F\x38\x9A\x73\x98\x1B\x85\x36\x9A\xD6\x32\xEF\x68\x94\xCE\x84\x06\x9B\xF6\x7A\x29\x8F\xC6\x96\x85\x98\x52\x2D\xF4\x2D\x80\xB8\x89\x6E\x94\xBC\x97\x55\x91\xF0\x98\xAE\x8C\xFE\x2F\x98\x60\x8C\xAF\x7F\x9C\x9B\x01\x99\x74\x9A\x35\x84\xB4\x9A\xA3\x23\xD3\x5A\xA6\x90\x9C\x6B\x93\x13\x9E\xAF\x94\x08\x9A\x72\x99\x84\x34\xE6\x65\xB0\xC0\x95\x70\x0C\x97\x6F\xAC\x9B\x84\x93\x08\x97\xE5\x2C\x93\x5C\x99\xD2\x96\x92\x9E\x2D\x96\x5D\x9A\x21\x9A\x78\x99\x75\x06\xA5\xB7\x19\xD5\x89\x72\x94\xF7\x85\x21\x9B\x92\x82\xA2\x84\x40\x25\xB8\x67\x82\x95\x8A\x16\x84\xD2\x95\xC8\x8E\x49\x96\x86\x8D\xF6\x34\x9B\x63\xA5\xCE\x96\x97\x93\x47\x9F\x54\x70\x5E\x9A\x52\x98\x7A\x35\xC0\x50\xBC\xD5\x88\x83\x9A\x05\x90\x72\x9B\x60\x80\x41\x95\xBC\x27\xE4\x6A\xBE\x9E\x92\x82\x57\x5A\x9E\xCF\x91\x29\x98\x40\x93\xD2\x1D\xD6\x5A\xA9\x90\x99\x40\x97\x77\x8C\x95\x98\x32\x9A\x02\x94\x8B\x28\xFF\x4A\x9E\x16\x87\xAC\x9A\x55\x99\xB1\x98\x57\x9B\x19\x9A\x6A\x30\xB4\x69\xB4\x35\x8F\x98\x9A\x26\x9C\xC3\x82\x64\x9B\xCB\x98\xA4\x2C\xE6\x51\xB6\x5B\x88\x47\x9B\xB8\x95\x41\x95\x6F\x9B\x2D\x8E\x6F\x32\xCE\x6A\x4B\x84\x85\x86\x9C\xA0\x69\x7C\x9B\xA4\x57\xDA\x9A\x24\x24\xFF\x4C\x94\xB5\x81\x34\x9D\x57\x9F\xAA\x94\x00\x94\x0D\x94\xB6\x08\x9C\x50\xB9\xC9\x88\x9F\x93\x44\x98\xDC\x6D\x57\x97\xDE\x83\xA1\x62\x13\x6B\x8B\xC4\x95\xAC\x97\x8E\x97\x46\x90\x44\x9A\x25\x8F\x87\x23\xDF\xB5\x3E\x12\x92\xAF\x99\x56\x9C\x21\x99\x7D\x9A\x87\x98\x1F\x35\xC3\x78\x65\xCC\x87\x3D\x88\x55\x98\xBA\x98\x44\x96\x43\x94\x33\x35\x8C\x21\xAC\x6D\x4E\x32\x8C\x58\x82\x94\x95\x49\x96\xCC\x98\x08\x36\xA4\x00\xB1\xDA\x6A\xAA\x9C\x32\x99\x9C\x9A\x87\x7B\x2D\x47\xE0\x35\xBE\x50\xA2\xD7\x9B\xAB\x94\x5E\x9C\xB5\x98\x4D\x99\x3D\x94\xFB\xF3\x3B\x12\x9D\xD6\x88\x10\x9F\x59\x9F\xC8\x8D\x3A\x9B\xFB\x9A\x69\x14\x87\x68\x81\xD9\x6E\xA7\x97\xE0\x03\xBF\x9A\x81\x9A\x48\x97\x33\x14\xE6\x28\x98\xD2\x9A\xA5\x9F\x26\x52\xBC\x96\x7D\x85\xF8\x9A\x2F\x36\xE4\x28\xB1\xD8\x92\x74\x99\x32\x92\xC1\x98\xA1\x94\xAF\x8F\xB1\x14\x84\x17\x99\xD8\x92\x4A\x9B\x61\x9A\xB5\x99\x87\x9B\x6B\x98\x53\x2C\xB9\x3E\x8A\xCA\x94\x94\x9E\x17\x9F\xC5\x83\x73\x9B\x25\x87\x26\x23\xA5\x47\xA7\xC2\x9B\x84\x88\x59\x98\x34\x93\x0A\x92\x6E\x8D\x81\x06\x85\x6C\x90\xD9\x85\xB1\x9A\x20\x97\xC4\x98\x52\x9A\x1E\x84\x9D\x31\x8D\x6A\xB7\xD5\x84\xAE\x94\x59\x99\xE9\x93\x92\x96\x2C\x9A\x3B\x02\xB9\x00\xA3\x39\x91\x87\x80\x8E\x86\xD1\x97\x83\x9B\xE8\x9A\x99\x31\x89\x6C\xBD\x9C\x66\x73\x90\x37\x98\x42\x93\x70\x99\x57\x93\xE9\x33\x96\x52\xA3\x1B\x9A\xB2\x9C\x7C\x8E\x74\x87\x49\x97\x84\x9A\x17\x35\xA2\x2A\x96\xC2\x89\x95\x9A\x43\x9C\xC2\x61\x9B\x9B\x4B\x8A\xD2\x2C\xBA\x6C\xA5\xB2\x92\xB1\x99\x4B\x99\xD0\x9A\x04\x90\x70\x95\x68\x33\xEF\x63\x8E\xD7\x9C\xB3\x91\x16\x96\xCF\x98\x68\x9A\x40\x9B\xA2\x35\xBE\x68\xAF\xCD\x93\x12\x92\x37\x9D\x15\x9A\xD7\x51\xF3\x82\x4F\x36\xFD\x6C\x8B\x6C\x86\xB1\x9F\x50\x9F\xCB\x9B\x4F\x9A\x29\x9A\x8F\x24\xBE\x65\x8C\xEB\x68\x13\x98\xD5\x65\xA8\x9B\xC1\x43\x21\x9B\x07\x2C\xC5\x6C\xBB\xB5\x87\xB2\x9E\x1F\x9D\x65\x94\x46\x8F\xC0\x99\xC6\x32\xAE\x64\x91\xD5\x8C\x2A\x80\x28\x96\x25\x8E\x0B\x91\x66\x78\x53\x35\xBE\x2A\x55\xD5\x93\x78\x8E\x85\x86\xEA\x6F\x20\x95\x37\x9B\x07\x36\xFF\x6C\x96\xD4\x9F\xA4\x99\x46\x98\xDC\x8B\xE6\x99\x80\x5D\xF3\x29\xE3\x6A\xBF\xD8\x96\x9C\x9C\x9D\x94\xEA\x95\xA1\x6F\x63\x9B\x9E\x35\x90\x6C\x8A\xDB\x93\xB1\x9D\x00\x77\x8E\x98\x3F\x92\x6A\x99\x60\x35\x99\x45\x96\x06\x9E\x9C\x91\x96\x8F\x03\x86\xD4\x92\xA6\x85\x8D\x2E\x88\x6D\xA3\xB3\x8A\xB4\x92\x5D\x9C\x58\x8C\x75\x9B\xE2\x95\x60\x36\x97\x4A\xB6\x65\x99\x28\x93\x58\x9F\x0E\x54\x22\x9A\xEE\x97\xA3\xDE\x58\x6D\xA4\xD8\x9A\xB6\x97\x69\x9B\xD9\x9A\x33\x9A\x0B", -"\x70\x2A\x17\x97\x1A\xB5\x06\x80\x17\x91\x49\x9E\xB0\x98\x34\x96\x75\x9B\x8F\x2E\xEC\x6D\xB1\xD9\x92\xB0\x9F\xF4\x70\x9B\x95\x6F\x94\xCB\x98\x5B\x36\xFC\x6D\xA4\xDA\x81\xAD\x9F\x6F\x9A\xA5\x94\x69\x9B\x6A\x9B\xF8\x36\xA5\xBE\x7A\xDB\x9B\x29\x92\x71\x9D\xCB\x99\xA9\x9A\xA1\x8C\xDE\x36\xB6\x4E\x96\x8C\x9A\xE0\x86\x3C\x99\xB1\x80\xF2\x99\x4F\x43\x10\x37\xA2\x6D\x91\xD9\x86\x85\x9C\xD8\x88\xC0\x9A\x4F\x9A\xEB\x9A\x15\x2D\xAE\x46\xBF\xD6\x9C\xAE\x93\x4A\x82\xB8\x9B\x77\x9B\x07\x97\x39\x36\xDF\x2A\xBC\xC7\x86\x53\x95\x6B\x9B\xC7\x97\x10\x99\x60\x6E\x2C\x2D\xAD\x6F\x77\xD2\x88\x95\x39\x72\x9D\xD2\x9B\xA8\x9A\x8F\x9B\x14\x37\xD8\x69\x91\xCE\x81\x40\x99\x0D\x71\xBB\x9B\x61\x5B\xED\x9A\xB0\xD4\x5E\x6B\x84\xDD\x98\xB9\x91\x71\x98\xCE\x99\x84\x9A\xDC\x89\xCF\xE6\x59\x5A\x99\x68\x8E\xBA\x94\x79\x65\x89\x80\x46\x97\x92\x90\xEB\x33\xBA\x5E\x85\xDD\x9C\x2A\x92\x16\x91\xB5\x9B\xAC\x9B\xDC\x9A\x7D\x2D\xE6\x6B\xBE\xDF\x22\x99\x92\xFB\x91\xDF\x9B\xEC\x89\x44\x9B\x3A\x37\xC2\x62\xBE\xC3\x8B\x8D\x90\x10\x9B\x38\x4D\x35\x9A\xD3\x9A\x54\x37\xAA\x6E\x9C\xD9\x87\x19\x9D\x72\x9F\xB2\x9A\x4A\x9A\xFA\x8B\x11\x31\xB7\x6E\x87\xDC\x8E\x09\x90\x77\x98\x26\x93\xDC\x63\x33\x9B\x00\x1A\xBC\x0D\xA9\xA1\x95\x70\x08\xF1\x8E\x5B\x2E\x2F\x82\x30\x94\x39\x37\x86\x6F\xB4\xBD\x72\x89\x9E\x61\x9D\x8D\x46\xD0\x95\xE4\x85\x83\x37\xFC\x6B\xB9\xD5\x8A\xAB\x98\x8F\x90\xEC\x92\xC6\x94\x78\x9B\xEB\x34\xAA\x6C\x8A\x9C\x8C\xB1\x93\x5C\x99\xF3\x99\xE4\x9A\x72\x86\x31\x21\x96\x6B\xAB\xD0\x96\xB2\x9C\x58\x6A\x34\x93\x98\x9A\xD3\x9B\x55\x37\xC9\x6D\xBD\xDB\x9C\xB6\x99\x69\x9F\xC9\x74\x90\x9B\xB5\x98\x68\x0B\xE1\x59\x88\xDC\x88\xB6\x90\x63\x9B\xD1\x98\x8F\x9A\x54\x98\x34\x35\xAD\x63\xB6\x6B\x61\xA8\x9F\x64\x81\xEF\x9A\xD1\x9B\x95\x9B\xB8\x35\xA1\x4B\xBA\xD6\x83\x2D\x90\xBA\x94\xCE\x90\x64\x98\x11\x9B\xBA\x37\x84\x6F\xAB\xDB\x91\xBB\x97\x22\x9B\x28\x98\x63\x98\xF5\x98\xCA\x1B\x93\x3F\xAB\xB8\x82\xBC\x91\x7D\x9A\xF3\x98\x6A\x9A\xCE\x9B\xA9\x37\xFF\x6B\xBE\xDD\x81\xBE\x98\x86\x92\x3D\x70\x45\x9A\xB5\x45\x63\x37\xF5\x51\x9D\x95\x9F\x12\x90\xDA\x94\x4F\x96\x68\x96\x48\x98\x78\x24\xA1\x6A\x9C\xCD\x96\x95\x90\xD4\x89\xD9\x7B\x19\x92\xB4\x8E\x8A\x09\xAA\xBB\x10\xDE\x91\xBD\x9D\x7B\x9D\xDD\x99\x3E\x95\x77\x9B\x96\x2A\xB9\x44\x81\x9B\x89\xB5\x96\xBF\x97\x6B\x98\x88\x71\xF6\x9A\x34\xB5\x71\x21\xA6\x37\x86\x22\x94\x66\x9B\xBE\x9A\x99\x9A\xD5\x9B\x15\x34\xAC\x68\xA9\xBA\x86\xAB\x81\x69\x98\xA6\x9B\x59\x84\x63\x9B\x6F\x37\xD3\x6F\x92\xDE\x89\x14\x8D\x53\x9D\xBA\x99\x83\x90\x3F\x97\x0A\x21\x8E\xE6\x78\xCA\x87\xE2\x8E\x44\x9B\x01\x9F\xFE\x9A\xBD\x9B\x1D\x37\xFC\x6E\x87\xD5\x81\xB0\x9F\x81\x9F\x42\x9B\xB4\x80\x2A\x9A\x5D\x1B\xAE\x6D\x9A\x30\x9D\xBE\x97\x7A\x9A\x58\x8D\xE7\x9B\x8C\x95\x00\x38\xCB\x5B\x91\x8E\x54\xB0\x90\xE6\x6C\xA9\x99\xD4\x7B\x18\x99\x81\x22\xB3\x64\xAF\x80\x81\xB6\x99\xEF\x4B\xD8\x9A\xFA\x54\xA2\x6C\x0B\x38\xF9\x33\x8C\xE0\x83\xB1\x9C\x71\x9E\xEA\x9B\xB6\x9B\x46\x9B\xCC\x36\xD8\x42\xBA\xCB\x80\x54\x9B\x74\x9A\x8F\x96\x7C\x8E\x6C\x86\x0C\xD4\x23\x37\xBA\xCC\x3A\x9E\x8B\x71\x9A\x0C\x96\x0F\x99\x6A\x98\x0A\x2C\x95\x6F\xB3\x6E\x8F\xAB\x99\x0D\x9B\x94\x98\x25\x96\xB0\x8C\x97\x2C\xE6\x6D\x83\x7A\x6D\x57\x82\x88\x91\x03\x9D\xC2\x9A\xEA\x9B\xD2\x31\xA8\x64\xBA\xC1\x8A\x91\x9D\x52\x90\xB0\x9B\xBC\x9B\x28\x99\x2A\x2A\xD3\x64\xAB\xCE\x88\xB9\x9D\x86\x9B\x99\x8A\x57\x8B\x0D\x9C\x38\x04\x9D\x70\xA0\xDE\x8C\xA4\x9E\x52\x95\x08\x99\x8E\x8E\xD9\x99\x3B\x1E\xC7\x59\xA1\x2E\x95\xA4\x80\x7B\x98\x05\x9E\x13\x9D\xD9\x9B\x50\x38\x95\x6E\xAD\x24\x7A\xAC\x94\x5B\x9D\x0F\x9D\x36\x8E\x66\x8A\xFE\x2D\x87\x57\xAB\xD5\x8E\xBF\x9A\xDC\x90\xFE\x98\x1F\x9B\xDE\x99\x48\x38\xA5\xB7\x0A\xE1\x87\xC1\x97\x7C\x9B\xEF\x9A\x94\x9B\xBE\x9B\x61\xEE\x2E\x6B\x97\x68\x9F\x67\x93\xA8\x91\x0E\x84\x9D\x8E\x0A\x63\x33\x38\x8C\x71\xB4\xE0\x9C\xBF\x9A\x70\x9F\xEA\x9A\x35\x97\x6C\x6F\x4C\x37\xA5\xE7\x55\xC2\x8B\x75\x90\x75\x9B\x86\x8D\x66\x85\x50\x31\xA3\x38\xDD\x70\x88\xD6\x91\x74\x9A\x58\x9A\xA1\x98\x68\x7A\xE6\x9A\xDD\xFF\x43\x6E\x80\x31\x96\xC4\x9F\xB4\x89\xAA\x97\xE6\x9A\xFF\x9A\xD3\x35\xF6\x6B\xA6\xDA\x90\xB9\x9C\x3C\x9A\x40\x81\x2B\x9A\x60\x9A\x84\xA7\x31\x71\x9B\x53\x89\xBF\x90\xC7\x93\xFD\x9B\x3D\x95\xF0\x9B\xD1\x38\xAE", -"\x6E\x9E\xE0\x9C\x97\x9B\x5B\x97\x98\x9A\x2F\x9A\x4C\x98\x60\x37\xEF\x6B\xBA\x4B\x7C\xC2\x9E\x86\x9C\xF7\x99\x2D\x9D\x27\x9C\x82\x38\x81\x70\xA9\x9B\x79\xAF\x98\x45\x5C\x1D\x9E\x1F\x9D\x97\x90\xA8\x37\x87\x6F\x90\xE0\x90\xA2\x94\x8D\x83\xC0\x99\x64\x7A\x7B\x9C\x97\x38\xFF\x70\xB9\xE3\x93\xBC\x9B\x5A\x98\xC9\x9A\x5F\x9B\xE1\x4C\x74\x0B\xA2\x71\x83\x79\x8C\xC2\x9E\x85\x9D\x0C\x99\x6A\x98\xFC\x97\x3D\x37\xDA\x57\xAB\xC8\x98\xB5\x91\xD9\x8E\x97\x8D\xDB\x9A\x7B\x32\xC1\x38\xED\x71\x99\xDB\x8F\xC4\x93\x71\x98\xD3\x9A\xF6\x2F\x43\x99\x49\x38\x8B\x72\x8E\xD8\x9B\xC8\x92\x7B\x9D\x23\x9E\xBF\x9A\xA5\x9B\x1E\xBD\x5F\x69\x95\xAD\x94\x33\x83\x6F\x84\x19\x9D\xE8\x90\x67\x9C\xDF\x37\xD0\x71\xAE\xDB\x92\xC6\x9C\x82\x9D\x72\x9B\xFC\x90\x7A\x9A\x19\x37\xCB\xCA\x19\xE4\x97\xC7\x95\x78\x9B\x20\x9C\x07\x9C\x39\x9B\x36\x33\xEA\x62\x86\x27\x7C\xC3\x92\xD2\x96\x40\x90\x43\x9D\x61\x9C\x3B\x36\xC5\x71\xB7\xD3\x8D\x5C\x9A\x17\x4D\xC9\x9B\x1A\x62\x80\x9C\xCD\x38\xA3\x61\xB6\xD6\x86\xBB\x91\x13\x9D\x20\x9D\x44\x9D\x34\x98\xF2\x2D\x9D\x68\x8B\xE2\x9B\xC6\x96\x7C\x9C\xEC\x9A\xA5\x9A\x93\x9C\xB4\x37\x92\x71\x8B\xD4\x8C\x0F\x9C\x86\x9D\x28\x9F\x12\x9D\x91\x9C\xFB\x36\x9C\x72\x88\xDD\x9E\xC8\x98\x92\x9A\x00\x4E\x44\x9B\xA7\x46\x4E\x33\xAC\x1A\x98\xE4\x82\xC9\x9E\xD0\x96\x1D\x9C\x1C\x9D\x7E\x98\xFD\x31\xBD\x63\xA4\xB9\x9D\x73\x94\x67\x98\xCA\x95\x0F\x7A\x3C\x9B\x08\x38\xEC\x99\x70\xE2\x8A\xC8\x99\x53\x97\x28\x9D\x71\x9A\x62\x9C\xC7\x35\x99\x69\x98\xD4\x89\xAC\x74\x68\x9F\x9F\x82\xFE\x94\x6D\x9C\x5B\x15\xDD\x72\xAA\xDF\x85\xBB\x90\x7E\x9A\x1F\x9E\xF8\x9B\xD5\x9B\x8D\x24\xA8\x6D\x8F\xB0\x9A\xA9\x81\x49\x91\x30\x9C\x3C\x89\x59\x99\x90\x21\xD0\x72\xAF\xE4\x92\xCA\x91\x5E\x9F\xB6\x9B\x78\x9A\xB4\x9B\xE5\x35\xBB\x6B\x98\xA5\x81\x90\x93\x26\x98\xE0\x80\xC6\x7B\x02\x99\x83\x39\xAA\xBB\x3B\xE4\x81\xC8\x98\x8F\x9E\x06\x9C\x38\x9D\x99\x9C\xE2\x38\x83\x71\xAD\xE0\x8C\xCD\x9A\x53\x87\x20\x6C\xAB\x9A\x57\x97\x42\x2C\xBD\x20\xAE\xE4\x9C\x2C\x90\x93\x9B\x2A\x9D\x65\x9C\x82\x9C\xB4\x36\xFA\x72\xBF\xC7\x92\x71\x8A\x92\x9B\x5C\x83\xE0\x99\x17\x99\x3F\xF3\x40\x70\xBE\xDA\x8D\x4C\x90\x6C\x99\x8C\x9A\xB9\x4C\x23\x9C\xEA\x2F\x8E\xE7\x50\xE6\x80\x47\x9C\xE8\x93\xA4\x94\x5A\x9D\x26\x9C\x25\x39\xEB\x72\xA7\xE4\x80\x2C\x8D\x6C\x9C\x41\x96\x24\x97\xB8\x9A\x47\x20\x89\x0B\x9A\xCB\x95\x70\x8A\xDA\x2D\x2C\x95\x61\x98\x0E\x96\x87\x31\xBA\x61\x89\xC6\x80\x61\x93\x1D\x98\xD8\x97\x3E\x96\x50\x9A\xC3\x19\xA3\x6E\xA8\x93\x9B\xA3\x9A\x01\x98\x45\x62\x84\x95\xED\x9C\xEE\x39\xBD\x62\x86\xC6\x9F\x89\x93\x05\x9E\x44\x99\x1C\x9C\xEB\x9B\x29\x32\xE8\x62\xB5\xE1\x92\xB7\x9C\xBC\x8F\x2E\x8D\xEA\x99\xBC\x8C\x4E\x10\x8B\x5D\xB2\xE2\x89\xB7\x92\x7D\x9F\x0D\x9C\x20\x9D\x5C\x83\xF1\x38\xBA\x70\xB4\xD5\x96\x1F\x86\x88\x9F\x91\x9B\x63\x9B\x82\x9B\xBD\x84\x4E\x59\x93\xE8\x9E\xCE\x95\x97\x9C\x24\x9D\xFF\x9B\x85\x9B\x58\x37\x8D\x6E\xB3\xCB\x9D\x85\x32\xA2\x9C\x2B\x9D\x23\x9D\x52\x9C\x29\x38\xA7\x71\xAB\xE0\x8F\xB9\x93\x4B\x99\x36\x8F\xBD\x99\x46\x94\x4B\x65\x01\x74\x8D\xC7\x9E\x89\x9F\x1C\x98\x28\x98\x5A\x96\xB9\x9B\x79\x39\xF4\x6E\xB8\x9E\x9E\xAA\x9D\x4F\x94\x78\x9A\x71\x8D\x38\x8F\xC8\x19\xF1\x68\xA7\xDC\x8F\xD3\x84\x44\x96\x2C\x9C\x29\x9C\xAF\x9C\x47\x37\xAA\x70\x9E\xD9\x95\xC9\x95\x85\x9F\xBA\x9B\xF4\x93\x82\x99\xE0\x2A\xDD\x61\xA3\xBC\x76\xB9\x99\xB3\x87\x9B\x97\x88\x9C\xA3\x9C\xDF\x39\x8D\x72\x94\xC3\x86\x83\x91\x86\x9E\x20\x9E\xDA\x9A\xD9\x95\x24\x0B\xE9\x64\x89\xE3\x94\x7D\x85\xBA\x2A\x47\x9C\x69\x98\xE7\x98\x62\x31\x90\x64\xA8\xC6\x92\x90\x96\x16\x99\x3D\x98\x1D\x9C\x6E\x95\x78\x33\x93\x61\xAA\xC1\x5C\xE2\x8C\x8B\x9B\xFB\x7D\x32\x9B\x60\x99\x52\x37\xC2\x73\xA1\xB4\x9D\xCE\x90\xA6\x9D\x44\x9D\x5A\x9D\xF0\x9C\x52\x3A\x9F\x6E\xB4\xE8\x84\xC7\x93\x42\x8B\x63\x9A\xD6\x8D\x8E\x99\x7B\x32\xA0\x50\x93\xDD\x83\xD4\x9F\xA5\x9F\x2C\x9E\xA1\x9C\xF0\x9C\x27\x3A\xB6\x71\xA7\xB3\x8B\xE1\x5F\x3E\x9F\xFE\x7D\x88\x9C\x2F\x9D\x2E\x3A\xB3\x71\x8E\xE2\x88\xD4\x92\xA3\x9B\x4A\x9F\xA2\x9C\xB6\x4D\x77\x37\xDB\x70\xA0\xEA\x91\xCC\x9F\xA2\x98\x4A\x9C\xF2\x9B\xD3\x9C\xCA\x37\xE9\x6E\xAA\xE6\x88\xC8\x91\x78\x9D\x4B\x9C\xA5\x9D\x50\x9D\x14\x3A\xDE\x6F\x86\xE7\x92\xC9\x9F\x7F\x9C\x26\x9F\xA9\x9D\x94\x9C\x14\x39\xE0\x69\xA4\xC4\x8F", -"\x81\x8B\x95\x99\x10\x96\x93\x9C\x61\x9C\x87\x39\xC9\x72\x89\xE6\x85\xA7\x93\x2B\x63\x80\x99\x1B\x8B\x50\x31\x6E\x3A\xD0\x61\xA5\xC6\x92\x86\x97\x1A\x9F\x0B\x9C\x99\x9C\x20\x98\x62\x38\xB3\x75\xBC\xB8\x8C\xD7\x3E\xDC\x97\x57\x87\xAA\x9C\x85\x8B\xDC\x38\xC5\x5B\x80\xAF\x9F\x6F\x97\x83\x9C\x8E\x97\xE7\x9A\x79\x9C\x03\x2D\x8F\x65\x83\x2A\x9F\xD6\x93\x9B\x99\x2A\x9C\x26\x9D\x3B\x97\xEA\x30\xBD\x59\xB5\xE7\x97\x82\x95\x21\x9E\xF4\x65\xA4\x99\x67\x9D\x38\x66\x51\x75\xB1\xB6\x98\x8F\x95\xCF\x96\x47\x9F\x8D\x97\x9D\x9B\x39\x2E\xD7\x72\x98\xC3\x8C\xCE\x91\xAC\x9E\x78\x85\x85\x07\x82\x63\xB9\x0B\xB7\x75\xAC\xEA\x82\xD5\x90\xA3\x9A\x2D\x9D\xA2\x9D\xA4\x9B\xFD\x34\xB6\x72\x97\xD9\x9B\x46\x97\xB1\x82\x42\x9C\xAE\x9C\x12\x9D\x6E\x36\xA6\x74\xAF\xE3\x90\xC4\x99\xA1\x9E\x13\x9D\x7F\x9D\x80\x7E\x64\x39\xEC\x73\x90\xEB\x80\x65\x98\xB1\x9B\xF7\x9A\xC6\x9D\xBB\x9C\x77\x31\xF2\x70\xAD\xC3\x97\xD3\x98\x65\x84\x07\x9C\x5C\x9C\x4F\x99\xBF\x23\xDC\x73\x95\xEA\x8F\xD2\x93\x99\x9F\x2B\x9E\x78\x9D\xB0\x9C\x6D\x39\xC8\x68\x91\xCD\x9F\x73\x90\x74\x77\xCE\x9B\xFD\x9A\x84\x99\x14\x22\x82\x75\x96\xEC\x8B\xD8\x99\xAB\x9D\x06\x9E\x57\x93\x72\x9D\x01\x2E\xE7\x75\x9A\xE8\x87\x74\x8B\x6A\x97\xA6\x9B\xD8\x6C\x62\x93\x07\x38\x9E\x6D\xBD\xE1\x4E\xE5\x6E\x01\x8D\x49\x9C\xA1\x9C\x4B\x9D\x19\x3B\x87\x75\x99\xEA\x90\xC7\x90\x94\x99\xA5\x83\xA3\x9A\x4B\x98\x15\x38\xCA\xBE\x44\x9E\x55\xDA\x9E\x85\x97\x58\x9E\x46\x9C\xAD\x9D\x1B\x3B\xE0\x72\x91\xE2\x99\xD9\x9D\x9C\x85\x8A\x32\xD9\x98\x4B\x97\x9D\x36\xB0\x73\x94\xED\x8D\xD3\x94\xB2\x9D\x50\x9D\xD6\x9C\x4C\x9D\x69\x3B\xB7\x76\xAB\xED\x91\xD8\x98\x53\x80\x04\x9E\x12\x9B\x92\x79\x43\x35\xEA\x66\xA2\x7D\x62\xB9\x56\xE6\x4A\x5F\x9E\xFC\x96\x7E\x9D\xB3\x2D\xE9\x61\xBB\xC2\x8B\x87\x9A\xB2\x99\x2F\x98\xF6\x9B\xA7\x8E\x4B\x36\xC4\x5D\x86\x6E\x82\xAC\x8E\x54\x9E\x8B\x9B\x91\x99\x0E\x0D\x44\x38\xF2\xFC\x0C\x5B\x93\x4E\x90\x32\x70\x53\x74\x6F\x8B\xDC\x84\x28\x2A\x88\xCB\x59\xFD\x60\xCA\x41\xA7\x7F\xE5\x62\x9E\x7C\xE6\x5E\xE0\xFE\x0A\xFE\x42\xED\x7C\x71\x03\xEE\x7B\x3D\x4C\x29\x7F\x7B\x61\x29\xFF\x3D\xFE\x4A\xF6\x6E\xF7\x7E\xBA\x9E\x95\x7E\xB8\x74\x58\x7E\x1F\xFF\x32\xF9\x43\x3D\x75\xE5\x78\xBA\x9D\x82\x7D\xBF\x67\x12\x7E\xC7\xE5\x0D\xF8\x40\xF6\x67\x13\x60\x4E\x56\x4E\x9A\x11\x79\xB2\x71\x92\xFD\x3C\xCB\x4C\xFC\x60\xA8\x71\xF1\x7F\x6F\x6C\xC0\x7F\x0C\x7E\x37\xFD\x4F\xF6\x6F\xF5\x6D\x76\x4D\xF1\x7F\xD3\x7C\x55\x7E\x6C\x7D\xF7\xFE\x65\xF6\x4D\x06\x4A\xD5\x56\xBC\x9B\x7E\x94\x11\x7F\xE4\x9D\x2B\xFF\x45\x77\xA8\xCD\x30\xDF\x7A\x9D\x5C\xC0\x71\xEE\x9C\x78\x7E\xC3\x3B\xF2\xF9\x6D\xAC\x7D\xDE\x9B\x35\x98\xB2\x7E\xCC\x7F\xBB\x7E\x3F\xFF\x69\xD9\x2E\x31\x56\xCF\x52\x75\x78\xC5\x73\x9A\x8A\xBD\x61\x2B\xBF\x25\x65\xB5\xD0\x9A\xE8\x73\x1D\x52\x75\x7E\xB1\x39\xCC\x9D\xB3\xBE\x1B\x77\xAA\xB8\x64\xA3\x98\x71\x9E\x76\x96\x81\x39\xB6\x93\x79\x29\xF5\x61\x94\x8F\x9F\x57\x98\x0F\x9F\x3C\x97\xAE\x97\xF4\x94\xF3\x39\xBE\x5D\xB3\xEB\x8F\xBF\x97\x9F\x9D\x3C\x9C\x1E\x97\x60\x90\xFF\x2C\xE9\x73\xA6\x5B\x8B\xCF\x9A\xC9\x91\xB0\x35\x52\x95\xD5\x93\xD3\x1E\x8A\x4D\xA0\xC8\x91\x8B\x97\x0B\x9B\x44\x9A\x3E\x98\xC6\x96\x78\x2E\xED\x6F\x96\xC1\x94\xE0\x9A\x95\x8C\x0C\x9C\x30\x98\x3D\x9A\x4F\x27\xF3\x3B\x91\x9D\x8B\xC3\x93\x03\x9D\x29\x8A\xF0\x93\x04\x9E\xDF\x31\xF6\x61\xAD\xB1\x9B\x6F\x9F\xC6\x92\x5C\x9D\x1C\x96\x29\x94\x48\x3B\xEC\x6A\x82\xB8\x95\x8E\x9C\x7E\x95\x05\x9B\xE9\x99\x17\x98\x0F\x3A\xCB\x45\xBE\x88\x56\xE1\x9E\x7D\x90\x87\x9E\xEE\x95\x78\x94\x9A\x2D\xF2\x62\xA6\xF0\x8F\xE0\x93\xB0\x91\x82\x9C\x1E\x99\xC6\x9D\xD4\x31\xF5\x75\x9F\xE2\x84\x82\x92\x70\x9C\x31\x8C\xC1\x9B\x22\x95\x75\xC5\x4C\x78\xB1\x9F\x8E\xE2\x9C\x0C\x9C\x46\x97\x72\x98\x9E\x98\x3B\x3A\x83\x74\xBD\xE8\x85\xD0\x9F\xA3\x9D\xFA\x9B\xDC\x9A\x3B\x9D\x0A\x3A\x92\x4F\x9A\xC1\x9C\x93\x72\xC6\x9A\x01\x94\x19\x9E\xE7\x95\x0D\x28\xA3\x78\xA0\xC2\x83\x6E\x9E\xBB\x96\x87\x9E\x37\x9C\x39\x96\x41\x3C\x9C\x71\xAD\xD5\x8B\xDA\x99\x86\x9C\xCB\x8E\x59\x9B\x40\x77\x75\x3C\xB5\x50\xB7\xF1\x80\x60\x99\x12\x9A\x34\x99\xF5\x91\x7D\x9D\xD1\x30\xA2\x5C\xAF\xC4\x9A\x6B\x95\x95\x99\x39\x9E\x90\x9C\x45\x70\x44\x3A\xE0\x6D\xBE\x2A\x52\xFD\x7E\xAF\x80\x0E\x86\xED\x9A\xE5\x8C\xA0\x39\x85\x5D\xAF\xC5\x35\x3A\x9B\xC8\x9A", -"\x12\x97\x38\x98\x8B\x98\xF6\x31\xF3\x59\x88\xEE\x94\x7F\x95\xAD\x9E\x21\x9C\x9D\x9C\xD5\x98\x70\x3C\xAC\x63\xBA\x96\x91\xB9\x9A\xA9\x93\xE6\x98\xF4\x98\xAB\x8A\x4B\x65\x09\x79\x88\xA1\x85\xE5\x9B\x91\x97\x94\x9E\x58\x96\x34\x9E\x6F\x3A\xBC\x74\xB1\xE9\x9E\xD7\x9F\x00\x98\x60\x9D\x04\x98\x81\x9D\x49\x36\xD4\x67\xA9\xE9\x88\xC6\x95\x91\x8A\x19\x9C\x58\x95\xEB\x38\x02\x29\xCC\x51\x89\xC8\x8D\x86\x9B\x20\x9D\x90\x95\x83\x99\x55\x9E\x1A\x31\xC4\x79\xBA\xC6\x86\xE6\x95\x15\x99\x96\x9D\xDD\x9B\xF3\x9A\x56\x3A\xCD\x6E\x97\xE3\x80\x9F\x94\x21\x5A\x97\x9C\x24\x94\x5E\x9E\x34\x29\x86\x62\xB8\xC0\x8C\x8E\x91\xCC\x9A\x8D\x9F\x30\x9E\x36\x9E\xFF\x3A\xC0\x74\xBC\xDC\x8A\xCE\x96\x6B\x9D\x0C\x9D\x9E\x9D\x6D\x98\x7D\x3A\xA2\x1B\xA8\xE3\x95\xAE\x74\xAE\x95\x7E\x91\x40\x00\x73\x9E\xA4\x28\xD2\x79\x9E\xC1\x95\x8F\x9F\x0C\x98\x92\x9F\xB4\x9C\x49\x9E\xAD\x3C\xE3\x74\x8F\xE4\x96\x86\x98\xCC\x9F\x20\x9E\xBD\x95\x4E\x9D\x36\x21\x84\xAE\x40\xF4\x96\x45\x9A\x7A\x93\x0D\x78\xEB\x92\x75\x9E\xE4\x30\xB5\x63\xA6\xC3\x91\x5B\x94\x1E\x9D\x7A\x97\x54\x98\x6E\x9E\xBC\x31\x97\x79\x8B\xE7\x9F\x80\x69\xAA\x9A\x1E\x8B\x01\x9E\xC2\x93\xE8\x3C\x97\x7A\x8D\xF2\x8B\xE7\x90\xCC\x9A\x5A\x9C\x9C\x9C\xD3\x98\x72\x3A\xD6\x75\x8B\xF4\x85\xD3\x9D\xD0\x9F\x4C\x9C\x0A\x45\x5A\x9D\xA7\x27\xD0\x79\xA2\xA5\x9F\x43\x9A\xE8\x96\x6A\x9F\xCC\x9C\x64\x9D\x65\x36\xDB\x6A\x88\xDE\x85\xA0\x91\x95\x81\x72\x9C\x87\x7A\x0B\x9B\x4A\x14\x9E\x78\xA3\xA0\x92\x51\x95\xC6\x98\x69\x95\x2A\x9F\xF4\x96\x2F\x3D\xD4\x75\xB1\xF4\x8E\xE5\x90\xD2\x98\x3D\x98\x85\x99\xCF\x36\x87\x32\xA5\xD5\x13\xF4\x8B\x46\x95\xD1\x99\xB8\x96\xD5\x6C\xA3\x93\x0D\x38\xFD\x6B\xB4\xD7\x81\xC7\x93\x7E\x9E\xC7\x9A\x5B\x9D\x61\x97\xED\x34\xAC\x72\x90\xAE\x83\xE5\x98\xC0\x9A\xA0\x9D\x45\x99\x5F\x9E\x84\x31\x82\x74\xB0\xE7\x84\xD0\x95\x17\x9E\x40\x9C\x5E\x9D\x79\x9E\x22\x3D\xF5\x79\x9A\xE9\x2B\x5D\x82\xBF\x63\xAB\x9D\x46\x95\x94\x9E\x21\x3C\x9C\x52\xAF\xB6\x85\xE8\x97\xB8\x99\x92\x9D\x8D\x96\x6D\x9E\x1F\x3D\xF2\x79\x81\xEC\x94\xE7\x9E\x73\x99\x2D\x9B\xED\x9B\xA1\x9C\x88\x3C\x9F\x78\x96\xF4\x81\xEC\x9E\xCB\x9C\xAE\x94\x61\x9F\x11\x98\x07\x3D\x87\x7B\xB0\xF3\x85\xE6\x9A\xD8\x9F\x98\x9C\x63\x9E\x89\x9C\x04\x3B\xC6\x7A\x8C\x61\x6E\xCA\x96\x13\x7E\xAF\x9E\x4C\x94\xC0\x9E\x44\x22\xF8\x4C\xB0\xC5\x9B\xE3\x9C\xC3\x9C\xB8\x96\x72\x92\x78\x9D\x8B\x3B\xF2\x75\x98\xF1\x96\xCF\x9A\xC5\x9C\x7A\x87\x41\x9A\x7F\x9E\x01\x3C\xCB\x7A\xBF\xAF\x86\xE5\x98\xD1\x98\x95\x9F\x65\x9F\xA7\x98\x86\x3D\xD1\x62\x88\xF6\x91\x8E\x97\xD7\x9B\xB1\x9D\x5E\x9F\xC6\x9E\x0B\x3A\xE9\x5F\xBE\x90\x93\x9A\x99\x15\x4E\xB4\x9C\x5E\x94\xB7\x9E\xF4\x31\xE7\x5B\x8F\xF5\x80\x71\x91\xDC\x99\x3F\x9B\x70\x9F\xFD\x98\x9D\x3D\xDD\x79\x97\xF5\x8C\xD9\x91\x12\x9D\x60\x9C\x74\x3B\xF3\x9B\xC7\x20\xFF\x79\x92\xF6\x9E\xEA\x9A\xDF\x74\xCE\x94\x7F\x96\x12\x99\x28\x3C\xF1\x75\xB9\xB9\x93\xED\x94\xAF\x9F\x71\x9D\xFC\x9A\x53\x99\x4F\x2E\xC2\x63\x91\xB9\x88\x6D\x70\xB4\x9D\x9C\x9F\x78\x9F\xFC\x96\xAC\x3D\xE6\x7B\xBD\xF0\x8F\xED\x93\xAE\x9A\x13\x9D\x20\x9F\x15\x9E\x9D\x38\xC4\x78\xAB\xC7\x8D\xDA\x91\x54\x9E\x6B\x98\xDF\x63\x42\x9B\xDB\x31\xE2\x7B\xBA\xF6\x80\xE1\x99\xDA\x9A\x84\x9F\x19\x9F\xB8\x9E\x69\x3C\xF3\x7A\xAB\xF1\x95\xEB\x9D\xC6\x9F\x40\x9F\x1B\x9F\xED\x9E\x71\x3C\xD6\x63\x93\xE0\x8C\xB2\x81\xB6\x9F\xA3\x82\x7D\x9F\x05\x9F\x93\x3D\x8D\x7C\x82\xF6\x95\x6E\x9C\xCE\x9E\xA5\x9E\x30\x9E\x98\x9E\xD7\x3D\x91\x64\x95\xF5\x93\x90\x97\x7D\x9C\xBB\x9F\x80\x9F\x1F\x9A\xAD\x39\xE5\xCE\x41\x1C\x9D\xDA\x8E\x44\x9D\x8C\x32\x73\x9F\x4E\x47\x33\x29\xAA\x7A\x8C\xC5\x8E\xE4\x9C\xC0\x9A\x3C\x99\x2E\x96\x2A\x9E\xBB\x2C\xEA\x7B\xAA\xF0\x93\xE0\x91\xE0\x9D\xB6\x9F\x12\x86\x17\x9C\x89\xF5\x30\x70\x88\xCC\x8E\xB5\x98\x3E\x4A\xC1\x9D\x34\x9F\xAE\x9E\xF8\x3D\x88\x62\xBC\xF1\x82\x85\x9F\xAE\x9D\xBF\x9F\x71\x97\x4D\x9C\x00\x3E\x83\x79\x9E\xEC\x8C\x6C\x7F\x96\x9A\xA4\x52\x0F\x9D\xBF\x73\x40\xF3\x41\x70\x9F\xD1\x83\xC2\x96\x9D\x9B\xD3\x1A\x00\x9F\xC1\x8A\xD1\x07\x64\xD2\x71\xE5\x68\x82\x96\x26\x8D\x68\x8A\xF0\x70\xCD\x61\x67\x3E\xB8\x64\xBE\xCE\x3C\xCF\x75\xF0\x82\x41\x7D\xB0\x7F\x08\x07\x07\x0E\x14\x21\x58\xE7\x87\xC9\x6E\x38\x7D\x59\x37\x40\x9E\xE9\x9E\xBF\x3D\xF7\x63\x95\xF7\x9D\xD7\x9B\xD9\x9B\x9B\x9D\x76\x9F", -"\x90\x9E\xDE\x3C\xC3\x74\xAE\xF0\x98\xD3\x96\xA4\x9C\xC9\x74\x00\x99\x38\x9A\x1C\x3C\xB8\x7B\xBF\xF9\x9E\x70\x93\xDD\x9B\xC6\x97\xA0\x9F\xC4\x9D\xB9\x31\x89\x7B\xAE\xF1\x81\xD2\x99\xE8\x98\x93\x9F\xA2\x9E\xA0\x96\xE1\x36\xE7\x70\xA4\xDB\x85\xE4\x91\xCF\x86\x8F\x9B\x5A\x9F\x9E\x9E\x65\x3B\xD7\x76\xB4\xEC\x9D\xC6\x94\x99\x9C\x57\x9E\xE7\x9B\x1C\x9C\x5B\x3E\xE5\x6D\x86\xF1\x81\xAC\x98\x3A\x99\x0F\x9E\xEA\x99\x7D\x89\xA5\x0E\xD1\x7C\xA3\xC6\x86\xF1\x9E\xCE\x98\xC5\x9D\xA1\x9E\x4D\x9F\x16\x3E\x9C\x7D\x98\xF8\x92\xE5\x9F\xE1\x8C\x5D\x98\x8E\x8E\x0F\x9D\x46\x29\xFB\xD7\x74\xCE\x8C\xD2\x9E\x09\x9C\xA5\x9C\x84\x9F\x76\x9E\x12\x3E\xEF\x79\x94\xF8\x91\xE7\x9B\xE9\x98\xAF\x9D\xA7\x9F\x91\x9E\xDA\xF3\x73\x78\xA6\xC4\x8D\xF6\x99\xD1\x99\x44\x99\x03\x9E\xC5\x96\xE8\x3D\x9E\x5B\xA9\xF0\x88\x6E\x92\xC8\x9B\x88\x9E\x91\x9E\x59\x9F\xA5\x27\xA5\x6B\x88\x43\x9A\xF5\x9F\xC8\x9D\xB0\x9D\x66\x9E\xE1\x9E\xBF\x3E\xC4\x7B\xA9\xEC\x88\xD0\x93\x87\x99\xEC\x89\x26\x9E\xFD\x9C\x6F\x1E\xAD\x71\x9F\xF2\x8F\xC5\x9E\xCA\x6D\x54\x37\xA4\x9F\x18\x97\x95\x3E\x98\x62\x98\xF3\x8E\x89\x99\xD0\x98\x26\x98\x18\x9C\x6C\x9D\x66\x3A\xDA\x75\xB0\xD5\x95\xC6\x91\xD6\x87\x1C\x9D\xB2\x94\xE2\x7F\xEB\x13\xB8\xCC\x3F\xFB\x9A\x72\x9B\x12\x9C\xCB\x96\x83\x98\x44\x96\x29\x3E\xF3\x74\xAB\xF8\x95\xD3\x93\xEC\x9F\x9B\x9F\xCF\x9A\x1E\x82\x41\x37\x98\x39\x4E\xF3\x9D\x0B\x94\x19\x9F\x73\x92\xD3\x8D\xD1\x9C\x55\x3E\xBF\x78\x81\xAF\x98\xF2\x94\xE4\x9A\xCB\x9E\x80\x9E\xB2\x92\x2C\x35\x87\x42\xAE\xC9\x83\xE7\x9D\xB5\x89\x50\x9C\x01\x98\x6E\x9F\xBE\x3D\xA5\x7C\x86\xF4\x91\xEA\x98\xD0\x9B\xAA\x9E\x42\x9F\x57\x9E\x10\x39\x9F\x7B\x98\xE5\x96\xE7\x91\xF3\x9A\x9F\x6A\xA3\x9D\x0E\x94\x7D\x25\xED\x1F\x92\xEA\x82\xDA\x92\x18\x9F\xC1\x9E\x46\x9F\xF7\x9C\xE7\x30\xF1\x73\x8A\xEE\x96\xE2\x9C\x0B\x9F\xC2\x9D\x8B\x9F\x0C\x9F\xEF\x30\x90\x7A\xB2\xA0\x8C\x43\x98\xEA\x9E\x58\x9E\xAA\x9E\xA0\x9E\x0E\x38\xC2\x7A\xBB\xE3\x97\x9F\x98\x22\x80\x50\x99\x52\x9E\x9D\x98\x09\x30\xAD\x7A\xBB\xFC\x87\xF1\x92\xD5\x99\xE3\x9E\x4C\x9E\xA0\x9F\x0C\x3D\xC2\x7E\x83\xEC\x9F\x80\x6E\x64\x86\xCF\x9F\x5B\x9E\xCB\x9E\x3A\x3F\xEE\x7D\xBC\xFC\x9A\xEC\x93\xED\x9C\xB3\x9D\xB5\x9E\xE3\x9E\xD7\x3E\xFA\x7A\x86\xC5\x85\xFD\x86\x91\x98\xC1\x07\x76\x9D\x89\x9F\x4D\x31\x81\x7D\xAA\xF2\x97\xF4\x9C\xCA\x9E\xE7\x9E\xC1\x9F\x6B\x9D\x94\x37\x89\x7E\x90\xAD\x07\x94\x96\xF7\x99\xBA\x9C\xA5\x9E\xC5\x9F\x50\x3D\xEC\x7E\xBD\xFC\x8E\xFB\x94\xD5\x9F\xD0\x9E\x55\x9F\xAB\x9F\xC4\x3E\xDB\x75\xA0\x8F\x8D\x89\x5A\xD6\x9F\xC3\x78\xBB\x9F\x1E\x9F\xB6\x31\xF4\x60\x80\xF9\x96\x83\x94\xF5\x9C\x71\x9C\xBD\x9F\x95\x9D\x58\x3F\x99\x3D\x7C\xF5\x97\x7A\x85\xF2\x98\x7D\x93\x53\x94\xC8\x91\x7D\x26\xA5\x73\x94\xE5\x87\xF8\x91\xF9\x9D\xA6\x9E\xC2\x9E\xC7\x9E\xF9\x34\xDD\xDF\x6E\x74\x88\xFC\x9C\xE3\x99\x3C\x99\xEA\x9F\xF1\x98\x52\x3F\x99\x7D\xB2\xFB\x8A\x8C\x9F\xFA\x9E\x71\x9E\x8B\x9E\x61\x97\xCD\x39\xFD\x62\x89\x87\x82\x39\x70\x49\x8D\xE9\x9D\x35\x9F\x43\x98\x86\x2C\x97\x7E\xB9\xB4\x85\xF8\x94\xC9\x9C\xF7\x9E\x55\x9C\xB9\x9F\xC9\x3C\xF3\x4C\x86\xD4\x8C\x21\x91\x4A\x88\xE7\x9C\x5C\x9F\xA7\x9F\x72\x3D\xD1\x7E\xB4\xF5\x88\x8C\x96\xD7\x9B\xDE\x9E\xD5\x9F\x04\x9D\xA1\x3F\x9F\x7E\xA0\xEC\x9B\xBE\x9B\xB0\x95\xEB\x9E\xCC\x9D\x8B\x9D\x76\x3B\xA6\x76\xA8\xED\x88\xD9\x9C\xFC\x9F\xFD\x9D\xBD\x9F\xF8\x9F\x13\x39\xA2\x7B\xA2\x6F\x40\xEF\x9B\x04\x96\xFE\x9E\xE1\x9C\xCC\x9E\x7B\x3F\xF0\x7D\xBD\xFD\x86\xF4\x9F\xF7\x9E\xB3\x9F\x71\x9E\xD0\x9E\xBF\x31\xDE\xC5\x67\xCA\x8D\xA5\x6A\x51\x98\xFF\x9A\x26\x98\xF2\x9E\xBA\xF0\x47\x7F\xBF\xF8\x9D\xE8\x9C\xEB\x95\xF5\x9E\x6C\x9F\xE6\x9F\x59\x3C\xEE\x7B\x84\x9C\x92\xBF\x98\x1D\x9B\x65\x8D\xD4\x9D\x35\x97\x17\x40\xA7\x7F\x86\xFF\x9B\xE8\x90\xEA\x93\xFD\x9E\x7C\x9D\xF6\x9F\xFD\x3F\xC2\x7D\xA0\xFE\x9E\xF8\x90\x20\x98\xC6\x9D\x7B\x99\x40\x97\xAD\x2E\x8B\x51\x84\xBA\x9E\xF7\x97\xF7\x9B\xB0\x9D\xDE\x9E\x04\xA0\x9A\x3F\xFC\x7E\xAC\xFF\x95\xF0\x95\xDC\x9E\x01\xA1\xE0\x9E\xE4\x9E\x11\x40\xC5\x7E\xB3\xDF\x92\x9A\x91\xAE\x91\xA7\x99\xEB\x5A\x27\x9A\x3C\x40\x96\x7F\x80\xFC\x98\xFC\x94\xDD\x9F\xDD\x9E\x75\x9F\x78\x9F\xD8\x3D\x8D\x80\x9A\xF7\x93\x01\xAE\x1B\x9A\xC3\x9D\x09\x97\xB8\x94\x67\x22\xE9\x66\xA1\x2A\x6E\xB5\x95\x46\x34\xF8\x9E\xB3\x9E\xF4\x9F\x11\x3E", -"\xEA\x7F\x93\xF8\x83\x02\xA4\xED\x99\xD8\x9E\xB5\x9F\x8E\x9F\x5D\x40\xDD\x7B\x82\x00\xBD\xC1\x9A\x6B\x98\x26\x88\xAF\x9A\x31\x86\x96\x3B\xC6\xD0\x58\xEE\x85\xF3\x93\x10\x00\xDB\x26\x9C\x9F\xB3\x3B\xB7\x5D\x0B\x2D\x6A\x94\x74\xD6\x28\x87\x79\xCE\x9F\x1F\xA0\x3A\x70\x96\x96\x29\x9D\x7C\x38\x50\x3F\x5F\x27\x6A\x96\x0C\x3E\x55\xBF\x55\x88\xCF\x07\x1C\x08\x03\x06\x04\xA2\xE7\x9F\x42\x7D\xB6\x27\xBF\x72\x78\x3E\xF8\x34\x14\x02\xBB\x3F\x82\xEC\x7D\x67\x69\xF7\x54\x3E\xA0\x02\x01\x51\x5E\x81\x27\x8A\xBC\x73\x10\x02\x99\x70\xC8\x99\x81\x00\xA2\x40\xD1\x08\x60\xBF\x97\xDF\x9A\x4F\x8E\x7C\x71\xB5\x70\x41\x9B\xCB\x7C\x53\x7D\x40\x65\x47\x70\x0E\x0C\x03\x13\xA1\xA6\x71\x3A\x8B\x11\xE4\x0D\xFE\x0C\xD6\x9F\xB3\x80\x8B\x19\x79\x72\x9D\x74\xC4\x66\x8C\x16\x88\xB7\x7D\xA7\x74\x0A\x6C\x4E\x03\x3F\x74\x5E\x51\xFA\x74\x90\x16\xF9\xD3\x52\x4F\x2B\xB4\x84\xED\x13\x1A\x55\x42\x00\x4A\x8B\x9C\x40\x99\x81\x89\x04\x10\x06\x06\x0B\xA2\x35\x75\xB9\x2D\x06\x7F\x68\x77\x00\x78\x92\x03\x15\x06\xA0\xA6\x77\xC6\x4A\x25\x86\x40\xA0\xA0\x40\x81\x02\x14\x03\x1C\x06\xA1\xA8\x84\x12\x7E\x78\x7D\x28\x85\xDA\x07\xFD\xD2\x55\xE6\x60\x0F\x0C\xE3\x79\x06\x35\x7D\x7C\xD8\x61\xD8\x3E\x32\x87\x67\x04\x19\xCC\x74\x43\x75\x5C\x2C\x8A\x7E\x72\x87\xDA\x07\xEF\xF1\x73\x01\x0F\xCC\x74\x97\x3C\x14\x7E\x77\x7F\x7A\x7C\x72\x36\x78\xF3\x64\x01\x12\x1E\x7A\xDC\x98\x20\x03\x49\x00\x6B\x00\xE4\x40\x94\x26\xA0\xE4\x61\xCB\x77\xE7\x9F\xCD\x9F\x88\x7F\xC8\x83\xC9\xFD\x02\x02\x0B\xF7\x6F\xF7\x75\xDD\x78\xC1\x07\x75\x7F\x74\x06\xD9\xFD\x2F\xF9\x5B\xF7\x7A\xF1\x7C\x3A\x65\xBB\x7E\x60\x1E\x78\xA0\xF8\x33\x0E\xA5\x62\xF7\x73\x07\xA1\x5E\x55\x22\xA3\xAE\x2D\x4E\x7C\xFE\xFD\x0D\x65\xB6\xDE\x65\x09\xA7\xE1\x7C\x36\x7D\xF0\x7B\xE3\x84\x2C\x41\xFB\xFC\x72\xFA\x72\xF8\x52\x8D\x7E\x20\x00\x35\x7D\x6B\x7F\xA3\xFE\x24\xFC\x42\xE1\x78\xF4\x73\xEB\x7D\xA0\x7B\x3D\xA1\x0F\x67\x26\x41\x89\x9D\x6C\x05\x90\x78\x8C\xCD\x07\xC6\x7F\x32\x17\x1C\x7F\xEB\x40\xBB\xFC\x5E\x04\xA7\xF6\x1F\x7E\x7E\xE4\x1A\x7E\x7C\x9A\x2C\x74\x3E\xAE\xC6\x41\x05\xA1\xF4\x5E\xDE\x7C\xD1\x7D\x83\x06\x3B\x9F\x8F\xF8\x53\x82\x8F\x91\x75\x0A\xA4\xE8\x5A\xCC\x7C\x86\x7D\x98\xA0\xB1\xFE\x16\xF4\x65\x6B\x21\xC9\x79\x15\xA5\x25\xA1\x99\x7D\x83\x7C\x0D\x0E\x20\xF0\x60\x05\xA9\xF0\x7E\x9D\x7A\x38\x94\x74\x7C\x4D\x7F\x03\x01\x38\xF2\x78\x04\xB5\xF4\x74\xEA\x79\x38\x94\x51\xA1\xF6\x74\x5A\xFA\x09\x02\x05\xFC\x4E\x92\x6A\x15\xA1\x88\x70\x57\xA0\x26\x7D\xE9\xC3\x07\x1C\x35\x3B\x8A\xB3\x84\x0A\xA2\xDB\x53\x46\x73\x31\x85\x11\x47\x45\x14\xBB\xAD\x66\xBD\x34\x35\x84\xC0\x9C\xF3\x97\xB2\x7B\xB3\x40\xB5\x34\x09\x04\xBD\x06\xAB\x52\x74\x46\x01\x35\xA0\x00\x9E\xDE\x00\x13\x83\xA3\x02\xAD\xF4\x7D\x92\x7F\xA2\x72\x34\xA0\x83\x00\xE0\x00\x1A\x83\xB0\xB8\x77\xBC\x93\x78\x7C\x10\xA1\x42\x00\x71\x00\xA2\x41\xDF\x06\x8B\x04\xA9\x08\x09\xA2\x7E\x33\xA2\x43\xA0\x83\x00\x2A\x2F\x8A\x82\x86\xE1\x63\xDE\x7E\x32\x71\x36\xA0\x5A\x80\xE5\x7D\x59\xF7\x7A\x29\x8D\xEF\x6F\x05\xAE\xA7\x80\xE0\x87\x8A\x1F\x95\x71\x07\x0E\x66\x01\x29\x06\xB5\x04\xA5\xAE\x2A\x28\x7C\xD8\x81\x03\x07\xDA\x8A\x7B\x7C\x9B\xFD\x77\xD1\x94\xB6\x9C\x9A\x9F\xA7\x93\x80\x9F\x2C\x31\x83\x7E\x8F\xC8\x9C\xFC\x9F\xF3\x9B\xE3\x9C\x2C\x9E\x38\xA0\x9E\x3E\xA1\x6E\x93\xCB\x98\xF7\x96\x86\x9E\xD1\x9C\xB6\x98\x40\x98\x91\x3E\xFD\x61\x5F\xC8\x8E\xFA\x9E\xED\x9E\xC7\x9E\xAE\x96\x0E\xA0\x10\x3C\xB0\x80\xB4\xE7\x8C\xEF\x9C\xC2\x9B\x0F\x9B\xBD\x9E\x36\x9A\x9B\x3C\xEE\x68\xBC\x5A\x76\x64\x91\x6F\x9D\x8F\x9A\x84\x95\xE6\xA0\x66\x3C\xD7\x7F\x95\xFC\x88\x84\x9A\xFD\x9E\xCB\x97\x24\x9E\x12\x97\x33\x3D\x88\x7E\xBE\xFE\x8C\xBE\x99\x5C\x9C\x41\x9E\xF9\x80\x07\x9D\xB6\x3E\x90\x74\x9C\xFD\x8A\x57\x9A\x1F\xA0\x3A\xA2\xC5\x9E\xE9\xA0\x18\x3F\xD8\x80\xAA\xF8\x9E\xFC\x9C\xE2\x98\xFE\x9C\x0D\xA1\xE4\x9E\x41\x2A\xDD\x78\x83\xA9\x8B\x04\x96\xCC\x94\x5F\x5B\x1B\x87\xB9\x32\x4E\x3D\xD4\x80\x96\xFA\x96\x02\xA4\xE8\x9B\x01\xA0\xB0\x9F\x22\xA0\x5B\x40\x96\x84\xB1\x01\xA6\xE4\x8A\xED\x9A\x64\x9C\x8E\x33\x10\xA1\x3F\x40\xC0\x7B\xA4\x08\xB8\xF4\x95\x1E\x9B\x42\xA2\x16\xA0\x44\x9F\xD8\x41\xD8\x7D\x85\xF1\x89\xF7\x95\xC0\x9B\xFD\x6B\x78\xA1\x06\xA1\x22\x42\x82\x7E\x8C\xFE\x99\xE6\x92\x21\xA2\xE3\x9C\x85\xA0\x8E\x9F\x5C\x40\xD9\x83\xB8\xE7", -"\x9B\x97\x95\xA5\x99\xAE\x9A\xBE\x9E\x7C\x9A\xFC\x3E\xF1\x21\x8D\xAB\x30\x11\xAA\xF6\x9A\xEF\x9D\x10\xA0\x05\xA0\x6C\x40\xFE\x7E\xAE\x01\xA0\xFC\x99\x23\xA2\xF0\x9C\xA8\x9F\xAC\x91\xD2\x27\x94\x61\x98\xE9\x9C\x86\x99\xE8\x8E\x33\x9D\xDF\x8A\x01\x53\xF8\x41\xD4\x84\x8F\xFB\x9C\xF5\x91\xED\x9E\xD7\x9E\x89\xA1\xE5\x9F\xEB\x41\xA0\x80\xB4\xF6\x82\x01\xAF\xB1\x99\x6E\x7E\xF5\x98\xC1\x9D\x78\x0D\x86\x22\xAA\x76\x2A\x13\xA8\x06\xA0\xDA\x9E\x1A\xA0\x69\x9F\x59\x42\x8C\x80\x9B\x09\xA6\x02\xAD\x25\xA0\x09\xA3\x97\xA1\x30\x99\xD6\x38\xB6\x79\x96\xCC\x99\x6B\x85\xBA\x2C\x4F\xA1\x79\xA0\x0D\xA0\xE7\x41\xC9\x7F\xB5\x08\xA6\x12\xA7\x23\xA7\xF3\x9E\x8A\xA1\xBD\x9C\x44\x3F\xB5\xD6\x0D\x2F\x46\xC7\x91\xE3\x9B\x9F\x9E\x18\x83\xA5\x9F\x5A\xCC\x4A\x63\x80\x09\xB1\x11\xA2\xE8\x9B\x46\xA1\xE3\x9E\xEA\xA0\x8F\x3F\x81\x84\xBD\xFE\x80\xFF\x9E\xD0\x9B\xED\x98\x34\x9B\x0F\xA1\xF6\x64\x0E\x85\xA4\xF0\x82\x91\x95\xE7\x91\xDC\x9D\x26\x9D\x2B\x9F\xFF\x3D\xAD\x7E\xA6\xFB\x94\x13\xA5\x14\x96\x1F\x9C\xAC\xA1\xA5\x32\xB2\x42\xF9\x7B\x92\xF1\x95\x15\xA7\xC2\x9A\xDC\x9E\x90\x9E\x72\x9F\x59\x3E\xBB\x85\x8F\xFF\x91\xDA\x2D\x01\x8D\x51\xA3\xEE\x95\xAF\x9E\x47\x2E\xE1\x7A\x8F\xE3\x83\xEB\x98\x9B\x9D\xAC\x9C\xE0\x99\x39\xA0\x92\x7B\x05\x7F\xA8\xDF\x9F\x11\xAF\x1C\xA1\x48\xA1\x74\xA1\x21\xA1\x04\x3F\x8E\x7F\x9D\xFF\x90\xFC\x9F\xFD\x9F\x01\xA0\xD2\x2F\x43\x99\x69\x42\xCF\x85\xA5\xF7\x83\x16\xA7\xDE\x9D\x58\xA3\xAD\xA1\x71\x9F\x2C\x3F\xEC\x83\x85\xF9\x9C\x15\xAE\x4D\x9E\xBB\x9D\xB0\x62\xD2\x9B\x68\x98\x22\x85\x9D\x0B\xA4\x15\xAB\xF8\x9E\x54\xA0\x91\xA1\x37\xA1\x59\x40\x83\x85\xA9\x08\xBF\xFF\x97\x21\xA7\x03\x6B\xEC\x9F\x5F\xA1\xFA\x42\x84\x59\x98\xFF\x97\xE6\x90\x2E\xA3\x3A\xA1\x91\xA1\xB7\x9F\xD6\x41\xC1\x7E\xA6\x0B\xB3\xFB\x99\xB7\x92\x28\x9F\xD9\x9F\xFC\xA0\xFB\x42\xD5\x84\x80\x01\xBD\xF5\x9D\xF6\x9F\x61\xA1\xE7\x9F\x4A\xA1\x15\x42\x84\x86\xAB\x08\xB0\xFE\x96\x2F\xA2\xCC\x93\xF4\x9F\x0D\x7A\x11\x3A\x8C\x84\x99\x0C\xAB\x13\xAB\xF6\x9C\x63\xA3\xE6\x9E\x8F\xA1\xD5\x41\xC7\x84\x97\x07\xA9\x12\xAA\x23\xA2\xF6\x9F\x90\x86\x2D\x54\x09\x43\xB6\x59\xA6\x3F\x70\x14\xA9\x0F\x9B\xF5\x9D\x89\x98\x22\xA0\xEE\x3F\xB2\x80\x97\x0A\xB5\x19\xA9\x7D\x9A\x7C\x84\xFD\x9E\xA6\x9F\x0A\x32\xAB\x86\xBD\x09\xAC\x13\xAF\x27\xA6\x4D\xA1\xA0\xA1\x13\xA1\x41\x43\xEF\x80\xB4\x0C\xBE\x12\xA2\x07\xA5\xC7\x94\x01\xA1\xFA\x9F\x2A\x43\x8A\x86\xBB\x07\xB9\xFE\x90\x21\xA3\xFB\x9E\xB8\xA0\x00\xA1\x70\x3F\xB4\x7A\xAC\x0A\xB6\xE9\x99\x04\xA6\x5D\x72\x89\x90\x3C\x5C\x15\x40\xF5\x7B\x8E\x3A\x8F\x11\xAA\x2E\xA1\x03\xA0\x0B\xA1\xDB\x98\x92\x42\x9E\x7A\xB0\x09\xB2\xE0\x92\x2F\xA6\xE5\x9F\xB9\x9E\x01\x9C\x24\x40\xFA\x48\xA6\x00\xB2\x10\x96\x72\x5A\x7F\x97\x94\xA1\xB6\xA1\x15\x21\xDF\x7D\xB3\xC5\x8E\x01\xA3\xF5\x9A\x3D\xA0\xDD\xA0\x39\xA1\xED\x3D\xCB\x85\xAF\xF7\x9A\xCC\x9E\xB4\x9C\x33\x9D\x04\x97\xEE\x7F\x84\x2E\xFF\x86\x90\xF1\x82\x6E\x9D\xDA\x9D\x8F\x9C\x7F\x9E\x95\x9F\xE4\x3A\xB7\x73\xBD\xEA\x99\xCD\x98\xAE\x99\x5A\x80\x92\x9F\xF3\x99\x53\xE2\x71\x76\xA8\x92\x8B\x1B\xA0\x22\xA0\x70\xA3\x2D\x96\xF3\xA0\x3D\x43\xE8\x83\x95\xF1\x86\x1C\xA7\xC5\x98\x71\xA1\x7B\xA0\xC5\xA1\x23\x40\xC0\x6A\xB5\xD9\x8C\x75\x9F\x9B\x9B\x11\x96\xAB\x9B\x52\x35\xC1\x42\xD2\x7C\x95\x0E\xB4\xF2\x92\x90\x9E\x36\x9E\x65\x9C\xB2\x9E\x98\x39\xCA\x6C\x9D\x9C\x8F\xCE\x9B\x6B\x9E\x14\x80\x1E\xA0\x31\x9F\x97\x3B\xDA\xCF\x00\xF0\x9A\xA0\x43\x1A\xA4\x71\x9B\x21\x9F\x5B\x91\xCC\x43\xCB\x25\x87\xCF\x46\x00\xA5\xB7\x98\x6B\x9E\xFE\x9E\xBC\x9D\xFC\x3F\xF1\x84\xBE\xFF\x90\xFD\x9A\xA0\x96\x82\x9D\x28\x9B\x62\x9A\xFB\x39\xA0\x37\xB3\x77\x82\xDD\x89\x83\x69\x7A\xA2\xEA\x97\xE9\xA1\xD6\x3F\xCA\x86\x8F\x0A\xAF\x1B\xAA\xFA\x9A\x75\xA1\x90\x9F\xD8\x9E\xEB\x3D\xAE\x87\xB3\x0B\xA7\x40\x6F\x1E\xA2\x94\x9B\x05\x99\x07\x95\x1B\x3A\xCC\x64\xA5\x0F\xB8\x4E\x98\xAE\x90\x8F\x9F\x9C\x94\xF2\xA0\xB3\x42\x82\x87\x93\xF1\x8E\x1F\xAC\xFA\x9C\x75\xA1\xD5\x9E\xA1\xA1\x22\x43\x98\x85\x98\x08\xA7\x51\x94\x07\x92\xB0\x99\x12\x9E\x57\x96\x54\x32\x81\xDD\x66\x0F\xB5\x7C\x92\x59\x58\x03\xA1\xE0\xA0\xD4\xA1\x0E\x3C\x84\x88\xBF\x0C\xAD\x03\xA8\x22\xA0\x47\xA3\xD4\xA0\x43\xA1\x3B\x42\x85\x71\x9A\x08\xA4\x66\x94\x13\x78\x17\xA2\x71\x94\x97\x71\x13\x44\xD6\x6D\xAD\x4D\x70\xE2\x66\x13", -"\x79\x85\xA1\x4E\x9C\x15\x6C\xD4\x43\x8C\x5A\xA5\xEC\x95\xD0\x96\x97\x9F\x42\x9D\xF9\x87\x8E\x9D\x2F\x3F\xF3\x17\x4E\xDC\x86\xF3\x4E\x42\xA4\xE1\x94\x86\x94\x46\x9E\x3B\x3E\xE7\x80\xAB\x0F\xB0\xFA\x9C\xD1\x99\x6E\xA1\x07\xA0\x03\xA2\xAE\x3F\xDB\x87\x8E\xFF\x91\xFD\x95\x34\xA7\xE2\x99\xE3\x98\x09\xA2\xFC\x43\xB9\x57\x8D\xF5\x86\x1D\xAB\x33\xA4\x7D\xA0\xF2\x9E\xC2\xA1\xCA\x3F\x81\x86\x9D\x10\xB6\x14\xA9\x40\xA4\x20\x7A\x2A\x9C\xF1\x82\xB0\x35\xFE\x65\x83\xB4\x8B\xD2\x9A\x69\x95\x7D\x49\x14\xA3\xE6\x95\x40\x44\xA1\x63\x82\x11\xA1\x20\xA8\x41\xA0\xDC\x9E\xBB\xA0\xD8\x9E\x1E\x40\xF1\x87\x8A\x11\xA1\x01\xA0\x3B\xA2\x93\x9C\xA2\xA1\x86\x9F\x9D\x42\x8F\x7E\x95\x2C\x9A\x68\x9B\x54\x35\x87\xA0\x88\x89\xFE\xA1\x69\x44\xB9\x86\xAD\xE8\x84\xDA\x93\x43\xA2\x57\x9E\xEE\x9F\xE3\x9C\x3F\x39\x8C\x6E\xA9\xD0\x72\xCF\x8F\xFC\x7C\x42\x5A\x1F\xA3\xA0\x88\x80\x44\xBC\x7B\xAB\xF4\x9D\xF6\x9C\x46\xA4\x67\xA1\x06\xA2\x23\xA2\xE9\x41\xC0\x86\xB1\x00\xB2\x1A\xA3\x34\xA4\x6A\xA3\x39\x93\x54\x97\xB3\x1E\xCE\x67\xA4\xC9\x84\xE7\x9D\xB9\x6F\x91\xA0\x06\x75\x1F\xA2\x92\x44\xC1\x88\x94\x12\xA2\x16\xA5\xC2\x9C\x58\xA2\xCF\xA1\xF4\x9E\xF0\x43\xC3\x7C\xB5\x0D\xAA\x16\xAC\x44\xA1\x12\x9A\xDB\x9C\xA3\x9F\x9C\x42\xA2\x89\x9F\xCF\x8E\xF6\x80\x2A\xA3\xDD\x9E\x96\x4A\x7A\x6C\x0C\x3E\xCB\x46\x95\xF6\x9E\x01\xAA\x31\xA2\x46\xA1\x02\xA1\x2B\xA0\x00\x43\xB6\x84\x82\x0C\xBE\x20\xAD\x49\xA0\x84\xA0\x8B\xA0\x7A\x9C\x7A\x82\x26\x89\xAB\xA3\x68\x25\xAD\xCB\x9D\xB7\x9F\xF9\x9F\x21\xA2\xE9\x3F\xC5\x88\x98\x11\xB3\x14\xA0\x31\xA2\x66\xA2\xC4\xA1\x23\xA0\x10\x40\xBE\xAF\x7E\x0A\xBC\x8C\x52\x4D\xA4\x43\x74\x35\xA3\x74\x9E\x93\x44\xB9\x7E\x85\x13\xA5\x15\xA7\x4C\xA5\x44\xA3\xD3\xA1\xB9\xA1\xAD\x43\xF3\x88\xB3\x09\xB5\x23\xA0\x11\x99\x7F\x9B\x0C\x99\x72\xA2\x59\x01\xE7\x89\xBA\xF8\x8A\x23\xAB\x4A\xA2\x77\xA2\x7E\x9E\xD7\x9E\x74\x28\xD6\x7C\xB0\x0B\xB9\x15\xA3\x4B\xA2\x69\x9D\xAC\x9F\xA4\x9A\x5D\x3E\xF2\xE7\x48\xF5\x99\xF8\x8F\x4B\xA5\x2E\x81\x7F\x95\x29\xA2\x93\x43\xD0\x85\x89\xC4\x92\x16\xA1\x93\x9C\x5A\xA3\xE6\xA1\xB2\x9E\x59\x3D\xBF\xCD\x67\x11\xAF\x28\xAE\x3F\xA1\x6B\xA2\xCE\xA0\x59\x68\x02\x44\xAE\x89\x9A\x10\xB0\x25\xA1\x47\xA2\x96\xA2\xFC\xA0\xBB\xA1\xF4\x42\x88\x8A\xA8\xF5\x83\x25\x88\x2F\xA0\x6B\xA3\xE4\x68\x60\xA2\x21\x3E\xC2\x89\x96\x13\xB8\xFB\x9B\x4E\xA5\x5F\xA1\x3B\xA2\x1A\xA1\x72\x43\xDA\x88\x91\x0D\xBC\x12\xAF\x41\xA1\x9C\xA0\x78\x97\x9B\x99\x81\x27\xE6\x88\xB0\x14\xB6\x20\xA7\x3A\xA6\x92\xA2\x1B\xA3\x57\xA2\xC6\x42\xB1\x89\x88\x0B\xBA\x15\xA6\x50\xA1\x87\xA2\xBD\x9D\x09\x9A\x6C\x2A\x8D\x8A\x95\xA1\x7A\x27\xA4\xD9\x9B\xA6\xA0\x31\xA2\x96\xA1\x56\x42\xAE\x86\x82\x01\xAF\x01\xAA\x49\xA2\x7B\xA0\x02\xA2\xEE\xA1\x05\x43\xAD\x76\x89\x14\xA9\x8E\x34\x7C\x9D\x59\x34\x3E\xA3\xC7\xA0\x54\x45\xA2\x7C\x83\x13\xA4\xF1\x95\x53\xA1\xF3\x9E\x56\xA2\x2C\xA1\x5C\x45\x9C\x88\xBB\x14\xA4\x14\xAD\x53\xA3\xE8\x9F\x5E\x9F\x9B\xA1\x41\x45\xE7\x8A\x99\xB5\x4A\xE0\x9E\x8C\x95\xDD\x9F\xC6\xA1\x36\xA1\x1D\x43\xC9\x89\x94\x0A\xAB\x26\xAC\x45\xA0\xAC\xA3\xC8\xA1\x78\x8F\xA1\x5C\x58\x81\x96\xA7\x92\x2A\xA4\x76\x78\x62\x02\x7E\x4A\x36\x7D\xD1\xE8\x2A\x2E\x5C\xE8\x6B\x4D\x9E\x25\x6D\xC1\x05\x81\x4B\x91\x72\x06\xE6\x0C\x2C\x4D\xAE\x47\x9C\x68\x56\xA1\xC2\x49\x83\x06\xED\x71\x94\x12\xD1\xD1\x40\x67\x7C\xB0\x41\x94\x11\x54\x8A\x6F\x57\xDB\x2E\x69\xA9\x12\x5D\x7B\xFD\x69\xB1\x48\x28\x8D\xA0\x78\x8C\x4A\xCF\x17\x05\x0F\x99\xCA\x61\x97\x5A\x2B\xA4\x6A\x8F\xB6\x2E\xC2\x53\xAB\x81\x46\x33\xAF\x8A\x8E\x14\xA2\x49\x57\xDB\x2D\x40\x63\x45\x2D\x97\x63\x54\x96\x33\x8B\x9B\x14\xA5\xB5\x45\xAE\x2F\xCB\x49\xEF\x3B\x4C\x99\x3F\x24\xBF\x76\x74\x16\xB3\xA3\x53\xCD\x98\x63\xA2\xD6\xA0\x07\xA1\xFC\x41\xDD\x86\xBE\x07\xBC\xFE\x90\x36\xA1\x62\xA1\xDC\x9F\x89\xA1\xE1\x3F\xE5\x6F\xA2\x73\x8D\x70\x02\x08\xA6\x49\x6B\x72\xA2\xDF\x56\xBE\x73\x57\xCC\x50\x0B\x7F\x2E\xAA\x33\x5A\xCB\x70\x1C\x00\xFF\x01\x59\x2B\x95\x83\x28\xD0\x9F\x3D\x92\x59\xA4\x0C\x6D\x24\xA3\x6A\xA2\xE9\x44\xD7\x89\x95\x12\xB6\x22\xAB\x01\xA0\x93\xA3\xEA\xA1\xAE\xA2\x87\x43\xF2\x89\x89\x0E\xB5\x25\xAB\x38\xA3\x7E\x95\xEE\x8E\x87\x8A\x63\x00\x8E\x89\x83\x17\xBB\xED\x90\x5F\xA2\x95\xA2\x3A\xA2\xAC\xA2\x7F\x45\xCD\x86\x81\x16\xAF\x27\xAA\x53\xA3\x93\xA0\x4F", -"\xA3\x66\xA2\x3E\x45\xAF\x7C\xB9\x0D\xB6\xA1\x9D\x98\x9D\x6B\x8E\xFE\x95\x32\x32\xE4\x45\xF4\x6A\x75\xFE\x9A\x2C\x97\xF2\x9C\x38\x9C\x69\x9C\x0D\x9B\xA6\x39\x9C\x6C\xA8\xE6\x99\xD6\x94\x20\xA4\x2F\x9C\x6F\x9D\x8A\x7B\x1D\x3E\xAB\x18\x82\x18\xA3\x2A\xAA\x02\xA3\x87\x9F\x3F\xA2\xCB\xA1\x01\x45\x98\x87\xBE\xF7\x9A\x1C\xAF\xEA\x9E\x57\x9F\x38\x9D\xBE\x9D\x9F\x43\x86\x66\xA1\x0E\xAC\xA2\x97\xEB\x85\x94\xA3\x80\xA3\x60\xA2\x1D\x24\xD6\x8A\xAC\x15\xA8\x30\xA6\x4C\xA7\x4A\xA0\x32\xA2\x06\xA3\xCA\x44\xDB\x88\xA1\x0C\xA6\x2C\xAA\x40\xA5\x6C\xA0\x98\xA1\xB7\x9D\x06\xEE\x3E\x73\xA2\x01\xA9\xC8\x61\x9C\x9B\x6D\x6D\x7B\xA3\x2B\x7B\x69\x45\xB2\x8A\xB1\x17\xB4\x29\xA4\x64\xA4\x9D\xA2\x91\xA2\x77\xA2\x71\x45\xDA\x84\x8A\x19\xA8\x12\xA0\x61\xA6\xAE\xA3\xE0\x9E\x6D\x87\xC4\x43\xF6\x80\x86\x0F\xAA\xB5\x99\x07\xA3\x62\x73\x1E\xA0\xD3\xA0\x06\x01\x6C\x01\x03\x07\xB3\x21\x77\xDB\x2F\xB1\xA2\xFC\x9D\x72\x2D\xB7\x45\xCE\x14\x81\x17\xAD\x08\xA4\x93\x2A\xBC\xA0\x6F\xA1\x10\x38\x5B\xE6\x6B\x56\xAA\x17\xA1\x0C\xA7\x12\x06\x1D\x03\x9C\xA2\x88\xA0\xE5\x5A\x2E\xF0\x41\x04\x12\x0B\xA7\x67\xA0\xCE\xA3\x40\x01\x8C\x97\x9B\x41\x8D\xF1\x66\x29\x8B\x2C\xA6\x10\x00\xD2\xA0\x8C\x94\x4C\x69\xBA\xBA\x10\x8B\x9B\x57\x7A\xA7\x86\x4D\x77\x3E\x5D\x54\x74\x72\x53\x53\xE9\x00\x78\xB0\xAA\x74\x0C\xAD\xD1\x7D\x90\x7F\x67\x75\x51\xA3\xCA\x2C\x8B\x5C\x95\xF6\x0A\xE4\x76\xAC\x7B\x61\x7D\xF8\x7D\xF0\x52\xA8\x46\xDB\x59\xAA\x1A\xA0\xD1\x1A\xED\x79\xD3\x49\xAC\xA3\x76\x96\x6F\x2E\xF3\xD5\x69\xEE\x80\xDF\x9E\xC9\x7E\xED\x5F\xAD\xA2\x84\x96\xDC\x2C\xB0\x80\x2F\xEE\x8F\xDE\x99\xAF\x71\x7A\x9D\xBB\x7E\x5F\xA3\x9A\x2E\xEA\x6D\x32\xFB\x66\x0E\x04\xEF\x7F\x7A\x9F\xD8\x7C\xAB\x7E\xF8\xFE\x0B\x86\x67\xF3\x77\xA4\x90\x00\x07\xD7\xA1\x47\x97\xC2\x96\x9B\x3D\x44\xCB\x74\x29\x06\x2E\x7C\x5A\x77\x84\x7C\xB4\xA2\xED\x9D\x6D\xBF\x1E\x9E\x56\x1B\xA4\x6C\x91\x6C\xA2\xD9\xA0\xE1\x7D\x56\x7D\xF8\xFC\x73\x1A\xBA\xF3\x7C\x78\x6B\xBC\x9F\x9D\x9A\xE0\x74\x59\x96\xD8\x46\xBE\xD5\x57\xAC\x77\xD5\x7A\xD6\x7D\xDE\x7D\xCD\x7D\x6F\xA3\x7E\xFB\x18\xFE\x45\xFC\x6D\x5B\x70\x6F\xA5\xDC\xA1\xBC\x1B\xEA\x9D\xB3\xA5\x5D\x8D\x82\xEF\x83\x7A\x62\xF2\x7F\xDD\x7F\xB8\xA2\xCB\x96\x1E\x2D\xEA\x73\x27\xFC\x66\x1A\x6B\xEE\x7A\x6A\x73\xC0\x7F\x4A\x61\xC8\x46\x87\x5D\xB2\xB4\x8A\x38\xAE\xC4\x7E\x7C\x9E\xBD\xA2\x6F\xA3\xD9\xFC\x60\x8D\x8B\xF6\x62\x37\xA9\x6C\xA7\xDF\xA1\xCE\x7E\xC3\x7D\xE9\x46\xCA\x6B\xAB\x1B\xB3\x19\x61\xBF\x9B\x64\x9B\xBB\xA3\x54\xA3\x6A\x2C\xAB\x8D\x91\xEE\x6C\xD7\x7F\x3F\x9C\xDF\xA0\xCA\xA2\x5A\x97\xFD\xE4\x09\xFA\x74\x00\x4E\x92\x67\x70\xA6\xB7\x95\xC2\xA3\x59\x75\x60\x03\xA8\xFB\x5F\xEC\x75\x39\xA1\xDD\x91\xE5\xA0\x88\x1D\xAA\x7F\xC7\xE5\x57\xFE\x74\xB3\x06\x55\x71\x19\xA1\x21\x01\xA2\x22\xD9\xA0\x92\x46\xB4\x83\xAD\x57\x94\xC9\x27\xE0\x06\x1E\x03\xA1\xA3\x41\x72\xE5\x5A\x3A\xF1\x56\xAA\x6E\x34\xA2\x10\x00\x1F\x03\xD3\xA3\x86\x72\x35\x41\x83\x02\x37\x04\xBD\xB9\x30\xC0\x9A\x1F\x03\xD5\xA2\xF4\x97\x47\x03\x8D\x83\x83\xE0\x87\x45\x70\x57\x83\x10\x24\x70\xA1\xDE\x38\xCA\x41\x85\x45\xA8\x00\x86\x65\x98\x43\xA5\x85\x9E\x76\xA0\xE1\x99\xF6\x43\x8D\x7D\x9A\xF0\x99\x96\x94\x94\x68\x95\x9B\xEF\x9A\x2A\x9B\x72\xFF\x1F\x7D\xB1\x8A\x9D\x0E\xA8\x3F\xA0\xDD\x9D\x83\x8E\xBB\x9A\x44\x67\x77\x8E\xBD\x5C\x95\xB2\x90\xBE\x88\xA3\x79\xD9\x92\x07\xA2\x09\x42\xCA\x78\xAC\xD0\x6C\x3B\xAD\xB5\x98\x26\x79\xC0\x9A\xF1\x8D\x03\x37\xD9\x64\xA0\xF1\x9C\xBE\x76\x4F\x32\xF0\xA2\x59\x90\xC2\xA3\x3F\x17\xC1\x9B\x61\x8A\x3C\xA0\x73\x57\x36\xF2\xA3\xE9\x90\xCC\xA3\xCA\x3C\xA0\x71\x8E\xCE\x76\x3B\xAA\x94\x99\x0A\x9D\x16\x95\x29\x9C\xFD\x2C\x98\x78\x8E\x09\xB1\xAD\x93\x6D\x99\x4A\xA1\x28\x9F\xAE\x7F\x37\x44\x8D\x8F\x9D\xBC\x7C\xCE\x8B\x0D\x91\x9F\x9E\x17\x8F\xAF\x9B\x8D\xF5\x31\x6A\xB8\x98\x3E\x3C\xA2\x5A\x90\xF4\xA0\xA1\x93\x55\x98\xEE\x27\xDA\xE8\x61\x8A\x3C\x3D\xAB\x7C\x9E\xF7\xA3\x2C\x9E\x86\x9F\xDD\x33\xF9\x88\xB8\x1E\xA1\x36\x66\xF3\x9E\xA8\x99\x20\x9C\xD9\xA3\x32\x0B\xE7\xFF\x5B\xA0\x8B\xF6\x8B\x5E\x9D\xD9\x8C\xC2\x99\x65\x9A\x66\x34\xCF\x8F\x8A\x12\xB7\xA1\x8F\x2A\xA1\x79\x9B\x07\x8B\xB6\xA3\x29\x45\xC6\xDA\x25\xF4\x83\x41\x54\x7C\xA2\x56\x9D\x89\xA2\x19\x81\x38\x3D\xD7\x68\xB8\x87\x80\x3F\xA4\x4F\xA5\x5E\xA0\xB6\xA0\xA3\x70\xFE", -"\x33\xEF\xFD\x65\x1F\xA9\xCD\x93\xF9\x9C\x34\xA0\xD8\x33\xEF\xA3\xD0\x47\xAA\x66\xAB\x14\xB2\xF1\x6D\x52\xA4\x8E\x98\x86\x9D\xFC\xA3\x59\x02\xC0\x8A\xB8\x59\x8A\xED\x23\x7F\xA4\xC4\xA2\xF1\xA3\xE6\x9B\xB5\x21\xC2\x7F\xB7\x1F\xAB\x3F\xA0\x80\xA5\xA8\x9F\x05\x9A\xD2\x9E\x9C\x47\x95\x8F\xA5\x1E\xB2\xC4\x9D\x17\x6A\x27\x86\xC6\x72\xED\xA3\x29\x3A\x8B\x89\x86\x0D\xA9\x9A\x90\x43\x30\xFF\xA3\xF6\xA2\x03\x9A\x2E\x3B\xBC\x76\x70\xEC\x9F\x27\x39\x48\xA1\x03\xA4\x5C\x85\x31\x92\x7E\x39\xF5\x1C\x95\xCD\x92\xDA\x90\x6D\x82\xC0\x50\xEC\xA2\x0F\xA4\x26\x48\x83\x13\xBB\xEC\x81\xC1\x94\x52\x8E\x00\x9C\xDF\xA1\x45\x94\xFA\x2B\xAF\x90\x8C\x20\xBF\x40\xA0\x35\x9E\x6F\x9E\x76\x9A\x6E\x93\x42\x34\xAC\x90\xAA\x63\x94\x30\x6A\x83\xA4\xF1\xA0\x0F\xA4\xB2\x99\x4A\x40\xA6\x58\xB5\x3A\x9C\x31\xA4\xE3\x9D\x89\x78\x01\xA5\x09\xA4\x6C\x3B\xBC\x65\xBC\xEC\x91\xDB\x88\x70\x92\xE2\x82\xCA\x78\x59\x82\x4F\x48\xCB\x75\x8B\xE5\x8C\xA7\x9B\x54\x9D\x0E\xA3\x52\x83\x35\xA3\x88\x1B\xD9\x58\x8D\x4B\x85\x1E\xA9\xB8\x01\x1C\xA0\x97\x4F\xB4\xA3\x44\xD9\x45\x90\xBE\xDE\x90\x42\xA4\x9E\x9A\x0A\x9E\xBE\x8B\x0A\x98\x71\x47\xA1\x7D\x9E\x07\xB0\xA3\x93\xD0\x91\x3C\xA1\xC1\x88\x8B\xA2\x35\x46\x9C\x87\x8E\xB2\x8E\x43\xA0\xC9\x94\x0A\x9F\x6B\x9A\xF9\x94\x9D\x33\xF3\x6A\xBE\x1D\xB5\x15\x97\x6E\x99\x38\x82\x71\x9B\xA1\x9E\xA8\x2C\xF9\xDC\x65\x0F\x9B\x73\x78\x20\xA6\x90\x9B\x8A\x95\x57\x96\x3C\x78\x2E\x7D\xB8\xE0\x96\x31\xAA\x9B\x9A\x90\x9A\x08\xA2\xC8\xA3\x5E\x3C\x92\x8F\x9D\x08\xBE\x9B\x70\x00\x80\x31\x9C\x22\xA4\xE4\x9A\xAE\x42\xBB\x88\x9D\x22\xAA\xD6\x9F\x89\xA3\xB1\x99\xED\x7A\x4E\x9A\xB6\x7C\x12\x91\xA6\xEB\x90\xF5\x95\xC1\x9C\x0F\xA6\x1A\x9B\x6F\x9B\xDC\x41\x97\x60\x8F\x09\xA6\xCA\x31\x07\x81\x54\x32\xFF\x9B\x3C\xA4\xD6\x42\xB8\x71\xA5\x96\x92\xB9\x9E\xF0\x9B\xF9\xA3\x1E\xA2\xE1\xA3\x38\x66\x37\x91\x93\x22\xBA\x43\xA7\x50\xA5\x3E\xA0\xF0\xA3\xF9\x8C\xB5\x48\xC1\x91\xA8\xE8\x97\xC5\x99\x01\x4B\x66\x86\xA2\xA0\x5B\x8F\xEB\x01\xAA\xBB\x02\x23\xAB\x45\xA4\x89\xA5\x73\xA3\x79\x9C\x63\x9A\x5B\x37\xB4\x7E\x97\x1F\xBD\x25\xAF\x38\x7E\x13\xA7\xD8\x9E\x34\x9B\x4F\x08\xF0\x61\xA8\xD7\x63\x45\xAB\x86\xA2\x0B\xA5\xED\x9B\x16\x35\xE3\x44\xF8\xFF\x64\x22\xBF\x46\xA9\x78\x9A\x26\x70\xBC\x70\x29\x81\x87\x48\xEC\x91\x84\xF5\x8A\xBC\x96\xB3\x6A\x5B\xA1\x27\x9A\xB1\x9F\x97\x39\xC3\x10\x47\xCA\x8A\x43\xA3\x8D\xA1\x69\x9C\x2B\xA5\xBB\xA1\xFC\x28\xFB\x8F\xB6\x73\x7D\x3F\xAA\x7E\xA3\x1D\xA5\x3E\xA4\x7E\x9C\x12\x0E\xB7\x72\x8E\x7D\x8B\x3B\xA5\x8E\xA5\x14\xA4\x8D\x9B\x5B\x8D\x24\x48\xF8\x90\x83\x23\xB9\x45\xAA\x0F\x69\x04\xA5\xC0\x32\xE2\x9B\xA8\x34\xFD\x91\x82\xF1\x8D\x2A\xA0\x90\xA3\xA0\x96\x56\x9C\x75\xA4\x0D\x49\xF2\x91\x89\x22\xBB\x21\x83\xFF\x9C\x03\xA7\x01\x80\x89\xA4\xD4\x48\xC4\x91\x8E\x15\xAC\x6E\x9E\x1A\x9A\x9F\x8A\x80\x52\x66\x82\xF1\x48\x87\x92\xA4\xFD\x91\x04\x8E\x5F\xA6\x85\x98\x80\xA3\xDD\x8F\xD1\x48\xB6\x91\x8B\x23\xBB\xD4\x9E\xB5\x98\x05\xA7\x89\x91\x10\x6B\x4B\xF4\x5A\x63\xB1\x43\x90\x49\xAE\x8D\xA2\x26\xA4\x38\xA5\x28\x9A\x1B\x3E\xB6\x68\xA9\x18\xBD\xDA\x84\xE8\x94\x28\xA6\x41\xA4\xE0\xA1\x11\x38\xAB\x6A\x9A\x0A\xAD\xA9\x9A\x4B\xA2\xC6\x9F\x6B\x9D\xD1\xA1\x14\xC6\x4E\x92\xA1\x24\xA6\x4A\xAD\x8E\xA3\x15\x7B\x17\xA1\x29\x9A\x61\x40\xB4\xEE\x57\x21\xB1\xAC\x92\x8D\xA3\x27\xA7\xA4\x97\x8A\xA4\x63\x45\xA5\x1D\x69\x19\xBF\x42\xA8\xAB\x64\xCD\xA0\xF2\xA0\x3D\xA0\xCA\x43\xE6\x90\xBA\xB0\x48\x43\xA9\x17\x87\xF4\x31\xF6\xA1\xFC\xA2\x5F\x45\xCB\x88\x9D\x0F\xAE\x45\xAE\x6C\x9F\xAB\x99\x7C\xA1\xB0\x9A\x27\x0F\xD2\x6D\xAE\xE2\x82\x80\x9A\xEE\x9B\xB7\x95\x88\x33\xBB\xA4\xF1\x44\xF9\x92\xB4\x11\xB6\xF7\x9A\x77\xA7\x93\xA0\xDF\xA3\x59\x91\xFD\x39\xFA\x87\xB4\xF9\x76\x99\x58\x98\xA7\x80\xA0\x27\xA3\x2E\xA2\x9E\x44\xCD\x88\xB6\xE1\x8D\xD0\x94\x6F\x9F\x81\xA0\xBA\x98\x16\x95\x58\x48\x9B\x8F\x95\x26\xA9\x22\xAA\x98\xA3\x9E\xA0\x7F\xA3\x2D\x9E\x37\xA7\x2F\x4A\x8E\xD6\x89\xF6\x90\x59\x9F\xA9\x3E\xCD\x9D\x87\x9D\x6C\x39\xFC\x76\x8F\xD3\x82\x45\xA2\x27\x81\x46\x9C\xCB\x9B\x19\x9D\x37\x46\xA3\x6B\x9D\x21\x97\xD1\x9A\x95\xA1\x6F\x9C\x6C\xA5\xF1\x9C\x49\x0D\xEF\x8E\x8B\xFC\x8A\x9B\x83\x8B\xA6\x4B\x99\x70\x82\xBB\xA4\x36\x44\xB0\x90\x8C\x23\xB9\xBA\x9B\x8B\xA5\x96\x9D\x2F\xA4\x39\x99\x78\x42\xE0\x41\x99", -"\x25\xA8\x4E\xAE\x93\x98\x03\xA7\x72\xA5\xA3\x99\xED\x27\xC8\x91\xA9\x1F\x87\xA8\x33\x9A\xA7\x03\xA2\x7E\xA3\xD7\xA1\xA7\x49\xF6\x88\xB7\x12\xBA\xD3\x99\xFD\x79\x4B\x9D\x99\xA0\x21\xA4\x8D\x0D\xDB\x93\x99\x4E\x5D\x4E\xA2\x47\xA5\x34\xA7\x7E\xA2\x00\xA0\x2F\x3C\xDD\x55\xB8\xF3\x9D\x9A\x96\x7D\x92\x8F\xA2\xC9\x5A\xEC\xA3\x27\x49\xAF\x75\xA2\x18\xB1\xD5\x94\x7F\xA7\x00\xA7\x43\x9E\x03\x35\xF0\x33\xB5\x93\x8E\xEC\x85\xD5\x9A\xA8\x99\x37\xA5\xDF\x2F\x92\x9E\x6A\x48\xBE\x93\x84\x28\xB0\xD8\x98\x62\x9F\x01\x66\x93\x83\xDE\xA4\xEC\x49\xA6\x8A\x9F\x27\xB3\x1F\xA1\x9E\xA4\xCB\x9E\x40\xA5\x6C\xA1\xF1\x47\xA0\x92\x8A\x28\xB7\x4D\xA6\xAA\x9F\xFF\x33\xA1\x98\x08\xA5\xC9\x49\xBB\x90\xB1\x20\xAE\x40\xAC\xAD\x9B\x9C\x8C\x64\x90\x78\xA4\x03\x4A\x9C\x94\x85\x28\xB5\x44\xA2\x5B\x9B\x9E\x9B\x42\xA4\x21\x3D\xAF\x49\x8B\x94\xB1\x26\xAD\x50\xA3\x98\xA3\xBE\x96\x3E\x9A\x05\x61\xD4\x49\xBE\x87\x88\xE7\x83\x31\xA2\xF9\x9E\x3F\xA7\xAD\x9B\xF7\xA3\x17\x49\x90\x90\xB8\x06\x9A\x4F\xA6\x64\x9C\x47\xA7\x80\xA0\x1F\xA5\xC0\x3F\xE3\x7F\x98\xD9\x91\x44\xA1\xA5\x9A\x46\xA4\x70\xA5\x69\x9C\x35\x3A\x85\x82\xA1\xEC\x81\x4D\xAC\x9D\xA1\x44\xA6\x11\xA5\x11\xA5\xF4\x48\xFF\x35\x97\x0D\xAF\xAF\x91\xA3\xA2\x45\xA4\x83\xA4\x28\xA5\xEC\xB1\x33\x90\xBF\xED\x9D\xD9\x93\xDF\x98\x17\x8C\x7A\xA4\xC1\x9C\xD4\x07\xB9\x94\x87\xED\x94\x31\xA3\x91\xA1\x78\xA1\x4D\x9B\xFD\x9D\x9B\x39\x85\x70\x87\xF8\x8E\xCC\x93\x43\x84\x32\xA6\x95\xA4\x46\x9B\xEC\x47\x95\x94\x8C\xED\x96\x01\xA8\x62\xA7\xA5\x9A\xD8\x9C\xF5\xA4\x87\x49\xF7\x94\x85\x20\xBD\x51\xAF\x77\x9F\xDD\x90\x9F\xA4\xA4\x9F\x2F\xDE\x23\x70\x8E\x86\x8E\xA2\x9E\x4B\x83\x43\xA5\xF2\x9B\x29\x9B\x83\x47\x85\x95\xAF\x29\xA9\x4A\xA4\x80\x9F\xAC\x8B\xCC\x7B\x0A\x90\x55\x46\x95\xAA\x5D\x29\xAF\x54\xA8\x8A\x99\x2A\xA4\x15\x96\x2D\x9A\x5E\x48\xE0\x18\xAB\x80\x9D\xB5\x92\x4D\x91\x79\xA3\x8C\x44\x00\x9E\x26\xB5\x74\x92\xB7\xE8\x9E\x25\x88\x3D\xA2\x50\xA4\x1B\xA5\xE0\xA4\x4B\x42\xFE\x90\xAB\xE2\x88\xCF\x9B\xC7\x90\x09\x92\x1D\xA4\xF6\x81\xB5\x39\xEB\x94\xBF\x0E\xB5\x16\xA9\x8A\x9D\x7E\xA0\xF8\xA0\x18\x9E\xDE\x32\xB2\x78\xA0\xCB\x92\x50\x9C\xAA\xA2\x4C\x9D\xAA\xA1\xB0\xA1\x02\x42\xE3\x86\xBF\xFE\x8B\x20\xAB\x88\xA1\x74\x9D\xAD\x9E\x47\xA4\x7A\x38\xB8\x7D\xB9\x83\x73\x2B\x3D\xAA\xA5\x3A\xA7\xFF\xA3\x23\xA4\x24\x49\xFE\x2C\xAA\x26\xB5\x7F\x60\x49\x9B\xF2\xA1\xA1\x80\xD5\x2E\xD5\x4A\xBA\x94\xA5\x20\xB7\x4E\xA4\xF9\x56\x92\x9B\x91\x81\x5C\xA5\xEC\x37\xCB\x8A\x85\x14\xBF\x47\xA1\x7E\xA6\xE5\x70\x8F\xA1\x27\xA2\x59\x36\xA1\xC5\x21\x2B\xBA\x55\xAB\xA3\xA4\x3F\xA6\x01\xA5\xBC\xA3\xC2\x49\x99\x85\xBF\x25\xA4\xA5\x9D\xC9\x9F\xEC\x88\xE1\x53\x06\x9B\x16\x3A\xD6\x95\xB1\x1E\xB8\x56\xA4\x3E\x98\x94\xA3\x5E\x93\x47\x9D\xCF\x33\xBE\x71\xA9\x29\xA0\x57\xA6\xAC\xA3\x5C\xA2\xAA\xA1\x72\xA1\xE0\x44\xE6\x8C\xAC\xC0\x8B\x69\x9A\xA6\x9D\x99\x9D\x40\x83\xD2\x2D\xF3\x4A\xE9\x95\xB1\x0B\xA7\x29\xA4\x4B\xA0\x3E\xA4\xA3\x9F\xA9\xA4\x32\x3F\xFF\x6D\x63\x22\x96\x3D\xA3\x12\x96\x17\xA5\x01\x95\x8B\xA5\x0C\x4B\xC8\x72\x9B\x25\xB0\x4A\xA8\x90\xA4\xA2\x94\x36\xA4\x65\x8F\x5C\x37\xBD\xDB\x5E\xDD\x90\x4E\xA1\xAA\x60\x3F\xA5\x26\x83\xDE\xA1\xF4\x4A\xE3\x95\xBC\x24\xA1\x99\x9D\x7D\xA7\x8D\x80\x8E\x33\x8C\xA5\xDF\x38\xBB\x95\x97\x14\xAE\x53\xA3\x3F\x9A\x20\x9B\x90\x82\xD5\x80\xF6\x64\x40\x96\x80\xF2\x8C\x53\xA9\x92\xA4\x22\xA5\xBD\x73\xF4\xA3\x83\x04\xC9\x96\x8D\x2C\xB5\x2E\xAE\x4D\xA7\xBA\xA1\xC4\xA4\x8A\xA1\x55\x43\x8B\x6F\xB4\x64\x2D\xBC\x91\x47\x30\x67\xA6\xC6\xA4\x82\xA2\x1C\x4B\x9C\x92\x98\xF5\x96\x3F\xA4\x96\xA2\x5E\xA7\xD4\xA4\x30\x97\xC8\x4A\xAB\x85\x98\x17\xAD\x15\xA1\x00\xA5\xB9\x96\x89\xA4\x1C\x9D\xD8\x04\xBF\x96\xA7\x2D\xAC\x84\x90\x32\xA4\xCC\xA0\x66\xA4\x67\xA2\x8E\x31\xA0\x51\x9D\x41\x86\x20\x84\xAD\xA3\x6E\xA4\x02\x96\xEF\x9F\x96\x3C\xD7\x96\x99\x17\xA8\x40\xA5\x40\x90\xAA\xA1\x8B\x9A\x8C\xA5\x7E\x4B\xB2\x6D\x95\xF2\x86\x52\xAA\xAC\xA7\xFC\xA1\x68\x9F\x07\xA4\x27\x43\xF1\x04\x8C\x07\x9E\x5A\xA1\xB4\xA5\x5E\xA4\xA4\xA5\xCB\xA3\x92\x4A\xE2\x7F\x93\xEC\x97\x70\x9C\xB7\xA2\x6A\xA6\xCA\xA4\x8D\xA4\xE5\x3E\xE2\x96\xAD\x1F\xA4\xF5\x91\x42\x9F\x28\x86\xA6\x99\x1B\x9B\x72\x4B\x9F\x97\xA6\x25\xBD\xB1\x97\x2D\xA6\x6A\xA1\x5C\x9D\x46\x83\x1A\x38\x82\x96\x8A\x27\xBB\x59\xA9", -"\x50\x80\x16\xA0\x7D\xA4\x34\x4B\x65\x4A\xB7\x90\x8C\x68\x61\xDA\x98\x77\x9D\x27\x9E\xB8\xA4\xEB\xA4\xB4\x4B\xEA\x21\xBE\x24\xA3\xA9\x90\x94\xA1\x1A\x8E\xAA\x98\x57\x6E\x00\x4B\xB5\x88\xB2\x2E\xA2\x51\xA4\xAE\xA7\x04\xA5\x8E\xA2\x48\x9B\x7E\x4A\x9E\x7C\xBF\x2B\xA8\x5C\xAA\xBA\xA2\x53\x9F\x59\xA4\xC9\x84\xCF\x4B\xE4\x84\x89\x63\x53\xF1\x98\x30\x9E\x89\x99\xF2\xA5\x93\x9D\xAE\x4A\xE6\x91\x92\xE2\x92\x42\xA4\x83\xA2\xA8\x99\x15\xA4\x65\x87\x63\x49\xAD\x72\xBE\x2E\xB9\x59\xA0\xBC\xA7\x7A\xA5\x28\x82\x2E\xA4\xB6\x9C\x21\x95\x98\x77\x90\x91\x9C\x02\x93\x3A\x9E\x10\x9D\xEA\x9C\x54\x47\xF8\x0B\x16\x17\x47\x04\xAD\x6C\x89\xC2\x06\xC8\x1F\x02\x00\xD6\x85\x09\xDA\x31\xA3\x7C\x9E\x2D\x13\x05\x51\x2C\xF4\x28\x56\x7F\xB7\x5D\x4F\x86\x00\x30\xBC\x51\x53\x16\x35\x58\x06\x2A\x2C\x57\x39\xC7\x44\x1D\xB1\x30\x8F\x65\xC2\x53\x24\x27\x59\x70\xAB\x56\x09\xA6\x5F\xF9\x45\x0B\x38\xA8\x62\x78\x84\xDB\x7A\x32\x97\xB1\x40\xDC\x7E\x4F\xEA\x3A\xFB\x4B\x0E\x05\x78\x8F\xEE\x87\x9A\x73\x06\xA7\x55\x7F\x83\xFE\x56\x77\x8F\xE8\x7F\x15\xA7\xF6\x96\x39\x2D\x44\xA0\x24\x5F\x20\x00\xFB\x14\x16\x17\x51\xF4\x7D\xEE\x90\xC4\x7E\x56\x7D\x84\x87\x8A\xFE\x6D\x82\xB7\x05\xB1\x08\x09\x11\xA7\x76\x9F\x46\xA1\xA4\xA0\x1D\x41\xA4\x90\x6F\x03\xA0\xEF\x71\x0F\xA3\x24\xA2\x7C\x5F\x4C\x4B\x27\x4C\xC2\xFB\x69\x30\xAD\xF5\x71\xEA\x7A\xC4\x7F\xC2\x86\x4B\x7F\x35\xFE\x00\x83\x9D\xA6\x52\x3A\xAF\xE1\x61\x89\xA6\x73\x7E\xB1\x29\x2E\xFE\x5D\x5D\xB2\xE5\x95\xF0\x7B\xE6\x78\x87\xA4\x14\xA7\x9F\x7C\x26\xFE\x3E\xE7\x2F\xCC\x95\x62\xA3\xC3\xA4\xD5\x7F\x9D\x7E\x00\x88\x2D\x4C\xA2\xFD\x7D\x0A\x00\xCE\x73\x94\x1A\x38\x7C\x83\x7E\x98\xA0\xB8\xA9\x56\x98\x9F\x2B\xB8\x62\xA7\xE6\x7A\x8B\xA4\x0B\xA6\x72\x97\x94\xFE\x6C\xFC\x7A\x04\xBF\x0B\xA9\x12\xA1\xEB\xA2\x40\x01\xAD\xA3\x8F\xFA\x72\x98\xB1\x2D\xA8\xF2\x79\xC5\xA7\xC3\x7D\x81\x7F\x1B\xA6\x7D\x41\xAA\xF0\x7C\x31\xA0\xBE\x77\xE2\x7F\x1C\xA0\xE7\x61\x64\x04\x65\x4C\xCB\x98\xA7\x31\xB8\xD7\x99\xE7\x7D\x8B\xA5\x22\xA6\x03\x7C\x8B\x4C\x86\x88\x46\x05\xB2\xE4\x18\x14\xA0\xFE\x2E\xC8\x05\x76\xA0\x13\x9D\x43\x98\x81\x04\xA0\xF2\x79\x9F\x7A\xC8\x7F\x09\x62\x22\x7F\x71\x4C\x91\x99\xB4\x31\xA4\xF4\x76\xC7\xA6\xD0\x7C\x1E\xA6\x35\xA6\x7A\x4C\x9C\xF0\x68\x04\xAD\x74\x63\xE5\x7B\x20\x01\x95\x7E\xA3\x67\x82\x4C\xF9\x08\x84\x32\xB5\x63\xA6\xC8\xA4\xCB\x7C\x17\xA7\x3C\xA6\x5E\x4C\xF5\x82\x91\x31\xBF\xD1\x7E\x15\xA7\x12\xA1\x2A\xA7\xC9\xA4\xAB\x4C\xAA\x98\xAE\xFA\x7F\x65\xA0\xCB\xA1\x98\xA7\x1E\xA7\xA1\xA0\x13\xF9\x27\xF4\x6C\x06\xA8\x62\xAA\xCA\xA1\xCB\x7D\x21\xA6\x49\x7F\x36\x4C\xD5\xF4\x72\x04\xB6\xD0\x74\xA3\x78\x97\xA5\x35\xA7\x5D\xA6\xAC\x4C\xBD\x99\xB0\xF8\x75\x64\xA0\xCC\xA1\xD1\x7F\x17\xA7\xCD\x97\x14\xF8\x11\x1C\x2A\x05\xA7\x66\xAC\x65\x86\x9A\xA4\x2F\xA6\x6C\xA6\x87\x4C\xDA\x99\xA1\x05\xA7\x0B\xA2\x66\x3D\x5B\x20\x02\x01\x00\xA6\xA5\x5B\x39\x99\xBE\x2C\xA0\x67\xA3\x25\x00\x2E\xA3\x0B\x7C\x6A\xA6\xC8\x4C\xEE\x99\xA1\x33\xB0\x67\xAE\xCB\xA1\x8D\xA6\x13\xA7\x9C\xA0\xB2\x4C\xA5\xFC\x52\x31\xB9\x0B\xA6\x10\x03\x2F\xA3\x8D\x5E\x7D\xA6\xCC\x01\xD0\xD4\x57\x33\xB5\x61\xA1\xCF\xA6\xCB\x7C\x5B\xA1\xFE\x7E\x8C\x4C\xF4\xC0\x7A\x29\x09\x00\x06\x5D\x44\x78\x3B\x3D\xA6\xE3\x59\xA3\x53\x5C\xE2\x7E\xBB\x93\xD4\x2B\x4A\x29\x5B\x2C\x26\x55\xB5\x07\x96\x5A\x28\xB2\x1B\x0E\x06\x0A\x06\x44\x2E\x87\x28\x24\x85\x3B\x2A\xC4\x5A\x0F\x2C\xBA\x0D\x7C\x68\xAE\xED\x5F\x9D\x37\x48\xA7\xF8\x14\x21\x4D\xB5\x02\x37\x34\xA2\xC2\x2C\x46\x28\xFE\x53\xAF\x2D\x98\xA6\x7C\x12\xFE\x2C\x96\x6A\x2F\xA2\x27\xCC\x27\xA5\xA7\x22\x2B\x79\x71\xDD\x01\x7B\x97\xA2\x1E\x81\xE5\x3A\x00\x00\xAA\x2D\xC4\x07\x0B\x00\xBF\xF4\x74\xFB\x10\x35\xAB\x6B\x50\x18\x00\xA6\xA7\x31\x27\xB2\x88\x74\x54\x42\x25\xB6\x9F\x6C\xA3\x2C\xD4\xA6\xA9\xA5\xAD\x01\xA8\xA6\x52\x88\x4D\x9A\x94\x35\xAE\x99\x0B\x48\x28\xAB\xA5\x1A\x2A\x86\x97\x6C\x54\x68\x7C\x91\x3C\x0D\x00\x08\xCF\xA5\xF0\x39\xE2\x00\x58\x2D\x8A\x01\x68\x9A\xAF\x51\x22\x54\x7C\x00\x06\xAB\xA6\x25\x16\x84\x97\x1C\x86\x6F\x9A\x95\x63\x25\x69\xA2\x80\x74\x8D\x2A\x65\x8B\x9D\xA6\xC0\x58\x6C\xA8\x2A\x28\x92\xE4\x1C\xA2\x81\x2B\x83\xE8\x28\xA0\x4C\x1B\x4D\xD6\x0B\x69\xCC\x81\x32\x00\xD8\xA0\x1B\x2D\x5A\xA6\x6C\x2D\x27\x4D\xE3\x15\x15\x53\x27\xC9\x24\x44\x2C\xA5\xA4", -"\x50\xA6\xF6\x72\x56\x4D\xAE\x9A\xB2\x34\xBA\xA7\x84\xD3\xA7\xC6\x5E\x58\xA7\xDB\x61\x3D\x4D\xAC\x5D\x7F\x34\xA5\x6A\xAD\x67\x8A\x6F\x02\x3B\x2C\xA2\xA6\x9A\x4D\xEC\x54\x59\x36\xA3\x66\x2D\x3C\xA0\xEF\x54\x96\x02\xA5\xA6\x5A\xFF\x45\x0B\x0E\x00\x10\x6D\xAC\xBF\xA6\xD6\x65\xC4\x07\x07\x00\x6D\x4D\xFC\x09\x7A\x35\xB3\x6C\xA7\xA9\x2D\x5A\x06\x5C\xA6\x6B\x2A\x82\xEA\x10\x9A\x81\xCD\x8F\x53\x08\xD7\xA4\x9A\x4F\x6E\xA6\x6D\x05\xC4\x58\x02\x7C\x6C\x6A\x2F\x57\x03\x8B\x02\xB8\xA4\x05\xA3\x08\x57\xA3\x53\x03\x9B\x8B\x1E\x29\x1D\x00\x4D\x23\x11\x83\x12\xA7\xDA\xA6\x83\x40\x9F\x83\xA4\x0F\x14\x6D\xA8\xDD\xA5\xE0\x86\x3D\xA6\xEE\xA6\xB5\xF7\x7B\xA4\x60\x37\xA4\x0E\xA5\x13\x99\xBC\x52\x39\xA6\x61\xA6\x87\x2F\xD2\x98\x92\xDD\x7D\x66\xA3\x17\xA3\x2B\x7F\x9E\x7E\x37\xA6\xFE\x86\x07\x1C\x38\xA0\x6B\x39\x85\x18\xA5\x71\x61\x78\x53\xF9\xA6\x52\xF8\x69\x9B\xB3\x36\x6F\x61\xAA\x40\x60\x02\x83\x56\x72\x25\x7C\xE8\x4C\x87\x9A\xB4\x05\xAF\x66\xAF\xF0\x85\xFC\x7B\x62\x7C\xBE\x74\x8D\xF9\x31\x03\x3C\x03\xAE\xCE\x4E\x0F\xA7\x23\xA0\x11\xA7\x90\xA0\xF2\x40\xC7\x98\x9F\xA6\x78\x6F\xA2\xD9\x8A\xBF\xA4\x30\xA7\x4B\xA6\xCF\xF8\x19\x99\x8B\xDF\x73\x5D\x94\xC5\xA3\x9C\x99\xBF\x96\x07\x7C\xC5\xC4\x03\x9C\x89\x34\xBB\x09\xAE\x16\xA0\x2F\xA0\xD9\xA4\xC8\x74\xFF\x4D\xF9\x9B\x81\x38\xA5\x4D\x7C\xC6\xA6\xC2\xA7\xF9\x69\xE1\x7C\x70\x4C\xB0\x66\x94\x38\xBC\x11\x9E\xE2\xA2\xC0\xA5\x2C\xA6\x4E\x7C\x0A\x4D\xFD\x98\xA5\x6B\x32\xCE\x72\xE3\xA0\x7E\x61\x8D\xA6\xB4\x41\x18\x4E\x97\x82\x83\xA7\x9A\xFA\x7F\x13\xA5\xF2\x7B\x4D\x3A\x1F\xA7\x2B\x4E\xC7\xEF\x5B\x33\xA7\x0B\xAB\xC9\xA3\xF1\x21\x27\xA6\x5E\x30\x9F\x4C\xCB\x82\x91\xF5\x0D\x0A\xAD\xDB\x1F\x29\xA1\x28\x2F\xA8\xA0\x31\xF8\x11\x89\x62\xA6\x66\xC1\x72\xCF\xA7\xA2\xA4\x9F\x7F\xAE\xA0\x57\x41\xB7\x88\x50\x0B\x73\x71\xAC\x51\x81\xC9\xA6\xF8\x7B\x25\xA7\x3C\x41\x88\xF4\x55\x38\x0C\xC0\x7D\xE3\xA0\xC4\xA4\xEF\x7B\x87\xA0\x38\x4E\xA4\x9C\xBB\x30\xB1\x1C\x02\xCD\xA6\x20\x01\x6B\xA1\x2C\xA7\x0E\x2F\x8E\xEF\x67\xA8\x76\x68\xA4\xA1\x7B\x98\xA5\xA3\x66\xF6\xA6\x5D\x0A\x99\x7D\x6E\x39\xA1\xC3\x7F\x9B\x7F\xBD\xA4\x7B\x74\x05\x7C\xEA\x4C\x8E\xFD\x6D\x39\xB8\xC0\x77\x84\x76\x06\x7F\x88\xA6\x0D\xA7\xB7\xF8\x66\xF0\x78\xE1\x79\xB4\x44\xE6\xA0\x85\x85\x1F\x7D\x57\x06\xFA\x04\x81\x11\x17\x12\x70\xC3\x74\x88\x79\xD2\x02\x1C\x7C\x5D\x62\xF2\x2E\xCB\xC7\x45\xE2\x77\xC3\x79\x10\x01\x0F\x7F\x87\x67\x4A\xA7\xE6\x1F\x97\x9D\x9B\x37\x1B\x4B\x79\x17\x01\x10\x7E\xBA\x5F\x41\x7C\xF1\xBE\x73\xF0\x76\x12\x72\x75\xA7\xF7\x92\xD4\xA6\xA7\xA6\x7F\xA6\x8B\x46\xE3\x9C\x88\x39\xB9\xC0\x7D\xE5\xA5\xCF\xA4\x18\xA7\x85\xA6\xC5\x41\xA9\xFD\x4B\x3A\xBD\xC1\x7C\xEB\xA4\xCF\xA5\x0E\xA6\x8C\xA6\x2F\x4E\xE7\x8E\xB0\x15\x03\x6F\xA0\x65\x8D\xC7\x38\x1B\x02\xC5\xA6\xA5\x5B\x53\x9A\xA0\x36\xAF\xA3\x26\xD2\xA4\x72\x02\x64\xA6\xE4\xA6\x67\x00\x2A\x9A\xAA\x64\x24\x6D\xAA\xDA\xA7\xA8\xA7\x66\xA6\x23\x85\x9D\x4D\x9F\x9C\x52\x3B\xB5\x42\x71\xDA\xA0\xBF\x53\x68\xA7\xD4\xA6\x8F\x47\xA6\x9B\xBB\x35\xAA\x16\x08\xDA\xA4\xB5\xA7\xB5\x67\xD5\xA6\xBC\xC1\x00\x78\x99\x00\x0C\x76\xAD\xDD\xA5\x74\xA5\x28\x2F\x33\x7C\xF8\x40\x87\x9C\x8F\xFB\x4E\xC3\x71\xED\x5D\xD3\xA6\x2C\xA0\xC4\x6D\x88\xF8\x39\xD1\x47\x5C\x34\x40\x0B\xED\x5B\xD2\xA4\x3A\xA0\x7D\xA7\xDB\x07\x95\x70\x29\xFB\x55\xBF\x11\x87\x7B\xD6\xA4\xA8\xA6\x81\xA7\x01\x4F\xFB\xFE\x47\x38\x06\xBE\x26\x34\x85\x5C\x2D\x62\xA7\x66\x97\x10\x0E\x11\x9B\x91\x2B\x02\xA2\x23\x37\x02\xDB\xA6\x65\xA6\x6E\xA7\x98\x4D\xDE\x9D\xAD\x56\x9C\x6C\xA0\xED\xA0\x27\x8B\x84\xA3\x90\xA7\xE8\x58\x6E\x9D\x81\x35\xAA\x77\xAC\xDB\xA5\xDD\xA7\xE8\x69\x73\xA7\x2A\x4F\xE2\xEC\x07\x38\x0B\x61\xAA\x1A\xA3\x36\xA3\xE2\x7A\x27\x69\x34\x4F\x98\x2B\xAF\x32\xA6\x6C\x6C\xDF\xA3\x22\xA3\x05\xA5\x56\xA6\x3A\x4F\xF8\x5E\x97\x38\xA6\x0B\xA9\xE6\xA4\x87\xA5\x3A\xA1\x04\xA7\x21\x04\x0B\x9C\xBC\xB8\x4D\x70\xAC\x14\xA7\xC1\xA7\x20\x07\xAC\x00\x11\x4E\x86\x02\x34\x03\xA7\x53\x80\xEA\x79\x9B\xA6\xB1\xA7\x73\xA6\xC8\x4E\x9B\x9C\x85\x04\xBD\x70\xA4\xF5\xA0\x00\x01\xCE\xA6\x34\xA6\x3B\x4F\xC0\x9C\x84\x3D\xA5\x71\xA7\x7D\x7F\x50\x9B\x62\xA7\xAF\xA7\x94\x4C\xAF\xFD\x5D\x31\xA7\x6F\xA4\xE0\xA1\x38\x7F\xA1\xA7\x73\x2D\x75\x46\xB1\x9C\xB8\x39\xA4\x68\xA3\xCE\xA2\xED\xA7\xD0\xA6\x34\xA7", -"\x64\x4F\xCC\xEF\x7B\x38\xBB\xF0\x70\x33\x98\xED\xA6\x8B\xA0\x72\xA6\xCD\x4C\xC1\x9C\xB3\x32\xA9\x76\xAE\x13\xA6\x91\xA7\x00\xA5\x50\x31\x7E\x4F\x84\x19\xAA\xF9\x77\x7B\xA3\xCF\xA5\xE8\xA6\x62\x7C\x56\xA7\x35\xFD\x1C\x99\x9E\x10\x7C\xEE\x72\xC4\xA6\xC7\x7F\x34\x28\x81\xA0\x56\x4E\xDD\x1E\x18\x39\xBE\x70\xAE\xF5\xA3\x99\xA6\x41\xA6\xB1\xA7\x78\x4F\xF3\x9C\xBE\xDF\x62\x73\xAF\x99\x71\xF1\xA6\xE1\x9E\xBD\x7C\x96\x4C\xE3\x9E\xA2\x3E\xA5\x66\xAD\x07\xA0\x5A\x62\xE9\xA7\x50\xA7\x21\xFE\x20\x9F\x8D\x3E\xB9\x7B\xA1\xE7\x7B\x9A\xA5\xE9\xA6\xCF\xA7\x61\x4F\xCA\x9C\xB3\x3E\xA2\x7D\xA0\xE8\xA3\xD3\x6F\xEB\xA6\x81\xA7\x37\x4C\xEC\x9E\x8F\x3A\xA4\xC3\x7F\xF6\xA0\x48\x7F\x46\x36\xD7\xA7\xB8\x4F\xC2\x9E\x81\x3E\xAA\x7D\xAF\xDE\x78\xD7\xA4\x00\x00\x46\xA3\xBE\x4F\xC9\x9F\xBA\xE8\x6C\x7C\xAE\xE5\xA3\x26\xA1\xD9\xA7\x60\xA7\x7A\x41\xC8\x9F\x8D\x31\xB2\x7D\xA5\xFD\xA6\x25\xA1\xBD\xA7\xEF\xA7\xE0\x4F\xE1\x9F\xA2\x3F\xA3\x7F\xA4\xFE\xA5\xFC\xA6\xF9\xA7\xF3\xA7\xE8\x4F\xE9\x9F\xAA\x3F\xAB\x7F\xAC\xFE\xA5\xFD\xA6\xFB\xA7\xF7\xA7\xF0\x4F\xE0\xD4\x40", +"\xF4\x34\x77\x14\x1C\x7F\xE0\x0B\x0A\x29\x8B\xD5\x88\xEC\x55\x01\x13\x19\x8A\x86\x14\x0A\x12\x8D\xAD\x46\x1B\xCC\x01\x10\x08\x74\x48\x85\x09\x00\x6A\xE0\x74\x38\x15\x0A\x85\x15\x02\x5D\x8D\xF2\x5F\x8B\x2E\x85\x05\x71\x72\xF5\x6D\x11\x56\x03\x39\xAF\x86\x28\x02\x05\x64\x76\xCB\x2C\x69\x70\x07\x0A\x02\x8F\x22\x2D\x03\xC5\x03\x39\x8B\x73\xF1\x51\x70\x56\x08\x2C\x01\x1E\xAF\x33\x6A\x95\x76\x6F\x79\x09\x03\x02\xEB\x76\x1B\x63\x01\x16\x13\x8E\x2D\x4F\x12\x96\x8D\xE9\x78\xEE\x40\x6A\xDF\x3E\x09\x2C\x0E\x40\x1A\x03\xF9\x8B\x1A\xD5\x02\xAD\x67\x84\xF1\x51\x3F\x33\x1B\x2D\x0D\xFA\x7B\x5B\x11\x81\x02\x4D\x04\xDA\x50\x03\xCE\x72\x74\x5E\x35\xBE\x41\x21\x5C\x05\x3F\x80\x0D\x1E\x8D\x04\x55\x72\x90\x7C\x89\xC2\x56\x58\x4B\x1D\x2E\x0A\x1E\xA1\x8C\x01\x9E\x72\xED\x75\xF6\x6E\x03\x9C\x12\xE2\x11\x70\x6C\x4A\x6C\xF6\x75\x3D\x95\x03\x91\x86\xEE\x63\x76\x90\x84\x92\x0E\x47\x05\x24\x01\xCF\x21\xB4\x41\x1F\x17\x14\x8D\x18\x66\x48\x87\x7E\x22\x9F\x05\x23\x92\x85\x88\x87\x87\x62\x49\xA9\x1C\xB3\x30\x06\x2D\x7C\x62\x52\x92\x43\x91\xF3\x67\x7C\x77\x7C\xF9\x3F\x79\x92\x84\x01\xA0\x79\x36\x21\x03\xD6\x79\xB2\x60\x90\x95\x81\x79\x25\x7C\x0A\x36\x7E\x84\x4A\x24\xDB\x01\x10\x0D\x01\x5A\x05\x0B\x2F\x01\x3B\x0A\x02\x05\x0A\x8F\x8F\x6F\x2C\x89\x48\x93\x92\x31\x95\x00\xB7\x75\xAE\x79\x7A\x76\x73\x49\xAD\x7C\x97\x3E\x04\x20\x91\x11\x17\x5A\x5B\x01\x0C\x2D\x00\x3D\x07\x27\xDA\x03\x17\x1A\x93\x7C\x94\x0C\x35\x90\x09\x8D\xE6\x18\x8E\x0F\x8E\x94\x40\x6D\x4E\xB0\x01\x16\x09\x03\x5D\x02\x0A\x05\x03\xAD\x79\x5E\x7C\x7D\x27\x0F\xF6\x05\x6F\x0B\x04\x03\x2B\x06\x05\x2F\x95\x15\x06\x06\x2D\x7D\x61\x73\x7D\x45\x00\xD1\x55\x80\xC7\x83\x2B\xE7\x01\xEB\x61\x5D\xD2\x7C\xFA\x78\x7D\x84\x03\x2C\x80\x03\x09\x08\x01\x5B\x06\x0B\x27\x00\x2E\x0C\x05\x5D\x00\x1F\x0C\x96\x5C\x06\x05\x29\x00\x15\x07\x02\x7C\x02\x08\x08\x96\x5E\x02\x04\x0C\x96\x67\x90\x2D\xD2\x96\x0A\x02\x01\x68\x05\x46\x8C\x8C\x29\x09\xED\x54\x01\xB0\x87\x84\xE3\x79\x21\x29\x97\x5D\x74\x02\x28\x03\xB1\x89\x96\xCB\x95\x59\x8F\x96\x66\x9E\x2D\xD5\x97\xB5\x89\x96\xDA\x92\x5E\x9D\x97\x69\x92\x02\x29\x01\x1A\x0D\x7D\x3B\x71\x5E\x53\x03\x11\x9F\xF3\x21\x83\x0B\x13\x03\x2B\x02\x0D\x36\x95\x43\x63\xEE\x0F\x78\xB2\x74\x02\x4F\x79\x21\x11\x99\x5D\x7F\xE4\x2A\x00\xB6\x8A\x01\xCE\x97\x05\x2A\x01\x15\x09\x2C\xCF\x71\x17\x13\x96\x1A\x9B\x05\x0F\x73\x35\x0D\xFA\x04\x70\x16\x90\x85\xAC\x8F\x0D\x16\x16\xAE\x52\x10\x29\x9A\xB5\x0E\x01\x52\x04\xFD\x74\x03\xF7\x0F\x13\x7B\x58\x10\x00\x01\x24\x04\x07\x2E\x98\xBA\x3E\x03\x57\x5B\xCE\x82\x3C\x29\x5F\x67\xAC\x3A\x17\x04\x33\xF4\x00\x4E\x57\x99\x3A\x9E\x2A\x16\x17\x9E\x9D\xD0\x42\x99\xFE\x3A\x6F\x4E\x9F\x42\x2E\x01\x18\x08\x16\x89\x09\xD5\x80\x00\x49\x9A\x65\xBC\x98\x1D\x00\x02\x22\x00\x09\x1B\x92\x54\x0A\x04\x37\x98\x14\x0D\x35\xBB\x02\x08\x00\x01\x7C\x00\x04\x3C\x78\xC2\x06\x18\x20\x00\xD7\x9F\x6F\x16\x08\x04\x29\x00\x10\x03\x15\x20\x02\x7D\x18\x0F\xFA\x0C\xEE\x3E\x98\xA5\x91\xD1\x0D\x29\xD4\x8C\x0C\x2E\x02\x06\x17\x9B\x81\x07\x35\xD9\x9B\xD2\x9C\x9A\x5E\x98\x6C\xA5\x03\xB3\x94\x36\xA2\x02\xD9\x88\x9B\x6A\x9B\xC7\x2D\x9B\xB7\x94\x77\x72\x98\xDD\x93\x03\x76\x99\x27\x38\x9A\xFA\x6C\x18\x40\x01\xE8\x4B\x9B\x3C\x30\xA8\x60\x9C\xC3\x03\x35\x82\x07\x49\x06\x9D\x01\x0A\x67\x92\x9D\x35\x0E\x03\x08\x9F\x1E\x02\x9B\x20\x03\x0F\x2A\x9A\x6B\x1E\x36\xA0\x00\xDC\x87\x59\x20\x05\x0F\x1D\x9B\x3E\x07\x36\xF5\x9B\xEA\x96\x16\x0D\x02\x01\x2A\x9C\xB6\x9C\x3A\xAE\x9F\xD9\x80\x02\xB2\x9D\x00\x95\x9C\xCA\x92\x78\x18\x9E\xEE\x82\x01\xBC\x9F\x72\xA0\x01\xDF\x9A\x37\xCD\x98\xDF\x82\x3C\x76\x67\x6F\x96\x08\x98\x92\x33\xF2\x10\x19\x1B\x5B\x39\x9A\x7B\xB4\x02\x1F\x00\x02\x40\x00\x42\x4A\x9E\x82\x3E\x67\xAF\x99\x18\x05\x03\x25\x71\xFB\x89\x9D\xE8\x9C\xED\x2D\x9C\x10\x01\x02\x23\x9F\x1A\x00\x02\xC1\x9A\x67\x87\x9D\xAE\x97\x12\xB8\x13\xE2\x85\x9B\xBD\x98\x73\xAA\x10\x94\x8C\x39\x96\x08\xFE\x82\x9E\xF1\x99\xFF\x33\x9F\xBD\x7F\xD9\x65\x01\xED\x99\x6D\x32\x1A\x7A\xAE\x6D\x02\xA4\x07\x07\xA2\xFE\x9B\x9A\x5D\x9B\x23\xA5\x03\xC9\x07\x36\x8E\x9D\x00\xB3\x9E\x1C\x8E\x5A\x16\xA1\x04\xA7\x21\x73\x9E\x08\x14\x89\x52\x27\x6C\x9B\x02\xB5\x9F\x2D\x35\x9C\x55\x6E\x03\x20\x05\x0B\x00\xA0\xE9\x98\x1A\x59\x62\x08\xB9\x9F\x24\xA4\x31\x26", +"\xA0\x03\x1E\x13\xE7\x9B\x17\x0D\xA1\x5C\x9F\x85\xB3\xA1\xBA\x9D\x81\x55\x10\xDD\x23\xA1\xFB\x9A\x04\x26\x8C\x1F\xAB\x3A\xB5\x9C\x4B\x6E\x69\xAA\x14\x76\xAB\xA0\x11\x0F\x53\x4F\x65\x07\xA8\x01\x67\x9D\x51\xA1\x91\xDA\x9E\x6D\x5D\x99\x0A\x0C\xA2\xC4\x9D\x76\x95\xA3\x8A\x6C\x18\x31\xA0\x08\x13\xA2\xBE\x8C\x0D\x39\x02\x30\xAC\x63\x35\x9D\x1A\xBE\x68\x6C\x3E\x8C\xB5\x9B\x8C\x67\x44\xB8\xA3\xFE\x9F\xA1\xD0\x26\x85\xB9\xA2\x0F\xA2\x3D\x9C\x49\x1D\xA8\xA0\xFB\x9D\x7E\x88\x18\x24\xA8\x41\xF5\x9F\x79\x77\xA1\x80\xA0\x83\xA7\xA1\x0E\x21\x36\xE7\xA0\x0B\xB9\xA3\x41\xA1\x8F\xB2\xA0\x3E\xA5\x37\x83\x63\x07\x38\x03\x06\x64\x84\x3F\xA3\x0B\xA2\x78\x73\x9D\xFD\x97\x9E\x6C\x3C\x90\x9D\xA4\xC4\x97\x18\xF3\x6F\x15\xBE\xA1\x40\xA0\x04\x37\x6E\x12\x1E\x45\xEC\xA3\xE4\x96\x9D\x95\x9D\x6E\xB2\x6E\xDB\x67\x44\x9F\x9F\xEA\x82\x9D\xAB\x99\x70\xBF\x87\x84\x0B\x4B\xD8\x9A\xFD\x86\xA1\xAF\x99\x76\xB3\x9D\xE5\x90\x4B\xCD\x9D\xEE\x9B\x9D\x1F\xA4\x7A\x82\x3C\x20\x02\x74\x0C\xA1\x6D\x65\x03\x0E\x46\x99\x94\x53\x32\x03\x35\xEC\x03\x49\x16\xA6\xF0\x9B\x82\xA6\xA1\xAF\x30\x3B\xDA\xA1\x11\x1C\xA2\xD0\x2E\x91\xA2\x00\x1D\x0E\x43\xAC\x15\xED\x86\x4C\x66\xA2\x04\x3D\x00\x54\xA0\x49\xA0\x02\x10\xB4\xA4\x98\x9B\x82\x80\x6F\x96\x96\x2D\x6A\x9C\xDD\x2E\x01\x38\x06\x11\x3A\x76\x7D\xA0\x3F\xC9\xA0\x0A\xAE\x03\x2A\xA7\x91\xA3\x30\x3D\xA3\x50\xDD\x03\xCD\x90\xA7\x20\x05\x86\xB5\x88\xE0\x99\x48\xA3\xA5\x06\xBC\x88\xB0\x98\xA1\x91\x0D\x0D\xAD\x63\x6C\x3A\x1D\xAA\xA4\x3C\xA6\x03\x6C\xA7\x81\xA1\x49\xA3\x33\x41\xAF\x9C\x44\xA3\x19\x46\xA2\xC1\x37\x51\x8E\xA8\x15\xA0\x09\x04\xA1\xA2\xA0\xA8\x01\xA8\x52\xFE\x9C\x43\xBC\xA4\xF2\x98\x71\x88\x8B\x46\xAB\x42\xF8\xA0\x47\xAE\xA7\x92\xA7\xA3\x9F\xA0\x4B\xA5\xC0\x22\x22\x26\xA4\xA9\x0D\xA9\xA6\x82\xA8\x16\x34\x50\xAC\x32\x4E\xBD\xA3\xD0\x20\x41\x7D\x57\x1C\xA6\x11\x76\xA6\xE0\x21\x9C\x71\x89\x21\x11\xAA\x5F\xAE\x4F\xD0\x21\x0A\xB7\x99\x35\xA9\x95\x82\xA3\x49\xAB\x52\x89\xAA\x55\xBA\x62\x82\x3F\x7C\xB5\xA7\xA6\x9F\x32\xB3\x02\x52\x89\x08\x67\xAC\xAA\x98\xA8\x91\xAB\x38\xB7\x9A\x4D\xA4\xAA\x1D\xAC\xA8\x88\xA9\x22\xA4\x41\xE2\xA9\xF5\x87\x99\x4C\xAC\x0E\x2E\x00\x1A\x01\x1C\x89\x09\x5F\xAA\xAB\x26\xAB\xA6\xAD\xAA\x47\xAF\x56\xB3\x31\x51\xA6\xAC\x5C\xAB\xA7\x8C\xA5\x9E\xA7\xC0\x20\x0A\xB5\x01\x81\xAA\x86\x0C\x31\x57\xC8\xA3\x35\xB3\x07\x49\x16\xAC\xF0\x98\x61\x26\xA1\x53\x21\x51\xD8\xA2\x38\xBC\xA6\x20\x06\x9B\xA0\xA7\xC5\x0D\x35\xE4\xA6\xDA\x86\xA7\x5C\x98\x9D\xAA\xA7\xB3\x92\x43\x85\xAD\xAE\x07\xAC\xAF\xAD\x5F\xAE\xA5\x35\x07\x4E\xE1\x81\x3A\x62\xA7\x5A\x8F\x7F\xA4\x9A\xFB\x9E\x46\xED\x83\x6D\xA9\x9B\x91\xAD\xB7\xB5\x4F\x00\x53\xA1\x11\x0A\xE5\x92\xA1\x75\x9E\x41\x61\xAB\x15\x49\x57\xCE\xAB\xD0\x95\x01\x1C\x91\x21\x11\xAE\xC0\xA2\x54\xA2\x01\x29\xB3\x12\x9D\xAB\xA3\xB0\xAA\x55\xAD\x61\x78\x6C\x48\x0D\xA5\x91\x99\x8C\x8C\x9F\x38\xA2\x4B\xFC\x6F\x16\x7E\x84\xCD\xAC\xAC\xB7\xA6\x1B\x00\x0A\x27\x09\x7B\xBD\xA7\x8A\xA3\x89\xAE\xAB\x26\xAC\x35\xCF\xA3\x43\x52\xA2\xFC\x99\x36\xA7\xA5\xD0\xAE\x28\xA3\xAE\x03\xB2\xAD\xE1\xAD\x8D\x9C\x9B\x31\xA2\xCE\x02\x3E\x19\xA8\xA3\xFF\x2F\x37\xB3\xAC\x37\xA9\x60\xEA\xA0\xED\x88\xAE\x98\x9C\x8E\xA4\xA9\x32\x80\x00\x36\xAA\x4E\x09\x03\x91\x49\x29\x14\x08\x9C\x46\x61\xAC\x09\x86\xA9\x03\x14\x0E\x05\x36\x00\x18\x0B\x02\x78\x21\x89\xB0\x9F\x6E\x0F\xC2\x9F\xB0\x8A\x06\x42\x86\x4F\x7E\xAE\xAD\xC3\x08\xB6\xB1\xB0\x00\xB3\x47\xCF\x69\x7F\x4C\x31\xDF\x13\x84\xA9\xB0\x0F\xB8\xDF\x2C\xB0\xD7\x9D\xB0\x18\xB5\xC7\x8E\xA1\xB8\xA6\x58\xA2\x03\x54\x1D\xA0\xDF\x90\xA9\xBD\x09\x97\x6C\xD3\x12\x48\x34\x37\x99\xCE\x60\x0D\x02\xA6\x8B\x4B\x31\x79\x00\x08\x1D\x01\x5D\x9F\x0A\x14\xA9\xB3\x9D\x07\x38\xA3\x8E\xA1\xB2\x1A\xB5\x0C\x0B\xA1\x2F\xBB\x62\xC3\xB0\x4E\xA3\xA8\x46\xB3\x0E\x25\xA6\x06\x27\x4E\xEC\xB1\x8D\xB4\x69\x3D\x6B\xAE\x43\x0E\x28\xB9\x33\x52\xB2\xEC\x94\xB2\x3B\x56\xCA\x98\xB2\x11\x0A\x65\x9C\xA1\xEE\x9E\xB2\x19\x0A\xC5\x82\xB3\x16\xBC\x40\x4C\x87\x8B\xA8\xAD\x20\x02\xB5\x9F\xA2\xE9\x97\xD5\x59\x6A\x47\xA0\xB4\x70\x02\xD0\xA1\xB3\x31\xB1\x68\xBC\xB1\x98\xAC\xB0\x06\x35\x6B\x9B\x02\xED\xA6\x58\xEF\x9B\x50\x1D\x30\x5D\x9D\x0B\x09\xA7\x05\x37\x61\x1E\xA8\x08\x11\xB2\xC2\xA4\x27\x17\xB3\xAE\x9D\x1A\x06\x10\x1E\x1C\xB2\x90", +"\xB2\xD2\xA0\xB0\x31\xBF\x63\xE4\xB2\x90\xAE\xA1\x74\x60\x04\x24\x9B\xC6\x9A\x16\x67\x98\xAA\xB2\x9D\x7E\x63\xD5\xA2\x01\xD6\x0C\x65\x96\x9D\xDA\x8D\x9C\x42\x85\x83\xBD\xB5\x53\xB5\x67\xC2\xA5\xB0\xBB\xB3\x4E\x05\xA5\x44\xB7\x63\xA3\x37\xF3\x98\x8C\xAA\x0A\x62\xA5\xFD\x69\x62\x56\xA5\x37\xF8\x61\x5A\x79\xB1\xB1\xB6\xD2\xB3\xB4\x4A\xB1\x69\xE2\xB4\x45\x12\xB1\xD8\xB3\xD7\xBA\xB5\x75\xB2\x02\x1E\x22\xAF\xAD\xB6\xC0\xB4\x8B\x02\xB7\x24\x03\x07\x2C\x15\xB1\xB3\x9B\xC7\xB5\x6B\xAE\xB7\xAE\x99\x6C\xCC\xB4\xE4\x0E\xB6\xF2\xB3\xCF\xB4\xB7\x68\xB4\xB7\x0C\x23\xBD\xB6\x9C\xC5\x74\xCD\xA9\xAC\x37\xB1\x61\xE8\x6A\x37\x32\xB3\xD8\xB0\xDF\xAC\xB7\x7D\xB2\x02\x73\x12\x58\x1F\xA0\xAC\x12\xAE\x6A\x6A\xA2\xAF\x6B\x89\xB5\xC0\xAC\xB5\x73\x00\x7A\x17\xB8\x6A\xB0\x39\xBC\xB6\x9A\xBC\xB7\x2D\x6D\x83\x96\xB8\x36\x08\x71\x8E\xB8\x52\x63\xA8\x1D\xBF\xD9\xA0\xB8\x82\xB2\x72\xAC\xB8\xC9\xA9\x01\x3A\xB5\xD2\xA0\xB3\x71\xB5\x6B\xBA\xB9\x99\xA8\xB7\xDF\xAA\xDD\xAA\xB7\x76\xB7\x72\xB1\xBB\xC7\xA3\xB6\xF5\xB6\xE0\xA4\xB9\x7C\xB4\x74\xAA\xB9\xCA\xBE\xB7\x76\xB6\xE3\x98\x0B\x79\xB1\x72\xAD\x6A\xBD\xB7\xB9\xA7\xAA\xE1\x89\xB4\x86\xB0\x02\x19\xBB\xB7\xB9\xA3\x12\xBE\xE4\xAA\xB9\xE8\x1D\x72\xBD\x0A\xC6\xAD\xA1\x46\xBB\xEA\x82\xB9\x90\xB4\x76\xCB\xBB\xC4\xA7\xB9\x15\xBF\xE9\x95\xB9\xB6\xBF\x66\xDC\x27\xD7\xB0\xB9\xF0\xB2\xEA\xB4\x02\xAA\xB4\x73\xED\xBA\xEE\x95\xB6\x39\xBD\xDC\xBB\xB8\x1F\xB2\x50\xB2\xB7\xB9\xA4\xB2\xAF\xAA\xE8\xAF\xBB\x77\xBF\x6F\xF1\xB6\xDA\xA0\xB9\x57\xBF\xEF\xA5\xB8\x7D\xB0\x77\xFD\xB5\xDA\xBB\xBB\x6B\xBC\xE0\x91\xBC\xCB\x96\x6D\x88\xB4\x3A\xB5\xBB\x67\xB8\xEC\x93\xBD\xA6\xBC\x6F\xF4\xB9\xC3\xA6\xBB\x77\xBC\xE3\xB9\xBA\x99\xB8\x74\xB5\xBB\xC1\xAC\xBA\x14\xBD\xDF\xB3\xBB\x91\xB0\x7A\xA9\xBE\x61\xB7\xBC\x7C\xBD\xA5\x6E\xBD\x9B\xB1\x78\x86\xBC\xAD\xA5\xBC\xE6\xB6\xCC\xAF\xA6\x43\xB9\x75\xBD\x09\x9B\xA6\xBE\xC9\xAB\x46\x7D\x50\xA3\xA1\x6E\x83\xBF\xEF\xA0\xB2\x3F\xBC\x6B\x82\x86\x56\xA7\x2D\x81\xAB\xB5\xBF\xAE\x5C\x9B\x00\x45\x32\x61\xA2\x02\x2C\x00\xA7\xAF\xAD\xD9\xBA\x3B\x78\x9C\xDD\x93\x49\x8B\xB5\xDD\x84\x2F\xE0\xB0\x81\xB6\xB5\x49\xBD\x73\x82\xBD\xF4\xA0\x01\xA3\x5B\xEF\xA3\xA6\xD3\xA2\x5A\xDC\x99\x17\xA7\xBF\xC5\x31\xFD\xBA\x99\xF5\xBC\x73\xC0\xBE\xF3\xAE\xA2\xE8\x32\xFE\xAE\x01\x2C\xAD\x5F\xF6\xBD\x38\xB5\x9B\x95\x57\xC9\x8D\xBF\x32\xB4\x6E\xBE\xBC\x00\xD5\x36\x5D\x9B\x00\xDD\x9A\x75\x84\xB9\x2F\xB2\x56\xB9\xA3\x53\xA0\x24\x1F\xBF\x18\xB1\x44\xA4\x28\xE6\x92\x9D\xDD\xBB\x03\xD8\xB7\x0E\xCB\x5E\x47\xA5\xF9\xBF\xA0\x8C\x5F\xC9\x90\xBB\x54\xB9\xB9\x14\x0A\x39\xBB\xB3\x53\x00\xC3\xB0\x03\x29\x15\xB8\x30\xB6\xFA\xBE\xB9\x83\xB0\x71\x81\x1F\x3B\x0B\x66\xC6\xBF\xC2\xA6\xBE\x22\x01\x98\x89\x9F\x48\x36\x41\x35\x9D\xD6\x56\x13\xCE\x98\x99\x92\x9E\xDE\x1E\xB5\x49\x62\x02\xD7\xC1\xEE\xB9\x07\xFE\xBF\xF7\xB1\x7F\x91\xC1\x07\xB4\xC0\x9A\x5D\x83\x87\xB2\xFE\xAB\x45\x86\xC0\x69\xB5\xBE\x43\xAD\xD3\xA7\xB2\xA2\xA9\x81\x80\xA9\x18\xC0\xBF\xEE\xA6\x03\xDC\xBE\xEF\xB7\x86\x9C\xC1\x1A\xC5\xC1\xE4\xB8\xBC\xB5\x9B\x14\xC6\x6A\x9D\xB8\x16\xCE\xC1\x6C\xB3\xCF\x98\x08\x98\x01\x6B\x35\xC3\x9F\xB0\xC2\xBE\xBE\x84\xAB\xB9\x0F\xA8\x33\x3A\x18\x9A\x4A\xC1\x1D\xBC\x4D\x42\xB7\xDD\xBD\x65\x80\xC5\xF0\xAD\xB1\x61\x84\x10\xE6\x53\xF0\x65\x87\xF9\xBA\x22\xDB\xB3\xB8\x21\x47\x36\xC1\xFD\xB8\x83\xEC\xBD\xD7\x94\x4F\x8D\xA5\x6E\x85\xC5\xA5\x37\x88\x95\xC5\xE3\xA0\x01\x97\xC5\x6B\x86\x03\x36\x8B\x89\xD0\xBE\x14\xD8\x95\xBA\x97\x81\x81\x54\xE9\x99\x3C\x3C\x52\xFE\xAE\xC5\x9E\xC3\x55\xAF\x7A\x59\xCD\x96\x52\x9F\xB1\x0F\x03\xC9\x13\xE3\xB3\x31\xDE\xBF\x88\xDC\x99\xFD\xA0\x01\xF7\xB8\x73\x88\x23\x1F\x2E\x84\x8F\xB6\x23\xCE\xBE\xF3\x9F\x5C\x87\x02\x5E\xC9\x23\x52\x9F\x1C\x21\x6B\xB9\x14\x18\xD0\xC6\xC4\x90\x39\x7B\xB7\x1C\xBB\x24\xB7\xC4\xFF\x84\xBC\x4E\x9E\x12\xC4\x77\x31\xC9\xC6\x20\x05\x7D\x28\x5C\xDB\x5B\x18\x61\xC5\x27\xDD\xBF\x22\x03\xD3\xAD\xC3\x11\xC0\x02\x6B\x7C\x19\x16\xB2\x22\x02\xD4\x92\x9E\x75\xC5\xBB\x2A\x5C\xFD\x16\x1F\x4F\xC4\x13\xD1\xC2\x4F\xCF\x05\x56\x4E\x1B\xB0\x4B\xBE\xC0\x2E\x6E\xC7\x81\xC0\x8F\xF7\x82\x0F\xBE\x52\xCF\xA2\x16\xCF\xA7\x0F\xCD\x35\xEC\xC3\x17\x10\xC8\xD3\xA2\x22\xD3\xA7\x24\xCD\x6E\xE6\xC0\x18\xD7\xBE\x30\xA0\xF1\xB3\xB0\xF3\xB8\x39\xC7\x51\x40", +"\xD8\xC5\xF0\xC2\x08\xEA\x9B\x21\x01\x21\x68\x55\x19\xA1\xBF\x26\x5C\x23\xD1\x9F\xF3\xBF\x7F\x0B\xC9\x20\xD2\xA9\x1A\x64\x71\xAC\xB6\xCF\xAD\x71\x9F\x62\x1B\x16\x61\x23\x61\x97\x02\xB6\x10\x2B\x55\x1E\x08\x45\x0F\xBD\xEC\xB2\x1E\xFD\xC9\x1D\x50\xC2\x22\x60\x0E\x7A\xB3\xAC\xB6\x5C\x05\xCB\x59\xB7\x70\xD6\xB5\x2A\xBE\xC9\x15\xCA\x04\xD8\xBE\x77\xA9\x17\x6B\xB5\xE3\x8B\xB4\x1D\xBD\x86\x4E\xCA\xB6\x03\x94\x98\xA7\x54\xC7\xCA\x6E\xBD\x71\xBA\xC7\xB0\xC9\x17\x40\xCB\x53\xD3\xB7\x52\xCA\x43\xA8\xCA\xC9\xB3\x37\x95\xA6\x06\x76\xC9\xC5\xC5\x6B\x8A\x84\xDD\xAB\x93\x8C\xBD\xD4\xBE\xC9\x6E\xCC\x2C\xFA\xC2\xB3\xC2\x97\xFF\x9E\xE4\xAC\xBA\x4A\xC9\xEF\x80\xCD\xB1\xC2\x94\x82\xB9\x5C\xC6\xCA\x86\xCC\xF3\xB3\xC7\xAD\xC8\x95\xA1\xC3\x64\xC1\xC9\x5C\xCC\x0C\x1E\xCA\xF0\xAC\x96\xE4\x01\x60\xCD\xCC\x5D\x9C\x28\xC5\xCC\xA4\xCA\x96\xFE\xCA\x30\xA2\xCB\x37\x62\x30\xD1\xCA\xA2\x03\x9A\xD8\xBA\x5D\xC8\x61\x27\xCA\x1C\xFF\xBD\x8A\xB2\x3B\x3D\xC2\x99\xAA\xAD\x9E\xA9\xAB\xAD\xA6\xED\xB8\x3B\xA0\xC2\x45\xC9\xA5\xBC\xC9\x09\xE7\xC1\x25\xCB\xB2\x35\x1C\x5E\xDB\xC6\x5D\x9D\x1F\x91\x08\x0B\xCD\x4E\xFA\x8E\xFC\xBF\xCD\xED\xA3\xFA\x98\xB6\x1A\xB8\x39\xA9\x2B\x46\x24\x29\xC7\xCC\x01\xC8\x9C\x03\x1B\x84\x4C\xCF\x4D\xAE\xCE\x59\xCF\x32\xF5\x9D\x2D\x44\x06\x5D\x42\x1C\xD8\x9C\x42\x0D\x0A\x58\xCF\xD8\xCF\x8E\x84\xBF\xFC\xA4\xC0\x5D\xC0\x19\xC7\xC1\x08\xBE\xCF\x30\x25\x40\x64\x4B\x4A\x08\x7F\x94\xB0\x94\xC4\x11\x0D\x60\x7F\xD4\xA6\x31\x07\xFD\x49\x08\x01\xDE\x4B\xB2\xCE\x09\xB8\xA2\x37\x9D\x7E\xAD\xA0\xD9\xA1\xFF\x7F\xCE\x7F\xD2\xCD\x81\x99\xAD\x83\x09\xB4\xA2\x90\xB7\xCA\xA6\xB0\x9D\x20\xCD\x76\xB6\xC6\x7C\xCA\x8F\xF3\xC3\xFE\x09\x5D\xF3\x1C\x75\x51\x52\x80\x71\x10\x05\xC8\x5C\x51\xA6\xD6\x4B\x6A\xA5\x00\x7D\x7B\xA2\xF0\x9E\x75\x46\xA1\xC2\x80\x76\xAA\xB7\x73\xC1\x4E\xE0\xC1\xC7\xB3\x2D\x8F\x49\xC3\x90\xCA\x11\x0E\x3F\x64\x00\x69\xDD\x9A\x3C\xC9\xEF\xB8\xD0\x37\x00\x99\x12\x4E\xB0\xA1\x02\x8E\x4C\x48\xC6\x57\xFC\x05\x95\x84\xAE\x75\x43\x4C\x7B\xB8\x26\xE5\x3C\x8A\xC6\x99\xA6\xD1\x74\x50\xD2\xB5\x99\x38\xE6\xC0\xF0\xA3\x4E\xB6\xCD\xED\x9F\xA7\xE6\xA3\xB7\xB4\xAF\x62\xA1\x47\xC0\xAD\xE2\x3E\x3B\x72\x3A\x0E\x35\x9D\xDB\x90\x39\xFC\xA1\x5D\xD8\x9C\xD6\x4E\x82\x0D\xD0\xD9\xCF\xA0\xED\xCC\x35\xB3\x01\x12\x02\xDF\x79\xD2\x14\xB6\xA7\xA6\xA2\x43\xCE\xAB\x18\xCC\x9D\x1A\xC8\x76\x24\xA5\x96\xC9\xA0\xD1\xA0\x5C\x98\x82\x95\x53\x63\xAD\x91\xDE\xCF\x76\xAF\xA7\x24\xC8\x04\x26\xC9\x11\x3B\x80\xD2\xC2\x08\x0E\xC8\x6A\x9F\x50\xD3\x13\x41\xD2\x33\x05\xD4\x86\xDA\xD4\x66\xB2\x51\xDC\x08\x46\xDB\x6C\x9F\xCB\x05\xC8\xB3\x91\xD3\x52\xEC\x31\x39\xD6\xA7\xF5\xD0\x43\xC1\xB1\x34\x03\x4F\xC5\x16\x1B\x75\xA1\xF9\xCB\x22\xAB\x21\x32\xD5\x2F\xEB\xC0\xD9\x9B\x98\xA9\xCC\x68\xC2\x01\xA2\xC8\x32\xFF\xD1\x78\xC6\x9A\xBC\xD4\x53\xDF\xC9\x8C\xCB\x47\xED\x0C\xD6\xC2\xAC\xD8\xB9\x86\xDC\x9A\x95\xC8\x3A\xDF\xCF\xAE\xC3\x74\xE0\xC9\xDE\xA8\xCD\x41\xCB\x47\xC1\xD6\xAA\xC9\x96\xA1\xB5\xB1\xD9\xCC\x9F\xCA\x59\xCF\xCC\x6E\xD4\x97\xB4\xA3\x5D\xD0\x26\xAC\xD7\x55\xE5\x02\x57\xDE\x7B\xAE\x01\x0D\x02\x05\x27\x08\x5E\xFC\xD2\x75\xD0\x4C\xB0\x9D\xF2\x8C\xC9\x5E\x0E\x25\xF1\x9A\x29\xD5\x74\x0C\xD7\x4C\xCC\xA9\xEB\x3A\xF4\x1F\x17\x4A\xDE\x89\xC1\xC3\xF1\x97\xD7\x2D\xCF\x5B\x6F\xC8\xBA\x92\x7E\xB2\xCB\x07\xBA\x3D\xF3\x2B\x60\xFB\xCE\x3A\xD2\x4E\x7F\xCE\x88\xAC\x07\x27\x08\x63\xF3\xD6\x0B\xD4\x9B\xBC\xC2\x5B\xBE\xBC\x6C\xB0\x0C\xFA\xCD\x9B\xAA\xA5\xBE\xCE\x56\xD8\xCC\x5A\xD1\x0E\xD4\xCF\xD0\xA5\x9C\x9D\x0B\xC0\xCF\xC6\xDA\xCC\xDF\xB5\xCD\x8F\xDA\x75\xAA\xAE\x4A\xD8\x76\xDA\x3D\x08\xDC\x9B\x23\xC4\x22\x0E\xD8\x71\xD7\x03\x4D\xC3\x83\x69\xD6\xDF\xBC\x61\x90\xD1\x0C\x17\x01\x12\xD7\xD0\x42\x09\x5A\xD8\x9C\xCA\xA1\xA1\xA6\x03\xD9\xAD\xF8\xB7\xCD\x90\xD1\xA9\x8D\xB4\x03\x32\xD8\x82\x85\x44\xF2\xCD\xA2\xD6\xA7\xD3\x98\x0E\x12\x8F\x09\x08\x6C\xC5\xD1\x3E\xDC\x8D\x86\xBB\x41\xBE\xAC\xCF\xD3\x0C\xC5\xB3\xAA\xD6\x63\xD1\x68\xBA\xD3\xD8\x76\xD4\x6B\xEA\xD7\xA9\x99\x03\x0A\x99\x42\x16\xDB\x63\xDC\x5E\xC8\x9C\xE5\xC8\x06\x51\xD9\xDA\xC0\xCF\x55\xD1\x95\x92\xCF\xEF\xAB\xB2\xD6\xCC\x13\x5D\x28\x94\xD0\x6E\xEA\xD6\xB9\xDD\xAE\xB2\x00\x0C\x1F\x97\x09\x08\x72\xF9\xDA\x8E\xDC\x9D\xE8\x12\xDF\xDA\xAA\x24\x29\x3C\xE9\xDA\xF2\xC6\x9E", +"\xAB\xD9\x7A\xCA\x29\xEB\xC9\x71\xD9\xDB\x0A\xBB\xB5\xC7\x1A\xC5\xD2\x01\x31\x05\x1A\x89\x08\xD5\xD3\xB9\xB6\xD5\xBC\x7D\xA6\x05\xC2\x3E\xE4\xAD\x39\xA5\x9F\x88\x69\x2C\x39\x47\xCA\x4B\xEF\x7E\x6C\x4A\xCC\x62\x59\x9F\x79\x7F\x16\x53\x9E\x0C\x3A\x76\xE1\xD9\x4D\xBB\xDD\x29\xCC\x31\xF3\x9B\x5C\xA5\x96\x69\xC4\x8D\x8E\xA1\xDD\x88\x4B\xDE\x17\x24\xFF\xDC\x68\x22\x88\xB5\xCE\xD4\xC7\xBE\xFF\xAE\xB3\xA2\x00\x0D\x9A\x2C\x27\xD8\xD0\xB0\xA1\x2B\xD8\x56\x5F\x54\x27\xBE\x8C\xBA\x9B\xF4\xC3\x31\x26\xA3\x49\x8A\x5A\x9B\x51\x50\xE0\xC0\x8D\xDF\xC2\x8B\xB5\xB5\xA3\xD2\x36\xD5\x37\xBF\x5B\xFA\xC2\x5A\xD2\xDE\x78\xDF\x16\x13\xAE\x0D\xBE\xD0\x90\xDE\xDE\x22\xCB\x3A\xD1\xD4\xFF\x29\x17\x39\xB1\xD0\x87\xDF\xBD\xDD\x61\x7A\xDD\xEC\x60\xBC\xB2\x00\x6A\x89\x08\x0F\xE6\x97\x88\xE1\x19\x3C\xBF\xB1\x33\xE5\xCD\xCE\x7B\xA3\x80\xF1\x30\xDC\xD7\xDD\x25\xD3\x04\xF9\x15\xBE\xDA\x7F\xD0\x26\x17\x03\x03\x61\x95\x42\x06\xE1\x12\xE2\x84\xE8\xDE\xC4\x9A\xBE\xCD\x93\x60\xB3\xA2\x9E\xAF\x7D\xFF\xAF\xF8\xD1\x60\xAF\xA4\xFD\xD8\x9C\xF6\xDE\x85\xDC\xE0\xDE\x6E\xC1\xAA\xE1\x02\xEC\x63\x2D\x9F\x83\xC3\x0F\xBD\xA2\xB9\x83\x0A\xE4\xC6\xDF\x3E\xE4\x82\xFA\xC1\x99\xD7\xBD\xBF\xC1\xF6\xDD\xA0\xDC\xDF\x0C\x00\xE0\xB5\xD1\x5B\x91\xD6\xF8\xD2\x55\xE4\xDE\x91\x75\x76\x9B\xA0\x03\x05\x6C\x17\xE1\x9C\xDC\x07\x24\x21\xE3\x79\xD0\x03\x26\xA1\x0B\x18\xD0\x6E\x08\x06\x35\x9D\xC3\x6D\x95\xF5\x9A\x60\x6C\x30\x78\xBF\x14\xEA\xB4\x68\xBB\xA3\x36\x0F\x5C\xD0\xB4\x65\xE0\x71\xAB\x00\x34\xE9\x11\x6A\xE0\xD7\x8C\xE3\x9A\xCE\x8D\xF9\x6B\x3C\xA6\x87\xF0\x02\xB0\xB5\x21\x1E\x09\xCC\xAD\xC5\x34\xE2\x88\xA9\xBA\x5B\xA9\xE3\x6B\xE5\xE7\x2D\xE2\xCC\x9F\xC6\xA5\xB6\xEA\xB2\xE3\x86\xE0\xDA\x8F\xBB\x3E\x03\x59\xE9\xE2\x17\xE9\xE3\x24\xE2\x19\x27\x08\x51\xE4\xC6\xA6\xA3\x2D\x98\xD0\x20\xDE\xF8\x9C\xE3\xEF\xDC\x68\x85\x4B\xC3\xA2\xC6\xAF\xAD\xE3\xB8\xB3\x33\x0B\xA3\xF3\x20\x48\x12\xE2\x7F\xC2\x20\xF9\xE3\xFC\xA8\x15\x11\xA9\x92\xAB\xE5\x01\xE7\xBB\xB5\x9A\x7A\x4C\x64\xAE\xE7\x57\x51\xE5\x79\xBB\x96\xF5\xE5\xAC\x07\xCB\xDC\xB3\xDE\x4B\xE0\xC6\x68\xBD\x74\x3A\xC4\x40\xCD\xFC\x27\xFA\x92\xD7\x06\x08\x9B\xC8\xE3\xEC\x69\x44\xE5\x88\x25\x37\xE0\xDF\xC9\x83\xDD\xA1\x9B\xD1\xCE\x0D\x26\x18\xBE\x33\xE9\x63\x54\xFA\x9D\x29\xAA\x17\xE2\x31\x07\xA6\xAD\xBC\xAB\x67\xE6\x66\x31\x37\x5B\x93\xA7\xBF\xC0\x01\xED\x64\xEE\x0F\xE7\x43\xA3\xCD\xE2\x19\x35\xEA\x28\xF7\xA2\x06\x10\x07\x93\x03\xD0\xC5\xDC\x37\xEA\xA4\x66\x06\x2B\x11\xDA\x19\xEB\x99\x8D\xD7\xAE\xC0\x01\x3E\x4B\x23\x3A\x17\x45\xCC\x2D\x61\x0B\xB0\xC5\xD5\x9B\x8E\x27\x14\x0A\xFF\xDD\x71\x91\xE8\x50\x42\xB6\xA8\x0C\x33\x9B\xE9\x26\xD9\xB6\xE8\x63\x47\xE0\xB0\xF1\xE4\x4C\xF9\x3E\x5F\xCD\x94\x05\xB0\xDB\x3B\xE7\xC6\xDE\x5A\x14\xE6\x7E\xEF\x54\xB3\x01\x29\x07\x09\x37\xEE\xA0\xD1\xE7\xFD\x93\x45\xDC\xA7\xCD\x87\xC6\x5F\x3E\x7F\x1D\x9B\x75\xA6\x46\xEE\x90\xA1\x90\x93\x6F\x7E\xFE\x51\xE4\xA1\xE3\xB2\xDB\xAD\xC9\xDA\xDC\xC0\xCD\x61\xDB\xD2\x84\xAC\x73\x4B\x39\x84\x09\x6F\xA3\x65\x87\xC7\xE8\xC1\x33\xD3\xB1\xEB\x3D\xB4\x01\x39\xEE\x20\x21\xEB\x6D\xEB\xD3\x98\xA1\x4F\xE6\x0A\xF0\xCF\x9B\x89\xD4\xA3\x02\xD4\xAB\xAD\x51\xF6\x7F\x83\x96\x09\x26\x76\xA4\xE2\x27\xD2\x03\x52\xF0\x2E\x58\xAA\x3C\xFC\xD7\x12\xC6\xB2\xFA\xE8\xC3\xD1\xC9\x53\xED\xAB\x95\xEA\xAC\x3A\x54\xDC\x61\x5E\xA1\x9A\x2F\x99\x66\xAD\x68\xEF\x9D\xC0\x61\x9F\xD2\x85\x9F\x76\xAB\xC2\xA3\xDD\xBC\xA3\x35\xB0\x03\x7B\xA6\x08\x97\xE8\xA6\x8A\xA0\x6E\xC9\x4B\x0B\xB1\x7D\xBB\x09\x50\xA5\xBD\x61\xA4\x71\xA4\x60\xFB\xAC\x43\xE8\xE9\x63\xD4\xC0\x8F\xB0\x71\xAF\x46\x9E\xEC\x08\x0F\xA3\xAB\xEB\x8E\xA9\x69\xE5\xAB\x54\xE3\xA8\x5E\xAF\x99\x37\x07\x18\x2B\x70\xDD\xE0\x5F\xA6\xA9\xFF\x93\x13\xFF\x9C\xAA\xED\xA8\xE0\xE8\x48\x9A\xED\x09\xB2\xA9\x5F\xAE\xFA\xA7\xD4\xA2\xA9\x58\xB4\xA3\x57\xA5\xEE\x79\xAB\x87\xAC\xAB\x29\xEF\x4E\xDD\xA8\x5D\xB0\xEE\x77\xA3\x82\x9C\xD5\x4D\xD5\x37\x93\xA0\x76\xEA\xA4\x1A\xA6\xCF\x92\xA9\x10\xAB\x49\xD1\xEC\x67\xEB\xA3\x35\xE4\xB6\x9F\xED\x96\x67\x5F\x95\x9F\x14\xA5\xED\xFF\xDC\x0B\xEA\xEA\xD9\xD3\xC3\xAE\xEE\x6A\xF5\x9C\x32\xA0\xC1\xAB\x0A\x05\xB9\xDE\x8C\xB3\x7E\xEE\xB0\xF8\xEC\xD1\xB3\xED\x50\xA5\x52\xD5\xAF\x75\xA1\xEE\x68\xD9\x95\xAB\xA4\x01\xEE\xDA\xB7\xE0\x08\x13\xA5\x14\xA2\x94\x95\xAE", +"\xC1\xAA\xDC\x98\xE1\x41\xA3\xA2\xCA\xC3\xB1\xA0\x20\x9F\xA8\xC0\x4B\xA5\x81\xFB\xEC\x7E\xED\xBA\xDF\xA0\x3F\xAB\x4C\x91\xEE\x45\xBB\xCF\xEB\x98\x07\x17\xED\x81\x09\xD9\xE6\xED\xD7\x8B\xA2\xFD\xEB\xBD\xE1\xEC\x98\x6E\xDE\xF9\xAE\x15\xB1\xEF\xA7\xEB\xD1\xA9\xE9\xFB\xE6\x60\x86\xA8\x6B\xED\xB0\xE8\xE9\xA5\xF0\xED\x00\xF2\xDB\xF0\xA1\xFE\x31\xA6\x67\xD7\xEF\x3E\x09\x06\xD9\xE4\xE9\xD1\xE0\x94\x91\x09\x08\xCA\xFE\xA5\x26\xF0\x78\x73\x9D\xE3\x84\x01\x67\x99\x6D\x86\xEA\xB9\xE0\x0F\xE5\x75\x9C\x8A\xEA\x5E\xC6\x81\x96\xB7\xF9\xD1\x4B\xAC\xAA\x04\x2A\xF2\x81\x39\x94\xB6\xA4\xE2\x90\x35\xB9\xA6\x62\xF7\x08\x79\x0E\x01\x61\x9F\xD5\x94\x3E\xC0\x01\x34\xA5\xE7\x7E\x35\x41\xF8\xF2\xAA\x0B\x57\xD2\x8D\x42\x1E\xF3\x54\xAE\x2C\x8D\x24\x53\xEE\x67\x54\xEF\x1E\xB0\xE7\x64\xF6\xC0\x9D\xB6\x41\xFE\x67\x4C\xA6\x55\x56\xD2\xFA\x16\x67\xA9\xD1\x18\x00\x03\x2D\xD2\x41\x16\xF4\x3A\x9F\x45\xC8\x9D\x18\xDB\x99\xA7\xED\x90\xC7\xC5\x43\xD5\x48\xC0\x0B\x45\xC0\x5D\x7E\xDF\x61\xDA\xD5\x37\xD1\x49\xE2\xF5\x1D\xD8\xA4\xB9\xD3\xEF\x07\xB9\xE5\xD5\xA6\x8F\xD2\xF1\xB9\xA5\xD2\xE9\x5F\xF0\xF4\x24\x10\x4B\xFB\xEB\xED\xBA\xB2\x8B\xB5\x97\xCD\xE2\x20\x00\x4C\xEC\xB2\x31\xD2\x5E\xAA\xEB\x85\x10\x9C\x29\x9F\xCC\xE9\xD3\x35\xD5\x39\xE9\x9A\x9B\xC9\xC8\xD1\x4E\x82\x00\x02\xC8\xA8\x30\x13\xAC\xC2\x18\xA7\x98\xAE\x20\x19\xF6\x9D\x9A\x59\x88\x9C\x67\xB1\xEF\x67\xEA\x0E\x29\xEA\xFF\xA5\x5A\xDE\xD2\x13\xE3\xEA\xAC\xA9\xC4\xE2\xE7\x18\xF9\x68\xB6\xAD\x71\xA8\x03\x79\xEA\x04\x39\xAC\x9D\xC2\xE4\xBE\xAF\xBB\xE8\xF6\x08\x1A\xB8\x9B\x67\x01\x57\x5C\xB4\xC4\x86\x54\x3B\xD4\xF6\x0C\x1F\x9D\x6B\xF1\x03\x33\x01\xB6\xE3\x08\xDB\xF1\xB2\x9B\xAC\xA8\xD0\xEE\xDD\x98\x68\xA7\xED\xF0\xE1\x95\xFF\xAE\xA2\xED\x5A\xCB\xEF\xDA\xCE\xED\x20\x57\xDE\xD3\xA3\x79\xFB\x6E\xF5\xF7\x70\xBF\xAD\x6A\x99\xDF\xD2\xBE\x7B\xFC\xCD\x7D\xF5\x72\xBF\xF7\xCB\xA0\xA6\xDB\xEA\xB6\x31\xC2\xAB\xF9\xFE\x34\xDB\x1B\x03\xC5\x71\xF8\x9D\xE6\xCD\x8A\xA6\x37\xF7\xF1\xA6\xD6\xC2\xF2\xAA\x5F\xF4\xCE\x8C\xF4\x55\x07\xE7\xFB\xF1\x22\x2A\xE6\x71\xAD\xCE\xAB\x0F\x3B\xEE\xED\x45\xFC\x0E\x35\xE6\x25\xCB\xE8\x94\x24\x74\xF4\xE9\xD5\xA9\xA1\xE2\xF6\x1C\xF1\xBB\xDD\xA3\xD0\xAB\xB6\x1D\xEF\x27\x53\xE8\x4D\xED\x95\x16\xE9\xB7\xCE\xE8\x27\xA1\x70\x5D\x8D\x6F\xDE\xD1\xDB\xF9\xD7\x81\xE9\x1A\xE8\x7E\x24\xE8\x05\xFA\x6D\xA7\xEA\x8E\xE9\xF4\xE4\xA8\x4E\xED\xE9\xA7\xFE\xD5\x8E\xA9\xB8\xE3\xF7\x6B\xE8\xEC\x35\xD0\x8A\xF6\x37\xF0\xE9\x98\x9C\xF2\x74\xE8\xCC\xE0\x00\xA9\x31\x4E\xCD\xEA\x18\xCF\xEA\x81\xDB\x37\xD2\xEA\x95\xD2\xD8\xC9\x39\xCF\x37\xEA\x47\xA2\xE5\xE5\xEA\xEC\x9A\xC0\xD0\xFB\xCB\xF2\x01\x33\x00\x9B\xC3\x08\x6D\xEF\xCF\xD2\xE6\x49\xB7\xF9\xCB\xC9\xBE\xFF\xDB\x75\xF6\xB0\xC2\xA5\x01\x9E\xF9\x66\xB7\x2D\xA9\xE7\x24\xCC\xCE\xF3\xE6\xD1\xE5\xF7\xEC\xF1\xE9\xF5\xE7\x83\xA7\xCF\xF9\xE5\xFA\x96\x9E\xFF\x38\x6A\x90\xD8\xD1\x3E\x02\x37\x02\x17\x1A\x77\xBF\xF8\x7E\xBB\xFD\x08\x16\xE5\xEC\xB7\x0E\xDF\xD6\xFD\x7B\xF7\x2F\xC1\xAE\x91\xC8\x7C\x1C\x14\x19\x0A\xC3\xD7\xF8\xDD\x9B\x24\xBD\x71\xC9\xFF\x7C\x2B\xFE\x22\x05\x87\x50\xFE\xAC\xB2\xB2\xEA\x9B\xAC\xE6\x59\xB5\xF0\xB0\xF7\xF5\xEF\xF5\x7A\x61\xFF\x94\xD3\xEA\x8B\xB3\x8A\x88\xF4\x3F\x33\xFC\xDE\x08\x79\x3A\xD0\xEC\xFF\xFF\x24\x2E\x4F\xD1\x39\xF1\xFD\xC0\xCE\x3E\x62\x08\xFE\xCC\x3F\xFB\xFE\xFE\xCF\x3F\x96\xC9\xE9\x0E\x79\xFB\x74\x84\x10\x2F\x76\x79\x04\x27\xEE\x3B\x20\x11\x09\x83\x6C\x25\x2F\x1E\x81\x4E\x4A\x49\x10\x0E\x80\xBE\x53\x02\x8B\x7B\x12\x77\x3D\x50\xBB\x7E\xE0\x52\x80\x33\x23\xC8\x1E\xE8\x64\x68\x15\x5B\x04\x51\x4D\x53\x50\x81\x4C\x36\x56\x10\x22\x80\xE6\x6D\x03\x5B\x4D\x68\x75\xF2\x76\x7F\x51\xEF\x51\x7C\x35\x6C\x9B\x53\x49\x44\x75\xA3\x7C\x9A\x5D\x55\x72\x53\x02\x1D\xC0\x76\xED\x66\x01\x81\x4F\xC1\x72\x10\x09\x7C\xDD\x7A\xBE\x5C\xF0\x55\x5F\xF1\x7B\xC3\x75\xF5\x75\x68\x2C\x82\x0F\x6B\x75\x40\x61\x7C\x7D\x0C\x8B\xF3\x58\x7C\xEE\x79\xC9\x7B\xF1\x43\x57\xF4\x7B\x98\x60\x8A\x44\x57\x25\x7C\x70\x52\xF2\x6F\x76\x24\x7C\xBF\x73\x37\x50\x58\x20\x02\x72\x5C\x76\x26\x78\xF9\x1E\x73\x5F\xF2\x79\x00\xD3\x57\x40\x03\x5D\x46\x77\x3A\x50\x29\x50\x51\x27\x52\x8F\x71\x3B\x5B\xE0\x44\x6E\x6F\x7D\xB1\x7E\xE0\x50\x78\xC0\x4E\xE2\x6E\x7B\x6C\x6B\xC1\x5D\xEF\x71\x0B\x3A\x3B\x7B\x83\xC6\x69\x97\x7F", +"\x67\x0F\x61\xE7\x46\x85\x53\x60\x2D\x61\x70\x7B\x85\x5E\x7A\x86\x7B\x40\x55\x86\x54\x77\x6A\x63\xAD\x78\xB9\x70\x61\xE9\x51\xA4\x64\x87\x57\x72\x51\x5F\x1D\x6B\xB9\x25\x65\x7C\x62\x8A\x1E\x87\x4D\x62\x4C\x6D\xCC\x60\x08\xB5\x57\x01\x63\x41\x52\x81\x62\x00\x96\x82\xA3\x62\x86\x42\x51\x8B\x81\x88\x7D\x08\x90\x75\xCD\x66\x1A\x6D\xEB\x68\x60\x85\x80\xDA\x59\x77\x56\x82\xD8\x7D\x0C\x6D\x06\x33\x60\x65\x03\x26\x83\xB4\x41\x5F\x78\x82\xF3\x58\x4F\x40\x02\x27\x04\x30\x8E\x07\x88\x67\x9F\x83\x6B\x70\x97\x27\x6D\x15\x78\xC9\x66\xEB\x6C\x82\xCA\x80\x60\x7F\x0A\x92\x4F\xE8\x5F\xDB\x63\xD9\x54\x6C\x30\x32\xC5\x69\x03\x3D\x45\x09\x04\x36\x8D\xBA\x44\x83\xB2\x65\x20\x86\x40\x43\x82\x0C\x74\x02\x60\xA9\x12\x83\x13\x46\xD6\x61\xB7\x66\x6E\x46\x6C\x0C\x0A\x0D\x83\x04\xDA\x81\x27\x82\x85\x45\x83\xF1\x5F\x41\x5F\xBA\x69\x80\x61\x78\x34\x89\x7F\x64\x83\x42\x46\x39\x8B\xB8\x68\x83\x5D\x6D\x0C\x01\x03\x02\x38\x09\x04\x40\x8B\x0D\x9E\x82\xDD\x82\xF4\x5A\x4F\x18\x05\x07\x56\x3C\x69\xB6\x5C\x18\x5D\x65\x3E\x63\x6A\x43\x72\x71\x71\x25\x89\xC9\x51\x65\xAE\x58\xAC\x56\x07\x81\x5F\x8C\x6D\x1E\x81\x03\x32\x00\x61\x77\x40\x03\xD6\x7F\x67\x0D\x61\xF0\x58\x6B\x79\x1F\x63\x4F\xC4\x56\x86\x78\x5E\x8E\x65\xF4\x72\x77\x58\x7D\xAB\x5F\xD1\x54\x70\x53\x5B\xE5\x69\x49\x7D\xF6\x53\x74\xDD\x5A\x1B\x3F\xCA\x58\x6D\xE5\x80\xE9\x67\x0E\x9B\x25\x16\x6D\xC1\x73\x1B\x49\x04\x3F\x87\x40\x8F\x0E\x85\x84\x54\x73\x9C\x53\x81\x4C\x7C\x09\x5E\x11\x8F\x79\x58\x4E\x2B\x28\x8D\x2B\xAA\x57\x84\xCE\x5D\x46\x8E\x0B\xB1\x00\x34\x02\x0F\x0A\xEF\x16\x85\xC3\x80\x41\x86\xA7\x5F\x6F\x25\x86\xE2\x54\x7A\x68\x84\x90\x5E\xD2\x57\xEA\x62\x5D\x28\x5C\x1D\x0F\xAD\x6C\x5E\x03\x5E\xD5\x52\x16\x92\x66\x49\x87\xD4\x68\x7C\x67\x5E\x76\x5F\x4D\x82\x7A\x70\x5E\x95\x5E\xE9\x5D\x75\x6E\x5C\xD8\x61\x8C\x50\x16\xAD\x5E\x7E\x5E\xB1\x5B\x78\x65\x85\x63\x5C\xED\x50\x17\xA1\x5E\x11\x84\xC0\x5F\x78\x6D\x5E\xBA\x5D\x5F\x85\x6D\x7B\x82\x51\x84\x3F\x83\xB7\x6C\x4F\x72\x03\x49\x01\x19\x99\x85\x43\x87\x56\x81\xCC\x6E\x01\x07\x57\x16\x6D\x16\x98\x6F\xAD\x70\x9C\x52\x17\x85\x86\x77\x5A\x50\x35\x65\x42\x5B\x7D\x5B\x1A\x06\x11\x93\x83\x3B\x85\x4B\x2D\x13\xB6\x00\x02\x87\x40\x02\x10\xAE\x83\x04\x64\x51\x8F\x42\x59\x86\x70\x5D\x92\x53\xCC\x42\x24\xAA\x09\x93\x57\xCC\x7A\x85\xC9\x72\x68\x89\x67\x64\x86\x5B\x5B\x9F\x50\x15\xA5\x59\x32\x36\x4E\x83\xB7\x6F\x79\xDE\x4D\xCA\x21\x3E\x46\x68\xE5\x4D\x27\x7D\xC7\x5F\x72\x7D\x73\xD4\x42\x0C\x3A\x3B\xD3\x85\x29\x7C\x35\x4A\x68\x76\x69\xE0\x5B\xCB\x62\x00\x67\x72\x40\x5E\xC7\x43\x7E\x92\x71\x20\x74\xC9\x50\x84\x94\x81\xAA\x53\x11\xBC\x68\x75\x72\x22\x79\x3B\x5A\x87\x26\x53\x1E\x7E\x1D\x91\x72\x4B\x1F\x24\x70\x02\x15\x72\xB2\x80\x26\x77\xC8\x6F\x01\x89\x70\xB9\x6C\x1E\x88\x4E\xA7\x70\xB0\x78\x4E\x40\x73\x45\x84\xB6\x55\x77\x75\x34\xB0\x70\x6F\x87\x8A\x4A\x73\xC2\x5A\x2D\x7D\xBD\x6B\x87\x78\x71\x23\x76\x16\xAF\x87\x7F\x71\x78\x82\x3D\x74\x87\x84\x73\x2C\x87\x1E\x84\x5C\x5C\x5B\x7E\x8C\xCB\x4F\x88\x22\x03\x2F\x70\xC9\x57\x86\x4A\x5B\x43\x2A\x1B\xB5\x87\x51\x5C\x82\x80\x83\x4C\x73\x0B\x89\x1F\x0B\x01\x92\x23\x25\x6A\x75\x28\xA2\x70\x25\x81\x4E\xA5\x73\x10\x18\x7A\xB8\x7A\x52\x00\xA3\x79\x0B\x3A\x64\xD9\x42\xC3\x48\x83\x0F\x75\xA8\x7A\xA3\x64\x7A\x8B\x06\xA9\x7E\x17\x8D\x4E\x9F\x79\xD4\x5E\x23\x86\x69\x7B\x59\xAB\x7A\xA4\x6F\x7A\x4D\x6A\xAC\x72\x98\x34\x7A\xBB\x79\x6F\x6A\xB9\x64\x7F\xC7\x79\x94\x82\x9C\x5C\x69\x45\x82\x99\x52\xEC\x46\x5F\xC4\x7A\x80\x56\xEC\x65\x51\x66\x69\x6A\x18\xE6\x4C\x7B\x06\x5A\xB3\x7F\x38\x6F\x69\x20\x01\x9C\x66\x9C\x0F\x7A\x2E\x8A\x01\x89\xA2\x73\x00\x32\x8A\x40\x04\x23\x9A\x7A\x9F\x60\x8E\x8D\xE9\x43\x81\x5F\x61\x91\x82\x4C\x47\x89\xA3\x78\xB4\x55\xEA\x43\x6B\x7A\x8A\xEC\x4C\x27\xAC\x7A\xAA\x7B\x92\x60\xEB\x5C\x5E\x79\x75\x8D\x88\x2E\x10\x89\x7F\x77\xF9\x73\xFE\x4F\x89\xE0\x7E\x95\x88\xFE\x47\x7D\xC0\x7B\x96\x8E\x40\x5D\x89\x36\x71\xB3\x7B\x92\x62\x89\xCB\x7B\x78\x5B\xD2\x66\x89\x67\x4C\x9A\x8A\x26\xA3\x1C\x3E\x4C\xA8\x60\x35\x60\x6A\x53\x4E\x47\x49\x10\x2A\x8A\xBE\x50\xA8\x63\x3F\x7B\x88\xE8\x7A\x5F\x7A\x88\x62\x62\x54\x0B\x04\x5C\x18\xA5\x59\x52\x85\x99\x51\x38\x74\x00\x26\x03\x8A\x3D\x2B\x94\x86\x05\x6F\x5E\x69\x23\xB1\x77\x4B\x65\x05\x38\xAC\x7E\x6A\xDA", +"\x68\x61\x6D\xAC\x63\x85\x17\x6B\x43\x7D\xAB\x59\x6B\x70\x64\xB3\x64\xAE\x48\x8A\x7E\x75\xB4\x64\xDD\x54\x6B\xEC\x5A\xB5\x67\x8A\x58\x6B\x6F\x67\x60\x62\x2D\xB3\x65\x43\x8A\xB7\x6F\xD0\x5C\x8B\xAA\x67\xB0\x53\xAE\x60\x8B\xD5\x5A\xB9\x60\x9B\x54\x6A\x30\x6E\xA5\x62\x2C\x8D\x74\x81\x89\x3D\x67\xAC\x61\x6B\x65\x67\xB7\x81\x99\x61\x5D\xCD\x89\xB1\x8D\x94\x48\x8B\xD1\x8B\x59\x67\x2F\xB2\x4D\x6D\x83\x4D\x56\x2D\xA1\x78\xD8\x8B\x57\x6F\xAD\x64\x8B\xBF\x6B\xB6\x68\x2E\xA3\x5E\x6B\x67\xB5\x6D\x96\x49\x6B\xFD\x89\x6B\x65\xAE\x6F\x66\x32\x32\x8F\x2B\xC5\x6C\x0A\xA2\x4C\xAB\x03\x35\x74\x00\x2F\x01\x1D\x2D\x31\xB0\x4F\xAC\x0B\x02\x58\x68\x4B\x23\xC7\x7A\x08\x09\x2D\x56\x63\x64\x12\xF3\x76\x43\x3F\x30\x0C\x13\x08\x51\x32\x88\x4E\xEB\x3D\xFB\x3F\x41\x7E\x2E\x08\x12\x02\x1C\x2A\x34\x59\xA7\x61\x17\x5B\x67\x61\x30\x32\x8D\x2E\x7D\x16\xA2\x8C\x5A\x5C\xC9\x85\x46\x62\x00\x3F\x03\x07\x55\x73\x68\x2D\x2D\x8C\x0E\x5F\x32\xBC\x4F\x29\x8F\xCC\x8C\x3F\x35\x8C\xC1\x2F\xCD\x8F\xD0\x7A\x8C\x5D\x4F\xFE\x23\xF5\x5C\x82\x3F\x8F\xA6\x76\x27\x9D\x7F\x9B\x86\xA4\x87\xEB\x48\x5A\x29\x6D\x24\x84\x29\x9D\x8D\xC1\x78\x79\x20\xED\x7A\x0B\x37\x8E\xD2\x8C\x40\x2F\x8A\x78\x8A\xF3\x6A\x8C\x47\x31\xCC\x63\xE6\x2E\x32\xAB\x8D\x3F\x5B\xC8\x89\x6B\x5D\x88\x8A\x54\x0D\x1B\x32\x85\x32\x3D\x07\xDC\x8D\x13\x26\x50\xA5\x80\xB0\x72\x34\xB1\x4D\xC4\x6A\xB8\x83\x87\x6D\x60\x72\x2E\x07\x15\x70\x7D\x8D\x6A\x8F\xDF\x85\x37\x9A\x5D\x55\x63\x7B\x64\x0F\xB4\x77\xF6\x83\xB8\x19\x34\x88\x50\x4B\x8C\xD9\x83\x38\xB2\x5F\xC1\x50\xF4\x43\xE2\x46\x0A\xC5\x20\xA6\x07\x39\xBA\x4C\x4B\x8F\x49\x51\x71\x26\x7B\xA8\x63\x2C\x65\x38\xB5\x54\x88\x5B\x9D\x26\x65\x53\x52\x1D\x68\xE6\x45\xA8\x2D\x8C\x0F\x74\xA2\x29\x33\x31\x0C\x8C\x29\x9F\x87\xF6\x5B\x50\xCB\x3E\x1B\x0A\x46\x6D\x62\x99\x8C\xA2\x5A\x88\x6B\x8E\xC0\x7A\xEB\x89\x4E\x71\x8E\x20\x03\xEC\x8D\x37\xB5\x8E\x89\x28\xEE\x88\xD0\x3A\x8E\x7C\x59\xF3\x82\x33\x00\x8F\x74\x8D\x69\x54\x7F\x6D\x8D\x8C\x59\xED\x69\xD0\x10\x24\x7E\x8F\x6C\x6B\xFC\x35\x01\xD3\x8E\xF4\x44\x33\x80\x2F\x0A\x35\x19\x08\x33\x91\x5D\x54\x8E\x08\x04\x04\x0C\x3F\xD8\x56\xCF\x85\x3A\x80\x3F\xC0\x63\x83\x85\x37\x63\x8F\x36\x8C\xED\x8D\x71\x69\x8F\xBF\x60\x52\x04\x3D\x8E\x8E\xFA\x5A\x45\x0E\x34\x87\x10\xE4\x8C\xF7\x83\x35\xA1\x53\x8E\x67\x83\x88\x35\xA5\x8E\x81\x3D\x81\x0F\x3F\xBF\x2E\xF5\x8F\xF2\x87\x3F\x84\x90\x5D\x4E\x15\x02\xF8\x3B\x8F\xB3\x65\x9A\x41\x42\x0B\x90\x50\x8D\xF9\x87\x3E\x82\x53\xE9\x8D\xD0\x64\x41\xA6\x50\xB6\x3E\xFF\x82\x3E\x8F\x8D\x01\x92\xD4\x8F\x40\xA4\x56\x7B\x5A\xEC\x32\x42\x87\x90\xD5\x8C\x29\x82\x06\x11\x3E\x5C\x04\x06\x95\x42\xB6\x8F\x79\x5D\xFA\x88\x3D\x30\x90\x06\x91\xE3\x83\x9B\x6C\x08\x73\x0E\x0C\x9D\x40\xA6\x8F\x03\x90\x0A\x9C\xFC\x57\x3F\x5C\x5B\x64\x50\xC4\x1D\x1D\x2D\x4E\xC6\x81\x03\x24\x4C\x09\x04\x13\x9E\x4B\x6F\x8F\x38\x88\x8F\x8C\x3A\x9A\x5D\x88\x7E\x45\x60\x36\x8B\x7E\x62\x8C\xEC\x74\x36\xBC\x05\x62\x1B\xD9\x83\x30\x0C\x10\x46\x92\x21\x31\xC4\x09\x91\x0C\x11\xEF\x79\x10\x49\x04\x67\x93\x13\x9D\x42\xA5\x82\x34\x6E\x11\x8B\x39\x8D\x8B\x0E\x87\x3E\x68\x38\xB2\x0C\x73\x2E\x9F\x27\x31\xA2\x91\x48\x91\x89\x6A\x31\xB8\x00\x9A\x49\x42\x0D\x47\xAA\x91\xFC\x8E\xE9\x8D\xCB\x6D\x91\xA1\x6A\xEA\x82\x8F\x53\x91\x46\x82\xF1\x80\x3B\x9F\x50\xCA\x8E\x03\x5D\x71\x76\x8E\x8A\x29\xEE\x8B\xA3\x68\x06\x61\x01\xEF\x8F\x3B\xB9\x4E\x61\x91\x4F\x09\x31\xA5\x91\x94\x79\x13\x49\x10\x1E\x92\x80\x93\x6C\x6F\xBA\x7F\x74\xD8\x8C\xED\x6E\x4A\x3F\x33\xB1\x12\x1D\x9C\xF0\x3A\x91\x0C\x13\x26\x9D\x13\x13\x4D\x31\x03\xD0\x39\x10\x32\x92\xA1\x93\x81\x60\x3B\x75\x4F\xE6\x50\x83\x63\x1C\x82\x59\xB9\x8A\x90\x54\xC2\x78\x00\x49\x6D\x40\x04\xA1\x60\x84\x65\x6D\x4F\x04\x7C\x40\x81\xFE\x84\xD5\x65\x76\x79\x82\x58\x37\xD5\x68\x0F\xBF\x45\xFA\x80\xD1\x6E\x18\xAD\x6B\x33\x01\x0E\x02\xB6\x43\x04\x62\x6C\x6C\x80\x8F\x6E\x58\xFF\x6D\xC0\x8F\xA8\x6B\x7B\x75\x5C\x54\x30\x4D\x38\x84\xF9\x82\x71\x82\x4D\xBC\x84\x10\x68\x0D\x00\x03\x38\x6D\x03\x04\xDE\x6A\x4D\xAE\x67\x7C\x6C\x1B\x8A\x0A\x83\x8D\xD2\x6B\x76\x53\xB8\x60\x6F\x91\x6A\xE1\x66\x85\x0F\x93\xAA\x45\x34\x98\x11\x93\x93\x79\x80\x0D\x01\x03\x05\x71\x02\x07\x11\x74\x4C\x9D\x4D\x95\x6D\xE8\x78\x4C\xBF\x6D\x99\x6D\xE2\x77\x53\x5C\x6E\x3E\x07\x79", +"\x60\x02\x1F\x6E\xD7\x65\x13\x2C\x4F\x83\x47\xFE\x91\x63\x88\x4E\x9D\x6D\x35\x01\x0E\x06\x0E\x04\x29\x1F\x94\xB0\x8D\x7F\x45\x83\xEF\x53\x16\x68\x37\xA1\x88\xC5\x72\x67\x8B\x1B\x98\x5B\xB2\x72\x6F\x84\xCB\x40\x87\x7E\x5A\x8A\x84\xB0\x5B\x93\x4A\x5D\xCE\x71\xCE\x68\x6A\xCB\x92\x38\x93\x62\x19\x67\x95\x86\xBA\x6C\xCA\x69\x59\xA8\x8F\x52\x87\x17\xAA\x94\x79\x84\x4B\x9D\x1B\x98\x07\xBF\x87\x9E\x55\x1A\x99\x88\x33\x96\x7B\x6B\x0C\x7F\x80\x68\x6E\xC4\x72\x51\x96\x6D\x3D\x04\x4F\x91\x1B\x96\x86\xAF\x77\x41\x82\x7F\x4A\x84\xA9\x50\x43\x8A\x99\x71\x91\xBE\x4C\xA9\x54\x22\xA6\x87\x70\x65\x45\x8C\x20\xAD\x8B\x57\x96\x4F\x91\x44\x79\x5A\x57\x7F\x49\x8D\x12\x87\x86\x30\x85\xB8\x81\x77\x5C\x88\x2C\x87\x29\x6C\x7A\x6F\x84\x66\x61\x4C\x8C\xF6\x75\x24\x34\x84\xE6\x4E\x6D\x5F\x86\xCC\x5C\x5A\x93\x52\xB2\x86\x79\x52\xE2\x54\x16\xBB\x85\xF4\x5B\xE6\x58\x2F\xA4\x5E\x73\x97\x59\x87\x74\x69\x85\x8B\x8F\xBF\x8D\x79\x6D\x80\x6F\x87\x50\x91\x17\xAF\x5C\x44\x57\x62\x91\x7B\x76\x85\x5E\x5C\x60\x97\x7B\x6F\x95\x98\x5F\xCC\x5A\x18\xA3\x5E\xB1\x5E\xDC\x53\x88\x5D\x86\x97\x95\x51\x9F\x5D\x48\x96\x55\x5C\x1D\x0C\x88\x48\x8A\x4D\x97\xF3\x54\x58\xA8\x59\xC4\x5C\xD9\x82\x54\x8D\x85\xCB\x5F\x30\x61\x5B\xA1\x84\xFF\x5E\xF4\x58\x90\x5C\x8D\x51\x76\xF8\x7C\x0C\x8E\x75\x58\x93\x70\x67\x7E\x55\x19\xE5\x6F\x41\x90\x0F\x81\x60\xD6\x8C\xDE\x74\x39\xB8\x5F\xCF\x18\x7B\x6A\xB7\x53\x61\xB7\x58\x28\x80\x81\x62\x00\x12\x61\x38\x82\x3B\xA3\x83\xC9\x96\x81\x6D\x7E\x4E\x60\xD6\x97\xD0\x83\x0A\x81\x8E\x36\x97\x37\x9A\x08\x93\x60\x66\x60\x43\x9C\xD7\x43\x97\xA7\x82\x2B\x89\x45\x87\x8E\x9E\x2F\x58\x92\x3B\x74\x82\x79\x60\xF3\x72\x83\x74\x60\x85\x80\x53\x92\x58\xAE\x67\xD2\x7E\x6D\x91\xB2\x77\x6C\x44\x62\xC0\x16\x84\x55\x37\xFE\x6A\xD1\x83\xB5\x3A\x1A\xCD\x61\x60\x9F\x4E\xB2\x96\x58\x95\xE4\x83\x5E\xB9\x97\xC9\x67\xC9\x58\x08\xAA\x7B\xE7\x94\x29\x89\x5E\x8F\x82\xDB\x5E\x23\x8D\x0A\x90\x82\xC6\x94\xE6\x43\x09\x9F\x96\x72\x71\x21\x88\xFD\x7B\x61\x2D\x30\xFC\x0B\x09\x9A\x63\x31\x6F\xEC\x56\x73\x62\x62\x93\x63\xF1\x60\x62\x91\x5D\xA9\x60\x8F\x6E\x77\x68\x98\x96\x68\x80\x22\x89\x46\x62\xF2\x95\xEA\x8D\x8B\x58\x62\x91\x63\x59\x9B\x60\xB0\x68\xAC\x62\xF4\x43\x8A\x67\x29\x39\x99\x8C\x9B\x8A\x50\x81\x3E\x9B\x41\x90\x8B\x6D\x39\xCD\x6C\x2D\x6E\x1A\x36\x62\xD2\x96\x85\x6A\x8B\x54\x01\x4D\x9B\xF3\x64\x92\x2A\x96\x98\x87\x6E\x96\x8C\x65\x92\x6F\x8C\x14\x30\x44\x16\x95\xFD\x5C\xF3\x6B\xD6\x7D\x62\xDD\x5B\xF5\x30\x66\x8E\x95\x9B\x10\xC6\x50\x8E\x51\x99\x79\x64\x39\x6E\x29\x5A\x97\xE9\x63\x87\x6C\x8E\x5B\x30\x34\x99\xC1\x6C\x55\xAD\x53\x1B\x6A\xE1\x8E\x61\xB2\x99\xFE\x62\x88\x6D\x5D\xA4\x6D\xDE\x7C\x42\x6E\x5B\x91\x27\x5E\x92\x52\x07\x66\xB3\x66\x9E\x54\x76\x88\x53\xB5\x99\x0D\x64\x95\x0F\x90\x75\x8A\x0D\x53\x76\x73\xAA\x77\x7A\xA0\x6A\xA4\x9C\x91\x65\x6A\x09\x7A\xCE\x77\xF1\x42\x99\x50\x2B\x9F\x93\x5D\xA5\x7E\x08\x6D\xBE\x6A\xB0\x7B\x6B\x8D\x89\xBF\x6F\x3C\x77\x73\x02\x83\xA1\x96\x42\x6F\x8B\x43\x5D\xBC\x8F\x2C\x9D\x8B\xA1\x66\xB2\x83\x2D\x8B\x96\x89\x67\x29\x6F\x6A\xA5\x8B\xCB\x6A\xBF\x8B\xF6\x78\x99\xC7\x68\x7B\x98\x86\x6D\x30\x0D\x76\xB6\x81\x75\x48\x8C\xC9\x8A\xBD\x83\xAC\x4D\x8C\xDB\x8B\xC3\x8C\x2F\x8E\x66\xC6\x9A\x6B\x69\xE1\x6B\x8B\x0A\x9B\x41\x9D\xB1\x41\x95\x21\x6D\x6E\x6E\xD7\x55\x91\x53\x71\xD8\x8D\x61\xAC\x6C\xB3\x0C\xCB\x2C\x66\x8D\x6D\xF1\x92\xE8\x78\x61\x8F\x67\x53\x73\x3D\x92\x51\xBA\x93\xA1\x6D\xB4\x9E\x5D\xB4\x4F\x9D\x7E\xAA\x9B\x9D\x47\x44\x7D\x6E\xB8\x9B\x61\x84\x8E\xF5\x92\x18\x60\x51\xAA\x69\x9E\x6C\xBC\x9B\x4F\x9E\x9A\x1C\x6F\x3C\x80\x67\x86\x34\xA8\x93\x7D\x66\xC0\x79\x6E\x42\x72\x52\x0C\xF5\x00\x00\xCA\x11\xBB\x93\xC2\x48\x87\x79\x06\xE9\x21\x10\x21\x4F\x05\x9C\x48\x05\xE7\x47\x70\x49\x70\x08\x75\xF9\x55\x9C\x43\x72\x0D\x01\xC1\x43\x04\x11\x70\x59\x75\x50\x14\x6F\x30\x8E\x05\x7D\x4D\x94\x98\x4B\x82\xF4\x44\xC0\x78\x67\x20\x04\xC5\x9C\xC0\x50\x13\x2D\x7D\x34\x70\xBC\x77\x00\x28\x73\x40\x08\xC2\x5E\x9C\xBC\x6E\x12\x7D\x35\x6D\x70\xBF\x0C\xFB\x62\x4E\x48\x68\x93\x8D\x17\x50\x60\x72\x6F\x72\x81\x99\x7C\x6D\x80\x2D\x39\x9C\xFE\x66\x31\xAB\x92\xC6\x85\x17\x77\xC8\x1F\x71\x36\x02\x9F\x46\x10\x0E\x9D\xBA\x70\xA1\x7D\xCB\x53\x7F\x7C\x70\x1C\x0F\x1D\x82\x51\xB7\x87\x92\x59\x1B", +"\x86\x73\x39\x9A\x89\x83\x44\xBB\x04\x29\x8A\xE4\x75\xF3\x5C\x75\xFE\x72\xE5\x72\x35\x6F\x6B\xF1\x6B\xD2\x6D\xF9\x5D\x73\x66\x46\x3C\x9A\x04\x9B\x9A\xA0\x9B\xEC\x48\xFA\x40\x7D\x54\x83\x80\x23\xF4\x6D\x7E\xB0\x06\x3B\x7A\x45\xA3\x69\xB2\x7F\xBD\x76\xCF\x5F\x50\xB6\x7F\x4B\x70\x50\x2B\x9D\xFD\x73\xE1\x14\x78\x8F\x55\x36\x01\x41\x76\x10\x0A\x9E\x34\x9E\xE7\x71\xF5\x4A\x74\x23\x9C\x43\x7D\x56\xA4\x7D\x5A\x7C\x2B\x5C\xF5\x5D\x0B\x36\x5C\xB3\x80\xF6\x59\x74\x63\x7F\x43\x75\xF6\x56\x9E\xBB\x8E\x48\x7A\xF6\x4E\x6B\x7B\x97\xB6\x5C\xE0\x56\x80\x42\x9F\x50\x2B\x93\x02\x9E\xEA\x35\x07\x85\xF7\x6C\x1D\x5D\x76\xCB\x72\x35\x77\x00\x1D\x86\x40\x0F\x11\xA6\x9D\x69\x83\x67\x58\x02\x80\x75\x6C\x74\x5E\x71\x2B\xB2\x50\x5B\x7B\x5C\x7E\xE5\x49\x75\x76\x75\x84\x8C\xD4\x57\x9B\xCB\x82\x43\x94\x5C\x8E\x83\xE9\x51\xE3\x77\x75\x0C\x1D\x85\x74\x7A\x55\x07\x93\x76\xEB\x4E\x0C\x0B\xE2\x42\x04\x2D\x79\x12\x50\xE3\x69\x74\xF6\x57\x4B\x38\x5F\x54\x51\xFA\x54\x8F\x89\xE3\x76\x77\xB1\x47\x6A\x7A\xDF\x5D\x34\xAE\x77\x90\x7D\xE3\x42\x78\x46\x7B\x5C\x2C\x5C\x53\x9F\x39\x84\x65\x75\xF0\x57\x9F\x01\x05\xF6\x91\x5F\x5D\x76\xEC\x79\xF7\x91\x45\x75\x78\xE0\x9C\xCE\x71\xC3\x58\x8F\xA8\x75\xB1\x7C\xE3\x71\x51\xF9\x77\x27\x60\xE4\x58\x68\x52\x80\x90\x71\xDB\x51\x58\x03\x7B\x91\x76\x00\x94\x79\x3E\x04\x35\x70\x81\xB2\x01\xDC\x4F\x62\x79\x17\x38\x24\xE1\x4F\x04\xA5\xE7\x77\x79\xA8\x7C\x35\x7B\xE7\x54\x53\x0C\x9C\x19\x08\x81\xBA\x4F\xA8\x7D\x9D\x72\x76\x80\x74\x94\x7C\x10\x7A\xD5\x53\x7E\x43\x4D\x0C\x06\x03\x06\x01\xFA\x38\x0C\xA4\xF3\x68\xA0\xD5\x54\xE8\x71\x6F\xA5\x97\xA7\x80\xE9\x7F\x3A\x77\x4C\xC9\x4F\x07\xA4\x77\xAB\x7E\xC7\x50\xDE\x9B\x17\x63\x8D\x7C\x9E\xEB\x7A\xF4\x7E\x9D\x4C\x7E\x5F\x96\x16\x6F\x54\x87\x9D\x0D\xAD\x76\xB2\x9B\x37\x95\xC9\x95\xFA\x48\x4F\x72\x9C\x25\x16\xCE\x43\x58\xE8\x73\xBB\x77\x77\x88\x94\x46\xA0\x11\xA5\xEC\x7D\x9D\x25\x7F\xDF\x96\x8D\x4B\xA1\x74\x1D\x33\x56\x9D\x0F\x73\x29\x69\x08\xAA\xDF\x21\x4F\x2F\x69\xF9\x44\x4B\x83\x04\xB4\x90\xCE\x6E\x86\x16\x10\xE9\x33\xC1\x99\x70\x81\x98\x23\x1D\x3A\x33\x35\x40\x7A\x03\x04\xA0\x7A\x33\x78\xA1\xD0\x2D\x3A\x3E\x49\x63\x3C\x84\x15\x5D\x13\x42\x40\xA2\x11\x2E\x20\xA7\x1D\x8A\x8A\x98\x85\xC0\x73\xF0\x78\x80\x94\x7A\x0E\x81\x10\x3C\x80\x66\x03\xC2\x7B\x5F\x77\x7D\x3D\x9C\x11\x84\x6D\x88\x81\xE9\x7B\xDB\x95\xC5\x4C\x81\x39\x0B\x6D\x5F\x04\xA1\x4D\x25\x86\xC7\x71\xF4\x52\x59\x56\x82\x19\x0A\xEF\x75\x9D\xC6\x57\x16\x8E\xEF\x4F\x56\x8E\x45\x64\x51\x4D\x57\x7B\x21\xA0\x50\x31\x3E\x5A\x56\xE5\x4F\x09\xAE\x78\xB9\x1F\x13\x4F\x40\x03\x31\x4D\xA1\x2F\x7D\x08\xAC\x32\x4F\x9C\x8D\x9F\x63\x70\x04\x2F\xA1\x02\x05\x1C\xAD\xFC\x75\x16\x02\x1D\x1D\xAD\x90\x15\x58\xCB\xA0\x75\x39\x87\xAF\x7B\x53\x4D\x27\x0A\xEF\x16\xA3\xFD\x51\xCA\x8C\x8C\x93\xA3\xDC\x33\x20\xA2\x00\x88\x51\xDA\xA2\x34\xA1\x88\xAF\x7B\x83\xA3\x4A\x10\x8E\x82\x32\x74\xA0\x39\xAB\x88\x98\x80\xA2\x1F\x39\xAC\x3F\x29\xA3\xDD\xA3\x22\xA9\xB1\x26\x8F\x76\x51\x38\xA0\x8F\x83\x28\xDE\xA0\x78\x0E\x8E\x9B\xA3\xE3\xA1\x3C\xAC\x6E\x93\x50\xFB\xA2\x38\xA9\x88\xAA\xA3\xEC\x99\xFC\x21\x90\xB7\xA3\x11\x05\x39\xA6\x28\x07\xA4\xCD\xA0\x41\xAF\x49\x72\x19\xE4\x25\xD0\x6C\x90\x9C\xA3\xF8\xA3\x22\xA5\xCA\x00\x01\x7B\x4F\xFF\x19\x3D\x42\x80\x15\xA0\x9C\x7F\x3D\x40\x14\x19\xA3\xFF\x1B\x81\x86\x80\xEC\xA1\x84\x04\xCD\x65\xA4\x5E\x05\x47\xAE\x3D\x63\xA0\x07\x83\x10\x25\xE7\x4D\x53\x1E\x82\x01\x80\x02\xB4\x00\x22\x83\x40\x04\x02\x92\x53\xEC\x13\x09\x83\xF5\x4C\x74\xEA\x7F\x26\xAE\x40\x6F\x80\x55\x9E\x79\x92\x57\x73\x80\x0D\x50\x66\x27\x5E\x01\x71\x0D\x53\x07\x8D\x40\x64\x70\x35\xA6\x40\x07\x93\x9A\x53\x88\x4E\x10\x81\x9F\x5D\x51\x3D\xA4\x21\x9C\x19\x80\xA5\x24\x9D\x91\x54\x94\x8F\x53\x16\x12\x0D\x8B\xC5\x57\x7B\x06\x7F\x65\x5A\x76\xBD\x80\xED\x58\x54\x9D\xBE\x7E\x74\x99\xA3\x17\x69\x25\x9C\x86\x6E\x75\xC5\x7A\x69\x9F\xA2\xEC\x79\xC6\x7E\x04\x9D\x4D\x1C\x7C\xA6\x8A\xDE\x58\x81\x1F\x7F\xBD\x79\x8A\xAB\xA2\xB7\x56\x2B\xA7\xF2\x70\x9F\xE5\x93\x7F\x6D\x4B\xA1\x59\x81\x4F\x0D\x0D\x07\x86\x04\x87\xA7\x8F\x9F\x5D\xA2\x84\xE1\x94\xE1\x83\x80\x47\x54\xE4\x97\x21\x80\x80\x99\x9A\x51\xA2\x61\x59\x0A\xAA\x97\x19\x9A\xAF\x9E\x86\x4E\x67\x57\x8B\xCA\x6F\x61\x88\x73\x21\x9A\xE7\x23\x62\xB8\x01", +"\x99\x82\x89\x90\x61\x98\x8D\xEB\x9B\x72\x97\x5D\x8F\xA6\x84\x82\xE7\x26\x0A\xBF\x9A\x18\x60\x7A\x9C\x08\xAB\x97\xCA\x9D\x7B\x9C\x61\x92\x94\x9F\xA6\x81\x85\x09\xA2\x98\xF5\x96\x08\x06\x0B\xB8\x82\xBA\x83\x2E\x91\x66\x43\xA6\xB3\x59\xE0\x48\x03\x02\x83\x06\x04\x72\xAA\x98\x94\x97\x97\x5B\xA0\x93\xD1\x48\x93\x86\x7C\x1A\x68\x6D\x88\x9F\xCC\x9F\xB6\x91\x0D\xA2\x6E\xF1\x9D\xE9\x6B\x51\xB3\x6D\x32\x03\x35\x87\x12\x2D\x83\xCA\x94\x51\x8E\x60\xB0\x6E\x53\xA7\x7C\x69\x3C\x9C\x97\x4F\x84\x6A\x8B\x0F\x9B\xA7\xD4\x92\x3A\x8F\x9D\xAA\x9D\xA9\xA6\x78\xAC\x5C\xAF\x67\xA4\x91\x79\xA3\xBB\x42\x50\xF7\x80\x76\xA1\x98\x9A\xA7\xAA\x84\x84\x63\x03\x3F\x83\x27\x07\x6B\x81\x9E\x98\x95\x05\x1B\xD4\x54\xAC\x5E\x93\x62\x62\x57\x9A\x67\x93\x4F\x62\x95\x85\x86\x1F\x8E\x66\x66\x95\x97\x52\x9C\xB3\x5A\xC4\xA5\x88\x53\x03\x1C\x84\x38\x74\x7C\xA0\x68\xA4\x94\x6C\x96\x49\x8E\x58\xB0\x95\x79\x96\x5C\x99\x6C\x47\x54\x75\x95\xD4\x57\x57\x92\x5B\x21\xA9\xBA\x82\x13\xBC\x95\xDC\x5A\x5F\x96\x13\x98\x96\x33\x1B\xAD\x8C\x4B\x80\x94\xBE\x80\x0D\x08\x03\x0C\x01\xFA\x38\x8E\xA2\x52\x84\x5E\x1C\xAB\x4A\x73\x79\x8F\x74\x68\x85\x8A\xA3\x7A\x72\x5E\x25\xAA\x61\x81\x5A\xBC\x68\x28\xA9\x55\x68\xA0\xA8\x61\x26\x75\x5F\x98\xCF\x6F\xA8\x58\x9A\x96\x9C\x9C\xB3\x5A\x23\x87\xB1\x7F\xA3\x88\x96\x42\xA8\xD3\x54\xA4\xAE\x95\x76\x96\x4B\x89\xA4\xBC\x5E\x7E\x75\x93\xAD\xA2\x8F\xA9\x63\x32\x67\x99\x2B\x32\xA8\xC3\xA4\x8D\xAA\x2B\xB3\x00\x33\x01\x50\x83\x10\x01\x85\xCB\xA4\x49\x9B\x47\x46\x5A\x56\xA7\xB9\x79\x7C\x6C\x28\x17\x95\x11\x12\x98\xAA\xA9\xBE\x93\x0C\x04\x03\x3E\x01\x2B\x38\xA0\xAB\xA3\x8C\x98\x6A\x95\x80\x81\x74\x5B\x66\x87\x94\x68\x94\x75\x4A\x96\xA4\x95\xE5\x5F\x74\x6C\x96\x9A\x5F\x5A\x80\x78\x49\x93\x95\x95\x67\x90\xA3\xAF\x56\x9A\x95\x5D\x82\x18\x96\x96\x84\x85\x79\x8E\x78\x47\xA9\x03\x5F\x68\x94\x17\x8E\x5D\x1C\x8B\x69\x95\x7B\x66\xA9\xBA\xA6\x91\xA9\x7B\x6E\x96\xA3\x95\x0A\x02\xA5\xB2\xA9\x03\x56\x61\x94\x79\x5F\xA8\xA0\xA9\xD2\x5D\x13\x17\x74\x8E\xAB\x83\x80\xA9\xAA\x85\xB7\xA8\x98\xAE\x5F\x95\xAA\x78\x84\xC4\x5F\x5D\x59\xAA\x81\x87\x8A\x93\x18\xB6\x5E\xA0\xA6\x89\xAF\x58\xAC\x5D\x23\x5E\xE6\x95\x5A\xA5\xAA\x9C\x95\xB0\xA5\x20\x86\x95\x5D\xA8\x5C\x9D\x5A\xAF\x96\x8B\x87\x84\xAB\x61\x7C\xA9\x84\xA7\x0C\x05\x03\x3E\x02\x25\x38\xB8\xA3\xA8\xBC\x96\xEF\x5E\x10\x52\xAB\x9F\x85\x8A\xAB\xDA\x5C\xA8\xA3\xAA\x80\x84\x90\xAB\xAC\x91\xAA\xBD\xA9\x4C\x82\x55\xA7\xAA\x97\xA9\x8C\x54\xAC\xA5\x5E\x9B\xAA\xA5\xA8\x65\xAE\xAB\xD6\xA8\xB6\xAD\xA8\x91\x54\xB2\x5E\xA9\xA7\xAC\xA8\xAA\xD4\xAA\xB2\xAD\xAF\x89\x86\xCD\xA8\xE7\x5F\xAA\xB3\x96\x44\x57\xB9\xAB\x6F\x6C\x96\xEB\xAB\x5F\x8D\x58\xBC\xAB\xB5\xA8\xBC\xA2\x59\x94\xAA\x6E\x8C\xA7\xA8\xAC\xB6\xAB\xFF\xAB\x41\x52\xB0\x9A\xAC\x04\xAF\x6A\x99\xAE\xA2\x96\x09\xAF\xBD\xA3\xB1\xAA\x98\xCB\x91\xA7\xAF\x62\xAA\xAA\x99\x5C\xC2\xA9\x79\x8A\xAC\xFB\x94\xA1\xA0\x5E\x86\xAA\x30\x52\xC3\xA5\x74\x63\xAC\x48\x5D\xC4\xA2\x76\x5E\xAC\x8F\xA8\xCE\xA0\x59\x8C\xAA\x93\x96\x52\x8C\x75\x7A\xAB\xC2\xA8\x0C\x56\xB2\x9F\xAC\x44\xAF\xB4\xA2\xB2\x95\xAB\x15\xAE\xA8\xA2\xB1\x81\xAC\xD1\xA8\xEA\x51\xB2\xB0\x50\xBB\xA8\xAB\xA5\xB2\xB2\x4D\x68\xA8\x85\xAC\xAD\x85\xA7\x33\x02\x0D\x03\x19\x86\x04\x5F\xAD\x9C\xAC\xB0\x85\x59\x47\x59\x9D\xA7\x04\x99\xAC\xBA\x87\xBE\xAD\x52\x88\x95\x2F\x96\x52\x91\x1C\x92\xA8\xEA\xA7\x39\x9D\x9F\x9D\x6D\x33\x03\x0D\x0D\x1A\x86\x38\xE3\xAB\x62\xAD\x5B\xB4\xAC\x11\x9A\x2F\x73\xE2\x78\x86\xE5\x8E\xAA\x20\x1A\xB0\x52\x6C\xAF\x8E\x6B\x54\x98\x92\x5B\x72\x5B\x01\x03\x10\x87\x70\x01\x0C\x03\x35\x7F\x91\x03\x07\x1F\x92\x90\x71\x00\xE5\xA1\x1F\x71\x78\x54\xAE\xED\x5D\x0C\x08\x69\x46\xA8\x27\x8C\x80\x8A\xA0\xA1\x95\xE4\x87\xCA\xA3\x5F\xA7\x87\x6E\x05\x86\x8E\x1C\x8D\xAE\x8C\xAE\xE3\xAC\x57\x67\x04\x7F\x57\xE4\xA4\x6E\x5A\xAE\x06\x85\xA6\x56\x32\x9B\x54\xDF\x87\xE7\xA8\x39\x44\x70\x83\x36\x29\x62\x11\xA5\x65\x70\x01\x11\x99\xB8\xBD\x71\xE9\x68\x0C\x0A\x92\xB9\x05\x08\x27\x72\x8D\xC7\x75\x79\xA7\xAE\xD2\x93\x46\xBA\x83\xC2\xAC\x0D\x08\x0A\x3A\x3B\xCF\xAE\x75\x8D\x35\x6E\x87\x00\x88\x20\x73\x21\xA1\xAE\xD9\x63\x43\x73\xC7\x5D\x4D\x88\x72\x90\x5B\xC8\x47\xAF\x88\x4D\x77\x85\xBD\x92\x88\x82\x71\xEE\xA6\x54\x5A\xAF\x17\x89\x7A\x84\xAE\x4D\x88\xFC\x86", +"\xAB\x0E\x93\x90\x88\x7C\xAF\x80\x81\x67\x4A\xAD\x98\x87\x43\x7E\x75\xBE\xA6\x28\x88\x2E\x78\x9A\xA0\xAF\xED\xAB\xF8\xA1\x1F\xA2\x87\xF3\x84\xF6\xA6\x14\x85\x72\x14\x75\x0E\x90\x85\x5B\x87\xFD\x87\x49\x90\x20\x98\x9D\x98\x4C\x31\x7B\x75\xAA\x94\x39\x5A\xFD\xAE\x52\x8B\x73\x60\x9E\xFE\xA6\x86\xA7\x68\x6E\x88\x8C\x84\x03\x31\x89\x01\x07\x9C\x80\x97\x37\x88\xE6\x0B\xB0\x83\x61\xA9\x7A\x39\x68\x92\x8D\x35\x7D\x68\x80\x8B\xB7\x63\x28\x87\x69\x85\x88\x93\x80\xA6\x8E\x89\x57\x68\xA3\x83\x9D\x8C\xA2\xBA\x79\xA9\x97\x9B\x80\x58\xBF\x7B\x16\x9F\x55\x61\x69\xA8\x9D\x99\x8B\x29\x8A\x7B\x80\x1C\x99\x85\xA6\x73\x50\xA2\x8A\x62\x2B\x26\x9C\x80\x8C\xA3\x8B\x81\x9D\x22\x58\x1C\xB0\x00\x0E\xC1\x91\x27\x20\xB3\x18\x02\xC2\x93\xA6\x2A\xB1\xA1\x86\xC2\xBC\x68\x7F\x8B\xD7\x71\x2F\xAB\xB0\x49\x89\x0B\xBC\xA4\x58\x5D\x30\xB2\xBE\x05\xC3\xB3\xB0\x54\x8B\xC2\x6A\x6D\xAD\x52\xF2\x80\xEA\x86\x29\x9D\x7C\x70\x7F\xA7\x8F\xC3\x8A\x1E\x11\x96\xA7\x87\xEC\x60\x8A\x96\x4F\xF3\x66\xC4\xA3\x1C\x68\xA0\xA4\x85\x7A\x14\x73\x65\xB3\xF6\x41\x03\x0E\x9D\x03\x04\xD4\x94\xC3\xA2\x5F\xF3\x4D\xF2\x48\x53\x36\x25\x59\x6B\x24\x27\x4C\x70\x8A\x39\xB3\xBC\xA0\xA7\x7A\xB1\xEE\x9F\x52\x57\xC8\x95\x15\x3E\x4F\x24\xBA\x54\x13\x4D\x4F\x49\x42\x09\xC9\xBE\x52\x96\xB0\x4C\x06\x42\x40\x01\xE4\xA7\x7C\x75\x45\x7B\x28\x42\x14\xEC\x7C\x93\x90\xA1\xDB\x57\xF0\x84\xC3\x75\x4D\x9D\xB1\x19\x05\x2A\x90\x9A\xCF\x53\xA9\x80\xCB\x93\x53\x81\x4C\xAB\x83\x10\x2C\x8A\x3A\x4E\xAB\x8B\x65\xB6\xA7\x13\x7D\x50\xA2\x86\x73\x8A\x25\x67\x2C\xBC\x4E\x30\xA4\x49\xA6\x4C\xAB\x94\xB5\x00\x4D\xA5\x40\x0F\x94\xA6\x80\x51\xA7\xEE\x98\x3D\xBD\xA4\x18\xAD\x0C\x57\x50\x70\x80\x16\x7D\x6C\x5B\x95\x93\x53\x16\x13\xE7\x4B\x52\x22\x4E\x2B\x17\x5E\x5E\x0D\x27\x04\xDF\xB0\x8A\x54\x52\x26\x50\xCE\x66\x73\x9E\x73\x96\x9B\x64\x8D\x70\x6C\x83\x9A\x6E\x57\x91\x75\xAC\xA5\x5D\x55\x2B\x16\x9C\x6A\x7E\x63\xB3\x88\x4D\x39\xB9\x96\x8F\x71\x84\x55\x3B\xB7\xFE\x54\xA1\x55\x6A\x3E\xB6\x6A\x99\x91\x08\x55\x3C\xB2\x70\x39\xB1\x31\xB2\xC9\x2C\xC7\x90\xB2\x80\x4C\x0D\x00\xC8\x93\x30\x6A\x9D\x1F\xB3\x3E\x5C\x4D\x86\xB1\x0B\x29\xC8\xBF\x2B\x49\x60\xC4\x7F\xBE\xB6\xB1\x05\xB5\xE9\x1A\x9F\x71\xAD\xFF\x90\x7B\xA9\x07\xB2\x00\x35\x02\x1F\x07\x12\x22\xB4\x79\xAE\xCC\x6C\x83\x58\xAC\x52\x90\x75\xAE\x28\x9A\xA6\xF4\x63\x19\xBB\xB2\x7F\x2C\xDE\x9A\x7E\xA0\x4D\xA6\x93\x1D\xB7\xDC\xAC\x9D\xB6\x00\xC9\xB0\x00\x07\x93\xAB\x9B\xD3\x98\x4A\xBD\x35\x40\x98\x39\x6E\x80\x92\xCF\x63\x1C\x3E\x6D\xFD\x67\x60\x8A\x0F\x09\x99\x8C\xAA\xAD\xA5\x01\x15\xA8\x35\x55\x03\x30\x00\x01\x03\x8A\x31\xD5\xA5\xB4\x4E\x6E\x31\x96\x96\xBE\xB4\x2B\x6C\x55\x92\xB4\x71\xAC\x84\x59\xAF\xA8\x83\xB0\xA6\xA6\x59\x56\xBD\xB6\x63\x93\xE8\x68\x57\xB8\x38\x58\x6A\x17\x66\x30\xB8\xA8\x69\x8E\x13\x67\x1A\x6F\x68\xAD\x0C\x91\x99\xDE\x7B\x91\x64\x6A\x1E\x64\x65\xA2\x94\x83\x63\x12\x96\xAA\x61\xA3\xA6\xB5\xC9\x66\x43\x06\xB9\x68\xB2\xB6\xA4\xBD\x95\x6E\x87\x83\xE7\x9A\x5F\xB5\x51\x88\x6E\xAB\x68\x5F\xB2\x02\x09\x94\x37\xA2\x5D\xB1\xD8\xA4\x9B\x7E\x77\xBD\x97\x50\x51\x6A\x14\x97\xE1\x6B\x52\xA0\x04\x17\xB1\x74\x2A\xC4\xBA\x0B\x2E\x01\x0E\x0D\xC4\x8F\xB1\xFA\x09\x14\xB3\xC5\xBC\xB2\xC4\x8A\x90\x66\xC5\x90\x8F\x28\xB2\x16\xB5\xC5\xA5\xB0\xD0\x8E\x92\x80\x99\x2E\xB0\xB1\x79\xA0\x99\xD1\x95\x89\x36\xB1\x66\xA5\xA5\x4E\xB4\xE6\x7F\x3F\xB3\x9C\x4D\xB2\x5A\x5E\xA5\x85\x8A\xAD\xB1\x73\xB3\x1B\xB8\xA6\x41\xB1\x72\xB0\x98\x84\xC4\x85\x9A\xC5\x27\xC8\x19\xBC\x8C\xAE\xC2\xAD\x0D\x05\x2B\x49\x04\xCF\xB5\xDE\x68\xC0\xAE\xAF\x3E\xB7\x02\xB9\x47\x72\xAF\x53\xAE\x04\xB5\xB8\x89\x88\xF9\xAE\xEF\xA8\x74\xAD\x85\x5E\x72\xC6\x82\x03\x16\x41\x09\x04\x79\xB5\x4B\x8F\x8E\x6E\x90\x1D\x37\x50\x76\x86\x19\x7A\xDE\x8C\x89\x2A\x92\x6A\x28\x2B\x9D\x13\x21\xB7\x65\x93\x85\xA7\x12\x39\x41\x20\x8D\xF5\x8A\x39\xAA\xB7\x5D\x4F\xC9\x8D\x6D\x61\xA3\x84\x31\x1A\x10\x46\xB7\x91\xF3\xB7\xD2\x9A\x31\xB4\x00\x44\x41\x42\x09\xE0\xA7\xB7\x82\x8C\x7F\xB4\x34\x86\x8D\x67\x2E\x31\x2D\x13\x19\x92\x65\x00\x7D\xBF\x4A\xB5\x00\x80\x41\x42\x09\xE1\x8C\xB8\xFB\xB4\x49\x8F\xD3\x9D\x50\xF7\x70\x31\x26\x29\x22\x8E\x13\xB8\x81\xB5\xE1\x86\xB8\x65\x92\x0D\x09\x22\x49\x04\x2B\xB8\x87\xB2\x3C\x81\x2A\x09\x86\xF5\x5D\x3A\x9C\x1E\xC7\x8C\x23\x9D", +"\xA7\x2C\x59\x8F\x92\xF4\x82\x49\xA4\x86\xD2\x8D\xFB\x8C\xC9\x66\xB8\x16\xB8\x35\x59\x03\x1C\x42\x09\x04\x91\xBE\xE2\x90\x8E\xA1\x81\x73\x97\xCF\x95\x8E\xCB\x07\x80\xBF\xDD\x98\x8C\xCE\x25\x5B\x83\x35\x77\x00\x69\x93\x40\x09\x46\xA4\x8E\x6B\x90\x84\x9D\xE1\x97\x08\x31\xBB\x82\xAD\xB7\x09\x8E\xE0\x0E\x93\xB1\xDF\x95\x58\x50\xB9\x42\x0F\x52\x12\xB9\x31\x00\x1F\x97\x12\x12\xAE\x59\x8C\xFF\x4E\x20\x28\x8E\x6C\x29\x97\xB8\x48\xA6\x59\x8A\x93\x82\xAD\x48\x8C\x8F\xB7\x8F\xA2\x2F\x3C\x93\x92\xBC\x8C\x48\x07\x49\xBF\xB8\x4F\xB9\x2B\x91\xE5\xA2\xB7\x30\x00\x32\xA1\x10\x34\x92\x58\xB9\x20\x99\x68\xAD\x85\x93\xB6\x08\x04\xE1\x8D\x68\x1A\x8D\x08\xA5\xBC\x89\xBA\x62\x59\x73\x86\xE2\xAE\x92\xD4\x52\x0C\x06\x03\x18\x03\x27\x04\xA7\xB9\xDF\x81\x92\x9C\x78\xD7\x8E\xCF\xA5\x60\xFC\xB2\x15\x94\x45\x85\x97\x58\x8A\x1A\xB6\x36\x98\xB4\x68\x8C\x03\x1A\x43\xA2\xB6\x0D\x7D\x3A\xBD\xB0\x6B\xB3\xFD\xB3\xA9\xBE\xCE\xB8\xB0\x6B\xA4\xD7\x4C\x45\xAB\x06\xC8\xB7\x75\x22\xE6\x92\x30\xF2\xB5\x19\x08\xE9\x81\x4E\x35\x01\x01\x0A\xEF\x06\xBB\x9F\xBB\x6C\x6D\xFF\x30\xB9\x86\x92\x8C\xBA\x75\x4A\x92\x07\x54\xF2\x87\xE7\xB9\xB8\x79\xBB\x8E\xBB\x67\x54\x92\x96\x90\x7A\x7C\x42\xBC\x8F\x64\x8F\xF0\x87\x48\x85\x8F\x34\xBA\x8F\x70\x56\xB2\x8E\x37\xBA\xF1\x54\xED\x91\x92\x7B\xB8\x8F\xB9\xE7\xBE\xB8\xAF\xB8\xE2\x41\x38\x9B\xB9\x43\x8F\xA6\x51\xED\xB0\x82\xE7\x0C\x98\xB1\x59\xAA\x9C\x2E\x9C\xCB\x97\x71\xAB\x9C\x23\x18\x3E\x54\x50\x81\x04\x06\x95\xC4\x9E\x06\x15\x6F\x27\xB7\xAF\xA0\x44\xA0\x61\xDB\x6E\xDF\x09\x08\xA5\x9C\x08\x60\xAA\x22\xB8\xAC\x18\x5E\xA7\x77\xB7\xED\x79\x00\x92\xA0\x00\x04\x89\x96\xA2\x0D\x7E\x08\x02\x95\xB3\x77\x3E\x9D\xAE\xB7\xB6\x93\xB3\x9D\xA1\x35\xB3\x92\x60\xA2\xAC\xA2\x94\x53\x8A\xBC\x65\xA6\xA1\xC9\xB8\xEF\x6A\xA2\x23\x7D\x5E\xA5\xF2\x7E\xA5\x4C\x84\xCA\x7C\xF2\x4A\x70\x5F\x19\x44\xA4\xB5\x21\x10\xC3\xA1\x85\x55\xF3\xB8\x1A\xA8\x18\x52\xB4\x4D\x74\x00\x88\x03\x49\x01\xF4\x82\x7F\x10\xA4\xCF\xB1\xB4\x69\x6F\x16\x93\xFF\x46\xD1\x80\x7B\xCB\x1E\xDC\x8D\x35\x7C\x00\xA8\x8F\xE6\x89\x4B\xBE\x00\x1D\x52\x60\x75\xF4\xB4\x19\x37\xBE\xA2\x10\xBD\x1B\xA4\x57\xBD\xAE\x1E\xF3\xB9\xBC\xAC\x45\xD7\xBD\xF3\xB6\x19\x21\x12\x88\x53\xF4\x86\x04\x67\xBD\xD2\x42\xF6\x87\xBD\x2C\x71\xD2\xB6\xCE\x9A\xA2\x4C\xBC\xBF\x11\xB2\x50\xBD\x0D\xB9\xFE\x12\x35\xA2\x00\x54\xBC\x86\x76\x37\x6B\xBD\x59\xBE\x51\xAD\x64\x25\x68\xF1\x2D\x34\x51\xBF\x3B\x55\x95\x03\x49\x05\xF8\xB0\x4F\xF1\x2E\x09\x50\x1F\x6F\xBD\x6A\xA6\x4F\xA7\x50\x41\x53\xC7\x61\xF7\x2B\x28\x22\x53\x6C\x63\x31\x6C\xBE\x13\xBE\x05\xA3\xAF\x7C\x7B\xAD\x25\xFB\x2F\x0A\x1E\xBF\x25\x51\x62\xA3\xFC\x87\xBF\x11\x37\x0A\x70\x7C\x12\x00\xA4\x17\x60\xBE\xE9\xB2\xFF\x75\x17\x53\x4C\x72\xA3\x10\x0A\xA7\x3C\x3E\xFD\x73\x84\x24\x17\x40\x8E\xD0\xAB\x3C\x80\x97\x8A\x7E\x70\x95\x9B\x92\xA7\xA8\xBB\xCA\x6A\xFA\xBC\x7F\xF4\x16\x58\x0D\xA0\x72\x15\xC8\x15\x5D\x1E\x9F\x44\xBF\xD5\x14\x66\x1B\x57\x6B\x49\x09\x04\xF3\xBC\xC9\x85\xA2\x98\x16\xE2\xB4\x57\x0C\xBE\xFF\x56\xC7\xB6\x98\x31\x7B\xD4\xB3\x5B\xA1\x63\x72\x50\xF5\x4D\x10\x00\x05\x2A\x08\x8F\x17\xF9\x42\xB2\x21\x30\xF7\x63\xDE\x40\x1E\x24\xBF\x79\x01\xE0\x4A\x00\x3A\x3B\xEB\xBE\xF0\x77\xFE\xB0\x2E\xF3\x4C\x34\xB4\x36\x8D\xBD\xFD\x18\xAD\xB6\xEA\x86\x81\xF4\xBC\x03\x1D\x99\x80\xB5\x73\xA2\x50\xB0\xD1\x44\x98\xA7\x9B\xC3\x61\x70\x23\x1C\x38\x53\xF8\xB0\xFF\x9C\x4D\xF2\xBC\xA2\x59\xFF\xBD\x04\x98\x4D\xA9\xB8\x3A\x8B\xC0\x43\x7F\x24\x5C\xFF\x8B\x0D\x3A\x6F\xFF\xB4\xD4\x85\x98\xD0\x83\x00\xC0\xBD\x3A\x79\xB5\x32\xF6\x1E\x9F\x40\x33\xDA\x1F\x5E\x5D\x23\x46\x04\x23\xC3\x05\x5C\xCB\x1A\x1F\x85\xB2\xDA\x4D\xCA\x93\xB4\xC2\x37\x22\xB0\x80\x96\xBF\xB4\x8C\x42\x50\x02\xEE\x21\x14\xBB\xB0\xB5\xF0\x4E\x91\x03\x06\x13\x94\xE9\xB0\xBA\xD0\xA4\xB0\x73\xC3\xA3\xBA\xBC\x78\x40\xBE\xF1\xBB\xBA\x7B\x5C\xAB\xBF\x45\xBD\x04\xF8\xBB\xC7\x93\x62\x2D\x9C\x4A\xC0\x8B\x1D\xD9\xB1\x9C\x02\x07\xCC\x9A\x70\xAB\x70\x37\x9C\x93\x45\x74\x81\x0F\xED\x6F\xFF\x9C\xCB\x8D\xBA\x66\x50\x00\x82\x74\xB9\x70\x57\xC3\x06\x3A\x8B\x96\x0B\x4C\xC0\x0D\xAF\xF2\x54\x7A\x8A\x9F\x40\x0C\x78\x80\xA3\xC7\x77\x27\x60\x79\xAE\x6F\x6D\x8D\x57\x8D\x3F\x94\x9E\x12\x74\xE8\x98\xA4\x9D\x7D\x2F\xAE\x66\x9E\x91\x5C\x9E\x23\x76\xE7\x95\x79\x98", +"\x5B\xD7\xBA\xD8\x7D\x07\xFA\x95\x6E\x83\x4C\x84\x7D\x71\x81\x5E\x8A\x83\x7A\x7A\xA4\x51\x16\x07\x18\xC4\x77\x25\xC1\xBB\xA2\xD4\x4E\x0F\xB5\x9E\x01\x07\xED\x9F\x7A\xA0\x78\x98\xA0\xEF\x9A\xF7\x5F\x61\x14\x7F\xCD\x41\x7C\x9D\x79\x6D\x38\xF1\x97\xD7\x64\x56\xD1\xA6\x1B\x63\xC3\x81\x97\xE7\x7C\xE3\x7F\xB0\x4E\x7E\x56\x77\xCF\x14\xDB\x46\x76\x80\xA7\x4C\xB2\x7F\xB5\x00\xF4\x9C\x00\x06\x7F\xA6\x54\xDB\x9F\x98\x6A\x7F\xA2\x76\x2B\x77\x7B\x7A\x5F\x51\x9E\x00\xA0\x22\xCF\x4A\x43\xA0\x2B\x75\xE6\xBD\xDA\x6C\x7B\xEA\x9C\x01\xAC\x7E\x98\x75\xE4\x0D\x10\x77\x09\xD7\x08\x90\xC1\x8A\x7A\xF9\x42\x04\x9C\x7C\xEE\x96\x11\x26\x50\x36\xA3\x6B\xAB\x99\xBA\xA0\x67\x4D\x0F\xA3\x77\x98\xA1\xA7\xA3\x16\xAB\xD8\x9D\xA1\x69\xB1\xEC\x76\x84\x8B\x7D\x9E\x8F\x18\xAE\xF4\x4F\x28\x06\x83\x07\xAA\xE7\x68\x7E\x7B\xA3\x49\x0E\x87\xA7\x7E\x56\xA2\x9F\x12\x75\x83\x56\x9E\xA3\x8C\x58\xE8\x41\x9D\x8A\x7A\x12\xA5\x0F\xD4\x05\x41\x4C\x22\xA9\x58\x19\x4F\x02\xC6\x9D\x04\xC2\x79\x02\x27\x04\x42\xC0\x3F\x45\xC4\x24\x09\x0A\xC3\xF2\x12\xB4\xD9\x5E\x22\xBB\xCE\x6B\x64\xD4\x2D\x1C\xBA\x4A\x55\xC4\x6A\x68\xF7\xB2\x87\x94\xC0\x0D\xA4\x37\x37\x88\x81\xB5\x23\x1E\x43\xCB\x02\xD1\xC4\x14\xB7\x31\x55\x3F\x51\xA3\x08\xA4\xBC\x7E\x33\x56\x10\x50\x4E\x05\x13\x35\x4E\x02\x27\x04\x4C\xC0\x3F\x56\x10\x22\xC4\x44\xC4\x37\x52\xC4\xEC\x98\x4A\xCD\x11\xC3\x28\x23\x50\x4D\xC0\xD1\xAA\xC0\x36\xC5\x5D\x2C\x80\x26\xC4\x1B\xC6\x4F\x09\x12\xC7\xA3\x27\x05\x1C\xAC\x10\xCA\x05\xB7\x57\x49\x0C\xFA\x25\x68\x4B\xC4\x48\x0A\x87\xA1\xA0\x84\x3D\x42\x05\x15\xC0\x00\xE1\x4D\x54\xCF\x93\x64\xA3\x6E\xA1\x52\xC4\x4F\x76\xA3\x3B\xC6\x71\x5E\x14\xDF\xC5\xE8\xA1\x58\xC8\x06\x03\xAF\x83\x3F\x49\x07\x15\xCE\x76\x60\xC4\x45\xA9\x90\xA5\x4F\x11\xBF\x98\xB4\x59\x75\x00\x15\xBF\xC5\xBE\xED\x57\xB5\x99\xC1\x1C\xCA\x45\x92\x95\x6D\xA5\x56\xA0\x97\xA9\x74\x72\xA4\xBF\x77\xF2\x91\x81\xC5\x7B\x14\x80\xF2\x41\x57\x2D\xBF\x29\xA6\xF2\x71\xBC\xB1\xC1\x3F\x94\xD3\x9A\x94\x36\xB5\xBB\x64\x03\x36\x00\x87\xA7\x40\x09\x98\x83\xA8\x85\xAB\x78\xAD\x9A\x95\x60\xB4\x84\xF5\xB0\xD8\xA0\xB5\x64\x62\x6C\xA3\x4F\xB6\xB6\xF5\x9B\xAF\x9E\x5E\x9B\x9B\xB9\xA5\xC1\xAC\x82\x62\xA6\xBD\xA4\x89\x9D\x87\x67\xA6\x0B\xAD\x83\x93\x9F\x8F\x98\xAE\xA4\x8F\x89\x0F\xD8\x5B\x97\xA7\xB8\x94\xFF\x58\xA6\xE3\x5F\x7B\x9E\x61\xB1\x82\x0E\xAB\x6E\xAC\x1A\xC6\x5F\x30\x63\x7D\x99\x0B\xB0\xC6\x4B\xB5\x53\xBB\x57\x79\x00\x58\x86\x41\x0D\x1C\xE2\xAD\x58\x96\xB9\xA8\xA8\xB3\xAA\x14\xAF\xA2\xA2\xA9\xBF\xAB\xED\xA9\xD5\xA0\xB4\x91\xB3\xF4\xAB\xBE\xA7\xB4\x91\xAD\xA9\x95\xD1\xA5\x1D\xD9\x5E\x4E\xAC\x59\x8D\x58\x9E\xAC\xE0\xC6\xCA\xA9\xAC\xAC\xAC\x33\x5E\xCB\xA5\x95\x67\xAE\x8B\xAF\xD2\x9A\xB8\x81\x4E\x7F\x57\x40\x0D\xBA\xB6\x54\x98\xAE\x40\x50\xBB\x99\x95\x06\x1B\x41\x5D\xB9\x9F\x88\xB6\x4F\xA7\x52\x1F\xB8\xAE\x70\x72\xA7\xA0\x1E\xBC\xAE\xDE\xB6\x5C\xCA\xB8\xA9\x6B\x8E\xAE\xA4\xBB\x82\x06\xAF\x8D\xAC\xF2\xAF\xBB\xB0\x01\x32\x00\xE3\xA2\x03\x3B\x55\x0C\x02\xBE\x39\x21\xF3\x6B\x32\x00\xB9\x52\x03\x1B\xAE\xF2\x5F\x0B\x0B\x51\x7B\xC7\xB6\xAC\x83\xA2\xC0\xAA\xC6\xA3\xAE\xB0\x54\x04\x20\x58\xFA\x96\x40\x6D\x21\xED\x5F\x1F\xC9\xEC\xA6\xA0\xA5\x00\x23\xCB\x9A\x62\x20\xC0\xB0\x04\xCA\x25\x72\xBA\x87\xC8\x7B\x5A\xE2\x0D\x22\xF6\x54\x2F\xC8\xBB\x9A\xB8\x81\x5E\x41\xC8\x90\xC0\x22\xD4\x9D\xFA\xC6\x8D\xCB\x9E\x26\x9C\x0D\xAB\xE0\xAB\xBD\xA2\x00\x4D\x02\x6A\x06\xBA\x93\xC8\x15\xCA\x7C\xC9\x11\x17\xC8\x33\x02\x3E\x07\x12\x1A\xC9\x1C\xCA\x87\xC7\x24\xE2\x00\x34\xC9\x92\xCE\x69\x4B\xC9\xA0\xAE\xF9\xA8\xD7\x84\xB0\x3D\xC9\xD7\x0F\xBD\x94\xC8\x5E\xCA\x8C\xC1\x22\xF5\xC8\x63\xC8\xA8\x55\x26\xC5\xC8\x67\xCA\x85\x8A\x22\xEC\xC8\x3E\x8E\x5B\x05\x24\xFA\xC9\x5F\xCA\x87\x89\x11\x24\xC8\x37\xC8\x93\xC7\x22\xE0\x04\x1B\x91\x8A\xCD\x23\xD2\xC9\xB9\x4D\x66\xBA\x2F\x1B\xB6\x24\x08\x3E\x5F\xD9\xB4\x6A\x8C\xA0\xAC\xB3\xA3\x54\xB1\x3D\x8B\x69\xBB\xA3\x69\xB6\x9A\x9F\x16\xB6\x29\xEC\xB0\xAE\x7B\x17\xB1\xDB\x83\xB2\x91\x89\x6D\xB2\x25\xB7\xB6\x08\xB4\xA9\x9E\xD2\xBE\x7A\xE4\x52\xD9\xAB\xC6\xB6\xA5\x42\xB2\x1B\xB9\xEC\x70\xB1\x6A\x69\x71\xB1\x37\x74\xB1\x45\xB1\xB4\x73\xD0\x83\x9E\x0E\xB7\x41\xB3\xDB\x80\x4E\x33\x03\x42\xB4\x10\x0D\xB4\xA5\xCB\x43\xB6\xFA\x63\xC4\x37\xC5\x49\xCA\x3B\x56\xB4\x66", +"\xAE\x50\x9E\xD0\xA7\x4F\xAD\xB1\x25\xBD\x82\x01\x4E\x9B\xB3\x40\x0B\xC9\xBA\x4C\xAD\xB3\x27\xBE\x5C\xA3\xB2\x41\x15\x2E\x15\x0E\xE7\xB2\x5F\xB6\x1B\x6A\xCA\xA9\x7B\xAC\xB1\x0B\x2A\xCD\xA4\x14\xDC\xB0\x49\x12\x62\x77\xAD\xAD\x20\x7C\xA4\xCF\xB4\xA5\x24\x16\x67\xC2\xEA\xB6\xBA\x2B\xB5\x08\x66\xB6\xA7\xCA\x55\xBF\x88\x79\x8D\x23\x1C\xE3\xC8\x63\x05\x2E\xC0\x4E\x35\x00\xBA\xCF\x72\x2A\xCB\xB9\x9E\xBC\x7D\x2E\xCB\xB9\xEF\xCA\x11\x8F\x03\xF0\xCB\xBA\xB4\x1A\xBA\xF7\x82\xB4\x78\xB0\xAE\xC1\x2C\xFD\xA2\x02\x07\x2F\xAE\xD0\xA8\xC5\x39\xBC\x1B\xA1\x2C\xEF\xA4\x6C\x88\x06\xB2\xBD\x0C\xA2\xEE\x6B\x90\x39\x0D\x90\x18\x99\x7B\x07\xBA\x35\xA1\xB0\x77\x88\x69\xB6\xA3\x66\xB6\xAC\xB7\xA5\xC9\xC5\x99\xCA\xAB\xB6\x92\x67\xC5\xAE\xB6\x86\x89\x93\x82\xDB\xA2\xB1\x32\xB3\xAC\xBE\xD6\xB3\xCC\xB9\x79\xCD\xC7\xEB\xA8\xCA\xAA\xB9\x16\x3C\xC3\x9E\xC1\x3E\xB3\xAB\xC3\xDC\x96\xC4\x6C\x68\xAD\xCD\xEB\xB2\xB3\x21\xCC\x14\xB3\x32\xD2\xB1\x25\xCC\xC7\xB5\xA3\x5A\xCA\x29\xCC\x90\x83\x7A\xAC\xCC\x95\xC9\xD4\xCD\xC5\x9D\xCA\x87\x89\xBA\x81\xC6\xB9\xCC\xA1\xCA\x96\x6E\x00\xF8\xCC\x7C\x26\xCE\xC9\x0A\xC2\xC1\x3D\xCD\x4D\x4F\x33\xC0\xB7\xC6\xB6\xD0\xC3\x26\xB2\xCA\x7B\x5E\xD1\xC6\x04\xFB\x26\x18\x1C\xEE\x70\xFC\xBA\x7E\xFF\x1C\x3E\x5E\x0B\x2B\x38\x77\xCE\xF0\x72\x92\x9C\x4D\x43\x5E\xF4\x75\xFD\x7F\x1F\xB5\x80\x80\xBB\xFD\x5A\x9E\xD2\x7F\x49\x9F\x37\xC0\xBF\xD8\x7E\xF6\x77\x35\x92\x66\x5C\x8C\x6E\xB2\x29\x9F\xCD\xA0\xC9\xF9\x72\x29\x8F\x83\xF2\xBF\xEF\xB3\xFB\xB5\x17\xFA\x7D\x7C\x10\xFC\xB3\x7F\x37\xCD\xEC\xBB\xFF\x57\xCE\xF9\x7C\xB4\x62\xFB\xAF\x1E\x9C\xCD\x1C\x60\x34\xF1\x7D\x99\x4C\xF0\xB8\x34\xE9\x4C\xC0\xBD\xF1\x78\x6C\x56\x6F\x87\xCF\x10\x21\x38\xC2\x32\xCF\x7F\xE2\xCB\x58\x85\xCE\xD4\x7D\xDE\x56\xFD\x62\x1E\x89\xCD\x18\x04\x43\x03\xCE\x8C\xCC\x3A\xBE\x38\xE2\xCA\x73\x02\xFD\xBE\x43\x43\xCF\xF4\xCA\x38\x5B\xFE\x5F\xCE\xA4\xCC\xE6\xC2\x3A\xCC\xCF\xBB\x1C\xE7\xC7\xEB\x56\xCE\xCD\xCD\xE8\xC5\x8F\x63\xCE\xD1\xCE\xFF\x76\x3A\xE8\xCD\x71\x4C\x4D\x6A\x3A\xC2\x1C\x59\xAF\xB6\xAE\xD1\xB5\xA8\x7F\xAB\x48\xBA\xA1\x9F\x9A\xFD\x94\x5F\xCC\x73\xA5\xC2\x2D\xB5\xF2\x95\x1A\xE6\xC2\xBD\xBD\xA4\x60\xD3\x86\x67\x79\xA9\xCB\x4C\x9F\xA0\x23\x8F\xC6\xAE\x84\x03\x35\x00\xDA\x03\x49\x0D\x3F\xD4\xB5\xE9\xCC\x65\x9F\x5F\x7B\xA0\xA6\x7E\x56\xC3\x60\x97\xC0\x01\xC3\xCF\x61\xB4\x6F\x6C\xCB\xA5\x4F\xB6\xF0\x9F\xB8\xE5\x4F\x10\x60\x12\xD0\x2F\x07\xD0\xF4\x25\xD4\xB8\x70\x47\xB4\xD9\xBB\xC1\x08\x79\x9C\x88\xE0\x1C\xE4\x5D\xD0\x3E\x07\xD4\x42\xE5\x43\x04\x52\x79\xD6\x40\xC4\xBE\x04\xC5\x7E\xD7\x49\xE5\x7D\x7D\x47\x4B\x51\x73\x7C\xB5\x75\xE4\x78\xCE\x5D\xC3\xA8\xCE\x13\xA2\xB5\x05\x03\xC3\xBA\x9C\x90\x86\xB7\x12\x1B\xB8\x3B\xC0\x7A\xB2\x7C\x77\x8D\x04\xD1\x3A\xC3\xCC\x60\x8E\x23\xBB\xE6\x27\x43\xE6\xB9\x64\x93\x2B\x9E\x82\xAD\xB8\x03\x05\x8B\xBD\x43\xC0\x7B\xDE\xB8\xEC\x43\xE7\xB5\x4E\x75\xBB\xB8\xB9\x3C\xA5\xBB\x8E\x91\xDE\x50\x49\x8E\x8F\x57\xB3\x15\x0D\xE3\x86\x66\x47\xD0\x4C\x19\x44\xC0\x68\x43\xBB\x49\x06\xE4\x8F\xD1\x64\x8D\xE4\x83\x4A\x8B\xB9\xD0\x95\x93\xB5\xE2\x81\xBA\x9A\x90\x0E\xDF\x4A\xB2\x00\x32\x00\xE4\xAD\xAB\x2A\x9D\xA5\x8F\xB2\xB0\x45\xCD\xBB\x89\x8B\x8C\xBF\x3A\xB6\xB9\x58\xD0\x9E\xB8\xEE\x97\xB1\xD8\xBA\x9F\xBA\xED\xA1\xD1\x3D\x17\x18\xD3\x35\x72\x00\x49\x01\x1D\x2D\x48\xC9\xBB\xFC\x6C\xFB\x36\xAC\xA0\x00\xF4\x8D\xD4\x88\xE3\xB5\x90\x10\x92\x08\x0C\x33\x99\x9E\xDD\x8D\xED\xBF\x43\xEB\x74\x0F\xBB\x12\x61\xE1\xA4\xB8\xF4\xA0\xE6\x8D\x42\xA1\x3F\x53\x7E\xE8\xB0\x40\xBF\x90\x41\x92\x03\x5B\x67\x56\x8D\x3F\xCB\xD2\x80\x67\x8B\x63\x51\x32\xDC\x8D\xEE\xB5\x89\x24\xCD\xC1\xC6\x66\x47\xCC\x06\xCD\xFC\xC3\x36\x88\x5A\x44\xC1\xAF\xB9\x36\xA6\xD2\xDC\xBA\xDD\x80\x4A\xEC\xB7\x09\x56\xEF\xC1\xE0\xB2\x01\xC3\xD0\x1A\xD6\x4C\xE5\x8C\xFE\xB6\x5F\x90\xE0\xBB\x8D\x02\xB8\xE3\x84\x4C\xF3\x66\xEF\xBB\x33\xD1\xEF\x9D\x50\xC8\x8F\x97\xB4\x47\x8A\x8E\xCD\xD1\x9B\xB9\x46\xF3\xA7\xFE\x98\x97\x96\x37\x5A\x1B\xA3\x8E\x38\xDA\x4D\xC4\x8E\x9D\x8D\x88\xB4\x44\xC8\x8D\xD6\xD3\x13\xD2\x48\x8F\x88\xDD\xB9\xB3\xB9\xCF\x8F\xBB\xE1\xB8\x20\xD2\xA7\x26\xBB\x5A\xD2\x8E\xB9\xEE\x81\xC2\x95\x92\x21\xD1\x4B\xFA\xB7\x2F\xB9\x2F\x64\x3C\xA4\x8D\x55\xD2\xB4\xB1\x48\xE7\xBB\x5C\xD0\xF4\x8E\x45\xEB\xBB\x86\x65\x27", +"\xD8\x38\x4B\xBA\xB9\x93\x17\x52\x51\xCA\xB9\xFF\x9A\xF6\x89\x4A\xA9\xD3\xA5\x8F\xF7\x81\x3E\xAA\xD2\x0C\x92\x25\xDC\x4F\xF9\x8C\x99\xD3\xFA\x80\x3E\xBE\xB8\x17\xD6\x08\x00\x3F\xBA\x8F\x23\x93\x2A\xD2\x52\xD9\xD1\x24\xD6\x10\x92\x02\x39\x8F\x06\x91\x4A\xD7\x43\x3E\x90\x2F\xD5\x2B\xD0\x97\x75\xD4\xB7\xD2\xC6\xB3\x41\xAD\xD4\x21\xD5\xF9\x8A\x53\xFB\x59\x12\x92\x02\x99\x64\xA5\x8E\x6E\xBC\x50\xD9\x41\x90\x24\x43\xD5\x54\x68\x60\x91\xD4\x3D\xD5\x08\x92\x3F\x98\x4E\x95\xD2\x50\xD7\x42\xAE\xD2\x5D\x4E\x0A\x9C\x53\xD7\xD3\x80\x8F\x0B\x99\x2A\x38\xD4\x56\xD4\x26\xD2\x53\xF7\x90\x5F\xD7\x51\xDD\x42\xBC\x90\x0B\x88\x48\xDB\x54\xE6\x53\x57\xD4\x77\xB4\x47\x3A\xAF\x40\x00\x22\xD8\x65\x0A\xD2\x98\x7C\x0E\xC0\x88\x38\xD1\x2D\x91\xA8\xB8\xCE\x80\xC1\xA3\xCA\xF7\x53\x2F\xFE\xD2\x7B\xC5\x6F\xBB\xEA\x8F\xB2\xD1\x24\x7C\xB0\xEC\xA4\xB9\x82\xB8\x12\xD1\xEC\x81\x4E\x4B\x93\x49\x0A\x03\xED\xB9\x2A\xD7\xD6\x8B\x57\xC8\xCC\xB4\xA7\xFD\xBB\x4B\xFE\xD2\xE5\xC2\x0E\xBC\xF3\x82\xD3\x0C\x11\x12\xC5\x73\xB9\x0A\xC5\x87\x14\xCE\x04\xD4\x7A\xFF\xBA\xBC\x2A\x76\x82\xBC\x04\xBF\xFB\xA8\x4C\x89\xBC\x3D\x92\x5F\xC3\xF2\x92\x4F\x57\x73\xC3\xB3\x63\x0E\xA2\xC2\x28\x65\x5B\x11\xB5\xC5\x63\xA5\x25\xA7\x17\xD7\xA2\x0E\x7E\x33\xB6\x32\xF0\xC0\x9C\xA2\x34\xBE\x5A\xE7\x9E\x80\xC5\x13\x82\x18\xF4\xA5\x48\x98\xAB\xC9\x18\xEA\xBC\x7B\xA7\x72\xDD\x97\xB2\x51\x8C\xC7\x23\xC4\xF3\xBC\xBD\x4F\xD4\xD8\xBB\xF3\x98\xBD\x4F\xD6\xBB\x67\xF6\x83\x04\x69\xBD\xD8\xB7\x6B\x18\xD7\x3E\xBC\xD2\xB9\xF5\xAE\xCB\x1E\xBC\x04\xCF\xF4\xA8\x72\x41\x8C\x1D\x33\xF5\xB5\xCB\xD0\x80\x75\xDE\xF3\x87\x1F\xD3\xD7\x77\xDE\xF5\x9A\xD0\xD6\xD6\x7B\xDA\x41\xFD\x7E\xDB\xD6\x40\x0D\x5D\xD7\xD7\xF3\xD5\xA2\x12\x5E\xCF\xD5\xE4\xD7\x03\xC2\xF7\x80\x61\x74\xBC\xBC\xB6\x11\x2B\xD7\x47\x57\x71\x92\x5F\xE3\xBD\xAA\x19\x11\x2F\xE8\x41\xBE\x06\x83\xE0\xB5\x03\x07\xBE\x06\x04\x85\xDA\x33\x49\xBE\x88\x4F\xE2\xB4\x30\xC0\xD7\x03\xD1\x28\xB5\x3B\x52\xBE\x11\x97\x14\x55\xF9\xB1\x6E\x97\xBD\x44\x99\xF9\x97\x8F\xF1\x66\xFE\x2B\x85\x3D\x2F\x2B\x15\x3A\x57\xCF\x71\x2F\xF0\xD6\x0A\xA5\x61\x54\xCF\xD9\xCE\x58\x09\xFA\x98\xCF\xF3\x14\x79\x11\x38\x6E\xBE\x02\x04\xEC\xB4\x63\xF9\xD8\xF5\x16\x27\xDC\x96\xAB\xCF\x2A\xB5\xBF\x6A\x61\x8D\x83\x63\xCF\xB6\x9F\x63\xE2\x1E\xE4\x17\xF0\xB0\xFD\x86\x16\xC7\xBF\x93\xD0\x14\x2E\x6B\xCE\xBF\x40\x0E\xFC\x94\xCB\x52\xD9\x1E\x02\xFD\xBC\x04\x01\xD9\x34\xB3\x45\x6B\x53\x4B\xAB\x36\xC7\xE1\x5D\xBF\xDF\xBC\x68\x17\x06\x0D\x53\xDE\xBC\xF8\xB1\x5A\x11\x53\x69\xDA\x99\xD3\x35\x60\x00\x2B\x38\x9C\xD0\x3F\x6D\xD9\x14\x0D\x68\x15\xAF\x74\x7E\x1F\x50\xF2\xB0\x63\xC2\x98\x87\xCF\x63\x11\x5E\x2A\xBB\x8A\x2A\x8F\xBF\xD0\x50\x1C\x8F\x15\xE1\x22\x6C\x5E\xD3\xEC\xB8\x02\x54\x67\xCF\x16\x77\xDA\x9B\xB7\x3A\x89\xA1\x20\x02\x9E\xD3\xFA\xA3\x1C\x83\xDA\x99\xDF\x67\xC0\xD4\xD9\xB9\xB1\x5D\x67\xE1\x16\x86\xDB\x9E\x58\x68\xC6\x66\x38\x53\xA2\xD6\x67\xC6\x4F\x3C\xAC\x87\x84\x5E\xB7\x73\x92\xD9\x72\x15\x84\x5B\xDA\x90\x16\x83\x00\x68\xEC\x13\x9A\xDA\xEE\xC6\x66\xDD\xDA\x27\xB1\x4B\x3F\x69\xED\x62\xA2\xDB\x19\x0D\x68\xF3\xD3\x1D\x50\x1B\x67\xB2\xA7\xDA\x79\xD9\x96\xDB\x6A\xF2\xDA\x75\xD9\xAB\xD1\x71\x20\x74\x7D\xBA\xEF\x8A\xED\x95\xDA\xC5\xD8\xAD\xD8\xA4\xB4\x01\xB7\xD9\xEE\x42\xFE\xAF\xBF\xE5\xBE\xF5\x44\x6D\xE9\xBF\x31\x01\xFB\xB7\x48\x10\xCA\x06\xC3\x3D\x61\xFF\xA5\x7B\x66\xAC\x04\xCB\x1B\xCA\xC0\x03\xD9\x04\xC0\x41\xD2\xD0\xFD\xBC\xA5\xD3\xD4\x96\xD0\x18\xC3\xF9\x5A\x01\xD1\x2C\x05\xC3\xB5\xDF\x6D\xFC\xB6\xF8\xBD\xB9\xDE\xA9\x61\xDB\xF6\xDB\x54\x73\x01\xC6\xC5\xFE\xBC\xCF\x6F\x89\x2D\xDB\x02\x53\xBB\xD9\x58\x13\xDB\xB5\x0C\xFA\xB6\xFE\x85\xDC\xB0\x2F\x5E\x5A\x6D\xE8\x15\xDC\xDA\xBC\xD8\x00\xC1\xD6\xF5\xD8\x55\x0D\x6F\x1D\xCE\xE4\xDA\xC4\xDA\xFF\xBA\xDB\x07\x6E\xDA\x46\x40\xEB\xDB\x16\x2C\xC0\xD6\x37\x42\xDC\x76\x09\xBC\xD8\x70\xDE\xDB\x0F\xDC\xBD\xD6\x66\x62\xDB\x14\xDE\xD6\x58\x72\xEA\x6C\x04\xD0\xBA\xDC\x11\xEA\xDB\x16\xC0\xBB\xD9\x40\xEE\xDB\x22\x1F\x06\xC8\xE2\x5D\xC0\x6E\x23\x07\xC8\x73\xCB\x0D\xEE\x6B\x08\xC3\x10\x25\xC0\xCA\x4F\x09\xCE\x86\x35\xC4\xFF\x28\x0B\xCB\xBC\x2E\xC0\xBF\xD6\x6A\xDD\x55\x73\xC0\x4B\x0C\x10\x0E\x59\xEE\x98\xA0\xD6\x09\x22\x5A\xF3\x18\xB0\x90\x14\xC1\x10\x12\xC1\xA8\xD4\x0B\x76\x05", +"\xCB\x2D\x59\xC2\xBB\xC1\xBF\x73\x57\xFC\xC0\xEA\xC0\x06\xCB\x2D\xDF\x0A\x23\xC9\x82\xA4\x0E\xCE\xC2\xEC\x90\x38\x54\x85\xA2\x02\xBE\x3D\x76\xF3\xA0\x91\xC1\xC0\xC2\xF5\x66\x76\xD8\x8F\x95\xA9\x77\x5F\x9E\x80\xC1\xAD\xD8\x07\xD7\x74\x7B\xC2\x20\xC3\x7A\x99\x7D\x75\xC1\xDE\xD9\xFD\x7E\xDD\x42\x8B\xA4\xAB\xA2\xA6\x9E\x70\x81\x83\x79\x7A\xB3\x7D\xE3\x30\x02\x56\x0D\xC2\xCB\x2A\xD7\x1B\xCA\x05\xCE\xCD\xA4\x56\xDD\xD7\x8A\x78\xDD\xDF\x57\xE5\x9E\xF5\x4E\xAB\x7D\xDE\xE8\x9C\xD1\x77\xDD\x7F\xC1\xE6\xD1\x7A\xA9\x7D\x85\xDC\xC0\x81\xA6\x86\xC2\xC4\xD4\xF7\xC5\x04\xF2\x7D\x53\x26\x4B\x79\x7F\x26\xDD\x33\xBE\x8C\xDC\x06\xEB\xDD\x35\x01\x1A\xC2\x10\x2B\xC1\x8F\xDC\x8C\x62\x79\xDE\xC6\x96\xDD\xD4\x58\x79\xF0\x50\x9A\xDD\x1E\xC4\x5A\x80\x54\x07\x54\x1F\xCF\x77\xE0\xDE\x81\xDE\xE8\xD3\x78\xDE\xDE\xBB\x9B\x4D\x52\xA6\xA9\xDE\x61\xDF\x4A\x7F\xBC\x4C\xDE\xAF\xC2\xF4\x93\xCE\x37\xDC\x4F\x56\x0B\xA5\x0B\xF7\xC2\xD5\x55\x2E\xC5\xEC\x7B\xC2\x34\x7A\x81\x5E\x0B\xFE\x9F\xD4\xBC\x17\xCB\xE3\x65\x9F\x01\x7B\xF9\x9C\xDF\x42\x79\x0A\xA0\x91\x7C\x80\xAD\x9F\x8C\x04\xEC\xD9\x7F\x11\xC3\x01\x75\x0C\x03\x0D\xC1\x04\xD5\xC3\x33\xC1\x30\xD9\xC3\x9F\xC6\x98\xD2\x85\xBD\x7C\xFF\xC1\xEA\x79\x85\x9C\x33\xE2\xC1\xD2\x77\xF4\x60\xDD\x5E\x88\x18\xAC\xEF\x61\xBE\xFE\xC3\x33\x36\x2D\x01\xC4\x13\xD1\xC4\x26\x87\xAD\x4C\x5A\xC4\x5A\xCE\x70\x98\xC5\x7F\xA1\x04\xE9\x58\x35\x79\xE7\x4F\x3C\xAE\x33\x73\xA3\x7B\x56\x33\x07\x12\x22\xE0\xF0\x4F\x3C\xA2\x88\x50\x17\x27\x4A\xD2\xB0\x80\x81\x53\x54\xA3\x01\x80\x73\xFE\xDB\x57\x06\xC7\xD3\x8F\xAB\xCE\x26\xE2\x0E\x68\x82\xC5\x2C\x2A\xE2\xC9\xCD\x72\xEA\x4D\x15\xC0\x0C\xEB\x22\x32\xE0\x37\xE0\xC4\x29\x58\x1E\x71\xD9\x29\x19\x0D\x4C\x45\xE1\x7B\x56\x2D\x07\x12\x0A\xE1\x0B\xC7\xB1\x2E\x3A\xDD\x4D\x32\x4B\xD7\x0F\xAD\x51\xE1\xA4\xD2\xB0\x55\x84\xC3\x6B\xE5\x09\xCE\x03\x85\xC7\x2B\xD8\x7C\x39\x1A\x85\xD8\x5D\xA7\x77\xE3\x49\x3C\x6E\x2B\xD5\x28\x00\x60\x39\x09\x61\x2D\xE1\x0F\xE0\x00\xF0\xD6\xC7\x2B\x4A\xC4\xFA\xB2\xDE\x2E\xC5\x08\xA0\x3E\x7A\x4C\x34\xC4\x5C\xC1\x8B\x95\x7B\x5F\xA4\x0E\x87\x03\x38\xD6\x99\x56\x6E\xDE\x03\xBC\xD6\x1A\xBE\x6F\xD4\x79\xD5\xBF\xE8\xD6\xED\xBD\xCB\x9D\xC1\x22\xBC\xF4\xDE\x25\x81\xC6\xC6\x57\x60\xCC\xC6\x85\xC6\x59\x82\x71\x5D\x5C\xF8\xA5\x8A\xC4\xCC\xBD\x05\xB2\xBC\xF9\x1D\xF8\xCC\xD4\x9B\xAD\x21\x59\x0D\x07\x03\x15\x14\x09\x04\x28\xE2\x14\xA9\x95\x33\xAE\x66\xCE\x42\xAE\xA6\x7D\xAD\x7D\xA3\x88\xFD\xDF\xF4\x60\x2A\x82\x1A\xFC\xC6\xBB\xC6\x6E\xC3\x29\xB2\x91\xF1\x95\x70\xCB\x1A\xD4\x2E\xA3\xA5\x69\xAE\x19\x48\xC7\x1C\xB4\x64\xC8\x3F\xD6\x6C\x35\x02\x0D\x04\x82\xC6\x04\xC3\xE0\x74\xC9\x19\xF3\xC6\x57\x60\x84\x9B\x50\x89\xE2\xDF\x55\x6E\xC3\x6F\xBD\xD5\xB3\xA5\x10\xC8\x1A\xC0\xC7\x4E\xC8\x6F\xA4\x1C\xF6\x97\xB7\x80\x7E\x98\x8A\xC0\xBA\x0A\xCB\x9F\xC9\xBA\xA4\x70\xF5\xC4\x0F\x37\x3E\xF9\xC7\xF8\xC7\x97\xC9\x2D\x41\x8C\xB5\xAD\xA0\xC3\x27\xFA\xC8\xEB\xC6\xA1\xC1\x6B\xBD\xAE\x88\xAF\x77\xBA\x27\xD6\xC8\x53\x4C\x97\xC6\x10\x36\xE3\x2E\xC9\x9B\xCC\x1F\xC8\x84\x5D\x4D\x98\xC5\x8E\xF1\xC9\x03\xC9\x93\xC6\x20\xCF\xC9\x3E\xC9\x9E\xC7\x25\xFA\xE3\x05\xA9\x05\x5D\x35\x62\xC8\x62\xC9\x80\xC4\x26\xF7\xAE\x02\xE7\x8E\xCF\x24\xEB\xC8\x76\x03\x9A\xCB\x27\xD7\xC9\x20\xCB\x7A\xB0\x27\xCE\xE4\x72\xC8\x44\xE3\x28\xD4\xAD\x76\xCB\xA1\xC9\x79\xA7\xAE\x32\x01\xBA\x67\x21\xCE\xC8\xFD\x28\x84\xCD\x21\xD6\xBA\xF2\xE1\x46\x03\x03\x0C\xAE\x33\x03\x5E\x58\x06\x3A\x3B\x33\xE7\xBC\x63\x03\x24\x5B\x33\x03\x97\xC4\xBD\xBC\xC9\x00\xE4\x8E\xC1\x91\xED\xE3\x3C\xC9\xD7\x41\x04\x24\x01\xA6\x79\xE0\x57\x93\xCB\xA2\x7A\xCA\x51\xE8\x93\xDF\xC9\xE2\xAC\x4F\xEC\x91\xC1\xE4\x1F\xE4\xFA\xA9\x20\xA0\x8F\x3F\xCA\x5B\x07\x94\xC2\x54\x39\xE6\x9B\xCD\x35\x66\x00\x1B\x55\x8C\xCF\x94\xFE\xE4\x51\xE4\x9A\xC9\x55\xFB\x48\x1A\x61\x92\x96\x95\xCB\xE5\x5A\xE6\x08\x06\x2D\x42\x54\x5E\xE5\x89\xC9\x23\xF9\x98\x4F\xC9\x2F\x25\x56\xEA\x88\xA7\xAF\x4B\xE6\x25\xF0\x01\x31\xE7\x0C\x06\x05\x3A\x3B\x7B\xE6\x4D\xE8\x96\xFB\xE3\xF2\x5F\x4E\xE8\x91\xFD\xE4\x82\xCA\x99\xC9\xBD\xA2\xE5\x22\x03\x50\xE6\xEA\x50\x5A\x57\xE6\x4D\x59\x95\xC0\xE6\x5D\x4D\x53\xE3\x98\xDF\xE5\x85\xE4\x9D\xC7\x98\xE1\xE4\xCC\x7C\x55\xE6\x90\xF8\xE5\x7F\xE5\x42\xEB\x95\xDD\xE5\x4A\xC9\x47\xE6\x22\xC6\xE6", +"\x03\xB0\x66\xE2\x02\x1E\xE1\x65\xE7\xFE\xAC\x99\xED\x5F\x8F\xE6\x67\xEA\x96\xE0\xE6\x84\xE7\x3A\xE1\xC1\x88\xE6\x72\xE5\x0C\x92\x6D\xCC\x57\xCD\xC9\xD3\x4D\xCA\xA4\x70\xD1\xC9\xCB\x4A\x76\x95\xCB\x88\x4C\x28\xB3\x39\x98\xCB\xA5\xB1\x97\x6A\x8A\xE4\x7B\x30\x73\x14\x7F\x2D\xD0\xD7\x91\xDA\xB8\xC5\x5B\xDB\xB3\x51\xB9\x37\xB6\xB7\x81\xA8\x00\xCF\x35\xC5\xCF\x83\xCC\x13\x9B\x14\xDE\x35\xAC\xB3\x94\xD6\x34\xEF\xCE\xB6\xCB\xEB\x20\x01\x8A\x28\xCC\x1A\x19\xB3\x12\xB7\x03\x0F\xCA\x2E\x6A\xC8\xC8\x4B\xCC\xCD\x93\xCA\xC9\xC0\x35\xEE\xCC\xA8\xB7\xCA\xC2\x57\xAF\xE7\xAB\x78\xA7\xCB\x24\x9E\xCA\x92\x67\xD6\xC1\x36\xDD\xCD\xEE\xCC\x86\x68\x3C\xC0\xD6\x26\xDF\x97\x6B\xC3\x83\x7B\x33\xD2\xAB\xC3\x81\xAD\xCA\xC1\xB7\xB3\x7F\x36\xC9\xB7\xD0\x2D\x46\xA3\x37\xFE\x4D\x1C\xA5\x0D\x01\xFC\x64\xC0\xDC\xDB\xDE\xCD\xD0\x7E\xCD\xC4\xDA\xEC\xCD\x9B\x91\xA3\xB5\xCD\xF4\x76\xBD\x46\xCE\x19\xEB\xEB\x1D\x3B\xFF\xCE\xB6\xCE\xE5\x4D\x38\xC1\xCB\xB9\xB5\x65\xDE\x9F\xE8\xE8\x93\xCD\x16\x95\x39\xF8\xD8\x4C\xDA\xF3\xC7\x3D\xD0\xCF\x40\xDA\x58\x0B\x1B\xCB\xD9\xF8\x7C\x1B\x09\x39\xE7\xBE\xDA\xCD\x17\xCA\x7A\xD0\x83\xFF\x1E\x05\x1E\xA0\xC3\x21\x74\xCC\xF0\xB2\x02\xC0\x7F\x15\xE9\xEB\xCC\x37\xC6\x7F\xB0\xCD\x88\xEA\xFC\x5B\xE8\x82\xCD\x89\xEA\xA5\x9F\xE8\xB9\xCF\x29\x6B\x3B\xD1\x08\x23\xE9\x87\xEC\xFD\x42\xCF\x2C\xE8\xF1\xCD\x39\xFF\xE7\x3B\xCE\x14\xDB\x77\xB0\xE8\x39\xEB\x8E\xEB\xFA\xB6\xE8\x9D\xCC\x8E\xED\xFF\x56\xCF\x4D\xBC\x8F\xE8\xA6\xDB\xCF\xD1\xDF\xB1\x7E\x3D\xC3\x21\xF3\x51\x89\x6E\x81\xCD\x4D\x20\xE1\x0C\x01\xDD\x83\x04\xD1\xB6\xCE\x45\x83\xFC\x5B\x41\xE3\x05\x97\x9C\xF5\x83\x71\x9E\x0B\xE4\x41\xDC\xDC\x5A\x2C\x10\xE7\x3A\x38\xE0\xD9\xB3\x73\xE4\x2E\xD1\xE7\xE6\xC8\x80\xA1\x10\x95\xE7\x90\xDD\x39\xB3\xA8\xD4\x8E\xBA\xD1\x8A\xE4\x1A\xE8\x8E\xC9\xCD\x40\xB7\x2F\xD0\x2F\xCD\x50\x84\xDB\x31\xC3\xBE\x31\x00\x85\xD3\x10\x16\xD8\x55\x48\xFA\x2B\x65\xFD\xAE\x97\xE9\xC7\xBA\x5A\xD0\xBE\xB1\x6C\x88\xDA\xA6\x62\xD8\xCE\x95\x89\xD9\x11\xCA\xCF\xCE\x96\x8A\xDA\xC1\x1F\xBE\x71\x4C\x03\xE4\x49\xD3\xDA\x0D\xEA\xDC\xC4\xA4\xD0\xE8\x75\xCF\x0C\x09\x37\xC6\x04\xC7\xE9\xD6\x4A\xA4\xD7\xE8\x4D\xEA\x95\xE0\x38\xD0\xE9\xB4\xCC\xF0\xC7\x3B\xD4\xE9\xC8\x7F\xB3\xE7\x8D\xD9\x7F\xCA\xD2\xB4\xE6\x7A\xE7\xE8\xBB\xCA\xA9\xCD\x9F\xE0\xCD\x8B\x88\x7F\xE1\xA6\xF8\xEA\xF5\x7C\x8D\xE1\xA3\xEC\xE9\x64\xEB\x9A\xE5\x9F\x29\xE9\xE9\xE9\xF0\xBA\xA3\xCF\xCF\x9A\xCC\xE8\xCB\xAE\xF0\xE9\x89\xC2\xD0\x92\x00\xAB\xCE\x02\x83\x13\xED\xD3\xB1\xCE\x22\xE8\xB4\xEE\xFC\x5A\xEB\x53\xEB\x49\xB0\xA2\xCE\xEB\x88\xCD\x6F\xAA\x38\xCA\xA9\xB1\xB8\x98\xE1\x2F\xD6\x64\x0A\xED\xC2\xC0\x60\x6F\xE8\xE6\xE9\x99\xE0\xAF\xEE\xE9\xEB\xEB\xF4\xCD\xAE\xEF\x7F\x13\xEF\x99\xE3\xAF\xFE\xE8\x71\xE9\x19\x53\xA7\xEF\x1E\x42\xEA\xB0\xEF\x7A\x05\xE9\x43\x23\xD4\x43\xA1\xFF\xDC\x49\xEA\x4B\xAB\xA4\xEF\xCE\x27\xB4\xBF\xEF\xA4\xD7\xEB\x1C\xE8\xC0\xEC\xA4\xDE\x6C\x48\xCA\xCB\xE7\xFD\x46\xEC\xD9\xE9\x89\xE3\x37\x5C\xEB\x34\xCE\xB8\xEB\xB0\xC7\xCF\x5D\xE9\xF2\xC0\xB1\xF1\xEB\xD5\xCF\xBB\xE3\xA3\xC4\xED\x35\xD9\xC5\xEA\xB9\x6A\xE9\xEE\xEA\x99\xEB\x39\xFD\xE8\x40\x9D\xBD\xED\x0F\xE9\xCE\x74\xEB\x65\x3B\x03\x55\x58\x28\xA6\x1C\x0A\x00\x88\x80\x29\xA5\x0C\x00\x01\x83\x04\x10\x80\x1D\xEC\xB5\xF2\x01\x14\x82\x46\x58\x80\xD9\x8A\x53\xED\xD6\xED\xA8\xF2\x3A\x2D\x4E\xC8\x22\x3A\x62\x2C\x53\x4F\x18\x76\x10\x32\xED\x49\x4C\x78\x06\xCA\x60\x07\x1E\xD9\x3D\x8F\x49\x57\xDB\x0F\x75\x20\x22\x6C\x62\x2C\xB1\xD8\xC1\xEA\xA1\xD7\xEB\xE4\x11\x50\xDB\x98\xC8\x50\x22\x2F\x66\x53\x5E\xED\xEA\xE1\x53\xDE\xE3\x72\xD6\x59\x1D\x5E\xDF\xE5\x40\xBE\xBC\x81\xED\xD4\x57\xA5\xE5\x1F\x30\xED\x94\xEC\x65\x5F\x4E\x6E\xED\x94\xB0\xB7\xF2\x00\x5F\xAF\x40\x01\xB6\xAC\x46\x76\xEE\xB7\x7B\xB8\xC4\xCC\x49\x5A\xE3\xED\x11\x28\xBF\x7D\xED\x8C\x1B\x53\xD4\xEE\xC7\x52\xCD\xEC\x3B\xF8\xEC\x24\xE9\x82\xC7\x58\xFF\x50\x86\x0B\x27\x76\x28\x13\x4D\x7A\x03\x49\x0D\xBB\xE8\x58\x86\x08\x39\xB6\x28\x39\xED\x98\xE9\x30\x58\xBB\xE3\x22\x96\x05\x10\x05\x3B\x73\x2B\x14\x67\xF1\xEA\x8A\x09\xEF\xCB\xEE\x62\x07\x41\xE0\x00\x6A\x20\xA5\xD1\xB9\xEE\xEE\xC1\xDE\xED\xE8\x7A\x36\xCF\xB9\xEE\x7C\xCB\xBB\xF2\x00\x93\x03\x49\x01\xBE\xC0\xEF\x16\x08\x8C\x65\x14\x1C\x0C\xC3\xEC\xE3\xEF\x85\x46\xEF\xBB\x20", +"\xF4\xEC\x35\x4C\xEF\xA6\x7D\xFB\xED\x06\x0A\xEF\xEF\xEE\xF4\xE7\x4C\x49\x4F\xF2\xEE\x10\x01\xBD\xF9\x21\x1E\xDD\xF5\xE4\x41\xD7\xEF\x5D\x67\x9E\x57\x2C\x04\x0E\x5C\x5A\x17\x75\xCA\x0D\x53\xA5\x33\xD4\x47\x20\x49\x04\x0B\xF2\x5A\x5D\x22\x18\xC3\xE2\x14\xF1\xEE\x73\xA4\x73\x3B\xDE\x45\xCA\xCA\x0B\x0D\xD3\xED\x29\x31\x63\xE8\xDD\x25\x68\x7F\xDC\x60\xF1\x06\xF5\xD7\x82\xD1\xB4\x53\x4D\xF9\xD5\x40\x0B\x5F\xF6\xD7\xFE\xD5\xDB\xB7\xBA\xCB\xBD\xF3\xBD\xB9\xD7\x5E\xF5\xBD\xA1\x19\xC8\x69\xF7\x94\x75\x28\xF2\x10\xE6\x27\x07\xDC\x9A\x36\x1B\x2A\xFB\x58\xC4\x24\xF2\xD0\xBA\x76\xA2\x2C\x91\x18\x04\xF5\x20\x42\xC0\x0A\x2E\x1B\x25\x28\xE0\x00\x92\xEF\x10\x93\xC4\xFE\x8C\x40\xF0\x0A\xCE\xEE\x9C\x46\x11\x4B\xFF\x44\x73\xF9\xF0\x4D\xDD\xEB\xE1\xC0\xDD\x4D\x4F\x00\x14\xF2\x77\x27\x86\xF1\x9D\xAA\xD6\xFC\x95\x6C\x5E\xF2\xF2\xB1\x03\x15\xD9\x4E\x1B\x6F\xE9\x65\xEB\xEA\x12\xF0\xDC\xBF\x40\xDF\xD9\x0B\xBC\x62\x5C\x6E\xB9\xDA\x72\xD7\x9E\x14\x57\xF4\x00\x76\xD6\xC9\x18\x57\xE0\xBA\x92\xD6\xB3\xBD\x4B\xFA\xBE\x96\xD6\xA6\xED\x1B\xFB\xB6\xA9\xC9\xA5\x83\x58\xE9\x89\xE0\x25\x67\xD4\x70\x98\x9C\x4A\x05\x68\xD2\xF0\x8B\xD2\xA5\xD5\xC0\xB8\xC8\xD2\x9C\x4B\x71\xC1\xBA\x3E\xD0\x71\x0A\xBD\x98\xDD\x8A\xE0\x93\xB2\x8E\xC3\xB3\xAB\x3F\x70\x1C\xF2\xCE\xB5\xC3\xF8\xBC\xC3\x1E\x77\xD7\x69\x36\xBC\xD9\xD4\x0E\x05\xC2\xC0\x00\x27\xF2\x08\xF9\xF5\xBF\xD7\xB0\xEC\x0B\xF5\x71\xD7\x82\x22\x01\x81\xDB\x4E\xD1\x96\x5D\x4F\x0C\xF6\xF5\xAA\xF2\x4F\xD6\xB4\x71\xAA\xE8\x2F\x82\xBC\xFA\x22\x62\x66\xEA\x02\x04\xAA\xE8\x61\xDD\x4D\x1A\xDA\x2B\xF2\x40\xD0\xD0\x91\xBC\x95\x0B\x28\x31\x7B\x23\xD9\x7C\x66\xAB\xC7\x58\xA6\xB1\xEC\x6A\xAB\xDE\xBE\x2D\xDA\xAF\xEB\x67\xE3\x1C\xD9\x4C\xD3\xE8\xFA\xA1\xF2\xDA\xF0\xEB\xB4\x03\x3C\xD8\x01\x06\x8F\xD7\xB1\xC1\xD9\x3E\xD3\x90\xD9\x0C\x8B\x9F\x3F\xED\x91\xD7\xC3\x83\x70\xE3\xF2\x58\x0B\x22\x8C\x26\x25\x69\xAE\xDC\x66\xE5\xD9\xC5\xD9\xE0\x42\x67\xC6\x04\xF7\xF0\xB5\xC4\xCF\xCC\xDA\xC6\x4C\xA4\xD1\xC6\xDA\x2F\x1A\x80\xB3\xDE\x67\xEE\xDA\x4A\x97\x17\xD5\xB9\xC2\x53\x84\xD8\xA7\xD5\x08\x87\xDA\x73\x91\xA2\xDA\xCF\xEA\xD9\xBA\xD9\x3F\xFC\x6B\xE1\x67\xBF\xDA\x32\xE8\x6A\xC2\xDB\x02\x1F\x11\xF9\xD0\xC6\xDB\x87\x85\x21\xDA\x6C\xC7\xF4\xB2\x4F\x46\xFE\x6C\xC4\x5C\xD1\xD8\xD6\x89\x6B\xF5\x6B\xED\xAB\x29\xE5\x81\x7E\xF3\x18\xF5\x40\xFC\x6A\xD7\xDA\x59\x5A\x41\xF1\xBB\xC4\xDB\x85\xDB\x42\xFA\xC9\x50\xDB\x0D\xF4\xA8\xDA\x68\xFB\xF3\xA3\xD8\x04\xD3\xD1\xC2\xD1\xD5\x65\x4B\xF4\x00\x82\xF4\xA1\x14\x4C\xF3\x78\xC1\xD4\x1F\xF7\x4C\xF4\xB0\xF5\xF4\x9E\x2C\x43\xF5\xEF\xA1\x8F\x7D\x00\x9A\xDC\xD3\xE7\x01\xF3\xF0\x44\xFD\xFB\x66\x02\xFA\x38\x56\xF3\x67\xD3\xF5\x28\xF7\x4F\xFE\x6B\xF2\x5E\x6C\x90\x4B\xF5\xFC\xBD\x16\x7C\xD8\x4D\xF5\xD4\xC4\xF4\xBB\x8C\x52\xFF\xE7\x84\xF5\xA2\x16\x4D\xF5\x6B\xF8\xF4\x4F\xF6\x43\xF3\xF2\x1C\xF5\x12\xF4\x58\xF9\x5F\xB8\xD9\xD2\x4F\x3F\xF3\xBE\x09\x16\x6C\xF6\x51\xFF\x50\xC1\xDA\x91\x64\xAB\xD3\xD2\xF6\xDA\x39\xF4\xAE\xD4\xD7\xFE\xF4\xCB\xB8\x5E\xFC\xCA\x82\xF5\x11\x2D\x5F\xF8\xD6\xC7\xF5\x99\xDA\x52\xF6\xB9\xF3\xDA\x6E\xF6\x08\x05\xD2\xD2\xF5\x10\xF5\x55\xFE\x66\xF3\x00\x24\x02\xBE\x3D\xD9\xDB\xF5\x10\xF5\x57\xF3\xA2\x9B\xC6\x59\x62\x58\xF9\xFC\x80\xF4\xFF\xEE\x59\xFC\xD1\xC7\xA9\x7F\xF4\xAC\xD2\xD9\xC8\xF4\x94\xF5\x53\xF7\xD3\xE5\xF4\xA1\xDB\x61\xF5\xFA\x5E\xF5\xA4\xA9\x44\x50\x6C\xF9\xF5\x8C\xF4\x5F\xFF\xD2\xCF\xF6\x1E\xF7\x5A\xF2\xD8\xD5\xF6\x24\xF5\x61\xF9\x28\xCF\x7A\xF2\xF2\x01\x89\x6B\xFB\x55\x97\x03\x49\x0D\xDC\xE0\xF6\x66\xD9\x57\xF9\xD8\xD4\xF4\x76\xF4\x2A\xE0\xD4\xD1\xDA\xBD\xF6\x9D\x0E\xD8\xC7\xDB\x98\xDA\x40\xDF\xDA\xE1\xF4\xB1\xF4\xE5\x25\xC0\xA5\xF4\x04\xDF\xEA\xE0\xBB\x38\xF0\x73\x00\xFA\xB4\xC2\x44\x02\x27\x04\x7B\xFE\xFE\x8F\xEE\xF3\xD9\x79\xD9\x6F\xDF\x8D\x2A\xDD\xBE\xDC\x72\xDD\xC3\x1A\xDE\x06\xEA\xDD\xC8\xEA\x48\x62\xC7\xD2\xB2\x12\x7B\x1C\xC2\xD0\xDB\x34\x21\xD6\x4C\xDD\x08\xD1\x82\x8A\x87\x26\xC2\x20\x18\x02\xE5\x4F\x06\xF2\x78\x18\xC0\xE2\x17\x24\x70\x2D\x07\x12\x12\xF8\xF0\x57\x03\xF8\x38\x5F\x1F\xEE\xCB\x0E\xE1\x74\xCA\xF8\x6E\x21\xED\x47\xC1\xDA\x74\x1E\xDE\x06\xF0\x3E\xC9\x52\x16\xF9\xD7\x48\xE1\xC4\xCC\x2C\xE1\x0F\xA5\xC1\xF1\xCA\x20\x03\x87\xFC\x28\x21\xF8\xAE\x31\x25\x37\x0A\x50\xA3\xD7\xDC\xF5\x97", +"\x4F\x47\x6D\xDB\xDE\xDA\x9A\x7D\xB8\x9F\xDC\x9C\x68\x7D\xDE\x62\xDF\x36\x7A\x42\x93\x79\xE4\x7B\xB2\x57\xD9\xE7\x97\x84\xC3\xC7\x7A\x31\xC7\x80\x88\xC3\xED\xDF\xFA\x95\xE4\x51\x9F\x33\xFA\x0F\x41\xA8\xEE\xB2\x78\xEB\x94\xF4\xC2\x7B\xE9\x02\x05\x9F\xE2\xE5\xCB\xEA\xB1\x07\x09\xEC\xE5\xD7\x90\x28\xF8\x7E\xF6\xA8\xCD\xF6\xFC\xF5\xCF\x6A\xA8\xDC\x04\x8C\xE9\x46\xF4\x84\xC7\x2B\xFE\x64\x12\xE1\x82\x97\x2D\x59\xC6\x13\xE5\x3E\x5A\xE2\xCA\xC6\x0D\x06\x03\x22\xE2\x03\x06\x28\xE6\x8C\xE5\xE2\xC8\xE0\x69\xF8\x96\x40\x95\xF7\xB2\x6D\xCC\x8C\xF0\x50\xCE\xE3\x77\x6B\x0A\xBB\xBE\x9B\xA7\x69\xC8\x9B\x94\xE3\x03\xE6\x35\xE8\x55\xC0\x6B\xA4\xA5\x89\x9B\x8B\xDB\xE3\x24\xE4\x3D\xE2\x03\x36\xE3\x03\x04\x3E\xE0\x24\xC8\xE4\x5A\x94\xD5\x91\x30\x80\xCA\x0F\xE7\x68\xE6\x99\xE9\xAA\xEE\xE0\x94\xC8\x28\xEA\xE6\x17\xE4\x85\xCF\x25\xE2\xC8\x9F\xF9\x68\xE0\x95\xE4\xE6\x28\xC9\x50\xEA\x3E\xB8\xC9\xA8\xF8\xA7\xF2\xBB\xB4\xC8\xAD\xF9\x6C\xEE\x91\xF0\xFA\x4B\xAF\xEE\xA9\x26\xE6\x7A\xA7\xAC\x0D\x0C\xB8\xB4\x00\x53\x4C\x2F\x07\x12\x06\xFB\xF3\x69\x55\x88\x94\xEE\xE4\x81\x5E\xB2\xF2\x50\x74\x00\x5F\xCB\x02\x43\xF5\x4E\xE6\xAE\xF8\x58\xEC\xEB\xE0\xE4\x0F\xA8\xF3\x78\x01\x55\xE5\x19\x06\xB3\xF6\x53\x50\xFB\x69\xE7\x02\x46\x73\x54\xFB\xBA\xFA\xA8\xFC\x8E\xE4\xFA\xB2\xFB\x18\x1C\x49\xC1\xFB\xC3\xFB\x5E\x5A\x0A\x27\x04\xEF\xF9\xB2\xF4\x6E\x60\xFB\x90\xE6\x08\x02\xED\xDB\x54\x8F\xE6\x5B\xEF\x93\xE5\xE6\xD9\xFA\x6F\xAB\xED\xDB\xE6\xDE\xFA\x5B\x04\xEF\xEE\xE6\xE2\xF8\xBE\xF5\xED\xD5\xE6\xE7\xF9\x7E\x62\x95\xF0\x60\x0C\x42\xF6\xE6\x87\x36\xCF\x2E\xE4\x4C\xE3\x35\x7D\xE5\x06\x04\xC5\xF2\x90\x4D\xE6\x56\xE5\x46\xE3\xBD\xB0\xE6\x94\xE6\x6C\xE6\x8B\xE5\xFA\x8A\xE7\x9A\xC8\xF1\xEE\xE4\x1A\xFF\x6B\xEC\x96\xC7\xFC\x1E\xFE\x93\xC7\x1E\xB5\xE6\x06\xB3\xC5\xFD\x99\xDA\x95\x07\x56\x64\xEA\xEA\xE5\xFB\x6F\xE7\xC7\xF9\xEE\xDA\xE6\xAA\xE7\xC8\xF8\x97\xE5\xFC\x5C\xE7\xC9\xF4\xF3\xFB\xFB\xB1\xFB\x93\xC8\x9A\xF9\x95\x75\xE5\xBA\x61\x93\xE8\xE4\x5C\x30\x84\xC7\x93\xD0\x76\xB8\xE5\x0B\x2E\x2C\xFF\x2B\x7B\x55\x6F\xE5\xA2\x7F\xE6\x2D\x22\xB5\xC3\x9C\xC0\x15\xC5\xE4\x8A\xD3\x88\xF1\x7B\x8E\xB4\x1A\x6B\x9C\xDC\x81\xAD\xB1\xBE\xC6\x11\x10\x4D\xDD\xB1\x08\xA2\xE7\x7B\x5F\xE3\xB1\xF9\x43\xA4\xE3\xEC\xC4\xEA\x91\xE6\x03\x07\xEB\x03\x05\xB2\xEC\x3A\xEA\xEC\xCC\xE9\xCB\xEE\xA4\xF7\xEC\x99\xED\xB4\xE2\xA5\xF3\xEC\x48\x59\xB5\xE5\xB0\xD7\xEB\x07\xEF\x96\xE6\x7D\x4D\xEC\x2A\xE8\xB8\xE1\x97\x22\xCD\x0E\xED\xFA\x70\x6E\xE5\xEB\x48\xED\x8D\xE6\xB4\xED\xE9\x1A\xEF\x8D\xED\xCE\xCF\xFE\x93\xFF\x95\x87\x3A\xD2\xDF\x00\x6D\xD5\xE4\x00\xC8\xEE\x16\xE9\xDF\xCD\xAC\xD3\xF6\x7F\xFF\xA3\xF1\xB3\xFB\xFD\x2C\xED\xDF\xFC\x6C\xC3\xEE\x8F\xF9\xE0\xF5\xAE\x7C\xEC\x5C\xCE\xE4\xCE\xA5\xCF\x8A\xDD\xE9\x94\x6E\xA5\xD4\xCE\x63\xE9\xC4\xEA\xAE\xCE\xED\xF2\xEB\xBD\xDC\xF8\xD4\xEC\xB8\xFD\xD1\xE6\xF9\xFF\xE8\x1F\xED\x0A\x23\x72\x1D\xE0\x53\xFB\x07\xE6\xE5\xF2\x00\x58\xF9\x40\x0A\xE5\xFF\xE9\x15\x5F\x94\xF5\x7E\xE7\xDB\x3C\xE1\xBF\xDB\x86\xD7\xF7\x33\xE3\xF6\x2E\xA8\xFA\xCB\x90\xE8\xE0\x42\x03\x3E\xCB\x02\xAB\x4A\x14\xCE\x98\xE7\x7A\xC5\xA6\xEB\x9D\xF5\xBA\x7B\xF1\x92\xDF\x9D\xFD\x51\x9F\xE9\xC4\x2B\xCB\xC9\x17\xBD\xF1\x72\x11\x38\x40\xF3\x01\x06\x30\xFA\xAA\xD9\xD8\xD3\xBD\xA0\xF0\x71\xEE\x85\x1D\xDB\xE4\x82\xAB\xD4\xBE\xB5\xEA\x32\xF6\x62\xE4\xEB\x9B\x5F\x1C\x05\xE7\x5C\xC5\x69\xB9\x36\xE6\x40\xEB\x11\x16\x6B\x7F\xDD\x0C\xC9\x74\x01\x42\x03\x07\xD9\x42\x04\x13\x74\xCA\x74\xBA\x7E\xE7\x7E\xEE\x72\xB8\x7D\xD7\x79\xFD\x7F\x75\xA4\x7E\x93\x5A\xE9\x7A\x76\x78\xA5\x74\xDD\x5A\xE9\x2B\x7F\x44\x6D\xC8\x64\x6D\x5C\x8C\x51\xB4\x60\xAC\x43\xED\x3C\x7F\x19\x77\xA7\x74\x9A\x76\x62\x76\xFB\x6D\xDA\x69\x00\xB9\x7F\xFF\x3E\xE0\x7D\xE6\x78\x64\x76\xFD\x6C\xDB\x5D\xF0\x60\x03\x6F\x76\xF0\x00\x09\x38\x0A\x0A\xEF\x1C\x01\xAF\xF7\x1D\x02\x77\x77\xDA\x07\xF3\x7A\x75\x79\xDE\x70\x5D\x16\xF1\x1A\x33\xAF\x68\xBC\x77\x77\x7C\xBB\x21\xFA\x62\xB6\x05\xEE\x4B\x6A\xAD\x31\xC4\x76\xE9\x70\xC0\x66\xFF\x64\x02\xAC\xEE\x00\x78\x48\x80\xA7\x68\xEC\x72\x77\x2C\x01\x98\xDC\x62\xFE\x1A\x77\x4C\x79\xD2\x75\xFF\x44\x0A\x87\xDA\x3F\x96\x09\x68\x24\x77\x8F\x77\x23\x83\xEB\x72\x83\x60\xD2\x6C\x02\xA8\xFE\x20\x3A\x39\x77\xCD\x75\x6D\x6D\x73\x7A\x58\x7A\x79\x7A\x00", +"\xB4\x00\xA1\x76\xDF\x13\x0F\x7A\x0C\x8D\x91\x24\x03\xA1\xFF\x29\x77\x68\x80\xF3\x7B\x3D\x32\x0D\x83\xB9\x6C\x03\x8B\x01\x97\x77\xCC\x68\x0F\x83\xE0\x65\x93\x3D\xBD\x6B\x5E\x64\x6E\x3B\x77\x33\x01\xDF\x76\x41\x02\x12\x8B\x7F\x21\xDE\x75\xB3\x43\x77\xF6\x7F\xD2\x3E\xF3\x75\x6E\x04\xBF\x60\x01\x30\xEF\x78\x77\x97\x10\xC5\x01\x27\x80\x7E\x73\x73\x6D\x60\x46\x22\x65\x7A\xA7\x31\x24\x7B\x1D\x60\xF3\x4E\xF0\x60\x52\x1C\xEF\x16\x04\xBA\x76\x0B\x07\x5E\x2B\x7C\x76\x10\x14\x05\x95\x02\xE5\x77\x9B\x3D\xF3\x76\x77\x25\x0D\x0F\xFC\x7A\x04\xB2\xEF\x23\x81\xF6\x76\x50\x80\xF2\x73\x7E\x7B\xBF\x74\x57\x37\xEF\x2C\x28\xA1\x80\xCB\x02\xFE\x75\x7E\x7C\xBF\x65\x05\x94\xEF\x27\x81\xD6\x77\xBC\x2E\x2A\x83\x80\x7A\xBF\x4D\xF0\x6D\x08\x0F\x7C\x2D\x05\xC0\x25\x03\x7B\x20\x0D\xC0\x69\xF0\x5C\x05\x10\x78\x2D\x05\x5E\x80\x05\x7A\xC0\x76\xC1\x7A\x3E\x19\xF0\x31\x7C\xD8\x79\xF8\x6B\x28\x7E\xE8\x59\xF5\x41\xE1\x6B\x03\xE0\x6B\xF7\x6A\x19\x03\x29\x79\x95\x7F\x0E\x9D\xAF\x5D\xF9\x2A\x78\x7E\x81\x2D\x63\xFD\x79\x73\x69\x4B\x52\xE5\x69\xD7\x76\x5E\x32\x78\xF6\x6A\x82\x6D\x1E\x8F\xC1\x7A\x58\x01\xEB\x78\x2A\x4D\x78\x37\x13\x46\x54\x87\x72\x87\x60\x49\x75\xED\x45\x78\x4B\x07\x89\x4D\xEE\x32\x2B\x64\x10\x7A\xEF\x4D\xCA\x32\x00\x75\x78\x00\x03\x63\x6A\x2B\x64\x74\x78\x64\x06\xDD\x43\x62\x13\x63\x40\x83\x72\x1E\x22\x60\xCA\x06\xB1\x67\x01\xDA\x62\xE9\x18\x27\x6F\x58\x78\xCA\x60\xC6\x79\xB2\x41\x4E\x64\x78\xF1\x0C\x33\x7B\x4A\x80\x28\x08\xC6\x79\x04\x9C\xD8\x62\x29\xD9\x5F\xCA\x53\x6B\x2A\x23\x69\x6B\x7C\x7A\x78\xF2\x3E\x5E\x74\x1F\x84\x01\x50\x86\x93\x7F\x13\x97\xAF\x61\xA0\x10\x66\x01\x03\x89\x25\x06\x57\x93\x75\xE9\x4F\xE7\x59\x26\x00\x5F\xBC\x79\x08\x6E\x2F\x7F\x06\x00\xFF\x60\x00\x32\xFF\x49\x0B\x35\x82\x63\x7A\x21\x70\x99\x71\xAB\x7E\xFF\x73\xEA\x59\x32\x97\x75\x67\x7B\x89\x69\x57\x71\xA8\x03\x00\xA9\x12\x05\x80\x90\x6D\x6B\x78\xA8\x77\xC1\x61\x15\x83\xD5\x7E\xF2\x39\x00\x55\x83\xAB\x81\x5D\x09\x2B\x8F\x02\x6F\xD5\x4E\x97\x7B\x7F\xB4\x75\xC9\x46\x58\x80\x00\x82\xCD\x65\x0B\xAB\xD8\x67\x82\xA0\x5F\xB4\x83\x01\x81\xB1\x0E\x14\x87\x4A\x50\x05\xEC\x7F\x52\x82\xF7\x7C\x0E\x01\x2E\x8A\x76\x43\xE6\x62\x00\x45\x79\x75\x83\x68\x59\xE9\x39\x99\x7D\xBE\x1C\xFF\x7A\x05\xDE\x82\xD0\x78\xE3\x73\xE4\x43\x9A\x74\x00\x81\x0C\x97\xF7\x6A\x82\x08\x80\x91\x77\xEE\x0E\x3F\x3C\x91\x54\xF4\x30\xFD\x02\x02\x72\x7F\x7C\x77\xCA\x72\x03\x87\xFA\x76\x00\x9F\x01\xFA\x7E\x1E\x74\x81\x75\x95\x70\xF4\x7F\x06\x97\x76\x71\x01\x82\x7F\x4E\x35\x12\x80\x1F\x78\x68\x71\xFB\x7E\xE3\x5D\xA6\x0A\x7F\x39\x59\x6E\x78\xBA\x75\x05\x8C\x39\x70\x9C\x42\x07\x94\x7F\xC4\x82\xA8\x75\x81\x72\x4E\x73\x03\x82\xFE\x5B\xC0\x1C\x7F\xCB\x75\x09\x82\xDF\x7D\x36\x8A\xED\x70\x0D\x9F\x7D\x38\x67\xD3\x82\xD7\x80\x1C\x85\x76\x78\x1B\x9A\xCF\x61\xEB\x2E\x7F\x24\x81\xDE\x81\x8B\x73\x38\x37\x02\x9A\xD8\x7D\xFE\x49\x76\xC5\x66\x76\x75\x72\x83\x38\x8D\xF8\x67\xD7\x5B\xEC\x51\x76\x68\x76\x1A\x69\x90\x77\x0D\x7D\xC9\x7E\x9C\x6D\x07\xB9\x74\x43\x83\x81\x03\x50\x86\x3E\x84\xB1\x68\x8B\x48\x05\x80\x00\x4A\x82\xD5\x27\xE4\x78\x63\x68\xC4\x59\xB5\x4F\x73\x4B\x7B\x6A\x51\x86\x09\xF8\x27\xA4\x73\xE7\x7B\xCF\x3A\xF5\x79\x00\x51\x6D\x99\x81\xFA\x5E\x06\x00\x13\x83\x3A\x32\x04\xA7\x7B\x34\x82\xFA\x7C\x97\x6B\xC3\x6F\xBE\x4C\xE3\x43\xD7\x5F\x2B\x3C\x83\xA9\x79\x61\x87\xEF\x55\x61\x29\xEE\x5B\xCC\x4B\x7B\x36\x01\xE7\x7A\x41\x02\x45\x8F\xD0\x71\xEE\x52\xF4\x7A\x68\xF2\x65\x94\x7B\x6E\x7B\xB1\x72\x21\x83\xB6\x4B\xF5\x67\x7A\xDC\x7B\xB4\x79\x64\x7C\x0B\x8A\xDA\x63\xEC\x70\xF5\x24\x0B\xAE\x7B\x3E\x01\x79\x7D\x08\x87\x8F\x21\x9A\x1D\xDB\x69\x5F\x21\x51\xC6\x3B\x43\x82\x10\x8A\x65\x65\x9F\x1C\xEE\x38\x80\x9E\x76\x1D\x81\x0D\x06\x07\x86\x10\x14\x12\x8B\x09\xF3\x00\x41\x81\x8E\x02\x67\x66\x0A\x80\xBB\x07\xE2\x6A\x02\x80\x77\x87\x80\x6B\x77\xA3\x7F\x09\x81\x40\x51\x02\xBC\x01\xC9\x6A\x0C\x3A\x2E\x87\x3D\x36\x4B\x88\xBD\x7A\x02\x86\x02\xBC\x84\x15\x81\x97\x77\x6B\x80\x03\x86\x26\x95\x1D\x0A\xEE\x79\x81\xAB\x71\x93\x4A\x9A\x81\x0F\x0C\x26\x97\xE2\x66\x8B\x54\x80\x70\x84\xDA\x82\x76\x86\x36\x8C\x1D\x9D\x03\x16\x03\x90\x04\xD8\x80\x08\x07\x5E\x2B\x1B\x82\x10\x1D\x06\x9B\xF8\x5F\x81\x17\x7D\x08\x79\x98\x7E\xF4\x35\xE0\x6C\xF1\x6E\xF8\x67\x81\x9D\x19", +"\x8C\x79\x80\x7C\xC3\x7B\x34\x1A\xB9\x64\x03\x94\x50\x31\x00\x9F\x6F\x03\x82\xC7\x7B\xE2\x7D\x08\x88\xB2\x24\x62\x2D\x61\x63\x65\xF8\x7F\x26\x82\x03\x6B\xF1\x44\xFF\x5F\x7C\x65\x01\xA0\x24\x08\x71\x49\x82\x4E\x01\x9F\x26\xE0\x0D\x84\xBD\x70\x5C\x44\x27\x74\x9A\x26\x03\x19\x01\x38\xF9\x02\x02\x7A\x7C\xCC\x60\x9F\x7B\x35\x59\x8C\x76\xEE\x52\xA6\x6E\x73\xBE\x58\xD0\x62\x65\x57\x15\x72\x8B\x67\xB2\x4F\x6A\x0A\x7D\x9E\x52\x46\x7E\x44\x76\xD1\x78\x09\x52\xF4\x5B\x82\x6C\x7D\x77\x72\x62\x7E\x0C\x01\xDE\x76\x10\x1C\x16\x82\x64\x01\x7E\xDD\x7D\x92\x7F\xBD\x78\x2B\x78\xF2\x7B\xF5\x63\xFA\x41\x7E\xE7\x43\x31\x0B\xD5\x40\xD2\x20\x2E\x90\x03\x03\xFC\x30\x7E\x26\x7D\x86\x7C\xB9\x87\xE7\x71\x96\x66\xCD\x6A\xFB\x2D\x81\x57\x0B\x6F\x7D\xBA\x34\xD8\x78\xF4\x7E\x84\x10\xC8\x55\x42\x2C\x73\x6E\x70\x1C\x05\x06\x0C\xB8\x55\x01\x3B\x55\x06\x00\x2B\x1C\x84\x87\xBC\x35\x06\x04\x6E\x35\x01\x1F\xC9\x3D\x00\x39\x82\x7A\x7E\xBE\x7D\x5E\x8D\xEF\x62\x75\x1C\xFB\x03\x86\x0D\x87\x2F\x64\x0F\x01\x62\x85\x2E\x86\xF7\x70\xE5\x67\x43\x7D\x1D\x8B\x84\xC3\x85\xFD\x2E\x30\x89\xCB\x45\xD8\x02\x7E\x1D\x87\x9A\x7E\xCA\x7A\xD8\x22\xE9\x02\x19\x95\xAE\x6E\x85\x81\x2F\x91\x86\x40\x2D\x64\x85\xEF\x79\x7B\x5F\xFB\x29\x86\x40\x7F\x5E\x7C\x59\x4B\xCF\x27\x04\x14\x02\x2E\x0C\xA4\x86\x5F\x64\x1F\x00\xC7\x84\x5E\x87\xED\x6B\xF8\x5D\x4D\x08\x1D\x3F\x87\x99\x87\x97\x61\x04\x03\x34\x9D\xF8\x66\x0B\x89\x7E\x3A\x87\x52\x7E\x5C\x3B\x4A\x6D\x92\x63\x18\x85\x0C\xA4\x38\xF4\x00\x7D\x1D\xD6\x83\x61\x89\x31\x89\xCB\x42\x0D\x9B\x2A\x12\x86\x75\x73\xD3\x83\x36\x76\x9A\x68\x1A\x9B\xE6\x32\x86\x36\x2A\x9A\x86\x6B\x77\x64\x81\x2E\x84\x1A\xA7\x0B\x84\x65\x46\x86\x11\x01\xCB\x87\x6C\x8D\x35\x95\x19\xA0\x0D\xB8\x86\x1F\x73\x23\x7B\x93\x65\x67\x8B\x26\x68\x1B\xAE\x05\x6A\x86\x9D\x7D\x58\x79\xD3\x83\x62\x87\xED\x7A\x1B\xA0\x0C\xC5\x00\x7D\x87\xBA\x86\x6B\x70\x62\x87\x37\x8E\x1B\x90\x0D\xF5\x57\x88\x72\x8B\x84\xDD\x80\x68\x89\x96\x6C\x1A\x8D\x0E\xCE\x86\x1E\x86\x44\x32\x69\x73\x6A\x81\x8F\x62\x18\xB6\xE5\x0E\x81\x8E\x73\xC0\x24\xC5\x7B\x20\x06\xF1\x6E\xCC\x6F\xFC\x32\x57\x67\x39\x80\x45\x5B\x72\x6C\x89\x39\x8B\x19\xB0\x60\x38\x7E\x8C\x73\xD3\x86\x81\x53\x8F\x3A\x3A\x98\x1B\x85\x0D\x88\x73\x21\x7F\xCD\x72\xCE\x7D\x35\x71\x38\x9C\xCA\x75\x0E\x8E\x87\x1F\x86\x27\x80\x59\x71\xAF\x41\x3B\x8C\xCD\x5F\xC9\x56\x25\xBF\x86\xCC\x86\xCA\x83\x20\x7B\xF2\x64\x33\x3E\x22\x5C\x2C\xCC\x64\xA7\x7E\x6E\x77\x59\x65\x03\x12\xFA\x55\x58\x54\x7E\xFF\x14\xAB\x7F\x31\x34\x38\x72\x94\x3A\x7C\x4F\xB3\x23\x4E\x69\x37\xAF\x7D\x5E\x7D\x05\x11\x3D\x9F\x57\x01\x4D\x3B\x73\xB4\x84\x18\x1B\x82\x85\xEA\x79\x8B\x4E\x98\x71\xFE\x3A\x65\x3D\x77\xD2\x0D\xE0\x26\x57\x60\x00\x02\x64\x4E\xB4\x73\x27\x2D\x70\x62\x66\x50\x64\xCD\x08\x74\x79\x13\xB7\x04\x8B\x74\x87\x7E\x93\x17\xF9\x27\x17\x8E\x33\x3F\x05\x81\x4E\x76\x00\x27\x02\x04\x88\xF9\x77\x79\x73\xBF\x78\x1F\x91\xB4\x45\x6E\xA8\x85\xA3\x6E\xAA\x86\x64\x64\xD4\x2B\x32\x45\x9F\x48\x31\x16\x05\xA5\x05\x78\x33\x88\x63\x0C\x84\x04\x95\x8D\x0E\x04\xB3\x0B\x1C\x4B\xCD\x6F\x53\x8E\x29\x9C\x14\xA1\xD0\x0D\x80\x27\x02\xA0\x6D\xA5\x86\x81\x80\x14\x70\x20\x85\xCB\x29\x85\x1C\x84\xC9\x83\xD2\x6E\x55\x8C\x5C\x39\xDF\x45\x10\xC9\x81\x6D\x00\x21\x01\xE0\x23\x15\x07\x12\x1C\x21\x8B\x10\xF5\x06\x42\x00\x16\x8B\x43\x66\x85\x8B\x3F\x8D\x2B\x3D\x0F\xC4\x7C\xD4\x58\x1C\x8A\xA2\x03\x79\x7E\x3C\x80\x4A\x14\x69\x6B\x72\x9B\x80\x5E\x10\xA9\x4C\x13\x1E\x8B\x1F\xB7\x4F\x4F\x6C\x30\x1C\x88\x06\x8A\x07\x8F\x4F\x89\xF6\x3A\x17\x1C\x59\x10\x70\xE9\x6D\xAD\x5E\x02\x3D\x02\x71\x03\x0B\x07\x42\x04\x60\x53\x1C\x82\xAE\x25\xFE\x81\x28\x68\x13\x67\x89\x6D\xC5\x7D\x51\x03\x14\x30\x8B\xCB\x6A\x8C\x82\x7B\x75\xC0\x74\xF1\x0E\x6B\x6A\x4F\x34\x89\x04\x6D\x85\x8E\x11\x91\x20\xA0\x04\x84\x2B\x09\x82\x0D\x8B\x80\x28\x23\x66\x46\x35\x9F\x28\x04\xEF\x3D\x6E\x71\x91\x0D\x4B\x62\xE0\x01\x38\x20\x8A\x09\x04\x0E\x89\x11\x40\x81\x0E\x10\x8A\x7F\x8D\x46\x85\x80\x2F\x11\x83\x52\xDC\x19\x44\x88\xF4\x13\x91\x83\x72\x04\xE1\x10\x12\x83\x02\x90\x88\xB1\x75\x48\x62\x8D\x8F\x40\x9D\x23\xAF\x10\x92\x88\xEC\x4D\x43\x88\x37\x1A\xEC\x74\x07\x1B\x97\x5B\x4F\x33\x00\xDC\x7E\x4A\x77\xF7\x7C\x31\x0E\x2E\x61\x01\xBC\xD5\x63\x6D\xDD\x73\x3F\x7B\xF9\x7B", +"\x98\x39\xFE\x69\x2C\x2B\xFF\x75\x0A\xED\x7F\xBA\x08\x09\x3C\x31\x88\xF8\x53\xFF\x44\xF3\x75\x7F\xC8\x64\xC9\x80\xAC\x71\x3E\x38\x17\x81\xCF\x16\xBE\x18\x83\x63\x83\xCD\x82\x5F\x83\x57\x75\xCD\x62\x0C\xAA\xDA\x74\x10\x89\x57\x46\x81\x1E\x4F\x11\x82\x0B\x95\x01\x12\x02\x83\x02\x94\x80\xE7\x76\xF0\x76\x42\x09\xE1\x68\xE3\x38\x10\xC0\x81\xFC\x76\x61\x80\x03\x88\x9D\x86\x0C\x8E\x06\xBE\xEF\x0D\x7B\x58\x80\x8A\x3B\xDE\x6D\x73\x87\xBB\x74\x14\x31\x02\xED\x00\x22\x2C\x5A\x83\x40\x06\x16\x82\x4E\x99\x05\x9D\x47\x18\x81\xA7\x3A\x02\x69\x14\x8E\x7D\x7E\x09\x81\x06\x88\x03\xC3\x81\xEC\x89\x24\x32\x3A\x88\x88\x85\x0C\x93\xDE\x6F\x13\xBE\x7B\xD2\x81\x36\x87\x4C\x6F\x7C\x7C\x65\x3E\x09\x84\x04\xC1\x36\xEE\x81\x53\x0F\x08\x7B\x06\x03\x0F\x9F\xE1\x4C\x05\xAC\x79\x86\x81\x64\x89\x0B\x7E\xE2\x64\x60\x71\x7A\x6A\xD7\x01\x82\x7A\x5E\x0F\x79\xD0\x32\x4E\x3E\x20\x99\xB2\x51\x08\x98\x84\xE9\x5F\x19\x01\x85\x87\xCA\x64\x88\x52\x10\xB4\x05\xC9\x6E\xC9\x64\x36\x2E\x87\x87\x36\x60\x22\x8F\xE3\x53\xF5\x3F\x89\x98\x0A\x9F\x24\xA9\x70\x06\x04\x4C\x9E\xA5\x0E\x06\x90\x83\x49\x6E\x65\x8B\x5D\x80\x33\x89\x17\x8F\x26\x95\x06\xBE\x3C\xD0\x59\x00\x81\x55\x07\x2F\x8C\xAB\x7B\xBB\x06\x00\xD7\x89\x0E\x6C\x24\x59\xFC\x17\x99\x33\xF8\x49\x10\x81\x44\x18\x70\xA9\x74\xAC\x81\xF9\x20\xA8\x86\x58\x02\x2A\xBE\xF2\x7E\x41\x45\x8B\x0B\x6E\x31\x8F\x31\x88\x4C\x91\x0C\x8F\xD0\x13\x83\x5D\x83\xCA\x81\x53\x8C\xC4\x60\x4D\x9C\x0B\xA9\xD8\x53\x89\xD4\x79\x02\x82\x62\x7C\xAA\x63\x18\x81\xB9\x6D\x14\x92\x84\xA1\x6B\x07\x84\x5A\x60\xC1\x75\x53\x90\x29\xB5\x79\x4F\x84\xB5\x07\x1D\x79\xED\x00\x2D\x67\xF6\x62\x09\xB5\x79\x07\x85\x5C\x03\x12\x88\x57\x00\x2D\x60\xE7\x7E\x06\xA3\x4F\x38\x85\xF1\x4F\x4A\x86\x64\x8C\x0E\x01\x69\x04\xE1\x22\x0A\x81\x02\x2A\x89\x52\x87\x4F\x63\x88\x86\x4A\x85\x22\x83\x7D\x22\x8A\x7C\x63\x19\x8B\xA7\x80\x5B\x80\x3A\x82\xF8\x64\x70\x5C\x85\x03\x02\x6F\x87\xB7\x7B\xDE\x71\xED\x6D\xF8\x41\x8C\x79\x7D\xAC\x87\xE5\x86\x44\x71\x5D\x82\x2F\x8A\xCD\x6D\x0B\xEF\x85\xB2\x57\x7B\x7F\x6D\x8E\x76\x8F\x36\x98\xF6\x7E\xFA\x5A\x7D\x57\x47\xD3\x56\x0D\x04\x71\x56\x03\x1B\xAB\x09\xFF\x4F\x13\xE7\x66\x1B\x00\xB9\x2E\x06\x0F\x25\x63\x81\x13\xFB\x7F\x86\xC4\x8B\xC7\x85\xDC\x80\x0B\x00\x79\x52\x29\x50\x61\x52\x8B\xCB\x7D\x81\x85\x5C\x6B\x42\x6B\x5C\x97\xCB\x4D\x17\xB3\x00\x7C\x51\x50\x09\x74\x8B\xBA\x85\x5D\x90\x3C\x69\x0D\xD9\x8B\x64\x87\x7E\x7C\x77\x89\xB9\x83\x21\x64\x18\xB7\xE5\x06\x86\x31\x01\xAD\x86\x41\x02\xBF\x82\x90\x3E\x1B\x99\x04\x00\x87\xFD\x63\x17\x7B\xCD\x80\x78\x86\xF3\x6F\x92\x73\x0D\xAA\x73\xFE\x8B\x81\x85\xC9\x7F\x6B\x8F\xEC\x70\x2F\x85\x18\xE7\x43\x66\x86\x04\x8E\xE2\x80\x5E\x88\xF7\x57\x1C\x84\x0E\xC5\x8B\x71\x86\xBE\x87\xE4\x82\x69\x8E\x26\x67\xA8\x1B\x0C\x96\x8C\xB9\x8B\x9C\x86\x71\x8B\x67\x8D\x35\x21\x19\x9B\x18\xEF\x8B\x1D\x8D\xAE\x26\xE5\x85\xC1\x84\x60\x8E\x1D\xA7\xB0\x08\x87\x27\x8C\xEC\x89\x8A\x8A\x9D\x23\x38\x81\x31\x94\x0C\xC7\x8B\xC0\x35\x28\x00\xBE\x80\xE2\x73\x30\x89\xD7\x06\x0C\xFD\x85\x33\x7C\x08\x64\xC3\x84\xE9\x7B\x54\x24\x20\x8D\x4D\x06\x88\x31\x00\x05\x8A\x41\x02\xC9\x87\x0B\x8B\x27\xA6\x0A\xD5\x0A\x1F\x82\xFE\x87\x04\x8B\xEB\x71\x2B\x56\x20\x9C\x51\x19\x88\x11\x4A\xCB\x31\x16\x8D\x6E\x0B\x45\x81\x2F\x21\x10\xD0\x87\x35\x88\x1C\x8A\x10\x07\x86\x83\x0C\x9A\x21\xB1\x00\x3E\x88\x06\x02\x34\x8D\x93\x88\x88\x8F\x64\x8A\x2A\x11\x19\xC6\x88\x53\x8C\x15\x41\xAC\x43\xA0\x87\x28\x13\x22\x8D\x11\xFA\x05\x4F\x88\x54\x2A\x12\x8E\xCE\x8B\x28\x15\x22\xB1\xE0\x57\x88\x9F\x47\x0E\x89\x3C\x8D\x10\x8E\x67\x84\xFA\x53\xC8\x37\x00\x8C\x57\x1B\x02\x73\x8F\x24\x0A\xE5\x6E\x0B\x37\x00\x64\x2D\x37\x01\x2F\x65\x8A\x0B\xA3\x24\x5D\x8D\x31\x8C\x0F\xAC\x58\x45\x72\x48\x2F\xA3\x89\xBC\x86\x03\x03\x2F\x95\x0D\x88\x8D\x77\x72\x45\x8C\x7A\x8A\x1E\x67\x3E\x7B\x34\x82\x54\x11\x8D\x69\x73\x49\x8E\x40\x2D\xD2\x8A\x3C\x82\x31\x86\x0E\x98\x8D\x3B\x8C\x7D\x41\x79\x8D\xB5\x89\x11\x0D\x2E\xB1\x00\x69\x8B\x99\x09\xF5\x89\xFB\x2C\xD5\x89\x90\x67\xA8\x16\x17\x9B\x2A\x34\x87\x0B\x8E\x76\x88\x31\x73\x5F\x91\x35\x86\x87\x36\x00\xE9\x35\xE6\x88\x90\x8E\x1D\x20\x56\x8E\x0B\x12\x17\x81\x86\xF5\x89\xFF\x8B\xD5\x82\x06\x0A\x5F\x83\x08\x3C\x17\xE9\x86\x13\x8C\xD9\x54\xD5\x59\x60\x41\x36\x81", +"\xF5\x7A\x16\xC0\x72\x7B\x86\x9F\x85\x8C\x8F\xBF\x8A\x31\x80\xB3\x6C\x18\xAD\x8D\x37\x8C\x12\x8E\xDC\x80\xC6\x82\x61\x94\x1C\xB5\xFB\x50\x5E\xDC\x8C\x07\x8E\x8B\x8A\x6E\x82\x6E\x8D\x37\x9C\x18\xF5\x7D\x8C\x87\x78\x8E\xA5\x8B\xB7\x83\x94\x3A\x31\xA3\x1B\x8A\x8C\x5E\x86\x73\x8F\x80\x88\xDD\x87\x3B\x85\x1B\xAC\x1B\x90\x2D\x09\x8C\x00\x8E\x81\x56\x72\x8A\x6F\x84\x38\x98\x18\x88\x73\x9C\x86\x21\x85\x98\x88\xA1\x84\x66\x8B\x27\xA4\x70\x4A\x8C\x03\x02\x26\x8C\x9D\x89\x08\x0D\x66\x90\x09\x2F\x19\xA7\x8B\x00\x50\x73\x8E\x95\x8E\xFE\x28\x65\x98\x37\x58\x11\xA6\x81\x82\x8D\x88\x8A\x9F\x86\xCB\x8B\x42\x43\x20\xA2\x19\x95\x8E\x40\x88\x12\x38\x16\x02\xDF\x13\x73\x9F\x21\x8A\x06\x41\x88\xA3\x8A\x4A\x8A\xB1\x64\x60\x62\x70\x92\xDF\x4B\x11\xEF\x77\x77\x8C\x33\x7C\x08\x30\x8A\x8E\x73\x9C\x33\x9D\x11\xE6\x7C\x80\x8D\x3E\x28\x0E\x8B\x8B\x8C\xF2\x6A\x0A\x0B\x72\x62\x8C\x1D\x8F\x5D\x68\x4E\x67\xB4\x39\x44\x83\x06\xBF\x1C\x9E\x81\x41\x8F\x7F\x6F\xD0\x8E\x9C\x86\x75\x86\x3A\x9D\x22\x78\x8C\x8C\x35\x93\x8F\x33\x81\xE5\x89\x0A\x92\x28\x8D\x1D\xA9\x73\xA7\x56\x1C\x00\xE3\x50\x07\x0B\x57\x36\xA3\x54\x2C\x67\x67\x38\x00\x72\x2C\x0E\x07\x4B\x6E\x5E\x8E\x34\xB2\x1B\x97\x8D\x9E\x6D\xAB\x45\xE0\x29\xEE\x81\x5E\x97\x01\x1E\x1A\x82\x86\x6A\x8F\xBB\x70\xDB\x8B\x06\x01\x8E\x62\x60\x30\x1D\xF2\x8E\x74\x8F\xEB\x89\x46\x00\xD5\x8E\x70\x8F\x1C\xAF\x1A\xF9\x8E\xC6\x8C\x9B\x28\xA8\x8C\xD6\x80\x07\x0A\x34\xB7\x1A\xA4\x8D\xF3\x34\x53\x8E\xE4\x8D\xE4\x7A\x6A\x96\xA9\x2C\x1A\xC2\x8D\xC1\x87\x2E\x58\xB0\x7F\xD0\x89\xAE\x2A\x34\x8B\x1B\xCC\x22\xCD\x8D\xC5\x8E\x84\x65\x6A\x83\x6B\x9B\x26\x9E\x1E\x81\x27\xB8\x8C\x87\x1A\xAE\x8B\xD5\x8D\x5E\x82\xF7\x01\x8C\x41\x8D\x36\x8D\x82\x8E\x7C\x8D\xBB\x8E\x72\x94\x38\x87\x19\xE7\x89\x7B\x2A\x8C\x8F\x9A\x10\x3E\x57\x4E\x91\x3A\x9F\x1C\x95\x5A\x21\x8F\xB3\x27\xC8\x88\x83\x86\xC4\x7B\x20\xA8\x1C\xDA\x88\x83\x8D\x0F\x89\xC4\x0F\xCB\x89\x3B\x30\x39\x92\x11\xF4\x00\x64\x7F\x3D\x8E\x5E\x2C\x2A\x47\x12\x0C\x84\x36\x1C\x89\x05\xD6\x72\x36\x6B\xF3\x8D\x6E\x07\x76\x98\x0C\x69\x1D\xEB\x8E\x53\x27\xC2\x8E\x03\x1F\xF0\x8D\x7E\x33\x3B\xB3\x18\xF5\x8E\x8B\x8F\xBB\x8C\xBF\x88\xF2\x84\x4F\x9B\xDE\x7A\x83\x38\x00\xE9\x34\xB6\x8F\xE9\x8E\x90\x00\x21\x71\x3B\x90\x1B\xF6\x8F\xC6\x43\x1C\x00\xE3\x51\x07\x0B\x57\x39\x69\x7B\xB4\x19\x02\xCC\x63\xF6\x2D\x0E\x07\x4B\x6F\x03\x05\x1A\x42\x54\x6E\x8F\x8D\x8F\xD0\x8E\x2A\x35\x83\x03\x25\x0B\x15\x1D\x33\x79\x4A\x81\x2F\x04\x92\x90\x61\x23\x08\x03\x1F\x3B\x91\x1B\xF0\x00\x02\x91\xBB\x70\x01\x93\x06\x03\x21\x29\x08\x25\x20\xF9\x36\x1A\x90\x9B\x2B\x02\x91\x2D\x7D\x80\x9B\xA8\x10\x20\xA0\x8F\x9A\x87\x7E\x7F\x2A\x33\xBE\x16\x81\x95\x08\x11\x1E\x8E\x8D\x89\x8C\xD8\x8C\xE6\x89\x6F\x3A\x79\x96\x3B\xA9\x1A\xF9\x02\x55\x4F\xCF\x8D\xEE\x8F\xE1\x86\x9A\x68\xD2\x26\x7A\x3D\x8F\xEB\x88\xEB\x8D\xF2\x76\x5D\x32\x7C\x89\x49\x04\x1F\x88\x8A\xC6\x8E\x3F\x8A\x94\x8C\xE7\x8A\x7C\x9A\x7C\x31\x62\x24\x8E\x1D\x7C\x2D\x8F\xF8\x8A\x31\x0D\x27\x99\x02\xA2\x00\x2C\x8E\x06\x48\x25\x91\x9D\x8C\x0E\x09\x3D\x25\x3A\xBA\x55\x0D\x82\xAD\x4F\xE5\x42\xF6\x8C\x03\x73\x71\x8C\x20\xA3\x19\xBF\x8F\x65\x8D\xBD\x29\xCD\x8E\x20\x03\x87\x8B\x33\xB7\x1C\xD1\x90\xA7\x89\x3F\x88\xD5\x8A\xCF\x8D\x75\x92\xFD\x54\x11\xCE\x88\xB4\x5C\xA2\x8E\xF6\x8C\x89\x8D\x67\x8E\x22\xA1\x1D\x81\x8D\xD0\x8E\x95\x8E\x17\x95\xFC\x8F\x74\x85\x33\xB8\x21\xA6\x8B\xC8\x8E\x0A\x88\x1F\x94\x81\x87\x75\x9F\x43\xA0\x1D\xFC\x59\x82\x91\x3E\x90\x21\x97\xE8\x86\x45\x8E\x3E\xA3\x1D\x89\x91\x65\x8E\x3F\x84\x23\x95\xFE\x8F\xF0\x77\x3F\xA8\x1F\xB2\x00\xEA\x8F\xFB\x62\x5B\x04\xEF\x8F\x80\x89\x3C\x95\x9D\x0C\x8F\x30\x91\x79\x8D\xFB\x07\x06\x98\x80\x83\x40\x93\x4D\x27\x90\x03\x03\x13\x92\x40\x31\x05\x9E\x16\x0B\x41\x80\xE6\x07\x2A\x2D\x91\x56\x93\xBE\x88\xDC\x87\x1E\x53\x41\x95\x20\x9A\x09\x36\x90\x52\x92\x2B\x82\x1F\x49\x03\x09\xD7\x04\x20\xFB\x8F\x02\x02\x08\x64\x73\x66\x49\x8F\x9C\x7F\x93\x70\x00\x5C\x59\xD6\x91\xA9\x24\x1C\x07\x24\x0B\x8D\x93\xD7\x14\x7A\x2F\x86\x39\x01\xCB\x57\x2E\x3A\x05\x99\x6D\x39\x0B\x1E\x57\x60\x37\x0E\x90\xFC\x63\x77\x44\x11\x72\x65\x39\x61\x4A\xAE\x5F\x43\x86\x63\x7B\x3F\xC9\x39\xC7\x2A\xCD\x56\x46\x98\x23\x8D\x57\xC2\x56\x19\x03\x08\x6A\x20\x05\x42\x6A\x47\xA4\x5B\x3E", +"\x91\x6F\x41\xFA\x55\x28\x6A\x1D\x95\x5B\x21\x45\x77\x7B\x6E\x91\xD6\x90\xBE\x52\x3C\x91\xE6\x52\xD5\x08\xAF\x3F\x02\xC1\x26\x06\x89\xF4\x84\x06\x1A\x0D\x90\x85\x9F\x3F\xA5\x22\xDC\x89\x6D\x01\x7B\x89\x67\x5E\x1E\x07\x12\x1C\x48\x8B\x10\xE3\x89\xBC\x81\x49\x87\xC6\x8D\xA1\x8B\x47\x83\x49\x8C\x03\xED\x89\x90\x6D\x87\x8A\x76\x79\xFA\x8B\x0A\x9B\xBC\x5E\x59\x16\x81\x74\x52\x80\x8B\x0A\x73\x12\x9C\x09\x8D\x28\xAB\xB3\x26\x92\x05\x8B\x66\x81\x4A\x90\x1A\x89\xDA\x61\x45\x9E\x21\xD1\x2D\xF3\x88\x6E\x71\x3D\x8A\x9B\x89\x85\x0F\x05\xB8\x13\xB7\x00\x28\x00\x7D\x1D\x52\x97\x23\x9E\x4F\x88\xDF\x64\x13\xA2\x92\xBF\x80\x9B\x91\xFC\x77\x9C\x84\x92\x9A\x9D\x0B\x14\xB7\x8E\x55\x93\x9D\x93\x1C\x11\x1A\x8E\x93\x82\xB6\x14\x03\x8D\x91\x6D\x00\xF3\x77\x3F\x8F\x29\x91\x50\x94\x49\xA2\x02\xA4\x92\x2D\x71\xA8\x93\x49\x92\xA1\x87\x50\x8E\x43\x99\x25\xD7\x7B\x2A\x92\x56\x28\x4B\x97\x2B\x97\x9B\x65\x32\xAF\x1C\xF0\x90\x6E\x90\x77\x34\x9A\x8B\x20\x0A\x66\x94\x33\xB8\x1C\xC3\x65\x6C\x89\x9D\x8F\x1E\x95\x2D\x94\x7E\x9E\x3A\x85\x1A\xF9\x8C\x84\x93\xEB\x8F\x26\x97\xEB\x88\x74\x9E\x44\xB2\xEF\x5D\x90\x6B\x81\x42\x8C\x2D\x90\x04\x96\x8B\x92\x01\x38\x22\x82\x02\xBA\x90\x15\x93\x3F\x94\x01\x95\x34\x41\x18\x6F\x20\xC3\x90\xC3\x8C\xD3\x72\x31\x96\x1E\x17\x81\x92\x03\xB6\x00\xC6\x43\xFE\x41\x7B\x92\x3F\x45\x00\x97\x4D\x23\xC7\x64\xE3\x6F\x91\x0F\x87\x11\x64\xA8\x7A\x34\x7F\x6D\x88\xF7\x4F\xC9\x41\x00\x7D\x03\x33\x00\x06\x90\xD2\x2E\x0F\x4F\x19\x94\x7A\x1E\x27\xD5\x91\xC6\x55\x0C\x02\x35\x9E\xB8\x51\x01\x3C\x47\x09\x02\xC7\x93\xBC\x35\x6F\x91\x73\x50\x8F\x94\x30\xB9\x04\xFE\x41\xF2\x8E\x62\x93\x91\x31\x37\x99\x57\x55\x47\xB8\x23\xE4\x7E\xD9\x90\xB3\x7D\x04\x10\x42\x6F\x8D\x94\x46\xA7\x26\xEA\x91\xAA\x93\xE6\x57\x3E\x91\x20\x0D\x8F\x8F\x47\x9B\x26\x83\x2C\xDD\x2A\xEA\x2D\x3A\x90\x36\x99\x5A\x26\xAE\x51\x04\x19\x6B\xEC\x92\x4A\x72\xCA\x5B\x1E\x9F\xB7\x1F\x4E\xAF\x23\xE1\x93\x22\x2D\xF1\x90\x00\x05\x3C\x96\x8D\x87\x4F\x8C\x01\xEC\x13\xD3\x33\xF5\x91\x42\x95\x3D\x96\x90\x85\xF9\x08\x24\xF8\x91\x0A\x93\x92\x3C\x7D\x96\xA3\x26\x9D\x94\xF4\x38\x27\xB3\x00\xFA\x92\xFE\x90\x3E\x96\x3F\x91\x90\x9D\x9A\x1D\x26\xFA\x63\xEB\x90\xF7\x91\x3B\x90\x9E\x31\x9F\x91\x47\x8A\x28\x8C\x92\x27\x12\x79\x70\x51\x91\x19\x16\x94\x98\xA7\x0F\x00\x7A\x1D\x27\x94\xA6\x91\x4C\x94\x2C\x93\x93\x89\x4C\x84\x14\x9F\x81\x2E\x94\x62\x83\x5A\x95\x7F\x7C\x93\x91\x58\x10\x26\xD9\x77\x79\x64\x98\x92\x4A\x6A\x17\x82\x93\x9A\xC1\x66\x25\xAF\x94\x06\x8A\x9C\x90\x29\x83\x2A\x95\x66\x8F\x4B\xAE\xD3\x5B\x92\x43\x7B\xB9\x90\x45\x8A\x19\x99\x2F\x94\x14\x1C\xB3\x3B\x77\x94\x3C\x7D\x8A\x40\x04\x9F\x84\x29\x02\x4B\x8E\x25\xA1\x92\x65\x93\x18\x95\x42\x8C\x48\x9B\x4E\x99\x4A\xA9\x25\xE2\x8C\x46\x94\x44\x92\x8D\x81\xEA\x23\x0D\x8B\x52\x92\x1C\xF6\x92\x65\x8C\x88\x92\x98\x88\x2D\x6A\x24\x9E\x4B\x87\x16\xC1\x93\xFE\x40\xEC\x92\x70\x94\xB1\x8B\x9D\x93\x5C\x54\xAE\x5E\x93\x1A\x0C\x1E\x8D\x6A\x91\x3A\x7F\x27\x6E\x5C\x73\x00\x49\x93\x03\x03\xE4\x92\x9D\x97\x75\x5D\x9C\x92\x5D\x4F\x27\xB3\x93\xAF\x7D\xE2\x8B\xE3\x8A\x28\x74\x9D\x9C\xB2\x11\x53\x64\x49\xB2\x60\xE0\x35\x0C\x07\x02\x72\x90\x28\xDE\x21\x17\xFE\x41\xC0\x92\xFB\x91\x9F\x94\x38\x91\x38\x20\x54\x82\x04\x02\x95\xF8\x63\xD7\x93\x80\x90\xDF\x85\x75\x50\x4E\x83\x23\xB6\x93\xE7\x42\xDC\x92\x47\x02\x37\x96\x9A\x99\x53\xBA\x83\x0E\x94\x7C\x94\x7C\x92\xBB\x31\x42\x93\x8E\x63\x47\xBD\x22\xE5\x91\x00\x94\xC2\x36\x80\x90\x41\x94\xA0\x8A\x79\x5A\x06\x84\x92\xCE\x6B\x85\x93\x25\x71\x82\x10\x80\x8E\xDE\x73\x69\x3B\x77\xD0\x90\x62\x52\x38\x8C\xC8\x80\x0B\x75\xF1\x59\x16\xB7\x7C\x31\x01\x32\x42\x40\x07\x0C\x4E\xE2\x36\xAE\x2B\x81\x2C\x71\x5B\x33\x80\x92\xF9\x6A\x06\x8F\xE0\x26\xAF\x15\x25\x48\x58\x31\x53\x8D\x64\x08\x40\xA7\x5D\x9A\x99\xA6\x0C\xB3\x3D\x6B\x3B\x53\xEF\x85\x80\x77\xDC\x38\x95\x5C\x29\x82\x24\xD7\x59\xEC\x08\xE4\x18\xCB\x1C\x1E\x6F\xCC\x0D\x24\x2F\xC3\x01\x70\x3A\x91\x3F\x3E\x8E\x7D\x04\x5D\xBE\x4D\xA4\x2E\x2B\x99\x6B\xDC\x95\x0F\x51\xF9\x80\x93\x1F\xF4\x78\x64\x3D\x7E\x56\x87\xD3\x64\xD2\x8A\x5D\x12\x7B\x81\xBB\x3C\x1E\xB8\x63\x5A\x7E\xC8\x72\x6C\x94\x66\x31\xCE\x50\x5E\x20\xFB\x6D\x20\x74\x7C\xBB\x85\xC0\x26\x0C\x04\x40\x33\x10\x04\xD0\x0D\xD0\x0B\x5D\x11\x58\x5D", +"\x49\xAE\x83\x46\x53\x3E\x7A\x9F\x77\x00\x37\x01\x27\x02\x94\x95\x49\x5D\x18\x4E\x9A\x77\x33\x77\x54\x5E\x4A\xF3\x5C\x84\x7E\x04\x96\x5C\x41\xA1\x52\x52\x45\x8E\x69\x36\x1B\x35\x98\x96\x87\x33\x1D\x3D\x67\x40\xC8\x32\xB4\x0E\x63\x7B\x55\x92\x96\x2F\x4C\x06\x08\xA7\x3A\xD3\x10\xCA\x3C\x5A\xAC\x4C\x54\x3E\x62\x33\x5E\x40\x31\x5E\x16\x7A\x9A\x5F\x3E\xB5\x4D\xBF\x30\xD3\x93\xD9\x4B\x9A\x2F\x5A\x84\xC2\x02\x46\xC7\x35\x83\x2B\xFB\x65\x15\x75\x30\x5C\xCC\x0E\x8C\x1E\x33\x4D\x97\x58\x4D\xB3\x4A\xF3\x48\x6C\x43\x36\x4A\x9B\x50\x45\xCC\x4C\xAB\x96\x64\x34\x62\x42\xB4\x29\x8E\x59\x2C\xB6\x00\x37\x00\x01\x02\xBE\x1A\x6E\x9B\xB2\x84\x0A\x66\x9B\x38\x5F\x48\x6D\x7E\x34\xE4\x60\x15\x69\xF8\x6F\xD8\x08\x97\x09\x5B\x7B\x7C\xC6\x52\x31\x44\xD0\x48\xB7\x88\xE7\x45\x1D\x46\x67\xEA\x78\xEF\x73\xCA\x37\x3A\x59\x9E\x59\x4E\x69\x86\x3F\x71\x10\x35\x1A\x01\x0C\x04\x9D\x42\x10\x0E\x27\x52\x9B\x61\x4D\xDD\x65\x56\x70\x49\x0A\x6B\x93\xD8\x44\x5C\xB9\x93\x06\x5B\x96\x5A\x48\x94\xD0\x97\x7E\x69\x97\x19\x9F\x7E\x92\x35\x00\x32\x01\x46\x7B\xF9\x64\x72\x30\x6F\x5A\x86\x5A\x2E\x82\x41\x88\x7C\x7A\x33\xBD\x4A\xA2\x45\xD9\x5B\x37\x4D\x2E\xFB\x53\x8F\x97\xD2\x94\x30\x75\x06\x0E\x0F\x07\x09\x3D\x2E\x80\x68\xD6\x37\xB7\x88\x3A\x5C\x6F\x9B\x5E\x08\x5C\xA9\x6D\x49\x67\x46\x5B\x6E\x4C\xFD\x64\x5D\x4D\x40\x61\xA0\x5B\x05\x85\x97\x87\x3E\xA9\x3B\xDE\x91\xF7\x56\xFE\x6F\x69\x6D\x6C\x23\x16\xB7\x97\x48\x95\xEE\x96\x19\x19\x51\x5A\x15\x76\x00\x45\x96\x1F\x17\xA3\x94\xA0\x4F\x56\x3C\x31\x03\x16\x67\xCC\x36\x4D\x53\x96\xB4\x96\xD8\x92\x6D\x94\x6B\x5F\xD6\x37\x9A\x3F\x35\xB9\x4C\x89\x44\x5B\x47\x2A\x3D\x6B\x51\x5D\x9B\x65\x2D\x18\x72\x60\x00\x2D\x67\x34\x5E\x4E\xB4\x92\x5F\x8B\x96\x65\x96\xA7\x33\xB3\x94\xAC\x4E\x5C\x43\xB6\x8B\x5B\x8F\x9B\x15\x46\xD9\x97\xD1\x97\xF6\x91\x1D\x1D\xBD\x9E\x25\x76\x00\x35\x00\xC3\x71\x81\x01\x31\x72\x58\x82\xB8\x86\xC5\x64\x97\x5D\x7E\xFE\x6E\xBC\x59\xA1\x7F\x59\x85\xF8\x70\xC5\x73\xE2\x70\x4B\x94\x16\xB8\x70\xB5\x85\x38\x69\x8D\x67\x8E\x5B\xE3\x18\x96\x42\x96\xC2\x53\x0D\x01\x06\x0F\x2B\x81\x08\x01\x0B\xF1\x53\xB2\x62\x62\x86\x9F\x7E\x10\x42\x61\x54\x94\x7F\x2B\xE2\x29\x65\x72\x0F\x9A\xB3\x87\xB1\x5F\x1B\x94\x77\x61\x30\x85\x8C\x23\x99\x58\x4E\x2E\x71\x38\x53\xB2\x89\x53\x69\x30\xC5\x53\x37\x00\x18\x02\x27\x02\xDF\x1B\xC4\x95\x5B\xB1\x30\xE2\x4B\xC5\x85\x95\x79\xE6\x97\x7E\x91\x9B\x56\x30\x51\xE3\x27\x16\xC6\x96\x59\x73\x33\x40\x84\x9A\xB9\x02\x61\x83\xC7\x22\x7F\xC6\x62\x5D\x40\x5F\x5A\x35\x50\xC5\x93\x61\xAE\x2E\xD4\x98\x15\x4D\x1C\x9A\x2C\x73\x7A\x96\xE8\x6B\xE7\x7E\x30\xDD\x98\x40\x99\x2F\x99\x82\x41\x8C\x9C\x8B\x6E\x5C\xAB\xA7\x11\x63\x79\x41\x1B\x03\x0C\x04\x18\x0A\xEF\x1C\x63\x8E\x31\xC7\x71\x32\x98\x95\x79\x69\x78\xD0\x73\x61\x4E\x57\xB8\x30\x97\x4C\xCF\x71\xF4\x83\x0E\x9E\x34\x6E\xC6\x94\xC5\x7F\x30\xD5\x71\x72\x99\xC1\x33\x10\x98\x36\x63\xC6\x92\x4F\x41\x32\x91\x53\x35\x98\x64\x87\x87\x84\xD0\x7C\x2C\x89\x64\xBB\x11\xF6\x97\x98\x32\xCE\x53\x07\x9F\x37\x65\x8B\x70\x64\xB8\xE2\x2D\x63\x91\x7D\xD7\x63\x36\x77\x95\x50\xD7\x51\x65\x7E\x4D\x28\x45\x33\x00\x5B\x59\x7D\x02\xED\x4A\xCB\x54\x42\xB2\x8A\x33\x31\xB4\x45\x56\x9B\x34\x2B\xA3\x51\x7F\x58\xD7\x32\x01\x7A\x35\x74\x00\xD2\x81\xC2\x34\x70\x02\x09\x69\x8F\x09\x04\x46\x99\x53\x3D\x61\x98\xE8\x02\x58\x69\xB6\x2E\x1D\x6B\x80\x4A\x73\xB3\x30\x2E\x42\x00\x40\x4A\x3C\xE4\x2A\x66\x97\x08\x42\x99\xA2\x4C\x62\x99\x42\x58\x99\x94\x3A\x9F\xE1\x56\x33\xB9\x4F\xCD\x98\x1A\x5E\xFC\x59\x95\x2A\x88\x32\x66\xBF\x1F\x50\x34\x4E\x6F\x43\x78\xBF\x5C\xC5\x0A\xC8\x6F\xE4\x6E\x01\x53\x26\x33\x01\x5D\x03\x49\x02\x9E\x90\x77\x7B\xDF\x11\xF2\x2A\x6B\xDA\x37\x28\x39\x1B\x79\x7B\x51\xBE\x3A\xE4\x59\x71\x7B\x5A\x8D\x4E\x7B\x99\x06\x2A\xE4\x43\xC5\x81\x65\xAA\x60\x3E\x5F\x1B\x39\x19\x1B\xC6\x67\x5B\x04\xCD\x20\xDE\x21\xA0\x2C\x52\xFB\x36\x3B\x73\x94\x1D\x65\x28\x87\x72\x78\x78\x80\x34\x00\x7C\x70\x5F\x28\x59\x57\xDB\x3D\xFD\x21\xC4\x69\x2B\xC9\x8A\x6F\x8B\x24\x43\xA0\x7B\x5B\x95\xEC\x2C\x47\xB8\x56\x49\x6B\xC8\x61\x48\x70\x2A\x51\xE4\x3C\xF2\x52\x4F\x8F\xD7\x5C\x40\x5E\x41\xD7\x6F\xE0\x4F\xF1\x61\x7B\x4C\x41\x6F\x7C\x37\x54\x39\x54\x48\x65\xEE\x6D\xE4\x6B\xF1\x52\xC8\x2D\x75\x7C\x3E\x9F\x61\xC0\x3F\x05\x8C\xF0", +"\x34\x0A\x69\x5C\x98\x31\x9D\x67\xC4\x96\xC5\x96\xF3\x4F\xF1\x3E\x0A\x76\xA8\x0E\xDE\x7A\x6F\xE1\x8F\xBC\x63\x5D\x8B\x13\x67\x88\x60\x3E\x7E\x7D\x6F\x24\x2F\x68\xC1\x3C\x51\x9E\x81\x2C\x3E\x7B\xCA\x1E\xCD\x0B\x99\xF0\x67\x5B\x5F\x52\x9D\x15\x69\xE6\x32\x69\xAD\x9E\x33\x6F\x16\x03\x9A\x9B\xD8\x4B\x68\x29\x03\x17\xBF\x40\x00\x79\x6F\x6A\x6F\xF0\x8E\xBD\x7F\x09\x55\xD0\x9C\x0A\x5C\x69\x00\x70\xF5\x94\x3F\x0F\x0F\x52\x0B\x5C\xFA\x3C\x42\x79\x9D\x2F\x3F\xC1\x83\x2F\x53\x39\x60\x09\x57\xDD\x61\x3C\x66\x35\xD9\x3A\xAE\x4F\xB8\x98\x19\x93\xDF\x56\xD3\x92\x84\x77\x00\x36\x6F\x01\x02\xDC\x6C\x54\x98\xF2\x63\x77\x74\xFA\x24\xB6\x3D\x6F\xC2\x29\xDF\x6E\x3C\x8C\x15\x8F\xF5\x38\xE8\x04\xDE\x74\x60\x1F\x3B\x40\x60\xF3\x6C\xF4\x45\x08\x6C\x51\x4A\xFC\x01\x50\x52\x76\xD4\x67\x22\x66\xF5\x60\x0D\x65\x7D\x53\xFE\x37\x6C\xEB\x82\x36\x00\x09\x3C\x6E\x9C\xD7\x10\x94\x47\x07\xC2\x6C\xE7\x3C\xE8\x94\xEF\x59\x26\x39\xC5\x94\x5E\xBD\x2D\xA6\x4E\x93\x7E\x1C\x2B\x6D\x9D\x9C\x79\xDB\x83\x5E\xBE\x36\xA4\x5D\x60\x9B\xF6\x67\xB8\x76\x77\x21\xDC\x9F\x2B\xB0\x14\xAF\x8A\x83\x5F\x1B\x03\x4C\x8F\x42\x87\x54\x8D\x2B\xA0\x34\xD2\x4A\x3B\x8B\x41\x7E\x70\x6C\xCC\x60\xD1\x60\x03\x57\x08\x1C\x60\xD9\x6E\x1A\x02\xB4\x91\x20\x04\xAD\x89\xA2\x07\x78\x67\x98\x98\x33\x0A\x95\x91\x7B\x39\x8E\xB1\x78\x9C\x34\x81\x65\x50\x8F\x3D\x70\x97\xAF\x18\x27\x52\x33\x1D\xFD\x06\x20\xA7\x6B\xE7\x94\x8F\x9A\x67\x61\x01\x67\xCC\x6D\x57\x9A\x37\x88\x2A\x34\x40\x0D\x40\x07\x51\x00\x77\xAF\x99\x6B\xBC\x79\x23\x8D\xFA\x95\x7E\x28\xBF\x94\x97\x3F\x3F\x26\x64\xBF\x2A\x81\x96\xA8\x3F\x81\x96\x5D\x15\x60\x96\x97\x18\xA7\x08\x2C\xD8\x87\x98\x18\x86\x95\x7C\x36\x61\x91\xCD\x64\x6D\x49\xE7\x37\x99\x06\x6B\x55\x59\x75\x35\x05\x1C\xCB\x98\x5D\xB7\x31\x90\x97\x1C\x4B\x58\x36\xD1\x94\xAA\x59\xB4\x84\x12\x6E\x2F\xE9\x97\x03\x98\x85\x47\xBF\x40\x31\x3F\xE2\x86\x16\x7C\x2F\xD5\x96\xFE\x96\x84\x2C\xFD\x96\x58\x40\x16\x84\x18\x5A\x66\x55\x35\x07\x46\x01\x99\xB9\x42\xC6\x97\x6C\x41\x72\xA0\x2D\xD4\x96\x04\x98\xF6\x95\x1D\x5F\x80\x9D\xB6\x85\x62\x9A\xAD\x47\x98\x9D\x71\xE3\x51\x30\x43\x75\x9F\x07\x56\x5B\xBF\x96\x46\x9B\x79\x96\x15\x76\x25\x7E\xAB\x90\x58\x67\x2E\x5D\x06\x75\x67\x0D\x98\x23\x98\x1E\x9E\x17\x46\x03\x13\x5C\xA7\x04\x16\x97\x3C\x5A\xCC\x94\x06\x9F\x75\x92\xD8\x5B\x72\x98\x66\x77\x96\x9F\x96\xF5\x32\x45\x4F\x67\x98\x51\x46\x5D\xA2\x39\xA8\x9C\x73\x36\x1B\x01\xEA\x97\x24\x06\x50\x5C\x69\x4C\xB6\x68\x9B\x2E\x29\x86\x4A\x5F\x69\xB2\x59\x62\x1D\xDC\x14\xB6\x7A\x4D\xE9\x4C\xA5\x5A\x93\x9A\x7C\x63\xE6\x9E\x5E\xA5\xCF\x09\x02\x24\x5B\x51\x70\x3C\x36\x79\x98\xFF\x71\x75\x49\x35\xD0\x71\x6E\x9C\xDF\x83\x28\x9B\xE8\x41\xD3\x49\x60\xB5\x39\xC1\x96\x8D\x9C\x07\x98\x0E\x05\x89\x96\x10\x04\x75\x81\x2E\xFB\x56\x16\x98\x65\x73\x9A\x98\x8D\x91\x1A\x76\x62\x99\x3A\xA4\x30\x9B\x75\xD1\x62\x2E\x89\x5A\x85\xCA\x8D\xF4\x51\x32\xD8\x71\xC0\x52\x4A\x9B\xA9\x9C\x0A\x3D\xE7\x62\x64\xBF\xF9\x2B\x9D\x06\x9B\x34\x98\x22\x9D\x8D\x9B\xA9\x6F\x75\xAF\x61\x0A\x97\x92\x40\x69\x84\xB8\x89\x88\x9E\x9B\x54\x63\xA7\x30\xEE\x96\x50\x9C\x6A\x2B\x0D\x02\x06\x0E\xC7\x86\x08\x15\x3B\xBB\x9D\xD5\x4A\xF8\x2D\xAF\x98\x93\x95\x4B\x9B\x67\xB1\x58\x0B\x41\xC6\x9C\x51\x99\x72\x9F\x7E\x90\x2D\x89\x76\xB5\x3A\xD3\x85\xB7\x9C\x48\x7F\x24\x9F\x84\x95\xC9\x8F\x62\x8E\xA6\x51\x98\x83\x99\x63\x85\x9E\x80\xD8\x9C\xCA\x3B\x60\xBC\x30\xEE\x5A\xE1\x9D\x72\x9F\x1B\x9E\x6F\x16\xCA\x9A\x5C\x39\xE2\x56\x85\x75\x98\x13\x9E\xDC\x50\xCF\x9D\xB8\x20\x5F\xB3\x6A\x54\x5A\x68\x5B\x4A\x4E\x5C\x5C\x50\x36\xBC\x8A\x78\xAC\xB5\x73\x5A\xCF\x26\x4C\x4E\xB7\x9F\xF4\x49\xCB\x8C\xA0\x52\x9B\x09\x9E\x6A\x5B\x4D\x37\xC2\x9D\x53\x3F\xC9\x86\xD4\x19\x3C\x85\x49\x6D\x5B\x88\x9D\x5D\x5B\xE2\x99\x78\x7C\x34\x57\xB6\x12\x16\x4D\x26\x50\x35\xF6\x20\x55\x48\x86\x88\x6C\xA1\x4F\x2E\x45\x98\x8B\xC0\x52\x2F\x98\x98\x98\xCD\x9F\x65\xA3\x9A\x7A\x2A\x32\x00\x6E\x99\x3A\x0E\x9B\x99\xCD\x8B\x66\xA4\x5B\x5B\x2B\xC6\x47\xAA\x50\x88\x9D\x1A\x36\xCE\x80\x7E\x54\x33\xFB\x33\x33\x9F\x9B\x9D\x68\x69\xE9\x9A\xCD\x9B\x9E\x07\xF8\x4A\x13\x19\x51\x6F\x9B\x35\x62\xA2\x97\xF1\x05\xD1\x15\x34\xF2\x62\xD7\x3C\x1B\x01\x46\x9C\xDB\x3E\x87\x65\x4B\x40\xE2\x3D\x9A\x84\x74\x56\x86\x48\x9A\xFB\x5C\xE0\x26\xF2", +"\x45\x24\xAA\x5E\x8E\x70\xE5\x6A\x4B\x9A\x2F\x5C\xD2\x89\x50\x9A\x81\x4C\x73\x31\x9B\x0B\x06\xFC\x6D\xB5\x92\x7B\x6F\xBC\x4B\xD2\x14\x61\x00\x00\x4B\x62\x62\x9B\xDE\x60\xF6\x8C\x6B\x7F\x34\xE9\x3D\x41\x9B\xAC\x9B\x50\x98\x0E\x07\x7C\x47\x5E\xBD\xE7\x46\x9D\x2E\x5B\xB1\x98\x61\x3A\x9F\x33\xD3\x93\x6C\xB4\xDF\x59\x6F\x99\x3F\xB4\x4C\xDC\x6C\xED\x4F\xCD\x32\x58\xBF\x94\x16\x6A\xD0\x7E\x7A\x94\x32\x1F\xE7\x30\x0E\x65\x79\x45\xE0\x5D\x50\x7B\x4E\xC1\x9B\x5F\x9F\x08\x51\x86\x50\xB4\x46\x36\xF2\x9E\x8D\x9E\xC5\x9B\xE3\x9B\x68\x2E\xB8\x30\x6C\x80\x00\x12\x9B\x7B\x9F\x4D\x3F\xEE\x6B\xC9\x58\xD9\x92\x9D\x1A\x36\xB8\x94\x9C\x6F\x0E\x2A\xF1\x6F\xF3\x67\x79\x61\xBD\x40\xDF\x23\x6F\x9D\x4F\xAB\x97\x76\x2F\xF9\x69\x78\x66\x7B\xAC\xCD\x2C\x3A\xAD\x6E\x32\x62\x6B\x99\xB6\x90\xDB\x97\x0F\xAA\xEB\x6E\x35\xE0\x78\x00\x02\x38\x79\xB6\x98\xDB\x87\x5B\x56\x3A\xC7\x9B\xC5\x9C\xA3\x99\x0F\x98\xB8\x91\xDB\x84\x66\x4F\x53\x7B\x39\x4B\x52\xAF\x89\xA0\x20\xE2\x46\x02\x51\x79\x9A\x2F\xA7\x9C\xBA\x97\x74\x4A\x3C\x86\x87\x78\xF0\x8E\x34\x59\x6A\x1F\x9E\x96\x4D\xCE\x66\xC3\x9A\x54\x37\x69\x44\xBE\x56\x3E\xA0\x44\x2B\x36\xBD\x5B\x99\x50\xDA\x91\xEA\x84\x4C\x58\xB8\x1D\x8A\xED\x9E\x7A\x6B\xFC\x9D\x81\x2B\x1B\x63\x80\xA1\x3C\xF3\x60\xE0\x87\xFF\x99\xAA\x35\xD3\x4C\x62\x1E\x6E\x8C\x06\x59\x27\x89\x3A\x99\x25\xD1\x25\x81\x17\x33\x2E\xEC\x3C\x4C\x0E\xA0\x16\x02\x0E\x2F\xCB\x25\x68\x2A\xDF\x08\x9A\x11\x77\x0D\x94\x31\x00\xB9\x37\x6A\x97\xCD\x35\x34\x2E\x40\x15\x40\x83\x95\x20\xA1\x02\x89\x9F\x94\x68\x2F\x10\x1F\x09\x08\x24\x1E\xA0\x8A\x56\xCA\x54\x07\x6F\x84\x62\x07\x0B\x7A\xA0\xD0\x14\x50\x24\xA1\x16\xA2\xD1\x27\x68\x07\x02\xAA\x9B\x69\x69\x1D\x1D\x0F\x51\x1B\xA3\x33\x3B\x02\x5C\x02\xA6\x0A\x01\x33\xE2\x09\x1E\xA0\x0D\x52\xF7\x9B\x9A\x23\xD3\x21\x7F\x92\x40\xBA\xA0\x1D\xA0\x9C\x25\x09\x47\x99\x2E\x03\x0B\x82\xAC\x13\x7E\x33\x20\x41\xA2\x25\xFC\x1E\x03\xAA\x4D\x21\xF6\x6E\x6A\x7C\x85\x4F\xA0\x23\xA3\x0B\xA2\x0A\xA3\x5B\x81\xF6\x4F\x2A\xDD\x7D\x45\xA1\x9F\x02\xD0\x08\x06\xAD\xED\x7E\x01\x2B\x79\x3C\x0C\x1C\x2C\x37\x3D\x18\xA7\x27\x06\x02\xA4\x83\xB4\x79\x6F\xA0\x86\x02\x9F\x25\x2E\x2D\x68\x23\x06\xA3\x9E\x3C\x18\x3E\x00\xAF\x84\x34\x7D\x6C\x01\x7B\x23\x2B\x93\x83\x87\x41\xB0\x18\x3D\xA0\x13\x71\x20\xA1\x05\x7C\x61\x20\xC1\x5C\x40\x8D\x0A\x1E\xA0\x13\x70\x2B\x8D\x68\x36\x2E\x79\x81\x86\x41\xF5\xA0\xCB\x43\x71\x58\x2B\x8D\x80\x86\x2E\x7C\x83\xAB\x20\x30\xA0\xE3\x58\xF8\x62\xAB\x35\x41\x66\x08\xA3\x83\x9C\x27\xBE\x00\xF0\x63\x33\xA1\xE3\x51\x0D\xA4\x07\x0B\x83\xA0\x00\x2E\x57\x03\x9C\x03\x9D\x19\x04\xC0\x70\x0F\x76\x84\xBF\x04\x47\x26\x64\xA1\x0F\x50\x10\xA3\x63\x6F\x81\x4F\xE6\x1F\xA0\x2C\xA1\x14\xA1\x57\xA2\xE6\x98\x9A\x16\x0F\x72\x70\x95\x15\x59\x27\xE8\x86\x43\xA1\x30\xA3\x7D\x89\x3D\x86\x86\x8A\x15\x1C\x2C\xBB\x73\x47\xA3\x57\x8E\x03\xA5\x2D\x64\x68\x71\x0F\x97\x04\x6B\x1F\x81\x03\xDA\x1A\x04\x80\x38\x36\x85\xB4\x01\x39\x5E\x3D\xA1\xFB\x86\x35\xA5\xF5\x77\x21\x17\xC0\x5C\x43\xDB\x27\x45\x27\xE2\x42\x07\xA7\x7E\x8A\x89\x66\x87\x90\x68\x5E\xA1\x29\x17\x1E\xA2\x81\x32\x13\x7D\xD0\x9D\xDA\x05\x4D\x36\x26\xC2\xA0\x03\x37\x78\x72\x29\x00\x3F\x8D\x94\x5E\x43\xD1\xA0\x16\x66\x28\x5B\x3E\xA0\x24\x0E\x9F\x29\xD1\x1A\x41\x94\x2C\xEB\xA1\x0F\x58\x2B\x9B\x82\x20\xF6\x4C\x79\x86\x42\xF8\xA1\x2F\x9F\x8F\x9C\xD3\x20\xAF\x20\xAA\x21\x9A\x28\x8A\x45\x26\xB8\xA1\x5C\x5A\x44\xA1\x79\x5E\xAA\x22\x5E\x5E\x43\xA6\xA1\x51\x4F\xE4\x56\x2A\xA2\x78\x55\x34\x2E\x85\xA1\x44\x93\x64\x38\x00\x57\x36\xFE\x8D\x14\xAF\x09\xA4\x83\xAB\x22\xA8\xA1\x28\xA2\x55\xA0\xDB\x8D\x24\xA6\x95\x0C\x83\xB0\x01\x71\x8E\x24\x72\x57\x37\x49\x74\x25\xAD\xAF\x12\x87\x87\xE4\x24\x72\xAA\xA1\x0B\x64\x4D\xA4\x03\x46\x13\xBD\x90\x67\xAE\x37\x00\xAE\x34\xD3\x8C\x4F\xA4\x8B\x1E\x13\xB5\x3C\xB0\x44\x9F\x8D\xAA\xA0\x45\x8F\x50\xA4\x45\x40\x00\x16\x89\x8F\x1A\xF5\x72\xAE\x35\xA3\x7F\x52\xA6\x13\x2D\x14\xB7\xC9\x75\xE5\x2A\xA1\x31\x73\xA9\xA0\x3C\x7D\x2A\xA9\x0F\xAE\xC9\x4F\x45\x82\x86\x36\x00\x57\x36\xB2\x8B\x2B\xA3\xE3\x6D\x8A\x92\x17\xCA\x8B\xAA\xA1\xE6\x8A\x58\xA7\x29\x84\x16\xA2\xC8\x2F\x45\xA6\x5C\xFE\x33\x48\x5C\x5B\xA4\xD9\x8D\x03\xA1\x19\x54\xB8\x51\x29\x1A\x47\xB9\xA2\x61\x85\x2E\xAF\x33\x47\x5D\x79\x00\x2E\x35", +"\xCF\x91\xBD\xA0\xEA\x8D\x29\xAC\x1C\x66\x8C\xAA\x42\x84\x90\x82\xA2\x12\x86\x4D\xA4\x39\x6D\xA0\x90\x01\x22\x40\x9E\xA2\x86\xA0\x4C\xA3\xE4\x55\x8C\x35\x19\xAA\x81\xB2\x2A\x9E\xA1\x3D\xA3\xB2\xA3\x84\x95\x9A\x9D\xF3\x85\x87\xB9\x16\x3A\x5E\x52\x9F\x33\x92\x21\xA1\x1E\xA4\x06\xAC\x7A\xBE\x3C\xA4\xA3\x36\x9F\xA6\x9C\x1D\x02\x02\x59\x1A\xAC\x85\xB8\x43\xC9\x26\xA9\xA2\x1F\x03\xD3\x6F\x5B\x09\x1F\x82\x08\x3B\x07\x8B\x79\xDE\xA1\x0B\x71\x0F\xA0\xB5\x6B\x1B\xB0\x26\x06\xBA\x00\x00\x71\x51\x45\x79\xD1\x20\x1C\xA2\x0C\xA8\xAD\x6A\x42\xEC\x99\x52\x6E\x87\x9A\x21\xA0\x17\xA0\x21\x68\xDE\x0F\x47\xB3\x0C\xCF\x38\xE0\x37\x04\xA0\x09\xA2\x1A\xA8\xDE\x27\xAE\x35\x00\xAE\x35\x1F\x8E\x62\xA6\x90\x0D\x14\xAC\x18\x9F\x47\xAA\xA1\x06\x87\xC8\xA2\x71\x06\x26\xAC\x30\x81\xF8\x0D\x68\x34\x51\x86\xA0\xA0\x19\x0F\xA2\xB3\x21\xF0\x2D\xA6\x17\x7B\x45\x26\x85\x1A\x0F\xA2\x66\x2B\xEE\x9C\x18\x19\x86\x82\x04\x5B\xA1\x76\x9E\x6F\xA0\x73\xA0\xE2\x43\xD9\x9E\x01\x3C\x47\x96\x02\xE6\xA0\xBB\x9D\x3A\xA6\x04\x1C\x05\xA5\x90\x87\x47\xCA\x51\x97\x89\xC4\x09\x3A\x1A\xF8\x19\x10\x14\x90\x90\xA3\x11\xA4\x76\x05\xA9\x62\x21\xA7\x2A\x63\x10\x17\x8A\x7D\x40\xBA\x62\x6E\x62\x34\x02\x0F\x07\x41\xA4\x16\x6F\x47\x66\xC5\x24\x0D\x5C\x0C\x4B\x89\x59\x61\x44\xAC\x0A\xBD\x8D\x81\x04\x43\x82\x1E\xA0\x10\xA4\x1C\x89\x21\x56\x51\x9A\x28\x99\xBD\x28\xA4\x6D\x76\xA6\x81\x47\x55\x68\x2F\x1F\x93\x98\x3D\x40\xAA\x8A\xAB\x79\x1A\xA4\x29\x7E\xE7\x53\x81\x7D\xE0\x7A\x48\xC5\x26\x24\xA5\x80\x01\x12\xA7\xA3\x84\x56\x80\x0A\x14\x73\x5D\x8A\x86\xA0\x80\xA2\x5A\x88\x2B\x8D\x24\xB0\x10\x95\x6C\x03\x5F\x07\xA3\xD1\x36\x07\xA1\xF1\x52\x86\x8A\x14\x20\xBD\x66\x90\x3B\xA4\x1D\xA0\x44\xA6\x0E\x90\x7E\x83\x9F\x1D\x49\x96\x02\x6A\x95\x3E\x90\x2B\xA1\x23\xA4\x67\x8A\x14\x15\x41\xC8\x7B\x53\x7A\x6A\x38\x82\x81\x4A\xA0\x09\xA4\x83\xA7\xF4\x18\x7B\x66\x6D\xE3\x5F\x54\x7C\x15\xAB\x05\xA2\x86\xA7\xF4\x09\x80\xF3\x0A\xEB\x69\xDD\x66\x1B\xA3\x26\xB3\xFB\x6F\x1E\x13\xA2\x28\x26\x01\x42\x91\x85\x6E\x68\x11\xBC\x81\x82\x43\xF9\x75\xD9\x79\xC9\x7C\x8E\xA5\x44\x37\x1C\x81\x93\x86\x41\xBD\xA4\x72\x1E\x3B\xA3\x80\x81\x52\xA1\xDB\x85\x92\xB3\xD8\x13\x7F\xAC\xA1\x24\xA4\x61\xA7\xB6\x9A\x12\x90\x29\xA6\x43\x82\x8B\xF0\xA0\xE5\x11\x0F\xA7\x41\x8E\x03\x05\x95\xB1\x2F\x72\xA4\x2E\x83\x7B\xA0\x40\x0C\x1A\xA7\xC6\x70\x9A\x25\x2B\x40\x99\xA2\xA5\xD8\x1E\xDF\x00\x98\x96\x29\xBF\x09\x08\x26\x3D\xA0\xB7\xA5\x9B\x9E\x0F\x06\x56\xAB\x2B\xB7\x79\x99\x4F\x41\xA5\xB2\xA2\x56\xA0\x6B\xA2\x67\x28\x2C\xBE\x79\x84\x4B\xF3\x06\xC0\x98\x0E\x2D\xB3\xA2\x12\x6D\x8D\x86\x08\x15\x4B\xCC\xA5\xC5\xA4\xD9\xA0\xDB\x44\xB4\x58\x80\x2D\x57\x3E\x0D\x7E\x07\xC0\x99\x11\x2B\xB4\xA1\x60\x68\x4C\x65\xC2\x65\x2B\x19\x07\xBF\x02\xCE\x06\xE7\x07\xE6\x90\x04\x0F\x96\xA8\x0D\x37\x9E\x60\x5F\x71\xA6\xD3\x9D\x7B\x29\x17\x08\x4C\x21\x4F\x72\xA5\x97\x8A\xF3\x24\x73\x2D\x5C\x15\x37\x1E\x99\x3C\x4B\x8A\x03\x53\x26\x5C\x03\x49\x02\x60\xA0\x3F\x3F\x97\x96\x06\x0B\x28\xF8\xA4\x37\x2B\xCD\x9A\x91\x9A\x36\x29\x98\x92\x5F\x0B\xA6\xC7\x29\x6E\xA4\xB9\x16\x6F\x08\x89\x08\xA0\x06\x4C\xE1\x92\x3F\x2C\x87\xA7\x6B\x38\x62\xAD\x82\x7A\x98\x9E\x2B\x32\xA3\x49\x30\x89\xA7\xE5\x03\x5B\x1A\x18\x07\x9F\x24\xE1\x10\x07\xFE\xA4\xBF\x07\xBB\x11\x70\x2A\x0B\x07\x09\x2D\x4C\x85\xA6\x2A\xA7\x6A\x14\x08\x4A\xE1\x5D\x30\xB4\x98\x8A\x06\x52\x92\x20\x31\x79\x42\xAE\xA4\x64\xA6\x19\x0F\x4B\x9D\x55\x66\xA5\x31\xA6\xC8\x04\x0E\x2F\x64\xA2\x22\xA8\x9C\x3A\x33\xB5\xA6\x3C\xA7\x36\x00\x5A\x91\x67\xA0\xCF\x37\x98\xBE\x4C\x8C\x49\xDE\xA5\xB9\x07\xBB\x16\x64\xA6\x33\xB6\x0C\x01\x4D\x17\xA6\x6C\x95\x5A\x84\xB6\xA1\x69\xAC\x86\x8B\xAA\x04\x4D\xA9\xA6\x52\xA7\x6A\x14\x09\x3C\x89\x62\x10\x0E\xA2\x7B\x4C\x8E\x07\x32\xA6\xA3\xA4\xCD\xA7\x6C\xA4\x37\x17\x99\xB3\x28\xCC\xA6\x3E\x28\xA7\xA7\x8C\x97\x79\x2F\x33\xB1\x9A\xA8\x4D\x90\x07\xFA\xA4\xAF\xA5\xD0\xA0\x0D\x00\x36\xB7\x9B\xA7\xC5\x31\x00\x2F\xA6\x83\x01\xE0\xA3\x6B\xAE\x37\xB3\x99\xBD\x90\x6E\x2A\x72\xA7\x9C\x92\x31\x80\x6E\xA8\x34\xAA\x16\x1C\x19\xF3\xA6\x7A\x5E\xA0\xA5\xD8\xA2\x68\xA6\x31\xBB\x9B\x86\x4E\x8B\x44\x6C\xA7\xC7\xA6\xE2\xA4\x4A\x3B\x46\x79\x9C\xAE\x4D\x9B\xA7\x8C\x35\xBA\xA7\xC4\xA3\x72\xA8\x06\x14\x9A\xA4\x4E\xD7\xA6\x7B\xA7\xAC\xA6", +"\xFA\x84\x70\xA7\x06\x0F\x57\x0F\x16\xCB\x4E\x45\x71\x23\x73\xB1\x16\x5D\x3E\x06\x1A\x77\x35\x4E\xCD\x70\x8B\x06\x7D\x74\x15\x77\x7F\x2D\x71\x3B\x9D\x98\x7F\x57\x70\x5F\x3F\x2C\x72\xAE\x51\xEF\x2E\x3B\xBD\x4D\x5E\xE1\x06\x48\x92\x33\x30\x71\xC6\x6C\x6D\xAF\xAE\x06\xC3\x56\x2B\x47\x81\x63\x7C\xBE\x79\x99\x7D\x13\x92\x32\xB3\x12\x38\x50\x45\x70\xBA\xA7\x63\x17\x16\x73\x71\x0F\x3B\xBA\x9E\x81\x4F\xBB\x24\xC3\xA7\x53\x31\xF1\xA4\x70\x70\x3E\xAD\xD2\x0A\x4F\xB7\x92\x44\xA6\xE7\xA4\x5B\x91\x7A\xAB\xDF\x71\xB9\x5D\xDC\x3A\x27\xD5\xA7\x32\x03\x90\x80\xFD\x5B\x10\x8F\xDC\x7D\x4A\x87\xA1\x18\x19\x1F\xA6\xBC\x6B\x7E\xA0\xBB\x1C\xB0\x07\x09\xAC\xA1\x51\xA1\x2B\x84\xFA\x58\x10\xAB\x2F\xBB\x9B\x87\x4B\xA9\xA7\xDE\xA1\x65\xA0\xEB\xA6\x75\xA6\x3A\xBE\x9B\x92\x4B\xA9\xA7\xD2\xA1\x40\x26\x07\xA4\x68\xAB\x0B\xB3\x6F\x99\xED\x21\x6B\x59\x77\xFB\xA4\x75\xA2\x6C\x7E\x92\x51\xA6\x19\xED\x4F\x39\x19\xA9\xED\xA0\x22\xA2\x18\xA9\xB5\x64\xA0\xA8\x29\xEB\x89\x65\x90\xE0\x8D\x02\xAC\x3B\xA4\x91\x8E\x32\x88\x21\x9C\x81\x45\x36\xE0\x8D\x04\xA8\x27\x24\x18\xBF\x05\xA7\x45\xC3\x92\x16\x05\x07\x34\xB2\x93\x3C\xA9\x29\xAD\xA1\xB7\x50\xC5\x95\x94\x05\x47\x97\xEE\x72\x3D\xA9\x29\xAD\x32\xAD\x4A\xA3\x88\x26\x88\x39\x02\x39\xA5\x52\x87\x3F\xAC\x8D\x96\x40\x9F\x85\x47\xA8\x1B\x7F\xA7\x86\x03\x5B\xE2\x76\x8D\xB3\x4A\xC2\xA1\x2B\x88\xF4\x79\xA4\x0E\xBA\x6C\x10\x8F\x88\x97\x51\x99\x50\x18\x62\x44\xA7\x2E\x26\x0E\x80\x11\x9E\x09\x06\x09\xBC\x78\x8D\xA5\xAD\x11\x12\xA1\x8C\xAF\x42\xB7\x39\xA9\x50\xF1\x90\x2B\xA9\x11\xA9\x0B\xAC\xCD\x8D\x46\xAA\x06\xB1\x50\xF1\x90\x33\xA8\xAF\x21\x0D\xA8\xEA\x82\x47\x9C\xB7\x63\x1C\x2E\xA4\x00\x01\xFD\x81\x05\x71\x38\xA7\x1A\xBD\x81\x9C\x04\xFD\xA8\x03\x41\x88\x15\xAE\xA5\x02\x7B\x1C\xA3\x3E\x1E\x40\x9C\x82\x90\x8B\xBA\x0F\xE0\x49\x81\x7E\x0D\xB7\x5A\x1F\x48\xE2\x0B\x3E\x01\x48\xAB\xA6\x83\xB2\x85\x02\xB1\x40\x31\x48\x98\xA9\x88\x8B\x8E\x02\xFF\xA2\x07\x8E\x0D\xBA\x8C\x8E\x16\xA1\xA9\x73\x00\xF4\x78\x2B\xA5\x0F\xAE\x58\x8D\xA0\xAD\x4D\x96\x03\x07\xA9\xA4\xA7\xFD\xA2\x81\xAE\x39\xA7\x98\xAE\x52\xF5\x06\x0F\xA8\x59\xA9\x1E\xAA\x3C\x24\x18\xB7\x98\x99\x52\xB0\xA7\xC7\x15\x67\x3A\x9B\x7E\x10\xA6\x49\xA4\x83\x98\x4F\xEB\x7C\x8B\x07\x06\x34\x12\x75\x93\xA2\xBD\x0F\xA4\x8E\xE1\x48\xA9\x5F\x06\xD9\xA7\xE2\x03\x6A\x27\x3B\xA6\x08\x15\x53\xFF\x50\x4E\x71\xD5\x82\x08\x03\x77\xAB\x3D\xBF\x1A\x1D\x4F\x8B\x07\x58\x71\xF2\xA7\x43\x3B\x7C\xA3\x26\x82\xA7\xB4\x65\x6A\x77\xFF\x2A\x31\x71\xE3\xA5\x75\xA5\x86\x60\x05\x67\xE1\x50\xA7\x6A\x70\x04\x68\x1B\x71\x99\xA8\x40\x38\x9E\x9A\x53\xDC\xA9\xE3\xA8\x2E\x71\x6F\x50\x78\xAA\x79\x42\x9E\x9D\x53\xD5\x70\x29\x48\x73\xA8\xB5\x42\x79\xA6\xFA\x29\x9F\xAE\x53\xCF\xA7\x56\x93\xE8\x7F\x0B\x73\x0D\x71\x3F\xB0\xA6\x93\x09\x52\xA9\x5F\x07\xC0\x24\x13\x76\x20\x03\x51\xB8\xA6\xB9\x4E\xF7\xA9\xDE\xA7\xDE\xA6\x3E\xAF\x5A\x7C\x4F\xB2\x2B\x7E\x53\xF9\xA9\xDC\xA6\xE3\xA6\x40\xA9\x5D\x4C\xC8\x4A\xA7\x8C\x4F\xED\xA9\xDA\x9D\x77\xA9\x42\xAC\x7D\xAC\x4A\x33\x9E\xBF\x19\xF3\xA9\xBB\x15\xA6\x26\x05\x08\xEC\x51\x87\x7E\xA2\xAD\x9E\x3D\xA0\x34\x62\x4D\x89\xC4\x11\x68\x2E\x12\x69\xA3\xAD\x24\x1E\xA0\x34\x63\x45\xAA\x45\x84\x29\x6F\xEE\x36\x90\x83\x04\x16\xA4\x45\x63\x44\xAA\x84\xA4\x1A\x5E\x0D\xBC\x90\x82\x04\x1E\xA4\xC6\xA9\xA1\xAA\x54\x64\x1C\x52\x54\xA1\x23\x98\x12\x83\x14\x93\xA5\x0A\x2E\x2A\x8B\x40\x1D\x22\xA7\x09\x30\x48\xC2\xA1\x5B\xAB\x84\x51\x46\x56\x5A\x04\x37\x65\xAB\x03\x4E\x02\x02\x85\x26\xF1\x25\xFA\x32\x71\x2A\x93\x3C\xA3\x00\x57\x3F\x74\x68\x45\xBB\x26\xD9\x0A\x84\x23\x03\xB0\x95\x5F\xD0\x34\xA0\x24\x38\x5A\x96\xDE\x64\x06\xA9\x42\x78\xF2\x10\x4E\x01\x9F\xA1\x60\x18\x69\x3D\x43\xCC\x3D\xB1\x7D\x9E\x66\x79\x30\x65\x22\x28\x2B\xA2\xCC\x02\x29\x5F\x4C\x38\xA7\x37\x37\xE6\x95\x54\xA1\x66\x5B\x47\x9B\x15\x7C\xDF\x9B\x0A\xBE\x37\xE4\x9E\x84\x36\x78\x94\x6A\x1C\x00\x48\x07\xAB\x03\x38\x52\x44\x27\x24\x39\x5E\x2B\x40\x05\x97\x2E\x07\xA6\x0C\x28\xF4\x2A\x7C\x06\x2C\xB6\x67\xF4\x72\x99\x21\x4A\x2B\x84\xB8\xE0\x46\x7F\xB0\x84\x77\x37\x73\x8B\xF9\x73\xE5\x7E\xF2\x42\x42\xE0\x7C\x59\x95\xE4\x25\x3C\xAA\xE6\x60\x69\x75\xFE\x5A\x80\x2C\x89\xAE\x88\xBD\x28\x0E\x01\x96\x82\xCE\x41\x98\x76\xB3\x59\x73\x3E\x61\x6F\x76\xAC\x5B\x5C\x7E", +"\xA9\x61\xCF\x76\x28\xB1\xA1\x9B\x9F\x32\x01\x81\x99\xBA\xAE\xAE\x31\x3D\xB3\xC3\x3A\xA1\xFD\x95\x06\x9F\x7F\x9B\x1F\x69\xDA\x98\xFC\x78\x73\x28\x3F\x79\xA6\xC3\x39\x6E\x70\xAF\x2B\x9B\x76\x01\x17\x38\xF3\x6C\x55\x7F\xE0\x73\xB5\x60\xEB\x7D\x3D\x90\x58\xB5\x83\x1F\x9C\xE1\x86\xD5\x46\x88\x9D\x39\x7F\xAF\x00\x02\x23\x43\xFB\x73\x7B\x58\x7F\x3B\xC4\x65\x06\x04\x3F\x96\x1F\x97\xCC\x39\x8E\x81\x92\x18\x8A\x56\x85\xD2\x90\x40\x88\x67\x83\x44\xA8\x9E\x78\x2B\x49\x3D\x0C\x00\x3D\x7E\x4B\x34\x13\x51\xD6\x24\x66\xED\x73\x79\x9D\xCB\x65\x3E\x7E\x27\x41\x12\x69\xB0\x55\x66\xF0\x72\x42\x44\xD6\x62\x66\x67\x0E\xB2\xFD\x61\x07\xD7\xA1\x66\x58\x00\x77\x10\x63\x40\x7C\x25\x4C\x6F\xB3\xCA\x42\x5B\x6B\x67\x2F\x47\x89\xAA\x41\x74\x58\x6A\x4D\x1A\x80\x0B\xA2\x0D\x28\x59\x5A\x2E\x9C\x9D\x0B\x57\x32\x65\xA5\x06\x34\x99\x12\xA3\x5D\x59\x9E\x81\x27\x89\xCA\x58\x65\x81\xB3\x33\xAC\x32\x07\x12\x9E\x2C\x66\x35\xA7\xCD\x95\xD8\x04\x59\xBC\x65\x3A\x9E\x79\x08\xCF\x99\x36\xAE\xF3\x8D\xBF\x00\x3D\xE2\x99\x5A\x48\x72\x99\x34\x98\x48\x76\xF4\x82\xBF\x29\x33\x9D\x38\x89\x9B\x7C\x5F\x12\x64\xB1\x9D\x04\x74\xBA\x4E\xB7\x43\x37\x3A\x9A\x77\x99\xF2\x36\xFE\x1B\xBC\x3D\x82\x14\x3F\x55\x4C\xAC\x6F\xB4\x11\xFE\x33\x9D\x96\x73\x42\x01\x3D\x6F\x00\x9D\xF8\x9E\x0D\x39\x01\x3B\xCD\xAA\x65\xB6\x54\x95\xC1\x77\x37\x58\x61\x9D\x4E\xD7\x6D\x13\x5C\xAD\x83\xBB\x76\x2C\x37\x31\x59\x6E\xD6\x82\xF0\x94\x92\x7D\x5A\x6E\x70\x96\x71\x7E\x99\x27\x9F\x69\x3F\x1D\x72\xE0\x35\x5B\x64\xF8\x31\x00\x5B\x9E\x0A\x3F\xDD\x69\xC6\x5D\xEF\x9E\xAA\x72\x0C\xA3\x3D\xBA\x82\xAF\x6B\xE2\x69\x81\x97\xB8\x62\xEF\x28\x69\xA9\xBC\x07\x63\x57\x40\x0F\x97\xDB\x98\xA6\x98\x89\x7C\x72\x47\x48\x8B\x9B\x75\x9F\xC9\x9A\xC6\x93\xE6\x36\x10\x0C\xB5\x85\xA3\x36\x3E\x74\x9A\x7A\x9D\x9C\xAB\x9C\x32\xE6\x7E\x41\x5D\x3E\xC0\x50\x13\x63\x71\x63\xE8\x9E\x0B\x59\x80\x63\x6C\xA5\x3E\x85\x9B\x64\x50\x0F\x3F\x53\x99\xF6\x9A\x7B\x53\xAC\xBE\x34\xFB\x3E\x80\x9F\xAB\x9A\x0B\x69\xB0\xAA\xD5\x84\x7C\x85\x7E\x5A\x9F\x48\x9A\xEC\x9F\xAC\x9A\xF1\x90\x7D\x45\xEF\x3B\x34\xEE\x60\x53\x3E\x38\x63\x65\x9E\x43\x5E\x07\x69\xBE\x7F\x3E\xAD\x92\xC2\x6E\xD8\x2D\xE7\x6C\xF4\x60\xDA\x86\xFB\x0B\xDF\x64\xAD\xA4\x9A\xE7\x6C\xEA\x6D\xE4\x97\xF9\x6C\x0E\xA9\x89\x54\x6F\xA1\x28\x21\xA4\x3B\x85\xBA\x61\xCA\x60\x92\x99\xD7\x39\x00\x00\xA1\x29\x3F\x47\x88\x1F\x8D\xCA\x6E\x2B\xAF\xF2\x7D\x81\x26\x8A\x80\x80\x10\x36\x96\x7E\xB7\x85\x0A\x8D\xD8\x62\x73\x6C\x83\xE4\x0A\x59\x8E\xFD\x7B\x11\x49\x2B\xA1\x15\xF3\x82\x1A\x84\x78\x73\x80\xAC\x2D\x5B\x4C\x93\xEF\x0D\x13\x96\x33\x4E\x8A\xCC\x5E\x5D\x8B\xBE\x3C\x19\x80\x0C\xBD\xEA\x56\x89\xD6\x0B\x8C\x7B\x99\xA0\xFB\x8E\x37\x20\x93\xB2\x00\x5E\x8F\x06\x02\x94\xAC\x99\xA3\x0C\x9B\x2D\xAB\xC5\x5B\x19\xD7\x8F\x9C\x90\x42\x64\x9E\xA5\xD8\x6A\xD9\x75\xE7\x4E\x0C\xF1\x6C\x20\x67\xB9\x79\x68\x7A\xA2\x77\xD1\x75\x11\xA8\x02\xA0\x7F\x03\x7B\x1C\x85\xF4\x40\xA2\x6D\x06\x82\xE9\x55\xF6\x25\x7A\x23\x29\x93\x7B\x8B\x87\xCD\x56\xDA\x60\x0D\x90\x14\xB7\x84\xAB\x7A\x64\x6E\x5A\x7B\xD9\x63\xDC\x72\xED\x58\xF1\x46\x7B\xDE\x8B\x16\x85\xB1\x6A\xBA\x7C\x74\xB6\xCC\x15\xF4\x56\x7B\x3D\xAE\x98\x8B\x98\x90\xB6\x75\x6C\x66\xEA\x41\xF7\x54\xAE\x3D\x84\xE2\x78\x61\x79\xAE\x70\x55\x7B\xE9\x7B\x5C\xBE\x7A\xD5\x7A\x29\x99\xD8\xAE\xE9\xAB\x92\x8A\xED\x7E\xF5\x32\x7A\x81\x84\xB2\xAC\x53\x7A\xBC\x73\xDB\x78\xBA\x98\xA4\x22\x83\xF3\x0B\x05\x83\xEE\x0D\xB3\x5E\x00\x80\x2D\xA9\xEC\x07\xA5\xDA\xA8\x0C\x75\x9C\x80\xEF\x73\x27\x86\x23\x32\xEC\x25\x7F\x35\x77\xBB\x7F\xEC\x70\xF0\x77\x1B\x80\x01\x83\xFE\x3A\x83\xE9\x79\x0E\xAE\xA6\x9C\xF6\x71\x1C\x93\xFC\x67\x07\x8E\x7F\x92\x7F\xD8\x9B\xE7\xAE\x3D\x8F\xFB\x65\xAC\xAB\xDE\x54\x76\x34\x80\x0D\x40\xA7\xA6\xF9\x9E\xAE\x6D\x7E\xBD\x07\xB6\x00\xD1\x9F\xE9\x9C\xEB\xAC\xF6\x54\xDC\x96\x7E\xBA\x36\xE1\x9A\x99\xAF\x4B\x9F\xF6\x9C\xB9\x91\xDB\x8D\x97\xBE\x4D\x78\xA5\xB9\xA9\x77\xA5\xB2\xA2\x06\x05\x2D\xA3\x08\x17\x4B\xEC\xA6\xC0\x99\x96\xAC\xB9\x39\x7E\xA5\xAE\x00\x97\xAC\x4B\xC3\xA6\xD9\xA5\x26\xAC\x92\x64\xF9\xA8\x39\x1A\x1C\x2A\x4B\xE1\xA5\xFC\xA7\x6A\x6C\x42\x87\xDA\x6E\xAE\x2E\xEF\x46\x04\x5E\xAF\x02\xA9\x03\x60\xB9\x73\xA4\x8B\xB9\x18\x25\x91\xDC\x65\xAF\x18\x6F\x02\x6A\x54\xA8\x33\x3E\x83\x73\xDE\x7F", +"\xF7\x19\x7A\xAE\xA9\x77\x15\xDF\xA4\x9D\xA0\x39\x1B\xAB\x24\x4D\x81\x02\x66\xA6\x0A\xAA\xDA\xA5\xD0\xA9\x38\xB0\x51\x92\x8E\x35\xA9\x4A\xA6\xC8\xA4\x42\x2A\x72\xAE\x37\xA5\x00\x5B\xCC\x59\x76\x5B\x77\x92\x77\x0C\x07\x6B\x7A\x24\x0A\x3B\x65\x50\xEF\x4D\x15\x41\x76\xAD\x7B\x9B\xA2\x43\xB6\x72\xF6\x35\x51\xF3\x77\x62\x91\x20\x02\x88\x2D\x09\x90\x00\x1A\x38\xB6\x50\x80\xAC\x44\x89\xA9\x8D\xF2\x8D\x0B\x46\x85\x8C\x32\x58\x21\x9A\x88\x5A\x91\x4F\x90\x97\x8C\x25\x90\x86\x94\x1A\x8A\xC8\x06\x05\x4F\x94\x59\x82\x3F\x41\x45\x90\x25\x07\x5A\xBA\x28\xBB\x81\xE5\x88\x2D\x94\x49\x97\x2A\x90\xA4\x9A\x49\xB0\x25\xB5\x94\x4F\xAE\x32\x96\x44\x88\x28\x9C\xD9\x99\xBA\xBD\x13\x9F\x31\x3C\x94\x16\x96\x8F\x92\x07\xBF\x36\xAC\xC2\xA0\x4E\xAB\xAA\xF9\x77\x30\x96\xD2\x88\x49\x90\x4F\x8A\x44\x9E\x25\xE6\x94\x42\xAC\xA0\x96\x66\x8D\x62\x3C\x44\xB6\x01\x1F\x16\x80\x00\xA1\x8A\x28\xA8\x08\xB5\xB4\x82\x82\xB7\x6E\x87\xF3\x2D\x85\x9F\x85\xBF\xAF\xF6\xAD\x8C\xA2\x07\x0A\x2C\x94\xF1\x27\x88\xF9\xAD\x2B\x85\x10\x79\x52\x8B\xC4\x73\xE2\x63\x04\xEA\x34\x2C\x93\xFD\x01\x1A\x04\x69\x66\x84\xA1\x24\xA8\xD0\x4F\x78\x10\x25\x2D\x79\x06\x64\x0D\xBB\x45\x99\xE2\x41\x62\x86\x04\x19\x45\x0B\xB3\x1B\x90\xAF\x29\xBF\x62\xB1\x3B\x25\x82\x02\x7D\x93\xFC\x77\x23\x95\x0C\xBB\x63\xBF\x51\xA3\x21\x8B\x93\x87\x92\xEE\x2D\x26\x94\x12\x96\x98\x86\x44\x89\x1D\xAF\xAE\x3D\xA6\x96\x93\x28\x92\x45\x41\x49\xA9\x14\x93\x16\xB5\x00\x8C\x85\x80\x02\xA3\x85\x94\x10\x0E\x90\x10\x39\x60\xAA\x7C\x9F\x84\x0F\x7E\x39\x80\xC6\x79\x29\x9F\xAD\xB3\x01\xD0\x84\x75\x80\x91\x82\x88\x2C\x4A\x8C\x71\x4D\xB8\x76\x09\xFC\x43\x4A\x81\x34\x86\x48\x87\x0A\x86\x85\xA9\x02\x82\x01\xE1\x84\x4D\x81\x80\xAA\xE1\x77\x47\x62\x05\x83\x03\xBD\x5B\xA4\x5B\x7B\x84\xA6\x8F\x78\x68\x19\xB4\x1D\x9E\xF7\x56\x07\xFD\xB0\x67\x85\x69\xB1\x19\x87\x6C\x21\x8D\xA2\xC5\x93\x63\xF9\xAE\xE0\x7B\x64\xB3\xD9\x3D\xF2\xA1\x5E\xA8\xAF\x17\x4C\xF3\xAF\x75\x07\xC0\x27\x78\x98\x00\x04\xAD\x9E\xA5\x99\x4C\xD1\xAF\xB4\x5B\x8F\xA7\x32\x9D\x79\x7E\x31\xB0\x98\xB0\x4F\xB2\x47\x76\xA7\x57\xA9\x1B\x00\x08\x0E\x50\xA6\xC2\x4F\x7A\x48\x70\x33\x01\x89\xAB\x40\x05\xA2\xA8\xED\x19\xA6\x8D\x74\x78\xA9\x1A\xAB\x90\xA8\x47\xAE\x7B\xAD\x4F\xA2\xA7\x89\x64\xDE\xA9\x22\xAB\x2F\x71\xB9\x34\xA0\xA3\x86\x7B\x9B\xAA\x4F\xF0\xA9\xD2\x7E\x79\xA9\xFC\xA0\x08\x05\x0A\x27\x99\x23\x51\xE2\x27\x42\x0E\x6B\x04\x85\x1B\x20\x08\xF3\x0D\x56\x9F\x2B\xD4\xA2\x22\xB3\x93\x03\x29\x02\xDF\x11\xEB\x0E\x55\xA8\x26\xD9\x6D\x2B\x11\x6F\x07\x81\x19\x15\x0C\x92\xA3\x51\x31\x41\x1D\x78\x37\xA1\x90\xB0\xDD\x0F\xC0\x1B\x0A\x15\xC9\x85\x07\x71\x9B\x0D\x28\xC4\x11\x80\x98\x7A\x17\xE0\x0D\x05\x3E\x64\xB2\x02\xC1\x7C\x84\x12\x4C\xB7\x24\x0F\x0A\x07\xCA\x8F\x2B\x35\x6B\xAB\x26\x9D\xB2\xE0\x0F\xC0\x15\x19\x62\x08\x25\x64\xE8\x2B\xF3\x50\x3B\x1A\x6F\xAC\x28\xB7\x59\x2E\xCA\x8A\x2B\x57\x7F\x19\xA1\xA3\x04\xC3\x64\x2B\xB9\x10\x15\x05\x1E\x65\xA2\x02\xF0\x62\xA5\xB0\x34\x0F\xC0\x17\x0B\x07\xCB\xBF\x03\x50\xAB\xC4\xA0\xAA\x01\x33\x19\x00\x77\xE0\x19\x05\x2E\x65\xCE\xA1\x30\x02\xA1\x0D\x2B\x5F\xC0\x1B\x0B\x0E\xCB\xB7\x57\xDF\x83\x17\x04\xA1\x11\xB0\x67\xC0\x1D\x0B\x0E\xCB\x9A\xE2\x6A\xB2\x23\x0D\x03\x1F\x2F\x06\x2D\xB7\x60\xA3\x4E\x37\xB1\x64\xB2\x06\x03\x60\x02\x5B\xB0\xC6\xAF\x4C\x3D\x52\x1F\x3C\x87\x1C\xC3\x00\xB7\xB1\xF2\x50\x31\xBC\x62\x07\x70\x05\x03\x1A\xB3\x28\xA2\xCE\xB3\x8C\x0F\xC0\x17\x0C\x00\xCD\x95\x0D\xB2\x00\xA2\xB3\x5C\x07\x81\x19\x19\x06\x9A\xA2\x18\xB7\x00\x29\xB3\xC3\x03\x03\x1F\x32\x05\x35\xBF\x81\x93\x01\x30\x66\xCA\x02\x07\x1D\x66\x00\x6D\xB0\x88\xA5\x6B\x97\xCD\xA0\x04\x07\x1C\xCF\x01\xDD\xB3\x45\x95\x2D\x4E\x72\x0C\x15\x07\x38\x51\x01\xC2\xB3\x65\x91\x00\x96\x37\xBE\x2F\x60\x00\x13\x03\x6E\xB2\x95\xA2\xE6\xB3\x81\x1D\x1A\x06\x98\xA8\x7A\xA9\x46\xDF\x24\xE7\x98\xF1\x2F\x81\x1F\x1A\x0E\x96\xA5\x8E\xA6\x31\x7D\x15\x4B\xB3\x84\x01\x36\x06\x2D\xB7\x1D\xB9\x15\x12\x67\xA7\x02\xDB\x01\xE4\xB1\x93\x97\xBF\x87\x9E\xA9\x08\x1D\x03\x6E\xB2\x01\x3F\x06\x15\xA9\xAC\x31\x07\xE0\x1F\x06\x3E\x65\xA9\x9F\x8D\x9B\xA0\x0E\x55\x11\x25\xB1\x8A\x6E\xCB\xB9\x4A\xB2\xA4\x57\xAB\x88\x02\x03\x16\x82\x07\xE0\x03\x07\x2E\x65\xF2\xAD\xF0\x81\x44\x0D\x56\xAE\xDE\xAF\x5E\x62\x38\x07\x38\x65\x01\x8C", +"\xB3\x84\xAD\x5D\x0F\x7C\x18\x55\x90\xCC\x83\x04\x67\x01\x93\xB2\xBC\x91\x61\x90\xD5\xAD\xC9\x66\x43\xB1\x5C\xCD\xB3\xE9\x01\x08\xB5\x81\x83\xAA\x77\x81\x6F\x10\x84\x68\xA7\x02\xEB\x01\x0C\xB4\x42\x87\xFF\x09\xF3\x57\xD7\x4E\x68\xA7\x02\xED\x01\x03\xB7\xF2\x9B\xF6\xA5\x5F\x08\x4C\x07\x07\x87\x1C\xEF\x01\xEA\xB3\x64\x3F\x41\x85\xA2\xB9\xEE\x64\x08\x07\x1C\xF1\x00\xB7\xB2\xBB\xA7\x0C\x00\xCC\x88\x4C\x04\x60\xC4\xB4\x37\x9F\x03\x1F\x3C\x07\x2E\xBC\x5C\x27\x12\xB8\x24\x6F\xAF\x23\x0F\x03\x1E\x3F\x04\x49\xBA\x37\xA4\x9D\x8D\x30\x47\xB4\xEF\x14\x04\x1F\x8A\x1B\xE5\x17\x02\x2D\x49\x6F\x1E\x45\x43\x6A\x77\x17\xB4\xA4\x1B\x4B\xBC\xCC\x0D\x43\x9C\x02\xC0\x1A\xF2\x77\x03\x1C\x01\x04\x4C\xBC\x14\x0C\x04\xB9\x50\xE0\x10\x40\xB0\x3B\x07\x81\x1A\x61\x8C\xF6\x0C\x0A\x1B\x52\x9C\x8B\xDA\x0F\x5F\x1B\x8A\x7F\xC0\x18\x00\x0C\xD3\x91\x3D\x56\x6D\x6C\xB0\x07\x12\x1F\xB1\x0F\x80\x5C\x1E\xD3\xB3\x0A\x66\xB4\x37\x8E\x34\xB4\x0E\x8F\xC0\x1C\x00\x06\xD4\xAE\x2D\x58\xAC\x49\xAA\x79\x97\x09\x27\x44\xBA\x19\x0E\xD4\xA2\x04\x11\xA9\xAD\x19\x5A\xB2\x85\xB0\x5A\x06\xA9\xBF\x07\x28\x52\xCF\xB4\x20\x6F\x1F\xB7\x8F\x05\x53\xB7\x4B\xAA\x0C\x17\x69\xF9\xB1\x75\x07\x03\x1C\x05\x05\x53\xBD\x8F\xA1\x5D\x05\xE1\x07\x1C\x16\x01\x4E\xB6\x4E\xA9\xB1\x03\xA0\xA2\xD3\x8B\x13\x1D\xB5\x55\xAB\x39\x89\x80\xB0\x0D\x05\xAB\xB1\xD2\x9E\x55\x9D\xB5\x80\x01\x7B\x01\x84\x19\xE2\x10\x10\x11\x7B\x23\x64\xC7\xB5\xC8\xB5\x64\xB6\xB2\xB3\x59\xBC\xAC\xAD\xD6\x8E\x6B\xCF\xB5\xD0\xB5\x68\xB6\xB2\xB7\x1F\x04\xAC\xAE\x3B\x80\x00\x3B\x1C\xD2\xB5\x6C\xB5\x85\x1C\x58\xB5\x5C\x1E\x71\x1A\x6B\xBC\x1C\xC4\xB4\x40\xAA\xAF\x09\x59\xB1\xF1\x1F\x51\x18\x6B\xC8\xB5\x63\xAB\x9D\xB3\xB7\xB3\x5D\xB1\xAD\xB4\xD6\x8D\x38\x65\xB5\xD0\xB5\x88\x1D\xB2\xB7\x49\xBA\x39\x33\xAB\xAA\x6B\x9E\xB2\xD0\x20\x9D\x5E\xD6\x27\x08\x14\xAC\xBB\x71\x33\x22\x07\x1C\x11\x1F\xE8\x55\xD5\x9E\x59\xB4\xAF\xA5\x3B\x39\x4D\x53\xB2\x0D\x1B\x8F\xB0\x28\x29\xFF\x03\x8B\x02\xD8\x8D\x6B\xE9\xB5\x82\x0E\x6F\xB4\xB4\xB0\x03\xA4\x07\x0C\xD7\x96\x6C\x97\xB6\xCC\xB4\x77\xB5\x84\x1F\x47\x15\x2C\x2D\xD6\xB0\x11\x3F\x14\xE3\xB4\x64\xB5\x67\xAF\x47\x1E\xB0\xAC\xD6\x94\x6C\xBF\x14\xDC\x00\x79\xB7\xB1\xB5\x3C\xB3\x1C\x1F\x51\x2A\x02\x2A\xB6\x23\xB2\x10\xA3\x8F\x16\x1A\x00\xB3\xB4\x70\x15\x46\xBF\x14\xD4\x01\x9A\xB4\x84\x1E\x30\xAF\xA3\x08\x06\x3A\x6C\x8C\x1C\x69\x8F\x1F\x14\x33\x07\x67\xB8\xE0\x07\x8A\xBF\x28\x50\x01\x44\xB7\x03\x1E\x72\x8F\x47\x1E\x0D\x09\xDA\xB5\x3B\x1F\x90\xC5\x5D\x93\x00\x2C\x06\x69\xB8\x74\x5F\x40\xB4\x00\x3F\x14\xCE\x00\xAA\xB7\x98\x5D\x36\xBF\xA3\x0A\x06\x1A\x6D\x87\x6B\x1F\x90\x19\x03\x8F\x10\x17\x0F\xB5\xA0\x40\x9F\x20\xEF\x20\xC8\xB5\x06\x18\x85\x41\x31\xBF\xB4\xBC\xCD\x96\x9D\x21\xB6\x88\x24\xB4\x1E\x61\x18\x0E\x00\xD4\x1D\x5E\x61\x59\x49\x57\x1A\xB7\x0A\x1F\x2C\x15\x63\xBC\xAC\xBF\xD8\xAD\x23\x4D\xB5\x23\xB7\x93\x01\xC9\xB3\x59\xB7\xB2\xA2\xE3\x25\x6D\xD7\x76\xF3\x94\x62\x95\x40\x07\x65\xBF\xAC\xB2\xD9\xA7\x04\x34\xB6\x8D\xB6\x38\x94\x0C\x00\x67\xB7\xB8\xAA\xCE\x9F\x20\xB9\x00\x3D\xB7\xCA\xB5\xD0\xB7\x24\x03\xB4\xAF\xD6\x86\x6D\x84\x3A\x9A\xB6\xF2\x88\xD3\xB1\x74\xB5\x35\x91\xDA\x89\x04\x53\xB6\x9E\xB7\x09\x67\xD5\xB3\x04\x74\xBA\xBE\x1C\x9D\x6D\xAD\xB7\x61\xB7\xB1\xB4\xEC\xB6\x6D\xB8\xB6\xA7\xD6\xAA\x6D\x9F\x72\x4A\xB7\x09\x64\x0C\x00\x6E\xB2\xB7\xA0\x75\x02\x04\x3C\x02\x40\x1B\xD8\x07\x19\x06\x8E\x36\x55\x1A\xDD\x87\x6B\xF9\xB6\x24\xB2\xFE\x0C\x20\xAB\x5E\xBD\xB6\xB0\x65\x0E\x6B\x81\xB7\x09\x03\xC1\xB6\xB2\xB5\x70\xB9\x10\x09\xD9\x8F\x6B\xAC\xB6\x4A\x02\x97\xB5\xE5\xB6\x71\xB9\x10\x10\xDC\x8F\x6F\x92\xB7\x94\xB7\xD4\xB5\xD5\x80\x73\xB7\x12\x1E\xD9\xA2\x6F\x80\x8F\x42\xB7\xD9\xB7\x70\xB6\xD1\x87\xB4\xAA\xDF\x8A\x67\x9E\x8F\xA3\xB7\xF3\xB4\xD4\xB7\x47\x18\xBA\xAE\xD6\x81\xFB\x58\xB6\xEE\xB7\xF5\xB0\x5E\x77\x75\xB2\xBF\xAE\xDB\xA2\x6D\x83\xA6\xF9\xB6\x3D\x97\x8F\x16\x18\x01\xC0\xAC\x5E\x49\x6B\xB9\x5E\x00\x4E\xFB\x32\x40\x1C\x6D\xB3\xBA\x22\x78\x81\x5F\x24\xB2\xC4\xB5\x83\x4E\x3E\x14\x79\xB5\xB5\xB9\x5D\x1F\x6F\xDF\x93\xAB\x26\x92\xB5\xE5\xB4\x7A\xB3\xB7\x75\xDC\x98\x6F\xA0\x02\xDA\xB7\xC8\xB6\xA6\x92\x38\x93\xB3\xBB\xDE\xA0\x6F\xA7\x02\x39\xB7\xFE\xB7\xFA\xB0\x01\x99\xB9\xAA\xE1\xAF\x6F\xAB\x91\xE9\xB6\x17\xBA\xFE", +"\xB7\x06\x0D\xBE\xB2\xE1\xBC\x18\xB6\x00\xF1\xB6\xFB\xB5\x7D\x8C\x7E\xB5\xC0\xA6\x0E\x6B\x6E\x89\x02\x59\xB6\x1B\xBA\x3E\x43\x06\x0C\xBF\xBA\xE1\xA7\x66\xB2\xB7\x42\xB8\xD4\x93\x00\xBD\x87\xBC\xC5\x29\xD6\x97\xE0\x7C\x31\xFC\x07\x9E\x95\x78\xB1\x27\x4E\xC0\xAE\xBE\x3C\x38\x3B\x1C\xFF\x00\x71\xB4\xB4\xB1\x60\x2F\xB7\xAC\xD6\x90\x6F\x86\x02\xD2\xB7\x64\xB4\xC5\xB1\x8B\xB3\x7C\x0D\xD6\x90\x12\x20\xB6\xD0\xB5\x2F\xBB\x40\x01\x8C\xB8\xAC\xBC\xE0\x83\x04\x56\xB7\xCE\xB5\x0F\xBA\x1B\x01\x84\xB7\xC1\xAE\xC9\xA1\x2A\xA5\xB8\x22\xB8\x3B\xBB\x3B\x91\x7C\xB6\xC4\xA2\x18\xA4\x6F\x89\x02\xE6\xB7\x3E\xBB\x07\x90\x07\x01\xC3\xA2\xE4\xAE\x6D\xB4\xB8\xA0\xB7\x24\xB8\xFC\xB0\x9C\x5C\xC4\xBF\x1B\xBC\x70\x8A\xB9\x02\x7E\xFC\xB4\x24\xBE\x25\x75\xC4\xAD\xD6\xA4\xE4\x48\xB8\x86\xB9\x15\xB9\xE3\x53\x89\xB3\xC9\xB6\x3A\x48\x6F\xD6\xB2\x4E\xAB\x37\x16\xC5\xB7\x93\xBD\xF5\x04\x35\x36\x1D\x49\xB5\x67\xB9\x2E\xBB\xB2\xB2\x8D\xB2\x10\x0C\xE3\x87\x6B\xEE\xB8\x02\x02\x38\xB9\xB3\xB2\x8E\xB4\xC7\xA0\xDC\xB0\x29\xB1\x00\x78\xB9\x3A\xBA\xB4\x0A\x4F\x93\xB9\xA8\xE1\x8D\x72\xAC\xB8\xE5\xB7\x5F\xBB\x4D\xA5\x90\xB6\xC9\xA7\x34\xB5\x70\x99\xB9\x2F\xB9\x5A\x8D\x0E\xBD\x98\xB5\xBA\xAF\xE4\x88\x73\xFA\xB7\x3F\xB8\x62\x72\x30\xBC\x88\xB3\xCA\x22\xE6\xBF\x6F\x89\x02\x64\xB7\x4E\xB8\x2E\xBF\x24\x04\xC0\xBD\xE4\xA3\x41\x53\xB5\xC4\xB5\xDA\xB7\x40\x04\x6F\xBB\xAC\xBE\xDB\xA1\x2D\x36\xB9\x18\xB8\xE2\x26\x06\xBF\x59\xB0\xCB\xA1\x08\x32\x72\xCC\xB5\xB4\xB8\x78\x7E\x09\xBB\x84\xBE\x0F\x59\xE5\xA8\x73\xFA\xB8\xD6\x90\x3E\xB8\x33\xBE\x8F\xBD\xC2\xAF\xE6\xBC\x18\x84\xB9\x9C\xB6\x61\xB8\x22\xB9\x21\x08\xB4\xBD\xE4\xB8\x70\x8C\xB9\x9D\xB8\xD3\xB6\x41\x05\x7E\xBB\xCF\xB6\xDA\x92\x72\xFE\xB9\x43\xB9\x4A\xB8\xB3\xB7\x92\xB0\xC0\xBA\xE6\xA8\x72\xE2\x09\x6B\xB7\xCE\xB1\xF3\xB1\x99\xBF\xB6\xA8\xD6\xB7\x40\x70\x00\x21\x20\x82\x2C\xDE\xB4\x58\xB8\xDF\x4D\x49\x0D\x6B\xF6\x0E\x68\xB9\x3C\xBB\x2E\xBC\x52\xAA\xCE\xA2\xDC\x9B\x70\xEF\x4F\x74\x0E\x94\xB6\x07\xBE\x00\x4A\xB8\xA0\x00\x0C\x6E\xBA\xB9\xE6\x0C\x3D\x97\x36\xBD\x7B\xB3\xCF\xB8\xE7\xB8\x23\xFA\xB9\x13\xBB\x09\x67\x1F\xBE\x20\x01\xC8\xAD\xE8\xAE\x6D\x80\xBA\x09\x03\xCE\xB4\x44\xBE\x38\x43\xD0\xAB\x3C\x42\x73\x87\xBA\x09\x03\xA6\xB5\x42\xBE\x99\xB6\xD4\xBA\xE4\x91\x73\x92\x98\xD3\xB8\x89\xBB\xB2\xB4\xA2\xB8\xCD\xA2\xE6\xBB\x74\x86\x02\xDD\xB9\xA5\xB8\x17\x3C\x77\xB0\xB6\xA0\x40\xAC\x29\x0C\x25\xD1\x06\x4D\x71\xB2\xB3\x6F\x13\x64\x5F\xAC\x71\x66\x94\x2C\x55\xB9\x32\x2C\x29\xBC\xC7\x1B\xE1\x58\x9F\x5E\x6C\x9B\xBA\x64\xBA\x08\x1C\x2B\xB9\x20\x0E\xCA\xA3\xC9\xAD\x73\x80\x00\xEF\xB9\x65\xB5\x3C\xB9\x21\x07\xD3\xB7\xE7\xAB\x74\xAF\xB2\xF6\xB8\x2F\xBB\x09\xB9\x21\x09\xC2\xA2\xEB\xBD\x22\xFD\xB9\x55\xBA\x8E\xB8\x52\xBE\x20\x0A\xD4\xB1\xEC\xB3\x70\xC7\xB9\x96\xBB\x1B\xBB\x32\xB9\xA8\xBD\xCC\xB2\xDA\x82\x73\xD7\xBA\x02\x03\x20\xBA\x63\xBC\x92\xB5\xCD\xBD\xE4\x97\x73\x86\x02\xD9\xB9\xD1\xBB\x26\xBC\x9B\xB2\xCC\xBF\xE6\x87\x6B\xFA\x1B\x9A\x08\x0F\x0B\x14\xBD\x9C\x41\xD7\xA2\xB2\x33\x75\xFF\x01\x28\xAE\xBB\xB8\xB3\xB0\xA5\xBA\xCA\xAA\xD6\xBB\x75\x80\x00\x7D\xBA\x0A\x1F\x5F\xB9\xB0\xBA\xAC\xA3\xEC\x9D\x0B\xBD\xBA\x87\xBB\x3B\xBB\xE3\xB0\xB9\xB9\xD3\xAF\x55\xBD\x72\x8C\xBB\xC2\xB9\xA1\xBB\x40\x05\xA8\xBC\xD9\xA8\xDF\x81\x74\x9D\xB9\x4D\xBA\x35\x63\x53\xBB\xB3\xBB\xD5\xBB\xE1\x9E\x76\x9D\xB9\xA0\xBB\x80\x02\x68\xB9\xB3\xB1\xD1\xA5\xED\xAA\x76\xA7\xBB\x03\x03\xD4\xB8\x79\xBA\x89\xBC\xDA\xBE\xE6\xB9\x75\x97\x92\x87\x6B\xB3\xB9\x3B\x11\x13\x32\x5D\xAB\x6A\x6B\x75\x80\x0A\x6D\xBA\xA8\x6F\x5B\xBD\x81\xB7\xFE\x9E\xBD\x37\x76\x94\x21\x5B\x13\x93\xB8\x5E\xB9\x8D\xB0\x95\xAD\xE9\x91\x6F\xAF\xBA\xB5\x3B\x98\xBA\xE1\xB7\x7A\xB4\xD3\xA1\x51\x87\x77\xAA\xBA\xCD\xBA\xC4\xBB\x72\xB8\xC2\xB0\x75\x1C\xE5\x80\x75\xDD\xBB\xE3\xB6\xC8\xB9\x75\xBB\x90\xB4\xCC\xBB\xF0\x87\x72\x98\xBB\x1E\xBC\x4D\xB8\x54\xBE\x20\x02\xD5\xAA\xED\x8A\x74\x83\x02\x0C\xBB\x10\xBC\x47\xB9\xBC\xB0\x00\x03\xEF\xAA\x78\xFA\xB7\xD4\xB9\x84\x02\xD7\xB6\xB4\xB8\xC9\xAB\xEF\xB8\xC7\x1C\xB9\xAA\xBB\xDD\xB4\xB2\xB7\x91\x11\xA8\x0A\x95\x2D\x41\x6A\xBA\xC8\xB4\xB6\xB9\x8B\x4B\xB6\xB3\xD3\x55\xED\xA1\x59\x37\xBB\x46\x5D\x2B\x08\xB4\xB1\x95\xB7\xCE\xAA\xEC\xA9\x73\xBC\x0C\xEB\xB8\x67\xB7\x70\xBB\xA6\xBB\xD0", +"\x8E\xF0\xB1\x16\xCC\xBB\x15\xBD\x57\x97\x57\xBB\x20\x0E\xBD\xA6\xEC\x91\x78\xEA\x91\x17\xBC\x65\xB4\xCF\xB1\x98\xBD\xC9\xB3\xEC\x83\x04\x15\xBB\x2F\xBC\x1E\x8D\x76\xBF\xF6\x6B\xDD\xA8\xE8\xA6\x78\xD4\xBA\x69\xBC\x7D\x40\x8B\xBE\xC5\xB8\xE1\xAE\xDD\xA6\x77\xB6\xBC\x7A\x65\x1A\xBD\x9C\xBC\xBD\xB9\x10\x01\xEB\xB8\x79\xFD\x38\xE0\xB5\x06\x1E\x2B\x26\xAC\x16\xC6\xA3\xF0\x94\x78\xB4\x11\x2D\x27\x0C\xBA\x4B\xBC\x9D\xB0\xD3\xA2\x3C\x32\x74\x8C\xBC\x55\xBD\xA3\x4F\x83\xB8\xA7\xB9\xE5\xB2\xF0\xBC\x74\x87\xBD\x19\x0C\x30\xBE\x2F\xBD\x93\xB2\xDD\xA2\x08\x14\x77\xF5\xBC\x1C\xBD\xEB\xBA\x6A\xBB\xCD\xB1\xD9\x8D\xF3\x91\x75\xC2\xB9\x27\xBC\x81\x01\x8A\xB8\xD4\xBE\xB6\xB3\xF3\x99\x75\xF7\xBC\x7B\xBC\x20\x66\x9E\xBC\xD5\xBA\xC9\xBB\xF2\x82\x04\x7E\xBC\xB1\xBD\x34\x3B\x3F\x00\x8B\xB9\x0B\x22\x57\x0F\x6B\xCC\xBC\x6C\x1A\x2F\xBD\xA5\xBE\x7E\x21\xE5\xAD\xD6\x93\x79\x90\xBD\xF3\x9B\x9A\xB9\x61\xBE\xC9\xBE\xD3\xB5\xE7\x93\x78\x94\xBD\x88\xBC\xE7\xB9\x98\xB9\x59\xB3\xE6\xA0\xE4\x82\x73\xE6\xBC\x02\x02\x34\xBC\xAD\xBC\xA3\xB4\xEA\xAF\x7D\xA6\x7A\xA4\xBC\xA8\xBC\x38\xBF\xB6\xB8\x9A\xBF\xD0\xBF\xF3\xBB\x6F\xB0\xBD\xE3\xBC\x1E\x8C\x7A\xBA\x20\x0A\xDE\xB9\xF5\xBF\xC9\x38\xBC\xE6\xBC\x18\x03\x3F\x05\xD7\xB8\xCF\x70\xD6\xA6\x73\xC1\xBD\xCC\xBD\xE4\xBA\xA2\xBF\xC0\xBC\xE8\xA9\xF0\x8E\x7A\x8B\xBC\x71\xB9\x06\xBE\xA4\xBF\xCA\xB8\xE9\xBA\xE9\x89\x76\xAB\xB9\x8B\xBA\x83\x01\x63\xBE\xDC\xBD\xE9\xA1\x08\x1F\x7A\xE2\xBC\x28\xA3\x0E\xBD\xBA\xBA\x1F\x4D\xED\xA5\xE8\xAA\x76\xA3\xBC\x03\x03\x12\xBE\xB9\xB9\xD5\xB1\x10\x0B\xF5\x90\x7C\xD5\x86\xAE\xBD\x4E\xB9\x8C\xBE\x20\x03\xE3\xA7\xEF\xB3\x7A\x9F\xBE\x02\x86\x5B\xBD\x40\x00\xD7\xB3\xF1\xA9\x3A\x7F\x28\x40\x01\x95\xB6\x20\xBD\xA0\xB9\xC2\x10\x0E\x35\x90\x90\x6B\xAE\x0C\x29\xBA\x68\xBD\xA6\xBB\xDF\xB0\xC6\xA8\xF0\xA6\x64\xEC\x0E\x8F\xBD\x80\xBD\xA4\xBA\x8B\x34\xD8\xB8\xF2\x91\x7B\x96\xBD\x06\x03\x2E\xBD\xBE\xBF\xCB\xBB\xC7\xBB\xF4\xAA\x76\x8D\xBE\x00\x01\x87\xBC\xB5\xB9\xE2\xB2\xEA\xA6\xF7\x95\x7C\xDF\xBD\x19\xBF\x70\xBF\x77\xBA\xB5\xB1\xF2\xAA\xED\xA3\x7C\x83\x02\x25\xBE\x73\xBF\xBA\xB9\x20\x0D\xEE\xAD\xF9\xB8\xC7\x37\xBB\xEC\x21\xC3\x0F\x5D\xBD\x82\xBE\xBC\xA2\xF6\x87\x7D\xC4\xBD\x8B\xBC\x29\xBD\xA3\xB8\xE8\xB0\xF0\xB3\xE5\x82\x7C\xC4\xBE\x93\xBC\xB7\xBD\xA6\xB9\x06\xA7\xF0\xBE\xED\x89\x7C\x83\x02\x0B\xBE\x77\xBC\x08\x92\xC3\xB6\xF6\xB0\xE1\x95\x7D\x82\xBF\x57\xBE\x83\xB8\x77\xB8\xE5\xB3\xBF\xBB\xFA\xA6\x7B\xDD\xBE\xE6\xBD\xAF\xBE\x40\x01\xEC\xB2\xF8\xA3\xFB\x80\x00\x65\xBE\x8C\xBE\xDA\xB4\xBC\xBA\xF0\xBF\xDC\xA6\x08\x30\x7C\xCF\xB5\x9A\x71\xDB\xB8\x3D\x23\x96\x4B\xE4\xA6\xF4\xBA\x7C\x89\xBD\x06\xBD\x9E\xBD\xBF\xBF\xE7\xB9\x7F\x01\xFA\xB6\x7D\xC3\xBE\x33\x0D\x5A\xBB\xD2\xBB\xD8\xBC\xF7\xAF\xF6\xBA\x7D\x96\xBC\x4E\xBE\x86\xBC\xE1\xB9\xF3\xBA\xC9\xB8\xF6\x81\x04\x5A\xBD\xBC\xBE\x6E\xBC\x88\xBD\xF0\xBA\xCC\xAE\xF3\x9B\x7C\xE2\xBD\xC1\xBE\x72\xBC\xEB\xB2\xE4\xBA\xD5\xA9\xFE\xAA\x7B\xA7\xBE\x53\xBF\xAA\x86\xCA\xB8\x00\x0C\xF2\xAE\xFE\x8C\xAF\x37\xBB\xA2\xAB\x88\x65\xE9\xBC\xED\xBC\xC7\x05\xF8\xAC\x74\xD0\xBC\x71\xBE\x63\xBF\xDC\xBD\xF5\xB5\xF7\xB0\xE7\xB7\x7D\xB1\xBF\xF2\xB8\xEF\xBC\xD2\xBC\xCB\xB6\xF4\xBB\xFB\xB9\x73\xB9\xBF\x82\xBE\xA8\xBE\xD4\xBB\xC7\xB4\xF5\xA9\xEA\x82\x74\xC3\xBF\xD6\xBF\x63\x8F\xE2\xB9\xFA\xB2\x30\x9C\xF8\x80\x00\x1E\xBE\xFC\xBE\x87\xBB\xF2\xBE\xEB\xBD\xFC\xA1\x00\xFE\x6F\xD0\xBF\xF4\xBE\xE9\xBF\xE6\xBC\xF8\xBE\xC9\xA4\xD6\x95\xB9\x03\x0D\xF6\xBC\xD3\xBF\xED\xBF\xFB\xB6\x18\x05\xF6\xA6\x6C\xE3\xBF\x17\x04\xD7\xBE\xF9\xB8\xF6\xB9\x2B\x12\xFD\x88\x7C\xF4\xB9\xD3\xBE\xA5\xBF\x07\xC5\xD9\xBD\xF9\xA0\xFC\x91\x77\xBB\xBF\x06\xC1\xDE\xBE\xC4\xB9\xFF\xB2\x79\x98\xFF\xA9\x80\x9C\xBA\x18\xBE\x81\x02\xC6\xBA\xF0\xBE\xFF\xA0\x00\xC9\x80\x82\x86\x90\xBE\xC1\xBE\xE4\xB9\x20\x04\xF9\xAC\x00\xD6\x7E\x98\xBF\x2F\xC0\xFD\xB7\xF4\xBD\xFA\xB1\x04\xDC\x31\xA5\x80\x82\x02\x9F\xBE\x67\xB4\x90\xBF\xB6\xBC\x80\xA1\x08\x07\x9C\x17\xBA\xDC\xBF\xF7\xB8\x82\x1F\xB7\xB1\xDC\xB0\x70\x07\x7B\xC2\xBE\xC9\xBC\x2B\xBE\x40\x03\xD9\xB3\x02\xC9\xEE\xB5\x7E\x97\xBD\xA7\xBE\x69\xBC\xFC\xBC\x01\xC2\xFF\xB7\xF6\xAB\x80\xC5\xC0\x14\xBE\x17\xC3\x0D\xC7\x03\x91\x03\xC1\x08\x33\x80\x8C\xC0\x35\xC1\xCF\xB9\xB9\xBA\x07\xC5\x00\xCB\x03\xC7\x80", +"\x95\xBA\xAA\xBB\x21\xC1\x6B\xBF\xB6\xB5\x04\x14\x1C\x1B\x7F\xDB\xB6\x16\xB9\x09\xC3\x8C\x69\xF5\xBB\xC6\xBE\xF9\x96\xDF\x7F\xBD\xD5\xB6\x2A\xBD\x16\xC3\xE0\xBB\x05\xCD\xFF\x86\x7C\xB6\xBF\xB3\xBF\xB7\xBD\xD3\xB8\xBA\xBC\xE9\xA8\x01\xF6\x81\xAA\xC0\x87\xBE\x06\xC1\xE2\xBF\xE2\xBB\xFF\xB7\x04\xDC\x74\xF1\xC0\xE0\xBB\x39\xC0\x03\xC3\x07\xC0\x00\x1D\x01\xEC\x80\xF9\xBC\x78\xC0\x73\xBE\x1E\xC6\x9B\xBB\xEB\xAD\x70\x1F\x12\xF3\x6A\xCF\xB4\x2E\xB9\x93\xBD\x0B\xCF\xE5\xBC\xF9\x85\x82\xAB\xBF\x87\xC0\xE4\x13\x2B\xC5\x83\x5B\xC5\xB2\x00\xD1\x82\xBB\xBE\x84\xC1\x56\xBA\x21\xC1\xCA\x70\x31\x04\xD6\x81\x93\x24\x84\xCD\xB4\x59\xC0\xBE\xBC\x16\xC3\xEC\xAB\x9D\x09\x6B\xFA\x1B\x13\x2B\xC9\x00\x7F\xB4\x8B\x19\x0B\xCC\x46\x04\x6B\xD2\x22\x1C\x41\x64\xC2\x2F\xC4\x19\xCF\xF6\xAE\x06\xC1\x79\x80\x0A\x03\x28\x97\x2B\xBD\xB4\x1A\xC4\x0C\xCE\x3C\x04\x6B\xDC\x22\xFD\x15\x66\xB4\xBC\xB3\x16\xCE\xF7\xAF\xF2\x86\x06\x37\xBB\x67\xAA\xC4\xB4\xB3\xB3\x1D\xCB\x0C\xCD\x07\xF6\x71\xAB\x27\xB7\xBB\xA9\x2B\x18\xAA\x1D\xCB\x0D\xD6\x07\xFA\x7B\xC4\x27\xB7\xBA\x33\x8A\x63\x62\x1B\xC1\x05\xC4\xF0\xAE\x83\xEB\x00\x16\xC0\xC2\xB4\x06\xC4\x3E\xB7\xDB\xB1\x8C\x09\x04\x4E\x1F\xB1\xC1\x7E\xC1\xB2\xB4\x0A\xC3\x0C\xCC\x36\xB9\x55\x5D\x1E\xC4\xB4\x37\x56\x1E\xAC\x1F\xC5\x10\xCA\xFF\xB6\x4F\x37\xBB\xEA\x8F\xEC\x1D\x44\xC5\x23\xC1\x06\xC3\x04\xE0\x7F\xFC\xBD\x72\xBE\x7F\xBC\xDB\x0B\xE6\xB5\xE1\x11\x3D\x90\x12\x64\xB5\x12\xC2\x91\xB5\x81\xBC\xC7\x07\xBC\xA4\xD6\xA3\x01\x27\x02\xA2\x1F\x67\xB7\xBD\xBE\x75\x15\x12\xD0\xFB\xA8\x84\xE2\xBF\x2A\xC2\xF2\xBD\x22\xC0\xD9\xB9\xB8\xBA\x02\xCB\x6E\x8E\xC1\x5A\xBD\xBE\xBF\x44\xC7\xEF\xB2\x10\x01\xFC\xA4\x81\x96\xC1\xC7\xB5\xCD\xB6\xFD\xB8\xBB\xBA\x06\xD1\x0A\xE2\x6E\xC6\xBF\x34\xC0\xE4\xBC\x1A\xC6\x87\xB2\x0A\xC7\x05\xE4\x76\xB2\xBC\xD6\xB8\x04\xC2\x55\xC2\x01\xCD\xDE\xB9\xF1\xAF\x7C\xB1\xBE\x4B\x5B\xDB\xBA\xB5\xB7\x5C\xB7\xAC\xAA\x06\xFC\x84\x82\xC1\x3E\xC2\xD5\xBD\x4A\xC4\xF5\xB7\x21\x0C\x09\xE4\x64\xCF\x8B\x1C\x96\x66\xB6\x8F\x19\xE7\xB0\x17\xD6\x05\xC2\x83\xB8\xC1\xE5\xC0\xC1\x0D\xD2\xB7\xF1\x1E\x6C\xAB\x0C\x07\x38\x27\xAD\x76\xC2\xAB\xB2\xD5\x6C\x81\x9E\xAC\xBC\xED\xAC\x83\xCB\xC2\x07\xC3\x84\xC3\xF4\xB3\x21\xC6\x11\x1A\x00\xC2\x76\xE7\xBF\x1D\xC1\xF4\xBD\x4F\xC7\x0B\xC9\xF4\xA8\x0A\xE8\x26\xC7\xC0\x01\x02\xA7\xC2\x57\xC3\xF0\xB4\xE6\xAA\xED\xBE\x7E\x80\x00\xC0\xBF\xAD\xC1\x0B\xC1\x91\xBC\x09\xD8\x0A\xF0\x81\xDA\xC2\x9E\xC0\xE5\xBC\x10\xBF\xD5\xB0\x16\xD4\xF1\xA9\x82\x82\xBF\xAB\xC1\x1C\xBD\xD2\xB0\x2A\x17\xE0\x12\xF9\xA3\x64\x88\x13\xB4\x69\x2F\x4F\x5A\xB0\xAE\xBD\xDF\xA1\xBE\x37\x76\xA5\x6B\x70\x09\xFB\xB8\x49\xC5\x2F\xC1\x0C\xDC\xEB\x95\x84\xA8\x8F\x79\x2A\xCB\xC1\x71\xB8\x33\xCD\xB2\xBA\x0C\xF0\x85\x9C\xC3\xEC\xBE\x8F\xC3\x24\xC2\xE1\xB7\x02\xC5\x0D\xE6\x7B\xA7\xC3\xA9\xC3\xD8\xC2\x9A\xBD\x2A\xC3\x92\xAB\xDA\xAE\x86\xA3\xC3\xA0\xC0\xAE\xBD\x57\xC2\x35\xC6\x95\x75\x03\xE3\x85\x82\x86\x3F\xC0\xAF\xBB\x02\xC3\x34\xC0\xD5\x48\xD6\xBC\x86\xC4\xC3\x0A\x98\x75\x35\xB2\xB5\x38\x40\xC5\xB0\x1F\x3E\x0F\x44\xBC\x03\xC3\xE2\xC2\xF3\x2F\xB6\xB4\xB9\x9C\x5E\x8D\x86\xB1\xC2\xC7\xB4\x8A\xC0\x60\xC6\x22\xC6\x43\x65\xFF\x97\x86\x9C\xC0\xD5\xC3\xA2\xBE\x76\xC5\x4F\x9A\x14\xD2\x09\xF4\x73\xA0\xC3\x00\x00\xD1\xC0\x7B\xC0\x98\xB6\xED\xA5\xF3\xA7\x81\xE2\xC3\x69\xC0\xD6\xC2\xB9\xBD\x0D\xC0\x00\x0F\x03\xE8\x87\xB0\xC3\xEF\xC2\x01\xC3\x6C\xC4\xF9\xB8\xEE\xA3\x0D\xF1\x87\xDA\xB9\xF3\xC3\x0D\xC6\xD5\x49\x69\xBC\xE3\xAD\x4B\x3D\x86\xF6\xBB\xC8\xB5\x94\x14\x4D\x68\xCB\x47\x23\xCB\x74\xB1\x04\x44\xB5\x19\x83\xE4\xC3\x37\xC3\x39\xCF\x0B\xC8\xFD\xA7\x84\xF2\xC2\x40\xC2\xBA\xC0\x63\x02\x3A\xC9\xAC\xA6\xEE\x84\x7C\x9B\xC3\x14\xC4\x48\xC0\x37\xC6\xFD\xBF\xD3\xA3\x03\xE3\x86\xE5\xC0\x1E\xC5\x4C\xC3\x68\xC3\x13\xC3\x22\xDD\x04\xE9\x88\xEE\xB6\xE9\xC3\xC7\xBF\x7A\xC0\x44\xC6\x1C\x44\x05\xE6\x82\xB2\xC4\x2F\xC5\x3C\xC1\x8C\xC4\x4C\xCC\xC5\x34\x11\xF5\x3B\x6C\x14\x3D\xC4\x3B\x9A\xEF\x2A\x39\xC8\xD8\x95\xC5\x0E\x85\x23\xB3\xF8\xC3\x4F\x9E\x6C\x37\xB6\xB9\xD3\x42\x12\xC7\x6B\x8E\xC3\xF5\xC0\xC8\xC3\x3D\xC5\x39\xC0\xDC\xAF\x0E\xC6\x12\x51\xC3\x0E\xC5\xE9\xC0\x84\xC1\x7B\xB6\x1D\xC5\x12\xC9\x85\xD2\xC4\xFE\xC0\xA6\xBF\xFB\xBC\x12\xCF\xF4\xB0\x0A\xE5\x87\xF5\xBF\x94\xBB", +"\xFB\xBE\x88\xC2\xF0\xB4\x22\xC6\x11\xF2\x88\xE1\xC4\x82\xBF\x1C\xC3\x28\xC6\x3D\xC7\x29\xC7\xE2\xB7\x86\x8C\xC0\xB9\xC3\x78\xBE\x9B\xC0\xE9\x40\x27\xD9\x13\xFA\xA9\x32\x33\x14\xB9\x96\x13\x35\x35\x68\x51\x27\xC6\xF2\xB3\x5A\x37\xBB\x6D\x00\xB5\x60\xB4\xB2\x1F\x1C\x17\xCE\x14\xE6\x84\x95\xC0\xE1\xBF\x0B\xC1\x50\xC1\x03\xC9\x28\xCD\x12\xD4\x87\x8C\xC5\x12\xC4\x28\xC4\x09\xB8\x52\xC2\x28\xDE\x02\xD3\x8A\xDC\xC3\x95\xC0\xEF\xC2\xE0\xB8\x3C\xCA\x29\xC4\xE8\x98\x7D\xB2\xC0\x5A\xBF\xD3\xB6\x1C\xC3\x00\xC1\xF9\xA4\x15\xD4\x38\x5C\xBA\xA8\xBA\xF9\xC1\x59\xC1\xDE\xB7\x16\xC0\xFD\x8B\xB5\x2B\xC5\x63\x5D\x56\xC4\x96\xAF\x5E\x09\x76\x75\xB3\xB8\x89\xC7\xB5\x52\x12\x35\xAC\x03\xBC\x87\x34\x2F\xD3\xBA\x6A\x66\x98\xB6\xF8\xC5\x7C\xC5\x82\x1C\x58\xB1\xF1\x1F\x7F\x2C\x6B\xB7\xBB\x3B\x1C\x29\xC1\xC4\x1E\xD7\x0E\xAF\xBD\xED\xA2\x71\x94\xC3\x74\x00\xB6\xC0\x39\xC4\xD9\x87\x3B\x33\x03\x33\x69\xB3\xC2\x86\x02\x7D\xC6\xC4\xC1\x5F\xC7\xDB\xB1\x78\x39\x40\x4F\xB5\x95\xB6\xFF\x23\x57\x8C\xB5\xA9\x7F\x0F\x18\xC7\x84\xFF\x01\xFE\x1D\x82\xC7\xB1\xB1\x60\xBA\xEF\x12\xD8\xAF\x76\xBA\x0C\xC4\x27\x69\xC3\x61\xBF\x1F\xCC\x63\x0D\xD8\x9E\x86\xF6\x27\x26\xC7\xB9\xC1\x35\xC4\x47\x0B\xE3\x02\xE7\x90\x38\x11\x1E\x6F\x6F\x40\xC4\xB2\xB0\x1A\xC9\x32\xC3\x07\xEB\x8C\xB5\xC1\xC4\x27\x59\x11\xCE\xC4\x39\xCC\x63\x09\xDA\x92\x33\x74\xB3\x00\x0B\x66\x63\x0A\x53\xAD\x9D\x31\xC8\xD6\x92\x25\x44\x12\xAC\x9A\xA4\xC5\xEB\x4A\x69\xC9\x65\xAC\x1A\xF4\x8C\xA7\x02\xE6\x5A\x0A\x1D\xC4\x1F\x13\x05\x32\xD7\xF9\xA8\x8C\xBC\x0C\x2A\xC7\x08\xBC\xCB\xC6\x30\x03\x8B\x1C\x1A\xDE\x84\xAB\x27\x49\xB7\xFF\x12\x86\x97\xC0\x11\xF0\x2D\x05\xCA\xB8\x48\xB5\x11\x1E\x49\x01\xD7\xC7\x59\xBC\x33\xC0\x1B\xFE\x8C\xE2\xC6\x40\xC7\x96\xC7\x49\x02\x6E\xC7\x36\xC4\x9E\x06\x8D\xFE\x1B\x77\xC6\x79\xC3\xD5\x73\x18\xAD\x48\x0E\x1B\xC6\x04\x1A\x20\x23\xC7\x93\x00\x24\x03\x6E\xCE\xAC\xB5\x1B\xC6\x06\x61\xC6\x95\xBD\xB1\xC7\x1A\x03\x16\x1B\x38\xDD\x1B\xC5\x8D\xC8\xB5\x47\xC6\x8B\x03\x81\x1B\x8C\xBB\xE3\x15\xEB\xB7\x8C\xC9\x62\x8C\xC7\x66\xB6\xE3\xC5\xA2\x2D\x34\xC7\x4D\x92\x8E\xB3\x11\x18\x01\x97\xC4\xDA\xC0\x73\xC0\x38\xC8\xD8\xB8\x6B\xD7\x21\xFA\xB4\xE0\x5E\xE1\xC3\x20\x05\x02\x29\x1C\xC9\x04\x7B\x01\x8E\x22\xD1\xC7\xD7\xC7\x71\xC1\x38\xC7\xFA\xA7\x8E\xA7\x02\xB8\xC6\xCB\xC6\x61\x01\x69\xBA\xDF\x08\xF2\x52\x8D\x8B\xC6\xD0\xC2\x88\x07\x8E\x19\xB7\xBF\x39\xC9\x08\x26\x03\x39\xC7\xCC\xB5\xD1\xC4\xE4\xC6\x77\xC9\x37\xC4\x1B\xE7\x04\x4F\xC7\xC2\xC7\x35\x03\xDF\xC4\x03\x47\x3B\x27\x70\x1E\x50\xE3\x76\xB3\xC6\x81\x02\xE7\xC4\xC1\x11\xF1\x00\x07\x10\x8F\xCB\xB5\xD2\xC7\xDE\xC5\x67\xAB\x16\x16\x3E\xD9\x1E\xDB\x8F\xD4\xA2\xDD\xC7\x84\xB5\xBE\xB6\x50\xAB\x7B\x01\x1F\xC1\x04\x25\xBA\x5A\xC7\x93\x03\x33\x07\x7C\xCA\xAC\xA9\x1F\xEE\x8E\xAE\xB2\xBF\xC7\x84\x03\xFE\xC6\x7D\xC8\xAC\xB1\x7F\x0A\xE0\x11\x02\x87\xC2\xFC\xB2\xD5\xC2\x3E\x0B\xE3\x01\xE5\x88\x38\x11\x1E\xCB\x00\x83\xC7\xCE\xC3\x77\xC4\x3A\xD5\x0B\xC2\x2B\x01\xC8\x06\x03\x08\xC8\x01\xCF\x58\xB9\x39\xD5\xD8\x8A\x27\x6C\xC5\x4B\xC6\xB7\xB8\x6E\xB0\x59\xB9\xF3\x5E\xB3\x86\x9D\x1A\xBA\xEB\xC5\xD7\x05\xBB\xC5\xCB\xAF\x31\x1B\x71\x31\x40\x36\xC7\xA8\xBA\xFE\xC7\x33\xC4\x82\xC3\x3D\xCB\x1F\xC3\x4C\x86\xC2\x83\xC5\xCB\xC4\x07\xCD\x75\xCB\x12\xD1\x40\x33\x2B\x93\x50\xF6\xC6\x00\x00\x28\x49\x7F\xC9\x10\x05\x04\x32\x90\x93\xC8\x1B\xC7\x9E\xC7\xFF\xC7\x67\xCD\x0C\xC1\x1A\xE7\x04\x46\xC8\x1B\xC9\x91\xB1\x07\xCF\xC0\x17\x60\xA1\x22\xEE\x76\xC4\xC8\x06\x03\x0A\x85\xCC\xC4\xC2\x1E\x3F\xDD\x21\xE6\x8E\xD5\xC7\x93\xC7\x93\x01\x85\x85\x59\xC0\x46\xC9\xDA\x90\x28\x2E\x5E\x03\x14\xB6\xC7\xA2\xA9\x88\xC8\x38\xC3\xC9\x91\x3C\x6B\xB1\x5B\xC8\x08\x1D\x17\xCD\x74\xC0\x40\xC0\x23\xF3\x22\x6B\xB1\x64\xC9\x26\xCA\x0E\xCB\x24\xBB\xD1\x0D\xF2\x5E\x91\xC8\xC7\x87\xC4\xE5\xC6\xAE\xC0\x86\xC3\x10\x19\x09\xFA\x8C\xA7\xC6\x49\xC8\xBB\xC7\x12\xC8\x6F\xCA\x47\xD6\x1E\xC9\x04\x06\xC9\x44\xC7\xE1\xC4\xEB\xC4\x7B\xCD\x3B\xDE\xCE\xA8\x90\xA3\xB2\x25\xC9\xA4\x16\x0E\x3B\x38\xC9\x42\xC6\x31\x2B\x90\xA2\xC8\x72\x03\x1D\x1E\x03\x24\x90\xC7\xD7\x0B\x61\x1E\x8D\x89\xC9\xBC\xC7\x45\xC9\xE4\xC6\x8E\xC2\x4E\x11\x24\xDA\x8F\xB9\xC4\xCA\x12\xF0\x6F\xF4\xC4\x73\xC7\x44\xD7\x71\x3A\x3A\x26\xC9\x74\xC6\x1A\xCA\xFA\xC0", +"\x62\xC1\x46\xD1\xDB\xAE\x92\xEF\xC7\x63\xA3\xF8\xC7\xEB\xC4\x2A\x28\x93\xB3\x1E\xD3\x8C\xC7\xC9\xC8\xC9\x64\xCA\x32\xCE\x2A\xB4\xAC\xAB\x0C\xC0\x78\xCE\xB5\x1B\x1E\xFB\xC1\x49\x1E\x30\xC6\x95\x03\x8B\xB4\x37\xD3\x04\xDF\xB5\xDB\xB9\x71\x0D\x8D\xCB\x4C\xDD\x26\xD7\x6C\xB7\xBB\x1C\xB7\x3F\xC1\x59\xBC\xD9\x89\x24\xD3\x19\xCB\x89\xC5\xC5\xC8\xB4\x27\xC5\x23\xC3\x42\xCB\x2C\xC0\x03\xD7\x87\xCF\xC5\x26\xC1\x68\xC5\x87\xC6\x34\xCF\x21\xDF\x12\xDA\x72\xDC\xC4\x9C\xC4\x2F\xC5\xA9\xC5\xFF\xB8\x22\xDB\x27\xEA\x88\xD2\xB9\x2C\xC5\xDA\xC2\xC9\xBF\x54\xC3\x1A\xD6\x19\xD0\x38\x37\xB7\xD7\x7D\xDC\xB5\xD5\x82\xC7\xBD\x16\xDA\x75\x00\x6F\xCE\x13\x76\xB7\x59\x2F\x48\xBD\xC1\x1B\xB7\xA2\x27\xE6\x6D\xB3\x7C\xE5\xC9\xC0\xC0\xDD\xBB\x28\xC8\x05\xC5\x0A\xCC\x82\xC7\xC2\xEC\xC8\x67\xBE\x3B\xCE\x57\xCA\xE9\xB4\x14\xFA\x7E\xD2\xC5\x0C\xC0\x6A\xC4\x55\xC3\x53\xCC\x00\xDD\x14\xD9\x8B\x8B\xBA\xDB\xC5\x15\xC4\x01\xC5\x45\xC8\x26\xC2\x0B\xFE\x93\xB4\xB7\x50\xC0\x0C\x19\x46\xBF\x5D\xC0\x08\xDA\xE4\x8C\x94\xA3\xB2\x1F\xBB\xE0\xB6\xFA\x54\x22\x09\xBC\x55\x09\xCD\x38\x4A\xB7\x16\xCA\xF8\xB8\x46\xCA\x58\xCA\x24\xD5\x0C\xE8\x93\xAB\xB6\xC7\xC4\x10\xB9\xA3\xC3\x4A\xCF\x08\xC3\x29\xD4\x95\xE2\xC0\x26\xCB\xF8\xBE\xA5\xC7\x5B\xC8\x29\xC7\xF3\x95\x8B\xCE\xBA\x8A\xBF\xF3\xC3\xA7\xC5\x9F\xCC\x55\xC0\xF9\xA3\x89\xF6\xC9\x1C\xBA\x33\xC5\x58\xC4\xA0\xC2\x23\xC9\x15\xDC\x7E\x87\xB8\xC3\x0F\x04\xBA\xED\x32\xE0\x4C\x49\xD4\xE2\x82\x88\xE5\x2C\x89\xC3\xAE\x1F\x36\xC9\x5E\xB9\x54\xD1\x24\x18\x31\x0B\x2A\xBD\xC6\x8A\xB4\x46\xC5\xC1\x12\xC1\xBD\x2B\xFF\x28\x40\x0C\x07\xC7\x61\xC7\x39\xCC\xA3\xCF\xFA\xAB\x04\xF8\x7D\xCF\xC4\xEF\xC9\x76\xC9\x67\xC1\xA4\xC8\x21\xDA\x10\xEC\x89\x8F\xBB\x28\xCB\xD1\xC2\x4A\xCB\xD4\xB4\x1E\xC5\x2B\xE8\x45\xFA\xC9\x9E\xCB\xC6\xBE\xB6\xC1\x14\xCC\x2D\xD4\x03\xF4\x94\x97\xCB\x57\x64\x9B\xC9\x68\xCA\xF3\xB3\x2E\xCF\x2B\xC8\x6B\xCF\xB8\x7C\x4D\x10\x36\xCF\x97\x92\xC4\xDB\xB7\x2B\xC2\x59\x79\xCA\x3C\x1C\x40\xA9\xCC\x13\x86\xCC\xFD\xA8\x2C\xED\x71\x88\xC6\x4C\xC5\x74\xC9\x54\xCB\x8E\xB3\x55\xD1\x14\xF4\x7E\xD1\xC4\x56\xCA\xE3\xCA\x24\xC0\x9E\xCD\x14\xDD\x0E\xF3\x93\xDF\xC3\xF5\xC9\x9B\xCB\x3D\xCD\xB3\xCB\xB3\xB7\x0A\xE7\x7A\xD3\xBA\x8E\xBF\x50\xC7\x59\xCA\xBA\xC9\x56\xDE\x16\xD5\x97\xA6\xC5\x5D\xBA\x18\xC5\x6B\xCC\x01\xC3\x06\x37\xED\xA6\x72\xA7\xC9\x3D\xCA\xD4\x8D\x46\xCC\x41\xCA\xE0\xAC\x2C\xDB\x80\x8E\xCB\xE8\xBF\x64\xC5\x64\xCA\xA4\xC3\x59\xCA\x16\xD4\x7A\x53\xBD\xA8\xCA\xD2\xC3\x73\xCB\x5A\xC1\x5D\xCB\x2D\xD3\x97\xAC\xCA\xA3\xC2\x97\xC8\x76\xCB\xB4\xCA\x1E\xC5\x2D\xE3\x8A\xA7\xCB\x68\xCA\xFD\xB5\x9A\xC2\x15\xCB\x26\xC9\x30\xC6\x81\xCB\xB5\xB7\xBA\x83\xC8\x00\x04\x9C\xBA\xAC\xA0\xF6\x9E\x42\x6B\xCB\xC9\xC7\xF6\xC9\x07\xBC\x28\xCD\xA5\xAA\xF6\xAF\x8C\xD8\xC3\x02\x02\x11\xC2\x72\xCC\x4A\xC7\x5F\xD6\x12\xF2\x88\xD8\xC4\xF4\xC8\x2D\xC6\x8C\xC0\x9F\xCD\x52\xC0\x2D\xDF\x97\xFC\xC9\xD9\xCA\x06\xC2\xA8\xC3\x34\xCA\x56\xD6\x0D\xE1\x97\xF9\xC0\x39\xCA\x13\x1B\x4E\xCF\x5E\xCC\xFD\xBA\xDF\xBF\x94\x94\x1C\x1F\xBB\x90\xB9\x4B\x1B\xA2\xC1\xE1\x18\x1F\xE5\x2E\xEB\xBE\xE9\xCA\xDF\xCB\x2B\xB8\xB8\xCF\x54\xC3\xC9\xAA\x93\xA0\xCA\xF6\xCB\x10\xC3\x87\xCC\xB9\xC1\x1A\xCE\x2E\xC4\x75\xE6\xC0\x2A\xCD\xFC\xC8\x8B\xC9\xC0\xCE\x62\xC0\xDA\x9E\x77\x84\xCC\x62\xC4\x03\xCC\x8D\xCE\xBB\xCE\x65\xC0\x2F\xE1\x8B\xE2\xCB\x7D\xBD\xD6\xBA\x14\xC5\x46\xC9\x23\x08\xEB\x82\xBF\x38\xC4\x7F\xC4\xFC\xBB\x90\xBD\xAE\xC5\x5B\xD9\x0F\xFE\x77\xC4\xB5\xE3\xC6\xC6\xC1\xA1\xBD\xB7\xC3\xB1\xAC\x32\xEE\x97\x8F\xC4\xF0\xCB\xCC\xC2\x7C\xCC\xA4\xC0\x62\xC1\x08\x22\x98\xF9\xC8\xCB\xCB\x2A\xC5\x56\xCF\x29\xC9\x59\xD2\x11\xDB\x96\xD6\xBE\xD4\xCB\x32\xCF\x67\xCA\xAC\xC9\x5F\xC0\x15\xF2\x98\xDB\xCB\xFE\xCB\xEE\xC8\x82\xCC\xBB\xCA\x60\xCA\x2D\xEF\x98\xE7\xB6\x0D\xCC\x4E\xCF\x83\xC8\x89\xC1\x28\x31\xED\x98\x2F\xBC\xCA\x75\xCC\x3D\xC6\x9D\x37\xB6\xBC\x3C\xC6\x10\xC8\x99\xE3\xC9\xEA\xCA\xA6\xCA\x39\xCE\xA9\xCF\x67\xCA\x14\xC1\x9A\x91\xC4\x79\xBE\x42\xCC\x72\xCD\xBE\xC3\x5F\xD5\x2C\xD6\x99\xD3\xBB\x58\xCD\xA9\xC0\x67\xC8\xC0\xC2\x23\xC2\x30\xEF\x79\xB1\xCC\xA3\xC3\x19\xCE\x8C\xC5\xC6\xC3\x50\xD7\x31\xCC\x98\xE3\xCB\xF4\xC3\x35\xCF\x9B\xC1\x50\x15\x9C\xA1\x83\x3E\x86\x94\x1C\x42\xBC\x1C\x4C\x9D\xCD\xC8\xB6\x5B\xC7", +"\xF2\x84\x6B\xCF\xC9\xBA\xBB\x72\xBB\x46\xBA\xC9\xCE\xD7\xBE\x33\xDB\x98\x9D\xCA\x1D\xCC\xA3\xC2\x4D\xBB\xCA\xC2\x59\xD9\x0E\xF6\x97\xBE\xCD\xF2\xC9\x2B\xCD\x96\xC2\xD8\xC0\x69\xC4\x36\xF9\x97\xC6\xCD\xC7\xBE\x64\xCE\x8C\xC2\xD9\xC9\x5F\xCC\x36\xE2\x7D\x9E\xCD\x92\xCC\x50\xCC\xB4\xCA\x46\xCF\x63\xDF\x34\xE6\x75\xBD\xBC\xF5\x1D\x23\x4C\x55\x07\xDA\xC0\xE1\x19\x36\xE4\x62\x00\xC4\x75\x9C\x5B\xC5\x69\x0C\x58\xB9\xE4\xAF\x2D\x28\x97\xB0\xCD\xE4\xCC\xE1\xBA\xB9\xCF\x8D\xBA\x08\xDE\x28\xCF\x96\xEB\xC9\x51\xCD\x0A\xC5\x82\xC4\x29\xC5\x65\xD1\x37\xC0\x9B\xF3\xCD\x99\xC5\x95\xCA\xB5\xC1\xAC\xC7\x5D\xC7\x36\xE0\x99\xDA\xCB\x62\xCD\x65\xCC\x99\xCD\x68\xB4\x25\x60\x38\xF4\x9C\xE4\xC2\x69\xCC\x6F\xB8\x6E\xCF\x1F\x03\xE8\xB9\x41\x39\x92\xFC\xCC\x0B\xC5\x0C\xCC\x22\xC7\xDC\xCD\x58\xDE\x38\xF1\x97\xB9\xCD\x57\xCB\xF5\xBD\x88\xCC\xDD\xC5\x62\xCB\x34\xD7\x89\xDB\xCA\x06\xCE\x4C\xC0\xBD\xC8\xF1\xB1\x69\xD7\x39\xD3\x9A\xAD\xCE\xF9\xCD\x97\xCF\xA5\xC9\xE6\xCD\x6F\xD3\x39\xCA\x94\xF0\xC3\x36\xCF\xAF\xCE\xC0\xC9\xE7\xC9\xE3\xA1\x22\xF3\x7B\xA7\xA3\xBA\xC6\xA0\xCE\xCC\xC2\xA3\xC2\x14\xC4\x3A\xEF\x97\xC6\xCE\x82\xCC\xA4\xCF\x88\xCD\xAA\xCC\x6B\xDA\x35\xCA\x9A\xD0\xC5\x95\xC5\x46\xCD\x7E\xCF\xD1\xC4\x75\xD6\x37\xCE\x98\xB2\x8D\x5D\xCC\xAB\xCE\x68\xC8\xA6\xC4\x5A\xD2\x29\xDD\x8B\x9B\xCD\x99\xCD\x4E\xCC\x5B\xC9\xBF\xCE\x56\xC4\x2F\xE7\x9D\x89\x02\x4F\x62\x67\xB6\x85\xCB\xA9\xCA\x10\xCA\x2C\xF4\x9A\xEE\xCE\x80\xCC\xB8\xCC\xAE\xC8\xB2\xC6\x77\xD4\x2F\xEE\x9B\xBD\xCD\xF8\xCB\xBF\xCD\x00\x90\xEA\xC1\x70\xC7\xEA\xBD\x97\xD1\xCE\xC2\xBE\xBF\xCE\xA8\xC8\xF0\xC4\x69\xC2\x3D\xE9\x0D\xE4\xCA\xA8\xCE\xD9\xC0\x40\xCB\xA6\xC2\x50\xDF\x37\xCB\x9E\xAE\xCF\x8A\x57\x50\xCD\xE2\xCE\x08\xC5\x2E\xCA\x02\xF0\x99\xB7\xBB\x35\xBE\x83\x02\x51\xAC\x59\xBD\xA4\x07\x2C\xFD\x99\x96\xCF\xA6\x0F\x26\xCC\x85\x1F\xC9\xCB\x6E\xC1\x29\xD2\x99\x94\xCB\xA1\xCF\xD5\xCF\xE8\xCA\xEF\xC8\x7B\xDC\x40\xA7\x9E\xA5\xCF\xFF\xCB\x95\xCD\x6B\xC0\xEB\xC9\x15\xDA\x37\xF9\x97\xFC\xCD\xD5\xCF\x73\xBD\xED\xCD\xF2\xB1\x76\xDB\xE8\x82\x81\xE8\xBE\x62\x07\x3D\xCD\x92\xCF\xF8\xCD\x54\xC9\x3E\xF5\x9A\xC6\xC5\x8B\xC4\xA9\xCB\xA0\xC9\xE9\xCA\xDC\xA9\x2E\xC8\x9A\xA4\xCC\xF0\xCD\xBC\xCF\x7E\xC9\xA5\xC7\x7D\xC2\x3C\xDF\x78\xAA\xCF\xBB\xCE\xD6\xCC\xF7\xCF\x35\xCE\x7D\xC1\x3F\xE0\x9F\xD2\xCF\x8E\x72\xAF\xCE\xF9\xCF\xF9\xB7\x7B\xC8\x40\xF9\x9E\x83\xCE\xF9\xCA\x0C\xC5\x12\xC5\x59\xB1\xFA\xA4\xD6\xA3\x7E\x86\x02\xC7\xA2\xDE\xCB\xFA\xC9\xE8\xC1\x48\xDA\x30\xDC\x9C\x9C\xCC\x83\xC6\x0F\xCE\xF3\xCA\xE4\xC1\xB3\xA4\x39\xD9\x88\xBF\xCD\x9E\xBD\x60\xCD\xCA\xCB\xD8\xCA\x7D\xDD\x12\xED\x9E\x8E\xD0\xFF\x8A\xD8\xCC\xF6\xCB\xC5\xB8\x69\xD1\x3D\xFC\x18\xFE\xCD\xE4\xCF\x06\xD1\x00\xD4\xCF\xB0\xD6\xBB\x03\xC4\x6B\xD9\xBF\x49\x83\x8B\xCF\x45\xCC\x9C\xC2\x6B\xCC\x3B\xC4\x8B\xEF\xCF\xC2\xCB\xF8\xCC\x71\xCB\xFE\xC3\x77\xCF\x14\xF6\x9F\x96\xC4\x24\xC1\xE8\xCF\x0E\xD2\x05\x94\x7A\xDE\x3F\xD2\x9D\xAB\xD0\xF5\xCD\x16\xD1\x3E\xCF\x05\xD3\x85\xCE\xE4\x85\xA0\xB0\xD0\xEE\x85\x1A\xD3\x0C\xD0\xC6\xBA\x80\xDD\x31\xCC\xA0\xCE\xCD\xB8\xC2\xDD\xCE\x0D\xD7\xFA\xBE\x00\xD5\x35\x3F\x7A\xE3\xCD\xEC\xCF\x59\xCE\xFB\xC8\xF3\xC6\x6B\xDA\x3C\xC8\x8B\xF2\xCE\xF7\xCE\xBA\xCF\xE7\xCD\xF3\xC9\x7F\xC7\x29\xFB\x9F\x9A\xCB\xFD\xCE\xB1\xCF\xFF\xCA\x0B\xDD\x62\xDC\x42\xEB\xA1\xC6\x43\x96\xCD\x64\xCE\x18\xD6\x0A\xDA\x69\xC3\x3F\xFE\x80\xE5\xCF\x66\xD1\x57\x96\x1A\xD3\x0C\xDC\x7B\xC7\x09\x13\xA0\xC4\xCF\x38\xC4\x26\xC3\x33\x51\xED\xCB\x81\xCB\x3B\xEC\x97\xC3\xCE\x1F\xD0\x74\xCD\x08\xD2\xDD\xCC\x05\xCD\x42\xCA\x9D\x86\xCD\x4C\xCF\x3E\xD2\x56\xCC\xFA\xC0\x86\xDC\x3B\xDA\x82\xD5\xCE\x82\xD0\x11\xBD\xE0\xC9\x16\xDF\x09\xD2\x41\xCC\xA2\xB2\xCF\x58\xBB\x80\xC8\xC9\xBB\xAD\xC8\x86\xC8\x15\xD3\xA2\xB7\xD1\x46\xC0\x3E\xC2\x1F\xC7\xE7\xCD\x89\xD8\x30\xDD\xA0\xA0\xD1\xB1\xB9\x8E\xCD\xBA\xCF\xA3\xCD\x7C\xC1\x39\xCC\x8B\xD0\xD0\xCE\xC5\xBB\xCD\x3C\xCA\xFF\xC2\x6F\xC9\x31\xD3\x9D\xAF\xD1\x00\xD1\x43\xD3\x22\xBB\x00\xD7\x22\xDF\x42\xDD\xA1\xDD\x7D\x8B\xD0\x5A\xD0\x19\xD0\xF1\xCA\x8D\xC8\x05\xFD\xA2\x85\xCA\xBF\xD0\x71\xD3\xA8\xCA\x5B\xB7\xDB\xB7\x09\xCF\x92\x86\xCB\x2B\x10\x63\xD0\x3D\x2E\x03\xD9\x8C\xC0\x41\xF7\x64\xC6\x43\x1F\xCE\x28\xCF\x7C\xCF\xF9\xCF\x6E\xD2\x42\xE5\xA3\x9C", +"\xC4\xD5\xD0\xE8\xC9\x96\xC9\xFC\xCB\x65\xC5\x36\xF3\xA2\x8B\xD0\xFA\x41\x44\xD3\xBE\xC9\x1C\xD8\x90\xC5\x13\xE5\xA1\xE9\xCB\x8A\xCF\x73\xD1\x5B\xC9\x1D\xDD\x90\xDC\xE2\x3D\x9E\x94\xD0\x70\xCD\x9D\xCF\x62\xC6\x4F\xCC\x47\xD0\x43\xDC\xA0\xF3\xD1\xC8\xD0\x77\xBA\x32\xD3\x14\xDC\x8C\xC5\x45\xF9\xA1\xCE\xD0\x75\xCE\xFA\xCF\x76\xC3\x1A\xDE\x87\xC1\x48\xFC\x97\x83\xD2\x60\xD1\x82\xD3\xBD\xCF\x20\xD1\x89\xC8\x44\xF6\xA2\xEA\xD1\x72\xBC\x86\xD1\x4D\xD1\x01\xD4\x8E\xD4\x44\xFA\x83\x0B\xCC\x69\xD0\x08\xD1\xF8\xCD\x3E\xC7\xAC\xB7\x0F\xFC\x77\xF6\xCC\x0F\xB8\x64\xB4\x70\xC0\x6E\x45\x4B\x70\x38\xD5\xA0\x8D\x1C\xC8\xC3\x08\xC2\xDA\xCA\x1E\xD5\xA2\x2D\x10\xC8\xA1\xD0\xCA\x4A\xD0\x0F\xC2\x29\xD5\xFE\xC9\x92\xDB\x4A\xEB\xA4\xCD\xCB\x26\xCF\x14\xD0\xCA\xCE\xAB\xCA\x72\xC0\x2B\xDB\x9F\xE0\xBD\x03\xCC\xC2\xCD\x81\xCE\xF0\xC6\x5A\xCE\x44\xEE\x88\x90\xD1\x10\xD2\x01\xBA\x50\xD0\x0C\xD4\x94\xC3\xC9\x86\xA5\xF6\xCA\x48\xD2\x2B\xB8\xB2\xB4\x3F\xC2\x67\x5F\x0F\xDB\x9B\x81\xC4\x79\xD2\xB9\xB8\xB1\xB5\x40\xCA\x67\xDD\xDB\x9E\xA4\x9E\xD1\x42\xCF\x8D\xC8\x1D\xD0\xFE\xC7\x6B\xD7\x43\xDC\x9E\xAA\xD2\xBB\xCD\x3D\xD0\x64\xD2\x1A\xD0\x96\xD4\x46\xE7\x9C\xD6\xD1\x58\xD1\xBE\xCC\x21\xD4\xCB\xC6\x88\xDE\x49\xF6\xA4\xDE\xD1\xFF\xD1\x30\xD0\xD7\xC9\xFC\xC8\x83\xCF\x44\xFA\xA0\xA1\xD3\x8D\xCE\xFA\xC0\xBA\xC1\xBE\xB1\xA8\x15\x15\xDD\x9B\xB3\x2D\xC9\xB4\x1D\xC7\x95\x4C\x56\xCE\x2A\xDC\x31\xB7\x99\x8D\x1C\x41\xC4\xA9\xD1\x31\xD5\x08\xDF\x89\xCA\x4C\xE1\xA2\xC5\xCE\xCB\xD1\x7C\xD1\x33\xD3\x1F\xD4\x82\xD6\xD9\xA6\xA0\x96\xCB\xE1\xCE\x14\xCE\x40\xD7\x1A\xDB\x25\xD0\x45\xD5\xA4\xCE\x8D\x34\xD3\xB8\xD1\x42\xD7\x26\xDF\x9C\xC0\x47\xE3\xA6\xE0\xD0\xA5\xD3\xB7\xD3\x69\xD6\x33\xD7\xE3\xB3\x4B\xDF\xA3\xB3\xC4\x64\xC4\x75\xC4\x5E\xD2\xD5\xCA\x1F\xC3\x12\xF5\x89\xCF\x4C\x77\xC4\x1E\xCF\x78\xD7\x55\xCB\x6A\xC4\xD6\xBD\x89\xBA\xD3\x18\xCF\x38\xD2\x11\xD3\xB1\xCB\x98\xC9\x42\xCD\xA6\xF2\xCF\x78\xD0\x68\xD2\xA4\xC5\xDD\xCB\x74\xD0\x3E\xE6\x98\xF9\xCB\xCA\xD3\x97\xD0\x73\xD3\xC5\xCE\x9C\xDB\x49\xD0\xA7\x9D\xD3\xC0\xD1\xE9\xD0\x68\xD4\x3B\xD1\xC9\xB7\x4E\xDF\xA7\xD9\xD3\x35\xCB\xED\xD1\x82\xD4\x07\xD3\x10\x04\x02\xD1\xA0\xAB\xD3\x07\xCE\x1B\xC5\x6D\xD1\xCC\x90\x9B\xCE\x1A\xC7\x0D\x33\xC5\xF4\x56\xD7\xD1\x60\xD6\xB6\xB4\xAC\xB9\x15\xD6\xC5\x50\xB5\x80\xC5\x0B\xCC\x6F\xD1\x31\xDD\x76\xDF\x4D\xEF\x9D\xC1\xD3\x47\xCF\xC7\xD2\x57\xD1\x32\xDD\x9F\xDD\x47\xFF\xA7\xC9\xD3\x55\xD0\x9C\xD2\x71\x46\x15\xDD\x9C\xD9\x46\xCC\xA8\xC5\xBF\xDC\xD1\xB1\xCB\x82\xD3\x42\xDF\xED\x7A\x49\xD2\xA7\x8E\xD2\x3D\xD2\x22\xD6\x39\xD7\xCC\xCA\x26\xDE\x4E\xE1\xA6\x92\xD0\x68\xC2\x1F\xC4\x86\xD7\x22\x92\x9E\xC0\x21\xF5\x8B\x82\x5E\xB1\xC4\xFC\x64\xF4\x37\xE4\x97\xE0\x16\x24\xE8\x9A\xE0\xC9\x27\x02\x0A\xCD\x8E\xCB\x08\xD7\x8F\xD4\x4A\xF4\xF8\x21\xD2\x80\xBB\x91\xD3\x3D\xD0\x24\x3A\x95\xC7\x49\xE7\xA2\x80\x00\x87\xCC\xFD\xD3\x71\xCC\x32\xD5\x72\xD6\x4C\xE2\xA5\x98\xD3\x64\xD2\x16\xD2\x59\xD6\x05\xD1\xA4\xD5\x34\xD4\xA7\x86\xD4\xD6\xD2\xB6\xD3\x81\xCE\x2D\xD1\xA1\xD2\x48\xCC\x9E\xE3\xD4\xE1\x1C\xBC\x19\x42\xCD\x3A\xDD\xD1\xAD\x28\xF1\x6D\x8F\xCA\x75\x81\x88\xC8\x51\xCA\x77\xB7\xDB\xB5\x28\xEF\xA1\xDC\xBF\x8D\x0D\xC4\xC9\xFB\xC9\xB8\xC8\x95\xD7\x4F\xCB\xA1\xF9\xD3\x23\xCE\x10\xC1\x71\xD2\xAF\xB7\x9C\xC8\x41\xCE\x7C\xAA\xD0\x79\xD5\x2C\xD3\x9E\xD3\x0B\xDD\xA7\xC1\x3F\xCA\xA4\xDF\xCF\x46\xD4\x58\xCF\x38\xD4\x50\xD9\x5F\xC0\x4A\xE8\x8A\x88\xD5\x7E\xCB\x80\x03\x8E\xCB\xBF\xB7\xA4\xC3\xEB\x9E\x74\x8E\xCA\x74\xB6\xE7\x12\xF0\xB4\x78\xB5\x54\xC3\xC9\xB7\x76\xC8\xCA\x97\xD5\xF4\xC9\xA6\xD7\xB7\xC8\x7C\xDC\x54\xCE\x99\xC3\xCB\x6D\xD4\x39\xD5\xA2\xCE\xF3\xC5\xA3\xC0\x3D\xF7\xA8\xE0\xD0\x01\xD4\xFE\xCC\x4C\xD7\x3B\xD2\x93\xC1\x3F\xF8\x9B\xDD\xCF\x5A\xCE\x45\xD2\x83\xD1\x34\xD0\xA1\xD5\x55\xF0\xA5\xB2\xD5\x72\xD2\xB2\xCD\xBC\xB8\xAE\xC2\x7F\x0E\x68\x1A\xD4\x74\xCA\xF3\xC5\x54\xCC\x7B\xD5\x3C\xD3\x58\xD1\x70\x05\x96\xC9\xD5\xB0\xCD\x65\xD7\x92\xCD\x59\xDA\x7C\xD0\x70\x0C\x9F\xA6\xD2\xD2\xD4\x12\xCC\x3F\xD6\x5A\xDE\x74\xC7\x31\xF9\xA8\x8C\xD5\x3C\xD4\x02\xD6\x8F\xD2\x49\xD0\xA4\xC8\x4B\xEE\x9C\xEA\xD2\x61\xCC\x41\xD7\x98\xC9\x49\xDA\xA3\xD2\xF5\x92\xA8\x95\xD6\x0F\xD0\x75\xD6\x6B\xCF\x58\xB0\x5B\xDC\x59\xB2\x96\xCE\xD2\xF6\xBB\xDB", +"\xBA\x6E\xCA\x08\xDA\x54\xC2\x1C\xD3\x86\xFC\xD5\x57\xD3\x67\xD5\x56\xD5\xB8\xCE\xA6\xDC\x4A\xD2\xA6\xB3\xD4\x74\xD5\x13\xD1\x58\xD7\x54\xD3\x96\xD9\xF6\x9F\x95\xDA\xBB\x2C\xCE\x87\xD5\xD6\xC8\x62\xD0\x73\xD2\x58\xF2\x9C\x94\xD6\x8C\xD4\x5B\xD4\x3A\xD6\x49\xDF\xA3\xD6\x3A\x7B\x9C\xE7\xCB\xC4\xD1\x7C\xD6\x7C\xD5\x37\xDD\xA2\xD5\x47\xE2\xA2\xEB\xD4\x22\xD0\x67\xD3\x13\xD1\x54\xD1\x85\xD7\x56\xDF\xA7\xD9\xD5\x80\xD1\x6D\xD5\x68\xD5\x5B\xD0\x86\xDF\x56\xC4\xA0\xE1\xD5\x0B\xD3\x71\xD5\xD1\xD5\x5C\xD1\x7E\xC2\x5A\xD3\xA4\xC4\xD6\x0C\xD6\xA3\xD4\x38\xBD\xC1\x12\x61\xC2\x53\xE9\x6D\x9B\xBA\xFA\xD5\x72\xCC\xCA\xD5\x3E\xDD\xA9\xD6\x43\xF8\xA7\xB2\xD4\x2D\xD7\x42\xCC\x9C\xD1\x15\xDE\x8F\xC5\x5A\xD8\xAD\x8E\xCD\x81\xD0\x46\xD4\xD7\xD7\x3B\xDE\xB5\xDD\x46\xE0\xAD\xB0\xD5\x62\xD7\xB4\xD4\xD9\xD0\x0C\xD6\xB6\xC7\x54\xEF\xAD\xB0\x18\xBB\xD5\x11\xC8\xA0\xD5\x51\xD0\x54\xC0\x56\xC2\x99\xF3\xD0\x1F\x90\x79\xBC\x49\xBF\x68\x0F\x6A\xC4\x53\xF1\xAD\x9A\xCE\x73\xD6\x17\xD5\xE6\xC8\x46\xD1\x77\xD8\x5B\xC1\xAC\xFA\xD0\xD5\xD4\x3E\xD1\xDF\xD1\x6D\xDF\xB7\xDB\x3B\xC1\xAE\x93\xD7\x83\xD7\xD0\xD1\xE1\xD2\x48\xD7\xB8\xC6\x40\xF1\xAA\xE4\xD4\xB3\xD5\x5D\xD2\x8D\xCC\x49\xDF\x6C\xDA\x58\xE4\x97\xD2\xCD\xAC\xC4\x6A\xCD\x3B\x15\xE6\x2C\x70\xCC\x70\x0E\x9C\xC4\x4C\x7F\xD3\x88\xCF\x6B\xD3\xE2\xCD\xE0\x19\x33\xDC\xA4\x94\x1C\x93\xCE\x93\xD6\xA6\xD2\x0E\xDE\xAC\xCB\x3E\xD0\xAB\xAC\xD6\xA7\xD6\x94\xD3\xCB\xD1\x6F\xD4\x65\xD2\x59\xF6\xA9\xB4\xD6\x78\xD4\x9B\xD5\x59\xD0\x67\xD7\x96\xD9\xFA\xA9\xA5\xA8\xBC\x31\xCB\xD9\xCF\xE1\xCC\x56\xD5\xB6\xC7\x57\xF8\xAE\xE9\xD5\x3D\xD0\x9D\xCC\xA9\xCC\x86\xA6\x6A\xC0\x59\xFE\x88\xAC\xCD\x9C\xD6\xC3\xD0\xA6\xD3\x69\xDC\xA2\xC7\x42\xF4\xAD\xAA\xD6\x9E\xD5\x68\xD4\xD5\xD1\x1A\xD4\xAD\xC8\x45\xFE\xA7\x85\xD6\x00\xD5\x83\xD7\xE4\xD1\x61\xDA\x65\xC5\x50\xFD\xAA\x87\xD4\xAD\xD4\x30\xD3\xAB\xD6\x76\xD9\xB8\xD8\x58\xDF\x85\xBA\xD7\xCD\xCC\xDE\xD5\x50\xD6\x77\xD1\x6D\xC1\x4F\xC2\xAF\xE1\x16\xF4\xBB\xE2\xD4\x82\x1F\x78\xD0\x4A\xCD\xCE\x8F\xA5\x91\x1C\xE0\xCD\x23\xCE\xFE\xD2\x59\xDC\xBF\xC7\x46\xFE\xA6\xCE\xD6\xC0\xD2\x92\xD2\x70\xD0\x60\xD3\xC0\xDB\x4F\xC5\xB0\xFB\xD6\x07\xD8\xBC\xCD\x4B\xD7\x32\xDB\x9C\xD9\x4C\xD8\xA3\x9B\xD3\x06\xD2\x04\xD6\x05\xDB\x60\x8F\xA7\xCF\x60\xC1\xAA\xEA\xD7\x6D\xD2\x0C\xDA\xED\xCE\x50\xD1\x7E\xC9\x4D\xC4\x9C\xC0\xD7\xE9\xC4\x84\xCC\xD2\x4A\xE1\xC5\xDF\xBE\x11\xF4\x89\xD4\xC6\xF9\xBA\xFB\xD6\x9C\xC6\x38\xC4\x71\xCD\x58\x1C\xA2\xCA\xD6\x1F\xD3\xAA\xD0\x3D\xD2\x24\xD6\x8F\xCD\x18\x2C\xA9\xD8\xD7\x35\xD9\x39\xD7\x0D\xD9\x4E\xD9\xC6\xD3\x56\xEA\xA2\x8C\xCD\x7F\xD0\xC0\xD6\xD6\xD5\x68\xD1\xBB\xC5\x5A\xF3\xAE\xFE\xD4\x43\xD5\x21\xDB\x01\xD7\x41\xDF\x90\xC8\x57\xFF\xA4\xEE\xD7\x25\xD6\x8E\xBA\x13\xD9\x02\xDB\x73\xDD\x39\xC9\x21\x49\xD6\x9E\xD7\x16\xD8\x48\xD7\x85\xD4\xC6\xCF\x5A\xE6\xB1\xD1\xD6\xC4\xD3\x67\xD1\x1B\xD8\xFF\xCB\xBA\xC3\x62\xED\xAE\xE1\xCF\x0C\xD8\x82\xD2\x03\xDE\x8F\xDA\xFF\xA2\x62\xCC\xAA\x93\xD8\x60\xD1\x3D\xD8\xB9\xD5\x8F\xDF\xBE\xDF\x63\xD7\xAC\x8C\xD5\x83\xD9\xA1\xD2\xD9\xCC\xDE\xB7\x5A\x08\x64\xC1\xB2\x9F\xD7\x56\xC1\x8D\xCC\x0C\xDF\x45\xD2\xC3\xD1\x51\xE0\x9C\x91\xD9\x53\xD7\x12\xD3\x85\xC5\x92\xDC\xA8\xD7\x64\xED\xA2\xAF\xD7\x46\xD9\xCA\x8F\x26\xDD\x94\xDD\xC9\xD1\x60\xDF\xA7\xA0\xD9\xDF\xD2\x51\xDB\xD8\xD4\x94\xD1\xC8\xD1\x48\xDA\xB0\xBE\xD1\x68\xD7\x21\xDA\xBC\xBC\x95\xD2\x10\x11\x3C\xEA\x9F\xE0\xD8\x88\xD2\x17\xD9\xD3\xD5\x91\xD1\xC3\xD0\x5A\xE4\xA2\xCC\xCE\x03\xD6\xD5\xD6\xD5\xD1\x34\xDE\xCB\xDF\x4E\xD9\xB2\xB1\xD2\xC3\xD9\x66\xDA\x66\xBE\x93\xD3\xB9\xC8\x66\xE1\xA6\xCA\xD9\x8A\xD6\x66\xDA\xE5\xB7\x0E\xCC\xC4\xC0\x43\xE9\xB2\xF4\xD2\x17\xD2\x4C\xD2\x15\xDD\x5E\xD5\xE1\x01\x3E\xC7\x55\xD0\xB5\xC5\xCE\x1F\xCB\x8A\xD2\x9B\xDE\xBF\xC2\x5D\xF5\xA1\xA4\xD7\x9B\xCF\x5B\xD9\xE7\xC9\x9C\xD3\x99\xCD\x3A\xFA\xB0\xAB\xD1\x71\xD8\xD7\xD7\x1C\xD9\x6D\xD5\xC7\xC9\x5B\xF7\xB1\xAE\xD5\x45\xD8\x4E\xD9\x91\xD5\x82\xDC\xA8\xCB\x5C\xDF\xA7\x8D\xD7\x4D\xD8\xF4\xCE\xDA\xBC\x59\xB1\xBD\xC5\x53\xC3\xB4\x8B\xD9\xDB\xD9\x34\xD5\x19\xDC\xC7\x83\xC3\xC0\x67\xE3\xAA\x8C\x1C\x37\xB7\x71\xDA\xDF\xD2\x81\xD1\xCC\xC7\x67\xDC\xAB\xE9\xD9\xF3\xD8\x59\xD0\x3B\xD9\x98\xDE\xCE\xC5\x5A\xF0\xB3\xC3\xD8\x1E\xDB\xD0\xD0\x48\xDE\x9E", +"\xD4\x91\xD3\x5C\xD0\xA9\xE6\xC5\xF7\xD6\x0B\xD2\x57\x66\x95\xD9\xD3\xC6\x69\xD5\x9E\x9B\xD5\xFD\xD4\x06\x1F\xBF\xD6\xA5\xD2\xC9\xDA\x65\xD5\xAD\x88\xD8\x38\xD4\x56\xD2\x39\xD8\x98\xDA\xD1\xCC\xDF\x8B\xAC\xC3\xD8\x17\xDA\x09\xD9\x46\xDC\x98\xDB\xD1\xDE\x59\xDD\x9D\xC0\xD6\x93\xD7\xA1\xDB\x77\xD7\x9E\xDF\x9D\xDA\x5C\xCD\x38\x40\xD0\x00\x84\x92\xD5\x53\xD8\x96\xDC\xE0\x17\x02\xDD\xB3\x8F\xD9\xDF\xD9\x11\xD1\x55\xDE\x38\xDB\xCB\xD2\x69\xEC\xAE\xB4\xDA\x5D\xDA\xEB\xCF\x44\xDB\x88\xD5\xD1\xC0\x6B\xD1\xA7\x81\xDB\x44\xD9\x3C\xD8\xA3\xD7\xA7\xDD\xD1\xD2\x67\xE0\x8B\xE9\xBB\xE2\xC4\x0E\xD8\xC1\xCF\xB6\xBF\x00\xD5\x34\x30\xA3\xD2\x17\x66\xD4\x44\xC5\xCA\xD6\x7A\xDB\xB2\xCC\x42\xDC\xAF\xFC\xD3\x06\xD8\x1B\xD4\x56\xD8\x5B\xD0\xD8\xC4\x6B\xC6\x7E\x83\xD4\x0D\xD9\xAF\xD8\xA3\xD1\xAC\xD7\xCC\xC3\x6B\xEA\xB3\xB9\xD2\x1C\xDB\xC9\xD5\x50\xDD\x68\xDA\xD6\xC8\x4D\xC5\xB5\xC1\xD9\x47\xDA\xDF\xCF\x3E\xDA\x13\xD9\x10\x0F\x02\xF3\xAF\x89\xD9\x61\xD9\x33\xD4\x23\xDA\xA5\xDE\xC8\xCC\x69\xF6\xB2\xFA\xD1\x0B\xDB\x97\xDB\x14\xC5\x54\xD3\xB3\xD1\xFA\xA8\xAA\xE2\xD7\x7A\xD4\xF2\xD4\x9F\xD2\x67\xD0\xAE\xDC\x59\xDB\x9D\xE6\xDA\xA4\xD2\xC7\xD9\xCD\xCF\x94\xD3\xB9\xCC\x6B\xCF\xA9\xC2\xD1\x09\x02\xFF\xA0\xFA\xC0\x6E\xDA\xC8\xC2\x63\xE8\xA9\xC4\xBB\x8C\xD2\xBB\xD7\xA7\xD6\x74\xD3\xC9\xC8\x5D\xE1\xB6\x84\xD6\x0F\xDA\x38\xDA\x4B\xD2\x5B\xD8\xDA\xDA\x64\xEA\xB6\x93\xD7\xAC\xDB\xD0\xD1\x4F\xD9\x6D\xDC\xD8\xD2\x6D\xDA\xB7\xE6\xCC\x90\xDA\x34\xCD\xFC\xD1\xC7\xBB\xAE\xAD\x47\xF8\x84\x97\xDB\xBF\x1D\xCC\xDA\x55\xD7\x7F\xDC\xD9\xC1\x60\xE8\xB1\xD6\xDA\x04\xD8\x86\xD8\xCC\xD6\xA1\xDC\x92\xD0\x68\xF3\xB7\xD9\xD6\xF5\xDA\x74\xDB\x7D\xD9\x98\xD9\xDF\xC5\x5A\xFB\xB7\xFA\xD8\xB7\xD7\xD7\xD8\x92\xD4\x7D\xDC\xB8\xC0\x64\xCD\xB5\xC2\xC0\xB7\xDA\xC4\xD9\x6E\xD8\x23\xDB\xCF\xDC\x67\xE4\x64\x9B\xD2\xF0\xD2\xE0\xD9\x36\xD8\xA5\xD5\xD0\xD3\x65\xE3\xAE\xB5\xD9\xA5\xD6\x85\xD9\x43\xDA\xC2\xDF\xD9\xD4\x70\xD5\xA6\xBB\xD8\x77\xD5\x1E\xD9\xAA\xD2\x33\xDB\xAA\xC5\x44\xC6\xB3\xFA\xDB\xAE\xDB\x13\xDC\x8F\x8D\xBF\xD1\xCC\xD3\x6D\xE9\xAD\xB5\xDB\x45\xD6\xEF\xD9\xD1\xD5\x2E\xD4\xE1\x17\x4B\xF2\xAB\xB6\xD3\x49\xD3\x63\xB7\x52\xD6\xCB\x49\xD4\x4A\x4F\xD7\xB9\x9C\xD4\xCC\xD7\x08\x1D\x54\xD2\x27\xC4\xDE\xC1\x6E\xDA\xB6\x8C\xDC\xFE\xD5\xEB\xD6\x67\xD9\x7B\xDF\xA6\xCC\x63\xD0\xB8\xB6\xD8\x6F\xD9\xA7\xCE\x56\xD9\x34\xD6\xD3\xDB\x5A\xF8\xB4\xE6\xC3\x47\xDC\x0F\xDD\x92\xDF\x7E\xB1\xDB\xCD\x72\xFF\xB7\xE0\xCE\xDC\xDB\x60\xDA\x94\xD9\x6D\xD4\xE5\xD0\x70\x16\xB9\xDC\xCD\x23\xD5\x30\x2F\x7E\xC6\x04\x1D\x1F\xD3\x33\x5A\xB1\x92\xCE\x3F\xC5\x06\x1C\x61\xD7\x79\xD0\xE1\x1B\x09\xE7\x40\x0A\xDC\x63\xD8\xE2\xDB\x5D\xDE\xB8\xD9\xE3\xC8\x6E\xFB\xB8\xCA\xDB\x1E\xC7\xAB\xD9\x7C\xDA\xCE\xD1\xD1\xD8\x64\xDC\xB5\xA6\xDB\x8B\x8F\x3B\xDE\x75\xCC\xBA\xDF\xB5\xD6\x6E\xE2\xAB\xD8\xDB\xD8\xD3\x3F\xDD\xEC\xB1\xD0\xD8\xD8\xC3\x74\xD2\xB3\xD3\xD4\xCA\xB3\x2A\xD4\xA2\xDC\x3C\xD3\x27\xD0\x25\xD8\x59\xBB\xC4\xB4\xD3\xA3\xD0\xAF\xDC\x8B\xD8\x9B\xD9\x5F\xE2\x9B\xFB\xD7\x66\xDD\x05\xDE\x41\xD9\xBD\xD8\xD0\xCE\x4C\xFA\xB8\x93\xDC\x3C\xDC\x36\xDD\x49\xCB\xD4\xD6\xB0\xD3\x73\xC5\xAD\xF5\xDC\x74\xD8\x55\xDC\xEB\x8F\xB0\xD8\xEA\xC9\x6C\xF5\xAE\xA1\xD9\x21\xDC\x25\xDD\x79\xBC\xC4\xDF\xD1\xC6\x71\xF0\xC7\x29\xDC\xDD\xDD\x42\xDE\x67\xD2\xD7\xD0\x98\xC3\x76\xFA\xA5\xF1\xCC\xAD\x4E\x3B\xC5\x6E\x4E\xCB\xDB\xEB\xD3\x57\xF7\xA6\x91\x1C\xEF\xD2\x32\xDC\xB2\xDB\xC6\xD6\xDE\xC3\x6E\xE8\xB7\xF6\xD3\xEA\xDA\x01\xDB\x9B\xDA\x8D\xD1\xED\xCD\x6F\xD8\x95\xD4\xDD\x09\xD8\x6B\xDD\xDA\xD0\xDB\xD4\xD1\xDA\x76\xD7\x9D\xAC\xDD\x86\xD6\x57\xDD\xD8\xD0\xD6\xDC\xC7\xC8\x6B\xC1\xB3\xD0\xDC\x69\xD6\x5B\xDC\xA3\xD2\xDD\xD3\xA1\xCC\x77\xCA\xAF\x89\xDD\x1D\xD4\x78\xC7\x87\xD6\xCC\x49\xBC\xC7\x61\xD5\x38\x26\xD4\x06\x02\x07\xCB\x15\xDA\xC6\xD8\xE9\xC7\x6F\xEA\xA9\xF8\xDA\x25\xD2\xAA\xD9\x2E\xDC\xAF\xD2\xEA\xD5\x70\xF2\xB7\xBC\xD8\x02\xD4\x1F\xD9\x8F\xD0\x88\xD3\x93\xDB\x69\xC8\xB6\x9F\xDC\x8B\xDB\x70\xDD\x5D\x72\xD6\xD4\xCF\xCF\x66\xC3\xAD\x92\xDB\x11\xD1\x7C\xDB\xB2\xB2\x13\x78\xEB\xC2\x53\x1D\xA9\xEA\x99\xEE\xC4\x7A\xDC\x83\x19\x5E\xC1\xBD\x31\x57\xEA\x90\x90\xB5\x58\xD4\x08\xB9\x83\x19\x9C\xC8\xAF\xC4\x53\xDD\x27\x53\xD7\xF3\xD3\xCB\xCF\xB2\xD8\xE0\xDD\xEC\xD7\x5B", +"\xCF\xBB\xBD\xDC\x05\xDF\x81\xDE\x1B\xDC\x97\xD3\xB9\xC5\x67\xF4\xB9\xA7\xDD\x22\xDD\xD5\xC0\xCF\xDE\x5B\xDC\xED\xD1\x7B\xDE\xA1\xDF\xDD\xC9\xD8\xA1\xDF\x84\x66\xC9\xD3\xC4\xD8\x78\xC3\xB1\x92\xCC\x08\x1C\x84\xC9\x71\x8A\x9A\xD2\x05\xC1\x2A\xD0\x94\xF8\x43\x42\x2C\x22\xCE\xDE\xB1\x4C\xD8\xE0\xDB\x07\xE7\xB4\xFD\xDD\x29\xDB\x7F\xDD\xDD\xD5\xEC\xDB\xDE\xC7\x7B\xD2\xBB\xFA\xD6\x6E\xDC\x9A\xDC\x01\xD9\xCE\xD5\xED\xC5\x75\xFF\xB2\x83\xDB\x82\xD6\x87\xDC\x1B\xC5\xEE\xD2\xEE\xDF\x4C\xF8\xBD\xEF\xD9\x7A\xDF\xAA\x84\xDF\xD9\x68\xD6\xEE\xD3\x90\x40\xBE\x87\x1C\x82\xDF\xC7\x84\xE1\xDF\x57\xDF\xA8\xC1\x56\xF5\x01\xC3\xD5\x77\xB6\xE3\xB6\xB1\xD4\x58\xB8\xAC\xD2\x3C\xDB\x74\xDF\xDE\xCC\xD4\xA8\xDB\x66\xD9\xCD\xDD\xD9\xC0\x55\xEA\xBD\x82\xD6\xA0\xDD\x0B\xC8\x9C\xDC\xED\xD1\xCC\xCE\x7B\xD7\xBB\xF0\xDE\xA5\xDE\xB9\xDD\x91\xDC\x33\xD9\xE7\xC9\x5B\xC0\xBD\x93\xD7\x4C\xDC\xC4\xDB\xEA\xD9\xAD\xDD\xFA\xD8\x39\xC3\xB8\xEB\xD5\x24\xC9\xB8\xCB\xBB\xD3\x81\xB4\x5B\xD5\x77\xD8\xB9\xD6\xB8\xDA\xC9\x93\x00\x37\xCB\x1E\xC0\xAD\xB7\xC0\x7C\x54\x1B\x3C\x8D\x2A\xB0\x2B\x1F\xCA\x45\xDC\xB4\xD6\x20\xF7\x76\xF7\xD5\xBE\xDE\xEE\xBC\xF0\xDB\x5F\xD2\xFC\xC8\x73\xD2\xB5\xEA\xDC\xC6\xDE\xCD\xDE\x0D\xD9\xED\xD2\x00\xEA\x63\xDC\xBE\x89\xDE\x9E\xDF\xAD\xD8\xE8\xD8\x76\xD2\xFA\xCE\xDB\x9D\xB8\xD6\xDF\x7B\xDC\xD5\xB5\xEA\xDE\xCE\xB4\xEE\xC2\x6A\xDD\xBF\xA9\xBE\xE8\xDC\xBB\xDC\xA0\xBF\xB5\xC7\x1A\xAD\x74\xD2\x71\xA5\xDE\x21\xD7\x70\xB5\x19\xB9\x7A\xCF\xFB\xC5\x6F\xC2\xB7\x91\xDF\x2F\xDE\x4E\xDD\x42\xDE\xD3\xD0\xED\xC9\x7E\xDF\x91\x86\xE0\xCC\xDE\xC4\xDA\xF3\xDB\xE1\xD0\xFD\xDF\xDC\xB3\xBD\xDD\xD6\xA4\xDF\xEF\xA1\x04\xE6\xAC\xCD\xE7\xDA\x7E\xC4\xBD\x9A\xB9\x7E\xDE\x54\xD9\x06\xE1\xFA\xD9\xC6\x27\x5A\xC9\x8D\xA4\xE0\xFA\xDE\x13\xE3\x99\xDB\xEC\xD3\xF9\xD8\x71\xEB\xC0\xC3\xD3\xC9\xDB\xBD\xD8\xA9\xD5\xAF\xD3\xDA\xD7\x5A\xE5\xB6\x9A\xE0\xC3\xB9\x05\xE1\x30\xDD\xB0\xDB\xDA\xD9\x81\xDF\x99\x92\xDE\x88\xD6\x8A\xDF\x28\xDE\xE2\xD8\xD8\xC1\x82\xDD\xB7\xC3\xE0\xC5\xD5\x64\xB5\x84\xCC\xF1\xDD\xF5\xC1\x64\xFB\xBF\xF2\xD6\xFD\xDE\x26\xE0\x00\xD9\xE0\xDF\xE0\xC5\x80\xD3\xAB\x84\xE0\x53\xE1\x9A\xDF\x8F\xDE\xC2\xD8\xF3\xD4\x6F\xFA\xBC\x8A\xD6\x37\xE0\xC2\xD6\x17\xE5\xB3\xB7\xFA\xDE\x69\xD3\xC0\xDC\xB6\x64\xE1\x6E\xDE\x19\xE2\xD0\xD8\xAB\xCF\x12\x11\xAE\xBF\xB3\x1B\xDF\xC2\xDE\xE5\xD6\x31\x22\xD2\xB4\x54\xDB\xAE\x81\xBC\x2B\xD8\x58\xCF\x1B\xE0\x74\xD1\x07\xF6\x71\xC7\xB4\xCE\xE0\xCE\xDC\x16\xE0\xDA\xDE\x05\xE5\x47\xD0\x81\xFE\xB5\x96\xD9\x57\xE0\x22\xE2\x60\xD9\xC3\xD7\xD3\xDB\x70\xC8\xB6\x8F\xE0\x43\xD9\xEB\xDD\x30\xD9\xFB\xDD\xED\xDB\x7E\xD7\xBC\x97\xE0\x63\xCF\xEF\xDC\xE7\xB8\x8A\xDC\x9A\xCD\x4B\x2E\x99\xEC\x00\x22\xD9\x04\xC9\xEB\x49\x8B\xD0\x02\xE9\x6A\xCD\xAF\xC6\xDD\x15\xCD\x12\xE1\xB2\xD9\xD3\xD2\xF9\xD3\x83\xD4\xBE\x82\xDE\x76\xE0\xE4\xDE\x14\xE0\xA6\xDC\xDC\xDF\x5E\xCE\xB7\xB5\xD6\xBF\xBF\x9B\xD4\x9B\xB9\x67\xD6\xBE\xCF\x58\xE8\xAF\x85\xCF\x48\xD9\x41\xD6\x12\xD9\x07\xD5\xCF\xCB\x6B\xE8\xC1\xBA\xDF\x88\xC9\x52\xCF\x9A\x4E\xEA\xDD\xEE\xD6\x77\xC4\xBB\x91\x1C\xAD\xCD\xC2\xD3\xB1\xD9\xBD\xCB\x09\xF1\x65\xE1\xAE\x9E\xE1\xCC\xDC\x50\xE2\xD9\xDA\x14\xE7\xF9\xD4\x51\xEF\xB7\xE2\xD9\x55\xE0\x72\xD9\x2A\xE2\x2A\xCF\x07\xE9\x6D\xC1\xC2\xB2\xD7\x83\xE0\x18\xCD\x21\xE4\xBF\xD7\x08\xEE\xDB\xB6\xC2\xE5\xE0\xB8\xE0\xD6\xC8\xD2\xDB\x28\xDC\x0B\xF9\x50\xED\x99\xF3\xBB\xD6\xCD\x8C\xD0\xB6\xCA\xCE\xCA\x6D\xCC\x87\xDF\xBC\xEE\xDD\x82\xD3\x06\x1D\x0A\xDE\xD5\xC9\x09\xFE\x7A\xCA\xC1\xCA\xDD\xF8\xE0\xB2\xDE\x3E\xE5\xF2\xDC\x0F\xE6\x78\xED\xB9\xFC\xD6\xA7\xE1\x5E\xDB\x40\xE5\xAB\xC0\xDD\xCA\x55\xD2\xB7\xAC\xD5\x10\xDE\xDA\xD4\x18\xE4\x82\xD2\x06\xEB\x66\xC9\xC2\xD8\xE0\x8B\xE1\x5A\xDF\x39\xE3\xA1\xC5\x11\xF4\x52\xD2\xB1\xE3\x5C\x54\xD9\x60\xE3\x11\xE1\x8F\x07\x46\x93\x33\xDE\xC4\xA6\xDE\x24\xB3\x8A\xCE\xAB\x0A\xAE\xDF\xA3\x15\x87\xF5\xB5\xB2\xD9\xDC\xD8\x5A\xDA\x37\xD9\xE6\xDA\xD7\xD3\x79\xF9\xC1\x9B\xDF\x31\xE1\x6E\xDF\x0C\xE3\x88\xDC\xF0\xC4\x6C\xCD\xC0\xBA\xDA\xD5\xDF\x58\xE3\x0E\xE0\x07\xCD\x10\xFA\xE4\x8F\xC4\x8A\xE1\x11\xE3\x5A\xBF\x50\xE2\x60\x85\x5E\xC4\xD6\x86\xB2\xD3\x10\x8D\xC6\x65\xE0\xBF\xDF\x04\xE5\xE3\xD9\x8A\xF7\xB8\xDB\xE2\x2D\xDB\xAE\xE1\x57\xD5\xC7\xD7\x00\xF9\x6A\xC9\xC0\xEF\xDE", +"\x5A\xE0\xC4\xD8\x17\xE0\xBF\xD9\x10\xE3\x3C\xDF\xC3\xEB\xD2\xE1\xE1\x89\xD5\x05\xE4\xB6\xD1\x17\xE2\x64\xF3\xC5\x99\xD7\xAB\xD8\xB4\xCC\x12\xE4\x1E\xE7\x12\xEC\x86\xE9\xC0\xFA\x41\x81\xE2\xA9\xD7\x60\xE5\x1F\xE1\xB3\xC8\x4E\xE4\xB6\x8A\xDE\x64\xE3\x1A\xE2\x31\xBE\x15\xED\xED\xD0\x85\xDF\xB2\xEB\xE2\xFF\xC9\x5C\xD0\xED\xCB\x1C\xE6\x9A\xC5\x87\xF6\xB6\xD1\xD9\x1B\xDF\xC7\xCD\xBD\xBD\x0D\xED\xD4\xD6\x8A\xC8\x38\x76\xDA\x5A\xE2\x98\xDD\x68\xE0\x97\xD3\x1A\xEE\x89\xD3\xBB\xB6\xDE\xA4\xDD\x0B\xDE\x1C\xDC\x15\xE6\xE7\xCC\x8D\xD8\xC1\xAE\xE3\xED\xD8\xD8\xE1\xAB\xBD\x2D\xED\x88\xD4\x8D\xDA\xA7\xB6\xE3\x51\xDD\xCB\xE2\xDB\xB3\xC5\xDA\xCF\xDB\x62\xEF\xBB\xC0\xCF\x27\x03\xE1\xCF\xD2\xDA\x2F\xED\xF2\xDE\x77\xDF\xC6\xF8\xD1\xC7\xDA\x28\xE3\xA7\xDB\x1A\xEB\xDC\xD4\x82\xC8\xBC\x86\xE3\xCA\xE2\x89\xD8\x73\xE1\xDB\xDE\x1C\xEA\x85\xF0\x01\x50\xE3\x3C\xDA\xE9\xE2\x55\xBC\x3A\xE9\xBB\xC0\xFB\xBC\xA2\xC6\xDE\x6D\xCA\x91\xDA\x46\x17\x9A\xD6\x12\xEB\x86\xEE\xBC\xAB\xDA\xA0\xE3\xF4\xE0\x0D\xDF\xF8\xDE\xDE\xD8\x61\xE2\xB6\xEF\xE3\xA7\xE3\xC3\xE3\xF3\xD9\x31\xED\xED\xCB\x8C\xDC\xB8\x8D\xE3\x60\xC4\xFD\xE0\x0D\xD5\x07\xE5\x0B\xFF\x81\xDC\x74\xC1\xE2\xDD\xDC\x8D\xDE\x51\xDA\xE9\xDA\xAC\xB0\x8A\xD6\x65\x97\xD0\x70\x50\xAA\xE2\xFC\xC7\xA9\xD4\xBD\xD1\x6A\xC8\x38\x53\xDA\x82\xE3\xED\xD4\x69\xE6\xC7\xD5\xA7\xC0\x72\xE0\xAF\xC2\xDC\x35\xE2\x22\xDF\x4D\xE6\xC8\xD9\x13\xF8\x63\xCB\xC4\xA0\xDC\x1C\xE4\x2C\xE3\x5B\xE0\x28\xE5\x19\xE8\x71\xF8\xC6\xC6\xDA\xD8\xBF\x93\x03\x7F\x82\x03\xDA\x09\xFD\x8C\xC7\xC8\xC5\xDB\x09\xE5\x4E\xDE\x7A\xE5\x05\xEC\x1E\xE1\x75\xE0\xC5\xB1\xE2\x6D\xDF\x99\xE1\xD5\x85\x2C\xE1\xFA\xD5\x8F\xF8\xB9\xBD\xE4\x18\xDA\xC5\xD8\xF6\xDC\x3F\xE7\x83\xDE\x90\xCE\xB3\x81\xDC\x4D\xD5\x89\xE0\x5D\xD4\xB2\xDE\x86\xD9\x7F\xDC\xC6\x86\xE4\xE6\xE2\x04\xE4\x7A\xE2\x4A\xEB\x20\xF1\x86\xCD\xC8\x99\xDF\x5F\xE3\xE5\xDC\x96\xE5\xF9\xDA\x25\xF6\xEE\xB3\xC7\x8D\xDE\x5E\xE5\x55\xDD\x37\xE3\x67\xDF\x18\xF1\x58\xD1\xC6\xBF\xD6\x93\xE3\x27\xDD\x91\xE0\x7E\xD5\xA1\xCD\xED\xA4\xC8\xC9\xB5\x4B\xC0\x62\xB5\x13\xC0\xE1\x4A\x22\xE3\x26\xE0\xBD\xF5\xDF\xF4\xD2\x39\xE1\x83\xDC\x0E\xEB\xE6\xC6\x8E\xD8\xBE\xB0\xE2\x01\xE3\x99\xD8\x6A\xE0\x61\xDA\x1A\xFF\x34\xA7\xC5\xB0\xC0\x18\xE4\x4D\xBA\x2C\xE0\xB1\xD4\x0B\xE2\x92\xE6\xC9\xE7\xD0\x00\xE4\xC6\xCE\x76\xE6\xA7\xC0\xDE\xCD\xB5\x95\xCA\xB0\x21\xE5\xE2\x14\xE2\x9C\xE7\x8C\xDD\x29\xEC\x90\xDA\xAF\xA9\xD7\x0D\xDB\xC2\xE1\x84\xE1\x3E\xE6\xEA\xD4\x90\xD8\xC1\x96\xE4\xAF\xE1\x54\xE5\x2D\xD2\x4C\xE3\x0B\xE4\x93\xE3\xBB\xD6\xE3\x85\xD5\x58\xE5\x13\xDB\x56\xEC\xD1\xB7\x22\xD2\x6B\x86\xDC\xEF\xD0\xDE\xE1\x55\xE6\x49\xE1\x27\xF0\x92\xF3\xC9\xCF\xE0\x75\xE5\x3C\xE4\xC1\xDC\x14\xEC\x44\xCB\x7B\xFB\xC9\xB2\xE0\x7D\xE5\x50\xBF\x9F\xE6\x2C\xE1\x28\xFB\x76\xFE\xBC\xDD\xDD\xAB\xE5\x6E\xDD\xAB\xE6\x3E\xE3\x24\xF6\x8F\xE0\xC8\xD8\xE0\x22\xE4\xDC\xDB\xA3\xE5\x80\xC9\x91\xD7\xED\xB0\xB8\xFA\xDD\x6F\xE5\xBD\xE3\x12\xE1\x25\xED\x04\xE0\x8C\xCA\xC8\xB2\xDE\xC5\xE2\x5F\xE7\x67\xC1\x2C\xE8\x05\xE3\x8B\xE4\xCA\xC6\xE5\xF6\xE2\x64\xE5\x6B\xE2\x59\xEA\xBF\xB1\x97\xD8\xC1\xF3\xE5\x43\xDF\x9F\xE2\xBD\xE3\x51\xE2\x89\xC7\x92\xF8\xB6\xBB\xC3\xD3\xC8\x54\x27\x86\xD6\xCE\x91\xF2\xDF\x0D\xE2\x0D\x41\xC3\x5D\xDC\x5E\xD7\x97\xDC\x64\xE1\xE6\xD5\x70\x23\xB9\x84\xB6\xE4\xE3\xC7\xDC\x5F\xE1\x53\xE4\x30\xEE\x86\xEB\xC4\xD0\xE1\xE2\xE5\x3B\xE0\xB9\xE4\x91\xC6\x2E\xE1\x95\xFF\xB5\xA3\xE5\x0B\xD9\x52\xE6\x6B\xB7\x54\xEA\xBF\xB8\x8F\xFF\xBC\x9A\xE4\xB8\xD1\xD0\xB8\x6D\xC0\x5A\xE6\xAE\xD4\x75\xE1\xC8\xD4\xE5\x3E\xCC\x90\xE4\x77\x18\xBA\x02\xA2\xC0\x89\xF7\x96\xFB\xD2\x8C\xDD\xBE\xD3\xED\x15\x18\xEE\x1D\xE1\x89\xD1\x38\x13\xDD\x31\xDC\x37\xE0\xB7\xE2\x57\xEE\x2D\xFC\x95\xC1\xC0\xB9\xE6\xD2\xE0\xAF\xE0\x35\xE6\x3D\xE8\x1C\xFD\x7C\xC4\xCB\x9F\xDF\xEB\xE5\x2E\xE7\x41\xE6\x8E\xD4\x31\xFC\x31\x96\xCC\xF6\xE3\x18\xE7\xBD\xDF\xAB\xE6\x94\xD8\x1D\xF9\x78\xD0\xCD\xC6\xC0\x4D\xDE\x40\x16\x86\xD2\xD8\xDE\x0E\xEF\x77\xE3\x64\xB2\xD3\xF1\x46\x1E\xC7\xC8\xE7\x3F\x37\xDB\xB9\x4D\xC0\xCC\xCD\xE4\x70\xE4\xB2\xE7\xA6\xD9\x4A\xE0\x2E\xE8\x98\xF2\xC8\x9E\xE5\xDD\xD6\xD3\xE2\x15\xE0\x68\xE5\xD3\xC2\x9A\xDF\x20\x92\xE6\xCF\xE3\xBA\xE6\x82\xD7\x47\xE1\xF4\xC1\x92\xF4\xCB\xFB\xE6\xC6\x43\x7B\xE6", +"\x7D\xE1\x5F\xEA\xE2\xC1\x9C\xE9\x24\x2D\xD3\x8B\xE6\x58\xC6\x79\xD4\x6A\xC2\xEF\xCF\x74\xCB\xAF\x91\xDD\xF8\xDC\x64\xE1\x96\xD5\x40\xE2\x30\xE8\x89\xFE\xC5\x9F\xE1\x06\xE6\x3A\xE6\xE5\xE0\x58\xE3\xE1\xC2\x96\xDB\xCE\x92\xE4\x34\xE0\x88\xE6\x0D\xE3\xFA\xD1\xC4\xC9\x8B\xEF\xC6\xCC\xE5\xAC\xE4\x67\xE7\x88\xDC\x69\xED\xBE\xCE\x9A\xF8\xCB\xFF\xE6\xCC\x56\xD7\xE5\x07\xB0\x76\xE4\x38\xE7\x7F\xF8\x95\x9E\xD4\x5B\x12\x10\xD6\xED\xE0\xE4\xDD\x32\xE4\xC9\xA8\xBC\x9D\xA4\x28\xD5\x98\xE4\x8B\xE1\xEC\xD8\xB9\xD5\x99\xDB\xCA\xCF\xE1\x75\xE0\xB4\xE7\x9D\xE0\x54\xE0\x21\xE7\x9E\xEF\xCD\x8A\xE0\x71\xE6\x06\xE1\xBB\xE7\xE1\xD3\x28\xF5\x6E\xC5\xCA\xBD\xD6\x87\xE5\xB3\xD9\xA2\xE5\xEF\xDC\x31\xF4\x50\xF7\x7A\x8E\xE5\x96\xD1\x28\xD5\xD7\xE2\xC8\x2A\x3D\xFE\x78\xDE\xA9\xD2\xDE\x08\x1C\xAA\xDC\x97\xD7\x83\xC7\xF5\xD5\x1A\xE5\xB0\xFF\xC5\xC4\xB4\x52\x0E\x54\xE6\x9B\xCC\x41\xEB\x26\xE6\x97\xA7\x02\x1D\xB3\x0E\xEA\x08\xE9\x99\xC2\xB2\xD2\x20\xE4\x92\x81\xD9\x2F\xC3\xE0\xDE\x1C\xD3\x84\xE8\xB1\xB5\x18\xE7\x04\x11\x22\x18\xE9\x06\x1F\x8E\x1E\xC6\xAF\x40\xD0\x36\xE2\x8C\xBA\xE1\xE3\xE2\x1F\xC5\x1C\xCE\xF1\xC6\xE9\x1E\x71\x37\xC5\xCB\xB5\x3B\x1C\x3D\x17\x25\xD1\x87\xEB\x40\xE1\xB3\x03\x86\xC2\x15\xF1\x2F\xAA\xE5\xE1\xE2\xAE\xBE\xE3\x14\x66\xC0\xD1\x87\x19\x03\x03\x21\xE9\x89\xE7\x5C\xC8\xAC\xBB\x8E\x30\x25\x4A\xE8\xDE\xE6\xDB\xBA\x8F\x1C\x18\x23\x12\xDB\x26\x91\xD1\x8A\xE8\x90\xDD\x23\xEB\x69\x91\x89\xE1\x3B\xEB\x35\xFE\x38\x4E\x21\x5D\xE9\xA2\x91\x42\x02\x8A\xE0\x29\xF4\xA2\xEE\xC4\xE4\xE8\xDD\xE6\x30\xDD\x4C\x06\xC7\x1C\xBA\x24\x08\xDE\xD1\xC8\xC0\x60\xE9\xDB\xE6\xF6\xE1\x21\x78\x45\xF2\xA3\xFF\x03\x3E\x1C\xFE\xD8\x66\xB5\x10\xE9\x81\xE8\xD4\xC5\xA2\xF3\x5A\x49\xB6\x85\x1B\xCD\x45\x1F\xEC\x65\xE3\x47\xE7\x09\x29\x7D\xCE\xB5\x83\xE9\x35\xE9\x1E\xEC\x7C\xE5\x06\x09\x1B\xE3\x35\x28\xCD\xE6\xDE\x3F\xEA\x8F\x18\x45\xE2\x48\xF0\xA2\xF8\xD1\x85\xE9\x61\xE8\x15\xEB\x8C\x7F\x85\x2B\x48\xEC\x9C\xFE\x38\x70\xDA\xC9\xB5\x48\xEA\xE7\xBB\x92\xE6\x35\xE6\xA2\xE2\xD2\xCC\x8D\xA4\xE9\x32\xEA\xBA\x37\x8F\xE7\x12\x15\x6C\xCA\x6B\xAA\xE9\x5F\xE8\x50\xEA\x1E\xEF\x95\xE8\x7A\x91\xA5\xF1\xD1\x8C\xE9\x2C\xE9\x60\xE8\x83\x18\x4C\xD4\x2C\x2D\x7C\xE1\x11\x00\xDA\x4B\x5B\xEA\xD4\xF1\xDE\xC1\xDD\x2B\xF6\x93\xFF\xCA\xFF\xE1\xC1\xE4\x86\xE6\x7D\xE6\x61\xE1\x34\xEA\x9E\xEB\xC6\xF3\xE6\x16\xDA\xD1\xE6\xE9\xDB\x27\xE0\xEE\xC6\x9D\xD9\xCC\x83\xE8\xAC\xDE\xEB\xE7\xEA\xE5\x11\xE1\xD8\x18\xDD\x91\xC2\xB4\xDF\x72\xB6\x48\xD6\x18\x69\x20\x02\xA9\xC5\xDE\x8B\x94\x95\xD5\x6C\xE0\x37\xE4\xAC\xCF\x94\xBC\x2F\xFE\x11\xCA\xD3\xFF\xDF\xC5\xDE\xF6\xDA\xC2\xE6\x65\xD4\x3C\xE4\x8C\xD2\xD3\xD5\xBD\xF7\xE6\xC4\xE1\xFE\xE3\x0B\xE4\x34\xEB\x67\xCE\xCF\xD1\xE3\xD0\xE6\x79\xE6\xF4\xE4\x27\xD0\x4E\xFC\x7E\xE2\xD3\xF0\x63\xE4\xE8\x5D\xD6\x39\xEE\xA8\xD2\x09\xF5\x7D\xC2\x95\xC3\xB7\xB9\xDF\x85\xCA\x51\xC9\xC2\x1D\xFB\xC4\x90\xC1\xB2\xF4\xE9\xC7\xB4\x4D\x73\x3D\xEF\x45\xE0\x00\xFA\xA7\xCE\xD3\xAF\xE2\x39\xD9\xB6\xE4\x02\xE1\xA0\xE3\x21\xE3\xA8\xCA\xC6\x85\xEA\x02\xD0\x30\xE6\x58\xD9\xA1\xE7\x31\xEB\xA8\xED\x87\x9A\xE6\x8F\xDA\x76\xBD\x64\xD8\x87\xE4\x1F\xCC\x57\xD1\x2D\x19\x09\xE3\xDE\x94\x4E\x09\xDD\x5F\xE1\xC1\xB4\xA0\xCB\x6B\xA5\xDA\x20\xEB\x91\xB2\x48\xEE\x45\xEE\x3D\xC5\xA9\xD6\xBE\x98\xE7\xA0\xDA\x07\xE4\x7C\xDA\xA5\xE0\x1F\xFD\x83\xD8\xB8\x85\xE2\xF6\xDA\x6C\xEA\x61\xDF\x5D\xE8\x05\xF7\x9B\xFC\xB9\xBD\xE2\xF1\xD8\x9C\xEB\x76\xDD\x6F\xEF\xF7\xD8\x9E\xC9\x9D\x4E\xB8\x1D\xE1\xD8\xCB\xEA\x13\xB6\xC8\x49\xED\x87\xD9\xD1\x8A\xDD\x25\xE9\x76\xD7\x17\xDC\x4C\xD9\x54\xF4\x70\x0B\xD5\xC3\xDF\xF8\xE8\x66\xEB\xD9\xE3\x6D\xED\xEC\xB8\x83\xFC\xD5\xD7\xE4\x3E\xE6\x54\xE0\xE7\xE0\xB1\xDC\x25\xFA\x9F\xDA\xD5\xDD\xE0\x5C\xEA\xFB\xE2\x57\xEA\x02\xEE\x4D\xFA\x9B\xE2\xD5\x80\xDC\x3A\xEA\x01\xDD\xA3\xE2\xE7\xCF\x41\xF3\x1A\xDB\xC6\xF3\xE9\xC8\xE8\x7B\xE8\x53\xEA\xA0\xD7\x33\xF1\x9F\xFF\xD5\x83\xE0\x3B\xE7\x55\xCA\x29\xE1\xB0\xE2\x13\xE3\xAC\xDD\xBB\x85\xEB\x04\xEB\xFD\xE7\xE8\xD9\xB1\xEA\x03\xF4\xA9\xF8\xCD\xB6\xEA\x17\xD8\xFF\xE3\xEE\xD0\x4D\xED\xBB\xDC\xA9\xC4\x9C\x90\xCC\xE1\xB9\x78\xEA\x47\xED\xA9\xD5\x57\xF0\x70\x37\xD5\xFE\xDF\x24\xEB\x7C\xEB\x53\xEB\x9F\xEF\x29\xE9\xA9\xFB\xC1\xB7\xDE\x41\xDD\x9C\xDF\x90\xDF\x87\xDC", +"\x3C\xFD\x79\xC7\xD4\xF9\xE3\xAE\xEB\xAF\xE9\x00\xE9\xBB\xDF\x58\xE0\x74\xE4\xD5\xA8\xD9\x11\xEA\x45\xD7\xE0\xDF\x9C\xEE\xA8\xC9\xA7\xE0\x74\x94\xE1\x43\xCC\x4B\xE1\x83\x1E\xC8\xC4\x12\xF3\x87\xD8\xD6\xBA\xE9\x94\xE9\x91\xE9\x53\xEA\xB8\xED\x12\xE4\xAE\xFE\xC3\xD2\xEA\x00\xE3\xFA\xE6\x40\xE6\xB4\xE8\x05\xE8\xAD\xEF\xD4\xAA\xEB\x0E\xE0\x6D\xEB\xEB\xC9\xBA\xEC\x58\xE0\xAB\xC0\xB5\xA8\xE7\x16\xD7\xEB\xEB\x19\xE6\x63\xEA\xE2\xC5\x8A\xF9\xBA\x9F\xD8\x6C\x1A\xE2\xD6\x46\xE5\xE1\xCC\x11\xEF\x38\xDC\xCD\x90\xDD\xB7\xBA\xE7\xD6\x31\xEC\x29\xE8\x5E\xED\xA5\xD2\x94\x9B\xEB\x98\xDA\xF8\xE5\x33\xEA\x7E\xEF\x4C\xF0\xAF\xD1\xD3\xE7\xE5\x62\xE3\x74\xE6\xE9\xCE\x9A\xE6\x2A\xF8\xAF\xE8\xC5\xB2\xEA\xAD\xDA\xFE\xE8\x0F\xE6\xBF\xED\xD8\xD5\xAE\xF3\xBA\x82\xEC\x82\xDC\xB3\xE9\x13\xBF\xB7\xDC\x4B\xB5\x5F\xCF\xD8\xB7\xE7\xF8\xD6\x4C\xE2\x79\xEC\xAE\xE9\x59\xE6\xA4\xD3\xAA\xF8\xEA\xC1\xEA\xBD\xEA\x49\xEC\xC3\xE8\x52\xEF\x90\xD4\xD5\xC3\xE5\x56\xEB\xE5\xE0\x56\xEA\xC3\xD7\x58\xEC\x8C\xEC\xD6\xDF\xE0\xFF\xE7\xEB\xDB\x74\xE9\xD6\xDE\x62\xE5\x7A\xF4\xD6\x9B\xD8\xB6\xEB\x08\xD2\x81\xEA\x4C\x15\x6D\xD9\x11\x0A\xC5\x96\xEB\x14\xEC\x3E\x1E\x53\xE5\xFC\xDE\x56\xFE\xA3\xDF\x9B\xBA\xE7\xE0\xE7\xF4\xC9\x6F\xEC\xC1\x1F\x5B\xFA\x94\xCB\xD3\x9C\xE5\x7B\xEB\xF6\xE1\x5F\xE9\xB4\xE4\x3D\xC3\xAD\xF2\xD7\xA2\xE5\xC8\xE7\xD4\xE0\x89\xEB\x68\xE6\x62\xE8\x95\xCF\xD9\x84\xE1\xDC\xE9\xBC\xDD\x63\xEA\xF5\xD0\x60\xEB\x52\xD7\xD9\xD0\xD9\x6A\xE5\xB6\xDB\x96\xEA\x70\xE9\x23\x1E\xF1\x83\x57\x5F\xEC\x88\x9A\x2C\xDB\x98\xED\xAD\xEF\x11\xEB\xA2\xE4\xA8\x8D\x1C\x1B\xE8\xE4\x0C\x93\xE4\xC7\xE5\x61\xF6\xB4\xD9\xD4\xC0\xEB\xEB\xEA\x21\xEF\x70\xEF\xA4\xEC\x4F\xF0\xA6\xC5\xCF\xFF\xE9\x42\xBA\x11\xEF\x15\xD3\xB9\xEB\xF3\xCD\xAE\xF4\xBD\xFF\xEC\x0A\xE3\x40\xEC\xEA\xDB\xD0\xE4\x01\xF4\x9E\xE5\xB8\x8F\xEA\xAE\xDE\x19\xED\x11\xE7\xB6\xBF\x43\xF0\x6B\x0C\xB5\xBF\x14\x6B\xEC\x04\x1D\x9B\xEE\x7D\xEF\x66\xFA\xB0\xF1\xD9\xD6\xE4\xA0\xEB\x2A\xE6\xF2\xDE\xCE\xE7\x64\xF6\x9F\xC9\xD9\xF2\xE3\x4B\xED\x56\xE1\x93\xEF\x42\xE0\x6B\xEE\x8C\xEA\x7A\xE9\xD7\xB2\xE3\xF5\xD6\xAD\xED\xDC\xD8\x6B\xFE\x7E\xD3\xD6\xE5\xCE\xBC\xBC\xCD\xE3\x78\xDC\xFB\xB1\x6C\xE5\xA5\xF2\x66\x6A\xEB\x9C\xEB\xE0\xE5\xE5\xE1\x46\xED\x4F\xF3\x91\xC6\xCF\xF3\xEB\x79\xED\x87\xE6\x4B\xED\x42\xE0\x53\xE5\x66\xE8\xD8\xC8\xDC\x2A\xEC\xB6\xE0\xAD\xE8\x11\xED\x50\xF7\x85\xDD\xDB\x98\xE0\x04\xED\x74\xDE\x6E\xE3\x20\x06\xCD\xC4\x69\xDB\x74\xE5\xED\xB2\xE8\xDF\x2C\xBA\xE9\xC3\xED\x59\xFB\xB0\xDF\xD6\xE3\xE5\xCA\xED\x17\xE1\xCF\xE7\xCE\xEF\x33\xF1\xB7\xD5\xD3\xF3\xED\xC7\xE5\x7A\xEF\x36\xD7\xDE\xEA\xE7\xD9\xB7\xF1\xC6\xCA\xE6\xBA\xD0\xD9\xE9\x06\xDF\xD0\xE7\xF4\xD9\xB2\xC3\xA5\xFB\xE5\x21\xEB\xDF\xCC\xB1\xB1\x90\xE1\x10\x02\x8F\xD3\xD1\xE4\xED\x3D\xEC\x48\xDF\xC2\xE9\xC1\xD6\x6C\xE3\xB2\xCF\xDC\xBA\xE6\x11\xEF\x52\xE3\xC4\xED\xD9\xE0\x6F\xEC\xA9\xC9\xCF\x98\xEE\x11\xE6\x8D\xEC\x04\xDC\xE3\xE0\x01\xFE\xB8\xD3\xC7\xFB\xED\x0E\xE3\x42\xED\x6A\xCF\xDF\xE7\xB6\xA2\x90\xF1\x26\x3B\xEB\xC0\xED\x98\xEF\xED\xE3\xE6\xEC\xF2\x10\xB3\xF6\xDC\xF2\xEC\x11\xDC\x3A\xED\x4C\xDC\xB4\xE9\x25\xF4\xAF\xF6\xC7\xF6\xEB\xF4\xED\x3E\xED\xD1\xE2\xBF\xE7\xF7\xD2\xB5\xC6\xC2\xC8\xEE\x6E\xE2\xA5\xEC\x85\x65\x80\xED\x9D\xC9\xB4\xCF\xA9\xA8\xEE\x4A\xEB\xB4\xC2\x52\xDC\xF4\xBF\x6B\xEB\x8A\xEF\xDC\xBE\xEC\xEE\xE8\x50\xED\xBA\xEA\x38\xE7\x30\xEC\xB7\xE6\xDA\xFE\xE9\x20\xED\x86\xE6\xAA\xEA\xB2\xBE\x39\xE3\x44\xEE\xDA\xB8\xE0\xD5\xED\x0C\xE6\xD1\xEB\x3F\xE8\x76\xF5\x8E\xE2\xDC\xCB\xD8\xD2\xE4\xA2\xD9\xC0\xE8\x0B\xEE\xD6\xD1\x70\x30\xB5\xCB\xE4\x34\xEC\xDE\xEA\xD4\xE9\xBD\xE8\x61\xF4\xB9\xCD\xDC\xC7\xED\xCB\xEC\x9C\xEE\xDA\xE0\xEB\xEA\x27\xFC\xBA\xFC\xC9\xDE\xEE\x04\xE2\x56\xEC\x20\xE7\xF0\xE2\x08\xE9\xBC\xEA\xCA\xC8\xE6\x4B\xDC\xD8\xEA\xF8\xCB\xDB\xE6\x01\xEC\xBA\xD2\xC4\xA6\xEE\x6B\xE5\x36\xD1\x42\x04\xD4\x08\xAB\xD1\xBA\xDD\xDA\xEF\xEA\x17\xEC\x20\xED\xA8\xEE\xEA\xE3\x6A\xE4\xB2\xE5\xDA\x9E\xEC\xA7\xED\xC0\xEF\x34\xEB\xF0\xEA\xBF\xA0\xBB\xD9\xDC\xE2\xEE\x06\xEA\xA2\xEE\x5A\xE3\xF1\xEB\x21\xEC\xB1\xFE\xB7\xD5\xEC\x40\xE0\xB6\xED\xC6\xD0\xF7\xED\xD6\xD0\xBB\xF6\xD5\x99\xD1\x92\xE5\x4D\xD3\x65\xEC\xD3\xEA\xDB\xD8\xBB\xD4\xDD\x97\xDD\x35\xEF\xE2\xEF\xCD\xE9\x6D\xE9\x30\xE4\xB5\xDF", +"\xA5\xB5\xE4\x7C\xE1\xE4\xEA\x1F\xE2\xF5\xE6\x10\xEC\xBD\xC8\xC4\xAE\xEF\xCB\xE4\xD2\xE7\x98\xE5\xF1\xED\x1F\xF3\xFC\xBF\xC7\xA4\xEE\x67\xD6\xB7\xEF\x94\xDD\x56\xEA\x0D\xB7\x95\xD4\x8D\xAC\xDC\xE6\xEF\xCE\xED\xD5\xE9\xFD\xED\x5E\xEE\xBF\xEF\xD7\xF8\xE4\xEB\xEE\xDC\xBE\xE9\xE8\x5D\xE8\x7A\xF4\x89\xD9\xC3\xE3\xD7\xDB\xE1\xF2\xD4\xB6\xC7\x7C\xD7\x6D\xE0\x87\xD9\xDB\xC9\xD8\x8F\xEE\x72\xE1\xE4\xEE\x1C\xE3\x79\xF6\x8F\xD6\xCB\xED\xB5\x36\xC3\x03\xDE\xB6\xE6\xEE\xED\x46\xFA\xAC\xC2\xDF\xFB\xEE\x2A\xE1\x50\xE3\x94\xE3\x14\xE9\x73\xE5\x97\xD4\xB2\xCA\xEF\x00\xEB\x67\xED\xB1\xE0\xE8\xEB\x3C\xFB\x91\xD4\xBF\xD2\xEF\xCF\xE6\xFD\xED\xB3\xE4\xFF\xE5\x26\xF8\xBE\xDF\xC8\xDA\xEF\xEF\xBD\x12\xF1\xF2\x56\xFB\xEE\x5B\xE4\xAA\xCD\x38\x7F\xE5\x30\xE6\x98\xEF\xEF\xEA\x8E\xE7\x7E\xE6\x59\xFC\xDD\xC2\xE7\x7E\xEE\xE4\xEC\xE0\xEB\x02\xF1\x62\xF5\xC0\xDB\xC9\x85\xEF\xD9\xCE\xFB\xEC\xDD\xE0\xFF\xE5\x31\xF0\xBD\xF0\xB6\xD6\xEF\x7E\xDC\x23\xF3\x99\xE1\xB2\xE9\x26\xFC\xBE\xCF\xA9\xD2\xE6\xAA\x1A\xAA\xE5\xC2\xE9\xCB\xD6\x32\xE7\x3C\x28\xCC\x9B\x18\xE6\xED\xF6\xD0\x54\xD0\xCD\xE2\xF2\xD2\xC2\xE5\xDF\xB2\xEE\x0A\xF0\xF4\xEF\xE7\xEF\xEA\xE8\x6C\xF0\xB8\xE3\xDE\x85\xF1\x3B\xEF\xE3\xE9\x72\xE2\x07\xF0\x37\xF1\xB6\xCD\xC7\xD3\xED\xC9\xE4\x32\xF2\xDD\xE6\x0C\xFC\x15\xC4\xC2\xCF\xCB\xA1\xF0\xB5\xE3\x11\xF3\x6D\xE2\x00\xF4\xE8\xD0\xC3\xFC\x84\xDE\x0D\x79\xF0\x7A\xD7\x48\xB4\x2F\xDB\x8E\x3E\x4B\xCF\xC5\xF2\xEE\x92\xDC\x3E\xF1\x47\xD6\x0F\xF8\x80\xE0\xC4\xEF\xE0\x8C\xEE\xEA\xEC\x19\xF1\xB8\xE1\x02\xFD\x61\xF0\xC0\xE4\xDE\xCC\xED\x8A\xF0\xB7\xE4\x23\xF0\x7F\xEE\x88\xF4\x8F\xD0\xE2\x93\xE6\x92\xF1\xD1\xE6\xD9\xEC\x21\xE6\x89\xF3\x9E\xD8\xE2\xD7\xE3\x9A\xF1\xEC\xE2\x12\xF2\x77\xBD\x40\xFC\x9E\xEB\xA7\xC0\xEF\x14\x03\xD8\xD2\x72\x10\xD8\xD1\xA2\xD3\xC3\xC3\x88\xC0\xC4\xAA\xF0\x0A\x1E\xA5\xD9\xCC\xED\x8A\xF3\xBA\xC1\xE2\xD6\xF0\x31\xF1\x7D\xE3\x0C\xF3\x46\xEE\x57\xF7\xC5\xC9\xE2\xF0\xEF\xC8\xEB\x1B\xE6\x72\xE9\x47\xEC\x5C\xFE\xC1\xCD\xCF\xC0\xF0\x08\xEA\x21\xF1\xF4\xE5\x18\xFC\x50\xF4\xBD\xD4\xC6\xB6\xEF\x72\xE3\x65\xF3\x42\xCD\x19\xF3\x38\xEF\xC6\xF2\xD1\xAB\xDE\x61\xED\xDA\xE7\x8D\xEC\x92\xEC\x27\xD9\xC6\xD5\xBA\x87\xEE\x9B\xEE\x0B\xEF\x8F\xEA\xEF\xE0\x8B\xF7\xC2\xEB\xDB\xA2\xE3\x97\xE6\xF7\xE9\x69\xE6\x54\xD7\x0D\xE1\x5F\xD7\xE0\xD1\xDB\x19\xF1\xE9\xD9\xFF\xE5\xD5\xD1\x65\xEF\x75\xD3\xD9\x95\xDE\xFD\xEC\x88\xE0\x3E\xF6\x32\xEA\x8F\xF4\x8B\xFC\xE3\xB9\x04\xA1\xF1\x5E\xDD\x1F\xF2\x56\xC4\xF2\xC7\xC5\xC6\xC3\x91\x1C\xE7\xE7\xA7\xA9\xFA\xE4\x15\xFD\x1D\xEE\xC5\xCC\xE4\x9E\xEF\xB1\xF0\x71\xF3\x2C\xF6\x1C\xFC\x7E\xF1\xC8\xCE\xE0\x93\xF2\xCD\xDB\xF9\xBF\x0E\xF5\x17\xF0\x28\xFF\xC5\xE1\xCE\xC1\xF1\xDB\xE9\x8E\xF3\xC4\xDF\x23\xF3\x06\xE1\xC9\xF0\xC5\xA3\xF2\x46\xE4\x4E\xF2\x34\xDC\x09\xFC\x66\xEE\xA3\xD2\x9F\x8E\xE8\x50\xDE\x16\xCA\xCA\xE7\x20\xFB\x95\x1B\x52\xD0\x9C\x8F\xE8\x2A\xE6\x62\xEA\x41\x06\x6D\xD6\xBB\xBB\xE8\x93\x70\xF5\xE9\x09\xF1\x57\xF0\x4E\xF6\x21\xF2\x8B\xE3\x9E\xFF\xDD\xEE\xED\xA8\xED\x0C\xBE\x17\xF6\x4F\xE4\x94\xEC\x97\xC6\xE5\xF6\xE3\x46\xE6\x78\xE4\x25\xF5\xAC\xDC\x94\xFE\x89\xCE\xE5\xC4\xE4\x50\xF2\x3D\x95\x76\xEF\x11\xED\x9C\xA9\x5E\x55\xD4\xDE\xEB\x75\xB6\xC4\xDF\xA7\xE8\x33\xE4\xAC\xB6\x54\xF2\xD3\xE4\xD4\x67\xF3\x94\xEE\x0B\xF7\x26\xFB\x80\xE3\xC4\xEA\xDF\xBC\xF2\xF3\xE6\xE3\xE8\x3A\xF3\x11\xF2\x7F\xF7\xAA\xF4\xDF\xD9\xEA\x62\xF1\x6C\xE8\x52\xF3\xBF\xE2\x8F\xEA\xA8\xF4\xE3\xB7\xEA\x7F\xF3\x8D\xE5\x60\xF7\x55\x93\x98\xF3\xA8\xF8\xB6\x87\xF3\xBE\xB7\x08\x0E\xED\xDB\x9D\xEA\xB2\x18\xA8\xC1\xDF\xF4\xE2\x1B\xEB\x0A\x1D\x47\xEE\xE0\xEC\xFD\xB1\xCC\xF1\xDD\x93\xF3\x6E\xED\xBC\xE8\xF1\xED\x01\xF6\x7C\xE5\xAE\xC6\xD9\xB9\xF1\x2B\xEB\x5D\xF2\x40\xED\x2E\xF2\x37\xE1\xCD\xDB\xD5\xCF\xEB\x47\xE6\xEA\xED\xD2\xE2\xBC\xBB\x34\xE7\xC6\xD1\xCB\x80\xF0\xB2\xE5\x92\xF1\xE6\xD6\xA7\xEC\xCF\x00\xAA\xE7\x92\x0A\xB8\x42\xEB\x94\xF0\x1D\xF7\xFE\xD6\x54\xE9\x86\xFD\xE6\x89\xF2\x9E\xED\xDB\xF1\x70\xF1\xC8\xE3\x9C\xE3\xC7\xD0\xD5\xEB\xD8\xF4\xE6\x9E\xEC\x9E\xEE\xE7\xEA\x67\xFC\xC1\xD7\xD3\xCE\xF3\x88\xEA\xE8\xF2\x5E\xF2\x3A\xF1\x7B\xE7\xCD\xF1\xD6\xFE\xEF\xB3\xEA\x36\xF1\x6D\xEF\xDB\xE0\xFE\xDC\x58\xE9\xD5\x9E\xD6\x6B\xEB\xF1\xE6\x42\xF0\x55\x21\x57\xFF\xA9\xF9\xC5\xE7\xF3\x53", +"\xF0\x46\xE9\x15\xF6\xA9\xD9\x93\xEC\x89\xEE\xE7\x92\xF2\xF0\xF2\xCD\xF2\xF7\xD6\x46\xE5\x91\xF8\x91\xD7\xE4\xB6\xE2\x19\xF2\x9C\xE3\x46\xF1\xE2\xDA\x94\xE1\x83\xFD\xE5\xE1\xEA\xA9\xF3\x9C\xE8\xD9\xBB\xA7\xE4\xA0\xEF\x2B\xD5\xD6\x91\xED\xE3\xEF\x40\xDA\x6F\xF7\xFB\xE0\x9C\xE4\xB6\xC2\xE7\x8C\xF0\x17\xF5\x9F\xF1\x86\xF7\x38\xFB\x99\xFA\xC5\xDD\xE6\xCA\xEC\x9F\xF2\x26\xEC\x7E\xF6\xC9\xEA\x9F\xFD\xAA\xFB\xE5\x8D\xD4\x68\xF0\x1F\xE2\x1A\xF0\x56\xE8\x9D\xF3\x96\xDA\xE7\xDB\xE3\xB8\xEA\xB6\xD6\x6E\xEC\x37\xF9\x5E\xD3\xD1\xCD\xE1\xB5\xF4\xBF\xE7\x7C\xE1\x85\xF0\x67\xE4\x8B\xE5\xB2\xD3\xD5\xC8\xF3\x55\xEB\x1F\xF4\xB4\xE9\x48\xF2\x6D\xE3\xD2\xD4\xDB\xC5\xF4\x8A\xEB\x23\xF7\x11\xDF\x03\xF2\x0E\xF6\xCE\xCD\xCD\xB0\xEC\xB5\xDD\xD6\xF3\xA2\xD4\xA2\xE8\x4E\xF1\xCD\xF3\x6D\x97\xD7\x8A\xDE\x92\xB0\x79\xEA\x1E\xEA\xAC\xBB\xC6\xFB\x23\x68\xF3\xD0\xF1\xBC\xEF\x7A\xF3\xF8\xE8\xA3\xFB\xC9\xC8\xE2\xBD\xF2\xED\xED\xF7\xF3\xBB\xEB\x3E\xFA\x9C\xED\xA9\xCC\xE7\x86\xEB\x66\xF5\x48\xF0\x9A\xF5\xB5\xE5\x9A\xF5\xA9\xFE\xE7\xB3\xEF\x6E\xF5\xEA\xE4\x9C\xF7\x69\xEF\xA4\xFE\x29\xCB\xDA\xAF\xE7\xBE\xE1\xE1\xD5\x5A\xBB\xC1\xE6\xBC\xCD\xB0\xC8\xAF\xAE\xF2\x78\xEF\x08\xEE\x41\xF4\xC1\x15\xD2\xD6\xD2\xD5\xE5\xD8\xF4\x9A\xDD\xE0\xE1\x38\xF6\x42\xF6\xA8\xE1\xBD\xC8\xEA\xEF\xF2\x8A\xF5\xB8\xF0\x3F\xBB\x2E\xFA\x2E\xEF\xD4\xE9\xD6\xF7\xF2\x5F\xE5\x11\xF6\x4E\xE5\x44\xFC\x13\xE7\xD1\xFF\xD7\xCB\xF4\x7C\xE7\x64\xF2\xDF\xE5\x53\xF5\x2D\xFB\xB4\xF5\xD8\xEB\xE1\x64\xED\x4A\xED\xA0\xF1\xC7\xE6\xD2\xA5\x89\xF2\xE8\x80\xF5\x54\xF1\x6F\xF0\x85\xF4\x2D\xFA\x93\xEE\xCB\xDA\xE1\xF0\xF2\x38\xF1\x54\xEC\xAF\xF3\xC4\xE6\x9F\xE5\xB1\xC0\xEB\x82\xE5\x1B\xF0\x6F\xE1\x07\xF0\x32\xEC\xA6\xF2\x8C\xF6\xE3\x8A\xE5\xAB\xF2\x03\xEB\xCA\xBA\xCD\xCE\xC1\xC1\xD5\xE0\xB0\x99\xE2\x2D\xDD\x91\xB0\x09\xDA\xBF\xB2\xB9\xDE\xC7\xCC\xD2\xFF\xBB\xAB\xF5\x08\xEA\x59\xF0\x5B\xF2\xA1\xFA\xD6\xF0\xC8\x90\xF2\x89\xF4\x0C\xF7\xA2\xF5\xE2\xE4\x9F\xF2\xB7\xFE\xEA\xF7\xEB\xE7\xF4\x77\xE7\xA4\xF0\xCA\xEB\xAE\xE6\x94\xED\xEB\x88\xE5\xEF\xF4\x02\xE9\xBC\xF5\xED\xEE\x86\xF3\x72\xDF\xEA\xDB\xE7\x6D\x12\x47\xEF\xC2\xCC\x54\xF3\xC2\xC6\xD5\xD7\xD0\xD6\xF1\x5E\xE7\x0A\x1D\xA6\xEE\x00\xF5\x41\xFD\xC6\xDC\xDE\xEA\xF2\x95\xF3\x2D\xF6\x67\xE8\x33\xF5\x8B\xF1\xCF\xE0\xE9\xC8\xEC\x62\xF5\xA1\xF0\x99\xF7\x11\xF1\xA9\xE0\xC6\xD3\xEC\x80\xED\xC4\xF5\x6E\xE9\x92\xF5\x43\xE8\xAC\xE9\x9D\xC8\xE1\xAB\xBB\x52\xF3\x8D\xDD\x21\xDE\x04\x13\x57\xF7\xD6\xD1\xE8\xFF\x33\x13\xF5\x83\xF4\x71\xE6\x27\xF5\x9C\xF9\x9C\xD4\xE4\xC2\xF2\x8D\xF1\x9D\xF6\x2F\xF5\x67\xF7\x94\xFF\xD9\xF1\xDA\xC1\xF6\x82\xED\xA1\xF6\xAB\xE5\x68\xF1\x60\xEA\xD6\xE5\xD5\xCC\xF5\x3E\xCD\xCC\xE2\xAF\xBF\x41\xF5\xA5\xE4\xD8\xD0\xED\x86\xF6\x4E\xEA\xE2\xF1\x97\xF7\xF8\xE6\x8B\xE7\xD4\xD2\xE0\x94\xEE\x82\xEA\x8B\xED\xE7\xE3\xCF\xEF\x39\xE2\xBA\xCD\xAC\xC2\xF5\x3E\xE5\x61\xF0\x90\xE2\x6C\xF7\x3A\xE4\xDB\xC6\xDA\x82\xF4\x58\xED\x16\xF6\xE3\xCE\x89\xE0\x00\x05\xB8\xC7\xD5\x83\xF6\x4F\xF7\x73\xEC\xDC\xF4\xBD\xE9\xA3\xF5\xDA\xD1\xD5\xF5\xF6\xB6\xF5\xBB\xF6\x7C\xF4\x61\xFD\xA8\xFF\xB9\xCF\xEC\xE1\xEE\x11\xF6\xFE\xE5\xBA\xF4\x50\xE5\xB1\xE0\xA0\xD7\xEC\x82\xE8\x19\xF7\x70\xEB\xA6\xF7\x7A\xE8\xB6\xF5\x44\xD2\xD2\x91\xF7\x76\x34\x66\xC9\x83\x1C\xE5\xE0\x00\x0E\xB9\xED\xE0\xED\xF6\xB0\xF6\x75\x35\xD4\xF1\x6E\xF5\xB9\xF3\xDB\xC6\xE7\xDF\xF4\x3D\xF5\xE4\xF1\xCE\xF1\x6B\xFC\x8E\xED\xB5\xEE\xE3\xCE\xEB\xF0\xF0\xE8\xE9\xA5\xF7\xB5\xE7\xA9\xF5\x97\xEA\xE8\x97\xBF\x5E\xBA\xA7\xEC\x90\x20\xEA\xE5\x9E\xF7\xDD\xF6\xE4\x83\xF5\x30\xF0\xCA\xE5\x5B\xF1\x0B\xF8\xB9\xF2\xB8\xF7\xE0\xDC\xF0\x82\xEF\x71\xF7\xAA\xED\x78\xFB\x7A\xE7\xDE\xEF\xDA\xDE\xF6\xD6\xED\x8E\xBC\xB6\xE8\xE4\xE3\x1B\xF9\xD4\xF7\xDA\xAB\xF7\xAB\xE6\x5D\xED\x1F\x3C\x2A\xF2\x6C\xE8\xC5\xD1\x38\x1C\xE9\x87\x5C\x96\xF6\x27\xC9\x77\xFA\x70\xF3\xDC\xE2\xDA\xF2\xF6\x34\xF6\x2F\xF5\x7C\xEB\x73\xF9\xB7\xED\xD8\xD7\xDC\x9F\xF7\xCF\xEF\xD0\xF7\x6A\xE8\x7D\xFA\x78\xEB\xDE\xD2\xD7\xA7\xF7\xD4\xEB\x14\xF7\x58\xEE\x6C\xF2\x04\xED\xDD\xEC\xA1\xEF\xDA\x4A\xE4\xFD\xF7\x9F\xF4\x7F\xF1\x7C\x3B\xDD\xD4\xEE\xB5\xF5\xDE\xF7\xCC\xF0\x8F\xF3\x43\xF1\x7F\xEA\xC7\xF3\xDF\xE4\xF7\xF5\xEE\xF3\xF4\xE2\xEC\x81\xFF\x7A\xFC\xCF\xE7\xE1\xC6\xF5\x2D\xEC\x09\xF8\x64", +"\xEB\x45\xF2\x59\xE7\xA0\xEC\x82\xBA\xEF\x5D\x0D\x09\xEF\x06\xFF\x0F\xFE\x8D\xF0\xD9\xC2\xE2\xB2\xF6\x0E\xEF\x00\xF8\xDD\xF6\x66\xF1\xBC\xE1\xD3\xE6\xF0\x9E\xF3\x28\xF8\xD0\xF2\x0A\xFD\xF5\xEC\xC2\xF9\xBF\xC2\xEE\xA5\xE7\x84\xF7\x6F\xE9\xEA\xF6\xA1\xE0\xBF\xE7\x77\xD6\xF0\xAE\xBE\x84\xE8\x1E\xF8\x25\xEE\xC5\xD6\x95\xB3\x94\xFE\xB6\xE9\xE1\xB0\xCC\x57\xF5\xFD\xF0\x56\xFD\x0C\xEF\x9F\xD6\xE6\x80\xF8\x76\xF7\x9A\xF6\x86\xF2\x73\xED\x73\xFD\xDC\xF5\xE7\x88\xF8\x41\xEE\xE8\xED\x4C\xE8\x70\xF1\x26\xEE\xE0\xFD\xD7\xB0\xF8\xD7\xEE\x19\xFA\x75\xEC\x82\xF3\x60\xE9\xDA\xC8\xC9\xC4\xB5\x7D\xC1\xF0\xDA\x06\xFA\x8C\xF2\x9E\xEE\xBE\x1E\xF0\xFF\xF7\xBD\xF6\x21\xFB\xEF\xF3\x80\xF7\xB3\xEE\xB6\xC3\xEF\xBC\xF1\x5A\xF7\xA2\xF0\xD7\xF0\x2F\xF4\x76\xF1\x41\xEE\xF0\x95\xF1\x51\xF8\xC7\xEA\x1E\xFF\xC5\xEC\xC7\xF1\xB1\xD7\xF1\xB3\xEC\xEC\xD1\x14\xF1\xB6\xE7\x31\xFE\xB4\xFA\xE2\xCB\xE8\x87\xF9\xED\xF2\x10\xFA\xCE\xEF\x56\xFF\xAD\xF9\xD5\xE1\xEB\xF2\xF2\x7A\xF6\xC2\xE8\x18\xF1\xF5\xCA\xC0\xF9\xAF\xE3\xE6\xE5\xEE\x60\xF7\x59\xED\x26\xFC\xD0\xE6\xB8\xEB\xBA\xD5\xF1\xB9\xED\x9F\xF9\x34\x38\xFD\xF5\x90\xFF\x3D\xFC\xE2\xDD\x3D\x50\xF0\x9D\xD7\x52\xFA\xCB\xF7\x94\xFE\xBF\xE9\xE5\xDE\xEB\xDD\xF7\xAB\xF8\xCD\xF5\x23\xFD\x8D\xFF\xC8\xEB\xCE\xD1\xF2\xF6\xF2\x93\xF9\x60\xF7\xE8\xF6\x7F\xE5\xBA\xF2\xB2\xD0\xF0\xD4\xEC\x9B\xF8\x2B\xEC\xE2\xF0\xD1\xED\xB1\xFD\xC4\xD2\x93\xD3\xE6\xD4\xC9\x5F\xEB\x7F\x31\x59\xBB\xE5\xC8\x62\x38\xE1\xA8\xF6\x97\xEC\x31\xDD\xC0\xF7\xC0\x1E\xA7\xE4\xE4\xF0\xF3\x8B\xF3\x36\xF4\xF6\xF1\xA1\xF7\x99\xF4\xC4\xE4\xE1\xE9\xE3\x9D\xF4\xEB\xF1\x0F\xF6\x8E\xE1\x44\xFC\x23\xF4\xE3\xF3\xD4\xF6\xF8\x2B\xEC\x3C\xF9\x1A\xF1\x9C\xF9\x7D\xFB\xD8\xDB\xDF\x8A\xF7\xAA\xD3\x73\xF9\x1C\xF1\x9D\xFE\xAF\xEB\xE7\xD8\xCD\xE6\x1A\x8D\xDC\x53\xF1\xB4\xF6\x44\xED\xF5\x00\x9B\xCF\xCE\x90\xF3\x6E\xF6\xC9\xF6\x0F\xF8\x1C\xFA\xBD\xFD\xD6\xDC\xEF\xFD\xF9\x6C\xF8\x46\xF5\x35\xFE\x51\xF7\xCD\xED\xCE\xCB\xF1\xF7\xEF\x4D\xF9\x32\xF3\x25\xFC\x2F\xFF\xCD\xE0\xC9\xD3\xF1\xFE\xED\xBF\xF8\x6F\xEE\x0D\xFA\x37\xC5\xAF\xE8\xC9\xF7\xF3\xA5\xE6\x14\x1C\xC4\xE5\x30\x32\x41\xF9\x9E\xE5\x9F\xD6\x65\x8E\xE7\x51\xF0\xDC\xF6\x29\xFD\xA8\xF2\xA8\xF9\xE7\xC4\xEA\xE7\xF8\x89\xF9\x34\xFA\x00\xFF\xC3\xE0\xBE\xEB\xBE\xE2\xEF\x84\xEF\x7C\xF6\xC3\xEF\x4B\xFB\x0C\xF1\xD3\xF3\xC4\xF3\xF4\xC8\xF4\x0A\xFA\x25\xF4\x43\xFF\x08\xFE\xD0\xE9\xC2\xFE\xF1\x9F\xE6\x3D\xFA\x91\xE6\x3A\xFA\x76\xE0\xEF\xC7\x4F\xDB\x0C\x69\xD3\x5B\xF3\x32\xEF\xBF\xF6\x3D\xD3\xCF\xE8\x86\xFF\x28\x76\xF9\x6B\xFA\x3B\x34\x2A\xFB\x9F\xF7\xD2\xEB\xE3\xD7\xED\xCF\xDB\x02\xFB\x76\xF0\x41\xFF\x07\xF6\xD0\xE9\xB1\xC8\xF4\xFA\xED\xBB\xF9\x5A\xEE\xFB\xF4\xDB\xE9\xD3\xE0\xB8\xE7\xF5\xAD\xE7\x69\xFA\x62\xFB\xD5\xE3\x25\xF8\x3F\x62\x9F\xC3\xE4\x8B\xF4\xB8\xC5\x41\xCB\x81\xC0\x42\xFB\xD4\xE1\xD4\xFB\xF5\xD0\xFA\xAA\xF8\x1B\xF2\x08\xF8\x78\xFE\xCF\xFC\xCC\xC7\xF1\xC0\xF4\x49\xF8\x21\xF7\x56\xFA\x34\xFD\xD5\xE2\xC6\xF9\xF2\xE7\xEE\x89\xFA\x7E\xEF\x4D\xFA\x24\xFD\xD8\xF9\x85\xD0\xF4\x84\xCE\xC3\xF9\x9F\xF8\x45\x07\x24\xFA\xD6\xF4\x17\xD6\xA9\xF6\xC5\x71\xFA\x81\xF5\x57\xF5\xA2\x33\x41\xFD\x24\xFB\xF0\xC0\xFB\xFD\xF5\x6C\xB7\x8B\xF3\x20\x01\xC8\xE2\xA6\xEC\xD0\xFE\xE5\x27\x03\x49\xE4\x4C\xC6\x96\xC5\x94\xC1\x99\xD4\x91\x99\x66\xD1\x12\xE7\xFA\x76\xFE\x98\xFC\xE3\x0B\x0C\xFB\x82\xB7\xE9\x1B\xBA\x4D\xEC\x5A\xF1\x94\xE5\xDD\xE8\xE7\xFD\xF6\x8E\xDF\xB0\xC7\xB4\x58\x90\xA8\x9B\xC1\x43\xF6\x57\xE7\x04\x47\xC1\xD3\xFB\x43\xCA\xBF\xF7\x7D\x99\x07\x02\x3A\x31\x2F\x90\x33\x32\xBF\xE5\xFA\xD2\x30\x63\xC6\x42\xF3\xEF\xF0\x38\xEC\x02\x42\x0E\x19\x9C\xA4\xEB\xBB\xFB\xB6\xDB\xD8\x93\xE9\xBB\xEC\x81\xD9\xDD\xCB\x78\xFD\x87\xF6\x10\x18\x06\x2C\xD2\xFA\x54\x47\xAC\xB1\xDE\x53\xF9\x7B\xFF\x2D\xFB\xDE\xC8\xEC\xB8\xF5\x0A\xF6\x5D\xF7\xE5\xB4\xF9\xEF\xCF\xB3\xE5\xD7\x76\xF2\xF8\xF6\xED\xC2\xF8\xBE\xEF\xB0\xFF\x71\xF4\xCE\xE1\xDC\x80\xF4\x23\xEF\x71\xF9\x41\xCA\x4E\xFB\x5D\xF4\xD3\xDD\xD7\xF6\xF4\xEA\xE9\x44\x68\x3B\xEA\x31\xFA\x9E\xFB\x8E\xF0\xD3\xC5\xE9\x1F\xFB\x04\xFD\x48\xFA\xAF\xFD\xE9\x4F\xF0\xED\xED\x29\xA3\x9F\xFA\x20\xF8\xE8\xE9\x84\xFA\xC6\xE3\xE1\xE9\xF4\x9C\xF7\x2B\xFA\xCF\xF5\x4B\xF8\x52\xFB\xDA\xEF\xCE\xC9\xEF\xD1\xF3\x24\xFD\xA3\xED\x6C\xF9\xE9\xED\xCB", +"\xEB\xBB\xE5\xF5\x8D\x57\x2C\xFC\xD9\xDC\x77\xED\x72\xD6\x51\xE2\x56\xC3\x95\xCD\xFA\x3E\xCB\xDC\xF1\xF2\xB6\xAB\xA1\x36\xED\x6A\xCA\xF8\x92\xF3\x69\xF3\x06\xFE\x8F\xFD\x83\x70\xE4\xED\xE6\xFC\xF5\x97\xFC\xAD\xF9\x0C\xFF\x2B\xFB\x57\xF1\xCB\xE7\xAD\xDE\xF8\xE3\xC3\x20\xFD\x8D\xEE\x88\xFD\xE3\xE1\xE5\xEC\xBC\xD3\xF9\xE9\xEE\x55\xFC\xD5\xE6\x15\xFF\xB1\xF9\xEE\xDC\xCE\xF8\x1E\x7D\x19\xDF\xF3\xB9\xC8\xF9\xDC\xD2\xEE\x1B\xC4\xCF\xC6\xF7\xBB\xE7\x3A\xFC\x0E\xFA\x21\xFD\xC7\xFF\xB4\xF1\xF0\xED\xCF\xD9\xF4\x2A\xE2\x21\xFC\x21\xF1\x73\xF5\xE4\xE4\xED\xC7\xF9\x85\xF8\x6E\xF8\x87\xF7\x92\xFF\x57\xF9\xCD\xE8\xD7\xEE\x81\xAF\xCA\xAF\xFA\x62\xF3\x9F\xFE\xF1\xE8\xE2\xF0\xBC\xCD\xE9\x92\xEF\x84\xFC\xCA\xEC\x5A\xEB\x6D\xFE\x01\xFF\x58\xD7\xF6\xCC\xFA\x3B\xCF\x91\xD7\x0A\xF2\xAE\xE5\x93\xEC\xF0\xC3\x04\x0E\xFC\x95\xFD\x36\xFF\x48\xFB\x5B\xF3\xAB\xFC\xD2\xCA\xF2\x8F\xF0\x28\xFB\xBF\xF8\x36\xE0\x35\xCA\x0D\xE5\xF5\x9C\xC3\xDB\xF9\x1C\xF3\x6E\xFA\x47\xF5\xA6\xFD\x94\xF3\xED\xCF\xE5\xB5\xFB\xB7\xEF\xDB\xF9\x04\xD7\xB6\xBE\x40\xD4\x74\xE4\x8F\xD0\xB5\xC5\x43\x54\x4F\xAD\xFB\x5A\xF9\x41\xEC\xC1\xCF\xAE\xE9\xCB\x67\xFD\xDF\xF1\x9A\xFF\xD7\xFB\xE6\xE8\x8D\xA5\x46\xB4\xE6\x98\xFD\x82\xE4\xB7\xF4\x56\xFC\xCF\xFE\xEB\xC1\xE5\x80\xFB\xCC\xFC\x0C\xF2\xB3\xFA\x03\xF7\xEA\xFC\xC0\xEA\xEF\x9E\xF0\xEC\xF6\x6D\xEF\x62\xFD\xF6\xE8\xED\xF9\xC7\xF1\xFA\xA6\xF0\x51\xF5\x08\x1D\xDB\xD5\xCC\xFF\xA3\x09\xF7\xF4\xE8\xEB\xFD\x02\x02\x60\xFD\x67\xFC\xCD\xFF\xEE\xF2\xF0\xF1\xFB\xB6\xE6\x9A\xFD\xCB\xF2\x54\xFB\x88\xF6\xEF\xF6\x86\xD8\xED\x90\xF9\xA9\xFB\x32\xF5\x93\xF9\x3F\xFF\xE4\xFB\xCF\xFD\xF9\xD5\xEF\x61\xFA\xA2\xF7\x58\xFB\x0D\xF4\xC3\xF8\x31\xE7\xFB\xBA\xCC\xAE\xF3\x02\xED\x9D\xF1\xD5\x12\x9B\xF8\xD3\xE2\xD7\xC5\xCC\x75\xFA\x30\xEE\x99\xFB\xC7\xFA\xBB\xF4\xF4\xD3\xFC\xEE\xFD\x4C\xAD\xBE\xE1\xAC\xF7\x2F\xE3\xEF\xE6\xF6\xDB\xFC\x8B\xF9\x54\xFA\xBC\xF5\x69\xED\xCE\xF5\x5F\xF7\xF3\xE1\x88\xB5\xF9\x27\xED\x3D\xFD\xD1\xEF\xE4\xF3\x9D\xED\xF1\x95\xE7\xAD\xFD\x22\xF1\x57\xFC\x09\xF7\xE0\xF6\x98\xE9\xEB\xFF\xC2\x83\xFC\xC7\xE9\x61\xE3\xA4\xE8\x82\xEC\xD1\xF4\xEB\xB9\xFC\xD5\xF5\x91\xFD\x9F\xFF\xDB\xF1\x21\x02\xF1\xEB\xE6\xD0\xF8\xC2\xFD\x94\xF3\x1F\xF9\xD1\xFB\x66\xF7\xF4\xE8\xF6\xDD\xFC\x9C\xF4\x1F\xFE\x6B\xF9\xC8\xFC\x67\xF3\xF2\xE4\xD2\xE5\xFC\xC6\xF4\x5F\xFB\x35\xF5\xC0\xF8\x04\xF8\xF5\xF9\xC4\xDA\xFD\x9B\xF1\xE5\xF8\x69\xDA\xB3\xF2\x63\xCE\xD0\x10\xD6\xCC\xFA\xF6\xF7\x15\x1D\x78\xE2\xB7\xFD\x64\xFC\xFD\xAE\xF8\xD7\xE9\x90\xFE\x01\x03\xB6\xFD\xAF\xF8\x68\x96\xE9\xE1\xF2\xF3\xFD\xC1\xF8\x75\xFF\xCB\xF5\xB2\xFF\xDE\xFB\xEC\xE1\x0F\xCA\xF1\x83\xFB\xEF\xF0\xA9\xFF\xF4\xEC\xEA\xFD\x9F\xEB\xF5\xFD\xDF\xBC\xC0\xFF\xEE\x15\xFD\x00\xF1\xF1\xFB\xE5\xFB\x41\xF2\x77\xF7\xF5\x5E\xEC\x92\xF6\x30\xE0\xB1\x94\x0C\xE8\xD5\xD0\xD8\xE7\xEC\x3A\xEC\x65\xB5\x8A\xD7\xD0\xF2\xE9\xE5\xB3\x3F\x28\x1A\xFF\x44\xE8\x99\x9C\xDC\xF8\x7B\xFD\x90\xE5\xF6\xF4\xFD\x9C\xFD\x53\xFB\xE4\xED\x55\xF9\x07\xF9\xE4\xEF\xE3\xE3\xFA\x90\xF6\xA5\xFC\x89\xF7\xDF\xF9\x4D\xF1\xF8\xE2\x4D\xEE\xFE\xC5\xF0\x2B\xFE\x26\xF6\xEC\xF9\x3B\xFC\xF5\xFA\xDD\x9F\xEC\xEC\x14\x22\xF7\x2A\xD8\xDE\xE8\x20\xF7\x77\x0D\x8A\xDD\xC4\x9B\xFA\x90\xFF\xA8\xE2\x17\xDC\x4A\xF0\x6B\xD6\xFC\xEF\xEA\x98\xFF\x00\x00\xE4\xFF\xDD\xEA\xF9\xF5\xF1\xF7\xF4\xC3\xFD\xC0\xE7\x9F\x7F\x43\x7E\xD1\x7C\x9D\x7E\x8C\x7C\x45\x7C\x38\x7B\xA7\x7D\x63\x7A\x7B\x7F\x5B\x7B\x7D\x7F\x67\x7A\xDB\x7F\x94\x7A\x4F\x7C\xFB\x77\xDF\x7F\x97\x78\x85\x7F\xC8\x78\x87\x7F\xCA\x78\xE5\x7F\x1A\x75\xBC\x76\x4C\x7B\xF4\x7F\x64\x6A\xF6\x7F\x63\x7C\xF8\x7F\xFA\x7F\xD6\x7B\x43\x56\xCB\x7F\x13\x7E\xCD\x7F\x25\x7D\xF4\x7E\x7D\x7D\x46\x7E\xCA\x7E\x16\x79\xF9\x7E\x18\x79\xFB\x7E\x1A\x79\xD0\x7E\x24\x7A\xD2\x7E\x4B\x79\xD4\x7E\x7E\x79\xD6\x7E\x80\x79\x05\x7F\x24\x79\x18\x80\x74\x71\x6A\x7B\x01\x0C\xA4\x7C\x3B\x7F\xC5\x7F\x89\x6F\x3E\x7F\x6E\x7F\x3F\x7E\xFD\x7F\x9E\x7F\xCE\x7F\xA0\x7F\xD0\x7F\x1C\x7F\x2A\x80\xA4\x7F\x2C\x80\xA6\x7F\xAA\x7D\xA8\x7F\xC8\x7B\xAA\x7F\x41\x78\x10\x80\x43\x78\x12\x80\xC6\x78\x14\x80\xD7\x79\xE3\x7F\x4E\x7A\x3B\x80\x98\x71\x8C\x7B\x8E\x7B\x7D\x7A\x1B\x5D\x1E\x80\x92\x7D\xF8\x7C\x99\x7F\xED\x7E\xAC\x11\x24\x80\x17\x7F\x66\x7C\x19\x7F\x68\x7C\x4A\x80\x48\x7F\xD2", +"\x7F\x4A\x7F\x5D\x77\x4C\x7F\x5F\x77\x4E\x7F\x4C\x5D\x7E\x7B\xF7\x71\x95\x7C\xDE\x6E\x55\x80\xF3\x78\x57\x80\xF5\x78\x03\x7F\xF7\x78\x39\x80\x51\x79\xB4\x7F\x23\x72\x59\x7C\x44\x80\xFF\x78\xDC\x7D\xFF\x00\xB4\x7B\xB6\x7B\x99\x77\x0D\x7F\x3C\x7F\xFD\x7B\x6C\x7F\x67\x80\x9D\x7F\x6E\x7E\xA0\x7D\xF5\x7E\x4C\x80\x1E\x7F\xF8\x7E\x4F\x80\x22\x7F\x51\x80\xE7\x7B\x0E\x80\x14\x7B\xFF\x7E\xEC\x7A\x83\x7F\x6D\x7A\x59\x80\x6F\x7A\x9D\x7C\xB5\x6E\xD2\x7B\x93\x0D\x49\x7D\xF5\x7F\x8E\x80\x1D\x7C\x43\x80\x9B\x7F\x9F\x4E\x92\x80\xC3\x7E\x52\x7B\x51\x70\x87\x78\x6E\x80\x56\x7B\x4D\x80\x1E\x7A\x2D\x80\x20\x7A\x2F\x80\x22\x7A\x31\x80\xC3\x7A\x33\x80\x26\x7A\x35\x80\x28\x7A\x37\x80\xAA\x79\x81\x80\x8C\x72\x3B\x7D\xE4\x62\x85\x80\xAE\x80\x4C\x7D\xA2\x5F\x4B\x6D\x3F\x80\x8D\x80\x41\x80\x65\x80\xF9\x7F\x91\x80\x69\x80\xFF\x7F\x5A\x7A\x01\x80\x9B\x7E\x44\x7E\xD1\x7F\x5B\x78\x71\x80\xA7\x77\x73\x80\xA9\x77\x0A\x80\x92\x7C\x0C\x80\x92\x7A\x9D\x80\x40\x7B\xBF\x80\xC5\x7A\xC1\x80\xC7\x7A\xE1\x7F\xC9\x7A\x16\x80\xCB\x7A\x5D\x80\x36\x7E\x3F\x68\x19\x7C\xBB\x7E\x0E\x7A\x86\x80\x05\x7B\x90\x80\xC1\x7E\x46\x80\x93\x80\x6C\x80\x51\x7D\xB5\x80\xA2\x7F\x77\x7F\x25\x7C\x00\x7D\x27\x7C\x81\x7D\xC6\x7B\x9B\x80\x2B\x7C\xE4\x80\x5F\x7B\xE6\x80\x42\x7B\x29\x7F\x63\x7B\xEA\x80\x46\x7B\x57\x7E\xAC\x73\x02\x77\x38\x7C\x70\x06\x0C\x7F\x23\x70\xC9\x7F\xBE\x7E\x11\x7F\xD3\x80\xF8\x80\xB1\x80\xBC\x7B\xA1\x7D\x3C\x73\xAC\x7C\xD0\x7C\xA2\x7D\x07\x6F\x04\x7C\x4B\x7F\x06\x7C\x7B\x7B\xE5\x7A\x7C\x76\x50\x7F\x7E\x76\xAD\x7D\x49\x79\x08\x81\x61\x7B\x0A\x81\x85\x7B\x0C\x81\x65\x7B\xEC\x80\x67\x7B\xEE\x80\x3E\x65\xB9\x7D\x79\x7D\xE5\x69\xBC\x6D\xCB\x04\x3A\x7C\x63\x80\xBA\x7D\x60\x7E\xD2\x80\xF7\x80\x41\x7F\xF0\x7E\xD5\x80\x99\x7E\xD7\x80\x1A\x7F\xFC\x80\x3B\x7A\x9E\x7E\x2B\x80\xB8\x80\x99\x80\x7C\x7F\x04\x81\x4C\x7C\x06\x81\xE9\x7B\xFF\x5F\xEB\x7B\x26\x7E\xED\x7B\xA3\x80\x9A\x7A\xA5\x80\x9C\x7A\x34\x81\xD5\x72\x04\x78\xFF\x51\x3B\x81\xAB\x80\x93\x7E\xF6\x80\x6A\x7F\xB0\x80\x71\x7F\x24\x7D\x15\x7E\x26\x7D\x70\x7E\x1F\x81\x1D\x81\xD2\x7C\x06\x80\x8E\x7C\x08\x80\x3A\x7B\xE0\x80\xD8\x7C\xE2\x80\x3E\x7B\x50\x81\x0D\x7C\x7B\x80\xA6\x79\x7D\x80\xA8\x79\xC3\x80\xCF\x7B\x40\x60\xE4\x7F\x83\x80\xB8\x6D\x05\x6E\xA2\x7C\x06\x01\x90\x64\xD6\x7A\x40\x80\x6A\x7F\x22\x7D\x6A\x7E\x40\x81\xC0\x4C\x47\x80\x27\x80\x46\x7F\x47\x81\xE5\x78\xA1\x7F\x34\x72\xA5\x7D\x3E\x7A\x6E\x81\xC4\x7B\x02\x81\xE5\x7B\x4E\x81\x30\x7D\x74\x81\x2D\x7C\xAC\x7F\x2F\x7C\xE8\x80\x31\x7C\x7A\x81\x13\x7C\x32\x81\x15\x7C\x5A\x81\x3E\x66\x36\x81\x15\x7D\x6C\x7D\x1A\x69\x67\x7F\x07\x78\x1D\x80\x5F\x81\xC6\x7F\xAD\x80\x15\x81\x9C\x7F\xD4\x80\x65\x7C\xC5\x76\x94\x80\x29\x80\x49\x81\xB7\x80\x01\x7D\xB9\x80\x03\x7D\xBB\x80\x05\x7D\xBD\x80\x81\x7B\xA9\x7E\x83\x7B\x2E\x81\x52\x7C\x7F\x80\xF0\x7A\xC5\x80\x1D\x73\xA4\x81\x80\x73\x12\x7D\x9F\x78\x72\x78\x37\x81\x2A\x79\x75\x78\x1A\x09\x77\x78\x44\x7D\xE4\x7E\x7B\x78\xC1\x7F\xEC\x7F\xCF\x80\x86\x81\x3C\x7E\x61\x81\xF4\x80\x68\x80\x19\x81\x64\x81\xC4\x7E\x8C\x81\xCF\x7F\xD9\x80\x4B\x80\xB7\x81\x97\x80\xA5\x7F\xCD\x7E\xDE\x5E\xCF\x7E\xFD\x7E\xEA\x7A\x9F\x80\x16\x7B\xA1\x80\xEE\x7A\xC4\x81\x1A\x7B\xC6\x81\xF2\x7A\xD4\x5F\xAD\x5D\x9E\x78\x16\x5C\xA0\x78\x3D\x81\x8B\x6E\x18\x7D\x5A\x73\xED\x18\xE3\x7E\x66\x76\xA9\x78\xD5\x81\xB3\x73\xAC\x81\xD0\x80\x35\x7E\x66\x80\x89\x81\x37\x4F\x8B\x81\x66\x81\x28\x80\x68\x81\xA3\x7F\xE5\x81\x4E\x80\xE7\x81\x16\x5F\x30\x80\xEA\x81\xA4\x7B\xEC\x81\xA6\x7B\xEE\x81\x18\x7B\xF0\x81\xAA\x7B\x58\x81\xAC\x7B\xC8\x81\xD9\x73\x91\x7D\xF9\x81\xBE\x6E\xF4\x62\xD4\x78\xD2\x81\xFF\x81\x11\x0E\x48\x7D\x02\x5E\x95\x7F\xAD\x81\x42\x80\xDA\x81\xCA\x80\x45\x80\x41\x81\x16\x7F\x43\x81\xF2\x7E\x48\x80\x02\x80\x20\x81\xDA\x80\xE0\x7A\xD3\x7F\xE2\x7A\xDE\x80\x16\x78\xBA\x81\x82\x7D\xBC\x81\x84\x7D\xBE\x81\x75\x7C\x76\x81\x96\x7A\x78\x81\xFF\x79\xB0\x7F\x01\x7A\x2D\x7F\x03\x7A\xC7\x80\x9C\x5F\xBC\x7D\x64\x80\x40\x7D\x0C\x76\xF1\x6E\xE8\x69\xF3\x6E\xC1\x7D\x65\x7F\xFF\x00\xF9\x6E\x9B\x7D\xE8\x7E\x2A\x82\xD1\x80\x21\x80\x0B\x7E\xB1\x81\xDD\x81\xCC\x7F\x6B\x79\x33\x82\xD8\x80\x03\x80\x36\x82\xAE\x7C\x38\x82\xB0\x7C\x24\x81\xB2\x7C\x59\x7D\x61\x78\x72\x81\x5D\x7B\x9A\x81\x4E\x7C\xC0", +"\x81\x50\x7C\xC2\x81\x9A\x7C\xA0\x81\x33\x7C\xD0\x7B\x35\x7C\xF3\x7A\xDE\x5C\x4C\x82\x20\x82\x94\x7D\xA5\x4B\x96\x7D\xBE\x7F\x38\x76\x25\x6A\x9A\x7D\xCD\x5A\xBC\x62\x14\x81\xFB\x7F\x16\x81\x06\x82\x62\x81\xB2\x81\xE7\x71\x66\x73\x62\x82\x35\x82\xE3\x81\x05\x80\x92\x81\xC2\x7B\x94\x81\x20\x7F\x96\x81\x29\x7C\x98\x81\x5C\x7D\x6E\x82\x32\x7D\x9C\x81\x98\x7C\x72\x82\xBC\x7C\x30\x81\x87\x7B\x48\x82\x89\x7B\x4A\x82\xE4\x65\xA6\x81\x2B\x73\xFF\x19\x7A\x82\xC6\x7D\xC4\x02\xC8\x7D\x90\x70\x7C\x82\x06\x62\x5E\x79\xC9\x6B\x60\x79\xC9\x7D\x6A\x70\xBC\x6F\xEF\x29\x69\x74\x64\x6A\xC5\x05\x22\x80\x5B\x7C\x69\x76\xF8\x33\x72\x65\xDB\x23\xC6\x59\x15\x69\xBF\x82\xC3\x5A\x0D\x0E\xA4\x06\x89\x11\xFC\x7D\xDC\x5F\xB8\x82\x5C\x82\x0B\x7A\x88\x80\x14\x66\xD8\x60\xCE\x5A\x7B\x61\xE2\x76\x86\x82\x94\x74\x52\x60\x50\x09\x2E\x07\x45\x35\x64\x00\x14\x2E\x8B\x7F\x05\x04\x24\x24\x3F\x24\x15\x6B\x04\x03\xC4\x5A\x2E\x77\xCD\x82\xCD\x5A\xCF\x82\x6B\x7B\xDB\x81\xB2\x19\xD3\x82\x21\x73\xA1\x0B\x64\x35\x5C\x01\xD8\x82\x99\x77\xDA\x82\x2E\x35\xE5\x23\xDD\x82\xC1\x04\xC4\x5A\x10\x61\x06\x01\xE1\x82\x7A\x61\x1B\x5D\xC8\x82\x68\x7E\x90\x6E\xE7\x82\xE6\x7D\xF6\x7D\x59\x2F\xEC\x82\x60\x7C\x7A\x54\x55\x35\x10\x09\xF1\x82\xCE\x01\xC4\x5A\x22\x61\xF5\x82\xD0\x5A\xE3\x82\x3E\x80\xE5\x82\x76\x1A\xFC\x82\x13\x7D\x65\x00\x21\x10\x8A\x02\x00\x83\x23\x59\xFA\x0D\x03\x83\xC1\x82\xBD\x6A\xDE\x82\x0D\x0E\xEB\x12\x03\x01\xF6\x82\xCB\x5A\x0B\x83\xAD\x6C\xD8\x81\xEA\x1A\x0F\x83\xCB\x81\x8B\x01\x2E\x07\x5A\x35\x14\x83\x5C\x64\x0D\x05\x17\x83\x0C\x04\x05\x83\xB8\x73\x15\x0E\x79\x61\x01\x01\x1E\x83\xCA\x5A\x20\x83\x1A\x04\x59\x82\xB3\x16\x24\x83\xF7\x81\xD0\x05\xAA\x12\x24\x09\x29\x83\x72\x64\x2B\x83\xDB\x82\x2F\x35\x2E\x83\xB7\x5D\xFE\x62\x09\x83\xCF\x5A\x35\x83\x82\x05\x37\x83\x14\x01\x39\x83\xCE\x5B\xDE\x06\xA1\x0B\x26\x35\x32\x03\x3E\x83\x0C\x0E\x16\x83\x41\x83\xF0\x82\xC0\x82\xF2\x82\x0D\x0E\xA3\x64\x46\x83\xCE\x82\xF8\x82\x4A\x83\x4B\x05\xCA\x81\x3A\x83\x8B\x01\xC0\x12\xD7\x0F\x52\x83\x08\x0E\x54\x83\xEF\x82\x04\x83\x57\x83\x06\x83\x0D\x0E\xEB\x6F\x32\x83\x0A\x83\x5D\x83\x04\x82\x4B\x83\x60\x83\x4D\x83\xD0\x05\x2E\x07\x56\x23\x65\x83\x07\x0E\x67\x83\x86\x3B\x18\x83\x1A\x6D\x1A\x83\x11\x0E\xB5\x63\x5B\x83\xE2\x82\x70\x83\x22\x83\xBE\x17\x4C\x83\xDD\x5F\xEE\x08\x26\x83\xED\x08\x9B\x34\x78\x83\x0D\x05\x34\x54\x2C\x83\x3D\x01\x43\x83\xC4\x5A\x2F\x64\x06\x01\xFA\x60\xEC\x6F\xC7\x82\x5E\x83\x09\x7F\x15\x0E\x8F\x74\x03\x01\xE8\x60\xD0\x64\x83\x83\x0D\x83\xF4\x6A\xB7\x5D\x30\x74\x06\x01\xF1\x60\xCA\x5A\xF4\x60\x21\x83\xA0\x83\xCE\x81\x2D\x74\xCD\x64\x27\x01\x33\x83\xC9\x5A\x48\x83\xC6\x05\x5E\x83\xF6\x81\x74\x83\x14\x7D\x7D\x83\x2D\x83\xC9\x82\x47\x04\x4C\x69\x4A\x04\xB7\x83\x3B\x69\x7C\x83\xED\x7D\x15\x0E\xA4\x06\x0E\x61\x04\x7E\xC3\x83\xD7\x72\xE5\x7E\x09\x01\x9F\x11\xC6\x82\xCE\x5A\x9E\x52\x57\x0D\x6E\x1B\x7F\x82\xBA\x82\xC4\x83\x23\x74\xFA\x7D\xEC\x74\xD0\x83\xD4\x83\xCE\x5A\xD2\x83\x00\x00\x1A\x61\xD5\x83\xDA\x83\xDB\x83\xD0\x5A\xD0\x7D\x01\x82\x27\x74\x12\x0F\x73\x83\x87\x83\xF8\x81\xCD\x81\x74\x78\x88\x80\x11\x0F\xCA\x11\xBF\x83\x24\x59\x3B\x0E\xEA\x47\x00\x5B\xC9\x80\x2C\x0E\xA1\x77\x6C\x74\x21\x82\xBF\x7D\x02\x2F\x3B\x74\xD1\x82\xCA\x82\xDC\x83\xF9\x83\xEF\x5A\xC3\x82\x3B\x48\x1C\x61\x6C\x7B\x34\x54\x27\x27\x5F\x79\x59\x79\x27\x7B\xFA\x83\xC7\x64\x0D\x7A\x6F\x61\x96\x83\xE9\x65\x83\x81\xCB\x5A\xB1\x82\xBF\x59\xD7\x83\xE0\x11\x05\x84\xDB\x83\xC7\x6A\xB5\x82\x90\x74\x1B\x5D\x60\x80\xD2\x78\x58\x6F\xEE\x4C\x90\x7E\x8C\x61\xBD\x82\x1B\x35\x90\x83\x6A\x83\xE7\x7D\xB2\x7B\x11\x0E\xC4\x82\x7C\x65\xDC\x5F\x17\x84\xF3\x83\x15\x74\xAB\x82\x00\x21\xB7\x5D\xCC\x82\x6F\x83\x26\x84\xBB\x62\x03\x84\xFC\x7A\xCC\x05\xE2\x83\xC9\x06\xD5\x82\x82\x0F\x8C\x83\x5F\x45\x8E\x83\x55\x83\x69\x83\xBD\x83\x58\x83\x11\x0E\xE0\x82\x2E\x84\xE9\x65\x27\x84\xC7\x5A\x0D\x84\x24\x07\x34\x84\xB7\x09\xE9\x82\x5E\x35\xEB\x82\x26\x2E\xD9\x82\xD8\x0B\x68\x83\xBE\x83\x71\x6F\x7E\x83\x15\x0E\xF4\x82\x1D\x83\x41\x84\xB0\x66\x43\x84\x87\x73\x31\x84\x7B\x0C\x6A\x5A\x21\x73\xFE\x82\x4F\x35\x38\x84\x81\x12\x3A\x84\x4F\x84\xBC\x83\x19\x83\x3E\x84\x15\x0E\x08\x83\x55\x84\x47\x83\x16\x84\x30\x84\x19\x84\x6C\x56\x74\x0D\xE5", +"\x7D\x10\x83\x12\x83\x30\x82\xF9\x42\x50\x84\x66\x83\x40\x83\x63\x84\x1F\x84\x3D\x84\x6B\x83\x11\x0E\x1C\x83\x02\x01\xAE\x83\xC8\x5A\xB0\x83\x58\x84\x41\x7D\x5A\x84\x5A\x0D\x76\x69\x21\x73\x27\x83\x13\x83\x4C\x84\xED\x82\x4E\x84\x7B\x83\x64\x84\xB6\x83\x7B\x84\x30\x83\xAD\x83\x56\x84\x64\x6A\x82\x84\x10\x0E\x45\x84\x86\x83\xC9\x06\x3C\x83\xF1\x23\x60\x84\x34\x54\x62\x84\x8D\x84\x79\x84\x65\x84\x90\x84\x24\x59\x45\x83\x69\x84\x5C\x83\x2F\x84\xCF\x5A\x97\x84\x47\x84\xBA\x0B\x4F\x83\xEC\x23\x3E\x81\x74\x84\x8E\x84\x3F\x83\x5F\x45\x8F\x83\x21\x84\x51\x84\x66\x84\x24\x59\x5A\x83\xA5\x84\x82\x83\xA7\x84\xCE\x5A\xA9\x84\x70\x84\x25\x83\x65\x00\x63\x83\x6F\x35\x9C\x84\x1B\x61\x02\x83\x3B\x84\x75\x84\x14\x2E\xB7\x5D\x6D\x83\x00\x00\x7F\x84\xC7\x5A\x81\x84\x6C\x84\x57\x6A\xEE\x4C\x98\x84\xB7\x09\x76\x83\x29\x23\xC3\x84\xBC\x54\x9E\x84\x6B\x35\xB0\x84\xB5\x84\xA2\x84\x56\x59\x80\x83\xB9\x84\xF7\x82\xBB\x84\x83\x82\x84\x84\x6B\x0D\x55\x6E\x87\x84\x8A\x83\x92\x34\xD6\x84\x8C\x7F\xD8\x84\x33\x24\xA0\x84\x8F\x84\x2F\x83\x24\x59\x93\x83\x03\x01\x95\x83\xCB\x5A\xA7\x83\xD5\x6C\xCF\x84\xF4\x83\x1A\x84\x05\x7E\x9A\x83\x27\x01\x9D\x83\xFE\x83\x57\x84\xF7\x84\x29\x84\x59\x6F\x3B\x67\xA3\x83\x84\x13\x25\x84\x42\x84\x00\x85\xFB\x7B\x16\x74\x32\x84\xCD\x59\x80\x81\x4F\x78\x92\x84\x6A\x84\xE1\x84\xCC\x5A\x45\x84\xB3\x83\xE3\x83\xCC\x81\xA1\x84\xB4\x84\x1F\x80\xE5\x24\x77\x78\xC7\x84\x8A\x84\xFB\x62\x5B\x6F\x07\x7E\x34\x83\x1B\x5D\x64\x79\x74\x69\x59\x7E\x10\x67\x5D\x7F\x2F\x7E\x34\x7F\x73\x5B\x89\x79\xF9\x21\x0B\x79\x8C\x79\x14\x65\x20\x85\xAF\x83\x22\x85\xD0\x5A\x69\x70\x23\x59\xB1\x6F\x26\x85\xE6\x7F\x33\x7F\xF0\x83\xB2\x79\x17\x75\xC4\x6A\xE8\x70\x10\x0E\x13\x84\x42\x41\x93\x84\x81\x6C\x23\x85\xDD\x77\xC1\x7C\x1B\x70\xC7\x5A\x08\x5C\x41\x75\x24\x82\xC0\x74\x22\x84\x15\x0E\xF8\x6F\xBA\x84\xE9\x65\x44\x85\x6F\x77\x46\x85\x6A\x6B\x06\x7A\xB4\x7E\x6A\x75\xFF\x18\x4B\x85\xEB\x7C\x07\x84\xC4\x7F\x15\x84\xDC\x5F\x52\x85\x53\x6E\xF2\x7B\x46\x6B\xD7\x83\x08\x77\xBE\x64\x64\x6A\x60\x85\x84\x6E\x62\x85\x27\x78\x14\x0E\x6B\x70\x38\x7E\xA6\x84\x51\x85\x33\x85\x3E\x85\xD0\x6B\x18\x5D\x31\x7F\xE9\x6E\xB0\x79\x29\x85\x3C\x01\x36\x7F\xEF\x74\x97\x70\x68\x7F\xCA\x5A\xBE\x06\x5C\x6F\x66\x61\x54\x85\x05\x67\xEB\x6E\x08\x76\x3C\x61\x0A\x76\xF9\x7A\x1B\x71\x62\x7F\xEF\x7F\x8F\x7F\x2F\x79\x15\x0E\x12\x76\x10\x85\x70\x85\xDE\x5C\x6A\x85\x4D\x84\x99\x04\x8E\x7F\x64\x7F\xF1\x7F\x56\x59\x92\x7F\xD0\x5A\x7F\x85\x30\x85\x49\x6F\x82\x85\xE7\x7F\x85\x85\x16\x5C\x21\x6C\xBA\x7F\x76\x77\x37\x03\x63\x7F\x53\x82\x98\x85\x5D\x0F\x23\x71\x7C\x7A\xC9\x5A\x9C\x85\x6E\x85\xC8\x80\x1D\x82\x49\x27\xA0\x85\x21\x7B\x09\x67\x3F\x5E\xA4\x85\x3A\x7F\xA6\x85\x8B\x85\x97\x85\x8D\x85\xF2\x7F\x32\x36\x76\x74\xB0\x66\x68\x85\x53\x79\x82\x85\x4B\x7B\x84\x5E\x9D\x74\x5F\x85\x71\x85\x0B\x65\x6A\x85\x3D\x80\xA8\x83\xC6\x85\x91\x85\x81\x85\xB1\x85\x5C\x1C\x03\x77\xF6\x84\x90\x85\xC0\x85\xC8\x85\x74\x71\x6A\x85\xA5\x82\x99\x74\x4C\x85\x3B\x67\x8A\x80\x06\x85\xD5\x85\x37\x7C\x0D\x0E\x9B\x83\xD3\x7B\xE0\x84\xCE\x85\xB0\x85\x7E\x81\x2A\x6E\xD9\x85\x72\x7D\x8C\x73\x73\x77\x18\x68\xBD\x60\xC7\x85\x92\x85\x82\x85\x49\x72\x12\x13\xEE\x85\xE5\x85\x9C\x5F\xCA\x85\x11\x81\x10\x60\xD4\x85\x67\x85\xD6\x85\x99\x6B\xD8\x85\xEF\x83\xF7\x83\xB8\x7E\x3B\x67\x5E\x7C\xF4\x85\xDF\x85\xCF\x85\xE7\x85\x10\x81\x0D\x0E\xCD\x7D\x05\x78\xB6\x82\x43\x85\xFC\x85\xDB\x71\x93\x85\xD9\x64\x81\x81\x85\x64\x42\x85\x4D\x6D\xC1\x85\x1B\x6F\xFE\x85\xAF\x7B\x84\x83\xE3\x79\xAC\x83\xDF\x83\x86\x84\xEF\x85\x06\x86\xDA\x7E\x43\x69\x14\x85\xC9\x06\x4D\x82\xD1\x78\x4A\x69\x27\x73\xBA\x83\x29\x73\xB2\x82\xEA\x85\x7B\x62\xC4\x5A\x2F\x73\xCD\x5A\xAE\x85\x63\x79\x0E\x86\x35\x81\x82\x85\x23\x86\xB7\x09\x25\x86\x18\x85\x07\x0E\xA4\x78\xB5\x0B\x1A\x7D\x8C\x85\xA9\x7A\x83\x69\xAA\x81\x81\x60\xFB\x85\xF0\x85\xD0\x85\x69\x1C\xA8\x82\xA7\x81\xB1\x7B\x28\x84\x09\x85\x23\x82\xFE\x81\x73\x7D\xC5\x6E\x1D\x86\xE5\x84\x1F\x86\xE6\x85\x21\x86\x74\x69\x47\x86\xA6\x82\xA8\x81\x89\x85\x6E\x7D\x3B\x0A\x70\x7D\x2B\x86\xD2\x7A\x25\x82\x15\x0E\x56\x82\x30\x86\x32\x85\x44\x86\x07\x86\x94\x77\x56\x86\xDA\x85\x16\x7D\xAD\x82\x8C\x61\x7E\x82\xF0\x7F\xBC\x85\x56\x59\x31", +"\x79\x01\x01\x2A\x6F\x64\x62\xE3\x5C\x33\x86\xD5\x72\x18\x86\xAB\x74\x71\x83\x95\x74\x1F\x82\xA9\x82\x9F\x64\x0B\x85\x1B\x84\xDB\x02\x5D\x1F\xC5\x7D\xBE\x7D\x01\x85\xF9\x84\xDB\x5A\x0D\x0E\x7A\x0A\x49\x56\xE0\x7D\xCF\x5A\x9E\x52\x0E\x2C\x81\x2B\x9B\x3C\x94\x76\x27\x85\x23\x59\x40\x0D\xCA\x1C\xC1\x84\xB7\x1C\x34\x85\x08\x0E\x40\x85\x06\x01\x02\x61\x8A\x86\xE9\x65\x8B\x80\x43\x69\x7F\x86\x88\x7E\x07\x0D\xBE\x82\xDA\x84\xD1\x6F\x75\x84\xD7\x83\xC5\x82\x9E\x83\xDC\x5F\x9E\x86\x24\x85\x3B\x67\x2D\x84\xFA\x85\x81\x6C\xAB\x86\x8A\x76\xAA\x84\x88\x83\x5F\x83\x61\x0B\xD6\x82\xE9\x84\x7A\x83\xD9\x84\xED\x84\x64\x6D\x52\x84\x24\x59\x40\x84\xAF\x86\x4D\x6D\xB1\x86\x4F\x6A\xD2\x84\xAB\x84\xC2\x0A\xEA\x82\xFE\x7F\xAF\x84\xBB\x86\x53\x83\x77\x84\x9F\x84\x18\x85\xC8\x84\xF3\x82\x0F\x85\x6F\x85\xB0\x66\xC2\x86\x1E\x7B\xB3\x86\xDE\x06\x5E\x84\x3E\x2F\xB8\x86\xCC\x86\xBA\x86\xCE\x86\x26\x2E\xB7\x5D\x68\x84\x7E\x84\x14\x86\x3F\x0A\xD4\x86\x84\x6E\xC4\x86\xB4\x86\x72\x84\xC8\x86\x63\x34\x94\x85\x00\x00\xB3\x84\x91\x83\x1B\x83\xD1\x86\x50\x85\xD3\x86\x75\x86\x3E\x66\xE6\x86\xDE\x06\x88\x84\x73\x84\xEA\x86\x8B\x84\xEC\x74\xC6\x84\xA4\x86\xCF\x86\x0D\x0E\x31\x83\xCB\x84\xE2\x86\xE1\x71\xF3\x86\x46\x60\xF5\x86\x3B\x83\x09\x67\x3D\x83\x1D\x85\x15\x83\xDB\x86\xEC\x84\xDD\x86\x70\x34\xEF\x84\x56\x59\xA4\x84\xE1\x86\xC0\x86\xE3\x86\x04\x87\xCC\x2B\x06\x87\x62\x83\xC2\x0A\x50\x83\xD2\x0A\x0A\x87\x2A\x83\xB2\x84\xFC\x86\xCA\x86\xA5\x86\xB6\x84\x56\x59\xB8\x84\x13\x87\xD2\x86\x64\x6A\xE4\x86\xB3\x6F\xBE\x84\x61\x83\xC0\x84\xC2\x0A\x20\x6A\xDA\x86\x1F\x87\x78\x84\x0E\x87\x72\x31\xBD\x86\x56\x59\xCA\x84\xCC\x84\x23\x59\xB0\x83\x29\x87\xB5\x7F\x86\x6E\xE6\x84\x61\x0B\x77\x83\x1D\x87\xB1\x84\x81\x12\xED\x86\x20\x84\xB7\x5D\xDE\x84\x26\x87\xF1\x86\x28\x87\x16\x87\xB2\x85\xD6\x86\x75\x83\xE7\x84\xED\x0F\x30\x87\x43\x87\x20\x87\x33\x87\xB7\x3B\x35\x87\x5D\x0F\xF1\x84\x72\x10\xDE\x85\x4A\x87\xF2\x6B\xB3\x82\xE1\x85\xFC\x84\x5A\x87\xB0\x86\x4B\x87\xA0\x7C\xA2\x83\x27\x01\xA5\x83\xF1\x7D\xF2\x86\x5C\x87\xF8\x62\xDE\x83\x81\x83\xE4\x85\x68\x87\x3C\x7D\x2B\x87\xB4\x83\x54\x87\xC5\x4A\x75\x84\x8B\x74\x1B\x85\xFD\x86\x41\x87\x0D\x85\x23\x84\x27\x01\xD7\x24\x11\x84\x11\x84\xD7\x83\x9E\x4A\x7D\x87\x81\x87\x81\x87\x6B\x87\xDC\x40\x60\x87\xE1\x83\xC7\x5A\x85\x0D\x41\x1D\x16\x85\xAB\x81\x61\x76\x68\x4D\x1E\x64\x1E\x85\x06\x7E\xAF\x85\x1C\x80\x81\x6C\x00\x87\xEC\x7F\x35\x03\x8E\x87\x09\x82\x8C\x82\x46\x81\xE2\x81\x6F\x80\xDB\x80\x22\x81\x72\x80\x68\x82\x76\x7E\x6A\x82\xB4\x7C\xD9\x7F\xA2\x7B\x13\x82\xDC\x7C\x15\x82\xDE\x7C\x17\x82\xA8\x7B\x19\x82\x54\x7C\x1B\x82\xE3\x74\x2F\x7F\x77\x0D\x84\x79\x2A\x87\x5C\x7E\x88\x79\x87\x6F\x2C\x85\xAE\x84\xC1\x68\x8D\x79\x9D\x85\x65\x79\xDC\x5F\x95\x87\x02\x82\x8D\x87\x8F\x37\x99\x87\x90\x6C\xB3\x80\xED\x77\x96\x7B\x91\x81\x9F\x7E\x23\x81\xA1\x7E\x07\x7C\xD7\x7F\xA0\x7B\xA5\x87\x0B\x7C\x99\x82\x5E\x7D\x9B\x82\x34\x7D\xAB\x87\x11\x7C\x74\x82\x7B\x7C\xA2\x81\xDD\x6D\x25\x85\xC9\x6B\x91\x86\x40\x66\xC0\x6A\x3C\x85\xD1\x80\x3E\x66\x62\x7E\x56\x59\xBB\x79\x8F\x7B\xBE\x87\x33\x79\x88\x4D\x98\x87\xF9\x80\x45\x81\x6D\x80\x9C\x87\x76\x7F\x96\x80\x78\x7F\x98\x80\x10\x82\xD7\x62\xA7\x87\xD1\x7E\xA9\x87\xD3\x7E\xD5\x87\xE0\x7C\xD7\x87\x9C\x7C\xD9\x87\x9E\x7C\x45\x86\x47\x85\x98\x64\xE2\x6F\x89\x7E\xDB\x23\x5A\x85\xB0\x62\xE9\x6F\x09\x01\xAF\x6F\xE0\x83\xEC\x7C\x48\x07\xCF\x27\x90\x1F\xAA\x64\xED\x7F\x67\x4D\x8F\x37\x88\x80\x4F\x85\x93\x87\x4D\x6D\xBF\x87\x6D\x7D\x54\x63\xEA\x87\x1A\x81\x1F\x7C\x95\x80\xE4\x81\xF1\x87\xE6\x81\xFA\x7E\xE8\x81\xFC\x7E\x25\x62\xA8\x7E\x2C\x81\xBA\x7C\x9D\x82\x8A\x7D\x56\x81\xEF\x7B\xAF\x87\x83\x7E\x65\x86\x08\x7F\x1C\x70\x57\x85\x08\x7A\x59\x85\x4D\x86\x5B\x85\x22\x70\xBC\x7E\xE3\x76\xE9\x65\x17\x88\xFA\x7A\x0A\x64\x66\x30\x42\x7F\xB3\x81\x37\x7A\xB5\x81\x0C\x82\xFE\x80\xFF\x7C\x79\x7F\x2C\x7D\x70\x81\x2E\x7D\x97\x82\xAC\x7D\xD1\x87\xAE\x7D\x26\x88\xB0\x7D\x28\x88\xB2\x7D\xAD\x87\x38\x7D\x2C\x88\xC0\x7C\xFF\x87\x63\x85\xC6\x83\x30\x7A\x38\x88\xB0\x66\x3A\x88\x59\x86\x19\x88\xC2\x87\xEB\x87\x61\x82\x9B\x87\x63\x82\x8F\x82\x49\x7F\x9F\x87\xDD\x80\xA1\x87\x4D\x7F\xA3\x87\x1F\x7E\x28\x81\x63\x77\xB7\x7C\x96\x7C\xD3\x87\x60", +"\x7D\x9E\x81\x79\x7C\xFB\x87\xE2\x7C\xA1\x82\xE4\x7C\x54\x86\x6D\x6D\x99\x83\x24\x59\x0B\x7F\xF2\x80\x1D\x4B\xE8\x87\x5D\x88\x93\x4D\xC3\x87\x79\x6D\x42\x88\xF0\x87\xFF\x80\x45\x88\x4A\x7E\x47\x88\x4C\x7E\x49\x88\x4E\x7E\x53\x80\xF1\x78\x42\x82\xCC\x7B\x44\x82\x98\x7A\x2A\x88\x8C\x7D\x53\x88\xD2\x5F\xDB\x87\x1E\x71\xDD\x87\x10\x0E\x41\x66\xE0\x75\xE9\x86\x17\x7C\x38\x7F\x50\x86\x5C\x79\x39\x88\x7E\x88\x61\x7F\x0A\x85\xBE\x73\x31\x82\x18\x7F\xEC\x87\xFB\x80\xEE\x87\xFD\x80\x84\x88\x44\x88\xF2\x87\x21\x88\x11\x82\xBC\x80\xF5\x87\x32\x80\xF7\x87\x34\x80\xF9\x87\x36\x7D\x51\x88\xB4\x7D\x94\x88\x8E\x7D\x2E\x88\x98\x88\x84\x85\xF6\x7A\x09\x76\xA3\x7A\x88\x85\x4F\x82\xBC\x7F\xA7\x85\x5D\x86\x54\x82\x8F\x85\xCE\x80\x27\x01\x5B\x88\xC3\x88\x7F\x88\x8A\x4D\x81\x88\x5C\x71\x83\x88\x1E\x88\x85\x88\xAE\x88\x2E\x80\x22\x88\x12\x82\x24\x88\xFE\x7E\x52\x81\x00\x7F\x54\x81\x02\x7F\x92\x88\x04\x7F\xBA\x88\xB6\x7D\xA3\x82\x3D\x75\xFA\x86\x8D\x7F\xB2\x5D\x34\x88\x2D\x86\x0D\x0E\x9A\x85\x39\x7E\x16\x88\xA2\x88\xC1\x87\x80\x88\x5F\x88\xE0\x81\x49\x80\xAA\x88\x48\x81\x90\x82\xC9\x87\xA0\x87\xCB\x87\x25\x81\x70\x7C\x3D\x78\x8A\x88\x24\x7F\x8C\x88\xCA\x7B\x8E\x88\x0F\x7C\xB6\x88\xD5\x7E\xB8\x88\xD7\x7E\xE0\x88\xD9\x7E\xE2\x88\x4F\x6C\x5E\x7F\x18\x71\xB9\x7F\xC2\x88\xA5\x7A\x8A\x85\x0E\x76\xCE\x83\x98\x7D\xC0\x7F\x7D\x85\x1B\x84\x3F\x0A\xCB\x88\x0E\x89\xE9\x87\x5E\x88\x1B\x88\x88\x7C\x1C\x81\xA2\x75\xA2\x77\xC6\x87\xBE\x7B\xB6\x80\x0E\x82\x4B\x81\xF3\x87\xE9\x81\xD8\x88\xEB\x81\xDA\x88\xA0\x80\xDC\x88\x84\x7F\x46\x82\x29\x7E\x75\x88\x25\x77\x77\x88\xC3\x86\x69\x7D\xE9\x7F\x60\x7F\xDC\x78\xA3\x88\xBD\x7F\x6D\x86\x3F\x86\x98\x76\xF3\x7F\x59\x88\x64\x6A\x17\x89\x94\x7F\x19\x89\xEF\x88\x1B\x89\xCE\x7C\xB6\x81\xF5\x88\x4A\x81\xB9\x81\x4C\x81\x0B\x80\xFC\x88\x7E\x7F\xFE\x88\x50\x7E\x00\x89\x77\x7C\x71\x88\x0B\x7D\x73\x88\x0D\x7D\xF2\x81\x1C\x7B\x31\x89\x53\x6E\xC4\x85\x3E\x67\xFF\x83\x3E\x89\xED\x88\x10\x88\xA4\x88\x9E\x71\xBB\x72\xC4\x87\xEB\x71\xB4\x80\xF3\x88\x0B\x7B\xA0\x7E\xD5\x7F\xA2\x7E\x88\x88\xA4\x7E\x6C\x82\x94\x7C\x6D\x88\x7A\x80\x70\x82\x11\x80\x4F\x88\x54\x7E\x9F\x82\xBE\x7C\x06\x89\x06\x7F\xBC\x88\x94\x6A\xE1\x76\xE4\x82\x31\x7A\xEC\x88\xCF\x5A\xA7\x56\xCF\x88\xC3\x71\xC5\x87\x54\x7B\x21\x89\x40\x79\x23\x89\x48\x89\x25\x89\x23\x88\x9E\x62\xBF\x81\x4D\x88\xAA\x7E\x72\x89\x80\x7E\x74\x89\x56\x7E\x55\x89\x0F\x7D\x08\x89\xDB\x7E\x5F\x80\x3A\x7C\x3F\x89\xBB\x7F\xCD\x88\xF9\x59\x30\x82\x3F\x88\xFA\x7C\x41\x88\x53\x7B\x09\x7B\x3A\x7A\x66\x89\xCA\x87\x68\x89\xCC\x87\x6A\x89\xD8\x7F\x6C\x89\xDA\x7C\xB2\x88\xBE\x80\xB4\x88\xC0\x80\x02\x89\x36\x80\x04\x89\x38\x80\x76\x89\x3A\x80\x78\x89\xC9\x85\xFF\x85\xB9\x82\xF8\x83\xDC\x85\x03\x87\x15\x76\x16\x89\x5D\x89\x97\x87\x1A\x89\xDE\x81\xB2\x80\x63\x89\x20\x89\xC7\x7E\x85\x89\x1F\x88\x0F\x82\xAF\x88\xF4\x87\x27\x89\x14\x82\x29\x89\xED\x81\x2B\x89\xA2\x80\x2D\x89\xAE\x7E\x5B\x80\xF6\x6C\xA7\x80\x9D\x0D\x7C\x88\x02\x01\x98\x89\xA5\x85\x7D\x86\xA5\x88\x9D\x89\x4F\x7D\xFA\x80\x1D\x89\x75\x76\x1F\x89\x83\x89\xC5\x89\xC8\x87\x47\x89\x01\x81\x3C\x82\x03\x81\x3E\x82\xA9\x7F\x40\x82\x07\x7D\x4F\x89\x09\x7D\x51\x89\x62\x7D\x53\x89\x64\x7D\x92\x89\x66\x7D\xB5\x89\xD7\x85\xB7\x89\xB8\x83\xD3\x81\xF7\x7B\xCD\x80\x4D\x7B\x7D\x89\x57\x82\x9A\x89\x0B\x64\x9C\x89\x8B\x82\x62\x89\x54\x72\x64\x89\x62\x88\xEF\x77\x91\x82\x46\x7C\x00\x81\x48\x7C\x95\x82\xA7\x7F\xEA\x89\x52\x80\xEC\x89\x86\x7D\xEE\x89\x88\x7D\x8E\x89\xAC\x7E\xD1\x89\x59\x7F\xD3\x89\x5B\x7F\xF6\x89\x2E\x85\x96\x77\xF1\x80\x5B\x89\x94\x87\xBE\x89\xDB\x89\x60\x89\x65\x73\x04\x8A\x34\x78\x06\x8A\x8E\x82\x08\x8A\xF6\x88\x66\x88\xF8\x88\x69\x82\x26\x81\x7D\x7B\x79\x7E\x43\x77\x4D\x89\x26\x7F\x13\x8A\x25\x7E\x56\x7F\x27\x7E\x17\x8A\x86\x7F\x19\x8A\x88\x7F\x57\x89\x84\x6E\x6C\x72\xBB\x77\x97\x89\x21\x8A\x21\x64\x71\x37\x02\x8A\x61\x89\x82\x88\xA0\x89\x18\x7E\xA2\x89\x1A\x7E\x6E\x5B\xD4\x74\xF9\x88\xCD\x87\x09\x7C\xCF\x87\xB6\x7C\x2A\x81\xA4\x79\x34\x8A\x52\x7E\x15\x8A\xAF\x7F\xA5\x60\xB1\x7F\x2F\x89\xB3\x7F\x3C\x8A\xC2\x85\x19\x86\xA9\x83\x49\x69\x39\x81\xF2\x08\x1A\x7C\xD9\x89\xB8\x85\x22\x8A\x4F\x72\x93\x73\x0A\x82\x8D\x81\xF3\x88\x8F\x81\x47\x81\xA3\x89\xF7\x88\xA5", +"\x89\x4D\x8A\xA7\x89\xCE\x87\xA9\x89\xA6\x7E\xCB\x89\xA8\x87\xCD\x89\x16\x82\xCF\x89\xEF\x81\xDE\x88\x80\x80\xB3\x89\x82\x80\x5C\x8A\xB9\x71\x80\x7C\xC3\x68\x1F\x8A\xFE\x89\x28\x82\x41\x89\xCE\x88\xF0\x88\x69\x8A\xE1\x81\x07\x8A\xEF\x87\xD2\x88\xAD\x88\x20\x88\xD5\x88\xB0\x88\xBD\x81\xAB\x89\x8B\x89\xAD\x89\xE7\x80\xAF\x89\xC2\x80\xB1\x89\xC4\x80\x7E\x8A\xC6\x80\x78\x82\x04\x6E\x11\x86\x0D\x0E\xEE\x68\x82\x81\x40\x8A\x7E\x89\x3C\x88\x43\x8A\xFE\x7F\xDD\x89\x14\x7E\x9A\x87\xED\x87\x8C\x8A\xAB\x88\x8E\x8A\xA6\x7D\x0B\x8A\xA8\x7D\x0D\x8A\x50\x80\x0F\x8A\x9C\x80\x32\x8A\x80\x7F\x6F\x88\x82\x7F\x7A\x8A\x18\x82\x7C\x8A\xC5\x81\x9C\x8A\xC7\x81\x1B\x8A\x0F\x86\xF8\x89\xFA\x82\xB7\x73\x5A\x6F\x11\x0E\xC8\x7C\x84\x81\xBD\x89\xA5\x8A\x11\x88\x42\x89\xC1\x89\x1B\x81\x1D\x88\x46\x89\xB8\x81\xE7\x89\x49\x89\xE1\x80\x4B\x89\x0D\x80\xB7\x8A\xDC\x7F\xB9\x8A\xDE\x7F\x56\x8A\xE0\x7F\xF2\x89\x2C\x7F\x76\x82\x6D\x78\x80\x8A\x46\x6D\x36\x86\xBA\x0B\x38\x86\x0B\x88\x76\x78\x29\x86\xEF\x7C\xE5\x83\xD7\x78\xD4\x81\x14\x89\xBB\x82\x5C\x89\xCB\x8A\x87\x8A\x9B\x89\xA8\x8A\x03\x8A\x46\x8A\x82\x89\xA1\x89\xC7\x87\x6E\x8A\x2B\x8A\x70\x8A\x2D\x8A\xFA\x88\xF7\x79\x74\x8A\xDA\x7F\xD8\x8A\x0F\x80\x70\x89\x56\x80\xDC\x8A\x13\x80\x38\x8A\x15\x80\x3A\x8A\x17\x80\xC1\x8A\x3E\x65\xE4\x8A\xB4\x86\xE6\x8A\x17\x7D\x5A\x89\x19\x7D\x5B\x73\x11\x89\xCB\x80\x40\x86\x9F\x88\x53\x6F\x1B\x5D\x64\x8A\x58\x88\x5E\x89\x1A\x88\xCE\x8A\x1C\x88\x45\x89\x64\x88\xD3\x7C\x2A\x7D\x93\x82\x7A\x7F\xB3\x8A\x9A\x80\xB5\x8A\x05\x81\x02\x8B\x9E\x80\x78\x8A\xAA\x87\xBB\x8A\xAC\x87\xBD\x8A\xF1\x81\xBF\x8A\xF3\x81\x16\x6A\x22\x86\x7B\x86\x48\x86\xA2\x78\x83\x84\xBF\x6E\xB3\x69\xD5\x78\xEB\x8A\x29\x7B\x24\x59\x27\x82\xC9\x8A\xCA\x88\x41\x8A\x5F\x89\x67\x8A\xB2\x7A\xF1\x88\x34\x82\x6A\x81\x04\x80\x22\x8B\x6C\x81\xD4\x7C\x25\x8B\x46\x88\x27\x8B\x4D\x81\x29\x8B\x4F\x81\x2B\x8B\xE5\x80\x96\x8A\x09\x81\xF0\x89\x2A\x7F\xDE\x8A\xE2\x7F\x5A\x8A\x7D\x81\xE2\x8A\x68\x7D\xA2\x67\x1E\x6F\x35\x89\x5E\x89\xB4\x73\x51\x82\x05\x88\x7A\x78\xB9\x73\x18\x8B\xC2\x7D\xA1\x88\xF1\x8A\x00\x8A\x3D\x88\x42\x81\xA9\x8A\x26\x80\x8A\x8A\xF2\x88\xAD\x8A\xF4\x88\x4C\x8B\x09\x8A\x07\x80\xB1\x8A\x09\x80\x51\x8B\x4A\x89\x53\x8B\x99\x81\x55\x8B\x07\x81\x57\x8B\x2D\x81\x59\x8B\x0B\x81\x5B\x8B\xEB\x80\x0A\x8B\xED\x80\x0C\x8B\xD5\x72\x67\x86\x2C\x86\x49\x86\x6A\x86\x72\x04\x2D\x79\x39\x89\xBF\x7F\x0D\x0E\x70\x86\x00\x00\x72\x86\x18\x88\xF0\x8A\xFF\x89\xA3\x88\x1E\x8B\x5F\x82\x31\x7B\xA8\x88\xE0\x89\xDC\x5B\xC4\x89\x90\x81\xFA\x8A\x14\x78\x3A\x82\x5F\x78\x69\x88\x78\x7E\x6B\x88\xD1\x77\x80\x8B\x51\x81\x36\x60\x97\x8A\x2F\x8B\xD6\x87\x9A\x8A\x7B\x81\x2C\x7A\x94\x89\x27\x77\xC3\x8A\xEA\x7E\xE4\x7D\x57\x79\xCE\x78\x56\x6A\xF8\x84\x6E\x84\xC1\x7D\xF4\x7C\x67\x09\xC4\x7D\x02\x84\x6D\x84\x51\x6F\xBF\x8B\x82\x87\xA3\x5C\xFC\x62\x27\x01\x12\x87\xF4\x84\xD0\x5A\x28\x0D\xF0\x37\x9A\x63\xF1\x68\xEC\x73\x00\x63\xFD\x7D\x58\x0E\xBD\x5D\xF6\x83\x8C\x5A\x0D\x0D\x12\x16\xF3\x6F\x94\x67\xFD\x6B\x8C\x01\xB3\x08\x52\x60\x9B\x63\x08\x63\x0A\x63\xF4\x6F\xA8\x47\x0D\x63\x1B\x7F\xDE\x60\xC7\x8B\x90\x87\x15\x0E\x10\x84\x06\x01\x97\x49\xCA\x7D\xC4\x5A\x89\x86\x78\x64\x70\x63\xCD\x8B\xD9\x8B\x0D\x28\x16\x64\xE9\x60\xEC\x73\x28\x78\xFB\x83\x09\x01\xCB\x8B\xC5\x83\x32\x74\xD4\x8B\x64\x0E\xBD\x5D\x37\x74\x08\x84\xEB\x73\x98\x72\x16\x01\xE3\x8B\xDC\x8B\x42\x06\x74\x07\x0E\x63\x4A\x80\xE8\x8B\xE9\x8B\xDF\x64\xC9\x8B\xFC\x8B\x86\x87\xC9\x5A\xCE\x8B\xB3\x64\x08\x63\xD3\x8B\x8F\x61\xC6\x5A\xF5\x60\xD7\x8B\x2B\x72\xC4\x64\x0E\x0D\xF6\x8B\xC7\x63\xE4\x8B\x04\x6D\xDE\x8B\x00\x8C\x57\x71\xC8\x67\x08\x8C\x44\x68\x0C\x63\x0B\x8C\xE7\x8B\xC4\x13\x0F\x8C\x98\x86\xF0\x8B\x27\x01\xF2\x8B\x0A\x88\xE8\x5A\xF5\x8B\xCF\x8B\x8F\x87\x80\x64\x34\x6E\x21\x8C\x19\x5B\x11\x8C\x06\x01\xF7\x57\xA6\x83\xD0\x5A\xD8\x59\x34\x50\xD3\x63\x75\x55\x43\x33\x92\x06\xFD\x5A\x27\x01\x43\x64\xCD\x63\x06\x01\x50\x64\x03\x5B\xCD\x5A\x41\x8C\x88\x55\xBD\x63\x44\x8C\x68\x1E\xB3\x08\x4C\x8C\x68\x8A\x3E\x50\x80\x07\xC0\x64\x74\x51\xC2\x64\x54\x51\xD6\x64\xD6\x09\x2E\x8C\x5F\x8C\x05\x84\x2E\x74\x51\x1E\x13\x8C\xBC\x74\x88\x04\xA8\x1F\xDE\x89\x66\x6C\x1F\x28\x18\x8C\x24\x30\xF3\x8B\x09\x01\x5F\x58\x1C", +"\x8C\xF8\x8B\xCC\x46\x1F\x28\x68\x8C\xF4\x14\xA8\x1F\xB3\x08\x5F\x58\xD6\x80\x75\x8C\x01\x38\x28\x8C\x1E\x8C\x63\x54\xAA\x1F\x7C\x4D\x99\x89\x9B\x8B\x12\x88\x60\x8C\xEA\x83\x4D\x85\xD2\x32\x64\x8C\x5A\x6E\xB9\x09\x8F\x59\x11\x0B\xD7\x7D\x48\x2C\xD6\x09\x66\x67\x3B\x0E\x5D\x12\xE0\x83\x1D\x00\x2B\x0E\x70\x8C\x03\x72\x40\x12\xA3\x22\x9B\x5A\x83\x51\x5D\x8C\x70\x09\xB3\x08\x94\x8C\xCF\x5A\x07\x56\x96\x8C\x14\x0E\xB9\x5A\x7E\x54\x33\x52\x91\x03\x3B\x0E\x93\x7F\x11\x0F\x52\x74\xE0\x8B\xE9\x67\x98\x8C\x8B\x8C\x89\x05\x8D\x8C\x54\x51\x8C\x28\xB3\x08\xF2\x83\x3B\x64\x8E\x8C\x70\x09\x49\x5B\x56\x74\xD9\x7D\x7B\x82\x59\x84\xBF\x6E\x0A\x19\xE7\x88\x8E\x8B\x84\x8C\xA1\x7C\xFB\x8B\x4F\x27\x88\x8C\xA7\x88\x25\x0A\xDB\x8B\x26\x0E\x6B\x64\x58\x5C\x03\x8C\x4A\x8C\xB7\x60\x4D\x8C\x47\x8B\x0E\x03\xF3\x59\xD0\x8B\x13\x4D\xD5\x8C\x15\x16\x08\x03\x2E\x63\xC0\x86\x74\x0A\x91\x15\xA2\x8C\xF6\x70\xED\x67\x56\x64\x6D\x8C\x59\x64\xB5\x64\xC7\x8C\x17\x0A\xD3\x63\xB4\x35\xCD\x2F\x14\x86\xDB\x8C\x08\x03\x66\x64\x11\x08\xA2\x56\x08\x64\xFC\x63\xEA\x8C\xCF\x45\x61\x8C\xC4\x5A\xA8\x86\x56\x36\xDC\x83\x62\x8C\xC5\x8C\xC9\x83\x68\x8A\x71\x4F\x3A\x8C\xCA\x8C\xD6\x8C\x91\x15\x90\x8C\xA1\x77\xEE\x83\x3F\x61\x19\x0E\xD0\x5A\xF2\x59\xE6\x8C\x8B\x56\xD9\x8C\x27\x87\xFE\x8C\xD7\x8C\x66\x00\xDD\x8C\x26\x8C\xDF\x8C\x3B\x0E\x6B\x85\x03\x8D\xE2\x8C\xD6\x8C\xFB\x8C\xD3\x8C\x37\x8C\xB8\x64\x03\x5B\x91\x15\xB3\x08\x63\x64\x80\x84\x8B\x56\xEC\x8C\xD2\x0B\xEE\x8C\x8B\x61\x3F\x0E\x8B\x56\xC2\x8C\x79\x87\x86\x86\x09\x01\xA2\x8A\xA0\x8A\x11\x0E\xCD\x8C\xDF\x7E\x04\x8D\x3A\x85\x3A\x77\x55\x60\x18\x89\x6E\x8B\xA7\x8A\x0F\x8D\xBF\x71\x08\x63\x27\x8D\x04\x7E\xDC\x7E\x27\x01\x09\x88\x6E\x64\x7D\x65\x92\x04\xC1\x56\xC9\x8C\x64\x8B\x82\x8C\x93\x4D\x3A\x8D\xF8\x8C\x03\x01\x39\x86\x33\x8C\x48\x85\xC3\x07\x2E\x5A\xBE\x5A\xC3\x64\xCD\x03\xF4\x63\xF3\x05\x6B\x8C\x91\x2B\xE1\x8C\x03\x01\xE4\x00\xA1\x63\xCC\x5A\x2D\x5A\xF3\x41\x4F\x8D\xB8\x72\xF3\x63\x02\x20\xB3\x08\x58\x8D\xCF\x5A\x80\x52\xA2\x07\x37\x8D\x07\x0E\xFF\x59\x18\x52\x24\x02\xE9\x0C\x3A\x8D\xC3\x8C\xC2\x82\xD0\x2D\xC6\x8C\x14\x0E\x60\x5A\x15\x58\xB6\x5A\x9E\x8B\x2D\x13\x59\x3B\x54\x8D\x77\x34\xE0\x83\x62\x8D\xD0\x8C\xCB\x5A\x72\x8D\x9A\x3F\x9A\x8C\xDF\x81\x58\x3B\x63\x3B\x61\x8D\x8B\x82\x59\x3B\x66\x8D\xFC\x89\xC9\x28\x25\x52\xFC\x28\xBB\x5A\x6C\x8D\x1E\x74\xC4\x5A\xFA\x08\xBE\x12\xAB\x83\x0D\x0E\x31\x0B\x24\x8D\x8D\x8D\x10\x8C\x1F\x85\x92\x87\xE6\x87\xE9\x65\x1B\x74\x31\x85\xFF\x8C\x57\x4F\x9D\x8B\x72\x7F\x60\x88\xAC\x8A\x28\x8A\x8D\x8A\xD1\x8A\x86\x89\xD3\x8A\x88\x89\xD7\x88\x8A\x89\x41\x82\x04\x8B\x7C\x80\x06\x8B\x58\x80\x08\x8B\x5A\x80\x5D\x8B\x4D\x6C\x96\x88\xD1\x7A\xBD\x88\x5A\x5A\xDF\x87\xB7\x87\x2B\x82\x3C\x80\xBB\x87\x99\x8D\xE6\x79\x9B\x8D\xE9\x8C\x14\x4D\x92\x15\x89\x8A\xAB\x8A\xA9\x88\x75\x8B\x6C\x8A\x65\x89\x4A\x8A\x9A\x5C\x4C\x8A\xFD\x8A\x4E\x8A\x71\x7C\xAA\x8B\x73\x7C\x11\x8A\x23\x7E\x54\x8A\x7E\x7E\xAF\x8D\x7E\x80\x31\x8B\x1A\x82\xFD\x87\x71\x7A\xB1\x87\x89\x6A\xB3\x87\x3C\x87\x0C\x0E\x86\x6F\xB7\x6F\x5F\x7E\x97\x86\x2F\x8C\x47\x65\x64\x7E\xD7\x89\x01\x01\x9C\x8D\x1F\x8D\x9E\x8D\xC3\x8D\x43\x89\x6F\x7E\x47\x8A\x71\x7E\x49\x8A\x73\x7E\x1B\x7E\x57\x7D\xCD\x77\x75\x80\xD2\x6F\x00\x8B\xA6\x87\x76\x8A\xF6\x87\x2D\x8B\xF8\x87\xB0\x8B\xFA\x87\xB2\x8B\xA1\x81\x88\x8B\x33\x81\x8A\x8B\xE2\x87\xE1\x6F\xED\x6A\x1D\x84\xF0\x6A\x92\x8B\xC5\x8A\x86\x8C\x56\x59\x14\x88\x9A\x8D\xB0\x66\xEA\x8D\xCD\x84\x8B\x56\x80\x89\x7D\x77\xD1\x88\xA6\x8D\xC7\x89\x24\x89\xC9\x89\x26\x89\xAB\x8D\xED\x89\xAD\x8D\x77\x81\xD6\x8D\x79\x81\x01\x8E\x75\x82\x7C\x81\x5C\x80\x05\x8E\xEB\x68\x23\x59\x1D\x6B\xFD\x18\xB6\x7E\x15\x8B\x81\x7A\xB9\x7E\x85\x82\x8B\x7F\x3F\x0A\x12\x8E\x39\x87\x14\x8E\xC4\x8D\x25\x8A\xE4\x78\x5A\x77\xD5\x70\x19\x8E\x87\x89\x1B\x8E\x89\x89\x25\x88\x82\x8B\x27\x88\x84\x8B\x2F\x81\x86\x8B\x0D\x81\xF4\x89\x48\x7B\x27\x8E\x06\x5C\x64\x85\x1A\x7C\x33\x8E\x14\x0E\x71\x31\xA0\x8D\x65\x81\xC5\x8D\xA0\x8B\xB7\x5C\x39\x8E\x6C\x73\x23\x8B\x48\x7E\x4F\x8B\x87\x88\x7C\x8B\xD5\x8A\x7E\x8B\x98\x82\xAC\x8B\x75\x81\x1F\x8E\x43\x82\x21\x8E\x45\x82\x58\x8A\x47\x82\xE0\x8A\x49\x82\x9E\x8A\x05\x7A\xC8\x5A\x6D\x85\x32\x86\xE8\x8D\x00\x00\x4C\x8E\x10", +"\x0E\x4E\x8E\x25\x80\x60\x82\x48\x8B\x8D\x82\x4A\x8B\x64\x82\x72\x7E\x66\x82\x74\x7E\x67\x88\x74\x80\xA8\x8B\x4F\x7F\x50\x8A\x51\x7F\xD2\x8D\x7C\x7E\xD4\x8D\x28\x7F\x42\x8E\xC3\x81\xD8\x8D\xAE\x87\xDA\x8D\x21\x72\xB5\x8D\x90\x86\x38\x85\x28\x85\x31\x8D\x79\x85\x9B\x88\x79\x7A\x56\x59\x7B\x7A\x93\x7F\xC0\x8B\xDC\x5F\x6F\x8E\x0C\x0E\x71\x8E\x6A\x80\xB4\x81\xDF\x89\xD0\x8A\x77\x8B\x2A\x8A\xA5\x8B\x7B\x8E\xDF\x80\x5A\x8E\x71\x81\xD6\x8A\xE3\x80\x5E\x8E\x9B\x81\x83\x8E\x55\x7F\x74\x5E\x7B\x8A\xB1\x8D\xA4\x80\x89\x8E\x1C\x82\x48\x8E\x4C\x87\x61\x8B\xA1\x85\xCE\x5B\x87\x85\xEB\x7F\xC0\x87\x5E\x89\x38\x89\x3E\x86\x93\x8B\x11\x0E\xC8\x88\xD4\x7B\x45\x2E\xC1\x8D\x56\x4F\xED\x8D\x1F\x8B\x1C\x89\x9E\x8E\x70\x80\x65\x88\xA1\x8E\x2C\x8A\xA2\x87\x2E\x8A\x5A\x7D\xA6\x8E\x73\x81\xA8\x8E\x6F\x82\x8C\x89\xC1\x81\x85\x8E\x73\x82\x23\x8E\xD8\x87\x03\x8E\xA3\x81\xB2\x8E\xA0\x7C\x0B\x87\x5F\x45\x36\x76\x2D\x8E\x5F\x86\x24\x59\xEA\x88\xA9\x80\x64\x6A\x98\x8E\x08\x0E\x9A\x8E\xA6\x88\x6B\x80\x9F\x8B\xC7\x8E\x9E\x87\x56\x8E\x67\x89\x58\x8E\xD6\x7F\x72\x8A\x4F\x8A\xF9\x8D\xD0\x87\xD1\x8E\x9A\x82\xAA\x8E\xAD\x7F\x62\x8E\x91\x88\xAE\x8E\x57\x81\xB0\x8E\xF1\x7B\x9F\x85\x0A\x89\xB8\x7F\xEA\x7F\x90\x6E\x96\x87\xEE\x7F\x10\x89\x0B\x8E\x04\x79\x13\x89\xE1\x66\x61\x80\x97\x8E\xC2\x8E\x0D\x8D\x15\x8E\x58\x78\x17\x8E\x9F\x8E\xE6\x89\x0C\x8A\xE8\x89\x97\x81\x5C\x8E\x4A\x88\xF6\x8E\xD2\x87\xF8\x8E\x9D\x81\x98\x8A\xE9\x80\x44\x8E\x31\x81\xD9\x8E\x7D\x7C\xDB\x8E\x69\x1C\xB3\x85\x8D\x76\xB5\x85\x8F\x76\xB7\x85\x1C\x8B\xB9\x85\x07\x8F\xBC\x8E\x80\x82\x3B\x89\xBE\x85\x7C\x89\x32\x8E\x0E\x8F\x91\x15\x10\x8F\x0F\x79\xF0\x8D\x69\x81\x1E\x89\xDF\x7B\xDC\x80\xCA\x8E\xFC\x8A\xCC\x8E\xFE\x8A\xE6\x7A\x7F\x8E\x29\x81\x4B\x88\x2B\x81\x40\x8E\x4E\x88\xD5\x8E\x9E\x82\x20\x8F\xA0\x82\x66\x8E\xA2\x82\x68\x8E\x2E\x7A\x76\x71\x1B\x80\x3D\x89\x81\x6C\xE6\x8E\x6A\x64\xEC\x8D\x36\x8F\x16\x7E\x38\x8F\x0D\x82\x3B\x8E\xA8\x8D\x3D\x8E\xAA\x8D\x3F\x8E\xFD\x8D\xB5\x88\xFF\x8D\xB7\x88\x87\x8E\x52\x88\xFE\x8E\x2D\x88\x5F\x8B\x2A\x6E\xCB\x85\x36\x83\x75\x77\xC1\x8E\xDA\x8C\xC2\x8D\x57\x8F\x67\x81\x59\x8F\x43\x88\xB0\x8A\x86\x88\xF1\x8E\xA4\x8E\x48\x88\x18\x8F\x8B\x88\x81\x8E\x53\x7F\x1C\x8F\x9C\x82\x48\x8F\x29\x88\xFC\x8E\x2B\x88\x66\x8F\x54\x88\x24\x8F\x7D\x1C\xD2\x85\x01\x01\x95\x84\xAC\x7A\x1B\x5D\x54\x8F\xF0\x8C\x6F\x8F\x36\x8E\xF6\x8A\xC3\x89\xE3\x89\xA3\x8B\xCA\x8D\x1C\x5D\xCC\x8D\x3F\x8F\xCE\x8D\xFB\x88\x79\x8F\xFD\x88\x7B\x8F\xAB\x7F\x7D\x8F\xD4\x87\x62\x8F\x03\x89\x64\x8F\xB9\x88\x83\x8F\x3A\x7D\x4E\x8F\xA4\x82\xB7\x8B\x0F\x7F\x04\x8F\x88\x80\xDD\x85\xBC\x89\x66\x34\x34\x8F\x9F\x8D\x72\x8E\x75\x8D\x74\x8E\x61\x88\xA4\x8D\xAE\x8A\x18\x8E\xD3\x88\x90\x8A\xBA\x80\xD6\x88\xB1\x88\xFB\x8D\xB3\x88\x60\x8F\xAE\x89\xA0\x8F\xB0\x89\xA2\x8F\x05\x89\xA4\x8F\x29\x5F\xD5\x89\x0F\x04\xBD\x77\xAE\x8F\x6E\x8F\xC3\x8E\x70\x8F\x0B\x82\x72\x8F\xAC\x88\x74\x8F\xD4\x88\xBA\x8F\x92\x8A\x3F\x82\x94\x8A\xAC\x8D\xD3\x8E\x71\x82\x7F\x8F\x50\x88\xC3\x8F\xB2\x89\xC5\x8F\xE1\x88\xA6\x8F\xF4\x61\xE9\x85\x5E\x86\x4E\x86\xFB\x89\x74\x77\x84\x8A\x33\x8F\xCB\x8F\x0F\x8F\x8F\x8F\xD0\x88\xCF\x8F\xAF\x8A\x93\x81\x7A\x8B\x6F\x81\x77\x8F\x89\x88\x9A\x8F\x4C\x89\x9C\x8F\x54\x80\x60\x8E\x8F\x88\xFA\x8E\xCE\x7B\x02\x8E\xB3\x8D\xB0\x7E\x85\x8F\x0D\x60\x18\x7C\xF3\x85\x6C\x8F\x06\x01\x8C\x8F\x16\x8D\x05\x8D\xCC\x8F\xEB\x8F\x81\x89\x91\x8F\xF8\x8A\x84\x89\xE5\x89\xD2\x8A\x15\x8F\xD4\x8A\xA5\x8E\xF4\x8F\xD7\x8A\xF6\x8F\x8D\x88\xF8\x8F\x01\x89\xC1\x8F\x99\x8A\xDC\x8F\x9B\x8A\xDE\x8F\x07\x89\xE0\x8F\x93\x6D\xF8\x85\x96\x6D\x6D\x8E\x05\x90\x7C\x8D\x25\x8D\x08\x90\xEE\x8D\x9F\x89\xF7\x8A\x48\x8A\xF9\x8A\x94\x8F\xFA\x5B\x96\x8F\x68\x88\xCD\x8E\x6B\x82\xCF\x8E\x6D\x82\x1A\x8F\x4C\x88\x46\x8F\x8D\x89\xDA\x8F\x73\x89\x4A\x8F\x75\x89\x1D\x90\x77\x89\x68\x8F\xE9\x6E\xE2\x8F\x91\x72\x0D\x0E\x03\x86\x03\x90\x03\x01\x24\x90\x1A\x8D\x1A\x8D\x35\x8F\x09\x90\x16\x8E\xED\x8F\xB7\x8F\x8F\x8A\xC8\x89\x91\x8A\xCA\x89\x1D\x8E\x12\x8A\x17\x90\x50\x89\x1E\x8F\x9F\x81\xD7\x8E\xFC\x87\x22\x8F\xFE\x87\xFF\x8F\x95\x77\x15\x0E\x0A\x86\x5D\x81\x45\x90\x02\x01\x47\x90\x07\x90\x1B\x8D\xB0\x8F\x9B\x8E\x40\x88\x9D\x8E\x21\x8B\xC8\x8E\xEE\x8E\xA4\x89\xF0\x8E\x69", +"\x89\xF2\x8F\x6B\x89\x33\x90\x6D\x89\x52\x8A\xB8\x7C\xD8\x8F\x71\x89\x39\x90\x8F\x89\x3B\x90\x91\x89\x33\x8B\x56\x89\xB5\x8B\xB9\x77\xAE\x60\x7C\x4E\xD0\x83\xD8\x72\xA3\x8A\x23\x90\xAF\x8F\xC4\x8E\x4F\x8E\x81\x8D\x51\x8E\xEC\x8E\x37\x82\x3C\x8F\x5D\x78\xA6\x8B\x74\x79\x98\x8F\xFF\x8A\x73\x90\xAA\x89\xBD\x8F\xAC\x89\xBF\x8F\xAF\x8B\x36\x8A\x55\x81\x81\x8F\x93\x88\x3D\x90\xB4\x89\x3F\x90\x94\x77\x41\x90\x4E\x78\xC7\x8A\x41\x86\xE5\x75\x4D\x6D\x64\x90\x0C\x8D\x49\x90\x67\x90\xE9\x8E\x9C\x8E\xEB\x8E\x6B\x90\xED\x8E\x4D\x8B\x24\x8B\xF0\x8F\x95\x81\x16\x8F\x96\x82\x13\x90\xA7\x8E\x15\x90\xFF\x88\x55\x90\xEF\x89\x57\x90\x72\x88\x59\x90\x74\x88\x4C\x8F\x76\x88\x7F\x90\x6D\x6D\x0E\x8B\xE4\x83\x38\x8B\xAA\x83\x10\x0E\xED\x7C\x71\x23\x67\x8B\xB3\x74\x2E\x86\xA5\x90\x7C\x7A\xE8\x8F\x0B\x8D\x26\x90\xEA\x8F\x28\x90\x6A\x90\x12\x8F\x6C\x90\xB1\x90\x57\x8E\xB3\x90\x94\x82\xB5\x90\x0E\x8A\xBB\x8F\x93\x8A\x96\x90\x95\x8A\x98\x90\x58\x8B\xBD\x90\x52\x89\xBF\x90\x54\x89\x7D\x90\x93\x89\x1F\x90\x17\x6A\x4D\x87\xB5\x83\x68\x86\x58\x86\x10\x0E\x3B\x86\xFC\x03\x3D\x86\xBB\x85\x3A\x89\x5F\x73\xCF\x90\x7E\x7A\xA8\x90\xD3\x90\xAA\x90\x88\x90\xB1\x8F\xA1\x8D\xB3\x8F\xA3\x8D\x76\x8E\x63\x88\xD8\x90\x78\x8B\x6D\x81\xDB\x90\x26\x8B\xDD\x90\xB4\x8A\xDF\x90\xD5\x8F\xE1\x90\xD7\x8F\x37\x90\xD4\x8E\xE5\x90\xF1\x89\xE7\x90\xF3\x89\xE9\x90\xF5\x89\xA0\x90\x26\x78\x8C\x8B\xE3\x8F\x69\x86\xBD\x8C\x22\x82\x3C\x8B\xCC\x90\xF7\x6E\x15\x0E\x41\x8B\x08\x7E\xA7\x90\x87\x90\xCD\x8F\x6A\x8A\xC7\x8D\x54\x8E\x7A\x70\xD9\x90\xEF\x8E\x07\x91\x50\x8B\x09\x91\x28\x8B\x0B\x91\xEB\x89\xD6\x8F\x1E\x8E\x77\x90\x05\x8B\x79\x90\x16\x8A\x64\x8E\x2E\x89\xC1\x90\x30\x89\xC3\x90\x6F\x78\x37\x8B\x57\x86\xC1\x8C\x5C\x88\xA3\x88\x02\x79\xE0\x8E\xE4\x8F\x60\x86\xF8\x90\x8B\x8F\x25\x91\x4B\x90\x11\x8F\x4D\x90\x13\x8F\x0F\x90\xB2\x8A\x2F\x91\x52\x8B\x31\x91\x10\x8A\x33\x91\x54\x90\x35\x91\xAE\x8D\x37\x91\x57\x8A\x67\x62\xAF\x8E\x5B\x90\x42\x71\x35\x86\x3F\x91\xEF\x90\x41\x91\xA0\x88\x95\x7D\x91\x8B\x2E\x8F\x09\x8F\x94\x8B\x82\x82\xBB\x5D\x49\x91\xE9\x8F\x4A\x90\xD5\x90\xAE\x90\xD7\x90\xB0\x90\x05\x91\x4E\x8B\x2D\x91\x59\x8E\x51\x91\x7D\x8B\x53\x91\xB6\x8A\xB9\x90\x4E\x89\xBB\x90\x14\x8A\x59\x91\xDD\x8A\x13\x91\xDF\x8A\x25\x8E\xFE\x8F\x17\x91\x4B\x78\xA8\x8F\x97\x7F\xB9\x8B\xB6\x7F\xBB\x8B\x2D\x7B\x84\x86\xBE\x8B\x5D\x86\x96\x8E\x2D\x09\xAF\x82\x1E\x71\x45\x84\x29\x8D\x15\x0E\x80\x85\xC0\x8E\x06\x01\x21\x74\xB9\x72\x3E\x88\xF5\x8A\xEC\x8F\x2A\x90\xF1\x8D\x2C\x90\xF3\x8D\x4B\x8A\x1C\x7E\xF7\x47\xF7\x8D\x5E\x6D\xD0\x8D\x21\x7E\x7A\x91\x33\x8A\x7C\x91\x35\x8A\xAC\x8E\xBC\x8A\x9C\x90\xDF\x88\x9E\x90\x42\x60\x8B\x8E\x10\x74\xB7\x8D\x07\x0E\xE1\x8D\xB4\x79\xED\x74\x92\x8E\x5D\x0F\x8E\x79\x97\x91\x03\x01\x99\x91\x32\x73\x03\x73\x68\x90\x9E\x89\xD6\x90\x4D\x91\x04\x91\xA0\x8E\x8F\x90\xA2\x8E\x3B\x82\x11\x90\x78\x8F\x78\x91\x2A\x8B\xA9\x91\xB8\x8A\x9E\x8F\x70\x88\x11\x91\x5A\x8B\x80\x91\x5C\x8B\x3B\x91\x6D\x65\xB3\x91\xC1\x7D\xB5\x91\xB7\x64\x78\x85\xB3\x79\x32\x7E\xB5\x79\x3D\x85\x1A\x75\xBB\x6F\xE6\x8D\x41\x85\x6D\x8E\xBF\x91\x05\x8C\xDD\x8B\x44\x8A\x24\x8A\x90\x8F\x05\x8A\xA2\x8B\x6D\x8A\x2D\x90\x3C\x46\x2F\x90\x7C\x8E\x31\x90\xA4\x87\xF4\x8E\x51\x8A\x44\x8F\x53\x8A\xAB\x91\x55\x8A\x7E\x91\x07\x8B\x39\x91\xD2\x89\xFD\x8F\x1A\x8A\x84\x91\x72\x85\x10\x0E\x49\x85\x03\x88\xB7\x1B\xC0\x8C\xA2\x78\x8E\x7E\x83\x86\x10\x8E\x64\x6A\xE7\x91\x27\x6B\x9D\x70\xC2\x91\x74\x8C\x00\x91\xC6\x8D\xB5\x8F\x76\x8B\xC6\x91\x14\x8F\x50\x91\xCB\x91\xF3\x8F\xCD\x91\x54\x8B\xCF\x91\xD9\x8A\xD1\x91\xBA\x8A\x9A\x90\xDD\x88\xAF\x91\x7D\x8A\xB1\x91\x9D\x8A\xF4\x81\x69\x87\x14\x0E\x2A\x8E\x51\x5C\x2C\x8E\x08\x8F\xCA\x82\x5C\x85\xE9\x07\x1A\x7C\x0E\x92\x97\x72\xE9\x91\xF4\x8A\x45\x8A\x9D\x91\x0B\x90\x2B\x90\x0D\x90\xA4\x8B\xC8\x91\xCB\x8E\x30\x90\x40\x8F\x27\x81\x42\x8F\x6C\x88\x75\x90\x6E\x88\x20\x92\xDB\x8A\xFC\x91\xB0\x8D\xFE\x91\x18\x8A\x00\x92\x3B\x8A\x3D\x91\x58\x89\x4A\x8E\x62\x90\x01\x01\x33\x92\x65\x8C\x39\x8C\xEA\x91\x56\x8C\x37\x8E\xEF\x79\xC8\x8D\x75\x8B\x3C\x92\xE1\x7B\x90\x90\xBD\x7A\x92\x90\x41\x8F\xF6\x91\x80\x8E\x55\x91\xD3\x8D\xFA\x91\xD5\x8D\x48\x92\xD7\x8D\x24\x92\xBE\x8A\x26\x92\xC0\x8A\x02\x92\xE2\x91\x5D", +"\x87\x0A\x7F\xBC\x87\x35\x85\x1B\x5D\x53\x92\xFC\x6F\x2D\x72\x6E\x91\xA2\x8D\x14\x92\x02\x91\x9D\x87\x8D\x90\xC9\x8E\x3D\x92\x3E\x8F\x3F\x92\x60\x92\x41\x92\x62\x92\x43\x8F\x35\x90\x45\x8F\xE3\x90\x83\x8B\xD3\x91\x85\x8B\xD5\x91\x87\x8B\x4C\x92\x51\x6E\xD9\x91\x5D\x86\xDB\x91\x66\x85\x8F\x8E\xDF\x75\xD6\x8C\x95\x70\x7B\x85\xE3\x75\x48\x91\xDC\x5F\x75\x92\x70\x70\x77\x92\xC5\x8E\x44\x89\x70\x91\x7D\x92\x6D\x90\x6F\x8A\x6F\x90\xA6\x89\x71\x90\xA8\x89\x94\x90\x75\x8A\x53\x90\x65\x92\x57\x91\x20\x8E\x68\x92\x22\x8E\x1B\x90\xB3\x8B\x77\x82\x28\x92\x39\x5E\x26\x8F\xB5\x86\xC0\x88\x6F\x66\x0D\x89\x40\x89\x92\x76\xBA\x85\xA8\x85\x6E\x86\x5D\x0F\xBF\x8E\x15\x88\x3F\x0A\x9C\x92\x9C\x70\x9E\x92\x89\x90\xC2\x89\xED\x91\x92\x8F\xEF\x91\xA1\x91\xCB\x8D\xA3\x91\x3B\x6A\xA5\x91\xA9\x6E\x30\x8A\x7F\x7B\x1E\x92\x03\x8B\xAD\x92\x61\x8E\xAF\x92\x63\x8E\x5B\x91\xFD\x8E\x5D\x91\x59\x81\x5D\x90\xEB\x86\xDF\x8E\x2E\x92\x16\x8B\xE9\x88\x9A\x92\xE9\x65\xC4\x92\xDE\x8C\xC6\x92\xFE\x90\x50\x8E\x58\x92\x18\x7A\x5A\x92\x15\x92\x5C\x92\x56\x7D\x5E\x92\xE4\x7A\x40\x92\x2F\x8A\xA7\x91\x7A\x7E\xD4\x92\x2C\x8B\xAE\x8B\xE4\x90\x19\x90\x1F\x8F\x8C\x92\x45\x8E\x15\x91\x47\x8E\x6E\x92\x74\x71\xB6\x92\x5D\x76\x03\x8F\x0C\x8E\x98\x8B\x61\x76\xBB\x8E\xF5\x90\xBD\x8E\x15\x0E\xAB\x85\x95\x8E\x76\x7D\x20\x74\x63\x73\x9B\x91\x37\x92\x0A\x90\xC9\x92\x0C\x90\xE4\x89\xEF\x92\xD4\x7F\xA5\x92\x71\x8A\xA7\x92\x73\x8A\xA9\x92\x01\x8B\xF7\x92\x56\x8B\x88\x92\x41\x8E\x8A\x92\x43\x8E\xFD\x92\x21\x8F\x8E\x92\x89\x8B\x01\x93\x99\x6B\xB6\x92\x34\x89\x2A\x8F\x8C\x87\xBA\x8E\xC5\x88\xAC\x82\xC7\x90\xEF\x70\x2A\x7B\x3C\x89\xFD\x63\x74\x92\x11\x93\x70\x8B\x9C\x91\x14\x93\x26\x8A\xEE\x91\xC9\x8D\xCC\x92\x95\x8F\xCE\x92\x36\x15\xCE\x77\xCF\x8D\x42\x92\xAB\x8B\x20\x93\x81\x8B\x22\x93\x47\x8F\x24\x93\x86\x8E\x6A\x92\x32\x8B\x6C\x92\x34\x8B\xAD\x5D\x59\x89\x87\x6C\xE7\x8F\x10\x93\x91\x73\x12\x93\xEB\x91\x38\x92\x15\x93\x3A\x92\x17\x93\xF0\x91\xCC\x48\x42\x93\xA7\x6D\xF3\x92\xCE\x8E\xB7\x90\xD0\x8E\x48\x93\xAD\x8B\x53\x81\x22\x92\x2C\x89\x4A\x92\x39\x8A\x28\x93\x04\x8E\x2A\x93\x36\x7E\x7A\x89\x0C\x83\x32\x8F\x56\x93\xBD\x73\x23\x8A\x57\x92\xEC\x91\x3D\x93\xCA\x92\x3F\x93\x79\x8E\xF4\x8D\xF1\x92\xE3\x7B\x1C\x93\xF3\x8E\x1E\x93\xFA\x8D\xAB\x92\x82\x8E\x66\x92\x84\x8E\x4C\x93\xD6\x8E\xB1\x92\xFC\x8F\xD7\x91\x5E\x8B\x4E\x92\x3D\x8A\x96\x89\xE6\x91\x39\x93\x56\x92\xD1\x8C\x8B\x90\xAF\x90\xA2\x92\x2B\x91\x6E\x90\x74\x91\x76\x8F\x76\x91\x5B\x8E\x1C\x92\x7F\x8B\x66\x93\x5F\x8E\xD6\x92\xF9\x8F\xD8\x92\xFB\x8E\x6B\x93\x09\x8B\x6D\x93\xDA\x8E\x6F\x93\x34\x86\x5E\x8A\x2D\x82\x87\x80\xBA\x89\x36\x5F\xAD\x8F\x09\x01\xE6\x92\x10\x8D\xE8\x92\x11\x92\xAA\x8A\xEB\x92\x3A\x7A\xED\x92\x7B\x92\x22\x89\x5B\x8F\x10\x90\xA9\x8D\xBC\x8F\x84\x93\x7C\x8F\x86\x93\xAB\x8E\x57\x7F\x4E\x93\xD9\x8D\xDC\x92\xF8\x72\xC7\x8F\x3A\x7C\xB3\x93\x38\x8D\xF7\x70\xB6\x93\x72\x8B\x95\x93\xA1\x92\x65\x82\x8E\x90\x5D\x92\xC9\x91\xA7\x8B\xF4\x91\x6A\x88\x46\x93\xD1\x8D\x64\x92\x85\x93\xA2\x93\x18\x90\x69\x93\xD0\x89\xA6\x93\xB2\x8D\x8C\x93\x26\x8E\xAA\x93\x76\x86\x86\x91\xF7\x7F\x0B\x93\x24\x59\xF8\x7B\xC8\x51\x32\x92\x92\x93\x36\x92\x59\x93\x3C\x93\x38\x8E\x35\x78\xBB\x93\xC6\x89\xB8\x8F\x50\x90\xD3\x8F\x52\x90\x5F\x8F\xF9\x92\x89\x92\xFB\x92\x58\x90\x8A\x93\x24\x8E\xB4\x8B\xEB\x90\xAA\x6C\xF0\x80\x02\x90\x55\x93\xB2\x93\xEF\x93\x26\x91\x8B\x8A\x15\x92\xBA\x93\x3A\x8F\x6B\x81\x72\x91\xB2\x90\x75\x8F\x70\x90\x9C\x93\x12\x90\x9E\x93\x5D\x8E\xA0\x93\xA9\x8E\xC3\x93\xF9\x8E\xA4\x93\xFB\x8F\x01\x94\xB3\x92\x35\x8B\x80\x90\x11\x0E\xB6\x74\xBC\x77\xDC\x8D\x4D\x6D\xCC\x93\xE1\x8B\xCE\x93\xAC\x90\x69\x90\x6F\x91\xC5\x91\x71\x91\xC7\x91\xD5\x93\x3E\x92\xF3\x91\x62\x93\x32\x90\x64\x93\x34\x90\x18\x94\xD2\x8E\x0F\x91\xD9\x8F\x88\x93\x49\x8F\x26\x93\x4B\x8F\x82\x91\x01\x92\x8E\x93\x5D\x8A\x78\x86\x1A\x86\x7A\x69\x61\x8A\x4D\x0D\xEE\x93\x57\x93\x3A\x93\x13\x93\x4C\x90\x9E\x91\x39\x8F\xE1\x89\x3B\x8F\x7E\x92\x30\x94\x80\x92\x32\x94\x82\x92\xF4\x92\xDA\x93\xA8\x91\xDC\x93\xC2\x93\xDE\x93\x56\x90\xFE\x93\xBE\x90\x00\x94\xD8\x8E\xA8\x93\x23\x8F\xE6\x93\x69\x7B\x82\x8A\x82\x7C\x51\x92\x00\x00\x27\x94\xD1\x8B\x06\x8C\xF0\x93\x77\x93\x5A\x93\x79\x93\x16", +"\x93\x93\x8F\x40\x93\x2E\x90\x60\x93\xAB\x70\x33\x94\xF5\x91\x82\x93\xF5\x8E\x37\x94\xF7\x8E\x1A\x94\x1D\x8F\x5D\x94\xE6\x90\x5F\x94\x5A\x90\x61\x94\x5C\x90\x63\x94\x28\x8E\xFE\x8B\x11\x0E\x2B\x8D\x02\x01\x0B\x84\xBF\x8D\xB0\x66\x69\x94\x71\x8C\x35\x92\x0A\x94\x74\x8B\x0C\x94\x29\x91\x80\x75\xD4\x93\xF0\x92\xD6\x93\x91\x90\xF2\x8E\x45\x93\x84\x92\x43\x92\xF8\x91\x76\x90\x39\x94\x78\x90\x3B\x94\x80\x8F\xE2\x93\x5C\x91\x82\x94\x5E\x91\x55\x88\xDC\x71\xB0\x81\xB9\x89\xA9\x81\x6A\x8B\x8F\x91\x8C\x94\x09\x94\x4B\x91\x37\x8F\x4D\x94\x5A\x8F\xF7\x93\x1A\x8E\x51\x90\x1C\x8E\xFB\x93\x68\x93\xAD\x91\x30\x8B\xC6\x93\x88\x8E\xC8\x93\xFF\x8E\xA7\x94\xC5\x90\x8B\x87\x61\x91\x39\x8B\xC9\x90\x28\x86\x5C\x6E\xEA\x8A\x33\x93\xEC\x8A\xF2\x7C\xAC\x94\x0F\x93\x08\x94\x49\x94\x93\x93\x44\x7F\x79\x92\x52\x8E\xA2\x6A\xF4\x93\x0E\x94\x21\x81\xA3\x92\xFB\x8A\x1A\x93\xCD\x8D\x99\x94\x99\x8F\x16\x94\x19\x8F\x7A\x94\x1B\x8F\x7C\x94\x7E\x8F\xA1\x94\xDB\x8F\xBC\x94\x65\x8F\xBE\x94\x67\x8F\x41\x94\x1B\x6F\xC1\x94\xEE\x90\x8D\x8B\xC4\x94\x0C\x0E\xF2\x90\xFE\x61\x14\x8B\xE1\x92\xFA\x89\x15\x0E\x1E\x7D\xE4\x8E\x81\x6C\x8D\x94\x38\x8C\x90\x6F\x58\x93\x6D\x94\xF2\x93\x59\x92\x93\x94\xA5\x77\x95\x94\x19\x93\x9A\x93\x13\x94\x1A\x92\x72\x90\x35\x94\x74\x90\x9D\x94\x45\x92\xE2\x94\x9F\x8F\xE0\x93\xAD\x8E\xA3\x94\xDB\x92\xA5\x94\xDD\x92\x84\x94\x1E\x82\xB4\x8E\xFD\x78\x40\x91\xEF\x94\x08\x0E\x42\x7D\xF5\x2A\xC6\x88\xA9\x85\x3C\x0E\x22\x91\x0C\x8F\xE5\x92\xAF\x94\x78\x92\x13\x92\xD3\x94\x73\x76\xD5\x94\x4F\x94\x0F\x94\x2F\x94\x96\x94\x31\x94\xA3\x8E\x14\x94\xCC\x91\xD4\x8F\x32\x91\x0D\x91\x34\x91\x9F\x94\x36\x91\xE4\x94\x3A\x90\x3D\x94\x3C\x90\xE8\x94\x84\x8F\x15\x95\x49\x27\x19\x91\x63\x8B\x7B\x0B\x44\x91\xF4\x94\xE1\x8E\x56\x59\x61\x86\x42\x8B\xCE\x94\x75\x93\x46\x8B\xD1\x94\x26\x95\x8C\x90\xD3\x93\x51\x94\x2D\x95\x53\x94\x2F\x95\x07\x95\xA8\x92\x09\x95\x95\x90\xC1\x93\x9D\x8F\x0D\x95\xD2\x91\x7E\x94\x12\x91\x80\x94\xC0\x90\x3F\x94\x4D\x92\x03\x94\x55\x86\x60\x91\xEE\x94\xC8\x90\x19\x8B\xE1\x73\x65\x91\x0A\x93\x2F\x8F\x30\x79\x69\x91\xCB\x5A\xC3\x7F\x52\x92\x24\x95\x9F\x92\xEF\x8D\xB2\x94\x73\x8F\xEF\x8F\x12\x94\xA6\x92\x30\x95\x1B\x92\x32\x95\x54\x91\x34\x95\x56\x91\x36\x95\x58\x91\x38\x95\x7A\x90\x3A\x95\x7C\x90\x50\x93\x7E\x90\x62\x95\x45\x85\xAC\x93\xA9\x94\x4C\x7D\x19\x91\x93\x91\xEF\x8A\xAE\x82\xC2\x8B\xB0\x82\xE3\x84\xD1\x7A\xFA\x84\x24\x59\xFF\x41\x84\x69\x96\x8D\xDA\x7D\xD7\x83\x19\x41\x98\x95\x8E\x8D\x0D\x0E\xFF\x41\x39\x2D\x67\x87\x84\x81\xD0\x01\x09\x18\x45\x91\x1B\x91\x9C\x95\x6A\x8E\xB4\x82\x09\x01\x95\x8B\xA1\x95\x0C\x92\x89\x6A\xCE\x06\xBF\x01\x1F\x91\xE6\x83\xA7\x95\xCF\x5A\x0A\x92\xAE\x21\x04\x86\x42\x86\xE0\x8D\xC0\x6A\xF1\x0A\xAD\x16\xB1\x05\x63\x8B\x38\x09\xB5\x49\x1E\x95\xBA\x92\xB3\x95\xFA\x62\x6B\x8E\x03\x01\x6F\x00\xC4\x95\xC4\x5A\x0E\x92\xC5\x57\xCD\x85\xCD\x5A\x76\x0C\x7F\x25\x1D\x95\x32\x93\x19\x95\x85\x83\xB3\x86\x7E\x0C\x7B\x0E\xAD\x01\x63\x8B\xC3\x95\xC4\x8C\x24\x59\x5C\x74\x06\x01\x71\x00\x70\x8D\x07\x65\x2A\x0A\xCA\x17\xB1\x95\x86\x73\xD9\x95\xD3\x5A\x58\x5C\x75\x74\x7A\x40\x0C\x86\xCA\x5A\xC5\x21\x49\x2B\xE3\x95\x65\x16\xE6\x86\x7E\x0C\xA1\x0B\x89\x25\xAE\x2E\x69\x61\xE8\x95\x15\x09\xE5\x95\x22\x74\xB7\x5D\x68\x74\x06\x01\x19\x8D\x4F\x74\xCF\x5A\xEC\x95\xC6\x1C\x8A\x73\x3E\x8B\x42\x16\x52\x60\x93\x86\x13\x2C\x2E\x07\xA5\x21\xD8\x95\xF8\x95\xFA\x95\x27\x01\x75\x00\xF8\x95\x0F\x96\xDA\x95\x0D\x8E\x01\x01\x78\x00\xA3\x5C\x5B\x0E\x3B\x0E\x1C\x58\x14\x8D\x24\x77\x2E\x8D\xE4\x93\x74\x69\x87\x8D\xDD\x6D\x41\x64\x77\x00\x56\x8D\x02\x01\xD7\x00\xDC\x91\x1E\x89\x24\x96\x79\x82\x6C\x6E\x5E\x25\x7F\x6F\x41\x64\x79\x00\x22\x96\x01\x01\x86\x00\x25\x96\xE1\x89\x30\x96\x28\x96\x76\x92\xA3\x74\xDC\x87\x79\x89\x27\x01\x2D\x96\xE0\x83\x89\x86\x1B\x96\x89\x86\x04\x67\x96\x74\x0A\x0C\x37\x96\xEF\x74\x3B\x0E\x3A\x96\x3F\x8D\xBE\x8D\x1B\x96\x16\x86\xE3\x8A\xC8\x5A\xE9\x10\xE1\x21\x8A\x7F\x10\x96\xCA\x64\xD7\x83\xDF\x44\x4F\x96\x50\x96\xC4\x5A\x8A\x94\x7B\x00\x86\x87\x52\x60\x02\x08\x96\x32\x7A\x59\x5E\x2C\x73\x00\x55\x64\xC4\x5A\x60\x80\x7D\x00\xB7\x95\x81\x6C\x60\x90\xCB\x5A\x07\x56\x3F\x0A\xBE\x00\x95\x5B\x7F\x59\x01\x44\xA5\x07\x82\x87\x84\x87\x02", +"\x01\x7C\x00\x63\x96\x4D\x6D\x65\x96\xCA\x5A\x07\x56\xEC\x94\x18\x85\x6B\x96\x50\x1A\xDD\x83\x8F\x8D\xE6\x33\x53\x96\x85\x8C\x5D\x0F\x96\x91\xC2\x92\xEF\x7D\x5E\x83\x90\x94\x49\x8B\xD6\x94\x77\x8E\xF2\x8D\x7C\x93\xA2\x91\xF5\x8D\x1D\x7E\x7D\x8E\x76\x80\xD2\x92\x78\x80\x6E\x89\x8B\x75\xBC\x90\x5C\x95\xD4\x91\x5E\x95\xE8\x90\x85\x95\x8A\x2B\x90\x92\xD1\x95\x76\x85\x39\x85\xD7\x5A\xBF\x5B\xDE\x91\xB0\x60\xEC\x86\x34\x7E\x2D\x85\xEF\x80\x2F\x85\xBE\x8D\xC9\x8F\x68\x15\x84\x96\xB0\x94\x58\x8F\x74\x95\xD0\x8F\x76\x95\xD2\x8F\xBB\x81\xDE\x94\x7A\x8F\x59\x94\x59\x95\x5B\x94\x94\x96\x0F\x95\xAE\x91\x11\x95\x82\x8F\x3C\x95\x95\x88\x25\x94\x8E\x70\x75\x85\x94\x77\x77\x85\x94\x92\xE0\x87\x05\x82\xCD\x7A\xE3\x91\x1C\x75\xE7\x8D\xC9\x88\xAA\x96\x79\x86\x85\x96\x75\x8E\x87\x96\x03\x91\x2E\x94\x18\x92\x7B\x8B\x79\x95\x08\x95\xB3\x96\x9B\x8F\xB5\x96\xF7\x8F\xB7\x96\x7D\x91\x81\x95\x38\x91\xDA\x92\xBC\x96\x13\x95\xB1\x8E\x3E\x95\xDC\x8E\x14\x0E\x05\x92\xA2\x86\x07\x92\xA5\x95\xA8\x81\xB5\x95\x8B\x91\xAD\x95\x4D\x6D\xF0\x7D\xF9\x89\xD9\x7A\x25\x95\x73\x8B\x86\x96\x2A\x95\x4B\x8B\x17\x92\x4F\x91\xD4\x96\x54\x95\x1D\x93\x56\x95\xAA\x92\xB8\x94\xDB\x88\xB9\x96\xBB\x94\xBB\x96\x9D\x90\xBD\x96\xBB\x88\xE3\x96\x45\x70\x30\x88\x3E\x80\xB5\x7E\x09\x7A\x08\x92\x73\x62\x30\x92\x32\x0B\x1A\x7C\xEF\x96\xC4\x8A\x2F\x7B\x72\x95\x29\x90\x39\x92\x9F\x91\x3B\x92\x5E\x93\xD3\x67\x7E\x93\x58\x7D\xD8\x93\xA9\x8B\x57\x94\xF6\x92\xD9\x96\x16\x90\xDB\x96\xAC\x91\xC5\x93\x02\x97\xB0\x91\x04\x97\xDF\x8F\xB4\x92\xEB\x6A\x50\x92\x07\x94\x06\x01\x11\x97\xB8\x8B\x87\x82\x2A\x94\xC3\x91\x2C\x94\xAE\x96\xEE\x8F\x92\x82\x05\x95\x78\x95\xFA\x96\x81\x93\xFC\x96\x1F\x93\x21\x97\xBA\x90\x23\x97\xFB\x91\xDD\x96\x5A\x91\x59\x8A\x1C\x96\x40\x94\x87\x95\x4F\x6A\x79\x88\x56\x59\x7B\x88\xCB\x96\x2E\x97\xAB\x96\xF2\x96\xD1\x93\x2D\x94\x97\x93\x10\x94\xDA\x90\x77\x95\x1B\x93\xD5\x96\x55\x95\xD7\x96\xF5\x8F\x3E\x97\x7B\x91\x40\x97\x67\x92\x42\x97\x7F\x91\x97\x96\x14\x91\x99\x96\x7F\x32\x9B\x96\x85\x79\x8D\x8E\xB5\x87\x30\x7E\x95\x92\x03\x5B\x97\x92\xBC\x8D\x99\x92\xCC\x94\xC1\x7F\x3F\x0A\x2F\x97\xA9\x8F\x31\x97\x71\x8B\x73\x8E\xF3\x96\xCF\x96\xF5\x96\x88\x96\xA0\x91\x8A\x96\xCD\x92\x8C\x96\xA4\x91\x8E\x96\xF8\x8D\x78\x94\xF7\x91\x86\x92\xF9\x91\x5D\x97\x87\x93\x95\x96\x8B\x92\x61\x97\x81\x91\x02\x94\x2A\x97\xBB\x70\x01\x8F\xB8\x92\xC0\x70\x2E\x93\xA3\x88\xBC\x92\x2D\x8F\x6A\x95\x67\x91\xBE\x8E\xCF\x90\x25\x6D\x72\x97\x87\x91\x74\x97\x3B\x93\x4C\x94\x16\x97\x4E\x94\x5B\x77\x03\x95\x39\x82\x97\x94\x5F\x92\xDC\x94\x93\x90\x3C\x97\x83\x93\xFE\x96\x2A\x89\x00\x97\xB1\x8B\x8A\x97\xD6\x91\x60\x95\x0B\x8B\x06\x97\x00\x88\x1E\x87\xEA\x70\xE6\x88\xE9\x96\x68\x8B\x91\x7F\xE4\x92\xB0\x66\x9B\x97\xE9\x93\x9D\x97\x4B\x94\x4C\x91\x35\x97\x4E\x90\xD1\x8F\xB9\x8F\xB2\x96\x7B\x95\x79\x91\x5B\x97\xAA\x91\x86\x97\xC4\x93\x37\x8A\x26\x97\x25\x92\x28\x97\x1E\x90\x8D\x97\xBF\x6B\x8F\x97\x3C\x61\xA3\x85\xC2\x95\xDA\x89\x65\x0A\xBD\x92\xC1\x95\xF6\x90\x0C\x93\xBB\x97\x64\x6A\xBD\x97\x19\x85\xBF\x97\xF1\x93\x9F\x97\x5B\x93\x17\x97\x5D\x93\x72\x94\xF1\x91\x74\x94\x59\x70\x1D\x97\x7E\x8E\x9B\x94\x47\x93\xC9\x97\xD0\x91\x5A\x95\x21\x92\xBA\x94\xAE\x97\xE6\x94\xA3\x8F\xD0\x97\x3E\x90\xEA\x94\x2E\x7E\xBA\x8B\xB4\x85\x53\x6C\xB6\x85\xD7\x97\x65\x8A\xD9\x97\x95\x97\xBE\x92\xDC\x97\xBD\x85\x9D\x3C\xFD\x89\x71\x97\x4E\x97\x14\x97\xC4\x91\xC2\x97\x4E\x91\xA7\x8D\xBE\x93\x5D\x8F\xC0\x93\xAB\x97\xCE\x89\xAD\x97\x00\x8E\xAF\x97\x8D\x92\x45\x97\x61\x95\xD2\x97\x3D\x75\x1A\x80\xC5\x85\x52\x8F\xEE\x96\x0A\x98\xC7\x92\xCF\x8A\x96\x93\x4F\x95\xD8\x94\x3D\x8F\xDA\x94\x97\x8F\xA7\x97\x61\x92\x82\x97\x63\x92\x7D\x95\xAC\x92\x7F\x95\xAE\x92\x5F\x97\xFD\x91\xDF\x96\x03\x97\xE1\x96\xBF\x94\x5D\x90\x6A\x8F\x49\x83\x67\x94\xE0\x97\x38\x86\xCE\x96\xB4\x8F\xF5\x93\x16\x92\xD2\x96\xF8\x96\xF1\x8F\x57\x97\xFB\x96\x59\x97\x14\x90\xF0\x97\x1F\x92\xF2\x97\x47\x92\x32\x98\x49\x92\x34\x98\x27\x97\x36\x98\xE9\x94\x47\x97\x03\x78\x90\x93\x4C\x97\x13\x1A\x21\x98\xE9\x92\x8A\x90\xB8\x93\xC7\x87\x0D\x94\x79\x97\xC7\x71\x26\x98\x7F\x92\x28\x98\x81\x92\x2A\x98\x83\x92\x2C\x98\x85\x92\xE0\x94\x36\x90\x4A\x93\x38\x90\x4D\x98\x69\x92\xCE\x97\x6B\x92\xF8", +"\x97\x9F\x90\xFA\x97\xFA\x72\xE8\x93\xE1\x97\xCF\x83\xE0\x71\xB0\x93\xA6\x7C\x09\x98\xCD\x96\xAC\x96\x71\x8F\x0D\x98\xF7\x96\x0F\x98\x19\x92\xBF\x93\xE0\x90\x58\x95\xDA\x96\x30\x98\xD7\x92\x6C\x98\xB0\x92\xF6\x97\xC4\x8F\x70\x98\xE7\x67\xC4\x5A\xE2\x85\xA8\x80\xBD\x91\xFB\x7D\x44\x94\xAE\x81\x4F\x97\x5B\x98\x0D\x90\x5D\x98\xA2\x97\x50\x95\x04\x95\x55\x97\xDB\x94\x80\x93\x9A\x94\x66\x98\x9C\x94\x84\x97\x9E\x94\x6A\x98\x10\x91\x88\x97\x25\x93\x17\x98\xFE\x92\x63\x97\x00\x93\x72\x98\xE8\x85\x74\x98\x38\x86\xCC\x80\xE6\x8F\x08\x98\x83\x96\x7B\x98\x95\x98\x78\x93\xF3\x93\x27\x8A\x40\x98\x18\x93\xA4\x97\x2E\x95\xCA\x91\x82\x98\x0C\x91\x84\x98\x22\x97\x86\x98\xA3\x93\x88\x98\xD9\x92\x44\x97\xB1\x97\x29\x93\xAC\x98\x08\x86\x1D\x8A\x06\x94\xB2\x98\xCC\x96\x93\x98\xBB\x8D\x22\x98\x20\x8B\xD2\x93\x78\x8E\xA3\x97\x67\x82\xBC\x98\xD7\x93\x76\x94\xD9\x93\xEE\x97\xDB\x93\x2E\x98\xDD\x93\xC2\x98\xDF\x93\xF4\x97\x16\x98\x8A\x98\xDD\x8F\x8C\x98\x27\x92\x20\x94\x6D\x6D\x3E\x8A\x39\x7C\x6D\x8E\x3C\x98\x3D\x81\x3E\x98\x01\x91\xD0\x96\x7C\x92\x25\x98\x98\x93\xA4\x92\x38\x97\x56\x97\x3A\x97\x9F\x98\xA9\x97\x79\x94\x49\x98\xD5\x92\xDF\x98\x5C\x94\x15\x98\x63\x8F\xE3\x98\x1C\x90\xE5\x98\x6D\x92\xC9\x98\xA1\x90\xAE\x98\x20\x82\x46\x94\x4E\x60\x10\x97\x58\x98\xCF\x93\x76\x97\x50\x97\x7E\x98\x42\x98\x80\x98\xF9\x96\xBE\x98\x33\x95\xC0\x98\x3F\x97\xFD\x98\xB8\x96\xE1\x98\x00\x99\x6E\x98\x4F\x93\x03\x99\x51\x93\xE0\x85\x11\x0E\x74\x96\xE2\x6D\x37\x93\xDC\x5F\xEC\x98\x03\x96\xD1\x80\x75\x97\xB2\x8F\x77\x97\x3F\x98\xF0\x98\xA5\x8D\x0E\x98\xBD\x93\x81\x98\x11\x98\x83\x98\x13\x98\x79\x8A\xFF\x98\xA1\x8F\x01\x99\xB2\x92\xE1\x8A\x05\x99\x2F\x88\x6D\x8D\x15\x0E\x88\x94\x01\x01\x8A\x94\xA9\x96\x4D\x97\xB4\x98\x0B\x98\x34\x97\xA0\x97\xB3\x94\x4F\x90\xB5\x94\xF9\x93\xB7\x94\xD9\x88\xFC\x93\x23\x93\xA6\x98\x4D\x93\x1C\x99\xC7\x93\x51\x98\x3D\x95\x3B\x99\x85\x91\x89\x95\x00\x86\x2E\x8E\x12\x96\xDD\x7D\xDE\x97\x81\x6C\x26\x99\xC9\x94\x94\x98\x45\x99\xD2\x94\x4E\x95\xD4\x98\x9A\x98\xBB\x98\x52\x95\xBD\x98\x32\x99\xBF\x98\x34\x99\x2E\x8B\x36\x99\xC2\x8F\x38\x99\x8B\x93\xC7\x98\x6E\x93\x56\x99\xCC\x78\xED\x90\x18\x85\x63\x8B\xCA\x90\x4D\x69\x0C\x97\x34\x93\x24\x59\x2F\x86\x48\x95\x43\x99\xCF\x98\x28\x99\x9E\x97\xC1\x97\x47\x99\x75\x95\x37\x97\x9C\x98\x29\x98\x9E\x98\xDD\x94\xC7\x97\xCE\x91\xFB\x98\xF8\x92\xB9\x94\x25\x97\x4F\x98\xCF\x97\x54\x99\xA5\x8F\x1B\x98\x3F\x96\x76\x99\x10\x8B\xC7\x5A\xF1\x94\x8E\x6E\x7B\x99\xCA\x94\xF6\x94\x5D\x99\x20\x98\x44\x99\xD1\x98\xC6\x8E\x24\x98\x65\x99\x60\x98\x52\x94\x62\x98\x54\x94\x64\x98\x56\x94\xDB\x98\x58\x94\xDD\x98\x5A\x94\x18\x99\xDC\x96\x50\x99\x89\x93\x70\x99\x1E\x94\x3A\x99\x53\x98\xE6\x7C\x17\x95\x3E\x7D\x27\x99\x4E\x82\x0C\x0E\x1C\x95\x02\x96\x60\x99\xF1\x7C\x21\x91\xA0\x99\x7A\x98\x81\x99\xC6\x96\x29\x99\xFF\x90\x2B\x99\xEF\x98\x5E\x98\xF1\x98\xA6\x99\xF3\x98\xD9\x94\xF5\x98\x9D\x98\x45\x98\x3B\x97\x47\x98\xB8\x90\x8E\x99\x21\x93\x4E\x99\x4B\x93\xB3\x99\x3C\x94\xA8\x98\x27\x93\x19\x98\xB2\x97\x74\x99\xFB\x78\x64\x95\x1A\x91\xF0\x90\x34\x8D\x43\x91\x66\x8B\x9D\x99\x3F\x8B\x46\x95\xC4\x99\xB3\x98\xC6\x99\xA5\x96\x0D\x99\x2A\x99\x0F\x99\x85\x99\xAF\x96\x87\x99\xB1\x96\x3D\x82\xD5\x99\x65\x93\xD7\x99\x49\x93\xD9\x99\x6B\x98\xDB\x99\xA2\x94\x92\x99\x6F\x98\x94\x99\x05\x97\xE1\x99\x26\x79\xE3\x99\xBE\x95\x23\x6F\x6F\x35\xEE\x95\xC2\x99\xE6\x73\x6D\x95\xC2\x7F\x1B\x5D\x5F\x99\xD2\x95\xAC\x80\xB5\x98\x6E\x94\xB7\x98\x3E\x93\x5B\x92\x19\x97\x54\x68\x7E\x97\xCF\x92\x80\x97\xA6\x91\x1F\x97\x31\x8A\x68\x98\x87\x92\xFC\x99\xA5\x98\x6E\x99\x1A\x90\xB5\x99\x60\x94\xDF\x99\xC8\x98\xB8\x99\x42\x94\xB9\x74\xEE\x99\x7A\x86\xBA\x99\x18\x85\x8D\x95\x8F\x8B\x9F\x09\x90\x95\x92\x91\x92\x95\xA3\x59\x48\x8D\x02\x01\x90\x00\xA3\x5C\x0E\x64\x41\x64\x98\x00\x2E\x96\x00\x00\xF0\x00\x73\x4B\xA1\x77\x41\x9A\x8A\x5C\xAC\x02\x0E\x8B\x86\x09\xAA\x5A\x33\x5A\x14\x3B\x41\x64\x9B\x00\x3F\x9A\xCD\x31\x76\x7A\xE5\x72\x4F\x9A\xB1\x5E\x46\x9A\xD4\x95\xA4\x86\x77\x5A\x14\x08\x3B\x0E\x99\x00\x3F\x9A\x37\x00\x42\x9A\x12\x77\x5C\x9A\x45\x9A\x0C\x04\x47\x9A\x56\x9A\xCE\x4D\xF1\x0B\x41\x64\x55\x41\x19\x96\x63\x90\x5D\x9A\x3A\x77\x36\x00\x4C\x5C\x54\x9A\xC7\x5A\x40", +"\x0D\x10\x30\x49\x9A\xB2\x37\x0C\x5A\x1A\x34\x41\x64\x2A\x42\x58\x64\x03\x01\x33\x00\x6A\x9A\xE5\x72\x7A\x9A\x60\x9A\x3D\x01\x62\x9A\x21\x87\x55\x52\x41\x64\xD1\x4F\x68\x9A\xF7\x63\x7B\x9A\x3C\x73\x32\x00\x6D\x9A\x0C\x04\x7C\x8C\x25\x0B\x53\x1A\x47\x7F\x51\x08\x3B\x0E\x38\x87\xD5\x8B\x09\x01\xEF\x00\xFC\x63\xB3\x08\x95\x9A\x7E\x9A\x2E\x9A\x0A\x73\x44\x30\x2E\x83\x14\x8C\x0D\x0D\xD6\x09\x1C\x85\x0F\x87\x41\x64\x94\x00\x3F\x9A\xD4\x00\x31\x96\xB3\x08\xA6\x9A\x99\x9A\x80\x9A\x18\x85\x6D\x63\x3B\x0E\x9A\x00\x3F\x9A\xC8\x00\xA7\x9A\xE5\x5B\x62\x87\xAC\x02\x8C\x9A\x56\x09\xE2\x36\x28\x94\x86\x1D\x47\x42\x41\x64\x96\x00\x3F\x9A\xC2\x00\xB2\x9A\x09\x01\xBF\x9A\xAA\x9A\x44\x81\x73\x0C\x02\x57\x18\x85\x08\x5A\xF6\x40\x21\x04\x41\x64\x91\x00\x3F\x9A\xBE\x00\xC0\x9A\xC8\x3A\xB4\x9A\x8B\x9A\x93\x64\x54\x51\xC1\x19\x43\x83\x3B\x0E\x92\x00\x3F\x9A\xC8\x3E\xF5\x60\xB3\x08\xDA\x9A\x36\x5E\x6E\x9A\x34\x8E\xD6\x8C\xAE\x23\x9D\x9A\x4B\x96\x87\x0C\x8D\x24\x2E\x83\x52\x60\x87\x0A\xFE\x34\x92\x09\x40\x0D\x67\x57\xC8\x84\xD7\x9A\x3F\x9A\x81\x53\x04\x8C\xE1\x89\xF1\x9A\x53\x9A\x61\x9A\xEB\x8D\x03\x5B\xE2\x9A\x20\x84\xC9\x5A\x85\x0D\xE6\x9A\x20\x84\xE8\x9A\x11\x08\x5B\x34\x7A\x2E\xEB\x9A\xCE\x09\xAD\x3D\x51\x83\xDE\x86\x3B\x0E\x84\x9A\x1A\x8C\x96\x31\xCF\x9A\x0B\x9B\x99\x9A\xB6\x9A\x1C\x20\xD5\x9A\x6E\x80\x90\x9A\x27\x01\x81\x00\x3F\x9A\xAF\x00\x0C\x9B\x02\x01\x17\x9B\xC3\x9A\x70\x87\x87\x83\x48\x9A\xD8\x97\x15\x16\x0E\x2D\x41\x64\x55\x8C\xCE\x8C\x02\x01\xAE\x00\x18\x9B\x01\x01\x26\x9B\x1B\x9B\x9D\x92\x33\x3E\x96\x22\xB1\x8C\x9C\x8C\xD1\x09\xCB\x9A\x3F\x9A\x9C\x00\x27\x9B\x00\x00\x33\x9B\x0E\x9B\xD3\x9A\x63\x51\x11\x9B\x7A\x84\x31\x01\xA8\x8C\x3F\x9A\xFD\x95\x9F\x96\x12\x77\x3F\x9B\xAA\x61\xDF\x9A\x51\x86\x6C\x0D\x1E\x9B\xBC\x99\xA5\x05\x3D\x9B\xE0\x83\x84\x5A\x40\x9B\x3A\x77\x4C\x9B\x43\x9B\xF6\x9A\x1C\x9B\xF9\x05\x21\x87\xA1\x5F\x4A\x9B\x46\x96\xDD\x95\x34\x9B\xDE\x95\x2A\x9B\x45\x9B\x3C\x61\x47\x9B\xC1\x99\x47\x5E\x3B\x0E\x7F\x00\x3F\x9A\x8B\x61\x1B\x96\x95\x8D\xAE\x67\x44\x9B\x3D\x87\x5B\x0D\xA4\x86\x8A\x55\x53\x02\x41\x64\xDE\x57\x78\x9A\xF7\x0A\x96\x9A\x27\x01\xC2\x83\xDE\x9A\x51\x9B\x1E\x86\x46\x9B\x63\x9A\x00\x98\x07\x98\x16\x67\x46\x0D\xD7\x04\xCE\x24\xB8\x97\xB3\x74\x3B\x0E\x8F\x00\x3F\x9A\xF5\x8C\x29\x85\xE5\x72\x85\x9B\x66\x5F\xAC\x02\x1E\x96\x17\x85\x41\x64\x32\x31\x57\x9B\xF2\x84\x34\x9B\xF3\x84\x2C\x60\x68\x9B\xBE\x88\xBB\x99\x8C\x9B\x3B\x0E\x8D\x00\x3F\x9A\xA5\x83\x1B\x96\x66\x87\x6C\x62\x94\x9B\x08\x0E\x89\x74\x74\x0C\xD6\x9A\x27\x01\x33\x96\x8F\x9B\x02\x01\x2E\x77\xBE\x06\xB3\x08\x3B\x87\x3B\x9B\xAB\x9A\x4E\x96\x9A\x99\x5E\x0D\x44\x25\xC1\x6E\xAF\x79\x55\x74\xCE\x09\x94\x86\x2E\x87\xF9\x2B\x78\x5B\x3B\x0E\x52\x4A\x2F\x8D\xBB\x71\xBD\x5B\x3C\x73\x89\x8F\x44\x6A\x9F\x9B\x5C\x84\x6A\x9B\x21\x87\x45\x84\x41\x64\x83\x00\x3F\x9A\xC5\x05\x1B\x96\xF9\x82\x08\x68\xC2\x9B\xBD\x5D\x53\x9B\x77\x99\x69\x61\x3B\x0E\xA8\x13\xA6\x9B\x3A\x98\xBE\x9B\x1E\x89\xCC\x9B\x53\x68\xCE\x9B\xEC\x60\xD0\x9B\xAF\x98\x67\x0E\x3E\x0E\x87\x00\x72\x96\x7A\x0A\xD2\x00\x8A\x9A\x7F\x9A\xE4\x9A\x8E\x40\x8A\x74\x45\x87\x3E\x0E\xA7\x3C\xA9\x74\x9E\x74\x01\x01\xE4\x9B\x5B\x9B\x10\x0E\xA1\x9B\x74\x64\xEE\x84\xB4\x74\x09\x01\x89\x00\xE2\x9B\x27\x01\xF0\x9B\x62\x5D\xDB\x9B\x77\x74\xA2\x5C\x77\x0B\xF4\x9B\xBC\x86\xC1\x04\x3E\x0E\x8A\x00\xF9\x9B\x09\x01\xFB\x9B\x75\x9B\xE6\x9B\x88\x87\x87\x0C\xE9\x9B\x3B\x9B\xF6\x9B\x06\x01\x8B\x00\x06\x9C\x06\x01\x08\x9C\xF5\x9A\x0A\x9C\xFC\x97\x96\x9B\xF5\x9B\x3E\x0E\x8C\x00\x12\x9C\x03\x01\x14\x9C\x89\x9B\x76\x9B\x27\x75\x70\x74\x17\x85\x7E\x96\x06\x84\x57\x88\x03\x01\x36\x9B\x24\x9C\xC8\x8B\xE4\x91\x9A\x86\x72\x96\x3F\x0A\x9D\x9B\x67\x9B\xA4\x86\xAD\x94\xA5\x4B\x09\x8E\x56\x83\x3B\x9B\xEA\x8B\x24\x59\x24\x84\xFA\x8C\x64\x6A\x2F\x9C\xCD\x9B\xB7\x83\x2C\x84\xF0\x86\x6D\x87\x3B\x9C\xD1\x9A\x0B\x0D\x76\x99\x36\x84\x05\x02\x51\x87\xEB\x84\xDC\x82\x45\x87\xDF\x82\x40\x9C\x1F\x83\x1B\x5D\x3C\x9C\xDA\x9B\x0C\x04\x18\x87\x2D\x87\xA7\x49\xC7\x86\x48\x9C\xC5\x84\x32\x87\xEE\x86\x11\x0E\x54\x84\x48\x87\x41\x9C\x81\x6C\x50\x9C\xDA\x68\x53\x0C\x52\x9B\xB7\x09\xD8\x86\x1A\x34\x57\x9C\xBC\x54\x44\x87\x0E\x9C\x07\x83\x4D\x9C\x21\x85\xDC\x5F\x60\x9C\xDC", +"\x69\x62\x9C\x77\x9B\xBF\x84\xE8\x86\x67\x9C\x8C\x7F\x69\x9C\x8C\x9B\xC4\x5A\x7D\x84\x6E\x83\x14\x87\x65\x87\x43\x9C\xB7\x92\x5C\x9B\x2C\x87\xF7\x86\x9C\x88\x88\x35\x21\x87\x79\x83\x0C\x87\x4A\x9C\x6A\x9C\xFF\x86\x6C\x9C\x9D\x8D\xE9\x65\x6F\x9C\xC1\x9B\x52\x9C\x76\x99\x9A\x84\x48\x01\x75\x9C\xEE\x82\xCD\x86\x5A\x9C\x15\x0E\xFD\x8B\x92\x9A\x70\x8E\x4F\x9C\x7E\x9C\x53\x9C\xAC\x84\x27\x35\xB9\x87\xC1\x2E\xEB\x86\x77\x9C\xF5\x9B\xC4\x5A\x25\x87\x7B\x9C\xD2\x90\x2E\x9C\x9D\x9C\x76\x99\xC1\x84\x73\x03\x94\x9C\x8C\x84\xDC\x86\x97\x9C\x24\x59\x37\x87\x02\x87\x56\x13\xAB\x9C\x63\x9C\xBA\x0B\xD4\x84\x46\x01\xAF\x9C\xFB\x86\x59\x9C\x4B\x9C\x0D\x0E\x47\x87\xA8\x9C\x49\x87\x5F\x9C\xB7\x9C\x72\x9C\x81\x9C\x4F\x87\x6C\x00\xBC\x9C\xEC\x86\x53\x87\xB2\x9C\x56\x59\x58\x87\x3C\x10\x86\x87\xAA\x9C\x99\x9A\x49\x97\x5D\x0F\x8F\x98\x0E\x03\xD1\x9C\x7D\x9C\xD3\x9C\x88\x80\x04\x85\x68\x55\xD8\x9C\xB6\x9C\xDA\x9C\x14\x63\x1C\x86\x6C\x87\x4E\x9C\x6E\x9C\x7E\x9C\x77\x96\xE3\x9A\x12\x97\x75\x4E\x76\x87\x21\x87\xE9\x84\xC3\x74\xA9\x95\x2C\x9C\xEA\x95\x3F\x0A\x92\x9B\x50\x9B\x85\x9C\xC8\x70\xAC\x04\x41\x75\xA1\x9A\x34\x87\xA4\x86\xA7\x86\xDE\x9C\x94\x83\x7E\x9C\xCB\x82\x8B\x9C\xF7\x9A\xB0\x66\xF3\x9C\x9E\x9B\x90\x9C\xB8\x9C\xB4\x86\x46\x9C\xD7\x82\x78\x87\x76\x84\x31\x87\x96\x9C\xBF\x9C\x3F\x84\x01\x9D\x13\x8E\xDC\x5F\x04\x9D\x30\x9C\x44\x9C\x07\x9D\x4E\x83\xC6\x86\x4A\x84\x83\x9C\x6D\x21\xA3\x9C\xCC\x9C\x0F\x9D\x53\x84\x11\x9D\xE0\x9A\xE9\x65\x14\x9D\x3D\x9C\x16\x9D\xC6\x9C\x71\x87\x65\x9C\x89\x06\xCA\x9C\xA4\x9C\x02\x9C\xDC\x84\x5D\x0F\xE0\x86\xC2\x9C\x5E\x9C\x4D\x6D\x24\x9D\x51\x9C\x26\x9D\x80\x9C\x71\x87\x74\x9C\x0B\x9D\x86\x9C\x0D\x9D\xB1\x9C\x1F\x9D\x24\x59\x7A\x9C\x01\x87\x7C\x9C\x52\x15\xC5\x9C\x37\x9D\x15\x85\x89\x83\x61\x0B\x28\x83\x3A\x9D\x8D\x83\x58\x9C\x0E\x9D\x89\x9C\x11\x0E\x00\x87\x9A\x9C\x99\x8E\x1B\x5D\x34\x9D\x61\x9C\x06\x9D\x27\x9D\x46\x9D\xA1\x9C\x2E\x09\x09\x87\x0F\x87\x1D\x9D\xBE\x9C\x4E\x9D\x98\x9C\x21\x9D\x4D\x8E\x53\x9D\x44\x9D\x69\x9B\x10\x83\x9F\x9C\x06\x9B\x5C\x9D\xE4\x88\x2C\x9D\xDB\x84\x10\x87\x5D\x0F\xA7\x9C\x41\x9D\xA9\x9C\x27\x01\x54\x9D\x70\x9C\x56\x9D\x45\x9D\xC9\x06\xAD\x9C\xCA\x02\x2B\x9D\x1E\x9D\x5F\x9D\xB3\x9C\x61\x9D\x9B\x9C\x13\x9D\x64\x9D\x0C\x0E\xD4\x82\xED\x08\x40\x87\x69\x9D\x01\x83\x68\x9C\x7B\x9D\x78\x9C\xC0\x9C\x7E\x9D\x52\x9D\x80\x9D\x99\x9A\x53\x9C\x2E\x07\x8B\x83\x4A\x9D\x39\x84\x4C\x9D\x3D\x9D\x7C\x9D\xCE\x9C\x72\x9D\xFD\x9C\x90\x9B\xE0\x9C\xA8\x95\x5E\x87\x09\x01\xFD\x84\x09\x84\x03\x9D\xFF\x9C\xDB\x9C\xD9\x9C\xA9\x86\x23\x9D\xA3\x9D\xE1\x9C\x0E\x85\x09\x01\x51\x9D\xE7\x8E\x63\x9D\xF1\x9B\x82\x9D\xD6\x7D\xFA\x9A\xF0\x96\x0E\x0C\xE9\x8A\xF9\x9C\x55\x87\x31\x9C\x29\x9C\xAB\x94\xE3\x9C\x3F\x8C\xD4\x7D\x57\x9D\x24\x86\xB2\x9D\xFA\x8B\xC9\x96\xD9\x20\x2D\x9C\x27\x01\x88\x9B\x93\x9B\xB8\x9D\xC1\x7F\xF7\x9C\x06\x92\xF7\x19\xB6\x9D\x73\x87\xFB\x9C\x26\x9C\x84\x0A\x9A\x9D\xD1\x9D\xDA\x9C\x3F\x9C\xAB\x9D\xB5\x9C\x06\x01\xC6\x9D\xF4\x9C\x7F\x9C\x65\x9D\xBF\x84\x09\x9D\x7A\x9D\x5E\x9D\x8A\x9D\x10\x9D\xD6\x9D\x42\x9D\xD8\x9D\x81\x9D\x08\x0E\x50\x09\x49\x84\x38\x24\xDF\x9D\x4D\x9D\xE1\x9D\x20\x9D\xE3\x9D\x71\x9D\x09\x01\xD9\x9D\x05\x9D\x36\x9D\xDC\x9D\x2C\x87\x29\x9D\xB1\x01\xEB\x9D\x96\x9D\xED\x9D\x24\x59\x30\x9D\x70\x9D\xC3\x9C\x4D\x6D\xF2\x9D\x15\x9D\xDB\x9D\xB0\x9D\xE6\x7D\x39\x9D\x86\x9D\xDD\x8E\x52\x87\xE0\x9D\xA5\x9C\xEF\x86\xEF\x9D\xFF\x9D\x3F\x0A\x01\x9E\x25\x9D\x03\x9E\xE7\x9D\x3E\x87\x6C\x0D\x49\x9D\x07\x9E\xB5\x97\x49\x9C\x42\x83\x3E\x9D\x56\x59\x50\x9D\xD7\x9D\x03\x01\x10\x9E\x35\x9D\x12\x9E\xC3\x9B\x10\x83\x92\x9C\x1B\x9D\x74\x87\x4B\x9D\x88\x9D\x0A\x9E\x2D\x9D\x6D\x9D\x3C\x0E\x99\x9C\x1E\x9E\xD3\x9D\xFC\x9B\x75\x9D\xF5\x9D\x71\x87\x67\x9D\x1C\x87\x17\x9E\x42\x87\x19\x9E\x35\x9C\xFB\x9D\x24\x87\x8C\x9D\xAD\x9D\xDC\x5F\x20\x9E\x55\x9D\xF4\x9D\x04\x9E\x66\x9D\xB7\x9B\xC2\x84\x93\x9D\x61\x84\x95\x9D\x0D\x87\xCD\x9C\x5D\x0F\xB4\x9C\xE4\x9D\x1F\x9E\xE6\x9D\x23\x9E\xDD\x9D\x84\x9D\xD5\x84\x47\x9E\x9D\x84\x49\x9E\x88\x9C\x3B\x9E\x5D\x0F\xC1\x9C\xFE\x9D\x32\x9D\x0F\x9E\x50\x9E\xCF\x9B\xD3\x84\xC8\x9C\xF9\x9D\x4A\x9E\x1B\x9E\x57\x87\x99\x9D\x3A\x9C\x81\x6C\x40\x9E\x74\x9D\xF5\x9C\x37\x9C\x56\x59\xD6\x9C\xA0", +"\x9D\xCC\x8B\x3F\x9E\xA8\x9D\x64\x87\xDF\x9C\xA6\x9D\xB0\x66\x6A\x9E\x8F\x9C\x6C\x9E\xEF\x8B\xAA\x9D\xBB\x9D\x8C\x9C\x77\x9E\xE6\x9C\x98\x99\xC0\x9D\x30\x97\x8E\x31\xEB\x9C\x72\x87\xC3\x59\x27\x9E\x70\x92\xBA\x79\x14\x84\xBF\x85\x64\x6A\x74\x9B\xAD\x93\xDB\x85\xAB\x78\x2D\x09\x34\x9C\x3C\x84\x23\x9C\x11\x96\xA5\x5C\xC5\x9D\xD2\x9D\x03\x0B\x98\x83\xAD\x86\x3D\x9E\x55\x8F\xE9\x65\x8E\x9E\x8A\x95\x81\x7A\x90\x9D\xED\x08\xB7\x86\x55\x9E\xC4\x84\x29\x9E\xEC\x9D\x0B\x9E\xE2\x9D\x7D\x9E\x02\x9D\x8D\x9E\x5E\x83\x9E\x9C\x19\x9D\xEA\x9D\xA6\x9E\xD7\x84\x57\x9E\x1A\x9E\x97\x9D\x5D\x0F\x5C\x9C\x31\x9D\xE4\x9C\x9F\x9E\xAF\x9E\x76\x99\xF7\x9D\x21\x04\x63\x9E\x58\x9E\xAA\x9E\x67\x84\x9D\x9E\xFC\x63\x3F\x0A\xA0\x9E\x59\x99\x72\x74\x53\x9C\x06\x9E\xFA\x9C\x7A\x9E\x56\x9E\xA8\x9E\xFA\x9D\xC3\x9E\x3F\x9D\xC5\x9E\x06\x90\x81\x6C\xC8\x9E\xB8\x89\x4C\x7D\xA3\x9E\x48\x9D\x89\x84\x37\x9E\xCB\x86\x3C\x9D\x64\x9E\xB7\x9E\x3C\x0E\x1D\x9E\x4E\x9E\x71\x9B\x79\x86\x53\x9C\x25\x9E\xC1\x9E\xB6\x9E\x59\x9E\x2D\x9E\xD4\x9E\x25\x90\xC7\x9E\xBD\x9E\x17\x9D\xD0\x05\x35\x9E\x59\x9D\x1C\x9D\x6A\x9D\x89\x9D\xD2\x9E\x3C\x9E\x0D\x9E\x5D\x9E\x73\x9B\xF0\x9E\xBE\x9D\x48\x84\x45\x9E\xAE\x9C\xB3\x9E\xEA\x84\xB5\x9E\x3A\x9E\xF8\x9E\x4C\x9E\xED\x9E\x48\x90\xAE\x9E\xE6\x9E\x45\x9C\x53\x9E\xBB\x9C\x02\x9F\xB9\x86\xE0\x9E\xEB\x9E\xFF\x00\x5B\x9E\xAC\x9D\x9E\x9E\xB0\x66\xD7\x9E\xB3\x9D\xFF\x19\xDA\x9E\x6C\x0D\x92\x9D\xDD\x9E\x0C\x9D\x09\x9E\xA9\x9E\x2B\x9E\xB7\x5D\xCF\x9C\xF2\x0F\x99\x9E\x0E\x0B\x9B\x9E\x89\x9E\x24\x59\x6F\x9E\x26\x9F\x18\x9F\xE9\x9C\x01\x86\x03\x85\xA5\x9D\xFE\x84\x0A\x9F\x2D\x9A\x12\x63\x6F\x96\xBA\x9E\x6D\x9C\xBC\x9E\x79\x86\xE7\x9C\x82\x9E\x73\x97\x84\x9E\xB5\x9D\x77\x87\x1E\x9F\x88\x80\x81\x96\xED\x96\x3F\x0A\xC8\x83\x2D\x9A\xEE\x98\x7A\x92\x2D\x99\xB6\x8F\x2F\x99\xB4\x94\x3C\x8E\xB6\x94\x3E\x8E\x4D\x99\x90\x99\xCD\x97\x00\x9A\x1D\x99\x02\x9A\x67\x5B\x65\x97\xB4\x87\xDE\x87\x5D\x7E\x91\x6A\xA4\x96\xF4\x9E\xBA\x5E\xBD\x8D\x6C\x8E\x56\x98\xD7\x03\x0C\x99\x32\x97\x12\x92\xCA\x99\x49\x9F\xCC\x99\x2E\x99\x7F\x98\x30\x99\x13\x99\x6A\x99\x15\x99\x6C\x99\xFE\x8D\x24\x9A\xFC\x92\xDD\x99\x3E\x94\x5E\x5D\x58\x9F\xDF\x8D\xB8\x8D\x5B\x9F\xB4\x79\xB8\x6F\xC6\x96\x06\x8E\x6C\x85\xEF\x9C\xFA\x41\x3A\x7C\x46\x9F\x5F\x8A\x60\x81\x62\x99\x4D\x95\xA5\x99\x89\x96\xD5\x98\x7A\x8E\xD7\x98\x98\x94\x8A\x99\xA8\x97\xF8\x99\x36\x94\xFA\x99\x67\x93\xFF\x96\x1A\x99\x37\x99\x52\x99\xBD\x94\x56\x9F\xD1\x97\xE7\x98\x48\x97\x07\x8E\x0E\x7A\x93\x9E\x0A\x9A\x8A\x6E\x5B\x99\xFF\x00\x0F\x8E\x8B\x94\x64\x6A\x83\x9F\x8F\x9E\x6B\x7F\x86\x9F\x67\x9F\x27\x95\x59\x77\x29\x95\x99\x98\xA7\x99\x51\x95\xA9\x99\x53\x95\x14\x99\x7C\x95\x16\x99\x5C\x97\xB1\x99\x24\x97\x53\x9F\xC6\x98\x8C\x97\x9B\x9F\x58\x89\x08\x97\x21\x83\x0A\x97\x33\x88\x80\x9B\x0D\x97\x36\x88\xF3\x80\x73\x93\xC7\x83\x64\x9F\xC8\x99\xEA\x92\xB6\x98\x00\x95\xAE\x9F\x3A\x8E\x4D\x9F\x5C\x8F\x4F\x9F\x5E\x8F\x51\x9F\x94\x9F\x91\x99\xBB\x9F\x1F\x94\x52\x93\x2C\x97\xCD\x98\x06\x01\xA7\x9F\xA1\x9E\xF1\x96\xAA\x9F\xF2\x99\xE5\x97\xA1\x97\xCF\x9F\x49\x99\x4E\x9F\x4B\x99\x50\x9F\x28\x89\x22\x9A\x3A\x94\xFE\x99\xE5\x94\x97\x9F\xE7\x94\x99\x9F\xF9\x97\x2A\x9A\x4A\x7B\x94\x95\x4A\x97\x72\x92\x73\x85\xDC\x5F\xDD\x9F\xC9\x9E\xF5\x80\xE0\x9F\x96\x98\xE4\x89\x98\x98\xE4\x9F\xC4\x97\xF8\x93\xC6\x97\xFA\x93\xD4\x9F\xAC\x97\x95\x9F\x6F\x99\xEE\x9F\xF7\x97\xF0\x9F\x82\x6C\x77\x9F\xFB\x97\x5A\x9F\xDE\x75\x7A\x85\x6D\x97\x9E\x88\xEE\x8A\x6A\x86\x45\x9F\xC9\x9F\x83\x99\xB1\x94\xF3\x99\x36\x97\x0A\x8A\x88\x99\x63\x98\x8E\x9F\x2B\x98\xF9\x98\x83\x97\x20\x9A\x85\x97\xB8\x9F\x41\x97\xEC\x9F\x39\x95\x74\x9F\x3B\x95\x0B\xA0\x7F\x8A\x04\x9A\x2B\x93\xD4\x97\x16\x5C\xB7\x8E\xAA\x8F\x07\x93\x30\x93\xDA\x97\x9C\x96\x65\x95\x7C\x99\x56\x59\xC1\x92\x44\x9F\x27\x01\xF9\x9F\xD8\x9E\x9E\x7D\x7C\x98\xCE\x8F\x10\x99\x52\x97\x2C\x95\x9B\x98\xF6\x99\xE9\x89\x90\x9F\x0A\x95\xA2\x98\x0C\x95\xCB\x97\x1B\x94\xC4\x98\xA5\x93\x54\x9F\x53\x99\x28\x9A\x73\x99\xF2\x9F\x46\x6D\xDF\x92\x96\x85\x04\x98\xEA\x93\x99\x85\xEC\x99\xC8\x9F\xA2\x99\x59\x98\xC8\x92\x6F\x94\x5C\x93\x71\x94\x7C\x97\x41\x93\x1A\x9A\x43\x93\xD0\x92\xC2\x6C\x90\x96\x79\x79\xF1\x97\x4C\xA0\x7D\x94\x72\x9F\xFF\x93\x26", +"\x9A\x81\x94\x52\xA0\xA9\x93\x2D\xA0\xDB\x71\x03\x93\x0B\x89\x05\x93\xCF\x83\x3B\x88\x0F\x89\xA7\x7A\x44\x95\x46\x91\x24\x59\x0D\x93\x13\x81\x5C\xA0\x47\x9F\x40\xA0\x27\x91\x92\x94\xCE\x9F\x55\x8E\xCF\x99\x27\x98\xD1\x99\x89\x99\xD3\x99\xF8\x98\x48\xA0\x57\x95\x70\x9F\x61\x8F\x6E\xA0\x5E\x94\x70\xA0\x5F\x95\xBC\x9F\xF4\x7A\x2F\x9A\x2D\x93\x7A\x9B\x2F\x93\x2C\x8F\x7C\xA0\x66\x91\x12\x89\x30\x8F\x7B\x9B\x1F\x98\x16\xA0\x5D\xA0\xF0\x99\xC9\x99\xE1\x9F\x60\xA0\xE6\x97\x62\xA0\x8A\x9F\x7D\x93\xA5\x97\xF2\x92\x55\x94\x63\x93\x8F\xA0\xFD\x96\x05\xA0\x14\x98\x07\xA0\x25\x9A\x09\xA0\x8B\x98\x2B\xA0\xE6\x98\xD9\x9F\x50\x8F\x1E\x98\x24\x99\xE9\x65\x3D\xA0\x19\x9F\x87\x81\xA3\x99\xA0\x92\x51\x97\xF2\x98\x53\x97\x2C\x91\x1D\xA0\xAA\x99\x1F\xA0\x65\x98\x21\xA0\x2D\x98\xB6\x9F\xCA\x97\x25\xA0\x5E\x97\x27\xA0\x82\x95\x29\xA0\x84\x95\x1E\x99\x86\x95\x96\x99\xDB\x7E\x71\x93\xCC\x85\xA3\xA0\x3C\xA0\x17\xA0\xC0\x97\x19\xA0\xE2\x9F\x48\x99\x01\xA0\x4A\x99\x03\xA0\x4C\x99\xE9\x9F\x52\x9F\x9B\x90\xB8\xA0\xE4\x98\xBA\xA0\x04\x99\x54\xA0\xB8\x6D\x87\x8F\x8D\x7B\x82\x9F\xE0\xA0\xE3\x97\x84\x99\xE3\xA0\x86\x99\x1C\xA0\x46\xA0\x17\x8F\xB2\xA0\x3D\x97\xAF\x99\xB6\x96\xD2\xA0\x87\x97\x93\xA0\x7F\x94\x95\xA0\x98\x96\xD8\xA0\xEA\x90\xDA\xA0\xB6\x8B\x58\x99\x3E\xA0\xAE\x93\x77\x98\xC2\x67\x09\x79\xA4\xA0\x83\xA0\x13\x9A\xFF\x94\xEC\x92\x01\x95\xB8\x78\x89\xA0\x61\x98\x8B\xA0\x1E\xA0\x8D\xA0\x8B\x99\x04\xA0\xE9\xA0\xD5\x9F\xBA\x9F\x65\x8E\x72\x99\xA8\x6C\xCA\x93\x6D\x8E\xC1\xA0\x2E\x9F\x3F\xA0\x13\xA1\xE4\x97\xA9\xA0\xE3\x9F\x88\xA0\xC8\xA0\x99\x93\xCA\xA0\xB3\x9F\x6E\x9F\xB5\x9F\x91\xA0\xC0\x8F\x03\xA1\x5D\x95\x05\xA1\x62\x97\x07\xA1\x16\x91\x74\xA0\xAB\x93\x43\x94\x84\x9F\xEA\x99\x5D\x0F\xEC\x93\x19\x68\x8C\x80\xDF\xA0\xA5\xA0\x65\x9F\xB7\x93\xCC\x9F\x15\xA1\x87\xA0\x2A\x91\x2F\xA1\xF4\x98\x31\xA1\x69\x99\xD2\x9F\x12\x98\xB4\xA0\x35\x99\xB6\xA0\x73\x9F\x39\xA1\x8B\x97\xD8\x9F\x20\x99\x15\x0E\x97\x77\x1A\x7C\x27\xA1\x83\x9E\xCC\x7C\x2A\xA1\xF7\xA0\x2C\xA1\xE4\xA0\xB0\x96\xC5\x97\xF7\x99\x8C\x99\x1D\x92\x92\x9F\xA1\x93\x01\xA1\xCC\x97\xEB\xA0\x50\xA0\x98\x9F\x72\xA0\x62\x94\x3D\xA1\x5B\x81\x21\x90\xA5\x06\xF4\xA0\x47\xA1\xCA\x9F\x5A\x98\x4A\xA1\xB9\x93\x16\xA1\xE7\x78\x4E\xA1\xD0\x99\x50\xA1\xD8\x98\xB0\xA0\x34\x94\xFD\xA0\xAA\x97\x54\xA1\x6D\x99\x56\xA1\x6F\xA0\xEC\xA0\x02\x99\xEE\xA0\x1F\x99\x20\x86\x9F\x74\x34\x9F\x02\x86\xE2\x77\xDE\xA0\x82\xA0\x40\xA1\xD0\x98\x5E\xA0\x23\x98\xD3\x98\x89\x9F\x66\x99\xD6\x98\x68\x99\x83\xA1\xAB\x99\xB1\xA0\x69\xA1\x9F\x93\x6B\xA1\x19\x94\x6C\xA0\xE3\x94\xD4\xA0\xDE\x96\xD7\x9F\xB7\x99\x09\xA1\x21\x94\x5F\x90\x83\x8A\xDB\x9F\x03\x01\x5F\xA1\x3D\x9F\x61\xA1\xFC\x9F\x7C\xA1\x5C\x98\x7E\xA1\x50\x94\xB0\x9F\x45\xA0\x67\xA1\x47\xA0\xA3\xA1\x17\x94\xA5\xA1\x38\x94\xA4\x98\xEB\x9F\x37\xA1\x96\x96\x58\xA1\xB0\x97\x97\xA0\x29\x92\xC1\x9D\x3E\x99\x2A\x78\x62\x9F\x01\x01\xB3\xA1\x9C\x97\x13\x97\xC4\xA0\x73\x95\x1A\xA0\xC3\x97\x66\xA1\x02\xA0\x68\xA1\x1E\xA1\xCC\x89\xEA\x9F\xA0\x94\xA9\xA1\x43\x97\x22\xA1\xC9\xA1\x90\xA1\x01\x01\xB5\x8C\x60\xA1\x2F\x9F\xBA\x9D\x0B\x8F\x15\x89\x46\xA1\x12\xA1\xB6\xA1\x14\x9A\xCD\x9F\xB8\x98\x4A\x9F\x0E\x90\x12\x99\x44\x98\xF7\x98\x1D\xA1\xE8\xA0\xDB\xA1\xEA\xA0\x23\x92\x8C\xA1\x39\x99\x67\x8E\xAD\xA1\xC4\x90\x81\x9E\x48\x9B\x4A\x8D\x23\x6D\xA8\x80\xD1\x81\xE9\x99\x0B\x9A\x56\x59\x7E\x99\x23\x91\x11\xA1\x97\xA1\x82\x99\xE1\xA0\xAD\x96\xD5\xA1\x4C\x9F\xE5\x9F\xD1\x9F\xE7\x9F\xD3\x9F\x1F\xA1\x06\xA0\xD6\x9F\xE0\xA1\x5A\xA1\x6F\x87\xFE\x9E\xE5\x8A\xBC\x8C\x71\x8D\x59\x73\xA5\x78\xF3\x94\x9F\xA0\xE2\x92\xF7\x90\x6F\x97\x7D\x85\x0A\xA2\xA8\x9F\xC3\xA0\x99\xA1\xD2\x98\xC6\xA0\xCE\x99\x80\xA1\x8A\xA0\x82\xA1\x8D\x9F\x1C\xA1\x8F\x9F\xBF\xA1\xDF\x94\xC1\xA1\x7B\x94\xA7\xA1\x0E\x95\x8A\xA1\x94\xA0\xFA\xA1\x71\x99\xE1\xA1\xAA\x62\x06\x9A\x92\x97\x09\x85\x56\x6A\x4C\x86\xC3\x9F\x38\xA0\x5D\x0F\x21\x95\xE9\xA1\x96\xA1\x28\xA2\xD9\x81\xEC\xA1\x14\xA1\x7D\xA1\x4C\xA1\x94\x94\x9D\xA1\x8B\x9F\x9F\xA1\x31\xA2\xF4\xA1\x33\xA2\xDA\xA1\x77\x8A\xDC\xA1\x37\x95\xDE\xA1\x60\x97\xC7\xA1\x18\x98\x23\xA1\x73\xA1\xF0\xA0\x90\x7D\x2F\x9A\x99\x99\x7A\xA0\x5A\x86\x50\x26\x45\xA2\x9E\x99\x24\x59\x47\x95\x09\xA2\xEA\xA1\x0B\xA2\xC7", +"\x99\x18\xA0\x0E\xA2\xF8\xA0\xF4\x99\xFA\xA0\xBD\xA1\xFC\xA0\x34\xA2\xB4\x96\xFF\xA0\x85\x98\xC3\xA1\xDD\xA1\xC5\xA1\x89\x97\x5E\xA2\xA9\x98\x3B\xA1\xAB\x98\x62\xA2\xE9\x6E\x40\x95\x41\xA2\x7C\x7A\x90\x8B\x09\x9A\x05\xA2\xDE\x66\x68\x91\x27\x6A\x6D\x8B\xA6\x9F\xF5\xA0\xFE\x94\x2B\xA1\x15\x9A\x7A\x93\x17\x9A\xE8\x97\x5F\x93\x65\xA0\x61\x93\x84\xA1\x77\x94\xCE\xA0\x67\x98\x36\xA2\xE1\x94\x38\xA2\x5B\x95\x7E\xA2\xA7\x98\x80\xA2\xDE\x99\x60\xA2\x83\x94\x74\xA1\xA5\x81\x07\x99\x00\xA2\x8C\x95\x36\x9A\x10\x74\x32\x9C\x8F\x95\x81\x86\xC3\x8B\xD0\x84\x8D\x91\xD1\x95\x62\x79\x74\x86\x6D\x8E\x1B\x27\x4B\xA2\x3D\x7F\x62\xA1\xE2\xA0\x64\xA1\xF9\xA0\x79\x8B\x30\xA2\xA6\x97\xCC\xA0\xAC\x99\xA0\x98\xEF\x97\x7A\xA2\xC1\x98\x7C\xA2\x5B\xA2\xA3\xA2\x51\x99\x70\xA1\xEF\x9F\x72\xA1\x8C\x70\xBF\x96\xE5\x74\x73\x7A\xB3\x9B\x8E\x8E\x4D\x9B\x31\x7E\xA2\x96\xB9\x91\x37\x7F\x8B\x6F\xA8\x96\x25\x94\x3F\x0A\xBA\xA2\xDE\x9F\xFB\x9F\xD3\xA1\x15\x97\x73\xA2\x1B\xA0\xC1\xA2\xFB\xA0\xB6\x90\x86\xA1\xFA\x98\xC8\xA2\x17\x99\xCA\xA2\x80\x95\x5C\xA2\x33\x98\xAB\xA1\xAA\x60\x0D\xA0\xD5\xA2\x68\x97\xDD\x91\xC5\x96\xEF\x99\xC7\x96\x7F\x9F\x2B\x9C\x81\x9F\xB9\xA2\x91\xA2\x94\x93\xFD\x9F\x90\x81\xFF\x9F\x2E\xA1\x44\xA0\x67\x99\xB2\x9F\x51\xA1\x13\xA2\x53\xA1\x15\xA2\xB5\xA0\x17\xA2\x3A\x91\xA7\xA2\xA6\x94\xDE\x92\x9D\x9F\xDD\x79\xEE\x6A\xCB\x9D\x8B\x7E\x96\x97\xAA\x94\xEB\x96\x42\xA2\x82\x96\x10\x1C\xFF\xA2\x4C\x95\xAB\x9F\x64\x99\x9C\xA1\xBB\xA1\x06\xA3\x1A\xA1\xCB\xA0\x32\xA2\x20\xA0\xEA\xA2\x22\xA0\x9F\xA2\x69\x98\x5A\xA2\xEF\xA2\xCC\xA2\xB4\x99\x3C\xA2\xB6\x99\xFC\xA1\xBD\x9F\x84\x6E\xB3\x7E\x09\x97\x58\x85\x7E\x26\x7D\xA0\x35\x88\x0D\x0E\xBA\x7E\x2D\x97\x1C\x27\x1D\xA3\x00\x80\x63\x99\x88\x9F\x7B\x97\xAC\xA0\x8B\x96\x1B\x97\xF6\x8D\x1C\x9A\xD1\x92\xF5\x92\x1F\x9A\x2A\xA3\x21\x9A\xF8\xA1\x6A\x93\xCE\xA2\x0A\xA0\xD0\xA2\x10\xA3\xB3\x97\x56\x88\xFC\x83\x3A\x7F\x31\x8E\x27\x01\xE0\xA2\xFA\x9F\xA9\x9F\xE3\xA2\x0C\x98\x0F\xA2\x6B\x9F\xD0\x9F\x10\x98\x52\xA1\x33\x99\x88\xA1\x71\x9F\x3A\xA2\x04\xA1\x30\xA3\x27\x9A\x0F\xA3\x14\x95\xA9\xA2\x85\x94\xC8\x96\x15\x0E\x4B\x97\x91\x98\xD3\x83\x79\xA1\x71\xA2\x7D\x98\x5F\xA3\x11\x99\x6C\x9F\xF3\xA1\xB4\x9F\xC8\x97\xEC\xA2\xB7\x9F\xEE\xA2\x31\x98\xF0\xA2\x4E\x98\xF2\xA2\xB8\x61\xF4\xA2\x32\x7F\xD6\xA2\x7D\x0D\x6A\x97\x1A\x8D\x6C\x97\x1C\x8A\x15\x0E\x94\x8E\x81\xA0\x55\x42\x3F\xA3\x79\x8C\x87\x9F\x9B\xA1\x43\xA3\x52\xA2\xAD\xA0\x8C\x9F\xC3\xA2\x26\xA3\xCD\xA0\x28\xA3\xCF\xA0\x35\xA1\x99\x90\x67\xA3\x38\xA1\x69\xA3\x71\xA0\x6B\xA3\xE2\x96\x6D\xA3\x17\x87\x2F\xA0\xB6\x8E\xC1\x88\xB8\x8E\x33\xA0\x9D\xA0\x04\x84\x5F\x9B\xB7\x62\x78\x66\x99\x97\x1B\x5D\x5A\xA3\x0C\xA1\xE2\xA2\x2A\xA2\xA4\x99\x94\xA3\x18\x97\x97\xA2\x1A\x97\xAE\xA0\x7F\x93\x9A\xA3\xC5\xA2\x9D\xA2\xA1\x98\x23\xA0\xA3\x98\x2C\xA3\x80\xA3\x2E\xA3\xDC\x99\xA5\xA2\x75\x9F\x19\xA2\x69\x8E\x18\x9E\x7A\x54\xE0\x92\x22\xA2\xF5\x94\xE2\x8E\x5B\xA0\x90\xA3\x74\xA3\x0D\xA2\x76\xA3\xE5\xA2\xD6\xA1\xF5\x99\x76\xA2\xE9\xA2\x78\xA2\xD8\x96\x7D\xA3\xD1\xA0\x7F\xA3\x87\x98\x81\xA3\x6D\x98\x50\xA3\xB9\xA0\x52\xA3\x6C\xA3\x84\xA2\xC2\x96\xA8\xA3\x87\x83\xD6\x97\xAB\xA3\x66\xA2\x94\x97\x9E\xA0\x17\xA3\x23\xA2\xDD\x97\x25\xA2\x0B\x8F\xDF\xA2\x91\xA3\xC4\x9A\x93\xA3\x2C\xA2\x21\xA3\x18\xA1\xA8\x99\x24\xA3\x32\xA1\x63\xA3\x6B\x99\x65\xA3\x92\xA0\xA0\xA3\xC6\xA1\xA2\xA3\x96\xA0\xCB\xA3\x8E\x97\x99\xA0\x28\x8F\x23\x7B\x9B\xA0\x93\x97\x37\x89\x31\x93\x43\x75\xBF\x92\x3C\x0E\x2B\x7B\x67\x94\xB4\xA3\xC2\xA0\x4C\xA2\x5D\xA3\x46\x99\xD8\xA3\x10\xA2\xE5\xA0\xE6\x9F\xE7\xA0\xE8\x9F\xF7\xA1\x20\xA1\x6F\xA1\x83\xA3\xC2\x90\xE9\xA3\x08\x7F\x1D\x98\x5A\x89\xB1\xA1\xBD\x0B\xF8\xA3\x32\x82\xFA\xA3\x42\xA0\xC7\xA0\x05\xA3\x9E\xA1\x07\xA3\xA0\xA1\xC4\xA2\xA2\xA1\x58\xA2\xFC\x8D\xC5\xA3\xE2\xA3\xC7\xA3\xFF\x99\x25\xA4\x3C\x91\x27\xA4\xB9\x9B\x0D\x0E\x8C\x7B\xD9\x9B\x38\x9E\x64\x6A\x17\xA4\x28\xA1\xDF\x9F\x1A\xA4\x41\xA3\xB9\xA3\xE7\x97\x63\xA0\x73\x94\x99\xA2\x75\x94\x9B\xA2\xDA\x98\xC6\xA2\xDC\x98\xD0\xA0\x6B\xA0\x6D\xA1\x4D\xA0\xE3\xA3\x89\x98\x07\xA4\x06\xA1\x8E\xA1\xD9\xA0\x33\xA3\xD2\x6C\xF2\xA0\xC0\x9B\xB0\x6F\xB3\xA3\x2D\xA4\xE4\x8C\x1F\xA3\x42\xA3\xBA\xA3\x4E\xA4\xE9\x97\x50\xA4\xEB\x97\xD9\x98\x1E", +"\x97\xAD\x99\x20\x97\xDF\xA3\x57\xA4\xE1\xA3\xC3\x98\x5A\xA4\xC5\x98\x18\xA2\xAC\xA1\x60\xA4\x17\x86\xAB\xA2\xAF\xA3\x26\x86\xAF\x93\x0F\xA1\xB1\x93\xD4\xA3\xEB\xA1\x4A\xA4\x2F\xA4\x77\xA3\x43\xA0\xD3\x96\x7A\xA3\x33\xA1\x7C\xA3\x56\xA4\x4A\x98\xA1\xA2\xF3\x97\x0D\xA3\xFF\x91\xE7\xA3\xC9\x93\x8E\x98\xAD\x8C\x3B\xA0\x1C\xA3\xD5\xA3\xF6\xA0\xBE\xA2\x94\xA2\x70\x94\xCB\x92\x6B\xA4\x98\xA2\x46\xA3\x8D\x96\xEC\x97\x8F\x96\x4A\xA3\xD3\x92\x4C\xA3\x24\xA0\x75\xA4\xE0\x98\x91\xA4\x4B\x92\x93\xA4\x37\x98\x54\xA3\xA8\x94\x5B\xA3\xE8\x88\xE5\x8F\xED\x85\x16\xA4\x66\xA4\xEA\x8E\x4B\xA4\xFB\xA3\x95\xA3\x22\xA3\x33\xA4\xFF\xA3\x08\xA3\x20\xA4\x14\xA2\x22\xA4\x16\xA2\x21\xA1\x0E\xA3\x3E\xA2\x9C\x5F\xF2\x85\x06\x01\x98\x77\x87\x9D\x4D\x6D\x47\xA4\xE5\xA1\x29\xA1\x4D\xA2\x93\xA2\xEE\xA1\x16\x9A\xEE\x92\x18\x9A\x98\x65\xA1\xA4\x7F\x97\xA3\xA4\x81\x97\xC1\xA3\xC7\xA2\x8D\xA4\xFC\x98\xA9\xA4\xFE\x98\x05\xA4\x7F\xA2\x5C\xA4\x3A\xA1\x5E\xA4\x08\xA1\x7B\xA4\x7F\x7C\x0D\x0E\x23\x94\x3A\x7C\xCC\xA4\xB4\xA1\x4C\x7D\x48\x9F\xAC\x9F\xC9\x76\xEF\xA1\x69\x9F\xF6\x93\x11\xA2\x62\xA3\x09\xA3\x64\xA3\x0B\xA3\x55\xA1\xAB\xA4\x6C\x93\xAD\xA4\x52\x98\xFD\xA1\x53\x85\x0B\xA1\x18\xA4\x38\x81\xE1\x77\xBD\x6D\x1A\x7C\xEB\xA4\xD1\xA1\xB5\xA1\x85\xA4\x68\xA4\x4C\xA4\xAB\xA0\x96\xA3\x45\xA3\xBD\xA3\x1C\x97\x6F\xA4\xED\x97\x54\xA4\xAE\x99\xDC\xA4\x8F\x99\x23\xA4\xF9\xA1\xE5\xA3\xED\xA0\xFC\xA4\x55\x99\x40\xA4\xDB\xA2\x24\x59\x22\x99\x05\xA5\xB6\xA4\xAD\x90\xB8\xA4\x30\xA4\x2D\xA2\x32\xA4\x53\xA2\x34\xA4\x55\xA2\x7B\xA3\x8D\x99\x73\xA4\x8E\xA4\x58\xA4\x6D\xA0\xE0\xA4\xA4\xA2\xE2\xA4\x59\xA1\x7A\xA4\x52\x93\x2C\x8D\xCC\xA1\xA3\x7C\x72\xA3\xEC\x86\x22\xA5\x2B\x94\x24\xA5\x87\xA4\x31\xA4\x89\xA4\xB4\x90\x56\xA2\x27\xA3\xDD\xA3\x5A\x97\x2D\xA5\xDD\xA4\x3A\xA4\x76\xA4\x3C\xA4\xED\x9F\x19\xA5\x8D\xA1\x1B\xA5\x95\x99\xE6\xA4\x73\x98\x00\xA5\x48\xA4\x90\x9E\x36\x9F\xAC\x85\x8E\x95\xCB\xA4\x3C\xA5\x33\x97\x3E\xA5\x1C\xA4\x60\xA3\xF4\xA4\x31\x99\x01\xA4\x6F\x9F\x03\xA4\x36\xA1\x31\xA5\xCD\xA2\x3E\xA4\x5B\x8A\xA6\xA3\x3F\x95\xFF\xA1\x7E\xA4\x01\xA2\x97\x8C\x03\xA2\xE9\x8A\xA0\x9F\xB0\xA3\xED\x8A\xE8\xA1\x58\xA5\xF7\xA3\x99\xA4\x92\xA2\x63\xA1\x9C\xA4\x61\xA0\x9E\xA4\x44\xA3\x7D\x97\xD6\xA4\x1B\x9A\xD8\xA4\x1D\x9A\x71\xA4\x4B\xA3\x47\xA5\x16\xA5\xC2\xA4\x24\xA4\x79\xA4\x32\xA3\xF5\x81\x6B\xA5\x11\x9A\xE4\x95\xF1\x90\x1F\xA2\x3C\x86\x21\xA2\xF2\xA3\xD1\xA3\x56\x59\xF7\x94\xC9\x7C\x59\xA5\x77\xA5\x00\xA3\xB7\xA1\x97\x98\xB9\xA1\x2B\x95\x41\xA5\xDC\x90\x43\xA5\x9B\xA3\x45\xA5\x48\x98\x85\xA5\xD8\x99\x4E\xA3\xE1\x93\x4D\xA5\xFB\xA1\x4D\x8F\xFE\xA4\x53\x6E\x86\xA2\x0E\xA4\x1A\xA3\x4B\x86\x1E\x91\x8B\xA2\x72\xA5\x26\x82\xD3\xA3\x3E\xA3\x99\xA5\x1E\xA3\xA8\xA0\x7A\xA5\xAA\xA0\x7C\xA5\x0D\xA5\x7E\xA5\x0F\xA5\x47\xA3\x81\xA5\x49\xA3\x1E\x9A\xA6\xA4\xA5\xA5\xFB\x99\xA7\xA5\x10\x95\xA9\xA5\x3D\xA2\x09\xA4\xE4\x65\xAE\xA5\xEE\xA3\x42\x91\x01\x79\xE8\x99\x69\xA2\x41\xA1\x3C\x0E\x6C\xA2\x22\x95\xB0\x66\x06\xA5\xBE\x97\xD2\xA1\xB7\xA3\xC5\xA0\x25\xA5\xFC\xA3\x2E\xA2\x19\xA1\xC2\xA2\xAF\xA0\xA1\xA1\x85\xA1\xA3\xA5\xD6\x99\xC6\xA5\x93\x9F\x87\xA5\x18\xA5\x67\xA5\x8D\x93\x1D\xA5\xE2\x99\x64\xA2\x1D\xA2\x63\x91\x7D\x82\x69\x95\x58\xA0\x6B\x95\x27\x6F\x0D\x9A\xD6\x81\x59\xA3\x5A\xA5\x66\x9F\xBA\xA5\xD1\xA4\x95\xA2\xD3\xA4\xBB\xA3\x19\x9A\x7F\xA5\x66\xA0\x48\xA3\x68\xA0\xA5\xA4\x91\x96\x44\x92\x6F\x89\x8F\xA4\x4C\x98\x77\xA4\x4F\xA0\xEC\xA5\xE5\x93\x69\xA5\x16\x69\x7D\xA4\x8D\xA5\x65\x16\xAD\xA2\xC4\x8B\x5A\x79\x8E\x91\xF6\x9C\x33\x9A\xB2\xA2\x91\x95\x17\xA6\xAE\xA3\x3B\x67\x43\x9F\xA5\x9F\x81\x6C\xD9\x83\xB1\xA4\x19\xA4\xDC\xA5\xD4\xA1\x5D\xA5\x78\xA3\x61\xA3\x60\xA5\xF6\xA4\x02\xA4\xF8\xA4\x89\xA1\xFA\xA4\xA7\x93\x4F\xA5\x29\x5F\x85\xA3\x9D\x96\x87\xA3\xA0\x96\x2B\x85\x98\xA1\xB4\x72\x60\x9F\xB8\xA2\xCE\xA1\xD8\x83\xFB\xA5\x49\xA1\xED\xA1\x4B\xA1\xF1\xA4\xAF\x9F\xFD\xA3\xB1\x9F\xBD\xA4\x35\xA4\xBF\xA3\x37\xA4\xF6\xA1\x59\xA2\xC8\xA5\xBA\x96\xCA\xA5\x31\xA3\x84\xA3\xD2\xA2\x12\x75\xD4\xA2\x86\xA3\xF6\xA2\xC4\x96\x5E\x7E\xB6\x79\xF9\xA2\x7E\x9F\x3F\x85\x80\x9F\xBE\x51\x3A\x7C\x24\xA6\xB5\xA3\x5C\xA3\x27\xA6\xE4\xA2\xBF\xA2\x74\xA2\xE7\xA2\xDB\xA3\xDE\x90\xE6\xA5\xF9\x99\xE8\xA5\x6C\xA1\xDE\xA4\x19", +"\x99\x31\xA6\xE3\x93\xA4\xA3\xAE\xA4\x11\xA6\x07\x97\x4C\x8D\x08\x8E\x4A\x85\xB3\xA5\x7F\xA4\x3B\x67\xA4\x9F\x42\x99\x6F\x2A\x40\xA6\xD0\x93\x01\xA3\x8E\x81\x9D\xA5\xD7\x94\x46\xA6\xBC\xA1\xD8\xA1\xBE\xA1\x38\xA4\xBE\x8F\x49\xA5\xAA\xA4\xC3\xA4\x92\xA4\x73\xA6\xFD\xA4\x51\xA5\x2A\x6E\x35\xA3\xC0\x9F\x37\xA3\x6C\x75\x93\xA5\xFF\x78\x0E\x97\x3C\x81\x94\x9D\x23\xA6\x80\xA6\x0E\x99\x82\xA6\x6B\x8A\x84\xA6\x0B\x73\x01\xA6\xD5\xA4\xC0\xA5\xA2\xA4\x11\xA5\xA4\xA4\xC4\xA5\x08\xA6\x0B\x95\x0A\xA6\x2F\xA5\xA8\xA1\x4B\xA5\x28\xA0\xC9\xA3\x2A\xA0\x33\xA6\x29\x97\x92\xA6\x85\x7E\xDA\x9F\xC7\x9F\x06\x01\x61\xA6\x01\xA5\x8F\x80\xCF\xA4\x79\xA5\xFE\xA5\x9D\xA4\x7B\x93\x7D\xA5\x64\xA0\x03\xA6\x9A\xA2\xE4\xA5\x9C\xA2\x9C\xA3\x9E\xA2\x6D\xA6\xA6\xA1\xAE\xA6\x39\xA2\x71\xA6\xA4\x94\xB4\xA6\x9A\x9F\x36\xA5\x29\x9F\xF5\x9F\xDD\xA2\xBD\x87\xE9\x65\xBB\xA6\x54\xA5\x63\xA6\xA6\xA0\xCB\x9F\x42\xA6\x4F\xA2\x44\xA6\x00\xA0\xD7\xA1\xE6\xA0\xD9\xA1\x4C\xA6\x39\xA4\x4E\xA6\x01\x97\x50\xA6\x6A\xA3\x76\x9F\x53\xA6\xDA\x75\x5A\x7E\x0E\xA0\x99\x88\x93\x70\x96\x92\xE1\x75\x98\x92\x13\xA0\x74\xA5\x15\xA0\x27\x01\xD9\xA6\xCD\xA4\x49\xA4\x64\xA6\x5E\xA3\x29\xA6\x88\xA4\x43\x98\x42\xA5\x2B\xA5\x6A\xA1\xCB\xA6\xC2\xA1\x8C\xA6\xDF\xA4\xCF\xA6\x12\x95\xD1\xA6\xF1\x9F\xAC\xA5\xE5\x86\xEB\xA3\x4C\x05\x31\xA0\x06\x93\xEF\xA3\x10\xA4\x35\xA0\x12\xA4\x05\x98\x39\xA0\xB2\xA3\xDC\x5F\xF9\xA6\xEC\xA4\xCE\xA4\x09\xA5\xFD\xA5\x43\xA6\xD2\xA4\xB9\x98\xD4\xA4\x00\x69\x98\xA3\xE3\xA5\x36\xA4\xE5\xA5\x8A\xA6\x97\x90\x06\xA7\x70\xA6\x8E\xA6\xAC\xA4\x90\xA6\x1C\xA5\x0C\xA7\xAE\x9B\x08\x9E\xF4\x6B\x57\xA0\xDB\x97\x59\xA0\x5D\x0F\xE3\x8E\x97\xA5\x3F\x0A\x1A\xA7\x07\xA5\xED\xA4\x84\xA0\x0B\x94\x40\x98\x03\xA3\x4D\xA1\x27\xA5\x97\xA3\x54\xA2\x99\xA3\xA1\xA5\xC0\xA3\xC9\xA6\xC2\xA3\xA7\xA4\xC4\xA3\xE7\xA6\xF5\x97\x33\xA5\xC8\xA1\xCC\xA5\x1D\x6C\x2F\x9A\x04\x93\x41\x95\x26\x7B\x7E\x86\x3D\x81\x00\x7B\xF5\xA3\x2A\x6C\x9D\xA6\xB8\xA5\x40\xA3\x86\xA4\xFE\xA6\x40\xA5\x00\xA7\xA0\xA5\x02\xA7\xA4\xA1\x04\xA7\x37\xA2\xCD\xA6\xA2\xA2\x65\xA5\x2F\xA3\xE9\xA6\xA3\xA3\xC5\xA4\xD3\x97\x0B\xA4\xFE\x97\x29\x8F\xAF\xA5\x44\x8D\x08\x93\x11\xA4\xAF\x98\x5D\x6C\x31\x8F\x95\xA1\xBA\xA6\x9E\xA6\xF1\x99\xA0\xA6\x28\x91\x50\xA2\x02\x95\xBE\xA5\xC4\xA6\xA6\xA6\xD7\xA4\xA8\xA6\xD9\xA4\x49\xA7\xDB\xA4\x9E\xA3\xFA\x92\xB0\xA6\xD5\xA0\xB2\xA6\xD7\xA0\xE4\xA4\x3C\xA1\xEE\xA5\xB8\x79\x29\xA4\x54\x93\x2B\xA4\x01\x01\x3B\xA7\xDA\xA5\x08\xA5\xFC\xA6\x1B\xA4\x66\xA6\xE6\xA2\x06\x91\xE2\xA5\xBE\xA3\x47\xA7\x4B\xA6\x21\xA4\x4D\xA6\x17\xA5\x4F\xA3\x0F\xA6\x83\x91\x75\xA6\x86\x8F\xDC\xA0\x6B\x8F\x3D\xA3\xD1\x0E\x7C\xA7\xA7\xA0\x7E\xA7\x86\xA0\xE0\xA6\x04\xA3\x9F\xA5\x08\x91\xA2\xA7\x27\xA7\xE5\xA6\x8B\xA6\x4D\xA7\xE2\x98\x4F\xA7\x5F\xA2\x6E\xA7\xF4\x61\x62\xA4\x60\xA6\xB0\xA7\xDD\xA6\x4E\xA2\xB8\xA1\x80\xA7\x17\xA1\xE0\xA5\xFE\xA3\xA0\xA7\x10\xA5\x52\xA4\x70\xA4\x13\xA5\x72\xA4\x15\xA5\xA6\xA5\xA6\xA7\xA8\xA5\xA8\xA7\x46\x97\x30\xA7\x7C\xA4\x53\xA5\xFA\xA6\xDB\x85\x0E\xA1\xFF\x6C\x82\xA4\x7F\xA6\x5D\xA7\x92\xA3\x0A\xA5\xB9\xA4\x6A\xA4\xC3\xA6\x4F\xA4\xC5\xA6\x51\xA4\xC7\xA6\x53\xA4\xDA\xA4\x55\xA4\x8A\xA7\xFD\x93\x8C\xA7\xAA\xA1\x89\xA5\xB8\x61\x25\xA1\x3E\xA6\x98\xA7\x75\x98\x9A\xA7\xDC\xA6\x7B\xA1\xDE\xA6\xC7\xA7\xB4\xA7\x42\xA7\xB6\xA7\x2E\x91\xB8\xA7\xC8\xA6\x6B\xA6\x91\x9F\x66\xA7\xA0\xA2\x68\xA7\x90\xA4\x2C\xA7\xFB\xA4\x2E\xA7\x50\xA5\x08\x74\xDA\xA7\x1B\xA7\x45\x95\x42\xA1\x88\x8D\x7A\xA7\xE0\xA7\x84\xA4\x9B\xA7\x5C\xA5\x9D\xA7\xD9\xA3\x75\xA2\x88\xA6\x77\xA2\x28\xA7\xE2\x90\x2A\xA7\xB2\x99\xF0\xA7\xDF\xA1\xC4\xA4\x51\xA7\x20\x90\x01\x90\xC8\xA4\x1A\x7C\xF6\xA7\x3D\x98\x3E\xA7\x91\x94\x40\xA7\xA2\xA6\x5F\x98\x86\xA6\x23\xA3\xCC\xA7\xC1\xA5\x86\xA7\x82\xA5\xD0\xA7\x84\xA5\xD2\xA7\xC7\xA5\xD4\xA7\xC9\xA5\xD6\xA7\x1A\x98\xB6\xA6\x94\x77\xE9\x98\x12\x81\x6D\x8E\x29\xA8\xED\x98\x2B\xA8\xF4\x96\xA1\x8B\xFF\xA5\x21\xA7\xA4\xA6\x23\xA7\x45\xA7\x25\xA7\x4A\xA6\xB9\xA7\xA4\xA7\xE6\xA6\x3A\xA8\x4F\xA6\x3C\xA8\xE0\x99\x92\xA7\xFD\x85\x13\xA6\xC3\x94\xBD\x6E\x09\x99\x94\x72\x67\x94\x43\xA8\x00\xA2\xEE\xA4\x20\xA3\xBA\xA4\x30\xA8\xBC\xA4\x32\xA8\xA7\xA6\xCE\xA7\x12\xA5\xEC\xA7\x14\xA5\xEE\xA7\x4F\x99\x21\xA8\x5D\xA2\xBE\xA7\x81", +"\xA2\x90\xA7\x83\xA2\xD8\xA7\xE7\xA4\x21\x99\xB0\xA1\xB9\xA6\x14\xA8\x6F\xA2\xF9\xA2\x7A\xA1\x5F\xA0\xBB\xA5\x2D\xA1\xFE\xA7\x62\xA7\xB7\xA7\x64\xA7\xC0\xA1\x05\xA8\x2B\xA3\xBC\xA7\x1B\x99\x6C\xA7\x08\xA4\x35\xA5\xCA\xA1\x7B\x96\xA1\x8A\xCD\xA1\x3A\xA5\x5E\xA8\x6C\xA5\x60\xA8\x69\xA4\x4D\xA4\xE6\xA7\x6C\xA4\xE8\xA7\x6E\xA4\x67\xA8\xA9\xA6\x83\xA5\xC5\xA5\x38\xA8\xE9\xA5\x0C\xA3\x09\xA8\x32\xA6\x0B\xA8\x03\x9A\x56\xA8\xC2\x8A\x0E\xA8\x3C\xA7\x5A\x99\x88\x80\xC8\x8A\x6D\xA2\x40\x21\xC4\xA7\xFA\xA7\xC6\xA7\x9C\xA5\xC8\xA7\x7F\xA1\x43\xA7\x0E\xA5\x24\xA7\xA1\xA7\x82\xA8\x35\xA2\x84\xA8\x4D\xA3\x52\xA8\xE8\xA6\x54\xA8\x29\x9A\x73\xA8\x60\x8B\x1B\xA2\x0F\x8B\xF1\xA5\x0C\x0E\x79\x99\xC2\x61\xD3\xA5\x06\xA2\x5D\x0F\x08\xA2\xD7\xA5\x64\x6A\x90\xA8\x14\xA6\x3A\xA6\x48\xA1\x81\xA6\x9B\xA5\xFE\x9F\x2E\xA8\x29\x8A\xFF\xA7\x75\x91\x01\xA8\xEB\xA7\x88\xA7\xED\xA7\x63\xA5\x9F\xA3\x08\xA7\xE0\x96\x0A\xA7\x71\x98\xA4\xA8\x0D\x8B\x8C\xA5\x59\xA8\xB2\x95\xF0\x94\x90\xA5\xF3\x90\x92\xA5\xF5\xA5\x97\x97\x9F\x99\x5A\xA7\xA6\x90\x3A\xA7\xAD\xA8\x7C\xA8\xC0\xA6\x7B\xA5\xC2\xA6\x82\xA7\xE7\xA7\x84\xA7\x80\xA5\x34\xA8\xC3\xA5\x9B\xA8\xAB\xA6\x4A\xA0\xAD\xA6\x6F\xA6\x20\xA8\x6A\xA7\xC8\xA3\x6F\xA8\xA6\xA2\xC0\xA7\x97\x99\xF0\xA5\x00\xA2\x18\x84\x1D\x91\x89\x73\xB2\x9B\xCE\xA8\x8C\xA2\xB5\xA5\xEE\xA8\xD0\x90\xF8\xA6\xF1\xA8\x9A\xA1\xE4\xA7\x94\xA8\xF6\xA8\x96\xA8\xF8\xA8\x04\xA6\xC2\xA5\x06\xA6\xAA\xA6\x6A\xA0\x2E\xA5\x00\xA9\xB9\x9F\x88\xA5\x23\xA8\x8A\xA8\x1A\xA2\x89\x91\x18\x95\xE5\xA8\x8E\xA5\xE6\x99\xD1\xA5\x6F\x7D\x52\x82\x35\xA7\xF6\xA5\x6B\xA2\xB6\xA5\xAF\xA7\xE1\xA7\xF9\xA3\xE3\xA7\xDE\xA5\x62\xA8\xCA\xA7\x47\xA6\x65\xA8\x85\xA7\x99\xA8\x87\xA7\x03\xA8\x49\xA0\xC3\xA3\x4B\xA0\x07\xA8\x0C\xA6\x6D\xA8\xF1\xA2\xF2\xA7\x26\xA4\xBF\xA8\x63\xA2\x17\x9C\xD1\x9B\x73\xA7\x38\x09\x6C\x86\xD0\xA3\x10\xA8\x3C\x0E\x95\x8B\x97\x8B\x12\xA7\x5C\xA7\x15\xA8\xF9\xA7\xF2\xA8\x1F\xA7\x48\xA8\xF0\xA1\xBA\x98\x64\xA8\xE8\xA2\x6A\xA6\x1D\xA8\x0E\x91\x21\xA9\x26\xA0\x45\xA9\x82\xA3\x47\xA9\x3F\xA4\x49\xA9\x40\x90\x58\xA8\x37\xA0\xCE\x17\x16\xA6\xB4\xA2\xC5\x8B\x19\xA6\xC9\x9D\x1B\xA6\xF2\x62\xD1\x7A\x93\x91\x38\x9A\x51\x01\x2A\x9C\x2D\x8D\x27\x01\x34\x74\x85\x9A\x1B\x98\x1B\x96\x3E\xA8\xE4\x99\x76\x1A\x8B\x9B\x69\x8F\x3D\x74\x27\x01\xBD\x76\xED\x9B\x8E\x40\x2C\x9A\x79\xA8\x9A\x9A\x21\x9C\x01\x18\xAF\x98\x4D\x74\x1C\x9C\x91\xA1\x8B\xA9\xB9\x8C\xCE\x09\xF7\x24\x8F\xA9\x27\x01\xDC\x95\x8C\x9E\xFF\x9B\x3F\xA1\xBB\xA2\xBE\x17\x62\x74\x2E\x59\x22\x9C\x0E\xA9\xB7\x62\x67\x74\x91\xA9\xE3\xA1\x67\x80\xB2\x19\x9F\xA9\x87\x5D\xA1\xA9\x29\xA9\x4C\x74\x27\x01\xF6\x95\x9C\x86\x6A\x74\x9C\xA9\xE1\xA2\xA7\x82\x64\x62\x7C\x74\x58\xA7\x80\x74\xA5\xA9\x00\x00\xE4\xA1\x0F\xA8\x8C\x74\x88\x74\x0C\x9C\xA2\x9B\xB7\xA9\x8E\x74\xB9\xA9\xBB\xA9\xA7\xA8\x72\x74\x40\x96\x53\x0D\x7A\xA6\x8D\x74\x09\x01\xEC\x93\x88\xA9\xFE\x9B\xBA\xA9\xA7\xA9\x76\x1A\xC7\xA9\x9E\x10\xBE\x74\x6C\xA5\x0F\x9C\xA3\x55\xC3\xA9\xD0\xA9\xEA\x1A\xD2\xA9\x36\x96\xC7\xA8\x47\x5E\x3E\x0E\xB6\x74\xCD\xA9\xB1\xA9\x8A\xA9\x9D\xA9\xC1\x17\xDB\xA9\xB0\x74\xC9\xA9\xB9\x9D\xE9\xA9\xCD\x5A\xB7\xA2\x02\x01\x49\x96\x18\x0C\xB0\x66\xB1\x47\x0A\xA9\xBD\x8B\x70\xA9\xE2\x78\x7B\xA8\x15\xA9\x37\xA9\xE5\xA7\x18\xA9\xA0\xA4\x1A\xA9\xC6\xA6\x26\xA7\x02\xA8\x61\xA9\x35\x95\x63\xA9\xD3\xA0\x65\xA9\xE4\xA3\xBD\xA8\x7F\x6F\x35\xA6\xEA\xA3\x37\xA6\x3B\x85\xBA\x8D\xE1\x87\xBA\x87\xA7\x96\x61\x9F\x3A\xA5\xF1\xA9\x4A\x86\xC7\x7D\x02\x2F\x92\xA8\x0B\xA5\xBD\xA5\xBB\xA4\x28\xA5\x48\xA6\x2A\xA5\x8B\xA4\x2C\xA5\x9D\xA8\x6E\xA6\x1F\xA8\x22\xA9\xEB\xA5\x67\xA9\xD8\x91\xEC\xA6\xDE\x8D\xEF\xA6\xB9\x95\x7A\x9F\xDF\x91\x7C\x9F\x5B\xA6\x6E\xA3\x6D\x9E\x5D\x0F\xE5\x87\x22\xA6\x4D\x6D\x12\xAA\x44\x84\xAE\xA2\x4F\x70\xF6\xA9\x2B\xA2\xF8\xA9\x17\xA9\x19\xAA\x44\xA7\x29\xA5\x46\xA7\xB7\xA8\x79\xA2\x1F\xAA\xCC\xA6\x02\xAA\x02\xA1\x02\xA9\x3D\xA4\x24\xAA\xED\xA5\x69\xA9\xB2\x7E\x12\xA3\x5D\x85\x9F\x9F\xE8\xA9\xA2\x9F\x7D\xA6\xDE\xA2\xFD\x83\x12\x85\x36\xAA\x32\x78\x38\xAA\xB8\xA3\x16\xA9\x0C\xA5\x3C\xAA\xB4\xA8\x4C\xA8\xB6\xA8\x1D\xAA\x03\xA7\x42\xAA\x05\xA7\x86\xA8\x96\x9F\x88\xA8\x5D\xA4\xE0\xA8\x2C\xA0\xE2\xA8\xFA\xA2\x29\x8E\x07\x7A\x2B\x8E\x0B\x97\xDD\xA9\xB0", +"\x69\x9A\xA6\x1A\x7C\x34\xAA\x1C\x91\xF3\xA9\x18\xA6\xF5\xA9\x75\xA3\x41\xA0\x3F\xA5\x26\xA5\xD6\xA8\x9B\x93\xD8\xA8\xCF\xA7\x69\xA8\xD1\xA7\x6B\xA8\xDA\x99\x04\xAA\x5B\xA4\x65\xAA\xE3\xA4\x67\xAA\xBB\xA0\x94\x75\xD0\x9D\x36\x89\x13\xA8\xEA\x45\xA8\x84\x55\xAA\x77\xAA\xD6\xA3\x79\xAA\x60\xA7\x7B\xAA\x80\xA8\x00\xA8\x40\xAA\xDE\xA3\x61\xAA\x67\xA7\x44\xAA\x6E\xA1\x23\xAA\x24\xA9\x8A\xA5\x8B\xA8\x5D\xA6\x52\x7A\xD6\xA6\x73\x92\xDC\x5F\x73\xAA\x3A\x8B\x6F\xA9\x76\xAA\x16\x7A\x57\xAA\xDD\xA5\x7A\xAA\xDF\xA5\xB3\xA8\xBF\xA5\xB5\xA8\xCD\xA7\xEA\xA7\x7F\xAA\xDA\xA8\x6A\xA8\xDC\xA8\x8B\xA7\x46\xAA\x4C\xA5\x06\xAA\xD8\x75\x26\xAA\xC1\x96\x26\x78\xC3\x96\xD7\xA2\x89\xA3\x65\x90\x8B\xA3\xA6\x96\xF5\xA6\x5B\xA7\xCB\xA8\x81\x6C\xA7\xAA\x96\x84\x90\xAA\xAB\xAA\x78\xAA\x85\xA0\x2D\xA8\xB1\xA8\xBA\xA1\x63\xA8\x1A\xAA\x3B\xA9\xF9\xA8\x3D\xA9\x35\xA8\x80\xAA\x37\xA8\x82\xAA\xFD\x99\x84\xAA\x78\xA4\x9F\xAA\xAB\xA5\x80\xA9\x92\x92\x47\x6A\xB7\x7F\x90\x97\x55\xA7\x7B\xA0\x1F\xA6\xAC\xA9\xC8\xA8\x66\x7F\x11\xA9\x25\x6D\xCB\xAA\xBE\x99\xCD\xAA\x16\xAA\x59\xAA\x18\xAA\xD4\xAA\x3D\xAA\x1B\xAA\x3F\xAA\x5F\xAA\x65\xA7\x9A\xAA\x06\xA8\x9C\xAA\x59\xA4\xDE\xAA\x0E\xA6\x48\xAA\x10\xA6\x69\xAA\x5C\xA6\xCD\xA3\xCF\x7A\xB7\x97\x39\xA3\xB2\xA4\xBA\x97\x11\xA9\x7E\x7A\xEF\xAA\x1B\x95\xF1\xAA\x45\xA8\x78\x97\x47\xA8\xC1\xA6\x96\xA2\x9F\xA4\xBC\xA3\xB2\xAA\x33\xA8\xD8\xAA\xFB\xA8\x36\xA8\x9C\xA8\xDC\xAA\x23\x9A\xBA\xAA\xB1\xA6\x04\xA9\xCA\xA3\x25\xA9\xF1\x5E\x76\xA0\x02\x8F\xE7\xAA\xC4\x88\x14\xA7\x77\xA7\x22\x71\x32\xA9\xB9\x46\x8F\xAA\x1E\xA6\x0B\x85\xF2\xAA\x3A\xAA\x5A\xAA\xF5\xAA\x5C\xAA\x3E\xAA\x4D\xA8\x7E\xAA\x68\xA8\xB6\xAA\x81\xAA\xB8\xAA\xEF\xA7\x1F\xAB\x8D\xA7\x21\xAB\xB3\xA6\xA2\xA8\xB5\xA6\x98\xA0\x4B\xA9\x9A\xA0\xCF\xA5\xCC\x88\x13\xA7\x03\x98\x2F\xA9\xEC\xA8\x06\x98\x4A\x5E\x67\x94\x0D\xAB\x4F\x6F\x2F\xAB\x35\x5D\xAC\xAA\x28\xA6\x18\xA8\x1D\xA4\xE2\xA6\x1F\xA4\xE4\xA6\x50\xA8\xBB\xA7\xBB\xA8\x4E\xA7\x86\xAA\x34\xA5\xA0\xAA\x04\x6E\x94\xA7\x78\x71\x96\xA7\xB2\x47\x2E\xAB\xA9\xAA\x25\x6C\x31\xAB\xAE\xAA\x38\xA9\xB0\xAA\x83\xA7\x17\xAB\x66\xA8\xB4\xAA\x39\xAB\x3F\xA9\x90\xA0\x3C\xAB\x6C\xA8\x3E\xAB\xF1\xA7\xE0\xAA\x48\xA9\xE2\xAA\x38\x96\x11\x0E\x43\xA4\x72\xAA\x08\x85\x14\xAA\xEE\x4C\x6A\xAB\x94\xAA\xAF\xAA\x7C\xAA\x06\x95\x98\xAA\x46\xA5\xFB\xAA\x85\xA8\x5D\xAB\xBD\xA7\x5F\xAB\x50\xA7\x23\xAB\xC6\xA4\x55\x98\x11\xAA\x80\xAB\xAA\x82\x15\xAA\x10\xAB\x2C\x99\xF2\xA4\x41\x98\xFF\xA6\xF2\xA1\x01\xA7\xF9\xAA\x83\xA8\x8A\xAB\xBA\xA8\xEA\xA5\xA7\xA7\x01\xAB\xA9\xA7\x03\xAB\xAE\x7B\xB2\xA9\x25\xA6\xA1\x83\x2B\x77\xBB\x89\x79\x98\x53\xAA\x0C\x84\x0F\xAB\xBD\xA2\x72\xA2\x56\xAB\x5E\xA5\x1E\xA4\x12\xA2\xBF\xA4\x0A\xA3\xC1\xA4\x9F\xA8\x23\xA9\x8F\xA6\xD1\x7B\x95\xA4\x02\xA2\x32\xAA\x3F\x0A\x50\xAB\xE5\x79\x95\xAB\x82\xAB\x97\xAB\xCB\x99\x12\xAB\xF4\xA8\x14\xAB\x95\xA8\xFB\xA9\x6F\xAB\x3C\xA9\x71\xAB\x9A\xA8\x1B\xAB\xFD\xA8\x41\xA9\xFF\xA8\x21\xAA\x64\xA9\x77\xAB\x22\xA8\xBC\xAB\x24\xA8\x9E\x85\xA6\xA8\x99\xA7\xF3\xA3\xEB\x93\x12\xA8\xBF\xA0\xF0\xA9\x94\xAB\x7D\x86\x53\xAB\xCF\xAA\x3F\xA7\xF0\xA1\x41\xA7\x51\xA2\x5B\xAA\xB1\xAA\x5D\xAA\xB3\xAA\xFE\xA9\xD9\xA8\x73\xAB\xB3\xA0\x2F\xA6\x66\xA3\xDE\xA8\x35\x98\x88\xAA\xEF\xA0\x4A\xAA\x26\x78\xC7\xA4\xBE\x28\x7F\xAB\x67\xAB\x75\xAA\x69\xAB\xC6\xAB\x68\x9F\xC8\xAB\xBC\xA5\xF5\xA8\xEB\xAB\x6E\xAB\xED\xAB\x18\xAB\xCF\xAB\x3E\xA9\x00\xAA\x7E\x95\xFD\xAA\x30\xA5\xF5\xAB\x50\x98\xF7\xAB\x8F\xA1\xF1\x5E\x40\xA8\xF9\x85\x3E\xA6\xC2\xAB\x7C\x86\x42\x8A\xE5\xAB\x92\xAA\xD0\xAA\xE8\xAB\xD4\xA8\xBC\x93\x2B\xA6\x6D\x9F\x61\xA5\x34\xA1\x75\xAB\x83\xAA\xD7\xAB\x6E\xA8\x8E\xAB\xBF\xA7\xDA\xAB\x0A\xA1\xA8\xAB\x62\xA6\xB2\x73\x5B\xA8\x5F\x7C\x32\xA7\x64\x6A\x18\xAC\x0B\x92\x81\xAB\xB5\xA2\xCE\xAA\x1C\xAC\xE7\xAB\x99\xAB\xE9\xAB\x81\xA7\x06\xAC\xF7\xA8\xCD\xAB\xD7\xAA\x0A\xAC\xD9\xAA\x3A\xAB\xDB\xAA\x25\xAC\xDD\xAA\x27\xAC\x46\xA9\x79\xAB\x68\xA9\x7B\xAB\xF4\xA6\xAF\xA1\x66\x94\xAE\xA7\x2D\xAB\xBC\x84\xB0\xAB\xBE\xA6\x9B\xA4\xF3\xA8\x04\xAC\xCA\xAB\xFA\xA9\x16\xAB\x08\xAC\x70\xAB\xEF\xAB\xB5\xAA\xF1\xAB\xFE\xA0\xA0\xAB\xA8\xA4\xD5\xAB\x03\xAA\x48\xAC\x66\xA9\x4A\xAC\x68\xA5\xA6\xAB\x06\x5C\x37\xA5\x24\x59\x3F\x99\x00\x00\x41\x99\x52", +"\xAA\x09\x4E\x52\xAC\x52\xAB\xEA\x66\x54\xAB\x65\xA6\x7D\xA8\x65\xA1\xDA\xA3\x1B\xA8\xDC\xA3\x0C\xAC\x2F\x98\x0E\xAC\xAF\xA6\x65\xAC\x05\xAA\xA4\xAB\xD7\xA7\x4C\xAC\xF7\x89\xDC\xAB\xF7\xA7\xE6\xA1\x56\xA5\x0E\x93\x70\x97\xAE\xAB\xCA\x5A\x45\x84\x83\xAB\xB3\xAB\x2A\xA6\x5F\xA5\x22\xAC\x2D\xA6\x62\xA5\xF3\xAB\x04\xA4\x10\xAC\x93\x99\x12\xAC\x5F\xA4\x8B\xA5\xF1\x9E\xED\x94\x81\xA9\x1A\x95\x07\x0E\xC5\xA8\x2A\x86\x36\xA0\x9F\xAC\x20\x91\x7D\x99\x2C\xAB\x66\xAB\x72\xAC\x68\xAB\x30\xAB\x01\xAC\xEF\xA4\x86\x78\x20\xA7\x5C\xA9\x22\xA7\xFA\x65\xFC\xA9\xE9\xA7\x5D\xAC\x72\xAB\x7C\xAC\xDE\x98\x7E\xAC\xCE\xA6\xA0\xA8\x72\xA6\x06\xA9\xEC\x90\x9D\xAC\x4C\xA9\x47\xAB\xE7\xA8\xFB\x81\x20\xA2\xFD\x81\x6F\xAA\x46\x7D\x1D\x7D\xA8\xAC\x34\xAC\xBC\x8B\x8C\x91\xF4\xA9\x38\xAC\x9A\xA4\xB2\xAB\x77\xAC\xC0\xA2\x9F\xA7\x5F\xA9\x0A\x91\x5F\xAC\x87\xA1\x96\xAC\x64\xA5\x98\xAC\x01\x9A\x9A\xAC\xE5\xA4\x9C\xAC\x4B\xA9\x65\xA2\xA8\xAA\x43\xA2\xB2\xA5\xC7\xAC\x2C\x9E\xFF\x00\x48\xA2\x75\xA5\x8C\xAC\xF2\xA9\xCD\xAC\xAA\xAA\x8F\xAC\xD2\xAC\x67\xA6\xD4\xAC\x69\xA6\xD6\xAC\xB8\xAC\xB0\x99\xBA\xAC\x69\xA7\xDB\xAC\x55\x9F\xDD\xAC\x91\xA7\xF9\xAB\xC9\x2B\xCE\xA5\x32\xA0\x55\xA9\x5E\x89\x43\x95\x50\xA9\x7E\xA0\xEB\x99\x0B\xAB\x1B\x5D\xCB\xAC\xEC\x96\x36\xAC\xCE\xAC\xEE\xAC\x56\xAC\x7E\xA8\xEA\xAB\x34\xAB\xEC\xAB\x36\xAB\x5E\xAA\x23\xAC\x8C\xA4\x1D\xAB\xC4\xA1\x80\xAC\x85\xAA\xBC\xAA\x61\xA2\xFC\xAC\x75\x99\x08\xA9\x6C\xA5\xA0\x86\x8B\x0C\x8A\xA2\xE5\xAC\x99\x7D\x8E\xA2\x9A\x8B\xCA\xAA\xE3\xAB\x1A\xAC\x74\xAC\xE6\xAB\x2C\xA8\x1E\xAC\xD2\xAA\x9E\xA5\x96\xAA\xD7\xA8\x88\xAB\xA4\xA5\x61\xAC\x4C\xA7\x8C\xAB\x87\xA8\x1A\xAD\xA8\xA2\x69\xAC\x58\x7C\x86\xAC\x38\x86\x6E\xA9\xFF\xAB\x57\xA7\x32\x9A\xE3\x02\x34\x9A\x75\xA9\xCD\xAA\xEA\xA9\xA9\xA8\x27\x01\x9D\x00\x86\x87\x3B\x9F\x19\xAC\x0A\x85\x10\x67\x42\x9F\xF6\x9F\x7F\x9D\xE9\x65\x3E\x96\x84\x6C\xBE\xAA\x55\xA6\x36\xA6\x57\xA6\xC2\xAA\x39\xA6\x0D\xAA\x9D\x88\xDC\xA2\x10\xAA\xFB\x9E\xC7\x4C\x62\x87\x76\xA6\xA5\xAA\x3A\x65\xBF\xAA\xE3\xAA\x50\x9A\xF7\xA2\x59\xA6\xE1\x91\xB8\x79\x6F\xA3\x63\x7E\xE5\x91\xF0\x9D\x15\x3F\x61\xAD\xF3\x7B\xC3\x85\x4C\xAA\x31\x92\xDE\x79\xE7\x96\x0A\x8E\x03\xAD\x1B\x91\x19\xA3\x3B\x7C\x0E\x9E\x27\x01\x53\xAD\x2C\xAC\xAF\xA4\x94\xA6\xAD\xA7\xC1\x9F\x38\xA3\x79\xAD\x06\x88\xC5\x9F\x13\xA3\x9A\xA9\x4D\x6D\x7F\xAD\xF8\x6C\xC3\x85\xB8\xA6\xFE\x95\x52\xAD\x71\xAD\x56\x27\x10\x86\xD4\xA6\x5D\x0F\x71\xA3\x5F\xAD\x70\xAD\xA1\xAA\x64\xA4\x90\x6B\x65\xAD\x67\x97\x0F\xA0\x69\x97\x11\xA0\x8C\xA3\x7A\x7A\xCF\x90\x31\x86\xDD\x4C\x64\x86\xAF\xA4\x25\xAB\xE6\xAA\x87\xA2\xFB\x7A\x71\xA5\xC8\xAC\xEC\xAA\x14\xA0\x22\x9D\xB0\x66\x8C\xAD\x88\x95\x11\xA3\xCA\xA4\x80\x01\xCF\xA3\x98\xA6\x04\xAD\x37\xA7\xA4\xAD\x1B\x5D\xB3\xAD\xFF\xA4\x5D\x90\xA9\xAD\xD5\x97\xF8\x7A\xC2\xAC\xBB\x92\x49\xAB\xF1\xA3\xEB\xA8\xA0\xA0\x28\x6C\xBC\xAD\xDC\x5F\xBE\xAD\x61\x85\x00\x8F\x70\xA7\x48\x71\xFF\x97\xC4\xAD\x81\x8C\x75\xA7\x29\xAB\x58\xA7\x78\xA7\xA2\xA0\xB0\xA9\x64\x6A\xCD\xAD\x69\x85\x8E\xAD\xBD\xA0\x2A\xA4\xCC\x95\xDB\xAD\x92\xAD\x18\x62\x84\xAC\x98\x71\xAC\xA7\xD6\x9B\x8A\xAD\x3F\x0A\xDC\xAD\x2B\x9A\xAA\xA7\x9E\x5C\x92\xAB\x98\xAD\xA6\xAD\xE2\xA1\x1C\xAD\xB6\x89\x3C\xAD\x7B\x82\xDD\xA7\xA7\x9B\x26\x9F\xEB\xAD\x81\x8A\x9E\x9D\x6E\xA5\x38\x9F\xB2\xAD\xE3\xAD\x77\x86\xE3\xA9\xB3\xA9\x09\xAB\xDF\xAB\xB1\x98\xE1\xAD\x81\x6C\xFA\xAD\x84\x80\xA7\x94\xFB\xAB\xDA\x5F\xF1\x9C\x7E\xAD\x00\xAE\xF1\x85\x76\xA1\x24\x94\x12\x9D\x91\xAD\xA7\xAD\xED\xAD\xB0\xA4\x2E\xAC\x49\x86\x30\xAC\xC4\x9D\x60\xAD\x16\xAE\x3A\xAD\xD1\x85\x65\x94\xB6\x72\x0E\xAE\x1D\xAE\xF2\xAD\xE5\xAD\x50\x7A\x6B\xAC\x56\x59\x6D\xAC\x6F\xAC\x14\xAE\xFF\xAD\x1E\xAE\xF3\xAD\x85\xAC\x2D\xAC\xBC\xA6\x1B\x86\x7C\x9E\xF6\xA6\x57\x9D\xEA\xAD\x10\xAE\xC0\x94\xE4\xA8\x6C\xA9\xC5\x7C\xCF\x81\xB1\x09\x04\xA2\x23\xAD\xCE\x90\x11\xA9\xA5\xAD\x3B\x4F\x2E\xAE\x26\xAE\xE3\xA8\xC0\xAC\xE1\xAC\x8F\xA5\xC4\xAC\x91\xA5\xC6\xAC\x08\xAB\xB9\x97\x24\x59\x96\xA5\xCC\x5A\x43\xAE\x4A\x56\x45\xAE\xDF\xAC\x27\xA9\x18\x9C\xEA\xAA\xA1\x9F\x35\xAA\x3B\x8B\x0C\xA9\x3D\x8B\xD5\xA9\xD8\x78\x42\xAE\xBD\xAD\x38\xAE\x5D\x90\xFE\xAC\x11\xA7\xD0\xA5\x01\xAD\xD2\xA5\x4E\xAE\xCD\x90\x0D\x0E\xD6\xA5\xAD\x85\x62\xAE\x55", +"\xAE\x34\x96\xE0\xAC\xC3\xA8\x6B\x8B\x64\x91\x22\xAD\x6A\xAE\xA6\xAC\x6F\x86\xF8\xA5\x73\x86\x44\xAE\x25\xAE\x0D\xA8\x31\xAE\xDA\xA6\xA8\xA9\xE3\x99\x31\x9A\x91\x9E\x5A\x6A\x43\xAD\x94\x76\x83\xAE\x20\xA6\x50\xAD\x8A\x8F\xDC\x5F\x7C\x87\x6E\x95\xA6\x8A\xDC\x89\x2B\xAD\x46\xA8\x53\x8E\x2E\xAD\x85\xA6\x39\xA9\x87\xA6\xE3\xA6\x89\xA6\xBA\xA7\x29\xA7\x63\xAA\x08\xA0\x29\xAC\x70\xA8\xFA\xAC\x58\x7E\x55\xAD\x2D\x7E\xF5\xA2\x9F\xAD\x68\xAD\x5C\x9F\xB8\x87\xBA\x91\x3C\x0E\xBC\x91\x1B\xA3\x06\x01\x8D\xAE\x0E\x9A\xCC\x8A\x88\x8A\xB1\xAB\xD7\xA3\x90\xAC\x9B\xAB\x79\xA3\x9D\xAB\x14\xAD\x1E\xAA\x16\xAD\x7D\xA2\x18\xAD\xDF\xAA\xD9\xAB\x2E\x7F\xD7\xA6\x30\x7F\x56\xAD\x09\xAA\x58\xAD\x88\xA3\xF8\xA2\x5E\x9F\xB4\x97\xE5\x8D\xC2\x9D\x06\x01\xCB\x5B\x70\xAC\xAD\xAE\x44\x8B\x9C\x8B\x16\xA8\x5F\xA7\xB4\xAE\x61\xA7\x9C\xAB\x63\xA7\x9E\xAB\xB8\xA8\x34\xAD\x42\xA9\xF6\xAC\x08\xA8\xBB\xAB\x2D\xA7\xBE\xAC\x9F\x86\x74\xAD\x0F\x97\x76\xAD\x01\x27\x16\xA3\xC8\xAD\x88\xAC\x45\x75\x8F\x7E\xCD\xAE\xD8\x24\xCF\xAE\xC0\x89\x1D\xA7\xB2\xA7\xD1\xAA\xFD\xA7\x0F\xAD\x96\xAE\x31\xA8\xD5\xAC\x30\x91\xD7\xAC\xEB\xA2\xD9\xAE\xD4\xAB\x9C\xAE\xB7\xA0\x9E\xAE\x05\xA9\x2B\xAC\xAC\x86\x56\x85\x36\xA3\x32\x88\x85\xAD\xB9\xAD\x3A\xA3\x11\x0E\x3C\xA3\x65\xAB\xAE\xAE\x05\x8F\x42\x8A\x90\xAE\x39\xAC\x2C\xAD\x3B\xAC\x1F\xAC\xF3\xA4\xB5\xAB\xF5\xA4\xB7\xAB\xF7\xA4\xB9\xAB\xF9\xA4\xBC\xAC\xD0\xA6\x42\xAB\xD2\xA6\x8A\xAA\x56\xA3\x1C\x8B\x58\xA3\x61\x1B\xEC\xAE\xCD\x8A\xEE\xAE\xD2\xA8\x02\xA3\x11\xAF\xF1\xA1\xB6\xAE\xD6\xAE\xB8\xAE\x60\xAA\xBA\xAE\xCB\xA2\xBC\xAE\x00\xAB\x67\xAC\x49\xAA\x46\xAE\x6A\xAA\xE3\x87\x96\xAD\x8A\xAE\x81\x6F\x1B\x5D\x0A\xAF\xB9\x8E\xBF\x89\x23\xAF\xD1\xAE\x36\xA9\x6B\xAB\xF9\xA9\x3E\xAC\x19\xA9\x40\xAC\x1B\xA9\xFA\xA8\x1D\xA9\xFC\xA8\x1F\xA9\x48\xA5\xFB\xAE\x57\xA1\x40\xAB\x8F\xA7\xA0\xAE\x3E\x8D\xEF\xA9\xB2\x87\x9D\xAD\x44\x71\x9E\x96\x88\xA3\xA1\xAD\xC6\xAA\x8D\xA3\xA8\xAC\x3A\xAF\xAC\xA3\x66\x8A\xDD\x72\x78\xA5\x55\xAC\x5A\xA9\x13\xAB\x00\xA6\x15\xAB\x02\xA6\xB4\xAC\x98\xA8\x42\xAC\x1A\xAB\xDA\xAA\x1C\xAB\x46\xAC\x1E\xAB\xF8\xAC\x51\xA0\x1B\xAF\x0B\xA7\x33\xAF\xF4\x86\x0E\xA7\x66\x0B\xB9\x92\xD3\xAD\x1F\x9B\x09\x93\xE6\xAE\x94\xA5\xC0\x92\x18\xA7\xE9\x65\x5B\xAF\x00\xAD\x3C\xAF\xB1\xAE\x54\xAC\xD1\xAC\x0D\xAD\x78\xAC\x1A\xA8\x98\xAE\x1C\xA8\x9A\xAE\x1E\xA8\x4B\xAF\x8B\xA1\xFD\xAE\x22\xAB\x61\xAB\xCC\xA3\x45\xA4\x06\xAB\xA7\x66\x05\xAF\x04\xAE\x5A\xA0\x06\xAD\x8C\xAE\x22\xAF\x82\xAF\x24\xAF\xFB\xA7\xB0\xA8\xF1\xAE\x3D\xAC\x10\xAD\x07\xAC\x12\xAD\xEE\xAB\x4E\xA8\xFF\xA9\x8A\xAF\x62\xA9\x63\xAC\x45\xAA\x6E\xAF\x71\xA1\x70\xAF\xE1\xA8\x2F\xAE\x2E\xA0\x53\xA7\x77\xA0\x27\xAB\xF0\xA3\xE9\xAA\x3B\xAE\xEB\xAA\xFF\x00\x80\xA0\xEB\x88\x3F\x0A\x7F\xAF\x67\xAE\x81\xAF\xF3\x8A\x0C\xAD\x61\xAF\xC9\xAB\x63\xAF\xCB\xAB\x5A\xAC\xA3\xAF\x09\xAC\xB6\xAC\xD0\xAB\x6A\xAF\xD2\xAB\x4B\xA7\xDA\xAE\xA9\xAF\x9D\xAA\xA3\xAB\x31\xAF\x02\xAB\xAF\xAF\x75\xA0\x33\x89\x0C\xA4\x78\xA0\xAA\x94\xBD\xAF\x06\x8F\xC7\xAD\x4B\xAB\xC9\xAD\x35\x93\x79\xA7\xE1\xAB\x64\x6A\xBC\xAF\x48\xAB\xEE\x88\x9B\xAF\x3E\xAF\x1E\xA7\xDF\xA6\xB0\xAC\x99\xAB\x5D\xA9\xD5\xAA\xF5\xAE\x52\x91\xF7\xAE\x29\xA3\xB9\xA8\x62\xAC\x8C\xAF\x3B\xA2\x8E\xAF\x41\xAB\xDF\xAE\x24\x85\x63\xAB\x45\x0D\x50\xAC\x0E\x05\x9A\xAF\xBF\xAF\xAD\xAC\x61\xA8\x41\xAF\xA1\xAF\x3F\xAC\x5B\xAC\xCE\xAB\xC8\xAF\x0B\xAC\xA7\xAF\x01\xAA\xCE\xAF\xFE\xAA\x2F\xAF\x1D\x94\xEA\xA6\xFF\xAE\xE8\x98\xE7\xAD\xB1\x83\x67\x94\xE2\xAF\x2B\xA9\x1D\x8B\xED\xAE\xE6\xAF\xEF\xAE\x2D\xAD\x9F\xAF\xC9\xA7\x6D\xAB\x03\xB0\xC6\xAF\x5C\xAC\xA5\xAF\xF0\xAB\xF4\xAC\x00\xA1\xDB\xAE\x44\xA9\x0C\xB0\x6A\x77\x82\x7E\x2F\xA7\x72\xAF\xC1\x68\xEF\xAD\x97\xA4\xCE\xAE\x8F\xA2\xE4\xAF\xFE\xAF\xB2\xAE\x93\xAA\xD3\xAE\x95\xAA\xD5\xAE\x81\xA8\xD7\xAE\x41\xAA\x2D\xAF\x2D\xA3\x27\xB0\x81\x7E\x47\x7B\x0F\x81\x06\x99\xF5\xAD\x09\xA9\xAB\x8F\xAC\xAB\xCB\x7C\xBB\xAF\xFD\xAF\x01\x8A\x6C\x94\x9A\xA5\x9D\xAF\xD3\xA8\x94\xAE\xA3\xA6\x64\xAF\xA5\xA6\x44\xAF\xFD\xA9\x21\xB0\x5E\xAC\x23\xB0\x7B\xA2\x0A\xB0\x0F\xAC\x19\xAF\x09\xA7\xAD\xAF\x8D\x98\xFC\xAD\x4F\x77\xAC\xAE\xEB\xAE\x30\xB0\x16\xB0\x3D\xAF\x58\xA9\xF7\xA9\x40\xAF\x3B\xAA\x02\xB0\x43\xAF\x04\xB0\x41\xAC\x06\xB0\x43\xAC\xEF\xAF\x9D", +"\xA3\x6C\xAF\x17\xAD\xAB\xAF\xCF\xA2\x5C\xB0\x89\xAA\xF2\xAD\xC4\xA9\xDD\xAB\x7B\xAF\x3C\x0E\x43\xA1\x1A\x7C\x14\xB0\xC5\xAD\x31\xB0\x49\xB0\xC0\xAF\xE8\xAF\x5B\xA9\xEA\xAF\xB2\xAC\xF2\x91\x00\xA4\x94\xAC\x24\xAC\xD9\xAC\xDD\xA8\x5A\xB0\xDF\xA8\x75\xB0\xF8\xAB\x2B\xB0\x5C\xAD\x24\x59\x5D\xA1\x13\xB0\x48\xB0\x6F\x8B\xD0\x94\x5E\xA7\x3F\xAF\x84\xAB\x6C\xAB\x86\xAB\x39\x97\x32\xAD\xE7\xA5\xF9\xAE\x93\x96\x01\xA9\x73\xB0\x51\xA3\x8F\xB0\x13\xAC\xC6\xA4\x12\xAE\x3A\x7C\x7E\xB0\xD4\xAD\x63\xB0\xE5\xAF\x65\xB0\x39\xAA\x67\xB0\x33\xAB\xF3\xAE\x5E\xA9\xF2\xAC\xF6\xAE\x56\xB0\xC9\xA2\x58\xB0\x7F\xAC\xA4\xB0\xE6\xA3\xA6\xB0\x9B\xAC\x2E\xAE\x78\xB0\x87\xAC\x5A\x99\x1B\xAE\x95\xB0\x62\xB0\xBE\xAF\x81\xB0\xFF\xAF\x93\xA8\xB2\xB0\x1D\xB0\x6A\xB0\x1F\xB0\x05\xB0\x54\xB0\xB7\xAC\x08\xB0\x0D\xAC\xB9\xB0\xBB\xAC\xDD\xAE\x0A\xA8\xF7\xAF\xE8\x98\x21\xAE\x0B\x86\xFB\xAF\xAB\xB0\x1F\x9B\xD0\xAE\xAF\xB0\x58\xAA\x32\xAB\xF4\xAA\xB3\xB0\xEC\xAF\xB5\xB0\xEE\xAF\xB7\xB0\xED\xA2\xD3\xB0\xF7\xAC\x8D\xB0\xF6\xAB\xBD\xB0\xDE\xAC\x9A\xAD\xEB\xA9\x12\x86\x89\x94\xAA\xB0\x96\xB0\xA7\x8A\x82\xB0\xFC\xA7\xE9\xAF\x45\xA6\xE3\xB0\xF6\xAA\xD6\xAA\x45\xAF\x19\xAB\x47\xAF\xD1\xAB\x49\xAF\x86\xA5\xBA\xAB\x9E\xAA\xBE\xAE\x90\xAF\xF6\x85\x6B\xA9\xA5\xAC\x33\xAE\xA4\x90\x98\xAF\x7E\xAF\xF4\xB0\x0D\xAF\xD0\xAC\xB3\xAE\xEF\xAC\x9E\xA7\x73\x91\xFC\xB0\x53\xB0\x38\xAB\xC9\xAF\x44\xAC\x6B\xAF\x8B\xB0\xB9\xAA\xBB\xB0\x1A\xA5\xED\xB0\xFB\xAC\x91\xB0\x6A\xA5\x48\xAE\x73\xAE\xA1\xAC\xC6\x94\xEE\x7C\xAD\xAD\xE6\xAC\xCA\xA8\x49\xA2\x2F\xB0\x26\xAD\xAD\xB0\x32\xB0\x83\xAF\x11\xB1\x85\xAF\xD3\xAC\x14\xB1\xED\xAF\x77\x91\x6F\xB0\xCA\xA6\xA1\xB0\x6A\x7A\x26\xB0\x1D\xB1\x4E\xA5\x1F\xB1\x72\xA8\x21\xB1\x6D\x62\x3A\xAE\x09\xB1\x2A\xA9\x08\x0E\x9B\x99\xF4\x90\x7A\xAF\x51\xA9\xFF\x00\x51\xAE\xAB\xA8\x2C\xB1\x86\x8A\x35\x8D\x0F\xB1\x5F\xAF\x84\xAF\xC1\xAF\x57\xAC\xC3\xAF\x59\xAC\x65\xAF\x52\xB0\xB5\xAC\xCF\xB0\x18\xB1\x37\xB1\x4A\xA7\xF1\xAF\x35\xAD\xA2\xAB\xD5\xA7\x82\xAC\x3D\xA8\x56\xAE\x87\x68\x62\x8B\x87\xA2\xBF\x99\x0D\xA9\x59\xAE\xB4\xA5\xC3\x99\x0C\xB1\xB0\x66\xDC\xB0\x01\x98\x45\x8B\x5E\xAF\x4B\xB0\xAF\xA8\x4D\xB0\x1B\xB0\xB2\xA8\x9D\xB0\xF6\x98\x9F\xB0\x6C\xA6\x39\xB1\xDD\x7F\x79\x73\x03\xA9\xF5\xAF\x4E\xAF\x3E\xB1\x40\xB0\x18\x91\x40\xA2\x73\xA7\x42\x95\x69\xAE\x86\xAD\x4F\xAE\x05\xAD\xB0\xAD\xDA\x78\x39\xAF\x0E\xB1\x76\x93\x73\xB1\xD0\xA4\x53\xB1\x0E\xAD\xA0\xAF\xFA\xB0\x35\xAB\xF7\xAA\x37\xAB\x7A\xB1\x04\xA8\x7C\xB1\xDA\x8A\x7E\xB1\x47\xAA\xD1\xAF\xA5\xAB\xD3\xAF\x47\xAE\x72\xAE\x43\xB0\x41\xAD\x77\x0C\xF4\xA5\xDC\xAF\xDE\xAB\x79\xAE\x25\xAD\x4E\xB1\xE1\xAF\x8F\xB1\x4B\x95\x99\xB0\xE7\xAF\xF7\xB0\x84\xB0\xF9\xB0\xCB\xB0\xCC\xAB\x6B\xB0\xFD\xB0\x68\xAF\xFF\xB0\xCA\xAF\x01\xB1\xD3\xA7\x60\xB1\x3B\xA8\x62\xB1\x55\xA8\xA2\xB1\xE7\x93\x42\xB0\x6C\xA5\x3E\xAD\xEC\xAC\xB5\xAF\x74\xAE\xA5\x4B\x91\x91\x44\xAD\x73\xAC\x1E\x71\x53\x96\x56\xA5\x9E\x00\x4A\xAD\x42\xB1\x88\x61\xB4\x95\x7C\x96\x09\x01\x9F\x00\x46\xAD\xD1\x83\x8B\xAA\xB6\x30\xDA\xB1\x6A\x87\x88\xAD\xB8\x95\xBC\x9D\xE9\x65\x32\x8C\x2B\x9B\x6B\x94\xDE\xB1\xE7\xB1\xE8\xB1\xFB\xA2\x11\x0E\x0E\x64\x50\xAF\x24\x9B\xED\x96\x41\x8D\xEB\x30\x0F\x88\xD5\xB1\x1D\x74\xB7\x5D\xF9\x9F\x6E\x4D\xAC\x95\x4D\x6D\x78\x8C\x3B\xAF\x5D\xAF\xD6\x60\x0D\x0E\x5A\xA3\xA1\x00\xE9\xB1\x12\x84\x3C\x8C\x1E\x21\x15\x96\xFF\x8B\x09\x01\xA4\x00\x3F\x9A\xAC\x56\x67\xAD\x1E\x89\x0A\xB2\xCC\x5A\xA4\x8C\x4A\x55\x19\x52\xEF\x1E\x83\xA9\xF9\x5A\x1F\x59\x7D\x04\x3B\x0E\xA3\x00\x3F\x9A\x0F\x00\x2B\x0E\x1B\x96\x1A\xB2\xCF\x5A\x0F\xB2\x29\x31\x13\xB2\xB0\xA5\xC7\x7D\x5A\x31\x41\x64\x08\xB2\xE0\x83\x31\x00\x87\x9A\x1E\x89\x28\xB2\x1E\xB2\xCD\x80\x91\x5A\x66\x31\x21\xB2\x7D\x8C\xF3\x63\x16\xB2\x27\x01\x18\xB2\xE0\x83\x2F\x00\x29\xB2\xE1\x89\x37\xB2\x2C\xB2\xE6\x8F\x2E\xB2\x21\x52\x30\xB2\x88\x54\x33\xB2\x09\x01\x35\xB2\xD5\x9B\xFB\x08\x38\xB2\xB3\x08\xB2\x1A\xCD\x5A\x1F\xB2\x2F\xB2\x16\x5B\x40\xB2\x74\x8D\x01\xB2\xD6\x83\xE0\xB1\x6D\x5F\xA1\x9D\x64\x6A\x1E\x8D\x2C\xAE\x65\x90\x91\x15\xF4\xB1\xC4\x5A\x9B\x86\x4D\x0A\xF8\xB1\x3F\x0A\x55\xB2\xB1\xAD\x57\xB2\x08\x03\x4F\xB2\x63\xB2\x92\x8D\x6E\x8D\x06\x01\xA6\x00\xA3\x5C\x51\x0E\x3B\x0E\x26\xB2\x44\xB2\x0D\xB2\x31\x8D\xE5", +"\x72\x6E\xB2\xCA\x5A\x68\x8D\x2B\x52\xA6\x8C\x30\xB2\xB3\x5A\x76\x02\x41\x64\x43\xB2\x70\x9B\x4E\x04\x1B\xB2\xA1\x77\x1D\xB2\xCE\x5A\x73\xB2\x26\x52\x3E\xB2\x4C\xB2\x13\x41\xEB\x57\x25\xB2\x3F\x9A\xEA\x6E\x1B\x96\x1C\x6F\xC8\x5A\x81\xB2\x8B\x8D\x4B\x55\xDC\x0C\x76\xB2\x32\x55\x02\x07\x79\xB2\x3F\x9A\x2E\x00\x46\xB2\x48\x8C\x95\x5B\x8D\xB2\x02\x29\x8F\xB2\x03\x0A\x3F\xB2\x85\xB2\x56\x55\xB0\x8C\x64\xB2\xA2\xB2\xE7\xB1\xEC\xA9\x01\x01\xEE\xA9\x26\x0C\xB0\x66\x91\x8D\xCE\x5A\x6C\x9B\x3E\x81\x75\xAC\xFD\xA6\x35\xB0\x85\xAB\x30\xAD\x7D\xAA\x9A\xB1\x40\xA9\xCC\xAF\xFA\xAE\x36\xAD\x64\xAA\x38\xAD\xDB\x8D\xC0\xAE\x52\xAF\xC2\xAE\xC0\xAA\x55\xAF\x38\xA6\x0C\xAA\x7D\x9F\x0E\xAA\x11\x0E\xAB\xAE\x2E\xB0\x03\x01\xAA\xB2\xCD\x5A\xAC\xB2\xF6\xB0\x9E\xAF\xF8\xB0\xE1\xA6\x79\xAC\x88\xAF\x7B\xAC\xD1\xB0\x7D\xAC\xE9\xB0\xDC\xAE\x04\xB1\xDE\xAE\x16\x5D\xA2\xAE\xEE\xA6\xA4\xAE\xF0\xA6\x2A\xAA\xA2\x96\x2C\xAA\xC7\xAE\x55\x85\xA2\xAA\xCA\xAE\xFD\xA2\x3E\xA6\xC9\xB2\xCC\x5A\xCB\xB2\xC8\xB0\x17\xAA\x05\xAC\x69\xB0\xB7\xB1\xCD\xB0\x6C\xB0\x5A\xB1\x07\xB0\x5B\xAB\x9B\xAE\xB8\xB2\x9D\xAE\xBA\xB2\xE8\xA3\xC3\xB1\x04\xAB\x04\x92\x02\x88\x77\xAD\xE5\xAE\xA9\xB1\xA8\xA8\x7C\xA6\xD5\x7B\xEA\xAE\x02\x01\xE7\xB2\x66\x96\x40\x59\xCF\x14\xCC\xB2\x75\xB1\xCE\xB2\xB5\xA7\xB2\xB2\x87\xAB\x39\xB0\x99\xAA\x3B\xB0\xC6\xA3\x3D\xB0\x90\x89\x29\xB0\x0C\xA8\xEF\xB0\x7B\x89\xD6\x9B\x84\xAD\x97\xA6\x48\xB1\xC0\x74\x71\xAA\x67\x94\x05\xB3\x75\x96\x07\xB3\xD3\x14\x09\xB3\x26\xAF\x4E\xB0\x2F\xA8\x96\xB1\x11\xAD\x98\xB1\x13\xAD\x89\xB0\x15\xAD\x71\xB0\xBB\xAE\x3C\xB1\xAA\xA5\x7A\xAB\xBC\xA0\x1E\xAF\x2F\x93\x20\xAF\x06\x01\x20\xB3\xC9\x5A\xE9\xB2\x33\xB0\x1D\xAC\x10\xAF\x26\xB3\xD5\xA8\x0D\xB3\x9E\xB0\x0F\xB3\x89\xAB\x11\xB3\x3B\xA4\x13\xB3\x7B\x90\x15\xB3\xA3\xA8\xF9\xB2\x2E\xAA\xE3\xB2\x70\xA3\x37\xAF\x9B\xAD\xE9\x65\x38\xB3\x38\x9B\x74\x51\xD7\x64\xAD\xB2\x91\xAE\x11\xAB\x93\xAE\x76\xB1\xD3\xAA\x28\xB3\xA2\xAF\x2A\xB3\xA4\xAF\x17\xB1\xF2\xB2\xC0\xA4\xA5\xA7\xBF\xB1\x53\xA8\xC1\xB1\x19\x6F\x08\xAA\xBF\xB2\x0A\xAA\x77\x7A\x91\x8E\x1E\xA5\x93\x8E\xA8\xAC\x51\xB3\xB6\x8C\xB2\x8C\x13\x14\x24\xB3\x83\xA6\x3E\xB3\x20\xAC\x92\xAC\x8A\xA4\x2B\xAF\xFA\xAA\x44\xB3\x4A\xA5\x46\xB3\x83\x95\x48\xB3\x43\xAB\xEE\x5D\x74\xAF\x03\x0B\xAA\xA3\xFF\xAC\xD9\xAF\x02\x98\xDB\xAF\xA4\xAC\xC7\x88\x7D\xAF\xA9\xB2\xD0\x5A\x3A\xB3\x30\xB1\x34\xB0\x12\xB1\x19\xA8\x68\xA6\x7A\xAC\x60\xA9\xD3\xB2\xB9\xAC\xD5\xB2\x3B\xB1\xEB\xB0\x11\xAC\x82\xB1\x94\xAD\x32\xAC\x93\xAF\x28\xB1\xD4\x7A\x35\xAE\x8D\xB1\xDC\x5F\x6F\xB3\x52\x64\x22\xB3\x60\x0A\xEA\xB2\xF3\xAA\xEC\xB2\x5B\xB3\x1E\xB0\x5D\xB3\xC7\xAF\xF1\xB2\x6E\xB0\xE7\xB0\x7E\xA3\x98\xB3\x9E\xB1\xBB\xAA\x65\xB3\x53\xA0\x4A\xB3\xA7\xA3\xB1\xAF\x26\xAB\xAB\xAD\x56\xA7\xA0\xB3\x0A\x8F\xC8\xAA\x2B\xB1\xC8\xB2\x8D\xB3\xA7\xB3\x68\x9D\x8F\xB3\x3C\xB3\x03\xAC\x94\xB1\x1C\xB0\x78\xB1\xD2\x99\x5F\xB3\xB1\xB3\x96\xB3\xF5\xAC\xB4\xB3\xB2\x77\x0D\xB0\x6D\xA7\x0F\xB0\x32\x89\xD0\xAD\x87\x35\x49\x71\xBD\xB3\xE8\xAA\x40\xAD\x5F\xAE\xA1\xA0\x4E\xAB\xFB\xAF\xA5\xB3\x14\x0E\x8E\xB3\x9C\xAF\x74\xB1\x25\xB3\x59\xB3\x2F\xAD\x37\xB0\x97\xAA\x42\xB3\x33\xAD\x7B\xB3\x8D\xA6\xD5\xB0\xA1\xA8\xD7\xB0\x48\x97\xF9\xAF\xBE\x76\xE1\xB3\xC4\xB3\xE0\x4A\x0D\x14\x73\xB3\xA1\xA6\x75\xB3\x12\xAF\x58\xAB\xB6\xAB\x5A\xAB\x61\xB3\x51\xA8\x63\xB3\xBC\xA8\xB7\xB3\x73\xA0\x1F\xAE\xBA\x5E\x11\xB0\x44\xA4\xDE\x9E\x50\xB3\xF7\xB3\x71\xB3\xF9\xB3\xA9\xB3\xE1\xB0\xAB\xB3\xB6\xB1\xC5\xAF\xAE\xB3\x20\xB0\xCE\xB3\x69\xAF\x19\xB1\xCB\xAF\x5E\xB1\xCD\xAF\xF3\xAF\x68\xA3\x80\xB1\x7F\xB3\x1C\xAF\x65\x67\x2D\xB0\xC0\xAB\x27\x01\xE2\xB3\x10\x0E\xE4\xB3\x18\xB0\x25\xAF\x74\xB3\xE8\xB3\x95\xAE\x13\xB4\x57\xB1\xB8\xB1\x16\xB1\xB4\xB2\x74\xAB\x1B\xB1\x3D\xAB\x30\xB3\xCB\xA5\x90\xAB\xA7\x8F\xC5\xB1\xA2\xA9\x7F\xA4\xF7\xAD\x2D\x77\x10\xA1\x25\xB4\x0D\xB4\xD6\x64\x72\xB3\x10\xB4\xB1\xB0\xE2\xB0\x2E\xB4\x51\xB0\x30\xB4\x59\xB1\x17\xB4\xBB\xB1\x19\xB4\xBD\xB1\x39\xA8\x03\xB4\x5E\xAB\xF7\xB2\x94\xA4\x5E\xB0\xE3\x85\xC7\xB2\x04\xB3\x41\xB4\x53\xB3\x43\xB4\x3B\xB3\x3A\xAC\xC9\xB3\x86\xAF\x93\xB3\xD1\xB2\x95\xB3\xF3\xB2\x8B\xAF\xF5\xB2\xFC\xAE\x52\xB4\x74\xA6\x07\xB4\x72\xAD\x3A\xB4\x6A\xB1\xAE\xAD\xFF\x00\x7C\xB0\x1F\xB3\x58", +"\xB4\x83\x51\x54\xB3\xFA\xB3\x7F\xA7\x2C\xB4\x4F\xB0\xC4\xAF\x2F\xB4\xEF\xB2\xB9\xB1\x6D\xB0\x18\xB4\x5C\xB1\x89\xA7\x2E\xB3\x2E\xAF\x36\xB4\x51\xA6\x32\xB3\x5B\xA1\x93\xB0\x1E\x8A\x65\xAB\x26\xB4\x0C\x0E\x28\xB4\xDF\xB0\xAD\xAA\x9B\xB0\x01\xB0\xAC\xB3\xCC\xB0\x15\xB4\xCE\xB0\x4B\xB4\xA0\x73\xB5\xB2\x1B\xB4\xB7\xB2\x50\xB4\x8D\xAB\x66\xB4\x91\xA6\x3E\x68\xE8\xA4\x6D\x72\x3A\xA5\x88\xB4\x08\x0E\x8A\xB4\xD0\xA8\x9F\xA6\x2A\xB4\xFB\xB3\x75\xB4\x27\xB3\x47\xB4\x4B\xA8\x79\xB4\x31\xB4\xEC\xB3\xA0\xB0\xEE\xB3\x07\xA7\x9A\xB3\x99\xAC\x9C\xB3\x82\x85\xA2\x90\xBB\x6D\x03\xA5\x3A\x81\x6F\xB4\xA0\x8C\xC5\xB3\x36\x9E\xC7\xB3\x5C\xB4\x58\xB3\x0B\xB3\x7F\xA8\xEA\xB3\x31\xAD\xAD\xB4\x7B\xB1\xAF\xB4\x2B\xA7\xF0\xB3\xBD\xAC\xD6\xB3\x03\x78\xD9\xB0\x61\x90\xF6\xB3\xBA\xB4\xF8\xB3\x08\xB3\x44\xB4\x8D\xB4\x68\xB0\x8F\xB4\xEE\xB2\x91\xB4\xF0\xB2\x93\xB4\x77\x80\x4E\xB4\x9E\xA8\x18\xAF\xC8\xB4\x1A\xAF\xF2\xB3\xBE\x9F\x3D\x99\x6C\xAC\x8E\xA8\x60\xB0\x57\xB4\xCF\xB4\x0E\xB4\xD1\xB4\x5B\xB4\x0F\xAF\x5D\xB4\x33\xB1\x11\x94\x35\xB1\x9D\x93\x7D\xB4\xDB\xA8\x34\xB4\x76\xAB\x81\xB4\x0E\xB0\x38\xB4\xE1\x8F\x08\xB1\x8D\x7E\xE2\x9C\xA2\xB3\xF2\xA5\x81\x6C\xA0\xB4\x2E\x9B\x59\xB4\x0F\xB4\xEA\xB4\x92\xAE\xD4\x94\xA7\xB4\x3F\xB3\xC2\xB4\xB3\xB2\xC4\xB4\x9B\xB1\xC6\xB4\xA3\xB0\xB1\xB4\xDC\xAC\xB3\xB4\x39\xAE\x23\xB1\xA5\xB1\x3D\xAE\x40\x12\x3F\xAE\x77\xAE\x46\xA2\x3C\x0E\x2A\xB1\xE9\xAC\x09\x01\xFF\xB4\xD5\x64\x01\xB5\xE9\xB4\xBD\xB4\xEB\xB4\xBF\xB4\xB4\xB1\xCF\xB2\x87\xAF\x59\xAB\x99\xAE\x62\xB4\xA8\xAF\x1D\xB4\xA1\xA3\x1F\xB4\x3F\xB0\x6A\x85\x4B\xAD\x1F\xAD\x11\x8B\x54\x93\x13\x8B\x4D\xAE\x89\xB1\x6B\xAE\x24\xA2\x8C\xB1\xFD\xB4\x4D\x6D\x1D\xB5\xD9\x60\x1F\xB5\x23\xB3\xD2\xB4\xB0\xB2\x9C\xB0\x40\xB3\x79\xB1\x0A\xB5\x95\xB4\x9C\xB1\x46\x92\xB5\xB3\x20\xAB\x2D\xB5\x0E\x81\x2F\xB5\x85\xB1\x77\xAF\x4C\xAD\x44\xA2\x17\xB5\x6A\xA2\x47\x7D\x6E\xB3\x70\xB4\x24\x42\x72\xB4\x40\xB5\x91\xB3\x57\xAB\xD0\xB2\x27\xB5\x89\xAF\x29\xB5\x09\xB0\x2B\xB5\x06\xA4\x4B\xB5\x46\x8E\x83\xB1\xFD\xAC\x4E\xB5\x85\xB3\xE3\xAF\x68\xAE\x2D\xA9\xBF\xB3\x6C\xAE\x55\xB5\xE7\xB4\x42\xB4\x02\xB5\x21\xB5\x04\xB5\x28\x95\x06\xB5\x76\xB3\x13\xAF\x2C\xA6\x15\xAF\x2E\xA6\x17\xAF\x30\xA6\x0E\xB5\xF9\xAC\x10\xB5\x64\xAE\x67\xB5\x66\xAE\x3A\xB5\x89\xA2\xC0\x99\x3B\xB4\xE6\xAC\x53\xA9\x5D\x89\x3F\x0A\x3C\xB5\x5C\x8C\x3E\xB5\xA8\xB3\x03\xB5\x57\xB3\x05\xB5\xC0\xB4\xF2\xAE\xA9\xB4\xB3\xAC\x58\xB1\x67\xAF\x7B\xB4\x4C\xB4\xF1\xB4\xB7\xAA\xF3\xB4\x26\xAC\xF5\xB4\xD5\xB3\xF7\xB4\xB8\x7D\xF9\xB4\x56\x79\x57\xAE\x30\x9A\x45\xAD\x58\xA5\x80\x86\x74\xA9\x87\xAE\xA6\xB5\x3B\x8C\xFC\xA2\x67\x44\x1C\xAE\x06\x01\x66\x9B\xA6\xB3\xD0\xB4\xD3\x14\x20\xAD\x14\xA3\xFD\xB2\x94\x9E\xEE\x84\x2F\xAA\x3C\x0E\x39\x9C\x76\x9E\x64\x6A\xB1\xB5\xE3\xB3\xBB\xB4\x22\x73\xD5\x9D\xAC\x9E\x56\xB2\x81\x6C\xBF\xB5\x27\xB4\xC1\xB5\x1B\x9F\x3C\x61\xA5\x9E\x41\x9F\x28\x9E\x76\x9C\xF7\x9E\x22\x9F\x4C\x9C\xFA\x9E\xBB\x9E\xB0\x66\xC7\xB5\x89\xB4\xC9\xB5\xAC\x9C\xB1\x9E\xA9\x02\xE9\x9E\x05\x9F\xD1\xB5\x0D\x0E\xB9\x9E\x5C\x9E\xD4\xB5\xBE\xB5\x56\xB5\xC6\x01\x54\xB3\x53\x9C\xBF\x9E\xF4\x9E\x88\x9E\x48\x9E\xD0\x9E\x11\x9F\x06\x9F\x3C\x0E\xFD\x9D\x15\x9F\xC6\x9E\x27\x01\xD6\xB5\xA1\xB4\xD8\xB5\xC0\xAC\xCC\x9E\xB7\x9D\xCE\x9E\xA7\x9E\xCF\xB5\x2A\x9E\x6C\x9D\xB7\x5D\x40\x9D\xF1\xB5\xD5\x9E\x4D\x6D\xF4\xB5\x00\xB5\x71\xB4\x13\x14\xCA\xB5\x16\x5C\x16\x9E\xCD\x9E\x6D\xA5\xCF\x9E\xFC\xB5\x21\x9F\xFE\xB5\xC4\x5A\xE3\x9E\x6F\xAD\x32\x27\xE4\xB5\x48\x29\xCF\x14\xE7\x9E\x08\x87\x9B\x84\x0F\x9F\x87\x9C\xEA\x9E\xEE\xB5\xFF\x00\x2E\x9E\xE4\x9E\x57\x37\x15\xB6\x1E\x1C\x0D\x14\xB0\x9E\xA7\x49\x1B\x87\xE9\xB5\xC8\x9D\xEB\xB5\x0E\xB6\xD1\x9E\xDE\xB5\x11\x0E\x6F\x9D\x01\xB6\xEE\x9E\xF3\xB5\x23\xB6\x1D\x20\x25\xB6\xD9\xB5\xA7\x49\x2F\x87\x1B\xB6\xDF\x9E\xC2\x9E\x2E\xB6\x15\x0E\x4D\x9E\x13\xB6\x51\x30\x34\xB6\xE6\xB5\x0C\x9F\x3F\x87\x54\x9E\xCD\xB5\x9C\xA6\x2C\xB6\xED\xB5\x3D\xB6\x24\x59\x14\x9F\x2F\x9E\x22\xB6\x6F\xB5\x8D\xB5\x32\x03\x08\xB6\xCE\x5B\x1D\x9F\x0B\xB6\x5D\x9D\x0F\xB6\x22\x87\x2E\x9D\x3C\x0E\x24\x9F\x73\x9D\x35\x74\xDC\x5F\x04\xB6\x1E\xB5\x06\xB6\x0D\x14\xD4\x9C\x3C\x0E\x2B\x9F\x68\x9E\x03\xB6\x42\xB6\x13\x14\xA2\x9F\xDC\x9C\x01\x01\x8E\x9C\x7D\xA9\x3F", +"\x0A\x60\xB6\x3D\xB5\x62\xB6\xCF\x14\x35\x9F\xFB\xB4\x5D\x9C\xE2\xB5\xC6\xB5\x69\xB6\x0D\x14\x30\xB5\xB9\xB5\xB3\x9D\x85\x9E\xE8\x9C\xA4\xB2\x76\xB6\x01\x01\xA7\x00\xD3\xB1\x12\xB5\x25\x90\xF1\x8C\x6E\x96\xC4\x5A\x6C\xB6\xC0\x5D\xC2\x8C\xA5\xB2\x13\x66\x3A\x7C\x9B\x95\x32\xAE\x85\x9F\xE5\xB3\x92\xB1\x83\xB0\x62\xAF\x49\xA8\x50\xB0\xAA\xB4\xD7\xB4\x7A\xB4\xB0\xB3\x7C\xB4\xB2\xB3\xE0\xA3\xD2\xB3\xCD\x7B\x28\xB0\x3F\xB0\x67\xB3\x66\xAD\x86\x9B\xA6\xAE\xB8\x91\x5D\x9F\xA9\xAE\x9E\x5A\x4E\xB3\xAD\x64\x64\x6A\x91\xB6\x80\xAE\x26\xA6\x8B\xB4\x55\xAB\x5A\xB5\xB4\xAB\xFE\xB3\x14\xAF\x00\xB4\xB8\xAB\x62\xB3\x03\xB1\xD0\xAF\x05\xB1\x52\xA6\xBC\xB2\xDD\x8D\x53\xAF\x02\x93\xC0\xB2\x0B\xAA\xE2\x8D\x5A\xA6\xE1\xB2\x13\x8D\x66\xB2\x6D\xAD\xCB\xAE\x90\xB6\x14\xA9\xB0\xB0\xD3\xB4\xCA\xB0\xCC\xB3\x8C\xA0\xD9\xB4\x69\xA0\x79\x80\xA2\xB0\x22\xAA\xBD\xB6\xD8\xB2\xA0\xB5\x54\xAD\x77\xA6\x9E\x9F\x79\xA6\xE5\xAC\xC6\x8A\x4E\x85\x02\xB3\xC0\xB6\x4D\x6D\xB0\xB6\xDB\xA7\xDB\xA6\xA3\xB4\x7D\xA7\xA5\xB4\x74\xB4\x92\xB5\x95\xB1\x94\xB5\x87\xB0\xBE\xA4\xB9\xB6\x16\xAF\xBB\xB6\xDD\xB4\xD7\xB2\xD6\xB0\xCA\xB4\x34\xA3\xBF\x9F\x83\xAD\x96\xA6\x28\xB1\x2F\x8E\x37\x88\xE0\xAF\x81\x6C\xE6\xB6\xBC\xA9\xE8\xB6\xAE\xB2\x9C\xA7\xB5\xB6\x91\xAC\x77\xB5\x93\xAC\x79\xB5\x95\xAC\x7B\xB5\xF4\xAB\x7D\xB5\x6F\xAF\xE0\xB4\x34\xA3\x8F\xAD\x00\xB7\xE5\xB6\xCE\xB6\xE0\xB0\x45\xB4\x12\xB4\xD2\xB6\x1B\xA1\xD4\xB6\x07\xA6\xDB\xB4\x20\xAA\x61\xB5\xE1\xA4\x63\xB5\xFF\x92\x65\xB5\x6C\xB3\x5D\x0F\x8A\x94\x8A\xAC\x06\x01\x19\x63\xFA\x0D\x8C\x4B\x36\xB5\x66\x95\xEE\x9C\xA3\xAA\x5E\xAD\x56\xB4\x76\x3C\x34\xA9\x2E\xA4\x9A\xB0\x41\xB5\x8E\xB4\xEF\xB6\xEA\x97\x44\x93\xF5\xA1\x5F\xB5\xD2\xB0\x20\xB7\x32\xA5\x22\xB7\xAA\x98\xED\xB1\xA5\x64\xBD\xB2\xA3\xAE\x56\xA6\xA5\xAE\x94\x92\x57\xAF\x3B\xA6\x6E\x97\x39\xB5\x67\x95\xE9\x65\x02\xB7\xC5\xA9\xB6\xA3\xB3\xB6\x76\xAC\x32\xB1\xF0\xAC\x34\xB1\xE5\xB0\x36\xB1\x9F\xB6\x74\xA4\xA1\xB6\x90\x88\xD4\xB3\x89\xA8\x06\xB1\x6F\xA7\x4B\xA9\x5F\x7F\xDB\xB3\x28\xAB\x4A\xAB\x89\xB3\x1F\x95\xFF\x00\x3A\xA0\x24\xB4\x4D\x24\x16\xB7\x8C\xB4\x37\xB7\xD4\xB4\x39\xB7\x6D\xA4\x3B\xB7\x57\xA2\xD0\xB3\x24\xB0\x5C\xB7\xFA\x8F\xA3\xB6\x4C\xB5\x73\xAD\xB6\xAD\xA1\x04\x34\xA7\x67\xB7\x13\xA4\xB8\x5D\xA8\xAC\x50\xB7\x79\xB0\xFB\xA6\x53\xB7\xAF\xB2\x07\xB7\xB5\xAE\x21\xAC\x78\xB3\x2C\xB3\xB9\xAE\x7F\xB4\x3C\xB0\x9E\xB5\x5F\xB7\xE1\xAA\x44\xAB\xA4\xB5\x54\xA7\x64\xB7\xB4\xAF\xDD\xB3\x86\xB5\x59\xA7\x4D\xB7\xCA\xB1\x01\xB7\x6D\xB7\xB4\xB6\x55\xB7\x13\xB1\xEE\xB4\x58\xB7\xF0\xB4\x5A\xB7\x20\xA9\x77\xB7\x1C\x94\x79\xB7\x64\xB5\x6A\x85\x2C\x93\xD6\xAF\xB3\xAF\xC6\xAD\xC9\xB1\x54\x82\x15\xA4\xFB\xAF\x83\xB7\xC1\xB0\x85\xB7\xE9\xB6\xB1\xA7\xEB\xB6\xB3\xA7\xED\xB6\xCB\xB3\x43\xB5\xCD\xB3\x32\xB4\xF2\xAB\x0D\xB7\x97\xAC\x0F\xB7\xAC\xAF\x11\xB7\x8A\x7F\xF4\xB3\xFC\x07\x36\xB3\x39\x30\x9E\xB7\x54\xB7\x93\xB1\x5E\xB4\xF1\xAC\x94\xB3\xF3\xAC\x75\xB7\x57\xB0\x3F\xB7\x66\xA5\x05\xB4\x1B\xAD\x40\xB1\x08\xB4\x42\xA4\xD0\x82\xC9\xB7\x77\x35\x34\xB7\x67\xA4\xB2\xB1\xCD\xB2\x24\xB5\x0C\xB3\x08\xB5\x0E\xB3\x79\xB3\x9F\xAB\x0C\xB5\xD8\xB6\x61\xB1\xA0\xB1\x83\xAC\x7B\x60\x23\xB4\x7E\xA6\xDD\xB7\x57\xA9\xB7\xB7\xC5\xA7\x95\xB6\xB3\xB1\x97\xB6\xB1\xAC\x4A\xA8\x95\xB5\x49\xB4\x97\xB5\x9D\xB6\x99\xB5\xA5\xB7\x4A\xAF\x64\xB4\x4C\xAF\x41\xB7\x82\xA2\x24\xB7\xF4\xAD\x7F\xAE\xE7\xB6\x6C\x7D\x3D\xB4\xB5\x7B\x3F\xB4\x6C\xB7\xDE\xB7\xB7\xA4\xD2\xAE\x88\xB7\xD4\xAE\x29\xAF\x38\xB0\xE6\xB7\xD8\xAE\xE8\xB7\xD6\xAB\x90\xB7\x66\xAA\x82\xB1\xF4\xA7\x3A\xA5\xB4\xB7\x2A\xA8\x8F\xB5\x98\xAB\xEC\xB4\x56\xB7\xA2\xB7\xD0\xB7\xB6\xB0\xD2\xB7\xB8\xB0\xD4\xB7\x6B\xA7\x9A\xB4\x2A\xB0\x7E\xAE\x02\xAE\xA9\xAB\x78\xAE\x11\xA8\x06\xAE\x8D\xAA\x33\xB7\xF1\xB7\x05\xB7\x17\xA8\x10\xB8\x36\xB0\x12\xB8\xEB\xB3\x14\xB8\x3A\xB0\x8E\xB7\x12\xB3\x18\xB8\x87\xAA\x7F\xB5\xAF\xA4\x0C\xAE\x41\x68\x67\x94\x1D\xB8\x44\xA8\x1F\xB8\xC7\xAB\x23\xB5\xF6\xB7\x85\xB0\xF8\xB7\xF0\xB6\x49\xA6\x1C\xB7\x1E\xA9\xD6\xB6\x3A\xB1\x49\xB5\x3F\xAB\x02\xB8\x71\xA8\x04\xB8\x12\xA0\x15\x0E\xE9\xA4\x6D\x8E\x46\xB8\x5F\xA8\x59\xB5\xA0\xB7\x92\xB3\xCF\xB7\x60\xB4\xD1\xB7\x3D\xB7\xD4\xB2\x28\xB8\x7F\xB1\x2A\xB8\x16\xB3\x77\xB0\xD9\xA9\x5A\xA8\xB7\xB4\x62\x8A\x45", +"\xB8\xCB\xB7\x87\xB7\x60\xB8\x5B\xB5\x26\xB5\xFF\xB3\x28\xB5\x01\xB4\x5C\xAB\x98\xB4\x37\xAD\xD6\xB7\x39\xAD\xB9\xB3\x49\x27\x5C\x81\x01\x01\x23\x99\xDC\xB7\x33\xB8\x8B\xA9\x73\xB4\xBA\xB7\xE2\xB7\xC1\xB4\x39\xB8\xC3\xB4\x3B\xB8\x10\xB3\x3D\xB8\x45\xB3\x3F\xB8\x60\xAB\x92\xB7\x17\xB3\x64\xB6\xFF\x00\x2A\xAE\xCD\xB6\x0D\xB8\x23\xA5\x0F\xB8\x73\xB8\xB6\xB6\x5C\xB5\x76\xB8\x5E\xB5\x78\xB8\xF4\xB2\x7A\xB8\xB9\xB2\x7C\xB8\x53\xA3\x17\xAE\xB5\xB4\xEE\xA3\x89\xAC\x8F\xA3\xCA\xB7\x98\xB8\x3D\xA5\x9A\xB8\xCD\xB7\xED\xB4\x54\x97\xEF\xB4\x15\x94\x9A\xB5\x3B\xAB\x9C\xB5\x47\xAC\x90\xB8\x8F\xAB\x60\xB7\x11\x7D\x86\xB6\x86\xB5\xE7\x8A\xD0\x81\x70\xA5\xC9\xA9\xC7\x61\x82\xB7\x71\xB8\x06\xB7\x9B\xB8\x08\xB7\xB7\xB6\x78\xB5\xF2\xB6\x7A\xB5\xF4\xB6\x7C\xB5\xDE\xB4\x5B\xB0\xC5\xB7\xEB\x94\x42\xB1\x63\x8B\x46\xB1\xEA\xA8\xFF\xB2\x49\xB1\x4B\xB1\xC9\xAA\x15\xB7\xAC\xB8\x5B\xA5\xAE\xB8\x96\xB6\xC2\xAF\x98\xB6\x77\xB4\x48\xB4\xAB\xB4\x4A\xB4\xBF\xB7\x60\xAC\x16\xB8\x64\xAC\xB8\xB8\x2A\xAC\xDB\xB6\x36\x8B\x1E\xAD\xBD\xB8\x13\xAA\x23\x09\x5D\xAE\x6C\xB5\x10\xA9\x9B\xB7\xB0\xA2\xDA\xB8\x34\xB8\x56\xB3\x20\xB8\x4A\xB8\xDF\xB8\xF7\xB7\x99\xB6\xF9\xB7\xE3\xB8\xFB\xB7\x50\xB8\x48\xAF\x52\xB8\x7D\xB1\xD3\xB3\xA9\xB7\x23\xB7\x4D\xB5\xED\xB8\x6B\xB4\x0C\xB6\x0F\xA4\x2C\xA9\x5B\x86\x2E\xA9\x7F\xB7\x16\xA7\x5D\x0F\x6D\xAE\x1B\xB5\x06\x01\x5D\xB8\x91\xA8\x5F\xB8\xAF\xB8\x22\xB8\xB1\xB8\xA3\xB7\xB3\xB8\xFE\xB7\x02\xB1\xF5\xB6\xD9\xB6\xF7\xB6\xEB\xB8\x63\x95\x09\xB9\xB6\xAF\x5A\xAE\x84\xAE\xF3\xA5\x76\xAE\x2D\xB7\x18\xB5\xFF\x00\x88\xB5\x62\xB0\x3F\x0A\x16\xB9\x86\xB5\x86\xB8\xF0\xAE\xBB\xB7\x77\xB1\xBD\xB7\xD3\xB6\xE5\xB8\xD8\xAC\xC1\xB7\xDA\xAC\xC3\xB7\x74\xB0\xD0\xB8\x0A\xAE\x06\xB8\x03\xB7\x81\xAE\x25\xB9\x7C\xAD\xC8\xB1\x98\xB7\x83\xB5\x73\xA9\x55\x6F\xCD\xB1\xAB\xAC\x4E\xAD\x4F\x96\xA9\xB8\x67\xB6\x7C\xB6\x0A\xB9\x01\xB2\x4F\xB9\xBD\xB5\xFB\x0E\xD2\xB8\xA4\x85\x8E\xB6\xA7\xB2\x44\xB7\x81\x6C\x0C\x85\xB1\xB6\xBC\xA2\x72\xB5\x90\xB5\x74\xB5\x35\xB9\x5A\xB3\x71\xB7\x97\xA8\x73\xB7\x44\xA5\x1E\xB9\xBE\xB1\xBC\xB6\xEA\xB7\xBE\xB6\xB7\x6A\xDA\xB2\x37\x85\x54\xAF\x69\xB3\xD8\xA2\x72\x3C\x33\x7E\xA8\xAE\x25\xB7\xAA\xAE\xAD\xB6\x30\x0C\xB0\x66\x5D\xB9\x07\xB8\xB2\xB6\xF2\xB7\xAE\xA8\xF4\xB7\xE1\xB7\x4B\xB8\xB5\xB1\x1A\xB7\x25\xA3\x01\xB9\x00\xB1\x03\xB9\x9D\xB1\x05\xB9\x3E\xB0\x0E\x81\xA5\xB6\x9E\xAD\xDD\xB2\xB6\x87\xC6\xB6\x6A\xAD\xDB\x79\x6C\xAD\xE4\x87\xCA\x96\x3A\xA5\x7C\xB9\x42\xB9\x7E\xB9\x35\xB8\xDD\xB8\xF5\xB7\xFB\xB8\x4C\xB8\xFD\xB8\x4E\xB8\x1C\xAA\x8C\xB8\x43\xB3\x8E\xB8\x7C\xB3\xE9\xB8\x9F\xAE\x41\xB8\x17\xAE\x86\x7E\x75\xAD\xB6\xB5\xE4\xAE\xE1\x79\xBC\x8C\x7B\xAD\x78\x7D\x51\xAF\x5C\xB9\xC4\xB8\x36\xB8\xC6\xB8\x89\xB7\x77\xB3\xB7\xAE\x8C\xB7\x2C\xAF\xA6\xB9\xEF\xB3\xF6\xB6\xF1\xB3\xF8\xB6\x31\xA7\x2A\x92\x6C\xAA\x2C\x92\x6E\xAA\x52\xB5\x78\x65\x1E\xB3\xFB\xAF\x99\xB9\x51\xB7\x04\xB7\xF8\xB8\x49\xB8\x91\xB5\x88\xB8\x93\xB5\x85\xB9\x88\xB0\x0B\xB7\x8A\xB0\x3B\xB9\x8C\xB0\xCE\xB8\x8E\xB0\x3F\xB9\x7F\x81\x13\xB7\x83\xB8\xFF\x32\xDB\xB8\xFC\xA5\x19\xB0\x3D\xB3\x75\xB5\xFD\xB3\x9D\xB8\xB8\xB6\x77\xB8\xBA\xB6\x02\xB4\x6B\xB9\xC0\xB1\xEB\xB7\x63\xB1\x93\xB8\xCA\xB6\xD5\xA6\x31\xB7\x6B\xB7\xD6\x54\xB6\xB9\x9D\xB9\x82\xB9\x9F\xB9\x84\xB9\x37\xB9\x1B\xB7\x39\xB9\xF8\xAE\xE7\xB8\xAA\xAF\x3D\xB9\xA5\xB0\xEB\xA6\xE4\xB6\xC0\x96\xBE\xB2\xA6\xB6\x6F\xB2\xDD\x91\x4A\xB7\x75\xA1\x4C\xB7\xFC\xB4\x4E\xB7\x7B\xB9\xF6\xB9\x36\xB7\x37\xB8\xB1\xB2\xE4\xB7\x41\xB3\xA4\xB9\xED\xB3\xBE\xB9\xB0\xB4\xDA\xB9\xEC\xB0\xDC\xB9\x47\xB7\x65\xB1\xB5\x8E\x87\x83\x10\xA7\x79\xA0\x86\xB3\x62\x76\xD6\xAD\x00\xA2\xAA\x7A\xED\xAA\x1B\x5D\xCC\xB9\x84\xB7\x52\xB7\x7F\xB9\x59\xA9\xDE\xB8\x54\xB1\xE0\xB8\x56\xB1\xE2\xB8\x9B\xB6\xAC\xB4\x16\xBA\xAE\xB4\x18\xBA\xC7\xB4\xC0\xB9\xC9\xB4\x23\xB9\x78\x88\xE4\x88\xB8\xAD\x1C\xB3\xEB\x85\xE3\x92\x6D\xB1\x64\x6A\x2A\xBA\xB5\xB7\x2C\xBA\x9C\xB9\x11\xBA\xB8\xB9\x11\xB8\x8A\xB7\xBB\xB9\xD6\xB9\x2D\xB3\xB6\xB8\x6D\xAF\x01\xBA\xBC\xB0\x1C\xBA\x57\xAD\x94\xB7\xB2\xAF\x96\xB7\xAF\xB7\x47\xB9\x26\xB9\x6B\xB1\x7F\xA0\xA8\xAC\x45\xBA\x1E\xB8\x60\xB9\xF9\xB8\xD1\xB9\x83\xB9\x25\xB5\x5F\xB4\x5D\xB5\xD2\xB2\x65\xB8\x97\xB3\x67\xB8\x9F\xB1\x6D\xB9\x4B\xAC\x93\xB7\x1E", +"\xBA\xFD\x97\xD1\xAD\x72\xA7\x4F\xB5\x2B\x8F\xDA\xAF\xB0\xB7\x68\xB7\xB2\xB7\x65\xAB\x5F\xBA\x47\xB8\x61\xBA\xD0\xB9\x62\xB9\xD2\xB9\xEE\xB6\xD4\xB9\xF1\xB6\xE9\xB9\xF3\xB6\xEB\xB9\x20\xB9\x6C\xB9\xDA\xB6\xBA\xB8\xB7\x75\xC7\xB7\x1A\x7C\x7B\xBA\x5E\xB8\x48\xB8\x02\xAC\xFA\xB8\x30\xBA\xFC\xB8\xE1\xB8\x9A\xB6\x15\xB1\xE4\xB8\x45\xB5\x33\xB4\xD8\xB9\x1C\xB1\x52\xBA\x1E\xB1\x54\xBA\x3F\xA8\x09\xB4\x8D\xBA\x10\xBA\xE0\xB7\x0A\xB3\x80\xBA\xBC\xB7\x14\xBA\x44\xB5\x36\xBA\xC5\xB4\x38\xBA\x0D\xB5\x1A\xBA\x9B\xB3\x9F\xBA\xFA\xAB\xEE\xB7\x03\xB3\xE9\x32\xE1\xB9\x41\xA6\xE6\xB3\x2B\xB4\x63\xB9\xE9\xB3\x8A\xB8\x09\xB5\xAA\xBA\x0B\xB5\xAC\xBA\xE9\xB7\xED\xB9\x6D\xBA\x68\xAC\x7E\xB8\x12\xA6\x6A\xB4\x5B\xBA\x3C\xB4\xAB\xAB\x78\x98\x46\xB0\xD4\x39\xB5\xBA\xD1\xA8\x4C\xB0\xE7\xB3\xB9\xBA\x2D\xB4\x82\xBA\x4F\xB8\xFD\xB9\xF0\xAF\x47\xB5\x4B\x98\x54\xB8\x78\xAB\xC2\xBA\x8C\x67\x1B\xB8\xE5\xB4\xB4\xBA\xF7\xB8\x0E\xAF\x73\xB5\xAD\x9F\xE5\xB9\x28\xAF\x4C\xBA\x2A\xAF\xBC\xB9\x7A\xB3\xBF\xBA\x17\xB8\x9D\xBA\x3D\xB1\xB0\xBA\x57\x99\x41\xB9\xCD\xB9\x96\xAF\x30\xB8\xB4\xA4\xCB\xB9\xA3\xBA\xE3\xB9\x21\xB8\xA1\xB7\x1B\xB9\x24\xB8\xE6\xB0\x26\xB8\xE8\xB0\x6B\xBA\xB6\xB3\xEE\xB9\xC2\xB1\xD8\xB7\x86\x8F\x05\x94\x27\xA8\x67\x94\x8E\xBA\x17\xB9\x90\xBA\xAE\xAC\xE2\x89\x64\xBA\xE3\xB7\xBB\xBA\xE5\xB7\xE8\xBA\xE7\xB7\xEA\xBA\xE8\xB8\xEC\xBA\x31\xB3\x6E\xBA\x84\xB4\x56\x59\x5B\xB8\x3E\xA6\x08\xBB\x32\xB9\x18\xB9\x2F\xBA\xCA\xB3\x36\xB9\xA8\xBA\xBE\xB7\x99\xBA\xC0\xB7\xCC\xB8\x0E\xB7\xAE\xBA\xB2\xB4\xEE\xBA\xBA\x5B\xA7\xB8\xAA\x8F\xC3\xB0\xF5\xBA\xCD\xBA\xA4\xB4\xCF\xBA\xB8\xBA\xA6\xBA\x21\xBB\x0F\xBB\x15\xBA\x11\xBB\x15\xB8\x13\xBB\x00\xBA\x28\xBB\x0F\xB5\x2A\xBB\x4D\xAC\x1F\xA5\x76\xA8\x32\xB8\xE0\xB9\xE0\xBA\x10\xB1\x90\xB3\x4A\xBA\x38\xB8\xE6\xBA\x13\xB8\x38\xBB\x3C\xB8\x50\xBA\x72\xB0\x15\xBB\x37\xB4\x8A\xBA\xDC\xB6\x7B\x9E\x87\x94\xE4\xB4\x32\xB7\x43\xBB\x85\xB8\x1E\xBB\x9E\xB9\x93\xBA\xA0\xB9\x95\xBA\xFE\xB8\x34\xBA\x98\xBA\xBD\xBA\x46\xB5\xFF\xB9\xCF\xAF\x88\xBA\x22\xB9\x51\xBB\x80\xAD\x92\xA9\xE4\xA9\x86\x73\x54\xB9\x39\xA7\xCC\xBA\x44\xBB\x51\xB1\x31\xB1\x19\xB9\xF9\xBA\xC9\xA0\xB2\xB8\x31\x95\x69\xB9\x4F\xB4\xEC\xB9\x64\xB3\x01\xBB\xBE\xA8\x03\xBB\xE0\x69\xBC\xB8\x52\xB9\x27\x86\xE8\x8A\xC7\x94\xF2\xB8\x2E\x73\x5E\xBA\xF6\xBA\xB9\xB7\x34\xB9\x34\xBB\x64\xB9\xD3\xBA\xA3\xB9\x4B\xBB\x8D\xB8\x4D\xBB\x2F\xB3\x4F\xBB\x82\xB4\x17\xBB\x26\xA9\x33\x9E\x58\x9D\x49\xAE\xC3\xAC\x12\x8B\xFC\x81\xC8\x94\x99\xB7\x17\x8B\xF4\xB8\xCD\x94\xF5\xB9\x30\xBB\xEA\xB6\x32\xBB\xA6\xB4\xD1\xBA\x76\xB4\x32\xBA\x96\xBA\x75\xBB\x7A\x95\x77\xBB\xDC\xB4\xCD\xB8\x3A\xBA\xDF\xB4\xC2\xB9\xD1\xB8\x44\xB9\x63\x8B\x68\xB1\x5E\xAE\x9D\xBB\x4F\x86\x9F\xBB\x8B\xAC\x93\x3A\xA2\xBB\xB8\xB7\xA4\xBB\xEC\xB6\x8A\xBB\xBA\xBA\x49\xBB\x3A\xB8\x8E\xBB\xA5\xB9\x90\xBB\x80\xB4\x92\xBB\xF6\xB4\x67\xBB\x24\xB9\xA4\xB1\x31\xB5\x5C\xAF\x32\x0A\x6B\xB5\xC1\xB8\x74\x7D\x43\xBA\xB5\xB9\xBC\xBB\xF3\xB7\xBF\xA6\x72\xBB\x61\xB8\x57\xB7\xFB\xBA\x59\xB7\xFD\xBA\xB3\xB3\xFF\xBA\x4A\xB5\x69\xB8\x49\xB3\x7D\xBB\x8B\xB2\x0D\x69\x66\xB1\x4D\xA9\x08\x9A\x85\xB5\x0A\xB9\x24\xAD\x29\x6F\x89\xB5\x6E\xBB\x58\xBB\x0A\xBB\x00\xB0\x70\xB7\x8C\xBB\xF8\xAA\x61\xBB\x9A\xBA\x26\xBB\xC2\xB7\x3C\xBB\x7E\xB5\x3E\xBB\x30\xAE\x2D\xB8\x19\xAE\xDA\xA9\x82\xAE\xAB\xB5\x28\xB9\xB1\xA2\xA9\xB5\x10\x74\x88\xAE\xCF\x7D\xC9\x95\xDC\x48\x72\x96\xC9\x5A\xCE\x95\x50\x2A\x69\xB1\xC7\xBA\x22\x9E\x60\x9E\x01\x01\x7E\x0C\xF1\x0A\x78\x25\x0A\x96\x24\x74\xC4\x5A\x21\xA6\xEF\xB7\x98\x0A\x87\xBB\xBE\xBB\x87\xB8\x0D\xBB\x89\xB8\xC2\xBB\x8B\xB8\xC4\xBB\x17\xBA\xC6\xBB\x8F\xB7\xC8\xBB\x9F\xB5\xF3\xA2\x6F\xB9\x42\x96\xC3\xB6\x72\xB9\xA1\x96\x74\xB9\xA3\x96\x76\xB9\x3F\xBB\x56\x59\xC6\xB2\xF4\xB9\xC6\x57\x1C\xBC\xB7\xBA\xA5\xBB\xC0\xBB\xD2\xBA\xFB\xB9\x86\xB9\xD5\xBA\x70\xB0\x25\xBC\x3E\xB8\x27\xBC\x91\xB7\x6E\xB9\x04\xBA\xD3\xA2\x46\xB7\x55\xBA\x90\xB9\x69\x97\xC6\xAE\xE4\x8D\xBA\xB5\xFB\x07\x97\xB9\xDE\xBA\xA2\x0B\x37\xBC\x81\xB9\xA5\xBA\x1F\xBC\xD3\xB9\x3C\xBC\xD5\xB9\xCA\xB8\x0C\xB7\xF7\xBB\x3C\xB9\xF9\xBB\x10\xB7\xB1\xBB\x55\xA0\xE1\xAE\xB9\x03\x4E\xAA\xE0\xB6\x50\xAA\xE3\xB6\x63\xAD\xB0\x66\xCB\x95\x03\xAE\x9B\xB9\xCF\xB9\x91\xBA\x63\xBA\xF9\xB9\x65", +"\xBA\x62\xB8\x67\xBA\x61\xB4\xA0\xB8\x63\xB4\xA2\xB8\xF6\xB2\xA4\xB8\xF8\xB2\xE3\xBB\x82\xAD\x19\xB3\xFC\xB6\xE8\xA9\xCA\xB9\x65\xAB\x69\xBC\x2E\xB8\x12\x9A\x7D\xBA\x6D\xBC\x7F\xBA\x55\xBC\x81\xBA\x57\xBC\x83\xBA\x9F\xB8\xEA\xB9\x79\xB8\x79\xBB\x04\xB4\x7B\xBB\xB8\xB3\x7A\xBC\xDE\xB9\x45\xA1\x09\x01\x81\xBC\xFE\xBB\xBD\xA6\x94\xB6\xD7\xBB\x1F\xBB\xCE\xB7\xDA\xBB\x63\xB8\x25\xB8\x69\xBA\xD1\xB3\xDF\xBB\x55\xB8\xE1\xBB\x80\xB3\x9F\x8A\x95\xAD\x3C\x0E\x97\xAD\x56\xBB\x96\xBC\x92\xB6\x61\x99\x99\xBC\x60\xAF\x9B\xBC\xB0\xB8\x74\xBB\x1C\xB9\x76\xBB\xDD\xBB\xA0\xB6\xA2\xBC\xDA\xBA\x89\xBA\xBF\xB6\x67\xBC\x45\xB7\xDB\xB2\x1D\xBA\x29\xAA\x10\xA0\x6B\xB3\x32\xBC\x5D\x0F\x8E\xA3\xBA\xAF\x09\xBC\xD5\xBB\x80\xB9\x9A\xBC\x5A\xBB\x20\xBB\x8B\xBB\x89\xBC\xD4\xBA\x24\xBB\xE6\xB8\x3A\xBB\x64\xBB\xC1\xBA\xB9\xBC\x83\xB4\xB5\x92\x82\xB3\x0E\x0B\x84\xB3\x82\xB5\x15\xB0\xAD\xA3\x5A\xBA\x43\xB1\xD4\xA5\x69\xB7\x8B\xB3\x64\x6A\xAB\xBC\x5E\xB9\x98\xBC\x29\xB4\x1D\xBC\x89\xBB\x87\xBC\xA7\xBA\x36\xBB\xA9\xBA\x23\xBC\x37\xBA\x40\xBC\x8F\xB8\x42\xBC\x19\xB8\xFB\xBB\x94\xB9\x7C\xB7\x95\x85\x07\xAB\x2B\xB9\x53\xB5\xBB\xAD\xD3\xBB\x4D\x6D\xE3\xBC\x7D\xB9\x5F\xB9\xAE\xBC\x52\xB1\xB0\xBC\x1A\xB9\xB2\xBC\xDB\xBB\xA4\xB7\xB5\xBC\x5B\xB7\xB7\xBC\xD8\xAB\xD4\xBC\x94\xBB\x24\xAB\xD7\xBC\xED\xA3\x68\xB5\xDB\xBC\x76\xBA\xDD\xBC\x54\x82\xB9\xAF\xF8\x94\xFC\xBC\x52\xBC\xC9\xBC\xF8\xB9\x5B\xBB\xFA\xB9\x22\xBB\x38\xB9\xCF\xBC\x3A\xB9\x5B\xBC\xD9\xB9\xAF\xBB\xCF\xB8\x5F\xBC\xDC\xB2\x95\x9B\x59\x9D\xDA\xB3\x86\xB1\xBE\xB3\xD1\xBB\xDF\xB3\x7C\x9B\xFB\xAF\xFD\xBC\x9A\xB9\xFF\xBC\xE6\xBC\x38\xBC\xBF\xBB\xE9\xBC\x35\xBB\x21\xBC\xBC\xBA\xED\xBC\xAB\xBA\xEF\xBC\xA7\xB9\xF1\xBC\x40\xB8\xF3\xBC\x50\x7A\x8C\xBA\x67\x94\x30\xBD\xF1\xBA\x6B\xBC\xE1\xBA\x61\xB9\xE3\xBA\xA6\xBB\xA8\xB4\xF3\xBB\x99\xB1\x1F\xBD\xFE\xB9\xD1\xBC\x0B\xB0\xA8\xB9\xFE\xAE\x3C\xBA\xDF\x6D\xA1\xBA\x43\xBD\x18\xBD\xAF\xBC\xCA\xBC\x9C\xBC\x23\xB8\x9E\xBC\xFC\xBA\xA0\xBC\x76\xB7\x09\xBD\x28\xAC\xA4\xBC\x21\xB4\x14\xAC\xB2\xBA\xE4\xB6\x3F\x0A\x44\xBD\x2B\xBA\xCE\xB9\x47\xBD\x62\xBA\x86\xBC\x6F\xBC\x0E\xBB\x38\xBD\x10\xBB\x4E\xBA\x8D\xB7\x3C\xBD\xBF\xB9\x21\xB9\xC1\xB9\x54\xBD\xCE\xAD\xC6\xBA\xDE\xBC\x93\x7D\x09\xB8\xAB\x9B\xE3\x69\x68\xBD\x58\xBD\x01\xBD\x5A\xBD\xB1\xBC\x30\xA1\xAA\xBB\xD6\x96\xB4\xB8\x45\xAC\x75\xBD\x19\xBA\x23\xBD\xDB\xB9\xDA\x5C\xDD\xBA\xAA\xBC\x82\xBD\x71\xBB\x02\xBD\x73\xBB\x86\xBD\xB3\xBC\xAB\xBB\x07\xBD\xA6\xB7\x61\xBD\x49\xAC\xDB\xBA\xD2\xAF\xE3\xBB\x2C\xBB\x30\xA9\x27\x72\xE0\xAB\xDF\xB9\x69\xBD\x46\xBA\x6B\xBD\x45\xBB\xC8\xB3\x92\xBA\xCB\xBC\xC1\xBB\xBA\xB9\xE7\xBA\x73\xBD\xBD\xB9\x8B\xBD\x39\xBA\x77\xBD\x3B\xBA\xCA\xBB\xD8\xB0\x26\xA8\xFC\xAB\x57\xBD\xC7\xBC\x2E\xBA\x84\xBD\x03\xBD\x96\xBD\x05\xBD\x1D\xB9\x99\xBD\xFF\xB7\x76\xBC\x65\xB4\x78\xBC\xA5\xA3\x68\xB4\x00\x90\x22\x94\x9E\xB4\x50\xBC\xA5\xBD\x60\xBA\x00\xBD\x93\xBD\xBC\xBD\x95\xBD\x4F\xA1\x87\xBD\x58\x97\x89\xBD\x1A\xB1\x9B\xBA\x35\xB4\x3E\xBD\x91\xB8\xD5\xBC\x53\x86\x69\xBB\x6A\xBC\x02\xA5\x43\x90\x94\xA1\x14\xB7\x81\xBD\xBA\xBD\x66\xB0\xD0\xB6\x46\xB4\x4C\xBD\x2B\xB3\xAF\xBD\xE9\xBA\xB1\xBD\xAD\xBA\x8D\xBD\x1B\xBA\x25\xBD\x69\x8F\xCC\xB4\x81\xB8\x1A\x7C\xCC\xBD\x7C\xBA\xCE\xBD\x46\xBB\xD8\xBB\x74\xB8\x66\xBA\x9E\xB8\x68\xBA\x74\xBC\x2A\xB5\x00\xB8\x8D\xAF\x63\xBD\x71\xAF\xD3\xA6\x53\xBB\x38\xA5\x85\x90\x3E\xA6\xF5\xBD\x8F\xBA\x84\xBC\x0B\xBB\x1E\x81\x5B\xBD\xFA\xBA\x5D\xBD\xDC\xBB\x5F\xBD\xD3\xB7\x00\xBE\xF4\xAF\x02\xBE\xAE\xAF\x9F\xBD\xA2\xB5\xF9\x7A\x6C\xBB\x7F\x99\x36\xBC\xE4\xBD\xCF\xB6\x6F\xB7\xD1\xB6\xCD\xBC\x8D\xBB\xEA\xBD\x12\xBB\xEC\xBD\xC0\xBA\x7A\xBB\x9D\xBD\xA1\xB1\xE3\xBB\x51\xB9\x0F\xBC\xBE\xB8\x3E\xAE\xC0\xB8\x40\xAE\x73\xA5\xC1\xB3\x14\xB9\x1D\xBE\x6F\xBB\x91\xB1\x19\xBD\x54\xBC\x6F\xBD\x20\xBC\xAD\xBD\x4A\xBB\x24\xBE\x39\xBB\x26\xBE\xEB\xBA\x5D\xBC\xC4\xB7\xF0\xBD\x85\xA2\x57\xB9\x73\xA7\xD4\xB8\x35\xB5\x95\xAF\x8A\xB1\xC9\xAC\xFB\xBC\xE3\xBD\x36\xBE\xB9\xA5\xF7\xBA\xAA\xBD\x0E\xBE\x04\xBD\x10\xBE\x06\xBD\x12\xBE\x27\xB8\x14\xBE\x1E\xB4\x16\xBE\x68\xAA\xC4\xBA\x46\x86\x81\xB5\x22\xBA\xCC\xAA\x5C\xAE\x43\x7D\x2C\xBD\xF3\xB8\x0D\xBA\x9C\xB7\x17\xBD\x1E\xBE\x17\xB7\xE6\xBD\x19\xB7\x22\xBE\xF4\xBB\x3A\xBD\xBE", +"\xBA\x40\xBE\x14\xBB\x42\xBE\x3E\xB9\x44\xBE\x66\x86\x5F\xBE\xD8\xAF\x69\xB5\x35\x03\x02\xAD\x4A\xBE\x37\xB5\x47\x91\x4D\xBE\xC6\xBC\x4F\xBE\xB1\xB1\x51\xBE\x6E\xBC\x1B\xBD\x70\xBC\x9D\xBC\x72\xBC\x64\xB8\xFE\xBD\x60\xB5\x59\xBE\x2C\xB5\x5B\xBE\x76\xB0\x3F\xA2\xB3\xBB\x87\xA2\x4E\xA9\xA8\xB1\x10\xB9\x36\xA7\x52\xA9\x7A\xAE\x33\xA0\x4E\xBE\xEF\xBB\x0B\xBE\xF1\xBB\x21\xBE\x1D\xBD\xFC\xB9\x4E\xBD\xD6\xBA\x63\xBB\x51\xBD\xD9\xBD\xB9\xB8\x92\xB8\x6B\xB8\x3A\x9F\x00\xBC\xCE\xB1\x93\x95\x1A\xA6\x42\xAD\x1C\xA6\x35\x9A\xAB\xBE\x94\x76\x95\xB9\x30\xAA\x8B\x9E\x07\xAE\x4D\x6D\x5A\x9B\x92\xA1\xA6\xB1\x93\x9E\xCD\x9D\x87\x9E\xCF\x9D\x34\xB3\x30\x9E\x32\x9F\x81\x6C\xB8\xBE\x8B\xA9\x00\x9D\xD3\xB5\xFE\xAD\x64\x6A\xC3\xBE\x6A\xBB\xEF\x95\x44\xB6\x6C\x0D\xCC\xB5\x56\xB6\xF6\x9E\xFD\xB5\x59\xB6\xE6\xAC\xBF\x86\x40\xB6\x01\x01\xC9\xBE\xDE\xBD\xD3\x95\xC0\xAC\xE9\x9D\xDB\xB5\x3A\xB6\x20\x9F\x2D\xB6\x10\xB6\xDF\xB5\x08\x9F\x65\x90\xB0\x66\xD7\xBE\x82\xBC\xCE\x17\xE7\xB5\x56\x09\x41\x1B\xDC\xB5\xB8\xB5\x4B\xB6\x56\x59\xF0\xB5\x4E\xB6\x00\x00\xE5\xBE\x97\xBC\xC1\x17\xCB\x9E\x8E\x11\xDC\x9E\xCF\xBE\xF5\xBC\xCB\x9C\xD1\xBE\xFE\x86\x7C\x84\xE2\xBE\xA9\x90\xC8\xBE\xFD\x9E\x76\x9D\x61\x9E\xDB\x9E\xF8\x86\xA2\x9C\xD0\xBE\x58\xB6\xFC\xBE\x91\x84\xC6\xBE\x7E\x9E\x00\xBF\x0B\x9F\xC0\xAC\xE8\x9E\xDD\xBE\x39\x9E\xEC\xBE\xE0\xBE\x11\x0E\x20\xB6\xD5\xBE\xF1\xBE\x01\xBF\x96\xBB\x77\x9D\x1A\x87\xAD\x84\xEB\xBE\xBC\xBE\xEF\x5B\x56\x87\x3C\x0E\x30\xB6\xF0\xBE\xF2\xBE\xAC\xBC\x04\x96\x37\xB6\x2E\x59\x39\xB6\x47\xB6\x2B\xB6\x95\x9C\xDF\xBE\xD2\xBE\xC9\x84\xFE\xBE\xFB\x90\x0D\xBF\x2D\x9A\x53\xB6\x87\x83\x85\x9D\xF8\xBE\x9E\xB3\x49\xB6\x3C\xB6\x14\xBF\x15\x0E\x4D\xB6\x21\xB6\x18\xBF\x0E\xBF\xC1\xA8\xF6\x86\x62\x9E\x11\xBF\x04\x9F\x13\xBF\x2F\xBF\x92\x83\x67\x9E\x55\xB9\xB7\xBE\x28\x9F\x9D\x9D\x11\x0E\x66\xB6\x4B\xBF\x3F\x0A\x25\xBF\xE4\xBC\x59\x6E\x74\x9E\xA4\x83\x26\x9F\x53\xBF\xFE\xBC\x2E\xB7\x28\x8D\x2F\x6E\x31\xBF\xB0\x83\x59\xBF\x31\xBD\x9E\xA9\x42\xB1\xE9\x84\xF1\x0F\x7F\xB6\x3C\x9F\x50\xB2\xAD\xB5\x24\x03\xAF\xB5\xA2\x3B\x4D\xBF\xA3\xB3\x92\x9E\xF8\x9C\x40\x9F\x38\xBF\xE1\xB6\x38\x9C\x98\x9E\x67\xB6\x3F\x0A\x4F\x9B\x26\xBF\xA1\x9F\xC3\xB5\xDF\x84\x78\xB6\x4D\x6D\x78\xBF\x54\xBF\xE7\xBE\xCC\xBE\xCB\xB5\x37\x84\x45\xBF\xEC\xB5\x3B\xBF\x48\xBF\x0D\x0E\xD4\xBE\x7D\xAD\x09\x01\x7F\xBF\x5A\xBF\xF4\xBE\x28\xBF\x87\x5D\x56\x9C\x85\xBF\x3A\xBF\x1D\xB6\xED\xBE\xB8\x9E\x5E\xBF\x1B\x5D\x8D\xBF\x61\xBF\x8F\xBF\xC0\xAC\xE8\xB5\x1E\xBF\x71\xBF\xF9\xB5\xE6\xAC\xEF\xBE\x3F\xBF\x9A\xBF\x45\xBD\x23\x83\x76\x99\xF8\xB5\xCE\x9D\xFA\xB5\xB4\x9E\x86\xBF\x95\xBF\x3C\xBF\xD3\x9E\x0B\xBF\xAD\x9E\x81\x6C\xA5\xBF\x6A\xBD\xE6\x82\x82\xBF\x09\xB6\xF7\xBE\xA1\xBF\x57\xB6\x2E\xBF\x09\xBF\x24\x59\x12\xB6\x8B\xBF\x60\x2B\x19\xBF\x43\x9E\xBF\x84\x10\xBF\x2B\xBF\x0D\xB6\x2D\xBF\x4A\xB6\xAF\xBF\x11\x87\x98\xBF\xDC\x5F\xB4\xBF\xA6\xBD\xB6\xBF\xDA\xBE\x1C\xBF\xA0\x9C\x9F\xBF\xEC\x9C\xDE\x86\xA6\x9C\xCC\xBF\xE9\x65\xCE\xBF\x38\x86\x26\xB6\x29\xBF\x64\x83\x93\xBF\xC8\xBF\x87\xBF\xBD\xBF\x36\x87\xD8\xBF\xB0\x66\xDA\xBF\x3D\x81\x35\xBF\x4C\x05\x37\xBF\xBA\xBF\x07\xBF\xBC\xBF\xD6\xBF\x8B\x9D\xB1\xBF\xC5\xB5\x7E\xBF\xC2\xBF\x13\x9E\xE6\x7D\x91\x9D\xE8\x84\xDF\xBF\xB0\x9C\xC9\xBF\x88\xBF\x11\x0E\x5C\xB6\x26\x9F\xE6\xBF\x13\xB5\x35\xAF\x65\xB6\x5F\x87\x76\xBF\x92\x21\x28\x9F\x56\xBF\x05\x85\x04\xC0\x8C\xBF\x6D\xBF\x97\x8D\x0B\xB1\xC4\xB5\x60\xB2\xB3\xBF\xB2\x83\x63\xBF\x02\x9F\x65\xBF\x3F\x9F\xD5\xBF\xC6\xBF\x24\x74\x58\x5C\x12\x66\xA9\x00\xA3\x5C\x12\x66\xFF\xBF\xD7\x9B\xEB\x95\xB0\x9B\xE1\x31\xB6\xBB\x0A\xB9\xF0\x95\x5C\x04\xF6\x7D\xAD\x25\xAC\x02\x54\x82\xC4\xBC\x5E\x85\xF2\x7D\xF2\x9A\xDA\x05\x5C\x04\xF2\x95\xCC\x2A\x91\x97\x47\xBE\x21\xC0\xEA\x31\x40\xBA\xE5\x99\xE9\x8B\x99\x86\xEC\x20\x6B\xBF\x7D\x0C\x0B\xC0\x0E\xBA\x33\x9C\x70\xBF\x16\xC0\x72\xBF\xA2\x9F\xBC\xB5\xC1\xBE\x4D\x6D\x42\x9B\x79\xBF\x1D\x6A\x7B\xBF\x77\xB6\xC7\xBE\x81\x6C\x48\xC0\x80\xBF\xCB\xBE\xC0\xAC\xDE\x9D\xF8\xBF\xBD\x9C\x08\xBF\xEE\xBF\xAB\x9E\x7C\xBF\x4D\xC0\x47\xC0\xF3\xBF\x51\x9E\x2C\x87\xDB\xBE\x4B\x84\x17\xC0\xAC\xBF\x94\xBF\xDD\xB5\xCA\xBF\x97\xBF\xF0\xBF\x0F\xC0\x5B\xC0\x41\xBF\x02\xBF\xBA\x0B\x9E\xBF\x54\xC0\xFA\xBE\x56", +"\xC0\xA2\x9A\x6B\x9C\x67\xC0\x62\x9D\xDC\x5F\x4F\xC0\x8E\xBF\x81\xBF\xF7\xB5\xF6\xBE\x05\xBF\x84\x9C\x0B\xB9\x62\xC0\xE0\xBF\xAE\xBF\xFB\xBF\x15\x0E\x00\xB6\xF0\xBE\x76\xC0\x9B\xBF\x78\xC0\x42\xBF\x4E\x87\x04\xBF\x26\x9E\x2A\xB6\xC7\xBF\xF9\xBF\xE1\xBF\x57\xC0\x0A\xBF\x0E\xC0\x74\xC0\xE9\x65\x85\xC0\xA6\xBF\xD9\xBE\x88\xC0\x8B\x01\xC5\xBF\x43\xC0\x0B\xB4\x12\xBF\x1F\xBF\xC9\x86\xE6\xAC\x16\xBF\xC0\xBF\x03\x01\x95\xC0\xB5\xBF\x0E\x83\x90\xBF\x11\x5E\x28\xB6\xD4\xBF\x86\x9E\x20\xBF\x23\x87\x6E\x9D\xE4\xBF\x64\x6A\xA4\xC0\xCF\xBF\xA6\xC0\xD1\xBF\x38\xB6\xDE\xBF\x61\xC0\x03\x9F\xAD\xBF\x64\xC0\x81\xC0\x7D\x9D\x73\xC0\x51\xAD\xB0\x66\xB1\xC0\xDB\xBF\xB7\xBF\xCE\x5B\xEA\xBF\xAA\xBF\x7D\xC0\xB8\xC0\x63\xC0\x47\xBF\xE2\xBF\x5A\x9E\xAF\xC0\x4E\xC0\x5C\xC0\x11\xBC\x08\x9D\x44\xBF\xB7\xC0\x10\x9F\x8F\xC0\x71\xC0\x0D\x0E\xFD\xBF\x09\xC0\xFC\x95\x3E\xC0\x4C\xB3\x2A\x9F\x03\xC0\x51\xBF\x27\x01\xC0\xC0\xF6\xAD\x8A\xB6\x31\x9F\x53\xB2\xCD\xC0\x79\x86\x75\xB6\x34\xAE\x4C\xC0\x0C\xBF\xE5\xC0\x2D\x9A\x2C\xBE\xD2\xBE\xB5\xA3\x66\xBF\x36\x9C\xDB\xC0\x56\x59\x7A\x0A\x28\xB7\x0B\xB2\x87\x83\x14\x0E\x06\x96\x85\x2B\x08\x96\x14\x15\x63\x8B\x8C\x86\x80\x2B\x10\x09\xB2\x35\x7C\xBE\x5B\xBF\x10\x96\x77\xA9\x00\x00\x8F\x58\xCA\x7D\xCC\x8C\x27\x01\xAC\x00\x3F\x9A\xA6\x60\x1B\x96\x80\xB1\x31\x00\x30\xB2\x24\x39\x41\x64\xAD\x00\x3F\x9A\xC5\x5A\x1F\xC0\x67\x0E\x92\xAD\x2B\xB2\x2E\x71\x2A\x96\x41\x6B\xB7\x5D\x3E\x0E\xB0\x45\xB6\xBE\x7A\x0A\x82\xB1\x7B\x74\x5A\x25\x07\xAA\x81\xB6\x96\x9E\x06\xC1\x0A\xBC\xA7\xB5\x15\x06\x06\xBA\xAE\x6F\xC1\xAA\x56\xAF\x8E\x11\x6E\x01\xF0\x31\x01\x8D\x09\x01\x0B\xC1\xE0\x83\xA6\x60\xAC\x8C\x72\xA9\x78\x01\x2D\xC1\xD2\x5F\x2F\xC1\xA0\x96\x21\x10\x32\xC1\xAE\x6F\xB3\x08\x0F\xC1\x11\xC1\x54\x32\x13\xC1\x15\xC1\x25\x8C\x67\xBE\xFD\x05\x22\x46\x7F\x6F\x3E\xC1\x35\x7F\x31\xC1\x19\x01\xF0\x31\x18\xC1\xDA\x5C\xA9\xA9\x11\x5E\x1C\xC1\x69\x6D\x1E\xC1\xF0\x3E\x9B\x85\x65\x7E\x4B\xC1\xC2\xB6\x67\x5B\x4E\xC1\x6A\xB3\xD6\x8C\x41\xC1\xD2\x5F\x22\xC1\x5E\x5D\x24\xC1\x06\x06\x26\xC1\xA3\xB2\xE9\xA9\x05\xC1\x14\x96\xFF\x62\x16\x96\x09\x44\x3F\x9A\x98\x5F\x1B\x96\x3E\xB1\x30\x00\x45\xC1\xD2\x5F\x20\x96\x3F\x9A\x27\x96\x17\xC1\x27\x01\x7A\xC1\x90\xBE\x0A\x73\x57\xC1\x82\x6E\x2C\x96\x3F\x9A\xA5\x9B\xF6\xC0\xB3\x08\x84\xC1\x4B\x82\x54\x92\xA3\x0A\xB6\x8D\x7C\xAB\x06\x01\x45\x96\x7B\xB2\x01\x05\x34\x9B\x09\xAE\xC0\xA8\xC5\x92\xDC\xA9\x8B\xC1\x43\x96\x39\x96\x3F\x9A\x14\x66\x48\x96\xE3\xAD\xBE\xA9\x8E\x40\x80\x1C\xC3\xB9\x6A\xC1\x94\xB8\x56\x96\x58\x96\x52\xB3\x83\x51\x83\x22\x14\xBC\xA5\x1E\x5F\x96\x0D\x0E\x61\x96\x3C\xC0\x01\x01\x52\x96\x06\xB3\xB7\x8C\xD1\x09\x68\x96\x6A\x96\xEE\x43\x20\x56\xD4\x8C\x7E\x87\x82\xB6\x00\x00\x71\x96\x23\xAE\x93\x40\x42\xB6\xD6\x09\xED\xC0\x79\x96\xDA\x59\x05\xBE\x24\x59\x31\x0B\x29\x9B\xA1\xC1\xD6\xB1\x93\x8D\x4C\x59\xC7\xC1\xDE\xB1\x56\xA5\xB0\x00\x85\xB6\x92\x86\xCE\x09\x0E\x4B\xB9\x9A\xE8\x15\x7B\x59\xC9\xAE\x95\x91\x79\xB9\xB4\xB9\x4D\x6D\x91\x4E\x0F\x5B\x29\x4F\x1F\x4F\x33\xB9\x1A\xB0\x4A\xBD\x07\xB5\xEB\xBC\x23\xBB\xF5\xBB\x25\xBB\x86\xBA\xAE\xBB\xB3\xBD\xB0\xBB\xBF\xAE\xBB\xBC\xC1\xB6\x3C\xC1\x2C\xBC\xC4\xAE\xC1\xB2\xA7\xAE\xCF\xA8\x64\x94\x0F\xAA\x3D\xA6\x3A\xA5\xDB\xC1\xCC\x5A\x94\x59\x3F\xB5\xF0\xBB\xC9\xB0\xE7\xBD\x6D\xBE\x4D\xBD\xE5\xC1\xD0\xBC\x71\xBE\x3B\xBB\xEE\xBD\xAF\xBA\xD9\xB2\x45\xBC\x54\xA6\x47\xBC\xC3\xAE\x48\xB7\x59\xAD\x69\xAD\x5B\xAD\x67\x75\xB3\xBE\x3C\x0E\x31\xAA\x1A\xBC\x00\x00\xF8\xC1\xCB\x5A\xFA\xC1\x8E\xB5\x9C\xBE\xFD\xC1\x6C\xBE\x9F\xBE\x3D\xBC\xA1\xBE\x3F\xBC\xD7\xBD\xF4\xB4\xA5\xBE\xEA\xB8\xB5\xBD\x9C\x9F\xDD\xB6\x13\xA3\x63\xBC\xC8\xB9\x93\x7D\x01\xB3\xE9\xAE\x67\xBD\x7D\x96\xCE\x5A\x18\xC2\xC6\xB3\xF7\xBD\xA9\xBD\x84\xBE\xAB\xBD\x3B\xBC\x1D\xC2\x58\xBC\x84\xBA\xCB\xB8\xE7\xC1\x27\xBB\x05\xC2\x29\xBB\x75\xBE\x3C\x99\x6B\xAA\x31\x88\x6D\xAA\xC2\x9F\x2A\xC2\x70\x75\x51\xB2\xE2\xAE\xFB\xAF\x16\xC2\xCA\x5A\x31\xC2\xBC\xB4\x33\xC2\xBE\xB4\x35\xC2\x53\xBE\xBE\xBD\x55\xBE\xC0\xBD\x57\xBE\xFE\xBA\x8C\xBE\x62\xB5\x8E\xBE\x90\xB0\x33\xB3\x7A\x87\x57\xA3\x94\xBC\x06\x01\x4B\xC2\x9E\x9A\x14\x51\xDE\xC1\x59\xBB\x1A\xBD\x36\xC2\xA7\xBB\x42\xAF\xD6\xB4\x97\xBA\x00\xB9\x3E\xBC\x38\xB1\xA3\xBE\x59", +"\xB0\x73\xBE\x02\xBA\x40\xC2\x4C\xBC\xF2\xC0\x36\xAF\xA4\xAA\xF7\x9F\xE9\x65\x61\xC2\x34\x8C\x63\xC2\xEB\x7D\x55\xB3\x6C\xBD\x7E\xBA\x49\xBD\x3A\xBC\x68\xC2\xED\xB2\x14\xB4\x6B\xC2\x67\xB9\xA2\xA5\xAC\xBB\x1F\xB7\x58\xC2\x21\xB7\x5A\xC2\xA8\x49\x8E\xB9\x71\xB9\xF0\xC1\x4F\xC1\xF2\xA6\x1B\x9D\x5F\x9F\x0C\xBA\x33\xBE\xF7\xA6\x90\x4E\xF4\x8B\x7C\xC2\x5A\xB4\x1A\xC2\xEB\xB2\x58\xAC\x69\xC2\x85\xC2\xD3\xBD\x46\x98\xD5\xBD\x1A\xB4\xD7\xBA\x0B\xA6\xD9\xBA\x0A\xBD\x66\xBB\xA7\xBE\x0D\xBD\xBB\xB3\xAA\xAD\x2A\xBD\xDC\xB3\x84\xBB\x24\x59\x6A\xB7\x14\xC2\x7A\xC2\xC7\x5A\x4D\xC2\x7E\xC2\xA8\xBD\x50\xC2\x6E\xBD\x85\xBE\x70\xBD\x3C\xBE\xC3\xBB\x3E\xBE\x4C\xBB\x21\xC2\x9D\xB5\x23\xC2\xA9\xB9\x40\xBD\x61\x7E\x3E\xBA\x7E\xB7\x15\xA7\x96\xBE\x81\xB7\x7F\xBE\x99\xC2\x63\x8D\xDD\xC1\x7D\xC2\xDF\xC1\xE4\xB9\xE1\xC1\x76\xB5\xC8\xB8\x0A\xB7\x59\xBC\xD7\xB9\x21\xBD\x9C\xBA\x71\xC2\x53\xBA\x73\xC2\x8F\xB9\x27\xBD\x95\xB7\xAF\xC2\x65\xB7\x88\xB3\xCA\xC2\xA1\xBD\xAA\x85\xA8\xAC\xB5\xC2\x23\x59\xB7\xC2\xD2\xC2\xF8\xBA\xD9\xBB\x5C\xBD\x88\xBE\x9F\xBC\x8A\xBE\x3E\xB7\x8B\xC2\x40\xB7\x8D\xC2\xBE\xB0\xD6\xBC\xD8\xB3\x00\x48\x29\xBD\x74\xBA\x9C\xA0\x12\xBD\xB1\xC2\x56\x59\x79\xBA\x77\xA8\x02\x01\xE9\xC2\x14\x0E\xEB\xC2\x65\xC2\x39\xBE\xBC\xC2\x3B\xBE\x09\xB7\x8B\xB7\xC0\xC2\x8F\xBB\xC2\xC2\xB7\xB8\xC4\xC2\x53\xBD\x25\xC2\x4F\x92\xDF\xAD\x95\xA7\x02\xC3\x01\x01\x04\xC3\x10\x0E\x06\xC3\xFC\xC1\x9E\xC2\x55\xB1\xA0\xC2\x78\xB4\x5F\xBB\x6C\xC2\x1F\xC2\x6E\xC2\x50\xBD\x70\xC2\x3E\xC2\x3D\xBB\xDE\xC2\x97\xC1\x7D\xAB\xDB\xB7\x5F\xC2\x03\x01\x19\xC3\x0C\x0E\x1B\xC3\x9D\xC2\xAA\xB3\x9F\xC2\x84\xC2\x20\xC3\x86\xC2\x67\xA0\x94\xB4\xF6\xBB\x3C\xC2\xF8\xBB\x27\xC3\xFA\xBB\x29\xC3\x3C\x80\x66\xBD\xEC\xC1\xDA\xC1\x9A\xC2\x28\x13\xA0\x1A\xEC\xC2\x52\xBE\x85\xBD\xD2\xBD\x97\xBD\x88\xBD\x89\xC2\x43\xAA\xA7\xB7\x4E\xA0\x5E\xB7\xF2\xBC\x3F\xC3\x57\xA8\x7B\xBD\xF9\x7D\xC9\xBA\x81\xA4\xAD\xAB\xCE\xC2\x30\xC2\xD0\xC2\x9C\xC2\x4F\xC2\x22\xB5\x51\xC2\x49\xC3\x81\xA1\xA2\xC2\xD4\x99\xA4\xC2\x1E\xB7\x4E\xC3\x9B\xBD\x66\xAC\x29\xBE\x6B\x6D\x90\xBD\x35\xBC\x03\xC3\x44\xC3\x1F\x59\x46\xC3\x07\xC3\xD0\xBA\x82\xC2\x4B\xBD\xFF\xC1\xE9\xBD\xD8\xC2\x4F\xBA\x0F\xC3\x51\xBA\xDC\xC2\x9E\xBA\x53\xC3\xA5\xA8\xF0\xBA\xA5\xC0\x7D\xBE\x05\xAE\xF4\xBA\x65\xAB\x2F\xC3\x08\x0E\x31\xC3\x5E\xC3\xE2\xBA\xF0\xA4\xD4\xC2\xE6\xB9\x75\xB8\xE8\xB9\x8B\xBC\x85\xBA\x8D\xBC\x87\xBA\xD3\xBC\xAA\xC2\xDB\xBD\xA8\xB0\xB7\xBD\x0D\xAE\x4A\xC2\x6F\xC3\xF3\x63\x71\xC3\x1C\xC3\x33\xC3\x1E\xC3\x35\xC3\x33\xBA\x37\xC3\x05\xA6\x39\xC3\xE6\xC1\x92\xC3\xE8\xC1\x65\xBB\x78\xBD\x13\xC3\x3D\x8A\xA9\xB0\x6D\x8E\x86\xC3\xD8\x8B\x9B\xC2\x71\xB5\x89\xC3\x48\xBD\x8B\xC3\x74\xC3\xE2\xC1\x71\xBD\x37\xBB\x0D\xC3\xC5\xBB\x7A\xC3\x4E\xBB\x7C\xC3\xED\xBA\x7E\xC3\x3E\xA1\xFD\xBB\x49\xC0\x26\x86\x2E\xBB\x85\xC3\x9B\xC3\xE9\x7D\x9D\xC3\x32\xC3\x11\xB4\x34\xC3\xD5\xB4\xA1\xC2\x4B\xC3\xD4\xBD\x4D\xC3\x62\xAA\xF4\xC2\xD5\xB7\x90\xBC\x06\xB4\x5D\xBE\x04\xBB\x09\x86\x41\xBB\xE2\xBD\x2F\xC2\xDC\xC1\xB1\xC3\x20\xB5\xB3\xC3\x6D\xBD\x81\xC2\x36\xBD\xCC\xBC\x38\xC2\x8A\xBC\xFD\xBD\x8C\xBC\xA1\xB8\x8E\xBC\x51\xB4\xC5\xBD\x67\xB4\xD7\xC3\xE2\xB2\x86\x94\x06\xBE\x13\x86\xAE\xC3\xC7\xC3\x1E\x8C\xEA\x7D\x5D\xC3\x33\xBD\x53\xBC\x73\xC3\xE3\xC3\xAC\xBD\x0B\xC3\x4D\xBA\x78\xC3\x74\xBD\xBC\xC3\x91\xBB\xBE\xC3\x16\xBB\xC3\xBA\x18\xBE\x55\xC3\xA3\x90\x15\x0E\xAA\xA8\xD9\xB8\x3F\x0A\xAF\xC3\x1D\x8C\x51\x8D\xC9\xC3\xE0\xC3\x80\xC2\xB5\xC3\xFB\xC3\x37\xC2\xE3\xC1\x1E\xBD\x01\xC2\x20\xBD\x3B\xC3\x5C\xBC\x3D\xC3\x5E\xBC\x79\xBD\xB9\x99\x98\xC0\xC1\xAC\x10\xBD\x08\x0E\xA2\xAC\x9C\xBB\xEA\xBB\x41\xAE\xB9\xBB\x26\xA2\xDC\xC3\xF9\xC1\x5C\xC3\xB2\xC3\xF8\xC3\x38\xBE\xFA\xC3\x3A\xBE\x56\xBC\xE5\xC3\xCE\xBC\x18\xC4\x4F\xBD\x03\xC2\xD2\xBC\x28\xBE\x0B\xBD\x05\xC4\x64\xB1\xC3\xBF\x2C\x87\x98\xBB\x45\xB1\xE8\xA8\xF2\x94\x49\xBE\x37\xC0\x4B\xBE\x3C\x0E\xD8\xB8\xC2\xB3\x6E\xC3\xCF\xC2\xDE\xC3\xFB\xC1\xCA\xC3\x18\xB7\xCC\xC3\x65\xB9\x66\xAF\x87\xC2\x48\xA7\x65\xC3\x89\xB9\x48\xB5\x8B\xB9\x14\xB3\x2E\xB5\x5F\x91\x91\xBE\x73\xA7\xB5\xBB\xFF\xC2\x47\xA2\xE8\xC2\xF4\xC3\x0F\xC4\x64\xC2\x9E\xC3\xCB\xC3\xA0\xC3\xCD\xC3\x36\xC3\x63\xC3\x8E\xA0\x54\xC4\x92\x96\x53\xB8\x57\xC4\x47\xB3\x59", +"\xC4\x11\xB5\xCC\xBB\xEE\xB8\xCE\xBB\x0E\x03\x88\xB1\x02\xC1\x2C\xB9\x13\xB9\x98\xC2\x60\xC2\x61\xC4\x2D\x13\x10\xC4\x2E\xC4\x59\xBD\x66\xC2\x52\xC2\x4A\xC3\xBF\xBD\xB4\xBC\x56\xC2\xDE\xBB\xD3\xC3\x29\xB8\xEC\xC3\x9B\xB4\x71\xAE\xA4\xB5\x3F\xC4\xF5\xB8\x84\xB5\x0E\xBC\x7C\xBD\x0F\xA9\xF7\xA5\xAC\xB1\x6A\x91\xDC\x5F\x0D\xC4\x50\x8D\x7D\xC4\x63\xC4\x4D\xC4\x6B\xBE\x4F\xC4\xE8\xBD\x5E\xB3\x6D\xC2\x5D\xB1\xA6\xC2\x43\xA9\xA8\xC2\x62\xBD\x8A\xC4\x2B\xB8\xBF\xB0\x6C\xB8\xE5\xA9\xAA\xBE\x4C\xB9\xC9\x6B\x8F\xC4\x49\xB9\x82\x86\xCC\xAC\x09\x85\x2A\x84\x94\xB8\x90\x8D\xCB\xC1\x28\xAE\x5D\x0F\xC7\x51\xB1\x00\xE7\xC0\x11\x0E\x8A\x94\xB2\x00\x4F\xB2\x05\xC1\x15\x2F\xF8\xB1\xB5\xB5\x0E\x2D\xAC\xB0\x97\x87\x21\x9B\x6F\xC1\x65\x59\x3F\x9A\x0B\x37\xE3\xBE\xA2\x95\x9F\x09\x83\x59\xDD\xB0\x0E\x2D\xB3\x08\xCC\xC4\x8E\xAE\x67\x4D\x0E\x2D\x0F\x9B\xD4\x9A\x0D\x1B\xB0\xC3\x89\x52\xFF\x07\x41\x64\xB5\x00\x3F\x9A\xDF\x00\xE3\x8C\x6E\xBF\x5A\x6A\xD0\xC4\x70\xB1\x1D\x56\xB3\x08\xE1\xC4\xC5\xB0\x2D\x13\xD7\xC4\xA5\xC1\x24\x42\x3A\x9B\x5E\x8D\xE9\x7D\x02\x20\x41\x64\x14\x3E\x44\xB2\xE1\x2C\x25\x90\xC4\xC4\xE5\xC4\x75\xBA\x2D\x22\xC1\x32\xB3\x08\xF6\xC4\xAD\xB1\x8D\x87\xEC\xC4\x70\xB3\x39\x9B\xDA\xC4\x61\xB6\x57\xB5\x8F\x8C\x3B\x0E\xF4\xC4\x8F\xC1\xAF\xC1\xF7\xC0\xCE\xC4\xA9\x09\xE4\x50\xFD\x8C\x74\xA7\x1D\x8B\xD2\xC4\xBE\x3B\xCF\xAE\x01\xC5\xB2\xB5\xD9\xC4\x31\x19\x05\xB6\x06\xC5\x70\x09\x59\x96\x56\x09\xA7\xC1\xF5\x0E\x3D\x1A\x55\x64\x08\xC5\x3F\x9A\x74\x96\x39\xC1\x7D\x85\x81\x09\xB1\x3F\xC6\xC4\xEB\xC4\xFC\xC4\x27\x01\x74\x96\x0B\xAF\x20\x9B\xC1\x32\xD8\xC4\x03\xC5\x19\xC5\x05\xC5\xE5\xB5\xD6\x09\x1D\xC5\x10\x9B\x5B\x96\x56\x09\x30\x33\xAF\x1E\x07\x56\xB7\xC4\x94\xB8\xA4\x06\x02\x59\x3F\xC5\x01\xC0\x64\x5C\x09\x01\x2A\x4B\x43\xC5\xF0\xB0\x0D\x0E\x27\xB7\x48\xC5\x2F\xB7\x11\x0E\xC5\x05\x49\x8C\x7F\x96\xB9\x65\x49\xC1\x6F\xB6\x4F\x64\xBE\xC1\x57\x74\xC7\x8B\xB7\x5D\xCF\x45\x04\x53\x2C\xC0\xB0\x66\x23\x9B\xB0\xC1\xB2\x8C\xBF\xC1\x42\xB1\x52\x8C\x69\x1A\xB7\x5D\x20\xB3\x5B\xC5\x46\xC0\x3F\x0A\x5E\xC5\x21\xB3\xB1\xC1\xFA\x02\x75\xC2\x3C\x0E\x19\xBC\xB2\xBF\x4D\x6D\x87\xC1\xE4\x65\x8F\xC2\xEF\xC1\x0C\xC2\xC5\xAE\xC2\xB2\x2D\xAA\x92\xB0\x33\xBC\xD8\xC1\x09\x9F\x81\x6C\x73\xC5\xE3\x88\x08\xC2\xED\xA6\x70\xB9\x76\xC5\x49\xBC\xA8\xB6\x2B\xAA\xE3\x8D\x03\x92\x4D\xBC\x13\xC2\x71\xC5\x3F\x0A\x80\xC5\xA1\xB5\xA7\x94\xAC\xB9\x49\xC2\x29\xC2\xF8\xBC\x3C\xAE\xB2\xB9\xF0\xBE\x8F\xC5\xDB\xAB\xB5\xAD\x42\xC2\x02\xAF\x44\xC2\x04\xAF\x44\xC4\xFA\x61\x7F\xBC\xB6\xBE\x8E\xC5\x63\xAE\x81\xAD\x93\xBC\xD6\xA2\xA4\xC5\x70\xAE\xA6\xBC\x4E\xBF\x4D\xB3\x77\xC2\xBE\xC0\x64\x6A\x99\xC5\xE0\xAE\x82\xC5\x27\xAA\x26\xBD\x79\x9F\xC0\xBC\x93\xC2\xAB\xB6\x2B\xC0\x62\x86\xDC\x5F\xB1\xC5\x8D\xAD\xA7\x94\xC1\xAD\x30\xA0\xD9\xBC\x60\xBE\x11\xBD\x87\xB3\x77\xBA\x80\xB7\xB3\xC2\x8D\xC5\xA4\x9B\xA5\xC5\xAB\xB9\xC8\xC2\xF7\xBC\x77\xC4\xF9\xBC\x3C\x0E\x38\xA7\x52\xAE\x1B\x5D\xBD\xC5\xB4\xAD\xA8\xAD\x0E\xBD\xC3\xAD\x22\xC4\x2A\xC5\xC5\xC5\x13\xBD\x68\xB7\x15\xBD\xBB\xC5\xE9\x65\xD5\xC5\xBF\xAD\xD7\xC5\xF9\xC2\x17\x49\xFB\xC2\xDA\xC5\x78\xAF\x76\xA7\xD7\xAD\x2D\xBD\x53\x71\xBC\xC1\x03\x01\xE2\xC5\x7A\xBD\xDE\x92\x42\xBD\x5C\xC5\xB0\xC5\xCB\xC5\xC7\xBD\xF2\x5E\x56\xBD\xF4\xC5\x7F\xC5\xF6\xC5\xEE\xC3\xD3\x6C\x63\x31\x3F\xBF\xF0\xC5\xDD\xAD\xA7\x94\xA0\xBD\x76\x98\x57\xC3\xDE\xA7\xDE\xC0\x09\x01\x01\xC6\x61\xA4\xBE\xAB\xFD\xAD\xEA\xC0\x72\xC5\xFC\xC5\x06\xC4\x80\xC3\xB2\xC0\x82\xC3\xA2\xBD\x31\xB8\xDA\xAD\xFB\xC5\xAA\xC5\x14\xAC\x05\xBB\xB8\xBD\xFA\xC5\x0F\xC6\x19\xC6\x97\xC3\xC9\xBD\x3F\x8A\x00\xC6\x10\xC6\x2C\xB8\xDD\xBD\xE6\xBE\xDF\x73\xC5\xC3\xA3\xC5\xCA\xC5\x1F\xC6\x8E\x67\xF2\xBD\x00\x00\x82\xB8\x9E\x96\xA9\xC5\x7D\xAE\xF0\xB9\xA7\xBC\x95\xB8\x55\xBB\x5A\xC0\x32\xC6\xDC\xBD\xF7\xC5\x04\xC6\x18\xA3\xB9\xC1\xF5\xC0\xE1\xB1\x39\xC6\x07\xB1\x71\xC4\x6B\xC0\xC2\xA8\x00\xC0\xC5\x94\x82\xBB\x27\xB1\x64\xBE\x85\xBB\x61\xAE\xBC\xC5\x24\xC6\x8C\xC4\x1A\xBF\x37\x86\x24\xB1\x51\x8F\xF5\xB3\x34\xB5\x25\xC4\x0F\xBC\x04\x62\xCB\xAD\xE1\xC5\x4E\xC6\x95\xBB\x27\xBD\x8E\xC4\xC3\xAB\x9F\x09\xE4\xAC\x46\xC2\x5C\xBA\x54\xB5\x4C\xC6\x5A\xC6\x2C\xC6\xBB\xB8\x72\xC4\x80\xBB\x74\xC4\x7B\xBE\xA0\xC5\x2F\xB8\xD5\xA5\x59", +"\xC6\xB0\x66\x0A\xC6\xD9\xA7\x80\xB5\x5B\xC4\xFC\xC2\xC8\xAA\x90\xC4\x23\xC0\x57\xC6\x81\x82\x95\xC4\x2D\x5F\xEF\xC5\x5B\xC6\x3A\xC6\xCF\xA9\xA9\xBE\x44\xB9\x06\xBC\x3F\xC0\x03\xBC\x4A\xB9\xAA\xB5\xB1\xBE\x52\x6F\xB7\x5D\x7A\x0A\x31\xB6\x93\x9A\x84\x8A\x32\x04\xCA\x34\xD4\x34\x89\x40\x42\xC0\xEB\xBF\xDA\xB1\xB7\x5D\xBE\x06\x8D\xC6\x01\x8C\xEA\xC4\x61\x0C\xD3\x34\xEF\x2D\xA0\xBF\xC5\xC0\x4C\xC5\x88\x80\xC8\x07\x99\xC6\x56\xB9\x4A\xC4\xB0\x10\x47\x23\x12\x2E\xAB\xC0\x9F\xC0\xC7\xC1\x0E\x97\x0A\x31\xA1\xC6\xEA\xB1\xE2\xB6\x09\x01\xF4\x9A\xAF\xC6\x94\x91\xCB\xB6\x03\x01\xF4\x4C\x4B\xBF\x39\xB3\x56\x09\xAF\x95\xC9\xC0\x02\x9F\x24\x9C\x7B\xAD\xD8\x9A\x67\xB6\xEB\xAC\x09\x85\x9F\x36\x75\x24\x9F\xC6\xBD\xBE\xAB\xBF\x04\xC1\xE8\xAE\x06\x01\xDD\x9A\xB4\xC6\xAC\xC5\x24\x59\x8A\x94\xBD\x00\xCE\xC6\xA1\xC1\xB7\x5D\xC7\x51\xCE\x9A\xC8\x95\x4A\xC5\x27\x01\xBF\x00\xD3\xC6\x4D\xBC\x23\x99\xA4\xC6\x43\xC5\xD7\x83\xC0\x00\xD3\xC6\xB7\x5D\xFA\x08\xC1\x00\xDC\xC6\x28\xC1\x0C\x05\xC1\x9A\xE7\xC6\x6E\xC5\xFF\x00\x90\x04\xC3\x00\xEB\xC6\xC8\xC1\x07\xAF\x27\x01\xC4\x00\xF0\xC6\x4D\xC5\xC0\x83\x27\x01\xC5\x00\xE3\xC6\xD7\xB1\x60\x5D\xC8\x64\x0E\x97\xC7\x00\x26\x9F\x5A\x9A\x4F\x7B\x0F\x42\xCC\xC1\xC4\x5A\xC7\x51\xB1\x9A\x65\xB2\x15\x0E\x80\x54\xC9\x00\xF5\xC6\x88\x80\xC5\x05\xA4\x1C\x0C\xC7\x88\x80\xFC\x07\x9B\x86\xE1\xA9\x64\x6A\x28\x9C\x09\x9C\xC6\xC0\x05\x0D\x41\xC0\xAA\xC6\xF9\x86\xF1\xB9\x97\x9E\xF1\x9D\x26\x9F\x16\xC7\x15\x9C\xE6\xAC\x8A\x94\xDB\xC6\x79\xA9\x15\x0E\xAE\x86\x17\xBF\x21\xC7\x1F\x9C\x42\x9E\xF4\xBF\x10\x83\x53\xC0\xD2\xC0\x1C\xB6\xBA\xC0\xCA\xC0\x3C\x0E\x8A\xBF\xF0\xAD\x02\x01\x2A\xC7\xC7\x9D\x2C\xC7\x5D\xC0\x34\x9E\xDA\xB5\x60\xC0\x9B\xC0\x1F\x9F\x9D\xC0\xC7\xC6\xAC\xC0\x5A\xB6\xFF\x00\xE0\xB5\xDF\xC6\xB0\x83\x38\xC7\xDA\x9D\xE8\xBE\x1C\x20\xEA\xBE\x6E\xC0\x6B\x9D\xBB\xC0\xEE\xBE\xCC\xC0\x4D\x6D\x49\xC7\xF3\x9D\x10\xBC\xDC\x9B\xB7\x09\xA9\xBF\xC8\xC6\xC6\xC0\xD3\xC0\x80\xC0\x33\xC7\xFF\x00\x83\xC0\x3F\xBF\x54\xC7\x02\x9E\xE8\xBF\x81\x0D\xB9\xBF\xA0\xC6\xEC\xBF\xFA\xBF\x5E\xC7\xBF\xBF\x36\xC7\x01\x01\x62\xC7\x11\x9E\x18\xB6\x53\x6C\x5B\x9D\x3F\xC7\x3B\x9D\xDE\xBE\x69\xC7\x90\xC0\xA3\x84\x52\xC7\x3F\x0A\x6E\xC7\x21\x9E\xDC\xBF\x87\x5D\xA9\xC0\x4E\xC7\xD0\xB5\x65\xC0\x22\xBF\x79\xC7\x27\x01\x7B\xC7\x41\x9E\x56\xC7\xF5\x60\x1B\xBF\xB5\xC0\x46\x9E\x30\xC7\x3B\xB6\x5D\xC7\x77\xC7\xE3\xBF\xBD\xC0\x8D\x9D\xE9\x65\x86\xC7\x6B\x9E\x88\xC7\x2E\xC0\x03\xBF\x6C\x0D\xC4\xC0\x5A\xC7\xBB\xBF\x76\xC7\xD5\xC0\x7F\x83\x84\xC7\x09\x01\x95\xC7\x79\x9E\x97\xC7\xE1\xB1\x35\x84\xD1\xC0\x73\xC7\xCE\xB5\x7F\xC0\x32\xC7\x90\xC7\x66\x9E\x43\x9D\xD8\xC0\x27\x9C\xA8\x9D\xCF\xC6\x6E\x9E\xDD\xC0\x68\xC5\x85\xC7\x73\x9E\xE2\xC0\x75\x9E\xB6\xC7\xA2\xC7\xB2\xC7\x08\xC7\x5D\xBF\x92\xC7\x3E\x9E\x94\xC7\x80\x9E\x7F\xBB\x6C\x9D\xEF\xC0\x15\xC0\x1B\xC7\x06\xBF\xDF\xB1\xD9\xC6\x09\x01\x1A\x64\x10\xC7\xEC\x68\x58\x5C\x0E\x92\xCC\x00\xA4\xC1\x02\xC5\x74\x51\xBF\x37\xA1\x0B\x44\x58\x61\x01\xA7\x56\xFF\x00\x0E\x92\xCD\x00\xCE\xC7\xC1\x74\x59\xC5\x43\x8B\x50\xB9\x6C\x6E\x5B\x4D\xDB\xC5\x71\xB1\x01\x9C\x04\xC7\xE8\xC0\xE2\x5D\xCF\xC1\x44\xC6\xC6\x90\x22\x8C\x55\x92\xE0\xC0\xF6\xC6\xC4\xC1\xFA\x63\x4C\xC5\x59\xB9\x3A\x7C\xF7\xB1\x35\xA9\x84\x63\x7E\x06\x47\xC3\x60\xC3\xBD\xBD\x83\xC4\x54\xC2\x85\xC4\xF2\xC2\x66\xB8\x88\xC4\x68\xB8\xA7\xC4\xBE\x96\xB3\xC5\x5E\xC1\xD4\xAF\x2D\xBC\x5A\xAD\xC3\xB2\x7B\xC5\xBB\x91\x7D\xC5\x5B\xB9\x4D\x6D\xF7\xC7\x35\xB7\xF9\xC7\x54\x01\xFB\xC7\xBB\xC2\x67\xC2\x75\xC3\x33\xC4\x23\xBE\xFF\xC3\xB0\xBD\x01\xC4\xC7\xBB\x03\xC4\x50\xBB\xBA\xBC\x78\xC2\xC1\xAE\x0A\xC2\x68\xB3\x91\xC2\x2A\x85\x0E\xC2\x0C\xC8\x10\xC2\xB0\xC6\xB6\xC6\x5F\xA6\x6D\x8E\x12\xC8\xDF\xB7\x1F\x28\x16\xC8\xE2\xC3\x31\xC4\x88\xBC\x1A\xC8\x6E\xBE\xBA\xC3\x24\xBC\x1E\xC8\x26\xBC\x20\xC8\x93\xBB\x3B\xC4\x34\xC6\xAD\xB9\x28\xC2\xDF\xB6\x62\xC6\x7B\xA6\x97\xC5\x2F\xC8\x06\x8D\xED\x30\xA8\x1F\x33\xC8\x13\xC4\x35\xC8\xEA\xBC\xB8\xC3\xEC\xBC\x39\xC8\xEE\xBC\x3B\xC8\x41\xBC\x3D\xC8\xC9\xBB\xAB\xC2\x1B\x6B\x9C\xC5\x95\xA6\x03\xAF\x1B\xB3\xD6\xB8\x1D\xB3\x48\xC2\x9B\xA6\x2B\xB6\x3F\x0A\x30\xC8\x0E\xB8\xD0\x28\x4A\xC8\x72\xC3\x33\xBB\x14\xC4\x83\xC2\x67\xC4\xA2\xC3\x69\xC4\x3C\xB7\x01\xC8\x6A", +"\xBA\x03\xC8\x6C\xBA\x3A\xC4\x32\xAF\x5C\xC2\xF7\xC6\x5E\xC2\xCA\xA4\x62\xC8\x48\xC8\xBC\x50\x66\xC8\x64\xC4\x4E\xC4\x66\xC4\x50\xC4\x96\xB5\x52\xC4\xA3\xA7\x6F\xC8\xA1\xBC\x71\xC8\x00\xBB\x6A\xC3\xEF\xB9\xAB\xC5\x44\xC5\xA9\xBC\x6D\xC3\xF8\x37\x7A\xC8\xF3\x4D\x32\xC8\x67\xC8\x39\xBC\x69\xC8\x19\xC8\x16\xC4\xA0\xBE\x35\xC4\xA2\xBE\x25\xC3\xBA\xB0\x11\xC3\x8F\xAF\x22\xC8\xE0\x95\x9C\xAD\xEE\xC1\xB0\xAF\x27\xC8\x90\x8E\xB8\xC5\x77\xB9\xFF\x00\xBA\xC5\x1C\xBE\xD4\x30\x8F\xC8\xF3\x4A\x91\xC8\x7D\xC8\x9D\xC4\x7F\xC8\x9F\xC4\xAF\xB3\x87\xB9\xBC\xB1\x55\xC4\xD8\xBA\x6E\xC4\x7E\xB3\x70\xC4\xC0\xAD\xD7\xBC\x21\xBA\x78\xBE\xC4\xC5\x24\xBA\x66\xB7\xE5\xC2\x4C\xAB\x17\xA7\x28\xBA\xDC\x5F\x63\xC8\x99\xB8\x65\xC8\x01\x38\x4B\xC8\xAF\xAC\xB6\xC3\xD5\xC2\xE7\xB9\xC9\xB8\x3A\xC2\x5A\xBC\x1A\xC4\x22\xBD\xE9\xC1\x24\xBD\x1E\xC4\xA0\xC1\x9C\xC0\xCE\xA3\xC9\xC2\x2A\xAB\xF0\x70\xA8\xAC\xC6\xC8\xAD\xB8\xC8\xC8\xB2\x50\xCA\xC8\x0C\xBB\x4D\xC8\x37\xBD\xBE\xC2\x22\xBC\x51\xC8\x3B\xBD\x53\xC8\xF0\xBC\x55\xC8\x28\xBC\x57\xC8\x61\xB7\x56\xBA\xBC\xB3\xE2\xC2\x97\xB7\x5E\xC4\x3C\x0E\xDF\xC5\xA9\xC8\x8E\xC8\xBB\x72\xAD\xC8\x9C\xC4\x20\xBE\xFE\xC1\x37\xC8\x00\xC2\x6F\xBE\x62\xBB\x9A\xC8\xD4\xB0\x1C\xC4\x43\xBE\xD6\xC8\x78\x9F\x3A\x6A\xE8\x7F\xAD\xB7\x58\xBA\xD5\xAD\xC0\xC8\xDB\xC8\xDE\xAF\xD9\xAD\xDF\xB9\xDE\xC8\xDC\xB8\xE0\xC8\xD1\x55\xE2\xC8\x0D\xBE\x61\xC3\x2F\xA2\x6D\xC8\x74\xB7\x86\xC4\xB6\xBC\x86\xC8\xE0\xBB\x05\xC8\xE2\xBB\x75\xC8\x24\x59\xBD\x76\xC8\xB7\x2D\xC3\xAA\xC8\xF9\xC8\x7C\xC8\xFB\xC8\x12\xBA\x42\xB5\xFE\xC8\x77\xC3\xD0\xC8\xD9\xC2\xD2\xC8\xDB\xC2\x04\xC9\x74\xBE\x06\xC9\x48\x72\xF9\xC5\x65\xAB\x12\xC9\xFC\xA5\xFA\xC8\x11\xC4\x85\xBC\x34\xC8\x09\xC3\x32\xC4\x96\xC8\x1E\xC2\x98\xC8\x20\xC2\xDA\xC2\xD8\xBD\xEC\xC8\x43\xBC\x0C\xBD\x91\xAB\xFF\xC5\x3E\xA6\x39\xC9\xAA\x8A\x3B\xC9\x7F\xC4\x83\xBD\x81\xC4\x18\xC9\xE1\xA5\x1A\xC9\x68\xB9\xC1\xBD\x1F\xB9\xA8\xC3\x94\xC3\xAA\xC3\xEE\xC8\xF8\xB4\x07\xC4\x2D\x6E\x7E\xBD\x0B\xB8\xD9\x1C\xAB\xC8\x5D\x5A\x4F\xC9\x86\xB7\xC5\xB8\xF9\xBD\x9C\xB8\x8E\xC3\xCF\xC8\x90\xC3\x3B\xC2\xA7\xC3\x3D\xC2\xD4\xC8\x8E\xBD\x79\x60\x6C\xC3\x14\xC2\x4D\xC9\xD0\x93\x65\xC9\x2D\xBA\xE5\xBD\xFC\xC8\x1C\xC2\x41\xC9\x39\xC2\x6C\xC9\xD1\xC8\x6E\xC9\x3C\xC3\x70\xC9\xEF\xBD\x35\xC9\x52\xA5\x12\xC6\x0E\xC9\x83\xC3\x29\x72\x67\x94\x75\xC9\x0E\x99\x77\xC9\x48\xBA\xA4\xBA\x30\xC4\x3F\xC9\x36\xC8\x7C\xC9\xE6\xC3\x73\xBC\xE8\xC3\x75\xBC\xEA\xC3\x99\xB4\x20\xC9\xA5\xBC\x1A\xC6\x98\xC3\x44\xB8\xFB\xAF\x8B\xC9\xF1\x99\x8D\xC9\x6C\xBC\x0C\xBE\xA3\x7D\xEE\xC2\x0F\xBE\xF0\xC2\x5E\xBD\x84\xC8\x60\xBD\x1E\xC9\xA3\xBC\x9A\xC9\x64\xBD\x20\xC6\x5A\xB8\xCA\xBD\x56\xBB\xA0\xC9\xA7\xA0\xA2\xC9\x7F\xC2\x3D\xC9\x4C\xC8\x91\xC9\x4E\xC8\xE6\xC8\x39\xBD\xE8\xC8\x70\xBE\xEA\xC8\x3D\xBD\x47\xC9\x52\xC3\x84\xC9\xAD\x98\x5E\xC9\xB8\x8E\x29\xC6\x42\xBB\xB4\xC9\x50\x8E\xB6\xC9\xB9\xC2\x5F\xC3\x17\xC8\x82\xC4\x62\xC3\xCF\xC3\xA3\xC2\xD1\xC3\x9B\xAA\x4F\xC3\x0D\xA6\x51\xC3\x3F\xBD\xC0\xC3\x0B\xBA\x75\xA8\x4F\xAC\x38\xC9\x63\xC9\x83\x63\xCC\xC9\x70\xBB\xF8\xBD\x94\xBD\xA6\xC9\x54\xBE\xA8\xC9\x11\xBE\xAA\xC9\x13\xBE\xC3\xBD\x01\xB8\xF6\xC2\xEE\xB0\x8A\xC8\xCB\xA1\xE3\xB4\x39\xA5\x50\xBC\xCA\xC9\x8A\x90\xE1\xC9\x37\xBE\x80\xC4\x08\xC3\x18\xC8\xB7\xC3\xBC\xC9\x72\xBD\x1C\xC8\xEB\xBD\xC0\xC9\x76\xBD\xA9\xC3\xB4\xBD\x5C\xC9\x90\xC5\x86\xC9\xB1\xB9\x3E\xC6\xAA\xB8\x27\xC9\x65\x73\xF6\xC9\x50\xBE\x88\xBB\xE0\xC1\xCC\xC8\x8D\xC3\xFB\xBD\x8F\xC3\xE7\xC3\x91\xC3\xE9\xC3\x93\xC3\x39\xC4\x95\xC3\x49\xC9\xCD\xA5\x46\xBE\x76\xC6\x90\x98\x15\xB5\x30\xBE\x44\xC8\x29\xB1\xDD\xC8\xDF\xC9\x6B\x6A\x0C\xCA\x82\xBE\x0E\xCA\xD3\xC2\x10\xCA\xE5\xBA\xFC\xC9\xB9\xC3\xFE\xC9\x25\xBE\x00\xCA\x8C\xBD\x82\xC9\x06\xC2\xC4\xC9\x45\xBE\xC4\xC7\x92\xC4\xBD\x99\x40\xC4\x4B\xAE\xE9\xA8\x43\xC4\x5D\xC8\x41\xBA\x38\xB5\x66\xBE\xF5\xB8\x79\xC8\x28\xC9\xC9\xC8\x92\xC8\x35\xBD\xE4\xC8\xE4\xC3\x93\xC9\x34\xC4\x00\xC9\x3A\xC3\x80\xC9\x1B\xC4\x32\xCA\x3F\xC2\x34\xCA\x76\xBE\x75\xC6\xE8\xC5\x50\xB5\x61\xC6\x95\xC5\xB7\xAF\xE8\xAC\x7A\xC4\x9B\x1F\x24\xCA\x69\x8C\x29\xC9\x3C\xC9\xA4\xC9\xF6\x96\xC7\xB8\xCE\xC8\xD7\xC2\x2F\xC9\x79\xC3\x45\xC9\x22\xC2\xC2\xC9\xD9\xC9\x51\xCA\x84\xB1\x53\xCA\xDA\xBC\x7F\xB0\x6A", +"\xB5\x0E\xB9\xF4\xC8\x55\x82\x23\xCA\x43\xCA\xE1\xC8\x45\xCA\x1E\xBC\x47\xCA\xFC\xC3\xD6\xC2\x0C\xC3\x2E\xCA\x3F\xBE\x30\xCA\xB2\xBD\x02\xCA\xEA\xC1\xAB\xC3\xB7\x6E\x77\xBE\xE6\xA1\xE3\xC4\x29\xB9\xE9\xBB\x7A\xC6\x8D\xA2\xEC\xBB\x2F\xB9\x92\x4F\x0B\xCA\x5E\xCA\x50\xC9\xCF\xBD\x52\xC9\xFD\xC7\xD1\xC9\x84\xC4\x98\xBD\x1C\xC9\x08\xBD\xAC\xC9\xB8\xBC\x19\xCA\x3F\xC8\xA8\xBE\xEC\xC0\xAC\xC4\x3F\xAD\x4D\xB9\x3A\xC1\x5C\x09\x04\xBC\xC1\x7D\x76\xA9\x03\xB2\xB7\x37\xA3\x5C\x09\xC1\x09\x01\x0B\xC7\xE0\x83\xAD\xCA\x7B\xC1\xAC\xCA\x28\xAD\x5A\x55\xEB\x57\x7C\x8C\x57\x0B\xED\x57\xD3\xC1\x51\x3E\xBB\x9A\x3B\x0E\x47\xC5\x8F\xC1\xBC\xCA\xA7\xB6\x1E\x89\xBE\xCA\xAF\xAB\x90\x5A\x5A\x31\xB5\xCA\x0D\x0D\xB7\xCA\x52\xC6\xBF\xC6\xA8\xCA\x01\x01\xD3\x00\xA3\x5C\x47\x0E\x3B\x0E\xD2\x00\x3F\x9A\xFD\x00\x97\xB2\x09\x01\xD2\xCA\xA6\xC6\x15\xB2\x02\x07\xC5\xCA\x27\x13\xC7\xCA\x89\xA9\x24\x4A\x50\x31\xC7\x0A\x41\x64\xD0\xCA\xE0\x83\xE1\xCA\xB0\xCA\x13\x9C\x7C\xC4\x25\x1A\x16\x04\xD9\xCA\xB0\x10\xDB\xCA\xCE\xA9\x5C\x07\x05\x59\x8B\x03\x41\x64\xD1\x00\x3F\x9A\xF1\xCA\x93\x92\xE1\x89\xF3\xCA\x5B\xC3\x78\x15\xE8\xCA\x7B\xC2\xEA\xCA\xD5\x0D\xB8\xCA\x16\x61\xF3\x28\xDE\xC7\x00\xCB\x0F\x8C\xB7\x5D\x31\x0B\xA9\x9A\x01\xCB\xE8\xC6\xA4\x06\xD6\x00\x83\x90\xC4\x5A\xFB\x95\x03\x01\xD5\x00\xEB\xC6\xB7\x5D\xA8\xC8\x90\xAD\xF2\x9A\x3B\xC7\x1D\x9B\x26\xC0\xE9\xBE\xD7\x2A\xC2\xC5\xBD\xC8\x39\xCA\x5A\x89\xED\x95\x4F\xAA\xD5\x83\x97\xC6\x7C\xC1\x06\xCB\xE8\xB1\x05\xC1\xD9\x00\xAA\xCA\x06\xB2\x06\x01\xFF\x33\x44\xB2\xAC\x8E\x1B\x96\x2F\xAF\x32\x00\x76\xC1\x9E\x43\x41\x64\xDB\x00\x3F\x9A\x27\x00\xD3\xCA\x06\x01\x34\xCB\xA6\x5D\x55\xC1\x95\x5E\x80\xC1\xDA\x6F\x59\xC1\x6C\x7F\xB9\xA9\x1F\xB4\x67\xC1\x58\x01\x7D\x6F\x23\xCB\xCA\xCA\x00\x00\x25\xCB\xFF\x62\xAB\xCA\x28\xCB\x3F\x9A\x2B\xCB\xA1\x77\x2D\xCB\x2F\xCB\xB5\x59\x31\xCB\x33\xCB\x35\xCB\x03\x01\x37\xCB\xE7\x5D\x39\xCB\x47\x5F\x3B\xCB\xB5\x70\x3D\xCB\x0D\x7E\x3F\xCB\xD6\x5C\x41\xCB\x42\x9B\x24\x39\xCE\xC6\x3A\xC0\xAE\xB5\xEE\xC5\x25\x9B\x56\xC5\xBB\x8C\xBA\xBE\x1A\xC7\x80\xB6\x73\xBF\x56\x59\x45\xC0\xE4\xC0\x4D\x6D\xC6\xC1\xCA\xB2\xD8\x7D\x6D\xC5\x9C\x9E\xC0\xC7\x16\x9F\x64\x6A\x71\xCB\xE8\xB2\x73\xCB\xBF\x08\xC2\xC0\x87\x83\xCE\xBE\x95\xC6\x39\xBF\xAB\xC7\xBD\xC6\x9F\xC7\x15\x0E\x35\xC7\x7D\xBF\x3F\x0A\x79\xCB\x5F\xC5\x2F\x9B\xFA\x02\x7D\xC7\x11\x5E\x92\xBF\x8D\xC7\x75\xC7\xD4\xC0\x0B\xB6\xB7\x5D\x46\xC7\xF0\xBE\x89\xCB\x6B\xC5\x60\xC5\x1C\xC5\xBE\x9E\xE9\xBE\xFF\x82\x80\xC7\xFB\xBE\xAD\xC7\xEF\xB5\xA1\xC7\x06\x01\x97\xCB\xBA\xC6\x6C\xC5\x7C\xCB\x79\xC0\xD6\x8C\x66\xC7\x9C\xC7\x68\xC7\x92\xCB\xA1\xBF\xFF\xB5\xA2\xCB\x03\x01\xA4\xCB\xED\xC4\x36\xC5\x9A\xCB\x52\xC0\xED\x08\x0A\xB6\x80\xCB\x05\xAB\xC8\xC0\x9E\xC0\x63\x34\xB7\x5D\x6B\xC7\x87\xCB\x27\x01\xB2\xCB\xD4\xC7\x71\xB4\x37\xC5\x91\x9C\x19\xB6\x93\x9C\x9E\xCB\x70\xC0\x93\xCB\xC4\x5A\xA1\xC0\x6C\xC7\x00\x00\xC2\xCB\x17\xC5\x8B\xCB\xA7\xCB\x20\xC4\xF3\x9E\xAA\xC0\x4B\x9E\x83\xC7\x76\xCB\xF2\xB5\x09\x01\xD0\xCB\xC0\xB5\xA6\xCB\xBD\x06\xA7\xC0\x95\x5E\x2A\xBF\xA9\xC7\x48\xB6\x82\xCB\xBC\xCB\xC1\x2E\x30\xBF\xD9\xCB\x02\xB6\x88\xCB\x67\xCB\x8C\xCB\x7D\xCB\xE9\xBF\x46\xB6\xE3\xCB\x2C\xBF\x8E\xC0\x8F\xC7\x84\xCB\x4C\xB6\xB0\xCB\x66\xCB\x50\xB6\xC4\xCB\xB5\xCB\x20\xC4\xF6\xBF\x50\x87\xC9\xCB\xED\xBF\xF5\xCB\x98\x9D\xAF\xC7\x08\xC6\xA3\xCB\xEC\xCB\xA2\x5A\x35\xC6\x50\xBF\xBB\xC7\x05\xCC\xF9\xCB\x1B\xC5\x68\xCB\x07\xC0\xDD\x9C\xB0\xC7\xF8\xCB\xAB\xB2\x7B\xCB\x71\xA9\xC3\xC1\x8A\x61\xF7\xCB\x28\x9B\x06\xCC\x4A\x01\xED\xC0\x64\xBF\x14\x16\xF0\xC0\x95\x9E\xF0\xC9\x96\xB9\xC3\x9D\x65\xCB\x01\x01\x1A\x9B\x2D\xB1\xC7\xC4\xF9\xC4\x87\xCA\x06\x62\xBB\xBE\x42\xC7\xAB\xC6\x07\xCB\x75\xBF\x04\xCC\x03\x01\x26\xCC\xFF\xC4\x12\xC5\xD0\xC4\x4B\xC0\x37\x9F\x0E\xC6\x3F\x0A\x33\xCC\x96\xC4\xE9\x87\x0E\x2D\x64\xC7\xF2\x04\x84\xBF\x90\xCB\x41\xC7\x94\xC6\xC5\xC0\xB7\x5D\x86\xCB\x38\xC6\xCA\xC1\x9B\xC6\x30\xC5\xB1\x3F\x8D\xCB\x95\x5E\x8F\xCB\xF1\xCB\x8D\xC0\x55\xC0\x00\xCC\xCB\xCB\xE1\xBE\xE9\xCB\x32\xB6\x09\x01\x3B\xCC\xD5\xC4\x3D\xCC\xC1\x32\x4B\xC7\x54\x51\x4D\xC7\x42\xCC\x46\xBF\xE6\xCB\x7C\xC0\xDF\x86\x18\xCC\x00\x00\x59\xCC\xAF\xAE\x5B\xCC\x4C\xCC\xA8\xBF\x7A\xC0\x8B\xC0\xC9\xC6\x5C\xC7\xAC", +"\xC7\x01\xCC\x5D\x0F\x60\xC7\x17\xBF\x67\xCC\x2F\xC5\x1D\x56\x3F\xCC\xE3\x04\xAA\xCB\x43\xC7\x5B\xC7\x31\xC7\x83\xCB\x54\xCC\x4F\x9D\x65\xCC\x75\xCC\xFB\xB1\xFB\xC4\x6A\xCC\x0F\xBF\xC7\xCB\x6D\xCC\x7C\xCC\x8E\xC7\x70\xCC\x7F\xCC\x60\x9D\x56\xCC\x7E\xC5\x4D\x6D\x82\xCC\x74\xC4\x77\xCC\xE0\xCB\x47\x5F\x7F\xC7\x60\xCC\xB9\xC0\x7E\xCC\xAE\xCB\xD7\xBF\x8E\xCC\xCD\xC4\x81\x6C\x91\xCC\x80\xAF\x2B\xC5\x85\xCC\xD4\xCB\x00\x9F\x79\x9D\xFF\xCB\x9E\xC7\x8C\xCC\xBC\xC0\x92\xC0\xAF\xC5\x9E\xCC\x15\xC5\x5C\xCC\xEE\xCB\xC4\x06\x0E\x9F\x97\xCC\xBB\xCB\x2D\xCC\xBD\xCB\xC4\x5A\x3E\xBF\x74\xCC\xAD\xCC\xA2\xCC\xEC\xC7\x89\xC0\x1C\x9F\xF7\xBF\xB2\xCC\xE5\xCB\xB4\xCC\xE7\xCB\x49\xBF\x03\xCC\x0A\xCC\x32\xCC\xB9\xCC\xB6\xC1\xF0\xC7\xD5\x89\x70\x9E\xE2\xB1\xB0\x66\x9F\xCC\x23\xBA\x1D\x56\x6B\xB6\xE3\xC0\x71\x9E\xE9\x65\xCE\xCC\x79\xBE\xA1\xCC\xC8\xCC\xBC\xC4\x09\xC4\x81\xCC\xC7\xCC\x0F\xC5\x16\x01\x1C\xCC\x13\xC0\x1E\xCC\xC7\xC7\x6B\xCB\xF1\xC6\x15\x0E\x31\x0B\x72\x3B\xCE\xC7\x63\xCB\x6A\xBF\x24\xCC\x00\x00\xBB\xC4\xDA\x61\x24\x05\xB5\xB5\x2C\xCC\x44\xCC\xAB\xCB\x1D\xC7\xBB\xB5\x30\xCC\xC5\xCC\x02\x01\xED\xCC\x9B\x61\xEF\xCC\x75\xCB\xAA\xCC\x93\xC7\xB0\x66\xF9\xCC\xD7\x61\x24\x05\x78\xCC\x7F\xCB\x67\xC7\xF9\xBE\x4F\xC7\x5E\xC7\x47\xCC\x39\xCC\x27\x01\x00\xCD\x84\x66\x02\xCD\x94\xCC\x19\x06\x4F\xCC\xB9\xCB\x92\xAF\xB3\xCC\xF2\xCC\x7B\xCC\x94\xCB\x65\xCC\x0C\xCD\x2A\x69\x0E\xCD\x9D\xBF\x9C\xCB\x5F\x84\xA6\xCC\xAD\xCB\x45\xCC\x72\xC0\xFD\xCC\xC1\xC7\xFF\xCC\x38\x64\x5E\x60\x1B\xCD\x20\xC4\x59\xC7\x7B\xCC\x9D\xC7\x20\xCD\x5A\xC7\xAF\xCB\x9C\xCC\xFF\xBE\x81\x6C\x19\xCD\x5E\x69\x28\xCD\xBB\xCC\x47\x9D\x15\x9E\x7A\xCC\x2E\xCC\x06\xCD\x81\xC7\x50\xC7\x5D\x0F\xBF\xCB\x48\xCC\x09\x01\x33\xCD\x79\x6B\x35\xCD\x50\xC6\xBA\x0B\x9A\xC0\x12\xCD\xD8\xC8\x98\xCC\x62\xCC\x6D\x21\x44\x83\x18\xCD\x26\xCD\x4C\x5F\x44\xCD\x3D\xC4\x3C\xC7\x27\xB6\x1D\xBF\x1F\xCD\xF4\xCB\xA8\xCC\xF9\x9E\x23\xCD\x77\xCB\x32\xCD\x4F\xCD\xB4\x5F\x51\xCD\x2D\xC7\xBF\x84\x78\x9D\x67\x00\xD6\xCB\x65\x9E\x3C\x0E\x3F\xB6\xA2\xC0\xF8\xCC\x5D\xCD\x92\x60\x5F\xCD\x14\xCB\xA7\xC7\x45\xB6\xB1\xCC\x50\xCC\xFB\xB5\xC0\xCC\x15\xCD\x9F\xC0\x46\x87\x4E\xCD\xEE\xCC\x7E\x09\xAF\xCC\x51\x01\xBE\xCC\x71\xCD\x7E\xC0\xF3\xCB\x8B\xCC\x9A\xCC\xD6\xC0\x4A\xBF\xF7\xCC\x01\x01\x42\xCD\x97\x6F\xFB\xCC\x08\xCC\xB5\xC7\x6F\xCB\x3F\x0A\x86\xCD\x9E\x72\x88\xCD\x0F\xCC\x6D\xB6\x26\x9F\x8D\xCD\xC4\x75\x88\xCD\xCA\xC7\x0D\xC0\x59\xC0\x0A\xCD\x41\xCD\x6A\xCD\x7B\x5F\x24\x05\xDF\xCC\xB7\xC0\x14\xC0\xC7\x94\x4B\xCD\xEA\xB5\x35\xC6\xC5\x05\xDD\x00\x22\xCB\xC0\xC4\x05\xC7\xE0\x2C\xD9\xCC\xD0\xC6\x27\x01\x57\x96\xF0\xC6\xD5\xC6\x27\x01\xE9\xC4\xA9\x9D\xBD\xC4\x27\x01\xED\x63\x64\xB2\xF5\xC7\x6D\x8E\x42\xC5\xD8\xBE\x83\xBC\x5F\xCA\x9D\xBE\xFD\xC8\x49\xCA\x1B\xC8\x65\xCA\x00\xC4\x67\xCA\xC3\xC2\x69\xCA\xDA\xBD\x2B\x7E\x2A\xBC\x97\x88\xDF\xC2\xB6\xC5\x4A\xBC\x79\xC5\xC8\xB6\x37\x7E\xF3\xB9\x14\xC2\xBA\xCD\x27\xC6\xCF\xA8\x8E\xC9\x83\xBE\xCF\xC9\x53\xC9\xCB\xA7\x55\xC9\x88\xC2\x57\xC9\x6A\xB9\x17\xCA\x8F\xBC\x88\xC8\x8F\x92\xC9\xCD\x96\xC1\x85\xC5\xBF\xBC\xCD\xCD\x92\xB9\x0F\xC2\xE4\x96\xD6\xC1\x2D\xC8\x2F\x52\x3A\x7C\xD3\xCD\xF3\xBE\x93\xB6\x91\xCA\xE3\xC9\xD0\xBD\xE5\xC9\x53\xC2\xE7\xC9\x56\xBE\xE9\xC9\x58\xBE\xEB\xC9\x01\xBE\xAE\xC9\x03\xBE\x40\xC8\x49\xC2\x42\xC8\x15\xA3\xB0\xB9\x13\xB5\x46\xC8\x3E\xA6\xEF\xCD\xC3\xC3\xB8\xC2\xE2\xC9\x34\xC2\xD8\xCD\x94\xCA\x19\xC9\xD2\xC9\x64\xC3\xD4\xC9\xFC\xAA\xD6\xC9\xFF\xAA\xD8\xC9\xC7\xCD\x9D\xCA\x91\xAF\x0C\x0E\x2B\x92\x20\x1A\xC7\xB9\x57\xCA\x47\xC2\x3B\xA3\x30\x8E\x26\xC9\x01\x01\x07\xCE\x50\xC0\xD5\xCD\xA3\xC9\xBE\xCD\x7B\xC9\x4F\xC8\xE4\xC1\x4B\xCA\xA6\xC3\x16\xCA\x59\xC9\x18\xCA\x5B\xC9\x96\xC3\x74\xC5\xA7\xC5\x39\xBF\x3F\x0A\x23\xCE\x77\xC0\xAD\xBC\xF2\xCD\x0B\xCE\x3E\xC9\xFA\xC9\xCD\xC8\x6A\xC9\x64\xCA\x7E\xC9\x30\xC9\x4D\xCA\xD3\xC8\x81\xCA\xD5\xC8\x83\xCA\xFB\xAD\xB4\xCD\x11\xA9\x19\x63\x29\x0B\xF3\x33\x2E\x1B\x1E\xCB\x8B\xC8\x0F\xC8\x89\x6A\xB0\x66\x36\xCE\x86\xC0\x38\xCE\x66\xC9\xB7\xB9\x68\xC9\x62\xCA\x3E\xCE\x7C\xCA\xC2\xCD\x1D\xC8\xC4\xCD\x10\xC3\xC6\xCD\xA6\xBE\x44\xBC\x42\xC3\x05\xBA\x25\xC8\x07\xBA\x4D\x9B\xA0\xAD\xC1\xBC\x59\xB8\xA3\xAD\xCD\xC2\x14\x55\x92\xBD\xF3\xCD\x93", +"\xCA\xD1\xBD\x95\xCA\xFF\xC7\x97\xCA\xF9\xCD\x57\xC2\xFB\xCD\x15\xBE\xFD\xCD\x17\xBE\x6F\xBA\xE0\xC2\xA2\x7A\x76\xAF\x54\xCA\xFA\xC4\xBF\xC8\xE4\xC2\x87\xC9\xC3\xC8\x28\xC4\xA8\xB2\x64\x6A\x53\xCE\x96\xC0\xBC\xCD\x39\xCE\xBA\xC2\x3B\xCE\xD0\xC9\x0E\xCE\x96\xCA\x4C\xC3\xDD\xCD\x78\xBB\xDF\xCD\xEB\xC3\xD5\xC3\xD7\xB7\x04\xBE\xBA\xCB\xB7\xAD\xDA\xC8\xEB\xC5\xDC\xC8\x6C\xCE\x03\x59\x6E\xCE\x3A\xCE\xB9\xC9\x3C\xCE\x11\xCA\x71\xBC\xFC\xBD\x95\xC9\x15\xCA\x97\xC9\x94\xCE\x99\xC9\x96\xCE\x7D\xB8\xE3\xBB\xC0\xC5\xCE\x5B\x0F\xBD\x6E\xCA\xE5\xC7\x79\xAF\x3D\xCA\xF2\xBA\xF5\xC8\xA8\xAC\x88\xCE\x81\xC3\xE5\xBC\x56\xCE\xF7\xB9\xF9\xC9\x8E\xCE\x54\xC9\x0F\xCE\x6A\xC4\x11\xCE\x8B\xAB\x77\xCE\x5A\xBE\x79\xCE\x5C\xBE\xAE\xCE\xD5\xAF\x71\xA7\x0D\xA4\x1D\xCA\x11\xC5\xDC\xBC\x72\xCA\x01\xC3\x42\xBB\xB9\xCE\x13\xC6\xBB\xCE\x78\xC9\x1F\xBE\x2B\xC9\x38\xB7\xB1\xC8\x16\xB4\xA1\xC4\x7E\xB4\x37\xC4\xA4\xBE\x60\xCE\x24\xC2\x04\xCA\x84\x6C\xF3\xC5\x65\xAB\xD3\xCE\xCD\xBD\x8B\xCE\xCE\xC9\x8D\xCE\xD9\xCD\x3A\xA9\xDB\xCD\x53\xC4\xC3\xCE\xA1\xAB\x98\xC9\x7B\xB8\xAC\xCE\xA5\xB8\xF7\xC5\x39\x98\x12\xB0\xFB\xAF\xE6\xCE\xF6\xBD\xE8\xCE\x8A\xC3\xCB\xC8\x94\xC8\xFB\xC9\xFD\xC3\xAE\xBD\x7D\xCA\xC1\xC2\x5E\xCE\x7B\xC3\x33\xC9\x72\xC2\x6B\xCA\x78\x5B\x41\xC3\x23\xC8\x87\xCE\xA0\xCE\x8C\xCE\xA2\xCE\xBF\xCE\xDA\xCD\xC1\xCE\x6E\xC8\x96\xC9\xFF\xBD\xC5\xCE\x8D\xBE\xC7\xCE\x8F\xBE\x42\xC6\x06\xCA\xA5\xB1\x60\xC9\xDF\xA7\x02\x01\xF9\xCE\x0A\xBE\xBD\xCD\x1B\xC2\x9E\xC4\x76\xC3\xA0\xC4\x23\xC3\xA2\xC4\x6F\xC2\x9B\xC8\xE0\xCE\xC5\xC2\x8F\xBD\x0C\xC6\x5F\xB0\x56\xBB\x20\xCF\x09\xBB\x2A\xC9\x47\xBB\x13\xBA\xC0\xCD\x38\xC8\x02\xCF\x0E\xC3\x04\xCF\xBD\xC3\x06\xCF\xDD\xC2\x08\xCF\x2B\xBB\x19\xBE\x11\xB9\x7B\xB0\xA3\xBD\x21\xCE\x00\x00\x31\xCF\x1D\xBB\xAE\xC8\x7A\xC9\x24\xCF\x2D\xC9\x26\xCF\x43\xC9\x24\xC3\xDE\xCE\x26\xC3\x4F\xCA\x28\xC3\x3E\xCF\xC2\xBC\x3C\x0E\x94\xB0\xF8\xCE\x0D\xCF\xE9\xCE\x0F\xCF\xEB\xCE\x97\xAE\xF7\xCD\x55\xC2\x75\xCE\x87\xC4\x16\xCF\x59\xC2\x18\xCF\x5B\xC2\x18\xBB\x5D\x0F\x1A\xBB\x3A\xA5\x46\xCF\x0A\xB9\x16\xC9\xA5\xC9\xFA\xBD\xA5\xCE\x13\xCA\xA7\xCE\x6D\xC9\x2D\xCE\x6F\xC9\x44\xCE\x71\xC9\x46\xCE\x40\xB9\xC2\xC3\x24\xCE\x7A\xBF\x6E\xB8\x47\x94\x67\x94\x69\xCF\x0F\xBC\x6B\xCF\x61\xCA\xB9\xB9\x00\xCF\x3D\xBE\x38\xCF\xBB\xC3\x3A\xCF\x02\xC4\x3C\xCF\x7D\xC3\x53\xCF\x6A\xCE\x56\x59\x20\xA5\x7D\xCF\x58\xCF\xFC\xCE\xE3\xC8\xBA\xC9\xE5\xC8\x83\xCF\xBF\xC2\x85\xCF\x3A\xC8\x87\xCF\x1F\xC8\x89\xCF\xBF\xC3\x8B\xCF\xF4\xBC\x16\xCC\x5D\x0F\x96\xB8\xB9\xCD\x90\xCF\xB4\xC3\xFD\xCE\x79\xCA\x15\xC4\x29\xCE\x17\xC4\x2B\xCE\x02\xC2\x7F\xCA\xED\xBD\x51\xCF\x3E\xC3\x9D\xCF\x7F\xC3\x78\xCF\x37\xCE\x2B\xC2\x1B\xBE\x4C\xB1\x9F\xCE\x69\xBE\x6E\xB7\xD8\xCE\xF2\xBB\x25\xCF\xB2\xC8\xDC\xCE\xF2\xB4\xAC\xCF\x27\xBE\xE0\xCD\x73\xC8\x9E\xBD\x3C\xC4\x60\xCD\x3E\xC4\xC8\xCA\xFD\xAD\x3C\x04\x20\xCA\x1D\xCE\x63\xC6\xC9\xA8\xB8\xCE\xA3\xCF\xE1\xC3\x5A\xCF\x0D\xCE\xC0\xCE\x90\xCE\xD0\xC3\x92\xCE\xAD\xBB\x73\xCF\x5A\xC9\x03\xCA\x31\xCE\x68\xC6\x36\xCD\x21\xC4\xB2\xCE\x53\xC6\x27\x02\x55\xC6\x72\xCA\x47\xC4\x34\xBE\x1F\xCF\xD0\xCF\x12\xC4\xA5\xCF\x93\xCF\x48\xCA\xA8\xCF\x97\xC8\xAA\xCF\x19\xC4\x42\xCE\x32\xC9\xAE\xCF\x1D\xC4\x76\xCF\x93\xC1\x70\xBA\x58\xAE\x2D\xBE\xEF\xB8\x60\xC6\xF1\xB8\x4A\xC6\x40\x8B\xCF\xCF\xB8\xCF\x9F\xB7\x58\xCE\x82\xCF\x7B\xCA\xFE\xC3\x5C\xCE\xFF\xC9\x99\xCF\x3C\xC8\x9B\xCF\x04\xC4\x74\xC8\x4F\xC6\x5D\xC6\xC8\xCF\xFD\xC2\xCF\xBB\x71\xCA\xFD\xCF\x8B\xB1\x40\xCA\xA0\xBB\xB7\xCF\x81\xBE\xE2\xA7\x8F\xC9\x68\xC8\xA6\xCF\x6A\xC8\x80\xC8\xFA\xB7\x82\xC8\x4F\xA8\x5F\xCF\x1D\xC9\x61\xCF\x8C\xC2\x63\xCF\xA7\xB0\x1B\xCA\x6D\xCA\xC3\xC5\x4A\xC1\xBB\x0C\x89\xCA\x37\xCA\x6C\xB4\x2E\xB9\x2D\xB1\x35\xCE\xE8\xCF\xB8\xC9\xEA\xCF\xA3\xCE\x2B\xCA\x95\xCF\xE7\xC8\x97\xCF\x52\xC8\x08\xD0\x54\xC8\x0A\xD0\x21\xC8\xDC\xCF\x05\xCA\xB2\xCF\x54\xCE\x0C\x74\xA0\xCA\x46\xB9\xA2\xCA\x27\xC5\xB0\xC4\xB3\xA2\xA1\xCA\xAE\xC4\x49\xC5\xEB\xB1\xCF\x90\x19\x63\x99\x64\x40\x1B\x59\x2F\xFD\xB6\x3B\x67\xAC\xC1\xEB\xCC\xC1\xCA\xD4\xCD\xD1\x80\x7F\xB2\xE2\x84\xC3\xCA\xEB\x57\x5D\x0F\x58\x5C\xE0\xB5\xE7\x00\x4B\x87\x03\x01\x58\xD0\xF0\xCD\x55\xCE\x91\x04\x7C\x8C\x5F\xC6\x50\x31\xEB\x57\x3F\x0A\x7B\x8D\x49\xB2\x2D", +"\xB2\x00\x5A\x9C\xB2\x11\x01\x52\x60\x0D\x0C\x88\x40\xD8\x09\xFB\x59\x51\x3A\xA8\x54\xE6\x86\x81\x08\xE8\xB5\xA8\x54\x45\xC7\x27\x01\xE8\x00\xF0\xBE\x65\xD0\x08\xCE\x3F\x0A\x5B\xD0\x54\xAA\x5D\xD0\xA0\xB2\x76\x02\x6D\xD0\x99\xB2\x70\xD0\x69\x8D\x44\x55\xDC\x0C\xD6\x83\x11\xB0\xE4\x00\x5B\xC1\xDC\x5F\x83\xD0\x79\xCF\xC6\x96\x86\xD0\xC2\xCA\xF5\x62\x5A\x31\x8B\xD0\x3B\xB2\xF4\xBA\x2A\x52\x82\xB2\xA6\x8C\x74\xD0\xE2\x07\x62\x42\x21\x59\x51\x3A\x64\x8D\x11\x02\xF2\xA0\xE5\x00\x82\xD0\x64\x9F\x99\xD0\x8D\xAC\x9F\xB2\xBA\x5A\x89\x05\x9D\xD0\x80\xB2\x8D\xD0\x74\xB2\x8C\x8D\xA2\x9F\xD6\x9C\xC8\x8F\xC9\xC5\x46\xC5\xAD\xD0\x69\xD0\x4C\xAD\x3D\xB2\xD0\x0B\x3F\x0A\x9F\x8C\xB4\xD0\x3C\xB2\x61\x55\x8B\x61\xB7\x5D\xDF\x7D\x8C\x08\x99\xCD\x06\x01\x96\xD0\xB3\xCF\x5A\xD0\xBE\xD0\x35\xAC\xAA\x82\x9C\xD0\x27\x01\x6E\xD0\x0E\xB2\xB5\xD0\xA1\xD0\xB7\xD0\x3B\x67\xA5\x83\xD8\x63\x17\xBF\xCD\xD0\x43\xD0\xCF\xD0\xFE\xAB\x29\x84\xD3\xD0\x09\x01\xD5\xD0\xCB\x5A\x9A\xB2\x29\x31\x2C\xC8\x56\x59\xAE\xAE\x62\xD0\x49\x5C\x64\xD0\xBD\xD0\xE1\xD0\xB3\xC4\xE3\xD0\x06\x01\xE5\xD0\x72\xB2\xD7\xD0\x8E\xB2\x11\xB2\xDC\x0C\xA3\xD0\x30\x0C\x76\xD0\x0C\x04\x42\x07\x64\x42\x0A\x04\x7A\xD0\xB3\x86\x81\x08\xF1\x0A\x22\x0B\x7E\xD0\xC4\x5A\x80\x87\x00\x00\xE9\x00\xAC\xD0\x47\xA1\xAE\xD0\xC3\xC6\x23\xB2\x6C\xD0\xD4\xD0\x8C\xD0\x3C\xB2\x71\xD0\xF8\xD0\x14\x0A\xC4\x5A\xA9\x58\x00\x00\xEA\x00\x0B\xD1\xF1\xB7\x0D\xD1\xFA\xCF\x6B\xD0\x89\xD0\x24\x02\xB3\xD0\x6F\xD0\x13\xD1\x8E\xD0\x53\x55\xDC\x0C\xB7\x5D\xEE\x8B\x00\x00\xEB\x00\x1B\xD1\x9B\xBE\x70\x02\xD0\xD0\xB2\xC4\x0F\xD1\x20\xD1\x32\x78\xF4\xD0\xC9\x5A\xE7\xD0\x66\x31\x66\x67\xEB\x58\xE3\x00\x2C\xD1\xCA\xBE\xCF\xA8\x1D\xD1\x5B\xAE\x9B\xD0\x10\xD1\xE4\xD0\x12\xD1\x9F\xD0\x14\xD1\x6A\x8D\xEF\x1E\xFF\x00\xEB\x58\xEE\x00\x3B\xD1\xBB\xCD\xF1\xCD\x7C\xB2\xF0\xD0\x31\xD1\xB1\xD0\x8A\xD0\x6A\x31\x2F\xD1\x89\x8D\xC5\xD0\xEB\x57\xE9\x0C\xB7\x5D\x3E\x8C\xE2\x00\x4B\xD1\x59\xD0\x98\xD0\x54\xD1\x22\xB2\xD2\xD0\x41\xD1\xF3\xD0\x43\xD1\x89\xC9\x17\x52\xB6\xD0\x72\xD0\x91\x03\xC4\x5A\xFA\x49\xED\x00\x94\xD0\xE9\x65\xDE\xD0\x89\xCE\x4D\xD1\x68\xD0\x4F\xD1\x61\xD1\x32\xD1\x33\x84\x07\x9D\x81\x08\x63\x83\x05\x12\x5A\x54\xDA\x07\xE2\xA7\x83\x5A\xDB\xC4\x0A\x5B\x18\x31\xB7\x5D\x5F\x58\x6C\xD1\xCF\x5A\x53\xAE\x00\x00\x6F\xD1\xBA\xCE\x8A\xCE\x4E\xD1\xAA\xAC\xBF\x7D\x5A\x31\x7B\xD0\x31\x06\x40\x0D\x86\x58\x72\x00\x51\x3C\x7B\xD1\x6E\x08\x7D\xD1\x18\x31\x7F\xD1\x5F\x8D\x98\xD1\xB7\x5D\x92\x8C\x06\x01\x2D\x4C\x40\xCD\xCC\xD0\xEF\xD0\x8C\xD1\xE2\xD0\x62\xD1\x57\x8D\x64\xD1\x55\xD1\x66\xD1\xD8\xD0\x68\xD1\x6C\xCB\x5D\x0F\xB4\x84\x1A\x1B\xDD\xD0\xA2\xD1\x5C\xD0\x40\xD1\x75\xD1\x16\x7A\x34\xD1\x8C\xB2\xF6\xD0\x9B\xB2\x15\xD1\xEF\x8C\x96\xCD\x09\xC7\x53\xC5\x0A\x9B\x64\x6A\x67\xC5\x94\x93\x13\x28\xA8\xCD\x0D\x0E\x0E\x64\xDF\xC6\x2A\xB7\xC3\x08\xEF\x34\xA9\xC6\xE3\xCC\x4E\xB9\x5E\xA6\xEA\xCC\x1D\xC6\x3F\x0A\xB3\xC6\x39\xC7\x18\xC7\x47\x03\xF1\xCC\xC8\xC7\x7C\xC0\xB5\xC6\x56\x59\xDE\xC6\x72\x96\xFF\x9A\xD2\x0B\x01\x9B\x92\x24\x40\x0D\x05\x9B\x4E\xC2\x05\xCD\x23\x59\xFC\x9A\x58\x34\xE3\x9A\xFC\x9C\x11\xCC\x01\x01\xD2\xD1\xDA\x9D\xC5\xBE\x5A\xCD\xDA\xCB\x82\x53\x5F\x9E\x57\xC7\xB9\x9C\xA4\x9E\x41\xCC\x7D\xCD\xC7\xC0\x73\xCD\xD7\xD1\x4C\xCD\xD2\xB5\xEF\xD1\xEA\xCB\x2E\x53\xF2\xD1\x89\xC7\xFF\x9E\x55\x9C\x1A\x9D\x64\xCD\xE1\x9E\x7F\xD0\x30\xCD\x32\xBF\x81\x6C\xEC\xD1\x55\xC7\x5D\xCC\x63\x51\x5F\xCC\xF7\xD1\x6F\xCC\x99\xCC\x21\xCD\x0D\x0E\xA3\xBF\x17\xBF\x0B\xD2\x63\xC7\x6B\xCC\xA9\xCB\x7B\xC0\xF5\x9E\x3B\xCD\x9F\xCB\x71\xCC\x3C\x0E\x73\xCC\x68\xCD\xEB\xD1\x00\xD2\x98\xC7\xF4\xD1\x8A\xC0\x05\xD2\x12\x9F\x3F\xCD\xCB\xD0\x03\x01\x17\xD2\x6F\xC7\xC6\xCB\x71\xC7\x1A\xB6\xBF\xCC\x7F\xCD\x12\xD2\x2E\xCD\xCC\xCB\x65\xCC\x2D\xD2\x7C\xC7\x0F\xCD\x4A\x02\x55\xCD\x32\xD2\x52\xCC\xA7\xCC\x81\xCD\x2F\xB6\x37\xD2\x24\xD2\xA6\xC7\x02\xD2\xDD\xBF\x8C\xC7\x10\xD2\x7D\xCC\xA2\xCD\xAD\xC0\x66\xCD\x42\xD2\x8F\x9D\x7A\xCD\x88\x07\xF0\xCB\x48\xCD\x40\xC7\x61\xCC\xC1\xCC\x63\xCC\xB6\xCC\x4D\xD2\x31\x9E\x3A\xC7\xCF\xC0\x43\xBF\x61\x0B\x55\xB6\x52\xD2\x74\xC7\x43\xCC\xFA\xD1\x21\xBF\xFF\x00\xD7\xC0\x31\xCC\x02\x01\x38\xD2\x87\xC7\x94\xB8\x09\xCC\x8B\xCD\xFF\xD1\xE0\x9C\x90\xCD\x00", +"\x00\x6E\xB6\xBF\xD1\x0A\xD2\xBD\xC7\x0C\xC0\xDA\xCC\x08\xD2\xB0\x83\x68\xD2\x96\xC7\x9E\xCD\xF7\xD1\xA0\xCD\xEE\x7C\x4A\xD2\xC9\xC6\x0F\x96\x56\xA5\xC7\xD1\x72\xD2\xC6\xCF\x71\x87\xCC\xD1\xAC\xB5\xE4\xB2\x64\xCB\xD0\xD1\xC7\x3E\x74\xD2\x85\xC6\x1C\x84\x6A\xCB\x3C\x9F\xB7\x5D\xDB\xD1\xEA\x95\xDD\xD1\xBF\x0E\xDF\xD1\x7B\x2E\xEC\x9A\xC9\x36\x6A\x14\xE9\x84\xE6\xD1\xFB\x34\x62\xD2\x3E\x9C\xDC\xB1\x78\x9E\x54\xC5\x09\x01\xCD\xC6\x2B\xC7\xC2\xB5\xC4\x5A\x28\xC7\x22\xD2\x00\x00\xA5\xD2\xD3\xD1\x03\xCD\xF6\xD1\x5F\xD2\xAA\xC7\x33\xD2\x7F\xD2\xD3\xBE\x65\xCC\xAC\xD2\x4A\xC7\x3A\xD2\xCF\xA1\x04\xD2\x56\xCD\x80\xCD\x13\xD2\x5B\x9C\xB5\xD2\x43\xD2\x52\xB2\x28\x9D\x1D\xCD\xD9\x86\xBB\xD2\x34\xD2\x16\xCD\x22\xCD\x98\xCD\xBB\xD0\xCC\xC6\xC0\xD2\x0C\xC5\x38\x9D\x6C\xCC\x28\xD2\x1E\xB6\x21\xD2\xCE\xCB\xB6\xD2\x0C\xD2\x4F\xD2\xB8\xCB\xE4\xD1\x99\xCE\xB2\xD2\x55\xD2\xFB\xD1\x8A\x9C\x77\xD2\x1B\x5D\xD4\xD2\x18\xD2\x86\xCC\x30\xD2\xC8\xCB\x3D\xD2\x6F\xC0\x53\xCC\x40\xD2\x8D\xCC\xFD\xD1\x57\xCC\xCB\xD2\x4E\xD2\xB4\xC0\x2E\x59\x96\xCC\x48\xD2\x8A\xCC\xC6\xD2\x75\xCD\x9B\xCC\xEA\xD2\x8F\xCC\x3F\x0A\xE0\xD2\x2E\xD2\xEE\xD2\x87\x5D\xE2\xCB\xB0\xD2\xE4\xCB\xDA\xD2\x74\xCD\xB5\xCC\x6C\x83\xBF\xD2\xED\xD2\xFC\xCB\x0D\x9F\x72\x00\xD0\xD2\x96\xBF\x3C\x0E\xB7\xCC\xAA\xD2\xF9\xD2\x39\xD2\xB6\xCB\x5D\xD2\x7C\xCD\xFE\xD2\xF2\xCB\x3E\xD2\x2D\xCD\xC7\xD2\x82\xCD\xC4\xCC\x6C\xD2\xA4\xD2\x8D\xD2\xEC\xC6\x6B\xD2\xD3\xCC\xB0\x66\x0E\xD3\x69\xD2\xA4\x9D\xBA\xC7\x1A\xD3\xEC\xD2\x59\xD2\xC6\xC0\x68\xBF\x97\xCD\xE9\xC0\xCA\xD2\x03\x01\x21\xD3\x7A\xD2\x12\xC0\x9F\xCD\xE1\xCC\xA1\xCD\xDB\xD2\xBE\x83\x05\xC1\x3A\x9A\xFF\x62\x3C\x9A\x3B\x0E\x3E\x9A\xE0\x83\x44\x9A\xE4\xCA\x03\x01\x3D\xD3\x17\xC7\xAD\x9B\x36\x93\xA3\x03\xFC\x41\x1A\x3B\x4C\x9A\x4E\x9A\x53\xCB\x02\x01\x52\x9A\xA6\xD2\x42\xD3\xEA\x7C\x95\x42\x41\x64\x01\xC7\x44\xB2\x5F\x9A\x3E\xD3\x02\x01\x53\xD3\x41\xD3\x55\x9A\x54\x9B\x64\x9A\xE8\x0B\x66\x9A\x3F\x9A\x6C\x9A\xF4\xCA\xB3\x08\x5E\xD3\x27\xD3\x94\xA9\x75\x40\x71\x9A\x43\xD3\x39\x52\x06\x57\xB1\x01\x76\x9A\x3F\x9A\x7D\x9A\x54\xD3\x01\x01\x6C\xD3\x57\xD3\x07\x9D\x5E\x9B\x63\x51\xD6\x64\x65\x9A\x08\x9B\x3F\x9A\x89\x9A\x5F\xD3\xF7\x2D\xE5\x9B\x65\x00\x32\xC5\x74\x51\xEF\xC4\x28\x8A\x13\x9B\xC0\xC7\x11\x0F\x98\x9A\x25\x90\x97\x9A\xC3\xC7\x9B\x9A\xE4\x09\x87\xD2\x99\xD1\xB0\x63\xA0\x9A\x34\xD3\xC1\x04\x3B\x0E\xA4\x9A\xE0\x83\x05\xCB\x85\xC1\x28\x5C\x87\xD3\x44\xC6\x72\xD3\x9D\xCC\xD3\x90\x00\x8D\xAE\x9A\xB0\x9A\x34\x9B\x07\xC7\x27\xD3\x7D\xD3\x83\x51\xB8\x9A\x6A\x94\xD0\x61\xBA\xCA\x27\x01\xBD\x9A\xE0\x83\xC2\x9A\x6D\xD3\x00\x00\xAA\xD3\x70\xD3\x67\xA4\x52\x2F\xA4\x86\xC8\x9A\x05\x41\x3C\x9B\x27\x01\xCC\x9A\xE0\x83\xD7\xC6\xAB\xD3\xB8\xD3\x17\xC7\xA1\xD3\xEE\xC4\x04\xC5\x0E\x9C\xEF\x9A\xE0\x83\xAC\xD2\xA9\x9B\x8C\xD2\xAF\x9D\x24\xCD\x65\x90\xF9\x9A\xF1\xC0\x0B\x9C\x8E\x40\xFD\x9A\x3B\x9B\x95\xD2\x2C\x0F\x97\xD2\x03\x9B\x75\x40\xED\x9A\x07\x9B\x7B\x63\xF0\x9A\xBD\x5D\xB3\x08\x79\xD2\xA4\xC7\x49\x5B\x21\x10\xC8\xD3\x20\xCC\xE5\xD1\xE5\x9A\xE7\xD1\xFE\x9A\x35\xA9\xD0\xD3\x40\x01\xE1\xD1\x5F\x34\xEE\x9A\x53\x4E\xE0\x83\x33\xCD\x1B\x96\x93\xCD\x21\x9E\xBC\xD3\xE8\x05\xBE\xD3\x07\x8A\x81\xD3\x06\x01\x15\x9B\xE0\x83\x67\xCC\x1B\x96\xD5\xCC\x2F\xD3\x71\xD3\xA4\x86\xC1\xC1\x26\x0B\x22\x9B\x3F\x9A\x97\xCB\x1B\x96\xDC\xCB\x87\xC7\xE6\xA9\xA8\x47\x2D\x9B\x35\xC5\xD7\xCC\xA2\x02\x3B\x0E\xB6\xD3\x44\xB2\x38\xC7\x1B\x96\xA3\xC7\x2E\x83\xEF\xD3\x9A\x09\x8E\x9A\x45\x87\x56\x9B\x8F\xC1\x3F\x9B\x1B\x96\xF0\xC7\x17\x85\x4D\xD3\xD5\xA9\x16\xD4\xEE\xB1\x00\x00\x4C\x9B\x1B\x96\x1E\xC0\xEE\x84\x1C\xD4\x99\xB7\x1E\xD4\xBC\x9B\x03\x01\xE5\xBE\x1B\x96\x60\xBF\x04\xD4\x58\xD3\xDF\xCF\x04\x79\x61\x9B\x63\x9B\x34\x9B\x71\xB6\x1B\xD4\x2E\xD4\x1A\xC5\xE5\xB5\x13\x14\x6E\x9B\x3F\x9A\xC8\x9E\x3E\x0E\xB3\x08\x2D\x9F\x11\x9E\x25\xD4\x6A\xC6\x23\x59\x56\x0D\x36\x16\x8E\x16\x21\xCA\x41\x64\x83\x9B\xE0\x83\xC6\x9D\x1B\x96\xA2\xD2\x20\x84\x4F\xCB\x45\xCC\x3B\x0E\x8E\x9B\x8F\xC1\x92\x9B\x1B\x96\x5D\xB6\x2E\x83\x19\x91\xE8\xD3\x09\x01\x99\x9B\xE0\x83\x9B\x9B\xA1\x77\x71\xD2\xAC\x9B\xE7\x9B\xDB\x44\x0D\x9C\x97\x9B\x2B\xC6\x44\xB2\xA8\x9B\xA1\x77\x7F\xBD\x24\xD4\x36\xD4\xF3\x9F\xAF\x9B\x66\x0D\x69\x2B\x91", +"\xC4\x66\xCE\xF9\xC0\x17\x09\x95\x86\xA5\xCC\x2A\xC3\xB5\x40\x3F\x9A\x60\x80\x1B\x96\x63\xA4\x20\x84\x41\xD4\x60\xD1\xE4\xAB\xD2\x04\x3B\x0E\xC8\x9B\xE0\x83\xCA\x9B\xA1\x77\x0A\xB4\xDA\xD3\x6B\xD4\x26\xBA\xD3\x9B\xC9\x9B\x34\x9B\x86\xD4\x57\xD4\x88\xD4\xD5\xA9\xDF\x9B\x27\x01\xE1\x9B\xEA\x95\xE3\x9B\x7B\xD3\x9D\xC1\x62\xD4\xC0\xA9\x0E\x9C\xEB\x9B\xB9\xA9\x1E\x9C\xD3\xD1\x97\xD4\xB1\xA9\x63\xD4\x19\x9C\x27\x01\xF8\x9B\x94\xD4\xFA\x9B\x96\xD4\x61\xD4\xA0\xD4\x99\xD4\x8C\x9B\x04\x9C\x9C\xD4\xA7\xD4\xCA\xD3\x98\xD4\xE7\xC7\x2F\xBF\x3E\x0E\x11\x9C\xA5\xD4\x07\x9C\xAE\xD4\x69\xC6\xFE\xB5\x1A\x9C\xAD\xD4\xC5\xD3\x52\x7D\xAB\xA9\xC5\xC7\xB4\xC6\xE9\xCC\x7C\x0E\xAD\xC1\x00\x00\xBA\xD3\x22\xC7\xF0\xCC\x90\xD2\xC9\xD3\xD9\xD1\x1E\xC7\xE5\x9D\xEA\xD1\xC4\xD4\xA3\x9D\x37\xCC\xE1\xB5\xA0\xD1\x71\x3F\xCC\xD2\x83\x9D\xB6\x86\xAF\xD2\xD8\xD2\x13\xCD\xF9\xD1\xD7\xCB\xFF\x00\x09\xCD\x2C\xD3\xA8\x41\xD4\xD4\xE8\x82\x3D\xC7\x88\xCC\x2C\xCD\x57\xCD\xE8\xD2\x24\x59\x95\xCB\x3F\xBF\xC5\xD4\xA6\xD2\x0D\xD2\x74\x51\x0F\xD2\x13\xD3\x51\xCC\xE6\xD2\x3F\xD2\xBD\xD2\xC4\x9E\xDE\xD2\xDC\x5F\xEA\xD4\xAD\xD2\x19\xD2\x03\x5B\x39\xCD\x1C\xC7\x81\xCB\x00\xD3\x9F\xD2\x44\xC7\xD2\xD2\xC0\xCB\x09\x01\xF7\xD4\xB7\xD2\x10\xD3\x38\xCD\x1B\xD2\xA3\xCD\x72\xCD\xFE\xD4\xDB\xD4\x2A\xD2\xDE\xD4\x01\x01\x04\xD5\xD5\xD2\xE2\xD2\x48\x71\x72\xC7\xEF\xD4\x0A\xD5\x15\xD3\xE5\xD4\xF3\xD4\x78\xC7\xF5\xD4\xE9\x65\x10\xD5\xE1\xD2\xA3\xCC\x54\xCD\xD3\xBF\xC5\xD2\xB3\xD2\xB7\x5D\x23\xBF\xE9\xD4\xE0\xD4\xE6\x7D\x62\xCD\x09\xD3\x82\xC7\xFF\x00\x67\xCD\xCE\xCB\x1D\xD5\xFA\xD2\x06\xD3\x6F\xCD\x08\xD3\x22\xD5\x8E\xD3\x44\xC7\x0C\xD3\x2E\xD5\x27\xD5\x2E\xC7\xA8\xC7\x15\xD5\x7E\xCD\x17\xD5\xBC\xD2\x35\xD2\x18\xD3\xFE\x9C\xCD\xD4\x2F\xD5\x21\x9E\x6A\xD2\x8A\xCD\x1F\xD3\x64\x6A\x44\xD5\x22\xD3\x30\x9F\x24\xD3\x48\xD5\x81\x6C\x4A\xD5\x96\xC7\xAB\xCD\x17\xCC\x1B\xD5\xB0\x66\x50\xD5\x87\xD4\x36\xCA\x1D\xCC\xA3\x1B\x1F\xCC\x7D\xB6\xF0\xC3\xF2\xC7\x94\x9A\xA7\xCD\x89\xB6\x0D\x0E\xD6\x43\xF0\x00\xDF\x95\xC4\xA8\xA7\x0A\xB1\x0A\x01\xC1\xA6\xCA\x01\xBC\xB3\xC7\x80\x96\x50\xCE\xB9\x6A\xE9\x65\xE6\xC6\x6C\x91\xAB\x90\xD6\xCD\x28\xCA\xED\xC2\x6D\xCF\x87\xBE\xA6\xCE\x89\xBE\x14\xCF\x8B\xBE\x24\xD0\xF5\xC2\x26\xD0\xF8\x31\x75\xC5\xA2\xC8\x77\xC5\xF1\xC1\xA9\xB6\x31\xBC\x8C\xCF\x0E\xC8\xAE\xC5\x8B\xAE\x70\xD5\x4A\x91\x48\xCF\xBA\xCF\x9E\xBE\x36\xCF\xFF\xC8\xBE\xC9\x01\xC9\x4F\xCF\x2A\xCF\x3E\xD0\x3E\xC8\x8E\x6B\x07\xC8\xA1\xC8\x09\xC8\xA3\xC8\x2E\xBC\x8D\x08\x52\x0B\xC7\xB6\x74\xC2\xF4\xCC\x4E\xBC\x6E\xAD\x3A\xA5\x71\xD5\xD2\x90\xF1\x8C\x80\xCF\x7A\x97\xD9\xCE\xBC\xCF\xDB\xCE\x27\xCF\xDD\xCE\xC0\xCF\x41\xBE\x96\xD5\x56\xC8\x40\xD0\x52\xBB\xE5\x96\xFC\xB2\xAF\xB9\x54\xD0\x13\x88\x66\xBC\x0B\xCF\x81\x6C\xA6\xD5\xFF\x9D\xA8\xD5\x77\xCA\xE8\xBC\x1C\xD0\x95\xC8\xED\xCF\x42\xC9\xEF\xCF\x36\xC4\xB0\xD5\x72\xBE\xB2\xD5\xED\xC8\xB4\xD5\xB2\xC5\x59\xC8\xFB\xB6\x5B\xC8\xFD\xB6\xA2\xC5\x42\xBB\xBE\xD5\x32\x9D\xC0\xD5\x8D\xD5\x34\xCF\x2C\xC9\x90\xD5\x2E\xC9\x40\xCE\x66\xCA\x31\xC9\x46\xC9\xCB\xD5\x48\xC9\x17\xCE\x4F\x8F\xBF\xBE\x8C\xAA\xDB\xC3\x09\x01\xD5\xD5\x7D\xBF\xD7\xD5\x33\xCF\x02\xD0\x4B\xBA\x2C\xCA\x50\xC8\x3A\xD0\xE9\xC8\x3C\xD0\xEB\xC8\xE1\xD5\xC3\xC9\xF5\xCF\x93\xA6\xF4\x9F\x76\xC2\xD1\xCD\xB3\xBA\x00\x00\xE9\xD5\x5A\xC0\xEB\xD5\x22\xCF\x1D\xC3\x31\xBA\x1F\xC3\x6C\xC8\x12\xCF\x1B\xC9\x22\xD0\x99\xCA\x7D\xD5\xD4\xC3\xE1\xCD\x66\xB3\xE3\xCD\x8C\x8E\x90\xC2\x83\xD5\x92\xC2\x6B\x97\xF3\xA6\x87\xD5\x3C\x0E\x11\xCB\x0B\xC4\x27\x01\xFE\xD5\x0E\xC6\x00\xD6\xFB\xCE\xA4\xCF\x92\xCF\x36\xD0\xEB\xAF\xFB\xB0\xED\xCE\x83\xC8\x7B\xD5\xF3\xC2\x0A\xD6\x89\xC4\xF3\xCE\x79\xBC\x7B\xCE\x1D\x6F\x1F\xBA\x0F\xA7\x19\xCB\x86\xCA\xD6\xCC\xDC\xC5\x72\xCA\xC8\xC5\x2E\xC2\xE8\xD5\x8C\xD5\xEC\xD5\xE4\xC9\x77\xD5\xEF\xC2\x79\xD5\xF1\xC2\x25\xD6\x02\xC8\x27\xD6\x04\xC8\x29\xD6\xC6\xBD\xFD\xC5\x56\xA0\xCE\xC5\x6D\xC6\x2C\xB9\xD2\xC5\xB6\xCF\x02\x01\x1A\xD6\x71\xC5\x1C\xD6\xBC\xCE\x49\xBA\xED\xD5\x48\xBB\xEF\xD5\x2A\xCE\x92\xD5\x4C\xCA\x72\xCF\x81\xC9\x74\xCF\x83\xC9\xF7\xD5\x48\xBC\x7C\xCE\xF1\xC8\xCD\xCE\xAC\xAD\x13\xD0\xE7\xC2\x9E\xCE\x4B\xD6\x37\xD6\x01\xD6\x9F\xC3\x03\xD6\xA1\xC3\xA9\xBB\x06\xD6\x56\xC9\x98\xCA\x9A\xBD\x9A\xCA\xA9", +"\xC2\x30\xCE\x1A\xCA\x52\xA7\x45\xAB\x0A\xC9\xF2\xC8\x59\xBA\xD0\xCE\x36\x93\xDF\xB9\x4C\xD6\xF1\xBF\x4E\xD6\xD6\xCE\x6A\xBE\x49\xCF\xB0\xC8\xAC\xD5\x92\xB4\xBE\xCF\x9B\xB5\xC9\xD5\x04\xC2\xF3\xCF\x05\xC9\x5B\xD6\xB2\x7E\xE4\xCE\x17\xC3\xFD\xD5\x65\xD6\x1D\xD6\xD1\xCF\x35\xD0\x10\xCF\xEC\xCE\x6B\xD6\xDC\xCD\x6D\xD6\xC2\xBD\xF1\xCE\xA3\xB8\x42\xD6\xED\xC3\xE3\xBB\xF6\xCE\x8D\xD4\xCE\xB5\x3F\x0A\x7B\xD6\x68\xC0\x7D\xD6\x74\xD5\xE7\xBC\x0F\xCA\xFE\xCE\x3D\xCE\x12\xCA\x6B\xC9\x14\xCA\x71\xCF\xA9\xCE\x2E\xCE\xC2\xCF\x9C\xCA\x0C\xD0\x22\xB4\x4B\xC9\xA5\xD5\x8F\xD6\x4F\xD6\x1A\xD0\x93\xC8\xC3\xD5\xFF\xCE\x04\xD0\x01\xCF\x06\xD0\x2F\xCA\xF3\xD5\xC1\xC9\xF5\xD5\x6A\xCA\x8A\xD6\x26\x78\x3C\xC6\x2F\x9F\x1D\xCF\x59\xC3\x91\x59\xB6\xD6\x7E\xD6\xB9\xCF\xD9\xD5\xAB\xD5\x4B\xCF\xBD\xCF\xAE\xD5\xBF\xCF\xC0\xD6\x01\xCA\xDA\xCF\x82\xCA\xF3\xA7\x2E\xCF\x55\xB4\x8D\xC8\x8E\xD6\x72\xD5\xFD\x90\xB7\xD6\xD7\xCD\xEA\xCE\xD3\xCF\x11\xCF\xD5\xCF\xD3\xC9\xD7\xCF\x8A\xC2\x40\xD6\x72\xC8\xB1\xD6\xC4\xCF\xA9\xC4\x79\x86\xB0\x98\x84\xC3\x8D\xD6\xA2\xD6\x93\xC0\xFC\x90\xA9\xD5\xD1\x96\x03\xD0\x63\xCA\x5B\xCE\xDD\xD5\xC3\xCD\xDF\xD5\x68\xCA\xC2\xD6\x16\xCE\xB2\xD6\x9C\xC9\xCB\x98\x06\xBB\xFB\xAF\xF1\xD6\xAB\xCC\x9A\xD3\x73\xD5\x26\xCE\x23\xCF\x81\xD6\xD0\xD6\xAD\xD5\x4D\xCF\x28\xCF\x02\xC9\xEA\xB0\x2B\xCF\x12\xC3\xE2\xCE\x04\x94\x9D\xB4\x22\xC6\x3E\xA6\x04\xD7\xFE\xCC\x61\xB2\xDE\xD6\xCC\xD6\x01\xD0\x39\xD6\x69\xC9\xAA\xD6\x3F\xCE\xAC\xD6\x7F\xC9\x57\xD6\x4E\xCA\x59\xD6\x33\xCA\xC4\xD6\xEF\xBA\x42\xD0\x70\xD1\x28\xC6\x7B\xCF\x0A\x99\x67\x94\x18\xD7\xC6\xD3\x0C\x8D\x6D\x91\x38\xD6\xF4\xCD\x3A\xD6\xA7\xC9\x3C\xD6\xA9\xC9\x3E\xD6\x70\xC8\xE8\xD6\x87\xC8\xC3\xCF\x2A\xBE\x9C\xB4\xDC\xC9\x22\xAE\x03\xD7\xCB\xD6\xA5\xD6\x34\xBD\x78\xCA\xEB\xCF\x7A\xCA\xF7\xD6\x05\xD0\xF9\xD6\x5D\xCE\xFB\xD6\xC5\xCD\xFD\xD6\x61\xCE\x72\xD6\xB7\x75\xB8\xC4\x3C\x0E\xA1\xCF\x17\xD7\x44\xD7\x08\xD7\x02\xD6\x94\xBA\xA8\xBB\x5E\xBB\xA3\xC3\x1C\xA9\xA5\xC3\xAB\xCF\xD4\xD6\x31\xCA\x26\xD7\x50\xCA\x28\xD7\x3F\xCF\xC6\xC9\xFF\xAC\xB5\xCF\x18\xD6\x36\xD6\xDD\xD6\xF4\xD6\xCD\x99\x35\xCF\xC5\xD5\x7D\xC9\x22\xD7\x41\xCE\x24\xD7\x43\xCE\xD6\xD6\x45\xCE\x13\xD7\xCB\xBB\xDE\xCF\x5E\xC6\xBF\xAB\xCA\xCF\x83\xBB\x61\xD6\x19\xB5\xA8\xAC\x30\xD7\x5B\xCD\x06\xD7\x1B\xD7\x45\xD7\xF9\xC3\x1B\xD0\x48\xD7\xA7\xCF\x53\xD6\xA9\xCF\x55\xD6\x2C\xCE\xAE\xD6\xD9\xCF\x2F\xCE\xDB\xCF\x52\xD7\xBF\xAC\x20\xC4\x7C\xD7\xE0\xAD\xFA\xAF\xE3\xCF\x80\xD7\x4A\xB1\x82\xD7\x58\xD7\xB7\xC9\x60\xCA\xAA\xD5\xBB\xCF\x0B\xD7\x83\xD6\xD2\xD6\x85\xD6\x62\xD7\x80\xCA\x77\xD7\x75\xCF\x79\xD7\xFE\xA1\x29\xD0\x1A\xCB\x51\xAB\x0B\xA9\x63\xBE\x31\xBE\x65\xBE\x97\xC2\x02\xBC\x4D\x6D\x83\xD7\x8D\x8F\x27\x90\x34\xD7\x70\xCE\xF5\xCD\xFE\xC7\x5D\xCF\x00\xC8\x3A\xD7\x85\xC8\x3C\xD7\x1F\xC9\x9B\xD6\x8B\xC4\x5C\xC6\x2C\xD6\x28\xA9\xF9\xCF\x6B\xC6\x76\xC4\x47\xD6\xD0\xC5\x73\xCA\x63\xD6\x01\x01\xB7\xD7\x02\xB6\xA4\xD6\x59\xD7\x67\xD6\x5B\xD7\x04\xD6\x6A\xD6\xE4\xD6\x10\xCE\xE6\xD6\x67\xC3\x6F\xD6\xA6\xC4\xC4\xD7\xA8\xC4\xC6\xD7\x08\xC9\x8A\x91\xC9\xD7\xB5\xD7\x78\xC6\x72\xCA\x30\xD0\x34\xCC\xA1\xD6\x9E\xD7\xCD\xC9\x91\xCF\x17\xC9\xE2\xD6\x94\xD6\xD9\xD7\xC2\xCE\xDB\xD7\xD2\xC3\xC2\xD7\xAD\xC9\xDF\xD7\x6A\xB8\x80\xC6\xC0\xB0\x3D\xAD\x45\xD0\xB3\xC4\x02\x85\xE5\xD7\x49\xD0\x1D\xA6\xAD\xC4\xCF\xB1\xE9\xD0\xB4\xBE\x23\xCC\x8B\xD2\xEA\xC6\xCF\x5A\xB2\xD3\x41\x1B\xC7\xD4\x02\xCE\xB3\xD2\x4D\xBC\x6E\xCB\x4E\xD5\x4D\x6D\xAD\xD3\xCC\x5A\x0A\xD8\x59\x2F\xEE\xD1\xC9\xD2\xF1\xBF\x3F\x0A\x13\xD8\xCB\x5A\x15\xD8\x4F\x35\xAE\xD2\x47\x9C\x34\xD5\x01\xD3\xC2\xCC\x89\xBF\x65\xCC\x1B\xD8\xCA\x5A\x1D\xD8\x3E\x2F\x4D\xCC\x47\x5F\x11\xCD\xD8\xD4\x49\xCD\x14\xCD\xFF\xD4\xE6\xAC\xE8\xD4\x17\xBF\x26\xD8\x0B\xBC\xEA\x40\x36\x52\x1E\xD8\x9B\xCB\x4C\xC7\x9D\xCB\xE5\xD2\x07\xCD\xA0\xCB\xFF\x00\x15\xD2\xAA\xD2\x34\xD8\xC8\x5A\x28\xD8\x1A\x34\xF5\xBE\x1A\xD2\xE3\xD4\xAC\xCB\x18\xD5\x40\xD5\xFD\xBE\x54\xD5\x64\x6A\x42\xD8\xC7\x5A\x44\xD8\x89\x06\x78\xCC\xD7\xD2\xF3\xCC\xFD\xD4\x3E\xD5\xF3\xD2\x02\xD3\x80\xCC\x4D\xD8\x81\x6C\x4F\xD8\x43\xD4\x36\xD8\x43\x52\x45\xD8\x2F\xD2\x13\xD5\x31\xD2\xF1\xD2\x91\xCB\x4A\xD8\x17\xD3\x15\xBF\x25\xD8\xD0\x5A\x51\xD8\xB1\x01\x2A\xD8\x19\x06\xF0", +"\xD2\x3C\xD5\xF8\xD1\x0B\xD5\x65\xCD\xFF\x00\x25\xD5\x33\xD8\x6B\xD8\x5F\xD8\xF3\x56\x29\xD8\xB8\xD2\xA7\xB1\x47\xD2\x71\xD8\x11\xD2\x23\xD5\xC4\x5A\x2D\xD5\x02\xD5\x06\x01\x5D\xD8\x14\x0E\x6C\xD8\x21\x04\x78\xCC\x9B\xC7\x2B\xCD\x49\xD8\x3F\xD5\x68\xD8\x3D\xBF\x6A\xD8\x09\xD8\x79\xD8\x09\x5A\x6D\xD8\x4F\xD2\x5E\xD2\x2D\xD8\x53\xD2\x4A\xCD\x35\xD5\xE6\xAC\x65\xD2\x84\xCD\xAC\xD3\x78\xD8\x73\x9A\x4C\x41\x46\xD5\x9F\x9D\x26\x9F\x86\xD8\x10\x0E\x88\xD8\x6A\x7D\x6F\xD2\x5F\xD4\x29\xB7\x1B\x5D\xA6\xD8\x0C\x0E\xA8\xD8\x52\xD5\xC7\x7C\x91\xD8\xCE\x5A\xA8\xD8\x7B\xD2\x71\xD8\x7D\xD2\x71\x23\x0E\xD8\xE2\xB4\x56\x59\xC5\x05\xF1\x00\x60\xD5\x84\x8C\x56\xA5\xF2\x00\xEB\xC7\x44\x76\xB2\x3A\x37\xD4\x2D\x13\xF1\x0B\xF1\xC7\x56\x59\x70\xC5\x35\xD6\x06\x01\xF9\xC6\x92\xD8\xB2\x37\xC7\x41\x6E\xD7\x6A\x9F\x59\xCE\x20\xD7\xF8\xD6\x73\xD7\xDE\xD5\xF1\xCF\xE0\xD5\x88\xD6\x34\xC9\x29\xBC\x99\xD5\x65\xCE\xCB\xCD\xB6\x91\xB9\x8D\xF2\xC1\xE9\xCD\x95\xC2\xC5\xB2\x6E\xD5\x25\x6D\xCE\xD8\xB4\xD8\x4A\x9A\x1A\x3B\xD2\xD8\x4B\x9F\x1F\xD7\x6E\xCF\xAB\xD6\x70\xCF\x23\xD7\x90\xD7\x58\xD6\xA9\xD7\x5A\xD6\x9E\xC8\x8A\xD5\x24\xC8\xBD\xBC\x5C\xD6\xCC\xCD\x87\xC5\xDF\xB2\x89\xC5\x6F\x92\xEC\xC6\x8C\xC5\xCC\xD8\x03\x01\xE9\xD8\xCD\x95\xEB\xD8\x2A\x40\xC9\x9C\xC1\xD5\xA7\xD6\xBA\xD6\xA9\xD6\xF0\xD8\x21\xD7\xF2\xD8\x74\xD7\xF4\xD8\x25\xD7\xF6\xD8\x27\xD7\xAB\xD7\x26\xC2\x01\x88\x78\xA6\x02\xCE\xB9\xD5\x2C\xC2\x35\xAC\x14\xC2\x06\xD9\x14\xD8\x08\xD9\xF2\x3A\xED\xD8\x9A\xAB\xEE\xD5\x38\xD0\xBD\xC9\xF1\xD5\xBF\xC9\xA7\xD7\xAD\xCF\x64\xD7\x52\xCF\x66\xD7\x01\xD9\xC4\xB9\x43\xC2\xC6\xB9\x45\xC2\xCC\xCF\xD1\x78\xD3\xD5\xE7\xD5\xCD\xD8\xA0\xD8\xF5\x41\xD1\xD8\x0B\xD9\x29\xCA\xA8\xD6\xA4\xCE\x78\xD5\x6F\xCF\x7A\xD5\xA8\xCE\x15\xCF\x99\xD6\x77\xBC\xF7\xD7\x21\xC9\x1D\xAF\x5D\xC2\x1F\xAF\x44\xCF\x20\xD9\x1C\xD8\x22\xD9\x45\x3B\x24\xD9\x3C\xAC\xBB\xC9\x27\xD9\xFD\xC9\xBE\xD6\x7E\xCA\x2B\xD9\xC1\xCF\x95\xCE\x0C\xD6\x91\xBC\x40\xD7\x15\x0E\x8A\x94\xF3\x00\xF9\x95\xB9\x75\x89\xD5\x38\xAF\xDC\x5F\x4E\xD9\x27\xD8\x50\xD9\x49\x3B\x52\xD9\x27\xAF\x21\xD6\x97\xB1\x5E\xD7\x46\xAF\x60\xD7\xF0\xCF\x75\xD7\xF2\xCF\x2D\xD9\xAF\xCF\xDD\xD8\x63\xCE\x46\xBC\xFB\xD8\x0B\xC2\x86\xC5\x49\xB7\x69\xCE\xA2\xAD\x6D\xB3\xCF\xD7\x00\x00\x67\xD9\x35\xD8\xD0\xD8\x93\x3F\x6B\xD9\xFC\xB3\x37\xD0\xBC\xD6\x84\xCF\x57\xD9\x03\xCF\x4E\xD7\x5F\xCE\x50\xD7\xE1\xCE\xCD\xD5\x74\x69\xAF\xCE\x20\xBA\x2F\xD6\x00\xB3\x23\xBA\xB4\xCE\x95\xBE\xE6\xC2\xAF\xAD\x15\xD0\x7A\xB9\x64\x6A\x83\xD9\x43\xD8\x69\xD9\x8E\x3F\x87\xD9\xE4\xBA\x6D\xD9\x29\xB3\x6F\xD9\xFE\xB0\x71\xD9\xC8\xD5\x59\xD9\xB1\xD5\xDB\xD8\x07\xCF\x2F\xD9\x6B\xAD\xF9\xBE\x3F\xBA\xB5\xCE\x45\xC4\xCC\xC2\x85\xCE\xC8\xAA\x3F\x0A\xA0\xD9\x50\xD8\xA2\xD9\xEE\x41\xA4\xD9\x8C\xC3\x89\xD9\x4A\xD7\xBD\xD6\x4C\xD7\x07\xD0\x8E\xD9\x05\xCF\xAE\xD9\x3D\xCF\xB0\xD9\x82\xD5\xF7\xCF\x12\x9E\x4C\x05\xB1\xCE\x2A\xD0\xB3\xCE\xEA\xC5\x26\xBA\xC0\xB3\xA6\x90\x48\xC4\x01\x01\xBA\xD9\x5E\xD8\x85\xD9\xB1\x4D\xBE\xD9\x2A\xCA\xA6\xD9\x5C\xB3\xA8\xD9\xBA\xB1\xAA\xD9\x99\xC8\x94\xD5\x03\xC9\xC7\xD9\x8A\xCF\xC9\xD9\x9B\xD5\xA4\xB5\x46\xAB\x7F\xCE\x10\xD0\x81\xCE\xC6\xC5\x41\xCF\xFF\x00\xD1\xCE\x38\xD9\x05\xD9\x3A\xD9\xE0\xB3\x45\xD3\x09\xD9\xDB\xD9\x3F\xD9\xC0\xD9\x5A\xCE\x4B\xD7\xD7\xD8\xFA\xD6\xD9\xD8\xFC\xD6\xE5\xD9\x9C\xCF\xE7\xD9\x61\x7E\x8C\xD6\x42\xBB\xD7\xD9\x87\xD8\xBC\xD9\x39\x3A\xF8\xD9\x0D\xD9\x40\xD9\x3B\xD6\x42\xD9\x3D\xD6\x44\xD9\x7C\xD5\x46\xD9\xC4\xBD\x48\xD9\x9B\xC9\xC6\xA4\x37\xC9\x8D\xD6\x07\xDA\xA7\xD8\x09\xDA\xEA\x3A\x0B\xDA\x8A\xD7\x1D\xD0\xDA\xCE\xA4\xD7\x0D\xD7\xAF\xD5\xAC\xD9\xCA\xD5\x01\xDA\x0B\xD0\xEB\xD6\xB3\xD6\x90\x67\x3A\x7C\x1A\xDA\xAF\xD8\x1C\xDA\xEE\x3A\x1E\xDA\x20\xD6\x86\xB0\x3A\xB7\x38\xC3\xDA\xB4\xB5\xC8\xA7\xC2\xB7\xC8\xD6\xA0\x20\xB4\xFE\xCD\x9E\xCA\xC4\xBE\x44\xB0\xCA\xBA\xAE\x80\xB9\xD9\xF4\xD9\x2E\xBD\xF6\xD9\x23\xD9\x3D\xD9\x76\xD5\xEF\xD8\x41\xD9\xF1\xD8\x43\xD9\xAD\xD6\x45\xD9\xAA\xCE\xF2\xCE\x5C\xD9\x24\xA1\xD9\xD6\x1E\xCA\x56\xBB\x2D\xDA\x08\x0E\xAB\x57\x14\x3B\x31\xDA\x93\xD6\x5C\xCF\x38\xD7\xE8\xC9\xC0\xD7\xAB\xC9\xF5\xD7\x9B\xCA\x71\xD6\xE3\xD5\x39\xB4\x1B\xCF\xDE\xB3\xB3\xA4\x65\xD1\x65\xAB\x56\xDA\x72\x9A\x3B\xD9\x86\xD9\x47\xDA\x48", +"\xC3\xEF\xD7\x5C\xDA\x0F\xDA\x39\xD7\x11\xDA\x26\xD6\x13\xDA\xEC\xC9\x7F\xD5\xEE\xC9\x00\xD7\x5C\xA1\x86\xB4\x19\xDA\x43\xDA\xED\xC5\x9F\x52\xDA\xD9\x6F\xDA\xFC\xC7\x71\xCE\x8F\xCE\x73\xCE\x91\xCE\x97\xD6\x58\xC9\x91\xD7\xB0\xD6\x63\xDA\xFF\xD6\xB0\xC9\x24\x59\x67\xCF\x50\xBC\x6B\xDA\x66\xD3\x94\x52\x6E\xDA\xD8\xD5\x51\xD6\x70\xD7\x8C\xD7\xEE\xCF\x8E\xD7\x61\xD7\xC5\xD9\x3B\xCF\x27\xDA\x3F\xD0\x94\xD7\x68\xBB\xA6\xA9\xE6\xC0\x93\xA1\x04\xA5\x67\x94\x93\xDA\xDF\xAF\x44\xD3\x3C\xD9\x97\xDA\x1E\xD7\xD4\xD8\x0F\xD9\xD6\xD8\x11\xD9\xD8\xD8\x73\xD9\xDA\xD8\x75\xD9\xF4\xCF\x17\xD9\xCB\xB4\xD9\xC3\xDD\xC9\x7E\xDA\xCF\xD8\x6D\xDA\x82\xDA\xAD\xDA\x35\xD7\x49\xDA\x0E\xDA\x4B\xDA\x10\xDA\x4D\xDA\x12\xDA\x4F\xDA\x9A\xD6\x51\xDA\x97\xCE\xFF\xCD\x11\xC2\x36\xC6\xF2\xC9\x55\xDA\x7F\xDA\xC9\x07\x89\x5E\x96\xDA\xBA\xD7\xBE\xCE\x5B\xCF\xF4\xAE\x95\xD6\xEE\xCE\xF3\xD7\xD5\xC9\x68\xC3\x81\xAC\x15\xDA\xAF\xC9\x65\xDA\x2A\xD7\x89\xD1\x6B\xBB\x08\xCA\xC5\xBC\x09\x01\xA9\xDA\xD9\xAD\xAB\xDA\xD4\xDA\x66\xD6\x65\xC4\x68\xD6\x6B\xC8\xD8\xD7\x87\xDA\xD6\xCF\x89\xDA\xDE\xCD\xAF\xD6\x5B\xD9\x3E\xD7\xEC\xB7\x0D\xD0\x85\xD2\x97\xBB\x0F\xD0\xDA\xD6\x7E\xD7\x49\xC6\xB2\xD7\x4B\xC6\xB7\xD9\xEF\xA8\xF8\xC6\xD1\xDA\xEA\xDA\xBF\xDA\xD5\xDA\x90\xC9\x32\xDA\x4D\xB8\x34\xDA\xA4\xC3\x36\xDA\x6C\xC4\x04\xB9\xA2\xB6\x8C\xB9\xAA\xB7\x5A\xC4\x96\xD7\xFC\xDA\xFA\xAF\x33\xB5\x9B\xBB\xE4\xCF\xA8\xAC\xE8\xDA\xE0\xB3\xF5\xD9\xAC\xDA\x08\xDB\x89\xD7\x0A\xDB\xA1\xB9\x0C\xDB\x5F\xD7\x0E\xDB\x09\xA6\xD7\xB6\xAD\xD9\xB6\xDA\x89\xD6\xB8\xDA\x1F\xC4\x8D\xC4\x16\xDB\x45\xB9\xB1\xA5\xFC\xCF\x00\xDB\xFE\xCF\x81\xD9\x1C\xDB\x2E\xBD\x1E\xDB\xEB\xDA\x90\xD6\xE9\xCF\x1F\xD6\x5B\xDA\xD8\xDA\xF1\xD7\x13\xCF\x75\xDA\x3F\xD6\x77\xDA\xFC\xCD\xDF\xDA\x3C\xDA\x7E\xC1\x2E\xDB\x46\xC6\xBE\xC8\x6C\xC6\xB4\xD9\x14\xC6\x12\xB9\x1B\xDB\x05\xDB\xD3\xDA\x07\xDB\xEC\xDA\x7E\xC8\xEE\xDA\x1E\xD0\xFF\xB8\x20\xD0\xA6\xAF\xF3\xDA\x93\xCE\xF5\xDA\xAB\xCE\xCA\xDA\xAD\xCE\xC5\xCF\xE2\xD7\xC8\xD7\x2E\xD0\xD4\xD1\x68\x95\x2A\xB9\xCF\xC5\xDF\xBC\xE8\xD7\x3C\xCC\xB0\x66\x36\xDB\x80\xDA\x38\xDB\x52\xDB\x3A\xDB\x34\xD0\x3C\xDB\xD7\xDA\xB4\xB0\x3F\xDB\x07\xD6\x5F\xDA\xEA\xC9\x43\xDB\x78\xCE\x45\xDB\x7A\xCE\xEC\xD6\x9F\xCA\x83\xC6\x6B\xD5\x48\xB9\xAE\xBE\xA5\xCA\x5D\x86\x88\xAE\xB8\xCD\x3E\xA6\xC6\x00\x6E\x7B\x0F\x42\x5A\xDA\x73\xDB\xE4\xB0\x75\xDB\x6C\xD6\x08\xD6\x6E\xD6\x61\xDA\x70\xD6\x93\xD7\x25\xAA\xDE\xD8\x7A\xD9\x26\xC8\x11\xD6\x28\xC8\xE3\xD8\x2A\xC8\x20\xAE\xF5\xC1\xED\xA9\x3A\x7C\x88\xDB\x02\xC7\x59\x36\x8B\xDB\x71\xDA\x3E\xDB\xF1\xDA\xE5\xD6\x5A\xDB\xD8\xCF\xF5\xD8\x92\xD7\xD7\xD6\x62\xCE\xBC\xD5\x6F\xD5\xB4\xC5\xBE\xBC\xFD\xD8\x58\xA6\xE8\xCD\x9C\xDB\x62\xAD\xC9\xD8\x05\xD8\xCC\xB6\x6D\x8E\xA1\xDB\x6A\x7F\x8A\xDB\x83\xDA\x0C\xCE\x85\xDA\xD4\xCF\xA7\xDB\xDA\xD7\xA9\xDB\xE7\xD6\x79\xDB\xC6\xCE\x7B\xDB\xC8\xCE\x98\xCE\xFB\xB2\x1A\xD9\xB7\xB5\x1C\xD9\x05\xCE\x3A\xA5\xBC\xDB\xDB\x81\xBE\xDB\xC0\xDA\xBB\xD7\x36\xD7\xE6\xC9\x5D\xDA\xF8\xCD\x77\xDB\xFA\xCD\xC7\xDB\x17\xCF\xC9\xDB\x19\xCF\x74\xC5\xFA\xB6\x7C\xBC\xD1\xD5\x7E\xBC\x5F\xC8\x1A\x7C\xD2\xDB\xA8\x9F\xD4\xDB\x20\xDB\xB9\xD6\x1F\xDA\xC4\xD5\x9A\xDA\xC6\xD5\x9C\xDA\x72\xD9\x13\xD9\x76\xD7\xAC\xDB\x78\xD7\x92\xD9\x78\x88\x33\xCE\xBA\xCB\x03\x5C\x89\xDB\xA3\xDB\xBF\xDB\xE1\xD6\xC1\xDB\xE3\xD6\xC3\xDB\xF2\xD7\xC5\xDB\xDC\xD7\x92\xDB\xDE\xD7\x5E\xDB\xF4\xCE\x44\xD6\xF9\xD5\xA8\xBC\xE7\xD8\x1B\x5D\xE8\xDB\xB3\xA9\xEA\xDB\x53\xDB\xAF\xC8\x55\xDB\x21\xDA\xD8\xB4\x84\xD6\xB5\xB8\x86\xD6\x38\xC4\x8C\xDA\x94\xDB\x98\xD5\x78\xD9\x09\xC2\x97\xDB\x66\xCE\x9A\x88\xA5\xC8\x54\xCF\xA7\xC8\xA8\xAC\x0F\xDC\x5B\xA3\x11\xDC\x70\xDB\xA0\xD7\xF5\xD6\x26\xD9\x8A\xD9\x96\xCF\x8C\xD9\x39\xCF\x9E\xDA\x88\xCF\xA0\xDA\x97\xD5\x29\xDA\xAC\xC2\x62\xB7\x7D\xCE\x33\xC0\x5F\xD6\x2B\xBD\x33\xDB\x84\xCE\x9D\xD9\xD9\xC1\xFB\xDB\xA2\xDB\x12\x42\xA4\xDB\x00\xDC\xF0\xD7\x02\xDC\x40\xDB\xC6\xDA\x76\xDA\xC8\xDA\x47\xD9\x08\xDC\x2A\xD6\xFF\xCD\xB0\x5D\x9B\xCE\xD2\xD9\x42\xBA\x02\xDB\x12\xA9\x7D\x5E\xFC\xDB\x43\xDC\xFE\xDB\xD2\xCF\x45\xDC\x72\xDA\xC4\xDA\x74\xDA\x49\xDC\x42\xDB\x4B\xDC\x14\xDA\x4D\xDC\x43\xD6\xC9\xCE\xAD\xC2\xC2\xAD\x0C\x89\x3B\xDC\xB0\xC2\x9B\xD7\xF6\xC8\x4A\xD6\x2B\x5F\x57\xDC\x30", +"\x45\x44\xDC\xBC\xD7\x72\xCE\xBE\xD7\x74\xCE\xDB\xDB\x76\xCE\xDD\xDB\x62\xCF\xDF\xDB\x64\xCF\xF8\xC2\x74\xD6\xCB\xCE\xD7\xAF\x30\xD6\xBE\xC8\x99\xD9\xC1\xC8\xDD\xAF\x4D\xAB\x37\xDB\x8D\xD6\x27\xDC\x62\xA6\x29\xDC\xDF\xD6\x75\xD5\x70\xDA\x5B\xDC\xA6\xDB\x74\xDC\x88\xDA\x90\xDB\x98\xD6\x61\xDC\x78\xDA\x7A\xDC\x27\xD0\x1C\x98\x15\xC3\x64\xAB\x87\xDC\x6F\xDC\xF1\x0B\x71\xDC\xD7\xDB\xF6\xCD\xD9\xDB\x5E\xCF\x76\xDC\x60\xCF\x78\xDC\x25\xD0\x96\xDC\xF7\xC2\x14\xAC\x18\xDA\x42\xBB\x88\xDC\x19\x9F\x8A\xDC\x1C\xD7\xCC\xB7\xAE\xDA\xF6\xD6\xFB\xD9\xC2\xD9\xFD\xD9\x4D\xD7\xFF\xD9\x4F\xD7\x34\xDC\xB3\xD5\xA2\xDA\x6B\x72\x0A\xCF\x9F\xC8\xE9\x65\xAC\xDC\xDA\xA6\xAE\xDC\x87\xD7\x2F\xC4\x21\xDB\x3D\xDB\x74\xDB\x47\xDC\x76\xDB\x41\xDB\x3B\xD7\xA5\xDC\x7E\xD5\xA7\xDC\x7A\xDA\x1A\xCF\xE2\xDA\xD4\xCE\x55\xBF\x06\xC6\xF8\xAD\x1E\xCF\x6E\xDC\x42\xDC\x70\xDC\x59\xDC\x92\xD6\x8C\xDB\x22\xD6\xD9\xDA\x24\xD6\xCA\xDC\xC1\xD7\xCC\xDC\x0B\xD6\xF7\xDA\xA8\x69\x73\xC9\xFC\xD5\xC0\xDC\xE7\xB6\xC2\xDC\xD4\xD7\xED\xDA\xD6\xD7\x69\xD6\x5D\xD7\x23\xD6\x21\xD0\xA3\xDC\x23\xD0\xE2\xDC\x28\xD6\x63\xDC\x9C\xD6\x25\xC6\xA4\xDA\x2D\x9A\xEE\xD6\x69\xDA\x9B\xDC\xD8\xDC\x9D\xDC\xDA\xDC\x72\xDB\xA5\xDB\xC7\xDC\x90\xDC\xF2\xDA\x92\xDC\x8A\xDA\xAB\xDB\x1B\xDC\xAD\xDB\xBB\xDC\xB6\xBD\x01\xD7\x1C\xC6\x65\xAB\xE8\xDC\x03\xB7\xEA\xDC\x9F\xD7\x27\xCE\x4A\xCF\xDB\xD5\x4C\xCF\xC7\xD5\xE2\xD9\x19\xDC\xDF\xCE\x90\xD9\x2C\xCF\xB0\xCF\x4B\xB7\x21\xC6\xEA\x98\x87\xDB\x9C\xDC\xE8\x0B\x9E\xDC\xC2\xDA\x37\xD7\x73\xDA\x5E\xDA\xE0\xDC\x60\xDA\xF4\xDC\x41\xD6\xF6\xDC\xC5\xD7\xF9\xD7\xAA\xC4\x45\x94\x2D\xD7\x5C\xA8\xFB\xAF\x10\xDD\xCD\xB9\x12\xDD\xEC\xD7\x1E\xD6\xEE\xD7\x8E\xDC\x03\xDD\xA1\xDC\xBF\xD7\x2A\xDD\x78\xDB\x94\xDC\x44\xDB\x2E\xDD\xE0\xD7\x7B\xDA\x40\xBB\xBB\xDA\xAB\xDC\x23\xDD\xC9\x05\x25\xDD\xAF\xDA\x4A\xDA\x10\xD9\x4C\xDA\xF3\xD8\x4E\xDA\x5C\xDB\x50\xDA\xE4\xDC\x02\xBB\xCB\xDB\x8C\xA8\x54\xBB\xCF\xDA\xDB\xD6\x36\xDD\x6A\xBD\x38\xDD\x0A\xCE\x0E\xCF\xDB\xDC\x02\xDD\x8D\xDB\xC8\xDC\x8F\xDB\xF2\xDC\x09\xD6\x2C\xDD\xE9\xD6\x8D\xDA\x36\xDC\xD0\xDC\x26\xC6\x66\xD0\xB4\xCF\xE5\xDA\x16\xBD\x41\xDC\xBD\xDB\xFD\xDB\xD5\xDB\xD6\xDA\x62\xDD\xDD\xDC\x8E\xDB\x96\xD6\x06\xDD\xF4\xDA\x8B\xDA\xF6\xDA\xEA\xD6\x3F\xD7\xF9\xDA\x6D\xCD\x51\xC6\x49\xDB\x23\xC4\x26\xB1\xCB\x90\x9B\xD7\x1A\xB5\x5A\xCA\xB7\x5E\x4A\xDD\x75\x05\x4C\xDD\xB2\xDC\xD5\xD8\xFC\xD9\xB2\xDA\xFE\xD9\xB4\xDA\x00\xDA\x2A\xDB\xDC\xD8\x2C\xDB\x84\xCA\x36\xCA\xD3\xB8\x41\xC4\x9C\x99\x3D\xDC\x4C\xBE\x54\xDC\x7E\x7A\x5C\xDD\xA6\xBD\x5E\xDD\xF7\xC9\x51\xC9\x76\xDD\x3C\xDD\x63\xDD\x04\xDD\xA8\xDB\x7B\xDD\x5B\xDB\x7D\xDD\x5D\xDB\x55\xDD\x7C\xBB\x60\xDB\xE5\xBB\xE3\xD7\x63\xDB\x0E\xD1\xF0\xB8\xB1\xD7\x47\xD4\x60\xAE\xA0\xDD\x0E\xDC\x8C\xDD\x98\x05\x8E\xDD\x2D\xDC\xC1\xD9\x8B\xD9\xC3\xD9\xBF\xD6\x32\xDC\x9A\xCF\xB9\xDC\xCC\xD5\x0B\xDD\x3E\x91\xAD\xD7\x80\xDC\x6F\xCA\x7A\xBE\xCB\xD7\x4C\xDB\x6E\xC6\xCE\xD7\xBB\xDD\xDC\x5F\xA2\xDD\xA5\x74\xA4\xDD\x0D\xCA\xA6\xD6\x3E\xD9\x0C\xDA\xFA\xD9\x90\xDD\xB4\xDC\x92\xDD\xB6\xDC\x94\xDD\xB8\xDC\x96\xDD\xAF\xD9\x98\xDD\xB2\xBB\xB8\xD4\xB5\xDD\x2B\xC1\x21\xAD\x2D\xD0\x54\x82\x69\xDB\x5A\xCC\xB0\x66\xD5\xDD\x8B\x73\xD7\xDD\x27\xCA\xD9\xDD\x48\xDA\x4D\xDD\xC3\xDA\x4F\xDD\xC5\xDA\x51\xDD\xC7\xDA\x53\xDD\xC9\xDA\xB0\xDD\x5D\xD9\x7D\xDB\x93\xA9\xFC\xD7\x0A\xAD\xAA\xAA\xC4\xC4\x86\xAE\x05\xBC\x80\xDB\x58\xDD\x15\x0E\x0E\x64\xF4\x00\x14\x86\xCE\xD3\x27\x10\x1B\x3D\xE1\x05\xE6\xD3\x10\x35\x33\x57\x8F\x05\x52\x60\xF1\x0F\x46\x57\x9E\x0B\x08\x09\x9F\x36\x14\xDE\xA1\x05\x7B\xBC\xF7\xCE\x26\x5A\x4E\xB2\x9B\x8C\x53\xB3\xB9\x36\xC6\x6A\x58\x5C\x24\x9F\xF5\x00\x14\x86\x1E\xDE\xD4\x05\x74\x57\x07\xCC\x8C\xB5\x71\xB4\xB9\x36\x16\xDE\x14\x16\x18\xDE\x94\x0B\x1A\xDE\x39\x3D\x1C\xDE\x67\x00\x0E\xDE\x57\x3B\x10\xDE\x0E\x02\x99\xD2\x53\x57\x37\xDE\x64\xD2\x27\x01\xC2\x5A\xB3\xCD\xAD\xC5\x06\x01\x1E\x49\xD2\x90\x39\xDE\xF7\x68\x3B\xDE\x11\x07\x12\xDE\x80\x3D\x37\xDE\x31\xDE\xA3\x1B\x33\xDE\x9A\x0B\xF1\x0F\xC5\x3D\x6C\x57\x37\xDE\x2A\xDE\xA8\x05\x2C\xDE\x5D\x86\x56\xDE\x27\x8D\xC1\xD4\x13\xC7\x31\xC6\xB3\x9A\x66\x6E\x47\x42\x0C\xD8\xB7\xB5\xBA\xD8\xA2\xD5\x10\xD8\xCC\xCC\x64\x6A\x9F\xD3\x99\x6D\x62\xDE\xFC\xCC\x18\xD8\x68\xC0\x3D", +"\x5B\x4A\x70\x47\x42\x1F\xD8\x0A\x9D\x3C\xD8\x3C\xCD\x08\xCD\x65\xCC\x6A\xDE\xC0\x91\x72\xDE\x7C\xD8\x2C\xD8\x55\xD8\xD9\xD2\x57\xD8\x81\xD8\x55\xCC\xF6\xD2\x99\xD3\x70\xDE\x61\xDE\xD7\x36\xEC\xD4\x83\x51\xEE\xD4\x98\xD8\x60\xD2\x54\xD2\x22\xD8\x56\xD2\x14\xD2\x78\xDE\x71\xDE\x87\xDE\xF9\xD4\x1A\x8D\xFB\xD4\xC9\xC7\x56\xD8\xF1\xD4\x16\xD3\xF4\xD2\x0C\x9E\x83\xDE\x31\xCD\x4D\x6D\x79\xDE\xE8\x91\x87\x62\x7B\xDE\x06\xD5\x3C\x61\x54\xD8\x8C\xD8\x1D\xD2\xCA\xCB\xE6\xD4\x1C\x9E\x91\xDE\x86\xDE\x8F\x3B\x70\xC7\x63\xD8\xE4\xD2\x65\xD8\x61\xD2\xDB\xD4\xCD\xCB\x84\xD8\xD3\x5D\x92\xDE\xAE\xDE\x7C\xD8\x70\xD8\x8B\xDE\xB1\xD2\x80\xDE\x9B\xD8\x24\xD5\xAC\xDE\x02\x73\xA3\xDE\x1F\xD5\x46\xD2\x01\x9F\x75\xDE\x1E\xD2\x58\xCD\x07\x9F\x5B\xD8\x9F\xDE\xB8\xDE\x4C\x42\x8A\xD8\x51\xD2\xBC\xDE\xFF\xD2\xBE\xDE\x8E\xDE\xDC\xD2\xA0\xC7\xCB\xDE\x85\xDE\xC2\xDE\x93\xDE\xA4\xDE\x16\x5C\x97\xD8\x7E\xDE\xD9\xD4\x73\xD8\x06\xD2\x9D\xD8\x25\xD3\xB7\xDE\xAD\xDE\x4C\x42\xA3\xD8\x06\x01\xCB\xCC\x5D\xB2\x60\xDE\xD9\xDE\x8F\x3B\xD1\xCC\x4D\xD5\x68\xDE\x81\x6C\xA0\xDE\x0F\x92\xE8\x15\x6C\xDE\x43\xDE\xBF\xC7\x9D\xDE\x09\xD2\xCC\xDE\xE5\xDE\x44\x42\x79\x00\xB6\xD8\xD1\xDE\xFE\x7A\x5B\xD5\x2B\x9E\xBC\xD1\x24\x59\x0E\x64\xF8\x00\xBE\xC7\x56\x59\x56\xD0\x07\xD8\x06\x01\xAF\xCA\x6B\xDE\xD7\x36\x85\xD0\x5F\xD1\x30\xDB\x50\xD1\xA5\x8C\x8C\x8C\x57\x5C\x82\xDE\x17\x5A\x63\xD0\x02\x01\x0C\xDF\x7A\xDE\x0E\xDF\xBA\x01\x10\xDF\x4D\xB2\xCA\x2D\x11\xD1\x9E\xD0\x65\xD1\xA0\xD0\xF7\xD0\x46\xD1\xF9\xD0\xEC\xA6\xFC\xD0\x3D\x01\xA6\xD0\x7A\x3F\x01\xD1\x77\xD1\x31\x06\x7D\xD0\xB7\x58\xB5\x03\x07\xD2\x06\x01\x81\xD0\x3F\xBF\x1A\xDF\xA1\xDE\x6D\x3B\x1C\xDF\x88\x03\x1E\xDF\xB0\xD0\x13\xDF\xB2\xD0\x21\xDF\xC4\xD0\x44\xD1\x25\xD1\x5B\x31\x90\xD0\xEB\xA9\x92\xD0\x6D\xD1\xB0\x66\x37\xDF\xF3\xDE\xB9\xCA\x3A\xDF\x50\x02\x3C\xDF\x88\xD0\x51\xD1\x21\xD1\x40\xDF\x23\xD1\x42\xDF\x67\xD1\xBA\xD1\x68\x00\xFA\xD0\x18\x0C\x29\xDF\xFE\x58\x1C\x20\xA3\x3F\xA8\xD0\x5E\x01\xAA\xD0\xF0\xBE\x4A\xDF\x34\x92\xA2\xDE\x4D\xDF\x2E\xD1\x73\xD1\x14\x38\xA5\xD1\x02\x01\xB6\xD1\xC7\x5A\x36\xD1\x21\x52\xAC\xD1\x02\xC0\xBF\xAB\x2B\xD2\x19\xDF\xCD\xDE\xFC\xDE\x0F\xDF\x68\xDF\x1F\xD1\x51\xDF\x32\x78\xC3\xD0\x54\xDF\x23\xDF\xC6\xD0\xE8\xC6\xC9\xD0\x62\xDF\x75\xDF\xE8\x2F\x77\xDF\xA3\xD1\xF1\xD0\x6A\xDF\x01\x01\x6C\xDF\x23\x59\x6E\xDF\xA6\x8C\xA2\x9F\xDB\xD0\x82\xDF\xFB\xDE\x84\xDF\x1D\xDF\x78\xDF\xB3\xCA\xB4\xD1\x22\xD1\xD6\xD0\x24\xD1\x56\xDF\x26\xDF\x69\x64\xEC\xC6\xEB\xD0\x18\xDF\x01\x01\x63\xDF\x89\xC1\x64\x54\x4C\x42\x85\xDF\xB2\xD1\x8D\xD1\x88\xDF\x00\x00\x8A\xDF\xA3\x8C\xB8\xD1\x29\x31\x59\xDF\x26\x0C\x5B\xDF\xFE\xD0\xB4\x05\x01\x24\x2D\xDF\xC1\xA8\x03\xD1\xF5\x0E\x05\xD1\x31\xDF\x1D\x01\xB7\x5D\x08\xD1\x0A\xD1\x36\xDF\x83\xDF\xB0\x0B\xA5\xDF\x87\xD0\xB3\xD1\x7A\xDF\xE2\x78\xAA\xDF\x10\x0E\x8C\xDF\xBB\x5A\xB7\x5D\x18\xD1\x1A\xD1\xBE\xDF\x91\xDF\xC0\xDF\x93\xDF\x86\xDF\x12\xDF\x10\xB2\x52\xDF\x42\xD1\x22\xDF\xA8\xD1\x24\xDF\xB9\xD1\x9B\xDF\xF9\x09\xC4\x5A\x29\xD1\x2B\xD1\xCD\xDF\xEC\xDE\xA4\xDF\xD0\xDF\xA6\xDF\xA4\xD1\x96\xDF\x53\xDF\x98\xDF\x55\xDF\xAA\xD1\x57\xDF\x38\xD1\x27\x01\x3A\xD1\xDF\xDF\x0D\xDF\x8F\x3B\xC1\xDF\x9A\xD0\xA7\xDF\xE5\xDF\xD5\xDF\x41\xDF\x23\xDF\x45\xD1\x8F\xD0\x14\x0A\x49\xD1\x90\xDF\xE0\xDF\x76\xDF\xE2\xDF\xC2\xDF\xF3\xDF\xC4\xDF\x16\x7A\x7C\xDF\xE7\xDF\x7E\xDF\x57\xD1\x47\xD1\xC4\x5A\x5A\xD1\xFC\xDF\xEF\xDF\xE1\xDF\x3B\xDF\x94\xDF\xC0\xD0\x11\x0B\x97\xDF\xE6\xD0\xAC\xDF\x37\xD1\x6A\xD1\x30\x5A\x48\xDF\x64\x6A\xA1\xDF\x35\x96\x16\x61\x47\x42\xF1\xDF\xAF\xD0\x50\xDF\x3E\xDF\xF3\x0B\x02\xD1\x31\x06\x79\xD1\x49\x01\x63\x00\x95\xD1\x4B\x03\x97\xD1\x6C\x58\x8B\xD3\xF5\xC3\x83\x5A\x82\xD1\x17\xE0\x85\xD1\x1B\x5D\x1A\xE0\xE5\xB1\xA5\xD3\x66\xDF\x28\x04\x4F\xDF\xC3\xDF\x21\xE0\xD3\xCB\x44\xC6\x81\x08\x91\xD1\x5A\x3C\x06\x02\x28\xE0\x3E\x01\x2A\xE0\x6F\x58\x4F\x9B\x41\xE0\x91\x21\x9C\xD1\x27\x01\x9F\xD1\x73\xDF\xA0\xDF\xBF\xDF\xF7\x18\x1E\xE0\xB6\xDD\x69\xDF\xF4\xDF\x63\xD1\xD6\xDF\xF9\x7B\x55\x69\x43\xDF\x6B\x8D\xA2\x9F\xAE\xD1\x0B\xE0\x1B\xDF\xF0\xDF\xFF\xDF\xF2\xDF\xE4\xDF\x02\xE0\x12\xE0\xF5\xD0\x99\xDF\xE9\xDF\xDA\xDF\x95\x8D\x05\xC1\xF9\x00\x65\xD5\x87\xC3\x0D\x0D\x95\x42\xA5\x74\x4F\xD3\x47", +"\x8C\x09\x01\x98\x3E\x1F\xD4\x72\xE0\x9E\xDE\x62\xC2\xB0\x10\x6D\xE0\x8B\x73\x95\x42\xB3\x08\x74\xE0\x5B\xA3\x95\x42\x7C\x8C\x85\x0D\x97\x42\x07\x0E\x91\x54\x10\xC7\x0E\x97\x26\xC5\x8E\xC6\xB0\x66\xCD\xC7\xE3\xDF\xFD\xD7\x85\x86\x8D\x8D\x86\xDB\x3A\xA5\xD2\xC7\x4A\xCC\xDE\xB0\xAF\xDC\x72\xB8\x98\xDA\xDA\xD5\x71\xD7\x94\xC9\x50\xDD\x12\xD9\x52\xDD\xAE\xDD\x54\xDD\x7F\xDD\x6B\x6D\x81\xD5\xE8\xD9\x7C\xD9\x0D\xC2\x9B\xDB\x7A\xC5\x7F\xB8\x3C\xA6\x9F\xDB\x6D\x8E\x90\xE0\x27\xCC\xFC\xB1\xFD\x94\xA5\xDD\x92\xCA\xA7\xDD\x72\xDC\x86\xDA\xAA\xDD\xC4\xDB\xAC\xDD\xAA\xDB\x14\xD9\xF5\xDB\xAA\xD7\xAE\xDB\xBE\xDC\xFA\xD8\x84\xC5\xCA\xD9\xE6\xCD\xFE\xD8\x2F\xBC\xE0\xB2\xA1\xD5\xCA\xD4\x12\xC2\x4F\xBC\x56\xBB\xAA\xE0\x34\xCC\xC6\xB0\x97\xB0\x4A\xB0\xD8\xDD\x46\xD7\xC2\xD5\xED\xDB\xBB\xD6\xC1\xDD\x2F\xDC\xC3\xDD\x58\xD9\xC5\xDD\x09\xD0\xC7\xDD\xE2\xD5\x8E\xDA\xE1\xDB\x27\xC2\x4D\xAA\x43\xC8\x35\xD9\xBD\x7D\xD0\xDB\x50\xBC\xC8\xE0\x6A\xDB\x45\x8D\xAE\xB0\x93\xE0\x67\xC9\xB1\xDC\xC0\xDD\xB3\xDC\xC2\xDD\xB5\xDC\xC4\xD9\xB7\xDC\x8F\xD9\xD8\xE0\xF6\xD5\xE5\xDD\x60\xBC\x01\xAF\x5A\xC8\x9E\xC5\x5C\xC8\x9A\xD9\x5B\x7C\x37\xD9\xDF\xB9\xE3\xE0\xEE\xDD\xE5\xE0\x2F\xB1\x12\xDC\x80\xD6\x14\xDC\x82\xD6\x16\xDC\xA5\xD7\x18\xDC\x25\xDA\x87\xD6\xE3\xDD\xC8\xD9\xF3\xE0\xDD\xB9\xDC\xB1\x65\x85\x61\xC8\x9C\x5B\xAF\xB1\x72\xB1\xCD\xE0\x88\xD7\xEC\xDB\x22\xDB\x5D\xBB\xA2\xB9\x37\xCF\x30\xDC\x86\xCF\xD6\xE0\x3D\xD0\xF1\xE0\xC3\xD6\x0C\xE1\xF8\xD5\x35\xC6\x8C\xC8\x14\xC2\xFD\xE0\x68\xCC\x4F\xB1\x90\xB1\x14\xE1\xC4\xDC\x16\xE1\xC6\xDC\xA9\xDD\x3E\xDD\x75\xDC\x40\xDD\xDC\xDB\x42\xDD\x7A\xDB\x44\xDD\x06\xC8\x1E\xDC\x83\xC5\x2B\xBC\xBE\xE0\xB3\xDB\xC2\xAA\x0A\xBA\xF4\xC1\xC7\xAA\xD4\xD9\xE6\xCF\xBF\x5F\x12\xE1\x92\x73\xAE\xE0\x6F\xCE\xB0\xE0\x9F\xDC\xBD\xD7\x2F\xE1\x91\xDC\x66\xDD\x91\xDB\x68\xDD\x3D\xD7\x9E\xE0\x89\xC8\x37\xDC\xF0\xC8\xAE\xC2\x69\xDC\xE3\xC2\xEE\xD9\xCB\xC2\x34\xD6\x42\xC3\x42\x5B\x43\xE1\xAD\xE0\x2A\xE1\xF8\xC9\x09\xDB\x2D\xE1\x78\xDD\x64\xDD\x7A\xDD\x4C\xE1\x93\xDC\xFC\xDD\x4C\xDC\xFE\xDD\xD6\xC3\x7A\xBC\xCD\xC5\x94\xAF\xCC\xD7\xDF\xBC\x49\xD6\x6B\xD7\x94\x5D\x5C\xE1\x4A\x94\x39\xDD\x91\xD6\x01\xDD\xA8\xDD\x62\xE1\xB3\xE0\x03\xDC\xB5\xE0\xC6\xDB\x33\xE1\xC8\xDB\x35\xE1\x49\xD9\x7C\xDC\x53\xE1\x67\xDC\x7F\xDC\x97\xD9\x31\xD6\xED\xD9\xDD\xC5\x80\xB7\x6C\xDC\x71\xE1\x67\x5E\x73\xE1\x98\xB0\x19\xD0\xE0\xD6\x5A\xDC\xB1\xE0\xC2\xDB\x7A\xE1\x48\xDC\xFA\xDD\x4A\xDC\x67\xE1\x62\xDC\x69\xE1\xCB\xDA\x82\xE1\xCB\xD9\xEA\xD9\xE0\xCF\x70\xB1\x82\xDC\x83\xCE\x5D\x0F\xF1\xD9\xFC\xE0\x8E\xE1\xCC\xE0\xF3\xDD\xCE\xE0\x0C\xD9\xD0\xE0\x0E\xD9\x4E\xDD\xB1\xDA\x99\xE0\xB3\xDA\xF3\xDB\x74\xD9\x15\xD9\x65\xD7\x21\xE1\xB7\xA6\x99\xDC\x17\xDB\x8D\xD6\x26\xE1\x76\xCC\x17\xB0\x8B\xDC\xF4\xDD\x8D\xDC\x93\xE1\x01\xDC\x95\xE1\xC9\xDC\x5F\xDC\xCB\xDC\x7E\xE1\xDE\xDB\x80\xE1\x16\xDA\x8E\x67\xAA\xDC\xF2\xD9\xD9\x5E\xA7\xE1\xBF\xDD\x52\xD6\x55\xD9\x2D\xCA\x1B\xE1\x98\xCF\x1D\xE1\xF4\xD5\x1F\xE1\xFE\xD6\x6B\xDD\x8B\x7B\xB4\xD6\xE2\xE0\xCF\xE1\x00\xDD\x3B\xDD\xC1\xE1\x46\xDC\xC3\xE1\x65\xDD\x31\xE1\x77\xDC\xC7\xE1\x79\xDC\xC9\xE1\xE0\xDA\x5D\xC9\x66\xDA\x73\xC4\xC8\xD6\xCB\xBA\x49\x5D\xDE\xE1\x75\xDD\x60\xE1\xDC\xDC\x6E\xD9\xF0\xDC\x59\xDB\x7C\xE1\x05\xDC\x4E\xE1\xC3\xD7\xE9\xE1\xB5\x5E\xE6\xDC\x04\xD9\xCE\xE1\x91\xE0\xBD\xE1\xE7\xE0\x57\xCE\xE9\xE0\xD1\xE1\x2E\xDC\x39\xD0\xD4\xE1\x3B\xD0\xD6\xE1\xC1\xD6\xD8\xE1\x51\xD7\x64\xDA\xEB\xE1\xD1\xDC\xA3\xE1\x42\xCF\x16\xC6\xA6\xE1\x01\xE2\x64\xB0\x03\xE2\xBD\xCE\xF3\xE1\x77\xDD\xF5\xE1\xDE\xDC\xF1\xDC\xE5\xE1\xA4\xDC\xE7\xE1\xA6\xDC\xFC\xE1\x7C\xDB\x65\x67\x1B\xC6\x99\xC3\x65\xAB\xBB\xE1\x83\xCC\xE6\xC7\x5D\xE1\xA9\xE1\x15\xE1\x46\xCA\xAC\xE1\x0D\xDA\x27\xDD\x5D\xDC\x29\xDD\xC5\xE1\xE1\xDC\x21\xE2\xCD\xDC\x23\xE2\xCA\xDB\x65\xCF\x3C\x0E\x91\xDA\xC7\xE0\xF1\xE1\xEB\xDB\x2F\xE2\x17\xE1\x5C\xD7\x19\xE1\x91\xD5\x29\xD9\x93\xD5\x1A\xDD\x50\xCF\x0A\xE1\xE6\xD9\xB6\xE1\x41\xB0\xEC\xE1\x80\xBB\xC8\xC9\xCD\xE1\x42\xE1\x16\xE2\xE6\xE0\xC3\xDC\x5F\xE1\xC5\xDC\xF4\xE1\xA7\xD9\xF6\xE1\x22\xB0\xDB\xDA\x12\xCE\xDD\xDA\x19\xAD\x79\xDA\x20\xB1\x5E\xD9\x47\xDD\x42\xD7\x28\xE2\x3F\xE2\x01\xE1\x8E\xD5\xBF\xCD\x97\xE0\x4A\xCA\xF1\xDB\xAB\xD9\x0B\xE2\xD5\xD6\xB8", +"\xE0\xF7\xD8\xF7\xDB\x18\xD9\x5D\xD5\x29\xAE\x37\xC6\x25\xE1\x66\xE2\x2A\xDC\x14\xDD\x0A\xD7\x16\xDD\xD1\xD6\x23\xDA\xD3\xD6\x6E\xE2\x63\xD7\xB4\xE1\x2E\xD9\x4C\xE2\xC5\xD6\x40\xCF\x69\xD7\x70\xDD\x6D\xBB\xF0\xE1\x53\xE2\x00\xE1\x79\xE2\x09\xD7\x03\xE1\xA3\xD7\x05\xE1\x7E\xE2\xA6\xD7\x80\xE2\xA8\xD7\x70\xE2\x16\xD9\x72\xE2\xAD\xA5\x1C\xCA\xEB\xD9\xFD\xDA\x4F\x0C\xFF\xDA\xB9\xDD\x32\xBE\x40\xE1\x8A\xDD\x52\xE2\xAB\xE0\x0C\xAF\x29\xE1\x2D\xE2\x2B\xE1\x41\xE2\x61\xE1\x1C\xE2\x79\xDD\xDA\xDA\x04\xDC\xF4\xD7\xFA\xE1\xF6\xD7\x39\xE2\xE0\xDB\xDD\xCF\x45\xCD\x45\xC6\xCD\xBB\xA3\x78\x9C\xDD\x47\xB1\xD0\xDD\x2C\xB9\xE5\xCF\xA2\xE2\xA8\x61\x78\xE2\xBE\xE1\xAA\xE1\xDA\xDD\x30\xE2\xDC\xDD\xB0\xDA\x91\xDD\xB0\xE1\x93\xDD\xB2\xE1\xB5\xDA\x82\xE2\x76\xD9\x84\xE2\x66\xB5\xCB\xDD\x86\xE1\xF0\xAA\x62\xBE\xD0\x95\x83\xDC\xAA\xB1\x5F\xC4\x81\xD9\x29\xE2\x92\xCC\x02\xE2\x55\xE2\xA6\xDD\x1A\xE2\x78\xE1\xAB\xE2\x63\xE1\xAD\xE2\xF8\xE1\xAF\xE2\x37\xE2\xE3\xDC\x50\xE1\x56\xDD\x81\xDD\xB3\xDD\x62\xDB\xAE\xB7\x0D\xB9\x68\xA2\x9F\xE2\x69\x8B\xD3\xDD\xE9\x65\xD9\xE2\xA0\xCC\xA5\xE2\xB0\xB1\x90\xE1\x8C\xDC\x84\xDA\xE1\xE1\x5C\xDC\xF8\xDD\x5E\xDC\x97\xE1\x60\xDC\x99\xE1\x95\xDC\xB2\xE2\x7B\xDC\x47\xDB\xCB\xD9\x97\xD7\x0B\x8F\xE6\xD7\x9B\xD7\xED\xDD\x27\xE1\x64\x6A\xF3\xE2\xCF\xCC\xDB\xE2\xEB\xDC\x54\xDB\xED\xDC\xEF\xDA\xEF\xDC\x1D\xE2\xF7\xE1\x65\xE1\x07\xDD\xB7\xE0\x09\xDD\xF6\xDB\xC9\xDD\xF1\xC5\x11\xE2\x3D\x81\xC7\xB1\x8B\xE0\x37\xAC\x05\xDE\xAF\xBE\x4B\xB9\x4B\xD0\x03\xD8\x39\xC0\xC4\x5A\xE9\x83\x72\xE1\x67\xB6\x38\xC5\x54\x51\xBF\x37\x99\xD2\x9E\x37\xF3\xB1\x99\x95\x55\x96\xC0\x63\xDE\xC7\x85\xE0\x26\x9F\x03\x64\xA4\xE2\x2B\xE2\x10\xC5\xBF\xD8\xB8\xC1\xC5\xD1\x27\x01\xFC\x00\x07\xDF\x5D\x0F\x09\xDF\xE9\xAD\x27\x01\xF6\xCA\x99\x6D\xF3\x28\x3F\x0A\x71\xB2\x76\xE0\xD7\xCA\xBE\x5A\x66\x67\x61\xD0\x9F\xDF\x00\x00\x47\xE3\xC0\x91\x49\xE3\x94\x03\x10\xDF\x77\xB2\xD4\xDF\x53\xE0\xF6\xDF\xD7\xDF\xF8\xDF\x26\xD1\x03\x0A\xAE\xDF\x77\x0D\xB0\xDF\x78\xD0\x2C\xDF\xB9\xDF\x73\x00\x8F\xD1\x79\x01\x30\xDF\xDF\x49\x22\x0B\x33\xDF\x03\x01\x35\xDF\x17\xBF\x53\xE3\x38\xDF\x76\x3A\x53\x3E\x4A\xE3\x57\xE3\x92\xB2\x20\xDF\xF5\xDF\x7D\xDF\x5C\xE3\x57\xE0\xEF\x1E\x91\xD0\xDA\xB7\xE4\xD0\x18\xE0\x81\x6C\x70\xE3\x4B\xDF\xFE\xCA\x73\xE3\x56\xE3\xD6\xCA\x32\xB2\xD8\x44\x78\xE3\x05\xE0\x7A\xE3\x9A\xDF\xF9\xDF\x73\xD0\x28\xDF\xA5\xD0\x63\xE3\x18\x40\x5F\xDF\x92\x06\x8C\x7B\xAB\xD0\x3F\xBF\x82\xE3\x64\xDF\x2D\x13\x55\xE3\xE1\x6D\x75\xE3\xF8\xCA\x89\xE3\x5A\xE3\x79\xE3\x55\xE0\xA9\xD1\x25\xDF\x8E\xE3\x31\x27\xFE\xE1\x6F\xDE\x46\xE3\x4A\x70\x9C\xE3\xAD\x56\x9E\xE3\x28\x13\x16\x04\xC2\xD0\x10\xDF\x4A\xB2\x6F\xDF\xA2\xD5\x81\xDF\x98\xE3\xAB\xE3\x85\xE3\x9D\xE3\x87\xE3\xE9\x7D\xB0\xE3\xE6\xDF\x13\xE0\x64\xE0\xA5\xE3\x5E\xE3\xBB\xD1\xF0\x60\xD7\x63\xF0\xBE\x99\xE3\xA2\xDF\x5B\x3E\xB7\x55\x3E\x81\x4B\xE3\xFA\xCA\x4D\xE3\xC1\xD0\xBE\xE3\x63\xE0\xE8\xDF\xC1\xE3\x44\xDF\x9C\xDF\xB8\xDB\x3C\x0E\x9E\xDF\xED\xD0\x02\x01\xC7\xE3\x1B\xE0\xD0\x61\xAC\xE3\xDA\x50\xAE\xE3\xCE\xE3\x11\xE0\xD0\xE3\x35\xD1\x14\xE0\x21\x52\x60\xE3\x89\x6A\x62\xE3\x1C\x20\xFF\xD0\xC1\x0B\xB4\xDF\x3C\xE0\x31\x06\x04\xD1\xE0\x01\x06\xD1\x0D\x0E\xBC\xDF\xC6\xE3\xB8\xE3\xB0\x42\x74\xE3\xBB\xE3\xF5\xC3\xBD\xE3\x8A\xE3\xBF\xE3\xD2\xE3\xD9\xDF\xA6\xE3\xCA\xDF\x27\x01\xCC\xDF\x6F\xE3\xF6\xE3\xCA\xE3\xF8\xE3\xF7\xCA\xAF\xE3\xA0\xE3\xA6\xD1\x54\xE0\xED\x93\x56\xE0\x8D\xE3\xC2\xE3\x69\xD1\x0D\x0E\xDD\xDF\xF5\xE3\x66\x6E\xDE\xE3\xFF\x51\xE0\xE3\x88\xE3\x77\xE3\xA1\xE3\x8B\xE3\xA3\xE3\xD8\xDF\x29\x31\xEB\xDF\x09\x01\xED\xDF\x04\xE4\x15\xE4\xB9\xE3\xAD\xE3\xF9\xE3\x51\x8D\xFB\xE3\x1B\xE4\xFD\xE3\xF7\xDF\x7B\xE3\x27\xD1\xFB\xDF\xB7\xE3\x24\xE4\xF7\xE3\x86\xE3\x08\xE4\xE1\xE3\x3F\xDF\x56\x31\xB2\xE3\x2D\xB2\xC6\xD0\x59\xD1\x27\x01\x5B\xD1\x30\xE4\x02\x73\x16\xE4\x81\xB8\x18\xE4\xBC\xE3\x0A\xE4\x6B\xDF\xA7\xD1\x1D\xE4\x5D\xE3\xD4\xE3\xC3\xE3\xC4\x5A\x9D\xD1\x79\x3E\x14\xE4\x3F\xE4\x25\xE4\xDF\xE3\x27\xE4\x76\x8D\x44\xE4\x89\xDF\x46\xE4\x0D\xE4\xA4\xE3\xFF\xE3\x10\xE4\x70\xDF\xFF\x00\x5A\xE0\x3E\xE4\x48\xE3\x50\xE4\x17\xE4\x52\xE4\xE7\xCA\x54\xE4\xA9\xDF\x56\xE4\x10\x52\x0F\xE4\x49\xE4\x67\xE0\x45\xCB\xFD\x00\x6A\xE0\x52\x7D\xAF\x5A\xEE", +"\x9B\x7B\x0A\x14\x38\xC7\x0A\x51\xC5\xFF\x00\x44\xE3\x2A\xC6\x07\x9C\xD0\x5A\xFD\x58\x07\xE4\xDD\xC3\x09\xE4\x4E\xE3\x60\xD0\x27\x01\xEC\xD0\x4B\x5D\x1D\x9C\x79\xE4\xC0\x54\x8B\x03\x7B\xE4\x2B\xC4\x9F\xE3\x1A\xE4\x0B\xE4\x5B\xE3\x47\xE4\x2D\xE4\x5F\xE3\x90\xE3\xA1\x3F\x2B\xDF\x18\x40\xED\xE3\xB5\xE2\x7C\xD0\xC3\xD2\x1A\x34\x7E\xD0\xE0\xB5\x6E\xE3\xAA\xD2\xE3\xCA\xCD\x5A\x7A\xE4\x33\xE4\x7C\xE4\x35\xE4\x52\xD1\xFC\xE3\xD1\xE3\x2C\xE4\x68\xE4\x58\xE0\x19\x5B\x47\xDF\x31\xE0\xDC\x5F\x9D\xE4\xCC\x5A\x9F\xE4\xBA\xE3\x34\xE4\x19\xE4\xCF\xE3\xA4\xE4\xE4\xE3\xC0\xE3\x59\xE4\x69\xE4\xE7\xE3\x6F\xD5\xE9\xE3\x28\x59\xA7\xD0\x80\x57\xA2\x07\x61\xDF\x3F\xBF\xAD\xE4\xCB\x5A\xAF\xE4\x26\xE4\xB1\xE4\x43\xE4\x8A\xE4\x45\xE4\x0C\xE4\x67\xE4\x65\xE0\xA6\xE3\x5B\xE4\xB9\xD0\xF0\xBE\xC2\xE4\xCA\x5A\xC4\xE4\x51\xE4\xC6\xE4\xFA\xE3\x64\xE4\x04\xE0\x2B\xE4\xD7\xDF\x7F\xDF\xB5\xE3\xCE\x09\x9C\xE4\x84\xE4\xA0\x43\x45\x38\x87\xE4\x17\xC2\x76\xE3\xB3\xE4\x2A\xE4\xA5\xE4\x8C\xE3\xCC\xE4\x5A\xE4\x88\x80\x8F\xDF\xC1\xE4\xDF\xE4\xAE\x47\xE1\xE4\xA0\xE4\x88\xE4\x7D\xE4\xE5\xE4\x8B\xE4\xA2\xE3\x57\xE4\x1E\xE4\x66\x31\x04\xD8\xD7\xE3\x80\xE4\x51\xE3\xD1\xE4\xFB\x9A\x85\xE4\x5F\x03\xE2\xE4\x4C\xC2\xE4\xE4\xE2\xE3\xB4\xE4\xB7\xD1\xB6\xE4\xAD\xDF\x90\xE4\xA8\x3F\xB1\xDF\x86\x3B\x94\xE4\x52\xCD\x87\x83\xB6\xDF\x48\x27\xB8\xDF\x6A\xE3\xE0\x01\xBB\xDF\x27\x01\xBD\xDF\x17\xBF\xFE\xE4\xA8\xD4\xDD\xCA\x5A\x55\xC7\x0A\x02\xE5\x4C\xE3\xB2\xE4\x05\xE5\xE6\xE4\xB5\xE4\xFE\xE3\x1F\xE4\x17\xD1\x02\xE4\xD0\xE4\xEE\xE4\xB1\xA9\xEE\xCA\x01\xE5\xF1\xE4\xE3\xE4\x89\xE4\xF4\xE4\xC9\xE4\x8C\xE4\xF7\xE4\x48\xE4\x58\xD1\xDC\xDF\x28\x5A\x29\xE5\xCF\x5A\xD3\xE4\x61\xE4\xD5\xE4\x28\xE4\x64\xE4\xC6\xDF\x0C\x0E\xC8\xDF\x68\xD1\x20\xE4\x06\x01\x22\xE4\xDE\xE4\x3A\xE5\x00\xE5\xE3\xD1\x41\xE4\x62\xE4\x82\x8D\xC8\xE4\x55\xE4\xCA\xE4\x8A\x8D\xB7\xE4\x58\xD1\x2F\xE4\x19\xE5\x2A\xE5\x1C\xE5\x2C\xE5\x4A\xE5\x2F\xC6\x42\xE4\xD6\xE4\x4E\xE5\x96\x8B\x38\xE4\x56\xD1\xB4\xD1\x36\xE5\x0D\x0E\x0A\xE0\xED\xE4\x48\xE5\xE0\xE4\x1E\xE5\x2E\xE5\x03\xE5\x30\xE5\x22\xE5\xF5\xE4\x1C\xE4\x34\xE5\x8E\xE4\x4A\xE4\x0D\x0E\x4C\xE4\xC0\x42\x39\xE5\xCE\x5A\x3B\xE5\x4B\xE5\x3D\xE5\x53\xE4\x5D\xE5\x40\xE5\x08\x0E\x42\xE5\x57\xDF\x5B\xE4\x5D\xE4\x55\xE5\x66\xE5\xEF\xE4\x68\xE5\xB0\xE4\xA1\xE4\x21\xE5\x36\xE4\x23\xE5\x07\xE5\x25\xE5\xF9\xE4\x00\xCB\x5D\xDE\xC3\xD4\x93\xD3\xD6\xD5\xC2\x8D\x63\xDE\xAF\xB9\x65\xDE\xC4\xE0\xA3\x06\xF6\xCC\xE3\xDE\x4D\x61\x87\x90\x17\xD8\x2B\xD3\x19\xD8\x95\xD3\xDD\xD6\x73\xDE\x2A\xD5\x3D\xCD\x34\xC7\x65\xCC\x91\xE5\xEA\xD5\xC2\x8D\x6E\xD8\xD7\x03\xBA\xD2\xC7\xDE\xA9\xDE\x19\xD5\x56\x59\x32\xD8\xAA\xD2\xA7\xE5\xFF\xD5\xA9\xE5\x39\xD8\x5E\xCC\x3B\xD8\xB2\xDE\x8D\xDE\x30\xD8\x64\xCC\xD7\xDE\xA0\xE5\xA7\xD5\xB5\xE5\xA8\xCB\xFA\xD4\x08\xD5\x8C\xC0\x16\xD5\x99\xDE\x67\xD8\x9B\xDE\x4C\xD8\xF8\xDE\xB0\x83\xB3\xE5\x1B\xD6\xC0\xE5\x31\xD5\x07\xD5\x48\xD8\xA8\xDE\xE7\xD2\xAF\xE5\x3E\xCD\xA6\xE5\x87\x90\xAF\xDE\xD9\xB3\x14\xD5\xFF\xDE\xF0\xD4\x3D\xD8\x1F\xD2\x1F\xB6\xD6\xE5\xA1\xE5\xBA\xDE\x3C\xD2\xB9\xE5\x9A\xD8\xD4\xDE\x63\xD2\x76\xD8\xB2\xE5\xD7\xE5\x7C\xD8\xFD\xD2\xDB\xE5\xC5\xE5\xDD\xE5\xC9\xDE\x4C\xD2\xBD\xE5\x8C\x5D\xEA\xE5\xDB\xDE\xC3\xC0\xD0\xDE\xDE\xDE\x2E\xD8\xDA\xD4\x74\xD8\x37\xD5\xB6\xDE\x9B\xE5\xE1\xE5\xF5\xE5\x87\x83\xDD\xDE\xA7\xDE\x98\xDE\xEF\xE5\xAA\xDE\xAE\xC7\x42\xD5\x66\xD2\xA1\x61\x9C\xE5\x0B\xDC\xFF\x00\x1E\xD3\xF0\xDE\x4D\x6D\xCC\xE5\x4D\xD6\x93\xE5\x23\xD3\x57\xBF\xCD\xD4\x11\xE6\x7C\xD6\x13\xE6\xF6\xDE\x53\xD5\xCA\xE5\x1B\x5D\x17\xE6\xA3\xD6\xC2\x8D\xFE\xDE\xF8\xE5\x46\xBA\x01\xDF\xBF\xD4\x44\xCB\xE9\xC7\x00\x00\xBF\x4B\x4B\xBF\xED\xC0\x4A\x71\x8E\xE0\x50\xBC\x09\xCB\x00\xD0\xB0\xDC\xC1\xDA\xF6\xDD\x32\xE2\xFC\xE2\x34\xE2\xFE\xE2\xC6\xE1\x00\xE3\x43\xDD\x9B\xE1\xD1\xA2\x96\xDB\xBD\xE0\xA1\xE0\xBF\xE0\xB4\xDB\x85\xD5\xF3\xC1\xC4\xB2\x5D\xAD\xF6\xC1\x2E\xE6\x33\xD0\x2B\xDC\x6F\xD7\x96\xE0\xEF\xDB\x72\xD7\xDF\xDD\xEE\xE0\xE1\xDD\xF0\xE0\x4A\xE2\x02\xDA\xF8\xD8\x65\xD9\x64\xAD\x9A\xD5\x9E\x7A\xC4\xB6\x9A\xDB\x7B\x9F\x00\xD9\xB1\xD9\x02\xD9\xC6\xE0\xDB\xD6\x2F\xE6\x18\xD0\xF8\xC7\x91\xE1\x61\xDD\xDF\xE2\x59\xE2\x15\xE3\x5B\xE2\xAE\xE2\xDC\xDA\xDD\xD7\x9C\xBD\x3B\xE6\x09\xDC\x6B", +"\xE1\xDC\xE0\xAD\xB9\x94\xC5\x67\xDB\x6F\xDD\x84\x65\xBB\xD5\xBB\xE0\x64\x6A\x61\xE6\x2D\xD1\x8D\xE2\x5A\xD7\x5C\xBB\x43\xE2\x24\xDB\x70\xD9\x26\xDB\xAC\xA6\x28\xDB\x26\xDA\x52\xE6\x28\xDA\x80\xDD\xEF\xC9\x19\xCE\xC5\xB9\x1B\xCE\x34\xD9\x74\xE6\x1E\xCE\xF2\xC6\xFF\xB6\xDF\xB9\x7A\xE6\x3C\xD1\x0C\xA2\x75\xE1\x3B\xDB\xE0\xE1\x48\xE1\x73\xDC\x4A\xE1\x05\xDD\x17\xE3\x7C\xDD\x08\xDD\x7E\xDD\x6A\xDD\x88\xE6\x2B\x97\x0E\xE1\x1A\x7C\x93\xE6\x4C\xD1\x67\xD0\xDC\xE2\xAF\xE0\xDE\xE2\xFA\xE2\x8F\xDC\x9B\xE6\xAB\xDD\x9D\xE6\xAD\xDD\x9F\xE6\xAF\xDD\xE7\xE2\xB1\xDD\xCC\xDA\x3B\x67\x24\xE1\xFC\xD5\xA6\xE6\x5D\xD1\x7A\xA8\x10\xE3\x13\xDC\x12\xE3\x56\xDB\x21\xC3\x58\xDB\x69\xE6\xE3\xE2\x6B\xE6\x06\xDC\x6D\xE6\xB4\xE6\x69\xC1\x37\xE1\xB1\xDB\xFC\xD8\xE1\xD8\xB5\x6F\x3D\xE1\x44\xE6\x6B\xCE\xF1\xE2\xB0\x66\xBA\xE6\x6E\xDD\x95\xE6\x5F\xDD\x59\xCF\x65\xE6\xAC\xE6\x3D\xDD\x28\xDD\xDA\xDB\x1F\xE2\xF3\xDC\xE5\xE2\xF5\xDC\x6E\xE6\x4E\xDC\x9D\xE1\x5D\xD6\x54\xE1\x9B\xE2\xE6\xD5\xCF\xCE\x9B\xD7\x59\xE1\xAF\xDB\x33\x5B\x48\xE6\x7A\xE2\x8F\xE2\x7C\xE2\x0C\xD7\x18\xDD\x44\xC9\x94\xE2\x2C\xD9\xCC\xE2\xB7\xDA\x98\xE2\xF9\xB6\xB2\xD9\x51\xDC\x67\xDA\x0A\xAB\xD2\xE6\x79\xE6\xEE\xE6\x8E\xE2\xBF\xE6\x15\xDC\x9C\xB6\xB3\xC8\x4D\xB4\x37\xDA\xA4\xC4\x39\xDA\x8E\xA7\x3B\xDA\x24\xE2\x52\xE1\xCB\xD9\xE1\xC2\x55\xE1\xF3\xC8\x6B\xDC\xA8\xAC\xD4\xE6\x84\xD0\xDF\xE1\x6C\xCF\x26\xDD\xD8\xDB\xDC\xE6\xA2\xDC\xDE\xE6\x67\xDD\xE0\xE6\x2D\xDD\xE2\xE6\x64\xDC\x2B\xD6\x61\xDB\x27\x8F\x7E\xDC\xEC\xE2\x34\xA0\x0D\xC9\x9C\xCE\x0F\xC9\x1D\xDB\x8D\xD6\x15\xE7\x97\xD0\xBC\xE6\x13\xDD\x02\xE7\x7E\xE6\xD7\xD7\x14\xE3\xAC\xE2\xDF\xDC\x35\xE2\x2B\xDD\x1F\xE7\x69\xDD\x1C\xDC\xDA\xE1\x98\xDC\x82\x5E\x53\xC6\x92\xE6\x01\xE7\x7D\xE6\x1C\xBD\xF1\xE6\x22\xDA\xF3\xE6\x4E\xCF\x48\xE2\x95\xD5\x0D\xE2\x91\xD9\x1C\xE3\x3D\x8A\xCC\xE1\x41\xE7\x30\xE6\x94\xE0\x05\xE2\x99\xDA\xD2\xE1\xF0\xD5\x09\xE2\xF2\xD5\xF5\xE6\x5A\xD9\xB3\xE6\xA1\xE6\xF8\xDA\x2A\xDA\xBD\x9B\x3A\xA5\x2E\xE7\xCE\xD0\x70\xA2\x31\xE7\x43\xE7\x86\xBE\xF7\xDD\xAF\xE1\xF9\xDD\x9A\xE0\xFB\xDD\x9C\xE0\xFD\xDD\xC8\xE6\x6A\xE1\xF8\xDC\x81\xC6\xB9\xBE\xEE\xE1\x41\xDA\x8F\x5B\x42\xE7\xD5\xD7\x33\xE7\xEE\xDC\x44\xE2\xDC\xD5\xED\xE0\xC4\xDD\xEF\xE0\xC6\xD9\x86\xE6\xA1\xDA\x01\x72\x53\xDA\xD6\x89\x3E\xA6\x61\xE7\xDF\xD0\x63\xE7\x96\xE6\x71\xDB\x98\xE6\x19\xE7\xA0\xDC\x1B\xE7\x3F\xDD\x38\xE7\x41\xDD\x39\xE6\x34\xE1\x21\xE7\xF7\xDC\x00\xDE\x94\xE6\xCD\xCF\x13\xE2\xEF\xD6\x42\xBB\x86\xE7\x2B\xD7\x25\xCE\x64\xE7\x77\xE7\x44\xE7\x6A\xE2\xC1\xCD\xD4\xE0\x8D\xD9\x7E\xE7\x9F\xDA\x80\xE7\x35\xDC\xA2\xE6\x8F\xDA\x56\x59\x56\xCF\x65\xAB\x9C\xE7\xE3\xDA\xA8\xE6\xBD\xE6\x02\xE1\x03\xE7\x04\xE1\x05\xE7\x17\xDC\x8A\xBD\x49\xE7\xE4\xD9\xA8\xE7\xBA\xDC\x0F\xE2\x25\xA8\x20\xDD\x41\xA8\x85\xE7\x76\xE7\xEC\xDC\x78\xE7\x13\xE3\x7A\xE7\x17\xDD\x6C\xE2\x19\xDD\x08\xE1\x1A\xDC\xA0\xE6\x3C\xE7\xAA\xE7\xE1\xDA\x6D\xDD\x08\xCE\x88\x80\x44\x90\xFB\xAF\xAF\xE7\xD2\xDC\x71\xD1\xA9\xE6\x46\xE1\xAB\xE6\x99\xE6\xB2\xE0\xAE\xE6\xB4\xE0\xB0\xE6\xB6\xE0\xF4\xDB\x1A\xE3\xB9\xE0\x4D\xE7\x0B\xC6\xBA\xDA\x64\xE2\x2D\xE7\xC2\xE7\x11\xE3\xC4\xE7\xC0\xE6\xDF\xD9\x98\xB5\xE1\xD9\xF4\xE6\xA6\xE7\x33\xDC\xBB\xE7\xC8\xDD\xBD\xE7\xB5\xD5\x21\xCC\xA0\xCF\x76\xE2\xB9\xE6\xE9\xE7\xBE\xE6\xEB\xE7\x04\xE7\x35\xBA\x47\xE7\x0E\xD7\xE3\xD9\x10\xD7\x1C\xDD\x12\xD7\xF9\xE6\xEC\xAD\xF9\xDC\x3E\xDA\x47\xAD\x81\xD9\xD5\xE7\xE7\xCE\xC1\xE2\x2E\xE2\x47\xD7\x42\xE2\x34\xE7\xC6\xE7\x7D\xE2\x00\xE8\x24\xDA\x59\xE7\x29\xDB\xF7\xE6\x2B\xDB\x06\xE8\xE6\xDD\x7B\xD7\x2F\xDB\x24\xC4\x72\xCA\x89\xDD\xB5\xD7\xED\xE6\x51\xE7\xE8\xE0\x32\xE6\x8F\xDD\xC6\xE2\xDE\xDD\xC8\xE2\xE0\xDD\xCA\xE2\x95\xDD\x19\xE8\x97\xDD\x1B\xE8\x4A\x96\x9A\xDD\x87\xA2\x48\xBE\x56\xC6\x63\xDB\x58\xC6\x0B\xE8\xFB\xE7\xB3\xE7\xFD\xE7\xB5\xE7\xFF\xE7\xC8\xE7\xF0\xE7\x50\xE6\x7F\xE7\x2E\xE8\xE4\xDD\x30\xE8\xF6\xCF\x0E\xD0\x84\xDD\xAF\xD7\xE3\xAC\x32\xDB\xEF\xE2\x6C\xB1\xFF\xE6\x81\x6C\x0C\xE8\xFA\xCE\x0E\xE8\xA8\xE2\x10\xE8\xAA\xE2\x67\xE6\x36\xE7\x1E\xE2\x90\xE7\x32\xE1\x92\xE7\x7F\xE1\x94\xE7\x2F\xDD\x88\xC1\xD0\xE2\xAE\x93\xF4\xE2\x75\xC4\xD0\xBB\x9E\xDD\x6F\xC6\x38\xE8\x24\xE8\x04\xE2\x26\xE8\xEA\xE0\xDD\xDD\xEC\xE0\x4E\xE6\x7D\xE7\x40\xE8\xA7", +"\xE7\x42\xE8\x0B\xE1\x44\xE8\x4A\xA9\x48\xDB\xB7\xE2\x2A\xCC\x6B\x86\x94\xBE\xD5\xE2\x7A\xB0\x2D\xB9\x98\xBE\x00\xAD\x23\xE8\x62\xE6\x13\xC8\x64\xE6\x77\xE1\xDA\xE6\x2E\xE1\x8E\xE7\x30\xE1\x58\xE8\xE6\xE1\x5A\xE8\xC8\xE1\x5C\xE8\x45\xDD\x6C\xDD\x08\xE8\x97\xE7\xBB\x7D\x02\xDE\xC4\xAB\x22\xE3\xE9\xDD\xA4\xCA\x87\xC6\x07\xDE\x89\xC6\x61\x79\x18\xBC\x6E\xD5\xB0\x83\x7D\xC1\x54\xE6\x4F\xB3\xBC\xE0\x39\xE1\x3F\xE6\x3B\xE1\x78\xC5\xA4\xE0\xCF\xCD\xA7\xE0\xA6\xB2\xF0\xBE\x9E\xE8\xBA\xE0\xF9\xD8\xBC\xBC\x3E\xE6\x58\xE6\x0A\xC8\x29\xC8\xA5\xE0\xEA\xCD\x8B\xC5\x5F\xE6\x4B\xE0\x00\x00\xAB\xE8\xE4\xE7\x6C\xD4\x19\xD9\xDE\xB6\x1B\xD9\x4E\xCE\xE1\xE0\xFD\xE5\x01\x01\xB9\xE8\xF5\xE7\xCE\xD5\x31\xD9\x9D\xC5\x33\xD9\x9F\xC5\xBB\xE2\xE8\x6F\xE6\xDB\xEB\xCC\xC3\xE8\xDA\xE0\x3E\xE7\x4B\xD9\x35\xB3\x5F\xDE\x09\x01\xCE\xE8\x3D\xE7\x53\xD7\x23\xE1\x9C\xE8\x1B\x5D\xD5\xE8\xF6\x6C\xA0\xE0\xB0\xE8\x9C\xD5\xCF\xE6\x0D\xC8\x16\xD6\x70\xC6\x64\x6A\xDB\xE8\x5D\xE7\x0E\xE7\xE5\xE6\x86\x85\x96\xD9\x60\xE8\x98\xD9\xD1\xD9\xFD\xE6\xB2\xC2\xCF\x90\x9D\xE8\x19\xC1\x9D\xB3\x7F\xDE\xE5\x88\x6D\xE1\xCA\xE8\x6F\xE1\xE3\xE8\x81\x6C\xE5\xE8\x51\xE1\x0A\xA4\x38\xDC\x5E\xD6\xE7\xE6\xCE\xCE\xFE\xC2\x13\xE7\x65\xC6\xB0\x66\xFB\xE8\xE8\xE2\xE4\xE6\xC7\xD7\x25\xE7\x72\xBA\xCC\xCE\x00\xE9\x60\xD6\x64\xE8\xF0\xD9\x79\xD6\xD3\xE8\x06\x01\x06\xE9\xB5\xE6\x62\xAB\xB8\xE1\xF5\xB3\x45\xE3\xD4\xE8\xF2\xE8\xF1\x85\x4F\xE7\x12\xE9\x03\x01\x14\xE9\xFF\xDD\x5E\xE7\x04\x77\xAA\xE8\x1B\xE9\x03\xC6\x86\xE2\x06\x93\x73\xE7\x11\xD8\x3F\x0A\x20\xE9\x52\xDA\x54\xB4\x54\xDA\xD2\xD4\x23\x96\x25\xE9\x5D\x90\xC6\xD6\x7B\xE8\x6E\xB4\x0A\xDF\x1F\xE9\x32\xE9\x42\xB8\x26\xE2\x9E\xC9\x19\xE9\x13\xE9\x39\xE9\x17\xAE\x15\xAC\x22\x90\x17\xBF\x2C\xE9\x9C\xE1\x30\xDD\xA5\xDA\x50\xE2\x14\xC7\xFA\xE8\x3F\xE9\xF5\xCE\x2E\xC6\x30\xC6\xA8\xC5\x21\xCB\xDA\xC9\xFA\xB2\x09\xDE\xF1\xC9\x07\xBE\xAA\xD2\x44\xE9\x5F\xDB\x96\xE7\xA7\xE6\x75\xE6\x2A\xD3\xA1\xE2\x36\xAE\x50\xE9\x1E\xDD\x8B\x8B\x9A\xE2\xA0\xE1\xC9\xCF\x9D\xE2\x87\xDD\x0F\xE9\x21\xE8\x45\x9D\x2B\xE9\x4B\xE9\xFD\xC5\x2B\xE6\x33\xE8\xB9\xE2\xD5\xB8\xF9\xE0\x84\xDC\x95\xA5\xF9\xE8\x4D\x6D\x57\xE9\x6F\xE6\xB2\xDD\x35\x69\xE6\xBB\xCD\xCE\x5D\xC4\x9B\xD7\x59\xCA\x5E\xE9\x1A\xE9\x51\xE9\xC9\x81\x5F\xE8\x90\x9E\x23\xBA\x4B\xDB\x71\xE9\xD6\xE2\x65\xE8\x54\xDC\x86\xD1\x76\xE9\xE3\xE6\x04\xE3\x46\xE8\x76\xE8\x81\xDB\x7D\xD8\xEB\xDD\x68\xB7\x0A\xE3\x5B\x61\x38\xE9\x81\xE9\xCC\x2B\x34\xE9\xC6\xA9\x92\xE8\x7F\xD4\x27\xE3\x48\xD0\x82\xDB\x97\xE8\x6A\xD5\x99\xE8\x2B\x86\x8B\xC6\x0D\x0E\x2A\xC1\xA6\xB1\xC0\x95\xA4\xAC\x24\x39\x60\xC1\xA4\xC8\x03\x5B\x51\x32\x0A\xD9\xA7\x59\xB7\x5D\x84\x0E\xA7\xE9\xFF\xD7\x3B\xC1\xDF\xD8\xA7\x59\xAC\xE9\xC3\xAA\x0C\x8D\x14\x39\x12\xC1\xC4\x5A\x8E\x0E\xB4\xE9\x77\xE8\x5D\xC1\x57\xE6\x1F\x72\xB9\xE9\x21\x10\x8A\x03\x61\xCB\x3D\xE3\xF9\x83\x05\xC1\x03\x00\x19\x63\x27\xCB\xEB\x83\x7D\xA9\x84\xD2\x1E\x5F\x1B\x96\x98\xB3\x33\x00\x4F\xD4\x56\x5D\x41\x64\x01\x00\x44\x5B\x11\x0F\x3F\x00\x49\xD3\x01\x01\xDC\xE9\x22\x5F\x57\xCB\x1B\x06\x37\x32\x7A\x6C\x5B\xCB\xA0\x0E\x95\x5B\xB8\x74\x50\xC3\x5F\xCB\x40\x6D\x26\xE6\xF4\xCC\xCC\xE9\x48\xCB\xCE\xE9\x87\xE0\x28\xD4\xD2\x7E\xD3\xE9\xD3\x5C\xD6\xE9\x2B\x5E\xD8\xE9\xDA\xE9\x27\x01\xDF\xE9\xAB\xD3\xFB\xE9\x91\x5F\xE1\xE9\x0A\x10\xE3\xE9\x8B\x6D\xE5\xE9\x1F\x0E\xE7\xE9\x70\xE4\x0C\xB0\xEA\xE9\x1D\x6D\xC9\xE9\xF7\x8C\xB9\xC1\x04\x00\x95\x5B\xD1\x64\x36\xCA\x78\x59\x21\x84\x05\xC1\xC8\x2E\xB9\xC6\x95\xE8\x63\x59\x14\xDF\x9C\x87\x51\x08\x70\xE0\x06\x01\xD6\x5A\x7D\xA9\xF4\xD0\x37\x8D\x38\x09\x17\xEA\xA1\xB2\x19\xEA\x24\x8C\x06\xE5\x8E\xCD\x8C\x01\x30\xB2\x7E\xE5\x66\xE0\x01\xCB\xB7\x5D\x76\xE4\x12\xCB\x64\x6A\xFE\xC4\x7A\xCB\xDE\xCB\xE2\x78\x69\x96\x91\xE0\xC5\xC4\x83\x87\xB9\xC1\xBB\xC1\x37\xE9\x32\x60\x1A\xCC\x20\x01\xC0\xC1\xB5\xC1\xDD\xCC\x1A\xD4\x94\xB8\x2E\xEA\x17\xC6\x4D\x6D\xB2\xCD\x87\xE5\xF1\xC4\xFF\x07\xB3\xC1\x36\xEA\x29\xCC\xFA\x83\x56\xA5\x3A\xEA\x3D\xE9\x03\x01\x47\xEA\xF2\xE4\x0A\x5B\xFF\x07\x3F\xEA\xD6\xC4\x4D\xEA\x29\xD3\xE5\xCC\x5A\x03\xCD\xE9\xEC\xC6\x5A\x5C\xCD\xD4\xB6\xCD\x48\xEA\x2D\xE0\xFF\x07\x0A\xEA\x13\x63\x56\xA5\x07\x00\x0E\xEA\x84\xD2\x82\xDD\x1C\xA2\x8E\x94\x87\x62\xFF\xCA\xE9", +"\xB1\x56\xA5\x08\x00\x69\xEA\xBD\x9D\x1D\xE8\x24\xEA\xB7\xC1\xE8\xC7\x5C\xE9\x28\x01\x73\xEA\xAC\xD8\x36\xCA\x55\x52\x1A\xE6\xCB\xD4\x0C\x37\xD4\xC6\xC4\x5A\x7A\x0A\x93\xD0\x2C\xE3\x0A\xE5\xAE\x41\xA1\x0B\x8A\x33\x94\xE3\xE7\xC6\x37\xE3\xCD\xD4\xDC\xD0\x56\x8C\x59\x3B\x65\xEA\xB1\xD8\x5C\x99\x0C\x03\x7B\xEA\xF1\xE9\x0F\xE5\xBF\x9D\xE2\x81\x22\x0B\x53\xB9\xB9\xC1\x1B\x32\x2A\xE6\x42\xB1\xA8\x54\x9C\xEA\x27\xE6\x0D\x00\x96\xEA\x9A\xC6\x15\xDB\x06\x6A\x86\x02\xA2\xEA\x79\xEA\x0E\x00\xA5\xEA\xA5\xC6\xA7\xEA\x0F\x6C\xA9\xEA\x70\xEA\xB9\xC1\x34\x58\x46\xC0\xED\xC0\x83\xE0\xB2\xEA\x27\xE6\x10\x00\xAD\xEA\x87\x87\xAF\xEA\x2C\xE7\x80\xDA\xA2\x3C\x37\xD8\x3E\x2F\xA2\xD5\x11\x0F\x11\x00\x5D\xEA\x15\x0E\x49\xCB\xF7\x02\xF9\xE9\x0E\xE0\xAB\xD3\x3E\xD1\xEA\xC2\x80\x5A\x44\xE0\x21\x8D\xBF\x0E\x25\x41\x4F\x9B\x1F\xDF\xD0\x0B\x41\x64\x48\xB2\x1F\xD4\x3A\xB2\xAB\xD3\xDA\xEA\x62\xEA\x51\x8D\x83\x5A\xD1\xEA\x2C\x0F\xD3\xEA\x48\xE8\x60\xE0\x3A\xE0\x15\xCC\x92\xEA\x07\xBC\x27\xE6\x13\x00\xBB\xEA\x6D\xE9\x3B\x5A\x59\x36\x9F\xCF\xC5\xE0\x06\xD8\x51\xEA\x02\x01\x84\xD3\x17\xC7\x94\xE5\xE0\x79\x96\xE5\x5B\xE4\x67\xDE\xEA\xDE\x5F\xD5\xD4\x9D\xA8\xD2\x65\xCC\xF4\xEA\x22\xC7\xA2\xE5\x21\xD8\xBB\xE5\xFC\xD1\x6E\xDE\xF2\xD6\x64\x6A\x00\xEB\xEB\xD4\x7C\xDE\xAC\xE5\xE4\xE5\x2F\xD8\xDB\xD4\xB1\xE5\xCE\xCB\x09\xEB\xF8\xD4\x1C\xCD\x3A\xD8\x1E\xCD\xAD\xE5\xD3\xE5\x4B\xD8\xF4\xD4\x1C\xE6\xDC\x5F\x12\xEB\x05\xD5\x29\xCD\xCF\xD2\x03\xEB\xDB\xD4\x01\xD5\x30\xE9\x01\x01\x1D\xEB\x11\xD5\xCF\xE5\xA5\xDE\x96\xDE\xD8\xD1\x8D\xD8\x58\xD8\x23\xD8\x5A\xD8\x1B\xEB\xE9\x65\x26\xEB\x1E\xD5\xDE\xCF\x47\xCD\xED\xE5\x3D\xD5\xC6\xE5\x8E\xD8\xC8\xE5\xE9\xD2\x06\xEB\x05\xD7\x3F\x0A\x32\xEB\x30\xD5\xDE\xCF\xD5\xCB\x21\xEB\x74\xD8\xE8\xE5\x11\xEB\x39\xD5\x61\xCD\xA4\xCC\x63\xCD\x43\xEB\x06\xD2\x83\xD8\x24\xEB\x00\x00\x3F\xEB\x0F\xD3\x28\xEB\x16\x5C\x8B\xD8\x3A\xCD\x04\xE6\x76\xDE\x3E\xD8\xFC\xE5\x4E\xEB\x50\xEB\x87\xC7\x78\xCC\x02\xE6\x55\xEB\xF4\xE8\x05\xE6\xD4\xE5\x5B\xB6\x83\xCD\x9A\xE5\x25\xEB\x1C\xD3\xD6\xE3\x0D\xE6\x47\xD5\x0F\xE6\x3E\xEB\xB8\xC7\x0D\x0E\x8B\xB6\xAB\xD8\x97\xEA\x4D\x6D\x5B\xEB\x51\xD5\xD8\xC6\x79\xEA\x47\xC7\x1B\x5D\x73\xEB\x57\xD5\xBD\xEA\x02\xDF\x7E\xB6\xE2\xCC\x67\xBF\x5B\xE4\xCB\xD8\x5A\xE1\x27\x01\x64\xD5\x0F\xE0\x96\xAB\xF2\xE1\x57\xE2\x1B\xE2\x55\xE8\xE1\xE2\x37\xE7\x37\xE6\x36\xE2\x8A\xE8\xE8\xE1\x8C\xE8\x36\xE1\xAF\xDB\x64\xCE\x20\xDC\xE0\xD8\x31\x96\xA5\xE8\x42\xE6\xE4\xD8\xD8\xC3\xE6\xD8\x64\xD9\xA0\xE8\x64\x6A\x84\xEB\xD1\xDF\x93\xE8\x0B\xAD\x17\xE7\x81\xCF\x6A\xE8\x28\xE8\x6C\xE8\x2A\xE8\x4F\xE6\x2C\xE8\xE2\xDD\x71\xE8\x4B\xE2\xAC\xE8\x55\xE6\xA1\xE8\xCA\xCD\x10\xD6\xA2\xE0\x98\xEB\x88\xC5\xA0\xD5\x8A\xC5\xE8\xC6\x03\xD9\x82\xEB\x09\x01\xA0\xEB\x8A\xE0\x03\xDE\x00\xAC\x87\xEB\x2C\xE1\x58\xE2\xDE\xD9\x5A\xE2\x55\xB0\x5C\xE2\xC4\xCE\xB0\xE2\x62\xDA\xCD\xE7\xE6\xE8\x58\xC8\xB6\xD5\xCD\xDB\xB8\xD5\xBF\xE8\xCB\xC6\x30\xD1\x14\xC2\xBD\xEB\x00\xE0\x46\xD0\x2A\xAD\x9F\xE7\xC3\xE7\xA1\xE7\x4C\xE6\x98\xE0\x69\xE7\xB1\xE1\x9B\xE0\xB2\xE6\x9D\xE0\x5C\xE7\xFC\xE8\xDB\xE0\xCF\xD5\xE3\xDB\xF7\xE0\xD2\xD5\xCC\xE8\xFB\xAF\xD5\xEB\x5F\xE0\x21\xE3\xA3\xEB\xC1\xEB\xA9\xE2\xC3\xEB\xAD\xB3\xED\xE7\xFC\xB7\xEF\xE7\x48\xE7\xCA\xE7\x1B\xDD\x4B\xE7\x1D\xDD\x03\xDA\xCD\x7A\xF9\xDB\x13\xCD\x3F\x0A\xEC\xEB\x1F\xE0\x02\xD8\xC2\x69\xD8\xE7\xA1\xCE\xD9\xE6\xDB\xE7\x94\xE1\xDD\xE7\x7B\xE1\xDF\xE7\x7D\xE1\x8F\xEB\x22\xE2\x91\xEB\x81\xE1\x18\xCE\xEC\xC6\xB8\xE6\xFF\xE1\x01\x01\x01\xEC\x50\xE0\x29\xAD\xCC\x68\x05\xEC\x60\xDD\x83\xE8\x08\xEC\xC2\xE1\x0A\xEC\x96\xE1\x6A\xE7\x98\xE1\x6C\xE7\x68\xE1\x6E\xE7\xDA\x87\x0E\xD6\xB4\x91\x96\xEB\xF4\xCA\x30\xC1\x23\xDC\x15\xD6\x25\xDC\x81\xD9\x17\xEC\x1E\xD1\x4D\xAD\xD8\xEB\x89\xE7\x49\xE6\xD3\xD8\x27\xE8\xAE\xE1\xC7\xE2\xDE\xEB\xC9\xE2\xE0\xEB\x19\xE3\xCC\xE7\x0A\xDD\xC4\xE8\x93\xD9\xBB\xC8\xEA\xE8\x84\xE9\x87\xE1\xA2\xE1\x2A\xE7\xEF\xE8\xC4\xC8\xE9\x65\x31\xEC\x3F\xD1\x26\xE3\x04\xEC\xB2\xE7\x68\xE2\x28\xCE\xDC\xEB\x6B\xE2\x46\xE2\x56\xD6\xAB\xEB\x51\xE6\xAD\xEB\x53\xE6\x73\xE8\x85\x7E\x6C\xE1\x72\xCA\x70\xE1\xD5\xD9\x40\x9A\xB2\xCA\x2A\x84\xD0\xE1\x54\xE7\x07\xE2\x28\xD9\x57\xE7\x2A\xD9\x17\xE8\x85\xE6\x59\xEC\x87\xE6\xCC\xEB\xEF\xC8\x0F", +"\xE7\x57\xBA\x76\xD6\x0C\xC9\x82\xCE\x48\xEC\x56\x59\x8B\xE1\x60\xEC\x4C\xEC\x74\xAA\xD7\xEB\x1A\xEC\x50\xEC\xCE\xD6\xA2\xD7\x45\xE7\x91\xE2\x15\xE8\x7F\xE2\xF1\xE7\xC6\xDD\xF3\xE7\xD9\xE0\xD6\xE8\x5A\x76\xCA\xCE\x0B\xE9\x85\xE1\xEB\xE8\x46\xEC\xED\xE8\xB7\xBB\x11\x0E\xA5\xE1\x44\xCF\x79\xEC\xE2\xAC\x7B\xEC\x4F\xEC\xD9\xEB\xEA\xE7\xDB\xEB\x55\xE7\x54\xD6\x55\xEC\x8F\xD7\x3D\xEC\xE1\xE7\x3F\xEC\x1B\xE3\x41\xEC\xF8\xDB\x17\xE9\x25\xC9\x78\xC8\x83\xEB\x62\xEC\x86\xEB\x40\xE2\x53\xE8\xF2\xEB\x90\xB4\xF4\xEB\x06\xE7\x6B\xC4\x27\xDB\x6D\xC4\x11\xDB\x58\xC4\x7A\xB7\x0B\xAE\x1D\xE9\xA7\xEC\xBC\xEB\xA9\xEC\xC5\xAB\xF0\xEB\xAC\xEC\x89\xEB\xC4\xEB\x68\xE6\xC6\xEB\x6A\xE6\x5D\xE2\x6C\xE6\x69\xC3\x10\xEC\xCA\xE1\xC1\xA7\xBD\xDC\xAD\xE8\x81\x6C\x94\xEC\x61\xBE\x03\xEC\xE9\x71\x1B\xEC\xD8\xE6\x1D\xEC\x8C\xE7\x49\xE1\x86\xE8\x4B\xE1\x1D\xE7\x4D\xE1\x3A\xE7\x4F\xE1\xE3\xEB\x07\xE9\x46\xE9\x72\xE7\xD4\xDC\x3E\xB4\xD6\xDC\x61\xEC\x85\xEB\xBC\xEC\xAB\xEC\xCF\xE0\x11\xE8\x79\xE7\x80\xE6\xA9\xD9\x82\xE6\xFE\xA8\x84\xE6\x09\xE1\x6C\xEC\x81\xE7\xDC\xBA\x83\xE7\xBA\xD0\x15\xEC\xE3\xEC\xA1\xEB\x9D\xE9\x97\xEC\x35\xEC\xEF\xE6\xB4\xE7\x90\xE2\xB6\xE7\x06\xE1\xB8\xE7\xF8\xEB\x49\xE2\xF0\xEC\xA9\xE7\x6E\xEC\x10\xE2\xD0\xE7\x2F\xE7\xE6\xAC\x36\xE9\x65\xAB\xCD\xEC\xD2\xE2\xCF\xEC\x52\x72\xD1\xEC\xED\xD7\x18\xE7\x33\xE6\x1A\xE7\x33\xE2\xDD\xE6\x88\xE8\x20\xE2\x0E\xEC\x38\xE2\xC7\xEC\xEA\xE1\xBE\xE7\x7C\xDA\xCC\x98\x8D\xD6\x0C\xED\x0E\xAB\xA3\xE9\x91\xAA\xFA\xEC\x32\xE7\x9A\xEC\x66\xEC\x56\xD9\xA4\xE7\x31\xDC\x84\xEC\xD7\xE0\x86\xEC\xF2\xE0\x5B\xEC\x3F\xA8\xAD\xC3\x3E\xA6\x21\xED\xE3\xEA\xEE\xEB\xED\xAC\xA4\xEB\xA1\xD7\x8F\xD5\xA2\xE7\x1A\xE1\x2A\xED\x1C\xE1\x2C\xED\x1E\xE1\x2E\xED\x20\xE1\x30\xED\x85\xE2\x68\xD7\x0C\x8E\x48\xE9\x93\xEC\xBB\xEC\x37\xAC\x64\xEC\x4B\xE6\x9B\xEC\x8D\xD7\x9D\xEC\x9D\xDA\x3F\xED\xD7\xE1\x41\xED\xD9\xE1\xCE\xE7\xC1\xA7\x4D\xE9\x1A\x7C\x34\xED\x6A\xD0\x33\xEC\x7C\xEC\x98\xEC\xFC\xE7\x27\xED\xD2\xE0\x08\xE2\x3D\xED\xD5\xE1\x51\xED\x0C\xE2\x53\xED\x0E\xE2\xCF\xE8\xD7\xE8\xEF\xEA\xCE\xDA\x55\xE9\x50\xBC\x59\xED\xBF\xD0\xAA\xEC\x67\xE2\x7E\xEC\x3A\xED\x53\xEC\xA3\xE7\x7C\xE7\xD5\xE0\x64\xED\x6F\xE2\xE2\xE7\x71\xE2\xBA\xE8\x77\xCF\x07\xED\x62\xE7\x45\xC8\x88\xE2\xF7\xC8\xF6\xEC\xBE\xEB\xA2\xEB\x37\xED\xBD\xEC\xE7\xEC\x54\xE8\xC0\xEC\x56\xE8\x16\xE3\xD8\xEC\x66\xE1\x24\xEC\x9A\xE1\x26\xEC\x58\xE9\xE1\xD7\x5B\xD2\xC2\x94\xE4\xD7\x14\x0E\x1F\xE8\x88\xDD\xA8\xAC\x6E\xED\xD1\xD0\xF8\xEC\xD0\xEC\x7D\xEC\x95\xE0\xCF\xD6\x80\xEC\xFE\xEC\x92\xE2\x07\xE1\x6A\xEC\xEF\xEC\x96\xE2\xB5\xE1\x43\xED\xCF\xE2\x7B\xEB\x96\xED\x4A\xAE\x9A\xBB\xC5\xAC\x35\xE8\x54\x82\xBD\xE2\x22\xE8\xA8\xEC\xE4\xEC\x4A\xED\x38\xED\x2C\xDC\x06\xE2\x60\xED\x67\xEC\x62\xED\x0A\xE2\x78\xED\x81\xE2\xA8\xED\x83\xE2\xAA\xED\x1D\xAD\xE7\xDD\xB4\xBB\xD3\x78\x56\xCA\x8E\xE6\x98\xE7\xE7\xAC\x9A\xED\x49\xED\xEF\xEB\xE6\xEC\xAB\xE1\xE8\xEC\xC5\xE7\xEA\xEC\xE0\xD9\xEC\xEC\xD3\xAB\xEE\xEC\xCB\xE7\x5B\xE7\xCB\xEB\xE4\xEB\xB4\xE2\x8F\xE9\x73\xC4\x61\xE8\x86\xE9\x7A\xE8\x49\xB1\x79\xC4\xB4\xED\xBA\xEC\xB6\xED\xCE\xED\x71\xED\xA0\xED\x7F\xEC\x3B\xED\x45\xE2\x68\xEC\x47\xE2\x01\xED\x4A\xE7\x66\xED\x4C\xE7\xA3\xEC\xCA\xDD\xC5\xED\x92\xBE\xE8\xBB\x91\xC4\xEC\xDD\x7D\xE8\x67\xAE\x00\xEC\xCD\xED\x86\xED\xCF\xED\xC3\xE2\xD1\xED\xEC\xE7\xC5\xEB\xD0\xB0\xC3\xEC\xC8\xEB\xDA\xEC\xFB\xE1\x1B\xED\x46\xDB\x8E\xE8\x71\xE7\x01\xDE\x7F\xDB\x23\xED\x5F\xBA\x12\x74\x4A\xD0\x96\xEC\x37\x9A\x45\xCB\x14\x00\xBB\xEA\xC9\x5A\x0B\x5A\x4C\x41\x94\x5A\xE9\xDA\x67\xD3\x17\x45\x59\x2F\x78\x8D\x6F\x47\x7A\x8D\x59\x8D\xCB\x5A\x19\xEE\x68\xD3\x06\x41\x18\xEA\x1C\xEE\x46\x52\x26\xEE\x54\x9C\x8A\xE5\xBB\xD9\xA1\xD8\x2B\xEE\x29\xEA\xE5\xE3\x8D\xDF\xFA\xC6\xC9\xC1\x70\x05\xC6\xEA\x97\xE5\xC7\x51\x15\x00\x37\xEE\xE8\xC6\x0E\x64\x16\x00\x3B\xEE\x8D\xE0\x45\xCB\x19\x00\x17\xEE\x81\xBB\x1A\x09\x37\x5A\x94\xDA\x81\xDA\x34\x5A\x62\x01\x20\xEE\xC8\x51\xCA\xEA\x1A\x06\x23\xEE\xCA\x5A\x36\x5A\x93\x3F\x6C\xDA\x6E\xDB\x49\xEE\x6C\x00\xB8\x0A\x95\x5B\x58\xDA\x1A\x3B\x7C\x8C\x76\x0C\x90\x3F\x09\xD9\x0C\x8C\x99\xC4\x38\x59\xC0\x2F\xB8\xEA\xF4\xCC\x1A\x00\x3F\xEE\x15\xDF\x7A\xA9\xE1\x6D\x4D\xEE\x03\x01\x8F\x00\xDD\xE9\x00\x00\x6C\xEE\x0C", +"\xCC\xE5\xB5\xB9\x36\x30\xB2\xAE\x52\x5B\xD3\x3B\x0E\x1B\x00\x6A\xEE\x02\x01\x51\xD3\x94\xD3\x09\x01\x7A\xEE\x32\xEA\xB2\x8C\x72\xEE\x16\x5B\x74\xEE\xC9\x05\xE8\xCC\xC4\x5A\x0B\xDE\xE7\xEA\xBB\xD8\x5D\x0F\x8B\xB6\x28\xDE\x7E\x96\xB0\xCD\x42\x41\x66\xEE\x9C\x95\x05\xC1\x1D\x00\x43\xEE\xA6\xB1\x50\x5A\x80\x8D\xD9\x57\x43\x05\x1B\xEA\x70\x06\x78\xEE\x8C\x05\x4F\xEE\xB5\xB5\x95\xEE\x28\xEE\xEE\xC7\x37\x40\x8F\x3B\xB3\x08\x0B\x00\x86\x62\x39\xDF\x8F\x3B\x30\xB2\xA1\xEA\x87\xEE\xCA\xC6\x3F\xE3\x8F\x64\x8F\xEE\x55\xD0\x27\x01\x62\x96\xEB\xCC\x7C\xE0\xFF\xE4\xA0\x43\xA5\x0C\x3F\x0A\x09\x00\x10\xDF\x57\x9A\x7C\xD1\x38\xEA\x27\xE6\x20\x00\x05\xEA\xDC\x5F\xB4\xEE\x1B\xE5\x9B\xA9\x8F\x42\x74\x00\xEC\xEA\xCF\x4A\x9F\x42\x42\xE3\x52\xC5\x19\x8C\xE0\x83\x3F\x0A\xC1\x63\x4A\x95\x43\x8D\x02\xCB\x45\xCB\x21\x00\x93\xEE\xD8\xD9\x9D\x3C\x5B\x59\xA0\xEE\x09\x8C\x9B\xE3\x53\x3E\x4B\xEE\x1D\xEA\x84\xD2\x1F\xEA\x50\xDB\x03\x0B\x53\x3E\x1B\xEE\xA1\xEE\x15\x16\xF3\x28\x84\x8D\x31\xE4\xCA\xE3\x31\xEE\x08\xE5\x8D\xE5\xAB\xEE\x81\xD2\xDC\xB1\x22\x00\xAF\xEE\x6C\x8D\x2D\xE6\xCB\x5A\x86\xD1\x16\xC1\x02\xE3\x8E\xC2\x28\xEC\xDA\x91\x2A\xEC\x1F\xC0\xB5\xEB\xD9\xA2\xAA\xB6\xA6\xC8\x34\xBC\x6E\xAE\xDC\x5F\xF7\xEE\x09\xEE\x0C\xA0\xFA\xEE\x91\x92\xFC\xEE\xF6\xC0\xFE\xEE\xC1\xE0\x5C\xE6\x9E\xCF\x68\xEB\xBA\xEB\x69\xE9\xA6\xE9\x60\xE2\x3F\xB1\x57\xDD\x08\x0E\xE6\x96\xD0\xEB\x64\xBC\xBA\xD5\x2D\xC2\x7F\xE9\x15\x0E\x92\xAD\x0C\xE7\x3A\xE2\x89\xE6\x08\x0E\x1A\xCE\xF1\x03\x2D\x92\xDF\xE0\xFE\xB6\xC6\x9F\xC1\xE8\x3C\x0E\x1F\xEF\xB9\xC8\xA6\xC5\xA4\xE6\x3F\xBF\x05\xEF\x91\xED\x77\xE9\xB6\xE6\xC5\x95\xA8\xE0\xCE\x5A\xF6\xEE\x2C\xEF\x8D\xB9\x08\xEF\xAA\xE9\x0A\xEF\xBF\xCA\x3C\xE1\x7E\xD9\x58\xAF\xD1\xE6\x3F\xDC\x9C\x6C\x24\x59\x39\xEF\x13\xDB\xBF\xC5\x43\xEC\x7E\xCE\x63\xE9\xEC\xD9\x47\xEC\x52\xDC\x98\x97\x04\xE9\x64\x6A\x31\xEF\xDC\xEC\x15\xE9\x12\xEC\x8C\xDE\x9F\xB3\x9B\xD7\x5F\xEC\x7B\xAE\x5D\x0F\x46\xEF\x07\xB9\xCF\xAD\xFE\xE8\x6C\x0D\xCE\xD9\xAE\xD7\xE9\xC5\x25\xBA\xEE\xE8\x76\xEC\xCF\x90\xF1\x0A\x45\xEF\x14\xEF\x58\xB8\x3A\xE1\x24\xE7\x28\xBD\xD2\xAD\x0D\xE9\x3C\xDC\x4B\xE8\x85\xDC\x6D\xDB\xCE\xCB\x52\xEF\xDA\xED\xDD\xEC\xE4\xD5\x11\x0E\x24\xC9\xF0\xBE\x76\xEF\x40\xEC\x68\xED\xDB\xA0\x7E\xE3\x72\x93\x2A\xEF\x7D\xEF\xA2\xEC\x7F\xEF\xAA\x6C\xCA\xEC\xFA\xDA\x5B\x0E\x5C\xEF\x42\xB7\x01\xAE\x7E\xED\x87\xE7\xC8\xBA\xB3\x7B\x45\xB0\x77\xE4\x1E\xEF\x6A\xEF\xA8\xE3\x12\xEF\x11\x0E\x8B\xEF\x03\xB8\x8D\xEF\x8F\xE8\x5A\xE9\x93\xC4\x88\xC9\xA8\xD1\xAA\xD2\x84\xEF\xE3\xE7\xF3\xED\xB9\xDA\x0D\xDD\x27\xE2\x75\xEF\x99\xEF\x57\xB8\xF7\x85\x15\xD7\x21\xDD\xE0\xC5\xB0\x66\xA2\xEF\x7B\xED\xA4\xEF\x02\xC6\x4E\xE2\xF9\xCF\x47\xED\x9F\xE5\x98\xEF\x6A\xEF\xAB\xEF\x41\xD7\xDA\xB0\xA1\xEF\xA9\xEF\x4F\xAF\xF3\xE8\xF7\xE7\x55\xD7\xF9\xE7\x1C\x9B\x8A\xEF\xB9\xEF\xB4\xB4\x27\xE9\x79\xA0\x6A\xD7\x96\xE9\x56\x59\xBE\xEF\xAA\xB9\xF7\xC5\xC7\xEE\x00\xE9\x98\xED\x67\xE9\x67\xEF\x1B\x5D\xB0\xEF\x97\xE2\x7C\xED\x45\xE8\xFA\xDA\x99\xEA\x90\xE9\x99\xBB\x18\xDB\xB0\xED\x1A\xDB\x11\xA9\x68\xEF\xCC\xEF\xC6\xEF\x43\xC6\x05\xE3\x2F\xDB\x7C\xE9\x0F\xE9\x7E\xE9\x3B\x68\x69\xEF\xCE\xDC\x61\xE2\xE9\xE2\x79\xE9\xB4\xDD\x27\xE7\xCE\xDD\x63\xE8\x72\xEF\x14\xD0\xB4\xD7\xEB\xEF\xE3\xEF\xED\xEF\x15\xEF\xEF\xEF\xE4\xAA\xF1\xEF\xF6\xED\x65\xDB\x93\xE9\x80\xB7\x95\xE9\xD2\x6A\xC5\xEF\xFA\xEF\x6B\xEF\xB1\xCF\x8E\xEF\x9D\xE7\xAE\x74\x0E\xEE\x0E\xED\xC6\x8B\xA3\xCA\xCC\xB1\x88\xC6\x0D\xF0\xB8\x59\x05\xC1\x9F\x3D\x05\x6E\xC8\xEA\x72\x22\x9B\xEE\xBD\x8F\x1B\x96\xF9\xAE\x34\x00\xF6\xE9\x15\x73\x41\x64\x26\x00\x19\xF0\x4A\x00\x6D\xEE\x23\xF0\xE0\x5D\xFF\xE9\x15\x09\x01\xEA\xED\x6C\x03\xEA\x01\x01\x23\x00\xC0\xEE\xCE\xA9\xB4\xB3\x08\xEA\xD8\x6F\xEC\xE9\xC4\xE0\x15\xF0\xD9\x64\x17\xF0\x1D\x2C\x19\xF0\x26\x62\x1B\xF0\x9F\x5D\x1E\xF0\x76\x73\x20\xF0\x22\xF0\x24\xF0\x9F\x5D\x27\xF0\x57\x09\x29\xF0\x3C\x6D\x2B\xF0\x00\x00\x2D\xF0\xB5\xD4\x48\xB5\x31\xF0\xB3\x70\x63\xB2\x8E\xB6\x55\xCB\x8A\xAD\xB5\xB5\xA9\xE9\x66\x97\xAA\x6F\xC5\xE9\x8E\x11\x8A\x39\x75\x39\xD0\xCD\x54\xCB\x2E\xF0\x97\xA5\xC2\xE9\xB7\xE9\x9E\x43\x56\xF0\xD6\x8C\x53\x00\xE0\x23\x75\x39\xA2\x9F\x40\x06\x50\xF0\xB6\xBE\x52\xF0\x4C\xC1\x1D\x6D\xB9\xE9\x5D\x0E\xC3\x43\x59", +"\xF0\xC4\x5A\x8D\x06\x68\xF0\x2F\xEA\x23\x91\x5E\xF0\x95\xEB\x55\xF0\x59\xE6\x3C\x01\x65\x9C\xBE\x08\x65\xF0\xEE\xEE\xDB\x7D\x05\xC1\x29\x00\xD5\xEE\xDD\xCB\x54\x51\xD5\xC1\x6D\xEA\x2D\x13\xAD\x2C\xFF\x00\xDF\x0E\x35\x63\x19\xF0\x71\xB2\x37\x8D\x7A\x59\x2D\x08\xFD\xCA\xD0\x61\x61\x3F\x69\xE5\x9A\xE3\xF1\x3C\x2D\x08\x7C\x8C\xB7\x0C\x14\x2D\x2C\xE0\x3E\xE5\x23\x07\x56\x64\x8C\xF0\x95\x8C\x34\xB6\x85\xF0\xFB\x94\x25\x42\xCE\x39\x86\xE5\xC0\x91\xAD\x2C\x98\xF0\x2B\x08\x90\x48\x9B\xF0\x7A\xE5\xD6\xEA\x3B\x0E\x96\xB2\xE0\x83\xAE\xD0\x8E\xF0\x3B\xC5\x90\xF0\xA4\xD3\x87\x62\x93\xF0\xCB\xEA\x99\x6D\xA8\xF0\xA2\xDF\xAB\xF0\x5A\xED\x10\xE0\x89\x05\x41\x64\xDC\xEA\x1F\xD4\xB2\xF0\xA1\xF0\xB5\xF0\x86\xF0\x96\xF0\xFF\x0A\xB3\x08\xCD\xEA\x94\xC1\x16\x61\xBB\xF0\xDC\xE3\xC1\x0D\xCB\x0B\x35\xED\xD2\xDF\x41\xB2\x06\x01\x2D\x00\x19\xF0\x0D\x00\xA0\xF0\x70\xEE\x53\x05\xFF\x0A\x91\xF0\xB7\xF0\xA5\xF0\x46\x04\x10\xDF\x11\xEA\xA9\xF0\xFD\x0A\xBD\xF0\xC7\xF0\x18\x49\x40\x44\x41\x64\x2C\x00\x19\xF0\xB9\xEE\x02\xB6\xA5\xCB\x84\xF0\xC6\xF0\xA3\xF0\x0A\x4B\x55\x05\xB3\x08\xEC\xF0\x02\x73\xCE\xF0\x34\xE0\xD0\xF0\x0C\x08\x6E\xE0\x2B\x3E\x41\x64\x2E\x0E\xCD\xEE\xD9\xF0\x13\xCC\x1C\x20\xA2\xF0\xE5\xEE\xF2\xF0\x4A\x05\xB3\x08\x05\x00\xE1\xF0\x4D\x3F\xFF\x0A\xE3\xF0\x5C\x0C\xE5\xF0\xF1\xF0\xBF\x40\x41\x64\x2A\x00\x19\xF0\x35\xEA\xF7\xC4\xB3\xCB\xDB\xF0\x98\x0C\xDD\xF0\x87\xF0\xDF\xF0\x71\x3F\xA6\xEE\xC8\xF0\x98\x0C\x0C\xF1\x9E\x10\x0E\xF1\xEC\xD9\x1D\x56\x41\x64\x1A\xC1\x8F\xC1\x26\xF1\x99\xD3\xEE\xF0\x63\x51\x03\xF1\xDA\xEE\x1E\xF1\x76\x09\xB3\x08\x28\xF1\x71\xE3\xA4\xF0\x0B\xF1\xBC\xF0\x93\x08\xAC\xF0\x63\xE4\x9D\xF0\x12\x8D\x19\xF0\xEA\x6E\xB3\xF0\x02\xF1\xF0\xF0\x04\xF1\xB8\xF0\x06\x01\xE4\xBB\xF8\xF0\x1A\xF1\x34\xF1\xCF\xF0\x90\x0D\x6C\x06\x37\xF1\x4D\xE5\xAE\xF0\x58\x63\x19\xF0\xC2\xF0\x75\xE0\x16\xF1\x2A\x01\xDC\xF0\xB6\xF0\x45\xF1\x98\x0C\xB3\x08\x4F\xF1\x83\xE3\x92\xF0\x97\xF0\x35\xF1\x9A\xF0\xBE\xF0\x24\xB2\xAF\xF0\x19\xF0\xB0\xF0\x15\xF1\xC3\xCB\x24\x42\x2C\xF1\x29\x8C\x5A\xF1\xC9\xF0\x98\xB2\x66\x6E\xF7\xF0\xCC\xF0\xA8\x47\x22\xF1\x09\xAD\x74\xD1\x02\xE0\x41\x64\xD6\xF0\xE0\x83\x74\xF1\x63\xF1\xD1\xCB\x74\x51\x66\xF1\xB1\x66\xCD\xF0\x1B\xF1\x02\x01\x76\xF1\xBA\xF0\x5B\xF1\x47\xF1\x97\x0C\xD1\xF0\x54\xF1\x5A\x1B\x62\x46\xE9\xF0\x19\xF0\xEA\xF0\xED\xF0\x51\xF1\x00\x00\x7A\xF1\x11\xEA\xB3\x08\x8A\xF1\xF6\xF0\x81\xF1\x44\xF1\x83\xF1\xFA\xF0\x79\xE0\xFC\xF0\x2E\x64\x19\xF0\xFE\xF0\x77\xF1\x83\xF0\x2B\xF1\x3F\xF1\x2D\xF1\x33\xF1\x56\xF1\x27\x01\x9B\xF1\x80\xF1\x46\xF1\x94\xF1\xFE\x0A\xC2\x0D\x19\xF1\x86\xF1\x08\x45\x11\xF1\x19\xF0\x12\xF1\x8B\xF1\x64\xF1\x47\x05\x53\xF1\xE6\xF0\x05\xF1\x30\x01\xB3\x08\xAF\xF1\x92\xF1\xA6\xF1\x6D\xF1\xF9\xF0\x49\xF1\xD1\xC4\x59\xEA\x4D\xD0\x76\xC8\x06\x01\x4B\x49\x7E\xF0\x98\x95\x8F\xE5\x3F\xBF\x06\x00\x95\x5B\x94\xE3\x00\xEC\x58\xEE\x2F\xDA\xE4\x05\xF6\xEA\x8A\x7E\x2D\xEB\x2B\xEB\x66\xDE\x99\xE5\x74\xF0\x4D\x6D\xC8\xF1\x4C\xE5\x52\x8D\xA2\x07\xCB\xF1\xBD\xDA\x54\xEE\x14\x3B\x9D\xE5\x38\xCC\xE2\x83\x3F\x0A\xD7\xF1\x79\xE5\x61\xEE\x43\x08\xDB\xF1\xEA\xD8\xD9\xD9\x55\xEE\x02\xEB\x17\xEB\xF2\xD4\x19\xEB\xBE\x86\x31\xBF\x86\xD1\xE3\xF1\xDD\xEA\x6D\x3B\x4A\xEA\x83\xEB\xCC\xF1\xE9\xF1\x14\x3B\xAA\xE5\xB9\xD2\xB2\x9E\xEC\xF1\x9A\xDE\x59\xD8\xEE\x9D\xF8\xDE\xF1\xF1\xC9\xF1\xBE\xE4\x11\x02\xE7\xF1\x07\xD9\xF8\xF1\x1A\x3B\x88\xDE\x24\x42\x8A\xDE\x22\xE6\x56\xEF\x0E\xEB\x74\xD8\x40\xD8\xD3\xC5\xDC\x5F\xF2\xF1\x54\xEA\x5F\x8D\xF5\xF1\xBC\xEB\xF7\xF1\xBE\xDA\xEA\xF1\x94\xDE\x65\x90\x2A\xEB\x1C\xD2\x56\xEB\xC8\xDE\x06\xE6\x20\xD2\xF0\xF1\x1B\x5D\x14\xF2\x2F\xE5\xDC\xC4\xC0\x2F\x06\xF2\x21\xD9\x08\xF2\x09\xD9\x53\xD8\x1E\xF2\x09\xD5\x37\xEB\x61\xEB\xEE\xF1\xAB\xDE\x08\xD2\x02\xF2\xD8\xF1\x02\x20\x2A\xF2\x4F\xD9\x2C\xF2\xF2\x3A\xD8\xE5\xFA\xC2\xDA\xE5\x0D\xF2\xBD\xDE\x38\xEB\xD1\xF1\xD5\xDE\x3B\xEB\x9E\xE5\x1D\xEF\xD2\x06\x03\xF2\x2B\x5A\x29\xF2\xF6\xF1\xDC\xF1\x44\xDA\xC7\x41\xFA\xF1\x0F\x08\xE3\xE5\x7F\xD8\x49\xD2\xBF\xDE\xF5\xD2\x3C\xEB\x0F\xE5\xE2\xF1\x49\xF2\x28\xF2\xE6\xF1\x4C\xF2\xE8\xF1\x1A\xF2\xF9\xF1\xEB\xE5\xB6\xC0\x0D\xEB\xFA\xE5\x4C\xEB\x24\xF2\x13\xF2\x5A\xF2\x55\xEA\x4B\xF2\x18\xF2\x4D\xF2\xBF\xEA\x4F\xF2\x4F\xD2\x54", +"\xEB\xFC\xD4\x60\xEB\x57\xEB\xDE\xE5\x59\xEB\x03\xEF\xE9\x65\x26\xF2\x6A\xE5\x5B\xF2\xAF\x07\x39\xF2\x68\xD9\x3B\xF2\x45\x3B\x5D\xEB\x12\xD3\x36\xEB\x72\xD8\xD3\xDE\x04\xEB\x41\xD5\x9B\x9D\x3B\xEA\x50\x07\x68\xF2\x16\xF2\x6A\xF2\x06\x01\x40\xD3\x2B\xF2\x5F\xF2\x1A\x3B\xE7\xDE\x9C\x83\xC3\xD4\x78\xF2\x20\xE5\x49\xEA\x8C\xF2\x3F\xD3\x19\xF2\xDD\xF1\x91\xF2\x14\xE6\x08\xC0\x88\xF2\xB4\x08\x8A\xF2\x97\xF2\x5C\xF2\x6B\xF2\x5E\xF2\x9B\xF2\x09\xD9\x93\xEA\xFF\x00\x8B\x61\xDF\xC6\x36\xF2\xE4\xF1\xB1\x63\xA3\xF2\x8D\xF2\x9A\xF2\x4E\xF2\x93\x3F\x21\xE6\x03\xE6\xBC\xA9\x24\xE6\xEE\xC0\x75\xD2\x24\x59\x80\x54\xDB\xE3\xAF\xCD\xDC\xB1\x78\xD3\x8C\xEA\xC4\x5A\x31\x0B\x6F\xD3\x3D\xE3\xB7\x5D\x8A\x94\x61\xEA\x88\xEE\x3C\x0E\x44\xEA\x49\xE9\x4D\x6D\xD4\xC4\x79\xF2\x69\xF2\xAF\xF2\x1C\xF1\x4C\xEA\x29\xC5\xBD\xEE\x79\xEA\x50\xEA\x93\xEF\x81\xEA\xAD\xF2\xD9\xF1\x11\x02\x57\xEA\x69\xCC\xD8\xCC\x6A\xED\x31\x0B\xF2\xDE\xFB\xEA\x06\x08\x2F\x63\x9B\xEA\x5B\xE4\x0A\xC7\x26\x9F\xA5\xEE\x1E\x61\xE5\xF2\x90\xEE\x83\xEA\xDD\x01\x5C\xF0\xE1\xB1\x6B\xEA\x1A\x41\x2F\xDF\x97\xE4\x89\x06\x0E\xE5\xB0\xEB\x61\xE3\x62\x42\x89\xEA\x39\x3B\xAA\xEE\x34\xEE\x90\xE6\x29\x57\xF2\xEE\x27\xC1\xFE\xF2\x03\x01\x35\x00\x00\xF3\x78\xEA\xBD\xD1\x71\xE0\x0C\xC7\x03\xCB\x66\x34\x05\xF3\xC4\xF1\x29\x9C\x96\xEF\xA2\xE0\x77\x7D\x95\x5B\xD5\xEA\x6C\xE5\x4F\x55\x5F\xE5\x9F\xD0\xDB\xE4\x6A\xED\x54\xE5\xF2\xEA\x26\x06\x12\xF3\x3D\xDF\xD3\xDF\x7B\xDF\x16\xF3\x06\xE0\x61\xE5\x7C\xE3\x25\x9C\x35\xEE\x98\x91\x0C\xF3\x0D\xF3\x2C\xEA\xB9\xC1\x38\x00\xEB\xEA\x29\x96\x5E\x41\xC6\xD8\x87\x41\x75\x05\xC3\xEA\x27\x01\x39\x00\x82\xF0\x47\xC6\xE1\x0B\x15\x5A\xD9\xEE\x22\xDE\x71\xB4\x65\x9A\x99\xEE\x79\x8D\x44\xB2\xE0\xEE\xCF\x5A\x14\x5A\x21\x57\x5D\x8D\x73\xD3\x53\xB3\xF1\x0B\xE8\xEE\x01\xF1\xB2\x8C\xF1\x0B\xEB\xEE\x8C\xE5\xB4\xE3\x29\xF3\xC2\x74\x56\xA5\x3A\x00\x2D\xF3\x74\xC4\x1D\x57\x55\x45\x30\xF3\x15\x16\xC8\xD8\x54\xD7\xFF\x00\xC7\x51\x95\xF2\x6A\xED\x5F\xEA\x09\xE6\x4C\xEE\x37\xF2\x64\xEA\x50\xF3\x60\xD5\x05\xC1\x3B\x00\x66\xEE\x4B\xEE\x73\xE5\xF2\xE9\x71\x86\x7D\xB2\x12\x77\xD8\xE4\x28\xDC\x59\x36\x4D\xF3\x22\xF3\x02\xE0\xA8\xE4\xEE\xEE\x35\xEF\x01\x01\x46\xDE\xFF\x9D\x48\xDE\x8D\x05\x65\x57\x3C\xDE\xCE\x09\x67\x57\x4E\xDE\xB3\x9D\x51\xDE\x14\x01\x53\xDE\x6B\x57\x40\x42\x32\x03\x5B\xDE\xF5\xE0\xAD\xA7\x20\xDE\x45\xF3\x74\x51\xD6\x64\x24\xDE\x65\xF3\xEC\xC6\x11\x0F\x3C\x00\x69\xF3\x3E\xF3\x21\xEE\x40\xF3\x6D\xEE\x7C\xE5\x1B\x7F\x22\x0B\x73\xF3\xE8\xE4\xD3\xE3\x76\xF3\x96\xC6\x45\xCB\x3D\x00\x36\xF3\xBE\xC8\x22\x3E\x8E\xF3\x9B\xA9\x2B\xE5\xA5\x0C\xDD\xEE\x3F\x9A\x41\xF3\x3A\xE3\xA7\xF3\x80\x8D\x91\x54\x49\xF3\x9E\xE4\x4B\x27\xA5\x0C\x9E\xF3\x8D\xE4\xA7\xE4\x24\xF3\x62\xCB\xC1\xF2\x8E\x74\x28\xF3\x92\xF3\x7F\xEA\x6F\xC5\x0D\xDC\xAA\x86\x31\xDD\xB1\xE7\x5D\xED\x3A\xE8\x5F\xED\xEB\xE0\xD3\xE0\x76\xED\xA5\xE7\x6F\xE8\xF2\xE7\x03\xED\xBC\xE7\x1D\xDC\x93\xEB\x79\xD9\xAF\xE8\xD5\x72\xB9\xE9\x0B\xC8\xB3\xE8\xE5\xD8\x45\xE6\x36\xEF\x3A\xA5\xF1\xEE\x67\xE8\x19\xE2\x88\xEB\x66\xE6\x8A\xED\x8B\xEB\x57\xE8\x8D\xEB\x39\xE7\x19\xED\xE6\xE2\x53\xEF\xC9\xE6\xD2\xF3\x1F\xDC\xD4\xF3\x73\xAF\xB1\xE8\xB5\xDB\xD8\xF3\xC8\xAE\xB5\xE8\xA4\xD5\x50\xBC\xDD\xF3\x80\xE8\xDF\xB7\x82\xE8\x8B\xE7\x13\xED\x8D\xE7\x15\xED\x1C\xE7\x17\xED\xDF\xE6\xE7\xF3\xE1\xE6\x32\xEF\x8D\xE9\xCD\xEB\xCC\xDB\xBD\xE8\xCE\xDB\xD1\xEB\x76\xE6\x1C\xEF\xEC\xE6\xE1\x71\xC4\xF3\x9E\xE7\x25\xED\x65\xE7\xBD\xC2\x4D\xED\x9B\xDA\x4F\xED\xF2\xDB\x9F\xEC\xB3\xE1\xC1\xED\xCD\xE2\xC3\xED\x30\xD9\x10\x0E\x24\xEF\x1F\x70\xE0\xB6\xFB\xE0\x44\xCF\xF6\xF3\x7B\xE6\x51\xE8\x56\xE2\xC2\xEB\xBF\xEC\xF3\xEB\x03\xEE\x5B\xB1\xEF\xCE\xF2\xAF\xC5\xEC\xDE\xDA\xF8\xEE\xA8\xDC\x79\xEF\xC1\xF1\xD2\xE8\xB9\xEC\xC2\x67\x0E\xF4\xD6\xE6\x45\xE1\x06\xEC\xD3\xEC\xFB\xF3\xD5\xEC\xFD\xF3\x8F\xE7\xE5\xF3\x91\xE7\x8F\xED\x01\xE3\x06\xEF\x21\xEF\x55\xEF\xEB\xCD\xF2\xB9\x46\xE6\x56\xBB\x23\xF4\x90\xE8\x09\xCE\x39\xF4\x1C\xEC\xFA\xF3\x38\xEC\x67\xE7\x3A\xEC\xFD\xE2\x22\xEC\xFF\xE2\x42\xF4\x3A\xE6\x03\xF4\xF8\x72\xDD\xE8\xD5\xF3\x79\xF0\xBA\xE9\xD3\x90\xC5\xAA\x1F\xDD\x59\xAF\x81\xD9\x4B\xF4\x9D\xEF\x88\xE7\xD7\xE6\x11\xED\xA5\xEB\xBA\xED\xC9\xF3\x61\xED\xCB\xF3\x2B\xED\xCD\xF3\x85", +"\xEC\xCF\xF3\xF4\xE7\x86\xEF\x42\xEC\x66\xDC\xC1\xC5\x4A\xEF\xCF\xD9\x63\xEF\x29\xE7\x4E\xEF\x8E\x85\xE1\xBC\xB0\x86\x37\xF4\x66\xF4\x4E\xF4\xD2\xEC\x50\xF4\xA6\xEB\x39\xEC\x29\xE8\x3B\xEC\x2B\xE8\x17\xF4\xCB\xE2\x19\xF4\xF8\xE6\xD8\xEF\x22\xE1\x98\xDE\xB3\xD9\x87\xE9\x7B\xE8\x59\xEF\xBE\xE2\x64\xF4\xBB\xE6\x4D\xF4\x5E\xE1\xDD\xE2\xE0\xF3\x84\xE8\x79\xE1\x20\xEC\xC4\xE1\x40\xF4\x59\xE8\x57\xF4\x93\xE7\x59\xF4\x95\xE7\x08\xE9\x6D\xEF\x10\xE7\x70\xEF\x6A\xDC\x0F\xE9\x77\xEC\x41\xE1\xB5\x7B\x7F\xF4\x30\xE7\x10\xF4\xA0\xE7\x66\xE7\x34\xE6\x68\xE7\x54\xF4\xDF\xEB\x6B\xE7\xE1\xEB\x6D\xE7\xE9\xF3\x6F\xE7\x81\xB3\xE5\xC5\xCA\x59\xE7\xC5\x4B\xEF\x0C\xB9\x28\xE7\x74\xEC\x7B\xF4\x73\xEF\xD2\xDA\x67\x94\x95\xF4\xD5\xE6\x80\xF4\x98\xF4\xAA\xE6\x9A\xF4\x1E\xEC\xE2\xE1\x9D\xF4\xE4\xE1\xFF\xF3\x1E\xE7\x01\xF4\x20\xE7\xA3\xF4\x5D\xE8\x32\xCE\xA5\xEC\x1A\x7C\xC8\xF4\x16\xE7\x87\xED\xD0\xED\x89\xED\x29\xF4\xC1\xEC\x04\xEE\xC4\xE6\xC4\xEC\xC6\xE6\xC6\xEC\xD6\xF4\x8D\xE8\xCB\xE1\x81\xEF\xDD\xA0\x51\xE2\xAD\xF4\xDE\xF3\x50\xD6\x53\xE7\x4C\xED\x28\xED\xD3\xE1\xBD\xED\x58\xE7\xBF\xED\x95\xE2\x7A\xED\xD7\xEF\xB2\xEF\x61\xA4\x88\xEF\x9E\xEB\x7E\xF4\xEE\xF4\xB8\xD6\xF1\xEB\x28\xF4\xAE\xEC\x2A\xF4\x60\xB3\x0C\xEC\xF9\xE1\x07\xEE\xB1\xE2\x44\xF4\xB3\xE2\x41\xD0\x09\xF0\xB0\xE7\x7D\xBD\xE0\xEC\x0A\xB8\xE2\xEC\xDB\xF4\x08\xED\x4B\xED\xA1\xED\xEB\xED\x7B\xE7\x6D\xE8\x77\xED\x6F\xF4\x2D\xED\x71\xF4\x87\xEC\xD4\x89\xF3\xEC\x3A\x7C\x13\xF5\x7F\xED\x97\xF4\xA7\xE2\x26\xF4\x01\xF5\xE1\xF3\xE0\xF4\x8B\xED\xC3\xE6\x06\xF5\xE4\xE2\xD4\xF4\x3B\xE7\x7E\xEF\x88\xEC\xA3\xDA\x0C\xEE\x4C\xF4\xFB\xDC\xA0\xEF\x8D\xD6\x22\xF5\x8F\xEF\x24\xF5\xF7\xE2\xBF\xE1\xF9\xE2\xCE\xF4\xFB\xE2\xB4\xF4\x36\xE6\x55\xF4\x38\xE6\xA1\xF4\x5B\xE8\xE7\xF4\xF8\xD7\xAB\xE7\x5D\x0F\xAD\xE7\x37\xF5\xAE\xF4\x3A\xF5\x63\xE6\xF8\xE2\xC0\xDB\x9B\xF4\xE0\xE2\xE3\xE1\x64\xE1\x8D\xED\x18\xE3\xA0\xEC\xD9\xED\x30\xF5\x55\xED\x1D\xED\x90\xDA\xB2\xC9\xDB\xD6\x38\xF5\x0A\xF0\xCA\xF4\x25\xF5\x99\xF4\x27\xF4\x28\xF5\x03\xF5\xE1\xF4\x2B\xF4\xC7\xEB\xF0\xCE\x08\xF5\xCA\xEB\x59\xF5\x05\xED\x0C\xF5\x9C\xEF\x96\xF4\xD2\xE7\xE1\xBD\xDF\xB9\x5F\xF5\x0E\xF5\x38\xF4\xCB\xF4\xD9\xE7\xCD\xF4\xD4\xEC\x9A\xE6\xD6\xEC\x9C\xE6\x55\xF5\x9E\xE6\x3E\xEC\x58\xF5\x85\xEF\x31\xF5\xAE\xA1\x63\xE2\xBC\xEF\x4B\xF5\xFF\xF4\xF9\xF3\x12\xED\x51\xF4\xB3\xF4\x53\xF4\x41\xF5\xB6\xF4\x23\xEC\xB8\xF4\x25\xEC\xBA\xF4\x45\xE9\x05\xF4\x53\xE9\x75\xE2\x5A\xDD\x14\xC2\x75\xF5\xD6\xE7\xC5\xF3\xB0\xF4\xDA\xEB\xB2\xF4\x14\xED\x35\xE6\x16\xED\x9F\xF4\x89\xE8\x44\xF5\x8B\xE8\x46\xF5\x11\xEC\x0B\xEE\xFA\xD7\x07\xCA\xB9\xEA\x09\xCA\x2D\x77\x4C\xF5\x15\xF5\xEA\xED\x74\xED\x3C\xED\x6D\xF4\x3E\xED\x1B\xF5\x40\xED\x1D\xF5\x2F\xED\x8D\xF4\x35\xCA\xAC\xED\xE8\xDD\x89\x8C\x48\xC6\x66\xE9\xF5\xEF\xCE\xCF\x63\xF4\xB0\xF5\xB8\xED\x4A\xE6\x16\xF5\xB3\xF5\xEC\xED\xF4\xF4\x69\xEC\xF6\xF4\xF6\xE6\x8B\xF4\x1A\xE8\xBB\xF5\x52\xCA\xBD\xF5\x9B\xDD\x3A\xCA\x42\xC4\xB1\xED\x68\xB7\xB3\xED\x77\xE8\xE3\x86\xC5\xF5\xDD\xF4\x00\xEE\xDF\xF4\x66\xF5\x2A\xF5\xC2\xEC\xE3\xF4\x06\xEE\x2E\xF5\xDB\xEC\x77\xEF\x54\xEF\x5E\xE8\xF5\xED\x5C\xC4\xC7\xED\x4A\xE8\xDF\xE0\x8D\x73\xA8\xAC\x9B\xF5\x0D\xE8\x18\xE2\xEF\xF4\x69\xE8\x6A\xF4\x6B\xE8\xCA\xF3\x19\xF5\xCC\xF3\x57\xEC\x41\xE8\xCF\xF5\x2F\xE8\xD1\xF5\x6C\xCA\xEA\xF5\x11\xE7\xE7\x99\xF4\xEF\xEE\xF5\xD2\xBB\x4D\xE8\xC1\x86\xDC\xF5\xFF\xED\xF5\xDD\x8C\xF5\xA1\xF5\x40\xF5\xA3\xF5\x42\xF5\x8E\xEB\xA6\xF5\x90\xEB\xA8\xF5\xC8\xEC\x07\xA9\x01\xF6\x00\xE9\x93\xBE\x66\xDB\x6E\xE1\xB7\xAF\x03\xF0\x99\xBE\x0D\xF4\x89\xF5\x4F\xF5\xFF\xDB\x51\xF5\x8A\xEB\x53\xF5\xE2\xE2\x2C\xF5\xC5\xE6\xC9\xEB\x93\xDB\x6D\xF5\xDB\xED\x6F\xF5\x33\xF5\x65\xF4\x91\xE8\x0C\xF0\x4E\xEC\xB2\xBE\xAD\xBE\x96\xE8\xB1\xC4\x70\xF1\x9D\xED\xAF\xA2\xC0\xF3\xFF\x00\x17\x63\x06\x01\xFD\xE9\x69\xF0\x95\xE8\x53\xF0\x7A\x6C\x61\xF0\x03\x5B\xEA\x3E\xC1\x3E\xB7\x5D\x0B\x2E\x03\x01\x3E\xF6\xD5\xF1\x6A\xF0\x08\xC8\x56\x5D\x43\xF6\x1A\x8D\xEA\x42\xC1\x3E\xBF\xF3\x44\xC5\x11\x0F\x43\x00\x69\xF3\x37\xF0\x55\x51\x19\xF0\xD4\x8F\x1B\x96\xA4\xC2\xEF\x13\xEC\x5A\xCA\x45\x41\x64\x41\x00\x19\xF0\x51\x00\x6D\xEE\x64\xF6\x09\x5D\x43\xF0\x59\xCB\xCF\x71\x47\xF0\x35\x0E\x4A\xF0\xED\xEC\x4C\xF0\x3F", +"\x6F\x33\xF0\x70\xDF\x56\xF6\xEF\xE9\x68\xEE\x06\x01\x40\x00\x5A\xF6\x6D\xEE\x5D\xF6\x3D\xF0\xB2\x46\x61\xF6\x63\xF6\x65\xF6\xA8\x5E\x68\xF6\x45\xF0\xAF\x70\x6B\xF6\xEF\xF2\xA9\xF3\xD6\xED\x6F\xF6\xF0\x72\x4E\xF0\x9B\xE8\x9D\xEB\x0D\x69\x5B\xF0\x9C\xC8\xF6\xAF\x07\xC2\xCA\xE6\x4D\xF6\x5C\xF4\xEF\xF3\x99\xEB\xB6\xDB\x9B\xEB\xDA\xF3\xA9\xE8\xD9\xE3\x01\x01\x73\xF0\xB9\xF5\x42\xED\xC8\xCD\x3D\xE6\xA2\xE8\xDE\xE8\x99\xDB\x73\xB9\x9E\xD5\x03\x0B\x0E\xEF\x27\xAE\xFA\xE4\xA3\xD5\xBA\xDB\x82\xE4\x02\x01\x9D\xF6\xFD\xF5\x43\xE8\xFF\xF5\xC3\xE0\xFF\xB6\x62\xBC\xDE\xE0\xC9\xED\x80\xED\x0A\xF4\x1E\xD9\x5A\xEF\xC6\x12\x52\xBD\x9D\xC8\x1B\xF4\x5D\xE6\xC6\xE8\xF6\xE0\xC8\xE8\xF8\xE0\xE1\xED\x5E\xC8\x1F\xCE\x91\xE6\xE1\xF1\xCA\x8B\xBD\xF6\x90\xF6\x60\xE9\xE2\x87\xFE\xEB\x58\xF2\xCA\xF6\x8F\xF6\x81\xB1\xC6\xC2\x34\xAF\xCD\xDA\x14\xEC\xD2\x67\x8E\xF6\x11\xD7\xBE\xF6\xA0\xF6\x92\xF6\xC3\xE9\xEE\xF3\xDF\xE8\x40\xEF\x61\xF4\x42\xEF\xF7\xEF\x39\x73\x3F\x0A\xAF\xF6\xF8\xF4\xA9\xED\xB2\xF6\x3D\xEF\x22\x6E\xE5\xAA\xE9\xE8\x77\xF4\x62\xEF\xA1\xE1\x8F\xEC\x26\xC4\xC7\x70\xE1\xEF\x1B\x5D\xE7\xF6\xA1\xEC\xA3\xEF\x73\xF4\x3D\xBA\xFB\xE6\x46\xD6\xF7\xE8\xB7\xAF\x93\xF4\x6A\x6F\xE6\xF6\xCB\xF6\xD3\xF6\x98\xE9\xB3\x8E\x5F\xEF\x84\xE1\xF2\xEF\x02\xE9\xAA\xF4\xCF\x90\x07\xF1\xD1\xF6\xDA\xF6\xCC\xF6\xFC\xEB\xDF\xF6\xE9\xD9\x75\xD6\x02\xF6\x73\xEC\x57\xE1\x9B\xD9\x10\xE9\xDF\xAF\x76\xF2\xB0\x66\xF7\xF6\x82\xF5\xF9\xF6\x84\xF5\xA4\xEC\x3F\xE7\xBE\xA0\x1B\xF7\x64\x6A\x1D\xF7\xE2\xEB\xE7\xF5\x21\xE9\xA9\xDC\xEA\xF4\xAD\xA7\xAE\xEF\x25\xF7\x03\xF7\x20\xEF\x0B\xF5\x95\x89\xDC\xE1\x7D\xC6\xAE\xF6\x2F\xF7\x2D\xEF\xA6\xB8\xC8\xEF\xB9\x89\x29\xE9\x4E\xEB\x26\xF7\xB9\xF4\x28\xF7\x2D\xE9\x4F\xBF\x96\xA4\xF9\x5F\xD9\xF6\x04\xE8\xDB\xF6\xFA\xF4\x73\xC6\x1E\xE3\xC4\xF4\x15\xC6\x9A\xE7\x7E\x85\xF6\xF6\x36\xF7\xB6\xEC\x38\x98\x3B\xE9\x71\x6D\xAB\xE4\xE9\x65\x3D\xF7\x93\xF5\x3F\xF7\x95\xF5\x2D\xC6\xAC\xEF\xC0\xE7\xEB\x5D\x44\xF7\xFA\xEB\x05\xE8\xEA\xF6\x05\xB8\x49\xF7\x31\xB5\xB6\xEF\x47\xF2\x35\xF7\xD2\xF6\x30\xF7\x03\xE3\x48\xF5\x3C\x0E\x8E\xCF\x37\xEF\x4E\xF7\x68\xF7\x37\xF7\xF7\xC5\x5C\xBF\x98\xF5\x6C\xED\x34\xF7\x9C\xF6\x4F\xF7\x47\xEF\x33\xE9\x39\xF7\xE7\xAE\xAD\xF5\x87\x5E\x02\xF7\x70\xF7\x50\xF7\xAF\xA4\xD0\xEF\xC0\xF4\x2F\xE9\xFE\xDA\xC1\xF5\x05\xF6\xA0\xE2\x57\xA5\x6D\x6C\x7F\xF7\x0F\xF7\x04\xF7\xCD\xF6\x82\xE9\xD3\xF5\x6E\xE9\xD5\xF5\x9D\xDD\xC2\xF5\x46\xC4\x0C\xF7\x6F\xF7\x8D\xF7\x69\xF7\x97\xDC\x16\xF6\x75\xE8\xDE\xED\x95\xEC\x31\xDB\xB8\xDD\x88\xF7\xB3\xD7\x5D\xE9\x76\x70\x8C\xF7\x45\xF7\x10\xF7\xCE\xE2\xC4\xED\x9D\xF7\x42\xD4\x85\xE9\xCF\xDD\x91\xF4\xE2\xED\x97\xF7\xDC\x5F\x56\xF7\x90\xED\x94\xF5\x92\xED\x8E\xE9\x09\xE9\x2F\xD4\xF0\xF6\x9F\xE9\x92\xE9\xF8\xED\x94\xE9\xFA\xED\xF2\x9B\x98\xF7\xA7\xF7\x8E\xF7\x11\xF7\xA7\xAB\x63\xF7\x86\xB5\x20\xE3\xBF\xEB\xDD\xBC\xAF\xC4\xA0\xE9\x36\xF6\x7E\xD4\x19\xEC\xB4\x65\xF4\xEE\xDB\xD6\xC3\xF1\xA5\xF1\x98\x0C\xB1\xF5\x73\xED\x13\xF4\xF0\xDB\x15\xF4\x6D\xE2\xCD\xF5\x5A\xE7\x27\xF7\x2B\xF6\xE2\xCD\xA1\xF6\xB2\xEB\xE5\xCD\xA4\xE8\x84\xD5\xDF\x91\xDA\xA2\x24\xDC\x02\xEF\xFC\xD5\xD3\xF7\xA7\xF0\x2D\x08\xD6\xF7\x69\xE2\xC9\xF5\x18\xF5\xA9\xEB\x6E\xE8\xFB\xF5\x70\xE8\xB0\xF6\x72\xE8\xDC\xF6\xEB\xF3\x38\xE1\xE2\xF7\x6C\xEF\x97\xEB\xE5\xF7\xFF\xD8\xB7\xEB\x1C\xF4\xF3\xF3\xAC\xF6\x3A\xA5\xEB\xF7\x32\xF1\xB5\xF1\x4D\xF5\x81\xE8\x21\xF6\x92\xE1\x3E\xF5\xAD\xE6\x7D\xF5\xAF\xE6\x7F\xF5\xB1\xE6\x81\xF5\xDE\xF7\x83\xF5\x5A\xF5\xF6\xE7\x0C\x0E\x18\xEF\xE0\x79\xCF\xDB\xD2\xEB\x09\xAD\x14\xC2\x05\xF8\x59\xF1\xDE\xF0\xFF\x0A\xEE\xF7\x52\xEC\xD8\xF7\x4D\xE6\xF2\xF7\x1A\xF5\xF4\xF7\xCE\xF3\xF6\xF7\xAE\xEB\x61\xF7\xC0\xF6\x1D\xF4\x8B\xE6\x25\xEF\x1C\xCE\xB7\xF6\x0C\x7A\xEA\xEB\x65\xAB\x1E\xF8\x95\xF0\xA1\xF1\x76\x09\x22\xF8\x15\xDD\x17\xF5\xC7\xE7\xDA\xF7\xC9\xE7\xA6\xED\xD8\xED\x13\xF8\x1F\xF7\x15\xF8\x9F\x86\xCF\xF6\x99\xD8\x4D\x6D\x36\xF8\xC8\xE3\xAD\x2C\x3A\xF8\x7B\xE2\x3C\xF8\x14\xE8\x3E\xE8\xF7\xEB\x40\xF8\xF9\xEB\xF1\xED\xFB\xEB\xA9\xF7\x01\xF8\x13\xEC\xC2\xF3\xE9\x65\x49\xF8\x82\xF1\x38\xF8\x55\x05\x4C\xF8\xF0\xE6\x4E\xF8\xF2\xE6\x50\xF8\x01\xE8\xB9\xE7\x03\xE8\x5F\xF7\x46\xF7\xD1\xF3\x78\xE6\xED\xC1\x5F\xF0\xFC\xF7\x2B\xEC\x3F\xC1\xE1", +"\xF6\xDB\xC9\x62\xF4\x07\xF6\x3F\x0A\x5B\xF8\xA7\xF1\x07\xF8\x5F\xF8\xFC\xEC\xA2\xED\x3D\xE8\x3E\xF8\x3F\xE8\x28\xF8\x70\xF4\x2A\xF8\x5A\xEC\x2C\xF8\x6D\xF8\xFD\xEF\xBF\x88\xEE\xF6\x3A\xDC\xA8\xF4\x56\xE1\x89\xE1\xEF\xD9\xEB\xE6\x6A\xF8\x48\xF8\x1D\xF1\x5D\xF8\x4A\x05\x78\xF8\x3B\xE8\xFD\xEC\x7B\xF8\xED\xED\x56\xEC\x89\xF4\x2D\xE8\x80\xF8\x6D\xEC\x2C\xF6\x16\xF8\x47\xF8\x9A\xCE\xFD\xF6\xAF\xF7\xBA\xAD\xD1\xC5\xA8\xAC\x75\xF8\xBB\xF1\x55\xF1\x39\xF8\xC6\xF5\x37\xEC\x84\xF4\x52\xF4\x86\xF4\xB5\xF4\x3C\xEC\xB7\xF4\x12\xF8\x3E\xF7\xDF\xF7\xE8\xF5\x6F\xEC\xE8\xE8\xA2\x85\xD9\xC5\x84\xF7\x01\xE9\x32\xD6\x03\xE9\x73\xF8\x27\x01\xA5\xF8\xE7\x92\x51\x3E\x4B\xF8\xA9\xF8\xEE\xD8\x3C\xF4\x7C\xF5\x3E\xF4\x87\xE8\xA4\xF5\x18\xED\x12\xF6\x0F\xEC\x14\xF6\x1C\xED\x89\xEC\xBD\xF4\x57\x05\xBF\xF4\x78\xF4\xF1\xF6\x64\xEF\x90\xEC\x2B\xE7\x86\xDC\x42\xBB\xBF\xF8\xB4\x93\xC1\xF8\xED\xF7\xC3\xF8\x25\xD9\xF6\xF5\xA7\xEB\xF8\xF5\x26\xF8\xFA\xF5\x98\xF8\xAC\xEB\x9A\xF8\xF1\xEC\x20\xF7\xF3\xB3\xD9\xF4\x67\x94\xDA\xF8\xCD\x93\xE2\x55\xDD\xF8\xDD\xF5\x0B\xF6\xAB\xF8\x8D\xF5\xAD\xF8\x8F\xF5\xAF\xF8\x91\xF5\xB1\xF8\x57\xF7\xB3\xF8\x29\xF7\x17\xDA\x2B\xF7\xE8\xAD\x8D\xD6\xED\xF8\xAA\xF1\x90\xF8\x30\x01\x92\xF8\xC8\xF3\xF7\xF5\x6C\xF4\xF9\xF5\x6E\xF4\x7E\xF8\x1C\xF5\xE7\xF8\x04\xED\x9C\xF8\x87\xEF\x33\xF7\xD2\xF7\x8F\xF8\x77\xF8\xDE\xF8\x53\xD9\x94\xCF\xF2\xF4\x56\xE7\xCB\xF5\xEE\xED\x52\xF8\x02\xED\x0D\xF9\xD0\xF3\xE9\xF8\x1D\xE3\x0D\xF5\x9C\xF5\x0F\xF5\x91\xEF\x40\xDA\xA9\x94\x74\xF8\x13\xF9\xC2\xF8\xF1\xF8\xC0\xE1\x0C\xF8\xDB\xE6\xC7\xF8\xD7\xEC\xD2\xF4\xD9\xEC\xE5\xF5\x08\xEE\xCD\xF8\xFD\xE1\x20\xF5\x6D\x8E\x01\xF9\x85\xF1\x03\xF9\x08\xF8\xF8\xF3\x0A\xF8\x07\xEC\x7B\xF5\xDC\xE7\x0E\xF8\xDE\xE7\x10\xF8\xE0\xE7\x18\xF4\xE8\xF6\xC2\xED\x82\xF8\x08\xF0\x70\xF5\xC9\xF4\x6C\xB4\x0A\xED\x00\xF9\x29\xF9\xF0\xF8\x0A\xF6\x2C\xF9\x40\xF9\x09\xEC\x42\xF9\x0B\xEC\x44\xF9\x0D\xEC\xCB\xF8\x1A\xED\x35\xF9\x0D\xE7\x6B\xF7\xFF\x00\x4A\xF5\xD9\xF8\x50\xF9\x21\xF8\x15\xF9\x6C\xD9\x33\xDA\x72\xB7\x35\xDA\xD5\xB6\x0F\xDB\x8A\xB9\xB4\xEC\x6F\xC4\x81\xF7\x40\xE9\x32\xED\x04\xF8\x62\xF9\xD5\xF7\x64\xF9\x88\xD9\xDD\xD9\x29\xF5\xE3\xF3\x8C\xED\x31\xF9\x8E\xED\x92\xF5\xB4\xF7\x58\xF7\xB6\xF7\xAA\xF5\x4C\xF5\x72\xF5\xA7\xDA\xFB\xAF\x39\xF9\xB4\xF1\x2A\xF9\x52\xF9\x3D\xF5\x54\xF9\x1F\xEC\x56\xF9\x21\xEC\x90\xF5\x56\xF4\x7C\xF9\x43\xF4\x5C\xF9\x45\xF4\x5E\xF9\x6D\xF7\x35\xF8\x72\xF9\xA8\xF8\x2B\xF9\x89\xF9\xC5\xF8\x41\xF9\x2F\xF9\x7E\xF5\x7A\xF9\x56\xF5\x46\xF9\xF8\xF6\xB1\xEF\xFA\xF6\x73\xE2\xC1\xEF\x6B\xED\xF2\xC3\x3E\xA6\x85\xF9\xF1\xF0\x87\xF9\xE8\xED\xF0\xF4\xC8\xF5\x24\xF8\xDD\xEB\xAE\xF8\x88\xF4\xB0\xF8\x57\xF5\x42\xF8\xA3\xF9\x20\xF9\xB3\xEF\xC6\xF7\x42\xD4\xCA\xEF\xAC\xF4\xAA\xF9\x40\xF1\x51\xF9\xAD\xF9\xF5\xF5\x65\xEC\xBB\xED\x29\xED\xB5\xF5\x63\xED\xB7\xF5\x52\xED\x9E\xF6\x54\xED\x6E\xF5\x95\xD7\x75\xEA\xDC\xEF\x85\xDD\xC0\xF5\x7A\x99\xD3\xEF\x81\xD9\xBE\xF9\xA0\xF1\x14\xF9\x99\xF9\x50\xF5\x2D\xF9\x85\xE8\x9D\xF9\x0F\xF8\x9F\xF9\x80\xF5\xB5\xF9\xB2\xF8\x14\xF8\xCC\xF9\xEC\xB8\x91\xF7\x34\xC0\x93\xF7\xBA\xE2\xA1\xF8\x3E\xCA\xED\xA8\xBD\xF8\x09\x01\xD5\xF9\x67\xF1\x20\xF8\x73\xF9\xD8\xF9\x22\xF6\xDA\xF9\x9C\xF4\x8C\xF9\x9E\xF4\x10\xF6\xE6\xF3\x5A\xF9\xE8\xF3\x7E\xF9\x33\xEF\x93\xED\xF0\xEF\xEB\xE2\x67\xB1\xEC\xF5\xA1\xF7\x32\xF8\xEF\xF5\xD4\xF9\x97\xF9\x5E\xF8\x74\xF9\xA5\xD9\x66\xF9\x66\xB9\x68\xF9\x1D\xB7\x08\xE7\x25\xB0\xA5\xC4\xC7\xE6\xB5\xF7\xFD\xF9\xB7\xF7\x6D\xEF\x06\xE3\xC1\xF4\xF3\xEF\x12\xD0\x0F\xE9\xE3\xED\xDA\xF5\xBE\xF8\x07\xFA\x91\xF8\x09\xFA\xBF\xD9\x76\xF9\xE0\xF5\x78\xF9\x2B\xF5\x58\xF9\x07\xF5\x33\xF9\x09\xF5\x92\xF9\x31\xF7\xE4\xF9\xAB\xF7\xAD\xED\x8E\xD2\x08\xE3\x0F\xE9\x1D\xF6\x7E\xE8\x1E\xFA\x6B\xF1\xC0\xF9\x7C\xE6\xB1\xF4\x12\xF4\x18\xF9\x9C\xEC\x96\xF8\x9E\xEC\xB4\xF9\xA1\xF9\x1E\xF7\xB7\xF9\x44\xF8\xBE\xC5\xB4\xEF\x63\xDB\xC8\xF7\x85\xED\xC9\xB1\xCB\xF7\x35\xF6\x12\xEE\x36\xED\x49\xFA\xF5\xC6\x2D\xEA\xB1\xEE\x26\x9F\xB8\xF1\xC9\xE0\x09\xD4\xF8\x55\xF7\x8B\x3E\xE3\xD5\xF2\xC3\xD8\x98\xEA\x83\xDD\x80\xCE\xD0\xCC\x75\xEB\x15\x0E\xCA\xF2\x3F\x9A\x3F\x0A\xA4\xF1\xC0\x91\xBF\x40\x61\xD5\x79\xEA\x56\x0E\xE2\xC7\x10\xEA\x88\x5A\xC9\x3B\xA8\xF2\x61\xFA\xCD", +"\xEE\x27\x01\x91\xF1\xDB\x81\x78\xE0\x7D\x87\x56\xA5\xBF\xEE\x6A\xFA\xE5\xF9\xC8\xEE\x49\x54\x6E\xFA\x51\xFA\xCD\xD4\x7F\xF1\x65\xFA\x62\x46\x67\xFA\x76\xD2\x06\x01\x45\x00\x54\xF3\xBD\xF5\x8A\x58\x7C\xFA\x09\x01\xB2\xEE\x61\xF3\x62\xF1\x84\xED\x51\xE0\x02\xE0\x5F\xD0\x16\xDF\x02\x01\x81\xE4\x2D\xF7\x81\x6C\x8D\xFA\xD6\xEB\x87\xDF\x52\xE0\x6D\xE5\xD9\xE4\xB8\xF3\xE9\xE4\xB8\xE4\x87\xEA\x72\x42\x92\xE4\x8E\x57\x72\x00\xF6\xF2\xF1\xF2\x96\xE4\x15\xEB\x3E\x2F\x99\xE4\x80\xD0\xC3\xD4\x97\xFA\xED\xEB\xD3\xF0\x3F\xE5\x66\xE4\x51\xE5\xE8\xD0\x46\xDF\xFE\xF8\xA9\xDF\xF0\xBE\xAD\xFA\x02\xEC\x01\xE0\xE5\xEA\xC5\xDF\xB1\xFA\x0E\xE4\x9E\xFA\xE9\x0C\xB9\xE4\x4F\x02\xBB\xE4\x63\x51\x5E\xDF\x04\xF2\x60\xDF\x96\xE3\xAC\xFA\x1D\xF3\x20\xE0\x1F\xF3\xBC\xFA\x50\xE5\xBE\xFA\xA0\xF3\xBA\xF3\x47\xF4\x5D\x0F\xB6\xE3\x9F\xF2\xB8\xFA\x18\xEC\x95\xDF\x61\xE0\xE3\xE3\x8B\xE5\xA6\xE4\xBF\xFA\xBA\xF3\xC4\xE3\xCE\x63\xC9\xFA\x0F\xE0\xF2\xD0\x9B\xFA\xE7\xE4\x9D\xFA\xD0\xFA\x45\xDF\x68\xEB\xD8\xE3\x6E\xF7\xDC\x5F\xD6\xFA\x32\xEC\xBF\xF0\xA3\xE4\x2D\xEE\x8B\xDF\x32\xEE\xBB\x5A\xC1\xFA\x0F\x07\x91\xE3\xEA\xE3\xB2\xDF\x00\xD1\x65\xE3\x67\xE3\x74\xDE\x63\x2E\x13\xE5\x76\x5C\x6B\xE3\x07\xD1\x17\xE5\xE1\xFA\xF7\xEC\x79\xDF\xBB\xFA\xB5\xD1\xBD\xFA\x58\xE4\x26\xE5\x0D\x0E\xCB\xDF\x04\xFB\x8E\xFA\x06\xFB\xCC\xFA\x08\xFB\xCE\xFA\x0A\xFB\x15\xE0\x12\xE4\x38\xE5\xEB\xCC\xED\xFA\x4D\xEC\xE4\xEA\x11\xFB\x62\xE0\x24\xE5\xDC\xFA\xE7\xFA\x16\xD1\x0D\x0E\x39\xD1\x0E\xFB\x98\xFA\xAF\xFA\x7B\xE5\x09\xFB\xF8\xE4\x21\x52\x3B\xE4\x09\x01\x3D\xE4\xD5\xFA\xCA\xFA\x39\xE0\x1C\xFB\xDA\xFA\x6D\xDF\xF3\xFA\xAB\xD1\x88\x80\x6B\xF3\x00\x00\x4A\xE0\x1E\xE9\x02\x01\x19\xFB\x7A\xEC\x99\xFA\xD9\xFA\x26\xEA\xF2\xFA\xEC\xEE\x4F\xF3\x3B\x67\x81\xE5\x1B\xF3\x42\x64\x2F\xFB\xBA\xFA\x31\xFB\x40\xFB\xAB\xDF\x42\xFB\x33\xEE\x66\xEA\x60\x96\x7D\xFA\x61\xF3\x58\xF1\xD7\xFA\xEF\xFA\x2D\xDE\x74\xE2\xD5\x9C\x42\xF7\xCB\xF2\x3F\x0A\x53\xFB\xEE\xFA\xE3\xFA\x15\xF3\x13\xFB\x55\xFB\xCD\xE4\xC8\xF2\x48\xD1\x27\x01\x4A\xD1\xEB\xCC\x5C\xFB\x1A\xFB\x3E\xFB\x07\xFB\xB1\xE3\x60\xFB\x7F\xDF\xB7\x5D\x6B\xD1\xF0\xBE\x68\xFB\x3D\xFB\x26\xFB\xD0\x0B\xFC\xFA\x25\xE0\x7B\x58\x46\xE0\x43\xE0\x77\x58\x4A\xF1\x22\x41\x14\x08\xC4\x5A\x83\xD1\x71\xFB\x48\xFB\x1B\xFB\xAF\x0C\xDA\xEF\x80\x08\x90\xD1\xCE\x09\x92\xD1\x94\xD1\xCF\xEA\x7B\xFB\x35\xA9\x7E\xD1\x0E\xC4\xA7\xEE\x44\xE0\x59\xB2\xAB\xC1\x51\xFB\x9E\xD8\x43\xF1\x05\xC3\x04\xE5\xA1\xB2\x4F\xE3\xFC\xE4\x54\xF7\xB0\x66\x96\xFB\x1A\xC3\x98\xFB\xF0\xFA\xE4\xFA\x1E\xFB\x9F\xF3\x52\xE5\xEF\x1E\xF5\xFA\x05\x07\xF7\xFA\xBC\xE4\x64\xE3\x14\xE5\xB5\x03\xFC\xFA\x69\xE3\x00\xFB\x15\xE5\x9A\xE4\xC3\xD4\x9E\xFB\x30\xC3\xA0\xFB\x59\xE3\xA2\xFB\xDB\xFA\xA4\xFB\xB3\xFA\xA9\xE4\xB5\xFA\x85\xEA\x17\xBF\xB4\xFB\x6B\xE0\x6B\xE5\x89\xE5\xB8\xFB\x33\xFB\x4D\xFB\xF4\xFA\xA0\xFA\x8C\x57\xA2\xFA\x83\x0C\x59\x01\x94\xE3\xC0\xE4\x9F\xF2\xC0\xFB\x7C\xFB\x29\xE4\xC4\xFB\x41\xFB\x4E\xF3\x4E\xFB\xD2\xFA\x3C\x0E\xD4\xFA\x46\xFB\xD0\xFB\x8F\xFB\x38\xF1\x31\xE5\x4F\xE5\x33\xE5\xCB\xE4\x20\xFB\x71\xE5\x11\x0E\xEC\xE4\xCF\xFB\xA1\xF2\x5C\xE5\xDE\xFB\x65\xE4\x60\xFB\x35\xE5\xD1\xFA\x4D\xBC\xEA\xFA\x95\xFA\x4D\x6D\xDB\xFB\x60\xEE\x4B\xF1\x14\xF3\xDF\xFB\xF6\xE4\xE1\xFB\xA5\xFB\x27\xDF\x82\xC5\xC3\xFA\x74\x51\xEB\xE3\xF0\x03\xA5\xFA\xCF\xC0\x11\xE5\xFE\xFA\xF1\xE3\x65\xE3\x16\xE5\x09\x01\x18\xE5\xDA\xFB\xE7\xFB\x9C\xF0\xE9\xFB\x9B\xF3\xE0\xAB\xF8\xFB\x0B\xFB\x11\x0E\x0D\xFB\xEB\xCC\xF2\xFB\xF0\xC4\xE8\xFB\xF5\xFB\xEA\xFB\xE0\xFB\xB2\xFA\x15\xFB\x11\x0E\x13\xE4\x13\xFC\x0A\xFC\xAD\xF0\x17\xFC\x0D\xFC\x16\xC6\x0F\xFC\x1B\xFC\x15\x0E\x23\xFB\x1E\xFC\xD8\xF1\xD2\xFB\x32\xE5\xF7\xFB\x1A\xFC\x2A\xFB\x09\xE0\x3C\xE4\xB3\xFB\x1F\xFC\xDD\xFB\x21\xFC\x28\xFB\xEC\xFB\xE8\xFA\x48\xE0\xA1\x38\x31\xFC\x29\xFC\xB0\xFA\xEB\xFB\x70\xE5\xA7\xE3\xC4\x5A\x45\xFB\xD7\xF2\x02\x01\x14\xFC\xE8\x7D\x16\xFC\xC3\xFB\x2B\xFC\x6E\xE5\x24\xFC\x43\xFB\x5F\xFA\x24\x59\x6F\xFA\x44\xB2\x3F\x0A\x31\xF1\xCE\xF2\x88\xE5\x72\x5A\x5B\xF3\xCF\xE4\xEB\xCC\x51\xFC\x96\xF2\x46\xFC\xA1\xFB\x5F\xFB\x19\xFC\x10\xFB\xBB\xFB\x57\xFB\x3C\x0E\x1A\xF3\x42\xFC\x01\x01\x58\xFC\xCD\xE3\x53\xFC\xB7\xFB\x5C\xFC\x2C\xFC\x5E\xFC\xED\xEE\x4C\xFC\x22\xCC\xF0\x9C\x9F", +"\xF2\xBF\xF2\x01\xCD\x3C\xE3\x34\xF6\xD6\xD1\x87\xD2\xE9\xD1\x61\xF3\x71\xFC\x0D\xCD\xF2\x01\x34\xE3\x09\x01\xBF\xC4\x26\xC7\x24\x59\xA9\xD2\xCE\xCB\x79\xFC\x1A\xCD\x79\xCD\x00\xE6\x4C\x05\x04\xCD\x40\xF2\xD2\xDE\x42\xF2\x81\xDE\x58\xC0\x46\xF2\x07\xEB\x81\x6C\x83\xFC\x34\xCD\x85\xFC\xC4\xDE\x91\xBF\x0C\xEB\x53\xF2\xF2\xD2\x8C\xFC\x00\xF2\x57\xF2\x31\xD7\x4D\x6D\x91\xFC\x43\xCD\x93\xFC\xDE\xCF\x6D\xC0\xFD\xF1\xC7\xE5\xFF\xF1\xFC\x9D\x65\xCC\x9E\xFC\x87\xCD\xA0\xFC\xB5\xE2\xDE\x06\x2A\xCD\x5F\xEB\xDF\xDE\x84\xF2\x22\xEB\xA7\xFC\x1F\x66\x6C\xCD\x94\xED\x37\xCD\x29\xEB\xC3\xE5\x6E\xCC\x54\xF2\xE6\xE5\x4B\xD2\xFF\x00\x0D\xD5\xB7\xEF\x06\x01\xA8\xFC\x27\xEA\x84\x09\x62\xD8\xD9\xE5\x64\xD8\x97\xFC\x66\xD8\x39\xEB\xA5\xFC\xCB\xBF\xF2\xE5\xC0\xFC\xB3\xFC\xAA\xFC\x5B\xFA\xC5\x86\x20\xD5\x32\xC2\x82\xF2\x80\xD8\x55\xF2\x59\x83\xB2\xFC\x78\xCD\xC3\xFC\xFB\xD2\x11\x5E\xEC\xE5\x89\xFC\x14\xD3\x8B\xFC\xD6\xFC\x11\x0E\x4D\xEB\xB7\xE8\xC1\xFC\x94\xCD\xCF\xFC\x85\xFB\x26\xD2\x9A\xC7\xF7\xE5\xB5\xF2\xAF\xFC\xE0\xFC\xBB\xFC\x36\xD5\xD8\xFC\xFA\xCC\xE7\xFC\xF1\xF2\x5C\xD2\xBD\xCC\xFE\xCB\xA3\xFC\xC9\xFC\x2E\xEB\x15\x0E\xE2\xDE\x2A\xE9\x7A\xD3\xD9\xFC\xC9\xCC\x83\xE7\xE9\xDE\x62\xFA\xFE\xFC\xF2\xFC\xD4\x8C\xAA\xD8\x26\x9F\xE5\xFC\xEE\x77\x95\xCD\xCA\xEE\xA9\xF2\xF1\xFC\x72\xFC\xDE\xCC\x30\xD3\x7C\xD2\x32\xD3\x7E\xD2\x9B\xD8\x6A\xED\x12\xC7\xC3\xD4\xC3\xF2\x8A\xCB\x47\xF3\xE8\x0B\xCF\xF1\xA3\x86\xEF\xFC\x18\x85\x77\xFC\x9E\xD8\x19\xFD\x98\xCB\x74\xD3\x1C\xFD\x6D\xDE\x8E\xFC\x3D\xEB\x3B\x34\x95\x5B\x55\x52\xEB\xF1\x63\xF2\xE0\xDE\x12\x9F\xDD\xD4\xBF\xFC\x79\x9A\x2B\xFD\x12\x5A\x98\x05\x50\xF2\x7D\xDE\xEC\xFC\xF9\xE5\x2F\xFD\x1E\xB6\x10\xEB\x2A\xEF\x23\xFD\x2A\xF1\x1B\xFD\xC9\x05\x0A\xF2\xC6\x01\x0C\xF2\x39\xFD\x9E\xF8\x3B\xFD\x0A\xD3\x3F\xD8\x65\xCC\x3F\xFD\x8C\xF1\x0F\x57\x36\xFD\x1C\xF2\x0C\x8D\x2F\xF2\xC4\xE5\x31\xF2\x73\xF2\xF0\xE5\x5F\xC7\x4B\xFD\x34\xFD\x5A\x45\xE8\x0B\x2E\xF2\xB8\xFC\x89\xCC\xC8\xFC\x43\xF2\x63\xD2\xBE\xFC\xA9\xE3\x1A\x2E\x59\xFD\x4B\xF3\x5B\xFD\xC4\xFC\x3E\xF2\xC6\xFC\xD4\xFC\xBA\xFC\x85\xF2\x69\xD8\xCC\xFC\x33\xFD\xDA\xF0\x31\xF3\x4F\xFD\xDB\xFC\x95\x5E\xBB\xDE\xDE\xFC\xDC\xE5\x55\xFD\x22\xF2\x75\xD8\x58\xFD\x71\xFD\x59\xF3\x67\xFD\x74\xFD\x47\x5F\xDD\xFC\x46\xFD\x0E\xF2\x64\xF2\x12\x9F\xE3\xFC\x0E\xD5\x00\x00\x4C\xFD\xB1\xF1\xC7\xD8\x7F\xFD\x52\xEB\xF6\xE5\x70\xCD\xC7\xFC\xB3\xDE\xFB\xE5\x7C\xFD\x4A\xF3\x25\xFD\x42\xFD\x96\xD8\x81\xF2\x77\xFD\xEE\xE5\x79\xFD\x62\xEB\x40\xDE\x19\xD3\xFD\xFC\x64\xFD\x7D\xFD\x4E\xFD\x86\x05\x92\xF2\x07\x03\x26\x9F\x8A\xFD\x78\xF1\x3C\xF3\x26\xFD\x4C\xD5\x15\xE6\x61\xF3\xA8\xFD\x9D\xF1\x41\xFD\x32\xF3\x6D\xFC\xB2\xD8\x6F\xFD\xE2\x63\x65\xFD\x96\xFD\x75\x05\xB4\xF2\xAE\xFC\x2B\xBA\xB7\xF2\xED\x9C\xC0\xF1\x4D\xFC\x94\xFB\x63\xFC\x00\x00\x34\x00\x8D\x5C\x86\x02\x61\x0A\x09\xF1\x27\x54\x9C\x40\x82\xFA\xF7\xDE\x60\x3B\x85\xF6\x4D\x6D\xC4\xFD\x90\x5C\x86\x02\xED\xC0\x17\x58\xE0\xA9\x73\xF7\x43\xE3\xC1\xFD\xD5\xF1\x3F\x0A\x04\xF3\xD1\xFD\x16\x02\xC7\xFD\x66\x6E\x66\xFA\xD4\xF2\x83\xFA\xCD\xFD\xEB\xCC\xDB\xFD\x8E\x5D\xD2\xFD\x42\xB1\xD4\xFD\x16\xFD\xB5\xBE\xD9\xFD\x0B\xF3\x6C\xF2\xC6\xF4\x44\x41\x1E\xEE\x4F\x35\x1D\xFD\x1E\x84\x30\xD8\x0F\xD8\xD4\xF1\x6B\xEB\xED\xFD\xA5\xF2\x44\xDA\x74\x9A\x89\x06\xDF\xF1\xD1\xD4\xB7\xE8\x61\xD3\x07\xF2\xF5\x41\xFC\xFD\x95\xD8\x86\xFC\xE9\x04\xD7\xD4\x9A\xFD\x54\xFD\x21\xF2\x9D\xFD\x31\xFD\x63\xFD\x04\x90\xB1\xF2\xBF\xEA\x04\xFE\x89\xD8\x0B\xEB\xFC\xF1\x2E\xFD\xB0\xFC\x74\xD8\x3D\xFD\x4E\xEB\x01\xFE\x8F\xF2\xF5\xD9\x12\xFE\xA5\xC7\xC1\xD2\x58\x9D\xA2\xFC\x16\xFE\xEE\xFC\x6D\xFD\x1A\xEB\x9B\xFC\x84\xD7\x32\x8E\x10\xFE\xEF\xFD\xC0\xEA\x60\xD8\x52\xD8\x50\xFD\xD3\x90\x52\xFD\xB9\xFC\x98\xFC\xE1\xFC\x82\xC0\x65\xCC\x1B\xFE\x3A\xF2\x03\xFE\x4C\x41\x5C\xFD\xD1\xE5\x20\xF2\xAE\xE5\x33\xF2\xD5\xE5\xB5\xFD\xE9\x8D\x2A\xFE\x44\xD3\x1E\xFE\x3D\xF2\xE6\xC5\x3F\xF2\x83\xFD\x41\xF2\x32\xF2\x8F\xD8\x1A\xD5\x30\xEB\x11\x8E\x43\xFE\x1D\xEE\xC1\xEA\x61\xD8\x80\xFD\x6F\xD8\x52\xF2\x6B\xFD\x33\xFE\x1F\xFD\xC0\xDE\x41\xFE\x6E\x8E\x50\xFE\x2A\xEE\xF1\xFD\x7B\xD8\x54\xFE\x2C\xD0\x75\xD4\x23\xFE\x4B\xFE\x3A\xEB\xA9\xCC\x27\xFE\xF0\xD1\x46\x90\x5D\xFE\xF0\xFD\x52\xFE\x2E\xFE\x06\xFE\xBC", +"\x01\x90\xFD\x57\xFE\x5F\xFD\x99\xFC\xF6\xCB\x5B\xFE\x37\xFE\x7D\xF2\x39\xFE\x2B\xEE\x80\xF2\xF7\xFC\x64\xFE\x9C\xFD\x3F\xFE\x63\xEB\x9F\xFD\xF8\xFD\x45\x2E\x6B\xFE\x2C\xFE\x7A\xD8\x1A\x34\xA5\xFD\xF0\x09\x26\x9F\x77\xFE\x84\xD9\x79\xFE\x5F\xFE\x87\xFE\x9D\xF2\x10\xCC\x61\xF3\x8B\xFE\xA1\xD9\x2F\xEE\x8E\xFE\xFD\xFD\xB3\xFD\x94\xEA\x4E\xFE\xE5\x8E\x84\xFE\x1E\xFE\xBA\xFD\x71\xF2\x51\xB7\xBD\xFD\xBE\xC6\xD7\xFB\xAB\xF6\x3B\xC0\xEB\xCC\x56\xD3\xE9\xDB\xEE\xEA\x95\xE8\x75\xFC\x7F\xEB\x46\x70\x1F\xC7\xCD\xD4\xA7\xFE\x10\xDC\xA9\xFE\xD0\xD4\x77\xEB\x9B\x92\x67\x80\x0F\x42\x2D\xFD\x91\xFD\xBA\xE5\xDB\xD4\x0D\xFE\x8F\xFC\x26\x94\xB6\xFE\x59\x36\x37\xFD\x96\xFC\x72\xFE\x92\xFD\x06\xD2\x19\xFE\xB7\xE8\xB0\xFE\x71\xF3\x12\x42\x43\xFD\x3A\x0A\x66\x9C\x4B\xEB\x12\x9F\x11\xF2\x2A\xEF\xC8\xFE\x89\xDC\xC0\xFE\x2F\xFE\x74\x0A\x31\xFE\x5E\xFD\xC4\xFE\x12\x9F\x23\xEB\xC7\xFE\xBF\xFE\xCA\xFE\xD6\xD2\xD7\xFE\xE4\xD4\xF9\xFC\x8F\xDE\x2F\xEB\x68\xFE\xFE\xD1\xB2\x93\xDD\xFE\x30\x45\x46\xFE\xBE\xF4\x48\xFE\xBB\xFD\x47\xFD\x17\xFE\x06\xD2\xB5\xDE\x4E\xEB\xD2\xFE\xAD\xDC\xD4\xFE\x61\xFE\x1C\x08\x56\xFE\x09\xFE\x83\xF2\x24\xFE\xDB\xD4\x45\xEB\xD1\xFE\xE8\xFE\xF1\x0B\x50\xF2\x82\xFD\xED\xFE\x84\xFD\x48\xFD\x2B\xD5\x87\xFD\x32\xFD\x55\xD3\xFF\xFE\x8D\xFD\xDE\xCF\xBA\x9C\x33\xD5\xF8\xFC\x60\xFD\xBC\xFC\x75\xF2\x88\xFD\xF3\xFE\xC1\xDC\xF5\xFE\x8E\xFD\x01\xE6\x99\xFD\x49\xFE\x8A\xFC\x65\xFE\xCA\xFC\x07\xE6\x87\xF2\x9E\xD8\x14\xFF\xE9\xDC\xA9\xFE\x89\xCD\xA4\xD8\xAF\xFE\x0A\xFF\x83\xEE\x90\xFE\x91\xCD\x26\xFF\xFE\xDC\xAB\xFD\x03\xDF\x1B\xE6\xE5\xFE\xEB\xD2\xBE\x91\x27\xFF\xB9\xFD\x11\xFD\xB7\xD8\x13\xFD\xB9\xD8\x15\xFD\xDF\xF2\x35\x01\x0C\xF3\x3C\x8D\xD2\x07\xBE\xF3\x53\xF6\xDB\xB1\xAD\xEE\xBA\x03\x3F\xFF\x40\xFF\x45\xFF\xCD\xD1\x69\xBF\xC2\xD4\xEB\xCC\x4B\xD3\x7D\xE0\x7B\x5A\xAA\xFE\xC8\xD4\xDE\xD3\xF9\xEA\xF7\xFD\xE2\xF2\x03\x01\x4B\xFF\x62\xA6\x78\xE0\xB3\xFE\xF0\xBE\x55\xFF\x19\x9F\x95\x42\xB8\xFE\xC3\xFE\xBA\xFE\x74\xD8\xBC\xFE\x29\xFD\x09\x01\x5A\xFF\xDA\xA6\x5C\xFF\x14\xFE\xDC\xBE\x0F\xFF\x74\xFE\xB0\xE5\x65\xCC\x64\xFF\xE7\xB6\x66\xFF\x14\xEB\xB7\xE5\x16\xEB\x7D\xFE\x0B\xFE\x7F\xFE\x4A\xFD\x5B\xFE\x6D\xFF\x03\xB7\x6F\xFF\x1F\xEB\x47\xD8\xA3\xE5\x5E\xC7\xDB\xFE\x88\xFD\x78\xFF\xCD\xB9\x7A\xFF\x0C\xFF\xB7\xCB\xE0\xFE\x2C\xEB\x6A\xFF\x40\xFE\x9A\xFE\x81\x6C\x81\xFF\x6A\xBD\x83\xFF\xAB\xFC\x07\x87\xE3\xD2\x3C\xFE\x72\xF2\x74\xFF\x4C\xFE\xCB\xFC\x8A\xFF\x4D\x6D\x8C\xFF\xA6\xBD\x8E\xFF\xD0\xFC\xB4\x86\x42\xEB\x69\xFF\x34\xFE\xB7\x84\x6C\xFF\x67\x80\x9B\xFF\xE8\xFC\x9D\xFF\x49\xEB\x7D\xFF\x3E\xD8\x07\xFF\x0E\xFE\x54\xFF\xA3\xFF\x2B\x3E\xCF\xDE\x71\xFE\xF9\xFE\xD5\xFC\x59\xFE\x57\xD2\x77\xFF\xAD\xFF\x9F\x42\x7B\xFE\xB0\xE9\x73\xFF\x3E\xFE\x95\xFF\x1E\xFF\x59\x87\xCD\xD4\x99\xFF\xFB\xF0\xC9\xEE\x0C\xE6\x0E\xE6\x53\xFF\x4A\xD3\xB6\xFF\x7B\xFA\x29\xFF\x70\xD2\x26\x9F\xC0\xFF\x97\xF1\xC2\xFF\x3A\xF6\xAA\xF2\x59\xFF\xC7\xFF\x5C\x01\x91\x06\x9E\xFE\x97\xDE\xB6\xF2\x7E\xEB\xC9\xD4\xA2\xD5\x81\xEB\xA5\xF7\xFA\xE9\x5E\xE2\xBD\xAE\x0A\xF5\xAC\x79\x3B\xEF\x54\xF0\xE3\xF7\xCD\xE6\x91\xB9\x96\xF6\xF1\xF3\xC8\xBD\x99\xF6\x8F\xB6\x7E\xF7\xDD\xFF\x2E\xF4\x5F\xE2\x06\xF0\x5B\xF4\x12\xF7\xB4\xEB\xFE\xF7\x0D\xEF\x00\xF8\x2D\xF8\x02\xF8\xE5\xB2\x6E\x5F\x3F\x0A\x4A\xF6\xFA\xF9\x02\xF4\x13\xFA\x04\xF4\xE5\xEB\x4E\xD7\x47\xD0\x79\x78\x71\xA2\x63\x8B\x71\x94\x55\xC5\x7B\xED\xFF\x65\xE9\x6F\xD0\x60\xFF\x7B\x79\x7D\x13\x7F\x81\x06\x0F\x7A\x26\xEF\x32\xF0\x68\xBC\x69\x6C\x5B\xE7\x29\xC9\x7A\xF7\x7E\x98\x57\x30\xF4\x4F\xB9\x58\xD3\x65\xAF\x61\x51\x63\xF9\x76\x77\x75\x0B\x80\x15\xCE\x67\xDA\x78\xE6\x77\x46\x68\x85\x7C\xD1\x7A\xC4\x3B\xFD\x7F\x20\x00\x86\x72\x42\xDD\x51\xFF\x75\x70\x45\x8B\x78\x38\x74\x53\x70\x96\xC2\x24\xEF\x40\xDF\x7C\xFE\x2C\xFF\x78\x32\x7C\x16\x7B\xFF\x7F\x22\xE7\x3C\xE9\x47\xDC\x76\xA3\x77\x88\x79\x17\x7E\x43\x75\xCA\x7B\xE0\xBC\x11\x52\x4D\xDC\x6B\x4E\x59\x02\x82\x62\x6D\xD7\x77\xC8\x62\x5D\xEC\x58\xDE\x4F\x43\x5A\x53\x08\x02\x86\xFD\x7F\xF7\x7F\x15\x7D\x6A\xF7\x35\xF1\x78\xDE\x67\xA5\x7E\x03\x81\xEE\x76\xE8\x7A\xFA\x51\x54\xDC\x4C\x00\x89\x00\x89\xB1\x77\xC0\x6C\x01\x81\x0C\x7A\x29\x80\x6D\xEF\x1F\xC3\x53\xE3\x60\x74\x6D\xF4\x75\xEC\x74\x69\x71\x88\x74\xA2\x67", +"\x16\x00\x8E\x01\x98\x00\x8E\x05\x82\x03\x80\x34\x75\x0A\x07\x7B\xEF\x1B\xED\x40\x00\x15\x01\x89\x8F\x7D\x2F\x7F\x3E\x7D\x5D\x7A\xE0\x76\x35\xF5\x5F\x5A\x75\x49\x3A\x06\x82\x01\x83\xFB\x7F\x0C\x80\xEE\xEF\x22\xD2\x53\x17\x50\xF6\x2D\x04\x86\x0F\x83\x13\x80\x1C\x80\xA4\xF4\x5E\xD9\x49\xA0\x7B\xB9\x74\x72\x79\x90\x34\x1D\x80\xF0\x7C\xFA\xF8\x62\xF3\x65\x73\x77\xC9\x74\x08\x83\x0B\x83\x5A\x7A\x15\x7B\x92\x00\xF8\xDE\x4F\x9F\x6B\xCA\x78\xE0\x65\xA6\x7B\xE8\x71\xAE\x7B\x02\x01\x0F\x01\x80\xE9\x76\xCD\x79\x4F\x7C\x34\x7D\xE9\x76\x8F\x76\x02\xD7\x20\x01\x9F\x00\x8B\x03\x81\x02\x82\xBE\x76\x29\x80\xD6\x61\x5B\xF7\x16\x58\x7A\xFF\x76\x04\x89\xA2\x7C\xAD\x79\x26\x80\x5A\x7C\x06\xED\x1C\x01\x88\xB4\x62\xCC\x78\x4B\x5D\xD5\x7B\x2A\x80\x43\x80\x6C\x00\xD0\x00\x8D\x00\x94\xB8\x6B\xFB\x75\x99\x5A\x2A\x81\x39\x80\x45\x00\xB5\xD9\x79\xDD\x61\x6C\x5B\x35\x7E\xEA\x6B\x2C\x80\x22\x80\xAC\x00\xAA\x00\x9A\xBE\x67\x7E\x75\xD4\x71\xF9\x75\x60\x77\x61\x72\x1B\x5D\x22\x01\x8A\xD2\x67\xCA\x7A\x41\x79\x29\x7F\x68\x58\xE7\x7C\x9E\xF7\x37\xE6\x6F\xF8\x5F\xBB\x63\x9D\x79\x0B\x81\x36\x81\x64\x80\x6D\xF9\x4B\x01\x97\xB8\x43\xBC\x73\x06\x86\x62\x61\xE6\x6B\x8C\x6D\x9B\xD7\x59\xEB\x73\x00\x89\x2F\x3A\x0D\x81\x13\x7C\x37\x80\x46\x7A\x47\xF7\x31\xD0\x57\xD8\x79\xC5\x78\xFE\x70\x08\x82\xFA\x77\x79\x80\xB0\x66\x75\x01\xA6\xE3\x77\x07\x80\x5D\x79\x1F\x81\xF6\x76\x0B\x7D\x2F\xDB\x07\x63\x44\xD8\x64\xD0\x76\x60\x7B\xE8\x74\x47\x73\x80\x80\xE8\x00\xB8\x91\x6E\xE5\x6F\x7E\x75\xA8\x61\x5A\x73\x0A\x68\xF5\x6E\xBD\xF7\x02\xE0\x7F\xDE\x6C\x70\x0C\x88\x05\x10\x80\x17\x80\x09\x7D\xFC\xF9\x00\x00\xB9\x02\x8E\xB1\x76\x49\x7F\x48\x7C\x8E\x7A\x07\x78\xBB\xF7\x10\xE0\x58\xA2\x72\x80\x7E\x40\x45\x68\x65\x12\x01\x2B\x7B\xF0\xE9\x63\x05\x19\xC0\x60\xFE\x2B\x61\x4B\x89\x5A\x0D\x01\x3D\x7B\x4C\x5D\x41\xC8\x07\x01\x19\x80\x73\x87\x23\xCF\x74\x1D\x25\xA7\x2E\x81\xF6\x6B\x13\x04\xB6\x27\x82\x78\x04\x06\xB9\x7E\x9E\x05\xB2\x61\x88\xF6\x4F\xE3\x31\xD9\x7B\xCA\x4F\x12\x82\xBD\x48\x93\x7A\x6F\x7B\x37\x5C\x4F\xEC\x65\x41\x53\x2F\x20\x66\x78\xCB\x7A\x0C\x14\x22\x59\xC0\x5F\x06\xC1\x77\x19\x6C\x09\x6C\x86\x7E\x01\x3A\x54\x80\x86\x46\x54\x01\xE4\x8B\x33\x22\x16\x09\x88\x13\x82\xF2\x22\x4E\x80\x9E\x80\xFA\x0E\x5A\x02\xA6\x42\x56\x83\x7D\x3E\x79\x2A\x82\x0B\x80\xC7\x08\x61\x01\xAC\x8F\x33\x22\x1D\x09\x8C\x29\x31\x28\x81\x87\x03\xA1\x80\xC4\x5A\x3E\x1C\x05\x05\x9C\xDC\x7D\x50\x60\x00\x01\x90\x7B\xD5\x36\x5F\x01\xD3\x21\x71\x05\x88\x8B\x27\x14\x80\x28\x81\x6D\x55\x92\x60\xAB\x6D\x4B\x83\x77\x76\x3D\x4E\x05\x02\x7D\xC3\x63\x53\x81\xAE\x80\xAA\x72\x39\xD3\x7B\x39\x1D\x73\x0F\x1D\x2F\xB6\x2D\x93\x05\xC6\x80\x51\xF0\x40\xEC\x6B\xC1\x6D\x67\x32\x19\x82\xD7\x04\x22\x09\xFA\x22\xB7\x5D\x2E\x0C\x18\x06\x9F\xB1\x78\x9A\x73\x33\x80\x4F\x37\xCE\x80\x71\x5B\x12\x1D\x15\x06\x84\xD6\x20\x49\x03\x34\x83\x92\x7A\xCD\x80\x93\xF6\x15\xE6\x28\x06\x92\xDB\x2D\x33\x23\x35\x81\x83\x06\x38\x02\xAE\x01\xC5\xD4\x4F\x06\x97\x83\x7D\xFF\x2B\x36\x82\x9D\x3C\x51\x07\xB6\x01\x91\x1C\x36\x1D\x19\x0D\x8B\x2C\x7B\x37\x81\x5B\x81\x84\x34\xBE\x01\xA9\x0A\x72\x75\x1F\x8E\x26\xF4\x7F\x0F\x7B\xBE\x62\x79\x42\x44\xFF\x0E\xE6\x4F\x07\x87\x23\x21\x1D\x87\xA8\x45\xD1\x64\x5E\x2C\xCF\xC7\x31\x02\x88\x0D\x19\x80\x7F\xF0\x2B\xC3\x4B\x9A\x61\x1B\x00\x65\x01\xAB\x91\x01\x91\x26\x78\x04\x24\x5C\x0B\x01\x9B\x76\xF3\x80\xD8\x5D\x76\x02\xB9\x05\x04\x8B\x37\x04\x7F\x09\x02\x51\x80\xD2\x61\x49\x01\x91\xE6\x0B\x05\x9C\xEE\x38\x1D\x87\x35\x81\x69\x81\xD8\x80\x6A\x5E\x01\x03\xA7\x38\x19\x0B\x07\x14\x2C\x26\x60\x76\x4E\xEE\x80\x69\x01\xDC\x82\x5C\x05\x9C\x0D\x8F\x39\x3A\x3F\x80\x4A\x02\xFE\x80\x87\x46\x33\x11\x1F\x07\x81\x0F\x8C\x81\x23\x3C\x81\x06\x78\xF4\x80\x2D\xC0\x11\xD3\x7F\x05\x90\x5D\x36\x20\x84\x21\x00\x82\x81\x4F\x23\xB3\x08\x10\x04\x96\x7D\x2A\x0F\x8D\xA1\x71\xED\x21\x7B\x81\xCA\x2D\x6A\x01\x88\x45\x43\x08\x87\x0E\x8C\xD4\x2D\x42\x81\x63\x79\x0B\x81\xAE\x59\x7A\x14\x13\xD2\x51\x0F\x87\x14\x2B\xD5\x77\x6D\x2E\xA8\x62\xD8\x83\x55\x03\x8D\x07\x91\xBE\x75\xEB\x75\x91\x4D\xCA\x66\xDD\x73\xCA\xF9\x22\x00\x9C\xA3\x62\xFF\x79\xF5\x4B\xFE\x7D\xB1\x5B\xF3\x7F\xA7\xE8\x1E\xB7\x5A\xDA\x76\x2B\x7F\xC4\x4F\x46\x82\x19\x7C\x2A\x7C\x60\xF7\x15\xB7\x5D\xDB", +"\x70\x0C\x84\x69\x7C\xB3\x6B\x12\x5E\xDC\x75\xA2\xD5\x11\xDE\x40\x04\x9B\xE1\x46\x24\x86\x5A\x5B\x19\x7C\xD4\x7B\xBF\xF6\x0F\xDE\x46\xD0\x61\x70\x68\x40\x7A\xE3\x75\x47\x6D\xE9\x75\xC3\xEE\x4D\xDA\x04\x07\x8B\xC8\x78\x5B\x7E\x23\x7E\x1C\x7B\x11\x80\xBB\xE8\x41\xED\x50\x57\x68\x5F\x75\xBE\x6F\xD8\x79\xCA\x76\xE5\x32\x2E\x9C\x55\x04\x99\xCE\x59\xBC\x71\x77\x7C\xC8\x6A\x11\x7C\x44\x3C\x71\x02\x8F\xAE\x56\x09\x88\x12\x88\x86\x78\x4D\x80\x3D\x70\xB6\x6A\x0C\xDC\x26\x00\x8E\xA7\x59\x13\x82\x80\x73\x4F\x81\x8E\x80\x57\x80\xB4\x8D\x3C\x04\x87\x24\x7D\xBF\x72\x61\x6A\x71\x50\x85\x6B\xBF\x6C\xC3\xBC\x4F\x21\x5D\x04\x85\x3B\x42\x27\x81\x42\x7E\x39\x7A\x44\x80\xD7\xF4\x73\xAC\x43\x86\x7C\x01\x89\x70\x7B\x17\x7F\x43\x74\x46\x7C\x0C\x0E\x5A\x00\x96\x4D\x15\x14\x8A\x70\x75\xE9\x56\xE6\x7B\x2F\x80\x81\xC5\x0F\xE9\x7C\x9B\x76\xC6\x72\x3D\x51\x22\x57\xA4\x81\x51\x81\x7A\x02\xF3\x04\x82\xDF\x67\x15\x8E\x06\x81\x21\x45\x1D\x7A\x58\x67\xB8\xF8\x6D\x01\x98\xE8\x6A\xB8\x70\x04\x83\x95\x7B\x9B\x4D\x22\x81\xB1\x02\x96\x05\x8B\x00\x82\x06\x88\x2A\x86\x56\x81\x1F\x6F\x45\x76\x9D\x02\x88\xC3\x78\x59\x7A\xB8\x74\x00\x7C\x52\x81\xB0\x81\x52\x81\x56\xB8\x3F\xDF\x5E\xB7\x42\xB9\x78\x79\x68\x4E\x82\xB3\x81\x42\x81\xB2\x02\xD7\x04\x83\xDF\x76\xC2\x7C\x03\x40\x97\x75\xC0\x7B\x6B\x81\x65\xF8\x06\x05\xA6\x09\x9E\xA8\x73\x9E\x7C\x97\x6D\x44\x7D\x1A\x81\xB0\x66\x63\x04\xA5\xE3\x78\x62\x73\x2E\x82\xB7\x7A\x41\x81\xE2\x64\x45\xFA\x56\x86\x65\xE4\x78\x1A\x67\x0C\x82\x5D\x83\x8F\x7D\x6D\x80\xA2\xF9\x25\x01\xA1\xB4\x34\x04\x84\x3B\x7E\x8D\x4C\xA9\x80\xB6\x7C\x12\x01\xEA\x01\xBB\x18\x7B\xBB\x75\x93\x73\xE8\x64\x02\x80\x58\x81\xD8\x02\xC2\x05\xBF\x01\x8D\x03\x81\x08\x86\xA8\x6C\xEB\x73\x3E\x6D\xDC\x60\x04\x05\xA1\x0B\x99\x16\x8C\x27\x80\x4B\x82\x37\x81\x38\x7C\x5C\xF5\x16\xAE\x7D\x0B\x96\x11\x8F\x2C\x80\x60\x82\x8E\x6D\x3A\x81\x11\xC6\x3A\xF3\x75\xBE\x73\xE9\x61\xC3\x54\xFB\x7C\xC2\x81\x89\x81\x0A\x03\x87\x01\xA1\x04\x99\x01\x85\x22\x76\xFC\x73\x61\x7B\x88\x81\xE0\x02\xEF\xDB\x78\x08\x8D\x17\x8F\x69\x7F\x5D\x80\x17\x77\xB1\x7D\xCE\x00\xAE\xC9\x40\x0B\x89\x18\x80\x2D\x85\x3D\x65\xC3\x80\xC0\x7C\xA5\xDA\x0A\xD0\x54\x71\x6F\x15\x84\x3A\x47\x5F\x81\xD7\x5A\x69\x80\xAA\xEF\x14\xB6\x60\x03\x8C\xBD\x72\x0E\x87\x43\x64\x39\x80\x20\x80\x68\xE9\x10\x1C\x04\x0D\x84\x9C\x06\x34\x80\xEF\x5A\x11\x80\xC6\x77\x4A\x03\x8F\xFF\x5E\xB2\x54\xAE\x7F\xDA\x74\xC9\x57\x75\x7A\xC0\x5B\xF2\x00\x9C\x02\xBB\x0C\x88\x19\x8D\x33\x84\xFC\x74\x9D\x63\x7D\x80\xBA\x02\xCE\xEF\x5A\x75\x4D\xAF\x7C\x10\x80\x77\x5E\x43\x81\x17\x5E\xE9\x02\xD5\x06\xA8\xDE\x57\x1A\x83\x0D\x85\xFC\x75\x77\x76\xA6\x81\x4A\xDB\x2E\xEF\x45\xDB\x6A\xCF\x71\x93\x56\x55\x83\xD8\x80\x99\x81\x47\x02\x87\x05\x95\xE1\x79\x12\x8B\x1D\x3D\xCC\x55\xDA\x80\x11\x81\x18\x01\xF9\x8C\x76\xA0\x7B\x33\x6C\xA8\x65\xB2\x7C\x95\x81\x8E\x81\x47\x03\xF4\x06\x89\x0D\x86\x49\x75\x0D\x83\x41\x3E\x49\x81\xE7\x7B\x33\xF6\x0F\xE0\x46\x78\x62\x4D\x7C\x12\x84\x63\x5F\x69\x4B\x02\x7D\x06\x01\x52\x00\x06\xEA\x67\xA9\x36\x8B\x02\x08\x72\x4E\x7D\x8D\x23\x01\xF3\x62\xFB\x64\x32\x0E\xEE\x7F\xA3\x02\x47\x16\xC0\x39\xFC\x1D\xED\xC0\x23\xAE\x33\xCC\x69\x08\x05\x05\x00\x26\x81\x9D\x7A\xD2\x21\x19\xF0\x22\xC3\x1B\x58\x54\xAC\x58\x03\x04\x41\x80\x08\x25\x20\x32\x57\x00\x19\xE0\x4C\xA6\x48\xD0\x5E\x91\x43\x78\x82\x66\x32\x0E\x81\x96\x6C\x47\xE0\x70\x3D\x1D\x30\x6A\xA7\x06\x50\x60\x8B\x80\x94\x28\xF3\x01\xB8\xCB\x35\x0E\x8E\x0A\x80\x1B\x80\x2A\x83\xFD\x23\xE4\x80\x31\x8D\x6D\x07\x1E\x08\x98\xB2\x73\x3A\x27\x83\x6A\x68\x31\x10\x81\xBF\x95\x26\x03\x84\xD6\x38\x1E\x8D\xB4\x4A\x7B\x80\x4A\x28\x54\x4D\xD7\x5E\x3E\x07\xB9\x00\x00\x1E\x82\x3C\x81\x40\x83\x3A\x44\xB6\x80\xA2\xF6\x12\xBB\x24\x0F\x9B\x6B\x06\x3E\x83\x4B\x3B\x2C\x04\xE3\x81\x8E\x66\x48\x07\xBD\xB2\x2A\x1E\x80\x22\x82\x40\x82\x6D\x74\x02\x81\x47\x5D\x73\x07\xBA\x0F\x07\x3F\x22\x77\x5F\x79\x83\x96\x39\xBB\x79\xC4\x5A\x59\xC6\x1F\x2A\x32\x11\x85\xF4\x7C\x46\x80\xED\x4D\x8C\x53\x2C\xF4\x5F\x62\x5F\x04\x97\x14\x8B\x32\x80\xF6\x41\xF8\x7A\xF2\x66\x83\xF8\x0B\xDE\x74\xFF\x66\xB5\x70\xC3\x5B\xC8\x71\x38\x74\x56\x5B\x82\x02\xDF\x23\x70\x9A\x26\xB3\x75\xE0\x72\xAD\x79\x2D\x80\x4C\x80\x43\xF8\x1F\xC1\x4A\x0A\x88\x51\x54\x7E", +"\x7F\x47\x82\xED\x75\xC9\x5C\xA9\xF6\x5E\xCC\x74\xCF\x6B\xD6\x23\x35\x81\xDA\x05\x04\x82\x0E\x5A\xD1\x00\x92\x07\x92\x0B\x88\x02\x81\x67\x73\xB2\x62\xAD\x7B\x0D\x7B\x27\xB9\x40\xD1\x4A\x6B\x35\x21\x87\x79\x57\x86\x83\x25\x5B\x09\x82\xC3\x02\x98\x05\xA8\xD3\x69\x15\x8A\x26\x87\x7C\x77\xB0\x7B\xF4\x75\x6E\x02\x94\x00\x98\x03\x90\x20\x89\x56\x7D\x85\x78\x30\x81\x56\x80\x83\x03\x97\x06\x8E\xDB\x6F\x79\x74\x24\x84\x8A\x81\x09\x82\x2B\x82\x48\x04\x8B\x06\x84\x0B\x95\x15\x8E\x00\x83\xD4\x7F\xB5\x7A\x7C\x60\x1B\x5D\x24\x08\xA3\xD7\x66\x21\x8D\xFF\x7D\x9A\x7A\x12\x82\xC9\x75\x8D\xF8\x14\xD7\x64\x08\x9E\x55\x3D\xC2\x5F\x05\x81\xE7\x6D\x9F\x70\x8A\xF7\x29\xFB\x4D\xB5\x2A\x23\x87\x62\x7C\x9C\x79\x18\x82\x95\x81\x77\x00\xD9\xEE\x5A\x0A\x90\x63\x71\xB6\x04\x17\x64\x73\x6E\xE8\x6C\xD5\xF8\x73\xED\x4F\xBD\x63\x1A\x89\x46\x86\x88\x83\x75\x77\x29\x7C\x82\x03\xC9\x04\xAF\x02\x84\x01\x84\xF0\x7E\x9E\x5E\x3D\x75\xF4\x7C\xB6\xCE\x36\xB3\x6F\x0D\x88\x06\x3C\x8C\x56\x91\x83\x2C\x77\xC8\x81\xCA\x00\xC7\x00\xBA\x22\x77\x15\x8C\x3E\x51\x57\x82\xEE\x7A\xA6\x77\xF2\xF6\x0A\x95\x4A\xB7\x51\x48\x5C\x64\x02\xE7\x52\x27\x82\x88\x6D\xA0\x04\xE9\x01\xA2\x12\x84\x2F\x67\x2C\x81\x7B\x5B\xDB\x77\x2A\x80\xA9\xF4\x40\x00\x92\xB2\x6F\xA5\x63\x42\x87\x95\x83\x5A\x7D\x58\x82\x01\x03\xB3\x09\xAB\xE6\x45\xD0\x62\x4D\x75\x91\x81\x15\x82\x09\x82\x97\x00\xDD\x00\xA3\x11\x9F\x19\x89\x4E\x7B\x65\x60\xC6\x59\x62\x82\x5E\x04\xEB\x08\xA0\x11\x89\x26\x80\x12\x81\x90\x83\x5F\x7D\xED\x70\x2B\xDA\x4F\xB5\x04\x11\x91\x11\x87\x4C\x80\x87\x83\x15\x82\xA4\x81\x3B\x04\xFA\xEE\x55\x0E\x87\xB6\x60\x51\x79\x8D\x68\xCF\x38\x57\x82\xDD\x04\xC7\x08\x94\x13\x94\x20\x86\x4D\x86\x14\x40\xBF\x80\x66\x2D\xDB\x04\xFC\x08\xA7\xE8\x6D\xA9\x7D\x46\x87\xA5\x7B\x2D\x80\x7E\x7C\x9B\x00\xA4\x02\x8C\xE5\x69\x68\x76\x30\x87\x7B\x69\x34\x83\x3E\x82\xE4\xF5\x75\x09\xA6\xD7\x6D\x27\x82\x12\x83\xAB\x7B\xC3\x81\x8F\x76\x53\x04\xD8\x4D\x7E\x12\x96\x22\x6E\x31\x83\xE1\x70\xC8\x80\x31\x71\x19\xBB\x5D\xEA\x49\x6B\x31\x27\x8B\x50\x86\x16\x65\x43\x82\x53\x81\x0F\x05\xD9\xD2\x71\xD5\x66\xD5\x6D\x0B\x83\x63\x81\x2F\x83\x74\x82\x8F\x04\x9D\xF2\x44\x04\x9E\xAF\x76\x33\x81\xA6\x76\xCB\x80\x63\x80\x3A\x03\xFF\x09\xB3\x13\x88\xB1\x7B\x4E\x81\x89\x81\x05\x83\x4C\x81\x69\xED\x60\xF8\x67\xE6\x72\x87\x5A\x4D\x86\x98\x83\x17\x82\x64\x82\x27\x04\xCA\x09\xAF\x11\x89\xAD\x79\x4F\x83\xB5\x78\x81\x67\x6B\x80\x24\xFD\x1D\x09\xA0\x14\x9F\x24\x86\x35\x81\x94\x80\xD6\x80\xBB\x81\xA5\xFF\x6D\x8F\x78\x0D\x90\xCE\x7F\x8B\x5F\x69\x83\x15\x81\x53\x56\xAC\x04\xB6\x0A\x92\x13\x98\x29\x82\x50\x84\x26\x7F\x4E\x83\x0A\x7B\xCD\xF9\x5A\x06\xB9\xDE\x67\x24\x81\xFE\x64\x76\x07\x8E\x65\xAF\x81\xEF\xD9\x61\x06\xB5\xD7\x4A\x29\x8E\x9D\x79\x02\x7C\x24\x80\x3B\x80\xF7\x04\xF8\x00\x95\xE8\x6A\x17\x78\xFF\x66\xB7\x7B\xDC\x7D\xDB\x6E\xD4\xE2\x12\xC4\x4B\xB7\x71\x2A\x84\x56\x81\x19\x7C\x00\x7B\xAA\x82\x2A\xFA\x57\x0A\x8E\xE3\x6D\xD1\x76\xFE\x77\x08\x77\xC7\x4C\xF0\x76\x72\x05\x9C\xF4\x48\xD7\x55\x2B\x88\x9F\x79\x88\x7A\x0D\x80\x51\x7A\x7A\x05\x8A\xDC\x68\x40\x68\x1B\x87\x4A\x83\x2B\x81\xE2\x81\xF3\x6B\x1B\x01\xEE\xF1\x5F\x14\x97\x29\x8E\x4D\x87\x8F\x81\x30\x81\xC4\x82\x5D\xF9\x3D\x0A\x8C\xD5\x77\x1C\x8B\xD5\x74\xD5\x5E\xE6\x80\x92\x71\x11\xF0\x32\xEC\x79\xD8\x64\x2A\x67\x1C\x29\x0B\x00\x03\x82\xAC\x62\x45\xCB\x5A\x00\x25\xCE\x77\xD2\x6D\xB0\x06\x43\x2C\x63\x25\x2E\x43\x23\x57\x4B\xDC\x5B\x01\x19\x80\x7E\x3A\x87\x91\x64\xA3\x7E\xF0\x59\xAE\x05\x85\x8D\x3C\xED\x66\x43\x23\x8B\x05\xB6\x81\x85\x79\xF4\x3E\x66\x48\x7C\x18\x71\x3F\x16\x44\x2D\xB3\x0A\x20\x7E\x5F\x24\xE2\x78\xB7\x5D\x6B\x0A\x5A\x08\x8D\x0E\x8C\xD0\x79\xE2\x05\xE1\x2B\x6B\x39\x58\xF6\x5F\x00\x19\xC0\x62\x31\x3B\x61\x4E\x89\x4A\x61\x29\x54\x77\x92\x5B\x41\xC8\x20\x01\x13\x2E\x8D\xE6\x76\xBA\x82\x50\x2F\x2C\x46\x83\x51\x01\x92\x23\x2E\x47\x82\x7D\x05\x07\x3D\x81\x68\x5C\x03\x82\x7E\x5C\x51\x07\xB3\x75\x2F\x2E\x85\x1C\x85\x7A\x80\x93\x80\x17\x48\xB9\xE9\x08\x12\x23\x26\x35\x41\x26\xA1\x3E\x05\x4A\x7F\x80\x69\x19\xDC\x05\xCC\xDD\x75\xA6\x7E\x0B\x82\x3E\x82\x2C\x39\x7C\x83\x15\x04\xF3\x05\xC8\x91\x35\x17\x91\x8F\x43\x8B\x06\xBB\x83\xF8\x2C\xEC\x82\x17\x62\x5A\x0B\xB9\x17\x91\x10\x80\xA3\x7B\x44\x81\xFC", +"\x80\xF8\x82\x5D\xF4\x72\x0B\x94\x20\x24\x4D\x25\x11\x06\x30\x29\x81\x83\xE8\x2E\xE0\x05\xA4\x84\x22\x17\x8D\x53\x44\x5E\x85\x7F\x83\xFB\x80\x07\x83\xFB\xF7\x4B\x14\x7F\x17\x9D\x57\x01\x60\x87\x02\x26\x61\x28\x3D\x05\xEF\xB6\x68\x0B\x97\x6E\x2A\xB4\x78\xD9\x43\xBF\x68\x59\x79\x1F\x05\x74\x01\xFC\xF0\x51\xE1\x7C\xBE\x78\x81\x74\x66\x83\x72\x7C\xD4\x34\x2C\x00\xBA\x67\x4E\x09\x8E\x6E\x6B\x6A\x59\xFD\x7B\x8B\x83\x93\x00\x31\x06\xBD\xF4\x50\xB5\x68\xCE\x75\xD6\x71\x92\x81\x9F\x81\x1D\x81\x17\x04\x8F\xAC\x64\xFF\x6C\x14\x8A\x65\x77\x85\x82\xE6\x75\xF7\x61\xA3\xFE\x52\x04\x97\xD7\x5C\xFE\x21\x64\x82\x23\x7F\x25\x7D\x7B\x81\xF6\x00\xF9\x05\xA9\xDB\x65\x29\x81\x24\x62\x00\x80\x97\x80\x02\x80\x27\xEF\x65\x78\x4B\xD0\x63\x2C\x89\x5E\x35\xCA\x82\x71\x7C\xDF\x76\x44\x06\xF9\xDA\x5A\x19\x88\xCA\x7C\x65\x83\xD6\x7A\xE0\x77\x7B\x67\x1A\xB3\x50\x08\x82\xCC\x7D\x2A\x4D\xAC\x2B\x9B\x82\x99\x83\x84\x7C\xB6\xF5\x64\x04\x89\xE7\x76\x31\x8A\x23\x85\x5C\x81\xC8\x7B\x68\x74\xC1\xF4\x13\x0A\x9B\x74\x37\x33\x83\x8E\x7A\x21\x7F\xBA\x80\xFE\x7A\x23\x05\xB1\xED\x6D\x19\x90\x12\x86\x46\x86\xAD\x69\x2B\x82\x20\x83\xB7\xE7\x56\x7B\x40\x0E\x82\x17\x89\x68\x87\xFE\x7A\x92\x81\xFC\x7B\xCB\xE6\x7B\xB2\x40\x99\x7F\x79\x7D\xC2\x70\x52\x82\x38\x75\x88\x54\x40\x06\x30\x0C\x91\x1A\x85\x15\x62\x37\x80\x6A\x60\x38\x82\xE7\x77\xFD\xC5\x14\xB3\x6E\x58\x6F\xB7\x7C\x55\x84\x1A\x7E\x1E\x7A\x33\x80\x9C\xD9\x64\xED\x53\x19\x85\x33\x83\x6A\x86\x6C\x60\x3D\x83\xC3\x82\x45\xF5\x18\x0B\x93\xE6\x61\x00\x8D\xCE\x78\x92\x7B\xDE\x81\x4C\x82\x00\xF7\x6D\xE2\x62\x1A\x9F\x67\x72\x69\x84\x23\x7C\x7C\x76\x23\x83\x16\x03\x8B\x0D\xB3\xAE\x76\xC5\x78\x2B\x80\x8D\x6C\x22\x7C\x89\x73\x0B\xF7\x20\x0D\x83\x1A\x95\x35\x8F\xA0\x7B\xC2\x65\xDF\x59\x8F\x81\x13\x01\xA9\x0D\x8A\xB2\x76\x25\x83\xA7\x5F\xD9\x83\x9D\x6B\xCD\x6B\xBB\x04\xD0\x83\x54\x19\x94\x36\x8A\x96\x7C\xA1\x80\x30\x82\x6C\x83\x02\x03\xF6\x04\xAB\xE3\x6E\xD6\x26\x67\x84\xDC\x82\x2C\x76\x58\x82\x45\x05\xB2\x09\x87\x15\x98\xC1\x4E\x2D\x80\x8D\x83\xB8\x82\x62\x83\xA4\x06\x90\x07\xB1\x1B\x81\x26\x83\x6F\x82\x08\x5C\x3F\x7B\x82\x62\xC3\x06\xA4\xDB\x40\xB4\x66\x36\x83\x33\x85\xD2\x83\x0A\x7C\x65\x83\xFC\xBB\x22\xF2\x59\x66\x4C\x04\x81\x26\x81\xE0\x82\x20\x77\x49\x71\x34\x06\xEB\xD8\x7C\x19\x88\x14\x8F\x51\x7E\x25\x74\xE1\x72\xB9\x65\xF7\x06\x82\x0E\x85\x1B\x91\x38\x87\xDA\x76\xE0\x81\x20\x7C\x84\x83\x54\xC3\x71\x05\xA8\xDD\x4E\xCA\x74\x43\x83\xDA\x80\xBE\x82\x5B\x83\x2C\x05\xB9\x0A\x95\x13\x89\x2B\x82\x48\x86\xA0\x81\x52\x7A\x88\x81\x43\x04\xA6\x0E\x9A\x1C\x99\x37\x8C\x33\x87\xA2\x81\xB4\x80\x54\x83\x9D\xD6\x70\xF2\x7E\xB9\x70\x35\x34\x68\x87\x90\x7A\xEA\x75\x43\x83\xF5\xF7\x1E\x0E\x9B\xE2\x7A\x04\x83\x12\x86\xA7\x80\xD9\x7A\x92\x81\xD0\x5A\x6D\x0D\xA7\x1C\x95\x36\x81\x11\x80\xDD\x82\x30\x82\xA6\x74\x27\x05\xF3\x7B\x75\x14\x99\x38\x8F\x70\x85\xB4\x74\xC7\x83\x20\x7C\xE1\xF9\x29\x08\x8F\xE4\x60\x78\x5A\xD6\x71\x67\x82\x46\x7F\x40\x36\x3D\x07\xB2\xF3\x7F\x1C\x98\x32\x83\x10\x83\xCD\x81\x37\x80\x90\x83\x4A\xF9\x7A\x09\x91\x9F\x62\xFD\x4A\x40\x64\x46\x4A\xC3\x83\x31\x7C\x16\xE8\x57\x0E\x90\x12\x93\x38\x89\x45\x80\xED\x83\x37\x80\xAD\x82\x17\xFA\x05\xEF\x65\xA5\x72\xCE\x70\x35\x87\x19\x49\xA8\x82\x48\x83\x4B\x07\xE5\x0D\x96\x14\x87\x37\x8E\x50\x81\xDB\x83\x8A\x5E\xB1\x74\x87\x03\xB4\xD0\x60\xBF\x74\xE2\x6F\x77\x80\x39\x26\xBB\x83\x41\x73\x44\x05\xF3\x06\x86\x15\x95\x1B\x87\x36\x86\x45\x7E\x5B\x83\xCF\x7B\x3B\x7C\x51\x6A\x4F\x15\x84\x33\x6C\x78\x82\xE6\x81\xD5\x83\x81\x83\x72\x07\xA2\x0A\xA6\x1D\x98\x07\x83\x49\x84\x03\x75\x5F\x83\xE7\x7C\xE5\xC7\x00\x0B\xB5\xB1\x6E\xDA\x62\x6D\x84\xEA\x80\xDC\x83\x41\x76\x69\x06\xC0\xDB\x42\x1D\x88\xC7\x73\xA4\x7C\xF5\x68\x63\x83\x56\x83\xBB\xF7\x4F\x52\x6D\x0D\x8C\xAB\x4C\x67\x60\x78\x3B\xDB\x82\x19\x83\x64\xF8\x13\x0D\x94\x0C\x88\x36\x8B\x2D\x84\x70\x81\xF0\x60\x85\x83\x1F\xE3\x1C\xD3\x58\x0E\x83\x2D\x89\x12\x83\x73\x80\xE1\x6D\xA2\x56\x05\xC1\x61\x00\x0E\xF7\x62\x34\x85\x07\x21\x4D\x2F\xE9\x81\x5F\x20\xFC\xFA\x40\x1A\x20\x21\x34\xEE\x7F\x0F\x02\x4D\x5B\x49\x01\x31\x00\x19\xF0\x60\x0F\xBA\x17\x96\x37\x84\x9B\x3E\xFA\x80\x6D\x78\xEC\x83\x23\xE0\x79\x02\x1A\x1F\x80\x21\x26\x11\x04\xBA\x7F\x2C\x04\xF1\x83\xAF", +"\x03\xE7\x89\x3C\x31\x51\x57\x0C\xBC\x18\x63\x36\xA1\x01\x20\x32\x62\x00\x19\xE0\x79\x1F\x83\x3F\x82\x35\x86\x39\x06\xF9\x83\x87\x78\xE7\x44\x59\x0F\x8E\x27\x1B\x3E\x8C\xA6\x7B\x7E\x1F\x2C\x05\xFD\x83\xF1\x07\x88\x8A\x33\x1F\x95\x77\x05\x7F\x87\x39\x37\xFD\x83\x1D\x07\xF0\x07\x8F\x83\x65\xF7\x73\x58\x6F\x40\x85\xFC\x83\xA2\x2D\xEB\x83\x01\x08\xE9\x0F\xA4\x01\x0B\x3F\x83\x7D\x25\xFD\x81\x01\x85\x20\x00\xB3\x08\x13\x10\x80\xEA\x6A\x40\x84\x26\x35\x01\x84\xAA\x74\x0B\x01\xF8\x07\x99\xE0\x50\xF7\x6C\x30\x88\xE0\x02\x51\x2F\x30\x20\xE3\x82\xE8\x07\xAE\xBE\x6A\x1F\x83\x40\x8C\x7E\x84\x0E\x02\xFB\x83\xEE\x23\x13\xF9\x3F\x81\x0B\x20\x88\x3A\x16\x82\x80\x56\x76\x85\x00\xE6\x82\x1F\xCB\x71\xE0\x5F\xA7\x15\x0E\x8D\xE8\x74\x43\x77\x69\x82\x17\x46\x0E\x04\xDC\xC7\x7F\x28\x0B\x2E\x80\x4D\x7C\xAA\x79\x59\x83\xA2\x7C\xF8\x02\xC1\xF4\x7A\x0B\x88\x32\x8B\x24\x80\x80\x83\xA8\x7A\x1F\x81\x4D\x06\xFF\xDD\x46\x56\x7E\x34\x80\x42\x86\xC5\x80\x0D\x71\x25\x84\x04\xF5\x4F\x67\x54\x16\x8A\x27\x8A\x72\x84\x9D\x80\xCB\x82\x1E\x73\x55\x08\xF3\x08\xA5\x3C\x5D\xA2\x7F\x24\x87\x0A\x7D\x94\x80\x5B\x74\xBC\x74\x60\x10\xA7\xD5\x65\xA8\x7B\x52\x86\x8F\x81\x4B\x82\x31\x82\xBA\x06\xAC\xF4\x5C\x1D\x9E\x32\x8D\x0D\x76\x17\x76\x97\x80\x21\x82\x6E\x07\xA7\x02\x0C\x21\x96\xCF\x71\x4D\x7E\xAE\x83\x34\x7A\xBC\x82\xB6\x00\xDA\x0E\x84\x1D\x91\x29\x8E\x82\x7A\x26\x6C\xA3\x73\x64\x74\x98\x04\xB1\xF7\x21\xD0\x7F\x31\x8C\xE2\x11\x0C\x86\xA7\x5B\xA1\x82\xF0\x06\x92\x0F\xB2\x1B\x94\x3C\x8E\xF2\x74\x03\x83\x43\x70\xA3\x79\x81\x6C\x03\x11\x9C\xE7\x63\xCA\x7F\x84\x81\x2B\x7C\xAE\x83\xD3\x7A\x79\x08\xD1\x00\x8C\x11\x96\xB6\x7E\x56\x6D\xF1\x81\x0F\x46\x4B\x84\xFD\xB7\x18\x11\xBF\x12\x9B\x37\x8E\x74\x83\x05\x83\x0A\x83\xDA\x62\xE5\xFF\x68\x9C\x5D\x1A\x81\x7A\x70\x98\x6C\x8A\x6D\xA3\x02\x39\x84\xE1\xF5\x62\xE9\x40\x14\x8C\x23\x87\x8A\x83\xC2\x79\x2A\x85\x61\x80\x74\xF4\x3B\x00\xA9\x8E\x4C\x35\x86\x11\x80\x91\x83\xAB\x82\x56\x81\x3E\xDC\x32\x0D\x92\x16\x84\x53\x32\x8A\x82\xB4\x7A\xFF\x78\x43\x84\x32\xF9\x08\x11\xA8\x10\x82\xD2\x7E\x67\x85\x34\x7E\x4E\x7E\x4B\x82\x5E\xEC\x4F\x21\x7F\x22\x82\x44\x80\x8B\x86\x7E\x75\xF0\x82\x82\x83\x81\x03\xF4\x0E\x92\x12\x9E\x13\x88\x8B\x84\xAD\x80\x73\x6D\x50\x02\xA6\x04\xB8\x0F\xA8\x12\x89\x24\x8A\x4A\x80\x0B\x83\x26\x83\x71\x84\x95\x08\xF3\x10\xA2\x21\x93\x2A\x85\x59\x87\x0E\x84\x20\x83\x33\x84\x14\xFA\x7D\xD1\x53\xDC\x66\x39\x7B\x90\x62\x98\x7B\xC5\x7A\x61\x64\x67\x00\xCC\x05\x94\x22\x8F\x45\x8A\x8F\x87\x12\x87\x18\x85\x90\x82\xC7\x06\xEA\x11\x87\x19\x9D\x46\x84\x31\x64\x5A\x82\x3B\x81\xA0\x82\xA1\x08\xE5\x11\x95\xB7\x76\x95\x50\x91\x85\xE0\x83\xE8\x83\x82\x80\xA5\x07\xB6\x92\x7A\x01\x96\xAA\x50\x8C\x85\x44\x7E\x78\x7B\x61\x84\xD3\x04\xE5\x10\xAE\x14\x84\x28\x8C\x32\x85\xAC\x5F\xB9\x81\x38\x84\xE4\x08\x8D\x12\xB1\x22\x8F\x48\x81\x79\x86\xD4\x82\x0E\x82\x9C\x83\x70\xE7\x46\x0E\xAD\x87\x65\x27\x89\x74\x83\xA3\x2D\x35\x84\x07\x7B\xD7\x08\x85\x0B\xA0\xD2\x65\x46\x8C\x8C\x7F\x18\x87\xD9\x2F\x77\x82\xE8\x91\x25\x12\xA5\xD8\x6C\x5C\x72\x94\x85\xB4\x78\x51\x85\xAD\x7C\x46\x09\xE4\x08\xB2\xD4\x7A\x49\x8A\x48\x85\xC2\x04\xC9\x82\x8C\x84\x4D\x6D\x3F\x12\x8E\xD6\x6F\xB0\x7E\x98\x7B\xA8\x7B\x53\x85\xFD\x7C\x2C\x09\x89\x01\x9E\xE5\x60\xCB\x78\x95\x82\x29\x85\x13\x84\x13\x7B\x75\x08\x81\x0A\x9F\x25\x9E\xFF\x7F\x52\x83\x89\x82\xCB\x82\x1E\x71\x12\x05\xB0\x12\xB9\x23\x81\x46\x88\x56\x7C\x26\x85\x26\x84\x9B\x84\x93\x07\x93\x07\xA2\x13\x82\x39\x86\x4B\x58\xBC\x5F\x60\x7C\x8C\x83\xE9\x65\x5A\x12\xB5\xE3\x7C\x4A\x87\x8F\x7F\x31\x7D\x1D\x81\xC8\x7C\x51\x09\xCC\x09\x96\xB5\x71\x3A\x8F\x62\x64\x24\x85\x4C\x84\xBA\x84\x74\x08\xA5\x11\xA8\xE8\x7A\x46\x8A\x53\x85\x2D\x87\x51\x7A\x5E\x83\x97\xF5\x78\xCF\x59\xD6\x72\x4B\x8C\x90\x80\x32\x87\x3E\x84\x94\x84\x54\x05\xEB\x12\xAE\x11\x96\x4C\x8C\x53\x85\xE8\x81\x60\x7C\xB6\x83\xE2\x08\xBE\x12\x9A\x24\x89\xCB\x7F\x6E\x83\x16\x86\x26\x84\x7E\x83\x9C\x08\xEB\x01\x88\x1E\x8D\x2C\x8A\x77\x82\x80\x07\xF2\x67\xDD\x83\x01\xDB\x77\x11\xAA\x26\x92\x49\x86\x8E\x81\xEE\x81\xEC\x83\x7B\x7A\x1F\x09\xA4\x0A\xA1\x24\x87\x08\x85\xCB\x7B\xAB\x81\x33\x85\xAE\x82\xCF\xA1\x70\x01\x8F\xA4\x62\x2B\x8E\x9D\x46\x2C\x84\x21\x84\x27\x84\xD8\x08\xFB\xF2\x47", +"\x26\x97\x01\x84\x9A\x80\xAB\x80\x5F\x83\xBB\x81\x2F\xFA\x22\xDA\x70\x5E\x71\x2B\x8B\x7A\x80\xA4\x49\x6A\x84\xEE\x2F\x82\x09\xA8\xD7\x7E\x1C\x93\xBF\x70\x74\x81\x05\x7F\xEC\x82\x87\x7C\x8B\x08\xD9\x0A\x98\x27\x97\x3C\x87\x18\x72\xF5\x82\xD2\x7A\xD6\x83\xBE\x08\xBB\x13\x9E\x26\x8E\x48\x8C\x8F\x84\x0C\x84\x65\x85\x95\x83\x8A\x08\xB8\x01\x9C\xDE\x67\x3D\x81\x0E\x85\xC1\x83\x63\x83\x84\x71\x91\x05\xAC\xC0\x4E\x27\x83\x45\x87\x95\x7A\x32\x87\xAD\x83\xE9\x84\x88\x05\xD5\x13\xBB\x15\x84\xD2\x72\x32\x86\x48\x7E\xF2\x83\xCE\x82\x99\x03\xCD\x0F\xA0\x16\x8B\x09\x82\x5A\x80\x25\x80\xBA\x63\x07\x02\xF8\x03\xC0\x10\xBB\x34\x45\x5A\x65\x93\x1D\xC0\x36\xF7\x82\xE8\x16\x19\xF0\x25\xD1\x1B\x58\x56\x61\x78\x8F\x20\xC1\x81\x5F\x3B\x20\x32\x67\x00\x21\x14\xAD\xB9\x64\x51\x84\xE9\x09\x3E\x80\x08\x29\x20\x32\x6A\x00\x19\xE0\x73\x01\x0D\x73\x73\xA3\x84\xB2\x30\xB8\x75\x13\x08\x23\x8D\x63\x0B\xBB\x38\x09\x03\x09\x01\x7F\x95\x33\xEA\x68\x1F\x85\xBD\x66\x05\xA8\x46\x12\x0C\x47\x23\xBA\x43\x77\x79\x83\x06\xE4\x03\x40\x0A\x9A\x14\xAC\xCB\x62\xFA\x76\x93\x16\xB9\x7E\xDD\x7C\x61\x05\xD8\xC7\x39\xFF\x78\x50\x2B\xAD\x4D\x4F\x7F\xAD\x69\x5C\x25\x84\x77\x22\x4A\x3F\x10\xB0\xBA\x6A\xD4\x73\x4C\x68\x01\x84\x9E\x2E\xE3\x7E\x20\x05\x48\xFB\x46\x76\x00\xEF\x75\xA7\x79\x37\x61\x9A\x7D\x4F\x79\x5E\x0A\xB9\xBD\x27\xF7\x6B\xD3\x79\xDC\x7A\x14\x22\xCB\x7F\xAE\x07\x0E\x64\x6C\x00\x0E\x29\x9A\x40\x8E\x72\x04\x1A\x22\x9B\x2C\x2A\x85\xAE\xB6\x09\xD5\x17\x29\x9C\x79\x79\xA5\x86\x44\x36\xD9\x32\x27\x7E\x0C\xC2\x3F\x14\x11\x20\x8A\x53\x8D\xDD\x79\x4C\x87\x77\x7F\x73\x22\x75\xE4\x58\xFB\x45\xA9\x62\x54\x85\xDC\x7D\x50\x87\xD7\x06\x31\x85\x0E\x49\x01\xF5\x43\x1E\x58\xE2\x2B\x18\x37\x4C\x86\xD1\x7D\x41\x85\x85\x5F\x6B\x14\x87\xEA\x7F\x40\x8D\xD0\x79\x21\x01\xA1\x7D\x75\x66\x98\x0A\xA7\xC1\x1A\x2A\x8B\x1A\x8F\x9E\x7E\x28\x24\x10\x23\xD9\x81\xD6\x54\x53\x0F\x95\x20\x9F\x8E\x4F\x7F\x84\x20\x79\xFE\x1C\x7E\x7D\x57\x0B\x65\x8F\x0A\x62\x37\x2F\x82\x10\x05\x0D\x01\x06\x78\x5B\x85\xFC\x07\xE2\x06\x95\x1F\x97\x40\x87\x7E\x82\xCC\x20\xAC\x85\x86\x06\xB2\x0A\x85\x10\x82\x01\x13\x45\x08\xAB\x81\x01\x86\x1B\x25\x1D\x84\x63\x2E\x3D\x10\x9D\xB5\x2F\x40\x87\x12\x05\x58\x87\x63\x61\x50\x85\x21\x02\xAE\x10\x8C\x10\x30\x41\x8E\xAB\x82\x03\x85\xAC\x85\xAC\x23\xFC\x0A\x63\x14\xA2\x19\x2F\x3F\x89\x83\x82\xCC\x20\xB2\x85\xC3\x1A\xCA\x0A\xA6\xDB\x31\xAA\x64\x8E\x61\x79\x46\x0B\x87\x1A\x41\x1F\x05\x19\x0A\xEB\xE8\x7C\xB6\x67\x33\x85\x4F\x7F\x37\x86\x73\x7B\xF3\x84\x1F\xF9\x54\x10\x98\x1A\x98\x0F\x8A\x63\x84\xD4\x79\x67\x6B\x97\x02\xE7\xF7\x2E\xD8\x7E\x18\x98\xF8\x38\xAE\x86\xFF\x70\xD8\x5D\xCF\x83\x1B\x07\xEE\x15\x9D\xDF\x79\x3A\x8C\x8D\x80\xC7\x83\x2D\x84\xD9\x6D\xB9\x08\xC0\xC1\x5C\x10\x82\x06\x7C\x68\x83\x8B\x72\x94\x83\xE1\x48\xFD\x0A\xBC\xD0\x7F\x2B\x8F\x3D\x80\x71\x82\x60\x85\x8D\x82\x78\x85\x67\x02\xB5\x0F\x9E\x23\x97\x78\x77\x5B\x69\x03\x7D\x02\x7A\xF7\x3E\x63\x06\xE9\x20\x51\x2C\x94\xC4\x73\xB1\x80\xF8\x82\x6F\x84\x3D\x83\x45\x06\x92\x12\x89\x1B\x83\x4E\x8E\x48\x7D\x89\x80\x9C\x83\x3E\x5E\x20\xF4\x34\xF0\x6B\xA8\x23\x59\x8A\x87\x7D\x64\x86\x90\x82\x0B\x7A\x64\x07\xEC\x05\x98\x2C\x84\x17\x8B\x75\x87\xCF\x83\x0C\x7B\x40\x83\x9C\x09\xC9\x1A\x7E\x2B\x82\x19\x63\x73\x80\xE5\x82\x1D\x84\x95\x84\x78\x08\x8A\x14\x8A\x16\x8B\x45\x8A\x6A\x7F\x8C\x80\xA7\x46\x9A\x85\x61\xF8\x46\xCE\x54\x2C\x96\x3A\x86\xB1\x82\xE2\x83\xCE\x84\x77\x81\x69\xF8\x4B\xD9\x70\x6E\x74\x57\x86\x70\x7E\x5E\x86\x1D\x83\xEC\x79\xE3\xF6\x32\x00\xB5\xEE\x7C\xFE\x29\xAE\x87\x20\x7F\xBA\x84\x3C\x83\xC7\xF9\x28\x16\xAA\x19\x92\x42\x8B\x65\x84\x65\x84\xB3\x72\x77\x84\x63\xB7\x72\xD8\x46\x24\x8A\xC4\x78\x15\x77\x3B\x85\x7A\x33\xB2\x85\xE1\xF8\x08\xF2\x45\x1A\x99\x33\x85\x9E\x87\x0F\x7F\xD5\x85\x9A\x81\x6E\x0B\xCB\x54\x7C\xDB\x77\x24\x8F\x6B\x85\x36\x6D\xB0\x83\xCF\x7D\x64\x0B\xC3\x16\x82\x9B\x67\x49\x89\x96\x84\x18\x84\x82\x85\x5C\x83\x4A\x0B\x99\x0B\x83\x12\x8C\x36\x85\x4A\x86\xD9\x80\x2E\x83\x44\x7C\x72\xCA\x3E\x05\x8E\xAB\x69\x5C\x82\xB1\x84\x68\x84\xC0\x84\x9A\x83\x64\x03\xB6\x0E\xBE\x0C\x9B\x7F\x75\x4A\x7E\x1D\x86\x18\x80\xDA\x84\xBA\xF8\x4A\x05\xA0\x1B\x88\x03\x8F\x85\x87\x24\x00\xDE\x85\x42\x7A\xE2\x09\xE2\x0E\xA4\x27\x99\x59\x88", +"\x68\x81\x38\x86\xA2\x83\xC0\x85\x28\xA4\x6B\x0D\x98\x98\x30\x5A\x80\x7F\x7D\x07\x7F\xCD\x85\xED\x7B\x55\x0B\x9D\x0E\xB6\x2E\x96\x34\x88\xBB\x81\x88\x52\x33\x83\x37\x83\x81\x08\x89\x02\x2F\x2E\x8C\xC5\x71\xBB\x86\x1E\x7F\x6C\x7C\x7C\x7C\x67\x05\x88\x13\x91\x2E\x9B\x35\x89\xCC\x77\x25\x85\xC1\x38\xDE\x85\xB0\xF9\x54\xD8\x7F\x2E\x9F\xC1\x71\x7A\x81\x22\x87\xDF\x85\x1B\x83\xE9\x09\xD3\x12\xA7\x26\x80\x24\x57\x60\x60\x30\x84\xAC\x33\xE5\x85\xF4\xF8\x4D\x17\x84\x26\x8F\x5E\x86\x98\x81\x7A\x84\x75\x85\xB0\x84\x33\xC1\x48\x12\xBE\x1E\x8E\x5D\x8A\xB8\x85\x41\x7D\x14\x5C\xC1\x83\x38\xDA\x22\x17\xA6\x0D\x8F\x25\x5A\x99\x72\x14\x7D\x1B\x5B\x7E\x82\xC2\x06\xF4\x17\x9D\x2E\x8B\x5C\x82\x8C\x85\x71\x85\x4A\x85\xFB\x84\x66\x08\xF9\x13\xB8\x13\x8B\x4C\x86\xFA\x74\x27\x77\xCC\x84\x01\x86\x24\x0B\x9E\x17\x93\x2D\x80\x3D\x81\xBC\x80\xEB\x81\x24\x80\x05\x86\x6A\x05\xDE\xF2\x7D\x88\x73\x5F\x8A\xBC\x85\x7E\x85\xC3\x6C\xD6\x84\x90\x07\xF7\x12\x97\x27\x67\x35\x84\x6D\x7A\x55\x53\x38\x82\x61\x58\x48\x07\xC1\xCE\x18\x2F\x9B\xD1\x7E\xD4\x73\x7B\x85\x1F\x7D\xBE\x85\x0C\xF9\x5F\x17\xBD\x19\x9D\x59\x8F\xDD\x37\xAA\x76\x0A\x86\x08\x86\x35\x0B\x92\x18\xA6\x2C\x90\x3D\x8A\xB6\x82\xF6\x83\xF0\x85\x83\x83\xC5\x0B\x8D\x16\x94\xE2\x5E\x3A\x8C\xC1\x86\x20\x00\xFA\x85\x06\x7B\x5B\x09\xC1\x12\x9D\x25\x91\xB0\x72\x9A\x86\x9E\x80\x06\x87\x96\x83\x9A\xC5\x0D\x14\xBA\xD3\x5D\xBB\x75\x4D\x73\x85\x84\x71\x7D\x79\x7A\xEC\x0A\xCC\xEB\x55\x30\x93\x3B\x82\xC3\x84\xE2\x80\x45\x85\x96\x6D\x78\x07\x9E\xD0\x46\x76\x7C\x3B\x8B\x79\x83\xB8\x78\x15\x6F\xEE\x04\x56\x0C\xEA\x15\x85\xE7\x68\x5B\x88\x66\x85\x87\x84\x70\x84\xB6\x85\x6C\x06\xC1\x18\xAF\x97\x59\xD3\x70\x90\x72\xF1\x81\x3C\x81\x67\x48\x68\x0C\xB8\x18\x91\x2D\x81\x64\x73\xC1\x81\x60\x86\x1B\x87\x77\x85\x3F\x0C\x9F\x0E\xB2\x31\x85\xD0\x43\x98\x76\xB4\x4A\x33\x77\x24\x74\x03\xFA\x40\x08\x8A\xB7\x7F\x07\x83\xB6\x87\x6E\x86\x07\x87\x92\x6D\x20\x0C\xED\xD9\x75\x24\x83\x61\x87\x93\x85\x84\x84\xE4\x7A\xCB\x83\xC9\x02\xEE\x13\xB0\x1A\x92\xEE\x6B\x49\x81\x8F\x85\x07\x87\x01\x86\xF6\x0B\x82\x72\x78\x2F\x89\x38\x7A\xBF\x86\x00\x78\x42\x5D\xDB\x83\xC7\x09\xA3\x95\x7A\x1E\x8A\x64\x8F\x02\x69\x40\x85\x9E\x31\x34\x86\x66\x0B\xEB\x18\xBB\x2D\x89\x5B\x80\xC3\x85\x4C\x81\x17\x87\xBA\x83\x83\x0C\xA1\x0E\x92\x31\x83\xAD\x5C\x9F\x87\xC6\x7B\xF2\x82\x0B\x85\x8E\x05\xCB\xF4\x41\x60\x75\x50\x83\x01\x7D\x68\x67\x1B\x00\xDB\x81\xC7\xEA\x27\x02\x31\x01\x19\x80\x74\xDC\x2B\xC3\x4A\x5E\x50\x10\x28\x30\xB2\x72\xB8\x01\x91\x30\x03\x09\x01\x7A\x0E\x01\x9B\x76\x6B\x86\xCE\x67\x7A\x07\xAB\x29\x4F\x35\x64\x6E\x62\x32\x13\x11\x84\x25\x85\xA8\xF2\x31\x16\x35\x28\x8C\x35\x6C\xA1\x83\xB5\x82\x52\x79\xF8\x04\x1E\x71\x15\xA3\x1D\x1F\x9A\x0E\x84\xBC\x0C\x48\x59\x29\x35\x9B\x46\xB1\x0A\xB7\x2C\x14\xDA\x35\x8C\x23\x8B\x04\x45\x85\x5D\x60\x8B\x2D\x2F\x0A\xBB\x1C\x29\x28\x80\x1F\x4F\xCE\x86\x5C\x66\x34\x46\x88\x33\xF4\x0C\xCF\xE8\x7C\x72\x2E\x51\x87\xCB\x28\x46\x86\x8C\x85\x4E\x77\x66\xFC\x30\xC7\x28\x33\x91\xD6\x31\xD0\x81\x21\x03\x38\x87\x20\x85\x35\xA9\x39\x14\x9C\x18\x9B\x51\x8D\xA3\x80\xA1\x86\xAD\x60\x60\x85\xF2\x0C\x90\xE8\x0D\x34\x95\xC8\x59\x8A\x32\x48\x85\x1F\x07\xB5\x31\x6D\x8A\x37\x9B\x4B\xDA\x66\x57\x87\x50\x50\x26\x5D\x3F\x3F\x00\x77\x8F\x0C\x81\xCD\x51\x32\x96\x6E\x73\xC9\x84\xC2\x64\x09\x87\x48\x7B\xF3\x0A\xD6\x07\x9D\x2D\x98\x42\x85\x6A\x78\x5F\x84\xC0\x76\xF4\x7B\x6E\xD5\x01\xDA\x0D\x91\x07\x69\x8F\x5D\x7A\x4D\x63\x6A\x84\x07\x7D\xA3\x0C\x90\xF4\x65\x0D\x90\xFF\x77\xB0\x87\x6D\x86\x1B\x7C\x17\x82\xFF\xF7\x30\x08\x87\x0B\x6A\xB5\x7F\xB0\x85\x6A\x3A\x49\x86\x0D\x3D\x28\x0D\xA0\x19\x9F\x30\x80\x6A\x8D\x9A\x86\xDC\x80\x2D\x85\xC2\x83\xE9\x06\xF0\xCC\x7C\xA2\x7F\x32\x8E\xB1\x87\x0F\x87\x06\x7C\x11\x59\xB8\x89\x4F\x1A\xA3\xF0\x31\x6A\x81\xC1\x84\x80\x85\x5D\x85\xFA\x84\x1D\x09\xE9\x11\xB7\x32\x8B\x47\x8A\xB1\x81\x9C\x5A\xF9\x75\x97\x85\xE4\xDB\x31\x16\x91\x11\x94\x33\x8F\x5B\x85\xDC\x58\x4F\x87\x56\x76\x3E\x0D\xBC\x13\x9B\x24\x96\xA4\x59\xD6\x84\xD2\x81\x20\x87\xA1\x83\xFA\x09\xE3\x9D\x5C\x11\x82\x53\x72\xD6\x84\xB4\x3C\x59\x87\x1C\x86\x66\x0D\x91\x13\x91\x27\x80\xCD\x71\x85\x84\x14\x81\xDB\x84\x76\x84\x2D\x0B\xAC\x11\xA1\x10\x9B\x75\x35\xD8\x80\x52\x43", +"\x61\x87\x3D\x86\xA3\xED\x1F\x17\x86\x2D\x8A\x4B\x8F\xB8\x80\x15\x87\xF4\x84\xC1\x3C\x45\x0D\x9A\x0D\xAD\x10\x81\x0B\x63\x61\x6C\x52\x60\xA6\x7B\xB0\x85\x79\x04\xFA\xB7\x4E\xD6\x17\x6B\x82\x50\x79\xAF\x87\x7C\x85\x99\x84\x68\x0D\xAD\x1A\x97\x1B\x98\x6A\x8F\x74\x82\xDB\x80\x29\x83\x55\x83\x3D\x00\x87\x07\xBF\x00\x85\x63\x81\x6B\x82\x6C\x87\xFD\x53\xCA\x86\x77\x8B\x17\x1B\xBD\x2E\x8F\xC2\x7B\xC3\x85\x62\x87\x1F\x87\x81\x85\x17\x0C\x85\x16\xA1\x2F\x9B\x43\x8D\x6B\x83\x55\x81\x55\x85\x56\x81\x54\xDC\x38\xBE\x2B\x36\x90\x6A\x8D\xD3\x86\x79\x63\x6B\x87\xDE\x84\x3C\x0C\xB5\x19\xBB\x19\x8B\x6B\x83\x91\x84\x86\x85\xB5\x43\xDB\x86\xF0\x08\x96\x17\xBA\x36\x96\x02\x88\x9B\x85\x4B\x5D\x44\x54\xE9\x86\x3B\x0D\xD4\x1B\xB8\x35\x96\x6E\x86\x92\x85\x80\x86\x81\x85\x94\x83\x08\x0C\xAB\x12\x80\x24\x85\x28\x8F\x8C\x7D\x96\x82\xBE\x61\x5B\x82\xE3\x0D\xB9\x09\xBC\x36\x99\xB8\x70\x91\x61\xA1\x86\x5D\x86\xF5\x86\xAD\x0D\xEC\x1B\x8B\x25\x84\x9F\x7D\x94\x82\x19\x7D\x13\x87\x81\x82\xF3\x0D\xAD\x12\xB2\xD0\x63\x49\x60\x74\x76\xBF\x84\x70\x86\x82\x48\xC2\x0D\xD9\x17\xB5\xB5\x6C\x63\x8D\xAE\x87\xB8\x87\xC5\x85\xBF\x86\xB4\x07\xDF\x18\xA1\x91\x55\x37\x88\xB8\x87\xE9\x58\x6B\x87\xB2\x7A\xAE\x0D\xED\x1B\xA7\x35\x80\x4D\x8D\x8F\x80\x69\x87\x3F\x85\x27\x86\xD7\x04\xD5\x17\x99\x13\x89\xB6\x69\x03\x1F\xC3\x87\x88\x7A\xF1\x79\x03\x0E\xF9\xF2\x4B\x36\x9F\xCE\x73\x0A\x84\x60\x87\x14\x84\x0D\x87\x48\xF7\x48\x0F\x9C\x3C\x7C\x49\x86\x8F\x37\xC1\x85\x5C\x49\x08\x87\x2C\x0C\x94\xE8\x6E\x30\x93\x31\x8B\xC5\x82\xF4\x80\x1C\x87\xB3\x83\xF2\xEC\x16\x0E\xB4\xB3\x60\x0B\x5E\xE3\x82\xEA\x48\x90\x87\x2B\x86\x19\xF9\x59\x18\x9B\xE4\x7D\x5E\x8E\x91\x87\xC8\x84\xE9\x82\xC8\x86\x6A\xA9\x27\x18\x89\xC5\x57\x4A\x89\xC5\x7D\xC9\x87\x31\x51\x27\x87\x6A\x0C\xD8\x18\x94\x38\x9A\x62\x86\xE1\x86\x6A\x84\x86\x86\xF4\x84\x81\x0D\xC4\x01\xA8\x02\x8E\xE8\x65\xD7\x86\xCB\x85\x8B\x50\x30\x87\xB1\x0C\xE2\x1C\xB3\x32\x8D\x63\x8A\xDD\x81\x65\x84\x77\x87\x95\x85\x58\x0E\xA6\x0A\xBF\x9E\x72\x05\x84\x77\x71\xBD\x87\x58\x87\xEA\x86\x68\xC4\x7A\x1A\xAB\x34\x9C\x48\x82\xDB\x80\xEF\x79\x6D\x87\x90\x81\x3A\x0E\xC7\x0E\xBE\x25\x9D\x28\x8D\xE6\x83\xBA\x87\x9F\x87\xF5\x86\x81\x0E\xD7\x1B\xBB\x35\x83\x25\x62\xD4\x85\x94\x84\x20\x80\xD2\x85\x0E\x03\xDD\x1E\x15\xE6\x6D\x74\x8E\xE7\x86\xB0\x84\xA0\x87\x02\x6B\x92\x0E\x83\x1D\xBC\x35\x85\x74\x80\x78\x79\xAB\x86\xC5\x76\x2D\x75\x54\xE9\x28\xF3\x6F\x87\x7C\x68\x80\xE0\x80\xC4\x86\x80\x87\xB3\x84\x4C\x09\xCB\x18\xB9\xE7\x67\x70\x86\x55\x87\xB3\x86\x2A\x85\x16\x7B\x54\x09\xE4\xAF\x7C\xE6\x75\xA1\x7D\xE2\x85\xD5\x87\x8B\x87\xBB\x7C\x31\x0E\xA6\xF4\x6F\x37\x87\x5A\x81\xDF\x81\x69\x84\xFC\x84\xB7\x84\xEA\x09\xC9\x0A\x95\xB6\x6C\x4F\x86\x56\x69\x3A\x7E\x31\x55\xBE\x83\xE7\x0D\x9B\xBA\x09\x29\x81\x6E\x8F\xE9\x80\x5E\x6D\xB0\x86\xC6\x85\xC3\x0E\x9C\x1B\xAE\x2F\x89\x50\x87\xEC\x87\x32\x84\x77\x76\x65\x87\x5B\x03\x92\xEF\x5D\x0D\x9F\x2A\x8B\x78\x83\x93\x80\x7A\x86\x56\x87\x8F\x0E\x81\x1C\x91\x3A\x82\x71\x8A\xD8\x85\xC0\x87\x5D\x82\x5A\x87\x79\x05\xB6\x1D\x88\x23\x96\x3D\x88\xC9\x81\x40\x7F\xB4\x71\x00\x78\xEF\xD9\x0C\x19\x87\xE1\x6E\x73\x8F\x5D\x50\xCE\x85\xDE\x85\xB3\x85\x73\x0E\x95\x1C\xB5\x39\x8B\x5B\x8E\xD8\x81\x8E\x85\x9E\x86\x00\x7B\xF5\x0E\xF2\x16\x99\xE8\x6E\x17\x7B\xDF\x82\xB0\x82\x0B\x6C\x7E\x87\x38\xA9\x7E\x1D\xB0\x2E\x82\xC7\x73\x9E\x87\x04\x7F\xC0\x86\x1F\x86\x56\x0E\xA0\x12\x87\x3C\x8B\x6D\x79\xF0\x85\xD9\x65\x86\x7A\x7C\x87\xCB\xC2\x33\xF4\x4C\xD0\x7D\x74\x86\xD9\x85\xDA\x85\xCD\x72\x76\x87\x9F\x09\x86\x18\xA1\x26\x9D\x6C\x86\x8C\x82\xDE\x85\xB1\x81\x28\x86\x89\x0E\xC7\xEF\x4F\x28\x94\x25\x65\x89\x72\x25\x80\xE7\x80\x62\x86\x2D\x01\xA8\x82\x46\xBB\x74\x23\x7B\xE3\x06\xDB\x74\x9D\x74\x24\x7E\xC4\x03\xE1\x13\x62\xF0\x7E\x41\x8D\x06\x07\x76\x7B\x5B\x73\xDC\x79\xE8\xFA\x4F\xF4\x45\xBA\x77\xA6\x03\xA7\x82\x06\x84\x19\x01\x3A\x85\xE7\x3B\x77\x14\x99\xD7\x3B\x53\x83\xFE\x7B\x4A\x84\x22\x40\x40\x85\x10\xF3\x4D\x15\x8D\x2A\x8D\x03\x0F\xA3\x00\x1B\x7B\xA1\x85\x32\x23\xCB\xFD\x2F\xFE\x69\x21\x0C\x1D\x8A\xF5\x84\xBB\x7E\xB3\x84\x52\x85\x7B\xF1\x50\xC3\x39\xEF\x00\x67\x8E\x1C\x80\x25\x63\x31\x86\xEA\x81\xF7\x01\xBE\x65\x60\x40\x39\x4D\x71\xBA\x02\x55\x25\x68\x02\x37\x00", +"\xF9\x0C\xDA\x03\x8B\x33\x80\x1F\x44\xDC\x28\x7C\x83\xD1\x01\x09\x81\xC7\x8D\x74\x1E\x82\x2B\x16\x7B\x8A\x9B\x20\x04\x2B\x2C\x05\x67\x86\xB7\x5C\x51\x19\x83\x97\x33\x66\x85\xCD\x86\x7D\x82\x45\x5E\xF8\x81\xE9\x0C\xB7\xB9\x02\x3E\x87\x4D\x24\xF8\x80\xEF\x87\x2D\x2F\x59\x04\xD8\x0C\xD1\xCC\x1A\x33\x87\x6E\x43\xE6\x74\x18\x71\x22\x01\xB4\x79\x5B\x9E\x41\xC8\x06\x02\x19\x80\x7A\xFF\x3B\xC3\x4B\x96\x41\x04\x7C\x23\x06\x5B\xA7\x4E\x46\x1D\x9E\x66\x2A\x46\xD2\x3D\x10\x32\x26\x03\x7D\xA9\x52\xB7\x3D\x50\x61\x16\x38\x57\x7E\xA3\x86\x62\x60\x4A\x3B\x82\x65\x44\xDC\x71\x26\x04\xF1\x03\xD4\x44\x96\x31\x42\x01\xB7\x4D\x1F\xD4\x5A\x7A\x2B\x4E\x62\x7E\x82\x9E\x66\xF6\x85\x17\x07\x91\x56\x51\xD4\x19\xE0\x63\x02\x0D\x73\x7B\xFC\x82\x52\x56\x04\x6B\xD9\x03\x34\xC5\x2A\xB5\x51\x6D\x75\x72\x71\x44\x33\x11\x01\x06\x78\x50\x00\x6D\xEE\x58\x1F\x8E\x3F\x8C\x8C\x7F\x37\x6B\x57\x81\xBD\x70\xE4\x04\x3B\x0E\x07\x01\x19\xC0\x78\x46\x1B\x3A\x6C\xFC\x85\xF1\x87\x8A\x80\x14\x7F\x2F\x04\x4D\x06\x1B\x71\x04\x08\x01\x03\x7A\x26\x01\x36\x77\xEF\x0F\xDB\x1F\xAE\xC4\x3C\x4C\x1F\x8A\x49\x90\x69\x06\x79\x4C\x00\x6D\xEE\x78\x1F\xB2\x3F\x8A\x98\x34\xFF\x80\xEB\x51\xD8\x4D\x0C\x78\x98\x00\x6D\xDC\x41\x40\x9B\x7F\x80\xDB\x7E\x34\x61\xFC\x68\x13\x6A\xED\x3D\x3F\x34\x57\x02\x0D\x73\x7B\x00\x8A\x52\x57\x27\x6A\x8E\x72\xF7\x26\x75\x1F\x89\x40\x80\x1F\x46\x09\x05\xCD\x75\x05\x88\x07\x88\xAB\x0A\xA2\x2D\x56\xA6\x5E\x7F\x87\x12\x04\x0F\x01\x06\x79\x4A\x00\x6D\xEE\x20\x20\x84\x40\x84\x33\x83\x53\x64\x82\x69\x22\x6B\x60\x10\x19\xF0\x14\x01\x2D\xB9\x6A\x81\x88\x01\x88\xC3\x72\x48\x03\xF5\x80\x1C\x10\x89\x02\x38\x01\x19\x80\x7E\x81\x7B\xC3\x4A\x7B\x7C\x64\x5E\xC3\x01\x19\x22\x51\xA8\x61\x22\x32\x08\x01\x03\x79\x25\x7B\x0D\x4B\xF1\xF5\x36\x75\x73\x18\x06\x7E\x84\x9D\x50\x01\x89\x42\x00\x44\x00\x19\xF0\x01\xD8\x5B\x58\x5B\x6C\x73\xBA\x5C\xC5\x00\x11\x89\x61\x86\x13\xEE\x2D\xC8\x14\x6C\x53\x2E\x84\xB3\x4F\x09\x76\xB3\x5C\x27\x88\xA2\xDF\x45\x20\xAA\xEF\x58\xDC\x43\x13\x84\x66\x4D\xC3\x71\x63\x64\x20\x19\x46\x1F\x84\x3F\x2D\xCE\x2A\x7D\x62\x70\x4D\x06\x79\x13\x6E\x7F\xA9\x5C\x94\x73\xEA\x2F\x82\x85\x5A\x4F\x41\x21\xE3\x4D\x0C\x78\x67\xD9\x1B\x2C\x6C\x6D\x78\x81\x8A\x14\x07\xF9\x87\xD0\x03\x03\x88\xD8\xF8\x2B\xFC\x47\x07\x21\x22\x3A\x08\x01\x03\x7A\x7F\x6B\x0D\x4B\xD1\xD7\x31\x76\x58\x41\x9C\xC2\x7A\x05\x8E\xD3\x6D\x3C\x47\x20\x32\x7F\x00\x19\xE0\x53\x37\x7B\xB0\x4E\xF7\x64\x0E\x88\x48\x00\x3B\x88\xDD\x0F\xD7\x8C\x7B\x38\x17\x03\x09\x01\x7E\xAD\x27\x86\x4A\xFA\x64\x72\x5C\x6C\x20\x91\xEB\x30\xCB\x25\x38\x33\xC7\x05\x21\x01\x0C\x78\x4B\xC2\x1B\x2C\x58\x12\x62\x84\x83\x04\x8B\x3C\x4F\xAD\x61\x20\x32\xA9\x8C\x00\x7D\x7E\x04\x95\xF1\x57\xFE\x84\x0B\x7F\x18\x88\x09\x88\x09\x01\x7A\x00\x19\xC0\x7E\x97\x1B\x61\x4E\x73\x82\xF5\x5D\x1C\x88\x2E\xF3\x42\x02\xB1\x40\x86\x08\x0E\x01\x88\x7C\x41\x46\x21\x0D\x4B\x31\xB9\x3D\x77\x6C\x18\x10\x84\x88\x07\x8A\x12\x89\x02\x23\x0C\x78\x20\xB3\x1B\x2C\x4B\xD6\x4D\x82\x85\x0A\x8C\x10\x89\xF2\x34\x56\x59\x41\x64\x0C\x01\x19\xC0\x6E\x75\x5B\x61\x4F\x2D\x58\x29\x89\x5C\x01\x9A\x10\x94\xED\x25\x41\x82\x7A\x19\x01\x79\xF6\x23\x86\x4A\x84\x56\xB7\x10\x9B\x98\x59\x41\x90\x82\x8D\xA4\x7B\xA1\x41\x10\x32\x3F\x00\x63\xF6\x34\x36\x4D\xA3\x42\x86\x8D\x0C\x8A\xFA\x32\x73\x0C\x58\x88\x06\x01\x7D\x00\x19\xC0\x7A\x1A\x5B\x61\x49\xBB\x53\x44\x65\x30\x88\x64\x62\x6F\x21\xBB\x42\x83\x08\x00\xFC\x84\x6D\x78\xDF\x04\x9A\x4D\xD0\xA1\x5F\x91\x78\x43\x8E\x86\x88\xFC\x85\xB5\x65\x06\x79\x63\x30\x1B\x96\x10\x34\x6C\x43\x98\x86\x84\x26\x36\x27\x0C\x3C\x89\x81\x00\x75\x00\x19\xE0\x4E\x48\x5B\xB0\x4A\x4F\x4C\x19\x88\x43\x89\xC5\x7E\xA8\xFB\x66\x91\x16\xED\x76\xCE\x72\x48\x31\x21\x01\x1F\x88\xF0\x41\x1B\x74\x1B\x2C\x7A\x43\x59\x84\x83\x0E\x8E\x23\x39\xAB\x4D\x93\x00\xD6\x0F\xE0\x07\x40\x1C\x5B\xB0\x4B\xB1\x46\x22\x8B\x70\x00\x62\x88\xD1\x0F\xDD\xF4\x4F\xDE\x01\x22\x32\x0B\x88\x7C\x42\x3E\x05\x0D\x4B\xB3\xB9\x2E\x22\xA2\x43\x87\xE8\x4B\xA1\x0F\x21\x8A\x40\x01\x7E\x6F\xE0\x83\x76\x0E\x1B\x58\x5F\x44\x8B\x10\x8B\x38\x03\x9C\x76\xE9\x4D\x05\xC5\x7D\x52\x5D\x27\x13\x7D\x86\x29\x3E\xA9\x79\xEA\x87\x92\x88\xD1\x7A\x39\x1F\x8B\xCE\x76\xDE\x4F\xFE\x30\x93\x08\x87\x0E\xC7\x0A\x81\x65\x17\x18", +"\x7B\x38\x10\x7D\x84\x28\x6D\xD1\x00\x53\x88\x9C\x3C\x3B\xF5\x03\x21\xA7\xC6\x65\x84\x89\xF6\x83\x84\x47\x9D\x75\x38\x82\x3A\x08\x3E\x22\x16\x30\x48\x3E\x3F\xFA\x83\x99\x62\xDC\x4C\x47\x4A\x61\x11\xED\x21\xA6\xE2\x77\x7D\x80\x41\x3A\x2A\x8B\x4D\x70\x85\x0A\x52\x04\x6B\x22\xAD\x9F\x22\x69\x8D\x62\x81\x89\x78\x3B\x7B\xCC\x87\xF0\x8D\x2C\x14\x96\xE4\x6C\x7F\x63\xDC\x82\x0C\x7D\x71\x86\xAA\x85\x65\x0E\xC2\x17\x99\x3C\x82\x4E\x89\x28\x81\xC9\x81\x0A\x77\x65\x83\xA3\x0D\xB5\x1A\xBD\x2E\x17\x69\x8A\xAF\x86\xAD\x6B\xB9\x86\xD1\x1D\xDE\x7A\x02\x23\xA5\xE5\x6B\xD8\x67\x96\x7B\xAA\x87\xFD\x85\xAA\x86\x83\x07\xD7\x1A\x98\x14\x9A\x79\x7E\x18\x8B\xDF\x74\x64\x89\x84\x85\x41\xE6\x4E\x0C\x97\xDA\x70\x32\x88\xFF\x7E\x05\x67\xFE\x56\xC0\x88\x9E\x91\x1A\x23\xB5\xE5\x6B\xD0\x71\x45\x61\x94\x84\x62\x5D\xA0\x86\xD6\x06\x86\x1D\xBD\x1B\x8C\x2E\x6D\x43\x85\xD6\x7A\x1F\x85\x02\x80\x62\x06\xBA\xED\x7C\x3A\x9E\x4D\x09\x19\x8B\x9F\x77\x24\x7C\xC4\x86\xB6\x11\xB4\x91\x78\x46\x8D\x3A\x84\xDB\x83\x37\x8A\xDC\x7A\xF1\x6D\x70\x0D\xEC\x04\xB2\x35\x93\x33\x81\x84\x65\xCF\x84\xD8\x15\xE2\x88\x26\xED\x20\xEB\x7C\xCF\x76\x46\x8F\x43\x7E\xDD\x87\x21\x84\x78\x87\x89\x08\xCA\x1B\xA9\x39\x98\x7F\x53\xD8\x86\x3A\x88\x66\x89\x2C\x3C\xB2\x11\x8A\xF4\x5C\x46\x8C\xD0\x7E\x19\x8A\x94\x84\x68\x89\xFC\x85\x84\x07\xA3\x23\xA6\x3A\x94\x79\x73\x96\x6C\xA4\x87\xC3\x86\x6F\x86\xE8\x11\xC6\x23\x86\xE4\x7F\x77\x82\xCB\x85\xE2\x84\x39\x7C\xDA\x85\x41\x07\xE7\x1C\xB1\x2B\x8A\x21\x85\x1A\x88\x4B\x87\x92\x83\xA3\x86\xA4\x0D\x8E\x05\xA6\x36\x89\xFF\x78\xDA\x87\xC7\x61\x94\x66\x32\x35\xB0\x11\x96\x2E\x69\x47\x82\xD1\x74\x1B\x89\x10\x65\x72\x89\x83\x73\xCB\x11\xB9\x08\xB9\x25\x81\x27\x84\x4B\x83\x53\x83\x32\x85\xDC\x86\xA8\x0B\xBB\x1B\xA5\x37\x91\x46\x8E\xDB\x86\x41\x7B\xDD\x5E\xEC\x88\x11\xF4\x0A\x86\x41\x39\x99\xBE\x73\xE4\x87\x1C\x84\x95\x86\xB5\x86\x02\x12\x99\x16\xB8\x38\x9F\x13\x84\x8F\x76\xD7\x82\x5C\x83\xC3\x85\x5A\x0B\xA7\x24\xB9\x47\x99\x8E\x8A\xA3\x78\xCA\x84\x8F\x7C\x2B\x83\x3E\xFA\x50\x17\xB5\x38\x89\x6E\x87\xE3\x86\xBB\x85\xC3\x52\xF0\x86\x22\x0D\x62\x1B\xA1\x48\x84\x6F\x8C\xCA\x86\x9C\x56\xE6\x85\x91\x87\xD7\x11\xBB\x24\xA9\x48\x80\x4A\x68\xD9\x85\x12\x7C\x90\x89\x21\x83\x89\x11\x96\x18\xA8\x15\x88\x71\x81\x90\x80\x0C\x82\xE9\x84\x8A\x7B\xDE\x06\x96\xEE\x74\x2D\x98\xB8\x71\x6E\x84\x36\x52\x8E\x88\x38\x3F\x13\x12\xDC\xB3\x55\x48\x9F\x80\x67\x21\x89\x96\x75\x08\x86\xD7\x84\x78\x09\x9B\x11\xBA\x25\x9D\x44\x8A\xF7\x75\xC1\x85\x3A\x4F\x33\x89\x81\x11\xFA\x23\x9A\x47\x9D\xA1\x7C\x1D\x88\x19\x7E\x77\x89\x6C\x84\xE0\x11\xDB\x11\x85\x49\x8B\x6E\x80\x01\x5B\x24\x86\x38\x77\x08\x89\xE5\x97\x69\x24\xB9\x67\x63\xD1\x71\xE2\x87\xDA\x86\x7B\x87\x19\x87\x66\x05\xC3\x24\x9B\x49\x82\x8F\x8B\xC0\x83\xB2\x37\xBF\x82\x24\x5B\x78\x12\xB1\x23\xBA\x49\x9D\x91\x81\xE6\x81\xCA\x87\x98\x87\x29\x87\x45\x0E\xDE\x17\xB1\x48\x9C\x59\x84\x28\x8B\xBC\x61\xCC\x86\x35\x63\x0C\x07\x97\x1A\x8D\xFF\x48\x91\x89\xA3\x7A\x45\x8A\x8F\x89\x16\x86\x57\x12\xB8\x16\x82\x49\x8D\x6C\x86\xE3\x87\xB1\x85\xC5\x83\xA0\x7B\x72\xDF\x44\x9E\x48\x4A\x89\x05\x5A\x28\x8B\xBB\x6C\xA3\x89\x57\x87\xCF\x09\xE8\x12\x99\x3B\x8E\x5C\x8B\xED\x80\x72\x85\xB7\x87\xD2\x84\xB8\x0E\xCC\xEA\x5E\x02\x97\x22\x7B\xEA\x87\x3C\x88\x9A\x89\x4D\x89\xAE\x12\x9D\x25\xBF\x48\x92\x72\x87\x65\x83\x56\x89\x96\x83\xC5\x88\xB7\x0B\x9B\x1E\xA6\x22\x64\x4B\x81\xD6\x80\x3F\x8B\xB3\x88\x1E\x89\xD1\x12\xF1\x1C\x9E\x4A\x81\x78\x84\xE6\x87\xE2\x87\x1B\x87\x82\x87\x48\x0E\xDA\x25\xA4\x70\x7B\x60\x8F\x9D\x5B\x57\x8B\x6E\x53\x5E\x89\xC4\xE2\x3F\x25\xAB\x3B\x8E\x94\x83\xE2\x82\xE5\x85\x89\x87\x62\x87\x27\x0E\x94\x25\x99\x30\x9A\x2C\x87\x94\x71\x85\x84\x8B\x86\xE2\x88\x52\x12\xAD\x25\x94\x49\x85\x8C\x82\xB5\x87\x30\x88\x05\x87\x2C\x89\x5C\x0C\xA3\x25\x98\x2D\x8A\x97\x8E\xC2\x73\xD3\x87\x49\x7C\x6F\x89\x79\x12\xE0\x25\x83\x4C\x92\x70\x84\x5B\x7F\x53\x89\xB5\x89\xF6\x85\x92\x12\xD2\x17\x87\x4B\x96\x4E\x8C\xDC\x81\x33\x86\xF0\x77\xCD\x84\xC3\x11\x81\x02\x2E\x4B\x96\x62\x50\x2F\x8A\xE2\x84\xF3\x84\x8A\x87\xB2\x0B\x96\x1E\x80\x48\x86\x4F\x8A\x30\x88\x70\x84\xC3\x88\x5D\x86\xA7\x12\xBA\x1D\x80\x15\x94\x10\x63\x32\x8B\x2A\x59\xC9\x88\x93\x87\x13\xE8\x06\x23\xAD\x48\x87\x59", +"\x86\x2E\x88\x90\x84\xB6\x88\xE2\x85\x2F\x13\x85\x07\xB3\x26\x92\x47\x8C\x29\x76\x36\x86\x53\x83\x11\x89\x66\x0C\x9B\x09\xA5\xB4\x35\x99\x8F\xA2\x5F\x66\x88\xA4\x86\x50\x87\x28\x0F\xF4\x13\xA4\x38\x96\x4F\x81\x28\x8D\x32\x87\xC6\x89\x05\x85\xF4\x0E\xE1\x18\xBE\x15\x9E\x05\x52\xFE\x62\x39\x84\x10\x80\xE6\x84\x79\x0A\xFE\x7E\x6C\x4A\x9F\xAC\x7C\x29\x8A\x5C\x8B\xB4\x88\x8B\x89\x41\x12\x98\x26\xB4\x4A\x84\x92\x86\x2B\x8B\x46\x88\x71\x85\xFF\x7C\x6D\x05\xC6\xDB\x77\x3B\x99\x08\x89\xEF\x85\x8F\x7A\xD8\x89\x80\x89\x64\x13\xE1\x25\xBC\x47\x92\x73\x8E\x1F\x8E\xD0\x83\xCA\x88\xBF\x85\x2D\x13\xE0\x17\xA3\x47\x99\x9A\x8B\x9E\x81\x93\x86\xDE\x81\xC0\x82\x76\x13\x99\x25\x92\x48\x90\x96\x83\x31\x8B\x45\x89\x09\x7D\xBE\x89\x7C\x0B\xFF\x26\xB1\x30\x81\x9C\x83\xC3\x85\x54\x89\xA6\x71\x42\x86\x38\xC0\x4A\xF4\x6B\x32\x9E\xB7\x7E\xF9\x73\x35\x59\xE3\x81\x44\x71\x51\x12\xDF\x25\x93\x49\x92\x4C\x65\x25\x8E\x66\x85\xAC\x88\xE0\x85\x08\x13\xC6\x1C\xA8\x4B\x97\x72\x8D\xD6\x81\x37\x7D\xCC\x88\x07\x85\x31\xF6\x51\x20\x80\x33\x8B\x0B\x80\x80\x68\xD6\x5D\xE7\x81\xCB\x72\xDB\xFF\x25\x1A\xA7\x04\x0F\x68\x85\xF2\x87\x69\x8A\xB5\x86\x58\x87\x04\x0E\xB2\x1D\x86\x16\x8C\x79\x85\x94\x86\xE5\x86\xA6\x4B\xD0\x86\x98\xDB\x34\x1A\xB7\x2B\x93\x8C\x8B\x85\x84\x17\x84\x62\x6A\xFB\x88\xBF\x0D\xBB\x27\xAE\x38\x94\xCF\x72\x55\x78\x78\x8A\x8C\x87\x3F\x89\xD2\x09\xC5\x25\x9E\x36\x97\x9A\x85\xEB\x29\xC7\x83\x4C\x87\x4D\x83\x0C\xEF\x0B\x16\xA8\xDA\x6B\x6A\x82\x43\x83\x00\x7E\x79\x88\x05\x08\xD3\x13\x8A\xF3\x4F\xD3\x61\x96\x81\xEB\x85\x30\x86\x57\x84\xE2\x89\x50\x09\xC6\x27\x8A\x26\x8C\x44\x87\x81\x7D\x63\x84\x74\x78\x0D\x7C\xB9\xF6\x60\x04\xB7\x49\x92\x9E\x8E\xEB\x84\x7A\x88\x89\x7A\xEB\x89\xC2\x0E\x90\x25\x90\x21\x97\x96\x8B\x3A\x8A\xE3\x85\xEB\x88\x4A\x82\xD0\x82\x6C\x07\x30\x2C\x85\x00\x83\x89\x83\x73\x85\x7A\x32\xDE\x89\xD4\x0E\xBE\x27\xA7\x3C\x94\x97\x8D\xEE\x82\x78\x8B\x50\x84\xF8\x89\x60\x09\x89\x1C\xA2\x25\x9B\x00\x80\x68\x86\xBC\x69\x97\x86\xFE\x89\xE9\x0E\xAE\x1D\xB3\x4B\x80\xA0\x88\xED\x82\x80\x8A\x29\x84\x0C\x8A\x6C\x09\xDC\x27\x92\x2E\x94\x9F\x85\x02\x80\x7A\x8A\x53\x86\x10\x8A\x9E\x0E\x92\x28\xB9\x4C\x85\x98\x8B\x33\x89\xBB\x86\xE4\x88\x5B\x86\x94\x13\xDE\x18\x86\x2C\x85\x90\x8C\xA7\x87\x40\x89\xBF\x77\x37\x7C\xBB\x08\xE2\xED\x7D\x22\x86\x77\x8B\xD1\x28\x82\x88\x84\x86\x9C\x89\xD3\xED\x6E\xCF\x53\x3A\x85\x35\x84\xC9\x83\x43\x88\x4E\x84\x1D\x80\x1E\x12\x95\xB3\x4C\x23\x8D\x64\x71\xC8\x69\x95\x83\xE2\x80\x7A\x7B\x54\xDC\x3A\x1A\x86\x04\x06\xA2\x8F\xE3\x80\x89\x89\x67\x88\x48\x86\x54\x0D\xEF\x24\x96\x35\x8F\x4D\x85\x8B\x81\x36\x87\x73\x89\xC1\x85\xE1\x08\xD1\x1D\x9C\x7F\x3C\xA2\x8E\xE4\x86\x8B\x88\x7B\x88\x30\x8A\x9F\x11\xE2\x28\xA1\x46\x84\xA3\x8D\x1C\x8E\x8C\x8A\x6D\x86\x65\x84\x95\x0B\x8C\xD9\x45\xB1\x75\xA2\x84\x8F\x87\x8A\x8B\x2A\x83\xE8\x86\x45\x14\xE9\x27\x9B\xE6\x75\xCA\x74\xA0\x85\x31\x7E\xFB\x88\x26\x86\x28\x14\xA3\x13\xAA\x50\x94\x5E\x86\x2C\x83\x20\x84\xB2\x81\x82\x84\xE9\xE6\x0F\xD2\x65\x49\x9D\x70\x80\x6B\x34\x8D\x8B\x97\x86\x37\x8A\xB5\x11\xED\x23\xB7\x46\x8F\x8F\x84\xCA\x81\x3E\x8B\xCD\x82\x4B\x86\x49\x8E\x3A\x17\x9C\x3A\x9B\xA2\x82\x48\x8C\xC1\x7B\x76\x88\xA0\x84\xDD\x11\x96\x28\x8E\x25\x89\xA4\x8E\xC4\x82\x5F\x88\x14\x86\x55\x36\x1C\x0E\x8D\x19\x95\x52\x85\xA5\x83\x8F\x78\x89\x87\x60\x84\x25\x86\x87\x14\xB3\x1D\xAC\x52\x88\x70\x8C\x25\x8C\xBE\x84\x44\x7D\x15\x87\xCD\x12\xE8\x27\xBD\x4F\x8A\x9F\x8F\x53\x79\x89\x85\x2A\x8B\x5C\x8A\xC3\x13\xDA\x27\xAD\x3C\x8B\xA4\x8A\x87\x86\xBA\x63\xEB\x88\x79\x81\x34\x5F\x12\xDF\x7F\xC5\x3F\x51\x06\x49\x8F\xCD\x84\x26\x8A\x0B\x89\x9A\x14\xCA\x23\x9C\x52\x95\x74\x8E\x49\x8B\x74\x85\x0C\x01\x87\x79\x99\xA7\x54\x29\xB4\x52\x80\xC7\x73\xF1\x82\x6F\x84\xE4\x88\x5A\x86\x37\x14\xDB\x1B\xB9\x50\x98\x65\x81\x34\x8F\xF8\x82\x2E\x81\x91\x7A\xCB\x12\xC4\x42\x6A\x4A\x8F\xA0\x83\x4E\x8B\x38\x7E\xB4\x88\x58\x89\xD4\x12\xE9\x26\xAF\x4F\x8A\xA6\x85\x3C\x8C\x99\x8B\xAD\x87\x6D\x3F\x52\xF7\x49\x49\x4E\x50\x93\xA5\x83\x4C\x8B\x90\x8B\x62\x7D\x42\x8A\xF7\xF9\x2A\x29\x86\x38\x9B\xA5\x85\xEB\x86\x9F\x8B\xBC\x87\x1A\x86\xB1\x00\xC2\xD2\x41\x53\x95\x48\x05\x4F\x89\x9E\x7B\xAB\x88\x21\x87\xA7\x13\xDC\x17\xA1\x4A\x95\x72\x85\x40\x8C\x31", +"\x8B\x01\x8B\x1C\x87\xEF\x14\xB9\xEA\x7C\x02\x8F\xC3\x55\xC5\x80\x86\x89\xEF\x88\x75\x87\x50\x13\x94\x28\xA9\x3C\x83\x96\x87\xC0\x85\x6A\x88\x7E\x84\x57\x8A\x29\x0E\xEF\x12\xBF\x03\x0E\x98\x82\xC5\x79\x90\x35\x35\x8B\x7E\x87\xD7\x14\xEC\x24\x99\x53\x98\x90\x8B\x4D\x89\x37\x89\xA9\x87\x43\x87\xA7\x0E\xBF\xFB\x74\xDD\x6A\x75\x87\x3E\x8C\xA2\x89\x41\x8A\x53\x8A\x7C\x12\xA8\x29\xBE\x49\x8A\xA8\x8F\xEE\x84\xA1\x89\xBC\x86\x87\x8A\x2F\x0F\xE2\x17\x81\x0D\x87\x0F\x52\x8D\x86\x44\x8A\x49\x8B\x08\x8A\x28\x15\xBF\x27\xAC\x4F\x81\x9E\x88\x4C\x8F\x82\x88\x3F\x8B\xF8\x89\x50\x15\xD2\x12\xBA\x5D\x7A\x9A\x88\x7A\x82\xE8\x7A\xE1\x7A\x32\x86\x48\x13\x81\xAF\x6A\x51\x94\xA7\x87\x54\x8D\x96\x8B\x29\x8A\x63\x8A\x4B\x15\xDD\x2A\xAB\x52\x9F\xAA\x89\x41\x8D\x97\x8A\x82\x87\xC5\x82\x68\x0F\xDC\x06\x9E\xBF\x7E\x1A\x85\xEE\x85\xAA\x88\xA8\x6B\xAB\x8A\x47\x14\xB2\x28\x89\x51\x95\x5F\x7B\x44\x8A\xDF\x80\x1D\x8A\xF9\x88\x40\x15\xFC\xDF\x5C\xB2\x3A\x4B\x70\x90\x75\x1F\x83\x7E\x86\x7D\x87\x56\x15\x8E\x1A\x95\x54\x8F\xCD\x7E\x38\x89\x36\x7E\xF3\x85\xB1\x83\xD6\x12\xE5\x0E\xBF\x4C\x80\x62\x8D\x4E\x89\x2C\x74\xE6\x88\xB1\x48\x79\x03\x8B\x02\x8D\x49\x85\xC8\x3B\x56\x8C\xA0\x89\x08\x8B\x5F\x87\x24\xFA\x2A\x2A\x92\x4D\x96\x97\x84\x35\x8E\xA9\x89\x78\x89\x41\x89\x83\x13\xF4\xDB\x5D\x3C\x98\xB0\x77\xDF\x72\x71\x81\x7E\x77\xDE\x83\x14\xC2\x37\x2A\x91\x3C\x99\xA9\x87\xB5\x6D\x4D\x89\x45\x82\xF8\x88\xA2\x11\x9F\x29\x85\xDC\x65\xD6\x5C\x97\x80\xEF\x38\x67\x82\x9A\x87\xA6\xB1\x36\x1E\x8F\x1F\x8F\x70\x72\xB2\x65\x58\x7A\xE2\x30\x73\x86\x41\xF2\x6F\x9B\x0F\x20\x56\x8B\x8C\xE8\x74\x5B\x2D\xED\x69\x6F\x86\xE5\x95\x0A\xE6\x49\x04\x1C\x1B\x3A\xA0\x76\xB9\x89\x42\x01\x49\x00\xD8\x15\xD9\x2B\xBC\xF1\x61\x1D\x84\xE8\x75\xC1\x07\x48\x4C\x07\x89\x6A\xC1\x45\x10\x83\x04\x0C\x81\x8E\x58\x71\xB5\x65\x42\x00\x11\x88\x3A\xF6\x4B\x8A\x42\x1B\x64\x47\x4C\x72\x5A\x02\x83\x5A\x60\xF7\x8A\x06\x01\x17\x20\x95\xA8\x6D\xA3\x6A\x95\x40\xDD\x13\x9C\x26\xE0\x88\xEA\x05\xC7\xA3\x0D\x40\x9B\xAF\x88\x2B\x76\xAC\x05\xED\x25\x44\x27\xF6\x15\x81\x2C\xA7\x04\x03\x80\x81\x5F\x8F\x09\x6A\xAC\x64\x26\x67\x84\x0B\xF9\x0E\x99\x57\x52\x94\x6F\x0C\x49\x60\x31\x4D\x54\x62\x13\xFE\x82\x76\x45\x23\x2D\x4D\x60\x0F\xC0\x00\xAC\x82\x0C\x50\xEF\x8A\x54\xDC\x16\x2C\xB5\xDC\x58\xB0\x86\x95\x02\xC0\x3F\xA1\x50\x0E\x8B\xE7\x1A\x5E\x04\x86\xCC\x6C\x6D\x61\x91\x52\xC4\x8B\x19\x52\xFA\x12\x3D\x01\x71\x1F\x3F\xA6\x1A\xC6\x14\xB9\x01\x59\x81\x6A\x19\x48\x84\xA0\xAC\x6A\xDA\x74\xD0\x3A\x7F\x8A\x9E\x50\xC4\x8B\x26\x82\x17\x8B\x64\xC8\x30\x2C\xAB\x6B\x00\x43\x09\xCA\x22\x13\x11\x21\x10\x1B\x8B\xCA\x4E\x4D\x24\xBA\xD8\x74\xA1\x31\xFF\x87\xE8\x7D\x84\x07\xE3\x28\x3C\x16\xEF\x14\xBC\x38\x12\xAF\x8D\x61\x64\x6F\x7B\xEF\x2C\x47\x1F\x32\x16\xCE\x9D\x35\x58\x90\xA4\x8B\x5A\x77\xDC\x25\x82\x8A\xE9\x80\x0D\x0E\x47\xA3\x0D\x59\x92\xB2\x8F\x0F\x04\xCA\x8A\x62\x56\x2B\x8B\x11\x06\x0E\x7D\x0D\x30\x0E\x8D\x16\x64\x8E\x73\x04\x92\x8A\x2F\x8B\x4A\x16\xC0\xB1\x45\x2D\x7C\x04\x00\x5D\x8A\x6E\x44\xA8\x0C\xBE\x7D\xA0\x1A\x4B\xDC\x5B\x02\x19\x80\x78\x7C\x07\xA6\x46\x65\x2D\x3E\x61\x78\x16\x9F\x9E\x33\x22\x02\xEF\x33\x4F\x88\x6E\x63\xC7\x26\x3B\x88\xF4\x4F\x12\x2C\x8B\x58\x45\x5A\x64\xEA\x26\x08\x62\x8B\x5E\x20\x09\xD3\x4C\x42\x83\x6A\xF3\x2E\x7D\x87\x39\x78\xC0\x67\x07\x6B\x98\x05\x37\x8D\x58\xB3\x15\x59\x26\x59\x05\x4A\x3E\xD2\x3F\x2C\x04\x30\x64\xAD\x0F\xA9\xA3\x30\x44\x86\x81\x85\x56\x8B\xD4\x7D\xCC\x04\xF3\x87\xE9\x15\x8C\x2D\xB5\x59\x84\x4B\x73\x7F\x03\xBE\x02\x9E\x4B\xC5\x39\x94\x16\xDA\x03\x9E\x00\x51\x78\x08\x69\x88\x88\x44\xD2\x03\x4D\x8B\x6D\x96\x30\x2D\xA9\x46\x3F\xB4\x8E\xB6\x3E\xD2\x3F\xA8\x8B\xA2\x03\x8A\x16\xE0\x8D\x63\x57\x88\x9F\x3C\xF6\x80\x8C\x46\x8F\x8A\x81\x00\x66\x63\x40\xE5\x4D\x38\x05\x2E\x03\x74\x5E\xCB\x5A\xB3\x2C\xEC\x2C\x0D\x88\x4D\x9A\x31\x52\x7A\x3E\x68\x5F\x8C\xC5\x0D\x78\x8B\xEA\x8A\xCB\xC7\x06\x02\x21\x02\x17\xB6\x83\x5C\x4F\xD8\x88\xFE\x1A\x6E\x8B\xD6\x01\xE1\x2C\xB4\xC8\x5C\xF9\x73\x6C\x8A\x20\x01\x58\x6D\xF2\x8A\xD4\x11\x80\x00\x3F\x1B\x6D\xA6\x6F\xE6\x73\xAE\x6E\x84\x20\x55\x75\x07\xF3\x2C\x10\xA3\x4A\x66\x08\x05\x39\x30\xDA\x75\x2C\x6A\x69\x77\x28\xC1\x24\x01\x2B\x5A\x8F\x79\x64\x78\x73\x28\x2E\xCE\x78\x4E", +"\x82\x73\xB6\x53\x29\x34\x2A\x98\x9C\x7F\x18\x66\x75\x7A\x13\x46\xB1\x01\xFE\x16\xA3\xD4\x6E\x78\x77\xAA\x53\x41\x0B\x76\x7B\xCE\x83\x28\x5B\x53\x02\x46\x1E\x8A\xF1\x66\x65\x4C\x46\x37\x47\x4E\xF4\x2D\x10\x81\x42\x59\x45\x52\x21\x78\x60\xB8\x8C\x70\x8D\x81\x0A\x42\x46\xF3\x85\x10\x17\xC7\x18\xB8\x36\x03\xB3\x57\x3A\x86\x98\x33\xC7\x4C\xEF\x0E\x59\x11\xC8\xCF\x04\x82\x68\x12\x61\x22\x85\x9E\x41\x40\x00\xEE\x8A\x56\x8C\x73\x18\x61\x5B\x94\x67\x61\x08\x7B\xBE\x88\x46\x89\xC6\x78\x9F\xF1\x25\x15\xAE\xC4\x75\x2A\x09\x08\x7A\x3B\x81\x19\x7F\x9F\x87\x78\xE5\x36\x0B\x8C\xC6\x6E\x8C\x7A\x10\x7A\x34\x7A\x29\x78\x03\x7C\x6C\xF1\x40\xF1\x4C\x1B\x2F\x8B\x70\x3B\x32\x94\x72\x02\x6B\x93\x00\xC0\xFB\x11\x1E\x0D\xC2\x65\x86\x73\x1B\x7B\x35\x7D\x5F\x79\xA0\x8B\xEC\xF7\x3A\xE3\x4A\x5D\x8E\x8B\x76\x13\x7C\x7B\x7C\xFD\x7C\x60\x78\x60\xF1\x31\xE1\x40\xC4\x60\xB9\x83\x18\x2C\xE8\x8A\x24\x17\xAB\x8B\x72\xD1\x39\xE3\x5F\xC4\x7C\x8A\x79\x1A\x7E\x2B\x7A\xA1\x59\x1D\x07\x72\xFB\x71\xD6\x44\xC3\x7D\xEB\x76\x76\x8F\x1D\x7D\x5A\x79\x5C\x78\x59\x17\xEB\x2E\x9C\xE1\x6C\xBA\x81\xF1\x69\x2E\x7B\xC1\x7D\xB9\x78\xD7\xF0\x63\x2E\x8F\x5C\x85\xBB\x89\x73\x8D\x2C\x8B\x29\x7D\x79\x78\x22\x03\x10\x15\x9C\xE3\x7A\xBA\x8B\x8D\x7B\xE9\x89\xD7\x8B\x5E\x85\x65\x46\x08\xE3\x60\x0F\x55\x87\x72\x74\x8F\xE6\x89\xDD\x8A\xEA\x60\x68\x17\x94\x2F\xB9\x5D\x96\x4B\x00\x12\x7B\xC6\x1C\xDF\x8B\x5D\x77\xE7\x08\x19\xE3\x7F\xC3\x70\x8D\x7A\x47\x82\x36\x78\x46\x79\xD3\x81\x41\xF1\x03\x0C\x0A\x5E\x9C\x8B\x7C\x78\x8B\x1A\x86\xE3\x8B\xAE\x78\x90\x17\xEB\x89\x2D\xC6\x77\x9D\x66\xD1\x85\xF4\x8B\x45\x78\xBB\x04\xC6\x05\xA9\x2F\xA8\x06\x3F\xD0\x70\x13\x05\xF3\x8B\xEB\x8B\xB6\x8B\xE6\xC4\x21\x36\x4B\xC2\x67\x91\x55\x7B\x8D\x00\x89\x59\x79\xC2\x8B\x8F\xF1\x3D\x1A\x7C\x5E\x9C\x9B\x6C\x76\x8C\x30\x7B\xFC\x7C\x96\x2A\x7E\x01\x3A\xE2\x60\x0F\x5C\x89\x74\x75\x8F\xF4\x8A\x61\x7C\xB4\x8B\x44\xFC\x56\xF3\x49\x5D\x8D\xBC\x8C\x75\x88\xF6\x89\x05\x7F\x05\x7E\x11\x0B\x41\xE1\x4E\xC5\x65\xBE\x84\x02\x89\x2F\x78\xF2\x8B\xA2\x8B\x2F\xF1\x4D\xE2\x76\xE8\x6D\xBD\x82\x90\x7C\xEF\x8B\xC4\x78\xB0\x8B\x6A\xF1\x44\x64\x78\xEA\x7D\x89\x7F\x0E\x7D\xEA\x8B\x6F\x7D\xBB\x8B\x06\x01\x3C\xF6\x73\x45\x9B\xC9\x7E\x7B\x8D\xFB\x88\xF0\x8A\xCE\x76\x6B\xFC\x39\xE2\x67\x04\x1F\xD3\x7E\x0F\x8C\x00\x8D\xBE\x6E\xA0\x7E\x84\x17\xF6\x2F\x9A\x5F\x88\xBB\x86\x80\x8F\x06\x7F\x01\x7D\xFE\x8B\xBC\xF1\x6D\x0A\x14\x2B\x91\xBC\x8B\xE3\x02\x4E\x7F\x07\x6A\x0B\x8C\x50\xF1\x16\x2F\xA7\x5F\x87\xBB\x88\x7F\x8B\x20\x00\x06\x8D\x0F\x7C\x87\x17\xCA\x0A\x10\x60\x88\x8A\x72\x81\x8D\xF9\x7D\x12\x2B\x7E\x78\x9A\xF1\x64\x2F\xB3\x1A\x9E\x8C\x7A\x80\x8A\xE7\x8B\x4E\x7D\x59\x04\x64\xFA\x48\x2E\x93\xC6\x7B\xBF\x8C\x77\x8C\xFB\x83\x8E\x07\x29\x7D\x1F\xD4\x38\x30\x99\x60\x96\xBD\x82\x15\x7E\xFA\x8A\xD5\x8B\x0E\x8C\x02\x01\x3A\x30\xA0\x60\x9B\xB9\x82\x82\x8D\xF9\x8A\x65\x79\xE0\x8B\xBF\xF1\x22\xE7\x7D\x45\x9B\x9E\x70\xC5\x5C\xBD\x88\x09\x7B\xF9\x7A\x00\xF5\x3E\xD9\x62\x50\x89\xA9\x84\x42\x8F\x51\x88\xF6\x88\xC6\x86\x04\x14\xB5\x25\x86\x3C\x92\x57\x88\x16\x8C\x7D\x7B\x83\x83\x16\x80\x95\xF6\x66\xEF\x54\x46\x9C\x42\x8B\xAF\x80\x4A\x8B\x7A\x8B\x04\x7B\xC1\xF9\x56\xB7\x44\x53\x8D\xC0\x78\x50\x8D\x10\x87\x15\x8C\x1A\x87\x6B\x13\x93\x25\xB0\x56\x8A\x9F\x7D\x85\x8A\xFF\x78\x06\x83\x51\x74\xA8\x11\xA3\xC1\x5B\x99\x76\xFF\x7A\x25\x85\x35\x89\x7B\x67\x36\x47\x4E\x18\xCC\xE8\x45\xE4\x7B\x93\x86\x8C\x7D\x4F\x88\x4C\x7C\x13\x8A\x93\x09\xAE\x2A\x89\x30\x90\xA9\x8D\x25\x8C\x69\x84\xC7\x85\xE7\x75\x5D\x0D\x80\x2C\x9F\x09\x9C\xC0\x7C\x5F\x69\x10\x8F\x8B\x7A\x9E\x7C\x64\xC8\x51\x30\x88\xB6\x62\xAC\x8F\x45\x8A\xA5\x85\x18\x8A\x49\x86\x22\x0C\xAE\x1A\x95\x32\x83\xAE\x87\xBB\x6D\x11\x87\x31\x75\x47\x84\xC4\xF6\x66\x15\x4D\x50\x8A\x6D\x89\x10\x06\x12\x8E\x25\x7B\x41\x8C\x65\x13\xFB\x26\xA3\x4B\x87\xA7\x84\xE7\x81\x9D\x8A\x9D\x87\x75\x8A\x6C\x0D\xEE\x26\x93\x9A\x57\x13\x8F\x57\x8D\x15\x8C\x1A\x8C\x1C\x7D\x79\x13\x8D\x27\x97\x54\x8C\x91\x89\x51\x8F\x85\x86\x2D\x8C\x82\x87\x5A\x18\xE9\x25\x9F\x54\x94\x91\x82\xD9\x86\x85\x89\xD8\x89\x1F\x05\xAE\x18\xFB\x09\xB0\x62\x9A\x9B\x85\x4E\x88\xE0\x84\x2D\x8C\x81\x87\xC7\x18\x98\x1E\x9D\x54\x99\x96\x8C\x85\x8A\x6B\x86\x1C\x83\x2F\x8C\xF5\x0A\xCA", +"\x27\x9F\x2D\x87\x6D\x83\x44\x8E\xAF\x8A\xEE\x5C\x83\x00\xD1\x18\xDC\xE9\x48\xE6\x79\xCE\x7B\x86\x8E\x25\x7E\x21\x8C\xCF\x7C\x88\x18\x87\x14\xB4\x55\x89\xA1\x8A\x41\x88\xA6\x81\x7D\x87\x28\x8A\xB8\x0D\xC9\x05\xA5\x01\x90\x46\x8C\xF7\x52\x89\x74\xAC\x33\x74\x8C\x14\xF5\x21\xF4\x6A\x49\x8B\x8F\x89\x49\x88\x8E\x8A\x7B\x88\x39\x8A\xC0\x15\x87\x2B\x82\x57\x8F\xBC\x7A\xC6\x50\x8D\x8A\x12\x81\xC0\x6C\x00\x19\xA3\xEA\x53\x63\x82\xC6\x87\x4F\x88\xA3\x89\x3E\x8A\x2C\x89\x3D\x13\xC8\x1B\xB2\x61\x8D\x9B\x86\x24\x8D\x47\x80\xE5\x85\xE6\x6C\xF1\x08\xA9\x19\xA4\x01\x96\xA2\x84\xD1\x58\x95\x55\x44\x8D\x9C\x7A\x13\x19\xA4\x27\x84\x4C\x9C\x63\x86\x30\x8E\x8F\x85\x46\x8D\x0B\x87\x9B\x15\x82\x19\x9D\x56\x92\xFF\x77\xD2\x5F\x74\x84\xD1\x88\x74\x73\xBC\x02\xFB\x1B\x93\x52\x97\x8F\x8E\x8B\x88\xC4\x78\x4F\x7A\x76\x8C\x06\x15\xEB\x27\xAD\x61\x90\x4E\x8F\x86\x89\x52\x89\x1C\x8C\x8D\x89\xF5\x18\xC8\x1D\x85\xE1\x62\xA5\x82\xB4\x5F\x24\x8C\x58\x7B\x57\x7A\x67\xF4\x3A\xBA\x4B\xD6\x6E\xAB\x89\x54\x88\xAE\x8B\x21\x8D\xA2\x8C\x03\x14\x9A\x2B\x9B\x63\x80\x9A\x8B\x8C\x89\x1E\x51\x2C\x8B\x7D\x87\x27\x01\x4E\x32\xB6\xD5\x61\xAB\x71\x17\x8A\x0A\x77\x26\x8D\xAC\x8A\x13\x14\xD5\x30\xB5\x4B\x8C\xA9\x8B\xF2\x83\x1E\x8E\x22\x8B\xA4\x8C\xDE\x0E\x96\x25\x96\x2F\x9B\x5D\x78\x8E\x8F\x17\x8D\x09\x7B\xB1\x7A\x27\xF5\x28\x2B\x8D\x4A\x8A\xCB\x85\x41\x8A\xAE\x8B\x42\x8A\xB7\x8C\xAD\x14\xF3\x30\xBB\x4B\x86\x4D\x81\x34\x81\x55\x88\x93\x87\xB0\x8C\x76\x19\xD0\x30\x8A\xD6\x69\xA3\x76\x4F\x8E\x6C\x88\x3E\x8A\xB4\x89\x18\x19\xD9\x31\xA7\x4B\x89\xC6\x8C\x3A\x8B\x6D\x62\xFC\x84\x0A\x61\x62\x19\xA3\xF2\x77\xD5\x62\xAB\x7C\x4C\x7C\xAC\x7A\x5E\x8C\x60\x89\x43\x19\xC2\x25\xB1\x63\x90\x6F\x8A\x88\x8A\xBE\x86\x5D\x8B\x0D\x8A\x84\x19\xFA\xB9\x6C\x17\x5C\xE7\x6D\x94\x89\x31\x8C\x44\x76\xA9\x8C\x8C\x19\x96\x2A\x95\x64\x84\xC6\x87\x91\x8A\x56\x8A\xDA\x89\x2C\x8C\x6C\x13\xDB\x30\xBA\x62\x8A\xC6\x4B\xE6\x87\xF4\x75\x6B\x8C\x9F\x8C\xC2\xE2\x72\xF1\x64\x53\x87\x99\x86\x4E\x89\x65\x8B\x7F\x89\xCC\x8A\x3A\x0B\xB8\x31\x9D\x37\x96\x9C\x80\x0B\x83\xCF\x86\x44\x8B\x26\x8C\xAE\x19\x9F\xDB\x6E\xE6\x72\xAD\x74\x31\x8A\xB9\x79\x6D\x8C\xD4\x89\x2F\x19\xE6\x1C\xB1\x64\x80\x6C\x85\x29\x88\xE6\x85\x48\x8B\xA7\x8C\xA7\xD2\x0B\x1D\xA4\x54\x85\x5B\x59\x99\x8A\xBE\x7B\x6B\x8C\xBB\x70\x83\xF4\x43\x33\xA9\x2F\x88\x99\x87\x59\x8B\x76\x84\x72\x8D\xDA\x85\xDB\x19\x99\x1C\x9D\x64\x87\x72\x6E\xC4\x57\xFC\x73\x6F\x8D\xFB\x79\x99\x18\x8B\x33\xB9\xB4\x6F\xBF\x75\x9D\x89\xFE\x7B\x35\x8D\x72\x89\x92\x19\xBE\x26\x9B\x65\x9C\xAC\x8D\x95\x89\xB2\x86\xC7\x89\x99\x82\x40\x99\x3A\xF8\x25\x67\x90\x42\x7A\x98\x8E\x27\x7F\x0E\x7A\xA4\x8A\x85\x18\xCA\x2A\x97\x65\x8C\xAA\x8F\x1D\x8E\xB5\x8A\xA0\x88\x8E\x8C\xCC\x19\x87\xD0\x6A\x1D\x9B\x05\x88\x9A\x80\x22\x8D\x74\x8C\xE3\x79\x51\xEC\x3B\xF0\x6B\x64\x99\x6C\x8D\xC7\x80\x74\x86\xF0\x83\x94\x81\x97\x05\xF2\x27\x98\x3A\x89\xAF\x79\x57\x8F\x50\x52\xF4\x76\x68\x87\xEC\xF9\x75\x32\x80\x67\x8F\x40\x77\x96\x8B\x0A\x8E\x56\x8B\xD0\x8C\xED\x13\xEC\x17\xBB\x53\x99\x98\x8F\xBE\x80\x2E\x8C\xB2\x89\x64\x87\xF4\xFC\x4B\x1D\xBA\x55\x98\x8B\x3A\x79\x6B\x39\x86\x49\x8D\x0F\x8D\x9E\xF5\x19\xD9\x44\x62\x9C\xCC\x7F\x8E\x8D\x3B\x7F\x68\x8C\x62\x87\xA5\x19\xC6\x1D\xBE\x68\x9C\x98\x84\x38\x88\xF7\x7A\x84\x8A\xC7\x8A\x69\x15\xF3\x0A\xB1\x68\x87\xC3\x83\xA3\x8E\x2C\x8E\x37\x7A\x4E\x8C\x6F\x14\x9E\x31\xB1\x51\x80\xC5\x80\x27\x8D\x89\x8A\x9C\x88\x0E\x89\xB2\x09\x9F\x2B\xB9\x58\x90\x8B\x5A\xC9\x84\x1F\x8D\x62\x75\x4D\x82\x7E\x7A\x0B\x34\xA1\x3C\x60\xC6\x8A\xA4\x89\x16\x8D\x35\x8D\xFE\x88\xC6\x19\xFE\x26\xAF\x67\x81\x90\x81\x9F\x88\xCD\x85\x77\x8D\xEB\x84\x56\x1A\xAF\xB6\x5F\x3C\x94\x9B\x81\xF2\x86\x95\x86\xCE\x3E\x68\x8C\x48\x1A\xD1\x32\xA8\x67\x93\xCA\x8A\x9E\x8E\x96\x8A\xFA\x84\x5C\x8A\x3A\x1A\x88\x29\x80\x66\x9C\xA5\x8C\x88\x8E\x97\x88\x83\x85\x67\x8A\xBC\x0C\xEB\x13\x84\x1A\x77\x08\x82\xCC\x86\x76\x88\xCE\x87\xBB\x15\x49\x08\xF4\x32\xA7\xEA\x09\xD4\x81\x48\x78\x8D\x7B\x7E\x8D\x11\x7C\x95\x15\xDA\x17\x85\x63\x84\x72\x89\x3A\x8A\x54\x89\x9F\x8D\x01\x89\x3B\x14\xE9\x10\xA0\x63\x9F\x9E\x81\x19\x8B\x79\x89\x5D\x5C\x0F\x82\x30\x00\x9C\xD7\x4E\x63\x9E\xCC\x61\xC8\x30\xBE\x8B\x13\x8D\xF3\x8C\x97\xE6\x0C\x35\x8D\x66\x92", +"\xC5\x87\x36\x8C\x5C\x88\xA8\x89\x56\x8D\x1C\x15\x94\x33\x86\x50\x84\x90\x82\xAB\x89\xC4\x83\x15\x84\xF0\x89\x1B\x04\xAF\x0A\x0C\x2C\x8E\x43\x87\x59\x75\xA9\x87\x33\x8C\xC3\x17\xA4\x1A\xF8\xEA\x7A\xD0\x69\xCF\x83\xAC\x8F\x4E\x8C\xDF\x89\x3C\x8D\x91\x13\xFB\x34\xAC\x4C\x8F\xD5\x82\x23\x8B\x3E\x8C\x33\x8D\xFA\x89\x90\x18\xF7\x27\x9F\x2C\x91\x35\x62\x1C\x8A\x54\x8D\x30\x1F\x6C\x8D\x9C\x19\xF9\xEA\x5E\x66\x9E\x9F\x80\xE3\x84\x2F\x8F\x4A\x8B\x27\x8D\xDA\x0E\xBC\x34\x9C\x3B\x93\xD2\x88\x35\x8B\x63\x87\x03\x81\x17\x7C\x1F\xF4\x0C\x28\xB2\x2C\x82\xDA\x5E\xAB\x8A\x10\x8E\x40\x8D\x45\x89\x6B\x12\xBD\x2B\xBB\x54\x8E\x93\x84\xA6\x8B\x8C\x89\x9C\x88\xD8\x84\x73\x12\xC3\x09\xA5\x47\x84\xD8\x80\xAF\x8D\x2C\x8E\x49\x7A\x29\x8C\x9F\x19\xA3\x28\x9B\x55\x97\x9E\x84\xA1\x88\x50\x8A\x85\x8C\xAB\x89\xFC\x1A\xCB\x16\xAC\x50\x88\x5B\x7E\xB4\x81\x47\x88\xB6\x8D\x2E\x8D\x17\x1B\xB5\x34\x99\x6C\x94\xC2\x8B\xB1\x89\x80\x88\x56\x8D\x13\x8A\x93\x1A\x8D\x2A\xA1\x6C\x87\x78\x7C\x43\x8D\xEA\x84\x1E\x8C\x26\x83\xAD\xE9\x0A\x24\xB9\x16\x68\x65\x55\xB0\x8F\x12\x8D\x4A\x8C\xAA\x6C\xA9\x1A\x93\x1C\x86\x6B\x97\x98\x8B\xA3\x8F\x28\x8D\x8F\x8D\xD3\x8C\xF6\x18\x94\xE2\x09\xBD\x60\x91\x87\x93\x89\x75\x87\x3E\x8D\xE7\x86\x24\x12\xA9\x1B\x8D\xE2\x7F\x51\x0D\xB3\x8F\x15\x8F\xC1\x8C\x5F\x89\x09\x1B\xC1\xCD\x7E\x56\x92\x45\x8E\xB0\x8E\x4C\x8C\xC4\x8C\x34\x8D\x67\x14\xAA\x05\xA0\xE2\x65\x5C\x8D\xB4\x6B\x14\x7D\x60\x6D\xAA\x8D\xD2\x18\xD7\x36\xB1\x4B\x99\xDA\x8F\xCA\x77\xF1\x81\xC3\x8D\x39\x8A\x0F\x1B\xE5\x28\x91\x6C\x97\x2F\x6A\x6A\x81\xBC\x86\x1E\x8A\x43\x86\x7C\x14\xCF\x11\x90\x6D\x82\xB3\x6B\xA5\x8F\x5D\x8C\xCA\x8C\xBC\x8C\x18\x1B\xF4\x35\x80\x3B\x96\xD7\x8B\x5A\x8C\x2D\x8F\xBD\x89\x28\x8D\xF9\x12\x82\x33\xAF\x52\x89\x46\x8E\x48\x8C\xDB\x80\x43\x75\xCB\x85\xD0\x06\xBA\x09\xAC\x2E\x8C\xC5\x85\x61\x1D\x62\x8E\x53\x89\xE0\x8C\x53\xF9\x41\x32\x85\x53\x97\xA5\x87\x4C\x89\x52\x8E\x2E\x8B\x98\x8D\x4F\x15\xB3\x36\x8C\x52\x82\x6C\x86\x91\x82\x93\x6C\xC5\x8D\xBF\x8D\x9D\x19\xF9\x32\x82\x6E\x89\xAD\x84\xB8\x88\xB6\x87\xD4\x89\xBE\x86\xC3\x07\xAA\x16\x85\x1F\x9A\x22\x81\x8C\x37\x2B\x8D\x64\x8B\xCA\x8D\xA8\x1B\xF2\x35\xAA\x6E\x8D\xC7\x8B\x9D\x7D\x49\x8C\x29\x84\x7C\x8D\xC4\x12\xFA\x35\x86\x4B\x82\xDD\x8D\x4C\x8F\xBB\x37\xA5\x88\x20\x6E\x27\x1B\xF8\x33\xA0\x41\x9A\xCF\x89\xDB\x75\x5B\x8C\x71\x8C\x6B\x8C\xE0\x1A\xE8\x29\xA2\x6B\x80\x9C\x84\xAE\x8C\x54\x89\x6C\x8B\x90\x7C\xDF\x19\xE3\x32\x90\xBE\x71\xA6\x86\x92\x7F\x7E\x40\xD5\x8C\xCB\x8D\xA8\x0F\x98\x37\x9A\xE6\x70\xD0\x8C\xA4\x8A\x42\x8C\x3C\x8D\x97\x8D\x89\x18\x9F\x36\xAF\x54\x8A\xDC\x81\x18\x67\x32\x8C\x7F\x6A\xB4\x8D\xEA\x18\xE9\x30\x87\x85\x7C\xDD\x85\x9F\x78\x47\x8C\x57\x8A\xCF\x8D\xC9\x14\xC2\x37\x9B\x4F\x84\xDE\x8F\x4F\x8A\xAA\x8A\x6A\x8D\x06\x07\x5C\x0E\xC4\x9E\x70\x6F\x81\xC8\x82\x9F\x7B\x01\x7C\xFD\x8D\xEA\x89\x2D\x1B\xA5\x28\xA8\x6F\x92\xC7\x8A\xBF\x8B\x99\x88\xFF\x8D\x87\x8A\xA7\x00\x85\x69\x48\x14\x8C\xA7\x73\xC0\x8A\x22\x8E\xDA\x8C\x93\x89\xEB\x19\xC5\x33\xAD\x67\x8A\x99\x83\xBD\x8B\x72\x89\xF5\x8D\x85\x89\x05\x1A\xBC\x33\x99\x0C\x8D\x7D\x70\xC5\x5D\x82\x8C\x4A\x8D\x0B\x8E\xBC\x15\xDA\x36\x8B\x6C\x9F\xAD\x8D\x49\x89\xB8\x8A\x37\x8B\xCD\x77\x1B\x1A\xA3\xEA\x63\x54\x9C\x7B\x6B\xFF\x56\x84\x8C\x78\x8D\x9F\x8D\x17\xF9\x43\x31\x8F\x4E\x91\xDE\x85\x8B\x8D\x83\x8C\x0E\x8B\x0F\x8E\x2E\x13\xA1\x38\xBA\x39\x95\xCF\x8F\x32\x84\x82\x8C\xF8\x8D\x9E\x7C\x3F\x19\xF3\xF3\x47\x70\x9F\x9F\x89\xC0\x8E\x0A\x8D\xC7\x8D\xEC\x89\x0D\x1C\xFD\x29\x8F\x70\x91\xAA\x8D\x31\x8C\x9C\x65\xAA\x86\x9A\x82\x3E\xA6\x36\x38\x9A\x6F\x98\xC4\x8B\xBC\x8E\x41\x8C\xB7\x8C\xD9\x8C\x8E\x19\x96\x32\x90\x66\x96\xCD\x85\xB4\x88\x37\x8F\x46\x8C\xDD\x8C\xE6\x1A\x85\x93\x7B\x32\x9A\xF0\x53\x33\x8C\x95\x7A\x16\x8E\xCD\x8C\x64\x19\x97\x37\xB4\x68\x9F\xD2\x88\x96\x8B\x86\x88\x4B\x8D\x1A\x8A\xC6\x0D\xD9\x33\x8A\x46\x83\xD0\x82\x93\x8A\x88\x8C\xC2\x86\xB2\x8A\xFD\x09\xCC\x0A\xA3\x03\x9E\x14\x7B\xDF\x81\x6A\x82\xA3\x69\xEF\x8D\xB9\x1B\xDB\x35\x82\x6B\x80\xE3\x84\xAC\x8F\x31\x8F\xD0\x8C\x7D\x8A\x92\x1A\xD1\x38\xA0\x55\x93\xE2\x82\x56\x8D\x4A\x8D\x90\x8D\x70\x87\xE6\xF9\x63\x1D\x96\xD7\x7D\xAB\x85\x22\x8E\x02\x6A\xDF\x8C\xE5\x8D\x02\x11\xCC\x37\x87\xD7\x74\xCE\x81\xB4\x8D", +"\x62\x8B\x23\x8F\xC8\x8C\x3E\x1C\xEA\x29\x80\x71\x82\x9C\x8F\xA7\x8B\xAC\x89\xE1\x88\x7B\x87\xDB\x09\xA0\x1E\x98\xDC\x70\xAC\x8E\xC9\x89\xFE\x1F\x11\x8F\xFC\x8C\x5E\x1C\x8B\x39\x94\x56\x9A\xE1\x86\x59\x8B\x7D\x84\x66\x8B\xDB\x8C\x5A\x19\xCA\x35\x9E\x54\x9B\xCD\x82\x5D\x7B\xB6\x88\xE4\x8D\x01\x7B\x1A\xFA\x40\x00\x8E\x3C\x87\xF3\x58\xC8\x88\x94\x8F\x3D\x88\x51\x8E\xAA\xF8\x0D\x35\xAF\x55\x9C\xDC\x81\x57\x88\x7F\x8E\x57\x8A\x49\x8E\x75\x15\x95\x35\xB7\x55\x9F\x76\x88\x10\x83\x6B\x89\xEE\x83\x3C\x74\x72\x05\xA2\x1E\xA9\xD5\x4D\xE6\x8F\xAB\x8A\x3A\x8E\x70\x7C\x46\x8E\xDE\x1A\xB3\x31\xBC\x70\x98\xC6\x89\xCA\x8F\x16\x8F\x2A\x8F\xCA\x89\xD7\x1B\xAE\x27\x99\x6F\x90\xE3\x80\x63\x7F\xBC\x6F\xA6\x8C\x25\x7D\xCA\x15\xA4\x59\x45\x6E\x63\x69\x8E\x17\x8C\x42\x62\x7E\x8B\x72\x8E\x20\x1A\xF2\xDA\x7C\x67\x85\xE5\x86\x9D\x8B\x8C\x8C\x76\x8D\x00\x8D\x1A\x19\xC8\x32\x88\x6D\x8E\x7D\x3E\x3D\x8C\x8E\x83\x8E\x82\x53\x74\x3D\x06\xD9\xF0\x70\x9A\x3F\xE7\x86\xB0\x8D\x80\x8F\x4F\x7C\xCD\x8D\x6C\x18\xBE\x37\x85\x28\x80\xDE\x8D\x52\x8A\x7D\x8F\x22\x8C\xF6\x8D\xBB\xB2\x4D\x35\xB7\x61\x8F\xD6\x85\xAB\x8D\x0D\x87\xFD\x7F\xDC\x75\x70\x08\xF5\xD9\x54\x74\x9E\xD9\x88\xC2\x88\x4C\x8D\x41\x8C\x31\x8D\x07\x19\xEF\x36\x89\x64\x91\xDB\x85\x47\x8B\x6E\x8E\x02\x6F\xDE\x88\xA1\x86\x60\x0C\x9F\x59\x80\x44\x8C\x5F\x6B\xA5\x8E\xD5\x8C\x8B\x8E\x0F\x1A\xD4\x32\x91\x68\x96\xCA\x87\xBE\x8F\x89\x8C\x16\x8D\x60\x8E\xB9\x19\xCA\x31\x84\x73\x9D\x32\x86\x8A\x8A\xD8\x78\x2A\x8C\x39\x83\xF1\x16\xD2\x08\xAC\xD3\x7E\xE9\x89\xB6\x88\xA8\x8F\x17\x8F\x5D\x8E\xB3\x19\xBB\x38\x9B\x70\x87\xCE\x80\xCC\x89\x39\x8F\x3B\x8E\x1D\x8A\x19\x1A\xCA\xF6\x3C\x62\x98\x94\x87\x3A\x6F\x96\x8D\x17\x8F\x24\x8E\x06\x1C\x98\x3A\xAE\x63\x86\xDF\x8E\xA4\x8B\x81\x8C\x69\x8C\x8F\x8E\xA6\x19\xDA\x39\xA8\x66\x83\xD9\x8D\x68\x83\xB2\x87\x83\x89\x40\x36\x54\x1D\xF1\x37\xB4\x69\x9E\x6A\x7B\xA4\x8C\x90\x8A\x46\x8E\x43\x8A\xD6\x1C\xF3\x2A\x98\x73\x94\xC7\x8B\xD0\x88\x8E\x82\x37\x8D\xE9\x79\xB3\x1A\x8E\x3A\x9E\x2D\x90\xC3\x7E\x13\x72\x0E\x7C\x9C\x8D\x8D\x2E\x79\x1D\x84\x38\xAB\x63\x8A\xE2\x8A\xD6\x8D\x77\x8C\x5B\x8F\xDF\x8D\x6E\x1D\xD0\x34\xB0\x75\x92\xD2\x85\xD8\x8F\x47\x8E\xD2\x8C\x24\x89\xD8\xBC\x53\x28\xBB\x51\x8D\xEE\x69\x93\x89\x4B\x8C\xA8\x81\x7B\x79\x78\x1D\xE6\x3A\xA1\x72\x99\xE5\x81\x9B\x88\xAB\x8D\x18\x8E\xDA\x8C\x06\x1D\x9A\x2A\x88\x6B\x90\x91\x8F\xD5\x8C\x9D\x8A\x1F\x8E\x37\x83\xF0\xD4\x36\x24\x9D\x27\x9A\x24\x86\x8E\x89\x85\x61\x42\x01\xC8\x8E\x16\x1C\xD6\x3A\xBA\x72\x84\xE5\x8C\xCB\x8A\x55\x8F\x75\x8C\xD9\x8E\x7A\x1C\xDA\x24\x8A\x74\x92\xEB\x89\xB4\x8C\x71\x8C\x21\x82\xB0\x77\x21\x19\xD4\x28\xA4\x76\x9E\x14\x8D\x2B\x80\x95\x54\x70\x8F\x13\x8E\xC2\x1D\xAD\x3B\x84\x77\x99\xEA\x8D\xCB\x88\x52\x8F\x2F\x8F\x32\x8E\x48\x1D\xE7\x38\x8A\x75\x89\xE3\x88\xB0\x87\x4B\x88\x41\x84\x85\x87\xA5\x1D\xA3\x2B\x98\xB7\x5E\x55\x73\xD5\x8A\xB5\x8F\x33\x8E\xD6\x8E\xA7\x1A\xA2\x34\xBD\x67\x9E\x5D\x8B\xAA\x8E\x45\x8B\x46\x8A\xDA\x8E\x7C\x1C\xDC\x33\x83\x66\x8B\xD4\x5C\x94\x8D\xBD\x8D\x22\x8E\x81\x86\xDA\x1D\xD7\xEF\x44\x74\x9E\xCF\x8B\xCE\x88\x40\x8D\x3B\x8E\x64\x8C\x49\x1D\x95\x33\xA4\x77\x82\xB8\x36\xBB\x8D\x17\x8D\x7E\x8A\xF7\x8E\xE2\xB9\x70\x3B\x8D\x6F\x88\xE7\x8F\xBC\x88\x4F\x8F\x56\x8E\x3D\x8D\x5D\x1D\xF0\x33\xB9\x77\x92\xCF\x81\xD6\x88\x49\x3B\xF1\x8C\x43\x67\xA9\x1D\xFF\x3B\x82\xD2\x63\xEE\x82\xE0\x8D\xB8\x8E\xD0\x8D\xFF\x8C\xC7\x1A\xC9\x3B\x89\x4C\x95\xED\x89\x8B\x8B\xC1\x8D\x93\x71\x35\x8E\xAB\xA3\x06\x33\xA6\x49\x85\xEB\x82\xE2\x8E\x54\x8F\x84\x8E\xD7\x8E\x8D\x1C\xE2\x38\xA7\x72\x84\xE3\x81\xC9\x8E\x68\x8F\xBE\x8D\xCE\x8E\x4D\x77\x6E\x37\xAA\x74\x90\xF0\x82\x04\x8E\x4B\x8E\x77\x7A\x97\x8E\xD8\x14\x86\x32\x9B\x52\x88\xC8\x8D\xC2\x8A\x21\x8F\x0B\x8E\x6A\x80\xC5\x15\xCB\x85\x41\x70\x81\x99\x80\x00\x07\xBA\x8F\x0D\x8F\x96\x8E\x75\x1C\x83\x2B\xB0\xB2\x6C\xE1\x8C\x4D\x8E\x85\x8F\xFE\x85\xB7\x7C\x9D\xC9\x53\xEE\x7B\xBF\x56\xF2\x8B\xC5\x88\x87\x8C\x61\x89\xF9\x8E\xC4\x0D\xF8\x38\x88\x46\x8A\xF1\x8A\x3A\x8A\x98\x8C\x37\x8D\xA5\x8E\xAB\xB6\x6C\x25\xBD\x74\x84\xF2\x87\x05\x8B\x8E\x8F\x91\x8F\x2C\x8F\x9D\x18\xEB\xD9\x62\x3A\x94\x74\x8E\x53\x8C\x4E\x82\xE1\x83\x9C\x84\xA7\x09\xE5\xEE\x54\x6E\x83\x08\x04\xE6\x8C\x9E\x8C\x17\x8F", +"\xD5\x8E\x68\x1D\x97\x3A\xA4\x6F\x9E\xEB\x87\xD9\x8B\xA3\x8D\x66\x8F\x7C\x8D\x3E\x1E\xC3\x37\x80\x79\x9D\xD7\x81\xC1\x8D\xF1\x66\xF6\x61\xEF\x5C\x85\x1E\xE6\x33\xA6\x73\x8A\xC3\x85\xD9\x8D\x7E\x8F\x5F\x8F\x84\x8A\x7E\x19\xCD\x2A\xA0\x6E\x8F\xAD\x88\xA1\x89\x9E\x8C\x02\x8A\x44\x69\xF1\xC3\x58\x38\xBA\x94\x59\xF4\x8C\xA0\x88\x58\x8E\xE2\x72\x12\x8F\x03\x1D\xA6\x3C\xA6\x72\x88\xF1\x84\xB4\x8D\xC7\x8E\x19\x8F\xE5\x8E\x20\x1D\x96\x35\x8E\x53\x93\xE7\x85\x26\x53\xD7\x84\x79\x77\x07\x8F\x35\x1E\xB0\x33\xB1\x77\x8D\xC2\x73\xA2\x8E\x4A\x8B\x71\x8E\x63\x8C\x07\x1E\xDA\x31\xAE\x79\x9C\xCA\x80\xE7\x8A\xF5\x78\x20\x8F\xA5\x82\x25\xB1\x4E\x1D\xA3\xB2\x44\xDB\x81\xDD\x6E\x90\x8C\x33\x8E\x1A\x8F\xCE\x1C\x91\x3C\x89\x7A\x81\xEA\x82\xCD\x8D\x2A\x8C\x35\x8F\x09\x8D\xA1\x1E\x95\x34\xA3\x7A\x97\xD0\x88\xC6\x8D\xC3\x8F\xDB\x89\x00\x69\x6C\xEA\x25\x2D\x95\x0B\x9D\x9A\x8F\xFD\x77\x8E\x85\x60\x6C\x56\x8F\x73\x1A\xF7\x32\xA9\x6E\x81\xDC\x8B\xC4\x8D\x5E\x8D\x13\x8F\xB5\x8C\x1C\x1D\xED\x32\x83\x76\x8F\xCB\x83\xE9\x8A\x64\x8C\x90\x8C\x77\x84\x57\x1A\x82\xF4\x5C\x27\x8F\x4F\x8E\x9D\x87\xDD\x8C\x9D\x8F\x6B\x88\x29\x1B\xF4\x38\xB6\x68\x89\xCB\x87\xEF\x8D\x2F\x8D\x60\x8F\xBF\x8C\xFB\x1E\x81\x33\xA5\x7A\x8D\xE5\x86\xC9\x88\xE0\x8D\x42\x80\x80\x02\x6D\x1A\xFB\x36\xAF\x69\x9D\xED\x86\x3F\x50\xDB\x8C\x40\x8F\x24\x8D\x7C\x1D\xF6\x34\x95\x78\x9F\xD6\x87\xE1\x89\x5C\x8D\x86\x8E\x3E\x8D\x1B\x1E\xFE\x34\xBB\x77\x9F\xF7\x80\x37\x8E\x38\x86\x74\x8E\xCD\x89\xE0\x1C\xBB\x3B\xA2\x73\x95\x80\x5F\xA3\x00\xDE\x8E\xCC\x66\xF9\x8D\xDA\xE7\x75\x3D\x83\x6E\x8D\xF8\x87\xAF\x8F\xD1\x8D\xF0\x8D\x48\x8F\xFB\x1B\xFD\x3D\xAB\x50\x9E\xCE\x81\xC3\x89\xA7\x7B\x71\x8A\xFF\x6B\xC1\xE9\x35\x27\xA5\x8C\x72\x9D\x89\xDC\x39\x54\x8E\x19\x8C\x81\x00\x03\x16\x9F\x3E\x8A\x6A\x81\xD6\x81\xE0\x89\xD6\x8C\x77\x8E\xE3\x8E\xB1\x1D\xC8\x3D\xA7\x7C\x83\xD7\x89\xF2\x88\x56\x8C\xF8\x7A\x91\x8E\x4A\x06\x99\x08\xBE\xBC\x61\x9F\x86\xD3\x85\x79\x8A\x10\x8B\xE7\x89\xFD\x1C\xFC\xAB\x51\x7D\x95\xE8\x83\xD9\x89\xAD\x8F\xA2\x8F\x83\x8A\x9F\x1E\xEE\x30\x86\x75\x90\xC3\x87\xEB\x8F\x68\x8C\x73\x8E\x86\x8E\xC8\x13\xA1\xB8\x62\x63\x7B\xC3\x8A\xD4\x85\xDA\x7A\x1F\x8D\x40\x2A\x3A\x7C\x6B\x3E\xAC\x74\x99\xEE\x83\xEC\x88\x0C\x7D\xB1\x8E\xD3\x89\xC7\x1E\xAC\x35\xAC\x79\x8E\xD5\x8D\xF5\x8D\x5C\x8E\xB9\x8E\x03\x8D\x8F\x18\x83\x00\x91\x62\x81\x33\x8B\xF1\x75\x5D\x8F\xD3\x8F\x80\x00\x82\x1F\xBF\x3A\xAD\x7D\x8A\xF4\x82\xD4\x8D\x7C\x8C\x51\x8F\xB6\x8E\x73\x1F\xC6\x32\xB5\x7D\x9F\xF1\x87\xF7\x89\x2E\x8D\x19\x83\x67\x82\x0A\x14\xF1\x1A\x82\x6C\x93\x6B\x85\x1D\x8A\x68\x5D\xE6\x8F\xAA\x8E\x9B\x1F\xDC\x3D\x8E\x6F\x99\xE0\x80\xBD\x8D\xE4\x8E\xF4\x8D\xAD\x8F\xD4\x1B\x8D\x3F\x96\x6F\x94\xF8\x8A\x8E\x7E\x13\x86\x06\x3F\xD7\x8F\x7A\x1D\xF2\x3D\xBA\x6E\x94\xF7\x8D\xE9\x88\x81\x8E\xFD\x8C\x8E\x8D\xE1\x1E\x9E\x36\xA3\x7B\x80\xD9\x82\xF4\x8B\x74\x8D\x31\x75\x66\x8C\x69\x1F\xF5\xD9\x40\x7F\x92\xEC\x88\xF3\x8A\xAF\x79\xF1\x8E\x26\x8E\xC7\x1F\xAE\x36\xA1\x7E\x99\xCA\x8E\xD5\x8A\xF7\x8C\x08\x8E\x66\x8D\x31\x0D\xEF\x0B\xA0\x61\x80\xB7\x71\x44\x88\x63\x81\x39\x8D\x4E\x8E\xE7\x18\x83\x02\x13\x7F\x81\xEE\x81\xFB\x8F\xAA\x8F\x76\x8F\xD7\x8E\x5A\x1D\xBE\x39\xAE\x67\x98\xFD\x8E\xC1\x8E\xFB\x8D\x10\x8F\x66\x8F\xA7\x11\xF0\x16\xB9\x70\x7A\xC7\x84\x92\x88\xED\x5B\x69\x8F\x2A\x85\x3F\x0A\x6B\x3F\x98\x77\x8D\xFF\x80\xEB\x88\x55\x8E\xAC\x8F\x82\x8E\x3B\x1E\x87\x3A\x89\x7B\x93\xCC\x89\xE0\x8B\x59\x8E\x8B\x8E\xA6\x8E\xDF\x08\xF5\xD1\x69\x51\x9D\xDB\x88\xF9\x8F\xE0\x8E\x4E\x89\x79\x8F\x2A\x1B\xAB\x37\xBB\x65\x9C\xF9\x85\xB8\x89\xDF\x8F\xE1\x8D\xCD\x8E\x89\x1B\x93\x3E\xAB\x7C\x9F\xEC\x88\x47\x88\x24\x8E\x92\x89\xA6\x8D\x22\x12\xEA\x3B\xAB\xAC\x41\xCC\x62\x00\x97\xCA\x8C\xE1\x8F\x1B\x8F\xEF\x1F\xB9\x3C\xB0\x76\x89\x00\x98\xDC\x88\xA1\x8C\x4C\x8C\xFB\x8F\xAC\x1C\xA3\x40\x8E\x77\x95\xC9\x80\x26\x8F\x98\x8E\x98\x89\x65\x81\xFD\x0D\xD4\x3C\xAD\x80\x85\xF3\x88\xE5\x8B\xE1\x8E\x1D\x8E\x12\x8D\x2D\x19\xA6\x34\xA8\x23\x9E\x6B\x8C\xE2\x8B\x39\x8E\xA9\x8E\xB1\x8E\xFD\x1D\xDF\x73\x43\x81\x86\xF4\x86\xE6\x89\xE9\x6B\xD5\x8F\x13\x8F\x05\x1E\xA9\x3C\xB6\x80\x9A\xCE\x88\x03\x90\x9E\x8C\xEF\x8F\x01\x3C\x0D\x1E\xE4\x3A\x89\x04\x13\x02\x9A\xE9\x89\xA0\x8D\x7A\x77\x12\x8F\x57\x20", +"\xB3\x3D\x99\x81\x95\xF5\x8F\xB9\x89\xE2\x8C\xA5\x8D\x5C\x8F\xDB\x1C\xF2\x32\x80\x53\x90\xE2\x54\x06\x95\xD5\x8F\xA6\x8F\xF9\x8D\xD7\x1F\xF6\x3D\x99\x7F\x8A\xE0\x8B\xFD\x88\x66\x8E\x1B\x90\x99\x8D\xCD\x1F\xC5\x37\x98\x6F\x85\xFA\x80\x9E\x8A\xF4\x4C\xEB\x47\x7F\x89\x15\x20\xC1\x3D\x8B\x6A\x95\xFA\x86\x00\x91\x0D\x90\x02\x90\x5A\x8F\x90\x1C\xED\x40\x80\x7D\x8E\xE0\x81\x08\x97\x55\x24\x38\x8A\xD4\x8E\x4D\x6D\x75\x40\xB1\x7B\x8D\xD0\x8B\xED\x8E\xFD\x8C\x1A\x90\xF8\x8F\xDD\x1D\x9D\x37\x9F\x77\x96\xF5\x81\xDE\x88\xD7\x8E\x08\x91\xC5\x8D\xBB\x1E\x84\x41\x9B\x71\x91\xA7\x8F\xFB\x8E\x02\x91\x51\x88\xC0\x8D\x19\x20\xBA\x3E\xAC\x6E\x9C\x00\x9E\xBA\x8C\xB5\x88\xEC\x8C\x14\x8D\x58\x04\xAD\x3C\x8F\x7E\x82\xE1\x87\x50\x81\x15\x81\xA3\x6A\x4D\x90\x37\x1F\xFB\x3A\x87\xCF\x7D\xEB\x80\xF7\x8D\xD1\x8C\x60\x8F\x51\x90\x92\x20\xA3\x3F\x92\x7A\x85\xFD\x8E\xD9\x8D\xB0\x79\x44\x82\x8D\x81\x74\x20\xAE\x41\xA1\x43\x98\x00\x9A\xF0\x8B\x65\x8F\x8D\x8D\xB8\x8F\x44\x19\xFD\x40\xA9\x6F\x8B\xFE\x8B\xBE\x8F\x14\x91\x4C\x8A\xA2\x8F\xB9\x0E\xE8\xBB\x42\x7A\x9F\x5F\x7E\xDC\x1A\x1A\x92\x23\x89\xE1\x8F\xB1\x20\xF9\x40\xBB\x7C\x9B\x03\x9E\xC4\x89\xF9\x8C\x14\x8F\x49\x90\x52\x1C\x95\x41\x90\x70\x8D\xCE\x84\xC4\x88\xA5\x82\xEB\x8E\x73\x90\xBB\xBD\x1C\x3D\xAF\x7D\x82\xCA\x88\x0D\x92\x34\x8E\xCF\x8F\x8E\x8E\xDC\x20\x9F\x3A\x9E\x83\x8D\xC4\x84\xD7\x88\xD5\x8F\x15\x8F\x04\x8D\x6D\x8E\x40\x41\x87\x3D\x64\x00\x9C\x08\x92\xBE\x8F\x80\x8E\xFA\x8E\x89\x1F\xF6\x3B\xB3\x76\x8C\x02\x9D\x05\x90\xAC\x8F\x13\x91\xBE\x76\xBC\x1E\xAC\xEB\x79\xA9\x68\xAF\x8E\xA7\x3A\x21\x92\xDA\x67\x22\x90\xD6\x20\x8C\x3E\xAC\x83\x98\xF7\x8F\x0F\x92\xDF\x8C\x3C\x91\x49\x8E\xF2\x20\xD4\x38\x95\x7C\x93\x8F\x66\x2B\x71\x90\x8D\xB4\x8F\xA6\x82\x84\x1C\xD9\x34\x96\x7B\x81\x52\x65\x0E\x92\x11\x90\xD5\x8F\xC2\x8F\x79\xF8\x25\x27\xBA\x30\x8A\xF3\x87\x30\x8B\xF1\x8D\xB2\x8D\x06\x90\xC3\x1C\x8F\x40\x9C\x3C\x8F\xF6\x89\x9D\x82\xC7\x43\x5B\x74\x1E\x65\x38\x16\xD1\xBB\x60\x4D\x89\xFF\x80\xF5\x88\x1F\x91\x5E\x65\x10\x8D\xC4\x1E\xE8\x3C\xBA\x4C\x95\xEF\x8C\x33\x8B\x0B\x93\x1E\x8F\x65\x8F\x04\x1A\xF8\x3F\x84\x32\x88\x65\x8F\xF2\x8A\xAB\x76\xE6\x83\x2C\x8D\xB4\x1C\xCC\x42\x89\x82\x99\xF6\x85\xE4\x89\xE1\x8F\x9D\x8E\x23\x90\x5A\x1E\xEE\x36\xAC\x34\x81\xC5\x83\xDB\x80\xB1\x8A\x73\x88\xB6\x74\xE8\x0F\xA3\x3B\xA9\x1E\x87\x9C\x8B\xDB\x8B\x99\x8C\x4D\x91\x31\x90\x4E\x21\xD7\x9D\x42\x74\x8D\x04\x90\x0A\x90\xEB\x8C\x0D\x90\xAD\x8F\xE0\x1D\xDD\x3F\x98\x85\x9D\xE3\x8A\x15\x91\x73\x36\xE1\x80\xD4\x85\x83\x1A\xB6\x2B\xBE\xDE\x78\xAD\x89\xEB\x41\x00\x91\x5E\x91\x3F\x6B\x50\x21\x86\x3F\x92\x85\x94\xA1\x84\x15\x96\x86\x8B\x02\x90\x01\x8D\x83\x21\xFA\x3B\xA8\x82\x86\x95\x89\x11\x94\x55\x53\xCC\x86\xA4\x8F\x91\xE9\x79\x39\x8D\x67\x3B\xE7\x8B\x84\x8B\x48\x82\x4E\x52\x06\x8B\x52\x1F\xA5\x35\x82\x7B\x90\x01\x9F\x09\x92\x06\x91\xFC\x8E\xEF\x8E\xF3\x1F\x81\x43\x9A\x78\x99\x0C\x9C\xE1\x8D\xC1\x69\xCD\x8C\x8F\x8C\x25\x1D\xBC\x0C\x81\xBC\x72\xE8\x84\xA6\x30\x35\x90\xDB\x8F\xEA\x8F\xF3\x1A\xB2\x41\x9B\x80\x83\x09\x9E\xF0\x88\x19\x91\xFE\x8D\x93\x90\xD9\x1C\xF0\x40\x96\x10\x80\xFB\x8F\x18\x8E\x87\x8A\x06\x82\xA4\x86\xF5\xFF\x7D\x3E\x92\xA5\x68\xE9\x83\x43\x83\xDB\x6A\x6F\x91\xC1\x8F\x0C\x21\xB8\x42\x87\x47\x9A\x09\x99\xD8\x85\xE7\x8E\x36\x90\x06\x8E\xC8\x21\x84\x3B\x8C\x83\x94\xD2\x8E\xAF\x8D\x50\x42\x6F\x89\x2E\x81\x92\x18\xBC\x3A\xB5\xB3\x77\x0E\x9A\xF9\x88\x38\x93\xEE\x8C\x75\x90\xB3\x20\xC4\x43\x9E\x87\x8E\x07\x97\xD4\x8A\x30\x90\x50\x91\x37\x8F\x42\x21\xC2\x18\xAB\xD3\x69\xFD\x82\x1D\x8B\xF5\x8D\xBA\x8A\x50\x8B\xFB\xB5\x3F\x14\x2C\x87\x90\xFD\x8E\x1E\x94\xF8\x8F\x3E\x91\xCD\x8D\x8F\x1A\xA2\x41\xB1\x86\x84\x05\x96\x1F\x92\xBC\x8E\x82\x8F\x5D\x90\x8B\xD6\x13\x36\xAC\xD3\x63\x10\x91\xFC\x8C\x13\x92\xF8\x8C\xA0\x8C\x07\x22\x99\x3A\x86\x83\x80\xF5\x8F\xF0\x8A\xD4\x8F\x1F\x91\xD0\x8D\x29\x21\x95\x39\xA5\x87\x8D\xE2\x55\xB2\x88\x13\x92\x80\x91\xC7\x90\xCD\xD6\x67\x40\x96\x7D\x9D\x0B\x98\x05\x96\xF6\x8D\x0F\x8E\xFA\x8F\x3F\x1C\x95\x42\xB6\x76\x80\xFF\x85\x87\x89\xD3\x81\xF2\x88\x68\x8D\x8D\x02\xC4\x55\x4F\x0A\x8E\x9E\x8F\x69\x84\x02\x90\x00\x00\x0A\x91\xD4\x1F\xC2\x41\x91\x86\x99\x09\x97\xF8\x8B\x27\x91\x65\x91\x3C\x8E\x56\x21\xCA\x3B\xB6\x7D", +"\x8A\x0E\x9D\xDC\x8A\xD6\x40\x68\x8E\x43\x82\x22\x19\xF3\x11\xBA\x6D\x95\x47\x89\xC4\x74\x8A\x6D\x49\x36\x20\x91\xEC\x1F\x85\x44\xA9\x83\x99\x10\x9B\xD6\x8F\xF3\x8C\x66\x8F\xEF\x90\x6F\x1D\x81\x42\xB1\x75\x8C\x12\x9A\x94\x8D\x8A\x8D\x25\x82\x09\x90\x0F\x19\xBE\x44\x98\x89\x83\x00\x9A\x25\x95\x1A\x92\x06\x90\xD0\x8C\xFD\x20\xB9\x34\x86\x87\x97\xE6\x81\x1E\x94\xDF\x8F\x78\x90\x4A\x8F\x47\x12\xA5\x40\xB6\x6D\x9C\xFF\x8D\x47\x8D\x24\x8D\x60\x6D\x35\x91\x2E\x20\xD9\x43\xAC\x86\x8B\x11\x9E\x1A\x91\x14\x91\x35\x8F\x39\x91\x82\x1D\xF5\x44\x92\x7C\x85\xF7\x87\x11\x95\x1D\x85\xCB\x8E\x9B\x8C\x51\x22\xDE\x1F\xAA\x2E\x92\xA4\x83\xB9\x8C\x1C\x91\x42\x00\x40\x91\x44\x20\xAF\x40\xA3\x72\x8D\x0D\x99\xCE\x8D\x58\x8C\x24\x90\x54\x8E\x30\x22\xAA\x39\xB2\x88\x9A\x05\x9D\x28\x93\x17\x8D\x14\x90\xA2\x67\x98\x22\xD4\x40\xA0\x84\x8F\x13\x9A\xB1\x8A\x3E\x91\x07\x91\x92\x90\x1F\x20\xE2\x44\x9C\x76\x97\x13\x9E\xEF\x88\x96\x8A\xA1\x89\xFD\x57\xA9\x22\xE5\x40\xA0\x7C\x83\x06\x92\xF2\x8C\xF6\x8E\x85\x8E\xF9\x8F\x1C\x1C\xA1\x45\xAE\x73\x83\x15\x9E\x04\x97\x0B\x93\xE3\x49\xB9\x8C\x97\x1F\xBF\x44\xA8\x88\x9D\xB8\x67\xCE\x88\xC7\x8D\xA7\x90\x47\x8E\x9F\x22\xBC\x3C\x89\x83\x85\x05\x9B\x24\x93\x20\x92\xAE\x8E\xCE\x90\xAA\x20\x86\x3D\x86\x82\x92\xA6\x8E\xBD\x8B\xC1\x8B\xB2\x91\x18\x73\xFA\x20\x9D\x3F\x8C\x7A\x9E\x12\x9E\xE8\x88\x4C\x92\x66\x8E\x59\x91\x21\x20\x8C\x45\xAB\x58\x42\xF2\x8E\xAE\x89\x20\x01\xAE\x90\x3B\x90\x66\x20\xD3\x33\x9C\x8A\x83\xF9\x8A\xCE\x8E\x45\x90\x3B\x8E\x61\x91\x08\x1E\x8E\x44\x8E\x80\x90\x10\x94\xD4\x71\xCA\x8C\xC6\x7B\x29\x8F\x34\xCE\x5E\x45\xB6\x84\x8F\xF5\x8D\x10\x91\x2A\x93\x43\x91\x34\x8F\x47\x22\xEB\x3C\x89\x89\x8B\xF1\x84\x2C\x90\xCF\x87\x6D\x8F\x6D\x89\x30\x07\xDF\x73\x6F\x8B\x9B\x04\x9E\xEA\x8E\x69\x88\x9E\x8F\x30\x8D\x7A\x1E\x9F\x31\xAB\x85\x85\xD3\x82\x8A\x8E\x89\x88\x28\x8B\x5C\x8D\xB1\xC9\x50\x41\x96\xED\x53\x18\x91\x0C\x92\xF8\x8E\x22\x8F\x82\x91\x92\x21\x87\x46\x93\x85\x91\x08\x95\x15\x97\x32\x91\x42\x8F\x6A\x91\xEA\x22\xBA\x40\xA9\x82\x81\x07\x92\x04\x49\xC2\x07\xF4\x73\xB2\x55\x24\x23\x8B\x42\xAD\x89\x87\x0B\x91\x12\x97\x08\x92\xB1\x8F\xAC\x8F\x8A\x1F\x8B\x46\xAD\x79\x97\x0F\x9C\xEC\x89\x3F\x90\x09\x6E\x9A\x8A\x12\x23\xDF\x45\x92\x9D\x6D\x16\x91\x03\x97\x59\x92\x8E\x8F\x68\x91\x0A\x20\xF8\x45\x8A\x7B\x84\x1A\x99\x15\x96\x68\x93\x49\x8E\x54\x87\x43\x15\xAA\x3D\x90\xF1\x59\x19\x9F\x11\x92\x53\x91\x34\x8F\xD9\x8F\x8E\x1A\xEC\x33\x80\x8B\x9C\xEA\x82\x1B\x90\xE5\x8C\x6D\x90\x95\x8F\x9B\x21\x83\x41\xB4\x8C\x88\x20\x6C\xDC\x7C\xE3\x8C\x6E\x6C\x81\x91\x64\x21\xF5\x3C\x86\x79\x82\xCE\x80\x36\x93\x9A\x8D\x82\x91\x43\x91\x0B\x22\xD3\x45\x8D\x88\x86\x05\x91\x33\x91\x6D\x90\x18\x86\xCE\x7F\x4A\x05\xC5\x42\xA6\x55\x9B\x3B\x8F\xEC\x85\x90\x8C\x2A\x56\xAE\x91\x7F\xCF\x2B\x45\x82\x87\x90\x13\x9B\x21\x92\xEE\x8C\x7D\x90\xBA\x8F\xD4\x22\xA4\x3F\xA4\x89\x86\xFD\x80\xA8\x8F\x92\x8E\xCB\x8E\xB9\x90\xC8\x09\xFC\x16\x1E\x4D\x9B\x6F\x8B\x14\x96\xB7\x8E\x41\x00\xC4\x91\x63\xDB\x55\x40\x8B\x5E\x73\x0C\x97\xC7\x89\x61\x91\x4F\x90\xA1\x91\x8C\x1F\xE7\x46\x9E\x7D\x85\x15\x9C\x5B\x7E\x98\x8F\xE1\x80\x2C\x8D\x2A\x20\xA3\xEF\x52\x6D\x87\xE4\x80\x37\x91\x35\x92\xB6\x8C\x00\x8F\xDA\x21\xFB\x23\x8E\x8D\x93\x01\x90\x35\x95\x06\x92\xCB\x91\x1B\x90\xAA\x23\x8E\x3F\xAC\x8E\x85\xE6\x8D\xCB\x82\x70\x90\x9B\x8C\xBA\x90\x04\x1F\x9C\x19\xAE\x8D\x83\xD8\x67\x29\x92\x69\x91\x09\x75\x70\x91\xDD\x1E\xC3\x3A\x9F\x7B\x85\xEA\x8F\x38\x92\xF4\x8D\xE4\x91\x65\x90\x93\x23\xCD\x41\xAB\x84\x84\xC4\x71\x37\x8F\xFF\x74\x4B\x3C\x0D\x7B\x9C\x13\xCA\xDB\x73\x7C\x8F\x53\x67\x22\x93\x60\x92\xC5\x90\xB4\x90\x79\x1E\xD4\xDB\x7B\x79\x8C\xA2\x8D\x31\x97\x4C\x8F\x13\x8B\x1E\x6D\x4C\xF4\x47\x3E\x8C\x82\x69\xFA\x8C\x7C\x7C\x49\x7D\xF2\x7B\xD9\x2E\x4E\x1F\xD3\x36\xA7\x04\x11\xB2\x8F\x1B\x92\x48\x93\x5E\x90\x87\x90\x07\x20\x84\x3C\xB6\x8B\x86\xF0\x82\x35\x94\x01\x92\xBE\x91\xA0\x90\x5F\x1F\xE1\x3F\x96\x21\x8D\x12\x86\xAF\x87\x7A\x79\x90\x80\x5D\x8D\xD1\x1F\xED\x45\x80\x00\x1C\x1F\x98\x1D\x93\x67\x90\xDD\x90\x0A\x8F\xBE\x22\xA4\x3E\xA3\x8D\x98\xF0\x85\x36\x94\xEB\x8D\xF0\x91\xDD\x8F\xBD\xAA\x37\x43\x8B\x0A\x88\x90\x82\x19\x8F\xD4\x78\x1F\x8D\x18\x82\x10\xEF\x29\x3A\x92\x90\x94\x20\x9D\x1E", +"\x96\x7F\x92\x8A\x90\xBE\x90\x85\x22\xFE\x42\xBD\x8E\x80\x0C\x9C\x20\x93\x36\x90\xD5\x90\xC2\x90\x56\x23\xFD\x30\x91\x7E\x9C\x6A\x8A\xAE\x8E\xAB\x85\xFE\x88\x4A\x8C\xF5\xEC\x2C\x48\x84\x88\x8E\x21\x92\x2F\x94\x50\x93\xEE\x91\xD7\x90\x0A\x22\xC1\x45\x9D\x90\x99\xFD\x8F\x41\x97\xFB\x8D\x0E\x92\x14\x92\x4D\x1D\xEB\x04\x8F\x11\x8D\x13\x8F\x1F\x92\x83\x3E\x10\x93\x0A\x91\x15\x23\x8C\x27\xAA\x64\x84\x1D\x98\x04\x94\x27\x92\x4B\x8C\xD4\x91\x3F\x21\x87\x48\xB8\x87\x9C\x17\x95\x54\x33\xAC\x8C\x44\x70\x3E\x77\xCE\x23\xE8\xD0\x50\x8F\x95\x1B\x9E\xED\x8F\x6E\x90\xB8\x8F\x0E\x91\xE2\x1E\x9F\x44\xA4\x7A\x9D\x1B\x9F\x0D\x97\xF9\x8D\xD3\x84\xDE\x90\x81\x6C\x57\x48\x81\x89\x86\x19\x98\x3B\x93\x50\x90\x0C\x93\x23\x92\x86\x22\xEF\x48\x88\x8A\x90\xF8\x8A\x28\x97\x0D\x92\xB5\x90\x2D\x7A\x79\x1F\xEB\xED\x67\x39\x69\xD0\x5C\xD8\x88\xDA\x73\xF9\x8F\xD9\x91\xD7\x1E\xE8\x48\xA6\x8F\x9A\x22\x90\xB4\x89\x80\x90\x44\x90\xA0\x91\x12\x21\xBE\x42\xB8\x77\x8D\x22\x97\xFF\x8F\x89\x90\x49\x8E\x53\x7A\xFB\x1F\xDC\x2C\x94\x77\x9B\x6F\x8F\xFF\x8F\x5A\x8E\x24\x93\xB8\x91\x08\x1F\xB0\x41\xAE\x89\x8B\x1C\x9D\x2A\x91\x4E\x93\xFD\x8D\x41\x92\x1E\x22\x85\x49\x80\x82\x94\x15\x93\xF4\x8E\x8E\x92\xBB\x7E\x34\x91\x0F\xE9\x38\x24\x91\x92\x86\x08\x0A\x47\x91\x4B\x90\x11\x92\xA6\x91\xF3\x22\x99\x48\xB5\x8B\x9B\x20\x96\xF2\x8B\x89\x91\xFD\x8E\x4E\x92\x39\x20\xFE\x46\xB8\x86\x80\x25\x9F\x8F\x76\x07\x93\xDC\x85\xCC\x85\xA8\xAC\x3D\x49\xAC\x89\x9F\x25\x9B\x46\x90\x83\x91\xD8\x90\x0D\x8E\xC4\x24\xB7\x3F\x86\x93\x91\x11\x98\x4C\x96\x0B\x92\xCC\x91\xEB\x59\xF6\x0D\xE6\x8B\x78\x37\x8B\x92\x8A\xDF\x81\x4B\x8F\x4E\x8C\xB0\x8C\xA7\x24\xB6\x47\xB1\x6B\x87\x19\x99\x3B\x94\x18\x90\x3F\x91\xC6\x91\xD9\x20\xD5\x47\x9C\x7F\x96\x21\x92\x46\x95\x68\x90\x19\x92\xE3\x2D\xC4\x04\xDF\x73\x52\x93\x81\x14\x96\x41\x91\x73\x8C\x97\x90\xCB\x8E\xE4\x22\xC7\x41\xB9\x8D\x87\x0E\x9A\x0C\x91\xE8\x8C\x2D\x92\xE7\x8F\x6B\x72\x61\x40\xA7\x91\x9C\x25\x99\x46\x97\x7B\x79\x70\x90\xF8\x90\xC3\x21\xAE\x49\x88\x7F\x90\x23\x9A\xFC\x8A\x8E\x90\xB9\x8F\xF1\x8E\xF7\x24\xEF\xE9\x1F\x78\x90\x40\x6F\xA3\x03\x9F\x91\xA6\x90\x41\x91\x9B\x22\xC6\x48\xB4\x8B\x9E\x14\x9B\x06\x91\x12\x90\x41\x93\xEB\x91\x06\x25\xD9\x47\xA4\x87\x8A\x1B\x93\xBE\x82\xC6\x8E\xEE\x89\x74\x92\xFD\x23\xFC\x48\xA3\x78\x88\x19\x94\x24\x94\x8B\x93\xCF\x91\xBF\x90\x41\x23\xBF\x47\x9C\x81\x9D\x26\x96\x11\x93\x5D\x92\x92\x86\x1D\x3E\x1E\x25\xAA\x45\x9E\x8D\x84\xC6\x7F\x4F\x96\xD3\x8C\x3C\x92\x7F\x90\xE6\x22\x90\x3D\x85\x94\x94\x04\x97\x50\x92\x10\x92\x3C\x8F\x6C\x91\x72\x05\x80\x46\x83\x7A\x99\x73\x7D\x50\x94\xBE\x79\x35\x92\x67\x91\x23\x25\xD0\x45\xA5\x94\x80\x15\x9B\x4D\x92\x54\x90\x4F\x93\x19\x91\x9E\x24\xE6\x3F\xAF\x1C\x93\xE0\x8A\x4F\x95\xAA\x92\x26\x8D\x55\x92\x10\x25\x8C\x47\x81\x94\x9C\x10\x90\x4B\x91\x8E\x92\x2C\x92\x10\x91\x4D\x25\xFD\x37\x8E\x83\x86\x7B\x61\x97\x81\x88\x92\x59\x92\x68\x8E\x44\x25\xE2\x45\x85\x83\x8B\x2B\x9E\x38\x94\xA2\x93\x3B\x91\xA5\x92\xF1\x20\xF1\x4A\xB3\x83\x9A\xD0\x8B\x36\x95\x2F\x86\xCD\x91\xB9\x7A\x44\xCF\x41\x4A\xBA\x8A\x93\xFA\x84\x30\x95\x9D\x91\xAF\x91\x6B\x92\xB5\x1F\xD9\x49\xAF\x88\x9D\x2A\x93\x2C\x97\xAB\x90\xA9\x90\x63\x91\xE5\xE7\x45\x01\x92\x1D\x9B\x7F\x5A\x58\x90\x5E\x93\xAE\x91\x21\x91\xDB\x21\xC5\x44\x9D\x87\x8F\x15\x99\x54\x97\xE7\x8C\x60\x92\x94\x90\x82\x25\xAA\x42\xA3\x88\x83\x62\x83\xFC\x73\x85\x93\x5D\x92\x09\x8F\x21\x25\xFF\x48\x99\x95\x8F\x1A\x9B\x55\x92\x5A\x93\x49\x93\xBD\x91\x30\x23\x98\x4A\x83\x8F\x9D\x17\x90\xE3\x8F\x50\x70\x15\x86\xD0\x89\x03\x01\x1D\x4B\x94\x8C\x97\x03\x99\xF3\x89\xAD\x91\x2B\x93\xA3\x92\x72\x22\x83\x4A\xB4\x89\x87\x2D\x99\x1C\x97\x90\x93\x5C\x8E\x96\x8F\xE8\x1E\xAD\x42\x90\x7B\x83\x1C\x96\x34\x89\x26\x91\xEC\x91\xDC\x84\xCB\x23\xD5\xB8\x4C\x94\x93\x24\x92\x31\x8B\x8B\x92\xCA\x90\xCA\x90\x2C\x23\x96\x43\x85\x90\x98\x0C\x97\x43\x92\x33\x91\x1D\x92\x57\x8E\xE0\x0E\x97\x47\xB8\x6D\x9B\x58\x6B\x57\x8C\xDC\x86\xBB\x8E\x1F\x91\xC2\x25\xA5\x46\x96\x88\x96\xF3\x87\x41\x90\xAB\x92\x30\x92\x92\x92\x03\x24\xDA\x40\xBA\x94\x97\x0A\x95\x5E\x95\x36\x90\x66\x92\xD3\x83\xAF\x1C\xEB\xEB\x73\x4D\x8A\x0C\x90\x78\x59\x2C\x92\xE7\x91\xE0\x92\xAF\x25\x9D\x41\x85\x80\x80\x20\x9E\x08\x92\x80\x92\x64", +"\x93\x7B\x91\x94\x25\xF9\x45\xBC\x8D\x9A\x2D\x9F\x5F\x92\x1F\x82\xEB\x90\x72\x92\x67\xA2\x5C\x0C\x49\x85\x98\x23\x61\x4D\x91\xC1\x93\x85\x90\xCA\x8E\x45\x25\xC6\x3F\x92\x94\x9A\xFE\x82\x4F\x96\x0F\x93\x5B\x93\x39\x92\x14\x26\xDF\x49\x97\x4E\x9C\x0A\x98\x39\x92\x95\x85\xCC\x8F\xE4\x91\xE3\x23\xAC\x61\x5D\x94\x9E\x30\x94\x5F\x96\x9F\x92\x5E\x93\x77\x92\x7C\x25\xF1\x49\xBE\x95\x95\x0F\x94\x4F\x93\xC2\x93\x83\x91\xDD\x92\x29\xD7\x18\x35\x92\xA9\x3F\x0C\x93\x3F\x91\x34\x92\xF3\x82\x7D\x8E\x6B\xD5\x79\x47\xA6\x6C\x89\x08\x03\x66\x89\xA6\x93\x7C\x93\xB9\x91\x36\x26\xD1\x47\x9E\x7E\x93\x1E\x90\xFA\x8D\xC4\x93\x36\x90\x8B\x92\xCC\x1F\xA9\x4B\x87\x4F\x82\x21\x9C\x42\x81\x0F\x8C\xD9\x8E\xE6\x89\xB8\x1A\xF7\x08\xAA\xFF\x7A\xCA\x57\xD7\x8D\xA9\x35\x93\x93\x0A\x92\xD4\x24\xF8\x40\xA1\x98\x98\xFE\x83\x62\x94\x0F\x92\x95\x92\xF0\x90\xCC\x25\xE2\x43\xAA\x94\x98\x29\x39\x48\x91\xFF\x8C\x09\x92\x5B\x8D\xE0\x91\x4F\x0C\x89\xDB\x55\xD6\x8A\x42\x91\x59\x93\x99\x93\x16\x92\x32\x25\xB6\x3C\xB1\x96\x8C\x30\x9C\x22\x92\x0D\x91\x7E\x92\x36\x90\xB7\x25\xBD\x4C\xB9\x96\x9F\x31\x95\x61\x97\x2F\x41\x18\x5F\x9C\x8E\x93\x1F\xBB\x3A\x9F\x35\x91\xF8\x64\x21\x67\xCF\x93\x10\x93\x40\x93\xAB\x21\x83\x4D\x86\x8C\x96\x24\x98\x30\x91\xBC\x90\x92\x91\xFD\x92\x4A\x22\x92\x47\x8E\x97\x8D\x12\x9B\x5A\x93\x3F\x92\x57\x83\xA7\x8E\x54\x24\xD1\x3A\xB4\x35\x82\xDA\x56\x69\x90\x8B\x90\x71\x92\xEB\x8F\x6B\x26\xFA\x40\xAD\x99\x8D\x07\x9B\x63\x90\x72\x90\x6E\x92\x51\x93\x74\x24\x84\x42\xA4\x6E\x9D\xA0\x8D\x01\x84\xE8\x65\xAB\x93\x3D\x92\x4F\x26\xE6\x42\xB5\x97\x8D\x1A\x93\x5B\x94\x77\x91\x6D\x93\xA8\x91\x11\x26\xD3\x46\xB5\x93\x95\x1A\x99\x51\x97\x6A\x91\x5D\x8F\x5D\x8D\xC8\x1B\xCC\x4C\xB4\x98\x90\x32\x93\xBE\x8F\xC6\x90\x82\x90\xB1\x91\xB0\x21\xCA\x48\xB5\x90\x86\x1B\x9D\x5F\x90\x6D\x90\x1A\x84\x05\x92\x6A\x08\xFD\x38\x26\x08\x80\xA3\x72\x56\x95\x47\x93\x63\x8E\xEE\x2F\xBF\x26\xBE\x49\x98\x9A\x8B\x04\x9E\x58\x94\x1A\x8D\xB1\x92\x24\x92\x78\x23\xDA\x4D\xBA\x8D\x8A\x34\x98\x6B\x91\xC5\x92\x32\x93\x11\x92\xDC\x23\xEF\x11\x83\xCE\x42\xED\x8B\x5E\x96\x19\x87\x30\x7B\x4D\x86\xA5\x24\xBC\x35\xA6\x99\x93\x36\x92\x6C\x91\xCA\x90\x1B\x92\xE9\x91\x6E\x24\xD4\x47\xB5\x9A\x96\x1E\x97\x6B\x90\x7B\x93\xA8\x93\x32\x91\xFB\xF6\x62\x36\x91\x58\x9B\xED\x8A\x4B\x97\x2E\x92\x41\x01\x74\x93\xD3\x24\xEB\x4D\xB7\x84\x9E\x23\x94\x68\x91\x86\x91\x8B\x91\x07\x93\x04\x24\xC9\x4D\x86\x90\x9E\x31\x9B\x2F\x90\xC8\x92\x22\x92\x36\x33\xFA\x26\x9F\x18\x67\x80\x91\x14\x98\x93\x8B\x94\x91\x96\x8D\x27\x89\x3A\xB5\x3F\x14\x18\x9C\x9C\x27\x99\x66\x95\xB8\x91\xAC\x93\x75\x90\xB3\x26\xA4\x42\xA5\x96\x80\x08\x98\x65\x95\x1B\x91\xAE\x93\x6B\x91\xDF\x0D\xE1\x49\xBE\xD2\x63\x27\x98\x02\x94\x49\x89\xF8\x90\x36\x5A\xE7\x24\xB7\x37\x83\x04\x13\x39\x9F\x51\x95\x9F\x91\xB5\x92\x29\x93\xE3\x22\xD4\x4C\x9F\x89\x8F\x33\x91\x26\x95\xE7\x92\x40\x91\x9F\x93\x71\x20\xBB\x4D\xB0\x01\x96\x93\x81\x30\x92\xDA\x90\x77\x93\xD1\x89\x95\x24\x8D\x4C\x97\x92\x98\x29\x99\x49\x90\x8C\x93\x26\x93\x6E\x93\xAB\x23\x8D\x4D\xA9\x3D\x4A\x28\x9D\x60\x5A\xE6\x90\xC1\x92\x55\x92\x3C\x23\xAC\x45\xAC\x6C\x8E\x15\x95\x0B\x96\x70\x8D\x6B\x8A\x74\x91\x29\x1A\xE1\x2A\xB3\x4F\x92\xB9\x73\x07\x96\x6A\x5C\xD3\x92\xA1\x92\x20\x25\xDF\x46\x96\x93\x96\x1B\x98\x6D\x91\x89\x90\xD9\x91\x6D\x93\x1E\x24\xE8\x4E\x82\x8F\x8A\x3B\x99\xE5\x86\x5F\x91\x81\x63\x79\x81\xE5\x0B\xC5\x2A\x80\x00\x1F\x3B\x9B\x58\x92\x35\x90\xBB\x92\x8E\x93\x9B\x26\xE2\x4E\x9D\x9A\x98\x24\x9D\x32\x93\xBC\x93\xCB\x91\x7A\x93\x8C\x26\xC0\xEE\x7B\x13\x59\x95\x85\xCF\x74\xF2\x92\x67\x92\xC6\x92\xE7\x23\xBD\x46\xA9\x85\x81\x3C\x8D\x53\x8C\x39\x8A\x5B\x90\x3B\x8A\x88\x0E\x9D\x43\x9B\x32\x92\x2A\x96\x29\x97\xE2\x93\xDB\x92\x6A\x90\x71\x27\xAC\x49\xB3\x9D\x99\x39\x95\x1C\x92\xB9\x91\xA2\x91\x38\x93\x76\x22\xF3\x4C\xB5\x8A\x93\x2B\x95\xF5\x61\x62\x92\xAF\x93\xDB\x93\xE8\x20\xE8\x4A\xB7\x9C\x91\x0F\x9C\x7B\x93\x3E\x93\xC2\x93\x79\x92\xDC\x26\xCB\x4D\xB8\x90\x8D\x36\x9C\x85\x82\xCE\x8D\xE9\x92\xE4\x93\xEC\x24\x98\x4F\xA9\x8C\x9C\x34\x9B\x32\x94\xF3\x92\x78\x92\x91\x93\xE4\x25\xD2\x4F\xA6\x97\x9A\x35\x9E\xBF\x8E\x47\x6F\x38\x90\x9E\x8C\xB6\x27\xDF\x4E\x82\x4C\x9E\x2E\x9C\x7D\x90\xBC\x92\xF7\x93\x4F\x93\x9E", +"\x27\xC0\x47\x8A\x9E\x80\x21\x97\x6F\x94\x0E\x55\x3D\x91\xCD\x92\x65\xAB\x26\x4F\x83\x97\x91\x17\x90\x4C\x92\xA4\x93\x7D\x92\xAD\x92\x87\x26\xA6\x4A\x8B\x97\x88\x29\x9C\x54\x92\xF8\x91\x2D\x92\x33\x91\x42\x15\x9A\x13\xB5\xDD\x7B\xB6\x6A\x7F\x92\xBE\x91\x16\x93\xEE\x92\x61\x27\x85\x4D\x8F\x82\x87\x36\x9E\x3B\x91\xFE\x93\x4E\x93\xF9\x93\x4E\x24\xD4\x4F\xA9\x1D\x85\x2C\x98\x8A\x5D\x8D\x8E\xAF\x71\x06\x94\x3A\x23\xB5\x4E\xB0\x9A\x96\x36\x9A\x21\x91\xC7\x90\x52\x92\xAA\x93\xE7\x22\xD6\x4E\xA3\x89\x8F\x38\x94\x39\x90\xBD\x92\xE5\x90\x09\x8B\x2F\x1A\x86\x47\x81\x66\x60\x41\x9D\x35\x91\xF0\x91\x5E\x92\xA8\x93\x7B\x25\xD2\x4E\xA5\x8B\x88\x41\x9A\x54\x94\x00\x95\x60\x92\x03\x94\x08\x25\xDB\x47\xA5\x48\x72\x2E\x96\x3C\x93\xDD\x8F\xA9\x92\xCA\x7B\x9C\x23\xA8\x59\x74\xA0\x89\x1C\x93\x54\x97\x1B\x7F\xC1\x93\x29\x93\x09\x27\xD5\x4C\x8F\x9F\x86\x31\x90\x7C\x93\x51\x92\xBD\x93\xF3\x92\x42\x28\xC4\xD9\x0C\x56\x9C\x07\x82\xF0\x8A\x96\x8C\x42\x85\x82\x8F\x3E\x22\xCB\x50\xA1\x8E\x8A\x1C\x96\x5C\x93\xF7\x90\x72\x93\x57\x92\xBE\x27\x84\x49\x95\xA1\x86\x24\x98\x75\x97\xB9\x91\xE5\x90\x8B\x8F\xDE\x1C\xEC\xB3\x59\x7C\x94\x12\x96\xFF\x70\xFD\x8F\x81\x92\x81\x00\x62\x28\xC3\xED\x1A\x9C\x8D\x2C\x9A\x7D\x95\xA6\x93\x77\x93\xD2\x91\x9E\x26\x8A\x46\xA0\x9A\x8C\x18\x96\x59\x95\x58\x92\x8A\x93\xBF\x91\x81\x1A\xF1\x50\x81\x33\x9B\x9C\x8B\x61\x95\xF9\x69\x8C\x92\xBB\x3B\x6E\x27\xEA\x4F\x81\x63\x8C\x3F\x9A\x79\x95\xFB\x90\xD9\x93\xCE\x93\xE0\x27\x9F\x4F\x8E\x9C\x8D\x43\x94\x6A\x94\xA5\x92\xA0\x62\x7B\x8E\x08\xDE\x1C\x35\xA2\x86\x92\x86\x78\xA4\x7A\xF9\x78\xA0\x80\xAE\x79\x95\x22\xE2\xB2\x4D\x38\x0E\x90\x45\x0A\x00\xDC\x89\x77\x8A\x7E\x8E\x4C\x18\xD6\x76\x68\x5A\x93\x4D\x53\x16\x46\xE9\x90\x86\x90\x12\x94\x5D\x22\xBA\x50\x82\x94\x92\x37\x99\x68\x91\xFA\x90\xC9\x92\x04\x92\xB6\x21\xCC\x43\xA6\x46\x8E\x0E\x93\xF6\x89\x5A\x8C\x98\x92\x3D\x93\x5A\xF0\x31\x51\x9B\x5B\x73\x45\x9B\x35\x55\x16\x96\x08\x95\x87\x92\xCB\x27\x91\x4A\xA7\xA1\x93\x28\x9D\x56\x95\xA2\x93\x89\x93\x8B\x92\xA1\x27\xA7\xD8\x5C\x99\x8E\x14\x9F\x43\x88\x3A\x92\xF8\x89\x13\x92\xE4\x13\xA9\x48\x95\x87\x94\x10\x6C\x8C\x92\xCC\x52\x33\x95\x3D\x94\xA9\x27\xF2\x4E\x97\x83\x93\x46\x94\x62\x93\x0A\x97\x95\x93\x6B\x94\x59\x26\xC0\x50\x8E\x95\x87\xF5\x8F\x26\x87\x3C\x92\x4E\x8F\x38\x8B\x95\x1F\xFA\x27\x92\x90\x85\x47\x99\xF1\x4F\x1C\x95\xB0\x92\xB8\x93\xC3\x26\xC1\x49\x90\x96\x9F\x15\x99\x6D\x97\xF0\x93\xBC\x92\x5F\x94\x8B\x26\xA5\x4E\x8C\x9E\x82\x5C\x8F\xD6\x84\x3F\x93\x14\x93\xE9\x88\xAA\x26\xAD\x3F\xAC\xD3\x7C\x47\x9A\x6D\x56\x1F\x97\x03\x94\xB0\x93\x39\x1C\x95\x51\xAE\x9F\x97\x44\x9F\x7D\x90\xF1\x90\x13\x92\x0C\x94\x9D\x24\x9A\x50\x84\x68\x72\x10\x9F\x9D\x5C\x22\x97\xB9\x5A\x8B\x94\xAF\x26\xD0\x51\xB8\xA2\x80\x28\x9A\x8B\x94\xAD\x91\x1A\x95\x58\x92\x6B\x28\xB3\x49\xB2\xA3\x92\x2B\x91\x71\x97\xC9\x66\x5D\x8F\xB7\x6A\xB0\x66\x26\x52\x83\xDC\x48\x49\x9C\x7F\x97\xAA\x90\xB1\x93\xFF\x93\xB4\x25\x81\x50\x9C\x95\x9E\x48\x97\x4C\x90\x24\x95\x32\x93\x6F\x93\x35\x22\xDC\x16\x8A\x76\x82\xC7\x8D\x48\x97\x83\x83\x85\x6A\x30\x76\x3A\x29\xCD\x73\x7C\xA4\x9F\x2C\x9F\x3F\x91\xF3\x92\x04\x94\x07\x93\x05\x29\x9C\x48\x84\xA5\x9C\x26\x96\x94\x96\x9B\x91\xFD\x92\x6E\x94\x8B\x15\xAD\xAC\x75\xBD\x4C\xDA\x8C\x72\x96\x69\x8D\xFF\x8F\xE3\x62\x89\x13\xC8\x5A\x58\x04\x4A\x7F\x82\x3A\x90\x44\x6E\x54\x86\x25\x8F\xDA\x14\xCC\x3C\x9D\x79\x8E\xF2\x8F\xE5\x89\x6C\x8D\x8D\x88\xE7\x86\x74\x28\xFA\x79\x7E\x88\x91\x4A\x9A\xD6\x5B\x2A\x94\xEA\x92\x4A\x92\x19\x29\xD7\x52\xA3\x9D\x93\x21\x99\x53\x96\x02\x94\x7F\x92\xF1\x93\xFE\x25\x87\x51\x8B\x93\x9A\xFF\x8D\x4C\x91\xBF\x84\xE6\x84\x5E\x7C\xE7\x26\xE9\xCB\x3C\xA5\x86\xED\x5E\x97\x96\xF2\x93\xC6\x92\x4D\x93\xDB\x27\x9A\x52\x80\xA2\x8F\x3F\x92\x88\x96\x30\x95\xA8\x93\x4D\x94\x57\x28\xE4\x4F\xBB\x80\x98\xBD\x70\x29\x95\x2B\x92\xAB\x83\x7F\x93\x6E\x1A\xFC\x1B\xAC\x77\x85\x49\x9B\x96\x92\x31\x40\x19\x95\x68\x94\x6A\x25\xAD\x52\xBD\x95\x95\x46\x9F\x57\x96\x07\x94\x6A\x93\x99\x94\x83\x25\xD0\x40\xA5\x6E\x99\x0D\x72\xB4\x5B\x32\x95\xA7\x8A\x45\x41\x3D\x29\xEA\x4C\xAB\xA4\x86\x2A\x96\x82\x91\xB9\x90\x2F\x95\x01\x94\x0D\x27\xA9\x4A\xAC\xA0\x9A\x1E\x95\xD5\x5F\x56\x91\xD9\x54\xDF\x94\xBA\x16\xDE\x04\x4F", +"\xA3\x8F\x0F\x90\x9B\x97\xB8\x91\x71\x94\x34\x94\xC7\x29\xBF\x4F\xB6\xA6\x8D\x2E\x9C\x89\x90\xE2\x92\xF1\x8C\x64\x91\xFA\x23\x89\x02\x10\xA7\x93\xB4\x80\x9C\x94\x2A\x97\x0B\x93\x8E\x93\x80\x24\xB2\x48\x94\xA0\x94\x21\x97\x90\x91\xF1\x90\x62\x94\x6F\x93\xA2\x29\xB3\x46\xAD\x94\x9C\x71\x88\x08\x90\x00\x03\x78\x95\x8A\x3E\x95\x29\xB7\x47\xB3\x94\x8D\x37\x94\x91\x8A\x30\x97\xE6\x92\x8E\x94\xF0\x27\x99\x51\xB2\x9F\x8F\x4F\x99\x76\x92\xF4\x90\x37\x60\xD2\x93\xFB\x28\xAD\x53\x88\x08\x4F\x4D\x93\x9C\x92\xC4\x90\x3B\x94\x37\x93\xEE\x28\xF0\x4C\x9B\xA7\x92\x33\x9B\x9C\x93\xA5\x93\x53\x92\x0E\x94\x52\x1E\x80\x18\xB5\x9E\x83\x08\x07\x9F\x91\xD4\x8A\x74\x94\x74\x94\x80\x29\xE7\x3C\xBF\xA1\x9D\x22\x96\x3A\x97\x8B\x93\x20\x95\xA1\x91\x04\x2A\x8B\x4F\x8A\xA6\x94\xCF\x82\xC1\x8E\x17\x91\x6F\x94\x05\x95\xB2\x51\x6D\x52\xAE\x6F\x76\x29\x98\xF8\x8C\x33\x97\xE9\x91\x13\x95\xA9\x23\xDD\x52\xBD\x94\x8B\x51\x96\x7F\x93\x84\x8C\xD7\x7A\x28\x5E\x1D\x2A\xE8\x0C\x79\xA7\x8B\x27\x9D\x47\x90\x33\x96\x1F\x95\xF6\x93\x9B\x29\x80\x54\x9D\xA6\x82\x50\x97\x81\x91\x45\x94\xFD\x92\x2C\x94\xD8\x22\x98\x54\x86\xB5\x7E\x97\x8F\x9C\x90\x46\x97\x32\x26\x19\x95\xD1\xE0\x1A\x53\xA4\xA8\x81\x44\x97\xA3\x96\x33\x94\x21\x94\x1D\x95\x60\x25\xA2\x52\xA5\x9B\x93\xA9\x87\xE9\x8C\xE8\x65\x90\x94\xF5\x42\x43\x2A\x96\x36\x80\xA4\x86\x38\x93\x78\x95\x8D\x91\xE1\x93\x78\x93\x06\x29\xBD\x51\xAE\xA7\x9F\x45\x93\x46\x96\xE4\x90\xB5\x8C\x83\x90\x59\x23\x88\x42\xBE\x98\x47\x53\x9A\x11\x49\x4D\x96\x1C\x8E\x6A\x93\xB7\x28\xB8\x50\xB8\x98\x92\x4D\x9A\x63\x94\x36\x94\x8F\x92\x84\x94\xA0\x27\x8A\x52\xBC\xA8\x8A\xE3\x82\x64\x95\x03\x97\x6F\x92\xC1\x76\x7C\x2A\xB0\xA3\x2E\xA6\x8D\x42\x93\x18\x8E\x0A\x92\x7F\x94\x4B\x94\x84\x29\xE5\x4E\xB8\xA8\x81\x23\x94\xA7\x96\x9E\x92\x9D\x95\xAD\x90\x2D\x1A\xF3\x4E\x71\xA0\x92\x09\x98\xCA\x51\x52\x96\x75\x2D\x0F\x95\xFF\x28\xB8\x4F\x81\xA4\x9E\x3F\x93\x90\x92\x83\x91\x56\x95\x62\x92\x5B\x29\xDE\x4A\xA0\xA9\x97\x2C\x9B\xA8\x94\x0E\x74\x51\x90\x66\x87\xEC\x25\xC4\x34\x9B\x8E\x99\xD2\x8D\x39\x95\xE3\x8E\x78\x94\x2B\x95\x2C\xE2\x6A\x54\xAA\xAA\x8C\x53\x96\x5F\x95\x55\x97\x30\x93\x57\x95\xDA\x24\xB1\x55\x95\x96\x93\x55\x96\x88\x97\x2B\x96\xAD\x95\x00\x93\x7B\xE9\x5D\x50\x84\x6A\x93\xE5\x85\xAA\x90\x58\x94\x5D\x71\xBF\x94\x10\x28\x81\x53\x9E\x9C\x86\x34\x90\x72\x92\xBF\x92\x97\x94\x14\x95\x9D\x2A\xCC\x4D\x9F\xAA\x86\x0C\x91\x17\x95\xDF\x93\x5F\x82\xE4\x91\x9B\x0C\xF6\x42\xB5\x72\x96\x4F\x96\xAD\x97\x31\x73\x9F\x95\x82\x93\x4F\x27\xCF\x50\x91\x9D\x91\x42\x93\x75\x91\x42\x95\xD5\x92\x78\x94\x3E\x27\xA1\x53\x80\x9D\x88\x44\x9D\xCD\x8A\xDD\x8F\xC1\x70\x31\x7F\x04\x26\xEF\xB3\x4F\xA2\x87\xD4\x8A\x96\x97\x40\x41\x8C\x94\x06\x95\x82\x2A\xD7\x4D\x98\x93\x88\x56\x93\x59\x92\x59\x96\x84\x93\x84\x94\xC0\x28\x8B\x52\xBC\x96\x8D\x54\x98\x18\x4D\x78\x91\xDF\x8B\x93\x80\xE6\xEA\x41\x19\xA3\xA2\x9E\x85\x70\x1A\x95\x57\x78\xEB\x8F\x66\x69\x82\xFE\x06\x02\x09\x5B\x9F\xAD\x69\x61\x70\xC8\x75\x69\x91\xF5\x7F\x3E\xA6\x5A\x1F\xBA\x8C\x72\x04\x77\x91\x93\xFD\x91\x04\x95\x6D\x95\x13\x28\xC2\x52\xB6\x96\x88\x4E\x94\x6F\x90\x34\x95\x36\x94\xA4\x94\x87\x1D\xDE\x30\x8E\x6B\x8C\x20\x9A\x3C\x8E\x81\x91\x44\x8F\x9B\x94\x25\x6D\x2A\x56\x94\xE9\x7F\x7E\x84\x14\x72\x3F\x96\xA0\x92\xC1\x93\xC5\x2A\x84\x4F\x8B\xAC\x86\x3C\x9A\x95\x95\x3D\x97\x47\x94\x27\x95\x19\x28\xC1\x51\xA0\x9B\x89\xEC\x8B\x86\x81\x0C\x8D\x52\x86\x3D\x93\x44\xC5\x56\x35\x82\x9C\x9F\x51\x02\xB4\x94\x1C\x70\x20\x59\x65\x70\x58\x2A\xAD\xC3\x6F\x9B\x81\x24\x9A\x70\x96\x50\x96\xAD\x93\x9A\x95\xCA\x29\xDD\x53\xAD\xA0\x95\x49\x9B\x25\x85\x0F\x84\x7A\x90\xCA\x8F\x93\x18\xE0\x1A\xBC\x57\x7D\x5A\x9E\x0F\x77\x6B\x95\x3D\x58\x84\x95\xF2\x2A\xB9\x50\xB4\xAB\x9B\x41\x96\xAF\x91\x05\x94\xBE\x95\xAB\x93\xFA\x2A\xD9\x4E\xB6\x92\x9F\xD7\x8E\x88\x80\x06\x7D\xA3\x72\x25\x8B\xAB\x18\x9B\x54\x98\x9F\x14\x0D\x60\xEB\x54\x51\x70\x88\x95\x6C\x95\x22\x2A\xC8\x54\x9B\xA9\x96\x51\x96\xA2\x97\x5B\x95\x8E\x94\xA8\x95\x21\x29\xE3\x55\x81\xF5\x44\x49\x94\xF4\x64\x6E\x97\xC2\x70\xBB\x95\x50\xB1\x16\x53\xBC\xA1\x86\x52\x91\x5A\x94\x46\x96\x91\x90\x2E\x95\x95\x2B\xCC\x54\x87\xA6\x81\x57\x93\x7D\x92\x73\x95\x38\x94\xE8\x8F\xCA\x28\x94\x84\x5E\xAE\x9C\x0D\x77", +"\x21\x75\x65\x97\x24\x95\x97\x95\xE9\x29\x9F\x4E\x8C\xAC\x90\x30\x9E\xB0\x92\xD9\x90\xEB\x95\xF1\x93\x8A\x8E\x75\x4C\x84\xA3\x81\x7A\x8C\xC2\x75\xB4\x87\xCE\x8D\xC0\x6C\xB3\x2B\xAA\xC4\x6C\xAC\x89\x49\x94\x9D\x95\x41\x94\x9B\x93\x07\x95\xB4\x26\xE6\x56\x8C\x9C\x88\x5B\x95\x80\x95\x42\x94\x9E\x91\xC5\x94\x2D\x1F\xF1\x16\x95\xDC\x6F\x26\x9A\x6E\x71\x2D\x95\x42\x01\xE4\x95\xDA\xE2\x35\x57\x8C\xAF\x86\x10\x9E\xBC\x92\xD6\x90\xF4\x94\x9D\x93\x3C\x28\xA6\x4B\x93\xA8\x81\x3E\x96\xBD\x93\xF8\x90\xDB\x95\x08\x90\xBA\x1D\xC9\x47\x95\x9C\x8B\x57\x90\xBE\x91\x0C\x77\xF2\x95\xE0\x94\x36\x27\xE5\x57\xB8\x9C\x87\x5F\x9D\x7B\x91\x3B\x96\x1A\x95\xF5\x95\x56\x28\xB7\x56\xB1\xA7\x80\x27\x98\x8F\x8B\x4F\x92\x28\x93\x49\x91\xD5\x1D\xC8\x57\x8C\xAE\x92\x57\x47\x0C\x5C\x52\x97\x66\x89\x91\x6D\xE9\x23\xCA\x28\xAB\x8F\x86\xAC\x84\xD3\x8F\xF5\x92\x4D\x8F\x32\x6E\x42\x27\xD1\xF1\x44\x9D\x85\x4B\x99\x02\x97\xE8\x92\x39\x57\xA4\x93\x0E\x1E\xD6\x2D\x8B\x8A\x6D\x60\x96\x83\x96\x09\x95\x9B\x94\x84\x93\x6F\x2A\x82\x49\xAF\xA4\x8E\x2B\x91\x93\x90\xAE\x90\x6E\x94\xD5\x92\x15\x09\xF5\x24\xA3\xDC\x7D\x5C\x9B\xC0\x90\x25\x72\xBD\x71\x77\x95\x6B\x2A\xF1\x55\xA7\xB0\x90\x42\x99\xC2\x95\x6C\x97\x0A\x96\x6B\x94\x2D\x2C\xA8\x4C\x82\xB0\x9B\x57\x9B\xE1\x86\x39\x95\xA3\x6B\xFA\x95\x0E\xE3\x62\x57\xB8\xAF\x83\x41\x99\xB0\x95\x04\x94\xA1\x95\x13\x94\x7D\x2B\xBD\x50\x89\xA7\x95\x5E\x9A\xB6\x94\x39\x94\x15\x4C\xF0\x94\x4B\x26\x98\x3B\x35\xB0\x9F\x07\x74\xC2\x96\x16\x94\x88\x92\xFD\x95\xCC\x27\xFC\x57\x8E\x9F\x92\x5E\x90\x7D\x93\x4E\x94\xC4\x95\x3A\x95\x12\x2B\xC1\x4C\xB2\x9E\x9B\x49\x80\x79\x95\x9A\x6D\x7D\x94\x24\x96\x87\xE1\x77\x57\xA6\xA7\x85\x22\x92\x5B\x90\x28\x96\xB1\x92\x99\x95\xC8\x26\xBD\x57\xA3\x9C\x87\x63\x9E\xA9\x96\xA7\x90\xAE\x89\x06\x63\x73\x2B\xDB\x58\xA0\xAE\x86\x15\x72\xAC\x91\xF9\x91\xEE\x93\x32\x94\xEB\x28\xD7\x53\x94\xA3\x9F\x61\x95\x9B\x93\x8A\x97\x0F\x95\xF6\x95\x07\x28\xF2\x53\xAD\x5B\x6B\xCD\x86\x53\x7A\x68\x5C\x1C\x96\x5F\x64\x72\x2C\xD8\x55\x98\xA4\x91\x5C\x9A\xA5\x97\xA6\x91\xA6\x94\x4C\x94\x7A\x2C\xE1\x4F\xBF\xAE\x89\x4C\x9E\xAC\x94\x17\x93\x58\x92\x17\x95\xEC\xF4\x17\x59\x93\x77\x9B\x19\x7E\xAE\x91\x7C\x8D\x8D\x92\x1D\x96\x49\x2B\xEE\x54\x8B\xAD\x90\x53\x9D\xB4\x92\x4E\x97\xD3\x95\x51\x96\xF0\x29\xC4\x58\xAC\xA8\x8F\x06\x94\xC2\x8E\x6A\x5E\x2A\x97\xF2\x63\x99\x2C\xA2\x57\xA9\xA3\x9A\x3D\x99\xC8\x97\x89\x96\x71\x95\x38\x95\x34\x2B\x88\x55\xB6\xAC\x8A\x54\x95\xCA\x97\xC5\x8C\xC5\x95\x29\x95\xE2\x19\xB4\x38\xA5\xAD\x5F\x65\x9D\x0D\x5F\x61\x73\x12\x96\x95\x94\x4D\x2C\xB9\x51\xBB\xAD\x9B\x45\x98\xCC\x92\x3B\x96\x23\x97\xDB\x94\x90\x2C\xC1\x50\x90\x54\x9A\x2C\x9D\x98\x87\x8C\x48\x35\x96\x73\x62\xD6\x2C\xF3\x58\xBD\x9F\x95\x63\x96\xAC\x90\xBF\x91\xB7\x94\x44\x93\xC9\x2C\xE6\x58\x89\xAA\x91\x58\x95\xAB\x97\x66\x81\xD7\x83\xD6\x92\xC9\x22\xE7\x59\xB2\x44\x8A\x62\x9A\xCE\x96\x27\x96\x40\x94\xA5\x95\x91\x25\xBB\x57\xA1\x9C\x81\x65\x9A\x89\x91\x6D\x95\xE0\x94\x37\x94\x97\x1A\xEB\x58\xBB\xE6\x7E\x40\x9F\xEB\x8A\x84\x97\xCA\x95\x74\x96\x9A\x2C\xAE\x56\x9A\xAB\x99\x5D\x9C\xAD\x92\xA0\x96\xB7\x94\xD5\x95\x9F\x29\x86\x5A\x83\xB1\x82\x5C\x9E\x82\x95\x38\x84\x0C\x95\x31\x86\x85\x23\xA4\x55\x8A\xB0\x83\x61\x90\xB6\x90\x6F\x97\x0E\x97\x79\x95\x3D\x2C\xD2\x50\xA4\xB1\x94\x42\x90\xC0\x94\x0D\x97\x41\x97\x4E\x94\xFC\x2A\x9E\x5A\xAF\x6C\x76\x63\x86\xA4\x8B\xA4\x97\x43\x96\x7E\x96\x11\x2D\xB7\x57\x93\xB4\x83\x5B\x9A\x9E\x90\x8F\x95\x05\x94\x8C\x96\x5F\x2A\x98\x57\x87\xA5\x83\x60\x9B\x62\x97\xC2\x91\xD3\x8C\xD8\x91\x1E\x2C\xA0\x07\x91\xA6\x90\x35\x3A\xCF\x93\x24\x78\x44\x96\x61\x96\x21\x2A\x96\x55\xB0\xAC\x98\x4A\x9C\xB4\x90\x56\x96\xD3\x95\xA2\x94\x42\x2D\xDE\x52\x90\xA9\x85\x6A\x96\xB1\x96\x70\x8A\x68\x8B\xA4\x96\x0D\x01\xD9\x4B\xBE\xE9\x2D\x6A\x92\x29\x91\x98\x96\xD1\x95\x4C\x93\x48\x2B\xBF\x52\xAD\xB3\x80\x40\x9F\xCE\x92\x00\x96\x37\x96\xEA\x95\x8F\x2C\xD5\x58\x96\xA8\x99\xEC\x6C\x62\x96\x5C\x96\x8B\x92\xF0\x91\x8D\x28\xE8\xB6\x46\x6A\x9C\x58\x4C\xB5\x92\x90\x96\x4B\x59\x2E\x96\xD3\x29\xE4\x57\x99\xB3\x8C\x49\x9B\xCD\x96\x25\x96\xFF\x94\x98\x94\x2D\x2D\xB2\x52\xA1\xB3\x93\x47\x90\x52\x88\xAA\x91\xF2\x83\xD8\x89\xE5\x10\xC7\xA0\x7F\xAB\x95\x1F\x94\x0E\x8F\x7E\x90", +"\x13\x68\x4A\x5C\x80\x54\x7A\x63\x4F\x2C\x6C\xB9\x86\xF2\x4B\x68\x32\xD7\x95\xBF\x96\xCB\xE0\x4B\x14\xA5\x2B\x91\x20\x99\x2C\x95\xF9\x86\x7E\x7F\x36\x79\x39\xDB\x0F\x57\x9B\xB2\x92\x6A\x94\xD1\x91\x66\x95\x5B\x97\xA1\x94\x57\x2D\xDC\x52\x99\xB5\x9B\x51\x9A\x8D\x92\x18\x96\x81\x88\xB1\x8F\xC4\x2B\xC6\x51\xB7\x6A\x88\x46\x98\x8A\x70\x65\x96\x4E\x52\xD3\x96\x02\xFE\x26\xE5\x46\x69\x6E\x60\x93\x1B\x8C\x20\x8D\x92\x8E\x98\x8E\x4B\x1E\xB2\x3A\x8D\x79\x95\x60\x9B\x90\x8F\x2E\x6F\xD4\x95\x9D\x95\x34\x19\xB9\x43\xB0\xCF\x68\xB6\x59\xB5\x95\xCF\x91\x78\x94\x83\x00\xC0\x2D\x9C\xFC\x72\xCA\x6F\xDB\x6A\xDA\x92\xA2\x94\x27\x97\x4B\x95\x1B\x29\x9F\x59\x9D\xA4\x91\x6D\x92\xAB\x93\xB6\x95\x98\x94\xD7\x95\x7E\x1F\xBB\x48\xAE\xAD\x97\x47\x9E\xC1\x96\x00\x83\x9D\x73\x2C\x96\x03\x01\x59\x5B\xB8\xF8\x62\x6E\x91\x95\x6E\xA4\x95\x2C\x96\x14\x96\xB3\x2C\xAA\x58\x87\xB6\x8C\x61\x99\xD8\x96\x85\x97\x62\x96\x9A\x94\xA5\x26\xAC\xEE\x52\x91\x88\x35\x90\x91\x92\x57\x78\x88\x66\x2A\x8F\xF2\x2D\xF8\xFC\x74\xB7\x8A\xCB\x66\xDF\x92\xAD\x94\x40\x96\x82\x94\x55\x2D\xC9\x55\xA4\xB7\x8B\x56\x96\xDE\x94\x56\x95\x33\x97\xDC\x85\xBE\x1F\xE7\x28\x49\xB8\x97\x2D\x8B\xDD\x95\xCA\x75\xD8\x95\x18\x71\x6B\x2D\xC1\x52\xAF\xB6\x93\x59\x9F\xD6\x92\x99\x96\x46\x96\x66\x96\x5B\x2D\xFA\xCD\x67\xA2\x85\x11\x90\x00\x93\xDC\x8A\x7B\x7E\x83\x6D\x1E\x2E\x8D\x5C\xBF\xB3\x92\x65\x91\xD0\x91\xC2\x95\xC3\x95\x09\x97\x0F\x2B\xF3\x59\xA8\xB1\x81\x21\x96\xDB\x95\x87\x88\x6E\x97\x45\x92\x7D\xD9\x65\x3F\x8D\x76\x8D\x90\x8E\x5A\x78\x00\x03\x86\x96\x4A\x7F\x90\xF2\x77\xB3\x72\xB8\x8C\x55\x9F\xE0\x96\x55\x96\x8D\x96\xDE\x95\x38\x2E\xBE\x57\xBC\xB1\x82\x57\x99\xC6\x97\xE4\x93\xB4\x33\x42\x7C\x9C\x02\x87\x58\x8F\x6D\x99\x4B\x9D\xDB\x80\x92\x91\x8B\x96\x21\x59\x84\xFE\x1F\xB6\x5E\xB1\x8E\xFB\x80\xC6\x92\x1A\x96\x22\x97\x76\x94\x2B\x2D\xEF\x51\x81\xB1\x98\x46\x98\xE2\x94\xA8\x96\x8A\x97\xBB\x94\x63\x1B\xB7\x24\xA8\xB2\x47\x72\x9E\xE2\x71\xC9\x97\x70\x97\x12\x96\x95\x2A\xA3\x47\xA3\xA8\x9E\x64\x9B\x9E\x95\x30\x94\x50\x96\x70\x95\x53\x2E\xAD\x57\x95\xB9\x96\x33\x99\x6F\x94\x0A\x82\x63\x95\xC8\x8D\xFB\x0D\xB0\x4E\xB4\x8E\x80\x73\x9F\xE2\x93\xFA\x85\x96\x6D\x25\x97\xEC\x2C\xCD\x5C\x87\xAB\x8F\x72\x93\xD0\x91\xCA\x97\x1E\x96\x1D\x97\x7D\x2C\xF5\x59\xA2\x36\x81\x03\x8D\x03\x97\xD0\x97\xB7\x82\x4A\x91\x0A\x09\xDD\x4E\x98\xB7\x81\x73\x99\xDA\x91\x55\x96\x21\x97\x55\x95\x91\x2E\xB4\x5C\x90\xB8\x94\x65\x96\xD5\x96\x96\x94\x56\x96\x5C\x96\x05\x2A\x97\x5C\xA5\x91\x87\x15\x98\xE0\x94\xD4\x94\x77\x96\x53\x97\xD9\x27\xA4\x57\xBA\x8E\x9C\x69\x9A\xBB\x94\xD2\x97\x45\x96\x82\x96\x03\x2A\xB0\x5D\xAA\xA8\x92\x75\x9C\x18\x64\x24\x2E\xDF\x54\x0D\x97\xB6\x2E\xB1\x5C\x84\xB7\x8A\x8F\x80\xC1\x90\x63\x92\xFA\x90\x8D\x91\x84\x0E\xEC\x42\xBA\x46\x90\x3D\x9D\x7E\x58\x8B\x96\x89\x90\x17\x97\xA7\x2D\xFA\x20\xA5\xBA\x96\x5D\x95\xA7\x8E\xDD\x92\x1D\x96\x78\x93\xFA\x2D\xDD\x59\xBF\xAF\x9F\x66\x9C\x9D\x97\xA5\x96\x77\x94\x4F\x94\xDF\xEC\x6D\x58\xA1\xB3\x75\x4F\x94\xE7\x96\xDA\x77\x82\x97\xD1\x6C\x90\x2E\xE8\x53\xBC\xBA\x95\x68\x9E\xEB\x90\x9E\x95\x89\x96\x79\x96\xCB\x2C\xF4\x59\x9F\x58\x4C\x17\x95\xDA\x91\xD9\x97\xA3\x97\x65\x97\x14\x12\xC6\x5B\xBA\x54\x90\x4B\x9C\x53\x8A\x2E\x95\x9F\x8F\x59\x81\x19\x05\xF0\x47\x97\x62\x8C\x05\x98\xEC\x95\xD1\x95\xA5\x6D\x5B\x97\xDC\x2E\xA1\x3E\x9E\xBB\x81\x71\x97\xC7\x93\xC4\x95\x1E\x96\x4B\x97\xA2\x2C\x81\x5D\x80\xAF\x9C\x68\x9C\xD0\x6D\x37\x8E\x03\x86\xA1\x5D\xED\x2E\x88\xB4\x7E\xC9\x6C\x70\x90\xF0\x93\x20\x8D\xB3\x97\x97\x8E\x19\x23\xE3\x34\x9B\x8C\x9D\xDA\x8D\x3E\x97\x6B\x8F\xFB\x91\x4C\x87\x70\x09\xA2\x46\x9B\x5B\x61\x79\x9B\xA1\x6B\xE4\x94\xBC\x97\x92\x97\x08\x1B\x82\x5E\x8A\x6C\x84\x78\x9C\xB0\x8B\xE5\x94\xDC\x8C\xAF\x8D\x72\x1B\xE0\x36\xBD\x17\x7D\x5F\x86\xD1\x3F\xFC\x90\x3A\x93\x51\x97\x0E\x2F\xC8\xDC\x7F\xBB\x98\x73\x9F\xC0\x90\x23\x73\xEA\x93\xA2\x85\x4C\x07\x9A\x24\xAE\x8F\x9F\x18\x92\x66\x96\xB0\x7A\x3D\x90\x76\x7A\x34\x2F\xAE\xB4\x76\xBC\x9D\xCD\x61\xEF\x96\x2A\x97\x54\x97\xC1\x94\x7D\x2E\x9A\x55\x96\xAE\x9C\x54\x9A\xF1\x94\x94\x95\x8A\x96\x7A\x94\x0C\xE6\x44\x18\x94\x08\x79\x7A\x9C\x5A\x83\xEB\x96\x82\x6D\xAE\x97\x99\x29\xE0\x5B\x89\xA9\x82\x6F\x91\xA0\x90\xD8\x95\x93\x94\x61\x97", +"\x4F\x2A\xEE\x5C\x84\x96\x83\x5F\x84\x55\x8E\x0E\x96\xAF\x94\xA4\x97\xD9\x2E\xB0\x5C\x8B\xBD\x83\x73\x9C\xF9\x8B\xB0\x94\x71\x94\x63\x96\xD8\x29\xE2\x5D\x88\xB6\x84\x77\x94\xA1\x92\xAE\x97\xF5\x94\x00\x93\xE9\x25\x9F\x5A\x92\x7B\x9E\xB0\x88\x71\x7B\x26\x93\xBA\x94\xB6\x97\x53\xEE\x1D\x5C\x83\xBE\x81\x6C\x9B\x25\x95\xCC\x95\x6C\x95\xC2\x96\xB3\x29\x8C\x59\x87\xAA\x98\x77\x97\xE2\x92\xDF\x97\xD9\x96\xC8\x97\x2F\x28\xB3\x5A\x87\x85\x94\x7C\x9F\x85\x94\xF3\x69\x60\x6C\xCC\x97\x47\xEE\x45\xB4\x75\xB7\x98\x79\x98\xB5\x8A\xE7\x96\x0A\x8E\x9E\x97\x5C\x1E\x87\x5E\x9A\x0B\x94\x15\x8B\x77\x97\x0D\x95\xCB\x8F\x80\x8F\x03\x26\xF2\x94\x46\x98\x9F\x7B\x91\xDF\x96\xDF\x94\x3B\x6C\xB8\x97\x47\x2A\x9D\x59\xB5\xA8\x8A\x52\x9D\xA5\x97\xCF\x97\xE5\x94\xBC\x97\x51\x2B\x83\x5D\xA0\xAA\x9D\x6A\x97\xC0\x93\x0E\x96\x1F\x8A\x3F\x5F\x3E\x22\xB0\x5F\x92\x3F\x8F\x78\x9A\xEC\x94\xE9\x95\x71\x97\x93\x97\xC7\x2D\xA9\x5E\xB1\x74\x9E\x79\x93\xD3\x88\xE8\x95\x4D\x8E\xA1\x97\x87\x07\xEA\x34\x83\x04\x77\x6B\x9E\x85\x92\x2E\x75\xD7\x07\x81\x95\x7C\x2D\xD8\x5D\x81\xB7\x9A\x7C\x97\xFC\x94\xF6\x97\xDA\x8C\xDB\x97\x6D\x1B\xAC\x4F\x86\xBC\x8E\x3D\x9D\xDC\x94\x5B\x80\xCC\x88\x85\x96\x0F\xBC\x72\x47\x94\xA2\x69\xAE\x87\x64\x93\x34\x91\x28\x94\x8F\x95\xBC\x26\xC4\x1F\xAF\x2D\x75\x1D\x5A\xFF\x20\x1F\x97\xCC\x8B\xEB\x60\x40\x2B\x9B\xBA\x0A\xC0\x88\x33\x9D\xDD\x92\xA7\x97\x77\x97\xAF\x97\xFF\x29\xF4\x5E\x8B\xA9\x96\x7B\x9B\xBA\x95\xEC\x95\x2E\x96\x44\x92\xDB\x28\xE5\x3B\xB7\x99\x9E\x59\x9B\x1B\x91\x02\x98\xF7\x2F\x09\x98\x80\x26\xB8\x5D\x85\xA9\x89\x6B\x93\xE3\x90\xBF\x95\x8D\x96\x56\x97\x12\x2E\xAE\x5D\xB2\xB6\x90\x7E\x99\xB9\x94\x0E\x8D\xCE\x94\x3B\x8C\x61\x1F\xB7\x36\xA3\xC0\x92\x45\x74\xDD\x95\x59\x6E\xD6\x95\x68\x93\x67\xB2\x58\x4F\xAB\xC0\x97\x41\x99\xB7\x93\x50\x94\xE8\x97\x42\x95\xA2\x2F\xE7\x56\xA6\xB8\x94\x62\x96\xEE\x93\x6D\x95\x80\x96\x89\x94\xF6\x28\x91\x4D\x8E\xC0\x8A\x0F\x92\x41\x90\x05\x9B\xA5\x92\x15\x98\xFB\x29\xFD\x50\xA5\xAE\x9B\x73\x9B\xFC\x92\x03\x99\xF3\x96\x0E\x98\x19\x2D\xCC\x60\x9B\xB4\x88\x68\x9F\xBE\x93\xE4\x74\xC0\x8D\x08\x80\x88\x2B\x83\x36\xAC\xD3\x76\x82\x9E\x6A\x97\x9A\x95\xF3\x94\xC3\x97\x0E\x2A\xE7\x5C\x90\xA8\x89\x73\x92\xA1\x94\xF1\x94\xFB\x94\xC7\x97\xEE\x2B\xBD\x3F\xBC\x9A\x84\x8A\x82\x06\x67\x47\x04\x1B\x98\x60\x93\x11\x2F\xBC\x45\x93\xBC\x92\x74\x9E\xCE\x96\xA2\x96\xBD\x97\x71\x97\x70\x2D\xE0\x59\xB8\xC1\x91\x64\x9F\x04\x9A\xF4\x4C\x8B\x96\x53\x92\x41\x30\x92\x51\x9D\xBB\x9D\x4F\x98\x01\x98\x53\x95\xD8\x96\x50\x96\x18\x2F\x85\x5A\xA2\xC1\x8D\x73\x91\xBC\x91\x04\x9A\x51\x87\x6E\x94\x09\x12\xBA\x44\x8B\x48\x9E\x82\x44\xE4\x96\x5C\x6D\x24\x98\x54\x92\x17\x20\xA7\x5D\x84\xAB\x8E\x70\x9A\xEA\x96\xC9\x94\x0C\x99\x1B\x97\x32\x30\xE5\x5B\xB4\xC0\x83\x6A\x9A\xCB\x95\xCB\x90\x63\x94\x73\x73\xCE\x24\x91\x29\x80\x01\x81\x38\x90\x04\x9B\x20\x03\x1F\x98\x75\x93\x58\x30\xC7\x56\x84\xC1\x87\x69\x9A\xB7\x91\xA5\x95\xBD\x94\x3A\x98\xF7\x2A\xEB\x5C\xB1\xA3\x9F\x6F\x99\x9B\x97\x5C\x8F\x2D\x93\xF8\x95\x9B\x0C\xF3\x57\xA2\x85\x80\x00\x0F\x0B\x99\xE3\x91\x30\x98\xB4\x96\xC3\x30\xF7\x5B\xBC\xB0\x99\x6F\x9E\xC3\x93\xBF\x94\x10\x97\xFE\x96\x42\x2C\x9C\x61\x9C\xBC\x84\x60\x9F\xDC\x88\xE1\x7A\x96\x97\xB3\x94\xEF\xD9\x0A\x5D\xBB\x92\x9E\x85\x92\x04\x99\x0B\x9A\xAE\x96\x77\x92\x0A\x2B\xAF\x60\xA1\xBB\x95\x65\x91\xCF\x97\x96\x96\x07\x99\x58\x97\xA7\x2F\xB6\x61\x8F\x8A\x9D\x74\x98\x61\x90\xD1\x96\x39\x93\x54\x94\x47\x2F\xEC\x61\x92\xC2\x92\x78\x94\x09\x9D\xB5\x94\x55\x97\x57\x98\x50\x2E\xB1\x61\x94\xB8\x93\x85\x9A\xD5\x92\xEF\x96\x6E\x94\x19\x96\xD5\x02\xDF\x73\x55\xC3\x94\x39\x95\x01\x9B\x12\x98\x25\x94\xB9\x97\x93\x2B\xCC\x5F\xA9\xAE\x80\x83\x91\xD4\x94\x21\x98\x6D\x97\x7C\x98\x5E\x19\xC6\x58\x82\xED\x53\x88\x9D\x74\x94\xF3\x96\xF2\x92\xCF\x97\xD6\x29\x88\x5F\x8B\xB2\x9E\x86\x9D\xC8\x91\x11\x99\xB9\x97\x31\x98\x30\x2D\xFB\xE9\x56\xBB\x9F\x72\x97\x0A\x9A\x9D\x91\x21\x97\x5C\x97\x2C\x30\xCC\x5C\xAD\xC2\x93\x74\x98\x10\x9D\xD2\x96\x42\x99\x1C\x97\xF9\x2E\xBB\x5C\x84\xBB\x82\xBB\x7F\xCC\x97\xF1\x90\xF7\x8C\x7A\x81\x92\x27\xA4\x62\x80\x9E\x84\x7C\x92\xFB\x8C\x18\x9A\x11\x98\x63\x98\x7C\x2B\xC8\x61\xBE\xAD\x8A\x86\x99\xAF\x90\x26\x9A\xEB\x37\x4B\x90\x34\x31\x82\x62", +"\xA8\xC2\x8F\x05\x93\xAC\x90\x96\x94\x2B\x98\x17\x98\xAB\x2E\xF3\x61\xAD\xBA\x95\x87\x9F\xEA\x97\x1E\x9B\xB0\x96\x90\x98\xF0\x02\xBD\x4B\xBF\x8B\x9A\x50\x98\x7E\x92\x2B\x9A\x4D\x98\x1C\x96\x5D\x31\x81\x55\x85\xC1\x91\x87\x91\x16\x9D\x1B\x9A\xE2\x96\xFE\x96\x76\x30\x81\x58\xA2\xC3\x84\x83\x93\xCE\x96\xE3\x96\x98\x8F\xB2\x55\x4A\x31\x95\x4F\xA7\xB5\x97\x3C\x9F\x0E\x9F\xB1\x90\x21\x98\xB6\x96\x86\x30\xEE\x5A\x88\xC2\x8B\x82\x91\xD7\x95\x09\x9A\x15\x96\x7A\x90\x3E\x2A\xFC\x1C\x96\xED\x41\x8C\x97\x7A\x90\xAA\x94\xE4\x94\xD6\x96\xF3\x2E\xAE\x5B\x89\xC6\x90\x6D\x9F\x13\x9A\xCA\x94\xA6\x96\x2A\x97\x9A\x2E\x93\x56\x80\xC0\x82\x07\x94\xA5\x95\xD1\x68\x65\x99\xFD\x93\xFD\x2C\xC2\x53\xB0\xC1\x8F\x5E\x92\x07\x99\x7A\x95\x12\x99\xE9\x95\x8C\x31\x8A\x61\x8E\xC6\x93\x6B\x9B\xCB\x92\xD3\x85\x99\x94\x2A\x8F\xA7\x31\x8E\x50\xA3\xAF\x9D\x7C\x9B\x1A\x9E\x7C\x95\x6B\x98\xF4\x95\x51\x2C\xEA\x57\xB9\xC5\x8E\x69\x96\x15\x9E\x09\x9A\x5B\x86\x99\x82\x6A\x2F\xFC\xAB\x79\xC6\x81\x41\x95\x11\x9C\x20\x9B\x45\x99\x4A\x98\xE1\x2D\x97\x61\xA3\xB7\x9D\x8C\x97\xE9\x91\x28\x99\xA6\x97\xA1\x98\x09\x07\xA3\x63\x93\x31\x9B\x08\x95\xE4\x93\x39\x99\x0D\x94\xA6\x98\x9E\x20\xBA\x62\xA0\xC5\x8E\x85\x92\x16\x99\x06\x98\x59\x99\x19\x98\x66\x31\xF9\x5E\xB5\xC2\x87\xF7\x83\x84\x91\x70\x90\xAE\x95\x97\x90\x83\x1C\x87\xEF\x62\xB4\x9E\x11\x9E\x1D\x9C\x09\x96\xF7\x96\x66\x97\x4E\x2F\x91\x58\x84\x56\x93\x60\x95\x73\x85\x9B\x89\x5D\x94\xB8\x90\x32\xE8\x19\x39\xAD\x97\x9B\xE4\x8F\x5E\x93\xA9\x94\x99\x35\xFA\x98\x63\x28\xF6\x5F\x98\x70\x94\x78\x90\xEE\x96\x2E\x98\x3D\x99\x7B\x97\xF6\x30\x9F\x63\x82\xBA\x81\x8D\x93\x14\x90\x5A\x95\x63\x8A\x69\x95\x01\x2B\xCB\x85\x43\xBF\x8F\x1B\x99\x10\x00\x41\x9A\x1E\x95\x6B\x98\x84\x31\xB9\x62\xA9\xBA\x83\x8F\x9C\x13\x9D\x3C\x98\x2C\x99\xF3\x98\xB2\x30\xE9\x63\x91\xBF\x94\x90\x9E\xEC\x8E\x42\x99\x2E\x98\x1D\x05\x0C\x0F\xD9\x34\xAA\xAB\x93\x86\x9E\x21\x99\x99\x38\xF2\x97\x2D\x98\x92\x2B\xFC\x5C\xBE\xB4\x8C\x4F\x94\x1D\x99\xE3\x96\x84\x99\x8D\x97\x7C\x31\xDC\x5A\xAE\xC8\x87\x1C\x89\x18\x90\xB2\x80\x63\x90\x0F\x7B\x1D\x32\xED\x61\x82\xC3\x86\x61\x9A\x0D\x98\xA5\x94\x37\x98\x95\x96\xAF\x31\xE5\x58\x91\xC8\x96\x8E\x90\x1A\x98\x3B\x9B\xFF\x96\xC7\x96\x9E\x21\x90\x5B\x96\xB6\x9E\x4C\x73\xD9\x95\x53\x8F\xD2\x8F\xC8\x96\xD2\x04\x44\xB5\x07\x38\x13\x69\x4B\xD9\x97\x64\x94\x99\x92\x9C\x94\x64\x6A\x64\x64\x86\x17\x81\x5D\x93\x18\x9F\x32\x96\x88\x98\x79\x97\xDF\x2E\xE4\x56\x90\xC9\x8C\x89\x93\xFA\x93\x4A\x99\xE9\x96\xA1\x98\x38\x2B\x98\x41\x9F\x63\x90\x6E\x93\xFE\x8D\x81\x92\x6E\x90\x9C\x86\x26\x30\xE9\xCB\x2A\xC9\x85\xB9\x84\xC8\x90\x2E\x9A\x2A\x98\xAF\x98\x2D\x30\xDB\x61\xB2\xC3\x8E\x90\x93\x16\x98\x42\x99\x59\x99\x1F\x99\x66\x2F\xA1\x3A\x8F\xB7\x83\xE9\x8C\xB3\x90\x47\x91\x16\x85\xE8\x90\x58\x2B\xBE\x60\x96\xB7\x90\x6F\x9F\x17\x36\xDE\x89\xB0\x94\x43\x99\x38\x31\xD9\x61\x9F\xC5\x8A\x94\x95\x17\x9B\x4E\x9B\x5D\x99\x6F\x98\xC3\x31\x8A\x5B\x8B\xC2\x82\x67\x97\x1C\x9D\x6D\x96\x9C\x73\x1F\x82\xED\x2D\xC1\x23\xBA\xA3\x89\x16\x93\x28\x9C\x36\x78\x9B\x98\x22\x95\xEE\x30\xEF\x64\x9E\xBD\x86\x88\x90\xF6\x93\x47\x9A\x9F\x96\x8E\x98\x80\x2E\x90\x65\x9F\xC0\x81\x92\x9F\xE6\x91\x8A\x92\x13\x82\x02\x97\x0C\x14\xD8\xB8\x20\xCD\x7E\xC4\x65\x2B\x99\x1E\x78\xC4\x00\x84\x57\x8D\xD6\x4D\x65\x84\xC4\x77\x95\x97\x13\x9B\x08\x98\x93\x99\x51\x99\x4E\x32\x8B\x65\xA6\xCA\x8F\x90\x9B\x18\x9C\xF4\x97\x26\x98\xD3\x97\x0E\x31\xD5\x40\x66\x91\x8D\x3B\x94\xFB\x83\x08\x8F\xCC\x39\x56\x96\x48\x1C\x9F\x4C\xA4\xB9\x9D\x8D\x9B\xBF\x97\x37\x99\xFF\x95\x53\x99\x2D\x31\xB1\x63\xAF\xC4\x9B\x8B\x91\x13\x99\x4D\x80\xEC\x94\xD3\x90\x50\xBC\x52\x65\x9C\x44\x85\x94\x9E\xCA\x90\x50\x97\x17\x96\x76\x99\x61\x2C\xEE\x65\xA3\xB1\x91\x92\x9C\xD2\x91\x55\x9A\x7F\x97\x55\x99\xA0\x0D\x9E\x61\x9B\xBA\x98\xD9\x8E\x45\x7C\x4E\x04\xB9\x93\x21\x97\x8F\x24\x9C\x42\x9B\x74\x3A\x97\x9E\x82\x89\x38\x48\x88\x98\x37\x99\xA2\x32\x89\x65\x99\xCB\x85\x95\x97\x0C\x9C\x60\x9A\x9A\x96\x70\x98\x6C\x2E\xE0\x65\xAB\xC7\x82\x81\x95\xE8\x91\x94\x90\x7A\x8E\x97\x93\xD7\x25\xD5\x44\x8A\x4D\x93\x98\x93\x91\x7C\x5A\x98\xA8\x98\x6B\x99\x79\x2E\xEE\x52\xA5\x35\x9B\xDA\x86\x97\x84\x63\x91\x5B\x91\xFE\x97\xC6\x07\xE9\x5B\xA7\x89\x90\x86", +"\x99\x9A\x92\x1A\x9B\x1D\x94\xE7\x30\xCF\x94\x28\xC3\x55\xCB\x99\x95\x99\x31\x9A\x3C\x98\xA9\x98\xF2\x98\x8C\x32\xE6\x63\x8E\xCA\x88\x8F\x92\x2C\x98\x1F\x99\xB8\x98\xB0\x94\x5A\x28\xE2\x52\x89\x49\x97\xDB\x89\x39\x89\x8F\x78\x6A\x94\x8D\x8F\xB8\xAF\x28\x59\x54\xCC\x86\xBC\x8C\x4F\x4F\x5A\x96\x65\x99\xD5\x96\x7A\x2E\xB9\x64\x9D\xC1\x92\x8E\x95\xF7\x91\x13\x99\xB0\x96\x15\x99\x35\x30\xAC\x64\x84\xBA\x81\x4B\x91\xA7\x5E\x71\x8C\xD5\x98\xD0\x8A\xAB\x2C\xDB\x5C\x97\xBF\x85\xA6\x74\x68\x8A\xD4\x97\x33\x46\xCD\x48\x5E\x33\xED\x64\xA3\xAE\x9A\x95\x91\xF7\x90\x3A\x9B\xDC\x96\xB2\x99\x1B\x30\xE6\x66\xB7\xBD\x88\x9B\x94\x0B\x9B\x1C\x99\x0C\x97\xAD\x93\x33\x2C\xD4\x3C\x9B\xCD\x80\x8E\x3A\x37\x9B\x98\x94\x22\x96\x91\x90\xCD\x27\xA4\x4B\xA9\xAF\x9C\x39\x9F\xB7\x93\x05\x94\xC2\x98\x00\x97\x60\x20\xA2\x62\xAC\xD3\x6B\x9C\x98\x15\x3F\x62\x9B\xDE\x99\xA2\x99\x23\x32\xC7\x66\xA5\xC8\x89\x9A\x97\x22\x9B\x69\x99\x8A\x99\xA6\x99\x67\x31\xCF\x66\xA9\x3D\x5B\x28\x95\x66\x92\x32\x32\x03\x8C\x97\x99\xFD\x32\xF0\x55\xB2\xC5\x8E\x8A\x94\x17\x98\x69\x9B\xB6\x99\x46\x99\xDD\x32\xF6\x64\x9F\xCB\x98\x93\x9A\x3A\x9D\xF1\x92\x5A\x98\xA3\x98\xFD\x6C\x5C\x45\x9D\x4B\x90\x69\x46\x2E\x9E\x62\x99\x20\x98\xD0\x92\xBB\x2E\xF1\x64\xBD\xB4\x96\x78\x9F\xD3\x90\x58\x9B\xF3\x96\xC2\x99\x0D\x31\xA1\xE4\x18\xC5\x90\x84\x97\x37\x98\x38\x48\xEC\x99\x74\x99\xAF\x2C\xB3\x67\x8D\xC9\x85\x86\x9F\x24\x9D\x63\x98\x9D\x98\x25\x98\xDE\x32\x8D\x63\x85\xC7\x8F\x8C\x9B\xF7\x93\x92\x94\x00\x8E\xB6\x98\x01\x31\x9D\x65\xB8\xCD\x88\x97\x98\xCB\x8A\xC1\x90\x4D\x92\x1C\x99\xCA\x2F\xA7\x57\x94\xAE\x8A\x02\x9F\x22\x8C\x22\x91\x21\x94\x87\x91\x85\x21\xBC\x44\x9F\xE5\x66\x3E\x9A\x38\x9D\x65\x98\xBF\x98\xEC\x99\xFE\x32\xEB\x65\xB3\xC5\x8E\x62\x97\x04\x98\x8A\x96\x54\x98\x29\x96\x2E\x31\x8D\x5F\xB3\xC6\x8F\x7C\x9D\xA3\x94\x97\x97\x8F\x94\xAB\x5D\x9C\x33\xA9\x28\x47\xCF\x95\x4A\x9D\x37\x9C\x57\x99\x06\x98\xC0\x99\x5F\x30\x82\x67\x9D\xC0\x88\x9D\x9A\x1E\x9E\x70\x9B\x85\x95\x40\x8F\xA5\x31\xC2\x76\x51\xD0\x90\x90\x4E\x39\x9E\x71\x99\x75\x94\x33\x94\x02\x33\x92\x67\x81\xC7\x94\x9C\x94\x15\x98\x70\x97\xF8\x98\xDA\x98\x0D\x34\xB6\x63\x88\x75\x7B\x9C\x9E\x3F\x9F\x86\x95\xEC\x99\x1C\x96\xDA\x33\xD8\x65\x9C\xCF\x9A\x96\x9E\x3D\x98\x5E\x99\x9D\x99\x47\x99\x54\x32\x93\x64\x96\xC9\x90\x9B\x41\x08\x4D\x0E\x20\xB3\x99\x1A\x9A\xBA\x60\x27\x02\x00\x75\x45\xFE\x70\x34\x9E\x53\x9B\x1E\x7F\x06\x07\xC7\x60\x5C\x22\x8B\x35\x58\xF4\x61\x0D\x35\x82\x30\x44\x63\x31\x2E\xD7\x60\x49\x22\xBF\x68\x4F\x29\x61\x0E\x34\xB8\x0D\xCA\x8B\x6F\x46\xE7\x60\x24\xA7\x66\xE6\x65\x1D\x44\xD7\x34\xC1\x72\xE4\x4C\xDF\x38\x35\xC6\x5B\x64\x66\x7C\x43\xA1\x9B\x42\x3D\x21\x33\x49\x00\xF0\x5A\x4C\x34\x85\xC5\x01\xCD\x88\x04\x44\x62\x56\xC5\x02\x69\x7D\x90\x30\x6B\x34\xC8\x68\x9D\x8C\x37\xED\x2E\x12\x36\x9B\x30\x21\x48\xA2\x8A\x10\x34\xFA\x68\x9F\xCA\x97\xA1\x91\x17\x9F\x5F\x9B\x00\x9A\x6D\x96\x50\x31\xDC\x59\x9C\xCB\x8B\x7C\x99\x40\x9F\x0E\x9B\x02\x9B\x3C\x98\xE8\x2E\x8B\x53\x6A\x85\x31\xB1\x41\x47\x9C\x8D\x99\xFE\x44\xF0\x63\x03\x1A\x43\xA9\x56\xD2\x8B\xA3\x43\x04\x7C\xFC\x61\x35\x96\xA3\x46\xBE\x1E\x9D\xF4\x44\xCF\x8F\x9D\x9F\x3F\x9D\x7D\x9A\xBA\x99\xC2\x97\x87\x34\x84\x5B\x89\xD2\x86\x6C\x9E\x43\x98\x7C\x9A\xEE\x98\xF1\x99\xF4\x32\xE7\x5D\xB1\xB4\x8C\x09\x9E\x1E\x98\x2F\x4C\x48\x97\x69\x8F\x72\x05\x96\x5F\x93\xC3\x9B\xA4\x9F\x48\x4F\x46\x99\xF2\x98\x06\x99\x72\x32\xBD\x68\x8B\xD2\x98\x8B\x9D\x48\x9A\x2F\x9A\xC8\x98\x0F\x9A\x74\x2D\xA1\x55\x8D\x3B\x74\x69\x9F\x35\x8A\x6B\x9A\x20\x9B\xBC\x99\xB8\x32\xCB\x64\xB1\xCC\x93\x51\x9C\x05\x9A\x7E\x9A\x46\x98\xFA\x99\xF7\x1D\xF6\x67\x8C\xAB\x98\x9F\x91\x56\x91\x6A\x39\xB9\x95\xAA\x99\x55\xCA\x6C\x06\xA9\xCC\x9C\x3C\x86\x20\x99\x90\x34\x2F\x9A\xB3\x88\x42\x33\xAF\x66\x84\xCD\x97\x96\x9A\x31\x9B\x87\x98\xC7\x99\xA8\x98\x1E\x33\xF5\x60\x85\xD3\x84\x8E\x91\x4B\x9E\x38\x9B\x2C\x9B\x7C\x93\x12\x16\x8A\x02\x89\x73\x8D\x78\x8E\x4C\x99\x68\x9B\x87\x97\x62\x71\x16\x34\x96\x61\xBE\xCA\x82\x7B\x9E\xFC\x94\xEC\x94\x07\x9B\x15\x99\x43\x34\xF7\x0E\x83\xC9\x88\x0C\x95\x5B\x8E\x48\x9B\xE7\x89\xCF\x96\xAE\x33\xC8\xC7\x57\xCF\x86\xA5\x99\x3D\x9E\x90\x98\xED\x98\x02\x9A\xAB\x34\xA1\x5F\x9F\xCF\x90\x8D\x91\x3E\x9A\x36", +"\x9B\x0B\x9A\x06\x9A\x8C\x2A\xDA\x63\x99\x6A\x89\x44\x90\x80\x88\x42\x84\xF3\x83\x2E\x99\x1B\x2B\xEF\xDA\x6E\x33\x37\xED\x27\xE0\x00\x3C\x44\x52\x62\x25\x93\xD1\x13\xEB\x69\x93\xD3\x99\x52\x98\x11\x9A\x47\x98\xF3\x98\x1E\x99\x28\x32\x8B\x62\x90\xCF\x9F\x88\x92\x29\x99\x29\x96\x4C\x87\xA5\x94\x96\x32\xA5\x48\x9D\x10\x9C\x6D\x92\x24\x86\xB7\x96\xE4\x92\x13\x9A\x28\x31\xA8\x68\xAA\xC4\x88\x73\x91\x4F\x99\x19\x98\xC8\x99\x65\x98\x97\x33\xF9\xDD\x4A\xCC\x97\x11\x92\xDD\x94\xEF\x8D\xA6\x98\xA6\x86\x9B\x32\xB1\x6A\x92\xD3\x8D\x7A\x9F\x67\x72\x3F\x9B\x96\x8E\xAE\x8D\x3F\x2F\xAD\x5E\x81\xBD\x8F\x79\x96\x59\x7A\xBD\x97\xAB\x99\xDF\x88\x70\x2B\xD4\x60\xB3\x78\x92\xA9\x9C\x55\x9A\x02\x77\xD3\x96\xCD\x86\x51\x2F\xDF\x09\xA3\x62\x8C\xC8\x8B\x82\x65\x21\x97\x11\x95\x80\x8D\x27\xEF\x09\x57\xB2\x52\x84\x53\x38\x54\x98\x60\x9A\x99\x97\xA5\x9A\x73\x30\xCD\x6A\x93\xC5\x8F\xAA\x95\x15\x9D\x9E\x98\xF9\x99\x87\x98\x3F\x0B\x9E\x28\x8E\x38\x90\x99\x9D\x56\x99\x9D\x76\x57\x9A\xB5\x90\xD1\x2E\xB6\x66\x93\xBB\x97\x60\x91\x54\x8C\x44\x91\x4E\x87\x8D\x2E\x7D\x35\xA9\x69\x87\xBE\x85\xA0\x97\xCC\x93\x98\x98\xAA\x99\x79\x9A\xAA\x32\x8F\x69\xB4\x6C\x9D\x71\x96\xB3\x8F\x93\x90\xC3\x99\x71\x8C\x0C\x12\x91\x66\x9A\xF0\x39\xAC\x97\x51\x98\x91\x99\xF7\x98\x78\x9A\x1B\x35\xD2\x64\x80\xD1\x97\x93\x97\x1D\x98\x2D\x9B\x27\x98\xB6\x99\x17\x71\x05\x09\x84\xB1\x76\x6B\x93\x92\x8D\x4F\x92\xFF\x8F\x67\x48\x5A\x14\xD8\x61\xAC\xD3\x86\x9A\x9B\x31\x9E\x76\x9A\x30\x9A\xDC\x99\x8C\x34\xF2\x65\x8A\xD0\x9F\xA8\x90\x49\x9D\x58\x98\xFC\x94\xBC\x94\x73\x33\x97\x5F\x40\x52\x9C\xFE\x2C\x5A\x9B\x7B\x9B\x53\x99\xD7\x9A\x8A\x34\xC8\x6B\x84\xD3\x8A\xAE\x9E\x48\x9C\xB9\x98\x23\x99\xA0\x93\x05\x2C\xD3\x66\xBC\x89\x93\x12\x91\x5D\x9C\x6F\x8C\x11\x8A\xEA\x9A\x51\x2D\xE1\x66\xB1\xCF\x83\x2D\x95\x77\x96\x03\x93\xDD\x92\x15\x94\xB3\x22\xAF\x58\xA2\x88\x80\xAF\x9E\x19\x74\x1F\x99\xD1\x93\x72\x92\xE3\x34\x89\x12\x81\x81\x83\xA8\x8C\x57\x99\xBD\x9A\xCC\x98\xE4\x88\x2B\x1C\xE0\x6A\xA5\xBF\x82\xAB\x97\xFE\x94\xAC\x98\x07\x8A\xC4\x99\x11\x31\x8B\x6B\xAC\xD5\x9F\x7E\x99\x1F\x9E\xD9\x96\x04\x96\x68\x97\xA3\x0E\xD2\x5D\xBF\x54\x8F\x0B\x9D\x69\x6C\xED\x90\x85\x59\xFE\x9A\x97\x31\xEA\x6B\xB5\xD4\x83\x9B\x93\x50\x98\x13\x99\x8F\x98\x4D\x98\xB0\x34\xC7\x69\x84\xCB\x92\x89\x9D\x77\x95\x5B\x93\x82\x9A\xFC\x98\x5D\x35\x8E\x6C\xBB\xC7\x90\xB0\x9C\xE7\x8C\xFF\x97\x93\x8E\xCA\x81\x8E\x27\xBA\xEE\x74\xA7\x9D\x66\x31\x2A\x9B\xB8\x99\xE8\x99\xE2\x9A\xA3\x33\xB7\x67\x8A\xCD\x99\x9D\x93\x5B\x9B\x77\x99\x6D\x9A\x77\x82\x3F\x25\xE2\xD9\x55\xD7\x9A\xA1\x97\x5D\x9C\x87\x98\x6C\x9B\x56\x9A\x1C\x35\xAF\x69\x9E\xD4\x86\xAC\x90\x43\x99\xA4\x98\x96\x99\xD9\x93\xE8\x33\x82\x14\x8C\xD6\x8C\xB0\x99\x62\x98\xE5\x97\xB3\x96\x95\x97\x91\x35\xAC\x5E\xB7\xCC\x8F\xB1\x91\x75\x79\xCC\x8E\x40\x8B\xCB\x7D\xE8\x35\x99\x6C\xBF\xD7\x9C\x0E\x94\x33\x99\xB6\x86\x84\x9A\x3F\x8F\xF3\x11\xAD\x06\x8E\x67\x97\x0B\x52\x64\x9E\xBF\x98\x35\x9A\xB1\x99\xD6\x34\xDE\x60\x9B\xC4\x9A\xA0\x91\x06\x99\xC4\x98\xEF\x99\x91\x99\xBE\x33\xC5\x62\xB8\x0F\x46\x7A\x92\x65\x9F\xC4\x99\xC0\x96\xF0\x97\x03\x2F\xC8\x5B\xB1\xA5\x8A\x6E\x93\x97\x94\xB9\x94\x97\x9A\x9D\x74\x8C\x09\xCE\xD2\x7C\xD7\x81\x64\x33\x64\x9D\x9D\x99\x91\x9B\x77\x9A\xD9\x35\xBB\x6C\x89\xD7\x9D\xA8\x93\x2F\x9A\xC4\x99\xBD\x98\x67\x98\x58\x23\x8A\x50\x80\xD2\x86\xB1\x9B\x55\x9C\xCA\x9A\x5B\x9B\xC7\x9A\xFA\x2F\x84\x6D\xBA\xBE\x95\x18\x83\xBB\x8E\xEE\x80\x71\x59\x18\x9B\x7C\xF7\x5C\x63\xA7\x51\x4D\xB4\x94\x5C\x9E\x9D\x9A\x71\x9B\x23\x9B\x9E\x35\xF1\x65\x94\xDA\x8B\xAE\x9C\x64\x98\xA4\x9B\xB3\x95\xC8\x97\x62\x0C\x93\x5F\xA0\xA0\x6F\x86\x47\x19\x89\x44\x98\xE8\x98\x38\x99\xC0\x34\xCB\x67\x9B\xC6\x84\x71\x9C\x63\x9C\x69\x99\x10\x9A\x20\x99\x97\x36\xEC\x63\x84\x49\x69\xF7\x8E\x12\x91\x73\x91\x91\x8D\x66\x9A\xA5\x15\x98\x6C\xA0\xCD\x83\xB3\x92\x5A\x95\xCC\x9B\xEB\x8C\x52\x87\x68\x36\x89\x2B\xBE\xE7\x78\xA7\x97\xFE\x70\x43\x9A\xF0\x96\x5E\x9B\x98\x35\xEE\x6C\xB4\xD4\x9E\x9B\x99\x11\x9A\xCE\x98\x36\x9B\x89\x90\xB1\x1B\xF7\x1C\xA5\xDA\x99\x65\x82\x34\x8A\xFD\x96\x39\x55\x55\x96\xD6\x2F\xD4\x04\x73\xC8\x8B\x28\x92\x5C\x9B\xA6\x9A\xD8\x94\xE5\x99\xBD\x2E\xBD\x62\xBF\xBA\x94\xB3\x9D\x11\x9B\xA7\x9B\x79\x96\xE9", +"\x97\xE4\x2A\xEE\x6D\x84\xC5\x50\xF9\x88\xD7\x94\xDA\x8C\x4B\x5C\xF8\x97\x20\x1E\xCD\xDA\x2C\xDA\x97\xB1\x9E\x6A\x99\xC7\x9B\x71\x9A\x49\x9B\xDB\x35\xB3\x6D\x9D\xD7\x95\xB5\x9D\x5C\x9D\x7C\x9A\xDF\x6C\x50\x94\xCC\x15\xB5\x1E\x85\xC0\x84\x45\x98\xB1\x92\x2E\x02\x98\x98\x85\x60\xAE\x28\xC5\x2D\xA7\xA2\x9A\x2A\x6A\xA5\x78\xD7\x98\xF4\x48\x20\x32\xC4\x5A\x66\x8A\x68\xCA\x67\x70\x0E\x0A\x01\xE4\x98\x72\x82\x62\x2D\xD9\xFB\x4E\xD4\x5F\xDC\x8B\xDE\x3F\x52\x98\x16\x94\xBE\x98\x98\x81\x92\x35\x93\x6C\x83\xE0\x4D\xE8\x85\xB5\x97\xA1\x8C\x90\x81\x9F\x95\xD0\x26\xE5\xE5\x18\xDB\x88\x78\x94\x1A\x8C\xB4\x98\xF6\x94\x50\x98\x42\x35\xD3\x35\x8E\x9B\x8E\x58\x89\x55\x98\x4F\x83\x99\x9A\xA2\x9B\x69\x36\xC6\xE8\x74\xDA\x70\x34\x9D\x43\x91\x3D\x93\xA4\x93\x9C\x88\xE7\x04\xCF\x6E\xBB\xBE\x89\x78\x92\x75\x9F\xCD\x82\x43\x94\x64\x99\x79\x35\xEA\x60\x9E\x00\x85\xB4\x96\xFE\x96\x82\x94\xFA\x96\x91\x64\x6D\xCB\x66\xFD\x29\x01\x83\xB0\x9B\x65\x9F\x3F\x9A\x56\x86\x9B\x94\x41\x37\xD9\x6E\xB9\xDC\x99\xB6\x96\x8B\x83\xAA\x9A\xDE\x8E\x67\x73\x4D\x29\xA0\x46\xA5\xC2\x9D\x22\x89\x5E\x33\xD4\x98\xF1\x82\xDE\x97\x2B\x1A\xDE\x24\x99\xAF\x86\x99\x9B\xBD\x92\x17\x98\x29\x93\xD8\x7B\x7D\x37\xAE\x6C\xAE\xDD\x95\xAC\x9F\xCD\x7C\x67\x98\xD6\x98\x9F\x99\xE2\xA9\x64\xD4\x3E\xDD\x92\xDD\x80\x78\x9F\x00\x7A\x69\x9B\xC1\x9B\x8D\x29\xFD\x61\x9F\xBA\x89\x60\x96\x0E\x84\xFB\x2F\xE4\x9A\x75\x9B\x95\x37\xAB\x6F\x5B\x1B\x97\x6F\x8D\x6D\x87\x45\x98\xCA\x98\xB0\x96\xEC\xC5\x6F\xFB\x47\x03\x9F\xBC\x9A\x9C\x8C\x9B\x9A\x98\x95\x2D\x82\xBB\x29\x98\xD2\x55\x00\x8C\xBB\x93\x59\x9F\xEC\x98\x2B\x30\x0B\x9B\x22\x6E\x61\x6A\xAD\xDD\x86\x65\x81\x5F\x44\x75\x99\x78\x45\xA1\x9B\x5B\x37\xFF\x3C\x9A\x14\x9B\x27\x8B\x2D\x95\x7B\x8D\x23\x81\xA6\x36\xAC\x37\xCD\x40\xAE\xDE\x99\x78\x33\x3D\x9F\x04\x82\xD6\x9A\x52\x9B\xA1\x37\xD0\x3C\xBF\xCE\x8E\x7F\x99\x79\x74\x35\x8F\xD0\x7A\xDA\x9B\x3A\x37\x94\x6B\xBB\x88\x7B\x9F\x94\x56\x93\xD7\x79\xF2\x9B\x86\x91\xEB\x36\xB3\x32\x8E\x92\x94\x2B\x92\xF3\x90\xD1\x30\xF0\x9A\xE8\x9B\x5C\x37\xC0\x06\x92\x86\x5C\xB3\x9D\x68\x78\xFB\x98\xDD\x9A\x6A\x97\xDB\x37\xC8\x46\x9E\xDF\x8A\xBC\x9C\x7B\x9C\x87\x83\x3D\x96\x90\x89\xDF\x02\xF3\x6E\x90\xDD\x9A\xB6\x9A\x08\x84\x89\x7B\x16\x73\xB6\x83\x0D\x07\xCF\x6F\xBF\xDD\x89\xBF\x98\x57\x8F\x56\x96\x2D\x9A\x5D\x9B\x99\xED\x11\x52\x62\x0A\x9A\xB2\x95\x7B\x9E\xC0\x98\x37\x8E\x99\x96\x8A\x28\xBC\x53\x94\x19\x7B\x55\x99\x5F\x9E\xF2\x7A\x02\x9D\x8D\x2E\xDF\x37\xF7\x67\xA1\xDF\x8F\x18\x93\xC7\x86\xA8\x95\x59\x94\xA4\x96\x79\x2D\xD8\x94\x4B\x01\x98\xC0\x94\x7F\x9F\xD2\x86\xE5\x9A\xCF\x8A\x75\x2D\xE0\x69\x80\x3A\x71\xB7\x98\x76\x5B\xDE\x99\xE4\x9B\x40\x36\x19\x38\xDB\x69\x9B\xE0\x99\x9F\x9A\x50\x9C\xA4\x99\xB3\x9A\xF6\x97\xD3\x2A\xAD\x5F\x88\xDC\x82\xB5\x40\x6B\x31\x06\x9D\x85\x97\x66\x95\xB6\x35\xCE\x59\xA2\xD4\x83\x32\x9A\x25\x9D\x14\x96\x64\x96\x8D\x95\x1B\x37\x9C\x56\xAB\xD4\x93\xB9\x96\x10\x02\x16\x02\xCB\x9A\xBE\x88\xE9\x16\xA1\x04\x9D\x5B\x8C\xC2\x93\x10\x04\x16\x03\x13\x9C\x91\x9B\x97\xE5\x37\xF6\x79\xEC\x7A\xB1\x77\xE0\x06\x16\x03\x15\x9C\x91\x9B\x2B\xFB\x06\x02\x2D\xEC\x7E\xA3\x94\x85\x9E\x97\x49\xCD\x9A\x33\x99\xF0\xBE\x02\x63\x7C\xDC\x82\x37\x9C\x86\x87\x4F\x99\x65\x89\x9B\x94\xB0\x83\x6A\x70\x82\xAF\x9F\x71\x97\x1B\x4A\x35\x88\xFA\x7F\x3D\x93\x4C\x37\xE3\x51\x88\xF6\x6E\xC0\x95\x10\x95\x1E\x94\xD5\x9A\x02\x44\xEB\x1A\xA4\xB2\x07\x00\x8B\xFD\x70\x7F\x9A\xE4\x74\xE1\x95\x53\x8C\x86\x2B\x90\x11\x86\xDC\x8B\x46\x7F\xB1\x90\x40\x91\xD0\x86\x02\x9C\x6F\x00\xF4\x7E\x77\x21\x78\x6A\x50\x89\x9D\x0F\x9E\x68\x6B\x47\x98\xE6\xFE\x23\x6E\x6B\xE1\x94\x5C\x3B\xD8\x8A\xC8\x97\xF8\x9A\x73\x93\xD9\x25\x86\xA3\x7C\xE1\x97\xC7\x85\x0E\x99\xCB\x97\xC9\x98\x04\x96\x87\x37\x91\x52\x71\xE1\x94\x7A\x95\x8A\x8F\xB9\x99\x9C\x96\x8A\x93\x74\xE9\x15\x71\xA4\xE2\x9F\xC8\x86\xC0\x97\x14\x9E\xDC\x98\x3F\x91\x8A\xE9\x1B\xBA\x23\xE2\x84\x01\x9D\xB8\x8C\xF4\x9B\xE3\x8C\x4F\x97\x3F\x20\xAB\x17\xA1\xBA\x81\x54\x82\x7C\x9E\x22\x75\xEC\x9A\x53\x76\x94\x38\xC5\x71\xAA\xDC\x67\x5E\x8B\x4E\x7A\x6B\x7E\x32\x9C\xA5\x64\x25\x36\xB7\xD1\x7B\xE2\x89\x68\x9F\x64\x9C\x8D\x97\x51\x99\xC8\x93\xA0\xFD\x23\x6E\x4D\xDF\x91\xF9\x75\x88\x9D\xFF\x9B\xC2\x96\x4A\x96\x9F\x00\xC2", +"\xFB\x53\xE3\x9D\x78\x9D\xA2\x94\xCD\x84\x7B\x7F\xA8\x9B\x1A\x0C\xF5\x4A\x84\xE2\x9A\xBE\x9A\xF0\x93\xA3\x80\xFB\x9A\x7A\x65\xB2\x38\xEA\x1C\x96\xBD\x98\x3F\x92\x8E\x9C\x15\x9E\xFC\x78\x2B\x8E\x79\x2A\xEE\x58\x69\xE1\x96\xC7\x93\xD9\x54\x60\x80\x18\x75\x50\x9A\x96\xBB\x71\x71\x9D\xB4\x94\xA5\x92\xA4\x8E\x45\x8F\x2D\x9A\xD6\x97\xD4\x37\xFF\x01\x3A\xD2\x95\x07\x32\x90\x99\x0B\x94\x88\x7F\xED\x77\x37\x38\xC6\x50\x89\x27\x8D\xF7\x85\xD3\x91\x17\x9C\xF7\x2F\x71\x9C\xB2\x15\xD4\x5F\x82\x98\x91\xE5\x89\x83\x99\x21\x9F\x86\x98\x10\x7F\x0D\x39\x99\x72\x8B\xD4\x97\xAF\x99\x61\x97\x21\x5F\x22\x9D\x6F\x5E\x2E\x38\xC0\x8C\x4F\xE3\x85\xC0\x93\x92\x9D\x2C\x95\x91\x98\x00\x85\x47\x32\xD8\xED\x5D\xE3\x8A\xBF\x9D\xE0\x70\xE3\x9B\xED\x88\x8D\x9B\x13\x0A\xB7\x1E\x8C\x7D\x9E\xB8\x93\xF1\x72\xD6\x63\x17\x9C\xC9\x79\xF5\xB1\x0E\x95\x44\x0F\x4C\xA9\x97\xEC\x1F\x27\x9C\x14\x9C\x30\x7D\x8A\x0A\xF7\x2B\xBD\xE4\x88\xD6\x16\x94\x9C\xC5\x81\x84\x06\xAC\x87\xFE\x10\xCB\xD4\x6B\xAC\x97\x51\x75\xA6\x87\xC4\x72\xB5\x79\x08\x6C\xDC\xF2\x19\x10\x54\xE5\x88\x04\x47\xE0\x01\x1C\x91\x7B\x8A\xA4\x7F\xCC\xAE\x53\x68\xBC\x21\x87\xAB\x9F\xB6\x92\xD2\x93\x0F\x92\xB9\x95\x62\x39\xC6\x65\x91\x47\x8F\x48\x9E\x1F\x91\x22\x96\xA5\x8B\xB1\x7D\x48\x6B\x2A\x51\xB8\x11\x88\xAF\x80\x64\x8D\x14\x9F\x87\x89\xF1\x9A\x57\x33\xDC\x5C\x81\x01\x94\xE2\x68\x1C\x6E\xDB\x44\x74\x9A\x2A\x41\x90\x37\xBE\xDE\x75\x6D\x82\xAF\x97\x0E\x9E\xB7\x9A\x62\x71\x0A\x8B\x49\xC1\x28\x4E\xA5\xA6\x8D\x31\x9D\x5B\x9C\xBC\x99\xEC\x5A\x80\x98\x0C\xE6\x71\x00\x96\xC0\x7A\x9C\x9D\xAE\x2E\xF7\x9A\xCB\x8B\x6A\x9C\x0B\x2D\xC1\x6C\xA1\xCD\x72\x52\x9D\xFA\x94\xF6\x90\x25\x5C\x6E\x89\x07\x1A\xD6\x4F\x8F\xF1\x7E\xC7\x9C\x54\x47\x1D\x9D\xB3\x6C\xF9\x9B\xDF\xC7\x71\x61\x7A\xA9\x9E\xC4\x6C\x99\x9D\xC7\x63\xA3\x95\xEA\x78\xEC\x00\xA8\x17\xA3\xAA\x95\xC0\x9A\x90\x98\x31\x9C\xD0\x8A\x93\x9B\xFE\x2A\xA6\x37\x93\xE0\x94\xC8\x90\x6D\x99\xC4\x8A\x9A\x74\x38\x94\xB9\x39\xEA\x06\x9F\x85\x94\xCD\x9F\x91\x98\xC8\x94\xAF\x74\x0F\x9C\xA6\x29\xAB\x70\xA8\xAB\x89\x4D\x99\x92\x99\xE8\x87\x61\x91\xA6\x8D\x2F\x39\xB2\xF4\x7B\xB5\x97\x97\x64\x9A\x9C\x36\x55\x11\x9D\x8E\x9B\x10\xEE\x41\x17\x79\xE4\x8B\xAE\x8D\x39\x84\x28\x9D\xB0\x4D\xA6\x9C\x06\xCB\x5B\x71\x8A\x2C\x6B\xCA\x93\x10\x05\xDA\x24\x16\x9C\x99\x9B\x27\xE6\x5F\xFB\x38\xC7\x51\x1D\x8C\x42\x64\xCE\x5B\x16\x73\x03\x07\x80\xA9\x67\x70\xA3\xB6\x91\x5D\x9E\x69\x4B\x13\x9F\x60\x43\xAA\x9A\x62\x18\xE6\x3E\xA3\xA9\x85\xC3\x82\x0A\x76\x3E\x9E\xF5\x78\x1E\x98\xB8\x1D\xBB\xCE\x3F\xC0\x96\x07\x60\xFC\x70\x5D\x8E\xE4\x8F\xAA\x9B\x69\x35\xD7\x6E\x83\x53\x6F\xBB\x9A\x96\x9F\xEB\x99\x22\x9D\x54\x8C\xF9\x81\x7A\x6A\x8E\x5B\x8F\xEF\x68\x76\x98\x50\x74\xD0\x84\x38\x7D\xF6\x37\xF0\x6E\xA4\xB6\x9D\xCF\x93\x87\x9A\x07\x98\xD2\x9B\x86\x99\xF7\x0A\x3B\x44\xA7\x7D\x80\xC5\x9E\xF7\x94\xD0\x6E\xD7\x77\xF0\x9A\xA1\x1D\xE4\x52\x89\xE7\x92\x12\x99\x97\x9D\xBC\x99\x97\x96\xBA\x9C\x0E\xDC\x0C\x6F\xB9\x76\x9F\xCB\x98\x76\x59\x30\x9E\xA7\x6E\xD1\x9B\xA0\x1D\xE1\xDE\x64\xE4\x9E\x87\x94\x9B\x9A\x1D\x98\x8A\x7F\x13\x9D\xF5\x35\xE7\x3B\x85\xDE\x89\xEF\x88\x7A\x99\x92\x74\x64\x9C\x42\x69\x93\x85\x79\x49\x83\xF4\x77\x65\x74\x99\x9B\x49\x9C\x0E\x4C\xDF\x9B\x6E\x61\x38\xEE\x5A\x39\x9C\x3E\x53\x63\x9B\x6C\x7E\x15\x7F\x4F\x79\xB1\x27\x98\x73\xBA\xE5\x9E\xCC\x93\xA1\x9C\x4C\x35\xCE\x82\x2F\x9B\x26\x9F\x5F\x74\xAB\xD9\x93\x70\x59\x8C\x98\xC6\x9B\xF4\x9B\x00\x43\xA6\x39\xF1\xD6\x7A\xBE\x77\x3F\x95\xCE\x91\x6C\x78\x83\x9D\x03\x8D\xC9\x31\xCF\xD2\x66\xE9\x9A\xB3\x99\x6A\x9A\x75\x81\x89\x9D\x1B\x9D\x59\x03\x80\x47\x85\xE4\x82\x55\x97\x90\x9B\xD7\x9A\x2A\x9D\x18\x9D\x8A\x15\xCB\x6D\x84\xA1\x8F\x8F\x9E\x6C\x9C\x02\x9D\x91\x9D\xF5\x7C\x9B\x04\xB0\x07\x69\xBF\x89\xC1\x90\x37\x9C\xE3\x9B\xB8\x00\xE4\x76\xC4\x39\xF0\xD1\x40\xEA\x9B\xB6\x98\x5B\x9A\xBD\x92\x0A\x9C\x39\x94\xCB\x39\xD8\x66\x8D\xE7\x99\xF7\x67\xCA\x80\x39\x9C\x63\x9D\x2E\x99\x8C\x28\xA7\x72\x9C\xD8\x73\xCE\x9A\x92\x9B\x4E\x9F\x10\x9C\xE3\x8A\x44\x26\x83\x60\xBB\x17\x89\xA9\x95\x52\x9A\x85\x42\x77\x9D\x3D\x47\xF2\x39\x90\x60\xB1\xDD\x87\x8B\x7F\x56\x9D\x44\x8F\x66\x86\xE1\x98\xA0\x35\x87\x66\xA2\xD6\x92\x8D\x4D\xA1\x9F\xF2\x9B\x87\x9C\x12\x98\x80\x32\xB3\x75\xA9\x3D\x95", +"\xD5\x99\x04\x97\x56\x9C\x0B\x9A\xC2\x9A\x2E\x34\x94\x6E\xA3\xD6\x93\x94\x99\x03\x9E\x57\x9F\x73\x91\x4B\x99\xDF\x28\xD2\x43\x8B\xCD\x4F\x43\x8A\x87\x9A\x09\x84\xA8\x9A\xA8\x97\x19\x12\xF2\x6A\x9E\x8C\x84\xC5\x87\x8F\x98\x56\x2E\xFD\x88\x40\x9C\x3E\x24\xA0\x16\x96\x7E\x9B\xBA\x84\xAC\x9E\x8B\x93\xB9\x9A\x4D\x92\xDA\x34\xBF\x70\x8B\xDF\x80\xB8\x90\x45\x92\xD1\x71\xE1\x94\xBC\x9A\x12\x00\x92\x74\x9A\x14\x65\xD7\x95\xA2\x97\x5C\x9E\xD9\x93\x74\x9D\x1E\x31\xFF\x6D\xAA\xCD\x93\x3C\x5C\xB9\x93\x21\x85\xF8\x97\x2B\x9B\xE3\x2F\xD9\x6C\xBA\xDE\x8D\xC0\x9C\x8F\x98\x0F\x9C\xBA\x62\x4C\x9C\xC8\x63\x74\x75\xA8\xAE\x96\xD7\x9B\xA9\x97\xEC\x92\xBA\x9D\x19\x9C\xB1\x1A\xCC\x75\x8D\x87\x94\xC3\x91\x6F\x56\x78\x96\x29\x65\xA7\x94\x99\x7E\x0A\x76\xB3\xCF\x86\xD6\x96\x12\x95\x85\x9A\xE5\x99\x5D\x9D\x8C\x2D\xFA\x61\xA5\xCC\x9A\xAD\x9C\x6F\x97\x52\x9E\xA4\x91\x5B\x9C\xBF\x35\xAD\x0F\xA9\x97\x39\x7F\x98\xAD\x9D\xF5\x92\xD4\x96\x97\x97\x05\x3B\xC5\xAC\x53\x9C\x92\x5F\x96\xB7\x80\xD6\x30\xCB\x9C\xB8\x9A\xD9\x3A\x96\x0B\xB9\x82\x80\xC2\x9D\x3B\x9B\x61\x98\xE6\x9A\xE8\x8E\x2B\x27\xAB\x74\xA7\xEC\x88\x87\x9B\x2C\x66\x47\x9D\xBA\x3A\x8D\x9D\xD7\x34\x9C\x76\xB1\x8A\x90\xAF\x99\x2E\x90\x64\x9C\xE6\x99\x3C\x91\xBD\x38\xE2\x49\xA5\xDE\x80\xC6\x9C\xBD\x90\xD4\x97\x7E\x9A\xE3\x8B\x48\x3B\xE6\x6D\x8A\xED\x8F\xAF\x95\x39\x99\xBE\x98\x33\x98\x18\x96\x12\xB7\x34\x5D\xBA\x11\x99\xDA\x98\x41\x9B\xCE\x9B\x87\x9B\xB3\x99\x07\x35\xE9\x66\x89\xD4\x9B\x0A\x48\x7B\x9C\xE3\x88\xD9\x9D\x0E\x9B\xD3\x31\xB9\x6A\x80\xC5\x94\xAD\x95\x25\x99\x08\x9D\xAC\x5D\x99\x98\xA4\xD3\x6F\x76\xB7\xD4\x9F\x95\x9C\x6F\x99\x58\x9B\xB1\x9B\x48\x99\x78\x36\xC2\x70\x9A\xE9\x9E\xAD\x7E\x52\x92\x57\x87\xCA\x9D\x9F\x86\x58\x36\x91\x6C\xBA\xDF\x81\xBE\x94\x56\x5A\x3C\x9C\xF7\x44\xBD\x9D\xC3\x36\x97\x5E\xA7\xED\x83\x9C\x99\xB6\x9D\x70\x9B\x88\x9B\xC6\x96\xAD\x39\x88\xD3\x7F\x2F\x94\x10\x7D\x4E\x60\x72\x9D\xBD\x96\xC5\x98\x93\x36\xCA\x6C\x95\xDA\x97\xB3\x98\x4C\x9D\x36\x99\xF1\x93\xEE\x9B\xFE\x3A\x81\x6D\xA2\xBF\x89\x6E\x94\xFE\x93\xB9\x95\xD9\x9A\x9C\x99\xB4\x1B\x9F\x08\xA2\xE6\x81\x60\x8A\x62\x9F\xAB\x99\xCD\x98\x06\x9C\xD9\x37\xB6\x6F\xAD\xE3\x84\xBE\x9C\x51\x83\x3C\x8F\xE0\x8B\x4F\x6F\x88\x3B\x81\x76\x8A\xEE\x98\xDD\x9F\x7E\x9C\x1D\x9C\xCC\x96\x32\x95\x33\x34\x88\x30\x80\xEF\x82\x74\x8C\x62\x9C\x7D\x93\xEE\x9A\x13\x9C\x05\x3A\xF8\x71\x9A\xDA\x9A\x1A\x99\x94\x87\x5A\x9C\xCE\x9C\x97\x9D\xDA\x3A\xD3\x5E\x9C\xEB\x9D\xC7\x93\xA5\x9A\xAF\x54\x43\x97\x73\x85\xD6\x3B\xB6\x75\xB1\xD5\x9A\xD9\x9F\xD2\x84\xAE\x99\x50\x59\x00\x99\xCD\xCE\x33\x73\x87\xEA\x90\x2A\x81\x9F\x84\xFB\x2F\xCD\x9C\xF1\x9D\x39\x3B\xFE\x11\xB9\x9D\x94\xE4\x8D\xFB\x93\x20\x9D\x74\x93\x5A\x9A\xE2\x0E\x83\x64\x88\xA1\x9C\x55\x95\xB3\x99\xCD\x6D\xF0\x9C\xD6\x9D\x02\x3B\xEE\x6F\xBB\xDF\x94\xB0\x98\x97\x74\xDB\x99\x04\x9D\x8B\x95\x8F\x3A\xE2\x69\xAB\xEF\x84\xA7\x99\x5D\x90\x1F\x86\x95\x9B\x07\x9B\x89\x3B\xAD\x6C\xAF\xEC\x83\xAB\x95\xB0\x9F\x39\x9C\x07\x96\x8C\x8F\x99\x3A\xFA\x72\x9B\xEA\x8E\xE0\x9F\xAF\x98\x82\x9E\xF0\x9C\x09\x9E\xD9\x3B\xB0\x76\x9B\xEF\x90\xDE\x78\x72\x92\xC2\x89\x74\x9C\x20\x80\x3B\x38\xCD\x2E\xBE\xEF\x8C\xDE\x91\xC1\x9E\x79\x9C\xC1\x9D\x11\x9E\x44\x2F\xC3\x72\x76\xE4\x9F\xD4\x83\x32\x73\x70\x6C\x92\x93\x07\x77\xAF\x3A\x9A\x15\x71\xEA\x84\xC9\x29\x3B\x88\xDA\x7B\xB6\x9D\xF5\x60\x12\x3B\xC3\x51\x94\xEC\x9E\x96\x5F\xC2\x59\x5F\x84\x19\x8C\xB7\x6A\x86\xD1\x30\x77\x97\x1A\x9E\xA9\x92\xFE\x89\x1C\x8D\x50\x9A\x3C\x93\x4A\x37\xBA\x48\x94\xEB\x86\x9F\x85\xEF\x73\xA3\x2E\x12\x9E\x76\x9B\xAF\x2B\x86\x74\xBC\x90\x80\xD7\x96\x75\x9F\x2C\x9C\xA5\x93\x64\x7B\x3F\x3C\xC4\xEF\x4D\x64\x96\xAB\x93\x91\x9D\x3F\x91\xD8\x9B\x46\x9C\xF0\xBE\x57\x78\xA2\xDF\x81\xA5\x89\xE1\x97\xE2\x5E\x1A\x9E\x0E\x9C\x4B\x37\x87\x76\x88\xF1\x96\xE2\x9E\x4D\x8E\x3F\x9F\x5B\x80\x4F\x9C\x4E\x29\xD4\xDF\x5C\x7F\x2F\xE3\x94\x83\x9D\x52\x9B\x14\x80\xC2\x9B\x61\x12\xD5\x76\xBB\xC2\x91\xC5\x93\x57\x9A\x8C\x9D\x5D\x9A\x38\x97\x33\x3B\xD1\x61\xBA\xF1\x89\x2F\x3C\xC7\x9D\x9B\x99\x9F\x98\xBB\x9C\x79\x14\xF8\x72\x87\x24\x89\xC8\x96\xB4\x9C\x0F\x80\x05\x9F\x11\x9E\xAC\xB7\x42\x74\x81\xF2\x86\xBC\x9F\x0F\x9B\x18\x9E\xD8\x7E\xED\x9D\xE6\x3B\xBB\xED\x22\xED\x9D\xF5\x75\xBE\x9E", +"\x90\x9D\x74\x43\xB6\x9D\xB0\x83\x0D\x79\xAF\xDE\x8C\x81\x58\xB7\x9C\x1D\x31\x29\x9E\xFF\x97\x1B\x28\xF3\x53\xAA\xBB\x91\xA8\x7F\x29\x7A\x95\x9C\xF3\x9A\x7E\x97\x01\x39\x85\x79\xB0\xF2\x8E\xA7\x83\xB8\x9C\x4A\x40\x97\x9D\x1F\x9D\x61\x3C\xBB\x79\xA3\xA9\x80\xCD\x98\xF0\x7D\xC0\x99\xC1\x9D\xA0\x74\x6C\x36\xEB\xF5\x4C\xF2\x87\xB4\x92\xA5\x98\xD5\x98\x0A\x87\x68\x96\x2E\xD7\x6E\x78\x8C\xF3\x90\x3A\x84\xCE\x92\xD1\x98\x29\x9E\x5D\x9E\x39\x33\xD3\x43\x99\xDA\x9F\x98\x8B\x80\x97\xF8\x9B\x2B\x9F\x6C\x9E\xC5\xF7\x74\x74\x80\xCC\x40\xC8\x9E\x99\x32\x84\x9D\x28\x9F\x3E\x0E\xB1\x39\xCD\x36\xAA\xEF\x81\xC1\x9D\x39\x89\x69\x89\x76\x92\xF1\x77\xC6\x3C\xA3\x78\xA9\xF3\x85\x4B\x9C\x4C\x99\x09\x95\xBD\x7B\x3D\x9E\xD3\x3C\x80\x64\x8C\xEA\x8B\xD3\x85\x52\x9B\x38\x9F\x02\x9F\x6B\x71\x54\xDC\x70\x79\xA6\xDD\x98\xC8\x92\x24\x9E\x06\x9F\x74\x93\xE3\x91\x5F\x2D\xEC\x79\x8A\xB7\x7B\xD4\x92\xD0\x9E\x96\x9C\xBB\x9D\x1A\x9C\xFD\x2A\x91\x72\xA0\xEA\x8F\x31\x9B\xC9\x81\x85\x9F\xEF\x9A\x6C\x9E\xB1\x3B\xBB\x5A\x4E\xF3\x9B\x4C\x77\x9D\x9F\x97\x85\xC6\x94\xDA\x89\x94\x2D\x9E\x35\xBB\xE4\x81\x09\x05\x86\x9E\x13\x4F\x0E\x9E\x65\x6C\x8E\x06\x9B\xBA\x36\xEE\x86\xB3\x9B\xB8\x98\xFD\x99\xD1\x9B\x20\x9E\xB7\x2D\x9E\x74\x8F\xEB\x82\xAA\x96\xC4\x9A\x7F\x98\x7F\x9D\x15\x8C\x0C\xE3\x10\x6B\x83\xEF\x83\xD8\x99\xBB\x9A\x0E\x9E\xDD\x9A\x45\x92\x75\x38\xD7\x56\xAB\x46\x86\xD8\x91\x71\x65\xE9\x98\xC0\x83\x00\x9B\xB7\x3B\xBC\x7A\x85\xEF\x9A\xDD\x9D\x75\x9A\xAA\x8D\x14\x98\x04\x9D\x66\x39\xE2\x75\xB3\xCA\x85\xBF\x81\xC8\x33\xA5\x9F\xB5\x9A\x01\x9C\x94\x37\xA1\x72\xAD\xCA\x8E\xD7\x98\x88\x98\x5E\x9D\x1A\x98\x34\x9E\x53\x07\xF2\xC5\x7A\xF4\x80\xE1\x94\xBE\x98\xA3\x9E\xA9\x9A\xD8\x9B\x7B\x30\xBD\x12\x9C\x7F\x36\xEA\x96\x0B\x97\xFC\x9B\x00\x9D\x95\x9C\x8E\x18\xA4\x36\xA9\xF4\x8B\xEB\x93\xD6\x9E\x85\x9D\x4F\x9F\x01\x5D\x46\x37\xF8\x4D\xB3\xF4\x80\xD1\x93\xB0\x02\x44\x9F\x98\x94\x8C\x9D\xD6\x3A\xB8\x5F\x82\xD8\x8E\xDD\x94\x60\x9B\xA0\x9D\xC1\x9D\xC1\x9C\x29\x3A\x92\x79\xA3\x49\x8D\x7D\x9C\x0B\x98\x14\x85\x53\x36\xB6\x9E\x76\x27\xB7\x41\x83\x35\x90\xDE\x9B\x77\x5A\xE2\x93\x04\x91\x4D\x82\xAE\x08\xAB\x77\x83\xDA\x8D\xDD\x94\x76\x9D\xB0\x9E\x43\x9F\x7D\x9D\x3F\x2E\xA8\x4E\x86\xBA\x9A\xBC\x91\x8C\x99\xDA\x81\xE7\x82\xBA\x9E\xA1\x36\x9C\x7B\xBE\xE0\x99\xD7\x96\xE1\x96\x6E\x9E\x99\x66\xC5\x9C\xF6\x35\x97\x78\xB8\xD7\x9F\xE7\x94\x41\x57\x48\x9E\x11\x9B\x9C\x9E\xA9\x3D\x81\x78\x84\xF6\x8F\xDE\x9C\x30\x81\xF0\x99\x24\x9C\xAB\x2C\x92\x39\xF5\x0C\xAA\xF4\x95\xEB\x94\xC1\x97\x75\x9D\x3E\x9F\x0A\x9B\x4D\x3A\xBF\x05\xA8\xF6\x8D\xD9\x9B\xFF\x93\x82\x9D\x3C\x9F\x73\x9E\xEE\xAD\x2D\x79\x8B\x5C\x96\xB6\x9D\xD6\x98\xAB\x9C\xE8\x9A\xAD\x9E\x1F\x34\x85\x33\x95\xE9\x89\x28\x80\x6B\x30\xB2\x9E\x7B\x9A\xC9\x9E\x96\x0E\xBD\x7B\x9F\x53\x98\xE5\x98\xD3\x9D\xAA\x9C\x71\x9F\xFE\x98\x5E\x1E\xF5\x6F\xBB\x25\x87\xD3\x95\x30\x84\x73\x9E\x72\x9E\xB1\x9E\xB9\x3D\xBB\x7A\x82\xF0\x8C\xDC\x9C\x7F\x9B\x2C\x84\xFF\x98\x71\x83\xF0\x3D\xCC\x7B\xA2\xDA\x85\xC1\x92\xDE\x9B\x4D\x9D\x64\x99\xE7\x8C\x5F\x07\x8F\x7B\xA7\xF7\x81\x5D\x8E\x1F\x9A\xBD\x9C\xFF\x85\xEA\x9C\x2F\xAC\x21\x68\xB1\x1C\x8B\xEE\x97\xBD\x9D\xB9\x9D\x08\x9F\x4B\x9E\xD0\x3D\xA4\x61\x96\x7A\x89\xDE\x99\x01\x8E\xBC\x9D\x7C\x9E\xB2\x9E\xF2\x3B\xBB\x76\xAB\xEB\x80\xED\x9D\xAE\x9A\x7A\x9C\x37\x9F\x4D\x9B\xCA\x3B\xD4\x7B\x91\xF6\x8E\xEB\x99\xD5\x98\xAE\x9D\xB2\x89\xA9\x8A\xE4\x3C\xAE\x2F\x82\xF8\x97\xF0\x96\xD7\x9B\xA9\x9C\x41\x9F\x7B\x9A\xED\x31\xFB\x74\xA9\xEF\x9D\xD3\x99\x80\x9F\xB4\x9D\x7E\x9F\x06\x9F\xFB\x3D\xCE\x7B\x86\xF6\x92\xE7\x93\x34\x8C\x9E\x9F\xEA\x96\x4E\x8E\x5E\x2E\xF9\x76\x88\xF5\x8C\xE9\x94\xBC\x9B\x80\x9F\x4C\x9C\x96\x9C\x06\x3D\xC5\x50\xB0\x44\x70\x2B\x8D\xFE\x92\x73\x9D\x71\x9D\xCC\x9E\x00\x3B\x80\x78\xB2\xF7\x9B\xED\x9F\xC2\x99\xC2\x9E\x05\x9E\xA1\x9D\x2D\x27\xE2\xD0\x7B\xD3\x92\x91\x9E\x77\x83\xB8\x9C\x8B\x9F\xE2\x9E\x9E\x3D\xC7\x7B\x85\xF0\x95\xD4\x96\xC2\x9D\xA1\x98\x4C\x9D\x87\x9A\xD3\x14\xC3\x7C\x97\xF5\x8D\xE9\x9F\xD6\x98\x1D\x9C\xBF\x89\x8B\x9B\x96\x07\xF7\x39\xB4\xD8\x6C\xD5\x9B\xE4\x98\x3B\x9D\x0E\x9E\x92\x49\x27\x3D\xED\xAA\x77\xA4\x82\xE8\x9C\xDB\x9B\x99\x81\xA8\x57\x9F\x9E\x6B\x33\xC5\x51\x9E\xA3\x85\xFB\x81\x66\x90\x6C\x84\x5F\x63", +"\x3D\x9F\x1B\x5D\x7D\x7C\x89\x26\x9F\xF3\x99\xD7\x9A\x64\x9F\x5E\x9E\x93\x8E\x52\x3C\xFC\x4C\x95\xEB\x92\xC9\x96\xDC\x9B\xF1\x9B\x7F\x66\x0C\x7C\x50\x3D\xD3\x60\x8A\xE8\x92\x03\x8A\xE8\x9A\x45\x8F\x09\x9C\x6D\x9E\x09\x14\xF7\x6A\xA8\xC1\x8D\x6F\x92\xAF\x9D\xB7\x2F\x64\x9F\xFE\x9E\xD3\x02\xE9\x7A\xBC\x05\x81\x64\x3D\xE9\x9A\xEF\x92\x6F\x9E\x4B\x9C\x97\xE5\x08\x76\x84\xBD\x66\xB4\x9A\xF6\x76\x8E\x9D\x1D\x83\xBC\x9B\x55\x2F\xAA\x6B\xAC\xFF\x65\xF0\x94\xD9\x98\xE9\x77\x93\x91\xDD\x9A\x26\x3B\xD9\x7C\xA8\xEC\x88\x4B\x97\xCF\x99\xBD\x31\xAB\x9E\xFA\x9D\xAF\x3E\xA7\x3F\x8D\xDE\x94\xD1\x90\x78\x5E\x46\x9F\x45\x9E\x5E\x9F\xA8\x3E\xBE\x7D\xBA\x89\x84\xCC\x96\x8B\x9C\x68\x9C\xC6\x7B\x4A\x9E\x3A\x77\x27\x7D\xBE\xF9\x9F\xF4\x9F\xC8\x9C\x07\x92\x26\x9E\xD3\x9B\xA8\x38\x9D\x79\x97\xED\x99\xE5\x90\xED\x9B\xDB\x9D\x92\x9D\x51\x9E\xE4\x3E\xE9\x7B\xBD\xFA\x94\x37\x89\xDC\x9E\xEC\x79\xA5\x9E\x03\x9F\x40\xE9\x3E\x6F\xBC\xF9\x95\xF2\x96\xCA\x9A\x98\x3C\x82\x9E\xC7\x45\x85\x3B\x9C\xF9\x5A\xFB\x8B\xF4\x93\xDE\x9A\x33\x9F\x31\x81\x63\x9F\x21\x22\xF5\x77\x92\xB2\x9F\xDF\x88\xA6\x6D\x92\x95\xD3\x7A\xEE\x2F\x00\x3F\xDA\x4C\x82\xFC\x9D\x8B\x95\x8E\x9E\x37\x8F\xC1\x9E\x63\x9F\xF4\x3E\xC2\x79\x90\xCC\x84\xBF\x9D\xCB\x97\xFA\x9B\xBB\x9F\x75\x9F\x07\x3E\xDD\x77\x89\xF8\x90\xE6\x94\xD3\x68\x7E\x7F\xBE\x9E\x4F\x9F\xFE\x3D\x93\x7C\xB6\x67\x8F\xF8\x90\x6B\x31\xE1\x9E\x7C\x9B\x85\x9F\x5B\x3D\x9E\x7C\x88\x68\x9A\xC7\x9C\xE9\x99\xE2\x9C\x38\x9F\xCC\x74\xF7\x3E\x89\x24\x5F\xEF\x85\xB7\x71\xDE\x9E\xDC\x9D\x9E\x9C\xDC\x9C\x12\x3D\xC5\x26\xB4\x76\x47\x9A\x84\x9B\x9B\x21\x9E\xD0\x9B\x9A\x9F\xFC\x3E\x9D\x75\x86\xE0\x99\xDF\x9A\xAB\x94\x37\x9E\x3D\x9E\x2A\x6E\x43\x00\xEA\x7D\x91\xFB\x95\x3C\x8A\x91\x99\x5A\x95\xF0\x97\xBE\x74\x88\x37\xA5\x7E\xAE\xFC\x99\xE8\x97\xBE\x9B\x9F\x9F\xFA\x96\xE5\x9C\x09\x3D\xA2\x75\xAD\xF3\x9B\xF8\x87\xA7\x9F\xD9\x9E\xD2\x9E\x9B\x9F\x48\x05\x91\x7A\x87\xF4\x9F\xE6\x85\x70\x99\x9C\x8C\xA9\x9C\x43\x7B\xAC\x3E\xD3\x7E\xA7\xF5\x81\xE7\x97\xAA\x9D\x62\x96\xA6\x8D\x03\x98\x73\x3E\xC9\x70\xAA\xD4\x97\x61\x57\xE7\x99\xA1\x49\x9E\x9F\xE0\x79\x37\x29\xDB\x09\xBD\xBC\x9A\xED\x9D\xD9\x9E\xE4\x9F\xD7\x9D\x2D\x93\x8D\x3E\xD0\x66\xB9\xB6\x83\xF4\x97\x8C\x93\xA8\x9D\x32\x95\x9B\x9B\x0B\x3E\xE9\xCB\x3B\xFD\x93\xF2\x9D\xF7\x9A\xED\x9D\xD6\x84\x3D\x99\x88\x1D\xFC\x64\x8E\xF1\x98\xCF\x92\xD4\x9F\x0E\x9D\x75\x97\x49\x9F\xE4\x07\xB0\xCD\x0B\xFE\x98\xF0\x96\xE2\x83\x7E\x9D\xC0\x9F\x64\x9F\x83\x2B\xE6\x43\xBF\xE1\x88\xB7\x4D\xC5\x9A\xAA\x9C\x10\x92\xFC\x9E\x9A\x3F\xB9\x5F\xBC\xF7\x80\xFB\x9B\x59\x66\x65\x86\x83\x9C\xAF\x9E\xA4\x3E\xE2\x6E\x81\xE0\x8D\xDE\x90\xE6\x9E\xEF\x9D\x54\x9A\xB0\x9D\xC6\xB7\x7D\x75\xBE\x13\x8A\xFC\x9A\xFA\x9A\xC7\x9F\x67\x9F\xB5\x9D\xA0\x3E\x96\x6B\xB9\xFD\x9B\xE8\x2B\xF9\x9D\xC5\x9E\x91\x9F\x2B\x5C\xB6\x3E\xE4\x3F\x96\xEC\x84\xE1\x60\xD8\x9B\x6C\x9C\x7F\x98\x02\x9F\x5F\x3F\xC1\x7E\x80\xE9\x94\xC5\x9B\x6F\x92\x45\x9F\xA7\x9D\xA1\x9D\x86\x39\x8B\xF1\x52\x0A\x84\xFE\x9D\xFB\x9F\xC1\x9F\x73\x9F\x7A\x9F\xDD\x3A\xC1\xE4\x4E\xDE\x9A\xCB\x9E\xEC\x9F\xD1\x80\xED\x9E\xF4\x9E\x74\x29\xF0\x7D\xB4\x6D\x98\x2E\x61\xB4\x9F\xFA\x9E\xB0\x9E\x6B\x9F\xAD\x2F\xD8\x7D\x8E\xF6\x85\xAC\x88\xFE\x9C\xD6\x9E\xFA\x9F\x3B\x8A\x51\x3B\xC3\x4E\x93\xED\x84\xED\x92\xC8\x9A\x27\x8E\x6D\x9F\x41\x81\xCF\x3F\xA7\x34\x9F\xFC\x8E\xF5\x9C\xED\x9C\x8D\x9C\x44\x99\x8B\x84\xE8\x02\xE4\xD4\x05\xFF\x95\xFD\x9E\xF8\x9B\x8D\x9F\x1F\x5D\xB6\x9D\x0B\x38\x9F\x78\x86\xFF\x94\xEF\x94\xC0\x9C\x15\x32\xEF\x9A\xBD\x9F\xDD\x3F\xE5\x7A\x81\xF3\x8F\xF9\x9A\xD1\x9C\xBD\x9D\x43\x51\xED\x9E\xD6\x02\xE7\x7F\x90\xFF\x89\xFF\x96\x82\x9E\x71\x9C\xDC\x80\x05\xA0\x19\x40\x99\x7C\x9F\xF3\x94\xFA\x96\xEF\x9A\xE3\x9D\x6D\x6D\x5F\x9E\x70\xE4\x74\x7F\xA3\x00\xB6\xFF\x98\xF1\x98\xCC\x8D\x03\x87\xBF\x98\x29\x05\xBC\x7F\x83\xF6\x8D\xFC\x97\xD7\x9B\x84\x9C\x32\x9E\x32\x9D\x99\x3F\xA8\x80\xBB\x00\xAB\xED\x9E\x6F\x9D\xB5\x9D\xCF\x9C\xD1\x98\xBD\x3C\xE0\xEF\x1C\xFC\x85\x19\x83\x25\x81\x90\x37\x02\xA1\xFA\x9F\x17\x3F\xCB\x7E\x88\xDA\x95\xE6\x96\x55\x76\x09\xA1\x0A\xA1\xCE\x9F\x1A\x3E\x90\x76\xAB\xF2\x83\xE3\x98\x1C\x98\x9F\x95\xFF\x82\xEE\x2F\x4F\x40\xB3\x80\x91\x01\xAC\xFD\x99\xF1\x9B\xA3\x9D\x55\x53\x99\x9F\xE5\x3D", +"\xCD\xDA\x21\x01\xA2\x00\xA0\xF4\x98\xE4\x9F\xCD\x9F\xD4\x97\x07\x3C\xEB\x79\x9A\xFD\x8A\x6E\x7E\xF3\x9F\x71\x7A\x10\xA1\xA4\x9E\xF3\x3D\xAE\x7A\xAE\xF9\x8F\xC0\x94\x90\x98\x93\x8F\x32\x9B\x1F\x9F\x05\x32\xD9\x4B\xA6\xFF\x8D\xE1\x9C\x00\xA5\x07\xA2\x95\x9F\x6F\x9A\x8D\x3A\xDE\x42\x90\xEA\x94\xED\x9A\xA5\x8B\x93\x83\x20\xA0\x09\xA0\x85\x40\xAE\x7C\x95\xF0\x88\x04\xAC\xCF\x98\x53\x9D\xD6\x9E\xC4\x89\x74\x05\xBA\x80\xB8\x01\xB4\xF2\x96\x08\xA0\xFC\x9E\xDF\x5C\xAB\x9F\xEF\x36\x84\x6E\x8D\xF9\x9B\x43\x76\xD1\x98\xCA\x9F\x66\x9E\xBE\x9F\x44\x40\x95\x77\x91\xCF\x85\xDD\x98\x11\x91\x09\xA0\x11\x9D\x19\x9E\x23\x3D\xB5\x78\xA1\xA6\x7C\xCE\x9F\xA9\x8D\xEE\x9C\x00\x01\x4E\x6A\x7E\xF0\x46\xE3\x44\x58\x94\x1F\x9E\x9A\x5F\x5E\x75\xCE\x7F\xE9\x78\xAE\xFE\x7F\xF8\x56\x65\x21\xE4\x75\x1D\x7D\xEB\x7D\xEC\x7E\xB6\x7E\xBB\xFE\x31\x7E\x75\xE5\x9A\xD3\x99\x71\x43\x40\x69\x85\x7F\x5C\x7F\xE5\xE5\x25\xFC\x67\x53\x6A\x06\xA9\x14\x60\x2A\x06\x88\x7E\x68\xA0\x0F\xF2\x06\xA4\x50\xFB\x65\x52\x76\x84\x6A\xB8\x72\xE4\x7F\x76\x7E\x1C\xFF\x7A\xF9\x70\xFE\x58\xF7\x6B\x0C\xA1\xBD\x92\x20\x4E\xD4\x7F\xDE\xE5\x62\xFA\x4C\x08\x6A\xF7\x71\x8D\x7C\xDD\x7F\xA7\x7F\x08\x90\xE1\x40\xE3\xFD\x45\xC9\x60\x8F\x76\x2D\x50\x4A\x7A\x5D\x7E\x8D\x7F\xDF\xFC\x71\x81\x84\xC9\x61\xFD\x78\x20\x6D\x1C\xA2\xE5\x91\x94\x6A\xCE\xFE\x1E\x6C\x6A\xFE\x6B\x07\xAF\x26\x7B\x9D\x7F\xC0\x7E\x25\x7F\x7E\xFE\x3C\xFF\x4B\x4C\x74\x06\xA9\xAB\x80\x64\x96\x5B\x66\x7B\x7E\x52\x0A\xDE\xFE\x51\x03\xBB\xA6\x6C\xCF\x7D\xB3\x4B\x1F\x97\x49\x79\x0C\xFD\x6F\xD6\x58\xE9\x76\xD3\x9F\xDF\x7E\xD3\x49\xF5\x7E\xE9\x78\xDB\xA7\x21\xFD\x57\x78\x56\x05\xAC\x52\x4F\xEE\x9F\x3F\x01\x1E\x9E\x10\x0B\xF8\x5F\xBF\xEF\x87\x05\xAC\xF8\x99\x15\xA3\xDF\x9D\x61\x99\x10\x75\x3D\x75\xBE\xF1\x9E\x32\x9A\xDB\x93\xA8\x9A\xE1\x9F\xDE\x96\x67\x32\x9C\x78\x9F\xDA\x95\xDD\x93\xE0\x9C\x0D\xA1\xB9\x9E\x7E\x9F\xC9\x3F\xFE\x64\x93\xB7\x81\xD0\x91\x4C\x69\x2C\x9C\xBF\x84\x95\xA0\x2C\x3C\x90\x81\x90\x01\xA1\xF3\x96\xE9\x9E\x10\x9E\xE8\x9F\x71\x57\x52\x30\xB1\x65\xB9\xA3\x87\xFD\x90\xBE\x98\xD0\x9B\xCE\x96\x41\x9B\x05\x2F\xB9\x7C\x9E\xFF\x9B\xF1\x91\xE1\x9F\xCA\x6D\x19\x9E\xB6\x9C\x67\x3C\xD5\x48\xB7\x30\x96\x0A\xA7\xFB\x90\x2B\xA3\x1A\xA1\x25\x90\xE9\x36\xAD\x6F\x9A\x01\xA8\x6F\x98\xD6\x99\xB1\x99\xAF\x93\xC0\x9E\x0D\x36\x8F\x78\xAB\xD8\x84\x04\xAB\x14\xA6\xF6\x9E\xD3\x9D\x66\x98\x8E\x26\xD8\xD1\x77\xA4\x9A\x09\xAE\x58\x9C\x27\xA3\x97\x9F\xBA\xA0\x0D\x40\xDD\x31\x90\xFE\x9A\x59\x94\x29\x99\xBA\x94\x4D\xA1\x1C\x91\x0C\x8D\x0F\x66\x9F\xE2\x8F\x61\x77\xC6\x85\xC3\x71\x4A\x86\xCD\x9E\x59\x41\xAA\x7B\xAB\xFE\x92\xFE\x92\xED\x98\x45\x9C\x94\x90\x2C\x9F\x66\x29\xD9\x7F\xB5\x2D\x91\x48\x5C\x17\xA2\xBA\x75\xF8\x9D\x62\x9D\xE3\x3B\xAA\x80\xA6\xF5\x98\xE2\x9A\x33\x9A\xFC\x9C\xB3\x9F\xF7\x6C\xCE\x3E\x9E\x19\xB1\x05\xBD\xE0\x93\x17\xA2\x29\xA2\x18\xA0\xA6\xA0\xF7\x3F\x98\x58\xA8\xE8\x9A\xD1\x92\xDB\x9F\x31\x96\x69\x9F\x4E\x86\x8E\x41\xEF\x52\xA6\x05\xB7\x02\xA8\x2F\x8E\xF3\x9E\xC2\x9E\xD0\x9F\xA3\x29\x9C\x5D\x9F\xFB\x94\xDA\x9C\xC9\x9C\x36\x9C\x08\x96\x47\x4A\x6C\x1B\xAB\x82\x91\x06\xA8\x05\xA3\x19\xA6\x0D\xA1\x64\x62\x25\x9D\x70\x41\xD5\x6C\xAC\x06\xBE\xEE\x90\x2B\x94\x6B\x9E\xC7\x9C\xAF\x9D\xB7\x3F\xF3\x6B\x8E\x9D\x6D\xF7\x94\xBB\x9B\x35\xA2\xEA\x9D\x28\x9F\x2C\x41\x9C\x7F\xBD\x06\xB9\x02\xA1\x7D\x9B\xC1\x56\xEF\x9B\xCE\xA0\x02\xEE\x49\x82\x92\xF9\x82\x0F\xA8\xB8\x8E\x37\xA3\xC9\x9E\xE0\xA0\x03\x3F\x8B\x01\xA0\x00\xA1\xF1\x98\x14\xA1\xD4\x86\x08\xA0\x9F\xA0\xD1\x3F\x9E\x7D\xA6\x00\xB4\xD0\x39\x1C\xA2\x3D\xA1\x78\xA1\x09\xA0\x7A\x40\xF5\x7B\xAF\xF9\x92\xA4\x90\x8E\x9C\x59\x8B\x03\x86\xB2\xA0\xEF\x3B\xA0\x83\xB1\xEF\x98\x02\xAB\x02\xA3\xED\x9F\x07\x82\x62\x9E\xAD\x0B\x88\x84\x8A\x07\xA7\x0B\xA5\x3F\x99\x2D\xA2\xF2\x9B\xB5\xA0\x0F\x3D\xE3\x54\xB3\xEE\x8F\x5A\x85\x1F\xA1\x6A\x89\x7B\x9B\xEA\xA0\xE0\x3D\xBF\x82\x8E\x07\xAB\xEF\x92\xCE\x9F\x10\x41\x9A\x9D\xC7\x9D\x1D\x42\xAA\x2B\x9F\x08\xBB\x39\x9D\xB1\x98\x59\x9F\xC7\x9C\xEF\x9A\xAC\x32\x90\x63\xA2\xFC\x85\xE2\x89\xBC\x86\x3B\xA3\x55\xA0\xC8\xA0\x14\x42\xD9\x69\x96\x08\xA0\xBF\x95\x1E\xA5\xF5\x9E\x69\x7D\x38\x9D\x47\x41\x92\x84\xBE\x07\xAB\x0E\xAD\x12\xA5\x39\xA0\x01\xA0\x18\x8E\x99\x3B\xE3\x79\xA8\x01", +"\xA1\xDE\x79\x5E\x31\x3D\xA2\x7D\xA0\xBA\xA0\xAF\x41\xF6\x82\xB0\x08\xA1\xD9\x9A\x6C\x9F\x21\x9C\x97\x7D\x9C\x9F\xB5\x09\xBB\x7E\x96\x97\x8C\x04\xA5\x07\xA2\x85\x9D\x20\x36\x27\xA1\x1E\x42\xD8\x1B\xA5\xCD\x93\xDC\x9B\x41\x9F\x25\xA2\xD3\x99\xC0\x9D\x7F\x1C\xCC\x81\x96\xEA\x89\x04\xAC\x35\x8F\x08\x94\x7A\x7D\x39\xA0\x6C\xB4\x3D\x55\x97\xD8\x9F\x12\xAF\x18\xA0\x3C\xA0\x91\xA0\xF6\xA0\x20\x20\xEE\x83\xBF\xFD\x88\xF9\x90\xE3\x99\x6A\x98\x80\x7D\x8D\x9C\x88\x0C\x83\x3E\x9B\x32\x85\xCE\x9A\x1A\xA2\x3A\xA3\x77\xA0\x0F\x9E\xEB\x41\x80\x84\xAD\xF9\x82\x10\xAC\x07\xA6\x80\x9D\x70\x9D\xD4\x85\x2C\x38\x80\x6F\x5B\xEA\x85\x14\xAB\x13\xA2\x2E\xA0\x75\xA0\x16\xA1\x4B\x3B\xDD\x76\x8D\xED\x93\x12\xAF\xB4\x99\x99\x99\xD3\x9E\xDA\x8A\x00\xF0\x1D\x72\x9A\xEE\x96\xE8\x91\x5C\x9D\x52\xA3\x74\xA1\x9E\xA0\x68\x41\xB8\x41\x8D\x08\xA4\x0D\xA6\xC2\x86\x0C\xA2\x75\x9C\x58\xA0\x60\x32\xDC\x64\x88\xE1\x9B\xCE\x97\xC3\x9D\x3B\x9D\x49\x9F\xAD\x5D\x26\x41\xA8\x82\xBD\xD9\x9F\xB3\x96\x23\xA5\x2C\xA0\x8E\xA0\xDE\xA0\xED\x41\xE4\x83\xA4\xDA\x52\x09\xA6\x18\xA4\x61\x98\xB0\x9D\x37\x9C\xC2\x3A\x94\x85\xB5\xBE\x82\x12\xAF\x24\xA6\x35\xA0\x7E\xA0\x12\xA0\xE2\x3D\xC1\x82\xBD\xAC\x80\xD0\x9A\x1F\x92\x40\x9E\x51\x9F\x61\x32\x8D\x35\x9E\x83\xBE\x05\xBA\xEF\x92\x19\xA6\xF7\x9E\x98\x9F\x4B\x9F\xDF\x3A\xA4\x7F\x89\xE8\x9E\xE2\x98\x75\x9E\x4B\xA1\x53\x37\x05\x99\x87\x31\xA2\x5C\x91\xEE\x8D\x9E\x9D\xB7\x9F\x79\x9A\x2A\xA0\x9E\x9A\x68\x42\x81\x74\xBF\xE3\x67\x96\x9F\xA0\x98\xAA\x8E\x81\x96\x64\x7B\xD7\x0B\x9E\x6D\xBD\x05\xB6\x14\xA8\x2A\xA5\x42\xA2\xAA\xA1\xD1\xA0\x0E\x40\xCD\xB8\x23\xCB\x9F\xE1\x39\x2D\xA0\x4C\xA2\x8A\xA0\x31\xA1\x81\x33\xE4\x84\xB5\xD9\x8B\xB2\x96\x69\x9A\x96\x98\xDA\x97\x58\x9F\x6E\xD5\x4A\x85\xB7\xBF\x8C\x16\xA1\x26\xA2\x06\xA3\xB3\xA0\x1A\xA0\xD1\x42\xC4\x85\x9D\xFB\x95\xD5\x88\x5A\x9A\xC2\x9D\xA4\x81\x88\x54\xA5\x42\xCB\x85\xBD\x0A\xA9\x10\xA6\xAE\x9B\x6B\x9D\x88\xA1\xFC\xA0\x47\x42\xD3\x7F\xBF\xF1\x84\xD9\x96\xFD\x9C\xB7\x98\x8B\x9D\x49\x9E\x9A\x3B\x8D\x7B\xB3\x09\xA7\x17\xA9\xC2\x8C\x64\xA1\xBD\x9C\x93\xA1\x24\x3E\xD7\x7B\xA6\xF8\x8A\xF6\x93\xA3\x9F\x15\x9C\xCD\x9C\x90\xA1\x1B\x5D\x68\x85\xBB\xC4\x85\x84\x9F\xB9\x9C\x33\x9A\xDC\x9C\xCF\x98\x66\x42\xA9\x67\xB1\x0B\xB6\x72\x91\xBC\x30\xCB\x95\xB3\x83\xB7\x99\x95\x40\xD8\x7F\x8E\xE6\x9E\x2E\x60\x5C\x99\x68\xA1\xCD\xA1\x09\xA1\xC0\x42\xF9\x84\x82\x0B\xBB\x19\xAC\x8B\x99\x48\x9F\x23\x8B\x6A\x9F\x9A\x41\xE4\x24\xBF\xFF\x91\xD9\x35\x30\xA5\x4E\xA0\xA2\xA1\xFF\xA0\x91\x40\xC7\x7F\x8C\xF5\x8B\x70\x80\xDC\x9C\xEB\x91\x55\xA0\x5E\xA1\x86\x42\xB7\x84\xB6\x09\xB9\x11\xA8\x6E\x9F\x5F\xA3\x06\xA0\x16\xA0\xAB\xA7\x5C\x83\x9C\x08\xA8\xB1\x96\x2A\xA7\x50\xA1\x6B\xA1\x44\xA1\x69\x43\x94\x80\x87\xF9\x8A\x71\x8F\x75\x73\x94\x8A\xC9\x97\x91\xA1\x58\x43\xC3\x80\x86\x09\xA8\xF6\x95\x00\xA5\x03\xA1\x89\xA0\x2A\x9D\xB3\x3C\xE6\x09\xB4\xEA\x9A\x17\xAA\x2D\xA4\x5F\xA3\x5F\xA1\x28\xA1\x81\x41\x96\x33\xBE\xFB\x86\x1C\xA9\xF3\x94\x62\xA3\xC1\xA0\x8B\xA1\xA9\x42\x83\x80\x8C\x0E\xA8\x12\xAA\x2C\x8D\x40\xA2\x3C\x8B\x20\xA1\x70\x43\xFD\x86\xB2\x0D\xA7\x1B\xA7\x27\xA2\x51\xA1\x89\x9F\x3D\xA0\x32\x15\x90\x84\xAF\x0D\xA7\x1C\xA1\x37\xA6\x57\xA3\xDC\xA1\xAC\xA1\x78\x27\xDB\x86\xB0\x0E\xA0\xA8\x81\x51\x89\x99\x9C\x61\x86\xCA\xA1\x06\x43\xAD\x37\x88\x0C\xB9\xA0\x9A\x30\xA5\xDF\x9B\xBB\xA0\x7D\x9D\xC0\x3F\xEC\x7E\xAE\x02\xA7\x4E\x6A\xE0\x9A\x4B\x3D\xD9\xA0\xDD\xA0\xBF\x42\x8A\x87\x9E\x0B\xAD\x0A\xA7\xBC\x98\x35\x9C\xEA\xA0\xDA\xA1\xAA\x43\xB6\x87\xAC\x0E\xB4\x1B\xA8\xAE\x9B\x47\xA2\x06\x9D\x1E\xA1\xCC\x00\xB8\x06\x9E\x01\xBB\xAB\x9E\x84\x77\x6A\xA3\x90\xA0\xEE\xA1\xF7\x3A\xDE\x87\xB2\xE0\x80\x1F\xAD\xCC\x9E\x03\xA3\x19\xA1\xD7\x9C\x9C\x36\xD8\x87\xBB\x0B\xA7\x15\xA7\x39\xA7\x62\xA3\x18\xA0\xCA\xA0\x4C\x3F\xEA\x84\x92\xBE\x90\x09\x92\x1F\x9D\xE7\x9D\xD5\xA0\xEE\x2F\x42\x43\xA4\x64\x84\x0D\xBA\xB7\x97\x08\x99\x74\x9D\x8F\x9A\x3B\x9B\x3F\x36\xCB\x86\x9D\xE0\x83\xFA\x92\x20\x9D\xE8\x9C\x5F\x8B\x40\xA0\x5D\x3F\xA1\x86\x93\x0C\xA8\x1C\xA7\x3E\xA0\x77\xA0\xD3\x9C\x3D\xA1\xD9\x41\xFC\x84\x9E\x0A\xAD\xC9\x98\x19\xA0\x04\x9C\x9C\xA0\x73\x56\xC5\x39\x92\x88\x81\x10\xA2\x9D\x93\x40\xA6\x44\x99\x42\x99\xA3\xA1\xD5\x31\xF4\x76\x82\xD1\x8E\xED\x9D\x22", +"\x99\xC9\x9C\xA1\x9C\x84\x9E\x5B\x3E\xB4\x73\x9B\xEA\x82\x21\xA6\x3E\xA5\x59\xA0\xE0\xA0\xC0\xA0\x9D\x40\x92\x7E\x97\x32\x9F\x14\xA9\x8B\x7F\x84\x9F\x7E\x86\x8B\x9E\xBD\x36\xA2\x86\xB5\x0E\xB6\x19\xAB\xB0\x98\x67\xA2\x75\x9E\xB5\xA0\xEC\x43\x83\x06\xAE\x00\xBF\xDF\x5D\xD1\x9E\xA4\x9B\xEC\x88\xC4\x81\x5E\x32\xA1\x0B\xA3\xF4\x96\x05\xA7\xFA\x83\xE5\x88\x1A\x9D\x36\x47\x55\x44\xBB\x52\xA5\xA7\x99\x69\x96\x11\x98\x77\x95\x66\x99\x83\x98\x26\x44\xBE\x62\xA8\x10\xBE\x91\x99\x34\xA5\x83\x9B\x72\x90\x98\x9E\x3E\x2E\xB2\x7A\x82\xFA\x90\xD6\x94\xE8\x9C\xA8\x98\x04\x92\xFA\x9C\xF5\xEC\x59\x88\x92\xA5\x9B\x22\xAF\x35\x9E\xBB\x94\x66\x98\x7C\x9B\xF4\x2E\x84\x88\xA0\xEE\x91\xB8\x92\xBA\x9C\xD6\x99\xC3\xA0\xC3\x8E\x83\x41\xB8\x60\x93\xEC\x8A\x23\xA3\xF8\x9C\x8D\xA3\x67\x6A\x69\x9D\x5C\x40\xD1\x0C\x97\x0B\xBD\x85\x97\x11\x46\x60\x97\x95\x94\x5F\x9A\xF0\x30\x98\x6A\x98\xD7\x8C\xA5\x91\x6B\x9F\x87\x9A\xB1\x9A\x15\xA2\xC8\x36\x8E\x86\xB6\xCB\x9A\xE2\x9B\xDE\x91\x2A\xA2\x42\x9E\x5C\x7B\xA6\x3F\xE8\x72\x92\x90\x92\x23\xAD\x97\x94\x8E\xA1\xE3\x98\x71\x9B\xF7\x36\xC1\x6D\xB9\xDB\x81\x23\xAB\x6F\x9D\x78\xA2\xDF\x9C\x4C\xA2\x80\x3B\xAC\x81\xB9\x05\xA4\xE3\x9A\x39\x92\xF5\x8D\x58\xA0\xB7\x9C\x8E\x38\xC7\x81\x47\xFF\x2D\x57\x99\x4E\x9C\x90\x9B\xA1\x99\x1C\x9A\x8E\x36\xB5\x67\x8E\xDC\x90\xB5\x9A\x5D\x9F\xB3\x98\x77\x9A\x63\x9A\xA4\x3B\x97\x77\xA2\xCB\x9A\xFD\x93\x55\x90\x51\x43\x76\x40\x3F\x95\xBE\x44\xB5\x6C\xB6\xDB\x80\x71\x99\x2E\xA5\xE2\x97\xBA\xA0\x9C\x9A\xA6\x33\xBA\x6A\x87\x0F\xA6\x02\xAA\x40\xA1\x8E\x9F\x25\x9C\x3C\x92\x4D\x6D\x24\x89\x94\xA6\x86\x25\xA1\x4D\x9D\xDE\x9B\xF3\xA1\x99\x99\x6A\x3E\xD5\x7B\xAC\xF9\x8F\x1D\xAA\x89\x9A\x63\xA3\xE4\x9F\xC3\xA0\xA1\x30\x89\x83\xBE\xF5\x93\xF8\x94\xA2\x99\xC8\x9F\x34\x98\x71\xA2\xBF\x29\xA8\x55\x93\xD0\x87\x4F\x9B\x2B\x9F\x8B\xA1\xAF\x99\xBD\x9D\x04\x35\xCE\x67\x86\xD4\x85\x23\xA8\x50\x9C\x85\xA1\xA0\x9E\x76\x7B\x52\x33\x89\x7B\x85\xE6\x93\x1A\xA4\xEC\x9E\x4A\x93\x46\x2E\x7C\xA2\xD1\x29\xEC\x52\x90\x12\xA6\x8C\x93\x34\xA0\x31\x99\xD1\xA0\x62\x9B\x06\x44\x97\x89\xBE\xD8\x95\xDB\x97\x04\xA2\x5E\xA2\xBE\x7F\xF1\x9F\x2E\x3A\xBC\x3B\x9D\xFD\x9E\xD3\x30\x51\xA4\x3C\x96\x3E\xA3\xDD\x98\x27\x31\xFE\x6A\x9F\xBE\x99\xA8\x98\x04\x99\xB6\x99\xC1\x99\x5C\x9D\xE1\x30\xFF\x88\x87\xD6\x8E\xF4\x9E\x27\xA1\xB7\x98\xD0\x9C\xA8\xA1\x57\x3F\xAF\x86\x8B\xF6\x94\xE4\x98\xCA\x55\xA4\xA0\x7E\x94\x72\xA2\x43\x33\x9D\x6D\xBC\x0D\xB3\x1F\xAE\x37\xA7\x52\xA3\xE4\x99\x16\xA1\x06\x33\xB1\x8A\x89\x13\xA9\xB6\x94\x32\x9D\x52\x9F\x62\x9C\x97\xA1\x52\x43\xAD\x74\x8F\xE6\x9E\xE4\x9D\x16\x9D\x91\xA1\xA2\x41\x93\xA2\x6E\x30\x82\x5B\x9A\xD6\x91\x83\x90\x58\x9E\x35\x9A\x4B\xA3\x8F\x99\x49\x45\xA1\x66\x8B\x15\xBA\x24\xAB\x4C\xA7\x18\x9E\x06\x3E\x9F\xA2\x1E\x2A\x92\x8A\x8A\xC8\x95\x21\xA5\x31\xA1\x00\xA1\xE8\xA1\x36\xA0\x29\x43\xCC\x74\x8C\xE3\x82\x70\x92\xB4\x58\xAD\xA2\x90\x94\xA0\xA2\xEA\x34\xC2\x8A\xA9\x0E\xA4\x2A\xAB\x3A\xA7\x6F\xA0\xDA\xA0\x1C\xA2\x92\x40\xBE\x80\xBE\xDE\x85\x69\x36\x57\xA0\x4D\x94\x5E\xA3\x68\xA2\x53\x36\xC3\x8A\x95\x0E\xB4\x1F\xAC\x2D\xA4\x39\xA3\xF4\xA1\xD8\xA0\x80\x1E\xDA\x7B\x91\x0E\xA1\x4B\x6C\xEE\x3E\x91\xA3\x20\x9A\x00\x9A\xB2\x33\x96\x6A\x96\xD7\x82\x26\xA5\x42\xA4\x74\x9B\x09\xA3\x6C\xA2\x73\x3B\x9B\x8A\xAB\x10\xA0\xB2\x97\x11\xA2\xDB\x68\x85\x61\xC2\xA2\x7D\x2A\x87\x8B\x98\x16\xB8\xA1\x9A\x59\xA4\xC8\x98\x67\xA2\x8B\xA2\x7A\x44\xC6\x86\xA0\x16\xA8\x1A\xA0\x4B\xA0\x26\xA0\x59\xA2\x27\x9B\x49\x42\xDB\x1C\x91\xD9\x81\x61\x96\x55\xA7\x99\xA2\x6A\xA2\x8A\x9A\x01\x34\xA8\x69\xAD\xD6\x8A\xA5\x93\x49\xA2\xA3\x98\x92\x9A\xD9\x9A\x1A\x45\x88\x88\x9C\x14\xBD\x26\xAC\x85\x82\x76\xA2\xE2\x94\x67\xA2\xA8\x9F\x50\x89\xAB\x16\xA5\xA4\x92\x40\x9B\xB8\xA3\x66\x9A\x96\xA2\x06\x34\x82\x6B\x88\xD0\x87\x26\xA4\x4F\x9A\xA6\xA1\x93\x9B\xF8\x5E\xBD\x43\xC0\x80\x97\xB7\x95\x2C\xA7\x55\xA2\xAD\xA3\x7D\x99\xBD\xA2\x8B\x45\xC5\x8A\xBD\x0B\xBA\x11\xA6\x37\xA0\x94\x9E\x27\xA0\x0C\x57\x6B\x07\xA7\x84\xBD\xC1\x8F\x0D\x4D\x8C\x97\xB7\xA3\x59\x8F\x53\x9A\x4D\x31\x9B\x8B\x92\x12\xA6\xB2\x91\x69\x9D\x74\x99\xB1\x9B\xD3\x99\x04\x45\xEA\x76\x86\x14\xAD\x98\x87\x1B\x9E\x6E\x99\x6F\xA3\xE8\xA2\xF6\x45\x88\x3D\xB8\x17\xA1\x8F\x9C\x70\x9F\xD1\x9B\xAB", +"\x9B\xFE\xA2\x9F\x45\xFF\x8B\x9A\x13\xA1\x30\xA6\xB9\x9C\xA9\xA2\x3D\x97\x2E\xA0\xF8\x37\xC9\x45\xA8\x16\xB2\x54\x9B\xA0\x93\xAD\xA0\x92\x8E\xF5\xA2\xF5\x43\xEF\x8A\xA2\x08\xB1\x2B\xA4\x22\xA5\xED\x9D\xC4\x53\x14\x9F\x16\x27\xE4\x8B\xBE\x16\xB8\x2A\xA9\x1A\x99\x7F\x96\x4A\xA3\x94\x98\x9C\x35\x89\x5F\x95\x12\xAE\xA5\x97\x40\xA4\x61\xA3\x58\xA2\x7B\x9A\x1B\x44\xB8\x7E\xA3\xFD\x9C\xB7\x87\x56\x89\xA4\x96\xFF\xA1\xC0\x6C\x1B\x46\xA7\x55\xA6\x17\xA0\x8F\x9B\x60\x95\x9F\xA0\x1E\xA2\xCD\x98\x17\x45\x92\x77\xA3\x11\xA0\xB1\x96\x63\xA1\x81\xA2\x2C\xA3\x5B\x9B\x70\x40\x8F\x85\xB5\xF3\x9C\xDF\x90\x64\xA4\x97\xA3\x3F\x9A\x79\x89\x4A\x35\xB1\x8C\xAB\xC4\x87\x2E\xAF\x52\xA4\xBB\xA1\x68\x9A\x4E\xA1\x78\x41\xD0\x8C\x80\xE7\x98\x12\xA8\xC0\x9B\x6D\x81\x22\x86\x46\xA0\xC5\x39\xA4\x8A\x96\x19\xB3\x28\xA3\x08\x9D\xA2\xA2\xBA\xA1\x24\xA3\xEC\x42\xAE\x89\xAE\x0B\xB4\x30\xAB\x0A\xA2\x99\xA1\x95\xA1\xD2\x37\x5B\x28\xC4\x83\xB0\xC8\x9A\x30\x9F\x41\xA4\xB4\x8A\x8F\x91\x20\xA3\x93\x1D\x52\x8B\x80\x17\xB9\x2C\xA5\x5D\xA2\xBF\xA2\x6B\x9A\xFE\xA2\x94\x44\xC5\x89\xB2\xDA\x9D\x23\xA3\x71\x9E\xBB\xA2\xAD\x9B\xD6\x91\x3C\x44\xC4\x64\xA6\xF9\x92\xCE\x91\x93\x9B\xBF\x74\x7D\xA2\x73\x94\x09\x46\xEF\x3B\xAE\xCF\x9C\x4F\x9F\x1C\x99\xA0\x99\x74\x98\xB8\x9D\x63\x42\xCB\x8C\xA8\xED\x94\x33\xA0\x2F\xA7\xC9\xA1\x9E\x9A\x13\xA3\x94\x74\x02\x60\x8E\xB3\x52\x05\xAD\x7C\x7D\xCC\xA2\xAB\x9D\x5B\xA1\xDA\x00\x60\x73\x89\xCC\x64\xD6\x2E\x7B\x9F\x14\x97\x86\xA1\xD4\x9C\x8D\xA8\x19\x8C\x9B\xCD\x76\xE8\x9B\xE3\x02\xD5\xA0\x81\x6E\x9C\x9C\x36\x3C\x86\x60\xB8\xF0\x97\x15\xAA\x17\x51\x57\xA2\x65\x89\x8D\x2E\xFB\x44\xF4\x58\x80\xDB\x95\x26\xAD\x20\x9A\xC7\x9A\x7F\xA3\x8C\xA2\x00\x46\xB5\x8B\xA7\x09\xA0\x81\x91\xF8\x9D\xA9\xA3\x1A\xA2\x9A\x9E\x63\x18\xB6\x7A\x87\x1B\xBC\xFE\x29\x6C\xA3\x9D\x97\xB2\xA2\x37\xA3\xD6\x44\xF0\x8C\x98\x13\xB2\x30\xA1\x5A\xA2\xB9\xA3\x68\xA3\x4E\x98\xD5\x46\xB7\x6B\x97\x1B\xB0\xE2\x93\x3E\x8D\x34\xA1\x1E\x9C\x2A\x9E\xEC\xF4\x5D\x8D\xBE\xB3\x8D\xB5\x9E\x60\xA3\x98\xA0\x84\xA2\x31\xA2\xB3\x45\xA9\x88\xA2\x16\xB9\x24\xA8\x63\xA3\x93\xA2\x59\x9A\x1F\x82\x68\x35\xD1\x7A\xAC\x6B\x93\xEA\x95\x55\xA5\x39\x9A\x20\x99\x82\x98\xFE\x44\x97\x68\xA0\x1A\xA9\x18\xA2\x6A\xA4\x72\x9C\xA9\xA2\xE4\xA1\x03\x46\x91\x7D\xA8\x7E\x82\xF5\x91\x83\x7F\xAB\x9E\x58\xA1\xFA\x94\xF2\x46\xAA\x63\x9B\x15\xAC\x8D\x9D\x55\xA0\x38\x9B\x01\x9A\x5C\x9D\x5E\x46\xBA\x75\xA0\x19\xB8\xFD\x98\x58\x9A\x12\x9C\x53\x6D\xFD\x89\x1E\x46\x97\x46\x96\x0E\xAD\x2C\xA5\x24\xA7\xB1\xA1\x0D\xA0\xBB\x94\xF7\x32\xC6\x6A\x82\xED\x59\x38\xAE\x62\xA3\xE3\xA2\x6F\x99\x8E\xA3\xEF\x32\xB3\x8C\x89\xD9\x95\x31\xA3\xBA\x9E\xC9\xA3\x19\xA2\x26\x9E\x0B\x24\xC5\x85\xB7\x99\x9D\x18\xA0\xB1\x66\x7B\x97\x79\xA2\xF9\xA1\xE9\x45\xFD\x8A\x86\x15\xAB\xA1\x98\x54\xA0\xA6\xA2\x58\xA2\x9F\xA3\x16\x46\xBE\x76\xA3\xEC\x98\x85\x9A\x67\xA7\xF4\x9B\x27\xA2\x73\x56\x32\x43\xF3\x8B\xA9\x1C\xA8\x1F\x9B\x2D\xA0\xC7\x9D\xB7\xA1\xAD\xA0\xBF\x3F\x91\x8E\x9D\xF8\x9B\x99\x97\x1A\xA3\x59\x62\xB3\x9F\x92\x36\x34\x47\xCC\x58\xB6\x1C\xAD\x97\x98\x73\xA3\x60\x9B\x57\xA2\x79\x9A\x21\x47\xCA\x8A\x90\x1D\xB7\x2D\xA6\x6D\xA0\xA1\xA2\xD3\xA1\x48\x9E\x0B\x45\xD2\x8A\x94\x0D\xBE\xC7\x84\xA6\x31\xED\xA0\x36\x97\xB5\xA3\x01\x33\xED\x8E\xAA\xD0\x9F\x38\xA7\xAC\x99\xAC\xA0\x54\x9B\xBB\xA0\x24\x47\xB4\x8A\xB6\x1D\xAA\x48\x7E\x36\x9A\xB1\x9C\x10\x91\xD5\x94\xC9\x82\x57\x8C\xBD\x07\xB6\x21\xAF\x57\xA0\x73\xA1\x0E\xA2\x0E\xA0\x02\x43\xE8\x7D\xA1\x53\x8C\x33\xA8\x70\xA7\xC8\xA0\x18\xA2\xCF\xA2\xF8\x46\xE4\x8D\xB4\x16\xBB\x37\xA1\x4B\xA6\xCE\xA3\xDA\x92\xBD\xA1\x9B\x47\xDB\x8E\xAA\x9E\x9F\x0C\xA5\x32\xA1\x34\xA0\x83\xA0\x80\xA1\x70\x3C\xDE\x00\x52\xF7\x84\x97\x9A\x7A\xA2\x1D\x94\xE4\x98\x31\x96\x83\x47\xDA\x8B\xA0\x1C\xB2\xB8\x98\x4C\xA3\xEE\xA1\xBF\xA3\x56\xA0\xB9\x45\x90\x87\x97\xE3\x8E\x63\x9F\x3B\xA5\xF6\xA0\x31\x97\xDB\xA3\x29\x34\xAB\x84\x87\x15\xB9\x14\xA7\x1D\xA3\x53\xA2\xB2\x9D\x2E\x58\xA5\x45\xAF\xD2\x5F\xE7\x5E\x3B\xAF\x06\x98\xF0\xA3\x5F\x9A\x2D\xA3\x4C\x35\xEF\x8E\x8E\xD5\x86\x3C\xA5\x58\x9E\xD1\xA1\xC5\x9A\xCC\x9D\xA5\x43\xE7\x67\xAE\xF7\x87\xCC\x86\x7C\xA7\x71\x9A\xCF\x90\x0E\x9B\x00\x45\x9E\x6C\x8D\x1C\xA5\x13\xA2\x6D\xA2\x69\xA2\xA9\xA3\x21\x8E\x0D", +"\x3F\x9F\x5E\xB1\x0F\xA6\x89\x97\xC8\x97\x84\x99\x31\x96\xEC\xA3\x81\x35\xDA\x8F\x83\xD6\x9C\x3E\xA9\xAC\x9E\xFB\xA3\x77\x9A\x19\xA1\x14\x3F\x8F\x68\xB1\x1B\xA8\x29\xA5\x7F\xA1\xA9\x9B\xFD\xA2\xEC\xA2\x9D\x35\x8A\x8D\x96\x12\xB1\x36\xA4\x7A\xA6\xB6\xA3\xEF\xA2\xDC\xA2\x20\x34\xCB\x80\x94\x16\xB4\x3F\xA8\xEA\x97\xDB\xA2\x00\xA2\xD8\xA2\xAC\x44\x85\x88\xBC\x11\xBC\x39\xAE\x47\xA7\xC6\xA3\x4C\xA3\x78\x50\x36\x0C\x98\x8E\x84\x20\xB5\x40\xA6\x64\xA2\x95\xA1\x1E\xA3\x0C\xA4\x7B\x44\xC6\x89\xBC\x1E\xBD\x2E\xAE\x81\xA7\xBB\xA3\x85\xA3\x1F\xA1\xE3\x43\xE9\x67\x86\x1C\xA8\x9E\x91\x49\xA7\xD0\xA0\xA4\x9B\x44\xA3\x10\x37\xAA\x90\x8C\x1A\xBD\x3D\xAB\x5C\xA7\xFD\xA0\x12\xA1\xE0\xA3\xDE\x3B\xF0\x87\x94\x08\x74\x3E\xAA\x55\xA6\xBA\xA0\x57\xA2\xFC\xA3\x5E\x45\xDC\x8C\xA0\x15\xAE\x3A\xA7\x78\xA3\xE4\xA2\x76\xA1\x1C\xA3\x51\x46\xE4\x8C\xB2\x01\xB9\xA5\x96\x74\xA4\xC8\xA3\xFB\x99\x5F\x9A\xCC\x46\xC1\x69\x84\x13\xB9\x41\xAB\x68\xA4\x03\xA5\xA3\xA3\x16\xA4\x8F\x46\xC4\x47\xBA\x0F\xAA\x7D\x97\x9E\x78\x2E\x75\x9F\xA2\xCF\x5D\x2B\x33\xDC\x8D\xA3\x20\xAB\x85\x91\x4C\xA3\xBF\xA3\x0D\xA4\xE3\xA2\x3A\x47\xC8\x8B\x8C\x20\xA6\x37\xAC\x6F\xA7\x03\xA6\x98\xA3\xDF\x97\xDD\x36\xCF\x7E\xA9\xBF\x75\x42\xA4\x81\xA4\x0D\xA4\xBD\xA3\xD7\xA2\x6F\x46\xB1\x8B\x98\x14\xBB\x40\xA9\x5C\xA5\xC9\xA1\x0F\xA4\xD3\xA3\x90\x46\x9C\x88\xAE\xFF\x90\x14\xA9\xC1\x99\xA4\xA3\xA6\x9C\xB4\xA3\x6B\x48\x88\x65\xBF\x21\xAE\x43\xAF\x60\xA0\x07\xA7\xB3\xA2\x42\xA4\x73\x48\x86\x91\xA7\x1B\xBE\x41\xA5\x21\x9E\x85\xA3\x81\x4D\x50\xA1\x19\x32\x98\xEE\x56\xF4\x9E\xD3\x34\x84\xA4\x37\x9A\xF5\xA3\x95\xA2\xC5\x45\xAD\x8A\x8A\x21\xB0\x3B\xAB\x82\xA7\xCB\xA3\xF3\xA2\x2A\xA1\x69\x31\x8F\x87\xAF\x0A\xB1\xF3\x90\xF7\x9F\xB3\x81\xB0\xA2\x47\x9D\x4E\x44\xFE\x02\x37\x0A\xAD\x24\x56\x6C\xA7\x26\x95\x04\xA1\xAF\xA3\x1A\x40\xEE\x8B\x9F\xA2\x61\x9B\x8B\x27\x9D\x30\xA3\xC6\xA0\x78\xA2\xD8\x46\xFA\x73\xB4\x13\xBD\x42\x8B\xA1\x99\x54\x83\x46\x2E\x3C\xA1\xB9\x43\xAB\x85\x8D\x46\x89\x37\xA2\x75\xA7\xD1\x9C\xB5\xA1\x3B\x95\xA2\x9F\x03\x74\x8F\x04\x90\x51\x7E\x3A\xA2\x67\xA3\xEE\xA1\xD0\x9F\x53\x37\xD0\x82\x99\xFA\x92\x0A\xA1\xB7\x97\x8B\x9C\x2F\x82\x6E\xA4\x81\x43\x81\x84\x95\x00\xAE\x0A\xA3\x71\xA7\x2B\xA0\xD8\x9B\x78\x9D\xB2\x3F\x87\x06\x8E\xF8\x81\x46\xA6\xCE\x9F\xBD\xA1\xAB\x7F\x93\xA3\xF9\x37\xF3\x91\xA2\x06\xB7\x1B\xAE\x20\xA7\x90\x9D\xCC\xA3\x33\x99\xBF\x48\x8E\x8B\xA0\x1D\xB5\xE3\x9E\x4E\xA4\x56\x8C\x32\xA4\xBE\x9E\x0E\x0B\x73\x89\x8B\x06\xAD\xFE\x91\x04\xA1\x90\x34\x34\xA5\x0B\xA2\xBA\x43\x8C\x85\x8D\x52\x90\xE4\x99\x8F\x89\xEF\xA0\xCC\xA1\x3D\x74\x59\x47\xF1\xC8\x5C\x7F\x2F\x48\xAA\x29\xA0\x83\xA0\xE2\xA3\x27\xA4\xFE\x46\xE4\x8E\xBE\x0C\xAA\xE4\x9E\x37\x83\x23\xA5\x37\xA4\x24\xA2\xD8\x3D\xC7\x6E\x95\xEA\x83\xED\x9B\xA3\x9B\xF3\x99\xA2\x97\xED\x9F\x26\x49\xE9\x91\x8B\x0A\xAB\x47\xA7\x8E\x74\x34\x95\x6C\x9E\xCC\xA0\x1D\x2C\xD7\x8E\x88\x79\x23\x1B\xA2\x77\x9A\x1F\xA7\xEB\xA2\x7E\xA4\xAC\x42\x8F\xCC\x10\x07\xB9\x47\xAA\x15\xA4\x1E\xA4\x84\x9F\xF7\xA2\x9E\xD6\x6A\x9A\x6E\x1E\xA3\x0F\xA2\x8D\xA1\xF6\xA2\x8D\x3E\xDF\x9B\x01\x49\xAD\x8E\x83\x24\xB4\x1E\xA4\x93\x9E\xFF\x9B\x8F\x6C\xA4\x98\x76\xF7\x52\x92\x86\x25\xBF\xFE\x98\x6D\x6B\x73\xA0\x77\x9E\x74\xA4\x80\x45\xEA\x86\xAF\xF8\x96\xB8\x94\x20\xA2\xFC\xA0\xD3\x7A\xF3\x9B\x0B\x42\xCC\x92\xB0\x1E\xBD\xE3\x9B\x8C\xA6\xB9\xA3\xCD\x3B\xA5\xA4\xC1\x42\xCD\x92\xAC\x25\xAB\x0C\xA7\x6B\xA0\x74\x4F\x33\xA5\x93\xA4\x17\x42\xC9\x88\x83\xBD\x91\xF9\x9D\x86\x5A\x02\xA7\xAE\x9E\x9F\xA4\x6A\x49\xC0\x92\x81\x0C\xA6\xF4\x92\x43\x9B\xE4\x9C\x5A\xA4\xEC\x9D\x5B\x49\xDC\x82\xB6\x23\xAD\x06\x81\x83\xA2\x10\x73\x5D\xA4\x99\xA4\xEC\x44\xB4\x92\x95\x25\xB7\xC4\x8F\x7F\x98\x26\xA5\x7A\x32\x8E\xA4\xCD\x47\x9E\x92\x8E\x21\xBA\x20\xA8\xFA\x90\x02\x9F\xA3\xA1\x29\xA4\xBB\x1D\xDD\x84\x9C\x10\x90\x35\x38\x99\xA6\x45\xA0\x76\xA1\x8F\xA4\x9C\x49\x96\x4C\x8C\x10\xBF\x03\xA5\x86\xA0\x29\x93\x19\xA4\x00\x41\x8C\x04\xB1\x92\xA1\x25\xA2\x1C\xA6\xBC\x9C\x45\x8D\xA4\xA2\xD4\x85\x1E\x44\xF2\x0A\x85\xE7\x9B\x26\x85\x9A\xA4\xFF\xA3\x8B\xA1\x57\xA4\x9D\x42\x9D\x93\xB8\x21\xA7\xE0\x9A\x4F\x99\x46\x9A\x0C\xA2\xCB\xA4\xA4\x49\xF8\x92\xBC\x08\xA9\x49\xA2\x9C\xA6\x51\xA0\x99\xA2\x1F\xA2\x59\x1A\x96\x7A\x8F", +"\x02\xA0\x46\xAB\x8F\xA2\x18\xA4\xE6\xA3\x16\xA0\xAE\x42\xB2\x78\xB4\x22\xB9\xB8\x94\x00\x9C\x56\xA2\xB0\xA2\x5B\xA1\xE4\x39\x82\x02\x20\x03\x12\x35\xAE\x22\x82\x4B\x59\x9E\x31\xE1\x41\xB6\x40\xE2\x01\x24\x27\xA4\x96\x70\x73\x9A\x89\x9B\xD3\x7D\x06\x07\xC8\x9E\x70\x68\xAA\xB5\x78\xA3\x91\xF4\x79\xC2\x04\x5E\x31\x92\x9B\x52\x7D\x1E\x69\xA8\xB3\x86\x6A\x42\x5A\x6F\xC0\x07\xD0\x87\x86\x79\x9A\xFB\x09\x02\x14\xEA\x6E\x5E\x6F\x9F\xA6\xE0\x9F\xC4\x8B\xE3\x7D\xFB\xFB\x29\xF7\x44\xEB\x79\x83\x6B\xAF\x7A\x03\x87\xEB\x7D\xE4\x2E\x6B\xE3\x32\xF7\x4D\x53\x65\x50\xA1\x8E\x9E\x5C\x7D\xFE\x7D\xEA\x71\x10\x66\x2A\xC9\x5F\xCA\x74\x50\xA6\x20\xA6\x42\xA5\x42\x73\x04\xA5\x91\xE4\x12\xC7\x63\xEA\x6D\xDE\x78\xAC\x7B\x42\xA5\x0D\x7E\x1F\x7E\xAA\xF6\x31\x6E\x99\xE3\x93\xDE\x7C\xB4\x7D\x7A\x7D\x36\x69\x6F\x7D\x06\x01\x0F\xD5\x65\xAD\x78\xE0\x7A\xC6\x7C\x62\x7F\x12\x7E\x74\x63\xEF\xFB\x04\x94\xA7\x28\xA8\x7A\x8F\x48\x70\x44\xA7\x42\x72\xAB\x04\xFE\xFB\x64\x00\x00\xF0\x6C\x09\x92\xC0\x7F\xB0\x1B\xBF\x7C\x08\xA5\x15\xE5\x02\xF6\x47\xF0\x66\xF9\x4C\xA1\xA2\x45\x74\x00\x73\x93\x72\x09\x01\x03\xC8\x5E\x62\x6D\x52\xA4\xB3\x7A\xFD\x6F\x4D\x73\x84\x00\xDE\xDF\x61\xE6\x54\x29\xA6\xDE\x73\x54\x74\x58\x2F\x09\x7E\x2D\xA5\x3B\x4A\xDD\xF5\x67\x44\x6F\xE1\x7C\xB2\x7C\x49\xA5\x98\xA4\xF1\x7D\x28\x1C\x38\xF8\x5E\x46\x66\x53\xAD\xC3\x7C\x47\xA7\x6E\x68\xA2\x7D\x19\x1B\x6C\x94\x9D\xF1\x76\x51\xA6\xBD\x7F\x3D\x9F\xF5\x31\xF5\xA4\x58\x38\xB7\xBB\x01\xF1\x64\xB3\x87\xE0\x00\x1D\x00\x9E\xA5\x06\x82\x5E\x4A\xEC\xBF\x75\x27\xB4\x7C\x71\xA5\xA7\x4F\xA7\x79\x9C\xAB\x52\x53\x00\x23\x07\xB7\xAA\x92\x1D\x86\xA7\xA1\x21\x00\x3B\x00\x43\xA5\x60\x16\xE9\x2D\xAB\x5B\x84\x57\x84\xA8\xA6\x20\x02\x3B\x00\x48\xA5\x62\xCB\x1A\x94\x86\x01\x67\xDD\x72\x81\x02\x41\xA4\x5D\x29\x62\x7D\x4A\xF2\x43\x10\x0E\xEF\x7C\xF2\x67\x2B\xA6\x51\x78\x80\xA4\xE7\x68\x49\xFF\x1F\xE5\x66\x2A\xAA\x70\x94\xFF\x97\x54\x7A\xD3\x7F\x06\x6C\xBF\x40\x97\xCB\x7A\xAB\x6E\xD2\x99\x29\x79\xE9\x96\xEC\x97\xA4\x1D\xFE\xFD\x34\xFD\x4B\xB1\x66\x7E\x9D\x22\x7F\x49\x68\x22\x7E\x7C\xA0\x78\xFD\x14\xFF\x66\xF9\x76\xCA\x21\xF6\x79\xE3\x68\x33\x76\x5E\xA5\x3C\xF2\x67\xFE\x7E\x1C\x78\x06\xA5\xD8\x7C\xA7\x7D\x19\x67\x55\xA5\x1C\x2E\xA8\x5B\xB1\x36\x2B\xF6\x71\x01\x6D\xD9\x7F\xE7\x7F\xD9\x7F\x90\xDE\x5B\xFC\x50\x2B\xA8\x72\x9F\xEE\x96\x3D\x21\x37\xA1\x4A\x6F\x5D\xFD\x61\xFD\x50\xFC\x60\xA8\x6F\xAC\xA0\x59\xA7\x9F\x79\x6F\x7F\xE1\x4A\x87\xFF\x60\xFE\x74\x91\x77\xF9\x7C\x4F\x79\xB4\xA4\x6D\x97\xD3\x4A\xE8\xFA\x47\xF9\x6A\xEB\x77\x0C\xA0\xCB\x7E\x34\xA0\xCB\x7F\x30\xFF\x54\x73\xA4\xCA\x73\x7F\x92\xAD\xA3\x43\x7A\xBD\x7F\x28\x79\x21\xD5\x57\x95\xB7\x2B\xAE\x05\x6A\xAD\xA6\x5C\xA5\xD2\x1D\x80\x7F\x62\xF2\x4C\x95\x85\xFC\x64\x2D\x7C\x52\x6D\x5C\xA6\xAD\xA4\x37\x79\x6F\xFE\x50\xA4\x70\xFE\x60\x56\xAB\xD9\x7A\x58\xA5\xC7\x7F\x85\xA0\x05\x4B\x8F\x96\x93\xFE\x18\xFD\x78\x0E\xA6\xAA\x7D\x45\xA1\x38\x9A\xDB\x4A\xF5\x5C\x9D\x2B\xB9\xD1\x18\xE8\x7F\x9A\x4D\x33\x6B\x90\xA5\xEE\x2E\xAD\x95\xB2\xEB\x0E\xF7\x6D\xDA\x7E\x13\x6C\xCA\xA4\x91\x97\x76\x2E\xC5\x76\x28\xCA\x70\xFE\x7F\xF3\x5F\x65\xA5\xCD\x97\x98\xA5\x49\x3B\x1F\x82\x9F\xC8\x77\xFE\x73\x33\x6F\xA3\x7F\x65\x73\x03\x07\xF2\x00\x18\x95\x80\xE5\x81\x54\xA9\x10\x06\x6C\x7E\xE4\x7C\xDC\x77\x09\x01\x55\x8D\x26\xCD\x6D\x97\x79\x10\x05\x1E\x03\xBE\x8B\xAB\x97\x6B\x0F\x47\xB4\x28\x4B\x3B\x1C\x06\x14\x03\x5D\x2A\x6C\x29\x33\x91\xC8\x57\x49\xB4\x0E\x59\x9C\x08\xAE\xB4\xA2\xBD\x49\x3B\x61\x21\x2D\xC0\x4C\x5E\x82\x83\x2B\x03\x99\x2A\x2C\x06\xF9\x2B\xD5\xA5\x20\x79\x59\x4B\xE7\x96\x9B\x91\x71\x78\x06\x0F\x00\x99\x87\x73\x75\x84\x00\xF7\x00\x19\xE0\x55\x00\x0E\x9B\x7A\x73\x3B\x6E\xA4\x53\x36\xC0\x00\x69\x4B\xCB\x99\x36\x41\x92\xC7\x20\x6C\x8F\x74\x83\xC5\x29\x20\x32\x71\x4B\xE0\x07\x41\x2E\xAB\x9D\x63\xB8\xA5\x3F\x44\xDE\xA4\x7C\x29\x7B\x4B\x8B\xA6\x06\x17\x97\x98\x27\x9E\x9C\xCA\x48\x4A\x61\x7C\x00\x4F\x4B\xE5\x4C\x89\x0E\x08\xD5\x2A\x18\x03\x71\xA5\xD5\x28\xBB\x01\x95\x16\xF8\x01\x19\xC0\x7B\x07\x0A\x82\x89\x90\xA3\x91\x2D\x54\x2D\x7E\x4B\x97\x97\xB3\x22\x1C\x5C\xA6\xE6\x37\x62\x2B\xB7\x84\x00\x24\xE1\x0A\x95\x66\x84\x4D\x3B\x22\x7A\xA7\x05\x6B\xA7\xA7\x79\xC2\xA5\xC0\x91\x0C\x97\x88\x6B\x23\xC9\x41", +"\xB5\xA1\x1F\x2F\xD4\xA5\xEB\x2B\x5A\x4B\x8A\xF9\x79\x2D\xB7\xD2\x7B\x68\x8F\xC4\x72\xEB\xA4\x55\x69\xB0\x4B\x86\xF0\x57\x4C\x3F\x5A\xAF\x7B\x28\x1E\x2F\x1C\x7F\x76\xA4\x63\x4B\xDA\x15\x25\x2D\xA7\x57\x09\xBB\xA7\x9B\x7F\xEE\xA5\xE3\xA5\xA7\x28\xFC\x0F\x24\x2E\xB4\x23\x75\x5C\x02\x1F\x02\xD0\xA5\x53\xA5\x28\xC1\x7C\x01\x11\x2E\xA8\x93\x99\xA8\x30\x4B\x2D\xB5\x04\xCB\xA5\xA4\x53\x4B\xDC\x55\x2B\x64\x92\x53\xBE\xA5\xF2\x8B\x4D\x70\xEF\xA5\x90\x03\x60\x97\xBE\x4D\x33\x45\x05\xBE\xA1\x76\xA7\xDE\x29\xD3\xA5\x17\x49\x29\x07\x27\xE1\x0E\x4C\xA7\x56\x73\x71\x03\xA8\x59\xD2\x74\x4D\x4B\x95\xB7\x30\x0E\x53\x5E\xA9\xD9\x34\x68\x2B\x8F\x04\xBB\xA5\x02\x73\x32\x97\x87\x6B\x34\x5D\xA3\xAE\x04\x6C\xA7\x19\x01\xDB\xA5\x55\x4B\xE1\x96\xA8\x2D\xB8\x97\x20\x1D\x59\x37\x63\xEF\xA4\x09\x79\xE9\x65\x7C\x97\xAE\x2F\xA4\x9D\x2F\xBF\xA3\xF5\x88\x74\x31\xE1\xA5\x42\xB1\x60\x96\x8D\x2F\xAE\xFD\x95\xC0\xA2\x79\xA6\xB9\x04\xC1\x01\x1B\x4C\xC5\xCB\x4F\x2F\xA7\x8B\x84\xA9\xA0\xEE\x6C\x1B\x72\x9B\x8B\x0A\x73\x6F\xC8\x5C\x2B\x64\x76\x7A\xC2\xA3\x6C\x7C\x54\x9D\x9D\x70\x3F\x0A\x6D\x97\x9F\x25\xAC\x61\xA5\x58\x75\x98\x73\x7C\x79\x19\x7E\x99\xFB\x7F\xC8\x42\x28\xB1\x1A\x72\xC3\xA0\x9A\x80\x61\x72\x43\x72\x94\xF0\x7E\x1B\xA0\x5F\x87\xE2\x76\xBF\x79\x89\x7D\x0B\x7E\x51\x68\xC8\xFB\x13\xAF\x1C\x7D\x6A\xDD\x73\x49\x75\x41\xA6\xD3\x87\x07\xA5\x5F\x5E\x11\x94\xAB\xEA\x7F\xF9\x5D\xC3\xA1\x01\xA0\x0D\xA6\x20\xA6\x47\x17\xB5\x2A\x9A\xF1\x68\xE3\x75\xC4\xA4\x53\x7F\xD1\x86\x31\xA5\x18\x4A\xE6\x2B\x7D\xEE\x60\x1C\x7D\xD4\x35\x8A\xA5\x98\x81\x76\x65\xF0\xE4\x59\x98\x99\xF1\x63\x62\xAB\xC5\x7D\x8B\xA5\xB9\x7D\x2F\xA6\x68\x4A\x9C\x95\xBC\xEF\x63\x8C\x20\xAA\xA2\x4F\x79\xFD\x31\x12\xA5\x17\xBF\x66\x98\xA7\x23\xB7\x62\xAD\x52\x72\x8D\xA6\x10\xA6\x10\x7E\x44\x4C\xB4\x94\x86\x31\xAF\xD6\x77\xA1\xA7\x4D\xA7\x7E\xA0\xD8\x41\x7A\x4C\xBB\x7F\xAB\x94\x69\x63\xA6\xC3\xA5\xAE\x84\x1B\xA6\x2E\xA6\x5E\xE5\x6D\xF6\x47\x80\x69\x7A\x82\xFA\x4A\x45\xA6\xD3\x75\x44\xA6\x14\x0E\x77\xCA\x5A\x95\x7B\xE1\x77\xB2\x7D\x4D\xA4\x18\xA7\xF1\x7D\x15\x0E\x65\xF7\x6A\x4A\x78\x64\xAD\x04\xA2\x23\xA5\x47\x72\x2C\xA6\x8D\x4C\xA7\xE4\x4E\x5D\x93\x89\x67\xA6\xA5\x90\xA7\x6F\x5B\xDB\x2E\x39\x4A\xD9\x92\xA4\x32\xAE\x46\xA5\xBF\xA5\x8F\xA5\x2A\xA6\x2D\xA6\x8F\x4C\xAC\x99\x9E\x32\xB1\x63\xA9\xC4\xA5\x03\x22\xCA\x6E\x20\xA5\xF9\xFA\x6C\xC7\x4E\x31\xB5\xFD\x6F\x3E\x77\xF6\x6C\x01\x7E\xD6\x7D\xBA\xDF\x4A\x94\x86\x04\x08\xE0\x7E\xBC\x63\x96\xA6\x5D\xA5\x5A\xA6\x59\xE5\x4C\xC7\x45\x5A\x87\xE3\x7A\xCB\xA3\x4E\xA5\xCA\x7C\x8A\x8B\x50\x4A\x86\x02\x12\x29\xAD\x66\xA5\xB9\x2A\x93\xA6\x34\xA7\x45\x9B\x5B\x4C\xD5\x99\xB5\x28\xB7\x66\xA9\xFC\x6F\x4A\xA6\x41\x01\x2C\xA5\xA3\x4C\xDD\x99\x89\x95\x6B\x1E\x7B\x55\x71\x97\xA5\xB3\x7C\x6B\xA6\x36\xFC\x14\x14\x18\x71\x3F\x52\xA9\xCE\xA3\xB0\x73\x22\xA7\x1A\xA6\xD4\xE4\x37\x98\x9F\x5D\x8D\x63\xA2\xC8\xA6\x8B\xA7\x81\xA5\xA1\x72\x62\xFC\x2A\xDE\x4E\x33\xB4\x5F\xAF\xC3\xA6\x96\xA5\x3E\xA6\x47\xA6\x80\x4C\xFC\x99\xB0\xCD\x63\xDD\x7D\x41\x72\x87\x70\x99\xA4\x31\x9C\xF0\xBE\x03\x9A\xB0\x91\x68\x63\xA8\xCF\xA4\xA7\x72\x3E\xA6\xE8\x8B\xEF\x4C\xE3\x99\xB1\x33\xAF\x67\x47\xDB\x2E\x7A\x22\x04\xA7\x15\xA5\x02\x01\x12\x9A\xAB\x30\xA6\x65\xA8\x55\x76\x9C\x56\x16\x9D\x88\xA6\xEA\x4C\xD0\x99\xAC\x33\xBC\x64\xAC\xC0\x7D\x95\xA7\x17\x7E\x3D\xA5\x71\x4A\xD4\x98\xA9\x34\xA5\x68\xA1\xCD\xA5\x9D\xA5\x42\xA6\x48\xA6\x5B\x4A\xAE\x94\xB5\xEC\x7D\x4F\xA8\x12\x61\x17\xA0\xEF\x78\x40\x2E\x98\xFE\x45\x8A\x4B\x7C\x67\xCA\x9C\xFE\x71\xE5\x58\xC4\x6F\xC6\xA5\x3A\xF6\x1E\x9A\x8C\x10\x96\x05\xA3\x00\x07\xA8\xA4\x52\xA6\x55\x7B\xA2\x4C\xDA\x07\x76\x02\xA8\x88\x70\xCE\x80\x4A\x7C\x97\x85\x66\x6A\x54\x4D\xC6\x15\x8A\xF7\x61\xEF\x7D\x36\x94\x03\x06\xA2\xA5\x31\xA4\xB1\x17\xDB\x9A\xA2\x7E\x42\x04\x7E\xD4\xA7\xA9\xA6\x69\x7C\xFA\x71\x74\xE4\x12\xF8\x43\x2A\xA5\x6A\xA6\x53\x05\xAC\xA5\x72\x74\xAB\xA6\xF1\x10\xA6\x3E\x5A\x5E\x93\x4D\x54\xA7\x7B\x23\xA1\x57\xA7\xC6\x3D\x5F\x4D\xBA\x8C\xAA\x17\x55\x6B\xAB\x73\x36\x7B\x32\x5B\xA6\xB3\xA6\x6A\xED\x70\xF6\x54\x4A\x7A\x40\x87\xB7\x7F\x04\x73\xE2\x7D\x48\x03\x7A\xFB\x08\x9B\x9E\x5D\x9D\xDB\x77\x83\x07\x6F\x7C\x0C\x71\x2A\x8B\x1A\x08\xBE\xC0\x47\x62\x34\xF2\x1B\x86\x29\x72\x7D", +"\xE3\x7C\xCC\x68\x8B\x4D\x8E\xF7\x4D\x6B\x7D\x0D\x3F\xD7\xA7\x17\x6C\x5C\xA7\x81\x00\x8B\xFA\x1E\xB1\x5E\x3D\x9A\x6A\xA7\x73\x21\xEC\x84\x6D\x7E\x42\x7D\x79\x4D\xD1\x90\x96\xE7\x6B\x7B\x8D\xA8\xA6\xE9\x6D\x55\xA6\xA8\x7D\x57\x4D\xE1\xE6\x4B\xC3\x67\x64\x83\xB8\x7F\x45\x2D\x80\xA4\x83\x00\x03\x4A\xD5\x78\x9C\x7F\x33\x6D\xAD\xD0\x71\x69\x7E\x0A\x7E\x37\xA6\x0C\x4D\xF0\x98\xAE\x32\xB2\x63\xAE\xA9\xA4\x8E\xA4\x83\xA4\x64\xA6\x66\xE3\x0E\x94\xB4\xCB\x71\x0D\x0A\xAA\x79\x21\x03\x26\x72\xE1\x7E\xBC\x4D\xDA\x13\xBE\x36\xBC\xE1\x70\xCF\xA0\x45\xA4\xAD\x7D\xB9\xA2\x89\xDF\x70\x7D\x51\x37\xB8\x45\xA1\xB6\x79\xA3\xA7\x20\xA6\x3A\xA5\x08\x4A\xB7\xC2\x73\x31\xA4\x11\x25\xC7\xA7\x59\x7B\xEB\x03\x51\xA5\xD0\x4D\xB8\xC0\x53\x37\xBD\x64\xA5\xDD\xA6\x4D\xA7\x0F\x7E\xAF\xA4\x8B\x0A\xDE\xC0\x79\xEA\x75\x6D\xAD\x55\x73\xA1\xA5\xEE\x7D\x86\xA6\x93\x4C\xE1\x98\x88\x02\x56\x64\xAE\x8C\x98\xEF\x8A\xAB\x7C\xBF\x8B\x4A\xFB\x71\xF5\x6D\x28\xBF\xD8\x7E\xCA\xA6\xF1\x6D\xF1\x71\x75\x66\xDB\x4D\xEE\x2E\x9A\xEA\x60\x7A\x8F\xC6\xA7\x9F\xA7\x5F\x73\xCE\x6F\x9B\xFB\x4A\x79\xB0\x9A\x29\x70\xAF\x0B\x6E\x6B\x7C\x70\xA7\xFB\xA6\xC2\x4D\x9F\x94\xA2\x37\xA5\x6E\xA4\x22\x21\x48\xA7\x90\xA5\xE8\x92\x45\x4A\x80\x90\x07\x29\xB1\x62\xA9\xA4\xA3\x7E\x73\xC0\x7C\x04\xA7\xEA\x4D\xF4\x9B\xAD\x34\xBB\x65\xAE\xCA\xA1\x80\x71\x94\xA5\x61\x6A\x14\x4E\xAD\x75\x96\x38\xBD\x67\xAD\xE0\xA7\x88\xA5\x39\xA6\x8B\x7D\x58\x4A\xB0\x9C\xA9\x38\xAA\xDB\x71\xE0\xA4\x45\xA7\xF1\x6F\x2A\xA5\x66\xE0\x44\xCA\x43\x04\x06\x2A\x79\xDE\xA2\x5C\x7C\xEA\x6F\x9C\xA6\x04\x4E\x9F\xC8\x41\x34\xB1\x6F\xAE\xDF\xA3\xBE\xA4\x8F\xA7\xDF\xA6\x91\x4C\xD6\x99\x8E\x34\xA3\x2B\x70\xC3\x78\xC5\xA6\x91\xA7\x05\xA7\x17\x4E\xC5\xF7\x7A\x34\xB6\x52\xAD\xE0\x02\xB0\xA7\xC5\x5F\x18\xA7\x75\x3E\x81\x30\xB5\xED\x64\x6C\xA7\xBB\x4A\x2F\x6B\x61\xA6\x5E\x77\x35\xB7\x1A\x9B\x9F\x5F\x90\xDC\x77\x87\x2F\x05\x71\x42\x00\xC2\x68\x5F\x4E\xBB\x9C\xB4\xED\x64\x5F\x01\xD9\xA0\x71\x7F\x0F\x70\xCA\xA6\x89\x52\x18\x9B\xA9\x39\xBA\x73\xAB\xE6\xA2\xD4\x75\xE4\x7C\x35\xA5\x4D\xE4\x56\x9C\x85\xEC\x78\xD6\x7B\xB6\x7A\x66\x7C\xF5\x7D\x24\xA7\x6C\xFC\x30\x9A\x8E\x2A\xBA\x71\xA7\xE5\xA7\x67\x7E\x80\xA7\x1F\xA7\x5C\x4A\x8F\x9C\xBC\x34\xBB\x64\x0D\xD9\xA0\xB0\xA5\x02\x94\x1E\x07\x1D\xFC\x72\x72\x95\x2A\xA0\x10\x05\xE9\xA4\x58\x7A\x0E\xA6\xDC\xA6\xDC\xD1\x3D\x99\x9E\x01\x2A\xDE\x75\x3B\x1F\xC3\xA7\x10\x95\x53\x7D\x71\xFF\x29\xF5\x45\xF0\x72\x50\xA4\xAA\xA5\xC1\x05\x2C\xA6\x6E\xA0\xA2\x4E\x93\x8D\x4B\x31\xA3\x8B\x2E\xE1\xA3\x98\xA6\xFB\x70\x14\x81\x46\x4A\xC7\x99\xB0\xEE\x75\x1D\x0A\xF2\x9A\xC7\x41\xA7\xA6\x41\x75\x87\x86\x27\x02\x0F\x30\xA7\xC7\x98\x22\x06\x82\xA7\xA1\x30\x01\xA6\x23\x59\x04\x98\x91\x2B\x0C\x1C\x05\x7D\x29\x5D\x29\x02\xA7\x10\xA6\x37\xEB\x23\x98\x82\xA9\x7F\x62\x46\x55\x53\xD8\xA6\xD3\x74\x00\xA6\xFD\x4B\x97\x97\x84\x2F\xBF\x2A\x22\xED\xA2\x6C\xA7\x91\x2C\xB3\xA5\xCB\x4C\x58\x96\x8C\x30\xAD\x6D\xAB\x3E\x07\xD7\xA6\xA5\xA7\x03\x8D\x15\x42\x18\x00\x10\x7C\x63\x18\x32\xFA\x6C\x9C\x2A\xAB\x2D\x63\x05\xFD\x58\x37\xBB\x34\x0F\x2A\x77\xA6\xA8\x74\x0B\x7C\x39\x2B\x93\x41\xE0\x53\x7D\xB1\x29\x5A\x87\x31\x79\x01\x03\xDD\xA7\x6F\x9D\x3E\xA0\x18\x85\x7A\x9D\xA3\xED\x65\x2E\x02\xD2\xA1\x52\xA7\xA6\xA6\x8B\xA6\x40\x08\x9F\x9B\x82\x04\x01\x6D\xA3\xA3\xA7\x9B\xA4\x98\x9B\x79\x72\x14\xDF\x37\x9B\x97\x7C\x6B\xF5\x9D\xD4\x36\xE1\xA4\x25\x8A\x6A\xA6\xDE\x4D\xFE\x99\xB6\x38\xA8\x8B\x64\xDC\xA1\x44\xA5\xD7\x6F\xE3\xA6\xBB\x4E\x9D\x02\x2E\xEE\x6B\x6E\xA1\x42\x05\xB9\xA4\xCD\x6F\x61\x6A\x16\x4F\xE4\x87\xA1\x33\xB9\x78\xA5\xE3\xA4\x90\xA7\x17\x7E\x31\xA6\xD8\x4D\xB6\xF5\x7F\xFC\x49\x79\xAC\x24\xA3\x95\xA4\xCB\xA7\xE0\xA6\x0E\x4E\xE6\xC0\x5D\x3C\xBF\x51\xAF\xF1\xA2\xEF\x1C\x89\xA5\x93\x00\x97\xE3\x1F\xE5\x74\x3C\xB1\xDE\x74\xDD\xA2\xA3\xA6\x75\xA6\x44\x40\x57\x3A\xC6\xF6\x43\x3D\xAB\x6C\xA0\xE5\xA6\xBE\xA6\x96\xA6\xBA\x79\x07\xFB\x21\xE7\x7B\x37\xBD\x26\x72\xDC\x7B\xE9\xA7\xF3\x8A\x28\xA7\x48\x4E\xBA\xF7\x6D\xBB\x70\x51\xA3\x10\x02\x46\xA4\xB1\xA7\x83\xA6\xAA\x4C\x98\x9E\x92\xEC\x6D\x6F\xAF\xC9\xA7\x95\xA4\xB1\x2D\x57\xA7\xDE\x3C\xC1\x98\x93\x33\xA7\x26\x7B\xE2\xA4\xEC\xA4\x2F\xA6\x1F\xA5\xAE\x41\x0C\xCA\x4B\xD5\x06\x75\xA2\xA8\x99\xC4\xA7\x45\x25\x11\xA7", +"\xC3\x5E\x01\xF6\x66\x38\xAB\x52\xAB\xCE\x66\xEA\xA5\x9F\xA7\x7D\xA6\x38\x4D\xAE\x9A\xA5\xF0\x64\xC9\x2A\xD6\xA2\xE9\xA6\x4D\xA6\x1C\xA6\xFC\x4C\xD9\x9E\x9E\x28\xA3\x7C\xA6\x95\x29\xD3\xA6\xE1\xA6\x96\xA6\x34\xFC\x2C\x9C\x9F\x90\x73\x67\xA2\xA8\xA5\xEF\xA7\xE1\xA6\xC0\xA7\xE2\x4C\xDF\x9B\xA4\x33\xA0\x68\xA5\xB6\x78\xE5\xA7\xE5\xA6\x8C\xA6\x03\xE0\x21\xE6\x5A\x93\x79\x6F\xAB\xFD\x6C\xCA\xA5\x99\xA4\xCB\xA7\x90\x4F\x81\x99\x8A\x3E\xB9\x70\xAB\xF5\xA3\x89\x71\x12\x70\xCF\xA7\xA9\x4F\x89\x9F\x82\x3E\xA3\xDA\x7A\xE8\xA6\x20\x03\x6B\x69\xC7\xA7\xD9\xF2\x58\x9E\xB3\x3E\xB5\x53\xA3\xD6\xA3\x2A\x6B\xB9\xA7\x92\xA5\x4B\x0E\x8F\x83\x6C\xED\x72\x72\xA4\xFA\xA4\x86\x6B\xA8\x7F\x25\xA7\x71\x34\xCE\x9E\x87\x3A\xA3\x7D\xA3\x32\x7C\x92\xA7\xEF\xA7\xE7\xA7\xD0\x4F\xD1\x9F\x92\x3F\xB3\x7E\xA4\xFD\xA5\xFA\xA6\xF5\xA7\xEB\xA7\xD8\x4F\xD9\x9F\x9A\x3F\xBB\x7E\xAC\xFD\xA5\xFB\xA6\xF7\xA7\xEF\xA7\xE0\x4F\x9C\x2B\x40", }; void WfGetParserBuffer(vl::stream::MemoryStream& stream) diff --git a/Tools/CppMerge.exe b/Tools/CppMerge.exe index 47eb2544..ab9fc9fc 100644 Binary files a/Tools/CppMerge.exe and b/Tools/CppMerge.exe differ diff --git a/Tools/Deploy.bat b/Tools/Deploy.bat deleted file mode 100644 index 020b1321..00000000 --- a/Tools/Deploy.bat +++ /dev/null @@ -1,10 +0,0 @@ -pushd %~dp0 -copy ..\..\Tools\Tools\ParserGen.exe . -copy ..\..\Tools\Tools\GacGen32.exe . -copy ..\..\Tools\Tools\GacGen64.exe . -copy ..\..\Tools\Tools\CppMerge.exe . -copy ..\..\Tools\Tools\RunAndLock.bat . -copy ..\..\Tools\Tools\WaitForLock.bat . -copy ..\..\Tools\Tools\GacGen.bat . -copy ..\..\Tools\Tools\GacMerge.bat . -popd \ No newline at end of file diff --git a/Tools/GacGen.bat b/Tools/GacGen.bat deleted file mode 100644 index 7e61265e..00000000 --- a/Tools/GacGen.bat +++ /dev/null @@ -1,16 +0,0 @@ -del *.wait.tmp -start %~dp0RunAndLock %RANDOM% "%~dp0GacGen32.exe /P %1" -start %~dp0RunAndLock %RANDOM% "%~dp0GacGen64.exe /P %1" -call %~dp0WaitForLock - -@if exist %1.log\x32\Error.txt ( - @echo "Error occurs: %1.log\x32\Error.txt" - @exit -) - -@if exist %1.log\x64\Error.txt ( - @echo "Error occurs: %1.log\x64\Error.txt" - @exit -) - -call %~dp0GacMerge %1 \ No newline at end of file diff --git a/Tools/GacGen.ps1 b/Tools/GacGen.ps1 new file mode 100644 index 00000000..a206df39 --- /dev/null +++ b/Tools/GacGen.ps1 @@ -0,0 +1,27 @@ +param ( + [String]$FileName +) +Write-Host "Compiling GacUI Resource: $FileName ..." +$gacgen_32 = Start-Process "$PSScriptRoot\GacGen32.exe" -ArgumentList "/P $FileName" -PassThru +$gacgen_64 = Start-Process "$PSScriptRoot\GacGen64.exe" -ArgumentList "/P $FileName" -PassThru +$gacgen_32.WaitForExit() +$gacgen_64.WaitForExit() + +if (Test-Path -Path "$($FileName).log\x32\Error.txt") { + throw "Failed to compile GacUI Resource (x86): $FileName" +} +if (Test-Path -Path "$($FileName).log\x64\Error.txt") { + throw "Failed to compile GacUI Resource (x64): $FileName" +} + +$output_folder = Get-Content "$($FileName).log\x32\CppOutput.txt" +$x32_folder = "$($FileName).log\x32\Source" +$x64_folder = "$($FileName).log\x64\Source" +if (!(Test-Path -Path $output_folder)) { + New-Item $output_folder -ItemType directory | Out-Null +} +Get-ChildItem -Path $output_folder -ErrorAction SilentlyContinue | %{ + Write-Host " Merging C++ Source File: $($_.Name) ..." + $cppmerge = Start-Process "$PSScriptRoot\CppMerge.exe" -ArgumentList "/P `"$x32_folder\$($_.Name)`" `"$x64_folder\$($_.Name)`" `"$output_folder\$($_.Name)`"" -PassThru + $cppmerge.WaitForExit(); +} \ No newline at end of file diff --git a/Tools/GacGen32.exe b/Tools/GacGen32.exe index 22ee60c4..a0037851 100644 Binary files a/Tools/GacGen32.exe and b/Tools/GacGen32.exe differ diff --git a/Tools/GacGen64.exe b/Tools/GacGen64.exe index c826d1b4..1b7b5856 100644 Binary files a/Tools/GacGen64.exe and b/Tools/GacGen64.exe differ diff --git a/Tools/GacMerge.bat b/Tools/GacMerge.bat deleted file mode 100644 index bbb6e8eb..00000000 --- a/Tools/GacMerge.bat +++ /dev/null @@ -1,8 +0,0 @@ -@set /P CppOutput=< %1.log\x32\CppOutput.txt -@for %%i in (%1.log\x32\Source\*.*) do @( - echo Processing %%~nxi ... - %~dp0CppMerge.exe %1.log\x32\Source\%%~nxi %1.log\x64\Source\%%~nxi %CppOutput%\%%~nxi -) -@if exist %1.log\x32\Deploy.bat @ ( - call %1.log\x32\Deploy.bat -) \ No newline at end of file diff --git a/Tools/ParserGen.exe b/Tools/ParserGen.exe deleted file mode 100644 index d02d0e55..00000000 Binary files a/Tools/ParserGen.exe and /dev/null differ diff --git a/Tools/RunAndLock.bat b/Tools/RunAndLock.bat deleted file mode 100644 index c6737fdd..00000000 --- a/Tools/RunAndLock.bat +++ /dev/null @@ -1,4 +0,0 @@ -echo > %1.wait.tmp -call %~2 -del %1.wait.tmp -exit \ No newline at end of file diff --git a/Tools/WaitForLock.bat b/Tools/WaitForLock.bat deleted file mode 100644 index 88b47c9d..00000000 --- a/Tools/WaitForLock.bat +++ /dev/null @@ -1,6 +0,0 @@ -@timeout 1 > nul -:wait_for_lock -@if not exist *.wait.tmp goto :finish_lock - @timeout 1 > nul -@goto wait_for_lock -:finish_lock \ No newline at end of file diff --git a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Codegen.bat b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Codegen.bat deleted file mode 100644 index fc276fb0..00000000 --- a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Codegen.bat +++ /dev/null @@ -1,6 +0,0 @@ -pushd %~dp0 -rmdir /S /Q FullControlTest -robocopy ..\..\..\..\..\GacUI\Test\GacUISrc\Host\Resources\FullControlTest FullControlTest /E -mkdir FullControlTest\Source -call ..\..\..\..\Tools\GacGen FullControlTest\Resource.xml -popd \ No newline at end of file diff --git a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/RepeatTabPage.xml b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/RepeatTabPage.xml index 11bcca9a..db9471af 100644 --- a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/RepeatTabPage.xml +++ b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/RepeatTabPage.xml @@ -85,22 +85,28 @@ - - Vertical - 5 - left:5 top:5 right:5 bottom:5 - demo::RepeatItemTemplate - self.itemsToBind - + + + + Vertical + 5 + left:5 top:5 right:5 bottom:5 + demo::RepeatItemTemplate + self.itemsToBind + + - - 5 - 5 - left:5 top:5 right:5 bottom:5 - demo::RepeatItemTemplate - self.itemsToBind - + + + + 5 + 5 + left:5 top:5 right:5 bottom:5 + demo::RepeatItemTemplate + self.itemsToBind + + diff --git a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/Demo.h b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/Demo.h deleted file mode 100644 index 3cd0ec2e..00000000 --- a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/Demo.h +++ /dev/null @@ -1,16 +0,0 @@ -/*********************************************************************** -!!!!!! DO NOT MODIFY !!!!!! - -GacGen.exe Resource.xml - -This file is generated by Workflow compiler -https://github.com/vczh-libraries -***********************************************************************/ - -#ifndef VCZH_WORKFLOW_COMPILER_GENERATED_DEMO -#define VCZH_WORKFLOW_COMPILER_GENERATED_DEMO - -#include "DemoPartialClasses.h" -#include "MainWindow.h" - -#endif diff --git a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/DemoPartialClasses.cpp b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/DemoPartialClasses.cpp deleted file mode 100644 index 695b8d4c..00000000 --- a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/DemoPartialClasses.cpp +++ /dev/null @@ -1,10432 +0,0 @@ -/*********************************************************************** -!!!!!! DO NOT MODIFY !!!!!! - -GacGen.exe Resource.xml - -This file is generated by Workflow compiler -https://github.com/vczh-libraries -***********************************************************************/ - -#include "Demo.h" -/* CodePack:BeginIgnore() */ -#ifndef VCZH_DEBUG_NO_REFLECTION -/* CodePack:ConditionOff(VCZH_DEBUG_NO_REFLECTION, DemoReflection.h) */ -#include "DemoReflection.h" -#endif -/* CodePack:EndIgnore() */ - -#if defined( _MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#elif defined(__GNUC__) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wparentheses-equality" -#elif defined(__clang__) -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wparentheses-equality" -#endif - -#define GLOBAL_SYMBOL ::vl_workflow_global::Demo:: -#define GLOBAL_NAME ::vl_workflow_global::Demo::Instance(). -#define GLOBAL_OBJ &::vl_workflow_global::Demo::Instance() -#define USERIMPL(...) - -/*********************************************************************** -Global Variables -***********************************************************************/ - -BEGIN_GLOBAL_STORAGE_CLASS(vl_workflow_global_Demo) - vl_workflow_global::Demo instance; - INITIALIZE_GLOBAL_STORAGE_CLASS - FINALIZE_GLOBAL_STORAGE_CLASS -END_GLOBAL_STORAGE_CLASS(vl_workflow_global_Demo) - -namespace vl_workflow_global -{ -/*********************************************************************** -Global Functions -***********************************************************************/ - - void Demo::LoadListView(::vl::presentation::controls::GuiInstanceRootObject* root, const ::vl::Func)>& callback) - { - { - auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem()); - ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"Task", false)); - ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/Task", false), true).Obj()))); - ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/Task", false), true).Obj()))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"005", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"005_Task_16x16_72.png", false))); - callback(item); - } - { - auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem()); - ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"Reminder", false)); - ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/Reminder", false), true).Obj()))); - ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/Reminder", false), true).Obj()))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"008", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"008_Reminder_16x16_72.png", false))); - callback(item); - } - { - auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem()); - ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"Tip", false)); - ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/Tip", false), true).Obj()))); - ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/Tip", false), true).Obj()))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"023", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"023_Tip_16x16_72.png", false))); - callback(item); - } - { - auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem()); - ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"ArrowCurve_Blue_Left", false)); - ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/ArrowCurve_Blue_Left", false), true).Obj()))); - ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/ArrowCurve_Blue_Left", false), true).Obj()))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112_ArrowCurve_Blue_Left_16x16_72.png", false))); - callback(item); - } - { - auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem()); - ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"ArrowCurve_Blue_Right", false)); - ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/ArrowCurve_Blue_Right", false), true).Obj()))); - ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/ArrowCurve_Blue_Right", false), true).Obj()))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112_ArrowCurve_Blue_Right_16x16_72.png", false))); - callback(item); - } - { - auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem()); - ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"DownArrowLong_Blue", false)); - ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/DownArrowLong_Blue", false), true).Obj()))); - ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/DownArrowLong_Blue", false), true).Obj()))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112_DownArrowLong_Blue_16x16_72.png", false))); - callback(item); - } - { - auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem()); - ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"DownArrowLong_Green", false)); - ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/DownArrowLong_Green", false), true).Obj()))); - ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/DownArrowLong_Green", false), true).Obj()))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112_DownArrowLong_Green_16x16_72.png", false))); - callback(item); - } - { - auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem()); - ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"DownArrowLong_Grey", false)); - ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/DownArrowLong_Grey", false), true).Obj()))); - ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/DownArrowLong_Grey", false), true).Obj()))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112_DownArrowLong_Grey_16x16_72.png", false))); - callback(item); - } - { - auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem()); - ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"DownArrowLong_Orange", false)); - ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/DownArrowLong_Orange", false), true).Obj()))); - ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/DownArrowLong_Orange", false), true).Obj()))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112_DownArrowLong_Orange_16x16_72.png", false))); - callback(item); - } - { - auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem()); - ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"LeftArrowLong_Blue", false)); - ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/LeftArrowLong_Blue", false), true).Obj()))); - ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/LeftArrowLong_Blue", false), true).Obj()))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112_LeftArrowLong_Blue_16x16_72.png", false))); - callback(item); - } - { - auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem()); - ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"LeftArrowLong_Green", false)); - ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/LeftArrowLong_Green", false), true).Obj()))); - ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/LeftArrowLong_Green", false), true).Obj()))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112_LeftArrowLong_Green_16x16_72.png", false))); - callback(item); - } - { - auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem()); - ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"LeftArrowLong_Grey", false)); - ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/LeftArrowLong_Grey", false), true).Obj()))); - ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/LeftArrowLong_Grey", false), true).Obj()))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112_LeftArrowLong_Grey_16x16_72.png", false))); - callback(item); - } - { - auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem()); - ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"LeftArrowLong_Orange", false)); - ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/LeftArrowLong_Orange", false), true).Obj()))); - ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/LeftArrowLong_Orange", false), true).Obj()))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112_LeftArrowLong_Orange_16x16_72.png", false))); - callback(item); - } - { - auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem()); - ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"Minus_Blue", false)); - ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/Minus_Blue", false), true).Obj()))); - ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/Minus_Blue", false), true).Obj()))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112_Minus_Blue_16x16_72.png", false))); - callback(item); - } - { - auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem()); - ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"Minus_Green", false)); - ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/Minus_Green", false), true).Obj()))); - ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/Minus_Green", false), true).Obj()))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112_Minus_Green_16x16_72.png", false))); - callback(item); - } - { - auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem()); - ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"Minus_Grey", false)); - ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/Minus_Grey", false), true).Obj()))); - ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/Minus_Grey", false), true).Obj()))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112_Minus_Grey_16x16_72.png", false))); - callback(item); - } - { - auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem()); - ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"Minus_Orange", false)); - ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/Minus_Orange", false), true).Obj()))); - ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/Minus_Orange", false), true).Obj()))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112_Minus_Orange_16x16_72.png", false))); - callback(item); - } - { - auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem()); - ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"Plus_Blue", false)); - ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/Plus_Blue", false), true).Obj()))); - ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/Plus_Blue", false), true).Obj()))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112_Plus_Blue_16x16_72.png", false))); - callback(item); - } - { - auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem()); - ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"Plus_Green", false)); - ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/Plus_Green", false), true).Obj()))); - ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/Plus_Green", false), true).Obj()))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112_Plus_Green_16x16_72.png", false))); - callback(item); - } - { - auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem()); - ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"Plus_Grey", false)); - ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/Plus_Grey", false), true).Obj()))); - ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/Plus_Grey", false), true).Obj()))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112_Plus_Grey_16x16_72.png", false))); - callback(item); - } - { - auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem()); - ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"Plus_Orange", false)); - ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/Plus_Orange", false), true).Obj()))); - ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/Plus_Orange", false), true).Obj()))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112_Plus_Orange_16x16_72.png", false))); - callback(item); - } - { - auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem()); - ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"RightArrowLong_Blue", false)); - ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/RightArrowLong_Blue", false), true).Obj()))); - ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/RightArrowLong_Blue", false), true).Obj()))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112_RightArrowLong_Blue_16x16_72.png", false))); - callback(item); - } - { - auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem()); - ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"RightArrowLong_Green", false)); - ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/RightArrowLong_Green", false), true).Obj()))); - ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/RightArrowLong_Green", false), true).Obj()))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112_RightArrowLong_Green_16x16_72.png", false))); - callback(item); - } - { - auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem()); - ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"RightArrowLong_Grey", false)); - ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/RightArrowLong_Grey", false), true).Obj()))); - ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/RightArrowLong_Grey", false), true).Obj()))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112_RightArrowLong_Grey_16x16_72.png", false))); - callback(item); - } - { - auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem()); - ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"RightArrowLong_Orange", false)); - ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/RightArrowLong_Orange", false), true).Obj()))); - ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/RightArrowLong_Orange", false), true).Obj()))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112_RightArrowLong_Orange_16x16_72.png", false))); - callback(item); - } - { - auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem()); - ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"UpArrowLong_Blue", false)); - ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/UpArrowLong_Blue", false), true).Obj()))); - ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/UpArrowLong_Blue", false), true).Obj()))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112_UpArrowLong_Blue_16x16_72.png", false))); - callback(item); - } - { - auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem()); - ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"UpArrowLong_Green", false)); - ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/UpArrowLong_Green", false), true).Obj()))); - ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/UpArrowLong_Green", false), true).Obj()))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112_UpArrowLong_Green_16x16_72.png", false))); - callback(item); - } - { - auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem()); - ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"UpArrowLong_Grey", false)); - ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/UpArrowLong_Grey", false), true).Obj()))); - ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/UpArrowLong_Grey", false), true).Obj()))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112_UpArrowLong_Grey_16x16_72.png", false))); - callback(item); - } - { - auto item = ::vl::Ptr<::vl::presentation::controls::list::ListViewItem>(new ::vl::presentation::controls::list::ListViewItem()); - ::vl::__vwsn::This(item.Obj())->SetText(::vl::WString(L"UpArrowLong_Orange", false)); - ::vl::__vwsn::This(item.Obj())->SetLargeImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/UpArrowLong_Orange", false), true).Obj()))); - ::vl::__vwsn::This(item.Obj())->SetSmallImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(root)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/UpArrowLong_Orange", false), true).Obj()))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"16x16", false))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(item.Obj())->GetSubItems()).Obj())->Add(::vl::__vwsn::Box(::vl::WString(L"112_UpArrowLong_Orange_16x16_72.png", false))); - callback(item); - } - } - - ::vl::WString Demo::ToString(::demo::MyCategory value) - { - { - auto __vwsn_switch_0 = value; - if ((__vwsn_switch_0 == ::demo::MyCategory::Black)) - { - return ::vl::WString(L"Black", false); - } - else if ((__vwsn_switch_0 == ::demo::MyCategory::Red)) - { - return ::vl::WString(L"Red", false); - } - else if ((__vwsn_switch_0 == ::demo::MyCategory::Lime)) - { - return ::vl::WString(L"Lime", false); - } - else if ((__vwsn_switch_0 == ::demo::MyCategory::Blue)) - { - return ::vl::WString(L"Blue", false); - } - else if ((__vwsn_switch_0 == ::demo::MyCategory::White)) - { - return ::vl::WString(L"White", false); - } - } - return ::vl::WString(L"", false); - } - - ::vl::presentation::Color Demo::ToColor(::demo::MyCategory value) - { - { - auto __vwsn_switch_1 = value; - if ((__vwsn_switch_1 == ::demo::MyCategory::Red)) - { - return ::vl::__vwsn::Parse<::vl::presentation::Color>(::vl::WString(L"#FF0000", false)); - } - else if ((__vwsn_switch_1 == ::demo::MyCategory::Lime)) - { - return ::vl::__vwsn::Parse<::vl::presentation::Color>(::vl::WString(L"#00FF00", false)); - } - else if ((__vwsn_switch_1 == ::demo::MyCategory::Blue)) - { - return ::vl::__vwsn::Parse<::vl::presentation::Color>(::vl::WString(L"#0000FF", false)); - } - else if ((__vwsn_switch_1 == ::demo::MyCategory::White)) - { - return ::vl::__vwsn::Parse<::vl::presentation::Color>(::vl::WString(L"#FFFFFF", false)); - } - } - return ::vl::__vwsn::Parse<::vl::presentation::Color>(::vl::WString(L"#000000", false)); - } - - ::vl::WString Demo::ToString(::demo::MyGender value) - { - { - auto __vwsn_switch_2 = value; - if ((__vwsn_switch_2 == ::demo::MyGender::Male)) - { - return ::vl::WString(L"Male", false); - } - else if ((__vwsn_switch_2 == ::demo::MyGender::Female)) - { - return ::vl::WString(L"Female", false); - } - } - return ::vl::WString(L"", false); - } - - ::vl::WString Demo::ToString(::vl::DateTime value) - { - return (((((::vl::WString(L"", false) + ::vl::__vwsn::ToString(value.month)) + ::vl::WString(L"/", false)) + ::vl::__vwsn::ToString(value.day)) + ::vl::WString(L"/", false)) + ::vl::__vwsn::ToString(value.year)); - } - - ::vl::presentation::FontProperties Demo::ChangeFontSize(::vl::presentation::FontProperties oldFont, ::vl::vint deltaSize) - { - return [&](){ ::vl::presentation::FontProperties __vwsn_temp__; __vwsn_temp__.fontFamily = oldFont.fontFamily; __vwsn_temp__.size = (oldFont.size + deltaSize); __vwsn_temp__.antialias = true; return __vwsn_temp__; }(); - } - - Demo& Demo::Instance() - { - return Getvl_workflow_global_Demo().instance; - } - -/*********************************************************************** -Closures -***********************************************************************/ - - //------------------------------------------------------------------- - - __vwsnf100_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__::__vwsnf100_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__(::demo::TextListTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - bool __vwsnf100_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_item_, bool __vwsn_value_, bool __vwsn_update_) const - { - auto item = ::vl::__vwsn::Unbox<::vl::Ptr<::demo::MyTextItem>>(__vwsn_item_); - if (__vwsn_update_) - { - ::vl::__vwsn::This(item.Obj())->SetChecked(__vwsn_value_); - return false; - } - else - { - return ::vl::__vwsn::This(item.Obj())->GetChecked(); - } - } - - //------------------------------------------------------------------- - - __vwsnf101_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__::__vwsnf101_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__(::demo::TextListTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - ::vl::WString __vwsnf101_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_item_) const - { - auto item = ::vl::__vwsn::Unbox<::vl::Ptr<::demo::MyTextItem>>(__vwsn_item_); - return ::vl::__vwsn::This(item.Obj())->GetName(); - } - - //------------------------------------------------------------------- - - __vwsnf102_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__::__vwsnf102_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__(::demo::TextListTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf102_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const - { - { - auto __vwsn_switch_5 = ::vl::__vwsn::This(__vwsnthis_0->comboView)->GetSelectedIndex(); - if ((__vwsn_switch_5 == static_cast<::vl::vint>(0))) - { - ::vl::__vwsn::This(__vwsnthis_0->textList)->SetView(::vl::presentation::controls::TextListView::Text); - ::vl::__vwsn::This(__vwsnthis_0->bindableTextList)->SetView(::vl::presentation::controls::TextListView::Text); - } - else if ((__vwsn_switch_5 == static_cast<::vl::vint>(1))) - { - ::vl::__vwsn::This(__vwsnthis_0->textList)->SetView(::vl::presentation::controls::TextListView::Check); - ::vl::__vwsn::This(__vwsnthis_0->bindableTextList)->SetView(::vl::presentation::controls::TextListView::Check); - } - else if ((__vwsn_switch_5 == static_cast<::vl::vint>(2))) - { - ::vl::__vwsn::This(__vwsnthis_0->textList)->SetView(::vl::presentation::controls::TextListView::Radio); - ::vl::__vwsn::This(__vwsnthis_0->bindableTextList)->SetView(::vl::presentation::controls::TextListView::Radio); - } - } - } - - //------------------------------------------------------------------- - - __vwsnf103_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__::__vwsnf103_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__(::demo::TextListTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf103_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const - { - { - auto __vwsn_for_begin_i = static_cast<::vl::vint>(0); - auto __vwsn_for_end_i = static_cast<::vl::vint>(9); - auto i = __vwsn_for_begin_i; - while ((i <= __vwsn_for_end_i)) - { - { - auto textItem = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(new ::vl::presentation::controls::list::TextItem(::vl::__vwsn::ToString((::vl::__vwsn::This(__vwsnthis_0->self)->counter + i)))); - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->textList)->GetItems()).Obj())->Add(::vl::__vwsn::Box(textItem)); - } - (i = (i + static_cast<::vl::vint>(1))); - } - } - { - auto __vwsn_for_begin_i = static_cast<::vl::vint>(0); - auto __vwsn_for_end_i = static_cast<::vl::vint>(9); - auto i = __vwsn_for_begin_i; - while ((i <= __vwsn_for_end_i)) - { - { - auto textItem = ::vl::Ptr<::demo::MyTextItem>(new ::demo::MyTextItem()); - ::vl::__vwsn::This(textItem.Obj())->SetName(::vl::__vwsn::ToString((::vl::__vwsn::This(__vwsnthis_0->self)->counter + i))); - ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0->self)->itemsToBind.Obj())->Add(::vl::__vwsn::Box(textItem)); - } - (i = (i + static_cast<::vl::vint>(1))); - } - } - (::vl::__vwsn::This(__vwsnthis_0->self)->counter = (::vl::__vwsn::This(__vwsnthis_0->self)->counter + static_cast<::vl::vint>(10))); - } - - //------------------------------------------------------------------- - - __vwsnf104_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__::__vwsnf104_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__(::demo::TextListTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf104_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const - { - { - auto i = static_cast<::vl::vint>(0); - while ((i < ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->textList)->GetItems()).Obj())->GetCount())) - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->textList)->GetItems()).Obj())->RemoveAt(i); - (i = (i + static_cast<::vl::vint>(1))); - } - } - { - auto i = static_cast<::vl::vint>(0); - while ((i < ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0->self)->itemsToBind.Obj())->GetCount())) - { - ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0->self)->itemsToBind.Obj())->RemoveAt(i); - (i = (i + static_cast<::vl::vint>(1))); - } - } - } - - //------------------------------------------------------------------- - - __vwsnf105_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__::__vwsnf105_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__(::demo::TextListTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf105_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const - { - { - auto i = static_cast<::vl::vint>(1); - while ((i < ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->textList)->GetItems()).Obj())->GetCount())) - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->textList)->GetItems()).Obj())->RemoveAt(i); - (i = (i + static_cast<::vl::vint>(1))); - } - } - { - auto i = static_cast<::vl::vint>(1); - while ((i < ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0->self)->itemsToBind.Obj())->GetCount())) - { - ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0->self)->itemsToBind.Obj())->RemoveAt(i); - (i = (i + static_cast<::vl::vint>(1))); - } - } - } - - //------------------------------------------------------------------- - - __vwsnf106_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__::__vwsnf106_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__(::demo::TextListTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf106_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->textList)->GetItems()).Obj())->Clear(); - ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0->self)->itemsToBind.Obj())->Clear(); - } - - //------------------------------------------------------------------- - - __vwsnf107_Demo_demo_TreeViewTabPageConstructor___vwsn_initialize_instance__::__vwsnf107_Demo_demo_TreeViewTabPageConstructor___vwsn_initialize_instance__(::demo::TreeViewTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - ::vl::Ptr<::vl::reflection::description::IValueEnumerable> __vwsnf107_Demo_demo_TreeViewTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_item_) const - { - auto nodeToBind = ::vl::__vwsn::Unbox<::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>>(__vwsn_item_); - return ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueEnumerable>(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(nodeToBind.Obj())->Children())); - } - - //------------------------------------------------------------------- - - __vwsnf108_Demo_demo_TreeViewTabPageConstructor___vwsn_initialize_instance__::__vwsnf108_Demo_demo_TreeViewTabPageConstructor___vwsn_initialize_instance__(::demo::TreeViewTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - ::vl::Ptr<::vl::presentation::GuiImageData> __vwsnf108_Demo_demo_TreeViewTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_item_) const - { - auto nodeToBind = ::vl::__vwsn::Unbox<::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>>(__vwsn_item_); - return ::vl::__vwsn::This(::vl::__vwsn::SharedPtrCast<::vl::presentation::controls::tree::TreeViewItem>(::vl::__vwsn::This(nodeToBind.Obj())->GetData().Obj()).Obj())->image; - } - - //------------------------------------------------------------------- - - __vwsnf109_Demo_demo_TreeViewTabPageConstructor___vwsn_initialize_instance__::__vwsnf109_Demo_demo_TreeViewTabPageConstructor___vwsn_initialize_instance__(::demo::TreeViewTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - ::vl::WString __vwsnf109_Demo_demo_TreeViewTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_item_) const - { - auto nodeToBind = ::vl::__vwsn::Unbox<::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>>(__vwsn_item_); - return ::vl::__vwsn::This(::vl::__vwsn::SharedPtrCast<::vl::presentation::controls::tree::TreeViewItem>(::vl::__vwsn::This(nodeToBind.Obj())->GetData().Obj()).Obj())->text; - } - - //------------------------------------------------------------------- - - __vwsnf10_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__::__vwsnf10_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(::demo::DataGridTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - ::vl::presentation::templates::GuiGridEditorTemplate* __vwsnf10_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const - { - { - return static_cast<::vl::presentation::templates::GuiGridEditorTemplate*>(new ::demo::GenderEditor()); - } - } - - //------------------------------------------------------------------- - - __vwsnf110_Demo_demo_DateEditorConstructor___vwsn_initialize_instance__::__vwsnf110_Demo_demo_DateEditorConstructor___vwsn_initialize_instance__(::demo::DateEditorConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf110_Demo_demo_DateEditorConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->comboBox)->GetSelectedDate(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::DateTime>(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->comboBox)->SetSelectedDate(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf111_Demo_demo_DateEditorConstructor___vwsn_initialize_instance__::__vwsnf111_Demo_demo_DateEditorConstructor___vwsn_initialize_instance__(::demo::DateEditorConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf111_Demo_demo_DateEditorConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->self)->GetCellValue(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::reflection::description::Value>(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->self)->SetCellValue(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf112_Demo_demo_DateFilterConstructor___vwsn_initialize_instance__::__vwsnf112_Demo_demo_DateFilterConstructor___vwsn_initialize_instance__(::demo::DateFilterConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf112_Demo_demo_DateFilterConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const - { - ::vl::__vwsn::This(__vwsnthis_0->self)->UpdateFilter(); - } - - //------------------------------------------------------------------- - - __vwsnf113_Demo_demo_DateFilterConstructor___vwsn_initialize_instance__::__vwsnf113_Demo_demo_DateFilterConstructor___vwsn_initialize_instance__(::demo::DateFilterConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf113_Demo_demo_DateFilterConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->dateFrom)->GetEnabled(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->dateFrom)->SetEnabled(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf114_Demo_demo_DateFilterConstructor___vwsn_initialize_instance__::__vwsnf114_Demo_demo_DateFilterConstructor___vwsn_initialize_instance__(::demo::DateFilterConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf114_Demo_demo_DateFilterConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const - { - ::vl::__vwsn::This(__vwsnthis_0->self)->UpdateFilter(); - } - - //------------------------------------------------------------------- - - __vwsnf115_Demo_demo_DateFilterConstructor___vwsn_initialize_instance__::__vwsnf115_Demo_demo_DateFilterConstructor___vwsn_initialize_instance__(::demo::DateFilterConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf115_Demo_demo_DateFilterConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const - { - ::vl::__vwsn::This(__vwsnthis_0->self)->UpdateFilter(); - } - - //------------------------------------------------------------------- - - __vwsnf116_Demo_demo_DateFilterConstructor___vwsn_initialize_instance__::__vwsnf116_Demo_demo_DateFilterConstructor___vwsn_initialize_instance__(::demo::DateFilterConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf116_Demo_demo_DateFilterConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->dateTo)->GetEnabled(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->dateTo)->SetEnabled(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf117_Demo_demo_DateFilterConstructor___vwsn_initialize_instance__::__vwsnf117_Demo_demo_DateFilterConstructor___vwsn_initialize_instance__(::demo::DateFilterConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf117_Demo_demo_DateFilterConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const - { - ::vl::__vwsn::This(__vwsnthis_0->self)->UpdateFilter(); - } - - //------------------------------------------------------------------- - - __vwsnf118_Demo_demo_TextEditorConstructor___vwsn_initialize_instance__::__vwsnf118_Demo_demo_TextEditorConstructor___vwsn_initialize_instance__(::demo::TextEditorConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf118_Demo_demo_TextEditorConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->textBox)->GetText(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->textBox)->SetText(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf119_Demo_demo_TextEditorConstructor___vwsn_initialize_instance__::__vwsnf119_Demo_demo_TextEditorConstructor___vwsn_initialize_instance__(::demo::TextEditorConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf119_Demo_demo_TextEditorConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->self)->GetCellValue(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::reflection::description::Value>(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->self)->SetCellValue(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf11_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__::__vwsnf11_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(::demo::DataGridTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - ::vl::reflection::description::Value __vwsnf11_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_item_, const ::vl::reflection::description::Value& __vwsn_value_, bool __vwsn_update_) const - { - auto itemToBind = ::vl::__vwsn::Unbox<::vl::Ptr<::demo::MyDataItem>>(__vwsn_item_); - if (__vwsn_update_) - { - ::vl::__vwsn::This(itemToBind.Obj())->SetGender(::vl::__vwsn::Unbox<::demo::MyGender>(__vwsn_value_)); - return ::vl::reflection::description::Value(); - } - else - { - return ::vl::__vwsn::Box(::vl::__vwsn::This(itemToBind.Obj())->GetGender()); - } - } - - //------------------------------------------------------------------- - - __vwsnf120_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance__::__vwsnf120_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance__(::demo::CategoryDisplayerConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf120_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_4.Obj())->GetColor(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::Color>(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_4.Obj())->SetColor(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf121_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance__::__vwsnf121_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance__(::demo::CategoryDisplayerConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf121_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_6.Obj())->GetText(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_6.Obj())->SetText(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf122_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance__::__vwsnf122_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance__(::demo::CategoryDisplayerConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf122_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_6.Obj())->GetFont(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::FontProperties>(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_6.Obj())->SetFont(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf123_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance__::__vwsnf123_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance__(::demo::CategoryEditorConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - ::vl::presentation::templates::GuiListItemTemplate* __vwsnf123_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const - { - { - if ((dynamic_cast<::vl::reflection::description::IValueType::TypedBox<::demo::MyCategory>*>(__vwsn_viewModel_.GetBoxedValue().Obj()) != nullptr)) - { - return static_cast<::vl::presentation::templates::GuiListItemTemplate*>(new ::demo::CategoryItemTemplate(::vl::__vwsn::Unbox<::demo::MyCategory>(__vwsn_viewModel_))); - } - } - throw ::vl::Exception(::vl::WString(L"Cannot find a matched control template to create.", false)); - } - - //------------------------------------------------------------------- - - __vwsnf124_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance__::__vwsnf124_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance__(::demo::CategoryEditorConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - ::vl::presentation::templates::GuiTemplate* __vwsnf124_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const - { - { - if ((dynamic_cast<::vl::reflection::description::IValueType::TypedBox<::demo::MyCategory>*>(__vwsn_viewModel_.GetBoxedValue().Obj()) != nullptr)) - { - return static_cast<::vl::presentation::templates::GuiTemplate*>(new ::demo::CategoryItemTemplate(::vl::__vwsn::Unbox<::demo::MyCategory>(__vwsn_viewModel_))); - } - } - throw ::vl::Exception(::vl::WString(L"Cannot find a matched control template to create.", false)); - } - - //------------------------------------------------------------------- - - __vwsnf125_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance__::__vwsnf125_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance__(::demo::CategoryEditorConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf125_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->comboBox)->GetSelectedIndex(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::vint>(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->comboBox)->SetSelectedIndex(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf126_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance__::__vwsnf126_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance__(::demo::CategoryEditorConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf126_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->self)->GetCellValue(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::reflection::description::Value>(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->self)->SetCellValue(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf127_Demo_demo_CategoryItemTemplateConstructor___vwsn_initialize_instance__::__vwsnf127_Demo_demo_CategoryItemTemplateConstructor___vwsn_initialize_instance__(::demo::CategoryItemTemplateConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf127_Demo_demo_CategoryItemTemplateConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_0)->GetFont(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::FontProperties>(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_0)->SetFont(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf128_Demo_demo_CategoryVisualizerConstructor___vwsn_initialize_instance__::__vwsnf128_Demo_demo_CategoryVisualizerConstructor___vwsn_initialize_instance__(::demo::CategoryVisualizerConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf128_Demo_demo_CategoryVisualizerConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_0)->GetFont(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::FontProperties>(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_0)->SetFont(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf129_Demo_demo_CategoryVisualizerConstructor___vwsn_initialize_instance__::__vwsnf129_Demo_demo_CategoryVisualizerConstructor___vwsn_initialize_instance__(::demo::CategoryVisualizerConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf129_Demo_demo_CategoryVisualizerConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_0)->GetCategory(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::demo::MyCategory>(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_0)->SetCategory(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf12_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__::__vwsnf12_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(::demo::DataGridTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - ::vl::WString __vwsnf12_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_item_) const - { - auto itemToBind = ::vl::__vwsn::Unbox<::vl::Ptr<::demo::MyDataItem>>(__vwsn_item_); - return GLOBAL_NAME ToString(::vl::__vwsn::This(itemToBind.Obj())->GetGender()); - } - - //------------------------------------------------------------------- - - __vwsnf130_Demo_demo_GenderDisplayerConstructor___vwsn_initialize_instance__::__vwsnf130_Demo_demo_GenderDisplayerConstructor___vwsn_initialize_instance__(::demo::GenderDisplayerConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf130_Demo_demo_GenderDisplayerConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_1.Obj())->GetImage(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::Ptr<::vl::presentation::INativeImage>>(__vwsn_value_); - if ((__vwsn_old_.Obj() == __vwsn_new_.Obj())) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_1.Obj())->SetImage(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf131_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance__::__vwsnf131_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance__(::demo::GenderEditorConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - ::vl::presentation::templates::GuiListItemTemplate* __vwsnf131_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const - { - { - if ((dynamic_cast<::vl::reflection::description::IValueType::TypedBox<::demo::MyGender>*>(__vwsn_viewModel_.GetBoxedValue().Obj()) != nullptr)) - { - return static_cast<::vl::presentation::templates::GuiListItemTemplate*>(new ::demo::GenderItemTemplate(::vl::__vwsn::Unbox<::demo::MyGender>(__vwsn_viewModel_))); - } - } - throw ::vl::Exception(::vl::WString(L"Cannot find a matched control template to create.", false)); - } - - //------------------------------------------------------------------- - - __vwsnf132_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance__::__vwsnf132_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance__(::demo::GenderEditorConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - ::vl::presentation::templates::GuiTemplate* __vwsnf132_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const - { - { - if ((dynamic_cast<::vl::reflection::description::IValueType::TypedBox<::demo::MyGender>*>(__vwsn_viewModel_.GetBoxedValue().Obj()) != nullptr)) - { - return static_cast<::vl::presentation::templates::GuiTemplate*>(new ::demo::GenderItemTemplate(::vl::__vwsn::Unbox<::demo::MyGender>(__vwsn_viewModel_))); - } - } - throw ::vl::Exception(::vl::WString(L"Cannot find a matched control template to create.", false)); - } - - //------------------------------------------------------------------- - - __vwsnf133_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance__::__vwsnf133_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance__(::demo::GenderEditorConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf133_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->comboBox)->GetSelectedIndex(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::vint>(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->comboBox)->SetSelectedIndex(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf134_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance__::__vwsnf134_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance__(::demo::GenderEditorConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf134_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->self)->GetCellValue(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::reflection::description::Value>(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->self)->SetCellValue(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf135_Demo_demo_GenderVisualizerConstructor___vwsn_initialize_instance__::__vwsnf135_Demo_demo_GenderVisualizerConstructor___vwsn_initialize_instance__(::demo::GenderVisualizerConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf135_Demo_demo_GenderVisualizerConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_0)->GetGender(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::demo::MyGender>(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_0)->SetGender(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf136_Demo_demo_HyperlinkWindowConstructor___vwsn_initialize_instance__::__vwsnf136_Demo_demo_HyperlinkWindowConstructor___vwsn_initialize_instance__(::demo::HyperlinkWindowConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf136_Demo_demo_HyperlinkWindowConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const - { - ::vl::__vwsn::This(__vwsnthis_0->self)->SetUrl(::vl::Nullable<::vl::WString>(::vl::__vwsn::This(__vwsnthis_0->textUrl)->GetText())); - ::vl::__vwsn::This(__vwsnthis_0->self)->Close(); - } - - //------------------------------------------------------------------- - - __vwsnf137_Demo_demo_HyperlinkWindowConstructor___vwsn_initialize_instance__::__vwsnf137_Demo_demo_HyperlinkWindowConstructor___vwsn_initialize_instance__(::demo::HyperlinkWindowConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf137_Demo_demo_HyperlinkWindowConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const - { - ::vl::__vwsn::This(__vwsnthis_0->self)->SetUrl(::vl::Nullable<::vl::WString>()); - ::vl::__vwsn::This(__vwsnthis_0->self)->Close(); - } - - //------------------------------------------------------------------- - - __vwsnf138_Demo_demo_RepeatItemTemplateConstructor___vwsn_initialize_instance__::__vwsnf138_Demo_demo_RepeatItemTemplateConstructor___vwsn_initialize_instance__(::demo::RepeatItemTemplateConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf138_Demo_demo_RepeatItemTemplateConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_1)->GetText(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_1)->SetText(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf139_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance__::__vwsnf139_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance__(::demo::TextBoxTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf139_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const - { - ::vl::__vwsn::EventInvoke(::vl::__vwsn::This(__vwsnthis_0->self)->OnMakeFontLarger)(); - } - - //------------------------------------------------------------------- - - __vwsnf13_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__::__vwsnf13_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(::demo::DataGridTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - ::vl::presentation::templates::GuiGridVisualizerTemplate* __vwsnf13_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const - { - { - return static_cast<::vl::presentation::templates::GuiGridVisualizerTemplate*>(new ::vl::presentation::controls::list::CellBorderVisualizerTemplate()); - } - } - - //------------------------------------------------------------------- - - __vwsnf140_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance__::__vwsnf140_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance__(::demo::TextBoxTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf140_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_21)->GetEnabled(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_21)->SetEnabled(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf141_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance__::__vwsnf141_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance__(::demo::TextBoxTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf141_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const - { - ::vl::__vwsn::EventInvoke(::vl::__vwsn::This(__vwsnthis_0->self)->OnMakeFontSmaller)(); - } - - //------------------------------------------------------------------- - - __vwsnf142_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance__::__vwsnf142_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance__(::demo::TextBoxTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf142_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance__::operator()() const - { - ::vl::__vwsn::This(__vwsnthis_0->self)->UpdateFont(GLOBAL_NAME ChangeFontSize(::vl::__vwsn::This(__vwsnthis_0->textBoxS)->GetFont(), static_cast<::vl::vint>(5))); - } - - //------------------------------------------------------------------- - - __vwsnf143_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance__::__vwsnf143_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance__(::demo::TextBoxTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf143_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance__::operator()() const - { - ::vl::__vwsn::This(__vwsnthis_0->self)->UpdateFont(GLOBAL_NAME ChangeFontSize(::vl::__vwsn::This(__vwsnthis_0->textBoxS)->GetFont(), (- static_cast<::vl::vint>(5)))); - } - - //------------------------------------------------------------------- - - __vwsnf14_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__::__vwsnf14_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(::demo::DataGridTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - ::vl::presentation::templates::GuiGridVisualizerTemplate* __vwsnf14_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const - { - { - return static_cast<::vl::presentation::templates::GuiGridVisualizerTemplate*>(new ::demo::CategoryVisualizer()); - } - } - - //------------------------------------------------------------------- - - __vwsnf16_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__::__vwsnf16_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(::demo::DataGridTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - ::vl::presentation::templates::GuiGridEditorTemplate* __vwsnf16_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const - { - { - return static_cast<::vl::presentation::templates::GuiGridEditorTemplate*>(new ::demo::CategoryEditor()); - } - } - - //------------------------------------------------------------------- - - __vwsnf17_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__::__vwsnf17_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(::demo::DataGridTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - ::vl::reflection::description::Value __vwsnf17_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_item_, const ::vl::reflection::description::Value& __vwsn_value_, bool __vwsn_update_) const - { - auto itemToBind = ::vl::__vwsn::Unbox<::vl::Ptr<::demo::MyDataItem>>(__vwsn_item_); - if (__vwsn_update_) - { - ::vl::__vwsn::This(itemToBind.Obj())->SetCategory(::vl::__vwsn::Unbox<::demo::MyCategory>(__vwsn_value_)); - return ::vl::reflection::description::Value(); - } - else - { - return ::vl::__vwsn::Box(::vl::__vwsn::This(itemToBind.Obj())->GetCategory()); - } - } - - //------------------------------------------------------------------- - - __vwsnf18_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__::__vwsnf18_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(::demo::DataGridTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - ::vl::WString __vwsnf18_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_item_) const - { - auto itemToBind = ::vl::__vwsn::Unbox<::vl::Ptr<::demo::MyDataItem>>(__vwsn_item_); - return GLOBAL_NAME ToString(::vl::__vwsn::This(itemToBind.Obj())->GetCategory()); - } - - //------------------------------------------------------------------- - - __vwsnf1_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__::__vwsnf1_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(::demo::DataGridTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - ::vl::Ptr<::vl::presentation::GuiImageData> __vwsnf1_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_item_) const - { - auto itemToBind = ::vl::__vwsn::Unbox<::vl::Ptr<::demo::MyDataItem>>(__vwsn_item_); - return ::vl::__vwsn::This(itemToBind.Obj())->GetSmallImage(); - } - - //------------------------------------------------------------------- - - __vwsnf20_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__::__vwsnf20_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(::demo::DataGridTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - ::vl::presentation::templates::GuiGridEditorTemplate* __vwsnf20_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const - { - { - return static_cast<::vl::presentation::templates::GuiGridEditorTemplate*>(new ::demo::DateEditor()); - } - } - - //------------------------------------------------------------------- - - __vwsnf21_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__::__vwsnf21_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(::demo::DataGridTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - ::vl::reflection::description::Value __vwsnf21_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_item_, const ::vl::reflection::description::Value& __vwsn_value_, bool __vwsn_update_) const - { - auto itemToBind = ::vl::__vwsn::Unbox<::vl::Ptr<::demo::MyDataItem>>(__vwsn_item_); - if (__vwsn_update_) - { - ::vl::__vwsn::This(itemToBind.Obj())->SetBirthday(::vl::__vwsn::Unbox<::vl::DateTime>(__vwsn_value_)); - return ::vl::reflection::description::Value(); - } - else - { - return ::vl::__vwsn::Box(::vl::__vwsn::This(itemToBind.Obj())->GetBirthday()); - } - } - - //------------------------------------------------------------------- - - __vwsnf22_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__::__vwsnf22_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(::demo::DataGridTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - ::vl::WString __vwsnf22_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_item_) const - { - auto itemToBind = ::vl::__vwsn::Unbox<::vl::Ptr<::demo::MyDataItem>>(__vwsn_item_); - return GLOBAL_NAME ToString(::vl::__vwsn::This(itemToBind.Obj())->GetBirthday()); - } - - //------------------------------------------------------------------- - - __vwsnf23_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__::__vwsnf23_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(::demo::DataGridTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - ::vl::presentation::templates::GuiGridVisualizerTemplate* __vwsnf23_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const - { - { - return static_cast<::vl::presentation::templates::GuiGridVisualizerTemplate*>(new ::vl::presentation::controls::list::CellBorderVisualizerTemplate()); - } - } - - //------------------------------------------------------------------- - - __vwsnf24_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__::__vwsnf24_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(::demo::DataGridTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - ::vl::presentation::templates::GuiGridVisualizerTemplate* __vwsnf24_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const - { - { - return static_cast<::vl::presentation::templates::GuiGridVisualizerTemplate*>(new ::vl::presentation::controls::list::HyperlinkVisualizerTemplate()); - } - } - - //------------------------------------------------------------------- - - __vwsnf26_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__::__vwsnf26_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(::demo::DataGridTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - ::vl::presentation::templates::GuiGridEditorTemplate* __vwsnf26_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const - { - { - return static_cast<::vl::presentation::templates::GuiGridEditorTemplate*>(new ::demo::TextEditor()); - } - } - - //------------------------------------------------------------------- - - __vwsnf27_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__::__vwsnf27_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(::demo::DataGridTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - ::vl::reflection::description::Value __vwsnf27_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_item_, const ::vl::reflection::description::Value& __vwsn_value_, bool __vwsn_update_) const - { - auto itemToBind = ::vl::__vwsn::Unbox<::vl::Ptr<::demo::MyDataItem>>(__vwsn_item_); - if (__vwsn_update_) - { - ::vl::__vwsn::This(itemToBind.Obj())->SetWebsite(::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_)); - return ::vl::reflection::description::Value(); - } - else - { - return ::vl::__vwsn::Box(::vl::__vwsn::This(itemToBind.Obj())->GetWebsite()); - } - } - - //------------------------------------------------------------------- - - __vwsnf28_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__::__vwsnf28_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(::demo::DataGridTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - ::vl::WString __vwsnf28_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_item_) const - { - auto itemToBind = ::vl::__vwsn::Unbox<::vl::Ptr<::demo::MyDataItem>>(__vwsn_item_); - return ::vl::__vwsn::This(itemToBind.Obj())->GetWebsite(); - } - - //------------------------------------------------------------------- - - __vwsnf29_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__::__vwsnf29_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(::demo::DataGridTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf29_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const - { - { - auto __vwsn_switch_0 = ::vl::__vwsn::This(__vwsnthis_0->comboView)->GetSelectedIndex(); - if ((__vwsn_switch_0 == static_cast<::vl::vint>(0))) - { - ::vl::__vwsn::This(__vwsnthis_0->dataGrid)->SetView(::vl::presentation::controls::ListViewView::BigIcon); - } - else if ((__vwsn_switch_0 == static_cast<::vl::vint>(1))) - { - ::vl::__vwsn::This(__vwsnthis_0->dataGrid)->SetView(::vl::presentation::controls::ListViewView::SmallIcon); - } - else if ((__vwsn_switch_0 == static_cast<::vl::vint>(2))) - { - ::vl::__vwsn::This(__vwsnthis_0->dataGrid)->SetView(::vl::presentation::controls::ListViewView::List); - } - else if ((__vwsn_switch_0 == static_cast<::vl::vint>(3))) - { - ::vl::__vwsn::This(__vwsnthis_0->dataGrid)->SetView(::vl::presentation::controls::ListViewView::Tile); - } - else if ((__vwsn_switch_0 == static_cast<::vl::vint>(4))) - { - ::vl::__vwsn::This(__vwsnthis_0->dataGrid)->SetView(::vl::presentation::controls::ListViewView::Information); - } - else if ((__vwsn_switch_0 == static_cast<::vl::vint>(5))) - { - ::vl::__vwsn::This(__vwsnthis_0->dataGrid)->SetView(::vl::presentation::controls::ListViewView::Detail); - } - else if ((__vwsn_switch_0 == static_cast<::vl::vint>(6))) - { - ::vl::__vwsn::This(__vwsnthis_0->dataGrid)->SetViewToDefault(); - } - } - } - - //------------------------------------------------------------------- - - __vwsnf2_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__::__vwsnf2_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(::demo::DataGridTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - ::vl::Ptr<::vl::presentation::GuiImageData> __vwsnf2_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_item_) const - { - auto itemToBind = ::vl::__vwsn::Unbox<::vl::Ptr<::demo::MyDataItem>>(__vwsn_item_); - return ::vl::__vwsn::This(itemToBind.Obj())->GetLargeImage(); - } - - //------------------------------------------------------------------- - - __vwsnf30_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::__vwsnf30_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf30_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->buttonAlignment)->GetImage(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::Ptr<::vl::presentation::GuiImageData>>(__vwsn_value_); - if ((__vwsn_old_.Obj() == __vwsn_new_.Obj())) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->buttonAlignment)->SetImage(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf31_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::__vwsnf31_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf31_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const - { - ::vl::__vwsn::This(__vwsnthis_0->dialogMessage)->SetText(::vl::__vwsn::This(__vwsnthis_0->document)->GetActiveHyperlinkReference()); - ::vl::__vwsn::This(__vwsnthis_0->dialogMessage)->ShowDialog(); - } - - //------------------------------------------------------------------- - - __vwsnf32_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::__vwsnf32_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf32_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->commandUndo)->GetEnabled(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->commandUndo)->SetEnabled(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf33_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::__vwsnf33_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf33_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const - { - ::vl::__vwsn::This(__vwsnthis_0->document)->Undo(); - } - - //------------------------------------------------------------------- - - __vwsnf34_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::__vwsnf34_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf34_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->commandRedo)->GetEnabled(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->commandRedo)->SetEnabled(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf35_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::__vwsnf35_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf35_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const - { - ::vl::__vwsn::This(__vwsnthis_0->document)->Redo(); - } - - //------------------------------------------------------------------- - - __vwsnf36_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::__vwsnf36_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf36_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->commandCopy)->GetEnabled(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->commandCopy)->SetEnabled(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf37_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::__vwsnf37_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf37_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const - { - ::vl::__vwsn::This(__vwsnthis_0->document)->Copy(); - } - - //------------------------------------------------------------------- - - __vwsnf38_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::__vwsnf38_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf38_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->commandCut)->GetEnabled(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->commandCut)->SetEnabled(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf39_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::__vwsnf39_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf39_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const - { - ::vl::__vwsn::This(__vwsnthis_0->document)->Cut(); - } - - //------------------------------------------------------------------- - - __vwsnf40_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::__vwsnf40_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf40_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->commandPaste)->GetEnabled(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->commandPaste)->SetEnabled(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf41_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::__vwsnf41_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf41_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const - { - ::vl::__vwsn::This(__vwsnthis_0->document)->Paste(); - } - - //------------------------------------------------------------------- - - __vwsnf42_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::__vwsnf42_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf42_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->commandDelete)->GetEnabled(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->commandDelete)->SetEnabled(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf43_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::__vwsnf43_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf43_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const - { - ::vl::__vwsn::This(__vwsnthis_0->document)->SetSelectionText(::vl::WString(L"", false)); - } - - //------------------------------------------------------------------- - - __vwsnf44_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::__vwsnf44_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf44_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const - { - ::vl::__vwsn::This(__vwsnthis_0->document)->SelectAll(); - } - - //------------------------------------------------------------------- - - __vwsnf45_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::__vwsnf45_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf45_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->commandInsertImage)->GetEnabled(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->commandInsertImage)->SetEnabled(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf46_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::__vwsnf46_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf46_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const - { - if (::vl::__vwsn::This(__vwsnthis_0->dialogOpen)->ShowDialog()) - { - auto imageService = ::vl::__vwsn::This(::vl::presentation::GetCurrentController())->ImageService(); - auto image = ::vl::__vwsn::This(imageService)->CreateImageFromFile(::vl::__vwsn::This(__vwsnthis_0->dialogOpen)->GetFileName()); - auto imageData = ::vl::Ptr<::vl::presentation::GuiImageData>(new ::vl::presentation::GuiImageData(image, static_cast<::vl::vint>(0))); - ::vl::__vwsn::This(__vwsnthis_0->document)->EditImage(::vl::__vwsn::This(__vwsnthis_0->document)->GetCaretBegin(), ::vl::__vwsn::This(__vwsnthis_0->document)->GetCaretEnd(), imageData); - } - } - - //------------------------------------------------------------------- - - __vwsnf47_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::__vwsnf47_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf47_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->commandEditHyperlink)->GetEnabled(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->commandEditHyperlink)->SetEnabled(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf48_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::__vwsnf48_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf48_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const - { - ::vl::reflection::description::AsyncCoroutine::CreateAndRun(LAMBDA(::vl_workflow_global::__vwsnf49_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___(__vwsnthis_0))); - } - - //------------------------------------------------------------------- - - __vwsnf49_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___::__vwsnf49_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - ::vl::Ptr<::vl::reflection::description::ICoroutine> __vwsnf49_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___::operator()(::vl::reflection::description::AsyncCoroutine::IImpl* __vwsn_co_impl_) const - { - return ::vl::Ptr<::vl::reflection::description::ICoroutine>(new ::vl_workflow_global::__vwsnc15_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance_____vl_reflection_description_ICoroutine(__vwsn_co_impl_, __vwsnthis_0)); - } - - //------------------------------------------------------------------- - - __vwsnf4_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__::__vwsnf4_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(::demo::DataGridTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - ::vl::presentation::templates::GuiGridEditorTemplate* __vwsnf4_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const - { - { - return static_cast<::vl::presentation::templates::GuiGridEditorTemplate*>(new ::demo::TextEditor()); - } - } - - //------------------------------------------------------------------- - - __vwsnf50_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::__vwsnf50_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf50_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->commandRemoveHyperlink)->GetEnabled(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->commandRemoveHyperlink)->SetEnabled(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf51_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::__vwsnf51_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf51_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const - { - auto row = ::vl::__vwsn::This(__vwsnthis_0->document)->GetCaretBegin().row; - auto begin = ::vl::__vwsn::This(__vwsnthis_0->document)->GetCaretBegin().column; - auto end = ::vl::__vwsn::This(__vwsnthis_0->document)->GetCaretEnd().column; - ::vl::__vwsn::This(__vwsnthis_0->document)->RemoveHyperlink(row, begin, end); - } - - //------------------------------------------------------------------- - - __vwsnf52_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::__vwsnf52_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf52_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->commandBold)->GetEnabled(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->commandBold)->SetEnabled(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf53_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::__vwsnf53_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf53_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->commandBold)->GetSelected(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->commandBold)->SetSelected(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf54_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::__vwsnf54_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf54_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const - { - auto style = ::vl::Ptr<::vl::presentation::DocumentStyleProperties>(new ::vl::presentation::DocumentStyleProperties()); - (::vl::__vwsn::This(style.Obj())->bold = ::vl::Nullable((! ::vl::__vwsn::This(__vwsnthis_0->commandBold)->GetSelected()))); - ::vl::__vwsn::This(__vwsnthis_0->document)->EditStyle(::vl::__vwsn::This(__vwsnthis_0->document)->GetCaretBegin(), ::vl::__vwsn::This(__vwsnthis_0->document)->GetCaretEnd(), style); - } - - //------------------------------------------------------------------- - - __vwsnf55_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::__vwsnf55_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf55_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->commandItalic)->GetEnabled(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->commandItalic)->SetEnabled(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf56_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::__vwsnf56_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf56_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->commandItalic)->GetSelected(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->commandItalic)->SetSelected(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf57_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::__vwsnf57_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf57_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const - { - auto style = ::vl::Ptr<::vl::presentation::DocumentStyleProperties>(new ::vl::presentation::DocumentStyleProperties()); - (::vl::__vwsn::This(style.Obj())->italic = ::vl::Nullable((! ::vl::__vwsn::This(__vwsnthis_0->commandItalic)->GetSelected()))); - ::vl::__vwsn::This(__vwsnthis_0->document)->EditStyle(::vl::__vwsn::This(__vwsnthis_0->document)->GetCaretBegin(), ::vl::__vwsn::This(__vwsnthis_0->document)->GetCaretEnd(), style); - } - - //------------------------------------------------------------------- - - __vwsnf58_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::__vwsnf58_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf58_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->commandUnderline)->GetEnabled(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->commandUnderline)->SetEnabled(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf59_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::__vwsnf59_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf59_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->commandUnderline)->GetSelected(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->commandUnderline)->SetSelected(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf5_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__::__vwsnf5_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(::demo::DataGridTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - ::vl::reflection::description::Value __vwsnf5_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_item_, const ::vl::reflection::description::Value& __vwsn_value_, bool __vwsn_update_) const - { - auto itemToBind = ::vl::__vwsn::Unbox<::vl::Ptr<::demo::MyDataItem>>(__vwsn_item_); - if (__vwsn_update_) - { - ::vl::__vwsn::This(itemToBind.Obj())->SetName(::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_)); - return ::vl::reflection::description::Value(); - } - else - { - return ::vl::__vwsn::Box(::vl::__vwsn::This(itemToBind.Obj())->GetName()); - } - } - - //------------------------------------------------------------------- - - __vwsnf60_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::__vwsnf60_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf60_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const - { - auto style = ::vl::Ptr<::vl::presentation::DocumentStyleProperties>(new ::vl::presentation::DocumentStyleProperties()); - (::vl::__vwsn::This(style.Obj())->underline = ::vl::Nullable((! ::vl::__vwsn::This(__vwsnthis_0->commandUnderline)->GetSelected()))); - ::vl::__vwsn::This(__vwsnthis_0->document)->EditStyle(::vl::__vwsn::This(__vwsnthis_0->document)->GetCaretBegin(), ::vl::__vwsn::This(__vwsnthis_0->document)->GetCaretEnd(), style); - } - - //------------------------------------------------------------------- - - __vwsnf61_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::__vwsnf61_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf61_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->commandStrike)->GetEnabled(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->commandStrike)->SetEnabled(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf62_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::__vwsnf62_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf62_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->commandStrike)->GetSelected(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->commandStrike)->SetSelected(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf63_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::__vwsnf63_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf63_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const - { - auto style = ::vl::Ptr<::vl::presentation::DocumentStyleProperties>(new ::vl::presentation::DocumentStyleProperties()); - (::vl::__vwsn::This(style.Obj())->strikeline = ::vl::Nullable((! ::vl::__vwsn::This(__vwsnthis_0->commandStrike)->GetSelected()))); - ::vl::__vwsn::This(__vwsnthis_0->document)->EditStyle(::vl::__vwsn::This(__vwsnthis_0->document)->GetCaretBegin(), ::vl::__vwsn::This(__vwsnthis_0->document)->GetCaretEnd(), style); - } - - //------------------------------------------------------------------- - - __vwsnf64_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::__vwsnf64_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf64_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->commandFont)->GetEnabled(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->commandFont)->SetEnabled(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf65_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::__vwsnf65_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf65_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const - { - auto begin = ::vl::__vwsn::This(__vwsnthis_0->document)->GetCaretBegin(); - auto end = ::vl::__vwsn::This(__vwsnthis_0->document)->GetCaretEnd(); - auto style = ::vl::__vwsn::This(__vwsnthis_0->document)->SummarizeStyle(begin, end); - auto baselineFont = ::vl::__vwsn::This(__vwsnthis_0->document)->GetFont(); - ::vl::__vwsn::This(__vwsnthis_0->dialogFont)->SetSelectedFont([&](){ ::vl::presentation::FontProperties __vwsn_temp__; __vwsn_temp__.fontFamily = ((! static_cast(::vl::__vwsn::This(style.Obj())->face)) ? baselineFont.fontFamily : ::vl::__vwsn::This(style.Obj())->face.Value()); __vwsn_temp__.size = ((! static_cast(::vl::__vwsn::This(style.Obj())->size)) ? baselineFont.size : static_cast<::vl::vint>(::vl::__vwsn::This(style.Obj())->size.Value().size)); return __vwsn_temp__; }()); - if (::vl::__vwsn::This(__vwsnthis_0->dialogFont)->ShowDialog()) - { - (style = ::vl::Ptr<::vl::presentation::DocumentStyleProperties>(new ::vl::presentation::DocumentStyleProperties())); - auto selectedFont = ::vl::__vwsn::This(__vwsnthis_0->dialogFont)->GetSelectedFont(); - (::vl::__vwsn::This(style.Obj())->face = ::vl::Nullable<::vl::WString>(selectedFont.fontFamily)); - (::vl::__vwsn::This(style.Obj())->size = [&](){ ::vl::presentation::DocumentFontSize __vwsn_temp__; __vwsn_temp__.size = static_cast(selectedFont.size); __vwsn_temp__.relative = false; return __vwsn_temp__; }()); - ::vl::__vwsn::This(__vwsnthis_0->document)->EditStyle(begin, end, style); - } - } - - //------------------------------------------------------------------- - - __vwsnf66_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::__vwsnf66_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf66_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->commandColor)->GetEnabled(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->commandColor)->SetEnabled(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf67_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::__vwsnf67_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf67_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const - { - auto begin = ::vl::__vwsn::This(__vwsnthis_0->document)->GetCaretBegin(); - auto end = ::vl::__vwsn::This(__vwsnthis_0->document)->GetCaretEnd(); - auto selectedColor = ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0->document)->SummarizeStyle(begin, end).Obj())->color; - if ((! static_cast(selectedColor))) - { - ::vl::__vwsn::This(__vwsnthis_0->dialogColor)->SetSelectedColor(::vl::__vwsn::Parse<::vl::presentation::Color>(::vl::WString(L"#000000", false))); - } - else - { - ::vl::__vwsn::This(__vwsnthis_0->dialogColor)->SetSelectedColor(selectedColor.Value()); - } - if (::vl::__vwsn::This(__vwsnthis_0->dialogColor)->ShowDialog()) - { - auto style = ::vl::Ptr<::vl::presentation::DocumentStyleProperties>(new ::vl::presentation::DocumentStyleProperties()); - (::vl::__vwsn::This(style.Obj())->color = ::vl::Nullable<::vl::presentation::Color>(::vl::__vwsn::This(__vwsnthis_0->dialogColor)->GetSelectedColor())); - ::vl::__vwsn::This(__vwsnthis_0->document)->EditStyle(begin, end, style); - } - } - - //------------------------------------------------------------------- - - __vwsnf68_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::__vwsnf68_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf68_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->commandBackColor)->GetEnabled(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->commandBackColor)->SetEnabled(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf69_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::__vwsnf69_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf69_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const - { - auto begin = ::vl::__vwsn::This(__vwsnthis_0->document)->GetCaretBegin(); - auto end = ::vl::__vwsn::This(__vwsnthis_0->document)->GetCaretEnd(); - auto selectedColor = ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0->document)->SummarizeStyle(begin, end).Obj())->backgroundColor; - if ((! static_cast(selectedColor))) - { - ::vl::__vwsn::This(__vwsnthis_0->dialogColor)->SetSelectedColor(::vl::__vwsn::Parse<::vl::presentation::Color>(::vl::WString(L"#000000", false))); - } - else - { - ::vl::__vwsn::This(__vwsnthis_0->dialogColor)->SetSelectedColor(selectedColor.Value()); - } - if (::vl::__vwsn::This(__vwsnthis_0->dialogColor)->ShowDialog()) - { - auto style = ::vl::Ptr<::vl::presentation::DocumentStyleProperties>(new ::vl::presentation::DocumentStyleProperties()); - (::vl::__vwsn::This(style.Obj())->backgroundColor = ::vl::Nullable<::vl::presentation::Color>(::vl::__vwsn::This(__vwsnthis_0->dialogColor)->GetSelectedColor())); - ::vl::__vwsn::This(__vwsnthis_0->document)->EditStyle(begin, end, style); - } - } - - //------------------------------------------------------------------- - - __vwsnf6_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__::__vwsnf6_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(::demo::DataGridTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - ::vl::WString __vwsnf6_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_item_) const - { - auto itemToBind = ::vl::__vwsn::Unbox<::vl::Ptr<::demo::MyDataItem>>(__vwsn_item_); - return ::vl::__vwsn::This(itemToBind.Obj())->GetName(); - } - - //------------------------------------------------------------------- - - __vwsnf70_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::__vwsnf70_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf70_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const - { - ::vl::__vwsn::This(__vwsnthis_0->self)->SetEditMode(::vl::presentation::controls::GuiDocumentCommonInterface::EditMode::ViewOnly); - } - - //------------------------------------------------------------------- - - __vwsnf71_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::__vwsnf71_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf71_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const - { - ::vl::__vwsn::This(__vwsnthis_0->self)->SetEditMode(::vl::presentation::controls::GuiDocumentCommonInterface::EditMode::Selectable); - } - - //------------------------------------------------------------------- - - __vwsnf72_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::__vwsnf72_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf72_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const - { - ::vl::__vwsn::This(__vwsnthis_0->self)->SetEditMode(::vl::presentation::controls::GuiDocumentCommonInterface::EditMode::Editable); - } - - //------------------------------------------------------------------- - - __vwsnf73_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::__vwsnf73_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf73_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->commandAlignDefault)->GetEnabled(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->commandAlignDefault)->SetEnabled(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf74_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::__vwsnf74_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf74_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const - { - ::vl::__vwsn::This(__vwsnthis_0->self)->SetAlignment(::vl::Nullable<::vl::presentation::Alignment>()); - } - - //------------------------------------------------------------------- - - __vwsnf75_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::__vwsnf75_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf75_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->commandAlignLeft)->GetEnabled(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->commandAlignLeft)->SetEnabled(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf76_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::__vwsnf76_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf76_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->commandAlignLeft)->GetSelected(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->commandAlignLeft)->SetSelected(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf77_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::__vwsnf77_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf77_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const - { - ::vl::__vwsn::This(__vwsnthis_0->self)->SetAlignment(::vl::Nullable<::vl::presentation::Alignment>(::vl::presentation::Alignment::Left)); - } - - //------------------------------------------------------------------- - - __vwsnf78_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::__vwsnf78_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf78_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->commandAlignCenter)->GetEnabled(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->commandAlignCenter)->SetEnabled(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf79_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::__vwsnf79_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf79_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->commandAlignCenter)->GetSelected(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->commandAlignCenter)->SetSelected(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf7_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__::__vwsnf7_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(::demo::DataGridTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - ::vl::presentation::templates::GuiGridVisualizerTemplate* __vwsnf7_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const - { - { - return static_cast<::vl::presentation::templates::GuiGridVisualizerTemplate*>(new ::vl::presentation::controls::list::CellBorderVisualizerTemplate()); - } - } - - //------------------------------------------------------------------- - - __vwsnf80_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::__vwsnf80_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf80_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const - { - ::vl::__vwsn::This(__vwsnthis_0->self)->SetAlignment(::vl::Nullable<::vl::presentation::Alignment>(::vl::presentation::Alignment::Center)); - } - - //------------------------------------------------------------------- - - __vwsnf81_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::__vwsnf81_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf81_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->commandAlignRight)->GetEnabled(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->commandAlignRight)->SetEnabled(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf82_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::__vwsnf82_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf82_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->commandAlignRight)->GetSelected(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->commandAlignRight)->SetSelected(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf83_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::__vwsnf83_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf83_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const - { - ::vl::__vwsn::This(__vwsnthis_0->self)->SetAlignment(::vl::Nullable<::vl::presentation::Alignment>(::vl::presentation::Alignment::Right)); - } - - //------------------------------------------------------------------- - - __vwsnf84_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::__vwsnf84_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf84_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->self)->GetHasEditableSelection(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->self)->SetHasEditableSelection(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf85_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__::__vwsnf85_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__(::demo::ListViewTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - ::vl::Ptr<::vl::presentation::GuiImageData> __vwsnf85_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_item_) const - { - auto itemToBind = ::vl::__vwsn::Unbox<::vl::Ptr<::vl::presentation::controls::list::ListViewItem>>(__vwsn_item_); - return ::vl::__vwsn::This(itemToBind.Obj())->GetSmallImage(); - } - - //------------------------------------------------------------------- - - __vwsnf86_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__::__vwsnf86_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__(::demo::ListViewTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - ::vl::Ptr<::vl::presentation::GuiImageData> __vwsnf86_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_item_) const - { - auto itemToBind = ::vl::__vwsn::Unbox<::vl::Ptr<::vl::presentation::controls::list::ListViewItem>>(__vwsn_item_); - return ::vl::__vwsn::This(itemToBind.Obj())->GetLargeImage(); - } - - //------------------------------------------------------------------- - - __vwsnf87_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__::__vwsnf87_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__(::demo::ListViewTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - ::vl::WString __vwsnf87_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_item_) const - { - auto itemToBind = ::vl::__vwsn::Unbox<::vl::Ptr<::vl::presentation::controls::list::ListViewItem>>(__vwsn_item_); - return ::vl::__vwsn::This(itemToBind.Obj())->GetText(); - } - - //------------------------------------------------------------------- - - __vwsnf88_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__::__vwsnf88_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__(::demo::ListViewTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - ::vl::WString __vwsnf88_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_item_) const - { - auto itemToBind = ::vl::__vwsn::Unbox<::vl::Ptr<::vl::presentation::controls::list::ListViewItem>>(__vwsn_item_); - return ::vl::__vwsn::Unbox<::vl::WString>(::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(itemToBind.Obj())->GetSubItems()).Obj())->Get(static_cast<::vl::vint>(0))); - } - - //------------------------------------------------------------------- - - __vwsnf89_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__::__vwsnf89_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__(::demo::ListViewTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - ::vl::WString __vwsnf89_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_item_) const - { - auto itemToBind = ::vl::__vwsn::Unbox<::vl::Ptr<::vl::presentation::controls::list::ListViewItem>>(__vwsn_item_); - return ::vl::__vwsn::Unbox<::vl::WString>(::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(itemToBind.Obj())->GetSubItems()).Obj())->Get(static_cast<::vl::vint>(1))); - } - - //------------------------------------------------------------------- - - __vwsnf8_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__::__vwsnf8_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(::demo::DataGridTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - ::vl::presentation::templates::GuiGridVisualizerTemplate* __vwsnf8_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const - { - { - return static_cast<::vl::presentation::templates::GuiGridVisualizerTemplate*>(new ::demo::GenderVisualizer()); - } - } - - //------------------------------------------------------------------- - - __vwsnf90_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__::__vwsnf90_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__(::demo::ListViewTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - ::vl::WString __vwsnf90_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_item_) const - { - auto itemToBind = ::vl::__vwsn::Unbox<::vl::Ptr<::vl::presentation::controls::list::ListViewItem>>(__vwsn_item_); - return ::vl::__vwsn::Unbox<::vl::WString>(::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(itemToBind.Obj())->GetSubItems()).Obj())->Get(static_cast<::vl::vint>(2))); - } - - //------------------------------------------------------------------- - - __vwsnf91_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__::__vwsnf91_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__(::demo::ListViewTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf91_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const - { - { - auto __vwsn_switch_1 = ::vl::__vwsn::This(__vwsnthis_0->comboView)->GetSelectedIndex(); - if ((__vwsn_switch_1 == static_cast<::vl::vint>(0))) - { - ::vl::__vwsn::This(__vwsnthis_0->listView)->SetView(::vl::presentation::controls::ListViewView::BigIcon); - ::vl::__vwsn::This(__vwsnthis_0->bindableListView)->SetView(::vl::presentation::controls::ListViewView::BigIcon); - } - else if ((__vwsn_switch_1 == static_cast<::vl::vint>(1))) - { - ::vl::__vwsn::This(__vwsnthis_0->listView)->SetView(::vl::presentation::controls::ListViewView::SmallIcon); - ::vl::__vwsn::This(__vwsnthis_0->bindableListView)->SetView(::vl::presentation::controls::ListViewView::SmallIcon); - } - else if ((__vwsn_switch_1 == static_cast<::vl::vint>(2))) - { - ::vl::__vwsn::This(__vwsnthis_0->listView)->SetView(::vl::presentation::controls::ListViewView::List); - ::vl::__vwsn::This(__vwsnthis_0->bindableListView)->SetView(::vl::presentation::controls::ListViewView::List); - } - else if ((__vwsn_switch_1 == static_cast<::vl::vint>(3))) - { - ::vl::__vwsn::This(__vwsnthis_0->listView)->SetView(::vl::presentation::controls::ListViewView::Tile); - ::vl::__vwsn::This(__vwsnthis_0->bindableListView)->SetView(::vl::presentation::controls::ListViewView::Tile); - } - else if ((__vwsn_switch_1 == static_cast<::vl::vint>(4))) - { - ::vl::__vwsn::This(__vwsnthis_0->listView)->SetView(::vl::presentation::controls::ListViewView::Information); - ::vl::__vwsn::This(__vwsnthis_0->bindableListView)->SetView(::vl::presentation::controls::ListViewView::Information); - } - else if ((__vwsn_switch_1 == static_cast<::vl::vint>(5))) - { - ::vl::__vwsn::This(__vwsnthis_0->listView)->SetView(::vl::presentation::controls::ListViewView::Detail); - ::vl::__vwsn::This(__vwsnthis_0->bindableListView)->SetView(::vl::presentation::controls::ListViewView::Detail); - } - } - } - - //------------------------------------------------------------------- - - __vwsnf92_Demo_demo_ListViewTabPage___vwsn_instance_ctor__::__vwsnf92_Demo_demo_ListViewTabPage___vwsn_instance_ctor__(::demo::ListViewTabPage* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf92_Demo_demo_ListViewTabPage___vwsn_instance_ctor__::operator()(::vl::Ptr<::vl::presentation::controls::list::ListViewItem> item) const - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(__vwsnthis_0->listView)->GetItems()).Obj())->Add(::vl::__vwsn::Box(item)); - } - - //------------------------------------------------------------------- - - __vwsnf93_Demo_demo_ListViewTabPage___vwsn_instance_ctor__::__vwsnf93_Demo_demo_ListViewTabPage___vwsn_instance_ctor__(::vl::Ptr<::vl::reflection::description::IValueObservableList> __vwsnctor_itemsToBind, ::demo::ListViewTabPage* __vwsnctorthis_0) - :itemsToBind(__vwsnctor_itemsToBind) - , __vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf93_Demo_demo_ListViewTabPage___vwsn_instance_ctor__::operator()(::vl::Ptr<::vl::presentation::controls::list::ListViewItem> item) const - { - ::vl::__vwsn::This(this->itemsToBind.Obj())->Add(::vl::__vwsn::Box(item)); - } - - //------------------------------------------------------------------- - - __vwsnf94_Demo_demo_RepeatTabPageConstructor___vwsn_initialize_instance__::__vwsnf94_Demo_demo_RepeatTabPageConstructor___vwsn_initialize_instance__(::demo::RepeatTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - ::vl::presentation::templates::GuiTemplate* __vwsnf94_Demo_demo_RepeatTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const - { - { - if ([&](){ auto __vwsn_temp__ = __vwsn_viewModel_; return __vwsn_temp__.GetSharedPtr() && ::vl::__vwsn::RawPtrCast<::demo::MyTextItem>(__vwsn_temp__.GetRawPtr()) != nullptr; }()) - { - return static_cast<::vl::presentation::templates::GuiTemplate*>(new ::demo::RepeatItemTemplate(::vl::__vwsn::Unbox<::vl::Ptr<::demo::MyTextItem>>(__vwsn_viewModel_))); - } - } - throw ::vl::Exception(::vl::WString(L"Cannot find a matched control template to create.", false)); - } - - //------------------------------------------------------------------- - - __vwsnf95_Demo_demo_RepeatTabPageConstructor___vwsn_initialize_instance__::__vwsnf95_Demo_demo_RepeatTabPageConstructor___vwsn_initialize_instance__(::demo::RepeatTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - ::vl::presentation::templates::GuiTemplate* __vwsnf95_Demo_demo_RepeatTabPageConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const - { - { - if ([&](){ auto __vwsn_temp__ = __vwsn_viewModel_; return __vwsn_temp__.GetSharedPtr() && ::vl::__vwsn::RawPtrCast<::demo::MyTextItem>(__vwsn_temp__.GetRawPtr()) != nullptr; }()) - { - return static_cast<::vl::presentation::templates::GuiTemplate*>(new ::demo::RepeatItemTemplate(::vl::__vwsn::Unbox<::vl::Ptr<::demo::MyTextItem>>(__vwsn_viewModel_))); - } - } - throw ::vl::Exception(::vl::WString(L"Cannot find a matched control template to create.", false)); - } - - //------------------------------------------------------------------- - - __vwsnf96_Demo_demo_RepeatTabPageConstructor___vwsn_initialize_instance__::__vwsnf96_Demo_demo_RepeatTabPageConstructor___vwsn_initialize_instance__(::demo::RepeatTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf96_Demo_demo_RepeatTabPageConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const - { - { - auto __vwsn_for_begin_i = static_cast<::vl::vint>(0); - auto __vwsn_for_end_i = static_cast<::vl::vint>(9); - auto i = __vwsn_for_begin_i; - while ((i <= __vwsn_for_end_i)) - { - { - auto textItem = ::vl::Ptr<::demo::MyTextItem>(new ::demo::MyTextItem()); - ::vl::__vwsn::This(textItem.Obj())->SetName(::vl::__vwsn::This(__vwsnthis_0->self)->NumberToText((::vl::__vwsn::This(__vwsnthis_0->self)->counter + i))); - ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0->self)->itemsToBind.Obj())->Add(::vl::__vwsn::Box(textItem)); - } - (i = (i + static_cast<::vl::vint>(1))); - } - } - (::vl::__vwsn::This(__vwsnthis_0->self)->counter = (::vl::__vwsn::This(__vwsnthis_0->self)->counter + static_cast<::vl::vint>(10))); - } - - //------------------------------------------------------------------- - - __vwsnf97_Demo_demo_RepeatTabPageConstructor___vwsn_initialize_instance__::__vwsnf97_Demo_demo_RepeatTabPageConstructor___vwsn_initialize_instance__(::demo::RepeatTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf97_Demo_demo_RepeatTabPageConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const - { - auto i = static_cast<::vl::vint>(0); - while ((i < ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0->self)->itemsToBind.Obj())->GetCount())) - { - ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0->self)->itemsToBind.Obj())->RemoveAt(i); - (i = (i + static_cast<::vl::vint>(1))); - } - } - - //------------------------------------------------------------------- - - __vwsnf98_Demo_demo_RepeatTabPageConstructor___vwsn_initialize_instance__::__vwsnf98_Demo_demo_RepeatTabPageConstructor___vwsn_initialize_instance__(::demo::RepeatTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf98_Demo_demo_RepeatTabPageConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const - { - auto i = static_cast<::vl::vint>(1); - while ((i < ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0->self)->itemsToBind.Obj())->GetCount())) - { - ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0->self)->itemsToBind.Obj())->RemoveAt(i); - (i = (i + static_cast<::vl::vint>(1))); - } - } - - //------------------------------------------------------------------- - - __vwsnf99_Demo_demo_RepeatTabPageConstructor___vwsn_initialize_instance__::__vwsnf99_Demo_demo_RepeatTabPageConstructor___vwsn_initialize_instance__(::demo::RepeatTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf99_Demo_demo_RepeatTabPageConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const - { - ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0->self)->itemsToBind.Obj())->Clear(); - } - - //------------------------------------------------------------------- - - __vwsno15_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__Compare_::__vwsno15_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__Compare_(::vl::presentation::controls::list::IDataSorter* __vwsnctorthis_0, ::demo::DataGridTabPageConstructor* __vwsnctorthis_1) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - , __vwsnthis_1(::vl::__vwsn::This(__vwsnctorthis_1)) - { - } - - ::vl::vint __vwsno15_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__Compare_::operator()(::vl::Ptr<::demo::MyDataItem> __vwsno_1, ::vl::Ptr<::demo::MyDataItem> __vwsno_2) const - { - return ::vl::reflection::description::Sys::Compare(static_cast<::vl::vuint64_t>(::vl::__vwsn::This(__vwsno_1.Obj())->GetCategory()), static_cast<::vl::vuint64_t>(::vl::__vwsn::This(__vwsno_2.Obj())->GetCategory())); - } - - //------------------------------------------------------------------- - - __vwsno19_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__Compare_::__vwsno19_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__Compare_(::vl::presentation::controls::list::IDataSorter* __vwsnctorthis_0, ::demo::DataGridTabPageConstructor* __vwsnctorthis_1) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - , __vwsnthis_1(::vl::__vwsn::This(__vwsnctorthis_1)) - { - } - - ::vl::vint __vwsno19_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__Compare_::operator()(::vl::Ptr<::demo::MyDataItem> __vwsno_1, ::vl::Ptr<::demo::MyDataItem> __vwsno_2) const - { - return ::vl::reflection::description::Sys::Compare(::vl::__vwsn::This(__vwsno_1.Obj())->GetBirthday(), ::vl::__vwsn::This(__vwsno_2.Obj())->GetBirthday()); - } - - //------------------------------------------------------------------- - - __vwsno25_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__Compare_::__vwsno25_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__Compare_(::vl::presentation::controls::list::IDataSorter* __vwsnctorthis_0, ::demo::DataGridTabPageConstructor* __vwsnctorthis_1) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - , __vwsnthis_1(::vl::__vwsn::This(__vwsnctorthis_1)) - { - } - - ::vl::vint __vwsno25_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__Compare_::operator()(::vl::Ptr<::demo::MyDataItem> __vwsno_1, ::vl::Ptr<::demo::MyDataItem> __vwsno_2) const - { - return ::vl::reflection::description::Sys::Compare(::vl::__vwsn::This(__vwsno_1.Obj())->GetWebsite(), ::vl::__vwsn::This(__vwsno_2.Obj())->GetWebsite()); - } - - //------------------------------------------------------------------- - - __vwsno3_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__Compare_::__vwsno3_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__Compare_(::vl::presentation::controls::list::IDataSorter* __vwsnctorthis_0, ::demo::DataGridTabPageConstructor* __vwsnctorthis_1) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - , __vwsnthis_1(::vl::__vwsn::This(__vwsnctorthis_1)) - { - } - - ::vl::vint __vwsno3_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__Compare_::operator()(::vl::Ptr<::demo::MyDataItem> __vwsno_1, ::vl::Ptr<::demo::MyDataItem> __vwsno_2) const - { - return ::vl::reflection::description::Sys::Compare(::vl::__vwsn::This(__vwsno_1.Obj())->GetName(), ::vl::__vwsn::This(__vwsno_2.Obj())->GetName()); - } - - //------------------------------------------------------------------- - - __vwsno9_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__Compare_::__vwsno9_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__Compare_(::vl::presentation::controls::list::IDataSorter* __vwsnctorthis_0, ::demo::DataGridTabPageConstructor* __vwsnctorthis_1) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - , __vwsnthis_1(::vl::__vwsn::This(__vwsnctorthis_1)) - { - } - - ::vl::vint __vwsno9_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__Compare_::operator()(::vl::Ptr<::demo::MyDataItem> __vwsno_1, ::vl::Ptr<::demo::MyDataItem> __vwsno_2) const - { - return ::vl::reflection::description::Sys::Compare(static_cast<::vl::vuint64_t>(::vl::__vwsn::This(__vwsno_1.Obj())->GetGender()), static_cast<::vl::vuint64_t>(::vl::__vwsn::This(__vwsno_2.Obj())->GetGender())); - } - - //------------------------------------------------------------------- - - __vwsnc10_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc10_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::demo::DocumentTabPage*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc10_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetHasEditableSelection(); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - void __vwsnc10_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0() - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc10_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = __vwsnthis_0->self); - (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->HasEditableSelectionChanged, ::vl::Func(this, &__vwsnc10_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); - return true; - } - return false; - } - - bool __vwsnc10_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc10_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->HasEditableSelectionChanged, __vwsn_bind_handler_0_0); - (__vwsn_bind_cache_0 = static_cast<::demo::DocumentTabPage*>(nullptr)); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc11_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc11_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::demo::DocumentTabPage*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc11_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsnthis_0->document)->CanPaste(); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - void __vwsnc11_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc11_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = __vwsnthis_0->self); - (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetBoundsComposition())->GetEventReceiver()->clipboardNotify, ::vl::Func(this, &__vwsnc11_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); - return true; - } - return false; - } - - bool __vwsnc11_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc11_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetBoundsComposition())->GetEventReceiver()->clipboardNotify, __vwsn_bind_handler_0_0); - (__vwsn_bind_cache_0 = static_cast<::demo::DocumentTabPage*>(nullptr)); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc12_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc12_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::demo::DocumentTabPage*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc12_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetHasEditableSelection(); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - void __vwsnc12_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0() - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc12_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = __vwsnthis_0->self); - (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->HasEditableSelectionChanged, ::vl::Func(this, &__vwsnc12_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); - return true; - } - return false; - } - - bool __vwsnc12_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc12_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->HasEditableSelectionChanged, __vwsn_bind_handler_0_0); - (__vwsn_bind_cache_0 = static_cast<::demo::DocumentTabPage*>(nullptr)); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc13_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc13_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc13_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsnthis_0->self)->HasEditableCursor(); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - bool __vwsnc13_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - return true; - } - return false; - } - - bool __vwsnc13_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc13_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc14_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc14_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiDocumentViewer*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc14_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsnthis_0->self)->HasEditableHyperlink(true); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - void __vwsnc14_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc14_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = __vwsnthis_0->document); - (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SelectionChanged, ::vl::Func(this, &__vwsnc14_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); - return true; - } - return false; - } - - bool __vwsnc14_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc14_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SelectionChanged, __vwsn_bind_handler_0_0); - (__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiDocumentViewer*>(nullptr)); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc15_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance_____vl_reflection_description_ICoroutine::__vwsnc15_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance_____vl_reflection_description_ICoroutine(::vl::reflection::description::AsyncCoroutine::IImpl* __vwsnctor___vwsn_co_impl_, ::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsn_co_impl_(__vwsnctor___vwsn_co_impl_) - , __vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_co0_mainWindow = static_cast<::vl::presentation::controls::GuiWindow*>(nullptr); - this->__vwsn_co1_window = static_cast<::demo::HyperlinkWindow*>(nullptr); - this->__vwsn_co_state_ = static_cast<::vl::vint>(0); - this->__vwsn_prop_Failure = ::vl::Ptr<::vl::reflection::description::IValueException>(); - this->__vwsn_prop_Status = ::vl::reflection::description::CoroutineStatus::Waiting; - } - - ::vl::Ptr<::vl::reflection::description::IValueException> __vwsnc15_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance_____vl_reflection_description_ICoroutine::GetFailure() - { - return __vwsn_prop_Failure; - } - void __vwsnc15_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance_____vl_reflection_description_ICoroutine::SetFailure(::vl::Ptr<::vl::reflection::description::IValueException> __vwsn_value_) - { - (__vwsn_prop_Failure = __vwsn_value_); - } - - ::vl::reflection::description::CoroutineStatus __vwsnc15_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance_____vl_reflection_description_ICoroutine::GetStatus() - { - return __vwsn_prop_Status; - } - void __vwsnc15_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance_____vl_reflection_description_ICoroutine::SetStatus(::vl::reflection::description::CoroutineStatus __vwsn_value_) - { - (__vwsn_prop_Status = __vwsn_value_); - } - - void __vwsnc15_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance_____vl_reflection_description_ICoroutine::Resume(bool __vwsn_raise_exception_, ::vl::Ptr<::vl::reflection::description::CoroutineResult> __vwsn_co_result_) - { - if ((this->GetStatus() != ::vl::reflection::description::CoroutineStatus::Waiting)) - { - throw ::vl::Exception(::vl::WString(L"Resume should be called only when the coroutine is in the waiting status.", false)); - } - this->SetStatus(::vl::reflection::description::CoroutineStatus::Executing); - try - { - { - while (true) - { - if ((__vwsn_co_state_ == static_cast<::vl::vint>(0))) - { - (__vwsn_co0_mainWindow = ::vl::__vwsn::RawPtrCast<::vl::presentation::controls::GuiWindow>(::vl::__vwsn::This(__vwsnthis_0->self)->GetRelatedControlHost())); - (__vwsn_co1_window = new ::demo::HyperlinkWindow()); - ::vl::__vwsn::This(__vwsn_co1_window)->MoveToScreenCenter(::vl::__vwsn::This(__vwsn_co0_mainWindow)->GetRelatedScreen()); - (__vwsn_co_state_ = static_cast<::vl::vint>(2)); - continue; - } - if ((__vwsn_co_state_ == static_cast<::vl::vint>(1))) - { - if (static_cast(__vwsn_co_result_)) - { - if (static_cast(::vl::__vwsn::This(__vwsn_co_result_.Obj())->GetFailure())) - { - throw ::vl::Exception(::vl::__vwsn::This(::vl::__vwsn::This(__vwsn_co_result_.Obj())->GetFailure().Obj())->GetMessage()); - } - } - if (static_cast(::vl::__vwsn::This(__vwsn_co1_window)->GetUrl())) - { - auto row = ::vl::__vwsn::This(__vwsnthis_0->document)->GetCaretBegin().row; - auto begin = ::vl::__vwsn::This(__vwsnthis_0->document)->GetCaretBegin().column; - auto end = ::vl::__vwsn::This(__vwsnthis_0->document)->GetCaretEnd().column; - ::vl::__vwsn::This(__vwsnthis_0->document)->EditHyperlink(row, begin, end, ::vl::__vwsn::This(__vwsn_co1_window)->GetUrl().Value(), ::vl::WString(L"#NormalLink", false), ::vl::WString(L"#ActiveLink", false)); - } - ::vl::__vwsn::This(__vwsn_co1_window)->Dispose(true); - this->SetStatus(::vl::reflection::description::CoroutineStatus::Stopped); - return; - } - if ((__vwsn_co_state_ == static_cast<::vl::vint>(2))) - { - this->SetStatus(::vl::reflection::description::CoroutineStatus::Waiting); - (__vwsn_co_state_ = static_cast<::vl::vint>(1)); - { - ::vl::reflection::description::AsyncCoroutine::AwaitAndRead(__vwsn_co_impl_, ::vl::__vwsn::This(__vwsn_co1_window)->ShowModalAsync(__vwsn_co0_mainWindow)); - } - return; - } - } - } - } - catch(const ::vl::Exception& __vwsne_0) - { - auto __vwsn_co_ex_ = ::vl::reflection::description::IValueException::Create(__vwsne_0.Message()); - { - this->SetFailure(__vwsn_co_ex_); - this->SetStatus(::vl::reflection::description::CoroutineStatus::Stopped); - if (__vwsn_raise_exception_) - { - throw; - } - } - } - } - - //------------------------------------------------------------------- - - __vwsnc16_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc16_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiDocumentViewer*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc16_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsnthis_0->self)->HasEditableHyperlink(false); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - void __vwsnc16_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc16_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = __vwsnthis_0->document); - (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SelectionChanged, ::vl::Func(this, &__vwsnc16_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); - return true; - } - return false; - } - - bool __vwsnc16_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc16_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SelectionChanged, __vwsn_bind_handler_0_0); - (__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiDocumentViewer*>(nullptr)); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc17_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc17_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::demo::DocumentTabPage*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc17_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetHasEditableSelection(); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - void __vwsnc17_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0() - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc17_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = __vwsnthis_0->self); - (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->HasEditableSelectionChanged, ::vl::Func(this, &__vwsnc17_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); - return true; - } - return false; - } - - bool __vwsnc17_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc17_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->HasEditableSelectionChanged, __vwsn_bind_handler_0_0); - (__vwsn_bind_cache_0 = static_cast<::demo::DocumentTabPage*>(nullptr)); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc18_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc18_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiDocumentViewer*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_handler_0_1 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc18_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = (::vl::__vwsn::This(::vl::__vwsn::This(__vwsn_bind_cache_0)->SummarizeStyle(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetCaretBegin(), ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetCaretEnd()).Obj())->bold == ::vl::Nullable(true)); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - void __vwsnc18_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) - { - this->__vwsn_bind_activator_(); - } - - void __vwsnc18_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_1(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc18_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = __vwsnthis_0->document); - (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SelectionChanged, ::vl::Func(this, &__vwsnc18_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); - (__vwsn_bind_handler_0_1 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->ModifiedChanged, ::vl::Func(this, &__vwsnc18_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_1))); - return true; - } - return false; - } - - bool __vwsnc18_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc18_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SelectionChanged, __vwsn_bind_handler_0_0); - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->ModifiedChanged, __vwsn_bind_handler_0_1); - (__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiDocumentViewer*>(nullptr)); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - (__vwsn_bind_handler_0_1 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc19_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc19_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::demo::DocumentTabPage*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc19_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetHasEditableSelection(); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - void __vwsnc19_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0() - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc19_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = __vwsnthis_0->self); - (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->HasEditableSelectionChanged, ::vl::Func(this, &__vwsnc19_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); - return true; - } - return false; - } - - bool __vwsnc19_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc19_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->HasEditableSelectionChanged, __vwsn_bind_handler_0_0); - (__vwsn_bind_cache_0 = static_cast<::demo::DocumentTabPage*>(nullptr)); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc1_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance___vl_presentation_controls_list_IDataSorter::__vwsnc1_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance___vl_presentation_controls_list_IDataSorter(::demo::DataGridTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnc1_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance___vl_presentation_controls_list_IDataSorter::SetCallback(::vl::presentation::controls::list::IDataProcessorCallback* value) - { - } - - ::vl::vint __vwsnc1_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance___vl_presentation_controls_list_IDataSorter::Compare(const ::vl::reflection::description::Value& __vwsn_row1_, const ::vl::reflection::description::Value& __vwsn_row2_) - { - return LAMBDA(::vl_workflow_global::__vwsno3_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__Compare_(this, __vwsnthis_0))(::vl::__vwsn::Unbox<::vl::Ptr<::demo::MyDataItem>>(__vwsn_row1_), ::vl::__vwsn::Unbox<::vl::Ptr<::demo::MyDataItem>>(__vwsn_row2_)); - } - - //------------------------------------------------------------------- - - __vwsnc20_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc20_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiDocumentViewer*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_handler_0_1 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc20_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = (::vl::__vwsn::This(::vl::__vwsn::This(__vwsn_bind_cache_0)->SummarizeStyle(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetCaretBegin(), ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetCaretEnd()).Obj())->italic == ::vl::Nullable(true)); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - void __vwsnc20_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) - { - this->__vwsn_bind_activator_(); - } - - void __vwsnc20_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_1(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc20_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = __vwsnthis_0->document); - (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SelectionChanged, ::vl::Func(this, &__vwsnc20_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); - (__vwsn_bind_handler_0_1 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->ModifiedChanged, ::vl::Func(this, &__vwsnc20_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_1))); - return true; - } - return false; - } - - bool __vwsnc20_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc20_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SelectionChanged, __vwsn_bind_handler_0_0); - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->ModifiedChanged, __vwsn_bind_handler_0_1); - (__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiDocumentViewer*>(nullptr)); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - (__vwsn_bind_handler_0_1 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc21_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc21_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::demo::DocumentTabPage*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc21_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetHasEditableSelection(); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - void __vwsnc21_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0() - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc21_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = __vwsnthis_0->self); - (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->HasEditableSelectionChanged, ::vl::Func(this, &__vwsnc21_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); - return true; - } - return false; - } - - bool __vwsnc21_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc21_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->HasEditableSelectionChanged, __vwsn_bind_handler_0_0); - (__vwsn_bind_cache_0 = static_cast<::demo::DocumentTabPage*>(nullptr)); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc22_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc22_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiDocumentViewer*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_handler_0_1 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc22_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = (::vl::__vwsn::This(::vl::__vwsn::This(__vwsn_bind_cache_0)->SummarizeStyle(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetCaretBegin(), ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetCaretEnd()).Obj())->underline == ::vl::Nullable(true)); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - void __vwsnc22_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) - { - this->__vwsn_bind_activator_(); - } - - void __vwsnc22_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_1(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc22_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = __vwsnthis_0->document); - (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SelectionChanged, ::vl::Func(this, &__vwsnc22_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); - (__vwsn_bind_handler_0_1 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->ModifiedChanged, ::vl::Func(this, &__vwsnc22_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_1))); - return true; - } - return false; - } - - bool __vwsnc22_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc22_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SelectionChanged, __vwsn_bind_handler_0_0); - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->ModifiedChanged, __vwsn_bind_handler_0_1); - (__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiDocumentViewer*>(nullptr)); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - (__vwsn_bind_handler_0_1 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc23_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc23_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::demo::DocumentTabPage*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc23_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetHasEditableSelection(); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - void __vwsnc23_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0() - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc23_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = __vwsnthis_0->self); - (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->HasEditableSelectionChanged, ::vl::Func(this, &__vwsnc23_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); - return true; - } - return false; - } - - bool __vwsnc23_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc23_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->HasEditableSelectionChanged, __vwsn_bind_handler_0_0); - (__vwsn_bind_cache_0 = static_cast<::demo::DocumentTabPage*>(nullptr)); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc24_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc24_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiDocumentViewer*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_handler_0_1 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc24_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = (::vl::__vwsn::This(::vl::__vwsn::This(__vwsn_bind_cache_0)->SummarizeStyle(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetCaretBegin(), ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetCaretEnd()).Obj())->strikeline == ::vl::Nullable(true)); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - void __vwsnc24_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) - { - this->__vwsn_bind_activator_(); - } - - void __vwsnc24_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_1(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc24_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = __vwsnthis_0->document); - (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SelectionChanged, ::vl::Func(this, &__vwsnc24_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); - (__vwsn_bind_handler_0_1 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->ModifiedChanged, ::vl::Func(this, &__vwsnc24_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_1))); - return true; - } - return false; - } - - bool __vwsnc24_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc24_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SelectionChanged, __vwsn_bind_handler_0_0); - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->ModifiedChanged, __vwsn_bind_handler_0_1); - (__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiDocumentViewer*>(nullptr)); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - (__vwsn_bind_handler_0_1 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc25_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc25_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::demo::DocumentTabPage*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc25_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetHasEditableSelection(); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - void __vwsnc25_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0() - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc25_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = __vwsnthis_0->self); - (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->HasEditableSelectionChanged, ::vl::Func(this, &__vwsnc25_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); - return true; - } - return false; - } - - bool __vwsnc25_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc25_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->HasEditableSelectionChanged, __vwsn_bind_handler_0_0); - (__vwsn_bind_cache_0 = static_cast<::demo::DocumentTabPage*>(nullptr)); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc26_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc26_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::demo::DocumentTabPage*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc26_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetHasEditableSelection(); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - void __vwsnc26_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0() - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc26_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = __vwsnthis_0->self); - (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->HasEditableSelectionChanged, ::vl::Func(this, &__vwsnc26_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); - return true; - } - return false; - } - - bool __vwsnc26_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc26_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->HasEditableSelectionChanged, __vwsn_bind_handler_0_0); - (__vwsn_bind_cache_0 = static_cast<::demo::DocumentTabPage*>(nullptr)); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc27_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc27_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::demo::DocumentTabPage*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc27_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetHasEditableSelection(); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - void __vwsnc27_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0() - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc27_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = __vwsnthis_0->self); - (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->HasEditableSelectionChanged, ::vl::Func(this, &__vwsnc27_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); - return true; - } - return false; - } - - bool __vwsnc27_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc27_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->HasEditableSelectionChanged, __vwsn_bind_handler_0_0); - (__vwsn_bind_cache_0 = static_cast<::demo::DocumentTabPage*>(nullptr)); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc28_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc28_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc28_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsnthis_0->self)->HasEditableCursor(); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - bool __vwsnc28_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - return true; - } - return false; - } - - bool __vwsnc28_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc28_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc29_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc29_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc29_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsnthis_0->self)->HasEditableCursor(); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - bool __vwsnc29_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - return true; - } - return false; - } - - bool __vwsnc29_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc29_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc2_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance___vl_presentation_controls_list_IDataSorter::__vwsnc2_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance___vl_presentation_controls_list_IDataSorter(::demo::DataGridTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnc2_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance___vl_presentation_controls_list_IDataSorter::SetCallback(::vl::presentation::controls::list::IDataProcessorCallback* value) - { - } - - ::vl::vint __vwsnc2_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance___vl_presentation_controls_list_IDataSorter::Compare(const ::vl::reflection::description::Value& __vwsn_row1_, const ::vl::reflection::description::Value& __vwsn_row2_) - { - return LAMBDA(::vl_workflow_global::__vwsno9_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__Compare_(this, __vwsnthis_0))(::vl::__vwsn::Unbox<::vl::Ptr<::demo::MyDataItem>>(__vwsn_row1_), ::vl::__vwsn::Unbox<::vl::Ptr<::demo::MyDataItem>>(__vwsn_row2_)); - } - - //------------------------------------------------------------------- - - __vwsnc30_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc30_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiDocumentViewer*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc30_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = (::vl::__vwsn::This(__vwsnthis_0->self)->SelectAlignmentCommand() == __vwsnthis_0->commandAlignLeft); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - void __vwsnc30_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc30_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = __vwsnthis_0->document); - (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SelectionChanged, ::vl::Func(this, &__vwsnc30_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); - return true; - } - return false; - } - - bool __vwsnc30_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc30_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SelectionChanged, __vwsn_bind_handler_0_0); - (__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiDocumentViewer*>(nullptr)); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc31_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc31_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc31_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsnthis_0->self)->HasEditableCursor(); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - bool __vwsnc31_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - return true; - } - return false; - } - - bool __vwsnc31_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc31_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc32_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc32_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiDocumentViewer*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc32_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = (::vl::__vwsn::This(__vwsnthis_0->self)->SelectAlignmentCommand() == __vwsnthis_0->commandAlignCenter); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - void __vwsnc32_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc32_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = __vwsnthis_0->document); - (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SelectionChanged, ::vl::Func(this, &__vwsnc32_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); - return true; - } - return false; - } - - bool __vwsnc32_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc32_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SelectionChanged, __vwsn_bind_handler_0_0); - (__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiDocumentViewer*>(nullptr)); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc33_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc33_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc33_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsnthis_0->self)->HasEditableCursor(); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - bool __vwsnc33_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - return true; - } - return false; - } - - bool __vwsnc33_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc33_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc34_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc34_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiDocumentViewer*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc34_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = (::vl::__vwsn::This(__vwsnthis_0->self)->SelectAlignmentCommand() == __vwsnthis_0->commandAlignRight); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - void __vwsnc34_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc34_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = __vwsnthis_0->document); - (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SelectionChanged, ::vl::Func(this, &__vwsnc34_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); - return true; - } - return false; - } - - bool __vwsnc34_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc34_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SelectionChanged, __vwsn_bind_handler_0_0); - (__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiDocumentViewer*>(nullptr)); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc35_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc35_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiDocumentViewer*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc35_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0)->CanCut(); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - void __vwsnc35_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc35_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = __vwsnthis_0->document); - (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SelectionChanged, ::vl::Func(this, &__vwsnc35_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); - return true; - } - return false; - } - - bool __vwsnc35_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc35_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SelectionChanged, __vwsn_bind_handler_0_0); - (__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiDocumentViewer*>(nullptr)); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc36_Demo_demo_DateEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc36_Demo_demo_DateEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DateEditorConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::demo::DateEditor*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc36_Demo_demo_DateEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = [&](){ try{ return ::vl::__vwsn::Unbox<::vl::DateTime>(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetCellValue()); } catch(...){ return ::vl::__vwsn::Parse<::vl::DateTime>(::vl::WString(L"2000-01-01 00:00:00.000", false)); } }(); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - void __vwsnc36_Demo_demo_DateEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc36_Demo_demo_DateEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = __vwsnthis_0->self); - (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->CellValueChanged, ::vl::Func(this, &__vwsnc36_Demo_demo_DateEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); - return true; - } - return false; - } - - bool __vwsnc36_Demo_demo_DateEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc36_Demo_demo_DateEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->CellValueChanged, __vwsn_bind_handler_0_0); - (__vwsn_bind_cache_0 = static_cast<::demo::DateEditor*>(nullptr)); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc37_Demo_demo_DateEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc37_Demo_demo_DateEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DateEditorConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiDateComboBox*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc37_Demo_demo_DateEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::Box(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetSelectedDate()); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(__vwsn_bind_activator_result_); - } - - void __vwsnc37_Demo_demo_DateEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc37_Demo_demo_DateEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = __vwsnthis_0->comboBox); - (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SelectedDateChanged, ::vl::Func(this, &__vwsnc37_Demo_demo_DateEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); - return true; - } - return false; - } - - bool __vwsnc37_Demo_demo_DateEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc37_Demo_demo_DateEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SelectedDateChanged, __vwsn_bind_handler_0_0); - (__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiDateComboBox*>(nullptr)); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc38_Demo_demo_DateFilterConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc38_Demo_demo_DateFilterConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DateFilterConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiSelectableButton*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc38_Demo_demo_DateFilterConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetSelected(); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - void __vwsnc38_Demo_demo_DateFilterConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc38_Demo_demo_DateFilterConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = __vwsnthis_0->checkFrom); - (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SelectedChanged, ::vl::Func(this, &__vwsnc38_Demo_demo_DateFilterConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); - return true; - } - return false; - } - - bool __vwsnc38_Demo_demo_DateFilterConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc38_Demo_demo_DateFilterConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SelectedChanged, __vwsn_bind_handler_0_0); - (__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiSelectableButton*>(nullptr)); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc39_Demo_demo_DateFilterConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc39_Demo_demo_DateFilterConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DateFilterConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiSelectableButton*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc39_Demo_demo_DateFilterConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetSelected(); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - void __vwsnc39_Demo_demo_DateFilterConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc39_Demo_demo_DateFilterConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = __vwsnthis_0->checkTo); - (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SelectedChanged, ::vl::Func(this, &__vwsnc39_Demo_demo_DateFilterConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); - return true; - } - return false; - } - - bool __vwsnc39_Demo_demo_DateFilterConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc39_Demo_demo_DateFilterConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SelectedChanged, __vwsn_bind_handler_0_0); - (__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiSelectableButton*>(nullptr)); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc3_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance___vl_presentation_controls_list_IDataSorter::__vwsnc3_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance___vl_presentation_controls_list_IDataSorter(::demo::DataGridTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnc3_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance___vl_presentation_controls_list_IDataSorter::SetCallback(::vl::presentation::controls::list::IDataProcessorCallback* value) - { - } - - ::vl::vint __vwsnc3_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance___vl_presentation_controls_list_IDataSorter::Compare(const ::vl::reflection::description::Value& __vwsn_row1_, const ::vl::reflection::description::Value& __vwsn_row2_) - { - return LAMBDA(::vl_workflow_global::__vwsno15_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__Compare_(this, __vwsnthis_0))(::vl::__vwsn::Unbox<::vl::Ptr<::demo::MyDataItem>>(__vwsn_row1_), ::vl::__vwsn::Unbox<::vl::Ptr<::demo::MyDataItem>>(__vwsn_row2_)); - } - - //------------------------------------------------------------------- - - __vwsnc40_Demo_demo_DateFilter___vwsn_instance_ctor___vl_presentation_controls_list_IDataFilter::__vwsnc40_Demo_demo_DateFilter___vwsn_instance_ctor___vl_presentation_controls_list_IDataFilter(::demo::DateFilter* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnc40_Demo_demo_DateFilter___vwsn_instance_ctor___vl_presentation_controls_list_IDataFilter::SetCallback(::vl::presentation::controls::list::IDataProcessorCallback* value) - { - (__vwsnthis_0->callback = value); - } - - bool __vwsnc40_Demo_demo_DateFilter___vwsn_instance_ctor___vl_presentation_controls_list_IDataFilter::Filter(const ::vl::reflection::description::Value& row) - { - auto date = ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::demo::MyDataItem>>(row).Obj())->GetBirthday(); - if (::vl::__vwsn::This(__vwsnthis_0->checkFrom)->GetSelected()) - { - if ((::vl::reflection::description::Sys::Compare(date, ::vl::__vwsn::This(__vwsnthis_0->dateFrom)->GetSelectedDate()) < static_cast<::vl::vint>(0))) - { - return false; - } - } - if (::vl::__vwsn::This(__vwsnthis_0->checkTo)->GetSelected()) - { - if ((::vl::reflection::description::Sys::Compare(date, ::vl::__vwsn::This(__vwsnthis_0->dateTo)->GetSelectedDate()) > static_cast<::vl::vint>(0))) - { - return false; - } - } - return true; - } - - //------------------------------------------------------------------- - - __vwsnc41_Demo_demo_TextEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc41_Demo_demo_TextEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::TextEditorConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::demo::TextEditor*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc41_Demo_demo_TextEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = [&](){ try{ return ::vl::__vwsn::Unbox<::vl::WString>(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetCellValue()); } catch(...){ return ::vl::WString(L"", false); } }(); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - void __vwsnc41_Demo_demo_TextEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc41_Demo_demo_TextEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = __vwsnthis_0->self); - (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->CellValueChanged, ::vl::Func(this, &__vwsnc41_Demo_demo_TextEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); - return true; - } - return false; - } - - bool __vwsnc41_Demo_demo_TextEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc41_Demo_demo_TextEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->CellValueChanged, __vwsn_bind_handler_0_0); - (__vwsn_bind_cache_0 = static_cast<::demo::TextEditor*>(nullptr)); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc42_Demo_demo_TextEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc42_Demo_demo_TextEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::TextEditorConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiSinglelineTextBox*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc42_Demo_demo_TextEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::Box(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetText()); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(__vwsn_bind_activator_result_); - } - - void __vwsnc42_Demo_demo_TextEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc42_Demo_demo_TextEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = __vwsnthis_0->textBox); - (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->TextChanged, ::vl::Func(this, &__vwsnc42_Demo_demo_TextEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); - return true; - } - return false; - } - - bool __vwsnc42_Demo_demo_TextEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc42_Demo_demo_TextEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->TextChanged, __vwsn_bind_handler_0_0); - (__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiSinglelineTextBox*>(nullptr)); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc43_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc43_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::CategoryDisplayerConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::demo::CategoryDisplayer*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc43_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = GLOBAL_NAME ToColor(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetCategory()); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - void __vwsnc43_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0() - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc43_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = __vwsnthis_0->self); - (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->CategoryChanged, ::vl::Func(this, &__vwsnc43_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); - return true; - } - return false; - } - - bool __vwsnc43_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc43_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->CategoryChanged, __vwsn_bind_handler_0_0); - (__vwsn_bind_cache_0 = static_cast<::demo::CategoryDisplayer*>(nullptr)); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc44_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc44_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::CategoryDisplayerConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::demo::CategoryDisplayer*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc44_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = GLOBAL_NAME ToString(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetCategory()); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - void __vwsnc44_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0() - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc44_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = __vwsnthis_0->self); - (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->CategoryChanged, ::vl::Func(this, &__vwsnc44_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); - return true; - } - return false; - } - - bool __vwsnc44_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc44_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->CategoryChanged, __vwsn_bind_handler_0_0); - (__vwsn_bind_cache_0 = static_cast<::demo::CategoryDisplayer*>(nullptr)); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc45_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc45_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::CategoryDisplayerConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::demo::CategoryDisplayer*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc45_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetFont(); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - void __vwsnc45_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc45_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = __vwsnthis_0->self); - (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->FontChanged, ::vl::Func(this, &__vwsnc45_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); - return true; - } - return false; - } - - bool __vwsnc45_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc45_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->FontChanged, __vwsn_bind_handler_0_0); - (__vwsn_bind_cache_0 = static_cast<::demo::CategoryDisplayer*>(nullptr)); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc46_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc46_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::CategoryEditorConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::demo::CategoryEditor*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc46_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0->self)->items.Obj())->IndexOf(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetCellValue()); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - void __vwsnc46_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc46_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = __vwsnthis_0->self); - (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->CellValueChanged, ::vl::Func(this, &__vwsnc46_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); - return true; - } - return false; - } - - bool __vwsnc46_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc46_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->CellValueChanged, __vwsn_bind_handler_0_0); - (__vwsn_bind_cache_0 = static_cast<::demo::CategoryEditor*>(nullptr)); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc47_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc47_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::CategoryEditorConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiComboBoxListControl*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc47_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetSelectedItem(); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(__vwsn_bind_activator_result_); - } - - void __vwsnc47_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc47_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = __vwsnthis_0->comboBox); - (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SelectedIndexChanged, ::vl::Func(this, &__vwsnc47_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); - return true; - } - return false; - } - - bool __vwsnc47_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc47_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SelectedIndexChanged, __vwsn_bind_handler_0_0); - (__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiComboBoxListControl*>(nullptr)); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc48_Demo_demo_CategoryItemTemplateConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc48_Demo_demo_CategoryItemTemplateConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::CategoryItemTemplateConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::demo::CategoryItemTemplate*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc48_Demo_demo_CategoryItemTemplateConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetFont(); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - void __vwsnc48_Demo_demo_CategoryItemTemplateConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc48_Demo_demo_CategoryItemTemplateConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = __vwsnthis_0->self); - (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->FontChanged, ::vl::Func(this, &__vwsnc48_Demo_demo_CategoryItemTemplateConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); - return true; - } - return false; - } - - bool __vwsnc48_Demo_demo_CategoryItemTemplateConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc48_Demo_demo_CategoryItemTemplateConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->FontChanged, __vwsn_bind_handler_0_0); - (__vwsn_bind_cache_0 = static_cast<::demo::CategoryItemTemplate*>(nullptr)); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc49_Demo_demo_CategoryVisualizerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc49_Demo_demo_CategoryVisualizerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::CategoryVisualizerConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::demo::CategoryVisualizer*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc49_Demo_demo_CategoryVisualizerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetFont(); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - void __vwsnc49_Demo_demo_CategoryVisualizerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc49_Demo_demo_CategoryVisualizerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = __vwsnthis_0->self); - (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->FontChanged, ::vl::Func(this, &__vwsnc49_Demo_demo_CategoryVisualizerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); - return true; - } - return false; - } - - bool __vwsnc49_Demo_demo_CategoryVisualizerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc49_Demo_demo_CategoryVisualizerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->FontChanged, __vwsn_bind_handler_0_0); - (__vwsn_bind_cache_0 = static_cast<::demo::CategoryVisualizer*>(nullptr)); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc4_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance___vl_presentation_controls_list_IDataSorter::__vwsnc4_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance___vl_presentation_controls_list_IDataSorter(::demo::DataGridTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnc4_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance___vl_presentation_controls_list_IDataSorter::SetCallback(::vl::presentation::controls::list::IDataProcessorCallback* value) - { - } - - ::vl::vint __vwsnc4_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance___vl_presentation_controls_list_IDataSorter::Compare(const ::vl::reflection::description::Value& __vwsn_row1_, const ::vl::reflection::description::Value& __vwsn_row2_) - { - return LAMBDA(::vl_workflow_global::__vwsno19_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__Compare_(this, __vwsnthis_0))(::vl::__vwsn::Unbox<::vl::Ptr<::demo::MyDataItem>>(__vwsn_row1_), ::vl::__vwsn::Unbox<::vl::Ptr<::demo::MyDataItem>>(__vwsn_row2_)); - } - - //------------------------------------------------------------------- - - __vwsnc50_Demo_demo_CategoryVisualizerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc50_Demo_demo_CategoryVisualizerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::CategoryVisualizerConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::demo::CategoryVisualizer*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc50_Demo_demo_CategoryVisualizerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = [&](){ try{ return ::vl::__vwsn::Unbox<::demo::MyCategory>(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetCellValue()); } catch(...){ return ::demo::MyCategory::Black; } }(); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - void __vwsnc50_Demo_demo_CategoryVisualizerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc50_Demo_demo_CategoryVisualizerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = __vwsnthis_0->self); - (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->CellValueChanged, ::vl::Func(this, &__vwsnc50_Demo_demo_CategoryVisualizerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); - return true; - } - return false; - } - - bool __vwsnc50_Demo_demo_CategoryVisualizerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc50_Demo_demo_CategoryVisualizerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->CellValueChanged, __vwsn_bind_handler_0_0); - (__vwsn_bind_cache_0 = static_cast<::demo::CategoryVisualizer*>(nullptr)); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc51_Demo_demo_GenderDisplayerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc51_Demo_demo_GenderDisplayerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::GenderDisplayerConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::demo::GenderDisplayer*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc51_Demo_demo_GenderDisplayerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsnthis_0->self)->ResolveResource(::vl::WString(L"res", false), (::vl::WString(L"MiscImages/", false) + GLOBAL_NAME ToString(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetGender())), true).Obj())).Obj())->GetImage(); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - void __vwsnc51_Demo_demo_GenderDisplayerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0() - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc51_Demo_demo_GenderDisplayerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = __vwsnthis_0->self); - (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->GenderChanged, ::vl::Func(this, &__vwsnc51_Demo_demo_GenderDisplayerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); - return true; - } - return false; - } - - bool __vwsnc51_Demo_demo_GenderDisplayerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc51_Demo_demo_GenderDisplayerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->GenderChanged, __vwsn_bind_handler_0_0); - (__vwsn_bind_cache_0 = static_cast<::demo::GenderDisplayer*>(nullptr)); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc52_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc52_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::GenderEditorConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::demo::GenderEditor*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc52_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0->self)->items.Obj())->IndexOf(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetCellValue()); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - void __vwsnc52_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc52_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = __vwsnthis_0->self); - (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->CellValueChanged, ::vl::Func(this, &__vwsnc52_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); - return true; - } - return false; - } - - bool __vwsnc52_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc52_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->CellValueChanged, __vwsn_bind_handler_0_0); - (__vwsn_bind_cache_0 = static_cast<::demo::GenderEditor*>(nullptr)); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc53_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc53_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::GenderEditorConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiComboBoxListControl*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc53_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetSelectedItem(); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(__vwsn_bind_activator_result_); - } - - void __vwsnc53_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc53_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = __vwsnthis_0->comboBox); - (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SelectedIndexChanged, ::vl::Func(this, &__vwsnc53_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); - return true; - } - return false; - } - - bool __vwsnc53_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc53_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SelectedIndexChanged, __vwsn_bind_handler_0_0); - (__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiComboBoxListControl*>(nullptr)); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc54_Demo_demo_GenderVisualizerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc54_Demo_demo_GenderVisualizerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::GenderVisualizerConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::demo::GenderVisualizer*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc54_Demo_demo_GenderVisualizerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = [&](){ try{ return ::vl::__vwsn::Unbox<::demo::MyGender>(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetCellValue()); } catch(...){ return ::demo::MyGender::Male; } }(); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - void __vwsnc54_Demo_demo_GenderVisualizerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc54_Demo_demo_GenderVisualizerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = __vwsnthis_0->self); - (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->CellValueChanged, ::vl::Func(this, &__vwsnc54_Demo_demo_GenderVisualizerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); - return true; - } - return false; - } - - bool __vwsnc54_Demo_demo_GenderVisualizerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc54_Demo_demo_GenderVisualizerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->CellValueChanged, __vwsn_bind_handler_0_0); - (__vwsn_bind_cache_0 = static_cast<::demo::GenderVisualizer*>(nullptr)); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc55_Demo_demo_RepeatItemTemplateConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc55_Demo_demo_RepeatItemTemplateConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::RepeatItemTemplateConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc55_Demo_demo_RepeatItemTemplateConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsnthis_0->ViewModel.Obj())->GetName(); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - bool __vwsnc55_Demo_demo_RepeatItemTemplateConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - return true; - } - return false; - } - - bool __vwsnc55_Demo_demo_RepeatItemTemplateConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc55_Demo_demo_RepeatItemTemplateConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc56_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc56_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::TextBoxTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiSinglelineTextBox*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc56_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = (::vl::__vwsn::This(__vwsn_bind_cache_0)->GetFont().size > static_cast<::vl::vint>(5)); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - void __vwsnc56_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc56_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = __vwsnthis_0->textBoxS); - (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->FontChanged, ::vl::Func(this, &__vwsnc56_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); - return true; - } - return false; - } - - bool __vwsnc56_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc56_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->FontChanged, __vwsn_bind_handler_0_0); - (__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiSinglelineTextBox*>(nullptr)); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc5_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance___vl_presentation_controls_list_IDataSorter::__vwsnc5_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance___vl_presentation_controls_list_IDataSorter(::demo::DataGridTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnc5_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance___vl_presentation_controls_list_IDataSorter::SetCallback(::vl::presentation::controls::list::IDataProcessorCallback* value) - { - } - - ::vl::vint __vwsnc5_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance___vl_presentation_controls_list_IDataSorter::Compare(const ::vl::reflection::description::Value& __vwsn_row1_, const ::vl::reflection::description::Value& __vwsn_row2_) - { - return LAMBDA(::vl_workflow_global::__vwsno25_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__Compare_(this, __vwsnthis_0))(::vl::__vwsn::Unbox<::vl::Ptr<::demo::MyDataItem>>(__vwsn_row1_), ::vl::__vwsn::Unbox<::vl::Ptr<::demo::MyDataItem>>(__vwsn_row2_)); - } - - //------------------------------------------------------------------- - - __vwsnc6_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc6_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiDocumentViewer*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc6_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0->self)->SelectAlignmentCommand())->GetImage(); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - void __vwsnc6_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc6_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = __vwsnthis_0->document); - (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SelectionChanged, ::vl::Func(this, &__vwsnc6_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); - return true; - } - return false; - } - - bool __vwsnc6_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc6_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SelectionChanged, __vwsn_bind_handler_0_0); - (__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiDocumentViewer*>(nullptr)); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc7_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc7_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiDocumentViewer*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc7_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0)->CanUndo(); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - void __vwsnc7_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc7_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = __vwsnthis_0->document); - (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->UndoRedoChanged, ::vl::Func(this, &__vwsnc7_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); - return true; - } - return false; - } - - bool __vwsnc7_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc7_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->UndoRedoChanged, __vwsn_bind_handler_0_0); - (__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiDocumentViewer*>(nullptr)); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc8_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc8_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiDocumentViewer*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc8_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0)->CanRedo(); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - void __vwsnc8_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc8_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = __vwsnthis_0->document); - (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->UndoRedoChanged, ::vl::Func(this, &__vwsnc8_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); - return true; - } - return false; - } - - bool __vwsnc8_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc8_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->UndoRedoChanged, __vwsn_bind_handler_0_0); - (__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiDocumentViewer*>(nullptr)); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc9_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc9_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiDocumentViewer*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc9_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0)->CanCopy(); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - void __vwsnc9_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc9_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = __vwsnthis_0->document); - (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SelectionChanged, ::vl::Func(this, &__vwsnc9_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); - return true; - } - return false; - } - - bool __vwsnc9_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc9_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SelectionChanged, __vwsn_bind_handler_0_0); - (__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiDocumentViewer*>(nullptr)); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - return true; - } - return false; - } - -} - -/*********************************************************************** -Class (::demo::DataGridTabPageConstructor) -***********************************************************************/ - -namespace demo -{ - void DataGridTabPageConstructor::__vwsn_initialize_instance_(::demo::DataGridTabPage* __vwsn_this_) - { - (this->self = __vwsn_this_); - { - ::vl::__vwsn::This(this->self)->SetText(::vl::WString(L"BindableDataGrid", false)); - } - (this->__vwsn_precompile_0 = new ::vl::presentation::compositions::GuiTableComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetCellPadding(::vl::__vwsn::Parse<::vl::vint>(::vl::WString(L"5", false))); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowsAndColumns(static_cast<::vl::vint>(2), static_cast<::vl::vint>(1)); - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowOption(static_cast<::vl::vint>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowOption(static_cast<::vl::vint>(1), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(1.0); return __vwsn_temp__; }()); - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(1.0); return __vwsn_temp__; }()); - } - (this->__vwsn_precompile_1 = new ::vl::presentation::compositions::GuiCellComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_1)->SetSite(static_cast<::vl::vint>(0), static_cast<::vl::vint>(0), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateTextListStyle(); - (this->__vwsn_precompile_2 = new ::vl::presentation::controls::GuiTextList(__vwsn_controlStyle_)); - } - (this->__vwsn_precompile_3 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(new ::vl::presentation::controls::list::TextItem())); - { - ::vl::__vwsn::This(this->__vwsn_precompile_3.Obj())->SetText(::vl::WString(L"BigIcon", false)); - } - { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetItems()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_3)); - } - (this->__vwsn_precompile_4 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(new ::vl::presentation::controls::list::TextItem())); - { - ::vl::__vwsn::This(this->__vwsn_precompile_4.Obj())->SetText(::vl::WString(L"SmallIcon", false)); - } - { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetItems()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_4)); - } - (this->__vwsn_precompile_5 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(new ::vl::presentation::controls::list::TextItem())); - { - ::vl::__vwsn::This(this->__vwsn_precompile_5.Obj())->SetText(::vl::WString(L"List", false)); - } - { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetItems()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_5)); - } - (this->__vwsn_precompile_6 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(new ::vl::presentation::controls::list::TextItem())); - { - ::vl::__vwsn::This(this->__vwsn_precompile_6.Obj())->SetText(::vl::WString(L"Tile", false)); - } - { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetItems()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_6)); - } - (this->__vwsn_precompile_7 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(new ::vl::presentation::controls::list::TextItem())); - { - ::vl::__vwsn::This(this->__vwsn_precompile_7.Obj())->SetText(::vl::WString(L"Information", false)); - } - { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetItems()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_7)); - } - (this->__vwsn_precompile_8 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(new ::vl::presentation::controls::list::TextItem())); - { - ::vl::__vwsn::This(this->__vwsn_precompile_8.Obj())->SetText(::vl::WString(L"Detail", false)); - } - { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetItems()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_8)); - } - (this->__vwsn_precompile_9 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(new ::vl::presentation::controls::list::TextItem())); - { - ::vl::__vwsn::This(this->__vwsn_precompile_9.Obj())->SetText(::vl::WString(L"DataGrid", false)); - } - { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetItems()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_9)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_2)->SetVerticalAlwaysVisible(::vl::__vwsn::Parse(::vl::WString(L"false", false))); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_2)->SetHorizontalAlwaysVisible(::vl::__vwsn::Parse(::vl::WString(L"false", false))); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateComboBoxStyle(); - (this->comboView = new ::vl::presentation::controls::GuiComboBoxListControl(__vwsn_controlStyle_, this->__vwsn_precompile_2)); - } - { - ::vl::__vwsn::This(this->comboView)->SetSelectedIndex(::vl::__vwsn::Parse<::vl::vint>(::vl::WString(L"6", false))); - } - { - ::vl::__vwsn::This(this->comboView)->SetAlt(::vl::WString(L"V", false)); - } - (this->__vwsn_precompile_10 = ::vl::__vwsn::This(this->comboView)->GetBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_10)->SetPreferredMinSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(120); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_1)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->comboView)->GetBoundsComposition())); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_1)); - } - (this->__vwsn_precompile_11 = new ::vl::presentation::compositions::GuiCellComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_11)->SetSite(static_cast<::vl::vint>(1), static_cast<::vl::vint>(0), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateListViewStyle(); - (this->dataGrid = new ::vl::presentation::controls::GuiBindableDataGrid(__vwsn_controlStyle_, ::vl::reflection::description::Value())); - } - { - ::vl::__vwsn::This(this->dataGrid)->SetSmallImageProperty(LAMBDA(::vl_workflow_global::__vwsnf1_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(this))); - } - { - ::vl::__vwsn::This(this->dataGrid)->SetLargeImageProperty(LAMBDA(::vl_workflow_global::__vwsnf2_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(this))); - } - { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->dataGrid)->GetDataColumns()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(::vl::__vwsn::Parse<::vl::vint>(::vl::WString(L"0", false)))); - } - { - ::vl::__vwsn::This(this->dataGrid)->SetVerticalAlwaysVisible(::vl::__vwsn::Parse(::vl::WString(L"false", false))); - } - { - ::vl::__vwsn::This(this->dataGrid)->SetHorizontalAlwaysVisible(::vl::__vwsn::Parse(::vl::WString(L"false", false))); - } - { - ::vl::__vwsn::This(this->dataGrid)->SetAlt(::vl::WString(L"L", false)); - } - (this->__vwsn_precompile_19 = ::vl::__vwsn::This(this->dataGrid)->GetBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_19)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); - } - (this->__vwsn_precompile_12 = ::vl::Ptr<::vl::presentation::controls::list::DataColumn>(new ::vl::presentation::controls::list::DataColumn())); - { - ::vl::__vwsn::This(this->__vwsn_precompile_12.Obj())->SetSorter(::vl::Ptr<::vl::presentation::controls::list::IDataSorter>(new ::vl_workflow_global::__vwsnc1_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance___vl_presentation_controls_list_IDataSorter(this))); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_12.Obj())->SetEditorFactory(::vl::Ptr<::vl::presentation::controls::list::IDataEditorFactory>(::vl::Ptr<::vl::presentation::controls::list::DataEditorFactory>(new ::vl::presentation::controls::list::DataEditorFactory(LAMBDA(::vl_workflow_global::__vwsnf4_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(this)))))); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_12.Obj())->SetValueProperty(LAMBDA(::vl_workflow_global::__vwsnf5_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(this))); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_12.Obj())->SetSize(::vl::__vwsn::Parse<::vl::vint>(::vl::WString(L"120", false))); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_12.Obj())->SetTextProperty(LAMBDA(::vl_workflow_global::__vwsnf6_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(this))); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_12.Obj())->SetText(::vl::WString(L"Name", false)); - } - { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->dataGrid)->GetColumns()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_12)); - } - (this->__vwsn_precompile_13 = ::vl::Ptr<::vl::presentation::controls::list::DataColumn>(new ::vl::presentation::controls::list::DataColumn())); - { - ::vl::__vwsn::This(this->__vwsn_precompile_13.Obj())->SetVisualizerFactory(::vl::Ptr<::vl::presentation::controls::list::IDataVisualizerFactory>(::vl::Ptr<::vl::presentation::controls::list::DataVisualizerFactory>(new ::vl::presentation::controls::list::DataVisualizerFactory(LAMBDA(::vl_workflow_global::__vwsnf7_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(this)), ::vl::Ptr<::vl::presentation::controls::list::DataVisualizerFactory>(new ::vl::presentation::controls::list::DataVisualizerFactory(LAMBDA(::vl_workflow_global::__vwsnf8_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(this)), ::vl::Ptr<::vl::presentation::controls::list::DataVisualizerFactory>())))))); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_13.Obj())->SetSorter(::vl::Ptr<::vl::presentation::controls::list::IDataSorter>(new ::vl_workflow_global::__vwsnc2_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance___vl_presentation_controls_list_IDataSorter(this))); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_13.Obj())->SetEditorFactory(::vl::Ptr<::vl::presentation::controls::list::IDataEditorFactory>(::vl::Ptr<::vl::presentation::controls::list::DataEditorFactory>(new ::vl::presentation::controls::list::DataEditorFactory(LAMBDA(::vl_workflow_global::__vwsnf10_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(this)))))); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_13.Obj())->SetValueProperty(LAMBDA(::vl_workflow_global::__vwsnf11_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(this))); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_13.Obj())->SetSize(::vl::__vwsn::Parse<::vl::vint>(::vl::WString(L"80", false))); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_13.Obj())->SetTextProperty(LAMBDA(::vl_workflow_global::__vwsnf12_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(this))); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_13.Obj())->SetText(::vl::WString(L"Gender", false)); - } - { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->dataGrid)->GetColumns()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_13)); - } - (this->__vwsn_precompile_14 = ::vl::Ptr<::vl::presentation::controls::list::DataColumn>(new ::vl::presentation::controls::list::DataColumn())); - { - ::vl::__vwsn::This(this->__vwsn_precompile_14.Obj())->SetVisualizerFactory(::vl::Ptr<::vl::presentation::controls::list::IDataVisualizerFactory>(::vl::Ptr<::vl::presentation::controls::list::DataVisualizerFactory>(new ::vl::presentation::controls::list::DataVisualizerFactory(LAMBDA(::vl_workflow_global::__vwsnf13_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(this)), ::vl::Ptr<::vl::presentation::controls::list::DataVisualizerFactory>(new ::vl::presentation::controls::list::DataVisualizerFactory(LAMBDA(::vl_workflow_global::__vwsnf14_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(this)), ::vl::Ptr<::vl::presentation::controls::list::DataVisualizerFactory>())))))); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_14.Obj())->SetSorter(::vl::Ptr<::vl::presentation::controls::list::IDataSorter>(new ::vl_workflow_global::__vwsnc3_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance___vl_presentation_controls_list_IDataSorter(this))); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_14.Obj())->SetEditorFactory(::vl::Ptr<::vl::presentation::controls::list::IDataEditorFactory>(::vl::Ptr<::vl::presentation::controls::list::DataEditorFactory>(new ::vl::presentation::controls::list::DataEditorFactory(LAMBDA(::vl_workflow_global::__vwsnf16_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(this)))))); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_14.Obj())->SetValueProperty(LAMBDA(::vl_workflow_global::__vwsnf17_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(this))); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_14.Obj())->SetSize(::vl::__vwsn::Parse<::vl::vint>(::vl::WString(L"80", false))); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_14.Obj())->SetTextProperty(LAMBDA(::vl_workflow_global::__vwsnf18_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(this))); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_14.Obj())->SetText(::vl::WString(L"Category", false)); - } - { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->dataGrid)->GetColumns()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_14)); - } - (this->__vwsn_precompile_15 = ::vl::Ptr<::vl::presentation::controls::list::DataColumn>(new ::vl::presentation::controls::list::DataColumn())); - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateMenuStyle(); - (this->__vwsn_precompile_16 = new ::vl::presentation::controls::GuiToolstripMenu(__vwsn_controlStyle_, static_cast<::vl::presentation::controls::GuiControl*>(nullptr))); - } - (this->dateFilter = new ::demo::DateFilter()); - (this->__vwsn_precompile_17 = ::vl::__vwsn::This(this->dateFilter)->GetBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_17)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_16)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->dateFilter)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_15.Obj())->SetPopup(static_cast<::vl::presentation::controls::GuiMenu*>(this->__vwsn_precompile_16)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_15.Obj())->SetSorter(::vl::Ptr<::vl::presentation::controls::list::IDataSorter>(new ::vl_workflow_global::__vwsnc4_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance___vl_presentation_controls_list_IDataSorter(this))); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_15.Obj())->SetEditorFactory(::vl::Ptr<::vl::presentation::controls::list::IDataEditorFactory>(::vl::Ptr<::vl::presentation::controls::list::DataEditorFactory>(new ::vl::presentation::controls::list::DataEditorFactory(LAMBDA(::vl_workflow_global::__vwsnf20_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(this)))))); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_15.Obj())->SetValueProperty(LAMBDA(::vl_workflow_global::__vwsnf21_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(this))); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_15.Obj())->SetSize(::vl::__vwsn::Parse<::vl::vint>(::vl::WString(L"80", false))); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_15.Obj())->SetTextProperty(LAMBDA(::vl_workflow_global::__vwsnf22_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(this))); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_15.Obj())->SetText(::vl::WString(L"Birthday", false)); - } - { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->dataGrid)->GetColumns()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_15)); - } - (this->__vwsn_precompile_18 = ::vl::Ptr<::vl::presentation::controls::list::DataColumn>(new ::vl::presentation::controls::list::DataColumn())); - { - ::vl::__vwsn::This(this->__vwsn_precompile_18.Obj())->SetVisualizerFactory(::vl::Ptr<::vl::presentation::controls::list::IDataVisualizerFactory>(::vl::Ptr<::vl::presentation::controls::list::DataVisualizerFactory>(new ::vl::presentation::controls::list::DataVisualizerFactory(LAMBDA(::vl_workflow_global::__vwsnf23_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(this)), ::vl::Ptr<::vl::presentation::controls::list::DataVisualizerFactory>(new ::vl::presentation::controls::list::DataVisualizerFactory(LAMBDA(::vl_workflow_global::__vwsnf24_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(this)), ::vl::Ptr<::vl::presentation::controls::list::DataVisualizerFactory>())))))); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_18.Obj())->SetSorter(::vl::Ptr<::vl::presentation::controls::list::IDataSorter>(new ::vl_workflow_global::__vwsnc5_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance___vl_presentation_controls_list_IDataSorter(this))); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_18.Obj())->SetEditorFactory(::vl::Ptr<::vl::presentation::controls::list::IDataEditorFactory>(::vl::Ptr<::vl::presentation::controls::list::DataEditorFactory>(new ::vl::presentation::controls::list::DataEditorFactory(LAMBDA(::vl_workflow_global::__vwsnf26_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(this)))))); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_18.Obj())->SetValueProperty(LAMBDA(::vl_workflow_global::__vwsnf27_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(this))); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_18.Obj())->SetSize(::vl::__vwsn::Parse<::vl::vint>(::vl::WString(L"160", false))); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_18.Obj())->SetTextProperty(LAMBDA(::vl_workflow_global::__vwsnf28_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(this))); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_18.Obj())->SetText(::vl::WString(L"Website", false)); - } - { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->dataGrid)->GetColumns()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_18)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_11)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->dataGrid)->GetBoundsComposition())); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_11)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::This(this->self)->GetContainerComposition())->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_0)); - } - { - auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf29_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->comboView)->SelectedIndexChanged, __vwsn_event_handler_); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_15.Obj())->SetFilter(::vl::__vwsn::This(this->dateFilter)->GetFilter()); - } - } - - DataGridTabPageConstructor::DataGridTabPageConstructor() - { - } - -/*********************************************************************** -Class (::demo::DataGridTabPage) -***********************************************************************/ - - DataGridTabPage::DataGridTabPage() - : ::vl::presentation::controls::GuiTabPage(::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateCustomControlStyle()) - { - auto __vwsn_resource_ = ::vl::__vwsn::This(::vl::presentation::GetResourceManager())->GetResourceFromClassName(::vl::WString(L"demo::DataGridTabPage", false)); - auto __vwsn_resolver_ = ::vl::Ptr<::vl::presentation::GuiResourcePathResolver>(new ::vl::presentation::GuiResourcePathResolver(__vwsn_resource_, ::vl::__vwsn::This(__vwsn_resource_.Obj())->GetWorkingDirectory())); - ::vl::__vwsn::This(this)->SetResourceResolver(__vwsn_resolver_); - ::vl::__vwsn::This(this)->__vwsn_initialize_instance_(this); - this->__vwsn_instance_ctor_(); - } - - void DataGridTabPage::__vwsn_instance_ctor_() - { - auto tempData = (::vl::__vwsn::CreateObservableList().Add(::vl::Ptr<::demo::MyDataItem>(new ::demo::MyDataItem(::vl::WString(L"涼宮 春日", false), ::demo::MyGender::Female, ::demo::MyCategory::Lime, ::vl::__vwsn::Parse<::vl::DateTime>(::vl::WString(L"1988-08-08 00:00:00.000", false)), ::vl::WString(L"http://www.haruhi.tv/", false)))).Add(::vl::Ptr<::demo::MyDataItem>(new ::demo::MyDataItem(::vl::WString(L"キョン", false), ::demo::MyGender::Male, ::demo::MyCategory::Black, ::vl::__vwsn::Parse<::vl::DateTime>(::vl::WString(L"1988-08-08 00:00:00.000", false)), ::vl::WString(L"http://www.haruhi.tv/", false)))).Add(::vl::Ptr<::demo::MyDataItem>(new ::demo::MyDataItem(::vl::WString(L"长门 有希", false), ::demo::MyGender::Female, ::demo::MyCategory::White, ::vl::__vwsn::Parse<::vl::DateTime>(::vl::WString(L"2000-08-06 00:00:00.000", false)), ::vl::WString(L"http://www.haruhi.tv/", false)))).Add(::vl::Ptr<::demo::MyDataItem>(new ::demo::MyDataItem(::vl::WString(L"朝比奈 实玖瑠", false), ::demo::MyGender::Female, ::demo::MyCategory::Red, ::vl::__vwsn::Parse<::vl::DateTime>(::vl::WString(L"1987-08-30 00:00:00.000", false)), ::vl::WString(L"http://www.haruhi.tv/", false)))).Add(::vl::Ptr<::demo::MyDataItem>(new ::demo::MyDataItem(::vl::WString(L"古泉 一树", false), ::demo::MyGender::Male, ::demo::MyCategory::Blue, ::vl::__vwsn::Parse<::vl::DateTime>(::vl::WString(L"1986-08-12 00:00:00.000", false)), ::vl::WString(L"http://www.haruhi.tv/", false))))).list; - auto largeImage = ::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(this->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"LargeImages/Task", false), true).Obj())); - auto smallImage = ::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(this->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/Task", false), true).Obj())); - { - auto __vwsn_for_enumerable_item = ::vl::Ptr<::vl::reflection::description::IValueEnumerable>(tempData); - auto __vwsn_for_enumerator_item = ::vl::__vwsn::This(__vwsn_for_enumerable_item.Obj())->CreateEnumerator(); - while (::vl::__vwsn::This(__vwsn_for_enumerator_item.Obj())->Next()) - { - auto item = ::vl::__vwsn::Unbox<::vl::Ptr<::demo::MyDataItem>>(::vl::__vwsn::This(__vwsn_for_enumerator_item.Obj())->GetCurrent()); - { - ::vl::__vwsn::This(item.Obj())->SetLargeImage(largeImage); - ::vl::__vwsn::This(item.Obj())->SetSmallImage(smallImage); - } - } - } - ::vl::__vwsn::This(this->dataGrid)->SetItemSource(::vl::Ptr<::vl::reflection::description::IValueEnumerable>(tempData)); - } - - DataGridTabPage::~DataGridTabPage() - { - this->FinalizeInstanceRecursively(static_cast<::vl::presentation::controls::GuiCustomControl*>(this)); - } - -/*********************************************************************** -Class (::demo::DocumentTabPageConstructor) -***********************************************************************/ - - void DocumentTabPageConstructor::__vwsn_initialize_instance_(::demo::DocumentTabPage* __vwsn_this_) - { - (this->self = __vwsn_this_); - { - ::vl::__vwsn::This(this->self)->SetText(::vl::WString(L"Document Editor", false)); - } - (this->dialogMessage = new ::vl::presentation::controls::GuiMessageDialog()); - { - ::vl::__vwsn::This(this->dialogMessage)->SetTitle(::vl::WString(L"You Clicked a Hyperlink!", false)); - } - { - ::vl::__vwsn::This(this->self)->AddComponent(static_cast<::vl::presentation::controls::GuiComponent*>(this->dialogMessage)); - } - (this->dialogOpen = new ::vl::presentation::controls::GuiOpenFileDialog()); - { - ::vl::__vwsn::This(this->dialogOpen)->SetOptions((::vl::presentation::INativeDialogService::FileDialogOptions::FileDialogFileMustExist | ::vl::presentation::INativeDialogService::FileDialogOptions::FileDialogDereferenceLinks)); - } - { - ::vl::__vwsn::This(this->dialogOpen)->SetEnabledPreview(::vl::__vwsn::Parse(::vl::WString(L"true", false))); - } - { - ::vl::__vwsn::This(this->dialogOpen)->SetTitle(::vl::WString(L"Select an Image", false)); - } - { - ::vl::__vwsn::This(this->dialogOpen)->SetFilter(::vl::WString(L"Image Files (*.jpg;*.png;*.bmp)|*.jpg;*.png;*.bmp", false)); - } - { - ::vl::__vwsn::This(this->self)->AddComponent(static_cast<::vl::presentation::controls::GuiComponent*>(this->dialogOpen)); - } - (this->__vwsn_precompile_0 = new ::vl::presentation::compositions::GuiTableComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowsAndColumns(static_cast<::vl::vint>(3), static_cast<::vl::vint>(1)); - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowOption(static_cast<::vl::vint>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowOption(static_cast<::vl::vint>(1), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowOption(static_cast<::vl::vint>(2), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(1.0); return __vwsn_temp__; }()); - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(1.0); return __vwsn_temp__; }()); - } - (this->__vwsn_precompile_1 = new ::vl::presentation::compositions::GuiCellComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_1)->SetSite(static_cast<::vl::vint>(0), static_cast<::vl::vint>(0), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateMenuBarStyle(); - (this->__vwsn_precompile_2 = new ::vl::presentation::controls::GuiToolstripMenuBar(__vwsn_controlStyle_)); - } - (this->__vwsn_precompile_31 = ::vl::__vwsn::This(this->__vwsn_precompile_2)->GetBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_31)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateMenuBarButtonStyle(); - (this->__vwsn_precompile_3 = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_3)->SetAlt(::vl::WString(L"E", false)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_3)->SetText(::vl::WString(L"Edit", false)); - } - (this->__vwsn_precompile_4 = ::vl::__vwsn::This(this->__vwsn_precompile_3)->EnsureToolstripSubMenu()); - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateMenuItemButtonStyle(); - (this->__vwsn_precompile_5 = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_5)->SetAlt(::vl::WString(L"U", false)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_4)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_5)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateMenuItemButtonStyle(); - (this->__vwsn_precompile_6 = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_6)->SetAlt(::vl::WString(L"R", false)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_4)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_6)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateMenuSplitterStyle(); - (this->__vwsn_precompile_7 = new ::vl::presentation::controls::GuiControl(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_4)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_7)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateMenuItemButtonStyle(); - (this->__vwsn_precompile_8 = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_8)->SetAlt(::vl::WString(L"C", false)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_4)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_8)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateMenuItemButtonStyle(); - (this->__vwsn_precompile_9 = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_9)->SetAlt(::vl::WString(L"X", false)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_4)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_9)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateMenuItemButtonStyle(); - (this->__vwsn_precompile_10 = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_10)->SetAlt(::vl::WString(L"P", false)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_4)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_10)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateMenuSplitterStyle(); - (this->__vwsn_precompile_11 = new ::vl::presentation::controls::GuiControl(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_4)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_11)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateMenuItemButtonStyle(); - (this->__vwsn_precompile_12 = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_12)->SetAlt(::vl::WString(L"D", false)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_4)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_12)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateMenuSplitterStyle(); - (this->__vwsn_precompile_13 = new ::vl::presentation::controls::GuiControl(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_4)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_13)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateMenuItemButtonStyle(); - (this->__vwsn_precompile_14 = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_14)->SetAlt(::vl::WString(L"A", false)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_4)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_14)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateMenuItemButtonStyle(); - (this->__vwsn_precompile_15 = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_15)->SetAlt(::vl::WString(L"O", false)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_15)->SetText(::vl::WString(L"Object", false)); - } - (this->__vwsn_precompile_16 = ::vl::__vwsn::This(this->__vwsn_precompile_15)->EnsureToolstripSubMenu()); - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateMenuItemButtonStyle(); - (this->__vwsn_precompile_17 = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_17)->SetAlt(::vl::WString(L"I", false)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_16)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_17)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateMenuItemButtonStyle(); - (this->__vwsn_precompile_18 = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_18)->SetAlt(::vl::WString(L"L", false)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_16)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_18)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateMenuItemButtonStyle(); - (this->__vwsn_precompile_19 = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_19)->SetAlt(::vl::WString(L"R", false)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_16)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_19)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_4)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_15)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateMenuItemButtonStyle(); - (this->__vwsn_precompile_20 = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_20)->SetAlt(::vl::WString(L"P", false)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_20)->SetText(::vl::WString(L"Paragram Alignment", false)); - } - (this->__vwsn_precompile_21 = ::vl::__vwsn::This(this->__vwsn_precompile_20)->EnsureToolstripSubMenu()); - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateMenuItemButtonStyle(); - (this->__vwsn_precompile_22 = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_22)->SetAlt(::vl::WString(L"D", false)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_21)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_22)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateMenuItemButtonStyle(); - (this->__vwsn_precompile_23 = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_23)->SetAlt(::vl::WString(L"L", false)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_21)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_23)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateMenuItemButtonStyle(); - (this->__vwsn_precompile_24 = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_24)->SetAlt(::vl::WString(L"C", false)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_21)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_24)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateMenuItemButtonStyle(); - (this->__vwsn_precompile_25 = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_25)->SetAlt(::vl::WString(L"R", false)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_21)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_25)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_4)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_20)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_3)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateMenuBarButtonStyle(); - (this->__vwsn_precompile_26 = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_26)->SetAlt(::vl::WString(L"V", false)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_26)->SetText(::vl::WString(L"View", false)); - } - (this->__vwsn_precompile_27 = ::vl::__vwsn::This(this->__vwsn_precompile_26)->EnsureToolstripSubMenu()); - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateMenuItemButtonStyle(); - (this->__vwsn_precompile_28 = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_28)->SetAlt(::vl::WString(L"V", false)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_27)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_28)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateMenuItemButtonStyle(); - (this->__vwsn_precompile_29 = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_29)->SetAlt(::vl::WString(L"S", false)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_27)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_29)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateMenuItemButtonStyle(); - (this->__vwsn_precompile_30 = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_30)->SetAlt(::vl::WString(L"E", false)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_27)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_30)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_26)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_1)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetBoundsComposition())); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_1)); - } - (this->__vwsn_precompile_32 = new ::vl::presentation::compositions::GuiCellComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_32)->SetSite(static_cast<::vl::vint>(1), static_cast<::vl::vint>(0), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateToolBarStyle(); - (this->__vwsn_precompile_33 = new ::vl::presentation::controls::GuiToolstripToolBar(__vwsn_controlStyle_)); - } - (this->__vwsn_precompile_65 = ::vl::__vwsn::This(this->__vwsn_precompile_33)->GetBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_65)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateToolBarDropdownButtonStyle(); - (this->buttonView = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->buttonView)->SetAlt(::vl::WString(L"V", false)); - } - (this->__vwsn_precompile_34 = ::vl::__vwsn::This(this->buttonView)->EnsureToolstripSubMenu()); - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateMenuItemButtonStyle(); - (this->__vwsn_precompile_35 = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_35)->SetAlt(::vl::WString(L"V", false)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_34)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_35)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateMenuItemButtonStyle(); - (this->__vwsn_precompile_36 = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_36)->SetAlt(::vl::WString(L"S", false)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_34)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_36)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateMenuItemButtonStyle(); - (this->__vwsn_precompile_37 = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_37)->SetAlt(::vl::WString(L"E", false)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_34)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_37)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_33)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->buttonView)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateToolBarDropdownButtonStyle(); - (this->buttonAlignment = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->buttonAlignment)->SetAlt(::vl::WString(L"P", false)); - } - (this->__vwsn_precompile_38 = ::vl::__vwsn::This(this->buttonAlignment)->EnsureToolstripSubMenu()); - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateMenuItemButtonStyle(); - (this->__vwsn_precompile_39 = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_39)->SetAlt(::vl::WString(L"D", false)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_38)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_39)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateMenuItemButtonStyle(); - (this->__vwsn_precompile_40 = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_40)->SetAlt(::vl::WString(L"L", false)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_38)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_40)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateMenuItemButtonStyle(); - (this->__vwsn_precompile_41 = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_41)->SetAlt(::vl::WString(L"C", false)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_38)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_41)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateMenuItemButtonStyle(); - (this->__vwsn_precompile_42 = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_42)->SetAlt(::vl::WString(L"R", false)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_38)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_42)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_33)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->buttonAlignment)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateToolBarSplitterStyle(); - (this->__vwsn_precompile_43 = new ::vl::presentation::controls::GuiControl(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_33)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_43)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateToolBarButtonStyle(); - (this->__vwsn_precompile_44 = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_44)->SetAlt(::vl::WString(L"U", false)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_33)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_44)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateToolBarButtonStyle(); - (this->__vwsn_precompile_45 = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_45)->SetAlt(::vl::WString(L"R", false)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_33)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_45)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateToolBarSplitterStyle(); - (this->__vwsn_precompile_46 = new ::vl::presentation::controls::GuiControl(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_33)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_46)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateToolBarButtonStyle(); - (this->__vwsn_precompile_47 = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_47)->SetAlt(::vl::WString(L"C", false)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_33)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_47)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateToolBarButtonStyle(); - (this->__vwsn_precompile_48 = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_48)->SetAlt(::vl::WString(L"X", false)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_33)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_48)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateToolBarButtonStyle(); - (this->__vwsn_precompile_49 = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_49)->SetAlt(::vl::WString(L"P", false)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_33)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_49)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateToolBarSplitterStyle(); - (this->__vwsn_precompile_50 = new ::vl::presentation::controls::GuiControl(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_33)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_50)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateToolBarButtonStyle(); - (this->__vwsn_precompile_51 = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_51)->SetAlt(::vl::WString(L"D", false)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_33)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_51)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateToolBarSplitterStyle(); - (this->__vwsn_precompile_52 = new ::vl::presentation::controls::GuiControl(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_33)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_52)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateToolBarSplitButtonStyle(); - (this->__vwsn_precompile_53 = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_53)->SetAlt(::vl::WString(L"I", false)); - } - (this->__vwsn_precompile_54 = ::vl::__vwsn::This(this->__vwsn_precompile_53)->EnsureToolstripSubMenu()); - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateMenuItemButtonStyle(); - (this->__vwsn_precompile_55 = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_55)->SetAlt(::vl::WString(L"I", false)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_54)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_55)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateMenuItemButtonStyle(); - (this->__vwsn_precompile_56 = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_56)->SetAlt(::vl::WString(L"L", false)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_54)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_56)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateMenuItemButtonStyle(); - (this->__vwsn_precompile_57 = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_57)->SetAlt(::vl::WString(L"R", false)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_54)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_57)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_33)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_53)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateToolBarButtonStyle(); - (this->__vwsn_precompile_58 = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_58)->SetAlt(::vl::WString(L"B", false)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_33)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_58)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateToolBarButtonStyle(); - (this->__vwsn_precompile_59 = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_59)->SetAlt(::vl::WString(L"I", false)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_33)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_59)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateToolBarButtonStyle(); - (this->__vwsn_precompile_60 = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_60)->SetAlt(::vl::WString(L"U", false)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_33)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_60)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateToolBarButtonStyle(); - (this->__vwsn_precompile_61 = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_61)->SetAlt(::vl::WString(L"S", false)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_33)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_61)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateToolBarButtonStyle(); - (this->__vwsn_precompile_62 = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_62)->SetAlt(::vl::WString(L"F", false)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_33)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_62)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateToolBarButtonStyle(); - (this->__vwsn_precompile_63 = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_63)->SetAlt(::vl::WString(L"C", false)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_33)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_63)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateToolBarButtonStyle(); - (this->__vwsn_precompile_64 = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_64)->SetAlt(::vl::WString(L"K", false)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_33)->GetToolstripItems()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_64)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_32)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_33)->GetBoundsComposition())); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_32)); - } - (this->__vwsn_precompile_66 = new ::vl::presentation::compositions::GuiCellComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_66)->SetSite(static_cast<::vl::vint>(2), static_cast<::vl::vint>(0), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateDocumentViewerStyle(); - (this->document = new ::vl::presentation::controls::GuiDocumentViewer(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->document)->SetEditMode(::vl::presentation::controls::GuiDocumentCommonInterface::EditMode::Editable); - } - { - ::vl::__vwsn::This(this->document)->SetAlt(::vl::WString(L"D", false)); - } - (this->__vwsn_precompile_67 = ::vl::__vwsn::This(this->document)->GetBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_67)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_66)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->document)->GetBoundsComposition())); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_66)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::This(this->self)->GetContainerComposition())->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_0)); - } - (this->commandUndo = new ::vl::presentation::controls::GuiToolstripCommand()); - { - ::vl::__vwsn::This(this->commandUndo)->SetShortcutBuilder(::vl::WString(L"Ctrl+Z", false)); - } - { - ::vl::__vwsn::This(this->commandUndo)->SetText(::vl::WString(L"Undo", false)); - } - { - ::vl::__vwsn::This(this->self)->AddComponent(static_cast<::vl::presentation::controls::GuiComponent*>(this->commandUndo)); - } - (this->commandRedo = new ::vl::presentation::controls::GuiToolstripCommand()); - { - ::vl::__vwsn::This(this->commandRedo)->SetShortcutBuilder(::vl::WString(L"Ctrl+Y", false)); - } - { - ::vl::__vwsn::This(this->commandRedo)->SetText(::vl::WString(L"Redo", false)); - } - { - ::vl::__vwsn::This(this->self)->AddComponent(static_cast<::vl::presentation::controls::GuiComponent*>(this->commandRedo)); - } - (this->commandCopy = new ::vl::presentation::controls::GuiToolstripCommand()); - { - ::vl::__vwsn::This(this->commandCopy)->SetShortcutBuilder(::vl::WString(L"Ctrl+C", false)); - } - { - ::vl::__vwsn::This(this->commandCopy)->SetText(::vl::WString(L"Copy", false)); - } - { - ::vl::__vwsn::This(this->self)->AddComponent(static_cast<::vl::presentation::controls::GuiComponent*>(this->commandCopy)); - } - (this->commandCut = new ::vl::presentation::controls::GuiToolstripCommand()); - { - ::vl::__vwsn::This(this->commandCut)->SetShortcutBuilder(::vl::WString(L"Ctrl+X", false)); - } - { - ::vl::__vwsn::This(this->commandCut)->SetText(::vl::WString(L"Cut", false)); - } - { - ::vl::__vwsn::This(this->self)->AddComponent(static_cast<::vl::presentation::controls::GuiComponent*>(this->commandCut)); - } - (this->commandPaste = new ::vl::presentation::controls::GuiToolstripCommand()); - { - ::vl::__vwsn::This(this->commandPaste)->SetShortcutBuilder(::vl::WString(L"Ctrl+V", false)); - } - { - ::vl::__vwsn::This(this->commandPaste)->SetText(::vl::WString(L"Paste", false)); - } - { - ::vl::__vwsn::This(this->self)->AddComponent(static_cast<::vl::presentation::controls::GuiComponent*>(this->commandPaste)); - } - (this->commandDelete = new ::vl::presentation::controls::GuiToolstripCommand()); - { - ::vl::__vwsn::This(this->commandDelete)->SetText(::vl::WString(L"Delete", false)); - } - { - ::vl::__vwsn::This(this->self)->AddComponent(static_cast<::vl::presentation::controls::GuiComponent*>(this->commandDelete)); - } - (this->commandSelect = new ::vl::presentation::controls::GuiToolstripCommand()); - { - ::vl::__vwsn::This(this->commandSelect)->SetShortcutBuilder(::vl::WString(L"Ctrl+A", false)); - } - { - ::vl::__vwsn::This(this->commandSelect)->SetText(::vl::WString(L"Select All", false)); - } - { - ::vl::__vwsn::This(this->self)->AddComponent(static_cast<::vl::presentation::controls::GuiComponent*>(this->commandSelect)); - } - (this->commandInsertImage = new ::vl::presentation::controls::GuiToolstripCommand()); - { - ::vl::__vwsn::This(this->commandInsertImage)->SetText(::vl::WString(L"Insert Image ...", false)); - } - { - ::vl::__vwsn::This(this->self)->AddComponent(static_cast<::vl::presentation::controls::GuiComponent*>(this->commandInsertImage)); - } - (this->commandEditHyperlink = new ::vl::presentation::controls::GuiToolstripCommand()); - { - ::vl::__vwsn::This(this->commandEditHyperlink)->SetText(::vl::WString(L"Edit Hyperlink ...", false)); - } - { - ::vl::__vwsn::This(this->self)->AddComponent(static_cast<::vl::presentation::controls::GuiComponent*>(this->commandEditHyperlink)); - } - (this->commandRemoveHyperlink = new ::vl::presentation::controls::GuiToolstripCommand()); - { - ::vl::__vwsn::This(this->commandRemoveHyperlink)->SetText(::vl::WString(L"Remove Hyperlink", false)); - } - { - ::vl::__vwsn::This(this->self)->AddComponent(static_cast<::vl::presentation::controls::GuiComponent*>(this->commandRemoveHyperlink)); - } - (this->commandBold = new ::vl::presentation::controls::GuiToolstripCommand()); - { - ::vl::__vwsn::This(this->commandBold)->SetText(::vl::WString(L"Bold", false)); - } - { - ::vl::__vwsn::This(this->self)->AddComponent(static_cast<::vl::presentation::controls::GuiComponent*>(this->commandBold)); - } - (this->commandItalic = new ::vl::presentation::controls::GuiToolstripCommand()); - { - ::vl::__vwsn::This(this->commandItalic)->SetText(::vl::WString(L"Italic", false)); - } - { - ::vl::__vwsn::This(this->self)->AddComponent(static_cast<::vl::presentation::controls::GuiComponent*>(this->commandItalic)); - } - (this->commandUnderline = new ::vl::presentation::controls::GuiToolstripCommand()); - { - ::vl::__vwsn::This(this->commandUnderline)->SetText(::vl::WString(L"Underline", false)); - } - { - ::vl::__vwsn::This(this->self)->AddComponent(static_cast<::vl::presentation::controls::GuiComponent*>(this->commandUnderline)); - } - (this->commandStrike = new ::vl::presentation::controls::GuiToolstripCommand()); - { - ::vl::__vwsn::This(this->commandStrike)->SetText(::vl::WString(L"Strike", false)); - } - { - ::vl::__vwsn::This(this->self)->AddComponent(static_cast<::vl::presentation::controls::GuiComponent*>(this->commandStrike)); - } - (this->dialogColor = new ::vl::presentation::controls::GuiColorDialog()); - { - ::vl::__vwsn::This(this->dialogColor)->SetEnabledCustomColor(::vl::__vwsn::Parse(::vl::WString(L"false", false))); - } - { - ::vl::__vwsn::This(this->self)->AddComponent(static_cast<::vl::presentation::controls::GuiComponent*>(this->dialogColor)); - } - (this->dialogFont = new ::vl::presentation::controls::GuiFontDialog()); - { - ::vl::__vwsn::This(this->dialogFont)->SetForceFontExist(::vl::__vwsn::Parse(::vl::WString(L"true", false))); - } - { - ::vl::__vwsn::This(this->dialogFont)->SetShowSelection(::vl::__vwsn::Parse(::vl::WString(L"true", false))); - } - { - ::vl::__vwsn::This(this->dialogFont)->SetShowEffect(::vl::__vwsn::Parse(::vl::WString(L"false", false))); - } - { - ::vl::__vwsn::This(this->self)->AddComponent(static_cast<::vl::presentation::controls::GuiComponent*>(this->dialogFont)); - } - (this->commandFont = new ::vl::presentation::controls::GuiToolstripCommand()); - { - ::vl::__vwsn::This(this->commandFont)->SetText(::vl::WString(L"Set Font ...", false)); - } - { - ::vl::__vwsn::This(this->self)->AddComponent(static_cast<::vl::presentation::controls::GuiComponent*>(this->commandFont)); - } - (this->commandColor = new ::vl::presentation::controls::GuiToolstripCommand()); - { - ::vl::__vwsn::This(this->commandColor)->SetText(::vl::WString(L"Text Color ...", false)); - } - { - ::vl::__vwsn::This(this->self)->AddComponent(static_cast<::vl::presentation::controls::GuiComponent*>(this->commandColor)); - } - (this->commandBackColor = new ::vl::presentation::controls::GuiToolstripCommand()); - { - ::vl::__vwsn::This(this->commandBackColor)->SetText(::vl::WString(L"Background Color ...", false)); - } - { - ::vl::__vwsn::This(this->self)->AddComponent(static_cast<::vl::presentation::controls::GuiComponent*>(this->commandBackColor)); - } - (this->commandViewOnly = new ::vl::presentation::controls::GuiToolstripCommand()); - { - ::vl::__vwsn::This(this->commandViewOnly)->SetText(::vl::WString(L"Preview", false)); - } - { - ::vl::__vwsn::This(this->self)->AddComponent(static_cast<::vl::presentation::controls::GuiComponent*>(this->commandViewOnly)); - } - (this->commandSelectable = new ::vl::presentation::controls::GuiToolstripCommand()); - { - ::vl::__vwsn::This(this->commandSelectable)->SetText(::vl::WString(L"Selectable", false)); - } - { - ::vl::__vwsn::This(this->self)->AddComponent(static_cast<::vl::presentation::controls::GuiComponent*>(this->commandSelectable)); - } - (this->commandEditable = new ::vl::presentation::controls::GuiToolstripCommand()); - { - ::vl::__vwsn::This(this->commandEditable)->SetText(::vl::WString(L"Editable", false)); - } - { - ::vl::__vwsn::This(this->self)->AddComponent(static_cast<::vl::presentation::controls::GuiComponent*>(this->commandEditable)); - } - (this->commandAlignDefault = new ::vl::presentation::controls::GuiToolstripCommand()); - { - ::vl::__vwsn::This(this->commandAlignDefault)->SetText(::vl::WString(L"Set Alignment to Default (Left)", false)); - } - { - ::vl::__vwsn::This(this->self)->AddComponent(static_cast<::vl::presentation::controls::GuiComponent*>(this->commandAlignDefault)); - } - (this->commandAlignLeft = new ::vl::presentation::controls::GuiToolstripCommand()); - { - ::vl::__vwsn::This(this->commandAlignLeft)->SetText(::vl::WString(L"Set Alignment to Left", false)); - } - { - ::vl::__vwsn::This(this->self)->AddComponent(static_cast<::vl::presentation::controls::GuiComponent*>(this->commandAlignLeft)); - } - (this->commandAlignCenter = new ::vl::presentation::controls::GuiToolstripCommand()); - { - ::vl::__vwsn::This(this->commandAlignCenter)->SetText(::vl::WString(L"Set Alignment to Center", false)); - } - { - ::vl::__vwsn::This(this->self)->AddComponent(static_cast<::vl::presentation::controls::GuiComponent*>(this->commandAlignCenter)); - } - (this->commandAlignRight = new ::vl::presentation::controls::GuiToolstripCommand()); - { - ::vl::__vwsn::This(this->commandAlignRight)->SetText(::vl::WString(L"Set Alignment to Right", false)); - } - { - ::vl::__vwsn::This(this->self)->AddComponent(static_cast<::vl::presentation::controls::GuiComponent*>(this->commandAlignRight)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_5)->SetCommand(this->commandUndo); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_6)->SetCommand(this->commandRedo); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_8)->SetCommand(this->commandCopy); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_9)->SetCommand(this->commandCut); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_10)->SetCommand(this->commandPaste); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_12)->SetCommand(this->commandDelete); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_14)->SetCommand(this->commandSelect); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_17)->SetCommand(this->commandInsertImage); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_18)->SetCommand(this->commandEditHyperlink); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_19)->SetCommand(this->commandRemoveHyperlink); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_22)->SetCommand(this->commandAlignDefault); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_23)->SetCommand(this->commandAlignLeft); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_24)->SetCommand(this->commandAlignCenter); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_25)->SetCommand(this->commandAlignRight); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_28)->SetCommand(this->commandViewOnly); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_29)->SetCommand(this->commandSelectable); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_30)->SetCommand(this->commandEditable); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_35)->SetCommand(this->commandViewOnly); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_36)->SetCommand(this->commandSelectable); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_37)->SetCommand(this->commandEditable); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_39)->SetCommand(this->commandAlignDefault); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_40)->SetCommand(this->commandAlignLeft); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_41)->SetCommand(this->commandAlignCenter); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_42)->SetCommand(this->commandAlignRight); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc6_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, LAMBDA(::vl_workflow_global::__vwsnf30_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_44)->SetCommand(this->commandUndo); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_45)->SetCommand(this->commandRedo); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_47)->SetCommand(this->commandCopy); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_48)->SetCommand(this->commandCut); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_49)->SetCommand(this->commandPaste); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_51)->SetCommand(this->commandDelete); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_55)->SetCommand(this->commandInsertImage); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_56)->SetCommand(this->commandEditHyperlink); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_57)->SetCommand(this->commandRemoveHyperlink); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_53)->SetCommand(this->commandInsertImage); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_58)->SetCommand(this->commandBold); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_59)->SetCommand(this->commandItalic); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_60)->SetCommand(this->commandUnderline); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_61)->SetCommand(this->commandStrike); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_62)->SetCommand(this->commandFont); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_63)->SetCommand(this->commandColor); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_64)->SetCommand(this->commandBackColor); - } - { - auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf31_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->document)->ActiveHyperlinkExecuted, __vwsn_event_handler_); - } - { - ::vl::__vwsn::This(this->commandUndo)->SetImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"ToolbarImages/Undo", false), true).Obj()))); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc7_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, LAMBDA(::vl_workflow_global::__vwsnf32_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf33_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->commandUndo)->Executed, __vwsn_event_handler_); - } - { - ::vl::__vwsn::This(this->commandRedo)->SetImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"ToolbarImages/Redo", false), true).Obj()))); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc8_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, LAMBDA(::vl_workflow_global::__vwsnf34_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf35_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->commandRedo)->Executed, __vwsn_event_handler_); - } - { - ::vl::__vwsn::This(this->commandCopy)->SetImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"ToolbarImages/Copy", false), true).Obj()))); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc9_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, LAMBDA(::vl_workflow_global::__vwsnf36_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf37_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->commandCopy)->Executed, __vwsn_event_handler_); - } - { - ::vl::__vwsn::This(this->commandCut)->SetImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"ToolbarImages/Cut", false), true).Obj()))); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc10_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, LAMBDA(::vl_workflow_global::__vwsnf38_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf39_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->commandCut)->Executed, __vwsn_event_handler_); - } - { - ::vl::__vwsn::This(this->commandPaste)->SetImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"ToolbarImages/Paste", false), true).Obj()))); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc11_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, LAMBDA(::vl_workflow_global::__vwsnf40_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf41_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->commandPaste)->Executed, __vwsn_event_handler_); - } - { - ::vl::__vwsn::This(this->commandDelete)->SetImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"ToolbarImages/Delete", false), true).Obj()))); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc12_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, LAMBDA(::vl_workflow_global::__vwsnf42_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf43_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->commandDelete)->Executed, __vwsn_event_handler_); - } - { - auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf44_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->commandSelect)->Executed, __vwsn_event_handler_); - } - { - ::vl::__vwsn::This(this->commandInsertImage)->SetImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"ToolbarImages/Image", false), true).Obj()))); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc13_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, LAMBDA(::vl_workflow_global::__vwsnf45_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf46_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->commandInsertImage)->Executed, __vwsn_event_handler_); - } - { - ::vl::__vwsn::This(this->commandEditHyperlink)->SetImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"ToolbarImages/Link", false), true).Obj()))); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc14_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, LAMBDA(::vl_workflow_global::__vwsnf47_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf48_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->commandEditHyperlink)->Executed, __vwsn_event_handler_); - } - { - ::vl::__vwsn::This(this->commandRemoveHyperlink)->SetImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"ToolbarImages/RemoveLink", false), true).Obj()))); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc16_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, LAMBDA(::vl_workflow_global::__vwsnf50_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf51_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->commandRemoveHyperlink)->Executed, __vwsn_event_handler_); - } - { - ::vl::__vwsn::This(this->commandBold)->SetImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"ToolbarImages/Bold", false), true).Obj()))); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc17_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, LAMBDA(::vl_workflow_global::__vwsnf52_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc18_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, LAMBDA(::vl_workflow_global::__vwsnf53_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf54_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->commandBold)->Executed, __vwsn_event_handler_); - } - { - ::vl::__vwsn::This(this->commandItalic)->SetImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"ToolbarImages/Italic", false), true).Obj()))); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc19_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, LAMBDA(::vl_workflow_global::__vwsnf55_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc20_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, LAMBDA(::vl_workflow_global::__vwsnf56_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf57_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->commandItalic)->Executed, __vwsn_event_handler_); - } - { - ::vl::__vwsn::This(this->commandUnderline)->SetImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"ToolbarImages/Underline", false), true).Obj()))); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc21_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, LAMBDA(::vl_workflow_global::__vwsnf58_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc22_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, LAMBDA(::vl_workflow_global::__vwsnf59_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf60_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->commandUnderline)->Executed, __vwsn_event_handler_); - } - { - ::vl::__vwsn::This(this->commandStrike)->SetImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"ToolbarImages/Strike", false), true).Obj()))); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc23_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, LAMBDA(::vl_workflow_global::__vwsnf61_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc24_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, LAMBDA(::vl_workflow_global::__vwsnf62_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf63_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->commandStrike)->Executed, __vwsn_event_handler_); - } - { - ::vl::__vwsn::This(this->commandFont)->SetImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"ToolbarImages/Font", false), true).Obj()))); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc25_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, LAMBDA(::vl_workflow_global::__vwsnf64_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf65_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->commandFont)->Executed, __vwsn_event_handler_); - } - { - ::vl::__vwsn::This(this->commandColor)->SetImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"ToolbarImages/Color", false), true).Obj()))); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc26_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, LAMBDA(::vl_workflow_global::__vwsnf66_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf67_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->commandColor)->Executed, __vwsn_event_handler_); - } - { - ::vl::__vwsn::This(this->commandBackColor)->SetImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"ToolbarImages/BackColor", false), true).Obj()))); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc27_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, LAMBDA(::vl_workflow_global::__vwsnf68_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf69_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->commandBackColor)->Executed, __vwsn_event_handler_); - } - { - ::vl::__vwsn::This(this->commandViewOnly)->SetImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"ToolbarImages/ViewOnly", false), true).Obj()))); - } - { - auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf70_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->commandViewOnly)->Executed, __vwsn_event_handler_); - } - { - ::vl::__vwsn::This(this->commandSelectable)->SetImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"ToolbarImages/Selectable", false), true).Obj()))); - } - { - auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf71_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->commandSelectable)->Executed, __vwsn_event_handler_); - } - { - ::vl::__vwsn::This(this->commandEditable)->SetImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"ToolbarImages/Editable", false), true).Obj()))); - } - { - auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf72_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->commandEditable)->Executed, __vwsn_event_handler_); - } - { - ::vl::__vwsn::This(this->commandAlignDefault)->SetImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"ToolbarImages/TextAlign", false), true).Obj()))); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc28_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, LAMBDA(::vl_workflow_global::__vwsnf73_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf74_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->commandAlignDefault)->Executed, __vwsn_event_handler_); - } - { - ::vl::__vwsn::This(this->commandAlignLeft)->SetImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"ToolbarImages/TextAlignLeft", false), true).Obj()))); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc29_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, LAMBDA(::vl_workflow_global::__vwsnf75_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc30_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, LAMBDA(::vl_workflow_global::__vwsnf76_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf77_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->commandAlignLeft)->Executed, __vwsn_event_handler_); - } - { - ::vl::__vwsn::This(this->commandAlignCenter)->SetImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"ToolbarImages/TextAlignCenter", false), true).Obj()))); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc31_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, LAMBDA(::vl_workflow_global::__vwsnf78_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc32_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, LAMBDA(::vl_workflow_global::__vwsnf79_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf80_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->commandAlignCenter)->Executed, __vwsn_event_handler_); - } - { - ::vl::__vwsn::This(this->commandAlignRight)->SetImage(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"ToolbarImages/TextAlignRight", false), true).Obj()))); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc33_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, LAMBDA(::vl_workflow_global::__vwsnf81_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc34_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, LAMBDA(::vl_workflow_global::__vwsnf82_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf83_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->commandAlignRight)->Executed, __vwsn_event_handler_); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc35_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, LAMBDA(::vl_workflow_global::__vwsnf84_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - } - - DocumentTabPageConstructor::DocumentTabPageConstructor() - { - } - -/*********************************************************************** -Class (::demo::DocumentTabPage) -***********************************************************************/ - - void DocumentTabPage::SetEditMode(::vl::presentation::controls::GuiDocumentCommonInterface::EditMode editMode) - { - auto command = ((editMode == ::vl::presentation::controls::GuiDocumentCommonInterface::EditMode::ViewOnly) ? this->commandViewOnly : ((editMode == ::vl::presentation::controls::GuiDocumentCommonInterface::EditMode::Selectable) ? this->commandSelectable : this->commandEditable)); - ::vl::__vwsn::This(this->document)->SetEditMode(editMode); - ::vl::__vwsn::This(this->commandViewOnly)->SetSelected((command == this->commandViewOnly)); - ::vl::__vwsn::This(this->commandSelectable)->SetSelected((command == this->commandSelectable)); - ::vl::__vwsn::This(this->commandEditable)->SetSelected((command == this->commandEditable)); - ::vl::__vwsn::This(this->buttonView)->SetImage(::vl::__vwsn::This(command)->GetImage()); - ::vl::__vwsn::This(this->self)->UpdateSubscriptions(); - } - - ::vl::presentation::controls::GuiToolstripCommand* DocumentTabPage::SelectAlignmentCommand() - { - auto alignment = ::vl::__vwsn::This(this->document)->SummarizeParagraphAlignment(::vl::__vwsn::This(this->document)->GetCaretBegin(), ::vl::__vwsn::This(this->document)->GetCaretEnd()); - return ((alignment == ::vl::Nullable<::vl::presentation::Alignment>(::vl::presentation::Alignment::Left)) ? this->commandAlignLeft : ((alignment == ::vl::Nullable<::vl::presentation::Alignment>(::vl::presentation::Alignment::Center)) ? this->commandAlignCenter : ((alignment == ::vl::Nullable<::vl::presentation::Alignment>(::vl::presentation::Alignment::Right)) ? this->commandAlignRight : this->commandAlignDefault))); - } - - void DocumentTabPage::SetAlignment(::vl::Nullable<::vl::presentation::Alignment> alignment) - { - ::vl::__vwsn::This(this->document)->SetParagraphAlignment(::vl::__vwsn::This(this->document)->GetCaretBegin(), ::vl::__vwsn::This(this->document)->GetCaretEnd(), alignment); - ::vl::__vwsn::This(this->self)->UpdateSubscriptions(); - } - - bool DocumentTabPage::GetHasEditableSelection() - { - return this->__vwsn_prop_HasEditableSelection; - } - void DocumentTabPage::SetHasEditableSelection(bool __vwsn_value_) - { - if ((this->__vwsn_prop_HasEditableSelection != __vwsn_value_)) - { - (this->__vwsn_prop_HasEditableSelection = __vwsn_value_); - ::vl::__vwsn::EventInvoke(this->HasEditableSelectionChanged)(); - } - } - - bool DocumentTabPage::GetHasEditableSelectionInSingleParagraph() - { - return this->__vwsn_prop_HasEditableSelectionInSingleParagraph; - } - void DocumentTabPage::SetHasEditableSelectionInSingleParagraph(bool __vwsn_value_) - { - if ((this->__vwsn_prop_HasEditableSelectionInSingleParagraph != __vwsn_value_)) - { - (this->__vwsn_prop_HasEditableSelectionInSingleParagraph = __vwsn_value_); - ::vl::__vwsn::EventInvoke(this->HasEditableSelectionInSingleParagraphChanged)(); - } - } - - bool DocumentTabPage::HasEditableCursor() - { - return (::vl::__vwsn::This(this->document)->GetEditMode() == ::vl::presentation::controls::GuiDocumentCommonInterface::EditMode::Editable); - } - - bool DocumentTabPage::HasEditableHyperlink(bool forEdit) - { - auto a = ::vl::__vwsn::This(this->document)->GetCaretBegin(); - auto b = ::vl::__vwsn::This(this->document)->GetCaretEnd(); - return ((a.row == b.row) && (a.column != b.column)); - } - - DocumentTabPage::DocumentTabPage() - : ::vl::presentation::controls::GuiTabPage(::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateCustomControlStyle()) - { - auto __vwsn_resource_ = ::vl::__vwsn::This(::vl::presentation::GetResourceManager())->GetResourceFromClassName(::vl::WString(L"demo::DocumentTabPage", false)); - auto __vwsn_resolver_ = ::vl::Ptr<::vl::presentation::GuiResourcePathResolver>(new ::vl::presentation::GuiResourcePathResolver(__vwsn_resource_, ::vl::__vwsn::This(__vwsn_resource_.Obj())->GetWorkingDirectory())); - ::vl::__vwsn::This(this)->SetResourceResolver(__vwsn_resolver_); - ::vl::__vwsn::This(this)->__vwsn_initialize_instance_(this); - this->__vwsn_instance_ctor_(); - } - - void DocumentTabPage::__vwsn_instance_ctor_() - { - this->SetEditMode(::vl::presentation::controls::GuiDocumentCommonInterface::EditMode::Editable); - } - - DocumentTabPage::~DocumentTabPage() - { - this->FinalizeInstanceRecursively(static_cast<::vl::presentation::controls::GuiCustomControl*>(this)); - } - -/*********************************************************************** -Class (::demo::ListViewTabPageConstructor) -***********************************************************************/ - - void ListViewTabPageConstructor::__vwsn_initialize_instance_(::demo::ListViewTabPage* __vwsn_this_) - { - (this->self = __vwsn_this_); - { - ::vl::__vwsn::This(this->self)->SetText(::vl::WString(L"ListView", false)); - } - (this->__vwsn_precompile_0 = new ::vl::presentation::compositions::GuiTableComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetCellPadding(::vl::__vwsn::Parse<::vl::vint>(::vl::WString(L"5", false))); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowsAndColumns(static_cast<::vl::vint>(2), static_cast<::vl::vint>(2)); - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowOption(static_cast<::vl::vint>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowOption(static_cast<::vl::vint>(1), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(1.0); return __vwsn_temp__; }()); - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(0.5); return __vwsn_temp__; }()); - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(1), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(0.5); return __vwsn_temp__; }()); - } - (this->__vwsn_precompile_1 = new ::vl::presentation::compositions::GuiCellComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_1)->SetSite(static_cast<::vl::vint>(0), static_cast<::vl::vint>(0), static_cast<::vl::vint>(1), static_cast<::vl::vint>(2)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateTextListStyle(); - (this->__vwsn_precompile_2 = new ::vl::presentation::controls::GuiTextList(__vwsn_controlStyle_)); - } - (this->__vwsn_precompile_3 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(new ::vl::presentation::controls::list::TextItem())); - { - ::vl::__vwsn::This(this->__vwsn_precompile_3.Obj())->SetText(::vl::WString(L"BigIcon", false)); - } - { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetItems()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_3)); - } - (this->__vwsn_precompile_4 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(new ::vl::presentation::controls::list::TextItem())); - { - ::vl::__vwsn::This(this->__vwsn_precompile_4.Obj())->SetText(::vl::WString(L"SmallIcon", false)); - } - { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetItems()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_4)); - } - (this->__vwsn_precompile_5 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(new ::vl::presentation::controls::list::TextItem())); - { - ::vl::__vwsn::This(this->__vwsn_precompile_5.Obj())->SetText(::vl::WString(L"List", false)); - } - { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetItems()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_5)); - } - (this->__vwsn_precompile_6 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(new ::vl::presentation::controls::list::TextItem())); - { - ::vl::__vwsn::This(this->__vwsn_precompile_6.Obj())->SetText(::vl::WString(L"Tile", false)); - } - { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetItems()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_6)); - } - (this->__vwsn_precompile_7 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(new ::vl::presentation::controls::list::TextItem())); - { - ::vl::__vwsn::This(this->__vwsn_precompile_7.Obj())->SetText(::vl::WString(L"Information", false)); - } - { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetItems()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_7)); - } - (this->__vwsn_precompile_8 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(new ::vl::presentation::controls::list::TextItem())); - { - ::vl::__vwsn::This(this->__vwsn_precompile_8.Obj())->SetText(::vl::WString(L"Detail", false)); - } - { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetItems()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_8)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_2)->SetVerticalAlwaysVisible(::vl::__vwsn::Parse(::vl::WString(L"false", false))); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_2)->SetHorizontalAlwaysVisible(::vl::__vwsn::Parse(::vl::WString(L"false", false))); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateComboBoxStyle(); - (this->comboView = new ::vl::presentation::controls::GuiComboBoxListControl(__vwsn_controlStyle_, this->__vwsn_precompile_2)); - } - { - ::vl::__vwsn::This(this->comboView)->SetSelectedIndex(::vl::__vwsn::Parse<::vl::vint>(::vl::WString(L"5", false))); - } - { - ::vl::__vwsn::This(this->comboView)->SetAlt(::vl::WString(L"V", false)); - } - (this->__vwsn_precompile_9 = ::vl::__vwsn::This(this->comboView)->GetBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_9)->SetPreferredMinSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(120); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_1)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->comboView)->GetBoundsComposition())); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_1)); - } - (this->__vwsn_precompile_10 = new ::vl::presentation::compositions::GuiCellComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_10)->SetSite(static_cast<::vl::vint>(1), static_cast<::vl::vint>(0), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateListViewStyle(); - (this->listView = new ::vl::presentation::controls::GuiListView(__vwsn_controlStyle_)); - } - { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->listView)->GetDataColumns()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(::vl::__vwsn::Parse<::vl::vint>(::vl::WString(L"0", false)))); - } - { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->listView)->GetDataColumns()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(::vl::__vwsn::Parse<::vl::vint>(::vl::WString(L"1", false)))); - } - { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->listView)->GetDataColumns()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(::vl::__vwsn::Parse<::vl::vint>(::vl::WString(L"2", false)))); - } - { - ::vl::__vwsn::This(this->listView)->SetVerticalAlwaysVisible(::vl::__vwsn::Parse(::vl::WString(L"false", false))); - } - { - ::vl::__vwsn::This(this->listView)->SetHorizontalAlwaysVisible(::vl::__vwsn::Parse(::vl::WString(L"false", false))); - } - { - ::vl::__vwsn::This(this->listView)->SetAlt(::vl::WString(L"L", false)); - } - (this->__vwsn_precompile_15 = ::vl::__vwsn::This(this->listView)->GetBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_15)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); - } - (this->__vwsn_precompile_11 = ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>(new ::vl::presentation::controls::list::ListViewColumn())); - { - ::vl::__vwsn::This(this->__vwsn_precompile_11.Obj())->SetText(::vl::WString(L"Id", false)); - } - { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->listView)->GetColumns()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_11)); - } - (this->__vwsn_precompile_12 = ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>(new ::vl::presentation::controls::list::ListViewColumn())); - { - ::vl::__vwsn::This(this->__vwsn_precompile_12.Obj())->SetText(::vl::WString(L"Category", false)); - } - { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->listView)->GetColumns()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_12)); - } - (this->__vwsn_precompile_13 = ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>(new ::vl::presentation::controls::list::ListViewColumn())); - { - ::vl::__vwsn::This(this->__vwsn_precompile_13.Obj())->SetText(::vl::WString(L"Size", false)); - } - { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->listView)->GetColumns()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_13)); - } - (this->__vwsn_precompile_14 = ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>(new ::vl::presentation::controls::list::ListViewColumn())); - { - ::vl::__vwsn::This(this->__vwsn_precompile_14.Obj())->SetText(::vl::WString(L"File", false)); - } - { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->listView)->GetColumns()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_14)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_10)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->listView)->GetBoundsComposition())); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_10)); - } - (this->__vwsn_precompile_16 = new ::vl::presentation::compositions::GuiCellComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_16)->SetSite(static_cast<::vl::vint>(1), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateListViewStyle(); - (this->bindableListView = new ::vl::presentation::controls::GuiBindableListView(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->bindableListView)->SetSmallImageProperty(LAMBDA(::vl_workflow_global::__vwsnf85_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__(this))); - } - { - ::vl::__vwsn::This(this->bindableListView)->SetLargeImageProperty(LAMBDA(::vl_workflow_global::__vwsnf86_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__(this))); - } - { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->bindableListView)->GetDataColumns()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(::vl::__vwsn::Parse<::vl::vint>(::vl::WString(L"0", false)))); - } - { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->bindableListView)->GetDataColumns()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(::vl::__vwsn::Parse<::vl::vint>(::vl::WString(L"1", false)))); - } - { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->bindableListView)->GetDataColumns()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(::vl::__vwsn::Parse<::vl::vint>(::vl::WString(L"2", false)))); - } - { - ::vl::__vwsn::This(this->bindableListView)->SetVerticalAlwaysVisible(::vl::__vwsn::Parse(::vl::WString(L"false", false))); - } - { - ::vl::__vwsn::This(this->bindableListView)->SetHorizontalAlwaysVisible(::vl::__vwsn::Parse(::vl::WString(L"false", false))); - } - { - ::vl::__vwsn::This(this->bindableListView)->SetAlt(::vl::WString(L"L", false)); - } - (this->__vwsn_precompile_21 = ::vl::__vwsn::This(this->bindableListView)->GetBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_21)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); - } - (this->__vwsn_precompile_17 = ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>(new ::vl::presentation::controls::list::ListViewColumn())); - { - ::vl::__vwsn::This(this->__vwsn_precompile_17.Obj())->SetTextProperty(LAMBDA(::vl_workflow_global::__vwsnf87_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__(this))); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_17.Obj())->SetText(::vl::WString(L"Id", false)); - } - { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->bindableListView)->GetColumns()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_17)); - } - (this->__vwsn_precompile_18 = ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>(new ::vl::presentation::controls::list::ListViewColumn())); - { - ::vl::__vwsn::This(this->__vwsn_precompile_18.Obj())->SetTextProperty(LAMBDA(::vl_workflow_global::__vwsnf88_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__(this))); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_18.Obj())->SetText(::vl::WString(L"Category", false)); - } - { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->bindableListView)->GetColumns()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_18)); - } - (this->__vwsn_precompile_19 = ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>(new ::vl::presentation::controls::list::ListViewColumn())); - { - ::vl::__vwsn::This(this->__vwsn_precompile_19.Obj())->SetTextProperty(LAMBDA(::vl_workflow_global::__vwsnf89_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__(this))); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_19.Obj())->SetText(::vl::WString(L"Size", false)); - } - { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->bindableListView)->GetColumns()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_19)); - } - (this->__vwsn_precompile_20 = ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>(new ::vl::presentation::controls::list::ListViewColumn())); - { - ::vl::__vwsn::This(this->__vwsn_precompile_20.Obj())->SetTextProperty(LAMBDA(::vl_workflow_global::__vwsnf90_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__(this))); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_20.Obj())->SetText(::vl::WString(L"File", false)); - } - { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->bindableListView)->GetColumns()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_20)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_16)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->bindableListView)->GetBoundsComposition())); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_16)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::This(this->self)->GetContainerComposition())->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_0)); - } - { - auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf91_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->comboView)->SelectedIndexChanged, __vwsn_event_handler_); - } - } - - ListViewTabPageConstructor::ListViewTabPageConstructor() - { - } - -/*********************************************************************** -Class (::demo::ListViewTabPage) -***********************************************************************/ - - ListViewTabPage::ListViewTabPage() - : ::vl::presentation::controls::GuiTabPage(::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateCustomControlStyle()) - { - auto __vwsn_resource_ = ::vl::__vwsn::This(::vl::presentation::GetResourceManager())->GetResourceFromClassName(::vl::WString(L"demo::ListViewTabPage", false)); - auto __vwsn_resolver_ = ::vl::Ptr<::vl::presentation::GuiResourcePathResolver>(new ::vl::presentation::GuiResourcePathResolver(__vwsn_resource_, ::vl::__vwsn::This(__vwsn_resource_.Obj())->GetWorkingDirectory())); - ::vl::__vwsn::This(this)->SetResourceResolver(__vwsn_resolver_); - ::vl::__vwsn::This(this)->__vwsn_initialize_instance_(this); - this->__vwsn_instance_ctor_(); - } - - void ListViewTabPage::__vwsn_instance_ctor_() - { - GLOBAL_NAME LoadListView(static_cast<::vl::presentation::controls::GuiInstanceRootObject*>(this), LAMBDA(::vl_workflow_global::__vwsnf92_Demo_demo_ListViewTabPage___vwsn_instance_ctor__(this))); - auto itemsToBind = ::vl::reflection::description::IValueObservableList::Create(); - GLOBAL_NAME LoadListView(static_cast<::vl::presentation::controls::GuiInstanceRootObject*>(this), LAMBDA(::vl_workflow_global::__vwsnf93_Demo_demo_ListViewTabPage___vwsn_instance_ctor__(itemsToBind, this))); - ::vl::__vwsn::This(this->bindableListView)->SetItemSource(::vl::Ptr<::vl::reflection::description::IValueEnumerable>(itemsToBind)); - } - - ListViewTabPage::~ListViewTabPage() - { - this->FinalizeInstanceRecursively(static_cast<::vl::presentation::controls::GuiCustomControl*>(this)); - } - -/*********************************************************************** -Class (::demo::MainWindowConstructor) -***********************************************************************/ - - void MainWindowConstructor::__vwsn_initialize_instance_(::demo::MainWindow* __vwsn_this_) - { - (this->self = __vwsn_this_); - (this->__vwsn_precompile_12 = ::vl::__vwsn::This(this->self)->GetBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_12)->SetPreferredMinSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(640); __vwsn_temp__.y = static_cast<::vl::vint>(480); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->self)->SetClientSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(640); __vwsn_temp__.y = static_cast<::vl::vint>(480); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->self)->SetText(::vl::WString(L"GacUI 完整控件测试", false)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateTabStyle(); - (this->__vwsn_precompile_0 = new ::vl::presentation::controls::GuiTab(__vwsn_controlStyle_)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateCustomControlStyle(); - (this->__vwsn_precompile_2 = new ::vl::presentation::controls::GuiTabPage(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_2)->SetAlt(::vl::WString(L"L", false)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_2)->SetText(::vl::WString(L"List", false)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateTabStyle(); - (this->__vwsn_precompile_3 = new ::vl::presentation::controls::GuiTab(__vwsn_controlStyle_)); - } - (this->__vwsn_precompile_5 = new ::demo::TextListTabPage()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_5)->SetAlt(::vl::WString(L"T", false)); - } - { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_3)->GetPages()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_5)); - } - (this->__vwsn_precompile_6 = new ::demo::ListViewTabPage()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_6)->SetAlt(::vl::WString(L"L", false)); - } - { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_3)->GetPages()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_6)); - } - (this->__vwsn_precompile_7 = new ::demo::TreeViewTabPage()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_7)->SetAlt(::vl::WString(L"T", false)); - } - { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_3)->GetPages()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_7)); - } - (this->__vwsn_precompile_8 = new ::demo::DataGridTabPage()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_8)->SetAlt(::vl::WString(L"D", false)); - } - { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_3)->GetPages()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_8)); - } - (this->__vwsn_precompile_4 = ::vl::__vwsn::This(this->__vwsn_precompile_3)->GetBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_4)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(5); __vwsn_temp__.top = static_cast<::vl::vint>(5); __vwsn_temp__.right = static_cast<::vl::vint>(5); __vwsn_temp__.bottom = static_cast<::vl::vint>(5); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_2)->AddChild(static_cast<::vl::presentation::controls::GuiControl*>(this->__vwsn_precompile_3)); - } - { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_0)->GetPages()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_2)); - } - (this->__vwsn_precompile_9 = new ::demo::RepeatTabPage()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_9)->SetAlt(::vl::WString(L"R", false)); - } - { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_0)->GetPages()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_9)); - } - (this->__vwsn_precompile_10 = new ::demo::DocumentTabPage()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_10)->SetAlt(::vl::WString(L"D", false)); - } - { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_0)->GetPages()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_10)); - } - (this->__vwsn_precompile_11 = new ::demo::TextBoxTabPage()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_11)->SetAlt(::vl::WString(L"D", false)); - } - { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_0)->GetPages()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_11)); - } - (this->__vwsn_precompile_1 = ::vl::__vwsn::This(this->__vwsn_precompile_0)->GetBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_1)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(5); __vwsn_temp__.top = static_cast<::vl::vint>(5); __vwsn_temp__.right = static_cast<::vl::vint>(5); __vwsn_temp__.bottom = static_cast<::vl::vint>(5); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->self)->AddChild(static_cast<::vl::presentation::controls::GuiControl*>(this->__vwsn_precompile_0)); - } - } - - MainWindowConstructor::MainWindowConstructor() - { - } - -/*********************************************************************** -Class (::demo::RepeatTabPageConstructor) -***********************************************************************/ - - void RepeatTabPageConstructor::__vwsn_initialize_instance_(::demo::RepeatTabPage* __vwsn_this_) - { - (this->self = __vwsn_this_); - { - ::vl::__vwsn::This(this->self)->SetText(::vl::WString(L"Repeat", false)); - } - (this->__vwsn_precompile_0 = new ::vl::presentation::compositions::GuiTableComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetCellPadding(::vl::__vwsn::Parse<::vl::vint>(::vl::WString(L"5", false))); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowsAndColumns(static_cast<::vl::vint>(1), static_cast<::vl::vint>(2)); - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowOption(static_cast<::vl::vint>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(1.0); return __vwsn_temp__; }()); - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(0.5); return __vwsn_temp__; }()); - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(1), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); - } - (this->__vwsn_precompile_1 = new ::vl::presentation::compositions::GuiCellComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_1)->SetSite(static_cast<::vl::vint>(0), static_cast<::vl::vint>(0), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateTabStyle(); - (this->__vwsn_precompile_2 = new ::vl::presentation::controls::GuiTab(__vwsn_controlStyle_)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateCustomControlStyle(); - (this->__vwsn_precompile_4 = new ::vl::presentation::controls::GuiTabPage(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_4)->SetAlt(::vl::WString(L"S", false)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_4)->SetText(::vl::WString(L"RepeatStack", false)); - } - (this->repeatStack = new ::vl::presentation::compositions::GuiRepeatStackComposition()); - { - ::vl::__vwsn::This(this->repeatStack)->SetItemTemplate(LAMBDA(::vl_workflow_global::__vwsnf94_Demo_demo_RepeatTabPageConstructor___vwsn_initialize_instance__(this))); - } - { - ::vl::__vwsn::This(this->repeatStack)->SetExtraMargin([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(5); __vwsn_temp__.top = static_cast<::vl::vint>(5); __vwsn_temp__.right = static_cast<::vl::vint>(5); __vwsn_temp__.bottom = static_cast<::vl::vint>(5); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->repeatStack)->SetPadding(::vl::__vwsn::Parse<::vl::vint>(::vl::WString(L"5", false))); - } - { - ::vl::__vwsn::This(this->repeatStack)->SetDirection(::vl::presentation::compositions::GuiStackComposition::Direction::Vertical); - } - { - ::vl::__vwsn::This(this->repeatStack)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(::vl::__vwsn::This(this->__vwsn_precompile_4)->GetContainerComposition())->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->repeatStack)); - } - { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetPages()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_4)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateCustomControlStyle(); - (this->__vwsn_precompile_5 = new ::vl::presentation::controls::GuiTabPage(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_5)->SetAlt(::vl::WString(L"F", false)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_5)->SetText(::vl::WString(L"RepeatFlow", false)); - } - (this->repeatFlow = new ::vl::presentation::compositions::GuiRepeatFlowComposition()); - { - ::vl::__vwsn::This(this->repeatFlow)->SetColumnPadding(::vl::__vwsn::Parse<::vl::vint>(::vl::WString(L"5", false))); - } - { - ::vl::__vwsn::This(this->repeatFlow)->SetRowPadding(::vl::__vwsn::Parse<::vl::vint>(::vl::WString(L"5", false))); - } - { - ::vl::__vwsn::This(this->repeatFlow)->SetItemTemplate(LAMBDA(::vl_workflow_global::__vwsnf95_Demo_demo_RepeatTabPageConstructor___vwsn_initialize_instance__(this))); - } - { - ::vl::__vwsn::This(this->repeatFlow)->SetExtraMargin([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(5); __vwsn_temp__.top = static_cast<::vl::vint>(5); __vwsn_temp__.right = static_cast<::vl::vint>(5); __vwsn_temp__.bottom = static_cast<::vl::vint>(5); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->repeatFlow)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(::vl::__vwsn::This(this->__vwsn_precompile_5)->GetContainerComposition())->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->repeatFlow)); - } - { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetPages()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_5)); - } - (this->__vwsn_precompile_3 = ::vl::__vwsn::This(this->__vwsn_precompile_2)->GetBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_3)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_1)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetBoundsComposition())); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_1)); - } - (this->__vwsn_precompile_6 = new ::vl::presentation::compositions::GuiCellComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_6)->SetSite(static_cast<::vl::vint>(0), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); - } - (this->__vwsn_precompile_7 = new ::vl::presentation::compositions::GuiStackComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_7)->SetMinSizeLimitation(::vl::presentation::compositions::GuiGraphicsComposition::MinSizeLimitation::LimitToElementAndChildren); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_7)->SetPadding(::vl::__vwsn::Parse<::vl::vint>(::vl::WString(L"5", false))); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_7)->SetDirection(::vl::presentation::compositions::GuiStackComposition::Direction::Vertical); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_7)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); - } - (this->__vwsn_precompile_8 = new ::vl::presentation::compositions::GuiStackItemComposition()); - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateButtonStyle(); - (this->__vwsn_precompile_9 = new ::vl::presentation::controls::GuiButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_9)->SetAlt(::vl::WString(L"A", false)); - } - (this->__vwsn_precompile_10 = ::vl::__vwsn::This(this->__vwsn_precompile_9)->GetBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_10)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_9)->SetText(::vl::WString(L"Add 10 items", false)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_8)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_9)->GetBoundsComposition())); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_7)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_8)); - } - (this->__vwsn_precompile_11 = new ::vl::presentation::compositions::GuiStackItemComposition()); - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateButtonStyle(); - (this->__vwsn_precompile_12 = new ::vl::presentation::controls::GuiButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_12)->SetAlt(::vl::WString(L"O", false)); - } - (this->__vwsn_precompile_13 = ::vl::__vwsn::This(this->__vwsn_precompile_12)->GetBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_13)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_12)->SetText(::vl::WString(L"Remove odd items", false)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_11)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_12)->GetBoundsComposition())); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_7)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_11)); - } - (this->__vwsn_precompile_14 = new ::vl::presentation::compositions::GuiStackItemComposition()); - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateButtonStyle(); - (this->__vwsn_precompile_15 = new ::vl::presentation::controls::GuiButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_15)->SetAlt(::vl::WString(L"E", false)); - } - (this->__vwsn_precompile_16 = ::vl::__vwsn::This(this->__vwsn_precompile_15)->GetBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_16)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_15)->SetText(::vl::WString(L"Remove even items", false)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_14)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_15)->GetBoundsComposition())); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_7)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_14)); - } - (this->__vwsn_precompile_17 = new ::vl::presentation::compositions::GuiStackItemComposition()); - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateButtonStyle(); - (this->__vwsn_precompile_18 = new ::vl::presentation::controls::GuiButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_18)->SetAlt(::vl::WString(L"C", false)); - } - (this->__vwsn_precompile_19 = ::vl::__vwsn::This(this->__vwsn_precompile_18)->GetBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_19)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_18)->SetText(::vl::WString(L"Clear", false)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_17)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_18)->GetBoundsComposition())); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_7)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_17)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_6)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_7)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_6)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::This(this->self)->GetContainerComposition())->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_0)); - } - { - ::vl::__vwsn::This(this->repeatStack)->SetItemSource(::vl::Ptr<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->self)->itemsToBind)); - } - { - ::vl::__vwsn::This(this->repeatFlow)->SetItemSource(::vl::Ptr<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->self)->itemsToBind)); - } - { - auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf96_Demo_demo_RepeatTabPageConstructor___vwsn_initialize_instance__(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_9)->Clicked, __vwsn_event_handler_); - } - { - auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf97_Demo_demo_RepeatTabPageConstructor___vwsn_initialize_instance__(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_12)->Clicked, __vwsn_event_handler_); - } - { - auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf98_Demo_demo_RepeatTabPageConstructor___vwsn_initialize_instance__(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_15)->Clicked, __vwsn_event_handler_); - } - { - auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf99_Demo_demo_RepeatTabPageConstructor___vwsn_initialize_instance__(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_18)->Clicked, __vwsn_event_handler_); - } - } - - RepeatTabPageConstructor::RepeatTabPageConstructor() - { - } - -/*********************************************************************** -Class (::demo::RepeatTabPage) -***********************************************************************/ - - ::vl::WString RepeatTabPage::ToText_1to9(::vl::vint i) - { - { - auto __vwsn_switch_2 = i; - if ((__vwsn_switch_2 == static_cast<::vl::vint>(1))) - { - return ::vl::WString(L"one", false); - } - else if ((__vwsn_switch_2 == static_cast<::vl::vint>(2))) - { - return ::vl::WString(L"two", false); - } - else if ((__vwsn_switch_2 == static_cast<::vl::vint>(3))) - { - return ::vl::WString(L"three", false); - } - else if ((__vwsn_switch_2 == static_cast<::vl::vint>(4))) - { - return ::vl::WString(L"four", false); - } - else if ((__vwsn_switch_2 == static_cast<::vl::vint>(5))) - { - return ::vl::WString(L"five", false); - } - else if ((__vwsn_switch_2 == static_cast<::vl::vint>(6))) - { - return ::vl::WString(L"six", false); - } - else if ((__vwsn_switch_2 == static_cast<::vl::vint>(7))) - { - return ::vl::WString(L"seven", false); - } - else if ((__vwsn_switch_2 == static_cast<::vl::vint>(8))) - { - return ::vl::WString(L"eight", false); - } - else if ((__vwsn_switch_2 == static_cast<::vl::vint>(9))) - { - return ::vl::WString(L"nine", false); - } - } - throw ::vl::Exception(::vl::WString(L"ToText_1to9: Number out of range.", false)); - } - - ::vl::WString RepeatTabPage::ToText_11to19(::vl::vint i) - { - { - auto __vwsn_switch_3 = i; - if ((__vwsn_switch_3 == static_cast<::vl::vint>(1))) - { - return ::vl::WString(L"eleven", false); - } - else if ((__vwsn_switch_3 == static_cast<::vl::vint>(2))) - { - return ::vl::WString(L"twelve", false); - } - else if ((__vwsn_switch_3 == static_cast<::vl::vint>(3))) - { - return ::vl::WString(L"thirteen", false); - } - else if ((__vwsn_switch_3 == static_cast<::vl::vint>(4))) - { - return ::vl::WString(L"fourteen", false); - } - else if ((__vwsn_switch_3 == static_cast<::vl::vint>(5))) - { - return ::vl::WString(L"fifteen", false); - } - else if ((__vwsn_switch_3 == static_cast<::vl::vint>(6))) - { - return ::vl::WString(L"sixteen", false); - } - else if ((__vwsn_switch_3 == static_cast<::vl::vint>(7))) - { - return ::vl::WString(L"seventeen", false); - } - else if ((__vwsn_switch_3 == static_cast<::vl::vint>(8))) - { - return ::vl::WString(L"eightteen", false); - } - else if ((__vwsn_switch_3 == static_cast<::vl::vint>(9))) - { - return ::vl::WString(L"nineteen", false); - } - } - throw ::vl::Exception(::vl::WString(L"ToText_11to19: Number out of range.", false)); - } - - ::vl::WString RepeatTabPage::NumberToText_1To99(::vl::vint i) - { - { - auto __vwsn_switch_4 = (i / static_cast<::vl::vint>(10)); - if ((__vwsn_switch_4 == static_cast<::vl::vint>(0))) - { - return this->ToText_1to9((i % static_cast<::vl::vint>(10))); - } - else if ((__vwsn_switch_4 == static_cast<::vl::vint>(1))) - { - return ((i == static_cast<::vl::vint>(10)) ? ::vl::WString(L"ten", false) : this->ToText_11to19((i % static_cast<::vl::vint>(10)))); - } - else if ((__vwsn_switch_4 == static_cast<::vl::vint>(2))) - { - return (((i % static_cast<::vl::vint>(10)) == static_cast<::vl::vint>(0)) ? ::vl::WString(L"twenty", false) : (::vl::WString(L"twenty-", false) + this->ToText_1to9((i % static_cast<::vl::vint>(10))))); - } - else if ((__vwsn_switch_4 == static_cast<::vl::vint>(3))) - { - return (((i % static_cast<::vl::vint>(10)) == static_cast<::vl::vint>(0)) ? ::vl::WString(L"thirty", false) : (::vl::WString(L"thirty-", false) + this->ToText_1to9((i % static_cast<::vl::vint>(10))))); - } - else if ((__vwsn_switch_4 == static_cast<::vl::vint>(4))) - { - return (((i % static_cast<::vl::vint>(10)) == static_cast<::vl::vint>(0)) ? ::vl::WString(L"fourty", false) : (::vl::WString(L"fourty-", false) + this->ToText_1to9((i % static_cast<::vl::vint>(10))))); - } - else if ((__vwsn_switch_4 == static_cast<::vl::vint>(5))) - { - return (((i % static_cast<::vl::vint>(10)) == static_cast<::vl::vint>(0)) ? ::vl::WString(L"fifty", false) : (::vl::WString(L"fifty-", false) + this->ToText_1to9((i % static_cast<::vl::vint>(10))))); - } - else if ((__vwsn_switch_4 == static_cast<::vl::vint>(6))) - { - return (((i % static_cast<::vl::vint>(10)) == static_cast<::vl::vint>(0)) ? ::vl::WString(L"sixty", false) : (::vl::WString(L"sixty-", false) + this->ToText_1to9((i % static_cast<::vl::vint>(10))))); - } - else if ((__vwsn_switch_4 == static_cast<::vl::vint>(7))) - { - return (((i % static_cast<::vl::vint>(10)) == static_cast<::vl::vint>(0)) ? ::vl::WString(L"seventy", false) : (::vl::WString(L"seventy-", false) + this->ToText_1to9((i % static_cast<::vl::vint>(10))))); - } - else if ((__vwsn_switch_4 == static_cast<::vl::vint>(8))) - { - return (((i % static_cast<::vl::vint>(10)) == static_cast<::vl::vint>(0)) ? ::vl::WString(L"eighty", false) : (::vl::WString(L"eighty-", false) + this->ToText_1to9((i % static_cast<::vl::vint>(10))))); - } - else if ((__vwsn_switch_4 == static_cast<::vl::vint>(9))) - { - return (((i % static_cast<::vl::vint>(10)) == static_cast<::vl::vint>(0)) ? ::vl::WString(L"ninety", false) : (::vl::WString(L"ninety-", false) + this->ToText_1to9((i % static_cast<::vl::vint>(10))))); - } - } - throw ::vl::Exception(::vl::WString(L"NumberToText_1To99: Number out of range.", false)); - } - - ::vl::WString RepeatTabPage::NumberToText_0to999(::vl::vint i) - { - if ((i < static_cast<::vl::vint>(100))) - { - return this->NumberToText_1To99(i); - } - return ((this->ToText_1to9((i / static_cast<::vl::vint>(100))) + ::vl::WString(L" hundred", false)) + (((i % static_cast<::vl::vint>(100)) == static_cast<::vl::vint>(0)) ? ::vl::WString(L"", false) : (::vl::WString(L" and ", false) + this->NumberToText_1To99((i % static_cast<::vl::vint>(100)))))); - } - - ::vl::WString RepeatTabPage::NumberToText(::vl::vint i) - { - if ((i == static_cast<::vl::vint>(0))) - { - return ::vl::WString(L"zero", false); - } - if ((i < static_cast<::vl::vint>(1000))) - { - return this->NumberToText_0to999(i); - } - return (::vl::WString(L"Number too large: ", false) + ::vl::__vwsn::ToString(i)); - } - - RepeatTabPage::RepeatTabPage() - : ::vl::presentation::controls::GuiTabPage(::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateCustomControlStyle()) - { - auto __vwsn_resource_ = ::vl::__vwsn::This(::vl::presentation::GetResourceManager())->GetResourceFromClassName(::vl::WString(L"demo::RepeatTabPage", false)); - auto __vwsn_resolver_ = ::vl::Ptr<::vl::presentation::GuiResourcePathResolver>(new ::vl::presentation::GuiResourcePathResolver(__vwsn_resource_, ::vl::__vwsn::This(__vwsn_resource_.Obj())->GetWorkingDirectory())); - ::vl::__vwsn::This(this)->SetResourceResolver(__vwsn_resolver_); - ::vl::__vwsn::This(this)->__vwsn_initialize_instance_(this); - } - - RepeatTabPage::~RepeatTabPage() - { - this->FinalizeInstanceRecursively(static_cast<::vl::presentation::controls::GuiCustomControl*>(this)); - } - -/*********************************************************************** -Class (::demo::TextListTabPageConstructor) -***********************************************************************/ - - void TextListTabPageConstructor::__vwsn_initialize_instance_(::demo::TextListTabPage* __vwsn_this_) - { - (this->self = __vwsn_this_); - { - ::vl::__vwsn::This(this->self)->SetText(::vl::WString(L"TextList", false)); - } - (this->__vwsn_precompile_0 = new ::vl::presentation::compositions::GuiTableComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetCellPadding(::vl::__vwsn::Parse<::vl::vint>(::vl::WString(L"5", false))); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowsAndColumns(static_cast<::vl::vint>(2), static_cast<::vl::vint>(3)); - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowOption(static_cast<::vl::vint>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowOption(static_cast<::vl::vint>(1), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(1.0); return __vwsn_temp__; }()); - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(0.5); return __vwsn_temp__; }()); - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(1), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(2), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(0.5); return __vwsn_temp__; }()); - } - (this->__vwsn_precompile_1 = new ::vl::presentation::compositions::GuiCellComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_1)->SetSite(static_cast<::vl::vint>(0), static_cast<::vl::vint>(0), static_cast<::vl::vint>(1), static_cast<::vl::vint>(3)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateTextListStyle(); - (this->__vwsn_precompile_2 = new ::vl::presentation::controls::GuiTextList(__vwsn_controlStyle_)); - } - (this->__vwsn_precompile_3 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(new ::vl::presentation::controls::list::TextItem())); - { - ::vl::__vwsn::This(this->__vwsn_precompile_3.Obj())->SetText(::vl::WString(L"Text", false)); - } - { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetItems()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_3)); - } - (this->__vwsn_precompile_4 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(new ::vl::presentation::controls::list::TextItem())); - { - ::vl::__vwsn::This(this->__vwsn_precompile_4.Obj())->SetText(::vl::WString(L"Check", false)); - } - { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetItems()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_4)); - } - (this->__vwsn_precompile_5 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(new ::vl::presentation::controls::list::TextItem())); - { - ::vl::__vwsn::This(this->__vwsn_precompile_5.Obj())->SetText(::vl::WString(L"Radio", false)); - } - { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetItems()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_5)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_2)->SetVerticalAlwaysVisible(::vl::__vwsn::Parse(::vl::WString(L"false", false))); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_2)->SetHorizontalAlwaysVisible(::vl::__vwsn::Parse(::vl::WString(L"false", false))); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateComboBoxStyle(); - (this->comboView = new ::vl::presentation::controls::GuiComboBoxListControl(__vwsn_controlStyle_, this->__vwsn_precompile_2)); - } - { - ::vl::__vwsn::This(this->comboView)->SetSelectedIndex(::vl::__vwsn::Parse<::vl::vint>(::vl::WString(L"0", false))); - } - { - ::vl::__vwsn::This(this->comboView)->SetAlt(::vl::WString(L"V", false)); - } - (this->__vwsn_precompile_6 = ::vl::__vwsn::This(this->comboView)->GetBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_6)->SetPreferredMinSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(120); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_1)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->comboView)->GetBoundsComposition())); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_1)); - } - (this->__vwsn_precompile_7 = new ::vl::presentation::compositions::GuiCellComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_7)->SetSite(static_cast<::vl::vint>(1), static_cast<::vl::vint>(0), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateTextListStyle(); - (this->textList = new ::vl::presentation::controls::GuiTextList(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->textList)->SetVerticalAlwaysVisible(::vl::__vwsn::Parse(::vl::WString(L"false", false))); - } - { - ::vl::__vwsn::This(this->textList)->SetHorizontalAlwaysVisible(::vl::__vwsn::Parse(::vl::WString(L"false", false))); - } - { - ::vl::__vwsn::This(this->textList)->SetAlt(::vl::WString(L"L", false)); - } - (this->__vwsn_precompile_8 = ::vl::__vwsn::This(this->textList)->GetBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_8)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_7)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->textList)->GetBoundsComposition())); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_7)); - } - (this->__vwsn_precompile_9 = new ::vl::presentation::compositions::GuiCellComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_9)->SetSite(static_cast<::vl::vint>(1), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); - } - (this->__vwsn_precompile_10 = new ::vl::presentation::compositions::GuiStackComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_10)->SetMinSizeLimitation(::vl::presentation::compositions::GuiGraphicsComposition::MinSizeLimitation::LimitToElementAndChildren); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_10)->SetPadding(::vl::__vwsn::Parse<::vl::vint>(::vl::WString(L"5", false))); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_10)->SetDirection(::vl::presentation::compositions::GuiStackComposition::Direction::Vertical); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_10)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); - } - (this->__vwsn_precompile_11 = new ::vl::presentation::compositions::GuiStackItemComposition()); - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateButtonStyle(); - (this->__vwsn_precompile_12 = new ::vl::presentation::controls::GuiButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_12)->SetAlt(::vl::WString(L"A", false)); - } - (this->__vwsn_precompile_13 = ::vl::__vwsn::This(this->__vwsn_precompile_12)->GetBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_13)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_12)->SetText(::vl::WString(L"Add 10 items", false)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_11)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_12)->GetBoundsComposition())); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_10)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_11)); - } - (this->__vwsn_precompile_14 = new ::vl::presentation::compositions::GuiStackItemComposition()); - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateButtonStyle(); - (this->__vwsn_precompile_15 = new ::vl::presentation::controls::GuiButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_15)->SetAlt(::vl::WString(L"O", false)); - } - (this->__vwsn_precompile_16 = ::vl::__vwsn::This(this->__vwsn_precompile_15)->GetBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_16)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_15)->SetText(::vl::WString(L"Remove odd items", false)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_14)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_15)->GetBoundsComposition())); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_10)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_14)); - } - (this->__vwsn_precompile_17 = new ::vl::presentation::compositions::GuiStackItemComposition()); - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateButtonStyle(); - (this->__vwsn_precompile_18 = new ::vl::presentation::controls::GuiButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_18)->SetAlt(::vl::WString(L"E", false)); - } - (this->__vwsn_precompile_19 = ::vl::__vwsn::This(this->__vwsn_precompile_18)->GetBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_19)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_18)->SetText(::vl::WString(L"Remove even items", false)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_17)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_18)->GetBoundsComposition())); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_10)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_17)); - } - (this->__vwsn_precompile_20 = new ::vl::presentation::compositions::GuiStackItemComposition()); - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateButtonStyle(); - (this->__vwsn_precompile_21 = new ::vl::presentation::controls::GuiButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_21)->SetAlt(::vl::WString(L"C", false)); - } - (this->__vwsn_precompile_22 = ::vl::__vwsn::This(this->__vwsn_precompile_21)->GetBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_22)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_21)->SetText(::vl::WString(L"Clear", false)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_20)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_21)->GetBoundsComposition())); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_10)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_20)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_9)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_10)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_9)); - } - (this->__vwsn_precompile_23 = new ::vl::presentation::compositions::GuiCellComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_23)->SetSite(static_cast<::vl::vint>(1), static_cast<::vl::vint>(2), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateTextListStyle(); - (this->bindableTextList = new ::vl::presentation::controls::GuiBindableTextList(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->bindableTextList)->SetCheckedProperty(LAMBDA(::vl_workflow_global::__vwsnf100_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__(this))); - } - { - ::vl::__vwsn::This(this->bindableTextList)->SetTextProperty(LAMBDA(::vl_workflow_global::__vwsnf101_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__(this))); - } - { - ::vl::__vwsn::This(this->bindableTextList)->SetVerticalAlwaysVisible(::vl::__vwsn::Parse(::vl::WString(L"false", false))); - } - { - ::vl::__vwsn::This(this->bindableTextList)->SetHorizontalAlwaysVisible(::vl::__vwsn::Parse(::vl::WString(L"false", false))); - } - { - ::vl::__vwsn::This(this->bindableTextList)->SetAlt(::vl::WString(L"B", false)); - } - (this->__vwsn_precompile_24 = ::vl::__vwsn::This(this->bindableTextList)->GetBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_24)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_23)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->bindableTextList)->GetBoundsComposition())); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_23)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::This(this->self)->GetContainerComposition())->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_0)); - } - { - auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf102_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->comboView)->SelectedIndexChanged, __vwsn_event_handler_); - } - { - auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf103_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_12)->Clicked, __vwsn_event_handler_); - } - { - auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf104_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_15)->Clicked, __vwsn_event_handler_); - } - { - auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf105_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_18)->Clicked, __vwsn_event_handler_); - } - { - auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf106_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_21)->Clicked, __vwsn_event_handler_); - } - { - ::vl::__vwsn::This(this->bindableTextList)->SetItemSource(::vl::Ptr<::vl::reflection::description::IValueEnumerable>(::vl::__vwsn::This(::vl::__vwsn::This(this->self)->self)->itemsToBind)); - } - } - - TextListTabPageConstructor::TextListTabPageConstructor() - { - } - -/*********************************************************************** -Class (::demo::TextListTabPage) -***********************************************************************/ - - TextListTabPage::TextListTabPage() - : ::vl::presentation::controls::GuiTabPage(::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateCustomControlStyle()) - { - auto __vwsn_resource_ = ::vl::__vwsn::This(::vl::presentation::GetResourceManager())->GetResourceFromClassName(::vl::WString(L"demo::TextListTabPage", false)); - auto __vwsn_resolver_ = ::vl::Ptr<::vl::presentation::GuiResourcePathResolver>(new ::vl::presentation::GuiResourcePathResolver(__vwsn_resource_, ::vl::__vwsn::This(__vwsn_resource_.Obj())->GetWorkingDirectory())); - ::vl::__vwsn::This(this)->SetResourceResolver(__vwsn_resolver_); - ::vl::__vwsn::This(this)->__vwsn_initialize_instance_(this); - } - - TextListTabPage::~TextListTabPage() - { - this->FinalizeInstanceRecursively(static_cast<::vl::presentation::controls::GuiCustomControl*>(this)); - } - -/*********************************************************************** -Class (::demo::TreeViewTabPageConstructor) -***********************************************************************/ - - void TreeViewTabPageConstructor::__vwsn_initialize_instance_(::demo::TreeViewTabPage* __vwsn_this_) - { - (this->self = __vwsn_this_); - (this->__vwsn_precompile_27 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem())))); - (this->__vwsn_precompile_28 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/Plus_Blue", false), true).Obj())), ::vl::WString(L"Blue+", false)))))); - (this->__vwsn_precompile_29 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/ArrowCurve_Blue_Left", false), true).Obj())), ::vl::WString(L"<--", false)))))); - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_28.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_29)); - } - (this->__vwsn_precompile_30 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/ArrowCurve_Blue_Right", false), true).Obj())), ::vl::WString(L"-->", false)))))); - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_28.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_30)); - } - (this->__vwsn_precompile_31 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/DownArrowLong_Blue", false), true).Obj())), ::vl::WString(L"V", false)))))); - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_28.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_31)); - } - (this->__vwsn_precompile_32 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/UpArrowLong_Blue", false), true).Obj())), ::vl::WString(L"^", false)))))); - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_28.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_32)); - } - (this->__vwsn_precompile_33 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/LeftArrowLong_Blue", false), true).Obj())), ::vl::WString(L"<", false)))))); - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_28.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_33)); - } - (this->__vwsn_precompile_34 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/RightArrowLong_Blue", false), true).Obj())), ::vl::WString(L">", false)))))); - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_28.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_34)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_27.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_28)); - } - (this->__vwsn_precompile_35 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/Plus_Green", false), true).Obj())), ::vl::WString(L"Green+", false)))))); - (this->__vwsn_precompile_36 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/DownArrowLong_Green", false), true).Obj())), ::vl::WString(L"V", false)))))); - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_35.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_36)); - } - (this->__vwsn_precompile_37 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/UpArrowLong_Green", false), true).Obj())), ::vl::WString(L"^", false)))))); - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_35.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_37)); - } - (this->__vwsn_precompile_38 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/LeftArrowLong_Green", false), true).Obj())), ::vl::WString(L"<", false)))))); - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_35.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_38)); - } - (this->__vwsn_precompile_39 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/RightArrowLong_Green", false), true).Obj())), ::vl::WString(L">", false)))))); - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_35.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_39)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_27.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_35)); - } - (this->__vwsn_precompile_40 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/Plus_Grey", false), true).Obj())), ::vl::WString(L"Grey+", false)))))); - (this->__vwsn_precompile_41 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/DownArrowLong_Grey", false), true).Obj())), ::vl::WString(L"V", false)))))); - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_40.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_41)); - } - (this->__vwsn_precompile_42 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/UpArrowLong_Grey", false), true).Obj())), ::vl::WString(L"^", false)))))); - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_40.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_42)); - } - (this->__vwsn_precompile_43 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/LeftArrowLong_Grey", false), true).Obj())), ::vl::WString(L"<", false)))))); - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_40.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_43)); - } - (this->__vwsn_precompile_44 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/RightArrowLong_Grey", false), true).Obj())), ::vl::WString(L">", false)))))); - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_40.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_44)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_27.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_40)); - } - (this->__vwsn_precompile_45 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/Plus_Orange", false), true).Obj())), ::vl::WString(L"Orange+", false)))))); - (this->__vwsn_precompile_46 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/DownArrowLong_Orange", false), true).Obj())), ::vl::WString(L"V", false)))))); - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_45.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_46)); - } - (this->__vwsn_precompile_47 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/UpArrowLong_Orange", false), true).Obj())), ::vl::WString(L"^", false)))))); - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_45.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_47)); - } - (this->__vwsn_precompile_48 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/LeftArrowLong_Orange", false), true).Obj())), ::vl::WString(L"<", false)))))); - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_45.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_48)); - } - (this->__vwsn_precompile_49 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/RightArrowLong_Orange", false), true).Obj())), ::vl::WString(L">", false)))))); - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_45.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_49)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_27.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_45)); - } - { - (::vl::__vwsn::This(this->self)->nodesToBind = this->__vwsn_precompile_27); - } - { - ::vl::__vwsn::This(this->self)->SetText(::vl::WString(L"TreeView", false)); - } - (this->__vwsn_precompile_0 = new ::vl::presentation::compositions::GuiTableComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetCellPadding(::vl::__vwsn::Parse<::vl::vint>(::vl::WString(L"5", false))); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowsAndColumns(static_cast<::vl::vint>(1), static_cast<::vl::vint>(2)); - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowOption(static_cast<::vl::vint>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(1.0); return __vwsn_temp__; }()); - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(0.5); return __vwsn_temp__; }()); - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(1), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(0.5); return __vwsn_temp__; }()); - } - (this->__vwsn_precompile_1 = new ::vl::presentation::compositions::GuiCellComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_1)->SetSite(static_cast<::vl::vint>(0), static_cast<::vl::vint>(0), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateTreeViewStyle(); - (this->treeView = new ::vl::presentation::controls::GuiTreeView(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->treeView)->SetVerticalAlwaysVisible(::vl::__vwsn::Parse(::vl::WString(L"false", false))); - } - { - ::vl::__vwsn::This(this->treeView)->SetHorizontalAlwaysVisible(::vl::__vwsn::Parse(::vl::WString(L"false", false))); - } - { - ::vl::__vwsn::This(this->treeView)->SetAlt(::vl::WString(L"L", false)); - } - (this->__vwsn_precompile_24 = ::vl::__vwsn::This(this->treeView)->GetBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_24)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); - } - (this->__vwsn_precompile_2 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/Plus_Blue", false), true).Obj())), ::vl::WString(L"Blue+", false)))))); - (this->__vwsn_precompile_3 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/ArrowCurve_Blue_Left", false), true).Obj())), ::vl::WString(L"<--", false)))))); - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_3)); - } - (this->__vwsn_precompile_4 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/ArrowCurve_Blue_Right", false), true).Obj())), ::vl::WString(L"-->", false)))))); - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_4)); - } - (this->__vwsn_precompile_5 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/DownArrowLong_Blue", false), true).Obj())), ::vl::WString(L"V", false)))))); - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_5)); - } - (this->__vwsn_precompile_6 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/UpArrowLong_Blue", false), true).Obj())), ::vl::WString(L"^", false)))))); - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_6)); - } - (this->__vwsn_precompile_7 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/LeftArrowLong_Blue", false), true).Obj())), ::vl::WString(L"<", false)))))); - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_7)); - } - (this->__vwsn_precompile_8 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/RightArrowLong_Blue", false), true).Obj())), ::vl::WString(L">", false)))))); - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_2.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_8)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(::vl::__vwsn::This(this->treeView)->Nodes().Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_2)); - } - (this->__vwsn_precompile_9 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/Plus_Green", false), true).Obj())), ::vl::WString(L"Green+", false)))))); - (this->__vwsn_precompile_10 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/DownArrowLong_Green", false), true).Obj())), ::vl::WString(L"V", false)))))); - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_9.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_10)); - } - (this->__vwsn_precompile_11 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/UpArrowLong_Green", false), true).Obj())), ::vl::WString(L"^", false)))))); - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_9.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_11)); - } - (this->__vwsn_precompile_12 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/LeftArrowLong_Green", false), true).Obj())), ::vl::WString(L"<", false)))))); - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_9.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_12)); - } - (this->__vwsn_precompile_13 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/RightArrowLong_Green", false), true).Obj())), ::vl::WString(L">", false)))))); - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_9.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_13)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(::vl::__vwsn::This(this->treeView)->Nodes().Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_9)); - } - (this->__vwsn_precompile_14 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/Plus_Grey", false), true).Obj())), ::vl::WString(L"Grey+", false)))))); - (this->__vwsn_precompile_15 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/DownArrowLong_Grey", false), true).Obj())), ::vl::WString(L"V", false)))))); - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_14.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_15)); - } - (this->__vwsn_precompile_16 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/UpArrowLong_Grey", false), true).Obj())), ::vl::WString(L"^", false)))))); - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_14.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_16)); - } - (this->__vwsn_precompile_17 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/LeftArrowLong_Grey", false), true).Obj())), ::vl::WString(L"<", false)))))); - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_14.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_17)); - } - (this->__vwsn_precompile_18 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/RightArrowLong_Grey", false), true).Obj())), ::vl::WString(L">", false)))))); - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_14.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_18)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(::vl::__vwsn::This(this->treeView)->Nodes().Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_14)); - } - (this->__vwsn_precompile_19 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/Plus_Orange", false), true).Obj())), ::vl::WString(L"Orange+", false)))))); - (this->__vwsn_precompile_20 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/DownArrowLong_Orange", false), true).Obj())), ::vl::WString(L"V", false)))))); - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_19.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_20)); - } - (this->__vwsn_precompile_21 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/UpArrowLong_Orange", false), true).Obj())), ::vl::WString(L"^", false)))))); - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_19.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_21)); - } - (this->__vwsn_precompile_22 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/LeftArrowLong_Orange", false), true).Obj())), ::vl::WString(L"<", false)))))); - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_19.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_22)); - } - (this->__vwsn_precompile_23 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(new ::vl::presentation::controls::tree::MemoryNodeProvider(::vl::Ptr<::vl::presentation::controls::tree::TreeViewItem>(new ::vl::presentation::controls::tree::TreeViewItem(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"SmallImages/RightArrowLong_Orange", false), true).Obj())), ::vl::WString(L">", false)))))); - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(this->__vwsn_precompile_19.Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_23)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueList>(::vl::__vwsn::This(::vl::__vwsn::This(this->treeView)->Nodes().Obj())->Children()).Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_19)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_1)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->treeView)->GetBoundsComposition())); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_1)); - } - (this->__vwsn_precompile_25 = new ::vl::presentation::compositions::GuiCellComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_25)->SetSite(static_cast<::vl::vint>(0), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateTreeViewStyle(); - (this->bindableTreeView = new ::vl::presentation::controls::GuiBindableTreeView(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->bindableTreeView)->SetChildrenProperty(LAMBDA(::vl_workflow_global::__vwsnf107_Demo_demo_TreeViewTabPageConstructor___vwsn_initialize_instance__(this))); - } - { - ::vl::__vwsn::This(this->bindableTreeView)->SetImageProperty(LAMBDA(::vl_workflow_global::__vwsnf108_Demo_demo_TreeViewTabPageConstructor___vwsn_initialize_instance__(this))); - } - { - ::vl::__vwsn::This(this->bindableTreeView)->SetTextProperty(LAMBDA(::vl_workflow_global::__vwsnf109_Demo_demo_TreeViewTabPageConstructor___vwsn_initialize_instance__(this))); - } - { - ::vl::__vwsn::This(this->bindableTreeView)->SetVerticalAlwaysVisible(::vl::__vwsn::Parse(::vl::WString(L"false", false))); - } - { - ::vl::__vwsn::This(this->bindableTreeView)->SetHorizontalAlwaysVisible(::vl::__vwsn::Parse(::vl::WString(L"false", false))); - } - { - ::vl::__vwsn::This(this->bindableTreeView)->SetAlt(::vl::WString(L"L", false)); - } - (this->__vwsn_precompile_26 = ::vl::__vwsn::This(this->bindableTreeView)->GetBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_26)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_25)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->bindableTreeView)->GetBoundsComposition())); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_25)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::This(this->self)->GetContainerComposition())->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_0)); - } - } - - TreeViewTabPageConstructor::TreeViewTabPageConstructor() - { - } - -/*********************************************************************** -Class (::demo::TreeViewTabPage) -***********************************************************************/ - - TreeViewTabPage::TreeViewTabPage() - : ::vl::presentation::controls::GuiTabPage(::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateCustomControlStyle()) - { - auto __vwsn_resource_ = ::vl::__vwsn::This(::vl::presentation::GetResourceManager())->GetResourceFromClassName(::vl::WString(L"demo::TreeViewTabPage", false)); - auto __vwsn_resolver_ = ::vl::Ptr<::vl::presentation::GuiResourcePathResolver>(new ::vl::presentation::GuiResourcePathResolver(__vwsn_resource_, ::vl::__vwsn::This(__vwsn_resource_.Obj())->GetWorkingDirectory())); - ::vl::__vwsn::This(this)->SetResourceResolver(__vwsn_resolver_); - ::vl::__vwsn::This(this)->__vwsn_initialize_instance_(this); - this->__vwsn_instance_ctor_(); - } - - void TreeViewTabPage::__vwsn_instance_ctor_() - { - ::vl::__vwsn::This(this->bindableTreeView)->SetItemSource(::vl::__vwsn::Box(this->nodesToBind)); - } - - TreeViewTabPage::~TreeViewTabPage() - { - this->FinalizeInstanceRecursively(static_cast<::vl::presentation::controls::GuiCustomControl*>(this)); - } - -/*********************************************************************** -Class (::demo::DateEditorConstructor) -***********************************************************************/ - - void DateEditorConstructor::__vwsn_initialize_instance_(::demo::DateEditor* __vwsn_this_) - { - (this->self = __vwsn_this_); - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateComboBoxStyle(); - (this->comboBox = new ::vl::presentation::controls::GuiDateComboBox(__vwsn_controlStyle_, new ::vl::presentation::controls::GuiDatePicker(::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateDatePickerStyle()))); - } - (this->__vwsn_precompile_0 = ::vl::__vwsn::This(this->comboBox)->GetBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->self)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->comboBox)->GetBoundsComposition())); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc36_Demo_demo_DateEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, LAMBDA(::vl_workflow_global::__vwsnf110_Demo_demo_DateEditorConstructor___vwsn_initialize_instance__(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc37_Demo_demo_DateEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, LAMBDA(::vl_workflow_global::__vwsnf111_Demo_demo_DateEditorConstructor___vwsn_initialize_instance__(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - ::vl::__vwsn::This(this->self)->SetFocusControl(static_cast<::vl::presentation::controls::GuiControl*>(this->comboBox)); - } - } - - DateEditorConstructor::DateEditorConstructor() - { - } - -/*********************************************************************** -Class (::demo::DateEditor) -***********************************************************************/ - - DateEditor::DateEditor() - { - auto __vwsn_resource_ = ::vl::__vwsn::This(::vl::presentation::GetResourceManager())->GetResourceFromClassName(::vl::WString(L"demo::DateEditor", false)); - auto __vwsn_resolver_ = ::vl::Ptr<::vl::presentation::GuiResourcePathResolver>(new ::vl::presentation::GuiResourcePathResolver(__vwsn_resource_, ::vl::__vwsn::This(__vwsn_resource_.Obj())->GetWorkingDirectory())); - ::vl::__vwsn::This(this)->SetResourceResolver(__vwsn_resolver_); - ::vl::__vwsn::This(this)->__vwsn_initialize_instance_(this); - } - - DateEditor::~DateEditor() - { - this->FinalizeInstanceRecursively(static_cast<::vl::presentation::templates::GuiTemplate*>(this)); - } - -/*********************************************************************** -Class (::demo::DateFilterConstructor) -***********************************************************************/ - - void DateFilterConstructor::__vwsn_initialize_instance_(::demo::DateFilter* __vwsn_this_) - { - (this->self = __vwsn_this_); - (this->__vwsn_precompile_0 = new ::vl::presentation::compositions::GuiTableComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetMinSizeLimitation(::vl::presentation::compositions::GuiGraphicsComposition::MinSizeLimitation::LimitToElementAndChildren); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetCellPadding(::vl::__vwsn::Parse<::vl::vint>(::vl::WString(L"5", false))); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowsAndColumns(static_cast<::vl::vint>(2), static_cast<::vl::vint>(2)); - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowOption(static_cast<::vl::vint>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowOption(static_cast<::vl::vint>(1), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(1), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); - } - (this->__vwsn_precompile_1 = new ::vl::presentation::compositions::GuiCellComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_1)->SetSite(static_cast<::vl::vint>(0), static_cast<::vl::vint>(0), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateCheckBoxStyle(); - (this->checkFrom = new ::vl::presentation::controls::GuiSelectableButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->checkFrom)->SetText(::vl::WString(L"From:", false)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_1)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->checkFrom)->GetBoundsComposition())); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_1)); - } - (this->__vwsn_precompile_2 = new ::vl::presentation::compositions::GuiCellComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_2)->SetSite(static_cast<::vl::vint>(0), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateComboBoxStyle(); - (this->dateFrom = new ::vl::presentation::controls::GuiDateComboBox(__vwsn_controlStyle_, new ::vl::presentation::controls::GuiDatePicker(::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateDatePickerStyle()))); - } - { - ::vl::__vwsn::This(this->dateFrom)->SetSelectedDate(::vl::__vwsn::Parse<::vl::DateTime>(::vl::WString(L"1988-01-01 00:00:00.000", false))); - } - (this->__vwsn_precompile_3 = ::vl::__vwsn::This(this->dateFrom)->GetBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_3)->SetPreferredMinSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(120); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_2)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->dateFrom)->GetBoundsComposition())); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_2)); - } - (this->__vwsn_precompile_4 = new ::vl::presentation::compositions::GuiCellComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_4)->SetSite(static_cast<::vl::vint>(1), static_cast<::vl::vint>(0), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateCheckBoxStyle(); - (this->checkTo = new ::vl::presentation::controls::GuiSelectableButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->checkTo)->SetText(::vl::WString(L"To:", false)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_4)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->checkTo)->GetBoundsComposition())); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_4)); - } - (this->__vwsn_precompile_5 = new ::vl::presentation::compositions::GuiCellComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_5)->SetSite(static_cast<::vl::vint>(1), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateComboBoxStyle(); - (this->dateTo = new ::vl::presentation::controls::GuiDateComboBox(__vwsn_controlStyle_, new ::vl::presentation::controls::GuiDatePicker(::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateDatePickerStyle()))); - } - { - ::vl::__vwsn::This(this->dateTo)->SetSelectedDate(::vl::__vwsn::Parse<::vl::DateTime>(::vl::WString(L"2000-01-01 00:00:00.000", false))); - } - (this->__vwsn_precompile_6 = ::vl::__vwsn::This(this->dateTo)->GetBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_6)->SetPreferredMinSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(120); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_5)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->dateTo)->GetBoundsComposition())); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_5)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::This(this->self)->GetContainerComposition())->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_0)); - } - { - auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf112_Demo_demo_DateFilterConstructor___vwsn_initialize_instance__(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->checkFrom)->SelectedChanged, __vwsn_event_handler_); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc38_Demo_demo_DateFilterConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, LAMBDA(::vl_workflow_global::__vwsnf113_Demo_demo_DateFilterConstructor___vwsn_initialize_instance__(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf114_Demo_demo_DateFilterConstructor___vwsn_initialize_instance__(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->dateFrom)->SelectedDateChanged, __vwsn_event_handler_); - } - { - auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf115_Demo_demo_DateFilterConstructor___vwsn_initialize_instance__(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->checkTo)->SelectedChanged, __vwsn_event_handler_); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc39_Demo_demo_DateFilterConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, LAMBDA(::vl_workflow_global::__vwsnf116_Demo_demo_DateFilterConstructor___vwsn_initialize_instance__(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf117_Demo_demo_DateFilterConstructor___vwsn_initialize_instance__(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->dateTo)->SelectedDateChanged, __vwsn_event_handler_); - } - } - - DateFilterConstructor::DateFilterConstructor() - { - } - -/*********************************************************************** -Class (::demo::DateFilter) -***********************************************************************/ - - void DateFilter::UpdateFilter() - { - if ((this->callback != nullptr)) - { - ::vl::__vwsn::This(this->callback)->OnProcessorChanged(); - } - } - - ::vl::Ptr<::vl::presentation::controls::list::IDataFilter> DateFilter::GetFilter() - { - return this->__vwsn_prop_Filter; - } - void DateFilter::SetFilter(::vl::Ptr<::vl::presentation::controls::list::IDataFilter> __vwsn_value_) - { - (this->__vwsn_prop_Filter = __vwsn_value_); - } - - DateFilter::DateFilter() - : ::vl::presentation::controls::GuiCustomControl(::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateCustomControlStyle()) - { - auto __vwsn_resource_ = ::vl::__vwsn::This(::vl::presentation::GetResourceManager())->GetResourceFromClassName(::vl::WString(L"demo::DateFilter", false)); - auto __vwsn_resolver_ = ::vl::Ptr<::vl::presentation::GuiResourcePathResolver>(new ::vl::presentation::GuiResourcePathResolver(__vwsn_resource_, ::vl::__vwsn::This(__vwsn_resource_.Obj())->GetWorkingDirectory())); - ::vl::__vwsn::This(this)->SetResourceResolver(__vwsn_resolver_); - ::vl::__vwsn::This(this)->__vwsn_initialize_instance_(this); - this->__vwsn_instance_ctor_(); - } - - void DateFilter::__vwsn_instance_ctor_() - { - this->SetFilter(::vl::Ptr<::vl::presentation::controls::list::IDataFilter>(new ::vl_workflow_global::__vwsnc40_Demo_demo_DateFilter___vwsn_instance_ctor___vl_presentation_controls_list_IDataFilter(this))); - } - - DateFilter::~DateFilter() - { - this->FinalizeInstanceRecursively(static_cast<::vl::presentation::controls::GuiCustomControl*>(this)); - } - -/*********************************************************************** -Class (::demo::TextEditorConstructor) -***********************************************************************/ - - void TextEditorConstructor::__vwsn_initialize_instance_(::demo::TextEditor* __vwsn_this_) - { - (this->self = __vwsn_this_); - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateTextBoxStyle(); - (this->textBox = new ::vl::presentation::controls::GuiSinglelineTextBox(__vwsn_controlStyle_)); - } - (this->__vwsn_precompile_0 = ::vl::__vwsn::This(this->textBox)->GetBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->self)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->textBox)->GetBoundsComposition())); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc41_Demo_demo_TextEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, LAMBDA(::vl_workflow_global::__vwsnf118_Demo_demo_TextEditorConstructor___vwsn_initialize_instance__(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc42_Demo_demo_TextEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, LAMBDA(::vl_workflow_global::__vwsnf119_Demo_demo_TextEditorConstructor___vwsn_initialize_instance__(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - ::vl::__vwsn::This(this->self)->SetFocusControl(static_cast<::vl::presentation::controls::GuiControl*>(this->textBox)); - } - } - - TextEditorConstructor::TextEditorConstructor() - { - } - -/*********************************************************************** -Class (::demo::TextEditor) -***********************************************************************/ - - TextEditor::TextEditor() - { - auto __vwsn_resource_ = ::vl::__vwsn::This(::vl::presentation::GetResourceManager())->GetResourceFromClassName(::vl::WString(L"demo::TextEditor", false)); - auto __vwsn_resolver_ = ::vl::Ptr<::vl::presentation::GuiResourcePathResolver>(new ::vl::presentation::GuiResourcePathResolver(__vwsn_resource_, ::vl::__vwsn::This(__vwsn_resource_.Obj())->GetWorkingDirectory())); - ::vl::__vwsn::This(this)->SetResourceResolver(__vwsn_resolver_); - ::vl::__vwsn::This(this)->__vwsn_initialize_instance_(this); - } - - TextEditor::~TextEditor() - { - this->FinalizeInstanceRecursively(static_cast<::vl::presentation::templates::GuiTemplate*>(this)); - } - -/*********************************************************************** -Class (::demo::CategoryDisplayerConstructor) -***********************************************************************/ - - void CategoryDisplayerConstructor::__vwsn_initialize_instance_(::demo::CategoryDisplayer* __vwsn_this_) - { - (this->self = __vwsn_this_); - (this->__vwsn_precompile_0 = new ::vl::presentation::compositions::GuiTableComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetMinSizeLimitation(::vl::presentation::compositions::GuiGraphicsComposition::MinSizeLimitation::LimitToElementAndChildren); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(2); __vwsn_temp__.top = static_cast<::vl::vint>(2); __vwsn_temp__.right = static_cast<::vl::vint>(2); __vwsn_temp__.bottom = static_cast<::vl::vint>(2); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowsAndColumns(static_cast<::vl::vint>(3), static_cast<::vl::vint>(4)); - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowOption(static_cast<::vl::vint>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(0.5); return __vwsn_temp__; }()); - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowOption(static_cast<::vl::vint>(1), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Absolute; __vwsn_temp__.absolute = static_cast<::vl::vint>(16); return __vwsn_temp__; }()); - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowOption(static_cast<::vl::vint>(2), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(0.5); return __vwsn_temp__; }()); - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Absolute; __vwsn_temp__.absolute = static_cast<::vl::vint>(2); return __vwsn_temp__; }()); - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(1), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Absolute; __vwsn_temp__.absolute = static_cast<::vl::vint>(16); return __vwsn_temp__; }()); - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(2), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Absolute; __vwsn_temp__.absolute = static_cast<::vl::vint>(2); return __vwsn_temp__; }()); - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(3), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(1.0); return __vwsn_temp__; }()); - } - (this->__vwsn_precompile_1 = new ::vl::presentation::compositions::GuiCellComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_1)->SetSite(static_cast<::vl::vint>(1), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); - } - (this->__vwsn_precompile_2 = ::vl::Ptr<::vl::presentation::elements::GuiSolidBorderElement>(::vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiSolidBorderElement>())); - { - ::vl::__vwsn::This(this->__vwsn_precompile_2.Obj())->SetColor(::vl::__vwsn::Parse<::vl::presentation::Color>(::vl::WString(L"#000000", false))); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_1)->SetOwnedElement(::vl::Ptr<::vl::presentation::elements::IGuiGraphicsElement>(this->__vwsn_precompile_2)); - } - (this->__vwsn_precompile_3 = new ::vl::presentation::compositions::GuiBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_3)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(1); __vwsn_temp__.top = static_cast<::vl::vint>(1); __vwsn_temp__.right = static_cast<::vl::vint>(1); __vwsn_temp__.bottom = static_cast<::vl::vint>(1); return __vwsn_temp__; }()); - } - (this->__vwsn_precompile_4 = ::vl::Ptr<::vl::presentation::elements::GuiSolidBackgroundElement>(::vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiSolidBackgroundElement>())); - { - ::vl::__vwsn::This(this->__vwsn_precompile_3)->SetOwnedElement(::vl::Ptr<::vl::presentation::elements::IGuiGraphicsElement>(this->__vwsn_precompile_4)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_1)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_3)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_1)); - } - (this->__vwsn_precompile_5 = new ::vl::presentation::compositions::GuiCellComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_5)->SetSite(static_cast<::vl::vint>(0), static_cast<::vl::vint>(3), static_cast<::vl::vint>(3), static_cast<::vl::vint>(1)); - } - (this->__vwsn_precompile_6 = ::vl::Ptr<::vl::presentation::elements::GuiSolidLabelElement>(::vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiSolidLabelElement>())); - { - ::vl::__vwsn::This(this->__vwsn_precompile_6.Obj())->SetEllipse(::vl::__vwsn::Parse(::vl::WString(L"true", false))); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_6.Obj())->SetColor(::vl::__vwsn::Parse<::vl::presentation::Color>(::vl::WString(L"#FF8000", false))); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_6.Obj())->SetVerticalAlignment(::vl::presentation::Alignment::Center); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_6.Obj())->SetHorizontalAlignment(::vl::presentation::Alignment::Left); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_5)->SetOwnedElement(::vl::Ptr<::vl::presentation::elements::IGuiGraphicsElement>(this->__vwsn_precompile_6)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_5)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::This(this->self)->GetContainerComposition())->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_0)); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc43_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, LAMBDA(::vl_workflow_global::__vwsnf120_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance__(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc44_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, LAMBDA(::vl_workflow_global::__vwsnf121_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance__(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc45_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, LAMBDA(::vl_workflow_global::__vwsnf122_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance__(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - } - - CategoryDisplayerConstructor::CategoryDisplayerConstructor() - { - } - -/*********************************************************************** -Class (::demo::CategoryDisplayer) -***********************************************************************/ - - ::demo::MyCategory CategoryDisplayer::GetCategory() - { - return this->__vwsn_prop_Category; - } - void CategoryDisplayer::SetCategory(::demo::MyCategory __vwsn_value_) - { - if ((this->__vwsn_prop_Category != __vwsn_value_)) - { - (this->__vwsn_prop_Category = __vwsn_value_); - ::vl::__vwsn::EventInvoke(this->CategoryChanged)(); - } - } - - CategoryDisplayer::CategoryDisplayer() - : ::vl::presentation::controls::GuiCustomControl(::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateCustomControlStyle()) - { - auto __vwsn_resource_ = ::vl::__vwsn::This(::vl::presentation::GetResourceManager())->GetResourceFromClassName(::vl::WString(L"demo::CategoryDisplayer", false)); - auto __vwsn_resolver_ = ::vl::Ptr<::vl::presentation::GuiResourcePathResolver>(new ::vl::presentation::GuiResourcePathResolver(__vwsn_resource_, ::vl::__vwsn::This(__vwsn_resource_.Obj())->GetWorkingDirectory())); - ::vl::__vwsn::This(this)->SetResourceResolver(__vwsn_resolver_); - ::vl::__vwsn::This(this)->__vwsn_initialize_instance_(this); - } - - CategoryDisplayer::~CategoryDisplayer() - { - this->FinalizeInstanceRecursively(static_cast<::vl::presentation::controls::GuiCustomControl*>(this)); - } - -/*********************************************************************** -Class (::demo::CategoryEditorConstructor) -***********************************************************************/ - - void CategoryEditorConstructor::__vwsn_initialize_instance_(::demo::CategoryEditor* __vwsn_this_) - { - (this->self = __vwsn_this_); - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateTextListStyle(); - (this->__vwsn_precompile_0 = new ::vl::presentation::controls::GuiBindableTextList(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetItemTemplate(LAMBDA(::vl_workflow_global::__vwsnf123_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance__(this))); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetVerticalAlwaysVisible(::vl::__vwsn::Parse(::vl::WString(L"false", false))); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetHorizontalAlwaysVisible(::vl::__vwsn::Parse(::vl::WString(L"false", false))); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateComboBoxStyle(); - (this->comboBox = new ::vl::presentation::controls::GuiComboBoxListControl(__vwsn_controlStyle_, this->__vwsn_precompile_0)); - } - { - ::vl::__vwsn::This(this->comboBox)->SetItemTemplate(LAMBDA(::vl_workflow_global::__vwsnf124_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance__(this))); - } - (this->__vwsn_precompile_1 = ::vl::__vwsn::This(this->comboBox)->GetBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_1)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->self)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->comboBox)->GetBoundsComposition())); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetItemSource(::vl::Ptr<::vl::reflection::description::IValueEnumerable>(::vl::__vwsn::This(this->self)->items)); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc46_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, LAMBDA(::vl_workflow_global::__vwsnf125_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance__(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc47_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, LAMBDA(::vl_workflow_global::__vwsnf126_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance__(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - } - - CategoryEditorConstructor::CategoryEditorConstructor() - { - } - -/*********************************************************************** -Class (::demo::CategoryEditor) -***********************************************************************/ - - CategoryEditor::CategoryEditor() - { - auto __vwsn_resource_ = ::vl::__vwsn::This(::vl::presentation::GetResourceManager())->GetResourceFromClassName(::vl::WString(L"demo::CategoryEditor", false)); - auto __vwsn_resolver_ = ::vl::Ptr<::vl::presentation::GuiResourcePathResolver>(new ::vl::presentation::GuiResourcePathResolver(__vwsn_resource_, ::vl::__vwsn::This(__vwsn_resource_.Obj())->GetWorkingDirectory())); - ::vl::__vwsn::This(this)->SetResourceResolver(__vwsn_resolver_); - ::vl::__vwsn::This(this)->__vwsn_initialize_instance_(this); - } - - CategoryEditor::~CategoryEditor() - { - this->FinalizeInstanceRecursively(static_cast<::vl::presentation::templates::GuiTemplate*>(this)); - } - -/*********************************************************************** -Class (::demo::CategoryItemTemplateConstructor) -***********************************************************************/ - - void CategoryItemTemplateConstructor::__vwsn_initialize_instance_(::demo::CategoryItemTemplate* __vwsn_this_) - { - (this->self = __vwsn_this_); - (this->SelectedCategory = ::vl::__vwsn::This(__vwsn_this_)->GetSelectedCategory()); - { - ::vl::__vwsn::This(this->self)->SetMinSizeLimitation(::vl::presentation::compositions::GuiGraphicsComposition::MinSizeLimitation::LimitToElementAndChildren); - } - (this->__vwsn_precompile_0 = new ::demo::CategoryDisplayer()); - (this->__vwsn_precompile_1 = ::vl::__vwsn::This(this->__vwsn_precompile_0)->GetBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_1)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->self)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_0)->GetBoundsComposition())); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc48_Demo_demo_CategoryItemTemplateConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, LAMBDA(::vl_workflow_global::__vwsnf127_Demo_demo_CategoryItemTemplateConstructor___vwsn_initialize_instance__(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetCategory(this->SelectedCategory); - } - } - - CategoryItemTemplateConstructor::CategoryItemTemplateConstructor() - { - } - -/*********************************************************************** -Class (::demo::CategoryItemTemplate) -***********************************************************************/ - - ::demo::MyCategory CategoryItemTemplate::GetSelectedCategory() - { - return this->__vwsn_parameter_SelectedCategory; - } - - CategoryItemTemplate::CategoryItemTemplate(::demo::MyCategory __vwsn_ctor_parameter_SelectedCategory) - { - (this->__vwsn_parameter_SelectedCategory = __vwsn_ctor_parameter_SelectedCategory); - auto __vwsn_resource_ = ::vl::__vwsn::This(::vl::presentation::GetResourceManager())->GetResourceFromClassName(::vl::WString(L"demo::CategoryItemTemplate", false)); - auto __vwsn_resolver_ = ::vl::Ptr<::vl::presentation::GuiResourcePathResolver>(new ::vl::presentation::GuiResourcePathResolver(__vwsn_resource_, ::vl::__vwsn::This(__vwsn_resource_.Obj())->GetWorkingDirectory())); - ::vl::__vwsn::This(this)->SetResourceResolver(__vwsn_resolver_); - ::vl::__vwsn::This(this)->__vwsn_initialize_instance_(this); - } - - CategoryItemTemplate::~CategoryItemTemplate() - { - this->FinalizeInstanceRecursively(static_cast<::vl::presentation::templates::GuiTemplate*>(this)); - } - -/*********************************************************************** -Class (::demo::CategoryVisualizerConstructor) -***********************************************************************/ - - void CategoryVisualizerConstructor::__vwsn_initialize_instance_(::demo::CategoryVisualizer* __vwsn_this_) - { - (this->self = __vwsn_this_); - (this->__vwsn_precompile_0 = new ::demo::CategoryDisplayer()); - (this->__vwsn_precompile_1 = ::vl::__vwsn::This(this->__vwsn_precompile_0)->GetBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_1)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->self)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_0)->GetBoundsComposition())); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc49_Demo_demo_CategoryVisualizerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, LAMBDA(::vl_workflow_global::__vwsnf128_Demo_demo_CategoryVisualizerConstructor___vwsn_initialize_instance__(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc50_Demo_demo_CategoryVisualizerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, LAMBDA(::vl_workflow_global::__vwsnf129_Demo_demo_CategoryVisualizerConstructor___vwsn_initialize_instance__(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - } - - CategoryVisualizerConstructor::CategoryVisualizerConstructor() - { - } - -/*********************************************************************** -Class (::demo::CategoryVisualizer) -***********************************************************************/ - - CategoryVisualizer::CategoryVisualizer() - { - auto __vwsn_resource_ = ::vl::__vwsn::This(::vl::presentation::GetResourceManager())->GetResourceFromClassName(::vl::WString(L"demo::CategoryVisualizer", false)); - auto __vwsn_resolver_ = ::vl::Ptr<::vl::presentation::GuiResourcePathResolver>(new ::vl::presentation::GuiResourcePathResolver(__vwsn_resource_, ::vl::__vwsn::This(__vwsn_resource_.Obj())->GetWorkingDirectory())); - ::vl::__vwsn::This(this)->SetResourceResolver(__vwsn_resolver_); - ::vl::__vwsn::This(this)->__vwsn_initialize_instance_(this); - } - - CategoryVisualizer::~CategoryVisualizer() - { - this->FinalizeInstanceRecursively(static_cast<::vl::presentation::templates::GuiTemplate*>(this)); - } - -/*********************************************************************** -Class (::demo::GenderDisplayerConstructor) -***********************************************************************/ - - void GenderDisplayerConstructor::__vwsn_initialize_instance_(::demo::GenderDisplayer* __vwsn_this_) - { - (this->self = __vwsn_this_); - (this->__vwsn_precompile_0 = new ::vl::presentation::compositions::GuiBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetMinSizeLimitation(::vl::presentation::compositions::GuiGraphicsComposition::MinSizeLimitation::LimitToElement); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(2); __vwsn_temp__.top = static_cast<::vl::vint>(2); __vwsn_temp__.right = static_cast<::vl::vint>(2); __vwsn_temp__.bottom = static_cast<::vl::vint>(2); return __vwsn_temp__; }()); - } - (this->__vwsn_precompile_1 = ::vl::Ptr<::vl::presentation::elements::GuiImageFrameElement>(::vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiImageFrameElement>())); - { - ::vl::__vwsn::This(this->__vwsn_precompile_1.Obj())->SetVerticalAlignment(::vl::presentation::Alignment::Center); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_1.Obj())->SetHorizontalAlignment(::vl::presentation::Alignment::Left); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetOwnedElement(::vl::Ptr<::vl::presentation::elements::IGuiGraphicsElement>(this->__vwsn_precompile_1)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::This(this->self)->GetContainerComposition())->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_0)); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc51_Demo_demo_GenderDisplayerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, LAMBDA(::vl_workflow_global::__vwsnf130_Demo_demo_GenderDisplayerConstructor___vwsn_initialize_instance__(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - } - - GenderDisplayerConstructor::GenderDisplayerConstructor() - { - } - -/*********************************************************************** -Class (::demo::GenderDisplayer) -***********************************************************************/ - - ::demo::MyGender GenderDisplayer::GetGender() - { - return this->__vwsn_prop_Gender; - } - void GenderDisplayer::SetGender(::demo::MyGender __vwsn_value_) - { - if ((this->__vwsn_prop_Gender != __vwsn_value_)) - { - (this->__vwsn_prop_Gender = __vwsn_value_); - ::vl::__vwsn::EventInvoke(this->GenderChanged)(); - } - } - - GenderDisplayer::GenderDisplayer() - : ::vl::presentation::controls::GuiCustomControl(::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateCustomControlStyle()) - { - auto __vwsn_resource_ = ::vl::__vwsn::This(::vl::presentation::GetResourceManager())->GetResourceFromClassName(::vl::WString(L"demo::GenderDisplayer", false)); - auto __vwsn_resolver_ = ::vl::Ptr<::vl::presentation::GuiResourcePathResolver>(new ::vl::presentation::GuiResourcePathResolver(__vwsn_resource_, ::vl::__vwsn::This(__vwsn_resource_.Obj())->GetWorkingDirectory())); - ::vl::__vwsn::This(this)->SetResourceResolver(__vwsn_resolver_); - ::vl::__vwsn::This(this)->__vwsn_initialize_instance_(this); - } - - GenderDisplayer::~GenderDisplayer() - { - this->FinalizeInstanceRecursively(static_cast<::vl::presentation::controls::GuiCustomControl*>(this)); - } - -/*********************************************************************** -Class (::demo::GenderEditorConstructor) -***********************************************************************/ - - void GenderEditorConstructor::__vwsn_initialize_instance_(::demo::GenderEditor* __vwsn_this_) - { - (this->self = __vwsn_this_); - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateTextListStyle(); - (this->__vwsn_precompile_0 = new ::vl::presentation::controls::GuiBindableTextList(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetItemTemplate(LAMBDA(::vl_workflow_global::__vwsnf131_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance__(this))); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetVerticalAlwaysVisible(::vl::__vwsn::Parse(::vl::WString(L"false", false))); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetHorizontalAlwaysVisible(::vl::__vwsn::Parse(::vl::WString(L"false", false))); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateComboBoxStyle(); - (this->comboBox = new ::vl::presentation::controls::GuiComboBoxListControl(__vwsn_controlStyle_, this->__vwsn_precompile_0)); - } - { - ::vl::__vwsn::This(this->comboBox)->SetItemTemplate(LAMBDA(::vl_workflow_global::__vwsnf132_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance__(this))); - } - (this->__vwsn_precompile_1 = ::vl::__vwsn::This(this->comboBox)->GetBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_1)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->self)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->comboBox)->GetBoundsComposition())); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetItemSource(::vl::Ptr<::vl::reflection::description::IValueEnumerable>(::vl::__vwsn::This(this->self)->items)); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc52_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, LAMBDA(::vl_workflow_global::__vwsnf133_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance__(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc53_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, LAMBDA(::vl_workflow_global::__vwsnf134_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance__(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - } - - GenderEditorConstructor::GenderEditorConstructor() - { - } - -/*********************************************************************** -Class (::demo::GenderEditor) -***********************************************************************/ - - GenderEditor::GenderEditor() - { - auto __vwsn_resource_ = ::vl::__vwsn::This(::vl::presentation::GetResourceManager())->GetResourceFromClassName(::vl::WString(L"demo::GenderEditor", false)); - auto __vwsn_resolver_ = ::vl::Ptr<::vl::presentation::GuiResourcePathResolver>(new ::vl::presentation::GuiResourcePathResolver(__vwsn_resource_, ::vl::__vwsn::This(__vwsn_resource_.Obj())->GetWorkingDirectory())); - ::vl::__vwsn::This(this)->SetResourceResolver(__vwsn_resolver_); - ::vl::__vwsn::This(this)->__vwsn_initialize_instance_(this); - } - - GenderEditor::~GenderEditor() - { - this->FinalizeInstanceRecursively(static_cast<::vl::presentation::templates::GuiTemplate*>(this)); - } - -/*********************************************************************** -Class (::demo::GenderItemTemplateConstructor) -***********************************************************************/ - - void GenderItemTemplateConstructor::__vwsn_initialize_instance_(::demo::GenderItemTemplate* __vwsn_this_) - { - (this->__vwsn_precompile_0 = __vwsn_this_); - (this->SelectedGender = ::vl::__vwsn::This(__vwsn_this_)->GetSelectedGender()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetMinSizeLimitation(::vl::presentation::compositions::GuiGraphicsComposition::MinSizeLimitation::LimitToElementAndChildren); - } - (this->__vwsn_precompile_1 = new ::demo::GenderDisplayer()); - (this->__vwsn_precompile_2 = ::vl::__vwsn::This(this->__vwsn_precompile_1)->GetBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_2)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_1)->GetBoundsComposition())); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_1)->SetGender(this->SelectedGender); - } - } - - GenderItemTemplateConstructor::GenderItemTemplateConstructor() - { - } - -/*********************************************************************** -Class (::demo::GenderItemTemplate) -***********************************************************************/ - - ::demo::MyGender GenderItemTemplate::GetSelectedGender() - { - return this->__vwsn_parameter_SelectedGender; - } - - GenderItemTemplate::GenderItemTemplate(::demo::MyGender __vwsn_ctor_parameter_SelectedGender) - { - (this->__vwsn_parameter_SelectedGender = __vwsn_ctor_parameter_SelectedGender); - auto __vwsn_resource_ = ::vl::__vwsn::This(::vl::presentation::GetResourceManager())->GetResourceFromClassName(::vl::WString(L"demo::GenderItemTemplate", false)); - auto __vwsn_resolver_ = ::vl::Ptr<::vl::presentation::GuiResourcePathResolver>(new ::vl::presentation::GuiResourcePathResolver(__vwsn_resource_, ::vl::__vwsn::This(__vwsn_resource_.Obj())->GetWorkingDirectory())); - ::vl::__vwsn::This(this)->SetResourceResolver(__vwsn_resolver_); - ::vl::__vwsn::This(this)->__vwsn_initialize_instance_(this); - } - - GenderItemTemplate::~GenderItemTemplate() - { - this->FinalizeInstanceRecursively(static_cast<::vl::presentation::templates::GuiTemplate*>(this)); - } - -/*********************************************************************** -Class (::demo::GenderVisualizerConstructor) -***********************************************************************/ - - void GenderVisualizerConstructor::__vwsn_initialize_instance_(::demo::GenderVisualizer* __vwsn_this_) - { - (this->self = __vwsn_this_); - (this->__vwsn_precompile_0 = new ::demo::GenderDisplayer()); - (this->__vwsn_precompile_1 = ::vl::__vwsn::This(this->__vwsn_precompile_0)->GetBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_1)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->self)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_0)->GetBoundsComposition())); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc54_Demo_demo_GenderVisualizerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, LAMBDA(::vl_workflow_global::__vwsnf135_Demo_demo_GenderVisualizerConstructor___vwsn_initialize_instance__(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - } - - GenderVisualizerConstructor::GenderVisualizerConstructor() - { - } - -/*********************************************************************** -Class (::demo::GenderVisualizer) -***********************************************************************/ - - GenderVisualizer::GenderVisualizer() - { - auto __vwsn_resource_ = ::vl::__vwsn::This(::vl::presentation::GetResourceManager())->GetResourceFromClassName(::vl::WString(L"demo::GenderVisualizer", false)); - auto __vwsn_resolver_ = ::vl::Ptr<::vl::presentation::GuiResourcePathResolver>(new ::vl::presentation::GuiResourcePathResolver(__vwsn_resource_, ::vl::__vwsn::This(__vwsn_resource_.Obj())->GetWorkingDirectory())); - ::vl::__vwsn::This(this)->SetResourceResolver(__vwsn_resolver_); - ::vl::__vwsn::This(this)->__vwsn_initialize_instance_(this); - } - - GenderVisualizer::~GenderVisualizer() - { - this->FinalizeInstanceRecursively(static_cast<::vl::presentation::templates::GuiTemplate*>(this)); - } - -/*********************************************************************** -Class (::demo::HyperlinkWindowConstructor) -***********************************************************************/ - - void HyperlinkWindowConstructor::__vwsn_initialize_instance_(::demo::HyperlinkWindow* __vwsn_this_) - { - (this->self = __vwsn_this_); - { - ::vl::__vwsn::This(this->self)->SetShowInTaskBar(::vl::__vwsn::Parse(::vl::WString(L"false", false))); - } - { - ::vl::__vwsn::This(this->self)->SetMaximizedBox(::vl::__vwsn::Parse(::vl::WString(L"false", false))); - } - { - ::vl::__vwsn::This(this->self)->SetMinimizedBox(::vl::__vwsn::Parse(::vl::WString(L"false", false))); - } - { - ::vl::__vwsn::This(this->self)->SetSizeBox(::vl::__vwsn::Parse(::vl::WString(L"false", false))); - } - (this->__vwsn_precompile_11 = ::vl::__vwsn::This(this->self)->GetBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_11)->SetPreferredMinSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(320); __vwsn_temp__.y = static_cast<::vl::vint>(80); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->self)->SetClientSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(320); __vwsn_temp__.y = static_cast<::vl::vint>(80); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->self)->SetText(::vl::WString(L"Hyperlink", false)); - } - (this->__vwsn_precompile_0 = new ::vl::presentation::compositions::GuiTableComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetBorderVisible(::vl::__vwsn::Parse(::vl::WString(L"true", false))); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetCellPadding(::vl::__vwsn::Parse<::vl::vint>(::vl::WString(L"5", false))); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowsAndColumns(static_cast<::vl::vint>(3), static_cast<::vl::vint>(4)); - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowOption(static_cast<::vl::vint>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowOption(static_cast<::vl::vint>(1), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(1.0); return __vwsn_temp__; }()); - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowOption(static_cast<::vl::vint>(2), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(1), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(1.0); return __vwsn_temp__; }()); - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(2), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(3), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); - } - (this->__vwsn_precompile_1 = new ::vl::presentation::compositions::GuiCellComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_1)->SetSite(static_cast<::vl::vint>(0), static_cast<::vl::vint>(0), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); - } - (this->__vwsn_precompile_2 = ::vl::Ptr<::vl::presentation::elements::GuiSolidLabelElement>(::vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiSolidLabelElement>())); - { - ::vl::__vwsn::This(this->__vwsn_precompile_2.Obj())->SetHorizontalAlignment(::vl::presentation::Alignment::Center); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_2.Obj())->SetText(::vl::WString(L"Url: ", false)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_1)->SetOwnedElement(::vl::Ptr<::vl::presentation::elements::IGuiGraphicsElement>(this->__vwsn_precompile_2)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_1)); - } - (this->__vwsn_precompile_3 = new ::vl::presentation::compositions::GuiCellComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_3)->SetSite(static_cast<::vl::vint>(0), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1), static_cast<::vl::vint>(3)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateTextBoxStyle(); - (this->textUrl = new ::vl::presentation::controls::GuiSinglelineTextBox(__vwsn_controlStyle_)); - } - (this->__vwsn_precompile_4 = ::vl::__vwsn::This(this->textUrl)->GetBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_4)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_3)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->textUrl)->GetBoundsComposition())); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_3)); - } - (this->__vwsn_precompile_5 = new ::vl::presentation::compositions::GuiCellComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_5)->SetSite(static_cast<::vl::vint>(2), static_cast<::vl::vint>(2), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateButtonStyle(); - (this->__vwsn_precompile_6 = new ::vl::presentation::controls::GuiButton(__vwsn_controlStyle_)); - } - (this->__vwsn_precompile_7 = ::vl::__vwsn::This(this->__vwsn_precompile_6)->GetBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_7)->SetPreferredMinSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(100); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_6)->SetText(::vl::WString(L"OK", false)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_5)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_6)->GetBoundsComposition())); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_5)); - } - (this->__vwsn_precompile_8 = new ::vl::presentation::compositions::GuiCellComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_8)->SetSite(static_cast<::vl::vint>(2), static_cast<::vl::vint>(3), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateButtonStyle(); - (this->__vwsn_precompile_9 = new ::vl::presentation::controls::GuiButton(__vwsn_controlStyle_)); - } - (this->__vwsn_precompile_10 = ::vl::__vwsn::This(this->__vwsn_precompile_9)->GetBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_10)->SetPreferredMinSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(100); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_9)->SetText(::vl::WString(L"Cancel", false)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_8)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_9)->GetBoundsComposition())); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_8)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::This(this->self)->GetContainerComposition())->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_0)); - } - { - auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf136_Demo_demo_HyperlinkWindowConstructor___vwsn_initialize_instance__(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_6)->Clicked, __vwsn_event_handler_); - } - { - auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf137_Demo_demo_HyperlinkWindowConstructor___vwsn_initialize_instance__(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_9)->Clicked, __vwsn_event_handler_); - } - } - - HyperlinkWindowConstructor::HyperlinkWindowConstructor() - { - } - -/*********************************************************************** -Class (::demo::HyperlinkWindow) -***********************************************************************/ - - ::vl::Nullable<::vl::WString> HyperlinkWindow::GetUrl() - { - return this->__vwsn_prop_Url; - } - void HyperlinkWindow::SetUrl(const ::vl::Nullable<::vl::WString>& __vwsn_value_) - { - if ((this->__vwsn_prop_Url != __vwsn_value_)) - { - (this->__vwsn_prop_Url = __vwsn_value_); - ::vl::__vwsn::EventInvoke(this->UrlChanged)(); - } - } - - HyperlinkWindow::HyperlinkWindow() - : ::vl::presentation::controls::GuiWindow(::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateWindowStyle()) - { - auto __vwsn_resource_ = ::vl::__vwsn::This(::vl::presentation::GetResourceManager())->GetResourceFromClassName(::vl::WString(L"demo::HyperlinkWindow", false)); - auto __vwsn_resolver_ = ::vl::Ptr<::vl::presentation::GuiResourcePathResolver>(new ::vl::presentation::GuiResourcePathResolver(__vwsn_resource_, ::vl::__vwsn::This(__vwsn_resource_.Obj())->GetWorkingDirectory())); - ::vl::__vwsn::This(this)->SetResourceResolver(__vwsn_resolver_); - ::vl::__vwsn::This(this)->__vwsn_initialize_instance_(this); - } - - HyperlinkWindow::~HyperlinkWindow() - { - this->FinalizeInstanceRecursively(static_cast<::vl::presentation::controls::GuiControlHost*>(this)); - } - -/*********************************************************************** -Class (::demo::RepeatItemTemplateConstructor) -***********************************************************************/ - - void RepeatItemTemplateConstructor::__vwsn_initialize_instance_(::demo::RepeatItemTemplate* __vwsn_this_) - { - (this->__vwsn_precompile_0 = __vwsn_this_); - (this->ViewModel = ::vl::__vwsn::This(__vwsn_this_)->GetViewModel()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetMinSizeLimitation(::vl::presentation::compositions::GuiGraphicsComposition::MinSizeLimitation::LimitToElementAndChildren); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateButtonStyle(); - (this->__vwsn_precompile_1 = new ::vl::presentation::controls::GuiButton(__vwsn_controlStyle_)); - } - (this->__vwsn_precompile_2 = ::vl::__vwsn::This(this->__vwsn_precompile_1)->GetBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_2)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_1)->GetBoundsComposition())); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc55_Demo_demo_RepeatItemTemplateConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, LAMBDA(::vl_workflow_global::__vwsnf138_Demo_demo_RepeatItemTemplateConstructor___vwsn_initialize_instance__(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - } - - RepeatItemTemplateConstructor::RepeatItemTemplateConstructor() - { - } - -/*********************************************************************** -Class (::demo::RepeatItemTemplate) -***********************************************************************/ - - ::vl::Ptr<::demo::MyTextItem> RepeatItemTemplate::GetViewModel() - { - return this->__vwsn_parameter_ViewModel; - } - - RepeatItemTemplate::RepeatItemTemplate(::vl::Ptr<::demo::MyTextItem> __vwsn_ctor_parameter_ViewModel) - { - (this->__vwsn_parameter_ViewModel = __vwsn_ctor_parameter_ViewModel); - auto __vwsn_resource_ = ::vl::__vwsn::This(::vl::presentation::GetResourceManager())->GetResourceFromClassName(::vl::WString(L"demo::RepeatItemTemplate", false)); - auto __vwsn_resolver_ = ::vl::Ptr<::vl::presentation::GuiResourcePathResolver>(new ::vl::presentation::GuiResourcePathResolver(__vwsn_resource_, ::vl::__vwsn::This(__vwsn_resource_.Obj())->GetWorkingDirectory())); - ::vl::__vwsn::This(this)->SetResourceResolver(__vwsn_resolver_); - ::vl::__vwsn::This(this)->__vwsn_initialize_instance_(this); - } - - RepeatItemTemplate::~RepeatItemTemplate() - { - this->FinalizeInstanceRecursively(static_cast<::vl::presentation::templates::GuiTemplate*>(this)); - } - -/*********************************************************************** -Class (::demo::TextBoxTabPageConstructor) -***********************************************************************/ - - void TextBoxTabPageConstructor::__vwsn_initialize_instance_(::demo::TextBoxTabPage* __vwsn_this_) - { - (this->self = __vwsn_this_); - { - ::vl::__vwsn::This(this->self)->SetText(::vl::WString(L"TextBox", false)); - } - (this->__vwsn_precompile_0 = new ::vl::presentation::compositions::GuiTableComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetCellPadding(::vl::__vwsn::Parse<::vl::vint>(::vl::WString(L"5", false))); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowsAndColumns(static_cast<::vl::vint>(2), static_cast<::vl::vint>(4)); - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowOption(static_cast<::vl::vint>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(1.0); return __vwsn_temp__; }()); - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowOption(static_cast<::vl::vint>(1), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(1), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(2), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(3), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(1.0); return __vwsn_temp__; }()); - } - (this->__vwsn_precompile_1 = new ::vl::presentation::compositions::GuiCellComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_1)->SetSite(static_cast<::vl::vint>(0), static_cast<::vl::vint>(0), static_cast<::vl::vint>(1), static_cast<::vl::vint>(4)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateTabStyle(); - (this->__vwsn_precompile_2 = new ::vl::presentation::controls::GuiTab(__vwsn_controlStyle_)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateCustomControlStyle(); - (this->__vwsn_precompile_4 = new ::vl::presentation::controls::GuiTabPage(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_4)->SetAlt(::vl::WString(L"T", false)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_4)->SetText(::vl::WString(L"TextBox", false)); - } - (this->__vwsn_precompile_5 = new ::vl::presentation::compositions::GuiTableComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_5)->SetCellPadding(::vl::__vwsn::Parse<::vl::vint>(::vl::WString(L"5", false))); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_5)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_5)->SetRowsAndColumns(static_cast<::vl::vint>(2), static_cast<::vl::vint>(1)); - ::vl::__vwsn::This(this->__vwsn_precompile_5)->SetRowOption(static_cast<::vl::vint>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); - ::vl::__vwsn::This(this->__vwsn_precompile_5)->SetRowOption(static_cast<::vl::vint>(1), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(1.0); return __vwsn_temp__; }()); - ::vl::__vwsn::This(this->__vwsn_precompile_5)->SetColumnOption(static_cast<::vl::vint>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(1.0); return __vwsn_temp__; }()); - } - (this->__vwsn_precompile_6 = new ::vl::presentation::compositions::GuiCellComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_6)->SetSite(static_cast<::vl::vint>(0), static_cast<::vl::vint>(0), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateTextBoxStyle(); - (this->textBoxS = new ::vl::presentation::controls::GuiSinglelineTextBox(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->textBoxS)->SetAlt(::vl::WString(L"S", false)); - } - (this->__vwsn_precompile_7 = ::vl::__vwsn::This(this->textBoxS)->GetBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_7)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->textBoxS)->SetText(::vl::WString(L"Archer", false)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_6)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->textBoxS)->GetBoundsComposition())); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_5)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_6)); - } - (this->__vwsn_precompile_8 = new ::vl::presentation::compositions::GuiCellComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_8)->SetSite(static_cast<::vl::vint>(1), static_cast<::vl::vint>(0), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateMultilineTextBoxStyle(); - (this->textBoxM = new ::vl::presentation::controls::GuiMultilineTextBox(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->textBoxM)->SetAlt(::vl::WString(L"M", false)); - } - (this->__vwsn_precompile_9 = ::vl::__vwsn::This(this->textBoxM)->GetBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_9)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_8)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->textBoxM)->GetBoundsComposition())); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_5)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_8)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::This(this->__vwsn_precompile_4)->GetContainerComposition())->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_5)); - } - { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetPages()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_4)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateCustomControlStyle(); - (this->__vwsn_precompile_10 = new ::vl::presentation::controls::GuiTabPage(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_10)->SetAlt(::vl::WString(L"D", false)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_10)->SetText(::vl::WString(L"Document", false)); - } - (this->__vwsn_precompile_11 = new ::vl::presentation::compositions::GuiTableComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_11)->SetCellPadding(::vl::__vwsn::Parse<::vl::vint>(::vl::WString(L"5", false))); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_11)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_11)->SetRowsAndColumns(static_cast<::vl::vint>(2), static_cast<::vl::vint>(2)); - ::vl::__vwsn::This(this->__vwsn_precompile_11)->SetRowOption(static_cast<::vl::vint>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); - ::vl::__vwsn::This(this->__vwsn_precompile_11)->SetRowOption(static_cast<::vl::vint>(1), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(1.0); return __vwsn_temp__; }()); - ::vl::__vwsn::This(this->__vwsn_precompile_11)->SetColumnOption(static_cast<::vl::vint>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(0.5); return __vwsn_temp__; }()); - ::vl::__vwsn::This(this->__vwsn_precompile_11)->SetColumnOption(static_cast<::vl::vint>(1), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(0.5); return __vwsn_temp__; }()); - } - (this->__vwsn_precompile_12 = new ::vl::presentation::compositions::GuiCellComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_12)->SetSite(static_cast<::vl::vint>(0), static_cast<::vl::vint>(0), static_cast<::vl::vint>(1), static_cast<::vl::vint>(2)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateDocumentTextBoxStyle(); - (this->documentTextBox = new ::vl::presentation::controls::GuiDocumentLabel(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->documentTextBox)->SetEditMode(::vl::presentation::controls::GuiDocumentCommonInterface::EditMode::Editable); - } - { - ::vl::__vwsn::This(this->documentTextBox)->SetAlt(::vl::WString(L"T", false)); - } - (this->__vwsn_precompile_13 = ::vl::__vwsn::This(this->documentTextBox)->GetBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_13)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->documentTextBox)->SetText(::vl::WString(L"Archer", false)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_12)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->documentTextBox)->GetBoundsComposition())); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_11)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_12)); - } - (this->__vwsn_precompile_14 = new ::vl::presentation::compositions::GuiCellComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_14)->SetSite(static_cast<::vl::vint>(1), static_cast<::vl::vint>(0), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateDocumentViewerStyle(); - (this->documentViewer = new ::vl::presentation::controls::GuiDocumentViewer(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->documentViewer)->SetEditMode(::vl::presentation::controls::GuiDocumentCommonInterface::EditMode::Editable); - } - { - ::vl::__vwsn::This(this->documentViewer)->SetAlt(::vl::WString(L"V", false)); - } - (this->__vwsn_precompile_15 = ::vl::__vwsn::This(this->documentViewer)->GetBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_15)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_14)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->documentViewer)->GetBoundsComposition())); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_11)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_14)); - } - (this->__vwsn_precompile_16 = new ::vl::presentation::compositions::GuiCellComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_16)->SetSite(static_cast<::vl::vint>(1), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateDocumentLabelStyle(); - (this->documentLabel = new ::vl::presentation::controls::GuiDocumentLabel(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->documentLabel)->SetEditMode(::vl::presentation::controls::GuiDocumentCommonInterface::EditMode::Editable); - } - { - ::vl::__vwsn::This(this->documentLabel)->SetAlt(::vl::WString(L"L", false)); - } - (this->__vwsn_precompile_17 = ::vl::__vwsn::This(this->documentLabel)->GetBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_17)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_16)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->documentLabel)->GetBoundsComposition())); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_11)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_16)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::This(this->__vwsn_precompile_10)->GetContainerComposition())->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_11)); - } - { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetPages()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_10)); - } - (this->__vwsn_precompile_3 = ::vl::__vwsn::This(this->__vwsn_precompile_2)->GetBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_3)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_1)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_2)->GetBoundsComposition())); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_1)); - } - (this->__vwsn_precompile_18 = new ::vl::presentation::compositions::GuiCellComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_18)->SetSite(static_cast<::vl::vint>(1), static_cast<::vl::vint>(0), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateButtonStyle(); - (this->__vwsn_precompile_19 = new ::vl::presentation::controls::GuiButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_19)->SetAlt(::vl::WString(L"L", false)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_19)->SetText(::vl::WString(L"Make Font Larger", false)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_18)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_19)->GetBoundsComposition())); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_18)); - } - (this->__vwsn_precompile_20 = new ::vl::presentation::compositions::GuiCellComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_20)->SetSite(static_cast<::vl::vint>(1), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); - } - { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateButtonStyle(); - (this->__vwsn_precompile_21 = new ::vl::presentation::controls::GuiButton(__vwsn_controlStyle_)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_21)->SetAlt(::vl::WString(L"S", false)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_21)->SetText(::vl::WString(L"Make Font Smaller", false)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_20)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_21)->GetBoundsComposition())); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_20)); - } - { - ::vl::__vwsn::This(::vl::__vwsn::This(this->self)->GetContainerComposition())->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_0)); - } - { - ::vl::__vwsn::This(this->textBoxM)->SetText(::vl::__vwsn::This(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiTextData>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"TextBoxComponents/Text", false), true).Obj())).Obj())->GetText()); - } - { - ::vl::__vwsn::This(this->documentViewer)->SetDocument(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::DocumentModel>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"TextBoxComponents/DocFixed", false), true).Obj()))); - } - { - ::vl::__vwsn::This(this->documentLabel)->SetDocument(::vl::__vwsn::Ensure(::vl::__vwsn::SharedPtrCast<::vl::presentation::DocumentModel>(::vl::__vwsn::This(__vwsn_this_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"TextBoxComponents/DocRelative", false), true).Obj()))); - } - { - auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf139_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance__(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_19)->Clicked, __vwsn_event_handler_); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc56_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, LAMBDA(::vl_workflow_global::__vwsnf140_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance__(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf141_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance__(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_21)->Clicked, __vwsn_event_handler_); - } - { - auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf142_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance__(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->self)->OnMakeFontLarger, __vwsn_event_handler_); - } - { - auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf143_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance__(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->self)->OnMakeFontSmaller, __vwsn_event_handler_); - } - } - - TextBoxTabPageConstructor::TextBoxTabPageConstructor() - { - } - -/*********************************************************************** -Class (::demo::TextBoxTabPage) -***********************************************************************/ - - void TextBoxTabPage::UpdateFont(::vl::presentation::FontProperties newFont) - { - ::vl::__vwsn::This(this->textBoxS)->SetFont(newFont); - ::vl::__vwsn::This(this->textBoxM)->SetFont(newFont); - ::vl::__vwsn::This(this->documentTextBox)->SetFont(newFont); - ::vl::__vwsn::This(this->documentViewer)->SetFont(newFont); - ::vl::__vwsn::This(this->documentLabel)->SetFont(newFont); - } - - TextBoxTabPage::TextBoxTabPage() - : ::vl::presentation::controls::GuiTabPage(::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateCustomControlStyle()) - { - auto __vwsn_resource_ = ::vl::__vwsn::This(::vl::presentation::GetResourceManager())->GetResourceFromClassName(::vl::WString(L"demo::TextBoxTabPage", false)); - auto __vwsn_resolver_ = ::vl::Ptr<::vl::presentation::GuiResourcePathResolver>(new ::vl::presentation::GuiResourcePathResolver(__vwsn_resource_, ::vl::__vwsn::This(__vwsn_resource_.Obj())->GetWorkingDirectory())); - ::vl::__vwsn::This(this)->SetResourceResolver(__vwsn_resolver_); - ::vl::__vwsn::This(this)->__vwsn_initialize_instance_(this); - } - - TextBoxTabPage::~TextBoxTabPage() - { - this->FinalizeInstanceRecursively(static_cast<::vl::presentation::controls::GuiCustomControl*>(this)); - } - -/*********************************************************************** -Class (::demo::MyTextItem) -***********************************************************************/ - - ::vl::WString MyTextItem::GetName() - { - return this->__vwsn_prop_Name; - } - void MyTextItem::SetName(const ::vl::WString& __vwsn_value_) - { - (this->__vwsn_prop_Name = __vwsn_value_); - } - - bool MyTextItem::GetChecked() - { - return this->__vwsn_prop_Checked; - } - void MyTextItem::SetChecked(bool __vwsn_value_) - { - (this->__vwsn_prop_Checked = __vwsn_value_); - } - - MyTextItem::MyTextItem() - { - } - -/*********************************************************************** -Class (::demo::MyDataItem) -***********************************************************************/ - - ::vl::WString MyDataItem::GetName() - { - return this->__vwsn_prop_Name; - } - void MyDataItem::SetName(const ::vl::WString& __vwsn_value_) - { - (this->__vwsn_prop_Name = __vwsn_value_); - } - - ::demo::MyGender MyDataItem::GetGender() - { - return this->__vwsn_prop_Gender; - } - void MyDataItem::SetGender(::demo::MyGender __vwsn_value_) - { - (this->__vwsn_prop_Gender = __vwsn_value_); - } - - ::demo::MyCategory MyDataItem::GetCategory() - { - return this->__vwsn_prop_Category; - } - void MyDataItem::SetCategory(::demo::MyCategory __vwsn_value_) - { - (this->__vwsn_prop_Category = __vwsn_value_); - } - - ::vl::DateTime MyDataItem::GetBirthday() - { - return this->__vwsn_prop_Birthday; - } - void MyDataItem::SetBirthday(::vl::DateTime __vwsn_value_) - { - (this->__vwsn_prop_Birthday = __vwsn_value_); - } - - ::vl::WString MyDataItem::GetWebsite() - { - return this->__vwsn_prop_Website; - } - void MyDataItem::SetWebsite(const ::vl::WString& __vwsn_value_) - { - (this->__vwsn_prop_Website = __vwsn_value_); - } - - ::vl::Ptr<::vl::presentation::GuiImageData> MyDataItem::GetLargeImage() - { - return this->__vwsn_prop_LargeImage; - } - void MyDataItem::SetLargeImage(::vl::Ptr<::vl::presentation::GuiImageData> __vwsn_value_) - { - (this->__vwsn_prop_LargeImage = __vwsn_value_); - } - - ::vl::Ptr<::vl::presentation::GuiImageData> MyDataItem::GetSmallImage() - { - return this->__vwsn_prop_SmallImage; - } - void MyDataItem::SetSmallImage(::vl::Ptr<::vl::presentation::GuiImageData> __vwsn_value_) - { - (this->__vwsn_prop_SmallImage = __vwsn_value_); - } - - MyDataItem::MyDataItem() - { - } - - MyDataItem::MyDataItem(const ::vl::WString& name, ::demo::MyGender gender, ::demo::MyCategory category, ::vl::DateTime birthday, const ::vl::WString& website) - { - this->SetName(name); - this->SetGender(gender); - this->SetCategory(category); - this->SetBirthday(birthday); - this->SetWebsite(website); - } - -} -#undef GLOBAL_SYMBOL -#undef GLOBAL_NAME -#undef GLOBAL_OBJ -#undef USERIMPL - -#if defined( _MSC_VER) -#pragma warning(pop) -#elif defined(__GNUC__) -#pragma GCC diagnostic pop -#elif defined(__clang__) -#pragma clang diagnostic pop -#endif diff --git a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/DemoPartialClasses.h b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/DemoPartialClasses.h deleted file mode 100644 index 85639162..00000000 --- a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/DemoPartialClasses.h +++ /dev/null @@ -1,3900 +0,0 @@ -/*********************************************************************** -!!!!!! DO NOT MODIFY !!!!!! - -GacGen.exe Resource.xml - -This file is generated by Workflow compiler -https://github.com/vczh-libraries -***********************************************************************/ - -#ifndef VCZH_WORKFLOW_COMPILER_GENERATED_DEMOPARTIALCLASSES -#define VCZH_WORKFLOW_COMPILER_GENERATED_DEMOPARTIALCLASSES - -#include "GacUI.h" - -#if defined( _MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#elif defined(__GNUC__) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wparentheses-equality" -#elif defined(__clang__) -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wparentheses-equality" -#endif - -namespace vl_workflow_global -{ - struct __vwsnf100_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf101_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf102_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf103_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf104_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf105_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf106_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf107_Demo_demo_TreeViewTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf108_Demo_demo_TreeViewTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf109_Demo_demo_TreeViewTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf10_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf110_Demo_demo_DateEditorConstructor___vwsn_initialize_instance__; - struct __vwsnf111_Demo_demo_DateEditorConstructor___vwsn_initialize_instance__; - struct __vwsnf112_Demo_demo_DateFilterConstructor___vwsn_initialize_instance__; - struct __vwsnf113_Demo_demo_DateFilterConstructor___vwsn_initialize_instance__; - struct __vwsnf114_Demo_demo_DateFilterConstructor___vwsn_initialize_instance__; - struct __vwsnf115_Demo_demo_DateFilterConstructor___vwsn_initialize_instance__; - struct __vwsnf116_Demo_demo_DateFilterConstructor___vwsn_initialize_instance__; - struct __vwsnf117_Demo_demo_DateFilterConstructor___vwsn_initialize_instance__; - struct __vwsnf118_Demo_demo_TextEditorConstructor___vwsn_initialize_instance__; - struct __vwsnf119_Demo_demo_TextEditorConstructor___vwsn_initialize_instance__; - struct __vwsnf11_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf120_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance__; - struct __vwsnf121_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance__; - struct __vwsnf122_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance__; - struct __vwsnf123_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance__; - struct __vwsnf124_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance__; - struct __vwsnf125_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance__; - struct __vwsnf126_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance__; - struct __vwsnf127_Demo_demo_CategoryItemTemplateConstructor___vwsn_initialize_instance__; - struct __vwsnf128_Demo_demo_CategoryVisualizerConstructor___vwsn_initialize_instance__; - struct __vwsnf129_Demo_demo_CategoryVisualizerConstructor___vwsn_initialize_instance__; - struct __vwsnf12_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf130_Demo_demo_GenderDisplayerConstructor___vwsn_initialize_instance__; - struct __vwsnf131_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance__; - struct __vwsnf132_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance__; - struct __vwsnf133_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance__; - struct __vwsnf134_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance__; - struct __vwsnf135_Demo_demo_GenderVisualizerConstructor___vwsn_initialize_instance__; - struct __vwsnf136_Demo_demo_HyperlinkWindowConstructor___vwsn_initialize_instance__; - struct __vwsnf137_Demo_demo_HyperlinkWindowConstructor___vwsn_initialize_instance__; - struct __vwsnf138_Demo_demo_RepeatItemTemplateConstructor___vwsn_initialize_instance__; - struct __vwsnf139_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf13_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf140_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf141_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf142_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf143_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf14_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf16_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf17_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf18_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf1_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf20_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf21_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf22_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf23_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf24_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf26_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf27_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf28_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf29_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf2_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf30_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf31_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf32_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf33_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf34_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf35_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf36_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf37_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf38_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf39_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf40_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf41_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf42_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf43_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf44_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf45_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf46_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf47_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf48_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf49_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___; - struct __vwsnf4_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf50_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf51_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf52_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf53_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf54_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf55_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf56_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf57_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf58_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf59_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf5_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf60_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf61_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf62_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf63_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf64_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf65_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf66_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf67_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf68_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf69_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf6_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf70_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf71_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf72_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf73_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf74_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf75_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf76_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf77_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf78_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf79_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf7_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf80_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf81_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf82_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf83_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf84_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf85_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf86_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf87_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf88_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf89_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf8_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf90_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf91_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf92_Demo_demo_ListViewTabPage___vwsn_instance_ctor__; - struct __vwsnf93_Demo_demo_ListViewTabPage___vwsn_instance_ctor__; - struct __vwsnf94_Demo_demo_RepeatTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf95_Demo_demo_RepeatTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf96_Demo_demo_RepeatTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf97_Demo_demo_RepeatTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf98_Demo_demo_RepeatTabPageConstructor___vwsn_initialize_instance__; - struct __vwsnf99_Demo_demo_RepeatTabPageConstructor___vwsn_initialize_instance__; - struct __vwsno15_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__Compare_; - struct __vwsno19_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__Compare_; - struct __vwsno25_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__Compare_; - struct __vwsno3_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__Compare_; - struct __vwsno9_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__Compare_; - class __vwsnc10_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - class __vwsnc11_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - class __vwsnc12_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - class __vwsnc13_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - class __vwsnc14_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - class __vwsnc15_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance_____vl_reflection_description_ICoroutine; - class __vwsnc16_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - class __vwsnc17_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - class __vwsnc18_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - class __vwsnc19_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - class __vwsnc1_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance___vl_presentation_controls_list_IDataSorter; - class __vwsnc20_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - class __vwsnc21_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - class __vwsnc22_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - class __vwsnc23_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - class __vwsnc24_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - class __vwsnc25_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - class __vwsnc26_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - class __vwsnc27_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - class __vwsnc28_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - class __vwsnc29_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - class __vwsnc2_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance___vl_presentation_controls_list_IDataSorter; - class __vwsnc30_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - class __vwsnc31_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - class __vwsnc32_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - class __vwsnc33_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - class __vwsnc34_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - class __vwsnc35_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - class __vwsnc36_Demo_demo_DateEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - class __vwsnc37_Demo_demo_DateEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - class __vwsnc38_Demo_demo_DateFilterConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - class __vwsnc39_Demo_demo_DateFilterConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - class __vwsnc3_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance___vl_presentation_controls_list_IDataSorter; - class __vwsnc40_Demo_demo_DateFilter___vwsn_instance_ctor___vl_presentation_controls_list_IDataFilter; - class __vwsnc41_Demo_demo_TextEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - class __vwsnc42_Demo_demo_TextEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - class __vwsnc43_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - class __vwsnc44_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - class __vwsnc45_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - class __vwsnc46_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - class __vwsnc47_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - class __vwsnc48_Demo_demo_CategoryItemTemplateConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - class __vwsnc49_Demo_demo_CategoryVisualizerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - class __vwsnc4_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance___vl_presentation_controls_list_IDataSorter; - class __vwsnc50_Demo_demo_CategoryVisualizerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - class __vwsnc51_Demo_demo_GenderDisplayerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - class __vwsnc52_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - class __vwsnc53_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - class __vwsnc54_Demo_demo_GenderVisualizerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - class __vwsnc55_Demo_demo_RepeatItemTemplateConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - class __vwsnc56_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - class __vwsnc5_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance___vl_presentation_controls_list_IDataSorter; - class __vwsnc6_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - class __vwsnc7_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - class __vwsnc8_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - class __vwsnc9_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; -} - -namespace demo -{ - enum class MyCategory : vl::vuint64_t - { - Black = 0UL, - Red = 1UL, - Lime = 2UL, - Blue = 3UL, - White = 4UL, - }; - inline MyCategory operator& (MyCategory a, MyCategory b) { return static_cast(static_cast<::vl::vuint64_t>(a) & static_cast<::vl::vuint64_t>(b)); } - inline MyCategory operator| (MyCategory a, MyCategory b) { return static_cast(static_cast<::vl::vuint64_t>(a) | static_cast<::vl::vuint64_t>(b)); } - - enum class MyGender : vl::vuint64_t - { - Male = 0UL, - Female = 1UL, - }; - inline MyGender operator& (MyGender a, MyGender b) { return static_cast(static_cast<::vl::vuint64_t>(a) & static_cast<::vl::vuint64_t>(b)); } - inline MyGender operator| (MyGender a, MyGender b) { return static_cast(static_cast<::vl::vuint64_t>(a) | static_cast<::vl::vuint64_t>(b)); } - - class DataGridTabPageConstructor; - class DataGridTabPage; - class DocumentTabPageConstructor; - class DocumentTabPage; - class ListViewTabPageConstructor; - class ListViewTabPage; - class MainWindowConstructor; - class MainWindow; - class RepeatTabPageConstructor; - class RepeatTabPage; - class TextListTabPageConstructor; - class TextListTabPage; - class TreeViewTabPageConstructor; - class TreeViewTabPage; - class DateEditorConstructor; - class DateEditor; - class DateFilterConstructor; - class DateFilter; - class TextEditorConstructor; - class TextEditor; - class CategoryDisplayerConstructor; - class CategoryDisplayer; - class CategoryEditorConstructor; - class CategoryEditor; - class CategoryItemTemplateConstructor; - class CategoryItemTemplate; - class CategoryVisualizerConstructor; - class CategoryVisualizer; - class GenderDisplayerConstructor; - class GenderDisplayer; - class GenderEditorConstructor; - class GenderEditor; - class GenderItemTemplateConstructor; - class GenderItemTemplate; - class GenderVisualizerConstructor; - class GenderVisualizer; - class HyperlinkWindowConstructor; - class HyperlinkWindow; - class RepeatItemTemplateConstructor; - class RepeatItemTemplate; - class TextBoxTabPageConstructor; - class TextBoxTabPage; - class MyTextItem; - class MyDataItem; - - class DataGridTabPageConstructor : public ::vl::Object, public ::vl::reflection::Description - { - friend class ::vl_workflow_global::__vwsnc1_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance___vl_presentation_controls_list_IDataSorter; - friend class ::vl_workflow_global::__vwsnc2_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance___vl_presentation_controls_list_IDataSorter; - friend class ::vl_workflow_global::__vwsnc3_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance___vl_presentation_controls_list_IDataSorter; - friend class ::vl_workflow_global::__vwsnc4_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance___vl_presentation_controls_list_IDataSorter; - friend class ::vl_workflow_global::__vwsnc5_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance___vl_presentation_controls_list_IDataSorter; - friend struct ::vl_workflow_global::__vwsnf10_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf11_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf12_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf13_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf14_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf16_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf17_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf18_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf1_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf20_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf21_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf22_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf23_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf24_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf26_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf27_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf28_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf29_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf2_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf4_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf5_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf6_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf7_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf8_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsno15_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__Compare_; - friend struct ::vl_workflow_global::__vwsno19_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__Compare_; - friend struct ::vl_workflow_global::__vwsno25_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__Compare_; - friend struct ::vl_workflow_global::__vwsno3_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__Compare_; - friend struct ::vl_workflow_global::__vwsno9_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__Compare_; -#ifndef VCZH_DEBUG_NO_REFLECTION - friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; -#endif - protected: - ::demo::DataGridTabPage* self = static_cast<::demo::DataGridTabPage*>(nullptr); - ::vl::presentation::controls::GuiComboBoxListControl* comboView = static_cast<::vl::presentation::controls::GuiComboBoxListControl*>(nullptr); - ::vl::presentation::controls::GuiBindableDataGrid* dataGrid = static_cast<::vl::presentation::controls::GuiBindableDataGrid*>(nullptr); - ::demo::DateFilter* dateFilter = static_cast<::demo::DateFilter*>(nullptr); - ::vl::presentation::compositions::GuiTableComposition* __vwsn_precompile_0 = static_cast<::vl::presentation::compositions::GuiTableComposition*>(nullptr); - ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_1 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); - ::vl::presentation::controls::GuiTextList* __vwsn_precompile_2 = static_cast<::vl::presentation::controls::GuiTextList*>(nullptr); - ::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_3 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(); - ::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_4 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(); - ::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_5 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(); - ::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_6 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(); - ::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_7 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(); - ::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_8 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(); - ::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_9 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(); - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_10 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); - ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_11 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); - ::vl::Ptr<::vl::presentation::controls::list::DataColumn> __vwsn_precompile_12 = ::vl::Ptr<::vl::presentation::controls::list::DataColumn>(); - ::vl::Ptr<::vl::presentation::controls::list::DataColumn> __vwsn_precompile_13 = ::vl::Ptr<::vl::presentation::controls::list::DataColumn>(); - ::vl::Ptr<::vl::presentation::controls::list::DataColumn> __vwsn_precompile_14 = ::vl::Ptr<::vl::presentation::controls::list::DataColumn>(); - ::vl::Ptr<::vl::presentation::controls::list::DataColumn> __vwsn_precompile_15 = ::vl::Ptr<::vl::presentation::controls::list::DataColumn>(); - ::vl::presentation::controls::GuiToolstripMenu* __vwsn_precompile_16 = static_cast<::vl::presentation::controls::GuiToolstripMenu*>(nullptr); - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_17 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); - ::vl::Ptr<::vl::presentation::controls::list::DataColumn> __vwsn_precompile_18 = ::vl::Ptr<::vl::presentation::controls::list::DataColumn>(); - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_19 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); - void __vwsn_initialize_instance_(::demo::DataGridTabPage* __vwsn_this_); - public: - DataGridTabPageConstructor(); - }; - - class DataGridTabPage : public ::vl::presentation::controls::GuiTabPage, public ::demo::DataGridTabPageConstructor, public ::vl::reflection::Description - { - friend class ::demo::DataGridTabPageConstructor; - friend class ::vl_workflow_global::__vwsnc1_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance___vl_presentation_controls_list_IDataSorter; - friend class ::vl_workflow_global::__vwsnc2_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance___vl_presentation_controls_list_IDataSorter; - friend class ::vl_workflow_global::__vwsnc3_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance___vl_presentation_controls_list_IDataSorter; - friend class ::vl_workflow_global::__vwsnc4_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance___vl_presentation_controls_list_IDataSorter; - friend class ::vl_workflow_global::__vwsnc5_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance___vl_presentation_controls_list_IDataSorter; - friend struct ::vl_workflow_global::__vwsnf10_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf11_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf12_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf13_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf14_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf16_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf17_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf18_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf1_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf20_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf21_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf22_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf23_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf24_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf26_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf27_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf28_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf29_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf2_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf4_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf5_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf6_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf7_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf8_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsno15_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__Compare_; - friend struct ::vl_workflow_global::__vwsno19_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__Compare_; - friend struct ::vl_workflow_global::__vwsno25_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__Compare_; - friend struct ::vl_workflow_global::__vwsno3_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__Compare_; - friend struct ::vl_workflow_global::__vwsno9_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__Compare_; -#ifndef VCZH_DEBUG_NO_REFLECTION - friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; -#endif - public: - DataGridTabPage(); - void __vwsn_instance_ctor_(); - ~DataGridTabPage(); - }; - - class DocumentTabPageConstructor : public ::vl::Object, public ::vl::reflection::Description - { - friend class ::vl_workflow_global::__vwsnc10_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc11_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc12_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc13_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc14_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc15_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance_____vl_reflection_description_ICoroutine; - friend class ::vl_workflow_global::__vwsnc16_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc17_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc18_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc19_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc20_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc21_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc22_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc23_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc24_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc25_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc26_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc27_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc28_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc29_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc30_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc31_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc32_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc33_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc34_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc35_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc6_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc7_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc8_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc9_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend struct ::vl_workflow_global::__vwsnf30_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf31_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf32_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf33_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf34_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf35_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf36_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf37_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf38_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf39_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf40_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf41_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf42_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf43_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf44_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf45_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf46_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf47_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf48_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf49_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___; - friend struct ::vl_workflow_global::__vwsnf50_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf51_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf52_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf53_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf54_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf55_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf56_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf57_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf58_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf59_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf60_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf61_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf62_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf63_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf64_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf65_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf66_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf67_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf68_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf69_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf70_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf71_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf72_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf73_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf74_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf75_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf76_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf77_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf78_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf79_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf80_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf81_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf82_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf83_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf84_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; -#ifndef VCZH_DEBUG_NO_REFLECTION - friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; -#endif - protected: - ::demo::DocumentTabPage* self = static_cast<::demo::DocumentTabPage*>(nullptr); - ::vl::presentation::controls::GuiMessageDialog* dialogMessage = static_cast<::vl::presentation::controls::GuiMessageDialog*>(nullptr); - ::vl::presentation::controls::GuiOpenFileDialog* dialogOpen = static_cast<::vl::presentation::controls::GuiOpenFileDialog*>(nullptr); - ::vl::presentation::controls::GuiToolstripButton* buttonView = static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr); - ::vl::presentation::controls::GuiToolstripButton* buttonAlignment = static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr); - ::vl::presentation::controls::GuiDocumentViewer* document = static_cast<::vl::presentation::controls::GuiDocumentViewer*>(nullptr); - ::vl::presentation::controls::GuiToolstripCommand* commandUndo = static_cast<::vl::presentation::controls::GuiToolstripCommand*>(nullptr); - ::vl::presentation::controls::GuiToolstripCommand* commandRedo = static_cast<::vl::presentation::controls::GuiToolstripCommand*>(nullptr); - ::vl::presentation::controls::GuiToolstripCommand* commandCopy = static_cast<::vl::presentation::controls::GuiToolstripCommand*>(nullptr); - ::vl::presentation::controls::GuiToolstripCommand* commandCut = static_cast<::vl::presentation::controls::GuiToolstripCommand*>(nullptr); - ::vl::presentation::controls::GuiToolstripCommand* commandPaste = static_cast<::vl::presentation::controls::GuiToolstripCommand*>(nullptr); - ::vl::presentation::controls::GuiToolstripCommand* commandDelete = static_cast<::vl::presentation::controls::GuiToolstripCommand*>(nullptr); - ::vl::presentation::controls::GuiToolstripCommand* commandSelect = static_cast<::vl::presentation::controls::GuiToolstripCommand*>(nullptr); - ::vl::presentation::controls::GuiToolstripCommand* commandInsertImage = static_cast<::vl::presentation::controls::GuiToolstripCommand*>(nullptr); - ::vl::presentation::controls::GuiToolstripCommand* commandEditHyperlink = static_cast<::vl::presentation::controls::GuiToolstripCommand*>(nullptr); - ::vl::presentation::controls::GuiToolstripCommand* commandRemoveHyperlink = static_cast<::vl::presentation::controls::GuiToolstripCommand*>(nullptr); - ::vl::presentation::controls::GuiToolstripCommand* commandBold = static_cast<::vl::presentation::controls::GuiToolstripCommand*>(nullptr); - ::vl::presentation::controls::GuiToolstripCommand* commandItalic = static_cast<::vl::presentation::controls::GuiToolstripCommand*>(nullptr); - ::vl::presentation::controls::GuiToolstripCommand* commandUnderline = static_cast<::vl::presentation::controls::GuiToolstripCommand*>(nullptr); - ::vl::presentation::controls::GuiToolstripCommand* commandStrike = static_cast<::vl::presentation::controls::GuiToolstripCommand*>(nullptr); - ::vl::presentation::controls::GuiColorDialog* dialogColor = static_cast<::vl::presentation::controls::GuiColorDialog*>(nullptr); - ::vl::presentation::controls::GuiFontDialog* dialogFont = static_cast<::vl::presentation::controls::GuiFontDialog*>(nullptr); - ::vl::presentation::controls::GuiToolstripCommand* commandFont = static_cast<::vl::presentation::controls::GuiToolstripCommand*>(nullptr); - ::vl::presentation::controls::GuiToolstripCommand* commandColor = static_cast<::vl::presentation::controls::GuiToolstripCommand*>(nullptr); - ::vl::presentation::controls::GuiToolstripCommand* commandBackColor = static_cast<::vl::presentation::controls::GuiToolstripCommand*>(nullptr); - ::vl::presentation::controls::GuiToolstripCommand* commandViewOnly = static_cast<::vl::presentation::controls::GuiToolstripCommand*>(nullptr); - ::vl::presentation::controls::GuiToolstripCommand* commandSelectable = static_cast<::vl::presentation::controls::GuiToolstripCommand*>(nullptr); - ::vl::presentation::controls::GuiToolstripCommand* commandEditable = static_cast<::vl::presentation::controls::GuiToolstripCommand*>(nullptr); - ::vl::presentation::controls::GuiToolstripCommand* commandAlignDefault = static_cast<::vl::presentation::controls::GuiToolstripCommand*>(nullptr); - ::vl::presentation::controls::GuiToolstripCommand* commandAlignLeft = static_cast<::vl::presentation::controls::GuiToolstripCommand*>(nullptr); - ::vl::presentation::controls::GuiToolstripCommand* commandAlignCenter = static_cast<::vl::presentation::controls::GuiToolstripCommand*>(nullptr); - ::vl::presentation::controls::GuiToolstripCommand* commandAlignRight = static_cast<::vl::presentation::controls::GuiToolstripCommand*>(nullptr); - ::vl::presentation::compositions::GuiTableComposition* __vwsn_precompile_0 = static_cast<::vl::presentation::compositions::GuiTableComposition*>(nullptr); - ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_1 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); - ::vl::presentation::controls::GuiToolstripMenuBar* __vwsn_precompile_2 = static_cast<::vl::presentation::controls::GuiToolstripMenuBar*>(nullptr); - ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_3 = static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr); - ::vl::presentation::controls::GuiToolstripMenu* __vwsn_precompile_4 = static_cast<::vl::presentation::controls::GuiToolstripMenu*>(nullptr); - ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_5 = static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr); - ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_6 = static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr); - ::vl::presentation::controls::GuiControl* __vwsn_precompile_7 = static_cast<::vl::presentation::controls::GuiControl*>(nullptr); - ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_8 = static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr); - ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_9 = static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr); - ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_10 = static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr); - ::vl::presentation::controls::GuiControl* __vwsn_precompile_11 = static_cast<::vl::presentation::controls::GuiControl*>(nullptr); - ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_12 = static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr); - ::vl::presentation::controls::GuiControl* __vwsn_precompile_13 = static_cast<::vl::presentation::controls::GuiControl*>(nullptr); - ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_14 = static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr); - ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_15 = static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr); - ::vl::presentation::controls::GuiToolstripMenu* __vwsn_precompile_16 = static_cast<::vl::presentation::controls::GuiToolstripMenu*>(nullptr); - ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_17 = static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr); - ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_18 = static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr); - ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_19 = static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr); - ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_20 = static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr); - ::vl::presentation::controls::GuiToolstripMenu* __vwsn_precompile_21 = static_cast<::vl::presentation::controls::GuiToolstripMenu*>(nullptr); - ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_22 = static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr); - ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_23 = static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr); - ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_24 = static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr); - ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_25 = static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr); - ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_26 = static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr); - ::vl::presentation::controls::GuiToolstripMenu* __vwsn_precompile_27 = static_cast<::vl::presentation::controls::GuiToolstripMenu*>(nullptr); - ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_28 = static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr); - ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_29 = static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr); - ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_30 = static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr); - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_31 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); - ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_32 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); - ::vl::presentation::controls::GuiToolstripToolBar* __vwsn_precompile_33 = static_cast<::vl::presentation::controls::GuiToolstripToolBar*>(nullptr); - ::vl::presentation::controls::GuiToolstripMenu* __vwsn_precompile_34 = static_cast<::vl::presentation::controls::GuiToolstripMenu*>(nullptr); - ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_35 = static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr); - ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_36 = static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr); - ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_37 = static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr); - ::vl::presentation::controls::GuiToolstripMenu* __vwsn_precompile_38 = static_cast<::vl::presentation::controls::GuiToolstripMenu*>(nullptr); - ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_39 = static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr); - ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_40 = static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr); - ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_41 = static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr); - ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_42 = static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr); - ::vl::presentation::controls::GuiControl* __vwsn_precompile_43 = static_cast<::vl::presentation::controls::GuiControl*>(nullptr); - ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_44 = static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr); - ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_45 = static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr); - ::vl::presentation::controls::GuiControl* __vwsn_precompile_46 = static_cast<::vl::presentation::controls::GuiControl*>(nullptr); - ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_47 = static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr); - ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_48 = static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr); - ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_49 = static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr); - ::vl::presentation::controls::GuiControl* __vwsn_precompile_50 = static_cast<::vl::presentation::controls::GuiControl*>(nullptr); - ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_51 = static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr); - ::vl::presentation::controls::GuiControl* __vwsn_precompile_52 = static_cast<::vl::presentation::controls::GuiControl*>(nullptr); - ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_53 = static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr); - ::vl::presentation::controls::GuiToolstripMenu* __vwsn_precompile_54 = static_cast<::vl::presentation::controls::GuiToolstripMenu*>(nullptr); - ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_55 = static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr); - ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_56 = static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr); - ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_57 = static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr); - ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_58 = static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr); - ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_59 = static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr); - ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_60 = static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr); - ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_61 = static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr); - ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_62 = static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr); - ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_63 = static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr); - ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_64 = static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr); - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_65 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); - ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_66 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_67 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); - void __vwsn_initialize_instance_(::demo::DocumentTabPage* __vwsn_this_); - public: - DocumentTabPageConstructor(); - }; - - class DocumentTabPage : public ::vl::presentation::controls::GuiTabPage, public ::demo::DocumentTabPageConstructor, public ::vl::reflection::Description - { - friend class ::demo::DocumentTabPageConstructor; - friend class ::vl_workflow_global::__vwsnc10_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc11_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc12_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc13_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc14_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc15_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance_____vl_reflection_description_ICoroutine; - friend class ::vl_workflow_global::__vwsnc16_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc17_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc18_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc19_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc20_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc21_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc22_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc23_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc24_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc25_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc26_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc27_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc28_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc29_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc30_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc31_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc32_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc33_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc34_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc35_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc6_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc7_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc8_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc9_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend struct ::vl_workflow_global::__vwsnf30_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf31_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf32_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf33_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf34_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf35_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf36_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf37_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf38_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf39_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf40_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf41_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf42_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf43_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf44_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf45_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf46_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf47_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf48_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf49_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___; - friend struct ::vl_workflow_global::__vwsnf50_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf51_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf52_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf53_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf54_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf55_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf56_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf57_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf58_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf59_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf60_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf61_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf62_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf63_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf64_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf65_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf66_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf67_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf68_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf69_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf70_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf71_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf72_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf73_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf74_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf75_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf76_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf77_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf78_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf79_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf80_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf81_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf82_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf83_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf84_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__; -#ifndef VCZH_DEBUG_NO_REFLECTION - friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; -#endif - private: - void SetEditMode(::vl::presentation::controls::GuiDocumentCommonInterface::EditMode editMode); - ::vl::presentation::controls::GuiToolstripCommand* SelectAlignmentCommand(); - void SetAlignment(::vl::Nullable<::vl::presentation::Alignment> alignment); - bool __vwsn_prop_HasEditableSelection = false; - bool GetHasEditableSelection(); - void SetHasEditableSelection(bool __vwsn_value_); - ::vl::Event HasEditableSelectionChanged; - bool __vwsn_prop_HasEditableSelectionInSingleParagraph = false; - bool GetHasEditableSelectionInSingleParagraph(); - void SetHasEditableSelectionInSingleParagraph(bool __vwsn_value_); - ::vl::Event HasEditableSelectionInSingleParagraphChanged; - bool HasEditableCursor(); - bool HasEditableHyperlink(bool forEdit); - public: - DocumentTabPage(); - void __vwsn_instance_ctor_(); - ~DocumentTabPage(); - }; - - class ListViewTabPageConstructor : public ::vl::Object, public ::vl::reflection::Description - { - friend struct ::vl_workflow_global::__vwsnf85_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf86_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf87_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf88_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf89_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf90_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf91_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__; -#ifndef VCZH_DEBUG_NO_REFLECTION - friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; -#endif - protected: - ::demo::ListViewTabPage* self = static_cast<::demo::ListViewTabPage*>(nullptr); - ::vl::presentation::controls::GuiComboBoxListControl* comboView = static_cast<::vl::presentation::controls::GuiComboBoxListControl*>(nullptr); - ::vl::presentation::controls::GuiListView* listView = static_cast<::vl::presentation::controls::GuiListView*>(nullptr); - ::vl::presentation::controls::GuiBindableListView* bindableListView = static_cast<::vl::presentation::controls::GuiBindableListView*>(nullptr); - ::vl::presentation::compositions::GuiTableComposition* __vwsn_precompile_0 = static_cast<::vl::presentation::compositions::GuiTableComposition*>(nullptr); - ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_1 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); - ::vl::presentation::controls::GuiTextList* __vwsn_precompile_2 = static_cast<::vl::presentation::controls::GuiTextList*>(nullptr); - ::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_3 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(); - ::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_4 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(); - ::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_5 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(); - ::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_6 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(); - ::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_7 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(); - ::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_8 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(); - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_9 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); - ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_10 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); - ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn> __vwsn_precompile_11 = ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>(); - ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn> __vwsn_precompile_12 = ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>(); - ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn> __vwsn_precompile_13 = ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>(); - ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn> __vwsn_precompile_14 = ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>(); - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_15 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); - ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_16 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); - ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn> __vwsn_precompile_17 = ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>(); - ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn> __vwsn_precompile_18 = ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>(); - ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn> __vwsn_precompile_19 = ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>(); - ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn> __vwsn_precompile_20 = ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>(); - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_21 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); - void __vwsn_initialize_instance_(::demo::ListViewTabPage* __vwsn_this_); - public: - ListViewTabPageConstructor(); - }; - - class ListViewTabPage : public ::vl::presentation::controls::GuiTabPage, public ::demo::ListViewTabPageConstructor, public ::vl::reflection::Description - { - friend struct ::vl_workflow_global::__vwsnf92_Demo_demo_ListViewTabPage___vwsn_instance_ctor__; - friend struct ::vl_workflow_global::__vwsnf93_Demo_demo_ListViewTabPage___vwsn_instance_ctor__; - friend class ::demo::ListViewTabPageConstructor; - friend struct ::vl_workflow_global::__vwsnf85_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf86_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf87_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf88_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf89_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf90_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf91_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__; -#ifndef VCZH_DEBUG_NO_REFLECTION - friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; -#endif - public: - ListViewTabPage(); - void __vwsn_instance_ctor_(); - ~ListViewTabPage(); - }; - - class MainWindowConstructor : public ::vl::Object, public ::vl::reflection::Description - { -#ifndef VCZH_DEBUG_NO_REFLECTION - friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; -#endif - protected: - ::demo::MainWindow* self = static_cast<::demo::MainWindow*>(nullptr); - ::vl::presentation::controls::GuiTab* __vwsn_precompile_0 = static_cast<::vl::presentation::controls::GuiTab*>(nullptr); - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_1 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); - ::vl::presentation::controls::GuiTabPage* __vwsn_precompile_2 = static_cast<::vl::presentation::controls::GuiTabPage*>(nullptr); - ::vl::presentation::controls::GuiTab* __vwsn_precompile_3 = static_cast<::vl::presentation::controls::GuiTab*>(nullptr); - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_4 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); - ::demo::TextListTabPage* __vwsn_precompile_5 = static_cast<::demo::TextListTabPage*>(nullptr); - ::demo::ListViewTabPage* __vwsn_precompile_6 = static_cast<::demo::ListViewTabPage*>(nullptr); - ::demo::TreeViewTabPage* __vwsn_precompile_7 = static_cast<::demo::TreeViewTabPage*>(nullptr); - ::demo::DataGridTabPage* __vwsn_precompile_8 = static_cast<::demo::DataGridTabPage*>(nullptr); - ::demo::RepeatTabPage* __vwsn_precompile_9 = static_cast<::demo::RepeatTabPage*>(nullptr); - ::demo::DocumentTabPage* __vwsn_precompile_10 = static_cast<::demo::DocumentTabPage*>(nullptr); - ::demo::TextBoxTabPage* __vwsn_precompile_11 = static_cast<::demo::TextBoxTabPage*>(nullptr); - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_12 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); - void __vwsn_initialize_instance_(::demo::MainWindow* __vwsn_this_); - public: - MainWindowConstructor(); - }; - - class RepeatTabPageConstructor : public ::vl::Object, public ::vl::reflection::Description - { - friend struct ::vl_workflow_global::__vwsnf94_Demo_demo_RepeatTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf95_Demo_demo_RepeatTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf96_Demo_demo_RepeatTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf97_Demo_demo_RepeatTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf98_Demo_demo_RepeatTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf99_Demo_demo_RepeatTabPageConstructor___vwsn_initialize_instance__; -#ifndef VCZH_DEBUG_NO_REFLECTION - friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; -#endif - protected: - ::demo::RepeatTabPage* self = static_cast<::demo::RepeatTabPage*>(nullptr); - ::vl::presentation::compositions::GuiRepeatStackComposition* repeatStack = static_cast<::vl::presentation::compositions::GuiRepeatStackComposition*>(nullptr); - ::vl::presentation::compositions::GuiRepeatFlowComposition* repeatFlow = static_cast<::vl::presentation::compositions::GuiRepeatFlowComposition*>(nullptr); - ::vl::presentation::compositions::GuiTableComposition* __vwsn_precompile_0 = static_cast<::vl::presentation::compositions::GuiTableComposition*>(nullptr); - ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_1 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); - ::vl::presentation::controls::GuiTab* __vwsn_precompile_2 = static_cast<::vl::presentation::controls::GuiTab*>(nullptr); - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_3 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); - ::vl::presentation::controls::GuiTabPage* __vwsn_precompile_4 = static_cast<::vl::presentation::controls::GuiTabPage*>(nullptr); - ::vl::presentation::controls::GuiTabPage* __vwsn_precompile_5 = static_cast<::vl::presentation::controls::GuiTabPage*>(nullptr); - ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_6 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); - ::vl::presentation::compositions::GuiStackComposition* __vwsn_precompile_7 = static_cast<::vl::presentation::compositions::GuiStackComposition*>(nullptr); - ::vl::presentation::compositions::GuiStackItemComposition* __vwsn_precompile_8 = static_cast<::vl::presentation::compositions::GuiStackItemComposition*>(nullptr); - ::vl::presentation::controls::GuiButton* __vwsn_precompile_9 = static_cast<::vl::presentation::controls::GuiButton*>(nullptr); - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_10 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); - ::vl::presentation::compositions::GuiStackItemComposition* __vwsn_precompile_11 = static_cast<::vl::presentation::compositions::GuiStackItemComposition*>(nullptr); - ::vl::presentation::controls::GuiButton* __vwsn_precompile_12 = static_cast<::vl::presentation::controls::GuiButton*>(nullptr); - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_13 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); - ::vl::presentation::compositions::GuiStackItemComposition* __vwsn_precompile_14 = static_cast<::vl::presentation::compositions::GuiStackItemComposition*>(nullptr); - ::vl::presentation::controls::GuiButton* __vwsn_precompile_15 = static_cast<::vl::presentation::controls::GuiButton*>(nullptr); - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_16 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); - ::vl::presentation::compositions::GuiStackItemComposition* __vwsn_precompile_17 = static_cast<::vl::presentation::compositions::GuiStackItemComposition*>(nullptr); - ::vl::presentation::controls::GuiButton* __vwsn_precompile_18 = static_cast<::vl::presentation::controls::GuiButton*>(nullptr); - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_19 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); - void __vwsn_initialize_instance_(::demo::RepeatTabPage* __vwsn_this_); - public: - RepeatTabPageConstructor(); - }; - - class RepeatTabPage : public ::vl::presentation::controls::GuiTabPage, public ::demo::RepeatTabPageConstructor, public ::vl::reflection::Description - { - friend class ::demo::RepeatTabPageConstructor; - friend struct ::vl_workflow_global::__vwsnf94_Demo_demo_RepeatTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf95_Demo_demo_RepeatTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf96_Demo_demo_RepeatTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf97_Demo_demo_RepeatTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf98_Demo_demo_RepeatTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf99_Demo_demo_RepeatTabPageConstructor___vwsn_initialize_instance__; -#ifndef VCZH_DEBUG_NO_REFLECTION - friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; -#endif - public: - ::vl::vint counter = static_cast<::vl::vint>(0); - ::vl::Ptr<::vl::reflection::description::IValueObservableList> itemsToBind = ::vl::reflection::description::IValueObservableList::Create(); - ::vl::WString ToText_1to9(::vl::vint i); - ::vl::WString ToText_11to19(::vl::vint i); - ::vl::WString NumberToText_1To99(::vl::vint i); - ::vl::WString NumberToText_0to999(::vl::vint i); - ::vl::WString NumberToText(::vl::vint i); - RepeatTabPage(); - ~RepeatTabPage(); - }; - - class TextListTabPageConstructor : public ::vl::Object, public ::vl::reflection::Description - { - friend struct ::vl_workflow_global::__vwsnf100_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf101_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf102_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf103_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf104_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf105_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf106_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__; -#ifndef VCZH_DEBUG_NO_REFLECTION - friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; -#endif - protected: - ::demo::TextListTabPage* self = static_cast<::demo::TextListTabPage*>(nullptr); - ::vl::presentation::controls::GuiComboBoxListControl* comboView = static_cast<::vl::presentation::controls::GuiComboBoxListControl*>(nullptr); - ::vl::presentation::controls::GuiTextList* textList = static_cast<::vl::presentation::controls::GuiTextList*>(nullptr); - ::vl::presentation::controls::GuiBindableTextList* bindableTextList = static_cast<::vl::presentation::controls::GuiBindableTextList*>(nullptr); - ::vl::presentation::compositions::GuiTableComposition* __vwsn_precompile_0 = static_cast<::vl::presentation::compositions::GuiTableComposition*>(nullptr); - ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_1 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); - ::vl::presentation::controls::GuiTextList* __vwsn_precompile_2 = static_cast<::vl::presentation::controls::GuiTextList*>(nullptr); - ::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_3 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(); - ::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_4 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(); - ::vl::Ptr<::vl::presentation::controls::list::TextItem> __vwsn_precompile_5 = ::vl::Ptr<::vl::presentation::controls::list::TextItem>(); - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_6 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); - ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_7 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_8 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); - ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_9 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); - ::vl::presentation::compositions::GuiStackComposition* __vwsn_precompile_10 = static_cast<::vl::presentation::compositions::GuiStackComposition*>(nullptr); - ::vl::presentation::compositions::GuiStackItemComposition* __vwsn_precompile_11 = static_cast<::vl::presentation::compositions::GuiStackItemComposition*>(nullptr); - ::vl::presentation::controls::GuiButton* __vwsn_precompile_12 = static_cast<::vl::presentation::controls::GuiButton*>(nullptr); - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_13 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); - ::vl::presentation::compositions::GuiStackItemComposition* __vwsn_precompile_14 = static_cast<::vl::presentation::compositions::GuiStackItemComposition*>(nullptr); - ::vl::presentation::controls::GuiButton* __vwsn_precompile_15 = static_cast<::vl::presentation::controls::GuiButton*>(nullptr); - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_16 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); - ::vl::presentation::compositions::GuiStackItemComposition* __vwsn_precompile_17 = static_cast<::vl::presentation::compositions::GuiStackItemComposition*>(nullptr); - ::vl::presentation::controls::GuiButton* __vwsn_precompile_18 = static_cast<::vl::presentation::controls::GuiButton*>(nullptr); - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_19 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); - ::vl::presentation::compositions::GuiStackItemComposition* __vwsn_precompile_20 = static_cast<::vl::presentation::compositions::GuiStackItemComposition*>(nullptr); - ::vl::presentation::controls::GuiButton* __vwsn_precompile_21 = static_cast<::vl::presentation::controls::GuiButton*>(nullptr); - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_22 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); - ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_23 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_24 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); - void __vwsn_initialize_instance_(::demo::TextListTabPage* __vwsn_this_); - public: - TextListTabPageConstructor(); - }; - - class TextListTabPage : public ::vl::presentation::controls::GuiTabPage, public ::demo::TextListTabPageConstructor, public ::vl::reflection::Description - { - friend class ::demo::TextListTabPageConstructor; - friend struct ::vl_workflow_global::__vwsnf100_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf101_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf102_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf103_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf104_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf105_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf106_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__; -#ifndef VCZH_DEBUG_NO_REFLECTION - friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; -#endif - public: - ::vl::vint counter = static_cast<::vl::vint>(0); - ::vl::Ptr<::vl::reflection::description::IValueObservableList> itemsToBind = ::vl::reflection::description::IValueObservableList::Create(); - TextListTabPage(); - ~TextListTabPage(); - }; - - class TreeViewTabPageConstructor : public ::vl::Object, public ::vl::reflection::Description - { - friend struct ::vl_workflow_global::__vwsnf107_Demo_demo_TreeViewTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf108_Demo_demo_TreeViewTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf109_Demo_demo_TreeViewTabPageConstructor___vwsn_initialize_instance__; -#ifndef VCZH_DEBUG_NO_REFLECTION - friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; -#endif - protected: - ::demo::TreeViewTabPage* self = static_cast<::demo::TreeViewTabPage*>(nullptr); - ::vl::presentation::controls::GuiTreeView* treeView = static_cast<::vl::presentation::controls::GuiTreeView*>(nullptr); - ::vl::presentation::controls::GuiBindableTreeView* bindableTreeView = static_cast<::vl::presentation::controls::GuiBindableTreeView*>(nullptr); - ::vl::presentation::compositions::GuiTableComposition* __vwsn_precompile_0 = static_cast<::vl::presentation::compositions::GuiTableComposition*>(nullptr); - ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_1 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); - ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_2 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(); - ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_3 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(); - ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_4 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(); - ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_5 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(); - ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_6 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(); - ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_7 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(); - ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_8 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(); - ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_9 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(); - ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_10 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(); - ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_11 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(); - ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_12 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(); - ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_13 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(); - ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_14 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(); - ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_15 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(); - ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_16 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(); - ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_17 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(); - ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_18 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(); - ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_19 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(); - ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_20 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(); - ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_21 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(); - ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_22 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(); - ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_23 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(); - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_24 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); - ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_25 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_26 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); - ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_27 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(); - ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_28 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(); - ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_29 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(); - ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_30 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(); - ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_31 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(); - ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_32 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(); - ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_33 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(); - ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_34 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(); - ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_35 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(); - ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_36 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(); - ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_37 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(); - ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_38 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(); - ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_39 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(); - ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_40 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(); - ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_41 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(); - ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_42 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(); - ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_43 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(); - ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_44 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(); - ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_45 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(); - ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_46 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(); - ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_47 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(); - ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_48 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(); - ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> __vwsn_precompile_49 = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(); - void __vwsn_initialize_instance_(::demo::TreeViewTabPage* __vwsn_this_); - public: - TreeViewTabPageConstructor(); - }; - - class TreeViewTabPage : public ::vl::presentation::controls::GuiTabPage, public ::demo::TreeViewTabPageConstructor, public ::vl::reflection::Description - { - friend class ::demo::TreeViewTabPageConstructor; - friend struct ::vl_workflow_global::__vwsnf107_Demo_demo_TreeViewTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf108_Demo_demo_TreeViewTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf109_Demo_demo_TreeViewTabPageConstructor___vwsn_initialize_instance__; -#ifndef VCZH_DEBUG_NO_REFLECTION - friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; -#endif - public: - ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider> nodesToBind = ::vl::Ptr<::vl::presentation::controls::tree::MemoryNodeProvider>(); - TreeViewTabPage(); - void __vwsn_instance_ctor_(); - ~TreeViewTabPage(); - }; - - class DateEditorConstructor : public ::vl::Object, public ::vl::reflection::Description - { - friend class ::vl_workflow_global::__vwsnc36_Demo_demo_DateEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc37_Demo_demo_DateEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend struct ::vl_workflow_global::__vwsnf110_Demo_demo_DateEditorConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf111_Demo_demo_DateEditorConstructor___vwsn_initialize_instance__; -#ifndef VCZH_DEBUG_NO_REFLECTION - friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; -#endif - protected: - ::demo::DateEditor* self = static_cast<::demo::DateEditor*>(nullptr); - ::vl::presentation::controls::GuiDateComboBox* comboBox = static_cast<::vl::presentation::controls::GuiDateComboBox*>(nullptr); - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_0 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); - void __vwsn_initialize_instance_(::demo::DateEditor* __vwsn_this_); - public: - DateEditorConstructor(); - }; - - class DateEditor : public ::vl::presentation::templates::GuiGridEditorTemplate, public ::demo::DateEditorConstructor, public ::vl::reflection::Description - { - friend class ::demo::DateEditorConstructor; - friend class ::vl_workflow_global::__vwsnc36_Demo_demo_DateEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc37_Demo_demo_DateEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend struct ::vl_workflow_global::__vwsnf110_Demo_demo_DateEditorConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf111_Demo_demo_DateEditorConstructor___vwsn_initialize_instance__; -#ifndef VCZH_DEBUG_NO_REFLECTION - friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; -#endif - public: - DateEditor(); - ~DateEditor(); - }; - - class DateFilterConstructor : public ::vl::Object, public ::vl::reflection::Description - { - friend class ::vl_workflow_global::__vwsnc38_Demo_demo_DateFilterConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc39_Demo_demo_DateFilterConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend struct ::vl_workflow_global::__vwsnf112_Demo_demo_DateFilterConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf113_Demo_demo_DateFilterConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf114_Demo_demo_DateFilterConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf115_Demo_demo_DateFilterConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf116_Demo_demo_DateFilterConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf117_Demo_demo_DateFilterConstructor___vwsn_initialize_instance__; -#ifndef VCZH_DEBUG_NO_REFLECTION - friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; -#endif - protected: - ::demo::DateFilter* self = static_cast<::demo::DateFilter*>(nullptr); - ::vl::presentation::controls::GuiSelectableButton* checkFrom = static_cast<::vl::presentation::controls::GuiSelectableButton*>(nullptr); - ::vl::presentation::controls::GuiDateComboBox* dateFrom = static_cast<::vl::presentation::controls::GuiDateComboBox*>(nullptr); - ::vl::presentation::controls::GuiSelectableButton* checkTo = static_cast<::vl::presentation::controls::GuiSelectableButton*>(nullptr); - ::vl::presentation::controls::GuiDateComboBox* dateTo = static_cast<::vl::presentation::controls::GuiDateComboBox*>(nullptr); - ::vl::presentation::compositions::GuiTableComposition* __vwsn_precompile_0 = static_cast<::vl::presentation::compositions::GuiTableComposition*>(nullptr); - ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_1 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); - ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_2 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_3 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); - ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_4 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); - ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_5 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_6 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); - void __vwsn_initialize_instance_(::demo::DateFilter* __vwsn_this_); - public: - DateFilterConstructor(); - }; - - class DateFilter : public ::vl::presentation::controls::GuiCustomControl, public ::demo::DateFilterConstructor, public ::vl::reflection::Description - { - friend class ::vl_workflow_global::__vwsnc40_Demo_demo_DateFilter___vwsn_instance_ctor___vl_presentation_controls_list_IDataFilter; - friend class ::demo::DateFilterConstructor; - friend class ::vl_workflow_global::__vwsnc38_Demo_demo_DateFilterConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc39_Demo_demo_DateFilterConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend struct ::vl_workflow_global::__vwsnf112_Demo_demo_DateFilterConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf113_Demo_demo_DateFilterConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf114_Demo_demo_DateFilterConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf115_Demo_demo_DateFilterConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf116_Demo_demo_DateFilterConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf117_Demo_demo_DateFilterConstructor___vwsn_initialize_instance__; -#ifndef VCZH_DEBUG_NO_REFLECTION - friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; -#endif - private: - ::vl::presentation::controls::list::IDataProcessorCallback* callback = static_cast<::vl::presentation::controls::list::IDataProcessorCallback*>(nullptr); - void UpdateFilter(); - public: - ::vl::Ptr<::vl::presentation::controls::list::IDataFilter> __vwsn_prop_Filter = ::vl::Ptr<::vl::presentation::controls::list::IDataFilter>(); - ::vl::Ptr<::vl::presentation::controls::list::IDataFilter> GetFilter(); - void SetFilter(::vl::Ptr<::vl::presentation::controls::list::IDataFilter> __vwsn_value_); - DateFilter(); - void __vwsn_instance_ctor_(); - ~DateFilter(); - }; - - class TextEditorConstructor : public ::vl::Object, public ::vl::reflection::Description - { - friend class ::vl_workflow_global::__vwsnc41_Demo_demo_TextEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc42_Demo_demo_TextEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend struct ::vl_workflow_global::__vwsnf118_Demo_demo_TextEditorConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf119_Demo_demo_TextEditorConstructor___vwsn_initialize_instance__; -#ifndef VCZH_DEBUG_NO_REFLECTION - friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; -#endif - protected: - ::demo::TextEditor* self = static_cast<::demo::TextEditor*>(nullptr); - ::vl::presentation::controls::GuiSinglelineTextBox* textBox = static_cast<::vl::presentation::controls::GuiSinglelineTextBox*>(nullptr); - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_0 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); - void __vwsn_initialize_instance_(::demo::TextEditor* __vwsn_this_); - public: - TextEditorConstructor(); - }; - - class TextEditor : public ::vl::presentation::templates::GuiGridEditorTemplate, public ::demo::TextEditorConstructor, public ::vl::reflection::Description - { - friend class ::demo::TextEditorConstructor; - friend class ::vl_workflow_global::__vwsnc41_Demo_demo_TextEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc42_Demo_demo_TextEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend struct ::vl_workflow_global::__vwsnf118_Demo_demo_TextEditorConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf119_Demo_demo_TextEditorConstructor___vwsn_initialize_instance__; -#ifndef VCZH_DEBUG_NO_REFLECTION - friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; -#endif - public: - TextEditor(); - ~TextEditor(); - }; - - class CategoryDisplayerConstructor : public ::vl::Object, public ::vl::reflection::Description - { - friend class ::vl_workflow_global::__vwsnc43_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc44_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc45_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend struct ::vl_workflow_global::__vwsnf120_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf121_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf122_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance__; -#ifndef VCZH_DEBUG_NO_REFLECTION - friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; -#endif - protected: - ::demo::CategoryDisplayer* self = static_cast<::demo::CategoryDisplayer*>(nullptr); - ::vl::presentation::compositions::GuiTableComposition* __vwsn_precompile_0 = static_cast<::vl::presentation::compositions::GuiTableComposition*>(nullptr); - ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_1 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); - ::vl::Ptr<::vl::presentation::elements::GuiSolidBorderElement> __vwsn_precompile_2 = ::vl::Ptr<::vl::presentation::elements::GuiSolidBorderElement>(); - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_3 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); - ::vl::Ptr<::vl::presentation::elements::GuiSolidBackgroundElement> __vwsn_precompile_4 = ::vl::Ptr<::vl::presentation::elements::GuiSolidBackgroundElement>(); - ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_5 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); - ::vl::Ptr<::vl::presentation::elements::GuiSolidLabelElement> __vwsn_precompile_6 = ::vl::Ptr<::vl::presentation::elements::GuiSolidLabelElement>(); - void __vwsn_initialize_instance_(::demo::CategoryDisplayer* __vwsn_this_); - public: - CategoryDisplayerConstructor(); - }; - - class CategoryDisplayer : public ::vl::presentation::controls::GuiCustomControl, public ::demo::CategoryDisplayerConstructor, public ::vl::reflection::Description - { - friend class ::demo::CategoryDisplayerConstructor; - friend class ::vl_workflow_global::__vwsnc43_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc44_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc45_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend struct ::vl_workflow_global::__vwsnf120_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf121_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf122_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance__; -#ifndef VCZH_DEBUG_NO_REFLECTION - friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; -#endif - public: - ::demo::MyCategory __vwsn_prop_Category = ::demo::MyCategory::Black; - ::demo::MyCategory GetCategory(); - void SetCategory(::demo::MyCategory __vwsn_value_); - ::vl::Event CategoryChanged; - CategoryDisplayer(); - ~CategoryDisplayer(); - }; - - class CategoryEditorConstructor : public ::vl::Object, public ::vl::reflection::Description - { - friend class ::vl_workflow_global::__vwsnc46_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc47_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend struct ::vl_workflow_global::__vwsnf123_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf124_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf125_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf126_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance__; -#ifndef VCZH_DEBUG_NO_REFLECTION - friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; -#endif - protected: - ::demo::CategoryEditor* self = static_cast<::demo::CategoryEditor*>(nullptr); - ::vl::presentation::controls::GuiComboBoxListControl* comboBox = static_cast<::vl::presentation::controls::GuiComboBoxListControl*>(nullptr); - ::vl::presentation::controls::GuiBindableTextList* __vwsn_precompile_0 = static_cast<::vl::presentation::controls::GuiBindableTextList*>(nullptr); - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_1 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); - void __vwsn_initialize_instance_(::demo::CategoryEditor* __vwsn_this_); - public: - CategoryEditorConstructor(); - }; - - class CategoryEditor : public ::vl::presentation::templates::GuiGridEditorTemplate, public ::demo::CategoryEditorConstructor, public ::vl::reflection::Description - { - friend class ::demo::CategoryEditorConstructor; - friend class ::vl_workflow_global::__vwsnc46_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc47_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend struct ::vl_workflow_global::__vwsnf123_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf124_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf125_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf126_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance__; -#ifndef VCZH_DEBUG_NO_REFLECTION - friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; -#endif - public: - ::vl::Ptr<::vl::reflection::description::IValueList> items = (::vl::__vwsn::CreateList().Add(::demo::MyCategory::Black).Add(::demo::MyCategory::Red).Add(::demo::MyCategory::Lime).Add(::demo::MyCategory::Blue).Add(::demo::MyCategory::White)).list; - CategoryEditor(); - ~CategoryEditor(); - }; - - class CategoryItemTemplateConstructor : public ::vl::Object, public ::vl::reflection::Description - { - friend class ::vl_workflow_global::__vwsnc48_Demo_demo_CategoryItemTemplateConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend struct ::vl_workflow_global::__vwsnf127_Demo_demo_CategoryItemTemplateConstructor___vwsn_initialize_instance__; -#ifndef VCZH_DEBUG_NO_REFLECTION - friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; -#endif - protected: - ::demo::CategoryItemTemplate* self = static_cast<::demo::CategoryItemTemplate*>(nullptr); - ::demo::MyCategory SelectedCategory = static_cast<::demo::MyCategory>(static_cast<::vl::vuint64_t>(static_cast<::vl::vint>(0))); - ::demo::CategoryDisplayer* __vwsn_precompile_0 = static_cast<::demo::CategoryDisplayer*>(nullptr); - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_1 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); - void __vwsn_initialize_instance_(::demo::CategoryItemTemplate* __vwsn_this_); - public: - CategoryItemTemplateConstructor(); - }; - - class CategoryItemTemplate : public ::vl::presentation::templates::GuiTextListItemTemplate, public ::demo::CategoryItemTemplateConstructor, public ::vl::reflection::Description - { - friend class ::demo::CategoryItemTemplateConstructor; - friend class ::vl_workflow_global::__vwsnc48_Demo_demo_CategoryItemTemplateConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend struct ::vl_workflow_global::__vwsnf127_Demo_demo_CategoryItemTemplateConstructor___vwsn_initialize_instance__; -#ifndef VCZH_DEBUG_NO_REFLECTION - friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; -#endif - public: - ::demo::MyCategory __vwsn_parameter_SelectedCategory = static_cast<::demo::MyCategory>(static_cast<::vl::vuint64_t>(static_cast<::vl::vint>(0))); - ::demo::MyCategory GetSelectedCategory(); - CategoryItemTemplate(::demo::MyCategory __vwsn_ctor_parameter_SelectedCategory); - ~CategoryItemTemplate(); - }; - - class CategoryVisualizerConstructor : public ::vl::Object, public ::vl::reflection::Description - { - friend class ::vl_workflow_global::__vwsnc49_Demo_demo_CategoryVisualizerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc50_Demo_demo_CategoryVisualizerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend struct ::vl_workflow_global::__vwsnf128_Demo_demo_CategoryVisualizerConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf129_Demo_demo_CategoryVisualizerConstructor___vwsn_initialize_instance__; -#ifndef VCZH_DEBUG_NO_REFLECTION - friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; -#endif - protected: - ::demo::CategoryVisualizer* self = static_cast<::demo::CategoryVisualizer*>(nullptr); - ::demo::CategoryDisplayer* __vwsn_precompile_0 = static_cast<::demo::CategoryDisplayer*>(nullptr); - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_1 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); - void __vwsn_initialize_instance_(::demo::CategoryVisualizer* __vwsn_this_); - public: - CategoryVisualizerConstructor(); - }; - - class CategoryVisualizer : public ::vl::presentation::templates::GuiGridVisualizerTemplate, public ::demo::CategoryVisualizerConstructor, public ::vl::reflection::Description - { - friend class ::demo::CategoryVisualizerConstructor; - friend class ::vl_workflow_global::__vwsnc49_Demo_demo_CategoryVisualizerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc50_Demo_demo_CategoryVisualizerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend struct ::vl_workflow_global::__vwsnf128_Demo_demo_CategoryVisualizerConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf129_Demo_demo_CategoryVisualizerConstructor___vwsn_initialize_instance__; -#ifndef VCZH_DEBUG_NO_REFLECTION - friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; -#endif - public: - CategoryVisualizer(); - ~CategoryVisualizer(); - }; - - class GenderDisplayerConstructor : public ::vl::Object, public ::vl::reflection::Description - { - friend class ::vl_workflow_global::__vwsnc51_Demo_demo_GenderDisplayerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend struct ::vl_workflow_global::__vwsnf130_Demo_demo_GenderDisplayerConstructor___vwsn_initialize_instance__; -#ifndef VCZH_DEBUG_NO_REFLECTION - friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; -#endif - protected: - ::demo::GenderDisplayer* self = static_cast<::demo::GenderDisplayer*>(nullptr); - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_0 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); - ::vl::Ptr<::vl::presentation::elements::GuiImageFrameElement> __vwsn_precompile_1 = ::vl::Ptr<::vl::presentation::elements::GuiImageFrameElement>(); - void __vwsn_initialize_instance_(::demo::GenderDisplayer* __vwsn_this_); - public: - GenderDisplayerConstructor(); - }; - - class GenderDisplayer : public ::vl::presentation::controls::GuiCustomControl, public ::demo::GenderDisplayerConstructor, public ::vl::reflection::Description - { - friend class ::demo::GenderDisplayerConstructor; - friend class ::vl_workflow_global::__vwsnc51_Demo_demo_GenderDisplayerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend struct ::vl_workflow_global::__vwsnf130_Demo_demo_GenderDisplayerConstructor___vwsn_initialize_instance__; -#ifndef VCZH_DEBUG_NO_REFLECTION - friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; -#endif - public: - ::demo::MyGender __vwsn_prop_Gender = ::demo::MyGender::Male; - ::demo::MyGender GetGender(); - void SetGender(::demo::MyGender __vwsn_value_); - ::vl::Event GenderChanged; - GenderDisplayer(); - ~GenderDisplayer(); - }; - - class GenderEditorConstructor : public ::vl::Object, public ::vl::reflection::Description - { - friend class ::vl_workflow_global::__vwsnc52_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc53_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend struct ::vl_workflow_global::__vwsnf131_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf132_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf133_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf134_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance__; -#ifndef VCZH_DEBUG_NO_REFLECTION - friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; -#endif - protected: - ::demo::GenderEditor* self = static_cast<::demo::GenderEditor*>(nullptr); - ::vl::presentation::controls::GuiComboBoxListControl* comboBox = static_cast<::vl::presentation::controls::GuiComboBoxListControl*>(nullptr); - ::vl::presentation::controls::GuiBindableTextList* __vwsn_precompile_0 = static_cast<::vl::presentation::controls::GuiBindableTextList*>(nullptr); - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_1 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); - void __vwsn_initialize_instance_(::demo::GenderEditor* __vwsn_this_); - public: - GenderEditorConstructor(); - }; - - class GenderEditor : public ::vl::presentation::templates::GuiGridEditorTemplate, public ::demo::GenderEditorConstructor, public ::vl::reflection::Description - { - friend class ::demo::GenderEditorConstructor; - friend class ::vl_workflow_global::__vwsnc52_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc53_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend struct ::vl_workflow_global::__vwsnf131_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf132_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf133_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf134_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance__; -#ifndef VCZH_DEBUG_NO_REFLECTION - friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; -#endif - public: - ::vl::Ptr<::vl::reflection::description::IValueList> items = (::vl::__vwsn::CreateList().Add(::demo::MyGender::Male).Add(::demo::MyGender::Female)).list; - GenderEditor(); - ~GenderEditor(); - }; - - class GenderItemTemplateConstructor : public ::vl::Object, public ::vl::reflection::Description - { -#ifndef VCZH_DEBUG_NO_REFLECTION - friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; -#endif - protected: - ::demo::MyGender SelectedGender = static_cast<::demo::MyGender>(static_cast<::vl::vuint64_t>(static_cast<::vl::vint>(0))); - ::demo::GenderItemTemplate* __vwsn_precompile_0 = static_cast<::demo::GenderItemTemplate*>(nullptr); - ::demo::GenderDisplayer* __vwsn_precompile_1 = static_cast<::demo::GenderDisplayer*>(nullptr); - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_2 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); - void __vwsn_initialize_instance_(::demo::GenderItemTemplate* __vwsn_this_); - public: - GenderItemTemplateConstructor(); - }; - - class GenderItemTemplate : public ::vl::presentation::templates::GuiTextListItemTemplate, public ::demo::GenderItemTemplateConstructor, public ::vl::reflection::Description - { - friend class ::demo::GenderItemTemplateConstructor; -#ifndef VCZH_DEBUG_NO_REFLECTION - friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; -#endif - public: - ::demo::MyGender __vwsn_parameter_SelectedGender = static_cast<::demo::MyGender>(static_cast<::vl::vuint64_t>(static_cast<::vl::vint>(0))); - ::demo::MyGender GetSelectedGender(); - GenderItemTemplate(::demo::MyGender __vwsn_ctor_parameter_SelectedGender); - ~GenderItemTemplate(); - }; - - class GenderVisualizerConstructor : public ::vl::Object, public ::vl::reflection::Description - { - friend class ::vl_workflow_global::__vwsnc54_Demo_demo_GenderVisualizerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend struct ::vl_workflow_global::__vwsnf135_Demo_demo_GenderVisualizerConstructor___vwsn_initialize_instance__; -#ifndef VCZH_DEBUG_NO_REFLECTION - friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; -#endif - protected: - ::demo::GenderVisualizer* self = static_cast<::demo::GenderVisualizer*>(nullptr); - ::demo::GenderDisplayer* __vwsn_precompile_0 = static_cast<::demo::GenderDisplayer*>(nullptr); - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_1 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); - void __vwsn_initialize_instance_(::demo::GenderVisualizer* __vwsn_this_); - public: - GenderVisualizerConstructor(); - }; - - class GenderVisualizer : public ::vl::presentation::templates::GuiGridVisualizerTemplate, public ::demo::GenderVisualizerConstructor, public ::vl::reflection::Description - { - friend class ::demo::GenderVisualizerConstructor; - friend class ::vl_workflow_global::__vwsnc54_Demo_demo_GenderVisualizerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend struct ::vl_workflow_global::__vwsnf135_Demo_demo_GenderVisualizerConstructor___vwsn_initialize_instance__; -#ifndef VCZH_DEBUG_NO_REFLECTION - friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; -#endif - public: - GenderVisualizer(); - ~GenderVisualizer(); - }; - - class HyperlinkWindowConstructor : public ::vl::Object, public ::vl::reflection::Description - { - friend struct ::vl_workflow_global::__vwsnf136_Demo_demo_HyperlinkWindowConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf137_Demo_demo_HyperlinkWindowConstructor___vwsn_initialize_instance__; -#ifndef VCZH_DEBUG_NO_REFLECTION - friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; -#endif - protected: - ::demo::HyperlinkWindow* self = static_cast<::demo::HyperlinkWindow*>(nullptr); - ::vl::presentation::controls::GuiSinglelineTextBox* textUrl = static_cast<::vl::presentation::controls::GuiSinglelineTextBox*>(nullptr); - ::vl::presentation::compositions::GuiTableComposition* __vwsn_precompile_0 = static_cast<::vl::presentation::compositions::GuiTableComposition*>(nullptr); - ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_1 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); - ::vl::Ptr<::vl::presentation::elements::GuiSolidLabelElement> __vwsn_precompile_2 = ::vl::Ptr<::vl::presentation::elements::GuiSolidLabelElement>(); - ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_3 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_4 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); - ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_5 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); - ::vl::presentation::controls::GuiButton* __vwsn_precompile_6 = static_cast<::vl::presentation::controls::GuiButton*>(nullptr); - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_7 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); - ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_8 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); - ::vl::presentation::controls::GuiButton* __vwsn_precompile_9 = static_cast<::vl::presentation::controls::GuiButton*>(nullptr); - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_10 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_11 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); - void __vwsn_initialize_instance_(::demo::HyperlinkWindow* __vwsn_this_); - public: - HyperlinkWindowConstructor(); - }; - - class HyperlinkWindow : public ::vl::presentation::controls::GuiWindow, public ::demo::HyperlinkWindowConstructor, public ::vl::reflection::Description - { - friend class ::demo::HyperlinkWindowConstructor; - friend struct ::vl_workflow_global::__vwsnf136_Demo_demo_HyperlinkWindowConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf137_Demo_demo_HyperlinkWindowConstructor___vwsn_initialize_instance__; -#ifndef VCZH_DEBUG_NO_REFLECTION - friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; -#endif - public: - ::vl::Nullable<::vl::WString> __vwsn_prop_Url = ::vl::Nullable<::vl::WString>(); - ::vl::Nullable<::vl::WString> GetUrl(); - void SetUrl(const ::vl::Nullable<::vl::WString>& __vwsn_value_); - ::vl::Event UrlChanged; - HyperlinkWindow(); - ~HyperlinkWindow(); - }; - - class RepeatItemTemplateConstructor : public ::vl::Object, public ::vl::reflection::Description - { - friend class ::vl_workflow_global::__vwsnc55_Demo_demo_RepeatItemTemplateConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend struct ::vl_workflow_global::__vwsnf138_Demo_demo_RepeatItemTemplateConstructor___vwsn_initialize_instance__; -#ifndef VCZH_DEBUG_NO_REFLECTION - friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; -#endif - protected: - ::vl::Ptr<::demo::MyTextItem> ViewModel = ::vl::Ptr<::demo::MyTextItem>(); - ::demo::RepeatItemTemplate* __vwsn_precompile_0 = static_cast<::demo::RepeatItemTemplate*>(nullptr); - ::vl::presentation::controls::GuiButton* __vwsn_precompile_1 = static_cast<::vl::presentation::controls::GuiButton*>(nullptr); - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_2 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); - void __vwsn_initialize_instance_(::demo::RepeatItemTemplate* __vwsn_this_); - public: - RepeatItemTemplateConstructor(); - }; - - class RepeatItemTemplate : public ::vl::presentation::templates::GuiControlTemplate, public ::demo::RepeatItemTemplateConstructor, public ::vl::reflection::Description - { - friend class ::demo::RepeatItemTemplateConstructor; - friend class ::vl_workflow_global::__vwsnc55_Demo_demo_RepeatItemTemplateConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend struct ::vl_workflow_global::__vwsnf138_Demo_demo_RepeatItemTemplateConstructor___vwsn_initialize_instance__; -#ifndef VCZH_DEBUG_NO_REFLECTION - friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; -#endif - public: - ::vl::Ptr<::demo::MyTextItem> __vwsn_parameter_ViewModel = ::vl::Ptr<::demo::MyTextItem>(); - ::vl::Ptr<::demo::MyTextItem> GetViewModel(); - RepeatItemTemplate(::vl::Ptr<::demo::MyTextItem> __vwsn_ctor_parameter_ViewModel); - ~RepeatItemTemplate(); - }; - - class TextBoxTabPageConstructor : public ::vl::Object, public ::vl::reflection::Description - { - friend class ::vl_workflow_global::__vwsnc56_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend struct ::vl_workflow_global::__vwsnf139_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf140_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf141_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf142_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf143_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance__; -#ifndef VCZH_DEBUG_NO_REFLECTION - friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; -#endif - protected: - ::demo::TextBoxTabPage* self = static_cast<::demo::TextBoxTabPage*>(nullptr); - ::vl::presentation::controls::GuiSinglelineTextBox* textBoxS = static_cast<::vl::presentation::controls::GuiSinglelineTextBox*>(nullptr); - ::vl::presentation::controls::GuiMultilineTextBox* textBoxM = static_cast<::vl::presentation::controls::GuiMultilineTextBox*>(nullptr); - ::vl::presentation::controls::GuiDocumentLabel* documentTextBox = static_cast<::vl::presentation::controls::GuiDocumentLabel*>(nullptr); - ::vl::presentation::controls::GuiDocumentViewer* documentViewer = static_cast<::vl::presentation::controls::GuiDocumentViewer*>(nullptr); - ::vl::presentation::controls::GuiDocumentLabel* documentLabel = static_cast<::vl::presentation::controls::GuiDocumentLabel*>(nullptr); - ::vl::presentation::compositions::GuiTableComposition* __vwsn_precompile_0 = static_cast<::vl::presentation::compositions::GuiTableComposition*>(nullptr); - ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_1 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); - ::vl::presentation::controls::GuiTab* __vwsn_precompile_2 = static_cast<::vl::presentation::controls::GuiTab*>(nullptr); - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_3 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); - ::vl::presentation::controls::GuiTabPage* __vwsn_precompile_4 = static_cast<::vl::presentation::controls::GuiTabPage*>(nullptr); - ::vl::presentation::compositions::GuiTableComposition* __vwsn_precompile_5 = static_cast<::vl::presentation::compositions::GuiTableComposition*>(nullptr); - ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_6 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_7 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); - ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_8 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_9 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); - ::vl::presentation::controls::GuiTabPage* __vwsn_precompile_10 = static_cast<::vl::presentation::controls::GuiTabPage*>(nullptr); - ::vl::presentation::compositions::GuiTableComposition* __vwsn_precompile_11 = static_cast<::vl::presentation::compositions::GuiTableComposition*>(nullptr); - ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_12 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_13 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); - ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_14 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_15 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); - ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_16 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_17 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); - ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_18 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); - ::vl::presentation::controls::GuiButton* __vwsn_precompile_19 = static_cast<::vl::presentation::controls::GuiButton*>(nullptr); - ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_20 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); - ::vl::presentation::controls::GuiButton* __vwsn_precompile_21 = static_cast<::vl::presentation::controls::GuiButton*>(nullptr); - void __vwsn_initialize_instance_(::demo::TextBoxTabPage* __vwsn_this_); - public: - TextBoxTabPageConstructor(); - }; - - class TextBoxTabPage : public ::vl::presentation::controls::GuiTabPage, public ::demo::TextBoxTabPageConstructor, public ::vl::reflection::Description - { - friend class ::demo::TextBoxTabPageConstructor; - friend class ::vl_workflow_global::__vwsnc56_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; - friend struct ::vl_workflow_global::__vwsnf139_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf140_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf141_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf142_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance__; - friend struct ::vl_workflow_global::__vwsnf143_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance__; -#ifndef VCZH_DEBUG_NO_REFLECTION - friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; -#endif - protected: - bool flag = false; - public: - ::vl::Event OnMakeFontLarger; - ::vl::Event OnMakeFontSmaller; - protected: - void UpdateFont(::vl::presentation::FontProperties newFont); - public: - TextBoxTabPage(); - ~TextBoxTabPage(); - }; - - class MyTextItem : public ::vl::Object, public ::vl::reflection::Description - { -#ifndef VCZH_DEBUG_NO_REFLECTION - friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; -#endif - public: - ::vl::WString __vwsn_prop_Name = ::vl::WString(L"", false); - ::vl::WString GetName(); - void SetName(const ::vl::WString& __vwsn_value_); - bool __vwsn_prop_Checked = false; - bool GetChecked(); - void SetChecked(bool __vwsn_value_); - MyTextItem(); - }; - - class MyDataItem : public ::vl::Object, public ::vl::reflection::Description - { -#ifndef VCZH_DEBUG_NO_REFLECTION - friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; -#endif - public: - ::vl::WString __vwsn_prop_Name = ::vl::WString(L"", false); - ::vl::WString GetName(); - void SetName(const ::vl::WString& __vwsn_value_); - ::demo::MyGender __vwsn_prop_Gender = ::demo::MyGender::Male; - ::demo::MyGender GetGender(); - void SetGender(::demo::MyGender __vwsn_value_); - ::demo::MyCategory __vwsn_prop_Category = ::demo::MyCategory::White; - ::demo::MyCategory GetCategory(); - void SetCategory(::demo::MyCategory __vwsn_value_); - ::vl::DateTime __vwsn_prop_Birthday = ::vl::__vwsn::Parse<::vl::DateTime>(::vl::WString(L"2000-01-01 00:00:00.000", false)); - ::vl::DateTime GetBirthday(); - void SetBirthday(::vl::DateTime __vwsn_value_); - ::vl::WString __vwsn_prop_Website = ::vl::WString(L"", false); - ::vl::WString GetWebsite(); - void SetWebsite(const ::vl::WString& __vwsn_value_); - ::vl::Ptr<::vl::presentation::GuiImageData> __vwsn_prop_LargeImage = ::vl::Ptr<::vl::presentation::GuiImageData>(); - ::vl::Ptr<::vl::presentation::GuiImageData> GetLargeImage(); - void SetLargeImage(::vl::Ptr<::vl::presentation::GuiImageData> __vwsn_value_); - ::vl::Ptr<::vl::presentation::GuiImageData> __vwsn_prop_SmallImage = ::vl::Ptr<::vl::presentation::GuiImageData>(); - ::vl::Ptr<::vl::presentation::GuiImageData> GetSmallImage(); - void SetSmallImage(::vl::Ptr<::vl::presentation::GuiImageData> __vwsn_value_); - MyDataItem(); - MyDataItem(const ::vl::WString& name, ::demo::MyGender gender, ::demo::MyCategory category, ::vl::DateTime birthday, const ::vl::WString& website); - }; - -} -/*********************************************************************** -Global Variables and Functions -***********************************************************************/ - -namespace vl_workflow_global -{ - class Demo - { - public: - - void LoadListView(::vl::presentation::controls::GuiInstanceRootObject* root, const ::vl::Func)>& callback); - ::vl::WString ToString(::demo::MyCategory value); - ::vl::presentation::Color ToColor(::demo::MyCategory value); - ::vl::WString ToString(::demo::MyGender value); - ::vl::WString ToString(::vl::DateTime value); - ::vl::presentation::FontProperties ChangeFontSize(::vl::presentation::FontProperties oldFont, ::vl::vint deltaSize); - - static Demo& Instance(); - }; - -/*********************************************************************** -Closures -***********************************************************************/ - - struct __vwsnf100_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::TextListTabPageConstructor* __vwsnthis_0; - - __vwsnf100_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__(::demo::TextListTabPageConstructor* __vwsnctorthis_0); - - bool operator()(const ::vl::reflection::description::Value& __vwsn_item_, bool __vwsn_value_, bool __vwsn_update_) const; - }; - - struct __vwsnf101_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::TextListTabPageConstructor* __vwsnthis_0; - - __vwsnf101_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__(::demo::TextListTabPageConstructor* __vwsnctorthis_0); - - ::vl::WString operator()(const ::vl::reflection::description::Value& __vwsn_item_) const; - }; - - struct __vwsnf102_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::TextListTabPageConstructor* __vwsnthis_0; - - __vwsnf102_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__(::demo::TextListTabPageConstructor* __vwsnctorthis_0); - - void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; - }; - - struct __vwsnf103_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::TextListTabPageConstructor* __vwsnthis_0; - - __vwsnf103_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__(::demo::TextListTabPageConstructor* __vwsnctorthis_0); - - void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; - }; - - struct __vwsnf104_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::TextListTabPageConstructor* __vwsnthis_0; - - __vwsnf104_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__(::demo::TextListTabPageConstructor* __vwsnctorthis_0); - - void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; - }; - - struct __vwsnf105_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::TextListTabPageConstructor* __vwsnthis_0; - - __vwsnf105_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__(::demo::TextListTabPageConstructor* __vwsnctorthis_0); - - void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; - }; - - struct __vwsnf106_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::TextListTabPageConstructor* __vwsnthis_0; - - __vwsnf106_Demo_demo_TextListTabPageConstructor___vwsn_initialize_instance__(::demo::TextListTabPageConstructor* __vwsnctorthis_0); - - void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; - }; - - struct __vwsnf107_Demo_demo_TreeViewTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::TreeViewTabPageConstructor* __vwsnthis_0; - - __vwsnf107_Demo_demo_TreeViewTabPageConstructor___vwsn_initialize_instance__(::demo::TreeViewTabPageConstructor* __vwsnctorthis_0); - - ::vl::Ptr<::vl::reflection::description::IValueEnumerable> operator()(const ::vl::reflection::description::Value& __vwsn_item_) const; - }; - - struct __vwsnf108_Demo_demo_TreeViewTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::TreeViewTabPageConstructor* __vwsnthis_0; - - __vwsnf108_Demo_demo_TreeViewTabPageConstructor___vwsn_initialize_instance__(::demo::TreeViewTabPageConstructor* __vwsnctorthis_0); - - ::vl::Ptr<::vl::presentation::GuiImageData> operator()(const ::vl::reflection::description::Value& __vwsn_item_) const; - }; - - struct __vwsnf109_Demo_demo_TreeViewTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::TreeViewTabPageConstructor* __vwsnthis_0; - - __vwsnf109_Demo_demo_TreeViewTabPageConstructor___vwsn_initialize_instance__(::demo::TreeViewTabPageConstructor* __vwsnctorthis_0); - - ::vl::WString operator()(const ::vl::reflection::description::Value& __vwsn_item_) const; - }; - - struct __vwsnf10_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DataGridTabPageConstructor* __vwsnthis_0; - - __vwsnf10_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(::demo::DataGridTabPageConstructor* __vwsnctorthis_0); - - ::vl::presentation::templates::GuiGridEditorTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; - }; - - struct __vwsnf110_Demo_demo_DateEditorConstructor___vwsn_initialize_instance__ - { - ::demo::DateEditorConstructor* __vwsnthis_0; - - __vwsnf110_Demo_demo_DateEditorConstructor___vwsn_initialize_instance__(::demo::DateEditorConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf111_Demo_demo_DateEditorConstructor___vwsn_initialize_instance__ - { - ::demo::DateEditorConstructor* __vwsnthis_0; - - __vwsnf111_Demo_demo_DateEditorConstructor___vwsn_initialize_instance__(::demo::DateEditorConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf112_Demo_demo_DateFilterConstructor___vwsn_initialize_instance__ - { - ::demo::DateFilterConstructor* __vwsnthis_0; - - __vwsnf112_Demo_demo_DateFilterConstructor___vwsn_initialize_instance__(::demo::DateFilterConstructor* __vwsnctorthis_0); - - void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; - }; - - struct __vwsnf113_Demo_demo_DateFilterConstructor___vwsn_initialize_instance__ - { - ::demo::DateFilterConstructor* __vwsnthis_0; - - __vwsnf113_Demo_demo_DateFilterConstructor___vwsn_initialize_instance__(::demo::DateFilterConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf114_Demo_demo_DateFilterConstructor___vwsn_initialize_instance__ - { - ::demo::DateFilterConstructor* __vwsnthis_0; - - __vwsnf114_Demo_demo_DateFilterConstructor___vwsn_initialize_instance__(::demo::DateFilterConstructor* __vwsnctorthis_0); - - void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; - }; - - struct __vwsnf115_Demo_demo_DateFilterConstructor___vwsn_initialize_instance__ - { - ::demo::DateFilterConstructor* __vwsnthis_0; - - __vwsnf115_Demo_demo_DateFilterConstructor___vwsn_initialize_instance__(::demo::DateFilterConstructor* __vwsnctorthis_0); - - void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; - }; - - struct __vwsnf116_Demo_demo_DateFilterConstructor___vwsn_initialize_instance__ - { - ::demo::DateFilterConstructor* __vwsnthis_0; - - __vwsnf116_Demo_demo_DateFilterConstructor___vwsn_initialize_instance__(::demo::DateFilterConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf117_Demo_demo_DateFilterConstructor___vwsn_initialize_instance__ - { - ::demo::DateFilterConstructor* __vwsnthis_0; - - __vwsnf117_Demo_demo_DateFilterConstructor___vwsn_initialize_instance__(::demo::DateFilterConstructor* __vwsnctorthis_0); - - void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; - }; - - struct __vwsnf118_Demo_demo_TextEditorConstructor___vwsn_initialize_instance__ - { - ::demo::TextEditorConstructor* __vwsnthis_0; - - __vwsnf118_Demo_demo_TextEditorConstructor___vwsn_initialize_instance__(::demo::TextEditorConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf119_Demo_demo_TextEditorConstructor___vwsn_initialize_instance__ - { - ::demo::TextEditorConstructor* __vwsnthis_0; - - __vwsnf119_Demo_demo_TextEditorConstructor___vwsn_initialize_instance__(::demo::TextEditorConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf11_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DataGridTabPageConstructor* __vwsnthis_0; - - __vwsnf11_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(::demo::DataGridTabPageConstructor* __vwsnctorthis_0); - - ::vl::reflection::description::Value operator()(const ::vl::reflection::description::Value& __vwsn_item_, const ::vl::reflection::description::Value& __vwsn_value_, bool __vwsn_update_) const; - }; - - struct __vwsnf120_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance__ - { - ::demo::CategoryDisplayerConstructor* __vwsnthis_0; - - __vwsnf120_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance__(::demo::CategoryDisplayerConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf121_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance__ - { - ::demo::CategoryDisplayerConstructor* __vwsnthis_0; - - __vwsnf121_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance__(::demo::CategoryDisplayerConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf122_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance__ - { - ::demo::CategoryDisplayerConstructor* __vwsnthis_0; - - __vwsnf122_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance__(::demo::CategoryDisplayerConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf123_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance__ - { - ::demo::CategoryEditorConstructor* __vwsnthis_0; - - __vwsnf123_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance__(::demo::CategoryEditorConstructor* __vwsnctorthis_0); - - ::vl::presentation::templates::GuiListItemTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; - }; - - struct __vwsnf124_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance__ - { - ::demo::CategoryEditorConstructor* __vwsnthis_0; - - __vwsnf124_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance__(::demo::CategoryEditorConstructor* __vwsnctorthis_0); - - ::vl::presentation::templates::GuiTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; - }; - - struct __vwsnf125_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance__ - { - ::demo::CategoryEditorConstructor* __vwsnthis_0; - - __vwsnf125_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance__(::demo::CategoryEditorConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf126_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance__ - { - ::demo::CategoryEditorConstructor* __vwsnthis_0; - - __vwsnf126_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance__(::demo::CategoryEditorConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf127_Demo_demo_CategoryItemTemplateConstructor___vwsn_initialize_instance__ - { - ::demo::CategoryItemTemplateConstructor* __vwsnthis_0; - - __vwsnf127_Demo_demo_CategoryItemTemplateConstructor___vwsn_initialize_instance__(::demo::CategoryItemTemplateConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf128_Demo_demo_CategoryVisualizerConstructor___vwsn_initialize_instance__ - { - ::demo::CategoryVisualizerConstructor* __vwsnthis_0; - - __vwsnf128_Demo_demo_CategoryVisualizerConstructor___vwsn_initialize_instance__(::demo::CategoryVisualizerConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf129_Demo_demo_CategoryVisualizerConstructor___vwsn_initialize_instance__ - { - ::demo::CategoryVisualizerConstructor* __vwsnthis_0; - - __vwsnf129_Demo_demo_CategoryVisualizerConstructor___vwsn_initialize_instance__(::demo::CategoryVisualizerConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf12_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DataGridTabPageConstructor* __vwsnthis_0; - - __vwsnf12_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(::demo::DataGridTabPageConstructor* __vwsnctorthis_0); - - ::vl::WString operator()(const ::vl::reflection::description::Value& __vwsn_item_) const; - }; - - struct __vwsnf130_Demo_demo_GenderDisplayerConstructor___vwsn_initialize_instance__ - { - ::demo::GenderDisplayerConstructor* __vwsnthis_0; - - __vwsnf130_Demo_demo_GenderDisplayerConstructor___vwsn_initialize_instance__(::demo::GenderDisplayerConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf131_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance__ - { - ::demo::GenderEditorConstructor* __vwsnthis_0; - - __vwsnf131_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance__(::demo::GenderEditorConstructor* __vwsnctorthis_0); - - ::vl::presentation::templates::GuiListItemTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; - }; - - struct __vwsnf132_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance__ - { - ::demo::GenderEditorConstructor* __vwsnthis_0; - - __vwsnf132_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance__(::demo::GenderEditorConstructor* __vwsnctorthis_0); - - ::vl::presentation::templates::GuiTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; - }; - - struct __vwsnf133_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance__ - { - ::demo::GenderEditorConstructor* __vwsnthis_0; - - __vwsnf133_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance__(::demo::GenderEditorConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf134_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance__ - { - ::demo::GenderEditorConstructor* __vwsnthis_0; - - __vwsnf134_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance__(::demo::GenderEditorConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf135_Demo_demo_GenderVisualizerConstructor___vwsn_initialize_instance__ - { - ::demo::GenderVisualizerConstructor* __vwsnthis_0; - - __vwsnf135_Demo_demo_GenderVisualizerConstructor___vwsn_initialize_instance__(::demo::GenderVisualizerConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf136_Demo_demo_HyperlinkWindowConstructor___vwsn_initialize_instance__ - { - ::demo::HyperlinkWindowConstructor* __vwsnthis_0; - - __vwsnf136_Demo_demo_HyperlinkWindowConstructor___vwsn_initialize_instance__(::demo::HyperlinkWindowConstructor* __vwsnctorthis_0); - - void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; - }; - - struct __vwsnf137_Demo_demo_HyperlinkWindowConstructor___vwsn_initialize_instance__ - { - ::demo::HyperlinkWindowConstructor* __vwsnthis_0; - - __vwsnf137_Demo_demo_HyperlinkWindowConstructor___vwsn_initialize_instance__(::demo::HyperlinkWindowConstructor* __vwsnctorthis_0); - - void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; - }; - - struct __vwsnf138_Demo_demo_RepeatItemTemplateConstructor___vwsn_initialize_instance__ - { - ::demo::RepeatItemTemplateConstructor* __vwsnthis_0; - - __vwsnf138_Demo_demo_RepeatItemTemplateConstructor___vwsn_initialize_instance__(::demo::RepeatItemTemplateConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf139_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::TextBoxTabPageConstructor* __vwsnthis_0; - - __vwsnf139_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance__(::demo::TextBoxTabPageConstructor* __vwsnctorthis_0); - - void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; - }; - - struct __vwsnf13_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DataGridTabPageConstructor* __vwsnthis_0; - - __vwsnf13_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(::demo::DataGridTabPageConstructor* __vwsnctorthis_0); - - ::vl::presentation::templates::GuiGridVisualizerTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; - }; - - struct __vwsnf140_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::TextBoxTabPageConstructor* __vwsnthis_0; - - __vwsnf140_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance__(::demo::TextBoxTabPageConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf141_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::TextBoxTabPageConstructor* __vwsnthis_0; - - __vwsnf141_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance__(::demo::TextBoxTabPageConstructor* __vwsnctorthis_0); - - void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; - }; - - struct __vwsnf142_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::TextBoxTabPageConstructor* __vwsnthis_0; - - __vwsnf142_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance__(::demo::TextBoxTabPageConstructor* __vwsnctorthis_0); - - void operator()() const; - }; - - struct __vwsnf143_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::TextBoxTabPageConstructor* __vwsnthis_0; - - __vwsnf143_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance__(::demo::TextBoxTabPageConstructor* __vwsnctorthis_0); - - void operator()() const; - }; - - struct __vwsnf14_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DataGridTabPageConstructor* __vwsnthis_0; - - __vwsnf14_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(::demo::DataGridTabPageConstructor* __vwsnctorthis_0); - - ::vl::presentation::templates::GuiGridVisualizerTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; - }; - - struct __vwsnf16_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DataGridTabPageConstructor* __vwsnthis_0; - - __vwsnf16_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(::demo::DataGridTabPageConstructor* __vwsnctorthis_0); - - ::vl::presentation::templates::GuiGridEditorTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; - }; - - struct __vwsnf17_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DataGridTabPageConstructor* __vwsnthis_0; - - __vwsnf17_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(::demo::DataGridTabPageConstructor* __vwsnctorthis_0); - - ::vl::reflection::description::Value operator()(const ::vl::reflection::description::Value& __vwsn_item_, const ::vl::reflection::description::Value& __vwsn_value_, bool __vwsn_update_) const; - }; - - struct __vwsnf18_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DataGridTabPageConstructor* __vwsnthis_0; - - __vwsnf18_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(::demo::DataGridTabPageConstructor* __vwsnctorthis_0); - - ::vl::WString operator()(const ::vl::reflection::description::Value& __vwsn_item_) const; - }; - - struct __vwsnf1_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DataGridTabPageConstructor* __vwsnthis_0; - - __vwsnf1_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(::demo::DataGridTabPageConstructor* __vwsnctorthis_0); - - ::vl::Ptr<::vl::presentation::GuiImageData> operator()(const ::vl::reflection::description::Value& __vwsn_item_) const; - }; - - struct __vwsnf20_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DataGridTabPageConstructor* __vwsnthis_0; - - __vwsnf20_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(::demo::DataGridTabPageConstructor* __vwsnctorthis_0); - - ::vl::presentation::templates::GuiGridEditorTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; - }; - - struct __vwsnf21_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DataGridTabPageConstructor* __vwsnthis_0; - - __vwsnf21_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(::demo::DataGridTabPageConstructor* __vwsnctorthis_0); - - ::vl::reflection::description::Value operator()(const ::vl::reflection::description::Value& __vwsn_item_, const ::vl::reflection::description::Value& __vwsn_value_, bool __vwsn_update_) const; - }; - - struct __vwsnf22_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DataGridTabPageConstructor* __vwsnthis_0; - - __vwsnf22_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(::demo::DataGridTabPageConstructor* __vwsnctorthis_0); - - ::vl::WString operator()(const ::vl::reflection::description::Value& __vwsn_item_) const; - }; - - struct __vwsnf23_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DataGridTabPageConstructor* __vwsnthis_0; - - __vwsnf23_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(::demo::DataGridTabPageConstructor* __vwsnctorthis_0); - - ::vl::presentation::templates::GuiGridVisualizerTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; - }; - - struct __vwsnf24_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DataGridTabPageConstructor* __vwsnthis_0; - - __vwsnf24_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(::demo::DataGridTabPageConstructor* __vwsnctorthis_0); - - ::vl::presentation::templates::GuiGridVisualizerTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; - }; - - struct __vwsnf26_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DataGridTabPageConstructor* __vwsnthis_0; - - __vwsnf26_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(::demo::DataGridTabPageConstructor* __vwsnctorthis_0); - - ::vl::presentation::templates::GuiGridEditorTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; - }; - - struct __vwsnf27_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DataGridTabPageConstructor* __vwsnthis_0; - - __vwsnf27_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(::demo::DataGridTabPageConstructor* __vwsnctorthis_0); - - ::vl::reflection::description::Value operator()(const ::vl::reflection::description::Value& __vwsn_item_, const ::vl::reflection::description::Value& __vwsn_value_, bool __vwsn_update_) const; - }; - - struct __vwsnf28_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DataGridTabPageConstructor* __vwsnthis_0; - - __vwsnf28_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(::demo::DataGridTabPageConstructor* __vwsnctorthis_0); - - ::vl::WString operator()(const ::vl::reflection::description::Value& __vwsn_item_) const; - }; - - struct __vwsnf29_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DataGridTabPageConstructor* __vwsnthis_0; - - __vwsnf29_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(::demo::DataGridTabPageConstructor* __vwsnctorthis_0); - - void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; - }; - - struct __vwsnf2_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DataGridTabPageConstructor* __vwsnthis_0; - - __vwsnf2_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(::demo::DataGridTabPageConstructor* __vwsnctorthis_0); - - ::vl::Ptr<::vl::presentation::GuiImageData> operator()(const ::vl::reflection::description::Value& __vwsn_item_) const; - }; - - struct __vwsnf30_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnf30_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf31_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnf31_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; - }; - - struct __vwsnf32_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnf32_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf33_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnf33_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; - }; - - struct __vwsnf34_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnf34_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf35_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnf35_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; - }; - - struct __vwsnf36_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnf36_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf37_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnf37_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; - }; - - struct __vwsnf38_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnf38_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf39_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnf39_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; - }; - - struct __vwsnf40_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnf40_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf41_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnf41_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; - }; - - struct __vwsnf42_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnf42_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf43_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnf43_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; - }; - - struct __vwsnf44_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnf44_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; - }; - - struct __vwsnf45_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnf45_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf46_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnf46_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; - }; - - struct __vwsnf47_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnf47_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf48_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnf48_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; - }; - - struct __vwsnf49_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___ - { - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnf49_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - ::vl::Ptr<::vl::reflection::description::ICoroutine> operator()(::vl::reflection::description::AsyncCoroutine::IImpl* __vwsn_co_impl_) const; - }; - - struct __vwsnf4_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DataGridTabPageConstructor* __vwsnthis_0; - - __vwsnf4_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(::demo::DataGridTabPageConstructor* __vwsnctorthis_0); - - ::vl::presentation::templates::GuiGridEditorTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; - }; - - struct __vwsnf50_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnf50_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf51_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnf51_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; - }; - - struct __vwsnf52_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnf52_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf53_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnf53_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf54_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnf54_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; - }; - - struct __vwsnf55_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnf55_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf56_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnf56_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf57_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnf57_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; - }; - - struct __vwsnf58_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnf58_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf59_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnf59_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf5_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DataGridTabPageConstructor* __vwsnthis_0; - - __vwsnf5_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(::demo::DataGridTabPageConstructor* __vwsnctorthis_0); - - ::vl::reflection::description::Value operator()(const ::vl::reflection::description::Value& __vwsn_item_, const ::vl::reflection::description::Value& __vwsn_value_, bool __vwsn_update_) const; - }; - - struct __vwsnf60_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnf60_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; - }; - - struct __vwsnf61_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnf61_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf62_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnf62_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf63_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnf63_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; - }; - - struct __vwsnf64_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnf64_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf65_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnf65_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; - }; - - struct __vwsnf66_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnf66_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf67_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnf67_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; - }; - - struct __vwsnf68_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnf68_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf69_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnf69_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; - }; - - struct __vwsnf6_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DataGridTabPageConstructor* __vwsnthis_0; - - __vwsnf6_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(::demo::DataGridTabPageConstructor* __vwsnctorthis_0); - - ::vl::WString operator()(const ::vl::reflection::description::Value& __vwsn_item_) const; - }; - - struct __vwsnf70_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnf70_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; - }; - - struct __vwsnf71_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnf71_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; - }; - - struct __vwsnf72_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnf72_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; - }; - - struct __vwsnf73_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnf73_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf74_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnf74_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; - }; - - struct __vwsnf75_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnf75_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf76_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnf76_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf77_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnf77_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; - }; - - struct __vwsnf78_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnf78_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf79_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnf79_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf7_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DataGridTabPageConstructor* __vwsnthis_0; - - __vwsnf7_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(::demo::DataGridTabPageConstructor* __vwsnctorthis_0); - - ::vl::presentation::templates::GuiGridVisualizerTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; - }; - - struct __vwsnf80_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnf80_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; - }; - - struct __vwsnf81_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnf81_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf82_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnf82_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf83_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnf83_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; - }; - - struct __vwsnf84_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnf84_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance__(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf85_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::ListViewTabPageConstructor* __vwsnthis_0; - - __vwsnf85_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__(::demo::ListViewTabPageConstructor* __vwsnctorthis_0); - - ::vl::Ptr<::vl::presentation::GuiImageData> operator()(const ::vl::reflection::description::Value& __vwsn_item_) const; - }; - - struct __vwsnf86_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::ListViewTabPageConstructor* __vwsnthis_0; - - __vwsnf86_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__(::demo::ListViewTabPageConstructor* __vwsnctorthis_0); - - ::vl::Ptr<::vl::presentation::GuiImageData> operator()(const ::vl::reflection::description::Value& __vwsn_item_) const; - }; - - struct __vwsnf87_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::ListViewTabPageConstructor* __vwsnthis_0; - - __vwsnf87_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__(::demo::ListViewTabPageConstructor* __vwsnctorthis_0); - - ::vl::WString operator()(const ::vl::reflection::description::Value& __vwsn_item_) const; - }; - - struct __vwsnf88_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::ListViewTabPageConstructor* __vwsnthis_0; - - __vwsnf88_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__(::demo::ListViewTabPageConstructor* __vwsnctorthis_0); - - ::vl::WString operator()(const ::vl::reflection::description::Value& __vwsn_item_) const; - }; - - struct __vwsnf89_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::ListViewTabPageConstructor* __vwsnthis_0; - - __vwsnf89_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__(::demo::ListViewTabPageConstructor* __vwsnctorthis_0); - - ::vl::WString operator()(const ::vl::reflection::description::Value& __vwsn_item_) const; - }; - - struct __vwsnf8_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::DataGridTabPageConstructor* __vwsnthis_0; - - __vwsnf8_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__(::demo::DataGridTabPageConstructor* __vwsnctorthis_0); - - ::vl::presentation::templates::GuiGridVisualizerTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; - }; - - struct __vwsnf90_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::ListViewTabPageConstructor* __vwsnthis_0; - - __vwsnf90_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__(::demo::ListViewTabPageConstructor* __vwsnctorthis_0); - - ::vl::WString operator()(const ::vl::reflection::description::Value& __vwsn_item_) const; - }; - - struct __vwsnf91_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::ListViewTabPageConstructor* __vwsnthis_0; - - __vwsnf91_Demo_demo_ListViewTabPageConstructor___vwsn_initialize_instance__(::demo::ListViewTabPageConstructor* __vwsnctorthis_0); - - void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; - }; - - struct __vwsnf92_Demo_demo_ListViewTabPage___vwsn_instance_ctor__ - { - ::demo::ListViewTabPage* __vwsnthis_0; - - __vwsnf92_Demo_demo_ListViewTabPage___vwsn_instance_ctor__(::demo::ListViewTabPage* __vwsnctorthis_0); - - void operator()(::vl::Ptr<::vl::presentation::controls::list::ListViewItem> item) const; - }; - - struct __vwsnf93_Demo_demo_ListViewTabPage___vwsn_instance_ctor__ - { - ::vl::Ptr<::vl::reflection::description::IValueObservableList> itemsToBind; - ::demo::ListViewTabPage* __vwsnthis_0; - - __vwsnf93_Demo_demo_ListViewTabPage___vwsn_instance_ctor__(::vl::Ptr<::vl::reflection::description::IValueObservableList> __vwsnctor_itemsToBind, ::demo::ListViewTabPage* __vwsnctorthis_0); - - void operator()(::vl::Ptr<::vl::presentation::controls::list::ListViewItem> item) const; - }; - - struct __vwsnf94_Demo_demo_RepeatTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::RepeatTabPageConstructor* __vwsnthis_0; - - __vwsnf94_Demo_demo_RepeatTabPageConstructor___vwsn_initialize_instance__(::demo::RepeatTabPageConstructor* __vwsnctorthis_0); - - ::vl::presentation::templates::GuiTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; - }; - - struct __vwsnf95_Demo_demo_RepeatTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::RepeatTabPageConstructor* __vwsnthis_0; - - __vwsnf95_Demo_demo_RepeatTabPageConstructor___vwsn_initialize_instance__(::demo::RepeatTabPageConstructor* __vwsnctorthis_0); - - ::vl::presentation::templates::GuiTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; - }; - - struct __vwsnf96_Demo_demo_RepeatTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::RepeatTabPageConstructor* __vwsnthis_0; - - __vwsnf96_Demo_demo_RepeatTabPageConstructor___vwsn_initialize_instance__(::demo::RepeatTabPageConstructor* __vwsnctorthis_0); - - void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; - }; - - struct __vwsnf97_Demo_demo_RepeatTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::RepeatTabPageConstructor* __vwsnthis_0; - - __vwsnf97_Demo_demo_RepeatTabPageConstructor___vwsn_initialize_instance__(::demo::RepeatTabPageConstructor* __vwsnctorthis_0); - - void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; - }; - - struct __vwsnf98_Demo_demo_RepeatTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::RepeatTabPageConstructor* __vwsnthis_0; - - __vwsnf98_Demo_demo_RepeatTabPageConstructor___vwsn_initialize_instance__(::demo::RepeatTabPageConstructor* __vwsnctorthis_0); - - void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; - }; - - struct __vwsnf99_Demo_demo_RepeatTabPageConstructor___vwsn_initialize_instance__ - { - ::demo::RepeatTabPageConstructor* __vwsnthis_0; - - __vwsnf99_Demo_demo_RepeatTabPageConstructor___vwsn_initialize_instance__(::demo::RepeatTabPageConstructor* __vwsnctorthis_0); - - void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; - }; - - struct __vwsno15_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__Compare_ - { - ::vl::presentation::controls::list::IDataSorter* __vwsnthis_0; - ::demo::DataGridTabPageConstructor* __vwsnthis_1; - - __vwsno15_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__Compare_(::vl::presentation::controls::list::IDataSorter* __vwsnctorthis_0, ::demo::DataGridTabPageConstructor* __vwsnctorthis_1); - - ::vl::vint operator()(::vl::Ptr<::demo::MyDataItem> __vwsno_1, ::vl::Ptr<::demo::MyDataItem> __vwsno_2) const; - }; - - struct __vwsno19_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__Compare_ - { - ::vl::presentation::controls::list::IDataSorter* __vwsnthis_0; - ::demo::DataGridTabPageConstructor* __vwsnthis_1; - - __vwsno19_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__Compare_(::vl::presentation::controls::list::IDataSorter* __vwsnctorthis_0, ::demo::DataGridTabPageConstructor* __vwsnctorthis_1); - - ::vl::vint operator()(::vl::Ptr<::demo::MyDataItem> __vwsno_1, ::vl::Ptr<::demo::MyDataItem> __vwsno_2) const; - }; - - struct __vwsno25_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__Compare_ - { - ::vl::presentation::controls::list::IDataSorter* __vwsnthis_0; - ::demo::DataGridTabPageConstructor* __vwsnthis_1; - - __vwsno25_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__Compare_(::vl::presentation::controls::list::IDataSorter* __vwsnctorthis_0, ::demo::DataGridTabPageConstructor* __vwsnctorthis_1); - - ::vl::vint operator()(::vl::Ptr<::demo::MyDataItem> __vwsno_1, ::vl::Ptr<::demo::MyDataItem> __vwsno_2) const; - }; - - struct __vwsno3_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__Compare_ - { - ::vl::presentation::controls::list::IDataSorter* __vwsnthis_0; - ::demo::DataGridTabPageConstructor* __vwsnthis_1; - - __vwsno3_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__Compare_(::vl::presentation::controls::list::IDataSorter* __vwsnctorthis_0, ::demo::DataGridTabPageConstructor* __vwsnctorthis_1); - - ::vl::vint operator()(::vl::Ptr<::demo::MyDataItem> __vwsno_1, ::vl::Ptr<::demo::MyDataItem> __vwsno_2) const; - }; - - struct __vwsno9_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__Compare_ - { - ::vl::presentation::controls::list::IDataSorter* __vwsnthis_0; - ::demo::DataGridTabPageConstructor* __vwsnthis_1; - - __vwsno9_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance__Compare_(::vl::presentation::controls::list::IDataSorter* __vwsnctorthis_0, ::demo::DataGridTabPageConstructor* __vwsnctorthis_1); - - ::vl::vint operator()(::vl::Ptr<::demo::MyDataItem> __vwsno_1, ::vl::Ptr<::demo::MyDataItem> __vwsno_2) const; - }; - - class __vwsnc10_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnc10_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - ::demo::DocumentTabPage* __vwsn_bind_cache_0 = nullptr; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; - bool __vwsn_bind_opened_ = false; - bool __vwsn_bind_closed_ = false; - void __vwsn_bind_activator_(); - void __vwsn_bind_callback_0_0(); - bool Open() override; - bool Update() override; - bool Close() override; - }; - - class __vwsnc11_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnc11_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - ::demo::DocumentTabPage* __vwsn_bind_cache_0 = nullptr; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; - bool __vwsn_bind_opened_ = false; - bool __vwsn_bind_closed_ = false; - void __vwsn_bind_activator_(); - void __vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); - bool Open() override; - bool Update() override; - bool Close() override; - }; - - class __vwsnc12_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnc12_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - ::demo::DocumentTabPage* __vwsn_bind_cache_0 = nullptr; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; - bool __vwsn_bind_opened_ = false; - bool __vwsn_bind_closed_ = false; - void __vwsn_bind_activator_(); - void __vwsn_bind_callback_0_0(); - bool Open() override; - bool Update() override; - bool Close() override; - }; - - class __vwsnc13_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnc13_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - bool __vwsn_bind_opened_ = false; - bool __vwsn_bind_closed_ = false; - void __vwsn_bind_activator_(); - bool Open() override; - bool Update() override; - bool Close() override; - }; - - class __vwsnc14_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnc14_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - ::vl::presentation::controls::GuiDocumentViewer* __vwsn_bind_cache_0 = nullptr; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; - bool __vwsn_bind_opened_ = false; - bool __vwsn_bind_closed_ = false; - void __vwsn_bind_activator_(); - void __vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); - bool Open() override; - bool Update() override; - bool Close() override; - }; - - class __vwsnc15_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance_____vl_reflection_description_ICoroutine : public ::vl::Object, public virtual ::vl::reflection::description::ICoroutine - { - public: - ::vl::reflection::description::AsyncCoroutine::IImpl* __vwsn_co_impl_; - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnc15_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance_____vl_reflection_description_ICoroutine(::vl::reflection::description::AsyncCoroutine::IImpl* __vwsnctor___vwsn_co_impl_, ::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - ::vl::presentation::controls::GuiWindow* __vwsn_co0_mainWindow = nullptr; - ::demo::HyperlinkWindow* __vwsn_co1_window = nullptr; - ::vl::vint __vwsn_co_state_ = 0; - ::vl::Ptr<::vl::reflection::description::IValueException> __vwsn_prop_Failure; - ::vl::Ptr<::vl::reflection::description::IValueException> GetFailure() override; - void SetFailure(::vl::Ptr<::vl::reflection::description::IValueException> __vwsn_value_); - ::vl::reflection::description::CoroutineStatus __vwsn_prop_Status = static_cast<::vl::reflection::description::CoroutineStatus>(0); - ::vl::reflection::description::CoroutineStatus GetStatus() override; - void SetStatus(::vl::reflection::description::CoroutineStatus __vwsn_value_); - void Resume(bool __vwsn_raise_exception_, ::vl::Ptr<::vl::reflection::description::CoroutineResult> __vwsn_co_result_) override; - }; - - class __vwsnc16_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnc16_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - ::vl::presentation::controls::GuiDocumentViewer* __vwsn_bind_cache_0 = nullptr; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; - bool __vwsn_bind_opened_ = false; - bool __vwsn_bind_closed_ = false; - void __vwsn_bind_activator_(); - void __vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); - bool Open() override; - bool Update() override; - bool Close() override; - }; - - class __vwsnc17_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnc17_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - ::demo::DocumentTabPage* __vwsn_bind_cache_0 = nullptr; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; - bool __vwsn_bind_opened_ = false; - bool __vwsn_bind_closed_ = false; - void __vwsn_bind_activator_(); - void __vwsn_bind_callback_0_0(); - bool Open() override; - bool Update() override; - bool Close() override; - }; - - class __vwsnc18_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnc18_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - ::vl::presentation::controls::GuiDocumentViewer* __vwsn_bind_cache_0 = nullptr; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_1; - bool __vwsn_bind_opened_ = false; - bool __vwsn_bind_closed_ = false; - void __vwsn_bind_activator_(); - void __vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); - void __vwsn_bind_callback_0_1(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); - bool Open() override; - bool Update() override; - bool Close() override; - }; - - class __vwsnc19_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnc19_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - ::demo::DocumentTabPage* __vwsn_bind_cache_0 = nullptr; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; - bool __vwsn_bind_opened_ = false; - bool __vwsn_bind_closed_ = false; - void __vwsn_bind_activator_(); - void __vwsn_bind_callback_0_0(); - bool Open() override; - bool Update() override; - bool Close() override; - }; - - class __vwsnc1_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance___vl_presentation_controls_list_IDataSorter : public ::vl::Object, public virtual ::vl::presentation::controls::list::IDataSorter - { - public: - ::demo::DataGridTabPageConstructor* __vwsnthis_0; - - __vwsnc1_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance___vl_presentation_controls_list_IDataSorter(::demo::DataGridTabPageConstructor* __vwsnctorthis_0); - - void SetCallback(::vl::presentation::controls::list::IDataProcessorCallback* value) override; - ::vl::vint Compare(const ::vl::reflection::description::Value& __vwsn_row1_, const ::vl::reflection::description::Value& __vwsn_row2_) override; - }; - - class __vwsnc20_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnc20_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - ::vl::presentation::controls::GuiDocumentViewer* __vwsn_bind_cache_0 = nullptr; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_1; - bool __vwsn_bind_opened_ = false; - bool __vwsn_bind_closed_ = false; - void __vwsn_bind_activator_(); - void __vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); - void __vwsn_bind_callback_0_1(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); - bool Open() override; - bool Update() override; - bool Close() override; - }; - - class __vwsnc21_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnc21_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - ::demo::DocumentTabPage* __vwsn_bind_cache_0 = nullptr; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; - bool __vwsn_bind_opened_ = false; - bool __vwsn_bind_closed_ = false; - void __vwsn_bind_activator_(); - void __vwsn_bind_callback_0_0(); - bool Open() override; - bool Update() override; - bool Close() override; - }; - - class __vwsnc22_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnc22_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - ::vl::presentation::controls::GuiDocumentViewer* __vwsn_bind_cache_0 = nullptr; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_1; - bool __vwsn_bind_opened_ = false; - bool __vwsn_bind_closed_ = false; - void __vwsn_bind_activator_(); - void __vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); - void __vwsn_bind_callback_0_1(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); - bool Open() override; - bool Update() override; - bool Close() override; - }; - - class __vwsnc23_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnc23_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - ::demo::DocumentTabPage* __vwsn_bind_cache_0 = nullptr; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; - bool __vwsn_bind_opened_ = false; - bool __vwsn_bind_closed_ = false; - void __vwsn_bind_activator_(); - void __vwsn_bind_callback_0_0(); - bool Open() override; - bool Update() override; - bool Close() override; - }; - - class __vwsnc24_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnc24_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - ::vl::presentation::controls::GuiDocumentViewer* __vwsn_bind_cache_0 = nullptr; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_1; - bool __vwsn_bind_opened_ = false; - bool __vwsn_bind_closed_ = false; - void __vwsn_bind_activator_(); - void __vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); - void __vwsn_bind_callback_0_1(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); - bool Open() override; - bool Update() override; - bool Close() override; - }; - - class __vwsnc25_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnc25_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - ::demo::DocumentTabPage* __vwsn_bind_cache_0 = nullptr; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; - bool __vwsn_bind_opened_ = false; - bool __vwsn_bind_closed_ = false; - void __vwsn_bind_activator_(); - void __vwsn_bind_callback_0_0(); - bool Open() override; - bool Update() override; - bool Close() override; - }; - - class __vwsnc26_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnc26_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - ::demo::DocumentTabPage* __vwsn_bind_cache_0 = nullptr; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; - bool __vwsn_bind_opened_ = false; - bool __vwsn_bind_closed_ = false; - void __vwsn_bind_activator_(); - void __vwsn_bind_callback_0_0(); - bool Open() override; - bool Update() override; - bool Close() override; - }; - - class __vwsnc27_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnc27_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - ::demo::DocumentTabPage* __vwsn_bind_cache_0 = nullptr; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; - bool __vwsn_bind_opened_ = false; - bool __vwsn_bind_closed_ = false; - void __vwsn_bind_activator_(); - void __vwsn_bind_callback_0_0(); - bool Open() override; - bool Update() override; - bool Close() override; - }; - - class __vwsnc28_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnc28_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - bool __vwsn_bind_opened_ = false; - bool __vwsn_bind_closed_ = false; - void __vwsn_bind_activator_(); - bool Open() override; - bool Update() override; - bool Close() override; - }; - - class __vwsnc29_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnc29_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - bool __vwsn_bind_opened_ = false; - bool __vwsn_bind_closed_ = false; - void __vwsn_bind_activator_(); - bool Open() override; - bool Update() override; - bool Close() override; - }; - - class __vwsnc2_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance___vl_presentation_controls_list_IDataSorter : public ::vl::Object, public virtual ::vl::presentation::controls::list::IDataSorter - { - public: - ::demo::DataGridTabPageConstructor* __vwsnthis_0; - - __vwsnc2_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance___vl_presentation_controls_list_IDataSorter(::demo::DataGridTabPageConstructor* __vwsnctorthis_0); - - void SetCallback(::vl::presentation::controls::list::IDataProcessorCallback* value) override; - ::vl::vint Compare(const ::vl::reflection::description::Value& __vwsn_row1_, const ::vl::reflection::description::Value& __vwsn_row2_) override; - }; - - class __vwsnc30_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnc30_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - ::vl::presentation::controls::GuiDocumentViewer* __vwsn_bind_cache_0 = nullptr; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; - bool __vwsn_bind_opened_ = false; - bool __vwsn_bind_closed_ = false; - void __vwsn_bind_activator_(); - void __vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); - bool Open() override; - bool Update() override; - bool Close() override; - }; - - class __vwsnc31_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnc31_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - bool __vwsn_bind_opened_ = false; - bool __vwsn_bind_closed_ = false; - void __vwsn_bind_activator_(); - bool Open() override; - bool Update() override; - bool Close() override; - }; - - class __vwsnc32_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnc32_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - ::vl::presentation::controls::GuiDocumentViewer* __vwsn_bind_cache_0 = nullptr; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; - bool __vwsn_bind_opened_ = false; - bool __vwsn_bind_closed_ = false; - void __vwsn_bind_activator_(); - void __vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); - bool Open() override; - bool Update() override; - bool Close() override; - }; - - class __vwsnc33_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnc33_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - bool __vwsn_bind_opened_ = false; - bool __vwsn_bind_closed_ = false; - void __vwsn_bind_activator_(); - bool Open() override; - bool Update() override; - bool Close() override; - }; - - class __vwsnc34_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnc34_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - ::vl::presentation::controls::GuiDocumentViewer* __vwsn_bind_cache_0 = nullptr; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; - bool __vwsn_bind_opened_ = false; - bool __vwsn_bind_closed_ = false; - void __vwsn_bind_activator_(); - void __vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); - bool Open() override; - bool Update() override; - bool Close() override; - }; - - class __vwsnc35_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnc35_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - ::vl::presentation::controls::GuiDocumentViewer* __vwsn_bind_cache_0 = nullptr; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; - bool __vwsn_bind_opened_ = false; - bool __vwsn_bind_closed_ = false; - void __vwsn_bind_activator_(); - void __vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); - bool Open() override; - bool Update() override; - bool Close() override; - }; - - class __vwsnc36_Demo_demo_DateEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::demo::DateEditorConstructor* __vwsnthis_0; - - __vwsnc36_Demo_demo_DateEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DateEditorConstructor* __vwsnctorthis_0); - - ::demo::DateEditor* __vwsn_bind_cache_0 = nullptr; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; - bool __vwsn_bind_opened_ = false; - bool __vwsn_bind_closed_ = false; - void __vwsn_bind_activator_(); - void __vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); - bool Open() override; - bool Update() override; - bool Close() override; - }; - - class __vwsnc37_Demo_demo_DateEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::demo::DateEditorConstructor* __vwsnthis_0; - - __vwsnc37_Demo_demo_DateEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DateEditorConstructor* __vwsnctorthis_0); - - ::vl::presentation::controls::GuiDateComboBox* __vwsn_bind_cache_0 = nullptr; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; - bool __vwsn_bind_opened_ = false; - bool __vwsn_bind_closed_ = false; - void __vwsn_bind_activator_(); - void __vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); - bool Open() override; - bool Update() override; - bool Close() override; - }; - - class __vwsnc38_Demo_demo_DateFilterConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::demo::DateFilterConstructor* __vwsnthis_0; - - __vwsnc38_Demo_demo_DateFilterConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DateFilterConstructor* __vwsnctorthis_0); - - ::vl::presentation::controls::GuiSelectableButton* __vwsn_bind_cache_0 = nullptr; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; - bool __vwsn_bind_opened_ = false; - bool __vwsn_bind_closed_ = false; - void __vwsn_bind_activator_(); - void __vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); - bool Open() override; - bool Update() override; - bool Close() override; - }; - - class __vwsnc39_Demo_demo_DateFilterConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::demo::DateFilterConstructor* __vwsnthis_0; - - __vwsnc39_Demo_demo_DateFilterConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DateFilterConstructor* __vwsnctorthis_0); - - ::vl::presentation::controls::GuiSelectableButton* __vwsn_bind_cache_0 = nullptr; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; - bool __vwsn_bind_opened_ = false; - bool __vwsn_bind_closed_ = false; - void __vwsn_bind_activator_(); - void __vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); - bool Open() override; - bool Update() override; - bool Close() override; - }; - - class __vwsnc3_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance___vl_presentation_controls_list_IDataSorter : public ::vl::Object, public virtual ::vl::presentation::controls::list::IDataSorter - { - public: - ::demo::DataGridTabPageConstructor* __vwsnthis_0; - - __vwsnc3_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance___vl_presentation_controls_list_IDataSorter(::demo::DataGridTabPageConstructor* __vwsnctorthis_0); - - void SetCallback(::vl::presentation::controls::list::IDataProcessorCallback* value) override; - ::vl::vint Compare(const ::vl::reflection::description::Value& __vwsn_row1_, const ::vl::reflection::description::Value& __vwsn_row2_) override; - }; - - class __vwsnc40_Demo_demo_DateFilter___vwsn_instance_ctor___vl_presentation_controls_list_IDataFilter : public ::vl::Object, public virtual ::vl::presentation::controls::list::IDataFilter - { - public: - ::demo::DateFilter* __vwsnthis_0; - - __vwsnc40_Demo_demo_DateFilter___vwsn_instance_ctor___vl_presentation_controls_list_IDataFilter(::demo::DateFilter* __vwsnctorthis_0); - - void SetCallback(::vl::presentation::controls::list::IDataProcessorCallback* value) override; - bool Filter(const ::vl::reflection::description::Value& row) override; - }; - - class __vwsnc41_Demo_demo_TextEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::demo::TextEditorConstructor* __vwsnthis_0; - - __vwsnc41_Demo_demo_TextEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::TextEditorConstructor* __vwsnctorthis_0); - - ::demo::TextEditor* __vwsn_bind_cache_0 = nullptr; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; - bool __vwsn_bind_opened_ = false; - bool __vwsn_bind_closed_ = false; - void __vwsn_bind_activator_(); - void __vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); - bool Open() override; - bool Update() override; - bool Close() override; - }; - - class __vwsnc42_Demo_demo_TextEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::demo::TextEditorConstructor* __vwsnthis_0; - - __vwsnc42_Demo_demo_TextEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::TextEditorConstructor* __vwsnctorthis_0); - - ::vl::presentation::controls::GuiSinglelineTextBox* __vwsn_bind_cache_0 = nullptr; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; - bool __vwsn_bind_opened_ = false; - bool __vwsn_bind_closed_ = false; - void __vwsn_bind_activator_(); - void __vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); - bool Open() override; - bool Update() override; - bool Close() override; - }; - - class __vwsnc43_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::demo::CategoryDisplayerConstructor* __vwsnthis_0; - - __vwsnc43_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::CategoryDisplayerConstructor* __vwsnctorthis_0); - - ::demo::CategoryDisplayer* __vwsn_bind_cache_0 = nullptr; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; - bool __vwsn_bind_opened_ = false; - bool __vwsn_bind_closed_ = false; - void __vwsn_bind_activator_(); - void __vwsn_bind_callback_0_0(); - bool Open() override; - bool Update() override; - bool Close() override; - }; - - class __vwsnc44_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::demo::CategoryDisplayerConstructor* __vwsnthis_0; - - __vwsnc44_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::CategoryDisplayerConstructor* __vwsnctorthis_0); - - ::demo::CategoryDisplayer* __vwsn_bind_cache_0 = nullptr; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; - bool __vwsn_bind_opened_ = false; - bool __vwsn_bind_closed_ = false; - void __vwsn_bind_activator_(); - void __vwsn_bind_callback_0_0(); - bool Open() override; - bool Update() override; - bool Close() override; - }; - - class __vwsnc45_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::demo::CategoryDisplayerConstructor* __vwsnthis_0; - - __vwsnc45_Demo_demo_CategoryDisplayerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::CategoryDisplayerConstructor* __vwsnctorthis_0); - - ::demo::CategoryDisplayer* __vwsn_bind_cache_0 = nullptr; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; - bool __vwsn_bind_opened_ = false; - bool __vwsn_bind_closed_ = false; - void __vwsn_bind_activator_(); - void __vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); - bool Open() override; - bool Update() override; - bool Close() override; - }; - - class __vwsnc46_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::demo::CategoryEditorConstructor* __vwsnthis_0; - - __vwsnc46_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::CategoryEditorConstructor* __vwsnctorthis_0); - - ::demo::CategoryEditor* __vwsn_bind_cache_0 = nullptr; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; - bool __vwsn_bind_opened_ = false; - bool __vwsn_bind_closed_ = false; - void __vwsn_bind_activator_(); - void __vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); - bool Open() override; - bool Update() override; - bool Close() override; - }; - - class __vwsnc47_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::demo::CategoryEditorConstructor* __vwsnthis_0; - - __vwsnc47_Demo_demo_CategoryEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::CategoryEditorConstructor* __vwsnctorthis_0); - - ::vl::presentation::controls::GuiComboBoxListControl* __vwsn_bind_cache_0 = nullptr; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; - bool __vwsn_bind_opened_ = false; - bool __vwsn_bind_closed_ = false; - void __vwsn_bind_activator_(); - void __vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); - bool Open() override; - bool Update() override; - bool Close() override; - }; - - class __vwsnc48_Demo_demo_CategoryItemTemplateConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::demo::CategoryItemTemplateConstructor* __vwsnthis_0; - - __vwsnc48_Demo_demo_CategoryItemTemplateConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::CategoryItemTemplateConstructor* __vwsnctorthis_0); - - ::demo::CategoryItemTemplate* __vwsn_bind_cache_0 = nullptr; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; - bool __vwsn_bind_opened_ = false; - bool __vwsn_bind_closed_ = false; - void __vwsn_bind_activator_(); - void __vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); - bool Open() override; - bool Update() override; - bool Close() override; - }; - - class __vwsnc49_Demo_demo_CategoryVisualizerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::demo::CategoryVisualizerConstructor* __vwsnthis_0; - - __vwsnc49_Demo_demo_CategoryVisualizerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::CategoryVisualizerConstructor* __vwsnctorthis_0); - - ::demo::CategoryVisualizer* __vwsn_bind_cache_0 = nullptr; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; - bool __vwsn_bind_opened_ = false; - bool __vwsn_bind_closed_ = false; - void __vwsn_bind_activator_(); - void __vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); - bool Open() override; - bool Update() override; - bool Close() override; - }; - - class __vwsnc4_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance___vl_presentation_controls_list_IDataSorter : public ::vl::Object, public virtual ::vl::presentation::controls::list::IDataSorter - { - public: - ::demo::DataGridTabPageConstructor* __vwsnthis_0; - - __vwsnc4_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance___vl_presentation_controls_list_IDataSorter(::demo::DataGridTabPageConstructor* __vwsnctorthis_0); - - void SetCallback(::vl::presentation::controls::list::IDataProcessorCallback* value) override; - ::vl::vint Compare(const ::vl::reflection::description::Value& __vwsn_row1_, const ::vl::reflection::description::Value& __vwsn_row2_) override; - }; - - class __vwsnc50_Demo_demo_CategoryVisualizerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::demo::CategoryVisualizerConstructor* __vwsnthis_0; - - __vwsnc50_Demo_demo_CategoryVisualizerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::CategoryVisualizerConstructor* __vwsnctorthis_0); - - ::demo::CategoryVisualizer* __vwsn_bind_cache_0 = nullptr; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; - bool __vwsn_bind_opened_ = false; - bool __vwsn_bind_closed_ = false; - void __vwsn_bind_activator_(); - void __vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); - bool Open() override; - bool Update() override; - bool Close() override; - }; - - class __vwsnc51_Demo_demo_GenderDisplayerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::demo::GenderDisplayerConstructor* __vwsnthis_0; - - __vwsnc51_Demo_demo_GenderDisplayerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::GenderDisplayerConstructor* __vwsnctorthis_0); - - ::demo::GenderDisplayer* __vwsn_bind_cache_0 = nullptr; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; - bool __vwsn_bind_opened_ = false; - bool __vwsn_bind_closed_ = false; - void __vwsn_bind_activator_(); - void __vwsn_bind_callback_0_0(); - bool Open() override; - bool Update() override; - bool Close() override; - }; - - class __vwsnc52_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::demo::GenderEditorConstructor* __vwsnthis_0; - - __vwsnc52_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::GenderEditorConstructor* __vwsnctorthis_0); - - ::demo::GenderEditor* __vwsn_bind_cache_0 = nullptr; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; - bool __vwsn_bind_opened_ = false; - bool __vwsn_bind_closed_ = false; - void __vwsn_bind_activator_(); - void __vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); - bool Open() override; - bool Update() override; - bool Close() override; - }; - - class __vwsnc53_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::demo::GenderEditorConstructor* __vwsnthis_0; - - __vwsnc53_Demo_demo_GenderEditorConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::GenderEditorConstructor* __vwsnctorthis_0); - - ::vl::presentation::controls::GuiComboBoxListControl* __vwsn_bind_cache_0 = nullptr; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; - bool __vwsn_bind_opened_ = false; - bool __vwsn_bind_closed_ = false; - void __vwsn_bind_activator_(); - void __vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); - bool Open() override; - bool Update() override; - bool Close() override; - }; - - class __vwsnc54_Demo_demo_GenderVisualizerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::demo::GenderVisualizerConstructor* __vwsnthis_0; - - __vwsnc54_Demo_demo_GenderVisualizerConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::GenderVisualizerConstructor* __vwsnctorthis_0); - - ::demo::GenderVisualizer* __vwsn_bind_cache_0 = nullptr; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; - bool __vwsn_bind_opened_ = false; - bool __vwsn_bind_closed_ = false; - void __vwsn_bind_activator_(); - void __vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); - bool Open() override; - bool Update() override; - bool Close() override; - }; - - class __vwsnc55_Demo_demo_RepeatItemTemplateConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::demo::RepeatItemTemplateConstructor* __vwsnthis_0; - - __vwsnc55_Demo_demo_RepeatItemTemplateConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::RepeatItemTemplateConstructor* __vwsnctorthis_0); - - bool __vwsn_bind_opened_ = false; - bool __vwsn_bind_closed_ = false; - void __vwsn_bind_activator_(); - bool Open() override; - bool Update() override; - bool Close() override; - }; - - class __vwsnc56_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::demo::TextBoxTabPageConstructor* __vwsnthis_0; - - __vwsnc56_Demo_demo_TextBoxTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::TextBoxTabPageConstructor* __vwsnctorthis_0); - - ::vl::presentation::controls::GuiSinglelineTextBox* __vwsn_bind_cache_0 = nullptr; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; - bool __vwsn_bind_opened_ = false; - bool __vwsn_bind_closed_ = false; - void __vwsn_bind_activator_(); - void __vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); - bool Open() override; - bool Update() override; - bool Close() override; - }; - - class __vwsnc5_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance___vl_presentation_controls_list_IDataSorter : public ::vl::Object, public virtual ::vl::presentation::controls::list::IDataSorter - { - public: - ::demo::DataGridTabPageConstructor* __vwsnthis_0; - - __vwsnc5_Demo_demo_DataGridTabPageConstructor___vwsn_initialize_instance___vl_presentation_controls_list_IDataSorter(::demo::DataGridTabPageConstructor* __vwsnctorthis_0); - - void SetCallback(::vl::presentation::controls::list::IDataProcessorCallback* value) override; - ::vl::vint Compare(const ::vl::reflection::description::Value& __vwsn_row1_, const ::vl::reflection::description::Value& __vwsn_row2_) override; - }; - - class __vwsnc6_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnc6_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - ::vl::presentation::controls::GuiDocumentViewer* __vwsn_bind_cache_0 = nullptr; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; - bool __vwsn_bind_opened_ = false; - bool __vwsn_bind_closed_ = false; - void __vwsn_bind_activator_(); - void __vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); - bool Open() override; - bool Update() override; - bool Close() override; - }; - - class __vwsnc7_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnc7_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - ::vl::presentation::controls::GuiDocumentViewer* __vwsn_bind_cache_0 = nullptr; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; - bool __vwsn_bind_opened_ = false; - bool __vwsn_bind_closed_ = false; - void __vwsn_bind_activator_(); - void __vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); - bool Open() override; - bool Update() override; - bool Close() override; - }; - - class __vwsnc8_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnc8_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - ::vl::presentation::controls::GuiDocumentViewer* __vwsn_bind_cache_0 = nullptr; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; - bool __vwsn_bind_opened_ = false; - bool __vwsn_bind_closed_ = false; - void __vwsn_bind_activator_(); - void __vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); - bool Open() override; - bool Update() override; - bool Close() override; - }; - - class __vwsnc9_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::demo::DocumentTabPageConstructor* __vwsnthis_0; - - __vwsnc9_Demo_demo_DocumentTabPageConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::DocumentTabPageConstructor* __vwsnctorthis_0); - - ::vl::presentation::controls::GuiDocumentViewer* __vwsn_bind_cache_0 = nullptr; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; - bool __vwsn_bind_opened_ = false; - bool __vwsn_bind_closed_ = false; - void __vwsn_bind_activator_(); - void __vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); - bool Open() override; - bool Update() override; - bool Close() override; - }; -} - -#if defined( _MSC_VER) -#pragma warning(pop) -#elif defined(__GNUC__) -#pragma GCC diagnostic pop -#elif defined(__clang__) -#pragma clang diagnostic pop -#endif - -#endif diff --git a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/DemoReflection.cpp b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/DemoReflection.cpp deleted file mode 100644 index 8f3fb236..00000000 --- a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/DemoReflection.cpp +++ /dev/null @@ -1,841 +0,0 @@ -/*********************************************************************** -!!!!!! DO NOT MODIFY !!!!!! - -GacGen.exe Resource.xml - -This file is generated by Workflow compiler -https://github.com/vczh-libraries -***********************************************************************/ - -#include "DemoReflection.h" - -#if defined( _MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#elif defined(__GNUC__) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wparentheses-equality" -#elif defined(__clang__) -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wparentheses-equality" -#endif - -/*********************************************************************** -Reflection -***********************************************************************/ - -namespace vl -{ - namespace reflection - { - namespace description - { -#ifndef VCZH_DEBUG_NO_REFLECTION - IMPL_CPP_TYPE_INFO(demo::CategoryDisplayer) - IMPL_CPP_TYPE_INFO(demo::CategoryDisplayerConstructor) - IMPL_CPP_TYPE_INFO(demo::CategoryEditor) - IMPL_CPP_TYPE_INFO(demo::CategoryEditorConstructor) - IMPL_CPP_TYPE_INFO(demo::CategoryItemTemplate) - IMPL_CPP_TYPE_INFO(demo::CategoryItemTemplateConstructor) - IMPL_CPP_TYPE_INFO(demo::CategoryVisualizer) - IMPL_CPP_TYPE_INFO(demo::CategoryVisualizerConstructor) - IMPL_CPP_TYPE_INFO(demo::DataGridTabPage) - IMPL_CPP_TYPE_INFO(demo::DataGridTabPageConstructor) - IMPL_CPP_TYPE_INFO(demo::DateEditor) - IMPL_CPP_TYPE_INFO(demo::DateEditorConstructor) - IMPL_CPP_TYPE_INFO(demo::DateFilter) - IMPL_CPP_TYPE_INFO(demo::DateFilterConstructor) - IMPL_CPP_TYPE_INFO(demo::DocumentTabPage) - IMPL_CPP_TYPE_INFO(demo::DocumentTabPageConstructor) - IMPL_CPP_TYPE_INFO(demo::GenderDisplayer) - IMPL_CPP_TYPE_INFO(demo::GenderDisplayerConstructor) - IMPL_CPP_TYPE_INFO(demo::GenderEditor) - IMPL_CPP_TYPE_INFO(demo::GenderEditorConstructor) - IMPL_CPP_TYPE_INFO(demo::GenderItemTemplate) - IMPL_CPP_TYPE_INFO(demo::GenderItemTemplateConstructor) - IMPL_CPP_TYPE_INFO(demo::GenderVisualizer) - IMPL_CPP_TYPE_INFO(demo::GenderVisualizerConstructor) - IMPL_CPP_TYPE_INFO(demo::HyperlinkWindow) - IMPL_CPP_TYPE_INFO(demo::HyperlinkWindowConstructor) - IMPL_CPP_TYPE_INFO(demo::ListViewTabPage) - IMPL_CPP_TYPE_INFO(demo::ListViewTabPageConstructor) - IMPL_CPP_TYPE_INFO(demo::MainWindow) - IMPL_CPP_TYPE_INFO(demo::MainWindowConstructor) - IMPL_CPP_TYPE_INFO(demo::MyCategory) - IMPL_CPP_TYPE_INFO(demo::MyDataItem) - IMPL_CPP_TYPE_INFO(demo::MyGender) - IMPL_CPP_TYPE_INFO(demo::MyTextItem) - IMPL_CPP_TYPE_INFO(demo::RepeatItemTemplate) - IMPL_CPP_TYPE_INFO(demo::RepeatItemTemplateConstructor) - IMPL_CPP_TYPE_INFO(demo::RepeatTabPage) - IMPL_CPP_TYPE_INFO(demo::RepeatTabPageConstructor) - IMPL_CPP_TYPE_INFO(demo::TextBoxTabPage) - IMPL_CPP_TYPE_INFO(demo::TextBoxTabPageConstructor) - IMPL_CPP_TYPE_INFO(demo::TextEditor) - IMPL_CPP_TYPE_INFO(demo::TextEditorConstructor) - IMPL_CPP_TYPE_INFO(demo::TextListTabPage) - IMPL_CPP_TYPE_INFO(demo::TextListTabPageConstructor) - IMPL_CPP_TYPE_INFO(demo::TreeViewTabPage) - IMPL_CPP_TYPE_INFO(demo::TreeViewTabPageConstructor) - -#define _ , - BEGIN_CLASS_MEMBER(::demo::CategoryDisplayer) - CLASS_MEMBER_CONSTRUCTOR(::demo::CategoryDisplayer*(), NO_PARAMETER) - CLASS_MEMBER_METHOD(GetCategory, NO_PARAMETER) - CLASS_MEMBER_METHOD(SetCategory, { L"__vwsn_value_" }) - CLASS_MEMBER_EVENT(CategoryChanged) - CLASS_MEMBER_FIELD(__vwsn_prop_Category) - CLASS_MEMBER_PROPERTY_EVENT(Category, GetCategory, SetCategory, CategoryChanged) - END_CLASS_MEMBER(::demo::CategoryDisplayer) - - BEGIN_CLASS_MEMBER(::demo::CategoryDisplayerConstructor) - CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::CategoryDisplayerConstructor>(), NO_PARAMETER) - CLASS_MEMBER_METHOD(__vwsn_initialize_instance_, { L"__vwsn_this_" }) - CLASS_MEMBER_FIELD(__vwsn_precompile_0) - CLASS_MEMBER_FIELD(__vwsn_precompile_1) - CLASS_MEMBER_FIELD(__vwsn_precompile_2) - CLASS_MEMBER_FIELD(__vwsn_precompile_3) - CLASS_MEMBER_FIELD(__vwsn_precompile_4) - CLASS_MEMBER_FIELD(__vwsn_precompile_5) - CLASS_MEMBER_FIELD(__vwsn_precompile_6) - CLASS_MEMBER_FIELD(self) - END_CLASS_MEMBER(::demo::CategoryDisplayerConstructor) - - BEGIN_CLASS_MEMBER(::demo::CategoryEditor) - CLASS_MEMBER_CONSTRUCTOR(::demo::CategoryEditor*(), NO_PARAMETER) - CLASS_MEMBER_FIELD(items) - END_CLASS_MEMBER(::demo::CategoryEditor) - - BEGIN_CLASS_MEMBER(::demo::CategoryEditorConstructor) - CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::CategoryEditorConstructor>(), NO_PARAMETER) - CLASS_MEMBER_METHOD(__vwsn_initialize_instance_, { L"__vwsn_this_" }) - CLASS_MEMBER_FIELD(__vwsn_precompile_0) - CLASS_MEMBER_FIELD(__vwsn_precompile_1) - CLASS_MEMBER_FIELD(comboBox) - CLASS_MEMBER_FIELD(self) - END_CLASS_MEMBER(::demo::CategoryEditorConstructor) - - BEGIN_CLASS_MEMBER(::demo::CategoryItemTemplate) - CLASS_MEMBER_CONSTRUCTOR(::demo::CategoryItemTemplate*(::demo::MyCategory), { L"__vwsn_ctor_parameter_SelectedCategory" }) - CLASS_MEMBER_METHOD(GetSelectedCategory, NO_PARAMETER) - CLASS_MEMBER_FIELD(__vwsn_parameter_SelectedCategory) - CLASS_MEMBER_PROPERTY_READONLY(SelectedCategory, GetSelectedCategory) - END_CLASS_MEMBER(::demo::CategoryItemTemplate) - - BEGIN_CLASS_MEMBER(::demo::CategoryItemTemplateConstructor) - CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::CategoryItemTemplateConstructor>(), NO_PARAMETER) - CLASS_MEMBER_METHOD(__vwsn_initialize_instance_, { L"__vwsn_this_" }) - CLASS_MEMBER_FIELD(__vwsn_precompile_0) - CLASS_MEMBER_FIELD(__vwsn_precompile_1) - CLASS_MEMBER_FIELD(SelectedCategory) - CLASS_MEMBER_FIELD(self) - END_CLASS_MEMBER(::demo::CategoryItemTemplateConstructor) - - BEGIN_CLASS_MEMBER(::demo::CategoryVisualizer) - CLASS_MEMBER_CONSTRUCTOR(::demo::CategoryVisualizer*(), NO_PARAMETER) - END_CLASS_MEMBER(::demo::CategoryVisualizer) - - BEGIN_CLASS_MEMBER(::demo::CategoryVisualizerConstructor) - CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::CategoryVisualizerConstructor>(), NO_PARAMETER) - CLASS_MEMBER_METHOD(__vwsn_initialize_instance_, { L"__vwsn_this_" }) - CLASS_MEMBER_FIELD(__vwsn_precompile_0) - CLASS_MEMBER_FIELD(__vwsn_precompile_1) - CLASS_MEMBER_FIELD(self) - END_CLASS_MEMBER(::demo::CategoryVisualizerConstructor) - - BEGIN_CLASS_MEMBER(::demo::DataGridTabPage) - CLASS_MEMBER_CONSTRUCTOR(::demo::DataGridTabPage*(), NO_PARAMETER) - CLASS_MEMBER_METHOD(__vwsn_instance_ctor_, NO_PARAMETER) - END_CLASS_MEMBER(::demo::DataGridTabPage) - - BEGIN_CLASS_MEMBER(::demo::DataGridTabPageConstructor) - CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::DataGridTabPageConstructor>(), NO_PARAMETER) - CLASS_MEMBER_METHOD(__vwsn_initialize_instance_, { L"__vwsn_this_" }) - CLASS_MEMBER_FIELD(__vwsn_precompile_0) - CLASS_MEMBER_FIELD(__vwsn_precompile_1) - CLASS_MEMBER_FIELD(__vwsn_precompile_10) - CLASS_MEMBER_FIELD(__vwsn_precompile_11) - CLASS_MEMBER_FIELD(__vwsn_precompile_12) - CLASS_MEMBER_FIELD(__vwsn_precompile_13) - CLASS_MEMBER_FIELD(__vwsn_precompile_14) - CLASS_MEMBER_FIELD(__vwsn_precompile_15) - CLASS_MEMBER_FIELD(__vwsn_precompile_16) - CLASS_MEMBER_FIELD(__vwsn_precompile_17) - CLASS_MEMBER_FIELD(__vwsn_precompile_18) - CLASS_MEMBER_FIELD(__vwsn_precompile_19) - CLASS_MEMBER_FIELD(__vwsn_precompile_2) - CLASS_MEMBER_FIELD(__vwsn_precompile_3) - CLASS_MEMBER_FIELD(__vwsn_precompile_4) - CLASS_MEMBER_FIELD(__vwsn_precompile_5) - CLASS_MEMBER_FIELD(__vwsn_precompile_6) - CLASS_MEMBER_FIELD(__vwsn_precompile_7) - CLASS_MEMBER_FIELD(__vwsn_precompile_8) - CLASS_MEMBER_FIELD(__vwsn_precompile_9) - CLASS_MEMBER_FIELD(comboView) - CLASS_MEMBER_FIELD(dataGrid) - CLASS_MEMBER_FIELD(dateFilter) - CLASS_MEMBER_FIELD(self) - END_CLASS_MEMBER(::demo::DataGridTabPageConstructor) - - BEGIN_CLASS_MEMBER(::demo::DateEditor) - CLASS_MEMBER_CONSTRUCTOR(::demo::DateEditor*(), NO_PARAMETER) - END_CLASS_MEMBER(::demo::DateEditor) - - BEGIN_CLASS_MEMBER(::demo::DateEditorConstructor) - CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::DateEditorConstructor>(), NO_PARAMETER) - CLASS_MEMBER_METHOD(__vwsn_initialize_instance_, { L"__vwsn_this_" }) - CLASS_MEMBER_FIELD(__vwsn_precompile_0) - CLASS_MEMBER_FIELD(comboBox) - CLASS_MEMBER_FIELD(self) - END_CLASS_MEMBER(::demo::DateEditorConstructor) - - BEGIN_CLASS_MEMBER(::demo::DateFilter) - CLASS_MEMBER_CONSTRUCTOR(::demo::DateFilter*(), NO_PARAMETER) - CLASS_MEMBER_METHOD(__vwsn_instance_ctor_, NO_PARAMETER) - CLASS_MEMBER_METHOD(GetFilter, NO_PARAMETER) - CLASS_MEMBER_METHOD(SetFilter, { L"__vwsn_value_" }) - CLASS_MEMBER_METHOD(UpdateFilter, NO_PARAMETER) - CLASS_MEMBER_FIELD(__vwsn_prop_Filter) - CLASS_MEMBER_PROPERTY_READONLY(Filter, GetFilter) - CLASS_MEMBER_FIELD(callback) - END_CLASS_MEMBER(::demo::DateFilter) - - BEGIN_CLASS_MEMBER(::demo::DateFilterConstructor) - CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::DateFilterConstructor>(), NO_PARAMETER) - CLASS_MEMBER_METHOD(__vwsn_initialize_instance_, { L"__vwsn_this_" }) - CLASS_MEMBER_FIELD(__vwsn_precompile_0) - CLASS_MEMBER_FIELD(__vwsn_precompile_1) - CLASS_MEMBER_FIELD(__vwsn_precompile_2) - CLASS_MEMBER_FIELD(__vwsn_precompile_3) - CLASS_MEMBER_FIELD(__vwsn_precompile_4) - CLASS_MEMBER_FIELD(__vwsn_precompile_5) - CLASS_MEMBER_FIELD(__vwsn_precompile_6) - CLASS_MEMBER_FIELD(checkFrom) - CLASS_MEMBER_FIELD(checkTo) - CLASS_MEMBER_FIELD(dateFrom) - CLASS_MEMBER_FIELD(dateTo) - CLASS_MEMBER_FIELD(self) - END_CLASS_MEMBER(::demo::DateFilterConstructor) - - BEGIN_CLASS_MEMBER(::demo::DocumentTabPage) - CLASS_MEMBER_CONSTRUCTOR(::demo::DocumentTabPage*(), NO_PARAMETER) - CLASS_MEMBER_METHOD(__vwsn_instance_ctor_, NO_PARAMETER) - CLASS_MEMBER_METHOD(GetHasEditableSelection, NO_PARAMETER) - CLASS_MEMBER_METHOD(GetHasEditableSelectionInSingleParagraph, NO_PARAMETER) - CLASS_MEMBER_METHOD(HasEditableCursor, NO_PARAMETER) - CLASS_MEMBER_METHOD(HasEditableHyperlink, { L"forEdit" }) - CLASS_MEMBER_METHOD(SelectAlignmentCommand, NO_PARAMETER) - CLASS_MEMBER_METHOD(SetAlignment, { L"alignment" }) - CLASS_MEMBER_METHOD(SetEditMode, { L"editMode" }) - CLASS_MEMBER_METHOD(SetHasEditableSelection, { L"__vwsn_value_" }) - CLASS_MEMBER_METHOD(SetHasEditableSelectionInSingleParagraph, { L"__vwsn_value_" }) - CLASS_MEMBER_EVENT(HasEditableSelectionChanged) - CLASS_MEMBER_EVENT(HasEditableSelectionInSingleParagraphChanged) - CLASS_MEMBER_FIELD(__vwsn_prop_HasEditableSelection) - CLASS_MEMBER_FIELD(__vwsn_prop_HasEditableSelectionInSingleParagraph) - CLASS_MEMBER_PROPERTY_EVENT(HasEditableSelection, GetHasEditableSelection, SetHasEditableSelection, HasEditableSelectionChanged) - CLASS_MEMBER_PROPERTY_EVENT(HasEditableSelectionInSingleParagraph, GetHasEditableSelectionInSingleParagraph, SetHasEditableSelectionInSingleParagraph, HasEditableSelectionInSingleParagraphChanged) - END_CLASS_MEMBER(::demo::DocumentTabPage) - - BEGIN_CLASS_MEMBER(::demo::DocumentTabPageConstructor) - CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::DocumentTabPageConstructor>(), NO_PARAMETER) - CLASS_MEMBER_METHOD(__vwsn_initialize_instance_, { L"__vwsn_this_" }) - CLASS_MEMBER_FIELD(__vwsn_precompile_0) - CLASS_MEMBER_FIELD(__vwsn_precompile_1) - CLASS_MEMBER_FIELD(__vwsn_precompile_10) - CLASS_MEMBER_FIELD(__vwsn_precompile_11) - CLASS_MEMBER_FIELD(__vwsn_precompile_12) - CLASS_MEMBER_FIELD(__vwsn_precompile_13) - CLASS_MEMBER_FIELD(__vwsn_precompile_14) - CLASS_MEMBER_FIELD(__vwsn_precompile_15) - CLASS_MEMBER_FIELD(__vwsn_precompile_16) - CLASS_MEMBER_FIELD(__vwsn_precompile_17) - CLASS_MEMBER_FIELD(__vwsn_precompile_18) - CLASS_MEMBER_FIELD(__vwsn_precompile_19) - CLASS_MEMBER_FIELD(__vwsn_precompile_2) - CLASS_MEMBER_FIELD(__vwsn_precompile_20) - CLASS_MEMBER_FIELD(__vwsn_precompile_21) - CLASS_MEMBER_FIELD(__vwsn_precompile_22) - CLASS_MEMBER_FIELD(__vwsn_precompile_23) - CLASS_MEMBER_FIELD(__vwsn_precompile_24) - CLASS_MEMBER_FIELD(__vwsn_precompile_25) - CLASS_MEMBER_FIELD(__vwsn_precompile_26) - CLASS_MEMBER_FIELD(__vwsn_precompile_27) - CLASS_MEMBER_FIELD(__vwsn_precompile_28) - CLASS_MEMBER_FIELD(__vwsn_precompile_29) - CLASS_MEMBER_FIELD(__vwsn_precompile_3) - CLASS_MEMBER_FIELD(__vwsn_precompile_30) - CLASS_MEMBER_FIELD(__vwsn_precompile_31) - CLASS_MEMBER_FIELD(__vwsn_precompile_32) - CLASS_MEMBER_FIELD(__vwsn_precompile_33) - CLASS_MEMBER_FIELD(__vwsn_precompile_34) - CLASS_MEMBER_FIELD(__vwsn_precompile_35) - CLASS_MEMBER_FIELD(__vwsn_precompile_36) - CLASS_MEMBER_FIELD(__vwsn_precompile_37) - CLASS_MEMBER_FIELD(__vwsn_precompile_38) - CLASS_MEMBER_FIELD(__vwsn_precompile_39) - CLASS_MEMBER_FIELD(__vwsn_precompile_4) - CLASS_MEMBER_FIELD(__vwsn_precompile_40) - CLASS_MEMBER_FIELD(__vwsn_precompile_41) - CLASS_MEMBER_FIELD(__vwsn_precompile_42) - CLASS_MEMBER_FIELD(__vwsn_precompile_43) - CLASS_MEMBER_FIELD(__vwsn_precompile_44) - CLASS_MEMBER_FIELD(__vwsn_precompile_45) - CLASS_MEMBER_FIELD(__vwsn_precompile_46) - CLASS_MEMBER_FIELD(__vwsn_precompile_47) - CLASS_MEMBER_FIELD(__vwsn_precompile_48) - CLASS_MEMBER_FIELD(__vwsn_precompile_49) - CLASS_MEMBER_FIELD(__vwsn_precompile_5) - CLASS_MEMBER_FIELD(__vwsn_precompile_50) - CLASS_MEMBER_FIELD(__vwsn_precompile_51) - CLASS_MEMBER_FIELD(__vwsn_precompile_52) - CLASS_MEMBER_FIELD(__vwsn_precompile_53) - CLASS_MEMBER_FIELD(__vwsn_precompile_54) - CLASS_MEMBER_FIELD(__vwsn_precompile_55) - CLASS_MEMBER_FIELD(__vwsn_precompile_56) - CLASS_MEMBER_FIELD(__vwsn_precompile_57) - CLASS_MEMBER_FIELD(__vwsn_precompile_58) - CLASS_MEMBER_FIELD(__vwsn_precompile_59) - CLASS_MEMBER_FIELD(__vwsn_precompile_6) - CLASS_MEMBER_FIELD(__vwsn_precompile_60) - CLASS_MEMBER_FIELD(__vwsn_precompile_61) - CLASS_MEMBER_FIELD(__vwsn_precompile_62) - CLASS_MEMBER_FIELD(__vwsn_precompile_63) - CLASS_MEMBER_FIELD(__vwsn_precompile_64) - CLASS_MEMBER_FIELD(__vwsn_precompile_65) - CLASS_MEMBER_FIELD(__vwsn_precompile_66) - CLASS_MEMBER_FIELD(__vwsn_precompile_67) - CLASS_MEMBER_FIELD(__vwsn_precompile_7) - CLASS_MEMBER_FIELD(__vwsn_precompile_8) - CLASS_MEMBER_FIELD(__vwsn_precompile_9) - CLASS_MEMBER_FIELD(buttonAlignment) - CLASS_MEMBER_FIELD(buttonView) - CLASS_MEMBER_FIELD(commandAlignCenter) - CLASS_MEMBER_FIELD(commandAlignDefault) - CLASS_MEMBER_FIELD(commandAlignLeft) - CLASS_MEMBER_FIELD(commandAlignRight) - CLASS_MEMBER_FIELD(commandBackColor) - CLASS_MEMBER_FIELD(commandBold) - CLASS_MEMBER_FIELD(commandColor) - CLASS_MEMBER_FIELD(commandCopy) - CLASS_MEMBER_FIELD(commandCut) - CLASS_MEMBER_FIELD(commandDelete) - CLASS_MEMBER_FIELD(commandEditHyperlink) - CLASS_MEMBER_FIELD(commandEditable) - CLASS_MEMBER_FIELD(commandFont) - CLASS_MEMBER_FIELD(commandInsertImage) - CLASS_MEMBER_FIELD(commandItalic) - CLASS_MEMBER_FIELD(commandPaste) - CLASS_MEMBER_FIELD(commandRedo) - CLASS_MEMBER_FIELD(commandRemoveHyperlink) - CLASS_MEMBER_FIELD(commandSelect) - CLASS_MEMBER_FIELD(commandSelectable) - CLASS_MEMBER_FIELD(commandStrike) - CLASS_MEMBER_FIELD(commandUnderline) - CLASS_MEMBER_FIELD(commandUndo) - CLASS_MEMBER_FIELD(commandViewOnly) - CLASS_MEMBER_FIELD(dialogColor) - CLASS_MEMBER_FIELD(dialogFont) - CLASS_MEMBER_FIELD(dialogMessage) - CLASS_MEMBER_FIELD(dialogOpen) - CLASS_MEMBER_FIELD(document) - CLASS_MEMBER_FIELD(self) - END_CLASS_MEMBER(::demo::DocumentTabPageConstructor) - - BEGIN_CLASS_MEMBER(::demo::GenderDisplayer) - CLASS_MEMBER_CONSTRUCTOR(::demo::GenderDisplayer*(), NO_PARAMETER) - CLASS_MEMBER_METHOD(GetGender, NO_PARAMETER) - CLASS_MEMBER_METHOD(SetGender, { L"__vwsn_value_" }) - CLASS_MEMBER_EVENT(GenderChanged) - CLASS_MEMBER_FIELD(__vwsn_prop_Gender) - CLASS_MEMBER_PROPERTY_EVENT(Gender, GetGender, SetGender, GenderChanged) - END_CLASS_MEMBER(::demo::GenderDisplayer) - - BEGIN_CLASS_MEMBER(::demo::GenderDisplayerConstructor) - CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::GenderDisplayerConstructor>(), NO_PARAMETER) - CLASS_MEMBER_METHOD(__vwsn_initialize_instance_, { L"__vwsn_this_" }) - CLASS_MEMBER_FIELD(__vwsn_precompile_0) - CLASS_MEMBER_FIELD(__vwsn_precompile_1) - CLASS_MEMBER_FIELD(self) - END_CLASS_MEMBER(::demo::GenderDisplayerConstructor) - - BEGIN_CLASS_MEMBER(::demo::GenderEditor) - CLASS_MEMBER_CONSTRUCTOR(::demo::GenderEditor*(), NO_PARAMETER) - CLASS_MEMBER_FIELD(items) - END_CLASS_MEMBER(::demo::GenderEditor) - - BEGIN_CLASS_MEMBER(::demo::GenderEditorConstructor) - CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::GenderEditorConstructor>(), NO_PARAMETER) - CLASS_MEMBER_METHOD(__vwsn_initialize_instance_, { L"__vwsn_this_" }) - CLASS_MEMBER_FIELD(__vwsn_precompile_0) - CLASS_MEMBER_FIELD(__vwsn_precompile_1) - CLASS_MEMBER_FIELD(comboBox) - CLASS_MEMBER_FIELD(self) - END_CLASS_MEMBER(::demo::GenderEditorConstructor) - - BEGIN_CLASS_MEMBER(::demo::GenderItemTemplate) - CLASS_MEMBER_CONSTRUCTOR(::demo::GenderItemTemplate*(::demo::MyGender), { L"__vwsn_ctor_parameter_SelectedGender" }) - CLASS_MEMBER_METHOD(GetSelectedGender, NO_PARAMETER) - CLASS_MEMBER_FIELD(__vwsn_parameter_SelectedGender) - CLASS_MEMBER_PROPERTY_READONLY(SelectedGender, GetSelectedGender) - END_CLASS_MEMBER(::demo::GenderItemTemplate) - - BEGIN_CLASS_MEMBER(::demo::GenderItemTemplateConstructor) - CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::GenderItemTemplateConstructor>(), NO_PARAMETER) - CLASS_MEMBER_METHOD(__vwsn_initialize_instance_, { L"__vwsn_this_" }) - CLASS_MEMBER_FIELD(__vwsn_precompile_0) - CLASS_MEMBER_FIELD(__vwsn_precompile_1) - CLASS_MEMBER_FIELD(__vwsn_precompile_2) - CLASS_MEMBER_FIELD(SelectedGender) - END_CLASS_MEMBER(::demo::GenderItemTemplateConstructor) - - BEGIN_CLASS_MEMBER(::demo::GenderVisualizer) - CLASS_MEMBER_CONSTRUCTOR(::demo::GenderVisualizer*(), NO_PARAMETER) - END_CLASS_MEMBER(::demo::GenderVisualizer) - - BEGIN_CLASS_MEMBER(::demo::GenderVisualizerConstructor) - CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::GenderVisualizerConstructor>(), NO_PARAMETER) - CLASS_MEMBER_METHOD(__vwsn_initialize_instance_, { L"__vwsn_this_" }) - CLASS_MEMBER_FIELD(__vwsn_precompile_0) - CLASS_MEMBER_FIELD(__vwsn_precompile_1) - CLASS_MEMBER_FIELD(self) - END_CLASS_MEMBER(::demo::GenderVisualizerConstructor) - - BEGIN_CLASS_MEMBER(::demo::HyperlinkWindow) - CLASS_MEMBER_CONSTRUCTOR(::demo::HyperlinkWindow*(), NO_PARAMETER) - CLASS_MEMBER_METHOD(GetUrl, NO_PARAMETER) - CLASS_MEMBER_METHOD(SetUrl, { L"__vwsn_value_" }) - CLASS_MEMBER_EVENT(UrlChanged) - CLASS_MEMBER_FIELD(__vwsn_prop_Url) - CLASS_MEMBER_PROPERTY_EVENT(Url, GetUrl, SetUrl, UrlChanged) - END_CLASS_MEMBER(::demo::HyperlinkWindow) - - BEGIN_CLASS_MEMBER(::demo::HyperlinkWindowConstructor) - CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::HyperlinkWindowConstructor>(), NO_PARAMETER) - CLASS_MEMBER_METHOD(__vwsn_initialize_instance_, { L"__vwsn_this_" }) - CLASS_MEMBER_FIELD(__vwsn_precompile_0) - CLASS_MEMBER_FIELD(__vwsn_precompile_1) - CLASS_MEMBER_FIELD(__vwsn_precompile_10) - CLASS_MEMBER_FIELD(__vwsn_precompile_11) - CLASS_MEMBER_FIELD(__vwsn_precompile_2) - CLASS_MEMBER_FIELD(__vwsn_precompile_3) - CLASS_MEMBER_FIELD(__vwsn_precompile_4) - CLASS_MEMBER_FIELD(__vwsn_precompile_5) - CLASS_MEMBER_FIELD(__vwsn_precompile_6) - CLASS_MEMBER_FIELD(__vwsn_precompile_7) - CLASS_MEMBER_FIELD(__vwsn_precompile_8) - CLASS_MEMBER_FIELD(__vwsn_precompile_9) - CLASS_MEMBER_FIELD(self) - CLASS_MEMBER_FIELD(textUrl) - END_CLASS_MEMBER(::demo::HyperlinkWindowConstructor) - - BEGIN_CLASS_MEMBER(::demo::ListViewTabPage) - CLASS_MEMBER_CONSTRUCTOR(::demo::ListViewTabPage*(), NO_PARAMETER) - CLASS_MEMBER_METHOD(__vwsn_instance_ctor_, NO_PARAMETER) - END_CLASS_MEMBER(::demo::ListViewTabPage) - - BEGIN_CLASS_MEMBER(::demo::ListViewTabPageConstructor) - CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::ListViewTabPageConstructor>(), NO_PARAMETER) - CLASS_MEMBER_METHOD(__vwsn_initialize_instance_, { L"__vwsn_this_" }) - CLASS_MEMBER_FIELD(__vwsn_precompile_0) - CLASS_MEMBER_FIELD(__vwsn_precompile_1) - CLASS_MEMBER_FIELD(__vwsn_precompile_10) - CLASS_MEMBER_FIELD(__vwsn_precompile_11) - CLASS_MEMBER_FIELD(__vwsn_precompile_12) - CLASS_MEMBER_FIELD(__vwsn_precompile_13) - CLASS_MEMBER_FIELD(__vwsn_precompile_14) - CLASS_MEMBER_FIELD(__vwsn_precompile_15) - CLASS_MEMBER_FIELD(__vwsn_precompile_16) - CLASS_MEMBER_FIELD(__vwsn_precompile_17) - CLASS_MEMBER_FIELD(__vwsn_precompile_18) - CLASS_MEMBER_FIELD(__vwsn_precompile_19) - CLASS_MEMBER_FIELD(__vwsn_precompile_2) - CLASS_MEMBER_FIELD(__vwsn_precompile_20) - CLASS_MEMBER_FIELD(__vwsn_precompile_21) - CLASS_MEMBER_FIELD(__vwsn_precompile_3) - CLASS_MEMBER_FIELD(__vwsn_precompile_4) - CLASS_MEMBER_FIELD(__vwsn_precompile_5) - CLASS_MEMBER_FIELD(__vwsn_precompile_6) - CLASS_MEMBER_FIELD(__vwsn_precompile_7) - CLASS_MEMBER_FIELD(__vwsn_precompile_8) - CLASS_MEMBER_FIELD(__vwsn_precompile_9) - CLASS_MEMBER_FIELD(bindableListView) - CLASS_MEMBER_FIELD(comboView) - CLASS_MEMBER_FIELD(listView) - CLASS_MEMBER_FIELD(self) - END_CLASS_MEMBER(::demo::ListViewTabPageConstructor) - - BEGIN_CLASS_MEMBER(::demo::MainWindow) - CLASS_MEMBER_CONSTRUCTOR(::demo::MainWindow*(), NO_PARAMETER) - END_CLASS_MEMBER(::demo::MainWindow) - - BEGIN_CLASS_MEMBER(::demo::MainWindowConstructor) - CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::MainWindowConstructor>(), NO_PARAMETER) - CLASS_MEMBER_METHOD(__vwsn_initialize_instance_, { L"__vwsn_this_" }) - CLASS_MEMBER_FIELD(__vwsn_precompile_0) - CLASS_MEMBER_FIELD(__vwsn_precompile_1) - CLASS_MEMBER_FIELD(__vwsn_precompile_10) - CLASS_MEMBER_FIELD(__vwsn_precompile_11) - CLASS_MEMBER_FIELD(__vwsn_precompile_12) - CLASS_MEMBER_FIELD(__vwsn_precompile_2) - CLASS_MEMBER_FIELD(__vwsn_precompile_3) - CLASS_MEMBER_FIELD(__vwsn_precompile_4) - CLASS_MEMBER_FIELD(__vwsn_precompile_5) - CLASS_MEMBER_FIELD(__vwsn_precompile_6) - CLASS_MEMBER_FIELD(__vwsn_precompile_7) - CLASS_MEMBER_FIELD(__vwsn_precompile_8) - CLASS_MEMBER_FIELD(__vwsn_precompile_9) - CLASS_MEMBER_FIELD(self) - END_CLASS_MEMBER(::demo::MainWindowConstructor) - - BEGIN_ENUM_ITEM(::demo::MyCategory) - ENUM_CLASS_ITEM(Black) - ENUM_CLASS_ITEM(Blue) - ENUM_CLASS_ITEM(Lime) - ENUM_CLASS_ITEM(Red) - ENUM_CLASS_ITEM(White) - END_ENUM_ITEM(::demo::MyCategory) - - BEGIN_CLASS_MEMBER(::demo::MyDataItem) - CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::MyDataItem>(), NO_PARAMETER) - CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::MyDataItem>(const ::vl::WString&, ::demo::MyGender, ::demo::MyCategory, ::vl::DateTime, const ::vl::WString&), { L"name" _ L"gender" _ L"category" _ L"birthday" _ L"website" }) - CLASS_MEMBER_METHOD(GetBirthday, NO_PARAMETER) - CLASS_MEMBER_METHOD(GetCategory, NO_PARAMETER) - CLASS_MEMBER_METHOD(GetGender, NO_PARAMETER) - CLASS_MEMBER_METHOD(GetLargeImage, NO_PARAMETER) - CLASS_MEMBER_METHOD(GetName, NO_PARAMETER) - CLASS_MEMBER_METHOD(GetSmallImage, NO_PARAMETER) - CLASS_MEMBER_METHOD(GetWebsite, NO_PARAMETER) - CLASS_MEMBER_METHOD(SetBirthday, { L"__vwsn_value_" }) - CLASS_MEMBER_METHOD(SetCategory, { L"__vwsn_value_" }) - CLASS_MEMBER_METHOD(SetGender, { L"__vwsn_value_" }) - CLASS_MEMBER_METHOD(SetLargeImage, { L"__vwsn_value_" }) - CLASS_MEMBER_METHOD(SetName, { L"__vwsn_value_" }) - CLASS_MEMBER_METHOD(SetSmallImage, { L"__vwsn_value_" }) - CLASS_MEMBER_METHOD(SetWebsite, { L"__vwsn_value_" }) - CLASS_MEMBER_FIELD(__vwsn_prop_Birthday) - CLASS_MEMBER_FIELD(__vwsn_prop_Category) - CLASS_MEMBER_FIELD(__vwsn_prop_Gender) - CLASS_MEMBER_FIELD(__vwsn_prop_LargeImage) - CLASS_MEMBER_FIELD(__vwsn_prop_Name) - CLASS_MEMBER_FIELD(__vwsn_prop_SmallImage) - CLASS_MEMBER_FIELD(__vwsn_prop_Website) - CLASS_MEMBER_PROPERTY(Birthday, GetBirthday, SetBirthday) - CLASS_MEMBER_PROPERTY(Category, GetCategory, SetCategory) - CLASS_MEMBER_PROPERTY(Gender, GetGender, SetGender) - CLASS_MEMBER_PROPERTY(LargeImage, GetLargeImage, SetLargeImage) - CLASS_MEMBER_PROPERTY(Name, GetName, SetName) - CLASS_MEMBER_PROPERTY(SmallImage, GetSmallImage, SetSmallImage) - CLASS_MEMBER_PROPERTY(Website, GetWebsite, SetWebsite) - END_CLASS_MEMBER(::demo::MyDataItem) - - BEGIN_ENUM_ITEM(::demo::MyGender) - ENUM_CLASS_ITEM(Female) - ENUM_CLASS_ITEM(Male) - END_ENUM_ITEM(::demo::MyGender) - - BEGIN_CLASS_MEMBER(::demo::MyTextItem) - CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::MyTextItem>(), NO_PARAMETER) - CLASS_MEMBER_METHOD(GetChecked, NO_PARAMETER) - CLASS_MEMBER_METHOD(GetName, NO_PARAMETER) - CLASS_MEMBER_METHOD(SetChecked, { L"__vwsn_value_" }) - CLASS_MEMBER_METHOD(SetName, { L"__vwsn_value_" }) - CLASS_MEMBER_FIELD(__vwsn_prop_Checked) - CLASS_MEMBER_FIELD(__vwsn_prop_Name) - CLASS_MEMBER_PROPERTY(Checked, GetChecked, SetChecked) - CLASS_MEMBER_PROPERTY(Name, GetName, SetName) - END_CLASS_MEMBER(::demo::MyTextItem) - - BEGIN_CLASS_MEMBER(::demo::RepeatItemTemplate) - CLASS_MEMBER_CONSTRUCTOR(::demo::RepeatItemTemplate*(::vl::Ptr<::demo::MyTextItem>), { L"__vwsn_ctor_parameter_ViewModel" }) - CLASS_MEMBER_METHOD(GetViewModel, NO_PARAMETER) - CLASS_MEMBER_FIELD(__vwsn_parameter_ViewModel) - CLASS_MEMBER_PROPERTY_READONLY(ViewModel, GetViewModel) - END_CLASS_MEMBER(::demo::RepeatItemTemplate) - - BEGIN_CLASS_MEMBER(::demo::RepeatItemTemplateConstructor) - CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::RepeatItemTemplateConstructor>(), NO_PARAMETER) - CLASS_MEMBER_METHOD(__vwsn_initialize_instance_, { L"__vwsn_this_" }) - CLASS_MEMBER_FIELD(__vwsn_precompile_0) - CLASS_MEMBER_FIELD(__vwsn_precompile_1) - CLASS_MEMBER_FIELD(__vwsn_precompile_2) - CLASS_MEMBER_FIELD(ViewModel) - END_CLASS_MEMBER(::demo::RepeatItemTemplateConstructor) - - BEGIN_CLASS_MEMBER(::demo::RepeatTabPage) - CLASS_MEMBER_CONSTRUCTOR(::demo::RepeatTabPage*(), NO_PARAMETER) - CLASS_MEMBER_METHOD(NumberToText, { L"i" }) - CLASS_MEMBER_METHOD(NumberToText_0to999, { L"i" }) - CLASS_MEMBER_METHOD(NumberToText_1To99, { L"i" }) - CLASS_MEMBER_METHOD(ToText_11to19, { L"i" }) - CLASS_MEMBER_METHOD(ToText_1to9, { L"i" }) - CLASS_MEMBER_FIELD(counter) - CLASS_MEMBER_FIELD(itemsToBind) - END_CLASS_MEMBER(::demo::RepeatTabPage) - - BEGIN_CLASS_MEMBER(::demo::RepeatTabPageConstructor) - CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::RepeatTabPageConstructor>(), NO_PARAMETER) - CLASS_MEMBER_METHOD(__vwsn_initialize_instance_, { L"__vwsn_this_" }) - CLASS_MEMBER_FIELD(__vwsn_precompile_0) - CLASS_MEMBER_FIELD(__vwsn_precompile_1) - CLASS_MEMBER_FIELD(__vwsn_precompile_10) - CLASS_MEMBER_FIELD(__vwsn_precompile_11) - CLASS_MEMBER_FIELD(__vwsn_precompile_12) - CLASS_MEMBER_FIELD(__vwsn_precompile_13) - CLASS_MEMBER_FIELD(__vwsn_precompile_14) - CLASS_MEMBER_FIELD(__vwsn_precompile_15) - CLASS_MEMBER_FIELD(__vwsn_precompile_16) - CLASS_MEMBER_FIELD(__vwsn_precompile_17) - CLASS_MEMBER_FIELD(__vwsn_precompile_18) - CLASS_MEMBER_FIELD(__vwsn_precompile_19) - CLASS_MEMBER_FIELD(__vwsn_precompile_2) - CLASS_MEMBER_FIELD(__vwsn_precompile_3) - CLASS_MEMBER_FIELD(__vwsn_precompile_4) - CLASS_MEMBER_FIELD(__vwsn_precompile_5) - CLASS_MEMBER_FIELD(__vwsn_precompile_6) - CLASS_MEMBER_FIELD(__vwsn_precompile_7) - CLASS_MEMBER_FIELD(__vwsn_precompile_8) - CLASS_MEMBER_FIELD(__vwsn_precompile_9) - CLASS_MEMBER_FIELD(repeatFlow) - CLASS_MEMBER_FIELD(repeatStack) - CLASS_MEMBER_FIELD(self) - END_CLASS_MEMBER(::demo::RepeatTabPageConstructor) - - BEGIN_CLASS_MEMBER(::demo::TextBoxTabPage) - CLASS_MEMBER_CONSTRUCTOR(::demo::TextBoxTabPage*(), NO_PARAMETER) - CLASS_MEMBER_METHOD(UpdateFont, { L"newFont" }) - CLASS_MEMBER_EVENT(OnMakeFontLarger) - CLASS_MEMBER_EVENT(OnMakeFontSmaller) - CLASS_MEMBER_FIELD(flag) - END_CLASS_MEMBER(::demo::TextBoxTabPage) - - BEGIN_CLASS_MEMBER(::demo::TextBoxTabPageConstructor) - CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::TextBoxTabPageConstructor>(), NO_PARAMETER) - CLASS_MEMBER_METHOD(__vwsn_initialize_instance_, { L"__vwsn_this_" }) - CLASS_MEMBER_FIELD(__vwsn_precompile_0) - CLASS_MEMBER_FIELD(__vwsn_precompile_1) - CLASS_MEMBER_FIELD(__vwsn_precompile_10) - CLASS_MEMBER_FIELD(__vwsn_precompile_11) - CLASS_MEMBER_FIELD(__vwsn_precompile_12) - CLASS_MEMBER_FIELD(__vwsn_precompile_13) - CLASS_MEMBER_FIELD(__vwsn_precompile_14) - CLASS_MEMBER_FIELD(__vwsn_precompile_15) - CLASS_MEMBER_FIELD(__vwsn_precompile_16) - CLASS_MEMBER_FIELD(__vwsn_precompile_17) - CLASS_MEMBER_FIELD(__vwsn_precompile_18) - CLASS_MEMBER_FIELD(__vwsn_precompile_19) - CLASS_MEMBER_FIELD(__vwsn_precompile_2) - CLASS_MEMBER_FIELD(__vwsn_precompile_20) - CLASS_MEMBER_FIELD(__vwsn_precompile_21) - CLASS_MEMBER_FIELD(__vwsn_precompile_3) - CLASS_MEMBER_FIELD(__vwsn_precompile_4) - CLASS_MEMBER_FIELD(__vwsn_precompile_5) - CLASS_MEMBER_FIELD(__vwsn_precompile_6) - CLASS_MEMBER_FIELD(__vwsn_precompile_7) - CLASS_MEMBER_FIELD(__vwsn_precompile_8) - CLASS_MEMBER_FIELD(__vwsn_precompile_9) - CLASS_MEMBER_FIELD(documentLabel) - CLASS_MEMBER_FIELD(documentTextBox) - CLASS_MEMBER_FIELD(documentViewer) - CLASS_MEMBER_FIELD(self) - CLASS_MEMBER_FIELD(textBoxM) - CLASS_MEMBER_FIELD(textBoxS) - END_CLASS_MEMBER(::demo::TextBoxTabPageConstructor) - - BEGIN_CLASS_MEMBER(::demo::TextEditor) - CLASS_MEMBER_CONSTRUCTOR(::demo::TextEditor*(), NO_PARAMETER) - END_CLASS_MEMBER(::demo::TextEditor) - - BEGIN_CLASS_MEMBER(::demo::TextEditorConstructor) - CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::TextEditorConstructor>(), NO_PARAMETER) - CLASS_MEMBER_METHOD(__vwsn_initialize_instance_, { L"__vwsn_this_" }) - CLASS_MEMBER_FIELD(__vwsn_precompile_0) - CLASS_MEMBER_FIELD(self) - CLASS_MEMBER_FIELD(textBox) - END_CLASS_MEMBER(::demo::TextEditorConstructor) - - BEGIN_CLASS_MEMBER(::demo::TextListTabPage) - CLASS_MEMBER_CONSTRUCTOR(::demo::TextListTabPage*(), NO_PARAMETER) - CLASS_MEMBER_FIELD(counter) - CLASS_MEMBER_FIELD(itemsToBind) - END_CLASS_MEMBER(::demo::TextListTabPage) - - BEGIN_CLASS_MEMBER(::demo::TextListTabPageConstructor) - CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::TextListTabPageConstructor>(), NO_PARAMETER) - CLASS_MEMBER_METHOD(__vwsn_initialize_instance_, { L"__vwsn_this_" }) - CLASS_MEMBER_FIELD(__vwsn_precompile_0) - CLASS_MEMBER_FIELD(__vwsn_precompile_1) - CLASS_MEMBER_FIELD(__vwsn_precompile_10) - CLASS_MEMBER_FIELD(__vwsn_precompile_11) - CLASS_MEMBER_FIELD(__vwsn_precompile_12) - CLASS_MEMBER_FIELD(__vwsn_precompile_13) - CLASS_MEMBER_FIELD(__vwsn_precompile_14) - CLASS_MEMBER_FIELD(__vwsn_precompile_15) - CLASS_MEMBER_FIELD(__vwsn_precompile_16) - CLASS_MEMBER_FIELD(__vwsn_precompile_17) - CLASS_MEMBER_FIELD(__vwsn_precompile_18) - CLASS_MEMBER_FIELD(__vwsn_precompile_19) - CLASS_MEMBER_FIELD(__vwsn_precompile_2) - CLASS_MEMBER_FIELD(__vwsn_precompile_20) - CLASS_MEMBER_FIELD(__vwsn_precompile_21) - CLASS_MEMBER_FIELD(__vwsn_precompile_22) - CLASS_MEMBER_FIELD(__vwsn_precompile_23) - CLASS_MEMBER_FIELD(__vwsn_precompile_24) - CLASS_MEMBER_FIELD(__vwsn_precompile_3) - CLASS_MEMBER_FIELD(__vwsn_precompile_4) - CLASS_MEMBER_FIELD(__vwsn_precompile_5) - CLASS_MEMBER_FIELD(__vwsn_precompile_6) - CLASS_MEMBER_FIELD(__vwsn_precompile_7) - CLASS_MEMBER_FIELD(__vwsn_precompile_8) - CLASS_MEMBER_FIELD(__vwsn_precompile_9) - CLASS_MEMBER_FIELD(bindableTextList) - CLASS_MEMBER_FIELD(comboView) - CLASS_MEMBER_FIELD(self) - CLASS_MEMBER_FIELD(textList) - END_CLASS_MEMBER(::demo::TextListTabPageConstructor) - - BEGIN_CLASS_MEMBER(::demo::TreeViewTabPage) - CLASS_MEMBER_CONSTRUCTOR(::demo::TreeViewTabPage*(), NO_PARAMETER) - CLASS_MEMBER_METHOD(__vwsn_instance_ctor_, NO_PARAMETER) - CLASS_MEMBER_FIELD(nodesToBind) - END_CLASS_MEMBER(::demo::TreeViewTabPage) - - BEGIN_CLASS_MEMBER(::demo::TreeViewTabPageConstructor) - CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::TreeViewTabPageConstructor>(), NO_PARAMETER) - CLASS_MEMBER_METHOD(__vwsn_initialize_instance_, { L"__vwsn_this_" }) - CLASS_MEMBER_FIELD(__vwsn_precompile_0) - CLASS_MEMBER_FIELD(__vwsn_precompile_1) - CLASS_MEMBER_FIELD(__vwsn_precompile_10) - CLASS_MEMBER_FIELD(__vwsn_precompile_11) - CLASS_MEMBER_FIELD(__vwsn_precompile_12) - CLASS_MEMBER_FIELD(__vwsn_precompile_13) - CLASS_MEMBER_FIELD(__vwsn_precompile_14) - CLASS_MEMBER_FIELD(__vwsn_precompile_15) - CLASS_MEMBER_FIELD(__vwsn_precompile_16) - CLASS_MEMBER_FIELD(__vwsn_precompile_17) - CLASS_MEMBER_FIELD(__vwsn_precompile_18) - CLASS_MEMBER_FIELD(__vwsn_precompile_19) - CLASS_MEMBER_FIELD(__vwsn_precompile_2) - CLASS_MEMBER_FIELD(__vwsn_precompile_20) - CLASS_MEMBER_FIELD(__vwsn_precompile_21) - CLASS_MEMBER_FIELD(__vwsn_precompile_22) - CLASS_MEMBER_FIELD(__vwsn_precompile_23) - CLASS_MEMBER_FIELD(__vwsn_precompile_24) - CLASS_MEMBER_FIELD(__vwsn_precompile_25) - CLASS_MEMBER_FIELD(__vwsn_precompile_26) - CLASS_MEMBER_FIELD(__vwsn_precompile_27) - CLASS_MEMBER_FIELD(__vwsn_precompile_28) - CLASS_MEMBER_FIELD(__vwsn_precompile_29) - CLASS_MEMBER_FIELD(__vwsn_precompile_3) - CLASS_MEMBER_FIELD(__vwsn_precompile_30) - CLASS_MEMBER_FIELD(__vwsn_precompile_31) - CLASS_MEMBER_FIELD(__vwsn_precompile_32) - CLASS_MEMBER_FIELD(__vwsn_precompile_33) - CLASS_MEMBER_FIELD(__vwsn_precompile_34) - CLASS_MEMBER_FIELD(__vwsn_precompile_35) - CLASS_MEMBER_FIELD(__vwsn_precompile_36) - CLASS_MEMBER_FIELD(__vwsn_precompile_37) - CLASS_MEMBER_FIELD(__vwsn_precompile_38) - CLASS_MEMBER_FIELD(__vwsn_precompile_39) - CLASS_MEMBER_FIELD(__vwsn_precompile_4) - CLASS_MEMBER_FIELD(__vwsn_precompile_40) - CLASS_MEMBER_FIELD(__vwsn_precompile_41) - CLASS_MEMBER_FIELD(__vwsn_precompile_42) - CLASS_MEMBER_FIELD(__vwsn_precompile_43) - CLASS_MEMBER_FIELD(__vwsn_precompile_44) - CLASS_MEMBER_FIELD(__vwsn_precompile_45) - CLASS_MEMBER_FIELD(__vwsn_precompile_46) - CLASS_MEMBER_FIELD(__vwsn_precompile_47) - CLASS_MEMBER_FIELD(__vwsn_precompile_48) - CLASS_MEMBER_FIELD(__vwsn_precompile_49) - CLASS_MEMBER_FIELD(__vwsn_precompile_5) - CLASS_MEMBER_FIELD(__vwsn_precompile_6) - CLASS_MEMBER_FIELD(__vwsn_precompile_7) - CLASS_MEMBER_FIELD(__vwsn_precompile_8) - CLASS_MEMBER_FIELD(__vwsn_precompile_9) - CLASS_MEMBER_FIELD(bindableTreeView) - CLASS_MEMBER_FIELD(self) - CLASS_MEMBER_FIELD(treeView) - END_CLASS_MEMBER(::demo::TreeViewTabPageConstructor) - -#undef _ - class DemoTypeLoader : public Object, public ITypeLoader - { - public: - void Load(ITypeManager* manager) - { - ADD_TYPE_INFO(::demo::CategoryDisplayer) - ADD_TYPE_INFO(::demo::CategoryDisplayerConstructor) - ADD_TYPE_INFO(::demo::CategoryEditor) - ADD_TYPE_INFO(::demo::CategoryEditorConstructor) - ADD_TYPE_INFO(::demo::CategoryItemTemplate) - ADD_TYPE_INFO(::demo::CategoryItemTemplateConstructor) - ADD_TYPE_INFO(::demo::CategoryVisualizer) - ADD_TYPE_INFO(::demo::CategoryVisualizerConstructor) - ADD_TYPE_INFO(::demo::DataGridTabPage) - ADD_TYPE_INFO(::demo::DataGridTabPageConstructor) - ADD_TYPE_INFO(::demo::DateEditor) - ADD_TYPE_INFO(::demo::DateEditorConstructor) - ADD_TYPE_INFO(::demo::DateFilter) - ADD_TYPE_INFO(::demo::DateFilterConstructor) - ADD_TYPE_INFO(::demo::DocumentTabPage) - ADD_TYPE_INFO(::demo::DocumentTabPageConstructor) - ADD_TYPE_INFO(::demo::GenderDisplayer) - ADD_TYPE_INFO(::demo::GenderDisplayerConstructor) - ADD_TYPE_INFO(::demo::GenderEditor) - ADD_TYPE_INFO(::demo::GenderEditorConstructor) - ADD_TYPE_INFO(::demo::GenderItemTemplate) - ADD_TYPE_INFO(::demo::GenderItemTemplateConstructor) - ADD_TYPE_INFO(::demo::GenderVisualizer) - ADD_TYPE_INFO(::demo::GenderVisualizerConstructor) - ADD_TYPE_INFO(::demo::HyperlinkWindow) - ADD_TYPE_INFO(::demo::HyperlinkWindowConstructor) - ADD_TYPE_INFO(::demo::ListViewTabPage) - ADD_TYPE_INFO(::demo::ListViewTabPageConstructor) - ADD_TYPE_INFO(::demo::MainWindow) - ADD_TYPE_INFO(::demo::MainWindowConstructor) - ADD_TYPE_INFO(::demo::MyCategory) - ADD_TYPE_INFO(::demo::MyDataItem) - ADD_TYPE_INFO(::demo::MyGender) - ADD_TYPE_INFO(::demo::MyTextItem) - ADD_TYPE_INFO(::demo::RepeatItemTemplate) - ADD_TYPE_INFO(::demo::RepeatItemTemplateConstructor) - ADD_TYPE_INFO(::demo::RepeatTabPage) - ADD_TYPE_INFO(::demo::RepeatTabPageConstructor) - ADD_TYPE_INFO(::demo::TextBoxTabPage) - ADD_TYPE_INFO(::demo::TextBoxTabPageConstructor) - ADD_TYPE_INFO(::demo::TextEditor) - ADD_TYPE_INFO(::demo::TextEditorConstructor) - ADD_TYPE_INFO(::demo::TextListTabPage) - ADD_TYPE_INFO(::demo::TextListTabPageConstructor) - ADD_TYPE_INFO(::demo::TreeViewTabPage) - ADD_TYPE_INFO(::demo::TreeViewTabPageConstructor) - } - - void Unload(ITypeManager* manager) - { - } - }; -#endif - - bool LoadDemoTypes() - { -#ifndef VCZH_DEBUG_NO_REFLECTION - if (auto manager = GetGlobalTypeManager()) - { - return manager->AddTypeLoader(MakePtr()); - } -#endif - return false; - } - } - } -} - -#if defined( _MSC_VER) -#pragma warning(pop) -#elif defined(__GNUC__) -#pragma GCC diagnostic pop -#elif defined(__clang__) -#pragma clang diagnostic pop -#endif diff --git a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/DemoReflection.h b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/DemoReflection.h deleted file mode 100644 index 8e7fa83d..00000000 --- a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/DemoReflection.h +++ /dev/null @@ -1,98 +0,0 @@ -/*********************************************************************** -!!!!!! DO NOT MODIFY !!!!!! - -GacGen.exe Resource.xml - -This file is generated by Workflow compiler -https://github.com/vczh-libraries -***********************************************************************/ - -#ifndef VCZH_WORKFLOW_COMPILER_GENERATED_DEMOREFLECTION -#define VCZH_WORKFLOW_COMPILER_GENERATED_DEMOREFLECTION - -#include "Demo.h" - -#if defined( _MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#elif defined(__GNUC__) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wparentheses-equality" -#elif defined(__clang__) -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wparentheses-equality" -#endif - -/*********************************************************************** -Reflection -***********************************************************************/ - -namespace vl -{ - namespace reflection - { - namespace description - { -#ifndef VCZH_DEBUG_NO_REFLECTION - DECL_TYPE_INFO(::demo::CategoryDisplayer) - DECL_TYPE_INFO(::demo::CategoryDisplayerConstructor) - DECL_TYPE_INFO(::demo::CategoryEditor) - DECL_TYPE_INFO(::demo::CategoryEditorConstructor) - DECL_TYPE_INFO(::demo::CategoryItemTemplate) - DECL_TYPE_INFO(::demo::CategoryItemTemplateConstructor) - DECL_TYPE_INFO(::demo::CategoryVisualizer) - DECL_TYPE_INFO(::demo::CategoryVisualizerConstructor) - DECL_TYPE_INFO(::demo::DataGridTabPage) - DECL_TYPE_INFO(::demo::DataGridTabPageConstructor) - DECL_TYPE_INFO(::demo::DateEditor) - DECL_TYPE_INFO(::demo::DateEditorConstructor) - DECL_TYPE_INFO(::demo::DateFilter) - DECL_TYPE_INFO(::demo::DateFilterConstructor) - DECL_TYPE_INFO(::demo::DocumentTabPage) - DECL_TYPE_INFO(::demo::DocumentTabPageConstructor) - DECL_TYPE_INFO(::demo::GenderDisplayer) - DECL_TYPE_INFO(::demo::GenderDisplayerConstructor) - DECL_TYPE_INFO(::demo::GenderEditor) - DECL_TYPE_INFO(::demo::GenderEditorConstructor) - DECL_TYPE_INFO(::demo::GenderItemTemplate) - DECL_TYPE_INFO(::demo::GenderItemTemplateConstructor) - DECL_TYPE_INFO(::demo::GenderVisualizer) - DECL_TYPE_INFO(::demo::GenderVisualizerConstructor) - DECL_TYPE_INFO(::demo::HyperlinkWindow) - DECL_TYPE_INFO(::demo::HyperlinkWindowConstructor) - DECL_TYPE_INFO(::demo::ListViewTabPage) - DECL_TYPE_INFO(::demo::ListViewTabPageConstructor) - DECL_TYPE_INFO(::demo::MainWindow) - DECL_TYPE_INFO(::demo::MainWindowConstructor) - DECL_TYPE_INFO(::demo::MyCategory) - DECL_TYPE_INFO(::demo::MyDataItem) - DECL_TYPE_INFO(::demo::MyGender) - DECL_TYPE_INFO(::demo::MyTextItem) - DECL_TYPE_INFO(::demo::RepeatItemTemplate) - DECL_TYPE_INFO(::demo::RepeatItemTemplateConstructor) - DECL_TYPE_INFO(::demo::RepeatTabPage) - DECL_TYPE_INFO(::demo::RepeatTabPageConstructor) - DECL_TYPE_INFO(::demo::TextBoxTabPage) - DECL_TYPE_INFO(::demo::TextBoxTabPageConstructor) - DECL_TYPE_INFO(::demo::TextEditor) - DECL_TYPE_INFO(::demo::TextEditorConstructor) - DECL_TYPE_INFO(::demo::TextListTabPage) - DECL_TYPE_INFO(::demo::TextListTabPageConstructor) - DECL_TYPE_INFO(::demo::TreeViewTabPage) - DECL_TYPE_INFO(::demo::TreeViewTabPageConstructor) -#endif - - extern bool LoadDemoTypes(); - } - } -} - -#if defined( _MSC_VER) -#pragma warning(pop) -#elif defined(__GNUC__) -#pragma GCC diagnostic pop -#elif defined(__clang__) -#pragma clang diagnostic pop -#endif - -#endif diff --git a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/MainWindow.cpp b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/MainWindow.cpp deleted file mode 100644 index 4d60955b..00000000 --- a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/MainWindow.cpp +++ /dev/null @@ -1,66 +0,0 @@ -/*********************************************************************** -!!!!!! DO NOT MODIFY !!!!!! - -GacGen.exe Resource.xml - -This file is generated by Workflow compiler -https://github.com/vczh-libraries -***********************************************************************/ - -#include "Demo.h" -/* CodePack:BeginIgnore() */ -#ifndef VCZH_DEBUG_NO_REFLECTION -/* CodePack:ConditionOff(VCZH_DEBUG_NO_REFLECTION, DemoReflection.h) */ -#include "DemoReflection.h" -#endif -/* CodePack:EndIgnore() */ - -#if defined( _MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#elif defined(__GNUC__) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wparentheses-equality" -#elif defined(__clang__) -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wparentheses-equality" -#endif - -#define GLOBAL_SYMBOL ::vl_workflow_global::Demo:: -#define GLOBAL_NAME ::vl_workflow_global::Demo::Instance(). -#define GLOBAL_OBJ &::vl_workflow_global::Demo::Instance() -#define USERIMPL(...) - -/*********************************************************************** -Class (::demo::MainWindow) -***********************************************************************/ - -namespace demo -{ - MainWindow::MainWindow() - : ::vl::presentation::controls::GuiWindow(::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateWindowStyle()) - { - auto __vwsn_resource_ = ::vl::__vwsn::This(::vl::presentation::GetResourceManager())->GetResourceFromClassName(::vl::WString(L"demo::MainWindow", false)); - auto __vwsn_resolver_ = ::vl::Ptr<::vl::presentation::GuiResourcePathResolver>(new ::vl::presentation::GuiResourcePathResolver(__vwsn_resource_, ::vl::__vwsn::This(__vwsn_resource_.Obj())->GetWorkingDirectory())); - ::vl::__vwsn::This(this)->SetResourceResolver(__vwsn_resolver_); - ::vl::__vwsn::This(this)->__vwsn_initialize_instance_(this); - } - - MainWindow::~MainWindow() - { - this->FinalizeInstanceRecursively(static_cast<::vl::presentation::controls::GuiControlHost*>(this)); - } - -} -#undef GLOBAL_SYMBOL -#undef GLOBAL_NAME -#undef GLOBAL_OBJ -#undef USERIMPL - -#if defined( _MSC_VER) -#pragma warning(pop) -#elif defined(__GNUC__) -#pragma GCC diagnostic pop -#elif defined(__clang__) -#pragma clang diagnostic pop -#endif diff --git a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/MainWindow.h b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/MainWindow.h deleted file mode 100644 index b0e27f12..00000000 --- a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/MainWindow.h +++ /dev/null @@ -1,48 +0,0 @@ -/*********************************************************************** -!!!!!! DO NOT MODIFY !!!!!! - -GacGen.exe Resource.xml - -This file is generated by Workflow compiler -https://github.com/vczh-libraries -***********************************************************************/ - -#ifndef VCZH_WORKFLOW_COMPILER_GENERATED_MAINWINDOW -#define VCZH_WORKFLOW_COMPILER_GENERATED_MAINWINDOW - -#include "DemoPartialClasses.h" - -#if defined( _MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#elif defined(__GNUC__) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wparentheses-equality" -#elif defined(__clang__) -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wparentheses-equality" -#endif - -namespace demo -{ - class MainWindow : public ::vl::presentation::controls::GuiWindow, public ::demo::MainWindowConstructor, public ::vl::reflection::Description - { - friend class ::demo::MainWindowConstructor; -#ifndef VCZH_DEBUG_NO_REFLECTION - friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; -#endif - public: - MainWindow(); - ~MainWindow(); - }; - -} -#if defined( _MSC_VER) -#pragma warning(pop) -#elif defined(__GNUC__) -#pragma GCC diagnostic pop -#elif defined(__clang__) -#pragma clang diagnostic pop -#endif - -#endif diff --git a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/TextBoxTabPage.xml b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/TextBoxTabPage.xml index adfc4916..607056f1 100644 --- a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/TextBoxTabPage.xml +++ b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/TextBoxTabPage.xml @@ -142,7 +142,7 @@ So as I pray, unlimited blade works.]]> - + diff --git a/Tutorial/GacUI_Controls/AddressBook/UI/Codegen.bat b/Tutorial/GacUI_Controls/AddressBook/UI/Codegen.bat deleted file mode 100644 index a39b07ea..00000000 --- a/Tutorial/GacUI_Controls/AddressBook/UI/Codegen.bat +++ /dev/null @@ -1 +0,0 @@ -%~dp0..\..\..\..\Tools\GacGen %~dp0Resource.xml diff --git a/Tutorial/GacUI_Controls/ColorPicker/UI/Codegen.bat b/Tutorial/GacUI_Controls/ColorPicker/UI/Codegen.bat deleted file mode 100644 index a39b07ea..00000000 --- a/Tutorial/GacUI_Controls/ColorPicker/UI/Codegen.bat +++ /dev/null @@ -1 +0,0 @@ -%~dp0..\..\..\..\Tools\GacGen %~dp0Resource.xml diff --git a/Tutorial/GacUI_Controls/ContainersAndButtons/UI/Codegen.bat b/Tutorial/GacUI_Controls/ContainersAndButtons/UI/Codegen.bat deleted file mode 100644 index a39b07ea..00000000 --- a/Tutorial/GacUI_Controls/ContainersAndButtons/UI/Codegen.bat +++ /dev/null @@ -1 +0,0 @@ -%~dp0..\..\..\..\Tools\GacGen %~dp0Resource.xml diff --git a/Tutorial/GacUI_Controls/DataGrid/UI/Codegen.bat b/Tutorial/GacUI_Controls/DataGrid/UI/Codegen.bat deleted file mode 100644 index a39b07ea..00000000 --- a/Tutorial/GacUI_Controls/DataGrid/UI/Codegen.bat +++ /dev/null @@ -1 +0,0 @@ -%~dp0..\..\..\..\Tools\GacGen %~dp0Resource.xml diff --git a/Tutorial/GacUI_Controls/DocumentEditor/UI/Codegen.bat b/Tutorial/GacUI_Controls/DocumentEditor/UI/Codegen.bat deleted file mode 100644 index a39b07ea..00000000 --- a/Tutorial/GacUI_Controls/DocumentEditor/UI/Codegen.bat +++ /dev/null @@ -1 +0,0 @@ -%~dp0..\..\..\..\Tools\GacGen %~dp0Resource.xml diff --git a/Tutorial/GacUI_Controls/ListControls/UI/Codegen.bat b/Tutorial/GacUI_Controls/ListControls/UI/Codegen.bat deleted file mode 100644 index a39b07ea..00000000 --- a/Tutorial/GacUI_Controls/ListControls/UI/Codegen.bat +++ /dev/null @@ -1 +0,0 @@ -%~dp0..\..\..\..\Tools\GacGen %~dp0Resource.xml diff --git a/Tutorial/GacUI_Controls/ProgressAndAsync/UI/Codegen.bat b/Tutorial/GacUI_Controls/ProgressAndAsync/UI/Codegen.bat deleted file mode 100644 index a39b07ea..00000000 --- a/Tutorial/GacUI_Controls/ProgressAndAsync/UI/Codegen.bat +++ /dev/null @@ -1 +0,0 @@ -%~dp0..\..\..\..\Tools\GacGen %~dp0Resource.xml diff --git a/Tutorial/GacUI_Controls/TextEditor/UI/Codegen.bat b/Tutorial/GacUI_Controls/TextEditor/UI/Codegen.bat deleted file mode 100644 index a39b07ea..00000000 --- a/Tutorial/GacUI_Controls/TextEditor/UI/Codegen.bat +++ /dev/null @@ -1 +0,0 @@ -%~dp0..\..\..\..\Tools\GacGen %~dp0Resource.xml diff --git a/Tutorial/GacUI_HelloWorlds/CppXml/UI/Codegen.bat b/Tutorial/GacUI_HelloWorlds/CppXml/UI/Codegen.bat deleted file mode 100644 index a39b07ea..00000000 --- a/Tutorial/GacUI_HelloWorlds/CppXml/UI/Codegen.bat +++ /dev/null @@ -1 +0,0 @@ -%~dp0..\..\..\..\Tools\GacGen %~dp0Resource.xml diff --git a/Tutorial/GacUI_HelloWorlds/CppXml/UI/Source/HelloWorldPartialClasses.cpp b/Tutorial/GacUI_HelloWorlds/CppXml/UI/Source/HelloWorldPartialClasses.cpp index 1b8c93ed..06b36e61 100644 --- a/Tutorial/GacUI_HelloWorlds/CppXml/UI/Source/HelloWorldPartialClasses.cpp +++ b/Tutorial/GacUI_HelloWorlds/CppXml/UI/Source/HelloWorldPartialClasses.cpp @@ -64,20 +64,19 @@ namespace helloworld (this->__vwsn_precompile_0 = __vwsn_this_); (this->__vwsn_precompile_2 = ::vl::__vwsn::This(this->__vwsn_precompile_0)->GetBoundsComposition()); { - ::vl::__vwsn::This(this->__vwsn_precompile_2)->SetPreferredMinSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(480); __vwsn_temp__.y = static_cast<::vl::vint>(320); return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_2)->SetPreferredMinSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint32_t>(480); __vwsn_temp__.y = static_cast<::vl::vint32_t>(320); return __vwsn_temp__; }()); } { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetClientSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(480); __vwsn_temp__.y = static_cast<::vl::vint>(320); return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetClientSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint32_t>(480); __vwsn_temp__.y = static_cast<::vl::vint32_t>(320); return __vwsn_temp__; }()); } { ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetText(::vl::WString(L"Hello, world!", false)); } { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateLabelStyle(); - (this->__vwsn_precompile_1 = new ::vl::presentation::controls::GuiLabel(__vwsn_controlStyle_)); + (this->__vwsn_precompile_1 = new ::vl::presentation::controls::GuiLabel(::vl::presentation::theme::ThemeName::Label)); } { - ::vl::__vwsn::This(this->__vwsn_precompile_1)->SetFont([&](){ ::vl::presentation::FontProperties __vwsn_temp__; __vwsn_temp__.fontFamily = ::vl::WString(L"Segoe UI", false); __vwsn_temp__.size = static_cast<::vl::vint>(32); __vwsn_temp__.antialias = true; return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_1)->SetFont([&](){ ::vl::presentation::FontProperties __vwsn_temp__; __vwsn_temp__.fontFamily = ::vl::WString(L"Segoe UI", false); __vwsn_temp__.size = static_cast<::vl::vint32_t>(32); __vwsn_temp__.antialias = true; return __vwsn_temp__; }()); } { ::vl::__vwsn::This(this->__vwsn_precompile_1)->SetText(::vl::WString(L"Welcome to GacUI Library!", false)); @@ -96,7 +95,7 @@ Class (::helloworld::MainWindow) ***********************************************************************/ MainWindow::MainWindow() - : ::vl::presentation::controls::GuiWindow(::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateWindowStyle()) + : ::vl::presentation::controls::GuiWindow(::vl::presentation::theme::ThemeName::Window) { auto __vwsn_resource_ = ::vl::__vwsn::This(::vl::presentation::GetResourceManager())->GetResourceFromClassName(::vl::WString(L"helloworld::MainWindow", false)); auto __vwsn_resolver_ = ::vl::Ptr<::vl::presentation::GuiResourcePathResolver>(new ::vl::presentation::GuiResourcePathResolver(__vwsn_resource_, ::vl::__vwsn::This(__vwsn_resource_.Obj())->GetWorkingDirectory())); diff --git a/Tutorial/GacUI_HelloWorlds/MVVM/UI/Codegen.bat b/Tutorial/GacUI_HelloWorlds/MVVM/UI/Codegen.bat deleted file mode 100644 index a39b07ea..00000000 --- a/Tutorial/GacUI_HelloWorlds/MVVM/UI/Codegen.bat +++ /dev/null @@ -1 +0,0 @@ -%~dp0..\..\..\..\Tools\GacGen %~dp0Resource.xml diff --git a/Tutorial/GacUI_HelloWorlds/MVVM/UI/Source/HelloWorldPartialClasses.cpp b/Tutorial/GacUI_HelloWorlds/MVVM/UI/Source/HelloWorldPartialClasses.cpp index a137c945..d76c9f34 100644 --- a/Tutorial/GacUI_HelloWorlds/MVVM/UI/Source/HelloWorldPartialClasses.cpp +++ b/Tutorial/GacUI_HelloWorlds/MVVM/UI/Source/HelloWorldPartialClasses.cpp @@ -494,10 +494,10 @@ namespace helloworld (this->ViewModel = ::vl::__vwsn::This(__vwsn_this_)->GetViewModel()); (this->__vwsn_precompile_19 = ::vl::__vwsn::This(this->self)->GetBoundsComposition()); { - ::vl::__vwsn::This(this->__vwsn_precompile_19)->SetPreferredMinSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(320); __vwsn_temp__.y = static_cast<::vl::vint>(320); return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_19)->SetPreferredMinSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint32_t>(320); __vwsn_temp__.y = static_cast<::vl::vint32_t>(320); return __vwsn_temp__; }()); } { - ::vl::__vwsn::This(this->self)->SetClientSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(320); __vwsn_temp__.y = static_cast<::vl::vint>(320); return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->self)->SetClientSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint32_t>(320); __vwsn_temp__.y = static_cast<::vl::vint32_t>(320); return __vwsn_temp__; }()); } (this->__vwsn_precompile_18 = ::vl::__vwsn::This(this->self)->GetViewModel()); { @@ -505,31 +505,31 @@ namespace helloworld } (this->__vwsn_precompile_0 = new ::vl::presentation::compositions::GuiTableComposition()); { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint32_t>(0); __vwsn_temp__.top = static_cast<::vl::vint32_t>(0); __vwsn_temp__.right = static_cast<::vl::vint32_t>(0); __vwsn_temp__.bottom = static_cast<::vl::vint32_t>(0); return __vwsn_temp__; }()); } { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetCellPadding(::vl::__vwsn::Parse<::vl::vint>(::vl::WString(L"5", false))); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetCellPadding(::vl::__vwsn::Parse<::vl::vint32_t>(::vl::WString(L"5", false))); } { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowsAndColumns(static_cast<::vl::vint>(8), static_cast<::vl::vint>(2)); - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowOption(static_cast<::vl::vint>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Absolute; __vwsn_temp__.absolute = static_cast<::vl::vint>(90); return __vwsn_temp__; }()); - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowOption(static_cast<::vl::vint>(1), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowOption(static_cast<::vl::vint>(2), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowOption(static_cast<::vl::vint>(3), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowOption(static_cast<::vl::vint>(4), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowOption(static_cast<::vl::vint>(5), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Absolute; __vwsn_temp__.absolute = static_cast<::vl::vint>(12); return __vwsn_temp__; }()); - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowOption(static_cast<::vl::vint>(6), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(1.0); return __vwsn_temp__; }()); - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowOption(static_cast<::vl::vint>(7), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint>(1), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(1.0); return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowsAndColumns(static_cast<::vl::vint32_t>(8), static_cast<::vl::vint32_t>(2)); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowOption(static_cast<::vl::vint32_t>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Absolute; __vwsn_temp__.absolute = static_cast<::vl::vint32_t>(90); return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowOption(static_cast<::vl::vint32_t>(1), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowOption(static_cast<::vl::vint32_t>(2), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowOption(static_cast<::vl::vint32_t>(3), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowOption(static_cast<::vl::vint32_t>(4), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowOption(static_cast<::vl::vint32_t>(5), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Absolute; __vwsn_temp__.absolute = static_cast<::vl::vint32_t>(12); return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowOption(static_cast<::vl::vint32_t>(6), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(1.0); return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetRowOption(static_cast<::vl::vint32_t>(7), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint32_t>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetColumnOption(static_cast<::vl::vint32_t>(1), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(1.0); return __vwsn_temp__; }()); } (this->__vwsn_precompile_1 = new ::vl::presentation::compositions::GuiCellComposition()); { - ::vl::__vwsn::This(this->__vwsn_precompile_1)->SetSite(static_cast<::vl::vint>(0), static_cast<::vl::vint>(0), static_cast<::vl::vint>(1), static_cast<::vl::vint>(2)); + ::vl::__vwsn::This(this->__vwsn_precompile_1)->SetSite(static_cast<::vl::vint32_t>(0), static_cast<::vl::vint32_t>(0), static_cast<::vl::vint32_t>(1), static_cast<::vl::vint32_t>(2)); } (this->__vwsn_precompile_2 = ::vl::Ptr<::vl::presentation::elements::GuiSolidLabelElement>(::vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiSolidLabelElement>())); { - ::vl::__vwsn::This(this->__vwsn_precompile_2.Obj())->SetFont([&](){ ::vl::presentation::FontProperties __vwsn_temp__; __vwsn_temp__.fontFamily = ::vl::WString(L"Segoe UI", false); __vwsn_temp__.size = static_cast<::vl::vint>(40); __vwsn_temp__.antialias = true; return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_2.Obj())->SetFont([&](){ ::vl::presentation::FontProperties __vwsn_temp__; __vwsn_temp__.fontFamily = ::vl::WString(L"Segoe UI", false); __vwsn_temp__.size = static_cast<::vl::vint32_t>(40); __vwsn_temp__.antialias = true; return __vwsn_temp__; }()); } { ::vl::__vwsn::This(this->__vwsn_precompile_2.Obj())->SetVerticalAlignment(::vl::presentation::Alignment::Center); @@ -548,11 +548,11 @@ namespace helloworld } (this->__vwsn_precompile_3 = new ::vl::presentation::compositions::GuiCellComposition()); { - ::vl::__vwsn::This(this->__vwsn_precompile_3)->SetSite(static_cast<::vl::vint>(1), static_cast<::vl::vint>(0), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); + ::vl::__vwsn::This(this->__vwsn_precompile_3)->SetSite(static_cast<::vl::vint32_t>(1), static_cast<::vl::vint32_t>(0), static_cast<::vl::vint32_t>(1), static_cast<::vl::vint32_t>(1)); } (this->__vwsn_precompile_4 = ::vl::Ptr<::vl::presentation::elements::GuiSolidLabelElement>(::vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiSolidLabelElement>())); { - ::vl::__vwsn::This(this->__vwsn_precompile_4.Obj())->SetFont([&](){ ::vl::presentation::FontProperties __vwsn_temp__; __vwsn_temp__.fontFamily = ::vl::WString(L"Segoe UI", false); __vwsn_temp__.size = static_cast<::vl::vint>(12); __vwsn_temp__.antialias = true; return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_4.Obj())->SetFont([&](){ ::vl::presentation::FontProperties __vwsn_temp__; __vwsn_temp__.fontFamily = ::vl::WString(L"Segoe UI", false); __vwsn_temp__.size = static_cast<::vl::vint32_t>(12); __vwsn_temp__.antialias = true; return __vwsn_temp__; }()); } { ::vl::__vwsn::This(this->__vwsn_precompile_4.Obj())->SetVerticalAlignment(::vl::presentation::Alignment::Center); @@ -568,18 +568,17 @@ namespace helloworld } (this->__vwsn_precompile_5 = new ::vl::presentation::compositions::GuiCellComposition()); { - ::vl::__vwsn::This(this->__vwsn_precompile_5)->SetSite(static_cast<::vl::vint>(1), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); + ::vl::__vwsn::This(this->__vwsn_precompile_5)->SetSite(static_cast<::vl::vint32_t>(1), static_cast<::vl::vint32_t>(1), static_cast<::vl::vint32_t>(1), static_cast<::vl::vint32_t>(1)); } { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateTextBoxStyle(); - (this->textBoxUserName = new ::vl::presentation::controls::GuiSinglelineTextBox(__vwsn_controlStyle_)); + (this->textBoxUserName = new ::vl::presentation::controls::GuiSinglelineTextBox(::vl::presentation::theme::ThemeName::SinglelineTextBox)); } (this->__vwsn_precompile_6 = ::vl::__vwsn::This(this->textBoxUserName)->GetBoundsComposition()); { - ::vl::__vwsn::This(this->__vwsn_precompile_6)->SetPreferredMinSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(0); __vwsn_temp__.y = static_cast<::vl::vint>(24); return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_6)->SetPreferredMinSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint32_t>(0); __vwsn_temp__.y = static_cast<::vl::vint32_t>(24); return __vwsn_temp__; }()); } { - ::vl::__vwsn::This(this->__vwsn_precompile_6)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_6)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint32_t>(0); __vwsn_temp__.top = static_cast<::vl::vint32_t>(0); __vwsn_temp__.right = static_cast<::vl::vint32_t>(0); __vwsn_temp__.bottom = static_cast<::vl::vint32_t>(0); return __vwsn_temp__; }()); } { ::vl::__vwsn::This(this->__vwsn_precompile_5)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->textBoxUserName)->GetBoundsComposition())); @@ -589,7 +588,7 @@ namespace helloworld } (this->__vwsn_precompile_7 = new ::vl::presentation::compositions::GuiCellComposition()); { - ::vl::__vwsn::This(this->__vwsn_precompile_7)->SetSite(static_cast<::vl::vint>(2), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); + ::vl::__vwsn::This(this->__vwsn_precompile_7)->SetSite(static_cast<::vl::vint32_t>(2), static_cast<::vl::vint32_t>(1), static_cast<::vl::vint32_t>(1), static_cast<::vl::vint32_t>(1)); } (this->__vwsn_precompile_8 = ::vl::Ptr<::vl::presentation::elements::GuiSolidLabelElement>(::vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiSolidLabelElement>())); { @@ -602,7 +601,7 @@ namespace helloworld ::vl::__vwsn::This(this->__vwsn_precompile_8.Obj())->SetColor(::vl::__vwsn::Parse<::vl::presentation::Color>(::vl::WString(L"#FF0000", false))); } { - ::vl::__vwsn::This(this->__vwsn_precompile_8.Obj())->SetFont([&](){ ::vl::presentation::FontProperties __vwsn_temp__; __vwsn_temp__.fontFamily = ::vl::WString(L"Segoe UI", false); __vwsn_temp__.size = static_cast<::vl::vint>(12); __vwsn_temp__.antialias = true; return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_8.Obj())->SetFont([&](){ ::vl::presentation::FontProperties __vwsn_temp__; __vwsn_temp__.fontFamily = ::vl::WString(L"Segoe UI", false); __vwsn_temp__.size = static_cast<::vl::vint32_t>(12); __vwsn_temp__.antialias = true; return __vwsn_temp__; }()); } { ::vl::__vwsn::This(this->__vwsn_precompile_7)->SetOwnedElement(::vl::Ptr<::vl::presentation::elements::IGuiGraphicsElement>(this->__vwsn_precompile_8)); @@ -612,11 +611,11 @@ namespace helloworld } (this->__vwsn_precompile_9 = new ::vl::presentation::compositions::GuiCellComposition()); { - ::vl::__vwsn::This(this->__vwsn_precompile_9)->SetSite(static_cast<::vl::vint>(3), static_cast<::vl::vint>(0), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); + ::vl::__vwsn::This(this->__vwsn_precompile_9)->SetSite(static_cast<::vl::vint32_t>(3), static_cast<::vl::vint32_t>(0), static_cast<::vl::vint32_t>(1), static_cast<::vl::vint32_t>(1)); } (this->__vwsn_precompile_10 = ::vl::Ptr<::vl::presentation::elements::GuiSolidLabelElement>(::vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiSolidLabelElement>())); { - ::vl::__vwsn::This(this->__vwsn_precompile_10.Obj())->SetFont([&](){ ::vl::presentation::FontProperties __vwsn_temp__; __vwsn_temp__.fontFamily = ::vl::WString(L"Segoe UI", false); __vwsn_temp__.size = static_cast<::vl::vint>(12); __vwsn_temp__.antialias = true; return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_10.Obj())->SetFont([&](){ ::vl::presentation::FontProperties __vwsn_temp__; __vwsn_temp__.fontFamily = ::vl::WString(L"Segoe UI", false); __vwsn_temp__.size = static_cast<::vl::vint32_t>(12); __vwsn_temp__.antialias = true; return __vwsn_temp__; }()); } { ::vl::__vwsn::This(this->__vwsn_precompile_10.Obj())->SetVerticalAlignment(::vl::presentation::Alignment::Center); @@ -632,21 +631,20 @@ namespace helloworld } (this->__vwsn_precompile_11 = new ::vl::presentation::compositions::GuiCellComposition()); { - ::vl::__vwsn::This(this->__vwsn_precompile_11)->SetSite(static_cast<::vl::vint>(3), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); + ::vl::__vwsn::This(this->__vwsn_precompile_11)->SetSite(static_cast<::vl::vint32_t>(3), static_cast<::vl::vint32_t>(1), static_cast<::vl::vint32_t>(1), static_cast<::vl::vint32_t>(1)); } { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateTextBoxStyle(); - (this->textBoxPassword = new ::vl::presentation::controls::GuiSinglelineTextBox(__vwsn_controlStyle_)); + (this->textBoxPassword = new ::vl::presentation::controls::GuiSinglelineTextBox(::vl::presentation::theme::ThemeName::SinglelineTextBox)); } { ::vl::__vwsn::This(this->textBoxPassword)->SetPasswordChar(::vl::__vwsn::Parse(::vl::WString(L"*", false))); } (this->__vwsn_precompile_12 = ::vl::__vwsn::This(this->textBoxPassword)->GetBoundsComposition()); { - ::vl::__vwsn::This(this->__vwsn_precompile_12)->SetPreferredMinSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(0); __vwsn_temp__.y = static_cast<::vl::vint>(24); return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_12)->SetPreferredMinSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint32_t>(0); __vwsn_temp__.y = static_cast<::vl::vint32_t>(24); return __vwsn_temp__; }()); } { - ::vl::__vwsn::This(this->__vwsn_precompile_12)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_12)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint32_t>(0); __vwsn_temp__.top = static_cast<::vl::vint32_t>(0); __vwsn_temp__.right = static_cast<::vl::vint32_t>(0); __vwsn_temp__.bottom = static_cast<::vl::vint32_t>(0); return __vwsn_temp__; }()); } { ::vl::__vwsn::This(this->__vwsn_precompile_11)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->textBoxPassword)->GetBoundsComposition())); @@ -656,7 +654,7 @@ namespace helloworld } (this->__vwsn_precompile_13 = new ::vl::presentation::compositions::GuiCellComposition()); { - ::vl::__vwsn::This(this->__vwsn_precompile_13)->SetSite(static_cast<::vl::vint>(4), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1)); + ::vl::__vwsn::This(this->__vwsn_precompile_13)->SetSite(static_cast<::vl::vint32_t>(4), static_cast<::vl::vint32_t>(1), static_cast<::vl::vint32_t>(1), static_cast<::vl::vint32_t>(1)); } (this->__vwsn_precompile_14 = ::vl::Ptr<::vl::presentation::elements::GuiSolidLabelElement>(::vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiSolidLabelElement>())); { @@ -669,7 +667,7 @@ namespace helloworld ::vl::__vwsn::This(this->__vwsn_precompile_14.Obj())->SetColor(::vl::__vwsn::Parse<::vl::presentation::Color>(::vl::WString(L"#FF0000", false))); } { - ::vl::__vwsn::This(this->__vwsn_precompile_14.Obj())->SetFont([&](){ ::vl::presentation::FontProperties __vwsn_temp__; __vwsn_temp__.fontFamily = ::vl::WString(L"Segoe UI", false); __vwsn_temp__.size = static_cast<::vl::vint>(12); __vwsn_temp__.antialias = true; return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_14.Obj())->SetFont([&](){ ::vl::presentation::FontProperties __vwsn_temp__; __vwsn_temp__.fontFamily = ::vl::WString(L"Segoe UI", false); __vwsn_temp__.size = static_cast<::vl::vint32_t>(12); __vwsn_temp__.antialias = true; return __vwsn_temp__; }()); } { ::vl::__vwsn::This(this->__vwsn_precompile_13)->SetOwnedElement(::vl::Ptr<::vl::presentation::elements::IGuiGraphicsElement>(this->__vwsn_precompile_14)); @@ -679,18 +677,17 @@ namespace helloworld } (this->__vwsn_precompile_15 = new ::vl::presentation::compositions::GuiCellComposition()); { - ::vl::__vwsn::This(this->__vwsn_precompile_15)->SetSite(static_cast<::vl::vint>(7), static_cast<::vl::vint>(0), static_cast<::vl::vint>(1), static_cast<::vl::vint>(2)); + ::vl::__vwsn::This(this->__vwsn_precompile_15)->SetSite(static_cast<::vl::vint32_t>(7), static_cast<::vl::vint32_t>(0), static_cast<::vl::vint32_t>(1), static_cast<::vl::vint32_t>(2)); } { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateButtonStyle(); - (this->buttonSignUp = new ::vl::presentation::controls::GuiButton(__vwsn_controlStyle_)); + (this->buttonSignUp = new ::vl::presentation::controls::GuiButton(::vl::presentation::theme::ThemeName::Button)); } (this->__vwsn_precompile_16 = ::vl::__vwsn::This(this->buttonSignUp)->GetBoundsComposition()); { - ::vl::__vwsn::This(this->__vwsn_precompile_16)->SetPreferredMinSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(100); __vwsn_temp__.y = static_cast<::vl::vint>(24); return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_16)->SetPreferredMinSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint32_t>(100); __vwsn_temp__.y = static_cast<::vl::vint32_t>(24); return __vwsn_temp__; }()); } { - ::vl::__vwsn::This(this->__vwsn_precompile_16)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = (- static_cast<::vl::vint>(1)); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_16)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint32_t>(0); __vwsn_temp__.top = static_cast<::vl::vint32_t>(0); __vwsn_temp__.right = (- static_cast<::vl::vint32_t>(1)); __vwsn_temp__.bottom = static_cast<::vl::vint32_t>(0); return __vwsn_temp__; }()); } { ::vl::__vwsn::This(this->buttonSignUp)->SetText(::vl::WString(L"Sign Up!", false)); @@ -699,15 +696,14 @@ namespace helloworld ::vl::__vwsn::This(this->__vwsn_precompile_15)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->buttonSignUp)->GetBoundsComposition())); } { - auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateButtonStyle(); - (this->buttonCancel = new ::vl::presentation::controls::GuiButton(__vwsn_controlStyle_)); + (this->buttonCancel = new ::vl::presentation::controls::GuiButton(::vl::presentation::theme::ThemeName::Button)); } (this->__vwsn_precompile_17 = ::vl::__vwsn::This(this->buttonCancel)->GetBoundsComposition()); { - ::vl::__vwsn::This(this->__vwsn_precompile_17)->SetPreferredMinSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(100); __vwsn_temp__.y = static_cast<::vl::vint>(24); return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_17)->SetPreferredMinSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint32_t>(100); __vwsn_temp__.y = static_cast<::vl::vint32_t>(24); return __vwsn_temp__; }()); } { - ::vl::__vwsn::This(this->__vwsn_precompile_17)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = (- static_cast<::vl::vint>(1)); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_17)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = (- static_cast<::vl::vint32_t>(1)); __vwsn_temp__.top = static_cast<::vl::vint32_t>(0); __vwsn_temp__.right = static_cast<::vl::vint32_t>(0); __vwsn_temp__.bottom = static_cast<::vl::vint32_t>(0); return __vwsn_temp__; }()); } { ::vl::__vwsn::This(this->buttonCancel)->SetText(::vl::WString(L"Close", false)); diff --git a/Tutorial/GacUI_HelloWorlds/MVVM/UI/Source/MainWindow.cpp b/Tutorial/GacUI_HelloWorlds/MVVM/UI/Source/MainWindow.cpp index 5ee9d9ab..17d4b7b7 100644 --- a/Tutorial/GacUI_HelloWorlds/MVVM/UI/Source/MainWindow.cpp +++ b/Tutorial/GacUI_HelloWorlds/MVVM/UI/Source/MainWindow.cpp @@ -66,7 +66,7 @@ namespace helloworld } MainWindow::MainWindow(::vl::Ptr<::vm::IViewModel> __vwsn_ctor_parameter_ViewModel) - : ::vl::presentation::controls::GuiWindow(::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateWindowStyle()) + : ::vl::presentation::controls::GuiWindow(::vl::presentation::theme::ThemeName::Window) { (this->__vwsn_parameter_ViewModel = __vwsn_ctor_parameter_ViewModel); auto __vwsn_resource_ = ::vl::__vwsn::This(::vl::presentation::GetResourceManager())->GetResourceFromClassName(::vl::WString(L"helloworld::MainWindow", false)); diff --git a/Tutorial/GacUI_HelloWorlds/UIRes/Xml.bin b/Tutorial/GacUI_HelloWorlds/UIRes/Xml.bin index cc6e1798..fb94fa96 100644 Binary files a/Tutorial/GacUI_HelloWorlds/UIRes/Xml.bin and b/Tutorial/GacUI_HelloWorlds/UIRes/Xml.bin differ diff --git a/Tutorial/GacUI_HelloWorlds/Xml/UI/Codegen.bat b/Tutorial/GacUI_HelloWorlds/Xml/UI/Codegen.bat deleted file mode 100644 index 915ab762..00000000 --- a/Tutorial/GacUI_HelloWorlds/Xml/UI/Codegen.bat +++ /dev/null @@ -1 +0,0 @@ -%~dp0..\..\..\..\Tools\GacGen32.exe %~dp0Resource.xml \ No newline at end of file diff --git a/Tutorial/GacUI_Layout/Alignment/UI/Codegen.bat b/Tutorial/GacUI_Layout/Alignment/UI/Codegen.bat deleted file mode 100644 index a39b07ea..00000000 --- a/Tutorial/GacUI_Layout/Alignment/UI/Codegen.bat +++ /dev/null @@ -1 +0,0 @@ -%~dp0..\..\..\..\Tools\GacGen %~dp0Resource.xml diff --git a/Tutorial/GacUI_Layout/Flow/UI/Codegen.bat b/Tutorial/GacUI_Layout/Flow/UI/Codegen.bat deleted file mode 100644 index a39b07ea..00000000 --- a/Tutorial/GacUI_Layout/Flow/UI/Codegen.bat +++ /dev/null @@ -1 +0,0 @@ -%~dp0..\..\..\..\Tools\GacGen %~dp0Resource.xml diff --git a/Tutorial/GacUI_Layout/RichTextEmbedding/UI/Codegen.bat b/Tutorial/GacUI_Layout/RichTextEmbedding/UI/Codegen.bat deleted file mode 100644 index a39b07ea..00000000 --- a/Tutorial/GacUI_Layout/RichTextEmbedding/UI/Codegen.bat +++ /dev/null @@ -1 +0,0 @@ -%~dp0..\..\..\..\Tools\GacGen %~dp0Resource.xml diff --git a/Tutorial/GacUI_Layout/Stack/UI/Codegen.bat b/Tutorial/GacUI_Layout/Stack/UI/Codegen.bat deleted file mode 100644 index a39b07ea..00000000 --- a/Tutorial/GacUI_Layout/Stack/UI/Codegen.bat +++ /dev/null @@ -1 +0,0 @@ -%~dp0..\..\..\..\Tools\GacGen %~dp0Resource.xml diff --git a/Tutorial/GacUI_Layout/Table/UI/Codegen.bat b/Tutorial/GacUI_Layout/Table/UI/Codegen.bat deleted file mode 100644 index a39b07ea..00000000 --- a/Tutorial/GacUI_Layout/Table/UI/Codegen.bat +++ /dev/null @@ -1 +0,0 @@ -%~dp0..\..\..\..\Tools\GacGen %~dp0Resource.xml diff --git a/Tutorial/GacUI_Layout/TableSplitter/UI/Codegen.bat b/Tutorial/GacUI_Layout/TableSplitter/UI/Codegen.bat deleted file mode 100644 index a39b07ea..00000000 --- a/Tutorial/GacUI_Layout/TableSplitter/UI/Codegen.bat +++ /dev/null @@ -1 +0,0 @@ -%~dp0..\..\..\..\Tools\GacGen %~dp0Resource.xml diff --git a/Tutorial/GacUI_Xml/Binding_Bind/UI/Codegen.bat b/Tutorial/GacUI_Xml/Binding_Bind/UI/Codegen.bat deleted file mode 100644 index a39b07ea..00000000 --- a/Tutorial/GacUI_Xml/Binding_Bind/UI/Codegen.bat +++ /dev/null @@ -1 +0,0 @@ -%~dp0..\..\..\..\Tools\GacGen %~dp0Resource.xml diff --git a/Tutorial/GacUI_Xml/Binding_Eval/UI/Codegen.bat b/Tutorial/GacUI_Xml/Binding_Eval/UI/Codegen.bat deleted file mode 100644 index a39b07ea..00000000 --- a/Tutorial/GacUI_Xml/Binding_Eval/UI/Codegen.bat +++ /dev/null @@ -1 +0,0 @@ -%~dp0..\..\..\..\Tools\GacGen %~dp0Resource.xml diff --git a/Tutorial/GacUI_Xml/Binding_Format/UI/Codegen.bat b/Tutorial/GacUI_Xml/Binding_Format/UI/Codegen.bat deleted file mode 100644 index a39b07ea..00000000 --- a/Tutorial/GacUI_Xml/Binding_Format/UI/Codegen.bat +++ /dev/null @@ -1 +0,0 @@ -%~dp0..\..\..\..\Tools\GacGen %~dp0Resource.xml diff --git a/Tutorial/GacUI_Xml/Binding_Uri/UI/Codegen.bat b/Tutorial/GacUI_Xml/Binding_Uri/UI/Codegen.bat deleted file mode 100644 index a39b07ea..00000000 --- a/Tutorial/GacUI_Xml/Binding_Uri/UI/Codegen.bat +++ /dev/null @@ -1 +0,0 @@ -%~dp0..\..\..\..\Tools\GacGen %~dp0Resource.xml diff --git a/Tutorial/GacUI_Xml/Binding_ViewModel/UI/Codegen.bat b/Tutorial/GacUI_Xml/Binding_ViewModel/UI/Codegen.bat deleted file mode 100644 index a39b07ea..00000000 --- a/Tutorial/GacUI_Xml/Binding_ViewModel/UI/Codegen.bat +++ /dev/null @@ -1 +0,0 @@ -%~dp0..\..\..\..\Tools\GacGen %~dp0Resource.xml diff --git a/Tutorial/GacUI_Xml/Event_Cpp/UI/Codegen.bat b/Tutorial/GacUI_Xml/Event_Cpp/UI/Codegen.bat deleted file mode 100644 index a39b07ea..00000000 --- a/Tutorial/GacUI_Xml/Event_Cpp/UI/Codegen.bat +++ /dev/null @@ -1 +0,0 @@ -%~dp0..\..\..\..\Tools\GacGen %~dp0Resource.xml diff --git a/Tutorial/GacUI_Xml/Event_Script/UI/Codegen.bat b/Tutorial/GacUI_Xml/Event_Script/UI/Codegen.bat deleted file mode 100644 index a39b07ea..00000000 --- a/Tutorial/GacUI_Xml/Event_Script/UI/Codegen.bat +++ /dev/null @@ -1 +0,0 @@ -%~dp0..\..\..\..\Tools\GacGen %~dp0Resource.xml diff --git a/Tutorial/GacUI_Xml/Event_ViewModel/UI/Codegen.bat b/Tutorial/GacUI_Xml/Event_ViewModel/UI/Codegen.bat deleted file mode 100644 index a39b07ea..00000000 --- a/Tutorial/GacUI_Xml/Event_ViewModel/UI/Codegen.bat +++ /dev/null @@ -1 +0,0 @@ -%~dp0..\..\..\..\Tools\GacGen %~dp0Resource.xml diff --git a/Tutorial/GacUI_Xml/Instance_Control/UI/Codegen.bat b/Tutorial/GacUI_Xml/Instance_Control/UI/Codegen.bat deleted file mode 100644 index a39b07ea..00000000 --- a/Tutorial/GacUI_Xml/Instance_Control/UI/Codegen.bat +++ /dev/null @@ -1 +0,0 @@ -%~dp0..\..\..\..\Tools\GacGen %~dp0Resource.xml diff --git a/Tutorial/GacUI_Xml/Instance_MultipleWindows/UI/Codegen.bat b/Tutorial/GacUI_Xml/Instance_MultipleWindows/UI/Codegen.bat deleted file mode 100644 index a39b07ea..00000000 --- a/Tutorial/GacUI_Xml/Instance_MultipleWindows/UI/Codegen.bat +++ /dev/null @@ -1 +0,0 @@ -%~dp0..\..\..\..\Tools\GacGen %~dp0Resource.xml diff --git a/Tutorial/GacUI_Xml/Instance_Window/UI/Codegen.bat b/Tutorial/GacUI_Xml/Instance_Window/UI/Codegen.bat deleted file mode 100644 index a39b07ea..00000000 --- a/Tutorial/GacUI_Xml/Instance_Window/UI/Codegen.bat +++ /dev/null @@ -1 +0,0 @@ -%~dp0..\..\..\..\Tools\GacGen %~dp0Resource.xml diff --git a/Tutorial/GacUI_Xml/Member_Field/UI/Codegen.bat b/Tutorial/GacUI_Xml/Member_Field/UI/Codegen.bat deleted file mode 100644 index a39b07ea..00000000 --- a/Tutorial/GacUI_Xml/Member_Field/UI/Codegen.bat +++ /dev/null @@ -1 +0,0 @@ -%~dp0..\..\..\..\Tools\GacGen %~dp0Resource.xml diff --git a/Tutorial/GacUI_Xml/Member_Parameter/UI/Codegen.bat b/Tutorial/GacUI_Xml/Member_Parameter/UI/Codegen.bat deleted file mode 100644 index a39b07ea..00000000 --- a/Tutorial/GacUI_Xml/Member_Parameter/UI/Codegen.bat +++ /dev/null @@ -1 +0,0 @@ -%~dp0..\..\..\..\Tools\GacGen %~dp0Resource.xml diff --git a/Tutorial/GacUI_Xml/Member_Property/UI/Codegen.bat b/Tutorial/GacUI_Xml/Member_Property/UI/Codegen.bat deleted file mode 100644 index a39b07ea..00000000 --- a/Tutorial/GacUI_Xml/Member_Property/UI/Codegen.bat +++ /dev/null @@ -1 +0,0 @@ -%~dp0..\..\..\..\Tools\GacGen %~dp0Resource.xml