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


'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
<ColumnMappings()> _
<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 wid As Guid = New Guid(Row.Buffer(m_wiIndex).ToString())
            Dim eid As Guid = New Guid(Row.Buffer(m_eiIndex).ToString())

            If Not m_service2011 Is Nothing Then
                ' CRM 2011
                Dim req As New CRM2011.OrganizationRequest
                req.RequestName = "ExecuteWorkflow"
                req("WorkflowId") = wid
                req("EntityId") = eid

                ' Execute action.
                Dim res As CRM2011.OrganizationResponse = m_service2011.Execute(req)
                Row.Id = CType(res("Id"), Guid)
            Else
                ' CRM 4.0
                Dim req As New CRM4.ExecuteWorkflowRequest
                req.WorkflowId = wid
                req.EntityId = eid

                ' Execute action.
                Dim res As CRM4.ExecuteWorkflowResponse = CType( _
                    m_service4.Execute(req), _
                    CRM4.ExecuteWorkflowResponse)
                Row.Id = res.Id
            End If
        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()

        Dim service As Object = m_connection.GetService(0)   ' 0 - CRM Service

        m_service2011 = TryCast(service, CRM2011.OrganizationServiceClient)
        If m_service2011 Is Nothing Then
            m_service4 = TryCast(service, CRM4.CrmService)
            If m_service4 Is Nothing Then
                Throw New Exception("Unhandled service object.")
            End If
        End If

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

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

        inputCol = GetInputColumn_("EntityId")
        m_eiIndex = 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 < 2 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 WorkflowId.
        column = input.ExternalMetadataColumnCollection.[New]()
        column.Name = "WorkflowId"
        column.DataType = DataType.DT_GUID

        ' Setup EntityId.
        column = input.ExternalMetadataColumnCollection.[New]()
        column.Name = "EntityId"
        column.DataType = DataType.DT_GUID
    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
#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 Execute Workflow", _
            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_connection As ICrmConnection
    Private m_service2011 As CRM2011.OrganizationServiceClient
    Private m_service4 As CRM4.CrmService
    Private m_wiIndex As Integer
    Private m_eiIndex As Integer
#End Region ' Attributes

