<component id="2" name="Map Transform" 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="7" 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-2010 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.Drawing.Design
Imports System.Windows.Forms
Imports System.Windows.Forms.Design
Imports System.Text
Imports System.Collections
Imports System.Text.RegularExpressions
Imports Microsoft.VisualBasic

Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper
Imports Microsoft.SqlServer.Dts.Runtime.Wrapper
Imports CozyRoc.SqlServer.SSIS.Attributes


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


    Private Const ColumnSeparator As String = "," + vbLf


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Overrides Sub Input_ProcessInputRow(ByVal Row As InputBuffer)
        Dim colsCount As Integer = m_inputIndexes.Length

        For colIndex As Integer = 0 To colsCount - 1
            If Row.Buffer.IsNull(colIndex) Then
                Continue For
            End If

            Dim colValue As String = Row.Buffer.GetString(colIndex)

            For Each pair As DictionaryEntry In m_map
                If Me.CaseSensitive Then
                    colValue = colValue.Replace(CStr(pair.Key), CStr(pair.Value))
                Else
                    colValue = Strings.Replace( _
                        colValue, _
                        CStr(pair.Key), _
                        CStr(pair.Value), _
                        1, _
                        -1, _
                        CompareMethod.Text)
                End If
            Next

            Call Row.Buffer.SetString(colIndex, colValue)
        Next
    End Sub ' Input_ProcessInputRow


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Overrides Sub PreExecute()
        Call MyBase.PreExecute()

        Dim input As IDTSInput100 = Me.ComponentMetaData.InputCollection(0)

        ' Setup dynamic input columns indexes.
        Dim colsCount As Integer = input.InputColumnCollection.Count
        m_inputIndexes = New Integer(colsCount - 1) {}
        For colIndex As Integer = 0 To colsCount - 1
            m_inputIndexes(colIndex) = Me.HostComponent.BufferManager.FindColumnByLineageID( _
                input.Buffer, _
                input.InputColumnCollection(colIndex).LineageID)
        Next

        ' Get map object.
        Dim vars As IDTSVariables100
        Call MyBase.VariableDispenser.LockOneForRead(Me.MapVariable, vars)
        Try
            m_map = CType(vars(Me.MapVariable).Value, IDictionary)
        Finally
            Call vars.Unlock()
        End Try
    End Sub ' PreExecute


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

        Try
            If String.IsNullOrEmpty(Me.InputColumns) Then
                Throw New ApplicationException("Select input columns.")
            End If

            If String.IsNullOrEmpty(Me.MapVariable) Then
                Throw New ApplicationException("Select map object variable.")
            End If

            ' Setup input columns based on selection.
            Dim selectedCols() As String = CStr(Me.InputColumns).Split( _
                New String() {ColumnSeparator}, _
                StringSplitOptions.None)
            Dim input As IDTSInput100 = Me.ComponentMetaData.InputCollection(0)
            Dim virtInput As IDTSVirtualInput100 = input.GetVirtualInput()

            Call input.InputColumnCollection.RemoveAll()

            For Each col As String In selectedCols
                If Not String.IsNullOrEmpty(col) Then
                    Dim virtColumn As IDTSVirtualInputColumn100 = virtInput.VirtualInputColumnCollection(col)
                    Call virtInput.SetUsageType(virtColumn.LineageID, DTSUsageType.UT_READONLY)
                End If
            Next

            result = True
        Catch ex As Exception
            result = False
            errMessage = ex.Message
        End Try

        Validate = result
    End Function    'Validate


#Region "Properties"
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Description("Select input columns for map transform.")> _
    <InputVirtualColumn("", False)> _
    Public Property InputColumns() As String
        Get
            InputColumns = m_inputCols
        End Get
        Set(ByVal value As String)
            m_inputCols = value
        End Set
    End Property    ' InputColumns


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Description("Select variable containing mapping object.")> _
    <Variable()> _
    Public Property MapVariable() As String
        Get
            MapVariable = m_mapVar
        End Get
        Set(ByVal value As String)
            m_mapVar = value
        End Set
    End Property    ' MapVariable


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Description("Specify if replace is case-sensitive.")> _
    Public Property CaseSensitive() As Boolean
        Get
            CaseSensitive = m_caseSensitive
        End Get
        Set(ByVal value As Boolean)
            m_caseSensitive = value
        End Set
    End Property    ' CaseSensitive
