From cc8749fe1d158ee21670bde77fad237be2f0c416 Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期五, 08 一月 2021 11:47:06 +0800
Subject: [PATCH] 2021-01-08 1.去掉无关文件

---
 Crabtree/SmartHome/dll/Android/Shared.Droid.xml                           |   17 
 Crabtree/ON/Assets/Language.ini                                           | 1573 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
 Crabtree/SmartHome/HDL/Common/HttpUtil/HttpServerRequest.cs               |    4 
 Crabtree/SmartHome/UI/SimpleControl/Phone/Register/ForgotPassword.cs      |    2 
 Crabtree/SmartHome/UI/SimpleControl/Phone/Guide/GuideAddResidence.cs      |    3 
 Crabtree/SmartHome/UI/SimpleControl/Phone/Register/AccountRegistration.cs |    2 
 README.md                                                                 |    7 
 Crabtree/SmartHome/HDL/Operation/ResponseEntity/API.cs                    |   80 +-
 /dev/null                                                                 |    0 
 Crabtree/SmartHome/HDL/Common/HttpUtil/IMessageCommon.cs                  |   11 
 Crabtree/SmartHome/dll/Android/Shared.Droid.dll                           |    0 
 Crabtree/SmartHome/UI/SimpleControl/R.cs                                  |    2 
 Crabtree/ON.Ios/Resources/Language.ini                                    |    8 
 Crabtree/SmartHome/dll/Android/Shared.Droid.HDLWidget.dll                 |    0 
 Crabtree/.vs/SmartHome/xs/UserPrefs.xml                                   |   29 
 15 files changed, 1,618 insertions(+), 120 deletions(-)

diff --git a/Crabtree/.vs/SmartHome/xs/UserPrefs.xml b/Crabtree/.vs/SmartHome/xs/UserPrefs.xml
index a9b734c..405c751 100644
--- a/Crabtree/.vs/SmartHome/xs/UserPrefs.xml
+++ b/Crabtree/.vs/SmartHome/xs/UserPrefs.xml
@@ -1,33 +1,24 @@
 锘�<Properties StartupConfiguration="{1D83BF28-BA88-4152-BA41-D7EFE90A5437}|Default">
-  <MonoDevelop.Ide.ItemProperties.ON.Droid PreferredExecutionTarget="Android.Android_Accelerated_Oreo" />
-  <MonoDevelop.Ide.Workbench>
+  <MonoDevelop.Ide.ItemProperties.ON.Droid PreferredExecutionTarget="Android.822QECU5228FU" />
+  <MonoDevelop.Ide.Workbench ActiveDocument="SmartHome/UI/SimpleControl/R.cs">
+    <Files>
+      <File FileName="SmartHome/HDL/Common/HttpUtil/ErrorCode.cs" Line="74" Column="53" />
+      <File FileName="SmartHome/HDL/Common/HttpUtil/IMessageCommon.cs" Line="166" Column="76" />
+      <File FileName="SmartHome/UI/SimpleControl/R.cs" Line="1052" Column="26" />
+    </Files>
     <Pads>
       <Pad Id="ProjectPad">
         <State name="__root__">
           <Node name="SmartHome" expanded="True">
-            <Node name="ON.Ios" expanded="True" />
             <Node name="Shared" expanded="True">
               <Node name="HDL" expanded="True">
                 <Node name="Common" expanded="True">
                   <Node name="HttpUtil" expanded="True" />
                 </Node>
-                <Node name="Operation" expanded="True">
-                  <Node name="ResponseEntity" expanded="True" />
-                </Node>
               </Node>
-              <Node name="IO" expanded="True" />
-              <Node name="Net" expanded="True" />
               <Node name="UI" expanded="True">
                 <Node name="SimpleControl" expanded="True">
-                  <Node name="Phone" expanded="True">
-                    <Node name="Guide" expanded="True">
-                      <Node name="GuideAddResidence.cs" selected="True" />
-                    </Node>
-                    <Node name="Register" expanded="True" />
-                    <Node name="Room" expanded="True" />
-                    <Node name="Scene" expanded="True" />
-                    <Node name="TV" expanded="True" />
-                  </Node>
+                  <Node name="R.cs" selected="True" />
                 </Node>
               </Node>
             </Node>
@@ -44,8 +35,8 @@
     <String>IosService/IosService.csproj</String>
     <String>DroidService/DroidService.csproj</String>
   </DisabledProjects>
-  <MonoDevelop.Ide.Workspace ActiveConfiguration="Debug|iPhoneSimulator" />
-  <MonoDevelop.Ide.ItemProperties.ON.Ios PreferredExecutionTarget="MonoDevelop.IPhone.IPhoneSimulatorTarget.08FD445C-3EE8-4ED2-BF28-B42ADD0DA92C" />
+  <MonoDevelop.Ide.Workspace ActiveConfiguration="Debug|iPhone" />
+  <MonoDevelop.Ide.ItemProperties.ON.Ios PreferredExecutionTarget="MonoDevelop.IPhone.IPhoneDeviceTarget.00008030-00014C392121802E" />
   <MonoDevelop.Ide.DebuggingService.Breakpoints>
     <BreakpointStore />
   </MonoDevelop.Ide.DebuggingService.Breakpoints>
