<?xml version="1.0"?>
<ScriptProject Name="ScriptTask_9b073cd5a9404ac3b15506ca5f1398d1" VSTAMajorVersion="3" VSTAMinorVersion="0" Language="VisualBasic">
  <ProjectItem Name="ScriptMain.vb" Encoding="UTF8">
<![CDATA[' Microsoft SQL Server Integration Services Script Task
'
' 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.ComponentModel
Imports System.Collections
Imports System.Windows.Forms
Imports System.Reflection

Imports Microsoft.SqlServer.Dts.Runtime
Imports Microsoft.AnalysisServices
Imports CozyRoc.SqlServer.SSIS.Attributes


'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
<SortProperties(New String() {"Type", "Connection", "Database", "Cube", "Dimension", "Name", "ResultVariable"})> _
<FilterProperties("GetProperties")> _
<ValidateProperties("Validate")> _
<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
    ' Types of object supported.
    Enum ObjectType
        Server = 1
        Database = 2
        Cube = 3
        Dimension = 4
    End Enum    ' ObjectType


    ' 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 propValue As Object = Nothing
        Dim vars As Variables = Nothing

        Try
            Select Case Me.Type
                Case ObjectType.Server
                    ' Get server.
                    Using server As Server = GetServer_()
                        propValue = GetPropertyValue_(server)
                    End Using

                Case ObjectType.Database
                    ' Get database.
                    Using server As Server = GetServer_()
                        Using database As Database = server.Databases(Me.Database)
                            propValue = GetPropertyValue_(database)
                        End Using
                    End Using

                Case ObjectType.Cube
                    ' Get cube.
                    Using server As Server = GetServer_()
                        Using database As Database = server.Databases(Me.Database)
                            Using cube As Cube = database.Cubes(Me.Cube)
                                propValue = GetPropertyValue_(cube)
                            End Using
                        End Using
                    End Using

                Case ObjectType.Dimension
                    ' Get dimension.
                    Using server As Server = GetServer_()
                        Using database As Database = server.Databases(Me.Database)
                            Using cube As Cube = database.Cubes(Me.Cube)
                                Using dimension As CubeDimension = cube.Dimensions(Me.Dimension)
                                    propValue = GetPropertyValue_(dimension)
                                End Using
                            End Using
                        End Using
                    End Using
            End Select

            ' Store property value in package variable.
            Call Dts.VariableDispenser.LockOneForWrite(Me.ResultVariable, vars)
            Try
                vars(Me.ResultVariable).Value = propValue
            Finally
                Call vars.Unlock()
            End Try

            result = ScriptResults.Success
        Catch ex As Exception
            result = ScriptResults.Failure
            Call Dts.Events.FireError( _
                0, _
                String.Empty, _
                ex.Message, _
                String.Empty, _
                0)
        End Try

        Dts.TaskResult = result
    End Sub ' Main


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ' Returns list of current properties based on current state.
    Public Function GetProperties() As String()
        Dim result As New ArrayList

        ' Base properties.
        Call result.Add("Type")
        Call result.Add("Connection")
        Call result.Add("Name")
        Call result.Add("ResultVariable")

        Select Case Me.Type
            Case ObjectType.Server
                ' Nothing to do here.

            Case ObjectType.Database
                Call result.Add("Database")

            Case ObjectType.Cube
                Call result.Add("Database")
                Call result.Add("Cube")

            Case ObjectType.Dimension
                Call result.Add("Database")
                Call result.Add("Cube")
                Call result.Add("Dimension")
        End Select

        Return CType(result.ToArray(GetType(String)), String())
    End Function    ' GetProperties


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Function Validate(ByRef errMessage As String) As Boolean
        Dim result As Boolean
        Dim props As Object()

        Try
            props = GetProps_()

            If String.IsNullOrEmpty(Me.Name) Then
                Throw New ApplicationException("Please specify property.")
            End If

            result = True
        Catch ex As Exception
            result = False
            errMessage = ex.Message
        End Try

        Validate = result
    End Function    'Validate


#Region "Properties"
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Category("	Object")> _
    <Description("Specifies analysis services object.")> _
    <RefreshProperties(RefreshProperties.All)> _
    Public Property Type() As ObjectType
        Get
            Type = m_object
        End Get
        Set(ByVal value As ObjectType)
            If m_object <> value Then
                m_object = value

                Me.Name = String.Empty
                m_cachedProps = Nothing
            End If
        End Set
    End Property    ' Type


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Connection("AsConnectionType")> _
    <Category("Analysis Services")> _
    <Description("Specifies connection to Analysis Services server.")> _
    Public Property Connection() As String
        Get
            Connection = m_connection
        End Get
        Set(ByVal value As String)
            If m_connection <> value Then
                m_connection = value

                Me.Database = String.Empty
                m_cachedDatabases = Nothing
                Me.Name = String.Empty
                m_cachedProps = Nothing
            End If
        End Set
    End Property    ' Connection


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <List("GetDatabases")> _
    <Category("Analysis Services")> _
    <Description("Specifies Analysis Services database.")> _
    Public Property Database() As String
        Get
            Database = m_database
        End Get
        Set(ByVal value As String)
            If m_database <> value Then
                m_database = value

                Me.Cube = String.Empty
                m_cachedCubes = Nothing
                Me.Name = String.Empty
                m_cachedProps = Nothing
            End If
        End Set
    End Property    ' Database


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <List("GetCubes")> _
    <Category("Analysis Services")> _
    <Description("Specifies Analysis Services cube.")> _
    Public Property Cube() As String
        Get
            Cube = m_cube
        End Get
        Set(ByVal value As String)
            If m_cube <> value Then
                m_cube = value

                Me.Dimension = String.Empty
                m_cachedDims = Nothing
                Me.Name = String.Empty
                m_cachedProps = Nothing
            End If
        End Set
    End Property    ' Cube


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <List("GetDimensions")> _
    <Category("Analysis Services")> _
    <Description("Specifies Analysis Services dimension.")> _
    Public Property Dimension() As String
        Get
            Dimension = m_dimension
        End Get
        Set(ByVal value As String)
            If m_cube <> value Then
                m_dimension = value

                Me.Name = String.Empty
                m_cachedProps = Nothing
            End If
        End Set
    End Property    ' Dimension


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <List("GetObjectProperties")> _
    <Category("Property")> _
    <Description("Specifies object property.")> _
    Public Property Name() As String
        Get
            Name = m_propName
        End Get
        Set(ByVal value As String)
            m_propName = value
        End Set
    End Property    ' Name


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Variable()> _
    <Category("Property")> _
    <Description("Specifies package variable where you would like to store the property value.")> _
    Public Property ResultVariable() As String
        Get
            ResultVariable = m_resultVariable
        End Get
        Set(ByVal value As String)
            m_resultVariable = value
        End Set
    End Property    ' ResultVariable
#End Region ' Properties


#Region "Internals"
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private ReadOnly Property AsConnectionType() As String()
        Get
            AsConnectionType = New String() {"MSOLAP90", "MSOLAP100", "MSOLAP110"}
        End Get
    End Property    ' FtpConnectionType


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ' Get connected AS Server object.
    Private Function GetServer_() As Server
        Dim result As Server

        ' Get connection string.
        Dim manager As ConnectionManager = Dts.Connections(Me.Connection)
        Dim connString As String = manager.ConnectionString

        result = New Server()
        result.Connect(connString)

        GetServer_ = result
    End Function    ' GetServer_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ' Get list of selected connection databases.
    Public Function GetDatabases() As Object()
        Dim arrDatabases As ArrayList = New ArrayList()
        Dim dbCount As Integer

        Cursor.Current = Cursors.WaitCursor

        Try
            If String.IsNullOrEmpty(Me.Connection) Then
                ' User has to specify connection.
                Throw New ApplicationException("Please specify connection.")
            End If

            If m_cachedDatabases Is Nothing Then
                ' Cache databases.
                Using server As Server = GetServer_()
                    dbCount = server.Databases.Count
                    For dbIndex As Integer = 0 To dbCount - 1
                        Using db As Database = server.Databases(dbIndex)
                            Call arrDatabases.Add(db.Name)
                        End Using
                    Next
                End Using

                m_cachedDatabases = arrDatabases.ToArray()
            End If
        Catch ex As Exception
            Call MessageBox.Show(ex.Message)
        Finally
            Cursor.Current = m_currentCursor
        End Try

        GetDatabases = m_cachedDatabases
    End Function    ' GetDatabases


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ' Get list of selected database cubes.
    Public Function GetCubes() As Object()
        Dim arrCubes As ArrayList = New ArrayList()
        Dim cubesCount As Integer

        Cursor.Current = Cursors.WaitCursor

        Try
            If String.IsNullOrEmpty(Me.Database) Then
                ' User has to specify database.
                Throw New ApplicationException("Please specify database.")
            End If

            If m_cachedCubes Is Nothing Then
                ' Cache cubes.
                Using server As Server = GetServer_()
                    Using database As Database = server.Databases(Me.Database)
                        cubesCount = database.Cubes.Count
                        For cubeIndex As Integer = 0 To cubesCount - 1
                            Using cube As Cube = database.Cubes(cubeIndex)
                                Call arrCubes.Add(cube.Name)
                            End Using
                        Next
                    End Using
                End Using

                m_cachedCubes = arrCubes.ToArray()
            End If
        Catch ex As Exception
            Call MessageBox.Show(ex.Message)
        Finally
            Cursor.Current = m_currentCursor
        End Try

        GetCubes = m_cachedCubes
    End Function    ' GetCubes


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ' Get list of selected cube dimensions.
    Public Function GetDimensions() As Object()
        Dim arrDims As ArrayList = New ArrayList()
        Dim dimsCount As Integer

        Cursor.Current = Cursors.WaitCursor

        Try
            If String.IsNullOrEmpty(Me.Cube) Then
                ' User has to specify cube.
                Throw New ApplicationException("Please specify cube.")
            End If

            If m_cachedDims Is Nothing Then
                ' Cache dimensions.
                Using server As Server = GetServer_()
                    Using database As Database = server.Databases(Me.Database)
                        Using cube As Cube = database.Cubes(Me.Cube)
                            dimsCount = cube.Dimensions.Count
                            For dimIndex As Integer = 0 To dimsCount - 1
                                Using dimension As CubeDimension = cube.Dimensions(dimIndex)
                                    Call arrDims.Add(dimension.Name)
                                End Using
                            Next

                        End Using
                    End Using
                End Using

                m_cachedDims = arrDims.ToArray()
            End If
        Catch ex As Exception
            Call MessageBox.Show(ex.Message)
        Finally
            Cursor.Current = m_currentCursor
        End Try

        GetDimensions = m_cachedDims
    End Function    ' GetDimensions


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ' Get list of selected object properties.
    Public Function GetObjectProperties() As Object()
        Dim result As Object() = Nothing

        Cursor.Current = Cursors.WaitCursor

        Try
            result = GetProps_()
        Catch ex As Exception
            Call MessageBox.Show(ex.Message)
        Finally
            Cursor.Current = m_currentCursor
        End Try

        GetObjectProperties = result
    End Function    ' GetObjectProperties


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ' Get list of selected object properties.
    Public Function GetProps_() As Object()
        Dim arrProps As ArrayList = New ArrayList()
        Dim props As PropertyInfo() = Nothing

        If m_cachedProps Is Nothing Then
            ' Cache properties.

            ' Get object.
            Select Case Me.Type
                Case ObjectType.Server
                    ' Get server.
                    If String.IsNullOrEmpty(Me.Connection) Then
                        Throw New ApplicationException("Please specify connection.")
                    End If

                    Using server As Server = GetServer_()
                        props = server.GetType().GetProperties( _
                            BindingFlags.Instance Or BindingFlags.Public)
                    End Using

                Case ObjectType.Database
                    ' Get database.
                    If String.IsNullOrEmpty(Me.Database) Then
                        Throw New ApplicationException("Please specify database.")
                    End If

                    Using server As Server = GetServer_()
                        Using database As Database = server.Databases(Me.Database)
                            props = database.GetType().GetProperties( _
                                BindingFlags.Instance Or BindingFlags.Public)
                        End Using
                    End Using

                Case ObjectType.Cube
                    ' Get cube.
                    If String.IsNullOrEmpty(Me.Cube) Then
                        Throw New ApplicationException("Please specify cube.")
                    End If

                    Using server As Server = GetServer_()
                        Using database As Database = server.Databases(Me.Database)
                            Using cube As Cube = database.Cubes(Me.Cube)
                                props = cube.GetType().GetProperties( _
                                    BindingFlags.Instance Or BindingFlags.Public)
                            End Using
                        End Using
                    End Using

                Case ObjectType.Dimension
                    ' Get dimension.
                    If String.IsNullOrEmpty(Me.Dimension) Then
                        Throw New ApplicationException("Please specify dimension.")
                    End If

                    Using server As Server = GetServer_()
                        Using database As Database = server.Databases(Me.Database)
                            Using cube As Cube = database.Cubes(Me.Cube)
                                Using dimension As CubeDimension = cube.Dimensions(Me.Dimension)
                                    props = dimension.GetType().GetProperties( _
                                        BindingFlags.Instance Or BindingFlags.Public)
                                End Using
                            End Using
                        End Using
                    End Using
            End Select

            ' Load properties.
            For Each prop As PropertyInfo In props
                Call arrProps.Add(prop.Name)
            Next

            Call arrProps.Sort()

            m_cachedProps = arrProps.ToArray()
        End If

        GetProps_ = m_cachedProps
    End Function    ' GetProps_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ' Get current selected property value.
    Private Function GetPropertyValue_(ByVal obj As Object) As Object
        GetPropertyValue_ = obj.GetType().InvokeMember( _
            Me.Name, _
            BindingFlags.Instance Or BindingFlags.Public Or BindingFlags.GetProperty, _
            Nothing, _
            obj, _
            New Object() {})
    End Function    ' GetPropertyValue_
#End Region ' Internals


#Region "Attributes"
    Private m_object As ObjectType
    Private m_connection As String
    Private m_database As String
    Private m_cube As String
    Private m_dimension As String
    Private m_propName As String
    Private m_resultVariable As String

    Private m_cachedDatabases As Object()
    Private m_cachedCubes As Object()
    Private m_cachedDims As Object()
    Private m_cachedProps As Object()
    Private m_currentCursor As Cursor = Cursor.Current
#End Region ' Attributes

End Class   ' ScriptMain]]></ProjectItem>
  <ProjectItem Name="ScriptTask_9b073cd5a9404ac3b15506ca5f1398d1.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>{A7BF1354-02EF-4D10-9DD1-04AB02702434}</ProjectGuid>
    <OutputType>Library</OutputType>
    <AppDesignerFolder>My Project</AppDesignerFolder>
    <RootNamespace>ScriptTask_9b073cd5a9404ac3b15506ca5f1398d1</RootNamespace>
    <AssemblyName>ScriptTask_9b073cd5a9404ac3b15506ca5f1398d1</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" />
    <Reference Include="Microsoft.AnalysisServices" />
  </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;vstadebug4325c4b4-ef61-4e5e-9edf-6ccad3bd9f0b/85626992-5fef-4542-9a08-e1f6a2c33e4b&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:ProjectId>{4801EC96-349C-4B50-96CD-CD239501CD94}</msb:ProjectId>
		<msb:NoContent>Reference;Import;Folder</msb:NoContent>
		<msb:Language>msBuild</msb:Language>
		<msb:DisplayName>ScriptTask_9b073cd5a9404ac3b15506ca5f1398d1</msb:DisplayName>
		<msb:CodeName>ScriptTask_9b073cd5a9404ac3b15506ca5f1398d1</msb:CodeName>
	</msb:PropertyGroup>
	<msb:ItemGroup>
		<msb:File Include="ScriptMain.vb"/>
		<msb:Folder Include="My Project\"/>
		<msb:Project Include="ScriptTask_9b073cd5a9404ac3b15506ca5f1398d1.vbproj"/>
	</msb:ItemGroup>
</c:Project>]]></ProjectItem>
  <BinaryItem Name="ScriptTask_9b073cd5a9404ac3b15506ca5f1398d1.dll">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