#End Region ' Properties


#Region "Internals"



#End Region ' Internals


#Region "Attributes"
    Private m_inputCols As String
    Private m_mapVar As String

    Private m_inputIndexes() As Integer
    Private m_map As IDictionary
    Private m_caseSensitive As Boolean
#End Region ' Attributes
End Class   ' ScriptMain
]]></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 InputBuffer
    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 Function NextRow() As Boolean
        NextRow = MyBase.NextRow()
    End Function

    Public Overloads Function EndOfRowset() As Boolean
        EndOfRowset = MyBase.EndOfRowset
    End Function

End Class
]]></arrayElement><arrayElement dataType="System.String"><![CDATA[ScriptComponent_033230de85cd492c8cc6eb7e598516f5.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>{1C062D90-A5E6-4EA4-A32A-9EAC17C8C284}</ProjectGuid>
    <OutputType>Library</OutputType>
    <AppDesignerFolder>My Project</AppDesignerFolder>
    <RootNamespace>ScriptComponent_033230de85cd492c8cc6eb7e598516f5</RootNamespace>
    <AssemblyName>ScriptComponent_033230de85cd492c8cc6eb7e598516f5</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>
    <Reference Include="System.Drawing">
      <Private>False</Private>
    </Reference>
    <Reference Include="Microsoft.VisualBasic">
      <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[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 Overrides Sub ProcessInput(ByVal InputID As Integer, ByVal InputName As String, ByVal Buffer As PipelineBuffer, ByVal OutputMap As OutputNameMap)

        If InputID = MyBase.ComponentMetaData.InputCollection("Input").ID Then
            Input_ProcessInput(New InputBuffer(Me, InputID, True, Buffer, OutputMap))
        End If

    End Sub

    Public Overridable Sub Input_ProcessInput(ByVal Buffer As InputBuffer)

        While Buffer.NextRow()
            Input_ProcessInputRow(Buffer)
        End While

    End Sub

    Public Overridable Sub Input_ProcessInputRow(ByVal Row As InputBuffer)

    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:CodeName>ScriptComponent_033230de85cd492c8cc6eb7e598516f5</msb:CodeName>
		<msb:Language>msBuild</msb:Language>
		<msb:DisplayName>ScriptComponent_033230de85cd492c8cc6eb7e598516f5</msb:DisplayName>
		<msb:ProjectId>{C0B73F20-2E72-43A9-86FE-FB2E7374D723}</msb:ProjectId>
	</msb:PropertyGroup>
	<msb:ItemGroup>
		<msb:Project Include="ScriptComponent_033230de85cd492c8cc6eb7e598516f5.vbproj"/>
		<msb:File Include="ComponentWrapper.vb"/>
		<msb:File Include="ScriptMain.vb"/>
		<msb:File Include="BufferWrapper.vb"/>
		<msb:Folder Include="My Project\"/>
	</msb:ItemGroup>
</c:Project>]]></arrayElement></arrayElements></property><property id="8" 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_033230de85cd492c8cc6eb7e598516f5.dll]]></arrayElement><arrayElement dataType="System.String"><![CDATA[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
aQJMAE8BEwDBAE8B/gA5AE8BrwDRACUEwADRAC0EwADZAE8B/gBZAE8BEwBBAH8IgwLhAKwIiALp
AM0IjQLxANYIaAA5AAMJkwJJAA4JmAJJABUJnQJhAB8JogIJATkJqAL5AEUJqAIRAWYCrAL5AKgH
qALJAFkJsQIZAVkJtwIJAXcJwABJAIAJwwJBAOAEEwDxAAkK1wI5ASMKaABZAD8K3QJBAWYK4wLx
AAMJaAA5Ac0I6QJRAYsKaABJAZkK8AJBAMgK9gJZAd4K/AIpAc0IBQNhAagHqAIpAf0KEwDJADwL
FwOBAU8B+QDJAHILHAPxAHgLJgM5AYgLEwBpAbYLLAORAc0IMgNxAYsKaABpAeQLOQOhAf0LQQN5
AQ0McQChARkMFwCpAU8BEwCxAU8B+QC5AU8BbgPBAU8B+QDJAU8BEwDRAU8B/wPZAU8BOQThAU8B
EwDpAU8B+QAOACgA7gApAIMAjQEuAJsCPgQuAKMCRwQuAKsCZgRAABMAHAFAACsARAFDABsAKwFD
ABMAHAFJAIMAngFjABMAHAFjABsAKwFpAIMAsgGAACsARAGDAHsARAGDAHMARAGDABsAKwGJAIMA
eQGgACsARAGjABMAHAGjAMMA9AHAACsARAHDAOsAeALDABMAHAHgACsARAHjAAsBeAIAARMAHAEA
ASsARAEDAQsBeAIJAZMCBQQJAYMCDAQgASsARAEgARMAHAEpAYsCRAEpAYMCzwNAASsARAFAARMA
HAFJAYMCpANgARMAHAFgASsARAFjAQsBeAJjAWsCRAFjAXMCYANjAXsCdAOAASsARAGgASsARAHA
ASsARAHAARMAHAHgASsARAEAAhMAHAEAAisARAFAAwsBeAJgAwsBeAJlAWoBbwF0AcQByAHTAdgB
5wHnAW8CfgJ+AsQBxAHJAgwDSAPYAdgBxAEEAAEABgAFAAcABgALAAgAAABzAU8AAAAsAlQAAADb
AVkAAAA4Al4AAAD0ApgAAAA5BMQAAABMBMQAAADEBQ4BAADRBQ4BAADdBRIBAgAEAAMAAgAFAAUA
AgAGAAcAAgAHAAkAAgAPAAsAAgASAA0AAgATAA8AAgAgABEAAQAhABEAAgAiABMAAQAjABMAAgAk
ABUAAQAlABUAdQB1AIgASQFQAVcBXgFWAl0CBIAAAAAAAAAAAAAAAAAAAAAAtQAAAAQAAAAAAAAA
AAAAAAEACgAAAAAACgAAAAAAAAAAAAAACgATAAAAAAABAAAAAAAAAAAAAACdAAADAAAAAAwAAAAA
AAAAAAAAAKYAPgMAAAAADAAAAAAAAAAAAAAApgCMAwAAAAAEAAAAAAAAAAAAAAABAHwBAAAAAAwA
AAAAAAAAAAAAAKYAGQgAAAAADAAAAAAAAAAAAAAApgCKCQAAAAAFAAQABgAEAAAAEAAMAIICAAAQ
ABkAggIAAAAAGwCCAi0A4gEtAGQCAAAAAAA8TW9kdWxlPgBtc2NvcmxpYgBNaWNyb3NvZnQuVmlz
dWFsQmFzaWMATXlBcHBsaWNhdGlvbgBTY3JpcHRDb21wb25lbnRfMDMzMjMwZGU4NWNkNDkyYzhj
YzZlYjdlNTk4NTE2ZjUuTXkATXlDb21wdXRlcgBNeVByb2plY3QATXlXZWJTZXJ2aWNlcwBUaHJl
YWRTYWZlT2JqZWN0UHJvdmlkZXJgMQBJbnB1dEJ1ZmZlcgBTY3JpcHRDb21wb25lbnRfMDMzMjMw
ZGU4NWNkNDkyYzhjYzZlYjdlNTk4NTE2ZjUAVXNlckNvbXBvbmVudABDb25uZWN0aW9ucwBWYXJp
YWJsZXMAU2NyaXB0TWFpbgBNaWNyb3NvZnQuVmlzdWFsQmFzaWMuQXBwbGljYXRpb25TZXJ2aWNl
cwBBcHBsaWNhdGlvbkJhc2UALmN0b3IATWljcm9zb2Z0LlZpc3VhbEJhc2ljLkRldmljZXMAQ29t
cHV0ZXIAU3lzdGVtAE9iamVjdAAuY2N0b3IAZ2V0X0NvbXB1dGVyAG1fQ29tcHV0ZXJPYmplY3RQ
cm92aWRlcgBnZXRfQXBwbGljYXRpb24AbV9BcHBPYmplY3RQcm92aWRlcgBVc2VyAGdldF9Vc2Vy
AG1fVXNlck9iamVjdFByb3ZpZGVyAGdldF9XZWJTZXJ2aWNlcwBtX015V2ViU2VydmljZXNPYmpl
Y3RQcm92aWRlcgBBcHBsaWNhdGlvbgBXZWJTZXJ2aWNlcwBFcXVhbHMAbwBHZXRIYXNoQ29kZQBU
eXBlAEdldFR5cGUAVG9TdHJpbmcAQ3JlYXRlX19JbnN0YW5jZV9fAFQAaW5zdGFuY2UARGlzcG9z
ZV9fSW5zdGFuY2VfXwBnZXRfR2V0SW5zdGFuY2UATWljcm9zb2Z0LlZpc3VhbEJhc2ljLk15U2Vy
dmljZXMuSW50ZXJuYWwAQ29udGV4dFZhbHVlYDEAbV9Db250ZXh0AEdldEluc3RhbmNlAENvenlS
b2MuU1NJU1BsdXMuMjAxNABDb3p5Um9jLlNxbFNlcnZlci5TU0lTAFNjcmlwdEJ1ZmZlclBsdXMA
TWljcm9zb2Z0LlNxbFNlcnZlci5UeFNjcmlwdABNaWNyb3NvZnQuU3FsU2VydmVyLkR0cy5QaXBl
bGluZQBTY3JpcHRDb21wb25lbnQATWljcm9zb2Z0LlNxbFNlcnZlci5QaXBlbGluZUhvc3QAUGlw
ZWxpbmVCdWZmZXIAT3V0cHV0TmFtZU1hcABDb21wb25lbnQAT2JqZWN0SUQASXNJbnB1dABCdWZm
ZXIAT3V0cHV0TWFwAGdldF9TdGF0aWNJbnB1dENvbHVtbnMAZ2V0X1N0YXRpY091dHB1dENvbHVt
bnMATmV4dFJvdwBFbmRPZlJvd3NldABTdGF0aWNJbnB1dENvbHVtbnMAU3RhdGljT3V0cHV0Q29s
dW1ucwBTY3JpcHRDb21wb25lbnRQbHVzAFByb2Nlc3NJbnB1dABJbnB1dElEAElucHV0TmFtZQBJ
bnB1dF9Qcm9jZXNzSW5wdXQASW5wdXRfUHJvY2Vzc0lucHV0Um93AFJvdwBQYXJlbnRDb21wb25l
bnQAQ29sdW1uU2VwYXJhdG9yAFByZUV4ZWN1dGUAVmFsaWRhdGUAZXJyTWVzc2FnZQBnZXRfSW5w
dXRDb2x1bW5zAHNldF9JbnB1dENvbHVtbnMAdmFsdWUAZ2V0X01hcFZhcmlhYmxlAHNldF9NYXBW
YXJpYWJsZQBnZXRfQ2FzZVNlbnNpdGl2ZQBzZXRfQ2FzZVNlbnNpdGl2ZQBtX2lucHV0Q29scwBt
X21hcFZhcgBtX2lucHV0SW5kZXhlcwBTeXN0ZW0uQ29sbGVjdGlvbnMASURpY3Rpb25hcnkAbV9t
YXAAbV9jYXNlU2Vuc2l0aXZlAElucHV0Q29sdW1ucwBNYXBWYXJpYWJsZQBDYXNlU2Vuc2l0aXZl
AFN5c3RlbS5Db21wb25lbnRNb2RlbABFZGl0b3JCcm93c2FibGVBdHRyaWJ1dGUARWRpdG9yQnJv
d3NhYmxlU3RhdGUAU3lzdGVtLkNvZGVEb20uQ29tcGlsZXIAR2VuZXJhdGVkQ29kZUF0dHJpYnV0
ZQBTeXN0ZW0uRGlhZ25vc3RpY3MARGVidWdnZXJIaWRkZW5BdHRyaWJ1dGUATWljcm9zb2Z0LlZp
c3VhbEJhc2ljLkNvbXBpbGVyU2VydmljZXMAU3RhbmRhcmRNb2R1bGVBdHRyaWJ1dGUASGlkZU1v
ZHVsZU5hbWVBdHRyaWJ1dGUAU3lzdGVtLkNvbXBvbmVudE1vZGVsLkRlc2lnbgBIZWxwS2V5d29y
ZEF0dHJpYnV0ZQBTeXN0ZW0uUnVudGltZS5Db21waWxlclNlcnZpY2VzAFJ1bnRpbWVIZWxwZXJz
AEdldE9iamVjdFZhbHVlAFJ1bnRpbWVUeXBlSGFuZGxlAEdldFR5cGVGcm9tSGFuZGxlAEFjdGl2
YXRvcgBDcmVhdGVJbnN0YW5jZQBNeUdyb3VwQ29sbGVjdGlvbkF0dHJpYnV0ZQBnZXRfVmFsdWUA
c2V0X1ZhbHVlAFN5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcwBDb21WaXNpYmxlQXR0cmli
dXRlAFN0cmluZwBTY3JpcHRCdWZmZXIAQ0xTQ29tcGxpYW50QXR0cmlidXRlAE1pY3Jvc29mdC5T
cWxTZXJ2ZXIuRFRTUGlwZWxpbmVXcmFwAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuRHRzLlBpcGVsaW5l
LldyYXBwZXIASURUU0NvbXBvbmVudE1ldGFEYXRhMTAwAGdldF9Db21wb25lbnRNZXRhRGF0YQBJ
RFRTSW5wdXRDb2xsZWN0aW9uMTAwAGdldF9JbnB1dENvbGxlY3Rpb24ASURUU0lucHV0MTAwAGdl
dF9JdGVtAGdldF9JRABEaWN0aW9uYXJ5RW50cnkASURpY3Rpb25hcnlFbnVtZXJhdG9yAGdldF9C
dWZmZXIASXNOdWxsAEdldFN0cmluZwBHZXRFbnVtZXJhdG9yAElFbnVtZXJhdG9yAGdldF9DdXJy
ZW50AGdldF9LZXkAQ29udmVyc2lvbnMAUmVwbGFjZQBTdHJpbmdzAENvbXBhcmVNZXRob2QATW92
ZU5leHQAU2V0U3RyaW5nAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuRFRTUnVudGltZVdyYXAATWljcm9z
b2Z0LlNxbFNlcnZlci5EdHMuUnVudGltZS5XcmFwcGVyAElEVFNWYXJpYWJsZXMxMDAASW50MzIA
SURUU0lucHV0Q29sdW1uQ29sbGVjdGlvbjEwMABnZXRfSW5wdXRDb2x1bW5Db2xsZWN0aW9uAGdl
dF9Db3VudABQaXBlbGluZUNvbXBvbmVudABnZXRfSG9zdENvbXBvbmVudABJRFRTQnVmZmVyTWFu
YWdlcjEwMABnZXRfQnVmZmVyTWFuYWdlcgBJRFRTSW5wdXRDb2x1bW4xMDAAZ2V0X0xpbmVhZ2VJ
RABGaW5kQ29sdW1uQnlMaW5lYWdlSUQASURUU1ZhcmlhYmxlRGlzcGVuc2VyMTAwAGdldF9WYXJp
YWJsZURpc3BlbnNlcgBMb2NrT25lRm9yUmVhZABJRFRTVmFyaWFibGUxMDAAVW5sb2NrAElEVFNW
aXJ0dWFsSW5wdXQxMDAASURUU1ZpcnR1YWxJbnB1dENvbHVtbjEwMABFeGNlcHRpb24ASXNOdWxs
T3JFbXB0eQBBcHBsaWNhdGlvbkV4Y2VwdGlvbgBTdHJpbmdTcGxpdE9wdGlvbnMAU3BsaXQAR2V0
VmlydHVhbElucHV0AFJlbW92ZUFsbABJRFRTVmlydHVhbElucHV0Q29sdW1uQ29sbGVjdGlvbjEw
MABnZXRfVmlydHVhbElucHV0Q29sdW1uQ29sbGVjdGlvbgBEVFNVc2FnZVR5cGUAU2V0VXNhZ2VU
eXBlAFByb2plY3REYXRhAFNldFByb2plY3RFcnJvcgBnZXRfTWVzc2FnZQBDbGVhclByb2plY3RF
cnJvcgBTU0lTU2NyaXB0Q29tcG9uZW50RW50cnlQb2ludEF0dHJpYnV0ZQBDb3p5Um9jLlNxbFNl
cnZlci5TU0lTLkF0dHJpYnV0ZXMAVmFsaWRhdGVQcm9wZXJ0aWVzQXR0cmlidXRlAFNvcnRQcm9w
ZXJ0aWVzQXR0cmlidXRlAERlc2NyaXB0aW9uQXR0cmlidXRlAFZhcmlhYmxlQXR0cmlidXRlAElu
cHV0VmlydHVhbENvbHVtbkF0dHJpYnV0ZQBDb21waWxhdGlvblJlbGF4YXRpb25zQXR0cmlidXRl
AFJ1bnRpbWVDb21wYXRpYmlsaXR5QXR0cmlidXRlAFN5c3RlbS5SdW50aW1lLlZlcnNpb25pbmcA
VGFyZ2V0RnJhbWV3b3JrQXR0cmlidXRlAFNjcmlwdENvbXBvbmVudF8wMzMyMzBkZTg1Y2Q0OTJj
OGNjNmViN2U1OTg1MTZmNS5kbGwAAAAAAAtJAG4AcAB1AHQAACtTAGUAbABlAGMAdAAgAGkAbgBw
AHUAdAAgAGMAbwBsAHUAbQBuAHMALgAAN1MAZQBsAGUAYwB0ACAAbQBhAHAAIABvAGIAagBlAGMA
dAAgAHYAYQByAGkAYQBiAGwAZQAuAAAFLAAKAAAA+vvjEd26mE6e+RTkQFUlVwAIt3pcVhk04IkI
sD9ffxHVCjoDIAABAwAAAQQAABIMBwYVEhgBEgwEAAASCAcGFRIYARIIBAAAEhEHBhUSGAESEQQA
ABIUBwYVEhgBEhQECAASDAQIABIIBAgAEhEECAASFAQgAQIcAyAACAQgABIVAyAADgIeAAcQAQEe
AB4ABzABAQEQHgACEwAEIAATAAcGFRIZARMABCgAEwAIFs9JC7gMNOoIiYRdzYCAzJELIAUBEiEI
AhIlEikEIAAdDgMgAAIEKAAdDgMGEiQDBhIoCSAEAQgOEiUSKQUgAQESHAMGEiEFIAEBEiECBg4E
LAAKAAUgAQIQDgQgAQEOBCABAQIDBh0IAwYSMQIGAgMoAA4DKAACBSABARE5CAEAAQAAAAAABSAC
AQ4OGAEACk15VGVtcGxhdGUIMTAuMC4wLjAAAAQBAAAABhUSGAESDAYVEhgBEggGFRIYARIRBhUS
GAESFAQHARIMBAcBEggEBwESEQQHARIUEwEADk15LldlYlNlcnZpY2VzAAAQAQALTXkuQ29tcHV0
ZXIAABMBAA5NeS5BcHBsaWNhdGlvbgAADAEAB015LlVzZXIAAAQAARwcAwcBAgMHAQgGAAESFRFV
BAcBEhUDBwEOBRABAB4ABAoBHgAEBwEeAAcgBAEODg4OYQEANFN5c3RlbS5XZWIuU2VydmljZXMu
UHJvdG9jb2xzLlNvYXBIdHRwQ2xpZW50UHJvdG9jb2wSQ3JlYXRlX19JbnN0YW5jZV9fE0Rpc3Bv
c2VfX0luc3RhbmNlX18AAAAGFRIYARMABhUSGQETAAQKARMABSABARMACAcDEwATABMABQEAAAAA
BAcBHQ4EIAAScQQgABJ1BSABEnkcBCAAEiUEIAECCAQgAQ4IBSAAEoCBAyAAHAQAAQ4cBSACDg4O
CwAGDg4ODggIEYCRBSACAQgODQcHCAgOEX0IEoCBEX0FIAASgJ0FIAASgKEFIAASgKUGIAESgKkc
BSACCAgIBSAAEoCtCCACAQ4QEoCVBiABEoCxHAoHBQgSeRKAlQgIBAABAg4JIAIdDh0OEYDFBSAA
EoC1BSAAEoDJBiABEoC5HAcgAggIEYDNBgABARKAvRcHCwICEnkdDhKAtQ4SgLkSgL0dDggdDg0B
AAhWYWxpZGF0ZQAABSABAR0OLwEAAwAAAAxJbnB1dENvbHVtbnMLTWFwVmFyaWFibGUNQ2FzZVNl
bnNpdGl2ZQAAKgEAJVNwZWNpZnkgaWYgcmVwbGFjZSBpcyBjYXNlLXNlbnNpdGl2ZS4AAC8BACpT
ZWxlY3QgdmFyaWFibGUgY29udGFpbmluZyBtYXBwaW5nIG9iamVjdC4AAAUgAgEOAgYBAAAAAAAs
AQAnU2VsZWN0IGlucHV0IGNvbHVtbnMgZm9yIG1hcCB0cmFuc2Zvcm0uAAAEIAEBCAgBAAgAAAAA
AB4BAAEAVAIWV3JhcE5vbkV4Y2VwdGlvblRocm93cwFHAQAaLk5FVEZyYW1ld29yayxWZXJzaW9u
PXY0LjABAFQOFEZyYW1ld29ya0Rpc3BsYXlOYW1lEC5ORVQgRnJhbWV3b3JrIDQAAIhDAAAAAAAA
AAAAAJ5DAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQQwAAAAAAAAAAX0NvckRsbE1haW4AbXNj
b3JlZS5kbGwAAAAAAP8lACAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAEAAA
ABgAAIAAAAAAAAAAAAAAAAAAAAEAAQAAADAAAIAAAAAAAAAAAAAAAAAAAAEAAAAAAEgAAABYYAAA
7AIAAAAAAAAAAAAA7AI0AAAAVgBTAF8AVgBFAFIAUwBJAE8ATgBfAEkATgBGAE8AAAAAAL0E7/4A
AAEAAAAAAAAAAAAAAAAAAAAAAD8AAAAAAAAABAAAAAIAAAAAAAAAAAAAAAAAAABEAAAAAQBWAGEA
cgBGAGkAbABlAEkAbgBmAG8AAAAAACQABAAAAFQAcgBhAG4AcwBsAGEAdABpAG8AbgAAAAAAAACw
BEwCAAABAFMAdAByAGkAbgBnAEYAaQBsAGUASQBuAGYAbwAAACgCAAABADAAMAAwADAAMAA0AGIA
MAAAACwAAgABAEYAaQBsAGUARABlAHMAYwByAGkAcAB0AGkAbwBuAAAAAAAgAAAAMAAIAAEARgBp
AGwAZQBWAGUAcgBzAGkAbwBuAAAAAAAwAC4AMAAuADAALgAwAAAAjAA1AAEASQBuAHQAZQByAG4A
YQBsAE4AYQBtAGUAAABTAGMAcgBpAHAAdABDAG8AbQBwAG8AbgBlAG4AdABfADAAMwAzADIAMwAw
AGQAZQA4ADUAYwBkADQAOQAyAGMAOABjAGMANgBlAGIANwBlADUAOQA4ADUAMQA2AGYANQAuAGQA
bABsAAAAAAAoAAIAAQBMAGUAZwBhAGwAQwBvAHAAeQByAGkAZwBoAHQAAAAgAAAAlAA1AAEATwBy
AGkAZwBpAG4AYQBsAEYAaQBsAGUAbgBhAG0AZQAAAFMAYwByAGkAcAB0AEMAbwBtAHAAbwBuAGUA
bgB0AF8AMAAzADMAMgAzADAAZABlADgANQBjAGQANAA5ADIAYwA4AGMAYwA2AGUAYgA3AGUANQA5
ADgANQAxADYAZgA1AC4AZABsAGwAAAAAADQACAABAFAAcgBvAGQAdQBjAHQAVgBlAHIAcwBpAG8A
bgAAADAALgAwAC4AMAAuADAAAAA4AAgAAQBBAHMAcwBlAG0AYgBsAHkAIABWAGUAcgBzAGkAbwBu
AAAAMAAuADAALgAwAC4AMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAwAAACwMwAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=]]></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_033230de85cd492c8cc6eb7e598516f5</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><inputs><input id="14" name="Input" hasSideEffects="true"></input></inputs><outputs><output id="17" name="Output" synchronousInputId="14"><externalMetadataColumns /></output></outputs></component>