<component id="2" name="Dynamics CRM Merge" 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="30"><arrayElement dataType="System.String"><![CDATA[scriptcomponent_425ddf477f3d4f97b01ee607dc05c767.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">
  <!-- This section defines project-level properties.

       Configuration - Specifies whether the default configuration is Release or Debug.
       Platform - Specifies what CPU the output of this project can run on.
       OutputType - Must be "Library" for VSTA.
       NoStandardLibraries - Set to "false" for VSTA.
       RootNamespace - In C#, this specifies the namespace given to new files.
                       In Visual Basic, all objects are wrapped in this namespace at runtime.
       AssemblyName - Name of the output assembly.
  -->
  <PropertyGroup>
    <ProjectTypeGuids>{30D016F9-3734-4E33-A861-5E7D899E18F3};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}</ProjectTypeGuids>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <OutputType>Library</OutputType>
    <RootNamespace>ScriptComponent_425ddf477f3d4f97b01ee607dc05c767.vbproj</RootNamespace>
    <AssemblyName>ScriptComponent_425ddf477f3d4f97b01ee607dc05c767.vbproj</AssemblyName>
    <StartupObject>
    </StartupObject>
    <OptionExplicit>On</OptionExplicit>
    <OptionCompare>Binary</OptionCompare>
    <OptionStrict>Off</OptionStrict>
    <OptionInfer>On</OptionInfer>
    <ProjectGuid>{E62D7C3B-6558-4FE7-865A-78ADF1E715D3}</ProjectGuid>
  </PropertyGroup>
  <!-- This section defines properties that are set when the "Debug" configuration is
       selected.

       DebugSymbols - If true, create symbols (.pdb). If false, do not create symbols.
       Optimize - If true, optimize the build output. If false, do not optimize.
       OutputPath - Output path of the project relative to the project file.
       EnableUnmanagedDebugging - If true, starting the debugger will attach both managed and unmanaged debuggers.
       DefineConstants - Constants defined for the preprocessor.
       Warning Level - Warning level for the compiler.
  -->
  <PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
    <DefineConstants>
    </DefineConstants>
    <DefineDebug>true</DefineDebug>
    <DefineTrace>true</DefineTrace>
    <DebugSymbols>true</DebugSymbols>
    <Optimize>false</Optimize>
    <OutputPath>bin\</OutputPath>
    <RegisterForComInterop>false</RegisterForComInterop>
    <RemoveIntegerChecks>false</RemoveIntegerChecks>
    <NoWarn>42016,42017,42018,42019,42032,42353,42354,42355</NoWarn>
  </PropertyGroup>
  <!-- This section defines properties that are set when the "Release" configuration is
       selected.

       DebugSymbols - If true, create symbols (.pdb). If false, do not create symbols.
       Optimize - If true, optimize the build output. If false, do not optimize.
       OutputPath - Output path of the project relative to the project file.
       EnableUnmanagedDebugging - If true, starting the debugger will attach both managed and unmanaged debuggers.
       DefineConstants - Constants defined for the preprocessor.
       Warning Level - Warning level for the compiler.
  -->
  <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
    <DefineConstants>
    </DefineConstants>
    <DefineDebug>false</DefineDebug>
    <DefineTrace>true</DefineTrace>
    <DebugSymbols>false</DebugSymbols>
    <Optimize>true</Optimize>
    <OutputPath>bin\</OutputPath>
    <RegisterForComInterop>false</RegisterForComInterop>
    <RemoveIntegerChecks>false</RemoveIntegerChecks>
    <NoWarn>42016,42017,42018,42019,42032,42353,42354,42355</NoWarn>
  </PropertyGroup>
  <!-- This section enables pre- and post-build steps. However,
       it is recommended that MSBuild tasks be used instead of these properties.
  -->
  <PropertyGroup>
    <PreBuildEvent>
    </PreBuildEvent>
    <PostBuildEvent>
    </PostBuildEvent>
  </PropertyGroup>
  <!-- This sections specifies references for the project. -->
  <ItemGroup>
    <Reference Include="CozyRoc.Dynamics, Version=1.0.0.0, Culture=neutral, PublicKeyToken=16cf490bb80c34ea, processorArchitecture=MSIL" />
    <Reference Include="Microsoft.SqlServer.ManagedDTS, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.SqlServer.ManagedDTS\v4.0_11.0.0.0__89845dcd8080cc91\Microsoft.SqlServer.ManagedDTS.dll</HintPath>
    </Reference>
    <Reference Include="System" />
    <Reference Include="System.Data" />
    <Reference Include="System.Web.Services" />
    <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.PipelineHost, 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.DTSRuntimeWrap, Version=12.0.0.0, Culture=Neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="CozyRoc.SSISPlus.2014, Version=1.0.0.0, Culture=Neutral, PublicKeyToken=16cf490bb80c34ea" />
  </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>
  <!-- This section defines the user source files that are part of the
       project.

       Compile - Specifies a source file to compile.
       EmbeddedResource - Specifies a .resx file for embedded resources.
       None - Specifies a file that is not to be passed to the compiler (for instance,
              a text file or XML file).
       AppDesigner - Specifies the directory where the application properties files can
                     be found.
  -->
  <ItemGroup>
    <AppDesigner Include="My Project\" />
    <Compile Include="BufferWrapper.vb" />
    <Compile Include="ComponentWrapper.vb" />
    <Compile Include="main.vb" />
    <Compile Include="My Project\AssemblyInfo.vb">
      <SubType>Code</SubType>
    </Compile>
    <EmbeddedResource Include="My Project\Resources.resx">
      <Generator>VbMyResourcesResXFileCodeGenerator</Generator>
      <LastGenOutput>Resources.Designer.vb</LastGenOutput>
      <CustomToolNamespace>My.Resources</CustomToolNamespace>
    </EmbeddedResource>
    <Compile Include="My Project\Resources.Designer.vb">
      <AutoGen>True</AutoGen>
      <DesignTime>True</DesignTime>
      <DependentUpon>Resources.resx</DependentUpon>
      <SubType>Code</SubType>
    </Compile>
    <None Include="My Project\Settings.settings">
      <Generator>SettingsSingleFileGenerator</Generator>
      <LastGenOutput>Settings.Designer.vb</LastGenOutput>
    </None>
    <Compile Include="My Project\Settings.Designer.vb">
      <AutoGen>True</AutoGen>
      <DependentUpon>Settings.settings</DependentUpon>
      <SubType>Code</SubType>
    </Compile>
    <!-- Include the default configuration information and metadata files for the add-in.
         These files are copied to the build output directory when the project is
         built, and the path to the configuration file is passed to add-in on the command
         line when debugging.
    -->
  </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="" DebugInfoExeName="devenv.exe" DebugInfoCommandLine="/vstaHostDebugUri:&quot;vstadebug97e8b3bc-bcb4-449b-8a5f-5c6c7a7c4f51/b8aa106c-7240-4214-aa3c-0e214cd99d9a&quot;" />
        <Host Name="SSIS_ScriptComponent" />
        <ProjectClient>
          <HostIdentifier>SSIS_SC120</HostIdentifier>
        </ProjectClient>
      </FlavorProperties>
    </VisualStudio>
  </ProjectExtensions>
  <PropertyGroup>
    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
  </PropertyGroup>
  <PropertyGroup>
    <TargetFrameworkProfile>
    </TargetFrameworkProfile>
  </PropertyGroup>
</Project>]]></arrayElement><arrayElement dataType="System.String"><![CDATA[My Project\AssemblyInfo.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></arrayElement><arrayElement dataType="System.String"><![CDATA[Imports System
Imports System.Reflection
Imports System.Runtime.InteropServices

' General Information about an assembly is controlled through the following 
' set of attributes. Change these attribute values to modify the information
' associated with an assembly.

' Review the values of the assembly attributes

<Assembly: AssemblyTitle("ScriptComponent_425ddf477f3d4f97b01ee607dc05c767.vbproj")> 
<Assembly: AssemblyDescription("")> 
<Assembly: AssemblyCompany("Microsoft")> 
<Assembly: AssemblyProduct("ScriptComponent_425ddf477f3d4f97b01ee607dc05c767.vbproj")> 
<Assembly: AssemblyCopyright("Copyright @ Microsoft 2015")> 
<Assembly: AssemblyTrademark("")> 
<Assembly: CLSCompliant(True)> 

<Assembly: ComVisible(False)> 

'The following GUID is for the ID of the typelib if this project is exposed to COM
<Assembly: Guid("1208f72e-77b2-4753-ab36-a64212ceecf5")> 

' Version information for an assembly consists of the following four values:
'
'      Major Version
'      Minor Version 
'      Build Number
'      Revision
'
' You can specify all the values or you can default the Build and Revision Numbers 
' by using the '*' as shown below:
' <Assembly: AssemblyVersion("1.0.*")>

<Assembly: AssemblyVersion("1.0.0.0")> 
<Assembly: AssemblyFileVersion("1.0.0.0")> 
]]></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

    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[main.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-2015 COZYROC LLC
' 
' Permission is hereby granted, free of charge, to any person
' obtaining a copy of this software and associated documentation
' files (the "Software"), to deal in the Software without
' restriction, including without limitation the rights to use,
' copy, modify, merge, publish, distribute, sublicense, and/or sell
' copies of the Software, and to permit persons to whom the
' Software is furnished to do so, subject to the following
' conditions:
' 
' The above copyright notice and this permission notice shall be
' included in all copies or substantial portions of the Software.
' 
' THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
' EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
' OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
' NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
' HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
' WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
' FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
' OTHER DEALINGS IN THE SOFTWARE.

Imports System
Imports System.ComponentModel
Imports System.Collections
Imports System.Web.Services.Protocols

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


'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
<ColumnMappings()> _
<SortProperties(New String() {"CrmConnection", "Entity"})> _
<ValidateProperties("Validate")> _
<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 = "Merge"
            req("SubordinateId") = New Guid(Row.Buffer(m_seiIndex).ToString())
            req("PerformParentingChecks") = Convert.ToBoolean(Row.Buffer(m_cpIndex))

            ' Setup UpdateContent.
            Dim entity As New Entity
            entity.LogicalName = Me.Entity
            req("UpdateContent") = entity

            ' Setup target.
            Dim target As New EntityReference
            target.LogicalName = Me.Entity
            target.Id = New Guid(Row.Buffer(m_teiIndex).ToString())
            req("Target") = target

            ' 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), _
            ICrmConnection)
        Call m_connection.Connect()
        m_service = CType(m_connection.GetService(0), OrganizationServiceClient)

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

        ' Get input column indexes.
        inputCol = GetInputColumn_("TargetId")
        m_teiIndex = Me.HostComponent.BufferManager.FindColumnByLineageID( _
            input.Buffer, _
            inputCol.LineageID)

        inputCol = GetInputColumn_("SubordinateId")
        m_seiIndex = Me.HostComponent.BufferManager.FindColumnByLineageID( _
            input.Buffer, _
            inputCol.LineageID)

        inputCol = GetInputColumn_("CheckParent")
        m_cpIndex = Me.HostComponent.BufferManager.FindColumnByLineageID( _
            input.Buffer, _
            inputCol.LineageID)
    End Sub ' PreExecute


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

        Call m_connection.Close()
    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 ApplicationException("Select Dynamics CRM connection.")
            End If

            Dim input As IDTSInput100 = Me.ComponentMetaData.InputCollection(0)
            If input.IsAttached AndAlso _
                (input.InputColumnCollection.Count = 0 OrElse _
                input.InputColumnCollection.Count < 3) Then
                Throw New Exception("Map input columns.")
            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 TargetId.
        column = input.ExternalMetadataColumnCollection.[New]()
        column.Name = "TargetId"
        column.DataType = DataType.DT_GUID

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

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


#Region "Properties"
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Category("Settings")> _
    <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


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Category("Settings")> _
    <Description("Select merge entity.")> _
    <List(New Object() {"account", "contact", "lead", "incident"})> _
    Public Property Entity() As String
        Get
            Entity = m_entity
        End Get
        Set(ByVal value As String)
            m_entity = value
        End Set
    End Property    ' Entity
#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 Merge", _
            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

        If result Is Nothing Then
            Throw New Exception("Input column not found.")
        End If

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


#Region "Attributes"
    Private m_crmConnection As String
    Private m_entity As String

    Private m_connection As ICrmConnection
    Private m_service As OrganizationServiceClient
    Private m_teiIndex As Integer
    Private m_seiIndex As Integer
    Private m_cpIndex As Integer
#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[My Project\Settings.settings]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></arrayElement><arrayElement dataType="System.String"><![CDATA[<?xml version='1.0' encoding='iso-8859-1'?>
<SettingsFile xmlns="uri:settings" CurrentProfile="(Default)" GeneratedClassNamespace="" GeneratedClassName="MySettings">
  <Profiles>
    <Profile Name="(Default)" />
  </Profiles>
  <Settings />
</SettingsFile>]]></arrayElement><arrayElement dataType="System.String"><![CDATA[My Project\Settings.Designer.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></arrayElement><arrayElement dataType="System.String"><![CDATA['------------------------------------------------------------------------------
' <autogenerated>
'     This code was generated by a tool.
'
'     Changes to this file may cause incorrect behavior and will be lost if
'     the code is regenerated.
' </autogenerated>
'------------------------------------------------------------------------------

Option Strict Off
Option Explicit On



Partial Friend NotInheritable Class MySettings
    Inherits System.Configuration.ApplicationSettingsBase

    Private Shared m_Value As MySettings

    Private Shared m_SyncObject As Object = New Object

    <System.Diagnostics.DebuggerNonUserCode()> _
    Public Shared ReadOnly Property Value() As MySettings
        Get
            If (MySettings.m_Value Is Nothing) Then
                System.Threading.Monitor.Enter(MySettings.m_SyncObject)
                If (MySettings.m_Value Is Nothing) Then
                    Try
                        MySettings.m_Value = New MySettings
                    Finally
                        System.Threading.Monitor.Exit(MySettings.m_SyncObject)
                    End Try
                End If
            End If
            Return MySettings.m_Value
        End Get
    End Property
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_425ddf477f3d4f97b01ee607dc05c767</msb:CodeName>
		<msb:Language>msBuild</msb:Language>
		<msb:ProjectId>{C4E8276F-230A-4807-AA22-5CC1FFDAB01F}</msb:ProjectId>
		<msb:NoContent>Reference;Import;Folder</msb:NoContent>
		<msb:DisplayName>scriptcomponent_425ddf477f3d4f97b01ee607dc05c767</msb:DisplayName>
	</msb:PropertyGroup>
	<msb:ItemGroup>
		<msb:File Include="My Project\Settings.Designer.vb"/>
		<msb:File Include="main.vb"/>
		<msb:File Include="BufferWrapper.vb"/>
		<msb:File Include="My Project\Resources.resx"/>
		<msb:File Include="ComponentWrapper.vb"/>
		<msb:File Include="My Project\AssemblyInfo.vb"/>
		<msb:File Include="My Project\Resources.Designer.vb"/>
		<msb:File Include="My Project\Settings.settings"/>
		<msb:Project Include="scriptcomponent_425ddf477f3d4f97b01ee607dc05c767.vbproj"/>
	</msb:ItemGroup>
</c:Project>]]></arrayElement><arrayElement dataType="System.String"><![CDATA[My Project\Resources.resx]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></arrayElement><arrayElement dataType="System.String"><![CDATA[<?xml version="1.0" encoding="utf-8"?>
<root>
  <!-- 
    Microsoft ResX Schema 
    
    Version 2.0
    
    The primary goals of this format is to allow a simple XML format 
    that is mostly human readable. The generation and parsing of the 
    various data types are done through the TypeConverter classes 
    associated with the data types.
    
    Example:
    
    ... ado.net/XML headers & schema ...
    <resheader name="resmimetype">text/microsoft-resx</resheader>
    <resheader name="version">2.0</resheader>
    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
        <value>[base64 mime encoded serialized .NET Framework object]</value>
    </data>
    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
        <comment>This is a comment</comment>
    </data>
                
    There are any number of "resheader" rows that contain simple 
    name/value pairs.
    
    Each data row contains a name, and value. The row also contains a 
    type or mimetype. Type corresponds to a .NET class that support 
    text/value conversion through the TypeConverter architecture. 
    Classes that don't support this are serialized and stored with the 
    mimetype set.
    
    The mimetype is used for serialized objects, and tells the 
    ResXResourceReader how to depersist the object. This is currently not 
    extensible. For a given mimetype the value must be set accordingly:
    
    Note - application/x-microsoft.net.object.binary.base64 is the format 
    that the ResXResourceWriter will generate, however the reader can 
    read any of the formats listed below.
    
    mimetype: application/x-microsoft.net.object.binary.base64
    value   : The object must be serialized with 
            : System.Serialization.Formatters.Binary.BinaryFormatter
            : and then encoded with base64 encoding.
    
    mimetype: application/x-microsoft.net.object.soap.base64
    value   : The object must be serialized with 
            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
            : and then encoded with base64 encoding.

    mimetype: application/x-microsoft.net.object.bytearray.base64
    value   : The object must be serialized into a byte array 
            : using a System.ComponentModel.TypeConverter
            : and then encoded with base64 encoding.
    -->
  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xsd:element name="root" msdata:IsDataSet="true">
      <xsd:complexType>
        <xsd:choice maxOccurs="unbounded">
          <xsd:element name="metadata">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" />
              <xsd:attribute name="type" type="xsd:string" />
              <xsd:attribute name="mimetype" type="xsd:string" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="assembly">
            <xsd:complexType>
              <xsd:attribute name="alias" type="xsd:string" />
              <xsd:attribute name="name" type="xsd:string" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="data">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="resheader">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" />
            </xsd:complexType>
          </xsd:element>
        </xsd:choice>
      </xsd:complexType>
    </xsd:element>
  </xsd:schema>
  <resheader name="resmimetype">
    <value>text/microsoft-resx</value>
  </resheader>
  <resheader name="version">
    <value>2.0</value>
  </resheader>
  <resheader name="reader">
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <resheader name="writer">
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
</root>]]></arrayElement><arrayElement dataType="System.String"><![CDATA[My Project\Resources.Designer.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></arrayElement><arrayElement dataType="System.String"><![CDATA['------------------------------------------------------------------------------
' <autogenerated>
'     This code was generated by a tool.
'
'     Changes to this file may cause incorrect behavior and will be lost if
'     the code is regenerated.
' </autogenerated>
'------------------------------------------------------------------------------

Option Strict Off
Option Explicit On


Namespace My.Resources
    
    '''<summary>
    '''   A strongly-typed resource class, for looking up localized strings, etc.
    '''</summary>
    'This class was auto-generated by the Strongly Typed Resource Builder
    'class via a tool like ResGen or Visual Studio.NET.
    'To add or remove a member, edit your .ResX file then rerun ResGen
    'with the /str option, or rebuild your VS project.
    Class MyResources
        
        Private Shared _resMgr As System.Resources.ResourceManager
        
        Private Shared _resCulture As System.Globalization.CultureInfo
        
        Friend Sub New()
            MyBase.New
        End Sub
        
        '''<summary>
        '''   Returns the cached ResourceManager instance used by this class.
        '''</summary>
        <System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)>  _
        Public Shared ReadOnly Property ResourceManager() As System.Resources.ResourceManager
            Get
                If (_resMgr Is Nothing) Then
                    Dim temp As System.Resources.ResourceManager = New System.Resources.ResourceManager("My.Resources.MyResources", GetType(MyResources).Assembly)
                    _resMgr = temp
                End If
                Return _resMgr
            End Get
        End Property
        
        '''<summary>
        '''   Overrides the current thread's CurrentUICulture property for all
        '''   resource lookups using this strongly typed resource class.
        '''</summary>
        <System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)>  _
        Public Shared Property Culture() As System.Globalization.CultureInfo
            Get
                Return _resCulture
            End Get
            Set
                _resCulture = value
            End Set
        End Property
    End Class
End Namespace
]]></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_425ddf477f3d4f97b01ee607dc05c767.vbproj.dll]]></arrayElement><arrayElement dataType="System.String"><![CDATA[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
AAQoEQAACihsAAAK3H4TAAAEKgABEAAAAgAdAAwpABAAAAAAtAAAAM7K774BAAAAkQAAAGxTeXN0
ZW0uUmVzb3VyY2VzLlJlc291cmNlUmVhZGVyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBD
dWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkjU3lzdGVtLlJl
c291cmNlcy5SdW50aW1lUmVzb3VyY2VTZXQCAAAAAAAAAAAAAABQQURQQURQtAAAAEJTSkIBAAEA
AAAAAAwAAAB2NC4wLjMwMzE5AAAAAAUAbAAAAHANAAAjfgAA3A0AADASAAAjU3RyaW5ncwAAAAAM
IAAA9AEAACNVUwAAIgAAEAAAACNHVUlEAAAAECIAAMwFAAAjQmxvYgAAAAAAAAACAAABVxWiCQkP
AAAA+iUzABYAAAEAAABSAAAADQAAABQAAAAwAAAAFwAAAHgAAABDAAAAHAAAAAcAAAAOAAAAEQAA
AAkAAAABAAAADAAAAAEAAAACAAAAAwAAAAIAAAAAAPERAQAAAAAACgCpAX8BCgDdAb8BBgDtAeYB
CgBFAn8BBgDDAuYBCgBFAxsDDgCXA4ADEgDmA8UDFgAXBMUDEgAmBMUDDgDKBIADGgCFBV0FHgCi
BnkGDgDrBoADIgBFBxgHBgCzB6IHBgDgB8sHJgBHCDIIJgCUCH4IJgCtCH4IJgDaCMIIBgAECfEI
CgBDCRwJCgBbCRMAJgCQCXMJBgDFCaUJBgDjCeYBBgAHCuYBCgAgChMABgBkCkUKBgB4CuYBEgB/
CsUDBgCMCuYBHgCiCnkGHgDRCnkGHgD8CnkGHgAZC3kGHgBcC3kGIgCJBxgHIgCLCxgHIgCfCxgH
KgDhC8MLBgDvC+YBBgD5C+YBBgAiDOYBBgA0DOYBLgD5C+YBIgBTDBgHCgBwDBwJMgCXDIwMBgD6
DOYBFgAADcUDHgAkDXkGBgCDDeYBHgCnDXkGHgAADnkGHgAeDnkGGgCNDl0FBgDGDrMOBgASD+YB
EgAmD8UDDgBvD00PDgCLD00PDgCjD00PDgC7D00PJgDPD34IJgDkD34IDgD2D00PBgAWEAQQBgA9
ECwQBgBQEPEIBgC5EKUJBgDZEKUJBgAREfcQBgAqEQQQBgBHEUUKBgBVEQQQBgBwEQQQBgCLEQQQ
BgCkEQQQBgC9EQQQBgDaEQQQAAAAAAEAAAAAAAEAAQAAAAAAKQA3AAUAAQABAAAAAAByADcACQAB
AAIAAAEQAH0ANwANAAEAAwAFAQAAhwAAAA0ABQAIAAUBAACVAAAADQAFAA8AAQAAALAAvAAdAAYA
EQABAAAA9AC8AC0ABgAWAAEAAAACAbwADQAIABoAAQAAAA4BvAANAAkAHAABAAAAGAG8ACAACgAd
AAAAAAAjAS8BDQARACoAAAEQAHQBvABJABMALgAxAAgCIAAxADECLQAxAFMCOgAxAHgCRwAhAFQD
kAAGAAIByQAGAA4BzQABACoF4QABACoF4QABANIGBgEBAOIGBgEBAPoGCQEBAF8HDQEBAGkHEQEB
AHQHEQEBAH8HEQERAMMHGAERAOwHHAERAF8IOgERAGcIPgFQIAAAAAAGGLkBEwABAFggAAAAAAYY
uQETAAEAYCAAAAAAERj0ARcAAQCMIAAAAAATCPsBGwABAKQgAAAAABMIIQIoAAEAvCAAAAAAEwhK
AjUAAQDUIAAAAAATCGgCQgABAOwgAAAAAEYCrgJjAAEACCEAAAAARgK3AmgAAgAcIQAAAACDAMgC
bAACADQhAAAAAEYC0AJxAAIASCEAAAAAEQDZAngAAgBkIQAAAAABAPcCgAADAIAhAAAAAAYYuQET
AAQAiCEAAAAAAwgLA4sABAC8IQAAAAAGGLkBEwAEANAhAAAAAAYYuQGvAAQA4CEAAAAARgpgBLsA
CQD0IQAAAABGCncEuwAJAAgiAAAAAIYAjwTAAAkAICIAAAAAhgCXBMAACQA4IgAAAAAGGLkBEwAJ
AFgiAAAAAEYC3gTRAAkAiCIAAAAARgP9BNsADQCcIgAAAABGAxAF2wAOAKAiAAAAAAYYuQHlAA8A
sCIAAAAABgieBesAEADcIgAAAAAGGLkB5QAQAOwiAAAAAAYYuQETABEA9CIAAAAARgIQBdsAEQA0
JAAAAABGAr4FEwASACglAAAAAEYCyQUTABIAPCUAAAAABgDVBfUAEgD4JQAAAABGAukFEwATAMAm
AAAAAAYIngVxABMA2CYAAAAABgj+BfsAEwDkJgAAAAAGCBYGcQAUAPwmAAAAAAYIIQb7ABQACCcA
AAAAAQgsBrsAFQAoJwAAAAABAEIG+wAVAFQnAAAAAAEAtQYAARYA/CcAAAAAAxi5ARMAFwAEKAAA
AAAWCPgHIAEXAEAoAAAAABYIDAglARcAVCgAAAAAFggYCCoBFwBcKAAAAAARGPQBFwAYAHAoAAAA
AAYYuQETABgAeCgAAAAAFgh0CEEBGAAAAAEAtQIAAAEA7gIAAAEA7gIAAAEANAQAAAIAPgQAAAMA
RwQAAAQATwQAAAUAVgQAAAEA6wQAAAIA8wQAAAMATwQAAAQAVgQAAAEATwQAAAEAJgUAAAEANAQA
AAEANAQAAAEAJgUAAAEA3gUAAAEAEAYAAAEAEAYAAAEATQYAAAEAxQYAAAEAJAgJALkBEwCZALkB
SwGpALkBWgERALkBEwCxALkBEwAkALkBEwAsALkBEwA0ALkBEwA8ALkBEwAkAAsDiwAsAAsDiwA0
AAsDiwA8AAsDiwC5ALkBEwDBALkBEwDJALkB+wDRANQJ9AEZAK4CYwAZALcCaAApAPUJAQIZANAC
cQDhABEKEQIZALkBEwDpALkBIQJEAFQDkABMAHQIiwBMADsKngJMALkBEwDxALkBrQI5ALkBrwAB
AY8EwAABAZcEwAAJAbkBrQJZALkBEwBBALsKvQIRAegKwwIZAQkLyQIhARILaAARATwL0AIpAQkL
1gIxAXUL6wBBAbkBEwBBAf4L+wA5AA4M4gJJAAkL5wJhAbkB+wBBARkM7AJpASoM8gI5AbkBEwA5
ATwM+wBJAbkBEwBJATwM+wBJAUwM9wJ5AGgM/gKJAXwMBwNRAZ8MDgORAaoMcQCJAbcMFwBZAckM
cQBBAL4FEwBhANUMLANxAOcMEwBxAO8M5wJZABINMQOhATkNNwMhAQ4MaABpAEsNaACpAVkNPQNB
AMkFEwBxAG8NEwD5AHUNSwOxAbkB+wAhAZgNwAAhAcQNUAO5Ad4NaABZAbkB+wAxAegN+wBZAOkF
EwAZAd4NaAAhAUYOYQPJAWsOrQK5AXYOEwDJAXYOEwDJAYAOZwPBAYQO+wDBAZYObQP5AKMOBgER
AakOhAPJAQkLjwO5AdIOlgPZAeAOnANpAOwOaADBARILaADZAQkPwADhAR4PEwDpAbkBEwDxAbkB
+wD5AbkBwAMBArkBEwAJArkB+wARArkB+wAZArkB+wAhArkBNgQpAB8QgQSBALkBhwSRALkBEwAx
AkUQpAQxAksQpAQ5ArkBEwBBArkBrgRJArkBEwBRArkB+wBZArkB+wBhArkB+wBpArkB+wBxArkB
+wB5ArkB+wCBArkB+wCJArkB+wCRArkB+wApAIMA1gEuAKMDYAUuALsDsgIuAMMDgAUuAAsBWgUu
AHMDswQuAOsAsgIuALMDvQUuAJsDsgIuAKsDgAUuAHsDvAQuAIMD2wQuAIsDIwUuAJMDMAVAACsA
eQFAABMAUQFDABMAUQFDABsAYAFJAIMArgFjABsAYAFjABMAUQFpAIMA5wGAACsAeQGDABsAYAGD
AHsAeQGDAHMAeQGJAIMAwgGgACsAeQGjAMMAKQKjABMAUQHAACsAeQHDAOsAsgLDABMAUQHgACsA
eQHjAAsBsgIAARMAUQEAASsAeQEDAQsBsgIgASsAeQEgARMAUQEpATMDKAQpASMD5AMpASsD+wNA
ASsAeQFAARMAUQFJATMDKARJASsDZwRJATsDPARgASsAeQFgARMAUQFjARsDeQFjAQMDeQFjAQsD
sgNjARMDxgNjAQsBsgKAASsAeQGJARMAmwSgASsAeQGpARMAmwTAARMAUQHAASsAeQHJAWsDeQHg
ASsAeQEAAhMAUQEAAisAeQFAAwsBsgKAAwsBsgKaAZ8BpAGpAfkB/QEIAg0CHAIcAqQCuAK4AvkB
+QHdAhQDQwNWA3QDDQINAn0D+QGgA48ElgSpBAQAAQAGAAUABwAGAAkACAALAAkADAAMAA0ADgAA
AN0BTwAAAJYCVAAAAEUCWQAAAKICXgAAAF4DmAAAAKMExAAAALYExAAAALAF8AAAALAFFAEAAIkH
FAEAAJAHxAAAALMHMAEAACoINQEAACQIRgECAAQAAwACAAUABQACAAYABwACAAcACQACAA8ACwAC
ABIADQACABMADwACABsAEQACACMAEwABACQAEwACACUAFQABACYAFQACACcAFwACACsAGQACACwA
GwABAC0AGwACADAAHQB1AHUAiAB+AYUBjAGTAYsCkgIEgAAAAQAAAAAAAAAAAAAAAAC8AAAABAAA
AAAAAAAAAAAAAQAKAAAAAAAKAAAAAAAAAAAAAAAKABMAAAAAAAEAAAAAAAAAAAAAAJ0AagMAAAAA
DAAAAAAAAAAAAAAApgCoAwAAAAAMAAAAAAAAAAAAAACmAPYDAAAAAAwAAAAAAAAAAAAAAKYAOgUA
AAAADAAAAAAAAAAAAAAApgBVBgAAAAABAAAAAAAAAAAAAACdAAcHAAAAAAQAAAAAAAAAAAAAAAEA
5gEAAAAABAAAAAAAAAAAAAAACgCvCwAAAAACAAAAAAAAAAAAAAABAAoAAAAAAAQAAAAAAAAAAAAA
AAEAjAwAAAAAAAAAAAEAAABtEAAABQAEAAYABAAAABAADADsAgAAEAAZAOwCAAAAABsA7AItABcC
LQCZAgAAADxNb2R1bGU+AG1zY29ybGliAE1pY3Jvc29mdC5WaXN1YWxCYXNpYwBNeUFwcGxpY2F0
aW9uAFNjcmlwdENvbXBvbmVudF80MjVkZGY0NzdmM2Q0Zjk3YjAxZWU2MDdkYzA1Yzc2Ny52YnBy
b2ouTXkATXlDb21wdXRlcgBNeVByb2plY3QATXlXZWJTZXJ2aWNlcwBUaHJlYWRTYWZlT2JqZWN0
UHJvdmlkZXJgMQBJbnB1dEJ1ZmZlcgBTY3JpcHRDb21wb25lbnRfNDI1ZGRmNDc3ZjNkNGY5N2Iw
MWVlNjA3ZGMwNWM3NjcudmJwcm9qAFVzZXJDb21wb25lbnQAQ29ubmVjdGlvbnMAVmFyaWFibGVz
AFNjcmlwdE1haW4ATXlSZXNvdXJjZXMAU2NyaXB0Q29tcG9uZW50XzQyNWRkZjQ3N2YzZDRmOTdi
MDFlZTYwN2RjMDVjNzY3LnZicHJvai5NeS5SZXNvdXJjZXMATXlTZXR0aW5ncwBNaWNyb3NvZnQu
VmlzdWFsQmFzaWMuQXBwbGljYXRpb25TZXJ2aWNlcwBBcHBsaWNhdGlvbkJhc2UALmN0b3IATWlj
cm9zb2Z0LlZpc3VhbEJhc2ljLkRldmljZXMAQ29tcHV0ZXIAU3lzdGVtAE9iamVjdAAuY2N0b3IA
Z2V0X0NvbXB1dGVyAG1fQ29tcHV0ZXJPYmplY3RQcm92aWRlcgBnZXRfQXBwbGljYXRpb24AbV9B
cHBPYmplY3RQcm92aWRlcgBVc2VyAGdldF9Vc2VyAG1fVXNlck9iamVjdFByb3ZpZGVyAGdldF9X
ZWJTZXJ2aWNlcwBtX015V2ViU2VydmljZXNPYmplY3RQcm92aWRlcgBBcHBsaWNhdGlvbgBXZWJT
ZXJ2aWNlcwBFcXVhbHMAbwBHZXRIYXNoQ29kZQBUeXBlAEdldFR5cGUAVG9TdHJpbmcAQ3JlYXRl
X19JbnN0YW5jZV9fAFQAaW5zdGFuY2UARGlzcG9zZV9fSW5zdGFuY2VfXwBnZXRfR2V0SW5zdGFu
Y2UATWljcm9zb2Z0LlZpc3VhbEJhc2ljLk15U2VydmljZXMuSW50ZXJuYWwAQ29udGV4dFZhbHVl
YDEAbV9Db250ZXh0AEdldEluc3RhbmNlAENvenlSb2MuU1NJU1BsdXMuMjAxNABDb3p5Um9jLlNx
bFNlcnZlci5TU0lTAFNjcmlwdEJ1ZmZlclBsdXMATWljcm9zb2Z0LlNxbFNlcnZlci5UeFNjcmlw
dABNaWNyb3NvZnQuU3FsU2VydmVyLkR0cy5QaXBlbGluZQBTY3JpcHRDb21wb25lbnQATWljcm9z
b2Z0LlNxbFNlcnZlci5QaXBlbGluZUhvc3QAUGlwZWxpbmVCdWZmZXIAT3V0cHV0TmFtZU1hcABD
b21wb25lbnQAT2JqZWN0SUQASXNJbnB1dABCdWZmZXIAT3V0cHV0TWFwAGdldF9TdGF0aWNJbnB1
dENvbHVtbnMAZ2V0X1N0YXRpY091dHB1dENvbHVtbnMATmV4dFJvdwBFbmRPZlJvd3NldABTdGF0
aWNJbnB1dENvbHVtbnMAU3RhdGljT3V0cHV0Q29sdW1ucwBTY3JpcHRDb21wb25lbnRQbHVzAFBy
b2Nlc3NJbnB1dABJbnB1dElEAElucHV0TmFtZQBJbnB1dF9Qcm9jZXNzSW5wdXQASW5wdXRfUHJv
Y2Vzc0lucHV0Um93AFJvdwBQYXJlbnRDb21wb25lbnQATWljcm9zb2Z0LlNxbFNlcnZlci5EVFNS
dW50aW1lV3JhcABNaWNyb3NvZnQuU3FsU2VydmVyLkR0cy5SdW50aW1lLldyYXBwZXIASURUU0Nv
bm5lY3Rpb25NYW5hZ2VyMTAwAGdldF9Dcm1Db25uZWN0aW9uAENybUNvbm5lY3Rpb24AUHJlRXhl
Y3V0ZQBQb3N0RXhlY3V0ZQBWYWxpZGF0ZQBlcnJNZXNzYWdlAFJlaW5pdGlhbGl6ZU1ldGFEYXRh
AHNldF9Dcm1Db25uZWN0aW9uAHZhbHVlAGdldF9FbnRpdHkAc2V0X0VudGl0eQBnZXRfQ3JtQ29u
bmVjdGlvblR5cGUARmlyZUVycm9yXwBtZXNzYWdlAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuRFRTUGlw
ZWxpbmVXcmFwAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuRHRzLlBpcGVsaW5lLldyYXBwZXIASURUU0lu
cHV0Q29sdW1uMTAwAEdldElucHV0Q29sdW1uXwBleHRlcm5hbE5hbWUAbV9jcm1Db25uZWN0aW9u
AG1fZW50aXR5AElDcm1Db25uZWN0aW9uAG1fY29ubmVjdGlvbgBDb3p5Um9jLkR5bmFtaWNzAENv
enlSb2MuRHluYW1pY3MuQ3JtMjAxMS5Pcmdhbml6YXRpb25TZXJ2aWNlAE9yZ2FuaXphdGlvblNl
cnZpY2VDbGllbnQAbV9zZXJ2aWNlAG1fdGVpSW5kZXgAbV9zZWlJbmRleABtX2NwSW5kZXgARW50
aXR5AENybUNvbm5lY3Rpb25UeXBlAFN5c3RlbS5SZXNvdXJjZXMAUmVzb3VyY2VNYW5hZ2VyAF9y
ZXNNZ3IAU3lzdGVtLkdsb2JhbGl6YXRpb24AQ3VsdHVyZUluZm8AX3Jlc0N1bHR1cmUAZ2V0X1Jl
c291cmNlTWFuYWdlcgBnZXRfQ3VsdHVyZQBzZXRfQ3VsdHVyZQBWYWx1ZQBDdWx0dXJlAFN5c3Rl
bS5Db25maWd1cmF0aW9uAEFwcGxpY2F0aW9uU2V0dGluZ3NCYXNlAG1fVmFsdWUAbV9TeW5jT2Jq
ZWN0AGdldF9WYWx1ZQBTeXN0ZW0uQ29tcG9uZW50TW9kZWwARWRpdG9yQnJvd3NhYmxlQXR0cmli
dXRlAEVkaXRvckJyb3dzYWJsZVN0YXRlAFN5c3RlbS5Db2RlRG9tLkNvbXBpbGVyAEdlbmVyYXRl
ZENvZGVBdHRyaWJ1dGUAU3lzdGVtLkRpYWdub3N0aWNzAERlYnVnZ2VySGlkZGVuQXR0cmlidXRl
AE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5Db21waWxlclNlcnZpY2VzAFN0YW5kYXJkTW9kdWxlQXR0
cmlidXRlAEhpZGVNb2R1bGVOYW1lQXR0cmlidXRlAFN5c3RlbS5Db21wb25lbnRNb2RlbC5EZXNp
Z24ASGVscEtleXdvcmRBdHRyaWJ1dGUAU3lzdGVtLlJ1bnRpbWUuQ29tcGlsZXJTZXJ2aWNlcwBS
dW50aW1lSGVscGVycwBHZXRPYmplY3RWYWx1ZQBSdW50aW1lVHlwZUhhbmRsZQBHZXRUeXBlRnJv
bUhhbmRsZQBBY3RpdmF0b3IAQ3JlYXRlSW5zdGFuY2UATXlHcm91cENvbGxlY3Rpb25BdHRyaWJ1
dGUAc2V0X1ZhbHVlAFN5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcwBDb21WaXNpYmxlQXR0
cmlidXRlAFN0cmluZwBTY3JpcHRCdWZmZXIAQ0xTQ29tcGxpYW50QXR0cmlidXRlAElEVFNDb21w
b25lbnRNZXRhRGF0YTEwMABnZXRfQ29tcG9uZW50TWV0YURhdGEASURUU0lucHV0Q29sbGVjdGlv
bjEwMABnZXRfSW5wdXRDb2xsZWN0aW9uAElEVFNJbnB1dDEwMABnZXRfSXRlbQBnZXRfSUQASURU
U1J1bnRpbWVDb25uZWN0aW9uQ29sbGVjdGlvbjEwMABnZXRfUnVudGltZUNvbm5lY3Rpb25Db2xs
ZWN0aW9uAElEVFNSdW50aW1lQ29ubmVjdGlvbjEwMABnZXRfQ29ubmVjdGlvbk1hbmFnZXIAT3Jn
YW5pemF0aW9uUmVxdWVzdABFbnRpdHlSZWZlcmVuY2UAU3lzdGVtLldlYi5TZXJ2aWNlcwBTeXN0
ZW0uV2ViLlNlcnZpY2VzLlByb3RvY29scwBTb2FwRXhjZXB0aW9uAEV4Y2VwdGlvbgBHdWlkAHNl
dF9SZXF1ZXN0TmFtZQBnZXRfQnVmZmVyAHNldF9JdGVtAENvbnZlcnQAVG9Cb29sZWFuAEJvb2xl
YW4Ac2V0X0xvZ2ljYWxOYW1lAHNldF9JZABPcmdhbml6YXRpb25SZXNwb25zZQBFeGVjdXRlAFBy
b2plY3REYXRhAFNldFByb2plY3RFcnJvcgBTeXN0ZW0uWG1sAFhtbE5vZGUAZ2V0X0RldGFpbABn
ZXRfSW5uZXJYbWwAQ2xlYXJQcm9qZWN0RXJyb3IAZ2V0X01lc3NhZ2UAQWNxdWlyZUNvbm5lY3Rp
b24AQ29ubmVjdABHZXRTZXJ2aWNlAEludDMyAFBpcGVsaW5lQ29tcG9uZW50AGdldF9Ib3N0Q29t
cG9uZW50AElEVFNCdWZmZXJNYW5hZ2VyMTAwAGdldF9CdWZmZXJNYW5hZ2VyAGdldF9MaW5lYWdl
SUQARmluZENvbHVtbkJ5TGluZWFnZUlEAENsb3NlAElzTnVsbE9yRW1wdHkAQXBwbGljYXRpb25F
eGNlcHRpb24AZ2V0X0lzQXR0YWNoZWQASURUU0lucHV0Q29sdW1uQ29sbGVjdGlvbjEwMABnZXRf
SW5wdXRDb2x1bW5Db2xsZWN0aW9uAGdldF9Db3VudABzZXRfQ29ubmVjdGlvbk1hbmFnZXJJRABJ
RFRTRXh0ZXJuYWxNZXRhZGF0YUNvbHVtbjEwMABJRFRTRXh0ZXJuYWxNZXRhZGF0YUNvbHVtbkNv
bGxlY3Rpb24xMDAAZ2V0X0V4dGVybmFsTWV0YWRhdGFDb2x1bW5Db2xsZWN0aW9uAHNldF9Jc1Vz
ZWQAUmVtb3ZlQWxsAE5ldwBzZXRfTmFtZQBEYXRhVHlwZQBzZXRfRGF0YVR5cGUARW1wdHkARmly
ZUVycm9yAFN5c3RlbS5Db2xsZWN0aW9ucwBJRW51bWVyYXRvcgBHZXRFbnVtZXJhdG9yAGdldF9D
dXJyZW50AGdldF9FeHRlcm5hbE1ldGFkYXRhQ29sdW1uSUQATW92ZU5leHQASURpc3Bvc2FibGUA
RGlzcG9zZQBTU0lTU2NyaXB0Q29tcG9uZW50RW50cnlQb2ludEF0dHJpYnV0ZQBDb3p5Um9jLlNx
bFNlcnZlci5TU0lTLkF0dHJpYnV0ZXMAVmFsaWRhdGVQcm9wZXJ0aWVzQXR0cmlidXRlAFNvcnRQ
cm9wZXJ0aWVzQXR0cmlidXRlAENvbHVtbk1hcHBpbmdzQXR0cmlidXRlAENvbm5lY3Rpb25BdHRy
aWJ1dGUARGVzY3JpcHRpb25BdHRyaWJ1dGUAQ2F0ZWdvcnlBdHRyaWJ1dGUATGlzdEF0dHJpYnV0
ZQBTeXN0ZW0uUmVmbGVjdGlvbgBBc3NlbWJseQBnZXRfQXNzZW1ibHkAU3lzdGVtLlRocmVhZGlu
ZwBNb25pdG9yAEVudGVyAEV4aXQARGVidWdnZXJOb25Vc2VyQ29kZUF0dHJpYnV0ZQBTY3JpcHRD
b21wb25lbnRfNDI1ZGRmNDc3ZjNkNGY5N2IwMWVlNjA3ZGMwNWM3NjcudmJwcm9qLlJlc291cmNl
cy5yZXNvdXJjZXMAQ29tcGlsYXRpb25SZWxheGF0aW9uc0F0dHJpYnV0ZQBSdW50aW1lQ29tcGF0
aWJpbGl0eUF0dHJpYnV0ZQBTeXN0ZW0uUnVudGltZS5WZXJzaW9uaW5nAFRhcmdldEZyYW1ld29y
a0F0dHJpYnV0ZQBBc3NlbWJseUZpbGVWZXJzaW9uQXR0cmlidXRlAEd1aWRBdHRyaWJ1dGUAQXNz
ZW1ibHlUcmFkZW1hcmtBdHRyaWJ1dGUAQXNzZW1ibHlDb3B5cmlnaHRBdHRyaWJ1dGUAQXNzZW1i
bHlQcm9kdWN0QXR0cmlidXRlAEFzc2VtYmx5Q29tcGFueUF0dHJpYnV0ZQBBc3NlbWJseURlc2Ny
aXB0aW9uQXR0cmlidXRlAEFzc2VtYmx5VGl0bGVBdHRyaWJ1dGUAU2NyaXB0Q29tcG9uZW50XzQy
NWRkZjQ3N2YzZDRmOTdiMDFlZTYwN2RjMDVjNzY3LnZicHJvai5kbGwAAAAAAAtJAG4AcAB1AHQA
ABtDAHIAbQBDAG8AbgBuAGUAYwB0AGkAbwBuAAALTQBlAHIAZwBlAAAbUwB1AGIAbwByAGQAaQBu
AGEAdABlAEkAZAAALVAAZQByAGYAbwByAG0AUABhAHIAZQBuAHQAaQBuAGcAQwBoAGUAYwBrAHMA
ABtVAHAAZABhAHQAZQBDAG8AbgB0AGUAbgB0AAANVABhAHIAZwBlAHQAABFUAGEAcgBnAGUAdABJ
AGQAABdDAGgAZQBjAGsAUABhAHIAZQBuAHQAAD9TAGUAbABlAGMAdAAgAEQAeQBuAGEAbQBpAGMA
cwAgAEMAUgBNACAAYwBvAG4AbgBlAGMAdABpAG8AbgAuAAAlTQBhAHAAIABpAG4AcAB1AHQAIABj
AG8AbAB1AG0AbgBzAC4AABVOAG8AIABpAG4AcAB1AHQAcwAuAAAZRABZAE4AQQBNAEkAQwBTAC0A
QwBSAE0AASVEAHkAbgBhAG0AaQBjAHMAIABDAFIATQAgAE0AZQByAGcAZQAAL0kAbgBwAHUAdAAg
AGMAbwBsAHUAbQBuACAAbgBvAHQAIABmAG8AdQBuAGQALgAAMU0AeQAuAFIAZQBzAG8AdQByAGMA
ZQBzAC4ATQB5AFIAZQBzAG8AdQByAGMAZQBzAAAAAAAaqkS0/hdyTIkyxpCE6Kq1AAi3elxWGTTg
iQiwP19/EdUKOgMgAAEDAAABBAAAEgwHBhUSGAESDAQAABIIBwYVEhgBEggEAAASEQcGFRIYARIR
BAAAEhQHBhUSGAESFAQIABIMBAgAEggECAASEQQIABIUBCABAhwDIAAIBCAAEhUDIAAOAh4ABxAB
AR4AHgAHMAEBARAeAAITAAQgABMABwYVEhkBEwAEKAATAAgWz0kLuAw06giJhF3NgIDMkQsgBQES
IQgCEiUSKQQgAB0OAyAAAgQoAB0OAwYSJAMGEigJIAQBCA4SJRIpBSABARIcAwYSIQUgAQESIQQg
ABIxBCgAEjEFIAECEA4EIAEBDgUgARI1DgIGDgMGEjkDBhI9AgYIAygADgMGEkEDBhJFBAAAEkEE
AAASRQUAAQESRQQIABJBBAgAEkUDBhI0AgYcBAAAEjQECAASNAUgAQERUQgBAAEAAAAAAAUgAgEO
DhgBAApNeVRlbXBsYXRlCDEwLjAuMC4wAAAEAQAAAAYVEhgBEgwGFRIYARIIBhUSGAESEQYVEhgB
EhQEBwESDAQHARIIBAcBEhEEBwESFBMBAA5NeS5BcHBsaWNhdGlvbgAAEwEADk15LldlYlNlcnZp
Y2VzAAAQAQALTXkuQ29tcHV0ZXIAAAwBAAdNeS5Vc2VyAAAEAAEcHAMHAQIDBwEIBgABEhURbQQH
ARIVAwcBDgUQAQAeAAQKAR4ABAcBHgAHIAQBDg4ODmEBADRTeXN0ZW0uV2ViLlNlcnZpY2VzLlBy
b3RvY29scy5Tb2FwSHR0cENsaWVudFByb3RvY29sEkNyZWF0ZV9fSW5zdGFuY2VfXxNEaXNwb3Nl
X19JbnN0YW5jZV9fAAAABhUSGAETAAYVEhkBEwAECgETAAUgAQETAAgHAxMAEwATAAQgAQECBQEA
AAAABAcBHQ4FIAASgIkFIAASgI0GIAESgJEcBSAAEoCVBiABEoCZHAQHARIxBCAAEiUEIAEcCAUg
AgEOHAQAAQIcBiABARGAvQggARKAwRKAoQYAAQESgK0FIAASgMkXBwcSgJ0SgKESgKUSgKkSgK0R
gLERgLEEIAEcHAUgABKA0QUgABKA1QUgAggICAcHAhKAkRI1BAABAg4FIAASgN0KBwQCAhKAkRKA
rQUgABKA5QUgABKA4QYgAQERgOkIBwISgOESgJEGBwIdDh0OCiAGAQgODg4IEAIGIAESgOEcBSAA
EoDtAyAAHBEHBhKA4RI1EoCREjUSNRKA7Q0BAAhWYWxpZGF0ZQAABSABAR0OHQEAAgAAAA1Dcm1D
b25uZWN0aW9uBkVudGl0eQAAFgEAEUNybUNvbm5lY3Rpb25UeXBlAAAsAQAnU2VsZWN0IER5bmFt
aWNzIENSTSBDb25uZWN0aW9uIE1hbmFnZXIuAAANAQAIU2V0dGluZ3MAAAUgAQEdHCoBAAQAAAAO
B2FjY291bnQOB2NvbnRhY3QOBGxlYWQOCGluY2lkZW50AAAZAQAUU2VsZWN0IG1lcmdlIGVudGl0
eS4AAAUgABKBFQcgAgEOEoEVBgcCEkESQQQHARJFCAEAAgAAAAAABAABARwEBwESNAQgAQEICAEA
CAAAAAAAHgEAAQBUAhZXcmFwTm9uRXhjZXB0aW9uVGhyb3dzAUcBABouTkVURnJhbWV3b3JrLFZl
cnNpb249djQuMAEAVA4URnJhbWV3b3JrRGlzcGxheU5hbWUQLk5FVCBGcmFtZXdvcmsgNAwBAAcx
LjAuMC4wAAApAQAkMTIwOGY3MmUtNzdiMi00NzUzLWFiMzYtYTY0MjEyY2VlY2Y1AAAFAQABAAAf
AQAaQ29weXJpZ2h0IEAgTWljcm9zb2Z0IDIwMTUAADwBADdTY3JpcHRDb21wb25lbnRfNDI1ZGRm
NDc3ZjNkNGY5N2IwMWVlNjA3ZGMwNWM3NjcudmJwcm9qAAAOAQAJTWljcm9zb2Z0AACQUQAAAAAA
AAAAAACuUQAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoFEAAAAAAAAAAAAAAAAAAAAAX0NvckRs
bE1haW4AbXNjb3JlZS5kbGwAAAAAAP8lACAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAQAAAAGAAAgAAA
AAAAAAAAAAAAAAAAAQABAAAAMAAAgAAAAAAAAAAAAAAAAAAAAQAAAAAASAAAAFhgAABoBAAAAAAA
AAAAAABoBDQAAABWAFMAXwBWAEUAUgBTAEkATwBOAF8ASQBOAEYATwAAAAAAvQTv/gAAAQAAAAEA
AAAAAAAAAQAAAAAAPwAAAAAAAAAEAAAAAgAAAAAAAAAAAAAAAAAAAEQAAAABAFYAYQByAEYAaQBs
AGUASQBuAGYAbwAAAAAAJAAEAAAAVAByAGEAbgBzAGwAYQB0AGkAbwBuAAAAAAAAALAEyAMAAAEA
UwB0AHIAaQBuAGcARgBpAGwAZQBJAG4AZgBvAAAApAMAAAEAMAAwADAAMAAwADQAYgAwAAAANAAK
AAEAQwBvAG0AcABhAG4AeQBOAGEAbQBlAAAAAABNAGkAYwByAG8AcwBvAGYAdAAAAJgAOAABAEYA
aQBsAGUARABlAHMAYwByAGkAcAB0AGkAbwBuAAAAAABTAGMAcgBpAHAAdABDAG8AbQBwAG8AbgBl
AG4AdABfADQAMgA1AGQAZABmADQANwA3AGYAMwBkADQAZgA5ADcAYgAwADEAZQBlADYAMAA3AGQA
YwAwADUAYwA3ADYANwAuAHYAYgBwAHIAbwBqAAAAMAAIAAEARgBpAGwAZQBWAGUAcgBzAGkAbwBu
AAAAAAAxAC4AMAAuADAALgAwAAAAmAA8AAEASQBuAHQAZQByAG4AYQBsAE4AYQBtAGUAAABTAGMA
cgBpAHAAdABDAG8AbQBwAG8AbgBlAG4AdABfADQAMgA1AGQAZABmADQANwA3AGYAMwBkADQAZgA5
ADcAYgAwADEAZQBlADYAMAA3AGQAYwAwADUAYwA3ADYANwAuAHYAYgBwAHIAbwBqAC4AZABsAGwA
AABcABsAAQBMAGUAZwBhAGwAQwBvAHAAeQByAGkAZwBoAHQAAABDAG8AcAB5AHIAaQBnAGgAdAAg
AEAAIABNAGkAYwByAG8AcwBvAGYAdAAgADIAMAAxADUAAAAAAKAAPAABAE8AcgBpAGcAaQBuAGEA
bABGAGkAbABlAG4AYQBtAGUAAABTAGMAcgBpAHAAdABDAG8AbQBwAG8AbgBlAG4AdABfADQAMgA1
AGQAZABmADQANwA3AGYAMwBkADQAZgA5ADcAYgAwADEAZQBlADYAMAA3AGQAYwAwADUAYwA3ADYA
NwAuAHYAYgBwAHIAbwBqAC4AZABsAGwAAACQADgAAQBQAHIAbwBkAHUAYwB0AE4AYQBtAGUAAAAA
AFMAYwByAGkAcAB0AEMAbwBtAHAAbwBuAGUAbgB0AF8ANAAyADUAZABkAGYANAA3ADcAZgAzAGQA
NABmADkANwBiADAAMQBlAGUANgAwADcAZABjADAANQBjADcANgA3AC4AdgBiAHAAcgBvAGoAAAA0
AAgAAQBQAHIAbwBkAHUAYwB0AFYAZQByAHMAaQBvAG4AAAAxAC4AMAAuADAALgAwAAAAOAAIAAEA
QQBzAHMAZQBtAGIAbAB5ACAAVgBlAHIAcwBpAG8AbgAAADEALgAwAC4AMAAuADAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAMAAAAwDEAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA]]></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_425ddf477f3d4f97b01ee607dc05c767</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="{2485826F-28A5-48E0-93F2-A2CF1E543E1F}" /></connections><inputs><input id="15" name="Input" hasSideEffects="true"><externalMetadataColumns isUsed="True"><externalMetadataColumn id="19" name="TargetId" dataType="guid" /><externalMetadataColumn id="20" name="SubordinateId" dataType="guid" /><externalMetadataColumn id="21" name="CheckParent" dataType="bool" /></externalMetadataColumns></input></inputs></component>