diff --git a/Crabtree/DroidLib/Additions/AboutAdditions.txt b/Crabtree/DroidLib/Additions/AboutAdditions.txt
deleted file mode 100644
index e7b7765..0000000
--- a/Crabtree/DroidLib/Additions/AboutAdditions.txt
+++ /dev/null
@@ -1,48 +0,0 @@
-锘緼dditions allow you to add arbitrary C# to the generated classes
-before they are compiled.  This can be helpful for providing convenience
-methods or adding pure C# classes.
-
-== Adding Methods to Generated Classes ==
-
-Let's say the library being bound has a Rectangle class with a constructor
-that takes an x and y position, and a width and length size.  It will look like
-this:
-
-public partial class Rectangle
-{
-    public Rectangle (int x, int y, int width, int height)
- {
-     // JNI bindings
- }
-}
-
-Imagine we want to add a constructor to this class that takes a Point and
-Size structure instead of 4 ints.  We can add a new file called Rectangle.cs
-with a partial class containing our new method:
-
-public partial class Rectangle
-{
-    public Rectangle (Point location, Size size) :
-     this (location.X, location.Y, size.Width, size.Height)
- {
- }
-}
-
-At compile time, the additions class will be added to the generated class
-and the final assembly will a Rectangle class with both constructors.
-
-
-== Adding C# Classes ==
-
-Another thing that can be done is adding fully C# managed classes to the
-generated library.  In the above example, let's assume that there isn't a
-Point class available in Java or our library.  The one we create doesn't need
-to interact with Java, so we'll create it like a normal class in C#.
-
-By adding a Point.cs file with this class, it will end up in the binding library:
-
-public class Point
-{
-    public int X { get; set; }
- public int Y { get; set; }
-}
diff --git a/Crabtree/DroidLib/DroidLib.csproj b/Crabtree/DroidLib/DroidLib.csproj
deleted file mode 100644
index 3d42a1d..0000000
--- a/Crabtree/DroidLib/DroidLib.csproj
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProjectGuid>{47EFF987-3192-4A56-A463-A940F245FF7D}</ProjectGuid>
-    <ProjectTypeGuids>{10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
-    <OutputType>Library</OutputType>
-    <RootNamespace>DroidLib</RootNamespace>
-    <AssemblyName>DroidLib</AssemblyName>
-    <TargetFrameworkVersion>v8.0</TargetFrameworkVersion>
-    <MonoAndroidResourcePrefix>Resources</MonoAndroidResourcePrefix>
-    <MonoAndroidAssetsPrefix>Assets</MonoAndroidAssetsPrefix>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\Debug</OutputPath>
-    <DefineConstants>DEBUG;</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <AndroidLinkMode>None</AndroidLinkMode>
-    <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>pdbonly</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>bin\Release</OutputPath>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <AndroidManagedSymbols>true</AndroidManagedSymbols>
-    <AndroidUseSharedRuntime>false</AndroidUseSharedRuntime>
-    <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="System" />
-    <Reference Include="System.Xml" />
-    <Reference Include="System.Core" />
-    <Reference Include="Mono.Android" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="Properties\AssemblyInfo.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="Additions\AboutAdditions.txt" />
-    <None Include="Jars\AboutJars.txt" />
-  </ItemGroup>
-  <ItemGroup>
-    <TransformFile Include="Transforms\EnumFields.xml" />
-    <TransformFile Include="Transforms\EnumMethods.xml" />
-    <TransformFile Include="Transforms\Metadata.xml" />
-  </ItemGroup>
-  <ItemGroup>
-    <EmbeddedJar Include="Jars\jcore-android_v1.1.1.jar" />
-    <EmbeddedJar Include="Jars\jpush-android_v3.0.3.jar" />
-    <EmbeddedJar Include="Jars\android-viewbadger.jar" />
-  </ItemGroup>
-  <Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.Bindings.targets" />
-</Project>
\ No newline at end of file
diff --git a/Crabtree/DroidLib/Jars/AboutJars.txt b/Crabtree/DroidLib/Jars/AboutJars.txt
deleted file mode 100644
index e833d78..0000000
--- a/Crabtree/DroidLib/Jars/AboutJars.txt
+++ /dev/null
@@ -1,36 +0,0 @@
-锘縏his directory is for Android .jars.
-
-There are 4 types of jars that are supported:
-
-== Input Jar and Embedded Jar ==
-
-This is the jar that bindings should be generated for.
-
-For example, if you were binding the Google Maps library, this would
-be Google's "maps.jar".
-
-The difference between EmbeddedJar and InputJar is, EmbeddedJar is to be
-embedded in the resulting dll as EmbeddedResource, while InputJar is not.
-There are couple of reasons you wouldn't like to embed the target jar
-in your dll (the ones that could be internally loaded by <uses-library>
-feature e.g. maps.jar, or you cannot embed jars that are under some
-proprietary license).
-
-Set the build action for these jars in the properties page to "InputJar".
-
-
-== Reference Jar and Embedded Reference Jar ==
-
-These are jars that are referenced by the input jar.  C# bindings will
-not be created for these jars.  These jars will be used to resolve
-types used by the input jar.
-
-NOTE: Do not add "android.jar" as a reference jar.  It will be added automatically
-based on the Target Framework selected.
-
-Set the build action for these jars in the properties page to "ReferenceJar".
-
-"EmbeddedJar" works like "ReferenceJar", but like "EmbeddedJar", it is
-embedded in your dll. But at application build time, they are not included
-in the final apk, like ReferenceJar files.
-
diff --git a/Crabtree/DroidLib/Jars/android-viewbadger.jar b/Crabtree/DroidLib/Jars/android-viewbadger.jar
deleted file mode 100755
index f604751..0000000
--- a/Crabtree/DroidLib/Jars/android-viewbadger.jar
+++ /dev/null
Binary files differ
diff --git a/Crabtree/DroidLib/Jars/jcore-android_v1.1.1.jar b/Crabtree/DroidLib/Jars/jcore-android_v1.1.1.jar
deleted file mode 100644
index 42431f9..0000000
--- a/Crabtree/DroidLib/Jars/jcore-android_v1.1.1.jar
+++ /dev/null
Binary files differ
diff --git a/Crabtree/DroidLib/Jars/jpush-android_v3.0.3.jar b/Crabtree/DroidLib/Jars/jpush-android_v3.0.3.jar
deleted file mode 100644
index af976f8..0000000
--- a/Crabtree/DroidLib/Jars/jpush-android_v3.0.3.jar
+++ /dev/null
Binary files differ
diff --git a/Crabtree/DroidLib/Properties/AssemblyInfo.cs b/Crabtree/DroidLib/Properties/AssemblyInfo.cs
deleted file mode 100644
index ac37de4..0000000
--- a/Crabtree/DroidLib/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,27 +0,0 @@
-锘縰sing System.Reflection;
-using System.Runtime.CompilerServices;
-using Android.App;
-
-// Information about this assembly is defined by the following attributes. 
-// Change them to the values specific to your project.
-
-[assembly: AssemblyTitle ("DroidLib")]
-[assembly: AssemblyDescription ("")]
-[assembly: AssemblyConfiguration ("")]
-[assembly: AssemblyCompany ("")]
-[assembly: AssemblyProduct ("")]
-[assembly: AssemblyCopyright ("hdl-mac")]
-[assembly: AssemblyTrademark ("")]
-[assembly: AssemblyCulture ("")]
-
-// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
-// The form "{Major}.{Minor}.*" will automatically update the build and revision,
-// and "{Major}.{Minor}.{Build}.*" will update just the revision.
-
-[assembly: AssemblyVersion ("1.0.0")]
-
-// The following attributes are used to specify the signing key for the assembly, 
-// if desired. See the Mono documentation for more information about signing.
-
-//[assembly: AssemblyDelaySign(false)]
-//[assembly: AssemblyKeyFile("")]
diff --git a/Crabtree/DroidLib/Transforms/EnumFields.xml b/Crabtree/DroidLib/Transforms/EnumFields.xml
deleted file mode 100644
index b95f58c..0000000
--- a/Crabtree/DroidLib/Transforms/EnumFields.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-锘�<?xml version="1.0" encoding="UTF-8"?>
-<enum-field-mappings>
-    <!--
-  This example converts the constants Fragment_id, Fragment_name,
-  and Fragment_tag from android.support.v4.app.FragmentActivity.FragmentTag
-  to an enum called Android.Support.V4.App.FragmentTagType with values
-  Id, Name, and Tag.
-  
-  <mapping clr-enum-type="Android.Support.V4.App.FragmentTagType" jni-class="android/support/v4/app/FragmentActivity$FragmentTag">
-    <field clr-name="Id" jni-name="Fragment_id" value="1" />
-    <field clr-name="Name" jni-name="Fragment_name" value="0" />
-    <field clr-name="Tag" jni-name="Fragment_tag" value="2" />
-  </type>
-
-  Notes:
-  - An optional "bitfield" attribute marks the enum type with [Flags].
-  - For Java interfaces, use "jni-interface" attribute instead of "jni-class" attribute.
-  -->
-</enum-field-mappings>
diff --git a/Crabtree/DroidLib/Transforms/EnumMethods.xml b/Crabtree/DroidLib/Transforms/EnumMethods.xml
deleted file mode 100644
index c65a473..0000000
--- a/Crabtree/DroidLib/Transforms/EnumMethods.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-锘�<?xml version="1.0" encoding="UTF-8"?>
-<enum-method-mappings>
-    <!--
-  This example changes the Java method:
-    android.support.v4.app.Fragment.SavedState.writeToParcel (int flags)
-  to be:
-    android.support.v4.app.Fragment.SavedState.writeToParcel (Android.OS.ParcelableWriteFlags flags)
-  when bound in C#.
-
-  <mapping jni-class="android/support/v4/app/Fragment.SavedState">
-    <method jni-name="writeToParcel" parameter="flags" clr-enum-type="Android.OS.ParcelableWriteFlags" />
-  </mapping>
-
-  Notes:
-  - For Java interfaces, use "jni-interface" attribute instead of "jni-class" attribute.
-  - To change the type of the return value, use "return" as the parameter name.
-  - The parameter names will be p0, p1, ... unless you provide JavaDoc file in the project.
-  -->
-</enum-method-mappings>
diff --git a/Crabtree/DroidLib/Transforms/Metadata.xml b/Crabtree/DroidLib/Transforms/Metadata.xml
deleted file mode 100644
index 8f3bde7..0000000
--- a/Crabtree/DroidLib/Transforms/Metadata.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-锘�<?xml version="1.0" encoding="UTF-8"?>
-<metadata>
-    <!--
-  This sample removes the class: android.support.v4.content.AsyncTaskLoader.LoadTask:
-  <remove-node path="/api/package[@name='android.support.v4.content']/class[@name='AsyncTaskLoader.LoadTask']" />
-  
-  This sample removes the method: android.support.v4.content.CursorLoader.loadInBackground:
-  <remove-node path="/api/package[@name='android.support.v4.content']/class[@name='CursorLoader']/method[@name='loadInBackground']" />
-  -->
-</metadata>
diff --git a/Crabtree/DroidService/DroidService.csproj b/Crabtree/DroidService/DroidService.csproj
deleted file mode 100644
index 680c982..0000000
--- a/Crabtree/DroidService/DroidService.csproj
+++ /dev/null
@@ -1,91 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProjectGuid>{CE1A32D2-147D-406D-B194-7820468301D4}</ProjectGuid>
-    <ProjectTypeGuids>{EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
-    <OutputType>Library</OutputType>
-    <RootNamespace>DroidService</RootNamespace>
-    <AssemblyName>DroidService</AssemblyName>
-    <TargetFrameworkVersion>v8.0</TargetFrameworkVersion>
-    <AndroidResgenFile>Resources\Resource.designer.cs</AndroidResgenFile>
-    <AndroidResgenClass>Resource</AndroidResgenClass>
-    <MonoAndroidResourcePrefix>Resources</MonoAndroidResourcePrefix>
-    <MonoAndroidAssetsPrefix>Assets</MonoAndroidAssetsPrefix>
-    <AndroidTlsProvider></AndroidTlsProvider>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\Debug</OutputPath>
-    <DefineConstants>DEBUG;Crabtree</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <ConsolePause>false</ConsolePause>
-    <AndroidLinkMode>None</AndroidLinkMode>
-    <ExternalConsole>false</ExternalConsole>
-<RunCodeAnalysis>false</RunCodeAnalysis>  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <DebugType></DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\Release</OutputPath>
-    <DefineConstants>Crabtree</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <ConsolePause>false</ConsolePause>
-    <AndroidUseSharedRuntime>false</AndroidUseSharedRuntime>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="System" />
-    <Reference Include="System.Xml" />
-    <Reference Include="System.Core" />
-    <Reference Include="Mono.Android" />
-    <Reference Include="System.Web.Services" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="Resources\Resource.designer.cs" />
-    <Compile Include="Properties\AssemblyInfo.cs" />
-    <Compile Include="Web References\service.hdlcontrol.com_WebServiceAirQuality\Reference.cs">
-      <DependentUpon>Reference.map</DependentUpon>
-    </Compile>
-    <Compile Include="Web References\service.hdlcontrol.com_push\Reference.cs">
-      <DependentUpon>Reference.map</DependentUpon>
-    </Compile>
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="Resources\AboutResources.txt" />
-    <None Include="Web References\service.hdlcontrol.com_WebServiceAirQuality\WebServiceAirQuality.wsdl" />
-    <None Include="Web References\service.hdlcontrol.com_WebServiceAirQuality\WebServiceAirQuality.disco" />
-    <None Include="Web References\service.hdlcontrol.com_WebServiceAirQuality\Reference.map">
-      <Generator>MSDiscoCodeGenerator</Generator>
-      <LastGenOutput>Reference.cs</LastGenOutput>
-    </None>
-    <None Include="Web References\service.hdlcontrol.com_push\WebServicePush.wsdl" />
-    <None Include="Web References\service.hdlcontrol.com_push\WebServicePush.disco" />
-    <None Include="Web References\service.hdlcontrol.com_push\Reference.map">
-      <Generator>MSDiscoCodeGenerator</Generator>
-      <LastGenOutput>Reference.cs</LastGenOutput>
-    </None>
-  </ItemGroup>
-  <ItemGroup>
-    <AndroidResource Include="Resources\values\Strings.xml" />
-  </ItemGroup>
-  <ItemGroup>
-    <WebReferences Include="Web References" />
-  </ItemGroup>
-  <ItemGroup>
-    <WebReferenceUrl Include="http://service.hdlcontrol.com:8000/WebService/WebServiceAirQuality.asmx">
-      <UrlBehavior>Dynamic</UrlBehavior>
-      <RelPath>Web References\service.hdlcontrol.com_WebServiceAirQuality</RelPath>
-      <UpdateFromURL>http://service.hdlcontrol.com:8000/WebService/WebServiceAirQuality.asmx</UpdateFromURL>
-    </WebReferenceUrl>
-    <WebReferenceUrl Include="http://service.hdlcontrol.com:8000/WebService/WebServicePush.asmx">
-      <UrlBehavior>Dynamic</UrlBehavior>
-      <RelPath>Web References\service.hdlcontrol.com_push</RelPath>
-      <UpdateFromURL>http://service.hdlcontrol.com:8000/WebService/WebServicePush.asmx</UpdateFromURL>
-    </WebReferenceUrl>
-  </ItemGroup>
-  <Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" />
-</Project>
\ No newline at end of file
diff --git a/Crabtree/DroidService/Properties/AssemblyInfo.cs b/Crabtree/DroidService/Properties/AssemblyInfo.cs
deleted file mode 100755
index 505c8ec..0000000
--- a/Crabtree/DroidService/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,27 +0,0 @@
-锘縰sing System.Reflection;
-using System.Runtime.CompilerServices;
-
-// Information about this assembly is defined by the following attributes. 
-// Change them to the values specific to your project.
-
-[assembly: AssemblyTitle ("DroidService")]
-[assembly: AssemblyDescription ("")]
-[assembly: AssemblyConfiguration ("")]
-[assembly: AssemblyCompany ("")]
-[assembly: AssemblyProduct ("")]
-[assembly: AssemblyCopyright ("hdl-mac")]
-[assembly: AssemblyTrademark ("")]
-[assembly: AssemblyCulture ("")]
-
-// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
-// The form "{Major}.{Minor}.*" will automatically update the build and revision,
-// and "{Major}.{Minor}.{Build}.*" will update just the revision.
-
-[assembly: AssemblyVersion ("1.0.0")]
-
-// The following attributes are used to specify the signing key for the assembly, 
-// if desired. See the Mono documentation for more information about signing.
-
-//[assembly: AssemblyDelaySign(false)]
-//[assembly: AssemblyKeyFile("")]
-
diff --git a/Crabtree/DroidService/Resources/AboutResources.txt b/Crabtree/DroidService/Resources/AboutResources.txt
deleted file mode 100755
index 10f52d4..0000000
--- a/Crabtree/DroidService/Resources/AboutResources.txt
+++ /dev/null
@@ -1,44 +0,0 @@
-Images, layout descriptions, binary blobs and string dictionaries can be included 
-in your application as resource files.  Various Android APIs are designed to 
-operate on the resource IDs instead of dealing with images, strings or binary blobs 
-directly.
-
-For example, a sample Android app that contains a user interface layout (main.axml),
-an internationalization string table (strings.xml) and some icons (drawable-XXX/icon.png) 
-would keep its resources in the "Resources" directory of the application:
-
-Resources/
-    drawable/
-        icon.png
-
-    layout/
-        main.axml
-
-    values/
-        strings.xml
-
-In order to get the build system to recognize Android resources, set the build action to
-"AndroidResource".  The native Android APIs do not operate directly with filenames, but 
-instead operate on resource IDs.  When you compile an Android application that uses resources, 
-the build system will package the resources for distribution and generate a class called "R" 
-(this is an Android convention) that contains the tokens for each one of the resources 
-included. For example, for the above Resources layout, this is what the R class would expose:
-
-public class R {
-    public class drawable {
-        public const int icon = 0x123;
-    }
-
-    public class layout {
-        public const int main = 0x456;
-    }
-
-    public class strings {
-        public const int first_string = 0xabc;
-        public const int second_string = 0xbcd;
-    }
-}
-
-You would then use R.drawable.icon to reference the drawable/icon.png file, or R.layout.main 
-to reference the layout/main.axml file, or R.strings.first_string to reference the first 
-string in the dictionary file values/strings.xml.
diff --git a/Crabtree/DroidService/Resources/Resource.designer.cs b/Crabtree/DroidService/Resources/Resource.designer.cs
deleted file mode 100644
index 2b3e8ad..0000000
--- a/Crabtree/DroidService/Resources/Resource.designer.cs
+++ /dev/null
@@ -1,56 +0,0 @@
-#pragma warning disable 1591
-//------------------------------------------------------------------------------
-// <auto-generated>
-//     This code was generated by a tool.
-//
-//     Changes to this file may cause incorrect behavior and will be lost if
-//     the code is regenerated.
-// </auto-generated>
-//------------------------------------------------------------------------------
-
-[assembly: global::Android.Runtime.ResourceDesignerAttribute("DroidService.Resource", IsApplication=false)]
-
-namespace DroidService
-{
-	
-	
-	[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Android.Build.Tasks", "1.0.0.0")]
-	public partial class Resource
-	{
-		
-		static Resource()
-		{
-			global::Android.Runtime.ResourceIdManager.UpdateIdValues();
-		}
-		
-		public partial class Attribute
-		{
-			
-			static Attribute()
-			{
-				global::Android.Runtime.ResourceIdManager.UpdateIdValues();
-			}
-			
-			private Attribute()
-			{
-			}
-		}
-		
-		public partial class String
-		{
-			
-			// aapt resource value: 0x7F010000
-			public static int library_name = 2130771968;
-			
-			static String()
-			{
-				global::Android.Runtime.ResourceIdManager.UpdateIdValues();
-			}
-			
-			private String()
-			{
-			}
-		}
-	}
-}
-#pragma warning restore 1591
diff --git a/Crabtree/DroidService/Resources/values/Strings.xml b/Crabtree/DroidService/Resources/values/Strings.xml
deleted file mode 100755
index 74776b2..0000000
--- a/Crabtree/DroidService/Resources/values/Strings.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-锘�<?xml version="1.0" encoding="utf-8"?>
-<resources>
-    <string name="library_name">DroidService</string>
-</resources>
diff --git a/Crabtree/DroidService/Web References/service.hdlcontrol.com_WebServiceAirQuality/Reference.cs b/Crabtree/DroidService/Web References/service.hdlcontrol.com_WebServiceAirQuality/Reference.cs
deleted file mode 100644
index d2d3e77..0000000
--- a/Crabtree/DroidService/Web References/service.hdlcontrol.com_WebServiceAirQuality/Reference.cs
+++ /dev/null
@@ -1,275 +0,0 @@
-锘�//------------------------------------------------------------------------------
-// <auto-generated>
-//     This code was generated by a tool.
-//     Runtime Version:4.0.30319.42000
-//
-//     Changes to this file may cause incorrect behavior and will be lost if
-//     the code is regenerated.
-// </auto-generated>
-//------------------------------------------------------------------------------
-
-namespace service.hdlcontrol.com_WebServiceAirQuality
-{
-    using System.Diagnostics;
-    using System;
-    using System.Xml.Serialization;
-    using System.ComponentModel;
-    using System.Web.Services.Protocols;
-    using System.Web.Services;
-
-
-    /// CodeRemarks
-    [System.CodeDom.Compiler.GeneratedCodeAttribute ("XamarinStudio", "4.0.0.0")]
-    [System.Diagnostics.DebuggerStepThroughAttribute ()]
-    [System.ComponentModel.DesignerCategoryAttribute ("code")]
-    [System.Web.Services.WebServiceBindingAttribute (Name = "WebServiceAirQualitySoap", Namespace = "http://tempuri.org/")]
-    public partial class WebServiceAirQuality : System.Web.Services.Protocols.SoapHttpClientProtocol
-    {
-
-        private System.Threading.SendOrPostCallback GetAirQualityOperationCompleted;
-
-        /// CodeRemarks
-        public WebServiceAirQuality ()
-        {
-            this.Url = "http://service.hdlcontrol.com:8000/WebService/WebServiceAirQuality.asmx";
-#if Crabtree
-            this.Url = "https://smarth-api.havells.com/api/WebService/WebServiceAirQuality.asmx";
-#endif
-        }
-        
-        public WebServiceAirQuality(string url) {
-            this.Url = url;
-        }
-        
-        /// CodeRemarks
-        public event GetAirQualityCompletedEventHandler GetAirQualityCompleted;
-        
-        /// CodeRemarks
-        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetAirQuality", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
-        public AirQuality GetAirQuality(string lat, string lon) {
-            object[] results = this.Invoke("GetAirQuality", new object[] {
-                        lat,
-                        lon});
-            return ((AirQuality)(results[0]));
-        }
-        
-        /// CodeRemarks
-        public void GetAirQualityAsync(string lat, string lon) {
-            this.GetAirQualityAsync(lat, lon, null);
-        }
-        
-        /// CodeRemarks
-        public void GetAirQualityAsync(string lat, string lon, object userState) {
-            if ((this.GetAirQualityOperationCompleted == null)) {
-                this.GetAirQualityOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetAirQualityOperationCompleted);
-            }
-            this.InvokeAsync("GetAirQuality", new object[] {
-                        lat,
-                        lon}, this.GetAirQualityOperationCompleted, userState);
-        }
-        
-        private void OnGetAirQualityOperationCompleted(object arg) {
-            if ((this.GetAirQualityCompleted != null)) {
-                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
-                this.GetAirQualityCompleted(this, new GetAirQualityCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
-            }
-        }
-        
-        /// CodeRemarks
-        public new void CancelAsync(object userState) {
-            base.CancelAsync(userState);
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("XamarinStudio", "4.0.0.0")]
-    //[System.Serializable]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://tempuri.org/")]
-    [Serializable]
-    public partial class AirQuality {
-        
-        /// <remarks/>
-        public int code;
-        
-        /// <remarks/>
-        public Data data;
-        
-        /// <remarks/>
-        public string msg;
-        
-        /// <remarks/>
-        public Rc rc;
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("XamarinStudio", "4.0.0.0")]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://tempuri.org/")]
-    [Serializable]
-    public partial class Data {
-        
-        /// <remarks/>
-        public City city;
-        
-        /// <remarks/>
-        public Aqi aqi;
-        
-        /// <remarks/>
-        public Condition condition;
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("XamarinStudio", "4.0.0.0")]
-    [System.Serializable]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://tempuri.org/")]
-    public partial class City {
-        
-        /// <remarks/>
-        public int cityId;
-        
-        /// <remarks/>
-        public string counname;
-        
-        /// <remarks/>
-        public string name;
-        
-        /// <remarks/>
-        public string pname;
-        
-        /// <remarks/>
-        public string timezone;
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("XamarinStudio", "4.0.0.0")]
-    [System.Serializable]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://tempuri.org/")]
-    public partial class Rc {
-        
-        /// <remarks/>
-        public int c;
-        
-        /// <remarks/>
-        public string p;
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("XamarinStudio", "4.0.0.0")]
-    [System.Serializable]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://tempuri.org/")]
-    public partial class Condition {
-        
-        /// <remarks/>
-        public string condition;
-        
-        /// <remarks/>
-        public string humidity;
-        
-        /// <remarks/>
-        public string icon;
-        
-        /// <remarks/>
-        public string temp;
-        
-        /// <remarks/>
-        public string updatetime;
-        
-        /// <remarks/>
-        public string windDir;
-        
-        /// <remarks/>
-        public string windLevel;
-    }
-
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("XamarinStudio", "4.0.0.0")]
-    [System.Serializable]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://tempuri.org/")]
-    public partial class Aqi {
-        
-        /// <remarks/>
-        public string cityName;
-        
-        /// <remarks/>
-        public string co;
-        
-        /// <remarks/>
-        public string coC;
-        
-        /// <remarks/>
-        public string no2;
-        
-        /// <remarks/>
-        public string no2C;
-        
-        /// <remarks/>
-        public string o3;
-        
-        /// <remarks/>
-        public string o3C;
-        
-        /// <remarks/>
-        public string pm10;
-        
-        /// <remarks/>
-        public string pm10C;
-        
-        /// <remarks/>
-        public string pm25;
-        
-        /// <remarks/>
-        public string pm25C;
-        
-        /// <remarks/>
-        public string pubtime;
-        
-        /// <remarks/>
-        public string rank;
-        
-        /// <remarks/>
-        public string so2;
-        
-        /// <remarks/>
-        public string so2C;
-        
-        /// <remarks/>
-        public string value;
-    }
-    
-    /// CodeRemarks
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("XamarinStudio", "4.0.0.0")]
-    public delegate void GetAirQualityCompletedEventHandler(object sender, GetAirQualityCompletedEventArgs e);
-    
-    /// CodeRemarks
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("XamarinStudio", "4.0.0.0")]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    public partial class GetAirQualityCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
-        
-        private object[] results;
-        
-        internal GetAirQualityCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
-                base(exception, cancelled, userState) {
-            this.results = results;
-        }
-        
-        /// CodeRemarks
-        public AirQuality Result {
-            get {
-                this.RaiseExceptionIfNecessary();
-                return ((AirQuality)(this.results[0]));
-            }
-        }
-    }
-}
diff --git a/Crabtree/DroidService/Web References/service.hdlcontrol.com_WebServiceAirQuality/Reference.map b/Crabtree/DroidService/Web References/service.hdlcontrol.com_WebServiceAirQuality/Reference.map
deleted file mode 100644
index 0bb416f..0000000
--- a/Crabtree/DroidService/Web References/service.hdlcontrol.com_WebServiceAirQuality/Reference.map
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<DiscoveryClientResultsFile xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <Results>
-    <DiscoveryClientResult referenceType="System.Web.Services.Discovery.ContractReference" url="http://service.hdlcontrol.com:8000/WebService/WebServiceAirQuality.asmx?wsdl" filename="WebServiceAirQuality.wsdl" />
-    <DiscoveryClientResult referenceType="System.Web.Services.Discovery.DiscoveryDocumentReference" url="http://service.hdlcontrol.com:8000/WebService/WebServiceAirQuality.asmx?disco" filename="WebServiceAirQuality.disco" />
-  </Results>
-</DiscoveryClientResultsFile>
\ No newline at end of file
diff --git a/Crabtree/DroidService/Web References/service.hdlcontrol.com_WebServiceAirQuality/WebServiceAirQuality.disco b/Crabtree/DroidService/Web References/service.hdlcontrol.com_WebServiceAirQuality/WebServiceAirQuality.disco
deleted file mode 100644
index f2e2d78..0000000
--- a/Crabtree/DroidService/Web References/service.hdlcontrol.com_WebServiceAirQuality/WebServiceAirQuality.disco
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<discovery xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.xmlsoap.org/disco/">
-  <contractRef ref="http://service.hdlcontrol.com:8000/WebService/WebServiceAirQuality.asmx?wsdl" docRef="http://service.hdlcontrol.com:8000/WebService/WebServiceAirQuality.asmx" xmlns="http://schemas.xmlsoap.org/disco/scl/" />
-  <soap address="http://service.hdlcontrol.com:8000/WebService/WebServiceAirQuality.asmx" xmlns:q1="http://tempuri.org/" binding="q1:WebServiceAirQualitySoap" xmlns="http://schemas.xmlsoap.org/disco/soap/" />
-  <soap address="http://service.hdlcontrol.com:8000/WebService/WebServiceAirQuality.asmx" xmlns:q2="http://tempuri.org/" binding="q2:WebServiceAirQualitySoap12" xmlns="http://schemas.xmlsoap.org/disco/soap/" />
-</discovery>
\ No newline at end of file
diff --git a/Crabtree/DroidService/Web References/service.hdlcontrol.com_WebServiceAirQuality/WebServiceAirQuality.wsdl b/Crabtree/DroidService/Web References/service.hdlcontrol.com_WebServiceAirQuality/WebServiceAirQuality.wsdl
deleted file mode 100644
index 22dbcb9..0000000
--- a/Crabtree/DroidService/Web References/service.hdlcontrol.com_WebServiceAirQuality/WebServiceAirQuality.wsdl
+++ /dev/null
@@ -1,184 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<wsdl:definitions xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:tns="http://tempuri.org/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" targetNamespace="http://tempuri.org/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
-  <wsdl:types>
-    <s:schema elementFormDefault="qualified" targetNamespace="http://tempuri.org/">
-      <s:element name="GetAirQuality">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="0" maxOccurs="1" name="lat" type="s:string" />
-            <s:element minOccurs="0" maxOccurs="1" name="lon" type="s:string" />
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:element name="GetAirQualityResponse">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="0" maxOccurs="1" name="GetAirQualityResult" type="tns:AirQuality" />
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:complexType name="AirQuality">
-        <s:sequence>
-          <s:element minOccurs="1" maxOccurs="1" name="code" type="s:int" />
-          <s:element minOccurs="0" maxOccurs="1" name="data" type="tns:Data" />
-          <s:element minOccurs="0" maxOccurs="1" name="msg" type="s:string" />
-          <s:element minOccurs="0" maxOccurs="1" name="rc" type="tns:Rc" />
-        </s:sequence>
-      </s:complexType>
-      <s:complexType name="Data">
-        <s:sequence>
-          <s:element minOccurs="0" maxOccurs="1" name="city" type="tns:City" />
-          <s:element minOccurs="0" maxOccurs="1" name="aqi" type="tns:Aqi" />
-          <s:element minOccurs="0" maxOccurs="1" name="condition" type="tns:Condition" />
-        </s:sequence>
-      </s:complexType>
-      <s:complexType name="City">
-        <s:sequence>
-          <s:element minOccurs="1" maxOccurs="1" name="cityId" type="s:int" />
-          <s:element minOccurs="0" maxOccurs="1" name="counname" type="s:string" />
-          <s:element minOccurs="0" maxOccurs="1" name="name" type="s:string" />
-          <s:element minOccurs="0" maxOccurs="1" name="pname" type="s:string" />
-          <s:element minOccurs="0" maxOccurs="1" name="timezone" type="s:string" />
-        </s:sequence>
-      </s:complexType>
-      <s:complexType name="Aqi">
-        <s:sequence>
-          <s:element minOccurs="0" maxOccurs="1" name="cityName" type="s:string" />
-          <s:element minOccurs="0" maxOccurs="1" name="co" type="s:string" />
-          <s:element minOccurs="0" maxOccurs="1" name="coC" type="s:string" />
-          <s:element minOccurs="0" maxOccurs="1" name="no2" type="s:string" />
-          <s:element minOccurs="0" maxOccurs="1" name="no2C" type="s:string" />
-          <s:element minOccurs="0" maxOccurs="1" name="o3" type="s:string" />
-          <s:element minOccurs="0" maxOccurs="1" name="o3C" type="s:string" />
-          <s:element minOccurs="0" maxOccurs="1" name="pm10" type="s:string" />
-          <s:element minOccurs="0" maxOccurs="1" name="pm10C" type="s:string" />
-          <s:element minOccurs="0" maxOccurs="1" name="pm25" type="s:string" />
-          <s:element minOccurs="0" maxOccurs="1" name="pm25C" type="s:string" />
-          <s:element minOccurs="0" maxOccurs="1" name="pubtime" type="s:string" />
-          <s:element minOccurs="0" maxOccurs="1" name="rank" type="s:string" />
-          <s:element minOccurs="0" maxOccurs="1" name="so2" type="s:string" />
-          <s:element minOccurs="0" maxOccurs="1" name="so2C" type="s:string" />
-          <s:element minOccurs="0" maxOccurs="1" name="value" type="s:string" />
-        </s:sequence>
-      </s:complexType>
-      <s:complexType name="Condition">
-        <s:sequence>
-          <s:element minOccurs="0" maxOccurs="1" name="condition" type="s:string" />
-          <s:element minOccurs="0" maxOccurs="1" name="humidity" type="s:string" />
-          <s:element minOccurs="0" maxOccurs="1" name="icon" type="s:string" />
-          <s:element minOccurs="0" maxOccurs="1" name="temp" type="s:string" />
-          <s:element minOccurs="0" maxOccurs="1" name="updatetime" type="s:string" />
-          <s:element minOccurs="0" maxOccurs="1" name="windDir" type="s:string" />
-          <s:element minOccurs="0" maxOccurs="1" name="windLevel" type="s:string" />
-        </s:sequence>
-      </s:complexType>
-      <s:complexType name="Rc">
-        <s:sequence>
-          <s:element minOccurs="1" maxOccurs="1" name="c" type="s:int" />
-          <s:element minOccurs="0" maxOccurs="1" name="p" type="s:string" />
-        </s:sequence>
-      </s:complexType>
-      <s:element name="AirQuality" nillable="true" type="tns:AirQuality" />
-    </s:schema>
-  </wsdl:types>
-  <wsdl:message name="GetAirQualitySoapIn">
-    <wsdl:part name="parameters" element="tns:GetAirQuality" />
-  </wsdl:message>
-  <wsdl:message name="GetAirQualitySoapOut">
-    <wsdl:part name="parameters" element="tns:GetAirQualityResponse" />
-  </wsdl:message>
-  <wsdl:message name="GetAirQualityHttpGetIn">
-    <wsdl:part name="lat" type="s:string" />
-    <wsdl:part name="lon" type="s:string" />
-  </wsdl:message>
-  <wsdl:message name="GetAirQualityHttpGetOut">
-    <wsdl:part name="Body" element="tns:AirQuality" />
-  </wsdl:message>
-  <wsdl:message name="GetAirQualityHttpPostIn">
-    <wsdl:part name="lat" type="s:string" />
-    <wsdl:part name="lon" type="s:string" />
-  </wsdl:message>
-  <wsdl:message name="GetAirQualityHttpPostOut">
-    <wsdl:part name="Body" element="tns:AirQuality" />
-  </wsdl:message>
-  <wsdl:portType name="WebServiceAirQualitySoap">
-    <wsdl:operation name="GetAirQuality">
-      <wsdl:input message="tns:GetAirQualitySoapIn" />
-      <wsdl:output message="tns:GetAirQualitySoapOut" />
-    </wsdl:operation>
-  </wsdl:portType>
-  <wsdl:portType name="WebServiceAirQualityHttpGet">
-    <wsdl:operation name="GetAirQuality">
-      <wsdl:input message="tns:GetAirQualityHttpGetIn" />
-      <wsdl:output message="tns:GetAirQualityHttpGetOut" />
-    </wsdl:operation>
-  </wsdl:portType>
-  <wsdl:portType name="WebServiceAirQualityHttpPost">
-    <wsdl:operation name="GetAirQuality">
-      <wsdl:input message="tns:GetAirQualityHttpPostIn" />
-      <wsdl:output message="tns:GetAirQualityHttpPostOut" />
-    </wsdl:operation>
-  </wsdl:portType>
-  <wsdl:binding name="WebServiceAirQualitySoap" type="tns:WebServiceAirQualitySoap">
-    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
-    <wsdl:operation name="GetAirQuality">
-      <soap:operation soapAction="http://tempuri.org/GetAirQuality" style="document" />
-      <wsdl:input>
-        <soap:body use="literal" />
-      </wsdl:input>
-      <wsdl:output>
-        <soap:body use="literal" />
-      </wsdl:output>
-    </wsdl:operation>
-  </wsdl:binding>
-  <wsdl:binding name="WebServiceAirQualitySoap12" type="tns:WebServiceAirQualitySoap">
-    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
-    <wsdl:operation name="GetAirQuality">
-      <soap12:operation soapAction="http://tempuri.org/GetAirQuality" style="document" />
-      <wsdl:input>
-        <soap12:body use="literal" />
-      </wsdl:input>
-      <wsdl:output>
-        <soap12:body use="literal" />
-      </wsdl:output>
-    </wsdl:operation>
-  </wsdl:binding>
-  <wsdl:binding name="WebServiceAirQualityHttpGet" type="tns:WebServiceAirQualityHttpGet">
-    <http:binding verb="GET" />
-    <wsdl:operation name="GetAirQuality">
-      <http:operation location="/GetAirQuality" />
-      <wsdl:input>
-        <http:urlEncoded />
-      </wsdl:input>
-      <wsdl:output>
-        <mime:mimeXml part="Body" />
-      </wsdl:output>
-    </wsdl:operation>
-  </wsdl:binding>
-  <wsdl:binding name="WebServiceAirQualityHttpPost" type="tns:WebServiceAirQualityHttpPost">
-    <http:binding verb="POST" />
-    <wsdl:operation name="GetAirQuality">
-      <http:operation location="/GetAirQuality" />
-      <wsdl:input>
-        <mime:content type="application/x-www-form-urlencoded" />
-      </wsdl:input>
-      <wsdl:output>
-        <mime:mimeXml part="Body" />
-      </wsdl:output>
-    </wsdl:operation>
-  </wsdl:binding>
-  <wsdl:service name="WebServiceAirQuality">
-    <wsdl:port name="WebServiceAirQualitySoap" binding="tns:WebServiceAirQualitySoap">
-      <soap:address location="http://service.hdlcontrol.com:8000/WebService/WebServiceAirQuality.asmx" />
-    </wsdl:port>
-    <wsdl:port name="WebServiceAirQualitySoap12" binding="tns:WebServiceAirQualitySoap12">
-      <soap12:address location="http://service.hdlcontrol.com:8000/WebService/WebServiceAirQuality.asmx" />
-    </wsdl:port>
-    <wsdl:port name="WebServiceAirQualityHttpGet" binding="tns:WebServiceAirQualityHttpGet">
-      <http:address location="http://service.hdlcontrol.com:8000/WebService/WebServiceAirQuality.asmx" />
-    </wsdl:port>
-    <wsdl:port name="WebServiceAirQualityHttpPost" binding="tns:WebServiceAirQualityHttpPost">
-      <http:address location="http://service.hdlcontrol.com:8000/WebService/WebServiceAirQuality.asmx" />
-    </wsdl:port>
-  </wsdl:service>
-</wsdl:definitions>
\ No newline at end of file
diff --git a/Crabtree/DroidService/Web References/service.hdlcontrol.com_push/Reference.cs b/Crabtree/DroidService/Web References/service.hdlcontrol.com_push/Reference.cs
deleted file mode 100644
index 950e144..0000000
--- a/Crabtree/DroidService/Web References/service.hdlcontrol.com_push/Reference.cs
+++ /dev/null
@@ -1,541 +0,0 @@
-//------------------------------------------------------------------------------
-// <auto-generated>
-//     This code was generated by a tool.
-//     Runtime Version:4.0.30319.42000
-//
-//     Changes to this file may cause incorrect behavior and will be lost if
-//     the code is regenerated.
-// </auto-generated>
-//------------------------------------------------------------------------------
-
-namespace service.hdlcontrol.com_push {
-    using System.Diagnostics;
-    using System;
-    using System.Xml.Serialization;
-    using System.ComponentModel;
-    using System.Web.Services.Protocols;
-    using System.Web.Services;
-    
-    
-    /// CodeRemarks
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("XamarinStudio", "7.5.3.7")]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Web.Services.WebServiceBindingAttribute(Name="WebServicePushSoap", Namespace="http://tempuri.org/")]
-    public partial class WebServicePush : System.Web.Services.Protocols.SoapHttpClientProtocol {
-        
-        private System.Threading.SendOrPostCallback JPushActionOperationCompleted;
-        
-        private System.Threading.SendOrPostCallback DeviceManageOperationCompleted;
-        
-        private System.Threading.SendOrPostCallback ILiftAddRegIDOperationCompleted;
-        
-        private System.Threading.SendOrPostCallback AddMsgOperationCompleted;
-        
-        private System.Threading.SendOrPostCallback DeleteToken_PushOperationCompleted;
-        
-        public VerifySoapHeader VerifySoapHeaderValue;
-        
-        private System.Threading.SendOrPostCallback AddRegIdOperationCompleted;
-        
-        private System.Threading.SendOrPostCallback MsgListOperationCompleted;
-
-        /// CodeRemarks
-        public WebServicePush ()
-        {
-            this.Url = "http://service.hdlcontrol.com:8000/WebService/WebServicePush.asmx";
-#if Crabtree
-            this.Url = "https://smarth-api.havells.com/api/WebService/WebServicePush.asmx";
-#endif
-        }
-        
-        public WebServicePush(string url) {
-            this.Url = url;
-        }
-        
-        /// CodeRemarks
-        public event JPushActionCompletedEventHandler JPushActionCompleted;
-        
-        /// CodeRemarks
-        public event DeviceManageCompletedEventHandler DeviceManageCompleted;
-        
-        /// CodeRemarks
-        public event ILiftAddRegIDCompletedEventHandler ILiftAddRegIDCompleted;
-        
-        /// CodeRemarks
-        public event AddMsgCompletedEventHandler AddMsgCompleted;
-        
-        /// CodeRemarks
-        public event DeleteToken_PushCompletedEventHandler DeleteToken_PushCompleted;
-        
-        /// CodeRemarks
-        public event AddRegIdCompletedEventHandler AddRegIdCompleted;
-        
-        /// CodeRemarks
-        public event MsgListCompletedEventHandler MsgListCompleted;
-        
-        /// CodeRemarks
-        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/JPushAction", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
-        public long JPushAction(string frame, string message, string alarm) {
-            object[] results = this.Invoke("JPushAction", new object[] {
-                        frame,
-                        message,
-                        alarm});
-            return ((long)(results[0]));
-        }
-        
-        /// CodeRemarks
-        public void JPushActionAsync(string frame, string message, string alarm) {
-            this.JPushActionAsync(frame, message, alarm, null);
-        }
-        
-        /// CodeRemarks
-        public void JPushActionAsync(string frame, string message, string alarm, object userState) {
-            if ((this.JPushActionOperationCompleted == null)) {
-                this.JPushActionOperationCompleted = new System.Threading.SendOrPostCallback(this.OnJPushActionOperationCompleted);
-            }
-            this.InvokeAsync("JPushAction", new object[] {
-                        frame,
-                        message,
-                        alarm}, this.JPushActionOperationCompleted, userState);
-        }
-        
-        private void OnJPushActionOperationCompleted(object arg) {
-            if ((this.JPushActionCompleted != null)) {
-                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
-                this.JPushActionCompleted(this, new JPushActionCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
-            }
-        }
-        
-        /// CodeRemarks
-        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/DeviceManage", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
-        public DeviceInfo[] DeviceManage() {
-            object[] results = this.Invoke("DeviceManage", new object[0]);
-            return ((DeviceInfo[])(results[0]));
-        }
-        
-        /// CodeRemarks
-        public void DeviceManageAsync() {
-            this.DeviceManageAsync(null);
-        }
-        
-        /// CodeRemarks
-        public void DeviceManageAsync(object userState) {
-            if ((this.DeviceManageOperationCompleted == null)) {
-                this.DeviceManageOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeviceManageOperationCompleted);
-            }
-            this.InvokeAsync("DeviceManage", new object[0], this.DeviceManageOperationCompleted, userState);
-        }
-        
-        private void OnDeviceManageOperationCompleted(object arg) {
-            if ((this.DeviceManageCompleted != null)) {
-                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
-                this.DeviceManageCompleted(this, new DeviceManageCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
-            }
-        }
-        
-        /// CodeRemarks
-        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/ILiftAddRegID", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
-        public string ILiftAddRegID(string RegId, string Alias, string Email, string UserMode) {
-            object[] results = this.Invoke("ILiftAddRegID", new object[] {
-                        RegId,
-                        Alias,
-                        Email,
-                        UserMode});
-            return ((string)(results[0]));
-        }
-        
-        /// CodeRemarks
-        public void ILiftAddRegIDAsync(string RegId, string Alias, string Email, string UserMode) {
-            this.ILiftAddRegIDAsync(RegId, Alias, Email, UserMode, null);
-        }
-        
-        /// CodeRemarks
-        public void ILiftAddRegIDAsync(string RegId, string Alias, string Email, string UserMode, object userState) {
-            if ((this.ILiftAddRegIDOperationCompleted == null)) {
-                this.ILiftAddRegIDOperationCompleted = new System.Threading.SendOrPostCallback(this.OnILiftAddRegIDOperationCompleted);
-            }
-            this.InvokeAsync("ILiftAddRegID", new object[] {
-                        RegId,
-                        Alias,
-                        Email,
-                        UserMode}, this.ILiftAddRegIDOperationCompleted, userState);
-        }
-        
-        private void OnILiftAddRegIDOperationCompleted(object arg) {
-            if ((this.ILiftAddRegIDCompleted != null)) {
-                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
-                this.ILiftAddRegIDCompleted(this, new ILiftAddRegIDCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
-            }
-        }
-        
-        /// CodeRemarks
-        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/AddMsg", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
-        public int AddMsg(string regid, string msgtype, string msgcontent) {
-            object[] results = this.Invoke("AddMsg", new object[] {
-                        regid,
-                        msgtype,
-                        msgcontent});
-            return ((int)(results[0]));
-        }
-        
-        /// CodeRemarks
-        public void AddMsgAsync(string regid, string msgtype, string msgcontent) {
-            this.AddMsgAsync(regid, msgtype, msgcontent, null);
-        }
-        
-        /// CodeRemarks
-        public void AddMsgAsync(string regid, string msgtype, string msgcontent, object userState) {
-            if ((this.AddMsgOperationCompleted == null)) {
-                this.AddMsgOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddMsgOperationCompleted);
-            }
-            this.InvokeAsync("AddMsg", new object[] {
-                        regid,
-                        msgtype,
-                        msgcontent}, this.AddMsgOperationCompleted, userState);
-        }
-        
-        private void OnAddMsgOperationCompleted(object arg) {
-            if ((this.AddMsgCompleted != null)) {
-                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
-                this.AddMsgCompleted(this, new AddMsgCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
-            }
-        }
-        
-        /// CodeRemarks
-        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/DeleteToken_Push", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
-        public int DeleteToken_Push(string regid) {
-            object[] results = this.Invoke("DeleteToken_Push", new object[] {
-                        regid});
-            return ((int)(results[0]));
-        }
-        
-        /// CodeRemarks
-        public void DeleteToken_PushAsync(string regid) {
-            this.DeleteToken_PushAsync(regid, null);
-        }
-        
-        /// CodeRemarks
-        public void DeleteToken_PushAsync(string regid, object userState) {
-            if ((this.DeleteToken_PushOperationCompleted == null)) {
-                this.DeleteToken_PushOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteToken_PushOperationCompleted);
-            }
-            this.InvokeAsync("DeleteToken_Push", new object[] {
-                        regid}, this.DeleteToken_PushOperationCompleted, userState);
-        }
-        
-        private void OnDeleteToken_PushOperationCompleted(object arg) {
-            if ((this.DeleteToken_PushCompleted != null)) {
-                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
-                this.DeleteToken_PushCompleted(this, new DeleteToken_PushCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
-            }
-        }
-        
-        /// CodeRemarks
-        [System.Web.Services.Protocols.SoapHeaderAttribute("VerifySoapHeaderValue")]
-        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/AddRegId", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
-        public int AddRegId(string RegId, string Alias) {
-            object[] results = this.Invoke("AddRegId", new object[] {
-                        RegId,
-                        Alias});
-            return ((int)(results[0]));
-        }
-        
-        /// CodeRemarks
-        public void AddRegIdAsync(string RegId, string Alias) {
-            this.AddRegIdAsync(RegId, Alias, null);
-        }
-        
-        /// CodeRemarks
-        public void AddRegIdAsync(string RegId, string Alias, object userState) {
-            if ((this.AddRegIdOperationCompleted == null)) {
-                this.AddRegIdOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddRegIdOperationCompleted);
-            }
-            this.InvokeAsync("AddRegId", new object[] {
-                        RegId,
-                        Alias}, this.AddRegIdOperationCompleted, userState);
-        }
-        
-        private void OnAddRegIdOperationCompleted(object arg) {
-            if ((this.AddRegIdCompleted != null)) {
-                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
-                this.AddRegIdCompleted(this, new AddRegIdCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
-            }
-        }
-        
-        /// CodeRemarks
-        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/MsgList", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
-        public MsgList[] MsgList(string regid) {
-            object[] results = this.Invoke("MsgList", new object[] {
-                        regid});
-            return ((MsgList[])(results[0]));
-        }
-        
-        /// CodeRemarks
-        public void MsgListAsync(string regid) {
-            this.MsgListAsync(regid, null);
-        }
-        
-        /// CodeRemarks
-        public void MsgListAsync(string regid, object userState) {
-            if ((this.MsgListOperationCompleted == null)) {
-                this.MsgListOperationCompleted = new System.Threading.SendOrPostCallback(this.OnMsgListOperationCompleted);
-            }
-            this.InvokeAsync("MsgList", new object[] {
-                        regid}, this.MsgListOperationCompleted, userState);
-        }
-        
-        private void OnMsgListOperationCompleted(object arg) {
-            if ((this.MsgListCompleted != null)) {
-                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
-                this.MsgListCompleted(this, new MsgListCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
-            }
-        }
-        
-        /// CodeRemarks
-        public new void CancelAsync(object userState) {
-            base.CancelAsync(userState);
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("XamarinStudio", "7.5.3.7")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://tempuri.org/")]
-    [System.Xml.Serialization.XmlRootAttribute(Namespace="http://tempuri.org/", IsNullable=false)]
-    public partial class VerifySoapHeader : System.Web.Services.Protocols.SoapHeader {
-        
-        /// <remarks/>
-        public string Email;
-        
-        /// <remarks/>
-        public int UserMode;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAnyAttributeAttribute()]
-        public System.Xml.XmlAttribute[] AnyAttr;
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("XamarinStudio", "7.5.3.7")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://tempuri.org/")]
-    public partial class MsgList {
-        
-        /// <remarks/>
-        public long MsgID;
-        
-        /// <remarks/>
-        public string Msg;
-        
-        /// <remarks/>
-        public string MsgType;
-        
-        /// <remarks/>
-        public System.DateTime MsgTime;
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("XamarinStudio", "7.5.3.7")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://tempuri.org/")]
-    public partial class DeviceInfo {
-        
-        /// <remarks/>
-        public string RegistrationID;
-        
-        /// <remarks/>
-        public string[] Tag;
-        
-        /// <remarks/>
-        public string Alias;
-    }
-    
-    /// CodeRemarks
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("XamarinStudio", "7.5.3.7")]
-    public delegate void JPushActionCompletedEventHandler(object sender, JPushActionCompletedEventArgs e);
-    
-    /// CodeRemarks
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("XamarinStudio", "7.5.3.7")]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    public partial class JPushActionCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
-        
-        private object[] results;
-        
-        internal JPushActionCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
-                base(exception, cancelled, userState) {
-            this.results = results;
-        }
-        
-        /// CodeRemarks
-        public long Result {
-            get {
-                this.RaiseExceptionIfNecessary();
-                return ((long)(this.results[0]));
-            }
-        }
-    }
-    
-    /// CodeRemarks
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("XamarinStudio", "7.5.3.7")]
-    public delegate void DeviceManageCompletedEventHandler(object sender, DeviceManageCompletedEventArgs e);
-    
-    /// CodeRemarks
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("XamarinStudio", "7.5.3.7")]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    public partial class DeviceManageCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
-        
-        private object[] results;
-        
-        internal DeviceManageCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
-                base(exception, cancelled, userState) {
-            this.results = results;
-        }
-        
-        /// CodeRemarks
-        public DeviceInfo[] Result {
-            get {
-                this.RaiseExceptionIfNecessary();
-                return ((DeviceInfo[])(this.results[0]));
-            }
-        }
-    }
-    
-    /// CodeRemarks
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("XamarinStudio", "7.5.3.7")]
-    public delegate void ILiftAddRegIDCompletedEventHandler(object sender, ILiftAddRegIDCompletedEventArgs e);
-    
-    /// CodeRemarks
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("XamarinStudio", "7.5.3.7")]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    public partial class ILiftAddRegIDCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
-        
-        private object[] results;
-        
-        internal ILiftAddRegIDCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
-                base(exception, cancelled, userState) {
-            this.results = results;
-        }
-        
-        /// CodeRemarks
-        public string Result {
-            get {
-                this.RaiseExceptionIfNecessary();
-                return ((string)(this.results[0]));
-            }
-        }
-    }
-    
-    /// CodeRemarks
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("XamarinStudio", "7.5.3.7")]
-    public delegate void AddMsgCompletedEventHandler(object sender, AddMsgCompletedEventArgs e);
-    
-    /// CodeRemarks
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("XamarinStudio", "7.5.3.7")]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    public partial class AddMsgCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
-        
-        private object[] results;
-        
-        internal AddMsgCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
-                base(exception, cancelled, userState) {
-            this.results = results;
-        }
-        
-        /// CodeRemarks
-        public int Result {
-            get {
-                this.RaiseExceptionIfNecessary();
-                return ((int)(this.results[0]));
-            }
-        }
-    }
-    
-    /// CodeRemarks
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("XamarinStudio", "7.5.3.7")]
-    public delegate void DeleteToken_PushCompletedEventHandler(object sender, DeleteToken_PushCompletedEventArgs e);
-    
-    /// CodeRemarks
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("XamarinStudio", "7.5.3.7")]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    public partial class DeleteToken_PushCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
-        
-        private object[] results;
-        
-        internal DeleteToken_PushCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
-                base(exception, cancelled, userState) {
-            this.results = results;
-        }
-        
-        /// CodeRemarks
-        public int Result {
-            get {
-                this.RaiseExceptionIfNecessary();
-                return ((int)(this.results[0]));
-            }
-        }
-    }
-    
-    /// CodeRemarks
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("XamarinStudio", "7.5.3.7")]
-    public delegate void AddRegIdCompletedEventHandler(object sender, AddRegIdCompletedEventArgs e);
-    
-    /// CodeRemarks
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("XamarinStudio", "7.5.3.7")]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    public partial class AddRegIdCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
-        
-        private object[] results;
-        
-        internal AddRegIdCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
-                base(exception, cancelled, userState) {
-            this.results = results;
-        }
-        
-        /// CodeRemarks
-        public int Result {
-            get {
-                this.RaiseExceptionIfNecessary();
-                return ((int)(this.results[0]));
-            }
-        }
-    }
-    
-    /// CodeRemarks
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("XamarinStudio", "7.5.3.7")]
-    public delegate void MsgListCompletedEventHandler(object sender, MsgListCompletedEventArgs e);
-    
-    /// CodeRemarks
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("XamarinStudio", "7.5.3.7")]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    public partial class MsgListCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
-        
-        private object[] results;
-        
-        internal MsgListCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
-                base(exception, cancelled, userState) {
-            this.results = results;
-        }
-        
-        /// CodeRemarks
-        public MsgList[] Result {
-            get {
-                this.RaiseExceptionIfNecessary();
-                return ((MsgList[])(this.results[0]));
-            }
-        }
-    }
-}
diff --git a/Crabtree/DroidService/Web References/service.hdlcontrol.com_push/Reference.map b/Crabtree/DroidService/Web References/service.hdlcontrol.com_push/Reference.map
deleted file mode 100644
index 488b241..0000000
--- a/Crabtree/DroidService/Web References/service.hdlcontrol.com_push/Reference.map
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<DiscoveryClientResultsFile xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <Results>
-    <DiscoveryClientResult referenceType="System.Web.Services.Discovery.ContractReference" url="http://service.hdlcontrol.com:8000/WebService/WebServicePush.asmx?wsdl" filename="WebServicePush.wsdl" />
-    <DiscoveryClientResult referenceType="System.Web.Services.Discovery.DiscoveryDocumentReference" url="http://service.hdlcontrol.com:8000/WebService/WebServicePush.asmx?disco" filename="WebServicePush.disco" />
-  </Results>
-</DiscoveryClientResultsFile>
\ No newline at end of file
diff --git a/Crabtree/DroidService/Web References/service.hdlcontrol.com_push/WebServicePush.disco b/Crabtree/DroidService/Web References/service.hdlcontrol.com_push/WebServicePush.disco
deleted file mode 100644
index d3d9bc8..0000000
--- a/Crabtree/DroidService/Web References/service.hdlcontrol.com_push/WebServicePush.disco
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<discovery xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.xmlsoap.org/disco/">
-  <contractRef ref="http://service.hdlcontrol.com:8000/WebService/WebServicePush.asmx?wsdl" docRef="http://service.hdlcontrol.com:8000/WebService/WebServicePush.asmx" xmlns="http://schemas.xmlsoap.org/disco/scl/" />
-  <soap address="http://service.hdlcontrol.com:8000/WebService/WebServicePush.asmx" xmlns:q1="http://tempuri.org/" binding="q1:WebServicePushSoap" xmlns="http://schemas.xmlsoap.org/disco/soap/" />
-  <soap address="http://service.hdlcontrol.com:8000/WebService/WebServicePush.asmx" xmlns:q2="http://tempuri.org/" binding="q2:WebServicePushSoap12" xmlns="http://schemas.xmlsoap.org/disco/soap/" />
-</discovery>
\ No newline at end of file
diff --git a/Crabtree/DroidService/Web References/service.hdlcontrol.com_push/WebServicePush.wsdl b/Crabtree/DroidService/Web References/service.hdlcontrol.com_push/WebServicePush.wsdl
deleted file mode 100644
index 87f7352..0000000
--- a/Crabtree/DroidService/Web References/service.hdlcontrol.com_push/WebServicePush.wsdl
+++ /dev/null
@@ -1,663 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<wsdl:definitions xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:tns="http://tempuri.org/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" targetNamespace="http://tempuri.org/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
-  <wsdl:types>
-    <s:schema elementFormDefault="qualified" targetNamespace="http://tempuri.org/">
-      <s:element name="JPushAction">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="0" maxOccurs="1" name="frame" type="s:string" />
-            <s:element minOccurs="0" maxOccurs="1" name="message" type="s:string" />
-            <s:element minOccurs="0" maxOccurs="1" name="alarm" type="s:string" />
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:element name="JPushActionResponse">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="1" maxOccurs="1" name="JPushActionResult" type="s:long" />
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:element name="DeviceManage">
-        <s:complexType />
-      </s:element>
-      <s:element name="DeviceManageResponse">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="0" maxOccurs="1" name="DeviceManageResult" type="tns:ArrayOfDeviceInfo" />
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:complexType name="ArrayOfDeviceInfo">
-        <s:sequence>
-          <s:element minOccurs="0" maxOccurs="unbounded" name="DeviceInfo" nillable="true" type="tns:DeviceInfo" />
-        </s:sequence>
-      </s:complexType>
-      <s:complexType name="DeviceInfo">
-        <s:sequence>
-          <s:element minOccurs="0" maxOccurs="1" name="RegistrationID" type="s:string" />
-          <s:element minOccurs="0" maxOccurs="1" name="Tag" type="tns:ArrayOfString" />
-          <s:element minOccurs="0" maxOccurs="1" name="Alias" type="s:string" />
-        </s:sequence>
-      </s:complexType>
-      <s:complexType name="ArrayOfString">
-        <s:sequence>
-          <s:element minOccurs="0" maxOccurs="unbounded" name="string" nillable="true" type="s:string" />
-        </s:sequence>
-      </s:complexType>
-      <s:element name="ILiftAddRegID">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="0" maxOccurs="1" name="RegId" type="s:string" />
-            <s:element minOccurs="0" maxOccurs="1" name="Alias" type="s:string" />
-            <s:element minOccurs="0" maxOccurs="1" name="Email" type="s:string" />
-            <s:element minOccurs="0" maxOccurs="1" name="UserMode" type="s:string" />
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:element name="ILiftAddRegIDResponse">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="0" maxOccurs="1" name="ILiftAddRegIDResult" type="s:string" />
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:element name="AddMsg">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="0" maxOccurs="1" name="regid" type="s:string" />
-            <s:element minOccurs="0" maxOccurs="1" name="msgtype" type="s:string" />
-            <s:element minOccurs="0" maxOccurs="1" name="msgcontent" type="s:string" />
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:element name="AddMsgResponse">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="1" maxOccurs="1" name="AddMsgResult" type="s:int" />
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:element name="DeleteToken_Push">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="0" maxOccurs="1" name="regid" type="s:string" />
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:element name="DeleteToken_PushResponse">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="1" maxOccurs="1" name="DeleteToken_PushResult" type="s:int" />
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:element name="AddRegId">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="0" maxOccurs="1" name="RegId" type="s:string" />
-            <s:element minOccurs="0" maxOccurs="1" name="Alias" type="s:string" />
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:element name="AddRegIdResponse">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="1" maxOccurs="1" name="AddRegIdResult" type="s:int" />
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:element name="VerifySoapHeader" type="tns:VerifySoapHeader" />
-      <s:complexType name="VerifySoapHeader">
-        <s:sequence>
-          <s:element minOccurs="0" maxOccurs="1" name="Email" type="s:string" />
-          <s:element minOccurs="1" maxOccurs="1" name="UserMode" type="s:int" />
-        </s:sequence>
-        <s:anyAttribute />
-      </s:complexType>
-      <s:element name="MsgList">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="0" maxOccurs="1" name="regid" type="s:string" />
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:element name="MsgListResponse">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="0" maxOccurs="1" name="MsgListResult" type="tns:ArrayOfMsgList" />
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:complexType name="ArrayOfMsgList">
-        <s:sequence>
-          <s:element minOccurs="0" maxOccurs="unbounded" name="MsgList" nillable="true" type="tns:MsgList" />
-        </s:sequence>
-      </s:complexType>
-      <s:complexType name="MsgList">
-        <s:sequence>
-          <s:element minOccurs="1" maxOccurs="1" name="MsgID" type="s:long" />
-          <s:element minOccurs="0" maxOccurs="1" name="Msg" type="s:string" />
-          <s:element minOccurs="0" maxOccurs="1" name="MsgType" type="s:string" />
-          <s:element minOccurs="1" maxOccurs="1" name="MsgTime" type="s:dateTime" />
-        </s:sequence>
-      </s:complexType>
-      <s:element name="long" type="s:long" />
-      <s:element name="ArrayOfDeviceInfo" nillable="true" type="tns:ArrayOfDeviceInfo" />
-      <s:element name="string" nillable="true" type="s:string" />
-      <s:element name="int" type="s:int" />
-      <s:element name="ArrayOfMsgList" nillable="true" type="tns:ArrayOfMsgList" />
-    </s:schema>
-  </wsdl:types>
-  <wsdl:message name="JPushActionSoapIn">
-    <wsdl:part name="parameters" element="tns:JPushAction" />
-  </wsdl:message>
-  <wsdl:message name="JPushActionSoapOut">
-    <wsdl:part name="parameters" element="tns:JPushActionResponse" />
-  </wsdl:message>
-  <wsdl:message name="DeviceManageSoapIn">
-    <wsdl:part name="parameters" element="tns:DeviceManage" />
-  </wsdl:message>
-  <wsdl:message name="DeviceManageSoapOut">
-    <wsdl:part name="parameters" element="tns:DeviceManageResponse" />
-  </wsdl:message>
-  <wsdl:message name="ILiftAddRegIDSoapIn">
-    <wsdl:part name="parameters" element="tns:ILiftAddRegID" />
-  </wsdl:message>
-  <wsdl:message name="ILiftAddRegIDSoapOut">
-    <wsdl:part name="parameters" element="tns:ILiftAddRegIDResponse" />
-  </wsdl:message>
-  <wsdl:message name="AddMsgSoapIn">
-    <wsdl:part name="parameters" element="tns:AddMsg" />
-  </wsdl:message>
-  <wsdl:message name="AddMsgSoapOut">
-    <wsdl:part name="parameters" element="tns:AddMsgResponse" />
-  </wsdl:message>
-  <wsdl:message name="DeleteToken_PushSoapIn">
-    <wsdl:part name="parameters" element="tns:DeleteToken_Push" />
-  </wsdl:message>
-  <wsdl:message name="DeleteToken_PushSoapOut">
-    <wsdl:part name="parameters" element="tns:DeleteToken_PushResponse" />
-  </wsdl:message>
-  <wsdl:message name="AddRegIdSoapIn">
-    <wsdl:part name="parameters" element="tns:AddRegId" />
-  </wsdl:message>
-  <wsdl:message name="AddRegIdSoapOut">
-    <wsdl:part name="parameters" element="tns:AddRegIdResponse" />
-  </wsdl:message>
-  <wsdl:message name="AddRegIdVerifySoapHeader">
-    <wsdl:part name="VerifySoapHeader" element="tns:VerifySoapHeader" />
-  </wsdl:message>
-  <wsdl:message name="MsgListSoapIn">
-    <wsdl:part name="parameters" element="tns:MsgList" />
-  </wsdl:message>
-  <wsdl:message name="MsgListSoapOut">
-    <wsdl:part name="parameters" element="tns:MsgListResponse" />
-  </wsdl:message>
-  <wsdl:message name="JPushActionHttpGetIn">
-    <wsdl:part name="frame" type="s:string" />
-    <wsdl:part name="message" type="s:string" />
-    <wsdl:part name="alarm" type="s:string" />
-  </wsdl:message>
-  <wsdl:message name="JPushActionHttpGetOut">
-    <wsdl:part name="Body" element="tns:long" />
-  </wsdl:message>
-  <wsdl:message name="DeviceManageHttpGetIn" />
-  <wsdl:message name="DeviceManageHttpGetOut">
-    <wsdl:part name="Body" element="tns:ArrayOfDeviceInfo" />
-  </wsdl:message>
-  <wsdl:message name="ILiftAddRegIDHttpGetIn">
-    <wsdl:part name="RegId" type="s:string" />
-    <wsdl:part name="Alias" type="s:string" />
-    <wsdl:part name="Email" type="s:string" />
-    <wsdl:part name="UserMode" type="s:string" />
-  </wsdl:message>
-  <wsdl:message name="ILiftAddRegIDHttpGetOut">
-    <wsdl:part name="Body" element="tns:string" />
-  </wsdl:message>
-  <wsdl:message name="AddMsgHttpGetIn">
-    <wsdl:part name="regid" type="s:string" />
-    <wsdl:part name="msgtype" type="s:string" />
-    <wsdl:part name="msgcontent" type="s:string" />
-  </wsdl:message>
-  <wsdl:message name="AddMsgHttpGetOut">
-    <wsdl:part name="Body" element="tns:int" />
-  </wsdl:message>
-  <wsdl:message name="DeleteToken_PushHttpGetIn">
-    <wsdl:part name="regid" type="s:string" />
-  </wsdl:message>
-  <wsdl:message name="DeleteToken_PushHttpGetOut">
-    <wsdl:part name="Body" element="tns:int" />
-  </wsdl:message>
-  <wsdl:message name="AddRegIdHttpGetIn">
-    <wsdl:part name="RegId" type="s:string" />
-    <wsdl:part name="Alias" type="s:string" />
-  </wsdl:message>
-  <wsdl:message name="AddRegIdHttpGetOut">
-    <wsdl:part name="Body" element="tns:int" />
-  </wsdl:message>
-  <wsdl:message name="MsgListHttpGetIn">
-    <wsdl:part name="regid" type="s:string" />
-  </wsdl:message>
-  <wsdl:message name="MsgListHttpGetOut">
-    <wsdl:part name="Body" element="tns:ArrayOfMsgList" />
-  </wsdl:message>
-  <wsdl:message name="JPushActionHttpPostIn">
-    <wsdl:part name="frame" type="s:string" />
-    <wsdl:part name="message" type="s:string" />
-    <wsdl:part name="alarm" type="s:string" />
-  </wsdl:message>
-  <wsdl:message name="JPushActionHttpPostOut">
-    <wsdl:part name="Body" element="tns:long" />
-  </wsdl:message>
-  <wsdl:message name="DeviceManageHttpPostIn" />
-  <wsdl:message name="DeviceManageHttpPostOut">
-    <wsdl:part name="Body" element="tns:ArrayOfDeviceInfo" />
-  </wsdl:message>
-  <wsdl:message name="ILiftAddRegIDHttpPostIn">
-    <wsdl:part name="RegId" type="s:string" />
-    <wsdl:part name="Alias" type="s:string" />
-    <wsdl:part name="Email" type="s:string" />
-    <wsdl:part name="UserMode" type="s:string" />
-  </wsdl:message>
-  <wsdl:message name="ILiftAddRegIDHttpPostOut">
-    <wsdl:part name="Body" element="tns:string" />
-  </wsdl:message>
-  <wsdl:message name="AddMsgHttpPostIn">
-    <wsdl:part name="regid" type="s:string" />
-    <wsdl:part name="msgtype" type="s:string" />
-    <wsdl:part name="msgcontent" type="s:string" />
-  </wsdl:message>
-  <wsdl:message name="AddMsgHttpPostOut">
-    <wsdl:part name="Body" element="tns:int" />
-  </wsdl:message>
-  <wsdl:message name="DeleteToken_PushHttpPostIn">
-    <wsdl:part name="regid" type="s:string" />
-  </wsdl:message>
-  <wsdl:message name="DeleteToken_PushHttpPostOut">
-    <wsdl:part name="Body" element="tns:int" />
-  </wsdl:message>
-  <wsdl:message name="AddRegIdHttpPostIn">
-    <wsdl:part name="RegId" type="s:string" />
-    <wsdl:part name="Alias" type="s:string" />
-  </wsdl:message>
-  <wsdl:message name="AddRegIdHttpPostOut">
-    <wsdl:part name="Body" element="tns:int" />
-  </wsdl:message>
-  <wsdl:message name="MsgListHttpPostIn">
-    <wsdl:part name="regid" type="s:string" />
-  </wsdl:message>
-  <wsdl:message name="MsgListHttpPostOut">
-    <wsdl:part name="Body" element="tns:ArrayOfMsgList" />
-  </wsdl:message>
-  <wsdl:portType name="WebServicePushSoap">
-    <wsdl:operation name="JPushAction">
-      <wsdl:input message="tns:JPushActionSoapIn" />
-      <wsdl:output message="tns:JPushActionSoapOut" />
-    </wsdl:operation>
-    <wsdl:operation name="DeviceManage">
-      <wsdl:input message="tns:DeviceManageSoapIn" />
-      <wsdl:output message="tns:DeviceManageSoapOut" />
-    </wsdl:operation>
-    <wsdl:operation name="ILiftAddRegID">
-      <wsdl:input message="tns:ILiftAddRegIDSoapIn" />
-      <wsdl:output message="tns:ILiftAddRegIDSoapOut" />
-    </wsdl:operation>
-    <wsdl:operation name="AddMsg">
-      <wsdl:input message="tns:AddMsgSoapIn" />
-      <wsdl:output message="tns:AddMsgSoapOut" />
-    </wsdl:operation>
-    <wsdl:operation name="DeleteToken_Push">
-      <wsdl:input message="tns:DeleteToken_PushSoapIn" />
-      <wsdl:output message="tns:DeleteToken_PushSoapOut" />
-    </wsdl:operation>
-    <wsdl:operation name="AddRegId">
-      <wsdl:input message="tns:AddRegIdSoapIn" />
-      <wsdl:output message="tns:AddRegIdSoapOut" />
-    </wsdl:operation>
-    <wsdl:operation name="MsgList">
-      <wsdl:input message="tns:MsgListSoapIn" />
-      <wsdl:output message="tns:MsgListSoapOut" />
-    </wsdl:operation>
-  </wsdl:portType>
-  <wsdl:portType name="WebServicePushHttpGet">
-    <wsdl:operation name="JPushAction">
-      <wsdl:input message="tns:JPushActionHttpGetIn" />
-      <wsdl:output message="tns:JPushActionHttpGetOut" />
-    </wsdl:operation>
-    <wsdl:operation name="DeviceManage">
-      <wsdl:input message="tns:DeviceManageHttpGetIn" />
-      <wsdl:output message="tns:DeviceManageHttpGetOut" />
-    </wsdl:operation>
-    <wsdl:operation name="ILiftAddRegID">
-      <wsdl:input message="tns:ILiftAddRegIDHttpGetIn" />
-      <wsdl:output message="tns:ILiftAddRegIDHttpGetOut" />
-    </wsdl:operation>
-    <wsdl:operation name="AddMsg">
-      <wsdl:input message="tns:AddMsgHttpGetIn" />
-      <wsdl:output message="tns:AddMsgHttpGetOut" />
-    </wsdl:operation>
-    <wsdl:operation name="DeleteToken_Push">
-      <wsdl:input message="tns:DeleteToken_PushHttpGetIn" />
-      <wsdl:output message="tns:DeleteToken_PushHttpGetOut" />
-    </wsdl:operation>
-    <wsdl:operation name="AddRegId">
-      <wsdl:input message="tns:AddRegIdHttpGetIn" />
-      <wsdl:output message="tns:AddRegIdHttpGetOut" />
-    </wsdl:operation>
-    <wsdl:operation name="MsgList">
-      <wsdl:input message="tns:MsgListHttpGetIn" />
-      <wsdl:output message="tns:MsgListHttpGetOut" />
-    </wsdl:operation>
-  </wsdl:portType>
-  <wsdl:portType name="WebServicePushHttpPost">
-    <wsdl:operation name="JPushAction">
-      <wsdl:input message="tns:JPushActionHttpPostIn" />
-      <wsdl:output message="tns:JPushActionHttpPostOut" />
-    </wsdl:operation>
-    <wsdl:operation name="DeviceManage">
-      <wsdl:input message="tns:DeviceManageHttpPostIn" />
-      <wsdl:output message="tns:DeviceManageHttpPostOut" />
-    </wsdl:operation>
-    <wsdl:operation name="ILiftAddRegID">
-      <wsdl:input message="tns:ILiftAddRegIDHttpPostIn" />
-      <wsdl:output message="tns:ILiftAddRegIDHttpPostOut" />
-    </wsdl:operation>
-    <wsdl:operation name="AddMsg">
-      <wsdl:input message="tns:AddMsgHttpPostIn" />
-      <wsdl:output message="tns:AddMsgHttpPostOut" />
-    </wsdl:operation>
-    <wsdl:operation name="DeleteToken_Push">
-      <wsdl:input message="tns:DeleteToken_PushHttpPostIn" />
-      <wsdl:output message="tns:DeleteToken_PushHttpPostOut" />
-    </wsdl:operation>
-    <wsdl:operation name="AddRegId">
-      <wsdl:input message="tns:AddRegIdHttpPostIn" />
-      <wsdl:output message="tns:AddRegIdHttpPostOut" />
-    </wsdl:operation>
-    <wsdl:operation name="MsgList">
-      <wsdl:input message="tns:MsgListHttpPostIn" />
-      <wsdl:output message="tns:MsgListHttpPostOut" />
-    </wsdl:operation>
-  </wsdl:portType>
-  <wsdl:binding name="WebServicePushSoap" type="tns:WebServicePushSoap">
-    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
-    <wsdl:operation name="JPushAction">
-      <soap:operation soapAction="http://tempuri.org/JPushAction" style="document" />
-      <wsdl:input>
-        <soap:body use="literal" />
-      </wsdl:input>
-      <wsdl:output>
-        <soap:body use="literal" />
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="DeviceManage">
-      <soap:operation soapAction="http://tempuri.org/DeviceManage" style="document" />
-      <wsdl:input>
-        <soap:body use="literal" />
-      </wsdl:input>
-      <wsdl:output>
-        <soap:body use="literal" />
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="ILiftAddRegID">
-      <soap:operation soapAction="http://tempuri.org/ILiftAddRegID" style="document" />
-      <wsdl:input>
-        <soap:body use="literal" />
-      </wsdl:input>
-      <wsdl:output>
-        <soap:body use="literal" />
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="AddMsg">
-      <soap:operation soapAction="http://tempuri.org/AddMsg" style="document" />
-      <wsdl:input>
-        <soap:body use="literal" />
-      </wsdl:input>
-      <wsdl:output>
-        <soap:body use="literal" />
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="DeleteToken_Push">
-      <soap:operation soapAction="http://tempuri.org/DeleteToken_Push" style="document" />
-      <wsdl:input>
-        <soap:body use="literal" />
-      </wsdl:input>
-      <wsdl:output>
-        <soap:body use="literal" />
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="AddRegId">
-      <soap:operation soapAction="http://tempuri.org/AddRegId" style="document" />
-      <wsdl:input>
-        <soap:body use="literal" />
-        <soap:header message="tns:AddRegIdVerifySoapHeader" part="VerifySoapHeader" use="literal" />
-      </wsdl:input>
-      <wsdl:output>
-        <soap:body use="literal" />
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="MsgList">
-      <soap:operation soapAction="http://tempuri.org/MsgList" style="document" />
-      <wsdl:input>
-        <soap:body use="literal" />
-      </wsdl:input>
-      <wsdl:output>
-        <soap:body use="literal" />
-      </wsdl:output>
-    </wsdl:operation>
-  </wsdl:binding>
-  <wsdl:binding name="WebServicePushSoap12" type="tns:WebServicePushSoap">
-    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
-    <wsdl:operation name="JPushAction">
-      <soap12:operation soapAction="http://tempuri.org/JPushAction" style="document" />
-      <wsdl:input>
-        <soap12:body use="literal" />
-      </wsdl:input>
-      <wsdl:output>
-        <soap12:body use="literal" />
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="DeviceManage">
-      <soap12:operation soapAction="http://tempuri.org/DeviceManage" style="document" />
-      <wsdl:input>
-        <soap12:body use="literal" />
-      </wsdl:input>
-      <wsdl:output>
-        <soap12:body use="literal" />
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="ILiftAddRegID">
-      <soap12:operation soapAction="http://tempuri.org/ILiftAddRegID" style="document" />
-      <wsdl:input>
-        <soap12:body use="literal" />
-      </wsdl:input>
-      <wsdl:output>
-        <soap12:body use="literal" />
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="AddMsg">
-      <soap12:operation soapAction="http://tempuri.org/AddMsg" style="document" />
-      <wsdl:input>
-        <soap12:body use="literal" />
-      </wsdl:input>
-      <wsdl:output>
-        <soap12:body use="literal" />
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="DeleteToken_Push">
-      <soap12:operation soapAction="http://tempuri.org/DeleteToken_Push" style="document" />
-      <wsdl:input>
-        <soap12:body use="literal" />
-      </wsdl:input>
-      <wsdl:output>
-        <soap12:body use="literal" />
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="AddRegId">
-      <soap12:operation soapAction="http://tempuri.org/AddRegId" style="document" />
-      <wsdl:input>
-        <soap12:body use="literal" />
-        <soap12:header message="tns:AddRegIdVerifySoapHeader" part="VerifySoapHeader" use="literal" />
-      </wsdl:input>
-      <wsdl:output>
-        <soap12:body use="literal" />
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="MsgList">
-      <soap12:operation soapAction="http://tempuri.org/MsgList" style="document" />
-      <wsdl:input>
-        <soap12:body use="literal" />
-      </wsdl:input>
-      <wsdl:output>
-        <soap12:body use="literal" />
-      </wsdl:output>
-    </wsdl:operation>
-  </wsdl:binding>
-  <wsdl:binding name="WebServicePushHttpGet" type="tns:WebServicePushHttpGet">
-    <http:binding verb="GET" />
-    <wsdl:operation name="JPushAction">
-      <http:operation location="/JPushAction" />
-      <wsdl:input>
-        <http:urlEncoded />
-      </wsdl:input>
-      <wsdl:output>
-        <mime:mimeXml part="Body" />
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="DeviceManage">
-      <http:operation location="/DeviceManage" />
-      <wsdl:input>
-        <http:urlEncoded />
-      </wsdl:input>
-      <wsdl:output>
-        <mime:mimeXml part="Body" />
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="ILiftAddRegID">
-      <http:operation location="/ILiftAddRegID" />
-      <wsdl:input>
-        <http:urlEncoded />
-      </wsdl:input>
-      <wsdl:output>
-        <mime:mimeXml part="Body" />
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="AddMsg">
-      <http:operation location="/AddMsg" />
-      <wsdl:input>
-        <http:urlEncoded />
-      </wsdl:input>
-      <wsdl:output>
-        <mime:mimeXml part="Body" />
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="DeleteToken_Push">
-      <http:operation location="/DeleteToken_Push" />
-      <wsdl:input>
-        <http:urlEncoded />
-      </wsdl:input>
-      <wsdl:output>
-        <mime:mimeXml part="Body" />
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="AddRegId">
-      <http:operation location="/AddRegId" />
-      <wsdl:input>
-        <http:urlEncoded />
-      </wsdl:input>
-      <wsdl:output>
-        <mime:mimeXml part="Body" />
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="MsgList">
-      <http:operation location="/MsgList" />
-      <wsdl:input>
-        <http:urlEncoded />
-      </wsdl:input>
-      <wsdl:output>
-        <mime:mimeXml part="Body" />
-      </wsdl:output>
-    </wsdl:operation>
-  </wsdl:binding>
-  <wsdl:binding name="WebServicePushHttpPost" type="tns:WebServicePushHttpPost">
-    <http:binding verb="POST" />
-    <wsdl:operation name="JPushAction">
-      <http:operation location="/JPushAction" />
-      <wsdl:input>
-        <mime:content type="application/x-www-form-urlencoded" />
-      </wsdl:input>
-      <wsdl:output>
-        <mime:mimeXml part="Body" />
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="DeviceManage">
-      <http:operation location="/DeviceManage" />
-      <wsdl:input>
-        <mime:content type="application/x-www-form-urlencoded" />
-      </wsdl:input>
-      <wsdl:output>
-        <mime:mimeXml part="Body" />
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="ILiftAddRegID">
-      <http:operation location="/ILiftAddRegID" />
-      <wsdl:input>
-        <mime:content type="application/x-www-form-urlencoded" />
-      </wsdl:input>
-      <wsdl:output>
-        <mime:mimeXml part="Body" />
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="AddMsg">
-      <http:operation location="/AddMsg" />
-      <wsdl:input>
-        <mime:content type="application/x-www-form-urlencoded" />
-      </wsdl:input>
-      <wsdl:output>
-        <mime:mimeXml part="Body" />
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="DeleteToken_Push">
-      <http:operation location="/DeleteToken_Push" />
-      <wsdl:input>
-        <mime:content type="application/x-www-form-urlencoded" />
-      </wsdl:input>
-      <wsdl:output>
-        <mime:mimeXml part="Body" />
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="AddRegId">
-      <http:operation location="/AddRegId" />
-      <wsdl:input>
-        <mime:content type="application/x-www-form-urlencoded" />
-      </wsdl:input>
-      <wsdl:output>
-        <mime:mimeXml part="Body" />
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="MsgList">
-      <http:operation location="/MsgList" />
-      <wsdl:input>
-        <mime:content type="application/x-www-form-urlencoded" />
-      </wsdl:input>
-      <wsdl:output>
-        <mime:mimeXml part="Body" />
-      </wsdl:output>
-    </wsdl:operation>
-  </wsdl:binding>
-  <wsdl:service name="WebServicePush">
-    <wsdl:port name="WebServicePushSoap" binding="tns:WebServicePushSoap">
-      <soap:address location="http://service.hdlcontrol.com:8000/WebService/WebServicePush.asmx" />
-    </wsdl:port>
-    <wsdl:port name="WebServicePushSoap12" binding="tns:WebServicePushSoap12">
-      <soap12:address location="http://service.hdlcontrol.com:8000/WebService/WebServicePush.asmx" />
-    </wsdl:port>
-    <wsdl:port name="WebServicePushHttpGet" binding="tns:WebServicePushHttpGet">
-      <http:address location="http://service.hdlcontrol.com:8000/WebService/WebServicePush.asmx" />
-    </wsdl:port>
-    <wsdl:port name="WebServicePushHttpPost" binding="tns:WebServicePushHttpPost">
-      <http:address location="http://service.hdlcontrol.com:8000/WebService/WebServicePush.asmx" />
-    </wsdl:port>
-  </wsdl:service>
-</wsdl:definitions>
\ No newline at end of file
diff --git a/Crabtree/EzvizLib.ios/ApiDefinition.cs b/Crabtree/EzvizLib.ios/ApiDefinition.cs
deleted file mode 100644
index f969a60..0000000
--- a/Crabtree/EzvizLib.ios/ApiDefinition.cs
+++ /dev/null
@@ -1,254 +0,0 @@
-锘縰sing System;
-
-using UIKit;
-using Foundation;
-using ObjCRuntime;
-using CoreGraphics;
-
-
-namespace EZMonitor
-{
-    using Foundation;
-    using ObjCRuntime;
-    using Com.Hdl.ON;
-
-    // @interface DeviceInfo : NSObject
-    [BaseType (typeof (NSObject))]
-    interface DeviceInfo
-    {
-        // @property (nonatomic, strong) NSString * DeviceName;
-        [Export ("DeviceName", ArgumentSemantic.Strong)]
-        string DeviceName { get; set; }
-
-        // @property (nonatomic, strong) NSString * DeviceSerial;
-        [Export ("DeviceSerial", ArgumentSemantic.Strong)]
-        string DeviceSerial { get; set; }
-
-        // @property (assign, nonatomic) int DeviceNum;
-        [Export ("DeviceNum")]
-        int DeviceNum { get; set; }
-
-        // @property (assign, nonatomic) int DeviceCameraInfoListSize;
-        [Export ("DeviceCameraInfoListSize")]
-        int DeviceCameraInfoListSize { get; set; }
-
-        // @property (nonatomic, strong) NSObject * RealObject;
-        [Export ("RealObject", ArgumentSemantic.Strong)]
-        NSObject RealObject { get; set; }
-
-        // @property (nonatomic, strong) NSArray * cameraInfo;
-        [Export ("cameraInfo", ArgumentSemantic.Strong)]
-        //[Verify (StronglyTypedNSArray)]
-        NSObject [] CameraInfo { get; set; }
-    }
-
-    // @interface Ezviz : NSObject
-    [BaseType (typeof (NSObject))]
-    interface Ezviz
-    {
-
-        // +(void)libInit;
-        [Static]
-        [Export ("libInit")]
-        void LibInit ();
-
-        [Static]
-        [Export ("readPath:")]
-        void ReadPath (string path);
-
-    }
-
-   
-
-}
-
-
-namespace Com.Hdl.ON
-{
-
-    using Foundation;
-    using ObjCRuntime;
-    //using Com.Hdl.ON;
-
-
-    // @interface CommonList : NSObject
-    [BaseType (typeof (NSObject))]
-    interface CommonList
-    {
-
-        // +(void)MonitorPushMessage:(NSString *)MonitorType ID:(NSString *)ID;
-        [Static]
-        [Export ("MonitorPushMessage:ID:")]
-        void MonitorPushMessage (string MonitorType, string ID); 
-
-        [Static]
-        [Export ("CameraList")]
-        void CameraList ();
-
-        //// +(NSMutableDictionary *)getMonitorDatas;
-        //[Static]
-        //[Export ("getMonitorDatas")]
-        ////[Verify (MethodToProperty)]
-        //NSMutableArray MonitorScenePathList ();
-
-        // +(NSMutableArray<MonitorData *> *)getMonitorDatas;
-        [Static]
-        [Export ("getMonitorDatas")]
-        //[Verify (MethodToProperty)]
-        NSMutableArray monitorScenePathList { get; }
-
-        // +(ICommon *)EZGetICommon;
-        [Static]
-        [Export ("EZICommon")]
-        //[Verify (MethodToProperty)]
-        ICommon EZICommon ();
-
-        // +(NSArray *)getDeviceList:(int)pageIndex :(int)pageSize;
-        [Static]
-        [Export ("getDeviceList::")]
-        //[Verify (StronglyTypedNSArray)]
-        EZMonitor.DeviceInfo [] GetDeviceList (int pageIndex, int pageSize);
-
-        // +(void)addEzvizMonitor;
-        [Static]
-        [Export ("addEzvizMonitor")]
-        void AddEzvizMonitor ();
-
-        // +(void)Play:(NSObject *)deviceInfo;
-        [Static]
-        [Export ("Play:")]
-        void Play (NSObject deviceInfo);
-
-        // +(void)setting:(NSObject *)deviceInfo;
-        [Static]
-        [Export ("setting:")]
-        void Setting (NSObject deviceInfo);
-
-        // +(void)playBackVideo:(NSObject *)deviceInfo;
-        [Static]
-        [Export ("playBackVideo:")]
-        void PlayBackVideo (NSObject deviceInfo);
-
-        //go2EZvizMonitor
-        [Static]
-        [Export ("go2EZvizMonitor")]
-        void Go2EZvizMonitor ();
-
-        //login
-        [Static]
-        [Export ("login")]
-        void login ();
-    }
-    // @interface MonitorData : NSObject
-   
-
-    // typedef void (^dd)(MonitorData *);
-    delegate void dd (MonitorData arg0);
-
-    // @interface ICommon : NSObject
-    [BaseType (typeof (NSObject))]
-    interface ICommon
-    {
-        // @property (copy, nonatomic) dd MonitorInfoChanged;
-        [Export ("MonitorSceneData", ArgumentSemantic.Copy)]
-        dd MonitorSceneData { get; set; }
-
-        [Export ("ControlMonitorScene", ArgumentSemantic.Copy)]
-        dd ControlMonitorScene { get; set; }
-
-
-    }
-
-    [BaseType (typeof (NSObject))]
-    interface MonitorData
-    {
-        // @property (nonatomic, strong) NSString * Remark;
-        [Export ("Remark", ArgumentSemantic.Strong)]
-        string Remark { get; set; }
-
-        // @property (nonatomic, strong) NSString * ControlType;
-        [Export ("ControlType", ArgumentSemantic.Strong)]
-        string ControlType { get; set; }
-
-        // @property (nonatomic, strong) NSString * SelectedImagePath;
-        [Export ("SelectedImagePath", ArgumentSemantic.Strong)]
-        string SelectedImagePath { get; set; }
-
-        // @property (nonatomic, strong) NSString * ImagePath;
-        [Export ("ImagePath", ArgumentSemantic.Strong)]
-        string ImagePath { get; set; }
-
-        // @property (nonatomic, strong) NSString * FileName;
-        [Export ("FileName", ArgumentSemantic.Strong)]
-        string FileName { get; set; }
-
-        // @property (nonatomic, strong) NSString * Type;
-        [Export ("Type", ArgumentSemantic.Strong)]
-        string Type { get; set; }
-
-        // @property (nonatomic, strong) NSString * ID;
-        [Export ("ID", ArgumentSemantic.Strong)]
-        string Id { get; set; }
-    } 
-
-
-
-    // The first step to creating a binding is to add your native library ("libNativeLibrary.a")
-    // to the project by right-clicking (or Control-clicking) the folder containing this source
-    // file and clicking "Add files..." and then simply select the native library (or libraries)
-    // that you want to bind.
-    //
-    // When you do that, you'll notice that MonoDevelop generates a code-behind file for each
-    // native library which will contain a [LinkWith] attribute. MonoDevelop auto-detects the
-    // architectures that the native library supports and fills in that information for you,
-    // however, it cannot auto-detect any Frameworks or other system libraries that the
-    // native library may depend on, so you'll need to fill in that information yourself.
-    //
-    // Once you've done that, you're ready to move on to binding the API...
-    //
-    //
-    // Here is where you'd define your API definition for the native Objective-C library.
-    //
-    // For example, to bind the following Objective-C class:
-    //
-    //     @interface Widget : NSObject {
-    //     }
-    //
-    // The C# binding would look like this:
-    //
-    //     [BaseType (typeof (NSObject))]
-    //     interface Widget {
-    //     }
-    //
-    // To bind Objective-C properties, such as:
-    //
-    //     @property (nonatomic, readwrite, assign) CGPoint center;
-    //
-    // You would add a property definition in the C# interface like so:
-    //
-    //     [Export ("center")]
-    //     CGPoint Center { get; set; }
-    //
-    // To bind an Objective-C method, such as:
-    //
-    //     -(void) doSomething:(NSObject *)object atIndex:(NSInteger)index;
-    //
-    // You would add a method definition to the C# interface like so:
-    //
-    //     [Export ("doSomething:atIndex:")]
-    //     void DoSomething (NSObject object, int index);
-    //
-    // Objective-C "constructors" such as:
-    //
-    //     -(id)initWithElmo:(ElmoMuppet *)elmo;
-    //
-    // Can be bound as:
-    //
-    //     [Export ("initWithElmo:")]
-    //     IntPtr Constructor (ElmoMuppet elmo);
-    //
-    // For more information, see http://developer.xamarin.com/guides/ios/advanced_topics/binding_objective-c/
-    //
-}
-
-
diff --git a/Crabtree/EzvizLib.ios/BaseTypeAttribute.cs b/Crabtree/EzvizLib.ios/BaseTypeAttribute.cs
deleted file mode 100644
index 2207838..0000000
--- a/Crabtree/EzvizLib.ios/BaseTypeAttribute.cs
+++ /dev/null
@@ -1,8 +0,0 @@
-using System;
-
-namespace Com.Hdl.ON
-{
-	class BaseTypeAttribute : Attribute
-	{
-	}
-}
\ No newline at end of file
diff --git a/Crabtree/EzvizLib.ios/EzvizLib.ios.csproj b/Crabtree/EzvizLib.ios/EzvizLib.ios.csproj
deleted file mode 100644
index 88dc0bc..0000000
--- a/Crabtree/EzvizLib.ios/EzvizLib.ios.csproj
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProjectGuid>{25AE4CD7-C9E2-42FE-B7D6-80E76BA13491}</ProjectGuid>
-    <ProjectTypeGuids>{8FFB629D-F513-41CE-95D2-7ECE97B6EEEC};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
-    <OutputType>Library</OutputType>
-    <RootNamespace>EzvizLib.ios</RootNamespace>
-    <AssemblyName>EzvizLib.ios</AssemblyName>
-    <IPhoneResourcePrefix>Resources</IPhoneResourcePrefix>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\Debug</OutputPath>
-    <DefineConstants>DEBUG;</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <Optimize>true</Optimize>
-    <OutputPath>bin\Release</OutputPath>
-    <DefineConstants></DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="System" />
-    <Reference Include="Xamarin.iOS" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="Properties\AssemblyInfo.cs" />
-    <Compile Include="BaseTypeAttribute.cs" />
-    <Compile Include="StaticAttribute.cs" />
-    <Compile Include="VerifyAttribute.cs" />
-    <Compile Include="libEzviz.linkwith.cs">
-      <DependentUpon>libEzviz.a</DependentUpon>
-    </Compile>
-  </ItemGroup>
-  <ItemGroup>
-    <ObjcBindingApiDefinition Include="ApiDefinition.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <ObjcBindingCoreSource Include="Structs.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <NativeReference Include="..\..\..\libbz2.1.0.tbd">
-      <Kind>Static</Kind>
-      <SmartLink>False</SmartLink>
-    </NativeReference>
-    <NativeReference Include="..\..\..\libc++.1.tbd">
-      <Kind>Static</Kind>
-      <SmartLink>False</SmartLink>
-    </NativeReference>
-    <NativeReference Include="..\..\..\libiconv.2.tbd">
-      <Kind>Static</Kind>
-      <SmartLink>False</SmartLink>
-    </NativeReference>
-    <NativeReference Include="..\..\..\libstdc++.6.0.9.tbd">
-      <Kind>Static</Kind>
-      <SmartLink>False</SmartLink>
-    </NativeReference>
-  </ItemGroup>
-  <ItemGroup>
-    <ObjcBindingNativeLibrary Include="libEzviz.a" />
-  </ItemGroup>
-  <Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.ObjCBinding.CSharp.targets" />
-</Project>
\ No newline at end of file
diff --git a/Crabtree/EzvizLib.ios/Properties/AssemblyInfo.cs b/Crabtree/EzvizLib.ios/Properties/AssemblyInfo.cs
deleted file mode 100644
index ad602e8..0000000
--- a/Crabtree/EzvizLib.ios/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,34 +0,0 @@
-锘縰sing System.Reflection;
-using System.Runtime.CompilerServices;
-
-using Foundation;
-
-// This attribute allows you to mark your assemblies as 鈥渟afe to link鈥�. 
-// When the attribute is present, the linker鈥攊f enabled鈥攚ill process the assembly 
-// even if you鈥檙e using the 鈥淟ink SDK assemblies only鈥� option, which is the default for device builds.
-
-[assembly: LinkerSafe]
-
-// Information about this assembly is defined by the following attributes. 
-// Change them to the values specific to your project.
-
-[assembly: AssemblyTitle ("EzvizLib.ios")]
-[assembly: AssemblyDescription ("")]
-[assembly: AssemblyConfiguration ("")]
-[assembly: AssemblyCompany ("")]
-[assembly: AssemblyProduct ("")]
-[assembly: AssemblyCopyright ("(c) hxb")]
-[assembly: AssemblyTrademark ("")]
-[assembly: AssemblyCulture ("")]
-
-// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
-// The form "{Major}.{Minor}.*" will automatically update the build and revision,
-// and "{Major}.{Minor}.{Build}.*" will update just the revision.
-
-[assembly: AssemblyVersion ("1.0.*")]
-
-// The following attributes are used to specify the signing key for the assembly, 
-// if desired. See the Mono documentation for more information about signing.
-
-//[assembly: AssemblyDelaySign(false)]
-//[assembly: AssemblyKeyFile("")]
diff --git a/Crabtree/EzvizLib.ios/StaticAttribute.cs b/Crabtree/EzvizLib.ios/StaticAttribute.cs
deleted file mode 100644
index b93e73e..0000000
--- a/Crabtree/EzvizLib.ios/StaticAttribute.cs
+++ /dev/null
@@ -1,8 +0,0 @@
-using System;
-
-namespace Com.Hdl.ON
-{
-	class StaticAttribute : Attribute
-	{
-	}
-}
\ No newline at end of file
diff --git a/Crabtree/EzvizLib.ios/Structs.cs b/Crabtree/EzvizLib.ios/Structs.cs
deleted file mode 100644
index be5c8b8..0000000
--- a/Crabtree/EzvizLib.ios/Structs.cs
+++ /dev/null
@@ -1,5 +0,0 @@
-锘縰sing System;
-
-namespace EzvizLib.ios
-{
-}
diff --git a/Crabtree/EzvizLib.ios/VerifyAttribute.cs b/Crabtree/EzvizLib.ios/VerifyAttribute.cs
deleted file mode 100644
index ad64538..0000000
--- a/Crabtree/EzvizLib.ios/VerifyAttribute.cs
+++ /dev/null
@@ -1,8 +0,0 @@
-using System;
-
-namespace Com.Hdl.ON
-{
-	class VerifyAttribute : Attribute
-	{
-	}
-}
\ No newline at end of file
diff --git a/Crabtree/EzvizLib.ios/libEzviz.a b/Crabtree/EzvizLib.ios/libEzviz.a
deleted file mode 100644
index f92e539..0000000
--- a/Crabtree/EzvizLib.ios/libEzviz.a
+++ /dev/null
Binary files differ
diff --git a/Crabtree/EzvizLib.ios/libEzviz.linkwith.cs b/Crabtree/EzvizLib.ios/libEzviz.linkwith.cs
deleted file mode 100644
index 56b8684..0000000
--- a/Crabtree/EzvizLib.ios/libEzviz.linkwith.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-// WARNING: This feature is deprecated. Use the "Native References" folder instead.
-// Right-click on the "Native References" folder, select "Add Native Reference",
-// and then select the static library or framework that you'd like to bind.
-//
-// Once you've added your static library or framework, right-click the library or
-// framework and select "Properties" to change the LinkWith values.
-
-using ObjCRuntime;
-
-[assembly: LinkWith ("libEZviz.a", LinkerFlags = "-lz", IsCxx = true,
-                    Frameworks = "AVFoundation CoreGraphics UIKit CoreMedia AudioToolbox VideoToolbox GLKit OpenAL MobileCoreServices SystemConfiguration CoreTelephony AVFoundation",鈥�                    SmartLink = true, ForceLoad = true)]
diff --git a/Crabtree/IosService/ApiDefinition.cs b/Crabtree/IosService/ApiDefinition.cs
deleted file mode 100755
index 036797d..0000000
--- a/Crabtree/IosService/ApiDefinition.cs
+++ /dev/null
@@ -1,67 +0,0 @@
-锘縰sing System;
-
-using UIKit;
-using Foundation;
-using ObjCRuntime;
-using CoreGraphics;
-
-namespace IosService
-{
-    // The first step to creating a binding is to add your native library ("libNativeLibrary.a")
-    // to the project by right-clicking (or Control-clicking) the folder containing this source
-    // file and clicking "Add files..." and then simply select the native library (or libraries)
-    // that you want to bind.
-    //
-    // When you do that, you'll notice that MonoDevelop generates a code-behind file for each
-    // native library which will contain a [LinkWith] attribute. MonoDevelop auto-detects the
-    // architectures that the native library supports and fills in that information for you,
-    // however, it cannot auto-detect any Frameworks or other system libraries that the
-    // native library may depend on, so you'll need to fill in that information yourself.
-    //
-    // Once you've done that, you're ready to move on to binding the API...
-    //
-    //
-    // Here is where you'd define your API definition for the native Objective-C library.
-    //
-    // For example, to bind the following Objective-C class:
-    //
-    //     @interface Widget : NSObject {
-    //     }
-    //
-    // The C# binding would look like this:
-    //
-    //     [BaseType (typeof (NSObject))]
-    //     interface Widget {
-    //     }
-    //
-    // To bind Objective-C properties, such as:
-    //
-    //     @property (nonatomic, readwrite, assign) CGPoint center;
-    //
-    // You would add a property definition in the C# interface like so:
-    //
-    //     [Export ("center")]
-    //     CGPoint Center { get; set; }
-    //
-    // To bind an Objective-C method, such as:
-    //
-    //     -(void) doSomething:(NSObject *)object atIndex:(NSInteger)index;
-    //
-    // You would add a method definition to the C# interface like so:
-    //
-    //     [Export ("doSomething:atIndex:")]
-    //     void DoSomething (NSObject object, int index);
-    //
-    // Objective-C "constructors" such as:
-    //
-    //     -(id)initWithElmo:(ElmoMuppet *)elmo;
-    //
-    // Can be bound as:
-    //
-    //     [Export ("initWithElmo:")]
-    //     IntPtr Constructor (ElmoMuppet elmo);
-    //
-    // For more information, see http://developer.xamarin.com/guides/ios/advanced_topics/binding_objective-c/
-    //
-}
-
diff --git a/Crabtree/IosService/IosService.csproj b/Crabtree/IosService/IosService.csproj
deleted file mode 100644
index 507ade4..0000000
--- a/Crabtree/IosService/IosService.csproj
+++ /dev/null
@@ -1,84 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProjectGuid>{0F9672A4-CD14-43CD-BCAD-FDA522E932F7}</ProjectGuid>
-    <ProjectTypeGuids>{8FFB629D-F513-41CE-95D2-7ECE97B6EEEC};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
-    <OutputType>Library</OutputType>
-    <RootNamespace>IosService</RootNamespace>
-    <AssemblyName>IosService</AssemblyName>
-    <IPhoneResourcePrefix>Resources</IPhoneResourcePrefix>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\Debug</OutputPath>
-    <DefineConstants>__UNIFIED__;__MOBILE__;__IOS__;DEBUG;HDL</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <ConsolePause>false</ConsolePause>
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <Optimize>true</Optimize>
-    <OutputPath>bin\Release</OutputPath>
-    <DefineConstants>__UNIFIED__;__MOBILE__;__IOS__;Crabtree</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <ConsolePause>false</ConsolePause>
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="System" />
-    <Reference Include="Xamarin.iOS" />
-    <Reference Include="System.Web.Services" />
-    <Reference Include="System.Xml" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="Properties\AssemblyInfo.cs" />
-    <Compile Include="Web References\service.hdlcontrol.com_push\Reference.cs">
-      <DependentUpon>Reference.map</DependentUpon>
-    </Compile>
-    <Compile Include="Web References\service.hdlcontrol.com_WebServiceAirQuality\Reference.cs">
-      <DependentUpon>Reference.map</DependentUpon>
-    </Compile>
-  </ItemGroup>
-  <ItemGroup>
-    <ObjcBindingApiDefinition Include="ApiDefinition.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <ObjcBindingCoreSource Include="Structs.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <WebReferences Include="Web References" />
-  </ItemGroup>
-  <ItemGroup>
-    <WebReferenceUrl Include="http://service.hdlcontrol.com:8000/WebService/WebServicePush.asmx">
-      <UrlBehavior>Dynamic</UrlBehavior>
-      <RelPath>Web References\service.hdlcontrol.com_push</RelPath>
-      <UpdateFromURL>http://service.hdlcontrol.com:8000/WebService/WebServicePush.asmx</UpdateFromURL>
-    </WebReferenceUrl>
-    <WebReferenceUrl Include="http://service.hdlcontrol.com:8000/WebService/WebServiceAirQuality.asmx">
-      <UrlBehavior>Dynamic</UrlBehavior>
-      <RelPath>Web References\service.hdlcontrol.com_WebServiceAirQuality</RelPath>
-      <UpdateFromURL>http://service.hdlcontrol.com:8000/WebService/WebServiceAirQuality.asmx</UpdateFromURL>
-    </WebReferenceUrl>
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="Web References\service.hdlcontrol.com_push\WebServicePush.wsdl" />
-    <None Include="Web References\service.hdlcontrol.com_push\WebServicePush.disco" />
-    <None Include="Web References\service.hdlcontrol.com_push\Reference.map">
-      <Generator>MSDiscoCodeGenerator</Generator>
-      <LastGenOutput>Reference.cs</LastGenOutput>
-    </None>
-    <None Include="Web References\service.hdlcontrol.com_WebServiceAirQuality\WebServiceAirQuality.wsdl" />
-    <None Include="Web References\service.hdlcontrol.com_WebServiceAirQuality\WebServiceAirQuality.disco" />
-    <None Include="Web References\service.hdlcontrol.com_WebServiceAirQuality\Reference.map">
-      <Generator>MSDiscoCodeGenerator</Generator>
-      <LastGenOutput>Reference.cs</LastGenOutput>
-    </None>
-  </ItemGroup>
-  <Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.ObjCBinding.CSharp.targets" />
-</Project>
\ No newline at end of file
diff --git a/Crabtree/IosService/Properties/AssemblyInfo.cs b/Crabtree/IosService/Properties/AssemblyInfo.cs
deleted file mode 100755
index 31792e4..0000000
--- a/Crabtree/IosService/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,34 +0,0 @@
-锘縰sing System.Reflection;
-using System.Runtime.CompilerServices;
-
-using Foundation;
-
-// This attribute allows you to mark your assemblies as 鈥渟afe to link鈥�. 
-// When the attribute is present, the linker鈥攊f enabled鈥攚ill process the assembly 
-// even if you鈥檙e using the 鈥淟ink SDK assemblies only鈥� option, which is the default for device builds.
-
-[assembly: LinkerSafe]
-
-// Information about this assembly is defined by the following attributes. 
-// Change them to the values specific to your project.
-
-[assembly: AssemblyTitle ("IosService")]
-[assembly: AssemblyDescription ("")]
-[assembly: AssemblyConfiguration ("")]
-[assembly: AssemblyCompany ("")]
-[assembly: AssemblyProduct ("")]
-[assembly: AssemblyCopyright ("hdl-mac")]
-[assembly: AssemblyTrademark ("")]
-[assembly: AssemblyCulture ("")]
-
-// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
-// The form "{Major}.{Minor}.*" will automatically update the build and revision,
-// and "{Major}.{Minor}.{Build}.*" will update just the revision.
-
-[assembly: AssemblyVersion ("1.0.*")]
-
-// The following attributes are used to specify the signing key for the assembly, 
-// if desired. See the Mono documentation for more information about signing.
-
-//[assembly: AssemblyDelaySign(false)]
-//[assembly: AssemblyKeyFile("")]
diff --git a/Crabtree/IosService/Structs.cs b/Crabtree/IosService/Structs.cs
deleted file mode 100755
index f6e7362..0000000
--- a/Crabtree/IosService/Structs.cs
+++ /dev/null
@@ -1,6 +0,0 @@
-锘縰sing System;
-
-namespace IosService
-{
-}
-
diff --git a/Crabtree/IosService/Web References/service.hdlcontrol.com_WebServiceAirQuality/Reference.cs b/Crabtree/IosService/Web References/service.hdlcontrol.com_WebServiceAirQuality/Reference.cs
deleted file mode 100644
index e6a3160..0000000
--- a/Crabtree/IosService/Web References/service.hdlcontrol.com_WebServiceAirQuality/Reference.cs
+++ /dev/null
@@ -1,272 +0,0 @@
-锘�//------------------------------------------------------------------------------
-// <auto-generated>
-//     This code was generated by a tool.
-//     Runtime Version:4.0.30319.42000
-//
-//     Changes to this file may cause incorrect behavior and will be lost if
-//     the code is regenerated.
-// </auto-generated>
-//------------------------------------------------------------------------------
-
-namespace service.hdlcontrol.com_WebServiceAirQuality {
-    using System.Diagnostics;
-    using System;
-    using System.Xml.Serialization;
-    using System.ComponentModel;
-    using System.Web.Services.Protocols;
-    using System.Web.Services;
-    
-    
-    /// CodeRemarks
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("XamarinStudio", "7.5.1.22")]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Web.Services.WebServiceBindingAttribute(Name="WebServiceAirQualitySoap", Namespace="http://tempuri.org/")]
-    public partial class WebServiceAirQuality : System.Web.Services.Protocols.SoapHttpClientProtocol {
-        
-        private System.Threading.SendOrPostCallback GetAirQualityOperationCompleted;
-
-        /// CodeRemarks
-        public WebServiceAirQuality ()
-        {
-            this.Url = "http://service.hdlcontrol.com:8000/WebService/WebServiceAirQuality.asmx";
-            #if Crabtree
-            this.Url = "https://smarth-api.havells.com/api/WebService/WebServiceAirQuality.asmx";
-            #endif
-        }
-        
-        public WebServiceAirQuality(string url) {
-            this.Url = url;
-        }
-        
-        /// CodeRemarks
-        public event GetAirQualityCompletedEventHandler GetAirQualityCompleted;
-        
-        /// CodeRemarks
-        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetAirQuality", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
-        public AirQuality GetAirQuality(string lat, string lon) {
-            object[] results = this.Invoke("GetAirQuality", new object[] {
-                        lat,
-                        lon});
-            return ((AirQuality)(results[0]));
-        }
-        
-        /// CodeRemarks
-        public void GetAirQualityAsync(string lat, string lon) {
-            this.GetAirQualityAsync(lat, lon, null);
-        }
-        
-        /// CodeRemarks
-        public void GetAirQualityAsync(string lat, string lon, object userState) {
-            if ((this.GetAirQualityOperationCompleted == null)) {
-                this.GetAirQualityOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetAirQualityOperationCompleted);
-            }
-            this.InvokeAsync("GetAirQuality", new object[] {
-                        lat,
-                        lon}, this.GetAirQualityOperationCompleted, userState);
-        }
-        
-        private void OnGetAirQualityOperationCompleted(object arg) {
-            if ((this.GetAirQualityCompleted != null)) {
-                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
-                this.GetAirQualityCompleted(this, new GetAirQualityCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
-            }
-        }
-        
-        /// CodeRemarks
-        public new void CancelAsync(object userState) {
-            base.CancelAsync(userState);
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("XamarinStudio", "7.5.1.22")]
-    [System.Serializable()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://tempuri.org/")]
-    public partial class AirQuality {
-        
-        /// <remarks/>
-        public int code;
-        
-        /// <remarks/>
-        public Data data;
-        
-        /// <remarks/>
-        public string msg;
-        
-        /// <remarks/>
-        public Rc rc;
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("XamarinStudio", "7.5.1.22")]
-    [System.Serializable()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://tempuri.org/")]
-    public partial class Data {
-        
-        /// <remarks/>
-        public City city;
-        
-        /// <remarks/>
-        public Aqi aqi;
-        
-        /// <remarks/>
-        public Condition condition;
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("XamarinStudio", "7.5.1.22")]
-    [System.Serializable()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://tempuri.org/")]
-    public partial class City {
-        
-        /// <remarks/>
-        public int cityId;
-        
-        /// <remarks/>
-        public string counname;
-        
-        /// <remarks/>
-        public string name;
-        
-        /// <remarks/>
-        public string pname;
-        
-        /// <remarks/>
-        public string timezone;
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("XamarinStudio", "7.5.1.22")]
-    [System.Serializable()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://tempuri.org/")]
-    public partial class Rc {
-        
-        /// <remarks/>
-        public int c;
-        
-        /// <remarks/>
-        public string p;
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("XamarinStudio", "7.5.1.22")]
-    [System.Serializable()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://tempuri.org/")]
-    public partial class Condition {
-        
-        /// <remarks/>
-        public string condition;
-        
-        /// <remarks/>
-        public string humidity;
-        
-        /// <remarks/>
-        public string icon;
-        
-        /// <remarks/>
-        public string temp;
-        
-        /// <remarks/>
-        public string updatetime;
-        
-        /// <remarks/>
-        public string windDir;
-        
-        /// <remarks/>
-        public string windLevel;
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("XamarinStudio", "7.5.1.22")]
-    [System.Serializable()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://tempuri.org/")]
-    public partial class Aqi {
-        
-        /// <remarks/>
-        public string cityName;
-        
-        /// <remarks/>
-        public string co;
-        
-        /// <remarks/>
-        public string coC;
-        
-        /// <remarks/>
-        public string no2;
-        
-        /// <remarks/>
-        public string no2C;
-        
-        /// <remarks/>
-        public string o3;
-        
-        /// <remarks/>
-        public string o3C;
-        
-        /// <remarks/>
-        public string pm10;
-        
-        /// <remarks/>
-        public string pm10C;
-        
-        /// <remarks/>
-        public string pm25;
-        
-        /// <remarks/>
-        public string pm25C;
-        
-        /// <remarks/>
-        public string pubtime;
-        
-        /// <remarks/>
-        public string rank;
-        
-        /// <remarks/>
-        public string so2;
-        
-        /// <remarks/>
-        public string so2C;
-        
-        /// <remarks/>
-        public string value;
-    }
-    
-    /// CodeRemarks
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("XamarinStudio", "7.5.1.22")]
-    public delegate void GetAirQualityCompletedEventHandler(object sender, GetAirQualityCompletedEventArgs e);
-    
-    /// CodeRemarks
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("XamarinStudio", "7.5.1.22")]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    public partial class GetAirQualityCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
-        
-        private object[] results;
-        
-        internal GetAirQualityCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
-                base(exception, cancelled, userState) {
-            this.results = results;
-        }
-        
-        /// CodeRemarks
-        public AirQuality Result {
-            get {
-                this.RaiseExceptionIfNecessary();
-                return ((AirQuality)(this.results[0]));
-            }
-        }
-    }
-}
diff --git a/Crabtree/IosService/Web References/service.hdlcontrol.com_WebServiceAirQuality/Reference.map b/Crabtree/IosService/Web References/service.hdlcontrol.com_WebServiceAirQuality/Reference.map
deleted file mode 100644
index 0bb416f..0000000
--- a/Crabtree/IosService/Web References/service.hdlcontrol.com_WebServiceAirQuality/Reference.map
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<DiscoveryClientResultsFile xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <Results>
-    <DiscoveryClientResult referenceType="System.Web.Services.Discovery.ContractReference" url="http://service.hdlcontrol.com:8000/WebService/WebServiceAirQuality.asmx?wsdl" filename="WebServiceAirQuality.wsdl" />
-    <DiscoveryClientResult referenceType="System.Web.Services.Discovery.DiscoveryDocumentReference" url="http://service.hdlcontrol.com:8000/WebService/WebServiceAirQuality.asmx?disco" filename="WebServiceAirQuality.disco" />
-  </Results>
-</DiscoveryClientResultsFile>
\ No newline at end of file
diff --git a/Crabtree/IosService/Web References/service.hdlcontrol.com_WebServiceAirQuality/WebServiceAirQuality.disco b/Crabtree/IosService/Web References/service.hdlcontrol.com_WebServiceAirQuality/WebServiceAirQuality.disco
deleted file mode 100644
index f2e2d78..0000000
--- a/Crabtree/IosService/Web References/service.hdlcontrol.com_WebServiceAirQuality/WebServiceAirQuality.disco
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<discovery xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.xmlsoap.org/disco/">
-  <contractRef ref="http://service.hdlcontrol.com:8000/WebService/WebServiceAirQuality.asmx?wsdl" docRef="http://service.hdlcontrol.com:8000/WebService/WebServiceAirQuality.asmx" xmlns="http://schemas.xmlsoap.org/disco/scl/" />
-  <soap address="http://service.hdlcontrol.com:8000/WebService/WebServiceAirQuality.asmx" xmlns:q1="http://tempuri.org/" binding="q1:WebServiceAirQualitySoap" xmlns="http://schemas.xmlsoap.org/disco/soap/" />
-  <soap address="http://service.hdlcontrol.com:8000/WebService/WebServiceAirQuality.asmx" xmlns:q2="http://tempuri.org/" binding="q2:WebServiceAirQualitySoap12" xmlns="http://schemas.xmlsoap.org/disco/soap/" />
-</discovery>
\ No newline at end of file
diff --git a/Crabtree/IosService/Web References/service.hdlcontrol.com_WebServiceAirQuality/WebServiceAirQuality.wsdl b/Crabtree/IosService/Web References/service.hdlcontrol.com_WebServiceAirQuality/WebServiceAirQuality.wsdl
deleted file mode 100644
index 22dbcb9..0000000
--- a/Crabtree/IosService/Web References/service.hdlcontrol.com_WebServiceAirQuality/WebServiceAirQuality.wsdl
+++ /dev/null
@@ -1,184 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<wsdl:definitions xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:tns="http://tempuri.org/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" targetNamespace="http://tempuri.org/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
-  <wsdl:types>
-    <s:schema elementFormDefault="qualified" targetNamespace="http://tempuri.org/">
-      <s:element name="GetAirQuality">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="0" maxOccurs="1" name="lat" type="s:string" />
-            <s:element minOccurs="0" maxOccurs="1" name="lon" type="s:string" />
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:element name="GetAirQualityResponse">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="0" maxOccurs="1" name="GetAirQualityResult" type="tns:AirQuality" />
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:complexType name="AirQuality">
-        <s:sequence>
-          <s:element minOccurs="1" maxOccurs="1" name="code" type="s:int" />
-          <s:element minOccurs="0" maxOccurs="1" name="data" type="tns:Data" />
-          <s:element minOccurs="0" maxOccurs="1" name="msg" type="s:string" />
-          <s:element minOccurs="0" maxOccurs="1" name="rc" type="tns:Rc" />
-        </s:sequence>
-      </s:complexType>
-      <s:complexType name="Data">
-        <s:sequence>
-          <s:element minOccurs="0" maxOccurs="1" name="city" type="tns:City" />
-          <s:element minOccurs="0" maxOccurs="1" name="aqi" type="tns:Aqi" />
-          <s:element minOccurs="0" maxOccurs="1" name="condition" type="tns:Condition" />
-        </s:sequence>
-      </s:complexType>
-      <s:complexType name="City">
-        <s:sequence>
-          <s:element minOccurs="1" maxOccurs="1" name="cityId" type="s:int" />
-          <s:element minOccurs="0" maxOccurs="1" name="counname" type="s:string" />
-          <s:element minOccurs="0" maxOccurs="1" name="name" type="s:string" />
-          <s:element minOccurs="0" maxOccurs="1" name="pname" type="s:string" />
-          <s:element minOccurs="0" maxOccurs="1" name="timezone" type="s:string" />
-        </s:sequence>
-      </s:complexType>
-      <s:complexType name="Aqi">
-        <s:sequence>
-          <s:element minOccurs="0" maxOccurs="1" name="cityName" type="s:string" />
-          <s:element minOccurs="0" maxOccurs="1" name="co" type="s:string" />
-          <s:element minOccurs="0" maxOccurs="1" name="coC" type="s:string" />
-          <s:element minOccurs="0" maxOccurs="1" name="no2" type="s:string" />
-          <s:element minOccurs="0" maxOccurs="1" name="no2C" type="s:string" />
-          <s:element minOccurs="0" maxOccurs="1" name="o3" type="s:string" />
-          <s:element minOccurs="0" maxOccurs="1" name="o3C" type="s:string" />
-          <s:element minOccurs="0" maxOccurs="1" name="pm10" type="s:string" />
-          <s:element minOccurs="0" maxOccurs="1" name="pm10C" type="s:string" />
-          <s:element minOccurs="0" maxOccurs="1" name="pm25" type="s:string" />
-          <s:element minOccurs="0" maxOccurs="1" name="pm25C" type="s:string" />
-          <s:element minOccurs="0" maxOccurs="1" name="pubtime" type="s:string" />
-          <s:element minOccurs="0" maxOccurs="1" name="rank" type="s:string" />
-          <s:element minOccurs="0" maxOccurs="1" name="so2" type="s:string" />
-          <s:element minOccurs="0" maxOccurs="1" name="so2C" type="s:string" />
-          <s:element minOccurs="0" maxOccurs="1" name="value" type="s:string" />
-        </s:sequence>
-      </s:complexType>
-      <s:complexType name="Condition">
-        <s:sequence>
-          <s:element minOccurs="0" maxOccurs="1" name="condition" type="s:string" />
-          <s:element minOccurs="0" maxOccurs="1" name="humidity" type="s:string" />
-          <s:element minOccurs="0" maxOccurs="1" name="icon" type="s:string" />
-          <s:element minOccurs="0" maxOccurs="1" name="temp" type="s:string" />
-          <s:element minOccurs="0" maxOccurs="1" name="updatetime" type="s:string" />
-          <s:element minOccurs="0" maxOccurs="1" name="windDir" type="s:string" />
-          <s:element minOccurs="0" maxOccurs="1" name="windLevel" type="s:string" />
-        </s:sequence>
-      </s:complexType>
-      <s:complexType name="Rc">
-        <s:sequence>
-          <s:element minOccurs="1" maxOccurs="1" name="c" type="s:int" />
-          <s:element minOccurs="0" maxOccurs="1" name="p" type="s:string" />
-        </s:sequence>
-      </s:complexType>
-      <s:element name="AirQuality" nillable="true" type="tns:AirQuality" />
-    </s:schema>
-  </wsdl:types>
-  <wsdl:message name="GetAirQualitySoapIn">
-    <wsdl:part name="parameters" element="tns:GetAirQuality" />
-  </wsdl:message>
-  <wsdl:message name="GetAirQualitySoapOut">
-    <wsdl:part name="parameters" element="tns:GetAirQualityResponse" />
-  </wsdl:message>
-  <wsdl:message name="GetAirQualityHttpGetIn">
-    <wsdl:part name="lat" type="s:string" />
-    <wsdl:part name="lon" type="s:string" />
-  </wsdl:message>
-  <wsdl:message name="GetAirQualityHttpGetOut">
-    <wsdl:part name="Body" element="tns:AirQuality" />
-  </wsdl:message>
-  <wsdl:message name="GetAirQualityHttpPostIn">
-    <wsdl:part name="lat" type="s:string" />
-    <wsdl:part name="lon" type="s:string" />
-  </wsdl:message>
-  <wsdl:message name="GetAirQualityHttpPostOut">
-    <wsdl:part name="Body" element="tns:AirQuality" />
-  </wsdl:message>
-  <wsdl:portType name="WebServiceAirQualitySoap">
-    <wsdl:operation name="GetAirQuality">
-      <wsdl:input message="tns:GetAirQualitySoapIn" />
-      <wsdl:output message="tns:GetAirQualitySoapOut" />
-    </wsdl:operation>
-  </wsdl:portType>
-  <wsdl:portType name="WebServiceAirQualityHttpGet">
-    <wsdl:operation name="GetAirQuality">
-      <wsdl:input message="tns:GetAirQualityHttpGetIn" />
-      <wsdl:output message="tns:GetAirQualityHttpGetOut" />
-    </wsdl:operation>
-  </wsdl:portType>
-  <wsdl:portType name="WebServiceAirQualityHttpPost">
-    <wsdl:operation name="GetAirQuality">
-      <wsdl:input message="tns:GetAirQualityHttpPostIn" />
-      <wsdl:output message="tns:GetAirQualityHttpPostOut" />
-    </wsdl:operation>
-  </wsdl:portType>
-  <wsdl:binding name="WebServiceAirQualitySoap" type="tns:WebServiceAirQualitySoap">
-    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
-    <wsdl:operation name="GetAirQuality">
-      <soap:operation soapAction="http://tempuri.org/GetAirQuality" style="document" />
-      <wsdl:input>
-        <soap:body use="literal" />
-      </wsdl:input>
-      <wsdl:output>
-        <soap:body use="literal" />
-      </wsdl:output>
-    </wsdl:operation>
-  </wsdl:binding>
-  <wsdl:binding name="WebServiceAirQualitySoap12" type="tns:WebServiceAirQualitySoap">
-    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
-    <wsdl:operation name="GetAirQuality">
-      <soap12:operation soapAction="http://tempuri.org/GetAirQuality" style="document" />
-      <wsdl:input>
-        <soap12:body use="literal" />
-      </wsdl:input>
-      <wsdl:output>
-        <soap12:body use="literal" />
-      </wsdl:output>
-    </wsdl:operation>
-  </wsdl:binding>
-  <wsdl:binding name="WebServiceAirQualityHttpGet" type="tns:WebServiceAirQualityHttpGet">
-    <http:binding verb="GET" />
-    <wsdl:operation name="GetAirQuality">
-      <http:operation location="/GetAirQuality" />
-      <wsdl:input>
-        <http:urlEncoded />
-      </wsdl:input>
-      <wsdl:output>
-        <mime:mimeXml part="Body" />
-      </wsdl:output>
-    </wsdl:operation>
-  </wsdl:binding>
-  <wsdl:binding name="WebServiceAirQualityHttpPost" type="tns:WebServiceAirQualityHttpPost">
-    <http:binding verb="POST" />
-    <wsdl:operation name="GetAirQuality">
-      <http:operation location="/GetAirQuality" />
-      <wsdl:input>
-        <mime:content type="application/x-www-form-urlencoded" />
-      </wsdl:input>
-      <wsdl:output>
-        <mime:mimeXml part="Body" />
-      </wsdl:output>
-    </wsdl:operation>
-  </wsdl:binding>
-  <wsdl:service name="WebServiceAirQuality">
-    <wsdl:port name="WebServiceAirQualitySoap" binding="tns:WebServiceAirQualitySoap">
-      <soap:address location="http://service.hdlcontrol.com:8000/WebService/WebServiceAirQuality.asmx" />
-    </wsdl:port>
-    <wsdl:port name="WebServiceAirQualitySoap12" binding="tns:WebServiceAirQualitySoap12">
-      <soap12:address location="http://service.hdlcontrol.com:8000/WebService/WebServiceAirQuality.asmx" />
-    </wsdl:port>
-    <wsdl:port name="WebServiceAirQualityHttpGet" binding="tns:WebServiceAirQualityHttpGet">
-      <http:address location="http://service.hdlcontrol.com:8000/WebService/WebServiceAirQuality.asmx" />
-    </wsdl:port>
-    <wsdl:port name="WebServiceAirQualityHttpPost" binding="tns:WebServiceAirQualityHttpPost">
-      <http:address location="http://service.hdlcontrol.com:8000/WebService/WebServiceAirQuality.asmx" />
-    </wsdl:port>
-  </wsdl:service>
-</wsdl:definitions>
\ No newline at end of file
diff --git a/Crabtree/IosService/Web References/service.hdlcontrol.com_push/Reference.cs b/Crabtree/IosService/Web References/service.hdlcontrol.com_push/Reference.cs
deleted file mode 100644
index b266195..0000000
--- a/Crabtree/IosService/Web References/service.hdlcontrol.com_push/Reference.cs
+++ /dev/null
@@ -1,541 +0,0 @@
-锘�//------------------------------------------------------------------------------
-// <auto-generated>
-//     This code was generated by a tool.
-//     Runtime Version:4.0.30319.42000
-//
-//     Changes to this file may cause incorrect behavior and will be lost if
-//     the code is regenerated.
-// </auto-generated>
-//------------------------------------------------------------------------------
-
-namespace service.hdlcontrol.com_push {
-    using System.Diagnostics;
-    using System;
-    using System.Xml.Serialization;
-    using System.ComponentModel;
-    using System.Web.Services.Protocols;
-    using System.Web.Services;
-    
-    
-    /// CodeRemarks
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("XamarinStudio", "7.5.1.22")]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Web.Services.WebServiceBindingAttribute(Name="WebServicePushSoap", Namespace="http://tempuri.org/")]
-    public partial class WebServicePush : System.Web.Services.Protocols.SoapHttpClientProtocol {
-        
-        private System.Threading.SendOrPostCallback JPushActionOperationCompleted;
-        
-        private System.Threading.SendOrPostCallback DeviceManageOperationCompleted;
-        
-        private System.Threading.SendOrPostCallback ILiftAddRegIDOperationCompleted;
-        
-        private System.Threading.SendOrPostCallback AddMsgOperationCompleted;
-        
-        private System.Threading.SendOrPostCallback DeleteToken_PushOperationCompleted;
-        
-        public VerifySoapHeader VerifySoapHeaderValue;
-        
-        private System.Threading.SendOrPostCallback AddRegIdOperationCompleted;
-        
-        private System.Threading.SendOrPostCallback MsgListOperationCompleted;
-
-        /// CodeRemarks
-        public WebServicePush ()
-        {
-            this.Url = "http://service.hdlcontrol.com:8000/WebService/WebServicePush.asmx";
-            #if Crabtree
-            this.Url = "https://smarth-api.havells.com/api/WebService/WebServicePush.asmx";
-            #endif
-        }
-        
-        public WebServicePush(string url) {
-            this.Url = url;
-        }
-        
-        /// CodeRemarks
-        public event JPushActionCompletedEventHandler JPushActionCompleted;
-        
-        /// CodeRemarks
-        public event DeviceManageCompletedEventHandler DeviceManageCompleted;
-        
-        /// CodeRemarks
-        public event ILiftAddRegIDCompletedEventHandler ILiftAddRegIDCompleted;
-        
-        /// CodeRemarks
-        public event AddMsgCompletedEventHandler AddMsgCompleted;
-        
-        /// CodeRemarks
-        public event DeleteToken_PushCompletedEventHandler DeleteToken_PushCompleted;
-        
-        /// CodeRemarks
-        public event AddRegIdCompletedEventHandler AddRegIdCompleted;
-        
-        /// CodeRemarks
-        public event MsgListCompletedEventHandler MsgListCompleted;
-        
-        /// CodeRemarks
-        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/JPushAction", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
-        public long JPushAction(string frame, string message, string alarm) {
-            object[] results = this.Invoke("JPushAction", new object[] {
-                        frame,
-                        message,
-                        alarm});
-            return ((long)(results[0]));
-        }
-        
-        /// CodeRemarks
-        public void JPushActionAsync(string frame, string message, string alarm) {
-            this.JPushActionAsync(frame, message, alarm, null);
-        }
-        
-        /// CodeRemarks
-        public void JPushActionAsync(string frame, string message, string alarm, object userState) {
-            if ((this.JPushActionOperationCompleted == null)) {
-                this.JPushActionOperationCompleted = new System.Threading.SendOrPostCallback(this.OnJPushActionOperationCompleted);
-            }
-            this.InvokeAsync("JPushAction", new object[] {
-                        frame,
-                        message,
-                        alarm}, this.JPushActionOperationCompleted, userState);
-        }
-        
-        private void OnJPushActionOperationCompleted(object arg) {
-            if ((this.JPushActionCompleted != null)) {
-                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
-                this.JPushActionCompleted(this, new JPushActionCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
-            }
-        }
-        
-        /// CodeRemarks
-        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/DeviceManage", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
-        public DeviceInfo[] DeviceManage() {
-            object[] results = this.Invoke("DeviceManage", new object[0]);
-            return ((DeviceInfo[])(results[0]));
-        }
-        
-        /// CodeRemarks
-        public void DeviceManageAsync() {
-            this.DeviceManageAsync(null);
-        }
-        
-        /// CodeRemarks
-        public void DeviceManageAsync(object userState) {
-            if ((this.DeviceManageOperationCompleted == null)) {
-                this.DeviceManageOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeviceManageOperationCompleted);
-            }
-            this.InvokeAsync("DeviceManage", new object[0], this.DeviceManageOperationCompleted, userState);
-        }
-        
-        private void OnDeviceManageOperationCompleted(object arg) {
-            if ((this.DeviceManageCompleted != null)) {
-                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
-                this.DeviceManageCompleted(this, new DeviceManageCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
-            }
-        }
-        
-        /// CodeRemarks
-        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/ILiftAddRegID", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
-        public string ILiftAddRegID(string RegId, string Alias, string Email, string UserMode) {
-            object[] results = this.Invoke("ILiftAddRegID", new object[] {
-                        RegId,
-                        Alias,
-                        Email,
-                        UserMode});
-            return ((string)(results[0]));
-        }
-        
-        /// CodeRemarks
-        public void ILiftAddRegIDAsync(string RegId, string Alias, string Email, string UserMode) {
-            this.ILiftAddRegIDAsync(RegId, Alias, Email, UserMode, null);
-        }
-        
-        /// CodeRemarks
-        public void ILiftAddRegIDAsync(string RegId, string Alias, string Email, string UserMode, object userState) {
-            if ((this.ILiftAddRegIDOperationCompleted == null)) {
-                this.ILiftAddRegIDOperationCompleted = new System.Threading.SendOrPostCallback(this.OnILiftAddRegIDOperationCompleted);
-            }
-            this.InvokeAsync("ILiftAddRegID", new object[] {
-                        RegId,
-                        Alias,
-                        Email,
-                        UserMode}, this.ILiftAddRegIDOperationCompleted, userState);
-        }
-        
-        private void OnILiftAddRegIDOperationCompleted(object arg) {
-            if ((this.ILiftAddRegIDCompleted != null)) {
-                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
-                this.ILiftAddRegIDCompleted(this, new ILiftAddRegIDCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
-            }
-        }
-        
-        /// CodeRemarks
-        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/AddMsg", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
-        public int AddMsg(string regid, string msgtype, string msgcontent) {
-            object[] results = this.Invoke("AddMsg", new object[] {
-                        regid,
-                        msgtype,
-                        msgcontent});
-            return ((int)(results[0]));
-        }
-        
-        /// CodeRemarks
-        public void AddMsgAsync(string regid, string msgtype, string msgcontent) {
-            this.AddMsgAsync(regid, msgtype, msgcontent, null);
-        }
-        
-        /// CodeRemarks
-        public void AddMsgAsync(string regid, string msgtype, string msgcontent, object userState) {
-            if ((this.AddMsgOperationCompleted == null)) {
-                this.AddMsgOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddMsgOperationCompleted);
-            }
-            this.InvokeAsync("AddMsg", new object[] {
-                        regid,
-                        msgtype,
-                        msgcontent}, this.AddMsgOperationCompleted, userState);
-        }
-        
-        private void OnAddMsgOperationCompleted(object arg) {
-            if ((this.AddMsgCompleted != null)) {
-                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
-                this.AddMsgCompleted(this, new AddMsgCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
-            }
-        }
-        
-        /// CodeRemarks
-        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/DeleteToken_Push", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
-        public int DeleteToken_Push(string regid) {
-            object[] results = this.Invoke("DeleteToken_Push", new object[] {
-                        regid});
-            return ((int)(results[0]));
-        }
-        
-        /// CodeRemarks
-        public void DeleteToken_PushAsync(string regid) {
-            this.DeleteToken_PushAsync(regid, null);
-        }
-        
-        /// CodeRemarks
-        public void DeleteToken_PushAsync(string regid, object userState) {
-            if ((this.DeleteToken_PushOperationCompleted == null)) {
-                this.DeleteToken_PushOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteToken_PushOperationCompleted);
-            }
-            this.InvokeAsync("DeleteToken_Push", new object[] {
-                        regid}, this.DeleteToken_PushOperationCompleted, userState);
-        }
-        
-        private void OnDeleteToken_PushOperationCompleted(object arg) {
-            if ((this.DeleteToken_PushCompleted != null)) {
-                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
-                this.DeleteToken_PushCompleted(this, new DeleteToken_PushCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
-            }
-        }
-        
-        /// CodeRemarks
-        [System.Web.Services.Protocols.SoapHeaderAttribute("VerifySoapHeaderValue")]
-        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/AddRegId", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
-        public int AddRegId(string RegId, string Alias) {
-            object[] results = this.Invoke("AddRegId", new object[] {
-                        RegId,
-                        Alias});
-            return ((int)(results[0]));
-        }
-        
-        /// CodeRemarks
-        public void AddRegIdAsync(string RegId, string Alias) {
-            this.AddRegIdAsync(RegId, Alias, null);
-        }
-        
-        /// CodeRemarks
-        public void AddRegIdAsync(string RegId, string Alias, object userState) {
-            if ((this.AddRegIdOperationCompleted == null)) {
-                this.AddRegIdOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddRegIdOperationCompleted);
-            }
-            this.InvokeAsync("AddRegId", new object[] {
-                        RegId,
-                        Alias}, this.AddRegIdOperationCompleted, userState);
-        }
-        
-        private void OnAddRegIdOperationCompleted(object arg) {
-            if ((this.AddRegIdCompleted != null)) {
-                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
-                this.AddRegIdCompleted(this, new AddRegIdCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
-            }
-        }
-        
-        /// CodeRemarks
-        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/MsgList", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
-        public MsgList[] MsgList(string regid) {
-            object[] results = this.Invoke("MsgList", new object[] {
-                        regid});
-            return ((MsgList[])(results[0]));
-        }
-        
-        /// CodeRemarks
-        public void MsgListAsync(string regid) {
-            this.MsgListAsync(regid, null);
-        }
-        
-        /// CodeRemarks
-        public void MsgListAsync(string regid, object userState) {
-            if ((this.MsgListOperationCompleted == null)) {
-                this.MsgListOperationCompleted = new System.Threading.SendOrPostCallback(this.OnMsgListOperationCompleted);
-            }
-            this.InvokeAsync("MsgList", new object[] {
-                        regid}, this.MsgListOperationCompleted, userState);
-        }
-        
-        private void OnMsgListOperationCompleted(object arg) {
-            if ((this.MsgListCompleted != null)) {
-                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
-                this.MsgListCompleted(this, new MsgListCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
-            }
-        }
-        
-        /// CodeRemarks
-        public new void CancelAsync(object userState) {
-            base.CancelAsync(userState);
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("XamarinStudio", "7.5.1.22")]
-    [System.Serializable()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://tempuri.org/")]
-    [System.Xml.Serialization.XmlRootAttribute(Namespace="http://tempuri.org/", IsNullable=false)]
-    public partial class VerifySoapHeader : System.Web.Services.Protocols.SoapHeader {
-        
-        /// <remarks/>
-        public string Email;
-        
-        /// <remarks/>
-        public int UserMode;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAnyAttributeAttribute()]
-        public System.Xml.XmlAttribute[] AnyAttr;
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("XamarinStudio", "7.5.1.22")]
-    [System.Serializable()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://tempuri.org/")]
-    public partial class MsgList {
-        
-        /// <remarks/>
-        public long MsgID;
-        
-        /// <remarks/>
-        public string Msg;
-        
-        /// <remarks/>
-        public string MsgType;
-        
-        /// <remarks/>
-        public System.DateTime MsgTime;
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("XamarinStudio", "7.5.1.22")]
-    [System.Serializable()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://tempuri.org/")]
-    public partial class DeviceInfo {
-        
-        /// <remarks/>
-        public string RegistrationID;
-        
-        /// <remarks/>
-        public string[] Tag;
-        
-        /// <remarks/>
-        public string Alias;
-    }
-    
-    /// CodeRemarks
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("XamarinStudio", "7.5.1.22")]
-    public delegate void JPushActionCompletedEventHandler(object sender, JPushActionCompletedEventArgs e);
-    
-    /// CodeRemarks
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("XamarinStudio", "7.5.1.22")]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    public partial class JPushActionCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
-        
-        private object[] results;
-        
-        internal JPushActionCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
-                base(exception, cancelled, userState) {
-            this.results = results;
-        }
-        
-        /// CodeRemarks
-        public long Result {
-            get {
-                this.RaiseExceptionIfNecessary();
-                return ((long)(this.results[0]));
-            }
-        }
-    }
-    
-    /// CodeRemarks
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("XamarinStudio", "7.5.1.22")]
-    public delegate void DeviceManageCompletedEventHandler(object sender, DeviceManageCompletedEventArgs e);
-    
-    /// CodeRemarks
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("XamarinStudio", "7.5.1.22")]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    public partial class DeviceManageCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
-        
-        private object[] results;
-        
-        internal DeviceManageCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
-                base(exception, cancelled, userState) {
-            this.results = results;
-        }
-        
-        /// CodeRemarks
-        public DeviceInfo[] Result {
-            get {
-                this.RaiseExceptionIfNecessary();
-                return ((DeviceInfo[])(this.results[0]));
-            }
-        }
-    }
-    
-    /// CodeRemarks
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("XamarinStudio", "7.5.1.22")]
-    public delegate void ILiftAddRegIDCompletedEventHandler(object sender, ILiftAddRegIDCompletedEventArgs e);
-    
-    /// CodeRemarks
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("XamarinStudio", "7.5.1.22")]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    public partial class ILiftAddRegIDCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
-        
-        private object[] results;
-        
-        internal ILiftAddRegIDCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
-                base(exception, cancelled, userState) {
-            this.results = results;
-        }
-        
-        /// CodeRemarks
-        public string Result {
-            get {
-                this.RaiseExceptionIfNecessary();
-                return ((string)(this.results[0]));
-            }
-        }
-    }
-    
-    /// CodeRemarks
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("XamarinStudio", "7.5.1.22")]
-    public delegate void AddMsgCompletedEventHandler(object sender, AddMsgCompletedEventArgs e);
-    
-    /// CodeRemarks
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("XamarinStudio", "7.5.1.22")]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    public partial class AddMsgCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
-        
-        private object[] results;
-        
-        internal AddMsgCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
-                base(exception, cancelled, userState) {
-            this.results = results;
-        }
-        
-        /// CodeRemarks
-        public int Result {
-            get {
-                this.RaiseExceptionIfNecessary();
-                return ((int)(this.results[0]));
-            }
-        }
-    }
-    
-    /// CodeRemarks
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("XamarinStudio", "7.5.1.22")]
-    public delegate void DeleteToken_PushCompletedEventHandler(object sender, DeleteToken_PushCompletedEventArgs e);
-    
-    /// CodeRemarks
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("XamarinStudio", "7.5.1.22")]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    public partial class DeleteToken_PushCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
-        
-        private object[] results;
-        
-        internal DeleteToken_PushCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
-                base(exception, cancelled, userState) {
-            this.results = results;
-        }
-        
-        /// CodeRemarks
-        public int Result {
-            get {
-                this.RaiseExceptionIfNecessary();
-                return ((int)(this.results[0]));
-            }
-        }
-    }
-    
-    /// CodeRemarks
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("XamarinStudio", "7.5.1.22")]
-    public delegate void AddRegIdCompletedEventHandler(object sender, AddRegIdCompletedEventArgs e);
-    
-    /// CodeRemarks
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("XamarinStudio", "7.5.1.22")]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    public partial class AddRegIdCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
-        
-        private object[] results;
-        
-        internal AddRegIdCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
-                base(exception, cancelled, userState) {
-            this.results = results;
-        }
-        
-        /// CodeRemarks
-        public int Result {
-            get {
-                this.RaiseExceptionIfNecessary();
-                return ((int)(this.results[0]));
-            }
-        }
-    }
-    
-    /// CodeRemarks
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("XamarinStudio", "7.5.1.22")]
-    public delegate void MsgListCompletedEventHandler(object sender, MsgListCompletedEventArgs e);
-    
-    /// CodeRemarks
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("XamarinStudio", "7.5.1.22")]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    public partial class MsgListCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
-        
-        private object[] results;
-        
-        internal MsgListCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
-                base(exception, cancelled, userState) {
-            this.results = results;
-        }
-        
-        /// CodeRemarks
-        public MsgList[] Result {
-            get {
-                this.RaiseExceptionIfNecessary();
-                return ((MsgList[])(this.results[0]));
-            }
-        }
-    }
-}
diff --git a/Crabtree/IosService/Web References/service.hdlcontrol.com_push/Reference.map b/Crabtree/IosService/Web References/service.hdlcontrol.com_push/Reference.map
deleted file mode 100644
index 488b241..0000000
--- a/Crabtree/IosService/Web References/service.hdlcontrol.com_push/Reference.map
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<DiscoveryClientResultsFile xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <Results>
-    <DiscoveryClientResult referenceType="System.Web.Services.Discovery.ContractReference" url="http://service.hdlcontrol.com:8000/WebService/WebServicePush.asmx?wsdl" filename="WebServicePush.wsdl" />
-    <DiscoveryClientResult referenceType="System.Web.Services.Discovery.DiscoveryDocumentReference" url="http://service.hdlcontrol.com:8000/WebService/WebServicePush.asmx?disco" filename="WebServicePush.disco" />
-  </Results>
-</DiscoveryClientResultsFile>
\ No newline at end of file
diff --git a/Crabtree/IosService/Web References/service.hdlcontrol.com_push/WebServicePush.disco b/Crabtree/IosService/Web References/service.hdlcontrol.com_push/WebServicePush.disco
deleted file mode 100644
index d3d9bc8..0000000
--- a/Crabtree/IosService/Web References/service.hdlcontrol.com_push/WebServicePush.disco
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<discovery xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.xmlsoap.org/disco/">
-  <contractRef ref="http://service.hdlcontrol.com:8000/WebService/WebServicePush.asmx?wsdl" docRef="http://service.hdlcontrol.com:8000/WebService/WebServicePush.asmx" xmlns="http://schemas.xmlsoap.org/disco/scl/" />
-  <soap address="http://service.hdlcontrol.com:8000/WebService/WebServicePush.asmx" xmlns:q1="http://tempuri.org/" binding="q1:WebServicePushSoap" xmlns="http://schemas.xmlsoap.org/disco/soap/" />
-  <soap address="http://service.hdlcontrol.com:8000/WebService/WebServicePush.asmx" xmlns:q2="http://tempuri.org/" binding="q2:WebServicePushSoap12" xmlns="http://schemas.xmlsoap.org/disco/soap/" />
-</discovery>
\ No newline at end of file
diff --git a/Crabtree/IosService/Web References/service.hdlcontrol.com_push/WebServicePush.wsdl b/Crabtree/IosService/Web References/service.hdlcontrol.com_push/WebServicePush.wsdl
deleted file mode 100644
index 87f7352..0000000
--- a/Crabtree/IosService/Web References/service.hdlcontrol.com_push/WebServicePush.wsdl
+++ /dev/null
@@ -1,663 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<wsdl:definitions xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:tns="http://tempuri.org/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" targetNamespace="http://tempuri.org/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
-  <wsdl:types>
-    <s:schema elementFormDefault="qualified" targetNamespace="http://tempuri.org/">
-      <s:element name="JPushAction">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="0" maxOccurs="1" name="frame" type="s:string" />
-            <s:element minOccurs="0" maxOccurs="1" name="message" type="s:string" />
-            <s:element minOccurs="0" maxOccurs="1" name="alarm" type="s:string" />
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:element name="JPushActionResponse">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="1" maxOccurs="1" name="JPushActionResult" type="s:long" />
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:element name="DeviceManage">
-        <s:complexType />
-      </s:element>
-      <s:element name="DeviceManageResponse">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="0" maxOccurs="1" name="DeviceManageResult" type="tns:ArrayOfDeviceInfo" />
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:complexType name="ArrayOfDeviceInfo">
-        <s:sequence>
-          <s:element minOccurs="0" maxOccurs="unbounded" name="DeviceInfo" nillable="true" type="tns:DeviceInfo" />
-        </s:sequence>
-      </s:complexType>
-      <s:complexType name="DeviceInfo">
-        <s:sequence>
-          <s:element minOccurs="0" maxOccurs="1" name="RegistrationID" type="s:string" />
-          <s:element minOccurs="0" maxOccurs="1" name="Tag" type="tns:ArrayOfString" />
-          <s:element minOccurs="0" maxOccurs="1" name="Alias" type="s:string" />
-        </s:sequence>
-      </s:complexType>
-      <s:complexType name="ArrayOfString">
-        <s:sequence>
-          <s:element minOccurs="0" maxOccurs="unbounded" name="string" nillable="true" type="s:string" />
-        </s:sequence>
-      </s:complexType>
-      <s:element name="ILiftAddRegID">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="0" maxOccurs="1" name="RegId" type="s:string" />
-            <s:element minOccurs="0" maxOccurs="1" name="Alias" type="s:string" />
-            <s:element minOccurs="0" maxOccurs="1" name="Email" type="s:string" />
-            <s:element minOccurs="0" maxOccurs="1" name="UserMode" type="s:string" />
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:element name="ILiftAddRegIDResponse">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="0" maxOccurs="1" name="ILiftAddRegIDResult" type="s:string" />
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:element name="AddMsg">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="0" maxOccurs="1" name="regid" type="s:string" />
-            <s:element minOccurs="0" maxOccurs="1" name="msgtype" type="s:string" />
-            <s:element minOccurs="0" maxOccurs="1" name="msgcontent" type="s:string" />
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:element name="AddMsgResponse">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="1" maxOccurs="1" name="AddMsgResult" type="s:int" />
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:element name="DeleteToken_Push">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="0" maxOccurs="1" name="regid" type="s:string" />
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:element name="DeleteToken_PushResponse">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="1" maxOccurs="1" name="DeleteToken_PushResult" type="s:int" />
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:element name="AddRegId">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="0" maxOccurs="1" name="RegId" type="s:string" />
-            <s:element minOccurs="0" maxOccurs="1" name="Alias" type="s:string" />
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:element name="AddRegIdResponse">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="1" maxOccurs="1" name="AddRegIdResult" type="s:int" />
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:element name="VerifySoapHeader" type="tns:VerifySoapHeader" />
-      <s:complexType name="VerifySoapHeader">
-        <s:sequence>
-          <s:element minOccurs="0" maxOccurs="1" name="Email" type="s:string" />
-          <s:element minOccurs="1" maxOccurs="1" name="UserMode" type="s:int" />
-        </s:sequence>
-        <s:anyAttribute />
-      </s:complexType>
-      <s:element name="MsgList">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="0" maxOccurs="1" name="regid" type="s:string" />
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:element name="MsgListResponse">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="0" maxOccurs="1" name="MsgListResult" type="tns:ArrayOfMsgList" />
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:complexType name="ArrayOfMsgList">
-        <s:sequence>
-          <s:element minOccurs="0" maxOccurs="unbounded" name="MsgList" nillable="true" type="tns:MsgList" />
-        </s:sequence>
-      </s:complexType>
-      <s:complexType name="MsgList">
-        <s:sequence>
-          <s:element minOccurs="1" maxOccurs="1" name="MsgID" type="s:long" />
-          <s:element minOccurs="0" maxOccurs="1" name="Msg" type="s:string" />
-          <s:element minOccurs="0" maxOccurs="1" name="MsgType" type="s:string" />
-          <s:element minOccurs="1" maxOccurs="1" name="MsgTime" type="s:dateTime" />
-        </s:sequence>
-      </s:complexType>
-      <s:element name="long" type="s:long" />
-      <s:element name="ArrayOfDeviceInfo" nillable="true" type="tns:ArrayOfDeviceInfo" />
-      <s:element name="string" nillable="true" type="s:string" />
-      <s:element name="int" type="s:int" />
-      <s:element name="ArrayOfMsgList" nillable="true" type="tns:ArrayOfMsgList" />
-    </s:schema>
-  </wsdl:types>
-  <wsdl:message name="JPushActionSoapIn">
-    <wsdl:part name="parameters" element="tns:JPushAction" />
-  </wsdl:message>
-  <wsdl:message name="JPushActionSoapOut">
-    <wsdl:part name="parameters" element="tns:JPushActionResponse" />
-  </wsdl:message>
-  <wsdl:message name="DeviceManageSoapIn">
-    <wsdl:part name="parameters" element="tns:DeviceManage" />
-  </wsdl:message>
-  <wsdl:message name="DeviceManageSoapOut">
-    <wsdl:part name="parameters" element="tns:DeviceManageResponse" />
-  </wsdl:message>
-  <wsdl:message name="ILiftAddRegIDSoapIn">
-    <wsdl:part name="parameters" element="tns:ILiftAddRegID" />
-  </wsdl:message>
-  <wsdl:message name="ILiftAddRegIDSoapOut">
-    <wsdl:part name="parameters" element="tns:ILiftAddRegIDResponse" />
-  </wsdl:message>
-  <wsdl:message name="AddMsgSoapIn">
-    <wsdl:part name="parameters" element="tns:AddMsg" />
-  </wsdl:message>
-  <wsdl:message name="AddMsgSoapOut">
-    <wsdl:part name="parameters" element="tns:AddMsgResponse" />
-  </wsdl:message>
-  <wsdl:message name="DeleteToken_PushSoapIn">
-    <wsdl:part name="parameters" element="tns:DeleteToken_Push" />
-  </wsdl:message>
-  <wsdl:message name="DeleteToken_PushSoapOut">
-    <wsdl:part name="parameters" element="tns:DeleteToken_PushResponse" />
-  </wsdl:message>
-  <wsdl:message name="AddRegIdSoapIn">
-    <wsdl:part name="parameters" element="tns:AddRegId" />
-  </wsdl:message>
-  <wsdl:message name="AddRegIdSoapOut">
-    <wsdl:part name="parameters" element="tns:AddRegIdResponse" />
-  </wsdl:message>
-  <wsdl:message name="AddRegIdVerifySoapHeader">
-    <wsdl:part name="VerifySoapHeader" element="tns:VerifySoapHeader" />
-  </wsdl:message>
-  <wsdl:message name="MsgListSoapIn">
-    <wsdl:part name="parameters" element="tns:MsgList" />
-  </wsdl:message>
-  <wsdl:message name="MsgListSoapOut">
-    <wsdl:part name="parameters" element="tns:MsgListResponse" />
-  </wsdl:message>
-  <wsdl:message name="JPushActionHttpGetIn">
-    <wsdl:part name="frame" type="s:string" />
-    <wsdl:part name="message" type="s:string" />
-    <wsdl:part name="alarm" type="s:string" />
-  </wsdl:message>
-  <wsdl:message name="JPushActionHttpGetOut">
-    <wsdl:part name="Body" element="tns:long" />
-  </wsdl:message>
-  <wsdl:message name="DeviceManageHttpGetIn" />
-  <wsdl:message name="DeviceManageHttpGetOut">
-    <wsdl:part name="Body" element="tns:ArrayOfDeviceInfo" />
-  </wsdl:message>
-  <wsdl:message name="ILiftAddRegIDHttpGetIn">
-    <wsdl:part name="RegId" type="s:string" />
-    <wsdl:part name="Alias" type="s:string" />
-    <wsdl:part name="Email" type="s:string" />
-    <wsdl:part name="UserMode" type="s:string" />
-  </wsdl:message>
-  <wsdl:message name="ILiftAddRegIDHttpGetOut">
-    <wsdl:part name="Body" element="tns:string" />
-  </wsdl:message>
-  <wsdl:message name="AddMsgHttpGetIn">
-    <wsdl:part name="regid" type="s:string" />
-    <wsdl:part name="msgtype" type="s:string" />
-    <wsdl:part name="msgcontent" type="s:string" />
-  </wsdl:message>
-  <wsdl:message name="AddMsgHttpGetOut">
-    <wsdl:part name="Body" element="tns:int" />
-  </wsdl:message>
-  <wsdl:message name="DeleteToken_PushHttpGetIn">
-    <wsdl:part name="regid" type="s:string" />
-  </wsdl:message>
-  <wsdl:message name="DeleteToken_PushHttpGetOut">
-    <wsdl:part name="Body" element="tns:int" />
-  </wsdl:message>
-  <wsdl:message name="AddRegIdHttpGetIn">
-    <wsdl:part name="RegId" type="s:string" />
-    <wsdl:part name="Alias" type="s:string" />
-  </wsdl:message>
-  <wsdl:message name="AddRegIdHttpGetOut">
-    <wsdl:part name="Body" element="tns:int" />
-  </wsdl:message>
-  <wsdl:message name="MsgListHttpGetIn">
-    <wsdl:part name="regid" type="s:string" />
-  </wsdl:message>
-  <wsdl:message name="MsgListHttpGetOut">
-    <wsdl:part name="Body" element="tns:ArrayOfMsgList" />
-  </wsdl:message>
-  <wsdl:message name="JPushActionHttpPostIn">
-    <wsdl:part name="frame" type="s:string" />
-    <wsdl:part name="message" type="s:string" />
-    <wsdl:part name="alarm" type="s:string" />
-  </wsdl:message>
-  <wsdl:message name="JPushActionHttpPostOut">
-    <wsdl:part name="Body" element="tns:long" />
-  </wsdl:message>
-  <wsdl:message name="DeviceManageHttpPostIn" />
-  <wsdl:message name="DeviceManageHttpPostOut">
-    <wsdl:part name="Body" element="tns:ArrayOfDeviceInfo" />
-  </wsdl:message>
-  <wsdl:message name="ILiftAddRegIDHttpPostIn">
-    <wsdl:part name="RegId" type="s:string" />
-    <wsdl:part name="Alias" type="s:string" />
-    <wsdl:part name="Email" type="s:string" />
-    <wsdl:part name="UserMode" type="s:string" />
-  </wsdl:message>
-  <wsdl:message name="ILiftAddRegIDHttpPostOut">
-    <wsdl:part name="Body" element="tns:string" />
-  </wsdl:message>
-  <wsdl:message name="AddMsgHttpPostIn">
-    <wsdl:part name="regid" type="s:string" />
-    <wsdl:part name="msgtype" type="s:string" />
-    <wsdl:part name="msgcontent" type="s:string" />
-  </wsdl:message>
-  <wsdl:message name="AddMsgHttpPostOut">
-    <wsdl:part name="Body" element="tns:int" />
-  </wsdl:message>
-  <wsdl:message name="DeleteToken_PushHttpPostIn">
-    <wsdl:part name="regid" type="s:string" />
-  </wsdl:message>
-  <wsdl:message name="DeleteToken_PushHttpPostOut">
-    <wsdl:part name="Body" element="tns:int" />
-  </wsdl:message>
-  <wsdl:message name="AddRegIdHttpPostIn">
-    <wsdl:part name="RegId" type="s:string" />
-    <wsdl:part name="Alias" type="s:string" />
-  </wsdl:message>
-  <wsdl:message name="AddRegIdHttpPostOut">
-    <wsdl:part name="Body" element="tns:int" />
-  </wsdl:message>
-  <wsdl:message name="MsgListHttpPostIn">
-    <wsdl:part name="regid" type="s:string" />
-  </wsdl:message>
-  <wsdl:message name="MsgListHttpPostOut">
-    <wsdl:part name="Body" element="tns:ArrayOfMsgList" />
-  </wsdl:message>
-  <wsdl:portType name="WebServicePushSoap">
-    <wsdl:operation name="JPushAction">
-      <wsdl:input message="tns:JPushActionSoapIn" />
-      <wsdl:output message="tns:JPushActionSoapOut" />
-    </wsdl:operation>
-    <wsdl:operation name="DeviceManage">
-      <wsdl:input message="tns:DeviceManageSoapIn" />
-      <wsdl:output message="tns:DeviceManageSoapOut" />
-    </wsdl:operation>
-    <wsdl:operation name="ILiftAddRegID">
-      <wsdl:input message="tns:ILiftAddRegIDSoapIn" />
-      <wsdl:output message="tns:ILiftAddRegIDSoapOut" />
-    </wsdl:operation>
-    <wsdl:operation name="AddMsg">
-      <wsdl:input message="tns:AddMsgSoapIn" />
-      <wsdl:output message="tns:AddMsgSoapOut" />
-    </wsdl:operation>
-    <wsdl:operation name="DeleteToken_Push">
-      <wsdl:input message="tns:DeleteToken_PushSoapIn" />
-      <wsdl:output message="tns:DeleteToken_PushSoapOut" />
-    </wsdl:operation>
-    <wsdl:operation name="AddRegId">
-      <wsdl:input message="tns:AddRegIdSoapIn" />
-      <wsdl:output message="tns:AddRegIdSoapOut" />
-    </wsdl:operation>
-    <wsdl:operation name="MsgList">
-      <wsdl:input message="tns:MsgListSoapIn" />
-      <wsdl:output message="tns:MsgListSoapOut" />
-    </wsdl:operation>
-  </wsdl:portType>
-  <wsdl:portType name="WebServicePushHttpGet">
-    <wsdl:operation name="JPushAction">
-      <wsdl:input message="tns:JPushActionHttpGetIn" />
-      <wsdl:output message="tns:JPushActionHttpGetOut" />
-    </wsdl:operation>
-    <wsdl:operation name="DeviceManage">
-      <wsdl:input message="tns:DeviceManageHttpGetIn" />
-      <wsdl:output message="tns:DeviceManageHttpGetOut" />
-    </wsdl:operation>
-    <wsdl:operation name="ILiftAddRegID">
-      <wsdl:input message="tns:ILiftAddRegIDHttpGetIn" />
-      <wsdl:output message="tns:ILiftAddRegIDHttpGetOut" />
-    </wsdl:operation>
-    <wsdl:operation name="AddMsg">
-      <wsdl:input message="tns:AddMsgHttpGetIn" />
-      <wsdl:output message="tns:AddMsgHttpGetOut" />
-    </wsdl:operation>
-    <wsdl:operation name="DeleteToken_Push">
-      <wsdl:input message="tns:DeleteToken_PushHttpGetIn" />
-      <wsdl:output message="tns:DeleteToken_PushHttpGetOut" />
-    </wsdl:operation>
-    <wsdl:operation name="AddRegId">
-      <wsdl:input message="tns:AddRegIdHttpGetIn" />
-      <wsdl:output message="tns:AddRegIdHttpGetOut" />
-    </wsdl:operation>
-    <wsdl:operation name="MsgList">
-      <wsdl:input message="tns:MsgListHttpGetIn" />
-      <wsdl:output message="tns:MsgListHttpGetOut" />
-    </wsdl:operation>
-  </wsdl:portType>
-  <wsdl:portType name="WebServicePushHttpPost">
-    <wsdl:operation name="JPushAction">
-      <wsdl:input message="tns:JPushActionHttpPostIn" />
-      <wsdl:output message="tns:JPushActionHttpPostOut" />
-    </wsdl:operation>
-    <wsdl:operation name="DeviceManage">
-      <wsdl:input message="tns:DeviceManageHttpPostIn" />
-      <wsdl:output message="tns:DeviceManageHttpPostOut" />
-    </wsdl:operation>
-    <wsdl:operation name="ILiftAddRegID">
-      <wsdl:input message="tns:ILiftAddRegIDHttpPostIn" />
-      <wsdl:output message="tns:ILiftAddRegIDHttpPostOut" />
-    </wsdl:operation>
-    <wsdl:operation name="AddMsg">
-      <wsdl:input message="tns:AddMsgHttpPostIn" />
-      <wsdl:output message="tns:AddMsgHttpPostOut" />
-    </wsdl:operation>
-    <wsdl:operation name="DeleteToken_Push">
-      <wsdl:input message="tns:DeleteToken_PushHttpPostIn" />
-      <wsdl:output message="tns:DeleteToken_PushHttpPostOut" />
-    </wsdl:operation>
-    <wsdl:operation name="AddRegId">
-      <wsdl:input message="tns:AddRegIdHttpPostIn" />
-      <wsdl:output message="tns:AddRegIdHttpPostOut" />
-    </wsdl:operation>
-    <wsdl:operation name="MsgList">
-      <wsdl:input message="tns:MsgListHttpPostIn" />
-      <wsdl:output message="tns:MsgListHttpPostOut" />
-    </wsdl:operation>
-  </wsdl:portType>
-  <wsdl:binding name="WebServicePushSoap" type="tns:WebServicePushSoap">
-    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
-    <wsdl:operation name="JPushAction">
-      <soap:operation soapAction="http://tempuri.org/JPushAction" style="document" />
-      <wsdl:input>
-        <soap:body use="literal" />
-      </wsdl:input>
-      <wsdl:output>
-        <soap:body use="literal" />
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="DeviceManage">
-      <soap:operation soapAction="http://tempuri.org/DeviceManage" style="document" />
-      <wsdl:input>
-        <soap:body use="literal" />
-      </wsdl:input>
-      <wsdl:output>
-        <soap:body use="literal" />
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="ILiftAddRegID">
-      <soap:operation soapAction="http://tempuri.org/ILiftAddRegID" style="document" />
-      <wsdl:input>
-        <soap:body use="literal" />
-      </wsdl:input>
-      <wsdl:output>
-        <soap:body use="literal" />
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="AddMsg">
-      <soap:operation soapAction="http://tempuri.org/AddMsg" style="document" />
-      <wsdl:input>
-        <soap:body use="literal" />
-      </wsdl:input>
-      <wsdl:output>
-        <soap:body use="literal" />
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="DeleteToken_Push">
-      <soap:operation soapAction="http://tempuri.org/DeleteToken_Push" style="document" />
-      <wsdl:input>
-        <soap:body use="literal" />
-      </wsdl:input>
-      <wsdl:output>
-        <soap:body use="literal" />
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="AddRegId">
-      <soap:operation soapAction="http://tempuri.org/AddRegId" style="document" />
-      <wsdl:input>
-        <soap:body use="literal" />
-        <soap:header message="tns:AddRegIdVerifySoapHeader" part="VerifySoapHeader" use="literal" />
-      </wsdl:input>
-      <wsdl:output>
-        <soap:body use="literal" />
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="MsgList">
-      <soap:operation soapAction="http://tempuri.org/MsgList" style="document" />
-      <wsdl:input>
-        <soap:body use="literal" />
-      </wsdl:input>
-      <wsdl:output>
-        <soap:body use="literal" />
-      </wsdl:output>
-    </wsdl:operation>
-  </wsdl:binding>
-  <wsdl:binding name="WebServicePushSoap12" type="tns:WebServicePushSoap">
-    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
-    <wsdl:operation name="JPushAction">
-      <soap12:operation soapAction="http://tempuri.org/JPushAction" style="document" />
-      <wsdl:input>
-        <soap12:body use="literal" />
-      </wsdl:input>
-      <wsdl:output>
-        <soap12:body use="literal" />
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="DeviceManage">
-      <soap12:operation soapAction="http://tempuri.org/DeviceManage" style="document" />
-      <wsdl:input>
-        <soap12:body use="literal" />
-      </wsdl:input>
-      <wsdl:output>
-        <soap12:body use="literal" />
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="ILiftAddRegID">
-      <soap12:operation soapAction="http://tempuri.org/ILiftAddRegID" style="document" />
-      <wsdl:input>
-        <soap12:body use="literal" />
-      </wsdl:input>
-      <wsdl:output>
-        <soap12:body use="literal" />
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="AddMsg">
-      <soap12:operation soapAction="http://tempuri.org/AddMsg" style="document" />
-      <wsdl:input>
-        <soap12:body use="literal" />
-      </wsdl:input>
-      <wsdl:output>
-        <soap12:body use="literal" />
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="DeleteToken_Push">
-      <soap12:operation soapAction="http://tempuri.org/DeleteToken_Push" style="document" />
-      <wsdl:input>
-        <soap12:body use="literal" />
-      </wsdl:input>
-      <wsdl:output>
-        <soap12:body use="literal" />
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="AddRegId">
-      <soap12:operation soapAction="http://tempuri.org/AddRegId" style="document" />
-      <wsdl:input>
-        <soap12:body use="literal" />
-        <soap12:header message="tns:AddRegIdVerifySoapHeader" part="VerifySoapHeader" use="literal" />
-      </wsdl:input>
-      <wsdl:output>
-        <soap12:body use="literal" />
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="MsgList">
-      <soap12:operation soapAction="http://tempuri.org/MsgList" style="document" />
-      <wsdl:input>
-        <soap12:body use="literal" />
-      </wsdl:input>
-      <wsdl:output>
-        <soap12:body use="literal" />
-      </wsdl:output>
-    </wsdl:operation>
-  </wsdl:binding>
-  <wsdl:binding name="WebServicePushHttpGet" type="tns:WebServicePushHttpGet">
-    <http:binding verb="GET" />
-    <wsdl:operation name="JPushAction">
-      <http:operation location="/JPushAction" />
-      <wsdl:input>
-        <http:urlEncoded />
-      </wsdl:input>
-      <wsdl:output>
-        <mime:mimeXml part="Body" />
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="DeviceManage">
-      <http:operation location="/DeviceManage" />
-      <wsdl:input>
-        <http:urlEncoded />
-      </wsdl:input>
-      <wsdl:output>
-        <mime:mimeXml part="Body" />
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="ILiftAddRegID">
-      <http:operation location="/ILiftAddRegID" />
-      <wsdl:input>
-        <http:urlEncoded />
-      </wsdl:input>
-      <wsdl:output>
-        <mime:mimeXml part="Body" />
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="AddMsg">
-      <http:operation location="/AddMsg" />
-      <wsdl:input>
-        <http:urlEncoded />
-      </wsdl:input>
-      <wsdl:output>
-        <mime:mimeXml part="Body" />
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="DeleteToken_Push">
-      <http:operation location="/DeleteToken_Push" />
-      <wsdl:input>
-        <http:urlEncoded />
-      </wsdl:input>
-      <wsdl:output>
-        <mime:mimeXml part="Body" />
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="AddRegId">
-      <http:operation location="/AddRegId" />
-      <wsdl:input>
-        <http:urlEncoded />
-      </wsdl:input>
-      <wsdl:output>
-        <mime:mimeXml part="Body" />
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="MsgList">
-      <http:operation location="/MsgList" />
-      <wsdl:input>
-        <http:urlEncoded />
-      </wsdl:input>
-      <wsdl:output>
-        <mime:mimeXml part="Body" />
-      </wsdl:output>
-    </wsdl:operation>
-  </wsdl:binding>
-  <wsdl:binding name="WebServicePushHttpPost" type="tns:WebServicePushHttpPost">
-    <http:binding verb="POST" />
-    <wsdl:operation name="JPushAction">
-      <http:operation location="/JPushAction" />
-      <wsdl:input>
-        <mime:content type="application/x-www-form-urlencoded" />
-      </wsdl:input>
-      <wsdl:output>
-        <mime:mimeXml part="Body" />
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="DeviceManage">
-      <http:operation location="/DeviceManage" />
-      <wsdl:input>
-        <mime:content type="application/x-www-form-urlencoded" />
-      </wsdl:input>
-      <wsdl:output>
-        <mime:mimeXml part="Body" />
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="ILiftAddRegID">
-      <http:operation location="/ILiftAddRegID" />
-      <wsdl:input>
-        <mime:content type="application/x-www-form-urlencoded" />
-      </wsdl:input>
-      <wsdl:output>
-        <mime:mimeXml part="Body" />
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="AddMsg">
-      <http:operation location="/AddMsg" />
-      <wsdl:input>
-        <mime:content type="application/x-www-form-urlencoded" />
-      </wsdl:input>
-      <wsdl:output>
-        <mime:mimeXml part="Body" />
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="DeleteToken_Push">
-      <http:operation location="/DeleteToken_Push" />
-      <wsdl:input>
-        <mime:content type="application/x-www-form-urlencoded" />
-      </wsdl:input>
-      <wsdl:output>
-        <mime:mimeXml part="Body" />
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="AddRegId">
-      <http:operation location="/AddRegId" />
-      <wsdl:input>
-        <mime:content type="application/x-www-form-urlencoded" />
-      </wsdl:input>
-      <wsdl:output>
-        <mime:mimeXml part="Body" />
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="MsgList">
-      <http:operation location="/MsgList" />
-      <wsdl:input>
-        <mime:content type="application/x-www-form-urlencoded" />
-      </wsdl:input>
-      <wsdl:output>
-        <mime:mimeXml part="Body" />
-      </wsdl:output>
-    </wsdl:operation>
-  </wsdl:binding>
-  <wsdl:service name="WebServicePush">
-    <wsdl:port name="WebServicePushSoap" binding="tns:WebServicePushSoap">
-      <soap:address location="http://service.hdlcontrol.com:8000/WebService/WebServicePush.asmx" />
-    </wsdl:port>
-    <wsdl:port name="WebServicePushSoap12" binding="tns:WebServicePushSoap12">
-      <soap12:address location="http://service.hdlcontrol.com:8000/WebService/WebServicePush.asmx" />
-    </wsdl:port>
-    <wsdl:port name="WebServicePushHttpGet" binding="tns:WebServicePushHttpGet">
-      <http:address location="http://service.hdlcontrol.com:8000/WebService/WebServicePush.asmx" />
-    </wsdl:port>
-    <wsdl:port name="WebServicePushHttpPost" binding="tns:WebServicePushHttpPost">
-      <http:address location="http://service.hdlcontrol.com:8000/WebService/WebServicePush.asmx" />
-    </wsdl:port>
-  </wsdl:service>
-</wsdl:definitions>
\ No newline at end of file
diff --git a/Crabtree/ON.Ios/Resources/Language.ini b/Crabtree/ON.Ios/Resources/Language.ini
index 171a45c..94515ed 100644
--- a/Crabtree/ON.Ios/Resources/Language.ini
+++ b/Crabtree/ON.Ios/Resources/Language.ini
@@ -348,7 +348,7 @@
 352=Delete successfully.
 353=Delete failed.
 354=Data Management
