From a5605bd53d93e4980523930ef46e655963f87eca Mon Sep 17 00:00:00 2001 From: Zihan Chen Date: Tue, 24 Jan 2017 16:01:34 -0800 Subject: [PATCH] ... --- .../AddressBook/UI/Resource.xml | 69 +- .../AddressBook/UI/Source/Demo.h | 145 +- .../UI/Source/DemoPartialClasses.cpp | 3636 ++++++++++++++++- .../UI/Source/DemoPartialClasses.h | 658 +-- .../AddressBook/UI/Source/MainWindow.cpp | 132 +- .../AddressBook/UI/Source/MainWindow.h | 107 +- .../TextEditor/TextEditor.vcxproj | 14 +- .../GacUI_Controls/TextEditor/UI/Resource.xml | 10 +- Tutorial/GacUI_Controls/UIRes/AddressBook.bin | Bin 1993374 -> 4459 bytes 9 files changed, 4231 insertions(+), 540 deletions(-) diff --git a/Tutorial/GacUI_Controls/AddressBook/UI/Resource.xml b/Tutorial/GacUI_Controls/AddressBook/UI/Resource.xml index 84e1b1ba..81790856 100644 --- a/Tutorial/GacUI_Controls/AddressBook/UI/Resource.xml +++ b/Tutorial/GacUI_Controls/AddressBook/UI/Resource.xml @@ -4,7 +4,7 @@ Source ..\..\UIRes\AddressBook.bin - GacUI.h + GacUIReflection.h Demo @@ -109,6 +109,19 @@ + + + @@ -313,8 +326,31 @@ - - + + + textBoxName.Text @@ -360,9 +396,32 @@ - - + + + diff --git a/Tutorial/GacUI_Controls/AddressBook/UI/Source/Demo.h b/Tutorial/GacUI_Controls/AddressBook/UI/Source/Demo.h index 0f5f6c6b..dae9ce50 100644 --- a/Tutorial/GacUI_Controls/AddressBook/UI/Source/Demo.h +++ b/Tutorial/GacUI_Controls/AddressBook/UI/Source/Demo.h @@ -1,17 +1,144 @@ -/*********************************************************************** -Vczh Library++ 3.0 -Developer: Zihan Chen(vczh) -GacUI::Demo +/*********************************************************************** +!!!!!! DO NOT MODIFY !!!!!! -This file is generated by: Vczh GacUI Resource Code Generator -************************************************************************ -DO NOT MODIFY +GacGen.exe Resource.xml + +This file is generated by Workflow compiler +https://github.com/vczh-libraries ***********************************************************************/ -#ifndef VCZH_GACUI_RESOURCE_CODE_GENERATOR_Demo -#define VCZH_GACUI_RESOURCE_CODE_GENERATOR_Demo +#ifndef VCZH_WORKFLOW_COMPILER_GENERATED_DEMO +#define VCZH_WORKFLOW_COMPILER_GENERATED_DEMO #include "DemoPartialClasses.h" #include "MainWindow.h" +/*********************************************************************** +Reflection +***********************************************************************/ + +namespace vl +{ + namespace reflection + { + namespace description + { +#ifndef VCZH_DEBUG_NO_REFLECTION + DECL_TYPE_INFO(::demo::ICategory) + DECL_TYPE_INFO(::demo::IContact) + DECL_TYPE_INFO(::demo::IViewModel) + DECL_TYPE_INFO(::demo::MainWindow) + DECL_TYPE_INFO(::demo::MainWindowConstructor) + DECL_TYPE_INFO(::demo::NewContactWindow) + DECL_TYPE_INFO(::demo::NewContactWindowConstructor) + DECL_TYPE_INFO(::demo::NewFolderWindow) + DECL_TYPE_INFO(::demo::NewFolderWindowConstructor) + + BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(::demo::ICategory) + ::vl::Ptr<::vl::reflection::description::IValueObservableList> GetContacts() override + { + INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetContacts); + } + ::vl::Ptr<::vl::reflection::description::IValueObservableList> GetFolders() override + { + INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetFolders); + } + ::vl::Ptr<::vl::presentation::GuiImageData> GetImage() override + { + INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetImage); + } + ::vl::WString GetName() override + { + INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetName); + } + ::demo::ICategory* GetParent() override + { + INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetParent); + } + END_INTERFACE_PROXY(::demo::ICategory) + + BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(::demo::IContact) + ::vl::WString GetAddress() override + { + INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetAddress); + } + ::vl::Ptr<::vl::presentation::GuiImageData> GetBigImage() override + { + INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetBigImage); + } + ::vl::DateTime GetBirthday() override + { + INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetBirthday); + } + ::vl::WString GetBirthdayText() override + { + INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetBirthdayText); + } + ::vl::WString GetName() override + { + INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetName); + } + ::vl::WString GetPhone() override + { + INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetPhone); + } + ::vl::Ptr<::vl::presentation::GuiImageData> GetSmallImage() override + { + INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetSmallImage); + } + void Update(const ::vl::WString& name, ::vl::DateTime birthday, const ::vl::WString& phone, const ::vl::WString& address) override + { + INVOKE_INTERFACE_PROXY(Update, name, birthday, phone, address); + } + END_INTERFACE_PROXY(::demo::IContact) + + BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(::demo::IViewModel) + void AddCategory(const ::vl::WString& name) override + { + INVOKE_INTERFACE_PROXY(AddCategory, name); + } + void AddContact(::vl::Ptr<::demo::IContact> contact) override + { + INVOKE_INTERFACE_PROXY(AddContact, contact); + } + ::vl::Ptr<::demo::IContact> CreateContact() override + { + INVOKEGET_INTERFACE_PROXY_NOPARAMS(CreateContact); + } + ::vl::Ptr<::demo::ICategory> GetRootCategory() override + { + INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetRootCategory); + } + ::vl::Ptr<::demo::ICategory> GetSelectedCategory() override + { + INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetSelectedCategory); + } + ::vl::Ptr<::demo::IContact> GetSelectedContact() override + { + INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetSelectedContact); + } + void RemoveCategory() override + { + INVOKE_INTERFACE_PROXY_NOPARAMS(RemoveCategory); + } + void RemoveContact() override + { + INVOKE_INTERFACE_PROXY_NOPARAMS(RemoveContact); + } + void SetSelectedCategory(::vl::Ptr<::demo::ICategory> value) override + { + INVOKE_INTERFACE_PROXY(SetSelectedCategory, value); + } + void SetSelectedContact(::vl::Ptr<::demo::IContact> value) override + { + INVOKE_INTERFACE_PROXY(SetSelectedContact, value); + } + END_INTERFACE_PROXY(::demo::IViewModel) +#endif + + extern bool LoadDemoTypes(); + } + } +} + #endif diff --git a/Tutorial/GacUI_Controls/AddressBook/UI/Source/DemoPartialClasses.cpp b/Tutorial/GacUI_Controls/AddressBook/UI/Source/DemoPartialClasses.cpp index 110dbc6e..d54f921f 100644 --- a/Tutorial/GacUI_Controls/AddressBook/UI/Source/DemoPartialClasses.cpp +++ b/Tutorial/GacUI_Controls/AddressBook/UI/Source/DemoPartialClasses.cpp @@ -1,70 +1,3346 @@ -/*********************************************************************** -Vczh Library++ 3.0 -Developer: Zihan Chen(vczh) -GacUI::Partial Classes +/*********************************************************************** +!!!!!! DO NOT MODIFY !!!!!! -This file is generated by: Vczh GacUI Resource Code Generator -************************************************************************ -DO NOT MODIFY +GacGen.exe Resource.xml + +This file is generated by Workflow compiler +https://github.com/vczh-libraries ***********************************************************************/ #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 + +#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 +{ +/*********************************************************************** +Closure Definitions +***********************************************************************/ + + struct __vwsnf10_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__ + { + ::demo::MainWindowConstructor* __vwsnthis_0; + + __vwsnf10_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0); + + void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; + }; + + struct __vwsnf11_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___ + { + ::demo::MainWindowConstructor* __vwsnthis_0; + + __vwsnf11_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___(::demo::MainWindowConstructor* __vwsnctorthis_0); + + void operator()() const; + }; + + struct __vwsnf12_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__ + { + ::demo::MainWindowConstructor* __vwsnthis_0; + + __vwsnf12_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0); + + void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + }; + + struct __vwsnf13_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__ + { + ::demo::MainWindowConstructor* __vwsnthis_0; + + __vwsnf13_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0); + + void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; + }; + + struct __vwsnf1_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__ + { + ::demo::MainWindowConstructor* __vwsnthis_0; + + __vwsnf1_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0); + + void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + }; + + struct __vwsnf20_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__ + { + ::demo::MainWindowConstructor* __vwsnthis_0; + + __vwsnf20_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0); + + void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + }; + + struct __vwsnf21_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__ + { + ::demo::MainWindowConstructor* __vwsnthis_0; + + __vwsnf21_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0); + + void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + }; + + struct __vwsnf22_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__ + { + ::demo::MainWindowConstructor* __vwsnthis_0; + + __vwsnf22_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0); + + void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + }; + + struct __vwsnf23_Demo_demo_NewContactWindowConstructor___vwsn_initialize_instance__ + { + ::demo::NewContactWindowConstructor* __vwsnthis_0; + + __vwsnf23_Demo_demo_NewContactWindowConstructor___vwsn_initialize_instance__(::demo::NewContactWindowConstructor* __vwsnctorthis_0); + + void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; + }; + + struct __vwsnf24_Demo_demo_NewContactWindowConstructor___vwsn_initialize_instance__ + { + ::demo::NewContactWindowConstructor* __vwsnthis_0; + + __vwsnf24_Demo_demo_NewContactWindowConstructor___vwsn_initialize_instance__(::demo::NewContactWindowConstructor* __vwsnctorthis_0); + + void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; + }; + + struct __vwsnf25_Demo_demo_NewContactWindowConstructor___vwsn_initialize_instance__ + { + ::demo::NewContactWindowConstructor* __vwsnthis_0; + + __vwsnf25_Demo_demo_NewContactWindowConstructor___vwsn_initialize_instance__(::demo::NewContactWindowConstructor* __vwsnctorthis_0); + + void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + }; + + struct __vwsnf26_Demo_demo_NewFolderWindowConstructor___vwsn_initialize_instance__ + { + ::demo::NewFolderWindowConstructor* __vwsnthis_0; + + __vwsnf26_Demo_demo_NewFolderWindowConstructor___vwsn_initialize_instance__(::demo::NewFolderWindowConstructor* __vwsnctorthis_0); + + void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; + }; + + struct __vwsnf27_Demo_demo_NewFolderWindowConstructor___vwsn_initialize_instance__ + { + ::demo::NewFolderWindowConstructor* __vwsnthis_0; + + __vwsnf27_Demo_demo_NewFolderWindowConstructor___vwsn_initialize_instance__(::demo::NewFolderWindowConstructor* __vwsnctorthis_0); + + void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; + }; + + struct __vwsnf28_Demo_demo_NewFolderWindowConstructor___vwsn_initialize_instance__ + { + ::demo::NewFolderWindowConstructor* __vwsnthis_0; + + __vwsnf28_Demo_demo_NewFolderWindowConstructor___vwsn_initialize_instance__(::demo::NewFolderWindowConstructor* __vwsnctorthis_0); + + void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + }; + + struct __vwsnf2_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__ + { + ::demo::MainWindowConstructor* __vwsnthis_0; + + __vwsnf2_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0); + + void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; + }; + + struct __vwsnf3_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___ + { + ::demo::NewFolderWindow* window; + ::demo::MainWindowConstructor* __vwsnthis_0; + + __vwsnf3_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___(::demo::NewFolderWindow* __vwsnctor_window, ::demo::MainWindowConstructor* __vwsnctorthis_0); + + void operator()() const; + }; + + struct __vwsnf4_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__ + { + ::demo::MainWindowConstructor* __vwsnthis_0; + + __vwsnf4_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0); + + void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + }; + + struct __vwsnf5_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__ + { + ::demo::MainWindowConstructor* __vwsnthis_0; + + __vwsnf5_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0); + + void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; + }; + + struct __vwsnf6_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__ + { + ::demo::MainWindowConstructor* __vwsnthis_0; + + __vwsnf6_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0); + + void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + }; + + struct __vwsnf7_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__ + { + ::demo::MainWindowConstructor* __vwsnthis_0; + + __vwsnf7_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0); + + void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; + }; + + struct __vwsnf8_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___ + { + ::vl::Ptr<::demo::IContact> contact; + ::demo::NewContactWindow* window; + ::demo::MainWindowConstructor* __vwsnthis_0; + + __vwsnf8_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___(::vl::Ptr<::demo::IContact> __vwsnctor_contact, ::demo::NewContactWindow* __vwsnctor_window, ::demo::MainWindowConstructor* __vwsnctorthis_0); + + void operator()() const; + }; + + struct __vwsnf9_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__ + { + ::demo::MainWindowConstructor* __vwsnthis_0; + + __vwsnf9_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0); + + void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + }; + + struct __vwsno14_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__ + { + ::demo::MainWindow* __vwsn_this_; + ::demo::MainWindowConstructor* __vwsnthis_0; + + __vwsno14_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindow* __vwsnctor___vwsn_this_, ::demo::MainWindowConstructor* __vwsnctorthis_0); + + void operator()(::vl::presentation::compositions::GuiGraphicsComposition* __vwsno_1, ::vl::presentation::compositions::GuiEventArgs* __vwsno_2) const; + }; + + struct __vwsno15_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__ + { + ::demo::MainWindow* __vwsn_this_; + ::demo::MainWindowConstructor* __vwsnthis_0; + + __vwsno15_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindow* __vwsnctor___vwsn_this_, ::demo::MainWindowConstructor* __vwsnctorthis_0); + + void operator()(::vl::presentation::compositions::GuiGraphicsComposition* __vwsno_1, ::vl::presentation::compositions::GuiEventArgs* __vwsno_2) const; + }; + + struct __vwsno16_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__ + { + ::demo::MainWindow* __vwsn_this_; + ::demo::MainWindowConstructor* __vwsnthis_0; + + __vwsno16_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindow* __vwsnctor___vwsn_this_, ::demo::MainWindowConstructor* __vwsnctorthis_0); + + void operator()(::vl::presentation::compositions::GuiGraphicsComposition* __vwsno_1, ::vl::presentation::compositions::GuiEventArgs* __vwsno_2) const; + }; + + struct __vwsno17_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__ + { + ::demo::MainWindow* __vwsn_this_; + ::demo::MainWindowConstructor* __vwsnthis_0; + + __vwsno17_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindow* __vwsnctor___vwsn_this_, ::demo::MainWindowConstructor* __vwsnctorthis_0); + + void operator()(::vl::presentation::compositions::GuiGraphicsComposition* __vwsno_1, ::vl::presentation::compositions::GuiEventArgs* __vwsno_2) const; + }; + + struct __vwsno18_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__ + { + ::demo::MainWindow* __vwsn_this_; + ::demo::MainWindowConstructor* __vwsnthis_0; + + __vwsno18_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindow* __vwsnctor___vwsn_this_, ::demo::MainWindowConstructor* __vwsnctorthis_0); + + void operator()(::vl::presentation::compositions::GuiGraphicsComposition* __vwsno_1, ::vl::presentation::compositions::GuiEventArgs* __vwsno_2) const; + }; + + struct __vwsno19_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__ + { + ::demo::MainWindow* __vwsn_this_; + ::demo::MainWindowConstructor* __vwsnthis_0; + + __vwsno19_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindow* __vwsnctor___vwsn_this_, ::demo::MainWindowConstructor* __vwsnctorthis_0); + + void operator()(::vl::presentation::compositions::GuiGraphicsComposition* __vwsno_1, ::vl::presentation::compositions::GuiEventArgs* __vwsno_2) const; + }; + + class __vwsnc10_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener : public ::vl::Object, public virtual ::vl::reflection::description::IValueListener + { + public: + ::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsn_bind_listeners_; + ::vl::reflection::description::IValueSubscription* __vwsn_subscription_; + ::vl::reflection::description::IValueSubscription* __vwsnthis_0; + ::demo::MainWindowConstructor* __vwsnthis_1; + + __vwsnc10_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener(::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsnctor___vwsn_bind_listeners_, ::vl::reflection::description::IValueSubscription* __vwsnctor___vwsn_subscription_, ::vl::reflection::description::IValueSubscription* __vwsnctorthis_0, ::demo::MainWindowConstructor* __vwsnctorthis_1); + + ::vl::reflection::description::IValueSubscription* GetSubscription() override; + bool GetStopped() override; + bool StopListening() override; + }; + + class __vwsnc11_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription + { + public: + ::demo::MainWindowConstructor* __vwsnthis_0; + + __vwsnc11_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::MainWindowConstructor* __vwsnctorthis_0); + + ::vl::Ptr<::demo::IViewModel> __vwsn_bind_cache_0; + ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; + bool __vwsn_bind_opened_ = false; + bool __vwsn_bind_closed_ = false; + ::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsn_bind_listeners_; + void __vwsn_bind_activator_(); + void __vwsn_bind_callback_0_0(); + void __vwsn_bind_initialize_(); + ::vl::Ptr<::vl::reflection::description::IValueListener> Subscribe(const ::vl::Func& __vwsn_bind_callback_) override; + bool Update() override; + bool Close() override; + }; + + class __vwsnc12_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener : public ::vl::Object, public virtual ::vl::reflection::description::IValueListener + { + public: + ::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsn_bind_listeners_; + ::vl::reflection::description::IValueSubscription* __vwsn_subscription_; + ::vl::reflection::description::IValueSubscription* __vwsnthis_0; + ::demo::MainWindowConstructor* __vwsnthis_1; + + __vwsnc12_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener(::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsnctor___vwsn_bind_listeners_, ::vl::reflection::description::IValueSubscription* __vwsnctor___vwsn_subscription_, ::vl::reflection::description::IValueSubscription* __vwsnctorthis_0, ::demo::MainWindowConstructor* __vwsnctorthis_1); + + ::vl::reflection::description::IValueSubscription* GetSubscription() override; + bool GetStopped() override; + bool StopListening() override; + }; + + class __vwsnc13_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription + { + public: + ::demo::MainWindowConstructor* __vwsnthis_0; + + __vwsnc13_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::MainWindowConstructor* __vwsnctorthis_0); + + ::vl::presentation::controls::GuiBindableTreeView* __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; + ::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsn_bind_listeners_; + 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_initialize_(); + ::vl::Ptr<::vl::reflection::description::IValueListener> Subscribe(const ::vl::Func& __vwsn_bind_callback_) override; + bool Update() override; + bool Close() override; + }; + + class __vwsnc14_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener : public ::vl::Object, public virtual ::vl::reflection::description::IValueListener + { + public: + ::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsn_bind_listeners_; + ::vl::reflection::description::IValueSubscription* __vwsn_subscription_; + ::vl::reflection::description::IValueSubscription* __vwsnthis_0; + ::demo::MainWindowConstructor* __vwsnthis_1; + + __vwsnc14_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener(::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsnctor___vwsn_bind_listeners_, ::vl::reflection::description::IValueSubscription* __vwsnctor___vwsn_subscription_, ::vl::reflection::description::IValueSubscription* __vwsnctorthis_0, ::demo::MainWindowConstructor* __vwsnctorthis_1); + + ::vl::reflection::description::IValueSubscription* GetSubscription() override; + bool GetStopped() override; + bool StopListening() override; + }; + + class __vwsnc15_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription + { + public: + ::demo::MainWindowConstructor* __vwsnthis_0; + + __vwsnc15_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::MainWindowConstructor* __vwsnctorthis_0); + + ::vl::presentation::controls::GuiBindableListView* __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; + ::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsn_bind_listeners_; + 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_initialize_(); + ::vl::Ptr<::vl::reflection::description::IValueListener> Subscribe(const ::vl::Func& __vwsn_bind_callback_) override; + bool Update() override; + bool Close() override; + }; + + class __vwsnc16_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener : public ::vl::Object, public virtual ::vl::reflection::description::IValueListener + { + public: + ::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsn_bind_listeners_; + ::vl::reflection::description::IValueSubscription* __vwsn_subscription_; + ::vl::reflection::description::IValueSubscription* __vwsnthis_0; + ::demo::MainWindowConstructor* __vwsnthis_1; + + __vwsnc16_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener(::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsnctor___vwsn_bind_listeners_, ::vl::reflection::description::IValueSubscription* __vwsnctor___vwsn_subscription_, ::vl::reflection::description::IValueSubscription* __vwsnctorthis_0, ::demo::MainWindowConstructor* __vwsnctorthis_1); + + ::vl::reflection::description::IValueSubscription* GetSubscription() override; + bool GetStopped() override; + bool StopListening() override; + }; + + class __vwsnc17_Demo_demo_NewContactWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription + { + public: + ::demo::NewContactWindowConstructor* __vwsnthis_0; + + __vwsnc17_Demo_demo_NewContactWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::NewContactWindowConstructor* __vwsnctorthis_0); + + ::demo::NewContactWindow* __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; + ::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsn_bind_listeners_; + void __vwsn_bind_activator_(); + void __vwsn_bind_callback_0_0(); + void __vwsn_bind_initialize_(); + ::vl::Ptr<::vl::reflection::description::IValueListener> Subscribe(const ::vl::Func& __vwsn_bind_callback_) override; + bool Update() override; + bool Close() override; + }; + + class __vwsnc18_Demo_demo_NewContactWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener : public ::vl::Object, public virtual ::vl::reflection::description::IValueListener + { + public: + ::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsn_bind_listeners_; + ::vl::reflection::description::IValueSubscription* __vwsn_subscription_; + ::vl::reflection::description::IValueSubscription* __vwsnthis_0; + ::demo::NewContactWindowConstructor* __vwsnthis_1; + + __vwsnc18_Demo_demo_NewContactWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener(::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsnctor___vwsn_bind_listeners_, ::vl::reflection::description::IValueSubscription* __vwsnctor___vwsn_subscription_, ::vl::reflection::description::IValueSubscription* __vwsnctorthis_0, ::demo::NewContactWindowConstructor* __vwsnctorthis_1); + + ::vl::reflection::description::IValueSubscription* GetSubscription() override; + bool GetStopped() override; + bool StopListening() override; + }; + + class __vwsnc19_Demo_demo_NewFolderWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription + { + public: + ::demo::NewFolderWindowConstructor* __vwsnthis_0; + + __vwsnc19_Demo_demo_NewFolderWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::NewFolderWindowConstructor* __vwsnctorthis_0); + + ::vl::presentation::controls::GuiDocumentLabel* __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; + ::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsn_bind_listeners_; + 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_initialize_(); + ::vl::Ptr<::vl::reflection::description::IValueListener> Subscribe(const ::vl::Func& __vwsn_bind_callback_) override; + bool Update() override; + bool Close() override; + }; + + class __vwsnc1_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription + { + public: + ::demo::MainWindowConstructor* __vwsnthis_0; + + __vwsnc1_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::MainWindowConstructor* __vwsnctorthis_0); + + ::vl::Ptr<::demo::IViewModel> __vwsn_bind_cache_0; + ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; + bool __vwsn_bind_opened_ = false; + bool __vwsn_bind_closed_ = false; + ::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsn_bind_listeners_; + void __vwsn_bind_activator_(); + void __vwsn_bind_callback_0_0(); + void __vwsn_bind_initialize_(); + ::vl::Ptr<::vl::reflection::description::IValueListener> Subscribe(const ::vl::Func& __vwsn_bind_callback_) override; + bool Update() override; + bool Close() override; + }; + + class __vwsnc20_Demo_demo_NewFolderWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener : public ::vl::Object, public virtual ::vl::reflection::description::IValueListener + { + public: + ::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsn_bind_listeners_; + ::vl::reflection::description::IValueSubscription* __vwsn_subscription_; + ::vl::reflection::description::IValueSubscription* __vwsnthis_0; + ::demo::NewFolderWindowConstructor* __vwsnthis_1; + + __vwsnc20_Demo_demo_NewFolderWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener(::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsnctor___vwsn_bind_listeners_, ::vl::reflection::description::IValueSubscription* __vwsnctor___vwsn_subscription_, ::vl::reflection::description::IValueSubscription* __vwsnctorthis_0, ::demo::NewFolderWindowConstructor* __vwsnctorthis_1); + + ::vl::reflection::description::IValueSubscription* GetSubscription() override; + bool GetStopped() override; + bool StopListening() override; + }; + + class __vwsnc2_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener : public ::vl::Object, public virtual ::vl::reflection::description::IValueListener + { + public: + ::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsn_bind_listeners_; + ::vl::reflection::description::IValueSubscription* __vwsn_subscription_; + ::vl::reflection::description::IValueSubscription* __vwsnthis_0; + ::demo::MainWindowConstructor* __vwsnthis_1; + + __vwsnc2_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener(::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsnctor___vwsn_bind_listeners_, ::vl::reflection::description::IValueSubscription* __vwsnctor___vwsn_subscription_, ::vl::reflection::description::IValueSubscription* __vwsnctorthis_0, ::demo::MainWindowConstructor* __vwsnctorthis_1); + + ::vl::reflection::description::IValueSubscription* GetSubscription() override; + bool GetStopped() override; + bool StopListening() override; + }; + + class __vwsnc3_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription + { + public: + ::demo::MainWindowConstructor* __vwsnthis_0; + + __vwsnc3_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::MainWindowConstructor* __vwsnctorthis_0); + + ::vl::Ptr<::demo::IViewModel> __vwsn_bind_cache_0; + ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; + bool __vwsn_bind_opened_ = false; + bool __vwsn_bind_closed_ = false; + ::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsn_bind_listeners_; + void __vwsn_bind_activator_(); + void __vwsn_bind_callback_0_0(); + void __vwsn_bind_initialize_(); + ::vl::Ptr<::vl::reflection::description::IValueListener> Subscribe(const ::vl::Func& __vwsn_bind_callback_) override; + bool Update() override; + bool Close() override; + }; + + class __vwsnc4_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener : public ::vl::Object, public virtual ::vl::reflection::description::IValueListener + { + public: + ::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsn_bind_listeners_; + ::vl::reflection::description::IValueSubscription* __vwsn_subscription_; + ::vl::reflection::description::IValueSubscription* __vwsnthis_0; + ::demo::MainWindowConstructor* __vwsnthis_1; + + __vwsnc4_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener(::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsnctor___vwsn_bind_listeners_, ::vl::reflection::description::IValueSubscription* __vwsnctor___vwsn_subscription_, ::vl::reflection::description::IValueSubscription* __vwsnctorthis_0, ::demo::MainWindowConstructor* __vwsnctorthis_1); + + ::vl::reflection::description::IValueSubscription* GetSubscription() override; + bool GetStopped() override; + bool StopListening() override; + }; + + class __vwsnc5_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription + { + public: + ::demo::MainWindowConstructor* __vwsnthis_0; + + __vwsnc5_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::MainWindowConstructor* __vwsnctorthis_0); + + ::vl::Ptr<::demo::IViewModel> __vwsn_bind_cache_0; + ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; + bool __vwsn_bind_opened_ = false; + bool __vwsn_bind_closed_ = false; + ::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsn_bind_listeners_; + void __vwsn_bind_activator_(); + void __vwsn_bind_callback_0_0(); + void __vwsn_bind_initialize_(); + ::vl::Ptr<::vl::reflection::description::IValueListener> Subscribe(const ::vl::Func& __vwsn_bind_callback_) override; + bool Update() override; + bool Close() override; + }; + + class __vwsnc6_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener : public ::vl::Object, public virtual ::vl::reflection::description::IValueListener + { + public: + ::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsn_bind_listeners_; + ::vl::reflection::description::IValueSubscription* __vwsn_subscription_; + ::vl::reflection::description::IValueSubscription* __vwsnthis_0; + ::demo::MainWindowConstructor* __vwsnthis_1; + + __vwsnc6_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener(::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsnctor___vwsn_bind_listeners_, ::vl::reflection::description::IValueSubscription* __vwsnctor___vwsn_subscription_, ::vl::reflection::description::IValueSubscription* __vwsnctorthis_0, ::demo::MainWindowConstructor* __vwsnctorthis_1); + + ::vl::reflection::description::IValueSubscription* GetSubscription() override; + bool GetStopped() override; + bool StopListening() override; + }; + + class __vwsnc7_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription + { + public: + ::demo::MainWindowConstructor* __vwsnthis_0; + + __vwsnc7_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::MainWindowConstructor* __vwsnctorthis_0); + + ::vl::Ptr<::demo::IViewModel> __vwsn_bind_cache_0; + ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; + bool __vwsn_bind_opened_ = false; + bool __vwsn_bind_closed_ = false; + ::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsn_bind_listeners_; + void __vwsn_bind_activator_(); + void __vwsn_bind_callback_0_0(); + void __vwsn_bind_initialize_(); + ::vl::Ptr<::vl::reflection::description::IValueListener> Subscribe(const ::vl::Func& __vwsn_bind_callback_) override; + bool Update() override; + bool Close() override; + }; + + class __vwsnc8_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener : public ::vl::Object, public virtual ::vl::reflection::description::IValueListener + { + public: + ::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsn_bind_listeners_; + ::vl::reflection::description::IValueSubscription* __vwsn_subscription_; + ::vl::reflection::description::IValueSubscription* __vwsnthis_0; + ::demo::MainWindowConstructor* __vwsnthis_1; + + __vwsnc8_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener(::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsnctor___vwsn_bind_listeners_, ::vl::reflection::description::IValueSubscription* __vwsnctor___vwsn_subscription_, ::vl::reflection::description::IValueSubscription* __vwsnctorthis_0, ::demo::MainWindowConstructor* __vwsnctorthis_1); + + ::vl::reflection::description::IValueSubscription* GetSubscription() override; + bool GetStopped() override; + bool StopListening() override; + }; + + class __vwsnc9_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription + { + public: + ::demo::MainWindowConstructor* __vwsnthis_0; + + __vwsnc9_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::MainWindowConstructor* __vwsnctorthis_0); + + ::vl::Ptr<::demo::IViewModel> __vwsn_bind_cache_0; + ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; + bool __vwsn_bind_opened_ = false; + bool __vwsn_bind_closed_ = false; + ::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsn_bind_listeners_; + void __vwsn_bind_activator_(); + void __vwsn_bind_callback_0_0(); + void __vwsn_bind_initialize_(); + ::vl::Ptr<::vl::reflection::description::IValueListener> Subscribe(const ::vl::Func& __vwsn_bind_callback_) override; + bool Update() override; + bool Close() override; + }; + + //------------------------------------------------------------------- + + __vwsnf10_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::__vwsnf10_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0) + :__vwsnthis_0(__vwsnctorthis_0) + { + } + + void __vwsnf10_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + { + { + auto window = new ::demo::NewContactWindow(::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0)->ViewModel.Obj())->GetSelectedContact()); + ::vl::__vwsn::This(window)->SetForEdit(true); + ::vl::__vwsn::This(window)->MoveToScreenCenter(); + ::vl::__vwsn::This(window)->ShowModalAndDelete(::vl::__vwsn::Ensure(static_cast<::vl::presentation::controls::GuiWindow*>(::vl::__vwsn::This(__vwsnthis_0)->self)), LAMBDA(::vl_workflow_global::__vwsnf11_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___(__vwsnthis_0))); + } + } + + //------------------------------------------------------------------- + + __vwsnf11_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___::__vwsnf11_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___(::demo::MainWindowConstructor* __vwsnctorthis_0) + :__vwsnthis_0(__vwsnctorthis_0) + { + } + + void __vwsnf11_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___::operator()() const + { + } + + //------------------------------------------------------------------- + + __vwsnf12_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::__vwsnf12_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0) + :__vwsnthis_0(__vwsnctorthis_0) + { + } + + void __vwsnf12_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0)->commandDeleteContact)->GetEnabled(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0)->commandDeleteContact)->SetEnabled(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsnf13_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::__vwsnf13_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0) + :__vwsnthis_0(__vwsnctorthis_0) + { + } + + void __vwsnf13_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + { + { + ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0)->ViewModel.Obj())->RemoveContact(); + } + } + + //------------------------------------------------------------------- + + __vwsnf1_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::__vwsnf1_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0) + :__vwsnthis_0(__vwsnctorthis_0) + { + } + + void __vwsnf1_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0)->commandNewFolder)->GetEnabled(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0)->commandNewFolder)->SetEnabled(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsnf20_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::__vwsnf20_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0) + :__vwsnthis_0(__vwsnctorthis_0) + { + } + + void __vwsnf20_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0)->listViewContacts)->GetItemSource(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::reflection::description::IValueEnumerable>(__vwsn_value_); + if ((__vwsn_old_.Obj() == __vwsn_new_.Obj())) + { + return; + } + ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0)->listViewContacts)->SetItemSource(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsnf21_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::__vwsnf21_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0) + :__vwsnthis_0(__vwsnctorthis_0) + { + } + + void __vwsnf21_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0)->__vwsn_precompile_38.Obj())->GetSelectedCategory(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::Ptr<::demo::ICategory>>(__vwsn_value_); + if ((__vwsn_old_.Obj() == __vwsn_new_.Obj())) + { + return; + } + ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0)->__vwsn_precompile_38.Obj())->SetSelectedCategory(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsnf22_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::__vwsnf22_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0) + :__vwsnthis_0(__vwsnctorthis_0) + { + } + + void __vwsnf22_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0)->__vwsn_precompile_38.Obj())->GetSelectedContact(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::Ptr<::demo::IContact>>(__vwsn_value_); + if ((__vwsn_old_.Obj() == __vwsn_new_.Obj())) + { + return; + } + ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0)->__vwsn_precompile_38.Obj())->SetSelectedContact(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsnf23_Demo_demo_NewContactWindowConstructor___vwsn_initialize_instance__::__vwsnf23_Demo_demo_NewContactWindowConstructor___vwsn_initialize_instance__(::demo::NewContactWindowConstructor* __vwsnctorthis_0) + :__vwsnthis_0(__vwsnctorthis_0) + { + } + + void __vwsnf23_Demo_demo_NewContactWindowConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + { + { + ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0)->Contact.Obj())->Update(::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0)->textBoxName)->GetText(), ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0)->datePickerBirthday)->GetDate(), ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0)->textBoxPhone)->GetText(), ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0)->textBoxAddress)->GetText()); + ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0)->self)->Close(); + } + } + + //------------------------------------------------------------------- + + __vwsnf24_Demo_demo_NewContactWindowConstructor___vwsn_initialize_instance__::__vwsnf24_Demo_demo_NewContactWindowConstructor___vwsn_initialize_instance__(::demo::NewContactWindowConstructor* __vwsnctorthis_0) + :__vwsnthis_0(__vwsnctorthis_0) + { + } + + void __vwsnf24_Demo_demo_NewContactWindowConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + { + { + (::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0)->self)->Ready = false); + ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0)->self)->Close(); + } + } + + //------------------------------------------------------------------- + + __vwsnf25_Demo_demo_NewContactWindowConstructor___vwsn_initialize_instance__::__vwsnf25_Demo_demo_NewContactWindowConstructor___vwsn_initialize_instance__(::demo::NewContactWindowConstructor* __vwsnctorthis_0) + :__vwsnthis_0(__vwsnctorthis_0) + { + } + + void __vwsnf25_Demo_demo_NewContactWindowConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0)->self)->GetText(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0)->self)->SetText(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsnf26_Demo_demo_NewFolderWindowConstructor___vwsn_initialize_instance__::__vwsnf26_Demo_demo_NewFolderWindowConstructor___vwsn_initialize_instance__(::demo::NewFolderWindowConstructor* __vwsnctorthis_0) + :__vwsnthis_0(__vwsnctorthis_0) + { + } + + void __vwsnf26_Demo_demo_NewFolderWindowConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + { + { + ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0)->self)->Close(); + } + } + + //------------------------------------------------------------------- + + __vwsnf27_Demo_demo_NewFolderWindowConstructor___vwsn_initialize_instance__::__vwsnf27_Demo_demo_NewFolderWindowConstructor___vwsn_initialize_instance__(::demo::NewFolderWindowConstructor* __vwsnctorthis_0) + :__vwsnthis_0(__vwsnctorthis_0) + { + } + + void __vwsnf27_Demo_demo_NewFolderWindowConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + { + { + (::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0)->self)->Ready = false); + ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0)->self)->Close(); + } + } + + //------------------------------------------------------------------- + + __vwsnf28_Demo_demo_NewFolderWindowConstructor___vwsn_initialize_instance__::__vwsnf28_Demo_demo_NewFolderWindowConstructor___vwsn_initialize_instance__(::demo::NewFolderWindowConstructor* __vwsnctorthis_0) + :__vwsnthis_0(__vwsnctorthis_0) + { + } + + void __vwsnf28_Demo_demo_NewFolderWindowConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0)->self)->GetFolderName(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0)->self)->SetFolderName(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsnf2_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::__vwsnf2_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0) + :__vwsnthis_0(__vwsnctorthis_0) + { + } + + void __vwsnf2_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + { + { + auto window = new ::demo::NewFolderWindow(); + ::vl::__vwsn::This(window)->MoveToScreenCenter(); + ::vl::__vwsn::This(window)->ShowModalAndDelete(::vl::__vwsn::Ensure(static_cast<::vl::presentation::controls::GuiWindow*>(::vl::__vwsn::This(__vwsnthis_0)->self)), LAMBDA(::vl_workflow_global::__vwsnf3_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___(window, __vwsnthis_0))); + } + } + + //------------------------------------------------------------------- + + __vwsnf3_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___::__vwsnf3_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___(::demo::NewFolderWindow* __vwsnctor_window, ::demo::MainWindowConstructor* __vwsnctorthis_0) + :window(__vwsnctor_window) + , __vwsnthis_0(__vwsnctorthis_0) + { + } + + void __vwsnf3_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___::operator()() const + { + if (::vl::__vwsn::This(::vl::__vwsn::This(this)->window)->Ready) + { + ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0)->ViewModel.Obj())->AddCategory(::vl::__vwsn::This(::vl::__vwsn::This(this)->window)->GetFolderName()); + } + } + + //------------------------------------------------------------------- + + __vwsnf4_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::__vwsnf4_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0) + :__vwsnthis_0(__vwsnctorthis_0) + { + } + + void __vwsnf4_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0)->commandDeleteFolder)->GetEnabled(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0)->commandDeleteFolder)->SetEnabled(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsnf5_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::__vwsnf5_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0) + :__vwsnthis_0(__vwsnctorthis_0) + { + } + + void __vwsnf5_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + { + { + ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0)->ViewModel.Obj())->RemoveCategory(); + } + } + + //------------------------------------------------------------------- + + __vwsnf6_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::__vwsnf6_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0) + :__vwsnthis_0(__vwsnctorthis_0) + { + } + + void __vwsnf6_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0)->commandNewContact)->GetEnabled(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0)->commandNewContact)->SetEnabled(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsnf7_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::__vwsnf7_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0) + :__vwsnthis_0(__vwsnctorthis_0) + { + } + + void __vwsnf7_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + { + { + auto contact = ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0)->ViewModel.Obj())->CreateContact(); + auto window = new ::demo::NewContactWindow(contact); + ::vl::__vwsn::This(window)->MoveToScreenCenter(); + ::vl::__vwsn::This(window)->ShowModalAndDelete(::vl::__vwsn::Ensure(static_cast<::vl::presentation::controls::GuiWindow*>(::vl::__vwsn::This(__vwsnthis_0)->self)), LAMBDA(::vl_workflow_global::__vwsnf8_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___(contact, window, __vwsnthis_0))); + } + } + + //------------------------------------------------------------------- + + __vwsnf8_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___::__vwsnf8_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___(::vl::Ptr<::demo::IContact> __vwsnctor_contact, ::demo::NewContactWindow* __vwsnctor_window, ::demo::MainWindowConstructor* __vwsnctorthis_0) + :contact(__vwsnctor_contact) + , window(__vwsnctor_window) + , __vwsnthis_0(__vwsnctorthis_0) + { + } + + void __vwsnf8_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___::operator()() const + { + if (::vl::__vwsn::This(::vl::__vwsn::This(this)->window)->Ready) + { + ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0)->ViewModel.Obj())->AddContact(::vl::__vwsn::This(this)->contact); + } + } + + //------------------------------------------------------------------- + + __vwsnf9_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::__vwsnf9_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0) + :__vwsnthis_0(__vwsnctorthis_0) + { + } + + void __vwsnf9_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0)->commandEditContact)->GetEnabled(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0)->commandEditContact)->SetEnabled(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsno14_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::__vwsno14_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindow* __vwsnctor___vwsn_this_, ::demo::MainWindowConstructor* __vwsnctorthis_0) + :__vwsn_this_(__vwsnctor___vwsn_this_) + , __vwsnthis_0(__vwsnctorthis_0) + { + } + + void __vwsno14_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* __vwsno_1, ::vl::presentation::compositions::GuiEventArgs* __vwsno_2) const + { + return ::vl::__vwsn::This(__vwsn_this_)->commandBigIcon_Executed(__vwsno_1, __vwsno_2); + } + + //------------------------------------------------------------------- + + __vwsno15_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::__vwsno15_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindow* __vwsnctor___vwsn_this_, ::demo::MainWindowConstructor* __vwsnctorthis_0) + :__vwsn_this_(__vwsnctor___vwsn_this_) + , __vwsnthis_0(__vwsnctorthis_0) + { + } + + void __vwsno15_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* __vwsno_1, ::vl::presentation::compositions::GuiEventArgs* __vwsno_2) const + { + return ::vl::__vwsn::This(__vwsn_this_)->commandSmallIcon_Executed(__vwsno_1, __vwsno_2); + } + + //------------------------------------------------------------------- + + __vwsno16_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::__vwsno16_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindow* __vwsnctor___vwsn_this_, ::demo::MainWindowConstructor* __vwsnctorthis_0) + :__vwsn_this_(__vwsnctor___vwsn_this_) + , __vwsnthis_0(__vwsnctorthis_0) + { + } + + void __vwsno16_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* __vwsno_1, ::vl::presentation::compositions::GuiEventArgs* __vwsno_2) const + { + return ::vl::__vwsn::This(__vwsn_this_)->commandList_Executed(__vwsno_1, __vwsno_2); + } + + //------------------------------------------------------------------- + + __vwsno17_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::__vwsno17_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindow* __vwsnctor___vwsn_this_, ::demo::MainWindowConstructor* __vwsnctorthis_0) + :__vwsn_this_(__vwsnctor___vwsn_this_) + , __vwsnthis_0(__vwsnctorthis_0) + { + } + + void __vwsno17_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* __vwsno_1, ::vl::presentation::compositions::GuiEventArgs* __vwsno_2) const + { + return ::vl::__vwsn::This(__vwsn_this_)->commandDetail_Executed(__vwsno_1, __vwsno_2); + } + + //------------------------------------------------------------------- + + __vwsno18_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::__vwsno18_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindow* __vwsnctor___vwsn_this_, ::demo::MainWindowConstructor* __vwsnctorthis_0) + :__vwsn_this_(__vwsnctor___vwsn_this_) + , __vwsnthis_0(__vwsnctorthis_0) + { + } + + void __vwsno18_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* __vwsno_1, ::vl::presentation::compositions::GuiEventArgs* __vwsno_2) const + { + return ::vl::__vwsn::This(__vwsn_this_)->commandTile_Executed(__vwsno_1, __vwsno_2); + } + + //------------------------------------------------------------------- + + __vwsno19_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::__vwsno19_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindow* __vwsnctor___vwsn_this_, ::demo::MainWindowConstructor* __vwsnctorthis_0) + :__vwsn_this_(__vwsnctor___vwsn_this_) + , __vwsnthis_0(__vwsnctorthis_0) + { + } + + void __vwsno19_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* __vwsno_1, ::vl::presentation::compositions::GuiEventArgs* __vwsno_2) const + { + return ::vl::__vwsn::This(__vwsn_this_)->commandInformation_Executed(__vwsno_1, __vwsno_2); + } + + //------------------------------------------------------------------- + + __vwsnc10_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::__vwsnc10_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener(::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsnctor___vwsn_bind_listeners_, ::vl::reflection::description::IValueSubscription* __vwsnctor___vwsn_subscription_, ::vl::reflection::description::IValueSubscription* __vwsnctorthis_0, ::demo::MainWindowConstructor* __vwsnctorthis_1) + :__vwsn_bind_listeners_(__vwsnctor___vwsn_bind_listeners_) + , __vwsn_subscription_(__vwsnctor___vwsn_subscription_) + , __vwsnthis_0(__vwsnctorthis_0) + , __vwsnthis_1(__vwsnctorthis_1) + { + } + + ::vl::reflection::description::IValueSubscription* __vwsnc10_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::GetSubscription() + { + return ::vl::__vwsn::This(this)->__vwsn_subscription_; + } + + bool __vwsnc10_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::GetStopped() + { + return (! ::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_bind_listeners_.Obj())->GetKeys().Obj())->Contains(::vl::__vwsn::Box(this))); + } + + bool __vwsnc10_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::StopListening() + { + if (::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_bind_listeners_.Obj())->GetKeys().Obj())->Contains(::vl::__vwsn::Box(this))) + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_bind_listeners_.Obj())->Remove(::vl::__vwsn::Box(this)); + return true; + } + return false; + } + + //------------------------------------------------------------------- + + __vwsnc11_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc11_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::MainWindowConstructor* __vwsnctorthis_0) + :__vwsnthis_0(__vwsnctorthis_0) + { + this->__vwsn_bind_cache_0 = ::vl::Ptr<::demo::IViewModel>(); + this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); + this->__vwsn_bind_opened_ = false; + this->__vwsn_bind_closed_ = false; + this->__vwsn_bind_listeners_ = ::vl::reflection::description::IValueDictionary::Create(); + } + + void __vwsnc11_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() + { + auto __vwsn_bind_activator_result_ = ::vl::__vwsn::Ensure(::vl::Ptr<::vl::reflection::description::IValueEnumerable>([&](){ try{ return ::vl::__vwsn::This(::vl::__vwsn::This(__vwsn_bind_cache_0.Obj())->GetSelectedCategory().Obj())->GetContacts(); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IValueObservableList>(); } }())); + using __vwsnt_0 = ::vl::reflection::description::Value; + FOREACH(__vwsnt_0, __vwsn_bind_callback_, ::vl::reflection::description::GetLazyList<::vl::reflection::description::Value>(::vl::__vwsn::This(__vwsn_bind_listeners_.Obj())->GetValues())) + { + ::vl::__vwsn::Unbox<::vl::Func>(__vwsn_bind_callback_)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); + } + } + + void __vwsnc11_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0() + { + ::vl::__vwsn::This(this)->__vwsn_bind_activator_(); + } + + void __vwsnc11_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_initialize_() + { + (__vwsn_bind_cache_0 = ::vl::__vwsn::This(__vwsnthis_0)->ViewModel); + (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0.Obj())->SelectedCategoryChanged, ::vl::Func(::vl::__vwsn::This(this), &__vwsnc11_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); + } + + ::vl::Ptr<::vl::reflection::description::IValueListener> __vwsnc11_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Subscribe(const ::vl::Func& __vwsn_bind_callback_) + { + if ((! __vwsn_bind_opened_)) + { + (__vwsn_bind_opened_ = true); + ::vl::__vwsn::This(this)->__vwsn_bind_initialize_(); + } + auto __vwsn_subscription_ = this; + auto __vwsn_listener_shared_ = ::vl::Ptr<::vl::reflection::description::IValueListener>(new ::vl_workflow_global::__vwsnc12_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener(__vwsn_bind_listeners_, __vwsn_subscription_, this, __vwsnthis_0)); + ::vl::__vwsn::This(__vwsn_bind_listeners_.Obj())->Set(::vl::__vwsn::Box(__vwsn_listener_shared_), ::vl::__vwsn::Box(__vwsn_bind_callback_)); + return __vwsn_listener_shared_; + } + + bool __vwsnc11_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() + { + if ((! __vwsn_bind_closed_)) + { + ::vl::__vwsn::This(this)->__vwsn_bind_activator_(); + return true; + } + return false; + } + + bool __vwsnc11_Demo_demo_MainWindowConstructor___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.Obj())->SelectedCategoryChanged, __vwsn_bind_handler_0_0); + (__vwsn_bind_cache_0 = ::vl::Ptr<::demo::IViewModel>()); + (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + ::vl::__vwsn::This(__vwsn_bind_listeners_.Obj())->Clear(); + return true; + } + return false; + } + + //------------------------------------------------------------------- + + __vwsnc12_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::__vwsnc12_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener(::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsnctor___vwsn_bind_listeners_, ::vl::reflection::description::IValueSubscription* __vwsnctor___vwsn_subscription_, ::vl::reflection::description::IValueSubscription* __vwsnctorthis_0, ::demo::MainWindowConstructor* __vwsnctorthis_1) + :__vwsn_bind_listeners_(__vwsnctor___vwsn_bind_listeners_) + , __vwsn_subscription_(__vwsnctor___vwsn_subscription_) + , __vwsnthis_0(__vwsnctorthis_0) + , __vwsnthis_1(__vwsnctorthis_1) + { + } + + ::vl::reflection::description::IValueSubscription* __vwsnc12_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::GetSubscription() + { + return ::vl::__vwsn::This(this)->__vwsn_subscription_; + } + + bool __vwsnc12_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::GetStopped() + { + return (! ::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_bind_listeners_.Obj())->GetKeys().Obj())->Contains(::vl::__vwsn::Box(this))); + } + + bool __vwsnc12_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::StopListening() + { + if (::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_bind_listeners_.Obj())->GetKeys().Obj())->Contains(::vl::__vwsn::Box(this))) + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_bind_listeners_.Obj())->Remove(::vl::__vwsn::Box(this)); + return true; + } + return false; + } + + //------------------------------------------------------------------- + + __vwsnc13_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc13_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::MainWindowConstructor* __vwsnctorthis_0) + :__vwsnthis_0(__vwsnctorthis_0) + { + this->__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiBindableTreeView*>(nullptr); + this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); + this->__vwsn_bind_opened_ = false; + this->__vwsn_bind_closed_ = false; + this->__vwsn_bind_listeners_ = ::vl::reflection::description::IValueDictionary::Create(); + } + + void __vwsnc13_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() + { + auto __vwsn_bind_activator_result_ = ::vl::__vwsn::UnboxWeak<::vl::Ptr<::demo::ICategory>>(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetSelectedItem()); + using __vwsnt_0 = ::vl::reflection::description::Value; + FOREACH(__vwsnt_0, __vwsn_bind_callback_, ::vl::reflection::description::GetLazyList<::vl::reflection::description::Value>(::vl::__vwsn::This(__vwsn_bind_listeners_.Obj())->GetValues())) + { + ::vl::__vwsn::Unbox<::vl::Func>(__vwsn_bind_callback_)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); + } + } + + void __vwsnc13_Demo_demo_MainWindowConstructor___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) + { + ::vl::__vwsn::This(this)->__vwsn_bind_activator_(); + } + + void __vwsnc13_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_initialize_() + { + (__vwsn_bind_cache_0 = ::vl::__vwsn::This(__vwsnthis_0)->treeViewFolders); + (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SelectionChanged, ::vl::Func(::vl::__vwsn::This(this), &__vwsnc13_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); + } + + ::vl::Ptr<::vl::reflection::description::IValueListener> __vwsnc13_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Subscribe(const ::vl::Func& __vwsn_bind_callback_) + { + if ((! __vwsn_bind_opened_)) + { + (__vwsn_bind_opened_ = true); + ::vl::__vwsn::This(this)->__vwsn_bind_initialize_(); + } + auto __vwsn_subscription_ = this; + auto __vwsn_listener_shared_ = ::vl::Ptr<::vl::reflection::description::IValueListener>(new ::vl_workflow_global::__vwsnc14_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener(__vwsn_bind_listeners_, __vwsn_subscription_, this, __vwsnthis_0)); + ::vl::__vwsn::This(__vwsn_bind_listeners_.Obj())->Set(::vl::__vwsn::Box(__vwsn_listener_shared_), ::vl::__vwsn::Box(__vwsn_bind_callback_)); + return __vwsn_listener_shared_; + } + + bool __vwsnc13_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() + { + if ((! __vwsn_bind_closed_)) + { + ::vl::__vwsn::This(this)->__vwsn_bind_activator_(); + return true; + } + return false; + } + + bool __vwsnc13_Demo_demo_MainWindowConstructor___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::GuiBindableTreeView*>(nullptr)); + (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + ::vl::__vwsn::This(__vwsn_bind_listeners_.Obj())->Clear(); + return true; + } + return false; + } + + //------------------------------------------------------------------- + + __vwsnc14_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::__vwsnc14_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener(::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsnctor___vwsn_bind_listeners_, ::vl::reflection::description::IValueSubscription* __vwsnctor___vwsn_subscription_, ::vl::reflection::description::IValueSubscription* __vwsnctorthis_0, ::demo::MainWindowConstructor* __vwsnctorthis_1) + :__vwsn_bind_listeners_(__vwsnctor___vwsn_bind_listeners_) + , __vwsn_subscription_(__vwsnctor___vwsn_subscription_) + , __vwsnthis_0(__vwsnctorthis_0) + , __vwsnthis_1(__vwsnctorthis_1) + { + } + + ::vl::reflection::description::IValueSubscription* __vwsnc14_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::GetSubscription() + { + return ::vl::__vwsn::This(this)->__vwsn_subscription_; + } + + bool __vwsnc14_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::GetStopped() + { + return (! ::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_bind_listeners_.Obj())->GetKeys().Obj())->Contains(::vl::__vwsn::Box(this))); + } + + bool __vwsnc14_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::StopListening() + { + if (::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_bind_listeners_.Obj())->GetKeys().Obj())->Contains(::vl::__vwsn::Box(this))) + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_bind_listeners_.Obj())->Remove(::vl::__vwsn::Box(this)); + return true; + } + return false; + } + + //------------------------------------------------------------------- + + __vwsnc15_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc15_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::MainWindowConstructor* __vwsnctorthis_0) + :__vwsnthis_0(__vwsnctorthis_0) + { + this->__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiBindableListView*>(nullptr); + this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); + this->__vwsn_bind_opened_ = false; + this->__vwsn_bind_closed_ = false; + this->__vwsn_bind_listeners_ = ::vl::reflection::description::IValueDictionary::Create(); + } + + void __vwsnc15_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() + { + auto __vwsn_bind_activator_result_ = ::vl::__vwsn::UnboxWeak<::vl::Ptr<::demo::IContact>>(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetSelectedItem()); + using __vwsnt_0 = ::vl::reflection::description::Value; + FOREACH(__vwsnt_0, __vwsn_bind_callback_, ::vl::reflection::description::GetLazyList<::vl::reflection::description::Value>(::vl::__vwsn::This(__vwsn_bind_listeners_.Obj())->GetValues())) + { + ::vl::__vwsn::Unbox<::vl::Func>(__vwsn_bind_callback_)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); + } + } + + void __vwsnc15_Demo_demo_MainWindowConstructor___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) + { + ::vl::__vwsn::This(this)->__vwsn_bind_activator_(); + } + + void __vwsnc15_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_initialize_() + { + (__vwsn_bind_cache_0 = ::vl::__vwsn::This(__vwsnthis_0)->listViewContacts); + (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SelectionChanged, ::vl::Func(::vl::__vwsn::This(this), &__vwsnc15_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); + } + + ::vl::Ptr<::vl::reflection::description::IValueListener> __vwsnc15_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Subscribe(const ::vl::Func& __vwsn_bind_callback_) + { + if ((! __vwsn_bind_opened_)) + { + (__vwsn_bind_opened_ = true); + ::vl::__vwsn::This(this)->__vwsn_bind_initialize_(); + } + auto __vwsn_subscription_ = this; + auto __vwsn_listener_shared_ = ::vl::Ptr<::vl::reflection::description::IValueListener>(new ::vl_workflow_global::__vwsnc16_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener(__vwsn_bind_listeners_, __vwsn_subscription_, this, __vwsnthis_0)); + ::vl::__vwsn::This(__vwsn_bind_listeners_.Obj())->Set(::vl::__vwsn::Box(__vwsn_listener_shared_), ::vl::__vwsn::Box(__vwsn_bind_callback_)); + return __vwsn_listener_shared_; + } + + bool __vwsnc15_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() + { + if ((! __vwsn_bind_closed_)) + { + ::vl::__vwsn::This(this)->__vwsn_bind_activator_(); + return true; + } + return false; + } + + bool __vwsnc15_Demo_demo_MainWindowConstructor___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::GuiBindableListView*>(nullptr)); + (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + ::vl::__vwsn::This(__vwsn_bind_listeners_.Obj())->Clear(); + return true; + } + return false; + } + + //------------------------------------------------------------------- + + __vwsnc16_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::__vwsnc16_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener(::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsnctor___vwsn_bind_listeners_, ::vl::reflection::description::IValueSubscription* __vwsnctor___vwsn_subscription_, ::vl::reflection::description::IValueSubscription* __vwsnctorthis_0, ::demo::MainWindowConstructor* __vwsnctorthis_1) + :__vwsn_bind_listeners_(__vwsnctor___vwsn_bind_listeners_) + , __vwsn_subscription_(__vwsnctor___vwsn_subscription_) + , __vwsnthis_0(__vwsnctorthis_0) + , __vwsnthis_1(__vwsnctorthis_1) + { + } + + ::vl::reflection::description::IValueSubscription* __vwsnc16_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::GetSubscription() + { + return ::vl::__vwsn::This(this)->__vwsn_subscription_; + } + + bool __vwsnc16_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::GetStopped() + { + return (! ::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_bind_listeners_.Obj())->GetKeys().Obj())->Contains(::vl::__vwsn::Box(this))); + } + + bool __vwsnc16_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::StopListening() + { + if (::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_bind_listeners_.Obj())->GetKeys().Obj())->Contains(::vl::__vwsn::Box(this))) + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_bind_listeners_.Obj())->Remove(::vl::__vwsn::Box(this)); + return true; + } + return false; + } + + //------------------------------------------------------------------- + + __vwsnc17_Demo_demo_NewContactWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc17_Demo_demo_NewContactWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::NewContactWindowConstructor* __vwsnctorthis_0) + :__vwsnthis_0(__vwsnctorthis_0) + { + this->__vwsn_bind_cache_0 = static_cast<::demo::NewContactWindow*>(nullptr); + this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); + this->__vwsn_bind_opened_ = false; + this->__vwsn_bind_closed_ = false; + this->__vwsn_bind_listeners_ = ::vl::reflection::description::IValueDictionary::Create(); + } + + void __vwsnc17_Demo_demo_NewContactWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() + { + auto __vwsn_bind_activator_result_ = (::vl::__vwsn::This(__vwsn_bind_cache_0)->GetForEdit() ? ::vl::WString(L"Edit Contact", false) : ::vl::WString(L"New Contact", false)); + using __vwsnt_0 = ::vl::reflection::description::Value; + FOREACH(__vwsnt_0, __vwsn_bind_callback_, ::vl::reflection::description::GetLazyList<::vl::reflection::description::Value>(::vl::__vwsn::This(__vwsn_bind_listeners_.Obj())->GetValues())) + { + ::vl::__vwsn::Unbox<::vl::Func>(__vwsn_bind_callback_)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); + } + } + + void __vwsnc17_Demo_demo_NewContactWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0() + { + ::vl::__vwsn::This(this)->__vwsn_bind_activator_(); + } + + void __vwsnc17_Demo_demo_NewContactWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_initialize_() + { + (__vwsn_bind_cache_0 = ::vl::__vwsn::This(__vwsnthis_0)->self); + (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->ForEditChanged, ::vl::Func(::vl::__vwsn::This(this), &__vwsnc17_Demo_demo_NewContactWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); + } + + ::vl::Ptr<::vl::reflection::description::IValueListener> __vwsnc17_Demo_demo_NewContactWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Subscribe(const ::vl::Func& __vwsn_bind_callback_) + { + if ((! __vwsn_bind_opened_)) + { + (__vwsn_bind_opened_ = true); + ::vl::__vwsn::This(this)->__vwsn_bind_initialize_(); + } + auto __vwsn_subscription_ = this; + auto __vwsn_listener_shared_ = ::vl::Ptr<::vl::reflection::description::IValueListener>(new ::vl_workflow_global::__vwsnc18_Demo_demo_NewContactWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener(__vwsn_bind_listeners_, __vwsn_subscription_, this, __vwsnthis_0)); + ::vl::__vwsn::This(__vwsn_bind_listeners_.Obj())->Set(::vl::__vwsn::Box(__vwsn_listener_shared_), ::vl::__vwsn::Box(__vwsn_bind_callback_)); + return __vwsn_listener_shared_; + } + + bool __vwsnc17_Demo_demo_NewContactWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() + { + if ((! __vwsn_bind_closed_)) + { + ::vl::__vwsn::This(this)->__vwsn_bind_activator_(); + return true; + } + return false; + } + + bool __vwsnc17_Demo_demo_NewContactWindowConstructor___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)->ForEditChanged, __vwsn_bind_handler_0_0); + (__vwsn_bind_cache_0 = static_cast<::demo::NewContactWindow*>(nullptr)); + (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + ::vl::__vwsn::This(__vwsn_bind_listeners_.Obj())->Clear(); + return true; + } + return false; + } + + //------------------------------------------------------------------- + + __vwsnc18_Demo_demo_NewContactWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::__vwsnc18_Demo_demo_NewContactWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener(::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsnctor___vwsn_bind_listeners_, ::vl::reflection::description::IValueSubscription* __vwsnctor___vwsn_subscription_, ::vl::reflection::description::IValueSubscription* __vwsnctorthis_0, ::demo::NewContactWindowConstructor* __vwsnctorthis_1) + :__vwsn_bind_listeners_(__vwsnctor___vwsn_bind_listeners_) + , __vwsn_subscription_(__vwsnctor___vwsn_subscription_) + , __vwsnthis_0(__vwsnctorthis_0) + , __vwsnthis_1(__vwsnctorthis_1) + { + } + + ::vl::reflection::description::IValueSubscription* __vwsnc18_Demo_demo_NewContactWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::GetSubscription() + { + return ::vl::__vwsn::This(this)->__vwsn_subscription_; + } + + bool __vwsnc18_Demo_demo_NewContactWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::GetStopped() + { + return (! ::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_bind_listeners_.Obj())->GetKeys().Obj())->Contains(::vl::__vwsn::Box(this))); + } + + bool __vwsnc18_Demo_demo_NewContactWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::StopListening() + { + if (::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_bind_listeners_.Obj())->GetKeys().Obj())->Contains(::vl::__vwsn::Box(this))) + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_bind_listeners_.Obj())->Remove(::vl::__vwsn::Box(this)); + return true; + } + return false; + } + + //------------------------------------------------------------------- + + __vwsnc19_Demo_demo_NewFolderWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc19_Demo_demo_NewFolderWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::NewFolderWindowConstructor* __vwsnctorthis_0) + :__vwsnthis_0(__vwsnctorthis_0) + { + this->__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiDocumentLabel*>(nullptr); + this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); + this->__vwsn_bind_opened_ = false; + this->__vwsn_bind_closed_ = false; + this->__vwsn_bind_listeners_ = ::vl::reflection::description::IValueDictionary::Create(); + } + + void __vwsnc19_Demo_demo_NewFolderWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() + { + auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetText(); + using __vwsnt_0 = ::vl::reflection::description::Value; + FOREACH(__vwsnt_0, __vwsn_bind_callback_, ::vl::reflection::description::GetLazyList<::vl::reflection::description::Value>(::vl::__vwsn::This(__vwsn_bind_listeners_.Obj())->GetValues())) + { + ::vl::__vwsn::Unbox<::vl::Func>(__vwsn_bind_callback_)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); + } + } + + void __vwsnc19_Demo_demo_NewFolderWindowConstructor___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) + { + ::vl::__vwsn::This(this)->__vwsn_bind_activator_(); + } + + void __vwsnc19_Demo_demo_NewFolderWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_initialize_() + { + (__vwsn_bind_cache_0 = ::vl::__vwsn::This(__vwsnthis_0)->textBoxName); + (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->TextChanged, ::vl::Func(::vl::__vwsn::This(this), &__vwsnc19_Demo_demo_NewFolderWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); + } + + ::vl::Ptr<::vl::reflection::description::IValueListener> __vwsnc19_Demo_demo_NewFolderWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Subscribe(const ::vl::Func& __vwsn_bind_callback_) + { + if ((! __vwsn_bind_opened_)) + { + (__vwsn_bind_opened_ = true); + ::vl::__vwsn::This(this)->__vwsn_bind_initialize_(); + } + auto __vwsn_subscription_ = this; + auto __vwsn_listener_shared_ = ::vl::Ptr<::vl::reflection::description::IValueListener>(new ::vl_workflow_global::__vwsnc20_Demo_demo_NewFolderWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener(__vwsn_bind_listeners_, __vwsn_subscription_, this, __vwsnthis_0)); + ::vl::__vwsn::This(__vwsn_bind_listeners_.Obj())->Set(::vl::__vwsn::Box(__vwsn_listener_shared_), ::vl::__vwsn::Box(__vwsn_bind_callback_)); + return __vwsn_listener_shared_; + } + + bool __vwsnc19_Demo_demo_NewFolderWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() + { + if ((! __vwsn_bind_closed_)) + { + ::vl::__vwsn::This(this)->__vwsn_bind_activator_(); + return true; + } + return false; + } + + bool __vwsnc19_Demo_demo_NewFolderWindowConstructor___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::GuiDocumentLabel*>(nullptr)); + (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + ::vl::__vwsn::This(__vwsn_bind_listeners_.Obj())->Clear(); + return true; + } + return false; + } + + //------------------------------------------------------------------- + + __vwsnc1_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc1_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::MainWindowConstructor* __vwsnctorthis_0) + :__vwsnthis_0(__vwsnctorthis_0) + { + this->__vwsn_bind_cache_0 = ::vl::Ptr<::demo::IViewModel>(); + this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); + this->__vwsn_bind_opened_ = false; + this->__vwsn_bind_closed_ = false; + this->__vwsn_bind_listeners_ = ::vl::reflection::description::IValueDictionary::Create(); + } + + void __vwsnc1_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() + { + auto __vwsn_bind_activator_result_ = static_cast(::vl::__vwsn::This(__vwsn_bind_cache_0.Obj())->GetSelectedCategory()); + using __vwsnt_0 = ::vl::reflection::description::Value; + FOREACH(__vwsnt_0, __vwsn_bind_callback_, ::vl::reflection::description::GetLazyList<::vl::reflection::description::Value>(::vl::__vwsn::This(__vwsn_bind_listeners_.Obj())->GetValues())) + { + ::vl::__vwsn::Unbox<::vl::Func>(__vwsn_bind_callback_)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); + } + } + + void __vwsnc1_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0() + { + ::vl::__vwsn::This(this)->__vwsn_bind_activator_(); + } + + void __vwsnc1_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_initialize_() + { + (__vwsn_bind_cache_0 = ::vl::__vwsn::This(__vwsnthis_0)->ViewModel); + (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0.Obj())->SelectedCategoryChanged, ::vl::Func(::vl::__vwsn::This(this), &__vwsnc1_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); + } + + ::vl::Ptr<::vl::reflection::description::IValueListener> __vwsnc1_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Subscribe(const ::vl::Func& __vwsn_bind_callback_) + { + if ((! __vwsn_bind_opened_)) + { + (__vwsn_bind_opened_ = true); + ::vl::__vwsn::This(this)->__vwsn_bind_initialize_(); + } + auto __vwsn_subscription_ = this; + auto __vwsn_listener_shared_ = ::vl::Ptr<::vl::reflection::description::IValueListener>(new ::vl_workflow_global::__vwsnc2_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener(__vwsn_bind_listeners_, __vwsn_subscription_, this, __vwsnthis_0)); + ::vl::__vwsn::This(__vwsn_bind_listeners_.Obj())->Set(::vl::__vwsn::Box(__vwsn_listener_shared_), ::vl::__vwsn::Box(__vwsn_bind_callback_)); + return __vwsn_listener_shared_; + } + + bool __vwsnc1_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() + { + if ((! __vwsn_bind_closed_)) + { + ::vl::__vwsn::This(this)->__vwsn_bind_activator_(); + return true; + } + return false; + } + + bool __vwsnc1_Demo_demo_MainWindowConstructor___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.Obj())->SelectedCategoryChanged, __vwsn_bind_handler_0_0); + (__vwsn_bind_cache_0 = ::vl::Ptr<::demo::IViewModel>()); + (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + ::vl::__vwsn::This(__vwsn_bind_listeners_.Obj())->Clear(); + return true; + } + return false; + } + + //------------------------------------------------------------------- + + __vwsnc20_Demo_demo_NewFolderWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::__vwsnc20_Demo_demo_NewFolderWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener(::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsnctor___vwsn_bind_listeners_, ::vl::reflection::description::IValueSubscription* __vwsnctor___vwsn_subscription_, ::vl::reflection::description::IValueSubscription* __vwsnctorthis_0, ::demo::NewFolderWindowConstructor* __vwsnctorthis_1) + :__vwsn_bind_listeners_(__vwsnctor___vwsn_bind_listeners_) + , __vwsn_subscription_(__vwsnctor___vwsn_subscription_) + , __vwsnthis_0(__vwsnctorthis_0) + , __vwsnthis_1(__vwsnctorthis_1) + { + } + + ::vl::reflection::description::IValueSubscription* __vwsnc20_Demo_demo_NewFolderWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::GetSubscription() + { + return ::vl::__vwsn::This(this)->__vwsn_subscription_; + } + + bool __vwsnc20_Demo_demo_NewFolderWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::GetStopped() + { + return (! ::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_bind_listeners_.Obj())->GetKeys().Obj())->Contains(::vl::__vwsn::Box(this))); + } + + bool __vwsnc20_Demo_demo_NewFolderWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::StopListening() + { + if (::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_bind_listeners_.Obj())->GetKeys().Obj())->Contains(::vl::__vwsn::Box(this))) + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_bind_listeners_.Obj())->Remove(::vl::__vwsn::Box(this)); + return true; + } + return false; + } + + //------------------------------------------------------------------- + + __vwsnc2_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::__vwsnc2_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener(::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsnctor___vwsn_bind_listeners_, ::vl::reflection::description::IValueSubscription* __vwsnctor___vwsn_subscription_, ::vl::reflection::description::IValueSubscription* __vwsnctorthis_0, ::demo::MainWindowConstructor* __vwsnctorthis_1) + :__vwsn_bind_listeners_(__vwsnctor___vwsn_bind_listeners_) + , __vwsn_subscription_(__vwsnctor___vwsn_subscription_) + , __vwsnthis_0(__vwsnctorthis_0) + , __vwsnthis_1(__vwsnctorthis_1) + { + } + + ::vl::reflection::description::IValueSubscription* __vwsnc2_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::GetSubscription() + { + return ::vl::__vwsn::This(this)->__vwsn_subscription_; + } + + bool __vwsnc2_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::GetStopped() + { + return (! ::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_bind_listeners_.Obj())->GetKeys().Obj())->Contains(::vl::__vwsn::Box(this))); + } + + bool __vwsnc2_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::StopListening() + { + if (::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_bind_listeners_.Obj())->GetKeys().Obj())->Contains(::vl::__vwsn::Box(this))) + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_bind_listeners_.Obj())->Remove(::vl::__vwsn::Box(this)); + return true; + } + return false; + } + + //------------------------------------------------------------------- + + __vwsnc3_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc3_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::MainWindowConstructor* __vwsnctorthis_0) + :__vwsnthis_0(__vwsnctorthis_0) + { + this->__vwsn_bind_cache_0 = ::vl::Ptr<::demo::IViewModel>(); + this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); + this->__vwsn_bind_opened_ = false; + this->__vwsn_bind_closed_ = false; + this->__vwsn_bind_listeners_ = ::vl::reflection::description::IValueDictionary::Create(); + } + + void __vwsnc3_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() + { + auto __vwsn_bind_activator_result_ = [&](){ try{ return (::vl::__vwsn::This(::vl::__vwsn::This(__vwsn_bind_cache_0.Obj())->GetSelectedCategory().Obj())->GetParent() != nullptr); } catch(...){ return false; } }(); + using __vwsnt_0 = ::vl::reflection::description::Value; + FOREACH(__vwsnt_0, __vwsn_bind_callback_, ::vl::reflection::description::GetLazyList<::vl::reflection::description::Value>(::vl::__vwsn::This(__vwsn_bind_listeners_.Obj())->GetValues())) + { + ::vl::__vwsn::Unbox<::vl::Func>(__vwsn_bind_callback_)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); + } + } + + void __vwsnc3_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0() + { + ::vl::__vwsn::This(this)->__vwsn_bind_activator_(); + } + + void __vwsnc3_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_initialize_() + { + (__vwsn_bind_cache_0 = ::vl::__vwsn::This(__vwsnthis_0)->ViewModel); + (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0.Obj())->SelectedCategoryChanged, ::vl::Func(::vl::__vwsn::This(this), &__vwsnc3_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); + } + + ::vl::Ptr<::vl::reflection::description::IValueListener> __vwsnc3_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Subscribe(const ::vl::Func& __vwsn_bind_callback_) + { + if ((! __vwsn_bind_opened_)) + { + (__vwsn_bind_opened_ = true); + ::vl::__vwsn::This(this)->__vwsn_bind_initialize_(); + } + auto __vwsn_subscription_ = this; + auto __vwsn_listener_shared_ = ::vl::Ptr<::vl::reflection::description::IValueListener>(new ::vl_workflow_global::__vwsnc4_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener(__vwsn_bind_listeners_, __vwsn_subscription_, this, __vwsnthis_0)); + ::vl::__vwsn::This(__vwsn_bind_listeners_.Obj())->Set(::vl::__vwsn::Box(__vwsn_listener_shared_), ::vl::__vwsn::Box(__vwsn_bind_callback_)); + return __vwsn_listener_shared_; + } + + bool __vwsnc3_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() + { + if ((! __vwsn_bind_closed_)) + { + ::vl::__vwsn::This(this)->__vwsn_bind_activator_(); + return true; + } + return false; + } + + bool __vwsnc3_Demo_demo_MainWindowConstructor___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.Obj())->SelectedCategoryChanged, __vwsn_bind_handler_0_0); + (__vwsn_bind_cache_0 = ::vl::Ptr<::demo::IViewModel>()); + (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + ::vl::__vwsn::This(__vwsn_bind_listeners_.Obj())->Clear(); + return true; + } + return false; + } + + //------------------------------------------------------------------- + + __vwsnc4_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::__vwsnc4_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener(::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsnctor___vwsn_bind_listeners_, ::vl::reflection::description::IValueSubscription* __vwsnctor___vwsn_subscription_, ::vl::reflection::description::IValueSubscription* __vwsnctorthis_0, ::demo::MainWindowConstructor* __vwsnctorthis_1) + :__vwsn_bind_listeners_(__vwsnctor___vwsn_bind_listeners_) + , __vwsn_subscription_(__vwsnctor___vwsn_subscription_) + , __vwsnthis_0(__vwsnctorthis_0) + , __vwsnthis_1(__vwsnctorthis_1) + { + } + + ::vl::reflection::description::IValueSubscription* __vwsnc4_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::GetSubscription() + { + return ::vl::__vwsn::This(this)->__vwsn_subscription_; + } + + bool __vwsnc4_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::GetStopped() + { + return (! ::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_bind_listeners_.Obj())->GetKeys().Obj())->Contains(::vl::__vwsn::Box(this))); + } + + bool __vwsnc4_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::StopListening() + { + if (::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_bind_listeners_.Obj())->GetKeys().Obj())->Contains(::vl::__vwsn::Box(this))) + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_bind_listeners_.Obj())->Remove(::vl::__vwsn::Box(this)); + return true; + } + return false; + } + + //------------------------------------------------------------------- + + __vwsnc5_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc5_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::MainWindowConstructor* __vwsnctorthis_0) + :__vwsnthis_0(__vwsnctorthis_0) + { + this->__vwsn_bind_cache_0 = ::vl::Ptr<::demo::IViewModel>(); + this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); + this->__vwsn_bind_opened_ = false; + this->__vwsn_bind_closed_ = false; + this->__vwsn_bind_listeners_ = ::vl::reflection::description::IValueDictionary::Create(); + } + + void __vwsnc5_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() + { + auto __vwsn_bind_activator_result_ = static_cast(::vl::__vwsn::This(__vwsn_bind_cache_0.Obj())->GetSelectedCategory()); + using __vwsnt_0 = ::vl::reflection::description::Value; + FOREACH(__vwsnt_0, __vwsn_bind_callback_, ::vl::reflection::description::GetLazyList<::vl::reflection::description::Value>(::vl::__vwsn::This(__vwsn_bind_listeners_.Obj())->GetValues())) + { + ::vl::__vwsn::Unbox<::vl::Func>(__vwsn_bind_callback_)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); + } + } + + void __vwsnc5_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0() + { + ::vl::__vwsn::This(this)->__vwsn_bind_activator_(); + } + + void __vwsnc5_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_initialize_() + { + (__vwsn_bind_cache_0 = ::vl::__vwsn::This(__vwsnthis_0)->ViewModel); + (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0.Obj())->SelectedCategoryChanged, ::vl::Func(::vl::__vwsn::This(this), &__vwsnc5_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); + } + + ::vl::Ptr<::vl::reflection::description::IValueListener> __vwsnc5_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Subscribe(const ::vl::Func& __vwsn_bind_callback_) + { + if ((! __vwsn_bind_opened_)) + { + (__vwsn_bind_opened_ = true); + ::vl::__vwsn::This(this)->__vwsn_bind_initialize_(); + } + auto __vwsn_subscription_ = this; + auto __vwsn_listener_shared_ = ::vl::Ptr<::vl::reflection::description::IValueListener>(new ::vl_workflow_global::__vwsnc6_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener(__vwsn_bind_listeners_, __vwsn_subscription_, this, __vwsnthis_0)); + ::vl::__vwsn::This(__vwsn_bind_listeners_.Obj())->Set(::vl::__vwsn::Box(__vwsn_listener_shared_), ::vl::__vwsn::Box(__vwsn_bind_callback_)); + return __vwsn_listener_shared_; + } + + bool __vwsnc5_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() + { + if ((! __vwsn_bind_closed_)) + { + ::vl::__vwsn::This(this)->__vwsn_bind_activator_(); + return true; + } + return false; + } + + bool __vwsnc5_Demo_demo_MainWindowConstructor___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.Obj())->SelectedCategoryChanged, __vwsn_bind_handler_0_0); + (__vwsn_bind_cache_0 = ::vl::Ptr<::demo::IViewModel>()); + (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + ::vl::__vwsn::This(__vwsn_bind_listeners_.Obj())->Clear(); + return true; + } + return false; + } + + //------------------------------------------------------------------- + + __vwsnc6_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::__vwsnc6_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener(::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsnctor___vwsn_bind_listeners_, ::vl::reflection::description::IValueSubscription* __vwsnctor___vwsn_subscription_, ::vl::reflection::description::IValueSubscription* __vwsnctorthis_0, ::demo::MainWindowConstructor* __vwsnctorthis_1) + :__vwsn_bind_listeners_(__vwsnctor___vwsn_bind_listeners_) + , __vwsn_subscription_(__vwsnctor___vwsn_subscription_) + , __vwsnthis_0(__vwsnctorthis_0) + , __vwsnthis_1(__vwsnctorthis_1) + { + } + + ::vl::reflection::description::IValueSubscription* __vwsnc6_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::GetSubscription() + { + return ::vl::__vwsn::This(this)->__vwsn_subscription_; + } + + bool __vwsnc6_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::GetStopped() + { + return (! ::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_bind_listeners_.Obj())->GetKeys().Obj())->Contains(::vl::__vwsn::Box(this))); + } + + bool __vwsnc6_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::StopListening() + { + if (::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_bind_listeners_.Obj())->GetKeys().Obj())->Contains(::vl::__vwsn::Box(this))) + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_bind_listeners_.Obj())->Remove(::vl::__vwsn::Box(this)); + return true; + } + return false; + } + + //------------------------------------------------------------------- + + __vwsnc7_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc7_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::MainWindowConstructor* __vwsnctorthis_0) + :__vwsnthis_0(__vwsnctorthis_0) + { + this->__vwsn_bind_cache_0 = ::vl::Ptr<::demo::IViewModel>(); + this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); + this->__vwsn_bind_opened_ = false; + this->__vwsn_bind_closed_ = false; + this->__vwsn_bind_listeners_ = ::vl::reflection::description::IValueDictionary::Create(); + } + + void __vwsnc7_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() + { + auto __vwsn_bind_activator_result_ = static_cast(::vl::__vwsn::This(__vwsn_bind_cache_0.Obj())->GetSelectedContact()); + using __vwsnt_0 = ::vl::reflection::description::Value; + FOREACH(__vwsnt_0, __vwsn_bind_callback_, ::vl::reflection::description::GetLazyList<::vl::reflection::description::Value>(::vl::__vwsn::This(__vwsn_bind_listeners_.Obj())->GetValues())) + { + ::vl::__vwsn::Unbox<::vl::Func>(__vwsn_bind_callback_)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); + } + } + + void __vwsnc7_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0() + { + ::vl::__vwsn::This(this)->__vwsn_bind_activator_(); + } + + void __vwsnc7_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_initialize_() + { + (__vwsn_bind_cache_0 = ::vl::__vwsn::This(__vwsnthis_0)->ViewModel); + (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0.Obj())->SelectedContactChanged, ::vl::Func(::vl::__vwsn::This(this), &__vwsnc7_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); + } + + ::vl::Ptr<::vl::reflection::description::IValueListener> __vwsnc7_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Subscribe(const ::vl::Func& __vwsn_bind_callback_) + { + if ((! __vwsn_bind_opened_)) + { + (__vwsn_bind_opened_ = true); + ::vl::__vwsn::This(this)->__vwsn_bind_initialize_(); + } + auto __vwsn_subscription_ = this; + auto __vwsn_listener_shared_ = ::vl::Ptr<::vl::reflection::description::IValueListener>(new ::vl_workflow_global::__vwsnc8_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener(__vwsn_bind_listeners_, __vwsn_subscription_, this, __vwsnthis_0)); + ::vl::__vwsn::This(__vwsn_bind_listeners_.Obj())->Set(::vl::__vwsn::Box(__vwsn_listener_shared_), ::vl::__vwsn::Box(__vwsn_bind_callback_)); + return __vwsn_listener_shared_; + } + + bool __vwsnc7_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() + { + if ((! __vwsn_bind_closed_)) + { + ::vl::__vwsn::This(this)->__vwsn_bind_activator_(); + return true; + } + return false; + } + + bool __vwsnc7_Demo_demo_MainWindowConstructor___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.Obj())->SelectedContactChanged, __vwsn_bind_handler_0_0); + (__vwsn_bind_cache_0 = ::vl::Ptr<::demo::IViewModel>()); + (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + ::vl::__vwsn::This(__vwsn_bind_listeners_.Obj())->Clear(); + return true; + } + return false; + } + + //------------------------------------------------------------------- + + __vwsnc8_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::__vwsnc8_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener(::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsnctor___vwsn_bind_listeners_, ::vl::reflection::description::IValueSubscription* __vwsnctor___vwsn_subscription_, ::vl::reflection::description::IValueSubscription* __vwsnctorthis_0, ::demo::MainWindowConstructor* __vwsnctorthis_1) + :__vwsn_bind_listeners_(__vwsnctor___vwsn_bind_listeners_) + , __vwsn_subscription_(__vwsnctor___vwsn_subscription_) + , __vwsnthis_0(__vwsnctorthis_0) + , __vwsnthis_1(__vwsnctorthis_1) + { + } + + ::vl::reflection::description::IValueSubscription* __vwsnc8_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::GetSubscription() + { + return ::vl::__vwsn::This(this)->__vwsn_subscription_; + } + + bool __vwsnc8_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::GetStopped() + { + return (! ::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_bind_listeners_.Obj())->GetKeys().Obj())->Contains(::vl::__vwsn::Box(this))); + } + + bool __vwsnc8_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::StopListening() + { + if (::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_bind_listeners_.Obj())->GetKeys().Obj())->Contains(::vl::__vwsn::Box(this))) + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_bind_listeners_.Obj())->Remove(::vl::__vwsn::Box(this)); + return true; + } + return false; + } + + //------------------------------------------------------------------- + + __vwsnc9_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc9_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::MainWindowConstructor* __vwsnctorthis_0) + :__vwsnthis_0(__vwsnctorthis_0) + { + this->__vwsn_bind_cache_0 = ::vl::Ptr<::demo::IViewModel>(); + this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); + this->__vwsn_bind_opened_ = false; + this->__vwsn_bind_closed_ = false; + this->__vwsn_bind_listeners_ = ::vl::reflection::description::IValueDictionary::Create(); + } + + void __vwsnc9_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() + { + auto __vwsn_bind_activator_result_ = static_cast(::vl::__vwsn::This(__vwsn_bind_cache_0.Obj())->GetSelectedContact()); + using __vwsnt_0 = ::vl::reflection::description::Value; + FOREACH(__vwsnt_0, __vwsn_bind_callback_, ::vl::reflection::description::GetLazyList<::vl::reflection::description::Value>(::vl::__vwsn::This(__vwsn_bind_listeners_.Obj())->GetValues())) + { + ::vl::__vwsn::Unbox<::vl::Func>(__vwsn_bind_callback_)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); + } + } + + void __vwsnc9_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0() + { + ::vl::__vwsn::This(this)->__vwsn_bind_activator_(); + } + + void __vwsnc9_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_initialize_() + { + (__vwsn_bind_cache_0 = ::vl::__vwsn::This(__vwsnthis_0)->ViewModel); + (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0.Obj())->SelectedContactChanged, ::vl::Func(::vl::__vwsn::This(this), &__vwsnc9_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); + } + + ::vl::Ptr<::vl::reflection::description::IValueListener> __vwsnc9_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Subscribe(const ::vl::Func& __vwsn_bind_callback_) + { + if ((! __vwsn_bind_opened_)) + { + (__vwsn_bind_opened_ = true); + ::vl::__vwsn::This(this)->__vwsn_bind_initialize_(); + } + auto __vwsn_subscription_ = this; + auto __vwsn_listener_shared_ = ::vl::Ptr<::vl::reflection::description::IValueListener>(new ::vl_workflow_global::__vwsnc10_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener(__vwsn_bind_listeners_, __vwsn_subscription_, this, __vwsnthis_0)); + ::vl::__vwsn::This(__vwsn_bind_listeners_.Obj())->Set(::vl::__vwsn::Box(__vwsn_listener_shared_), ::vl::__vwsn::Box(__vwsn_bind_callback_)); + return __vwsn_listener_shared_; + } + + bool __vwsnc9_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() + { + if ((! __vwsn_bind_closed_)) + { + ::vl::__vwsn::This(this)->__vwsn_bind_activator_(); + return true; + } + return false; + } + + bool __vwsnc9_Demo_demo_MainWindowConstructor___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.Obj())->SelectedContactChanged, __vwsn_bind_handler_0_0); + (__vwsn_bind_cache_0 = ::vl::Ptr<::demo::IViewModel>()); + (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + ::vl::__vwsn::This(__vwsn_bind_listeners_.Obj())->Clear(); + return true; + } + return false; + } + +/*********************************************************************** +Global Functions +***********************************************************************/ + + Demo& Demo::Instance() + { + return Getvl_workflow_global_Demo().instance; + } +} + +/*********************************************************************** +Class (::demo::MainWindowConstructor) +***********************************************************************/ + namespace demo { - // #region CLASS_MEMBER_GUIEVENT_HANDLER (DO NOT PUT OTHER CONTENT IN THIS #region.) + void MainWindowConstructor::__vwsn_initialize_instance_(::demo::MainWindow* __vwsn_this_, ::vl::presentation::GuiResourcePathResolver* __vwsn_resolver_) + { + (::vl::__vwsn::This(this)->self = __vwsn_this_); + (::vl::__vwsn::This(this)->ViewModel = ::vl::__vwsn::This(__vwsn_this_)->GetViewModel()); + (::vl::__vwsn::This(this)->__vwsn_precompile_39 = ::vl::__vwsn::This(::vl::__vwsn::This(this)->self)->GetBoundsComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_39)->SetPreferredMinSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = 640; __vwsn_temp__.y = 480; return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->self)->SetClientSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = 640; __vwsn_temp__.y = 480; return __vwsn_temp__; }()); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_38 = ::vl::__vwsn::This(::vl::__vwsn::This(this)->self)->GetViewModel()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->self)->SetText(::vl::WString(L"AddressBook", false)); + } + (::vl::__vwsn::This(this)->commandNewFolder = new ::vl::presentation::controls::GuiToolstripCommand()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->self)->AddComponent(::vl::__vwsn::Ensure(static_cast<::vl::presentation::controls::GuiComponent*>(::vl::__vwsn::This(this)->commandNewFolder))); + } + (::vl::__vwsn::This(this)->commandDeleteFolder = new ::vl::presentation::controls::GuiToolstripCommand()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->self)->AddComponent(::vl::__vwsn::Ensure(static_cast<::vl::presentation::controls::GuiComponent*>(::vl::__vwsn::This(this)->commandDeleteFolder))); + } + (::vl::__vwsn::This(this)->commandNewContact = new ::vl::presentation::controls::GuiToolstripCommand()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->self)->AddComponent(::vl::__vwsn::Ensure(static_cast<::vl::presentation::controls::GuiComponent*>(::vl::__vwsn::This(this)->commandNewContact))); + } + (::vl::__vwsn::This(this)->commandEditContact = new ::vl::presentation::controls::GuiToolstripCommand()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->self)->AddComponent(::vl::__vwsn::Ensure(static_cast<::vl::presentation::controls::GuiComponent*>(::vl::__vwsn::This(this)->commandEditContact))); + } + (::vl::__vwsn::This(this)->commandDeleteContact = new ::vl::presentation::controls::GuiToolstripCommand()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->self)->AddComponent(::vl::__vwsn::Ensure(static_cast<::vl::presentation::controls::GuiComponent*>(::vl::__vwsn::This(this)->commandDeleteContact))); + } + (::vl::__vwsn::This(this)->commandBigIcon = new ::vl::presentation::controls::GuiToolstripCommand()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->self)->AddComponent(::vl::__vwsn::Ensure(static_cast<::vl::presentation::controls::GuiComponent*>(::vl::__vwsn::This(this)->commandBigIcon))); + } + (::vl::__vwsn::This(this)->commandSmallIcon = new ::vl::presentation::controls::GuiToolstripCommand()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->self)->AddComponent(::vl::__vwsn::Ensure(static_cast<::vl::presentation::controls::GuiComponent*>(::vl::__vwsn::This(this)->commandSmallIcon))); + } + (::vl::__vwsn::This(this)->commandList = new ::vl::presentation::controls::GuiToolstripCommand()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->self)->AddComponent(::vl::__vwsn::Ensure(static_cast<::vl::presentation::controls::GuiComponent*>(::vl::__vwsn::This(this)->commandList))); + } + (::vl::__vwsn::This(this)->commandDetail = new ::vl::presentation::controls::GuiToolstripCommand()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->commandDetail)->SetSelected(::vl::__vwsn::Parse(::vl::WString(L"true", false))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->self)->AddComponent(::vl::__vwsn::Ensure(static_cast<::vl::presentation::controls::GuiComponent*>(::vl::__vwsn::This(this)->commandDetail))); + } + (::vl::__vwsn::This(this)->commandTile = new ::vl::presentation::controls::GuiToolstripCommand()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->self)->AddComponent(::vl::__vwsn::Ensure(static_cast<::vl::presentation::controls::GuiComponent*>(::vl::__vwsn::This(this)->commandTile))); + } + (::vl::__vwsn::This(this)->commandInformation = new ::vl::presentation::controls::GuiToolstripCommand()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->self)->AddComponent(::vl::__vwsn::Ensure(static_cast<::vl::presentation::controls::GuiComponent*>(::vl::__vwsn::This(this)->commandInformation))); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_0 = new ::vl::presentation::compositions::GuiTableComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->SetMinSizeLimitation(::vl::presentation::compositions::GuiGraphicsComposition::MinSizeLimitation::LimitToElementAndChildren); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = 0; __vwsn_temp__.top = 0; __vwsn_temp__.right = 0; __vwsn_temp__.bottom = 0; return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->SetCellPadding(::vl::__vwsn::Parse<::vl::vint32_t>(::vl::WString(L"5", false))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->SetRowsAndColumns(1, 2); + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->SetRowOption(0, [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = 1.0; return __vwsn_temp__; }()); + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->SetColumnOption(0, [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Absolute; __vwsn_temp__.absolute = 180; return __vwsn_temp__; }()); + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->SetColumnOption(1, [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = 1.0; return __vwsn_temp__; }()); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_1 = new ::vl::presentation::compositions::GuiColumnSplitterComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_1)->SetColumnsToTheLeft(::vl::__vwsn::Parse<::vl::vint32_t>(::vl::WString(L"1", false))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this)->__vwsn_precompile_1))); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_2 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_2)->SetSite(0, 0, 1, 1); + } + { + auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateGroupBoxStyle(); + (::vl::__vwsn::This(this)->__vwsn_precompile_3 = new ::vl::presentation::controls::GuiControl(__vwsn_controlStyle_)); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_13 = ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_3)->GetContainerComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_13)->SetInternalMargin([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = 3; __vwsn_temp__.top = 3; __vwsn_temp__.right = 3; __vwsn_temp__.bottom = 3; return __vwsn_temp__; }()); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_12 = ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_3)->GetBoundsComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_12)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = 0; __vwsn_temp__.top = 0; __vwsn_temp__.right = 0; __vwsn_temp__.bottom = 0; return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_3)->SetText(::vl::WString(L"Categories", false)); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_4 = new ::vl::presentation::compositions::GuiTableComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_4)->SetBorderVisible(::vl::__vwsn::Parse(::vl::WString(L"false", false))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_4)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = 0; __vwsn_temp__.top = 0; __vwsn_temp__.right = 0; __vwsn_temp__.bottom = 0; return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_4)->SetCellPadding(::vl::__vwsn::Parse<::vl::vint32_t>(::vl::WString(L"5", false))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_4)->SetRowsAndColumns(2, 1); + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_4)->SetRowOption(0, [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_4)->SetRowOption(1, [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = 1.0; return __vwsn_temp__; }()); + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_4)->SetColumnOption(0, [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = 1.0; return __vwsn_temp__; }()); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_5 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_5)->SetSite(0, 0, 1, 1); + } + { + auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateToolBarStyle(); + (::vl::__vwsn::This(this)->__vwsn_precompile_6 = new ::vl::presentation::controls::GuiToolstripToolBar(__vwsn_controlStyle_)); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_9 = ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_6)->GetBoundsComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_9)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = 0; __vwsn_temp__.top = 0; __vwsn_temp__.right = 0; __vwsn_temp__.bottom = 0; return __vwsn_temp__; }()); + } + { + auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateToolBarButtonStyle(); + (::vl::__vwsn::This(this)->__vwsn_precompile_7 = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_6)->GetToolstripItems().Obj())->Add(::vl::__vwsn::Box(::vl::__vwsn::This(this)->__vwsn_precompile_7)); + } + { + auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateToolBarButtonStyle(); + (::vl::__vwsn::This(this)->__vwsn_precompile_8 = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_6)->GetToolstripItems().Obj())->Add(::vl::__vwsn::Box(::vl::__vwsn::This(this)->__vwsn_precompile_8)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_5)->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_6)->GetBoundsComposition()))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_4)->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this)->__vwsn_precompile_5))); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_10 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_10)->SetSite(1, 0, 1, 1); + } + { + auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateTreeViewStyle(); + (::vl::__vwsn::This(this)->treeViewFolders = new ::vl::presentation::controls::GuiBindableTreeView(__vwsn_controlStyle_)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->treeViewFolders)->SetChildrenProperty(::vl::WString(L"Folders", false)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->treeViewFolders)->SetImageProperty(::vl::WString(L"Image", false)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->treeViewFolders)->SetTextProperty(::vl::WString(L"Name", false)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->treeViewFolders)->SetVerticalAlwaysVisible(::vl::__vwsn::Parse(::vl::WString(L"false", false))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->treeViewFolders)->SetHorizontalAlwaysVisible(::vl::__vwsn::Parse(::vl::WString(L"false", false))); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_11 = ::vl::__vwsn::This(::vl::__vwsn::This(this)->treeViewFolders)->GetBoundsComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_11)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = 0; __vwsn_temp__.top = 0; __vwsn_temp__.right = 0; __vwsn_temp__.bottom = 0; return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_10)->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(::vl::__vwsn::This(this)->treeViewFolders)->GetBoundsComposition()))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_4)->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this)->__vwsn_precompile_10))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_3)->GetContainerComposition())->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this)->__vwsn_precompile_4))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_2)->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_3)->GetBoundsComposition()))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this)->__vwsn_precompile_2))); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_14 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_14)->SetSite(0, 1, 1, 1); + } + { + auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateGroupBoxStyle(); + (::vl::__vwsn::This(this)->__vwsn_precompile_15 = new ::vl::presentation::controls::GuiControl(__vwsn_controlStyle_)); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_37 = ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_15)->GetContainerComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_37)->SetInternalMargin([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = 3; __vwsn_temp__.top = 3; __vwsn_temp__.right = 3; __vwsn_temp__.bottom = 3; return __vwsn_temp__; }()); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_36 = ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_15)->GetBoundsComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_36)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = 0; __vwsn_temp__.top = 0; __vwsn_temp__.right = 0; __vwsn_temp__.bottom = 0; return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_15)->SetText(::vl::WString(L"Contacts", false)); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_16 = new ::vl::presentation::compositions::GuiTableComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_16)->SetBorderVisible(::vl::__vwsn::Parse(::vl::WString(L"false", false))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_16)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = 0; __vwsn_temp__.top = 0; __vwsn_temp__.right = 0; __vwsn_temp__.bottom = 0; return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_16)->SetCellPadding(::vl::__vwsn::Parse<::vl::vint32_t>(::vl::WString(L"5", false))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_16)->SetRowsAndColumns(2, 1); + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_16)->SetRowOption(0, [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_16)->SetRowOption(1, [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = 1.0; return __vwsn_temp__; }()); + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_16)->SetColumnOption(0, [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = 1.0; return __vwsn_temp__; }()); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_17 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_17)->SetSite(0, 0, 1, 1); + } + { + auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateToolBarStyle(); + (::vl::__vwsn::This(this)->__vwsn_precompile_18 = new ::vl::presentation::controls::GuiToolstripToolBar(__vwsn_controlStyle_)); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_29 = ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_18)->GetBoundsComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_29)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = 0; __vwsn_temp__.top = 0; __vwsn_temp__.right = 0; __vwsn_temp__.bottom = 0; return __vwsn_temp__; }()); + } + { + auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateToolBarButtonStyle(); + (::vl::__vwsn::This(this)->__vwsn_precompile_19 = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_18)->GetToolstripItems().Obj())->Add(::vl::__vwsn::Box(::vl::__vwsn::This(this)->__vwsn_precompile_19)); + } + { + auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateToolBarButtonStyle(); + (::vl::__vwsn::This(this)->__vwsn_precompile_20 = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_18)->GetToolstripItems().Obj())->Add(::vl::__vwsn::Box(::vl::__vwsn::This(this)->__vwsn_precompile_20)); + } + { + auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateToolBarButtonStyle(); + (::vl::__vwsn::This(this)->__vwsn_precompile_21 = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_18)->GetToolstripItems().Obj())->Add(::vl::__vwsn::Box(::vl::__vwsn::This(this)->__vwsn_precompile_21)); + } + { + auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateToolBarSplitterStyle(); + (::vl::__vwsn::This(this)->__vwsn_precompile_22 = new ::vl::presentation::controls::GuiControl(__vwsn_controlStyle_)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_18)->GetToolstripItems().Obj())->Add(::vl::__vwsn::Box(::vl::__vwsn::This(this)->__vwsn_precompile_22)); + } + { + auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateToolBarButtonStyle(); + (::vl::__vwsn::This(this)->__vwsn_precompile_23 = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_18)->GetToolstripItems().Obj())->Add(::vl::__vwsn::Box(::vl::__vwsn::This(this)->__vwsn_precompile_23)); + } + { + auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateToolBarButtonStyle(); + (::vl::__vwsn::This(this)->__vwsn_precompile_24 = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_18)->GetToolstripItems().Obj())->Add(::vl::__vwsn::Box(::vl::__vwsn::This(this)->__vwsn_precompile_24)); + } + { + auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateToolBarButtonStyle(); + (::vl::__vwsn::This(this)->__vwsn_precompile_25 = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_18)->GetToolstripItems().Obj())->Add(::vl::__vwsn::Box(::vl::__vwsn::This(this)->__vwsn_precompile_25)); + } + { + auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateToolBarButtonStyle(); + (::vl::__vwsn::This(this)->__vwsn_precompile_26 = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_18)->GetToolstripItems().Obj())->Add(::vl::__vwsn::Box(::vl::__vwsn::This(this)->__vwsn_precompile_26)); + } + { + auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateToolBarButtonStyle(); + (::vl::__vwsn::This(this)->__vwsn_precompile_27 = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_18)->GetToolstripItems().Obj())->Add(::vl::__vwsn::Box(::vl::__vwsn::This(this)->__vwsn_precompile_27)); + } + { + auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateToolBarButtonStyle(); + (::vl::__vwsn::This(this)->__vwsn_precompile_28 = new ::vl::presentation::controls::GuiToolstripButton(__vwsn_controlStyle_)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_18)->GetToolstripItems().Obj())->Add(::vl::__vwsn::Box(::vl::__vwsn::This(this)->__vwsn_precompile_28)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_17)->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_18)->GetBoundsComposition()))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_16)->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this)->__vwsn_precompile_17))); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_30 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_30)->SetSite(1, 0, 1, 1); + } + { + auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateListViewStyle(); + (::vl::__vwsn::This(this)->listViewContacts = new ::vl::presentation::controls::GuiBindableListView(__vwsn_controlStyle_)); + ::vl::__vwsn::This(::vl::__vwsn::This(this)->listViewContacts)->ChangeItemStyle(::vl::__vwsn::Ensure(::vl::Ptr<::vl::presentation::controls::list::ListViewItemStyleProvider::IListViewItemContentProvider>(::vl::Ptr<::vl::presentation::controls::list::ListViewDetailContentProvider>(new ::vl::presentation::controls::list::ListViewDetailContentProvider([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = 16; __vwsn_temp__.y = 16; return __vwsn_temp__; }(), false))))); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::This(::vl::__vwsn::This(this)->listViewContacts)->GetDataColumns(); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(::vl::__vwsn::Parse<::vl::vint32_t>(::vl::WString(L"1", false)))); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::This(::vl::__vwsn::This(this)->listViewContacts)->GetDataColumns(); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(::vl::__vwsn::Parse<::vl::vint32_t>(::vl::WString(L"2", false)))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->listViewContacts)->SetSmallImageProperty(::vl::WString(L"SmallImage", false)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->listViewContacts)->SetLargeImageProperty(::vl::WString(L"BigImage", false)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->listViewContacts)->SetVerticalAlwaysVisible(::vl::__vwsn::Parse(::vl::WString(L"false", false))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->listViewContacts)->SetHorizontalAlwaysVisible(::vl::__vwsn::Parse(::vl::WString(L"false", false))); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_35 = ::vl::__vwsn::This(::vl::__vwsn::This(this)->listViewContacts)->GetBoundsComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_35)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = 0; __vwsn_temp__.top = 0; __vwsn_temp__.right = 0; __vwsn_temp__.bottom = 0; return __vwsn_temp__; }()); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_31 = ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>(new ::vl::presentation::controls::list::ListViewColumn())); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_31.Obj())->SetSize(::vl::__vwsn::Parse<::vl::vint32_t>(::vl::WString(L"120", false))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_31.Obj())->SetTextProperty(::vl::WString(L"Name", false)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_31.Obj())->SetText(::vl::WString(L"Name", false)); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::This(::vl::__vwsn::This(this)->listViewContacts)->GetColumns(); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(::vl::__vwsn::This(this)->__vwsn_precompile_31)); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_32 = ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>(new ::vl::presentation::controls::list::ListViewColumn())); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_32.Obj())->SetSize(::vl::__vwsn::Parse<::vl::vint32_t>(::vl::WString(L"120", false))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_32.Obj())->SetTextProperty(::vl::WString(L"BirthdayText", false)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_32.Obj())->SetText(::vl::WString(L"Birthday", false)); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::This(::vl::__vwsn::This(this)->listViewContacts)->GetColumns(); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(::vl::__vwsn::This(this)->__vwsn_precompile_32)); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_33 = ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>(new ::vl::presentation::controls::list::ListViewColumn())); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_33.Obj())->SetSize(::vl::__vwsn::Parse<::vl::vint32_t>(::vl::WString(L"120", false))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_33.Obj())->SetTextProperty(::vl::WString(L"Phone", false)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_33.Obj())->SetText(::vl::WString(L"Phone", false)); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::This(::vl::__vwsn::This(this)->listViewContacts)->GetColumns(); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(::vl::__vwsn::This(this)->__vwsn_precompile_33)); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_34 = ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>(new ::vl::presentation::controls::list::ListViewColumn())); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_34.Obj())->SetSize(::vl::__vwsn::Parse<::vl::vint32_t>(::vl::WString(L"120", false))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_34.Obj())->SetTextProperty(::vl::WString(L"Address", false)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_34.Obj())->SetText(::vl::WString(L"Address", false)); + } + { + auto __vwsn_collection_ = ::vl::__vwsn::This(::vl::__vwsn::This(this)->listViewContacts)->GetColumns(); + ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(::vl::__vwsn::This(this)->__vwsn_precompile_34)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_30)->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(::vl::__vwsn::This(this)->listViewContacts)->GetBoundsComposition()))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_16)->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this)->__vwsn_precompile_30))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_15)->GetContainerComposition())->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this)->__vwsn_precompile_16))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_14)->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_15)->GetBoundsComposition()))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this)->__vwsn_precompile_14))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::This(this)->self)->GetContainerComposition())->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this)->__vwsn_precompile_0))); + } + { + auto __vwsn_resource_item_ = ::vl::__vwsn::This(__vwsn_resolver_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"Images/NewFolder", false)); + if ((! static_cast(__vwsn_resource_item_))) + { + throw ::vl::Exception(::vl::WString(L"Resource \"res://Images/NewFolder\" does not exist.", false)); + } + auto __vwsn_resource_value_ = ::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(__vwsn_resource_item_.Obj()); + if ((! static_cast(__vwsn_resource_value_))) + { + throw ::vl::Exception(::vl::WString(L"Resource \"res://Images/NewFolder\" cannot be read as type \"presentation::GuiImageData\".", false)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->commandNewFolder)->SetImage(__vwsn_resource_value_); + } + } + { + auto __vwsn_created_subscription_ = ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc1_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this))); + ::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->Subscribe(LAMBDA(::vl_workflow_global::__vwsnf1_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(this))); + ::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->Update(); + } + { + auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf2_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(::vl::__vwsn::This(this)->commandNewFolder)->Executed, __vwsn_event_handler_); + } + { + auto __vwsn_resource_item_ = ::vl::__vwsn::This(__vwsn_resolver_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"Images/Delete", false)); + if ((! static_cast(__vwsn_resource_item_))) + { + throw ::vl::Exception(::vl::WString(L"Resource \"res://Images/Delete\" does not exist.", false)); + } + auto __vwsn_resource_value_ = ::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(__vwsn_resource_item_.Obj()); + if ((! static_cast(__vwsn_resource_value_))) + { + throw ::vl::Exception(::vl::WString(L"Resource \"res://Images/Delete\" cannot be read as type \"presentation::GuiImageData\".", false)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->commandDeleteFolder)->SetImage(__vwsn_resource_value_); + } + } + { + auto __vwsn_created_subscription_ = ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc3_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this))); + ::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->Subscribe(LAMBDA(::vl_workflow_global::__vwsnf4_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(this))); + ::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->Update(); + } + { + auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf5_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(::vl::__vwsn::This(this)->commandDeleteFolder)->Executed, __vwsn_event_handler_); + } + { + auto __vwsn_resource_item_ = ::vl::__vwsn::This(__vwsn_resolver_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"Images/NewContact", false)); + if ((! static_cast(__vwsn_resource_item_))) + { + throw ::vl::Exception(::vl::WString(L"Resource \"res://Images/NewContact\" does not exist.", false)); + } + auto __vwsn_resource_value_ = ::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(__vwsn_resource_item_.Obj()); + if ((! static_cast(__vwsn_resource_value_))) + { + throw ::vl::Exception(::vl::WString(L"Resource \"res://Images/NewContact\" cannot be read as type \"presentation::GuiImageData\".", false)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->commandNewContact)->SetImage(__vwsn_resource_value_); + } + } + { + auto __vwsn_created_subscription_ = ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc5_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this))); + ::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->Subscribe(LAMBDA(::vl_workflow_global::__vwsnf6_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(this))); + ::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->Update(); + } + { + auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf7_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(::vl::__vwsn::This(this)->commandNewContact)->Executed, __vwsn_event_handler_); + } + { + auto __vwsn_resource_item_ = ::vl::__vwsn::This(__vwsn_resolver_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"Images/Edit", false)); + if ((! static_cast(__vwsn_resource_item_))) + { + throw ::vl::Exception(::vl::WString(L"Resource \"res://Images/Edit\" does not exist.", false)); + } + auto __vwsn_resource_value_ = ::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(__vwsn_resource_item_.Obj()); + if ((! static_cast(__vwsn_resource_value_))) + { + throw ::vl::Exception(::vl::WString(L"Resource \"res://Images/Edit\" cannot be read as type \"presentation::GuiImageData\".", false)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->commandEditContact)->SetImage(__vwsn_resource_value_); + } + } + { + auto __vwsn_created_subscription_ = ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc7_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this))); + ::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->Subscribe(LAMBDA(::vl_workflow_global::__vwsnf9_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(this))); + ::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->Update(); + } + { + auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf10_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(::vl::__vwsn::This(this)->commandEditContact)->Executed, __vwsn_event_handler_); + } + { + auto __vwsn_resource_item_ = ::vl::__vwsn::This(__vwsn_resolver_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"Images/Delete", false)); + if ((! static_cast(__vwsn_resource_item_))) + { + throw ::vl::Exception(::vl::WString(L"Resource \"res://Images/Delete\" does not exist.", false)); + } + auto __vwsn_resource_value_ = ::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(__vwsn_resource_item_.Obj()); + if ((! static_cast(__vwsn_resource_value_))) + { + throw ::vl::Exception(::vl::WString(L"Resource \"res://Images/Delete\" cannot be read as type \"presentation::GuiImageData\".", false)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->commandDeleteContact)->SetImage(__vwsn_resource_value_); + } + } + { + auto __vwsn_created_subscription_ = ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc9_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this))); + ::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->Subscribe(LAMBDA(::vl_workflow_global::__vwsnf12_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(this))); + ::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->Update(); + } + { + auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf13_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(::vl::__vwsn::This(this)->commandDeleteContact)->Executed, __vwsn_event_handler_); + } + { + auto __vwsn_resource_item_ = ::vl::__vwsn::This(__vwsn_resolver_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"Images/BigIcon", false)); + if ((! static_cast(__vwsn_resource_item_))) + { + throw ::vl::Exception(::vl::WString(L"Resource \"res://Images/BigIcon\" does not exist.", false)); + } + auto __vwsn_resource_value_ = ::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(__vwsn_resource_item_.Obj()); + if ((! static_cast(__vwsn_resource_value_))) + { + throw ::vl::Exception(::vl::WString(L"Resource \"res://Images/BigIcon\" cannot be read as type \"presentation::GuiImageData\".", false)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->commandBigIcon)->SetImage(__vwsn_resource_value_); + } + } + { + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(::vl::__vwsn::This(this)->commandBigIcon)->Executed, LAMBDA(::vl_workflow_global::__vwsno14_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(__vwsn_this_, this))); + } + { + auto __vwsn_resource_item_ = ::vl::__vwsn::This(__vwsn_resolver_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"Images/SmallIcon", false)); + if ((! static_cast(__vwsn_resource_item_))) + { + throw ::vl::Exception(::vl::WString(L"Resource \"res://Images/SmallIcon\" does not exist.", false)); + } + auto __vwsn_resource_value_ = ::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(__vwsn_resource_item_.Obj()); + if ((! static_cast(__vwsn_resource_value_))) + { + throw ::vl::Exception(::vl::WString(L"Resource \"res://Images/SmallIcon\" cannot be read as type \"presentation::GuiImageData\".", false)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->commandSmallIcon)->SetImage(__vwsn_resource_value_); + } + } + { + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(::vl::__vwsn::This(this)->commandSmallIcon)->Executed, LAMBDA(::vl_workflow_global::__vwsno15_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(__vwsn_this_, this))); + } + { + auto __vwsn_resource_item_ = ::vl::__vwsn::This(__vwsn_resolver_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"Images/List", false)); + if ((! static_cast(__vwsn_resource_item_))) + { + throw ::vl::Exception(::vl::WString(L"Resource \"res://Images/List\" does not exist.", false)); + } + auto __vwsn_resource_value_ = ::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(__vwsn_resource_item_.Obj()); + if ((! static_cast(__vwsn_resource_value_))) + { + throw ::vl::Exception(::vl::WString(L"Resource \"res://Images/List\" cannot be read as type \"presentation::GuiImageData\".", false)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->commandList)->SetImage(__vwsn_resource_value_); + } + } + { + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(::vl::__vwsn::This(this)->commandList)->Executed, LAMBDA(::vl_workflow_global::__vwsno16_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(__vwsn_this_, this))); + } + { + auto __vwsn_resource_item_ = ::vl::__vwsn::This(__vwsn_resolver_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"Images/Detail", false)); + if ((! static_cast(__vwsn_resource_item_))) + { + throw ::vl::Exception(::vl::WString(L"Resource \"res://Images/Detail\" does not exist.", false)); + } + auto __vwsn_resource_value_ = ::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(__vwsn_resource_item_.Obj()); + if ((! static_cast(__vwsn_resource_value_))) + { + throw ::vl::Exception(::vl::WString(L"Resource \"res://Images/Detail\" cannot be read as type \"presentation::GuiImageData\".", false)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->commandDetail)->SetImage(__vwsn_resource_value_); + } + } + { + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(::vl::__vwsn::This(this)->commandDetail)->Executed, LAMBDA(::vl_workflow_global::__vwsno17_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(__vwsn_this_, this))); + } + { + auto __vwsn_resource_item_ = ::vl::__vwsn::This(__vwsn_resolver_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"Images/Tile", false)); + if ((! static_cast(__vwsn_resource_item_))) + { + throw ::vl::Exception(::vl::WString(L"Resource \"res://Images/Tile\" does not exist.", false)); + } + auto __vwsn_resource_value_ = ::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(__vwsn_resource_item_.Obj()); + if ((! static_cast(__vwsn_resource_value_))) + { + throw ::vl::Exception(::vl::WString(L"Resource \"res://Images/Tile\" cannot be read as type \"presentation::GuiImageData\".", false)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->commandTile)->SetImage(__vwsn_resource_value_); + } + } + { + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(::vl::__vwsn::This(this)->commandTile)->Executed, LAMBDA(::vl_workflow_global::__vwsno18_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(__vwsn_this_, this))); + } + { + auto __vwsn_resource_item_ = ::vl::__vwsn::This(__vwsn_resolver_)->ResolveResource(::vl::WString(L"res", false), ::vl::WString(L"Images/Information", false)); + if ((! static_cast(__vwsn_resource_item_))) + { + throw ::vl::Exception(::vl::WString(L"Resource \"res://Images/Information\" does not exist.", false)); + } + auto __vwsn_resource_value_ = ::vl::__vwsn::SharedPtrCast<::vl::presentation::GuiImageData>(__vwsn_resource_item_.Obj()); + if ((! static_cast(__vwsn_resource_value_))) + { + throw ::vl::Exception(::vl::WString(L"Resource \"res://Images/Information\" cannot be read as type \"presentation::GuiImageData\".", false)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->commandInformation)->SetImage(__vwsn_resource_value_); + } + } + { + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(::vl::__vwsn::This(this)->commandInformation)->Executed, LAMBDA(::vl_workflow_global::__vwsno19_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(__vwsn_this_, this))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_7)->SetCommand(::vl::__vwsn::This(this)->commandNewFolder); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_8)->SetCommand(::vl::__vwsn::This(this)->commandDeleteFolder); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->treeViewFolders)->SetItemSource(::vl::__vwsn::Box(::vl::__vwsn::This(::vl::__vwsn::This(this)->ViewModel.Obj())->GetRootCategory())); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_19)->SetCommand(::vl::__vwsn::This(this)->commandNewContact); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_20)->SetCommand(::vl::__vwsn::This(this)->commandEditContact); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_21)->SetCommand(::vl::__vwsn::This(this)->commandDeleteContact); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_23)->SetCommand(::vl::__vwsn::This(this)->commandBigIcon); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_24)->SetCommand(::vl::__vwsn::This(this)->commandSmallIcon); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_25)->SetCommand(::vl::__vwsn::This(this)->commandList); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_26)->SetCommand(::vl::__vwsn::This(this)->commandDetail); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_27)->SetCommand(::vl::__vwsn::This(this)->commandTile); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_28)->SetCommand(::vl::__vwsn::This(this)->commandInformation); + } + { + auto __vwsn_created_subscription_ = ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc11_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this))); + ::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->Subscribe(LAMBDA(::vl_workflow_global::__vwsnf20_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(this))); + ::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->Update(); + } + { + auto __vwsn_created_subscription_ = ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc13_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this))); + ::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->Subscribe(LAMBDA(::vl_workflow_global::__vwsnf21_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(this))); + ::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->Update(); + } + { + auto __vwsn_created_subscription_ = ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc15_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this))); + ::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->Subscribe(LAMBDA(::vl_workflow_global::__vwsnf22_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(this))); + ::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->Update(); + } + } - void NewContactWindow::OnCreate() + MainWindowConstructor::MainWindowConstructor() { } - void NewContactWindow::OnDestroy() +/*********************************************************************** +Class (::demo::NewContactWindowConstructor) +***********************************************************************/ + + void NewContactWindowConstructor::__vwsn_initialize_instance_(::demo::NewContactWindow* __vwsn_this_, ::vl::presentation::GuiResourcePathResolver* __vwsn_resolver_) + { + (::vl::__vwsn::This(this)->self = __vwsn_this_); + (::vl::__vwsn::This(this)->Contact = ::vl::__vwsn::This(__vwsn_this_)->GetContact()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->self)->SetSizeBox(::vl::__vwsn::Parse(::vl::WString(L"false", false))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->self)->SetMinimizedBox(::vl::__vwsn::Parse(::vl::WString(L"false", false))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->self)->SetMaximizedBox(::vl::__vwsn::Parse(::vl::WString(L"false", false))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->self)->SetClientSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = 480; __vwsn_temp__.y = 360; return __vwsn_temp__; }()); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_0 = new ::vl::presentation::compositions::GuiTableComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = 0; __vwsn_temp__.top = 0; __vwsn_temp__.right = 0; __vwsn_temp__.bottom = 0; return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->SetCellPadding(::vl::__vwsn::Parse<::vl::vint32_t>(::vl::WString(L"5", false))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->SetRowsAndColumns(6, 4); + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->SetRowOption(0, [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->SetRowOption(1, [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->SetRowOption(2, [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->SetRowOption(3, [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->SetRowOption(4, [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = 1.0; return __vwsn_temp__; }()); + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->SetRowOption(5, [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->SetColumnOption(0, [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->SetColumnOption(1, [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = 1.0; return __vwsn_temp__; }()); + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->SetColumnOption(2, [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->SetColumnOption(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_1 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_1)->SetInternalMargin([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.top = 6; return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_1)->SetSite(0, 0, 1, 1); + } + { + auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateLabelStyle(); + (::vl::__vwsn::This(this)->__vwsn_precompile_2 = new ::vl::presentation::controls::GuiLabel(__vwsn_controlStyle_)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_2)->SetText(::vl::WString(L"Name:", false)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_1)->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_2)->GetBoundsComposition()))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this)->__vwsn_precompile_1))); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_3 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_3)->SetSite(0, 1, 1, 3); + } + { + auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateDocumentTextBoxStyle(); + (::vl::__vwsn::This(this)->textBoxName = new ::vl::presentation::controls::GuiDocumentLabel(__vwsn_controlStyle_)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->textBoxName)->SetEditMode(::vl::presentation::controls::GuiDocumentCommonInterface::EditMode::Editable); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_4 = ::vl::__vwsn::This(::vl::__vwsn::This(this)->textBoxName)->GetBoundsComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_4)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = 0; __vwsn_temp__.top = 0; __vwsn_temp__.right = 0; __vwsn_temp__.bottom = 0; return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_3)->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(::vl::__vwsn::This(this)->textBoxName)->GetBoundsComposition()))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this)->__vwsn_precompile_3))); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_5 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_5)->SetInternalMargin([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.top = 6; return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_5)->SetSite(1, 0, 1, 1); + } + { + auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateLabelStyle(); + (::vl::__vwsn::This(this)->__vwsn_precompile_6 = new ::vl::presentation::controls::GuiLabel(__vwsn_controlStyle_)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_6)->SetText(::vl::WString(L"Phone:", false)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_5)->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_6)->GetBoundsComposition()))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this)->__vwsn_precompile_5))); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_7 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_7)->SetSite(1, 1, 1, 3); + } + { + auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateDocumentTextBoxStyle(); + (::vl::__vwsn::This(this)->textBoxPhone = new ::vl::presentation::controls::GuiDocumentLabel(__vwsn_controlStyle_)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->textBoxPhone)->SetEditMode(::vl::presentation::controls::GuiDocumentCommonInterface::EditMode::Editable); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_8 = ::vl::__vwsn::This(::vl::__vwsn::This(this)->textBoxPhone)->GetBoundsComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_8)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = 0; __vwsn_temp__.top = 0; __vwsn_temp__.right = 0; __vwsn_temp__.bottom = 0; return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_7)->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(::vl::__vwsn::This(this)->textBoxPhone)->GetBoundsComposition()))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this)->__vwsn_precompile_7))); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_9 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_9)->SetInternalMargin([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.top = 6; return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_9)->SetSite(2, 0, 1, 1); + } + { + auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateLabelStyle(); + (::vl::__vwsn::This(this)->__vwsn_precompile_10 = new ::vl::presentation::controls::GuiLabel(__vwsn_controlStyle_)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_10)->SetText(::vl::WString(L"Address:", false)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_9)->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_10)->GetBoundsComposition()))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this)->__vwsn_precompile_9))); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_11 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_11)->SetSite(2, 1, 1, 3); + } + { + auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateDocumentTextBoxStyle(); + (::vl::__vwsn::This(this)->textBoxAddress = new ::vl::presentation::controls::GuiDocumentLabel(__vwsn_controlStyle_)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->textBoxAddress)->SetEditMode(::vl::presentation::controls::GuiDocumentCommonInterface::EditMode::Editable); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_12 = ::vl::__vwsn::This(::vl::__vwsn::This(this)->textBoxAddress)->GetBoundsComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_12)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = 0; __vwsn_temp__.top = 0; __vwsn_temp__.right = 0; __vwsn_temp__.bottom = 0; return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_11)->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(::vl::__vwsn::This(this)->textBoxAddress)->GetBoundsComposition()))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this)->__vwsn_precompile_11))); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_13 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_13)->SetInternalMargin([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.top = 6; return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_13)->SetSite(3, 0, 1, 1); + } + { + auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateLabelStyle(); + (::vl::__vwsn::This(this)->__vwsn_precompile_14 = new ::vl::presentation::controls::GuiLabel(__vwsn_controlStyle_)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_14)->SetText(::vl::WString(L"Birthday:", false)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_13)->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_14)->GetBoundsComposition()))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this)->__vwsn_precompile_13))); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_15 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_15)->SetSite(3, 1, 1, 3); + } + { + auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateDatePickerStyle(); + (::vl::__vwsn::This(this)->datePickerBirthday = new ::vl::presentation::controls::GuiDatePicker(__vwsn_controlStyle_)); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_16 = ::vl::__vwsn::This(::vl::__vwsn::This(this)->datePickerBirthday)->GetBoundsComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_16)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = 0; __vwsn_temp__.top = 0; __vwsn_temp__.bottom = 0; return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_15)->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(::vl::__vwsn::This(this)->datePickerBirthday)->GetBoundsComposition()))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this)->__vwsn_precompile_15))); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_17 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_17)->SetSite(5, 2, 1, 1); + } + { + auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateButtonStyle(); + (::vl::__vwsn::This(this)->__vwsn_precompile_18 = new ::vl::presentation::controls::GuiButton(__vwsn_controlStyle_)); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_19 = ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_18)->GetBoundsComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_19)->SetPreferredMinSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = 60; return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_19)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = 0; __vwsn_temp__.top = 0; __vwsn_temp__.right = 0; __vwsn_temp__.bottom = 0; return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_18)->SetText(::vl::WString(L"OK", false)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_17)->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_18)->GetBoundsComposition()))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this)->__vwsn_precompile_17))); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_20 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_20)->SetSite(5, 3, 1, 1); + } + { + auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateButtonStyle(); + (::vl::__vwsn::This(this)->__vwsn_precompile_21 = new ::vl::presentation::controls::GuiButton(__vwsn_controlStyle_)); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_22 = ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_21)->GetBoundsComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_22)->SetPreferredMinSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = 60; return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_22)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = 0; __vwsn_temp__.top = 0; __vwsn_temp__.right = 0; __vwsn_temp__.bottom = 0; return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_21)->SetText(::vl::WString(L"Cancel", false)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_20)->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_21)->GetBoundsComposition()))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this)->__vwsn_precompile_20))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::This(this)->self)->GetContainerComposition())->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this)->__vwsn_precompile_0))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->textBoxName)->SetText(::vl::__vwsn::This(::vl::__vwsn::This(this)->Contact.Obj())->GetName()); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->textBoxPhone)->SetText(::vl::__vwsn::This(::vl::__vwsn::This(this)->Contact.Obj())->GetPhone()); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->textBoxAddress)->SetText(::vl::__vwsn::This(::vl::__vwsn::This(this)->Contact.Obj())->GetAddress()); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->datePickerBirthday)->SetDate(::vl::__vwsn::This(::vl::__vwsn::This(this)->Contact.Obj())->GetBirthday()); + } + { + auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf23_Demo_demo_NewContactWindowConstructor___vwsn_initialize_instance__(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_18)->Clicked, __vwsn_event_handler_); + } + { + auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf24_Demo_demo_NewContactWindowConstructor___vwsn_initialize_instance__(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_21)->Clicked, __vwsn_event_handler_); + } + { + auto __vwsn_created_subscription_ = ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc17_Demo_demo_NewContactWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this))); + ::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->Subscribe(LAMBDA(::vl_workflow_global::__vwsnf25_Demo_demo_NewContactWindowConstructor___vwsn_initialize_instance__(this))); + ::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->Update(); + } + } + + NewContactWindowConstructor::NewContactWindowConstructor() { } - // #endregion CLASS_MEMBER_GUIEVENT_HANDLER +/*********************************************************************** +Class (::demo::NewContactWindow) +***********************************************************************/ - NewContactWindow::NewContactWindow(vl::Ptr Contact) + bool NewContactWindow::GetForEdit() { - InitializeComponents(Contact); - OnCreate(); + return ::vl::__vwsn::This(this)->forEdit; + } + + void NewContactWindow::SetForEdit(bool value) + { + if ((::vl::__vwsn::This(this)->forEdit != value)) + { + (::vl::__vwsn::This(this)->forEdit = value); + ::vl::__vwsn::EventInvoke(::vl::__vwsn::This(this)->ForEditChanged)(); + } + } + + ::vl::Ptr<::demo::IContact> NewContactWindow::GetContact() + { + return ::vl::__vwsn::This(this)->__vwsn_parameter_Contact; + } + + NewContactWindow::NewContactWindow(::vl::Ptr<::demo::IContact> __vwsn_ctor_parameter_Contact) + : ::vl::presentation::controls::GuiWindow(::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateWindowStyle()) + { + (::vl::__vwsn::This(this)->__vwsn_parameter_Contact = __vwsn_ctor_parameter_Contact); + auto __vwsn_resource_ = ::vl::__vwsn::This(::vl::presentation::GetResourceManager())->GetResourceFromClassName(::vl::WString(L"demo::NewContactWindow", 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)->__vwsn_initialize_instance_(this, ::vl::__vwsn::Ensure(static_cast<::vl::presentation::GuiResourcePathResolver*>(__vwsn_resolver_.Obj()))); } NewContactWindow::~NewContactWindow() { - OnDestroy(); - ClearSubscriptions(); + ::vl::__vwsn::This(this)->ClearSubscriptions(); } -} +/*********************************************************************** +Class (::demo::NewFolderWindowConstructor) +***********************************************************************/ -namespace demo -{ - // #region CLASS_MEMBER_GUIEVENT_HANDLER (DO NOT PUT OTHER CONTENT IN THIS #region.) + void NewFolderWindowConstructor::__vwsn_initialize_instance_(::demo::NewFolderWindow* __vwsn_this_, ::vl::presentation::GuiResourcePathResolver* __vwsn_resolver_) + { + (::vl::__vwsn::This(this)->self = __vwsn_this_); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->self)->SetSizeBox(::vl::__vwsn::Parse(::vl::WString(L"false", false))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->self)->SetMinimizedBox(::vl::__vwsn::Parse(::vl::WString(L"false", false))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->self)->SetMaximizedBox(::vl::__vwsn::Parse(::vl::WString(L"false", false))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->self)->SetClientSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = 240; __vwsn_temp__.y = 120; return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->self)->SetText(::vl::WString(L"New Folder", false)); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_0 = new ::vl::presentation::compositions::GuiTableComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = 0; __vwsn_temp__.top = 0; __vwsn_temp__.right = 0; __vwsn_temp__.bottom = 0; return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->SetCellPadding(::vl::__vwsn::Parse<::vl::vint32_t>(::vl::WString(L"5", false))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->SetRowsAndColumns(3, 4); + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->SetRowOption(0, [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->SetRowOption(1, [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = 1.0; return __vwsn_temp__; }()); + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->SetRowOption(2, [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->SetColumnOption(0, [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->SetColumnOption(1, [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = 1.0; return __vwsn_temp__; }()); + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->SetColumnOption(2, [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->SetColumnOption(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_1 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_1)->SetInternalMargin([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.top = 6; return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_1)->SetSite(0, 0, 1, 1); + } + { + auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateLabelStyle(); + (::vl::__vwsn::This(this)->__vwsn_precompile_2 = new ::vl::presentation::controls::GuiLabel(__vwsn_controlStyle_)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_2)->SetText(::vl::WString(L"Name:", false)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_1)->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_2)->GetBoundsComposition()))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this)->__vwsn_precompile_1))); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_3 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_3)->SetSite(0, 1, 1, 3); + } + { + auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateDocumentTextBoxStyle(); + (::vl::__vwsn::This(this)->textBoxName = new ::vl::presentation::controls::GuiDocumentLabel(__vwsn_controlStyle_)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->textBoxName)->SetEditMode(::vl::presentation::controls::GuiDocumentCommonInterface::EditMode::Editable); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_4 = ::vl::__vwsn::This(::vl::__vwsn::This(this)->textBoxName)->GetBoundsComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_4)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = 0; __vwsn_temp__.top = 0; __vwsn_temp__.right = 0; __vwsn_temp__.bottom = 0; return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->textBoxName)->SetText(::vl::WString(L"New Folder", false)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_3)->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(::vl::__vwsn::This(this)->textBoxName)->GetBoundsComposition()))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this)->__vwsn_precompile_3))); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_5 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_5)->SetSite(2, 2, 1, 1); + } + { + auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateButtonStyle(); + (::vl::__vwsn::This(this)->__vwsn_precompile_6 = new ::vl::presentation::controls::GuiButton(__vwsn_controlStyle_)); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_7 = ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_6)->GetBoundsComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_7)->SetPreferredMinSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = 60; return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_7)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = 0; __vwsn_temp__.top = 0; __vwsn_temp__.right = 0; __vwsn_temp__.bottom = 0; return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_6)->SetText(::vl::WString(L"OK", false)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_5)->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_6)->GetBoundsComposition()))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this)->__vwsn_precompile_5))); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_8 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_8)->SetSite(2, 3, 1, 1); + } + { + auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateButtonStyle(); + (::vl::__vwsn::This(this)->__vwsn_precompile_9 = new ::vl::presentation::controls::GuiButton(__vwsn_controlStyle_)); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_10 = ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_9)->GetBoundsComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_10)->SetPreferredMinSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = 60; return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_10)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = 0; __vwsn_temp__.top = 0; __vwsn_temp__.right = 0; __vwsn_temp__.bottom = 0; return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_9)->SetText(::vl::WString(L"Cancel", false)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_8)->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_9)->GetBoundsComposition()))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this)->__vwsn_precompile_8))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::This(this)->self)->GetContainerComposition())->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this)->__vwsn_precompile_0))); + } + { + auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf26_Demo_demo_NewFolderWindowConstructor___vwsn_initialize_instance__(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_6)->Clicked, __vwsn_event_handler_); + } + { + auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf27_Demo_demo_NewFolderWindowConstructor___vwsn_initialize_instance__(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_9)->Clicked, __vwsn_event_handler_); + } + { + auto __vwsn_created_subscription_ = ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc19_Demo_demo_NewFolderWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this))); + ::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->Subscribe(LAMBDA(::vl_workflow_global::__vwsnf28_Demo_demo_NewFolderWindowConstructor___vwsn_initialize_instance__(this))); + ::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->Update(); + } + } - void NewFolderWindow::OnCreate() + NewFolderWindowConstructor::NewFolderWindowConstructor() { } - void NewFolderWindow::OnDestroy() +/*********************************************************************** +Class (::demo::NewFolderWindow) +***********************************************************************/ + + ::vl::WString NewFolderWindow::GetFolderName() { + return ::vl::__vwsn::This(this)->folderName; } - // #endregion CLASS_MEMBER_GUIEVENT_HANDLER + void NewFolderWindow::SetFolderName(const ::vl::WString& value) + { + if ((::vl::__vwsn::This(this)->folderName != value)) + { + (::vl::__vwsn::This(this)->folderName = value); + ::vl::__vwsn::EventInvoke(::vl::__vwsn::This(this)->FolderNameChanged)(); + } + } NewFolderWindow::NewFolderWindow() + : ::vl::presentation::controls::GuiWindow(::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateWindowStyle()) { - InitializeComponents(); - OnCreate(); + auto __vwsn_resource_ = ::vl::__vwsn::This(::vl::presentation::GetResourceManager())->GetResourceFromClassName(::vl::WString(L"demo::NewFolderWindow", 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)->__vwsn_initialize_instance_(this, ::vl::__vwsn::Ensure(static_cast<::vl::presentation::GuiResourcePathResolver*>(__vwsn_resolver_.Obj()))); } NewFolderWindow::~NewFolderWindow() { - OnDestroy(); - ClearSubscriptions(); + ::vl::__vwsn::This(this)->ClearSubscriptions(); } -} +/*********************************************************************** +Class (::demo::IContact) +***********************************************************************/ + +/*********************************************************************** +Class (::demo::ICategory) +***********************************************************************/ + +/*********************************************************************** +Class (::demo::IViewModel) +***********************************************************************/ + +} +#undef GLOBAL_SYMBOL +#undef GLOBAL_NAME +#undef GLOBAL_OBJ +#undef USERIMPL + +/*********************************************************************** +Reflection +***********************************************************************/ namespace vl { @@ -72,138 +3348,250 @@ namespace vl { namespace description { - #define _ , - IMPL_CPP_TYPE_INFO(demo::ICategory) - IMPL_CPP_TYPE_INFO(demo::IContact) - IMPL_CPP_TYPE_INFO(demo::IViewModel) - IMPL_CPP_TYPE_INFO(demo::MainWindow) - IMPL_CPP_TYPE_INFO(demo::NewContactWindow) - IMPL_CPP_TYPE_INFO(demo::NewFolderWindow) +#ifndef VCZH_DEBUG_NO_REFLECTION + IMPL_CPP_TYPE_INFO(::demo::ICategory) + IMPL_CPP_TYPE_INFO(::demo::IContact) + IMPL_CPP_TYPE_INFO(::demo::IViewModel) + IMPL_CPP_TYPE_INFO(::demo::MainWindow) + IMPL_CPP_TYPE_INFO(::demo::MainWindowConstructor) + IMPL_CPP_TYPE_INFO(::demo::NewContactWindow) + IMPL_CPP_TYPE_INFO(::demo::NewContactWindowConstructor) + IMPL_CPP_TYPE_INFO(::demo::NewFolderWindow) + IMPL_CPP_TYPE_INFO(::demo::NewFolderWindowConstructor) - BEGIN_CLASS_MEMBER(demo::ICategory) - CLASS_MEMBER_BASE(::vl::reflection::IDescriptable) - CLASS_MEMBER_METHOD(GetParent, NO_PARAMETER); - CLASS_MEMBER_METHOD(GetName, NO_PARAMETER); - CLASS_MEMBER_METHOD(GetImage, NO_PARAMETER); - CLASS_MEMBER_METHOD(GetFolders, NO_PARAMETER); - CLASS_MEMBER_METHOD(GetContacts, NO_PARAMETER); - CLASS_MEMBER_PROPERTY_READONLY(Parent, GetParent) - CLASS_MEMBER_PROPERTY_READONLY(Name, GetName) - CLASS_MEMBER_PROPERTY_READONLY(Image, GetImage) - CLASS_MEMBER_PROPERTY_READONLY(Folders, GetFolders) +#define _ , + BEGIN_INTERFACE_MEMBER(::demo::ICategory) + CLASS_MEMBER_METHOD(GetContacts, NO_PARAMETER) + CLASS_MEMBER_METHOD(GetFolders, NO_PARAMETER) + CLASS_MEMBER_METHOD(GetImage, NO_PARAMETER) + CLASS_MEMBER_METHOD(GetName, NO_PARAMETER) + CLASS_MEMBER_METHOD(GetParent, NO_PARAMETER) CLASS_MEMBER_PROPERTY_READONLY(Contacts, GetContacts) - END_CLASS_MEMBER(demo::ICategory) - - BEGIN_CLASS_MEMBER(demo::IContact) - CLASS_MEMBER_BASE(::vl::reflection::IDescriptable) - CLASS_MEMBER_METHOD(GetName, NO_PARAMETER); - CLASS_MEMBER_METHOD(GetBigImage, NO_PARAMETER); - CLASS_MEMBER_METHOD(GetSmallImage, NO_PARAMETER); - CLASS_MEMBER_METHOD(GetBirthday, NO_PARAMETER); - CLASS_MEMBER_METHOD(GetBirthdayText, NO_PARAMETER); - CLASS_MEMBER_METHOD(GetPhone, NO_PARAMETER); - CLASS_MEMBER_METHOD(GetAddress, NO_PARAMETER); - CLASS_MEMBER_METHOD(Update, { L"name" _ L"birthday" _ L"phone" _ L"address" }); + CLASS_MEMBER_PROPERTY_READONLY(Folders, GetFolders) + CLASS_MEMBER_PROPERTY_READONLY(Image, GetImage) CLASS_MEMBER_PROPERTY_READONLY(Name, GetName) + CLASS_MEMBER_PROPERTY_READONLY(Parent, GetParent) + END_INTERFACE_MEMBER(::demo::ICategory) + + BEGIN_INTERFACE_MEMBER(::demo::IContact) + CLASS_MEMBER_METHOD(GetAddress, NO_PARAMETER) + CLASS_MEMBER_METHOD(GetBigImage, NO_PARAMETER) + CLASS_MEMBER_METHOD(GetBirthday, NO_PARAMETER) + CLASS_MEMBER_METHOD(GetBirthdayText, NO_PARAMETER) + CLASS_MEMBER_METHOD(GetName, NO_PARAMETER) + CLASS_MEMBER_METHOD(GetPhone, NO_PARAMETER) + CLASS_MEMBER_METHOD(GetSmallImage, NO_PARAMETER) + CLASS_MEMBER_METHOD(Update, { L"name" _ L"birthday" _ L"phone" _ L"address" }) + CLASS_MEMBER_PROPERTY_READONLY(Address, GetAddress) CLASS_MEMBER_PROPERTY_READONLY(BigImage, GetBigImage) - CLASS_MEMBER_PROPERTY_READONLY(SmallImage, GetSmallImage) CLASS_MEMBER_PROPERTY_READONLY(Birthday, GetBirthday) CLASS_MEMBER_PROPERTY_READONLY(BirthdayText, GetBirthdayText) + CLASS_MEMBER_PROPERTY_READONLY(Name, GetName) CLASS_MEMBER_PROPERTY_READONLY(Phone, GetPhone) - CLASS_MEMBER_PROPERTY_READONLY(Address, GetAddress) - END_CLASS_MEMBER(demo::IContact) + CLASS_MEMBER_PROPERTY_READONLY(SmallImage, GetSmallImage) + END_INTERFACE_MEMBER(::demo::IContact) - BEGIN_CLASS_MEMBER(demo::IViewModel) - CLASS_MEMBER_BASE(::vl::reflection::IDescriptable) - CLASS_MEMBER_METHOD(GetRootCategory, NO_PARAMETER); - CLASS_MEMBER_METHOD(GetSelectedCategory, NO_PARAMETER); - CLASS_MEMBER_METHOD(SetSelectedCategory, { L"value" }); + BEGIN_INTERFACE_MEMBER(::demo::IViewModel) + CLASS_MEMBER_METHOD(AddCategory, { L"name" }) + CLASS_MEMBER_METHOD(AddContact, { L"contact" }) + CLASS_MEMBER_METHOD(CreateContact, NO_PARAMETER) + CLASS_MEMBER_METHOD(GetRootCategory, NO_PARAMETER) + CLASS_MEMBER_METHOD(GetSelectedCategory, NO_PARAMETER) + CLASS_MEMBER_METHOD(GetSelectedContact, NO_PARAMETER) + CLASS_MEMBER_METHOD(RemoveCategory, NO_PARAMETER) + CLASS_MEMBER_METHOD(RemoveContact, NO_PARAMETER) + CLASS_MEMBER_METHOD(SetSelectedCategory, { L"value" }) + CLASS_MEMBER_METHOD(SetSelectedContact, { L"value" }) CLASS_MEMBER_EVENT(SelectedCategoryChanged) - CLASS_MEMBER_METHOD(GetSelectedContact, NO_PARAMETER); - CLASS_MEMBER_METHOD(SetSelectedContact, { L"value" }); CLASS_MEMBER_EVENT(SelectedContactChanged) - CLASS_MEMBER_METHOD(AddCategory, { L"name" }); - CLASS_MEMBER_METHOD(RemoveCategory, NO_PARAMETER); - CLASS_MEMBER_METHOD(CreateContact, NO_PARAMETER); - CLASS_MEMBER_METHOD(AddContact, { L"contact" }); - CLASS_MEMBER_METHOD(RemoveContact, NO_PARAMETER); CLASS_MEMBER_PROPERTY_EVENT(SelectedCategory, GetSelectedCategory, SetSelectedCategory, SelectedCategoryChanged) CLASS_MEMBER_PROPERTY_EVENT(SelectedContact, GetSelectedContact, SetSelectedContact, SelectedContactChanged) - END_CLASS_MEMBER(demo::IViewModel) + END_INTERFACE_MEMBER(::demo::IViewModel) - BEGIN_CLASS_MEMBER(demo::MainWindow) - CLASS_MEMBER_BASE(::vl::presentation::controls::GuiWindow) - CLASS_MEMBER_CONSTRUCTOR(demo::MainWindow*(vl::Ptr), { L"ViewModel" }) + BEGIN_CLASS_MEMBER(::demo::MainWindow) + CLASS_MEMBER_METHOD(ClearViewSelection, NO_PARAMETER) + CLASS_MEMBER_METHOD(GetViewModel, NO_PARAMETER) + CLASS_MEMBER_METHOD(commandBigIcon_Executed, { L"sender" _ L"arguments" }) + CLASS_MEMBER_METHOD(commandDetail_Executed, { L"sender" _ L"arguments" }) + CLASS_MEMBER_METHOD(commandInformation_Executed, { L"sender" _ L"arguments" }) + CLASS_MEMBER_METHOD(commandList_Executed, { L"sender" _ L"arguments" }) + CLASS_MEMBER_METHOD(commandSmallIcon_Executed, { L"sender" _ L"arguments" }) + CLASS_MEMBER_METHOD(commandTile_Executed, { L"sender" _ L"arguments" }) + CLASS_MEMBER_FIELD(__vwsn_parameter_ViewModel) + CLASS_MEMBER_PROPERTY_READONLY(ViewModel, GetViewModel) + END_CLASS_MEMBER(::demo::MainWindow) - CLASS_MEMBER_GUIEVENT_HANDLER(commandBigIcon_Executed, ::vl::presentation::compositions::GuiEventArgs) - CLASS_MEMBER_GUIEVENT_HANDLER(commandDetail_Executed, ::vl::presentation::compositions::GuiEventArgs) - CLASS_MEMBER_GUIEVENT_HANDLER(commandInformation_Executed, ::vl::presentation::compositions::GuiEventArgs) - CLASS_MEMBER_GUIEVENT_HANDLER(commandList_Executed, ::vl::presentation::compositions::GuiEventArgs) - CLASS_MEMBER_GUIEVENT_HANDLER(commandSmallIcon_Executed, ::vl::presentation::compositions::GuiEventArgs) - CLASS_MEMBER_GUIEVENT_HANDLER(commandTile_Executed, ::vl::presentation::compositions::GuiEventArgs) + BEGIN_CLASS_MEMBER(::demo::MainWindowConstructor) + CLASS_MEMBER_METHOD(__vwsn_initialize_instance_, { L"__vwsn_this_" _ L"__vwsn_resolver_" }) + 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_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(ViewModel) + CLASS_MEMBER_FIELD(commandBigIcon) + CLASS_MEMBER_FIELD(commandDeleteContact) + CLASS_MEMBER_FIELD(commandDeleteFolder) + CLASS_MEMBER_FIELD(commandDetail) + CLASS_MEMBER_FIELD(commandEditContact) + CLASS_MEMBER_FIELD(commandInformation) + CLASS_MEMBER_FIELD(commandList) + CLASS_MEMBER_FIELD(commandNewContact) + CLASS_MEMBER_FIELD(commandNewFolder) + CLASS_MEMBER_FIELD(commandSmallIcon) + CLASS_MEMBER_FIELD(commandTile) + CLASS_MEMBER_FIELD(listViewContacts) + CLASS_MEMBER_FIELD(self) + CLASS_MEMBER_FIELD(treeViewFolders) + END_CLASS_MEMBER(::demo::MainWindowConstructor) - CLASS_MEMBER_PROPERTY_READONLY_FAST(ViewModel) - END_CLASS_MEMBER(demo::MainWindow) - - BEGIN_CLASS_MEMBER(demo::NewContactWindow) - CLASS_MEMBER_BASE(::vl::presentation::controls::GuiWindow) - CLASS_MEMBER_CONSTRUCTOR(demo::NewContactWindow*(vl::Ptr), { L"Contact" }) - - CLASS_MEMBER_PROPERTY_READONLY_FAST(Contact) + BEGIN_CLASS_MEMBER(::demo::NewContactWindow) + CLASS_MEMBER_METHOD(GetContact, NO_PARAMETER) + CLASS_MEMBER_METHOD(GetForEdit, NO_PARAMETER) + CLASS_MEMBER_METHOD(SetForEdit, { L"value" }) CLASS_MEMBER_EVENT(ForEditChanged) - CLASS_MEMBER_PROPERTY_EVENT_FAST(ForEdit, ForEditChanged) - CLASS_MEMBER_EVENT(ReadyChanged) - CLASS_MEMBER_PROPERTY_EVENT_FAST(Ready, ReadyChanged) - END_CLASS_MEMBER(demo::NewContactWindow) + CLASS_MEMBER_FIELD(__vwsn_parameter_Contact) + CLASS_MEMBER_PROPERTY_READONLY(Contact, GetContact) + CLASS_MEMBER_PROPERTY_EVENT(ForEdit, GetForEdit, SetForEdit, ForEditChanged) + CLASS_MEMBER_FIELD(Ready) + CLASS_MEMBER_FIELD(forEdit) + END_CLASS_MEMBER(::demo::NewContactWindow) - BEGIN_CLASS_MEMBER(demo::NewFolderWindow) - CLASS_MEMBER_BASE(::vl::presentation::controls::GuiWindow) - CLASS_MEMBER_CONSTRUCTOR(demo::NewFolderWindow*(), NO_PARAMETER) + BEGIN_CLASS_MEMBER(::demo::NewContactWindowConstructor) + CLASS_MEMBER_METHOD(__vwsn_initialize_instance_, { L"__vwsn_this_" _ L"__vwsn_resolver_" }) + 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_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(Contact) + CLASS_MEMBER_FIELD(datePickerBirthday) + CLASS_MEMBER_FIELD(self) + CLASS_MEMBER_FIELD(textBoxAddress) + CLASS_MEMBER_FIELD(textBoxName) + CLASS_MEMBER_FIELD(textBoxPhone) + END_CLASS_MEMBER(::demo::NewContactWindowConstructor) + BEGIN_CLASS_MEMBER(::demo::NewFolderWindow) + CLASS_MEMBER_METHOD(GetFolderName, NO_PARAMETER) + CLASS_MEMBER_METHOD(SetFolderName, { L"value" }) CLASS_MEMBER_EVENT(FolderNameChanged) - CLASS_MEMBER_PROPERTY_EVENT_FAST(FolderName, FolderNameChanged) - CLASS_MEMBER_EVENT(ReadyChanged) - CLASS_MEMBER_PROPERTY_EVENT_FAST(Ready, ReadyChanged) - END_CLASS_MEMBER(demo::NewFolderWindow) + CLASS_MEMBER_PROPERTY_EVENT(FolderName, GetFolderName, SetFolderName, FolderNameChanged) + CLASS_MEMBER_FIELD(Ready) + CLASS_MEMBER_FIELD(folderName) + END_CLASS_MEMBER(::demo::NewFolderWindow) - #undef _ + BEGIN_CLASS_MEMBER(::demo::NewFolderWindowConstructor) + CLASS_MEMBER_METHOD(__vwsn_initialize_instance_, { L"__vwsn_this_" _ L"__vwsn_resolver_" }) + CLASS_MEMBER_FIELD(__vwsn_precompile_0) + CLASS_MEMBER_FIELD(__vwsn_precompile_1) + CLASS_MEMBER_FIELD(__vwsn_precompile_10) + 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(textBoxName) + END_CLASS_MEMBER(::demo::NewFolderWindowConstructor) - class DemoResourceLoader : public Object, public ITypeLoader +#undef _ + class DemoTypeLoader : public Object, public ITypeLoader { public: void Load(ITypeManager* manager) { - ADD_TYPE_INFO(demo::ICategory) - ADD_TYPE_INFO(demo::IContact) - ADD_TYPE_INFO(demo::IViewModel) - ADD_TYPE_INFO(demo::MainWindow) - ADD_TYPE_INFO(demo::NewContactWindow) - ADD_TYPE_INFO(demo::NewFolderWindow) + ADD_TYPE_INFO(::demo::ICategory) + ADD_TYPE_INFO(::demo::IContact) + ADD_TYPE_INFO(::demo::IViewModel) + ADD_TYPE_INFO(::demo::MainWindow) + ADD_TYPE_INFO(::demo::MainWindowConstructor) + ADD_TYPE_INFO(::demo::NewContactWindow) + ADD_TYPE_INFO(::demo::NewContactWindowConstructor) + ADD_TYPE_INFO(::demo::NewFolderWindow) + ADD_TYPE_INFO(::demo::NewFolderWindowConstructor) } void Unload(ITypeManager* manager) { } }; +#endif - class DemoResourcePlugin : public Object, public vl::presentation::controls::IGuiPlugin + bool LoadDemoTypes() { - public: - void Load()override +#ifndef VCZH_DEBUG_NO_REFLECTION + if (auto manager = GetGlobalTypeManager()) { - GetGlobalTypeManager()->AddTypeLoader(new DemoResourceLoader); + return manager->AddTypeLoader(MakePtr()); } - - void AfterLoad()override - { - } - - void Unload()override - { - } - }; - GUI_REGISTER_PLUGIN(DemoResourcePlugin) +#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_Controls/AddressBook/UI/Source/DemoPartialClasses.h b/Tutorial/GacUI_Controls/AddressBook/UI/Source/DemoPartialClasses.h index 3b1e8da1..3e162967 100644 --- a/Tutorial/GacUI_Controls/AddressBook/UI/Source/DemoPartialClasses.h +++ b/Tutorial/GacUI_Controls/AddressBook/UI/Source/DemoPartialClasses.h @@ -1,356 +1,386 @@ -/*********************************************************************** -Vczh Library++ 3.0 -Developer: Zihan Chen(vczh) -GacUI::Partial Classes +/*********************************************************************** +!!!!!! DO NOT MODIFY !!!!!! -This file is generated by: Vczh GacUI Resource Code Generator -************************************************************************ -DO NOT MODIFY +GacGen.exe Resource.xml + +This file is generated by Workflow compiler +https://github.com/vczh-libraries ***********************************************************************/ -#ifndef VCZH_GACUI_RESOURCE_CODE_GENERATOR_Demo_PARTIAL_CLASSES -#define VCZH_GACUI_RESOURCE_CODE_GENERATOR_Demo_PARTIAL_CLASSES +#ifndef VCZH_WORKFLOW_COMPILER_GENERATED_DEMOPARTIALCLASSES +#define VCZH_WORKFLOW_COMPILER_GENERATED_DEMOPARTIALCLASSES #include "GacUIReflection.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 +{ + class __vwsnc10_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener; + class __vwsnc11_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; + class __vwsnc12_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener; + class __vwsnc13_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; + class __vwsnc14_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener; + class __vwsnc15_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; + class __vwsnc16_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener; + class __vwsnc17_Demo_demo_NewContactWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; + class __vwsnc18_Demo_demo_NewContactWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener; + class __vwsnc19_Demo_demo_NewFolderWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; + class __vwsnc1_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; + class __vwsnc20_Demo_demo_NewFolderWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener; + class __vwsnc2_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener; + class __vwsnc3_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; + class __vwsnc4_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener; + class __vwsnc5_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; + class __vwsnc6_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener; + class __vwsnc7_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; + class __vwsnc8_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener; + class __vwsnc9_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; + struct __vwsnf10_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; + struct __vwsnf11_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___; + struct __vwsnf12_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; + struct __vwsnf13_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; + struct __vwsnf1_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; + struct __vwsnf20_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; + struct __vwsnf21_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; + struct __vwsnf22_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; + struct __vwsnf23_Demo_demo_NewContactWindowConstructor___vwsn_initialize_instance__; + struct __vwsnf24_Demo_demo_NewContactWindowConstructor___vwsn_initialize_instance__; + struct __vwsnf25_Demo_demo_NewContactWindowConstructor___vwsn_initialize_instance__; + struct __vwsnf26_Demo_demo_NewFolderWindowConstructor___vwsn_initialize_instance__; + struct __vwsnf27_Demo_demo_NewFolderWindowConstructor___vwsn_initialize_instance__; + struct __vwsnf28_Demo_demo_NewFolderWindowConstructor___vwsn_initialize_instance__; + struct __vwsnf2_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; + struct __vwsnf3_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___; + struct __vwsnf4_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; + struct __vwsnf5_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; + struct __vwsnf6_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; + struct __vwsnf7_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; + struct __vwsnf8_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___; + struct __vwsnf9_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; + struct __vwsno14_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; + struct __vwsno15_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; + struct __vwsno16_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; + struct __vwsno17_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; + struct __vwsno18_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; + struct __vwsno19_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; +} + namespace demo { + class MainWindowConstructor; + class MainWindow; + class NewContactWindowConstructor; + class NewContactWindow; + class NewFolderWindowConstructor; + class NewFolderWindow; class IContact; class ICategory; class IViewModel; - class MainWindow; - class NewContactWindow; - class NewFolderWindow; - class IContact : public virtual ::vl::reflection::IDescriptable, public vl::reflection::Description + class MainWindowConstructor : public ::vl::Object, public ::vl::reflection::Description { + friend class ::vl_workflow_global::__vwsnc10_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener; + friend class ::vl_workflow_global::__vwsnc11_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; + friend class ::vl_workflow_global::__vwsnc12_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener; + friend class ::vl_workflow_global::__vwsnc13_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; + friend class ::vl_workflow_global::__vwsnc14_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener; + friend class ::vl_workflow_global::__vwsnc15_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; + friend class ::vl_workflow_global::__vwsnc16_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener; + friend class ::vl_workflow_global::__vwsnc1_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; + friend class ::vl_workflow_global::__vwsnc2_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener; + friend class ::vl_workflow_global::__vwsnc3_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; + friend class ::vl_workflow_global::__vwsnc4_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener; + friend class ::vl_workflow_global::__vwsnc5_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; + friend class ::vl_workflow_global::__vwsnc6_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener; + friend class ::vl_workflow_global::__vwsnc7_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; + friend class ::vl_workflow_global::__vwsnc8_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener; + friend class ::vl_workflow_global::__vwsnc9_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; + friend struct ::vl_workflow_global::__vwsnf10_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; + friend struct ::vl_workflow_global::__vwsnf11_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___; + friend struct ::vl_workflow_global::__vwsnf12_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; + friend struct ::vl_workflow_global::__vwsnf13_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; + friend struct ::vl_workflow_global::__vwsnf1_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; + friend struct ::vl_workflow_global::__vwsnf20_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; + friend struct ::vl_workflow_global::__vwsnf21_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; + friend struct ::vl_workflow_global::__vwsnf22_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; + friend struct ::vl_workflow_global::__vwsnf2_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; + friend struct ::vl_workflow_global::__vwsnf3_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___; + friend struct ::vl_workflow_global::__vwsnf4_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; + friend struct ::vl_workflow_global::__vwsnf5_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; + friend struct ::vl_workflow_global::__vwsnf6_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; + friend struct ::vl_workflow_global::__vwsnf7_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; + friend struct ::vl_workflow_global::__vwsnf8_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___; + friend struct ::vl_workflow_global::__vwsnf9_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; + friend struct ::vl_workflow_global::__vwsno14_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; + friend struct ::vl_workflow_global::__vwsno15_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; + friend struct ::vl_workflow_global::__vwsno16_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; + friend struct ::vl_workflow_global::__vwsno17_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; + friend struct ::vl_workflow_global::__vwsno18_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; + friend struct ::vl_workflow_global::__vwsno19_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; +#ifndef VCZH_DEBUG_NO_REFLECTION + friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; +#endif + protected: + ::vl::Ptr<::demo::IViewModel> ViewModel = ::vl::Ptr<::demo::IViewModel>(); + ::demo::MainWindow* self = static_cast<::demo::MainWindow*>(nullptr); + ::vl::presentation::controls::GuiToolstripCommand* commandNewFolder = static_cast<::vl::presentation::controls::GuiToolstripCommand*>(nullptr); + ::vl::presentation::controls::GuiToolstripCommand* commandDeleteFolder = static_cast<::vl::presentation::controls::GuiToolstripCommand*>(nullptr); + ::vl::presentation::controls::GuiToolstripCommand* commandNewContact = static_cast<::vl::presentation::controls::GuiToolstripCommand*>(nullptr); + ::vl::presentation::controls::GuiToolstripCommand* commandEditContact = static_cast<::vl::presentation::controls::GuiToolstripCommand*>(nullptr); + ::vl::presentation::controls::GuiToolstripCommand* commandDeleteContact = static_cast<::vl::presentation::controls::GuiToolstripCommand*>(nullptr); + ::vl::presentation::controls::GuiToolstripCommand* commandBigIcon = static_cast<::vl::presentation::controls::GuiToolstripCommand*>(nullptr); + ::vl::presentation::controls::GuiToolstripCommand* commandSmallIcon = static_cast<::vl::presentation::controls::GuiToolstripCommand*>(nullptr); + ::vl::presentation::controls::GuiToolstripCommand* commandList = static_cast<::vl::presentation::controls::GuiToolstripCommand*>(nullptr); + ::vl::presentation::controls::GuiToolstripCommand* commandDetail = static_cast<::vl::presentation::controls::GuiToolstripCommand*>(nullptr); + ::vl::presentation::controls::GuiToolstripCommand* commandTile = static_cast<::vl::presentation::controls::GuiToolstripCommand*>(nullptr); + ::vl::presentation::controls::GuiToolstripCommand* commandInformation = static_cast<::vl::presentation::controls::GuiToolstripCommand*>(nullptr); + ::vl::presentation::controls::GuiBindableTreeView* treeViewFolders = static_cast<::vl::presentation::controls::GuiBindableTreeView*>(nullptr); + ::vl::presentation::controls::GuiBindableListView* listViewContacts = static_cast<::vl::presentation::controls::GuiBindableListView*>(nullptr); + ::vl::presentation::compositions::GuiTableComposition* __vwsn_precompile_0 = static_cast<::vl::presentation::compositions::GuiTableComposition*>(nullptr); + ::vl::presentation::compositions::GuiColumnSplitterComposition* __vwsn_precompile_1 = static_cast<::vl::presentation::compositions::GuiColumnSplitterComposition*>(nullptr); + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_2 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); + ::vl::presentation::controls::GuiControl* __vwsn_precompile_3 = static_cast<::vl::presentation::controls::GuiControl*>(nullptr); + ::vl::presentation::compositions::GuiTableComposition* __vwsn_precompile_4 = static_cast<::vl::presentation::compositions::GuiTableComposition*>(nullptr); + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_5 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); + ::vl::presentation::controls::GuiToolstripToolBar* __vwsn_precompile_6 = static_cast<::vl::presentation::controls::GuiToolstripToolBar*>(nullptr); + ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_7 = static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr); + ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_8 = static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr); + ::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::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_11 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); + ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_12 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); + ::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_precompile_13 = static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(nullptr); + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_14 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); + ::vl::presentation::controls::GuiControl* __vwsn_precompile_15 = static_cast<::vl::presentation::controls::GuiControl*>(nullptr); + ::vl::presentation::compositions::GuiTableComposition* __vwsn_precompile_16 = static_cast<::vl::presentation::compositions::GuiTableComposition*>(nullptr); + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_17 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); + ::vl::presentation::controls::GuiToolstripToolBar* __vwsn_precompile_18 = static_cast<::vl::presentation::controls::GuiToolstripToolBar*>(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::GuiToolstripButton* __vwsn_precompile_21 = static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr); + ::vl::presentation::controls::GuiControl* __vwsn_precompile_22 = static_cast<::vl::presentation::controls::GuiControl*>(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::GuiToolstripButton* __vwsn_precompile_27 = static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr); + ::vl::presentation::controls::GuiToolstripButton* __vwsn_precompile_28 = static_cast<::vl::presentation::controls::GuiToolstripButton*>(nullptr); + ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_29 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_30 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); + ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn> __vwsn_precompile_31 = ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>(); + ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn> __vwsn_precompile_32 = ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>(); + ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn> __vwsn_precompile_33 = ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>(); + ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn> __vwsn_precompile_34 = ::vl::Ptr<::vl::presentation::controls::list::ListViewColumn>(); + ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_35 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); + ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_36 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); + ::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_precompile_37 = static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(nullptr); + ::vl::Ptr<::demo::IViewModel> __vwsn_precompile_38 = ::vl::Ptr<::demo::IViewModel>(); + ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_39 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); + void __vwsn_initialize_instance_(::demo::MainWindow* __vwsn_this_, ::vl::presentation::GuiResourcePathResolver* __vwsn_resolver_); + public: + MainWindowConstructor(); + }; + + class NewContactWindowConstructor : public ::vl::Object, public ::vl::reflection::Description + { + friend class ::vl_workflow_global::__vwsnc17_Demo_demo_NewContactWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; + friend class ::vl_workflow_global::__vwsnc18_Demo_demo_NewContactWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener; + friend struct ::vl_workflow_global::__vwsnf23_Demo_demo_NewContactWindowConstructor___vwsn_initialize_instance__; + friend struct ::vl_workflow_global::__vwsnf24_Demo_demo_NewContactWindowConstructor___vwsn_initialize_instance__; + friend struct ::vl_workflow_global::__vwsnf25_Demo_demo_NewContactWindowConstructor___vwsn_initialize_instance__; +#ifndef VCZH_DEBUG_NO_REFLECTION + friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; +#endif + protected: + ::demo::NewContactWindow* self = static_cast<::demo::NewContactWindow*>(nullptr); + ::vl::presentation::controls::GuiDocumentLabel* textBoxName = static_cast<::vl::presentation::controls::GuiDocumentLabel*>(nullptr); + ::vl::Ptr<::demo::IContact> Contact = ::vl::Ptr<::demo::IContact>(); + ::vl::presentation::controls::GuiDocumentLabel* textBoxPhone = static_cast<::vl::presentation::controls::GuiDocumentLabel*>(nullptr); + ::vl::presentation::controls::GuiDocumentLabel* textBoxAddress = static_cast<::vl::presentation::controls::GuiDocumentLabel*>(nullptr); + ::vl::presentation::controls::GuiDatePicker* datePickerBirthday = static_cast<::vl::presentation::controls::GuiDatePicker*>(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::GuiLabel* __vwsn_precompile_2 = static_cast<::vl::presentation::controls::GuiLabel*>(nullptr); + ::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::GuiLabel* __vwsn_precompile_6 = static_cast<::vl::presentation::controls::GuiLabel*>(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::controls::GuiLabel* __vwsn_precompile_10 = static_cast<::vl::presentation::controls::GuiLabel*>(nullptr); + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_11 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); + ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_12 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_13 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); + ::vl::presentation::controls::GuiLabel* __vwsn_precompile_14 = static_cast<::vl::presentation::controls::GuiLabel*>(nullptr); + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_15 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); + ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_16 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_17 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(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::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); + ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_22 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); + void __vwsn_initialize_instance_(::demo::NewContactWindow* __vwsn_this_, ::vl::presentation::GuiResourcePathResolver* __vwsn_resolver_); + public: + NewContactWindowConstructor(); + }; + + class NewContactWindow : public ::vl::presentation::controls::GuiWindow, public ::demo::NewContactWindowConstructor, public ::vl::reflection::Description + { + friend class ::demo::NewContactWindowConstructor; + friend class ::vl_workflow_global::__vwsnc17_Demo_demo_NewContactWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; + friend class ::vl_workflow_global::__vwsnc18_Demo_demo_NewContactWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener; + friend struct ::vl_workflow_global::__vwsnf23_Demo_demo_NewContactWindowConstructor___vwsn_initialize_instance__; + friend struct ::vl_workflow_global::__vwsnf24_Demo_demo_NewContactWindowConstructor___vwsn_initialize_instance__; + friend struct ::vl_workflow_global::__vwsnf25_Demo_demo_NewContactWindowConstructor___vwsn_initialize_instance__; +#ifndef VCZH_DEBUG_NO_REFLECTION + friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; +#endif + protected: + bool forEdit = false; + public: + ::vl::Event ForEditChanged; + bool GetForEdit(); + void SetForEdit(bool value); + bool Ready = true; + ::vl::Ptr<::demo::IContact> __vwsn_parameter_Contact = ::vl::Ptr<::demo::IContact>(); + ::vl::Ptr<::demo::IContact> GetContact(); + NewContactWindow(::vl::Ptr<::demo::IContact> __vwsn_ctor_parameter_Contact); + ~NewContactWindow(); + }; + + class NewFolderWindowConstructor : public ::vl::Object, public ::vl::reflection::Description + { + friend class ::vl_workflow_global::__vwsnc19_Demo_demo_NewFolderWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; + friend class ::vl_workflow_global::__vwsnc20_Demo_demo_NewFolderWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener; + friend struct ::vl_workflow_global::__vwsnf26_Demo_demo_NewFolderWindowConstructor___vwsn_initialize_instance__; + friend struct ::vl_workflow_global::__vwsnf27_Demo_demo_NewFolderWindowConstructor___vwsn_initialize_instance__; + friend struct ::vl_workflow_global::__vwsnf28_Demo_demo_NewFolderWindowConstructor___vwsn_initialize_instance__; +#ifndef VCZH_DEBUG_NO_REFLECTION + friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; +#endif + protected: + ::demo::NewFolderWindow* self = static_cast<::demo::NewFolderWindow*>(nullptr); + ::vl::presentation::controls::GuiDocumentLabel* textBoxName = 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::GuiLabel* __vwsn_precompile_2 = static_cast<::vl::presentation::controls::GuiLabel*>(nullptr); + ::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); + void __vwsn_initialize_instance_(::demo::NewFolderWindow* __vwsn_this_, ::vl::presentation::GuiResourcePathResolver* __vwsn_resolver_); + public: + NewFolderWindowConstructor(); + }; + + class NewFolderWindow : public ::vl::presentation::controls::GuiWindow, public ::demo::NewFolderWindowConstructor, public ::vl::reflection::Description + { + friend class ::demo::NewFolderWindowConstructor; + friend class ::vl_workflow_global::__vwsnc19_Demo_demo_NewFolderWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; + friend class ::vl_workflow_global::__vwsnc20_Demo_demo_NewFolderWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener; + friend struct ::vl_workflow_global::__vwsnf26_Demo_demo_NewFolderWindowConstructor___vwsn_initialize_instance__; + friend struct ::vl_workflow_global::__vwsnf27_Demo_demo_NewFolderWindowConstructor___vwsn_initialize_instance__; + friend struct ::vl_workflow_global::__vwsnf28_Demo_demo_NewFolderWindowConstructor___vwsn_initialize_instance__; +#ifndef VCZH_DEBUG_NO_REFLECTION + friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; +#endif + protected: + ::vl::WString folderName = ::vl::WString(L"", false); + public: + ::vl::Event FolderNameChanged; + ::vl::WString GetFolderName(); + void SetFolderName(const ::vl::WString& value); + bool Ready = true; + NewFolderWindow(); + ~NewFolderWindow(); + }; + + class IContact : public virtual ::vl::reflection::IDescriptable, public ::vl::reflection::Description + { +#ifndef VCZH_DEBUG_NO_REFLECTION + friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; +#endif public: virtual ::vl::WString GetName() = 0; - virtual vl::Ptr<::vl::presentation::GuiImageData> GetBigImage() = 0; - virtual vl::Ptr<::vl::presentation::GuiImageData> GetSmallImage() = 0; + virtual ::vl::Ptr<::vl::presentation::GuiImageData> GetBigImage() = 0; + virtual ::vl::Ptr<::vl::presentation::GuiImageData> GetSmallImage() = 0; virtual ::vl::DateTime GetBirthday() = 0; virtual ::vl::WString GetBirthdayText() = 0; virtual ::vl::WString GetPhone() = 0; virtual ::vl::WString GetAddress() = 0; - virtual void Update(::vl::WString name, ::vl::DateTime birthday, ::vl::WString phone, ::vl::WString address) = 0; + virtual void Update(const ::vl::WString& name, ::vl::DateTime birthday, const ::vl::WString& phone, const ::vl::WString& address) = 0; }; - class ICategory : public virtual ::vl::reflection::IDescriptable, public vl::reflection::Description + class ICategory : public virtual ::vl::reflection::IDescriptable, public ::vl::reflection::Description { +#ifndef VCZH_DEBUG_NO_REFLECTION + friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; +#endif public: virtual ::demo::ICategory* GetParent() = 0; virtual ::vl::WString GetName() = 0; - virtual vl::Ptr<::vl::presentation::GuiImageData> GetImage() = 0; - virtual vl::Ptr<::vl::reflection::description::IValueObservableList> GetFolders() = 0; - virtual vl::Ptr<::vl::reflection::description::IValueObservableList> GetContacts() = 0; + virtual ::vl::Ptr<::vl::presentation::GuiImageData> GetImage() = 0; + virtual ::vl::Ptr<::vl::reflection::description::IValueObservableList> GetFolders() = 0; + virtual ::vl::Ptr<::vl::reflection::description::IValueObservableList> GetContacts() = 0; }; - class IViewModel : public virtual ::vl::reflection::IDescriptable, public vl::reflection::Description + class IViewModel : public virtual ::vl::reflection::IDescriptable, public ::vl::reflection::Description { +#ifndef VCZH_DEBUG_NO_REFLECTION + friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; +#endif public: - virtual vl::Ptr<::demo::ICategory> GetRootCategory() = 0; - virtual vl::Ptr<::demo::ICategory> GetSelectedCategory() = 0; - virtual void SetSelectedCategory(vl::Ptr<::demo::ICategory> value) = 0; - vl::Event SelectedCategoryChanged; - virtual vl::Ptr<::demo::IContact> GetSelectedContact() = 0; - virtual void SetSelectedContact(vl::Ptr<::demo::IContact> value) = 0; - vl::Event SelectedContactChanged; - virtual void AddCategory(::vl::WString name) = 0; + virtual ::vl::Ptr<::demo::ICategory> GetRootCategory() = 0; + virtual ::vl::Ptr<::demo::ICategory> GetSelectedCategory() = 0; + virtual void SetSelectedCategory(::vl::Ptr<::demo::ICategory> value) = 0; + ::vl::Event SelectedCategoryChanged; + virtual ::vl::Ptr<::demo::IContact> GetSelectedContact() = 0; + virtual void SetSelectedContact(::vl::Ptr<::demo::IContact> value) = 0; + ::vl::Event SelectedContactChanged; + virtual void AddCategory(const ::vl::WString& name) = 0; virtual void RemoveCategory() = 0; - virtual vl::Ptr<::demo::IContact> CreateContact() = 0; - virtual void AddContact(vl::Ptr<::demo::IContact> contact) = 0; + virtual ::vl::Ptr<::demo::IContact> CreateContact() = 0; + virtual void AddContact(::vl::Ptr<::demo::IContact> contact) = 0; virtual void RemoveContact() = 0; }; - template - class MainWindow_ : public ::vl::presentation::controls::GuiWindow, public vl::presentation::GuiInstancePartialClass, public vl::reflection::Description - { - friend struct vl::reflection::description::CustomTypeDescriptorSelector; - private: - vl::Ptr ViewModel_; - protected: - ::vl::presentation::controls::GuiToolstripCommand* commandBigIcon; - ::vl::presentation::controls::GuiToolstripCommand* commandDeleteContact; - ::vl::presentation::controls::GuiToolstripCommand* commandDeleteFolder; - ::vl::presentation::controls::GuiToolstripCommand* commandDetail; - ::vl::presentation::controls::GuiToolstripCommand* commandEditContact; - ::vl::presentation::controls::GuiToolstripCommand* commandInformation; - ::vl::presentation::controls::GuiToolstripCommand* commandList; - ::vl::presentation::controls::GuiToolstripCommand* commandNewContact; - ::vl::presentation::controls::GuiToolstripCommand* commandNewFolder; - ::vl::presentation::controls::GuiToolstripCommand* commandSmallIcon; - ::vl::presentation::controls::GuiToolstripCommand* commandTile; - ::vl::presentation::controls::GuiBindableListView* listViewContacts; - ::vl::presentation::controls::GuiWindow* self; - ::vl::presentation::controls::GuiBindableTreeView* treeViewFolders; - - void InitializeComponents(vl::Ptr ViewModel) - { - ViewModel_ = ViewModel; - if (InitializeFromResource()) - { - GUI_INSTANCE_REFERENCE(commandBigIcon); - GUI_INSTANCE_REFERENCE(commandDeleteContact); - GUI_INSTANCE_REFERENCE(commandDeleteFolder); - GUI_INSTANCE_REFERENCE(commandDetail); - GUI_INSTANCE_REFERENCE(commandEditContact); - GUI_INSTANCE_REFERENCE(commandInformation); - GUI_INSTANCE_REFERENCE(commandList); - GUI_INSTANCE_REFERENCE(commandNewContact); - GUI_INSTANCE_REFERENCE(commandNewFolder); - GUI_INSTANCE_REFERENCE(commandSmallIcon); - GUI_INSTANCE_REFERENCE(commandTile); - GUI_INSTANCE_REFERENCE(listViewContacts); - GUI_INSTANCE_REFERENCE(self); - GUI_INSTANCE_REFERENCE(treeViewFolders); - } - else - { - ViewModel_ = 0; - } - } - public: - MainWindow_() - :vl::presentation::GuiInstancePartialClass<::vl::presentation::controls::GuiWindow>(L"demo::MainWindow") - ,::vl::presentation::controls::GuiWindow(vl::presentation::theme::GetCurrentTheme()->CreateWindowStyle()) - ,commandBigIcon(0) - ,commandDeleteContact(0) - ,commandDeleteFolder(0) - ,commandDetail(0) - ,commandEditContact(0) - ,commandInformation(0) - ,commandList(0) - ,commandNewContact(0) - ,commandNewFolder(0) - ,commandSmallIcon(0) - ,commandTile(0) - ,listViewContacts(0) - ,self(0) - ,treeViewFolders(0) - { - } - - vl::Ptr GetViewModel() - { - return ViewModel_; - } - }; - - template - class NewContactWindow_ : public ::vl::presentation::controls::GuiWindow, public vl::presentation::GuiInstancePartialClass, public vl::reflection::Description - { - friend struct vl::reflection::description::CustomTypeDescriptorSelector; - private: - vl::Ptr Contact_; - bool ForEdit_; - bool Ready_; - protected: - ::vl::presentation::controls::GuiDatePicker* datePickerBirthday; - ::vl::presentation::controls::GuiWindow* self; - ::vl::presentation::controls::GuiDocumentLabel* textBoxAddress; - ::vl::presentation::controls::GuiDocumentLabel* textBoxName; - ::vl::presentation::controls::GuiDocumentLabel* textBoxPhone; - - void InitializeComponents(vl::Ptr Contact) - { - Contact_ = Contact; - if (InitializeFromResource()) - { - GUI_INSTANCE_REFERENCE(datePickerBirthday); - GUI_INSTANCE_REFERENCE(self); - GUI_INSTANCE_REFERENCE(textBoxAddress); - GUI_INSTANCE_REFERENCE(textBoxName); - GUI_INSTANCE_REFERENCE(textBoxPhone); - } - else - { - Contact_ = 0; - } - } - public: - NewContactWindow_() - :vl::presentation::GuiInstancePartialClass<::vl::presentation::controls::GuiWindow>(L"demo::NewContactWindow") - ,::vl::presentation::controls::GuiWindow(vl::presentation::theme::GetCurrentTheme()->CreateWindowStyle()) - ,datePickerBirthday(0) - ,self(0) - ,textBoxAddress(0) - ,textBoxName(0) - ,textBoxPhone(0) - { - this->ForEdit_ = vl::reflection::description::UnboxValue( - []() - { - vl::reflection::description::Value value; - vl::reflection::description::GetTypeDescriptor()->GetSerializableType()->Deserialize(L"false", value); - return value; - }()); - this->Ready_ = vl::reflection::description::UnboxValue( - []() - { - vl::reflection::description::Value value; - vl::reflection::description::GetTypeDescriptor()->GetSerializableType()->Deserialize(L"true", value); - return value; - }()); - } - - vl::Ptr GetContact() - { - return Contact_; - } - - vl::Event ForEditChanged; - - bool GetForEdit() - { - return ForEdit_; - } - - void SetForEdit(bool value) - { - ForEdit_ = value; - ForEditChanged(); - } - - vl::Event ReadyChanged; - - bool GetReady() - { - return Ready_; - } - - void SetReady(bool value) - { - Ready_ = value; - ReadyChanged(); - } - }; - - template - class NewFolderWindow_ : public ::vl::presentation::controls::GuiWindow, public vl::presentation::GuiInstancePartialClass, public vl::reflection::Description - { - friend struct vl::reflection::description::CustomTypeDescriptorSelector; - private: - ::vl::WString FolderName_; - bool Ready_; - protected: - ::vl::presentation::controls::GuiWindow* self; - ::vl::presentation::controls::GuiDocumentLabel* textBoxName; - - void InitializeComponents() - { - if (InitializeFromResource()) - { - GUI_INSTANCE_REFERENCE(self); - GUI_INSTANCE_REFERENCE(textBoxName); - } - else - { - } - } - public: - NewFolderWindow_() - :vl::presentation::GuiInstancePartialClass<::vl::presentation::controls::GuiWindow>(L"demo::NewFolderWindow") - ,::vl::presentation::controls::GuiWindow(vl::presentation::theme::GetCurrentTheme()->CreateWindowStyle()) - ,self(0) - ,textBoxName(0) - { - this->FolderName_ = vl::reflection::description::UnboxValue<::vl::WString>( - []() - { - vl::reflection::description::Value value; - vl::reflection::description::GetTypeDescriptor<::vl::WString>()->GetSerializableType()->Deserialize(L"", value); - return value; - }()); - this->Ready_ = vl::reflection::description::UnboxValue( - []() - { - vl::reflection::description::Value value; - vl::reflection::description::GetTypeDescriptor()->GetSerializableType()->Deserialize(L"true", value); - return value; - }()); - } - - vl::Event FolderNameChanged; - - ::vl::WString GetFolderName() - { - return FolderName_; - } - - void SetFolderName(::vl::WString value) - { - FolderName_ = value; - FolderNameChanged(); - } - - vl::Event ReadyChanged; - - bool GetReady() - { - return Ready_; - } - - void SetReady(bool value) - { - Ready_ = value; - ReadyChanged(); - } - }; - } -namespace vl +/*********************************************************************** +Global Variables and Functions +***********************************************************************/ + +namespace vl_workflow_global { - namespace reflection + class Demo { - namespace description - { - DECL_TYPE_INFO(demo::ICategory) - DECL_TYPE_INFO(demo::IContact) - DECL_TYPE_INFO(demo::IViewModel) - DECL_TYPE_INFO(demo::MainWindow) - DECL_TYPE_INFO(demo::NewContactWindow) - DECL_TYPE_INFO(demo::NewFolderWindow) - - } - } -} -namespace demo -{ - class NewContactWindow : public demo::NewContactWindow_ - { - friend class demo::NewContactWindow_; - friend struct vl::reflection::description::CustomTypeDescriptorSelector; - protected: - - // #region CLASS_MEMBER_GUIEVENT_HANDLER (DO NOT PUT OTHER CONTENT IN THIS #region.) - void OnCreate(); - void OnDestroy(); - // #endregion CLASS_MEMBER_GUIEVENT_HANDLER public: - NewContactWindow(vl::Ptr Contact); - ~NewContactWindow(); + + static Demo& Instance(); }; } - -namespace demo -{ - class NewFolderWindow : public demo::NewFolderWindow_ - { - friend class demo::NewFolderWindow_; - friend struct vl::reflection::description::CustomTypeDescriptorSelector; - protected: - - // #region CLASS_MEMBER_GUIEVENT_HANDLER (DO NOT PUT OTHER CONTENT IN THIS #region.) - void OnCreate(); - void OnDestroy(); - // #endregion CLASS_MEMBER_GUIEVENT_HANDLER - public: - NewFolderWindow(); - ~NewFolderWindow(); - }; -} - - +#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_Controls/AddressBook/UI/Source/MainWindow.cpp b/Tutorial/GacUI_Controls/AddressBook/UI/Source/MainWindow.cpp index 94f4ee0c..66a60e6e 100644 --- a/Tutorial/GacUI_Controls/AddressBook/UI/Source/MainWindow.cpp +++ b/Tutorial/GacUI_Controls/AddressBook/UI/Source/MainWindow.cpp @@ -1,89 +1,123 @@ -/*********************************************************************** -Vczh Library++ 3.0 -Developer: Zihan Chen(vczh) -GacUI::MainWindow +/*********************************************************************** +!!!!!! DO NOT MODIFY !!!!!! -This file is generated by: Vczh GacUI Resource Code Generator +GacGen.exe Resource.xml + +This file is generated by Workflow compiler +https://github.com/vczh-libraries ***********************************************************************/ -#define GAC_HEADER_USE_NAMESPACE #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 + +#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 { - // #region CLASS_MEMBER_GUIEVENT_HANDLER (DO NOT PUT OTHER CONTENT IN THIS #region.) + void MainWindow::ClearViewSelection() + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->commandBigIcon)->SetSelected(false); + ::vl::__vwsn::This(::vl::__vwsn::This(this)->commandSmallIcon)->SetSelected(false); + ::vl::__vwsn::This(::vl::__vwsn::This(this)->commandList)->SetSelected(false); + ::vl::__vwsn::This(::vl::__vwsn::This(this)->commandDetail)->SetSelected(false); + ::vl::__vwsn::This(::vl::__vwsn::This(this)->commandTile)->SetSelected(false); + ::vl::__vwsn::This(::vl::__vwsn::This(this)->commandInformation)->SetSelected(false); + } - void MainWindow::commandBigIcon_Executed(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs& arguments) + ::vl::Ptr<::demo::IViewModel> MainWindow::GetViewModel() + { + return ::vl::__vwsn::This(this)->__vwsn_parameter_ViewModel; + } + + USERIMPL(/* ::demo::MainWindow */) + void MainWindow::commandBigIcon_Executed(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) { ClearViewSelection(); commandBigIcon->SetSelected(true); - listViewContacts->ChangeItemStyle(new list::ListViewBigIconContentProvider); + listViewContacts->ChangeItemStyle(new vl::presentation::controls::list::ListViewBigIconContentProvider); } - void MainWindow::commandDetail_Executed(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs& arguments) + USERIMPL(/* ::demo::MainWindow */) + void MainWindow::commandSmallIcon_Executed(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) { ClearViewSelection(); - commandDetail->SetSelected(true); - listViewContacts->ChangeItemStyle(new list::ListViewDetailContentProvider); + commandBigIcon->SetSelected(true); + listViewContacts->ChangeItemStyle(new vl::presentation::controls::list::ListViewSmallIconContentProvider); } - void MainWindow::commandInformation_Executed(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs& arguments) + USERIMPL(/* ::demo::MainWindow */) + void MainWindow::commandList_Executed(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) { ClearViewSelection(); - commandInformation->SetSelected(true); - listViewContacts->ChangeItemStyle(new list::ListViewInformationContentProvider); + commandBigIcon->SetSelected(true); + listViewContacts->ChangeItemStyle(new vl::presentation::controls::list::ListViewListContentProvider); } - void MainWindow::commandList_Executed(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs& arguments) + USERIMPL(/* ::demo::MainWindow */) + void MainWindow::commandDetail_Executed(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) { ClearViewSelection(); - commandList->SetSelected(true); - listViewContacts->ChangeItemStyle(new list::ListViewListContentProvider); + commandBigIcon->SetSelected(true); + listViewContacts->ChangeItemStyle(new vl::presentation::controls::list::ListViewDetailContentProvider); } - void MainWindow::commandSmallIcon_Executed(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs& arguments) + USERIMPL(/* ::demo::MainWindow */) + void MainWindow::commandTile_Executed(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) { ClearViewSelection(); - commandSmallIcon->SetSelected(true); - listViewContacts->ChangeItemStyle(new list::ListViewSmallIconContentProvider); + commandBigIcon->SetSelected(true); + listViewContacts->ChangeItemStyle(new vl::presentation::controls::list::ListViewTileContentProvider); } - void MainWindow::commandTile_Executed(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs& arguments) + USERIMPL(/* ::demo::MainWindow */) + void MainWindow::commandInformation_Executed(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) { ClearViewSelection(); - commandTile->SetSelected(true); - listViewContacts->ChangeItemStyle(new list::ListViewTileContentProvider); + commandBigIcon->SetSelected(true); + listViewContacts->ChangeItemStyle(new vl::presentation::controls::list::ListViewInformationContentProvider); } - void MainWindow::OnCreate() + MainWindow::MainWindow(::vl::Ptr<::demo::IViewModel> __vwsn_ctor_parameter_ViewModel) + : ::vl::presentation::controls::GuiWindow(::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateWindowStyle()) { - } - - void MainWindow::OnDestroy() - { - } - - // #endregion CLASS_MEMBER_GUIEVENT_HANDLER - - void MainWindow::ClearViewSelection() - { - commandBigIcon->SetSelected(false); - commandSmallIcon->SetSelected(false); - commandList->SetSelected(false); - commandDetail->SetSelected(false); - commandTile->SetSelected(false); - commandInformation->SetSelected(false); - } - - MainWindow::MainWindow(vl::Ptr ViewModel) - { - InitializeComponents(ViewModel); - OnCreate(); + (::vl::__vwsn::This(this)->__vwsn_parameter_ViewModel = __vwsn_ctor_parameter_ViewModel); + 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)->__vwsn_initialize_instance_(this, ::vl::__vwsn::Ensure(static_cast<::vl::presentation::GuiResourcePathResolver*>(__vwsn_resolver_.Obj()))); } MainWindow::~MainWindow() { - OnDestroy(); - ClearSubscriptions(); + ::vl::__vwsn::This(this)->ClearSubscriptions(); } + } +#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_Controls/AddressBook/UI/Source/MainWindow.h b/Tutorial/GacUI_Controls/AddressBook/UI/Source/MainWindow.h index b4e6a84c..3889baf8 100644 --- a/Tutorial/GacUI_Controls/AddressBook/UI/Source/MainWindow.h +++ b/Tutorial/GacUI_Controls/AddressBook/UI/Source/MainWindow.h @@ -1,40 +1,97 @@ -/*********************************************************************** -Vczh Library++ 3.0 -Developer: Zihan Chen(vczh) -GacUI::MainWindow +/*********************************************************************** +!!!!!! DO NOT MODIFY !!!!!! -This file is generated by: Vczh GacUI Resource Code Generator +GacGen.exe Resource.xml + +This file is generated by Workflow compiler +https://github.com/vczh-libraries ***********************************************************************/ -#ifndef VCZH_GACUI_RESOURCE_CODE_GENERATOR_Demo_MainWindow -#define VCZH_GACUI_RESOURCE_CODE_GENERATOR_Demo_MainWindow +#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 demo::MainWindow_ + class MainWindow : public ::vl::presentation::controls::GuiWindow, public ::demo::MainWindowConstructor, public ::vl::reflection::Description { - friend class demo::MainWindow_; - friend struct vl::reflection::description::CustomTypeDescriptorSelector; - protected: - - // #region CLASS_MEMBER_GUIEVENT_HANDLER (DO NOT PUT OTHER CONTENT IN THIS #region.) - void commandBigIcon_Executed(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs& arguments); - void commandDetail_Executed(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs& arguments); - void commandInformation_Executed(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs& arguments); - void commandList_Executed(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs& arguments); - void commandSmallIcon_Executed(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs& arguments); - void commandTile_Executed(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs& arguments); - void OnCreate(); - void OnDestroy(); - // #endregion CLASS_MEMBER_GUIEVENT_HANDLER - - void ClearViewSelection(); + friend class ::demo::MainWindowConstructor; + friend class ::vl_workflow_global::__vwsnc10_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener; + friend class ::vl_workflow_global::__vwsnc11_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; + friend class ::vl_workflow_global::__vwsnc12_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener; + friend class ::vl_workflow_global::__vwsnc13_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; + friend class ::vl_workflow_global::__vwsnc14_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener; + friend class ::vl_workflow_global::__vwsnc15_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; + friend class ::vl_workflow_global::__vwsnc16_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener; + friend class ::vl_workflow_global::__vwsnc1_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; + friend class ::vl_workflow_global::__vwsnc2_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener; + friend class ::vl_workflow_global::__vwsnc3_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; + friend class ::vl_workflow_global::__vwsnc4_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener; + friend class ::vl_workflow_global::__vwsnc5_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; + friend class ::vl_workflow_global::__vwsnc6_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener; + friend class ::vl_workflow_global::__vwsnc7_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; + friend class ::vl_workflow_global::__vwsnc8_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener; + friend class ::vl_workflow_global::__vwsnc9_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; + friend struct ::vl_workflow_global::__vwsnf10_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; + friend struct ::vl_workflow_global::__vwsnf11_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___; + friend struct ::vl_workflow_global::__vwsnf12_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; + friend struct ::vl_workflow_global::__vwsnf13_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; + friend struct ::vl_workflow_global::__vwsnf1_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; + friend struct ::vl_workflow_global::__vwsnf20_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; + friend struct ::vl_workflow_global::__vwsnf21_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; + friend struct ::vl_workflow_global::__vwsnf22_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; + friend struct ::vl_workflow_global::__vwsnf2_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; + friend struct ::vl_workflow_global::__vwsnf3_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___; + friend struct ::vl_workflow_global::__vwsnf4_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; + friend struct ::vl_workflow_global::__vwsnf5_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; + friend struct ::vl_workflow_global::__vwsnf6_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; + friend struct ::vl_workflow_global::__vwsnf7_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; + friend struct ::vl_workflow_global::__vwsnf8_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___; + friend struct ::vl_workflow_global::__vwsnf9_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; + friend struct ::vl_workflow_global::__vwsno14_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; + friend struct ::vl_workflow_global::__vwsno15_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; + friend struct ::vl_workflow_global::__vwsno16_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; + friend struct ::vl_workflow_global::__vwsno17_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; + friend struct ::vl_workflow_global::__vwsno18_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; + friend struct ::vl_workflow_global::__vwsno19_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__; +#ifndef VCZH_DEBUG_NO_REFLECTION + friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; +#endif public: - MainWindow(vl::Ptr ViewModel); + void ClearViewSelection(); + ::vl::Ptr<::demo::IViewModel> __vwsn_parameter_ViewModel = ::vl::Ptr<::demo::IViewModel>(); + ::vl::Ptr<::demo::IViewModel> GetViewModel(); + protected: + void commandBigIcon_Executed(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments); + void commandSmallIcon_Executed(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments); + void commandList_Executed(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments); + void commandDetail_Executed(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments); + void commandTile_Executed(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments); + void commandInformation_Executed(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments); + public: + MainWindow(::vl::Ptr<::demo::IViewModel> __vwsn_ctor_parameter_ViewModel); ~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_Controls/TextEditor/TextEditor.vcxproj b/Tutorial/GacUI_Controls/TextEditor/TextEditor.vcxproj index fb16e928..1f20d7d5 100644 --- a/Tutorial/GacUI_Controls/TextEditor/TextEditor.vcxproj +++ b/Tutorial/GacUI_Controls/TextEditor/TextEditor.vcxproj @@ -53,7 +53,7 @@ Level3 Disabled - WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) + WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions);VCZH_DEBUG_NO_REFLECTION true @@ -69,7 +69,7 @@ MaxSpeed true true - WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) + WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions);VCZH_DEBUG_NO_REFLECTION true @@ -85,11 +85,6 @@ - - - {8018d622-66ba-4e65-9d03-bdac37ea9a54} - - @@ -118,6 +113,11 @@ + + + {96c559ca-9718-4bec-a053-28a0ab6a8ca2} + + diff --git a/Tutorial/GacUI_Controls/TextEditor/UI/Resource.xml b/Tutorial/GacUI_Controls/TextEditor/UI/Resource.xml index 77de88bd..2b002c95 100644 --- a/Tutorial/GacUI_Controls/TextEditor/UI/Resource.xml +++ b/Tutorial/GacUI_Controls/TextEditor/UI/Resource.xml @@ -2,14 +2,10 @@ - Source - GacUIReflection.h + Source + ..\..\UIRes\TextEditor.bin + GacUI.h Demo - - - - ..\..\UIRes - TextEditor.bin Images\Folder.xml diff --git a/Tutorial/GacUI_Controls/UIRes/AddressBook.bin b/Tutorial/GacUI_Controls/UIRes/AddressBook.bin index 09356c4ab3de647b019ce2c2bbf492c78b06ccdc..2d96895c1867c22ecd69dc0dc5092a5807f641b2 100644 GIT binary patch delta 173 zcmbPtweqzRBkM%Q%!zdd(=&?rL?#{*o^G&PhG()Qqs-(LQ9KHM`9-;jIi7jRIi)G7 z>o*7zCvj=a&{Gr%FTRLA0J;3=oBS0_9>HQ&Ngji;JD|^RxAm pGV>TGAM_KJ4+d*-%g;$kEnAo8_5~@^e6?7yu*6Er$RA literal 1993374 zcmeF42YeOP*7gsGjgEpMO0UvPLPx;RyV7i+V1xjXkYEy;y&(49yJGL6f&~j=y%sE3 zv0?AMUkl%v%z92Hf3iI|%)M{C-|%~1cjj61thM%9Ywy{6%DG!4{C`^n+VNA1^5&FO zGsJ5rX6=`0Sh+xmy|FwZjXFOL7XP=GHOHYX|1%6c_KFGdp)&?$pAfX~EO? zE-acgJ-=|iot==ang)37(4475a|;F*7EI5Zq4TQRADac*fpg}FUd7-o1MTpFsrhrK z<<>LEYm=Jy96m00dVcQIlDxu#&NIc69X*XJagD#hc54oKX(dZ$m52i0cuAKgEZSbBPm z-*ddO+Ir5geTx%`+K+huU*(Cy>!&5b{=*0LpU`uUsRtyEDSYR_KiY18><`D*np0HN zVuxdYxU%6l@BZ<``cE28%jo>=*v&3knc1UJjbl4EKl7rdW0st`MwU6l*=sXq0`9WUy>&*!5j-njK;AH4nhz3YE1 zuD$-l@7{m(;F~+{^u*YD^H#id>D5QK`nuVVZ9aWr?ps?nSU2Xj=DRjK?Av?aZvEEB zCv0~5PCMOm$Dl{{+Hafp&cFECA^qz<*|6n1KkxhKB_}2YFHOiz^cmTE%5ASUs(t*# zj@zBIWZ2dx^lG`~mYutu+i>0Lv-jxN-M*-G&#fy)zqi*-tw*lB<*v;-EHAjb zL-M4X+Sk1Q_8)&c{HD$;kG}Yo^Lo@Bws!d&vq!htwp#Va-d%ak;)H zXMVSG(6n|RHm~`}h$Bv@oBia7HxFraUe=i>?On3@Pi<_!*t~=n%Rip2??wL^?kItOiqFKH3Zk+zv*&Po*{PQFCt&;KhJzMYl z>ar^ru4%aIih`BJAB}sl1|K%4wT%+fJtv(vupxreWZ2w!+ z-ydrBRjtPlUbIiYcAw|hm@}Zk{T0P8IE@U-&Ce~#-8?zyDi~E86}c*R`;oh5eBW7B z``2we{-EOBn!i@#qqc))Z$5kWf!SX?dgrp?<7OUu{COwslehEnw@kU^+$FE9y>WDl zCzoBk@cm9-3?6n;pN1d3cHzQZf1cibK+Si4?liCVq%*%f`OB7#PQ9=G7T>-7`U5)* zUD){c^Pj%vsp)qfxZc@4f_rRa6KI!uCeS6(>=HibRc5PVm<`LJlSoH0JOYZ6N$=NdwU$=RSCCxuLtoNmD z8b8r|+ok)Qa>xTse($pVF2m}6byU??lK6RhjXvk;-1_yk;GV=c+c)o`>5=?16NEty~h?kKR)Kuw}x!@*b}oaXkO*v;^(^F zGV{!8^S3|drTw3&IluXdReF6_<;V6TC)K&|qop68-o5AeUH|-Y>-E*nI$=z!2Yx%Q z){?1N&t11{%Zs@aoIQ9yPwf+YcO8|I(`_eS6uc7CYa( z{U_gSIl5Zn{`*f`dT{sl=l0A!`_(;$HvHkd7bfk0{W)DvTJ`Y2Q!d%B=*ZWO%m1$X zkO3#wz2&2A>+M{nL+x4Hef;s&SD$(Ks-F*kbmK9CwLSK;sWlF-QFDuXpP&2I zLx)~eYucFGzS*Pa$2X4{v-d;y9ewLQ&uu?(@7rHo`OObkRg|A#aSbWVpO#y+dQ*z) zC@ZctOKUyStnP8|Ha)pY!^b+j*6q}@yS=ynK99~Dc;Y#?e3EhSz=OAGe&+szpW6Gf zuljy^()hdTP5t8Nwg+54=AA{C7Pnb+RJFGc{bA`jc|BKMeb=3xFTUWNueMDzS~>CQ zT_4HF+HHEh_PN(&*PJzR*T&oD9lU1i#;Xdq`@KfV!jtZtu=>IdlRHh_c~Q>~j`U{B z4X#ze72)uL>4inJbG()9O&i(azrQHU_M(wol>PG4mv0?;AIwc+WEj95(Y`Pv8B-vh3ZS?^FG? ztPY9CidX-9*#Vc|G4aLReLo&}RPn7}Y@J>8_M5lqm(%II#9N8O&PePx;F9^D9y7I8 z_I3w$B)(DKJ=->Ug~-0mYI*Y zy{yg|Z@;wfJ2Pt!*y{Z13r~IKfghjSe#X78UiU?(Ri%q>UJSPO!kYZ&waEzjL$>-x z22iOlw{y7PQh!!v^#PeR7av+}M%$s!eY^X*diS5OX3gYB9y@faV~$<3>!Op--t+2b z8~)n-=yS$2dF`4(x{Hi5qk2{QI@m&j$Me4ZE&; z_>OnYt@2n-#)}VRj~&d0PNCYR{z&<-!v8Dgiwcw5$w?wq_FP+nqB(I&8ywA|PcbV1g zd~FG@^<`z#i|h6xV`d+J>I;CFA*R3C}lUT27>xRyi zIo@YrNnugHoy<9}O*vA48SX`1jyLa#51tndwl7(3M&ub+ZUs9A;Fry;L9tR$jyd@PZ7;%#KX!3J& z3MwKEDx7;@er_;+A`QwZ$(@ilJ9is%!fPcPTrhWbZc$D$MSmep>aA~FuN8M(ZqBsA zg8YTvwK=#;mVB?mylKIl2~XZ~%Pq=H-X)x{a89m5>a}x{x1n;A_g=g;OYh#^4XeW9 zJnx{mckiKd^M)4X%$b=twRm8eAUQ(v3dZLhk~=DIcAih{Zk~E=8ifOM^YizZ<6HBU zmbw&-M0pLKrC=n=OGoDv&B!a*+3b65dHDt%Dzjfv_`I+ND_Y^(CKX6JkDUz|TG=fK?jUF=-1<+*Tvf;S)nGeb|KdTko&z{32w zvkS)0$;Uk87$yrPo1Ir$Tca&tY4>S1zL zotKxq7tzDCcy0L{lyljePd)m8oMJC8r4!rVR53cYV6LkY_B1cN*5yTh(uLl=<;d{l z+NPWrNw0!3FG$J3E+6}t0k3r#NX{vP3a2KQBLyYN8lPQQkh%o*?(N-J8(lapx1H(n z+KtdtT9X}(k{t&5lRc|vkYR-9bQ&GDShDVWyYXkNQ9G(RUB$+Buv zr2npqp05LPic0TXB;E5`my6{iGAP%(D~qIV!*2T=!3G_@0u0$|lL7SOQ zqiv)m~{GPMtxkDR*3T=uB%`f3uu*m@?{$QkJt0(^H)er%h{?vkuc+b=F~e zs(>g#}X^I@0pb?6-EEoIbI!Or-m z%FxAhhBws>7t4P={(8?N)AE8wy{)rX z)s~`S7df?y(8D*cEzZrK?jmRxlL+qOO6<;(A04N$Y*VVe8AltB<-?yw(6P?bzDUPv z8`z0nTk&2_do>PLO$w6BBG3EnKeU%its{bCHMpRdyorf{d#F7k_cOW)V7E^7L|roXm29Zp>&=y3YJrY@qSrthos^6EX>DgEbk zIQ{k2Rfo>BrVX%rFPFBf?!8>vu4XwMPUXhc)%0cPVmhlZtg%=9Jb zVmd1@Z9km_n5u;>t%kkUE`z#2aHtHjQxn0J%Cyv7-vP7>}fWig#C5%+kR;n_Bs|2HZ-wCDV1t0SpZ_Lc(Q_*xpO$CafQtIMqp`i2C zvO@z*!4848&(!40Af4vq6eT;9d>qQ$Bia@*R}qlR0@q&HYUv3tpRi z@uT#)RqETT?d&A4HP`(|C}o~&0Y&}NTh&yk;d%cd&!yID&GW#1q0D_{n{NFdyI(~3GV@yF#rHxKHEaJ*?uF=Dr@^il1mznm;djTqkd8*s5>)!M zO!M00X!h^Wlr9vtKA;6L<$;bh@q2AjllOw>!bC$mi%NJbB|&$_mvcueEiyGnNdx7= zwF>jvKJ#+&=jNs+(4gl@qrT_5+EHIRdpf@Yds;392U}Ud2hPkXn2|e8{wh(@r*P}$ zmCmDF{spJ$(jG;uU;XUL%ReQWEr~wA_4Obg!N?jc(B?*Re+D#?E$Hc8IT# zZGt_`cEM$!g*xJ?$Tfr%q^PFSzcJON9!V&$UK?10qwpDajh$3Ed6Q4sglAzSD|H-v z_EN_B>uEArG3H&cHUq;>wPEf0Ak#bpvjViN*4_2-ADC2w>4FJl?x${P?~P|kH&fa|0`=HygGT>Ho>;U=*Uuh0fe}g@TjvvtR6<>`?d7tW@>b)+ zYyXogLOo>;uG}>L=Ow?G8(8*nqkI-ci$||bQa1Qpi{}Tg9mz|=gyb`hzd9wUvZ7No zRe5bo@7aKKw6;Hj7sTWPl;G!mJT-WQ7?}K!wJ3OUvCi&fe`tT}wMqZ?N^WHGrsm}L z&!3;Ouz0V$;=JS+U*gD_;BqDDOldT|ug-LyR>481le$OeEJ%JpdPwru(FzynRJozM z0$!Uuby#6h-XY#wLlryXGLU?&od$HOCUvh(8t^_c4Y;ARy!dsiISobss!M(-X3itR(M+Gbz$k z6s#kE<(>L6N~i8>e+0LX$>{2nCY>g`&hB-!Go2@Bk_&F8y+N%HlswN;gG@Kvf|o!) z5;^|oPaB*WTw^5tAC-LQm0SANZ1N+o(whwGNw)ogaw-i>>G!-kQ9f++iNTyCopm@G zRF^!v!Y`mU$lT$%XzW-IfPL^79dqDDs zO>>KIP13ngJg#tladNIi@#^H7X31-lUL;TUf1yAQ$Xjm_;QjO32eh(pwD4kLPrb{4B2|aB0=`JeaR!Oh)D| zOzF_~aKY@`Zy4xj8e~q|g0V|#+sk_{kkThp!GSceC^s3qvY#Z8!tLyjplxsZ4g8P< zPepdemlV#KQ&v_x+v!S=*ZRiw-DT;w%~Gn(dpmjB6bg(oX^ zUR&OT_gfa}9n#mX-l$A2A}h49VXwVcB)n(P6`sDK|NhtZ6`s6dI!nL1t?=C7`o3IW zD~OLuAb4%}lInS$TM(Gdm8%UqIkc#7?i|KM({8Y|k^|JAJj&0!Z7uq$T(3=@IzF## zxXXBOVd3}8TVeX2F_#O4w!E0l`{(D)DDXanpHMg^CwWOvO&IbaIFie)fi)RAPter7 z!3nyRq#DyaxxtA#VUYb1oPm;~vfK-8IwyGbNuI-(`g9sbZStC){NlEl27?JmDhs}O zCq=;twfu}cz_bMuo>b!fc85NMmOY&sEF~}DrN0J|JI!@^a0n+gr%o^brAbA~gJ&n} z#rr6mz66yAeJQVepwYGtv`OXVYe^mibK|X|9F~I%DgPSfIx{#%{p#04C38pa1uZAt zv$In9mV?2n@Ek1PSDh8KYW|f!QCBc$L2Hh2o>0+swA|>^j26sNvSYeHj`n}YNIBJP zfl?eeH@W0Z4t?*pS9EG``(p#wG-|8b37UVsg@*UfYm+f6{X6-eX7)$0q>~PMzr&xL zLkHz0KU`1V;Yn4UhEX-6dF}3j+eqqfunqKgNKxVJ)KA@+iqvzSU{<~4`@Pm#dd3r+ zNh`jwZ441Mh>$eu&8@U2Y_v(eWxIo!@LGGnr-FC)>?GYs50-1P`(+Q$<*&4>=)Bgn zZ}1kZaYPATO^j0hB}hA8Pn&}?cydxHeU>FRbdED@6?G`7WWx^WnMPVof8~y>IhDxD z-_BxiXkeOB3QSj{q!FyBL&)~d99_O!q;exrYHxyUOJGx_k8T1y8c(^NKeqo z((0r}(YFah%1$&fpVDcw6=9Z-X7es>Bh@_9nUj!`u zjXqI>4kd3wO-)Xm$@@3DRt4v+{Nx@`cyM-1E+RD+HJN(t0-dWl&}$DYO#Wck?21lL z{d!8UFpKhL%uM}wN^r_e1>5^Me1D{9dJ4K+octD0xF&Y5HG1+T!t&hUO1oIwj~$KECnPIYB$YhkF_6PRLAmLY7XbAgbQ%F0splE;=C? z_MnSdDGRPMGE=>9ospI5hVzW{esoRiX}5G|WTrhMt9x12L)-<%a8o9`eF< zLNA@*3TS33Z7vmQ5|ruE?u=^4Q^*KS3A{bi5y(Dl=%02N;lw=2WLm`#-x7_Li=x><+|v&>}RFQ!F5KL zv|;X&wjQ$52Qlps?b1tqbk$TU53Uo^C%bz(8yV?NNafSzM9M@k;FfT^O_I(=k8~&W zOm{-2P6#>?yo6+?I_f+lZPvS_+z4LitgGI=p0rM+4QAS!=%QVOD;-_57!R%v{V#{o zx|b?AXN*!2aGsIsf$NN{Om%@{Tez!hDWdCyZs|1iNOwY7?=w>gaP==ULz|5aGayNt z6}L|N%T=>ZVibi3=hqDv!a6J6np@`uE8etuOS`lsRpIPVZeXU(Nk+P)r7hd6v?{XF z*+^UXS!q>tS1g08b&F+c!<06lsTvPvBrpfbNN|jl+g4~J9xSe8LQ-F2l7*b36zSj)x7`8#-&lF)K-$cn8&+ z?}5#plmyQTM8XzVn!4Eq;SLuh4hE+zqow!EWPc-0ajn~wf?&d}qp6**&Ivkd=Xl#| zIa|+nv(m%~O@lFTiz|TOIlw zas}j9;Cg6Y*?9kkpSoi!Kew~$Ji!3;^xtHu=ehtN(Wa*F##- zZ-Bg~32p+eN0s7*wYL;{vrXZhz;%h(RC`B5udcw)0iP^G)*b`7t{$fYSG|iKmKWB~ zsCmz$e^b;kYwO!J`!qXlX>BXusz1?pfL!zBj=(v;gtgZkdNbrN@GLoKZCHC%pjUOa z8}Qv>uPWrKv(16)`Yn1`URXb)=4GRQd#Gd9&N2BJcC2w$44l`MsCkFOUI+L&8FF1$ zjsV`VlJbs(pPk_6ttLOqaBVN{1J3o!m5^&ZtN_mOz65fOhiiayJcQ+i^)qVT{pcU- z>?@O>V|i$1ZA;r<2;b9iHDP&cVNZ443ikGrA!{oOuQmMK8-DI<^79ODVeL%dnGx}Z zLa)Zd2;jQADYH@Y@?ekGKbO6Oz~lA(a+6Ax}PJmw3=gYwNg}utc zdj)<@grC)IV|tO{s?VK(ca4bmi}@pas?Xnmvp%EdHAerq&vDsn0$z8-Wvt0BFev@Bjxa#v6;GAE=@@|A))#ok1S)Wn!o`pTm zgD!ik!Q;5C+Q<*&6^LgK;H;Ohyf4fj*;9S?ggxfHvhaGr&wVX!YG#{!3F3JKaON*8 zZxZyXJ|_cbeMZeY682bUE_+9T$9Z?T$*;C}wzBqf;LJl<-eu6M`uqa;L?ztX%EJ2+ zeolg)&F#kYwT5f{>QTUZ-95x`WpP@tkh*>kZfaf{THV zkBBz`dR3p70G|MRm4$aH{N%pz1(V-s{;NLU2EGgW7nb)B^r}8r0cU+i&3gy-GSEMl zy>;Mm-?)u^r*yOFYi8|G;LJl<-k;`=?5RG7!5-JUm4!DPesbM&xXEv|II2ER0nR*x z<;{X#)n@^4)@RhbQ(=$mYnQ##!0TdhQ?tV4w;N#PllTVs7!j-u%extRRiEDi9}9bx zh4&r&90xz!*p1RV3|D<-0Ph$PuRipuKDP(X`iz>F346Ss?6Q{yUT4H5$K-bzZik8U zfHMzad1Ihg^?5$<@$j><@GgL#T!(yR^5y3LAZxz|J{MgDiwoaWdml9OH7M^IMz6Wl%;Y3SB&8q?bxn6SFs|g<0OTA70oO#~CS{JSk_61M-gc-m!KZ-XB z^1de66ZjAjtPN{#8uaS9#&qCZpM|y86na%J9e}f5qUK!)dnX~DE_)Y&cQSZSoBVmh zm3J2|`fBhpP4EM7=HV^KvyJxwaL(6Z?R^Wqx?lM{aPA+%+PejMRWJ7fXT3ztYhy1; zDzEyEO8IlyYYQIhY#)=qV2V^PE?o8|fv0*o4)`PytUUiuLJzdfuF~l{AI(no;nfusEBx@p;z^JGVtADZ+FPG-kk_s^&om!URXb)=ADB6 z@%y8fO#Yg6xUIG8fNMRgxP;|B0KLlJzkqXoiJJE=>~X#8viBZ%T<_Lv?MG;>1xoca z9Jtnrif33}0(v#Si~!E{L}lTPgr8iW9c%J8El~Ph2N$k*E(ULB6S#2kP6V%`30$~% zr+}yDbuL`I+2CnBECkN+5H;^q*vpWE*1GJS2A{*UtdYuB5zY;b(vNS=Sa29~iFrpgVBR z^9>>IWqcPdvtjKugFW@bg>S08_OLh76uR(Dwbu>ybp3bXn`-ZCs|)2_^UHYnQ6fXu zegmG?<$nOzcosb@FRY(Y^CloJbJa0x7n%GcJ68YC0M7X=YTgpq>jOWFAlH0$74W{5 zly^1!><2$TGx;ZmYoAcJoev1-_5C~W6gL+xvtjN18}S08#}QA>XPw~3d>OL#3Gg(Zy#!q2S@f{Huzp6(>x{T8P{*vDYx2+S*rxZy zQNXoc5Pb^d%EQsXvqZ4=0LYbxeBj!jiyoF2*3YPU$Dn__Z?n|oUs{LN|IdJHy`Z>+ zi)apGSqG?d~Ja4`;P|B`)*-*wV_wzVGrPA<)F27AlG=< z5xD9>^sv0Jen!n3gZ}aT-K$Ohopo5_VGV_&gc1_87=Dj!py4aTJyp*3YPUpP+wS_v~&P zksmEigRLC{d??}>mbU}+Du3gE4~M-*kSl*}fHQw#d13vGnl~Q(8-ci7ZSr3X&#=~o zi+&w=nm=8*c#FVO{>}i-``%IWu7^GC@6!2s19*H6^s32!HANk)b>XtN7CgPr@C|V7 z@5K8Q^1dec8n~_-;)S($KlCbpPXcHDqUN=*z$(t1uU+<9g2(x6tjYgvfl~flxZ*hh zJmv2Q;JUtvHx+W_FCX|25v&bs?@;K~^T@-2b6pzD2?xp2kvBk*jQn{eUceF~l(CS169Ux26g1YEdy&w{7%@H%jghp2g9 z!d`|PwAN+sEATYWiQcu7|5w#2eyjHcrUK`C0#Wl8z+Rplw6-ba%ELn72Z8sZ$v3n9 zX`Hwr&-h<6I~s(2J~d$ri0U?ubluzqIIo*g^G3j4p%P&2=hhGTsl1N_Zw`1@nY@PePwU~^fgcE7 zA>_?Xz7#mGw_$mcp;!I8130hKm4$aF{N(k0^9(S`E_|=V#oHDi6(Ds@zncpX93rJ5|vw6-Z1FZzW8k5ysubUc;~=R?b8&OXHDJ| z_36UJdmcP{e3x+H;;jMCZo4F0xOlICmtg`IF5YtRG#(xS&i!B1yjNk*rVY87aM^ne zJUdMBn%KnA!t$qm+-Trj*G0{n3VXbdxi#dsQW?>YE66MnX`3A~NvLGyV>;C;YLK(4rS0?zed70BzE z-a5dW!d_TjSU;oYbw>ZV9z4qAJ6j$!k1Ph>196!Gx$n87LdB`yN+rYVgxfgQf;T_=JVedZ3m4_#RGY?^TVf~Dnw+{VdT~Dw8 z?_zlvZ*iLloX-Qo^6Eja^0yywzIU+=Zr3*S_G7s8&dJ1%@v?Tvvw&1ZK5=kvd@kZV4h3|!+`eum|R z^)qVTJ?P&8bvYEtZ|dCg&OSjv+B$EW6i{8Zk50?zvyQS(~B zPrf(mvey#45$NA6llQSa=>GKr;F{+|56hbXy^7}nzL?-|(3OhwZF!)5OS@L1O_-iP3^t~=QVdjRUX z7jU~Blkzrd-bmQvbD8ZRSN>W6Xa1t*je~a2d*}Don&P!`dKGfo=bwdriaUy)LR7LxLgylU9ds@%eguT6Cud?uJ z!Owl*=Ma+*M}4|*(T9Vl=Q1u_yiwrkxr_@JZx8S?OyI)B+XXz0hd#i$euFR9-qscZ}L%=KRuUu9QXtU#M-ENZ^9m*%Nzr_^6(aLK9}j-+jn@h^-ue%U4iqy zO;yP4=cE&TfbWO6gynr>{g9vPUtiec{hrFg>jyt4BQ6Cd-vjgRp}_e*O4PhFU@sef z?gzQ%>obA(ucW-Q;O7AN`LfB!S{^iy{05xYqqiWpa!t5!nGI|2L)cTiUHGQj`x^E} znnD-8srLR2ds=U}@J+RM7wl<%X=oo9s2)mW$l7J#>Hf8mLd_3l}y?}E*i<&nR_WHul9*}E3%LCr8lJX9MpSTzu&4XUE__q%Jq3GO_qgy)wf8dY?Q05M_@>%B1@<(beGh!T3|V_Bqh;u&3+03*S_GXTqMwnG4@kd&6K)u1!woe&q@e^6WsOrC4`%QS%t7w=&3v_Ep;;*ADR`I`v5u?W^i%`1XEKF@L4D+Z6x znU|P+y2Z1j`R~Hj&1=B3&u0@Wfb%)!U69*h;y&QIZfvT(#n7w#oeiA%i<~X$! z+4~AS&S#D7M!*c@&xI?V&A?OsMgZ6KO}t$oH}?`ff%ExoSbIaESN8{p1LwLtti3AG zt9q#oob?hl?=aXqSqZS#W$$qCP66*Wlh3qzQQlp+=y!mp{o0$r_Y=X|havB8_*1}n z{R?aFb?8<7z5#p^{0wXF4Cqz8Tne1^5;d=Ow%;M;^)&R)Wv>o+r-Qef$q%x6X=3vE zz%?#K56kNWz1oK_0M31XW#KJ^pPZNOFnPYkQ}>r#c*6cI1FwA=T)cb0(|ZCgT)Y+F zWthN)i+3@28V}b4=Xi*kcR%cDotVzg2f))jC*Ec@ffZW*^qxQ#aK0xHHE$^F@%QV# zvVO=<Dn6ibb{p_%;LV0y?+M%vJU1fVBX^X}Kc`CKh(UKM+AEo*29Z{PX%uv-IOqAWynCQm@q7$8*Sk^kUV^=js56(nPr%FGNZzO5^#^Yky8s=5@je+i$9vSg zg|Nr*-UxE#?-1Y|?`uqcB*yzX;8PKo%OTfze;4?)h<8)?jQ4@SIo`wa>O-&M*&H~>d(^xP*yDJ2*&762HtNj98w?)D`^hFh4&(hk;2iH! z^InEMj`w+xD}S#5=Xl@69uzLdc<%$8=1? zd+;Ni<2`C#7uY)(_3|S8RQ|exR|MX1CO_5sr~U0&!1)|uU&uAy&j!xtBw=|&p;!Go z2l)QzUuEH)3qL2r&reK#2FCl3z&YN-@*am?#d8gCj`yf}@4+6&yUX5B;AJD8F5b`J zalH4n7h=xFc+UsU@g6nrc-Z6hy&dGr-wD9yATIBk{2c3__U~T-=k@&-$Ti--2F~ky zSl-3ZtNwihoY(it!uu9}PDdUF*@ye*W4ws^ z<9K)R#)HT4exb=P!gzlYILCX`y!T;`<9!k2%HIdTIo|u)3kMftypI6R@xC?W8t)^4 zbG(P;{cQb^pX%Qz*yDJwEWFY1ljHpglV67MehYAp_prPppjYuc892v#)VzyekK^5C z?^f_Q-d()gz~gxT(d1WRytlF!FokoxN6p&}_Bh_x!B6Ec8$6Ep3r)TRf7b)&c&{wH8{j9$`|l>d2IGC}QT{?eILCWf-dfmGJU<4`@g6nr zC)ne7ciF3sxNy9?cs0P|cpq!>>oMMs0?zRsHSc2B<9P1_x$<`jaE|vMO@0H$d)3i? zoeAf7e;7QC_sziLcn{0F4ffQ(YOu%gURijX!%vR)eN28c#(OSsj`y&~-|ZF7;oRz3Jd_yt{Zaz~gwo#pJhPyuS&Y<2`EL&#=ewegWjl-!H&9-pASv zy4x|{Cj;krZw$G{`xM|D?_qg0pjZ7n0652cW#Q$(PmcGyOnxWE`@_IF-ox_Ff?mb* za^M{AQS)wvJ&t#my;b0Gyt{ahfXDH^^&b9IvmE2SCvcAUsCnaIkK_FZ>xcYQ{w9FO z@qUZR@5Xq)4>-sBLdZ4VR{-aD56hbYz3Sinz&YM43-1B=$?;xyj9+K>VZ1j6&hZ|W z_m%l0dy408z&YNd=2b`kINn|Mnt;dg?&38CkK=u&$se#hwDZ%Fm0ru>+bXq@81kY~IrFbuzd?oVm4shlnEbl((t!th<0i5xS znzs)2x~C%I|KYOtE_gk_t2fpMR#`mt-t2JTdR`-XSl)W`NA_x(!V$2i?;>QcvhYU2 zPkw*2$mEY&Jlk3aT)6soJb3L*;KIc_3A|1waN**e3SNc@T)23%!K-V6Lx6KUM9n)5 z_A=$5wJv+7gQxdbMSt1kPgwq1o1oe_{}16@*G0{11bYX`L2FmSPvv1p@MeKG-{enP z|MZ^!BH&zy41m0q={*kk4A=|H>kPf>-(ui1VXw0Aj)$Ll@H1gQK=Uul!#tDM2EGWq z%^^S34&g+#jtr`Lou) zUe=H2f$xg`h2>oXz4G&R;5)*ei}xaUeK(S~20X@dd%LhbkG!`5&b&v>%Yr@nSq*Z< zvkP$Mz0l+@AnykQXWql|hCr|U91EOzckznBW8Pi767U$$XH5Q*#YOvsSAh>;ok6bt zy#{+&!~C5 z5tk{5%Rwf8$MV<2RuH~Vt z`Tr|$&Vz42-p6<@T;U08?|saPB+8@~(tljfYo&4^DaL|FHyejfdNSb3BCQ zh4nLP-mB=}5X7aeJvjNq^0$l0I|A4BM)a*9R~|Y6?;>1)uF)o{Cx`K%EMv6xjs7pa^+z*aONQ_FRY(Y^A1P8)-H8R3jeSl$<~CqI7%&iigI zUJdxE`AXq&@oIvXA%eAiO#ZFKMRi{Uoa=(Hy!OzmbwM$3t_vy)uLOQ_UGSL6zqfd5 zUGOj9To;7pod>b@8_ z*9BpD9iUh1f)e0d7gQGBT=>a#!Q&>cQq|9l)&)-i=ei&)?|kT0ojn7b>w*g)*F1O) zaMgqAEG#dqpHcIkMgO=iXlxH^s#*Rt&RPQJzW-0tE1vSu3Ow$M*Mp}#)C7-t2+IrW zXVkpb=wA;Nn6w;q7-1qMVx$;l~ob&wNkSh<4|;{OUc&M|fIa#7 zHSitbr;E24{AB)IylUWOz+P9A*Rr^%?hgXabwOBO3+UClU>0z$3n~jQAAWLO@PNtd zSUj~Zco;a>1z~xoL9goU5#U@GoDR9>!ApRv9#l4Ad13vGn)fLB$8|yd$$n3_vHWSA z?F5|Hu^&yZc*;X#@Omnc*8T*Z@~|0rO(Noj^)qT-6ZEea`ZwL=4J;2@7Zd}{kzNL4J{8^7d!%->w>6xPs1M91y@3@ zygvh+>w<4gzJv8o>w-Ukb6pUY_YU;R&(DB!UEt#V2_DCTi?<#;j)!4W{6g5t;-c?U z_Xf^+Flt^N?D6}}49FGFzQ7x!uA}B11bg`y|=MBIa&!~B;V2}H0m%T^8V|_M1zz=N;i)UYpbZ6kqUs&D`=8xgFv@r;_c z9qe(wcG=qnJl3a+mjT|WMEQRUP2Sq_p!sDnaMpFyybEA&Xn8jiIgl%V1;ClVsCgH{ z-ms1I^CIv#f4*n(c9sXNv%Ut-_h!QKo`zn<^HtzGCCdMcn)eOtvCdrfz6Fo-(%>B5 z?+zBvF4m2)z;`oTO;}zF=v6#h1K(DLtc{x28}{05q`h(AWp5;JJb3-VTW0dkmIul2 z1XVGi)!WyspLkSm@C z0^b9?uzp@)db?Eh6>6N_3Y_!O<&bNhe-SwA>;%Xa?=`?#XP=q8YgOM*#pPGv+D|Gx zE?$+X{u$EOK?G~V@;-t;>fe=SuZQ_BTxP@avP^Gx)2li=75H2kvbH1Sisxy-=Ybd2 z&ks#+FY{CT-yeW${VcOjLoPpm1l~^sYoCF^;pNQGIRx)bs28fO8-2;+;_9>pRc% z>Hf6FZExt+_3A|Mwh_VF2TXpx>DB$;;dUXp!f@#m{hz|S1pQM#mI80Bj#=yCjX+$O z2N!Q7c+A6OlV6E=7XzoCF5Y3_>H4j1x_F0!$NkEqCcoPJ)IMkOLSOSz_%D0^6yB}q zpXy}_`p3L4H2EFY|Lv{gCjeKx6qm5PbD&rA$P(b$GGuKL51`Io23~}?%!gd@d(=HqP*mp&g&B>pM9U#?w2R;z?CO}@-d>uIJ+Qr)(_9h`N_d#!6lWzgue&97Wc{huT*2x`! zx7bKt7x1_bciBtF+W~sjzgrCNY5ohByJ30LOm7d<+sG7N2z(D2vUW1$iswbZ$AA~s z&(}3}=ea(O2ayKmRAk*8&^s3Gt2X41zWiBxda@E-rz~`qJ{vToeYvpKDixTz>8XoX>qXhg|#c2Ee%v3Cj!XXVkn5^e-Fv)BcC8_Rqp~EV^*EI#0Nc zW1b(0I4%{(A&$%6i_4idt_RxuseSl)z_T>)tab5LUFDx}iRr5cUJ3N-di4l++kp48 z$uBj%nI=E(8vl=L4VOOA|0%pz&_DI#bKtzLxOj^Z7v{mmJ03jd;Ube?hj`xxytNWw zt&4XLc-)7(c=v**>we1YwfnxCnC&hZWKR$RjJ>OyZ9Q`iK!_Pw(ACHz$Xnu5pY0WMxM@CM3|wa1wJev6CzSqywI zcqc+W%;e_+p8(zr$W@e^R;M|AbV)9k2GvF-|7Z>kQ@VE~T%ew)3)xRk> z`Hnqi{tK78VR=8Ay+=*2>TIOh6Fx_Vto<51)!8WU4hAo*pVye)C(O?b(|Z?i?x#t*|!eGO0B{HcBTPQbYjckzbY@9S$-&2PC6__xg?vZw3SQ1H0_JJjT@ zO>d@kyvBq6ADs=CJ`*SYDZGj3pZZY%R2#j z)xU$rmjG{xxVU&%gV!M<-igqw{`G&vH!$2$XJL6S zo4sMEvrcADcoF*d9C)g;&fpb;7uL@cP47taGt2Z|0K7l!&4OHhUI=^uc=?cPAATfo z)w}3nd13vGns*WUH&7k3R{I6E+Aj##vFO6t>OA2(j(L70;sgMIg4NQ{a*q9RWJV(-ahD`>g9O!k9oh+J20!1so|?IBlvHUrMOcJYRT zw-4-9fn4z%0eoNZa!kI`;!@w_g}_^EByT==tTUIrbiDncSN;3S@JGyl;c_=D?|Rd_ z%Jgad=>eaigoXnOO2?+SYZAeWy90q+CeK*+TZ9|N58QdnMCKcnW&LjU-? zcgsz_+VZfy#qAN`tq{+!yyu`d!}R_HoY%kqb>400zvhXbf$xJnxOl&Sw=Z}T-|&GK zEbm&sOa{*NOAh2(zZ3zdz1<+!`ehh!u3ucdV(=!Se>+32c$NU41m4Lef6?Ni`Q<|3 zoF`noE5YOXB`oiF=vDt3z3F%8W%FOSx*3-DqS<@N^foeuTbMoJyUUQZ&w!_RZVBEV z;Dz;bu<3op{M7noJaDdG20^a%%Y5LhvrdpJ-V1a)&;zI;Dz<`B-8t*`KkL57Xt4K zdvhR{pBDk|2j0PuYyEN*@KzD=!ulCC?_%_i??--Q@^zL6tzUiwuIr7$6P8!yZC``z z={{$B;2iJ&>%4amZ_N`O5SRUw0Bc>mj^OPN-f1R(-}0{Y%UQs=emNI%tzWJLJ^}WM zAy+*e2At~`7jFr8d&1uSkSm^70pAO}`%M0U#YOYWlfb!taq*r9kL#DPyyeiV{tbG^ z@6gBQzi@RkEU${`{mArc{gMHk-y{5Heu}4fW`Z|D4q6-5&qCAtiTSDZ%i+Meekp)l z>z6BmbN#Y6Ae?tPs7!m3%UHf4|p#TtUV8M ztzWJH-ZUa!SU;oYtw8^Jqkmhx>jU3e9<+X`3%q$myq%y|&u_DVkA=Peb>8}Q<@2C< zqCes?4smhu27osnysJ(AqvgH7$*%{_^~+6=YyEOBaIOnZgk0;Fvw(B`;^N&09`Dx` zL#}wP0M7eaFPi)(i;L!$b-=lPaq&I@kL#DPyw%XF{!M<*Pvo!Wzi_2LEN=(X`-|z- z`eg+0kuqfMwva2HBZ2d|Q&>MwG`;^eKec{2A2`=9CqSMSg8N7MTU>Z}-e5$db~t#$FX z0*~vLu)MF}r}}r8*{fmx3zxfLdA&?;bzCJn^ZrX%URXb)=6#R;aXr}YW4{2lvpi`1G7LD^bzylEpjY=_ z769k{m;ZHM5Akm@c3NqCdd`fUx4$uTAfdP#~N8&G`}&hv>$HYzPvz__zI&iLEo`Srs@%{kL z^~;@*E8c$s=XhxFsc)bu>Z}!Tu3ucdj^J_q5|&pFdey(xhPQCkSy^|W0 zEkA1ZhFo>F0{8+EtPSgD{m*;_t<291)7KLCZm{=@`6HhEYz1C6c)x2zarqgzdICibDb46?@ibn20yQcTzP*B_;B#9fn0gN6FBb|gyn_xGiu)3=-&v$W#=z^psVG* zy~%q4=Xejxs{_5tUvJ=?C+b43{51yN1pN!k3+rdpyj{^h&S#5F-UInNA2{O~mX{B` z%HIXR>E~?7mA^xPGk;-uVf~DncOm-6dG`a8_eTDH1|AjfDd<)HegWPOB3Dfp~`HwTE8iZya#0lRH4J{PhIR{DtL(^)qVT zc=V6!`O8e6jr`pLJSyHI=vDr11lIE zf4~XXzFxyHEN>m`DSw;8UN;%C_FeFlzpsEZe_?rH{fwHo1>(Z}!&s9KLH_m!9u=<# z^eTUofpfm@3Ayq&7&!A6mKWB~sCiS+KVDaEH2HAk?=IjRe_?rNK(F$*3^>Q%nUE`g zmjP$~!t%oU88vS?`p0opu1!w`iKkn0s6f^w)(wD;X2l3NjO`bCtSxd&yPeLmx|*M$K~(E>wJzR4hzs-J;>`k&c{sx4cOu?r1E-%Z-X-95M*m#AOTpU(Jk0}absZ6| zW6_1P)p^2o9P|80#Br%O4sl%mUR*x6alPE;7hR9O0nY1@i&tk`|N2m83xA|?9$XE* zns@7h$9Zs&$?KY4U60 z3hx5+PjR^gIOlm6Zye&nJh*t{!DAk#oBU|R`%vKY)5Ti^9VvJ$6|Uo$=SL!r zOT}@B;}XZki$FY2R9pvfT;jNR5zsuT){jaVuH(2~{75iPaa`iKco9%tsP&^#hU+-4 z7e5k=QyiB#E?xvw7i#^el;Jv#>&1@*;}pjwj*Axo)rDF=DrLBi<9hKU!8pZniR0o$ zKy{(kk4hP?o~3#KN5^n9G5sQUIbJZYW=8`;X01% z#g7Ez6vriwix&aag<3xvshE z0q6I(hnoB%>z{r%;Ar64)^9aod3!>y{5%%;02#9Oa+6Ou)xVE`^LyB^ys&;|%=3GC zx%ru49q$Ufs{&$eeaIEJZos>N*8uVcCT|72RYbh7en!pfj{bE={~jpuf%7d7dQWw@ z@vbmj?{|tGmUr!ZU&D2#SMOau0(^iBSsRvjA@piIJPLdu?7d_1>&;K`J^;>n$;JB> zJiedo;{6-EF7R`g1wL?t`6<0wz&Rem^14B9PxB{hq5sEih?m^`U*|PITpC)(8v$p% zxOiO@9pta9K-pugVfb(~d zqvrh#dqX$U&tJgf?|6pI!+(2z(SC@n_CvyTtndhDtMi2GIOh40h~rXm9OAgdaq%J$ z&l45bK^&JjE?xvQPpb8!Qikg|t`|QNj8hz!I4)iUR2ORfsFdM4j_bvb1mhIPC60?1 z0o8?CKPqLoj^ldqBf&Vuaf##NML>0-){jaVuH(2~{75iPaa`iKco9%tsP&^#hU+-4 z7e5k=QyiB#E?xvw7i#^el;Jv#>&1@*;}pjwj*Axo)rDF=DrLBi<9hKU!8pZniR0o$ zKy{(kk4hP?o~3#KN5`7|1WVl_Ef*8%{H^vI({y2 zy{D zKlT3PW~ccl3g`QnTS4B!^wtEf_aQvcK7DZT%K5Kg05} zO>ZmHtNslE&hHAs^1}Lgw)xY>{M7r>=L7GdfLL1sx#D&K@Sfn!gOA2(j(L70;&1@*;}pjwj*Axo)rDF=DrLBi<9hKU!8pZniR0o$ zKy{(kk4hP?o~3#KN5^n9G5sQUIbJZYW=8`;X01% z#g7Ez6vriwix&aag<3x^xL*87Fivq?;<$Jb zP+h3?qf&vy3|#L~shh7uuJ;^20nYdN!t!2*Ud5&7HNHnzTfc?N&#=55P488vSN&@a zobPdl<%RV#-~748{M37NbAa=AZTEm&aXT2eey3CM90R%D<2(R(YZ0ss%M0sg)Vw0} zkMG6)e3jqPOOc1;jCZZ!brF}ay!Ws572RTbH9kKF-Wm3y=KThH{b289$Tg0B2fiD4 z1FrLdTdjWsO+F0xaPV3|t~wkJd_+XN?V(rw8v%SI?B$yLHtU~w2Lb1N?cyB?9^Z>~ z@s0vd?}5wRWhTGf{FL5%fOCEc%Uc1xJnCC}Ab)>jljCe|Z1#s4x zi+3yXpmjz%d$)nd-`h^ud~l=Xw~Z-$-FWvH&iOMeZ!6P#hv{u*_G$sw{GtB2c-w-< z-`lPRxqessEW?+XAHroXEN_#y(-!1J0x#BVzcsn_0ZPdIX*z2>A_KLyl z3trfG{ZWkEI#0NcW1b(0I4%{(A&yHN7cT^xL*87Fivq?;<$JbP+h3?qf&~JDWHWHSZ7D4WHx+ne_&F1DeOHhV zT<`gbJ{fYouQ(fcTM?`c%bN(jipv9rceH*Bm)WqqD@<<()2sen3!L8-gyn_x^E>mW zlliIlet!ba?*m?fTygsuINzUt8FGDB@DXsJuW8u`oI1M=8XOEh98SG6mKh(^GT<_^#4tzfmtPRVX1ic!! zR{-B1_MSC)cZ+9xlRpo<6L>2im%SH&^ZSnbA=iBUFmTQC-$Xy35{H;PJbOz9#Q!eoAjPaJ`o;dtrG4p;zjX*T-;zxpUisKT;#fyOILaiT_GF-=Tz4(z}oZ`5|aq%Lcx=`y! zr3}|`TrYkk7^gTcaa_Czs4mp{Q7OZ99M_8<3C1aoOB@$30;&tOepJeE9mno|o;<&_d@gktQQ0qsf4A*g7FMcE#r#LQgT)YUVF4X!_ zDZ_RA|4Y3*`I6t$o9sQFX4dgHfb)H@sCn1}~$i(qY7-f!lQ?8(oaVUO>n4>tKN=BM7@8V;QAgY6Ev-b)_`T<>kEn}Z*<8K4k`;Ust zeUK||?*Q*5g0(9kZ(#Up;QT$@u)MH-M$KD?{%Iaic&5DM|8;}qLGPu1Z@fDU=X;J} zc>`bd?cIy|90|Oc9JDrS-Xz$|*hqW(fv0$hUhsC@!#h4de?XS zJIjOq_aS-%=XWoCA>ZBl-w*g6h)ZM0JDa=(aOFpI7jHN4G@ixV337dJk`0{W{lCqd z^nvejwaxuj@!StM<2eQLan|tzfR9%|tnCZA=7|BoyKN*d2Rw~u(fdHI?^_N8&hh@= z<{kX8@9}n)2aSg!;2aNgAy@w90cZa9gk0lcB5;le7jHgz91jy9*LYX}oa5oY&0G4J zpNDpq2hH<$0Ovfv403%3w;VXXS33=I)&1GPd#j+Wb@A>7Z!&nNLf+Nn_W+;rf6UYU z54O7hAza6DS2$apCtSxd&yPeLmx|*M$0d%77lC-5sJIT|xWsYsBA|Ivtsj*#T*q;} z_>o|o;<&_d@gktQQ0qsf4A*g7FMcE#r#LQgT)YUVF4X!_DZ_Of*NYzs#wm_V92YMF zstdJ#RLXE2$Mxbzf^mxD634}hfa*f6AC)p($8o**kzkzSxWsYsBA~iZ>qn&w*Ku4g zek2&DI4*Hqya=c+)cR2=!*v|jiysNbDUM4V7cT;;3$=b!%5WXW_2Nf@af;&-$Hj|) z>O!p_l`>q%alQDFV4VK1;?gHkrPTCI_P$gzb7UlNy>}-+qvq`edwgFi1M>Rj$lk#D zUC#w3zuEfN&v=&sAEb_18XTM?|i8*=rpQ5Cc z9#?U-EqW+UCp(c>_C6qvD z>0c7kNP~o4@~4qNAk>f$(n$G2_-A&`yL<1ucXn5^SJFCMJv?0Rd-k1k=A5bL&b_NW zfN>I6$LFZM7*DXDBELj_(H=m%z}0vqhvRe9 zUW_N$Pmy0Dzi1DjUEpfGlEd*iYA?nU?5D^tkzce2&@ON_UdiG39JLqY3HDRum&h;L z185hx8n5JVe2&_S@dW!R@=N3w?E$n4T#Z+9I6g=1#dw1K6!|6ci}nE81+K;`IUJv( z_F_E2ev14O`9*sG?E+Whl^l-GL)BjH+RvQB+ILrDK}-y}hj6^V4R(gjdyw?u+#U3N zn&de5^bq04fFRdBhMW5BC-uX5zr6{c9TM-iVh{Ae&V5N=E9t8h`Eaol=lL24=kt8i zNRIP-M-$HH`6iJZ=j56R=kt6uBuD)&7kq@+4;9{HO|j`Mt9ARO%h`doRgc81M+i0U^J6_e{+>3@4m z9B`iR8Q~o$IG^Wp!;_zZJ_^A+C%j?WR#cp~ykupc77M1Ij8h{lQFb`bd` z@{9HW#z|a_S8_N$NA1OUg8dZvCGv~*0NMqv#w$4-pQH9-Ji&g7{1W*^djRbMSL2l& zj?YnhF`i&QMSh9=qCJ3ifvfRK4#(%Hy%18xEinI zaD0y1i}3{eDe_C?7wrMG3tWv?ayUK@ReKq8ggNiFRnED@#E_#1=kt7F^Nt~Xd`{;8 zlH=UdEW-I5;JG3{Tk41R{=Jv*SqOk!U3n)`xv=y7gwG*;pBDKxu@mR{ZXuk{^W9Ez zoZq^e@WV;pr$~--a-Sod&+~npwR3v4 z=||^_ol~Xa&4i=+{9sv z!~y5|mJ9C!!TCI&EAN>djb}%QgYi4r&k+tg5Qndm{2e0rE#VCy$kmm%&rYTQj4L%# z-f+SvlD^l)9`Io2{>0{~0m6VHdbFmco4B_xI^xZ&m z*!dg6j|V}nuDk}B-;R`WmdbSs;qWum{z2>k4|Yx^9=8`)-bGR_<_-AsQo`Avtt5w? zml4kXbmcuO<>LM1X!p+(&g0TYNDez+Ae_e~SKf@>OeC?+K>eEuhy95ApT!>VVCPKY zasPAWT`lD{iUDYc*AdS8jwLzl{4n9%-(7jXmvX0wooM%eB%Jl#L~_{qI^o=2TzSWf z0z5x-ve>(V@KX_RxxOj(fCoEQ5^rrtyxXMQ8B!kNeh1+k_jM$fk5zXP&T(+%{Y}cn zervAS`wzkwkYBz|a`{;GPr?_5#5;a>QxNhbXrC(xXTR)9a@e_&aBiQjyxXK)JZG7W zJK=e8CpqlAlW?xzI+B;l`;YKuOMEbI?y!defWv--@$1Bcz8#5&_>{|ADdo0GK}+Pi znsAK&(DyEq!_E^4=lZ$wZj*B7k)3xC&UUtw9CqGGINRyU+i6c@Ao?@r$6X2M{_u6N z2Rzuh8}WF4cjcWby>iRPY|cgg!8`faFWB$Erg#Wal*xw z_pp?Uc8Tj_gme3RAIV|o?}WTcq5$*okrJY{D0c9G51N z!_IAl^SI>7dsxbCBY!?dIQ#PwlEco&31@%0^2Y9M3`~%nhZD|rJ}vfu2Rn}-9^2{4 z+bZR5Bsav8~C=aYo9ovys``xwn-FXYf3m%3R*7L$%OMds$C4a&UPt&!DHj)4-XEmgZBh`*eVuUb?>CYhcK(TQ?(eR= zMZ=AO=aQXE2xmM0Blds?JC_oV?R4ecD&?Lpc48d4op9d2pG~9Ksuavh^u5$?Ixc^n`0S|Vz5|88V%DYp} z8@*rduR-7af?rHH+~dl7k@6E#-Ktj!KTs6yAXm;$$k(fWPrOkT%KHP^iE~4!-)^#h zUnTaBkn3KAA58VL@rDy`9P$1w_CO!}xj*s7S19iQvh#4VbG^vXzi^(hgYa1)@upL` zvP`c!o$xuNZwAR_nOD_JIQj|Ni!0C7&aioBQ2lV92=#kVbU+!_jk$)(c_i-v0 z@k4$PcHlk=^nHSOh~K9O=lHquTQ?U!a07fJXbrz=FOz~ar}^vMP6~N#PKTO0mu3a{ox{#R}1eF!Y5FBan*-> zE9|M0a<3$P4I%04qH@vB?j-y;(w8DR+F1|b+|FEiu6BmayNl|F{W;ppuS6afe;p#% z{oiH&0UYyqxx5ESAJ#nwkUp%hp|4VSBgjtd$6)6gk++E-(LdiqIL2-8+DVRcMK&Bf zSACtN5A(kbFIV4Y(zjInW5dhUcOmIRoNRcx`eu+mj7$GR_-3g$^x^&r+6%^|`NTuN zESKkMXV|M~Xe!AdC%GHL$FIN+DWc%q}-bbKQSbIYp7hbmkz?Yy@bvCDe1e6>SxpUGva-Kc)RRpfRx~vZ*4f@_YUHr zy&Ot7_xBMbM|(MhaPIG}`hF+%NBt1LHwfqWh0R+=_2d3-)3=;>+~40L@@|PA;$XuO zzxNZbUicp)ocE15Ujcoyg!fV6aesH!*G}ake%*v~{KDovO!~G;z2Q%rzDJ06Hu2sP z`I&+vel{HXc9aAxc!=Lb!g1~yynRSMOZ1K+ocHgp`f8|L%pXS*j^`|4r>nka$)9L1 zIEMp&aeE1yx0dSnL5jOg-)Y3Vf_PVoyhm`f7aI81GDaKvwK;vs&A6VCBFjO2*lc)~e; zuKNBc^+){>zyBkg;}b)o)LdPZPNfM;u)BJumfuooLrJWXB0)=L^K! zN92DZ9PJ2py7FA@44XHB{IZ(-a;C`9zYZ6<4ToRS#H$gW4F_)v@g@q-hJ$xD@s1Ln z4F~TO;-S54B%H^=uzA}^ANp4@JI^5=<{R+7C-QT}ALHfvC&E_=K2W@!M;HaLV+m$zx%0>Ow6VB`FO5wGUoxESU zUE~*vA2CjRo^bSM#Nk?!!!KVTe3Fz4-gP9$c>QU@dAxSzx!M^v?~7DF>?`1xe~J8k z;;$p*y6Z^u58#dD&#-wTNgwW8!_ME5orwD%3FmP)Y~F!nC$Fz<`bH6t*YoQ|elf+N zi*SyED{nEC3xA$SIQuhfUW)Whrgmo2*G;@B#QPtSUn)5I_0I_Bb)75k3Mv=t`JWTM zn(V9;-Y>|`6Uokf4m1Gr%owk2IQs2y;$dB9!@(OtJj??&9K2D)!@ACfgZF<@f7B2C zVK*v|`$O2ggGgT;#lfcUVB+z*ZoSBncfz{vD#CeP7dG#1(sw4+Zz;(UhtCm?JQ?D* z(5Qq;H+r0ezLi+mGywlbvfs zezo8@f89nn`X%Z&m*nuvZG@*u-#n6IU3Wa;{JfJZ&(+Sbd7q{F^^sqGF7j&y$Ncvk z;aKk>4q@~DO8RDyo%fR*^XA_OZ>mt<8)PTWEyJHjOT+uH*pKyFobZ#Veyt=&xi-99 zeTzvS?$g@va`l}+`j$%lZFsr*){(wsq>uNhHho7EkN2ski~N(~PxR{> z3Fm#PEAJ#K7xV2+g!4YNQg}C$oxD$dQRJTzf7Z$MHNvM0j`s2gl1~%44F}Iv-+iPH z?RrmX0G|^59QXT)hxy@2!qJXkrz_9Z&aioVkzcrdt`zxA;y2_cY&iU~ns~@h*l_Sp zA|CP+HXOV)#KS(whJ!bgcxW$+2$yD%9S6haol5%9zlzzpmUui*-z@UaNc@nWc#?3= zPlU~Tk@Rg8dr-d*ksNV&iEzH}H04lJ(5+G)?mNvP9P3i(+mqy@h2Kgz?;l)w|B`yZ zPSkHM={uSHQYpN7WalYl=j9^5U2u#O*AUM4k2aGWez}%#zQ3}CFIaSrYJ*CM}5;(+!1D}?hpGHl-ekv?AU-bZr8{RzT(+zp%eZ_+oP+OR=dy9CyuA3J#1$|Y@!@4d_IIru%=3Pbl&J=qP zhdPoY4p$S-_nlr6`PZbp6>|M6;im}>eP1EDe60E#;p?i*U%9+ns9e#(#Q9Y?j$+p&8G-In(9|6ykC)>&1C23F$VaK;8?#cAe{G& zH6%y9NMME*U&u}}RP;SB@Kdw}%KC4C|lzR47Ko4zr` zn?k(hBEMg7^y^CrKOrREEGifC?PY}XKDAPKA0RthQlv2 ziHH4)4F_))@sOXe;o!9r5BUij4&FH8p}o`*&f{R%yt$+g{i~Rr^N3e3aRToHB7anH zKaOv+m#*9nC4KHx7>E_gB>Rvk$^z7OQe zdzSQ}eiKO_-_NNO-XyYf4aKidw-3*AZ_m$>Ept3Fmfw8p$zUcM>kQ2eS8_ zTzRf`hRwTx>c{KyABp^@6o>yuIIpw9=DkGvc)j}tk|XZlBAmzFuz4?&z6I1iZTemz z-a_Kl%S8DLio;C8c|GsS8%5>9pNA99{tTPfLi)I!+4LPlJYLVIME;cc6aD&D!g>AT z$~%?H#d`iW!g-xsDZI~;oyf~zUGSX9e@*SvhJ*J4@g@l0hJ*Jq@o@gYhJ*Ji@i2eb zaPS@^9{R)23Fq~E*u3A9KAy*H`u;#X9_Jfng8hy7UxuTq^@Q`fE^OZUr0-0z2XQ!* z_@pIL8 z1nHYA`fPZ)`szvFaiY(Lm#eRt^kIK*!^_q87ikxWJI1q<$qpXR{z^QIXFCuN{TX(; z@?7l) z`9tC@BHl1rz`rKAEC;Ga5sq;VesSf!A@)EY{JA6P<9%w_yn{#|w=@BgExzKbz-j#2QNlEw3kVQ^Slx^Z#L;e|0-tZ9OCi*?-G&!L;QjK#8(N& zz8?C*<~>0AHi|va*GqE5;X%SXh&O7Y0sblY61g5hIM$`m_qvn|9`X~_#N+*gEAMI2 zhx*l!KECf%DZB|}=NgJbkI4TG|I76p!ns|aLUQ=!T*A3suOT_c>m=bkUc2&K?F^fD z9@UTUTih@5x5WQg&;NvQUT1~Pdy(|q|dzpB=p0AUM zYeyMyFmKKzoY(WNyaTCR_;Wnryq*u6*FyTZo!RsqLp)y3r$oN9_!Is5R>FB*=gK>k z%H2!)(`|(FdZ|))pCvnaJ^!4@ccu1e!!d8ZKs>DLY&du?6Hh)?*>Lb)C0?Dx!G?qP zAo0*2eoi=#FJbe3Px^TNv+4T-@p%4glm~!!mkMKDx1Mlb*M-eHoAh-`d=Q62Nsc&d zBYYF_o)q~WQqTz^{|(`M|LA6t%k8_WX9?%~K(4$is9e~V4_AC1m&UwYKdE-dmVzToUsR!&t+}|La*Arp$#*>{(O0@HE z;w>d!m&k`p9I#*6MmWYDv`<&wiB#_1Vow|4yk7~McMj>}{fbTBxy0lB%3UHqKpcgB z{Q}{h8F^L26 z)L$gLiR$-xlH-2y7YOI|psT)1s9f}ihY3giL8?=ADarSddVH90w7+tBu6BmadxYx8 z>zA<-=&@2^tQQv%&g0;bB*#A0hQpt(`Wi_e_Ng|!TzxZ1-*M7jYP|Fq%d z>U&Gt1>%l=w1Mo{LjAppq2gDcO~&aio3rut2!IJ_zH8gVf46MM+O2AubeVe<|qeSAOl z1+o)y|1;sde+Zj*2-(T^Q*HVVB_7{T-5~Ob)E{~Ymyg+Xoh$EnDi{7dg>cSKgw0En zK5l0=eSO5^{KPFHuN8lyU;mnLp5I-0*HF1w?>>Ww*&FeAKpngk1t{K#*jYQ&Sv|&P2X7J$#Nyj zONzWvDvbQZ^@OjY`5|oHourTR6RSv$INU`z=O^A2`DCdd@)LW=zyO@rvXk=@H;H_@#6gxxRkst)`H9;|j{L-D3FrKTtG)}UT=a(@5`F^3;X;yQJ%0t^ zXn*2{Dp#JXoniCtqx!8TzZ^8p07pxOWm>PAO*oH(V@Zzugbjy3UG*JF`jDTn;pOU^ zLi&)Ou;JzEn??GNpRnQO>ifI23&b7$Xf4^Xh1$zMh=+c(3-P!gx$<1?44Zcv)sOQN zw~D+)0)za--Gs~WqU<{BN|GZEpCeput7myvksNXOB;gzfSDve#Ve>vu^{b=y`A?D0 zmN+0kv8zl>z-3vL^=H_;k))6F6VH;Ji2G}V^Zp@h-hpH%=O=9XMiGzm6YE7jm-<7B zaLhLt&s=$nsa*K;M8Y{g5jL-z^l>}0={u8nGR$V%=MP1`Kpchj+2e%sy3Un%Bb5t( z-a`0()c?Zf-9!4&pV3}y`ko-(tP<^fl6bR;H&Pa|$BF^tM1CmY$Xme9uz6!iAI}dv zlN|9IM|d68Zx@ndUU?Vc2Zh9QwKHtqc&cAL)$a_EFO`5IA95z)yiX0Aw}tevovTTX zxSvHh=X*{hIpV&aa2`Khd9HSb&D%=#!?=om`(2SQ69DVF`w2(BaiDmQl0KeSZYMe7 z{utpruiQa$#Qkf8^E%R%=W1uzyvM12vh2#vw}(igW2FQX{dz3n-2cMnO(cEtF>B|J zBuCsQ5q>m{XFHJ`aUV`N@|$Sat~^&e!{*ge{gAgn{rW_{S^zvR^KWtB8o}Y`?TvRD z)erS}lj?`|fclLPN1ZCb2x(8_2*-M;T;5SsF4i|Q3FkcR-Xur;S_p5U{$S%BLp)wz zUnKH%Qem{0d&RH~g2N8@WqaXuQ~gkn?^6A^y*wrIjZ$H>mzN3W_TtL>3zduZvV#N~ zcF5PV*G-cH2h_VS;%%pYF`ehWB0qrCvfd-eY1vaQM@ecap3#Pm+SLpKc=@?H2mN=5>%h-WQ)ia@j6c zokRGs6o;^R7m~i?N#FZOzCz?5BK*_==3Ptr)|0-EkUSysn+fk3VBTj*-xkt$EXhZT zd>P?~4lwU_(sx#g`tBg!R^r_!@{^@wp?*Im{Gb8mJx==M=bp0ba+{q`5Rdl{gS~%G z%Ko8E{E7YFCc^oCz$qk09J&Zc-U;L28j>Fh-W+z`6bv7kzXRe zXb(i=L~uKZ{1W*^djR7kuEr}l9G|21Vm!fqiu@A!MSB440$1ae9FEUXdoiA1KSh3t z{GvU8c7dz$N)E^8sJ$3Zu%9BoM1Ij8K)b-zcqND9bJSjpC)iJsUn0L~51?J(YP^!e z@i}TQ#uMzP$S;v!v;au$5g!6MRuDs)^T-bRI;j_uk>qY(} zu@mRyK2G={#QQYK@%-a0gyWo_6kqiblH)wzX9&l6=W==1P`U8S8-hP53V=hOEAJOl z?gLT~>h}!cd@k0N=W6FDIk*0h*g0C_dnn<2?tU1_;kUyG=eWO<PD ztDRxcQ4_1FDUBg%G-Nq6PUv!K8Wvrgv(=0*>ms@i#_1M&f&z9VYqBwLdqR2 zcEWERgtNZUB!`_z!e!XV+Ud&sj+8rA?8Ng+-y?jL$PvHIB!`{fC;Wtvcq4Z)1!2BH z{SP91CFy%i>;VsU9!xy0pDV9T%EdT7N9@@^_&l<+hUBnwBjNKy;(b%f#kv&!{0`yl z&os$l=e>lpKV5kvb~P2o^BZ_BYZT$!&K?$fz=NF!5pOm5)0NjPi9O)K&XL4p zf4cHgQf{Nv8||})aBiRDNe(-E3Fr3d%KMR&J4Nh-KOZEV{dob&Vdq1Hvp-#V!$rX~ zv9ndKBM9eq_6xBGJlHvscnhRF%ww*+E-4rLcFdb+63%`ZPjdNK)kAn*dm(wLya(iq z^0;3W;`=b++|JG?IrKe3_=)6CSKheYO+oVbRu%kt1mWz@r^FucU}rV)*q^SvZYdXe z8MMz{!nu7;Avx?!6VC0^mG^*@J6qxde?Ck&`}0DQ!_G$tXMei#4&TEV2tT5I))3C^ z^C__hJlHvbc-%f+c^62zm>1#C_Y%(joJMlk`98wgpRT-zrChY5xf1`!2!|Zw;8i4t zosSc~P|7QpSF@)nXpxkMxKAXUZ9EtgkIkK^FVbG0*U z-epv8?tfnwIp$%+;m?F)eT_J{@@}JYvHtuE;aHbLU#0N=N_M`R+Sv@*Z(@GKIC&c3 zClPNp$uWQ0aQMYl-y+h7_}lPu^{pg**mv6Sa`mkxeTb6{FIV3Iqz~iLIfQSfxQ`$? z#-*`@qhG>KSDve#Ve`(V`fVY<{8r>xpP)azKsc}KTzPj>xrpCOgfAjHKSy%J?;C`3 z{9Jjic81M+nd)~e`DKRWUlt2qCs!MecHK-ojGs0fyaS1c_>CtV@8=sR-b~Urnfzk2 zvxRubU%<{zkuQ<*j+Cnn2QNiDod0=0;mH4icOJ=SioW*|j(Gz-SAEN=T*U8G!a06n z^S(;@c)Ygh`x^0hJbO{(nD>qpf7)>P^A+MDe*4M73FTpa1MeTiL;Q9i9_~AV=c;dS zDi?X`eF^7vovXeFseWiLKO>ymOW3@5RKLq4uJET#-+bbIfOu(XfHM#?PbSz8UlD|FCz)({=N^%XNlesgmZs))%Psb z5Apj0;T*rPdB;-yxWC)fRcepiqj@w=9Aj-RW( zwNx(RcRJx5zp#1tlRl20P2Z1*$MO5S$X7|+u-`uFT?PP-bt&TK%6pOY$+TBhNBTH# zS}DAGvXj^4y&{MGb>i1;gijY7{ydxH(?o8=!E@EOlJucnUr#v4eHF>~5j)orj&=k) zU3so{hRwTy>WBEEe!mep^3#WlUu-ydza?Ic@N77EFA{H}@N77EuMqDj;n{HT9v~jt z%TEdCaWHJ&??@l|S1~(ZB_8G*@am;PYs4Sp<+_e=jE4io>m_{~#SZ8@nB?-YDouC? z@xCYWQw3iv*GCD*dKUVwC;4dMJw`a%eYw1gsa*M3^*G_YzOEGB6J#gvR}Pc`bDj7R z>+Lh;OXV|>aRKHsCOH$-*f*&E*KEjbl zhd;yST}=9LzXtkNkQ{MeOE{0aVe>8_eZ0Q5>ARG8yqxO#Cu%in*_(Yu4+F60OxgG*t|nX--mJQ zCEhHO<9YoH2tO?(UOknI`dvu)I?`7uy!ViuakBG4kt43vB7cH#^h>nsFOeL688O@x zfb!C$@5{v7N95lo{GgC{u6Bma8%ciYqxvlnd9UD@|CSSu^&a97Hm{BJ%^*9ck{t79 zJK;?g%1e-)IClqs-Y#;)r%~$h7~#Bc{36Lwt_?3&-#w%c_i1f-x%z%U`j(1cY%=uz9nne)Z&+OGLg+aLgZ96F$(qn@JzW zEA)pmNshRmOE|CR!{*&W`uN<8P2XpT$N7-gM1CH{;a`MfzJXs{c|W6a;m_X^&i)LW z_kW~sGPO^ezJC*M3h|CSzyKErj`6jP@DoDfjiPe1>mI^alfFvfCCEQ^betH{nZWaqsizeI41yAKhLaR6}-oA)&7!+s0;K1Xtl z*Uu2%O!cc2-fzgxnPlg%=uz3rpe!PD9n8-gU@xglWyM*&NcoWIdUu-!1>8kGz(ueiF4KG*U zS4bc76E?hDefN^ScS}5Mc)9w{B7NvbPZPeG`t4SdqaVGWaPCL0JXbrz<~>98+d_Uh z{6GU-DLB@Bd-^KqF*l~oac8}-fmPb*1O9IUrp_$Qg|!K z&J)Sb%S8TB!7*OjaEuclBp$|d8xG!;#6y0=3Ptr z>L?C2eb*6>^Ak^r{1Z|h@)LU;WB}m24+xugDCy(;#C>EZ;&2%8I6u)P@=r?rke}E_ z_(|l?R+1w>aSq`phs0~3a#6o?2|tDORSNGsvU3gDdAG2N65|=vU5KfsBRP->xNN;HxX|n$)}6_K*DDb&sE>+QV-aP{xF5~ z@jU$};$c1iAHvc8FwVR3TxmDD{1%B1)>B^~oX4|kNZu@b8xDWE>iZb! z!+ky*Uar1dNZ)Z%KO0`IzR#0B%sV!`Tzwl!ANtWFg!4YUgXHK(eS~vAa^<<&88+`x zs^3{Oo*f_?hT8W6w< zP4&ZkgZkYm@_VHIBjoxu!p90;F7NwPF6PI_32!ESw~!q5dxG$pCGwsmUJLO?#SHK* z!O>n;N#fx9g2N8@WqaZ6O!Y%OPN4d6dr67>2U35umu-Y|dvWDmMCGErTuV5&mkyGn ze%BGs?Zw9XF!8v(;P!1;>r0mtWvXFL)4CD;#RHr`L{K9dt@!m%~j>AVpekA$(PQuwv8}BQ`!~BN&*?9j;Jl;?L zb63+q&`#bV?d37yO%nToL!T?}6j@JwRrJWQkgBzWOWHQOFAkfxf%Ne@#HMc}@$eiC z{4&`4fHz~tk@t!}vHsj)v>)gDD}Rjn<%q+M#N+cJuM_V;Q%u!g2%=uz5R? zUvU2!aX(b#-xYtrpQ8!qb{#gahV*f}w&|NdJZ{&6y@{>0XSdrJ>d8p z@r)-TzXbas@=N3w?SW{V2yO?FUn0L~4`7_c)p#X`<8#zrj3?MnkzXReXb+%W;A*^* z!|^$4FUAw>r^qjnU$h6%E^swo$>I1MwHMLhXcxE|ujFuij@pay1p6uS zOXL^r0kjKTjaPCwK1c1vc!K>D`6cp;_5j)iuEr}l9G|21Vm!fqiu@A!MSB440$1ae z9FEUXdoiA1KSh3t{GvU8c7dz$N)E^8sJ$3Zu%9BoM1Ij8K)b-zcqND9bGhxMN6tr% z-N78xkz-3$eT4J5nXq{mkUl=ow}IrtPf1mJUq&)c3m3KXr z3p;;E_-xYmtjNcUoj6DK0^#!5RQ4R;??^sI%6*M+oP$ICenWDc&-x?bc%HCa-mj=! z_~jTmS6MCf1`d6$yfISl5mGMdS53G){*(2mE6>%=q}WpHI6x9#s)lt8}J}3UXD8_R@81G&p9OsZ>=eJ3YbI30f zF2}#K?b?+$Whc`>Fdi+G_A;ID#e&1mzsWzqgPk*ohxgEw%lnX&i}R$*#h$APUqyD# zCpqlAhH!qrhAZ!7DHr4TGO_1X!dH@=pCUQz{5|1ZKUZGk&c*;a-d#0E?3qe9Kj-~V zu?IZZIgNPpseZ1!%cb1WQXc&IA;Q_8b4d<6uOyuP>B@Ua${j0qu8`~R2%sa_IX#;U`l4K0)$QdB2`) z3OY*GpWyvN@Or}0A6$9IivsM!_LF+7C;V{1Wjd*HxE`CU(fj zsxJ8l-U|l2T;6%R8%483-@bCamGGklhrY8&j{4n3IG*zc@2g@sp2tQ#z9hWaq6c`n zyi4~m1H*%pQjb=u$GyUvPk6b!tM)Vn9!vH6D&f;b z4t*aWIqLT{!qH#AdsynRkm~V$;VmY-T;7Mpu;ZzI-zFUW0{X5bIqLTv!ns{PCiPfK z^>{#dn4h?Py7E3Y%qYS!NMD-ty(;xzBRJ}R_izLB5Dvc#Hg88!jQj-rxeMX4OsImLzmNq2c&Oj5#G68X zapg^xau1a9YUDbN@QI{vKa#^v&TC8xiT6R#hx`P_uPX`1I#J-Nc_fFOR}qeJt6bhI zQULN3u!r*uShqsoCy56;|3Em#gK~MTvfo6W0r{T!gtK4%C5pj=oePME@fUWw@;)i$ zB0qug{?mlBzEvcLoi`HBad74RpOiaR+B^LAAHq3)pCdW!e2egRQ$KR$t&n}=cq#8V zxt>5c+5_UZ7s+AgYQhnpa(Q=1x!6~rzu!$b`WN)IksNk@j&Q`MT;5w!F2+r)8+Vlb zByji{`o2j#*trw&uwE>ecY>6Aq{MrvT;EMN{0x12lN@%QL^!t>SKeo(T+AEr=bePJ zKR1vZcHTue`_q-T^KQn0M~NTN?sp@c$EAD39`Io2JBY{Qk}GeGl#BHT>VF#Hupe>X zpX9J}9pT*nTzOxSavQ~;Xop`Tob_!YIqdv8;oRR{d4H2~vHqGS_Wpx#-pAcXa@hG# z!g(L(%KOo~jA5sVedFZ%8^SrS@p+PCzw#{MoM)&M-g9Ip=QU2)+c;vK_@i5{8wkHp zaP)^ANsjeh6XD$7!{%)yeeWSV|0MNaCphBQLA>`8@2et@3%*3I_Y%(a`##CBPI-uM zlnZ~_c)uoI57~JM$q|RA3GWSww}r}uKc68yP5S;J^7VorAlH%mn12AD8WQg{(g!;a zBz+jK5Qj?PjUqcaPc&cTZQ?Jis}>PHk^Ffs$=8YeBEpj)@oK1C#G#gO`Iz1Jht0c$ z^qoQVv+28(c%8)il*ro!A1>Eh2uD5v?JR8G?W7Oqkf85+k|Pdx5RQFprSa}0J7W}w zM@60x9P*zKK7N3CFOWVS&%Qx&#NkE4d0eU#-b-XBk4wY$H4fe&ejY2=eF?9oIE2kR zob>U!?hUC2>_i-nARe#lDuq`~cJjJziO4sKpOG(GPWa&zhp>5Vq>tOnG?F6@?S%9F zj!NMr$WGqpTqg1k@$(qDeu(fRC=OxsZX|tdXPV@Q!%c+qeymb>HvwwUSoyw4kbG$lby3gj&*QMX(pN`z-avB1;oF4QS19j0WG9cizZQ9y*pL439N{slU)a3YNFVoy zM@Wu1{E=|(50%1uo$TcPu)icSQsQT{`%#4Rx;1RxB+|$0*0-b{uoH2pB_6L^D}{Fy z*~#nHnsBUVF)oG8+d%pzQ~zrrIpVO9aNH+?ot47tAUk;-@&S>bDfN!Y z^-98dy%aX@)1;5>+(L51;YPxFy;Lc@o5)UHFAes&wO@)on%6m=pVO=v`;_+9)asCJTenE2hh;ge&h_Di`q^Esmcnb_0iQ%z@g8T zchK&pz~iM{jDr&iA189?bL9=Ea?xKV5k8*u{ZuNvRB+UPy6~0}4m(|WPfNKtCx-cF z*d9g^@O7dW`oiXoCVki^K;Jg8a~0Kp{4fLHyc+y9RJ?b}#$|-qiGA!ogdo(Gyu zJdCff)0KC%6o7Rp{B|ATtnWCI!=E1}9OJ0KRj#~WNdaTUU$f=<9N`PdpRT-{s9e)BJtymOjAO@0JzgSwF4fPKcL$Y=`n^K{i>t6}K znA*!_B**ysJ;Jg6fnUPr{f+cpLUwK?IpX&Q;g=F`-kt_HNpOsx#}Ur;TTXKL^<=`a z-hy9jyfcW`Lv|iOa>SvN@ZOMkyHL6C=O)5={dtkdPZm24kn5d+H({~8*I*B(~FWIOp{%g?A>|iTf{TFL-~?TB-NJa=lJ? zz_BkGDBg{vkL|pGtcUU5AK>H2 zFRr}LkUs1m?j#)ZAL{o(lJ70{+(kI%qjGtdQn`rVcqw>-=m!pcuDq8;U$vBr>uZE# zJpp}>ksN;cBjN1NO5wduc5?i7l8U08pnm%kj(!2Zgv~pE^kMx1eXeoG`@zOZ+|jS= zq~Ie7hdx(c^RA}ADN-)R!D9)>I0=2OyeU*J`paU%Iet5f9P2OmWwqeQ>jH9R14b> z9@T%g+(*FuUiQmi^Y)T;E6zb+e0~?nT20 zf%X7>hY$~TE+8CvhH`n=O1a1Qj-p!(5q1fLo*Lw)R zi0ZeT_HqFh}TQ?bLBlq`ryw-(#P}B5|JM(cHn;MnS>)>hx)nl z=1{q?vxji37oo3Gc)eujOp4$Ch#cd1jmU2#d?N9FO7e9ge}?d6NWAw@xroEXgzrQ8 z!sb0o`pzg(-*d$4B;G$ozC>``PyG+!ST~@Zh0WVZ)^)Ih*Vlg{dk}}6iO2iYO5yE7 zcE%_UV@1AHaIAl-2_I>N&V#9<2IyzZ$K-c+)a*I9$Tf7m4UtPnrLpBE6$ z?K*7Ug`|($*>NIYCU(j+T6MYLD+$Lq;mSi^pz0^`%d`5rDb?QBnTR#V`_idN8xviL zo_IRZ-g5M?J^Ff+T^nQFJ&E2#S2~_frn;J%+EQKVo>XUVQ`3UJs?n~*!S!r8Q{vg`E<%x#= z%CJ4U;+qn^-SM_WtUa+QHEfSS-}D`HKG9 z=6FwRbuzJKX{tTZ8Ec9)HR)2CnigfjwXvD8uD;IBj51Bpf11{t=-l98TFN+WZ1UID1WX>sZNsaNp`E&tck@6o~s<4P7F-h%IH?rZR2g}u&tig zo=gu=(Z(SIRQR0a#zm?lh3$@&o8q0F15xl2H6(;>?A$~;o;3X?#CE(Yspb;h7eg#_ zQP+l4&!)@-6k5@G@YLgk>2bZq%AKPIqWJpG#44d#yR#m=b-B`TODq{xQHPzX-scU6-XEL2m^z>InLrE$Uot^zHxG}I` z&vHe_M6F#)a>V4o!m`dZ3koL}PbsD3R)_je4J_DG|LmNk|1l@tQ<5X5m0aqazH~a( zRZ^kT2cpm!frV1Y=A`<%+I#!kwCYRhaV|ltFR8~lT3u3Cb1XZ!w~@CO^u)V6l5PF> zcS+sP$=|`<&(ll#GfLD4_c`){(=bsV-0`SrCl{37`}#9b)Cc!Jk7u*vPd`SAhTxu8 zZmGe&uG~_C`p^J*(VOi}orfTZ4O7xwZy(ta3{&y;Jq4^#}JU z8U)-%@W$YtMP<7TFpY(Km&tEn!D|+i)}6X{+1psSf4P@ixTm?7Tez>emmA#MC~}Ui zBDl|mQ+9CAqq1Gs42`A-mYf6fwX6{P*@nKZwpeqrOQkg9oyoHklagJ%>3COLqNTby z-I45V$t+WinV!Vc#8|URw5B>YCwj~`{2OSMQd*(JeLZc7W$|=}{gc?;^byE}4 zm#b6B_8OBZ)448BwoHGl&g8vj#*7^`DlMi_{8eZ3W-1A0zEYco^1e*&o0-X})#f!i z=8;8OceTH$+GQ#So9O9Dv@cC|tyB(F)@(aVRded(y4Y5Aojkqn+*oRZuD0Jt`pY$} z@LYc-gY;{!)V6jeRmwVaeg4W#S9Qr~v-;I)-zt@URqQdd+uKz;>7A2GoiV0JU8~zT zX{pkoi7ok#Yx5@cvop2YBxN#}HPv}e4X`p(EoEG0Yt^M(nWw!(Ykir}p)lBMK#4Yc zGOR;kaZY`S_ImTSLt(H-e~A|R)4@Ywv(JJOtwx@CDC`y8C0d$GT@Qt=S?wiSs~3-I zFdY2BOe-$YM#--app_V5ji%a_>K0O)x^=4@Q{5I<4)UxE)O69AhBhT%wKM+YLiusz-k@i@htSI(vtp6?R@es-1Q%tuwJ9tyY(Hv2?0CbL~lP>@djsl*(*x(qQnyb7{P1W3sD! zyYyyzS-ibnAG-+X#EZJpjSZ>`PjTtLzNVtaiu8)qmR=p9%*~wM>iUVX25xS8bsoe! zzFQxVsIHqB+h$^zShclV-}YOUQ2P^gr+H%{)}8xjQ>?z$;<>ygpj}{!&vR#>HO73a zL9^GZeNtaK5sTv=${5@JAzWjWLkH74G=lqDe0|A7gZE0gJj?nvrC)nMw2*c!0!(#Khv zWdpY|y;a>ER#o7gak@ht$WkX`R2cMiK_cDSr*_zC0MtNrO>JvWLLHM@(39%xo|8H& zQ%*J8qWhoEvyFCVd9tar zRdd^z>PaSgi)Jyr&Y5g)a!8mSZ|1T_BySsea&HV zg+^|2?O-iVCI>7|8Ult!UJig~T?@!UGPviKGxw9`L7w;n{ZM3CG@$FWLgV<9lKU^; zci9<(Xcy=~^j#LRs_d45iaM-cBt)qd%i^Mzk>3O5$#F zGq=QuPU~Mp0)d3fT1C;_(hvkddORL z1_+~My|?fde4Ki`B#d%bD=#G5;+?ZQx5T&h4)A7xqp?tJlFrs!-SE}>d#p|pvGVeF zqV<(C`+LVYHDqK5xqeqVl;O0#uE=;A(3iY52u^_HYUTaz0W(HOnHdu)~r7Hh6V=0-uEOGEtd8~Sfb9u&`N=@deM^sAf$05wM)3Teq zO1WJoDWC#-Jl~Yi&m=`C`Md^B=+#dzzG@3tqWH%DhA5?%eH2$c^o&{7k zCl%GKhTx=L{fz$a0m59DN^9;{x>P;;wO#nO!C@;ml+H3Bk_3Gbz2oMK>KH!VxvJru|0Kwh9PgUr5!iPj)Oxr(l#`1ha+u)tcj<+4!v(3 zGFe03Zc9tC483oQ-QcOjF`+;vp`zOD)a`IgD6qS$DBo^}_p2NFxfdL=xvb1v*7ehZ zZyl7f3oV{E_pNzU!Y$|~MSZc>;oI4&XX33p4$4fHpV4TnyxZ3L@h1IfYJp|0erjER zC3E~%Wq$1r^9&NWZ;kScA5zk%+E|skGac{Rn9v(sV_=aZADZ9P1fAwNC2h7k_pELc zZ%(R{ooj2VGtU;Ql(c@dxPEHz>A=jB#S>$hBc8?1E!(HbPI`CMuSkO;aYQ>?b7}UcBc@-S2(*=!s5uB&J{99z|Ow^D(%jKUnO30T;Use38#R_v2dLK!&|o!pjQMgIia1`VfE%Qsos^9DN9qO^ki@5&G?>o zh3RkVzW@hlxF??MO~l5)g4h~uLeo)4u?1_!#M)B{ReCBNOPr{Vc^&EAabZ zbG)-J^C)wk7n57;{@;e_c3L14_6%98YIM^qi zAZHb;P8v>_$$r&%ERj)G7d0>UD$tM`VYV5Vp>JmHS8!}*X5wlp*ZhEjj?Q|=C&Yqd73V^Zp^r9CS39?Jw!#{cz+tO;n^P38+FjS(qgF;#&7+6RbSp)$n+Pze@3~l(O4RvW?8z87G=gN z|FrC#LA+D1{?P_KUl&l6DGkHSq}~qo-YhjGW$%_@qATWmZCDYn`CEv3SB=+F?%!V7 zgaVN&L9hNwPa@sdqXt!<+X{F^bF58W3-w=qh14s?x)beO7t8{|BZ?`jsQ2{Oq!wt% zh+1z;?c&7NUOaTuTdhNG?ZMF3&+4sIbu*1Xy~S+6YM5EhXGWtUl`HH^UB@D=5pFQu z(xYvK`mwRi3FE^eEd*sqT=XbV0;53JrUEnTydotQC{3@VP$FORs;wUBsBVTEFb?ER z4TUBm^f4~PVuiK+`McE#-R$9><+5Ac1vaqYBmO_Y@jaAHU?R0 zpi40$fyGYC2$G*jlIp7J7&`*W>rVtRT2nD(PC%_Pj!o!<%OrFiWs_+J>St9rozU{BCU~)8fz5<-H#)lk}P0v$40xPcY~Z=)Zuv6o9ozS9MF~2T)ZF zGkG&J${dGeulaRUb(YH3fOILQgxaNQwp^83srpl*t5ta~QFtH_*2<2Q{&`jP?uo8; z^ZxV9Pe`bfQ2IwM%%rf{|C1A1r}xiNZ+u0!aZ$EH`ezl6{Jv_d93Z(cLF6*^3o zT%SECRq*ZqwR0utdH~rxH!{IRAS2YhJp$9 zkljr%>fg?{60#l`%KHe$2-9bxTM3@US^jeGXj>vM(-Sj0Rm@k>t%TrTCMf-G1$K`A z#kUgtn~l7bY^}Vv-g`^om}BICGTnPZT1hog?=0s1cXV^X>y4OM-kAMUbaO!+_E&4b zL?^F8ye^aG>K)>un+skC>3@53O3}>)uXi$&Bt~^46|w6HxB*;Xmk_WR_GtU}bFy~0f`i*`=H5LV zF2}8-lk-OhJ4<^qN^WZ}=)VH}J4$XF7v=vyN^a--#30ro3WWS@eROgjz6rV(=%4ty z?x%Ulo1n)6?BgMdDnXn6YM!M(3RK{tInRj7y5~rv-#@yy(lWQN0%e+Z`V`!CK9DMO1s{Y(8!2vP7dG{zcJzM zqm^@8VqSYP|6O~!@|mSO9qJGJ6*gM=+xb?6)PE>%LTD3Yh>7k(M0X*gyAVVD{vKIJ zc+c9WR2C(7E;Tw~Z=18N8NTQy1m0ZcS)SS!H+u4SxCvp}ZS?jY?Y^MD(o!VR+k5=J zE8?~Ml)d-$fAprN=YNF^KgtU)wApa+K#EygYw) zbEkf%RsSfEWcIAj7X-}oK{LERqfJq+oSgQYD zi8f&{`$tBfwQFc;CG?89>KE*iokP|yjQY28&&YaUDEo#nVlaD$XteeZBd>%WvMSk` z7_$DMmA{>Phtz*4`-V1QFndNupS53TX(jZEMP2HLem2F^$sydWdu(_+_YuDvhO(=8 zEE&um<5g?zIG!(s(SNF&)sK4WU-DG_v1OY29rVm^x~fbm{}f~YlLNk@r{@=KvUldE z^c+f0tKaR^Sw>SpZ|$OVV$;gZk2@;sbLmI*dp0XlsdVl&-VUm~KB}LQUz6NRGs-Ny zp)S90&#~QdORvu_-IqcwxBSNZ@+H|+ZpoALOU`b}%Po6Ke%X3gQ*NYo(Yw7fPLadanf2Jw z!OJ~3kM8;d*4LmDIgm$ZZq-Cv_B*JfGq-3@(V1KEMBsAFvvG~i+$u*^&Y9azl{(Vd zN9^W2c}dH_o7rcp%tuSmUfR3qi#2bKclIS(Y>W3ymuWUXps7+Ux=7pW@C&T0%v52q z)iOC$7pS$)_GC;6C^GN`2bNf#(A}=K8F>dt$)bRYRazoSCER-xYOAmBIW;w@W1{Jv zRHylQ%Q@=(*?NP&N^;v1{5h)rFm)pdp6GLVosM`{duO7jMW5sM=60;F=<%CVeB>#? z20Ulz)gN+hDSApAld8G~bPz~$4I}6&aZCD2-*$<`d+{##MYz$jwg&ktNxbF+s#QQG zU!&xe-y^nn!kTqrn>szaKHhf5q$!0Ds-7(WQF7-Ep z?v}x@B3_HKYS!6Fd$5T2^jD%M*`p`fbvy9>6&NU@teV$R=HKCFe@b3Xz!2%d`qhC2 z#^eGqEg|1(UAp)O;8vYe*zGs?QD-v~6rTaHt2{|{t zdh*_9E41bcT+u~IH)-872L`zzu#|DI1hv*Jw;^6t+o zn-Fj;KBu*4wDebHuiEU(RTh{pG{?Gm)k6K3U!ioWyF1a&bt$})HD&du7S*HkHdl)i zTYJsn>SQ)A6>jxbs=DbVV4^G8wQ;~|sQYP2l?%=az?b@3q&4EJdD_gooT_!My3lwF zzP^^0N&%xlN(EmjA+>_97AP%By1_}gt9K%ZjGgimvQqgzA`s}J&Qn3@T6I(i~8?>msMr{^mS9Jy{|J7YmWD&QojaIOwOK}Na1F5Vuho5x=M3WXC0@^$k6>^&c#gmXKt!3bEs-b ze0`$RTA-Zs_1LmVApDMx&4y(isjiTWkXot7snyxi-f$|WPung_ww;manUm~EceKa1 z7A-f+uzJgT*P^7eYOC~dSkLfKQpqJ9S!+#ncJ{a6hGH%#+*Z7`ZwxGo21XYfCzn$2 zoK#;|yYB#?tnKm|tJmf!r4;RA^VGnCJ$G?S_v^I4qC)WN^im3T^XrUKigxj9eQ+Oh za%}y8^{V>dZbdP3b8Y>A^|Simj^^gu0qa@y!CfmH-ws$`s}JsM9^cOCOQ%y^rOgH< zbuYK()ezjl$h|IIw;{N@xw)Vr#2#jDkL3=?PEuLbbiAugovt=-b;%57mSvebX0Bfs z-MLvkbrLY>sa4ksCGP8KODv10JM_QxS0@zSw|bU_dZ|~PSsUUVGn}Wa#)1uBz~ye;%5zxqSnr&+8=7)DaUO) zO9g-O^tzZ{Q#MYmJ6B$H;$MyHFXttW$b-I@jAed}#2kqBm*n59s8*J@tgNZd(-agO z?`o*7c6MiSW0&6cu1YP7_o%C`T4!QITGgs9rfv#ku06?(9R^vSQiIke4F*?usd|nh z*_CGqRk^rbdc0W{Z*SLo`G8iss4LyrP!k(7WsHL=zX#M0E3HUv>7Cux-kR#{+obNV zOr02;%&lHG_aNT!-TI-F>bi-sZ6-pARa?9DmPj>!9sFP~a> zbHk8nZX7brlk+q$OQ?}vJqo!o5$n$Vvnf_zYv~~&#(qkkH3Qq~Oa~dFCht?8-|7cH z4nBhhyEFKd4`6?wf!jA%Wp1XFG*|KJ(P65puT^7yqNgj~X{H!GPnqdyYVa8AJQI0` z`FeF2SIzk9p=~w7tN&EHtLLeKTof?3W$qeCVs2%6t9nhTvYyX#raM&nxv6QuXPqOvLPwcW*w^T$CY23tFlo$aI~Z_m^J=y>(01yPWmVlnp_)oAy6 zkxf-;-NI{cqqlwP#yK(8*nba%**=kS*3nlh{{k)5o5wDtoucIM+N;NcTK$gNrKxtk zwAcUCIorS$y|3%Qq*nFL;Z#>uZ2BCD08U5)T>ZY;P_n}XA^|^$DYNy-h zY$uJx?lsTK3>&EMTCR+>Vnij(crDXAaKR7rg=P%fz`I^?P+t)aoqH zW-*L@ua1%W`+Y-w`Tf43VMzMDQd^n*UioyD-289V$7=I`)V_Z`Qnl~wyzlM%rNpj( znrw>d`rn)M5njBrAff*!JGTB8o>>AVHmlP&lkf`zs$BDIvijwN_C$|5;+cP{ zCL7~IZz;!{&VwIvqaynIR`P(gf<6{xfwc(Ek{_qwHZ?J5U!nax5oZ;0jU@|tW6jRj zI`L=vhgm6Bb!6WkOSXxW1bFLh z)F3hsAJnc$#M`&(HXrZo%^OJ&KYbn07^)FI*|`e|S9Py6bbq)^)_{T+zXe50Qo@i(^Ir+^hsPMCdX zQuGEyuTu)HqV*T^Ul{25=@fpaUi1b;zi%_2>)a$oum{{F`CcAEwma#9KzW5VaJCv%OcfsSFnQ#|iu>q*_{eegz4u)Zh{d zgg$x$qI!lSlcUh{70Ht0fm z<5u(wBksR2l1b9&e6GdmnWTZb^BVXAzOt*U;MW>vtEX@7=xPKtuKv7_5`!|i%abSc zjqXZith$6Z816E~yunakqc<4pcRK`)6Sg<;+3*4{0&G*aL(EST+sL_ZL~k&}8w}^G z-z7@)IK05nOSHb&$a9Aw@Fof(R`UA`y|)BQdYMt)t5ejlq315u+jHx!%#i54oe*d& z-LByW-AgGr_{ByZFPOv8r4%(_Zwd>3Q5aP|?|`qh33wwmVDAkJer=e?ul;xdS4po4 zbE|*wd&0=IF6}D#ondbEx4eaqtSrp|{e1hDZ%i5bmv3#$jSyI=nj2=(JGI~sef6xA z^hc}L^53b|Fxk9QtG>bV0-aLcsb$qCXBsj$F-*%Ub}r3#)UNbXU3qg%X)ky1Ypc-n zJ$1EuJQ}LkbE)%f+w<$W2LDAx>h)&w&ZZ%KOObl;WKiE!=6gkwdX#{a4}Khc1`TN_ zR2L#|g!bYv8u)$VS%G7ow36WUj>F&?y)Y_zVN~?OD82ad?zVD|0?KoM(F>!ri}W9j zTtQ1nPwJu)o-F=veqj`jB6|-v_hZ!_5Iui4$Q~&7#x!pO%X#GDZN#g^a+w3k7J@f3-EsLvbd5?<02&>($lqiI9(2#I>Asv@5p%e`Bx><7oT zr}t_Vc>Xbz1+urzPR~9wrh5AJ_sm#1W_Vnc%1Qf7xK3qR6CaJOJzw$A&N_whjM%W>&pofao9c%S~VmhvWmZGUCce=rLH@)u{)4!uw`y``*SJvGx50^ zL=P3wqQrPLldvip%eHuD=lXct87=A|!0b6t15Lt%$Soxunpw~j@9s#p`F?Sck5A`{ z4F2ga+Qjtt;bvX&0`1J47|pgZ)p}KHhqJs_<|gDBaVSC@}h1)^NHIDIoKv4ND2u zamznmMUOm5Q1TXAo=1~P-XRx#L@97-=FxgN%=((1)(df#mOmVWnFsyC^J81+rtx6+AC z-JR+cX7ZI`dvvMcptoE7a$8J44?AoR8BE$T4@50hw`9z-P=QYXdG0ovZ<(>lGah9| zls27D%M@T9xy_Z@+^R)uRZk6k21$=vfjsNeHOdK_)Kj*{CAOGxpqSaKQmM{f_2!;# zb=yf3ixoUq#Uh;;n6j18@~)wTLQx_b5WOi!_}tD-IvgcPWL1dtCQ%>!LN<#5{5!O6w!Oh+A9yOw>pX+VW-_t*VzRN1mb9vz-bu!n5S_?WnqY)DPWfH3pfw&1;g6n=x31T`kcGx~0;wMQUEmOtXphrkJHpV{A_JIwCu|{8zamzg8tVL-&{eDnIxtRFVtK z0RCU)1gcU=ZqPH%f0Yw_6)MREo(b~5$`e8LvN}Yi7bd71dwNeWsl>U`GvDb+t||ZJ z)1D=O*@&on=>A++i9a!K*z%hl9=$YgsN>54)4a+z*s8^MIWzkrbzCLY*VCplKQr@Q zsJ%!XT3I3TrSY!##zaq3lbVPLtFEc_fb)A&n_Bh8P3L&3$M9||?{VL(6`h;adPVQT z^vhh>bskHW#nTSSrQ2J&!vrZ%-Frh3j$`}w&^^+IYD=B-?L6Mc_9HdMBS z0Z+bV9NbddoV!ImDcRMV)^FNxsZMt!dne`&pZFVqr4|!vVwqZGJdl_5%$(fPc_dwr zmRh|Z&8tk_mNWZxme{DiO(nCvLR$fzog>q8A{*JeIb^m+W~2KzfLwr2YAXWUJSGcn zqh*&Qxd4gBvl1Is&*FJ34cZ8@3u6lnY$IhhSxnKOjo=wb^Q`m8^60!v%IYLR9GjA^Q-u>?N9ZgY1=^i+W%n;T%4}%>T`lqUGj( zqR>`#^@xQ!Hr12f+Je`{H^tVgoU;0UKM%no`6K0+)Q>L8z6!-DAhw}kmO>qjfQsCG z$BZ83j_S>+WV>Bq<^`+yRUWNo4RZ^V53@5w zCJ^~&ZW_uwSrA0deI=9m@`p{Qx&)aR%Xvz9#&3qwnky%>iq2Nb{CG$ytw5ie$Slco zMWGR73UO)z8K%dLK1(yjt7@6z%MHJ&scY~JyI|-uUvUe39yRCVOxTTf6D1w=%;!wV zA@P>rbD{}%cKesR^&xp$0Sab#ygYi^CS6Bb#zUQ_W4d&6n}c^}(9iv79+et_(eAV@F{^e@ztt_b z0v6+gyPh^(%}fcEznu13`(L}7_6iCvX%?yfdCUCqRp7UP<1?L_Al0U!ZblNx5Gld`?LEE~IkzmU15@d@bqw|LnYV zl-Je%{XZZkD2TMgNH;@=#L%rErL>9CNUInqC1HzT5q5y0qJ&=SDmIF!V1Z&{D~f^s z*805mX07}9t+OuQGcR?#i~Gkt!``!>dCqyA^LoF>>EMqPe;IJkcgtgSv2muY+lc&z zI5CYyiYGrT(7!8atO(rmPjp5}@ZKkn2G0E@*55I(o8@?c*K>dxWBuiUUC*;tz>kB! zyx=|04g~J!x8eRs9^TU5`A8g~L`A7XVk!LH}$7r^_w;Tm&`?n}fu0C66p7t^;1_x{-c zIQtN*D+s%upM`;Qex|K!2!DJ|hx|2yt}*I)hWI;#`+dRnzkYe}pEm&S4S%^s zcO&BDz42A?cPW0)&-Z}WL4L8if5EQj=aaxWKhxH|4}V$6FXV3-jkvIOk{Dy7}5aQ!pmTHx$MtgZ*_dVVeh-V1T& z7TtA-ljo4H#IIKT?KFN5yfgBP)vbkH&(B@JyTac(@JEV&7P$VoR~@U1jWccCkI1jv z-prC8n(BbNM!5Hv_Q1K0Vs%wu*Zr#wocl}Kx(@Ki^JmCkN9eLp&k5q!3HS5wPT)OK z(wz>w-e2wl&gWll(cO(Wx$nL&{!z@&&w%s!7pr>-c0E5g0_XfpTlYEq@%b0>w-Y+9 z+j8ZSLjDW&>e0dZ-TG=d4D+-PfGzV&hC(_W<%+?8G!4tPct|=-=)` zE#TZ=3W7gY`VelnvHps~Ut1Xr;W_np4E%MM!4RHPe>LIH>m`Ke)ZdQG#De?ob<_oM zOtK@5A3^7J^eu3%qgY*RoN4R2qArtBm;1%PAiTZC2Y`1>Np~LXx_=J==lymXc=vA( zaP}`&7aM2Vy4A?93;J-dE|@P1&(aveEk6u8@1G&ux=$33{kebN1J`Rf%QDi|oX^`>f74;t``snL`TdYsf6ZXm^Q8lD&X=@x55wPl^daQ$ z5$F~`_lfvT!hOD}RxtsL4@pV)2K@Q{ULF31!e4ID)j*slBhFdkHw*W9Y7X#jDe1by zuIJ}m;K#w=ao~O4?GN1Z!SYyLY@BK9<{>}+{n6{<-%`R=G;Ra#^Q`L&xx*QtS$p~y}xt;&htcW(RD?fJfB@G z{v8#nvc?eZdd`Hdnuri?-5ls@iU{G>&4bRL*M)HFMnUKGFcmo0L)yCe@R#KPHHQ2x zfX?SA%U>7&z5x9*;{Y|%xX;0VmaZiH4YwnW|3aMZLn-J+KsQ|cHsO9hI2kz4XDz|& zx}PxxIM1K4x>~U7{H6jQi2QPk?i|E92yxye{sZCqm@#8D@aliE?gjX31%KCp_kR5% z@a$ZwdkJy2Mx2FofY>42`#~e%+~-SxZz_EVx7%2MnegX4LU>O7RfoT>G8n>h>aQXE z`S~BhbL#JF%?tP4`%5pxF~N>BegmD)<$Hj8JzE~Di;XjFU2oK7q7&12iTIE8Z|8qG zaPDVm>z2V^bHsTzc<*P+fw#z|x?2!uOT_uP_)mrVo=~W20vPA>{X6Jfw-9c(vHpI6 zzjiVh!gJ~`AM*EoJA~)dUqSfu=g=WMr~aNnJ-wgRLL8IrNaM56c|Us{xYx7gvAWne z)7I5SU8XoOjT6Q1)W5a8XIu!}=LO4$fOj7*0$$GojYGk^4d_ z-`m_T{!1n7{67co^MdOVt6KuQem?93&huby(S3n9{r=r`>8KYAUkmVi|L(x~-Yr&l z1nhb}91pyw1Jqa$yw}6gz&#%XIu44nOo)y2k{wyqcQ z>w>!6B7V2F{u#opy97G-?{eUL@13^p4*2u^?!U!(Cv^NA=uPoI%TNuC zA>979Lg()@d;{F~JL^6J-$KOK!2R5?F4o_A*meIl0B8Tw)|FRbU1#psA%7L1<9^mt z{4Xk$`xnAp&)(3vf9C`D^UbjOCO5=LwWiAQV4fFKZZ`n+>8)z-DlA0pBW+Cx-X#f_XI+?buU5Z z^{@pv*F)O6FX1oC0cs5S`wBYmbCx%#mHd=9Pcr&@0;dA!_XN_`O@Y6&9H7Q>;N6F* zz=uQkn)m~hpV!&@z)ywlM)1do-v<1&lyvi8*ZFM+emeZ+7TpJk^9;m!q#n!%st?|G z%K-O2V0qfQI`HTBNA{NizJQ1<;LZ06^aJ?6OIH_h_&n=yCy75;eek{U2Hji(_U)BKUJ+3!+zqc6*-0RtK z#_D3@Ok1}W`SG5bp##KWT1S3v)&b7vX4<+g@HfT{(7021I8OJyD|BO_TP{Ao^7DE4 zKH#T7HwOGM;_nB}=WVQRFzhC$>*wCt7V=jZb>a6)Lb{`%(3d)m4a;g9P*Na(oU9~56gebCp4G9Cx+^Rt&z z+Pc@^ue}{_~ZNXkiXZV}+6?2R3YQ*V#n(OkC z_;Q$^A>6u+(COp5j1X?!Cg}9qB_o7e_Xc!XB0{)ztD*CHcnUc0e`)L9gg@tBZ{@ZQUct zZ;BJsm`4YUrdmh(Gp>w+z-4ByI&IxC@YiXtr{ssv6oBJ&-+u(o_Zn&I$|FvGZ#3ku z0(4!F-w5%|)d#=7o&wzaoaM2)-mvR>4h7ElrfKV@!k->nPA?VBvsm5Tuv<_~)-!G0 zGWg^E8S=LrI_^uG#CKFZeQwCF7bnL1?w!%e53#x@;Lqpz0`S)l{&I`%aKw2c;_M*4 zGv;Rqx4biS{#+)6Th|Rbe=ZZktvepNED<5xx;oH#Jv0Z-^Gn*g9`MKKL&#rG==izJ zLh;?yKYuRs4DjAAh{m*a@4z2FmzfUUeRvl*KbNW9ED5-~^7FmwSm1nblNY@HbJ7{j zfe%DoVs+mr569{JTEHLQ_v98`OT;-Cbr~)Gcq??76P=jG&f?-uH>`qdxea@CNYy$nO#G&Bcds%VYgL4u5{1 z9Kv(z?|Jz1xhI6@)Zb?KJ4psZcuxJzgFo+Q-vgg)M;hmY_kOk*IQO$yU2L3b>wZ9f zQ&5-YS^y_%9r-gW4<7*MdWhA<#+kORIO^i>#kf2p#Sg*r{Yv0`zE1$JGG>JEoccQt{``Co;W_m; z6aM^s58*lWcLn@;orUn6`s)OLUPmi|^ZDKxyw_1*;9N(sy4X0=*4>Bv_=E zT1WnTq9kyBt`@7?u6XRv{W}`|ydQhMd;p#M_cd_#FIE>DXWF{bsEgk}xGtl`pRWGZ z6%oR%8wZ{5MRD6qhj6EPD|Gtv z*^G6-`8nl-;PuapwZQ${$f>`XuN!r!d=fy z=-j_9!2Nu)t`2yGm(c_`KfjIj*AaI8ey}rep37tX<$+z#mm`34zND=?5B}!50UAU8 zra?Ckx|QP3)O>N@L%8Lup!0q09pD2k(D(%S*213$&gWmOzb&xq`TI8T0f;l!-{r9D z`Enz0&X=@xM`R}nxvvY5U&voU=q`h zadKZ;C4Qvp>Gw+^JVXC`2)gS31-I@I==?o_5N_Q%=(0qFaO(;}c z&x!vn&PSp1K4;wl+Q7!BfBv38J>dMFK-#*F@W=mt-B-%Pak>wkpd0SQG%gcAHctY0 zovj3Z8g!$;`+EZS0Y5z@-2m8ie)j|C-;3rJ-73U640ZWH{MmUD!u#&m!1=ja+PXaY z;M{SvK%5&9kN4}m(D|Hbd2Z1ifH?Koc9&VZ|y!sC<8s~E}ZCx4o8{-COd<=2A?`5GI3*BV#QU0v99elvmdIh|W{vk)hr?_0&6t3LSr_6czA^Rc=|VAu8hH*lVJ)7HHX ze>E}BLjFF5E_)w!pF!6ex;lCQosacC7&zB^+PbOm$Ms$cy!&?!aIW`F;xE8@-v<0t z)a7RIUhmt1pO%ttKI}Tb4}f#M=N8?Eh?DERQTwD&)3M&$0_S><)fItV*YgY? zvfz*FJ>;()blI3^AzgduxZdZApMmwh7C6^?+Pcl~$Mrr5y!-bCaIW_{`k-(o)_Zf{ zT<^ciu617TEuiCikJWt!f6lKZ{GE=z=N4Tn#CZndyi)uetoNINbG^sv#=@@aISn}1 zd)m5r@W=HY^0x#!uJ@2`DRf-#pNOA_^EXxyoNa4zXs5q4c!d! z^Oc|Pw^st^=Ljc(_jt?|ppYK({yMMER zk40U!i@#d=`TqVDa6aGf1@HC#HE=%PV|CZVuJii_IG^viMfWY@JOh1br$5|Zi1pqR zIM;iut~~6zo^^n8y{D~f34dJgA%7=8$Mqi4^@5J;eUbRZSnnHvbG@gn`w;%P-Y)^~ z{_OzH_1;2XIJh3`y$f)z_d~&Zy>|u9^&YGHNqIO<=hqGXxZZP%t~=u7dS4>`Cam{+ zfpfjb>duE<*K;m#uJ^Qci{X#!J>+i%bX@Nt-Ad@V-gk*#iuGPmU%)iZ^`5q_75s6% zZ$q5!Up91H?~BAQ!+O6BIM@5>;Jw~&2hQ~#tLp{3&hHN3T<^I>cPHZHdjC!Qtyu4e zc1sQd#<|{Obz9-j_51`l*L&K!AK{PdJ>>5&)P?Ikq{|N-*LzR#cVN9=2%PIZZQb?o z$MxPEy!&?paIW`V;_t+I&)YqjXU4hSpMcKm{Q&5=-eYwu;m`TygFmkK+@d=WadN$% zDE=O-_tSxMy~pYr!LIAs7C6^?+PV|quVyms_Wpm!-x<(xy@zzepyPVKSNuw>_jiDE zy{E1F3I4d=uLJM??FP>E-cv8=?!$T?44mt|40x~iA;7ubV|Dpq*ZBw4Y{oa;Sp-3s{QdJp+~5<0H;knSnyxZV#vKG|wkW4$*4 z&h?(Qt{41qz5k#*9H;x&8#=D{d&NJD^}ZH3*ZWlPUhnIGbG^svhQY4$TMwM;J-6r{ zMVwskg?c3OY%SJ%8Q@&+vAVAmkNvrxzXIoaPg{2w^5c3B`6~+@*Lz4;4mz&)GsQou zK2%NGk}(lD|86jC-7NUi#|nxjBcliSLShC1XaCaH&4xd{mj17C&Vf#^=l1Ge6aP5+ z@IG+%Ay&5*b_*$zXMwYxY3sJZU!%PhNqz|V+YVi0=#K1}08gr({@!e7;QqYE@>ty; zipTy6$Y2-v^WR0-UvANLMV$Qmqf5j;t$J2b0wLV_&4RAFh!AewrO?$95yGvT4_%gs z5N_Ql=n9EA2RPS5+PVesSJwe*4EehZI)8uF^3CF(RsSl9$ag~WgK?hg($VS1Nbobi`CVJUFSCw_?hsRTXeG!=UIp| zL;nGq=hTNu;*S7+33La7KUe%gz|Vs&)?WeGoi4kF1HU*We>GrtsqEGPek=T~Q@veJ z?+01X-IkJWG5mRc-U+-M{H3j{i~MfiM}PI8y92sO;$PJKtRQ{{@Opo;?h5$h-?^O% z-hH?dIPXUf{yhpt_Ryj^u020 z_C0M~J@{js`M|rL^?|eRW5mCTzK;XWzQ^i1z^>!$37mZo>Bd9HzK3)ZpkqB>6#u&F z;(NlIz}s-1fp>my0dEW4ZQzd-{}AxZlytYk?!LyEwr&gJXovjj_DO&@(T8Thv!Oc- zyz@I2cx&kLgLfZF0nbcH7aM2Vy5`7_^ZI`ATh#}(E#qO}{JZ2>-6+^~|JDHK_nJq8 zcmJjVXa8b#v2muYTZ{Y#VSd)t3yXKvKfk|d44n0h)$LR~_UHaJg}=dw^9$(Qzh8l~ zf3dpQIMdcOLtTcTF2lvYul|)4KNYy&cUYdbZZ7=sJaHm;zt5TnJlg?k%q_b4h?CEU zP2#t!4-FLm&%n74z74*)bRpd3iS_p({Q0>W!gK2HOZd~rY#AXur~Y=spWoYr@SOTv z34h+tis{9y=fh+>(s&wW2b;Cjs1T}E!vU4S?>efGw=QT#`$r}yR8f%D!Gt6K`YUJq{oZ@)Lf!9wuf2X6uH`QT|2tBZ{@ZQYB=kLQBYx=8-0{&}5M1Md5z z>#|37t#co$L&x{!zeDFf-C%&OXHIV&hC(cRupt^ZiNjzo`#C7rYAm&(>{$zh>y)O7QOcR^U7r{4Rcv z@;gR$^AAXVFwS#9tnN$rbDX<@^IQ>P* z*!8(!0&t!Sa*J*v;^evD8S#1YCY|xQ;CbLY7sToo!mj7pi@SE(eTlW(3Oj|b*`FXy(9c#oNrat&w zumL#F1!?Ox!e287sPQ)N?)$62kA-fR`25Px=YqWYpw~F(ORR1O{5j6Afgg=HL%IVH zC;J!D<%2E@{u+osTy^oh9}b-7f>>R7*!8(!1aO`Ua*J*x;^evDQSk*;PoE2(0M2tk ztZo79dY(N6oachezKvy;;U2L3b>&ha(rpWIM@kP}Kp9@93!Vbbb3xj=7vPWQf~DZy_ZNZlT=0$flFHBL zf<3@_E{N5=54(=@bKpD|gmk|{$Mq1>{Q(`t(dr*8i^x+BMyr;(MZh&3a^G@KbXWF_a z;g9#}kiVy(;RD3HVWVq%mz>Gx)2zkN!@8E_)w!y`XCi-9zGQs}JVa0O!4UJ@`(t`x0<{ z%)8g?V(^v4ECSxEOXbp7{wN`ANmy!-wN@Bz?$EWVEFQbha@z{~HW?lg{y!ZLnfODSB2Jd=r0?v8%x%dWolQ>6>GFhhc}`7!!}e-epfOhW zG2(H4OXaVz;x}%$vATM)+emgj&*lT4Xh#}rf_FU^0G|Y1Y@8p-Zd1kS`|l6HeSWsv z7r;BtUBFvfpz%fUMTNf&-2a^j%VTx1ai*>N5&7|4@ZM=jrmfTm*KIrS)-H&~6HZTl zXf53d!utU41Kn2fZKdlgej9LojImc8t7~yaVxm3#wFORpvATz4x1;=xQU;FzAH6rT ze*n&T9nzJCzkcwy8FpRIGSKPIME0s1h+nO`6cN(~c=^4Gvu=gRIQvRg_9?*Y#D&=bMCp7#Rhd+69WcgpTs#p!$a&%hhGAR0dh z?|XQebCX}Nz5dW`g3k3W3mxy_4aKihoUThd;1%F6r0WJ9@8Pk!y0Gi~J`?^}V4lV5 zrpfN3m}i@TpN+aq2Jd>l0en1kv2kXdml%3nar%7L3V1gB9R=QTW&`(rYslkfHcm`qwQ0!@&!`W+ht~wodfq60gLEgz-V)%vhgUj3`Nij@^K-5S z@PV@DAyzkAc3*_Q1;FVqR+smJB;uFl&-d^Hfb$-{Mtyo(I^V;0%uDQ*IUpImf4DCH z6y4_ONyIypUl}E^XLj;KKIP~2oYVZu%}FdAB)j(4_tFGEB4vM5WVaCfy{i6|PTAiw z%opFoZwK!4v+EhseS~?&d%z6X^*sC-y25s(vDEzJhqB7w`}{o%61<9V+q3+iqWf9- zJ3r@f1oGznHl({3bzvVux)so|4^N1%ih92RoNYl`5Ad25Kly z-*d7rPw*_nZ@2#x-I2)8^QATNW8VjeudDoh4<7}*nhT;aRyP%P8_M1+;BDcrH~2#0 zX9M^1&GL|L4s^Uv?-buab@4gnYv9y<2j2Jad{-n9*&gpJ8=>?3+yb2QI;1-g{sy=p z8rQ;ZA>ju>HxRlq;v1?iey-L4UVa~S^`YZEJml}c=}N+`^Sf7g6UA@b;l}DtlikL$ zTS^8O0YBc3G!6#udM*au1G?Ba-;&*?iqrS-kAd?Z{w8?eXAZkE3C#95uOElb_0A6+ z=Vy8G%`ngE0<^GyUk_S^XwVmlk7<2Y2ZE2 zo&`P`y4X0&U6mMWr8vEB)dt=Y{_=r$oOOWnbKe8O`yO5tIL{%my4X0=)@32TY}B*F z)d|pEeQ>>x2JYvZ<@3aMl~fz(>1~8t+h_+Dhkh$`i|zU${Xy_lbXsZq=eBk5iS0@5NhhPVkF`7g0St z#OC*#?9PC{`b!hb^HcWMM|LlRzZJ_9f7hq%?+VNp-@~s3UeATp7}7ndI6cpfgl+=t zdLBLnU18{c5`UxeuPc7Wt;r9!3Aa7V|0%jRke~C|37pTBkZvaG!ajs_v!G)i7K^_f z^HPHFFzt`<;$xnAF&b{}XI}-d6#Q#szeXjhSpXbX~ zOyKRIn*+X+_-laohHe;m&(E>IIj=*yYoY4{e?7swo(qBd9A)_m@sFx5ey*+u&U<)B z_cV08hsWyff?em=#}&VE=NGHnC4c{tUEhx?%AfJhcBJuZ=v>cA&~HqKLJ z_X)*WRd&Y#=RN!s@ZJxu0nU4PSMaX)wZM4~zgPT|oM*r*pe`ZZ)6nrA9;>?(cAejl zyOY5Ft@w>Q+*sW%`FmP+J^=yb_vty{ z9p^*9vk~W|;ERgC9=P{a%VTx1ai*~UlVx|a{EbqfrvM)<+(T{E`vvKI z4{yId`HhPCl9BtwKSkGQRTBSB<>!0&;71ZXzw+~XPSA{u*!(V(-NR+q{vKYFST35f zzb&#`9RBL5e-%>pR~+-DmI_uHcs&SetI5ugpT*WbH!Iu{&f{c z{>PFZY74hLhx<>_^+$frV+`<0PE2D+R{(WkA40mrp<^F1#n(Z-8vgXW0eZvQE|vB=N!Ah4S}3d>e3|*Ik!b-50Ri zKn8yS&inKR@Xqg7;B95kLrC`p2lPzn4Bwd~4Ok&(+1ic@GcimO)n?amMOq!>;oy@nqtl zo#Hocx3RiS^4C^&eLu=4f5yAok;a#xb3G4)t{Zf*akiD+_KMT%x+ien!`p!OJ$xc? z-otBvcfBV8=RJJB_zsw7Hvq4Ix`cGMKvyFr-5l6;eyyKM9CQxMvsm3``RjyvR!jbj zpN;%pfzI=+Hgw~mi;Z)R>~>Y0^npMmope*V9cU+g2DpL3T0A1HesVs+bP zw;%j{0-XM0bpxJBB0fp}d=DQ8ocHj;s@w6>wNv8NUQd3wL%8=3*X5t0EA@O5@fhXd zdvTkM34WPyujicRcbe>80e{!Onpj?xvcE@V_j>p%rvBZYvcF%ou03CT56^fy$BUsLeDhj#+r5B`dS_x#KR&Uqcub%yRl_{#&{_3Q%tB zMEn@w<@ZrH89L6hkiY+?8w9(~?^>>GzK3rG&inK-@UG|Ez`Hv@ zjj?f-+>#i0T5>szh^Pe^2wiZ-luPc&hzX*=q8|^v2pg7-RBi&P1!vQ z__6TU2E5}O4!k*ZZNV26-vc=JrC42ToN4PuAiox<%WCm2s}IG+KLxyEO1f8IH%oSZ z1kUH*|GI7^^7lUR6Yvw!hmdYJbSFXA|Lp{LReksQWiW7_Urq+^^UK-5>8}-dpIp21V0O;n5e@%7q{;~)-_lb~hDRex)#Oh|juJbGPPLj}O#c$kc z#_C>^zt?5Alnfpuf5wlqBaJUY=XxFt-SN=H#@SwW-%y-Bzw`pm^GiGMKEF%`&Usb~ zyz4y$_yFX0nfNy`&u#+F^Gir~8+1Is#Omh4uJh~gZj#W}z&wl9y(xcNFwg4ApYe&P z=c~|pp4EqL5_GX~UMjoqC{DkJSOmNU{EY?gI2Qx=`*6$0f%p04Lf{oG&={+WjWccC z^~jIkkNjBtHub^hmtDa9ym5JAb$Q-PEZCplb5;k=_5Q!Edmr`oK2Za88R!OR4C!h@ zHwd}~;y+a1eSWzTIL|NFfcN=jDe&I#Hy*s_(|N#oehKN8LDvWV27z}ymjmw$-CFTG zR2T0r8-Vlt64Gsij^~$H-D=o%e(l~*68c2(8+V$qx;(P`vF!T%k_DW9kMOJFw9fUc z3tblns4+IqF|zxq;`I4t8gQOpMuYeHWhro;U;2S}y_W&!ezr#ZXPjrid437$HbTeq zORVl8*mZs*wk3`FA~4Tlb$MiWC+1l{;A0c_d;kAe#c7@A*@@7N+p9=^h>i0u+5Jj! zR+HT|z?%s7a1D6JxfXa+3p8E}-shJkz{{nii;XjF-8$sg4EY_jJpsN`AAEi(1pJtk zbfsa}pWkK!?+JhZ>$*R-{bwJ%Pqao|PC#8kx;D`Dg6?^UK}feSTR3 zoacf$;C+6%5;)HCT&_`YsDc-M0saK6uaP5h6li}#mpzHl?I8RYMM;#A-~7ld@DLC5F& zGvW_c-&?D{&jaWAAR+@%$32`wDS7zw_iTzv4IUaAS2%W%n@I_4(yY;C%m5AH3^% z7I40QiH-Ai*)4EjlCjS(4*}=-p>zia`{^UG!6UGJ^Hd4Bm;{NV>Cak?%UA1D7d z&V4teI|MpEPu=%e-Is{d`7M{fLW%K>RJP)?~B$)uk)CZqm zIsxaoE>_nYcK!Zk3UI!E`Cr#HM*iLprUK{tmyqrp==lES9q}dAcb{Lj0dJ3e;zRI0 zzx)WC`}GsxE6eWlz3)KapR3&s-u2uKoS&-|{4@!yl%I3vixa zo(Eq=x;?;oet7`A>-{@$u7{$ZB@W7Ao>c_S^Girq6FQz>Vs%HtuJe0Yc=^CQi`5O1 z-D5D%)&ifb{&?sI-t%l7@F^B(jE%F%=ZS%eiZe_0DgbWY2Zi1^y*-#FlW4;`!P0K4wr*}(aJwuNQFkFIE>DXWF{)$gc(F=ab^= zs(=3e=kvgM&PrSN4*YdOoVS2?-`@q^8M<4+yYCMG=lg)u0tT~L>5UnD>S z^}V|Irog%0V|4{#*Zpe-oclx}@a|t3;AN3ttS&arv~|ZKKkjEU#WzO(76NBIV|628 z*ZsQ=IO7}z-u*iVIQti?i;XjF-6G`2eRqfWX6WBfz|+z_54-N)Zs0Akj$Q!o{=Eg9 z{fpJb#+kP6XXMBGU%M}pLbX8udIE2ZddBLi!>;>x0&t#_Yk+tEngD12Vs)``rmgFR z{CJ+fNqjc?cQ5d?beF)c`?mr(pSLr>yMI>#Xa8b#v2muYTZ#Pm9Q#FlTl6pASIL4i z?t8tLVXST&{JDPz!e2u>(zqQu_wOs<>|d-dHqNwl2ca&!KlBve0sR{UJS|;g*meH~ z1LuC-1ibs#9yt3KtBZ{@ZQT&$$LGpj;ya^%4+7`$)YpLhW7r^+f(*;3g$~K6>J#rdM>2KknSeT zvm>Ev54)a+H$zt#x=rHmRQ`3vpOq)i|NXQ|xb0c~PtmPHe$L}r;FX-1#*l6}>cT#R zbR(c+AI=y50P1}eaK;(Z-2h!}CisuS`8->H#ocKE;Wq&)hu03D;Jo*MWpGP5GLCiDmgD=Cb=V2k}xDU1yUr71;dGvmfq%I|e z+n(q3KSfso`8kg!z$-a1jUnAO)P;Qr>9#}1KKvlQ6zY9w(WDQ?8D~gW7&<<)(VNgVJZ9jO?J%dDNq5G6QC4A{?UeX6Y_g{Kh?BVs%}IB^J8oO-8@}?FYP#9cc{d z&V-JChZ53FfNsb>`unqVwGdAU#WN2$znA_m@!eFi7{<;GN%C;M`x*){TQd?k|^%KSlXD&Sk)PZw%>{ zL&tk#Y#$EM#&MeB?5INL2j0aE(6~kMSm$|B0J^TwwGw~2{JFn*$0omcj&R$ve7`QK zL|S!OtUe4=z5U*!wKnMC!aZ+u+J_OcI}-jfwXu&$*r*Y48+ znAas;NR9QypR0Jh54Hu~0=f?1v&HuYejIdV!8^`cz^m+|t`Bs+r&%8I*B81T7HFIz z{yf#CobcJexety5@BHQf&!Rs)#|O!u-_I|RZkll44=kS&sVk!OaF*=4-p2sNpbuRoX>}Mz*m!QC-5f7FQoehI2ZnUi`2)vdZ zX$mwPx4$>QyH6hg z_qw$1Nu7%>kUyW7ewJ>QaGsZ9bra4`JkOO~&+7|;b6%ef-hH?TIOp|f@UBav2}vAR zDGuYVORVlC`I|4hp1&J`^W3@~yz_e%cwGmmF>T#z@K+E1c8g!2{5%g28K3;3aX!bs zh0ggM3LVeMA>Con@toXD{AK7v3*hWSHSmtJAMh@yOWL{<;jb(F%@cpQ^7Fj73^?mK z8NBmb1AH+2rL9{Fe?#DJi})*)pX2-#IM;hf_YHLQ_tD?C(6OGywU1nh^-u~ppDTsH zJHMlW^SKhcFP$j6S1V3GR|W$2dUknwg7-c-2socBM{B*$kv~6ICP;UU@FI4kF;-W3 zVq##C>}JYdL*R9Udq`W?0{-~-#ihVI|CYd;I6#f(ieIe!{ND|@2zYi%x<0V$I4=g? z2L5gqf4$=Ld$Q%gJs&K;1AKWA_WbA-5 zjk4?fJ_hb{l>No(V&lxx7e8)RoPMr00N%g>YAgcYb!!N`A#_E-7ZqO-IQOMkU2L3b z>lz`yMySi96B1yd`rvaxXX%y*FO-t*Hhq!icG>mk4^IJa1Ano)MX>Aj@HFtY@b|v> zI~1pNJAiXv3h91^j_2f%?ic8I4yiLG3H(mQX}k4+b3MfB8p3W9)veytXV<3gQdG)IM;iuZo2ZnTXr)Q z$1LF92OMrlHy=8l=g$Z4b8>Ozw?c6kx4&53$MSct?0SFQ37r3(jF9d}=sGw+jT^yd z3V#cD)jwJH6a01DM}NDa^XEgB$M)f`-e0c0Ac^=j^!-)fdM)PkG8TewEM_@yK954W z2che|*HiLCNVg6;f4|J~knUONhFPHTuhzx(Ay)Sy^4G`z85@C*MO~(VFCqRj;B%lW zePIG@(meAyxd!l7`>3l29ru@f;2q}<;cqAo;~Dy2KJkvz{0`y!bs7Knzx{Pd>X7fk zWc+`fFZWBgS@UpcVkYBR;5z1r&B#~+{&+DffDhWMNPdXbje=dDH#Pv*@qVw@knTC? zrtDQDKjaht|60%ex}<(ym&v~}GGgmeM*I0j%}>9d`1QiX@|(aDG$SKcH}0au!rR!F zrvvx*Y3whgyBIotu2w|+7UZ#5_&dPuFIJa1J+ZJ&cAZC6;C^pmf3doPuw z_LsJP2 zT@PGe1KO)jTXzHe>FXkU{XL-d@?PEq@;>o^bRPh>FjhDA;>5zovg`N1=K<$>9}V8m zv1!104<8QReK`7(B#zG&hjHf@t9wrVK9yb1mluKi{A_=ZfOmc`0q6dbw(e#4cdy+gWu=fG$ZlzE#_@b`>;WFzlXnRGZV`{rtI%_+1(9) z?KICaG|#*)bDG~JnAe`aLou)UUifnHc@>ZM!6m?3I6#fd!DkD!VBlQ0vHNGNuHmdCuwT@_wu-X} z@D9Q~6a!yTL?z(7ABA+)p<~}ex~9-|bbuNQgU=NHqwwFAw{g)KvAP>%_cz&XE`v7% z=X>Exz`LGT0cSl!x+TzMJ28zR-BRdUL-&gKJ<8Abi`Rhjyt@Is^V(Wg1K3sA7ywno7A?9MI}W__I|De+$sye^=y*mGu?uJHGn_~OdX^WqEOtmo_ConJAn2iqGAe`)KA!`~42Yb3se@^hT+f!Eka zU3cg>KSTbGgO2r_AikvHte|)%1Lt#P6nN)11vsB8vHQ|PvU{}R^mAnmaL4bmt^n_S zaxHK^SEgv+EhK+_uDmK;Y2kdX#Of}dpG2G~yO~Ph8sOZ|($?JwfBycz>p2;`^S=o= zzqj_b_+ylx?QRF2ZAThobq~R=kfG;ni0C29O z-{H^m^Kj_6j$(Dcz@O_fNd77X=5?$tTXrkTuJh{v+~+9QGgcQH=T(ZQvf}jqx)8X( zcjq`KfOkEw1Kz{}jT6Ba6+R0%`yQ){jWccCBIMT;bt$F!Syp}Ux!@k@st7NXlJ2+5 z5<|5yKl5GwpLizxrL8Lpf6m)(L;i|E$LB*80lE-O&aSlx_klZboDuD{oO z1#s@WA>A_QdbuDPL%J2v@qG4I>xLm7?}N_(=l8mP7Jq{3nWelBS(yA_ycOya(iMcR z19aQr&v8B>T_43^-17apq!RnHLuA)^9Jna4Y@Fw%Slt)!S3(IK1b;kd zrL8*{{(K*CJzI(&s=71~(FJ(61sYEW@9%L=0zUF@)-^^vwG_`};G+;{dGPMv6yT%( zWZhKw8v}orYn~0ldbwP>lYv_vtLwfvv2eQV`o4VF&s z)qyUy4{feb3=LPD9c8yYaDM)96nM{z4#2x2&Z*)@$e;V${O05rFBEQjmhaakl}M{D zud5HERPRbE^tm@AKa3Ubd7INd+$y_g!(aa!6U!4*_IHWwPKLi@G|w(b+26^S*X~mb z%E*9?lK~8nYX+4aQUDta6aGw+H zuOs+O5d(qq^Xb_29;<7p^*2HJbyA#7fb;oK47~3Tm4G*KK{SSR)uC&#kGiJNb%U-5 zc=xXv@b1tZ4n9--vB0@*WB1QkUE!OOz^1ByZ53xx;CvtXz4EZmpVQ`rj`yRG?qKNH z_mHj_bUxQ8jf}4mXQqfv(oIv|#&fEhD!b>(ZgUwt4|pp((s(j>*K;gz)-$A=23__( z`a2&wevk7W@#iT&-!E1I=Xv*5@Xqf(;N0h9`?p7S&sUsYw|TVB8+ZIJ&yUb$ipUFH zO$#)}o!25Z-OZZ&HVO(Z2Vs$sk?i|^5 zoGXF*9A$qY-F?t;e!e08Qu(VOgIj?6b2`x(uYh-)TY-E2Sr=QE;!6_?^Au+}89W-e zwCbv59@$)Uf%)U zbs4)nNpz9oFz&j<>JDC(Shz}dJ%0}a&U5RJiqkshmmfO54@p~B0RH$sq@MVzm0txF ztPOBJ$7+CgerBU;GN(1zz4%$+PWX$ZwUMywLAe9DnG|r9yr%~NLL*?&d-pp26U`vPx03s zki=U-dGrR(=Smmw&aV$}K38J*r7LB3@c~JIey&^#yn^EQFc-Y{$%VlATY?rodkl#o?hhc;`PAcvA~Bt`@&U`85;1 z9(Z<2y31kLaXtpT4g75tzf^JhJ=uG}Js&Lp5PW$Np8)4N+5+D5^HbnlN3puiuM zsPLh{E2X51jWccC*~qUk^80Cd0^Eo`%#iLj;e}GteRx}9=w8|N`rHYe_p!8fzrtTj z^i?LzhHaGBtNW1z1;r&x}*}GN3P5D zsHgcQz&X!Cx)tby&l&&C-%998S>RFo!CmTaW#L<-dqg<*&x}ajA+ozlb~EMgaNyoQ z9A-#&6m+~FeZgl69}K+epR79@{+jQj zzwywufG)P4fA#*7e`ON*7WL2Pu;RdZ4+!b1Kz9P_64KR&j_)V_YTcJB{i7{<nJby1seX1-kv~FDc01z5cG$ zKL4iXr{7NuQvcoq?l#8iHp%V>*q3(z_xEY+FQoejI)1J;N&GhC@tg1uf!klKZuMHd0YzI?~m*+RyPiIJ)hv`Ki+Sj691{{(m;W{0zBIRYWxg*f8oCX zAMrQq)*~K&F8V8Q{{6%4;N8F9fR93cY3ugD-)Q(ND*hv^mm;f@U;GTX<*~X~W%o_yTzM;k*ZuOukhd#+_fRuDa}gExVpCwSZ^Yk;anXonLL> zb^l~t9r&vUf5(acM)^6;p}_gxG^9Hjx;pR|+lOal_dCVeQFfmL&i9xL!Fygj51j8K z_lW;q{@mZkA5I(}k}nx;&uQ-0rCXO1A584+QXl;O=?~$%F>iC)hiVTc7Jh-h_k{0B z+20|n6Muie->sTw2Wy^rUFI~uk1(%2f1kj-=6lR<#UHA8ybtDiB#FrQ|L^@0_-rLm z82E8cOyfK7=Qwu)ud1&XFWr@Jn)z8I5dWId7*0!U6%NK%Fp+U`oMYK ztp?utH2}_iKDK`s$?idl)9ZEyaL4a7&jFt)VkU6@T|w+QBv!Xo&#QvU&-ccUf%D$@ z7I>eFJ^{|UybivE>N0gr^21Sz!?@^-SY3J9JyLcZXMNy4N7-LU*8n=s&;H^I%U=Z< z90c5-Bimmu@Q!mZaL+&MV(W6f>=sd+J}=!2-0|Dr)!^NyCBQ3Mpz%WW{c!p7dFf&4 ziV821lCIv`#864u^}KEgobx&hy!+4!IOlau@UF`b>ykK*Q5?pdW~^?m{2eX3p1%u# z^W1t4c;|N+aJ~;oTX#A9@qNf@@uiiY=ixKJ`5apb-uXQXoaf|_ZUb};-8hZA#g{=J zeg)1xd;;Ea7S(*QJ-$atTUQMJx+1?W;>#*O&x`KBSPc5YIG-!Ax*f7xMRqe4$1dPrCk{7l-5&UB zYDXI10`L5P2i^?2V;@a`s>;uNYv9=_>59Ux<7^9@-zOR(zMA4Jsd!EWUIuZV3EqEK zFcLV|(O~eNpQC_t9mVSU!>;S{sPLMBc^#`;BD*zY*ZJKB+~+8lHC7iJ=XZ*ymg4le z;YZ+&9H7S6!MmP60dEZ5X7EMDe+-=SB~}+3XWF{m$gc_Na<2A~O6r66yZnzOzgSy% zp_Ftp|CJbOD7$TCcL8voU((jy1b+jN-5sJXL(3>2y{Guwh-S$aoTP+aNcubb!}nS`^aqJ%}}ol{qLWmtAPC6_o~3z_mFOm zbgqlniOP}@(p?H&DGM~t)V^F#_4f1XLFt+c=YAcl`>Xr+^)pGLgOrD#|Gxs~IWnZn z|LlL-J3)2y5YiQgZmCHB`Psl%T&Uw+d39IAOZR1@%U%}?W8M;}9XymUVR=lLvF_W;_qI6leEtd(ERlMwzc|q3UIeER`;;%o`HRN18{#I z!~R0L=b-a_#Jc|CPeUHtgbxFrQ{5TQB^E}=uJafT-1lDli`DgkUC*a6z-+r^z`5QZ0PpA6lfe18%u4X?!_XI!I3_9% zgnT6Jmu zVq$Nq>Rm~N{!sXN!aZ+u+K0nmN-UfYe@_a(C}n?N$nM4PH%IeqZp!|i!@PE%ZpFOj zd#TOh=PMrXgC7BJ;Ra~@6nwVuAAuhS-Q(aL=PSUg?4#}{=#Jk<-EQc5Kv!yG0xVEn z%89QIybg3nfp>m2fM-EhO3#%s^5^%CZKS(QxbFv+$LdyVot-PYuJ=>GeNME$mEbc) zJPn-hp<~y3tnNmwzYCRLC&jr0IG+#agRdsteBe!ldkE>SgpTVdq+1GIH#^dJ9(ea} z8Sw7VO$47QemQWi+t~dxR(HJF0KYh>4P76)F- zjx>gJC7|Q{Y$^U)`SbVhS_7{Pe~rOA&Nje3|16KK%LTG~o#OO)>0;oH-~Oh6cb_f+ zUeN-Lr>XB($e+(k*GsoZIL}M5x?-;-j&GD*&+GEQIj@U=cONPM=e#Zi-gS9vQxeCm zio>|e6RR5|e>cmn=kM9Tv+PLYVDQdwJn*`IvTg$W)q}sq;+H5t&%?Wb^Eq}Ec;|OF zaGsMxx_hAGIr$y&OVNk-fwK=UfOnif1Lu2`v~|D0Usv>@w&w3L<>z@(7dY!#61?*p z0GyxOr>z?Ze?ySpx#E{AKgW3~aIW`|?n>zD@1wt~pkqDPh`$BvVLfm@S5|>{evbm@ zb0v0P`bBncQ=ERT{0`jf+2#2jy!XjJfLF9Y%kWhzXN!4=#JT(0QV?Ae=ofX@a&XyzbYR4bDY)SkKZS1 zFaBP|>Gx!vfqOnU+~dIed+8?t=Q?T!-t)5;aIT|RT{i5xF3W}A7ns+vx|y=OQg)r+ zJm5Y@xt_7Q*f_T;p8FMN0|oLP@FosW<67{p=lj5$LbnclQSmPWubPrBHqNwl+mN64 z0jD|S_2j2J)d!yozL##5@In@7jMcS$Gcm9R^Rp}PO!!M%Hvs;4t_%4a2%YQYa7Vw9 z{Ipv6dHdZ_9U?H)Cb?YngQqis0H}rlwV8W$D=M~!23N?dEoAk3Loa-T^n+zS- zLvQe24^x11J^aj%EE_)~$m-ACO7=(xXx{7r+7eUHsA zRyQ5-oTB_^06!gdiS^e6c1y_aGT_tUZ?pKp>bsv0JAk*^N8L{7Izaa*c*l9;_sK7w ztT>EYzF(JAVt-wdI{aDlWw_?yP|d@knt&GqpCsJFN#Onb9|oNJQmn2r?E1a;MZhOJ zK#d{Ybm*o)w}1U51^K(z-@D%?aSYJ>ETTR=sQ#S-+-;22RsSKea0d3}V}bj7Y4#V= zHHWUc1sY#c9;YFXUeXN%Zh5S3i|me&UFWeKxZmg4U#xBe?0Pc zzf!vrV5I8OKzwE3+0eBH@An=j03Z1`>yAP^z901hJ_>REuDZD{?q6@{M*qpWKJYgN z{zfX!v#?%9N;e9)<*~YIKPDE&$!=L0YzUm|y$X0g#~K0W=hGFyyAQ7mpQt#DJHJ@n zblDv*yPhvIfcyMxf8)SAznQ?fzof031%KRMZWBL2`8m!B*2VUr z>`#e>Ns6T%hOp82KwBVzqRa2`^%S##mi-t%q}E*Y$1;+~-8Q ztpGk#L=)f*EzlUd-eYw~YW-cP{QUPhMS%19@SXCo&i98r&^1ARA>BdHaUF$pMWN&0 z=X`@W-M?bcbw`|^L6<4MICNaMvHNGN?kmMJL;dsn=5K-XedH_PD=NSDfb)J7(tQXW z`ySGL2c6F~ZpRDY-G`NWKFm?x#&fFcBfGO?x48_S2%PVQTYz^xy8&lCL%Nfo%XVTK zL%ROZwT5oC_}R+O_lvo}dEUJUyz`p}ocnxi|F+2PrHa$*_FdqP-)X)EK2yYd!1?z% zvFDIjUA^Cuz^+n$zBjf6&U<4P_|nR+6>!$2CioK4y()a6;xH~cBUX2g>|P_grDbp~ zaG#^>FQl6X9p~pN@z=_qzlZz~aDV^G{_X}}TEuGLo`2TG*5!NIy-soZyz~=r$8UdM zfOnsE1NXYL?k$~*u8=>UmkRDleq)hvo|j^Em&)#qvg>($EpX23+2BhnfrY?1uP*`b zx^(*^F>tHmFz&j<>OPden`PJY_haBZx4s76`F#SM??ckoeF}ekA9BR+NrjduKhMLm z!1)|I7`*c<2b|~RkS-HCo|AisUy45T0?t0P0`E9S0q1*^v~{E5ud64f#%1D{DL>DP zTYC*w>{3!knUjUSkGGGZ^3%V z0?y}3W$@0gE^t0qV)v!dvU{82ET?*(4czP5?HC5$`{a1we6G~hK61VMm65?qrMq1? zpDVGt<{5eZ&%@oan<;-?f%E*CwyrPyHB%fOvcNn4e!!2lK;w1d?@@j&h2I3cT}ryq zu2v{`;KgfO8$K1Mm6yJaDd~hrv6)QhAbjbYEb8 z#_IOS-%8naoCnCC@v<(6##mi!oIMoJ{fg83WN+Y&5ocZSu4fzNq-tz`4J~ z>SE(eTh|x)HAP)EX`j4Peem=BEa_GWFO-t5*n!Ese_D3k-}1oQ!e2;N2f7~66$Rf& zd-p3QcoRF)n6@q({&>!sEPj*f z(m-)s3_KfgE(G6O{2jng|C@DV5s%+T-U<8+#5n-G`*#;`p3l=X#$8-p{dl!1+FFDtPyy`e8{N?Ix0RpcJVNy}&d-lRx`NR0{ZecnCdlr) zinF5%HW@hIL$?R-c`*ez-zVQK{yq6~e@7pY%(L%>+n)QkUzb!Ot-2hPKdJXN)w_}k zeXsBjg?rxSv=48}?nm%9uRs#Vrz!heExVt?UoXwG?^5=673Q`3GzRn9?7Im+?`?L7-=(^glffT= zb02&cyz|=y-20B>+@a_A8}jG(#svx{^YcgHz8~aNccIq92eRvW&j;>vqWw(;pDAJi zaDGl1yWV4U!?gZBQGWhD-*Di3K6C=_`$IqAOBaexQ;@)5zz7bd>z2Me={iB@ zbB+BS1Kxc&Q2WF;%G-EOb$83(SF+n&23G**d*Q3VyPnH{vz{T{O6ankn8uLqKImFQ z_n!E#m7nhy+kx}E`zCnj_W^M3^RfM_qyB!YIK6J`19$vRvnu#Z5ea$8Udaz`IY!0r$GJ zuD0s7TmF1rI$gSqgOcCmc_~)6O?LCiuIKd^z&Wqq1Mfb337qqKD|pxC(Zb2RE}%G! zyDqW1rbi}r50YKa-{!!1ZmkO5`LzJf_aSNPTEZXShnyz6>AMOOsK3oIdalQxqbWaqGY3tsHzcb+PD9ztPm7nKDG2pD{@3L#1 z^UH>AF#M&hYYl%x;BTn-!<3)n90Q!|J*1lq9p`6AHw8M@^Ct266{pw3Qs9-5-$L-t zZy9htS7P_2_ht8R#p&nDhrk`b!+i_9_sJc=`COT$eK)WC`ML6|bVms1b0t=H?@`IV zTUd58mB3oy-jAJM+PW9uucaMnTngU#zX+W7hr@~_`5mSF{C&Sdz+1y#tnNd_V}Fjb zF#NTJzuMx9C{Dj8s|Vck!Scr7{e8Y;fmgObV=eHWpUr`D9aRJG{N@QSuK11HZLDsL z>=u(<$2k$W&qMYXtBZ~E8O2jVar*P!=Yf0vInL$aUAGs2H@86JE#UoqzWafDK3E>B zi;XjF-HXVN@3Y!z{S{Il{Ct03x{|^RxgZ*2b@NIj`%4Y<{r_X{Jiw%?&Nn`&U{?^7 zqT*5o0o|p8%Sw@=h)Nd)Wm%S@bQZAp*n5x0#Mm`PQ}iEWiAEDmG%A)vjonydY>Ap` z`0qIHJK6og-JLo2t{KAmJjr3-Z{G8@Q@(TV-PtREbG}FMZUFB<*m*YOexL7N;B&xR z2)XCcv%rrBuUXrSe?8@&>%Q%QbKQ;N?F8N^==(_aSfA~DQoKE6hjG&zd6`Hw#w8Pn zh8izdX&mmZaX3>0@Q1+pKHpi8`#I4Sz-OpGH=(?#=+|}fkAU-iz9`<0!8_6hs%@Nq znLzxv=ihc(Kf7yux}JDj`6~wQG=}m%ZtNtYUV8x}c{Qev8 zp@_>?J7va&d6OjH8948WzHZ*z@Wbcd_ONpf{96s4^S29la~qgf1buv;Z-DF^fcY{& zygh;2+)&US^on?0}XoEZu2jLh1~v)2kvuBL-8g+AMdZ1N`%b=bs*K=1G&e=hrq{zSJXZ;en(25^ZSPm8T?@3?$7i_UM3Pr#pM{~VYK4iMS?|#tNq$s2BfQ0q+P`~4$?^haU(-PLV8OF8q^cKdo?57Y= zBg_ZRb#MaY_U~}uUUzKgH0^&wq|f)pCy6&hxX%Z1d7o>%?4y1i?~OE1jJr;>zK_5w zl3-)-_?$9yzK8N&mOcB+KfllS8gT9p_e1XU!*75ObU@Tb@ty{c^C*hUWOpbiMQtaNBQvKY`qN zdKkFprFqvW?}tgB>!sg|H&;08rBL4F&YAIhg!=WkE(gwWJrQ!}VHR+X>jNNnTzYrS z*s)x87BdG+rOlFdqE%1sXIV!|AzuEvw>=lll*A;=jT$V03VtVZz}q= zo!=MS*6qN%nxOU?$UQ#q0M2>zEy(TP8sW#we&bdf z%6n7&9;be7=X=0i4_RL*FVxO~-7@p&1lj5LtV)4<{MpVOAa~q`0Oxyvts(dOe4T-N zJXl{SFVxPYd1dgg)Q+kBsn*F=%7gd!@#38*ym>;r*EY&@)LQ-d{PZSp+hMgog?uv! z{s5eHWGJu2#u)`(SA4J73OLX2pU58bZ0GjiaeoNq9j<kQ9#|NSuIo?q5CRQ6bIJN@_Vj5|MZdHy~p zubX4l;cK$PxZ`Yn{yPnp+fILvjB!3U4CVPfH=pmu$q>KiX54YMogc~%%WY?W?U%+m zUP5`NsbB9KV`a#hz!^`!hhv`YJPSO=GnDs+`t|+0$NgKtxh`D}x$S%#IM=06-k?o0 z0d$>V|4V_}e&_wqvd28zIRre;zfj&q>bH*!@Ho5_IQ8udx$V3RIOlsP?@#KtpX~Iw z{}?#+T?e`C`~*11ODOLEDHtF-4^}$?_zdB0zLY)Y+0KdJ@jfe*ceDB(Bm_Zv-;gjerNLze674gZaZ%SPXA^?o-6O);ti9X-Zz_UkpYa`etj(UQ}C>B zBk-J`xV(w#cZ53fdl^%Jd;Pb*Z6UXvQ-RaJP~OezcO>lm9&p+@8*@m-FZVDdv_fXyp^}CPa>G3oZIOjtv$ZcmiaQYX@`>FaJD?2@} z?*q=bEP~v2-VdDTs!-ncTV)LNJhz=~fYZ*$WRH2avn_bEGnBVn{d%4_Pb-1*+}IUz z+qnw(H08-nDDMgN>v8FJHE@p4Qz5sVPXo8#wlkEsH=&jF`@p}bwU z$wbKG-RH{PfZKk@^9|W!p6%=bp7Rrzcbxh?L>-M&dm?b|e*+=6ohJdOf1$i*)vwPL zw)1zuY3F&6+s@~K)6P&{_iZx)JPh&d37mGmC40=XoxQ-LouRx{>bG2WdR;mi_!!CE z42Ilx9s``~QYh~U^;>~>t_IF{o&mY-d>T088OrO_JY!%b?Cc7hcD^cm%(I=lf=4?; zc}J<=xv=wC;Iy+ZP)aMly&KyEu< z0`9uO=7#c0w#)ReR2_|1+ZQV-vU0tiqu{Sx$S%#IPDDO4QiQDyb5-f0;ipSmObX#&LQB@&QRWk z>h~zvc?odZxi93l^HSgw)vudS-iPY<7Zp&}cYyb| zBDHrzZad!vJ|H39UfX9nIz|0WR686v^ZuFaG0%360FQYO<=v+DjlQAhYu5Lu@Y8`i zJfXaIa6ch;Qy&0tD@9Gz@_s@ePyGqJb_L4&5O(^#A^W$f&hL|Ce`~c{0rz{v_3>JP z*BNp7m+Y}V$8&q|x)dmH2iVyacFvOA^ULou&I3L)A>Kgrt1>-xIPl@nHwbc-d8tz1 zo+r+GC@<8`q&rz)JYVe%DYk)I< zp}bH#ljiyU({UMtaotzvR6LK!1Kd<~%$jKg@If{G7))^B2kswKHknmWa!~$lr9y{T!%R@+jQ# zJPbUqpHaAZrQqqu)EMAAzbDO`34MJLmnePZ;PnIVe8~?N-a~B^?zmh8-tOYv4BYRp zn)hAEhlqC*aPJ%Dh3cz9zxpwCB5>v}Y2NRlkLz`mzL&t`dbYV120u4+{-SWlb1U$i zzmC9}za1fW{yG3>{zCPAB>(N7eoXxXIP;e@ZxZ}t{-X3v29NnWMe+rhe^I#ecN%!k z-?xA>f0sh;{9Of{`3u!I5B)lSRlu3Qq@y?FI3-~@Xz`C2srbXG;a+2WB#J_?E@b3w@UIw$X^uh{2dLR^LIUP zpAXFQ^LOiW{w@M6?yzJznMk=Xgn)_dDo23;spvdmg;A z!E4$w11uKq{Wc1B{x$>8}!M!#QSeM7~&55Wx_pPqHxFaV(>g(ZUN5u zel6rfrT1pwobRFfmZ4wg?|9(MU(&pnppWxCO5e-ialUV@_hXhLe^I#e*Bm_OuPboo zZx_g&zb?R;zfgT2%YXal{QVO+^OrR5Ao$1pMd_Oc9`kpGYzCz(W1Up%mZ?Z$iaMv}(@?$ID1L5D6kPnbN3U?kt^}QuOY^TR{ci1r* zcD@Z>3&}qP?r~&0LwTWgCe7OoahZa+ES22ztE=QuxZ_dBjd>4Aew^abMeV1+CkbyT-X^Ux3T($* z==(nGaUPn2HxImtk{>U8tlF8tUC-LT?vQs7uN*j^YlrgMpkMnp3pnfRLg7`wPM%k8 zmHZ^d(d)zyfO|eW50^mhxcm@!FZFBQrI35Q{w{E?*P*;nJCo-92>$t8;kf)m@>3PB zUDY;gllh17K8R=1yf)D1=hn9K53tjD{}?#e-K2SKVJGYBD1Gg~V?94h^3#!rMZlSd zP~KSd>v&ED&UhxxTMT`DG0vj&Edj3|c;AuyOyQo_&jV*&7s@*i{kooi0r(WyStz_0 zVdqrX*`jR*@IABF>nPmwwiS4;>!NV;T7&0(APP6H9eA$mqHy#6DgW)C=fkGxkMkjE z-j2{$j66i?+X+0@b+aV*y_4&@3xTt)OPY5(^eu&d;~;k)?f~w4GUspOcA1XOSAXNx zHV5wSX*2I>^=sZP;RXD%gw;6pl>APuIml}&fj+m<%QarH18Jpw*ql_LGnw4d;fbAxa&RVA!*)c&^HKn zJ_@<_&Ch`kE>PYVu+#4?JDz)L;9VyBUB8tBp9cR%K<<8{@VNTMLZ6@0M&WVwO@_X4 z@;?fXt8XUs9VC5GcwBvLpwH{s@xWIi?`$sPn?GzK<>QX2b^_e(!95zkMC3bVIp2K^|@NXdxgMfRTb6i4s zJD^|3vmfw@qTk-U~z7{yosiC}S=-2!0b-;N}Efn7M zu#@N1cO<_?@hn#R5%7V+JzhS9e1POpxOt)a9)UiO>n$|^u91G`{Za6|KRgTE{DAd_NI|n>P(S-%mv0=1m9B=b$LuydmIuyzB#9 z!yvm3Ce51xeV$+S*?A~<+^4UX{6^)^_Y=rF!k(SCp}bH#ljdCt|Gdt5T)!gu_mv0N^X~&^9ho%m zpU}s8_YugQ_h*1}-A$VJFX$VEaUG@aOYla6H&Pd#KR_PF17{vWdAp-u$8#`n#xrT& z1n6TuAEj?1c&z77mi$MGr|0!Oz**OY@|L1s*Yo!RXT4M?y!&7$>-o$)i1yf4A?dKZP8_bPav4}S#C`H(d4-_Tc#bs|dN8t_=xjV#J^ z^b_^xx~>X1>$;?Q7ee1s+2cGEL+(6W1f0*E-j)1r^*2H7XTT2=Zhdz_t{+pM1D~17 z{1=yZ1NyapUjQ$MzCz*s6?V>oox?h0fO~~|zK;RUaor7a$K_n$E1<7C<+p8kHVX%|4@A;(C7Q~C_JvdJ)zIfoucr#`bI&Y&-YPyTz&uU zP&@Bl&t}68&f7KMc|F?_JkMv_8OjT_GihEW{9C2*Z2!J5`9s2ePQ4p=?*`^Q27P-& z-(`?H@7Dt7ev~xtap>cDI!fPfz~lM0Ri})@zeFC2fP0;D{z7?Q${y=;JU53v#xrSN z2k7gIyhrKl2wp$%#!LRFaL?;Aflp3|Hx&JPzdZ{$sNI~#WLoce_1zgE18)&3SZ zpF2GV`2g{vaF6Ryecy*ZkLy1JXWnmz-21~lz&(y^XDBb!&ZK#NfqxvIgF9yu_8aBR z_Y+aL<1z$1pI4%A^M-=w`-v#ryb<8}ej*AtuQPZaFU7#Q4kpdp8~QxI>a%kscqPh{ zd1p)hlyKiq+yk8V6G`))fWEn~b0y@?!;`@I+-YYyv|9b`r*=2sJO}(m{hFukFx3M* zJ_icry#ampuP5~Jc}}75dcn@=$lnUdpB3&p@_69I;2jFN<8lIUj_bo9_jE= zpF4%}LhVeNcOv{_UH&V{e}_E$7C7syqw-5We+A<+3ODa<@OBeF3ODaP@cjNk6mH%J;CcUu!p(ae zJkN(0fU}-Yn)fH@<31Lp??dpo&iBy<`?}(<MQrY7?w1?bzI1%_V z@Sd0a4dM3VE#T$g-2l1ky0?MPN{Dwc`n7-W0Iz_)LgBp&J7>erK6;Sxmhc{G2LtE$ zYy-LDasqJPN4ACBbzN8BUjIGLLV2NfCe1q${vC-t{6O+|gxml7fjd8rOVYfjpl=B5 z{5Is?H&+8MD^T9kuyZfi*;*GF?+JH(GXyx#jk`czDt;91{Dtb<75es;z9>Adz7pu$ zU;3i(xcW+=&*%FnJg&aKXk0k&Ue6AO9bC^o1JCPO6YxBrZD%Mi)Xt=NhrmCsXV**q zfyRl#l=>lXo&%ERJq&%LWsmc44&=`JH-WQ`Oq%x#=o^!xoxcQcAMmzT0soP3l>@1E zz`f2nE}^_HWRLYZo*O|QiCc7#5TvnYK#f!81L+)wgPgnM3}3Y_QEP~Kql>;3i{ zzoO+Ue5>4^*WRnYG=~C|{OvrsT~qKBI8&n{R{X zx-JSg?>+GJV=4+a?*s6Pm4_(YyvM=we0Tvk*O#Pue}X>le^L5A1dsb)AN>OG=5p9| z-7Mg&>yqXj4SfrgALpSx-7NO!wZx*5O$7$ zoySYQjRNet;Y#2Kf_EC^rIJVC&R?j$^PtbqJEHKo`o0N$2gtuDJg&Zjq0jUEC&0O$ z9Rj(}EAxPRe%a1YUZ|Z(^X`U!i!eT$6lZ`Ia@gmU?SS)MF=<|B=o$C@fn4Ce0BoQ=anej zysqG>98X2z=5+^8Zl$7d^EL;sx#q(Tz`4F8&D#z7^keqD?I?Xcz~gykspLD#VV_s7 z0nYPE(!4vNkN3&bA$K0`0zMz>XHz-6ll=4gx*c%dC;wjkn&*4ymf-PTIF$D*=(B&V zpl>?-D-_=LuyY3N94UEw<-zOj1mL=k&yMS)d9$H!2<+?wx!3DT;AI8Mn*%%fe%ALS zFH#&I+e7s@*T{W_k90O$Qg(!46@<2Z}b zw*oxgPuw8+?uw`9^((-+zlZWJM!&9iUj@$li9+GM20M8_(ME|W#`uiF^|92B;CVfd z!p&6Y;{lp~5ormuO=l#T&lJ}K=zMt4a3xjdi<9kK{lpN-`zsG#clQO(`YdVQbm-&#L=VWlUe5qthWSt^yhC9p?L4Ujm-qD5d;BR3sZd_1ok{Z^ zfqzpFmmLRWfIa1~w)NC7;9LhgLGJsBDBST3)z<_1d_NI|$JN&l`g}hTg~!!56#9HW z5rxOq_g9Sz=iT$@P}s2w{f&7I3bgp}bH#lja=- z|Gchx-u_(j0|mIQdlb0u8ykxE6!dXlxfOEfeKm0IE8m0MdA}Pt>&Q@EsGUjko`!!a zyR!T3&bsKBsDyf6cLL7&mo%>@^y$Z}of|>!y!QgWC)Tr#A$Q(e0r&l;$8{(#)Xt=N zyTd=+@*Z)5N{US5@af#TwO%r}7Z zzThBrv`D-O8o!4C=e_sqk}nZ&ig@n;pN{zu${R5>)6p{M+Xp!Hh4SuKzg5z=Frz;8 zGvNF^n|X@&;o>@Q#r~XUXuL6_@Mw&HUq5;jM(n_3xMJ_crMJ z*Vv4LI}_H|e!on={|9}?DSr-x2)yl(zegnh zh5Rp(yw8D|e>@@F{prWl`og;b{@IUvfct!I|Dt$(5f|nmiq{W3=3$KFPa@tkfYZ(> z-W>3DN8Y1&bHU5*i{cN_gY5D8c{8;qiMLwz8+SZIdDB#9PE$udPgel^zFH^BM4X ze)zi2@AGwjs8Bq8{#yu~&jSvD+<908-1kmi2d6{cR(U!M_)f@QC@<8`q6z??f zj)1EP^4EatIGLt zHwyahhTL{up+p}mJB;hcR3k4F$i}#2;?PjzrBdVY7!ACc8o$Q?Un$(OKdpP{@i`eLk; z)RFz~54=0ZOB8Pac&uB0B|lDpANz}UGI0AB%6m@zo~DlM$Me8h4~Fs{M!$~d3&4H< zXaADsy$F50?`f|4-P2`&-=o_JxQ1i4F4!G%-xur!yaMCp>*j3^dmQhfz-PnG&lESu z#rYcsp6?%=zodD?p>GcCoGUv|l>uHSriph3aN8Nm+hJtJfOFK5?=Lz6=X`Gkx%aV7 zz4!QI2bKw`r4&(MOl($&@o~MpHUX}rO{cL@QLT>+-1Lu8Y(!46@>y7bpvE=8= zaNBtUaIOMtAw$y>*LfPr(nA-s7`R`@fW1h#ww&3Y;Qg%HXF8M{$=lnL6 zf}4c9KmC|$#>73B8s9N=DeY-i~6_fTGI&4{r(R#kj?Y)n@2;|EWAMho&fkGoB>5)bao&cmpP{^$WY0AUu*%=mtH8DF zW#e)mj}IEcx@r~ ze)}`wKaw5B9nVnST=n|{b!0n_1nxS@`l5J8fyeRr9m#*FjylQzYk_w~T&{rJc3ubE zR+0|{-W|Lu$sd(}elPZD;5>JP@(w`1w)0rv z!(itXlK)C}`kw4tz;_1kyO4L3{088hN0&qH@p&U~&ZAJ?#pu^@`9k>P^4qw6Ooj4Z zRKJg@Bm4InaMw}R7s?B@vz<1?-^hRt%3pinzMr<8TSM-+?E;*6-v;vSrLP5W$IJRc zd7*YD%`1X`9M@m>?~}ZP z>gxcx?VJx>%SP7DP~HRTx0A+^&m|85pM-I?5^~%5FmV1JZ78oz(~JS$Z|wh$z$e1a z)w0Jt+qn~X^e>cGp?=#>euVIz+gSyi@eJkN ztA4$&dwl*3_(+VilOVU94*(yP5U@EM96LDZ-6tNp}ba7FhF*WP}>?f$JvXr z$2{BF2E5Vg&+|Q$w@Cf^-0ppIDR9Q63*`DSwG8-L;|20ud5`IX`gOmQ^ZNvFjw6iG&*i{5KKns#JF9?m ze1`HKQ@_KMAII|v;Ed-NhtveS7#4LI{Y7;@WrI&kJal($;_`kd{&KMS0BzXWpI z`5bWOJ(SmTt4tt$?seYx0M5L>A$!cToyFiW@1eZ&R3JU0fo^@b2!9T^=R+v(yPIa> z(nsU0mD(GD``${|SgCJ9u5hGo0^Uyj6&mkm*y(#R+xeN~{bawsb}#i0;6veGDDN@! z+g$zr3%Jiswv%;q3-O)=&v}i@3$-(8-k0#t`?39-p@}n4@o?Q#0o?m)T;A^J*ZHdi zJ{sd?56GRr-oTl^P+q8=N%Q8wzcGl*Ba-|4;QajtIP(|EyBz&Ge>`_Ee^-F#{9Of{ z`3vQR+L<)(Dfl-A`D>{cA4yqkFKfbW)&z9RHntbRKJ_j4!P8R}mO z{d%000rztR>uUnJ$Jr*pInF|Pp>`(C+YA1=4s%?NlYE%+=I2Of0QWdD&*y3LoQE^P z>yB}@6msXm=V|xHJcRN>?M#|?7X0S?`>EvKhnryA+o|m>Wlox7e(!Ar~-zvoA50bk+@qBt4IP1Dl-tFku z`Fj`mKCtr+$eq7?fir)hyihxn=Di31_C;I<>HcM`@M5)5xW{!VcwRrFaP!)N=lpd6 z?)PjPiZ=xM`XVk-c9wzX`wQE-K=S?6Uk|lWxOt1g^ZP&F0Pg!g^Nxpni1eKb-1~-k zq58(7U*~TIaON**-cO*9>vfdAyTRjn_KxJ<_j)LvQMlvzK6uVwOBGJ;&-EobR7X?sKp6 z5QRH`pMh7Ryl=5}<{$2lb92-cLI3M-=)Brzw;n>{w@K|{DtZ} z6#Y7XhXZH+lIA@Meav5!zF&dI{QXt(Ny?kg+k0%A0gSsYb^bzm??9iny;L#u@!qsh zcqOotb@_71ZGW-idJOP^!X3|}As--l6mDLqzKPK1aeW1F=6w?6EoA3R;2uY|Gn5x< zXVScH!awKN{=F`_@29&eE>XC7e*mw$cu}}{?||1+yeQnf_rcpkyeQnf$H4P=`5kbs zgGuxL2z{Pk_1XCWc;0W!E0IIf6^|}zX9D+n*igLX&^K3hSl>>N>&H|T@Oj`pB>4>C zW7R$d-1V&WT>*Iq@m2%(xR1*_9sTOZ)YHIOUl$7R8Q975N?R?MGZja#6T1NSe0DrH zhTL%}0^Upgnzsq$`Z3iUIM?e?UZ|Z(^E$x4-4U1hl2-`dRqYDkzDIXFljfZceSThJ zeG?#e-VX)NbvJ3=8PLc2I!fP};IW>6TJkx_!z;jpkZoXhouRx?JCo*p1poLvywCQTKpm-gbyiyjocqcykUI~10WU@#iXe9$ zb_33RC6pIxXVSc(@UH}MIYaVegnR$E2zW#Du7^IaSDp_`A$Q)71I~IrY2FRc$M6K_#yDGP`(C>jD4#do7+1%O$^9@$&t|3BbM1H5Bhc=;Qf)I^@p#Jm5S(B+a`B`bJ@#Md`a3 zJigEHlH`{m5AOnJ9zuD)K);UXYT%4#(!BSekM|Q%`rZeR_Y-Z}WdeDH;^}#PAaL&Q zp}bAeuj}3Mz^7om6bf$w?3@Za&yxH~;a;z!aIX{Rg6H)-3ODZp@O(cJg`0OVc)p*A z!p*A!&-39#;G7Rh^DcqDV&ox8-=*O3e&Qv`uU3D)pV(r@3}Bq+fTVftp^x_ykHAjn zVHfatKe0&iZ_7X5PaFe$8sa$ua^FuJ3;f`Oc)iiD{W}i$A<$PSyyIc#bl7>j{Ra9&V@F4}tdlGh*!OoUisIC?6x}hEL!Qi!le4ylQfe!*N zRNp7^!*+T;^n*U`)1QLpdj8+QJ^sAThw?)0Oq$mpabZ1iw&XV`Kdz^K2%PKL#gLbZ zAB8)fq57_ZK0oJ+!sF_@0s8ire^Gc`eLsLc?>kX=Tzzw)&-3U>;5>)VgWU6I1#r%z zP+q8=N%Nk9e@9|H+d&70n}xgH-5Gc<@KTUF5AA{T_X?Uo?mTP_TtB8fUP5`Hb|%f+ z1^&5Sw|{db|DNLP`-$biy}vaS?;Fs^`-uY~ciyK1*RadxFKOOs(8v3UD1E1c$NPz= zB)=VbcnLW35X!q7{W_k%0M2+O&3hU8yq|iUMd^D5Jl;=~XhHp<;_0{z0q*bfwZ2f^ zHt5&!YyrF_*0ZE}U7@dAj{3^L8=50;FYtzecbepP3impHpdV zxCs7vzp;O}Nq&#~Z>{!j;GKlWfd%PS2oZ}^wcN+Tjc)0{P$ICp(?cb%q zIbNc8mx0Iea!SWcKz^;b_`G%+aGwu6Uba=B9v5$d+U)U~i_dxQ z1NVDBj%O6_IgB%|pO2znkHg=Bw;l4gxeCV)^1np#lU1nhCfxnm&h>@&p8U6e_Tx+7 zex70fqIjnuF3dv|?^N)Zhs!1Jfq35roOVX>?gG#IoBfO8{U3NdPyfAHW`KB{Y^L$D zTD)Ge-?;UK@(xiw^%LpQYayvaf$Q2fdoE6zHwXH(ZPlx9E_m8zvb?YR9PnjPCXf#* zo~}Qebf}H<`O3#dwdKykM&R-NkWavCo9QO?7vMVy_jn2Ah1!`kZ)3#8&!6pId&z$; zza7sGz&Wmy=5>cYj_W9WyMf1X{dJ#LHq*lRTg9`#+E&1aW1L0t+JeXXtUtvR5! z!8;WCDkT4%aFr#gWx)5!k#`h$qre*rx$W$siT|QLZ`|Xvk(UWfV_Y(EXsGe>H;vC1 zG!AE~-A3cn_)6g(pYMWqfaIS8pOFynPW0>jYFpUJ=VMX4=HML(I~(U;CLsUq`FFn7 z`Dc}%R%(YUf4>Lr@fpgSuxqBnSJkimuK@1%;H)o-Hyb?Gb%)50m*K}T;=Kmk`a*e4 zbkFby^=m)21n%b<))&hAM1EMGG+bZ%ai794Sjr`v$y1LDK56>K;T0qcU%sG z-0R>H;4}Zrydkj1_aRGxm&49(kUM|NfX`}R-g4-xfWAvK&fXC2b>b}X-Ujach4Myg z;=HeZ+pC=job!Dou2jbA9DM5 zJ#gP&G!*X!=+kvmc76GUlf z=$oXAlfNgd?|Ak5Pw3lG<7{J%v!whx1moJ{cL2t<@5da^xso@PJzfV_0q66^qahzE zKhFTZzi{iD0J-ff2d?cdyPiey&IHf(Nqzdx0`EZBd7I?T6c=5yrtSmIb?^qr?ce>t zz3$k~(C1^JyfK;&f05sg_hjI%6K&@($cx0E0-W_{=zI_5?VjU0?(6Im0pB0I(DgHvx0M#6FJ;FF zwc7$81v@{KALjYq_+P+z{)^%@fj;Iviq{-G*EJqz@57!V`SFB!O|3V5<;I`lTwt(Du+5x!drFo(6_k{9pmOb0cKacA> zfpc8n2)Xlc7jTa2Yaw@BPS!zxXW3!gaS7!$(S=28_3QDw32>Q}9cP~iFwg!q1y4UV z7_S-h@jj%d~YVC3Ic7Uj4S0o!(b&2JZRnb?|D)y-wZ& zocl`Xdz_)XWlCr#`B$Xzv;sK&OPY5g^sx?^19>aic@l7y7uj|Ge#tw_zd_4$=(LOGkAZ5yrbkF0p~n=9deJ)kAZU@h4NlTzmCgZ zS{S;?Z{va_GBH%oaO@(}W z@eT&=csVYiyihxn<}HSQt}pH1*ZsctTT<-b1M+(JE^yZ;w)1C@Z>Idc2VC1sb{!1m z_1ie3!0VCkF$V%4D?4oG=lX|vwsR18`z6FXU;X-h((&r|BH)vtZxrOV^J3tW6XLz6 ze!Y$#sD3{HJ`wt^f!ucf2{`==<@MPlV}R?O;j*Vc@R6|d@3O}{+c^L{-kXN<&QZS| zWQXHVJ+py zEZ|**YdcAW^2VUwt<-M?aIYiQ*G%#O`n-NjEz&>yyVd!1@9*^yiBt}@b3xnTo2H{P~HvOWE4%4KKu6!aNmPDp5KAo{yhtPsQNYU_wvL0l>K;Byo2?5 z<8gTtw#{@nL;d>Pd=l`Pl3QQWyi1|43i>{f|I>xr|Jz$-fMvjK=hw~KNQ!+w;dnL$ zt}-EIJ6}|RV4nSJ23|kJC6w1!{kBzq-PH~N-V^#-LT)>GuhAc-ZQvvwZ3nIXFERx?)4xpZ-ma9zGv`#&nV!G%Ri*p zJli=MJg>jDGnDsj_3QfyulL^tPJNRgx1HAlXC6X%|5U%7G~OMze*#Km=cHRNp`H9P0 zqkg?^x^CP^=Sky^v-RBvp6%QiJlBhHd6U&|59NED+Jk^Q&eqo)a@#o#ILAvU?-upz zeZ%p*4LIXD2Xfo_ec+5|C~uQZGXdN~arC&~6gbzVdt{G!wsSM^xGshArmJ7qANKz+ z;I`j+-yU+?ITJYNUnuV`_1j1B^f@eBaS?%kka`KkP$Dct#+2i_^*{Y3I|;rpq55IFsN7;@JszX9%k z9nUDOG2l-6NPXj(bAzpX%>pbiZTt8;d{YmrAfW9N( zUzENx!CL^{HImO3-b(Eazp&4SihC?uFcWcn3Jwr9$Do3p=?kZM|J4z;hJmPHMLU-VJ$3n%5QjSl4|a zKWwM-uq$}1>k5U}4R*4w+fVYjinH&F#slw)JS5GlfIg0w0gyWnvw`z@N1^a4VJFWy zXGuO!aqg)0eBiqx4@vW`g+AI@1-bKZ9dMq<3Waw)?BslZTyobnKL4!-?mEi*U(&p{ zp^x+S$B;V@?*QKm>C%_dUuTz`cLlzodEhLtioM z{3hhi!_R=16e#Zj*vWPG70DOLe$R(DffvEQqKWwM-use9HTMLD^2kd0sI$rW6%7gD`rT}+6>vbt< z-W=%bi}_aux$`g=xStc*&O+hMgPp8H&X#^0dUq!N%Ou7eYA5G!nlW`NaNoyS zUntM-@mQbl^X`H^%dPL5kn3?->i>Ydeu>Mw6#Y7X-I`?rw6J$$K`Y2jAx!85zExV1|&QRX_ z(l=cFdO!XcxbMBK?{|QDePqaHc`AsC@%J|1#sU3IW9@_wu3(3hg)B0 z-Y3g{KVOiVR8Re5r2IB+eWAP^H_voFn`MvJaofq?Bl3FSc!u(Z zr~}tEj@wY+`y(z3CiVx$XQlaK|k!Z-Vy6sq)+Br+L7AA8CE1kh>0<58UUjLgO6{JGpPZ zBKbjz%M!Jp0Y4q%t(+xdOqLlBoj;oS~9ea>@SelPhUvcJ39SAh3~e=QUU^JYrk4*2|pc=y8|=iwpX zzCW^mN%MAse@DQ-D1AGFw*b7pl1~?|$1$lvzhS_fBdr z70?AsP3%%l;+Jdl7c< zKIF%c>&MjZf%{xxI}3&P671}YJfw8LHdDCI9ZiAn+Q7Uv(8qJYALWPbbROD*wn$vX1uzW*FAdny$#$8$Dt?zc(vDxt3k`Rgrtg>aw4mk6H&-19G#*IFHT{coxM zcLUy4xE}YWLV3;6uk+9YxaXhsy`XzV=f`pJ_ZfR08;{F7Pxjbv*TeqaALE@7mr&k~ z(C72RZNR<%*}rokZ!UYj58V4vT;7@J*ZJ$Bj(3xOkG}hzaOl#^6q(Etd4sCx4uwb zX|qg+{nW45!F_>yowUACUO)8f`7#zb^S6oQuD=|YDZ+iPYut8*@@`VUu1~xU-UZz2 zvh{`X{5?a~=lnkieO_m*??%WyAASzp<0dZeTJ-Du?XhWQ0F`MR8MnSr-e0B9b(H7X zm%zOqSl?TaJ1+kQ&Uh9IZw>5Z{;9d}n>3d9RTFeh%V! zJy`no(l|42eWAQJ)$b_v>-Q)8o{sUEl3QQWye@Lc`h0(FeK*U_k??<*o+J2qFXQrc z^R`mm>h~bLK5q-$&#Ua;s~cq;GtYiB2hZzdT;2%v>w8hxQ+%(&vgB6`h5&|FX+1ga@+YhaOcPI4CQ^I z4xCr7Cw~9h_};KHl=oBUvwwdD?s;$jLV4Fq!5G=UMD0DmPlJEsA$K0n1n%dJwlito zz0h|$>>LWY>y7(>p8?*Mn`eN1gnQikJwN00uQhmno>~Ol&r=;?dLgDp?ovgFI?(@S!*)u_Lc05l6&T*YI?qSZLJ~iFgzjD=x#fz%SE2{Ev=9n5Cr~jE&R6{}E*b0uVQ$e4S z*a}XO0v}=0?SDMz(+>(pEnYCYa#+ZiVQ=E7I=PN$G zvP`$x_|y(ho)e){ojunIOrAY=uB+$TA<466UofsS8hvXG_dI*+X3_&8d^8%{~aNv*%b#qK`c5?s-5An@7}@!Ttkd^z6C4Zkyx8*&D+; zdma#H>+u!Mx_gc@o=4Xe=K*oH<}r2lTx%)Kb3E@;XU}ogjeYCtd0?D4kFT@mIOEyZ zLhBqGgKBNLdB*uL*?d5aHoIF5(oD$$ed25~6;k1|bh<5FSXni1@$A8+v#RUCUe%@4 z{FUYDlCX67QOm0;7Y-ggamB3V70c!?shYodQCYW=-nD!Us=$tu87?c+ZN6soskQ8d zR3T@|irF>VJgw**XC3p!Ukv@VgOKOA>r%t-^gq*fVxiwqA8Z>(y{ zPcHNIG*$uSuY$>2X`BW6P=(j!O1kwt9bH*9v1;*>C6%+YYt(-8t8e)hRW7T(*(=tn z=uhk7Z&uWT7VD{$_m2QGwR_}hW~>KM^TMO4V`$E1#+g$t(esaHiOy-cn%O_j*jy4E z%@S2@xtba4DZ=t_GxJRPz&LjmD}&AKo##xC^?c(fnR!u-)@iJJL2|+5PuI5~mDE07 z1yxwzkd+tKXsy3)Yh82r)Ad?gd;JWl$!w%=?$WK**JGJK3ikGG~qX=FHlI+ ztre%Otnqwlo!gS`Fife>*4kmsv-b04bf~Q=@pH8`*4{L?Mm*F1%r~xij)8u0HmD=w z*;ogg9NsTsVgZ-F2OQ>fFNMOhE8TMS+n{Kn}>k06nJnsf#?N_s8pwBbu zHfv~oaZ2DAeWLXHjl*=Cv;NxqUr1$fj?~Yn(dMc?R@{qfC`|t|Z9uMyYrCE2w%;v= z;#j+QaU8{Qj+Fiak&qn6+GB^t@Hp0%xqlqRac&y@JM$r-j;3Q!@-%O)wH?lL z>FOS;HP$Zzm4s@I^{YICg0;q(zr#Yc#(Kf`fMBh0wuLF7T791o^joW58Cy$xx@AX$ z2Y0Hd{>_Re`pDKbKAQe#1Z8#&$~L0-J=t`-wwCIvlPU8nSB+adyK;e*H51cwE#0oo ztXRBoVfmuj!{^W4r(*G|I$^K7YYleQcpVdevwn z``BmEoW;u)mZyL7WUY?2QU_gYw2>X9uV>ckVRJEi)Mz7nn7FX|W$<-IWwROvr2m;V zD6*SL^A}XEWyqH5Vdokxd+_gR*BU}jOkKe=vCd!cmg3af7Vse&263wzCa3?I?jU3O zI*2ug^7bP74WD!yMXVms+P&>?%lz1*7B3q)dw!MK+lpOOqpd^tgv#>SN159q56u%R ztDw1g4UOr47FGW*N^>>4mgeo!gzEn~Wty+rb#tBaT4QBn(fq5m>9%fqog-!=b?2`k zNVnPUYL+_~Fzxc-)f_MWdXUcIr`rg9)x#xY!2ab6E1kC;#PdtE={A~QEAVYQ|GTL(iUcTUt@Rq-w>o%GtfXA{P6%uf0X4+tTVy ztZLcf1rw`|T2NWmC|O@);H^I0R_AoVg39XOQmy`F)c+Rl{UhCeHA+`3tElWXzxuaj z%W4hL^Z@=!w6c7`ipnxCLFu-%Vp(PN>2-FmL@U&a5LJd1yir+miVRV_2Dzo=akuY7EX zq34T;uWRVlT0U#%untlE>HSP0eom+1H64|(bX#Yo9=x)ATUI@yc1`YgNg;#jQK@;{ z>Vhty)-{HfS1zhPXZa2%-Igz#yJBH=&9pq9(f%75_LL0_ybWqV6IaW$XKiBohAI7D zy3LG||7<;j2kR2A)|FQSTKAl+dfwKB+zvLNeJ{wamuz27(W`Y&*MQc&EUR9#b#)!8 zv$DSP>ToZ^_^*W$>DM3{PJ;r6*SUzkC*vtJLpztfyn9k5szNuH&_yKn@=K)iu>u z_mcW>UMjDVs_XMnx%P#mchYoQnmJ1415 zcLWA~EuIbX45+9W5pV?jlE#k|V05)AC-Gi>i-B%gSd}KLc_2>iKAO8N`nc*S%MT@4x0KVd=K^_{iaF(}KPw zObSyQ<_NL(vz36kPK1AxKHb(%M2%^m{k0VRmW;m5v-X?5|2ak0`9RQ?Y}k32r}(dQ z9%d*m>DGB@(BDa_b@lYsT9KW38)j;}OV_#dq`0(UFuzi{xUDK6>O)2XhnR|@)`A?et_x0GKh=5ILmWr|C>{m(Z~ z$NAzkFG%S&k9!8sXurvlZcD5GoJCnJU{U3&vNvV>KkD`&ef|D{{6lPL3}zrMKk zmj*Z1e>sehuYz6uf5Vi3y`6}3{hj_V-PTS-4t03Q8}DCftNuT)t+mdMK6_@*asO*4 zW_v$U@t^2Cgw)}&e)X=g4)XO8_k>+o1>l?Qi&)!`4w_UG&NA>JIuYdRyX^bi=H={a2{BQ$E&&RNb+@ccQWCPPXc9sZ9FsMX$-b>JIvK{Kn~&j=&@Z zf2OBXzEyY7ch5J*J{^H_#r!zOew|f!thLH}MT1q{$IJH1>h?k3MV43H(EwGqyQ~?O z^sj1G|MAJ1wSDG7{BpT;yIqS>nm5jp|Gm=uUX6>FJw9TU=0Sfrt#KVqN8lAD;B_Y= zPH7(WSDG60kdD9`ivP#XLr`fR@<75*H5*IwWJ~i;l*yL*qL}ZQKIGxfFXr|w2+fMD8yzB6g zGO;oC=?Jt`%=d8Y*I9?hTB{no4lkDNW9s%HWP&z89qw_rkF4FlZmUCvwymz&cFw-L zmqt7Hwrrh`=F2kQ*|<)bUZk}f2gv-%b-FP?f8i_W`GigV%J2qqV~Wh5Ubh<|e_gz$ z`RS-Nq#HA2ens7G#Ccj&)18JIRI_FN;dQ%F>#wfo_=TwLw(5$k?nK*%q0ZP+8k z-hW#O_^uNX=YC*7$e#nZB^%~UwfEO5{y%UYLhc7*{XL<^`+;Qd2Y#qbKIe?)eLoQN z_f|ZhHtgy2X9fM=4t~D(0|P?}#m3mDBd|s>-%;NQyk?#E1F_aB5AJl^AkXP`lI?x$ zLyY>haT@>cJ>Tl9aWT>3BUb$ywAlC<*H)`ex~=`I-o5-CxMjt;e5k~;s@AE&o8tfc zuMSUADyKT7aVp_~AqR9Nas&Sr?t>KnInF~+B^+{d>(?C`D`8LiWPXKvt}=O+Gn#)T z9CD@IIGxfFxLHBJ)4|WT5*`$C58oL3bOi2F%%67b*Ifz6S*yHfH&`Y7jBJ13KE$bn z8>jI)e&fHmj%Q|t|5c!W)VSDO-|w*|RwW#?*fdtc)n69Y%U@s^{71aM0hSZk$f(2pp=Q zAMW7iT?scn-paRp@yI(uF+bh0UuPv8YpwEL(O{ME8M6I5_ThYamu~$Xf7O3Kq2`xr zXTNDX{Rfz;zg&J=-_1ZxE z;-Zcs*MCwjb(OyE^xOX0*0W?%x^=wL5w2RiWJ%@hbp=;b)E{mPZZ^2zQBZGmaL-k6 z(``0h)sf8%)%lC&t}DJet7bo+`Gd8yDzl%hIr_`G^@;QD&iXZYZ&F-;;`kn*_@>+J z_a+b05jYFP`j&8?eAYR+$}+#IwN4q{$lO}rWYyN+Xmx>XPq)r>{YzU(vF?gYsc-rP zeS4iuORZnS<4A?}7>D?5`H^lNuR7PZl42dD{OQK%W*4_(71dK5-SZUPbeoM=J&RjO zv0ie`66#sqHlX2qssek7101?S=)Hkis~+oZrIxAqf7PQ>z%iF_Tc);&kZQRMG9=O1AL%Xh;*A>=}Jm`JX%n` zaMtYd!QFzs=tEuS^_OzblVRuEz`!M}B+nyA&~Jg-!S!nidtagblS6#A{7APocZtZ$ ztCEsD&mS95bU##7KXY`0mavjMPahjlfInAYoBECU&=n%jBS_GD;OplK@mq!V1&27j zGNk`Yw>hp5d7eKupyD1B&iQMRh+%_dJb~bn6N&{q{j!&&W%9=Xs3VfC4;D zft}$1k5quu?SC#xde{2x+x;t7jmZ2#fT>^oRopuNc$^=JH&e&yHs;r$s;AV?w#)qM zS+#2-jIZ^(Uxi})b29pM8-Ik{O1B=`ncp9*{>uyVSC&^TURM2r&{5T|EiD}EyS^n= z^A|5F>sHdc)@vPkx#(c}b*&BS)!u^tVwN{FJT`8bNz|H!N?5wBJxnUf7c7`nUU5WO z^j{P%>0RraSsDjQ-hbk36Xju3=VO8Lk#1|}qy9fET++MN8?24#$U7aIDGfU~9qamS zsQMm^l=P|fI}v%Mq49TAtH*uw^w{^4++==7wY3sD*oiIIJWIEpXOoxAF0YDu)v=^c zt*^+-E34AAq5tN$Vn5qCn5np=TjyZJg2l_DQxIM^O4SCQf=Y${B&T5AC2j%>nCrg= zdtLuzxp1Xjxm+nuw;oM7ytUzJZAwF~?jD3q^^f)Awf#L6;W9`1BAK6V9k#k(ZS9li zgSj|c==vGty%gM04)Ue)Bi%a4^qV_K~RB!g9 z7B84xx$M7tLGjz|Gq(O-?V1SNc_=Fc+h3B+@7ngm758-O@ty1aL?51Wa`sS4H_$R* z6S-gOQl^l;H}*Y^j%GV#EL{_Q9M0u>qED?yiy^Z(moL_8{PwL(vetEM%g#3?bPFdo z`g$^ldyYP}-ki-RuUUKak6JUqN6!EG??T&BS!nBQR45$j){Akyg>da(kI5$sjkg@t zabDMS@zV`GK1rq9+P}qH>uq=c+HSAq^U9Z1&Ms@Gd=7D5XIAsm|IMuapYvMxEk|EI z-Duoe{i_glevwZ)%IW_OQRwG71&3wuRJwHv>b&IW%ZD$G8OSRG^A!10oq=^%$?;dO z2EXF?hCI01o?ND}lx{tia=7B~oHnHaS9Te=p1qeDE!J`-a1_)}L;S zF@8aBxMI7HV|5zIndCSrR_YW!`!=l=oG54_14-?igKi*{f~!4<8AQ z>(ws*nDyR3NBu*;EB94}l7`q%7k%ywwQh3lzh(uL=K9Li{dCYjY=`yH&s_BlQ-9X0 z@TL44i0;SzyHc|~{#?54-?zAvaGRYAt?$4r&0CALT8q2$&mHs+Tkk0J5^lBj%I*5) z9dn$noYVhBc^4HW_7gfb_s^)$j(ywVG2x%L)aTOeu-UVhRW4sXeDUHVa!o4DW%o{| zTdS4Uln29f18VEj?Vvtd+i`?blZsWYZL7pFbBR|8Lo^_wehr z-=8Zq`@O}~H-7xNLbKoVq(1xoxk9twR|WOi@6Q#Q{d!fc-tq6x6`KA2!nOM1@6Q#Q z{jIcL*nY3i+=pEHrQ51yD=K|wUb7@hcjbAaZX-)N>+PZs_ET&9w#RK$+}ux;{J*uX zyL_q7et)je?AMdidgrA-*HHHN^gvQu-}rJ}<2!%H-{Z>T+VzZouCLz?((it|=;yv_ z-M{s@Wf5-NpSON>ldYH1^6W{$lPoWiXKY?1mTfti=hyT@V|Y+KF{B6nxn|ps3z7pG zYSbQi8fASojVkdEb%n8a)YRcn>n#=TEU%%&ap-!C7P`(f?lZ1`c55Rz%F^-@ll-Av zJ?!&!dgz4NSbOHy#`|-ggz2{AKc{$$bMlo=Sg7wA8+5c+Y=@>a@p>?O{f4Ut}{mUeC z7cZM%xxBtibx?*lOFgEYd1uhAagPXFA9^y{4I{<<(+-c=bUUYf!SdKgek-;EB{IYY z*kQMgL)a-#r8?-JjA7^ycFfal?4uKnO5*6$+ZK9QIu^#$ZDb`ti@w&QlP&hnXNx_d z>`4dxgT}@=1r_EAAxRI5xhxdKNtPbwdj<+E*Sl&AdCl}#^BDA4GoEe>rChh|-Vdh8 zSQmZt$-emWQRVtLe^BifYF&Z4fB)>*nCAX%pXK#!@Ez5GOF`QoHShg7>$4u)k*mIL zB3K_Mh;jE{=h*O~#o**ba%A(;lux;ytxWSR*Bv9rI@f*ExiBwk%uVnI)q2c1B5WNY z)7-xw6Iq_?7}!-EIoD0yvDyx5{kbSP$K+1v$97f;x1HAOpH1`U^NpMBbKLxMRR5uI z>m@^NzxCLD$IYLMlE;l(uKm*gD4y4@E^=gdwdU97ulZ5^bH9t~-})R++Y`Fq?W~S$ zzx%IidCKWhDW^>_r=B8k|>)@*O+T%6SbI3nCW~SL5uML*xy7p{ePfpyQ z-*-#5nb+NOJ~LZ|P4#l_u00&w8uzg9&rM}&y4`1C`P|C-eC!|s4d@}<9b2(m<21mz zNVof!FAUc2`DZ=W>()5+*9<@+hk6FaNwxtt$gT0O-7wDz8(@RnIx$1G!!hb2QGHcfXwIT|T%m1`bMD;L$B&YG)^@>|$hCj-qx$F7 z;(sEX`B$i3_G^3Hf0R9ZAd_!A&5!E;zx9yJ7hE0>j)xaD$HjQMO|Zalw{@wDtU_$N z$3jw7NYq0zZwTJ`{Ii{KtZa`zXL+vctJhiQBx=m~bJl15ZgbVwPXz0Wvz}+4LgjPn z&XO3hx`suTl+UR)5%?HD~7Mo3p(W%vts-BA=XPN%`a~ zOUfr_SyH|^bBvs``u1Sw!lTYV+t_rgZ+^|W+~*u+-ySb+t<&Sdwue3N_^XFx0>2dwH?&jNVorckI3wq+c+NPoeqbe=`ikeao0-AbAH*=p1GZ@ z+`4lPIEiDw(dIRj{adf~*x7WOQ?Z`YhvHos+IGh*sbYPcomT715pUW~w10MNOtU>* z1z28RVc1ch_w|``($pQR?SRi&pY{0Tx#}ww!TRD9>)Fccf2{Cxj2!D+_f6-*ynG+^ z_%|~>=KM2r?fyd_^|%=H7-(w4)q2eNb5U}SUEA~DdPL?q>$v&nq~qqopuV{IbA=u^ z|K^Y5=AV;}TYIcIQE~C-qU2xqcpHm(;c>NA3Bc<9PGu3O#PyA#VOT z>A3kOp}z6v&oxxsa_yJ?NAY+z-d*uDzdnD>kLtgR`g0rAzxCiTZuKaVlE$RRN?45aFT~(dO!%~$+p@_0W(l#tDU6PhUYYW{=X@Nq^4u#M>+LSaY zNlGc3%CO3!GUJ9gBZ!Wuh$x~gj-ZY*3W~A`Is@V^3NGM=%Dmh6{XAa2?diSuQe7TBSfJDOhn!cHv>{*ISUKp9SlURdp`)4U#pb8Brza@44xV;{Ai zMAAgF*63i357mMiP_u+KHCO)^2(Yo9X0|~CF-zD7iH|wlfx@RnxMsObXr7m7-Tr|a z*#6iQ`##0UBU6ez!k4-_mH@_u^pFqo$$0dJ?wQm9dyJ25NBSVG?(|(j?TA_2=bG?v z2MXWYkq4m(ozm9Tv$(Zo<^0k)Jz1v(cJU*&EqmX0D}KcKu&!H^H#Y~+L!z`YIiWQf zPmb1CYfh41X+2PIYhspgNe3;6J5c!Enxr?Oa~F4ZWd6N@I}qEGg*mXU8**nA8i#dR z{TToWp&=RHsDbONA<08p!7D52@WE^O&YLOs1y-&Ja9t#9eB?^(I5oSbFl?36lsT6)?#JI0Tnxx8&v zo~E_*vvJmr(Fz9Q ziYS(0V}NVEo~pflCNkD;9H|$8aU3#{H<)~?u8|MY^^T&;M0pLI3W{C*x&{C7o1PB6 zCPF-n$Npd`=Botkp@$A2Ztzq-G@d-*H{1dzJwV#z&bmBljGM9K>};JC)atdYJuCDM6Pl+ct&i&%1T$HSsS2uogbSv_&_ z9%!Q^o0eRbRF)nZim8m8r3N{F_YnD1Wfb{PT^F_F)=QsPHng&0! zC%K%i7_dofgTx2NHF$|rm)!?dd~n#|x><@68d!|Vdv*npy7Xery=JM!I@d%y*rMec zFSADb{gh~rlcI!Xh_;C37nev0p=Diud8$prY+8O@p{V6|i1e!`byZgvTINP;1j`&9gC077xS1R*U!n2j0S6eL)vqz;7n2r$Tu+0> z)4BM?_;s}WvcXQMmfz{EZ9P~gTX->DUQ&Ic;-^&LxCSp+>cYFD4ocv#!!0JC`JpOH=ari?#)QfAzCA4cjJYET9D4j13!YY?B#rSloTj+R^|Kti>@P2TEV*x7*tObrq_U5?Tq1U5o^a9o3zICagv zF=Zv<>#2kWRw6}^y356syUZd>h+GpYE`Z}YZ>YDVggRe2OK4iCMXb8`<8jfGlrYr0 z$up|tAFYzM>Za+zkBZjS{}1x43DgNni!%4t(cD?XH_?^%@*`#sj~NJ=>%1-X&6Jkn zaYaG{Eme&nb^c(?oo2pJ53ZR%I0269yum)25^RQVqHBUJVg})nN0xO4(b0XKLFmDc zyfbKq0PA=Lt>Nj)oboFVcuhZ$4dyj{ML#vmTX0;1CwkUt`VIb``tbXdeqxW1(7@zL z+)tf1*l~ZEC&b4!agLUs;JD5k=igJ}JW6&Fy4E<0m@+uyL1mpXB#9;&FXu^0?G7gq z4UintpbzN559B_csYQ{XGX+@3Q--u8wE7i%PfJ@neiJwOm@dEYlV%ztJ~*zyOPso2 z+f^qAaM3$c z9u^%!Sl+-566`2Sqr^@e^x#LxZfN2hD!@9PIBU4q%x`PY{pQM8c}uih=WV7bDb1AO zUX!?=I%%-u{xV5IljcB+lk2>39-b0shI>sV&LXA^&X5d($~tA(@%MGgpa(zlPMKNj zXUZ^R6RLa7td27}yOyqcD--AG2$C{g&e2&c!#vyv$2EA8khV)(lG0J5r6{3+Ww<7a z)Cq(+cROtY@m&QtuJeYwJSE)Y6>dVagj>Ws!Y7X{>pWtqr)6SqJ?Oy?rDC-`9*s;( zLJt!FJ)s8$15hm5Aj&-@Yux(?N8CHuy%NqjTD2T@~z~=xeJ%QLBlk`@PWYlag?DJkEEVBiK<23g`(N)A^knT6AHS(n zm|JA}83kvQO-fGI)DW}T5cM5v4c8ZVB+9~WB-CyjMqaUCR0)q417pGd+ z4<0_JP~xI~%r8#U;6irr8-KXQ4)LQ0d)_~OjXxJz-N2J?`Xiw|UCUSdGb-c*9Ddfz zK~6jPi<~-PAOG1ydEej%@iQJi*G|y~4nMeKGM+p5p&CFur|B9wPZyE5n0%h$PuDd& zfKFZG7jdGGc>G$h>eCy>HA=v#0~~o~9DMr4^8ufHU=M!Uc4vt?Jh@%-g!t0pon&!Q58|XAp?OB!%oFT~@c5O`ReNm|0FXa*@B!d}C*H3~#C=Lc zy%gdg`uiFv`tjQnh2QHu(ElrFWhB8Qh5!g~KV=R%d=eVEGa%24Lq9nDp`#n6crpe= z84unI13sb2oq|TALDKSx9|_IX!T8yr58RRnge@uKSaJyj$C0xIqHs`f1P;#iARmE3 z(P^Tgne}^XIN+X0#$g|O-Y6s#J)!*gmoF3=N_^v{0;=*1p%p$xGlb3OPqP~*Vim&Z?D+&+4)A~4ZVAMC8XV@S`1riXF((;zv1Vt=vt zj6==@#V&Hp5Z6#K2B-K}0w{|8MaFkKBPI8|3=^O6_&Y>?z^6XUSMrk3RSOCYgC7i_ z@Hjey0ixhAz<92~t?#qoI3)mo2poSl)LC$t6^3+@M+ydYIe87qiPPmYYP}Sa2lUhM zA>05Bgf{3JoG-B4Xk0&d_)16hXU}^}z{0byuEB-u;5YtojUD1g4|((n<=1TOPPMv$ zC*Sm0LSxQ?`{1Z3aWJ8=kNC6o!IM#z4Toyd9jDPy9$|t`5e}27OT7s=vD0 zSk8jqv4$fqUkVsU!6<|`3JFC|C_k}h!H|9$t5JsAa6l9}jfj{yT`zh{3>0%&|7_Xm z3;es!Zgb8WE=?i zm$$HK`NWTe=IUVlY|sbZgC~%UIzUJ-^t&KI4d=tsi%c=%j9MISi)U|nWBM>YSp=S%^R&(bw{V!cD|N4=#Qzv-w)<}0*O zms3QkkM}A4jT|lTsh{@&K7^cvuP;M*}j$d<#KB(bJ$0=p#St`l#261EMrOZ2Y*$ zxntLh};;={w@sP)Dxo1M3C(r(RI%ftj`19s{K(ZQ0CGQa@k4v$ ze&jk!_)SMHGGC#Mx|||PeSH09ej`T5*$YC8AydrY*R614aJ^4|IP88ghh=OX%8GMk-7PP$~5O zvmCk7@=0EDcd#0>le#gG5o z7>Q#;9bGRE)P?+0M=13`PTfLs;&eIdP`wn+MzLtxI!Ql38w|%fk6NAdxU3$l_LE=n5`mhj_EbK_2}G;MZ))@3FdpC*Sm0Lf5uI1BajWiuZ6)2y*5#_Q?ZBP5OfP z@q=r|!{^#5`oQ5w)}w2e0IVl|bnP~|A6q|;Ry#h>IaPtO= z{tX`J&RUW~j?i%lUE9h?h3Nn)h2DRbqib3|$xH4IRwGuAu5T8jQFIUkL_@b0hNW#K z>1Y~&LUN6Kq!jv+#*#A38VvhB^%>{-eak=s(bJ$0o{xI*@tekk!bcDOxPJ0W12djK zBupNrN}R%NKTwCr%&po@Msi^ zX6-NfqCq(RRH65K>{gsDns3F4J7kA=v&MlwpZ|W%deCKc15du`vxKhgh64^i>y^j( zq7dY4F|bem**en~#E&0bGaf$IPSFPrKeBGcmkSWuiu0#7kyB^#u|oJwTX8a9p^dtn zB1(O{PnqAy(E^`(dmk_!JJSG)!cVi$Jh@5pB&)qivV$M=J=gR{Xr2)t^91`LJboo~ zoo>Z%QzGgWVA_J4H&FC%@Ib#^(8@@K=>RH4fb3+D!&iP^HNVkH%O`os-N7WPK_89~ zZ4@mrKs0n~VVG~lry7oqX33#oTq7SToG)oCDL=9X!@f^_#<_mMfmQ#SD~wP+7HR-~ z(|Az$=)oTf1fTp4fg$Q!@oD0dcZQ>nxX`z;Y{fTM!tkGoP8=I*EB->DugE|3g;EdX z^lwN`oGzzN>ZR}m6pLoLhg2*d%Am8*^LSwe#Cn;_S z^>#aBupa^H%dEBU6aIGL}|MqN%3 zr9OV&Vtyk>3w-MBeZY9^OamwiKg~Y(%@ftQS?x`d9sHp0xlWsB#K%0reh80W30SJZ(*P8bYvd!P(3dopl=oSKVc(}d<6OUQO-LYm8uY>QafbN# zO=CjgqX&PS@Ad`>5YiJGPhPX?XA72f{8kn(afSTR*M6)0@8m+`^X7-TW%YkxPXF23 zWYy2nDeHK)GFiuOpVNP~$XWIC)I95Ww)R=a`~OBXt$%jT887QiR)2QOsefqB@q6bS zKPu<=eR7T;o^w3EmC2exdxxmRY!4d@SFspX@(o*5rGkaZ%}aviX-dYG2fZv5Ojk%=0^Y= zg0dy_%DBU{2;&ku=Aco7#i#OFV57%YVLUsG?FZjr6BQJ9@SZ;6MhZX8J{yPW0-)cs z2OqoiA$H&=w3-A`iZBz1DV_`TI{A?c#B=1d95qNeIU?7`n^AHEb!WJ)r3d&zBAux# zWXLJsIpPcy<7=zM*erv_48T>rHa6(V<80H$ zgY20j4debK~d~YMn!B6N| zdXFAUbE3hVAQ*q>h!aqZ($i~lW>jH=nzCqW3awxynAnb$v*gHQA{NGX!4QRil=1nZ zg`A+DYk~lV9^Xf$)r`iOAw}-L+Z&*92|c1^X=!|#fd&CEfTOM$!%z$fUj4?<^>`ve zI4|4?DF&Zr7ko(nbm?mp4e7@oaWOu2#vd(3_>X?_iyin0%`};^%@fqF&D`iv&hVWa z6g8QSAZSr0(-yjBGI321!0^Yvy-Dl!K~iv}Xs9NB7)jIHV0!V7Gba9H4;sol{-Fmv z@u&GioKq~$zT9nItq&K-5xGu#xDZ>j5YFe=2-S?5r}YZ>kpAh?*C-m&k39{m{^^a_ zb#JN^;eTIxFM6kg69iwxPAAj4Ti^;FDy+v=)Z!f4>98m}4K+^ePG_by4*EA2pKG2X zCUoxN&W`L`9W2llu9=pFhAQBC@Jx;d-{<$rg{EZ4F8Gjqx*TW}4e57(86P|4XUQIU zLqGW?FYptZX*Lx%D7e+ZcXCkFY&wFVMcL{M&^5D(YjOh&e`2>fSfM;CRtlHi;*4GzfyJ4v1&cG+ zq=WI~I(DlwM~Y}1^pkF``Ia@IlUrN6O5NR=pX*=)UtKr0p#um`v_aJM;2Xn3IC6~r z5dwfuvkN|?f4cOg>Bk=aGX4Y@qFHY^hig3kqo4eu7JfoA&8PLS*}->mP}F=nf}lm2 zPrQ`DeBzqi0K=cy&Ca1x6sk$=W(U3a7rWVUJsyA7-kWQ2_T`52YTfLRBWf1A*-5L} z0Gd~{LDc8i2=S>oJ(`9O$)`(Sqi9G!_B5=|o1Fzxg#Uf%z39yjP7r(%o1M{QYHcg{ zdf4oEY(*{3+(>Bz7U$QA!Q#v{>0ms$j@|6=6)TN{e$ve~?-wR?N?TXY;?|axnRh!F z!C6<1ap(Y|6KxQ6Jvhhk5YCG?LICh-cEN}APnW(%(U5-Z;VS_3pe7efnC>ql5?ZWujrDUR3vkEG1l%4#wjTO9AqnSJ;7{&<(KQ`9?02 zdwEw$&tcjsNltLauM_@}v$Iyv`_Z*hA!w)*Tn}DR$q>%hgAoFNPqPa?q<^~fHHwDx zV-J5BAG=1MDMk2?e)5YQ_zBIlMi;mz4CM^p$pN)x4fU9ah4Ec5MB#_l=xsC({alk9 z)S<`ir}g?EDPU%SAAn-f1{;Sx_am#l4(Y?5uYTx3zxM{$35{Q)@q%cE%PXwn9n`&q z&v?9&n(7~>NaU~9HQIAXCy^6!1cgtoxaQuF(5WpQ3rp?v0NKpildc)d(5!m!EX}^J z2_pmmpJo?)$gk+AlU66w!4;mAu- z{+t@=&!OwcA08LsR@Qp?ne&Ywk5vKpjq|g4b1g6%8#pYSaeU(pJ~S9Ckf%2 zV@*PjD6OcU+S$?5van|l!GE3tXGKrw^wzc>@XTAOslGEy{c(E+14O~$CgZsVH#2~v z&fo}>YvkxT+w?TqHEH~t@(|KVtl_58mb2 z3(3is%UR#*rSJk2i{fVpH$dZ{4Z3EU`Lv`>F@t{a@cB}PxGt1{X~vzN`%uUZeq)Dg z><~ZpvFH8c*YwjMIfP#D}cCm-H7_<^5{htIWB z^nt?Kea@6Me+v*Me33Wn7~K{Gl&! zrNukR;-VhJNj*aI zjJTO6*bm|HE1~Q3Z%Vf)5%mf%ZNbeODEc>epcfXjGE!kWfJzbIeo7>A_+qd22ZKU) zpsYB?VGn=k=tdcyi~|Ax@)kBNpZJl`Tpf&`4f?>Xn?NW4<5+S@1c4)G3j~gF;0PQX za;}k&kU|PJP1nA}vBX?!4TnFz6fn;1`4)nNq9>Fe{3Q+=0}3BK_~U%HH%I{Lk#+o$ z!et%L5ijd_j-Xk`vn9wno}+Qr@zZn0J3Ht289B!vopbz@oa3kF9M2IeYd+bcWgUN5 zPJfQdIet#g@rUOe&zs0u<6V$bKkq7L)qhq_{flyrUz~G14}Y`ze_T%eXXYHw!{4m_ zbOiLX4s##Su+=sUp>_EL0eqeJ`vLfbuJs{u)*BFp8|47cZb%3YLE*1=$GCIj01iRn zuXo3Ix_|>X1m$TgTNo7?;rIG1c#>seBe#Q*#x@SsANXK^@l(`r!Srz4(|V zDkyxS;F=9uLX$^`GdkN_OZ@+1Fz}4T8Khf!pp60Api0T^x>{{Tb-NOcH;EAI2 zW?$~}(LZp+32vlC{J=5OZx=HS%J!qJ(00;ePz;ff27Pcn1j@J&&I>m}0Ptyc!H4ww zj1TF@9{!S#*cm@hitr!(ziE{tVKN|&^Md@5tU8m#>82-?U$g{3Wol*oo)H9639(M2}tG$!Wp09%F zLBIC~*9ndPtr1=j&2V{zRk8tfFX1yDugC`cguYtWYR_TpT21Z}n*H~n-j8S@^Hc~L z+t(qSuLmOn9h8O-$v4y*y;O0KH}Xk-CCw>28y8|CD>UZbfUYc$v7j9lT5 z=ajXMap1Wgqz|Wvg7dVm$T}y4F`Q07NSoh%2I4hK&KP$taOSCu#tWT%~K|2b=tAlTS7I zHM-_~`o8|2kFTvgKH?!x{C}tH)3H<>J&lqRH+VWRG@d*NUdMRw@VCa_ABbzz_~Wv+BtknCoqn9|VZsEJ0j@qj2D6FhCR> ziDNw1;ARGJ_yLamaE%;2XPcfTyXLLpm)}$og!G(aIO1^o3_}lc9&i$;%+(DMfN|7! z5AlDefymMC_Cs>)h2-SR4*CZB_|L81`vyPo zlkxDmc8Wf5xWf&B@!Y@;)d2GFE?py^W%75Me4fd#)ipP`PF>>{abk~n{93T;>u!u| zlwi{j#wv-Rp46NCOe2A!@TcgS@u7KgoaPDo$v@ZN(L2fX()Wy`zM*->yk?$YKZM7R zgy#CW4GwtVe$9f>szlT)z_bN7Z=mSk;DNrqpp}sX(*ab90QXZOk;4~zwfDb6cc82| z#$gYC=;%fno{R$l|MC_#EuZ+2&|DpipAGupd*%xnAj*L(IOJR- zA0dSlY?`h^GwVIpaQNd(0pr}BZy`u1dP4d67Y!f|8UqR+J^15%w>L-t>XCIkTd%C+ z+suFb4Ee)*C0X_J{!7;JYyq;4Uy{>*zBS0IpDjn$@q8zfb^Owt{-2U_JkKB9ANtVi z+#vlcL>U*t!)M-d%@#eOM|Aeo&sw^yy|lE{(Nk(2U%#+(>C%>t)+ud^W-aXOICc6t zrG?AOg8c)rxesn@sBj4l*_yYsrMia?fpnwhk@pj%WEk zP5QxOHZ*==&hb3*%c{R6r~cD(j&IF5zLax3PiV5ndr40HXXG5;opb!9Imfg8${O#= zochnsIiA}B+b6+S+h>RR8@$gWU(&ai;)J%AmUfOGe|Sq<$8l{Pt(_}87mXTw7S4#m z$0j(oqFfV8=o&rCO+VvdGp<7nV!|HRA>4T=5@qdyJ%A6QgG5ggC8s`)_^{6w9Y1y# z-f<14pZLxfAAKRaj^~8j_1CHTO;@&I$bpM$msJsRR*}8taT#}^5A*fTlPbF!1jDY!#SJB)l|xtgmpl5~!>{h67gHi{W|?|q)+x`Y!%QKvfH5X;JJQ__*pxLyyUfWWKKIQF?sEb%W3Cgjn8X`7aOwXjU_Fwo$)#2 zVJXB8eI+$@+|s-+>8H@vB�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
|&T6;cCjSp` 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 L;l}Vi_ci`M-G1>u