BAAAANcBAADbAQAANQAAABsAAAETMAIAuQAAAA0AABFzNAAACgsHcgEAAHBvNQAACiYHcgsAAHBv
NQAACiYHciEAAHBvNQAACiYHcisAAHBvNQAACiYCbxUAAAYXWUUEAAAAAgAAAAQAAAASAAAALAAA
ACtOK0wHckkAAHBvNQAACiYrPgdySQAAcG81AAAKJgdyWwAAcG81AAAKJiskB3JJAABwbzUAAAom
B3JbAABwbzUAAAomB3JlAABwbzUAAAomB9AlAAABKBQAAApvNgAACnQKAAAbKgAAABswAgA/AAAA
DgAAEQJvKQAABgoCbx8AAAYoNwAACiwLcnkAAHBzOAAACnoXC94YJSgtAAAKDRYLAwlvMAAAClEo
MgAACt4ABwwIKgABEAAAAAAAACMjABgbAAABEzABAAkAAAAPAAARAnsGAAAECgYqAAAAjgJ7BgAA
BAMuGQIDfQYAAAQCfi8AAApvIAAABgIUfRAAAAQqEzABAAkAAAAQAAARAnsHAAAECgYqAAAA8gJ7
BwAABAMWKDkAAAoWLisCA30HAAAEAn4vAAAKbxoAAAYCFH0NAAAEAn4vAAAKbyAAAAYCFH0QAAAE
KgAAABMwAQAJAAAAEQAAEQJ7CAAABAoGKgAAAPICewgAAAQDFig5AAAKFi4rAgN9CAAABAJ+LwAA
Cm8cAAAGAhR9DgAABAJ+LwAACm8gAAAGAhR9EAAABCoAAAATMAEACQAAABIAABECewkAAAQKBioA
AADyAnsJAAAEAxYoOQAAChYuKwIDfQkAAAQCfi8AAApvHgAABgIUfQ8AAAQCfi8AAApvIAAABgIU
fRAAAAQqAAAAEzABAAkAAAATAAARAnsKAAAECgYqAAAAqgJ7CQAABAMWKDkAAAoWLhkCA30KAAAE
An4vAAAKbyAAAAYCFH0QAAAEKgATMAEACQAAABQAABECewsAAAQKBioAAAAiAgN9CwAABCoAAAAT
MAEACQAAABUAABECewwAAAQKBioAAAAiAgN9DAAABCoAAAATMAMAIwAAABYAABEZjSUAAAELBxZy
qwAAcKIHF3K9AABwogcYctEAAHCiBwoGKgATMAIALwAAABcAABECbycAAApvOgAACgJvFwAABm87
AAAKDAhvPAAACgpzPQAACg0JBm8+AAAKCQsHKgAbMAMAzwAAABgAABFzNAAACgooPwAACihAAAAK
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
EQAACgoGKgBCU0pCAQABAAAAAAAMAAAAdjQuMC4zMDMxOQAAAAAFAGwAAAB4CwAAI34AAOQLAAAE
DQAAI1N0cmluZ3MAAAAA6BgAAKwBAAAjVVMAlBoAABAAAAAjR1VJRAAAAKQaAADABgAAI0Jsb2IA
AAAAAAAAAgAAAVcdogkJDgAAAPolMwAWAAABAAAAQwAAAAkAAAAZAAAAKgAAAAwAAABaAAAABgAA
AEEAAAAdAAAAAwAAAA0AAAAUAAAACgAAAAEAAAAIAAAABAAAAAMAAAACAAAAAADUDAEAAAAAAAoA
HgH0AAoAUgE0AQYAYgFbAQoAugH0AAYAOAJbAQoAugKQAg4AJwP+AhIAUAQ1BBYAWgVFBQYAuQVb
ARoA7AXWBRoABQbWBRoAMgYaBgYAXAZJBgoAmwZ0BgoAswYTABoA6AbLBgYAHQf9BgYAOwdbAQYA
XwdbAQoAeAcTAAYAxgenBx4AJQgFCBIAfAU1BBIAhQU1BBIALwg1BAYAPQhbAQYARwhbARIAWwg1
BBIAhQg1BBIAngg1BA4AxQj+Ah4A3wgFCB4AFwkFCAoAJwl0Bg4AQwn+AgYAYglbAQYAuQmmCQYA
xwlbAQYA4wlbAQoA+Al0Bh4AEAoFCB4AIgoFCBYAWwpFBRIAfgo1BBIAoQo1BBYAsApFBRYAuwpF
BQYA3wrNCgYA7ArNCgYA+QrNCgYACQvNCgYAHQtbAQ4AMwv+AiIAjQtrCyIAqQtrCyIAwwtrCxoA
2wvWBRoA8AvWBSIAAgxrCyIAEAxrCxoAJAzWBRoAPwzWBSIAUQxrCwYAYwz9BgYAgwz9BgYAuwyh
DAAAAAABAAAAAAABAAEAAAAAACkANwAFAAEAAQAAAAAAZgA3AAkAAQACAAABEABxADcADQABAAMA
BQEAAHsAAAANAAUACAAFAQAAiQAAAA0ABQAPAAEAAACkAK8AHQAGABEAAgEAANsAAAApABIAKwAC
AQAA6QAAACkAFQArADEAfQEgADEApgEtADEAyAE6ADEA7QFHACEAyQKQAAEAugTQAAEAwwTUAAEA
0ATUAAEA2wTUAAEA4gTUAAEA7gTUAAEA+QTUAAEACgXXAAEAHAXXAAEAKgXXAAEANwXXAAEAYQXb
AAYGvgXtAFaAxgXwAFaAzgXwAAYGvgXtAFaAUATQAFaAfAXQAFaAhQXQAFaAigXQAFAgAAAAAAYY
LgETAAEAWCAAAAAABhguARMAAQBgIAAAAAARGGkBFwABAIwgAAAAABMIcAEbAAEApCAAAAAAEwiW
ASgAAQC8IAAAAAATCL8BNQABANQgAAAAABMI3QFCAAEA7CAAAAAARgIjAmMAAQAIIQAAAABGAiwC
aAACABwhAAAAAIMAPQJsAAIANCEAAAAARgJFAnEAAgBIIQAAAAARAE4CeAACAGQhAAAAAAEAbAKA
AAMAgCEAAAAABhguARMABACIIQAAAAADCIACiwAEALwhAAAAAAYYLgETAAQA0CEAAAAABhguARMA
BADkIQAAAAAGAEMDEwAEADQlAAAAAAYASAOmAAQA/CUAAAAABgBWA6sABABYJgAAAAAGCGoDsQAF
AHAmAAAAAAYIcwO2AAUAlCYAAAAABgiCA3EABgCsJgAAAAAGCJEDvAAGAOwmAAAAAAYIoANxAAcA
BCcAAAAABgitA7wABwBEJwAAAAAGCLoDcQAIAFwnAAAAAAYIwwO8AAgAnCcAAAAABgjMA3EACQC0
JwAAAAAGCNoDvAAJAOAnAAAAAAYI6ANxAAoA+CcAAAAABgjxA7wACgAEKAAAAAAGCPoDcQALABwo
AAAAAAYIDQS8AAsAKCgAAAAAAQggBKYADABYKAAAAAABAFcEwQAMAJQoAAAAAAYAYgTGAAwApCkA
AAAABgBvBMYADADoKgAAAAAGAHgExgAMAFgsAAAAAAYAhgTGAAwAwCwAAAAABgCaBMYADACgLwAA
AAABAKQEywAMAAAAAQAqAgAAAQBjAgAAAQBjAgAAAQBfAwAAAQB8AwAAAQB8AwAAAQB8AwAAAQB8
AwAAAQB8AwAAAQB8AwAAAQB8AwAAAQC2BAkALgETAFkALgENAWkALgEcAREALgETAHEALgETACQA
LgETACwALgETADQALgETADwALgETACQAgAKLACwAgAKLADQAgAKLADwAgAKLAHkALgETAIEALgET
AIkALgG8AJEALAexARkAIwJjABkALAJoACkATQe+ARkARQJxAKEAaQfOARkALgETAKkALgHeAUQA
yQKQAEwAkweLAEwAnQdbAkwALgETALEALgFqAjkALgETAEkA2gd1AuEAUwgTAEEAbgh6AukAfAh/
AsEAlAiFAvEAfAiKAskAtgiQAvkAfAiVAjkA1wibAgEB8QihAgkBBwmnArkAfAivAhEBnQe2ArkA
IAkTABkBMwm7AgEBVwnBAikBaQnUANkAbwlxACEBewnHAhkBhQkXAAEBlwnQAjEBLgETADEBwwn0
AjEBzQn5AikB1QkOA0EBLgG8AEkBAgohAwEBLgovA1kBfAg1A1EBPgpxAEEALgETAEEAUwq8AGEB
Ywp1AkkAcgpHA2kBlwpoAOkAfAhNA3EB6ANxADEBzQnGAHkByApTA/EAfAhrA/kAfAiEAxkAPQJs
ACkASAOoA5kB6ANxADEBBAsTACkAEAvcA6kBLgFqArEBLgETALkBLgG8AMEBLgG8AMkBLgEYBNEB
LgG8ANkBLgG8AOEBLgG8AOkBLgG8APEBLgGCBQECLgETAAkCLgHQAhECLgETABkCLgG8AAgATAD0
AAgAUAD5AAgAWAD5AAgAXAD+AAgAYAADAQgAZAAIASkAgwB/AS4A0wJ2Bi4AwwJOBi4AywJXBkAA
KwD5AEAAEwATAUMAEwATAUMAGwAiAUkAgwBrAWMAGwAiAWMAEwATAWkAgwCkAYAAKwD5AIMAewD5
AIMAcwD5AIMAGwAiAYkAgwCQAaAAKwD5AKMAwwDmAaMAEwATAcAAKwD5AMMAEwATAcMA6wBvAskA
kwKJBckAmwKyBckAswITAeAAKwD5AOMAgwIFBOMAawJvAuMAewL3A+MAiwIeBOMAcwL5AOkAkwI1
BekAqwJsBekAmwLWBAABKwD5AAABEwATAQkBmwLWBAkBowI8BgkBkwIRBiABKwD5ACABEwATASkB
kwIABSkBmwLWBCkBowInBUABKwD5AEABEwATAUkBkwKqBEkBmwLWBEkBowLtBGABKwD5AGABEwAT
AWkBowKRBGkBkwJjBGkBmwKDBIABKwD5AIkBuwL5AIkBmwKDBIkBkwK/BaABKwD5AMABKwD5AMAB
EwATAeABKwD5AAACKwD5AAACEwATAVcBXAFhAWYBtgG6AcUBygHZAdkBYQLVAgQDEwMcA8oBygHK
AcoBygHKASgDPANaA3EDigOfA7ID6gMEAAEABgAFAAcABgAAAFIBTwAAAAsCVAAAALoBWQAAABcC
XgAAANMCmAAAADgC3wAAAHEF5AAAAHwF5AAAAIUF5AAAAIoF5AAAAJQF5AAAAJkF5AAAAKgF6AAC
AAQAAwACAAUABQACAAYABwACAAcACQACAA8ACwACABUADQABABYADQACABcADwABABgADwACABkA
EQABABoAEQACABsAEwABABwAEwABAB4AFQACAB0AFQABACAAFwACAB8AFwACACEAGQABACIAGQAC
ACMAGwB1AHUAiAA7AUIBSQFQAUgCTwIBAwSAAAAAAAAAAAAAAAAAAAAAAK8AAAAEAAAAAAAAAAAA
AAABAAoAAAAAAAoAAAAAAAAAAAAAAAoAEwAAAAAACwAAAAAAAAAAAAAAnQDfAgAAAAALAAAAAAAA
AAAAAACdADUEAAAAAAQAAAAAAAAAAAAAAAEARQUAAAAABAAAAAAAAAAAAAAAAQBbAQAAAAALAAAA
AAAAAAAAAACdAOYHAAAAAAEAAAAAAAAAAAAAAO4DVQsAAAAABQAEAAYABAAIAAcACQAHAAAAEAAM
AGECAAAQABkAYQIAAAAAGwBhAi0A1AEtAFYCAAAAAAA8TW9kdWxlPgBtc2NvcmxpYgBNaWNyb3Nv
ZnQuVmlzdWFsQmFzaWMATXlBcHBsaWNhdGlvbgBTY3JpcHRUYXNrXzliMDczY2Q1YTk0MDRhYzNi
MTU1MDZjYTVmMTM5OGQxLk15AE15Q29tcHV0ZXIATXlQcm9qZWN0AE15V2ViU2VydmljZXMAVGhy
ZWFkU2FmZU9iamVjdFByb3ZpZGVyYDEAU2NyaXB0TWFpbgBTY3JpcHRUYXNrXzliMDczY2Q1YTk0
MDRhYzNiMTU1MDZjYTVmMTM5OGQxAFNjcmlwdFJlc3VsdHMAT2JqZWN0VHlwZQBNaWNyb3NvZnQu
VmlzdWFsQmFzaWMuQXBwbGljYXRpb25TZXJ2aWNlcwBBcHBsaWNhdGlvbkJhc2UALmN0b3IATWlj
cm9zb2Z0LlZpc3VhbEJhc2ljLkRldmljZXMAQ29tcHV0ZXIAU3lzdGVtAE9iamVjdAAuY2N0b3IA
Z2V0X0NvbXB1dGVyAG1fQ29tcHV0ZXJPYmplY3RQcm92aWRlcgBnZXRfQXBwbGljYXRpb24AbV9B
cHBPYmplY3RQcm92aWRlcgBVc2VyAGdldF9Vc2VyAG1fVXNlck9iamVjdFByb3ZpZGVyAGdldF9X
ZWJTZXJ2aWNlcwBtX015V2ViU2VydmljZXNPYmplY3RQcm92aWRlcgBBcHBsaWNhdGlvbgBXZWJT
ZXJ2aWNlcwBFcXVhbHMAbwBHZXRIYXNoQ29kZQBUeXBlAEdldFR5cGUAVG9TdHJpbmcAQ3JlYXRl
X19JbnN0YW5jZV9fAFQAaW5zdGFuY2UARGlzcG9zZV9fSW5zdGFuY2VfXwBnZXRfR2V0SW5zdGFu
Y2UATWljcm9zb2Z0LlZpc3VhbEJhc2ljLk15U2VydmljZXMuSW50ZXJuYWwAQ29udGV4dFZhbHVl
YDEAbV9Db250ZXh0AEdldEluc3RhbmNlAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuU2NyaXB0VGFzawBN
aWNyb3NvZnQuU3FsU2VydmVyLkR0cy5UYXNrcy5TY3JpcHRUYXNrAFZTVEFSVFNjcmlwdE9iamVj
dE1vZGVsQmFzZQBNYWluAEdldFByb3BlcnRpZXMAVmFsaWRhdGUAZXJyTWVzc2FnZQBnZXRfVHlw
ZQBzZXRfVHlwZQB2YWx1ZQBnZXRfQ29ubmVjdGlvbgBzZXRfQ29ubmVjdGlvbgBnZXRfRGF0YWJh
c2UAc2V0X0RhdGFiYXNlAGdldF9DdWJlAHNldF9DdWJlAGdldF9EaW1lbnNpb24Ac2V0X0RpbWVu
c2lvbgBnZXRfTmFtZQBzZXRfTmFtZQBnZXRfUmVzdWx0VmFyaWFibGUAc2V0X1Jlc3VsdFZhcmlh
YmxlAGdldF9Bc0Nvbm5lY3Rpb25UeXBlAE1pY3Jvc29mdC5BbmFseXNpc1NlcnZpY2VzAFNlcnZl
cgBHZXRTZXJ2ZXJfAEdldERhdGFiYXNlcwBHZXRDdWJlcwBHZXREaW1lbnNpb25zAEdldE9iamVj
dFByb3BlcnRpZXMAR2V0UHJvcHNfAEdldFByb3BlcnR5VmFsdWVfAG9iagBtX29iamVjdABtX2Nv
bm5lY3Rpb24AbV9kYXRhYmFzZQBtX2N1YmUAbV9kaW1lbnNpb24AbV9wcm9wTmFtZQBtX3Jlc3Vs
dFZhcmlhYmxlAG1fY2FjaGVkRGF0YWJhc2VzAG1fY2FjaGVkQ3ViZXMAbV9jYWNoZWREaW1zAG1f
Y2FjaGVkUHJvcHMAU3lzdGVtLldpbmRvd3MuRm9ybXMAQ3Vyc29yAG1fY3VycmVudEN1cnNvcgBD
b25uZWN0aW9uAERhdGFiYXNlAEN1YmUARGltZW5zaW9uAE5hbWUAUmVzdWx0VmFyaWFibGUAQXND
b25uZWN0aW9uVHlwZQBFbnVtAHZhbHVlX18AU3VjY2VzcwBGYWlsdXJlAFN5c3RlbS5Db21wb25l
bnRNb2RlbABFZGl0b3JCcm93c2FibGVBdHRyaWJ1dGUARWRpdG9yQnJvd3NhYmxlU3RhdGUAU3lz
dGVtLkNvZGVEb20uQ29tcGlsZXIAR2VuZXJhdGVkQ29kZUF0dHJpYnV0ZQBTeXN0ZW0uRGlhZ25v
c3RpY3MARGVidWdnZXJIaWRkZW5BdHRyaWJ1dGUATWljcm9zb2Z0LlZpc3VhbEJhc2ljLkNvbXBp
bGVyU2VydmljZXMAU3RhbmRhcmRNb2R1bGVBdHRyaWJ1dGUASGlkZU1vZHVsZU5hbWVBdHRyaWJ1
dGUAU3lzdGVtLkNvbXBvbmVudE1vZGVsLkRlc2lnbgBIZWxwS2V5d29yZEF0dHJpYnV0ZQBTeXN0
ZW0uUnVudGltZS5Db21waWxlclNlcnZpY2VzAFJ1bnRpbWVIZWxwZXJzAEdldE9iamVjdFZhbHVl
AFJ1bnRpbWVUeXBlSGFuZGxlAEdldFR5cGVGcm9tSGFuZGxlAEFjdGl2YXRvcgBDcmVhdGVJbnN0
YW5jZQBNeUdyb3VwQ29sbGVjdGlvbkF0dHJpYnV0ZQBnZXRfVmFsdWUAc2V0X1ZhbHVlAFN5c3Rl
bS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcwBDb21WaXNpYmxlQXR0cmlidXRlAGdldF9DdXJyZW50
AE1pY3Jvc29mdC5TcWxTZXJ2ZXIuTWFuYWdlZERUUwBNaWNyb3NvZnQuU3FsU2VydmVyLkR0cy5S
dW50aW1lAFZhcmlhYmxlcwBDdWJlRGltZW5zaW9uAEV4Y2VwdGlvbgBJRGlzcG9zYWJsZQBEaXNw
b3NlAERhdGFiYXNlQ29sbGVjdGlvbgBnZXRfRGF0YWJhc2VzAGdldF9JdGVtAEN1YmVDb2xsZWN0
aW9uAGdldF9DdWJlcwBDdWJlRGltZW5zaW9uQ29sbGVjdGlvbgBnZXRfRGltZW5zaW9ucwBTY3Jp
cHRPYmplY3RNb2RlbABnZXRfRHRzAFZhcmlhYmxlRGlzcGVuc2VyAGdldF9WYXJpYWJsZURpc3Bl
bnNlcgBMb2NrT25lRm9yV3JpdGUAVmFyaWFibGUAVW5sb2NrAFByb2plY3REYXRhAFNldFByb2pl
Y3RFcnJvcgBFdmVudHNPYmplY3RXcmFwcGVyAGdldF9FdmVudHMAU3RyaW5nAEVtcHR5AGdldF9N
ZXNzYWdlAEZpcmVFcnJvcgBDbGVhclByb2plY3RFcnJvcgBzZXRfVGFza1Jlc3VsdABTeXN0ZW0u
Q29sbGVjdGlvbnMAQXJyYXlMaXN0AEFkZABBcnJheQBUb0FycmF5AElzTnVsbE9yRW1wdHkAQXBw
bGljYXRpb25FeGNlcHRpb24AT3BlcmF0b3JzAENvbXBhcmVTdHJpbmcAQ29ubmVjdGlvbk1hbmFn
ZXIAQ29ubmVjdGlvbnMAZ2V0X0Nvbm5lY3Rpb25zAGdldF9Db25uZWN0aW9uU3RyaW5nAENvbm5l
Y3QAQ3Vyc29ycwBnZXRfV2FpdEN1cnNvcgBzZXRfQ3VycmVudABNb2RlbENvbXBvbmVudENvbGxl
Y3Rpb24AZ2V0X0NvdW50AE5hbWVkQ29tcG9uZW50AE1lc3NhZ2VCb3gARGlhbG9nUmVzdWx0AFNo
b3cAU3lzdGVtLlJlZmxlY3Rpb24AUHJvcGVydHlJbmZvAEJpbmRpbmdGbGFncwBNZW1iZXJJbmZv
AFNvcnQAQmluZGVyAEludm9rZU1lbWJlcgBDTFNDb21wbGlhbnRBdHRyaWJ1dGUAU1NJU1Njcmlw
dFRhc2tFbnRyeVBvaW50QXR0cmlidXRlAENvenlSb2MuU1NJU1BsdXMuMjAxMgBDb3p5Um9jLlNx
bFNlcnZlci5TU0lTLkF0dHJpYnV0ZXMAVmFsaWRhdGVQcm9wZXJ0aWVzQXR0cmlidXRlAEZpbHRl
clByb3BlcnRpZXNBdHRyaWJ1dGUAU29ydFByb3BlcnRpZXNBdHRyaWJ1dGUARGVzY3JpcHRpb25B
dHRyaWJ1dGUAQ2F0ZWdvcnlBdHRyaWJ1dGUATGlzdEF0dHJpYnV0ZQBDb25uZWN0aW9uQXR0cmli
dXRlAFJlZnJlc2hQcm9wZXJ0aWVzQXR0cmlidXRlAFJlZnJlc2hQcm9wZXJ0aWVzAFZhcmlhYmxl
QXR0cmlidXRlAENvbXBpbGF0aW9uUmVsYXhhdGlvbnNBdHRyaWJ1dGUAUnVudGltZUNvbXBhdGli
aWxpdHlBdHRyaWJ1dGUAU3lzdGVtLlJ1bnRpbWUuVmVyc2lvbmluZwBUYXJnZXRGcmFtZXdvcmtB
dHRyaWJ1dGUAU2NyaXB0VGFza185YjA3M2NkNWE5NDA0YWMzYjE1NTA2Y2E1ZjEzOThkMS5kbGwA
AAlUAHkAcABlAAAVQwBvAG4AbgBlAGMAdABpAG8AbgAACU4AYQBtAGUAAB1SAGUAcwB1AGwAdABW
AGEAcgBpAGEAYgBsAGUAABFEAGEAdABhAGIAYQBzAGUAAAlDAHUAYgBlAAATRABpAG0AZQBuAHMA
aQBvAG4AADFQAGwAZQBhAHMAZQAgAHMAcABlAGMAaQBmAHkAIABwAHIAbwBwAGUAcgB0AHkALgAA
EU0AUwBPAEwAQQBQADkAMAAAE00AUwBPAEwAQQBQADEAMAAwAAATTQBTAE8ATABBAFAAMQAxADAA
ADVQAGwAZQBhAHMAZQAgAHMAcABlAGMAaQBmAHkAIABjAG8AbgBuAGUAYwB0AGkAbwBuAC4AADFQ
AGwAZQBhAHMAZQAgAHMAcABlAGMAaQBmAHkAIABkAGEAdABhAGIAYQBzAGUALgAAKVAAbABlAGEA
cwBlACAAcwBwAGUAYwBpAGYAeQAgAGMAdQBiAGUALgAAM1AAbABlAGEAcwBlACAAcwBwAGUAYwBp
AGYAeQAgAGQAaQBtAGUAbgBzAGkAbwBuAC4AAAD26PnY/TDlRbod0Pcx/jAbAAi3elxWGTTgiQiw
P19/EdUKOgMgAAEDAAABBAAAEgwHBhUSGAESDAQAABIIBwYVEhgBEggEAAASEQcGFRIYARIRBAAA
EhQHBhUSGAESFAQIABIMBAgAEggECAASEQQIABIUBCABAhwDIAAIBCAAEhUDIAAOAh4ABxABAR4A
HgAHMAEBARAeAAITAAQgABMABwYVEhkBEwAEKAATAAiJhF3NgIDMkQQgAB0OBSABAhAOBCAAESQF
IAEBESQEIAEBDgQgABIhBCAAHRwEIAEcHAMGESQCBg4DBh0cAwYSJQQoABEkAygADgQoAB0OAgYI
AwYRIAQAAAAABAEAAAAEAgAAAAQDAAAABAQAAAAFIAEBETEIAQABAAAAAAAFIAIBDg4YAQAKTXlU
ZW1wbGF0ZQgxMC4wLjAuMAAABhUSGAESDAYVEhgBEggGFRIYARIRBhUSGAESFAQHARIMBAcBEggE
BwESEQQHARIUEwEADk15LkFwcGxpY2F0aW9uAAAQAQALTXkuQ29tcHV0ZXIAABMBAA5NeS5XZWJT
ZXJ2aWNlcwAADAEAB015LlVzZXIAAAQAARwcAwcBAgMHAQgGAAESFRFNBAcBEhUDBwEOBRABAB4A
BAoBHgAEBwEeAAcgBAEODg4OYQEANFN5c3RlbS5XZWIuU2VydmljZXMuUHJvdG9jb2xzLlNvYXBI
dHRwQ2xpZW50UHJvdG9jb2wSQ3JlYXRlX19JbnN0YW5jZV9fE0Rpc3Bvc2VfX0luc3RhbmNlX18A
AAAGFRIYARMABhUSGQETAAQKARMABSABARMACAcDEwATABMABCABAQIFAQAAAAAEAAASJQQgABJ1
BSABEmEOBCAAEnkFIAESZQ4EIAASfQUgARJpDgUgABKAgQUgABKAhQcgAgEOEBJdBiABEoCJHAQg
AQEcBQABARJtBSAAEoCRCCAFAggODg4IBCABAQgeBw8cCBJdEiESIRJhEiESYRJlEiESYRJlEmkS
bREkBCABCBwHIAESgJ0SFQIdDgkHAx0OEoCZESQEAAECDggHBB0cAgISbQQHAREkBgADCA4OAgYH
Ah0OHQ4FIAASgK0GIAESgKkcCgcEDhIhEoCpEiEFAAEBEiUFIAESYQgGAAERgMEOEAcIEoCZCB0c
EiEIEmESbQgFIAESZQgSBwkSgJkIHRwSIRJhCBJlEm0IBSABEmkIFAcKEoCZCB0cEiESYRJlCBJp
Em0ICAcDHRwdHBJtCSABHRKAxRGAySkHERKAmR0cHRKAxRIhEiESYRIhEmESZRIhEmESZRJpEoDF
ESQIHRKAxQ0gBRwOEYDJEoDRHB0cAwcBHAgWz0kLuAw06g0BAAhWYWxpZGF0ZQAAEgEADUdldFBy
b3BlcnRpZXMAAAUgAQEdDkQBAAcAAAAEVHlwZQpDb25uZWN0aW9uCERhdGFiYXNlBEN1YmUJRGlt
ZW5zaW9uBE5hbWUOUmVzdWx0VmFyaWFibGUAAB8BABpTcGVjaWZpZXMgb2JqZWN0IHByb3BlcnR5
LgAADQEACFByb3BlcnR5AAAYAQATR2V0T2JqZWN0UHJvcGVydGllcwAAKwEAJlNwZWNpZmllcyBB
bmFseXNpcyBTZXJ2aWNlcyBkaW1lbnNpb24uAAAWAQARQW5hbHlzaXMgU2VydmljZXMAABIBAA1H
ZXREaW1lbnNpb25zAAAmAQAhU3BlY2lmaWVzIEFuYWx5c2lzIFNlcnZpY2VzIGN1YmUuAAANAQAI
R2V0Q3ViZXMAADYBADFTcGVjaWZpZXMgY29ubmVjdGlvbiB0byBBbmFseXNpcyBTZXJ2aWNlcyBz
ZXJ2ZXIuAAAVAQAQQXNDb25uZWN0aW9uVHlwZQAABiABARGA/SgBACNTcGVjaWZpZXMgYW5hbHlz
aXMgc2VydmljZXMgb2JqZWN0LgAADAEABwlPYmplY3QAAFEBAExTcGVjaWZpZXMgcGFja2FnZSB2
YXJpYWJsZSB3aGVyZSB5b3Ugd291bGQgbGlrZSB0byBzdG9yZSB0aGUgcHJvcGVydHkgdmFsdWUu
AAAqAQAlU3BlY2lmaWVzIEFuYWx5c2lzIFNlcnZpY2VzIGRhdGFiYXNlLgAAEQEADEdldERhdGFi
YXNlcwAACAEACAAAAAAAHgEAAQBUAhZXcmFwTm9uRXhjZXB0aW9uVGhyb3dzAUcBABouTkVURnJh
bWV3b3JrLFZlcnNpb249djQuMAEAVA4URnJhbWV3b3JrRGlzcGxheU5hbWUQLk5FVCBGcmFtZXdv
cmsgNAAAZFEAAAAAAAAAAAAAflEAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHBRAAAAAAAAAAAA
AAAAX0NvckRsbE1haW4AbXNjb3JlZS5kbGwAAAAAAP8lACBAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAQAAAAGAAAgAAA
AAAAAAAAAAAAAAAAAQABAAAAMAAAgAAAAAAAAAAAAAAAAAAAAQAAAAAASAAAAFhgAADUAgAAAAAA
AAAAAADUAjQAAABWAFMAXwBWAEUAUgBTAEkATwBOAF8ASQBOAEYATwAAAAAAvQTv/gAAAQAAAAAA
AAAAAAAAAAAAAAAAPwAAAAAAAAAEAAAAAgAAAAAAAAAAAAAAAAAAAEQAAAABAFYAYQByAEYAaQBs
AGUASQBuAGYAbwAAAAAAJAAEAAAAVAByAGEAbgBzAGwAYQB0AGkAbwBuAAAAAAAAALAENAIAAAEA
UwB0AHIAaQBuAGcARgBpAGwAZQBJAG4AZgBvAAAAEAIAAAEAMAAwADAAMAAwADQAYgAwAAAALAAC
AAEARgBpAGwAZQBEAGUAcwBjAHIAaQBwAHQAaQBvAG4AAAAAACAAAAAwAAgAAQBGAGkAbABlAFYA
ZQByAHMAaQBvAG4AAAAAADAALgAwAC4AMAAuADAAAACAADAAAQBJAG4AdABlAHIAbgBhAGwATgBh
AG0AZQAAAFMAYwByAGkAcAB0AFQAYQBzAGsAXwA5AGIAMAA3ADMAYwBkADUAYQA5ADQAMAA0AGEA
YwAzAGIAMQA1ADUAMAA2AGMAYQA1AGYAMQAzADkAOABkADEALgBkAGwAbAAAACgAAgABAEwAZQBn
AGEAbABDAG8AcAB5AHIAaQBnAGgAdAAAACAAAACIADAAAQBPAHIAaQBnAGkAbgBhAGwARgBpAGwA
ZQBuAGEAbQBlAAAAUwBjAHIAaQBwAHQAVABhAHMAawBfADkAYgAwADcAMwBjAGQANQBhADkANAAw
ADQAYQBjADMAYgAxADUANQAwADYAYwBhADUAZgAxADMAOQA4AGQAMQAuAGQAbABsAAAANAAIAAEA
UAByAG8AZAB1AGMAdABWAGUAcgBzAGkAbwBuAAAAMAAuADAALgAwAC4AMAAAADgACAABAEEAcwBz
AGUAbQBiAGwAeQAgAFYAZQByAHMAaQBvAG4AAAAwAC4AMAAuADAALgAwAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAADAAAAJAxAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==</BinaryItem>
</ScriptProject>