-355=Unable to load gateway list, Unable to load gateway list: current house should be bound at least one gateway in the LAN. Please check and try again.
+355=Unable to load gateway list, Unable to load gateway list: current residence should be bound at least one gateway in the LAN. Please check and try again.
 356=Add
 357=This device is not found locally, do you want to delete it?
 358=Universal Device
@@ -1052,7 +1052,7 @@
 20000=Invalid login key, please log in again!
 20001=Failed to request the server, please try again later!
 20002=The system is under maintenance, please try again later!
-20003=Login failed, please add a house first!
+20003=Login failed, please add a residence first!
 20004=Account already exists
 20005=The verification code is sent frequently, please try again later!
 20006=Signature error
@@ -1064,8 +1064,8 @@
 20012=Sub account does not exist
 20013=Cannot add yourself as a member
 20014=The current residence does not belong to the account
-20015=House name already exists
-20016=The house does not exist
+20015=Residence name already exists
+20016=The residence does not exist
 20017=The request failed, the parameter is abnormal!
 20018=Duplicate binding number
 20019=Please bind the gateway first
diff --git a/Crabtree/ON/Assets/Language.ini b/Crabtree/ON/Assets/Language.ini
index 631a546..b158c1c 100644
--- a/Crabtree/ON/Assets/Language.ini
+++ b/Crabtree/ON/Assets/Language.ini
@@ -25,7 +25,7 @@
 24=Button:
 25=Configured
 26=Setting
