<component id="2" name="Dynamics CRM Qualify Lead" 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[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

    Public ReadOnly Property CrmConnection() As IDTSConnectionManager100
        Get
            Return ParentComponent.ComponentMetaData.RuntimeConnectionCollection("CrmConnection").ConnectionManager
        End Get
    End Property

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[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[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-2014 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.Web.Services.Protocols

Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper
Imports Microsoft.SqlServer.Dts.Runtime.Wrapper
Imports CozyRoc.SqlServer.SSIS
Imports CozyRoc.SqlServer.SSIS.Attributes
Imports CozyRoc.Dynamics.Crm
Imports CozyRoc.Dynamics.Crm2011.OrganizationService


'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
<ValidateProperties("Validate")> _
<ColumnMappings()> _
<Microsoft.SqlServer.Dts.Pipeline.SSISScriptComponentEntryPointAttribute> _
<CLSCompliant(False)> _
Public Class ScriptMain
    Inherits UserComponent


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Overrides Sub Input_ProcessInputRow(ByVal Row As InputBuffer)
        Try
            Dim req As New OrganizationRequest
            req.RequestName = "QualifyLead"

            ' Setup LeadId.
            req("LeadId") = SetupEntityReference_("lead", New Guid(Row.Buffer(m_liIndex).ToString()))

            ' Setup Status.
            Dim status As New OptionSetValue()
            status.Value = Convert.ToInt32(Row.Buffer(m_sIndex))
            req("Status") = status

            Dim value As Object

            value = GetBufferValue_(Row.Buffer, m_caIndex)
            If Not value Is Nothing Then
                req("CreateAccount") = Convert.ToBoolean(value)
            End If

            value = GetBufferValue_(Row.Buffer, m_ccIndex)
            If Not value Is Nothing Then
                req("CreateContact") = Convert.ToBoolean(value)
            End If

            value = GetBufferValue_(Row.Buffer, m_coIndex)
            If Not value Is Nothing Then
                req("CreateOpportunity") = Convert.ToBoolean(value)
            End If

            value = GetBufferValue_(Row.Buffer, m_ocurrIdIndex)
            If Not value Is Nothing Then
                req("OpportunityCurrencyId") = SetupEntityReference_( _
                    "transactioncurrency", _
                    New Guid(value.ToString()))
            End If

            value = GetBufferValue_(Row.Buffer, m_ocustIdIndex)
            If Not value Is Nothing Then
                req("OpportunityCustomerId") = SetupEntityReference_( _
                    "account", _
                    New Guid(value.ToString()))
            End If

            value = GetBufferValue_(Row.Buffer, m_sciIndex)
            If Not value Is Nothing Then
                req("SourceCampaignId") = SetupEntityReference_( _
                    "campaign", _
                    New Guid(value.ToString()))
            End If

            ' Execute action.
            Call m_service.Execute(req)
        Catch ex As SoapException
            Call FireError_(ex.Detail.InnerXml)
        Catch ex As Exception
            Call FireError_(ex.Message)
        End Try
    End Sub ' Input_ProcessInputRow


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

        ' Setup CRM service.
        m_connection = CType( _
            Me.Connections.CrmConnection.AcquireConnection(Nothing), _
            IConnection)
        Call m_connection.Connect()

        m_service = CType(m_connection.GetService(0), OrganizationServiceClient)   ' 0 - CRM Service

        ' Get input column indexes.
        m_caIndex = GetColumnIndex_("CreateAccount")
        m_ccIndex = GetColumnIndex_("CreateContact")
        m_coIndex = GetColumnIndex_("CreateOpportunity")
        m_liIndex = GetColumnIndex_("LeadId")
        m_ocurrIdIndex = GetColumnIndex_("OpportunityCurrencyId")
        m_ocustIdIndex = GetColumnIndex_("OpportunityCustomerId")
        m_sciIndex = GetColumnIndex_("SourceCampaignId")
        m_sIndex = GetColumnIndex_("Status")
    End Sub ' PreExecute


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

        Call m_connection.Close()
        m_caIndex = -1
        m_ccIndex = -1
        m_coIndex = -1
        m_liIndex = -1
        m_ocurrIdIndex = -1
        m_ocustIdIndex = -1
        m_sciIndex = -1
        m_sIndex = -1
    End Sub ' PostExecute


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

        Try
            If String.IsNullOrEmpty(Me.CrmConnection) Then
                Throw New Exception("Select Dynamics CRM Connection.")
            End If

            Dim inputCol As IDTSInputColumn100 = Nothing

            inputCol = GetInputColumn_("LeadId")
            If inputCol Is Nothing Then
                Throw New Exception("LeadId column is not mapped.")
            End If

            inputCol = GetInputColumn_("Status")
            If inputCol Is Nothing Then
                Throw New Exception("Status column is not mapped.")
            End If

            ' Store connection information in the runtime connection collection, too.
            ' Cannot directly use RuntimeConnectionCollection in the property get/set
            ' because of issues with multi-threading.
            Me.ComponentMetaData.RuntimeConnectionCollection("CrmConnection").ConnectionManagerID = Me.CrmConnection

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

        Validate = result
    End Function    'Validate


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

        If MyBase.ComponentMetaData.InputCollection.Count = 0 Then
            ' At least one input must exist.
            Throw New Exception("No inputs.")
        End If

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

        ' Cleanup.
        input.ExternalMetadataColumnCollection.IsUsed = True
        Call input.InputColumnCollection.RemoveAll()
        Call input.ExternalMetadataColumnCollection.RemoveAll()

        Dim column As IDTSExternalMetadataColumn100

        ' Setup CreateAccount column.
        column = input.ExternalMetadataColumnCollection.[New]()
        column.Name = "CreateAccount"
        column.DataType = DataType.DT_BOOL

        ' Setup CreateContact column.
        column = input.ExternalMetadataColumnCollection.[New]()
        column.Name = "CreateContact"
        column.DataType = DataType.DT_BOOL

        ' Setup CreateOpportunity column.
        column = input.ExternalMetadataColumnCollection.[New]()
        column.Name = "CreateOpportunity"
        column.DataType = DataType.DT_BOOL

        ' Setup LeadId column.
        column = input.ExternalMetadataColumnCollection.[New]()
        column.Name = "LeadId"
        column.DataType = DataType.DT_GUID

        ' Setup OpportunityCurrencyId column.
        column = input.ExternalMetadataColumnCollection.[New]()
        column.Name = "OpportunityCurrencyId"
        column.DataType = DataType.DT_GUID

        ' Setup OpportunityCustomerId column.
        column = input.ExternalMetadataColumnCollection.[New]()
        column.Name = "OpportunityCustomerId"
        column.DataType = DataType.DT_GUID

        ' Setup SourceCampaignId column.
        column = input.ExternalMetadataColumnCollection.[New]()
        column.Name = "SourceCampaignId"
        column.DataType = DataType.DT_GUID

        ' Setup  Status column.
        column = input.ExternalMetadataColumnCollection.[New]()
        column.Name = "Status"
        column.DataType = DataType.DT_I4
    End Sub ' ReinitializeMetaData


#Region "Properties"
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Description("Select Dynamics CRM Connection Manager.")> _
    <Connection("CrmConnectionType")> _
    Public Property CrmConnection() As String
        Get
            CrmConnection = m_crmConnection
        End Get
        Set(ByVal value As String)
            m_crmConnection = value
        End Set
    End Property    ' CrmConnection
#End Region ' Properties


#Region "Internals"
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private ReadOnly Property CrmConnectionType() As String()
        Get
            CrmConnectionType = New String() {"DYNAMICS-CRM"}
        End Get
    End Property    ' CrmConnectionType


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Sub FireError_(ByVal message As String)
        Dim cancel As Boolean = False
        Call MyBase.ComponentMetaData.FireError( _
            0, _
            "Dynamics CRM Qualify Lead", _
            message, _
            String.Empty, _
            0, _
            cancel)
    End Sub ' FireError_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Function GetInputColumn_(ByVal externalName As String) As IDTSInputColumn100
        Dim result As IDTSInputColumn100 = Nothing
        Dim input As IDTSInput100 = MyBase.ComponentMetaData.InputCollection(0)
        Dim extColumn As IDTSExternalMetadataColumn100 = input.ExternalMetadataColumnCollection(externalName)

        ' Find input column for specified external column.
        For Each inputCol As IDTSInputColumn100 In input.InputColumnCollection
            If inputCol.ExternalMetadataColumnID = extColumn.ID Then
                ' Found input column.
                result = inputCol
                Exit For
            End If
        Next

        GetInputColumn_ = result
    End Function    ' GetInputColumn_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Function GetColumnIndex_(ByVal externalName As String) As Integer
        Dim result As Integer = -1

        Dim input As IDTSInput100 = MyBase.ComponentMetaData.InputCollection(0)
        Dim inputCol As IDTSInputColumn100 = GetInputColumn_(externalName)
        If Not inputCol Is Nothing Then
            result = Me.HostComponent.BufferManager.FindColumnByLineageID( _
                input.Buffer, _
                inputCol.LineageID)
        End If

        GetColumnIndex_ = result
    End Function    ' GetColumnIndex_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Function SetupEntityReference_(ByVal entityName As String, ByVal id As Guid) As EntityReference
        Dim result As New EntityReference

        result.LogicalName = entityName
        result.Id = id

        SetupEntityReference_ = result
    End Function    ' SetupEntityReference_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Function GetBufferValue_( _
        ByVal buffer As Microsoft.SqlServer.Dts.Pipeline.PipelineBuffer, _
        ByVal index As Integer) As Object

        Dim result As Object = Nothing

        If index <> -1 AndAlso Not buffer.IsNull(index) Then
            result = buffer(index)
        End If

        GetBufferValue_ = result
    End Function    ' GetBufferValue_
#End Region ' Internals


#Region "Attributes"
    Private m_crmConnection As String

    Private m_connection As IConnection
    Private m_service As OrganizationServiceClient
    Private m_caIndex As Integer
    Private m_ccIndex As Integer
    Private m_coIndex As Integer
    Private m_liIndex As Integer
    Private m_ocurrIdIndex As Integer
    Private m_ocustIdIndex As Integer
    Private m_sciIndex As Integer
    Private m_sIndex As Integer
#End Region ' Attributes

End Class   ' ScriptMain
]]></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_6cb9d41b1123408eb60baf08185166fe</msb:CodeName>
		<msb:DisplayName>ScriptComponent_6cb9d41b1123408eb60baf08185166fe</msb:DisplayName>
		<msb:ProjectId>{B6FA4026-7CC4-44B0-9F4E-E28C513AB4AB}</msb:ProjectId>
	</msb:PropertyGroup>
	<msb:ItemGroup>
		<msb:Project Include="ScriptComponent_6cb9d41b1123408eb60baf08185166fe.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><arrayElement dataType="System.String"><![CDATA[ScriptComponent_6cb9d41b1123408eb60baf08185166fe.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>{4B85365E-7101-4E48-97F2-E27258A44587}</ProjectGuid>
    <OutputType>Library</OutputType>
    <AppDesignerFolder>My Project</AppDesignerFolder>
    <RootNamespace>ScriptComponent_6cb9d41b1123408eb60baf08185166fe</RootNamespace>
    <AssemblyName>ScriptComponent_6cb9d41b1123408eb60baf08185166fe</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="CozyRoc.Dynamics">
      <Private>False</Private>
    </Reference>
    <Reference Include="System.Web.Services">
      <Private>False</Private>
    </Reference>
    <Reference Include="System.Xml">
      <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></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_6cb9d41b1123408eb60baf08185166fe.dll]]></arrayElement><arrayElement dataType="System.String"><![CDATA[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
AAQKBioAAAAiAgN9CgAABCoAAAATMAMAEwAAABUAABEXjR4AAAELBxZyUQIAcKIHCgYqABMwBwAd
AAAAFgAAERYKAigjAAAKFnJrAgBwA35NAAAKFhIAb04AAAoqAAAAGzACAHwAAAAXAAARFA0CKCMA
AApvJAAAChaMMAAAAW8lAAAKDAhvRQAACgNvTwAACgoIb0cAAApvUAAAChMFKyIRBW9RAAAKdA0A
AAETBBEEb1IAAAoGb1MAAAozBREEDd4hEQVvVAAACi3V3hYRBXU1AAABLAwRBXU1AAABb1UAAArc
CQsHKgEQAAACACYAPGIAFgAAAAATMAMARQAAABgAABEVDQIoIwAACm8kAAAKFowwAAABbyUAAAoL
AgNvJwAABgwILB0Cb1YAAApvVwAACgdvWAAACghvWQAACm9aAAAKDQkKBioAAAATMAIAGAAAABkA
ABFzWwAACgoGA29cAAAKBgRvXQAACgYLByoTMAIAJQAAABoAABEUCwQVLhYDBG9eAAAKLQ0DBG8t
AAAKKBEAAAoLBygRAAAKCgYqAAAAQlNKQgEAAQAAAAAADAAAAHY0LjAuMzAzMTkAAAAABQBsAAAA
eAsAACN+AADkCwAAqA8AACNTdHJpbmdzAAAAAIwbAACgAgAAI1VTACweAAAQAAAAI0dVSUQAAAA8
HgAAcAQAACNCbG9iAAAAAAAAAAIAAAFXFaIJCQ4AAAD6JTMAFgAAAQAAAEAAAAALAAAAFAAAACoA
AAAaAAAAZgAAADEAAAAaAAAABQAAAAoAAAALAAAACQAAAAEAAAAMAAAAAgAAAAMAAAACAAAAAABy
DwEAAAAAAAoAPwEVAQoAcwFVAQYAgwF8AQoA2wEVAQYAWQJ8AQoA2wKxAg4ALQMWAxIAfANbAxYA
rQNbAxIAvANbAw4AYAQWAxoAGwXzBB4AIgb5BSIAoAZzBgYAsAZ8AQ4AGwcGByIANAdzBiYA2gfE
ByYA8wfEByYAIAgICAYASgg3CAoAiQhiCAoAoQgTACYA1gi5CAYACwnrCAYAKQl8AQYATQl8AQoA
ZgkTAAYAtAmVCQYAyAl8ARIAzwlbAwYA3Al8AR4A8gn5BR4AIQr5BR4ATAr5BR4AaQr5BR4ArAr5
BSIA2wpzBiIA7wpzBioAMAsSCwYAPgt8AQYAbAt8AQYAhgt8ASIAjgtzBgoAqwtiCC4A0gvHCx4A
YQz5BQYAiQx8AR4Ajwz5BR4A5wz5BRoANQ3zBAYAbg1bDQYAug18ARYAzg1bAx4A8g35BTIAsAZ8
ARIAWw5bAw4ApA6CDg4AvA6CDg4A2A6CDiYA7A7EBwYAAQ/rCAYAIQ/rCAYAWQ8/DwAAAAABAAAA
AAABAAEAAAAAACkANwAFAAEAAQAAAAAAawA3AAkAAQACAAABEAB2ADcADQABAAMABQEAAIAAAAAN
AAUACAAFAQAAjgAAAA0ABQAPAAEAAACpALUAHQAGABEAAQAAAOYAtQAtAAYAFgABAAAA9AC1AA0A
CAAaAAEAAAAAAbUADQAJABwAAQAAAAoBtQAgAAoAHQAxAJ4BIAAxAMcBLQAxAOkBOgAxAA4CRwAh
AOoCkAAGAPQAyQAGAAABzQABAMAE4QABAMAE4QABAPYGGgEBACcHHQEBAE4HIQEBAFgHJQEBAGIH
JQEBAGwHJQEBAHYHJQEBAIAHJQEBAI8HJQEBAJ4HJQEBAKkHJQFQIAAAAAAGGE8BEwABAFggAAAA
AAYYTwETAAEAYCAAAAAAERiKARcAAQCMIAAAAAATCJEBGwABAKQgAAAAABMItwEoAAEAvCAAAAAA
EwjgATUAAQDUIAAAAAATCP4BQgABAOwgAAAAAEYCRAJjAAEACCEAAAAARgJNAmgAAgAcIQAAAACD
AF4CbAACADQhAAAAAEYCZgJxAAIASCEAAAAAEQBvAngAAgBkIQAAAAABAI0CgAADAIAhAAAAAAYY
TwETAAQAiCEAAAAAAwihAosABAC8IQAAAAAGGE8BEwAEANAhAAAAAAYYTwGvAAQA4CEAAAAARgr2
A7sACQD0IQAAAABGCg0EuwAJAAgiAAAAAIYAJQTAAAkAICIAAAAAhgAtBMAACQA4IgAAAAAGGE8B
EwAJAFgiAAAAAEYCdATRAAkAiCIAAAAARgOTBNsADQCcIgAAAABGA6YE2wAOAKAiAAAAAAYYTwHl
AA8AsCIAAAAABgg0BesAEADcIgAAAAAGGE8B5QAQAOwiAAAAAAYYTwETABEA9CIAAAAARgKmBNsA
EQBcJQAAAABGAlQFEwASADgmAAAAAEYCXwUTABIAkCYAAAAABgBrBfUAEgA8JwAAAABGAn8FEwAT
AKAoAAAAAAYINAVxABMAuCgAAAAABgiUBfsAEwDEKAAAAAABCKwFuwAUAOQoAAAAAAEAwgX7ABQA
ECkAAAAAAQA1BgABFQCoKQAAAAABAFIGBgEWAPwpAAAAAAEAtQYLARcAICoAAAAAAQDZBhMBGQAA
AAEASwIAAAEAhAIAAAEAhAIAAAEAygMAAAIA1AMAAAMA3QMAAAQA5QMAAAUA7AMAAAEAgQQAAAIA
iQQAAAMA5QMAAAQA7AMAAAEA5QMAAAEAvAQAAAEAygMAAAEAygMAAAEAvAQAAAEAdAUAAAEApgUA
AAEAzQUAAAEARQYAAAEARQYAAAEAywYAAAIA1gYAAAEA6QYAAAIA8AYJAE8BEwCRAE8BLAGhAE8B
OwERAE8BEwCpAE8BEwAkAE8BEwAsAE8BEwA0AE8BEwA8AE8BEwAkAKECiwAsAKECiwA0AKECiwA8
AKECiwCxAE8BEwC5AE8BEwDBAE8B+wDJABoJ1QEZAEQCYwAZAE0CaAApADsJ4gEZAGYCcQDZAFcJ
8gEZAE8BEwDhAE8BAgJEAOoCkABMAIEJiwBMAIsJfwJMAE8BEwDpAE8BjgI5AE8BrwD5ACUEwAD5
AC0EwAABAU8BjgJZAE8BEwBBAAsKngIJATgKpAIRAVkKqgIZAWIKaAAJAYwKsQIhAVkKtwIpAcUK
6wAxAU8BEwAxAUgL+wA5AFgLwwJJAFkKyAJ5AE8B+wAxAWMLzQI5AU8BEwBRAXQL0wI5AYsJ2AJR
AXwL3QKJAKML4gJpAbcL6wJBAdoL8gJxAeULcQBpAfILFwBJAQQMcQBBAFQFEwBhABAMCgOBACIM
EwCBACoMyAJBAF8FEwCBADUMEwDxADsMDwNJAU8B+wApAUkM+wBZAH8FEwARAX8MaAAZAbcMHgOJ
AdwMjgIZAQQNJAORAR4NEwCJAR4NEwCJASgNKgN5ASwN+wB5AT4NMAPxAEsNGgEJAVENRwOJAVkK
UgORAXoNWQOhAYgNXwNpAJQNaAB5AWIKaAChAbENwACpAcYNEwBZAOANdQOxAQcOewMZAVgLaABp
ABkOaAC5AScOgQNxAE8BEwBxAD0O+wBxAE0OkQNJAFQOoQPJAU8BEwDRAU8BEwDZAU8B+wDhAU8B
+wDpAU8B+wDxAU8B2AL5AU8BEwABAk8B+wApAIMAjwEuACMD/QMuADMDJQQuACsDBgRAACsAWgFA
ABMAMgFDABMAMgFDABsAQQFJAIMAwQFjABMAMgFjABsAQQFpAIMAoAGAACsAWgGDABsAQQGDAHsA
WgGDAHMAWgGJAIMArQGgACsAWgGjABMAMgGjAMMACgLAACsAWgHDAOsAkwLDABMAMgHgACsAWgHj
AAsBkwIAASsAWgEAARMAMgEDAQsBkwIgASsAWgEgARMAMgEpARMDuQMpARsD0ANAARMAMgFAASsA
WgFgARMAMgFgASsAWgFjAQsDqwNjAQsBkwJjAfsCWgFjAQMDWgGAASsAWgGgASsAWgHAARMAMgHA
ASsAWgHgASsAWgEAAhMAMgEAAisAWgFAAwsBkwKAAwsBkwJ7AYABhQGKAdoB3gHpAe4B/QH9AYUC
mQKZAtoB2gG+AvgCFAM3A+4BQAPaAWMDhwOYA6YDBAABAAYABQAHAAYACQAIAAsACQAAAHMBTwAA
ACwCVAAAANsBWQAAADgCXgAAAPQCmAAAADkExAAAAEwExAAAAEYF8AAAAEYFKAEAALIHxAACAAQA
AwACAAUABQACAAYABwACAAcACQACAA8ACwACABIADQACABMADwACABsAEQACACMAEwABACQAEwAC
ACUAFQB1AHUAiABfAWYBbQF0AWwCcwIEgAAAAAAAAAAAAAAAAAAAAAC1AAAABAAAAAAAAAAAAAAA
AQAKAAAAAAAKAAAAAAAAAAAAAAAKABMAAAAAAAEAAAAAAAAAAAAAAJ0AAAMAAAAADAAAAAAAAAAA
AAAApgA+AwAAAAAMAAAAAAAAAAAAAACmAIwDAAAAAAwAAAAAAAAAAAAAAKYA0AQAAAAADAAAAAAA
AAAAAAAApgDVBQAAAAABAAAAAAAAAAAAAACdAGIGAAAAAAQAAAAAAAAAAAAAAAEAfAEAAAAABAAA
AAAAAAAAAAAACgD+CgAAAAAEAAAAAAAAAAAAAAABAMcLAAAAAAIAAAAAAAAAAAAAAAEACgAAAAAA
BQAEAAYABAAAABAADACCAgAAEAAZAIICAAAAABsAggItAPgBLQB6AgAAAAAAPE1vZHVsZT4AbXNj
b3JsaWIATWljcm9zb2Z0LlZpc3VhbEJhc2ljAE15QXBwbGljYXRpb24AU2NyaXB0Q29tcG9uZW50
XzZjYjlkNDFiMTEyMzQwOGViNjBiYWYwODE4NTE2NmZlLk15AE15Q29tcHV0ZXIATXlQcm9qZWN0
AE15V2ViU2VydmljZXMAVGhyZWFkU2FmZU9iamVjdFByb3ZpZGVyYDEASW5wdXRCdWZmZXIAU2Ny
aXB0Q29tcG9uZW50XzZjYjlkNDFiMTEyMzQwOGViNjBiYWYwODE4NTE2NmZlAFVzZXJDb21wb25l
bnQAQ29ubmVjdGlvbnMAVmFyaWFibGVzAFNjcmlwdE1haW4ATWljcm9zb2Z0LlZpc3VhbEJhc2lj
LkFwcGxpY2F0aW9uU2VydmljZXMAQXBwbGljYXRpb25CYXNlAC5jdG9yAE1pY3Jvc29mdC5WaXN1
YWxCYXNpYy5EZXZpY2VzAENvbXB1dGVyAFN5c3RlbQBPYmplY3QALmNjdG9yAGdldF9Db21wdXRl
cgBtX0NvbXB1dGVyT2JqZWN0UHJvdmlkZXIAZ2V0X0FwcGxpY2F0aW9uAG1fQXBwT2JqZWN0UHJv
dmlkZXIAVXNlcgBnZXRfVXNlcgBtX1VzZXJPYmplY3RQcm92aWRlcgBnZXRfV2ViU2VydmljZXMA
bV9NeVdlYlNlcnZpY2VzT2JqZWN0UHJvdmlkZXIAQXBwbGljYXRpb24AV2ViU2VydmljZXMARXF1
YWxzAG8AR2V0SGFzaENvZGUAVHlwZQBHZXRUeXBlAFRvU3RyaW5nAENyZWF0ZV9fSW5zdGFuY2Vf
XwBUAGluc3RhbmNlAERpc3Bvc2VfX0luc3RhbmNlX18AZ2V0X0dldEluc3RhbmNlAE1pY3Jvc29m
dC5WaXN1YWxCYXNpYy5NeVNlcnZpY2VzLkludGVybmFsAENvbnRleHRWYWx1ZWAxAG1fQ29udGV4
dABHZXRJbnN0YW5jZQBDb3p5Um9jLlNTSVNQbHVzLjIwMTQAQ296eVJvYy5TcWxTZXJ2ZXIuU1NJ
UwBTY3JpcHRCdWZmZXJQbHVzAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuVHhTY3JpcHQATWljcm9zb2Z0
LlNxbFNlcnZlci5EdHMuUGlwZWxpbmUAU2NyaXB0Q29tcG9uZW50AE1pY3Jvc29mdC5TcWxTZXJ2
ZXIuUGlwZWxpbmVIb3N0AFBpcGVsaW5lQnVmZmVyAE91dHB1dE5hbWVNYXAAQ29tcG9uZW50AE9i
amVjdElEAElzSW5wdXQAQnVmZmVyAE91dHB1dE1hcABnZXRfU3RhdGljSW5wdXRDb2x1bW5zAGdl
dF9TdGF0aWNPdXRwdXRDb2x1bW5zAE5leHRSb3cARW5kT2ZSb3dzZXQAU3RhdGljSW5wdXRDb2x1
bW5zAFN0YXRpY091dHB1dENvbHVtbnMAU2NyaXB0Q29tcG9uZW50UGx1cwBQcm9jZXNzSW5wdXQA
SW5wdXRJRABJbnB1dE5hbWUASW5wdXRfUHJvY2Vzc0lucHV0AElucHV0X1Byb2Nlc3NJbnB1dFJv
dwBSb3cAUGFyZW50Q29tcG9uZW50AE1pY3Jvc29mdC5TcWxTZXJ2ZXIuRFRTUnVudGltZVdyYXAA
TWljcm9zb2Z0LlNxbFNlcnZlci5EdHMuUnVudGltZS5XcmFwcGVyAElEVFNDb25uZWN0aW9uTWFu
YWdlcjEwMABnZXRfQ3JtQ29ubmVjdGlvbgBDcm1Db25uZWN0aW9uAFByZUV4ZWN1dGUAUG9zdEV4
ZWN1dGUAVmFsaWRhdGUAZXJyTWVzc2FnZQBSZWluaXRpYWxpemVNZXRhRGF0YQBzZXRfQ3JtQ29u
bmVjdGlvbgB2YWx1ZQBnZXRfQ3JtQ29ubmVjdGlvblR5cGUARmlyZUVycm9yXwBtZXNzYWdlAE1p
Y3Jvc29mdC5TcWxTZXJ2ZXIuRFRTUGlwZWxpbmVXcmFwAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuRHRz
LlBpcGVsaW5lLldyYXBwZXIASURUU0lucHV0Q29sdW1uMTAwAEdldElucHV0Q29sdW1uXwBleHRl
cm5hbE5hbWUAR2V0Q29sdW1uSW5kZXhfAENvenlSb2MuRHluYW1pY3MAQ296eVJvYy5EeW5hbWlj
cy5Dcm0yMDExLk9yZ2FuaXphdGlvblNlcnZpY2UARW50aXR5UmVmZXJlbmNlAEd1aWQAU2V0dXBF
bnRpdHlSZWZlcmVuY2VfAGVudGl0eU5hbWUAaWQAR2V0QnVmZmVyVmFsdWVfAGJ1ZmZlcgBpbmRl
eABtX2NybUNvbm5lY3Rpb24AQ296eVJvYy5EeW5hbWljcy5Dcm0ASUNvbm5lY3Rpb24AbV9jb25u
ZWN0aW9uAE9yZ2FuaXphdGlvblNlcnZpY2VDbGllbnQAbV9zZXJ2aWNlAG1fY2FJbmRleABtX2Nj
SW5kZXgAbV9jb0luZGV4AG1fbGlJbmRleABtX29jdXJySWRJbmRleABtX29jdXN0SWRJbmRleABt
X3NjaUluZGV4AG1fc0luZGV4AENybUNvbm5lY3Rpb25UeXBlAFN5c3RlbS5Db21wb25lbnRNb2Rl
bABFZGl0b3JCcm93c2FibGVBdHRyaWJ1dGUARWRpdG9yQnJvd3NhYmxlU3RhdGUAU3lzdGVtLkNv
ZGVEb20uQ29tcGlsZXIAR2VuZXJhdGVkQ29kZUF0dHJpYnV0ZQBTeXN0ZW0uRGlhZ25vc3RpY3MA
RGVidWdnZXJIaWRkZW5BdHRyaWJ1dGUATWljcm9zb2Z0LlZpc3VhbEJhc2ljLkNvbXBpbGVyU2Vy
dmljZXMAU3RhbmRhcmRNb2R1bGVBdHRyaWJ1dGUASGlkZU1vZHVsZU5hbWVBdHRyaWJ1dGUAU3lz
dGVtLkNvbXBvbmVudE1vZGVsLkRlc2lnbgBIZWxwS2V5d29yZEF0dHJpYnV0ZQBTeXN0ZW0uUnVu
dGltZS5Db21waWxlclNlcnZpY2VzAFJ1bnRpbWVIZWxwZXJzAEdldE9iamVjdFZhbHVlAFJ1bnRp
bWVUeXBlSGFuZGxlAEdldFR5cGVGcm9tSGFuZGxlAEFjdGl2YXRvcgBDcmVhdGVJbnN0YW5jZQBN
eUdyb3VwQ29sbGVjdGlvbkF0dHJpYnV0ZQBnZXRfVmFsdWUAc2V0X1ZhbHVlAFN5c3RlbS5SdW50
aW1lLkludGVyb3BTZXJ2aWNlcwBDb21WaXNpYmxlQXR0cmlidXRlAFN0cmluZwBTY3JpcHRCdWZm
ZXIAQ0xTQ29tcGxpYW50QXR0cmlidXRlAElEVFNDb21wb25lbnRNZXRhRGF0YTEwMABnZXRfQ29t
cG9uZW50TWV0YURhdGEASURUU0lucHV0Q29sbGVjdGlvbjEwMABnZXRfSW5wdXRDb2xsZWN0aW9u
AElEVFNJbnB1dDEwMABnZXRfSXRlbQBnZXRfSUQASURUU1J1bnRpbWVDb25uZWN0aW9uQ29sbGVj
dGlvbjEwMABnZXRfUnVudGltZUNvbm5lY3Rpb25Db2xsZWN0aW9uAElEVFNSdW50aW1lQ29ubmVj
dGlvbjEwMABnZXRfQ29ubmVjdGlvbk1hbmFnZXIAT3JnYW5pemF0aW9uUmVxdWVzdABPcHRpb25T
ZXRWYWx1ZQBTeXN0ZW0uV2ViLlNlcnZpY2VzAFN5c3RlbS5XZWIuU2VydmljZXMuUHJvdG9jb2xz
AFNvYXBFeGNlcHRpb24ARXhjZXB0aW9uAHNldF9SZXF1ZXN0TmFtZQBnZXRfQnVmZmVyAHNldF9J
dGVtAENvbnZlcnQAVG9JbnQzMgBUb0Jvb2xlYW4AQm9vbGVhbgBPcmdhbml6YXRpb25SZXNwb25z
ZQBFeGVjdXRlAFByb2plY3REYXRhAFNldFByb2plY3RFcnJvcgBTeXN0ZW0uWG1sAFhtbE5vZGUA
Z2V0X0RldGFpbABnZXRfSW5uZXJYbWwAQ2xlYXJQcm9qZWN0RXJyb3IAZ2V0X01lc3NhZ2UAQWNx
dWlyZUNvbm5lY3Rpb24AQ29ubmVjdABHZXRTZXJ2aWNlAENsb3NlAElzTnVsbE9yRW1wdHkAc2V0
X0Nvbm5lY3Rpb25NYW5hZ2VySUQASURUU0V4dGVybmFsTWV0YWRhdGFDb2x1bW4xMDAAZ2V0X0Nv
dW50AEludDMyAElEVFNFeHRlcm5hbE1ldGFkYXRhQ29sdW1uQ29sbGVjdGlvbjEwMABnZXRfRXh0
ZXJuYWxNZXRhZGF0YUNvbHVtbkNvbGxlY3Rpb24Ac2V0X0lzVXNlZABJRFRTSW5wdXRDb2x1bW5D
b2xsZWN0aW9uMTAwAGdldF9JbnB1dENvbHVtbkNvbGxlY3Rpb24AUmVtb3ZlQWxsAE5ldwBzZXRf
TmFtZQBEYXRhVHlwZQBzZXRfRGF0YVR5cGUARW1wdHkARmlyZUVycm9yAFN5c3RlbS5Db2xsZWN0
aW9ucwBJRW51bWVyYXRvcgBHZXRFbnVtZXJhdG9yAGdldF9DdXJyZW50AGdldF9FeHRlcm5hbE1l
dGFkYXRhQ29sdW1uSUQATW92ZU5leHQASURpc3Bvc2FibGUARGlzcG9zZQBQaXBlbGluZUNvbXBv
bmVudABnZXRfSG9zdENvbXBvbmVudABJRFRTQnVmZmVyTWFuYWdlcjEwMABnZXRfQnVmZmVyTWFu
YWdlcgBnZXRfTGluZWFnZUlEAEZpbmRDb2x1bW5CeUxpbmVhZ2VJRABzZXRfTG9naWNhbE5hbWUA
c2V0X0lkAElzTnVsbABTU0lTU2NyaXB0Q29tcG9uZW50RW50cnlQb2ludEF0dHJpYnV0ZQBDb3p5
Um9jLlNxbFNlcnZlci5TU0lTLkF0dHJpYnV0ZXMAQ29sdW1uTWFwcGluZ3NBdHRyaWJ1dGUAVmFs
aWRhdGVQcm9wZXJ0aWVzQXR0cmlidXRlAENvbm5lY3Rpb25BdHRyaWJ1dGUARGVzY3JpcHRpb25B
dHRyaWJ1dGUAQ29tcGlsYXRpb25SZWxheGF0aW9uc0F0dHJpYnV0ZQBSdW50aW1lQ29tcGF0aWJp
bGl0eUF0dHJpYnV0ZQBTeXN0ZW0uUnVudGltZS5WZXJzaW9uaW5nAFRhcmdldEZyYW1ld29ya0F0
dHJpYnV0ZQBTY3JpcHRDb21wb25lbnRfNmNiOWQ0MWIxMTIzNDA4ZWI2MGJhZjA4MTg1MTY2ZmUu
ZGxsAAAAC0kAbgBwAHUAdAAAG0MAcgBtAEMAbwBuAG4AZQBjAHQAaQBvAG4AABdRAHUAYQBsAGkA
ZgB5AEwAZQBhAGQAAA1MAGUAYQBkAEkAZAAACWwAZQBhAGQAAA1TAHQAYQB0AHUAcwAAG0MAcgBl
AGEAdABlAEEAYwBjAG8AdQBuAHQAABtDAHIAZQBhAHQAZQBDAG8AbgB0AGEAYwB0AAAjQwByAGUA
YQB0AGUATwBwAHAAbwByAHQAdQBuAGkAdAB5AAArTwBwAHAAbwByAHQAdQBuAGkAdAB5AEMAdQBy
AHIAZQBuAGMAeQBJAGQAACd0AHIAYQBuAHMAYQBjAHQAaQBvAG4AYwB1AHIAcgBlAG4AYwB5AAAr
TwBwAHAAbwByAHQAdQBuAGkAdAB5AEMAdQBzAHQAbwBtAGUAcgBJAGQAAA9hAGMAYwBvAHUAbgB0
AAAhUwBvAHUAcgBjAGUAQwBhAG0AcABhAGkAZwBuAEkAZAAAEWMAYQBtAHAAYQBpAGcAbgAAP1MA
ZQBsAGUAYwB0ACAARAB5AG4AYQBtAGkAYwBzACAAQwBSAE0AIABDAG8AbgBuAGUAYwB0AGkAbwBu
AC4AADlMAGUAYQBkAEkAZAAgAGMAbwBsAHUAbQBuACAAaQBzACAAbgBvAHQAIABtAGEAcABwAGUA
ZAAuAAA5UwB0AGEAdAB1AHMAIABjAG8AbAB1AG0AbgAgAGkAcwAgAG4AbwB0ACAAbQBhAHAAcABl
AGQALgAAFU4AbwAgAGkAbgBwAHUAdABzAC4AABlEAFkATgBBAE0ASQBDAFMALQBDAFIATQABM0QA
eQBuAGEAbQBpAGMAcwAgAEMAUgBNACAAUQB1AGEAbABpAGYAeQAgAEwAZQBhAGQAAAD2KsyoACK6
TqWkZmrDi5mvAAi3elxWGTTgiQiwP19/EdUKOgMgAAEDAAABBAAAEgwHBhUSGAESDAQAABIIBwYV
EhgBEggEAAASEQcGFRIYARIRBAAAEhQHBhUSGAESFAQIABIMBAgAEggECAASEQQIABIUBCABAhwD
IAAIBCAAEhUDIAAOAh4ABxABAR4AHgAHMAEBARAeAAITAAQgABMABwYVEhkBEwAEKAATAAgWz0kL
uAw06giJhF3NgIDMkQsgBQESIQgCEiUSKQQgAB0OAyAAAgQoAB0OAwYSJAMGEigJIAQBCA4SJRIp
BSABARIcAwYSIQUgAQESIQQgABIxBCgAEjEFIAECEA4EIAEBDgUgARI1DgQgAQgOByACEjkOET0G
IAIcEiUIAgYOAwYSQQMGEkUCBggDKAAOBSABARFNCAEAAQAAAAAABSACAQ4OGAEACk15VGVtcGxh
dGUIMTAuMC4wLjAAAAQBAAAABhUSGAESDAYVEhgBEggGFRIYARIRBhUSGAESFAQHARIMBAcBEggE
BwESEQQHARIUEAEAC015LkNvbXB1dGVyAAAMAQAHTXkuVXNlcgAAEwEADk15LldlYlNlcnZpY2Vz
AAATAQAOTXkuQXBwbGljYXRpb24AAAQAARwcAwcBAgMHAQgGAAESFRFpBAcBEhUDBwEOBRABAB4A
BAoBHgAEBwEeAAcgBAEODg4OYQEANFN5c3RlbS5XZWIuU2VydmljZXMuUHJvdG9jb2xzLlNvYXBI
dHRwQ2xpZW50UHJvdG9jb2wSQ3JlYXRlX19JbnN0YW5jZV9fE0Rpc3Bvc2VfX0luc3RhbmNlX18A
AAAGFRIYARMABhUSGQETAAQKARMABSABARMACAcDEwATABMABCABAQIFAQAAAAAEBwEdDgUgABKA
hQUgABKAiQYgARKAjRwFIAASgJEGIAESgJUcBAcBEjEEIAASJQQgARwIBSACAQ4cBAABCBwEIAEB
CAQAAQIcCCABEoCxEoCZBgABARKApQUgABKAuREHBhKAmRKAnRwSgKESgKURPQQgARwcBAABAg4J
BwQCAhI1EoClBSAAEoDFBSAAEoDJBSAAEoC9BiABARGAzQgHAhKAvRKAjQYHAh0OHQ4KIAYBCA4O
DggQAgYgARKAvRwFIAASgNEDIAAcEQcGEoC9EjUSgI0SNRI1EoDRBSAAEoDZBSAAEoDdBSACCAgI
CQcECBKAjRI1CAYgAQERgOEIBwMSORI5ET0EIAECCAQHAhwcDQEACFZhbGlkYXRlAAAWAQARQ3Jt
Q29ubmVjdGlvblR5cGUAACwBACdTZWxlY3QgRHluYW1pY3MgQ1JNIENvbm5lY3Rpb24gTWFuYWdl
ci4AAAgBAAgAAAAAAB4BAAEAVAIWV3JhcE5vbkV4Y2VwdGlvblRocm93cwFHAQAaLk5FVEZyYW1l
d29yayxWZXJzaW9uPXY0LjABAFQOFEZyYW1ld29ya0Rpc3BsYXlOYW1lEC5ORVQgRnJhbWV3b3Jr
IDQAAAAoTQAAAAAAAAAAAAA+TQAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAME0AAAAAAAAAAF9D
b3JEbGxNYWluAG1zY29yZWUuZGxsAAAAAAD/JQAgABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABABAAAAAYAACA
AAAAAAAAAAAAAAAAAAABAAEAAAAwAACAAAAAAAAAAAAAAAAAAAABAAAAAABIAAAAWGAAAOwCAAAA
AAAAAAAAAOwCNAAAAFYAUwBfAFYARQBSAFMASQBPAE4AXwBJAE4ARgBPAAAAAAC9BO/+AAABAAAA
AAAAAAAAAAAAAAAAAAA/AAAAAAAAAAQAAAACAAAAAAAAAAAAAAAAAAAARAAAAAEAVgBhAHIARgBp
AGwAZQBJAG4AZgBvAAAAAAAkAAQAAABUAHIAYQBuAHMAbABhAHQAaQBvAG4AAAAAAAAAsARMAgAA
AQBTAHQAcgBpAG4AZwBGAGkAbABlAEkAbgBmAG8AAAAoAgAAAQAwADAAMAAwADAANABiADAAAAAs
AAIAAQBGAGkAbABlAEQAZQBzAGMAcgBpAHAAdABpAG8AbgAAAAAAIAAAADAACAABAEYAaQBsAGUA
VgBlAHIAcwBpAG8AbgAAAAAAMAAuADAALgAwAC4AMAAAAIwANQABAEkAbgB0AGUAcgBuAGEAbABO
AGEAbQBlAAAAUwBjAHIAaQBwAHQAQwBvAG0AcABvAG4AZQBuAHQAXwA2AGMAYgA5AGQANAAxAGIA
MQAxADIAMwA0ADAAOABlAGIANgAwAGIAYQBmADAAOAAxADgANQAxADYANgBmAGUALgBkAGwAbAAA
AAAAKAACAAEATABlAGcAYQBsAEMAbwBwAHkAcgBpAGcAaAB0AAAAIAAAAJQANQABAE8AcgBpAGcA
aQBuAGEAbABGAGkAbABlAG4AYQBtAGUAAABTAGMAcgBpAHAAdABDAG8AbQBwAG8AbgBlAG4AdABf
ADYAYwBiADkAZAA0ADEAYgAxADEAMgAzADQAMAA4AGUAYgA2ADAAYgBhAGYAMAA4ADEAOAA1ADEA
NgA2AGYAZQAuAGQAbABsAAAAAAA0AAgAAQBQAHIAbwBkAHUAYwB0AFYAZQByAHMAaQBvAG4AAAAw
AC4AMAAuADAALgAwAAAAOAAIAAEAQQBzAHMAZQBtAGIAbAB5ACAAVgBlAHIAcwBpAG8AbgAAADAA
LgAwAC4AMAAuADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAMAAAAUD0AAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA]]></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_6cb9d41b1123408eb60baf08185166fe</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><connections><connection id="14" name="CrmConnection" connectionManagerID="{1AEA6672-E406-4162-A5FA-6C3EA8B98EA1}" /></connections><inputs><input id="15" name="Input" hasSideEffects="true"><externalMetadataColumns isUsed="True"><externalMetadataColumn id="21" name="CreateAccount" dataType="bool" /><externalMetadataColumn id="22" name="CreateContact" dataType="bool" /><externalMetadataColumn id="23" name="CreateOpportunity" dataType="bool" /><externalMetadataColumn id="24" name="LeadId" dataType="guid" /><externalMetadataColumn id="25" name="OpportunityCurrencyId" dataType="guid" /><externalMetadataColumn id="26" name="OpportunityCustomerId" dataType="guid" /><externalMetadataColumn id="27" name="SourceCampaignId" dataType="guid" /><externalMetadataColumn id="28" name="Status" dataType="i4" /></externalMetadataColumns></input></inputs></component>