<component id="2" name="Test Data Source" componentClassID="Microsoft.ManagedComponentHost" description="Executes a custom script." localeId="1033" version="9" contactInfo="Executes a custom script.;Microsoft Corporation;Microsoft SqlServer v9; © 2004 Microsoft Corporation; All Rights Reserved; http://www.microsoft.com/sql/support;0"><properties><property id="3" name="SourceCode" state="cdata" dataType="System.String" isArray="true" description="Stores the source code of the component" typeConverter="NOTBROWSABLE"><arrayElements arrayElementCount="15"><arrayElement dataType="System.String"><![CDATA[ScriptMain.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></arrayElement><arrayElement dataType="System.String"><![CDATA[' CozyRoc SQL Server Integration Services user script component
'
' Copyright (c) 2006-2011 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 Microsoft.SqlServer.Dts.Runtime.Wrapper
Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper
Imports CozyRoc.SqlServer.SSIS.Attributes


'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
<SortProperties(New String() {"Data", "ColumnDelimiter"})> _
<ValidateProperties("Validate")> _
<Microsoft.SqlServer.Dts.Pipeline.SSISScriptComponentEntryPointAttribute> _
<CLSCompliant(False)> _
Public Class ScriptMain
    Inherits UserComponent


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Overrides Sub CreateNewOutputRows()
        Dim colsIdx As Hashtable = GetColumnsIdx_()

        ' Get rows.
        Dim rows() As String = GetRows_()
        Dim rowsCount As Integer = rows.Length

        ' Get column names.
        Dim columns() As String = GetColumns_(rows(0))
        Dim colsCount As Integer = columns.Length

        For rowIndex As Integer = 1 To rowsCount - 1    ' First row is column names.
            Call Me.OutputBuffer.AddRow()

            Dim data() As String = GetColumns_(rows(rowIndex))
            For colIndex As Integer = 0 To colsCount - 1
                If colIndex >= data.Length Then
                    ' This line ends earlier
                    Exit For
                End If

                Dim value As String = data(colIndex)
                Dim bufIndex As Integer = CInt(colsIdx(columns(colIndex)))

                If String.IsNullOrEmpty(value) Then
                    Call Me.OutputBuffer.Buffer.SetNull(bufIndex)
                Else
                    Me.OutputBuffer.Buffer(bufIndex) = value
                End If
            Next
        Next

        Call Me.OutputBuffer.SetEndOfRowset()
    End Sub ' CreateNewOutputRows


        '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Function Validate(ByRef errMessage As String) As Boolean
        Dim result As Boolean = True

        Try
            If String.IsNullOrEmpty(Me.Data) Then
                Throw New Exception("Specify data.")
            End If

            If String.IsNullOrEmpty(Me.ColumnDelimiter) Then
                Throw New Exception("Specify column delimiter.")
            End If

            Dim output As IDTSOutput100 = MyBase.ComponentMetaData.OutputCollection(0)
            If output.OutputColumnCollection.Count = 0 Then
                ' Setup collection output columns.
                Call SetupOutputColumns_()
            End If
        Catch ex As Exception
            result = False
            errMessage = ex.Message
        End Try

        Validate = result
    End Function    ' Validate


#Region "Properties"
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Description("Specify input test data.")> _
    <TextDialog("Specify test data.")> _
    Public Property Data() As String
        Get
            Data = m_data
        End Get
        Set(ByVal value As String)
            If m_data <> value Then
                If Not String.IsNullOrEmpty(m_data) Then
                    ' Force output columns to be setup.
                    If Me.ComponentMetaData.OutputCollection.Count > 0 Then
                        Dim output As IDTSOutput100 = Me.ComponentMetaData.OutputCollection(0)
                        Call output.OutputColumnCollection.RemoveAll()
                    End If
                End If

                m_data = value
            End If
        End Set
    End Property    ' Data


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Description("Specify column delimiter.")> _
    Public Property ColumnDelimiter() As String
        Get
            ColumnDelimiter = m_colDelimiter
        End Get
        Set(ByVal value As String)
            m_colDelimiter = value
        End Set
    End Property    ' ColumnDelimiter
#End Region ' Properties


#Region "Internals"
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Sub SetupOutputColumns_()
        ' First line in test data defines column names.
        Dim columns() As String = GetColumns_(GetRows_()(0))

        Dim output As IDTSOutput100 = MyBase.ComponentMetaData.OutputCollection(0)
        Call output.OutputColumnCollection.RemoveAll()

        For Each column As String In columns
            Dim outColumn As IDTSOutputColumn100 = output.OutputColumnCollection.[New]()
            outColumn.Name = column.Trim()
            Call outColumn.SetDataTypeProperties(DataType.DT_WSTR, 250, 0, 0, 0)
        Next
    End Sub ' SetupOutputColumns_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ' Setup column name -> buffer index map.
    Private Function GetColumnsIdx_() As Hashtable
        Dim result As Hashtable = New Hashtable

        Dim output As IDTSOutput100 = Me.ComponentMetaData.OutputCollection(0)
        Dim colsCount As Integer = output.OutputColumnCollection.Count
        For colIndex As Integer = 0 To colsCount - 1
            Dim column As IDTSOutputColumn100 = output.OutputColumnCollection(colIndex)

            ' Setup buffer index.
            Call result.Add( _
                column.Name, _
                Me.HostComponent.BufferManager.FindColumnByLineageID( _
                    output.Buffer, _
                    column.LineageID))
        Next

        GetColumnsIdx_ = result
    End Function    ' GetColumnsIdx_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Function GetRows_() As String()
        GetRows_ = Me.Data.Split(New String() {vbLf}, StringSplitOptions.RemoveEmptyEntries)
    End Function    ' GetRows_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Function GetColumns_(ByVal row As String) As String()
        GetColumns_ = row.Split(New String() {Me.ColumnDelimiter}, StringSplitOptions.None)
    End Function    ' GetColumns_
#End Region ' Internals


#Region "Attributes"
    Private m_data As String
    Private m_colDelimiter As String
#End Region ' Attributes
End Class   ' ScriptMain
]]></arrayElement><arrayElement dataType="System.String"><![CDATA[ScriptComponent_221f90294f004536ba9a4d9fdf0d984d.vbproj]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF16LE]]></arrayElement><arrayElement dataType="System.String"><![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>{BD7FE0D2-99E1-4174-B46C-C2EFEAE1ACA8}</ProjectGuid>
    <OutputType>Library</OutputType>
    <AppDesignerFolder>My Project</AppDesignerFolder>
    <RootNamespace>ScriptComponent_221f90294f004536ba9a4d9fdf0d984d</RootNamespace>
    <AssemblyName>ScriptComponent_221f90294f004536ba9a4d9fdf0d984d</AssemblyName>
    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
    <FileAlignment>512</FileAlignment>
    <OptionCompare>Binary</OptionCompare>
    <OptionExplicit>On</OptionExplicit>
    <OptionStrict>On</OptionStrict>
  </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>
  <!-- This sections specifies references for the project. -->
  <ItemGroup>
    <Reference Include="CozyRoc.SSISPlus.2014, Version=1.0.0.0, Culture=neutral, PublicKeyToken=16cf490bb80c34ea, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>C:\Program Files (x86)\Microsoft SQL Server\120\SDK\Assemblies\CozyRoc.SSISPlus.2014.dll</HintPath>
    </Reference>
    <Reference Include="System" />
    <Reference Include="System.Data" />
    <Reference Include="System.Windows.Forms" />
    <Reference Include="System.Xml" />
    <Reference Include="Microsoft.SqlServer.TxScript, Version=12.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="Microsoft.SqlServer.DTSRuntimeWrap, Version=12.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="Microsoft.SqlServer.DTSPipelineWrap, Version=12.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="Microsoft.SqlServer.PipelineHost, Version=12.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="System">
      <Private>False</Private>
    </Reference>
    <Reference Include="System.Data">
      <Private>False</Private>
    </Reference>
    <Reference Include="Microsoft.SqlServer.ManagedDTS">
      <Private>False</Private>
    </Reference>
  </ItemGroup>
  <!-- Visual Basic supports Importing namespaces (equivalent to using statements in C#).-->
  <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" />
  <!-- This section defines VSTA properties that describe the host-changable project properties. -->
  <ProjectExtensions>
    <VisualStudio>
      <FlavorProperties GUID="{30D016F9-3734-4E33-A861-5E7D899E18F3}">
        <ProjectProperties HostName="VSTAHostName" HostPackage="{B3A685AA-7EAF-4BC6-9940-57959FA5AC07}" ApplicationType="usd" Language="vb" TemplatesPath="" />
        <Host Name="SSIS_SC120" />
        <ProjectClient>
          <HostIdentifier>SSIS_SC120</HostIdentifier>
        </ProjectClient>
      </FlavorProperties>
    </VisualStudio>
  </ProjectExtensions>
  <ItemGroup>
    <Compile Include="ScriptMain.vb" />
    <Compile Include="BufferWrapper.vb" />
    <Compile Include="ComponentWrapper.vb" />
  </ItemGroup>
  <ItemGroup>
    <Folder Include="My Project\" />
  </ItemGroup>
</Project>]]></arrayElement><arrayElement dataType="System.String"><![CDATA[BufferWrapper.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></arrayElement><arrayElement dataType="System.String"><![CDATA[' THIS IS AUTO-GENERATED CODE THAT WILL BE OVERWRITTEN! DO NOT EDIT!
' This is CozyRoc Script Component Plus Extended Script
' Microsoft SQL Server Integration Services buffer wrappers
' This module defines classes for accessing data flow buffers
' THIS IS AUTO-GENERATED CODE THAT WILL BE OVERWRITTEN! DO NOT EDIT!


Option Strict Off   ' This allows usage of PipelineBuffer typed accessors.

Imports System
Imports System.Data
Imports Microsoft.SqlServer.Dts.Pipeline
Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper
Imports CozyRoc.SqlServer.SSIS

<CLSCompliant(False)> _
Public Class OutputBuffer
    Inherits ScriptBufferPlus

    Public Sub New(ByVal Component As ScriptComponent, ByVal ObjectID As Integer, ByVal IsInput As Boolean, ByVal Buffer As PipelineBuffer, ByVal OutputMap As OutputNameMap)
        MyBase.New(Component, ObjectID, IsInput, Buffer, OutputMap)
    End Sub

    Public Overrides ReadOnly Property StaticInputColumns() As String()
        Get
            Return New String() {}
        End Get
    End Property

    Public Overrides ReadOnly Property StaticOutputColumns() As String()
        Get
            Return New String() {}
        End Get
    End Property

    Public Overloads Sub AddRow()
        MyBase.AddRow()
    End Sub

    Public Overloads Sub SetEndOfRowset()
        MyBase.SetEndOfRowset()
    End Sub

    Public Overloads Function EndOfRowset() As Boolean
        EndOfRowset = MyBase.EndOfRowset
    End Function

End Class
]]></arrayElement><arrayElement dataType="System.String"><![CDATA[ComponentWrapper.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></arrayElement><arrayElement dataType="System.String"><![CDATA[' THIS IS AUTO-GENERATED CODE THAT WILL BE OVERWRITTEN! DO NOT EDIT!
' This is CozyRoc Script Component Plus Extended Script
' Microsoft SQL Server Integration Services component wrapper
' This module defines the base class for your component
' THIS IS AUTO-GENERATED CODE THAT WILL BE OVERWRITTEN! DO NOT EDIT!

Imports System
Imports System.Data
Imports Microsoft.SqlServer.Dts.Pipeline
Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper
Imports Microsoft.SqlServer.Dts.Runtime.Wrapper
Imports CozyRoc.SqlServer.SSIS

<CLSCompliant(False)> _
Public Class UserComponent
    Inherits ScriptComponentPlus

    Public Connections As New Connections(Me)
    Public Variables As New Variables(Me)

    Public OutputBuffer As OutputBuffer

    Public Overridable Sub FinishOutputs()
    End Sub

    Private Sub MarkOutputsFinished()

        If OutputBuffer IsNot Nothing Then
            OutputBuffer.SetEndOfRowset
            OutputBuffer = Nothing
        End If

    End Sub

    Public Overrides Sub PrimeOutput(ByVal Outputs As Integer, ByVal OutputIDs() As Integer, ByVal Buffers() As PipelineBuffer, ByVal OutputMap As OutputNameMap)

        For I As Integer = 0 To Outputs - 1
            If OutputIDs(I) = GetOutputID(OutputMap, "Output") Then
                OutputBuffer = New OutputBuffer(Me, OutputIDs(I), False, Buffers(I), OutputMap)
            End If
        Next

        CreateNewOutputRows()

        FinishOutputs()
        MarkOutputsFinished()

    End Sub

    Public Overridable Sub CreateNewOutputRows()
    End Sub

End Class

Public Class Connections

    Dim ParentComponent As ScriptComponent

    <CLSCompliant(False)> _
    Public Sub New(ByVal Component As ScriptComponent)
        ParentComponent = Component
    End Sub

End Class

Public Class Variables

    Dim ParentComponent As ScriptComponent

    <CLSCompliant(False)> _
    Public Sub New(ByVal Component As ScriptComponent)
        ParentComponent = Component
    End Sub

End Class
]]></arrayElement><arrayElement dataType="System.String"><![CDATA[Project]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF16LE]]></arrayElement><arrayElement dataType="System.String"><![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:CodeName>ScriptComponent_221f90294f004536ba9a4d9fdf0d984d</msb:CodeName>
		<msb:DisplayName>ScriptComponent_221f90294f004536ba9a4d9fdf0d984d</msb:DisplayName>
		<msb:ProjectId>{54C365F0-6BA0-4F62-8BDC-771815F43514}</msb:ProjectId>
	</msb:PropertyGroup>
	<msb:ItemGroup>
		<msb:Project Include="ScriptComponent_221f90294f004536ba9a4d9fdf0d984d.vbproj"/>
		<msb:Folder Include="My Project\"/>
		<msb:File Include="ScriptMain.vb"/>
		<msb:File Include="ComponentWrapper.vb"/>
		<msb:File Include="BufferWrapper.vb"/>
	</msb:ItemGroup>
</c:Project>]]></arrayElement></arrayElements></property><property id="4" name="BinaryCode" state="cdata" dataType="System.String" isArray="true" description="Stores the binary representation of the component" typeConverter="NOTBROWSABLE"><arrayElements arrayElementCount="2"><arrayElement dataType="System.String"><![CDATA[ScriptComponent_221f90294f004536ba9a4d9fdf0d984d.dll]]></arrayElement><arrayElement dataType="System.String"><![CDATA[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
EwCRAFABEwCZAFAB8QChAB0HsQEZAEUCYwAZAE4CaAApAD4HvgEZAGcCcQCxAFoHzgEZAFABEwC5
AFAB3gFEAOsCkABMAIQHiwBMAI4HWwJMAFABEwDBAFABagI5AFABrwDRACYEEwDRAC0EEwDRADwE
wADZAFABagJZAFABEwBBAPUHegJhAAEIhgLhABYIiwLJACAIkAI5AC4IlQJJADkImgJJAEEInwLx
AFAB8QBBAMgIuAL5APYIvQIBAQEIwwLpAC8JyQIRAUoJaAAZAWAJzwLxAHAJcQAZAXwJFwAhAZgJ
3gIBAUoJaAARAaYJEwARAcQJ6gLJAMgJcQApAc0J8QApASoK8AJhAFABEwARAQEICQMpAUAKcQBZ
AFsKEAM5AYIKFgPpAC4IaAApAZQKaABBAaIKHANhALgKIgPJAM8KNwNRAVABEwBZAVAB8QBhAVAB
VgNpAVAB8QBxAVAB8QB5AVABmgKBAVABEwCJAVAB8QApAIMAawEuAFMCzwMuAFsC2AMuAGMC9wNA
ABMADgFAACsANgFDABsAHQFDABMADgFJAIMAiQFjABMADgFjABsAHQFpAIMAfAGAACsANgGDAHsA
NgGDABsAHQGDAHMANgGJAIMAnQGgACsANgGjAMMA5gGjABMADgHAACsANgHDAOsAbwLDABMADgHg
ACsANgHjABMBbwIAASsANgEAARMADgEDARMBbwIJAUsCmQMJAUMCsQMgARMADgEgASsANgEpAUMC
egNAASsANgFAARMADgFgASsANgFgARMADgFjATsCXANjASsCNgFjARMBbwJjATMCSAOAASsANgGg
ASsANgHAARMADgHAASsANgHgASsANgEAAisANgEAAhMADgGAAxMBbwKgAxMBbwJXAVwBYQFmAbYB
ugHFAcoB2QHZAWECdQJ1ArYBgQKlAtUCygHlAsoB+wIoA0EDQQMEAAEABgAFAAcABgALAAgAAAB0
AU8AAAAtAlQAAADcAVkAAAA5Al4AAAD1ApgAAABIBMQAAABbBMQAAACyBQQBAAC3BQQBAgAEAAMA
AgAFAAUAAgAGAAcAAgAHAAkAAgAPAAsAAgASAA0AAgATAA8AAQAiABEAAgAhABEAAgAjABMAAQAk
ABMAdQB1AIgAOwFCAUkBUAFIAk8CBIAAAAAAAAAAAAAAAAAAAAAAtgAAAAQAAAAAAAAAAAAAAAEA
CgAAAAAACgAAAAAAAAAAAAAACgATAAAAAAABAAAAAAAAAAAAAACdAAEDAAAAAAwAAAAAAAAAAAAA
AKYAPwMAAAAADAAAAAAAAAAAAAAApgCNAwAAAAAEAAAAAAAAAAAAAAABAH0BAAAAAAwAAAAAAAAA
AAAAAKYASggAAAAADAAAAAAAAAAAAAAApgDWCQAAAAAFAAQABgAEAAAAEAAMAIMCAAAQABkAgwIA
AAAAGwCDAi0A1AEtAFYCAAAAPE1vZHVsZT4AbXNjb3JsaWIATWljcm9zb2Z0LlZpc3VhbEJhc2lj
AE15QXBwbGljYXRpb24AU2NyaXB0Q29tcG9uZW50XzIyMWY5MDI5NGYwMDQ1MzZiYTlhNGQ5ZmRm
MGQ5ODRkLk15AE15Q29tcHV0ZXIATXlQcm9qZWN0AE15V2ViU2VydmljZXMAVGhyZWFkU2FmZU9i
amVjdFByb3ZpZGVyYDEAT3V0cHV0QnVmZmVyAFNjcmlwdENvbXBvbmVudF8yMjFmOTAyOTRmMDA0
NTM2YmE5YTRkOWZkZjBkOTg0ZABVc2VyQ29tcG9uZW50AENvbm5lY3Rpb25zAFZhcmlhYmxlcwBT
Y3JpcHRNYWluAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5BcHBsaWNhdGlvblNlcnZpY2VzAEFwcGxp
Y2F0aW9uQmFzZQAuY3RvcgBNaWNyb3NvZnQuVmlzdWFsQmFzaWMuRGV2aWNlcwBDb21wdXRlcgBT
eXN0ZW0AT2JqZWN0AC5jY3RvcgBnZXRfQ29tcHV0ZXIAbV9Db21wdXRlck9iamVjdFByb3ZpZGVy
AGdldF9BcHBsaWNhdGlvbgBtX0FwcE9iamVjdFByb3ZpZGVyAFVzZXIAZ2V0X1VzZXIAbV9Vc2Vy
T2JqZWN0UHJvdmlkZXIAZ2V0X1dlYlNlcnZpY2VzAG1fTXlXZWJTZXJ2aWNlc09iamVjdFByb3Zp
ZGVyAEFwcGxpY2F0aW9uAFdlYlNlcnZpY2VzAEVxdWFscwBvAEdldEhhc2hDb2RlAFR5cGUAR2V0
VHlwZQBUb1N0cmluZwBDcmVhdGVfX0luc3RhbmNlX18AVABpbnN0YW5jZQBEaXNwb3NlX19JbnN0
YW5jZV9fAGdldF9HZXRJbnN0YW5jZQBNaWNyb3NvZnQuVmlzdWFsQmFzaWMuTXlTZXJ2aWNlcy5J
bnRlcm5hbABDb250ZXh0VmFsdWVgMQBtX0NvbnRleHQAR2V0SW5zdGFuY2UAQ296eVJvYy5TU0lT
UGx1cy4yMDE0AENvenlSb2MuU3FsU2VydmVyLlNTSVMAU2NyaXB0QnVmZmVyUGx1cwBNaWNyb3Nv
ZnQuU3FsU2VydmVyLlR4U2NyaXB0AE1pY3Jvc29mdC5TcWxTZXJ2ZXIuRHRzLlBpcGVsaW5lAFNj
cmlwdENvbXBvbmVudABNaWNyb3NvZnQuU3FsU2VydmVyLlBpcGVsaW5lSG9zdABQaXBlbGluZUJ1
ZmZlcgBPdXRwdXROYW1lTWFwAENvbXBvbmVudABPYmplY3RJRABJc0lucHV0AEJ1ZmZlcgBPdXRw
dXRNYXAAZ2V0X1N0YXRpY0lucHV0Q29sdW1ucwBnZXRfU3RhdGljT3V0cHV0Q29sdW1ucwBBZGRS
b3cAU2V0RW5kT2ZSb3dzZXQARW5kT2ZSb3dzZXQAU3RhdGljSW5wdXRDb2x1bW5zAFN0YXRpY091
dHB1dENvbHVtbnMAU2NyaXB0Q29tcG9uZW50UGx1cwBGaW5pc2hPdXRwdXRzAE1hcmtPdXRwdXRz
RmluaXNoZWQAUHJpbWVPdXRwdXQAT3V0cHV0cwBPdXRwdXRJRHMAQnVmZmVycwBDcmVhdGVOZXdP
dXRwdXRSb3dzAFBhcmVudENvbXBvbmVudABWYWxpZGF0ZQBlcnJNZXNzYWdlAGdldF9EYXRhAHNl
dF9EYXRhAHZhbHVlAGdldF9Db2x1bW5EZWxpbWl0ZXIAc2V0X0NvbHVtbkRlbGltaXRlcgBTZXR1
cE91dHB1dENvbHVtbnNfAFN5c3RlbS5Db2xsZWN0aW9ucwBIYXNodGFibGUAR2V0Q29sdW1uc0lk
eF8AR2V0Um93c18AR2V0Q29sdW1uc18Acm93AG1fZGF0YQBtX2NvbERlbGltaXRlcgBEYXRhAENv
bHVtbkRlbGltaXRlcgBTeXN0ZW0uQ29tcG9uZW50TW9kZWwARWRpdG9yQnJvd3NhYmxlQXR0cmli
dXRlAEVkaXRvckJyb3dzYWJsZVN0YXRlAFN5c3RlbS5Db2RlRG9tLkNvbXBpbGVyAEdlbmVyYXRl
ZENvZGVBdHRyaWJ1dGUAU3lzdGVtLkRpYWdub3N0aWNzAERlYnVnZ2VySGlkZGVuQXR0cmlidXRl
AE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5Db21waWxlclNlcnZpY2VzAFN0YW5kYXJkTW9kdWxlQXR0
cmlidXRlAEhpZGVNb2R1bGVOYW1lQXR0cmlidXRlAFN5c3RlbS5Db21wb25lbnRNb2RlbC5EZXNp
Z24ASGVscEtleXdvcmRBdHRyaWJ1dGUAU3lzdGVtLlJ1bnRpbWUuQ29tcGlsZXJTZXJ2aWNlcwBS
dW50aW1lSGVscGVycwBHZXRPYmplY3RWYWx1ZQBSdW50aW1lVHlwZUhhbmRsZQBHZXRUeXBlRnJv
bUhhbmRsZQBBY3RpdmF0b3IAQ3JlYXRlSW5zdGFuY2UATXlHcm91cENvbGxlY3Rpb25BdHRyaWJ1
dGUAZ2V0X1ZhbHVlAHNldF9WYWx1ZQBTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMAQ29t
VmlzaWJsZUF0dHJpYnV0ZQBTdHJpbmcAU2NyaXB0QnVmZmVyAENMU0NvbXBsaWFudEF0dHJpYnV0
ZQBHZXRPdXRwdXRJRABnZXRfSXRlbQBDb252ZXJzaW9ucwBUb0ludGVnZXIASXNOdWxsT3JFbXB0
eQBnZXRfQnVmZmVyAFNldE51bGwAc2V0X0l0ZW0ATWljcm9zb2Z0LlNxbFNlcnZlci5EVFNQaXBl
bGluZVdyYXAATWljcm9zb2Z0LlNxbFNlcnZlci5EdHMuUGlwZWxpbmUuV3JhcHBlcgBJRFRTT3V0
cHV0MTAwAEV4Y2VwdGlvbgBJRFRTQ29tcG9uZW50TWV0YURhdGExMDAAZ2V0X0NvbXBvbmVudE1l
dGFEYXRhAElEVFNPdXRwdXRDb2xsZWN0aW9uMTAwAGdldF9PdXRwdXRDb2xsZWN0aW9uAEludDMy
AElEVFNPdXRwdXRDb2x1bW5Db2xsZWN0aW9uMTAwAGdldF9PdXRwdXRDb2x1bW5Db2xsZWN0aW9u
AGdldF9Db3VudABQcm9qZWN0RGF0YQBTZXRQcm9qZWN0RXJyb3IAZ2V0X01lc3NhZ2UAQ2xlYXJQ
cm9qZWN0RXJyb3IAT3BlcmF0b3JzAENvbXBhcmVTdHJpbmcAUmVtb3ZlQWxsAElEVFNPdXRwdXRD
b2x1bW4xMDAATmV3AFRyaW0Ac2V0X05hbWUATWljcm9zb2Z0LlNxbFNlcnZlci5EVFNSdW50aW1l
V3JhcABNaWNyb3NvZnQuU3FsU2VydmVyLkR0cy5SdW50aW1lLldyYXBwZXIARGF0YVR5cGUAU2V0
RGF0YVR5cGVQcm9wZXJ0aWVzAGdldF9OYW1lAFBpcGVsaW5lQ29tcG9uZW50AGdldF9Ib3N0Q29t
cG9uZW50AElEVFNCdWZmZXJNYW5hZ2VyMTAwAGdldF9CdWZmZXJNYW5hZ2VyAGdldF9MaW5lYWdl
SUQARmluZENvbHVtbkJ5TGluZWFnZUlEAEFkZABTdHJpbmdTcGxpdE9wdGlvbnMAU3BsaXQAU1NJ
U1NjcmlwdENvbXBvbmVudEVudHJ5UG9pbnRBdHRyaWJ1dGUAQ296eVJvYy5TcWxTZXJ2ZXIuU1NJ
Uy5BdHRyaWJ1dGVzAFZhbGlkYXRlUHJvcGVydGllc0F0dHJpYnV0ZQBTb3J0UHJvcGVydGllc0F0
dHJpYnV0ZQBEZXNjcmlwdGlvbkF0dHJpYnV0ZQBUZXh0RGlhbG9nQXR0cmlidXRlAENvbXBpbGF0
aW9uUmVsYXhhdGlvbnNBdHRyaWJ1dGUAUnVudGltZUNvbXBhdGliaWxpdHlBdHRyaWJ1dGUAU3lz
dGVtLlJ1bnRpbWUuVmVyc2lvbmluZwBUYXJnZXRGcmFtZXdvcmtBdHRyaWJ1dGUAU2NyaXB0Q29t
cG9uZW50XzIyMWY5MDI5NGYwMDQ1MzZiYTlhNGQ5ZmRmMGQ5ODRkLmRsbAAAAAAADU8AdQB0AHAA
dQB0AAAbUwBwAGUAYwBpAGYAeQAgAGQAYQB0AGEALgAAM1MAcABlAGMAaQBmAHkAIABjAG8AbAB1
AG0AbgAgAGQAZQBsAGkAbQBpAHQAZQByAC4AAAMKAAAAacsSXbnPDUOjtmupPVMTAQAIt3pcVhk0
4IkIsD9ffxHVCjoDIAABAwAAAQQAABIMBwYVEhgBEgwEAAASCAcGFRIYARIIBAAAEhEHBhUSGAES
EQQAABIUBwYVEhgBEhQECAASDAQIABIIBAgAEhEECAASFAQgAQIcAyAACAQgABIVAyAADgIeAAcQ
AQEeAB4ABzABAQEQHgACEwAEIAATAAcGFRIZARMABCgAEwAIFs9JC7gMNOoIiYRdzYCAzJELIAUB
EiEIAhIlEikEIAAdDgMgAAIEKAAdDgMGEiQDBhIoAwYSHAsgBAEIHQgdEiUSKQMGEiEFIAEBEiEF
IAECEA4EIAEBDgQgABIxBSABHQ4OAgYOAygADgUgAQEROQgBAAEAAAAAAAUgAgEODhgBAApNeVRl
bXBsYXRlCDEwLjAuMC4wAAAEAQAAAAYVEhgBEgwGFRIYARIIBhUSGAESEQYVEhgBEhQEBwESDAQH
ARIIBAcBEhEEBwESFBABAAtNeS5Db21wdXRlcgAADAEAB015LlVzZXIAABMBAA5NeS5BcHBsaWNh
dGlvbgAAEwEADk15LldlYlNlcnZpY2VzAAAEAAEcHAMHAQIDBwEIBgABEhURVQQHARIVAwcBDgUQ
AQAeAAQKAR4ABAcBHgAHIAQBDg4ODmEBADRTeXN0ZW0uV2ViLlNlcnZpY2VzLlByb3RvY29scy5T
b2FwSHR0cENsaWVudFByb3RvY29sEkNyZWF0ZV9fSW5zdGFuY2VfXxNEaXNwb3NlX19JbnN0YW5j
ZV9fAAAABhUSGAETAAYVEhkBEwAECgETAAUgAQETAAgHAxMAEwATAAQgAQECBQEAAAAABAcBHQ4G
AAIIEikOBAcCCAgEIAEcHAQAAQgcBAABAg4EIAASJQQgAQEIBSACAQgcEgcMCBIxHQ4dDggdDggI
CA4ICAQgABJ9BSAAEoCBBSABEnUcBSAAEoCJBQABARJ5CAcEAgISdRJ5BgADCA4OAgQHARJ1BSAA
EoCVCiAFARGAmQgICAgNBwYdDhJ1DhKAlQgdDgYgARKAlRwFIAASgJ0FIAASgKEFIAIICAgFIAIB
HBwOBwcIEjESdRIxCBKAlQgJIAIdDh0OEYClBgcCHQ4dDg0BAAhWYWxpZGF0ZQAABSABAR0OHQEA
AgAAAAREYXRhD0NvbHVtbkRlbGltaXRlcgAAHgEAGVNwZWNpZnkgY29sdW1uIGRlbGltaXRlci4A
ABcBABJTcGVjaWZ5IHRlc3QgZGF0YS4AAB0BABhTcGVjaWZ5IGlucHV0IHRlc3QgZGF0YS4AAAgB
AAgAAAAAAB4BAAEAVAIWV3JhcE5vbkV4Y2VwdGlvblRocm93cwFHAQAaLk5FVEZyYW1ld29yayxW
ZXJzaW9uPXY0LjABAFQOFEZyYW1ld29ya0Rpc3BsYXlOYW1lEC5ORVQgRnJhbWV3b3JrIDQAjEEA
AAAAAAAAAAAArkEAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKBBAAAAAAAAAAAAAAAAAAAAAAAA
AABfQ29yRGxsTWFpbgBtc2NvcmVlLmRsbAAAAAAA/yUAIAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABABAA
AAAYAACAAAAAAAAAAAAAAAAAAAABAAEAAAAwAACAAAAAAAAAAAAAAAAAAAABAAAAAABIAAAAWGAA
AOwCAAAAAAAAAAAAAOwCNAAAAFYAUwBfAFYARQBSAFMASQBPAE4AXwBJAE4ARgBPAAAAAAC9BO/+
AAABAAAAAAAAAAAAAAAAAAAAAAA/AAAAAAAAAAQAAAACAAAAAAAAAAAAAAAAAAAARAAAAAEAVgBh
AHIARgBpAGwAZQBJAG4AZgBvAAAAAAAkAAQAAABUAHIAYQBuAHMAbABhAHQAaQBvAG4AAAAAAAAA
sARMAgAAAQBTAHQAcgBpAG4AZwBGAGkAbABlAEkAbgBmAG8AAAAoAgAAAQAwADAAMAAwADAANABi
ADAAAAAsAAIAAQBGAGkAbABlAEQAZQBzAGMAcgBpAHAAdABpAG8AbgAAAAAAIAAAADAACAABAEYA
aQBsAGUAVgBlAHIAcwBpAG8AbgAAAAAAMAAuADAALgAwAC4AMAAAAIwANQABAEkAbgB0AGUAcgBu
AGEAbABOAGEAbQBlAAAAUwBjAHIAaQBwAHQAQwBvAG0AcABvAG4AZQBuAHQAXwAyADIAMQBmADkA
MAAyADkANABmADAAMAA0ADUAMwA2AGIAYQA5AGEANABkADkAZgBkAGYAMABkADkAOAA0AGQALgBk
AGwAbAAAAAAAKAACAAEATABlAGcAYQBsAEMAbwBwAHkAcgBpAGcAaAB0AAAAIAAAAJQANQABAE8A
cgBpAGcAaQBuAGEAbABGAGkAbABlAG4AYQBtAGUAAABTAGMAcgBpAHAAdABDAG8AbQBwAG8AbgBl
AG4AdABfADIAMgAxAGYAOQAwADIAOQA0AGYAMAAwADQANQAzADYAYgBhADkAYQA0AGQAOQBmAGQA
ZgAwAGQAOQA4ADQAZAAuAGQAbABsAAAAAAA0AAgAAQBQAHIAbwBkAHUAYwB0AFYAZQByAHMAaQBv
AG4AAAAwAC4AMAAuADAALgAwAAAAOAAIAAEAQQBzAHMAZQBtAGIAbAB5ACAAVgBlAHIAcwBpAG8A
bgAAADAALgAwAC4AMAAuADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAMAAAAwDEAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA]]></arrayElement></arrayElements></property><property id="9" name="UserComponentTypeName" dataType="System.String">CozyRoc.SqlServer.SSIS.ScriptComponentHostPlus, CozyRoc.SSISPlus.2014, Version=1.0.0.0, Culture=neutral, PublicKeyToken=16cf490bb80c34ea</property><property id="11" name="VSTAProjectName" dataType="System.String" description="Specifies the name of the Microsoft Visual Studio Tools for Applications project. Project names must be unique within a package." typeConverter="NOTBROWSABLE">ScriptComponent_221f90294f004536ba9a4d9fdf0d984d</property><property id="12" name="ScriptLanguage" dataType="System.String" description="Specifies the programming language used by the script." typeConverter="Microsoft.SqlServer.VSTAHosting.ScriptingLanguages, Microsoft.SqlServer.VSTAScriptingLib, Version=12.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91">VisualBasic</property></properties><outputs><output id="14" name="Output" hasSideEffects="true"><externalMetadataColumns /></output></outputs></component>