-27=Image
+27=Iamge
 28=Room Name
 29=Maximum:
 30=Low Limit:
@@ -71,7 +71,7 @@
 70=Open
 71=Stop
 72=Curtain Device
-73=Set Point --掳C
+73=Set Point --掳
 74=AC Device 
 75=Indoor
 76=Mode
@@ -112,8 +112,8 @@
 111=Setpoint
 112=Dry Contact
 113=Current Status
-114=Select Type
-115=Select Brand
+114=Select device Type
+115=Select device Brand
 116=Infrared Code
 117=STB
 118=Infrared Module
@@ -124,7 +124,7 @@
 123=Playlist
 124=No Reply From Remote Device
 125=Remote Connection Succeeded
-126=Remote Connection Failed,The remote password is incorrect.
+126=Remote Connection Failed
 127=User Name Does Not Exist
 128=Connect To Remote Access Server Failed
 129=Data Forwarding Failed
@@ -149,7 +149,7 @@
 148=Curtain Test
 149=Take Photo
 150=Album
-151=Background image
+151=Bachground image
 152=Current Brightness
 153=Device
 154=Floor
@@ -209,7 +209,6 @@
 210=Add Button
 211=Volume
 212=AV/TV
-213=Return
 214=Cancel Binding?
 215=Failed
 216=Channel