End Class   ' ScriptMain
]]></arrayElement><arrayElement dataType="System.String"><![CDATA[ScriptComponent_622e5e367f4c42498bd4282edb30659d.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>{9718FCD8-950B-40E8-BF05-3FC563F68733}</ProjectGuid>
    <OutputType>Library</OutputType>
    <AppDesignerFolder>My Project</AppDesignerFolder>
    <RootNamespace>ScriptComponent_622e5e367f4c42498bd4282edb30659d</RootNamespace>
    <AssemblyName>ScriptComponent_622e5e367f4c42498bd4282edb30659d</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><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 WriteOnly Property [Id]() As Guid
        Set
            Me(0) = Value
        End Set
    End Property
    Public WriteOnly Property [Id_IsNull] As Boolean
        Set
            If (value)
                SetNull(0)
            Else
                Throw new InvalidOperationException("IsNull property cannot be set to False. Assign a value to the column instead.")
            End If
        End Set
    End Property

    Public Sub DirectRowToOutput()
        MyBase.DirectRow("Output")
    End Sub

    Public Overrides ReadOnly Property StaticOutputColumns() As String()
        Get
            Return New String() {"Id"}
        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[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[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_622e5e367f4c42498bd4282edb30659d</msb:CodeName>
		<msb:DisplayName>ScriptComponent_622e5e367f4c42498bd4282edb30659d</msb:DisplayName>
		<msb:ProjectId>{95103327-71F4-46C3-A3CB-59A8C173A3E3}</msb:ProjectId>
	</msb:PropertyGroup>
	<msb:ItemGroup>
		<msb:Project Include="ScriptComponent_622e5e367f4c42498bd4282edb30659d.vbproj"/>
		<msb:Folder Include="My Project\"/>
		<msb:File Include="ScriptMain.vb"/>
		<msb:File Include="ComponentWrapper.vb"/>
		<msb:File Include="BufferWrapper.vb"/>
	</msb:ItemGroup>
</c:Project>]]></arrayElement></arrayElements></property><property id="4" name="BinaryCode" state="cdata" dataType="System.String" isArray="true" description="Stores the binary representation of the component" typeConverter="NOTBROWSABLE"><arrayElements arrayElementCount="2"><arrayElement dataType="System.String"><![CDATA[ScriptComponent_622e5e367f4c42498bd4282edb30659d.dll]]></arrayElement><arrayElement dataType="System.String"><![CDATA[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
AQAAAAwAAAACAAAAAwAAAAIAAAAAAKAPAQAAAAAACgA/ARUBCgBzAVUBBgCDAXwBCgDbARUBBgBZ
AnwBCgDbArECDgAtAxYDEgB8A1sDFgCtA1sDEgC8A1sDBgANBHwBDgCfBBYDGgBaBTIFHgBhBjgG
DgChBhYDIgD7Bs4GIgBAByMHJgCSB3wHJgCrB3wHJgDYB8AHBgACCO8HCgBBCBoICgBZCBMAJgCO
CHEIBgDDCKMIBgDhCHwBBgAFCXwBCgAeCRMABgBsCU0JBgCACXwBBgCYCXwBEgCyCVsDBgDJCXwB
HgDfCTgGHgAOCjgGHgA5CjgGHgBWCjgGHgCZCjgGIgDICs4GIgDcCs4GIgDxCiMHIgAICyMHKgBS
CzQLBgBgC3wBLgANBHwBIgCpCyMHIgCyCyMHCgDBCxoIMgDoC90LBgBLDHwBFgBRDFsDHgB1DDgG
BgDUDHwBHgD4DDgGHgBRDTgGHgBvDTgGGgDeDTIFBgAXDgQOBgBjDnwBEgB3DlsDDgDADp4ODgDc
Dp4ODgD0Dp4OJgAID3wHJgAdD3wHBgAvD6MIBgBPD6MIBgCHD20PAAAAAAEAAAAAAAEAAQAAAAAA
KQA3AAUAAQABAAAAAABrADcACQABAAIAAAEQAHYANwANAAEAAwAFAQAAgAAAAA0ABQAIAAUBAACO
AAAADQAFAA8AAQAAAKkAtQAdAAYAEQABAAAA5gC1ADEABgAZAAEAAAD0ALUADQAIAB0AAQAAAAAB
tQANAAkAHwABAAAACgG1ACAACgAgADEAngEgADEAxwEtADEA6QE6ADEADgJHACEA6gKQAAYA9ADd
AAYAAAHhAAEA/wT1AAEA/wT1AAEAkQYaAQEAsAYdAQEAFQchAQEASwclAQEAVgcpAQEAYAcpAVAg
AAAAAAYYTwETAAEAWCAAAAAABhhPARMAAQBgIAAAAAARGIoBFwABAIwgAAAAABMIkQEbAAEApCAA
AAAAEwi3ASgAAQC8IAAAAAATCOABNQABANQgAAAAABMI/gFCAAEA7CAAAAAARgJEAmMAAQAIIQAA
AABGAk0CaAACABwhAAAAAIMAXgJsAAIANCEAAAAARgJmAnEAAgBIIQAAAAARAG8CeAACAGQhAAAA
AAEAjQKAAAMAgCEAAAAABhhPARMABACIIQAAAAADCKECiwAEALwhAAAAAAYYTwETAAQA0CEAAAAA
BhhPAa8ABADgIQAAAABGCvYDuwAJAPQhAAAAAAYIEgTAAAkABCIAAAAABggfBMYACgAgIgAAAAAG
AC0EEwALADAiAAAAAEYKPwS7AAsAUCIAAAAAhgBXBMsACwBoIgAAAACGAF8EywALAIAiAAAAAAYY
TwETAAsAoCIAAAAARgKzBOUACwDQIgAAAABGA9IE7wAPAOQiAAAAAEYD5QTvABAA6CIAAAAABhhP
AfkAEQD4IgAAAAAGCHMF/wASACQjAAAAAAYYTwH5ABIANCMAAAAABhhPARMAEwA8IwAAAABGAuUE
7wATAIQkAAAAAEYCkwUTABQAeCUAAAAARgKeBRMAFACMJQAAAAAGAKoFCQEUADgmAAAAAEYCvgUT
ABUA4CYAAAAABghzBXEAFQD4JgAAAAAGCNMFDwEVAAQnAAAAAAEI6wW7ABYAJCcAAAAAAQABBg8B
FgBQJwAAAAABAHQGFAEXAAAAAQBLAgAAAQCEAgAAAQCEAgAAAQDKAwAAAgDUAwAAAwDdAwAABADl
AwAABQDsAwAAAQAZBAAAAQAZBAAAAQDABAAAAgDIBAAAAwDlAwAABADsAwAAAQDlAwAAAQD7BAAA
AQDKAwAAAQDKAwAAAQD7BAAAAQCzBQAAAQDlBQAAAQAMBgAAAQCEBgkATwETAJEATwEwAaEATwE/
AREATwETAKkATwETACQATwETACwATwETADQATwETADwATwETACQAoQKLACwAoQKLADQAoQKLADwA
oQKLALEATwETALkATwETAMEATwEPAckA0gjZARkARAJjABkATQJoACkA8wjmARkAZgJxANkADwn2
ARkATwETAOEATwEGAkQA6gKQAEwAOQmLAEwAQwmDAkwATwETAOkATwHGADkATwGvADkAhwmdAjkA
kAmjAvkATwEPAQEBvwkPAQEBVwTLAAEBXwTLAAkBTwHGAGEATwETAEEA+AmvAhEBJQq1AhkBRgq7
AiEBTwpoABEBeQrCAikBRgrIAjEBsgr/ADkAagvUAkkARgrZAlkATwEPATkBTwETADkBdQsPATkB
hwneAoEAhQvkAkEBRgrtAkkBTwETAEkBjQvyAkkBnAvyAokAhQv5AlEBugsCA4EBzQsIA1kB8AsP
A4kB+wtxAIEBCAwXAGEBGgxxAEEAkwUTAGkAJgwwA3kAOAwTAHkAQAzZAmEBTwEPAWEAYww1A5kB
igw7AyEBagtoAHEAnAxoAKEBqgxBA0EAngUTAHkAwAwTAPEAxgxQA6kBTwEPASEB6QzLACEBFQ1V
A7EBLw1oADEBOQ0PAWEAvgUTABkBLw1oACEBlw1mA8EBvA3GALEBxw0TAMEBxw0TAMEB0Q1sA7kB
1Q0PAbkB5w1yA/EA9A0aAREB+g2CA8EBRgqNA7EBIw6UA9EBMQ6aA3EAPQ5oALkBTwpoANEBWg7L
ANkBbw4TAOEBTwETAOkBTwEPAfEBTwETAPkBTwEPAQECTwEPAQkCTwEPARECTwGjAhkCTwETACEC
TwEPASkAgwCTAS4AUwMQBC4AWwMZBC4AYwM4BEAAKwBeAUAAEwA2AUMAGwBFAUMAEwA2AUkAgwDF
AWMAGwBFAWMAEwA2AWkAgwCkAYAAKwBeAYMAewBeAYMAGwBFAYMAcwBeAYkAgwCxAaAAKwBeAaMA
wwAOAqMAEwA2AcAAKwBeAcMA6wCSAsMAEwA2AeAAKwBeAeMAKwGSAgABEwA2AQABKwBeAQMBKwGS
AiABKwBeASABEwA2AUABKwBeAUABEwA2AWABEwA2AWABKwBeAWMBIwNeAWMBKwOwA2MBMwNeAWMB
KwGSAmkBQwPVA2kBSwMCBGkBOwO+A4ABKwBeAaABKwBeAcABEwA2AcABKwBeAeABKwBeAQACEwA2
AQACKwBeAaADKwGSAuADKwGSAn8BhAGJAY4B3gHiAe0B8gEBAgECiQKYAqgC3gHeAc8CFQNHA1sD
eQPyAagC3gGeAwQAAQAGAAUABwAGAAkACgALAAsAAABzAU8AAAAsAlQAAADbAVkAAAA4Al4AAAD0
ApgAAABrBM8AAAB+BNQAAACBBNkAAACLBM8AAACFBQQBAACFBSwBAABqB88AAgAEAAMAAgAFAAUA
AgAGAAcAAgAHAAkAAgAPAAsAAgASAA0AAQATAA8AAQAUABEAAgAWABMAAgAeABUAAgAmABcAAQAn
ABcAAgAoABkAdQB1AIgAYwFqAXEBeAFwAncCBIAAAAAAAAAAAAAAAAAAAAAAtQAAAAQAAAAAAAAA
AAAAAAEACgAAAAAACgAAAAAAAAAAAAAACgATAAAAAAABAAAAAAAAAAAAAACdAAADAAAAAAwAAAAA
AAAAAAAAAKYAPgMAAAAADAAAAAAAAAAAAAAApgCMAwAAAAAMAAAAAAAAAAAAAACmAA8FAAAAAAwA
AAAAAAAAAAAAAKYAFAYAAAAAAQAAAAAAAAAAAAAAnQC9BgAAAAAEAAAAAAAAAAAAAAABAHwBAAAA
AAQAAAAAAAAAAAAAAAoAIAsAAAAAAgAAAAAAAAAAAAAAAQAKAAAAAAAEAAAAAAAAAAAAAAABAN0L
AAAAAAUABAAGAAQAAAAQAAwAggIAABAAGQCCAgAAAAAbAIICLQD8AS0AfgIAAAA8TW9kdWxlPgBt
c2NvcmxpYgBNaWNyb3NvZnQuVmlzdWFsQmFzaWMATXlBcHBsaWNhdGlvbgBTY3JpcHRDb21wb25l
bnRfNjIyZTVlMzY3ZjRjNDI0OThiZDQyODJlZGIzMDY1OWQuTXkATXlDb21wdXRlcgBNeVByb2pl
Y3QATXlXZWJTZXJ2aWNlcwBUaHJlYWRTYWZlT2JqZWN0UHJvdmlkZXJgMQBJbnB1dEJ1ZmZlcgBT
Y3JpcHRDb21wb25lbnRfNjIyZTVlMzY3ZjRjNDI0OThiZDQyODJlZGIzMDY1OWQAVXNlckNvbXBv
bmVudABDb25uZWN0aW9ucwBWYXJpYWJsZXMAU2NyaXB0TWFpbgBNaWNyb3NvZnQuVmlzdWFsQmFz
aWMuQXBwbGljYXRpb25TZXJ2aWNlcwBBcHBsaWNhdGlvbkJhc2UALmN0b3IATWljcm9zb2Z0LlZp
c3VhbEJhc2ljLkRldmljZXMAQ29tcHV0ZXIAU3lzdGVtAE9iamVjdAAuY2N0b3IAZ2V0X0NvbXB1
dGVyAG1fQ29tcHV0ZXJPYmplY3RQcm92aWRlcgBnZXRfQXBwbGljYXRpb24AbV9BcHBPYmplY3RQ
cm92aWRlcgBVc2VyAGdldF9Vc2VyAG1fVXNlck9iamVjdFByb3ZpZGVyAGdldF9XZWJTZXJ2aWNl
cwBtX015V2ViU2VydmljZXNPYmplY3RQcm92aWRlcgBBcHBsaWNhdGlvbgBXZWJTZXJ2aWNlcwBF
cXVhbHMAbwBHZXRIYXNoQ29kZQBUeXBlAEdldFR5cGUAVG9TdHJpbmcAQ3JlYXRlX19JbnN0YW5j
ZV9fAFQAaW5zdGFuY2UARGlzcG9zZV9fSW5zdGFuY2VfXwBnZXRfR2V0SW5zdGFuY2UATWljcm9z
b2Z0LlZpc3VhbEJhc2ljLk15U2VydmljZXMuSW50ZXJuYWwAQ29udGV4dFZhbHVlYDEAbV9Db250
ZXh0AEdldEluc3RhbmNlAENvenlSb2MuU1NJU1BsdXMuMjAxNABDb3p5Um9jLlNxbFNlcnZlci5T
U0lTAFNjcmlwdEJ1ZmZlclBsdXMATWljcm9zb2Z0LlNxbFNlcnZlci5UeFNjcmlwdABNaWNyb3Nv
ZnQuU3FsU2VydmVyLkR0cy5QaXBlbGluZQBTY3JpcHRDb21wb25lbnQATWljcm9zb2Z0LlNxbFNl
cnZlci5QaXBlbGluZUhvc3QAUGlwZWxpbmVCdWZmZXIAT3V0cHV0TmFtZU1hcABDb21wb25lbnQA
T2JqZWN0SUQASXNJbnB1dABCdWZmZXIAT3V0cHV0TWFwAGdldF9TdGF0aWNJbnB1dENvbHVtbnMA
R3VpZABzZXRfSWQAVmFsdWUAc2V0X0lkX0lzTnVsbABEaXJlY3RSb3dUb091dHB1dABnZXRfU3Rh
dGljT3V0cHV0Q29sdW1ucwBOZXh0Um93AEVuZE9mUm93c2V0AFN0YXRpY0lucHV0Q29sdW1ucwBJ
ZABJZF9Jc051bGwAU3RhdGljT3V0cHV0Q29sdW1ucwBTY3JpcHRDb21wb25lbnRQbHVzAFByb2Nl
c3NJbnB1dABJbnB1dElEAElucHV0TmFtZQBJbnB1dF9Qcm9jZXNzSW5wdXQASW5wdXRfUHJvY2Vz
c0lucHV0Um93AFJvdwBQYXJlbnRDb21wb25lbnQATWljcm9zb2Z0LlNxbFNlcnZlci5EVFNSdW50
aW1lV3JhcABNaWNyb3NvZnQuU3FsU2VydmVyLkR0cy5SdW50aW1lLldyYXBwZXIASURUU0Nvbm5l
Y3Rpb25NYW5hZ2VyMTAwAGdldF9Dcm1Db25uZWN0aW9uAENybUNvbm5lY3Rpb24AUHJlRXhlY3V0
ZQBQb3N0RXhlY3V0ZQBWYWxpZGF0ZQBlcnJNZXNzYWdlAFJlaW5pdGlhbGl6ZU1ldGFEYXRhAHNl
dF9Dcm1Db25uZWN0aW9uAHZhbHVlAGdldF9Dcm1Db25uZWN0aW9uVHlwZQBGaXJlRXJyb3JfAG1l
c3NhZ2UATWljcm9zb2Z0LlNxbFNlcnZlci5EVFNQaXBlbGluZVdyYXAATWljcm9zb2Z0LlNxbFNl
cnZlci5EdHMuUGlwZWxpbmUuV3JhcHBlcgBJRFRTSW5wdXRDb2x1bW4xMDAAR2V0SW5wdXRDb2x1
bW5fAGV4dGVybmFsTmFtZQBtX2NybUNvbm5lY3Rpb24ASUNybUNvbm5lY3Rpb24AbV9jb25uZWN0
aW9uAENvenlSb2MuRHluYW1pY3MAQ296eVJvYy5EeW5hbWljcy5Dcm0yMDExLk9yZ2FuaXphdGlv
blNlcnZpY2UAT3JnYW5pemF0aW9uU2VydmljZUNsaWVudABtX3NlcnZpY2UyMDExAENvenlSb2Mu
RHluYW1pY3MuQ3JtLlNlcnZpY2UAQ3JtU2VydmljZQBtX3NlcnZpY2U0AG1fd2lJbmRleABtX2Vp
SW5kZXgAQ3JtQ29ubmVjdGlvblR5cGUAU3lzdGVtLkNvbXBvbmVudE1vZGVsAEVkaXRvckJyb3dz
YWJsZUF0dHJpYnV0ZQBFZGl0b3JCcm93c2FibGVTdGF0ZQBTeXN0ZW0uQ29kZURvbS5Db21waWxl
cgBHZW5lcmF0ZWRDb2RlQXR0cmlidXRlAFN5c3RlbS5EaWFnbm9zdGljcwBEZWJ1Z2dlckhpZGRl
bkF0dHJpYnV0ZQBNaWNyb3NvZnQuVmlzdWFsQmFzaWMuQ29tcGlsZXJTZXJ2aWNlcwBTdGFuZGFy
ZE1vZHVsZUF0dHJpYnV0ZQBIaWRlTW9kdWxlTmFtZUF0dHJpYnV0ZQBTeXN0ZW0uQ29tcG9uZW50
TW9kZWwuRGVzaWduAEhlbHBLZXl3b3JkQXR0cmlidXRlAFN5c3RlbS5SdW50aW1lLkNvbXBpbGVy
U2VydmljZXMAUnVudGltZUhlbHBlcnMAR2V0T2JqZWN0VmFsdWUAUnVudGltZVR5cGVIYW5kbGUA
R2V0VHlwZUZyb21IYW5kbGUAQWN0aXZhdG9yAENyZWF0ZUluc3RhbmNlAE15R3JvdXBDb2xsZWN0
aW9uQXR0cmlidXRlAGdldF9WYWx1ZQBzZXRfVmFsdWUAU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNl
cnZpY2VzAENvbVZpc2libGVBdHRyaWJ1dGUAU3RyaW5nAHNldF9JdGVtAFNldE51bGwASW52YWxp
ZE9wZXJhdGlvbkV4Y2VwdGlvbgBTY3JpcHRCdWZmZXIARGlyZWN0Um93AENMU0NvbXBsaWFudEF0
dHJpYnV0ZQBJRFRTQ29tcG9uZW50TWV0YURhdGExMDAAZ2V0X0NvbXBvbmVudE1ldGFEYXRhAElE
VFNJbnB1dENvbGxlY3Rpb24xMDAAZ2V0X0lucHV0Q29sbGVjdGlvbgBJRFRTSW5wdXQxMDAAZ2V0
X0l0ZW0AZ2V0X0lEAElEVFNSdW50aW1lQ29ubmVjdGlvbkNvbGxlY3Rpb24xMDAAZ2V0X1J1bnRp
bWVDb25uZWN0aW9uQ29sbGVjdGlvbgBJRFRTUnVudGltZUNvbm5lY3Rpb24xMDAAZ2V0X0Nvbm5l
Y3Rpb25NYW5hZ2VyAE9yZ2FuaXphdGlvblJlcXVlc3QAT3JnYW5pemF0aW9uUmVzcG9uc2UARXhl
Y3V0ZVdvcmtmbG93UmVxdWVzdABFeGVjdXRlV29ya2Zsb3dSZXNwb25zZQBTeXN0ZW0uV2ViLlNl
cnZpY2VzAFN5c3RlbS5XZWIuU2VydmljZXMuUHJvdG9jb2xzAFNvYXBFeGNlcHRpb24ARXhjZXB0
aW9uAGdldF9CdWZmZXIAc2V0X1JlcXVlc3ROYW1lAEV4ZWN1dGUAc2V0X1dvcmtmbG93SWQAc2V0
X0VudGl0eUlkAFJlc3BvbnNlAFJlcXVlc3QAZ2V0X0lkAFByb2plY3REYXRhAFNldFByb2plY3RF
cnJvcgBTeXN0ZW0uWG1sAFhtbE5vZGUAZ2V0X0RldGFpbABnZXRfSW5uZXJYbWwAQ2xlYXJQcm9q
ZWN0RXJyb3IAZ2V0X01lc3NhZ2UAQWNxdWlyZUNvbm5lY3Rpb24AQ29ubmVjdABHZXRTZXJ2aWNl
AEludDMyAFBpcGVsaW5lQ29tcG9uZW50AGdldF9Ib3N0Q29tcG9uZW50AElEVFNCdWZmZXJNYW5h
Z2VyMTAwAGdldF9CdWZmZXJNYW5hZ2VyAGdldF9MaW5lYWdlSUQARmluZENvbHVtbkJ5TGluZWFn
ZUlEAENsb3NlAElzTnVsbE9yRW1wdHkAQXBwbGljYXRpb25FeGNlcHRpb24AZ2V0X0lzQXR0YWNo
ZWQASURUU0lucHV0Q29sdW1uQ29sbGVjdGlvbjEwMABnZXRfSW5wdXRDb2x1bW5Db2xsZWN0aW9u
AGdldF9Db3VudABzZXRfQ29ubmVjdGlvbk1hbmFnZXJJRABJRFRTRXh0ZXJuYWxNZXRhZGF0YUNv
bHVtbjEwMABJRFRTRXh0ZXJuYWxNZXRhZGF0YUNvbHVtbkNvbGxlY3Rpb24xMDAAZ2V0X0V4dGVy
bmFsTWV0YWRhdGFDb2x1bW5Db2xsZWN0aW9uAHNldF9Jc1VzZWQAUmVtb3ZlQWxsAE5ldwBzZXRf
TmFtZQBEYXRhVHlwZQBzZXRfRGF0YVR5cGUARW1wdHkARmlyZUVycm9yAFN5c3RlbS5Db2xsZWN0
aW9ucwBJRW51bWVyYXRvcgBHZXRFbnVtZXJhdG9yAGdldF9DdXJyZW50AGdldF9FeHRlcm5hbE1l
dGFkYXRhQ29sdW1uSUQATW92ZU5leHQASURpc3Bvc2FibGUARGlzcG9zZQBTU0lTU2NyaXB0Q29t
cG9uZW50RW50cnlQb2ludEF0dHJpYnV0ZQBDb3p5Um9jLlNxbFNlcnZlci5TU0lTLkF0dHJpYnV0
ZXMAVmFsaWRhdGVQcm9wZXJ0aWVzQXR0cmlidXRlAENvbHVtbk1hcHBpbmdzQXR0cmlidXRlAENv
bm5lY3Rpb25BdHRyaWJ1dGUARGVzY3JpcHRpb25BdHRyaWJ1dGUAQ2F0ZWdvcnlBdHRyaWJ1dGUA
Q29tcGlsYXRpb25SZWxheGF0aW9uc0F0dHJpYnV0ZQBSdW50aW1lQ29tcGF0aWJpbGl0eUF0dHJp
YnV0ZQBTeXN0ZW0uUnVudGltZS5WZXJzaW9uaW5nAFRhcmdldEZyYW1ld29ya0F0dHJpYnV0ZQBT
Y3JpcHRDb21wb25lbnRfNjIyZTVlMzY3ZjRjNDI0OThiZDQyODJlZGIzMDY1OWQuZGxsAAAAAACA
m0kAcwBOAHUAbABsACAAcAByAG8AcABlAHIAdAB5ACAAYwBhAG4AbgBvAHQAIABiAGUAIABzAGUA
dAAgAHQAbwAgAEYAYQBsAHMAZQAuACAAQQBzAHMAaQBnAG4AIABhACAAdgBhAGwAdQBlACAAdABv
ACAAdABoAGUAIABjAG8AbAB1AG0AbgAgAGkAbgBzAHQAZQBhAGQALgAADU8AdQB0AHAAdQB0AAAF
SQBkAAALSQBuAHAAdQB0AAAbQwByAG0AQwBvAG4AbgBlAGMAdABpAG8AbgAAH0UAeABlAGMAdQB0
AGUAVwBvAHIAawBmAGwAbwB3AAAVVwBvAHIAawBmAGwAbwB3AEkAZAAAEUUAbgB0AGkAdAB5AEkA
ZAAAM1UAbgBoAGEAbgBkAGwAZQBkACAAcwBlAHIAdgBpAGMAZQAgAG8AYgBqAGUAYwB0AC4AAD9T
AGUAbABlAGMAdAAgAEQAeQBuAGEAbQBpAGMAcwAgAEMAUgBNACAAYwBvAG4AbgBlAGMAdABpAG8A
bgAuAAAlTQBhAHAAIABpAG4AcAB1AHQAIABjAG8AbAB1AG0AbgBzAC4AABVOAG8AIABpAG4AcAB1
AHQAcwAuAAAZRABZAE4AQQBNAEkAQwBTAC0AQwBSAE0AATtEAHkAbgBhAG0AaQBjAHMAIABDAFIA
TQAgAEUAeABlAGMAdQB0AGUAIABXAG8AcgBrAGYAbABvAHcAAC9JAG4AcAB1AHQAIABjAG8AbAB1
AG0AbgAgAG4AbwB0ACAAZgBvAHUAbgBkAC4AAHbyrEKrl6RLqId9nEW2XNwACLd6XFYZNOCJCLA/
X38R1Qo6AyAAAQMAAAEEAAASDAcGFRIYARIMBAAAEggHBhUSGAESCAQAABIRBwYVEhgBEhEEAAAS
FAcGFRIYARIUBAgAEgwECAASCAQIABIRBAgAEhQEIAECHAMgAAgEIAASFQMgAA4CHgAHEAEBHgAe
AAcwAQEBEB4AAhMABCAAEwAHBhUSGQETAAQoABMACBbPSQu4DDTqCImEXc2AgMyRCyAFARIhCAIS
JRIpBCAAHQ4FIAEBES0EIAEBAgMgAAIEKAAdDgQoABEtAygAAgMGEiQDBhIoCSAEAQgOEiUSKQUg
AQESHAMGEiEFIAEBEiEEIAASNQQoABI1BSABAhAOBCABAQ4FIAESOQ4CBg4DBhI9AwYSQQMGEkUC
BggDKAAOBSABARFNCAEAAQAAAAAABSACAQ4OGAEACk15VGVtcGxhdGUIMTAuMC4wLjAAAAQBAAAA
BhUSGAESDAYVEhgBEggGFRIYARIRBhUSGAESFAQHARIMBAcBEggEBwESEQQHARIUEAEAC015LkNv
bXB1dGVyAAAMAQAHTXkuVXNlcgAAEwEADk15LldlYlNlcnZpY2VzAAATAQAOTXkuQXBwbGljYXRp
b24AAAQAARwcAwcBAgMHAQgGAAESFRFpBAcBEhUDBwEOBRABAB4ABAoBHgAEBwEeAAcgBAEODg4O
YQEANFN5c3RlbS5XZWIuU2VydmljZXMuUHJvdG9jb2xzLlNvYXBIdHRwQ2xpZW50UHJvdG9jb2wS
Q3JlYXRlX19JbnN0YW5jZV9fE0Rpc3Bvc2VfX0luc3RhbmNlX18AAAAGFRIYARMABhUSGQETAAQK
ARMABSABARMACAcDEwATABMABQEAAAAABAcBHQ4FIAIBCBwEIAEBCAYHAh0OHQ4FIAASgIkFIAAS
gI0GIAESgJEcBSAAEoCVBiABEoCZHAQHARI1BCAAEiUEIAEcCAUgAgEOHAggARKAoRKAnQQgARwO
BiABARGAtQggARKAuRKAvQUgABGAtQYAAQESgLEFIAASgMUaBwkRLREtEoCdEoChEoClEoCpEoCt
EoCxES0EIAEcHAUgABKAzQUgABKA0QUgAggICAgHAxKAkRI5HAQAAQIOBSAAEoDZCgcEAgISgJES
gLEFIAASgOEFIAASgN0GIAEBEYDlCAcCEoDdEoCRCiAGAQgODg4IEAIGIAESgN0cBSAAEoDpAyAA
HBEHBhKA3RI5EoCREjkSORKA6Q0BAAhWYWxpZGF0ZQAAFgEAEUNybUNvbm5lY3Rpb25UeXBlAAAs
AQAnU2VsZWN0IER5bmFtaWNzIENSTSBDb25uZWN0aW9uIE1hbmFnZXIuAAANAQAIU2V0dGluZ3MA
AAgBAAgAAAAAAB4BAAEAVAIWV3JhcE5vbkV4Y2VwdGlvblRocm93cwFHAQAaLk5FVEZyYW1ld29y
ayxWZXJzaW9uPXY0LjABAFQOFEZyYW1ld29ya0Rpc3BsYXlOYW1lEC5ORVQgRnJhbWV3b3JrIDTo
SgAAAAAAAAAAAAD+SgAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8EoAAAAAAAAAAF9Db3JEbGxN
YWluAG1zY29yZWUuZGxsAAAAAAD/JQAgABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAQAAAAGAAA
gAAAAAAAAAAAAAAAAAAAAQABAAAAMAAAgAAAAAAAAAAAAAAAAAAAAQAAAAAASAAAAFhgAADsAgAA
AAAAAAAAAADsAjQAAABWAFMAXwBWAEUAUgBTAEkATwBOAF8ASQBOAEYATwAAAAAAvQTv/gAAAQAA
AAAAAAAAAAAAAAAAAAAAPwAAAAAAAAAEAAAAAgAAAAAAAAAAAAAAAAAAAEQAAAABAFYAYQByAEYA
aQBsAGUASQBuAGYAbwAAAAAAJAAEAAAAVAByAGEAbgBzAGwAYQB0AGkAbwBuAAAAAAAAALAETAIA
AAEAUwB0AHIAaQBuAGcARgBpAGwAZQBJAG4AZgBvAAAAKAIAAAEAMAAwADAAMAAwADQAYgAwAAAA
LAACAAEARgBpAGwAZQBEAGUAcwBjAHIAaQBwAHQAaQBvAG4AAAAAACAAAAAwAAgAAQBGAGkAbABl
AFYAZQByAHMAaQBvAG4AAAAAADAALgAwAC4AMAAuADAAAACMADUAAQBJAG4AdABlAHIAbgBhAGwA
TgBhAG0AZQAAAFMAYwByAGkAcAB0AEMAbwBtAHAAbwBuAGUAbgB0AF8ANgAyADIAZQA1AGUAMwA2
ADcAZgA0AGMANAAyADQAOQA4AGIAZAA0ADIAOAAyAGUAZABiADMAMAA2ADUAOQBkAC4AZABsAGwA
AAAAACgAAgABAEwAZQBnAGEAbABDAG8AcAB5AHIAaQBnAGgAdAAAACAAAACUADUAAQBPAHIAaQBn
AGkAbgBhAGwARgBpAGwAZQBuAGEAbQBlAAAAUwBjAHIAaQBwAHQAQwBvAG0AcABvAG4AZQBuAHQA
XwA2ADIAMgBlADUAZQAzADYANwBmADQAYwA0ADIANAA5ADgAYgBkADQAMgA4ADIAZQBkAGIAMwAw
ADYANQA5AGQALgBkAGwAbAAAAAAANAAIAAEAUAByAG8AZAB1AGMAdABWAGUAcgBzAGkAbwBuAAAA
MAAuADAALgAwAC4AMAAAADgACAABAEEAcwBzAGUAbQBiAGwAeQAgAFYAZQByAHMAaQBvAG4AAAAw
AC4AMAAuADAALgAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAADAAAABA7AAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==]]></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_622e5e367f4c42498bd4282edb30659d</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="{8100503D-F653-44C5-8EFD-392EC423F8E1}" /></connections><inputs><input id="15" name="Input" hasSideEffects="true"><externalMetadataColumns isUsed="True"><externalMetadataColumn id="18" name="WorkflowId" dataType="guid" /><externalMetadataColumn id="19" name="EntityId" dataType="guid" /></externalMetadataColumns></input></inputs><outputs><output id="20" name="Output" exclusionGroup="1" synchronousInputId="15"><outputColumns><outputColumn id="21" name="Id" lineageId="21" dataType="guid" /></outputColumns><externalMetadataColumns /></output></outputs></component>