<?xml version="1.0"?>
<ScriptProject Name="ScriptTask_621609c6b8b34789b81ad064fe2a737d" VSTAMajorVersion="3" VSTAMinorVersion="0" Language="VisualBasic">
  <ProjectItem Name="ScriptMain.vb" Encoding="UTF8">
<![CDATA[' Copyright (c) 2008 CozyRoc LLC
' 
' Permission is hereby granted, free of charge, to any person
' obtaining a copy of this software and associated documentation
' files (the "Software"), to deal in the Software without
' restriction, including without limitation the rights to use,
' copy, modify, merge, publish, distribute, sublicense, and/or sell
' copies of the Software, and to permit persons to whom the
' Software is furnished to do so, subject to the following
' conditions:
' 
' The above copyright notice and this permission notice shall be
' included in all copies or substantial portions of the Software.
' 
' THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
' EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
' OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
' NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
' HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
' WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
' FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
' OTHER DEALINGS IN THE SOFTWARE.

Imports System
Imports System.IO
Imports System.ComponentModel

Imports Microsoft.SqlServer.Dts.Runtime
Imports CozyRoc.SqlServer.SSIS.Attributes


'
' This class decompresses an input stream containing data compressed with
' the unix "compress" utility (LZC, a LZW variant). This code is based
' heavily on the <var>unlzw.c</var> code in <var>gzip-1.2.4</var> (written
' by Peter Jannesen) and the original compress code.
'
' Based on implementation by Ronald Tschalr (ronald@innovation.ch).
Class UncompressInputStream
    Inherits Stream


    ' Methods

    ' @param is the input stream to decompress
    Public Sub New(ByVal inputStream As Stream)
        Me._inputStream = inputStream
        Me.parse_header()
    End Sub ' New


    Private Sub fill()
        Me.got = Me._inputStream.Read(Me.data, Me.end, Me.data.Length - 1 - Me.end)
        If Me.got > 0 Then
            Me.end += Me.got
        End If
    End Sub ' fill


    Public Overrides Sub Flush()
        Throw New NotSupportedException
    End Sub ' Flush


    Private Const LZW_MAGIC As Integer = &H1F9D
    Private Const MAX_BITS As Integer = &H10
    Private Const INIT_BITS As Integer = 9
    Private Const HDR_MAXBITS As Integer = &H1F
    Private Const HDR_EXTENDED As Integer = &H20
    Private Const HDR_FREE As Integer = &H40
    Private Const HDR_BLOCK_MODE As Integer = &H80

    Private Sub parse_header()
        ' read in and check magic number 
        Dim t As Integer = Me.read_byte()
        If t < 0 Then
            Throw New Exception("Failed to read magic number")
        End If
        Dim magic As Integer = ((t And &HFF) << 8)
        t = Me.read_byte()
        If t < 0 Then
            Throw New Exception("Failed to read magic number")
        End If
        magic += (t And &HFF)
        If (magic <> LZW_MAGIC) Then
            Throw New IOException("Input not in compress format (read magic number 0x" & magic.ToString("x") & ")")
        End If

        ' read in header byte
        Dim header As Integer = Me.read_byte()
        If header < 0 Then
            Throw New Exception("Failed to read header")
        End If
        Me.block_mode = ((header And HDR_BLOCK_MODE) > 0)
        Me.maxbits = (header And HDR_MAXBITS)
        If Me.maxbits > MAX_BITS Then
            Throw New IOException( _
                "Stream compressed with " & Me.maxbits.ToString() & _
                " bits, but can only handle " & MAX_BITS.ToString() & " bits")
        End If
        If (header And HDR_EXTENDED) > 0 Then
            Throw New IOException("Header extension bit set")
        End If
        If (header And HDR_FREE) > 0 Then
            Throw New IOException("Header bit 6 set")
        End If

        ' initialize stuff
        Me.maxmaxcode = (CInt(1) << Me.maxbits)
        Me.n_bits = INIT_BITS
        Me.maxcode = (CInt(1) << Me.n_bits) - 1
        Me.bitmask = Me.maxcode
        Me.oldcode = -1
        Me.finchar = 0
        Me.free_ent = CType(IIf(Me.block_mode, TBL_FIRST, &H100), Integer)

        Me.tab_prefix = New Integer((CInt(1) << Me.maxbits) - 1) {}
        Me.tab_suffix = New Byte((CInt(1) << Me.maxbits) - 1) {}
        Me.stack = New Byte((CInt(1) << Me.maxbits) - 1) {}
        Me.stackp = Me.stack.Length

        Dim idx As Integer = &HFF
        Do While idx >= 0
            Me.tab_suffix(idx) = CByte(idx)
            idx -= 1
        Loop
    End Sub ' parse_header


    Private one As Byte() = New Byte(1 - 1) {}
    Public Function read_byte() As Integer
        If Me._inputStream.Read(Me.one, 0, 1) = 1 Then
            Return (Me.one(0) And &HFF)
        End If

        Return -1
    End Function    ' read_byte


    Public Function read_internal(ByVal buf As Byte(), ByVal off As Integer, ByVal len As Integer) As Integer
        If Me.eof Then
            Return -1
        End If

        Dim num As Integer
        Dim start As Integer = off
        Dim l_tab_prefix As Integer() = Me.tab_prefix
        Dim l_tab_suffix As Byte() = Me.tab_suffix
        Dim l_stack As Byte() = Me.stack
        Dim l_n_bits As Integer = Me.n_bits
        Dim l_maxcode As Integer = Me.maxcode
        Dim l_maxmaxcode As Integer = Me.maxmaxcode
        Dim l_bitmask As Integer = Me.bitmask
        Dim l_oldcode As Integer = Me.oldcode
        Dim l_finchar As Byte = Me.finchar
        Dim l_stackp As Integer = Me.stackp
        Dim l_free_ent As Integer = Me.free_ent
        Dim l_data As Byte() = Me.data
        Dim l_bit_pos As Integer = Me.bit_pos

        ' empty stack if stuff still left
        Dim s_size As Integer = (l_stack.Length - l_stackp)
        If s_size > 0 Then
            num = CType(IIf((s_size >= len), len, s_size), Integer)
            Array.Copy(l_stack, l_stackp, buf, off, num)
            off += num
            len -= num
            l_stackp += num
        End If

        If len = 0 Then
            Me.stackp = l_stackp
            Return (off - start)
        End If

        ' loop, filling local buffer until enough data has been decompressed
main_loop:
        If Me.end < EXTRA Then
            Call Me.fill()
        End If

        Dim bit_in As Integer = CType(IIf(Me.got > 0, _
            (Me.end - (Me.end Mod l_n_bits)) << 3, _
            (Me.end << 3) - (l_n_bits - 1)), _
        Integer)

        Do While l_bit_pos < bit_in
            Dim n_bytes As Integer

            ' check for code-width expansion
            If l_free_ent > l_maxcode Then
                n_bytes = (l_n_bits << 3)
                l_bit_pos = ((l_bit_pos - 1) + n_bytes - (l_bit_pos - 1 + n_bytes) Mod n_bytes)

                l_n_bits += 1
                l_maxcode = CType(IIf(l_n_bits = Me.maxbits, _
                    l_maxmaxcode, _
                    ((CInt(1) << l_n_bits) - 1)), _
                Integer)

                l_bitmask = ((CInt(1) << l_n_bits) - 1)
                l_bit_pos = Me.resetbuf(l_bit_pos)
                GoTo main_loop
            End If

            ' read next code
            Dim pos As Integer = (l_bit_pos >> 3)
            Dim code As Integer = _
                (((l_data(pos) And &HFF) Or ((l_data(pos + 1) And &HFF) << 8) Or _
                ((l_data(pos + 2) And &HFF) << &H10)) _
                >> (l_bit_pos And 7)) And l_bitmask
            l_bit_pos += l_n_bits

            ' handle first iteration
            If (l_oldcode = -1) Then
                If (code >= &H100) Then
                    Throw New IOException(("corrupt input: " & code & " > 255"))
                End If
                l_oldcode = code
                l_finchar = CByte(code)
                buf(off) = l_finchar
                off += 1
                len -= 1
                Continue Do
            End If

            ' handle CLEAR code
            If code = TBL_CLEAR AndAlso Me.block_mode Then
                Array.Copy(Me.zeros, 0, l_tab_prefix, 0, Me.zeros.Length)
                l_free_ent = TBL_FIRST - 1

                n_bytes = (l_n_bits << 3)
                l_bit_pos = ((l_bit_pos - 1) + n_bytes - (l_bit_pos - 1 + n_bytes) Mod n_bytes)
                l_n_bits = INIT_BITS
                l_maxcode = ((CInt(1) << l_n_bits) - 1)
                l_bitmask = l_maxcode

                l_bit_pos = Me.resetbuf(l_bit_pos)
                GoTo main_loop
            End If

            ' setup
            Dim incode As Integer = code
            l_stackp = l_stack.Length

            ' Handle KwK case
            If code >= l_free_ent Then
                If code > l_free_ent Then
                    Throw New IOException( _
                        "corrupt input: code=" & code.ToString() & _
                        ", free_ent=" & l_free_ent.ToString())
                End If

                l_stackp -= 1
                l_stack(l_stackp) = l_finchar
                code = l_oldcode
            End If

            ' Generate output characters in reverse order
            Do While (code >= &H100)
                l_stackp -= 1
                l_stack(l_stackp) = l_tab_suffix(code)
                code = l_tab_prefix(code)
            Loop
            l_finchar = l_tab_suffix(code)
            buf(off) = l_finchar
            off += 1
            len -= 1

            ' And put them out in forward order
            s_size = (l_stack.Length - l_stackp)
            num = CType(IIf(s_size >= len, len, s_size), Integer)
            Array.Copy(l_stack, l_stackp, buf, off, num)
            off += num
            len -= num
            l_stackp += num

            ' generate new entry in table
            If l_free_ent < l_maxmaxcode Then
                l_tab_prefix(l_free_ent) = l_oldcode
                l_tab_suffix(l_free_ent) = l_finchar
                l_free_ent += 1
            End If

            ' Remember previous code
            l_oldcode = incode

            ' if output buffer full, then return
            If len = 0 Then
                Me.n_bits = l_n_bits
                Me.maxcode = l_maxcode
                Me.bitmask = l_bitmask
                Me.oldcode = l_oldcode
                Me.finchar = l_finchar
                Me.stackp = l_stackp
                Me.free_ent = l_free_ent
                Me.bit_pos = l_bit_pos

                Return (off - start)
            End If
        Loop

        l_bit_pos = Me.resetbuf(l_bit_pos)
        If (Me.got > 0) Then
            GoTo main_loop
        End If

        Me.n_bits = l_n_bits
        Me.maxcode = l_maxcode
        Me.bitmask = l_bitmask
        Me.oldcode = l_oldcode
        Me.finchar = l_finchar
        Me.stackp = l_stackp
        Me.free_ent = l_free_ent
        Me.bit_pos = l_bit_pos

        Me.eof = True
        Return (off - start)
    End Function    ' read_internal


    Public Overrides Function Read(ByVal buffer As Byte(), ByVal offset As Integer, ByVal count As Integer) As Integer
        Return Me.read_internal(buffer, offset, count)
    End Function    ' Read


    ' Moves the unread data in the buffer to the beginning and resets
    ' the pointers.
    Private Function resetbuf(ByVal bit_pos As Integer) As Integer
        Dim pos As Integer = (bit_pos >> 3)
        Array.Copy(Me.data, pos, Me.data, 0, (Me.end - pos))
        Me.end -= pos
        Return 0
    End Function    ' resetbuf


    Public Overrides Function Seek(ByVal offset As Long, ByVal origin As SeekOrigin) As Long
        Throw New NotSupportedException
    End Function    ' Seek


    Public Overrides Sub SetLength(ByVal value As Long)
        Throw New NotSupportedException
    End Sub ' SetLength


    Public Overrides Sub Write(ByVal buffer As Byte(), ByVal offset As Integer, ByVal count As Integer)
        Throw New NotSupportedException
    End Sub ' Write


    ' Properties
    Public Overrides ReadOnly Property CanRead() As Boolean
        Get
            If Me.eof Then
                Return False
            End If
            Return Me._inputStream.CanRead
        End Get
    End Property    ' CanRead


    Public Overrides ReadOnly Property CanSeek() As Boolean
        Get
            Return False
        End Get
    End Property    ' CanSeek


    Public Overrides ReadOnly Property CanWrite() As Boolean
        Get
            Return False
        End Get
    End Property    ' CanWrite


    Public Overrides ReadOnly Property Length() As Long
        Get
            Throw New NotSupportedException
        End Get
    End Property    ' Length


    Public Overrides Property Position() As Long
        Get
            Throw New NotSupportedException
        End Get
        Set(ByVal value As Long)
            Throw New NotSupportedException
        End Set
    End Property    ' Position


    ' Fields
    Private _inputStream As Stream = Nothing

    ' string table stuff
    Private Const TBL_CLEAR As Integer = &H100
    Private Const TBL_FIRST As Integer = TBL_CLEAR + 1
    Private tab_prefix As Integer()
    Private tab_suffix As Byte()
    Private zeros As Integer() = New Integer(&H100 - 1) {}
    Private stack As Byte()

    ' various state
    Private block_mode As Boolean
    Private n_bits As Integer
    Private maxbits As Integer
    Private maxmaxcode As Integer
    Private maxcode As Integer
    Private bitmask As Integer
    Private oldcode As Integer
    Private finchar As Byte
    Private stackp As Integer
    Private free_ent As Integer

    ' input buffer
    Private data As Byte() = New Byte(&H2710 - 1) {}
    Private bit_pos As Integer = 0
    Private [end] As Integer = 0
    Private got As Integer = 0
    Private eof As Boolean = False
    Private Const EXTRA As Integer = &H40
End Class   ' UncompressInputStream


<Microsoft.SqlServer.Dts.Tasks.ScriptTask.SSISScriptTaskEntryPointAttribute> _
<System.CLSCompliantAttribute(False)> _
Partial Public Class ScriptMain
	Inherits Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase

	Enum ScriptResults
		Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success
		Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure
	End Enum

	' The execution engine calls this method when the task executes.
	' To access the object model, use the Dts object. Connections, variables, events,
	' and logging features are available as static members of the Dts class.
	' Before returning from this method, set the value of Dts.TaskResult to indicate success or failure.
	' 
	' To open Code and Text Editor Help, press F1.
	' To open Object Browser, press Ctrl+Alt+J.


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Sub Main()
        Dim result As Integer
        Dim fireAgain As Boolean

        Try
            Dim sourceFile As String = GetConnectionFile_(Me.SourceFile)
            Dim inStream As Stream = New UncompressInputStream(File.OpenRead(sourceFile))
            Dim buf As Byte() = New Byte(&H1000 - 1) {}

            Dim targetFile As String = GetConnectionFile_(Me.TargetFile)
            Using outStream As Stream = File.Create(targetFile)
                Try
                    Dim bytesRead As Integer = 0
                    Do While True
                        bytesRead = inStream.Read(buf, 0, buf.Length)

                        If bytesRead <= 0 Then
                            Exit Do
                        End If

                        Call outStream.Write(buf, 0, bytesRead)
                    Loop

                    Call outStream.Flush()
                Catch ex As Exception
                    ' Failed to uncompress. Remove target file.
                    Call outStream.Close()
                    Call File.Delete(targetFile)
                    Throw
                End Try
            End Using

            Call Dts.Events.FireInformation( _
                0, _
                String.Empty, _
                String.Format("Uncompressed '{0}' to '{1}'.", sourceFile, targetFile), _
                String.Empty, _
                0, _
                fireAgain)

            result = ScriptResults.Success
        Catch ex As Exception
            result = ScriptResults.Failure
            Dts.Events.FireError(0, String.Empty, ex.Message, String.Empty, 0)
        End Try

        Dts.TaskResult = result
    End Sub ' Main


#Region "Internals"
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ' SourceFile property.
    <Connection("FileConnectionType")> _
    <Description("Select connection to source file.")> _
    Public Property SourceFile() As String
        Get
            SourceFile = m_source
        End Get
        Set(ByVal value As String)
            m_source = value
        End Set
    End Property    ' SourceFile


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ' TargetFile property.
    <Connection("FileConnectionType")> _
    <Description("Select connection to target file.")> _
    Public Property TargetFile() As String
        Get
            TargetFile = m_target
        End Get
        Set(ByVal value As String)
            m_target = value
        End Set
    End Property    ' TargetFile


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private ReadOnly Property FileConnectionType() As String
        Get
            FileConnectionType = "FILE"
        End Get
    End Property    ' FileConnectionType


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ' Validate specified connection is the expected type.
    Private Function ValidateConnection_( _
        ByVal managerName As String, _
        ByVal expectedType As String) As Boolean

        Dim result As Boolean
        Dim manager As ConnectionManager

        If Not String.IsNullOrEmpty(managerName) Then
            manager = Dts.Connections(managerName)
            If manager.CreationName = expectedType Then
                result = True
            Else
                ' Doesn't match expected type.
                Dts.Events.FireError( _
                    0, _
                    String.Empty, _
                    String.Format( _
                        "'{0}' connection is not '{1}' type.", _
                        managerName, _
                        expectedType), _
                    String.Empty, _
                    0)
            End If
        End If

        ValidateConnection_ = result
    End Function    ' ValidateConnection_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ' Retrieves file path from specified file connection manager.
    Private Function GetConnectionFile_(ByVal managerName As String) As String
        Dim result As String = String.Empty
        Dim manager As ConnectionManager
        Dim fileConnection As Object

        If ValidateConnection_(managerName, "FILE") Then
            manager = Dts.Connections(managerName)

            fileConnection = manager.AcquireConnection(Nothing)
            If Not fileConnection Is Nothing Then
                result = fileConnection.ToString()
            Else
                Dts.Events.FireError( _
                    0, _
                    String.Empty, _
                    String.Format("''{0}' connection file doesn't exist.", managerName), _
                    String.Empty, _
                    0)
            End If
        End If

        GetConnectionFile_ = result
    End Function    ' GetConnectionFile_
#End Region ' Internals


#Region "Attributes"
    Private m_source As String
    Private m_target As String
#End Region ' Attributes
End Class   ' ScriptMain]]></ProjectItem>
  <ProjectItem Name="ScriptTask_621609c6b8b34789b81ad064fe2a737d.vbproj" Encoding="UTF16LE">
<![CDATA[<?xml version="1.0" encoding="utf-16"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <ProjectTypeGuids>{30D016F9-3734-4E33-A861-5E7D899E18F3};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}</ProjectTypeGuids>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <ProductVersion>8.0.30703</ProductVersion>
    <SchemaVersion>2.0</SchemaVersion>
    <ProjectGuid>{0F06ED4F-8057-4D7D-B346-2644CBF14609}</ProjectGuid>
    <OutputType>Library</OutputType>
    <AppDesignerFolder>My Project</AppDesignerFolder>
    <RootNamespace>ScriptTask_621609c6b8b34789b81ad064fe2a737d</RootNamespace>
    <AssemblyName>ScriptTask_621609c6b8b34789b81ad064fe2a737d</AssemblyName>
    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
    <FileAlignment>512</FileAlignment>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>.\bin\Debug\</OutputPath>
    <EnableUnmanagedDebugging>false</EnableUnmanagedDebugging>
    <DefineDebug>true</DefineDebug>
    <DefineTrace>true</DefineTrace>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
    <DebugSymbols>false</DebugSymbols>
    <Optimize>true</Optimize>
    <OutputPath>.\bin\Release\</OutputPath>
    <EnableUnmanagedDebugging>false</EnableUnmanagedDebugging>
    <DefineDebug>false</DefineDebug>
    <DefineTrace>true</DefineTrace>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="CozyRoc.SSISPlus.2012, Version=1.0.0.0, Culture=neutral, PublicKeyToken=16cf490bb80c34ea, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>C:\Program Files (x86)\Microsoft SQL Server\110\SDK\Assemblies\CozyRoc.SSISPlus.2012.dll</HintPath>
    </Reference>
    <Reference Include="System" />
    <Reference Include="System.Data" />
    <Reference Include="System.Windows.Forms" />
    <Reference Include="System.Xml" />
    <Reference Include="Microsoft.SqlServer.ManagedDTS, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="Microsoft.SqlServer.ScriptTask, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="System" />
    <Reference Include="System.Data" />
  </ItemGroup>
  <ItemGroup>
    <Import Include="Microsoft.VisualBasic" />
    <Import Include="System" />
    <Import Include="System.Collections" />
    <Import Include="System.Data" />
    <Import Include="System.Diagnostics" />
    <Import Include="System.Windows.Forms" />
  </ItemGroup>
  <ItemGroup>
    <AppDesigner Include="My Project\" />
  </ItemGroup>
  <!-- Include the build rules for a VB project.-->
  <Import Project="$(MSBuildBinPath)\Microsoft.VisualBasic.targets" />
  <ProjectExtensions>
    <VisualStudio>
      <FlavorProperties GUID="{30D016F9-3734-4E33-A861-5E7D899E18F3}">
        <ProjectProperties HostName="VSTAHostName" HostPackage="{B3A685AA-7EAF-4BC6-9940-57959FA5AC07}" ApplicationType="usd" Language="vb" TemplatesPath="" DebugInfoExeName="devenv.exe" DebugInfoCommandLine="/vstaHostDebugUri:&quot;vstadebug358f7df8-fc42-45a5-8dbd-ea5d235f4223/cf7cb1a2-9cde-4004-b1f5-2b3837c19adb&quot;" />
        <Host Name="ScriptTask" />
        <ProjectClient>
          <HostIdentifier>SSIS_ST110</HostIdentifier>
        </ProjectClient>
      </FlavorProperties>
    </VisualStudio>
  </ProjectExtensions>
  <ItemGroup>
    <Compile Include="ScriptMain.vb" />
  </ItemGroup>
  <ItemGroup>
    <Folder Include="My Project\" />
  </ItemGroup>
  <PropertyGroup>
    <OptionCompare>Binary</OptionCompare>
  </PropertyGroup>
  <PropertyGroup>
    <OptionExplicit>On</OptionExplicit>
  </PropertyGroup>
  <PropertyGroup>
    <OptionStrict>On</OptionStrict>
  </PropertyGroup>
</Project>]]></ProjectItem>
  <ProjectItem Name="Project" Encoding="UTF16LE">
<![CDATA[<?xml version="1.0" encoding="UTF-16" standalone="yes"?>
<c:Project xmlns:c="http://schemas.microsoft.com/codeprojectml/2010/08/main" xmlns:msb="http://schemas.microsoft.com/developer/msbuild/2003" runtimeVersion="4.0" schemaVersion="1.0">
	<msb:PropertyGroup>
		<msb:Language>msBuild</msb:Language>
		<msb:NoContent>Reference;Import;Folder</msb:NoContent>
		<msb:ProjectId>{A6329A77-5A0A-4369-851F-8933E6154EDB}</msb:ProjectId>
		<msb:DisplayName>ScriptTask_621609c6b8b34789b81ad064fe2a737d</msb:DisplayName>
		<msb:CodeName>ScriptTask_621609c6b8b34789b81ad064fe2a737d</msb:CodeName>
	</msb:PropertyGroup>
	<msb:ItemGroup>
		<msb:Folder Include="My Project\"/>
		<msb:File Include="ScriptMain.vb"/>
		<msb:Project Include="ScriptTask_621609c6b8b34789b81ad064fe2a737d.vbproj"/>
	</msb:ItemGroup>
</c:Project>]]></ProjectItem>
  <BinaryItem Name="ScriptTask_621609c6b8b34789b81ad064fe2a737d.dll">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
cAMoRQAACn45AAAKFm89AAAKJgkLByoAQlNKQgEAAQAAAAAADAAAAHY0LjAuMzAzMTkAAAAABQBs
AAAAtAoAACN+AAAgCwAAwAsAACNTdHJpbmdzAAAAAOAWAADkAgAAI1VTAMQZAAAQAAAAI0dVSUQA
AADUGQAAdAQAACNCbG9iAAAAAAAAAAIAAAFXHaIJCQ4AAAD6JTMAFgAAAQAAAC8AAAAJAAAAKQAA
ACoAAAAXAAAATAAAAAwAAAAtAAAAHAAAAAQAAAANAAAAEAAAAAkAAAABAAAABgAAAAMAAAADAAAA
AgAAAAAAjwsBAAAAAAAKACkB/wAKAF0BPwEGAG0BZgEKAMUB/wAGAEMCZgEKAMUCmwIGAPQC6gIG
AL8D6gIOAFYFLQUGAEUGZgESAHgGYgYSAJEGYgYSAL4GpgYGAOgG1QYKACcHAAcKAD8HEwASAHQH
VwcGAKkHiQcGAMcHZgEGAOsHZgEKAAQIEwAGAFIIMwgGAGYIZgEGAGsIZgEGAHEIZgEGAIcIZgEG
AJEIZgEGAJ8I6gIKAKsIEwAKALsIAAcGANEIZgEGANwI6gIGAOEI6gIKAPwIAAcGADcJZgEOAEsJ
LQUOAGUJLQUWAAUK5QkWACUK5QkKAFsKAAcGAIUKZgEOAJsKLQUSAL0KYgYaAAoL6AoGAB4LiQcG
AD4LiQcGAHYLXAsAAAAAAQAAAAAAAQABAAAAAAApADcABQABAAEAAAAAAGYANwAJAAEAAgAAARAA
cQA3AA0AAQADAAUBAAB7AAAADQAFAAgABQEAAIkAAAANAAUADwAAAAAApAC6AB0ABgARAAEAAADm
ALoAJQAlACIAAgEAAPEAAAApACcAKwAxAIgBIAAxALEBLQAxANMBOgAxAPgBRwAhANQCkABRgBID
owBRgBwDowBRgCUDowBRgC8DowBRgDsDowBRgEgDowBRgFEDowABAG0DyQABADYE9gBRgEMEowBR
gE0EowABAFcEBAEBAGIEyQABAG0EBAEBAHMEyQABAHkECAEBAIQEowABAIsEowABAJMEowABAJ4E
owABAKYEowABAK4EowABALYECwEBAL4EowABAMUEowABAM4EyQABALcDowABANMEowABANcEowAB
ANsECAFRgN8EowABAAoGLwEBABMGLwEGBkoGowBWgFIGNgFWgFoGNgFQIAAAAAAGGDkBEwABAFgg
AAAAAAYYOQETAAEAYCAAAAAAERh0ARcAAQCMIAAAAAATCHsBGwABAKQgAAAAABMIoQEoAAEAvCAA
AAAAEwjKATUAAQDUIAAAAAATCOgBQgABAOwgAAAAAEYCLgJjAAEACCEAAAAARgI3AmgAAgAcIQAA
AACDAEgCbAACADQhAAAAAEYCUAJxAAIASCEAAAAAEQBZAngAAgBkIQAAAAABAHcCgAADAIAhAAAA
AAYYOQETAAQAiCEAAAAAAwiLAosABAC8IQAAAAAGGDkBEwAEANAhAAAAAAYYOQGdAAQAQCIAAAAA
AQAHAxMABQCYIgAAAABGAgwDEwAFAKAiAAAAAAEAYAMTAAUAqCQAAAAABgBxA2gABQDcJAAAAAAG
AHsDzQAFAPQoAAAAAEYClQPNAAgADCkAAAAAAQCuA9UACwBIKQAAAABGAsoD2gAMAFwpAAAAAEYC
1gPhAA4AZCkAAAAARgLmA+YADwBsKQAAAABGCuwD7gASAJApAAAAAEYK+APuABIAoCkAAAAARgoE
BO4AEgCwKQAAAABGChEE8gASAMQpAAAAAEYKHATyABIA2CkAAAAARgopBOEAEgDgKQAAAAAGGDkB
EwATAOgpAAAAAAYAcgUTABMAHCsAAAAABgh3BXEAEwA0KwAAAAAGCIYFHwETAEArAAAAAAYIlQVx
ABQAWCsAAAAABgikBR8BFABkKwAAAAABCLMFcQAVAHgrAAAAAAEAygUkARUA4CsAAAAAAQD3BSoB
FwAAAAEANQIAAAEAbgIAAAEAbgIAAAEA+wIAAAEAiQMAAAIAjQMAAAMAkQMAAAEAmgMAAAIAoQMA
AAMAqAMAAAEAtwMAAAEAoQMAAAIAzwMAAAEA4AMAAAEAmgMAAAIAoQMAAAMAqAMAAAEA4AMAAAEA
4AMAAAEA4AMAAAEA3gUAAAIA6gUAAAEA3gUJADkBEwBZADkBRAFpADkBUwERADkBEwBxADkBEwAk
ADkBEwAsADkBEwA0ADkBEwA8ADkBEwAkAIsCiwAsAIsCiwA0AIsCiwA8AIsCiwB5ADkBEwCBADkB
EwCJADkBHwGRALgH6AEZAC4CYwAZADcCaAApANkH9QEZAFACcQChAPUHBQIZADkBEwCpADkBFQJE
ANQCkABMAB8IiwBMACkIkgJMADkBEwCxADkBoQI5ADkBEwA5AJUDzQDJADkBEwDRADkBHwHBAFAC
KgHZAJgIrALhADkBHwHBAFACcQDZAJgIswLpALcIuQLxAMcIwAL5ANcIzwLxAFAC2gLZAJgI3wI5
AOwD7gBJADkBEwABAewIDQMBAfUIDQM5AOYD5gA5AAwDEwARAQgJFAM5ABgJEwABAR4JGgMRASUJ
FwAZAUMJEwBJAF0JHwMhAXkJJQPZAIQJLwHZAIoJKwMpAZEJMgPRAKEJcQApAa0JPQMhAbcJRgPZ
ABcKXQMhATEKYgM5AUEKaAMxAUoKcQBBAWUKbwMxAXMKfgPZAIoJgwNJATkBoQJRATkBEwBZATkB
HwFhATkBHwFpATkBRgNxATkBEwB5ATkBHwEIABgApgAIABwAqwAIACAAsAAIACQAtQAIACgAugAI
ACwAvwAIADAAxAAIADwA+gAIAEAA/wAIAJAAvwAIAKAAOgEIAKQAPwEpAIMAtgEuAFMCAQQuAFsC
CgQuAGMCKQRAACsAPwFAABMASgFDABsAWQFDABMASgFJAIMA1AFjABMASgFjABsAWQFpAIMAxwGA
ACsAPwGDAHMAPwGDABsAWQGDAHsAPwGJAIMAogGgACsAPwGjABMASgGjAMMAHQLAACsAPwHDAOsA
pgLDABMASgHgACsAPwEAARMASgEAASsAPwEDATMCpgIDATsCPwEgASsAPwEgARMASgFAARMASgFA
ASsAPwFgASsAPwFgARMASgFpAUsCwgNpAUMC2gOAASsAPwGJAUMCkgOJAUsCwgOgASsAPwHAARMA
SgHAASsAPwHgASsAPwEAAhMASgEAAisAPwGOAZMBmAGdAe0B8QH8AQECEAIQApgCxQLxAecC8QEE
AwkD7QHtAe0BCQMJA0sDAQIBAgECdgOJAwQAAQAGAAUABwAGAAgACwAAAF0BTwAAABYCVAAAAMUB
WQAAACICXgAAAN4CmAAAAOUEDgEAAO0EDgEAAPUEDgEAAP4EEgEAAAUFEgEAABwGMgEAACcGMgEA
ADIGMgECAAQAAwACAAUABQACAAYABwACAAcACQACAA8ACwACABwADQACAB0ADwACAB4AEQACAB8A
EwACACAAFQABACEAFQACACQAFwABACUAFwACACYAGQABACcAGQACACgAGwB1AHUAiAByAXkBgAGH
AX8ChgIEgAAAAAAAAAAAAAAAAAAAAAC6AAAABAAAAAAAAAAAAAAAAQAKAAAAAAAKAAAAAAAAAAAA
AAAKABMAAAAAAAsAAAAAAAAAAAAAABYBDgUAAAAABAAAAAAAAAAAAAAAAQBmAQAAAAALAAAAAAAA
AAAAAAAWAcYJAAAAAAEAAAAAAAAAAAAAALkD0goAAAAABQAEAAYABAAJAAgAAAAQAAwAbAIAABAA
GQBsAgAAAAAbAGwCLQALAi0AjQIAAAA8TW9kdWxlPgBtc2NvcmxpYgBNaWNyb3NvZnQuVmlzdWFs
QmFzaWMATXlBcHBsaWNhdGlvbgBTY3JpcHRUYXNrXzYyMTYwOWM2YjhiMzQ3ODliODFhZDA2NGZl
MmE3MzdkLk15AE15Q29tcHV0ZXIATXlQcm9qZWN0AE15V2ViU2VydmljZXMAVGhyZWFkU2FmZU9i
amVjdFByb3ZpZGVyYDEAVW5jb21wcmVzc0lucHV0U3RyZWFtAFNjcmlwdFRhc2tfNjIxNjA5YzZi
OGIzNDc4OWI4MWFkMDY0ZmUyYTczN2QAU2NyaXB0TWFpbgBTY3JpcHRSZXN1bHRzAE1pY3Jvc29m
dC5WaXN1YWxCYXNpYy5BcHBsaWNhdGlvblNlcnZpY2VzAEFwcGxpY2F0aW9uQmFzZQAuY3RvcgBN
aWNyb3NvZnQuVmlzdWFsQmFzaWMuRGV2aWNlcwBDb21wdXRlcgBTeXN0ZW0AT2JqZWN0AC5jY3Rv
cgBnZXRfQ29tcHV0ZXIAbV9Db21wdXRlck9iamVjdFByb3ZpZGVyAGdldF9BcHBsaWNhdGlvbgBt
X0FwcE9iamVjdFByb3ZpZGVyAFVzZXIAZ2V0X1VzZXIAbV9Vc2VyT2JqZWN0UHJvdmlkZXIAZ2V0
X1dlYlNlcnZpY2VzAG1fTXlXZWJTZXJ2aWNlc09iamVjdFByb3ZpZGVyAEFwcGxpY2F0aW9uAFdl
YlNlcnZpY2VzAEVxdWFscwBvAEdldEhhc2hDb2RlAFR5cGUAR2V0VHlwZQBUb1N0cmluZwBDcmVh
dGVfX0luc3RhbmNlX18AVABpbnN0YW5jZQBEaXNwb3NlX19JbnN0YW5jZV9fAGdldF9HZXRJbnN0
YW5jZQBNaWNyb3NvZnQuVmlzdWFsQmFzaWMuTXlTZXJ2aWNlcy5JbnRlcm5hbABDb250ZXh0VmFs
dWVgMQBtX0NvbnRleHQAR2V0SW5zdGFuY2UAU3lzdGVtLklPAFN0cmVhbQBpbnB1dFN0cmVhbQBm
aWxsAEZsdXNoAExaV19NQUdJQwBNQVhfQklUUwBJTklUX0JJVFMASERSX01BWEJJVFMASERSX0VY
VEVOREVEAEhEUl9GUkVFAEhEUl9CTE9DS19NT0RFAHBhcnNlX2hlYWRlcgBvbmUAcmVhZF9ieXRl
AHJlYWRfaW50ZXJuYWwAYnVmAG9mZgBsZW4AUmVhZABidWZmZXIAb2Zmc2V0AGNvdW50AHJlc2V0
YnVmAGJpdF9wb3MAU2Vla09yaWdpbgBTZWVrAG9yaWdpbgBTZXRMZW5ndGgAdmFsdWUAV3JpdGUA
Z2V0X0NhblJlYWQAZ2V0X0NhblNlZWsAZ2V0X0NhbldyaXRlAGdldF9MZW5ndGgAZ2V0X1Bvc2l0
aW9uAHNldF9Qb3NpdGlvbgBfaW5wdXRTdHJlYW0AVEJMX0NMRUFSAFRCTF9GSVJTVAB0YWJfcHJl
Zml4AHRhYl9zdWZmaXgAemVyb3MAc3RhY2sAYmxvY2tfbW9kZQBuX2JpdHMAbWF4Yml0cwBtYXht
YXhjb2RlAG1heGNvZGUAYml0bWFzawBvbGRjb2RlAGZpbmNoYXIAc3RhY2twAGZyZWVfZW50AGRh
dGEAZW5kAGdvdABlb2YARVhUUkEAQ2FuUmVhZABDYW5TZWVrAENhbldyaXRlAExlbmd0aABQb3Np
dGlvbgBNaWNyb3NvZnQuU3FsU2VydmVyLlNjcmlwdFRhc2sATWljcm9zb2Z0LlNxbFNlcnZlci5E
dHMuVGFza3MuU2NyaXB0VGFzawBWU1RBUlRTY3JpcHRPYmplY3RNb2RlbEJhc2UATWFpbgBnZXRf
U291cmNlRmlsZQBzZXRfU291cmNlRmlsZQBnZXRfVGFyZ2V0RmlsZQBzZXRfVGFyZ2V0RmlsZQBn
ZXRfRmlsZUNvbm5lY3Rpb25UeXBlAFZhbGlkYXRlQ29ubmVjdGlvbl8AbWFuYWdlck5hbWUAZXhw
ZWN0ZWRUeXBlAEdldENvbm5lY3Rpb25GaWxlXwBtX3NvdXJjZQBtX3RhcmdldABTb3VyY2VGaWxl
AFRhcmdldEZpbGUARmlsZUNvbm5lY3Rpb25UeXBlAEVudW0AdmFsdWVfXwBTdWNjZXNzAEZhaWx1
cmUAU3lzdGVtLkNvbXBvbmVudE1vZGVsAEVkaXRvckJyb3dzYWJsZUF0dHJpYnV0ZQBFZGl0b3JC
cm93c2FibGVTdGF0ZQBTeXN0ZW0uQ29kZURvbS5Db21waWxlcgBHZW5lcmF0ZWRDb2RlQXR0cmli
dXRlAFN5c3RlbS5EaWFnbm9zdGljcwBEZWJ1Z2dlckhpZGRlbkF0dHJpYnV0ZQBNaWNyb3NvZnQu
VmlzdWFsQmFzaWMuQ29tcGlsZXJTZXJ2aWNlcwBTdGFuZGFyZE1vZHVsZUF0dHJpYnV0ZQBIaWRl
TW9kdWxlTmFtZUF0dHJpYnV0ZQBTeXN0ZW0uQ29tcG9uZW50TW9kZWwuRGVzaWduAEhlbHBLZXl3
b3JkQXR0cmlidXRlAFN5c3RlbS5SdW50aW1lLkNvbXBpbGVyU2VydmljZXMAUnVudGltZUhlbHBl
cnMAR2V0T2JqZWN0VmFsdWUAUnVudGltZVR5cGVIYW5kbGUAR2V0VHlwZUZyb21IYW5kbGUAQWN0
aXZhdG9yAENyZWF0ZUluc3RhbmNlAE15R3JvdXBDb2xsZWN0aW9uQXR0cmlidXRlAGdldF9WYWx1
ZQBzZXRfVmFsdWUAU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzAENvbVZpc2libGVBdHRy
aWJ1dGUAQnl0ZQBJbnQzMgBOb3RTdXBwb3J0ZWRFeGNlcHRpb24ARXhjZXB0aW9uAFN0cmluZwBD
b25jYXQASU9FeGNlcHRpb24ASW50ZXJhY3Rpb24ASUlmAENvbnZlcnNpb25zAFRvSW50ZWdlcgBB
cnJheQBDb3B5AEZpbGUARmlsZVN0cmVhbQBPcGVuUmVhZABDcmVhdGUAUHJvamVjdERhdGEAU2V0
UHJvamVjdEVycm9yAENsb3NlAERlbGV0ZQBDbGVhclByb2plY3RFcnJvcgBJRGlzcG9zYWJsZQBE
aXNwb3NlAFNjcmlwdE9iamVjdE1vZGVsAGdldF9EdHMARXZlbnRzT2JqZWN0V3JhcHBlcgBnZXRf
RXZlbnRzAEVtcHR5AEZvcm1hdABGaXJlSW5mb3JtYXRpb24AZ2V0X01lc3NhZ2UARmlyZUVycm9y
AHNldF9UYXNrUmVzdWx0AE1pY3Jvc29mdC5TcWxTZXJ2ZXIuTWFuYWdlZERUUwBNaWNyb3NvZnQu
U3FsU2VydmVyLkR0cy5SdW50aW1lAENvbm5lY3Rpb25NYW5hZ2VyAElzTnVsbE9yRW1wdHkAQ29u
bmVjdGlvbnMAZ2V0X0Nvbm5lY3Rpb25zAGdldF9JdGVtAGdldF9DcmVhdGlvbk5hbWUAT3BlcmF0
b3JzAENvbXBhcmVTdHJpbmcAQWNxdWlyZUNvbm5lY3Rpb24AQ0xTQ29tcGxpYW50QXR0cmlidXRl
AFNTSVNTY3JpcHRUYXNrRW50cnlQb2ludEF0dHJpYnV0ZQBEZXNjcmlwdGlvbkF0dHJpYnV0ZQBD
b3p5Um9jLlNTSVNQbHVzLjIwMTIAQ296eVJvYy5TcWxTZXJ2ZXIuU1NJUy5BdHRyaWJ1dGVzAENv
bm5lY3Rpb25BdHRyaWJ1dGUAQ29tcGlsYXRpb25SZWxheGF0aW9uc0F0dHJpYnV0ZQBSdW50aW1l
Q29tcGF0aWJpbGl0eUF0dHJpYnV0ZQBTeXN0ZW0uUnVudGltZS5WZXJzaW9uaW5nAFRhcmdldEZy
YW1ld29ya0F0dHJpYnV0ZQBTY3JpcHRUYXNrXzYyMTYwOWM2YjhiMzQ3ODliODFhZDA2NGZlMmE3
MzdkLmRsbAAAADdGAGEAaQBsAGUAZAAgAHQAbwAgAHIAZQBhAGQAIABtAGEAZwBpAGMAIABuAHUA
bQBiAGUAcgAAZUkAbgBwAHUAdAAgAG4AbwB0ACAAaQBuACAAYwBvAG0AcAByAGUAcwBzACAAZgBv
AHIAbQBhAHQAIAAoAHIAZQBhAGQAIABtAGEAZwBpAGMAIABuAHUAbQBiAGUAcgAgADAAeAAAA3gA
AAMpAAArRgBhAGkAbABlAGQAIAB0AG8AIAByAGUAYQBkACAAaABlAGEAZABlAHIAAC9TAHQAcgBl
AGEAbQAgAGMAbwBtAHAAcgBlAHMAcwBlAGQAIAB3AGkAdABoACAAADcgAGIAaQB0AHMALAAgAGIA
dQB0ACAAYwBhAG4AIABvAG4AbAB5ACAAaABhAG4AZABsAGUAIAAACyAAYgBpAHQAcwAAMUgAZQBh
AGQAZQByACAAZQB4AHQAZQBuAHMAaQBvAG4AIABiAGkAdAAgAHMAZQB0AAAhSABlAGEAZABlAHIA
IABiAGkAdAAgADYAIABzAGUAdAAAH2MAbwByAHIAdQBwAHQAIABpAG4AcAB1AHQAOgAgAAANIAA+
ACAAMgA1ADUAACljAG8AcgByAHUAcAB0ACAAaQBuAHAAdQB0ADoAIABjAG8AZABlAD0AABcsACAA
ZgByAGUAZQBfAGUAbgB0AD0AADlVAG4AYwBvAG0AcAByAGUAcwBzAGUAZAAgACcAewAwAH0AJwAg
AHQAbwAgACcAewAxAH0AJwAuAAEJRgBJAEwARQAARycAewAwAH0AJwAgAGMAbwBuAG4AZQBjAHQA
aQBvAG4AIABpAHMAIABuAG8AdAAgACcAewAxAH0AJwAgAHQAeQBwAGUALgABSycAJwB7ADAAfQAn
ACAAYwBvAG4AbgBlAGMAdABpAG8AbgAgAGYAaQBsAGUAIABkAG8AZQBzAG4AJwB0ACAAZQB4AGkA
cwB0AC4AAQBNWXdapjykTby+6YN5emm6AAi3elxWGTTgiQiwP19/EdUKOgMgAAEDAAABBAAAEgwH
BhUSGAESDAQAABIIBwYVEhgBEggEAAASEQcGFRIYARIRBAAAEhQHBhUSGAESFAQIABIMBAgAEggE
CAASEQQIABIUBCABAhwDIAAIBCAAEhUDIAAOAh4ABxABAR4AHgAHMAEBARAeAAITAAQgABMABwYV
EhkBEwAEKAATAAUgAQESHQIGCASdHwAABBAAAAAECQAAAAQfAAAABCAAAAAEQAAAAASAAAAAAwYd
BQcgAwgdBQgIBCABCAgGIAIKChEhBCABAQoHIAMBHQUICAMgAAIDIAAKAwYSHQQAAQAABAEBAAAD
Bh0IAgYCAgYFAygAAgMoAAoIiYRdzYCAzJEEIAEBDgUgAgIODgQgAQ4OAgYOAygADgMGESQEAAAA
AAQBAAAABSABARExCAEAAQAAAAAABSACAQ4OGAEACk15VGVtcGxhdGUIMTAuMC4wLjAAAAYVEhgB
EgwGFRIYARIIBhUSGAESEQYVEhgBEhQEBwESDAQHARIIBAcBEhEEBwESFBMBAA5NeS5XZWJTZXJ2
aWNlcwAAEAEAC015LkNvbXB1dGVyAAAMAQAHTXkuVXNlcgAAEwEADk15LkFwcGxpY2F0aW9uAAAE
AAEcHAMHAQIDBwEIBgABEhURTQQHARIVAwcBDgUQAQAeAAQKAR4ABAcBHgAHIAQBDg4ODmEBADRT
eXN0ZW0uV2ViLlNlcnZpY2VzLlByb3RvY29scy5Tb2FwSHR0cENsaWVudFByb3RvY29sEkNyZWF0
ZV9fSW5zdGFuY2VfXxNEaXNwb3NlX19JbnN0YW5jZV9fAAAABhUSGAETAAYVEhkBEwAECgETAAUg
AQETAAgHAxMAEwATAAQgAQECBQEAAAAABgADDg4ODgUAAQ4dDgYAAxwCHBwEAAEIHAkHBggICAgI
HQ4KAAUBEn0IEn0ICAQAAQ4IBwAEDg4ODg4cBxYICAgdBQUICAgICB0FCB0IHQUICAgICAgICAQH
AggIAwcBCgYAARKAhQ4FAAEBEmkEAAEBDgUgABKAkQUgABKAlQYAAw4OHBwKIAYBCA4ODggQAggg
BQIIDg4OCAQgAQEIEQcKAggdBRIdDg4SHQgSaRJpBAABAg4FIAASgJ0GIAESgJkcBgADCA4OAgcH
AxKAmQICBCABHBwFAAIODhwIBwQcDhKAmQ4mAQAhU2VsZWN0IGNvbm5lY3Rpb24gdG8gdGFyZ2V0
IGZpbGUuAAAIFs9JC7gMNOoXAQASRmlsZUNvbm5lY3Rpb25UeXBlAAAmAQAhU2VsZWN0IGNvbm5l
Y3Rpb24gdG8gc291cmNlIGZpbGUuAAAIAQAIAAAAAAAeAQABAFQCFldyYXBOb25FeGNlcHRpb25U
aHJvd3MBRwEAGi5ORVRGcmFtZXdvcmssVmVyc2lvbj12NC4wAQBUDhRGcmFtZXdvcmtEaXNwbGF5
TmFtZRAuTkVUIEZyYW1ld29yayA0AAAAyEoAAAAAAAAAAAAA3koAAAAgAAAAAAAAAAAAAAAAAAAA
AAAAAAAAANBKAAAAAAAAAABfQ29yRGxsTWFpbgBtc2NvcmVlLmRsbAAAAAAA/yUAIEAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAQAAAAGAAA
gAAAAAAAAAAAAAAAAAAAAQABAAAAMAAAgAAAAAAAAAAAAAAAAAAAAQAAAAAASAAAAFhgAADUAgAA
AAAAAAAAAADUAjQAAABWAFMAXwBWAEUAUgBTAEkATwBOAF8ASQBOAEYATwAAAAAAvQTv/gAAAQAA
AAAAAAAAAAAAAAAAAAAAPwAAAAAAAAAEAAAAAgAAAAAAAAAAAAAAAAAAAEQAAAABAFYAYQByAEYA
aQBsAGUASQBuAGYAbwAAAAAAJAAEAAAAVAByAGEAbgBzAGwAYQB0AGkAbwBuAAAAAAAAALAENAIA
AAEAUwB0AHIAaQBuAGcARgBpAGwAZQBJAG4AZgBvAAAAEAIAAAEAMAAwADAAMAAwADQAYgAwAAAA
LAACAAEARgBpAGwAZQBEAGUAcwBjAHIAaQBwAHQAaQBvAG4AAAAAACAAAAAwAAgAAQBGAGkAbABl
AFYAZQByAHMAaQBvAG4AAAAAADAALgAwAC4AMAAuADAAAACAADAAAQBJAG4AdABlAHIAbgBhAGwA
TgBhAG0AZQAAAFMAYwByAGkAcAB0AFQAYQBzAGsAXwA2ADIAMQA2ADAAOQBjADYAYgA4AGIAMwA0
ADcAOAA5AGIAOAAxAGEAZAAwADYANABmAGUAMgBhADcAMwA3AGQALgBkAGwAbAAAACgAAgABAEwA
ZQBnAGEAbABDAG8AcAB5AHIAaQBnAGgAdAAAACAAAACIADAAAQBPAHIAaQBnAGkAbgBhAGwARgBp
AGwAZQBuAGEAbQBlAAAAUwBjAHIAaQBwAHQAVABhAHMAawBfADYAMgAxADYAMAA5AGMANgBiADgA
YgAzADQANwA4ADkAYgA4ADEAYQBkADAANgA0AGYAZQAyAGEANwAzADcAZAAuAGQAbABsAAAANAAI
AAEAUAByAG8AZAB1AGMAdABWAGUAcgBzAGkAbwBuAAAAMAAuADAALgAwAC4AMAAAADgACAABAEEA
cwBzAGUAbQBiAGwAeQAgAFYAZQByAHMAaQBvAG4AAAAwAC4AMAAuADAALgAwAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAADAAAAPA6AAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==</BinaryItem>
</ScriptProject>