@@ -267,7 +266,7 @@
 268=Fine Tune
 269=Long Press to Configure Height
 270=Close
-271=Do You Want To Delete this Device Category?
+271=Do You Want To Delete this Function?
 272=Turn OFF All Appliances
 273=Turn ON All Appliances
 274=Turn ON All Fans
@@ -292,11 +291,9 @@
 293=High
 294=Medium
 295=Low
-296=CLOSE
 297=Channle Name:
 298=Channel Number:
 299=SHOW ALL
-300=Login System
 301=Change the password
 302=Please select the type of action.
 303=Download Data
@@ -306,14 +303,14 @@
 307=Theme changed successfully. Please restart the application.
 308=Restore default skin
 309=Favourite
-310=Devices
+310=Function
 311=Rooms
 312=DoorLock List
 313=TV List
 314=Sensor
 315=Phone number
-316=A varification link has been sent to your email ID, please check. 
-317=Network abnormal, unable to connect to the Internet.
+316=Verification mail sent.
+317=Fail to communicate with the server.
 318=Banned debugging account.
 319=Mobile registration
 320=Next
@@ -333,7 +330,7 @@
 334=Incorrect MAC
 335=Enable debugging account
 336=Debug Account
-337=Add Subaccount
+337=Add Sub account
 338=Are you sure to Delete sub account?
 339=Password should contain 6 or more characters.
 340=Password changed successfully
