diff --git a/src/webimtray/TrayInstaller/TrayInstaller.vdproj b/src/webimtray/TrayInstaller/TrayInstaller.vdproj new file mode 100644 index 00000000..f191689c --- /dev/null +++ b/src/webimtray/TrayInstaller/TrayInstaller.vdproj @@ -0,0 +1,1084 @@ +"DeployProject" +{ +"VSVersion" = "3:800" +"ProjectType" = "8:{978C614F-708E-4E1A-B201-565925725DBA}" +"IsWebType" = "8:FALSE" +"ProjectName" = "8:TrayInstaller" +"LanguageId" = "3:1033" +"CodePage" = "3:1252" +"UILanguageId" = "3:1033" +"SccProjectName" = "8:" +"SccLocalPath" = "8:" +"SccAuxPath" = "8:" +"SccProvider" = "8:" + "Hierarchy" + { + "Entry" + { + "MsmKey" = "8:_87BBEE6DC5244EE8B30E60EF304991BB" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_87BBEE6DC5244EE8B30E60EF304991BB" + "MsmSig" = "8:_UNDEFINED" + } + } + "Configurations" + { + "Debug" + { + "DisplayName" = "8:Debug" + "IsDebugOnly" = "11:TRUE" + "IsReleaseOnly" = "11:FALSE" + "OutputFilename" = "8:Debug\\TrayInstaller.msi" + "PackageFilesAs" = "3:2" + "PackageFileSize" = "3:-2147483648" + "CabType" = "3:1" + "Compression" = "3:2" + "SignOutput" = "11:FALSE" + "CertificateFile" = "8:" + "PrivateKeyFile" = "8:" + "TimeStampServer" = "8:" + "InstallerBootstrapper" = "3:2" + "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}" + { + "Enabled" = "11:TRUE" + "PromptEnabled" = "11:TRUE" + "PrerequisitesLocation" = "2:1" + "Url" = "8:" + "ComponentsUrl" = "8:" + "Items" + { + } + } + } + "Release" + { + "DisplayName" = "8:Release" + "IsDebugOnly" = "11:FALSE" + "IsReleaseOnly" = "11:TRUE" + "OutputFilename" = "8:Release\\WebImTray102.msi" + "PackageFilesAs" = "3:2" + "PackageFileSize" = "3:-2147483648" + "CabType" = "3:1" + "Compression" = "3:2" + "SignOutput" = "11:FALSE" + "CertificateFile" = "8:" + "PrivateKeyFile" = "8:" + "TimeStampServer" = "8:" + "InstallerBootstrapper" = "3:2" + "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}" + { + "Enabled" = "11:TRUE" + "PromptEnabled" = "11:TRUE" + "PrerequisitesLocation" = "2:1" + "Url" = "8:" + "ComponentsUrl" = "8:" + "Items" + { + "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Net.Framework.2.0" + { + "Name" = "8:.NET Framework 2.0" + "ProductCode" = "8:Microsoft.Net.Framework.2.0" + } + } + } + } + } + "Deployable" + { + "CustomAction" + { + } + "DefaultFeature" + { + "Name" = "8:DefaultFeature" + "Title" = "8:" + "Description" = "8:" + } + "ExternalPersistence" + { + "LaunchCondition" + { + "{A06ECF26-33A3-4562-8140-9B0E340D4F24}:_75AEE2C23BD74768B560287AD98E8C67" + { + "Name" = "8:.NET Framework" + "Message" = "8:[VSDNETMSG]" + "Version" = "8:2.0.50727" + "AllowLaterVersions" = "11:FALSE" + "InstallUrl" = "8:http://go.microsoft.com/fwlink/?LinkId=9832" + } + } + } + "File" + { + } + "FileType" + { + } + "Folder" + { + "{1525181F-901A-416C-8A58-119130FE478E}:_16316B3AD6EE44829498FAE1DDD81401" + { + "Name" = "8:#1916" + "AlwaysCreate" = "11:FALSE" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Property" = "8:DesktopFolder" + "Folders" + { + } + } + "{3C67513D-01DD-4637-8A68-80971EB9504F}:_1B1A7BFDB9314F15AD7EB067675C8CBE" + { + "DefaultLocation" = "8:[ProgramFilesFolder][ProductName]" + "Name" = "8:#1925" + "AlwaysCreate" = "11:FALSE" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Property" = "8:TARGETDIR" + "Folders" + { + } + } + } + "LaunchCondition" + { + } + "Locator" + { + } + "MsiBootstrapper" + { + "LangId" = "3:1033" + } + "Product" + { + "Name" = "8:Microsoft Visual Studio" + "ProductName" = "8:Web IM Tray" + "ProductCode" = "8:{F6CB21A6-537D-4C7F-AB02-75D3D6F50926}" + "PackageCode" = "8:{5211A86E-FAA3-4066-B3E8-77FF5F4AC818}" + "UpgradeCode" = "8:{2DE6CF3E-E993-4337-A3E7-6D24B63AC56D}" + "RestartWWWService" = "11:FALSE" + "RemovePreviousVersions" = "11:FALSE" + "DetectNewerInstalledVersion" = "11:TRUE" + "InstallAllUsers" = "11:FALSE" + "ProductVersion" = "8:1.0.2" + "Manufacturer" = "8:Internet Services" + "ARPHELPTELEPHONE" = "8:" + "ARPHELPLINK" = "8:" + "Title" = "8:Web Messenger Tray" + "Subject" = "8:" + "ARPCONTACT" = "8:Internet Services" + "Keywords" = "8:" + "ARPCOMMENTS" = "8:Tray Application for Web Messenger" + "ARPURLINFOABOUT" = "8:http://www.i-services.ru" + "ARPPRODUCTICON" = "8:_87BBEE6DC5244EE8B30E60EF304991BB" + "ARPIconIndex" = "3:32512" + "SearchPath" = "8:" + "UseSystemSearchPath" = "11:TRUE" + "TargetPlatform" = "3:0" + "PreBuildEvent" = "8:" + "PostBuildEvent" = "8:" + "RunPostBuildEvent" = "3:0" + } + "Registry" + { + "HKLM" + { + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_681790BB40974DCD99BFD623A508F050" + { + "Name" = "8:Software" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_80E20C5CEB1E48EAB92E276AAC325A81" + { + "Name" = "8:[Manufacturer]" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + } + "Values" + { + } + } + } + "Values" + { + } + } + } + } + "HKCU" + { + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_1C676B093F62422A9064F43827046D1A" + { + "Name" = "8:Software" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_7A8BA20C47014CB1B77D91F7942BC1D1" + { + "Name" = "8:Microsoft" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_2322316813BD43A3976FF0093D4FB2C4" + { + "Name" = "8:Windows" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_DF96B87332C24F3585E807F1F4EC4397" + { + "Name" = "8:CurrentVersion" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_F5C1C2701B4C4C11958892BAA0BDEE43" + { + "Name" = "8:Run" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + } + "Values" + { + "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_340084670E71406FADCD1E50FC2B7B46" + { + "Name" = "8:webimtray.exe" + "Condition" = "8:AUTOSTART<>\"\"" + "Transitive" = "11:FALSE" + "ValueTypes" = "3:1" + "Value" = "8:[TARGETDIR]webImTray.exe" + } + } + } + } + "Values" + { + } + } + } + "Values" + { + } + } + } + "Values" + { + } + } + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_ECF8C3C825E34BF582F346D54BB2146B" + { + "Name" = "8:[Manufacturer]" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_B9817DE863C348CD86FCCEE86940A082" + { + "Name" = "8:WebImTray" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_FEF59BC26DDE4041847A2CF2CB0E746E" + { + "Name" = "8:[ProductVersion].1" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + } + "Values" + { + "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_64A665CDD82C4BFB927B83CEB15F7081" + { + "Name" = "8:hideafterstart" + "Condition" = "8:HIDEAFTERSTART<>\"\"" + "Transitive" = "11:FALSE" + "ValueTypes" = "3:1" + "Value" = "8:True" + } + } + } + } + "Values" + { + } + } + } + "Values" + { + } + } + } + "Values" + { + } + } + } + } + "HKCR" + { + "Keys" + { + } + } + "HKU" + { + "Keys" + { + } + } + "HKPU" + { + "Keys" + { + } + } + } + "Sequences" + { + } + "Shortcut" + { + "{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_D72252420A2445F3A021D04DE4A45A74" + { + "Name" = "8:Web IM Tray" + "Arguments" = "8:/show" + "Description" = "8:Web Messenger Tray Application" + "ShowCmd" = "3:1" + "IconIndex" = "3:32512" + "Transitive" = "11:FALSE" + "Target" = "8:_87BBEE6DC5244EE8B30E60EF304991BB" + "Folder" = "8:_16316B3AD6EE44829498FAE1DDD81401" + "WorkingFolder" = "8:_1B1A7BFDB9314F15AD7EB067675C8CBE" + "Icon" = "8:_87BBEE6DC5244EE8B30E60EF304991BB" + "Feature" = "8:" + } + } + "UserInterface" + { + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_18AA9AC5AFAB4C62B0717B83A14D0B5B" + { + "Name" = "8:#1901" + "Sequence" = "3:2" + "Attributes" = "3:2" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_1F15D2C7C7A347DF8E3AAAEB92AF3F9A" + { + "Sequence" = "3:100" + "DisplayName" = "8:Progress" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminProgressDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "ShowProgress" + { + "Name" = "8:ShowProgress" + "DisplayName" = "8:#1009" + "Description" = "8:#1109" + "Type" = "3:5" + "ContextData" = "8:1;True=1;False=0" + "Attributes" = "3:0" + "Setting" = "3:0" + "Value" = "3:1" + "DefaultValue" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_3FBD9121474C4DBE9553FBA152F8B47A" + { + "Name" = "8:#1902" + "Sequence" = "3:1" + "Attributes" = "3:3" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_F4D93EB3826E4617B17B1000E22DF368" + { + "Sequence" = "3:200" + "DisplayName" = "8:Finished" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdFinishedDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "UpdateText" + { + "Name" = "8:UpdateText" + "DisplayName" = "8:#1058" + "Description" = "8:#1158" + "Type" = "3:15" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1258" + "DefaultValue" = "8:#1258" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_51C8C22FBEA3460F9C375E376BBA6383" + { + "Name" = "8:#1900" + "Sequence" = "3:1" + "Attributes" = "3:1" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_1846F2B28D2D46A5AD91B88C3C7DD3F3" + { + "Sequence" = "3:300" + "DisplayName" = "8:Installation Folder" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdFolderDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "InstallAllUsersVisible" + { + "Name" = "8:InstallAllUsersVisible" + "DisplayName" = "8:#1059" + "Description" = "8:#1159" + "Type" = "3:5" + "ContextData" = "8:1;True=1;False=0" + "Attributes" = "3:0" + "Setting" = "3:0" + "Value" = "3:1" + "DefaultValue" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_51A117D9410940BEA1BC2EB74D5D7C3E" + { + "Sequence" = "3:200" + "DisplayName" = "8:Checkboxes (A)" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdCustomCheck1Dlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "BannerText" + { + "Name" = "8:BannerText" + "DisplayName" = "8:#1014" + "Description" = "8:#1114" + "Type" = "3:3" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:2" + "Value" = "8:Installation options" + "DefaultValue" = "8:#1214" + "UsePlugInResources" = "11:TRUE" + } + "BodyText" + { + "Name" = "8:BodyText" + "DisplayName" = "8:#1015" + "Description" = "8:#1115" + "Type" = "3:3" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:2" + "Value" = "8:We recommend to keep default settings here." + "DefaultValue" = "8:#1215" + "UsePlugInResources" = "11:TRUE" + } + "Checkbox1Label" + { + "Name" = "8:Checkbox1Label" + "DisplayName" = "8:#1034" + "Description" = "8:#1134" + "Type" = "3:3" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:2" + "Value" = "8:Start Web Messenger Tray automatically when starting windows" + "DefaultValue" = "8:#1234" + "UsePlugInResources" = "11:TRUE" + } + "Checkbox1Property" + { + "Name" = "8:Checkbox1Property" + "DisplayName" = "8:#1030" + "Description" = "8:#1130" + "Type" = "3:14" + "ContextData" = "8:Public" + "Attributes" = "3:2" + "Setting" = "3:2" + "Value" = "8:AUTOSTART" + "DefaultValue" = "8:CHECKBOXA1" + "UsePlugInResources" = "11:TRUE" + } + "Checkbox1Value" + { + "Name" = "8:Checkbox1Value" + "DisplayName" = "8:#1038" + "Description" = "8:#1138" + "Type" = "3:2" + "ContextData" = "8:Unchecked=;Checked=1" + "Attributes" = "3:0" + "Setting" = "3:2" + "Value" = "8:1" + "DefaultValue" = "8:" + "UsePlugInResources" = "11:TRUE" + } + "Checkbox1Visible" + { + "Name" = "8:Checkbox1Visible" + "DisplayName" = "8:#1026" + "Description" = "8:#1126" + "Type" = "3:5" + "ContextData" = "8:1;True=1;False=0" + "Attributes" = "3:0" + "Setting" = "3:0" + "Value" = "3:1" + "DefaultValue" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "Checkbox2Label" + { + "Name" = "8:Checkbox2Label" + "DisplayName" = "8:#1035" + "Description" = "8:#1135" + "Type" = "3:3" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:2" + "Value" = "8:Hide application into tray after start" + "DefaultValue" = "8:#1235" + "UsePlugInResources" = "11:TRUE" + } + "Checkbox2Property" + { + "Name" = "8:Checkbox2Property" + "DisplayName" = "8:#1031" + "Description" = "8:#1131" + "Type" = "3:14" + "ContextData" = "8:Public" + "Attributes" = "3:2" + "Setting" = "3:2" + "Value" = "8:HIDEAFTERSTART" + "DefaultValue" = "8:CHECKBOXA2" + "UsePlugInResources" = "11:TRUE" + } + "Checkbox2Value" + { + "Name" = "8:Checkbox2Value" + "DisplayName" = "8:#1039" + "Description" = "8:#1139" + "Type" = "3:2" + "ContextData" = "8:Unchecked=;Checked=1" + "Attributes" = "3:0" + "Setting" = "3:2" + "Value" = "8:1" + "DefaultValue" = "8:" + "UsePlugInResources" = "11:TRUE" + } + "Checkbox2Visible" + { + "Name" = "8:Checkbox2Visible" + "DisplayName" = "8:#1027" + "Description" = "8:#1127" + "Type" = "3:5" + "ContextData" = "8:1;True=1;False=0" + "Attributes" = "3:0" + "Setting" = "3:0" + "Value" = "3:1" + "DefaultValue" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "Checkbox3Label" + { + "Name" = "8:Checkbox3Label" + "DisplayName" = "8:#1036" + "Description" = "8:#1136" + "Type" = "3:3" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1236" + "DefaultValue" = "8:#1236" + "UsePlugInResources" = "11:TRUE" + } + "Checkbox3Property" + { + "Name" = "8:Checkbox3Property" + "DisplayName" = "8:#1032" + "Description" = "8:#1132" + "Type" = "3:14" + "ContextData" = "8:Public" + "Attributes" = "3:2" + "Setting" = "3:2" + "Value" = "8:CHECKBOXA3" + "DefaultValue" = "8:CHECKBOXA3" + "UsePlugInResources" = "11:TRUE" + } + "Checkbox3Value" + { + "Name" = "8:Checkbox3Value" + "DisplayName" = "8:#1040" + "Description" = "8:#1140" + "Type" = "3:2" + "ContextData" = "8:Unchecked=;Checked=1" + "Attributes" = "3:0" + "Setting" = "3:2" + "Value" = "8:" + "DefaultValue" = "8:" + "UsePlugInResources" = "11:TRUE" + } + "Checkbox3Visible" + { + "Name" = "8:Checkbox3Visible" + "DisplayName" = "8:#1028" + "Description" = "8:#1128" + "Type" = "3:5" + "ContextData" = "8:1;True=1;False=0" + "Attributes" = "3:0" + "Setting" = "3:0" + "Value" = "3:0" + "DefaultValue" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "Checkbox4Label" + { + "Name" = "8:Checkbox4Label" + "DisplayName" = "8:#1037" + "Description" = "8:#1137" + "Type" = "3:3" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1237" + "DefaultValue" = "8:#1237" + "UsePlugInResources" = "11:TRUE" + } + "Checkbox4Property" + { + "Name" = "8:Checkbox4Property" + "DisplayName" = "8:#1033" + "Description" = "8:#1133" + "Type" = "3:14" + "ContextData" = "8:Public" + "Attributes" = "3:2" + "Setting" = "3:2" + "Value" = "8:CHECKBOXA4" + "DefaultValue" = "8:CHECKBOXA4" + "UsePlugInResources" = "11:TRUE" + } + "Checkbox4Value" + { + "Name" = "8:Checkbox4Value" + "DisplayName" = "8:#1041" + "Description" = "8:#1141" + "Type" = "3:2" + "ContextData" = "8:Unchecked=;Checked=1" + "Attributes" = "3:0" + "Setting" = "3:2" + "Value" = "8:" + "DefaultValue" = "8:" + "UsePlugInResources" = "11:TRUE" + } + "Checkbox4Visible" + { + "Name" = "8:Checkbox4Visible" + "DisplayName" = "8:#1029" + "Description" = "8:#1129" + "Type" = "3:5" + "ContextData" = "8:1;True=1;False=0" + "Attributes" = "3:0" + "Setting" = "3:0" + "Value" = "3:0" + "DefaultValue" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_B909D5C03EB149E99BC8CED0A3A20CAC" + { + "Sequence" = "3:400" + "DisplayName" = "8:Confirm Installation" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdConfirmDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_F3EF9C46EB21434CB8BB5ECC6A46034D" + { + "Sequence" = "3:100" + "DisplayName" = "8:Welcome" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdWelcomeDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "CopyrightWarning" + { + "Name" = "8:CopyrightWarning" + "DisplayName" = "8:#1002" + "Description" = "8:#1102" + "Type" = "3:3" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1202" + "DefaultValue" = "8:#1202" + "UsePlugInResources" = "11:TRUE" + } + "Welcome" + { + "Name" = "8:Welcome" + "DisplayName" = "8:#1003" + "Description" = "8:#1103" + "Type" = "3:3" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1203" + "DefaultValue" = "8:#1203" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_87B25BA7AB034106BFD8147C127DA9CB" + { + "Name" = "8:#1900" + "Sequence" = "3:2" + "Attributes" = "3:1" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_24AD5BC768234748A37BE80EEAD74436" + { + "Sequence" = "3:300" + "DisplayName" = "8:Confirm Installation" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminConfirmDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_B7A75C380D7F4A57ACA9F4BCA3D4958D" + { + "Sequence" = "3:100" + "DisplayName" = "8:Welcome" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminWelcomeDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "CopyrightWarning" + { + "Name" = "8:CopyrightWarning" + "DisplayName" = "8:#1002" + "Description" = "8:#1102" + "Type" = "3:3" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1202" + "DefaultValue" = "8:#1202" + "UsePlugInResources" = "11:TRUE" + } + "Welcome" + { + "Name" = "8:Welcome" + "DisplayName" = "8:#1003" + "Description" = "8:#1103" + "Type" = "3:3" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1203" + "DefaultValue" = "8:#1203" + "UsePlugInResources" = "11:TRUE" + } + } + } + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_E6B28BE49CD34670A622F77033102742" + { + "Sequence" = "3:200" + "DisplayName" = "8:Installation Folder" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminFolderDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_926FED7EEB6E4018A65FE07B70825D4F" + { + "UseDynamicProperties" = "11:FALSE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdBasicDialogs.wim" + } + "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_A1FC847DB2774591993B66EAC747BB5E" + { + "UseDynamicProperties" = "11:FALSE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdUserInterface.wim" + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_A7DE04196ECD41A2B7532E07D649DBA6" + { + "Name" = "8:#1901" + "Sequence" = "3:1" + "Attributes" = "3:2" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_983292C14E8C496E98974429855599DB" + { + "Sequence" = "3:100" + "DisplayName" = "8:Progress" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdProgressDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "ShowProgress" + { + "Name" = "8:ShowProgress" + "DisplayName" = "8:#1009" + "Description" = "8:#1109" + "Type" = "3:5" + "ContextData" = "8:1;True=1;False=0" + "Attributes" = "3:0" + "Setting" = "3:0" + "Value" = "3:1" + "DefaultValue" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_D248A21CDDDF45E08F5D35F07977A2B4" + { + "Name" = "8:#1902" + "Sequence" = "3:2" + "Attributes" = "3:3" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_F75E97396D4841628DE7868F9B5325D2" + { + "Sequence" = "3:100" + "DisplayName" = "8:Finished" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminFinishedDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + } + "MergeModule" + { + } + "ProjectOutput" + { + "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_87BBEE6DC5244EE8B30E60EF304991BB" + { + "SourcePath" = "8:..\\WebIMTray\\obj\\Release\\webImTray.exe" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_1B1A7BFDB9314F15AD7EB067675C8CBE" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + "ProjectOutputGroupRegister" = "3:1" + "OutputConfiguration" = "8:Release|Any CPU" + "OutputGroupCanonicalName" = "8:Built" + "OutputProjectGuid" = "8:{21C7CA72-7F77-416C-9FD7-2DF748443E46}" + "ShowKeyOutput" = "11:TRUE" + "ExcludeFilters" + { + } + } + } + "VJSharpPlugin" + { + } + } +} diff --git a/src/webimtray/WebIMTray/App.ico b/src/webimtray/WebIMTray/App.ico new file mode 100644 index 00000000..0dc5a4ef Binary files /dev/null and b/src/webimtray/WebIMTray/App.ico differ diff --git a/src/webimtray/WebIMTray/AssemblyInfo.cs b/src/webimtray/WebIMTray/AssemblyInfo.cs new file mode 100644 index 00000000..e2bce507 --- /dev/null +++ b/src/webimtray/WebIMTray/AssemblyInfo.cs @@ -0,0 +1,58 @@ +using System.Reflection; +using System.Runtime.CompilerServices; + +// +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +// +[assembly: AssemblyTitle("WebImTray")] +[assembly: AssemblyDescription("Tray program for webim.ru service")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Internet Services")] +[assembly: AssemblyProduct("WebImTray")] +[assembly: AssemblyCopyright("")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Revision and Build Numbers +// by using the '*' as shown below: + +[assembly: AssemblyVersion("1.0.2.1")] + +// +// In order to sign your assembly you must specify a key to use. Refer to the +// Microsoft .NET Framework documentation for more information on assembly signing. +// +// Use the attributes below to control which key is used for signing. +// +// Notes: +// (*) If no key is specified, the assembly is not signed. +// (*) KeyName refers to a key that has been installed in the Crypto Service +// Provider (CSP) on your machine. KeyFile refers to a file which contains +// a key. +// (*) If the KeyFile and the KeyName values are both specified, the +// following processing occurs: +// (1) If the KeyName can be found in the CSP, that key is used. +// (2) If the KeyName does not exist and the KeyFile does exist, the key +// in the KeyFile is installed into the CSP and used. +// (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility. +// When specifying the KeyFile, the location of the KeyFile should be +// relative to the project output directory which is +// %Project Directory%\obj\. For example, if your KeyFile is +// located in the project directory, you would specify the AssemblyKeyFile +// attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")] +// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework +// documentation for more information on this. +// +[assembly: AssemblyDelaySign(false)] +[assembly: AssemblyKeyFile("")] +[assembly: AssemblyKeyName("")] diff --git a/src/webimtray/WebIMTray/Main.Designer.cs b/src/webimtray/WebIMTray/Main.Designer.cs new file mode 100644 index 00000000..fb738dc0 --- /dev/null +++ b/src/webimtray/WebIMTray/Main.Designer.cs @@ -0,0 +1,169 @@ +namespace webImTray { + partial class MainWindow { + private System.Windows.Forms.NotifyIcon notifyIcon; + private System.ComponentModel.IContainer components; + + protected override void Dispose(bool disposing) { + if (disposing) { + if (components != null) { + components.Dispose(); + } + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainWindow)); + this.notifyIcon = new System.Windows.Forms.NotifyIcon(this.components); + this.notifyMenu = new System.Windows.Forms.ContextMenuStrip(this.components); + this.optionsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripSeparator(); + this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolbar = new System.Windows.Forms.ToolStrip(); + this.toolNavigate = new System.Windows.Forms.ToolStripButton(); + this.toolOptions = new System.Windows.Forms.ToolStripButton(); + this.toolHideWindow = new System.Windows.Forms.ToolStripButton(); + this.webBrowser1 = new System.Windows.Forms.WebBrowser(); + this.reloadPageTimer = new System.Windows.Forms.Timer(this.components); + this.notifyMenu.SuspendLayout(); + this.toolbar.SuspendLayout(); + this.SuspendLayout(); + // + // notifyIcon + // + this.notifyIcon.ContextMenuStrip = this.notifyMenu; + this.notifyIcon.Icon = ((System.Drawing.Icon)(resources.GetObject("notifyIcon.Icon"))); + this.notifyIcon.Text = "Web Messenger Tray"; + this.notifyIcon.Visible = true; + this.notifyIcon.MouseDown += new System.Windows.Forms.MouseEventHandler(this.notifyIconClick); + // + // notifyMenu + // + this.notifyMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.optionsToolStripMenuItem, + this.toolStripMenuItem1, + this.exitToolStripMenuItem}); + this.notifyMenu.Name = "notifyMenu"; + this.notifyMenu.Size = new System.Drawing.Size(144, 58); + // + // optionsToolStripMenuItem + // + this.optionsToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("optionsToolStripMenuItem.Image"))); + this.optionsToolStripMenuItem.ImageTransparentColor = System.Drawing.Color.Silver; + this.optionsToolStripMenuItem.Name = "optionsToolStripMenuItem"; + this.optionsToolStripMenuItem.Size = new System.Drawing.Size(143, 24); + this.optionsToolStripMenuItem.Text = "Options.."; + this.optionsToolStripMenuItem.Click += new System.EventHandler(this.optionsMenu_Click); + // + // toolStripMenuItem1 + // + this.toolStripMenuItem1.Name = "toolStripMenuItem1"; + this.toolStripMenuItem1.Size = new System.Drawing.Size(140, 6); + // + // exitToolStripMenuItem + // + this.exitToolStripMenuItem.Name = "exitToolStripMenuItem"; + this.exitToolStripMenuItem.Size = new System.Drawing.Size(143, 24); + this.exitToolStripMenuItem.Text = "E&xit"; + this.exitToolStripMenuItem.Click += new System.EventHandler(this.menuExitClick); + // + // toolbar + // + this.toolbar.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.toolNavigate, + this.toolOptions, + this.toolHideWindow}); + this.toolbar.Location = new System.Drawing.Point(0, 0); + this.toolbar.Name = "toolbar"; + this.toolbar.Size = new System.Drawing.Size(864, 26); + this.toolbar.TabIndex = 1; + this.toolbar.Text = "toolStrip1"; + // + // toolNavigate + // + this.toolNavigate.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.toolNavigate.Image = ((System.Drawing.Image)(resources.GetObject("toolNavigate.Image"))); + this.toolNavigate.ImageTransparentColor = System.Drawing.Color.Silver; + this.toolNavigate.Name = "toolNavigate"; + this.toolNavigate.Size = new System.Drawing.Size(23, 23); + this.toolNavigate.Text = "Show pending users"; + this.toolNavigate.Click += new System.EventHandler(this.toolNavigate_Click); + // + // toolOptions + // + this.toolOptions.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.toolOptions.Image = ((System.Drawing.Image)(resources.GetObject("toolOptions.Image"))); + this.toolOptions.ImageTransparentColor = System.Drawing.Color.Silver; + this.toolOptions.Name = "toolOptions"; + this.toolOptions.Size = new System.Drawing.Size(23, 23); + this.toolOptions.Text = "Options.."; + this.toolOptions.Click += new System.EventHandler(this.optionsMenu_Click); + // + // toolHideWindow + // + this.toolHideWindow.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; + this.toolHideWindow.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; + this.toolHideWindow.Image = ((System.Drawing.Image)(resources.GetObject("toolHideWindow.Image"))); + this.toolHideWindow.ImageTransparentColor = System.Drawing.Color.Magenta; + this.toolHideWindow.Name = "toolHideWindow"; + this.toolHideWindow.Size = new System.Drawing.Size(105, 23); + this.toolHideWindow.Text = "Hide window"; + this.toolHideWindow.Click += new System.EventHandler(this.toolHideWindow_Click); + // + // webBrowser1 + // + this.webBrowser1.Dock = System.Windows.Forms.DockStyle.Fill; + this.webBrowser1.Location = new System.Drawing.Point(0, 26); + this.webBrowser1.MinimumSize = new System.Drawing.Size(20, 20); + this.webBrowser1.Name = "webBrowser1"; + this.webBrowser1.Size = new System.Drawing.Size(864, 459); + this.webBrowser1.TabIndex = 2; + this.webBrowser1.PreviewKeyDown += new System.Windows.Forms.PreviewKeyDownEventHandler(this.webBrowser1_PreviewKeyDown); + // + // reloadPageTimer + // + this.reloadPageTimer.Interval = 5000; + this.reloadPageTimer.Tick += new System.EventHandler(this.timer1_Tick); + // + // MainWindow + // + this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); + this.ClientSize = new System.Drawing.Size(864, 485); + this.Controls.Add(this.webBrowser1); + this.Controls.Add(this.toolbar); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MinimizeBox = false; + this.Name = "MainWindow"; + this.ShowInTaskbar = false; + this.Text = "Internet Services - Web Messenger"; + this.Shown += new System.EventHandler(this.MainWindow_Shown); + this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Client_FormClosing); + this.GotFocus += new System.EventHandler(this.gotFocus); + this.notifyMenu.ResumeLayout(false); + this.toolbar.ResumeLayout(false); + this.toolbar.PerformLayout(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + #endregion + + private System.Windows.Forms.ToolStrip toolbar; + private System.Windows.Forms.ToolStripButton toolNavigate; + private System.Windows.Forms.WebBrowser webBrowser1; + private System.Windows.Forms.Timer reloadPageTimer; + private System.Windows.Forms.ToolStripButton toolOptions; + private System.Windows.Forms.ContextMenuStrip notifyMenu; + private System.Windows.Forms.ToolStripMenuItem optionsToolStripMenuItem; + private System.Windows.Forms.ToolStripSeparator toolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem; + private System.Windows.Forms.ToolStripButton toolHideWindow; + + } +} diff --git a/src/webimtray/WebIMTray/Main.cs b/src/webimtray/WebIMTray/Main.cs new file mode 100644 index 00000000..18bc2e41 --- /dev/null +++ b/src/webimtray/WebIMTray/Main.cs @@ -0,0 +1,150 @@ +//#define DEBUG + +using System; +using System.Drawing; +using System.Collections; +using System.ComponentModel; +using System.Windows.Forms; +using System.Data; + +namespace webImTray { + + public partial class MainWindow : System.Windows.Forms.Form { + + public MainWindow() { + InitializeComponent(); + PostInitialize(); + } + + [STAThread] + static void Main(string[] args) { + Options.parseParameters(args); + Application.Run(new MainWindow()); + } + + void PostInitialize() { + + webBrowser1.DocumentTitleChanged += new EventHandler(webBrowser1_DocumentTitleChanged); + + if (Options.ShowInTaskBar) { + this.ShowInTaskbar = true; + } + + if (Options.HideMainWindow) { + this.WindowState = FormWindowState.Minimized; + } + + navigateThere(); + setupReloadTimer(); + } + + void navigateThere() { +#if DEBUG + webBrowser1.Navigate("http://localhost:8080/IMCenter/client/users/index_flat.jsp"); +#else + webBrowser1.Navigate(Options.WebIMServer + (Options.isLiteServer ? Options.LITE_PENDING_USERS_PAGE : Options.PRO_PENDING_USERS_PAGE)); +#endif + } + + private void showWindow() { + this.Visible = true; + this.Activate(); + this.WindowState = FormWindowState.Normal; + } + + private void hideWindow() { + this.Visible = false; + } + + private void notifyIconClick(object sender, System.Windows.Forms.MouseEventArgs e) { + if (e.Button != MouseButtons.Left) + return; + + bool wasVisible = this.Visible; + + if (wasVisible) + hideWindow(); + else + showWindow(); + } + + bool forceClosing = false; + + private void menuExitClick(object sender, System.EventArgs e) { + forceClosing = true; + this.Close(); + } + + private void gotFocus(object sender, System.EventArgs e) { + if (this.Visible == false) { + showWindow(); + } + } + + void webBrowser1_DocumentTitleChanged(object sender, EventArgs e) { + string s = webBrowser1.DocumentTitle; + if (s == null || s.Length == 0) + s = "Internet Services - Web Messenger [loading]"; + this.Text = s; + } + + private void Client_FormClosing(object sender, FormClosingEventArgs e) { + if( !forceClosing && e.CloseReason == CloseReason.UserClosing + && MessageBox.Show(this, "Do you want to quit WebIM for Tray?", "Web Messenger", + MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { + e.Cancel = true; + } + } + + private void webBrowser1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e) { + if (e.KeyCode == Keys.Escape && this.Visible) { + hideWindow(); + } + } + + private void optionsMenu_Click(object sender, EventArgs e) { + OptionsDialog dialog = new OptionsDialog(); + dialog.ShowDialog(this); + + // apply options + if (Options.ShowInTaskBar != this.ShowInTaskbar) + this.ShowInTaskbar = !this.ShowInTaskbar; + setupReloadTimer(); + } + + private void toolNavigate_Click(object sender, EventArgs e) { + navigateThere(); + } + + private void timer1_Tick(object sender, EventArgs e) { + navigateThere(); + } + + private void MainWindow_Shown(object sender, EventArgs e) { + if (Options.HideMainWindow) { + hideWindow(); + } + } + + private void setupReloadTimer() { + int reloadSettings = (int)Options.ForceRefreshTime; + if (reloadSettings != currentReloadTime) { + if( currentReloadTime > 0 ) + reloadPageTimer.Stop(); + + if (reloadSettings != 0) { + reloadPageTimer.Interval = reloadSettings * 60 * 1000; + reloadPageTimer.Start(); + } + + currentReloadTime = reloadSettings; + } + } + + private int currentReloadTime = 0; + + private void toolHideWindow_Click(object sender, EventArgs e) { + hideWindow(); + } + } +} diff --git a/src/webimtray/WebIMTray/Main.resx b/src/webimtray/WebIMTray/Main.resx new file mode 100644 index 00000000..aff1f91d --- /dev/null +++ b/src/webimtray/WebIMTray/Main.resx @@ -0,0 +1,275 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 135, 12 + + + 259, 20 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAIVJREFUOE/dk0EO + gCAMBPlgv+l/DBcTH4O2WrLCFi56kaQJgXbYbUNKXy4RKSz2bT3PF4vwfS3MOdO4oAOAF48hN4BJ1Jdn + kKpAE321RRHkYcEBmKxABnO12rhOgV9WOQ3Eodh1mwJawGK0hftubDNAqygEoAU2GWbBYD9REH0adv76 + 5z0AIQLwRor4ZGsAAAAASUVORK5CYII= + + + + + AAABAAEAEBAAAAAAAABoBQAAFgAAACgAAAAQAAAAIAAAAAEACAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAB + AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAwMDAAMDcwADwyqYABAQEAAgICAAMDAwAERERABYW + FgAcHBwAIiIiACkpKQBVVVUATU1NAEJCQgA5OTkAgHz/AFBQ/wCTANYA/+zMAMbW7wDW5+cAkKmtAAAA + MwAAAGYAAACZAAAAzAAAMwAAADMzAAAzZgAAM5kAADPMAAAz/wAAZgAAAGYzAABmZgAAZpkAAGbMAABm + /wAAmQAAAJkzAACZZgAAmZkAAJnMAACZ/wAAzAAAAMwzAADMZgAAzJkAAMzMAADM/wAA/2YAAP+ZAAD/ + zAAzAAAAMwAzADMAZgAzAJkAMwDMADMA/wAzMwAAMzMzADMzZgAzM5kAMzPMADMz/wAzZgAAM2YzADNm + ZgAzZpkAM2bMADNm/wAzmQAAM5kzADOZZgAzmZkAM5nMADOZ/wAzzAAAM8wzADPMZgAzzJkAM8zMADPM + /wAz/zMAM/9mADP/mQAz/8wAM///AGYAAABmADMAZgBmAGYAmQBmAMwAZgD/AGYzAABmMzMAZjNmAGYz + mQBmM8wAZjP/AGZmAABmZjMAZmZmAGZmmQBmZswAZpkAAGaZMwBmmWYAZpmZAGaZzABmmf8AZswAAGbM + MwBmzJkAZszMAGbM/wBm/wAAZv8zAGb/mQBm/8wAzAD/AP8AzACZmQAAmTOZAJkAmQCZAMwAmQAAAJkz + MwCZAGYAmTPMAJkA/wCZZgAAmWYzAJkzZgCZZpkAmWbMAJkz/wCZmTMAmZlmAJmZmQCZmcwAmZn/AJnM + AACZzDMAZsxmAJnMmQCZzMwAmcz/AJn/AACZ/zMAmcxmAJn/mQCZ/8wAmf//AMwAAACZADMAzABmAMwA + mQDMAMwAmTMAAMwzMwDMM2YAzDOZAMwzzADMM/8AzGYAAMxmMwCZZmYAzGaZAMxmzACZZv8AzJkAAMyZ + MwDMmWYAzJmZAMyZzADMmf8AzMwAAMzMMwDMzGYAzMyZAMzMzADMzP8AzP8AAMz/MwCZ/2YAzP+ZAMz/ + zADM//8AzAAzAP8AZgD/AJkAzDMAAP8zMwD/M2YA/zOZAP8zzAD/M/8A/2YAAP9mMwDMZmYA/2aZAP9m + zADMZv8A/5kAAP+ZMwD/mWYA/5mZAP+ZzAD/mf8A/8wAAP/MMwD/zGYA/8yZAP/MzAD/zP8A//8zAMz/ + ZgD//5kA///MAGZm/wBm/2YAZv//AP9mZgD/Zv8A//9mACEApQBfX18Ad3d3AIaGhgCWlpYAy8vLALKy + sgDX19cA3d3dAOPj4wDq6uoA8fHxAPj4+ADw+/8ApKCgAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP// + AAD///8ACgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKi4uLi4uLi4uLCgqLi4sKCouLi4uL + i4uLiwoKi4uLCgqtrYuLi4uLi4sKCouLiwoKCq2tra2tra0KCq2trQoKCgoKra2tra0KCq2trQoKCgoK + Cgqtra0KCq2trQoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCtSzswoKs7OzCgoKCgoKCtTU1NSzCrOzs7MK + CgoKCgrU1NTU1Aqzs7OzCgoKCgoK1NTU1NQK1NTU1AoKCgoKCgrU1NQKCtTU1AoKCgoKCgoKCgoKCgoK + CgoKCgoKCgoKCgoKCgoKCgoKCgoKCv//AAD//wAAgDEAAIAxAACAMQAAwGMAAODHAADxjwAA//8AAPGP + AADghwAA4IcAAOCHAADxjwAA//8AAP//AAA= + + + + 421, 11 + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAY9JREFUOE9jYBh0 + wHTS1/+mEz7/N+n/8B/mOOOeN/+Ne17/N+59AxfD6nCzqb//m035+d908rf/JhM+/jfpew/WYNz9EmyA + UddLIH6B2xCwAVN//TedBDQA6AKQzSADDNsf/zdse/TfsPXBf4PW+3gMmPzjv+nEL0Cb34FtAmkEGaDf + dPu/fsON/3r11/7r1V3B7w2wUzuf/TdoQdikW3Pxv07V2f86lWfwa6ZKjOrWXAbadu6/dsUpuG2ahfv/ + axTs/a+Rvxu/CzRLTv7XLD7+X6PoCFDDgf/qeXvhGtSytv1Xy9r6Xy1zC3ZDVLP2/lfJ2vNfJXPnf1Ug + Vknf9l85bct/5dRNcA3KKRv+g7BK6gZUQxQSN/1XSNj4XyF+PRjLx68D0mv/y8euBmOFuFVwDQpxQH78 + 6v+KCWsQhkhHLP8vHQbEoUuBNBCHL/0vA6RlwpcAMYSGBTCILxux7L9c1HKEARIBC/5L+IPwvP8SASA8 + H4ID5/+XDASKA9kwA0B8yaCF/6VDFtEhSolJFwDyA+nk71GvlAAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAIVJREFUOE/dk0EO + gCAMBPlgv+l/DBcTH4O2WrLCFi56kaQJgXbYbUNKXy4RKSz2bT3PF4vwfS3MOdO4oAOAF48hN4BJ1Jdn + kKpAE321RRHkYcEBmKxABnO12rhOgV9WOQ3Eodh1mwJawGK0hftubDNAqygEoAU2GWbBYD9REH0adv76 + 5z0AIQLwRor4ZGsAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAgxJREFUOE+lkvtL + U2EYx+0PEbtpFwnBKPGKiJImGP0gYhIYs1E5GF5gIxkpA00JRSmMEF0ohMh+GaRWYlqabMVcNdS2QpaI + VqiDIYhk397vA6fXhCjyhYdzeM/5fp7vczkAdeL2cwho7v/wWzT1zcN+Pwhr51uY2/y41PQaF+wzKKiZ + QvaN58g0jyLd5KEUcQbg+84P/Cm2tncQjW3j68YWIqubCC3FcOJc478BAuGoZM6zvoRnakXEruEIjhc4 + /g5gZop9c+voGAyLbQIfeBZxLL9BA1jzXvuGbWamuKh+GmmVbswE19A59FEBbmoAG7YbsLtm2mZmiml9 + cvabNDwpz6YB7LYBoMXCumkJr7LOmnnHzBQ/9X2Bo2cOibm1GsBREbAQiYmw/8lnuCeWkVzcgnZlnw1j + 3HV/wuNXK6i/9x5Hc6wawDlTXHbLJ+LZUBQPRyKwdQdxutwl1h+NLXHh5Ht1ewBHsiwawCW57HyDAfWR + dvl0uhZQ1eqX8aVc7EKLqrum651ATLf9OJx5XQM4KmY0xPzZ0hFAiQJnXB0WwME0E3IsL5B17ZlADqWb + NYDrOepdlcysmTWWOrxqbceRWtaLk0VO1XW72D5Vckd2gMBfq8zdpmUG62NJvKM4+XyziDk24xmfWoGE + s1c0gHPmbrPTpHNJKOCo2G1mZs20zcwUJ5yp1AB5+8/zEwgF5GMVDxh4AAAAAElFTkSuQmCC + + + + 544, 11 + + + 173 + + + + AAABAAIAEBAAAAAAAABoBQAAJgAAACAgAAAAAAAAqAgAAI4FAAAoAAAAEAAAACAAAAABAAgAAAAAAAAB + AAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAMDAwADA3MAA8MqmAAQE + BAAICAgADAwMABEREQAWFhYAHBwcACIiIgApKSkAVVVVAE1NTQBCQkIAOTk5AIB8/wBQUP8AkwDWAP/s + zADG1u8A1ufnAJCprQAAADMAAABmAAAAmQAAAMwAADMAAAAzMwAAM2YAADOZAAAzzAAAM/8AAGYAAABm + MwAAZmYAAGaZAABmzAAAZv8AAJkAAACZMwAAmWYAAJmZAACZzAAAmf8AAMwAAADMMwAAzGYAAMyZAADM + zAAAzP8AAP9mAAD/mQAA/8wAMwAAADMAMwAzAGYAMwCZADMAzAAzAP8AMzMAADMzMwAzM2YAMzOZADMz + zAAzM/8AM2YAADNmMwAzZmYAM2aZADNmzAAzZv8AM5kAADOZMwAzmWYAM5mZADOZzAAzmf8AM8wAADPM + MwAzzGYAM8yZADPMzAAzzP8AM/8zADP/ZgAz/5kAM//MADP//wBmAAAAZgAzAGYAZgBmAJkAZgDMAGYA + /wBmMwAAZjMzAGYzZgBmM5kAZjPMAGYz/wBmZgAAZmYzAGZmZgBmZpkAZmbMAGaZAABmmTMAZplmAGaZ + mQBmmcwAZpn/AGbMAABmzDMAZsyZAGbMzABmzP8AZv8AAGb/MwBm/5kAZv/MAMwA/wD/AMwAmZkAAJkz + mQCZAJkAmQDMAJkAAACZMzMAmQBmAJkzzACZAP8AmWYAAJlmMwCZM2YAmWaZAJlmzACZM/8AmZkzAJmZ + ZgCZmZkAmZnMAJmZ/wCZzAAAmcwzAGbMZgCZzJkAmczMAJnM/wCZ/wAAmf8zAJnMZgCZ/5kAmf/MAJn/ + /wDMAAAAmQAzAMwAZgDMAJkAzADMAJkzAADMMzMAzDNmAMwzmQDMM8wAzDP/AMxmAADMZjMAmWZmAMxm + mQDMZswAmWb/AMyZAADMmTMAzJlmAMyZmQDMmcwAzJn/AMzMAADMzDMAzMxmAMzMmQDMzMwAzMz/AMz/ + AADM/zMAmf9mAMz/mQDM/8wAzP//AMwAMwD/AGYA/wCZAMwzAAD/MzMA/zNmAP8zmQD/M8wA/zP/AP9m + AAD/ZjMAzGZmAP9mmQD/ZswAzGb/AP+ZAAD/mTMA/5lmAP+ZmQD/mcwA/5n/AP/MAAD/zDMA/8xmAP/M + mQD/zMwA/8z/AP//MwDM/2YA//+ZAP//zABmZv8AZv9mAGb//wD/ZmYA/2b/AP//ZgAhAKUAX19fAHd3 + dwCGhoYAlpaWAMvLywCysrIA19fXAN3d3QDj4+MA6urqAPHx8QD4+PgA8Pv/AKSgoACAgIAAAAD/AAD/ + AAAA//8A/wAAAP8A/wD//wAA////AAoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCouLi4uL + i4uLiwoKi4uLCgqLi4uLi4uLi4sKCouLiwoKra2Li4uLi4uLCgqLi4sKCgqtra2tra2tCgqtra0KCgoK + Cq2tra2tCgqtra0KCgoKCgoKra2tCgqtra0KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgrUs7MKCrOzswoK + CgoKCgrU1NTUswqzs7OzCgoKCgoK1NTU1NQKs7OzswoKCgoKCtTU1NTUCtTU1NQKCgoKCgoK1NTUCgrU + 1NQKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgr//wAA//8AAIAxAACAMQAAgDEAAMBj + AADgxwAA8Y8AAP//AADxjwAA4IcAAOCHAADghwAA8Y8AAP//AAD//wAAKAAAACAAAABAAAAAAQAIAAAA + AAAABAAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAIAAAIAAAACAgACAAAAAgACAAICAAADAwMAAwNzAAPDK + pgAEBAQACAgIAAwMDAAREREAFhYWABwcHAAiIiIAKSkpAFVVVQBNTU0AQkJCADk5OQCAfP8AUFD/AJMA + 1gD/7MwAxtbvANbn5wCQqa0AAAAzAAAAZgAAAJkAAADMAAAzAAAAMzMAADNmAAAzmQAAM8wAADP/AABm + AAAAZjMAAGZmAABmmQAAZswAAGb/AACZAAAAmTMAAJlmAACZmQAAmcwAAJn/AADMAAAAzDMAAMxmAADM + mQAAzMwAAMz/AAD/ZgAA/5kAAP/MADMAAAAzADMAMwBmADMAmQAzAMwAMwD/ADMzAAAzMzMAMzNmADMz + mQAzM8wAMzP/ADNmAAAzZjMAM2ZmADNmmQAzZswAM2b/ADOZAAAzmTMAM5lmADOZmQAzmcwAM5n/ADPM + AAAzzDMAM8xmADPMmQAzzMwAM8z/ADP/MwAz/2YAM/+ZADP/zAAz//8AZgAAAGYAMwBmAGYAZgCZAGYA + zABmAP8AZjMAAGYzMwBmM2YAZjOZAGYzzABmM/8AZmYAAGZmMwBmZmYAZmaZAGZmzABmmQAAZpkzAGaZ + ZgBmmZkAZpnMAGaZ/wBmzAAAZswzAGbMmQBmzMwAZsz/AGb/AABm/zMAZv+ZAGb/zADMAP8A/wDMAJmZ + AACZM5kAmQCZAJkAzACZAAAAmTMzAJkAZgCZM8wAmQD/AJlmAACZZjMAmTNmAJlmmQCZZswAmTP/AJmZ + MwCZmWYAmZmZAJmZzACZmf8AmcwAAJnMMwBmzGYAmcyZAJnMzACZzP8Amf8AAJn/MwCZzGYAmf+ZAJn/ + zACZ//8AzAAAAJkAMwDMAGYAzACZAMwAzACZMwAAzDMzAMwzZgDMM5kAzDPMAMwz/wDMZgAAzGYzAJlm + ZgDMZpkAzGbMAJlm/wDMmQAAzJkzAMyZZgDMmZkAzJnMAMyZ/wDMzAAAzMwzAMzMZgDMzJkAzMzMAMzM + /wDM/wAAzP8zAJn/ZgDM/5kAzP/MAMz//wDMADMA/wBmAP8AmQDMMwAA/zMzAP8zZgD/M5kA/zPMAP8z + /wD/ZgAA/2YzAMxmZgD/ZpkA/2bMAMxm/wD/mQAA/5kzAP+ZZgD/mZkA/5nMAP+Z/wD/zAAA/8wzAP/M + ZgD/zJkA/8zMAP/M/wD//zMAzP9mAP//mQD//8wAZmb/AGb/ZgBm//8A/2ZmAP9m/wD//2YAIQClAF9f + XwB3d3cAhoaGAJaWlgDLy8sAsrKyANfX1wDd3d0A4+PjAOrq6gDx8fEA+Pj4APD7/wCkoKAAgICAAAAA + /wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoK + CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoK + CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoK + CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoK + CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoK + CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKi4uLi4uLi4uLCgoK + CgoKCgoKCouLi4uLi4uLiwoKCgCLi4uLi4uLi4sAAAAAAAAAAAAAi4uLi4uLi4uLCgoKAIuLi4uLi4uL + iwAAAAAAAAAAAACLi4uLi4uLi4sKCgoAAIuLi4uLi4sAAAAAAAAAAAAAAACtra2tra2tCgoKCgAAAK2t + ra2tAAAAAACtAACtAAAAAACtra2trQAKCgoKAAAAAK2trQAAAAAAra0AAK2tAAAAAACtra0AAAoKCgoA + AAAAAAAAAAAAAK2tra2tra2tAAAAAAAAAAAACgoKCgAAAACtra0AAACtra2tra2tra2tAAAAra2tAAAK + CgoKAAAAra2tra0AAACtra2tra2trQAAAK2tra2tAAoKCgoAAACzs7OzswAAAACzswAAs7MAAAAAs7Oz + s7MACgoKCgAAANTU1NSzAAAAAACzAACzAAAAAADU1NSzswAKCgoKAAAAANTU1AAAAAAAAAAAAAAAAAAA + AADU1NQAAAoKCgoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgoKCgoKCgoKCgoKCgoKCgoKCgoK + CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoK + CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoK + CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoK + CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoK + CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoK//////////////////////////////////////// + /////////////8Af+APAH/gDwB/4A+A//Afwfb4P+PmfH//wD//44Acf8HAOD/B5ng/wfb4P+P//H/// + //////////////////////////////////////////////////8= + + + \ No newline at end of file diff --git a/src/webimtray/WebIMTray/Options.cs b/src/webimtray/WebIMTray/Options.cs new file mode 100644 index 00000000..2e9fc323 --- /dev/null +++ b/src/webimtray/WebIMTray/Options.cs @@ -0,0 +1,109 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; + +namespace webImTray { + class Options { + + public const string DEFAULT_PRO_SERVER = "http://pro.webim.ru"; + public const string DEFAULT_LITE_SERVER = "http://localhost/webim"; + public const string PRO_PENDING_USERS_PAGE = "/client/users/index_flat.jsp"; + public const string PRO_SETTINGS_PAGE = "/client/settings/index.jsp"; + public const string LITE_PENDING_USERS_PAGE = "/operator/users.php"; + public const string LITE_SETTINGS_PAGE = "/operator/operators.php"; + private const string HTTP_PREFIX = "http://"; + + public static string WebIMServer { + get { + String server = Application.UserAppDataRegistry.GetValue("server", DEFAULT_PRO_SERVER).ToString(); + while (server.EndsWith("/")) + server = server.Substring(0, server.Length - 1); + if (!server.StartsWith(HTTP_PREFIX)) + return DEFAULT_PRO_SERVER; + return server; + } + set { + if (!value.StartsWith(HTTP_PREFIX)) + return; + Application.UserAppDataRegistry.SetValue("server", value.ToString()); + } + } + + public static bool isLiteServer { + get { + return Application.UserAppDataRegistry.GetValue("islite", "false").ToString().ToLower().Equals("true"); + } + set { + Application.UserAppDataRegistry.SetValue("islite", value.ToString()); + } + } + + public static decimal ForceRefreshTime { + get { + return Decimal.Parse(Application.UserAppDataRegistry.GetValue("refreshtime", "15").ToString()); + } + set { + Application.UserAppDataRegistry.SetValue("refreshtime", value.ToString()); + } + } + + public static bool ShowInTaskBar { + get { + return Application.UserAppDataRegistry.GetValue("showintaskbar", "false").ToString().ToLower().Equals("true"); + } + set { + Application.UserAppDataRegistry.SetValue("showintaskbar", value.ToString()); + } + } + + public static bool HideAfterStart { + get { + return Application.UserAppDataRegistry.GetValue("hideafterstart", "false").ToString().ToLower().Equals("true"); + } + set { + Application.UserAppDataRegistry.SetValue("hideafterstart", value.ToString()); + } + } + + private const string autoRunUserRegistry = "Software\\Microsoft\\Windows\\CurrentVersion\\Run"; + private const string autoRunRegistry = "HKEY_CURRENT_USER\\" + autoRunUserRegistry; + private const string autoRunKey = "webimtray.exe"; + + public static bool AutoStart { + get { + return Microsoft.Win32.Registry.GetValue(autoRunRegistry, autoRunKey, "").ToString().Length > 0; + } + set { + if (value) { + Microsoft.Win32.Registry.SetValue(autoRunRegistry, autoRunKey, Application.ExecutablePath); + } else { + try { + Microsoft.Win32.RegistryKey key = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(autoRunUserRegistry, true); + key.DeleteValue(autoRunKey, false); + key.Close(); + } + catch (Exception) { + Microsoft.Win32.Registry.SetValue(autoRunRegistry, autoRunKey, ""); + } + } + } + } + + public static bool HideMainWindow { + get { + if (forceShowWindow) + return false; + return HideAfterStart; + } + } + + + static bool forceShowWindow = false; + + internal static void parseParameters(string[] args) { + if (args.Length == 1 && args[0].Equals("/show")) + forceShowWindow = true; + } + } +} diff --git a/src/webimtray/WebIMTray/icons/Notify.ico b/src/webimtray/WebIMTray/icons/Notify.ico new file mode 100644 index 00000000..8246e11f Binary files /dev/null and b/src/webimtray/WebIMTray/icons/Notify.ico differ diff --git a/src/webimtray/WebIMTray/icons/Options.ico b/src/webimtray/WebIMTray/icons/Options.ico new file mode 100644 index 00000000..745e00d7 Binary files /dev/null and b/src/webimtray/WebIMTray/icons/Options.ico differ diff --git a/src/webimtray/WebIMTray/icons/about_head.bmp b/src/webimtray/WebIMTray/icons/about_head.bmp new file mode 100644 index 00000000..5b5da4f6 Binary files /dev/null and b/src/webimtray/WebIMTray/icons/about_head.bmp differ diff --git a/src/webimtray/WebIMTray/icons/logo.bmp b/src/webimtray/WebIMTray/icons/logo.bmp new file mode 100644 index 00000000..252dfbc8 Binary files /dev/null and b/src/webimtray/WebIMTray/icons/logo.bmp differ diff --git a/src/webimtray/WebIMTray/options/About.Designer.cs b/src/webimtray/WebIMTray/options/About.Designer.cs new file mode 100644 index 00000000..b5dc7bb4 --- /dev/null +++ b/src/webimtray/WebIMTray/options/About.Designer.cs @@ -0,0 +1,170 @@ +namespace webImTray { + partial class About { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + System.Windows.Forms.Label label3; + System.Windows.Forms.Label label4; + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(About)); + this.label1 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.pictureBox1 = new System.Windows.Forms.PictureBox(); + this.linkLabel1 = new System.Windows.Forms.LinkLabel(); + this.linkLabel2 = new System.Windows.Forms.LinkLabel(); + this.pictureBox2 = new System.Windows.Forms.PictureBox(); + label3 = new System.Windows.Forms.Label(); + label4 = new System.Windows.Forms.Label(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit(); + this.SuspendLayout(); + // + // label3 + // + label3.AutoSize = true; + label3.Font = new System.Drawing.Font("Tahoma", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + label3.Location = new System.Drawing.Point(17, 140); + label3.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + label3.Name = "label3"; + label3.Padding = new System.Windows.Forms.Padding(0, 0, 0, 9); + label3.Size = new System.Drawing.Size(297, 27); + label3.TabIndex = 3; + label3.Text = "Copyright (c) 2006-07 Internet Services Ltd."; + // + // label4 + // + label4.AutoSize = true; + label4.Font = new System.Drawing.Font("Tahoma", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + label4.Location = new System.Drawing.Point(17, 166); + label4.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + label4.Name = "label4"; + label4.Padding = new System.Windows.Forms.Padding(0, 0, 0, 9); + label4.Size = new System.Drawing.Size(169, 27); + label4.TabIndex = 4; + label4.Text = "Please, visit our websites"; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Font = new System.Drawing.Font("Tahoma", 15.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.label1.ForeColor = System.Drawing.Color.Maroon; + this.label1.Location = new System.Drawing.Point(17, 25); + this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(264, 33); + this.label1.TabIndex = 0; + this.label1.Text = "Web Messenger Tray"; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Font = new System.Drawing.Font("Tahoma", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.label2.Location = new System.Drawing.Point(151, 62); + this.label2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(134, 23); + this.label2.TabIndex = 1; + this.label2.Text = "version 1.0.2"; + // + // pictureBox1 + // + this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image"))); + this.pictureBox1.Location = new System.Drawing.Point(352, 0); + this.pictureBox1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.pictureBox1.Name = "pictureBox1"; + this.pictureBox1.Size = new System.Drawing.Size(147, 123); + this.pictureBox1.TabIndex = 2; + this.pictureBox1.TabStop = false; + // + // linkLabel1 + // + this.linkLabel1.AutoSize = true; + this.linkLabel1.Font = new System.Drawing.Font("Tahoma", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.linkLabel1.Location = new System.Drawing.Point(17, 192); + this.linkLabel1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.linkLabel1.Name = "linkLabel1"; + this.linkLabel1.Padding = new System.Windows.Forms.Padding(0, 0, 0, 9); + this.linkLabel1.Size = new System.Drawing.Size(145, 27); + this.linkLabel1.TabIndex = 5; + this.linkLabel1.TabStop = true; + this.linkLabel1.Text = "http://www.webim.ru"; + this.linkLabel1.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.webim_ru_link); + // + // linkLabel2 + // + this.linkLabel2.AutoSize = true; + this.linkLabel2.Font = new System.Drawing.Font("Tahoma", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.linkLabel2.Location = new System.Drawing.Point(17, 218); + this.linkLabel2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.linkLabel2.Name = "linkLabel2"; + this.linkLabel2.Padding = new System.Windows.Forms.Padding(0, 0, 0, 9); + this.linkLabel2.Size = new System.Drawing.Size(163, 27); + this.linkLabel2.TabIndex = 6; + this.linkLabel2.TabStop = true; + this.linkLabel2.Text = "http://www.i-services.ru"; + this.linkLabel2.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.i_services_ru_link); + // + // pictureBox2 + // + this.pictureBox2.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox2.Image"))); + this.pictureBox2.Location = new System.Drawing.Point(24, 268); + this.pictureBox2.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.pictureBox2.Name = "pictureBox2"; + this.pictureBox2.Size = new System.Drawing.Size(147, 69); + this.pictureBox2.TabIndex = 7; + this.pictureBox2.TabStop = false; + // + // About + // + this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.White; + this.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; + this.Controls.Add(this.pictureBox2); + this.Controls.Add(this.linkLabel2); + this.Controls.Add(this.linkLabel1); + this.Controls.Add(label4); + this.Controls.Add(label3); + this.Controls.Add(this.pictureBox1); + this.Controls.Add(this.label2); + this.Controls.Add(this.label1); + this.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.Name = "About"; + this.Padding = new System.Windows.Forms.Padding(13, 25, 0, 0); + this.Size = new System.Drawing.Size(499, 405); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.PictureBox pictureBox1; + private System.Windows.Forms.LinkLabel linkLabel1; + private System.Windows.Forms.LinkLabel linkLabel2; + private System.Windows.Forms.PictureBox pictureBox2; + } +} diff --git a/src/webimtray/WebIMTray/options/About.cs b/src/webimtray/WebIMTray/options/About.cs new file mode 100644 index 00000000..8bf6621f --- /dev/null +++ b/src/webimtray/WebIMTray/options/About.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Data; +using System.Text; +using System.Windows.Forms; + +namespace webImTray { + public partial class About : UserControl, OptionsPanel { + public About() { + InitializeComponent(); + } + + #region OptionsPanel Members + + public void initialize() { + } + + public void apply() { + } + + public string getDescription() { + return "About"; + } + + public event ModifiedEvent PanelModified; + + #endregion + + private void i_services_ru_link(object sender, LinkLabelLinkClickedEventArgs e) { + System.Diagnostics.Process.Start("http://i-services.ru/"); + } + + private void webim_ru_link(object sender, LinkLabelLinkClickedEventArgs e) { + System.Diagnostics.Process.Start("http://webim.ru/"); + } + } +} diff --git a/src/webimtray/WebIMTray/options/About.resx b/src/webimtray/WebIMTray/options/About.resx new file mode 100644 index 00000000..8a8c70bf --- /dev/null +++ b/src/webimtray/WebIMTray/options/About.resx @@ -0,0 +1,955 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + False + + + False + + + + + Qk3mgQAAAAAAADYAAAAoAAAAbgAAAGQAAAABABgAAAAAAAAAAADEDgAAxA4AAAAAAAAAAAAA//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////AAD///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////8AAP// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////wAA//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + AAD///////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////8AAP////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////n9//n9//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////wAA//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////rub2yOz4//////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////AAD///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////9Mw+d00+////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////8AAP////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////8/y+wek11jI6v////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////wAA//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////WMjqAaLWM7ji+f3///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////AAD///////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////+u5vYMp9kUq9sls9/n+P3/ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////8AAP////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////+f4/SWz3wyn2RSr2xit3M/y+/////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////wAA//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////+f3/QL3kB6TXGK3cFKvbFKvb + yOz4//////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////AAD///////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////n+P1Mw+cHpNcYrdwUq9sUq9sUq9vI7Pj///////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////8AAP////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////n9/+f4/fn9//////////// + /////////////////////////////////////////////////////8/y+0C95Aek1xit3BSr2xit3BSr + 2xSr28/y+/////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////wAA//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////+f3/j9zzM7jiJbPfM7jiWMjqj9zz2vf+//////////////////////////////////// + ////////5/j9j9zzGK3cDKfZGK3cGK3cFKvbFKvbFKvbJbPf5/j9//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////AAD///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////900+8BotYMp9kUq9sMp9kMp9kH + pNcYrdxYyOqu5vbP8vv5/f/////////////////n+P3P8vuP3PMls98Mp9kUq9sUq9sYrdwUq9sYrdwU + q9sMp9lAveT5/f////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////8AAP// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////+f4/Rit3BSr2xit3BSr2xit3BSr2xit3BSr2wyn2QSm2Rit3EC95EzD53TT71jI6kzD + 5zO44hSr2wek1wyn2Rit3BSr2xit3BSr2xit3BSr2xit3AGi1o/c8/////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////wAA//////////////////////////////////////// + ////////////////////+f3/z/L7l+r/c+P/c+P/Ptj/Qdj/Qdj/Qdn/Qdn/QNj/Qdj/Qdn/Qdn/QNj/ + QNj/QNj/QNj/QNj/QNn/Ptj/Qdj/Qdj/Ptj/QNj/QNj/QNj/Ptj/QNf/Ls34A6XZBajbBajbBajbBajb + BajbBajbBajbBajbBajbBKfaA6bZA6XZAqTYAqTYA6XZBKbZBajbBqncBajbBajbBajbBajbBajbBajb + BajbBajbBajbNtP8Pdj/PNf/PNf/PNf/Pdf/Pdj/Pdj/PNf/ONb/Otb/PNf/PNf/PNf/PNf/PNf/PNb/ + O9b/Otb/Otb/Otb/Otb/Otb/O9f/O9f/Otb/ONb/ONb/Otb/OdX/OdX/Otb/ONb/N9X/ONX/ONb/ONb/ + AAD////////////////////////////////////////////////////a9/6X6v9N2/9B2P9B2f9B2f9B + 2P9A2P9B2P9A2f9B2P9C2f9B2P9A2P9B2f9A2P9B2P9B2P9B2f9A2P9A2P9B2P9B2P9A2P8+2P9B2P9A + 2P9A2P9A2P9A2P9B2P8kxPECpNgGqdwFqNsFqNsFqNsFqNsFqNsFqNsFqNsFqNsFqNsFqNsFqNsFqNsF + qNsFqNsFqNsFqNsFqNsFqNsFqNsFqNsFqNsFqNsFqNsGqdwBotYexPE81/881/881/871/881/891/88 + 1/871/871/861v871/892P871/871/871/861v871/871/861v861v861v861v871/871/861v861v86 + 1v861v841v861v861v841v841v851f851f841v841v8AAP////////////////////////////////// + /////////9r3/nPj/0XZ/0HZ/0HY/0HY/0LY/0HY/0HY/0HZ/0HZ/0HY/0HY/0DZ/0HY/0HY/0DZ/0HY + /0HY/0DY/0DY/0HY/z/X/kHZ/z7Y/0HY/0DY/z7Y/0DY/0DY/0HY/z7Y/z7Y/yTE8QOl2Qap3AWo2wWo + 2wWo2wWo2wWo2wWo2wWo2wWo2wWo2wWo2wWo2wWo2wWo2wWo2wWo2wWo2wWo2wWo2wWo2wWo2wWo2wWo + 2wWo2wGi1hG15D7W/z3X/z3X/z3X/z3Y/zvY/zvY/zzX/zzX/zzX/z3Y/z3Y/z3Y/zzX/zvW/zvW/zvX + /zzW/zzW/zvX/zrW/zrW/zrW/zrW/znV/znV/znV/zrW/zrW/zrW/zrW/zrW/znV/znV/znV/zrW/zrW + /znV/wAA////////////////////////////////////+f3/l+r/Rdn/Qdn/Qdn/Qdn/Qdn/Qdn/Qdn/ + Qdj/Qdn/Qdn/Qdj/Qdj/QNn/Qdj/Qdj/Qdj/Qdn/Qtj/M9D5JMTxFrjnDbHiC67gDbHiEbXkIcDuLMr0 + OtT8QNj/Ptj/Qdj/QNj/QNj/Ls34A6XZBajbBajbBajbBajbBajbBajbBajbBajbBajbBajbBajbBajb + BajbBajbBajbBajbBajbBajbBajbBajbBajbBqncBKfaAKTYFrjnONT9O9b/Pdf/Pdj/O9f/PNf/Pdf/ + Pdj/PNf/PNf/Pdf/Pdf/PNf/O9f/O9f/Pdj/Pdj/Pdj/O9f/O9f/Otb/Otb/O9f/O9f/ONb/ONb/Otb/ + ONb/Otb/Otb/OdX/ONb/ONb/ONX/ONb/ONb/ONb/ONb/ONb/AAD///////////////////////////// + ///n+P1z4/9B2f9C2f9C2P9B2f9C2f9A2P9B2f9C2P9B2P9C2P9A2f9A2f9C2P9B2P9A2P9B2f9A2P8w + zPYNseIBp9oAptkAptkAptkAptkAptkAptkAptkAptkIrN4WuOcsyvQ+1/4+2P9A2P820foEp9oFqNsF + qNsFqNsFqNsFqNsFqNsFqNsFqNsFqNsFqNsFqNsFqNsFqNsFqNsFqNsFqNsFqNsFqNsFqNsGqdwFqNsB + otYIrN4kxPE92P8+2P891/881/881/881/881/881/891/891/881/881/892P892P891/881/871/86 + 1/871/861v861v861v871/871/871/851f851f851f871/871/861v851f841v841v841v861v861v84 + 1v841v841v8AAP///////////////////////////9r3/lfd/0HY/0LY/0LY/0HZ/0LZ/0HZ/0HY/0HZ + /0HZ/0HZ/0HY/0HY/0HY/0LZ/0HZ/0HZ/0HZ/znS+gGn2gCm2QCm2QCm2QCm2QCm2QCm2QCm2QCm2QCm + 2QCm2QCm2QCm2QCm2Q2x4iTE8TzU/TbR+gSn2gWo2wWo2wWo2wWo2wWo2wWo2wWo2wWo2wWo2wWo2wWo + 2wWo2wWo2wWo2wWo2wWo2wWo2wap3AWo2wCk2Aiq3Ry/7jjU/T3Y/z3X/z3X/z3Y/z3Y/z3Y/zzX/z3Y + /z3Y/z3X/zzX/zzX/z3Y/z3Y/zzX/zzX/zzX/zzX/zvX/zrW/zrW/zrW/zrW/zvX/zzX/zzX/zrW/zjW + /zjW/zjW/zjW/zjW/zjW/zjW/zjW/zrW/zjW/zjW/zjW/zjW/zjV/wAA//////////////////////// + 2vf+Rdn/Qtj/Qdn/Qtn/QNn/Qtn/Qdj/Qdj/Qdn/Qdn/Qtn/Qdj/Qdj/QNn/Qtn/Qtn/Qdj/Qdn/Qdj/ + Ptj/IcDuCKzeAKbZAKbZAKbZAKbZAqjaCKzeDbHiEbXkEbXkDbHiC67gBqncAKbZAKbZCKzeEbXkBKfa + BqncBajbBajbBajbBajbBajbBajbBajbBajbBajbBajbBajbBajbBajbBajbBqncBajbAqTYBajbHL/u + NdL+Pdf+Pdf/Pdj/Pdj/Pdj/O9f/Pdj/Pdj/PNf/Pdf/Ptf/Ptf/Pdf/PNf/O9f/PNf/PNf/O9f/Otf/ + O9b/PNb/O9f/O9f/O9f/Otb/Otb/Otb/Otb/ONb/ONb/Otb/Otb/ONb/ONb/OdX/Otb/ONb/ONb/ONb/ + ONb/ONb/ONb/OdX/AAD////////////////////n+P1N2/9C2f9C2P9C2f9C2f9B2f9B2P9C2f9A2f9B + 2P9B2f9B2P9C2P9A2P9B2P9C2P9C2f9B2P9B2f9B2P9A2P9B2P881P0wzPYoxvIsyvQwzPY20fo61f1B + 2P9A2P9A2P9A2P8/1v450vooxvIWuOcCqNoAptkAptkEp9oFqNsGqdwFqNsFqNsFqNsFqNsFqNsFqNsF + qNsFqNsFqNsFqNsFqNsFqNsDpdkDptoVuuoz0Pk81/8+2P891/892P881/881/881/8+1/891/881/89 + 2P891/891/892P881/891/891/871/861v861v861v861v861v871/881v871v861v851f851f861v86 + 1v861v861v861v841v841v861v861v861v851f861v841v841v851f851f8AAP////////////////n9 + /3Pj/z3Y/0HZ/0LZ/0HZ/0LY/0LZ/0HY/0LZ/0LY/0LZ/0HZ/0HY/0HY/0HZ/0HZ/0HY/0DZ/0DZ/0HY + /0LY/0DZ/0DZ/0DY/0DY/0DY/0HY/0HZ/0HY/0DY/z7Y/0DZ/z7Y/0HY/0DY/z7Y/z7Y/zbR+guu4AOm + 2QCm2QCm2QGn2gWo2wWo2wap3AWo2wWo2wWo2wWo2wWo2wWo2wWo2wap3AOm2QOl2RG15C7N+D3X/z7X + /zzX/z/X/z7X/z3Y/z3X/z7X/z7X/zzX/zzX/zzX/z3X/zzX/zzX/z3X/zvX/zvX/zvX/zvX/zvX/zzX + /z3X/zzX/zzX/zzW/zvX/zvX/zrW/zrW/zvW/zvW/zrW/znV/znV/zrW/zrW/zrW/zrW/zjW/zjW/zjV + /zrW/zjW/zjV/zjV/zfV/wAA////////////////l+r/Qdn/Qdj/Qtn/Qtn/Qtn/Qdn/Qtn/Qdn/Qdn/ + Qtn/Qdj/QNn/Qtj/Qdn/Qdn/Qdn/Qdn/Qtj/Qdj/Qtn/Qtj/Qdn/Qtj/QNj/QNn/Qdj/QNj/QNj/QNj/ + Qdj/QNj/QNn/QNj/QNj/QNj/P9f9HL/uBqncBKfaBqncBajbBKfaAKbZAKbZAafaBajbBqncBajbBajb + BajbBajbBqncBajbAqTYC67gJ8n1PNf/Pdj/Pdf/Ptj/Pdf/Ptf/PNf/Pdj/Ptj/Pdf/PNf/Pdj/Pdf/ + Pdf/PNf/PNf/PNf/PNf/Pdf/PNf/O9f/Pdf/O9b/Otb/O9f/O9f/O9f/PNf/PNb/PNb/Pdf/O9f/O9f/ + O9f/Otb/Otf/O9f/O9b/OdX/OdX/Otb/ONb/Otb/O9f/OdX/OdX/OdX/ONb/ONb/AAD////////////a + 9/5F2f9C2f9C2f9B2f9C2P9B2f9B2f9B2f9C2P9B2f9C2P9B2f9B2f9B2f9A2f9A2P9B2P9B2f9B2P9B + 2P9B2P9A2f9B2f9A2P9B2P9A2f9A2P9A2f9B2P9A2P9A2P9B2P9B2P9B2P8+2P9A2f850voApNgEp9oG + qdwFqNsFqNsGqdwFqNsEp9oAptkAptkBp9oFqNsGqdwFqNsFqNsCpNgGqdwexPE61f0+1/8+2P8+2P89 + 2P8+2P8+1/8/1/892P892P892P8+1/8+1/892P892P892P881/881/881/871/881/892P872P881/87 + 1v861v871/871/871/871v861v861v861v871/871/861v861v871/871/861v861v861v861v841v84 + 1v861v841v841f841f861v851f8AAP///////////3Pj/0HY/0HZ/0LZ/0LZ/0HY/0LZ/0HY/0HZ/0LZ + /0HZ/0DY/0HZ/0LZ/0HZ/0HY/0DY/0HZ/0LY/0LY/0DY/0HZ/0DY/0HY/0LY/0HZ/0HY/0HY/z7Y/0HY + /0DY/0DY/0DY/0DZ/0DY/z7Y/0DY/z7Y/xG15AOm2QWo2wWo2wWo2wWo2wWo2wap3AWo2wGn2gCm2QGn + 2gWo2wWo2wOm2ha45zPQ+T7Y/z3X/z7Y/z3X/z3Y/z3Y/z7X/z3X/z3Y/z3X/zzX/zzX/z3X/z3X/z3X + /z3Y/z3Y/zzX/zzX/zzX/z3Y/zzW/z3W/z3X/zvX/zzX/z3X/zrW/zrX/zvX/zvX/zrW/zrW/zrW/zzX + /zvX/zrW/zrW/zvV/jvV/jjV/zjW/zjW/zrW/zjW/zjW/zrW/znV/zjV/zjW/zjW/zjW/wAA//////// + 2vf+QNn/Qdn/Qdn/Qtn/Qtj/Qtj/Qdn/Qtn/Qtn/Qtn/Qtn/Qtn/Qtj/Qdn/Qdj/Qdn/Qdn/Qdn/Qdn/ + Qdj/Qdn/QNn/Qdj/Qdj/Qdj/QNn/QNj/Qdj/Qdn/Ptj/Qdn/QNj/Qdj/Qdj/Qdj/QNj/NtP8HL/uDbHi + BKfaBajbBajbBajbBajbBajbBajbBqncBqncBajbAafaAKbZAKTYIcDuP9f/P9f/P9f/Ptf/Ptj/Pdf/ + Ptf/Ptf/Pdj/PNf/P9f/Pdf/Ptf/Pdj/Pdj/Pdj/Otb/PNf/Pdj/PNf/PNf/PNf/Pdj/Pdf/Ptf/Ptf/ + PNf/O9f/O9f/O9f/O9f/O9f/O9f/O9f/O9f/O9f/O9f/O9f/O9f/OdX/OdX/OdX/Otb/ONb/ONb/OdX/ + ONb/ONb/ONb/ONX/ONX/ONb/ONb/ONX/AAD///////+X6v9C2f9C2f9C2f9C2f9B2f9A2P9B2f9B2f9C + 2P9C2f9B2f9B2P9B2P9B2f9B2f9B2P9C2P9B2P9B2f9C2P9C2P9B2P9B2P9B2f9B2P9B2P9B2f9B2f9B + 2P9B2P9A2P9A2f9A2P9A2P9A2P9A2P8VuuoBotYEp9oGqdwFqNsFqNsFqNsFqNsFqNsFqNsFqNsFqNsG + qdwCpNgNseIIqt0LruAsyvQ92P891/891/892P8+1/8+2P891/892P8+2P892P881/8+2P881/892P89 + 2P892P871/871/891/8+1/891/881/881/881/871/871/892P892P861v871/881/861v861v861v86 + 1v851f851f861v881/871/841v861v861v861v841v841v841v841v861v861v851f851f841v8AAP// + //n9/03b/0LZ/0LZ/0LZ/0LZ/0HZ/0HZ/0HZ/0HY/0HY/0LY/0HY/0HZ/0HZ/0HZ/0LZ/0DY/0HY/0HZ + /0LY/0HZ/0HZ/0HZ/0HY/0LY/0HY/0HY/0DY/0HY/0HY/z7Y/0HY/0DZ/0DY/z7Y/0DY/0DZ/yTE8QKk + 2Aap3AWo2wWo2wWo2wWo2wWo2wWo2wWo2wWo2wWo2wKk2Bq86jzW/jnS+hG15ACm2Rq86j3W/j7Y/z3X + /z7Y/z/X/z3Y/z3Y/z7X/z7Y/z3Y/z3X/z3X/z3X/z3X/zvY/zzX/z3X/z3Y/z7Y/z3Y/zzX/zzX/z3Y + /zvY/zvX/zrW/zrW/zvX/zzW/z3W/z3X/zvW/zrW/zrW/zzX/zvX/zjW/zvX/zrX/zjW/zrW/zjW/zjW + /zvX/zrW/zjW/zjW/zrW/zjW/zjW/zjW/zjW/wAA////2vf+Qdj/Qdn/Qtn/Qtn/Qtj/Qdn/Qtj/Qdn/ + Qdn/Qtn/Qdn/Qdn/Qtn/QNn/Qtn/Qtj/Qdn/Qdn/QNj/Qtn/Qdn/QNn/QNj/Qdn/Qdn/Qtj/QNj/Qdj/ + Qdj/QNj/QNj/Qdj/QNj/QNj/QNj/Qdn/QNn/LMr0A6XZBajbBajbBajbBajbBajbBajbBajbBajbBajb + AaLWGrzqPtj/Ptj/Pdj/Ptj/JMTxAKbZDbHiM9D5Ptj/Pdj/Ptj/Ptj/Pdf/Pdf/Pdf/Ptf/Ptj/PNf/ + Pdf/Pdf/Pdj/Pdf/Pdf/Pdj/PNf/PNf/Pdf/Pdf/Pdf/PNf/PNf/O9b/Otb/O9f/O9f/O9f/PNf/PNf/ + PNf/O9f/Otb/Otb/Otb/O9f/O9f/Otb/Otb/OdX/OdX/ONX/ONb/ONb/ONb/OdX/OdX/OdX/OdX/Otb/ + AAD///+X6v9F2f9D2f9C2P9C2f9C2P9B2f9C2f9C2f9B2P9C2f9C2f9C2P9B2f9B2P9B2f9B2P9C2P9B + 2f9C2P9C2f9B2P9B2P9B2P9C2P9A2P9B2P9B2P9A2f9B2P9B2f9B2P9A2P9A2P9A2P8+2P9A2f9A2P8k + xPEBotYFqNsFqNsFqNsFqNsFqNsFqNsFqNsGqdwBotYcv+491/4/1/8/1/8+2P8+2P8+1/8wzPYIrN4B + p9ooxvI+1/8+1/891/8+2P8+1/8+2P892P881/891/881/881/891/881/871/881/881/881/892P87 + 1/881/891/881/891/891/881/871/871/881/881/871/861v861v861v861v861v861v861v861v84 + 1v841v851f841v841v851f861v861v861v851f841v8AAP///3Pj/0HZ/0LZ/0LZ/0LZ/0HY/0LZ/0LY + /0LY/0LY/0HZ/0HY/0LZ/0LY/0HY/0LZ/0LZ/0LY/0HY/0HZ/0DZ/0DY/0DY/0LZ/0HY/0DY/0DZ/0DZ + /0HY/0HY/0DZ/0HY/0HY/0HZ/z7Y/0DY/z7Y/yzK9Ais3gSn2gWo2wWo2wWo2wWo2wWo2wWo2wap3AOl + 2RG15D/X/j7Y/z7Y/z/X/0DY/z/X/z7Y/z7X/zrV/Ra45wCm2Rq86jzW/j7X/z3X/z3Y/zzX/z3Y/z3X + /z3Y/z3X/z3X/z7Y/z3X/z7X/z/X/z3X/zzX/z3X/zzX/zvX/zvX/zzX/z3Y/z3Y/zvX/zzX/zzX/zzX + /zvX/zvX/zzX/zrW/zrW/zvX/zjW/zrW/zrW/zjW/zjW/zrW/zrW/zjW/zjW/zjW/znV/znV/zjW/zjW + /zjW/wAA////Qtj/Qtn/Qtn/Qdj/Qdn/Qtn/Qdj/Qtj/Qdj/Qtn/Qdn/Qtj/Qdn/Qdj/Qdn/Qdj/Qtn/ + Qdj/Qdj/Qdn/Qdj/Qdj/Qtj/Qdn/QNj/Qdn/QNn/Qdj/Qdj/QNj/Qdj/QNj/Qdj/Pdb+Ls34IcDuEbXk + A6XZBKfaBqncBajbBajbBajbBajbBajbBajbBajbBKfaNtH6Ptj/QNj/P9f/Ptj/Ptf/P9f/Pdj/Ptj/ + P9f/Ptj/IcDuAKbZDbHiNtH6Ptf/Pdj/Pdf/Pdf/Pdj/Pdf/PNf/PNf/Pdf/Pdj/Pdj/PNf/O9f/O9f/ + Pdj/O9f/O9f/O9f/PNf/O9f/O9f/Pdf/Pdf/PNf/O9f/O9b/O9b/Otb/O9b/O9b/Otb/O9b/Otb/Otb/ + O9f/Otf/ONb/OdX/OdX/ONX/ONb/Otb/ONb/ONb/Otb/OdX/AAD///9C2P9C2f9C2f9C2P9B2P9C2P9C + 2f9B2P9C2f9C2P9B2P9C2P9B2f9B2f9B2P9C2f9B2f9B2P9B2P9B2f9B2P9B2f9B2f9B2P9B2f9B2P9B + 2f9B2P9B2P9A2P9B2f9B2P850voNseIDptkCpNgDptkFqNsFqNsFqNsFqNsFqNsFqNsFqNsFqNsFqNsC + pNgVuuo+2P9A2P8+2P8+2P8+2P8+2P8/1/8+2P8+2P8+2P8+1/8+1/8oxvIAptkIrN4wzPY91/892P89 + 2P892P891/891/891/892P892P892P891/881/881/881/891/891/881/881/871/871/881/881v88 + 1v881/881/871/861v881/871/861v851f851f861v841v851f851f861v851f851f841f851f851f86 + 1v841v841v8AAP///0LZ/0HZ/0LZ/0LZ/0LZ/0LZ/0HZ/0LZ/0HZ/0HZ/0HZ/0HZ/0LZ/0HZ/0HY/0HZ + /0HY/0HY/0HY/0HZ/0LY/0DZ/0DY/0HZ/0LY/0HY/0DY/0HZ/0HY/0DY/0HY/0DY/xq86gGi1gWo2wap + 3AWo2wWo2wWo2wWo2wWo2wWo2wWo2wWo2wWo2wWo2wKk2DDM9j7Y/0DY/z7Y/z7Y/z7Y/0DY/z7Y/z7Y + /z7Y/z7Y/z7X/z7Y/z3Y/yzK9AGn2gWo2yzK9D7X/z3X/z7Y/z3X/z7X/z7X/zzX/z3X/z3X/z3Y/z3Y + /z3Y/zzX/zvX/zvX/zzX/zzX/zvW/zrW/zzX/zzX/zvX/zvX/zvX/zvX/zrW/zvX/zvW/znV/zjW/zjW + /zrW/zvX/zrW/zrW/zrW/znV/zjV/zjW/znV/zjV/zjW/zrW/znV/wAA////Qtn/Qtn/Qtn/Qtn/Qtn/ + Qtn/Qtn/Qtj/QNn/Qdn/Qtj/Qdj/Qdn/Qdn/Qdj/Qtj/Qdj/QNn/Qdj/QNn/Qtn/QNn/Qdj/Qdn/Qdj/ + Qdj/QNj/Qdj/Qdj/Qdj/QNj/QNj/HL/uAaLWBqncBajbBajbBajbBqncBajbBajbBajbBajbBajbBajb + BKfaCKrdNtP8QNf/Ptj/Ptj/Ptj/Ptf/Ptf/Ptj/Ptj/Ptj/P9f/Ptj/Ptj/Ptj/Ptj/LMr0AafaBajb + MMz2Ptf/Pdf/PNf/Pdf/Pdf/Pdj/Pdj/Pdj/PNf/Pdj/Pdj/PNf/PNf/Pdf/Ptf/O9f/O9f/PNf/O9b/ + PNf/PNf/PNf/O9f/O9f/O9f/Otb/Otb/Otb/PNf/O9f/Otb/Otb/ONb/ONb/Otb/O9f/Otf/ONb/Otb/ + Otb/Otb/ONb/N9X/AAD///9C2f9C2f9C2P9C2P9B2f9C2f9B2f9C2P9B2f9A2f9B2f9B2P9B2P9B2f9C + 2f9C2f9B2f9B2f9C2P9B2P9B2P9A2P9A2f9B2P9B2P9A2f9A2f9B2P9A2f9A2f9B2P9B2P861PwLruAC + pNgGqdwGqdwFqNsGqdwFqNsFqNsFqNsFqNsFqNsFqNsDptoLruA61f1A2P8/1/8+2P8+2P9A2P892P8+ + 2P8/1/8+2P8+1/892P8+2P892P8+2P892P8oxvIAptkIqt0z0Pk81/891/892P892P892P891/891/89 + 1/881/871/871/881/871v861v881/881/881/881/881/881/881v871/871/881/871v861v841v86 + 1v871v871v861v851f851f841v861v861v841v851f851f841v841v841v8AAP///0LZ/0HZ/0LZ/0HZ + /0LZ/0LZ/0LY/0LZ/0HZ/0HZ/0HZ/0LY/0HZ/0LZ/0LZ/0HY/0DZ/0HY/0LZ/0HY/0DY/0LY/0HY/0DY + /0HY/0DY/0HY/0HY/0DZ/0DY/0HY/0HY/0HY/zbR+guu4AOm2Qap3AWo2wap3AWo2wWo2wWo2wWo2wWo + 2wWo2wOm2Q2x4j3X/j7Y/z7X/z7Y/z7Y/z3Y/z/X/0DY/z3Y/z/X/z7Y/z7Y/z/X/z7Y/z7Y/z7Y/z/X + /hy/7gCm2Quu4DrV/T7X/z3X/zzX/z3Y/zzX/zzX/z3Y/z3Y/z3Y/z3X/z3X/z3X/z3X/zzX/zzX/zzX + /zvX/zvX/zvX/zvX/zvX/zvX/zvX/zzW/zzW/zvX/zrW/zrW/zrW/zrW/znV/znV/zjW/zrW/zrW/znV + /zrW/zrW/zjW/zbW/zbW/wAA////Qtj/Qtn/Qtn/Qtn/Qtn/Qtn/Qtn/Qdj/Qtn/Qdj/Qtj/Qtj/Qdj/ + Qtj/Qtn/Qtj/Qdn/Qdj/Qdj/QNj/QNn/Qdn/Qdj/Qdj/QNn/Qdj/QNj/Qdj/Qtj/Qdj/Qdj/QNn/QNj/ + Qdj/NtH6BajbBKfaBajbBajbBajbBajbBajbBajbBajbBajbA6XZEbXkQNn/QNj/Ptj/QNj/QNj/Ptj/ + Ptj/Ptj/Ptj/Ptj/Pdf/Ptj/P9f/Ptj/Ptf/Pdf/Ptf/Pdj/EbXkAKbZFrjnPdf/Pdf/Pdf/O9f/O9f/ + PNf/Pdf/PNf/O9f/Pdj/Pdf/Pdf/Pdj/PNf/Pdf/Pdf/PNf/O9f/O9f/Otb/Otb/Otb/Otb/Otb/O9f/ + O9f/ONb/Otb/O9b/ONb/ONX/OdX/Otb/ONb/ONb/Otb/OdX/OdX/Otb/OdX/OdX/AAD///9C2f9C2f9C + 2P9C2f9B2P9C2f9C2P9C2f9B2f9B2P9C2P9B2f9B2f9C2f9B2f9C2f9B2P9C2P9B2f9B2f9B2f9A2P9B + 2P9B2P9B2f9B2P9B2P9B2f9B2f9B2P9A2P9A2P9B2P9A2P9A2P8syvQCpNgFqNsFqNsFqNsFqNsFqNsF + qNsFqNsFqNsDpdkRteRA2P9A1/8+2P8/1/8/1/8+2P9A1/8+2P8+1/8/1/8/1/8+2P891/892P8+1/89 + 1/8+1/891/820foGqdwAptkkxPE91/891/891/891/891/8+1/891/891/891/871/881/891/892P89 + 2P891/881/881/881/881/871/861/861v871/871/871/861v871/881/861v861v861v841v841f84 + 1f851f841v841v851f841v841v8AAP///0LZ/0LZ/0LZ/0LZ/0HZ/0LZ/0LZ/0HZ/0LZ/0LY/0LZ/0HZ + /0HZ/0LZ/0LZ/0HY/0LZ/0LY/0HZ/0LY/0HY/0HZ/0HZ/0HZ/0HY/0HY/0DY/0HZ/0HZ/0HZ/0DY/0DY + /0HY/0DZ/0DY/0HY/xG15AOl2Qap3AWo2wWo2wWo2wWo2wWo2wWo2wOl2RG15EDZ/0DY/0DY/0DY/z7Y + /z7Y/z/X/0DY/z/X/z7Y/z7X/z7X/z7X/z7Y/z7Y/z3X/z7Y/z3Y/zzX/yHA7gGn2giq3TbR+jzX/z3X + /z3Y/z3Y/z7X/z3X/zzX/z3Y/z3X/z3X/zzX/z3Y/zvY/zvX/zzX/zvX/zvX/zvX/zzX/zvX/zjW/zjW + /zvW/zzW/znV/zvW/zvX/zjW/znV/znV/znV/zvW/zrX/zjW/znV/zjV/zjW/znV/znV/wAA////Qtj/ + Qdn/Qtn/Qdn/Qtj/Qtn/Qtn/Qtn/Qdn/Qdn/Qdn/Qtj/Qdn/Qtn/Qtj/Qdj/QNj/Qdn/Qdn/Qdj/QNj/ + Qdn/QNn/Qdn/Qdj/QNn/QNj/QNn/Qdn/Qdj/QNn/QNn/Qdn/Qdj/QNj/QNj/OdL6A6baBajbBajbBajb + BajbBajbBajbBajbA6XZEbXkQNj/QNf/Ptj/Ptj/QNf/P9f/Ptj/Ptj/Ptj/Ptj/P9f/QNf/Ptj/Ptj/ + Pdj/PNf/Pdj/Ptj/Pdf/OtX9CKzeAKbZGrzqPtj/Ptf/Pdf/O9f/O9f/PNf/PNf/PNf/O9f/O9f/PNf/ + O9f/PNf/PNf/O9j/Pdj/PNf/PNb/O9f/Otf/Otb/PNf/O9f/Otb/PNf/O9f/ONb/ONb/Otb/O9b/ONb/ + ONb/ONb/OdX/ONb/ONb/Otb/ONb/ONb/AAD///9B2f9C2f9B2P9C2f9C2f9C2f9C2P9B2f9C2f9B2f9B + 2P9B2P9B2f9C2P9C2f9B2P9B2f9B2P9B2P9C2P9A2f9B2P9B2P9B2P9C2P9B2P9B2P9B2P9B2f9A2P9B + 2P9B2P9A2P9B2P9B2P9A2P8+2P8VuuoCpNgGqdwFqNsFqNsFqNsFqNsFqNsEptkRteQ91/5A2P8+2P9A + 2P8+2P9A2P8+2P8+2P8+2P8+1/8+1/8+2P8+1/8/1/892P8+1/8+1/892P891/891/8hwO4AptkCqNoz + 0Pk91/892P892P881/881/881/892P891/891/892P891/881/871/891/891/871/861v871/871/86 + 1v861v861v861v871/871/871/861v861v861v841v851f851f841v851f851f831f841v841v8AAP// + /0LZ/0HZ/0LZ/0LZ/0LZ/0LZ/0LZ/0LY/0HZ/0HY/0LZ/0LZ/0HZ/0HZ/0LZ/0HZ/0HZ/0DY/0HY/0HY + /0HZ/0HY/0HY/0DZ/0HY/0HZ/0DY/0HY/0HY/0HY/0HZ/0DY/0DY/0DY/0DY/0DY/0DY/zPQ+QSm2QWo + 2wWo2wWo2wWo2wWo2wWo2wSm2Q2x4j3W/kDY/z7Y/0DX/z/X/0DY/z/X/z/X/z/X/z7Y/z7Y/z7Y/z/X + /z7X/z3Y/z7Y/z3X/z3Y/z3X/zvX/zPQ+QKo2gCm2Rq86j7X/z7X/zzX/zrX/zvX/zzX/zzX/zzX/z3X + /z3X/zzX/zzX/zzX/zrW/zvX/zzX/zzW/zzX/zzX/zvW/zvW/zvW/zrW/zrW/zrW/zrW/zjW/znV/znV + /znV/zrW/zrX/zjW/znV/znV/zjW/zjW/zjW/wAA////Qdn/Qtn/Qtn/Qtn/Qtn/Qdn/Qtn/Qtj/Qdn/ + Qdn/Qtn/Qtj/Qtj/QNn/Qdj/Qtj/Qdn/Qdj/Qtn/Qdj/QNn/Qtn/Qdn/Qdj/QNj/Qdj/Qdn/QNj/Qdj/ + Qdj/QNn/QNn/Qdj/QNj/QNj/QNj/QNj/Ptj/EbXkA6XZBajbBajbBajbBajbBajbBKfaC67gO9X+QNj/ + Ptj/QNf/P9f/Ptj/Ptj/Ptj/Ptf/Ptj/Ptj/Ptj/Ptj/Ptj/P9f/Pdj/Ptj/Pdf/Ptf/Pdf/O9X+C67g + AKbZCKzeONT9Pdj/Pdj/Pdf/Pdj/PNf/Otb/PNf/PNf/O9f/PNf/O9b/Otb/Pdf/PNf/O9f/O9f/Otb/ + Otb/Otb/O9f/O9f/Otb/Otb/Otb/Otb/Otb/O9f/O9f/Otb/OdX/OdX/Otb/OdX/OdX/ONb/OdX/OdX/ + AAD///9C2f9C2P9C2f9B2f9C2f9C2f9C2f9B2f9B2f9C2P9B2P9B2f9B2f9B2f9C2f9C2f9C2P9C2P9C + 2P9C2P9C2P9C2f9C2P9B2P9A2f9B2P9B2P9B2P9A2P9B2P9B2P9A2P9B2P9B2P9B2f9B2P9B2P9A2f8e + xPECpNgGqdwFqNsFqNsFqNsFqNsEp9oNseI81v4+2P8+2P8+2P8/1/8/1/8+2P8+2P8+2P8/1/8+2P8+ + 2P8+2P8+2P8+2P8/1/8/1/8+2P8+2P8+1/891v8RteQAptkAptksyvQ92P892P892P891/891/891/89 + 1/891/891/891/892P892P881/891/891/891/881/881/891/881v881v881/881/881/881/871/87 + 1/871/861v851f871v881/871/861/861v861v851f8AAP///0HZ/0HZ/0LZ/0LZ/0LY/0HZ/0HZ/0HY + /0LZ/0HZ/0HZ/0HZ/0LY/0HZ/0HZ/0HZ/0LZ/0LY/0HY/0HY/0HY/0HZ/0HY/0HZ/0HZ/0HY/0HY/0HY + /0HZ/0DY/0DY/0HZ/0DY/0HY/0HY/0HY/0HY/z7Y/yjG8gGi1gap3AWo2wWo2wWo2wWo2wSm2RG15DzW + /kDX/0DY/0DY/0DY/0DX/z/X/0DY/z7Y/z7Y/z7Y/z7Y/z/X/z7X/z7Y/z7Y/z7Y/z/X/z/X/z7Y/z3Y + /xa45wCm2QCm2Rq86j3X/z3X/z7X/z7X/z7X/z3Y/zzX/zzX/zzX/z3X/z3X/z3X/z7X/z7X/z3X/zzX + /zzX/zzX/zzX/zzX/zzX/zzX/zvX/zvX/zzX/z3X/zzX/zvX/zvX/zvW/zvW/zrW/zzX/zvW/znV/zvX + /zrW/wAA////Qdn/Qtj/Qdn/Qtn/Qtn/Qtn/Qtn/Qtj/Qdj/Qdn/Qdn/Qdj/Qtn/Qtj/Qtn/Qdn/Qdn/ + Qtn/Qtj/Qdj/Qdn/Qdj/Qdj/Qtn/Qdj/Qdn/Qdj/Qdj/Qdj/Qdn/Qdn/Qdj/Qdj/Qdj/QNj/Qdj/Qdj/ + Qdj/HL/uA6XZBqncBajbBajbBajbBajbA6XZEbXkPtj/Qdj/QNj/P9f/Ptj/QNj/QNj/Ptj/P9f/Ptj/ + Ptj/QNj/Ptj/Pdj/Ptj/P9f/Ptf/Pdf/Ptj/Pdj/Ptj/FrjnAKbZAKbZDbHiPtf/Pdf/PNf/Pdf/Ptf/ + Ptf/Ptf/Pdf/O9f/PNf/PNf/PNf/Pdf/Pdf/Pdf/PNf/Pdf/Pdf/PNf/PNf/PNf/PNf/O9f/O9b/PNb/ + PNb/O9f/O9f/PNf/O9b/Otb/Otf/PNb/PNb/O9f/Otb/OdX/AAD///9B2f9C2f9C2f9C2P9B2P9C2P9C + 2f9C2f9C2P9C2f9B2P9C2f9B2P9B2f9B2P9B2P9C2f9B2P9B2f9B2f9B2P9B2P9C2f9B2P9B2f9B2P9B + 2f9B2P9B2f9B2P9B2P9B2P9A2P9B2P9B2P9B2P9A2f9B2P8cv+4CpNgGqdwFqNsFqNsFqNsFqNsDptoR + teRA1/8+2P9A2P9A2P9A1/8+2P9A2P9B2P8+2P9A2P8+2P9A2P9A1/9A2P9A2P9A1/8+2P8+2P9A2P8/ + 1/8/1/8RteQAptkAptkIrN450/s+1/8/1/8/1/8/1/8/1/8+1/8+1/8+1/8/1/8/1/8+1/8+1/891/89 + 1/8+1/8+1/8+1/891/8+1/8+1/891/8+1/891/891/8+1/8+1/8+1/891/891v891v8+1v891/891/89 + 1/891v881v8AAP///0LZ/0LZ/0LZ/0LZ/0LZ/0LY/0LZ/0LZ/0LZ/0LY/0HZ/0LY/0HY/0HZ/0LZ/0HY + /0LZ/0HY/0LY/0HZ/0HZ/0HY/0HZ/0HY/0HY/0LY/0HY/0HY/0HY/0HZ/0HY/0HY/0HZ/0HY/0DY/0HY + /0HY/0DY/xq86gKk2AWo2wWo2wWo2wWo2wWo2wKk2BW66kDY/0DX/0DY/0HY/0DY/0DY/z7Y/0DX/0HY + /z/X/0HY/z7Y/0DY/0DY/0DY/0DX/z/X/z7Y/0DX/z7Y/zvV/gis3gCm2QCm2Qap3DbR+j/X/z7Y/z/X + /z/X/z7Y/z/X/z/X/z/X/z/X/z7Y/z7Y/z7X/z7X/z7X/z7X/z7X/z7X/z7X/z3X/z3X/z7X/z7X/z3W + /z3W/z3X/z7X/z7X/z7X/z3X/z3X/z3X/zzX/z3X/z7X/z3X/zzW/wAA////Rdn/Rdn/Qdn/Qdn/Qdn/ + Qtj/Qdn/Qtn/Qtn/Qdn/Qtn/Qdj/Qdj/Qdn/Qdj/Qdj/Qdj/Qdj/Qdn/Qtn/Qdj/Qdj/Qdj/Qtj/Qtn/ + Qdn/Qdj/Qdj/Qdn/Qdn/Qdj/Qdj/Qdj/Qdj/Qdj/Qdj/Qdj/P9f+EbXkA6XZBajbBajbBajbBajbBajb + A6XZFrjnQtj/Qdj/QNj/P9f/QNf/QNj/QNj/QNj/QNj/Qdj/Ptj/Ptj/Ptj/P9f/QNj/QNj/QNj/P9f/ + Ptj/QNf/KMbyAKbZAKbZAKbZBajbNtH6P9f/P9f/P9f/P9f/QNf/Ptf/Ptf/P9f/Ptj/Ptf/Ptf/Ptj/ + P9f/P9f/P9f/Ptf/Ptf/Ptf/Pdf/Pdf/Pdf/PNf/Pdf/Ptf/Ptf/Ptf/Ptf/Pdf/Pdf/Pdf/Pdf/Pdb/ + Pdb/Pdf/Pdb/Ptb/AAD///9N2/9C2f9C2f9C2f9B2f9B2f9C2P9C2f9C2f9B2f9B2f9C2f9B2f9C2f9C + 2P9B2f9C2P9C2f9C2f9B2f9C2P9B2P9B2f9B2P9B2P9C2f9B2P9B2P9B2P9B2P9B2f9B2f9B2f9B2P9B + 2P9B2P9A2P861PwIqt0Ep9oFqNsFqNsFqNsFqNsGqdwCpNgcv+5B2P9A2P9A1/9A2P9A1/9A2P9A2P9A + 1/9A2P9A2P8+2P8+2P9A1/8+2P8/1v4/1/8+2P8+1/8/1/8oxvIFqNsAptkAptkAptkIqt050/s+2P8+ + 1/8+1/8+1/8/1/8+1/891/891/8/1/8/1/8+1/8/1/8+1/8+1/8+1/8+1/8+1/8+1/891/891/891/8+ + 1/891v891v8+1/8+1/8+1/8+1v881/871/891v8+1v8+1v891/881/891/8AAP///1fd/0XZ/0PZ/0HZ + /0HZ/0LY/0LY/0LZ/0LZ/0HZ/0LY/0HY/0LZ/0LZ/0HZ/0HY/0LZ/0LY/0HZ/0HZ/0LZ/0HY/0HY/0HY + /0HY/0LY/0HY/0HY/0HZ/0HZ/0HY/0HZ/0DY/0HY/0HY/0HY/0HY/yzK9AKk2AWo2wWo2wWo2wWo2wWo + 2wap3AKk2CjG8kDY/0DY/0DY/0DY/0DY/0DY/0HY/0DX/0DX/0DY/0DX/0DY/z/X/0DY/z/X/ha45xG1 + 5Bi25Quu4ACm2QCm2QCm2QCm2QCm2Q2x4j7X/z7X/z7Y/z/X/z/X/0DX/z7X/z7X/z7X/z/X/z7X/z7X + /z/X/z7X/z7X/z/X/z7X/z3X/z3X/z7X/z7X/z7X/z3X/z7X/z7X/z3X/z7W/z7W/z7X/z7X/z7X/z7W + /zzX/zzX/z3X/zvX/zvW/wAA////c+P/Qdn/Qtn/Qtn/Qdj/Qtn/Qtn/Qdj/Qdn/Qtn/Qtn/Qdn/Qdj/ + Qdj/Qdn/Qdj/Qdn/Qdn/Qdn/Qtn/Qdn/Qtn/Qdn/Qdj/Qdn/Qtj/Qdj/Qdn/Qdn/Qdj/Qdj/QNj/Qdj/ + Qdj/Qdj/Qdj/Qdn/HL/uAqTYBqncBajbBajbBajbBajbBajbAqTYLs34QNf/Qdj/QNj/Qdj/QNf/QNj/ + Ptj/Ptj/QNf/QNf/P9f/P9f/QNj/QNf/Ptj/KMbyAKbZAKbZAKbZAKbZAKbZAKbZAKbZAKbZIcDuP9f/ + P9f/P9f/Ptf/Ptf/Ptj/P9f/P9f/Ptf/Ptf/Ptf/Ptf/P9f/P9f/P9f/Ptf/Ptf/Ptf/P9f/Ptf/Ptf/ + Ptf/Ptb/Ptb/Ptf/Pdf/Ptf/Ptf/Ptf/Ptf/Ptf/Ptb/Pdf/Pdf/Pdf/Ptf/Ptf/AAD///+X6v9F2f9C + 2f9B2f9B2f9C2f9B2f9B2P9B2f9C2f9B2f9C2P9C2f9B2P9B2P9B2f9C2f9B2P9B2f9C2f9B2f9B2P9B + 2f9B2P9C2P9B2f9B2P9B2P9B2f9B2P9B2f9B2f9B2P9B2P9B2P9A2P9A2P8WuOcDpdkFqNsFqNsFqNsF + qNsFqNsFqNsEp9o20fo+2P8+2P9B2P9A1/9A2P9A2P9A2P9A2P8+2P9B2P8+2P8+2P9A2P9A2P9A2P9A + 1/8WuOcAptkAptkAptkAptkAptkAptkIqt050vo/1/8/1/8/1/8/1/8/1/8/1/8/1/8+1/891/892P8+ + 2P8/1/8/1/8+1/8+1/8+1/8+1/8+1/891/8+1/8+1/8+1/891/891/891/891/8+1v8+1v891/8+1/89 + 1/881/891v8+1v8+1/891/881/8AAP///9r3/kLZ/0LZ/0LZ/0LY/0LZ/0LY/0HZ/0LZ/0LZ/0HZ/0LZ + /0LY/0HZ/0HZ/0HY/0HZ/0HY/0HZ/0HY/0HY/0LY/0HZ/0HZ/0HY/0HZ/0HY/0HY/0HY/0HY/0HY/0HY + /0DZ/0HY/0HZ/0HY/z7W/g2x4gSn2gWo2wWo2wWo2wWo2wWo2wSn2gis3jrU/EDX/0DY/0DY/0HY/0DX + /z7Y/0DX/z7Y/z/X/0DY/0DY/z7Y/0DY/z/X/0DY/z7Y/zzU/RG15ACm2QCm2QCm2QCm2Qiq3SzK9D/X + /z7Y/z7Y/z7Y/z7X/z7X/z/X/z7Y/z7Y/0DX/z7X/z7X/z/X/z/X/z/X/z/X/z7X/z7X/z7X/z3X/z7X + /z7W/z7W/z7X/z7W/z7W/z7X/z7W/z7W/z7X/z7X/z3X/zzW/z3X/z7X/z7W/z3W/zzX/wAA////+f3/ + Tdv/QNn/Qdn/Qdn/Qdn/Qtj/Qdn/Qdj/Qdj/Qtn/Qtj/Qdn/Qtj/Qtj/Qdj/Qdn/Qdj/Qtn/Qdj/Qdj/ + Qdj/Qdj/Qdn/Qdj/Qdj/Qdj/Qdj/Qdj/QNj/Qdj/Qdj/Qdj/Qdj/Qdj/QNn/OtT8CKzeBKfaBajbBajb + BajbBajbBajbBKbZDbHiPtj/Ptj/QNj/QNf/Qdj/QNj/QNf/Qdj/QNj/QNj/QNj/QNj/QNj/P9f/QNf/ + QNf/QNf/QNj/PNT9IcDuDbHiDbHiGrzqOdL6P9f/P9f/Ptf/Ptf/P9f/QNf/QNf/P9f/QNf/P9f/Ptf/ + Ptf/P9f/P9f/Pdf/Ptf/P9f/P9f/Ptf/Pdf/Pdf/P9f/P9f/Ptf/Ptf/Ptf/Ptf/Ptf/Ptf/Ptf/Ptf/ + Pdf/Pdf/Pdf/Ptb/Pdb/O9b/Pdb/Ptf/AAD///////+X6v9B2f9B2f9C2P9C2P9C2P9C2P9C2f9C2f9B + 2f9C2P9C2f9C2P9B2f9B2P9B2P9B2P9B2f9B2f9B2P9B2f9C2f9B2P9B2P9C2P9B2P9B2P9B2P9B2f9B + 2P9B2P9B2f9B2P9B2P9B2f850voIqt0FqNsFqNsFqNsFqNsFqNsFqNsDpdkVuupA2P9A1/9A1/9A2P9A + 2P9A2P9B2P9A1/9A2P9A2P8/1/9A1/9A2P9A2P9A2P9A1/8+2P9A1/9A2P9A1/8+1/8+2P9A1/9A1/9A + 1/8+2P8+1/8+1/8/1/8+1/8+1/8+1/8/1/8/1/8/1/8+1/8+1/8/1/8/1/8/1/8/1/8+1/8/1/8/1/8+ + 1/8+1/8+1/8+1/8+1/8+1/8+1/8+1/891/891/891/8+1v8+1v8+1/891/891/891/8+1/881/8AAP// + /////9r3/kPZ/0PZ/0HZ/0LZ/0LY/0HZ/0HZ/0LY/0LY/0HZ/0HZ/0HZ/0LZ/0LY/0LY/0HZ/0LZ/0HZ + /0HY/0LZ/0HZ/0HY/0HY/0HY/0HZ/0HZ/0HY/0HY/0DY/0HY/0HY/0HY/0HY/0DY/znS+giq3QWo2wWo + 2wWo2wWo2wWo2wWo2wOl2Rq86kDY/0DY/0DY/0DY/0DY/0DY/0DY/0DY/0DY/0DY/z7Y/0DX/z7Y/0DX + /z7Y/z7Y/0DY/z7Y/z7X/0DX/0DY/z/X/0DX/z7Y/z7Y/z/X/0DX/0DX/z7Y/z7X/z7X/z7X/z7X/z7X + /z/X/z/X/0DX/0DX/z/X/z7X/z7X/z7X/z7X/z7X/z3X/z7W/z7W/z7X/z7X/z3X/z3X/z3X/z7X/z7X + /z7X/z7W/z7W/z3W/z7X/z7X/z3W/z3X/z3X/wAA////////////c+P/Qtn/Qdn/Qtn/Qdn/Qtn/Qtn/ + Qtj/Qtn/Qdj/Qtn/Qdn/Qdj/Qdj/Qdn/Qtj/Qdj/Qdn/Qdj/Qdj/Qdn/Qdj/Qdj/Qdn/Qdj/Qdn/Qdj/ + Qdn/Qdj/Qdj/Qdn/Qdj/Qdn/Qdj/O9X+C67gA6baBajbBajbBajbBajbBajbA6bZGLblQNj/QNj/QNj/ + QNf/QNj/QNf/QNj/QNj/QNj/QNj/QNj/QNj/QNf/QNj/QNf/QNf/QNj/Ptj/QNf/QNf/P9f/P9f/P9f/ + Ptj/Ptj/Ptj/Ptj/Ptj/QNj/QNf/QNf/QNf/Ptf/Ptj/QNj/P9f/P9f/P9f/P9f/Ptf/Pdf/Ptf/Ptf/ + Ptf/Ptf/Ptf/Ptf/Ptf/Ptf/Ptf/Ptf/Ptb/Ptf/Ptf/Ptb/Ptf/Ptf/Ptb/Ptf/Ptf/Ptb/PNf/PNf/ + AAD////////////a9/5F2f9C2P9C2P9C2P9B2P9C2P9C2P9B2f9B2P9B2P9B2P9B2f9B2f9B2P9B2P9B + 2P9B2f9B2f9C2P9B2f9C2P9B2P9B2f9B2f9B2f9B2P9B2P9B2f9B2P9B2P9B2P9B2P9B2P8/1/4RteQD + pdkFqNsFqNsFqNsFqNsFqNsDpdkWuOdC2P9A1/9A1/9B2P9A2P9A1/8+2P9B2P9B2P9A2P9A1/8+2P9A + 1/9A1/9A2P8+2P9A1/9A1/8+2P9A1/8/1/8/1/9A2P8+2P8+2P8+2P8+2P8+2P8/1/8+2P8+2P8/1/8/ + 1/8+2P8+2P8+1/8/1/8/1/8+1/8/1/8/1/8+1/8+1/8+1/8/1/8+1/8+1/8+1/891/891/8+1/8+1v8+ + 1v8+1v8+1/881v881v8+1v8+1/8+1/8+1/891/881/8AAP///////////////5fq/z7Y/0LZ/0LZ/0HZ + /0LY/0LY/0HZ/0LY/0HZ/0HY/0LZ/0HZ/0LZ/0HY/0HZ/0HY/0HZ/0HZ/0HY/0LY/0HY/0HY/0LZ/0HY + /0HY/0HZ/0HY/0HZ/0HY/0HY/0HY/0HY/0HY/xW66gKk2AWo2wWo2wWo2wWo2wWo2wKk2BW66kDY/0HY + /0DY/0DX/0DY/0DY/0DY/0DY/0HY/0DY/0DY/z7Y/0DY/0DX/z/X/z/X/0DY/0DX/0DY/0DY/0DX/z7X + /z7X/z7Y/0DY/0DY/0DX/z/X/z7X/z/X/z/X/z7X/z/X/z7Y/z7Y/z/X/z/X/z/X/z7X/z/X/z/X/z7X + /z7X/z7X/z7W/z3X/z7X/z/X/z3X/z3X/z7X/z7X/z7X/z7X/z7X/z3W/z3W/z7W/z7X/z3X/z3W/z7W + /z3X/wAA////////////////+f3/c+P/Ptf/Qtn/Qtj/Qdj/Qtn/Qtj/Qtn/Qdj/Qdn/Qdn/Qdj/Qtn/ + Qtn/Qdj/Qdj/Qdj/Qdn/Qtj/Qdn/Qdn/Qdj/Qdn/Qdn/Qdj/QNj/Qdn/Qdj/Qdj/Qdj/Qdj/Qdj/QNj/ + JMTxAaLWBqncBajbBajbBajbBajbA6bZEbXkQNf/Qdj/QNj/QNj/Qdj/QNj/Qdj/QNf/QNj/QNj/QNf/ + QNj/QNj/QNf/QNf/Ptj/QNf/QNj/Ptj/Ptj/P9f/QNf/Ptj/Ptj/Ptj/QNf/Ptj/Ptj/P9f/P9f/P9f/ + Ptj/Ptf/Ptf/P9f/P9f/QNf/QNf/Ptf/P9f/P9f/Ptf/Ptf/Ptf/P9f/Ptf/Ptf/Ptf/P9f/Ptb/Pdb/ + Pdb/Ptf/Ptf/Pdf/Ptf/Ptf/Pdf/Ptf/Ptf/Ptf/Pdf/Ptb/AAD////////////////////n+P1N2/9A + 2f9B2f9B2f9C2P9C2f9C2f9C2f9B2f9B2f9B2P9C2f9B2P9B2f9B2P9C2P9B2f9B2P9C2f9B2P9B2P9C + 2P9B2P9B2P9B2P9B2P9B2P9B2P9B2P9B2P9A2P9B2P8z0PkDpdkFqNsFqNsFqNsFqNsFqNsDptoLruA8 + 1P1A2P9A2P9B2P9A1/9A2P9A2P8/1/9A1/9A2P9A1/9A1/9A2P9A2P9A2P9A2P9A2P8/1/8+2P9A2P8+ + 2P8+2P8/1/8+1/8+1/9A1/9A2P8+2P8/1/8+1/8/1/9A1/8/1/8/1/9A1/8/1/8/1/8/1/8+1/8/1/8/ + 1/8+1/8+1/8+1/8+1/8+1v891v891/8/1/8/1/8+1/8+1/8+1/891/881/891/891/8+1/8+1v8+1v89 + 1v881v891/8AAP///////////////////////9r3/k3b/0DZ/0HY/0LY/0HZ/0HY/0HY/0HY/0HZ/0LY + /0LZ/0HZ/0HY/0HY/0HZ/0HY/0HY/0HY/0HY/0HZ/0HZ/0HY/0HY/0HY/0HY/0DY/0HY/0HY/0HY/0HZ + /0DY/z3W/guu4AOm2gWo2wWo2wWo2wWo2wWo2wWo2zbR+kDY/0DY/0DY/0HY/0DY/0DX/z7Y/0DY/0DY + /0DY/0DY/0DY/0DX/0DY/0DX/0DX/z7Y/0DY/0DY/0DX/z7Y/z/X/z7X/z7X/z7X/z7X/z/X/0DX/z/X + /z/X/z/X/z7Y/z7Y/z7X/z7Y/z7X/z7X/z7Y/z7X/z7X/z7X/z/X/z/X/z7X/z7X/z7X/z7X/z7X/z/X + /z/X/z7X/z7X/z7X/z7X/z7X/z7X/z7W/z7X/z7X/z7X/z7X/z7X/wAA//////////////////////// + ////2vf+V93/Qdn/Qtn/Qtj/Qtn/Qtn/Qdj/Qdj/Qtn/Qdj/Qdn/Qdj/Qdn/Qdj/Qdn/Qdj/Qdj/Qtj/ + Qdj/Qdj/Qdj/Qdj/Qdn/Qdj/Qdj/Qdj/QNj/Qdj/Qdj/Qdn/QNn/HL/uAqTYBqncBajbBajbBajbBajb + AqTYJ8n1Qdj/QNj/Qdj/QNj/QNj/QNj/Qdj/Qdj/QNj/Qdj/QNj/QNj/Ptj/QNf/Ptj/QNf/QNj/QNj/ + QNf/P9f/QNf/Ptf/P9f/QNf/QNf/Ptj/Ptj/Ptj/P9f/P9f/QNf/P9f/Ptf/Ptf/Ptf/Ptj/QNj/Ptf/ + Ptf/Ptf/P9f/Ptf/Ptf/Ptf/P9b/P9b/Ptb/Ptf/Ptf/Ptf/Ptb/Ptb/Ptb/Ptf/Ptf/Ptf/Pdf/Ptf/ + Ptf/Ptf/Pdf/Ptf/AAD////////////////////////////////5/f9z4/9A2f9B2P9C2P9B2f9B2f9B + 2P9B2f9B2P9B2P9C2f9B2P9B2P9B2f9B2f9B2P9B2P9B2f9B2P9B2f9B2P9B2P9B2P9B2f9B2f9B2P9A + 2P9B2P9B2f9B2P8z0PkEptkFqNsFqNsFqNsFqNsFqNsCpNgcv+4+2P9B2P9A1/9A2P9A2P9B2P9B2P9A + 2P9B2P9A1/9A2P8/1/9A2P9A1/9A2P9A1/9A1/9A1/9A2P8/1/9A2P9A1/8/1/8/1/8/1/8+2P8+2P8+ + 1/8/1/8/1/8/1/9A1/9A1/9A1/8/1/8/1/8/1/8+1/8+1/8+1/8/1/8+1/8+1/8+1/8+1/8+1/8+1/8/ + 1/8+1/8+1/8/1/8+1v891v8+1v8+1/8+1/8+1/8+1/8+1/8+1/891v891v8AAP////////////////// + //////////////////n9/5fq/0XZ/0LZ/0LZ/0HY/0HY/0LY/0LZ/0LZ/0HZ/0HY/0HY/0HZ/0HZ/0HY + /0LY/0HY/0HY/0HY/0HY/0HY/0HY/0HY/0HY/0HZ/0HY/0HY/0HY/0HY/0DZ/xa45wKk2Aap3AWo2wWo + 2wWo2wOm2g2x4j3W/kDY/0HY/0HY/0HY/0DY/0DX/z7Y/0DY/z7Y/0DX/0DY/0DY/0DX/0DX/z7Y/0DX + /z/X/z/X/z/X/z/X/z7X/z/X/0DX/0DY/0DX/0DX/0DY/0DX/0DX/z/X/z/X/z/X/z/X/z/X/z/X/z/X + /z7X/z7X/z7X/z/X/z/X/z/X/z7X/z7X/z7X/z7X/z3W/z7W/z7X/z3X/z7X/z7X/z7X/z7X/z7X/z7X + /z3X/z3X/z3X/z7X/z7X/wAA////////////////////////////////////////////2vf+c+P/Rdn/ + Qdj/QNj/Qdn/Qdj/Qdj/Qtn/Qdj/Qdj/Qtj/Qdj/Qdn/Qtn/Qdn/Qdj/Qdj/Qdj/Qdj/Qdj/Qdj/Qdj/ + Qdj/Qdj/Qdj/Qdj/QNj/QNj/M9D5A6XZBajbBajbBajbBajbBajbAqTYM9D5QNj/QNj/QNj/QNj/QNj/ + QNj/Qdj/QNj/Ptj/QNf/QNj/P9f/QNf/QNj/QNf/QNf/Ptj/QNf/QNf/QNf/P9f/Ptj/Ptj/QNf/P9f/ + Ptf/P9f/P9f/P9f/Ptf/P9f/Ptf/Ptf/QNf/QNf/QNf/P9f/P9f/P9f/QNf/P9f/Ptf/P9b/Ptf/Ptf/ + P9b/Ptb/Ptf/Ptf/Ptf/Ptf/Ptf/Ptf/Ptf/Ptf/Ptf/Ptb/Ptb/Ptb/Ptf/Pdf/AAD///////////// + ///////////////////////////////////////a9/6X6v9N2/9F2f9F2f9F2f9B2P9B2P9B2P9B2f9B + 2f9B2P9B2f9B2P9B2P9B2P9B2P9B2P9B2P9B2P9B2f9B2P9B2P9B2P9B2P9B2P9B2P9B2P8VuuoCpNgG + qdwFqNsFqNsFqNsCpNgcv+5A1/9A2P9B2P8+2P9A1/9A2P9A2P9A2P9A2P9A2P9A1/9A2P9A1/9A2P8/ + 1/9A1/8/1/8+2P9A2P9A2P9A2P8+2P8+2P9A1/9A1/8/1/8/1/8/1/8/1/8+2P9A2P8+2P8+1/8/1/8/ + 1/8/1/8/1/8+1/8+1/8/1/8/1/8/1/8/1/8+1/8+1v8/1v8+1/8+1/8+1/8+1/8/1/8/1/8+1/8+1v8+ + 1v891/891/8+1/8+1/881/881v8AAP////////////////////////////////////////////////// + //////////n9/8/y+5fq/3Pj/3Pj/0XZ/0PZ/0LZ/0LY/0HY/0HY/0HY/0HZ/0HY/0HY/0HZ/0HY/0HZ + /0HZ/0HY/0HY/0HY/0DY/0HY/0HY/0HY/znT+wap3ASn2gWo2wWo2wWo2wSn2gis3jzU/T7Y/0HY/0DX + /0DY/0DX/z7Y/0DX/0DX/0DY/0DX/0DX/0DY/0DX/0DY/0DX/0DX/0DY/z/X/z7Y/0DX/z/X/z/X/z7Y + /0DY/0DY/0DX/0DY/0DY/z/X/z7X/z7X/z/X/z7X/z/X/z/X/z7X/z7X/z7X/z/X/z/X/z7X/z3X/z7X + /z/X/z/X/z7X/z/X/z/X/z7X/z7X/z7X/z7X/z/X/z7X/z3X/z7X/z7X/z7X/z7X/z7X/wAA//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + j9zzB6TXFKvbGK3cFKvbGK3cAqTYj9zz//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////AAD///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////5/f9YyOoHpNcYrdwUq9sYrdwMp9kzuOL5/f// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////8AAP// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////+f4/SWz3wyn2Rit3Bit3BSr2wyn2Y/c8/////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////wAA//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////z/L7FKvbFKvbFKvbFKvbDKfZ + JbPf5/j9//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + AAD///////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////+u5vYMp9kUq9sUq9sYrdwBotaP3PP///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////8AAP////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////4/c8wyn2RSr + 2xSr2xSr2xit3Nr3/v////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////wAA//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////j9zzB6TXFKvbGK3cB6TXWMjq//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////AAD///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //+P3PMMp9kMp9kYrdwHpNeu5vb///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////8AAP////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////67m9hSr2xSr2wyn2SWz3+f4/f////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////wAA//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////rub2GK3cDKfZB6TXWMjq+f3///////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////AAD///////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////I7PgzuOIHpNcHpNeP + 3PP///////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////8AAP////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////+f4/UzD5wGi1hSr28js+P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////wAA//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////////+f3/ + dNPvAaLWJbPf5/j9//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////AAD///////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////+u5vYMp9lMw+f5/f////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////8AAP////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////9r3/jO44nTT7/////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////wAA//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////+f3/dNPvj9zz+f3///// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////AAD///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////I7Pja9/7///////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////8AAP// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////n9 + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////wAA//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + AAD///////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////8AAP////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////wAA//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////AAD///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////8AAP////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////wAA//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////AAA= + + + + + Qk3uPQAAAAAAADYAAAAoAAAAaQAAADIAAAABABgAAAAAAAAAAADEDgAAxA4AAAAAAAAAAAAA//////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////2sfFr4V/kVZQhENEhENE + hENEkVZQpXRux6mo3uHn//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////Q/////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////+Xl5pxo + ZF8JBV8JBXkxKJFWUJxoZJxoZIRDRHkxKF8JBWsaCZxoZNrHxfv7+/////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////0P///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////h0cx5MShrGgmrfXPax8Xx8PH+/v3////////6+fjt4+LPtbCRVlBfCQVrGgmcaGTn2tP/ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////9D//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////+/v759rTx6mor4V/nGhknGhkq31zeTEoXwkFnGhk2sfF7ePi+/r1//////////////////////// + ////0722hENEXwkFeTEov56T/fz6//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////////Q/// + //////////////////////////////////////////////////////////////////////////////// + /////////////////+3j4ruVhopJNGsaCWsaCXkxKJFWUJliT18JBYpJNKt9c5liT4pJNIpJNJFWUKt9 + c860qfHq5/////////////////////Tu6qt9c2saCWsaCZxoZPHq5/////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////0P///////////////////////////////////////////////////////////// + ///////////////////////////////59/XHpoh5MShrGgmKSTS7lYbh0cz28er+/v2ldG6KSTTt4+L/ + ///7+/v07urn2tPOtKmvhX+ZYk+RVlCsgW/ax8X6+fj///////////////+7lYZ4LQprGgmKSTTh0cz/ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////9D//////////////////////////////////////// + ////////////////////////////////////////////////8ernom9XaxoJikk0zrSp+vbw//////// + ////z7WweC0K4dHM////////////////////////////+vn44dHMu5WGmWJPom9XzrSp+vn4//////// + ////v56TeC0KeC0Kikk00722//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////Q/////////////////// + //////////////////////////////////////////////////////////////////Xv5qFrRGsaCah4 + WPHq5/////////////////n39ZNTIruVhv////////////////////////////////////////////T0 + 9N7Kuax+YKJvV9O6qfr5+P///////7uVhoE4B3gtCoE4B8utl/////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /0P///////////////////////////////////////////////////////////////////////////// + ///8+/isfmBrGgmsfmD59/X////////////////////LrZeKSTT69vD///////////////////////// + ///////////////////////////////fzcCsfmCoeFjh0cz////7+/uoeFiBOAeKRhWBOAe7lHP59/X/ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////9D//////////////////////////////////////////////////////// + ////////////////////////07qpeC0Km2E2+vbw////////////////////////oWtEy62X//////// + /////////////////////////////////////////////////////////v7907qpoWtEu5Rz+PPs+PPs + k1MigTgHikYVgTgHqHhY9O7q//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////Q/////////////////////////////////// + //////////////////////////////////////////n39ZthNoE4B+TVxf///////////////////+fa + 08emiJNTIraMZbuUc8ejgNO6qefa0/n39f////////////////////////////////////////////// + //////jz7MOdeKFrRN7Kud/NwItDA4pGFZJPEYE4B5thNubYyv////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////0P///////////// + ///////////////////////////////////////////////////////////////eyrmBOAexgVj///// + ///////////t4M2oeFiKRhWSTxGLQwOKRhWxgVi7lHO7lHO2jGW9kGDLrZfu4tL///////////////// + ///////////////////////////////////fzcCha0THpoi2jGWLQwOSTxGSTxGLQwOSTxHTuqn///// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////9D//////////////////////////////////////////////////////////////////////// + ////w514gTgH3cWq////////////3siuikYVm2E23sq5t4pfi0MD3siu////////////+vbw5tjKy62X + t4pfx6OA8OXY////////////////////////////////////////////////9O7qu5RzqXE1lFAHlFAH + lFAHl1MLi0MDi0MDu5Rz9vHq//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////Q/////////////////////////////////////////////////// + //////////////////////38+rJ+RpJPEfHn2f///////+bYyotDA7GBWPv48v7+/adsMItDA93Fqv// + //////////////////////Tu6ta7m7uPXta7m/38+v////////////////////////////////////// + //////7+/dG2mZdTC5pOAJhSAphSAphSAphSAotDA6lxNeTRu/////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////0P///////////////////////////// + ///////////////////////////////////////////7+PKnbDCnbDD7+PL////7+vWnbDCsdEf8+/j/ + ///u4tKZVhOXSgCgXBPWu5v9/Pr////////////////////////17+bHpojEm23w5dj///////////// + ///////////////////////////////////eyK6ZVhOYUgKeVQCeVQCeVQCeVQCXSgCXUwvDnXjy6uD/ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////9D//////// + ////////////////////////////////////////////////////////////////+vbwqWolsn5G//// + ////3cWqmVYT7+XU////////5NG2mFICn1kAnlUAmFICsn5G1rub7+XU+vn4//////////////////// + 59jHw5145NG7////////////////////////////////////////////////vItUl0oAn1kAn1kAn1kA + n1kAn1kAnlUAmk4ApmQe07KM9e/m//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////Q/////////////////////////////////////////////////////////////////// + //////v48qlxNbeGSf///////7yLVLuPXv///////////9m+nJpOAKJcAKJcAKJcAJhSAppOAKBcE7F3 + NLyLVMiic9OyjNe6k9a7m97Irte6k6ZkHruPXta7m9m+nNm+nNa7m9a7m9a7m9a7m9m+nNm+nNa7m8Sb + bahmFZ9ZAKJcAKJcAKJcAKJcAKJcAKJcAKJcAJ5VAJpOAKlqJcejgO3gzf38+v////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////0P///////////////////////////////////////////// + ///////////////////////////9/Pqyeja1fTv////69vCnbDDdxar////////////TsYWXSgCfWQCf + WQCfWQCfWQCiXACeVQCYUgKaTgCaTgCaTgCaTgCaTgCaTgCdUgGfWQCaTgCaTgCaTgCaTgCaTgCaTgCa + TgCaTgCaTgCaTgCaTgCaTgCfWQCiXACfWQCfWQCfWQCfWQCfWQCfWQCfWQCfWQCiXACdUgGaTgCfWA22 + gUPTsozq2sT28er9/Pr///////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////9D//////////////////////// + ////////////////////////////////////////////////////yKJztX07//339/Dlsno28ufX//// + ////////0K2BoFwTq2kWqGcYq2kWqGcYqGYVqGYVq2kWq2kWqGYVq2kWq2kWq2kWqGcYqGYVq2kWqGYV + pmMTqGYVq2kWqGYVpmMTqGYVpmMTpmMTqGYVqGcYqGYVqGYVqGYVqGcYqGcYqGcYqGcYqGcYqGcYqGYV + qGcYqGcYqGYVpmMTpmMToFwTn1gNpmQetX07x6Fn2r2U486y7eDN9e/m+/v7//////////////////// + ////////////////////////////////////////////////////////////////////////////Q/// + //n39fT09Pv7+/n39fT09P7+/f////////T09Pr5+P////////n39fT09P38+v////7+/fT09Pbx6vLq + 3Pn39fT09PXt4vr5+PT09Pr5+P////Xv5u/l1PLp2fDo2PDo2PLp2e/l1PLn1/Lp2fDo2PLq3PHn2fLq + 3PLq3PLq3PDo2PLp2fDo2O/l1O/l1PDo2PTr2+/l1O/l1O/l1PLq3PLq3PLp2fLq3PLq3PLn1+/l1PDo + 2PDo2PLp2fDo2PLp2fDo2PLn1/Lp2fLn1+/l1PLn1/Lp2fHn2e7i0u3gzeraxOzdyO3gze/l1PXv5vv4 + 8v38+v////////////v69f/99/////////z7+Pv48vv69fv69fv69fv48vz7+P////////7+/fv69f38 + +v///////////////0P///+jpKcvMTV/goR2eHw6PD+oqq7///+Wl5k0NjhbXmLs7e////+OkJM0NjiH + i5H////x8PFbXmJDRkpOUVc+QUU+QUVOUVeZnKFDRkpYWVzx8PH///9wcnZOUVeZnKFDRkpwcnb////e + 4edOUVdJTFGoqq5bXmJJTFFOUVdJTFFDRkpbXmLs7e////+ztbk+QUV2eHz////////////k0bbCk1m2 + gUO8i1TZvpz7+vXIonO5hEK+iku7h0i7h0i8i1TdxKG8i1TCk1n69vD////QrYG2gUPt4M3////TsYW1 + fTvDlWD7+PL////jzK6xdzTHnGX+/v307d/Jn2m1fTu2gUPOqnr48+zq2sSyeja6gjm2gUO6gjmyejbD + lWD8+/jjzrK+ikuxdzS2gUPTsYX28er///////9D////rq+yAAEDNDY4Y2VoAAEDaGtu+vn4NDY4AAED + DRAVzc3O////lpeZAAEDPkFF+vn4+/v7SUxRAAEDDRAVExUaExUaDRAVdnh8HiElBgkO0NLV////WFlc + AAEDY2VoExUaExUa5eXmlpeZAAEDAAEDcHJ2NDY4AAEDDRAVExUaDRAVExUawMHD////s7W5AAEDHiEl + 5eXm////5NG2mk4Al0oAtoFDsno2nVIBx5xlwpNZmk4ApV8Bol0Lol0Lol0Lx6FnqWolmk4A6trE//// + x6FnlEIA0K2B/fz6tX07mk4Amk4A07KM////5NG2mk4Aq2wd8+vdvopLl0oApmMTqWoll0oAtX075NG2 + pmMTnlUApV8BpmILn1gNr3Ej4curn1gNl0oAtoFDtX07nVIBu4dI+vbw////Q////9rc3x4hJRMVGn+C + hA0QFUlMUbe8vw0QFRMVGgYJDqOkp////83Nzg0QFR4hJdrc3////4SHiwABA0lMUdrc39rc39bY2uXl + 5j5BRQABA3+ChLa4ujo8PwYJDn+ChDo8PwYJDsDBw05RVwYJDgYJDmBiZGNlaAABA3Z4fOXl5tbY2tDS + 1ezt7////+vr7CUoLA0QFcDBw////+jWvsOVYNq9lPr28NzCnKJcAKZjE8ecZZ5VALd7MPDkzPDp1PDk + zPfv4ruHSJpOAMyja+POsrqCOZ5VAM+odPv69bF3NKVfAaVfAatsHfXt4vr28KtsHahlCte6k6hmFaJd + C+POsvz58cOVYKBcE9CtgbuHSJ1SAdOxhfTt3/DkzPDp1OjWvsecZdi5kPr28N/IpqZiC51SAePOsv// + /0P////59/VDRkoAAQN7fIAlKCwlKCxOUVcNEBUaHCAGCQ5wcnb////s7e8vMTUGCQ62uLr///+ysrQN + EBUaHCA6PD86PD80NjhgYmRjZWgNEBUNEBUAAQMAAQMTFRq3vL9gYmQGCQ5bXmIlKCwTFRoNEBU6PD97 + fIANEBUlKCw6PD80Njg0Njhwcnb///////9JTFEAAQOWl5n////////////fyKm1fTuiXACdUgGvcSPd + xKGmYxOoZQqxdzSxdzSpcTW8i1TJn2miXAClXwGeVQCdUgGiXADgxqL69vCpaiWvcSPMo2uaTgDPqHT/ + //+7h0ifWQDHnGWrbB2mYxPz693////7+PLz69348+zFmWOeVQCvcSOyejaxdzSnbDDVto/////jzK61 + fTuiXQueVQCiXQvq2sT///9D////////dnh8AAEDaGtuQ0ZKDRAVDRAVLzE1dnh8BgkOQ0ZK//////// + YGJkAAEDh4uR////5eXmJSgsBgkOPkFFY2VoWFlcdnh8jpCTBgkONDY4urq8lpeZExUaPkFFcHJ2DRAV + ExUaDRAVdnh8NDY4Ghwgh4uRGhwgExUaTlFXYGJkWFlce3yA/v79////hIeLAAEDaGtu////////2r2U + mk4An1kAr3Ejx5xl7+XU9vHqq2wdnlUAtX07wpNZvItUyZ9p17qTn1kAq2wd486y2r2UqGYVr3Ej486y + pmQer3Ej7+XUq2wdpmMT8+vd07GFmk4AxZdcuYRCmk4A3MKc////////7eDN7+XU07GFn1kApmILvopL + wpNZvItU2b6c4MqqnVIBnlUAq2wdxZlj6trE////////Q////////6OkpwABA0lMUWBiZA0QFQYJDmNl + aM3NzgYJDiUoLLKytK6vslhZXAYJDkNGSqiqrra4ukNGSgYJDnt8gLq6vLKytLa4uqOkpw0QFSUoLLa4 + urO1uSUoLAYJDmNlaB4hJQ0QFRocINbY2lhZXAABA4SHiy8xNRocIJaXmbq6vK6vsrO1ucjJzKiqrnBy + dgYJDjQ2OJmcobe8v8iic5pOALd7MO3gzdm+nMWZY+TRtsOSVZpOAMehZ+TRtuDKquPMruDKqqZkHqZj + E9/IqeTRtrN2KJ5VAMWXXKZkHqtsHfjz7M6qepdKAMylc+TRtp1SAbmEQt3EoZ1SAatsHejWvt/IpqJd + C6ZkHtzCnKZjE6tpFtzCnOPOst/IqejWvs6qepdKALF0IOzdyN3FqsOVYNm+nP///0P////////IycwA + AQMTFRpoa24AAQMAAQOoqq7x8PEaHCAAAQNOUVcAAQMAAQMGCQ4AAQMAAQMaHCBOUVcAAQMAAQMAAQMA + AQMAAQNbXmIvMTUAAQMAAQMAAQMAAQMlKCy6urwaHCAAAQNJTFH+/v1wcnYAAQNbXmJDRkoAAQMAAQMA + AQMAAQMGCQ5YWVwGCQ4AAQMGCQ4AAQMAAQMGCQ6zr6a/hT2XUwumYxOXSgCUQgDfyKnQrYGUQgCaTgCX + SgCXSgCUQgC+iku1fTuXSgCaTgCaTgCaTgCrbB3OqnqXSgCmYxP17+by6dmiXQudUgHavZSgXBOdUgHt + 4M3Vto+fWA2aTgCaTgCaTgC8i1Tz692rbB2XSgCXSgCXSgCXSgCaTQjgxqK2gUOdUgGmZB6aTgCUQgDQ + rYH///9D////////9PT0jpCTe3yAurq8e3yAhIeL6+vs////mZyhdnh8rq+yhIeLf4KEf4KEf4KEf4KE + hIeLrq+yf4KEf4KEf4KEf4KEf4KEqKquqKquhIeLh4uRhIeLjpCT1tja////mZyhe3yAyMnM////0NLV + e3yAqKqus7W5hIeLh4uRh4uRh4uRhIeLtri6mZyhhIeLh4uRh4uRh4uRf4KE2tzf+/r13cSh0K2B07GF + 5NG7////7+XU0K2B07GF07GF07GF0K2B4Mqq486y0K2B07GF07GF1baP8OXY8urgzqp61rub/v79//// + 486yzKVz486y2b6czKVz7uLS////7eDN07GFzKVz2b6c+vbw/v791rubzKVzzqp6zqp6zqp6zKVz7uLS + +vbw2b6czKVzzqp638ip/Pv4////Q/////////////////////////////////////////////////// + /////////////////////////////////////////////+/bufLp2ejOqu3Tre3Tre3Tre3TreXLpdzC + nO3Tre3TrebNp9zCnOXLpe3TrejOqujOqu3Tre3Tre3Tre3Tre3TrebNp+3Tre3Tre3Tre3Tre3Tre3T + reDGot3EoePOruPOruPOruHLq9zCnN/IpubQruPOruPOruPOruPOruDKquDKquPOruPOruPOruPOrt/I + puDGouPOsuPOrtzCnNe6k9m+nN3EoeHLq+/l1P7+/f////////////////////////////////////// + /////////////////////////////////////////////////0P///////////////////////////// + ///////////////////////////////////////////////////////////////////MpXO9i0G3ezCe + VQCdUgGeVQClXwGlXwGlXwGlXwGlXwGeVQCdUgGdUgGeVQCdUgGdUgGeVQCeVQCeVQCeVQCeVQCdUgGe + VQCeVQCeVQCeVQCdUgGeVQClXwGlXwGeVQCdUgGdUgGeVQClXwGiXACeVQCdUgGdUgGdUgGdUgGiXACl + XwGlXwGlXwGlXwGlXwGlXwGlXwGlXwGeVQCeVQCvcSPFl1zavZTq2sT07OH8+/j///////////////// + //////////////////////////////////////////////////////////////////////9D//////// + //////////////////////////////////////////////////////////////////////////////// + ////////+/jywpNZuoI5vYtBz6h0wJBMrGsBrGsBrGsBqWUBrGsLwJBMyaBjyaBjyaBjyaBjyaBjyaBj + yaBjyaBjyaBjyaBjyaBjyaBjyaBjyaBjyaBjyaBjwYxGqWUBqWUBvYtByaBjzKNrvYtBqWUBrGsLwpNZ + yaBjyaBjyaBjzJ1csXQgqWUBrGsBrGsBrGsBrGsBrGsBqWUBpV8BwYxG4cur+PPs//////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////Q/////////////////////////////////////////////////////////////////// + //////////////////////////////////Xt4rqCOcWTSvv69f38+sGMRqllAaxrAbd7MOjWvv////// + //////////////////////////////////////////////////////////////38+s+odLF0IPbx6v// + //////z58bV9O8ylc////////////////////+raxK9wE6xrC69wE69wE69wE6xrAbF0IN3Eof38+v// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////0P///////////////////////////////////////////// + ///////////////////////////////////////////////////////////u4tKxdCDFmWP////YuZCo + ZQqxdCDo1r7///////////////////////////////////////////////////////////////////// + ///////q2sTAkEz69vD////////////HnGXgxqL////////////////////7+PK6gjmraRaxdCCxdCCr + aRa3ezDs3cj///////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////9D//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////7N3Iq2kW2LmQ9e3iq2wdwY9R//////////////////////////////////////////////////// + ////////////////////////////8OXYw5JV9/Dl/////////Pv4x5xl6Na+//////////////////// + +ff1wYxGq2wds3Yor3Ejs3Yo7N3I//////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////////Q/// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////+jWvrN2KOPMrsmfacyja/////////////////////////////// + //////////////////////////////////////////////////Hn2cGPUfXt4v////////jz7MWXXPLp + 2f////////////////////v48sGPUa9xI7d7MK9xI9zCnP////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////0P///////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////o1r6+ikvJn2nQrYH///////// + ///////////////////////////////////////////////////////////////////////t4M3Bj1H3 + 8OX////////t4M3HnGX7+PL////////////////////48+y+iku3ezCzdijHnGX+/v3///////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////9D//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + 7uLSvopLvopL/Pv4//////////////////////////////////////////////////////////////// + ////////////486yw5JV+/jy////////4Mqq0K2B/v79////////////////////8OXYuoI5t3swv4U9 + 8OXY//////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////Q/////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////Xv5sWXXNW2j/////////////////////////////////////////// + /////////////////////////////////86qes+odP///////////9OxhePMrv////////////////// + /////+POrrd7MLd7MNzCnP////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /0P///////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////69vDCk1nYtov8+/j///////////// + ///////////////////////////////////////////////////17eK/hT3k0bb////////69vDMpXP0 + 69v////////////////////9/PrPqHS3ezDJn2n7+vX///////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////9D//////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////////6trE + v4U92LaL8OXY/////////////////////////////////////////////////////////v79z6h0xZdc + /Pv4////////6trE0K2B/v79////////////////////7N3Iv4U9wYxG7uLS//////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////Q/////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////7+/di5kNi0fN/IpuDGovfv4v////////////////////////////////////// + //////38+ti2i7+FPe3gzf///////////9u7j+TRu/////////////////////v48syja7qCOeDGov// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////0P///////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////48+zMo2vs2b7s3cjZt4TdxKHy6dn9/Pr///// + ///////////////////8+/ju4tLTqWrBjEbs2b7////////////y6tzYtHz7+PL////////////////9 + /Prbu4+/hT3TsYX9/Pr///////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////9D//////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////7uLSzJ1c7+XU + +/jy486u1K111K113cSh7Nm+7N3I6trE6dS14Mai1K11zJ1c2LR88urc/////////////v7927uP7Nm+ + ////////////////+vbw27uPwYxG1K11+PPs//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////Q/////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////+raxMydXO3gzf////r28ObQrtOpasydXNi0fOLHmODGouDGoubQrvbs3f////////// + /////////+nUtdq9lP////////////38+u3gzdOpasWTSti0fPbx6v////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////0P///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////s2b7TpFvp1LX////////8+/jt4M3ix5jcwpzv27n3 + 7+L+/v3////////////////+/v3p1LXZt4T69vD8+/j17eLp1LXYtHzPnE/TpFvmzaf7+PL///////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////9D//////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////8OTM06Rb4sOJ+PHh + /////////v799+/i7Nm+5s2n5tCu7Nm+8OTM8OTM7Nm+3ryBz5xP2beE4sOJ2rNt06Rb06Rb2rNt6M6q + 9/Dl//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////Q/////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////fv4t68gdOpaufOnvbs3f/99/////////////r28PTt3+3TrdqzbdOkW9qzbeXLpeLHmOLH + mOnRpezZvvbs3fv69f////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////0P///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////9/Prv27ngvHbas23evIHnzp7s167s167p0aXiw4nas23a + s23p0aX69vD///////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////9D//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////Pnx8OTM586e3ryB + 4Lx24Lx24Lx24sOJ7Neu+PHh//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////////Q/// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////v69fz58fz58fz58f38+v////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////0M= + + + \ No newline at end of file diff --git a/src/webimtray/WebIMTray/options/OptionPanel.cs b/src/webimtray/WebIMTray/options/OptionPanel.cs new file mode 100644 index 00000000..28631ada --- /dev/null +++ b/src/webimtray/WebIMTray/options/OptionPanel.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace webImTray { + + public delegate void ModifiedEvent(); + + interface OptionsPanel { + void initialize(); + void apply(); + string getDescription(); + + event ModifiedEvent PanelModified; + } +} diff --git a/src/webimtray/WebIMTray/options/OptionsConnectionPanel.Designer.cs b/src/webimtray/WebIMTray/options/OptionsConnectionPanel.Designer.cs new file mode 100644 index 00000000..79666f00 --- /dev/null +++ b/src/webimtray/WebIMTray/options/OptionsConnectionPanel.Designer.cs @@ -0,0 +1,259 @@ +namespace webImTray { + partial class OptionsConnectionPanel { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.radioPro = new System.Windows.Forms.RadioButton(); + this.radioLite = new System.Windows.Forms.RadioButton(); + this.label3 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.forceRefreshTime = new System.Windows.Forms.NumericUpDown(); + this.forceRefresh = new System.Windows.Forms.CheckBox(); + this.autoDesconnectOnSS = new System.Windows.Forms.CheckBox(); + this.webimServer = new System.Windows.Forms.TextBox(); + this.label1 = new System.Windows.Forms.Label(); + this.autoDisconnect = new System.Windows.Forms.CheckBox(); + this.groupBox2 = new System.Windows.Forms.GroupBox(); + this.showUserPreferences = new System.Windows.Forms.LinkLabel(); + this.groupBox1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.forceRefreshTime)).BeginInit(); + this.groupBox2.SuspendLayout(); + this.SuspendLayout(); + // + // groupBox1 + // + this.groupBox1.Controls.Add(this.radioPro); + this.groupBox1.Controls.Add(this.radioLite); + this.groupBox1.Controls.Add(this.label3); + this.groupBox1.Controls.Add(this.label2); + this.groupBox1.Controls.Add(this.forceRefreshTime); + this.groupBox1.Controls.Add(this.forceRefresh); + this.groupBox1.Controls.Add(this.autoDesconnectOnSS); + this.groupBox1.Controls.Add(this.webimServer); + this.groupBox1.Controls.Add(this.label1); + this.groupBox1.Controls.Add(this.autoDisconnect); + this.groupBox1.Font = new System.Drawing.Font("Tahoma", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.groupBox1.Location = new System.Drawing.Point(4, 4); + this.groupBox1.Margin = new System.Windows.Forms.Padding(4); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Padding = new System.Windows.Forms.Padding(16, 15, 16, 15); + this.groupBox1.Size = new System.Drawing.Size(491, 250); + this.groupBox1.TabIndex = 1; + this.groupBox1.TabStop = false; + this.groupBox1.Text = "Connection"; + // + // radioPro + // + this.radioPro.AutoSize = true; + this.radioPro.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F); + this.radioPro.Location = new System.Drawing.Point(131, 54); + this.radioPro.Name = "radioPro"; + this.radioPro.Size = new System.Drawing.Size(58, 21); + this.radioPro.TabIndex = 12; + this.radioPro.TabStop = true; + this.radioPro.Text = "\"Pro\""; + this.radioPro.UseVisualStyleBackColor = true; + this.radioPro.CheckedChanged += new System.EventHandler(this.radioCheckedChanged); + // + // radioLite + // + this.radioLite.AutoSize = true; + this.radioLite.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F); + this.radioLite.Location = new System.Drawing.Point(43, 54); + this.radioLite.Name = "radioLite"; + this.radioLite.Size = new System.Drawing.Size(59, 21); + this.radioLite.TabIndex = 11; + this.radioLite.TabStop = true; + this.radioLite.Text = "\"Lite\""; + this.radioLite.UseVisualStyleBackColor = true; + this.radioLite.CheckedChanged += new System.EventHandler(this.radioCheckedChanged); + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F); + this.label3.Location = new System.Drawing.Point(20, 34); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(188, 17); + this.label3.TabIndex = 10; + this.label3.Text = "Web Messenger Server type"; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.label2.Location = new System.Drawing.Point(319, 206); + this.label2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(57, 17); + this.label2.TabIndex = 9; + this.label2.Text = "minutes"; + // + // forceRefreshTime + // + this.forceRefreshTime.Enabled = false; + this.forceRefreshTime.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.forceRefreshTime.Location = new System.Drawing.Point(251, 203); + this.forceRefreshTime.Margin = new System.Windows.Forms.Padding(4); + this.forceRefreshTime.Maximum = new decimal(new int[] { + 120, + 0, + 0, + 0}); + this.forceRefreshTime.Minimum = new decimal(new int[] { + 5, + 0, + 0, + 0}); + this.forceRefreshTime.Name = "forceRefreshTime"; + this.forceRefreshTime.Size = new System.Drawing.Size(59, 23); + this.forceRefreshTime.TabIndex = 8; + this.forceRefreshTime.Value = new decimal(new int[] { + 15, + 0, + 0, + 0}); + this.forceRefreshTime.ValueChanged += new System.EventHandler(this.forceRefreshTime_Changed); + // + // forceRefresh + // + this.forceRefresh.AutoSize = true; + this.forceRefresh.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.forceRefresh.Location = new System.Drawing.Point(23, 204); + this.forceRefresh.Margin = new System.Windows.Forms.Padding(4); + this.forceRefresh.Name = "forceRefresh"; + this.forceRefresh.Size = new System.Drawing.Size(187, 21); + this.forceRefresh.TabIndex = 7; + this.forceRefresh.Text = "Force page refresh every"; + this.forceRefresh.UseVisualStyleBackColor = true; + this.forceRefresh.CheckedChanged += new System.EventHandler(this.forceRefresh_CheckedChanged); + // + // autoDesconnectOnSS + // + this.autoDesconnectOnSS.AutoSize = true; + this.autoDesconnectOnSS.Enabled = false; + this.autoDesconnectOnSS.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.autoDesconnectOnSS.Location = new System.Drawing.Point(23, 176); + this.autoDesconnectOnSS.Margin = new System.Windows.Forms.Padding(4); + this.autoDesconnectOnSS.Name = "autoDesconnectOnSS"; + this.autoDesconnectOnSS.Size = new System.Drawing.Size(280, 21); + this.autoDesconnectOnSS.TabIndex = 6; + this.autoDesconnectOnSS.Text = "Become idle if the screen saver is active"; + this.autoDesconnectOnSS.UseVisualStyleBackColor = true; + // + // webimServer + // + this.webimServer.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.webimServer.Location = new System.Drawing.Point(23, 108); + this.webimServer.Margin = new System.Windows.Forms.Padding(4); + this.webimServer.Name = "webimServer"; + this.webimServer.Size = new System.Drawing.Size(408, 23); + this.webimServer.TabIndex = 5; + this.webimServer.TextChanged += new System.EventHandler(this.webimServer_TextChanged); + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.label1.Location = new System.Drawing.Point(20, 87); + this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(201, 17); + this.label1.TabIndex = 4; + this.label1.Text = "Web Instant Messenger server"; + // + // autoDisconnect + // + this.autoDisconnect.AutoSize = true; + this.autoDisconnect.Enabled = false; + this.autoDisconnect.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.autoDisconnect.Location = new System.Drawing.Point(23, 148); + this.autoDisconnect.Margin = new System.Windows.Forms.Padding(4); + this.autoDisconnect.Name = "autoDisconnect"; + this.autoDisconnect.Size = new System.Drawing.Size(261, 21); + this.autoDisconnect.TabIndex = 3; + this.autoDisconnect.Text = "Become idle if the computer is locked"; + this.autoDisconnect.UseVisualStyleBackColor = true; + // + // groupBox2 + // + this.groupBox2.Controls.Add(this.showUserPreferences); + this.groupBox2.Font = new System.Drawing.Font("Tahoma", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.groupBox2.Location = new System.Drawing.Point(4, 262); + this.groupBox2.Margin = new System.Windows.Forms.Padding(4); + this.groupBox2.Name = "groupBox2"; + this.groupBox2.Padding = new System.Windows.Forms.Padding(16, 15, 16, 15); + this.groupBox2.Size = new System.Drawing.Size(491, 107); + this.groupBox2.TabIndex = 2; + this.groupBox2.TabStop = false; + this.groupBox2.Text = "Operator preferences"; + // + // showUserPreferences + // + this.showUserPreferences.AutoSize = true; + this.showUserPreferences.Font = new System.Drawing.Font("Tahoma", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.showUserPreferences.Location = new System.Drawing.Point(20, 33); + this.showUserPreferences.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.showUserPreferences.Name = "showUserPreferences"; + this.showUserPreferences.Size = new System.Drawing.Size(296, 18); + this.showUserPreferences.TabIndex = 0; + this.showUserPreferences.TabStop = true; + this.showUserPreferences.Text = "Click here to change your preferences online"; + this.showUserPreferences.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.showUserPropertiesOnline); + // + // OptionsConnectionPanel + // + this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.groupBox2); + this.Controls.Add(this.groupBox1); + this.Margin = new System.Windows.Forms.Padding(4); + this.Name = "OptionsConnectionPanel"; + this.Size = new System.Drawing.Size(499, 405); + this.groupBox1.ResumeLayout(false); + this.groupBox1.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.forceRefreshTime)).EndInit(); + this.groupBox2.ResumeLayout(false); + this.groupBox2.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.CheckBox autoDisconnect; + private System.Windows.Forms.CheckBox autoDesconnectOnSS; + private System.Windows.Forms.TextBox webimServer; + private System.Windows.Forms.GroupBox groupBox2; + private System.Windows.Forms.LinkLabel showUserPreferences; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.NumericUpDown forceRefreshTime; + private System.Windows.Forms.CheckBox forceRefresh; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.RadioButton radioPro; + private System.Windows.Forms.RadioButton radioLite; + } +} diff --git a/src/webimtray/WebIMTray/options/OptionsConnectionPanel.cs b/src/webimtray/WebIMTray/options/OptionsConnectionPanel.cs new file mode 100644 index 00000000..e9961bb8 --- /dev/null +++ b/src/webimtray/WebIMTray/options/OptionsConnectionPanel.cs @@ -0,0 +1,79 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Data; +using System.Text; +using System.Windows.Forms; + +namespace webImTray { + public partial class OptionsConnectionPanel : UserControl, OptionsPanel { + bool modified = false; + bool initialized = false; + + public OptionsConnectionPanel() { + InitializeComponent(); + } + + void OptionsPanel.apply() { + if (modified) { + Options.WebIMServer = webimServer.Text; + Options.isLiteServer = radioLite.Checked; + if (forceRefresh.Checked) { + Options.ForceRefreshTime = forceRefreshTime.Value; + } else { + Options.ForceRefreshTime = 0; + } + } + } + + void OptionsPanel.initialize() { + webimServer.Text = Options.WebIMServer; + + decimal refreshTime = Options.ForceRefreshTime; + forceRefreshTime.Enabled = forceRefresh.Checked = refreshTime != 0; + forceRefreshTime.Value = refreshTime != 0 ? refreshTime : 15; + + bool lite = Options.isLiteServer; + radioPro.Checked = !lite; + radioLite.Checked = lite; + + modified = false; + initialized = true; + } + + string OptionsPanel.getDescription() { + return "Connection"; + } + + public event ModifiedEvent PanelModified; + + private void webimServer_TextChanged(object sender, EventArgs e) { + modified = true; + PanelModified.Invoke(); + } + + private void forceRefresh_CheckedChanged(object sender, EventArgs e) { + modified = true; + PanelModified.Invoke(); + forceRefreshTime.Enabled = forceRefresh.Checked; + } + + private void forceRefreshTime_Changed(object sender, EventArgs e) { + modified = true; + PanelModified.Invoke(); + } + + private void showUserPropertiesOnline(object sender, LinkLabelLinkClickedEventArgs e) { + System.Diagnostics.Process.Start(Options.WebIMServer + (Options.isLiteServer ? Options.LITE_SETTINGS_PAGE : Options.PRO_SETTINGS_PAGE )); + } + + private void radioCheckedChanged(object sender, EventArgs e) { + modified = true; + PanelModified.Invoke(); + if (initialized) { + webimServer.Text = radioLite.Checked ? Options.DEFAULT_LITE_SERVER : Options.DEFAULT_PRO_SERVER; + } + } + } +} diff --git a/src/webimtray/WebIMTray/options/OptionsConnectionPanel.resx b/src/webimtray/WebIMTray/options/OptionsConnectionPanel.resx new file mode 100644 index 00000000..ff31a6db --- /dev/null +++ b/src/webimtray/WebIMTray/options/OptionsConnectionPanel.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/src/webimtray/WebIMTray/options/OptionsDialog.Designer.cs b/src/webimtray/WebIMTray/options/OptionsDialog.Designer.cs new file mode 100644 index 00000000..6393e27d --- /dev/null +++ b/src/webimtray/WebIMTray/options/OptionsDialog.Designer.cs @@ -0,0 +1,139 @@ +namespace webImTray { + partial class OptionsDialog { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(OptionsDialog)); + this.pageSelector = new System.Windows.Forms.ListView(); + this.ok = new System.Windows.Forms.Button(); + this.cancel = new System.Windows.Forms.Button(); + this.apply = new System.Windows.Forms.Button(); + this.container = new System.Windows.Forms.Panel(); + this.linkLabel1 = new System.Windows.Forms.LinkLabel(); + this.SuspendLayout(); + // + // pageSelector + // + this.pageSelector.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.pageSelector.FullRowSelect = true; + this.pageSelector.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None; + this.pageSelector.HideSelection = false; + this.pageSelector.Location = new System.Drawing.Point(12, 14); + this.pageSelector.MultiSelect = false; + this.pageSelector.Name = "pageSelector"; + this.pageSelector.ShowGroups = false; + this.pageSelector.Size = new System.Drawing.Size(175, 329); + this.pageSelector.TabIndex = 0; + this.pageSelector.UseCompatibleStateImageBehavior = false; + this.pageSelector.View = System.Windows.Forms.View.List; + this.pageSelector.SelectedIndexChanged += new System.EventHandler(this.panelSelectionChanged); + // + // ok + // + this.ok.Location = new System.Drawing.Point(341, 360); + this.ok.Name = "ok"; + this.ok.Size = new System.Drawing.Size(75, 23); + this.ok.TabIndex = 1; + this.ok.Text = "OK"; + this.ok.UseVisualStyleBackColor = true; + this.ok.Click += new System.EventHandler(this.ok_Click); + // + // cancel + // + this.cancel.DialogResult = System.Windows.Forms.DialogResult.Cancel; + this.cancel.Location = new System.Drawing.Point(422, 360); + this.cancel.Name = "cancel"; + this.cancel.Size = new System.Drawing.Size(75, 23); + this.cancel.TabIndex = 2; + this.cancel.Text = "Cancel"; + this.cancel.UseVisualStyleBackColor = true; + // + // apply + // + this.apply.Enabled = false; + this.apply.Location = new System.Drawing.Point(503, 360); + this.apply.Name = "apply"; + this.apply.Size = new System.Drawing.Size(75, 23); + this.apply.TabIndex = 3; + this.apply.Text = "Apply"; + this.apply.UseVisualStyleBackColor = true; + this.apply.Click += new System.EventHandler(this.apply_Click); + // + // container + // + this.container.Location = new System.Drawing.Point(204, 14); + this.container.Name = "container"; + this.container.Size = new System.Drawing.Size(374, 329); + this.container.TabIndex = 4; + // + // linkLabel1 + // + this.linkLabel1.AutoSize = true; + this.linkLabel1.Font = new System.Drawing.Font("Tahoma", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.linkLabel1.Location = new System.Drawing.Point(12, 360); + this.linkLabel1.Name = "linkLabel1"; + this.linkLabel1.Size = new System.Drawing.Size(96, 16); + this.linkLabel1.TabIndex = 5; + this.linkLabel1.TabStop = true; + this.linkLabel1.Text = "www.webim.ru"; + this.linkLabel1.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.openWebIMSite); + // + // OptionsDialog + // + this.AcceptButton = this.ok; + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.CancelButton = this.cancel; + this.ClientSize = new System.Drawing.Size(590, 395); + this.Controls.Add(this.linkLabel1); + this.Controls.Add(this.container); + this.Controls.Add(this.apply); + this.Controls.Add(this.cancel); + this.Controls.Add(this.ok); + this.Controls.Add(this.pageSelector); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "OptionsDialog"; + this.Text = "WebIM Tray Options"; + this.Load += new System.EventHandler(this.optionsDialogLoaded); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.ListView pageSelector; + private System.Windows.Forms.Button ok; + private System.Windows.Forms.Button cancel; + private System.Windows.Forms.Button apply; + private System.Windows.Forms.Panel container; + private System.Windows.Forms.LinkLabel linkLabel1; + + + + + } +} \ No newline at end of file diff --git a/src/webimtray/WebIMTray/options/OptionsDialog.cs b/src/webimtray/WebIMTray/options/OptionsDialog.cs new file mode 100644 index 00000000..a8504800 --- /dev/null +++ b/src/webimtray/WebIMTray/options/OptionsDialog.cs @@ -0,0 +1,95 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Text; +using System.Windows.Forms; + +namespace webImTray { + public partial class OptionsDialog : Form { + + OptionsPanel[] panels = new OptionsPanel[] { + new OptionsGeneralPanel(), + new OptionsConnectionPanel(), + new OptionsSoundsPanel(), + new About() + }; + + OptionsPanel currentPanel = null; + + public OptionsDialog() { + InitializeComponent(); + } + + private void changePanel(OptionsPanel panel) { + if (currentPanel == panel) + return; + + if (currentPanel != null) + container.Controls.Clear(); + currentPanel = panel; + container.Controls.Add((Control)currentPanel); + } + + private void optionsDialogLoaded(object sender, EventArgs e) { + bool inited = false; + + foreach (OptionsPanel p in panels) { + ListViewItem item = new ListViewItem(p.getDescription()); + if (!inited) { + item.Selected = true; + changePanel(p); + inited = true; + } + p.PanelModified += new ModifiedEvent(panelModified); + p.initialize(); + pageSelector.Items.Add(item); + } + apply.Enabled = false; + } + + void panelModified() { + apply.Enabled = true; + } + + OptionsPanel getPanel(string s) { + foreach (OptionsPanel p in panels) { + if (s.Equals(p.getDescription())) + return p; + } + + return null; + } + + private void panelSelectionChanged(object sender, EventArgs e) { + if (pageSelector.SelectedItems.Count == 1) { + ListViewItem item = pageSelector.SelectedItems[0]; + OptionsPanel panel = getPanel(item.Text); + if (panel != null) { + changePanel(panel); + } + } + } + + private void openWebIMSite(object sender, LinkLabelLinkClickedEventArgs e) { + System.Diagnostics.Process.Start("http://webim.ru/"); + } + + private void applyChanges() { + foreach (OptionsPanel p in panels) { + p.apply(); + } + } + + private void ok_Click(object sender, EventArgs e) { + applyChanges(); + Close(); + } + + private void apply_Click(object sender, EventArgs e) { + applyChanges(); + apply.Enabled = false; + } + } +} \ No newline at end of file diff --git a/src/webimtray/WebIMTray/options/OptionsDialog.resx b/src/webimtray/WebIMTray/options/OptionsDialog.resx new file mode 100644 index 00000000..2971ce7c --- /dev/null +++ b/src/webimtray/WebIMTray/options/OptionsDialog.resx @@ -0,0 +1,151 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + AAABAAEAEhIAAAAACADYBQAAFgAAACgAAAASAAAAJAAAAAEACAAAAAAAaAEAAAAAAAAAAAAAAAEAAAAB + AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAwMDAAMDcwADwyqYABAQEAAgICAAMDAwAERERABYW + FgAcHBwAIiIiACkpKQBVVVUATU1NAEJCQgA5OTkAgHz/AFBQ/wCTANYA/+zMAMbW7wDW5+cAkKmtAAAA + MwAAAGYAAACZAAAAzAAAMwAAADMzAAAzZgAAM5kAADPMAAAz/wAAZgAAAGYzAABmZgAAZpkAAGbMAABm + /wAAmQAAAJkzAACZZgAAmZkAAJnMAACZ/wAAzAAAAMwzAADMZgAAzJkAAMzMAADM/wAA/2YAAP+ZAAD/ + zAAzAAAAMwAzADMAZgAzAJkAMwDMADMA/wAzMwAAMzMzADMzZgAzM5kAMzPMADMz/wAzZgAAM2YzADNm + ZgAzZpkAM2bMADNm/wAzmQAAM5kzADOZZgAzmZkAM5nMADOZ/wAzzAAAM8wzADPMZgAzzJkAM8zMADPM + /wAz/zMAM/9mADP/mQAz/8wAM///AGYAAABmADMAZgBmAGYAmQBmAMwAZgD/AGYzAABmMzMAZjNmAGYz + mQBmM8wAZjP/AGZmAABmZjMAZmZmAGZmmQBmZswAZpkAAGaZMwBmmWYAZpmZAGaZzABmmf8AZswAAGbM + MwBmzJkAZszMAGbM/wBm/wAAZv8zAGb/mQBm/8wAzAD/AP8AzACZmQAAmTOZAJkAmQCZAMwAmQAAAJkz + MwCZAGYAmTPMAJkA/wCZZgAAmWYzAJkzZgCZZpkAmWbMAJkz/wCZmTMAmZlmAJmZmQCZmcwAmZn/AJnM + AACZzDMAZsxmAJnMmQCZzMwAmcz/AJn/AACZ/zMAmcxmAJn/mQCZ/8wAmf//AMwAAACZADMAzABmAMwA + mQDMAMwAmTMAAMwzMwDMM2YAzDOZAMwzzADMM/8AzGYAAMxmMwCZZmYAzGaZAMxmzACZZv8AzJkAAMyZ + MwDMmWYAzJmZAMyZzADMmf8AzMwAAMzMMwDMzGYAzMyZAMzMzADMzP8AzP8AAMz/MwCZ/2YAzP+ZAMz/ + zADM//8AzAAzAP8AZgD/AJkAzDMAAP8zMwD/M2YA/zOZAP8zzAD/M/8A/2YAAP9mMwDMZmYA/2aZAP9m + zADMZv8A/5kAAP+ZMwD/mWYA/5mZAP+ZzAD/mf8A/8wAAP/MMwD/zGYA/8yZAP/MzAD/zP8A//8zAMz/ + ZgD//5kA///MAGZm/wBm/2YAZv//AP9mZgD/Zv8A//9mACEApQBfX18Ad3d3AIaGhgCWlpYAy8vLALKy + sgDX19cA3d3dAOPj4wDq6uoA8fHxAPj4+ADw+/8ApKCgAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP// + AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG3s7Ozs7Ozs7Ozs7Ozs + 7OzsbQAA7PLz8/Pz8/Pz8/Pz8/Pz8/LsAADs8vPz8/Pz8/Pz8/Pz8/Pz8uwAAOzy8fHx8fHx8fHx8fHx + 8fHy7AAA7PKZUpmZ8uvr6+vr6+vr6/LsAADs81IxUlLz8/Pz8/Pz8/Pz8+wAAOzzmlKamvPr6+vr6+vr + 6+vz7AAA7PT09PT09PT09PT09PT09PTsAADs9Luzu7v09Ovr6+vr6+v09OwAAOz/s6yzs/////////// + ////7AAA7P+7s7u7/+vr6+vr6+vr6//sAADs/7uzu7v/6+vr6+vr6+vr/+wAAOz///////////////// + ////7AAAbezs7Ozs7Ozs7Ozs7Ozs7OxtAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA///AAP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAP//wAD//8AA + + + \ No newline at end of file diff --git a/src/webimtray/WebIMTray/options/OptionsGeneralPanel.Designer.cs b/src/webimtray/WebIMTray/options/OptionsGeneralPanel.Designer.cs new file mode 100644 index 00000000..567b243f --- /dev/null +++ b/src/webimtray/WebIMTray/options/OptionsGeneralPanel.Designer.cs @@ -0,0 +1,176 @@ +namespace webImTray { + partial class OptionsGeneralPanel { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.hideWhenStarted = new System.Windows.Forms.CheckBox(); + this.autoStart = new System.Windows.Forms.CheckBox(); + this.showInTaskBar = new System.Windows.Forms.CheckBox(); + this.groupBox2 = new System.Windows.Forms.GroupBox(); + this.textBox2 = new System.Windows.Forms.TextBox(); + this.textBox1 = new System.Windows.Forms.TextBox(); + this.showOptions = new System.Windows.Forms.CheckBox(); + this.showHide = new System.Windows.Forms.CheckBox(); + this.groupBox1.SuspendLayout(); + this.groupBox2.SuspendLayout(); + this.SuspendLayout(); + // + // groupBox1 + // + this.groupBox1.Controls.Add(this.hideWhenStarted); + this.groupBox1.Controls.Add(this.autoStart); + this.groupBox1.Controls.Add(this.showInTaskBar); + this.groupBox1.Font = new System.Drawing.Font("Tahoma", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.groupBox1.Location = new System.Drawing.Point(3, 3); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Padding = new System.Windows.Forms.Padding(12); + this.groupBox1.Size = new System.Drawing.Size(368, 106); + this.groupBox1.TabIndex = 0; + this.groupBox1.TabStop = false; + this.groupBox1.Text = "Application"; + // + // hideWhenStarted + // + this.hideWhenStarted.AutoSize = true; + this.hideWhenStarted.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.hideWhenStarted.Location = new System.Drawing.Point(15, 76); + this.hideWhenStarted.Name = "hideWhenStarted"; + this.hideWhenStarted.Size = new System.Drawing.Size(134, 17); + this.hideWhenStarted.TabIndex = 3; + this.hideWhenStarted.Text = "Hide window after start"; + this.hideWhenStarted.UseVisualStyleBackColor = true; + this.hideWhenStarted.CheckedChanged += new System.EventHandler(this.checkboxChanged); + // + // autoStart + // + this.autoStart.AutoSize = true; + this.autoStart.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.autoStart.Location = new System.Drawing.Point(15, 53); + this.autoStart.Name = "autoStart"; + this.autoStart.Size = new System.Drawing.Size(225, 17); + this.autoStart.TabIndex = 1; + this.autoStart.Text = "Start automatically when starting Windows"; + this.autoStart.UseVisualStyleBackColor = true; + this.autoStart.CheckedChanged += new System.EventHandler(this.checkboxChanged); + // + // showInTaskBar + // + this.showInTaskBar.AutoSize = true; + this.showInTaskBar.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.showInTaskBar.Location = new System.Drawing.Point(15, 30); + this.showInTaskBar.Name = "showInTaskBar"; + this.showInTaskBar.Size = new System.Drawing.Size(103, 17); + this.showInTaskBar.TabIndex = 0; + this.showInTaskBar.Text = "Show In taskbar"; + this.showInTaskBar.UseVisualStyleBackColor = true; + this.showInTaskBar.CheckedChanged += new System.EventHandler(this.checkboxChanged); + // + // groupBox2 + // + this.groupBox2.Controls.Add(this.textBox2); + this.groupBox2.Controls.Add(this.textBox1); + this.groupBox2.Controls.Add(this.showOptions); + this.groupBox2.Controls.Add(this.showHide); + this.groupBox2.Font = new System.Drawing.Font("Tahoma", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.groupBox2.Location = new System.Drawing.Point(3, 115); + this.groupBox2.Name = "groupBox2"; + this.groupBox2.Padding = new System.Windows.Forms.Padding(12); + this.groupBox2.Size = new System.Drawing.Size(368, 89); + this.groupBox2.TabIndex = 1; + this.groupBox2.TabStop = false; + this.groupBox2.Text = "Hotkeys"; + // + // textBox2 + // + this.textBox2.Enabled = false; + this.textBox2.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.textBox2.Location = new System.Drawing.Point(167, 52); + this.textBox2.Name = "textBox2"; + this.textBox2.Size = new System.Drawing.Size(100, 20); + this.textBox2.TabIndex = 3; + // + // textBox1 + // + this.textBox1.Enabled = false; + this.textBox1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.textBox1.Location = new System.Drawing.Point(167, 29); + this.textBox1.Name = "textBox1"; + this.textBox1.Size = new System.Drawing.Size(100, 20); + this.textBox1.TabIndex = 2; + // + // showOptions + // + this.showOptions.AutoSize = true; + this.showOptions.Enabled = false; + this.showOptions.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.showOptions.Location = new System.Drawing.Point(15, 54); + this.showOptions.Name = "showOptions"; + this.showOptions.Size = new System.Drawing.Size(90, 17); + this.showOptions.TabIndex = 1; + this.showOptions.Text = "Show options"; + this.showOptions.UseVisualStyleBackColor = true; + this.showOptions.CheckedChanged += new System.EventHandler(this.checkboxChanged); + // + // showHide + // + this.showHide.AutoSize = true; + this.showHide.Enabled = false; + this.showHide.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.showHide.Location = new System.Drawing.Point(15, 31); + this.showHide.Name = "showHide"; + this.showHide.Size = new System.Drawing.Size(147, 17); + this.showHide.TabIndex = 0; + this.showHide.Text = "Show/Hide main window:"; + this.showHide.UseVisualStyleBackColor = true; + this.showHide.CheckedChanged += new System.EventHandler(this.checkboxChanged); + // + // OptionsGeneralPanel + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.groupBox2); + this.Controls.Add(this.groupBox1); + this.Name = "OptionsGeneralPanel"; + this.Size = new System.Drawing.Size(374, 329); + this.groupBox1.ResumeLayout(false); + this.groupBox1.PerformLayout(); + this.groupBox2.ResumeLayout(false); + this.groupBox2.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.CheckBox showInTaskBar; + private System.Windows.Forms.CheckBox autoStart; + private System.Windows.Forms.CheckBox hideWhenStarted; + private System.Windows.Forms.GroupBox groupBox2; + private System.Windows.Forms.CheckBox showOptions; + private System.Windows.Forms.CheckBox showHide; + private System.Windows.Forms.TextBox textBox2; + private System.Windows.Forms.TextBox textBox1; + } +} diff --git a/src/webimtray/WebIMTray/options/OptionsGeneralPanel.cs b/src/webimtray/WebIMTray/options/OptionsGeneralPanel.cs new file mode 100644 index 00000000..9d857016 --- /dev/null +++ b/src/webimtray/WebIMTray/options/OptionsGeneralPanel.cs @@ -0,0 +1,44 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Data; +using System.Text; +using System.Windows.Forms; + +namespace webImTray { + public partial class OptionsGeneralPanel : UserControl, OptionsPanel { + bool modified = false; + + public OptionsGeneralPanel() { + InitializeComponent(); + } + + private void checkboxChanged(object sender, EventArgs e) { + modified = true; + PanelModified.Invoke(); + } + + void OptionsPanel.apply() { + if (modified) { + Options.ShowInTaskBar = showInTaskBar.Checked; + Options.AutoStart = autoStart.Checked; + Options.HideAfterStart = hideWhenStarted.Checked; + modified = false; + } + } + + void OptionsPanel.initialize() { + showInTaskBar.Checked = Options.ShowInTaskBar; + autoStart.Checked = Options.AutoStart; + hideWhenStarted.Checked = Options.HideAfterStart; + modified = false; + } + + string OptionsPanel.getDescription() { + return "General"; + } + + public event ModifiedEvent PanelModified; + } +} diff --git a/src/webimtray/WebIMTray/options/OptionsGeneralPanel.resx b/src/webimtray/WebIMTray/options/OptionsGeneralPanel.resx new file mode 100644 index 00000000..ff31a6db --- /dev/null +++ b/src/webimtray/WebIMTray/options/OptionsGeneralPanel.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/src/webimtray/WebIMTray/options/OptionsSoundsPanel.Designer.cs b/src/webimtray/WebIMTray/options/OptionsSoundsPanel.Designer.cs new file mode 100644 index 00000000..d490da7c --- /dev/null +++ b/src/webimtray/WebIMTray/options/OptionsSoundsPanel.Designer.cs @@ -0,0 +1,74 @@ +namespace webImTray { + partial class OptionsSoundsPanel { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.playSoundOnVisitor = new System.Windows.Forms.CheckBox(); + this.groupBox1.SuspendLayout(); + this.SuspendLayout(); + // + // groupBox1 + // + this.groupBox1.Controls.Add(this.playSoundOnVisitor); + this.groupBox1.Font = new System.Drawing.Font("Tahoma", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.groupBox1.Location = new System.Drawing.Point(3, 3); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Padding = new System.Windows.Forms.Padding(12); + this.groupBox1.Size = new System.Drawing.Size(368, 156); + this.groupBox1.TabIndex = 2; + this.groupBox1.TabStop = false; + this.groupBox1.Text = "Notifications"; + // + // playSoundOnVisitor + // + this.playSoundOnVisitor.AutoSize = true; + this.playSoundOnVisitor.Enabled = false; + this.playSoundOnVisitor.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.playSoundOnVisitor.Location = new System.Drawing.Point(15, 28); + this.playSoundOnVisitor.Name = "playSoundOnVisitor"; + this.playSoundOnVisitor.Size = new System.Drawing.Size(171, 17); + this.playSoundOnVisitor.TabIndex = 0; + this.playSoundOnVisitor.Text = "Play sound when visitor comes"; + this.playSoundOnVisitor.UseVisualStyleBackColor = true; + // + // OptionsSoundsPanel + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.groupBox1); + this.Name = "OptionsSoundsPanel"; + this.Size = new System.Drawing.Size(374, 329); + this.Load += new System.EventHandler(this.OptionsSoundsPanel_Load); + this.groupBox1.ResumeLayout(false); + this.groupBox1.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.CheckBox playSoundOnVisitor; + } +} diff --git a/src/webimtray/WebIMTray/options/OptionsSoundsPanel.cs b/src/webimtray/WebIMTray/options/OptionsSoundsPanel.cs new file mode 100644 index 00000000..b8dbb8c1 --- /dev/null +++ b/src/webimtray/WebIMTray/options/OptionsSoundsPanel.cs @@ -0,0 +1,31 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Data; +using System.Text; +using System.Windows.Forms; + +namespace webImTray { + public partial class OptionsSoundsPanel : UserControl, OptionsPanel { + public OptionsSoundsPanel() { + InitializeComponent(); + } + + private void OptionsSoundsPanel_Load(object sender, EventArgs e) { + + } + + void OptionsPanel.apply() { + } + + void OptionsPanel.initialize() { + } + + string OptionsPanel.getDescription() { + return "Sounds"; + } + + public event ModifiedEvent PanelModified; + } +} diff --git a/src/webimtray/WebIMTray/options/OptionsSoundsPanel.resx b/src/webimtray/WebIMTray/options/OptionsSoundsPanel.resx new file mode 100644 index 00000000..ff31a6db --- /dev/null +++ b/src/webimtray/WebIMTray/options/OptionsSoundsPanel.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/src/webimtray/WebIMTray/sound.au b/src/webimtray/WebIMTray/sound.au new file mode 100644 index 00000000..f5fb0096 Binary files /dev/null and b/src/webimtray/WebIMTray/sound.au differ diff --git a/src/webimtray/WebIMTray/toolbarImages/01 navigate.bmp b/src/webimtray/WebIMTray/toolbarImages/01 navigate.bmp new file mode 100644 index 00000000..49ceaad7 Binary files /dev/null and b/src/webimtray/WebIMTray/toolbarImages/01 navigate.bmp differ diff --git a/src/webimtray/WebIMTray/toolbarImages/02 talk.bmp b/src/webimtray/WebIMTray/toolbarImages/02 talk.bmp new file mode 100644 index 00000000..a689d320 Binary files /dev/null and b/src/webimtray/WebIMTray/toolbarImages/02 talk.bmp differ diff --git a/src/webimtray/WebIMTray/toolbarImages/03 properties.bmp b/src/webimtray/WebIMTray/toolbarImages/03 properties.bmp new file mode 100644 index 00000000..2943943f Binary files /dev/null and b/src/webimtray/WebIMTray/toolbarImages/03 properties.bmp differ diff --git a/src/webimtray/WebIMTray/webImTray.csproj b/src/webimtray/WebIMTray/webImTray.csproj new file mode 100644 index 00000000..3c9a1b85 --- /dev/null +++ b/src/webimtray/WebIMTray/webImTray.csproj @@ -0,0 +1,167 @@ + + + Local + 8.0.50727 + 2.0 + {21C7CA72-7F77-416C-9FD7-2DF748443E46} + Debug + AnyCPU + App.ico + + + webImTray + + + JScript + Grid + IE50 + false + WinExe + webImTray + OnBuildSuccess + + + + + + + + + bin\Debug\ + false + 285212672 + false + + + DEBUG;TRACE + + + true + 4096 + false + + + false + false + false + false + 4 + full + prompt + + + bin\Release\ + false + 285212672 + false + + + TRACE + + + false + 4096 + false + + + true + false + false + false + 4 + none + prompt + + + + System + + + System.Data + + + System.Drawing + + + System.Windows.Forms + + + System.XML + + + + + + + UserControl + + + About.cs + + + + UserControl + + + OptionsGeneralPanel.cs + + + Code + + + Form + + + Main.cs + + + Form + + + OptionsDialog.cs + + + UserControl + + + OptionsConnectionPanel.cs + + + UserControl + + + OptionsSoundsPanel.cs + + + Designer + About.cs + + + Designer + OptionsGeneralPanel.cs + + + Main.cs + Designer + + + Designer + OptionsConnectionPanel.cs + + + Designer + OptionsDialog.cs + + + Designer + OptionsSoundsPanel.cs + + + + + + + + + + \ No newline at end of file diff --git a/src/webimtray/WebIMTray/webImTray.sln b/src/webimtray/WebIMTray/webImTray.sln new file mode 100644 index 00000000..f7c7148a --- /dev/null +++ b/src/webimtray/WebIMTray/webImTray.sln @@ -0,0 +1,23 @@ +Microsoft Visual Studio Solution File, Format Version 9.00 +# Visual Studio 2005 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "webImTray", "webImTray.csproj", "{21C7CA72-7F77-416C-9FD7-2DF748443E46}" +EndProject +Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "TrayInstaller", "..\TrayInstaller\TrayInstaller.vdproj", "{3B38021D-FBAB-4038-8220-F8C569A3C658}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {21C7CA72-7F77-416C-9FD7-2DF748443E46}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {21C7CA72-7F77-416C-9FD7-2DF748443E46}.Debug|Any CPU.Build.0 = Debug|Any CPU + {21C7CA72-7F77-416C-9FD7-2DF748443E46}.Release|Any CPU.ActiveCfg = Release|Any CPU + {21C7CA72-7F77-416C-9FD7-2DF748443E46}.Release|Any CPU.Build.0 = Release|Any CPU + {3B38021D-FBAB-4038-8220-F8C569A3C658}.Debug|Any CPU.ActiveCfg = Debug + {3B38021D-FBAB-4038-8220-F8C569A3C658}.Release|Any CPU.ActiveCfg = Release + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal