Click here to Skip to main content
15,886,079 members
Articles / Mobile Apps

Using the Skyhook Wireless XPS Positioning Service in Managed Code

Rate me:
Please Sign up or sign in to vote.
4.95/5 (15 votes)
20 Jan 2009CPOL28 min read 88.8K   1.4K   57  
Wrapper and sample programs demonstrating the use of the Skyhook Wireless XPS SDK (hybrid position system using GPS, WiFi Positioning, and Celltower positioning)
<?xml version="1.0" encoding="utf-8"?>
<root>
  <!-- 
    Microsoft ResX Schema 
    
    Version 2.0
    
    The primary goals of this format is to allow a simple XML format 
    that is mostly human readable. The generation and parsing of the 
    various data types are done through the TypeConverter classes 
    associated with the data types.
    
    Example:
    
    ... ado.net/XML headers & schema ...
    <resheader name="resmimetype">text/microsoft-resx</resheader>
    <resheader name="version">2.0</resheader>
    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
        <value>[base64 mime encoded serialized .NET Framework object]</value>
    </data>
    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
        <comment>This is a comment</comment>
    </data>
                
    There are any number of "resheader" rows that contain simple 
    name/value pairs.
    
    Each data row contains a name, and value. The row also contains a 
    type or mimetype. Type corresponds to a .NET class that support 
    text/value conversion through the TypeConverter architecture. 
    Classes that don't support this are serialized and stored with the 
    mimetype set.
    
    The mimetype is used for serialized objects, and tells the 
    ResXResourceReader how to depersist the object. This is currently not 
    extensible. For a given mimetype the value must be set accordingly:
    
    Note - application/x-microsoft.net.object.binary.base64 is the format 
    that the ResXResourceWriter will generate, however the reader can 
    read any of the formats listed below.
    
    mimetype: application/x-microsoft.net.object.binary.base64
    value   : The object must be serialized with 
            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
            : and then encoded with base64 encoding.
    
    mimetype: application/x-microsoft.net.object.soap.base64
    value   : The object must be serialized with 
            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
            : and then encoded with base64 encoding.

    mimetype: application/x-microsoft.net.object.bytearray.base64
    value   : The object must be serialized into a byte array 
            : using a System.ComponentModel.TypeConverter
            : and then encoded with base64 encoding.
    -->
  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
    <xsd:element name="root" msdata:IsDataSet="true">
      <xsd:complexType>
        <xsd:choice maxOccurs="unbounded">
          <xsd:element name="metadata">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" />
              </xsd:sequence>
              <xsd:attribute name="name" use="required" type="xsd:string" />
              <xsd:attribute name="type" type="xsd:string" />
              <xsd:attribute name="mimetype" type="xsd:string" />
              <xsd:attribute ref="xml:space" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="assembly">
            <xsd:complexType>
              <xsd:attribute name="alias" type="xsd:string" />
              <xsd:attribute name="name" type="xsd:string" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="data">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
              <xsd:attribute ref="xml:space" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="resheader">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" />
            </xsd:complexType>
          </xsd:element>
        </xsd:choice>
      </xsd:complexType>
    </xsd:element>
  </xsd:schema>
  <resheader name="resmimetype">
    <value>text/microsoft-resx</value>
  </resheader>
  <resheader name="version">
    <value>2.0</value>
  </resheader>
  <resheader name="reader">
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <resheader name="writer">
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <metadata name="mainMenu1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    <value>17, 17</value>
  </metadata>
  <metadata name="imageList.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    <value>134, 17</value>
  </metadata>
  <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
  <data name="resource" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
    <value>
        Qk02DAAAAAAAADYAAAAoAAAAIAAAACAAAAABABgAAAAAAAAAAADEDgAAxA4AAAAAAAAAAAAAAAD/AAD/
        AAD/AAD/AgL/Cwv/Fhb/Hx//Kyv/MzP/Pz//SEj/U1P/XFz/Z2f/cHD/e3v/hIT/kJD/mJj/pKT/ra3/
        uLj/wcH/zMz/1dX/4OD/6en/9fX//f3/////////AAD/AAD/AAD/AAD/AQH/CAj/FBT/HR3/KCj/MTH/
        PDz/RUX/UFD/WVn/ZWX/bW3/eXn/goL/jY3/lpb/oaH/qqr/tbX/vr7/ysr/0tL/3t7/5+f/8vL/+/v/
        ////////AAD/AAD/AAD/AAD/AAD/BQX/ERH/GRn/JSX/Li7/OTn/QkL/TU3/Vlb/YWH/amr/dnb/fn7/
        ior/k5P/np7/p6f/srL/u7v/xsb/z8//29v/5OT/7+//+Pj/////////AAD/AAD/AAD/AAD/AAD/AwP/
        Dg7/Fxf/IiL/Kyv/Njb/Pz//S0v/U1P/X1//aGj/c3P/fHz/h4f/kJD/m5v/pKT/sLD/uLj/xMT/zc3/
        2Nj/4eH/7Oz/9fX/////////AAD/AAD/AAD/AAD/AAD/AQH/Cwv/FBT/Hx//KCj/MzP/PDz/R0f/UFD/
        XFz/ZGT/cHD/eXn/hIT/jY3/mJj/oaH/ra3/tbX/wcH/ysr/1dX/3t7/6en/8vL//f3/////AAD/AAD/
        AAD/AAD/AAD/AAD/CAj/ERH/HBz/JSX/MTH/OTn/RUX/Tk7/WVn/YmL/bW3/dnb/gYH/ior/lpb/np7/
        qqr/s7P/vr7/x8f/0tL/29v/5ub/7+//+/v/////AAD/AAD/AAD/AAD/AAD/AAD/BQX/Dg7/GRn/IiL/
        LS3/Njb/QkL/S0v/Vlb/X1//amr/c3P/fn7/h4f/k5P/m5v/p6f/sLD/u7v/xMT/z8//2Nj/4+P/7Oz/
        +Pj//v7/AAD/AAD/AAD/AAD/AAD/AAD/AgL/Cwv/Fxf/Hx//Kyv/NDT/Pz//SEj/U1P/XFz/Z2f/cHD/
        fHz/hIT/kJD/mZn/pKT/ra3/uLj/wcH/zMz/1dX/4eH/6ur/9fX//f3/AAD/AAD/AAD/AAD/AAD/AAD/
        AQH/CAj/FBT/HBz/KCj/MTH/PDz/RUX/UFD/WVn/ZGT/bW3/eXn/gYH/jY3/lpb/oaH/qqr/tbX/vr7/
        ycn/0tL/3t7/5ub/8vL/+/v/AAD/AAD/AAD/AAD/AAD/AAD/AAD/BQX/ERH/Ghr/JSX/Li7/OTn/QkL/
        TU3/Vlb/YmL/amr/dnb/f3//ior/k5P/np7/p6f/s7P/u7v/x8f/0ND/29v/5OT/7+//+Pj/AAD/AAD/
        AAD/AAD/AAD/AAD/AAD/AwP/Dg7/Fxf/IiL/Kyv/Njb/Pz//Skr/U1P/X1//Z2f/c3P/fHz/h4f/kJD/
        m5v/pKT/r6//uLj/xMT/zMz/2Nj/4eH/7Oz/9fX/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AQH/Cwv/FBT/
        Hx//KCj/MzP/PDz/SEj/UVH/XFz/ZWX/cHD/eXn/hIT/jY3/mZn/oaH/ra3/trb/wcH/ysr/1dX/3t7/
        6en/8vL/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/CAj/ERH/HBz/JSX/MDD/OTn/RUX/TU3/WVn/YmL/
        bW3/dnb/gYH/ior/lZX/np7/qqr/srL/vr7/x8f/0tL/29v/5ub/7+//AAD/AAD/AAD/AAD/AAD/AAD/
        AAD/AAD/BQX/Dg7/Ghr/IiL/Li7/Nzf/QkL/S0v/Vlb/X1//amr/c3P/f3//h4f/k5P/nJz/p6f/sLD/
        u7v/xMT/z8//2Nj/5OT/7Oz/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AgL/Cwv/Fhb/Hx//Kyv/MzP/
        Pz//SEj/U1P/XFz/Z2f/cHD/e3v/hIT/kJD/mJj/pKT/ra3/uLj/wcH/zMz/1dX/4OD/6en/AAD/AAD/
        AAD/AAD/AAD/AAD/AAD/AAD/AQH/CAj/FBT/HR3/KCj/MTH/PDz/RUX/UFD/WVn/ZWX/bW3/eXn/goL/
        jY3/lpb/oaH/qqr/tbX/vr7/ysr/0tL/3t7/5+f/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/BQX/
        ERH/GRn/JSX/Li7/OTn/QkL/TU3/Vlb/YWH/amr/dnb/fn7/ior/k5P/np7/p6f/srL/u7v/xsb/z8//
        29v/5OT/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AwP/Dg7/Fxf/IiL/Kyv/Njb/Pz//S0v/U1P/
        X1//aGj/c3P/fHz/h4f/kJD/m5v/pKT/sLD/uLj/xMT/zc3/2Nj/4eH/AAD/AAD/AAD/AAD/AAD/AAD/
        AAD/AAD/AAD/AQH/Cwv/FBT/Hx//KCj/MzP/PDz/R0f/UFD/XFz/ZGT/cHD/eXn/hIT/jY3/mJj/oaH/
        ra3/tbX/wcH/ysr/1dX/3t7/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/CAj/ERH/HBz/JSX/
        MTH/OTn/RUX/Tk7/WVn/YmL/bW3/dnb/gYH/ior/lpb/np7/qqr/s7P/vr7/x8f/0tL/29v/AAD/AAD/
        AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/BQX/Dg7/GRn/IiL/LS3/Njb/QkL/S0v/Vlb/X1//amr/c3P/
        fn7/h4f/k5P/m5v/p6f/sLD/u7v/xMT/z8//2Nj/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/
        AgL/Cwv/Fxf/Hx//Kyv/NDT/Pz//SEj/U1P/XFz/Z2f/cHD/fHz/hIT/kJD/mZn/pKT/ra3/uLj/wcH/
        zMz/1dX/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AQH/CAj/FBT/HBz/KCj/MTH/PDz/RUX/
        UFD/WVn/ZGT/bW3/eXn/gYH/jY3/lpb/oaH/qqr/tbX/vr7/ycn/0tL/AAD/AAD/AAD/AAD/AAD/AAD/
        AAD/AAD/AAD/AAD/AAD/BQX/ERH/Ghr/JSX/Li7/OTn/QkL/TU3/Vlb/YmL/amr/dnb/f3//ior/k5P/
        np7/p6f/s7P/u7v/x8f/0ND/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AwP/Dg7/Fxf/
        IiL/Kyv/Njb/Pz//Skr/U1P/X1//Z2f/c3P/fHz/h4f/kJD/m5v/pKT/r6//uLj/xMT/zMz/AAD/AAD/
        AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AQH/Cwv/FBT/Hx//KCj/MzP/PDz/SEj/UVH/XFz/ZWX/
        cHD/eXn/hIT/jY3/mZn/oaH/ra3/trb/wcH/ysr/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/
        AAD/AAD/CAj/ERH/HBz/JSX/MDD/OTn/RUX/TU3/WVn/YmL/bW3/dnb/gYH/ior/lZX/np7/qqr/srL/
        vr7/x8f/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/BQX/Dg7/Ghr/IiL/Li7/Nzf/
        QkL/S0v/Vlb/X1//amr/c3P/f3//h4f/k5P/nJz/p6f/sLD/u7v/xMT/AAD/AAD/AAD/AAD/AAD/AAD/
        AAD/AAD/AAD/AAD/AAD/AAD/AgL/Cwv/Fhb/Hx//Kyv/MzP/Pz//SEj/U1P/XFz/Z2f/cHD/e3v/hIT/
        kJD/mJj/pKT/ra3/uLj/wcH/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AQH/CAj/
        FBT/HR3/KCj/MTH/PDz/RUX/UFD/WVn/ZWX/bW3/eXn/goL/jY3/lpb/oaH/qqr/tbX/vr7/AAD/AAD/
        AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/BQX/ERH/GRn/JSX/Li7/OTn/QkL/TU3/Vlb/
        YWH/amr/dnb/fn7/ior/k5P/np7/p6f/srL/u7v/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/
        AAD/AAD/AAD/AwP/Dg7/Fxf/IiL/Kyv/Njb/Pz//S0v/U1P/X1//aGj/c3P/fHz/h4f/kJD/m5v/pKT/
        sLD/uLj/
</value>
  </data>
  <data name="resource1" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
    <value>
        Qk02GwAAAAAAADYAAAAoAAAAMAAAADAAAAABABgAAAAAAAAAAADEDgAAxA4AAAAAAAAAAAAAIf8AIf8A
        If8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AJ/8ILv8QNf8YPP8gQ/8oSv8wUf84WP9A
        X/9IZv9Qbf9YdP9ge/9ogv9wif94kP+Al/+Inv+Qpf+YrP+gs/+ouv+wwf+4yP/Az//I1v/Q3f/Y5P/g
        6v/o8f/w+P/4////////////If8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8A
        Jv8GLf8ONP8WO/8eQv8mSf8uUP82Vv8+Xf9GZP9Oa/9Wcv9eef9mgP9uh/92jv9+lv+Hnf+PpP+Xq/+f
        sv+nuf+vwP+3x/+/zv/H1f/P3P/X4//f6v/n8f/v+P/3////////////If8AIf8AIf8AIf8AIf8AIf8A
        If8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AJf8FLP8NM/8VOv8dQf8lSP8tT/81Vv89Xf9FZP9Na/9Vcf9d
        eP9lf/9thv91jf99lP+Fm/+Nov+Vqf+dsP+lt/+tvv+1xf+9zP/F0//N2v/V4f/d6P/l7//t9v/1/f/9
        ////////If8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AJP8EK/8MMv8UOf8c
        QP8kR/8sTv80Vf88XP9EY/9Mav9Ucf9ceP9kf/9shf90jP98k/+Emv+Mof+UqP+cr/+ktv+svf+0xP+8
        y//E0v/M2f/U4P/c5//k7v/s9f/0/P/8////////If8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8A
        If8AIf8AIf8AIf8AIv8CKf8KMP8SN/8aPv8iRf8qTP8yU/86Wv9CYv9Laf9TcP9bd/9jfv9rhf9zjP97
        k/+Dmv+LoP+Tp/+brv+jtf+rvP+zw/+7yv/D0f/L2P/T3//b5v/j7f/r9P/z+//7////////If8AIf8A
        If8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8BKP8JL/8RNv8ZPf8hRP8pS/8xUv85
        Wf9BYP9JZ/9Rbv9Zdf9hfP9pg/9xiv95kf+BmP+Jn/+Rpv+Zrf+htP+pu/+xwv+5yf/Bz//J1v/R3v/a
        5f/i7P/q8//y+v/6////////If8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8A
        If8AJ/8ILv8QNf8YPP8gQ/8oSv8wUf84WP9AX/9IZv9Qbf9YdP9ge/9ogv9wif94kP+Al/+Inv+Qpf+Y
        rP+gs/+ouv+wwf+4yP/Az//I1v/Q3f/Y5P/g6v/o8f/w+P/4////////If8AIf8AIf8AIf8AIf8AIf8A
        If8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AJv8GLv8PNf8XO/8fQv8nSf8vUP83V/8/Xv9HZf9PbP9X
        c/9fev9ngf9viP93j/9/lv+Hnf+PpP+Xq/+fsv+nuf+vwP+3x/+/zv/H1f/P3P/X4//f6v/n8f/v+P/3
        ////////If8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AJf8FLP8NM/8V
        Ov8dQf8lSP8tT/81Vv89Xf9FZP9Na/9Vcf9deP9lf/9thv91jf99lP+Fm/+Nov+Vqv+esf+muP+uv/+2
        xv++zf/G1P/O2//W4v/e6f/m8P/u9//2/v/+////If8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8A
        If8AIf8AIf8AIf8AIf8AJP8EK/8MMv8UOf8cQP8kR/8sTv80Vf88XP9EY/9Mav9Ucf9ceP9kf/9shf90
        jP98k/+Emv+Mof+UqP+cr/+ktv+svf+0xP+8y//E0v/M2f/U4P/c5//k7v/s9f/0/P/8////If8AIf8A
        If8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AI/8DKv8LMf8TOP8bP/8jRv8rTf8z
        VP87W/9DYv9Laf9TcP9bd/9jfv9rhf9zjP97k/+Dmv+LoP+Tp/+brv+jtf+rvP+zw/+7yv/D0f/L2P/T
        3//b5v/j7f/r9P/z+//7////If8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8A
        If8AIf8BKP8JL/8RNv8ZPf8hRP8pS/8xUv85Wf9BYP9JZ/9Rbv9Zdv9iff9qhP9yi/96kv+Cmf+KoP+S
        p/+arv+itf+qu/+ywv+6yf/C0P/K1//S3v/a5f/i7P/q8//y+v/6////If8AIf8AIf8AIf8AIf8AIf8A
        If8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AJ/8ILv8QNf8YPP8gQ/8oSv8wUf84WP9AX/9IZv9Q
        bf9YdP9ge/9ogv9wif94kP+Al/+Inv+Qpf+YrP+gs/+ouv+wwf+4yP/Az//I1v/Q3f/Y5P/g6//p8v/x
        +f/5////If8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AJ/8HLv8P
        Nf8XO/8fQv8nSf8vUP83V/8/Xv9HZf9PbP9Xc/9fev9ngf9viP93j/9/lv+Hnf+PpP+Xq/+fsv+nuf+v
        wP+3x/+/zv/H1f/P3P/X4//f6v/n8f/v+P/3////If8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8A
        If8AIf8AIf8AIf8AIf8AIf8AJf8FLP8NM/8VO/8eQv8mSf8uUP82Vv8+Xf9GZP9Oa/9Wcv9eef9mgP9u
        h/92jv9+lf+GnP+Oo/+Wqv+esf+muP+uv/+2xv++zf/G1P/O2//W4v/e6f/m8P/u9//2/v/+If8AIf8A
        If8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AJP8EK/8MMv8UOf8cQP8kR/8s
        Tv80Vf88XP9EY/9Mav9Ucf9ceP9kf/9shf90jP98k/+Emv+Mof+UqP+csP+lt/+tvv+1xf+9zP/F0//N
        2v/V4f/d6P/l7//t9v/1/f/9If8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8A
        If8AIf8AI/8DKv8LMf8TOP8bP/8jRv8rTf8zVP87W/9DYv9Laf9TcP9bd/9jfv9rhf9zjP97k/+Dmv+L
        oP+Tp/+brv+jtf+rvP+zw/+7yv/D0f/L2P/T3//b5v/j7f/r9P/z+//7If8AIf8AIf8AIf8AIf8AIf8A
        If8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIv8CKf8KMP8SN/8aPv8iRf8qTP8yU/86Wv9CYf9K
        aP9Sb/9adv9iff9qhP9yi/96kv+Cmf+KoP+Sp/+arv+itf+qu/+ywv+6yf/C0P/K1//S3v/a5f/i7P/q
        8//y+v/6If8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AJ/8I
        Lv8QNf8YPP8gQ/8oSv8wUf84WP9AX/9IZv9Qbf9YdP9ge/9og/9xiv95kf+BmP+Jn/+Rpv+Zrf+htP+p
        u/+xwv+5yf/Bz//J1v/R3f/Z5P/h6//p8v/x+f/5If8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8A
        If8AIf8AIf8AIf8AIf8AIf8AIf8AJ/8HLv8PNf8XO/8fQv8nSf8vUP83V/8/Xv9HZf9PbP9Xc/9fev9n
        gf9viP93j/9/lv+Hnf+PpP+Xq/+fsv+nuf+vwP+3x/+/zv/H1f/P3P/X4//f6v/n8f/v+P/4If8AIf8A
        If8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AJv8GLf8ONP8WO/8eQv8m
        Sf8uUP82Vv8+Xf9GZP9Oa/9Wcv9eef9mgP9uh/92jv9+lf+GnP+Oo/+Wqv+esf+muP+uv/+2xv++zf/G
        1P/O2//W4v/e6f/m8P/u9//2If8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8A
        If8AIf8AIf8AJP8EK/8MMv8UOf8cQP8kR/8sT/81Vv89Xf9FZP9Na/9Vcf9deP9lf/9thv91jf99lP+F
        m/+Nov+Vqf+dsP+lt/+tvv+1xf+9zP/F0//N2v/V4f/d6P/l7//t9v/1If8AIf8AIf8AIf8AIf8AIf8A
        If8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AI/8DKv8LMf8TOP8bP/8jRv8rTf8zVP87W/9D
        Yv9Laf9TcP9bd/9jfv9rhf9zjP97k/+Dmv+LoP+Tp/+brv+jtf+rvP+zxP+8y//E0v/M2f/U4P/c5//k
        7v/s9f/0If8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIv8C
        Kf8KMP8SN/8aPv8iRf8qTP8yU/86Wv9CYf9KaP9Sb/9adv9iff9qhP9yi/96kv+Cmf+KoP+Sp/+arv+i
        tf+qu/+ywv+6yf/C0P/K1//S3v/a5f/i7P/q8//yIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8A
        If8AIf8AIf8AIf8AIf8AIf8AIf8AIf8BKP8JL/8RNv8ZPf8hRP8pS/8xUv85Wf9BYP9JZ/9Rbv9Zdf9h
        fP9pg/9xiv95kf+BmP+Jn/+Rpv+Zrf+htP+pu/+xwv+5yf/Bz//J1v/R3f/Z5P/h6//p8v/xIf8AIf8A
        If8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AJ/8HLv8PNf8XO/8f
        Qv8nSf8vUP83V/8/Xv9HZf9PbP9Xc/9fev9ngf9viP93kP+Al/+Inv+Qpf+YrP+gs/+ouv+wwf+4yP/A
        z//I1v/Q3f/Y5P/g6v/o8f/wIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8A
        If8AIf8AIf8AIf8AJv8GLf8ONP8WO/8eQv8mSf8uUP82Vv8+Xf9GZP9Oa/9Wcv9eef9mgP9uh/92jv9+
        lf+GnP+Oo/+Wqv+esf+muP+uv/+2xv++zf/G1P/O2//W4v/e6f/m8P/uIf8AIf8AIf8AIf8AIf8AIf8A
        If8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AJf8FLP8NM/8VOv8dQf8lSP8tT/81Vv89
        Xf9FZP9Na/9Vcf9deP9lf/9thv91jf99lP+Fm/+Nov+Vqf+dsP+lt/+tvv+1xf+9zP/F0//N2v/V4f/d
        6P/l7//tIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8A
        I/8DKv8LMf8TOP8bP/8jRv8rTf8zVP87XP9EY/9Mav9Ucf9ceP9kf/9shf90jP98k/+Emv+Mof+UqP+c
        r/+ktv+svf+0xP+8y//E0v/M2f/U4P/c5//k7v/sIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8A
        If8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIv8CKf8KMP8SN/8aPv8iRf8qTP8yU/86Wv9CYf9KaP9Sb/9a
        dv9iff9qhP9yi/96kv+Cmf+KoP+Sp/+arv+itf+qu/+ywv+6yf/C0f/L2P/T3//b5v/j7f/rIf8AIf8A
        If8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8BKP8JL/8RNv8Z
        Pf8hRP8pS/8xUv85Wf9BYP9JZ/9Rbv9Zdf9hfP9pg/9xiv95kf+BmP+Jn/+Rpv+Zrf+htP+pu/+xwv+5
        yf/Bz//J1v/R3f/Z5P/h6//pIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8A
        If8AIf8AIf8AIf8AIf8AJ/8ILv8QNf8YPP8gQ/8oSv8wUf84WP9AX/9IZv9Qbf9YdP9ge/9ogv9wif94
        kP+Al/+Inv+Qpf+YrP+gs/+ouv+wwf+4yP/Az//I1v/Q3f/Y5P/g6v/oIf8AIf8AIf8AIf8AIf8AIf8A
        If8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AJv8GLf8ONP8WO/8eQv8mSf8uUP82
        Vv8+Xf9GZP9Oa/9Wcv9eef9mgP9uh/92jv9+lf+Gnf+PpP+Xq/+fsv+nuf+vwP+3x/+/zv/H1f/P3P/X
        4//f6v/nIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8A
        If8AJf8FLP8NM/8VOv8dQf8lSP8tT/81Vv89Xf9FZP9Na/9Vcf9deP9lf/9thv91jf99lP+Fm/+Nov+V
        qf+dsP+lt/+tvv+1xf+9zP/F0//N2v/V4f/d6P/lIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8A
        If8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AJP8EK/8MMv8UOf8cQP8kR/8sTv80Vf88XP9EY/9Mav9U
        cf9ceP9kf/9shf90jP98k/+Emv+Mof+UqP+cr/+ktv+svf+0xP+8y//E0v/M2f/U4P/c5//kIf8AIf8A
        If8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIv8CKf8KMP8S
        N/8aPv8iRf8qTP8yU/86Wv9CYv9Laf9TcP9bd/9jfv9rhf9zjP97k/+Dmv+LoP+Tp/+brv+jtf+rvP+z
        w/+7yv/D0f/L2P/T3//b5v/jIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8A
        If8AIf8AIf8AIf8AIf8AIf8BKP8JL/8RNv8ZPf8hRP8pS/8xUv85Wf9BYP9JZ/9Rbv9Zdf9hfP9pg/9x
        iv95kf+BmP+Jn/+Rpv+Zrf+htP+pu/+xwv+5yf/Bz//J1v/R3v/a5f/iIf8AIf8AIf8AIf8AIf8AIf8A
        If8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AJ/8ILv8QNf8YPP8gQ/8oSv8w
        Uf84WP9AX/9IZv9Qbf9YdP9ge/9ogv9wif94kP+Al/+Inv+Qpf+YrP+gs/+ouv+wwf+4yP/Az//I1v/Q
        3f/Y5P/gIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8A
        If8AIf8AJv8GLf8ONf8XO/8fQv8nSf8vUP83V/8/Xv9HZf9PbP9Xc/9fev9ngf9viP93j/9/lv+Hnf+P
        pP+Xq/+fsv+nuf+vwP+3x/+/zv/H1f/P3P/X4//fIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8A
        If8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AJf8FLP8NM/8VOv8dQf8lSP8tT/81Vv89Xf9FZP9N
        a/9Vcf9deP9lf/9thv91jf99lP+Fm/+No/+Wqv+esf+muP+uv/+2xv++zf/G1P/O2//W4v/eIf8AIf8A
        If8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AJP8EK/8M
        Mv8UOf8cQP8kR/8sTv80Vf88XP9EY/9Mav9Ucf9ceP9kf/9shf90jP98k/+Emv+Mof+UqP+cr/+ktv+s
        vf+0xP+8y//E0v/M2f/U4P/cIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8A
        If8AIf8AIf8AIf8AIf8AIf8AI/8DKv8LMf8TOP8bP/8jRv8rTf8zVP87W/9DYv9Laf9TcP9bd/9jfv9r
        hf9zjP97k/+Dmv+LoP+Tp/+brv+jtf+rvP+zw/+7yv/D0f/L2P/T3//bIf8AIf8AIf8AIf8AIf8AIf8A
        If8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8BKP8JL/8RNv8ZPf8hRP8p
        S/8xUv85Wf9BYP9JZ/9Rbv9Zdv9iff9qhP9yi/96kv+Cmf+KoP+Sp/+arv+itf+qu/+ywv+6yf/C0P/K
        1//S3v/aIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8A
        If8AIf8AIf8AJ/8ILv8QNf8YPP8gQ/8oSv8wUf84WP9AX/9IZv9Qbf9YdP9ge/9ogv9wif94kP+Al/+I
        nv+Qpf+YrP+gs/+ouv+wwf+4yP/Az//I1v/Q3f/YIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8A
        If8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AJ/8HLv8PNf8XO/8fQv8nSf8vUP83V/8/Xv9H
        Zf9PbP9Xc/9fev9ngf9viP93j/9/lv+Hnf+PpP+Xq/+fsv+nuf+vwP+3x/+/zv/H1f/P3P/XIf8AIf8A
        If8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AJf8F
        LP8NM/8VOv8dQv8mSf8uUP82Vv8+Xf9GZP9Oa/9Wcv9eef9mgP9uh/92jv9+lf+GnP+Oo/+Wqv+esf+m
        uP+uv/+2xv++zf/G1P/O2//WIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8A
        If8AIf8AIf8AIf8AIf8AIf8AIf8AJP8EK/8MMv8UOf8cQP8kR/8sTv80Vf88XP9EY/9Mav9Ucf9ceP9k
        f/9shf90jP98k/+Emv+Mof+UqP+csP+lt/+tvv+1xf+9zP/F0//N2v/VIf8AIf8AIf8AIf8AIf8AIf8A
        If8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AIf8AI/8DKv8LMf8TOP8bP/8j
        Rv8rTf8zVP87W/9DYv9Laf9TcP9bd/9jfv9rhf9zjP97k/+Dmv+LoP+Tp/+brv+jtf+rvP+zw/+7yv/D
        0f/L2P/T
</value>
  </data>
  <metadata name="$this.FormFactorShadowProperty" xml:space="preserve">
    <value>Pocket_PC</value>
  </metadata>
  <metadata name="$this.Skin" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
    <value>False</value>
  </metadata>
</root>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer
United States United States
I attended Southern Polytechnic State University and earned a Bachelors of Science in Computer Science and later returned to earn a Masters of Science in Software Engineering. I've largely developed solutions that are based on a mix of Microsoft technologies with open source technologies mixed in. I've got an interest in astronomy and you'll see that interest overflow into some of my code project articles from time to time.



Twitter:@j2inet

Instagram: j2inet


Comments and Discussions