@@ -351,7 +348,7 @@
 352=Delete successfully.
 353=Delete failed.
 354=Data Management
-355=The results do not contain the gateway bounded to the area. Please check and search again.
+355=Unable to load gateway list, Unable to load gateway list: current residence should be bound at least one gateway in the LAN. Please check and try again.
 356=Add
 357=This device is not found locally, do you want to delete it?
 358=Universal Device
@@ -361,7 +358,7 @@
 362=Deactivate security
 363=Security activation failed
 364=Security activation succeeded
-365=Sensor Status
+365=Sensor State
 366=History
 367=Change password
 368=Clear
@@ -415,7 +412,7 @@
 420=Moderately polluted
 421=Heavily polluted
 422=Temperature reference data
-423=(Temperature unit 掳C)
+423=(Temperature unit 掳)
 424=Comfortable
 425=Cool/Lightly hot
 426=Cold/Hot
@@ -472,7 +469,7 @@
 477=Custom Condition 3;
 478=Custom Condition 2;
 479=Custom Condition 1;
-480=SensorHadChoose
+480=Sensor Had Choose
 481=Push Closed
 482=Push Open
 483=Data History
@@ -491,6 +488,33 @@
 496=Time
 497=Repeat
 498=Choose Room
+499=Application update
+500=Query version
+501=Current version:
+502=Latest edition:
+503=Outdoor 
+504=Smaller
+505=Bigger
+506=Sonos
+507=Super Wireless
+508=Tones
+509=Cool
+510=Warm
+511=Are you want to log out?
+512=Clear data
+513=膶esky
+514=English
+515=绠�浣撲腑鏂�
+516=Language settings
+517=Please enter your login details.
+518=Please enter your user login name.
+519=Please enter your user login password.
+520=Network abnormal, unable to connect to the Internet.
+521=Link server successful...
+522=Connecting...
+523=Function management
+524=Gateway is not online, remote connection failed.
+525=The remote connection has been disconnected.
 
 1000=Music Source
 1001=Music Player
@@ -547,7 +571,7 @@
 1052=QQ Music
 1053=Spotify
 1054=No application installed
-1055=Loading
+1055=Loading...
 1056=Rename
 1057=Return
 1058=Rename Device
@@ -625,10 +649,181 @@
 1130=Chinese
 1131=English
 1132=Password must be 8 characters or above.
+2000=Sync
+2001= Syncing
+2002=Panel List
+2003=Granite
+
+
+5099=Scene list
+5100=Logic list
+5101=Scene update
+5103=Play mode
+5104=Sound effect
+5105=Not set
+5106=Activate
+5107=Stop
+5108=Pause
+5109=Random play
+5110=Loop play
+5111=Single cycle
+5112=Classic
+5113=Modern
+5114=Rock
+5115=Pop
+5116=Dance
+5117=Original
+5118=Name
+5119=Singer
+5120=Update logic
+5121=Edit
+5122=Delete
+5123=Select condition
+5124=Please select conditions
+5125=Time condition
+5126=Device status condition
+5127=Existed automation condition
+5128=Start time
+5129=Note
+5130=End time should be later than Start time.
+5131=End time
+5132=Please set the schedule according to your needs.
+5133=Time
+5134=Sunrise/Sunset
+5135=Cycle
+5136=Please set time before the next step.
+5137=Advanced gateway
+5138=Time condition
+5139=Condition
+5140=Activate device
+5141=Activate scene
+5142=Activate push notification
+5143=Before sunrise
+5144=After sunrise
+5145=Before sunset
+5146=After sunset
+5147=Please set the period to repeat the scene.
+5148=Launch once
+5149=Every day
+5150=Weekday
+5151=Weekend
+5152=Day of the week
+5153=Monday
+5154=Tuesday
+5155=Wednesday
+5156=Thursday
+5157=Friday
+5158=Saturday
+5159=Sunday
+5160=Date
+5161=Start date
+5162=End date
+5163=Custom
+5164=Activated target
+5165=Week
+5166=Add activated target
+5167=Please select type
+5168=Device
+5169=Scene
+5170=Existed automation
+5171=Add device
+5172=Please select device
+5174=Intelligent lock
+5175=Panel
+5176=Sensor
+5177=Please select
+5178=Please set
+5179=Status
+5180=On
+5181=Off
+5182=Brightness
+5183=Dry contact
+5184=Time-delay status
+5185=In advance
+5186=Delay
+5187=Add scene
+5188=Please select scene
+5189=Please select existed automation
+5190=Please enter name
+5191=Please enter logic name
+5192=Bright mode
+5193=Soft mode
+5194=Energy-saving mode
+5195=TV mode
+5196=Enable
+5197=Disable
+5198=Please select existed automation
+5199=Current indoor temperature
+5200=AC temperature
+5201=Please set temperature range.
+5202=Please set device temperature.
+5203=Please select time condition before next step.
+5204=Please set logic condition before next step.
+5205=Please select logic before next step.
+5206=Please select scene before next step.
+5207=Are you sure to cancel the selected conditions and targets?
+5208=Current brightness
+5209=Temperature
+5210=Percent
+5211=Please select device status condition before next step.
+5212=Already
+5213=Please select the condition combination.
+5214=When all the conditions are met
+5215=When one of the conditions is met
+5216=Minute
+5217=Second
+5218=Month
+5219=Day
+5220=Minute
+5221=Start time should be earlier than end time.
+5222=Fresh air
+5223=Please enter device activation delay time (s)
+5224=Please enter number
+5225=Please select mode
+5226=Floor heat temperature
+5227=Fresh air mode
+5228=Click
+5229=Press and hold
+5230=Press and hold, then release
+5231=Double click
+5232=Play
+5233=Full battery
+5234=Low battery
+5235=Do not trigger
+5236=Trigger
+5237=Relative humidity
+5238=Polluted
+5239=Normal
+5240=Excellent
+5241=Name already exists, please edit.
+5242=Every month
+5243=Every year
+5244=Day
+5245=Environment temperature
+5246=Select a song
+5247=Operation unsupported
+5248=Only supports 8 time conditions
+5249= Logic condition or target should not be empty
+5250=Sunrise  
+5251=Sunset
+5252=Not set
+5253=The total number of "Device State" and "Automation" should not be more than 8.
+5254=higher
+5255=equal
+5256=lower
+5257=compare
+5258=Disable;
+5259=Sunrise;
+5260=Sunset;
+5261=Before sunrise;
+5262=After sunrise;
+5263=Before sunset;
+5264=After sunset;
+5265=Sync
+5266=Add to Group
 
 11000=Channel Name  
 10000=All Floor Heatings
-10001=Current
 10002=Day
 10003=Away
 10004=Normal
@@ -653,16 +848,16 @@
 10023=Please enter password
 10024=Please Bind STB 
 10025=Bind STB 
-10026=Enter Current Password      
-10027=Enter New Password        
-10028=Confirm New Password        
+10026=Please Enter Current Password      
+10027=Please enter New Password        
+10028=Please Confirm New Password        
 10029=Password        
 10030=Please enter Pasword       
 10031=Please Confirm Password 
-10032=Register 
+10032=Sign up 
 10033=Forgot?
 10034=Email 
-10035=User ID/Email ID
+10035=Email ID              
 10036=District
 10037=Phone number      
 10038=Contacts 
@@ -685,7 +880,6 @@
 10055=Check Mailbox And Reset Password
 10056=Backup list
 10057=Please enter a backup name
-10058=New
 10059=Backup
 10060=Detailed Information
 10061=Are you sure to delete this Backup?
@@ -709,7 +903,6 @@
 10079=Video surveillance 
 10080=Camera Type
 10081=Http
-10082=Type Selection
 10083=EZVIZ Camera
 10084=PW:
 10085=Please enter Camera Name
@@ -731,8 +924,7 @@
 10110=Unlock history
 10111=Edited
 10113=Fingerprint List
-10114=Unedit Password
-10115=Unedit Proximity Card
+
 10116=Scence configuration
 10117=UnEdited Scene       
 10118=New Name 
@@ -855,7 +1047,52 @@
 10236=Doorlock Alarm turned off Successfully
 10237=Failed to turn off doorlock Alarm  
 10238=Notification sent Successfully
-10239=Failed to Send Notification 
+10239=Failed to Send Notification
+
+20000=Invalid login key, please log in again!
+20001=Failed to request the server, please try again later!
+20002=The system is under maintenance, please try again later!
+20003=Login failed, please add a residence first!
+20004=Account already exists
+20005=The verification code is sent frequently, please try again later!
+20006=Signature error
+20007=The system is busy, please try again later!
+20008=Invalid login key
+20009=User has been disabled
+20010=The original password is wrong
+20011=Sub account already exists
+20012=Sub account does not exist
+20013=Cannot add yourself as a member
+20014=The current residence does not belong to the account
+20015=Residence name already exists
+20016=The residence does not exist
+20017=The request failed, the parameter is abnormal!
+20018=Duplicate binding number
+20019=Please bind the gateway first
+20020=The gateway does not exist
+20021=The gateway is offline
+20022=The device is offline
+20023=Control failed
+20024=The scene already exists
+20025=Automation already exists
+20026=spk does not support this function
+20027=spk function does not support this function value
+20028=No permission
+20029=Duplicate device target
+20030=No remote control permission
+20031=The device cannot be empty
+20032=User does not have permission to the device
+20033=The device does not exist
+20035=The verification code is wrong, please re-enter
+20036=Failed to send the verification code.
+20037=Your account has been logged in elsewhere, if it is not your own operation, please change your password immediately!
+20038=Login failed, account or password is wrong
+20039=Account does not exist
+20040=Registration failed, please try again.
+20041=There are too many incorrect passwords and the account is locked!
+20042=The verification code has been sent, please enter the verification code.
+20043=Please retrieve your password by forgetting it or try again in {0} minutes.
+20044=Please enter the verification code
 
 [Chinese]
 1=浣犲ソ
@@ -930,7 +1167,7 @@
 70=寮�
 71=鍋�
 72=绐楀笜璁惧
-73=璁剧疆娓╁害  --掳C
+73=璁剧疆娓╁害  --掳
 74=绌鸿皟璁惧
 75=瀹ゅ唴娓╁害
 76=妯� 寮�
@@ -983,7 +1220,7 @@
 123=闊充箰鍒楄〃
 124=杩滅▼璁惧娌℃湁鍥炲
 125=杩滅▼杩炴帴鎴愬姛
-126=杩滅▼杩炴帴澶辫触锛岃繙绋嬪瘑鐮侀敊璇��
+126=杩滅▼杩炴帴澶辫触
 127=鐢ㄦ埛鍚嶄笉瀛樺湪
 128=杩炴帴杩滅▼鏈嶅姟鍣ㄥけ璐�
 129=鏁版嵁杞彂澶辫触
@@ -1068,7 +1305,6 @@
 210=鏂板鎸夐敭
 211=闊抽噺
 212=AV/TV
-213=杩斿洖
 214=鏄惁瑕佸彇娑堢粦瀹氾紵
 215=鎿嶄綔澶辫触锛�
 216=閫氶亾
@@ -1151,11 +1387,9 @@
 293=楂橀
 294=涓
 295=浣庨
-296=鍏抽棴
 297=棰戦亾鍚嶇О锛�
 298=棰戦亾缂栧彿锛�
 299=鏄剧ず鍏ㄩ儴
-300=鐧诲綍绯荤粺
 301=淇敼瀵嗙爜
 302=璇烽�夋嫨鎿嶄綔绫诲瀷銆�
 303=涓嬭浇鏁版嵁
@@ -1210,7 +1444,7 @@
 352=鍒犻櫎鎴愬姛銆�
 353=鍒犻櫎澶辫触銆�
 354=鏁版嵁绠$悊
-355=鎼滅储鍒扮殑缃戝叧涓嶅寘鍚綋鍓嶅尯鍩熺粦瀹氱殑缃戝叧锛岃纭鍚庡啀鎼滅储銆�
+355=鏃犳硶鍔犺浇缃戝叧鍒楄〃锛屽綋鍓嶄綇瀹呴渶瑕佺粦瀹氬眬鍩熺綉涓换鎰忎竴涓綉鍏炽��
 356=娣诲姞
 357=鏈湴涓嶅瓨鍦ㄨ璁惧锛屾槸鍚﹁鍒犻櫎锛�
 358=閫氱敤璁惧
@@ -1274,7 +1508,7 @@
 420=涓害姹℃煋
 421=閲嶅害姹℃煋
 422=娓╁害鍙傝�冩暟鎹�
-423=(娓╁害鍗曚綅 掳C)
+423=(娓╁害鍗曚綅 掳)
 424=鑸掗��
 425=寰喎/寰儹
 426=鍐�/鐑�
@@ -1331,7 +1565,7 @@
 477=鑷畾涔夋潯浠�3;
 478=鑷畾涔夋潯浠�2;
 479=鑷畾涔夋潯浠�1;
-480=鑷姩鍖栦篃缁忛�夋嫨姝ょ瓑绾э紝鏃犳硶鍐嶆閫夋嫨銆�
+480=鑷姩鍖栫瓑绾у凡缁忚閫夋嫨锛屾棤娉曞啀娆¢�夋嫨銆�
 481=鎺ㄩ�佷娇鑳斤細鍏�
 482=鎺ㄩ�佷娇鑳斤細寮�
 483=鍘嗗彶鏁版嵁
@@ -1350,6 +1584,33 @@
 496=鏃� 闂�
 497=鍛� 鏈�
 498=閫夋嫨鎴块棿
+499=杞欢鏇存柊
+500=鐗堟湰鏌ヨ
+501=褰撳墠鐗堟湰:
+502=鏈�鏂扮増鏈�:
+503=瀹ゅ娓╁害 
+504=缂� 灏�
+505=鏀� 澶�
+506=Sonos
+507=楂樼骇缃戝叧
+508=鑹叉俯
+509=鍐�
+510=鏆�
+511=鏄惁纭畾閫�鍑虹櫥褰曪紵
+512=鏁版嵁娓呯悊
+513=膶esky
+514=English
+515=绠�浣撲腑鏂�
+516=璇█璁剧疆
+517=璇疯緭鍏ヨ处鍙峰瘑鐮�.
+518=璇疯緭鍏ヨ处鍙�.
+519=璇疯緭鍏ュ瘑鐮�.
+520=缃戠粶寮傚父锛屾棤娉曡繛鎺ュ埌浜掕仈缃�.
+521=閾炬帴鏈嶅姟鍣ㄦ垚鍔�...
+522=Connecting...
+523=璁惧鍔熻兘绠$悊
+524=缃戝叧涓嶅湪绾�,杩滅▼杩炴帴澶辫触銆�
+525=杩滅▼杩炴帴宸叉柇寮�銆�
 
 1000=闊充箰婧�
 1001=鎾斁鍣ㄩ煶涔�
@@ -1406,7 +1667,7 @@
 1052=QQ闊充箰
 1053=Spotify
 1054=娌℃湁瀹夎搴旂敤绋嬪簭
-1055=鍔犺浇涓�
+1055=鍔犺浇涓�...
 1056=閲嶅懡鍚�
 1057=杩斿洖
 1058=璁惧鍛藉悕
@@ -1484,10 +1745,180 @@
 1130=涓枃
 1131=鑻辨枃 
 1132=鎻愮ず锛氬瘑鐮侀暱搴﹂渶瑕佸ぇ浜�8浣嶃��
+2000=鍚屾闈㈡澘鏁版嵁
+2001=姝e湪鍚屾涓�
+2002=闈㈡澘鍒楄〃
+2003=姣呴潰鏉�
+
+5099=鍦烘櫙鍒楄〃
+5100=閫昏緫鍒楄〃
+5101=鏇存柊鍦烘櫙
+5103=鎾斁妯″紡
+5104=闊� 鏁�
+5105=鏈缃�
+5106=鍚姩
+5107=鍋滄
+5108=鏆傚仠
+5109=闅忔満鎾斁
+5110=寰幆鎾斁
+5111=鍗曟洸寰幆
+5112=鍙ゅ吀
+5113=鐜颁唬
+5114=鎽囨粴
+5115=娴佽
+5116=鑸炴洸
+5117=鍘熺敓
+5118=姝� 鍚�
+5119=姝屾墜鍚�
+5120=鏇存柊閫昏緫
+5121=缂栬緫
+5122=鍒犻櫎
+5123=閫夋嫨鏉′欢
+5124=璇烽�夋嫨闇�瑕佺粍鍚堢殑鏉′欢
+5125=鏃堕棿鏉′欢
+5126=璁惧鐘舵�佹潯浠�
+5127=宸叉湁鑷姩鍖栨潯浠�
+5128=寮�濮嬫椂闂�
+5129=鎻愮ず
+5130=寮�濮嬫椂闂村ぇ浜庣粨鏉熸椂闂达紝閲嶆柊璁剧疆鏃堕棿鏃犳晥
+5131=缁撴潫鏃堕棿
+5132=璇锋牴鎹綘鐨勯渶瑕佽缃棩绋�
+5133=鏃堕棿
+5134=鏃ュ嚭/鏃ヨ惤
+5135=鎵ц鍛ㄦ湡
+5136=鏃堕棿杩樻病璁剧疆锛屾棤娉曠户缁墽琛屼笅涓�姝�.
+5137=楂樼骇缃戝叧
+5138=鏃堕棿鏉′欢
+5139=鏉′欢
+5140=鎵ц璁惧
+5141=鎵ц鍦烘櫙
+5142=鎵ц鎺ㄩ�侀�氱煡
+5143=鏃ュ嚭涔嬪墠
+5144=鏃ュ嚭涔嬪悗
+5145=鏃ヨ惤涔嬪墠
+5146=鏃ヨ惤涔嬪悗
+5147=璇烽�夋嫨閲嶅鎵ц鍛ㄦ湡
+5148=鎵ц涓�娆�
+5149=姣忓ぉ
+5150=宸ヤ綔鏃�
+5151=鍛ㄦ湯
+5152=鏄熸湡
+5153=鏄熸湡涓�
+5154=鏄熸湡浜�
+5155=鏄熸湡涓�
+5156=鏄熸湡鍥�
+5157=鏄熸湡浜�
+5158=鏄熸湡鍏�
+5159=鏄熸湡鏃�
+5160=鏃ユ湡
+5161=寮�濮嬫棩鏈�
+5162=缁撴潫鏃ユ湡
+5163=鑷畾涔�
+5164=鎵ц鐩爣
+5165=鍛�
+5166=娣诲姞鎵ц鐩爣
+5167=璇烽�夋嫨绫诲瀷
+5168=璁惧
+5169=鍦烘櫙
+5170=宸叉湁鑷姩鍖�
+5171=娣诲姞璁惧
+5172=璇烽�夋嫨璁惧
+5174=鏅鸿兘闂ㄩ攣
+5175=鎸夐敭闈㈡澘
+5176=浼犳劅鍣�
+5177=璇烽�夋嫨
+5178=璇疯缃�
+5179=鐘舵��
+5180=寮�
+5181=鍏�
+5182=浜害
+5183=骞叉帴鐐�
+5184=寤舵椂鐘舵��
+5185=鎻愬墠
+5186=寤舵椂
+5187=娣诲姞鍦烘櫙
+5188=璇烽�夋嫨鍦烘櫙
+5189=璇烽�夋嫨宸叉湁鑷姩鍖�
+5190=璇疯緭鍏ュ悕绉�
+5191=璇疯緭鍏ラ�昏緫鍚嶇О
+5192=鏄庝寒妯″紡
+5193=鏌斿拰妯″紡
+5194=鑺傝兘妯″紡
+5195=鐢佃妯″紡
+5196=寮�鍚�
+5197=绂佺敤
+5198=璇烽�夋嫨宸叉湁鑷姩鍖栫姸鎬�
+5199=褰撳墠瀹ゅ唴娓╁害
+5200=绌鸿皟娓╁害
+5201=璇烽�夋嫨娓╁害鐨勮寖鍥�
+5202=璇烽�夋嫨璁惧娓╁害
+5203=璇烽�夋嫨鏃堕棿鏉′欢,鍚﹀垯鏃犳硶缁х画鎵ц涓嬩竴姝�.
+5204=璇烽�夋嫨閫昏緫鏉′欢,鍚﹀垯鏃犳硶缁х画鎵ц涓嬩竴姝�.
+5205=璇烽�昏緫,鍚﹀垯鏃犳硶缁х画鎵ц涓嬩竴姝�.
+5206=璇烽�夋嫨鍦烘櫙,鍚﹀垯鏃犳硶缁х画鎵ц涓嬩竴姝�.
+5207=鏄惁鍙栨秷宸查�夋嫨鏉′欢鍜岀洰鏍�.
+5208=浜害涓�
+5209=娓╁害
+5210=鐧惧垎姣�
+5211=璇烽�夋嫨璁惧鐘舵�佹潯浠讹紝鍚﹀垯鏃犳硶缁х画鎵ц涓嬩竴姝�.
+5212=宸�
+5213=璇烽�夋嫨澶氭潯浠剁粍鍚�
+5214=婊¤冻鍏ㄩ儴鏉′欢鏃�
+5215=婊¤冻浠讳竴鏉′欢鏃�
+5216=鍒�
+5217=绉�
+5218=鏈�
+5219=鏃�
+5220=鍒嗛挓
+5221=寮�濮嬫棩鏈熷ぇ浜庣粨鏉熸棩鏈燂紝閲嶆柊璁剧疆鏃ユ湡鏃犳晥
+5222=鏂伴
+5223=璇疯緭鍏ヨ澶囧欢鏃剁殑鏃堕棿(鍗曚綅/s)
+5224=璇疯緭鍏ユ暟瀛�
+5225=璇烽�夋嫨妯″紡
+5226=鍦扮儹娓╁害
+5227=鏂伴妯″紡
+5228=鍗曞嚮
+5229=闀挎寜
+5230=闀挎寜閲婃斁
+5231=鍙屽嚮
+5232=鎾斁
+5233=鐢甸噺姝e父
+5234=鐢甸噺浣�
+5235=涓嶈Е鍙�
+5236=瑙﹀彂
+5237=鐩稿婀垮害
+5238=宸�
+5239=涓�
+5240=浼�
+5241=鍚嶇О宸茬粡瀛樺湪锛岃閲嶆柊鏇村悕
+5242=姣忔湀
+5243=姣忓勾
+5244=鍙�
+5245=鐜娓╁害
+5246=閫夋洸
+5247=鏆備笉鏀寔璇ョ紪杈戯紝缂栬緫涓嶆垚鍔�
+5248=鍙敮鎸�8涓椂闂存潯浠�
+5249=閫昏緫鏉′欢鎴栬�呮墽琛岀洰鏍囦笉鑳戒负绌�
+5250=鏃ュ嚭
+5251=鏃ヨ惤
+5252=鏈缃�
+5253=璁惧鐘舵�佹潯浠跺強宸叉湁鑷姩鍖栨潯浠舵�绘暟涓嶈兘瓒呰繃8涓�
+5254=澶т簬
+5255=绛変簬
+5256=灏忎簬
+5257=姣旇緝 
+5258=涓嶅惎鐢�
+5259=鏃ュ嚭
+5260=鏃ヨ惤
+5261=鏃ュ嚭鍓�
+5262=鏃ュ嚭鍚�
+5263=鏃ヨ惤鍓�
+5264=鏃ヨ惤鍚�
+5265=鍚屾
+5266=娣诲姞鍒扮粍
 
 11000=棰戦亾鍚嶇О 
 10000=鍏ㄩ儴鍦扮儹
-10001=褰撳墠 
 10002=鐧藉ぉ
 10003=绂诲紑
 10004=鏅��
@@ -1544,7 +1975,6 @@
 10055=鏌ョ湅閭骞堕噸缃瘑鐮�
 10056=澶囦唤鍒楄〃
 10057=璇疯緭鍏ュ浠藉悕绉�
-10058=鏂板缓
 10059=澶囦唤
 10060=璇︾粏淇℃伅
 10061=纭畾鍒犻櫎姝ゅ浠藉悧锛�
@@ -1568,7 +1998,6 @@
 10079=瑙嗛鐩戞帶
 10080=鎽勫儚澶寸被鍨�
 10081=Http
-10082=绫诲瀷閫夋嫨
 10083=钀ょ煶鎽勫儚澶�
 10084=瀵嗙爜锛�
 10085=璇疯緭鍏ユ憚鍍忓ご鍚嶇О
@@ -1590,8 +2019,7 @@
 10110=寮�閿佽褰�
 10111=宸茬紪杈�
 10113=鎸囩汗鍒楄〃
-10114=鏈懡鍚嶅瘑鐮�
-10115=鏈紪杈戞劅搴斿崱
+
 10116=閰嶇疆鍦烘櫙
 10117=鏈紪杈戝満鏅�  
 10118=鏂板悕瀛� 
@@ -1717,5 +2145,1062 @@
 10239=鍙戦�侀�氱煡澶辫触
 
 
+[Czech]
+1=Nazdar
+2=V拧e (prvky)
+3=Sv臎tla
+4=Opravdu p艡epnout rezidenci k testov谩n铆 jej铆ch za艡铆zen铆?
+5=Hledej za艡铆zen铆
+6=Parametry s铆t臎 Wireless
+7=Vzd谩len媒 p艡铆stup
+8=Parametry s铆t臎
+9=ID br谩ny:
+10=P谩rov谩n铆 za艡铆zen铆 Wireless
+11=IP Adresa:
+12=Subnet Mask:
+13=Router IP:
+14=Ulo啪
+15=N谩zev projektu:
+16=Jm茅no u啪ivatele:
+17=Heslo:
+18=P谩smo:
+19=P艡idat pokoj
+20=Obnovit
+21=P艡idat za艡铆zen铆
+22=Stm铆va膷:
+23=Za艡铆zen铆 ON/OFF:
+24=Knofl铆k:
+25=Nastaveno
+26=Nastaven铆
+27=Obr.
+28=N谩zev pokoje
+29=Maximum:
+30=Doln铆 limit:
+31=Test
+32=Kan谩l
+33=Zm臎na informac铆
+34=Panel
+35=N谩zev za艡铆zen铆:
+36=Smazat
+37=Potvrdit
+38=Zru拧it
+39=Opravdu zru拧it v拧echny informace o tomto pokoji?
+40=Tip
+41=TV
+42=AC
+43=Z谩v臎sy
+44=Hudba
+45=PZTS
+46=Kamera
+47=Projektor
+48=Opravdu smazat tento prvek?
+49=Br谩na
+50=Prvek
+51=Pokoj
+52=Wireless br谩na
+53=Ethernet
+54=Bez odpov臎di
+55=Zav艡铆t
+56=Zvolte prvek k nastaven铆
+57=V拧echny pokoje
+58=Re啪im
+59=Typ prvku:
+60=Zpo啪d臎n铆 (s):
+61=Zadejte spr谩vn谩 data
+62=P艡i艡adit adresu prvku
+63=Modul z谩v臎s暖
+64=Running Time(s):
+65=Selh谩n铆
+66=脷sp臎ch.
+67=Zadejte 膷铆slo mezi 1 a 100.
+67=Zadejte 膷铆slo mezi 0 a 3600.
+69=Vyberte prvek k vymaz谩n铆.
+70=Otev艡铆t
+71=Stop
+72=Okenn铆 st铆n臎n铆
+73=Zad谩n铆 --掳
+74=Prvek AC
+75=Vevnit艡
+76=Re啪im
+77=Nelze p艡idat, n谩zev existuje.
+78=Zadejte n谩zev pokoje.
+79=P艡idat sc茅nu
+80=N谩zev sc茅ny
+81=Zvolit re啪im
+82=Sc茅na
+83=Zadejte n谩zev sc茅ny.
+84=Nenastaveno
+85=Rychlost v臎tr谩ku
+86=Vyhledej online prvky br谩ny
+87=Opravdu smazat v拧echny informace?
+88=Zadejte spr谩vn谩 data.
+89=Alternativn铆 server IP:
+90=Server IP:
+91=N谩zev skupiny:
+92=Opravdu p艡i艡adit v拧em prvk暖m nov茅 adresy? Pozor, st谩vaj铆c铆 adresy budou vymaz谩ny
+93=P艡i艡adit nov茅 ID v拧em prvk暖m
+94=P艡i艡adit ID nov媒m prvk暖m
+95=Prvek panel
+96=Najdi prvky
+97=Nastavit parametry s铆t臎
+98=Umo啪nit vzd谩len媒 p艡铆stup a nastavit p艡铆slu拧n茅 parametry
+99=Nastavte parametry bezdr谩tov茅 s铆t臎.
+100=Pro novou instalace zvolte "P艡i艡adit nov茅 ID v拧em prvk暖m". Pro p艡id谩n铆 nov媒ch prvk暖 zvolte "P艡i艡adit ID nov媒m prvk暖m".  Pozor: volbou "P艡i艡adit nov茅 ID v拧em prvk暖m" budou st谩vaj铆c铆 ID vymaz谩ny.
+101=Vyhledej prvky p艡ipojen茅 k t茅to br谩n臎.
+102=Zap/Vyp p谩rov谩n铆 Wireless
+103=Zapnout
+104=Topen铆
+105=Vzd谩len茅 ovl谩d谩n铆
+106=Umo啪nit vzd谩l.ovl.
+107=Nov茅 prvky nenalezeny
+108=Panel AC
+109=Panel topen铆
+110=Vybrat c铆lovou AC
+111=Zad谩n铆
+112=Kontakt
+113=Aktu谩ln铆 stav
+114=Vybrat typ prvku
+115=Vybrat zna膷ku prvk暖
+116=K贸d IR
+117=SetTopBox
+118=Modul IR
+119=AC 艡铆zen茅 IR
+120=Prvek IR
+121=Hlasitost
+122=Hudeb. modul
+123=Playlist
+124=Vzd谩len媒 prvek bez odpov臎di
+125=Vzd谩len茅 p艡ipojen铆 OK
+126=Vzd谩len茅 p艡ipojen铆 selhalo
+127=Jm茅no u啪ivatele neexistuje
+128=P艡ipojen铆 k serveru vzd谩l.p艡铆stupu selhalo
+129=P艡ed谩n铆 dat selhalo
+130=艩铆艡ka z谩v臎s暖:
+131=Aktu谩ln铆 %: 
+132=Test 拧铆艡ky z谩v臎s暖
+133=Opravdu p艡em臎艡it?
+134=Login
+135=Login
+136=Registrovat
+137=脷膷et:
+138=Potvrdit heslo:
+139=Zem臎:
+140=M臎sto:
+141=Firma:
+142=Kontakt:
+143=Tel:
+144=Nen铆 konektivita.
+145=Vybrat topen铆
+146=P艡ipojit prvek?
+147=Verze
+148=Test z谩v臎s暖
+149=Vyfotit
+150=Album
+151=Obr. k pozad铆
+152=Aktu谩ln铆 jas
+153=Prvek
+154=Podlaha
+155=Z谩v臎s dolu
+156=System
+157=Z谩v臎s nahoru
+158=Motor vp艡ed
+159=Instalace a zprovozn臎n铆
+160=Nastaven铆 sm臎ru motoru
+161=Reset nastaven铆
+162=Start nahoru
+163=Start dol暖
+164=Momentary
+165=Hotovo
+166=Hotovo
+167=Start Test
+168=Nahoru
+169=Dol暖
+170=V拧echna sv臎tla
+171=V拧echny AC
+172=V拧echny z谩v臎sy
+173=V拧echny sc茅ny
+174=Vyfotit
+175=Seznam prvk暖
+176=Odpojit od serveru vzd谩len茅ho p艡铆stupu
+177=Roleta
+178=Z谩v臎sy
+179=Rychlost v臎tr谩ku
+180=Neplatn茅
+181=Single ON/OFF
+182=Single ON
+183=Single OFF
+184=Combination ON
+185=Combination OFF
+186=Combination ON/OFF
+187=Nastave.z谩v臎s暖 v %
+188=Stav z谩v臎s暖
+189=Stav sv臎tel
+190=Jas
+193=V拧echno Zap
+194=V拧echno Vyp
+195=Zap
+196=Vyp
+197=Topen铆
+198=Chlazen铆
+199=Album syst茅mu
+200=Smazat
+201=Opravdu opustit tuto aplikaci? 
+202=Zap
+203=Potichu
+204=Kan谩l +
+205=Kan谩l -
+206=Hlas.+
+207=Hlas.-
+208=Dom暖
+209=Menu
+210=P艡idat knofl铆k
+211=Hlasitost
+212=AV/TV
+213=Return
+214=Zru拧it p艡ipojen铆?
+215=Selhalo
+216=Kan谩l
+217=Vzd谩len茅 p艡ipojen铆
+218=P艡idat sc茅nu osv臎tlen铆
+219=Pozn.
+220=IP adresa c铆le
+221=P艡enos
+222=Sta啪en铆
+223=Sta啪en铆 selhalo
+224=Sta啪en铆 dokon膷eno, restartujte aplikaci. 
+225=IP adresa mobilu
+226=Oblast
+227=Vytvo艡it
+228=Update
+229=P艡epnout
+230=Zadejte n谩zev rezidence
+231=Spr谩va rezidenc铆
+232=Opravdu smazat tuto rezidenci?
+233=Opravdu obnovit data v t茅to rezidenci?
+234=Stm铆v谩n铆
+235=Rezidence 煤sp臎拧n臎 p艡epnuta.
+236=Oblast pokoje
+237=Glob谩ln铆 sc茅ny
+238=Nastavit sv臎telnou sc茅nu
+239=Stm铆v谩n铆
+240=Doba rozsv铆cen铆
+241=Doba setm臎n铆
+242=P艡epnout sm臎r motoru
+243=Opravdu resetovat nastaven铆?
+244=Nastaven铆 hotovo
+245=Vyp/Zap
+246=Alarm
+247=Smazat zpr谩vy
+248=Auto Test
+249=Opravdu smazat v拧echny zpr谩vy?
+250=Nov谩 zpr谩va
+251=P艡e膷铆st
+252=膶as intervalu: --s
+253=Online
+254=Nov茅 prvky
+255=Offline
+256=P艡ihlaste se.
+257=Skr媒t neplatn茅 pokoje
+258=Zobrazit v拧echny pokoje
+259=V拧echna sv臎tla Zap
+260=V拧echna sv臎tla Vyp
+261=Otev艡铆t v拧echny z谩v臎sy
+261=Zav艡铆t v拧echny z谩v臎sy
+263=:Povel selhal
+264=:Povel proveden
+265=Elektrick茅 za艡铆zen铆
+266=Ventil谩tor
+267=Smazat?
+268=Jemn茅 lad臎n铆
+269=Dlouh媒 stisk k nastaven铆 v媒拧ky
+270=Zav艡铆t
+271=Smazat tuto funkci?
+272=V拧echna el. za艡铆zen铆 Vyp
+273=V拧echna el. za艡铆zen铆 Zap
+274=Zap. v拧echny v臎tr谩ky
+274=Vyp. v拧echny v臎tr谩ky
+276=Hudeb. panel
+277=Logic. modul
+278=Po dobu stisku
+279=Zajist臎te, aby nebyly p艡ipojeny nov茅 prvky
+280=Obnovit seznam prvk暖.
+281=Pokra膷ovat
+282=Update br谩ny selhal.
+283=P艡i艡azen铆 adresy br谩n臎 selhalo.
+284=K volb臎 programovac铆ho re啪imu stisknout programovac铆 tla膷铆tko br谩ny na 2 sec.
+285=沤谩dn媒 vyhledateln媒 prvek
+286=Mechanic. p艡ep铆na膷
+287=P艡ipojte prvek,kter媒 m谩 b媒t p艡id谩n.
+288=Start p艡id臎len铆 adres
+289=Multifunkce
+290=Ventilace
+291=Auto
+292=Odvlh膷ov谩n铆
+293=Velmi
+294=St艡edn臎
+295=M谩lo
+296=CLOSE
+297=N谩zev kan谩lu:
+298=膶铆slo kan谩lu:
+299=Zobrazit v拧e
+300=Login System
+301=Zm臎nit heslo
+302=Vyberte typ akce
+303=St谩hnout data
+304=Zav艡铆t okno
+305=Hledat
+306=Vzhled
+307=Vzhled 煤sp臎拧n臎 zm臎n臎n. Restartujte aplikaci.
+308=Obnovit p艡ednastaven媒 vzhled
+309=Obl铆ben茅
+310=Funkce
+311=Pokoje
+312=Seznam z谩mk暖
+313=Seznam TV
+314=膶idlo
+315=Tel. 膷铆slo
+316=Ov臎艡ovac铆 email zasl谩n.
+317=Spojen铆 se serverem selhalo.
+318=Banned debugging account.
+319=Registrace mobilem
+320=Dal拧铆
+321=Chyba tel. 膷铆sla
+322=Tel. 膷铆slo registrov谩no
+323=Odesl谩n铆 SMS selhalo
+324=Registrace p艡es email
+325=Ov臎艡ovac铆 k贸d
+326=Chybn媒 ov臎艡ovac铆 k贸d
+327=Neplatn媒 ov臎艡ovac铆 k贸d
+328=P艡idat br谩nu
+329=Hlavn铆 str谩nka
+330=MAC br谩ny
+331=脷膷et u啪ivatele
+332=MAC u啪 je pou啪ita
+333=Nelze p艡idat
+334=Chybn谩 MAC
+335=Povolit 煤膷et Debug
+336=脷膷et Debug
+337=P艡idat 煤膷et u啪ivatele
+338=Opravdu zru拧it 煤膷et u啪ivatele?
+339=Heslo mus铆 m铆t aspo艌 6 znak暖.
+340=Heslo 煤sp臎拧n臎 zm臎n臎no.
+341=Zm臎na hesla selhala nebo钮 potvrzen铆 hesla nesouhlas铆.
+342=Registrace prob臎hla
+343=Update verze, z谩lohujte v膷as data. 
+344=Pro p艡id谩n铆 br谩ny stisknout menu
+345=Email
+346=Telefon
+347=Seznam MAC bran
+348=Zadejte 煤膷et u啪ivatele.
+349=Zadejte pozn. k 煤膷tu u啪ivatele.
+350=Zadejte MAC ve tvaru s 16 pozicemi.
+351=Nelze p艡idat, 煤膷et u啪 existuje.
+352=脷sp臎拧n臎 smaz谩no.
+353=V媒maz selhal.
+354=Spr谩va dat
+355=Seznam bran nelze na膷铆st, nebo钮 neobsahuje br谩nu p艡ipojenou k t茅to oblasti. Ov臎艡te a zkuste znovu.
+356=P艡idat
+357=Tento prvek nen铆 nalezen lok谩ln臎, m谩 se smazat?
+358=Za艡铆zen铆 UV
+359=Seznam rezidenc铆
+360=Dovolen谩
+361=N谩v拧t臎va
+362=Deaktivovat PZTS
+363=Selhala aktivace PZTS
+364=Aktivace PZTS OK
+365=Stav 膷idla
+366=Historie
+367=Zm臎nit heslo
+368=Vymazat
+369=Selhala deaktivace PZTS
+370=Aktivace PZTS OK
+371=Offline
+372=Stav PZTS
+373=Dve艡n铆 a okenn铆 膷idla
+374=膶idlo vody
+375=膶idlo spot艡eby
+376=Proudov茅 膷idlo
+377=Nap臎钮ov茅 膷idlo
+378=膶idlo vibrac铆
+379=膶idlo rychlosti
+380=膶idlo v媒拧ky/d茅lky
+381=膶idlo hmotnosti
+382=膶idlo de拧t臎
+383=膶idlo v媒拧ky hladiny
+384=膶idlo vodn铆ho tlaku
+385=膶idlo pr暖toku
+386=膶idlo tlaku v臎tru
+387=膶idlo rychlosti v臎tru
+388=膶idlo zakou艡en铆
+389=膶idlo zemn铆ho plynu
+390=Detektor sv铆tiplynu
+391=Detektor propan-butanu
+392=膶idlo CO2
+393=膶idlo PM2.5
+394=膶idlo TVOC
+395=膶idlo sv臎tla
+396=膶idlo vlhkosti
+397=膶idlo teploty
+398=膶idlo pohybu
+399=V媒born茅
+400=Dobr茅
+401=Lehce zamo艡eno
+402=Siln臎 zamo艡eno
+403=Vlhkost
+404=Ref. data PM2.5
+405=Denn铆 pr暖m臎r PM2.5 (渭g/m鲁)
+410=Ref. data CO2
+411=Denn铆 pr暖m臎r CO2 (ppm)
+412=膶isto
+413=Zamo艡eno
+414=M谩lo kysl铆ku
+415=Velmi m谩lo kysl铆ku
+416=Ref. data TVOC
+417=Denn铆 pr暖m臎r TVOC (ppm)
+418=OK
+419=Lehce zamo艡eno
+420=St艡edn臎 zamo艡eno
+421=Siln臎 zamo艡eno
+422=Ref. data teplota
+423=(Jednotka teploty 掳)
+424=Pohoda
+425=Chladit/Temperovat
+426=Chladit/Topit
+427=Mrazit/Topit
+428=Ref.data vlhkost
+429=(Vlhkost v %)
+430=Vlhko OK
+431=Moc vlhko
+432=Sucho
+433=Teplota
+434=Tepl.
+435=Monitor prost艡ed铆
+436=P艡ipojen铆 煤膷tu k br谩n臎 selhalo.
+437=Zadejte heslo pro HDL ON
+438=B铆l媒 styl
+439=膶ern媒 styl
+440=Aut. nastaven铆
+441=Heslo ke vzd谩l.p艡ipoj.
+442=Stav ventilu : --
+443=Aktu谩l.hodnota: -- %
+444=Seznam rezidenc铆
+445=Proveden铆 zm臎ny selhalo
+446=Ano
+447=Zm臎na provedena
+448=P艡idat novou rezidenci
+449=P艡ipojen铆 provedeno.
+450=Br谩na p艡ipojena 煤sp臎拧n臎, hledat br谩nu?
+451=Oblast v媒mazu. 
+452=Budou smaz谩ny v拧echa data a z谩loha. Potvr膹te zad谩n铆m hesla k 煤膷tu. 
+453=P艡ipojit br谩nu
+454=Nastaven铆 br谩ny
+455=Zm臎na
+456=N谩zev rezidence
+457=Ne
+458=膶erstv媒 vzduch
+459=Ru膷n臎
+460=Stejn谩 tepl.
+461=Smart
+462=Vnit艡n铆 okruh
+463=Venk.teplota
+464=Video Interkom
+465=Chyba.
+466=Nastaven铆 makra
+467=Komunikace s datab谩z铆 selhala.
+468=P艡echlazeno
+469=P艡etopeno
+470=Seznam c铆l暖
+471=Bezejm茅na
+472=Typ prvku
+473=Zvolte typ prvku
+474=Vyberte prvek
+475=Spou拧钮. tepl.
+476=U啪iv. podm铆nka 4
+477=U啪iv. podm铆nka 3
+478=U啪iv. podm铆nka 2
+479=U啪iv. podm铆nka 1
+480=SensorHadChoose
+481=Notifikace ano
+482=Notifikace ne
+483=Datov谩 historie
+484=Rok
+485=Spou拧钮. podm铆nka
+486=Den
+487=7 Dn铆
+488=C铆l
+489=Nelze p艡idat dal拧铆 c铆l!
+490=Opravdu smazat toto makro?
+491=Typ podm铆nky
+492=N谩zev
+493=膶as.pl谩n
+494=N谩pov臎da
+495=N谩zev 拧t铆tku
+496=膶as
+497=Opakovat
+498=Vybrat pokoj
+499=Update aplikace
+500=Verze dotazu
+501=Aktu谩ln铆 verze:
+502=Posled. edice:
+503=Exteri茅r
+504=M茅n臎
+505=V铆ce
+506=Sonos
+507=Super Wireless
+508=Odst铆n
+509=Chladn媒
+510=Tepl媒
+511=Opravdu se odhl谩sit?
+512=Vy膷istit data
+513=膶esky
+514=English
+515=绠�浣撲腑鏂�
+516=Jazykov谩 nastaven铆
+517=Zadejte Va拧e p艡ihla拧. 煤daje.   
+518=Please enter your user login name. 518=Zadejte V谩拧 login.   
+519=Please enter your user login password. 519=Zadejte heslo k Va拧emu loginu.   
+520=Odpojeno ze s铆t臎.   
+521=Link server successfully. 
+522=P艡ipojen铆 k serveru OK. 
+523=Spr谩va funkc铆
+524=Gateway is not online, remote connection failed.
+525=The remote connection has been disconnected.
+
+1000=Zdroj hudby
+1001=Hudeb. p艡ehr谩va膷
+1002=FD optick茅 vl谩kno
+1003=Bluetooth
+1004=FM Radio
+1005=USB
+1006=M铆stn铆 hudba
+1007=Hudeb. server DLNA
+1008=Zvukov媒 stream ze s铆t臎
+1009=M茅 playlisty
+1010=Obl铆ben茅
+1011=M暖j setup
+1012=CD
+1013=Playlisty
+1014=M铆stn铆 hudba
+1015=Songy
+1016=Album
+1017=Zp臎v谩k
+1018=Smazat
+1019=Media Player 
+1020=Hudeb. server DLNA
+1021=My playlists
+1022=Ulo啪it do p艡ehr谩va膷e
+1023=Seznam prvk暖
+1024=Obl铆ben茅
+1025=Prompt 
+1026=Nenalezeny podporovan茅 prvky
+1027=OK
+1028=Pop
+1029=Folk
+1030=Rock
+1031=Klasika
+1032=Zvukov媒 stream ze s铆t臎
+1033=SD karta
+1034=NAS
+1035=R谩dio 啪iv臎
+1036=Obl铆ben谩 hudba
+1037=Obl铆ben茅 r谩dio
+1038=Hudba online
+1039=Cyklus
+1040=M铆chat
+1041=Seznam smy膷ky
+1042=PANDORA
+1043=P
+1044=Login p艡es 煤膷et Pandora
+1045=Nejprve si vytvo艡te 煤膷et na www.pandora.com.
+1046=Login
+1047=Neplatn媒 煤膷et nebo chybn茅 heslo.
+1048=Chyba s铆t臎
+1049=P艡epnout 煤膷et
+1050=脷sp臎ch
+1051=Pandora
+1052=Hudba QQ
+1053=Spotify
+1054=Aplikace nen铆 nainstalovan谩
+1055=Stahov谩n铆...
+1056=P艡ejmenovat
+1057=N谩vrat
+1058=P艡ejmenovat prvek
+1059=Ukon膷it
+1060=Upravit n谩zev pokoje
+1061=Zadat n谩zev prvku
+1062=Zru拧it
+1063=Potvrdit
+1064=R谩dio. stanice
+1065=Podcast
+1066=AudioBoom
+1067=Palcom
+1068=TIDAL
+1069=沤谩dn茅 jm茅no
+1070=N谩zev sezn. u啪 existuje
+1071=Nov媒 seznam p艡id谩n
+1072=Nov媒 seznam
+1073=Smazat aktu谩ln铆 p艡ehr谩va膷
+1074=Tipy
+1075=Konfigurace
+1076=Zadat heslo
+1077=Dal拧铆
+1078=P艡ipojte V谩拧 mobil k s铆ti 2.4GB (Zvolit p艡铆slu拧n茅 SSID 2.4G Hz, pokud m谩 router oba re啪imy)
+1079=N谩zev u啪ivatele
+1080=Heslo
+1081=Lo啪nice
+1082=Studovna
+1083=Pracovna
+1084=Ob媒v谩k
+1085=Zaseda膷ka
+1086=Kuchyn臎
+1087=WC
+1088=Zru拧it skupinu
+1089=Opravdu zru拧it tuto skupinu?
+1090=Nov茅
+1091=TIDAL Rising
+1092=Playlisty
+1093=沤谩nry
+1094=Moje hudba
+1095=Hledat
+1096=Odhl谩拧en铆
+1097=Postup: zadat heslo WiFi, stisknout tla膷铆tko WPS na za艡铆zen铆 a kliknout na "Dal拧铆".
+1098=Aux
+1099=Wi-Fi je vypnut茅. Zapn臎te ho a hledejte znovu.
+1100=P艡ejd臎te k nastaven铆 routeru.
+1101=P艡ipojte se k WiFi, kter茅 za膷铆n谩 HDL鈥�
+1102=Vybrat s铆钮
+1103=Vybrat s铆钮 k p艡ipojen铆.
+1104=Tip: 沤谩dn茅 heslo k Wi-Fi, stisknout p艡铆mo "Dal拧铆".
+1105=Zadat heslo WiFi.
+1106=Vyberte WiFi k p艡ipojen铆.
+1107=Zadejte heslo
+1108=N谩zev p艡ehr谩va膷e
+1109=Zadejte nov媒 n谩zev pro bluetooth.
+1110=Zadejte jm茅no
+1111=Ekvaliz茅r
+1112=Nastaven铆 ekvaliz茅ru
+1113=V媒拧ky
+1114=Basy
+1115=脷sp臎拧n臎 p艡ipojeno
+1116=Time out p艡ipojen铆
+1117=Chybn茅 heslo
+1118=Vyberte WiFi, kter茅 za膷铆n谩 na "HDL***"v nastaven铆 bezdr谩tov茅 s铆t臎 LAN.
+1119=Info o prvku
+1120=S铆钮 LAN
+1121=Hotspot
+1122=Jin茅
+1123=N谩zev repra
+1124=Verze FW
+1125=膶as kompilace
+1126=Jazyk zn臎lky
+1127=N谩vrat k p暖vod.nastaven铆
+1128=Heslo WiFi:
+1129=Jazykov谩 nastaven铆
+1130=膶铆nsky
+1131=Anglicky
+1132=Min d茅lka hesla 8 znak暖.
+2000=Synchro
+2001= Synchro
+2002=Seznam panel暖
+2003=Granite
 
 
+5099=Seznam sc茅n
+5100=Seznam podm铆nek
+5101=Update sc茅ny
+5102=P艡ehr谩va膷
+5103=Re啪im p艡ehr谩v谩n铆
+5104=Zvukov茅 efekty
+5105=Nenastaveno
+5106=Aktivovat
+5107=Stop
+5108=Pauza
+5109=N谩hod.p艡ehr谩v谩n铆
+5110=Smy膷ka
+5111=Jedin媒 pr暖chod
+5112=Klasika
+5113=Modern铆
+5114=Rock
+5115=Pop
+5116=Tane膷n铆 hudba
+5117=Origin谩l
+5118=N谩zev
+5119=Zp臎v谩k
+5120=Update podm铆nku
+5121=Edit
+5122=Smazat
+5123=Vybrat podm铆nku
+5124=Zvolte podm铆nku
+5125=膶asov谩 podm铆nka
+5126=Podm铆nka stavu prvku
+5127=Podm铆nka makra existuje
+5128=膶as startu
+5129=Pozn.
+5130=膶as konce mus铆 b媒t pozd臎ji ne啪 膷as startu.
+5131=膶as konce
+5132=Vyberte 膷asov媒 pl谩n podle Va拧ich pot艡eb.
+5133=膶as
+5134=Sv铆t谩n铆/Z谩pad
+5135=Cykl
+5136=Nap艡ed nastavte 膷as.
+5137=Pokro膷il谩 br谩na
+5138=膶as. podm铆nka
+5139=Podm铆nka
+5140=Aktivovat prvek
+5141=Activate scene
+5142=Aktivovat "push" notifikaci
+5143=P艡ed sv铆t谩n铆m
+5144=Po sv铆t谩n铆
+5145=P艡ed z谩padem
+5146=Po z谩padu
+5147=Vyberte periodu k opakov谩n铆 sc茅ny.
+5148=Spustit jednou
+5149=Ka啪d媒 den
+5150=V拧edn铆 den
+5151=V铆kend
+5152=Den v t媒dnu
+5153=Pond臎l铆
+5154=脷ter媒
+5155=St艡eda
+5156=膶tvrtek
+5157=P谩tek
+5158=Sobota
+5159=Ned臎le
+5160=Datum
+5161=Po膷谩t.datum
+5162=Datum konce
+5163=Zvyk
+5164=Aktivovan媒 c铆l
+5165=T媒den
+5166=P艡idat aktivovan媒 c铆l
+5167=Zvolte typ
+5168=Prvek
+5169=Sc茅na
+5170=Makro existuje
+5171=P艡idat prvek
+5172=Vyberte prvek
+5173=Topen铆
+5174=Inteligentn铆 z谩mek
+5175=Panel
+5176=膶idlo
+5177=Zvolte
+5178=Nastavte
+5179=Stav
+5180=Zap
+5181=Vyp
+5182=Jas
+5183=Kontakt
+5184=Stav zpo啪d臎n铆
+5185=P艡edstih
+5186=Zpo啪d臎n铆
+5187=P艡idat sc茅nu
+5188=Zvolte sc茅nu
+5189=Zvolte existuj铆c铆 makro
+5190=Zadejte n谩zev
+5191=Zadejte n谩zev podm铆nky
+5192=Jas naplno
+5193=Jas tlumen臎
+5194=脷sporn媒 re啪im
+5195=Re啪im TV
+5196=Umo啪nit
+5197=Zak谩zat
+5198=Vyberte existuj铆c铆 makro
+5199=Aktu谩ln铆 vnit艡n铆 teplota
+5200=Teplota AC
+5201=Nastavte rozsah teploty.
+5202=Nastavte teplotu prvku.
+5203=Nap艡ed zvolte 膷asovou podm铆nku.
+5204=Nap艡ed nastavte podm铆nku.
+5205=Nap艡ed zvolte podm铆nku.
+5206=Nap艡ed vyberte sc茅nu. 
+5207=Opravdu zru拧it vybran茅 podm铆nky a c铆le?
+5208=Aktu谩ln铆 jas
+5209=Teplota
+5210=%
+5211=Nap艡ed vyberte podm铆nku stavu prvku.
+5212=u啪
+5213=Vyberte kombinaci podm铆nek.
+5214=Pokud jsou spln臎ny v拧echny podm铆nky
+5215=Pokud je spln臎na jedna podm铆nka
+5216=Minuta
+5217=Sekunda
+5218=M臎s铆c
+5219=Den
+5220=Minuta
+5221=膶as startu mus铆 b媒t d艡铆ve ne啪 膷as konce.
+5222=膶erstv媒 vzduch
+5223=Zadejte zpo啪d臎n铆 aktivace prvku (s)
+5224=Zadejte 膷铆slo
+5225=Vyberte re啪im
+5226=Teplota podlahy
+5227=Re啪im v臎tr谩n铆
+5228=Klik
+5229=Stiskni a dr啪
+5230=Stiskni a dr啪, pot茅 povol
+5231=Dvojklik
+5232=Play
+5233=Baterie pln谩
+5234=Baterie vybit谩
+5235=Nespou拧t臎t
+5236=Spou拧t臎t
+5237=Relativn铆 vlhkost
+5238=Zamo艡eno
+5239=Norm谩l
+5240=Pohoda
+5241=N谩zev u啪 existuje, zadejte jin媒. 
+5242=Ka啪d媒 m臎s铆c
+5243=Ka啪d媒 rok
+5244=Den
+5245=Teplota okol铆
+5246=Vybrat p铆sni膷ku
+5247=Nezn谩m谩 operace
+5248=Max. po膷et podm铆nek je 8
+5249=Podm铆nka nebo c铆l by nem臎ly b媒t pr谩zdn茅
+5250=Sv铆t谩n铆
+5251=Z谩pad
+5252=Nenastaveno
+5253=Max. po膷et "Stav暖 prvk暖" a "Makro" m谩 b媒t m茅n臎 ne啪 8.
+5254=vy拧拧铆
+5255=rovn媒
+5256=ni啪拧铆
+5257=porovnat
+5258=Z谩kaz
+5259=Sv铆t谩n铆
+5260=Z谩pad
+5261=P艡ed sv铆t谩n铆m
+5262=Po sv铆t谩n铆
+5263=P艡ed z谩padem
+5264=Po z谩padu
+5265=Synchro
+5266=P艡idat do skupiny
+
+11000=N谩zev kan谩lu 
+10000=V拧echna topen铆
+10001=Current
+10002=Den
+10003=Pr谩zdn媒 d暖m
+10004=Norm谩l
+10005=Noc
+10006=膶asova膷
+10007=Kan谩l 膷.
+10008=Zadejte n谩zev kan谩lu a 膷铆slo.
+10009=Heslo
+10010=OK 
+10011=Login
+10012=Reset 
+10013=St谩vaj铆c铆 heslo
+10014=Nov茅 heslo
+10015=Potvrdit nov茅 heslo
+10016=Nastavit heslo
+10017=Reset hesla
+10018=Zadejte nov茅 heslo
+10019=Nov茅 heslo je pr谩zdn茅
+10020=Hesla nesouhlas铆. 
+10021=Sou膷asn茅 heslo je chybn茅
+10022=Chybn茅 heslo
+10023=Zadejte heslo
+10024=P艡ipojte Set top box
+10025=P艡ipojit Set top box
+10026=Zadejte st谩vaj铆c铆 heslo
+10027=Zadejte nov茅 heslo
+10028=Potvr膹te nov茅 heslo
+10029=Heslo
+10030=Zadejte heslo
+10031=Potvr膹te heslo
+10032=Vytvo艡it 煤膷et
+10033=Zapomenuto?
+10034=Email 
+10035=Emailov谩 adresa    
+10036=Kraj
+10037=Tel. 膷铆slo
+10038=Kontakty
+10039=Typ
+10040=Zaslat
+10041=Potvrdit heslo
+10042=脷膷et
+10043=Registrovat
+10044=脷膷et
+10045=Odhl谩sit
+10046=脷膷et nen铆 aktivov谩n
+10047=Chybn茅 heslo nebo n谩zev 煤膷tu!
+10048=Vypl艌te v拧echny 啪谩dan茅 informace
+10049=Chyba v adrese emailu
+10050=Email u啪 je registrov谩n
+10051=Odesl谩n铆 mailu selhalo
+10052=Hesla nesouhlas铆, zadejte pros铆m znovu.
+10053=Chyba s铆t臎
+10054=Smazat v拧echna lok谩ln铆 data?
+10055=Prohl茅dnout do拧l茅 maily a resetovat heslo
+10056=Seznam z谩loh
+10057=Zadejte n谩zev z谩lohy
+10058=New
+10059=Z谩loha
+10060=Podrobn茅 info
+10061=Opravdu smazat tuto z谩lohu?
+10062=N谩zev souboru existuje
+10063= Smazat soubor?
+10064锛漃艡ihlaste se.
+10065锛漋媒maz souboru selhal
+10066锛漃艡id谩n铆 souboru selhalo
+10067=Z谩lohovat data?
+10068=Z谩loha dokon膷ena
+10069= St谩hnout a obnovit data?
+10070=Obnova dat provedena
+10071=P艡ihlaste se
+10072=Kontakt
+10073=Firma
+10074=M臎sto
+10075=Zem臎
+10076=Chyba z谩lohov谩n铆
+1077=Teplota
+10078=Reset
+10079=Dohled video
+10080=Typ kamery
+10081=Http
+10082=Type Selection
+10083=Kamera EZVIZ
+10084=Hs:
+10085=Zadejte n谩zev kamery
+10086=Zadejte URL
+10087=Zadejte jm茅no u啪ivatele
+10088=Zadejte heslo
+10089=User:
+10090=URL
+10091=EZVIZ
+10092=Typ kamery
+10093=URL kamery
+10094=N谩zev:
+10104=Z谩mek
+10105=U啪ivatelsk谩 spr谩va
+10106=Generovat do膷asn茅 heslo 
+10107=Odemknout na d谩lku
+10108=P艡idat nov茅ho u啪ivatele
+10109=Zm臎na avataru
+10110=Odemknout historii
+10111=Editov谩no
+10113=Seznam otisk暖 
+10114=Unedit Password
+10115=Unedit Proximity Card
+10116=Nastaven铆 sc茅ny
+10117=Sc茅na nenastavena
+10118=Nov媒 n谩zev
+10119=Aktu谩l. n谩zev
+10120=Nastaven铆 notifikac铆
+10121=Nastaven铆 syst茅mu
+10122=Seznam hesel
+10123=Editovat pozn.
+10124=Do膷asn茅 heslo
+10125=Bezkontakt. karta
+10126=Pozn. je pr谩zdn谩
+10127=Ov臎艡en铆 OK
+10128=Ov臎艡en铆 neprob臎hlo. Opakujte po 5 sek.
+10134=Maxim谩ln臎 15-kr谩t
+10130=Doba platnosti:
+10131=Valid times
+10132=Max. doba platnosti: 65532 minut
+10133=Times
+10134=Do膷asn茅 heslo m暖啪e b媒t pou啪ito dvakr谩t
+10135=Generovat do膷asn茅 heslo
+10136=  Datum
+10137=M臎s铆c
+10138=膶asov谩 kalibrace
+10139=膶asov谩 kalibrace auto
+10140=膶asov谩 kalibrace ru膷n臎
+10141=Minuta
+10142=脷sp臎ch
+10143=Chyba
+10144=Dynamick茅 heslo
+10145=Opravdu generovat dal拧铆 do膷asn茅 dynamick茅 heslo?
+10146=V拧echny notifikace
+10147=Notifikace dve艡铆
+10148=Alarm M谩lo energie
+10149=Alarm Naru拧en铆
+10150=Alarm Pootev艡en茅 dve艡e
+10151=Alarm Chyba
+10152=Notifikace
+10153="Push" notifikace o poplachu
+10154=Nep艡ij铆mat notifikace o poplachu
+10155=Typ
+10156=U啪ivatel
+10157=Otisk prstu
+10158=Heslo
+10159=Proximity Card  
+10160=Kl铆膷
+10161=Vzd谩l.p艡铆stup
+10162=Do膷asn茅 heslo
+10163=Kl铆膷
+10164=Chybn茅 heslo
+10165=Dve艡e nejsou zam膷eny
+10166=Poplach
+10167=M谩lo energie
+10168=Neplatn媒 otisk
+10169=Neplatn谩 karta
+10170=Odemknout锛�
+10171=Alarm锛�
+10172=Notifikace odem膷en铆
+10173=Alarm
+10175=Aktivace sc茅ny
+10176=Sc茅ny na v媒b臎r
+10177=Ve sc茅n臎 nebyly nalezeny c铆le
+10178=Konfigurace c铆l暖鈥�
+10179=Nastaven铆 c铆le prob臎hlo
+10180=Alarm Nastaven铆 sc茅ny
+10181=Zadejte heslo (6 znak暖)
+10182=Stiskni knofl铆k prvku k nastaven铆 hesla.
+10183=Zadejte heslo
+10184=Chyba odesl谩n铆 hesla
+10185=P艡ed zm臎nou hesla zadejte to st谩vaj铆c铆
+10186=Stisknout knofl铆k prvku na 5 s ke zm臎n臎 hesla
+10187=Ke zm臎n臎 hesla zadat st谩vaj铆c铆 heslo a pak stisknout knofl铆k na prvku
+10188=Nastaven铆 膷asu
+10189=Ov臎艡en铆 neprob臎hlo. Opakujte po 15 sek.
+10190=Prvek je offline
+10191=Nastavit hesla
+10192=Jm茅no u啪ivatele
+10193=V拧echny z谩mky
+10194=Heslo nen铆 nastaveno. Doporu膷ujeme nastavit.
+10195=Opravdu zm臎nit heslo?
+10196=Cel谩 historie
+10197=Nastavit heslo
+10198=Forgot Password
+10199=Heslo 煤膷tu
+10200=Chybn茅 heslo
+10201=Cel谩 historie
+10202=Nastavit/zm臎nit heslo pro vzd谩l.odem膷en铆
+10203=Chyb铆 heslo pro vzd谩len茅 odem膷en铆
+10204=Heslo pro vzd谩len茅 odem膷en铆 nastaveno
+10205=V铆tejte ve vzd谩len茅m odem膷en铆
+10206=Va拧e prvn铆 p艡ihl谩拧en铆, zadejte heslo pro vzd谩len茅 odem膷en铆.
+10207=Nastavit
+10208=Pozd臎ji
+10209=Nestavte nebo zm臎艌te heslo (volba Nastaven铆 syst茅mu)
+10210=Nastavete heslo (6 znak暖)
+10210=Nastavte nov茅 heslo (6 znak暖)
+10212=脷膷et nem谩 nastaven茅 heslo
+10213=Nastaven铆 sc茅ny alarmu
+10214=Selhalo nastaven铆 c铆le. Ke sc茅n臎 p艡idejte logick媒 modul.
+10215=Povel selhal
+10216=Otisk nen谩 n谩zev
+10217=Heslo nem谩 n谩zev
+10218=Karta nem谩 n谩zev
+10219=Zapnout alarm?
+10220=Vypnout alarm?
+10221=Otisk prstu
+10222=Heslo 
+10223=Karta
+10224=Vzd谩l.p艡铆stup
+10225="Push" notifikace
+10226=U啪ivatel
+10227=Zadejte obsah notifikace
+10228=Aktu谩ln铆 sc茅na bude smaz谩na, opravdu p艡epnout na sc茅nu?
+10229=Tato sc茅na u啪 je pou啪ita.
+10230=Br谩na nenalezena
+10231=Notifikace 煤sp臎拧n臎 synchronizov谩na
+10231=Selhala synchronizace notifikac铆
+10233=Poslat notifikaci?
+10235=Alarm z谩mku aktivov谩n
+10235=Aktivace alarmu z谩mku selhala
+10235=Alarm z谩mku deaktivov谩n
+10235=Deaktivace alarmu z谩mku selhala
+10238=Notifikace zasl谩na 煤sp臎拧n臎
+10239=Selhalo zasl谩n铆 notifikace
\ No newline at end of file
diff --git a/Crabtree/SmartHome/HDL/Common/HttpUtil/HttpServerRequest.cs b/Crabtree/SmartHome/HDL/Common/HttpUtil/HttpServerRequest.cs
index 72cf834..2b40b7e 100644
--- a/Crabtree/SmartHome/HDL/Common/HttpUtil/HttpServerRequest.cs
+++ b/Crabtree/SmartHome/HDL/Common/HttpUtil/HttpServerRequest.cs
@@ -8,9 +8,11 @@
 
 namespace Shared
 {
+    /// <summary>
+    /// 鎺ュ彛璇锋眰灏佽
+    /// </summary>
     public class HttpServerRequest
     {
-
         #region 鈻� 鍙橀噺澹版槑___________________________
         /// <summary>
         /// 閫氱敤鏂规硶
diff --git a/Crabtree/SmartHome/HDL/Common/HttpUtil/IMessageCommon.cs b/Crabtree/SmartHome/HDL/Common/HttpUtil/IMessageCommon.cs
index 774885c..105bdbc 100644
--- a/Crabtree/SmartHome/HDL/Common/HttpUtil/IMessageCommon.cs
+++ b/Crabtree/SmartHome/HDL/Common/HttpUtil/IMessageCommon.cs
@@ -163,7 +163,7 @@
 
 
             //鎺у埗澶辫触
-            stateCodeDic ["14007"] = MyInternationalizationString.ControlFailure;
+            stateCodeDic ["14007"] = MyInternationalizationString.ControlFailure2;
             //缃戝叧绂荤嚎
             stateCodeDic ["14005"] = MyInternationalizationString.GatewayOffline;
             //璁惧绂荤嚎
@@ -266,13 +266,8 @@
                     {
                         Application.RunOnMainThread(() =>
                         {
-                            var tip = new Tip()
-                            {
-                                Text = mes,
-                                CloseTime = closeTime,
-                                Direction = AMPopTipDirection.None
-                            };
-                            tip.Show(MainPage.MainFrameLayout);
+                            //寮瑰嚭Tip鎻愮ず
+                            Utlis.ShowTip (mes);
                         });
                     }
                     else
diff --git a/Crabtree/SmartHome/HDL/Operation/ResponseEntity/API.cs b/Crabtree/SmartHome/HDL/Operation/ResponseEntity/API.cs
index 9ad9a5a..bb6be2d 100644
--- a/Crabtree/SmartHome/HDL/Operation/ResponseEntity/API.cs
+++ b/Crabtree/SmartHome/HDL/Operation/ResponseEntity/API.cs
@@ -60,10 +60,10 @@
         public static string GetSubAccountByDistributedMark = API_ZigbeeUsers + "GetSubAccountByDistributedMark";
 
 
-        /// <summary>
-        /// UpdateRemoteSwitchPassword
-        /// </summary>
-        public static string UpdateRemoteSwitchPassword = API_ZigbeeUsers + "UpdateRemoteSwitchPassword";
+        ///// <summary>
+        ///// UpdateRemoteSwitchPassword
+        ///// </summary>
+        //public static string UpdateRemoteSwitchPassword = API_ZigbeeUsers + "UpdateRemoteSwitchPassword";
         #endregion
 
         #region APP 閮ㄥ垎
@@ -80,10 +80,10 @@
         public static string UploadHomeAppGatewaySubFiles = API_APP + "UploadHomeAppGatewaySubFiles";
         public static string UploadHomeAppGatewaySingleSubFile = API_APP + "UploadHomeAppGatewaySingleSubFile";
 
-        /// <summary>
-        ///  1.23 鍒犻櫎App澶囦唤[鎵嬪姩澶囦唤浣忓畢銆佹墜鍔ㄥ浠界綉鍏炽�佽嚜鍔ㄥ浠戒綇瀹呫�佸叕鍏卞浠絔鐨勬煇浜涙枃浠�
-        /// </summary>
-        public static string DeleteAppBackupFile = API_APP + "DeleteAppBackupFile";
+        ///// <summary>
+        /////  1.23 鍒犻櫎App澶囦唤[鎵嬪姩澶囦唤浣忓畢銆佹墜鍔ㄥ浠界綉鍏炽�佽嚜鍔ㄥ浠戒綇瀹呫�佸叕鍏卞浠絔鐨勬煇浜涙枃浠�
+        ///// </summary>
+        //public static string DeleteAppBackupFile = API_APP + "DeleteAppBackupFile";
         /// <summary>
         ///  1.24 鑾峰彇浣忓畢澶囦唤鏁版嵁_鍒嗛〉
         /// </summary>
@@ -100,41 +100,41 @@
         ///  1.27 鍒犻櫎椤圭洰(浣忓畢)鍚勭澶囦唤鏂囦欢澶�(鏂囦欢澶逛笅鎵�鏈夋枃浠朵篃浼氬垹闄�)
         /// </summary>
         public static string DelHomeAppGatewayName = API_APP + "DelHomeAppGatewayName";
-        /// <summary>
-        ///  1.28 鏇存柊椤圭洰(浣忓畢)[App(缃戝叧)鎵嬪姩澶囦唤]澶囨敞鍚�
-        /// </summary>
-        public static string UpdateHomeAppGatewayName = API_APP + "UpdateHomeAppGatewayName";
-        /// <summary>
-        ///  1.29 椤圭洰(浣忓畢)涓婣pp鑷姩澶囦唤
-        /// </summary>
-        public static string HomeAppAutoDataBackup = API_APP + "HomeAppAutoDataBackup";
+        ///// <summary>
+        /////  1.28 鏇存柊椤圭洰(浣忓畢)[App(缃戝叧)鎵嬪姩澶囦唤]澶囨敞鍚�
+        ///// </summary>
+        //public static string UpdateHomeAppGatewayName = API_APP + "UpdateHomeAppGatewayName";
+        ///// <summary>
+        /////  1.29 椤圭洰(浣忓畢)涓婣pp鑷姩澶囦唤
+        ///// </summary>
+        //public static string HomeAppAutoDataBackup = API_APP + "HomeAppAutoDataBackup";
 
 
-        /// <summary>
-        ///  1.61 缁戝畾缃戝叧鍒伴」鐩�(浣忓畢)
-        /// </summary>
-        public static string BindGatewayToHome = API_APP + "BindGatewayToHome";
-        /// <summary>
-        ///  1.62 瑙g粦瀹氱綉鍏冲埌椤圭洰(浣忓畢)
-        /// </summary>
-        public static string ReleaseGatewayToHome = API_APP + "ReleaseGatewayToHome";
+        ///// <summary>
+        /////  1.61 缁戝畾缃戝叧鍒伴」鐩�(浣忓畢)
+        ///// </summary>
+        //public static string BindGatewayToHome = API_APP + "BindGatewayToHome";
+        ///// <summary>
+        /////  1.62 瑙g粦瀹氱綉鍏冲埌椤圭洰(浣忓畢)
+        ///// </summary>
+        //public static string ReleaseGatewayToHome = API_APP + "ReleaseGatewayToHome";
 
 
 
 
-        /// <summary>
-        ///  1.63 鑾峰緱鏌愪釜甯愬彿鎵�鏈夊凡缁戝畾鐨勭綉鍏冲垎椤�
-        /// </summary>
-        public static string GetAllBindGatewarysPagger = API_APP + "GetAllBindGatewarysPagger";
+        ///// <summary>
+        /////  1.63 鑾峰緱鏌愪釜甯愬彿鎵�鏈夊凡缁戝畾鐨勭綉鍏冲垎椤�
+        ///// </summary>
+        //public static string GetAllBindGatewarysPagger = API_APP + "GetAllBindGatewarysPagger";
         /// <summary>
         ///  1.64 鑾峰彇鏌愪釜浣忓畢鐨勭綉鍏冲垎椤�
         /// </summary>
         public static string GetSingleHomeGatewayPagger = API_APP + "GetSingleHomeGatewayPagger";
 
-        /// <summary>
-        ///  1.65 UpdateMac 鏇存柊Mac(鍗板害)
-        /// </summary>
-        public static string UpdateMac = API_APP + "UpdateMac";
+        ///// <summary>
+        /////  1.65 UpdateMac 鏇存柊Mac(鍗板害)
+        ///// </summary>
+        //public static string UpdateMac = API_APP + "UpdateMac";
 
         /// <summary>
         ///  1.66 BindMac 鏇存柊缁戝畾Mac(鍗板害)
@@ -159,15 +159,15 @@
         ///// </summary>
         //public static string EditHome = API_APP + "EditHome";
 
-        /// <summary>
-        ///  1.84 鑾峰彇椤圭洰 (浣忓畢)鍒嗛〉
-        /// </summary>
-        public static string GetHomePager = API_APP + "GetHomePager";
+        ///// <summary>
+        /////  1.84 鑾峰彇椤圭洰 (浣忓畢)鍒嗛〉
+        ///// </summary>
+        //public static string GetHomePager = API_APP + "GetHomePager";
 
-        /// <summary>
-        ///  1.85 鑾峰彇鎺у埗鍒嗕韩椤圭洰(浣忓畢)璇锋眰淇℃伅
-        /// </summary>
-        public static string GetSharedHomeApiControl = API_APP + "GetSharedHomeApiControl";
+        ///// <summary>
+        /////  1.85 鑾峰彇鎺у埗鍒嗕韩椤圭洰(浣忓畢)璇锋眰淇℃伅
+        ///// </summary>
+        //public static string GetSharedHomeApiControl = API_APP + "GetSharedHomeApiControl";
         
 
         #endregion
diff --git a/Crabtree/SmartHome/UI/SimpleControl/Phone/Guide/GuideAddResidence.cs b/Crabtree/SmartHome/UI/SimpleControl/Phone/Guide/GuideAddResidence.cs
index 3cacf24..8475308 100644
--- a/Crabtree/SmartHome/UI/SimpleControl/Phone/Guide/GuideAddResidence.cs
+++ b/Crabtree/SmartHome/UI/SimpleControl/Phone/Guide/GuideAddResidence.cs
@@ -428,6 +428,7 @@
                     btnConfirm.MouseUpEventHandler += (dou, ni) => {
                         string password = etPw.Text.Trim ();
                         if (string.IsNullOrEmpty (password)) {
+                            Utlis.ShowAlertOnMainThread (Language.StringByID (R.MyInternationalizationString.PasswordIsEmpty));
                             return;
                         }
                         System.Threading.Tasks.Task.Run (() => {
@@ -436,7 +437,7 @@
                                     MainPage.Loading.Start ("Please wait...");
                                 });
                                
-                                var revertObj = HttpServerRequest.Current.LoginByPassword (MainPage.LoginUser.AccountString, MainPage.LoginUser.Password);
+                                var revertObj = HttpServerRequest.Current.LoginByPassword (MainPage.LoginUser.AccountString, password);
                                 if (revertObj.Code == StateCode.SUCCESS) {
                                     //鍒犻櫎浣忓畢
                                     var revertObj2 = HttpServerRequest.Current.DeleteHome (home.Id);
diff --git a/Crabtree/SmartHome/UI/SimpleControl/Phone/Register/AccountRegistration.cs b/Crabtree/SmartHome/UI/SimpleControl/Phone/Register/AccountRegistration.cs
index b0fde58..27137d9 100644
--- a/Crabtree/SmartHome/UI/SimpleControl/Phone/Register/AccountRegistration.cs
+++ b/Crabtree/SmartHome/UI/SimpleControl/Phone/Register/AccountRegistration.cs
@@ -125,7 +125,7 @@
                 Gravity = Gravity.CenterHorizontal,
                 BackgroundColor = SkinStyle.Current.MainColor,
                 SelectedBackgroundColor = SkinStyle.Current.SelectedColor,
-                TextID = R.MyInternationalizationString.Next,
+                TextID = R.MyInternationalizationString.Send,
                 TextColor = SkinStyle.Current.TextColor1,
                 Radius = 5,
                 BorderColor = SkinStyle.Current.Transparent,
diff --git a/Crabtree/SmartHome/UI/SimpleControl/Phone/Register/ForgotPassword.cs b/Crabtree/SmartHome/UI/SimpleControl/Phone/Register/ForgotPassword.cs
index ff33b98..4f5c8a7 100644
--- a/Crabtree/SmartHome/UI/SimpleControl/Phone/Register/ForgotPassword.cs
+++ b/Crabtree/SmartHome/UI/SimpleControl/Phone/Register/ForgotPassword.cs
@@ -126,7 +126,7 @@
                 Gravity = Gravity.CenterHorizontal,
                 BackgroundColor = SkinStyle.Current.MainColor,
                 SelectedBackgroundColor = SkinStyle.Current.SelectedColor,
-                TextID = R.MyInternationalizationString.Next,
+                TextID = R.MyInternationalizationString.Send,
                 TextColor = SkinStyle.Current.TextColor1,
                 Radius = 5,
                 BorderColor = SkinStyle.Current.Transparent,
diff --git a/Crabtree/SmartHome/UI/SimpleControl/R.cs b/Crabtree/SmartHome/UI/SimpleControl/R.cs
index 054f3cf..467bcfd 100644
--- a/Crabtree/SmartHome/UI/SimpleControl/R.cs
+++ b/Crabtree/SmartHome/UI/SimpleControl/R.cs
@@ -1134,7 +1134,7 @@
         /// 璇疯緭鍏ラ獙璇佺爜
         /// </summary>
         public const int PlsEntryVerificationCode = 20044;
-
+  
         
 
         #endregion
diff --git a/Crabtree/SmartHome/dll/Android/Shared.Droid.HDLWidget.dll b/Crabtree/SmartHome/dll/Android/Shared.Droid.HDLWidget.dll
index 54cc3eb..0f12d19 100644
--- a/Crabtree/SmartHome/dll/Android/Shared.Droid.HDLWidget.dll
+++ b/Crabtree/SmartHome/dll/Android/Shared.Droid.HDLWidget.dll
Binary files differ
diff --git a/Crabtree/SmartHome/dll/Android/Shared.Droid.dll b/Crabtree/SmartHome/dll/Android/Shared.Droid.dll
index af2a63a..ea2a7ec 100644
--- a/Crabtree/SmartHome/dll/Android/Shared.Droid.dll
+++ b/Crabtree/SmartHome/dll/Android/Shared.Droid.dll
Binary files differ
diff --git a/Crabtree/SmartHome/dll/Android/Shared.Droid.xml b/Crabtree/SmartHome/dll/Android/Shared.Droid.xml
index 798b0b7..81398ac 100644
--- a/Crabtree/SmartHome/dll/Android/Shared.Droid.xml
+++ b/Crabtree/SmartHome/dll/Android/Shared.Droid.xml
@@ -53,6 +53,13 @@
             锟姐播锟斤拷址
             </summary>
         </member>
+        <member name="M:Shared.Net.WifiUtil.GetWiFiList">
+            <summary>
+            鑾峰彇WiFi鍒楄〃
+            </summary>
+            <param name="mWifiManager"></param>
+            <returns></returns>
+        </member>
         <member name="M:Shared.DensityUtil.Dip2Px(System.Single)">
             <summary>
             鏍规嵁鎵嬫満鐨勫垎杈ㄧ巼浠� dp 鐨勫崟浣� 杞垚涓� px(鍍忕礌) 
@@ -1486,6 +1493,16 @@
             Y鍧愭爣
             </summary>
         </member>
+        <member name="F:Shared.Tip.IsTipLong">
+            <summary>
+            閽堝Android鏈夋晥
+            </summary>
+        </member>
+        <member name="P:Shared.Tip.CloseTime">
+            <summary>
+            閽堝iOS鏈夋晥
+            </summary>
+        </member>
         <member name="M:Shared.Tip.Show(Shared.View)">
             <summary>
             鐐瑰嚮鍝釜View鏃舵樉璧彁绀�
diff --git a/Crabtree/SmartHome/dll/EZMonitor.dll b/Crabtree/SmartHome/dll/EZMonitor.dll
deleted file mode 100644
index d4e003d..0000000
--- a/Crabtree/SmartHome/dll/EZMonitor.dll
+++ /dev/null
Binary files differ
diff --git a/Crabtree/SmartHome/dll/EzvizLib.ios.dll b/Crabtree/SmartHome/dll/EzvizLib.ios.dll
deleted file mode 100644
index c74106a..0000000
--- a/Crabtree/SmartHome/dll/EzvizLib.ios.dll
+++ /dev/null
Binary files differ
diff --git a/Crabtree/SmartHome/dll/video.dll b/Crabtree/SmartHome/dll/video.dll
deleted file mode 100644
index f1ed560..0000000
--- a/Crabtree/SmartHome/dll/video.dll
+++ /dev/null
Binary files differ
diff --git a/Crabtree/SmartHome/dll/videoBind.dll b/Crabtree/SmartHome/dll/videoBind.dll
deleted file mode 100644
index 47e37a4..0000000
--- a/Crabtree/SmartHome/dll/videoBind.dll
+++ /dev/null
Binary files differ
diff --git a/README.md b/README.md
index 5a69f8d..7a20f3b 100644
--- a/README.md
+++ b/README.md
@@ -2,3 +2,10 @@
 
 CrabtreeOn
 
+2020
+瀹㈡埛鐨勬柊闇�姹傝褰�
+1.瀵嗙爜瑙勫垯锛氬瘑鐮佸繀椤绘槸8-20涓瓧绗︼紝鍖呮嫭鑷冲皯涓�涓ぇ灏忓啓瀛楁瘝锛屾暟瀛楀拰鐗规畩瀛楃銆�
+2.Android鍜宨OS锛岄渶瑕乺oot鍜岃秺鐙辨娴嬶紝妫�娴嬪埌寮哄埗鍏抽棴APP涓嶅厑璁镐娇鐢ㄣ��
+3.闇�瑕佸瘑鐮侀敊璇鏁拌繃澶氾紝鐧诲綍閿佸畾銆�
+4.
+5.

--
Gitblit v1.8.0